diff --git a/README.md b/README.md index 3c978a8..cd4bd08 100644 --- a/README.md +++ b/README.md @@ -192,6 +192,7 @@ The following is a list of contracts that are deployed by this script. │ marketplace-v2 │ BatchPayableHelperV2 │ 0x6166c1952c54dEd6b070B4616797E61b6c48A117 │ │ marketplace-v2 │ MarketFactoryV2 │ 0xBDC76d15eA28beB6AF2Cc69b4EFBb4Aa4FB77689 │ │ marketplace-v2 │ MarketV2 │ 0xfdb42A198a932C8D3B506Ffa5e855bC4b348a712 │ +│ multicall3 │ Multicall3 │ 0xae96419a81516f063744206d4b5E36f3168280f8 │ │ niftyswap │ Exchange20Wrapper │ 0x2c944F28965F9A2cd5E69bA7e7520CbbD928258a │ │ niftyswap │ Factory20 │ 0x9196b852437D9Ed92d95715dCbdA4533ffC479E0 │ │ p256-verifier │ SoladyP256Verifier │ 0x000000000000D01eA45F9eFD5c54f037Fa57Ea1a │ @@ -240,6 +241,9 @@ The following is a list of contracts that are deployed by this script. │ trails-rc-2 │ TrailsIntentEntrypoint │ 0x9470D883bac170116d397Db3dA71B2e57d567583 │ │ trails-rc-2 │ TrailsRouter │ 0xc4415c5CabD726bA06042af752a528B3dbc263F7 │ │ trails-rc-2 │ TrailsRouterShim │ 0x859E606022aE8894342c00D297A4c4332aE53AbB │ +│ trails-rc-3 │ TrailsIntentEntrypoint │ 0x8f64eEB1f4680B9ed1F9d6A6Eee7CCf36258C93D │ +│ trails-rc-3 │ TrailsRouter │ 0xF8A739B9F24E297a98b7aba7A9cdFDBD457F6fF8 │ +│ trails-rc-3 │ TrailsRouterShim │ 0x1306aF05bA556839885B9B8c758f1d2F33d3571E │ │ trails-token-sweeper │ TrailsMulticall3Router │ 0xFF8f46538c39dCA637fCE9a804b2B59B517A9698 │ │ trails-token-sweeper │ TrailsTokenSweeper │ 0xEbDd59B8cE1993d38e4E081E0d80662BB169d3db │ │ value-forwarder │ ValueForwarder │ 0xABAAd93EeE2a569cF0632f39B10A9f5D734777ca │ diff --git a/jobs/predeploy/build-info/multicall3.json b/jobs/predeploy/build-info/multicall3.json new file mode 100644 index 0000000..4c24243 --- /dev/null +++ b/jobs/predeploy/build-info/multicall3.json @@ -0,0 +1 @@ +{"id":"4f5f6414f9db2c01","source_id_to_path":{"0":"lib/forge-std/lib/ds-test/src/test.sol","1":"lib/forge-std/src/Base.sol","2":"lib/forge-std/src/StdAssertions.sol","3":"lib/forge-std/src/StdChains.sol","4":"lib/forge-std/src/StdCheats.sol","5":"lib/forge-std/src/StdError.sol","6":"lib/forge-std/src/StdInvariant.sol","7":"lib/forge-std/src/StdJson.sol","8":"lib/forge-std/src/StdMath.sol","9":"lib/forge-std/src/StdStorage.sol","10":"lib/forge-std/src/StdStyle.sol","11":"lib/forge-std/src/StdUtils.sol","12":"lib/forge-std/src/Test.sol","13":"lib/forge-std/src/Vm.sol","14":"lib/forge-std/src/console.sol","15":"lib/forge-std/src/console2.sol","16":"lib/forge-std/src/interfaces/IMulticall3.sol","17":"src/Multicall.sol","18":"src/Multicall2.sol","19":"src/Multicall3.sol","20":"src/interfaces/IMulticall.sol","21":"src/interfaces/IMulticall2.sol","22":"src/interfaces/IMulticall3.sol","23":"src/test/Multicall.t.sol","24":"src/test/Multicall2.t.sol","25":"src/test/Multicall3.t.sol","26":"src/test/mocks/EtherSink.sol","27":"src/test/mocks/MockCallee.sol"},"language":"Solidity","_format":"ethers-rs-sol-build-info-1","input":{"version":"0.8.12","language":"Solidity","sources":{"lib/forge-std/lib/ds-test/src/test.sol":{"content":"// SPDX-License-Identifier: GPL-3.0-or-later\n\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n\n// You should have received a copy of the GNU General Public License\n// along with this program. If not, see .\n\npragma solidity >=0.5.0;\n\ncontract DSTest {\n event log (string);\n event logs (bytes);\n\n event log_address (address);\n event log_bytes32 (bytes32);\n event log_int (int);\n event log_uint (uint);\n event log_bytes (bytes);\n event log_string (string);\n\n event log_named_address (string key, address val);\n event log_named_bytes32 (string key, bytes32 val);\n event log_named_decimal_int (string key, int val, uint decimals);\n event log_named_decimal_uint (string key, uint val, uint decimals);\n event log_named_int (string key, int val);\n event log_named_uint (string key, uint val);\n event log_named_bytes (string key, bytes val);\n event log_named_string (string key, string val);\n\n bool public IS_TEST = true;\n bool private _failed;\n\n address constant HEVM_ADDRESS =\n address(bytes20(uint160(uint256(keccak256('hevm cheat code')))));\n\n modifier mayRevert() { _; }\n modifier testopts(string memory) { _; }\n\n function failed() public returns (bool) {\n if (_failed) {\n return _failed;\n } else {\n bool globalFailed = false;\n if (hasHEVMContext()) {\n (, bytes memory retdata) = HEVM_ADDRESS.call(\n abi.encodePacked(\n bytes4(keccak256(\"load(address,bytes32)\")),\n abi.encode(HEVM_ADDRESS, bytes32(\"failed\"))\n )\n );\n globalFailed = abi.decode(retdata, (bool));\n }\n return globalFailed;\n }\n }\n\n function fail() internal virtual {\n if (hasHEVMContext()) {\n (bool status, ) = HEVM_ADDRESS.call(\n abi.encodePacked(\n bytes4(keccak256(\"store(address,bytes32,bytes32)\")),\n abi.encode(HEVM_ADDRESS, bytes32(\"failed\"), bytes32(uint256(0x01)))\n )\n );\n status; // Silence compiler warnings\n }\n _failed = true;\n }\n\n function hasHEVMContext() internal view returns (bool) {\n uint256 hevmCodeSize = 0;\n assembly {\n hevmCodeSize := extcodesize(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D)\n }\n return hevmCodeSize > 0;\n }\n\n modifier logs_gas() {\n uint startGas = gasleft();\n _;\n uint endGas = gasleft();\n emit log_named_uint(\"gas\", startGas - endGas);\n }\n\n function assertTrue(bool condition) internal {\n if (!condition) {\n emit log(\"Error: Assertion Failed\");\n fail();\n }\n }\n\n function assertTrue(bool condition, string memory err) internal {\n if (!condition) {\n emit log_named_string(\"Error\", err);\n assertTrue(condition);\n }\n }\n\n function assertEq(address a, address b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [address]\");\n emit log_named_address(\" Left\", a);\n emit log_named_address(\" Right\", b);\n fail();\n }\n }\n function assertEq(address a, address b, string memory err) internal {\n if (a != b) {\n emit log_named_string (\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(bytes32 a, bytes32 b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [bytes32]\");\n emit log_named_bytes32(\" Left\", a);\n emit log_named_bytes32(\" Right\", b);\n fail();\n }\n }\n function assertEq(bytes32 a, bytes32 b, string memory err) internal {\n if (a != b) {\n emit log_named_string (\"Error\", err);\n assertEq(a, b);\n }\n }\n function assertEq32(bytes32 a, bytes32 b) internal {\n assertEq(a, b);\n }\n function assertEq32(bytes32 a, bytes32 b, string memory err) internal {\n assertEq(a, b, err);\n }\n\n function assertEq(int a, int b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [int]\");\n emit log_named_int(\" Left\", a);\n emit log_named_int(\" Right\", b);\n fail();\n }\n }\n function assertEq(int a, int b, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n function assertEq(uint a, uint b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [uint]\");\n emit log_named_uint(\" Left\", a);\n emit log_named_uint(\" Right\", b);\n fail();\n }\n }\n function assertEq(uint a, uint b, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n function assertEqDecimal(int a, int b, uint decimals) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Left\", a, decimals);\n emit log_named_decimal_int(\" Right\", b, decimals);\n fail();\n }\n }\n function assertEqDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEqDecimal(a, b, decimals);\n }\n }\n function assertEqDecimal(uint a, uint b, uint decimals) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Left\", a, decimals);\n emit log_named_decimal_uint(\" Right\", b, decimals);\n fail();\n }\n }\n function assertEqDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEqDecimal(a, b, decimals);\n }\n }\n\n function assertGt(uint a, uint b) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertGt(uint a, uint b, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGt(a, b);\n }\n }\n function assertGt(int a, int b) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertGt(int a, int b, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGt(a, b);\n }\n }\n function assertGtDecimal(int a, int b, uint decimals) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGtDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGtDecimal(a, b, decimals);\n }\n }\n function assertGtDecimal(uint a, uint b, uint decimals) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGtDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGtDecimal(a, b, decimals);\n }\n }\n\n function assertGe(uint a, uint b) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertGe(uint a, uint b, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGe(a, b);\n }\n }\n function assertGe(int a, int b) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertGe(int a, int b, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGe(a, b);\n }\n }\n function assertGeDecimal(int a, int b, uint decimals) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGeDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGeDecimal(a, b, decimals);\n }\n }\n function assertGeDecimal(uint a, uint b, uint decimals) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGeDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGeDecimal(a, b, decimals);\n }\n }\n\n function assertLt(uint a, uint b) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertLt(uint a, uint b, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLt(a, b);\n }\n }\n function assertLt(int a, int b) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertLt(int a, int b, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLt(a, b);\n }\n }\n function assertLtDecimal(int a, int b, uint decimals) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLtDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLtDecimal(a, b, decimals);\n }\n }\n function assertLtDecimal(uint a, uint b, uint decimals) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLtDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLtDecimal(a, b, decimals);\n }\n }\n\n function assertLe(uint a, uint b) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertLe(uint a, uint b, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLe(a, b);\n }\n }\n function assertLe(int a, int b) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertLe(int a, int b, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLe(a, b);\n }\n }\n function assertLeDecimal(int a, int b, uint decimals) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLeDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLeDecimal(a, b, decimals);\n }\n }\n function assertLeDecimal(uint a, uint b, uint decimals) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLeDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLeDecimal(a, b, decimals);\n }\n }\n\n function assertEq(string memory a, string memory b) internal {\n if (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))) {\n emit log(\"Error: a == b not satisfied [string]\");\n emit log_named_string(\" Left\", a);\n emit log_named_string(\" Right\", b);\n fail();\n }\n }\n function assertEq(string memory a, string memory b, string memory err) internal {\n if (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function checkEq0(bytes memory a, bytes memory b) internal pure returns (bool ok) {\n ok = true;\n if (a.length == b.length) {\n for (uint i = 0; i < a.length; i++) {\n if (a[i] != b[i]) {\n ok = false;\n }\n }\n } else {\n ok = false;\n }\n }\n function assertEq0(bytes memory a, bytes memory b) internal {\n if (!checkEq0(a, b)) {\n emit log(\"Error: a == b not satisfied [bytes]\");\n emit log_named_bytes(\" Left\", a);\n emit log_named_bytes(\" Right\", b);\n fail();\n }\n }\n function assertEq0(bytes memory a, bytes memory b, string memory err) internal {\n if (!checkEq0(a, b)) {\n emit log_named_string(\"Error\", err);\n assertEq0(a, b);\n }\n }\n}\n"},"lib/forge-std/src/Base.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {StdStorage} from \"./StdStorage.sol\";\nimport {Vm, VmSafe} from \"./Vm.sol\";\n\nabstract contract CommonBase {\n // Cheat code address, 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D.\n address internal constant VM_ADDRESS = address(uint160(uint256(keccak256(\"hevm cheat code\"))));\n // console.sol and console2.sol work by executing a staticcall to this address.\n address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;\n // Default address for tx.origin and msg.sender, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38.\n address internal constant DEFAULT_SENDER = address(uint160(uint256(keccak256(\"foundry default caller\"))));\n // Address of the test contract, deployed by the DEFAULT_SENDER.\n address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;\n // Deterministic deployment address of the Multicall3 contract.\n address internal constant MULTICALL3_ADDRESS = 0xcA11bde05977b3631167028862bE2a173976CA11;\n\n uint256 internal constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n Vm internal constant vm = Vm(VM_ADDRESS);\n StdStorage internal stdstore;\n}\n\nabstract contract TestBase is CommonBase {}\n\nabstract contract ScriptBase is CommonBase {\n // Used when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.\n address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n VmSafe internal constant vmSafe = VmSafe(VM_ADDRESS);\n}\n"},"lib/forge-std/src/StdAssertions.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {DSTest} from \"ds-test/test.sol\";\nimport {stdMath} from \"./StdMath.sol\";\n\nabstract contract StdAssertions is DSTest {\n event log_array(uint256[] val);\n event log_array(int256[] val);\n event log_array(address[] val);\n event log_named_array(string key, uint256[] val);\n event log_named_array(string key, int256[] val);\n event log_named_array(string key, address[] val);\n\n function fail(string memory err) internal virtual {\n emit log_named_string(\"Error\", err);\n fail();\n }\n\n function assertFalse(bool data) internal virtual {\n assertTrue(!data);\n }\n\n function assertFalse(bool data, string memory err) internal virtual {\n assertTrue(!data, err);\n }\n\n function assertEq(bool a, bool b) internal virtual {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [bool]\");\n emit log_named_string(\" Left\", a ? \"true\" : \"false\");\n emit log_named_string(\" Right\", b ? \"true\" : \"false\");\n fail();\n }\n }\n\n function assertEq(bool a, bool b, string memory err) internal virtual {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(bytes memory a, bytes memory b) internal virtual {\n assertEq0(a, b);\n }\n\n function assertEq(bytes memory a, bytes memory b, string memory err) internal virtual {\n assertEq0(a, b, err);\n }\n\n function assertEq(uint256[] memory a, uint256[] memory b) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log(\"Error: a == b not satisfied [uint[]]\");\n emit log_named_array(\" Left\", a);\n emit log_named_array(\" Right\", b);\n fail();\n }\n }\n\n function assertEq(int256[] memory a, int256[] memory b) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log(\"Error: a == b not satisfied [int[]]\");\n emit log_named_array(\" Left\", a);\n emit log_named_array(\" Right\", b);\n fail();\n }\n }\n\n function assertEq(address[] memory a, address[] memory b) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log(\"Error: a == b not satisfied [address[]]\");\n emit log_named_array(\" Left\", a);\n emit log_named_array(\" Right\", b);\n fail();\n }\n }\n\n function assertEq(uint256[] memory a, uint256[] memory b, string memory err) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(int256[] memory a, int256[] memory b, string memory err) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(address[] memory a, address[] memory b, string memory err) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n // Legacy helper\n function assertEqUint(uint256 a, uint256 b) internal virtual {\n assertEq(uint256(a), uint256(b));\n }\n\n function assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_uint(\" Left\", a);\n emit log_named_uint(\" Right\", b);\n emit log_named_uint(\" Max Delta\", maxDelta);\n emit log_named_uint(\" Delta\", delta);\n fail();\n }\n }\n\n function assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta, string memory err) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbs(a, b, maxDelta);\n }\n }\n\n function assertApproxEqAbsDecimal(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_decimal_uint(\" Left\", a, decimals);\n emit log_named_decimal_uint(\" Right\", b, decimals);\n emit log_named_decimal_uint(\" Max Delta\", maxDelta, decimals);\n emit log_named_decimal_uint(\" Delta\", delta, decimals);\n fail();\n }\n }\n\n function assertApproxEqAbsDecimal(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals, string memory err)\n internal\n virtual\n {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbsDecimal(a, b, maxDelta, decimals);\n }\n }\n\n function assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_int(\" Left\", a);\n emit log_named_int(\" Right\", b);\n emit log_named_uint(\" Max Delta\", maxDelta);\n emit log_named_uint(\" Delta\", delta);\n fail();\n }\n }\n\n function assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta, string memory err) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbs(a, b, maxDelta);\n }\n }\n\n function assertApproxEqAbsDecimal(int256 a, int256 b, uint256 maxDelta, uint256 decimals) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_decimal_int(\" Left\", a, decimals);\n emit log_named_decimal_int(\" Right\", b, decimals);\n emit log_named_decimal_uint(\" Max Delta\", maxDelta, decimals);\n emit log_named_decimal_uint(\" Delta\", delta, decimals);\n fail();\n }\n }\n\n function assertApproxEqAbsDecimal(int256 a, int256 b, uint256 maxDelta, uint256 decimals, string memory err)\n internal\n virtual\n {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbsDecimal(a, b, maxDelta, decimals);\n }\n }\n\n function assertApproxEqRel(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta // An 18 decimal fixed point number, where 1e18 == 100%\n ) internal virtual {\n if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_uint(\" Left\", a);\n emit log_named_uint(\" Right\", b);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRel(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n string memory err\n ) internal virtual {\n if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRel(a, b, maxPercentDelta);\n }\n }\n\n function assertApproxEqRelDecimal(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals\n ) internal virtual {\n if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_decimal_uint(\" Left\", a, decimals);\n emit log_named_decimal_uint(\" Right\", b, decimals);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRelDecimal(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals,\n string memory err\n ) internal virtual {\n if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);\n }\n }\n\n function assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta) internal virtual {\n if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_int(\" Left\", a);\n emit log_named_int(\" Right\", b);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta, string memory err) internal virtual {\n if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRel(a, b, maxPercentDelta);\n }\n }\n\n function assertApproxEqRelDecimal(int256 a, int256 b, uint256 maxPercentDelta, uint256 decimals) internal virtual {\n if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_decimal_int(\" Left\", a, decimals);\n emit log_named_decimal_int(\" Right\", b, decimals);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRelDecimal(int256 a, int256 b, uint256 maxPercentDelta, uint256 decimals, string memory err)\n internal\n virtual\n {\n if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);\n }\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB) internal virtual {\n assertEqCall(target, callDataA, target, callDataB, true);\n }\n\n function assertEqCall(address targetA, bytes memory callDataA, address targetB, bytes memory callDataB)\n internal\n virtual\n {\n assertEqCall(targetA, callDataA, targetB, callDataB, true);\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB, bool strictRevertData)\n internal\n virtual\n {\n assertEqCall(target, callDataA, target, callDataB, strictRevertData);\n }\n\n function assertEqCall(\n address targetA,\n bytes memory callDataA,\n address targetB,\n bytes memory callDataB,\n bool strictRevertData\n ) internal virtual {\n (bool successA, bytes memory returnDataA) = address(targetA).call(callDataA);\n (bool successB, bytes memory returnDataB) = address(targetB).call(callDataB);\n\n if (successA && successB) {\n assertEq(returnDataA, returnDataB, \"Call return data does not match\");\n }\n\n if (!successA && !successB && strictRevertData) {\n assertEq(returnDataA, returnDataB, \"Call revert data does not match\");\n }\n\n if (!successA && successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call revert data\", returnDataA);\n emit log_named_bytes(\" Right call return data\", returnDataB);\n fail();\n }\n\n if (successA && !successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call return data\", returnDataA);\n emit log_named_bytes(\" Right call revert data\", returnDataB);\n fail();\n }\n }\n}\n"},"lib/forge-std/src/StdChains.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n/**\n * StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n * For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n * identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n * the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n * alias used in this contract, which can be found as the first argument to the\n * `setChainWithDefaultRpcUrl` call in the `initialize` function.\n *\n * There are two main ways to use this contract:\n * 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n * `setChain(string memory chainAlias, Chain memory chain)`\n * 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n *\n * The first time either of those are used, chains are initialized with the default set of RPC URLs.\n * This is done in `initialize`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n * `defaultRpcUrls`.\n *\n * The `setChain` function is straightforward, and it simply saves off the given chain data.\n *\n * The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n * we want to retrieve `mainnet`'s RPC URL:\n * - If you haven't set any mainnet chain info with `setChain`, you haven't specified that\n * chain in `foundry.toml` and no env var is set, the default data and RPC URL will be returned.\n * - If you have set a mainnet RPC URL in `foundry.toml` it will return that, if valid (e.g. if\n * a URL is given or if an environment variable is given and that environment variable exists).\n * Otherwise, the default data is returned.\n * - If you specified data with `setChain` it will return that.\n *\n * Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\n */\nabstract contract StdChains {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n bool private initialized;\n\n struct ChainData {\n string name;\n uint256 chainId;\n string rpcUrl;\n }\n\n struct Chain {\n // The chain name.\n string name;\n // The chain's Chain ID.\n uint256 chainId;\n // The chain's alias. (i.e. what gets specified in `foundry.toml`).\n string chainAlias;\n // A default RPC endpoint for this chain.\n // NOTE: This default RPC URL is included for convenience to facilitate quick tests and\n // experimentation. Do not use this RPC URL for production test suites, CI, or other heavy\n // usage as you will be throttled and this is a disservice to others who need this endpoint.\n string rpcUrl;\n }\n\n // Maps from the chain's alias (matching the alias in the `foundry.toml` file) to chain data.\n mapping(string => Chain) private chains;\n // Maps from the chain's alias to it's default RPC URL.\n mapping(string => string) private defaultRpcUrls;\n // Maps from a chain ID to it's alias.\n mapping(uint256 => string) private idToAlias;\n\n bool private fallbackToDefaultRpcUrls = true;\n\n // The RPC URL will be fetched from config or defaultRpcUrls if possible.\n function getChain(string memory chainAlias) internal virtual returns (Chain memory chain) {\n require(bytes(chainAlias).length != 0, \"StdChains getChain(string): Chain alias cannot be the empty string.\");\n\n initialize();\n chain = chains[chainAlias];\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(string): Chain with alias \\\"\", chainAlias, \"\\\" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n function getChain(uint256 chainId) internal virtual returns (Chain memory chain) {\n require(chainId != 0, \"StdChains getChain(uint256): Chain ID cannot be 0.\");\n initialize();\n string memory chainAlias = idToAlias[chainId];\n\n chain = chains[chainAlias];\n\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(uint256): Chain with ID \", vm.toString(chainId), \" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, ChainData memory chain) internal virtual {\n require(\n bytes(chainAlias).length != 0,\n \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\"\n );\n\n require(chain.chainId != 0, \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\");\n\n initialize();\n string memory foundAlias = idToAlias[chain.chainId];\n\n require(\n bytes(foundAlias).length == 0 || keccak256(bytes(foundAlias)) == keccak256(bytes(chainAlias)),\n string(\n abi.encodePacked(\n \"StdChains setChain(string,ChainData): Chain ID \",\n vm.toString(chain.chainId),\n \" already used by \\\"\",\n foundAlias,\n \"\\\".\"\n )\n )\n );\n\n uint256 oldChainId = chains[chainAlias].chainId;\n delete idToAlias[oldChainId];\n\n chains[chainAlias] =\n Chain({name: chain.name, chainId: chain.chainId, chainAlias: chainAlias, rpcUrl: chain.rpcUrl});\n idToAlias[chain.chainId] = chainAlias;\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, Chain memory chain) internal virtual {\n setChain(chainAlias, ChainData({name: chain.name, chainId: chain.chainId, rpcUrl: chain.rpcUrl}));\n }\n\n function _toUpper(string memory str) private pure returns (string memory) {\n bytes memory strb = bytes(str);\n bytes memory copy = new bytes(strb.length);\n for (uint256 i = 0; i < strb.length; i++) {\n bytes1 b = strb[i];\n if (b >= 0x61 && b <= 0x7A) {\n copy[i] = bytes1(uint8(b) - 32);\n } else {\n copy[i] = b;\n }\n }\n return string(copy);\n }\n\n // lookup rpcUrl, in descending order of priority:\n // current -> config (foundry.toml) -> environment variable -> default\n function getChainWithUpdatedRpcUrl(string memory chainAlias, Chain memory chain) private returns (Chain memory) {\n if (bytes(chain.rpcUrl).length == 0) {\n try vm.rpcUrl(chainAlias) returns (string memory configRpcUrl) {\n chain.rpcUrl = configRpcUrl;\n } catch (bytes memory err) {\n string memory envName = string(abi.encodePacked(_toUpper(chainAlias), \"_RPC_URL\"));\n if (fallbackToDefaultRpcUrls) {\n chain.rpcUrl = vm.envOr(envName, defaultRpcUrls[chainAlias]);\n } else {\n chain.rpcUrl = vm.envString(envName);\n }\n // distinguish 'not found' from 'cannot read'\n bytes memory notFoundError =\n abi.encodeWithSignature(\"CheatCodeError\", string(abi.encodePacked(\"invalid rpc url \", chainAlias)));\n if (keccak256(notFoundError) != keccak256(err) || bytes(chain.rpcUrl).length == 0) {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, err), mload(err))\n }\n }\n }\n }\n return chain;\n }\n\n function setFallbackToDefaultRpcUrls(bool useDefault) internal {\n fallbackToDefaultRpcUrls = useDefault;\n }\n\n function initialize() private {\n if (initialized) return;\n\n initialized = true;\n\n // If adding an RPC here, make sure to test the default RPC URL in `testRpcs`\n setChainWithDefaultRpcUrl(\"anvil\", ChainData(\"Anvil\", 31337, \"http://127.0.0.1:8545\"));\n setChainWithDefaultRpcUrl(\n \"mainnet\", ChainData(\"Mainnet\", 1, \"https://mainnet.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\")\n );\n setChainWithDefaultRpcUrl(\n \"goerli\", ChainData(\"Goerli\", 5, \"https://goerli.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\")\n );\n setChainWithDefaultRpcUrl(\n \"sepolia\", ChainData(\"Sepolia\", 11155111, \"https://sepolia.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\")\n );\n setChainWithDefaultRpcUrl(\"optimism\", ChainData(\"Optimism\", 10, \"https://mainnet.optimism.io\"));\n setChainWithDefaultRpcUrl(\"optimism_goerli\", ChainData(\"Optimism Goerli\", 420, \"https://goerli.optimism.io\"));\n setChainWithDefaultRpcUrl(\"arbitrum_one\", ChainData(\"Arbitrum One\", 42161, \"https://arb1.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\n \"arbitrum_one_goerli\", ChainData(\"Arbitrum One Goerli\", 421613, \"https://goerli-rollup.arbitrum.io/rpc\")\n );\n setChainWithDefaultRpcUrl(\"arbitrum_nova\", ChainData(\"Arbitrum Nova\", 42170, \"https://nova.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\"polygon\", ChainData(\"Polygon\", 137, \"https://polygon-rpc.com\"));\n setChainWithDefaultRpcUrl(\n \"polygon_mumbai\", ChainData(\"Polygon Mumbai\", 80001, \"https://rpc-mumbai.maticvigil.com\")\n );\n setChainWithDefaultRpcUrl(\"avalanche\", ChainData(\"Avalanche\", 43114, \"https://api.avax.network/ext/bc/C/rpc\"));\n setChainWithDefaultRpcUrl(\n \"avalanche_fuji\", ChainData(\"Avalanche Fuji\", 43113, \"https://api.avax-test.network/ext/bc/C/rpc\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain\", ChainData(\"BNB Smart Chain\", 56, \"https://bsc-dataseed1.binance.org\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain_testnet\",\n ChainData(\"BNB Smart Chain Testnet\", 97, \"https://rpc.ankr.com/bsc_testnet_chapel\")\n );\n setChainWithDefaultRpcUrl(\"gnosis_chain\", ChainData(\"Gnosis Chain\", 100, \"https://rpc.gnosischain.com\"));\n }\n\n // set chain info, with priority to chainAlias' rpc url in foundry.toml\n function setChainWithDefaultRpcUrl(string memory chainAlias, ChainData memory chain) private {\n string memory rpcUrl = chain.rpcUrl;\n defaultRpcUrls[chainAlias] = rpcUrl;\n chain.rpcUrl = \"\";\n setChain(chainAlias, chain);\n chain.rpcUrl = rpcUrl; // restore argument\n }\n}\n"},"lib/forge-std/src/StdCheats.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {Vm} from \"./Vm.sol\";\n\nabstract contract StdCheatsSafe {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n bool private gasMeteringOff;\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawTx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n // json value name = function\n string functionSig;\n bytes32 hash;\n // json value name = tx\n RawTx1559Detail txDetail;\n // json value name = type\n string opcode;\n }\n\n struct RawTx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n bytes gas;\n bytes nonce;\n address to;\n bytes txType;\n bytes value;\n }\n\n struct Tx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n bytes32 hash;\n Tx1559Detail txDetail;\n string opcode;\n }\n\n struct Tx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n uint256 gas;\n uint256 nonce;\n address to;\n uint256 txType;\n uint256 value;\n }\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that DO NOT conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct TxLegacy {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n string hash;\n string opcode;\n TxDetailLegacy transaction;\n }\n\n struct TxDetailLegacy {\n AccessList[] accessList;\n uint256 chainId;\n bytes data;\n address from;\n uint256 gas;\n uint256 gasPrice;\n bytes32 hash;\n uint256 nonce;\n bytes1 opcode;\n bytes32 r;\n bytes32 s;\n uint256 txType;\n address to;\n uint8 v;\n uint256 value;\n }\n\n struct AccessList {\n address accessAddress;\n bytes32[] storageKeys;\n }\n\n // Data structures to parse Receipt objects from the broadcast artifact.\n // The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawReceipt {\n bytes32 blockHash;\n bytes blockNumber;\n address contractAddress;\n bytes cumulativeGasUsed;\n bytes effectiveGasPrice;\n address from;\n bytes gasUsed;\n RawReceiptLog[] logs;\n bytes logsBloom;\n bytes status;\n address to;\n bytes32 transactionHash;\n bytes transactionIndex;\n }\n\n struct Receipt {\n bytes32 blockHash;\n uint256 blockNumber;\n address contractAddress;\n uint256 cumulativeGasUsed;\n uint256 effectiveGasPrice;\n address from;\n uint256 gasUsed;\n ReceiptLog[] logs;\n bytes logsBloom;\n uint256 status;\n address to;\n bytes32 transactionHash;\n uint256 transactionIndex;\n }\n\n // Data structures to parse the entire broadcast artifact, assuming the\n // transactions conform to EIP1559.\n\n struct EIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n Receipt[] receipts;\n uint256 timestamp;\n Tx1559[] transactions;\n TxReturn[] txReturns;\n }\n\n struct RawEIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n RawReceipt[] receipts;\n TxReturn[] txReturns;\n uint256 timestamp;\n RawTx1559[] transactions;\n }\n\n struct RawReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n bytes blockNumber;\n bytes data;\n bytes logIndex;\n bool removed;\n bytes32[] topics;\n bytes32 transactionHash;\n bytes transactionIndex;\n bytes transactionLogIndex;\n }\n\n struct ReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n uint256 blockNumber;\n bytes data;\n uint256 logIndex;\n bytes32[] topics;\n uint256 transactionIndex;\n uint256 transactionLogIndex;\n bool removed;\n }\n\n struct TxReturn {\n string internalType;\n string value;\n }\n\n function assumeNoPrecompiles(address addr) internal virtual {\n // Assembly required since `block.chainid` was introduced in 0.8.0.\n uint256 chainId;\n assembly {\n chainId := chainid()\n }\n assumeNoPrecompiles(addr, chainId);\n }\n\n function assumeNoPrecompiles(address addr, uint256 chainId) internal pure virtual {\n // Note: For some chains like Optimism these are technically predeploys (i.e. bytecode placed at a specific\n // address), but the same rationale for excluding them applies so we include those too.\n\n // These should be present on all EVM-compatible chains.\n vm.assume(addr < address(0x1) || addr > address(0x9));\n\n // forgefmt: disable-start\n if (chainId == 10 || chainId == 420) {\n // https://github.com/ethereum-optimism/optimism/blob/eaa371a0184b56b7ca6d9eb9cb0a2b78b2ccd864/op-bindings/predeploys/addresses.go#L6-L21\n vm.assume(addr < address(0x4200000000000000000000000000000000000000) || addr > address(0x4200000000000000000000000000000000000800));\n } else if (chainId == 42161 || chainId == 421613) {\n // https://developer.arbitrum.io/useful-addresses#arbitrum-precompiles-l2-same-on-all-arb-chains\n vm.assume(addr < address(0x0000000000000000000000000000000000000064) || addr > address(0x0000000000000000000000000000000000000068));\n } else if (chainId == 43114 || chainId == 43113) {\n // https://github.com/ava-labs/subnet-evm/blob/47c03fd007ecaa6de2c52ea081596e0a88401f58/precompile/params.go#L18-L59\n vm.assume(addr < address(0x0100000000000000000000000000000000000000) || addr > address(0x01000000000000000000000000000000000000ff));\n vm.assume(addr < address(0x0200000000000000000000000000000000000000) || addr > address(0x02000000000000000000000000000000000000FF));\n vm.assume(addr < address(0x0300000000000000000000000000000000000000) || addr > address(0x03000000000000000000000000000000000000Ff));\n }\n // forgefmt: disable-end\n }\n\n function readEIP1559ScriptArtifact(string memory path)\n internal\n view\n virtual\n returns (EIP1559ScriptArtifact memory)\n {\n string memory data = vm.readFile(path);\n bytes memory parsedData = vm.parseJson(data);\n RawEIP1559ScriptArtifact memory rawArtifact = abi.decode(parsedData, (RawEIP1559ScriptArtifact));\n EIP1559ScriptArtifact memory artifact;\n artifact.libraries = rawArtifact.libraries;\n artifact.path = rawArtifact.path;\n artifact.timestamp = rawArtifact.timestamp;\n artifact.pending = rawArtifact.pending;\n artifact.txReturns = rawArtifact.txReturns;\n artifact.receipts = rawToConvertedReceipts(rawArtifact.receipts);\n artifact.transactions = rawToConvertedEIPTx1559s(rawArtifact.transactions);\n return artifact;\n }\n\n function rawToConvertedEIPTx1559s(RawTx1559[] memory rawTxs) internal pure virtual returns (Tx1559[] memory) {\n Tx1559[] memory txs = new Tx1559[](rawTxs.length);\n for (uint256 i; i < rawTxs.length; i++) {\n txs[i] = rawToConvertedEIPTx1559(rawTxs[i]);\n }\n return txs;\n }\n\n function rawToConvertedEIPTx1559(RawTx1559 memory rawTx) internal pure virtual returns (Tx1559 memory) {\n Tx1559 memory transaction;\n transaction.arguments = rawTx.arguments;\n transaction.contractName = rawTx.contractName;\n transaction.functionSig = rawTx.functionSig;\n transaction.hash = rawTx.hash;\n transaction.txDetail = rawToConvertedEIP1559Detail(rawTx.txDetail);\n transaction.opcode = rawTx.opcode;\n return transaction;\n }\n\n function rawToConvertedEIP1559Detail(RawTx1559Detail memory rawDetail)\n internal\n pure\n virtual\n returns (Tx1559Detail memory)\n {\n Tx1559Detail memory txDetail;\n txDetail.data = rawDetail.data;\n txDetail.from = rawDetail.from;\n txDetail.to = rawDetail.to;\n txDetail.nonce = _bytesToUint(rawDetail.nonce);\n txDetail.txType = _bytesToUint(rawDetail.txType);\n txDetail.value = _bytesToUint(rawDetail.value);\n txDetail.gas = _bytesToUint(rawDetail.gas);\n txDetail.accessList = rawDetail.accessList;\n return txDetail;\n }\n\n function readTx1559s(string memory path) internal view virtual returns (Tx1559[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".transactions\");\n RawTx1559[] memory rawTxs = abi.decode(parsedDeployData, (RawTx1559[]));\n return rawToConvertedEIPTx1559s(rawTxs);\n }\n\n function readTx1559(string memory path, uint256 index) internal view virtual returns (Tx1559 memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".transactions[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawTx1559 memory rawTx = abi.decode(parsedDeployData, (RawTx1559));\n return rawToConvertedEIPTx1559(rawTx);\n }\n\n // Analogous to readTransactions, but for receipts.\n function readReceipts(string memory path) internal view virtual returns (Receipt[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".receipts\");\n RawReceipt[] memory rawReceipts = abi.decode(parsedDeployData, (RawReceipt[]));\n return rawToConvertedReceipts(rawReceipts);\n }\n\n function readReceipt(string memory path, uint256 index) internal view virtual returns (Receipt memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".receipts[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawReceipt memory rawReceipt = abi.decode(parsedDeployData, (RawReceipt));\n return rawToConvertedReceipt(rawReceipt);\n }\n\n function rawToConvertedReceipts(RawReceipt[] memory rawReceipts) internal pure virtual returns (Receipt[] memory) {\n Receipt[] memory receipts = new Receipt[](rawReceipts.length);\n for (uint256 i; i < rawReceipts.length; i++) {\n receipts[i] = rawToConvertedReceipt(rawReceipts[i]);\n }\n return receipts;\n }\n\n function rawToConvertedReceipt(RawReceipt memory rawReceipt) internal pure virtual returns (Receipt memory) {\n Receipt memory receipt;\n receipt.blockHash = rawReceipt.blockHash;\n receipt.to = rawReceipt.to;\n receipt.from = rawReceipt.from;\n receipt.contractAddress = rawReceipt.contractAddress;\n receipt.effectiveGasPrice = _bytesToUint(rawReceipt.effectiveGasPrice);\n receipt.cumulativeGasUsed = _bytesToUint(rawReceipt.cumulativeGasUsed);\n receipt.gasUsed = _bytesToUint(rawReceipt.gasUsed);\n receipt.status = _bytesToUint(rawReceipt.status);\n receipt.transactionIndex = _bytesToUint(rawReceipt.transactionIndex);\n receipt.blockNumber = _bytesToUint(rawReceipt.blockNumber);\n receipt.logs = rawToConvertedReceiptLogs(rawReceipt.logs);\n receipt.logsBloom = rawReceipt.logsBloom;\n receipt.transactionHash = rawReceipt.transactionHash;\n return receipt;\n }\n\n function rawToConvertedReceiptLogs(RawReceiptLog[] memory rawLogs)\n internal\n pure\n virtual\n returns (ReceiptLog[] memory)\n {\n ReceiptLog[] memory logs = new ReceiptLog[](rawLogs.length);\n for (uint256 i; i < rawLogs.length; i++) {\n logs[i].logAddress = rawLogs[i].logAddress;\n logs[i].blockHash = rawLogs[i].blockHash;\n logs[i].blockNumber = _bytesToUint(rawLogs[i].blockNumber);\n logs[i].data = rawLogs[i].data;\n logs[i].logIndex = _bytesToUint(rawLogs[i].logIndex);\n logs[i].topics = rawLogs[i].topics;\n logs[i].transactionIndex = _bytesToUint(rawLogs[i].transactionIndex);\n logs[i].transactionLogIndex = _bytesToUint(rawLogs[i].transactionLogIndex);\n logs[i].removed = rawLogs[i].removed;\n }\n return logs;\n }\n\n // Deploy a contract by fetching the contract bytecode from\n // the artifacts directory\n // e.g. `deployCode(code, abi.encode(arg1,arg2,arg3))`\n function deployCode(string memory what, bytes memory args) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes): Deployment failed.\");\n }\n\n function deployCode(string memory what) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string): Deployment failed.\");\n }\n\n /// @dev deploy contract with value on construction\n function deployCode(string memory what, bytes memory args, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\");\n }\n\n function deployCode(string memory what, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,uint256): Deployment failed.\");\n }\n\n // creates a labeled address and the corresponding private key\n function makeAddrAndKey(string memory name) internal virtual returns (address addr, uint256 privateKey) {\n privateKey = uint256(keccak256(abi.encodePacked(name)));\n addr = vm.addr(privateKey);\n vm.label(addr, name);\n }\n\n // creates a labeled address\n function makeAddr(string memory name) internal virtual returns (address addr) {\n (addr,) = makeAddrAndKey(name);\n }\n\n function deriveRememberKey(string memory mnemonic, uint32 index)\n internal\n virtual\n returns (address who, uint256 privateKey)\n {\n privateKey = vm.deriveKey(mnemonic, index);\n who = vm.rememberKey(privateKey);\n }\n\n function _bytesToUint(bytes memory b) private pure returns (uint256) {\n require(b.length <= 32, \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n function isFork() internal view virtual returns (bool status) {\n try vm.activeFork() {\n status = true;\n } catch (bytes memory) {}\n }\n\n modifier skipWhenForking() {\n if (!isFork()) {\n _;\n }\n }\n\n modifier skipWhenNotForking() {\n if (isFork()) {\n _;\n }\n }\n\n modifier noGasMetering() {\n vm.pauseGasMetering();\n // To prevent turning gas monitoring back on with nested functions that use this modifier,\n // we check if gasMetering started in the off position. If it did, we don't want to turn\n // it back on until we exit the top level function that used the modifier\n //\n // i.e. funcA() noGasMetering { funcB() }, where funcB has noGasMetering as well.\n // funcA will have `gasStartedOff` as false, funcB will have it as true,\n // so we only turn metering back on at the end of the funcA\n bool gasStartedOff = gasMeteringOff;\n gasMeteringOff = true;\n\n _;\n\n // if gas metering was on when this modifier was called, turn it back on at the end\n if (!gasStartedOff) {\n gasMeteringOff = false;\n vm.resumeGasMetering();\n }\n }\n\n // a cheat for fuzzing addresses that are payable only\n // see https://github.com/foundry-rs/foundry/issues/3631\n function assumePayable(address addr) internal virtual {\n (bool success,) = payable(addr).call{value: 0}(\"\");\n vm.assume(success);\n }\n}\n\n// Wrappers around cheatcodes to avoid footguns\nabstract contract StdCheats is StdCheatsSafe {\n using stdStorage for StdStorage;\n\n StdStorage private stdstore;\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n // Skip forward or rewind time by the specified number of seconds\n function skip(uint256 time) internal virtual {\n vm.warp(block.timestamp + time);\n }\n\n function rewind(uint256 time) internal virtual {\n vm.warp(block.timestamp - time);\n }\n\n // Setup a prank from an address that has some ether\n function hoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender, origin);\n }\n\n function hoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender, origin);\n }\n\n // Start perpetual prank from an address that has some ether\n function startHoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender);\n }\n\n function startHoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender);\n }\n\n // Start perpetual prank from an address that has some ether\n // tx.origin is set to the origin parameter\n function startHoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender, origin);\n }\n\n function startHoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender, origin);\n }\n\n function changePrank(address msgSender) internal virtual {\n vm.stopPrank();\n vm.startPrank(msgSender);\n }\n\n // The same as Vm's `deal`\n // Use the alternative signature for ERC20 tokens\n function deal(address to, uint256 give) internal virtual {\n vm.deal(to, give);\n }\n\n // Set the balance of an account for any ERC20 token\n // Use the alternative signature to update `totalSupply`\n function deal(address token, address to, uint256 give) internal virtual {\n deal(token, to, give, false);\n }\n\n // Set the balance of an account for any ERC1155 token\n // Use the alternative signature to update `totalSupply`\n function dealERC1155(address token, address to, uint256 id, uint256 give) internal virtual {\n dealERC1155(token, to, id, give, false);\n }\n\n function deal(address token, address to, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.call(abi.encodeWithSelector(0x70a08231, to));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.call(abi.encodeWithSelector(0x18160ddd));\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0x18160ddd).checked_write(totSup);\n }\n }\n\n function dealERC1155(address token, address to, uint256 id, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.call(abi.encodeWithSelector(0x00fdd58e, to, id));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x00fdd58e).with_key(to).with_key(id).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.call(abi.encodeWithSelector(0xbd85b039, id));\n require(\n totSupData.length != 0,\n \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\"\n );\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0xbd85b039).with_key(id).checked_write(totSup);\n }\n }\n\n function dealERC721(address token, address to, uint256 id) internal virtual {\n // check if token id is already minted and the actual owner.\n (bool successMinted, bytes memory ownerData) = token.staticcall(abi.encodeWithSelector(0x6352211e, id));\n require(successMinted, \"StdCheats deal(address,address,uint,bool): id not minted.\");\n\n // get owner current balance\n (, bytes memory fromBalData) = token.call(abi.encodeWithSelector(0x70a08231, abi.decode(ownerData, (address))));\n uint256 fromPrevBal = abi.decode(fromBalData, (uint256));\n\n // get new user current balance\n (, bytes memory toBalData) = token.call(abi.encodeWithSelector(0x70a08231, to));\n uint256 toPrevBal = abi.decode(toBalData, (uint256));\n\n // update balances\n stdstore.target(token).sig(0x70a08231).with_key(abi.decode(ownerData, (address))).checked_write(--fromPrevBal);\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(++toPrevBal);\n\n // update owner\n stdstore.target(token).sig(0x6352211e).with_key(id).checked_write(to);\n }\n}\n"},"lib/forge-std/src/StdError.sol":{"content":"// SPDX-License-Identifier: MIT\n// Panics work for versions >=0.8.0, but we lowered the pragma to make this compatible with Test\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdError {\n bytes public constant assertionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x01);\n bytes public constant arithmeticError = abi.encodeWithSignature(\"Panic(uint256)\", 0x11);\n bytes public constant divisionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x12);\n bytes public constant enumConversionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x21);\n bytes public constant encodeStorageError = abi.encodeWithSignature(\"Panic(uint256)\", 0x22);\n bytes public constant popError = abi.encodeWithSignature(\"Panic(uint256)\", 0x31);\n bytes public constant indexOOBError = abi.encodeWithSignature(\"Panic(uint256)\", 0x32);\n bytes public constant memOverflowError = abi.encodeWithSignature(\"Panic(uint256)\", 0x41);\n bytes public constant zeroVarError = abi.encodeWithSignature(\"Panic(uint256)\", 0x51);\n}\n"},"lib/forge-std/src/StdInvariant.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ncontract StdInvariant {\n struct FuzzSelector {\n address addr;\n bytes4[] selectors;\n }\n\n address[] private _excludedContracts;\n address[] private _excludedSenders;\n address[] private _targetedContracts;\n address[] private _targetedSenders;\n\n string[] private _excludedArtifacts;\n string[] private _targetedArtifacts;\n\n FuzzSelector[] private _targetedArtifactSelectors;\n FuzzSelector[] private _targetedSelectors;\n\n // Functions for users:\n // These are intended to be called in tests.\n\n function excludeContract(address newExcludedContract_) internal {\n _excludedContracts.push(newExcludedContract_);\n }\n\n function excludeSender(address newExcludedSender_) internal {\n _excludedSenders.push(newExcludedSender_);\n }\n\n function excludeArtifact(string memory newExcludedArtifact_) internal {\n _excludedArtifacts.push(newExcludedArtifact_);\n }\n\n function targetArtifact(string memory newTargetedArtifact_) internal {\n _targetedArtifacts.push(newTargetedArtifact_);\n }\n\n function targetArtifactSelector(FuzzSelector memory newTargetedArtifactSelector_) internal {\n _targetedArtifactSelectors.push(newTargetedArtifactSelector_);\n }\n\n function targetContract(address newTargetedContract_) internal {\n _targetedContracts.push(newTargetedContract_);\n }\n\n function targetSelector(FuzzSelector memory newTargetedSelector_) internal {\n _targetedSelectors.push(newTargetedSelector_);\n }\n\n function targetSender(address newTargetedSender_) internal {\n _targetedSenders.push(newTargetedSender_);\n }\n\n // Functions for forge:\n // These are called by forge to run invariant tests and don't need to be called in tests.\n\n function excludeArtifacts() public view returns (string[] memory excludedArtifacts_) {\n excludedArtifacts_ = _excludedArtifacts;\n }\n\n function excludeContracts() public view returns (address[] memory excludedContracts_) {\n excludedContracts_ = _excludedContracts;\n }\n\n function excludeSenders() public view returns (address[] memory excludedSenders_) {\n excludedSenders_ = _excludedSenders;\n }\n\n function targetArtifacts() public view returns (string[] memory targetedArtifacts_) {\n targetedArtifacts_ = _targetedArtifacts;\n }\n\n function targetArtifactSelectors() public view returns (FuzzSelector[] memory targetedArtifactSelectors_) {\n targetedArtifactSelectors_ = _targetedArtifactSelectors;\n }\n\n function targetContracts() public view returns (address[] memory targetedContracts_) {\n targetedContracts_ = _targetedContracts;\n }\n\n function targetSelectors() public view returns (FuzzSelector[] memory targetedSelectors_) {\n targetedSelectors_ = _targetedSelectors;\n }\n\n function targetSenders() public view returns (address[] memory targetedSenders_) {\n targetedSenders_ = _targetedSenders;\n }\n}\n"},"lib/forge-std/src/StdJson.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n// Helpers for parsing and writing JSON files\n// To parse:\n// ```\n// using stdJson for string;\n// string memory json = vm.readFile(\"some_peth\");\n// json.parseUint(\"\");\n// ```\n// To write:\n// ```\n// using stdJson for string;\n// string memory json = \"deploymentArtifact\";\n// Contract contract = new Contract();\n// json.serialize(\"contractAddress\", address(contract));\n// json = json.serialize(\"deploymentTimes\", uint(1));\n// // store the stringified JSON to the 'json' variable we have been using as a key\n// // as we won't need it any longer\n// string memory json2 = \"finalArtifact\";\n// string memory final = json2.serialize(\"depArtifact\", json);\n// final.write(\"\");\n// ```\n\nlibrary stdJson {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function parseRaw(string memory json, string memory key) internal pure returns (bytes memory) {\n return vm.parseJson(json, key);\n }\n\n function readUint(string memory json, string memory key) internal returns (uint256) {\n return vm.parseJsonUint(json, key);\n }\n\n function readUintArray(string memory json, string memory key) internal returns (uint256[] memory) {\n return vm.parseJsonUintArray(json, key);\n }\n\n function readInt(string memory json, string memory key) internal returns (int256) {\n return vm.parseJsonInt(json, key);\n }\n\n function readIntArray(string memory json, string memory key) internal returns (int256[] memory) {\n return vm.parseJsonIntArray(json, key);\n }\n\n function readBytes32(string memory json, string memory key) internal returns (bytes32) {\n return vm.parseJsonBytes32(json, key);\n }\n\n function readBytes32Array(string memory json, string memory key) internal returns (bytes32[] memory) {\n return vm.parseJsonBytes32Array(json, key);\n }\n\n function readString(string memory json, string memory key) internal returns (string memory) {\n return vm.parseJsonString(json, key);\n }\n\n function readStringArray(string memory json, string memory key) internal returns (string[] memory) {\n return vm.parseJsonStringArray(json, key);\n }\n\n function readAddress(string memory json, string memory key) internal returns (address) {\n return vm.parseJsonAddress(json, key);\n }\n\n function readAddressArray(string memory json, string memory key) internal returns (address[] memory) {\n return vm.parseJsonAddressArray(json, key);\n }\n\n function readBool(string memory json, string memory key) internal returns (bool) {\n return vm.parseJsonBool(json, key);\n }\n\n function readBoolArray(string memory json, string memory key) internal returns (bool[] memory) {\n return vm.parseJsonBoolArray(json, key);\n }\n\n function readBytes(string memory json, string memory key) internal returns (bytes memory) {\n return vm.parseJsonBytes(json, key);\n }\n\n function readBytesArray(string memory json, string memory key) internal returns (bytes[] memory) {\n return vm.parseJsonBytesArray(json, key);\n }\n\n function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bool[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function write(string memory jsonKey, string memory path) internal {\n vm.writeJson(jsonKey, path);\n }\n\n function write(string memory jsonKey, string memory path, string memory valueKey) internal {\n vm.writeJson(jsonKey, path, valueKey);\n }\n}\n"},"lib/forge-std/src/StdMath.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdMath {\n int256 private constant INT256_MIN = -57896044618658097711785492504343953926634992332820282019728792003956564819968;\n\n function abs(int256 a) internal pure returns (uint256) {\n // Required or it will fail when `a = type(int256).min`\n if (a == INT256_MIN) {\n return 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n }\n\n return uint256(a > 0 ? a : -a);\n }\n\n function delta(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a - b : b - a;\n }\n\n function delta(int256 a, int256 b) internal pure returns (uint256) {\n // a and b are of the same sign\n // this works thanks to two's complement, the left-most bit is the sign bit\n if ((a ^ b) > -1) {\n return delta(abs(a), abs(b));\n }\n\n // a and b are of opposite signs\n return abs(a) + abs(b);\n }\n\n function percentDelta(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n\n return absDelta * 1e18 / b;\n }\n\n function percentDelta(int256 a, int256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n uint256 absB = abs(b);\n\n return absDelta * 1e18 / absB;\n }\n}\n"},"lib/forge-std/src/StdStorage.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {Vm} from \"./Vm.sol\";\n\nstruct StdStorage {\n mapping(address => mapping(bytes4 => mapping(bytes32 => uint256))) slots;\n mapping(address => mapping(bytes4 => mapping(bytes32 => bool))) finds;\n bytes32[] _keys;\n bytes4 _sig;\n uint256 _depth;\n address _target;\n bytes32 _set;\n}\n\nlibrary stdStorageSafe {\n event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot);\n event WARNING_UninitedSlot(address who, uint256 slot);\n\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return bytes4(keccak256(bytes(sigStr)));\n }\n\n /// @notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against\n // slot complexity:\n // if flat, will be bytes32(uint256(uint));\n // if map, will be keccak256(abi.encode(key, uint(slot)));\n // if deep map, will be keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))));\n // if map struct, will be bytes32(uint256(keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))))) + structFieldDepth);\n function find(StdStorage storage self) internal returns (uint256) {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes32[] memory ins = self._keys;\n\n // calldata to test against\n if (self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]) {\n return self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))];\n }\n bytes memory cald = abi.encodePacked(fsig, flatten(ins));\n vm.record();\n bytes32 fdat;\n {\n (, bytes memory rdat) = who.staticcall(cald);\n fdat = bytesToBytes32(rdat, 32 * field_depth);\n }\n\n (bytes32[] memory reads,) = vm.accesses(address(who));\n if (reads.length == 1) {\n bytes32 curr = vm.load(who, reads[0]);\n if (curr == bytes32(0)) {\n emit WARNING_UninitedSlot(who, uint256(reads[0]));\n }\n if (fdat != curr) {\n require(\n false,\n \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"\n );\n }\n emit SlotFound(who, fsig, keccak256(abi.encodePacked(ins, field_depth)), uint256(reads[0]));\n self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = uint256(reads[0]);\n self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = true;\n } else if (reads.length > 1) {\n for (uint256 i = 0; i < reads.length; i++) {\n bytes32 prev = vm.load(who, reads[i]);\n if (prev == bytes32(0)) {\n emit WARNING_UninitedSlot(who, uint256(reads[i]));\n }\n // store\n vm.store(who, reads[i], bytes32(hex\"1337\"));\n bool success;\n bytes memory rdat;\n {\n (success, rdat) = who.staticcall(cald);\n fdat = bytesToBytes32(rdat, 32 * field_depth);\n }\n\n if (success && fdat == bytes32(hex\"1337\")) {\n // we found which of the slots is the actual one\n emit SlotFound(who, fsig, keccak256(abi.encodePacked(ins, field_depth)), uint256(reads[i]));\n self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = uint256(reads[i]);\n self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = true;\n vm.store(who, reads[i], prev);\n break;\n }\n vm.store(who, reads[i], prev);\n }\n } else {\n revert(\"stdStorage find(StdStorage): No storage use detected for target.\");\n }\n\n require(\n self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))],\n \"stdStorage find(StdStorage): Slot(s) not found.\"\n );\n\n delete self._target;\n delete self._sig;\n delete self._keys;\n delete self._depth;\n\n return self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))];\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n self._target = _target;\n return self;\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n self._sig = _sig;\n return self;\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n self._sig = sigs(_sig);\n return self;\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n self._keys.push(bytes32(uint256(uint160(who))));\n return self;\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n self._keys.push(bytes32(amt));\n return self;\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n self._keys.push(key);\n return self;\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n self._depth = _depth;\n return self;\n }\n\n function read(StdStorage storage self) private returns (bytes memory) {\n address t = self._target;\n uint256 s = find(self);\n return abi.encode(vm.load(t, bytes32(s)));\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return abi.decode(read(self), (bytes32));\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n int256 v = read_int(self);\n if (v == 0) return false;\n if (v == 1) return true;\n revert(\"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\");\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return abi.decode(read(self), (address));\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return abi.decode(read(self), (uint256));\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return abi.decode(read(self), (int256));\n }\n\n function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {\n bytes32 out;\n\n uint256 max = b.length > 32 ? 32 : b.length;\n for (uint256 i = 0; i < max; i++) {\n out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);\n }\n return out;\n }\n\n function flatten(bytes32[] memory b) private pure returns (bytes memory) {\n bytes memory result = new bytes(b.length * 32);\n for (uint256 i = 0; i < b.length; i++) {\n bytes32 k = b[i];\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(result, add(32, mul(32, i))), k)\n }\n }\n\n return result;\n }\n}\n\nlibrary stdStorage {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return stdStorageSafe.sigs(sigStr);\n }\n\n function find(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.find(self);\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n return stdStorageSafe.target(self, _target);\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, who);\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, amt);\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, key);\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n return stdStorageSafe.depth(self, _depth);\n }\n\n function checked_write(StdStorage storage self, address who) internal {\n checked_write(self, bytes32(uint256(uint160(who))));\n }\n\n function checked_write(StdStorage storage self, uint256 amt) internal {\n checked_write(self, bytes32(amt));\n }\n\n function checked_write(StdStorage storage self, bool write) internal {\n bytes32 t;\n /// @solidity memory-safe-assembly\n assembly {\n t := write\n }\n checked_write(self, t);\n }\n\n function checked_write(StdStorage storage self, bytes32 set) internal {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes32[] memory ins = self._keys;\n\n bytes memory cald = abi.encodePacked(fsig, flatten(ins));\n if (!self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]) {\n find(self);\n }\n bytes32 slot = bytes32(self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]);\n\n bytes32 fdat;\n {\n (, bytes memory rdat) = who.staticcall(cald);\n fdat = bytesToBytes32(rdat, 32 * field_depth);\n }\n bytes32 curr = vm.load(who, slot);\n\n if (fdat != curr) {\n require(\n false,\n \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"\n );\n }\n vm.store(who, slot, set);\n delete self._target;\n delete self._sig;\n delete self._keys;\n delete self._depth;\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return stdStorageSafe.read_bytes32(self);\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n return stdStorageSafe.read_bool(self);\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return stdStorageSafe.read_address(self);\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.read_uint(self);\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return stdStorageSafe.read_int(self);\n }\n\n // Private function so needs to be copied over\n function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {\n bytes32 out;\n\n uint256 max = b.length > 32 ? 32 : b.length;\n for (uint256 i = 0; i < max; i++) {\n out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);\n }\n return out;\n }\n\n // Private function so needs to be copied over\n function flatten(bytes32[] memory b) private pure returns (bytes memory) {\n bytes memory result = new bytes(b.length * 32);\n for (uint256 i = 0; i < b.length; i++) {\n bytes32 k = b[i];\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(result, add(32, mul(32, i))), k)\n }\n }\n\n return result;\n }\n}\n"},"lib/forge-std/src/StdStyle.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport {Vm} from \"./Vm.sol\";\n\nlibrary StdStyle {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n string constant RED = \"\\u001b[91m\";\n string constant GREEN = \"\\u001b[92m\";\n string constant YELLOW = \"\\u001b[93m\";\n string constant BLUE = \"\\u001b[94m\";\n string constant MAGENTA = \"\\u001b[95m\";\n string constant CYAN = \"\\u001b[96m\";\n string constant BOLD = \"\\u001b[1m\";\n string constant DIM = \"\\u001b[2m\";\n string constant ITALIC = \"\\u001b[3m\";\n string constant UNDERLINE = \"\\u001b[4m\";\n string constant INVERSE = \"\\u001b[7m\";\n string constant RESET = \"\\u001b[0m\";\n\n function styleConcat(string memory style, string memory self) private pure returns (string memory) {\n return string(abi.encodePacked(style, self, RESET));\n }\n\n function red(string memory self) internal pure returns (string memory) {\n return styleConcat(RED, self);\n }\n\n function red(uint256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(int256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(address self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(bool self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes(bytes memory self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes32(bytes32 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function green(string memory self) internal pure returns (string memory) {\n return styleConcat(GREEN, self);\n }\n\n function green(uint256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(int256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(address self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(bool self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes(bytes memory self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes32(bytes32 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function yellow(string memory self) internal pure returns (string memory) {\n return styleConcat(YELLOW, self);\n }\n\n function yellow(uint256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(int256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(address self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(bool self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes(bytes memory self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes32(bytes32 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function blue(string memory self) internal pure returns (string memory) {\n return styleConcat(BLUE, self);\n }\n\n function blue(uint256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(int256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(address self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(bool self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes(bytes memory self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes32(bytes32 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function magenta(string memory self) internal pure returns (string memory) {\n return styleConcat(MAGENTA, self);\n }\n\n function magenta(uint256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(int256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(address self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(bool self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes(bytes memory self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes32(bytes32 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function cyan(string memory self) internal pure returns (string memory) {\n return styleConcat(CYAN, self);\n }\n\n function cyan(uint256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(int256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(address self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(bool self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes(bytes memory self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes32(bytes32 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function bold(string memory self) internal pure returns (string memory) {\n return styleConcat(BOLD, self);\n }\n\n function bold(uint256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(int256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(address self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(bool self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes(bytes memory self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes32(bytes32 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function dim(string memory self) internal pure returns (string memory) {\n return styleConcat(DIM, self);\n }\n\n function dim(uint256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(int256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(address self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(bool self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes(bytes memory self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes32(bytes32 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function italic(string memory self) internal pure returns (string memory) {\n return styleConcat(ITALIC, self);\n }\n\n function italic(uint256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(int256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(address self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(bool self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes(bytes memory self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes32(bytes32 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function underline(string memory self) internal pure returns (string memory) {\n return styleConcat(UNDERLINE, self);\n }\n\n function underline(uint256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(int256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(address self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(bool self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes(bytes memory self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes32(bytes32 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function inverse(string memory self) internal pure returns (string memory) {\n return styleConcat(INVERSE, self);\n }\n\n function inverse(uint256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(int256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(address self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(bool self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes(bytes memory self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes32(bytes32 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n}\n"},"lib/forge-std/src/StdUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\n// TODO Remove import.\nimport {VmSafe} from \"./Vm.sol\";\n\nabstract contract StdUtils {\n /*//////////////////////////////////////////////////////////////////////////\n CONSTANTS\n //////////////////////////////////////////////////////////////////////////*/\n\n IMulticall3 private constant multicall = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;\n uint256 private constant INT256_MIN_ABS =\n 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n uint256 private constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n // Used by default when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.\n address private constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n /*//////////////////////////////////////////////////////////////////////////\n INTERNAL FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function _bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {\n require(min <= max, \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\");\n // If x is between min and max, return x directly. This is to ensure that dictionary values\n // do not get shifted if the min is nonzero. More info: https://github.com/foundry-rs/forge-std/issues/188\n if (x >= min && x <= max) return x;\n\n uint256 size = max - min + 1;\n\n // If the value is 0, 1, 2, 3, warp that to min, min+1, min+2, min+3. Similarly for the UINT256_MAX side.\n // This helps ensure coverage of the min/max values.\n if (x <= 3 && size > x) return min + x;\n if (x >= UINT256_MAX - 3 && size > UINT256_MAX - x) return max - (UINT256_MAX - x);\n\n // Otherwise, wrap x into the range [min, max], i.e. the range is inclusive.\n if (x > max) {\n uint256 diff = x - max;\n uint256 rem = diff % size;\n if (rem == 0) return max;\n result = min + rem - 1;\n } else if (x < min) {\n uint256 diff = min - x;\n uint256 rem = diff % size;\n if (rem == 0) return min;\n result = max - rem + 1;\n }\n }\n\n function bound(uint256 x, uint256 min, uint256 max) internal view virtual returns (uint256 result) {\n result = _bound(x, min, max);\n console2_log(\"Bound Result\", result);\n }\n\n function bound(int256 x, int256 min, int256 max) internal view virtual returns (int256 result) {\n require(min <= max, \"StdUtils bound(int256,int256,int256): Max is less than min.\");\n\n // Shifting all int256 values to uint256 to use _bound function. The range of two types are:\n // int256 : -(2**255) ~ (2**255 - 1)\n // uint256: 0 ~ (2**256 - 1)\n // So, add 2**255, INT256_MIN_ABS to the integer values.\n //\n // If the given integer value is -2**255, we cannot use `-uint256(-x)` because of the overflow.\n // So, use `~uint256(x) + 1` instead.\n uint256 _x = x < 0 ? (INT256_MIN_ABS - ~uint256(x) - 1) : (uint256(x) + INT256_MIN_ABS);\n uint256 _min = min < 0 ? (INT256_MIN_ABS - ~uint256(min) - 1) : (uint256(min) + INT256_MIN_ABS);\n uint256 _max = max < 0 ? (INT256_MIN_ABS - ~uint256(max) - 1) : (uint256(max) + INT256_MIN_ABS);\n\n uint256 y = _bound(_x, _min, _max);\n\n // To move it back to int256 value, subtract INT256_MIN_ABS at here.\n result = y < INT256_MIN_ABS ? int256(~(INT256_MIN_ABS - y) + 1) : int256(y - INT256_MIN_ABS);\n console2_log(\"Bound result\", vm.toString(result));\n }\n\n function bytesToUint(bytes memory b) internal pure virtual returns (uint256) {\n require(b.length <= 32, \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n /// @dev Compute the address a contract will be deployed at for a given deployer address and nonce\n /// @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)\n function computeCreateAddress(address deployer, uint256 nonce) internal pure virtual returns (address) {\n // forgefmt: disable-start\n // The integer zero is treated as an empty byte string, and as a result it only has a length prefix, 0x80, computed via 0x80 + 0.\n // A one byte integer uses its own value as its length prefix, there is no additional \"0x80 + length\" prefix that comes before it.\n if (nonce == 0x00) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd6), bytes1(0x94), deployer, bytes1(0x80))));\n if (nonce <= 0x7f) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd6), bytes1(0x94), deployer, uint8(nonce))));\n\n // Nonces greater than 1 byte all follow a consistent encoding scheme, where each value is preceded by a prefix of 0x80 + length.\n if (nonce <= 2**8 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd7), bytes1(0x94), deployer, bytes1(0x81), uint8(nonce))));\n if (nonce <= 2**16 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd8), bytes1(0x94), deployer, bytes1(0x82), uint16(nonce))));\n if (nonce <= 2**24 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd9), bytes1(0x94), deployer, bytes1(0x83), uint24(nonce))));\n // forgefmt: disable-end\n\n // More details about RLP encoding can be found here: https://eth.wiki/fundamentals/rlp\n // 0xda = 0xc0 (short RLP prefix) + 0x16 (length of: 0x94 ++ proxy ++ 0x84 ++ nonce)\n // 0x94 = 0x80 + 0x14 (0x14 = the length of an address, 20 bytes, in hex)\n // 0x84 = 0x80 + 0x04 (0x04 = the bytes length of the nonce, 4 bytes, in hex)\n // We assume nobody can have a nonce large enough to require more than 32 bytes.\n return addressFromLast20Bytes(\n keccak256(abi.encodePacked(bytes1(0xda), bytes1(0x94), deployer, bytes1(0x84), uint32(nonce)))\n );\n }\n\n function computeCreate2Address(bytes32 salt, bytes32 initcodeHash, address deployer)\n internal\n pure\n virtual\n returns (address)\n {\n return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xff), deployer, salt, initcodeHash)));\n }\n\n /// @dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) internal pure returns (address) {\n return computeCreate2Address(salt, initCodeHash, CREATE2_FACTORY);\n }\n\n /// @dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n function hashInitCode(bytes memory creationCode) internal pure returns (bytes32) {\n return hashInitCode(creationCode, \"\");\n }\n\n /// @dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n /// @param args the ABI-encoded arguments to the constructor of C\n function hashInitCode(bytes memory creationCode, bytes memory args) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(creationCode, args));\n }\n\n // Performs a single call with Multicall3 to query the ERC-20 token balances of the given addresses.\n function getTokenBalances(address token, address[] memory addresses)\n internal\n virtual\n returns (uint256[] memory balances)\n {\n uint256 tokenCodeSize;\n assembly {\n tokenCodeSize := extcodesize(token)\n }\n require(tokenCodeSize > 0, \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\");\n\n // ABI encode the aggregate call to Multicall3.\n uint256 length = addresses.length;\n IMulticall3.Call[] memory calls = new IMulticall3.Call[](length);\n for (uint256 i = 0; i < length; ++i) {\n // 0x70a08231 = bytes4(\"balanceOf(address)\"))\n calls[i] = IMulticall3.Call({target: token, callData: abi.encodeWithSelector(0x70a08231, (addresses[i]))});\n }\n\n // Make the aggregate call.\n (, bytes[] memory returnData) = multicall.aggregate(calls);\n\n // ABI decode the return data and return the balances.\n balances = new uint256[](length);\n for (uint256 i = 0; i < length; ++i) {\n balances[i] = abi.decode(returnData[i], (uint256));\n }\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function addressFromLast20Bytes(bytes32 bytesValue) private pure returns (address) {\n return address(uint160(uint256(bytesValue)));\n }\n\n // Used to prevent the compilation of console, which shortens the compilation time when console is not used elsewhere.\n\n function console2_log(string memory p0, uint256 p1) private view {\n (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n status;\n }\n\n function console2_log(string memory p0, string memory p1) private view {\n (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n status;\n }\n}\n"},"lib/forge-std/src/Test.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\n// 💬 ABOUT\n// Standard Library's default Test\n\n// 🧩 MODULES\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {StdAssertions} from \"./StdAssertions.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheats} from \"./StdCheats.sol\";\nimport {stdError} from \"./StdError.sol\";\nimport {StdInvariant} from \"./StdInvariant.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {Vm} from \"./Vm.sol\";\nimport {StdStyle} from \"./StdStyle.sol\";\n\n// 📦 BOILERPLATE\nimport {TestBase} from \"./Base.sol\";\nimport {DSTest} from \"ds-test/test.sol\";\n\n// ⭐️ TEST\nabstract contract Test is DSTest, StdAssertions, StdChains, StdCheats, StdInvariant, StdUtils, TestBase {\n// Note: IS_TEST() must return true.\n// Note: Must have failure system, https://github.com/dapphub/ds-test/blob/cd98eff28324bfac652e63a239a60632a761790b/src/test.sol#L39-L76.\n}\n"},"lib/forge-std/src/Vm.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\n// Cheatcodes are marked as view/pure/none using the following rules:\n// 0. A call's observable behaviour includes its return value, logs, reverts and state writes,\n// 1. If you can influence a later call's observable behaviour, you're neither `view` nor `pure (you are modifying some state be it the EVM, interpreter, filesystem, etc),\n// 2. Otherwise if you can be influenced by an earlier call, or if reading some state, you're `view`,\n// 3. Otherwise you're `pure`.\n\ninterface VmSafe {\n struct Log {\n bytes32[] topics;\n bytes data;\n address emitter;\n }\n\n struct Rpc {\n string key;\n string url;\n }\n\n struct FsMetadata {\n bool isDir;\n bool isSymlink;\n uint256 length;\n bool readOnly;\n uint256 modified;\n uint256 accessed;\n uint256 created;\n }\n\n // Loads a storage slot from an address\n function load(address target, bytes32 slot) external view returns (bytes32 data);\n // Signs data\n function sign(uint256 privateKey, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n // Gets the address for a given private key\n function addr(uint256 privateKey) external pure returns (address keyAddr);\n // Gets the nonce of an account\n function getNonce(address account) external view returns (uint64 nonce);\n // Performs a foreign function call via the terminal\n function ffi(string[] calldata commandInput) external returns (bytes memory result);\n // Sets environment variables\n function setEnv(string calldata name, string calldata value) external;\n // Reads environment variables, (name) => (value)\n function envBool(string calldata name) external view returns (bool value);\n function envUint(string calldata name) external view returns (uint256 value);\n function envInt(string calldata name) external view returns (int256 value);\n function envAddress(string calldata name) external view returns (address value);\n function envBytes32(string calldata name) external view returns (bytes32 value);\n function envString(string calldata name) external view returns (string memory value);\n function envBytes(string calldata name) external view returns (bytes memory value);\n // Reads environment variables as arrays\n function envBool(string calldata name, string calldata delim) external view returns (bool[] memory value);\n function envUint(string calldata name, string calldata delim) external view returns (uint256[] memory value);\n function envInt(string calldata name, string calldata delim) external view returns (int256[] memory value);\n function envAddress(string calldata name, string calldata delim) external view returns (address[] memory value);\n function envBytes32(string calldata name, string calldata delim) external view returns (bytes32[] memory value);\n function envString(string calldata name, string calldata delim) external view returns (string[] memory value);\n function envBytes(string calldata name, string calldata delim) external view returns (bytes[] memory value);\n // Read environment variables with default value\n function envOr(string calldata name, bool defaultValue) external returns (bool value);\n function envOr(string calldata name, uint256 defaultValue) external returns (uint256 value);\n function envOr(string calldata name, int256 defaultValue) external returns (int256 value);\n function envOr(string calldata name, address defaultValue) external returns (address value);\n function envOr(string calldata name, bytes32 defaultValue) external returns (bytes32 value);\n function envOr(string calldata name, string calldata defaultValue) external returns (string memory value);\n function envOr(string calldata name, bytes calldata defaultValue) external returns (bytes memory value);\n // Read environment variables as arrays with default value\n function envOr(string calldata name, string calldata delim, bool[] calldata defaultValue)\n external\n returns (bool[] memory value);\n function envOr(string calldata name, string calldata delim, uint256[] calldata defaultValue)\n external\n returns (uint256[] memory value);\n function envOr(string calldata name, string calldata delim, int256[] calldata defaultValue)\n external\n returns (int256[] memory value);\n function envOr(string calldata name, string calldata delim, address[] calldata defaultValue)\n external\n returns (address[] memory value);\n function envOr(string calldata name, string calldata delim, bytes32[] calldata defaultValue)\n external\n returns (bytes32[] memory value);\n function envOr(string calldata name, string calldata delim, string[] calldata defaultValue)\n external\n returns (string[] memory value);\n function envOr(string calldata name, string calldata delim, bytes[] calldata defaultValue)\n external\n returns (bytes[] memory value);\n // Records all storage reads and writes\n function record() external;\n // Gets all accessed reads and write slot from a recording session, for a given address\n function accesses(address target) external returns (bytes32[] memory readSlots, bytes32[] memory writeSlots);\n // Gets the _creation_ bytecode from an artifact file. Takes in the relative path to the json file\n function getCode(string calldata artifactPath) external view returns (bytes memory creationBytecode);\n // Gets the _deployed_ bytecode from an artifact file. Takes in the relative path to the json file\n function getDeployedCode(string calldata artifactPath) external view returns (bytes memory runtimeBytecode);\n // Labels an address in call traces\n function label(address account, string calldata newLabel) external;\n // Using the address that calls the test contract, has the next call (at this call depth only) create a transaction that can later be signed and sent onchain\n function broadcast() external;\n // Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain\n function broadcast(address signer) external;\n // Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain\n function broadcast(uint256 privateKey) external;\n // Using the address that calls the test contract, has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain\n function startBroadcast() external;\n // Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain\n function startBroadcast(address signer) external;\n // Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain\n function startBroadcast(uint256 privateKey) external;\n // Stops collecting onchain transactions\n function stopBroadcast() external;\n // Reads the entire content of file to string\n function readFile(string calldata path) external view returns (string memory data);\n // Reads the entire content of file as binary. Path is relative to the project root.\n function readFileBinary(string calldata path) external view returns (bytes memory data);\n // Get the path of the current project root\n function projectRoot() external view returns (string memory path);\n // Get the metadata for a file/directory\n function fsMetadata(string calldata fileOrDir) external returns (FsMetadata memory metadata);\n // Reads next line of file to string\n function readLine(string calldata path) external view returns (string memory line);\n // Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.\n function writeFile(string calldata path, string calldata data) external;\n // Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.\n // Path is relative to the project root.\n function writeFileBinary(string calldata path, bytes calldata data) external;\n // Writes line to file, creating a file if it does not exist.\n function writeLine(string calldata path, string calldata data) external;\n // Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n function closeFile(string calldata path) external;\n // Removes file. This cheatcode will revert in the following situations, but is not limited to just these cases:\n // - Path points to a directory.\n // - The file doesn't exist.\n // - The user lacks permissions to remove the file.\n function removeFile(string calldata path) external;\n // Convert values to a string\n function toString(address value) external pure returns (string memory stringifiedValue);\n function toString(bytes calldata value) external pure returns (string memory stringifiedValue);\n function toString(bytes32 value) external pure returns (string memory stringifiedValue);\n function toString(bool value) external pure returns (string memory stringifiedValue);\n function toString(uint256 value) external pure returns (string memory stringifiedValue);\n function toString(int256 value) external pure returns (string memory stringifiedValue);\n // Convert values from a string\n function parseBytes(string calldata stringifiedValue) external pure returns (bytes memory parsedValue);\n function parseAddress(string calldata stringifiedValue) external pure returns (address parsedValue);\n function parseUint(string calldata stringifiedValue) external pure returns (uint256 parsedValue);\n function parseInt(string calldata stringifiedValue) external pure returns (int256 parsedValue);\n function parseBytes32(string calldata stringifiedValue) external pure returns (bytes32 parsedValue);\n function parseBool(string calldata stringifiedValue) external pure returns (bool parsedValue);\n // Record all the transaction logs\n function recordLogs() external;\n // Gets all the recorded logs\n function getRecordedLogs() external returns (Log[] memory logs);\n // Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path m/44'/60'/0'/0/{index}\n function deriveKey(string calldata mnemonic, uint32 index) external pure returns (uint256 privateKey);\n // Derive a private key from a provided mnenomic string (or mnenomic file path) at {derivationPath}{index}\n function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index)\n external\n pure\n returns (uint256 privateKey);\n // Adds a private key to the local forge wallet and returns the address\n function rememberKey(uint256 privateKey) external returns (address keyAddr);\n //\n // parseJson\n //\n // ----\n // In case the returned value is a JSON object, it's encoded as a ABI-encoded tuple. As JSON objects\n // don't have the notion of ordered, but tuples do, they JSON object is encoded with it's fields ordered in\n // ALPHABETICAL order. That means that in order to successfully decode the tuple, we need to define a tuple that\n // encodes the fields in the same order, which is alphabetical. In the case of Solidity structs, they are encoded\n // as tuples, with the attributes in the order in which they are defined.\n // For example: json = { 'a': 1, 'b': 0xa4tb......3xs}\n // a: uint256\n // b: address\n // To decode that json, we need to define a struct or a tuple as follows:\n // struct json = { uint256 a; address b; }\n // If we defined a json struct with the opposite order, meaning placing the address b first, it would try to\n // decode the tuple in that order, and thus fail.\n // ----\n // Given a string of JSON, return it as ABI-encoded\n function parseJson(string calldata json, string calldata key) external pure returns (bytes memory abiEncodedData);\n function parseJson(string calldata json) external pure returns (bytes memory abiEncodedData);\n\n // The following parseJson cheatcodes will do type coercion, for the type that they indicate.\n // For example, parseJsonUint will coerce all values to a uint256. That includes stringified numbers '12'\n // and hex numbers '0xEF'.\n // Type coercion works ONLY for discrete values or arrays. That means that the key must return a value or array, not\n // a JSON object.\n function parseJsonUint(string calldata, string calldata) external returns (uint256);\n function parseJsonUintArray(string calldata, string calldata) external returns (uint256[] memory);\n function parseJsonInt(string calldata, string calldata) external returns (int256);\n function parseJsonIntArray(string calldata, string calldata) external returns (int256[] memory);\n function parseJsonBool(string calldata, string calldata) external returns (bool);\n function parseJsonBoolArray(string calldata, string calldata) external returns (bool[] memory);\n function parseJsonAddress(string calldata, string calldata) external returns (address);\n function parseJsonAddressArray(string calldata, string calldata) external returns (address[] memory);\n function parseJsonString(string calldata, string calldata) external returns (string memory);\n function parseJsonStringArray(string calldata, string calldata) external returns (string[] memory);\n function parseJsonBytes(string calldata, string calldata) external returns (bytes memory);\n function parseJsonBytesArray(string calldata, string calldata) external returns (bytes[] memory);\n function parseJsonBytes32(string calldata, string calldata) external returns (bytes32);\n function parseJsonBytes32Array(string calldata, string calldata) external returns (bytes32[] memory);\n\n // Serialize a key and value to a JSON object stored in-memory that can be later written to a file\n // It returns the stringified version of the specific JSON file up to that moment.\n function serializeBool(string calldata objectKey, string calldata valueKey, bool value)\n external\n returns (string memory json);\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256 value)\n external\n returns (string memory json);\n function serializeInt(string calldata objectKey, string calldata valueKey, int256 value)\n external\n returns (string memory json);\n function serializeAddress(string calldata objectKey, string calldata valueKey, address value)\n external\n returns (string memory json);\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32 value)\n external\n returns (string memory json);\n function serializeString(string calldata objectKey, string calldata valueKey, string calldata value)\n external\n returns (string memory json);\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes calldata value)\n external\n returns (string memory json);\n\n function serializeBool(string calldata objectKey, string calldata valueKey, bool[] calldata values)\n external\n returns (string memory json);\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256[] calldata values)\n external\n returns (string memory json);\n function serializeInt(string calldata objectKey, string calldata valueKey, int256[] calldata values)\n external\n returns (string memory json);\n function serializeAddress(string calldata objectKey, string calldata valueKey, address[] calldata values)\n external\n returns (string memory json);\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32[] calldata values)\n external\n returns (string memory json);\n function serializeString(string calldata objectKey, string calldata valueKey, string[] calldata values)\n external\n returns (string memory json);\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes[] calldata values)\n external\n returns (string memory json);\n\n //\n // writeJson\n //\n // ----\n // Write a serialized JSON object to a file. If the file exists, it will be overwritten.\n // Let's assume we want to write the following JSON to a file:\n //\n // { \"boolean\": true, \"number\": 342, \"object\": { \"title\": \"finally json serialization\" } }\n //\n // ```\n // string memory json1 = \"some key\";\n // vm.serializeBool(json1, \"boolean\", true);\n // vm.serializeBool(json1, \"number\", uint256(342));\n // json2 = \"some other key\";\n // string memory output = vm.serializeString(json2, \"title\", \"finally json serialization\");\n // string memory finalJson = vm.serialize(json1, \"object\", output);\n // vm.writeJson(finalJson, \"./output/example.json\");\n // ```\n // The critical insight is that every invocation of serialization will return the stringified version of the JSON\n // up to that point. That means we can construct arbitrary JSON objects and then use the return stringified version\n // to serialize them as values to another JSON object.\n //\n // json1 and json2 are simply keys used by the backend to keep track of the objects. So vm.serializeJson(json1,..)\n // will find the object in-memory that is keyed by \"some key\".\n function writeJson(string calldata json, string calldata path) external;\n // Write a serialized JSON object to an **existing** JSON file, replacing a value with key = \n // This is useful to replace a specific value of a JSON file, without having to parse the entire thing\n function writeJson(string calldata json, string calldata path, string calldata valueKey) external;\n // Returns the RPC url for the given alias\n function rpcUrl(string calldata rpcAlias) external view returns (string memory json);\n // Returns all rpc urls and their aliases `[alias, url][]`\n function rpcUrls() external view returns (string[2][] memory urls);\n // Returns all rpc urls and their aliases as structs.\n function rpcUrlStructs() external view returns (Rpc[] memory urls);\n // If the condition is false, discard this run's fuzz inputs and generate new ones.\n function assume(bool condition) external pure;\n // Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\n function pauseGasMetering() external;\n // Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\n function resumeGasMetering() external;\n}\n\ninterface Vm is VmSafe {\n // Sets block.timestamp\n function warp(uint256 newTimestamp) external;\n // Sets block.height\n function roll(uint256 newHeight) external;\n // Sets block.basefee\n function fee(uint256 newBasefee) external;\n // Sets block.difficulty\n function difficulty(uint256 newDifficulty) external;\n // Sets block.chainid\n function chainId(uint256 newChainId) external;\n // Stores a value to an address' storage slot.\n function store(address target, bytes32 slot, bytes32 value) external;\n // Sets the nonce of an account; must be higher than the current nonce of the account\n function setNonce(address account, uint64 newNonce) external;\n // Sets the *next* call's msg.sender to be the input address\n function prank(address msgSender) external;\n // Sets all subsequent calls' msg.sender to be the input address until `stopPrank` is called\n function startPrank(address msgSender) external;\n // Sets the *next* call's msg.sender to be the input address, and the tx.origin to be the second input\n function prank(address msgSender, address txOrigin) external;\n // Sets all subsequent calls' msg.sender to be the input address until `stopPrank` is called, and the tx.origin to be the second input\n function startPrank(address msgSender, address txOrigin) external;\n // Resets subsequent calls' msg.sender to be `address(this)`\n function stopPrank() external;\n // Sets an address' balance\n function deal(address account, uint256 newBalance) external;\n // Sets an address' code\n function etch(address target, bytes calldata newRuntimeBytecode) external;\n // Expects an error on next call\n function expectRevert(bytes calldata revertData) external;\n function expectRevert(bytes4 revertData) external;\n function expectRevert() external;\n // Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData).\n // Call this function, then emit an event, then call a function. Internally after the call, we check if\n // logs were emitted in the expected order with the expected topics and data (as specified by the booleans)\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) external;\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter)\n external;\n // Mocks a call to an address, returning specified data.\n // Calldata can either be strict or a partial match, e.g. if you only\n // pass a Solidity selector to the expected calldata, then the entire Solidity\n // function will be mocked.\n function mockCall(address callee, bytes calldata data, bytes calldata returnData) external;\n // Mocks a call to an address with a specific msg.value, returning specified data.\n // Calldata match takes precedence over msg.value in case of ambiguity.\n function mockCall(address callee, uint256 msgValue, bytes calldata data, bytes calldata returnData) external;\n // Clears all mocked calls\n function clearMockedCalls() external;\n // Expects a call to an address with the specified calldata.\n // Calldata can either be a strict or a partial match\n function expectCall(address callee, bytes calldata data) external;\n // Expects a call to an address with the specified msg.value and calldata\n function expectCall(address callee, uint256 msgValue, bytes calldata data) external;\n // Expect a call to an address with the specified msg.value, gas, and calldata.\n function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data) external;\n // Expect a call to an address with the specified msg.value and calldata, and a *minimum* amount of gas.\n function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data) external;\n // Sets block.coinbase\n function coinbase(address newCoinbase) external;\n // Snapshot the current state of the evm.\n // Returns the id of the snapshot that was created.\n // To revert a snapshot use `revertTo`\n function snapshot() external returns (uint256 snapshotId);\n // Revert the state of the EVM to a previous snapshot\n // Takes the snapshot id to revert to.\n // This deletes the snapshot and all snapshots taken after the given snapshot id.\n function revertTo(uint256 snapshotId) external returns (bool success);\n // Creates a new fork with the given endpoint and block and returns the identifier of the fork\n function createFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n // Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork\n function createFork(string calldata urlOrAlias) external returns (uint256 forkId);\n // Creates a new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction,\n // and returns the identifier of the fork\n function createFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n // Creates _and_ also selects a new fork with the given endpoint and block and returns the identifier of the fork\n function createSelectFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n // Creates _and_ also selects new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before\n // the transaction, returns the identifier of the fork\n function createSelectFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n // Creates _and_ also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork\n function createSelectFork(string calldata urlOrAlias) external returns (uint256 forkId);\n // Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\n function selectFork(uint256 forkId) external;\n /// Returns the identifier of the currently active fork. Reverts if no fork is currently active.\n function activeFork() external view returns (uint256 forkId);\n // Updates the currently active fork to given block number\n // This is similar to `roll` but for the currently active fork\n function rollFork(uint256 blockNumber) external;\n // Updates the currently active fork to given transaction\n // this will `rollFork` with the number of the block the transaction was mined in and replays all transaction mined before it in the block\n function rollFork(bytes32 txHash) external;\n // Updates the given fork to given block number\n function rollFork(uint256 forkId, uint256 blockNumber) external;\n // Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block\n function rollFork(uint256 forkId, bytes32 txHash) external;\n // Marks that the account(s) should use persistent storage across fork swaps in a multifork setup\n // Meaning, changes made to the state of this account will be kept when switching forks\n function makePersistent(address account) external;\n function makePersistent(address account0, address account1) external;\n function makePersistent(address account0, address account1, address account2) external;\n function makePersistent(address[] calldata accounts) external;\n // Revokes persistent status from the address, previously added via `makePersistent`\n function revokePersistent(address account) external;\n function revokePersistent(address[] calldata accounts) external;\n // Returns true if the account is marked as persistent\n function isPersistent(address account) external view returns (bool persistent);\n // In forking mode, explicitly grant the given address cheatcode access\n function allowCheatcodes(address account) external;\n // Fetches the given transaction from the active fork and executes it on the current state\n function transact(bytes32 txHash) external;\n // Fetches the given transaction from the given fork and executes it on the current state\n function transact(uint256 forkId, bytes32 txHash) external;\n}\n"},"lib/forge-std/src/console.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);\n\n function _sendLogPayload(bytes memory payload) private view {\n uint256 payloadLength = payload.length;\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n let payloadStart := add(payload, 32)\n let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n }\n }\n\n function log() internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n\n function logInt(int p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(int)\", p0));\n }\n\n function logUint(uint p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n }\n\n function logString(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n }\n\n function log(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint)\", p0, p1));\n }\n\n function log(uint p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string)\", p0, p1));\n }\n\n function log(uint p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool)\", p0, p1));\n }\n\n function log(uint p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address)\", p0, p1));\n }\n\n function log(string memory p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal view {\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 view {\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 view {\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, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}"},"lib/forge-std/src/console2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\n/// @dev The original console.sol uses `int` and `uint` for computing function selectors, but it should\n/// use `int256` and `uint256`. This modified version fixes that. This version is recommended\n/// over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in\n/// forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`.\n/// Reference: https://github.com/NomicFoundation/hardhat/issues/2178\nlibrary console2 {\n address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);\n\n function _sendLogPayload(bytes memory payload) private view {\n uint256 payloadLength = payload.length;\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n let payloadStart := add(payload, 32)\n let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n }\n }\n\n function log() internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n\n function logInt(int256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(int256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function log(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, int256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,int256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal view {\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 view {\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 view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\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 view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes[] memory returnData);\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n\n function blockAndAggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBasefee() external view returns (uint256 basefee);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getChainId() external view returns (uint256 chainid);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (Result[] memory returnData);\n\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n"},"src/Multicall.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title Multicall - Aggregate results from multiple read-only function calls\n/// @author Michael Elliot \n/// @author Joshua Levine \n/// @author Nick Johnson \n\ncontract Multicall {\n struct Call {\n address target;\n bytes callData;\n }\n\n function aggregate(Call[] calldata calls) public returns (uint256 blockNumber, bytes[] memory returnData) {\n blockNumber = block.number;\n returnData = new bytes[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);\n require(success);\n returnData[i] = ret;\n }\n }\n\n // Helper functions\n function getEthBalance(address addr) public view returns (uint256 balance) {\n balance = addr.balance;\n }\n\n function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {\n blockHash = blockhash(blockNumber);\n }\n\n function getLastBlockHash() public view returns (bytes32 blockHash) {\n blockHash = blockhash(block.number - 1);\n }\n\n function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {\n timestamp = block.timestamp;\n }\n\n function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {\n difficulty = block.difficulty;\n }\n\n function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {\n gaslimit = block.gaslimit;\n }\n\n function getCurrentBlockCoinbase() public view returns (address coinbase) {\n coinbase = block.coinbase;\n }\n}\n"},"src/Multicall2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title Multicall2 - Aggregate results from multiple read-only function calls\n/// @author Michael Elliot \n/// @author Joshua Levine \n/// @author Nick Johnson \ncontract Multicall2 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls) public returns (uint256 blockNumber, bytes[] memory returnData) {\n blockNumber = block.number;\n returnData = new bytes[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);\n require(success, \"Multicall aggregate: call failed\");\n returnData[i] = ret;\n }\n }\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls) public returns (Result[] memory returnData) {\n returnData = new Result[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);\n\n if (requireSuccess) {\n require(success, \"Multicall2 aggregate: call failed\");\n }\n\n returnData[i] = Result(success, ret);\n }\n }\n\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n blockNumber = block.number;\n blockHash = blockhash(block.number);\n returnData = tryAggregate(requireSuccess, calls);\n }\n\n function blockAndAggregate(Call[] calldata calls) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls);\n }\n\n function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {\n blockHash = blockhash(blockNumber);\n }\n\n function getBlockNumber() public view returns (uint256 blockNumber) {\n blockNumber = block.number;\n }\n\n function getCurrentBlockCoinbase() public view returns (address coinbase) {\n coinbase = block.coinbase;\n }\n\n function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {\n difficulty = block.difficulty;\n }\n\n function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {\n gaslimit = block.gaslimit;\n }\n\n function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {\n timestamp = block.timestamp;\n }\n\n function getEthBalance(address addr) public view returns (uint256 balance) {\n balance = addr.balance;\n }\n\n function getLastBlockHash() public view returns (bytes32 blockHash) {\n blockHash = blockhash(block.number - 1);\n }\n}\n"},"src/Multicall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title Multicall3\n/// @notice Aggregate results from multiple function calls\n/// @dev Multicall & Multicall2 backwards-compatible\n/// @dev Aggregate methods are marked `payable` to save 24 gas per call\n/// @author Michael Elliot \n/// @author Joshua Levine \n/// @author Nick Johnson \n/// @author Andreas Bigger \n/// @author Matt Solomon \ncontract Multicall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n /// @notice Backwards-compatible call aggregation with Multicall\n /// @param calls An array of Call structs\n /// @return blockNumber The block number where the calls were executed\n /// @return returnData An array of bytes containing the responses\n function aggregate(Call[] calldata calls) public payable returns (uint256 blockNumber, bytes[] memory returnData) {\n blockNumber = block.number;\n uint256 length = calls.length;\n returnData = new bytes[](length);\n Call calldata call;\n for (uint256 i = 0; i < length;) {\n bool success;\n call = calls[i];\n (success, returnData[i]) = call.target.call(call.callData);\n require(success, \"Multicall3: call failed\");\n unchecked { ++i; }\n }\n }\n\n /// @notice Backwards-compatible with Multicall2\n /// @notice Aggregate calls without requiring success\n /// @param requireSuccess If true, require all calls to succeed\n /// @param calls An array of Call structs\n /// @return returnData An array of Result structs\n function tryAggregate(bool requireSuccess, Call[] calldata calls) public payable returns (Result[] memory returnData) {\n uint256 length = calls.length;\n returnData = new Result[](length);\n Call calldata call;\n for (uint256 i = 0; i < length;) {\n Result memory result = returnData[i];\n call = calls[i];\n (result.success, result.returnData) = call.target.call(call.callData);\n if (requireSuccess) require(result.success, \"Multicall3: call failed\");\n unchecked { ++i; }\n }\n }\n\n /// @notice Backwards-compatible with Multicall2\n /// @notice Aggregate calls and allow failures using tryAggregate\n /// @param calls An array of Call structs\n /// @return blockNumber The block number where the calls were executed\n /// @return blockHash The hash of the block where the calls were executed\n /// @return returnData An array of Result structs\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls) public payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n blockNumber = block.number;\n blockHash = blockhash(block.number);\n returnData = tryAggregate(requireSuccess, calls);\n }\n\n /// @notice Backwards-compatible with Multicall2\n /// @notice Aggregate calls and allow failures using tryAggregate\n /// @param calls An array of Call structs\n /// @return blockNumber The block number where the calls were executed\n /// @return blockHash The hash of the block where the calls were executed\n /// @return returnData An array of Result structs\n function blockAndAggregate(Call[] calldata calls) public payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls);\n }\n\n /// @notice Aggregate calls, ensuring each returns success if required\n /// @param calls An array of Call3 structs\n /// @return returnData An array of Result structs\n function aggregate3(Call3[] calldata calls) public payable returns (Result[] memory returnData) {\n uint256 length = calls.length;\n returnData = new Result[](length);\n Call3 calldata calli;\n for (uint256 i = 0; i < length;) {\n Result memory result = returnData[i];\n calli = calls[i];\n (result.success, result.returnData) = calli.target.call(calli.callData);\n assembly {\n // Revert if the call fails and failure is not allowed\n // `allowFailure := calldataload(add(calli, 0x20))` and `success := mload(result)`\n if iszero(or(calldataload(add(calli, 0x20)), mload(result))) {\n // set \"Error(string)\" signature: bytes32(bytes4(keccak256(\"Error(string)\")))\n mstore(0x00, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n // set data offset\n mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020)\n // set length of revert string\n mstore(0x24, 0x0000000000000000000000000000000000000000000000000000000000000017)\n // set revert string: bytes32(abi.encodePacked(\"Multicall3: call failed\"))\n mstore(0x44, 0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000)\n revert(0x00, 0x64)\n }\n }\n unchecked { ++i; }\n }\n }\n\n /// @notice Aggregate calls with a msg value\n /// @notice Reverts if msg.value is less than the sum of the call values\n /// @param calls An array of Call3Value structs\n /// @return returnData An array of Result structs\n function aggregate3Value(Call3Value[] calldata calls) public payable returns (Result[] memory returnData) {\n uint256 valAccumulator;\n uint256 length = calls.length;\n returnData = new Result[](length);\n Call3Value calldata calli;\n for (uint256 i = 0; i < length;) {\n Result memory result = returnData[i];\n calli = calls[i];\n uint256 val = calli.value;\n // Humanity will be a Type V Kardashev Civilization before this overflows - andreas\n // ~ 10^25 Wei in existence << ~ 10^76 size uint fits in a uint256\n unchecked { valAccumulator += val; }\n (result.success, result.returnData) = calli.target.call{value: val}(calli.callData);\n assembly {\n // Revert if the call fails and failure is not allowed\n // `allowFailure := calldataload(add(calli, 0x20))` and `success := mload(result)`\n if iszero(or(calldataload(add(calli, 0x20)), mload(result))) {\n // set \"Error(string)\" signature: bytes32(bytes4(keccak256(\"Error(string)\")))\n mstore(0x00, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n // set data offset\n mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020)\n // set length of revert string\n mstore(0x24, 0x0000000000000000000000000000000000000000000000000000000000000017)\n // set revert string: bytes32(abi.encodePacked(\"Multicall3: call failed\"))\n mstore(0x44, 0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000)\n revert(0x00, 0x84)\n }\n }\n unchecked { ++i; }\n }\n // Finally, make sure the msg.value = SUM(call[0...i].value)\n require(msg.value == valAccumulator, \"Multicall3: value mismatch\");\n }\n\n /// @notice Returns the block hash for the given block number\n /// @param blockNumber The block number\n function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {\n blockHash = blockhash(blockNumber);\n }\n\n /// @notice Returns the block number\n function getBlockNumber() public view returns (uint256 blockNumber) {\n blockNumber = block.number;\n }\n\n /// @notice Returns the block coinbase\n function getCurrentBlockCoinbase() public view returns (address coinbase) {\n coinbase = block.coinbase;\n }\n\n /// @notice Returns the block difficulty\n function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {\n difficulty = block.difficulty;\n }\n\n /// @notice Returns the block gas limit\n function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {\n gaslimit = block.gaslimit;\n }\n\n /// @notice Returns the block timestamp\n function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {\n timestamp = block.timestamp;\n }\n\n /// @notice Returns the (ETH) balance of a given address\n function getEthBalance(address addr) public view returns (uint256 balance) {\n balance = addr.balance;\n }\n\n /// @notice Returns the block hash of the last block\n function getLastBlockHash() public view returns (bytes32 blockHash) {\n unchecked {\n blockHash = blockhash(block.number - 1);\n }\n }\n\n /// @notice Gets the base fee of the given block\n /// @notice Can revert if the BASEFEE opcode is not implemented by the given chain\n function getBasefee() public view returns (uint256 basefee) {\n basefee = block.basefee;\n }\n\n /// @notice Returns the chain id\n function getChainId() public view returns (uint256 chainid) {\n chainid = block.chainid;\n }\n}\n"},"src/interfaces/IMulticall.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.5.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall {\n struct Call {\n address target;\n bytes callData;\n }\n\n function aggregate(Call[] calldata calls)\n external\n returns (uint256 blockNumber, bytes[] memory returnData);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n \n function getLastBlockHash() external view returns (bytes32 blockHash);\n}\n"},"src/interfaces/IMulticall2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.5.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall2 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls) external returns (uint256 blockNumber, bytes[] memory returnData);\n\n function blockAndAggregate(Call[] calldata calls)\n external\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls) external returns (Result[] memory returnData);\n \n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)\n external\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n\n"},"src/interfaces/IMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.8.12 <0.9.0;\n\ninterface IMulticall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls) external payable returns (uint256 blockNumber, bytes[] memory returnData);\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n\n function blockAndAggregate(\n Call[] calldata calls\n ) external payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBasefee() external view returns (uint256 basefee);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getChainId() external view returns (uint256 chainid);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(\n bool requireSuccess,\n Call[] calldata calls\n ) external payable returns (Result[] memory returnData);\n\n function tryBlockAndAggregate(\n bool requireSuccess,\n Call[] calldata calls\n ) external payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n"},"src/test/Multicall.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Multicall} from \"../Multicall.sol\";\nimport {MockCallee} from \"./mocks/MockCallee.sol\";\n\ncontract MulticallTest is Test {\n Multicall multicall;\n MockCallee callee;\n\n /// @notice Setups up the testing suite\n function setUp() public {\n multicall = new Multicall();\n callee = new MockCallee();\n }\n\n /// >>>>>>>>>>>>>>>>>>>> AGGREGATION TESTS <<<<<<<<<<<<<<<<<<<< ///\n\n function testAggregation() public {\n // Test successful call\n Multicall.Call[] memory calls = new Multicall.Call[](1);\n calls[0] = Multicall.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n (uint256 blockNumber, bytes[] memory returnData) = multicall.aggregate(calls);\n assertEq(blockNumber, block.number);\n assertEq(keccak256(returnData[0]), keccak256(abi.encodePacked(blockhash(block.number))));\n }\n\n function testUnsuccessfulAggregation() public {\n // Test unexpected revert\n Multicall.Call[] memory calls = new Multicall.Call[](2);\n calls[0] = Multicall.Call(\n address(callee),\n abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number)\n );\n calls[1] = Multicall.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\")\n );\n vm.expectRevert(bytes(\"\"));\n multicall.aggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\n\n function testGetEthBalance(address addr) public {\n assertEq(addr.balance, multicall.getEthBalance(addr));\n }\n\n function testGetBlockHash(uint256 blockNumber) public {\n assertEq(blockhash(blockNumber), multicall.getBlockHash(blockNumber));\n }\n\n function testGetLastBlockHash() public {\n // Prevent arithmetic underflow on the genesis block\n if (block.number == 0) return;\n assertEq(blockhash(block.number - 1), multicall.getLastBlockHash());\n }\n\n function testGetCurrentBlockTimestamp() public {\n assertEq(block.timestamp, multicall.getCurrentBlockTimestamp());\n }\n\n function testGetCurrentBlockDifficulty() public {\n assertEq(block.difficulty, multicall.getCurrentBlockDifficulty());\n }\n\n function testGetCurrentBlockGasLimit() public {\n assertEq(block.gaslimit, multicall.getCurrentBlockGasLimit());\n }\n\n function testGetCurrentBlockCoinbase() public {\n assertEq(block.coinbase, multicall.getCurrentBlockCoinbase());\n }\n}\n"},"src/test/Multicall2.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Multicall2} from \"../Multicall2.sol\";\nimport {MockCallee} from \"./mocks/MockCallee.sol\";\n\ncontract Multicall2Test is Test {\n Multicall2 multicall;\n MockCallee callee;\n\n /// @notice Setups up the testing suite\n function setUp() public {\n multicall = new Multicall2();\n callee = new MockCallee();\n }\n\n /// >>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///\n\n function testAggregation() public {\n // Test successful call\n Multicall2.Call[] memory calls = new Multicall2.Call[](1);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n (uint256 blockNumber, bytes[] memory returnData) = multicall.aggregate(calls);\n assertEq(blockNumber, block.number);\n assertEq(keccak256(returnData[0]), keccak256(abi.encodePacked(blockhash(block.number))));\n }\n\n function testUnsuccessfulAggregation() public {\n // Test unexpected revert\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall aggregate: call failed\"));\n multicall.aggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///\n\n function testTryAggregate() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n (Multicall2.Result[] memory returnData) = multicall.tryAggregate(false, calls);\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n }\n\n function testTryAggregateUnsuccessful() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall2 aggregate: call failed\"));\n multicall.tryAggregate(true, calls);\n }\n\n /// >>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///\n\n function testTryBlockAndAggregate() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n (uint256 blockNumber, bytes32 blockHash, Multicall2.Result[] memory returnData) = multicall.tryBlockAndAggregate(false, calls);\n assertEq(blockNumber, block.number);\n assertEq(blockHash, blockhash(block.number));\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n }\n\n function testTryBlockAndAggregateUnsuccessful() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall2 aggregate: call failed\"));\n multicall.tryBlockAndAggregate(true, calls);\n }\n\n function testBlockAndAggregateUnsuccessful() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall2 aggregate: call failed\"));\n multicall.blockAndAggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\n\n function testGetBlockHash(uint256 blockNumber) public {\n assertEq(blockhash(blockNumber), multicall.getBlockHash(blockNumber));\n }\n\n function testGetBlockNumber() public {\n assertEq(block.number, multicall.getBlockNumber());\n }\n\n function testGetCurrentBlockCoinbase() public {\n assertEq(block.coinbase, multicall.getCurrentBlockCoinbase());\n }\n\n function testGetCurrentBlockDifficulty() public {\n assertEq(block.difficulty, multicall.getCurrentBlockDifficulty());\n }\n\n function testGetCurrentBlockGasLimit() public {\n assertEq(block.gaslimit, multicall.getCurrentBlockGasLimit());\n }\n\n function testGetCurrentBlockTimestamp() public {\n assertEq(block.timestamp, multicall.getCurrentBlockTimestamp());\n }\n\n function testGetEthBalance(address addr) public {\n assertEq(addr.balance, multicall.getEthBalance(addr));\n }\n\n function testGetLastBlockHash() public {\n // Prevent arithmetic underflow on the genesis block\n if (block.number == 0) return;\n assertEq(blockhash(block.number - 1), multicall.getLastBlockHash());\n }\n}\n"},"src/test/Multicall3.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Multicall3} from \"../Multicall3.sol\";\nimport {MockCallee} from \"./mocks/MockCallee.sol\";\nimport {EtherSink} from \"./mocks/EtherSink.sol\";\n\ncontract Multicall3Test is Test {\n Multicall3 multicall;\n MockCallee callee;\n EtherSink etherSink;\n\n /// @notice Setups up the testing suite\n function setUp() public {\n multicall = new Multicall3();\n callee = new MockCallee();\n etherSink = new EtherSink();\n }\n\n /// >>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///\n\n function testAggregation() public {\n // Test successful call\n Multicall3.Call[] memory calls = new Multicall3.Call[](1);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n (uint256 blockNumber, bytes[] memory returnData) = multicall.aggregate(calls);\n assertEq(blockNumber, block.number);\n assertEq(keccak256(returnData[0]), keccak256(abi.encodePacked(blockhash(block.number))));\n }\n\n function testUnsuccessfulAggregation() public {\n // Test unexpected revert\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.aggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///\n\n function testTryAggregate() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n (Multicall3.Result[] memory returnData) = multicall.tryAggregate(false, calls);\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n }\n\n function testTryAggregateUnsuccessful() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.tryAggregate(true, calls);\n }\n\n /// >>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///\n\n function testTryBlockAndAggregate() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n (uint256 blockNumber, bytes32 blockHash, Multicall3.Result[] memory returnData) = multicall.tryBlockAndAggregate(false, calls);\n assertEq(blockNumber, block.number);\n assertEq(blockHash, blockhash(block.number));\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n }\n\n function testTryBlockAndAggregateUnsuccessful() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.tryBlockAndAggregate(true, calls);\n }\n\n function testBlockAndAggregateUnsuccessful() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.blockAndAggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>> AGGREGATE3 TESTS <<<<<<<<<<<<<<<<<<<<<< ///\n\n function testAggregate3() public {\n Multicall3.Call3[] memory calls = new Multicall3.Call3[](3);\n calls[0] = Multicall3.Call3(address(callee), false, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call3(address(callee), true, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls[2] = Multicall3.Call3(address(multicall), true, abi.encodeWithSignature(\"getCurrentBlockTimestamp()\"));\n (Multicall3.Result[] memory returnData) = multicall.aggregate3(calls);\n\n // Call 1.\n assertTrue(returnData[0].success);\n assertEq(blockhash(block.number), abi.decode(returnData[0].returnData, (bytes32)));\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n\n // Call 2.\n assertTrue(!returnData[1].success);\n assertEq(returnData[1].returnData.length, 4);\n assertEq(bytes4(returnData[1].returnData), bytes4(keccak256(\"Unsuccessful()\")));\n\n // Call 3.\n assertTrue(returnData[2].success);\n assertEq(abi.decode(returnData[2].returnData, (uint256)), block.timestamp);\n }\n\n function testAggregate3Unsuccessful() public {\n Multicall3.Call3[] memory calls = new Multicall3.Call3[](2);\n calls[0] = Multicall3.Call3(address(callee), false, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call3(address(callee), false, abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.aggregate3(calls);\n }\n\n /// >>>>>>>>>>>>>>>>> AGGREGATE3VALUE TESTS <<<<<<<<<<<<<<<<<<< ///\n\n function testAggregate3Value() public {\n Multicall3.Call3Value[] memory calls = new Multicall3.Call3Value[](3);\n calls[0] = Multicall3.Call3Value(address(callee), false, 0, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call3Value(address(callee), true, 0, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls[2] = Multicall3.Call3Value(address(callee), true, 1, abi.encodeWithSignature(\"sendBackValue(address)\", address(etherSink)));\n (Multicall3.Result[] memory returnData) = multicall.aggregate3Value{value: 1}(calls);\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n assertTrue(returnData[2].success);\n }\n\n function testAggregate3ValueUnsuccessful() public {\n Multicall3.Call3Value[] memory calls = new Multicall3.Call3Value[](3);\n calls[0] = Multicall3.Call3Value(address(callee), false, 0, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call3Value(address(callee), false, 0, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls[2] = Multicall3.Call3Value(address(callee), false, 1, abi.encodeWithSignature(\"sendBackValue(address)\", address(etherSink)));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.aggregate3Value(calls);\n\n // Should fail if we don't provide enough value\n Multicall3.Call3Value[] memory calls2 = new Multicall3.Call3Value[](3);\n calls2[0] = Multicall3.Call3Value(address(callee), true, 0, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls2[1] = Multicall3.Call3Value(address(callee), true, 0, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls2[2] = Multicall3.Call3Value(address(callee), true, 1, abi.encodeWithSignature(\"sendBackValue(address)\", address(etherSink)));\n vm.expectRevert(bytes(\"Multicall3: value mismatch\"));\n multicall.aggregate3Value(calls2);\n\n // Works if we provide enough value\n Multicall3.Call3Value[] memory calls3 = new Multicall3.Call3Value[](3);\n calls3[0] = Multicall3.Call3Value(address(callee), false, 0, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls3[1] = Multicall3.Call3Value(address(callee), true, 0, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls3[2] = Multicall3.Call3Value(address(callee), false, 1, abi.encodeWithSignature(\"sendBackValue(address)\", address(etherSink)));\n multicall.aggregate3Value{value: 1}(calls3);\n }\n\n /// >>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\n\n function testGetBlockHash(uint256 blockNumber) public {\n assertEq(blockhash(blockNumber), multicall.getBlockHash(blockNumber));\n }\n\n function testGetBlockNumber() public {\n assertEq(block.number, multicall.getBlockNumber());\n }\n\n function testGetCurrentBlockCoinbase() public {\n assertEq(block.coinbase, multicall.getCurrentBlockCoinbase());\n }\n\n function testGetCurrentBlockDifficulty() public {\n assertEq(block.difficulty, multicall.getCurrentBlockDifficulty());\n }\n\n function testGetCurrentBlockGasLimit() public {\n assertEq(block.gaslimit, multicall.getCurrentBlockGasLimit());\n }\n\n function testGetCurrentBlockTimestamp() public {\n assertEq(block.timestamp, multicall.getCurrentBlockTimestamp());\n }\n\n function testGetEthBalance(address addr) public {\n assertEq(addr.balance, multicall.getEthBalance(addr));\n }\n\n function testGetLastBlockHash() public {\n // Prevent arithmetic underflow on the genesis block\n if (block.number == 0) return;\n assertEq(blockhash(block.number - 1), multicall.getLastBlockHash());\n }\n\n function testGetBasefee() public {\n assertEq(block.basefee, multicall.getBasefee());\n }\n\n function testGetChainId() public {\n assertEq(block.chainid, multicall.getChainId());\n }\n}\n"},"src/test/mocks/EtherSink.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title EtherSink\n/// @notice Receives Ether, that's about it \\( o_o )/\n/// @author andreas@nascent.xyz\ncontract EtherSink {\n\n /// >>>>>>>>>>>>>>>>>>>>>> ACCEPT CALLS <<<<<<<<<<<<<<<<<<<<<<< ///\n\n /// @notice Allows the test to receive eth via low level calls\n receive() external payable {}\n}"},"src/test/mocks/MockCallee.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title MockCallee\n/// @notice Receives calls from the Multicaller\n/// @author andreas@nascent.xyz\ncontract MockCallee {\n\n /// @notice Failure\n error Unsuccessful();\n\n /// @notice Returns the block hash for the given block number\n /// @param blockNumber The block number\n /// @return blockHash The 32 byte block hash\n function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {\n blockHash = blockhash(blockNumber);\n }\n\n /// @notice Reverts o______O\n function thisMethodReverts() public pure {\n revert Unsuccessful();\n }\n\n /// @notice Accepts a value\n function sendBackValue(address target) public payable {\n (bool ok, ) = target.call{value: msg.value}(\"\");\n if (!ok) revert Unsuccessful();\n }\n}\n"}},"settings":{"remappings":["ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":true,"runs":10000000},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs"},"outputSelection":{"lib/forge-std/lib/ds-test/src/test.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Base.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdAssertions.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdChains.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdCheats.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdError.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdInvariant.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdJson.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdMath.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdStorage.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdStyle.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdUtils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Test.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Vm.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/console.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/console2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/interfaces/IMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/Multicall.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/Multicall2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/Multicall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/IMulticall.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/IMulticall2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/IMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/Multicall.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/Multicall2.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/Multicall3.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/mocks/EtherSink.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/mocks/MockCallee.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]}},"evmVersion":"london","viaIR":false,"libraries":{}},"allowPaths":["/Users/shunkakinoki/ghq/github.com/mds1/multicall3","/Users/shunkakinoki/ghq/github.com/mds1/multicall3/lib"],"basePath":"/Users/shunkakinoki/ghq/github.com/mds1/multicall3","includePaths":["/Users/shunkakinoki/ghq/github.com/mds1/multicall3"]},"output":{"contracts":{"lib/forge-std/lib/ds-test/src/test.sol":{"DSTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/lib/ds-test/src/test.sol\":\"DSTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60806040526000805460ff1916600117905534801561001d57600080fd5b506102a68061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156101bf5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610129917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526101619161023b565b6000604051808303816000865af19150503d806000811461019e576040519150601f19603f3d011682016040523d82523d6000602084013e6101a3565b606091505b50915050808060200190518101906101bb919061024e565b9150505b919050565b6000815160005b818110156101e557602081850181015186830152016101cb565b818111156101f4576000828601525b509290920192915050565b7fffffffff0000000000000000000000000000000000000000000000000000000083168152600061023360048301846101c4565b949350505050565b600061024782846101c4565b9392505050565b60006020828403121561026057600080fd5b8151801515811461024757600080fdfea264697066735822122006ff742e518c8a89ef236729f13d9be621f49cc5a621650b2cf794738fd4e66164736f6c634300080c0033","sourceMap":"715:15442:0:-:0;;;1572:26;;;-1:-1:-1;;1572:26:0;1594:4;1572:26;;;715:15442;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156101bf5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610129917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526101619161023b565b6000604051808303816000865af19150503d806000811461019e576040519150601f19603f3d011682016040523d82523d6000602084013e6101a3565b606091505b50915050808060200190518101906101bb919061024e565b9150505b919050565b6000815160005b818110156101e557602081850181015186830152016101cb565b818111156101f4576000828601525b509290920192915050565b7fffffffff0000000000000000000000000000000000000000000000000000000083168152600061023360048301846101c4565b949350505050565b600061024782846101c4565b9392505050565b60006020828403121561026057600080fd5b8151801515811461024757600080fdfea264697066735822122006ff742e518c8a89ef236729f13d9be621f49cc5a621650b2cf794738fd4e66164736f6c634300080c0033","sourceMap":"715:15442:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;179:14:28;;172:22;154:41;;142:2;127:18;1819:584:0;;;;;;;1572:26;;;;;;;;;1819:584;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;380:74:28;;;2221:17:0;470:18:28;;;463:34;2196:43:0;;;;;;;;;353:18:28;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;508:336:28:-;549:3;587:5;581:12;611:1;621:128;635:6;632:1;629:13;621:128;;;732:4;717:13;;;713:24;;707:31;694:11;;;687:52;650:12;621:128;;;767:6;764:1;761:13;758:48;;;802:1;793:6;788:3;784:16;777:27;758:48;-1:-1:-1;822:16:28;;;;;508:336;-1:-1:-1;;508:336:28:o;849:324::-;1046:66;1038:6;1034:79;1029:3;1022:92;1004:3;1130:37;1164:1;1159:3;1155:11;1147:6;1130:37;:::i;:::-;1123:44;849:324;-1:-1:-1;;;;849:324:28:o;1178:189::-;1307:3;1332:29;1357:3;1349:6;1332:29;:::i;:::-;1325:36;1178:189;-1:-1:-1;;;1178:189:28:o;1372:277::-;1439:6;1492:2;1480:9;1471:7;1467:23;1463:32;1460:52;;;1508:1;1505;1498:12;1460:52;1540:9;1534:16;1593:5;1586:13;1579:21;1572:5;1569:32;1559:60;;1615:1;1612;1605:12","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","failed()":"ba414fa6"}}}},"lib/forge-std/src/Base.sol":{"CommonBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"ScriptBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"TestBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdAssertions.sol":{"StdAssertions":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","failed()":"ba414fa6"}}}},"lib/forge-std/src/StdChains.sol":{"StdChains":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initialize` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initialize`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve `mainnet`'s RPC URL: - If you haven't set any mainnet chain info with `setChain`, you haven't specified that chain in `foundry.toml` and no env var is set, the default data and RPC URL will be returned. - If you have set a mainnet RPC URL in `foundry.toml` it will return that, if valid (e.g. if a URL is given or if an environment variable is given and that environment variable exists). Otherwise, the default data is returned. - If you specified data with `setChain` it will return that. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdCheats.sol":{"StdCheats":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"StdCheatsSafe":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdError.sol":{"stdError":{"abi":[{"type":"function","name":"arithmeticError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"assertionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"divisionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"encodeStorageError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"enumConversionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"indexOOBError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"memOverflowError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"popError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"zeroVarError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6102d061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ad5760003560e01c8063986c5f6811610080578063b67689da11610065578063b67689da146100f8578063d160e4de14610100578063fa784a441461010857600080fd5b8063986c5f68146100e8578063b22dc54d146100f057600080fd5b806305ee8612146100b257806310332977146100d05780631de45560146100d85780638995290f146100e0575b600080fd5b6100ba610110565b6040516100c79190610227565b60405180910390f35b6100ba610197565b6100ba6101a9565b6100ba6101bb565b6100ba6101cd565b6100ba6101df565b6100ba6101f1565b6100ba610203565b6100ba610215565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011e565b6040516021602482015260440161011e565b6040516011602482015260440161011e565b6040516041602482015260440161011e565b6040516031602482015260440161011e565b6040516051602482015260440161011e565b6040516022602482015260440161011e565b6040516012602482015260440161011e565b600060208083528351808285015260005b8181101561025457858101830151858201604001528201610238565b81811115610266576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea2646970667358221220267e9f0245dff5b350f311f2729aeb86b18579965abe42a7a5f6ac660d0556b164736f6c634300080c0033","sourceMap":"162:850:5:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;162:850:5;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600436106100ad5760003560e01c8063986c5f6811610080578063b67689da11610065578063b67689da146100f8578063d160e4de14610100578063fa784a441461010857600080fd5b8063986c5f68146100e8578063b22dc54d146100f057600080fd5b806305ee8612146100b257806310332977146100d05780631de45560146100d85780638995290f146100e0575b600080fd5b6100ba610110565b6040516100c79190610227565b60405180910390f35b6100ba610197565b6100ba6101a9565b6100ba6101bb565b6100ba6101cd565b6100ba6101df565b6100ba6101f1565b6100ba610203565b6100ba610215565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011e565b6040516021602482015260440161011e565b6040516011602482015260440161011e565b6040516041602482015260440161011e565b6040516031602482015260440161011e565b6040516051602482015260440161011e565b6040516022602482015260440161011e565b6040516012602482015260440161011e565b600060208083528351808285015260005b8181101561025457858101830151858201604001528201610238565b81811115610266576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea2646970667358221220267e9f0245dff5b350f311f2729aeb86b18579965abe42a7a5f6ac660d0556b164736f6c634300080c0033","sourceMap":"162:850:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;185:86;;;:::i;461:91::-;;;:::i;277:87::-;;;:::i;831:88::-;;;:::i;654:80::-;;;:::i;925:84::-;;;:::i;558:90::-;;;:::i;370:85::-;;;:::i;740:::-;778:47;;820:4;778:47;;;834:36:28;807:18;;778:47:5;;;;;;;;;;;;;;;;;;;;;;;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;834:36:28;807:18;;224:47:5;681:195:28;461:91:5;505:47;;547:4;505:47;;;834:36:28;807:18;;505:47:5;681:195:28;277:87:5;317:47;;359:4;317:47;;;834:36:28;807:18;;317:47:5;681:195:28;831:88:5;872:47;;914:4;872:47;;;834:36:28;807:18;;872:47:5;681:195:28;654:80:5;687:47;;729:4;687:47;;;834:36:28;807:18;;687:47:5;681:195:28;925:84:5;962:47;;1004:4;962:47;;;834:36:28;807:18;;962:47:5;681:195:28;558:90:5;601:47;;643:4;601:47;;;834:36:28;807:18;;601:47:5;681:195:28;370:85:5;408:47;;450:4;408:47;;;834:36:28;807:18;;408:47:5;681:195:28;14:662;132:4;161:2;190;179:9;172:21;222:6;216:13;265:6;260:2;249:9;245:18;238:34;290:1;300:140;314:6;311:1;308:13;300:140;;;409:14;;;405:23;;399:30;375:17;;;394:2;371:26;364:66;329:10;;300:140;;;458:6;455:1;452:13;449:91;;;528:1;523:2;514:6;503:9;499:22;495:31;488:42;449:91;-1:-1:-1;592:2:28;580:15;597:66;576:88;561:104;;;;667:2;557:113;;14:662;-1:-1:-1;;;14:662:28:o","linkReferences":{}},"methodIdentifiers":{"arithmeticError()":"8995290f","assertionError()":"10332977","divisionError()":"fa784a44","encodeStorageError()":"d160e4de","enumConversionError()":"1de45560","indexOOBError()":"05ee8612","memOverflowError()":"986c5f68","popError()":"b22dc54d","zeroVarError()":"b67689da"}}}},"lib/forge-std/src/StdInvariant.sol":{"StdInvariant":{"abi":[{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdInvariant.sol\":\"StdInvariant\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b5061091d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806385226c811161005b57806385226c81146100d0578063916a17c6146100e5578063b5508aa9146100ed578063e20c9f71146100f557600080fd5b80631ed7831c1461008d5780633e5e3c23146100ab5780633f7286f4146100b357806366d9a9a0146100bb575b600080fd5b6100956100fd565b6040516100a2919061066c565b60405180910390f35b61009561016c565b6100956101d9565b6100c3610246565b6040516100a291906106c6565b6100d8610357565b6040516100a291906107bc565b6100c3610427565b6100d861052f565b6100956105ff565b6060600180548060200260200160405190810160405280929190818152602001828054801561016257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575b5050505050905090565b606060038054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b606060028054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b60606006805480602002602001604051908101604052809291908181526020016000905b8282101561034e57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561033657602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116102e35790505b5050505050815250508152602001906001019061026a565b50505050905090565b60606005805480602002602001604051908101604052809291908181526020016000905b8282101561034e57838290600052602060002001805461039a90610893565b80601f01602080910402602001604051908101604052809291908181526020018280546103c690610893565b80156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b50505050508152602001906001019061037b565b60606007805480602002602001604051908101604052809291908181526020016000905b8282101561034e57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561051757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104c45790505b5050505050815250508152602001906001019061044b565b60606004805480602002602001604051908101604052809291908181526020016000905b8282101561034e57838290600052602060002001805461057290610893565b80601f016020809104026020016040519081016040528092919081815260200182805461059e90610893565b80156105eb5780601f106105c0576101008083540402835291602001916105eb565b820191906000526020600020905b8154815290600101906020018083116105ce57829003601f168201915b505050505081526020019060010190610553565b606060008054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b6020808252825182820181905260009190848201906040850190845b818110156106ba57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610688565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156107ad578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b808310156107985783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190610756565b50978a019795505050918701916001016106ee565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b83811015610885577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089870301855282518051808852835b81811015610837578281018a01518982018b0152890161081c565b8181111561084757848a838b0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016969096018701955093860193918601916001016107e4565b509398975050505050505050565b600181811c908216806108a757607f821691505b602082108114156108e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122089ca52a04d2e8bb13cfed6e97e1861e8f9a2b0af0eaee23884e4be4693cc7c4b64736f6c634300080c0033","sourceMap":"100:2965:6:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106100885760003560e01c806385226c811161005b57806385226c81146100d0578063916a17c6146100e5578063b5508aa9146100ed578063e20c9f71146100f557600080fd5b80631ed7831c1461008d5780633e5e3c23146100ab5780633f7286f4146100b357806366d9a9a0146100bb575b600080fd5b6100956100fd565b6040516100a2919061066c565b60405180910390f35b61009561016c565b6100956101d9565b6100c3610246565b6040516100a291906106c6565b6100d8610357565b6040516100a291906107bc565b6100c3610427565b6100d861052f565b6100956105ff565b6060600180548060200260200160405190810160405280929190818152602001828054801561016257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575b5050505050905090565b606060038054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b606060028054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b60606006805480602002602001604051908101604052809291908181526020016000905b8282101561034e57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561033657602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116102e35790505b5050505050815250508152602001906001019061026a565b50505050905090565b60606005805480602002602001604051908101604052809291908181526020016000905b8282101561034e57838290600052602060002001805461039a90610893565b80601f01602080910402602001604051908101604052809291908181526020018280546103c690610893565b80156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b50505050508152602001906001019061037b565b60606007805480602002602001604051908101604052809291908181526020016000905b8282101561034e57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561051757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104c45790505b5050505050815250508152602001906001019061044b565b60606004805480602002602001604051908101604052809291908181526020016000905b8282101561034e57838290600052602060002001805461057290610893565b80601f016020809104026020016040519081016040528092919081815260200182805461059e90610893565b80156105eb5780601f106105c0576101008083540402835291602001916105eb565b820191906000526020600020905b8154815290600101906020018083116105ce57829003601f168201915b505050505081526020019060010190610553565b606060008054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b6020808252825182820181905260009190848201906040850190845b818110156106ba57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610688565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156107ad578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b808310156107985783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190610756565b50978a019795505050918701916001016106ee565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b83811015610885577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089870301855282518051808852835b81811015610837578281018a01518982018b0152890161081c565b8181111561084757848a838b0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016969096018701955093860193918601916001016107e4565b509398975050505050505050565b600181811c908216806108a757607f821691505b602082108114156108e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122089ca52a04d2e8bb13cfed6e97e1861e8f9a2b0af0eaee23884e4be4693cc7c4b64736f6c634300080c0033","sourceMap":"100:2965:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2930:133;;;:::i;2631:141::-;;;:::i;2447:178::-;;;:::i;:::-;;;;;;;:::i;2301:140::-;;;:::i;:::-;;;;;;;:::i;2778:146::-;;;:::i;1866:141::-;;;:::i;2013:142::-;;;:::i;2161:134::-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;2930:133::-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;2447:178::-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;2301:140::-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2778:146;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;14:681:28:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;545:42;526:62;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:28;;14:681;-1:-1:-1;;;;;;14:681:28:o;700:1695::-;902:4;931:2;971;960:9;956:18;1001:2;990:9;983:21;1024:6;1059;1053:13;1090:6;1082;1075:22;1116:2;1106:12;;1149:2;1138:9;1134:18;1127:25;;1211:2;1201:6;1198:1;1194:14;1183:9;1179:30;1175:39;1249:2;1241:6;1237:15;1270:1;1291;1301:1065;1317:6;1312:3;1309:15;1301:1065;;;1386:22;;;1410:66;1382:95;1370:108;;1501:13;;1588:9;;1599:42;1584:58;1569:74;;1682:11;;1676:18;1714:15;;;1707:27;;;1795:19;;1541:15;;;1827:24;;;1917:21;;;;1962:1;;1885:2;1873:15;;;1976:282;1992:8;1987:3;1984:17;1976:282;;;2073:15;;2090:66;2069:88;2055:103;;2227:17;;;;2020:1;2011:11;;;;;2184:14;;;;1976:282;;;-1:-1:-1;2344:12:28;;;;2281:5;-1:-1:-1;;;2309:15:28;;;;1343:1;1334:11;1301:1065;;;-1:-1:-1;2383:6:28;;700:1695;-1:-1:-1;;;;;;;;;700:1695:28:o;2400:1386::-;2562:4;2591:2;2631;2620:9;2616:18;2661:2;2650:9;2643:21;2684:6;2719;2713:13;2750:6;2742;2735:22;2788:2;2777:9;2773:18;2766:25;;2850:2;2840:6;2837:1;2833:14;2822:9;2818:30;2814:39;2800:53;;2888:2;2880:6;2876:15;2909:1;2930;2940:817;2956:6;2951:3;2948:15;2940:817;;;3049:66;3037:9;3029:6;3025:22;3021:95;3016:3;3009:108;3146:6;3140:13;3188:2;3182:9;3219:8;3211:6;3204:24;3252:1;3266:157;3282:8;3277:3;3274:17;3266:157;;;3390:12;;;3386:21;;3380:28;3357:16;;;3353:25;;3346:63;3301:12;;3266:157;;;3447:8;3442:3;3439:17;3436:106;;;3526:1;3521:2;3510:8;3502:6;3498:21;3494:30;3487:41;3436:106;-1:-1:-1;3599:2:28;3585:17;3604:66;3581:90;3569:103;;;;3565:112;;;-1:-1:-1;3735:12:28;;;;3700:15;;;;2982:1;2973:11;2940:817;;;-1:-1:-1;3774:6:28;;2400:1386;-1:-1:-1;;;;;;;;2400:1386:28:o;3791:437::-;3870:1;3866:12;;;;3913;;;3934:61;;3988:4;3980:6;3976:17;3966:27;;3934:61;4041:2;4033:6;4030:14;4010:18;4007:38;4004:218;;;4078:77;4075:1;4068:88;4179:4;4176:1;4169:15;4207:4;4204:1;4197:15;4004:218;;3791:437;;;:::o","linkReferences":{}},"methodIdentifiers":{"excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/StdJson.sol":{"stdJson":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122062a3445e361e0506d42ed4b28d8960d30898f4d02f36c80cb3ec5c97719b7d8964736f6c634300080c0033","sourceMap":"830:5374:7:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;830:5374:7;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122062a3445e361e0506d42ed4b28d8960d30898f4d02f36c80cb3ec5c97719b7d8964736f6c634300080c0033","sourceMap":"830:5374:7:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdMath.sol":{"stdMath":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200a2a322299d09dbc211ad2dc523d6bc5792f960254f383956fb67a3836b44f0164736f6c634300080c0033","sourceMap":"65:1294:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1294:8;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200a2a322299d09dbc211ad2dc523d6bc5792f960254f383956fb67a3836b44f0164736f6c634300080c0033","sourceMap":"65:1294:8:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdStorage.sol":{"stdStorage":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122034537c39af2490aede6c0a2413053d1347b02cb5b9debd33b312f6543c98974064736f6c634300080c0033","sourceMap":"7339:4527:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;7339:4527:9;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122034537c39af2490aede6c0a2413053d1347b02cb5b9debd33b312f6543c98974064736f6c634300080c0033","sourceMap":"7339:4527:9:-:0;;;;;;;;","linkReferences":{}}}},"stdStorageSafe":{"abi":[{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d0e1a1ca1086568415947aee5c2b9601d6aed536c3864c1f54f3c6fe0b093d9d64736f6c634300080c0033","sourceMap":"368:6969:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;368:6969:9;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d0e1a1ca1086568415947aee5c2b9601d6aed536c3864c1f54f3c6fe0b093d9d64736f6c634300080c0033","sourceMap":"368:6969:9:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdStyle.sol":{"StdStyle":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStyle.sol\":\"StdStyle\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba175f52d5c3af8a0f4788f458b4221795df5b09fa2bfc1d18d8a0d6f6f5b96a64736f6c634300080c0033","sourceMap":"96:10353:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;96:10353:10;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba175f52d5c3af8a0f4788f458b4221795df5b09fa2bfc1d18d8a0d6f6f5b96a64736f6c634300080c0033","sourceMap":"96:10353:10:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdUtils.sol":{"StdUtils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/Test.sol":{"Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/Vm.sol":{"Vm":{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"activeFork","inputs":[],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"allowCheatcodes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"chainId","inputs":[{"name":"newChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearMockedCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinbase","inputs":[{"name":"newCoinbase","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"deal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newBalance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"difficulty","inputs":[{"name":"newDifficulty","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"etch","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"newRuntimeBytecode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fee","inputs":[{"name":"newBasefee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"fsMetadata","inputs":[{"name":"fileOrDir","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"isPersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"persistent","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"makePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"},{"name":"account2","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonString","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revertTo","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"roll","inputs":[{"name":"newHeight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"selectFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"snapshot","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopPrank","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transact","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transact","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"warp","inputs":[{"name":"newTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fileOrDir\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","activeFork()":"2f103f22","addr(uint256)":"ffa18649","allowCheatcodes(address)":"ea060291","assume(bool)":"4c63e562","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","chainId(uint256)":"4049ddd2","clearMockedCalls()":"3fdf4e15","closeFile(string)":"48c3241f","coinbase(address)":"ff483c54","createFork(string)":"31ba3498","createFork(string,bytes32)":"7ca29682","createFork(string,uint256)":"6ba3ba2b","createSelectFork(string)":"98680034","createSelectFork(string,bytes32)":"84d52b7a","createSelectFork(string,uint256)":"71ee464d","deal(address,uint256)":"c88a5e6d","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,uint32)":"6229498b","difficulty(uint256)":"46cc92d9","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","etch(address,bytes)":"b4d6c782","expectCall(address,bytes)":"bd6af434","expectCall(address,uint256,bytes)":"f30c7ba3","expectCall(address,uint256,uint64,bytes)":"23361207","expectCallMinGas(address,uint256,uint64,bytes)":"08e4e116","expectEmit(bool,bool,bool,bool)":"491cc7c2","expectEmit(bool,bool,bool,bool,address)":"81bad6f3","expectRevert()":"f4844814","expectRevert(bytes)":"f28dceb3","expectRevert(bytes4)":"c31eb0e0","fee(uint256)":"39b37ab0","ffi(string[])":"89160467","fsMetadata(string)":"af368a08","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getNonce(address)":"2d0335ab","getRecordedLogs()":"191553a4","isPersistent(address)":"d92d8efd","label(address,string)":"c657c718","load(address,bytes32)":"667f9d70","makePersistent(address)":"57e22dde","makePersistent(address,address)":"4074e0a8","makePersistent(address,address,address)":"efb77a75","makePersistent(address[])":"1d9e269e","mockCall(address,bytes,bytes)":"b96213e4","mockCall(address,uint256,bytes,bytes)":"81409b91","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","prank(address)":"ca669fa7","prank(address,address)":"47e50cce","projectRoot()":"d930a0e6","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","removeFile(string)":"f1afe04d","resumeGasMetering()":"2bcd50e0","revertTo(uint256)":"44d7f0a4","revokePersistent(address)":"997a0222","revokePersistent(address[])":"3ce969e6","roll(uint256)":"1f7b4f30","rollFork(bytes32)":"0f29772b","rollFork(uint256)":"d9bbf3a1","rollFork(uint256,bytes32)":"f2830f7b","rollFork(uint256,uint256)":"d74c83a4","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","selectFork(uint256)":"9ebf6827","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","setEnv(string,string)":"3d5923ee","setNonce(address,uint64)":"f8e18b57","sign(uint256,bytes32)":"e341eaa4","snapshot()":"9711715a","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startPrank(address)":"06447d56","startPrank(address,address)":"45b56078","stopBroadcast()":"76eadd36","stopPrank()":"90c5013b","store(address,bytes32,bytes32)":"70ca10bb","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","transact(bytes32)":"be646da1","transact(uint256,bytes32)":"4d8abc4b","warp(uint256)":"e5d6bf02","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f"}}},"VmSafe":{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"fsMetadata","inputs":[{"name":"fileOrDir","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonString","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fileOrDir\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","addr(uint256)":"ffa18649","assume(bool)":"4c63e562","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","closeFile(string)":"48c3241f","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,uint32)":"6229498b","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","ffi(string[])":"89160467","fsMetadata(string)":"af368a08","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getNonce(address)":"2d0335ab","getRecordedLogs()":"191553a4","label(address,string)":"c657c718","load(address,bytes32)":"667f9d70","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","projectRoot()":"d930a0e6","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","removeFile(string)":"f1afe04d","resumeGasMetering()":"2bcd50e0","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","setEnv(string,string)":"3d5923ee","sign(uint256,bytes32)":"e341eaa4","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","stopBroadcast()":"76eadd36","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f"}}}},"lib/forge-std/src/console.sol":{"console":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201d0d3f62fe7a3755d3439a48db450bc7d8d9256c05da19ed5058d0e02725c0bd64736f6c634300080c0033","sourceMap":"66:66622:14:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:66622:14;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201d0d3f62fe7a3755d3439a48db450bc7d8d9256c05da19ed5058d0e02725c0bd64736f6c634300080c0033","sourceMap":"66:66622:14:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/console2.sol":{"console2":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"The original console.sol uses `int` and `uint` for computing function selectors, but it should use `int256` and `uint256`. This modified version fixes that. This version is recommended over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`. Reference: https://github.com/NomicFoundation/hardhat/issues/2178\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122092ec33c329e616799a8fec82ba9f0b4e51f7c74aebc32c6029013a15e2f946bc64736f6c634300080c0033","sourceMap":"525:68782:15:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;525:68782:15;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122092ec33c329e616799a8fec82ba9f0b4e51f7c74aebc32c6029013a15e2f946bc64736f6c634300080c0033","sourceMap":"525:68782:15:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/interfaces/IMulticall3.sol":{"IMulticall3":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/Multicall.sol":{"Multicall":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Elliot Joshua Levine Nick Johnson \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Multicall - Aggregate results from multiple read-only function calls\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Multicall.sol\":\"Multicall\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/Multicall.sol\":{\"keccak256\":\"0x117ad98f28e53388f21baae456066a3fdcdbaaca09e96a032eadc358b0263e32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acea4417df8bad0f502cf2c21f079a1ba5d222671698a2e10baa636ea7baac25\",\"dweb:/ipfs/QmPSvy6SKWw8GeQiFu3K9s9kvq7NUGCbsifcop3gPjVrz3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b5061061d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220da399b6e256d79127a8ea91c123c0847d97289d882064a4e78f6ce4a2a9a4fff64736f6c634300080c0033","sourceMap":"280:1425:17:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220da399b6e256d79127a8ea91c123c0847d97289d882064a4e78f6ce4a2a9a4fff64736f6c634300080c0033","sourceMap":"280:1425:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1209:120;1307:15;1209:120;;;160:25:28;;;148:2;133:18;1209:120:17;;;;;;;;378:411;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1079:124::-;;;:::i;819:114::-;;;;;;:::i;:::-;914:12;;;;819:114;1335:124;1436:16;1335:124;;1465:116;1560:14;1465:116;;1587;;;1682:14;2943:74:28;;2931:2;2916:18;1587:116:17;2797:226:28;939:134:17;;;;;;:::i;:::-;1044:22;;939:134;378:411;508:12;457:25;555:5;543:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;530:38;;583:9;578:205;598:16;;;578:205;;;636:12;650:16;670:5;;676:1;670:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:15;;;;;;;:::i;:::-;:20;;691:5;;697:1;691:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:17;;;;;;;:::i;:::-;670:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;635:74;;;;731:7;723:16;;;;;;769:3;753:10;764:1;753:13;;;;;;;;:::i;:::-;;;;;;:19;;;;621:162;;616:3;;;;;:::i;:::-;;;;578:205;;;;378:411;;;;;:::o;1079:124::-;1128:17;1179:16;1194:1;1179:12;:16;:::i;:::-;1169:27;1157:39;;1079:124;:::o;196:640:28:-;307:6;315;368:2;356:9;347:7;343:23;339:32;336:52;;;384:1;381;374:12;336:52;424:9;411:23;453:18;494:2;486:6;483:14;480:34;;;510:1;507;500:12;480:34;548:6;537:9;533:22;523:32;;593:7;586:4;582:2;578:13;574:27;564:55;;615:1;612;605:12;564:55;655:2;642:16;681:2;673:6;670:14;667:34;;;697:1;694;687:12;667:34;750:7;745:2;735:6;732:1;728:14;724:2;720:23;716:32;713:45;710:65;;;771:1;768;761:12;710:65;802:2;794:11;;;;;824:6;;-1:-1:-1;196:640:28;;-1:-1:-1;;;;196:640:28:o;841:1455::-;1029:4;1077:2;1066:9;1062:18;1107:6;1096:9;1089:25;1133:2;1171;1166;1155:9;1151:18;1144:30;1194:6;1229;1223:13;1260:6;1252;1245:22;1298:2;1287:9;1283:18;1276:25;;1360:2;1350:6;1347:1;1343:14;1332:9;1328:30;1324:39;1310:53;;1398:2;1390:6;1386:15;1419:1;1440;1450:817;1466:6;1461:3;1458:15;1450:817;;;1559:66;1547:9;1539:6;1535:22;1531:95;1526:3;1519:108;1656:6;1650:13;1698:2;1692:9;1729:8;1721:6;1714:24;1762:1;1776:157;1792:8;1787:3;1784:17;1776:157;;;1900:12;;;1896:21;;1890:28;1867:16;;;1863:25;;1856:63;1811:12;;1776:157;;;1957:8;1952:3;1949:17;1946:106;;;2036:1;2031:2;2020:8;2012:6;2008:21;2004:30;1997:41;1946:106;-1:-1:-1;2109:2:28;2095:17;2114:66;2091:90;2079:103;;;;2075:112;;;-1:-1:-1;2245:12:28;;;;2210:15;;;;1492:1;1483:11;1450:817;;;-1:-1:-1;2284:6:28;;841:1455;-1:-1:-1;;;;;;;;;841:1455:28:o;2483:309::-;2542:6;2595:2;2583:9;2574:7;2570:23;2566:32;2563:52;;;2611:1;2608;2601:12;2563:52;2650:9;2637:23;2700:42;2693:5;2689:54;2682:5;2679:65;2669:93;;2758:1;2755;2748:12;2669:93;2781:5;2483:309;-1:-1:-1;;;2483:309:28:o;3028:180::-;3087:6;3140:2;3128:9;3119:7;3115:23;3111:32;3108:52;;;3156:1;3153;3146:12;3108:52;-1:-1:-1;3179:23:28;;3028:180;-1:-1:-1;3028:180:28:o;3213:184::-;3265:77;3262:1;3255:88;3362:4;3359:1;3352:15;3386:4;3383:1;3376:15;3402:184;3454:77;3451:1;3444:88;3551:4;3548:1;3541:15;3575:4;3572:1;3565:15;3591:381;3682:4;3740:11;3727:25;3830:66;3819:8;3803:14;3799:29;3795:102;3775:18;3771:127;3761:155;;3912:1;3909;3902:12;3761:155;3933:33;;;;;3591:381;-1:-1:-1;;3591:381:28:o;3977:580::-;4054:4;4060:6;4120:11;4107:25;4210:66;4199:8;4183:14;4179:29;4175:102;4155:18;4151:127;4141:155;;4292:1;4289;4282:12;4141:155;4319:33;;4371:20;;;-1:-1:-1;4414:18:28;4403:30;;4400:50;;;4446:1;4443;4436:12;4400:50;4479:4;4467:17;;-1:-1:-1;4510:14:28;4506:27;;;4496:38;;4493:58;;;4547:1;4544;4537:12;4493:58;3977:580;;;;;:::o;4562:271::-;4745:6;4737;4732:3;4719:33;4701:3;4771:16;;4796:13;;;4771:16;4562:271;-1:-1:-1;4562:271:28:o;4838:184::-;4890:77;4887:1;4880:88;4987:4;4984:1;4977:15;5011:4;5008:1;5001:15;5027:195;5066:3;5097:66;5090:5;5087:77;5084:103;;;5167:18;;:::i;:::-;-1:-1:-1;5214:1:28;5203:13;;5027:195::o;5227:125::-;5267:4;5295:1;5292;5289:8;5286:34;;;5300:18;;:::i;:::-;-1:-1:-1;5337:9:28;;5227:125::o","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","getBlockHash(uint256)":"ee82ac5e","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e"}}}},"src/Multicall2.sol":{"Multicall2":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct Multicall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Multicall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct Multicall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Multicall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct Multicall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Elliot Joshua Levine Nick Johnson \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Multicall2 - Aggregate results from multiple read-only function calls\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Multicall2.sol\":\"Multicall2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/Multicall2.sol\":{\"keccak256\":\"0xf3cb5cc1c489a5b0a779688b37e003a2881a72aaae66d63a6e3dd2f7e866d4ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06fe0d178277f33bdb65c0dc3ce2e8414fccc695594d6dc18c311ceef1142878\",\"dweb:/ipfs/QmQuGU5MszL8jMsk45i8Hu2arAN5yCNvNszNzREFyURqbv\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b50610aa8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc36600461065a565b6101c6565b6040516100e5929190610707565b6100db61039c565b61012a61012536600461078f565b6103af565b6040516100e593929190610851565b436100db565b6100db61014d366004610879565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461078f565b6103ca565b6040516100e591906108b6565b61012a6101af36600461065a565b6105ef565b6100db6101c23660046108c9565b4090565b4360608267ffffffffffffffff8111156101e2576101e26108e2565b60405190808252806020026020018201604052801561021557816020015b60608152602001906001900390816102005790505b50905060005b838110156103945760008086868481811061023857610238610911565b905060200281019061024a9190610940565b610258906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1687878581811061028057610280610911565b90506020028101906102929190610940565b6102a090602081019061097e565b6040516102ae9291906109e3565b6000604051808303816000865af19150503d80600081146102eb576040519150601f19603f3d011682016040523d82523d6000602084013e6102f0565b606091505b509150915081610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061037457610374610911565b60200260200101819052505050808061038c90610a22565b91505061021b565b509250929050565b60006103a9600143610a5b565b40905090565b43804060606103bf8686866103ca565b905093509350939050565b60608167ffffffffffffffff8111156103e5576103e56108e2565b60405190808252806020026020018201604052801561042b57816020015b6040805180820190915260008152606060208201528152602001906001900390816104035790505b50905060005b828110156105e75760008085858481811061044e5761044e610911565b90506020028101906104609190610940565b61046e906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1686868581811061049657610496610911565b90506020028101906104a89190610940565b6104b690602081019061097e565b6040516104c49291906109e3565b6000604051808303816000865af19150503d8060008114610501576040519150601f19603f3d011682016040523d82523d6000602084013e610506565b606091505b5091509150861561059e578161059e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610358565b60405180604001604052808315158152602001828152508484815181106105c7576105c7610911565b6020026020010181905250505080806105df90610a22565b915050610431565b509392505050565b6000806060610600600186866103af565b919790965090945092505050565b60008083601f84011261062057600080fd5b50813567ffffffffffffffff81111561063857600080fd5b6020830191508360208260051b850101111561065357600080fd5b9250929050565b6000806020838503121561066d57600080fd5b823567ffffffffffffffff81111561068457600080fd5b6106908582860161060e565b90969095509350505050565b6000815180845260005b818110156106c2576020818501810151868301820152016106a6565b818111156106d4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610781577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088870301845261076f86835161069c565b95509284019290840190600101610735565b509398975050505050505050565b6000806000604084860312156107a457600080fd5b833580151581146107b457600080fd5b9250602084013567ffffffffffffffff8111156107d057600080fd5b6107dc8682870161060e565b9497909650939450505050565b6000815180845260208085019450848260051b860182860160005b85811015610844578383038952815180511515845285015160408685018190526108308186018361069c565b9a87019a9450505090840190600101610804565b5090979650505050505050565b83815282602082015260606040820152600061087060608301846107e9565b95945050505050565b60006020828403121561088b57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146108af57600080fd5b9392505050565b6020815260006108af60208301846107e9565b6000602082840312156108db57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261097457600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109b357600080fd5b83018035915067ffffffffffffffff8211156109ce57600080fd5b60200191503681900382131561065357600080fd5b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5457610a546109f3565b5060010190565b600082821015610a6d57610a6d6109f3565b50039056fea264697066735822122077208ff8ba60b1b1bbe5fdbec804b772ca19cb783a1a4c407178c27cab82157764736f6c634300080c0033","sourceMap":"280:2663:18:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc36600461065a565b6101c6565b6040516100e5929190610707565b6100db61039c565b61012a61012536600461078f565b6103af565b6040516100e593929190610851565b436100db565b6100db61014d366004610879565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461078f565b6103ca565b6040516100e591906108b6565b61012a6101af36600461065a565b6105ef565b6100db6101c23660046108c9565b4090565b4360608267ffffffffffffffff8111156101e2576101e26108e2565b60405190808252806020026020018201604052801561021557816020015b60608152602001906001900390816102005790505b50905060005b838110156103945760008086868481811061023857610238610911565b905060200281019061024a9190610940565b610258906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1687878581811061028057610280610911565b90506020028101906102929190610940565b6102a090602081019061097e565b6040516102ae9291906109e3565b6000604051808303816000865af19150503d80600081146102eb576040519150601f19603f3d011682016040523d82523d6000602084013e6102f0565b606091505b509150915081610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061037457610374610911565b60200260200101819052505050808061038c90610a22565b91505061021b565b509250929050565b60006103a9600143610a5b565b40905090565b43804060606103bf8686866103ca565b905093509350939050565b60608167ffffffffffffffff8111156103e5576103e56108e2565b60405190808252806020026020018201604052801561042b57816020015b6040805180820190915260008152606060208201528152602001906001900390816104035790505b50905060005b828110156105e75760008085858481811061044e5761044e610911565b90506020028101906104609190610940565b61046e906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1686868581811061049657610496610911565b90506020028101906104a89190610940565b6104b690602081019061097e565b6040516104c49291906109e3565b6000604051808303816000865af19150503d8060008114610501576040519150601f19603f3d011682016040523d82523d6000602084013e610506565b606091505b5091509150861561059e578161059e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610358565b60405180604001604052808315158152602001828152508484815181106105c7576105c7610911565b6020026020010181905250505080806105df90610a22565b915050610431565b509392505050565b6000806060610600600186866103af565b919790965090945092505050565b60008083601f84011261062057600080fd5b50813567ffffffffffffffff81111561063857600080fd5b6020830191508360208260051b850101111561065357600080fd5b9250929050565b6000806020838503121561066d57600080fd5b823567ffffffffffffffff81111561068457600080fd5b6106908582860161060e565b90969095509350505050565b6000815180845260005b818110156106c2576020818501810151868301820152016106a6565b818111156106d4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610781577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088870301845261076f86835161069c565b95509284019290840190600101610735565b509398975050505050505050565b6000806000604084860312156107a457600080fd5b833580151581146107b457600080fd5b9250602084013567ffffffffffffffff8111156107d057600080fd5b6107dc8682870161060e565b9497909650939450505050565b6000815180845260208085019450848260051b860182860160005b85811015610844578383038952815180511515845285015160408685018190526108308186018361069c565b9a87019a9450505090840190600101610804565b5090979650505050505050565b83815282602082015260606040820152600061087060608301846107e9565b95945050505050565b60006020828403121561088b57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146108af57600080fd5b9392505050565b6020815260006108af60208301846107e9565b6000602082840312156108db57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261097457600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109b357600080fd5b83018035915067ffffffffffffffff8211156109ce57600080fd5b60200191503681900382131561065357600080fd5b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5457610a546109f3565b5060010190565b600082821015610a6d57610a6d6109f3565b50039056fea264697066735822122077208ff8ba60b1b1bbe5fdbec804b772ca19cb783a1a4c407178c27cab82157764736f6c634300080c0033","sourceMap":"280:2663:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2571:120;2669:15;2571:120;;;160:25:28;;;148:2;133:18;2571:120:18;;;;;;;;454:447;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2817:124::-;;;:::i;1401:304::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;2080:111::-;2172:12;2080:111;;2697:114;;;;;;:::i;:::-;2792:12;;;;2697:114;2319:124;2420:16;2319:124;;2449:116;2544:14;2449:116;;2197;;;2292:14;5068:74:28;;5056:2;5041:18;2197:116:18;4922:226:28;907:488:18;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1711:223::-;;;;;;:::i;:::-;;:::i;1940:134::-;;;;;;:::i;:::-;2045:22;;1940:134;454:447;584:12;533:25;631:5;619:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;606:38;;659:9;654:241;674:16;;;654:241;;;712:12;726:16;746:5;;752:1;746:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:15;;;;;;;:::i;:::-;:20;;767:5;;773:1;767:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:17;;;;;;;:::i;:::-;746:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;711:74;;;;807:7;799:52;;;;;;;7487:2:28;799:52:18;;;7469:21:28;;;7506:18;;;7499:30;7565:34;7545:18;;;7538:62;7617:18;;799:52:18;;;;;;;;;881:3;865:10;876:1;865:13;;;;;;;;:::i;:::-;;;;;;:19;;;;697:198;;692:3;;;;;:::i;:::-;;;;654:241;;;;454:447;;;;;:::o;2817:124::-;2866:17;2917:16;2932:1;2917:12;:16;:::i;:::-;2907:27;2895:39;;2817:124;:::o;1401:304::-;1583:12;1617:23;;1531:26;1663:35;1676:14;1692:5;;1663:12;:35::i;:::-;1650:48;;1401:304;;;;;;;:::o;907:488::-;989:26;1053:5;1040:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1040:26:18;;;;;;;;;;;;;;;;1027:39;;1081:9;1076:313;1096:16;;;1076:313;;;1134:12;1148:16;1168:5;;1174:1;1168:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:15;;;;;;;:::i;:::-;:20;;1189:5;;1195:1;1189:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:17;;;;;;;:::i;:::-;1168:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1133:74;;;;1226:14;1222:106;;;1268:7;1260:53;;;;;;;8367:2:28;1260:53:18;;;8349:21:28;8406:2;8386:18;;;8379:30;8445:34;8425:18;;;8418:62;8516:3;8496:18;;;8489:31;8537:19;;1260:53:18;8165:397:28;1260:53:18;1358:20;;;;;;;;1365:7;1358:20;;;;;;1374:3;1358:20;;;1342:10;1353:1;1342:13;;;;;;;;:::i;:::-;;;;;;:36;;;;1119:270;;1114:3;;;;;:::i;:::-;;;;1076:313;;;;907:488;;;;;:::o;1711:223::-;1777:19;1798:17;1817:26;1894:33;1915:4;1921:5;;1894:20;:33::i;:::-;1855:72;;;;-1:-1:-1;1855:72:18;;-1:-1:-1;1711:223:18;-1:-1:-1;;;1711:223:18:o;196:380:28:-;272:8;282:6;336:3;329:4;321:6;317:17;313:27;303:55;;354:1;351;344:12;303:55;-1:-1:-1;377:20:28;;420:18;409:30;;406:50;;;452:1;449;442:12;406:50;489:4;481:6;477:17;465:29;;549:3;542:4;532:6;529:1;525:14;517:6;513:27;509:38;506:47;503:67;;;566:1;563;556:12;503:67;196:380;;;;;:::o;581:475::-;692:6;700;753:2;741:9;732:7;728:23;724:32;721:52;;;769:1;766;759:12;721:52;809:9;796:23;842:18;834:6;831:30;828:50;;;874:1;871;864:12;828:50;913:83;988:7;979:6;968:9;964:22;913:83;:::i;:::-;1015:8;;887:109;;-1:-1:-1;581:475:28;-1:-1:-1;;;;581:475:28:o;1061:530::-;1102:3;1140:5;1134:12;1167:6;1162:3;1155:19;1192:1;1202:162;1216:6;1213:1;1210:13;1202:162;;;1278:4;1334:13;;;1330:22;;1324:29;1306:11;;;1302:20;;1295:59;1231:12;1202:162;;;1382:6;1379:1;1376:13;1373:87;;;1448:1;1441:4;1432:6;1427:3;1423:16;1419:27;1412:38;1373:87;-1:-1:-1;1505:2:28;1493:15;1510:66;1489:88;1480:98;;;;1580:4;1476:109;;1061:530;-1:-1:-1;;1061:530:28:o;1596:930::-;1784:4;1832:2;1821:9;1817:18;1862:6;1851:9;1844:25;1888:2;1926;1921;1910:9;1906:18;1899:30;1949:6;1984;1978:13;2015:6;2007;2000:22;2053:2;2042:9;2038:18;2031:25;;2115:2;2105:6;2102:1;2098:14;2087:9;2083:30;2079:39;2065:53;;2153:2;2145:6;2141:15;2174:1;2184:313;2198:6;2195:1;2192:13;2184:313;;;2287:66;2275:9;2267:6;2263:22;2259:95;2254:3;2247:108;2378:39;2410:6;2401;2395:13;2378:39;:::i;:::-;2368:49;-1:-1:-1;2475:12:28;;;;2440:15;;;;2220:1;2213:9;2184:313;;;-1:-1:-1;2514:6:28;;1596:930;-1:-1:-1;;;;;;;;1596:930:28:o;2713:636::-;2830:6;2838;2846;2899:2;2887:9;2878:7;2874:23;2870:32;2867:52;;;2915:1;2912;2905:12;2867:52;2954:9;2941:23;3007:5;3000:13;2993:21;2986:5;2983:32;2973:60;;3029:1;3026;3019:12;2973:60;3052:5;-1:-1:-1;3108:2:28;3093:18;;3080:32;3135:18;3124:30;;3121:50;;;3167:1;3164;3157:12;3121:50;3206:83;3281:7;3272:6;3261:9;3257:22;3206:83;:::i;:::-;2713:636;;3308:8;;-1:-1:-1;3180:109:28;;-1:-1:-1;;;;2713:636:28:o;3354:785::-;3413:3;3451:5;3445:12;3478:6;3473:3;3466:19;3504:4;3533:2;3528:3;3524:12;3517:19;;3558:3;3598:6;3595:1;3591:14;3586:3;3582:24;3640:2;3633:5;3629:14;3661:1;3671:442;3685:6;3682:1;3679:13;3671:442;;;3746:16;;;3734:29;;3786:13;;3866:9;;3859:17;3852:25;3839:39;;3917:11;;3911:18;3822:4;3949:13;;;3942:25;;;3988:45;4019:13;;;3911:18;3988:45;:::i;:::-;4091:12;;;;3980:53;-1:-1:-1;;;4056:15:28;;;;3707:1;3700:9;3671:442;;;-1:-1:-1;4129:4:28;;3354:785;-1:-1:-1;;;;;;;3354:785:28:o;4144:459::-;4429:6;4418:9;4411:25;4472:6;4467:2;4456:9;4452:18;4445:34;4515:2;4510;4499:9;4495:18;4488:30;4392:4;4535:62;4593:2;4582:9;4578:18;4570:6;4535:62;:::i;:::-;4527:70;4144:459;-1:-1:-1;;;;;4144:459:28:o;4608:309::-;4667:6;4720:2;4708:9;4699:7;4695:23;4691:32;4688:52;;;4736:1;4733;4726:12;4688:52;4775:9;4762:23;4825:42;4818:5;4814:54;4807:5;4804:65;4794:93;;4883:1;4880;4873:12;4794:93;4906:5;4608:309;-1:-1:-1;;;4608:309:28:o;5153:317::-;5382:2;5371:9;5364:21;5345:4;5402:62;5460:2;5449:9;5445:18;5437:6;5402:62;:::i;5475:180::-;5534:6;5587:2;5575:9;5566:7;5562:23;5558:32;5555:52;;;5603:1;5600;5593:12;5555:52;-1:-1:-1;5626:23:28;;5475:180;-1:-1:-1;5475:180:28:o;5660:184::-;5712:77;5709:1;5702:88;5809:4;5806:1;5799:15;5833:4;5830:1;5823:15;5849:184;5901:77;5898:1;5891:88;5998:4;5995:1;5988:15;6022:4;6019:1;6012:15;6038:381;6129:4;6187:11;6174:25;6277:66;6266:8;6250:14;6246:29;6242:102;6222:18;6218:127;6208:155;;6359:1;6356;6349:12;6208:155;6380:33;;;;;6038:381;-1:-1:-1;;6038:381:28:o;6424:580::-;6501:4;6507:6;6567:11;6554:25;6657:66;6646:8;6630:14;6626:29;6622:102;6602:18;6598:127;6588:155;;6739:1;6736;6729:12;6588:155;6766:33;;6818:20;;;-1:-1:-1;6861:18:28;6850:30;;6847:50;;;6893:1;6890;6883:12;6847:50;6926:4;6914:17;;-1:-1:-1;6957:14:28;6953:27;;;6943:38;;6940:58;;;6994:1;6991;6984:12;7009:271;7192:6;7184;7179:3;7166:33;7148:3;7218:16;;7243:13;;;7218:16;7009:271;-1:-1:-1;7009:271:28:o;7646:184::-;7698:77;7695:1;7688:88;7795:4;7792:1;7785:15;7819:4;7816:1;7809:15;7835:195;7874:3;7905:66;7898:5;7895:77;7892:103;;;7975:18;;:::i;:::-;-1:-1:-1;8022:1:28;8011:13;;7835:195::o;8035:125::-;8075:4;8103:1;8100;8097:8;8094:34;;;8108:18;;:::i;:::-;-1:-1:-1;8145:9:28;;8035:125::o","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","blockAndAggregate((address,bytes)[])":"c3077fa9","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/Multicall3.sol":{"Multicall3":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Elliot Joshua Levine Nick Johnson Andreas Bigger Matt Solomon \",\"details\":\"Multicall & Multicall2 backwards-compatibleAggregate methods are marked `payable` to save 24 gas per call\",\"kind\":\"dev\",\"methods\":{\"aggregate((address,bytes)[])\":{\"params\":{\"calls\":\"An array of Call structs\"},\"returns\":{\"blockNumber\":\"The block number where the calls were executed\",\"returnData\":\"An array of bytes containing the responses\"}},\"aggregate3((address,bool,bytes)[])\":{\"params\":{\"calls\":\"An array of Call3 structs\"},\"returns\":{\"returnData\":\"An array of Result structs\"}},\"aggregate3Value((address,bool,uint256,bytes)[])\":{\"params\":{\"calls\":\"An array of Call3Value structs\"},\"returns\":{\"returnData\":\"An array of Result structs\"}},\"blockAndAggregate((address,bytes)[])\":{\"params\":{\"calls\":\"An array of Call structs\"},\"returns\":{\"blockHash\":\"The hash of the block where the calls were executed\",\"blockNumber\":\"The block number where the calls were executed\",\"returnData\":\"An array of Result structs\"}},\"getBlockHash(uint256)\":{\"params\":{\"blockNumber\":\"The block number\"}},\"tryAggregate(bool,(address,bytes)[])\":{\"params\":{\"calls\":\"An array of Call structs\",\"requireSuccess\":\"If true, require all calls to succeed\"},\"returns\":{\"returnData\":\"An array of Result structs\"}},\"tryBlockAndAggregate(bool,(address,bytes)[])\":{\"params\":{\"calls\":\"An array of Call structs\"},\"returns\":{\"blockHash\":\"The hash of the block where the calls were executed\",\"blockNumber\":\"The block number where the calls were executed\",\"returnData\":\"An array of Result structs\"}}},\"title\":\"Multicall3\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"aggregate((address,bytes)[])\":{\"notice\":\"Backwards-compatible call aggregation with Multicall\"},\"aggregate3((address,bool,bytes)[])\":{\"notice\":\"Aggregate calls, ensuring each returns success if required\"},\"aggregate3Value((address,bool,uint256,bytes)[])\":{\"notice\":\"Aggregate calls with a msg valueReverts if msg.value is less than the sum of the call values\"},\"blockAndAggregate((address,bytes)[])\":{\"notice\":\"Backwards-compatible with Multicall2Aggregate calls and allow failures using tryAggregate\"},\"getBasefee()\":{\"notice\":\"Gets the base fee of the given blockCan revert if the BASEFEE opcode is not implemented by the given chain\"},\"getBlockHash(uint256)\":{\"notice\":\"Returns the block hash for the given block number\"},\"getBlockNumber()\":{\"notice\":\"Returns the block number\"},\"getChainId()\":{\"notice\":\"Returns the chain id\"},\"getCurrentBlockCoinbase()\":{\"notice\":\"Returns the block coinbase\"},\"getCurrentBlockDifficulty()\":{\"notice\":\"Returns the block difficulty\"},\"getCurrentBlockGasLimit()\":{\"notice\":\"Returns the block gas limit\"},\"getCurrentBlockTimestamp()\":{\"notice\":\"Returns the block timestamp\"},\"getEthBalance(address)\":{\"notice\":\"Returns the (ETH) balance of a given address\"},\"getLastBlockHash()\":{\"notice\":\"Returns the block hash of the last block\"},\"tryAggregate(bool,(address,bytes)[])\":{\"notice\":\"Backwards-compatible with Multicall2Aggregate calls without requiring success\"},\"tryBlockAndAggregate(bool,(address,bytes)[])\":{\"notice\":\"Backwards-compatible with Multicall2Aggregate calls and allow failures using tryAggregate\"}},\"notice\":\"Aggregate results from multiple function calls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Multicall3.sol\":\"Multicall3\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/Multicall3.sol\":{\"keccak256\":\"0x95dfd0a2dd6626c7119ff7c3f214d56b289145f81a0521cd93a6252a326966f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead513cb13fe5373523cb3e1f3f1a1052791503269f4cc22e5e6177ed57d03ae\",\"dweb:/ipfs/Qmd5sRoq3rxHpBkcHr4baM2zP6Sud6eAL7AFoBbizFnWji\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b50610ee0806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220449a18ce35be1adaedc9fa8ac86170e8c0f9b35e4a63d7b367123a4743501ae564736f6c634300080c0033","sourceMap":"502:9107:19:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220449a18ce35be1adaedc9fa8ac86170e8c0f9b35e4a63d7b367123a4743501ae564736f6c634300080c0033","sourceMap":"502:9107:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8696:120;;;;;;;;;;-1:-1:-1;8794:15:19;8696:120;;;160:25:28;;;148:2;133:18;8696:120:19;;;;;;;;5771:1961;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1166:534::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;9060:158::-;;;;;;;;;;-1:-1:-1;9184:12:19;:16;;9174:27;9060:158;;9507:100;;;;;;;;;;-1:-1:-1;9587:13:19;9507:100;;2932:312;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;9364:100::-;;;;;;;;;;-1:-1:-1;9444:13:19;9364:100;;8029:111;;;;;;;;;;-1:-1:-1;8121:12:19;8029:111;;8883:114;;;;;;;;;;-1:-1:-1;8883:114:19;;;;;:::i;:::-;8978:12;;;;8883:114;8356:124;;;;;;;;;;-1:-1:-1;8457:16:19;8356:124;;4039:1494;;;;;;:::i;:::-;;:::i;8530:116::-;;;;;;;;;;-1:-1:-1;8625:14:19;8530:116;;8189;;;;;;;;;;-1:-1:-1;8189:116:19;;8284:14;6471:74:28;;6459:2;6444:18;8189:116:19;6325:226:28;1985:565:19;;;;;;:::i;:::-;;:::i;3626:231::-;;;;;;:::i;:::-;;:::i;7848:134::-;;;;;;;;;;-1:-1:-1;7848:134:19;;;;;:::i;:::-;7953:22;;7848:134;5771:1961;5849:26;5887:22;5936:5;;5971:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5971:20:19;;;;;;;;;;;;;;;;5958:33;;6001:25;6041:9;6036:1545;6060:6;6056:1;:10;6036:1545;;;6083:20;6106:10;6117:1;6106:13;;;;;;;;:::i;:::-;;;;;;;6083:36;;6141:5;;6147:1;6141:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;6177:11;;;;6389:21;;;;6133:16;;-1:-1:-1;6464:12:19;;;;6133:16;6464:12;:::i;:::-;:17;;6489:3;6494:14;;;;:5;:14;:::i;:::-;6464:45;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6443:17:19;;;;6426:83;;;;;;;;;;6746:16;;;6733:30;6730:49;6720:806;;6914:66;6908:4;6901:80;7054:66;7048:4;7041:80;7206:66;7200:4;7193:80;7402:66;7396:4;7389:80;7503:4;7497;7490:18;6720:806;-1:-1:-1;;7565:3:19;;6036:1545;;;;7680:14;7667:9;:27;7659:66;;;;;;;8574:2:28;7659:66:19;;;8556:21:28;8613:2;8593:18;;;8586:30;8652:28;8632:18;;;8625:56;8698:18;;7659:66:19;;;;;;;;;5877:1855;;;5771:1961;;;;:::o;1166:534::-;1304:12;1253:25;1343:5;;1378:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1365:32;;1407:18;1440:9;1435:259;1459:6;1455:1;:10;1435:259;;;1482:12;1515:5;;1521:1;1515:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;1508:15;-1:-1:-1;1564:11:19;;;;1508:15;1564:11;:::i;:::-;:16;;1581:13;;;;:4;:13;:::i;:::-;1564:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1547:10;1558:1;1547:13;;;;;;;;:::i;:::-;;;;;;;;;;1537:58;;-1:-1:-1;1537:58:19;1609:43;;;;;;;9315:2:28;1609:43:19;;;9297:21:28;9354:2;9334:18;;;9327:30;9393:25;9373:18;;;9366:53;9436:18;;1609:43:19;9113:347:28;1609:43:19;-1:-1:-1;1678:3:19;;1435:259;;;;1280:420;;1166:534;;;;;:::o;2932:312::-;3122:12;3156:23;;3070:26;3202:35;3215:14;3231:5;;3202:12;:35::i;:::-;3189:48;;2932:312;;;;;;;:::o;4039:1494::-;4107:26;4162:5;;4197:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;4197:20:19;;;;;;;;;;;;;;;;4184:33;;4227:20;4262:9;4257:1270;4281:6;4277:1;:10;4257:1270;;;4304:20;4327:10;4338:1;4327:13;;;;;;;;:::i;:::-;;;;;;;4304:36;;4362:5;;4368:1;4362:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4354:16;-1:-1:-1;4422:12:19;;;;4354:16;4422:12;:::i;:::-;:17;;4440:14;;;;:5;:14;:::i;:::-;4422:33;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4401:17:19;;;;4384:71;;;;;;;;;;4692:16;;;4679:30;4676:49;4666:806;;4860:66;4854:4;4847:80;5000:66;4994:4;4987:80;5152:66;5146:4;5139:80;5348:66;5342:4;5335:80;5449:4;5443;5436:18;4666:806;-1:-1:-1;5511:3:19;;4257:1270;;1985:565;2075:26;2130:5;;2165:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2165:20:19;;;;;;;;;;;;;;;;2152:33;;2195:18;2228:9;2223:321;2247:6;2243:1;:10;2223:321;;;2270:20;2293:10;2304:1;2293:13;;;;;;;;:::i;:::-;;;;;;;2270:36;;2327:5;;2333:1;2327:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;2320:15;-1:-1:-1;2387:11:19;;;;2320:15;2387:11;:::i;:::-;:16;;2404:13;;;;:4;:13;:::i;:::-;2387:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2366:17:19;;;2349:69;;;;;2432:70;;;;2460:14;;2452:50;;;;;;;9315:2:28;2452:50:19;;;9297:21:28;9354:2;9334:18;;;9327:30;9393:25;9373:18;;;9366:53;9436:18;;2452:50:19;9113:347:28;2452:50:19;-1:-1:-1;2528:3:19;;2223:321;;;;2103:447;;1985:565;;;;;:::o;3626:231::-;3700:19;3721:17;3740:26;3817:33;3838:4;3844:5;;3817:20;:33::i;:::-;3778:72;;;;-1:-1:-1;3778:72:19;;-1:-1:-1;3626:231:19;-1:-1:-1;;;3626:231:19:o;196:386:28:-;278:8;288:6;342:3;335:4;327:6;323:17;319:27;309:55;;360:1;357;350:12;309:55;-1:-1:-1;383:20:28;;426:18;415:30;;412:50;;;458:1;455;448:12;412:50;495:4;487:6;483:17;471:29;;555:3;548:4;538:6;535:1;531:14;523:6;519:27;515:38;512:47;509:67;;;572:1;569;562:12;509:67;196:386;;;;;:::o;587:487::-;704:6;712;765:2;753:9;744:7;740:23;736:32;733:52;;;781:1;778;771:12;733:52;821:9;808:23;854:18;846:6;843:30;840:50;;;886:1;883;876:12;840:50;925:89;1006:7;997:6;986:9;982:22;925:89;:::i;:::-;1033:8;;899:115;;-1:-1:-1;587:487:28;-1:-1:-1;;;;587:487:28:o;1079:530::-;1120:3;1158:5;1152:12;1185:6;1180:3;1173:19;1210:1;1220:162;1234:6;1231:1;1228:13;1220:162;;;1296:4;1352:13;;;1348:22;;1342:29;1324:11;;;1320:20;;1313:59;1249:12;1220:162;;;1400:6;1397:1;1394:13;1391:87;;;1466:1;1459:4;1450:6;1445:3;1441:16;1437:27;1430:38;1391:87;-1:-1:-1;1523:2:28;1511:15;1528:66;1507:88;1498:98;;;;1598:4;1494:109;;1079:530;-1:-1:-1;;1079:530:28:o;1614:869::-;1673:3;1704;1736:5;1730:12;1763:6;1758:3;1751:19;1789:4;1818:2;1813:3;1809:12;1802:19;;1874:2;1864:6;1861:1;1857:14;1850:5;1846:26;1842:35;1911:2;1904:5;1900:14;1932:1;1942:515;1956:6;1953:1;1950:13;1942:515;;;2021:16;;;2039:66;2017:89;2005:102;;2130:13;;2210:9;;2203:17;2196:25;2183:39;;2261:11;;2255:18;2166:4;2293:13;;;2286:25;;;2332:45;2363:13;;;2255:18;2332:45;:::i;:::-;2435:12;;;;2324:53;-1:-1:-1;;;2400:15:28;;;;1978:1;1971:9;1942:515;;;-1:-1:-1;2473:4:28;;1614:869;-1:-1:-1;;;;;;;1614:869:28:o;2488:317::-;2717:2;2706:9;2699:21;2680:4;2737:62;2795:2;2784:9;2780:18;2772:6;2737:62;:::i;:::-;2729:70;2488:317;-1:-1:-1;;;2488:317:28:o;3296:930::-;3484:4;3532:2;3521:9;3517:18;3562:6;3551:9;3544:25;3588:2;3626;3621;3610:9;3606:18;3599:30;3649:6;3684;3678:13;3715:6;3707;3700:22;3753:2;3742:9;3738:18;3731:25;;3815:2;3805:6;3802:1;3798:14;3787:9;3783:30;3779:39;3765:53;;3853:2;3845:6;3841:15;3874:1;3884:313;3898:6;3895:1;3892:13;3884:313;;;3987:66;3975:9;3967:6;3963:22;3959:95;3954:3;3947:108;4078:39;4110:6;4101;4095:13;4078:39;:::i;:::-;4068:49;-1:-1:-1;4175:12:28;;;;4140:15;;;;3920:1;3913:9;3884:313;;;-1:-1:-1;4214:6:28;;3296:930;-1:-1:-1;;;;;;;;3296:930:28:o;4413:642::-;4530:6;4538;4546;4599:2;4587:9;4578:7;4574:23;4570:32;4567:52;;;4615:1;4612;4605:12;4567:52;4654:9;4641:23;4707:5;4700:13;4693:21;4686:5;4683:32;4673:60;;4729:1;4726;4719:12;4673:60;4752:5;-1:-1:-1;4808:2:28;4793:18;;4780:32;4835:18;4824:30;;4821:50;;;4867:1;4864;4857:12;4821:50;4906:89;4987:7;4978:6;4967:9;4963:22;4906:89;:::i;:::-;4413:642;;5014:8;;-1:-1:-1;4880:115:28;;-1:-1:-1;;;;4413:642:28:o;5060:459::-;5345:6;5334:9;5327:25;5388:6;5383:2;5372:9;5368:18;5361:34;5431:2;5426;5415:9;5411:18;5404:30;5308:4;5451:62;5509:2;5498:9;5494:18;5486:6;5451:62;:::i;:::-;5443:70;5060:459;-1:-1:-1;;;;;5060:459:28:o;5524:309::-;5583:6;5636:2;5624:9;5615:7;5611:23;5607:32;5604:52;;;5652:1;5649;5642:12;5604:52;5691:9;5678:23;5741:42;5734:5;5730:54;5723:5;5720:65;5710:93;;5799:1;5796;5789:12;6556:180;6615:6;6668:2;6656:9;6647:7;6643:23;6639:32;6636:52;;;6684:1;6681;6674:12;6636:52;-1:-1:-1;6707:23:28;;6556:180;-1:-1:-1;6556:180:28:o;6741:184::-;6793:77;6790:1;6783:88;6890:4;6887:1;6880:15;6914:4;6911:1;6904:15;6930:184;6982:77;6979:1;6972:88;7079:4;7076:1;7069:15;7103:4;7100:1;7093:15;7119:387;7216:4;7274:11;7261:25;7364:66;7353:8;7337:14;7333:29;7329:102;7309:18;7305:127;7295:155;;7446:1;7443;7436:12;7295:155;7467:33;;;;;7119:387;-1:-1:-1;;7119:387:28:o;7511:580::-;7588:4;7594:6;7654:11;7641:25;7744:66;7733:8;7717:14;7713:29;7709:102;7689:18;7685:127;7675:155;;7826:1;7823;7816:12;7675:155;7853:33;;7905:20;;;-1:-1:-1;7948:18:28;7937:30;;7934:50;;;7980:1;7977;7970:12;7934:50;8013:4;8001:17;;-1:-1:-1;8044:14:28;8040:27;;;8030:38;;8027:58;;;8081:1;8078;8071:12;8096:271;8279:6;8271;8266:3;8253:33;8235:3;8305:16;;8330:13;;;8305:16;8096:271;-1:-1:-1;8096:271:28:o;8727:381::-;8818:4;8876:11;8863:25;8966:66;8955:8;8939:14;8935:29;8931:102;8911:18;8907:127;8897:155;;9048:1;9045;9038:12;9465:382;9557:4;9615:11;9602:25;9705:66;9694:8;9678:14;9674:29;9670:102;9650:18;9646:127;9636:155;;9787:1;9784;9777:12","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/interfaces/IMulticall.sol":{"IMulticall":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IMulticall.sol\":\"IMulticall\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/interfaces/IMulticall.sol\":{\"keccak256\":\"0x51e0491a333d34ec908d7965ffece690d54afee75bf82af96958f1dc3ca2e783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50f90adf483a3acaa3b0068cbd10a46f3a542dd021b9635d3f9e24fdc0e6538d\",\"dweb:/ipfs/QmdDbUrV4sBGTtRsKEfipJY7unBSreiZJJaL3xuoyks1n1\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","getBlockHash(uint256)":"ee82ac5e","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e"}}}},"src/interfaces/IMulticall2.sol":{"IMulticall2":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IMulticall2.sol\":\"IMulticall2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/interfaces/IMulticall2.sol\":{\"keccak256\":\"0x869ae5f254316aa9632ee4d46ada83997e18a0251a67787de80c846de628fa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f9b3abf0cb4f97760c6885a977ff4d297d5b8c4649e554edeffe74f12e665ed\",\"dweb:/ipfs/QmaoSbZpEK49MxvNSHY86FvTkgdEJrr9DngR4BtHL7mGfu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","blockAndAggregate((address,bytes)[])":"c3077fa9","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/interfaces/IMulticall3.sol":{"IMulticall3":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x9a8117c426e1265aaf9f523c284c1caf63bd1568e4d6b379d80c9ac214c539b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e35ffef4b3a96f8f0d3f6f4d7256b9c5f890b6e7c861f4f64b7b95eebf137541\",\"dweb:/ipfs/QmPWjRA3PwphJeq4QEHsXqsazfpPRYSjFb5tKx87ZXGsPk\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/test/Multicall.t.sol":{"MulticallTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockCoinbase","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockDifficulty","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockGasLimit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockTimestamp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetLastBlockHash","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testUnsuccessfulAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"testGetBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockCoinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockDifficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockGasLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockTimestamp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"testGetEthBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetLastBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUnsuccessfulAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setUp()\":{\"notice\":\"Setups up the testing suite\"},\"testAggregation()\":{\"notice\":\">>>>>>>>>>>>>>>>>>>> AGGREGATION TESTS <<<<<<<<<<<<<<<<<<<< ///\"},\"testGetEthBalance(address)\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/Multicall.t.sol\":\"MulticallTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"src/Multicall.sol\":{\"keccak256\":\"0x117ad98f28e53388f21baae456066a3fdcdbaaca09e96a032eadc358b0263e32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acea4417df8bad0f502cf2c21f079a1ba5d222671698a2e10baa636ea7baac25\",\"dweb:/ipfs/QmPSvy6SKWw8GeQiFu3K9s9kvq7NUGCbsifcop3gPjVrz3\"]},\"src/test/Multicall.t.sol\":{\"keccak256\":\"0x65fe69329f006962538ec1e895ab39cdde6d33e5c0e1781648df0d9ffb64eac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ab73587c42d88342502612145b9ef27768bcc2ec907b488d0fbe1decd68d79\",\"dweb:/ipfs/QmfTTryPX6jbzjgeXFAAr1PsBV7G8X19qQY4yrhcmKRgnr\"]},\"src/test/mocks/MockCallee.sol\":{\"keccak256\":\"0x71cb32f7523d3b0f3304ba44a27e11d20d852fc041f44bd86deac14db74d3900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94abae22bf2a1504705a8f1ce14cf45ef27caea856dc6e81131594c0e557ee78\",\"dweb:/ipfs/QmNtv3JjtVnHAJjBg8YyMpkHu8TAwfTde5GNsoknifXsXT\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405260008054600160ff19918216811790925560048054909116909117905534801561002d57600080fd5b506128088061003d6000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80638ef09210116100cd578063af05609211610081578063ba414fa611610066578063ba414fa614610241578063e20c9f7114610259578063fa7626d41461026157600080fd5b8063af05609214610231578063b5508aa91461023957600080fd5b8063916a17c6116100b2578063916a17c614610219578063943849a914610221578063a28c5e341461022957600080fd5b80638ef09210146101fe5780639027c03f1461021157600080fd5b80634059c0021161012457806366d9a9a01161010957806366d9a9a0146101cc57806377185968146101e157806385226c81146101e957600080fd5b80634059c002146101b157806341e299fe146101b957600080fd5b80632fc1b6ab116101555780632fc1b6ab146101995780633e5e3c23146101a15780633f7286f4146101a957600080fd5b80630a9254e4146101715780631ed7831c1461017b575b600080fd5b61017961026e565b005b61018361034c565b60405161019091906117c1565b60405180910390f35b6101796103bb565b6101836105ef565b61018361065c565b6101796106c9565b6101796101c736600461181b565b610765565b6101d4610807565b6040516101909190611834565b610179610918565b6101f1610989565b60405161019091906119a4565b61017961020c366004611a46565b610a59565b610179610ad1565b6101d4610b6b565b610179610c73565b610179610ce4565b610179610fdd565b6101f1611060565b610249611130565b6040519015158152602001610190565b610183611290565b6000546102499060ff1681565b60405161027a906117a7565b604051809103906000f080158015610296573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516102e8906117b4565b604051809103906000f080158015610304573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060600d8054806020026020016040519081016040528092919081815260200182805480156103b157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575b5050505050905090565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816103d257905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906104bd576104bd611a99565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610523908690600401611ac8565b6000604051808303816000875af1158015610542573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105889190810190611bbf565b9150915061059682436112fd565b6105ea816000815181106105ac576105ac611a99565b60200260200101518051906020012043406040516020016105cf91815260200190565b6040516020818303038152906040528051906020012061140b565b505050565b6060600f8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b61076342601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e9190611cfe565b6112fd565b565b601b546040517fee82ac5e000000000000000000000000000000000000000000000000000000008152600481018390526108049183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa1580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ff9190611cfe565b61140b565b50565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561090f57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff1683526001810180548351818702810187019094528084529394919385830193928301828280156108f757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116108a45790505b5050505050815250508152602001906001019061082b565b50505050905090565b61076344601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561090f5783829060005260206000200180546109cc90611d17565b80601f01602080910402602001604051908101604052809291908181526020018280546109f890611d17565b8015610a455780601f10610a1a57610100808354040283529160200191610a45565b820191906000526020600020905b815481529060010190602001808311610a2857829003601f168201915b5050505050815260200190600101906109ad565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830181905261080493903192911690634d2301cc90602401602060405180830381865afa15801561073a573d6000803e3d6000fd5b61076341601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b669190611d6b565b611505565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561090f57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015610c5b57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610c085790505b50505050508152505081526020019060010190610b8f565b61076345601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081610cfc57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610de757610de7611a99565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110610e8757610e87611a99565b60209081029190910181019190915260408051918201815260008252517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391610ef09190600401611d88565b600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150610f78908490600401611ac8565b6000604051808303816000875af1158015610f97573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105ea9190810190611bbf565b43610fe457565b610763610ff2600143611d9b565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107db573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561090f5783829060005260206000200180546110a390611d17565b80601f01602080910402602001604051908101604052809291908181526020018280546110cf90611d17565b801561111c5780601f106110f15761010080835404028352916020019161111c565b820191906000526020600020905b8154815290600101906020018083116110ff57829003601f168201915b505050505081526020019060010190611084565b60008054610100900460ff16156111505750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561128b5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c65640000000000000000000000000000000000000000000000000000828401528251808303840181526060830190935260009290916111f5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001611dd9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261122d91611e21565b6000604051808303816000865af19150503d806000811461126a576040519150601f19603f3d011682016040523d82523d6000602084013e61126f565b606091505b50915050808060200190518101906112879190611e3d565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b808214611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516113899060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516113c09190611e5f565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516113f79190611eaa565b60405180910390a161140761162b565b5050565b808214611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516114979060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516114ce9190611e5f565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516113f79190611eaa565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516115bd9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f826040516115f49190611ee7565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f816040516113f79190611f48565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156117795760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526116fa9291602001611dd9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261173291611e21565b6000604051808303816000865af19150503d806000811461176f576040519150601f19603f3d011682016040523d82523d6000602084013e611774565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b61063d80611f8683390190565b610210806125c383390190565b6020808252825182820181905260009190848201906040850190845b8181101561180f57835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016117dd565b50909695505050505050565b60006020828403121561182d57600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561191b578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b808310156119065783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906118c4565b50978a0197955050509187019160010161185c565b50919998505050505050505050565b60005b8381101561194557818101518382015260200161192d565b83811115611954576000848401525b50505050565b6000815180845261197281602086016020860161192a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611a17577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611a0585835161195a565b945092850192908501906001016119cb565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080457600080fd5b600060208284031215611a5857600080fd5b8135611a6381611a24565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611b62578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452870151878401879052611b4f8785018261195a565b9588019593505090860190600101611aef565b509098975050505050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611bb757611bb7611a6a565b604052919050565b6000806040808486031215611bd357600080fd5b8351925060208085015167ffffffffffffffff80821115611bf357600080fd5b8187019150601f8881840112611c0857600080fd5b825182811115611c1a57611c1a611a6a565b8060051b611c29868201611b70565b918252848101860191868101908c841115611c4357600080fd5b87870192505b83831015611ceb57825186811115611c615760008081fd5b8701603f81018e13611c735760008081fd5b8881015187811115611c8757611c87611a6a565b611cb68a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08984011601611b70565b8181528f8c838501011115611ccb5760008081fd5b611cda828c83018e860161192a565b845250509187019190870190611c49565b8099505050505050505050509250929050565b600060208284031215611d1057600080fd5b5051919050565b600181811c90821680611d2b57607f821691505b60208210811415611d65577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215611d7d57600080fd5b8151611a6381611a24565b602081526000611a63602083018461195a565b600082821015611dd4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251611e1381600485016020870161192a565b919091016004019392505050565b60008251611e3381846020870161192a565b9190910192915050565b600060208284031215611e4f57600080fd5b81518015158114611a6357600080fd5b604081526000611e9c60408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b604081526000611e9c60408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b604081526000611f2460408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b604081526000611f2460408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b5061061d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220da399b6e256d79127a8ea91c123c0847d97289d882064a4e78f6ce4a2a9a4fff64736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c0033a2646970667358221220298e45c18bea68c000009d990c95cc76b52f02f07961e494a1d9f8bf68a873fe64736f6c634300080c0033","sourceMap":"194:2234:23:-:0;;;1572:26:0;;;1594:4;-1:-1:-1;;1572:26:0;;;;;;;;3288:44:3;;;;;;;;;;;194:2234:23;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b506004361061016c5760003560e01c80638ef09210116100cd578063af05609211610081578063ba414fa611610066578063ba414fa614610241578063e20c9f7114610259578063fa7626d41461026157600080fd5b8063af05609214610231578063b5508aa91461023957600080fd5b8063916a17c6116100b2578063916a17c614610219578063943849a914610221578063a28c5e341461022957600080fd5b80638ef09210146101fe5780639027c03f1461021157600080fd5b80634059c0021161012457806366d9a9a01161010957806366d9a9a0146101cc57806377185968146101e157806385226c81146101e957600080fd5b80634059c002146101b157806341e299fe146101b957600080fd5b80632fc1b6ab116101555780632fc1b6ab146101995780633e5e3c23146101a15780633f7286f4146101a957600080fd5b80630a9254e4146101715780631ed7831c1461017b575b600080fd5b61017961026e565b005b61018361034c565b60405161019091906117c1565b60405180910390f35b6101796103bb565b6101836105ef565b61018361065c565b6101796106c9565b6101796101c736600461181b565b610765565b6101d4610807565b6040516101909190611834565b610179610918565b6101f1610989565b60405161019091906119a4565b61017961020c366004611a46565b610a59565b610179610ad1565b6101d4610b6b565b610179610c73565b610179610ce4565b610179610fdd565b6101f1611060565b610249611130565b6040519015158152602001610190565b610183611290565b6000546102499060ff1681565b60405161027a906117a7565b604051809103906000f080158015610296573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516102e8906117b4565b604051809103906000f080158015610304573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060600d8054806020026020016040519081016040528092919081815260200182805480156103b157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575b5050505050905090565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816103d257905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906104bd576104bd611a99565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610523908690600401611ac8565b6000604051808303816000875af1158015610542573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105889190810190611bbf565b9150915061059682436112fd565b6105ea816000815181106105ac576105ac611a99565b60200260200101518051906020012043406040516020016105cf91815260200190565b6040516020818303038152906040528051906020012061140b565b505050565b6060600f8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b61076342601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e9190611cfe565b6112fd565b565b601b546040517fee82ac5e000000000000000000000000000000000000000000000000000000008152600481018390526108049183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa1580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ff9190611cfe565b61140b565b50565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561090f57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff1683526001810180548351818702810187019094528084529394919385830193928301828280156108f757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116108a45790505b5050505050815250508152602001906001019061082b565b50505050905090565b61076344601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561090f5783829060005260206000200180546109cc90611d17565b80601f01602080910402602001604051908101604052809291908181526020018280546109f890611d17565b8015610a455780601f10610a1a57610100808354040283529160200191610a45565b820191906000526020600020905b815481529060010190602001808311610a2857829003601f168201915b5050505050815260200190600101906109ad565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830181905261080493903192911690634d2301cc90602401602060405180830381865afa15801561073a573d6000803e3d6000fd5b61076341601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b669190611d6b565b611505565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561090f57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015610c5b57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610c085790505b50505050508152505081526020019060010190610b8f565b61076345601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081610cfc57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610de757610de7611a99565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110610e8757610e87611a99565b60209081029190910181019190915260408051918201815260008252517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391610ef09190600401611d88565b600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150610f78908490600401611ac8565b6000604051808303816000875af1158015610f97573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105ea9190810190611bbf565b43610fe457565b610763610ff2600143611d9b565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107db573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561090f5783829060005260206000200180546110a390611d17565b80601f01602080910402602001604051908101604052809291908181526020018280546110cf90611d17565b801561111c5780601f106110f15761010080835404028352916020019161111c565b820191906000526020600020905b8154815290600101906020018083116110ff57829003601f168201915b505050505081526020019060010190611084565b60008054610100900460ff16156111505750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561128b5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c65640000000000000000000000000000000000000000000000000000828401528251808303840181526060830190935260009290916111f5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001611dd9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261122d91611e21565b6000604051808303816000865af19150503d806000811461126a576040519150601f19603f3d011682016040523d82523d6000602084013e61126f565b606091505b50915050808060200190518101906112879190611e3d565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b808214611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516113899060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516113c09190611e5f565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516113f79190611eaa565b60405180910390a161140761162b565b5050565b808214611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516114979060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516114ce9190611e5f565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516113f79190611eaa565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516115bd9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f826040516115f49190611ee7565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f816040516113f79190611f48565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156117795760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526116fa9291602001611dd9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261173291611e21565b6000604051808303816000865af19150503d806000811461176f576040519150601f19603f3d011682016040523d82523d6000602084013e611774565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b61063d80611f8683390190565b610210806125c383390190565b6020808252825182820181905260009190848201906040850190845b8181101561180f57835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016117dd565b50909695505050505050565b60006020828403121561182d57600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561191b578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b808310156119065783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906118c4565b50978a0197955050509187019160010161185c565b50919998505050505050505050565b60005b8381101561194557818101518382015260200161192d565b83811115611954576000848401525b50505050565b6000815180845261197281602086016020860161192a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611a17577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611a0585835161195a565b945092850192908501906001016119cb565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080457600080fd5b600060208284031215611a5857600080fd5b8135611a6381611a24565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611b62578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452870151878401879052611b4f8785018261195a565b9588019593505090860190600101611aef565b509098975050505050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611bb757611bb7611a6a565b604052919050565b6000806040808486031215611bd357600080fd5b8351925060208085015167ffffffffffffffff80821115611bf357600080fd5b8187019150601f8881840112611c0857600080fd5b825182811115611c1a57611c1a611a6a565b8060051b611c29868201611b70565b918252848101860191868101908c841115611c4357600080fd5b87870192505b83831015611ceb57825186811115611c615760008081fd5b8701603f81018e13611c735760008081fd5b8881015187811115611c8757611c87611a6a565b611cb68a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08984011601611b70565b8181528f8c838501011115611ccb5760008081fd5b611cda828c83018e860161192a565b845250509187019190870190611c49565b8099505050505050505050509250929050565b600060208284031215611d1057600080fd5b5051919050565b600181811c90821680611d2b57607f821691505b60208210811415611d65577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215611d7d57600080fd5b8151611a6381611a24565b602081526000611a63602083018461195a565b600082821015611dd4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251611e1381600485016020870161192a565b919091016004019392505050565b60008251611e3381846020870161192a565b9190910192915050565b600060208284031215611e4f57600080fd5b81518015158114611a6357600080fd5b604081526000611e9c60408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b604081526000611e9c60408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b604081526000611f2460408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b604081526000611f2460408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b5061061d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220da399b6e256d79127a8ea91c123c0847d97289d882064a4e78f6ce4a2a9a4fff64736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c0033a2646970667358221220298e45c18bea68c000009d990c95cc76b52f02f07961e494a1d9f8bf68a873fe64736f6c634300080c0033","sourceMap":"194:2234:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;316:93;;;:::i;:::-;;2161:134:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;486:458:23;;;:::i;2930:133:6:-;;;:::i;2631:141::-;;;:::i;1933:121:23:-;;;:::i;1582:134::-;;;;;;:::i;:::-;;:::i;2447:178:6:-;;;:::i;:::-;;;;;;;:::i;2058:124:23:-;;;:::i;2301:140:6:-;;;:::i;:::-;;;;;;;:::i;1466:112:23:-;;;;;;:::i;:::-;;:::i;2308:118::-;;;:::i;2778:146:6:-;;;:::i;2186:118:23:-;;;:::i;948:441::-;;;:::i;1720:209::-;;;:::i;1866:141:6:-;;;:::i;1819:584:0:-;;;:::i;:::-;;;4613:14:28;;4606:22;4588:41;;4576:2;4561:18;1819:584:0;4448:187:28;2013:142:6;;;:::i;1572:26:0:-;;;;;;;;;316:93:23;358:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;346:9:23;:27;;;;;;;;;;;;;;;388:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:23;:25;;;;;;;;;;;;;;;316:93::o;2161:134:6:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;486:458:23:-;586:23;;;607:1;586:23;;;;;;;;;554:29;;586:23;;;;-1:-1:-1;;;;;;;;;;;;;;;;;586:23:23;;;;;;;;;;;;;;-1:-1:-1;626:95:23;;;;;;;;649:6;;;;626:95;;658:62;;707:12;658:62;;;4975:25:28;554:55:23;;-1:-1:-1;626:95:23;;;;;4948:18:28;;658:62:23;;;;;;;;;;;;;;;;;;;;;;;;626:95;;615:8;;:5;;-1:-1:-1;;615:8:23;;;;:::i;:::-;;;;;;;;;;:106;778:9;;:26;;;;;728:19;;;;778:9;;;;;:19;;:26;;798:5;;778:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;727:77;;;;810:35;819:11;832:12;810:8;:35::i;:::-;851:88;870:10;881:1;870:13;;;;;;;;:::i;:::-;;;;;;;860:24;;;;;;923:12;913:23;896:41;;;;;;8666:19:28;;8710:2;8701:12;;8537:182;896:41:23;;;;;;;;;;;;;886:52;;;;;;851:8;:88::i;:::-;520:424;;;486:458::o;2930:133:6:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;1933:121:23:-;1986:63;1995:15;2012:9;;;;;;;;;;;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1986:8;:63::i;:::-;1933:121::o;1582:134::-;1675:9;;:35;;;;;;;;4975:25:28;;;1642:69:23;;1651:22;;;1675:9;;;;;:22;;4948:18:28;;1675:35:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1642:8;:69::i;:::-;1582:134;:::o;2447:178:6:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;2058:124:23:-;2112:65;2121:16;2139:9;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2301:140:6;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1466:112:23;1543:9;;:29;;;;;1529:12;;;;1543:29;;;9690:74:28;;;1520:53:23;;1529:12;;;1543:9;;;:23;;9663:18:28;;1543:29:23;;;;;;;;;;;;;;;;;;;;;;2308:118;2360:61;2369:14;2385:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2360:8;:61::i;2778:146:6:-;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2186:118:23;2238:61;2247:14;2263:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;948:441;1062:23;;;1083:1;1062:23;;;;;;;;;1030:29;;1062:23;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1062:23:23;;;;;;;;;;;;;;-1:-1:-1;1102:117:23;;;;;;;;1134:6;;;;1102:117;;1151:62;;1200:12;1151:62;;;4975:25:28;1030:55:23;;-1:-1:-1;1102:117:23;;;;;4948:18:28;;1151:62:23;;;;;;;;;;;;;;;;;;;;;;;;1102:117;;1091:8;;:5;;-1:-1:-1;;1091:8:23;;;;:::i;:::-;;;;;;;;;;;:128;;;;1236:84;;;;;;;;1259:6;;;;1236:84;;1268:46;;;;;;;;;;;;;;;;;;;;;;1236:84;;;;1225:8;;:5;;1259:6;;1225:8;;;;;;:::i;:::-;;;;;;;;;;;:95;;;;1342:9;;;;;;;;309:37:1;1342:9:23;;1326:26;;;;:15;;;;:26;;1342:9;1326:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1358:9:23;;:26;;;;;:9;;;;;-1:-1:-1;1358:19:23;;-1:-1:-1;1358:26:23;;1378:5;;1358:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1720:209::-;1826:12;1822:30;;1720:209::o;1822:30::-;1857:67;1876:16;1891:1;1876:12;:16;:::i;:::-;1866:27;1895:9;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141:6;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:0;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;10712:74:28;;;2221:17:0;10802:18:28;;;10795:34;2196:43:0;;;;;;;;;10685:18:28;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;2013:142:6:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;5209:262:0:-;5271:1;5266;:6;5262:203;;5293:41;;;;;12025:2:28;12007:21;;;12064:2;12044:18;;;12037:30;12103:34;12098:2;12083:18;;12076:62;12174:4;12169:2;12154:18;;12147:32;12211:3;12196:19;;11823:398;5293:41:0;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;4095:277::-;4163:1;4158;:6;4154:212;;4185:44;;;;;13462:2:28;13444:21;;;13501:2;13481:18;;;13474:30;13540:34;13535:2;13520:18;;13513:62;13611:7;13606:2;13591:18;;13584:35;13651:3;13636:19;;13260:401;4185:44:0;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;3622:277::-;3690:1;3685:6;;:1;:6;;;3681:212;;3712:44;;;;;14574:2:28;14556:21;;;14613:2;14593:18;;;14586:30;14652:34;14647:2;14632:18;;14625:62;14723:7;14718:2;14703:18;;14696:35;14763:3;14748:19;;14372:401;3712:44:0;;;;;;;;3775:34;3807:1;3775:34;;;;;;:::i;:::-;;;;;;;;3828;3860:1;3828:34;;;;;;:::i;2409:432::-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;15784:74:28;;;2677:17:0;15874:18:28;;;15867:34;;;;2712:4:0;15917:18:28;;;15910:34;2489:11:0;;1671:64;2586:43;;15757:18:28;;2652:67:0;;;;;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;;;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:0;2820:7;:14;;;;;;;;2409:432::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:681:28:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;545:42;526:62;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:28;;14:681;-1:-1:-1;;;;;;14:681:28:o;700:180::-;759:6;812:2;800:9;791:7;787:23;783:32;780:52;;;828:1;825;818:12;780:52;-1:-1:-1;851:23:28;;700:180;-1:-1:-1;700:180:28:o;885:1695::-;1087:4;1116:2;1156;1145:9;1141:18;1186:2;1175:9;1168:21;1209:6;1244;1238:13;1275:6;1267;1260:22;1301:2;1291:12;;1334:2;1323:9;1319:18;1312:25;;1396:2;1386:6;1383:1;1379:14;1368:9;1364:30;1360:39;1434:2;1426:6;1422:15;1455:1;1476;1486:1065;1502:6;1497:3;1494:15;1486:1065;;;1571:22;;;1595:66;1567:95;1555:108;;1686:13;;1773:9;;1784:42;1769:58;1754:74;;1867:11;;1861:18;1899:15;;;1892:27;;;1980:19;;1726:15;;;2012:24;;;2102:21;;;;2147:1;;2070:2;2058:15;;;2161:282;2177:8;2172:3;2169:17;2161:282;;;2258:15;;2275:66;2254:88;2240:103;;2412:17;;;;2205:1;2196:11;;;;;2369:14;;;;2161:282;;;-1:-1:-1;2529:12:28;;;;2466:5;-1:-1:-1;;;2494:15:28;;;;1528:1;1519:11;1486:1065;;;-1:-1:-1;2568:6:28;;885:1695;-1:-1:-1;;;;;;;;;885:1695:28:o;2585:258::-;2657:1;2667:113;2681:6;2678:1;2675:13;2667:113;;;2757:11;;;2751:18;2738:11;;;2731:39;2703:2;2696:10;2667:113;;;2798:6;2795:1;2792:13;2789:48;;;2833:1;2824:6;2819:3;2815:16;2808:27;2789:48;;2585:258;;;:::o;2848:317::-;2890:3;2928:5;2922:12;2955:6;2950:3;2943:19;2971:63;3027:6;3020:4;3015:3;3011:14;3004:4;2997:5;2993:16;2971:63;:::i;:::-;3079:2;3067:15;3084:66;3063:88;3054:98;;;;3154:4;3050:109;;2848:317;-1:-1:-1;;2848:317:28:o;3170:862::-;3332:4;3361:2;3401;3390:9;3386:18;3431:2;3420:9;3413:21;3454:6;3489;3483:13;3520:6;3512;3505:22;3558:2;3547:9;3543:18;3536:25;;3620:2;3610:6;3607:1;3603:14;3592:9;3588:30;3584:39;3570:53;;3658:2;3650:6;3646:15;3679:1;3689:314;3703:6;3700:1;3697:13;3689:314;;;3792:66;3780:9;3772:6;3768:22;3764:95;3759:3;3752:108;3883:40;3916:6;3907;3901:13;3883:40;:::i;:::-;3873:50;-1:-1:-1;3981:12:28;;;;3946:15;;;;3725:1;3718:9;3689:314;;;-1:-1:-1;4020:6:28;;3170:862;-1:-1:-1;;;;;;;3170:862:28:o;4037:154::-;4123:42;4116:5;4112:54;4105:5;4102:65;4092:93;;4181:1;4178;4171:12;4196:247;4255:6;4308:2;4296:9;4287:7;4283:23;4279:32;4276:52;;;4324:1;4321;4314:12;4276:52;4363:9;4350:23;4382:31;4407:5;4382:31;:::i;:::-;4432:5;4196:247;-1:-1:-1;;;4196:247:28:o;4640:184::-;4692:77;4689:1;4682:88;4789:4;4786:1;4779:15;4813:4;4810:1;4803:15;5011:184;5063:77;5060:1;5053:88;5160:4;5157:1;5150:15;5184:4;5181:1;5174:15;5200:1131;5388:4;5417:2;5457;5446:9;5442:18;5487:2;5476:9;5469:21;5510:6;5545;5539:13;5576:6;5568;5561:22;5602:2;5592:12;;5635:2;5624:9;5620:18;5613:25;;5697:2;5687:6;5684:1;5680:14;5669:9;5665:30;5661:39;5735:2;5727:6;5723:15;5756:1;5766:536;5780:6;5777:1;5774:13;5766:536;;;5845:22;;;5869:66;5841:95;5829:108;;5960:13;;6005:9;;6016:42;6001:58;5986:74;;6099:11;;6093:18;6131:15;;;6124:27;;;6174:48;6206:15;;;6093:18;6174:48;:::i;:::-;6280:12;;;;6164:58;-1:-1:-1;;6245:15:28;;;;5802:1;5795:9;5766:536;;;-1:-1:-1;6319:6:28;;5200:1131;-1:-1:-1;;;;;;;;5200:1131:28:o;6336:334::-;6407:2;6401:9;6463:2;6453:13;;6468:66;6449:86;6437:99;;6566:18;6551:34;;6587:22;;;6548:62;6545:88;;;6613:18;;:::i;:::-;6649:2;6642:22;6336:334;;-1:-1:-1;6336:334:28:o;6675:1857::-;6788:6;6796;6827:2;6870;6858:9;6849:7;6845:23;6841:32;6838:52;;;6886:1;6883;6876:12;6838:52;6915:9;6909:16;6899:26;;6944:2;6990;6979:9;6975:18;6969:25;7013:18;7054:2;7046:6;7043:14;7040:34;;;7070:1;7067;7060:12;7040:34;7108:6;7097:9;7093:22;7083:32;;7134:4;7174:7;7169:2;7165;7161:11;7157:25;7147:53;;7196:1;7193;7186:12;7147:53;7225:2;7219:9;7247:2;7243;7240:10;7237:36;;;7253:18;;:::i;:::-;7299:2;7296:1;7292:10;7322:28;7346:2;7342;7338:11;7322:28;:::i;:::-;7384:15;;;7454:11;;;7450:20;;;7415:12;;;;7482:19;;;7479:39;;;7514:1;7511;7504:12;7479:39;7546:2;7542;7538:11;7527:22;;7558:944;7574:6;7569:3;7566:15;7558:944;;;7653:3;7647:10;7689:2;7676:11;7673:19;7670:109;;;7733:1;7762:2;7758;7751:14;7670:109;7802:20;;7857:2;7849:11;;7845:25;-1:-1:-1;7835:126:28;;7913:1;7943:3;7938;7931:16;7835:126;7999:2;7995;7991:11;7985:18;8027:2;8022:3;8019:11;8016:37;;;8033:18;;:::i;:::-;8079:111;8186:2;8117:66;8112:2;8107:3;8103:12;8099:85;8095:94;8079:111;:::i;:::-;8217:3;8210:5;8203:18;8263:7;8258:2;8252:3;8248:2;8244:12;8240:21;8237:34;8234:127;;;8313:1;8343:3;8338;8331:16;8234:127;8374:55;8425:3;8420:2;8413:5;8409:14;8404:2;8400;8396:11;8374:55;:::i;:::-;8442:18;;-1:-1:-1;;7591:12:28;;;;8480;;;;7558:944;;;8521:5;8511:15;;;;;;;;;;;6675:1857;;;;;:::o;8724:184::-;8794:6;8847:2;8835:9;8826:7;8822:23;8818:32;8815:52;;;8863:1;8860;8853:12;8815:52;-1:-1:-1;8886:16:28;;8724:184;-1:-1:-1;8724:184:28:o;9102:437::-;9181:1;9177:12;;;;9224;;;9245:61;;9299:4;9291:6;9287:17;9277:27;;9245:61;9352:2;9344:6;9341:14;9321:18;9318:38;9315:218;;;9389:77;9386:1;9379:88;9490:4;9487:1;9480:15;9518:4;9515:1;9508:15;9315:218;;9102:437;;;:::o;9775:251::-;9845:6;9898:2;9886:9;9877:7;9873:23;9869:32;9866:52;;;9914:1;9911;9904:12;9866:52;9946:9;9940:16;9965:31;9990:5;9965:31;:::i;10031:218::-;10178:2;10167:9;10160:21;10141:4;10198:45;10239:2;10228:9;10224:18;10216:6;10198:45;:::i;10254:279::-;10294:4;10322:1;10319;10316:8;10313:188;;;10357:77;10354:1;10347:88;10458:4;10455:1;10448:15;10486:4;10483:1;10476:15;10313:188;-1:-1:-1;10518:9:28;;10254:279::o;10840:417::-;11037:66;11029:6;11025:79;11020:3;11013:92;10995:3;11134:6;11128:13;11150:61;11204:6;11200:1;11195:3;11191:11;11184:4;11176:6;11172:17;11150:61;:::i;:::-;11231:16;;;;11249:1;11227:24;;10840:417;-1:-1:-1;;;10840:417:28:o;11262:274::-;11391:3;11429:6;11423:13;11445:53;11491:6;11486:3;11479:4;11471:6;11467:17;11445:53;:::i;:::-;11514:16;;;;;11262:274;-1:-1:-1;;11262:274:28:o;11541:277::-;11608:6;11661:2;11649:9;11640:7;11636:23;11632:32;11629:52;;;11677:1;11674;11667:12;11629:52;11709:9;11703:16;11762:5;11755:13;11748:21;11741:5;11738:32;11728:60;;11784:1;11781;11774:12;12390:348;12620:2;12609:9;12602:21;12583:4;12640:49;12685:2;12674:9;12670:18;12303:2;12291:15;;12338:12;12331:4;12322:14;;12315:36;12376:2;12367:12;;12226:159;12640:49;12632:57;;12725:6;12720:2;12709:9;12705:18;12698:34;12390:348;;;;:::o;12907:::-;13137:2;13126:9;13119:21;13100:4;13157:49;13202:2;13191:9;13187:18;12820:2;12808:15;;12855:12;12848:4;12839:14;;12832:36;12893:2;12884:12;;12743:159;14778:397;15008:2;14997:9;14990:21;14971:4;15028:49;15073:2;15062:9;15058:18;12303:2;12291:15;;12338:12;12331:4;12322:14;;12315:36;12376:2;12367:12;;12226:159;15028:49;15020:57;;15125:42;15117:6;15113:55;15108:2;15097:9;15093:18;15086:83;14778:397;;;;:::o;15180:::-;15410:2;15399:9;15392:21;15373:4;15430:49;15475:2;15464:9;15460:18;12820:2;12808:15;;12855:12;12848:4;12839:14;;12832:36;12893:2;12884:12;;12743:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAggregation()":"2fc1b6ab","testGetBlockHash(uint256)":"41e299fe","testGetCurrentBlockCoinbase()":"9027c03f","testGetCurrentBlockDifficulty()":"77185968","testGetCurrentBlockGasLimit()":"943849a9","testGetCurrentBlockTimestamp()":"4059c002","testGetEthBalance(address)":"8ef09210","testGetLastBlockHash()":"af056092","testUnsuccessfulAggregation()":"a28c5e34"}}}},"src/test/Multicall2.t.sol":{"Multicall2Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBlockAndAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockNumber","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockCoinbase","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockDifficulty","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockGasLimit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockTimestamp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetLastBlockHash","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryAggregate","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryBlockAndAggregate","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryBlockAndAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testUnsuccessfulAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBlockAndAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"testGetBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetBlockNumber\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockCoinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockDifficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockGasLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockTimestamp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"testGetEthBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetLastBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryAggregate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryBlockAndAggregate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryBlockAndAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUnsuccessfulAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setUp()\":{\"notice\":\"Setups up the testing suite\"},\"testAggregation()\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///\"},\"testGetBlockHash(uint256)\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\"},\"testTryAggregate()\":{\"notice\":\">>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///\"},\"testTryBlockAndAggregate()\":{\"notice\":\">>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/Multicall2.t.sol\":\"Multicall2Test\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"src/Multicall2.sol\":{\"keccak256\":\"0xf3cb5cc1c489a5b0a779688b37e003a2881a72aaae66d63a6e3dd2f7e866d4ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06fe0d178277f33bdb65c0dc3ce2e8414fccc695594d6dc18c311ceef1142878\",\"dweb:/ipfs/QmQuGU5MszL8jMsk45i8Hu2arAN5yCNvNszNzREFyURqbv\"]},\"src/test/Multicall2.t.sol\":{\"keccak256\":\"0xf3ecbf8e3faeb7a3444bd6fc5d25a8ec8a6d170fe46526279480fde4067ae37c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c36a5594f3033331c4e99177e6bc358d835908b7614a629159880b9675487ed8\",\"dweb:/ipfs/QmTgbsNVrgPtci7DJ7p7fWpk2Hxk6TYAWFUh4sBnqcgGRG\"]},\"src/test/mocks/MockCallee.sol\":{\"keccak256\":\"0x71cb32f7523d3b0f3304ba44a27e11d20d852fc041f44bd86deac14db74d3900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94abae22bf2a1504705a8f1ce14cf45ef27caea856dc6e81131594c0e557ee78\",\"dweb:/ipfs/QmNtv3JjtVnHAJjBg8YyMpkHu8TAwfTde5GNsoknifXsXT\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405260008054600160ff19918216811790925560048054909116909117905534801561002d57600080fd5b50613eb58061003d6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806385226c81116100ee578063a28c5e3411610097578063b668ab7d11610071578063b668ab7d146102ab578063ba414fa6146102b3578063e20c9f71146102cb578063fa7626d4146102d357600080fd5b8063a28c5e3414610293578063af0560921461029b578063b5508aa9146102a357600080fd5b806390c6e931116100c857806390c6e9311461027b578063916a17c614610283578063943849a91461028b57600080fd5b806385226c811461024b5780638ef09210146102605780639027c03f1461027357600080fd5b80633f7286f41161015b578063434004ec11610135578063434004ec1461021e57806366d9a9a014610226578063771859681461023b5780637e5ed4db1461024357600080fd5b80633f7286f4146101fb5780634059c0021461020357806341e299fe1461020b57600080fd5b806323b4ffe01161018c57806323b4ffe0146101e35780632fc1b6ab146101eb5780633e5e3c23146101f357600080fd5b80630a9254e4146101b35780631d303931146101bd5780631ed7831c146101c5575b600080fd5b6101bb6102e0565b005b6101bb6103be565b6101cd6106d3565b6040516101da91906127e6565b60405180910390f35b6101bb610742565b6101bb6107de565b6101cd610a12565b6101cd610a7f565b6101bb610aec565b6101bb610219366004612840565b610b5d565b6101bb610bff565b61022e610f15565b6040516101da9190612859565b6101bb611026565b6101bb611097565b610253611391565b6040516101da91906129c5565b6101bb61026e366004612a67565b611461565b6101bb6114d9565b6101bb611573565b61022e611820565b6101bb611928565b6101bb611999565b6101bb611cc5565b610253611d48565b6101bb611e18565b6102bb6120e5565b60405190151581526020016101da565b6101cd612245565b6000546102bb9060ff1681565b6040516102ec906127cc565b604051809103906000f080158015610308573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560405161035a906127d9565b604051809103906000f080158015610376573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816103d657905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906104c1576104c1612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061056157610561612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b81526004016105e09190612ae9565b600060405180830381600087803b1580156105fa57600080fd5b505af115801561060e573d6000803e3d6000fd5b5050601b546040517fc3077fa900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063c3077fa99150610668908490600401612b7b565b6000604051808303816000875af1158015610687573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106cd9190810190612dbc565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561073857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575b5050505050905090565b6107dc43601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342cbb15c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d79190612e0c565b6122b2565b565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816107f557905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906108e0576108e0612aba565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610946908690600401612b7b565b6000604051808303816000875af1158015610965573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109ab9190810190612e25565b915091506109b982436122b2565b610a0d816000815181106109cf576109cf612aba565b60200260200101518051906020012043406040516020016109f291815260200190565b604051602081830303815290604052805190602001206123bc565b505050565b6060600f8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b6107dc42601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b601b546040517fee82ac5e00000000000000000000000000000000000000000000000000000000815260048101839052610bfc9183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190612e0c565b6123bc565b50565b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081610c1757905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610d0257610d02612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110610da257610da2612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b8152600401610e219190612ae9565b600060405180830381600087803b158015610e3b57600080fd5b505af1158015610e4f573d6000803e3d6000fd5b5050601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063bce38bd79150610eac906001908590600401612ee2565b6000604051808303816000875af1158015610ecb573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f119190810190612efd565b5050565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561101d57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561100557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610fb25790505b50505050508152505081526020019060010190610f39565b50505050905090565b6107dc44601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816110af57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e0000000000000000000000000000000000000000000000000000000017905290528151829060009061119a5761119a612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061123a5761123a612aba565b6020908102919091010152601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063bce38bd79061129e9084908690600401612ee2565b6000604051808303816000875af11580156112bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113039190810190612efd565b905061132c8160008151811061131b5761131b612aba565b6020026020010151600001516124b6565b6113698160008151811061134257611342612aba565b6020026020010151602001518051906020012043406040516020016109f291815260200190565b610f118160018151811061137f5761137f612aba565b602002602001015160000151156124b6565b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561101d5783829060005260206000200180546113d490612f32565b80601f016020809104026020016040519081016040528092919081815260200182805461140090612f32565b801561144d5780601f106114225761010080835404028352916020019161144d565b820191906000526020600020905b81548152906001019060200180831161143057829003601f168201915b5050505050815260200190600101906113b5565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301819052610bfc93903192911690634d2301cc90602401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b6107dc41601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e9190612f86565b61252a565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161158b57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e0000000000000000000000000000000000000000000000000000000017905290528151829060009061167657611676612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061171657611716612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b81526004016117959190612ae9565b600060405180830381600087803b1580156117af57600080fd5b505af11580156117c3573d6000803e3d6000fd5b5050601b546040517f399542e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063399542e99150610668906001908590600401612ee2565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561101d57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561191057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116118bd5790505b50505050508152505081526020019060010190611844565b6107dc45601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816119b157905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611a9c57611a9c612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611b3c57611b3c612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280602081526020017f4d756c746963616c6c206167677265676174653a2063616c6c206661696c65648152506040518263ffffffff1660e01b8152600401611bd89190612ae9565b600060405180830381600087803b158015611bf257600080fd5b505af1158015611c06573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150611c60908490600401612b7b565b6000604051808303816000875af1158015611c7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a0d9190810190612e25565b43611ccc57565b6107dc611cda600143612fa3565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561101d578382906000526020600020018054611d8b90612f32565b80601f0160208091040260200160405190810160405280929190818152602001828054611db790612f32565b8015611e045780601f10611dd957610100808354040283529160200191611e04565b820191906000526020600020905b815481529060010190602001808311611de757829003601f168201915b505050505081526020019060010190611d6c565b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081611e3057905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611f1b57611f1b612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611fbb57611fbb612aba565b6020908102919091010152601b546040517f399542e90000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff169063399542e9906120239084908890600401612ee2565b6000604051808303816000875af1158015612042573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120889190810190612dbc565b92509250925061209883436122b2565b6120a38243406123bc565b6120b98160008151811061131b5761131b612aba565b6120cf8160008151811061134257611342612aba565b6106cd8160018151811061137f5761137f612aba565b60008054610100900460ff16156121055750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156122405760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c65640000000000000000000000000000000000000000000000000000828401528251808303840181526060830190935260009290916121aa917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001612fe1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526121e291613029565b6000604051808303816000865af19150503d806000811461221f576040519150601f19603f3d011682016040523d82523d6000602084013e612224565b606091505b509150508080602001905181019061223c9190613045565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b808214610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161233e9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516123759190613060565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516123ac91906130ab565b60405180910390a1610f11612650565b808214610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516124489060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405161247f9190613060565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516123ac91906130ab565b80610bfc577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161251a9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a1610bfc612650565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516125e29060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8260405161261991906130e8565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f816040516123ac9190613149565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561279e5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261271f9291602001612fe1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261275791613029565b6000604051808303816000865af19150503d8060008114612794576040519150601f19603f3d011682016040523d82523d6000602084013e612799565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b610ac88061318783390190565b61021080613c4f83390190565b6020808252825182820181905260009190848201906040850190845b8181101561283457835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612802565b50909695505050505050565b60006020828403121561285257600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015612940578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b8083101561292b5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906128e9565b50978a01979550505091870191600101612881565b50919998505050505050505050565b60005b8381101561296a578181015183820152602001612952565b838111156106cd5750506000910152565b6000815180845261299381602086016020860161294f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612a38577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612a2685835161297b565b945092850192908501906001016129ec565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bfc57600080fd5b600060208284031215612a7957600080fd5b8135612a8481612a45565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602081526000612a84602083018461297b565b600081518084526020808501808196508360051b8101915082860160005b85811015612b6e5782840389528151805173ffffffffffffffffffffffffffffffffffffffff1685528501516040868601819052612b5a8187018361297b565b9a87019a9550505090840190600101612b1a565b5091979650505050505050565b602081526000612a846020830184612afc565b6040805190810167ffffffffffffffff81118282101715612bb157612bb1612a8b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612bfe57612bfe612a8b565b604052919050565b600067ffffffffffffffff821115612c2057612c20612a8b565b5060051b60200190565b8051801515811461224057600080fd5b600082601f830112612c4b57600080fd5b815167ffffffffffffffff811115612c6557612c65612a8b565b612c9660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612bb7565b818152846020838601011115612cab57600080fd5b612cbc82602083016020870161294f565b949350505050565b600082601f830112612cd557600080fd5b81516020612cea612ce583612c06565b612bb7565b82815260059290921b84018101918181019086841115612d0957600080fd5b8286015b84811015612db157805167ffffffffffffffff80821115612d2e5760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d03011215612d675760008081fd5b612d6f612b8e565b612d7a888501612c2a565b8152908301519082821115612d8f5760008081fd5b612d9d8c8984870101612c3a565b818901528652505050918301918301612d0d565b509695505050505050565b600080600060608486031215612dd157600080fd5b8351925060208401519150604084015167ffffffffffffffff811115612df657600080fd5b612e0286828701612cc4565b9150509250925092565b600060208284031215612e1e57600080fd5b5051919050565b60008060408385031215612e3857600080fd5b8251915060208084015167ffffffffffffffff80821115612e5857600080fd5b818601915086601f830112612e6c57600080fd5b8151612e7a612ce582612c06565b81815260059190911b83018401908481019089831115612e9957600080fd5b8585015b83811015612ed157805185811115612eb55760008081fd5b612ec38c89838a0101612c3a565b845250918601918601612e9d565b508096505050505050509250929050565b8215158152604060208201526000612cbc6040830184612afc565b600060208284031215612f0f57600080fd5b815167ffffffffffffffff811115612f2657600080fd5b612cbc84828501612cc4565b600181811c90821680612f4657607f821691505b60208210811415612f80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215612f9857600080fd5b8151612a8481612a45565b600082821015612fdc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825161301b81600485016020870161294f565b919091016004019392505050565b6000825161303b81846020870161294f565b9190910192915050565b60006020828403121561305757600080fd5b612a8482612c2a565b60408152600061309d60408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600061309d60408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b60408152600061312560408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b60408152600061312560408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b50610aa8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc36600461065a565b6101c6565b6040516100e5929190610707565b6100db61039c565b61012a61012536600461078f565b6103af565b6040516100e593929190610851565b436100db565b6100db61014d366004610879565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461078f565b6103ca565b6040516100e591906108b6565b61012a6101af36600461065a565b6105ef565b6100db6101c23660046108c9565b4090565b4360608267ffffffffffffffff8111156101e2576101e26108e2565b60405190808252806020026020018201604052801561021557816020015b60608152602001906001900390816102005790505b50905060005b838110156103945760008086868481811061023857610238610911565b905060200281019061024a9190610940565b610258906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1687878581811061028057610280610911565b90506020028101906102929190610940565b6102a090602081019061097e565b6040516102ae9291906109e3565b6000604051808303816000865af19150503d80600081146102eb576040519150601f19603f3d011682016040523d82523d6000602084013e6102f0565b606091505b509150915081610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061037457610374610911565b60200260200101819052505050808061038c90610a22565b91505061021b565b509250929050565b60006103a9600143610a5b565b40905090565b43804060606103bf8686866103ca565b905093509350939050565b60608167ffffffffffffffff8111156103e5576103e56108e2565b60405190808252806020026020018201604052801561042b57816020015b6040805180820190915260008152606060208201528152602001906001900390816104035790505b50905060005b828110156105e75760008085858481811061044e5761044e610911565b90506020028101906104609190610940565b61046e906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1686868581811061049657610496610911565b90506020028101906104a89190610940565b6104b690602081019061097e565b6040516104c49291906109e3565b6000604051808303816000865af19150503d8060008114610501576040519150601f19603f3d011682016040523d82523d6000602084013e610506565b606091505b5091509150861561059e578161059e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610358565b60405180604001604052808315158152602001828152508484815181106105c7576105c7610911565b6020026020010181905250505080806105df90610a22565b915050610431565b509392505050565b6000806060610600600186866103af565b919790965090945092505050565b60008083601f84011261062057600080fd5b50813567ffffffffffffffff81111561063857600080fd5b6020830191508360208260051b850101111561065357600080fd5b9250929050565b6000806020838503121561066d57600080fd5b823567ffffffffffffffff81111561068457600080fd5b6106908582860161060e565b90969095509350505050565b6000815180845260005b818110156106c2576020818501810151868301820152016106a6565b818111156106d4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610781577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088870301845261076f86835161069c565b95509284019290840190600101610735565b509398975050505050505050565b6000806000604084860312156107a457600080fd5b833580151581146107b457600080fd5b9250602084013567ffffffffffffffff8111156107d057600080fd5b6107dc8682870161060e565b9497909650939450505050565b6000815180845260208085019450848260051b860182860160005b85811015610844578383038952815180511515845285015160408685018190526108308186018361069c565b9a87019a9450505090840190600101610804565b5090979650505050505050565b83815282602082015260606040820152600061087060608301846107e9565b95945050505050565b60006020828403121561088b57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146108af57600080fd5b9392505050565b6020815260006108af60208301846107e9565b6000602082840312156108db57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261097457600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109b357600080fd5b83018035915067ffffffffffffffff8211156109ce57600080fd5b60200191503681900382131561065357600080fd5b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5457610a546109f3565b5060010190565b600082821015610a6d57610a6d6109f3565b50039056fea264697066735822122077208ff8ba60b1b1bbe5fdbec804b772ca19cb783a1a4c407178c27cab82157764736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c00334d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564a26469706673582212207399be967c0714225fc41a74c9f19ef09ed68dd849cfe8a576b3e9568df14c2364736f6c634300080c0033","sourceMap":"196:5139:24:-:0;;;1572:26:0;;;1594:4;-1:-1:-1;;1572:26:0;;;;;;;;3288:44:3;;;;;;;;;;;196:5139:24;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106101ae5760003560e01c806385226c81116100ee578063a28c5e3411610097578063b668ab7d11610071578063b668ab7d146102ab578063ba414fa6146102b3578063e20c9f71146102cb578063fa7626d4146102d357600080fd5b8063a28c5e3414610293578063af0560921461029b578063b5508aa9146102a357600080fd5b806390c6e931116100c857806390c6e9311461027b578063916a17c614610283578063943849a91461028b57600080fd5b806385226c811461024b5780638ef09210146102605780639027c03f1461027357600080fd5b80633f7286f41161015b578063434004ec11610135578063434004ec1461021e57806366d9a9a014610226578063771859681461023b5780637e5ed4db1461024357600080fd5b80633f7286f4146101fb5780634059c0021461020357806341e299fe1461020b57600080fd5b806323b4ffe01161018c57806323b4ffe0146101e35780632fc1b6ab146101eb5780633e5e3c23146101f357600080fd5b80630a9254e4146101b35780631d303931146101bd5780631ed7831c146101c5575b600080fd5b6101bb6102e0565b005b6101bb6103be565b6101cd6106d3565b6040516101da91906127e6565b60405180910390f35b6101bb610742565b6101bb6107de565b6101cd610a12565b6101cd610a7f565b6101bb610aec565b6101bb610219366004612840565b610b5d565b6101bb610bff565b61022e610f15565b6040516101da9190612859565b6101bb611026565b6101bb611097565b610253611391565b6040516101da91906129c5565b6101bb61026e366004612a67565b611461565b6101bb6114d9565b6101bb611573565b61022e611820565b6101bb611928565b6101bb611999565b6101bb611cc5565b610253611d48565b6101bb611e18565b6102bb6120e5565b60405190151581526020016101da565b6101cd612245565b6000546102bb9060ff1681565b6040516102ec906127cc565b604051809103906000f080158015610308573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560405161035a906127d9565b604051809103906000f080158015610376573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816103d657905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906104c1576104c1612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061056157610561612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b81526004016105e09190612ae9565b600060405180830381600087803b1580156105fa57600080fd5b505af115801561060e573d6000803e3d6000fd5b5050601b546040517fc3077fa900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063c3077fa99150610668908490600401612b7b565b6000604051808303816000875af1158015610687573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106cd9190810190612dbc565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561073857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575b5050505050905090565b6107dc43601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342cbb15c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d79190612e0c565b6122b2565b565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816107f557905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906108e0576108e0612aba565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610946908690600401612b7b565b6000604051808303816000875af1158015610965573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109ab9190810190612e25565b915091506109b982436122b2565b610a0d816000815181106109cf576109cf612aba565b60200260200101518051906020012043406040516020016109f291815260200190565b604051602081830303815290604052805190602001206123bc565b505050565b6060600f8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b6107dc42601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b601b546040517fee82ac5e00000000000000000000000000000000000000000000000000000000815260048101839052610bfc9183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190612e0c565b6123bc565b50565b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081610c1757905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610d0257610d02612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110610da257610da2612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b8152600401610e219190612ae9565b600060405180830381600087803b158015610e3b57600080fd5b505af1158015610e4f573d6000803e3d6000fd5b5050601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063bce38bd79150610eac906001908590600401612ee2565b6000604051808303816000875af1158015610ecb573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f119190810190612efd565b5050565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561101d57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561100557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610fb25790505b50505050508152505081526020019060010190610f39565b50505050905090565b6107dc44601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816110af57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e0000000000000000000000000000000000000000000000000000000017905290528151829060009061119a5761119a612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061123a5761123a612aba565b6020908102919091010152601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063bce38bd79061129e9084908690600401612ee2565b6000604051808303816000875af11580156112bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113039190810190612efd565b905061132c8160008151811061131b5761131b612aba565b6020026020010151600001516124b6565b6113698160008151811061134257611342612aba565b6020026020010151602001518051906020012043406040516020016109f291815260200190565b610f118160018151811061137f5761137f612aba565b602002602001015160000151156124b6565b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561101d5783829060005260206000200180546113d490612f32565b80601f016020809104026020016040519081016040528092919081815260200182805461140090612f32565b801561144d5780601f106114225761010080835404028352916020019161144d565b820191906000526020600020905b81548152906001019060200180831161143057829003601f168201915b5050505050815260200190600101906113b5565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301819052610bfc93903192911690634d2301cc90602401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b6107dc41601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e9190612f86565b61252a565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161158b57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e0000000000000000000000000000000000000000000000000000000017905290528151829060009061167657611676612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061171657611716612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b81526004016117959190612ae9565b600060405180830381600087803b1580156117af57600080fd5b505af11580156117c3573d6000803e3d6000fd5b5050601b546040517f399542e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063399542e99150610668906001908590600401612ee2565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561101d57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561191057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116118bd5790505b50505050508152505081526020019060010190611844565b6107dc45601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816119b157905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611a9c57611a9c612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611b3c57611b3c612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280602081526020017f4d756c746963616c6c206167677265676174653a2063616c6c206661696c65648152506040518263ffffffff1660e01b8152600401611bd89190612ae9565b600060405180830381600087803b158015611bf257600080fd5b505af1158015611c06573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150611c60908490600401612b7b565b6000604051808303816000875af1158015611c7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a0d9190810190612e25565b43611ccc57565b6107dc611cda600143612fa3565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561101d578382906000526020600020018054611d8b90612f32565b80601f0160208091040260200160405190810160405280929190818152602001828054611db790612f32565b8015611e045780601f10611dd957610100808354040283529160200191611e04565b820191906000526020600020905b815481529060010190602001808311611de757829003601f168201915b505050505081526020019060010190611d6c565b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081611e3057905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611f1b57611f1b612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611fbb57611fbb612aba565b6020908102919091010152601b546040517f399542e90000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff169063399542e9906120239084908890600401612ee2565b6000604051808303816000875af1158015612042573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120889190810190612dbc565b92509250925061209883436122b2565b6120a38243406123bc565b6120b98160008151811061131b5761131b612aba565b6120cf8160008151811061134257611342612aba565b6106cd8160018151811061137f5761137f612aba565b60008054610100900460ff16156121055750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156122405760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c65640000000000000000000000000000000000000000000000000000828401528251808303840181526060830190935260009290916121aa917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001612fe1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526121e291613029565b6000604051808303816000865af19150503d806000811461221f576040519150601f19603f3d011682016040523d82523d6000602084013e612224565b606091505b509150508080602001905181019061223c9190613045565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b808214610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161233e9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516123759190613060565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516123ac91906130ab565b60405180910390a1610f11612650565b808214610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516124489060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405161247f9190613060565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516123ac91906130ab565b80610bfc577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161251a9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a1610bfc612650565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516125e29060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8260405161261991906130e8565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f816040516123ac9190613149565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561279e5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261271f9291602001612fe1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261275791613029565b6000604051808303816000865af19150503d8060008114612794576040519150601f19603f3d011682016040523d82523d6000602084013e612799565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b610ac88061318783390190565b61021080613c4f83390190565b6020808252825182820181905260009190848201906040850190845b8181101561283457835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612802565b50909695505050505050565b60006020828403121561285257600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015612940578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b8083101561292b5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906128e9565b50978a01979550505091870191600101612881565b50919998505050505050505050565b60005b8381101561296a578181015183820152602001612952565b838111156106cd5750506000910152565b6000815180845261299381602086016020860161294f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612a38577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612a2685835161297b565b945092850192908501906001016129ec565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bfc57600080fd5b600060208284031215612a7957600080fd5b8135612a8481612a45565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602081526000612a84602083018461297b565b600081518084526020808501808196508360051b8101915082860160005b85811015612b6e5782840389528151805173ffffffffffffffffffffffffffffffffffffffff1685528501516040868601819052612b5a8187018361297b565b9a87019a9550505090840190600101612b1a565b5091979650505050505050565b602081526000612a846020830184612afc565b6040805190810167ffffffffffffffff81118282101715612bb157612bb1612a8b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612bfe57612bfe612a8b565b604052919050565b600067ffffffffffffffff821115612c2057612c20612a8b565b5060051b60200190565b8051801515811461224057600080fd5b600082601f830112612c4b57600080fd5b815167ffffffffffffffff811115612c6557612c65612a8b565b612c9660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612bb7565b818152846020838601011115612cab57600080fd5b612cbc82602083016020870161294f565b949350505050565b600082601f830112612cd557600080fd5b81516020612cea612ce583612c06565b612bb7565b82815260059290921b84018101918181019086841115612d0957600080fd5b8286015b84811015612db157805167ffffffffffffffff80821115612d2e5760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d03011215612d675760008081fd5b612d6f612b8e565b612d7a888501612c2a565b8152908301519082821115612d8f5760008081fd5b612d9d8c8984870101612c3a565b818901528652505050918301918301612d0d565b509695505050505050565b600080600060608486031215612dd157600080fd5b8351925060208401519150604084015167ffffffffffffffff811115612df657600080fd5b612e0286828701612cc4565b9150509250925092565b600060208284031215612e1e57600080fd5b5051919050565b60008060408385031215612e3857600080fd5b8251915060208084015167ffffffffffffffff80821115612e5857600080fd5b818601915086601f830112612e6c57600080fd5b8151612e7a612ce582612c06565b81815260059190911b83018401908481019089831115612e9957600080fd5b8585015b83811015612ed157805185811115612eb55760008081fd5b612ec38c89838a0101612c3a565b845250918601918601612e9d565b508096505050505050509250929050565b8215158152604060208201526000612cbc6040830184612afc565b600060208284031215612f0f57600080fd5b815167ffffffffffffffff811115612f2657600080fd5b612cbc84828501612cc4565b600181811c90821680612f4657607f821691505b60208210811415612f80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215612f9857600080fd5b8151612a8481612a45565b600082821015612fdc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825161301b81600485016020870161294f565b919091016004019392505050565b6000825161303b81846020870161294f565b9190910192915050565b60006020828403121561305757600080fd5b612a8482612c2a565b60408152600061309d60408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600061309d60408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b60408152600061312560408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b60408152600061312560408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b50610aa8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc36600461065a565b6101c6565b6040516100e5929190610707565b6100db61039c565b61012a61012536600461078f565b6103af565b6040516100e593929190610851565b436100db565b6100db61014d366004610879565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461078f565b6103ca565b6040516100e591906108b6565b61012a6101af36600461065a565b6105ef565b6100db6101c23660046108c9565b4090565b4360608267ffffffffffffffff8111156101e2576101e26108e2565b60405190808252806020026020018201604052801561021557816020015b60608152602001906001900390816102005790505b50905060005b838110156103945760008086868481811061023857610238610911565b905060200281019061024a9190610940565b610258906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1687878581811061028057610280610911565b90506020028101906102929190610940565b6102a090602081019061097e565b6040516102ae9291906109e3565b6000604051808303816000865af19150503d80600081146102eb576040519150601f19603f3d011682016040523d82523d6000602084013e6102f0565b606091505b509150915081610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061037457610374610911565b60200260200101819052505050808061038c90610a22565b91505061021b565b509250929050565b60006103a9600143610a5b565b40905090565b43804060606103bf8686866103ca565b905093509350939050565b60608167ffffffffffffffff8111156103e5576103e56108e2565b60405190808252806020026020018201604052801561042b57816020015b6040805180820190915260008152606060208201528152602001906001900390816104035790505b50905060005b828110156105e75760008085858481811061044e5761044e610911565b90506020028101906104609190610940565b61046e906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1686868581811061049657610496610911565b90506020028101906104a89190610940565b6104b690602081019061097e565b6040516104c49291906109e3565b6000604051808303816000865af19150503d8060008114610501576040519150601f19603f3d011682016040523d82523d6000602084013e610506565b606091505b5091509150861561059e578161059e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610358565b60405180604001604052808315158152602001828152508484815181106105c7576105c7610911565b6020026020010181905250505080806105df90610a22565b915050610431565b509392505050565b6000806060610600600186866103af565b919790965090945092505050565b60008083601f84011261062057600080fd5b50813567ffffffffffffffff81111561063857600080fd5b6020830191508360208260051b850101111561065357600080fd5b9250929050565b6000806020838503121561066d57600080fd5b823567ffffffffffffffff81111561068457600080fd5b6106908582860161060e565b90969095509350505050565b6000815180845260005b818110156106c2576020818501810151868301820152016106a6565b818111156106d4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610781577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088870301845261076f86835161069c565b95509284019290840190600101610735565b509398975050505050505050565b6000806000604084860312156107a457600080fd5b833580151581146107b457600080fd5b9250602084013567ffffffffffffffff8111156107d057600080fd5b6107dc8682870161060e565b9497909650939450505050565b6000815180845260208085019450848260051b860182860160005b85811015610844578383038952815180511515845285015160408685018190526108308186018361069c565b9a87019a9450505090840190600101610804565b5090979650505050505050565b83815282602082015260606040820152600061087060608301846107e9565b95945050505050565b60006020828403121561088b57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146108af57600080fd5b9392505050565b6020815260006108af60208301846107e9565b6000602082840312156108db57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261097457600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109b357600080fd5b83018035915067ffffffffffffffff8211156109ce57600080fd5b60200191503681900382131561065357600080fd5b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5457610a546109f3565b5060010190565b600082821015610a6d57610a6d6109f3565b50039056fea264697066735822122077208ff8ba60b1b1bbe5fdbec804b772ca19cb783a1a4c407178c27cab82157764736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c00334d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564a26469706673582212207399be967c0714225fc41a74c9f19ef09ed68dd849cfe8a576b3e9568df14c2364736f6c634300080c0033","sourceMap":"196:5139:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;320:94;;;:::i;:::-;;3759:435;;;:::i;2161:134:6:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4409:98:24;;;:::i;491:461::-;;;:::i;2930:133:6:-;;;:::i;2631:141::-;;;:::i;4883:121:24:-;;;:::i;4271:134::-;;;;;;:::i;:::-;;:::i;2068:431::-;;;:::i;2447:178:6:-;;;:::i;:::-;;;;;;;:::i;4633:124:24:-;;;:::i;1483:581::-;;;:::i;2301:140:6:-;;;:::i;:::-;;;;;;;:::i;5008:112:24:-;;;;;;:::i;:::-;;:::i;4511:118::-;;;:::i;3308:447::-;;;:::i;2778:146:6:-;;;:::i;4761:118:24:-;;;:::i;956:450::-;;;:::i;5124:209::-;;;:::i;1866:141:6:-;;;:::i;2576:728:24:-;;;:::i;1819:584:0:-;;;:::i;:::-;;;4613:14:28;;4606:22;4588:41;;4576:2;4561:18;1819:584:0;4448:187:28;2013:142:6;;;:::i;1572:26:0:-;;;;;;;;;320:94:24;362:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:9:24;:28;;;;;;;;;;;;;;;393:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;384:6:24;:25;;;;;;;;;;;;;;;320:94::o;3759:435::-;3850:24;;;3872:1;3850:24;;;;;;;;;3817:30;;3850:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3850:24:24;;;;;;;;;;;;;;-1:-1:-1;3891:96:24;;;;;;;;3915:6;;;;3891:96;;3924:62;;3973:12;3924:62;;;4975:25:28;3817:57:24;;-1:-1:-1;3891:96:24;;;;;4948:18:28;;3924:62:24;;;;;;;;;;;;;;;;;;;;;;;;3891:96;;3880:8;;:5;;-1:-1:-1;;3880:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;4004:80;;;;;;;;4028:6;;;;4004:80;;4037:46;;;;;;;;;;;;;;;;;;;;;;4004:80;;;;3993:8;;:5;;4028:6;;3993:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;4090:15:24;;;4106:42;;;;;;;;;;;;;;;;;4090:59;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4155:9:24;;:34;;;;;:9;;;;;-1:-1:-1;4155:27:24;;-1:-1:-1;4155:34:24;;4183:5;;4155:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3811:383;3759:435::o;2161:134:6:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;4409:98:24:-;4452:50;4461:12;4475:9;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4452:8;:50::i;:::-;4409:98::o;491:461::-;592:24;;;614:1;592:24;;;;;;;;;559:30;;592:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;592:24:24;;;;;;;;;;;;;;-1:-1:-1;633:96:24;;;;;;;;657:6;;;;633:96;;666:62;;715:12;666:62;;;4975:25:28;559:57:24;;-1:-1:-1;633:96:24;;;;;4948:18:28;;666:62:24;;;;;;;;;;;;;;;;;;;;;;;;633:96;;622:8;;:5;;-1:-1:-1;;622:8:24;;;;:::i;:::-;;;;;;;;;;:107;786:9;;:26;;;;;736:19;;;;786:9;;;;;:19;;:26;;806:5;;786:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;735:77;;;;818:35;827:11;840:12;818:8;:35::i;:::-;859:88;878:10;889:1;878:13;;;;;;;;:::i;:::-;;;;;;;868:24;;;;;;931:12;921:23;904:41;;;;;;11702:19:28;;11746:2;11737:12;;11573:182;904:41:24;;;;;;;;;;;;;894:52;;;;;;859:8;:88::i;:::-;525:427;;;491:461::o;2930:133:6:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;4883:121:24:-;4936:63;4945:15;4962:9;;;;;;;;;;;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4271:134;4364:9;;:35;;;;;;;;4975:25:28;;;4331:69:24;;4340:22;;;4364:9;;;;;:22;;4948:18:28;;4364:35:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4331:8;:69::i;:::-;4271:134;:::o;2068:431::-;2154:24;;;2176:1;2154:24;;;;;;;;;2121:30;;2154:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2154:24:24;;;;;;;;;;;;;;-1:-1:-1;2195:96:24;;;;;;;;2219:6;;;;2195:96;;2228:62;;2277:12;2228:62;;;4975:25:28;2121:57:24;;-1:-1:-1;2195:96:24;;;;;4948:18:28;;2228:62:24;;;;;;;;;;;;;;;;;;;;;;;;2195:96;;2184:8;;:5;;-1:-1:-1;;2184:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;2308:80;;;;;;;;2332:6;;;;2308:80;;2341:46;;;;;;;;;;;;;;;;;;;;;;2308:80;;;;2297:8;;:5;;2332:6;;2297:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;2394:15:24;;;2410:42;;;;;;;;;;;;;;;;;2394:59;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2459:9:24;;:35;;;;;:9;;;;;-1:-1:-1;2459:22:24;;-1:-1:-1;2459:35:24;;:9;;2488:5;;2459:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2115:384;2068:431::o;2447:178:6:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;4633:124:24:-;4687:65;4696:16;4714:9;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1483:581;1557:24;;;1579:1;1557:24;;;;;;;;;1524:30;;1557:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1557:24:24;;;;;;;;;;;;;;-1:-1:-1;1598:96:24;;;;;;;;1622:6;;;;1598:96;;1631:62;;1680:12;1631:62;;;4975:25:28;1524:57:24;;-1:-1:-1;1598:96:24;;;;;4948:18:28;;1631:62:24;;;;;;;;;;;;;;;;;;;;;;;;1598:96;;1587:8;;:5;;-1:-1:-1;;1587:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;1711:80;;;;;;;;1735:6;;;;1711:80;;1744:46;;;;;;;;;;;;;;;;;;;;;;1711:80;;;;1700:8;;:5;;1735:6;;1700:8;;;;;;:::i;:::-;;;;;;;;;;:91;1839:9;;:36;;;;;1798:37;;1839:9;;;:22;;:36;;1798:37;;1869:5;;1839:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1797:78;;1881:33;1892:10;1903:1;1892:13;;;;;;;;:::i;:::-;;;;;;;:21;;;1881:10;:33::i;:::-;1920:99;1939:10;1950:1;1939:13;;;;;;;;:::i;:::-;;;;;;;:24;;;1929:35;;;;;;2003:12;1993:23;1976:41;;;;;;11702:19:28;;11746:2;11737:12;;11573:182;1920:99:24;2025:34;2037:10;2048:1;2037:13;;;;;;;;:::i;:::-;;;;;;;:21;;;2036:22;2025:10;:34::i;2301:140:6:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5008:112:24;5085:9;;:29;;;;;5071:12;;;;5085:29;;;13333:74:28;;;5062:53:24;;5071:12;;;5085:9;;;:23;;13306:18:28;;5085:29:24;;;;;;;;;;;;;;;;;;;;;;4511:118;4563:61;4572:14;4588:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4563:8;:61::i;3308:447::-;3402:24;;;3424:1;3402:24;;;;;;;;;3369:30;;3402:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3402:24:24;;;;;;;;;;;;;;-1:-1:-1;3443:96:24;;;;;;;;3467:6;;;;3443:96;;3476:62;;3525:12;3476:62;;;4975:25:28;3369:57:24;;-1:-1:-1;3443:96:24;;;;;4948:18:28;;3476:62:24;;;;;;;;;;;;;;;;;;;;;;;;3443:96;;3432:8;;:5;;-1:-1:-1;;3432:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;3556:80;;;;;;;;3580:6;;;;3556:80;;3589:46;;;;;;;;;;;;;;;;;;;;;;3556:80;;;;3545:8;;:5;;3580:6;;3545:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;3642:15:24;;;3658:42;;;;;;;;;;;;;;;;;3642:59;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3707:9:24;;:43;;;;;:9;;;;;-1:-1:-1;3707:30:24;;-1:-1:-1;3707:43:24;;:9;;3744:5;;3707:43;;;:::i;2778:146:6:-;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4761:118:24;4813:61;4822:14;4838:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;956:450;1071:24;;;1093:1;1071:24;;;;;;;;;1038:30;;1071:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1071:24:24;;;;;;;;;;;;;;-1:-1:-1;1112:96:24;;;;;;;;1136:6;;;;1112:96;;1145:62;;1194:12;1145:62;;;4975:25:28;1038:57:24;;-1:-1:-1;1112:96:24;;;;;4948:18:28;;1145:62:24;;;;;;;;;;;;;;;;;;;;;;;;1112:96;;1101:8;;:5;;-1:-1:-1;;1101:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;1225:80;;;;;;;;1249:6;;;;1225:80;;1258:46;;;;;;;;;;;;;;;;;;;;;;1225:80;;;;1214:8;;:5;;1249:6;;1214:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;1311:15:24;;;1327:41;;;;;;;;;;;;;;;;;1311:58;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1375:9:24;;:26;;;;;:9;;;;;-1:-1:-1;1375:19:24;;-1:-1:-1;1375:26:24;;1395:5;;1375:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5124:209::-;5230:12;5226:30;;5124:209::o;5226:30::-;5261:67;5280:16;5295:1;5280:12;:16;:::i;:::-;5270:27;5299:9;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141:6;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2576:728:24;2658:24;;;2680:1;2658:24;;;;;;;;;2625:30;;2658:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2658:24:24;;;;;;;;;;;;;;-1:-1:-1;2699:96:24;;;;;;;;2723:6;;;;2699:96;;2732:62;;2781:12;2732:62;;;4975:25:28;2625:57:24;;-1:-1:-1;2699:96:24;;;;;4948:18:28;;2732:62:24;;;;;;;;;;;;;;;;;;;;;;;;2699:96;;2688:8;;:5;;-1:-1:-1;;2688:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;2812:80;;;;;;;;2836:6;;;;2812:80;;2845:46;;;;;;;;;;;;;;;;;;;;;;2812:80;;;;2801:8;;:5;;2836:6;;2801:8;;;;;;:::i;:::-;;;;;;;;;;:91;2980:9;;:44;;;;;2899:19;;;;;;2980:9;;;:30;;:44;;2899:19;;3018:5;;2980:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2898:126;;;;;;3030:35;3039:11;3052:12;3030:8;:35::i;:::-;3071:44;3080:9;3101:12;3091:23;3071:8;:44::i;:::-;3121:33;3132:10;3143:1;3132:13;;;;;;;;:::i;3121:33::-;3160:99;3179:10;3190:1;3179:13;;;;;;;;:::i;3160:99::-;3265:34;3277:10;3288:1;3277:13;;;;;;;;:::i;1819:584:0:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;14132:74:28;;;2221:17:0;14222:18:28;;;14215:34;2196:43:0;;;;;;;;;14105:18:28;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;2013:142:6:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;5209:262:0:-;5271:1;5266;:6;5262:203;;5293:41;;;;;15370:2:28;15352:21;;;15409:2;15389:18;;;15382:30;15448:34;15443:2;15428:18;;15421:62;15519:4;15514:2;15499:18;;15492:32;15556:3;15541:19;;15168:398;5293:41:0;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;4095:277::-;4163:1;4158;:6;4154:212;;4185:44;;;;;16807:2:28;16789:21;;;16846:2;16826:18;;;16819:30;16885:34;16880:2;16865:18;;16858:62;16956:7;16951:2;16936:18;;16929:35;16996:3;16981:19;;16605:401;4185:44:0;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;3262:157::-;3322:9;3317:96;;3352:30;;;;;17919:2:28;17901:21;;;17958:2;17938:18;;;17931:30;17997:25;17992:2;17977:18;;17970:53;18055:2;18040:18;;17717:347;3352:30:0;;;;;;;;3396:6;:4;:6::i;3622:277::-;3690:1;3685:6;;:1;:6;;;3681:212;;3712:44;;;;;18271:2:28;18253:21;;;18310:2;18290:18;;;18283:30;18349:34;18344:2;18329:18;;18322:62;18420:7;18415:2;18400:18;;18393:35;18460:3;18445:19;;18069:401;3712:44:0;;;;;;;;3775:34;3807:1;3775:34;;;;;;:::i;:::-;;;;;;;;3828;3860:1;3828:34;;;;;;:::i;2409:432::-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;19481:74:28;;;2677:17:0;19571:18:28;;;19564:34;;;;2712:4:0;19614:18:28;;;19607:34;2489:11:0;;1671:64;2586:43;;19454:18:28;;2652:67:0;;;;;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;;;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:0;2820:7;:14;;;;;;;;2409:432::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:681:28:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;545:42;526:62;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:28;;14:681;-1:-1:-1;;;;;;14:681:28:o;700:180::-;759:6;812:2;800:9;791:7;787:23;783:32;780:52;;;828:1;825;818:12;780:52;-1:-1:-1;851:23:28;;700:180;-1:-1:-1;700:180:28:o;885:1695::-;1087:4;1116:2;1156;1145:9;1141:18;1186:2;1175:9;1168:21;1209:6;1244;1238:13;1275:6;1267;1260:22;1301:2;1291:12;;1334:2;1323:9;1319:18;1312:25;;1396:2;1386:6;1383:1;1379:14;1368:9;1364:30;1360:39;1434:2;1426:6;1422:15;1455:1;1476;1486:1065;1502:6;1497:3;1494:15;1486:1065;;;1571:22;;;1595:66;1567:95;1555:108;;1686:13;;1773:9;;1784:42;1769:58;1754:74;;1867:11;;1861:18;1899:15;;;1892:27;;;1980:19;;1726:15;;;2012:24;;;2102:21;;;;2147:1;;2070:2;2058:15;;;2161:282;2177:8;2172:3;2169:17;2161:282;;;2258:15;;2275:66;2254:88;2240:103;;2412:17;;;;2205:1;2196:11;;;;;2369:14;;;;2161:282;;;-1:-1:-1;2529:12:28;;;;2466:5;-1:-1:-1;;;2494:15:28;;;;1528:1;1519:11;1486:1065;;;-1:-1:-1;2568:6:28;;885:1695;-1:-1:-1;;;;;;;;;885:1695:28:o;2585:258::-;2657:1;2667:113;2681:6;2678:1;2675:13;2667:113;;;2757:11;;;2751:18;2738:11;;;2731:39;2703:2;2696:10;2667:113;;;2798:6;2795:1;2792:13;2789:48;;;-1:-1:-1;;2833:1:28;2815:16;;2808:27;2585:258::o;2848:317::-;2890:3;2928:5;2922:12;2955:6;2950:3;2943:19;2971:63;3027:6;3020:4;3015:3;3011:14;3004:4;2997:5;2993:16;2971:63;:::i;:::-;3079:2;3067:15;3084:66;3063:88;3054:98;;;;3154:4;3050:109;;2848:317;-1:-1:-1;;2848:317:28:o;3170:862::-;3332:4;3361:2;3401;3390:9;3386:18;3431:2;3420:9;3413:21;3454:6;3489;3483:13;3520:6;3512;3505:22;3558:2;3547:9;3543:18;3536:25;;3620:2;3610:6;3607:1;3603:14;3592:9;3588:30;3584:39;3570:53;;3658:2;3650:6;3646:15;3679:1;3689:314;3703:6;3700:1;3697:13;3689:314;;;3792:66;3780:9;3772:6;3768:22;3764:95;3759:3;3752:108;3883:40;3916:6;3907;3901:13;3883:40;:::i;:::-;3873:50;-1:-1:-1;3981:12:28;;;;3946:15;;;;3725:1;3718:9;3689:314;;;-1:-1:-1;4020:6:28;;3170:862;-1:-1:-1;;;;;;;3170:862:28:o;4037:154::-;4123:42;4116:5;4112:54;4105:5;4102:65;4092:93;;4181:1;4178;4171:12;4196:247;4255:6;4308:2;4296:9;4287:7;4283:23;4279:32;4276:52;;;4324:1;4321;4314:12;4276:52;4363:9;4350:23;4382:31;4407:5;4382:31;:::i;:::-;4432:5;4196:247;-1:-1:-1;;;4196:247:28:o;4640:184::-;4692:77;4689:1;4682:88;4789:4;4786:1;4779:15;4813:4;4810:1;4803:15;5011:184;5063:77;5060:1;5053:88;5160:4;5157:1;5150:15;5184:4;5181:1;5174:15;5200:218;5347:2;5336:9;5329:21;5310:4;5367:45;5408:2;5397:9;5393:18;5385:6;5367:45;:::i;5423:866::-;5480:3;5518:5;5512:12;5545:6;5540:3;5533:19;5571:4;5612:2;5607:3;5603:12;5637:11;5664;5657:18;;5714:6;5711:1;5707:14;5700:5;5696:26;5684:38;;5756:2;5749:5;5745:14;5777:1;5787:476;5801:6;5798:1;5795:13;5787:476;;;5862:16;;;5850:29;;5902:13;;5972:9;;5983:42;5968:58;5955:72;;6066:11;;6060:18;5938:4;6098:13;;;6091:25;;;6137:46;6169:13;;;6060:18;6137:46;:::i;:::-;6241:12;;;;6129:54;-1:-1:-1;;;6206:15:28;;;;5823:1;5816:9;5787:476;;;-1:-1:-1;6279:4:28;;5423:866;-1:-1:-1;;;;;;;5423:866:28:o;6294:311::-;6519:2;6508:9;6501:21;6482:4;6539:60;6595:2;6584:9;6580:18;6572:6;6539:60;:::i;6610:257::-;6682:4;6676:11;;;6714:17;;6761:18;6746:34;;6782:22;;;6743:62;6740:88;;;6808:18;;:::i;:::-;6844:4;6837:24;6610:257;:::o;6872:334::-;6943:2;6937:9;6999:2;6989:13;;7004:66;6985:86;6973:99;;7102:18;7087:34;;7123:22;;;7084:62;7081:88;;;7149:18;;:::i;:::-;7185:2;7178:22;6872:334;;-1:-1:-1;6872:334:28:o;7211:189::-;7277:4;7310:18;7302:6;7299:30;7296:56;;;7332:18;;:::i;:::-;-1:-1:-1;7377:1:28;7373:14;7389:4;7369:25;;7211:189::o;7405:164::-;7481:13;;7530;;7523:21;7513:32;;7503:60;;7559:1;7556;7549:12;7574:555;7627:5;7680:3;7673:4;7665:6;7661:17;7657:27;7647:55;;7698:1;7695;7688:12;7647:55;7727:6;7721:13;7753:18;7749:2;7746:26;7743:52;;;7775:18;;:::i;:::-;7819:114;7927:4;7858:66;7851:4;7847:2;7843:13;7839:86;7835:97;7819:114;:::i;:::-;7958:2;7949:7;7942:19;8004:3;7997:4;7992:2;7984:6;7980:15;7976:26;7973:35;7970:55;;;8021:1;8018;8011:12;7970:55;8034:64;8095:2;8088:4;8079:7;8075:18;8068:4;8060:6;8056:17;8034:64;:::i;:::-;8116:7;7574:555;-1:-1:-1;;;;7574:555:28:o;8134:1520::-;8205:5;8258:3;8251:4;8243:6;8239:17;8235:27;8225:55;;8276:1;8273;8266:12;8225:55;8305:6;8299:13;8331:4;8355:66;8371:49;8417:2;8371:49;:::i;:::-;8355:66;:::i;:::-;8455:15;;;8541:1;8537:10;;;;8525:23;;8521:32;;;8486:12;;;;8565:15;;;8562:35;;;8593:1;8590;8583:12;8562:35;8629:2;8621:6;8617:15;8641:984;8657:6;8652:3;8649:15;8641:984;;;8736:3;8730:10;8763:18;8813:2;8800:11;8797:19;8794:109;;;8857:1;8886:2;8882;8875:14;8794:109;8938:11;8930:6;8926:24;8916:34;;8973:4;9084:2;9015:66;9010:2;9005:3;9001:12;8997:85;8993:94;8990:184;;;9128:1;9157:2;9153;9146:14;8990:184;9200:22;;:::i;:::-;9249:39;9284:2;9280;9276:11;9249:39;:::i;:::-;9235:54;;9324:11;;;9318:18;;9352:16;;;9349:106;;;9409:1;9438:2;9434;9427:14;9349:106;9491:60;9547:3;9542:2;9531:8;9527:2;9523:17;9519:26;9491:60;:::i;:::-;9475:14;;;9468:84;9565:18;;-1:-1:-1;;;9603:12:28;;;;8674;;8641:984;;;-1:-1:-1;9643:5:28;8134:1520;-1:-1:-1;;;;;;8134:1520:28:o;9659:516::-;9797:6;9805;9813;9866:2;9854:9;9845:7;9841:23;9837:32;9834:52;;;9882:1;9879;9872:12;9834:52;9911:9;9905:16;9895:26;;9961:2;9950:9;9946:18;9940:25;9930:35;;10009:2;9998:9;9994:18;9988:25;10036:18;10028:6;10025:30;10022:50;;;10068:1;10065;10058:12;10022:50;10091:78;10161:7;10152:6;10141:9;10137:22;10091:78;:::i;:::-;10081:88;;;9659:516;;;;;:::o;10180:184::-;10250:6;10303:2;10291:9;10282:7;10278:23;10274:32;10271:52;;;10319:1;10316;10309:12;10271:52;-1:-1:-1;10342:16:28;;10180:184;-1:-1:-1;10180:184:28:o;10369:1199::-;10482:6;10490;10543:2;10531:9;10522:7;10518:23;10514:32;10511:52;;;10559:1;10556;10549:12;10511:52;10588:9;10582:16;10572:26;;10617:2;10663;10652:9;10648:18;10642:25;10686:18;10727:2;10719:6;10716:14;10713:34;;;10743:1;10740;10733:12;10713:34;10781:6;10770:9;10766:22;10756:32;;10826:7;10819:4;10815:2;10811:13;10807:27;10797:55;;10848:1;10845;10838:12;10797:55;10877:2;10871:9;10900:66;10916:49;10962:2;10916:49;:::i;10900:66::-;11000:15;;;11082:1;11078:10;;;;11070:19;;11066:28;;;11031:12;;;;11106:19;;;11103:39;;;11138:1;11135;11128:12;11103:39;11170:2;11166;11162:11;11182:356;11198:6;11193:3;11190:15;11182:356;;;11277:3;11271:10;11313:2;11300:11;11297:19;11294:109;;;11357:1;11386:2;11382;11375:14;11294:109;11428:67;11487:7;11482:2;11468:11;11464:2;11460:20;11456:29;11428:67;:::i;:::-;11416:80;;-1:-1:-1;11516:12:28;;;;11215;;11182:356;;;11186:3;11557:5;11547:15;;;;;;;;10369:1199;;;;;:::o;11949:392::-;12210:6;12203:14;12196:22;12185:9;12178:41;12255:2;12250;12239:9;12235:18;12228:30;12159:4;12275:60;12331:2;12320:9;12316:18;12308:6;12275:60;:::i;12346:394::-;12466:6;12519:2;12507:9;12498:7;12494:23;12490:32;12487:52;;;12535:1;12532;12525:12;12487:52;12568:9;12562:16;12601:18;12593:6;12590:30;12587:50;;;12633:1;12630;12623:12;12587:50;12656:78;12726:7;12717:6;12706:9;12702:22;12656:78;:::i;12745:437::-;12824:1;12820:12;;;;12867;;;12888:61;;12942:4;12934:6;12930:17;12920:27;;12888:61;12995:2;12987:6;12984:14;12964:18;12961:38;12958:218;;;13032:77;13029:1;13022:88;13133:4;13130:1;13123:15;13161:4;13158:1;13151:15;12958:218;;12745:437;;;:::o;13418:251::-;13488:6;13541:2;13529:9;13520:7;13516:23;13512:32;13509:52;;;13557:1;13554;13547:12;13509:52;13589:9;13583:16;13608:31;13633:5;13608:31;:::i;13674:279::-;13714:4;13742:1;13739;13736:8;13733:188;;;13777:77;13774:1;13767:88;13878:4;13875:1;13868:15;13906:4;13903:1;13896:15;13733:188;-1:-1:-1;13938:9:28;;13674:279::o;14260:417::-;14457:66;14449:6;14445:79;14440:3;14433:92;14415:3;14554:6;14548:13;14570:61;14624:6;14620:1;14615:3;14611:11;14604:4;14596:6;14592:17;14570:61;:::i;:::-;14651:16;;;;14669:1;14647:24;;14260:417;-1:-1:-1;;;14260:417:28:o;14682:274::-;14811:3;14849:6;14843:13;14865:53;14911:6;14906:3;14899:4;14891:6;14887:17;14865:53;:::i;:::-;14934:16;;;;;14682:274;-1:-1:-1;;14682:274:28:o;14961:202::-;15028:6;15081:2;15069:9;15060:7;15056:23;15052:32;15049:52;;;15097:1;15094;15087:12;15049:52;15120:37;15147:9;15120:37;:::i;15735:348::-;15965:2;15954:9;15947:21;15928:4;15985:49;16030:2;16019:9;16015:18;15648:2;15636:15;;15683:12;15676:4;15667:14;;15660:36;15721:2;15712:12;;15571:159;15985:49;15977:57;;16070:6;16065:2;16054:9;16050:18;16043:34;15735:348;;;;:::o;16252:::-;16482:2;16471:9;16464:21;16445:4;16502:49;16547:2;16536:9;16532:18;16165:2;16153:15;;16200:12;16193:4;16184:14;;16177:36;16238:2;16229:12;;16088:159;18475:397;18705:2;18694:9;18687:21;18668:4;18725:49;18770:2;18759:9;18755:18;15648:2;15636:15;;15683:12;15676:4;15667:14;;15660:36;15721:2;15712:12;;15571:159;18725:49;18717:57;;18822:42;18814:6;18810:55;18805:2;18794:9;18790:18;18783:83;18475:397;;;;:::o;18877:::-;19107:2;19096:9;19089:21;19070:4;19127:49;19172:2;19161:9;19157:18;16165:2;16153:15;;16200:12;16193:4;16184:14;;16177:36;16238:2;16229:12;;16088:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAggregation()":"2fc1b6ab","testBlockAndAggregateUnsuccessful()":"1d303931","testGetBlockHash(uint256)":"41e299fe","testGetBlockNumber()":"23b4ffe0","testGetCurrentBlockCoinbase()":"9027c03f","testGetCurrentBlockDifficulty()":"77185968","testGetCurrentBlockGasLimit()":"943849a9","testGetCurrentBlockTimestamp()":"4059c002","testGetEthBalance(address)":"8ef09210","testGetLastBlockHash()":"af056092","testTryAggregate()":"7e5ed4db","testTryAggregateUnsuccessful()":"434004ec","testTryBlockAndAggregate()":"b668ab7d","testTryBlockAndAggregateUnsuccessful()":"90c6e931","testUnsuccessfulAggregation()":"a28c5e34"}}}},"src/test/Multicall3.t.sol":{"Multicall3Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAggregate3","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAggregate3Unsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAggregate3Value","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAggregate3ValueUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBlockAndAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBasefee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockNumber","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetChainId","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockCoinbase","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockDifficulty","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockGasLimit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockTimestamp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetLastBlockHash","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryAggregate","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryBlockAndAggregate","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryBlockAndAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testUnsuccessfulAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregate3\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregate3Unsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregate3Value\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregate3ValueUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBlockAndAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetBasefee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"testGetBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetBlockNumber\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetChainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockCoinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockDifficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockGasLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockTimestamp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"testGetEthBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetLastBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryAggregate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryBlockAndAggregate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryBlockAndAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUnsuccessfulAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setUp()\":{\"notice\":\"Setups up the testing suite\"},\"testAggregate3()\":{\"notice\":\">>>>>>>>>>>>>>>>>>> AGGREGATE3 TESTS <<<<<<<<<<<<<<<<<<<<<< ///\"},\"testAggregate3Value()\":{\"notice\":\">>>>>>>>>>>>>>>>> AGGREGATE3VALUE TESTS <<<<<<<<<<<<<<<<<<< ///\"},\"testAggregation()\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///\"},\"testGetBlockHash(uint256)\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\"},\"testTryAggregate()\":{\"notice\":\">>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///\"},\"testTryBlockAndAggregate()\":{\"notice\":\">>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/Multicall3.t.sol\":\"Multicall3Test\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"src/Multicall3.sol\":{\"keccak256\":\"0x95dfd0a2dd6626c7119ff7c3f214d56b289145f81a0521cd93a6252a326966f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead513cb13fe5373523cb3e1f3f1a1052791503269f4cc22e5e6177ed57d03ae\",\"dweb:/ipfs/Qmd5sRoq3rxHpBkcHr4baM2zP6Sud6eAL7AFoBbizFnWji\"]},\"src/test/Multicall3.t.sol\":{\"keccak256\":\"0x38483a5fff27fcf921f5f2acec7b585bd0d626aaa985468e75581f66292b2755\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c0acd53162844812a54eba52d717e831acfdc8b98eb0715b8077cd17a7657d0\",\"dweb:/ipfs/QmRtmgjt1qBsosuTj4BEDEDsg9f4qmXZ56nm11DPSwH1ds\"]},\"src/test/mocks/EtherSink.sol\":{\"keccak256\":\"0x9b3803e1bbefbae6b754c72da622fae849413991cfe20a9b73cb9234b292d8fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26b9734afc98dbee5b3baa8c3e9e5793f251964a0f77be5947fd0b6db1eb076f\",\"dweb:/ipfs/QmWvhaFdjTRJesGpGZSEqxs5xFFCc3Nk4PMwtS63XSBUpp\"]},\"src/test/mocks/MockCallee.sol\":{\"keccak256\":\"0x71cb32f7523d3b0f3304ba44a27e11d20d852fc041f44bd86deac14db74d3900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94abae22bf2a1504705a8f1ce14cf45ef27caea856dc6e81131594c0e557ee78\",\"dweb:/ipfs/QmNtv3JjtVnHAJjBg8YyMpkHu8TAwfTde5GNsoknifXsXT\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405260008054600160ff19918216811790925560048054909116909117905534801561002d57600080fd5b50615ec98061003d6000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806385226c811161010f578063b5508aa9116100a2578063e20c9f7111610071578063e20c9f711461032d578063e3d37d7814610335578063f69f11f91461033d578063fa7626d41461034557600080fd5b8063b5508aa9146102fd578063b668ab7d14610305578063ba414fa61461030d578063d924f1801461032557600080fd5b8063916a17c6116100de578063916a17c6146102dd578063943849a9146102e5578063a28c5e34146102ed578063af056092146102f557600080fd5b806385226c81146102a55780638ef09210146102ba5780639027c03f146102cd57806390c6e931146102d557600080fd5b80634059c0021161018757806372f70f661161015657806372f70f6614610285578063771859681461028d5780637d498da7146102955780637e5ed4db1461029d57600080fd5b80634059c0021461024d57806341e299fe14610255578063434004ec1461026857806366d9a9a01461027057600080fd5b80632fc1b6ab116101c35780632fc1b6ab1461022d5780633ab461c7146102355780633e5e3c231461023d5780633f7286f41461024557600080fd5b80630a9254e4146101f55780631d303931146101ff5780631ed7831c1461020757806323b4ffe014610225575b600080fd5b6101fd610352565b005b6101fd61049e565b61020f6107d0565b60405161021c91906141c9565b60405180910390f35b6101fd61083f565b6101fd6108db565b6101fd610b0f565b61020f611764565b61020f6117d1565b6101fd61183e565b6101fd610263366004614223565b6118af565b6101fd611951565b610278611c84565b60405161021c919061423c565b6101fd611d95565b6101fd611e06565b6101fd611e77565b6101fd612354565b6102ad612604565b60405161021c91906143a8565b6101fd6102c836600461444a565b6126d4565b6101fd61274c565b6101fd6127e6565b610278612ab0565b6101fd612bb8565b6101fd612c29565b6101fd612f55565b6102ad612fd8565b6101fd6130a8565b610315613375565b604051901515815260200161021c565b6101fd6134d5565b61020f613546565b6101fd6135b3565b6101fd613891565b6000546103159060ff1681565b60405161035e906141a3565b604051809103906000f08015801561037a573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516103cc906141b0565b604051809103906000f0801580156103e8573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560405161043a906141bd565b604051809103906000f080158015610456573d6000803e3d6000fd5b50601d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816104b657905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906105a1576105a161449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106106415761064161449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b81526004016106dd91906144cc565b600060405180830381600087803b1580156106f757600080fd5b505af115801561070b573d6000803e3d6000fd5b5050601b546040517fc3077fa900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063c3077fa9915061076590849060040161455e565b6000604051808303816000875af1158015610784573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107ca919081019061479f565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561083557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575b5050505050905090565b6108d943601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342cbb15c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d491906147ef565b613c89565b565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816108f257905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906109dd576109dd61449d565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610a4390869060040161455e565b6000604051808303816000875af1158015610a62573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610aa89190810190614808565b91509150610ab68243613c89565b610b0a81600081518110610acc57610acc61449d565b6020026020010151805190602001204340604051602001610aef91815260200190565b60405160208183030381529060405280519060200120613d93565b505050565b60408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610b275790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610c4957610c4961449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000818401819052818301528151600481526024810190925291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790526060820152815182906001908110610cf757610cf761449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600093820193909352600181830152601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea6000000000000000000000000000000000000000000000000000000001790529052815182906002908110610ddf57610ddf61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401610e7b91906144cc565b600060405180830381600087803b158015610e9557600080fd5b505af1158015610ea9573d6000803e3d6000fd5b5050601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063174dea719150610f039084906004016148c5565b6000604051808303816000875af1158015610f22573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f689190810190614986565b5060408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610f815790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600160208201526000818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906110a3576110a361449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052606081019190915282519091839181106111555761115561449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600193820184905281830193909352601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea600000000000000000000000000000000000000000000000000000000179052905281518290600290811061123d5761123d61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601a81526020017f4d756c746963616c6c333a2076616c7565206d69736d617463680000000000008152506040518263ffffffff1660e01b81526004016112d991906144cc565b600060405180830381600087803b1580156112f357600080fd5b505af1158015611307573d6000803e3d6000fd5b5050601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063174dea7191506113619084906004016148c5565b6000604051808303816000875af1158015611380573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113c69190810190614986565b5060408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816113df5790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906115015761150161449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052606081019190915282519091839181106115b3576115b361449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600093820193909352600181830152601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea600000000000000000000000000000000000000000000000000000000179052905281518290600290811061169b5761169b61449d565b6020908102919091010152601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063174dea71906001906116ff9085906004016148c5565b60006040518083038185885af115801561171d573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107ca9190810190614986565b6060600f8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b6108d942601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b601b546040517fee82ac5e0000000000000000000000000000000000000000000000000000000081526004810183905261194e9183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa158015611925573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194991906147ef565b613d93565b50565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161196957905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611a5457611a5461449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611af457611af461449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401611b9091906144cc565b600060405180830381600087803b158015611baa57600080fd5b505af1158015611bbe573d6000803e3d6000fd5b5050601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063bce38bd79150611c1b9060019085906004016149bb565b6000604051808303816000875af1158015611c3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611c809190810190614986565b5050565b60606012805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015611d7457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411611d215790505b50505050508152505081526020019060010190611ca8565b50505050905090565b6108d948601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e64a6966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6108d944601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b60408051600380825260808201909252600091816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611e8f5790505060408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000602082015281514360248201529293509190820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611f8857611f8861449d565b60209081029190910181019190915260408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600181840181905282516004815260248101845293840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291810192909252825183919081106120315761203161449d565b60209081029190910181019190915260408051606081018252601b5473ffffffffffffffffffffffffffffffffffffffff16815260018184015281516004815260248101835292830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0f28c97d00000000000000000000000000000000000000000000000000000000179052908101919091528151829060029081106120da576120da61449d565b6020908102919091010152601b546040517f82ad56cb00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906382ad56cb9061213c9085906004016149d6565b6000604051808303816000875af115801561215b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526121a19190810190614986565b90506121ca816000815181106121b9576121b961449d565b602002602001015160000151613e8d565b6122014340826000815181106121e2576121e261449d565b60200260200101516020015180602001905181019061194991906147ef565b61223e816000815181106122175761221761449d565b602002602001015160200151805190602001204340604051602001610aef91815260200190565b612266816001815181106122545761225461449d565b60200260200101516000015115613e8d565b6122908160018151811061227c5761227c61449d565b602002602001015160200151516004613c89565b612303816001815181106122a6576122a661449d565b6020026020010151602001516122bb90614a7d565b7fffffffff00000000000000000000000000000000000000000000000000000000167f81775cc300000000000000000000000000000000000000000000000000000000613d93565b612319816002815181106121b9576121b961449d565b611c808160028151811061232f5761232f61449d565b60200260200101516020015180602001905181019061234e91906147ef565b42613c89565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161236c57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906124575761245761449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106124f7576124f761449d565b6020908102919091010152601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063bce38bd79061255b90849086906004016149bb565b6000604051808303816000875af115801561257a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125c09190810190614986565b90506125d8816000815181106121b9576121b961449d565b6125ee816000815181106122175761221761449d565b611c80816001815181106122545761225461449d565b60606011805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57838290600052602060002001805461264790614acd565b80601f016020809104026020016040519081016040528092919081815260200182805461267390614acd565b80156126c05780601f10612695576101008083540402835291602001916126c0565b820191906000526020600020905b8154815290600101906020018083116126a357829003601f168201915b505050505081526020019060010190612628565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830181905261194e93903192911690634d2301cc90602401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6108d941601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e19190614b21565b613f01565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816127fe57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906128e9576128e961449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106129895761298961449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401612a2591906144cc565b600060405180830381600087803b158015612a3f57600080fd5b505af1158015612a53573d6000803e3d6000fd5b5050601b546040517f399542e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063399542e991506107659060019085906004016149bb565b60606013805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015612ba057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411612b4d5790505b50505050508152505081526020019060010190612ad4565b6108d945601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081612c4157905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090612d2c57612d2c61449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110612dcc57612dcc61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401612e6891906144cc565b600060405180830381600087803b158015612e8257600080fd5b505af1158015612e96573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150612ef090849060040161455e565b6000604051808303816000875af1158015612f0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b0a9190810190614808565b43612f5c57565b6108d9612f6a600143614b3e565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611925573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57838290600052602060002001805461301b90614acd565b80601f016020809104026020016040519081016040528092919081815260200182805461304790614acd565b80156130945780601f1061306957610100808354040283529160200191613094565b820191906000526020600020905b81548152906001019060200180831161307757829003601f168201915b505050505081526020019060010190612ffc565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816130c057905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906131ab576131ab61449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061324b5761324b61449d565b6020908102919091010152601b546040517f399542e90000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff169063399542e9906132b390849088906004016149bb565b6000604051808303816000875af11580156132d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613318919081019061479f565b9250925092506133288343613c89565b613333824340613d93565b613349816000815181106121b9576121b961449d565b61335f816000815181106122175761221761449d565b6107ca816001815181106122545761225461449d565b60008054610100900460ff16156133955750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156134d05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909161343a917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001614b7c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261347291614bc4565b6000604051808303816000865af19150503d80600081146134af576040519150601f19603f3d011682016040523d82523d6000602084013e6134b4565b606091505b50915050808060200190518101906134cc9190614be0565b9150505b919050565b6108d946601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633408e4706040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6060600c8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b60408051600280825260608201909252600091816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816135cb5790505060408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000602082015281514360248201529293509190820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906136c4576136c461449d565b60209081029190910181019190915260408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260008184015281516004815260248101835292830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529081019190915281518290600190811061376d5761376d61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b815260040161380991906144cc565b600060405180830381600087803b15801561382357600080fd5b505af1158015613837573d6000803e3d6000fd5b5050601b546040517f82ad56cb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692506382ad56cb9150611c1b9084906004016149d6565b60408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816138a95790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906139cb576139cb61449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905260608101919091528251909183918110613a7d57613a7d61449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600193820184905281830193909352601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea6000000000000000000000000000000000000000000000000000000001790529052815182906002908110613b6557613b6561449d565b6020908102919091010152601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063174dea7190600190613bca9086906004016148c5565b60006040518083038185885af1158015613be8573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613c2f9190810190614986565b9050613c47816000815181106121b9576121b961449d565b613c5d816000815181106122175761221761449d565b613c73816001815181106122545761225461449d565b611c80816002815181106121b9576121b961449d565b808214611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613d159060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051613d4c9190614bfb565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051613d839190614c46565b60405180910390a1611c80614027565b808214611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613e1f9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9982604051613e569190614bfb565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051613d839190614c46565b8061194e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613ef19060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a161194e614027565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613fb99060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f82604051613ff09190614c83565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f81604051613d839190614ce4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156141755760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526140f69291602001614b7c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261412e91614bc4565b6000604051808303816000865af19150503d806000811461416b576040519150601f19603f3d011682016040523d82523d6000602084013e614170565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b610f0080614d2283390190565b61021080615c2283390190565b606280615e3283390190565b6020808252825182820181905260009190848201906040850190845b8181101561421757835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016141e5565b50909695505050505050565b60006020828403121561423557600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015614323578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b8083101561430e5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906142cc565b50978a01979550505091870191600101614264565b50919998505050505050505050565b60005b8381101561434d578181015183820152602001614335565b838111156107ca5750506000910152565b60008151808452614376816020860160208601614332565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561441b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261440985835161435e565b945092850192908501906001016143cf565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461194e57600080fd5b60006020828403121561445c57600080fd5b813561446781614428565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602081526000614467602083018461435e565b600081518084526020808501808196508360051b8101915082860160005b858110156145515782840389528151805173ffffffffffffffffffffffffffffffffffffffff168552850151604086860181905261453d8187018361435e565b9a87019a95505050908401906001016144fd565b5091979650505050505050565b60208152600061446760208301846144df565b6040805190810167ffffffffffffffff811182821017156145945761459461446e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156145e1576145e161446e565b604052919050565b600067ffffffffffffffff8211156146035761460361446e565b5060051b60200190565b805180151581146134d057600080fd5b600082601f83011261462e57600080fd5b815167ffffffffffffffff8111156146485761464861446e565b61467960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161459a565b81815284602083860101111561468e57600080fd5b61469f826020830160208701614332565b949350505050565b600082601f8301126146b857600080fd5b815160206146cd6146c8836145e9565b61459a565b82815260059290921b840181019181810190868411156146ec57600080fd5b8286015b8481101561479457805167ffffffffffffffff808211156147115760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d0301121561474a5760008081fd5b614752614571565b61475d88850161460d565b81529083015190828211156147725760008081fd5b6147808c898487010161461d565b8189015286525050509183019183016146f0565b509695505050505050565b6000806000606084860312156147b457600080fd5b8351925060208401519150604084015167ffffffffffffffff8111156147d957600080fd5b6147e5868287016146a7565b9150509250925092565b60006020828403121561480157600080fd5b5051919050565b6000806040838503121561481b57600080fd5b8251915060208084015167ffffffffffffffff8082111561483b57600080fd5b818601915086601f83011261484f57600080fd5b815161485d6146c8826145e9565b81815260059190911b8301840190848101908983111561487c57600080fd5b8585015b838110156148b4578051858111156148985760008081fd5b6148a68c89838a010161461d565b845250918601918601614880565b508096505050505050509250929050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614978578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff1684528781015115158885015286810151878501526060908101516080918501829052906149648186018361435e565b9689019694505050908601906001016148ec565b509098975050505050505050565b60006020828403121561499857600080fd5b815167ffffffffffffffff8111156149af57600080fd5b61469f848285016146a7565b821515815260406020820152600061469f60408301846144df565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614978578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452878101511515888501528601516060878501819052614a698186018361435e565b9689019694505050908601906001016149fd565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015614ac55780818460040360031b1b83161693505b505050919050565b600181811c90821680614ae157607f821691505b60208210811415614b1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614b3357600080fd5b815161446781614428565b600082821015614b77577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251614bb6816004850160208701614332565b919091016004019392505050565b60008251614bd6818460208701614332565b9190910192915050565b600060208284031215614bf257600080fd5b6144678261460d565b604081526000614c3860408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b604081526000614c3860408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b604081526000614cc060408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b604081526000614cc060408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b50610ee0806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220449a18ce35be1adaedc9fa8ac86170e8c0f9b35e4a63d7b367123a4743501ae564736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c00336080604052348015600f57600080fd5b50604580601d6000396000f3fe608060405236600a57005b600080fdfea2646970667358221220436eb91872afe4157e5f088e49de50a733d5681111213f338e5b696087741bb664736f6c634300080c0033a26469706673582212204355840cf43ac6a9e4a1bcbe63b21105d99ce71c08f80d9de5ccbc3f347c689764736f6c634300080c0033","sourceMap":"245:9586:25:-:0;;;1572:26:0;;;1594:4;-1:-1:-1;;1572:26:0;;;;;;;;3288:44:3;;;;;;;;;;;245:9586:25;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106101f05760003560e01c806385226c811161010f578063b5508aa9116100a2578063e20c9f7111610071578063e20c9f711461032d578063e3d37d7814610335578063f69f11f91461033d578063fa7626d41461034557600080fd5b8063b5508aa9146102fd578063b668ab7d14610305578063ba414fa61461030d578063d924f1801461032557600080fd5b8063916a17c6116100de578063916a17c6146102dd578063943849a9146102e5578063a28c5e34146102ed578063af056092146102f557600080fd5b806385226c81146102a55780638ef09210146102ba5780639027c03f146102cd57806390c6e931146102d557600080fd5b80634059c0021161018757806372f70f661161015657806372f70f6614610285578063771859681461028d5780637d498da7146102955780637e5ed4db1461029d57600080fd5b80634059c0021461024d57806341e299fe14610255578063434004ec1461026857806366d9a9a01461027057600080fd5b80632fc1b6ab116101c35780632fc1b6ab1461022d5780633ab461c7146102355780633e5e3c231461023d5780633f7286f41461024557600080fd5b80630a9254e4146101f55780631d303931146101ff5780631ed7831c1461020757806323b4ffe014610225575b600080fd5b6101fd610352565b005b6101fd61049e565b61020f6107d0565b60405161021c91906141c9565b60405180910390f35b6101fd61083f565b6101fd6108db565b6101fd610b0f565b61020f611764565b61020f6117d1565b6101fd61183e565b6101fd610263366004614223565b6118af565b6101fd611951565b610278611c84565b60405161021c919061423c565b6101fd611d95565b6101fd611e06565b6101fd611e77565b6101fd612354565b6102ad612604565b60405161021c91906143a8565b6101fd6102c836600461444a565b6126d4565b6101fd61274c565b6101fd6127e6565b610278612ab0565b6101fd612bb8565b6101fd612c29565b6101fd612f55565b6102ad612fd8565b6101fd6130a8565b610315613375565b604051901515815260200161021c565b6101fd6134d5565b61020f613546565b6101fd6135b3565b6101fd613891565b6000546103159060ff1681565b60405161035e906141a3565b604051809103906000f08015801561037a573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516103cc906141b0565b604051809103906000f0801580156103e8573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560405161043a906141bd565b604051809103906000f080158015610456573d6000803e3d6000fd5b50601d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816104b657905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906105a1576105a161449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106106415761064161449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b81526004016106dd91906144cc565b600060405180830381600087803b1580156106f757600080fd5b505af115801561070b573d6000803e3d6000fd5b5050601b546040517fc3077fa900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063c3077fa9915061076590849060040161455e565b6000604051808303816000875af1158015610784573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107ca919081019061479f565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561083557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575b5050505050905090565b6108d943601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342cbb15c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d491906147ef565b613c89565b565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816108f257905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906109dd576109dd61449d565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610a4390869060040161455e565b6000604051808303816000875af1158015610a62573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610aa89190810190614808565b91509150610ab68243613c89565b610b0a81600081518110610acc57610acc61449d565b6020026020010151805190602001204340604051602001610aef91815260200190565b60405160208183030381529060405280519060200120613d93565b505050565b60408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610b275790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610c4957610c4961449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000818401819052818301528151600481526024810190925291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790526060820152815182906001908110610cf757610cf761449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600093820193909352600181830152601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea6000000000000000000000000000000000000000000000000000000001790529052815182906002908110610ddf57610ddf61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401610e7b91906144cc565b600060405180830381600087803b158015610e9557600080fd5b505af1158015610ea9573d6000803e3d6000fd5b5050601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063174dea719150610f039084906004016148c5565b6000604051808303816000875af1158015610f22573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f689190810190614986565b5060408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610f815790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600160208201526000818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906110a3576110a361449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052606081019190915282519091839181106111555761115561449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600193820184905281830193909352601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea600000000000000000000000000000000000000000000000000000000179052905281518290600290811061123d5761123d61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601a81526020017f4d756c746963616c6c333a2076616c7565206d69736d617463680000000000008152506040518263ffffffff1660e01b81526004016112d991906144cc565b600060405180830381600087803b1580156112f357600080fd5b505af1158015611307573d6000803e3d6000fd5b5050601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063174dea7191506113619084906004016148c5565b6000604051808303816000875af1158015611380573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113c69190810190614986565b5060408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816113df5790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906115015761150161449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052606081019190915282519091839181106115b3576115b361449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600093820193909352600181830152601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea600000000000000000000000000000000000000000000000000000000179052905281518290600290811061169b5761169b61449d565b6020908102919091010152601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063174dea71906001906116ff9085906004016148c5565b60006040518083038185885af115801561171d573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107ca9190810190614986565b6060600f8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b6108d942601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b601b546040517fee82ac5e0000000000000000000000000000000000000000000000000000000081526004810183905261194e9183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa158015611925573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194991906147ef565b613d93565b50565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161196957905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611a5457611a5461449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611af457611af461449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401611b9091906144cc565b600060405180830381600087803b158015611baa57600080fd5b505af1158015611bbe573d6000803e3d6000fd5b5050601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063bce38bd79150611c1b9060019085906004016149bb565b6000604051808303816000875af1158015611c3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611c809190810190614986565b5050565b60606012805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015611d7457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411611d215790505b50505050508152505081526020019060010190611ca8565b50505050905090565b6108d948601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e64a6966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6108d944601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b60408051600380825260808201909252600091816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611e8f5790505060408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000602082015281514360248201529293509190820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611f8857611f8861449d565b60209081029190910181019190915260408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600181840181905282516004815260248101845293840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291810192909252825183919081106120315761203161449d565b60209081029190910181019190915260408051606081018252601b5473ffffffffffffffffffffffffffffffffffffffff16815260018184015281516004815260248101835292830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0f28c97d00000000000000000000000000000000000000000000000000000000179052908101919091528151829060029081106120da576120da61449d565b6020908102919091010152601b546040517f82ad56cb00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906382ad56cb9061213c9085906004016149d6565b6000604051808303816000875af115801561215b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526121a19190810190614986565b90506121ca816000815181106121b9576121b961449d565b602002602001015160000151613e8d565b6122014340826000815181106121e2576121e261449d565b60200260200101516020015180602001905181019061194991906147ef565b61223e816000815181106122175761221761449d565b602002602001015160200151805190602001204340604051602001610aef91815260200190565b612266816001815181106122545761225461449d565b60200260200101516000015115613e8d565b6122908160018151811061227c5761227c61449d565b602002602001015160200151516004613c89565b612303816001815181106122a6576122a661449d565b6020026020010151602001516122bb90614a7d565b7fffffffff00000000000000000000000000000000000000000000000000000000167f81775cc300000000000000000000000000000000000000000000000000000000613d93565b612319816002815181106121b9576121b961449d565b611c808160028151811061232f5761232f61449d565b60200260200101516020015180602001905181019061234e91906147ef565b42613c89565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161236c57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906124575761245761449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106124f7576124f761449d565b6020908102919091010152601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063bce38bd79061255b90849086906004016149bb565b6000604051808303816000875af115801561257a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125c09190810190614986565b90506125d8816000815181106121b9576121b961449d565b6125ee816000815181106122175761221761449d565b611c80816001815181106122545761225461449d565b60606011805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57838290600052602060002001805461264790614acd565b80601f016020809104026020016040519081016040528092919081815260200182805461267390614acd565b80156126c05780601f10612695576101008083540402835291602001916126c0565b820191906000526020600020905b8154815290600101906020018083116126a357829003601f168201915b505050505081526020019060010190612628565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830181905261194e93903192911690634d2301cc90602401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6108d941601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e19190614b21565b613f01565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816127fe57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906128e9576128e961449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106129895761298961449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401612a2591906144cc565b600060405180830381600087803b158015612a3f57600080fd5b505af1158015612a53573d6000803e3d6000fd5b5050601b546040517f399542e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063399542e991506107659060019085906004016149bb565b60606013805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015612ba057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411612b4d5790505b50505050508152505081526020019060010190612ad4565b6108d945601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081612c4157905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090612d2c57612d2c61449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110612dcc57612dcc61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401612e6891906144cc565b600060405180830381600087803b158015612e8257600080fd5b505af1158015612e96573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150612ef090849060040161455e565b6000604051808303816000875af1158015612f0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b0a9190810190614808565b43612f5c57565b6108d9612f6a600143614b3e565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611925573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57838290600052602060002001805461301b90614acd565b80601f016020809104026020016040519081016040528092919081815260200182805461304790614acd565b80156130945780601f1061306957610100808354040283529160200191613094565b820191906000526020600020905b81548152906001019060200180831161307757829003601f168201915b505050505081526020019060010190612ffc565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816130c057905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906131ab576131ab61449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061324b5761324b61449d565b6020908102919091010152601b546040517f399542e90000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff169063399542e9906132b390849088906004016149bb565b6000604051808303816000875af11580156132d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613318919081019061479f565b9250925092506133288343613c89565b613333824340613d93565b613349816000815181106121b9576121b961449d565b61335f816000815181106122175761221761449d565b6107ca816001815181106122545761225461449d565b60008054610100900460ff16156133955750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156134d05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909161343a917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001614b7c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261347291614bc4565b6000604051808303816000865af19150503d80600081146134af576040519150601f19603f3d011682016040523d82523d6000602084013e6134b4565b606091505b50915050808060200190518101906134cc9190614be0565b9150505b919050565b6108d946601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633408e4706040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6060600c8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b60408051600280825260608201909252600091816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816135cb5790505060408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000602082015281514360248201529293509190820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906136c4576136c461449d565b60209081029190910181019190915260408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260008184015281516004815260248101835292830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529081019190915281518290600190811061376d5761376d61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b815260040161380991906144cc565b600060405180830381600087803b15801561382357600080fd5b505af1158015613837573d6000803e3d6000fd5b5050601b546040517f82ad56cb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692506382ad56cb9150611c1b9084906004016149d6565b60408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816138a95790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906139cb576139cb61449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905260608101919091528251909183918110613a7d57613a7d61449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600193820184905281830193909352601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea6000000000000000000000000000000000000000000000000000000001790529052815182906002908110613b6557613b6561449d565b6020908102919091010152601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063174dea7190600190613bca9086906004016148c5565b60006040518083038185885af1158015613be8573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613c2f9190810190614986565b9050613c47816000815181106121b9576121b961449d565b613c5d816000815181106122175761221761449d565b613c73816001815181106122545761225461449d565b611c80816002815181106121b9576121b961449d565b808214611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613d159060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051613d4c9190614bfb565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051613d839190614c46565b60405180910390a1611c80614027565b808214611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613e1f9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9982604051613e569190614bfb565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051613d839190614c46565b8061194e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613ef19060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a161194e614027565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613fb99060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f82604051613ff09190614c83565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f81604051613d839190614ce4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156141755760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526140f69291602001614b7c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261412e91614bc4565b6000604051808303816000865af19150503d806000811461416b576040519150601f19603f3d011682016040523d82523d6000602084013e614170565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b610f0080614d2283390190565b61021080615c2283390190565b606280615e3283390190565b6020808252825182820181905260009190848201906040850190845b8181101561421757835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016141e5565b50909695505050505050565b60006020828403121561423557600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015614323578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b8083101561430e5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906142cc565b50978a01979550505091870191600101614264565b50919998505050505050505050565b60005b8381101561434d578181015183820152602001614335565b838111156107ca5750506000910152565b60008151808452614376816020860160208601614332565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561441b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261440985835161435e565b945092850192908501906001016143cf565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461194e57600080fd5b60006020828403121561445c57600080fd5b813561446781614428565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602081526000614467602083018461435e565b600081518084526020808501808196508360051b8101915082860160005b858110156145515782840389528151805173ffffffffffffffffffffffffffffffffffffffff168552850151604086860181905261453d8187018361435e565b9a87019a95505050908401906001016144fd565b5091979650505050505050565b60208152600061446760208301846144df565b6040805190810167ffffffffffffffff811182821017156145945761459461446e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156145e1576145e161446e565b604052919050565b600067ffffffffffffffff8211156146035761460361446e565b5060051b60200190565b805180151581146134d057600080fd5b600082601f83011261462e57600080fd5b815167ffffffffffffffff8111156146485761464861446e565b61467960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161459a565b81815284602083860101111561468e57600080fd5b61469f826020830160208701614332565b949350505050565b600082601f8301126146b857600080fd5b815160206146cd6146c8836145e9565b61459a565b82815260059290921b840181019181810190868411156146ec57600080fd5b8286015b8481101561479457805167ffffffffffffffff808211156147115760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d0301121561474a5760008081fd5b614752614571565b61475d88850161460d565b81529083015190828211156147725760008081fd5b6147808c898487010161461d565b8189015286525050509183019183016146f0565b509695505050505050565b6000806000606084860312156147b457600080fd5b8351925060208401519150604084015167ffffffffffffffff8111156147d957600080fd5b6147e5868287016146a7565b9150509250925092565b60006020828403121561480157600080fd5b5051919050565b6000806040838503121561481b57600080fd5b8251915060208084015167ffffffffffffffff8082111561483b57600080fd5b818601915086601f83011261484f57600080fd5b815161485d6146c8826145e9565b81815260059190911b8301840190848101908983111561487c57600080fd5b8585015b838110156148b4578051858111156148985760008081fd5b6148a68c89838a010161461d565b845250918601918601614880565b508096505050505050509250929050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614978578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff1684528781015115158885015286810151878501526060908101516080918501829052906149648186018361435e565b9689019694505050908601906001016148ec565b509098975050505050505050565b60006020828403121561499857600080fd5b815167ffffffffffffffff8111156149af57600080fd5b61469f848285016146a7565b821515815260406020820152600061469f60408301846144df565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614978578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452878101511515888501528601516060878501819052614a698186018361435e565b9689019694505050908601906001016149fd565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015614ac55780818460040360031b1b83161693505b505050919050565b600181811c90821680614ae157607f821691505b60208210811415614b1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614b3357600080fd5b815161446781614428565b600082821015614b77577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251614bb6816004850160208701614332565b919091016004019392505050565b60008251614bd6818460208701614332565b9190910192915050565b600060208284031215614bf257600080fd5b6144678261460d565b604081526000614c3860408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b604081526000614c3860408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b604081526000614cc060408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b604081526000614cc060408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b50610ee0806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220449a18ce35be1adaedc9fa8ac86170e8c0f9b35e4a63d7b367123a4743501ae564736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c00336080604052348015600f57600080fd5b50604580601d6000396000f3fe608060405236600a57005b600080fdfea2646970667358221220436eb91872afe4157e5f088e49de50a733d5681111213f338e5b696087741bb664736f6c634300080c0033a26469706673582212204355840cf43ac6a9e4a1bcbe63b21105d99ce71c08f80d9de5ccbc3f347c689764736f6c634300080c0033","sourceMap":"245:9586:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;392:127;;;:::i;:::-;;3835:425;;;:::i;2161:134:6:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8715:98:25;;;:::i;596:461::-;;;:::i;6749:1751::-;;;:::i;2930:133:6:-;;;:::i;2631:141::-;;;:::i;9189:121:25:-;;;:::i;8577:134::-;;;;;;:::i;:::-;;:::i;2164:421::-;;;:::i;2447:178:6:-;;;:::i;:::-;;;;;;;:::i;9643:91:25:-;;;:::i;8939:124::-;;;:::i;4337:1091::-;;;:::i;1579:581::-;;;:::i;2301:140:6:-;;;:::i;:::-;;;;;;;:::i;9314:112:25:-;;;;;;:::i;:::-;;:::i;8817:118::-;;;:::i;3394:437::-;;;:::i;2778:146:6:-;;;:::i;9067:118:25:-;;;:::i;1061:441::-;;;:::i;9430:209::-;;;:::i;1866:141:6:-;;;:::i;2662:728:25:-;;;:::i;1819:584:0:-;;;:::i;:::-;;;4613:14:28;;4606:22;4588:41;;4576:2;4561:18;1819:584:0;4448:187:28;9738:91:25;;;:::i;2013:142:6:-;;;:::i;5432:429:25:-;;;:::i;5938:807::-;;;:::i;1572:26:0:-;;;;;;;;;392:127:25;434:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;422:9:25;:28;;;;;;;;;;;;;;;465:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;456:6:25;:25;;;;;;;;;;;;;;;499:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;487:9:25;:27;;;;;;;;;;;;;;;392:127::o;3835:425::-;3926:24;;;3948:1;3926:24;;;;;;;;;3893:30;;3926:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3926:24:25;;;;;;;;;;;;;;-1:-1:-1;3967:96:25;;;;;;;;3991:6;;;;3967:96;;4000:62;;4049:12;4000:62;;;4975:25:28;3893:57:25;;-1:-1:-1;3967:96:25;;;;;4948:18:28;;4000:62:25;;;;;;;;;;;;;;;;;;;;;;;;3967:96;;3956:8;;:5;;-1:-1:-1;;3956:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;4080:80;;;;;;;;4104:6;;;;4080:80;;4113:46;;;;;;;;;;;;;;;;;;;;;;4080:80;;;;4069:8;;:5;;4104:6;;4069:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;4166:15:25;;;4182:32;;;;;;;;;;;;;;;;;4166:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4221:9:25;;:34;;;;;:9;;;;;-1:-1:-1;4221:27:25;;-1:-1:-1;4221:34:25;;4249:5;;4221:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3887:373;3835:425::o;2161:134:6:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;8715:98:25:-;8758:50;8767:12;8781:9;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8758:8;:50::i;:::-;8715:98::o;596:461::-;697:24;;;719:1;697:24;;;;;;;;;664:30;;697:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;697:24:25;;;;;;;;;;;;;;-1:-1:-1;738:96:25;;;;;;;;762:6;;;;738:96;;771:62;;820:12;771:62;;;4975:25:28;664:57:25;;-1:-1:-1;738:96:25;;;;;4948:18:28;;771:62:25;;;;;;;;;;;;;;;;;;;;;;;;738:96;;727:8;;:5;;-1:-1:-1;;727:8:25;;;;:::i;:::-;;;;;;;;;;:107;891:9;;:26;;;;;841:19;;;;891:9;;;;;:19;;:26;;911:5;;891:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;840:77;;;;923:35;932:11;945:12;923:8;:35::i;:::-;964:88;983:10;994:1;983:13;;;;;;;;:::i;:::-;;;;;;;973:24;;;;;;1036:12;1026:23;1009:41;;;;;;11702:19:28;;11746:2;11737:12;;11573:182;1009:41:25;;;;;;;;;;;;;999:52;;;;;;964:8;:88::i;:::-;630:427;;;596:461::o;6749:1751::-;6844:30;;;6872:1;6844:30;;;;;;;;;6805:36;;6844:30;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;6844:30:25;;;;;;;;;;;;;-1:-1:-1;6891:112:25;;;;;;;;6921:6;;;;6891:112;;-1:-1:-1;6891:112:25;;;;;;;;;;6940:62;;6989:12;6940:62;;;4975:25:28;6805:69:25;;-1:-1:-1;6891:112:25;;;;;4948:18:28;;6940:62:25;;;;;;;;;;;;;;;;;;;;;;;;6891:112;;6880:8;;:5;;-1:-1:-1;;6880:8:25;;;;:::i;:::-;;;;;;;;;;;:123;;;;7020:96;;;;;;;;7050:6;;;;7020:96;;-1:-1:-1;7020:96:25;;;;;;;;;;7069:46;;;;;;;;;;;;;;;;;;;;;;7020:96;;;;7009:8;;:5;;7050:6;;7009:8;;;;;;:::i;:::-;;;;;;;;;;;:107;;;;7133:119;;;;;;;;7163:6;;;;;;7133:119;;-1:-1:-1;7133:119:25;;;;;;;7163:6;7133:119;;;;7240:9;;7182:69;;7240:9;;;;7182:69;;;11906:74:28;7133:119:25;;;;11879:18:28;;7182:69:25;;;;;;;;;;;;;;;;;;;;;;;;7133:119;;7122:8;;:5;;7128:1;;7122:8;;;;;;:::i;:::-;;;;;;:130;;;;317:28:1;309:37;;7258:15:25;;;7274:32;;;;;;;;;;;;;;;;;7258:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7313:9:25;;:32;;;;;:9;;;;;-1:-1:-1;7313:25:25;;-1:-1:-1;7313:32:25;;7339:5;;7313:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7444:30:25;;;7472:1;7444:30;;;;;;;;;7404:37;;7444:30;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;7444:30:25;;;;;;;;;;;;;-1:-1:-1;7492:111:25;;;;;;;;7522:6;;;;7492:111;;7522:6;7492:111;;;;-1:-1:-1;7492:111:25;;;;7540:62;;7589:12;7540:62;;;4975:25:28;7404:70:25;;-1:-1:-1;7492:111:25;;;;;4948:18:28;;7540:62:25;;;;;;;;;;;;;;;;;;;;;;;;7492:111;;7480:9;;:6;;-1:-1:-1;;7480:9:25;;;;:::i;:::-;;;;;;;;;;;:123;;;;7621:95;;;;;;;;7651:6;;;;7621:95;;7651:6;7621:95;;;;;;-1:-1:-1;7621:95:25;;;;7669:46;;;;;;;;;;;;;;;;;;;;;;7621:95;;;;;;;7609:9;;7621:95;;7609:6;;:9;;;;;;:::i;:::-;;;;;;;;;;;:107;;;;7734:118;;;;;;;;7764:6;;;;;;7734:118;;7764:6;7734:118;;;;;;;;;;;;;7840:9;;7782:69;;7840:9;;;;7782:69;;;11906:74:28;7734:118:25;;;;11879:18:28;;7782:69:25;;;;;;;;;;;;;;;;;;;;;;;;7734:118;;7722:9;;:6;;7729:1;;7722:9;;;;;;:::i;:::-;;;;;;:130;;;;317:28:1;309:37;;7858:15:25;;;7874:35;;;;;;;;;;;;;;;;;7858:52;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7916:9:25;;:33;;;;;:9;;;;;-1:-1:-1;7916:25:25;;-1:-1:-1;7916:33:25;;7942:6;;7916:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8036:30:25;;;8064:1;8036:30;;;;;;;;;7996:37;;8036:30;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;8036:30:25;;;;;;;;;;;;;-1:-1:-1;8084:112:25;;;;;;;;8114:6;;;;8084:112;;-1:-1:-1;8084:112:25;;;;;;;;;;8133:62;;8182:12;8133:62;;;4975:25:28;7996:70:25;;-1:-1:-1;8084:112:25;;;;;4948:18:28;;8133:62:25;;;;;;;;;;;;;;;;;;;;;;;;8084:112;;8072:9;;:6;;-1:-1:-1;;8072:9:25;;;;:::i;:::-;;;;;;;;;;;:124;;;;8214:95;;;;;;;;8244:6;;;;8214:95;;8244:6;8214:95;;;;;;-1:-1:-1;8214:95:25;;;;8262:46;;;;;;;;;;;;;;;;;;;;;;8214:95;;;;;;;8202:9;;8214:95;;8202:6;;:9;;;;;;:::i;:::-;;;;;;;;;;;:107;;;;8327:119;;;;;;;;8357:6;;;;;;8327:119;;-1:-1:-1;8327:119:25;;;;;;;8357:6;8327:119;;;;8434:9;;8376:69;;8434:9;;;;8376:69;;;11906:74:28;8327:119:25;;;;11879:18:28;;8376:69:25;;;;;;;;;;;;;;;;;;;;;;;;8327:119;;8315:9;;:6;;8322:1;;8315:9;;;;;;:::i;:::-;;;;;;;;;;:131;8452:9;;:43;;;;;:9;;;;;:25;;:9;;:43;;8488:6;;8452:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2930:133:6:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;9189:121:25:-;9242:63;9251:15;9268:9;;;;;;;;;;;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8577:134;8670:9;;:35;;;;;;;;4975:25:28;;;8637:69:25;;8646:22;;;8670:9;;;;;:22;;4948:18:28;;8670:35:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8637:8;:69::i;:::-;8577:134;:::o;2164:421::-;2250:24;;;2272:1;2250:24;;;;;;;;;2217:30;;2250:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2250:24:25;;;;;;;;;;;;;;-1:-1:-1;2291:96:25;;;;;;;;2315:6;;;;2291:96;;2324:62;;2373:12;2324:62;;;4975:25:28;2217:57:25;;-1:-1:-1;2291:96:25;;;;;4948:18:28;;2324:62:25;;;;;;;;;;;;;;;;;;;;;;;;2291:96;;2280:8;;:5;;-1:-1:-1;;2280:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;2404:80;;;;;;;;2428:6;;;;2404:80;;2437:46;;;;;;;;;;;;;;;;;;;;;;2404:80;;;;2393:8;;:5;;2428:6;;2393:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;2490:15:25;;;2506:32;;;;;;;;;;;;;;;;;2490:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2545:9:25;;:35;;;;;:9;;;;;-1:-1:-1;2545:22:25;;-1:-1:-1;2545:35:25;;:9;;2574:5;;2545:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2211:374;2164:421::o;2447:178:6:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;9643:91:25:-;9682:47;9691:13;9706:9;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8939:124;8993:65;9002:16;9020:9;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4337:1091;4410:25;;;4433:1;4410:25;;;;;;;;;4376:31;;4410:25;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;4410:25:25;;;;;;;;;;;;;;-1:-1:-1;4452:104:25;;;;;;;;4477:6;;;;4452:104;;-1:-1:-1;4452:104:25;;;;4493:62;;4542:12;4493:62;;;4975:25:28;4376:59:25;;-1:-1:-1;4452:104:25;;;;;4948:18:28;;4493:62:25;;;;;;;;;;;;;;;;;;;;;;;;4452:104;;4441:8;;:5;;-1:-1:-1;;4441:8:25;;;;:::i;:::-;;;;;;;;;;;:115;;;;4573:87;;;;;;;;4598:6;;;;4573:87;;4598:6;4573:87;;;;;;4613:46;;;;;;;;;;;;;;;;;;;;;4573:87;;;;;;;4562:8;;:5;;4598:6;4562:8;;;;;;:::i;:::-;;;;;;;;;;;:98;;;;4677:97;;;;;;;;4702:9;;;;4677:97;;4702:9;4677:97;;;;4720:53;;;;;;;;;;;;;;;;;;;;;4677:97;;;;;;;4666:8;;:5;;4672:1;;4666:8;;;;;;:::i;:::-;;;;;;;;;;:108;4822:9;;:27;;;;;4781:37;;4822:9;;;:20;;:27;;4843:5;;4822:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4780:69;;4871:33;4882:10;4893:1;4882:13;;;;;;;;:::i;:::-;;;;;;;:21;;;4871:10;:33::i;:::-;4910:82;4929:12;4919:23;4955:10;4966:1;4955:13;;;;;;;;:::i;:::-;;;;;;;:24;;;4944:47;;;;;;;;;;;;:::i;4910:82::-;4998:99;5017:10;5028:1;5017:13;;;;;;;;:::i;:::-;;;;;;;:24;;;5007:35;;;;;;5081:12;5071:23;5054:41;;;;;;11702:19:28;;11746:2;11737:12;;11573:182;4998:99:25;5119:34;5131:10;5142:1;5131:13;;;;;;;;:::i;:::-;;;;;;;:21;;;5130:22;5119:10;:34::i;:::-;5159:44;5168:10;5179:1;5168:13;;;;;;;;:::i;:::-;;;;;;;:24;;;:31;5201:1;5159:8;:44::i;:::-;5209:79;5225:10;5236:1;5225:13;;;;;;;;:::i;:::-;;;;;;;:24;;;5218:32;;;:::i;:::-;5209:79;;;:8;:79::i;:::-;5310:33;5321:10;5332:1;5321:13;;;;;;;;:::i;5310:33::-;5349:74;5369:10;5380:1;5369:13;;;;;;;;:::i;:::-;;;;;;;:24;;;5358:47;;;;;;;;;;;;:::i;:::-;5407:15;5349:8;:74::i;1579:581::-;1653:24;;;1675:1;1653:24;;;;;;;;;1620:30;;1653:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1653:24:25;;;;;;;;;;;;;;-1:-1:-1;1694:96:25;;;;;;;;1718:6;;;;1694:96;;1727:62;;1776:12;1727:62;;;4975:25:28;1620:57:25;;-1:-1:-1;1694:96:25;;;;;4948:18:28;;1727:62:25;;;;;;;;;;;;;;;;;;;;;;;;1694:96;;1683:8;;:5;;-1:-1:-1;;1683:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;1807:80;;;;;;;;1831:6;;;;1807:80;;1840:46;;;;;;;;;;;;;;;;;;;;;;1807:80;;;;1796:8;;:5;;1831:6;;1796:8;;;;;;:::i;:::-;;;;;;;;;;:91;1935:9;;:36;;;;;1894:37;;1935:9;;;:22;;:36;;1894:37;;1965:5;;1935:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1893:78;;1977:33;1988:10;1999:1;1988:13;;;;;;;;:::i;1977:33::-;2016:99;2035:10;2046:1;2035:13;;;;;;;;:::i;2016:99::-;2121:34;2133:10;2144:1;2133:13;;;;;;;;:::i;2301:140:6:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9314:112:25;9391:9;;:29;;;;;9377:12;;;;9391:29;;;11906:74:28;;;9368:53:25;;9377:12;;;9391:9;;;:23;;11879:18:28;;9391:29:25;;;;;;;;;;;;;;;;;;;;;;8817:118;8869:61;8878:14;8894:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8869:8;:61::i;3394:437::-;3488:24;;;3510:1;3488:24;;;;;;;;;3455:30;;3488:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3488:24:25;;;;;;;;;;;;;;-1:-1:-1;3529:96:25;;;;;;;;3553:6;;;;3529:96;;3562:62;;3611:12;3562:62;;;4975:25:28;3455:57:25;;-1:-1:-1;3529:96:25;;;;;4948:18:28;;3562:62:25;;;;;;;;;;;;;;;;;;;;;;;;3529:96;;3518:8;;:5;;-1:-1:-1;;3518:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;3642:80;;;;;;;;3666:6;;;;3642:80;;3675:46;;;;;;;;;;;;;;;;;;;;;;3642:80;;;;3631:8;;:5;;3666:6;;3631:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;3728:15:25;;;3744:32;;;;;;;;;;;;;;;;;3728:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3783:9:25;;:43;;;;;:9;;;;;-1:-1:-1;3783:30:25;;-1:-1:-1;3783:43:25;;:9;;3820:5;;3783:43;;;:::i;2778:146:6:-;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9067:118:25;9119:61;9128:14;9144:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1061:441;1176:24;;;1198:1;1176:24;;;;;;;;;1143:30;;1176:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1176:24:25;;;;;;;;;;;;;;-1:-1:-1;1217:96:25;;;;;;;;1241:6;;;;1217:96;;1250:62;;1299:12;1250:62;;;4975:25:28;1143:57:25;;-1:-1:-1;1217:96:25;;;;;4948:18:28;;1250:62:25;;;;;;;;;;;;;;;;;;;;;;;;1217:96;;1206:8;;:5;;-1:-1:-1;;1206:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;1330:80;;;;;;;;1354:6;;;;1330:80;;1363:46;;;;;;;;;;;;;;;;;;;;;;1330:80;;;;1319:8;;:5;;1354:6;;1319:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;1416:15:25;;;1432:32;;;;;;;;;;;;;;;;;1416:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1471:9:25;;:26;;;;;:9;;;;;-1:-1:-1;1471:19:25;;-1:-1:-1;1471:26:25;;1491:5;;1471:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9430:209::-;9536:12;9532:30;;9430:209::o;9532:30::-;9567:67;9586:16;9601:1;9586:12;:16;:::i;:::-;9576:27;9605:9;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141:6;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2662:728:25;2744:24;;;2766:1;2744:24;;;;;;;;;2711:30;;2744:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2744:24:25;;;;;;;;;;;;;;-1:-1:-1;2785:96:25;;;;;;;;2809:6;;;;2785:96;;2818:62;;2867:12;2818:62;;;4975:25:28;2711:57:25;;-1:-1:-1;2785:96:25;;;;;4948:18:28;;2818:62:25;;;;;;;;;;;;;;;;;;;;;;;;2785:96;;2774:8;;:5;;-1:-1:-1;;2774:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;2898:80;;;;;;;;2922:6;;;;2898:80;;2931:46;;;;;;;;;;;;;;;;;;;;;;2898:80;;;;2887:8;;:5;;2922:6;;2887:8;;;;;;:::i;:::-;;;;;;;;;;:91;3066:9;;:44;;;;;2985:19;;;;;;3066:9;;;:30;;:44;;2985:19;;3104:5;;3066:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2984:126;;;;;;3116:35;3125:11;3138:12;3116:8;:35::i;:::-;3157:44;3166:9;3187:12;3177:23;3157:8;:44::i;:::-;3207:33;3218:10;3229:1;3218:13;;;;;;;;:::i;3207:33::-;3246:99;3265:10;3276:1;3265:13;;;;;;;;:::i;3246:99::-;3351:34;3363:10;3374:1;3363:13;;;;;;;;:::i;1819:584:0:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;17111:74:28;;;2221:17:0;17201:18:28;;;17194:34;2196:43:0;;;;;;;;;17084:18:28;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;9738:91:25:-;9777:47;9786:13;9801:9;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142:6;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;5432:429:25:-;5517:25;;;5540:1;5517:25;;;;;;;;;5483:31;;5517:25;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;5517:25:25;;;;;;;;;;;;;;-1:-1:-1;5559:104:25;;;;;;;;5584:6;;;;5559:104;;-1:-1:-1;5559:104:25;;;;5600:62;;5649:12;5600:62;;;4975:25:28;5483:59:25;;-1:-1:-1;5559:104:25;;;;;4948:18:28;;5600:62:25;;;;;;;;;;;;;;;;;;;;;;;;5559:104;;5548:8;;:5;;-1:-1:-1;;5548:8:25;;;;:::i;:::-;;;;;;;;;;;:115;;;;5680:88;;;;;;;;5705:6;;;;5680:88;;-1:-1:-1;5680:88:25;;;;5721:46;;;;;;;;;;;;;;;;;;;;;5680:88;;;;;;;5669:8;;:5;;5705:6;;5669:8;;;;;;:::i;:::-;;;;;;:99;;;;317:28:1;309:37;;5774:15:25;;;5790:32;;;;;;;;;;;;;;;;;5774:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5829:9:25;;:27;;;;;:9;;;;;-1:-1:-1;5829:20:25;;-1:-1:-1;5829:27:25;;5850:5;;5829:27;;;:::i;5938:807::-;6021:30;;;6049:1;6021:30;;;;;;;;;5982:36;;6021:30;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;6021:30:25;;;;;;;;;;;;;-1:-1:-1;6068:112:25;;;;;;;;6098:6;;;;6068:112;;-1:-1:-1;6068:112:25;;;;;;;;;;6117:62;;6166:12;6117:62;;;4975:25:28;5982:69:25;;-1:-1:-1;6068:112:25;;;;;4948:18:28;;6117:62:25;;;;;;;;;;;;;;;;;;;;;;;;6068:112;;6057:8;;:5;;-1:-1:-1;;6057:8:25;;;;:::i;:::-;;;;;;;;;;;:123;;;;6197:95;;;;;;;;6227:6;;;;6197:95;;6227:6;6197:95;;;;;;-1:-1:-1;6197:95:25;;;;6245:46;;;;;;;;;;;;;;;;;;;;;;6197:95;;;;;;;6186:8;;6197:95;;6186:5;;:8;;;;;;:::i;:::-;;;;;;;;;;;:106;;;;6309:118;;;;;;;;6339:6;;;;;;6309:118;;6339:6;6309:118;;;;;;;;;;;;;6415:9;;6357:69;;6415:9;;;;6357:69;;;11906:74:28;6309:118:25;;;;11879:18:28;;6357:69:25;;;;;;;;;;;;;;;;;;;;;;;;6309:118;;6298:8;;:5;;6304:1;;6298:8;;;;;;:::i;:::-;;;;;;;;;;:129;6475:9;;:42;;;;;6434:37;;6475:9;;;:25;;:9;;:42;;6511:5;;6475:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6433:84;;6523:33;6534:10;6545:1;6534:13;;;;;;;;:::i;6523:33::-;6562:99;6581:10;6592:1;6581:13;;;;;;;;:::i;6562:99::-;6667:34;6679:10;6690:1;6679:13;;;;;;;;:::i;6667:34::-;6707:33;6718:10;6729:1;6718:13;;;;;;;;:::i;5209:262:0:-;5271:1;5266;:6;5262:203;;5293:41;;;;;18349:2:28;18331:21;;;18388:2;18368:18;;;18361:30;18427:34;18422:2;18407:18;;18400:62;18498:4;18493:2;18478:18;;18471:32;18535:3;18520:19;;18147:398;5293:41:0;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;4095:277::-;4163:1;4158;:6;4154:212;;4185:44;;;;;19786:2:28;19768:21;;;19825:2;19805:18;;;19798:30;19864:34;19859:2;19844:18;;19837:62;19935:7;19930:2;19915:18;;19908:35;19975:3;19960:19;;19584:401;4185:44:0;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;3262:157::-;3322:9;3317:96;;3352:30;;;;;20898:2:28;20880:21;;;20937:2;20917:18;;;20910:30;20976:25;20971:2;20956:18;;20949:53;21034:2;21019:18;;20696:347;3352:30:0;;;;;;;;3396:6;:4;:6::i;3622:277::-;3690:1;3685:6;;:1;:6;;;3681:212;;3712:44;;;;;21250:2:28;21232:21;;;21289:2;21269:18;;;21262:30;21328:34;21323:2;21308:18;;21301:62;21399:7;21394:2;21379:18;;21372:35;21439:3;21424:19;;21048:401;3712:44:0;;;;;;;;3775:34;3807:1;3775:34;;;;;;:::i;:::-;;;;;;;;3828;3860:1;3828:34;;;;;;:::i;2409:432::-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;22460:74:28;;;2677:17:0;22550:18:28;;;22543:34;;;;2712:4:0;22593:18:28;;;22586:34;2489:11:0;;1671:64;2586:43;;22433:18:28;;2652:67:0;;;;;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;;;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:0;2820:7;:14;;;;;;;;2409:432::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:681:28:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;545:42;526:62;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:28;;14:681;-1:-1:-1;;;;;;14:681:28:o;700:180::-;759:6;812:2;800:9;791:7;787:23;783:32;780:52;;;828:1;825;818:12;780:52;-1:-1:-1;851:23:28;;700:180;-1:-1:-1;700:180:28:o;885:1695::-;1087:4;1116:2;1156;1145:9;1141:18;1186:2;1175:9;1168:21;1209:6;1244;1238:13;1275:6;1267;1260:22;1301:2;1291:12;;1334:2;1323:9;1319:18;1312:25;;1396:2;1386:6;1383:1;1379:14;1368:9;1364:30;1360:39;1434:2;1426:6;1422:15;1455:1;1476;1486:1065;1502:6;1497:3;1494:15;1486:1065;;;1571:22;;;1595:66;1567:95;1555:108;;1686:13;;1773:9;;1784:42;1769:58;1754:74;;1867:11;;1861:18;1899:15;;;1892:27;;;1980:19;;1726:15;;;2012:24;;;2102:21;;;;2147:1;;2070:2;2058:15;;;2161:282;2177:8;2172:3;2169:17;2161:282;;;2258:15;;2275:66;2254:88;2240:103;;2412:17;;;;2205:1;2196:11;;;;;2369:14;;;;2161:282;;;-1:-1:-1;2529:12:28;;;;2466:5;-1:-1:-1;;;2494:15:28;;;;1528:1;1519:11;1486:1065;;;-1:-1:-1;2568:6:28;;885:1695;-1:-1:-1;;;;;;;;;885:1695:28:o;2585:258::-;2657:1;2667:113;2681:6;2678:1;2675:13;2667:113;;;2757:11;;;2751:18;2738:11;;;2731:39;2703:2;2696:10;2667:113;;;2798:6;2795:1;2792:13;2789:48;;;-1:-1:-1;;2833:1:28;2815:16;;2808:27;2585:258::o;2848:317::-;2890:3;2928:5;2922:12;2955:6;2950:3;2943:19;2971:63;3027:6;3020:4;3015:3;3011:14;3004:4;2997:5;2993:16;2971:63;:::i;:::-;3079:2;3067:15;3084:66;3063:88;3054:98;;;;3154:4;3050:109;;2848:317;-1:-1:-1;;2848:317:28:o;3170:862::-;3332:4;3361:2;3401;3390:9;3386:18;3431:2;3420:9;3413:21;3454:6;3489;3483:13;3520:6;3512;3505:22;3558:2;3547:9;3543:18;3536:25;;3620:2;3610:6;3607:1;3603:14;3592:9;3588:30;3584:39;3570:53;;3658:2;3650:6;3646:15;3679:1;3689:314;3703:6;3700:1;3697:13;3689:314;;;3792:66;3780:9;3772:6;3768:22;3764:95;3759:3;3752:108;3883:40;3916:6;3907;3901:13;3883:40;:::i;:::-;3873:50;-1:-1:-1;3981:12:28;;;;3946:15;;;;3725:1;3718:9;3689:314;;;-1:-1:-1;4020:6:28;;3170:862;-1:-1:-1;;;;;;;3170:862:28:o;4037:154::-;4123:42;4116:5;4112:54;4105:5;4102:65;4092:93;;4181:1;4178;4171:12;4196:247;4255:6;4308:2;4296:9;4287:7;4283:23;4279:32;4276:52;;;4324:1;4321;4314:12;4276:52;4363:9;4350:23;4382:31;4407:5;4382:31;:::i;:::-;4432:5;4196:247;-1:-1:-1;;;4196:247:28:o;4640:184::-;4692:77;4689:1;4682:88;4789:4;4786:1;4779:15;4813:4;4810:1;4803:15;5011:184;5063:77;5060:1;5053:88;5160:4;5157:1;5150:15;5184:4;5181:1;5174:15;5200:218;5347:2;5336:9;5329:21;5310:4;5367:45;5408:2;5397:9;5393:18;5385:6;5367:45;:::i;5423:866::-;5480:3;5518:5;5512:12;5545:6;5540:3;5533:19;5571:4;5612:2;5607:3;5603:12;5637:11;5664;5657:18;;5714:6;5711:1;5707:14;5700:5;5696:26;5684:38;;5756:2;5749:5;5745:14;5777:1;5787:476;5801:6;5798:1;5795:13;5787:476;;;5862:16;;;5850:29;;5902:13;;5972:9;;5983:42;5968:58;5955:72;;6066:11;;6060:18;5938:4;6098:13;;;6091:25;;;6137:46;6169:13;;;6060:18;6137:46;:::i;:::-;6241:12;;;;6129:54;-1:-1:-1;;;6206:15:28;;;;5823:1;5816:9;5787:476;;;-1:-1:-1;6279:4:28;;5423:866;-1:-1:-1;;;;;;;5423:866:28:o;6294:311::-;6519:2;6508:9;6501:21;6482:4;6539:60;6595:2;6584:9;6580:18;6572:6;6539:60;:::i;6610:257::-;6682:4;6676:11;;;6714:17;;6761:18;6746:34;;6782:22;;;6743:62;6740:88;;;6808:18;;:::i;:::-;6844:4;6837:24;6610:257;:::o;6872:334::-;6943:2;6937:9;6999:2;6989:13;;7004:66;6985:86;6973:99;;7102:18;7087:34;;7123:22;;;7084:62;7081:88;;;7149:18;;:::i;:::-;7185:2;7178:22;6872:334;;-1:-1:-1;6872:334:28:o;7211:189::-;7277:4;7310:18;7302:6;7299:30;7296:56;;;7332:18;;:::i;:::-;-1:-1:-1;7377:1:28;7373:14;7389:4;7369:25;;7211:189::o;7405:164::-;7481:13;;7530;;7523:21;7513:32;;7503:60;;7559:1;7556;7549:12;7574:555;7627:5;7680:3;7673:4;7665:6;7661:17;7657:27;7647:55;;7698:1;7695;7688:12;7647:55;7727:6;7721:13;7753:18;7749:2;7746:26;7743:52;;;7775:18;;:::i;:::-;7819:114;7927:4;7858:66;7851:4;7847:2;7843:13;7839:86;7835:97;7819:114;:::i;:::-;7958:2;7949:7;7942:19;8004:3;7997:4;7992:2;7984:6;7980:15;7976:26;7973:35;7970:55;;;8021:1;8018;8011:12;7970:55;8034:64;8095:2;8088:4;8079:7;8075:18;8068:4;8060:6;8056:17;8034:64;:::i;:::-;8116:7;7574:555;-1:-1:-1;;;;7574:555:28:o;8134:1520::-;8205:5;8258:3;8251:4;8243:6;8239:17;8235:27;8225:55;;8276:1;8273;8266:12;8225:55;8305:6;8299:13;8331:4;8355:66;8371:49;8417:2;8371:49;:::i;:::-;8355:66;:::i;:::-;8455:15;;;8541:1;8537:10;;;;8525:23;;8521:32;;;8486:12;;;;8565:15;;;8562:35;;;8593:1;8590;8583:12;8562:35;8629:2;8621:6;8617:15;8641:984;8657:6;8652:3;8649:15;8641:984;;;8736:3;8730:10;8763:18;8813:2;8800:11;8797:19;8794:109;;;8857:1;8886:2;8882;8875:14;8794:109;8938:11;8930:6;8926:24;8916:34;;8973:4;9084:2;9015:66;9010:2;9005:3;9001:12;8997:85;8993:94;8990:184;;;9128:1;9157:2;9153;9146:14;8990:184;9200:22;;:::i;:::-;9249:39;9284:2;9280;9276:11;9249:39;:::i;:::-;9235:54;;9324:11;;;9318:18;;9352:16;;;9349:106;;;9409:1;9438:2;9434;9427:14;9349:106;9491:60;9547:3;9542:2;9531:8;9527:2;9523:17;9519:26;9491:60;:::i;:::-;9475:14;;;9468:84;9565:18;;-1:-1:-1;;;9603:12:28;;;;8674;;8641:984;;;-1:-1:-1;9643:5:28;8134:1520;-1:-1:-1;;;;;;8134:1520:28:o;9659:516::-;9797:6;9805;9813;9866:2;9854:9;9845:7;9841:23;9837:32;9834:52;;;9882:1;9879;9872:12;9834:52;9911:9;9905:16;9895:26;;9961:2;9950:9;9946:18;9940:25;9930:35;;10009:2;9998:9;9994:18;9988:25;10036:18;10028:6;10025:30;10022:50;;;10068:1;10065;10058:12;10022:50;10091:78;10161:7;10152:6;10141:9;10137:22;10091:78;:::i;:::-;10081:88;;;9659:516;;;;;:::o;10180:184::-;10250:6;10303:2;10291:9;10282:7;10278:23;10274:32;10271:52;;;10319:1;10316;10309:12;10271:52;-1:-1:-1;10342:16:28;;10180:184;-1:-1:-1;10180:184:28:o;10369:1199::-;10482:6;10490;10543:2;10531:9;10522:7;10518:23;10514:32;10511:52;;;10559:1;10556;10549:12;10511:52;10588:9;10582:16;10572:26;;10617:2;10663;10652:9;10648:18;10642:25;10686:18;10727:2;10719:6;10716:14;10713:34;;;10743:1;10740;10733:12;10713:34;10781:6;10770:9;10766:22;10756:32;;10826:7;10819:4;10815:2;10811:13;10807:27;10797:55;;10848:1;10845;10838:12;10797:55;10877:2;10871:9;10900:66;10916:49;10962:2;10916:49;:::i;10900:66::-;11000:15;;;11082:1;11078:10;;;;11070:19;;11066:28;;;11031:12;;;;11106:19;;;11103:39;;;11138:1;11135;11128:12;11103:39;11170:2;11166;11162:11;11182:356;11198:6;11193:3;11190:15;11182:356;;;11277:3;11271:10;11313:2;11300:11;11297:19;11294:109;;;11357:1;11386:2;11382;11375:14;11294:109;11428:67;11487:7;11482:2;11468:11;11464:2;11460:20;11456:29;11428:67;:::i;:::-;11416:80;;-1:-1:-1;11516:12:28;;;;11215;;11182:356;;;11186:3;11557:5;11547:15;;;;;;;;10369:1199;;;;;:::o;11991:1325::-;12191:4;12220:2;12260;12249:9;12245:18;12290:2;12279:9;12272:21;12313:6;12348;12342:13;12379:6;12371;12364:22;12405:2;12395:12;;12438:2;12427:9;12423:18;12416:25;;12500:2;12490:6;12487:1;12483:14;12472:9;12468:30;12464:39;12538:2;12530:6;12526:15;12559:1;12569:718;12583:6;12580:1;12577:13;12569:718;;;12648:22;;;12672:66;12644:95;12632:108;;12763:13;;12835:9;;12846:42;12831:58;12816:74;;12947:11;;;12941:18;12934:26;12927:34;12910:15;;;12903:59;13005:11;;;12999:18;12982:15;;;12975:43;13041:4;13084:11;;;13078:18;12799:4;13116:15;;;13109:27;;;13078:18;13159:48;13191:15;;;13078:18;13159:48;:::i;:::-;13265:12;;;;13149:58;-1:-1:-1;;;13230:15:28;;;;12605:1;12598:9;12569:718;;;-1:-1:-1;13304:6:28;;11991:1325;-1:-1:-1;;;;;;;;11991:1325:28:o;13321:394::-;13441:6;13494:2;13482:9;13473:7;13469:23;13465:32;13462:52;;;13510:1;13507;13500:12;13462:52;13543:9;13537:16;13576:18;13568:6;13565:30;13562:50;;;13608:1;13605;13598:12;13562:50;13631:78;13701:7;13692:6;13681:9;13677:22;13631:78;:::i;13909:392::-;14170:6;14163:14;14156:22;14145:9;14138:41;14215:2;14210;14199:9;14195:18;14188:30;14119:4;14235:60;14291:2;14280:9;14276:18;14268:6;14235:60;:::i;14306:1232::-;14496:4;14525:2;14565;14554:9;14550:18;14595:2;14584:9;14577:21;14618:6;14653;14647:13;14684:6;14676;14669:22;14710:2;14700:12;;14743:2;14732:9;14728:18;14721:25;;14805:2;14795:6;14792:1;14788:14;14777:9;14773:30;14769:39;14843:2;14835:6;14831:15;14864:1;14874:635;14888:6;14885:1;14882:13;14874:635;;;14953:22;;;14977:66;14949:95;14937:108;;15068:13;;15140:9;;15151:42;15136:58;15121:74;;15252:11;;;15246:18;15239:26;15232:34;15215:15;;;15208:59;15306:11;;15300:18;15104:4;15338:15;;;15331:27;;;15381:48;15413:15;;;15300:18;15381:48;:::i;:::-;15487:12;;;;15371:58;-1:-1:-1;;;15452:15:28;;;;14910:1;14903:9;14874:635;;15543:407;15626:5;15666;15660:12;15708:4;15701:5;15697:16;15691:23;15733:66;15825:2;15821;15817:11;15808:20;;15851:1;15843:6;15840:13;15837:107;;;15931:2;15925;15915:6;15912:1;15908:14;15905:1;15901:22;15897:31;15893:2;15889:40;15885:49;15876:58;;15837:107;;;;15543:407;;;:::o;15955:437::-;16034:1;16030:12;;;;16077;;;16098:61;;16152:4;16144:6;16140:17;16130:27;;16098:61;16205:2;16197:6;16194:14;16174:18;16171:38;16168:218;;;16242:77;16239:1;16232:88;16343:4;16340:1;16333:15;16371:4;16368:1;16361:15;16168:218;;15955:437;;;:::o;16397:251::-;16467:6;16520:2;16508:9;16499:7;16495:23;16491:32;16488:52;;;16536:1;16533;16526:12;16488:52;16568:9;16562:16;16587:31;16612:5;16587:31;:::i;16653:279::-;16693:4;16721:1;16718;16715:8;16712:188;;;16756:77;16753:1;16746:88;16857:4;16854:1;16847:15;16885:4;16882:1;16875:15;16712:188;-1:-1:-1;16917:9:28;;16653:279::o;17239:417::-;17436:66;17428:6;17424:79;17419:3;17412:92;17394:3;17533:6;17527:13;17549:61;17603:6;17599:1;17594:3;17590:11;17583:4;17575:6;17571:17;17549:61;:::i;:::-;17630:16;;;;17648:1;17626:24;;17239:417;-1:-1:-1;;;17239:417:28:o;17661:274::-;17790:3;17828:6;17822:13;17844:53;17890:6;17885:3;17878:4;17870:6;17866:17;17844:53;:::i;:::-;17913:16;;;;;17661:274;-1:-1:-1;;17661:274:28:o;17940:202::-;18007:6;18060:2;18048:9;18039:7;18035:23;18031:32;18028:52;;;18076:1;18073;18066:12;18028:52;18099:37;18126:9;18099:37;:::i;18714:348::-;18944:2;18933:9;18926:21;18907:4;18964:49;19009:2;18998:9;18994:18;18627:2;18615:15;;18662:12;18655:4;18646:14;;18639:36;18700:2;18691:12;;18550:159;18964:49;18956:57;;19049:6;19044:2;19033:9;19029:18;19022:34;18714:348;;;;:::o;19231:::-;19461:2;19450:9;19443:21;19424:4;19481:49;19526:2;19515:9;19511:18;19144:2;19132:15;;19179:12;19172:4;19163:14;;19156:36;19217:2;19208:12;;19067:159;21454:397;21684:2;21673:9;21666:21;21647:4;21704:49;21749:2;21738:9;21734:18;18627:2;18615:15;;18662:12;18655:4;18646:14;;18639:36;18700:2;18691:12;;18550:159;21704:49;21696:57;;21801:42;21793:6;21789:55;21784:2;21773:9;21769:18;21762:83;21454:397;;;;:::o;21856:::-;22086:2;22075:9;22068:21;22049:4;22106:49;22151:2;22140:9;22136:18;19144:2;19132:15;;19179:12;19172:4;19163:14;;19156:36;19217:2;19208:12;;19067:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAggregate3()":"7d498da7","testAggregate3Unsuccessful()":"e3d37d78","testAggregate3Value()":"f69f11f9","testAggregate3ValueUnsuccessful()":"3ab461c7","testAggregation()":"2fc1b6ab","testBlockAndAggregateUnsuccessful()":"1d303931","testGetBasefee()":"72f70f66","testGetBlockHash(uint256)":"41e299fe","testGetBlockNumber()":"23b4ffe0","testGetChainId()":"d924f180","testGetCurrentBlockCoinbase()":"9027c03f","testGetCurrentBlockDifficulty()":"77185968","testGetCurrentBlockGasLimit()":"943849a9","testGetCurrentBlockTimestamp()":"4059c002","testGetEthBalance(address)":"8ef09210","testGetLastBlockHash()":"af056092","testTryAggregate()":"7e5ed4db","testTryAggregateUnsuccessful()":"434004ec","testTryBlockAndAggregate()":"b668ab7d","testTryBlockAndAggregateUnsuccessful()":"90c6e931","testUnsuccessfulAggregation()":"a28c5e34"}}}},"src/test/mocks/EtherSink.sol":{"EtherSink":{"abi":[{"type":"receive","stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"andreas@nascent.xyz\",\"kind\":\"dev\",\"methods\":{},\"title\":\"EtherSink\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Receives Ether, that's about it \\\\( o_o )/\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/mocks/EtherSink.sol\":\"EtherSink\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/test/mocks/EtherSink.sol\":{\"keccak256\":\"0x9b3803e1bbefbae6b754c72da622fae849413991cfe20a9b73cb9234b292d8fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26b9734afc98dbee5b3baa8c3e9e5793f251964a0f77be5947fd0b6db1eb076f\",\"dweb:/ipfs/QmWvhaFdjTRJesGpGZSEqxs5xFFCc3Nk4PMwtS63XSBUpp\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080604052348015600f57600080fd5b50604580601d6000396000f3fe608060405236600a57005b600080fdfea2646970667358221220436eb91872afe4157e5f088e49de50a733d5681111213f338e5b696087741bb664736f6c634300080c0033","sourceMap":"164:193:26:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405236600a57005b600080fdfea2646970667358221220436eb91872afe4157e5f088e49de50a733d5681111213f338e5b696087741bb664736f6c634300080c0033","sourceMap":"164:193:26:-:0;;;;;;;;;;","linkReferences":{}}}}},"src/test/mocks/MockCallee.sol":{"MockCallee":{"abi":[{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"sendBackValue","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"thisMethodReverts","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"error","name":"Unsuccessful","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Unsuccessful\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"sendBackValue\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"thisMethodReverts\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"andreas@nascent.xyz\",\"kind\":\"dev\",\"methods\":{\"getBlockHash(uint256)\":{\"params\":{\"blockNumber\":\"The block number\"},\"returns\":{\"blockHash\":\"The 32 byte block hash\"}}},\"title\":\"MockCallee\",\"version\":1},\"userdoc\":{\"errors\":{\"Unsuccessful()\":[{\"notice\":\"Failure\"}]},\"kind\":\"user\",\"methods\":{\"getBlockHash(uint256)\":{\"notice\":\"Returns the block hash for the given block number\"},\"sendBackValue(address)\":{\"notice\":\"Accepts a value\"},\"thisMethodReverts()\":{\"notice\":\"Reverts o______O\"}},\"notice\":\"Receives calls from the Multicaller\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/mocks/MockCallee.sol\":\"MockCallee\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/test/mocks/MockCallee.sol\":{\"keccak256\":\"0x71cb32f7523d3b0f3304ba44a27e11d20d852fc041f44bd86deac14db74d3900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94abae22bf2a1504705a8f1ce14cf45ef27caea856dc6e81131594c0e557ee78\",\"dweb:/ipfs/QmNtv3JjtVnHAJjBg8YyMpkHu8TAwfTde5GNsoknifXsXT\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c0033","sourceMap":"159:645:27:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c0033","sourceMap":"159:645:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;547:73;;;;;;;;;;;;;:::i;:::-;;654:148;;;;;;:::i;:::-;;:::i;384:128::-;;;;;;;;;;-1:-1:-1;384:128:27;;;;;:::i;:::-;485:22;;384:128;;;;659:25:28;;;647:2;632:18;384:128:27;;;;;;;547:73;601:14;;;;;;;;;;;;;;654:148;715:7;728:6;:11;;747:9;728:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;714:47;;;772:2;767:30;;783:14;;;;;;;;;;;;;;767:30;708:94;654:148;:::o;14:309:28:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;231:42;224:5;220:54;213:5;210:65;200:93;;289:1;286;279:12;200:93;312:5;14:309;-1:-1:-1;;;14:309:28:o;328:180::-;387:6;440:2;428:9;419:7;415:23;411:32;408:52;;;456:1;453;446:12;408:52;-1:-1:-1;479:23:28;;328:180;-1:-1:-1;328:180:28:o","linkReferences":{}},"methodIdentifiers":{"getBlockHash(uint256)":"ee82ac5e","sendBackValue(address)":"36c40ea6","thisMethodReverts()":"032d0074"}}}}},"sources":{"lib/forge-std/lib/ds-test/src/test.sol":{"id":0,"ast":{"absolutePath":"lib/forge-std/lib/ds-test/src/test.sol","id":1787,"exportedSymbols":{"DSTest":[1786]},"nodeType":"SourceUnit","src":"689:15469:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"689:24:0","nodes":[],"literals":["solidity",">=","0.5",".0"]},{"id":1786,"nodeType":"ContractDefinition","src":"715:15442:0","nodes":[{"id":5,"nodeType":"EventDefinition","src":"737:38:0","nodes":[],"anonymous":false,"name":"log","nameLocation":"743:3:0","parameters":{"id":4,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5,"src":"767:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2,"name":"string","nodeType":"ElementaryTypeName","src":"767:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"766:8:0"}},{"id":9,"nodeType":"EventDefinition","src":"780:37:0","nodes":[],"anonymous":false,"name":"logs","nameLocation":"786:4:0","parameters":{"id":8,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9,"src":"810:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6,"name":"bytes","nodeType":"ElementaryTypeName","src":"810:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"809:7:0"}},{"id":13,"nodeType":"EventDefinition","src":"823:39:0","nodes":[],"anonymous":false,"name":"log_address","nameLocation":"829:11:0","parameters":{"id":12,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13,"src":"853:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10,"name":"address","nodeType":"ElementaryTypeName","src":"853:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"852:9:0"}},{"id":17,"nodeType":"EventDefinition","src":"867:39:0","nodes":[],"anonymous":false,"name":"log_bytes32","nameLocation":"873:11:0","parameters":{"id":16,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17,"src":"897:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14,"name":"bytes32","nodeType":"ElementaryTypeName","src":"897:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"896:9:0"}},{"id":21,"nodeType":"EventDefinition","src":"911:35:0","nodes":[],"anonymous":false,"name":"log_int","nameLocation":"917:7:0","parameters":{"id":20,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21,"src":"941:3:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18,"name":"int","nodeType":"ElementaryTypeName","src":"941:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"940:5:0"}},{"id":25,"nodeType":"EventDefinition","src":"951:36:0","nodes":[],"anonymous":false,"name":"log_uint","nameLocation":"957:8:0","parameters":{"id":24,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25,"src":"981:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22,"name":"uint","nodeType":"ElementaryTypeName","src":"981:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"980:6:0"}},{"id":29,"nodeType":"EventDefinition","src":"992:37:0","nodes":[],"anonymous":false,"name":"log_bytes","nameLocation":"998:9:0","parameters":{"id":28,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29,"src":"1022:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26,"name":"bytes","nodeType":"ElementaryTypeName","src":"1022:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1021:7:0"}},{"id":33,"nodeType":"EventDefinition","src":"1034:38:0","nodes":[],"anonymous":false,"name":"log_string","nameLocation":"1040:10:0","parameters":{"id":32,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33,"src":"1064:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30,"name":"string","nodeType":"ElementaryTypeName","src":"1064:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1063:8:0"}},{"id":39,"nodeType":"EventDefinition","src":"1078:55:0","nodes":[],"anonymous":false,"name":"log_named_address","nameLocation":"1084:17:0","parameters":{"id":38,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1115:3:0","nodeType":"VariableDeclaration","scope":39,"src":"1108:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":34,"name":"string","nodeType":"ElementaryTypeName","src":"1108:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":37,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1128:3:0","nodeType":"VariableDeclaration","scope":39,"src":"1120:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36,"name":"address","nodeType":"ElementaryTypeName","src":"1120:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1107:25:0"}},{"id":45,"nodeType":"EventDefinition","src":"1138:55:0","nodes":[],"anonymous":false,"name":"log_named_bytes32","nameLocation":"1144:17:0","parameters":{"id":44,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1175:3:0","nodeType":"VariableDeclaration","scope":45,"src":"1168:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40,"name":"string","nodeType":"ElementaryTypeName","src":"1168:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1188:3:0","nodeType":"VariableDeclaration","scope":45,"src":"1180:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1180:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1167:25:0"}},{"id":53,"nodeType":"EventDefinition","src":"1198:66:0","nodes":[],"anonymous":false,"name":"log_named_decimal_int","nameLocation":"1204:21:0","parameters":{"id":52,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1235:3:0","nodeType":"VariableDeclaration","scope":53,"src":"1228:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46,"name":"string","nodeType":"ElementaryTypeName","src":"1228:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1244:3:0","nodeType":"VariableDeclaration","scope":53,"src":"1240:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48,"name":"int","nodeType":"ElementaryTypeName","src":"1240:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":51,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"1254:8:0","nodeType":"VariableDeclaration","scope":53,"src":"1249:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint","nodeType":"ElementaryTypeName","src":"1249:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1227:36:0"}},{"id":61,"nodeType":"EventDefinition","src":"1269:67:0","nodes":[],"anonymous":false,"name":"log_named_decimal_uint","nameLocation":"1275:22:0","parameters":{"id":60,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1306:3:0","nodeType":"VariableDeclaration","scope":61,"src":"1299:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54,"name":"string","nodeType":"ElementaryTypeName","src":"1299:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1316:3:0","nodeType":"VariableDeclaration","scope":61,"src":"1311:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56,"name":"uint","nodeType":"ElementaryTypeName","src":"1311:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"1326:8:0","nodeType":"VariableDeclaration","scope":61,"src":"1321:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58,"name":"uint","nodeType":"ElementaryTypeName","src":"1321:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1298:37:0"}},{"id":67,"nodeType":"EventDefinition","src":"1341:51:0","nodes":[],"anonymous":false,"name":"log_named_int","nameLocation":"1347:13:0","parameters":{"id":66,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1378:3:0","nodeType":"VariableDeclaration","scope":67,"src":"1371:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":62,"name":"string","nodeType":"ElementaryTypeName","src":"1371:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1387:3:0","nodeType":"VariableDeclaration","scope":67,"src":"1383:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64,"name":"int","nodeType":"ElementaryTypeName","src":"1383:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1370:21:0"}},{"id":73,"nodeType":"EventDefinition","src":"1397:52:0","nodes":[],"anonymous":false,"name":"log_named_uint","nameLocation":"1403:14:0","parameters":{"id":72,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1434:3:0","nodeType":"VariableDeclaration","scope":73,"src":"1427:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68,"name":"string","nodeType":"ElementaryTypeName","src":"1427:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1444:3:0","nodeType":"VariableDeclaration","scope":73,"src":"1439:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70,"name":"uint","nodeType":"ElementaryTypeName","src":"1439:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1426:22:0"}},{"id":79,"nodeType":"EventDefinition","src":"1454:53:0","nodes":[],"anonymous":false,"name":"log_named_bytes","nameLocation":"1460:15:0","parameters":{"id":78,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1491:3:0","nodeType":"VariableDeclaration","scope":79,"src":"1484:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":74,"name":"string","nodeType":"ElementaryTypeName","src":"1484:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":77,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1502:3:0","nodeType":"VariableDeclaration","scope":79,"src":"1496:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76,"name":"bytes","nodeType":"ElementaryTypeName","src":"1496:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1483:23:0"}},{"id":85,"nodeType":"EventDefinition","src":"1512:54:0","nodes":[],"anonymous":false,"name":"log_named_string","nameLocation":"1518:16:0","parameters":{"id":84,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1549:3:0","nodeType":"VariableDeclaration","scope":85,"src":"1542:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":80,"name":"string","nodeType":"ElementaryTypeName","src":"1542:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":83,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1561:3:0","nodeType":"VariableDeclaration","scope":85,"src":"1554:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":82,"name":"string","nodeType":"ElementaryTypeName","src":"1554:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1541:24:0"}},{"id":88,"nodeType":"VariableDeclaration","src":"1572:26:0","nodes":[],"constant":false,"functionSelector":"fa7626d4","mutability":"mutable","name":"IS_TEST","nameLocation":"1584:7:0","scope":1786,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86,"name":"bool","nodeType":"ElementaryTypeName","src":"1572:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":87,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1594:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"},{"id":90,"nodeType":"VariableDeclaration","src":"1604:20:0","nodes":[],"constant":false,"mutability":"mutable","name":"_failed","nameLocation":"1617:7:0","scope":1786,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":89,"name":"bool","nodeType":"ElementaryTypeName","src":"1604:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":107,"nodeType":"VariableDeclaration","src":"1631:104:0","nodes":[],"constant":true,"mutability":"constant","name":"HEVM_ADDRESS","nameLocation":"1648:12:0","scope":1786,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91,"name":"address","nodeType":"ElementaryTypeName","src":"1631:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1713:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":100,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1703:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1703:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":99,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1695:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":98,"name":"uint256","nodeType":"ElementaryTypeName","src":"1695:7:0","typeDescriptions":{}}},"id":103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1695:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1687:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":96,"name":"uint160","nodeType":"ElementaryTypeName","src":"1687:7:0","typeDescriptions":{}}},"id":104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1687:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":95,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1679:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":94,"name":"bytes20","nodeType":"ElementaryTypeName","src":"1679:7:0","typeDescriptions":{}}},"id":105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1679:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"id":93,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1671:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92,"name":"address","nodeType":"ElementaryTypeName","src":"1671:7:0","typeDescriptions":{}}},"id":106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1671:64:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":111,"nodeType":"ModifierDefinition","src":"1742:27:0","nodes":[],"body":{"id":110,"nodeType":"Block","src":"1763:6:0","nodes":[],"statements":[{"id":109,"nodeType":"PlaceholderStatement","src":"1765:1:0"}]},"name":"mayRevert","nameLocation":"1751:9:0","parameters":{"id":108,"nodeType":"ParameterList","parameters":[],"src":"1760:2:0"},"virtual":false,"visibility":"internal"},{"id":117,"nodeType":"ModifierDefinition","src":"1774:39:0","nodes":[],"body":{"id":116,"nodeType":"Block","src":"1807:6:0","nodes":[],"statements":[{"id":115,"nodeType":"PlaceholderStatement","src":"1809:1:0"}]},"name":"testopts","nameLocation":"1783:8:0","parameters":{"id":114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":117,"src":"1792:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":112,"name":"string","nodeType":"ElementaryTypeName","src":"1792:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1791:15:0"},"virtual":false,"visibility":"internal"},{"id":172,"nodeType":"FunctionDefinition","src":"1819:584:0","nodes":[],"body":{"id":171,"nodeType":"Block","src":"1859:544:0","nodes":[],"statements":[{"condition":{"id":122,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"1873:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":169,"nodeType":"Block","src":"1927:470:0","statements":[{"assignments":[127],"declarations":[{"constant":false,"id":127,"mutability":"mutable","name":"globalFailed","nameLocation":"1946:12:0","nodeType":"VariableDeclaration","scope":169,"src":"1941:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":126,"name":"bool","nodeType":"ElementaryTypeName","src":"1941:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":129,"initialValue":{"hexValue":"66616c7365","id":128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1961:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"1941:25:0"},{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":130,"name":"hasHEVMContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":231,"src":"1984:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1984:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":166,"nodeType":"IfStatement","src":"1980:374:0","trueBody":{"id":165,"nodeType":"Block","src":"2002:352:0","statements":[{"assignments":[null,133],"declarations":[null,{"constant":false,"id":133,"mutability":"mutable","name":"retdata","nameLocation":"2036:7:0","nodeType":"VariableDeclaration","scope":165,"src":"2023:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":132,"name":"bytes","nodeType":"ElementaryTypeName","src":"2023:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":154,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6c6f616428616464726573732c6279746573333229","id":141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2145:23:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4","typeString":"literal_string \"load(address,bytes32)\""},"value":"load(address,bytes32)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4","typeString":"literal_string \"load(address,bytes32)\""}],"id":140,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2135:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2135:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2128:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":138,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2128:6:0","typeDescriptions":{}}},"id":143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2128:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":146,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107,"src":"2207:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2229:8:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2221:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2221:7:0","typeDescriptions":{}}},"id":150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2221:17:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":144,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2196:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2196:10:0","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2196:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2086:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2086:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2086:175:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":134,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107,"src":"2047:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2047:17:0","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2047:232:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2020:259:0"},{"expression":{"id":163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":155,"name":"globalFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127,"src":"2297:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":158,"name":"retdata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":133,"src":"2323:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2333:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":159,"name":"bool","nodeType":"ElementaryTypeName","src":"2333:4:0","typeDescriptions":{}}}],"id":161,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2332:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2312:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"2312:10:0","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2312:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2297:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":164,"nodeType":"ExpressionStatement","src":"2297:42:0"}]}},{"expression":{"id":167,"name":"globalFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127,"src":"2374:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":121,"id":168,"nodeType":"Return","src":"2367:19:0"}]},"id":170,"nodeType":"IfStatement","src":"1869:528:0","trueBody":{"id":125,"nodeType":"Block","src":"1882:39:0","statements":[{"expression":{"id":123,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"1903:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":121,"id":124,"nodeType":"Return","src":"1896:14:0"}]}}]},"functionSelector":"ba414fa6","implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1828:6:0","parameters":{"id":118,"nodeType":"ParameterList","parameters":[],"src":"1834:2:0"},"returnParameters":{"id":121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":172,"src":"1853:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":119,"name":"bool","nodeType":"ElementaryTypeName","src":"1853:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1852:6:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":216,"nodeType":"FunctionDefinition","src":"2409:432:0","nodes":[],"body":{"id":215,"nodeType":"Block","src":"2442:399:0","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":175,"name":"hasHEVMContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":231,"src":"2456:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2456:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":210,"nodeType":"IfStatement","src":"2452:359:0","trueBody":{"id":209,"nodeType":"Block","src":"2474:337:0","statements":[{"assignments":[178,null],"declarations":[{"constant":false,"id":178,"mutability":"mutable","name":"status","nameLocation":"2494:6:0","nodeType":"VariableDeclaration","scope":209,"src":"2489:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":177,"name":"bool","nodeType":"ElementaryTypeName","src":"2489:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":206,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"73746f726528616464726573732c627974657333322c6279746573333229","id":186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2596:32:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4","typeString":"literal_string \"store(address,bytes32,bytes32)\""},"value":"store(address,bytes32,bytes32)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4","typeString":"literal_string \"store(address,bytes32,bytes32)\""}],"id":185,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2586:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2586:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2579:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":183,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2579:6:0","typeDescriptions":{}}},"id":188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2579:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":191,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107,"src":"2663:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2685:8:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2677:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2677:7:0","typeDescriptions":{}}},"id":195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2677:17:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"30783031","id":200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2712:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2704:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":198,"name":"uint256","nodeType":"ElementaryTypeName","src":"2704:7:0","typeDescriptions":{}}},"id":201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2704:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2696:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2696:7:0","typeDescriptions":{}}},"id":202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2696:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2652:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2652:10:0","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2652:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":181,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2541:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2541:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2541:196:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":179,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107,"src":"2506:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2506:17:0","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2506:245:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2488:263:0"},{"expression":{"id":207,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"2765:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":208,"nodeType":"ExpressionStatement","src":"2765:6:0"}]}},{"expression":{"id":213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":211,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"2820:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2830:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2820:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":214,"nodeType":"ExpressionStatement","src":"2820:14:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"2418:4:0","parameters":{"id":173,"nodeType":"ParameterList","parameters":[],"src":"2422:2:0"},"returnParameters":{"id":174,"nodeType":"ParameterList","parameters":[],"src":"2442:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":231,"nodeType":"FunctionDefinition","src":"2847:242:0","nodes":[],"body":{"id":230,"nodeType":"Block","src":"2902:187:0","nodes":[],"statements":[{"assignments":[222],"declarations":[{"constant":false,"id":222,"mutability":"mutable","name":"hevmCodeSize","nameLocation":"2920:12:0","nodeType":"VariableDeclaration","scope":230,"src":"2912:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":221,"name":"uint256","nodeType":"ElementaryTypeName","src":"2912:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":224,"initialValue":{"hexValue":"30","id":223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2935:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2912:24:0"},{"AST":{"nodeType":"YulBlock","src":"2955:95:0","statements":[{"nodeType":"YulAssignment","src":"2969:71:0","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2997:42:0","type":"","value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"}],"functionName":{"name":"extcodesize","nodeType":"YulIdentifier","src":"2985:11:0"},"nodeType":"YulFunctionCall","src":"2985:55:0"},"variableNames":[{"name":"hevmCodeSize","nodeType":"YulIdentifier","src":"2969:12:0"}]}]},"evmVersion":"london","externalReferences":[{"declaration":222,"isOffset":false,"isSlot":false,"src":"2969:12:0","valueSize":1}],"id":225,"nodeType":"InlineAssembly","src":"2946:104:0"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":226,"name":"hevmCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":222,"src":"3066:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3081:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3066:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":220,"id":229,"nodeType":"Return","src":"3059:23:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hasHEVMContext","nameLocation":"2856:14:0","parameters":{"id":217,"nodeType":"ParameterList","parameters":[],"src":"2870:2:0"},"returnParameters":{"id":220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":231,"src":"2896:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":218,"name":"bool","nodeType":"ElementaryTypeName","src":"2896:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2895:6:0"},"scope":1786,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":252,"nodeType":"ModifierDefinition","src":"3095:161:0","nodes":[],"body":{"id":251,"nodeType":"Block","src":"3115:141:0","nodes":[],"statements":[{"assignments":[234],"declarations":[{"constant":false,"id":234,"mutability":"mutable","name":"startGas","nameLocation":"3130:8:0","nodeType":"VariableDeclaration","scope":251,"src":"3125:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":233,"name":"uint","nodeType":"ElementaryTypeName","src":"3125:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":237,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":235,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"3141:7:0","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3141:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3125:25:0"},{"id":238,"nodeType":"PlaceholderStatement","src":"3160:1:0"},{"assignments":[240],"declarations":[{"constant":false,"id":240,"mutability":"mutable","name":"endGas","nameLocation":"3176:6:0","nodeType":"VariableDeclaration","scope":251,"src":"3171:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":239,"name":"uint","nodeType":"ElementaryTypeName","src":"3171:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":243,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":241,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"3185:7:0","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3185:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3171:23:0"},{"eventCall":{"arguments":[{"hexValue":"676173","id":245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3224:5:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7","typeString":"literal_string \"gas\""},"value":"gas"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":246,"name":"startGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"3231:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":247,"name":"endGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":240,"src":"3242:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3231:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7","typeString":"literal_string \"gas\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":244,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3209:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3209:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":250,"nodeType":"EmitStatement","src":"3204:45:0"}]},"name":"logs_gas","nameLocation":"3104:8:0","parameters":{"id":232,"nodeType":"ParameterList","parameters":[],"src":"3112:2:0"},"virtual":false,"visibility":"internal"},{"id":269,"nodeType":"FunctionDefinition","src":"3262:157:0","nodes":[],"body":{"id":268,"nodeType":"Block","src":"3307:112:0","nodes":[],"statements":[{"condition":{"id":258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3321:10:0","subExpression":{"id":257,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"3322:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":267,"nodeType":"IfStatement","src":"3317:96:0","trueBody":{"id":266,"nodeType":"Block","src":"3333:80:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a20417373657274696f6e204661696c6564","id":260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3356:25:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687","typeString":"literal_string \"Error: Assertion Failed\""},"value":"Error: Assertion Failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687","typeString":"literal_string \"Error: Assertion Failed\""}],"id":259,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"3352:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3352:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":262,"nodeType":"EmitStatement","src":"3347:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":263,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"3396:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3396:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":265,"nodeType":"ExpressionStatement","src":"3396:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"3271:10:0","parameters":{"id":255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":254,"mutability":"mutable","name":"condition","nameLocation":"3287:9:0","nodeType":"VariableDeclaration","scope":269,"src":"3282:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":253,"name":"bool","nodeType":"ElementaryTypeName","src":"3282:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3281:16:0"},"returnParameters":{"id":256,"nodeType":"ParameterList","parameters":[],"src":"3307:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":290,"nodeType":"FunctionDefinition","src":"3425:191:0","nodes":[],"body":{"id":289,"nodeType":"Block","src":"3489:127:0","nodes":[],"statements":[{"condition":{"id":277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3503:10:0","subExpression":{"id":276,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":271,"src":"3504:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":288,"nodeType":"IfStatement","src":"3499:111:0","trueBody":{"id":287,"nodeType":"Block","src":"3515:95:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3551:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":280,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"3560:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":278,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"3534:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3534:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":282,"nodeType":"EmitStatement","src":"3529:35:0"},{"expression":{"arguments":[{"id":284,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":271,"src":"3589:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":283,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3578:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3578:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":286,"nodeType":"ExpressionStatement","src":"3578:21:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"3434:10:0","parameters":{"id":274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":271,"mutability":"mutable","name":"condition","nameLocation":"3450:9:0","nodeType":"VariableDeclaration","scope":290,"src":"3445:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":270,"name":"bool","nodeType":"ElementaryTypeName","src":"3445:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":273,"mutability":"mutable","name":"err","nameLocation":"3475:3:0","nodeType":"VariableDeclaration","scope":290,"src":"3461:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":272,"name":"string","nodeType":"ElementaryTypeName","src":"3461:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3444:35:0"},"returnParameters":{"id":275,"nodeType":"ParameterList","parameters":[],"src":"3489:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":320,"nodeType":"FunctionDefinition","src":"3622:277:0","nodes":[],"body":{"id":319,"nodeType":"Block","src":"3671:228:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":297,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":292,"src":"3685:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":298,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"3690:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3685:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":318,"nodeType":"IfStatement","src":"3681:212:0","trueBody":{"id":317,"nodeType":"Block","src":"3693:200:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d","id":301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3716:39:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017","typeString":"literal_string \"Error: a == b not satisfied [address]\""},"value":"Error: a == b not satisfied [address]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017","typeString":"literal_string \"Error: a == b not satisfied [address]\""}],"id":300,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"3712:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3712:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":303,"nodeType":"EmitStatement","src":"3707:49:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3793:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":306,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":292,"src":"3807:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_address","typeString":"address"}],"id":304,"name":"log_named_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39,"src":"3775:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3775:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":308,"nodeType":"EmitStatement","src":"3770:39:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3846:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":311,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"3860:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_address","typeString":"address"}],"id":309,"name":"log_named_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39,"src":"3828:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3828:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":313,"nodeType":"EmitStatement","src":"3823:39:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":314,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"3876:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3876:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":316,"nodeType":"ExpressionStatement","src":"3876:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3631:8:0","parameters":{"id":295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":292,"mutability":"mutable","name":"a","nameLocation":"3648:1:0","nodeType":"VariableDeclaration","scope":320,"src":"3640:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":291,"name":"address","nodeType":"ElementaryTypeName","src":"3640:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":294,"mutability":"mutable","name":"b","nameLocation":"3659:1:0","nodeType":"VariableDeclaration","scope":320,"src":"3651:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":293,"name":"address","nodeType":"ElementaryTypeName","src":"3651:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3639:22:0"},"returnParameters":{"id":296,"nodeType":"ParameterList","parameters":[],"src":"3671:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":345,"nodeType":"FunctionDefinition","src":"3904:185:0","nodes":[],"body":{"id":344,"nodeType":"Block","src":"3972:117:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":329,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":322,"src":"3986:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":330,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"3991:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3986:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":343,"nodeType":"IfStatement","src":"3982:101:0","trueBody":{"id":342,"nodeType":"Block","src":"3994:89:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4031:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":334,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":326,"src":"4040:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":332,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"4013:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4013:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":336,"nodeType":"EmitStatement","src":"4008:36:0"},{"expression":{"arguments":[{"id":338,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":322,"src":"4067:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":339,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"4070:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":337,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":320,"src":"4058:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4058:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":341,"nodeType":"ExpressionStatement","src":"4058:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3913:8:0","parameters":{"id":327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":322,"mutability":"mutable","name":"a","nameLocation":"3930:1:0","nodeType":"VariableDeclaration","scope":345,"src":"3922:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"3922:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":324,"mutability":"mutable","name":"b","nameLocation":"3941:1:0","nodeType":"VariableDeclaration","scope":345,"src":"3933:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":323,"name":"address","nodeType":"ElementaryTypeName","src":"3933:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":326,"mutability":"mutable","name":"err","nameLocation":"3958:3:0","nodeType":"VariableDeclaration","scope":345,"src":"3944:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":325,"name":"string","nodeType":"ElementaryTypeName","src":"3944:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3921:41:0"},"returnParameters":{"id":328,"nodeType":"ParameterList","parameters":[],"src":"3972:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":375,"nodeType":"FunctionDefinition","src":"4095:277:0","nodes":[],"body":{"id":374,"nodeType":"Block","src":"4144:228:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":352,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"4158:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":353,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"4163:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4158:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":373,"nodeType":"IfStatement","src":"4154:212:0","trueBody":{"id":372,"nodeType":"Block","src":"4166:200:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974657333325d","id":356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4189:39:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef","typeString":"literal_string \"Error: a == b not satisfied [bytes32]\""},"value":"Error: a == b not satisfied [bytes32]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef","typeString":"literal_string \"Error: a == b not satisfied [bytes32]\""}],"id":355,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"4185:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4185:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"4180:49:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4266:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":361,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"4280:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":359,"name":"log_named_bytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"4248:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (string memory,bytes32)"}},"id":362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4248:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":363,"nodeType":"EmitStatement","src":"4243:39:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4319:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":366,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"4333:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":364,"name":"log_named_bytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"4301:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (string memory,bytes32)"}},"id":367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4301:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":368,"nodeType":"EmitStatement","src":"4296:39:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":369,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"4349:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4349:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":371,"nodeType":"ExpressionStatement","src":"4349:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4104:8:0","parameters":{"id":350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":347,"mutability":"mutable","name":"a","nameLocation":"4121:1:0","nodeType":"VariableDeclaration","scope":375,"src":"4113:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4113:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":349,"mutability":"mutable","name":"b","nameLocation":"4132:1:0","nodeType":"VariableDeclaration","scope":375,"src":"4124:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4124:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4112:22:0"},"returnParameters":{"id":351,"nodeType":"ParameterList","parameters":[],"src":"4144:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":400,"nodeType":"FunctionDefinition","src":"4377:185:0","nodes":[],"body":{"id":399,"nodeType":"Block","src":"4445:117:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":384,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":377,"src":"4459:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":385,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":379,"src":"4464:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4459:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":398,"nodeType":"IfStatement","src":"4455:101:0","trueBody":{"id":397,"nodeType":"Block","src":"4467:89:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4504:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":389,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"4513:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":387,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"4486:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4486:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":391,"nodeType":"EmitStatement","src":"4481:36:0"},{"expression":{"arguments":[{"id":393,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":377,"src":"4540:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":394,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":379,"src":"4543:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":392,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4531:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4531:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":396,"nodeType":"ExpressionStatement","src":"4531:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4386:8:0","parameters":{"id":382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":377,"mutability":"mutable","name":"a","nameLocation":"4403:1:0","nodeType":"VariableDeclaration","scope":400,"src":"4395:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4395:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":379,"mutability":"mutable","name":"b","nameLocation":"4414:1:0","nodeType":"VariableDeclaration","scope":400,"src":"4406:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4406:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":381,"mutability":"mutable","name":"err","nameLocation":"4431:3:0","nodeType":"VariableDeclaration","scope":400,"src":"4417:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":380,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4394:41:0"},"returnParameters":{"id":383,"nodeType":"ParameterList","parameters":[],"src":"4445:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":413,"nodeType":"FunctionDefinition","src":"4567:82:0","nodes":[],"body":{"id":412,"nodeType":"Block","src":"4618:31:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":408,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"4637:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":409,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":404,"src":"4640:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":407,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4628:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4628:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":411,"nodeType":"ExpressionStatement","src":"4628:14:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4576:10:0","parameters":{"id":405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":402,"mutability":"mutable","name":"a","nameLocation":"4595:1:0","nodeType":"VariableDeclaration","scope":413,"src":"4587:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4587:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":404,"mutability":"mutable","name":"b","nameLocation":"4606:1:0","nodeType":"VariableDeclaration","scope":413,"src":"4598:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":403,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4598:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4586:22:0"},"returnParameters":{"id":406,"nodeType":"ParameterList","parameters":[],"src":"4618:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":429,"nodeType":"FunctionDefinition","src":"4654:106:0","nodes":[],"body":{"id":428,"nodeType":"Block","src":"4724:36:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":423,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"4743:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":424,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":417,"src":"4746:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":425,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":419,"src":"4749:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":422,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":400,"src":"4734:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4734:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":427,"nodeType":"ExpressionStatement","src":"4734:19:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4663:10:0","parameters":{"id":420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":415,"mutability":"mutable","name":"a","nameLocation":"4682:1:0","nodeType":"VariableDeclaration","scope":429,"src":"4674:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4674:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":417,"mutability":"mutable","name":"b","nameLocation":"4693:1:0","nodeType":"VariableDeclaration","scope":429,"src":"4685:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4685:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":419,"mutability":"mutable","name":"err","nameLocation":"4710:3:0","nodeType":"VariableDeclaration","scope":429,"src":"4696:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":418,"name":"string","nodeType":"ElementaryTypeName","src":"4696:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4673:41:0"},"returnParameters":{"id":421,"nodeType":"ParameterList","parameters":[],"src":"4724:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":459,"nodeType":"FunctionDefinition","src":"4766:257:0","nodes":[],"body":{"id":458,"nodeType":"Block","src":"4807:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":436,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"4821:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":437,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"4826:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4821:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":457,"nodeType":"IfStatement","src":"4817:200:0","trueBody":{"id":456,"nodeType":"Block","src":"4829:188:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e745d","id":440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4852:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81","typeString":"literal_string \"Error: a == b not satisfied [int]\""},"value":"Error: a == b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81","typeString":"literal_string \"Error: a == b not satisfied [int]\""}],"id":439,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"4848:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4848:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":442,"nodeType":"EmitStatement","src":"4843:45:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4921:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":445,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"4935:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":443,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"4907:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4907:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":447,"nodeType":"EmitStatement","src":"4902:35:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4970:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":450,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"4984:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":448,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"4956:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4956:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":452,"nodeType":"EmitStatement","src":"4951:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":453,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"5000:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5000:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":455,"nodeType":"ExpressionStatement","src":"5000:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4775:8:0","parameters":{"id":434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":431,"mutability":"mutable","name":"a","nameLocation":"4788:1:0","nodeType":"VariableDeclaration","scope":459,"src":"4784:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":430,"name":"int","nodeType":"ElementaryTypeName","src":"4784:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":433,"mutability":"mutable","name":"b","nameLocation":"4795:1:0","nodeType":"VariableDeclaration","scope":459,"src":"4791:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":432,"name":"int","nodeType":"ElementaryTypeName","src":"4791:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4783:14:0"},"returnParameters":{"id":435,"nodeType":"ParameterList","parameters":[],"src":"4807:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":484,"nodeType":"FunctionDefinition","src":"5028:176:0","nodes":[],"body":{"id":483,"nodeType":"Block","src":"5088:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":468,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"5102:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":469,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"5107:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"5102:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":482,"nodeType":"IfStatement","src":"5098:100:0","trueBody":{"id":481,"nodeType":"Block","src":"5110:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5146:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":473,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":465,"src":"5155:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":471,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"5129:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5129:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":475,"nodeType":"EmitStatement","src":"5124:35:0"},{"expression":{"arguments":[{"id":477,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"5182:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":478,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"5185:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":476,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":459,"src":"5173:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5173:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":480,"nodeType":"ExpressionStatement","src":"5173:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5037:8:0","parameters":{"id":466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":461,"mutability":"mutable","name":"a","nameLocation":"5050:1:0","nodeType":"VariableDeclaration","scope":484,"src":"5046:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":460,"name":"int","nodeType":"ElementaryTypeName","src":"5046:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":463,"mutability":"mutable","name":"b","nameLocation":"5057:1:0","nodeType":"VariableDeclaration","scope":484,"src":"5053:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":462,"name":"int","nodeType":"ElementaryTypeName","src":"5053:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":465,"mutability":"mutable","name":"err","nameLocation":"5074:3:0","nodeType":"VariableDeclaration","scope":484,"src":"5060:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":464,"name":"string","nodeType":"ElementaryTypeName","src":"5060:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5045:33:0"},"returnParameters":{"id":467,"nodeType":"ParameterList","parameters":[],"src":"5088:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":514,"nodeType":"FunctionDefinition","src":"5209:262:0","nodes":[],"body":{"id":513,"nodeType":"Block","src":"5252:219:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":491,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":486,"src":"5266:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":492,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":488,"src":"5271:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5266:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":512,"nodeType":"IfStatement","src":"5262:203:0","trueBody":{"id":511,"nodeType":"Block","src":"5274:191:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745d","id":495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5297:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183","typeString":"literal_string \"Error: a == b not satisfied [uint]\""},"value":"Error: a == b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183","typeString":"literal_string \"Error: a == b not satisfied [uint]\""}],"id":494,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"5293:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5293:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":497,"nodeType":"EmitStatement","src":"5288:46:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5368:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":500,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":486,"src":"5382:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":498,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"5353:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5353:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":502,"nodeType":"EmitStatement","src":"5348:36:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5418:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":505,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":488,"src":"5432:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":503,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"5403:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5403:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":507,"nodeType":"EmitStatement","src":"5398:36:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":508,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"5448:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5448:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":510,"nodeType":"ExpressionStatement","src":"5448:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5218:8:0","parameters":{"id":489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":486,"mutability":"mutable","name":"a","nameLocation":"5232:1:0","nodeType":"VariableDeclaration","scope":514,"src":"5227:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":485,"name":"uint","nodeType":"ElementaryTypeName","src":"5227:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":488,"mutability":"mutable","name":"b","nameLocation":"5240:1:0","nodeType":"VariableDeclaration","scope":514,"src":"5235:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":487,"name":"uint","nodeType":"ElementaryTypeName","src":"5235:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5226:16:0"},"returnParameters":{"id":490,"nodeType":"ParameterList","parameters":[],"src":"5252:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":539,"nodeType":"FunctionDefinition","src":"5476:178:0","nodes":[],"body":{"id":538,"nodeType":"Block","src":"5538:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":523,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"5552:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":524,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":518,"src":"5557:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5552:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":537,"nodeType":"IfStatement","src":"5548:100:0","trueBody":{"id":536,"nodeType":"Block","src":"5560:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5596:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":528,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"5605:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":526,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"5579:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5579:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":530,"nodeType":"EmitStatement","src":"5574:35:0"},{"expression":{"arguments":[{"id":532,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"5632:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":533,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":518,"src":"5635:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":531,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"5623:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5623:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":535,"nodeType":"ExpressionStatement","src":"5623:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5485:8:0","parameters":{"id":521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":516,"mutability":"mutable","name":"a","nameLocation":"5499:1:0","nodeType":"VariableDeclaration","scope":539,"src":"5494:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":515,"name":"uint","nodeType":"ElementaryTypeName","src":"5494:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":518,"mutability":"mutable","name":"b","nameLocation":"5507:1:0","nodeType":"VariableDeclaration","scope":539,"src":"5502:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":517,"name":"uint","nodeType":"ElementaryTypeName","src":"5502:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":520,"mutability":"mutable","name":"err","nameLocation":"5524:3:0","nodeType":"VariableDeclaration","scope":539,"src":"5510:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":519,"name":"string","nodeType":"ElementaryTypeName","src":"5510:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5493:35:0"},"returnParameters":{"id":522,"nodeType":"ParameterList","parameters":[],"src":"5538:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":573,"nodeType":"FunctionDefinition","src":"5659:323:0","nodes":[],"body":{"id":572,"nodeType":"Block","src":"5722:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":548,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":541,"src":"5736:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":549,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":543,"src":"5741:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"5736:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":571,"nodeType":"IfStatement","src":"5732:244:0","trueBody":{"id":570,"nodeType":"Block","src":"5744:232:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5767:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6","typeString":"literal_string \"Error: a == b not satisfied [decimal int]\""},"value":"Error: a == b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6","typeString":"literal_string \"Error: a == b not satisfied [decimal int]\""}],"id":551,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"5763:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5763:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":554,"nodeType":"EmitStatement","src":"5758:53:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5852:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":557,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":541,"src":"5866:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":558,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"5869:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":555,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"5830:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5830:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":560,"nodeType":"EmitStatement","src":"5825:53:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5919:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":563,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":543,"src":"5933:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":564,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"5936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":561,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"5897:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5897:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":566,"nodeType":"EmitStatement","src":"5892:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":567,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"5959:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5959:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":569,"nodeType":"ExpressionStatement","src":"5959:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"5668:15:0","parameters":{"id":546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":541,"mutability":"mutable","name":"a","nameLocation":"5688:1:0","nodeType":"VariableDeclaration","scope":573,"src":"5684:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":540,"name":"int","nodeType":"ElementaryTypeName","src":"5684:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":543,"mutability":"mutable","name":"b","nameLocation":"5695:1:0","nodeType":"VariableDeclaration","scope":573,"src":"5691:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":542,"name":"int","nodeType":"ElementaryTypeName","src":"5691:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":545,"mutability":"mutable","name":"decimals","nameLocation":"5703:8:0","nodeType":"VariableDeclaration","scope":573,"src":"5698:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":544,"name":"uint","nodeType":"ElementaryTypeName","src":"5698:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5683:29:0"},"returnParameters":{"id":547,"nodeType":"ParameterList","parameters":[],"src":"5722:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":601,"nodeType":"FunctionDefinition","src":"5987:215:0","nodes":[],"body":{"id":600,"nodeType":"Block","src":"6069:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":584,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":575,"src":"6083:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":585,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"6088:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"6083:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":599,"nodeType":"IfStatement","src":"6079:117:0","trueBody":{"id":598,"nodeType":"Block","src":"6091:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6127:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":589,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"6136:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":587,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"6110:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6110:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":591,"nodeType":"EmitStatement","src":"6105:35:0"},{"expression":{"arguments":[{"id":593,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":575,"src":"6170:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":594,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"6173:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":595,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":579,"src":"6176:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":592,"name":"assertEqDecimal","nodeType":"Identifier","overloadedDeclarations":[573,601,635,663],"referencedDeclaration":573,"src":"6154:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6154:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":597,"nodeType":"ExpressionStatement","src":"6154:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"5996:15:0","parameters":{"id":582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":575,"mutability":"mutable","name":"a","nameLocation":"6016:1:0","nodeType":"VariableDeclaration","scope":601,"src":"6012:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":574,"name":"int","nodeType":"ElementaryTypeName","src":"6012:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":577,"mutability":"mutable","name":"b","nameLocation":"6023:1:0","nodeType":"VariableDeclaration","scope":601,"src":"6019:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":576,"name":"int","nodeType":"ElementaryTypeName","src":"6019:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":579,"mutability":"mutable","name":"decimals","nameLocation":"6031:8:0","nodeType":"VariableDeclaration","scope":601,"src":"6026:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":578,"name":"uint","nodeType":"ElementaryTypeName","src":"6026:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":581,"mutability":"mutable","name":"err","nameLocation":"6055:3:0","nodeType":"VariableDeclaration","scope":601,"src":"6041:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":580,"name":"string","nodeType":"ElementaryTypeName","src":"6041:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6011:48:0"},"returnParameters":{"id":583,"nodeType":"ParameterList","parameters":[],"src":"6069:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":635,"nodeType":"FunctionDefinition","src":"6207:328:0","nodes":[],"body":{"id":634,"nodeType":"Block","src":"6272:263:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":610,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6286:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":611,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"6291:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6286:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":633,"nodeType":"IfStatement","src":"6282:247:0","trueBody":{"id":632,"nodeType":"Block","src":"6294:235:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6317:44:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141","typeString":"literal_string \"Error: a == b not satisfied [decimal uint]\""},"value":"Error: a == b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141","typeString":"literal_string \"Error: a == b not satisfied [decimal uint]\""}],"id":613,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"6313:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6313:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":616,"nodeType":"EmitStatement","src":"6308:54:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6404:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":619,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6418:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":620,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"6421:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":617,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"6381:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6381:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":622,"nodeType":"EmitStatement","src":"6376:54:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6472:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":625,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"6486:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":626,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"6489:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":623,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"6449:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6449:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":628,"nodeType":"EmitStatement","src":"6444:54:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":629,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"6512:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6512:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":631,"nodeType":"ExpressionStatement","src":"6512:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"6216:15:0","parameters":{"id":608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":603,"mutability":"mutable","name":"a","nameLocation":"6237:1:0","nodeType":"VariableDeclaration","scope":635,"src":"6232:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":602,"name":"uint","nodeType":"ElementaryTypeName","src":"6232:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":605,"mutability":"mutable","name":"b","nameLocation":"6245:1:0","nodeType":"VariableDeclaration","scope":635,"src":"6240:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":604,"name":"uint","nodeType":"ElementaryTypeName","src":"6240:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":607,"mutability":"mutable","name":"decimals","nameLocation":"6253:8:0","nodeType":"VariableDeclaration","scope":635,"src":"6248:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":606,"name":"uint","nodeType":"ElementaryTypeName","src":"6248:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6231:31:0"},"returnParameters":{"id":609,"nodeType":"ParameterList","parameters":[],"src":"6272:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":663,"nodeType":"FunctionDefinition","src":"6540:217:0","nodes":[],"body":{"id":662,"nodeType":"Block","src":"6624:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":646,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":637,"src":"6638:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":647,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"6643:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6638:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":661,"nodeType":"IfStatement","src":"6634:117:0","trueBody":{"id":660,"nodeType":"Block","src":"6646:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6682:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":651,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":643,"src":"6691:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":649,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"6665:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6665:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":653,"nodeType":"EmitStatement","src":"6660:35:0"},{"expression":{"arguments":[{"id":655,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":637,"src":"6725:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":656,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"6728:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":657,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"6731:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":654,"name":"assertEqDecimal","nodeType":"Identifier","overloadedDeclarations":[573,601,635,663],"referencedDeclaration":635,"src":"6709:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6709:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":659,"nodeType":"ExpressionStatement","src":"6709:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"6549:15:0","parameters":{"id":644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":637,"mutability":"mutable","name":"a","nameLocation":"6570:1:0","nodeType":"VariableDeclaration","scope":663,"src":"6565:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":636,"name":"uint","nodeType":"ElementaryTypeName","src":"6565:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":639,"mutability":"mutable","name":"b","nameLocation":"6578:1:0","nodeType":"VariableDeclaration","scope":663,"src":"6573:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":638,"name":"uint","nodeType":"ElementaryTypeName","src":"6573:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":641,"mutability":"mutable","name":"decimals","nameLocation":"6586:8:0","nodeType":"VariableDeclaration","scope":663,"src":"6581:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":640,"name":"uint","nodeType":"ElementaryTypeName","src":"6581:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":643,"mutability":"mutable","name":"err","nameLocation":"6610:3:0","nodeType":"VariableDeclaration","scope":663,"src":"6596:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":642,"name":"string","nodeType":"ElementaryTypeName","src":"6596:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6564:50:0"},"returnParameters":{"id":645,"nodeType":"ParameterList","parameters":[],"src":"6624:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":693,"nodeType":"FunctionDefinition","src":"6763:259:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"6806:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":670,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":665,"src":"6820:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":671,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"6825:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6820:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"6816:200:0","trueBody":{"id":690,"nodeType":"Block","src":"6828:188:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b75696e745d","id":674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6851:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a","typeString":"literal_string \"Error: a > b not satisfied [uint]\""},"value":"Error: a > b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a","typeString":"literal_string \"Error: a > b not satisfied [uint]\""}],"id":673,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"6847:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6847:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":676,"nodeType":"EmitStatement","src":"6842:45:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6921:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":679,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":665,"src":"6934:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":677,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"6906:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6906:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":681,"nodeType":"EmitStatement","src":"6901:35:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6970:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":684,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"6983:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":682,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"6955:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6955:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":686,"nodeType":"EmitStatement","src":"6950:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":687,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"6999:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6999:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":689,"nodeType":"ExpressionStatement","src":"6999:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"6772:8:0","parameters":{"id":668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":665,"mutability":"mutable","name":"a","nameLocation":"6786:1:0","nodeType":"VariableDeclaration","scope":693,"src":"6781:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":664,"name":"uint","nodeType":"ElementaryTypeName","src":"6781:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":667,"mutability":"mutable","name":"b","nameLocation":"6794:1:0","nodeType":"VariableDeclaration","scope":693,"src":"6789:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":666,"name":"uint","nodeType":"ElementaryTypeName","src":"6789:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6780:16:0"},"returnParameters":{"id":669,"nodeType":"ParameterList","parameters":[],"src":"6806:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":718,"nodeType":"FunctionDefinition","src":"7027:178:0","nodes":[],"body":{"id":717,"nodeType":"Block","src":"7089:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":702,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":695,"src":"7103:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":703,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"7108:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7103:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":716,"nodeType":"IfStatement","src":"7099:100:0","trueBody":{"id":715,"nodeType":"Block","src":"7111:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7147:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":707,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":699,"src":"7156:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":705,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"7130:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7130:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":709,"nodeType":"EmitStatement","src":"7125:35:0"},{"expression":{"arguments":[{"id":711,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":695,"src":"7183:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":712,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"7186:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":710,"name":"assertGt","nodeType":"Identifier","overloadedDeclarations":[693,718,748,773],"referencedDeclaration":693,"src":"7174:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7174:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":714,"nodeType":"ExpressionStatement","src":"7174:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"7036:8:0","parameters":{"id":700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":695,"mutability":"mutable","name":"a","nameLocation":"7050:1:0","nodeType":"VariableDeclaration","scope":718,"src":"7045:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":694,"name":"uint","nodeType":"ElementaryTypeName","src":"7045:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":697,"mutability":"mutable","name":"b","nameLocation":"7058:1:0","nodeType":"VariableDeclaration","scope":718,"src":"7053:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":696,"name":"uint","nodeType":"ElementaryTypeName","src":"7053:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":699,"mutability":"mutable","name":"err","nameLocation":"7075:3:0","nodeType":"VariableDeclaration","scope":718,"src":"7061:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":698,"name":"string","nodeType":"ElementaryTypeName","src":"7061:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7044:35:0"},"returnParameters":{"id":701,"nodeType":"ParameterList","parameters":[],"src":"7089:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":748,"nodeType":"FunctionDefinition","src":"7210:254:0","nodes":[],"body":{"id":747,"nodeType":"Block","src":"7251:213:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":725,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"7265:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":726,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"7270:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"7265:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":746,"nodeType":"IfStatement","src":"7261:197:0","trueBody":{"id":745,"nodeType":"Block","src":"7273:185:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b696e745d","id":729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7296:34:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b","typeString":"literal_string \"Error: a > b not satisfied [int]\""},"value":"Error: a > b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b","typeString":"literal_string \"Error: a > b not satisfied [int]\""}],"id":728,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"7292:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7292:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":731,"nodeType":"EmitStatement","src":"7287:44:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7364:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":734,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"7377:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":732,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"7350:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7350:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":736,"nodeType":"EmitStatement","src":"7345:34:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7412:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":739,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"7425:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":737,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"7398:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7398:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":741,"nodeType":"EmitStatement","src":"7393:34:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":742,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"7441:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7441:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":744,"nodeType":"ExpressionStatement","src":"7441:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"7219:8:0","parameters":{"id":723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":720,"mutability":"mutable","name":"a","nameLocation":"7232:1:0","nodeType":"VariableDeclaration","scope":748,"src":"7228:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":719,"name":"int","nodeType":"ElementaryTypeName","src":"7228:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"b","nameLocation":"7239:1:0","nodeType":"VariableDeclaration","scope":748,"src":"7235:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":721,"name":"int","nodeType":"ElementaryTypeName","src":"7235:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7227:14:0"},"returnParameters":{"id":724,"nodeType":"ParameterList","parameters":[],"src":"7251:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":773,"nodeType":"FunctionDefinition","src":"7469:176:0","nodes":[],"body":{"id":772,"nodeType":"Block","src":"7529:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":757,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"7543:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":758,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"7548:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"7543:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":771,"nodeType":"IfStatement","src":"7539:100:0","trueBody":{"id":770,"nodeType":"Block","src":"7551:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7587:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":762,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":754,"src":"7596:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":760,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"7570:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7570:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":764,"nodeType":"EmitStatement","src":"7565:35:0"},{"expression":{"arguments":[{"id":766,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"7623:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":767,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"7626:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":765,"name":"assertGt","nodeType":"Identifier","overloadedDeclarations":[693,718,748,773],"referencedDeclaration":748,"src":"7614:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7614:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":769,"nodeType":"ExpressionStatement","src":"7614:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"7478:8:0","parameters":{"id":755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":750,"mutability":"mutable","name":"a","nameLocation":"7491:1:0","nodeType":"VariableDeclaration","scope":773,"src":"7487:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":749,"name":"int","nodeType":"ElementaryTypeName","src":"7487:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":752,"mutability":"mutable","name":"b","nameLocation":"7498:1:0","nodeType":"VariableDeclaration","scope":773,"src":"7494:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":751,"name":"int","nodeType":"ElementaryTypeName","src":"7494:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":754,"mutability":"mutable","name":"err","nameLocation":"7515:3:0","nodeType":"VariableDeclaration","scope":773,"src":"7501:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":753,"name":"string","nodeType":"ElementaryTypeName","src":"7501:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7486:33:0"},"returnParameters":{"id":756,"nodeType":"ParameterList","parameters":[],"src":"7529:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":807,"nodeType":"FunctionDefinition","src":"7650:320:0","nodes":[],"body":{"id":806,"nodeType":"Block","src":"7713:257:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":782,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":775,"src":"7727:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":783,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"7732:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"7727:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":805,"nodeType":"IfStatement","src":"7723:241:0","trueBody":{"id":804,"nodeType":"Block","src":"7735:229:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7758:42:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad","typeString":"literal_string \"Error: a > b not satisfied [decimal int]\""},"value":"Error: a > b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad","typeString":"literal_string \"Error: a > b not satisfied [decimal int]\""}],"id":785,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"7754:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7754:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":788,"nodeType":"EmitStatement","src":"7749:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7842:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":791,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":775,"src":"7855:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":792,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":779,"src":"7858:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":789,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"7820:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7820:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"EmitStatement","src":"7815:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7908:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":797,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"7921:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":798,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":779,"src":"7924:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":795,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"7886:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7886:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":800,"nodeType":"EmitStatement","src":"7881:52:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":801,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"7947:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7947:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":803,"nodeType":"ExpressionStatement","src":"7947:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"7659:15:0","parameters":{"id":780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":775,"mutability":"mutable","name":"a","nameLocation":"7679:1:0","nodeType":"VariableDeclaration","scope":807,"src":"7675:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":774,"name":"int","nodeType":"ElementaryTypeName","src":"7675:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":777,"mutability":"mutable","name":"b","nameLocation":"7686:1:0","nodeType":"VariableDeclaration","scope":807,"src":"7682:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":776,"name":"int","nodeType":"ElementaryTypeName","src":"7682:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":779,"mutability":"mutable","name":"decimals","nameLocation":"7694:8:0","nodeType":"VariableDeclaration","scope":807,"src":"7689:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":778,"name":"uint","nodeType":"ElementaryTypeName","src":"7689:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7674:29:0"},"returnParameters":{"id":781,"nodeType":"ParameterList","parameters":[],"src":"7713:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":835,"nodeType":"FunctionDefinition","src":"7975:215:0","nodes":[],"body":{"id":834,"nodeType":"Block","src":"8057:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":818,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":809,"src":"8071:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":819,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":811,"src":"8076:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"8071:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":833,"nodeType":"IfStatement","src":"8067:117:0","trueBody":{"id":832,"nodeType":"Block","src":"8079:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8115:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":823,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":815,"src":"8124:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":821,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8098:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8098:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":825,"nodeType":"EmitStatement","src":"8093:35:0"},{"expression":{"arguments":[{"id":827,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":809,"src":"8158:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":828,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":811,"src":"8161:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":829,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":813,"src":"8164:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":826,"name":"assertGtDecimal","nodeType":"Identifier","overloadedDeclarations":[807,835,869,897],"referencedDeclaration":807,"src":"8142:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8142:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":831,"nodeType":"ExpressionStatement","src":"8142:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"7984:15:0","parameters":{"id":816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":809,"mutability":"mutable","name":"a","nameLocation":"8004:1:0","nodeType":"VariableDeclaration","scope":835,"src":"8000:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":808,"name":"int","nodeType":"ElementaryTypeName","src":"8000:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":811,"mutability":"mutable","name":"b","nameLocation":"8011:1:0","nodeType":"VariableDeclaration","scope":835,"src":"8007:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":810,"name":"int","nodeType":"ElementaryTypeName","src":"8007:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":813,"mutability":"mutable","name":"decimals","nameLocation":"8019:8:0","nodeType":"VariableDeclaration","scope":835,"src":"8014:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":812,"name":"uint","nodeType":"ElementaryTypeName","src":"8014:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":815,"mutability":"mutable","name":"err","nameLocation":"8043:3:0","nodeType":"VariableDeclaration","scope":835,"src":"8029:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":814,"name":"string","nodeType":"ElementaryTypeName","src":"8029:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7999:48:0"},"returnParameters":{"id":817,"nodeType":"ParameterList","parameters":[],"src":"8057:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":869,"nodeType":"FunctionDefinition","src":"8195:325:0","nodes":[],"body":{"id":868,"nodeType":"Block","src":"8260:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":844,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":837,"src":"8274:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":845,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":839,"src":"8279:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8274:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":867,"nodeType":"IfStatement","src":"8270:244:0","trueBody":{"id":866,"nodeType":"Block","src":"8282:232:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8305:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f","typeString":"literal_string \"Error: a > b not satisfied [decimal uint]\""},"value":"Error: a > b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f","typeString":"literal_string \"Error: a > b not satisfied [decimal uint]\""}],"id":847,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"8301:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8301:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":850,"nodeType":"EmitStatement","src":"8296:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8391:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":853,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":837,"src":"8404:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":854,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":841,"src":"8407:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":851,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8368:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8368:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":856,"nodeType":"EmitStatement","src":"8363:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8458:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":859,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":839,"src":"8471:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":860,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":841,"src":"8474:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":857,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8435:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8435:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":862,"nodeType":"EmitStatement","src":"8430:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":863,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"8497:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8497:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":865,"nodeType":"ExpressionStatement","src":"8497:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"8204:15:0","parameters":{"id":842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":837,"mutability":"mutable","name":"a","nameLocation":"8225:1:0","nodeType":"VariableDeclaration","scope":869,"src":"8220:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":836,"name":"uint","nodeType":"ElementaryTypeName","src":"8220:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":839,"mutability":"mutable","name":"b","nameLocation":"8233:1:0","nodeType":"VariableDeclaration","scope":869,"src":"8228:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":838,"name":"uint","nodeType":"ElementaryTypeName","src":"8228:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":841,"mutability":"mutable","name":"decimals","nameLocation":"8241:8:0","nodeType":"VariableDeclaration","scope":869,"src":"8236:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":840,"name":"uint","nodeType":"ElementaryTypeName","src":"8236:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8219:31:0"},"returnParameters":{"id":843,"nodeType":"ParameterList","parameters":[],"src":"8260:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":897,"nodeType":"FunctionDefinition","src":"8525:217:0","nodes":[],"body":{"id":896,"nodeType":"Block","src":"8609:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":880,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":871,"src":"8623:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":881,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":873,"src":"8628:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8623:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":895,"nodeType":"IfStatement","src":"8619:117:0","trueBody":{"id":894,"nodeType":"Block","src":"8631:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8667:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":885,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":877,"src":"8676:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":883,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8650:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8650:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":887,"nodeType":"EmitStatement","src":"8645:35:0"},{"expression":{"arguments":[{"id":889,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":871,"src":"8710:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":890,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":873,"src":"8713:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":891,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"8716:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":888,"name":"assertGtDecimal","nodeType":"Identifier","overloadedDeclarations":[807,835,869,897],"referencedDeclaration":869,"src":"8694:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8694:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":893,"nodeType":"ExpressionStatement","src":"8694:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"8534:15:0","parameters":{"id":878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":871,"mutability":"mutable","name":"a","nameLocation":"8555:1:0","nodeType":"VariableDeclaration","scope":897,"src":"8550:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":870,"name":"uint","nodeType":"ElementaryTypeName","src":"8550:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":873,"mutability":"mutable","name":"b","nameLocation":"8563:1:0","nodeType":"VariableDeclaration","scope":897,"src":"8558:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":872,"name":"uint","nodeType":"ElementaryTypeName","src":"8558:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":875,"mutability":"mutable","name":"decimals","nameLocation":"8571:8:0","nodeType":"VariableDeclaration","scope":897,"src":"8566:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":874,"name":"uint","nodeType":"ElementaryTypeName","src":"8566:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":877,"mutability":"mutable","name":"err","nameLocation":"8595:3:0","nodeType":"VariableDeclaration","scope":897,"src":"8581:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":876,"name":"string","nodeType":"ElementaryTypeName","src":"8581:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8549:50:0"},"returnParameters":{"id":879,"nodeType":"ParameterList","parameters":[],"src":"8609:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":927,"nodeType":"FunctionDefinition","src":"8748:259:0","nodes":[],"body":{"id":926,"nodeType":"Block","src":"8791:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":899,"src":"8805:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":905,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"8809:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8805:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":925,"nodeType":"IfStatement","src":"8801:200:0","trueBody":{"id":924,"nodeType":"Block","src":"8812:189:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b75696e745d","id":908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8835:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e","typeString":"literal_string \"Error: a >= b not satisfied [uint]\""},"value":"Error: a >= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e","typeString":"literal_string \"Error: a >= b not satisfied [uint]\""}],"id":907,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"8831:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8831:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":910,"nodeType":"EmitStatement","src":"8826:46:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8906:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":913,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":899,"src":"8919:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":911,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"8891:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8891:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":915,"nodeType":"EmitStatement","src":"8886:35:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8955:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":918,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"8968:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":916,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"8940:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8940:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":920,"nodeType":"EmitStatement","src":"8935:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":921,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"8984:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8984:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"ExpressionStatement","src":"8984:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"8757:8:0","parameters":{"id":902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":899,"mutability":"mutable","name":"a","nameLocation":"8771:1:0","nodeType":"VariableDeclaration","scope":927,"src":"8766:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":898,"name":"uint","nodeType":"ElementaryTypeName","src":"8766:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":901,"mutability":"mutable","name":"b","nameLocation":"8779:1:0","nodeType":"VariableDeclaration","scope":927,"src":"8774:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":900,"name":"uint","nodeType":"ElementaryTypeName","src":"8774:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8765:16:0"},"returnParameters":{"id":903,"nodeType":"ParameterList","parameters":[],"src":"8791:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":952,"nodeType":"FunctionDefinition","src":"9012:177:0","nodes":[],"body":{"id":951,"nodeType":"Block","src":"9074:115:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":936,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":929,"src":"9088:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":937,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":931,"src":"9092:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9088:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":950,"nodeType":"IfStatement","src":"9084:99:0","trueBody":{"id":949,"nodeType":"Block","src":"9095:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9131:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":941,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":933,"src":"9140:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":939,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9114:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9114:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":943,"nodeType":"EmitStatement","src":"9109:35:0"},{"expression":{"arguments":[{"id":945,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":929,"src":"9167:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":946,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":931,"src":"9170:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":944,"name":"assertGe","nodeType":"Identifier","overloadedDeclarations":[927,952,982,1007],"referencedDeclaration":927,"src":"9158:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9158:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":948,"nodeType":"ExpressionStatement","src":"9158:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"9021:8:0","parameters":{"id":934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":929,"mutability":"mutable","name":"a","nameLocation":"9035:1:0","nodeType":"VariableDeclaration","scope":952,"src":"9030:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":928,"name":"uint","nodeType":"ElementaryTypeName","src":"9030:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":931,"mutability":"mutable","name":"b","nameLocation":"9043:1:0","nodeType":"VariableDeclaration","scope":952,"src":"9038:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":930,"name":"uint","nodeType":"ElementaryTypeName","src":"9038:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":933,"mutability":"mutable","name":"err","nameLocation":"9060:3:0","nodeType":"VariableDeclaration","scope":952,"src":"9046:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":932,"name":"string","nodeType":"ElementaryTypeName","src":"9046:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9029:35:0"},"returnParameters":{"id":935,"nodeType":"ParameterList","parameters":[],"src":"9074:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":982,"nodeType":"FunctionDefinition","src":"9194:254:0","nodes":[],"body":{"id":981,"nodeType":"Block","src":"9235:213:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":959,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":954,"src":"9249:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":960,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"9253:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9249:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":980,"nodeType":"IfStatement","src":"9245:197:0","trueBody":{"id":979,"nodeType":"Block","src":"9256:186:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b696e745d","id":963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9279:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6","typeString":"literal_string \"Error: a >= b not satisfied [int]\""},"value":"Error: a >= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6","typeString":"literal_string \"Error: a >= b not satisfied [int]\""}],"id":962,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"9275:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9275:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":965,"nodeType":"EmitStatement","src":"9270:45:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9348:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":968,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":954,"src":"9361:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":966,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"9334:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9334:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":970,"nodeType":"EmitStatement","src":"9329:34:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9396:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":973,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"9409:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":971,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"9382:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9382:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":975,"nodeType":"EmitStatement","src":"9377:34:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":976,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"9425:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9425:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":978,"nodeType":"ExpressionStatement","src":"9425:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"9203:8:0","parameters":{"id":957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":954,"mutability":"mutable","name":"a","nameLocation":"9216:1:0","nodeType":"VariableDeclaration","scope":982,"src":"9212:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":953,"name":"int","nodeType":"ElementaryTypeName","src":"9212:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":956,"mutability":"mutable","name":"b","nameLocation":"9223:1:0","nodeType":"VariableDeclaration","scope":982,"src":"9219:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":955,"name":"int","nodeType":"ElementaryTypeName","src":"9219:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9211:14:0"},"returnParameters":{"id":958,"nodeType":"ParameterList","parameters":[],"src":"9235:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1007,"nodeType":"FunctionDefinition","src":"9453:175:0","nodes":[],"body":{"id":1006,"nodeType":"Block","src":"9513:115:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":991,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"9527:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":992,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":986,"src":"9531:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9527:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1005,"nodeType":"IfStatement","src":"9523:99:0","trueBody":{"id":1004,"nodeType":"Block","src":"9534:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9570:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":996,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":988,"src":"9579:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":994,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9553:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9553:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":998,"nodeType":"EmitStatement","src":"9548:35:0"},{"expression":{"arguments":[{"id":1000,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"9606:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1001,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":986,"src":"9609:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":999,"name":"assertGe","nodeType":"Identifier","overloadedDeclarations":[927,952,982,1007],"referencedDeclaration":982,"src":"9597:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":1002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9597:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1003,"nodeType":"ExpressionStatement","src":"9597:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"9462:8:0","parameters":{"id":989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":984,"mutability":"mutable","name":"a","nameLocation":"9475:1:0","nodeType":"VariableDeclaration","scope":1007,"src":"9471:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":983,"name":"int","nodeType":"ElementaryTypeName","src":"9471:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":986,"mutability":"mutable","name":"b","nameLocation":"9482:1:0","nodeType":"VariableDeclaration","scope":1007,"src":"9478:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":985,"name":"int","nodeType":"ElementaryTypeName","src":"9478:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":988,"mutability":"mutable","name":"err","nameLocation":"9499:3:0","nodeType":"VariableDeclaration","scope":1007,"src":"9485:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":987,"name":"string","nodeType":"ElementaryTypeName","src":"9485:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9470:33:0"},"returnParameters":{"id":990,"nodeType":"ParameterList","parameters":[],"src":"9513:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1041,"nodeType":"FunctionDefinition","src":"9633:320:0","nodes":[],"body":{"id":1040,"nodeType":"Block","src":"9696:257:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1016,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1009,"src":"9710:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1017,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1011,"src":"9714:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9710:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1039,"nodeType":"IfStatement","src":"9706:241:0","trueBody":{"id":1038,"nodeType":"Block","src":"9717:230:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":1020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9740:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736","typeString":"literal_string \"Error: a >= b not satisfied [decimal int]\""},"value":"Error: a >= b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736","typeString":"literal_string \"Error: a >= b not satisfied [decimal int]\""}],"id":1019,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"9736:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9736:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1022,"nodeType":"EmitStatement","src":"9731:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9825:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1025,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1009,"src":"9838:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1026,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1013,"src":"9841:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1023,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"9803:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9803:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1028,"nodeType":"EmitStatement","src":"9798:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9891:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1031,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1011,"src":"9904:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1032,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1013,"src":"9907:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1029,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"9869:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9869:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1034,"nodeType":"EmitStatement","src":"9864:52:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1035,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"9930:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9930:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1037,"nodeType":"ExpressionStatement","src":"9930:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"9642:15:0","parameters":{"id":1014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1009,"mutability":"mutable","name":"a","nameLocation":"9662:1:0","nodeType":"VariableDeclaration","scope":1041,"src":"9658:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1008,"name":"int","nodeType":"ElementaryTypeName","src":"9658:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1011,"mutability":"mutable","name":"b","nameLocation":"9669:1:0","nodeType":"VariableDeclaration","scope":1041,"src":"9665:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1010,"name":"int","nodeType":"ElementaryTypeName","src":"9665:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1013,"mutability":"mutable","name":"decimals","nameLocation":"9677:8:0","nodeType":"VariableDeclaration","scope":1041,"src":"9672:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1012,"name":"uint","nodeType":"ElementaryTypeName","src":"9672:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9657:29:0"},"returnParameters":{"id":1015,"nodeType":"ParameterList","parameters":[],"src":"9696:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1069,"nodeType":"FunctionDefinition","src":"9958:214:0","nodes":[],"body":{"id":1068,"nodeType":"Block","src":"10040:132:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1052,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1043,"src":"10054:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1053,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1045,"src":"10058:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"10054:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1067,"nodeType":"IfStatement","src":"10050:116:0","trueBody":{"id":1066,"nodeType":"Block","src":"10061:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10097:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1057,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1049,"src":"10106:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1055,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10080:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10080:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1059,"nodeType":"EmitStatement","src":"10075:35:0"},{"expression":{"arguments":[{"id":1061,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1043,"src":"10140:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1062,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1045,"src":"10143:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1063,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"10146:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1060,"name":"assertGeDecimal","nodeType":"Identifier","overloadedDeclarations":[1041,1069,1103,1131],"referencedDeclaration":1041,"src":"10124:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10124:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1065,"nodeType":"ExpressionStatement","src":"10124:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"9967:15:0","parameters":{"id":1050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1043,"mutability":"mutable","name":"a","nameLocation":"9987:1:0","nodeType":"VariableDeclaration","scope":1069,"src":"9983:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1042,"name":"int","nodeType":"ElementaryTypeName","src":"9983:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1045,"mutability":"mutable","name":"b","nameLocation":"9994:1:0","nodeType":"VariableDeclaration","scope":1069,"src":"9990:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1044,"name":"int","nodeType":"ElementaryTypeName","src":"9990:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1047,"mutability":"mutable","name":"decimals","nameLocation":"10002:8:0","nodeType":"VariableDeclaration","scope":1069,"src":"9997:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1046,"name":"uint","nodeType":"ElementaryTypeName","src":"9997:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1049,"mutability":"mutable","name":"err","nameLocation":"10026:3:0","nodeType":"VariableDeclaration","scope":1069,"src":"10012:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1048,"name":"string","nodeType":"ElementaryTypeName","src":"10012:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9982:48:0"},"returnParameters":{"id":1051,"nodeType":"ParameterList","parameters":[],"src":"10040:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1103,"nodeType":"FunctionDefinition","src":"10177:325:0","nodes":[],"body":{"id":1102,"nodeType":"Block","src":"10242:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1078,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"10256:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1079,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"10260:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10256:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1101,"nodeType":"IfStatement","src":"10252:244:0","trueBody":{"id":1100,"nodeType":"Block","src":"10263:233:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":1082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10286:44:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616","typeString":"literal_string \"Error: a >= b not satisfied [decimal uint]\""},"value":"Error: a >= b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616","typeString":"literal_string \"Error: a >= b not satisfied [decimal uint]\""}],"id":1081,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"10282:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10282:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1084,"nodeType":"EmitStatement","src":"10277:54:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10373:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1087,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"10386:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1088,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1075,"src":"10389:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1085,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"10350:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10350:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1090,"nodeType":"EmitStatement","src":"10345:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10440:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1093,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"10453:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1094,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1075,"src":"10456:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1091,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"10417:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10417:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1096,"nodeType":"EmitStatement","src":"10412:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1097,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"10479:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10479:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1099,"nodeType":"ExpressionStatement","src":"10479:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"10186:15:0","parameters":{"id":1076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1071,"mutability":"mutable","name":"a","nameLocation":"10207:1:0","nodeType":"VariableDeclaration","scope":1103,"src":"10202:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1070,"name":"uint","nodeType":"ElementaryTypeName","src":"10202:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1073,"mutability":"mutable","name":"b","nameLocation":"10215:1:0","nodeType":"VariableDeclaration","scope":1103,"src":"10210:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1072,"name":"uint","nodeType":"ElementaryTypeName","src":"10210:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1075,"mutability":"mutable","name":"decimals","nameLocation":"10223:8:0","nodeType":"VariableDeclaration","scope":1103,"src":"10218:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1074,"name":"uint","nodeType":"ElementaryTypeName","src":"10218:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10201:31:0"},"returnParameters":{"id":1077,"nodeType":"ParameterList","parameters":[],"src":"10242:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1131,"nodeType":"FunctionDefinition","src":"10507:216:0","nodes":[],"body":{"id":1130,"nodeType":"Block","src":"10591:132:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1114,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1105,"src":"10605:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1115,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1107,"src":"10609:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10605:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1129,"nodeType":"IfStatement","src":"10601:116:0","trueBody":{"id":1128,"nodeType":"Block","src":"10612:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10648:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1119,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1111,"src":"10657:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1117,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10631:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10631:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1121,"nodeType":"EmitStatement","src":"10626:35:0"},{"expression":{"arguments":[{"id":1123,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1105,"src":"10691:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1124,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1107,"src":"10694:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1125,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1109,"src":"10697:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1122,"name":"assertGeDecimal","nodeType":"Identifier","overloadedDeclarations":[1041,1069,1103,1131],"referencedDeclaration":1103,"src":"10675:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10675:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1127,"nodeType":"ExpressionStatement","src":"10675:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"10516:15:0","parameters":{"id":1112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1105,"mutability":"mutable","name":"a","nameLocation":"10537:1:0","nodeType":"VariableDeclaration","scope":1131,"src":"10532:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1104,"name":"uint","nodeType":"ElementaryTypeName","src":"10532:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1107,"mutability":"mutable","name":"b","nameLocation":"10545:1:0","nodeType":"VariableDeclaration","scope":1131,"src":"10540:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1106,"name":"uint","nodeType":"ElementaryTypeName","src":"10540:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1109,"mutability":"mutable","name":"decimals","nameLocation":"10553:8:0","nodeType":"VariableDeclaration","scope":1131,"src":"10548:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1108,"name":"uint","nodeType":"ElementaryTypeName","src":"10548:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1111,"mutability":"mutable","name":"err","nameLocation":"10577:3:0","nodeType":"VariableDeclaration","scope":1131,"src":"10563:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1110,"name":"string","nodeType":"ElementaryTypeName","src":"10563:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10531:50:0"},"returnParameters":{"id":1113,"nodeType":"ParameterList","parameters":[],"src":"10591:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1161,"nodeType":"FunctionDefinition","src":"10729:259:0","nodes":[],"body":{"id":1160,"nodeType":"Block","src":"10772:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1138,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1133,"src":"10786:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1139,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10791:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10786:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1159,"nodeType":"IfStatement","src":"10782:200:0","trueBody":{"id":1158,"nodeType":"Block","src":"10794:188:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b75696e745d","id":1142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10817:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9","typeString":"literal_string \"Error: a < b not satisfied [uint]\""},"value":"Error: a < b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9","typeString":"literal_string \"Error: a < b not satisfied [uint]\""}],"id":1141,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"10813:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10813:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1144,"nodeType":"EmitStatement","src":"10808:45:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10887:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1147,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1133,"src":"10900:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1145,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"10872:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":1148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10872:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1149,"nodeType":"EmitStatement","src":"10867:35:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10936:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1152,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10949:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1150,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"10921:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":1153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10921:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1154,"nodeType":"EmitStatement","src":"10916:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1155,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"10965:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10965:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1157,"nodeType":"ExpressionStatement","src":"10965:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"10738:8:0","parameters":{"id":1136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1133,"mutability":"mutable","name":"a","nameLocation":"10752:1:0","nodeType":"VariableDeclaration","scope":1161,"src":"10747:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1132,"name":"uint","nodeType":"ElementaryTypeName","src":"10747:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1135,"mutability":"mutable","name":"b","nameLocation":"10760:1:0","nodeType":"VariableDeclaration","scope":1161,"src":"10755:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1134,"name":"uint","nodeType":"ElementaryTypeName","src":"10755:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10746:16:0"},"returnParameters":{"id":1137,"nodeType":"ParameterList","parameters":[],"src":"10772:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1186,"nodeType":"FunctionDefinition","src":"10993:178:0","nodes":[],"body":{"id":1185,"nodeType":"Block","src":"11055:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1170,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"11069:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1171,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1165,"src":"11074:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11069:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1184,"nodeType":"IfStatement","src":"11065:100:0","trueBody":{"id":1183,"nodeType":"Block","src":"11077:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11113:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1175,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1167,"src":"11122:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1173,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11096:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11096:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1177,"nodeType":"EmitStatement","src":"11091:35:0"},{"expression":{"arguments":[{"id":1179,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"11149:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1180,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1165,"src":"11152:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1178,"name":"assertLt","nodeType":"Identifier","overloadedDeclarations":[1161,1186,1216,1241],"referencedDeclaration":1161,"src":"11140:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":1181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11140:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1182,"nodeType":"ExpressionStatement","src":"11140:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11002:8:0","parameters":{"id":1168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1163,"mutability":"mutable","name":"a","nameLocation":"11016:1:0","nodeType":"VariableDeclaration","scope":1186,"src":"11011:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1162,"name":"uint","nodeType":"ElementaryTypeName","src":"11011:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1165,"mutability":"mutable","name":"b","nameLocation":"11024:1:0","nodeType":"VariableDeclaration","scope":1186,"src":"11019:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1164,"name":"uint","nodeType":"ElementaryTypeName","src":"11019:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1167,"mutability":"mutable","name":"err","nameLocation":"11041:3:0","nodeType":"VariableDeclaration","scope":1186,"src":"11027:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1166,"name":"string","nodeType":"ElementaryTypeName","src":"11027:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11010:35:0"},"returnParameters":{"id":1169,"nodeType":"ParameterList","parameters":[],"src":"11055:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1216,"nodeType":"FunctionDefinition","src":"11176:254:0","nodes":[],"body":{"id":1215,"nodeType":"Block","src":"11217:213:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1193,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"11231:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1194,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"11236:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11231:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1214,"nodeType":"IfStatement","src":"11227:197:0","trueBody":{"id":1213,"nodeType":"Block","src":"11239:185:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b696e745d","id":1197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11262:34:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055","typeString":"literal_string \"Error: a < b not satisfied [int]\""},"value":"Error: a < b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055","typeString":"literal_string \"Error: a < b not satisfied [int]\""}],"id":1196,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"11258:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11258:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1199,"nodeType":"EmitStatement","src":"11253:44:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11330:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1202,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"11343:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1200,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"11316:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":1203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11316:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1204,"nodeType":"EmitStatement","src":"11311:34:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11378:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1207,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"11391:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1205,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"11364:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":1208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11364:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1209,"nodeType":"EmitStatement","src":"11359:34:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1210,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"11407:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11407:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1212,"nodeType":"ExpressionStatement","src":"11407:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11185:8:0","parameters":{"id":1191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1188,"mutability":"mutable","name":"a","nameLocation":"11198:1:0","nodeType":"VariableDeclaration","scope":1216,"src":"11194:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1187,"name":"int","nodeType":"ElementaryTypeName","src":"11194:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1190,"mutability":"mutable","name":"b","nameLocation":"11205:1:0","nodeType":"VariableDeclaration","scope":1216,"src":"11201:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1189,"name":"int","nodeType":"ElementaryTypeName","src":"11201:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"11193:14:0"},"returnParameters":{"id":1192,"nodeType":"ParameterList","parameters":[],"src":"11217:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1241,"nodeType":"FunctionDefinition","src":"11435:176:0","nodes":[],"body":{"id":1240,"nodeType":"Block","src":"11495:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1225,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1218,"src":"11509:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1226,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"11514:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11509:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1239,"nodeType":"IfStatement","src":"11505:100:0","trueBody":{"id":1238,"nodeType":"Block","src":"11517:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11553:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1230,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1222,"src":"11562:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1228,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11536:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11536:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1232,"nodeType":"EmitStatement","src":"11531:35:0"},{"expression":{"arguments":[{"id":1234,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1218,"src":"11589:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1235,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"11592:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1233,"name":"assertLt","nodeType":"Identifier","overloadedDeclarations":[1161,1186,1216,1241],"referencedDeclaration":1216,"src":"11580:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":1236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11580:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1237,"nodeType":"ExpressionStatement","src":"11580:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11444:8:0","parameters":{"id":1223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1218,"mutability":"mutable","name":"a","nameLocation":"11457:1:0","nodeType":"VariableDeclaration","scope":1241,"src":"11453:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1217,"name":"int","nodeType":"ElementaryTypeName","src":"11453:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1220,"mutability":"mutable","name":"b","nameLocation":"11464:1:0","nodeType":"VariableDeclaration","scope":1241,"src":"11460:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1219,"name":"int","nodeType":"ElementaryTypeName","src":"11460:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1222,"mutability":"mutable","name":"err","nameLocation":"11481:3:0","nodeType":"VariableDeclaration","scope":1241,"src":"11467:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1221,"name":"string","nodeType":"ElementaryTypeName","src":"11467:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11452:33:0"},"returnParameters":{"id":1224,"nodeType":"ParameterList","parameters":[],"src":"11495:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1275,"nodeType":"FunctionDefinition","src":"11616:320:0","nodes":[],"body":{"id":1274,"nodeType":"Block","src":"11679:257:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1250,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1243,"src":"11693:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1251,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1245,"src":"11698:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11693:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1273,"nodeType":"IfStatement","src":"11689:241:0","trueBody":{"id":1272,"nodeType":"Block","src":"11701:229:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":1254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11724:42:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a","typeString":"literal_string \"Error: a < b not satisfied [decimal int]\""},"value":"Error: a < b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a","typeString":"literal_string \"Error: a < b not satisfied [decimal int]\""}],"id":1253,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"11720:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11720:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1256,"nodeType":"EmitStatement","src":"11715:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11808:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1259,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1243,"src":"11821:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1260,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1247,"src":"11824:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1257,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"11786:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11786:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1262,"nodeType":"EmitStatement","src":"11781:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11874:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1265,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1245,"src":"11887:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1266,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1247,"src":"11890:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1263,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"11852:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11852:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1268,"nodeType":"EmitStatement","src":"11847:52:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1269,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"11913:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11913:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1271,"nodeType":"ExpressionStatement","src":"11913:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"11625:15:0","parameters":{"id":1248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1243,"mutability":"mutable","name":"a","nameLocation":"11645:1:0","nodeType":"VariableDeclaration","scope":1275,"src":"11641:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1242,"name":"int","nodeType":"ElementaryTypeName","src":"11641:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1245,"mutability":"mutable","name":"b","nameLocation":"11652:1:0","nodeType":"VariableDeclaration","scope":1275,"src":"11648:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1244,"name":"int","nodeType":"ElementaryTypeName","src":"11648:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1247,"mutability":"mutable","name":"decimals","nameLocation":"11660:8:0","nodeType":"VariableDeclaration","scope":1275,"src":"11655:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1246,"name":"uint","nodeType":"ElementaryTypeName","src":"11655:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11640:29:0"},"returnParameters":{"id":1249,"nodeType":"ParameterList","parameters":[],"src":"11679:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1303,"nodeType":"FunctionDefinition","src":"11941:215:0","nodes":[],"body":{"id":1302,"nodeType":"Block","src":"12023:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1286,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1277,"src":"12037:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1287,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"12042:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"12037:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1301,"nodeType":"IfStatement","src":"12033:117:0","trueBody":{"id":1300,"nodeType":"Block","src":"12045:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12081:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1291,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1283,"src":"12090:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1289,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"12064:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12064:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1293,"nodeType":"EmitStatement","src":"12059:35:0"},{"expression":{"arguments":[{"id":1295,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1277,"src":"12124:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1296,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"12127:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1297,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"12130:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1294,"name":"assertLtDecimal","nodeType":"Identifier","overloadedDeclarations":[1275,1303,1337,1365],"referencedDeclaration":1275,"src":"12108:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":1298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12108:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1299,"nodeType":"ExpressionStatement","src":"12108:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"11950:15:0","parameters":{"id":1284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1277,"mutability":"mutable","name":"a","nameLocation":"11970:1:0","nodeType":"VariableDeclaration","scope":1303,"src":"11966:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1276,"name":"int","nodeType":"ElementaryTypeName","src":"11966:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1279,"mutability":"mutable","name":"b","nameLocation":"11977:1:0","nodeType":"VariableDeclaration","scope":1303,"src":"11973:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1278,"name":"int","nodeType":"ElementaryTypeName","src":"11973:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"decimals","nameLocation":"11985:8:0","nodeType":"VariableDeclaration","scope":1303,"src":"11980:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1280,"name":"uint","nodeType":"ElementaryTypeName","src":"11980:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1283,"mutability":"mutable","name":"err","nameLocation":"12009:3:0","nodeType":"VariableDeclaration","scope":1303,"src":"11995:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1282,"name":"string","nodeType":"ElementaryTypeName","src":"11995:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11965:48:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[],"src":"12023:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1337,"nodeType":"FunctionDefinition","src":"12161:325:0","nodes":[],"body":{"id":1336,"nodeType":"Block","src":"12226:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1312,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1305,"src":"12240:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1313,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1307,"src":"12245:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12240:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1335,"nodeType":"IfStatement","src":"12236:244:0","trueBody":{"id":1334,"nodeType":"Block","src":"12248:232:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":1316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12271:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9","typeString":"literal_string \"Error: a < b not satisfied [decimal uint]\""},"value":"Error: a < b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9","typeString":"literal_string \"Error: a < b not satisfied [decimal uint]\""}],"id":1315,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"12267:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12267:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1318,"nodeType":"EmitStatement","src":"12262:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12357:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1321,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1305,"src":"12370:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1322,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1309,"src":"12373:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1319,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"12334:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12334:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1324,"nodeType":"EmitStatement","src":"12329:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12424:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1327,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1307,"src":"12437:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1328,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1309,"src":"12440:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1325,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"12401:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12401:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1330,"nodeType":"EmitStatement","src":"12396:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1331,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"12463:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12463:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1333,"nodeType":"ExpressionStatement","src":"12463:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12170:15:0","parameters":{"id":1310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1305,"mutability":"mutable","name":"a","nameLocation":"12191:1:0","nodeType":"VariableDeclaration","scope":1337,"src":"12186:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1304,"name":"uint","nodeType":"ElementaryTypeName","src":"12186:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1307,"mutability":"mutable","name":"b","nameLocation":"12199:1:0","nodeType":"VariableDeclaration","scope":1337,"src":"12194:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1306,"name":"uint","nodeType":"ElementaryTypeName","src":"12194:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1309,"mutability":"mutable","name":"decimals","nameLocation":"12207:8:0","nodeType":"VariableDeclaration","scope":1337,"src":"12202:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1308,"name":"uint","nodeType":"ElementaryTypeName","src":"12202:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12185:31:0"},"returnParameters":{"id":1311,"nodeType":"ParameterList","parameters":[],"src":"12226:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1365,"nodeType":"FunctionDefinition","src":"12491:217:0","nodes":[],"body":{"id":1364,"nodeType":"Block","src":"12575:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1348,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"src":"12589:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1349,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1341,"src":"12594:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12589:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1363,"nodeType":"IfStatement","src":"12585:117:0","trueBody":{"id":1362,"nodeType":"Block","src":"12597:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12633:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1353,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1345,"src":"12642:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1351,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"12616:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12616:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1355,"nodeType":"EmitStatement","src":"12611:35:0"},{"expression":{"arguments":[{"id":1357,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"src":"12676:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1358,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1341,"src":"12679:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1359,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1343,"src":"12682:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1356,"name":"assertLtDecimal","nodeType":"Identifier","overloadedDeclarations":[1275,1303,1337,1365],"referencedDeclaration":1337,"src":"12660:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12660:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1361,"nodeType":"ExpressionStatement","src":"12660:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12500:15:0","parameters":{"id":1346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1339,"mutability":"mutable","name":"a","nameLocation":"12521:1:0","nodeType":"VariableDeclaration","scope":1365,"src":"12516:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1338,"name":"uint","nodeType":"ElementaryTypeName","src":"12516:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1341,"mutability":"mutable","name":"b","nameLocation":"12529:1:0","nodeType":"VariableDeclaration","scope":1365,"src":"12524:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1340,"name":"uint","nodeType":"ElementaryTypeName","src":"12524:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1343,"mutability":"mutable","name":"decimals","nameLocation":"12537:8:0","nodeType":"VariableDeclaration","scope":1365,"src":"12532:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1342,"name":"uint","nodeType":"ElementaryTypeName","src":"12532:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1345,"mutability":"mutable","name":"err","nameLocation":"12561:3:0","nodeType":"VariableDeclaration","scope":1365,"src":"12547:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1344,"name":"string","nodeType":"ElementaryTypeName","src":"12547:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12515:50:0"},"returnParameters":{"id":1347,"nodeType":"ParameterList","parameters":[],"src":"12575:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1395,"nodeType":"FunctionDefinition","src":"12714:259:0","nodes":[],"body":{"id":1394,"nodeType":"Block","src":"12757:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1372,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1367,"src":"12771:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1373,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1369,"src":"12775:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12771:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1393,"nodeType":"IfStatement","src":"12767:200:0","trueBody":{"id":1392,"nodeType":"Block","src":"12778:189:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b75696e745d","id":1376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12801:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff","typeString":"literal_string \"Error: a <= b not satisfied [uint]\""},"value":"Error: a <= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff","typeString":"literal_string \"Error: a <= b not satisfied [uint]\""}],"id":1375,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"12797:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12797:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1378,"nodeType":"EmitStatement","src":"12792:46:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12872:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1381,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1367,"src":"12885:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1379,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"12857:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":1382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12857:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1383,"nodeType":"EmitStatement","src":"12852:35:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12921:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1386,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1369,"src":"12934:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1384,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"12906:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":1387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12906:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1388,"nodeType":"EmitStatement","src":"12901:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1389,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"12950:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12950:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1391,"nodeType":"ExpressionStatement","src":"12950:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"12723:8:0","parameters":{"id":1370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1367,"mutability":"mutable","name":"a","nameLocation":"12737:1:0","nodeType":"VariableDeclaration","scope":1395,"src":"12732:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1366,"name":"uint","nodeType":"ElementaryTypeName","src":"12732:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1369,"mutability":"mutable","name":"b","nameLocation":"12745:1:0","nodeType":"VariableDeclaration","scope":1395,"src":"12740:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1368,"name":"uint","nodeType":"ElementaryTypeName","src":"12740:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12731:16:0"},"returnParameters":{"id":1371,"nodeType":"ParameterList","parameters":[],"src":"12757:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1420,"nodeType":"FunctionDefinition","src":"12978:177:0","nodes":[],"body":{"id":1419,"nodeType":"Block","src":"13040:115:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1404,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1397,"src":"13054:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1405,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1399,"src":"13058:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13054:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1418,"nodeType":"IfStatement","src":"13050:99:0","trueBody":{"id":1417,"nodeType":"Block","src":"13061:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13097:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1409,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1401,"src":"13106:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1407,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"13080:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13080:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1411,"nodeType":"EmitStatement","src":"13075:35:0"},{"expression":{"arguments":[{"id":1413,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1397,"src":"13133:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1414,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1399,"src":"13136:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1412,"name":"assertLe","nodeType":"Identifier","overloadedDeclarations":[1395,1420,1450,1475],"referencedDeclaration":1395,"src":"13124:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":1415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13124:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1416,"nodeType":"ExpressionStatement","src":"13124:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"12987:8:0","parameters":{"id":1402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1397,"mutability":"mutable","name":"a","nameLocation":"13001:1:0","nodeType":"VariableDeclaration","scope":1420,"src":"12996:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1396,"name":"uint","nodeType":"ElementaryTypeName","src":"12996:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1399,"mutability":"mutable","name":"b","nameLocation":"13009:1:0","nodeType":"VariableDeclaration","scope":1420,"src":"13004:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1398,"name":"uint","nodeType":"ElementaryTypeName","src":"13004:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1401,"mutability":"mutable","name":"err","nameLocation":"13026:3:0","nodeType":"VariableDeclaration","scope":1420,"src":"13012:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1400,"name":"string","nodeType":"ElementaryTypeName","src":"13012:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12995:35:0"},"returnParameters":{"id":1403,"nodeType":"ParameterList","parameters":[],"src":"13040:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1450,"nodeType":"FunctionDefinition","src":"13160:254:0","nodes":[],"body":{"id":1449,"nodeType":"Block","src":"13201:213:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1427,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1422,"src":"13215:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1428,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1424,"src":"13219:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"13215:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1448,"nodeType":"IfStatement","src":"13211:197:0","trueBody":{"id":1447,"nodeType":"Block","src":"13222:186:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b696e745d","id":1431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13245:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555","typeString":"literal_string \"Error: a <= b not satisfied [int]\""},"value":"Error: a <= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555","typeString":"literal_string \"Error: a <= b not satisfied [int]\""}],"id":1430,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"13241:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13241:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1433,"nodeType":"EmitStatement","src":"13236:45:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13314:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1436,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1422,"src":"13327:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1434,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"13300:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":1437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13300:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1438,"nodeType":"EmitStatement","src":"13295:34:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13362:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1441,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1424,"src":"13375:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1439,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"13348:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":1442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13348:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1443,"nodeType":"EmitStatement","src":"13343:34:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1444,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"13391:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13391:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1446,"nodeType":"ExpressionStatement","src":"13391:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"13169:8:0","parameters":{"id":1425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1422,"mutability":"mutable","name":"a","nameLocation":"13182:1:0","nodeType":"VariableDeclaration","scope":1450,"src":"13178:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1421,"name":"int","nodeType":"ElementaryTypeName","src":"13178:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1424,"mutability":"mutable","name":"b","nameLocation":"13189:1:0","nodeType":"VariableDeclaration","scope":1450,"src":"13185:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1423,"name":"int","nodeType":"ElementaryTypeName","src":"13185:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13177:14:0"},"returnParameters":{"id":1426,"nodeType":"ParameterList","parameters":[],"src":"13201:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1475,"nodeType":"FunctionDefinition","src":"13419:175:0","nodes":[],"body":{"id":1474,"nodeType":"Block","src":"13479:115:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1459,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1452,"src":"13493:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1460,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1454,"src":"13497:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"13493:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1473,"nodeType":"IfStatement","src":"13489:99:0","trueBody":{"id":1472,"nodeType":"Block","src":"13500:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13536:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1464,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1456,"src":"13545:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1462,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"13519:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13519:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1466,"nodeType":"EmitStatement","src":"13514:35:0"},{"expression":{"arguments":[{"id":1468,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1452,"src":"13572:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1469,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1454,"src":"13575:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1467,"name":"assertLe","nodeType":"Identifier","overloadedDeclarations":[1395,1420,1450,1475],"referencedDeclaration":1450,"src":"13563:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":1470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13563:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1471,"nodeType":"ExpressionStatement","src":"13563:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"13428:8:0","parameters":{"id":1457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1452,"mutability":"mutable","name":"a","nameLocation":"13441:1:0","nodeType":"VariableDeclaration","scope":1475,"src":"13437:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1451,"name":"int","nodeType":"ElementaryTypeName","src":"13437:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1454,"mutability":"mutable","name":"b","nameLocation":"13448:1:0","nodeType":"VariableDeclaration","scope":1475,"src":"13444:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1453,"name":"int","nodeType":"ElementaryTypeName","src":"13444:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1456,"mutability":"mutable","name":"err","nameLocation":"13465:3:0","nodeType":"VariableDeclaration","scope":1475,"src":"13451:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1455,"name":"string","nodeType":"ElementaryTypeName","src":"13451:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13436:33:0"},"returnParameters":{"id":1458,"nodeType":"ParameterList","parameters":[],"src":"13479:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1509,"nodeType":"FunctionDefinition","src":"13599:320:0","nodes":[],"body":{"id":1508,"nodeType":"Block","src":"13662:257:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1484,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"13676:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1485,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1479,"src":"13680:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"13676:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1507,"nodeType":"IfStatement","src":"13672:241:0","trueBody":{"id":1506,"nodeType":"Block","src":"13683:230:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":1488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13706:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a","typeString":"literal_string \"Error: a <= b not satisfied [decimal int]\""},"value":"Error: a <= b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a","typeString":"literal_string \"Error: a <= b not satisfied [decimal int]\""}],"id":1487,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"13702:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13702:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1490,"nodeType":"EmitStatement","src":"13697:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13791:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1493,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"13804:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1494,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1481,"src":"13807:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1491,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"13769:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13769:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1496,"nodeType":"EmitStatement","src":"13764:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13857:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1499,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1479,"src":"13870:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1500,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1481,"src":"13873:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1497,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"13835:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13835:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1502,"nodeType":"EmitStatement","src":"13830:52:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1503,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"13896:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13896:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1505,"nodeType":"ExpressionStatement","src":"13896:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"13608:15:0","parameters":{"id":1482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1477,"mutability":"mutable","name":"a","nameLocation":"13628:1:0","nodeType":"VariableDeclaration","scope":1509,"src":"13624:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1476,"name":"int","nodeType":"ElementaryTypeName","src":"13624:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1479,"mutability":"mutable","name":"b","nameLocation":"13635:1:0","nodeType":"VariableDeclaration","scope":1509,"src":"13631:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1478,"name":"int","nodeType":"ElementaryTypeName","src":"13631:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1481,"mutability":"mutable","name":"decimals","nameLocation":"13643:8:0","nodeType":"VariableDeclaration","scope":1509,"src":"13638:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1480,"name":"uint","nodeType":"ElementaryTypeName","src":"13638:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13623:29:0"},"returnParameters":{"id":1483,"nodeType":"ParameterList","parameters":[],"src":"13662:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1537,"nodeType":"FunctionDefinition","src":"13924:214:0","nodes":[],"body":{"id":1536,"nodeType":"Block","src":"14006:132:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1520,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1511,"src":"14020:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1521,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"14024:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14020:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1535,"nodeType":"IfStatement","src":"14016:116:0","trueBody":{"id":1534,"nodeType":"Block","src":"14027:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14063:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1525,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1517,"src":"14072:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1523,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14046:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14046:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1527,"nodeType":"EmitStatement","src":"14041:35:0"},{"expression":{"arguments":[{"id":1529,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1511,"src":"14106:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1530,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"14109:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1531,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1515,"src":"14112:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1528,"name":"assertLeDecimal","nodeType":"Identifier","overloadedDeclarations":[1509,1537,1571,1599],"referencedDeclaration":1509,"src":"14090:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":1532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14090:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1533,"nodeType":"ExpressionStatement","src":"14090:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"13933:15:0","parameters":{"id":1518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1511,"mutability":"mutable","name":"a","nameLocation":"13953:1:0","nodeType":"VariableDeclaration","scope":1537,"src":"13949:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1510,"name":"int","nodeType":"ElementaryTypeName","src":"13949:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1513,"mutability":"mutable","name":"b","nameLocation":"13960:1:0","nodeType":"VariableDeclaration","scope":1537,"src":"13956:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1512,"name":"int","nodeType":"ElementaryTypeName","src":"13956:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1515,"mutability":"mutable","name":"decimals","nameLocation":"13968:8:0","nodeType":"VariableDeclaration","scope":1537,"src":"13963:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1514,"name":"uint","nodeType":"ElementaryTypeName","src":"13963:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1517,"mutability":"mutable","name":"err","nameLocation":"13992:3:0","nodeType":"VariableDeclaration","scope":1537,"src":"13978:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1516,"name":"string","nodeType":"ElementaryTypeName","src":"13978:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13948:48:0"},"returnParameters":{"id":1519,"nodeType":"ParameterList","parameters":[],"src":"14006:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1571,"nodeType":"FunctionDefinition","src":"14143:325:0","nodes":[],"body":{"id":1570,"nodeType":"Block","src":"14208:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1546,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1539,"src":"14222:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1547,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1541,"src":"14226:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14222:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1569,"nodeType":"IfStatement","src":"14218:244:0","trueBody":{"id":1568,"nodeType":"Block","src":"14229:233:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":1550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14252:44:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51","typeString":"literal_string \"Error: a <= b not satisfied [decimal uint]\""},"value":"Error: a <= b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51","typeString":"literal_string \"Error: a <= b not satisfied [decimal uint]\""}],"id":1549,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"14248:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14248:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1552,"nodeType":"EmitStatement","src":"14243:54:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14339:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1555,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1539,"src":"14352:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1556,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1543,"src":"14355:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1553,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"14316:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14316:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1558,"nodeType":"EmitStatement","src":"14311:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14406:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1561,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1541,"src":"14419:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1562,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1543,"src":"14422:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1559,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"14383:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14383:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1564,"nodeType":"EmitStatement","src":"14378:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1565,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"14445:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14445:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1567,"nodeType":"ExpressionStatement","src":"14445:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14152:15:0","parameters":{"id":1544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1539,"mutability":"mutable","name":"a","nameLocation":"14173:1:0","nodeType":"VariableDeclaration","scope":1571,"src":"14168:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1538,"name":"uint","nodeType":"ElementaryTypeName","src":"14168:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1541,"mutability":"mutable","name":"b","nameLocation":"14181:1:0","nodeType":"VariableDeclaration","scope":1571,"src":"14176:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1540,"name":"uint","nodeType":"ElementaryTypeName","src":"14176:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1543,"mutability":"mutable","name":"decimals","nameLocation":"14189:8:0","nodeType":"VariableDeclaration","scope":1571,"src":"14184:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1542,"name":"uint","nodeType":"ElementaryTypeName","src":"14184:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14167:31:0"},"returnParameters":{"id":1545,"nodeType":"ParameterList","parameters":[],"src":"14208:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1599,"nodeType":"FunctionDefinition","src":"14473:216:0","nodes":[],"body":{"id":1598,"nodeType":"Block","src":"14557:132:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1582,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1573,"src":"14571:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1583,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1575,"src":"14575:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14571:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1597,"nodeType":"IfStatement","src":"14567:116:0","trueBody":{"id":1596,"nodeType":"Block","src":"14578:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14614:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1587,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1579,"src":"14623:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1585,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14597:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14597:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1589,"nodeType":"EmitStatement","src":"14592:35:0"},{"expression":{"arguments":[{"id":1591,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1573,"src":"14657:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1592,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1575,"src":"14660:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1593,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1577,"src":"14663:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1590,"name":"assertLeDecimal","nodeType":"Identifier","overloadedDeclarations":[1509,1537,1571,1599],"referencedDeclaration":1571,"src":"14641:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14641:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1595,"nodeType":"ExpressionStatement","src":"14641:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14482:15:0","parameters":{"id":1580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1573,"mutability":"mutable","name":"a","nameLocation":"14503:1:0","nodeType":"VariableDeclaration","scope":1599,"src":"14498:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1572,"name":"uint","nodeType":"ElementaryTypeName","src":"14498:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1575,"mutability":"mutable","name":"b","nameLocation":"14511:1:0","nodeType":"VariableDeclaration","scope":1599,"src":"14506:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1574,"name":"uint","nodeType":"ElementaryTypeName","src":"14506:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1577,"mutability":"mutable","name":"decimals","nameLocation":"14519:8:0","nodeType":"VariableDeclaration","scope":1599,"src":"14514:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1576,"name":"uint","nodeType":"ElementaryTypeName","src":"14514:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1579,"mutability":"mutable","name":"err","nameLocation":"14543:3:0","nodeType":"VariableDeclaration","scope":1599,"src":"14529:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1578,"name":"string","nodeType":"ElementaryTypeName","src":"14529:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14497:50:0"},"returnParameters":{"id":1581,"nodeType":"ParameterList","parameters":[],"src":"14557:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1639,"nodeType":"FunctionDefinition","src":"14695:344:0","nodes":[],"body":{"id":1638,"nodeType":"Block","src":"14756:283:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":1609,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1601,"src":"14797:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1607,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14780:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"14780:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14780:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1606,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"14770:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14770:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":1615,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1603,"src":"14831:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1613,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14814:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"14814:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14814:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1612,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"14804:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14804:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"14770:64:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1637,"nodeType":"IfStatement","src":"14766:267:0","trueBody":{"id":1636,"nodeType":"Block","src":"14836:197:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472696e675d","id":1620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14859:38:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e","typeString":"literal_string \"Error: a == b not satisfied [string]\""},"value":"Error: a == b not satisfied [string]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e","typeString":"literal_string \"Error: a == b not satisfied [string]\""}],"id":1619,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"14855:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14855:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1622,"nodeType":"EmitStatement","src":"14850:48:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":1624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14934:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":1625,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1601,"src":"14948:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1623,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14917:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14917:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1627,"nodeType":"EmitStatement","src":"14912:38:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":1629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14986:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":1630,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1603,"src":"15000:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1628,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14969:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14969:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1632,"nodeType":"EmitStatement","src":"14964:38:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1633,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"15016:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15016:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1635,"nodeType":"ExpressionStatement","src":"15016:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"14704:8:0","parameters":{"id":1604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1601,"mutability":"mutable","name":"a","nameLocation":"14727:1:0","nodeType":"VariableDeclaration","scope":1639,"src":"14713:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1600,"name":"string","nodeType":"ElementaryTypeName","src":"14713:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1603,"mutability":"mutable","name":"b","nameLocation":"14744:1:0","nodeType":"VariableDeclaration","scope":1639,"src":"14730:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1602,"name":"string","nodeType":"ElementaryTypeName","src":"14730:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14712:34:0"},"returnParameters":{"id":1605,"nodeType":"ParameterList","parameters":[],"src":"14756:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1674,"nodeType":"FunctionDefinition","src":"15044:254:0","nodes":[],"body":{"id":1673,"nodeType":"Block","src":"15124:174:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":1651,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1641,"src":"15165:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1649,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15148:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15148:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15148:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1648,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15138:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15138:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":1657,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1643,"src":"15199:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15182:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15182:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15182:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1654,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15172:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15172:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"15138:64:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1672,"nodeType":"IfStatement","src":"15134:158:0","trueBody":{"id":1671,"nodeType":"Block","src":"15204:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15240:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1663,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1645,"src":"15249:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1661,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"15223:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15223:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1665,"nodeType":"EmitStatement","src":"15218:35:0"},{"expression":{"arguments":[{"id":1667,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1641,"src":"15276:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1668,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1643,"src":"15279:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1666,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":1639,"src":"15267:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15267:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1670,"nodeType":"ExpressionStatement","src":"15267:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"15053:8:0","parameters":{"id":1646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1641,"mutability":"mutable","name":"a","nameLocation":"15076:1:0","nodeType":"VariableDeclaration","scope":1674,"src":"15062:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1640,"name":"string","nodeType":"ElementaryTypeName","src":"15062:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1643,"mutability":"mutable","name":"b","nameLocation":"15093:1:0","nodeType":"VariableDeclaration","scope":1674,"src":"15079:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1642,"name":"string","nodeType":"ElementaryTypeName","src":"15079:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1645,"mutability":"mutable","name":"err","nameLocation":"15110:3:0","nodeType":"VariableDeclaration","scope":1674,"src":"15096:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1644,"name":"string","nodeType":"ElementaryTypeName","src":"15096:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15061:53:0"},"returnParameters":{"id":1647,"nodeType":"ParameterList","parameters":[],"src":"15124:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1726,"nodeType":"FunctionDefinition","src":"15304:345:0","nodes":[],"body":{"id":1725,"nodeType":"Block","src":"15386:263:0","nodes":[],"statements":[{"expression":{"id":1685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1683,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"15396:2:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15401:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"15396:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1686,"nodeType":"ExpressionStatement","src":"15396:9:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1687,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1676,"src":"15419:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15419:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":1689,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1678,"src":"15431:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15431:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15419:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1723,"nodeType":"Block","src":"15608:35:0","statements":[{"expression":{"id":1721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1719,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"15622:2:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15627:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15622:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1722,"nodeType":"ExpressionStatement","src":"15622:10:0"}]},"id":1724,"nodeType":"IfStatement","src":"15415:228:0","trueBody":{"id":1718,"nodeType":"Block","src":"15441:161:0","statements":[{"body":{"id":1716,"nodeType":"Block","src":"15491:101:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":1709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":1703,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1676,"src":"15513:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1705,"indexExpression":{"id":1704,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"15515:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15513:4:0","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"baseExpression":{"id":1706,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1678,"src":"15521:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1708,"indexExpression":{"id":1707,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"15523:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15521:4:0","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"15513:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1715,"nodeType":"IfStatement","src":"15509:69:0","trueBody":{"id":1714,"nodeType":"Block","src":"15527:51:0","statements":[{"expression":{"id":1712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1710,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"15549:2:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15554:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15549:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1713,"nodeType":"ExpressionStatement","src":"15549:10:0"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"15472:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1697,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1676,"src":"15476:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15476:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15472:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1717,"initializationExpression":{"assignments":[1693],"declarations":[{"constant":false,"id":1693,"mutability":"mutable","name":"i","nameLocation":"15465:1:0","nodeType":"VariableDeclaration","scope":1717,"src":"15460:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1692,"name":"uint","nodeType":"ElementaryTypeName","src":"15460:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1695,"initialValue":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15469:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15460:10:0"},"loopExpression":{"expression":{"id":1701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15486:3:0","subExpression":{"id":1700,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"15486:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1702,"nodeType":"ExpressionStatement","src":"15486:3:0"},"nodeType":"ForStatement","src":"15455:137:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"15313:8:0","parameters":{"id":1679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1676,"mutability":"mutable","name":"a","nameLocation":"15335:1:0","nodeType":"VariableDeclaration","scope":1726,"src":"15322:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1675,"name":"bytes","nodeType":"ElementaryTypeName","src":"15322:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1678,"mutability":"mutable","name":"b","nameLocation":"15351:1:0","nodeType":"VariableDeclaration","scope":1726,"src":"15338:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1677,"name":"bytes","nodeType":"ElementaryTypeName","src":"15338:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15321:32:0"},"returnParameters":{"id":1682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1681,"mutability":"mutable","name":"ok","nameLocation":"15382:2:0","nodeType":"VariableDeclaration","scope":1726,"src":"15377:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1680,"name":"bool","nodeType":"ElementaryTypeName","src":"15377:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15376:9:0"},"scope":1786,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":1758,"nodeType":"FunctionDefinition","src":"15654:291:0","nodes":[],"body":{"id":1757,"nodeType":"Block","src":"15714:231:0","nodes":[],"statements":[{"condition":{"id":1737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15728:15:0","subExpression":{"arguments":[{"id":1734,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1728,"src":"15738:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1735,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1730,"src":"15741:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1733,"name":"checkEq0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1726,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory,bytes memory) pure returns (bool)"}},"id":1736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15729:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1756,"nodeType":"IfStatement","src":"15724:215:0","trueBody":{"id":1755,"nodeType":"Block","src":"15745:194:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797465735d","id":1739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15768:37:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc","typeString":"literal_string \"Error: a == b not satisfied [bytes]\""},"value":"Error: a == b not satisfied [bytes]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc","typeString":"literal_string \"Error: a == b not satisfied [bytes]\""}],"id":1738,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"15764:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15764:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1741,"nodeType":"EmitStatement","src":"15759:47:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":1743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15841:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":1744,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1728,"src":"15855:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1742,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"15825:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":1745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15825:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1746,"nodeType":"EmitStatement","src":"15820:37:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":1748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15892:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":1749,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1730,"src":"15906:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1747,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"15876:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":1750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15876:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1751,"nodeType":"EmitStatement","src":"15871:37:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1752,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"15922:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15922:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1754,"nodeType":"ExpressionStatement","src":"15922:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"15663:9:0","parameters":{"id":1731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1728,"mutability":"mutable","name":"a","nameLocation":"15686:1:0","nodeType":"VariableDeclaration","scope":1758,"src":"15673:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1727,"name":"bytes","nodeType":"ElementaryTypeName","src":"15673:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1730,"mutability":"mutable","name":"b","nameLocation":"15702:1:0","nodeType":"VariableDeclaration","scope":1758,"src":"15689:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1729,"name":"bytes","nodeType":"ElementaryTypeName","src":"15689:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15672:32:0"},"returnParameters":{"id":1732,"nodeType":"ParameterList","parameters":[],"src":"15714:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1785,"nodeType":"FunctionDefinition","src":"15950:205:0","nodes":[],"body":{"id":1784,"nodeType":"Block","src":"16029:126:0","nodes":[],"statements":[{"condition":{"id":1771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16043:15:0","subExpression":{"arguments":[{"id":1768,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1760,"src":"16053:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1769,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1762,"src":"16056:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1767,"name":"checkEq0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1726,"src":"16044:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory,bytes memory) pure returns (bool)"}},"id":1770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16044:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1783,"nodeType":"IfStatement","src":"16039:110:0","trueBody":{"id":1782,"nodeType":"Block","src":"16060:89:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16096:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1774,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1764,"src":"16105:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1772,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"16079:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16079:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1776,"nodeType":"EmitStatement","src":"16074:35:0"},{"expression":{"arguments":[{"id":1778,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1760,"src":"16133:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1779,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1762,"src":"16136:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1777,"name":"assertEq0","nodeType":"Identifier","overloadedDeclarations":[1758,1785],"referencedDeclaration":1758,"src":"16123:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory)"}},"id":1780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16123:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1781,"nodeType":"ExpressionStatement","src":"16123:15:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"15959:9:0","parameters":{"id":1765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1760,"mutability":"mutable","name":"a","nameLocation":"15982:1:0","nodeType":"VariableDeclaration","scope":1785,"src":"15969:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1759,"name":"bytes","nodeType":"ElementaryTypeName","src":"15969:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1762,"mutability":"mutable","name":"b","nameLocation":"15998:1:0","nodeType":"VariableDeclaration","scope":1785,"src":"15985:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1761,"name":"bytes","nodeType":"ElementaryTypeName","src":"15985:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1764,"mutability":"mutable","name":"err","nameLocation":"16015:3:0","nodeType":"VariableDeclaration","scope":1785,"src":"16001:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1763,"name":"string","nodeType":"ElementaryTypeName","src":"16001:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15968:51:0"},"returnParameters":{"id":1766,"nodeType":"ParameterList","parameters":[],"src":"16029:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"DSTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[1786],"name":"DSTest","nameLocation":"724:6:0","scope":1787,"usedErrors":[]}],"license":"GPL-3.0-or-later"}},"lib/forge-std/src/Base.sol":{"id":1,"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":1859,"exportedSymbols":{"CommonBase":[1843],"ScriptBase":[1858],"StdStorage":[7225],"TestBase":[1846],"Vm":[12037],"VmSafe":[11690]},"nodeType":"SourceUnit","src":"32:1585:1","nodes":[{"id":1788,"nodeType":"PragmaDirective","src":"32:31:1","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":1790,"nodeType":"ImportDirective","src":"65:44:1","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":1859,"sourceUnit":8659,"symbolAliases":[{"foreign":{"id":1789,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7225,"src":"73:10:1","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"type(struct StdStorage storage pointer)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1793,"nodeType":"ImportDirective","src":"110:36:1","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":1859,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":1791,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"118:2:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":1792,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"122:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1843,"nodeType":"ContractDefinition","src":"148:1123:1","nodes":[{"id":1807,"nodeType":"VariableDeclaration","src":"254:94:1","nodes":[],"constant":true,"mutability":"constant","name":"VM_ADDRESS","nameLocation":"280:10:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1794,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":1802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"327:17:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":1801,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"317:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"317:28:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"309:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1799,"name":"uint256","nodeType":"ElementaryTypeName","src":"309:7:1","typeDescriptions":{}}},"id":1804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"309:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"301:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":1797,"name":"uint160","nodeType":"ElementaryTypeName","src":"301:7:1","typeDescriptions":{}}},"id":1805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"301:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"293:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1795,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:1","typeDescriptions":{}}},"id":1806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"293:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":1810,"nodeType":"VariableDeclaration","src":"438:78:1","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE","nameLocation":"464:7:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1808,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":1809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"474:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":1824,"nodeType":"VariableDeclaration","src":"619:105:1","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"645:14:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1811,"name":"address","nodeType":"ElementaryTypeName","src":"619:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"666f756e6472792064656661756c742063616c6c6572","id":1819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"696:24:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""},"value":"foundry default caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""}],"id":1818,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"686:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"686:35:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"678:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1816,"name":"uint256","nodeType":"ElementaryTypeName","src":"678:7:1","typeDescriptions":{}}},"id":1821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"678:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"670:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":1814,"name":"uint160","nodeType":"ElementaryTypeName","src":"670:7:1","typeDescriptions":{}}},"id":1822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"670:53:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":1813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"662:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1812,"name":"address","nodeType":"ElementaryTypeName","src":"662:7:1","typeDescriptions":{}}},"id":1823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"662:62:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":1827,"nodeType":"VariableDeclaration","src":"799:92:1","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"825:21:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1825,"name":"address","nodeType":"ElementaryTypeName","src":"799:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":1826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"849:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":1830,"nodeType":"VariableDeclaration","src":"965:89:1","nodes":[],"constant":true,"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"991:18:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1828,"name":"address","nodeType":"ElementaryTypeName","src":"965:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":1829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1012:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":1833,"nodeType":"VariableDeclaration","src":"1061:126:1","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1087:11:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1831,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":1832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1109:78:1","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":1839,"nodeType":"VariableDeclaration","src":"1194:40:1","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1215:2:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":1835,"nodeType":"UserDefinedTypeName","pathNode":{"id":1834,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"1194:2:1"},"referencedDeclaration":12037,"src":"1194:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"id":1837,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"1223:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1836,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"1220:2:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":1838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1220:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"internal"},{"id":1842,"nodeType":"VariableDeclaration","src":"1240:28:1","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"1260:8:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage"},"typeName":{"id":1841,"nodeType":"UserDefinedTypeName","pathNode":{"id":1840,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"1240:10:1"},"referencedDeclaration":7225,"src":"1240:10:1","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[1843],"name":"CommonBase","nameLocation":"166:10:1","scope":1859,"usedErrors":[]},{"id":1846,"nodeType":"ContractDefinition","src":"1273:43:1","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":1844,"name":"CommonBase","nodeType":"IdentifierPath","referencedDeclaration":1843,"src":"1303:10:1"},"id":1845,"nodeType":"InheritanceSpecifier","src":"1303:10:1"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[1846,1843],"name":"TestBase","nameLocation":"1291:8:1","scope":1859,"usedErrors":[]},{"id":1858,"nodeType":"ContractDefinition","src":"1318:298:1","nodes":[{"id":1851,"nodeType":"VariableDeclaration","src":"1468:86:1","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"1494:15:1","scope":1858,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"1468:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":1850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1512:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":1857,"nodeType":"VariableDeclaration","src":"1561:52:1","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"1586:6:1","scope":1858,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"},"typeName":{"id":1853,"nodeType":"UserDefinedTypeName","pathNode":{"id":1852,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"1561:6:1"},"referencedDeclaration":11690,"src":"1561:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":1855,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"1602:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1854,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"1595:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"id":1856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1595:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":1847,"name":"CommonBase","nodeType":"IdentifierPath","referencedDeclaration":1843,"src":"1350:10:1"},"id":1848,"nodeType":"InheritanceSpecifier","src":"1350:10:1"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[1858,1843],"name":"ScriptBase","nameLocation":"1336:10:1","scope":1859,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdAssertions.sol":{"id":2,"ast":{"absolutePath":"lib/forge-std/src/StdAssertions.sol","id":3261,"exportedSymbols":{"DSTest":[1786],"StdAssertions":[3260],"stdMath":[7193]},"nodeType":"SourceUnit","src":"32:13591:2","nodes":[{"id":1860,"nodeType":"PragmaDirective","src":"32:31:2","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":1862,"nodeType":"ImportDirective","src":"65:40:2","nodes":[],"absolutePath":"lib/forge-std/lib/ds-test/src/test.sol","file":"ds-test/test.sol","nameLocation":"-1:-1:-1","scope":3261,"sourceUnit":1787,"symbolAliases":[{"foreign":{"id":1861,"name":"DSTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"73:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DSTest_$1786_$","typeString":"type(contract DSTest)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1864,"nodeType":"ImportDirective","src":"106:38:2","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":3261,"sourceUnit":7194,"symbolAliases":[{"foreign":{"id":1863,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"114:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3260,"nodeType":"ContractDefinition","src":"146:13476:2","nodes":[{"id":1871,"nodeType":"EventDefinition","src":"194:31:2","nodes":[],"anonymous":false,"name":"log_array","nameLocation":"200:9:2","parameters":{"id":1870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"220:3:2","nodeType":"VariableDeclaration","scope":1871,"src":"210:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1867,"name":"uint256","nodeType":"ElementaryTypeName","src":"210:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1868,"nodeType":"ArrayTypeName","src":"210:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"209:15:2"}},{"id":1876,"nodeType":"EventDefinition","src":"230:30:2","nodes":[],"anonymous":false,"name":"log_array","nameLocation":"236:9:2","parameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"255:3:2","nodeType":"VariableDeclaration","scope":1876,"src":"246:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1872,"name":"int256","nodeType":"ElementaryTypeName","src":"246:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1873,"nodeType":"ArrayTypeName","src":"246:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"245:14:2"}},{"id":1881,"nodeType":"EventDefinition","src":"265:31:2","nodes":[],"anonymous":false,"name":"log_array","nameLocation":"271:9:2","parameters":{"id":1880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1879,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"291:3:2","nodeType":"VariableDeclaration","scope":1881,"src":"281:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1877,"name":"address","nodeType":"ElementaryTypeName","src":"281:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1878,"nodeType":"ArrayTypeName","src":"281:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"280:15:2"}},{"id":1888,"nodeType":"EventDefinition","src":"301:49:2","nodes":[],"anonymous":false,"name":"log_named_array","nameLocation":"307:15:2","parameters":{"id":1887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1883,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"330:3:2","nodeType":"VariableDeclaration","scope":1888,"src":"323:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1882,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1886,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"345:3:2","nodeType":"VariableDeclaration","scope":1888,"src":"335:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1884,"name":"uint256","nodeType":"ElementaryTypeName","src":"335:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1885,"nodeType":"ArrayTypeName","src":"335:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"322:27:2"}},{"id":1895,"nodeType":"EventDefinition","src":"355:48:2","nodes":[],"anonymous":false,"name":"log_named_array","nameLocation":"361:15:2","parameters":{"id":1894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"384:3:2","nodeType":"VariableDeclaration","scope":1895,"src":"377:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1889,"name":"string","nodeType":"ElementaryTypeName","src":"377:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1893,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"398:3:2","nodeType":"VariableDeclaration","scope":1895,"src":"389:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1891,"name":"int256","nodeType":"ElementaryTypeName","src":"389:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1892,"nodeType":"ArrayTypeName","src":"389:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"376:26:2"}},{"id":1902,"nodeType":"EventDefinition","src":"408:49:2","nodes":[],"anonymous":false,"name":"log_named_array","nameLocation":"414:15:2","parameters":{"id":1901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1897,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"437:3:2","nodeType":"VariableDeclaration","scope":1902,"src":"430:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1896,"name":"string","nodeType":"ElementaryTypeName","src":"430:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1900,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"452:3:2","nodeType":"VariableDeclaration","scope":1902,"src":"442:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1898,"name":"address","nodeType":"ElementaryTypeName","src":"442:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1899,"nodeType":"ArrayTypeName","src":"442:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"429:27:2"}},{"id":1916,"nodeType":"FunctionDefinition","src":"463:118:2","nodes":[],"body":{"id":1915,"nodeType":"Block","src":"513:68:2","nodes":[],"statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"545:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1909,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1904,"src":"554:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1907,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"528:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"528:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1911,"nodeType":"EmitStatement","src":"523:35:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1912,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"568:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"568:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1914,"nodeType":"ExpressionStatement","src":"568:6:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"472:4:2","parameters":{"id":1905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1904,"mutability":"mutable","name":"err","nameLocation":"491:3:2","nodeType":"VariableDeclaration","scope":1916,"src":"477:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1903,"name":"string","nodeType":"ElementaryTypeName","src":"477:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"476:19:2"},"returnParameters":{"id":1906,"nodeType":"ParameterList","parameters":[],"src":"513:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1927,"nodeType":"FunctionDefinition","src":"587:83:2","nodes":[],"body":{"id":1926,"nodeType":"Block","src":"636:34:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"657:5:2","subExpression":{"id":1922,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1918,"src":"658:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1921,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"646:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":1924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"646:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1925,"nodeType":"ExpressionStatement","src":"646:17:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"596:11:2","parameters":{"id":1919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1918,"mutability":"mutable","name":"data","nameLocation":"613:4:2","nodeType":"VariableDeclaration","scope":1927,"src":"608:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1917,"name":"bool","nodeType":"ElementaryTypeName","src":"608:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"607:11:2"},"returnParameters":{"id":1920,"nodeType":"ParameterList","parameters":[],"src":"636:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1941,"nodeType":"FunctionDefinition","src":"676:107:2","nodes":[],"body":{"id":1940,"nodeType":"Block","src":"744:39:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"765:5:2","subExpression":{"id":1935,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"766:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1937,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1931,"src":"772:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1934,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":290,"src":"754:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory)"}},"id":1938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"754:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1939,"nodeType":"ExpressionStatement","src":"754:22:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"685:11:2","parameters":{"id":1932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1929,"mutability":"mutable","name":"data","nameLocation":"702:4:2","nodeType":"VariableDeclaration","scope":1941,"src":"697:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1928,"name":"bool","nodeType":"ElementaryTypeName","src":"697:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1931,"mutability":"mutable","name":"err","nameLocation":"722:3:2","nodeType":"VariableDeclaration","scope":1941,"src":"708:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1930,"name":"string","nodeType":"ElementaryTypeName","src":"708:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"696:30:2"},"returnParameters":{"id":1933,"nodeType":"ParameterList","parameters":[],"src":"744:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1977,"nodeType":"FunctionDefinition","src":"789:312:2","nodes":[],"body":{"id":1976,"nodeType":"Block","src":"840:261:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1948,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1943,"src":"854:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1949,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1945,"src":"859:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"854:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1975,"nodeType":"IfStatement","src":"850:245:2","trueBody":{"id":1974,"nodeType":"Block","src":"862:233:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f6c5d","id":1952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"885:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b48ec9ac4dc7123ad32509232067c63ebae61bff18d5e06bf4dea2a25240ed2","typeString":"literal_string \"Error: a == b not satisfied [bool]\""},"value":"Error: a == b not satisfied [bool]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b48ec9ac4dc7123ad32509232067c63ebae61bff18d5e06bf4dea2a25240ed2","typeString":"literal_string \"Error: a == b not satisfied [bool]\""}],"id":1951,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"881:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"881:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1954,"nodeType":"EmitStatement","src":"876:46:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":1956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"958:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"condition":{"id":1957,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1943,"src":"972:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"66616c7365","id":1959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"985:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba9154e0baa69c78e0ca563b867df81bae9d177c4ea1452c35c84386a70f0f7a","typeString":"literal_string \"false\""},"value":"false"},"id":1960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"972:20:2","trueExpression":{"hexValue":"74727565","id":1958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"976:6:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6273151f959616268004b58dbb21e5c851b7b8d04498b4aabee12291d22fc034","typeString":"literal_string \"true\""},"value":"true"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1955,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"941:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"941:52:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1962,"nodeType":"EmitStatement","src":"936:57:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":1964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1029:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"condition":{"id":1965,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1945,"src":"1043:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"66616c7365","id":1967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1056:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba9154e0baa69c78e0ca563b867df81bae9d177c4ea1452c35c84386a70f0f7a","typeString":"literal_string \"false\""},"value":"false"},"id":1968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1043:20:2","trueExpression":{"hexValue":"74727565","id":1966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1047:6:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6273151f959616268004b58dbb21e5c851b7b8d04498b4aabee12291d22fc034","typeString":"literal_string \"true\""},"value":"true"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1963,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"1012:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1012:52:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1970,"nodeType":"EmitStatement","src":"1007:57:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1971,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"1078:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1078:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1973,"nodeType":"ExpressionStatement","src":"1078:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"798:8:2","parameters":{"id":1946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1943,"mutability":"mutable","name":"a","nameLocation":"812:1:2","nodeType":"VariableDeclaration","scope":1977,"src":"807:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1942,"name":"bool","nodeType":"ElementaryTypeName","src":"807:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1945,"mutability":"mutable","name":"b","nameLocation":"820:1:2","nodeType":"VariableDeclaration","scope":1977,"src":"815:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1944,"name":"bool","nodeType":"ElementaryTypeName","src":"815:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"806:16:2"},"returnParameters":{"id":1947,"nodeType":"ParameterList","parameters":[],"src":"840:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2002,"nodeType":"FunctionDefinition","src":"1107:186:2","nodes":[],"body":{"id":2001,"nodeType":"Block","src":"1177:116:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"1191:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1987,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1981,"src":"1196:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1191:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2000,"nodeType":"IfStatement","src":"1187:100:2","trueBody":{"id":1999,"nodeType":"Block","src":"1199:88:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1235:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1991,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1983,"src":"1244:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1989,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"1218:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1218:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1993,"nodeType":"EmitStatement","src":"1213:35:2"},{"expression":{"arguments":[{"id":1995,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"1271:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1996,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1981,"src":"1274:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1994,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":1977,"src":"1262:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool)"}},"id":1997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1262:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1998,"nodeType":"ExpressionStatement","src":"1262:14:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1116:8:2","parameters":{"id":1984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1979,"mutability":"mutable","name":"a","nameLocation":"1130:1:2","nodeType":"VariableDeclaration","scope":2002,"src":"1125:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1978,"name":"bool","nodeType":"ElementaryTypeName","src":"1125:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1981,"mutability":"mutable","name":"b","nameLocation":"1138:1:2","nodeType":"VariableDeclaration","scope":2002,"src":"1133:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1980,"name":"bool","nodeType":"ElementaryTypeName","src":"1133:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1983,"mutability":"mutable","name":"err","nameLocation":"1155:3:2","nodeType":"VariableDeclaration","scope":2002,"src":"1141:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1982,"name":"string","nodeType":"ElementaryTypeName","src":"1141:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1124:35:2"},"returnParameters":{"id":1985,"nodeType":"ParameterList","parameters":[],"src":"1177:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2015,"nodeType":"FunctionDefinition","src":"1299:99:2","nodes":[],"body":{"id":2014,"nodeType":"Block","src":"1366:32:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2010,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2004,"src":"1386:1:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2011,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2006,"src":"1389:1:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2009,"name":"assertEq0","nodeType":"Identifier","overloadedDeclarations":[1758,1785],"referencedDeclaration":1758,"src":"1376:9:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory)"}},"id":2012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1376:15:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2013,"nodeType":"ExpressionStatement","src":"1376:15:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1308:8:2","parameters":{"id":2007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2004,"mutability":"mutable","name":"a","nameLocation":"1330:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"1317:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2003,"name":"bytes","nodeType":"ElementaryTypeName","src":"1317:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2006,"mutability":"mutable","name":"b","nameLocation":"1346:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"1333:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2005,"name":"bytes","nodeType":"ElementaryTypeName","src":"1333:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1316:32:2"},"returnParameters":{"id":2008,"nodeType":"ParameterList","parameters":[],"src":"1366:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2031,"nodeType":"FunctionDefinition","src":"1404:123:2","nodes":[],"body":{"id":2030,"nodeType":"Block","src":"1490:37:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2025,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2017,"src":"1510:1:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2026,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2019,"src":"1513:1:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2027,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2021,"src":"1516:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2024,"name":"assertEq0","nodeType":"Identifier","overloadedDeclarations":[1758,1785],"referencedDeclaration":1785,"src":"1500:9:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory)"}},"id":2028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1500:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2029,"nodeType":"ExpressionStatement","src":"1500:20:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1413:8:2","parameters":{"id":2022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2017,"mutability":"mutable","name":"a","nameLocation":"1435:1:2","nodeType":"VariableDeclaration","scope":2031,"src":"1422:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2016,"name":"bytes","nodeType":"ElementaryTypeName","src":"1422:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2019,"mutability":"mutable","name":"b","nameLocation":"1451:1:2","nodeType":"VariableDeclaration","scope":2031,"src":"1438:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2018,"name":"bytes","nodeType":"ElementaryTypeName","src":"1438:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2021,"mutability":"mutable","name":"err","nameLocation":"1468:3:2","nodeType":"VariableDeclaration","scope":2031,"src":"1454:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2020,"name":"string","nodeType":"ElementaryTypeName","src":"1454:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1421:51:2"},"returnParameters":{"id":2023,"nodeType":"ParameterList","parameters":[],"src":"1490:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2073,"nodeType":"FunctionDefinition","src":"1533:344:2","nodes":[],"body":{"id":2072,"nodeType":"Block","src":"1608:269:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2043,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2034,"src":"1643:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":2041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1632:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"1632:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1632:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2040,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1622:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1622:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2049,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2037,"src":"1671:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":2047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1660:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"1660:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1660:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2046,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1650:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1650:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1622:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2071,"nodeType":"IfStatement","src":"1618:253:2","trueBody":{"id":2070,"nodeType":"Block","src":"1676:195:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745b5d5d","id":2054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1699:38:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_521d63632bd73b6c06245b96e4e8f1b767ee309607c65899b409e5c9e6c384eb","typeString":"literal_string \"Error: a == b not satisfied [uint[]]\""},"value":"Error: a == b not satisfied [uint[]]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_521d63632bd73b6c06245b96e4e8f1b767ee309607c65899b409e5c9e6c384eb","typeString":"literal_string \"Error: a == b not satisfied [uint[]]\""}],"id":2053,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"1695:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1695:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2056,"nodeType":"EmitStatement","src":"1690:48:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1773:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2059,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2034,"src":"1787:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":2057,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1888,"src":"1757:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,uint256[] memory)"}},"id":2060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1757:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2061,"nodeType":"EmitStatement","src":"1752:37:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1824:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2064,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2037,"src":"1838:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":2062,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1888,"src":"1808:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,uint256[] memory)"}},"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1808:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2066,"nodeType":"EmitStatement","src":"1803:37:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2067,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"1854:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1854:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2069,"nodeType":"ExpressionStatement","src":"1854:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1542:8:2","parameters":{"id":2038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2034,"mutability":"mutable","name":"a","nameLocation":"1568:1:2","nodeType":"VariableDeclaration","scope":2073,"src":"1551:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2032,"name":"uint256","nodeType":"ElementaryTypeName","src":"1551:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2033,"nodeType":"ArrayTypeName","src":"1551:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2037,"mutability":"mutable","name":"b","nameLocation":"1588:1:2","nodeType":"VariableDeclaration","scope":2073,"src":"1571:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2035,"name":"uint256","nodeType":"ElementaryTypeName","src":"1571:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2036,"nodeType":"ArrayTypeName","src":"1571:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1550:40:2"},"returnParameters":{"id":2039,"nodeType":"ParameterList","parameters":[],"src":"1608:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2115,"nodeType":"FunctionDefinition","src":"1883:341:2","nodes":[],"body":{"id":2114,"nodeType":"Block","src":"1956:268:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2085,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"1991:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1980:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"1980:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1980:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2082,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1970:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1970:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2091,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"2019:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":2089,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2008:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2008:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2008:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2088,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1998:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1998:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1970:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2113,"nodeType":"IfStatement","src":"1966:252:2","trueBody":{"id":2112,"nodeType":"Block","src":"2024:194:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e745b5d5d","id":2096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2047:37:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c8a6638f7c95c9ee18ffcfc37ffe04d6270c2db7493e9b7a14add834054a5f5","typeString":"literal_string \"Error: a == b not satisfied [int[]]\""},"value":"Error: a == b not satisfied [int[]]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c8a6638f7c95c9ee18ffcfc37ffe04d6270c2db7493e9b7a14add834054a5f5","typeString":"literal_string \"Error: a == b not satisfied [int[]]\""}],"id":2095,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"2043:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2043:42:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2098,"nodeType":"EmitStatement","src":"2038:47:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2120:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2101,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"2134:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"id":2099,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1895,"src":"2104:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,int256[] memory)"}},"id":2102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2104:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2103,"nodeType":"EmitStatement","src":"2099:37:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2171:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2106,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"2185:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"id":2104,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1895,"src":"2155:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,int256[] memory)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2155:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2108,"nodeType":"EmitStatement","src":"2150:37:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2109,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"2201:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2201:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2111,"nodeType":"ExpressionStatement","src":"2201:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1892:8:2","parameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2076,"mutability":"mutable","name":"a","nameLocation":"1917:1:2","nodeType":"VariableDeclaration","scope":2115,"src":"1901:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":2074,"name":"int256","nodeType":"ElementaryTypeName","src":"1901:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2075,"nodeType":"ArrayTypeName","src":"1901:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":2079,"mutability":"mutable","name":"b","nameLocation":"1936:1:2","nodeType":"VariableDeclaration","scope":2115,"src":"1920:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":2077,"name":"int256","nodeType":"ElementaryTypeName","src":"1920:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2078,"nodeType":"ArrayTypeName","src":"1920:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1900:38:2"},"returnParameters":{"id":2081,"nodeType":"ParameterList","parameters":[],"src":"1956:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2157,"nodeType":"FunctionDefinition","src":"2230:347:2","nodes":[],"body":{"id":2156,"nodeType":"Block","src":"2305:272:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2127,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"2340:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":2125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2329:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2329:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2329:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2124,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2319:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2319:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2133,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"2368:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":2131,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2357:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2357:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2357:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2130,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2347:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2347:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2319:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2155,"nodeType":"IfStatement","src":"2315:256:2","trueBody":{"id":2154,"nodeType":"Block","src":"2373:198:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735b5d5d","id":2138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2396:41:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_18b6dc04296758144a4e9b271bd3d79214335bb195df00f93d1706586d5041f8","typeString":"literal_string \"Error: a == b not satisfied [address[]]\""},"value":"Error: a == b not satisfied [address[]]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18b6dc04296758144a4e9b271bd3d79214335bb195df00f93d1706586d5041f8","typeString":"literal_string \"Error: a == b not satisfied [address[]]\""}],"id":2137,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"2392:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2392:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2140,"nodeType":"EmitStatement","src":"2387:51:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2473:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2143,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"2487:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":2141,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1902,"src":"2457:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,address[] memory)"}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2457:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2145,"nodeType":"EmitStatement","src":"2452:37:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2524:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2148,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"2538:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":2146,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1902,"src":"2508:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,address[] memory)"}},"id":2149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2508:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2150,"nodeType":"EmitStatement","src":"2503:37:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2151,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"2554:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2554:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2153,"nodeType":"ExpressionStatement","src":"2554:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2239:8:2","parameters":{"id":2122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2118,"mutability":"mutable","name":"a","nameLocation":"2265:1:2","nodeType":"VariableDeclaration","scope":2157,"src":"2248:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2116,"name":"address","nodeType":"ElementaryTypeName","src":"2248:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2117,"nodeType":"ArrayTypeName","src":"2248:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2121,"mutability":"mutable","name":"b","nameLocation":"2285:1:2","nodeType":"VariableDeclaration","scope":2157,"src":"2268:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"2268:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2120,"nodeType":"ArrayTypeName","src":"2268:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2247:40:2"},"returnParameters":{"id":2123,"nodeType":"ParameterList","parameters":[],"src":"2305:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2194,"nodeType":"FunctionDefinition","src":"2583:256:2","nodes":[],"body":{"id":2193,"nodeType":"Block","src":"2677:162:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2171,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2160,"src":"2712:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":2169,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2701:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2701:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2701:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2168,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2691:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2691:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2177,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2163,"src":"2740:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":2175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2729:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2729:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2729:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2174,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2719:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2719:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2691:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2192,"nodeType":"IfStatement","src":"2687:146:2","trueBody":{"id":2191,"nodeType":"Block","src":"2745:88:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2781:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2183,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2165,"src":"2790:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2181,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"2764:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2764:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2185,"nodeType":"EmitStatement","src":"2759:35:2"},{"expression":{"arguments":[{"id":2187,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2160,"src":"2817:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":2188,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2163,"src":"2820:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":2186,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2073,"src":"2808:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory)"}},"id":2189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2808:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2190,"nodeType":"ExpressionStatement","src":"2808:14:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2592:8:2","parameters":{"id":2166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2160,"mutability":"mutable","name":"a","nameLocation":"2618:1:2","nodeType":"VariableDeclaration","scope":2194,"src":"2601:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2158,"name":"uint256","nodeType":"ElementaryTypeName","src":"2601:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2159,"nodeType":"ArrayTypeName","src":"2601:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2163,"mutability":"mutable","name":"b","nameLocation":"2638:1:2","nodeType":"VariableDeclaration","scope":2194,"src":"2621:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2161,"name":"uint256","nodeType":"ElementaryTypeName","src":"2621:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2162,"nodeType":"ArrayTypeName","src":"2621:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2165,"mutability":"mutable","name":"err","nameLocation":"2655:3:2","nodeType":"VariableDeclaration","scope":2194,"src":"2641:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2164,"name":"string","nodeType":"ElementaryTypeName","src":"2641:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2600:59:2"},"returnParameters":{"id":2167,"nodeType":"ParameterList","parameters":[],"src":"2677:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2231,"nodeType":"FunctionDefinition","src":"2845:254:2","nodes":[],"body":{"id":2230,"nodeType":"Block","src":"2937:162:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2208,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"2972:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":2206,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2961:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2961:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2961:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2205,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2951:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2951:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2214,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2200,"src":"3000:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":2212,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2989:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2989:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2989:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2211,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2979:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2979:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2951:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2229,"nodeType":"IfStatement","src":"2947:146:2","trueBody":{"id":2228,"nodeType":"Block","src":"3005:88:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3041:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2220,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2202,"src":"3050:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2218,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"3024:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3024:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2222,"nodeType":"EmitStatement","src":"3019:35:2"},{"expression":{"arguments":[{"id":2224,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"3077:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":2225,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2200,"src":"3080:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"id":2223,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2115,"src":"3068:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory)"}},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3068:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2227,"nodeType":"ExpressionStatement","src":"3068:14:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2854:8:2","parameters":{"id":2203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2197,"mutability":"mutable","name":"a","nameLocation":"2879:1:2","nodeType":"VariableDeclaration","scope":2231,"src":"2863:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":2195,"name":"int256","nodeType":"ElementaryTypeName","src":"2863:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2196,"nodeType":"ArrayTypeName","src":"2863:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":2200,"mutability":"mutable","name":"b","nameLocation":"2898:1:2","nodeType":"VariableDeclaration","scope":2231,"src":"2882:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":2198,"name":"int256","nodeType":"ElementaryTypeName","src":"2882:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2199,"nodeType":"ArrayTypeName","src":"2882:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":2202,"mutability":"mutable","name":"err","nameLocation":"2915:3:2","nodeType":"VariableDeclaration","scope":2231,"src":"2901:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2201,"name":"string","nodeType":"ElementaryTypeName","src":"2901:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2862:57:2"},"returnParameters":{"id":2204,"nodeType":"ParameterList","parameters":[],"src":"2937:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2268,"nodeType":"FunctionDefinition","src":"3105:256:2","nodes":[],"body":{"id":2267,"nodeType":"Block","src":"3199:162:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2245,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"3234:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":2243,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3223:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"3223:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3223:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2242,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3213:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3213:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2251,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2237,"src":"3262:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":2249,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3251:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"3251:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3251:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2248,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3241:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3241:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3213:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2266,"nodeType":"IfStatement","src":"3209:146:2","trueBody":{"id":2265,"nodeType":"Block","src":"3267:88:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3303:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2257,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2239,"src":"3312:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2255,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"3286:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3286:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2259,"nodeType":"EmitStatement","src":"3281:35:2"},{"expression":{"arguments":[{"id":2261,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"3339:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":2262,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2237,"src":"3342:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":2260,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2157,"src":"3330:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory)"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3330:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"ExpressionStatement","src":"3330:14:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3114:8:2","parameters":{"id":2240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2234,"mutability":"mutable","name":"a","nameLocation":"3140:1:2","nodeType":"VariableDeclaration","scope":2268,"src":"3123:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2232,"name":"address","nodeType":"ElementaryTypeName","src":"3123:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2233,"nodeType":"ArrayTypeName","src":"3123:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2237,"mutability":"mutable","name":"b","nameLocation":"3160:1:2","nodeType":"VariableDeclaration","scope":2268,"src":"3143:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2235,"name":"address","nodeType":"ElementaryTypeName","src":"3143:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2236,"nodeType":"ArrayTypeName","src":"3143:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2239,"mutability":"mutable","name":"err","nameLocation":"3177:3:2","nodeType":"VariableDeclaration","scope":2268,"src":"3163:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2238,"name":"string","nodeType":"ElementaryTypeName","src":"3163:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3122:59:2"},"returnParameters":{"id":2241,"nodeType":"ParameterList","parameters":[],"src":"3199:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2287,"nodeType":"FunctionDefinition","src":"3388:110:2","nodes":[],"body":{"id":2286,"nodeType":"Block","src":"3449:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2278,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2270,"src":"3476:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3468:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2276,"name":"uint256","nodeType":"ElementaryTypeName","src":"3468:7:2","typeDescriptions":{}}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3468:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":2282,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2272,"src":"3488:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3480:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2280,"name":"uint256","nodeType":"ElementaryTypeName","src":"3480:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3480:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2275,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"3459:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3459:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2285,"nodeType":"ExpressionStatement","src":"3459:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqUint","nameLocation":"3397:12:2","parameters":{"id":2273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2270,"mutability":"mutable","name":"a","nameLocation":"3418:1:2","nodeType":"VariableDeclaration","scope":2287,"src":"3410:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2269,"name":"uint256","nodeType":"ElementaryTypeName","src":"3410:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2272,"mutability":"mutable","name":"b","nameLocation":"3429:1:2","nodeType":"VariableDeclaration","scope":2287,"src":"3421:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2271,"name":"uint256","nodeType":"ElementaryTypeName","src":"3421:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3409:22:2"},"returnParameters":{"id":2274,"nodeType":"ParameterList","parameters":[],"src":"3449:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2337,"nodeType":"FunctionDefinition","src":"3504:470:2","nodes":[],"body":{"id":2336,"nodeType":"Block","src":"3588:386:2","nodes":[],"statements":[{"assignments":[2297],"declarations":[{"constant":false,"id":2297,"mutability":"mutable","name":"delta","nameLocation":"3606:5:2","nodeType":"VariableDeclaration","scope":2336,"src":"3598:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2296,"name":"uint256","nodeType":"ElementaryTypeName","src":"3598:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2303,"initialValue":{"arguments":[{"id":2300,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2289,"src":"3628:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2301,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2291,"src":"3631:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2298,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"3614:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7104,"src":"3614:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3614:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3598:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2304,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2297,"src":"3648:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2305,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2293,"src":"3656:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3648:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2335,"nodeType":"IfStatement","src":"3644:324:2","trueBody":{"id":2334,"nodeType":"Block","src":"3666:302:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d","id":2308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3689:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""},"value":"Error: a ~= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""}],"id":2307,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"3685:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3685:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2310,"nodeType":"EmitStatement","src":"3680:46:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3760:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2313,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2289,"src":"3774:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2311,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3745:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3745:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2315,"nodeType":"EmitStatement","src":"3740:36:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3810:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2318,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2291,"src":"3824:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2316,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3795:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3795:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2320,"nodeType":"EmitStatement","src":"3790:36:2"},{"eventCall":{"arguments":[{"hexValue":"204d61782044656c7461","id":2322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3860:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},"value":" Max Delta"},{"id":2323,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2293,"src":"3874:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2321,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3845:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3845:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2325,"nodeType":"EmitStatement","src":"3840:43:2"},{"eventCall":{"arguments":[{"hexValue":"202020202044656c7461","id":2327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3917:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},"value":" Delta"},{"id":2328,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2297,"src":"3931:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2326,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3902:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3902:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2330,"nodeType":"EmitStatement","src":"3897:40:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2331,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"3951:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3951:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2333,"nodeType":"ExpressionStatement","src":"3951:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"3513:17:2","parameters":{"id":2294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2289,"mutability":"mutable","name":"a","nameLocation":"3539:1:2","nodeType":"VariableDeclaration","scope":2337,"src":"3531:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2288,"name":"uint256","nodeType":"ElementaryTypeName","src":"3531:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2291,"mutability":"mutable","name":"b","nameLocation":"3550:1:2","nodeType":"VariableDeclaration","scope":2337,"src":"3542:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2290,"name":"uint256","nodeType":"ElementaryTypeName","src":"3542:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2293,"mutability":"mutable","name":"maxDelta","nameLocation":"3561:8:2","nodeType":"VariableDeclaration","scope":2337,"src":"3553:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2292,"name":"uint256","nodeType":"ElementaryTypeName","src":"3553:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3530:40:2"},"returnParameters":{"id":2295,"nodeType":"ParameterList","parameters":[],"src":"3588:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2373,"nodeType":"FunctionDefinition","src":"3980:294:2","nodes":[],"body":{"id":2372,"nodeType":"Block","src":"4083:191:2","nodes":[],"statements":[{"assignments":[2349],"declarations":[{"constant":false,"id":2349,"mutability":"mutable","name":"delta","nameLocation":"4101:5:2","nodeType":"VariableDeclaration","scope":2372,"src":"4093:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"4093:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2355,"initialValue":{"arguments":[{"id":2352,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2339,"src":"4123:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2353,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2341,"src":"4126:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2350,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"4109:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7104,"src":"4109:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4109:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4093:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2356,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2349,"src":"4143:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2357,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2343,"src":"4151:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4143:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2371,"nodeType":"IfStatement","src":"4139:129:2","trueBody":{"id":2370,"nodeType":"Block","src":"4161:107:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4197:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2361,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2345,"src":"4206:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2359,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"4180:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4180:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2363,"nodeType":"EmitStatement","src":"4175:35:2"},{"expression":{"arguments":[{"id":2365,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2339,"src":"4242:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2366,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2341,"src":"4245:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2367,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2343,"src":"4248:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2364,"name":"assertApproxEqAbs","nodeType":"Identifier","overloadedDeclarations":[2337,2373,2518,2554],"referencedDeclaration":2337,"src":"4224:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":2368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4224:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2369,"nodeType":"ExpressionStatement","src":"4224:33:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"3989:17:2","parameters":{"id":2346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"mutability":"mutable","name":"a","nameLocation":"4015:1:2","nodeType":"VariableDeclaration","scope":2373,"src":"4007:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"4007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2341,"mutability":"mutable","name":"b","nameLocation":"4026:1:2","nodeType":"VariableDeclaration","scope":2373,"src":"4018:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2340,"name":"uint256","nodeType":"ElementaryTypeName","src":"4018:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2343,"mutability":"mutable","name":"maxDelta","nameLocation":"4037:8:2","nodeType":"VariableDeclaration","scope":2373,"src":"4029:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2342,"name":"uint256","nodeType":"ElementaryTypeName","src":"4029:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2345,"mutability":"mutable","name":"err","nameLocation":"4061:3:2","nodeType":"VariableDeclaration","scope":2373,"src":"4047:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2344,"name":"string","nodeType":"ElementaryTypeName","src":"4047:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4006:59:2"},"returnParameters":{"id":2347,"nodeType":"ParameterList","parameters":[],"src":"4083:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2429,"nodeType":"FunctionDefinition","src":"4280:567:2","nodes":[],"body":{"id":2428,"nodeType":"Block","src":"4389:458:2","nodes":[],"statements":[{"assignments":[2385],"declarations":[{"constant":false,"id":2385,"mutability":"mutable","name":"delta","nameLocation":"4407:5:2","nodeType":"VariableDeclaration","scope":2428,"src":"4399:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2384,"name":"uint256","nodeType":"ElementaryTypeName","src":"4399:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2391,"initialValue":{"arguments":[{"id":2388,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"4429:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2389,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2377,"src":"4432:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2386,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"4415:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7104,"src":"4415:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4415:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4399:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2392,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"4449:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2393,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2379,"src":"4457:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4449:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2427,"nodeType":"IfStatement","src":"4445:396:2","trueBody":{"id":2426,"nodeType":"Block","src":"4467:374:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d","id":2396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4490:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""},"value":"Error: a ~= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""}],"id":2395,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"4486:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4486:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2398,"nodeType":"EmitStatement","src":"4481:46:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4569:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2401,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"4583:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2402,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"4586:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2399,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"4546:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4546:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2404,"nodeType":"EmitStatement","src":"4541:54:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4637:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2407,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2377,"src":"4651:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2408,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"4654:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2405,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"4614:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4614:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2410,"nodeType":"EmitStatement","src":"4609:54:2"},{"eventCall":{"arguments":[{"hexValue":"204d61782044656c7461","id":2412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4705:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},"value":" Max Delta"},{"id":2413,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2379,"src":"4719:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2414,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"4729:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2411,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"4682:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4682:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2416,"nodeType":"EmitStatement","src":"4677:61:2"},{"eventCall":{"arguments":[{"hexValue":"202020202044656c7461","id":2418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4780:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},"value":" Delta"},{"id":2419,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"4794:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2420,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"4801:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2417,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"4757:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4757:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2422,"nodeType":"EmitStatement","src":"4752:58:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2423,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"4824:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4824:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2425,"nodeType":"ExpressionStatement","src":"4824:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"4289:24:2","parameters":{"id":2382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2375,"mutability":"mutable","name":"a","nameLocation":"4322:1:2","nodeType":"VariableDeclaration","scope":2429,"src":"4314:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2374,"name":"uint256","nodeType":"ElementaryTypeName","src":"4314:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2377,"mutability":"mutable","name":"b","nameLocation":"4333:1:2","nodeType":"VariableDeclaration","scope":2429,"src":"4325:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2376,"name":"uint256","nodeType":"ElementaryTypeName","src":"4325:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2379,"mutability":"mutable","name":"maxDelta","nameLocation":"4344:8:2","nodeType":"VariableDeclaration","scope":2429,"src":"4336:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2378,"name":"uint256","nodeType":"ElementaryTypeName","src":"4336:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2381,"mutability":"mutable","name":"decimals","nameLocation":"4362:8:2","nodeType":"VariableDeclaration","scope":2429,"src":"4354:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2380,"name":"uint256","nodeType":"ElementaryTypeName","src":"4354:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4313:58:2"},"returnParameters":{"id":2383,"nodeType":"ParameterList","parameters":[],"src":"4389:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2468,"nodeType":"FunctionDefinition","src":"4853:356:2","nodes":[],"body":{"id":2467,"nodeType":"Block","src":"5001:208:2","nodes":[],"statements":[{"assignments":[2443],"declarations":[{"constant":false,"id":2443,"mutability":"mutable","name":"delta","nameLocation":"5019:5:2","nodeType":"VariableDeclaration","scope":2467,"src":"5011:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2442,"name":"uint256","nodeType":"ElementaryTypeName","src":"5011:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2449,"initialValue":{"arguments":[{"id":2446,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2431,"src":"5041:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2447,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2433,"src":"5044:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2444,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"5027:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7104,"src":"5027:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5027:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5011:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2450,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2443,"src":"5061:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2451,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2435,"src":"5069:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5061:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2466,"nodeType":"IfStatement","src":"5057:146:2","trueBody":{"id":2465,"nodeType":"Block","src":"5079:124:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5115:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2455,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2439,"src":"5124:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2453,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"5098:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5098:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2457,"nodeType":"EmitStatement","src":"5093:35:2"},{"expression":{"arguments":[{"id":2459,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2431,"src":"5167:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2460,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2433,"src":"5170:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2461,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2435,"src":"5173:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2462,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2437,"src":"5183:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2458,"name":"assertApproxEqAbsDecimal","nodeType":"Identifier","overloadedDeclarations":[2429,2468,2610,2649],"referencedDeclaration":2429,"src":"5142:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256)"}},"id":2463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5142:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2464,"nodeType":"ExpressionStatement","src":"5142:50:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"4862:24:2","parameters":{"id":2440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2431,"mutability":"mutable","name":"a","nameLocation":"4895:1:2","nodeType":"VariableDeclaration","scope":2468,"src":"4887:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2430,"name":"uint256","nodeType":"ElementaryTypeName","src":"4887:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2433,"mutability":"mutable","name":"b","nameLocation":"4906:1:2","nodeType":"VariableDeclaration","scope":2468,"src":"4898:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2432,"name":"uint256","nodeType":"ElementaryTypeName","src":"4898:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2435,"mutability":"mutable","name":"maxDelta","nameLocation":"4917:8:2","nodeType":"VariableDeclaration","scope":2468,"src":"4909:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2434,"name":"uint256","nodeType":"ElementaryTypeName","src":"4909:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2437,"mutability":"mutable","name":"decimals","nameLocation":"4935:8:2","nodeType":"VariableDeclaration","scope":2468,"src":"4927:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2436,"name":"uint256","nodeType":"ElementaryTypeName","src":"4927:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2439,"mutability":"mutable","name":"err","nameLocation":"4959:3:2","nodeType":"VariableDeclaration","scope":2468,"src":"4945:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2438,"name":"string","nodeType":"ElementaryTypeName","src":"4945:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4886:77:2"},"returnParameters":{"id":2441,"nodeType":"ParameterList","parameters":[],"src":"5001:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2518,"nodeType":"FunctionDefinition","src":"5215:467:2","nodes":[],"body":{"id":2517,"nodeType":"Block","src":"5297:385:2","nodes":[],"statements":[{"assignments":[2478],"declarations":[{"constant":false,"id":2478,"mutability":"mutable","name":"delta","nameLocation":"5315:5:2","nodeType":"VariableDeclaration","scope":2517,"src":"5307:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2477,"name":"uint256","nodeType":"ElementaryTypeName","src":"5307:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2484,"initialValue":{"arguments":[{"id":2481,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2470,"src":"5337:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2482,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2472,"src":"5340:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2479,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"5323:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7140,"src":"5323:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5323:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5307:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2485,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2478,"src":"5357:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2486,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2474,"src":"5365:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5357:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2516,"nodeType":"IfStatement","src":"5353:323:2","trueBody":{"id":2515,"nodeType":"Block","src":"5375:301:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d","id":2489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5398:35:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""},"value":"Error: a ~= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""}],"id":2488,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"5394:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5394:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2491,"nodeType":"EmitStatement","src":"5389:45:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020204c656674","id":2493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5467:13:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d86233afabb8b3973e071db5489b096a3194445fead9d01245809171b4e3927","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2494,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2470,"src":"5482:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d86233afabb8b3973e071db5489b096a3194445fead9d01245809171b4e3927","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2492,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"5453:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":2495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5453:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2496,"nodeType":"EmitStatement","src":"5448:36:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020205269676874","id":2498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5517:13:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_49df7c349e5ac2a2258473415d7a60c524ff5057a99dca9437d1a93b96f3739d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2499,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2472,"src":"5532:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_49df7c349e5ac2a2258473415d7a60c524ff5057a99dca9437d1a93b96f3739d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2497,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"5503:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":2500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5503:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2501,"nodeType":"EmitStatement","src":"5498:36:2"},{"eventCall":{"arguments":[{"hexValue":"204d61782044656c7461","id":2503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5568:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},"value":" Max Delta"},{"id":2504,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2474,"src":"5582:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2502,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"5553:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5553:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2506,"nodeType":"EmitStatement","src":"5548:43:2"},{"eventCall":{"arguments":[{"hexValue":"202020202044656c7461","id":2508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5625:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},"value":" Delta"},{"id":2509,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2478,"src":"5639:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2507,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"5610:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5610:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2511,"nodeType":"EmitStatement","src":"5605:40:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2512,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"5659:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5659:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2514,"nodeType":"ExpressionStatement","src":"5659:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"5224:17:2","parameters":{"id":2475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2470,"mutability":"mutable","name":"a","nameLocation":"5249:1:2","nodeType":"VariableDeclaration","scope":2518,"src":"5242:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2469,"name":"int256","nodeType":"ElementaryTypeName","src":"5242:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2472,"mutability":"mutable","name":"b","nameLocation":"5259:1:2","nodeType":"VariableDeclaration","scope":2518,"src":"5252:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2471,"name":"int256","nodeType":"ElementaryTypeName","src":"5252:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2474,"mutability":"mutable","name":"maxDelta","nameLocation":"5270:8:2","nodeType":"VariableDeclaration","scope":2518,"src":"5262:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2473,"name":"uint256","nodeType":"ElementaryTypeName","src":"5262:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5241:38:2"},"returnParameters":{"id":2476,"nodeType":"ParameterList","parameters":[],"src":"5297:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2554,"nodeType":"FunctionDefinition","src":"5688:292:2","nodes":[],"body":{"id":2553,"nodeType":"Block","src":"5789:191:2","nodes":[],"statements":[{"assignments":[2530],"declarations":[{"constant":false,"id":2530,"mutability":"mutable","name":"delta","nameLocation":"5807:5:2","nodeType":"VariableDeclaration","scope":2553,"src":"5799:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2529,"name":"uint256","nodeType":"ElementaryTypeName","src":"5799:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2536,"initialValue":{"arguments":[{"id":2533,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2520,"src":"5829:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2534,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2522,"src":"5832:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2531,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"5815:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7140,"src":"5815:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5815:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5799:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2537,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2530,"src":"5849:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2538,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2524,"src":"5857:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5849:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2552,"nodeType":"IfStatement","src":"5845:129:2","trueBody":{"id":2551,"nodeType":"Block","src":"5867:107:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5903:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2542,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2526,"src":"5912:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2540,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"5886:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5886:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2544,"nodeType":"EmitStatement","src":"5881:35:2"},{"expression":{"arguments":[{"id":2546,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2520,"src":"5948:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2547,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2522,"src":"5951:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2548,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2524,"src":"5954:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2545,"name":"assertApproxEqAbs","nodeType":"Identifier","overloadedDeclarations":[2337,2373,2518,2554],"referencedDeclaration":2518,"src":"5930:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":2549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5930:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2550,"nodeType":"ExpressionStatement","src":"5930:33:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"5697:17:2","parameters":{"id":2527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2520,"mutability":"mutable","name":"a","nameLocation":"5722:1:2","nodeType":"VariableDeclaration","scope":2554,"src":"5715:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2519,"name":"int256","nodeType":"ElementaryTypeName","src":"5715:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2522,"mutability":"mutable","name":"b","nameLocation":"5732:1:2","nodeType":"VariableDeclaration","scope":2554,"src":"5725:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2521,"name":"int256","nodeType":"ElementaryTypeName","src":"5725:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2524,"mutability":"mutable","name":"maxDelta","nameLocation":"5743:8:2","nodeType":"VariableDeclaration","scope":2554,"src":"5735:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2523,"name":"uint256","nodeType":"ElementaryTypeName","src":"5735:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2526,"mutability":"mutable","name":"err","nameLocation":"5767:3:2","nodeType":"VariableDeclaration","scope":2554,"src":"5753:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2525,"name":"string","nodeType":"ElementaryTypeName","src":"5753:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5714:57:2"},"returnParameters":{"id":2528,"nodeType":"ParameterList","parameters":[],"src":"5789:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2610,"nodeType":"FunctionDefinition","src":"5986:562:2","nodes":[],"body":{"id":2609,"nodeType":"Block","src":"6093:455:2","nodes":[],"statements":[{"assignments":[2566],"declarations":[{"constant":false,"id":2566,"mutability":"mutable","name":"delta","nameLocation":"6111:5:2","nodeType":"VariableDeclaration","scope":2609,"src":"6103:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2565,"name":"uint256","nodeType":"ElementaryTypeName","src":"6103:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2572,"initialValue":{"arguments":[{"id":2569,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2556,"src":"6133:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2570,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2558,"src":"6136:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2567,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"6119:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7140,"src":"6119:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6119:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6103:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2573,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2566,"src":"6153:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2574,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2560,"src":"6161:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6153:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2608,"nodeType":"IfStatement","src":"6149:393:2","trueBody":{"id":2607,"nodeType":"Block","src":"6171:371:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d","id":2577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6194:35:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""},"value":"Error: a ~= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""}],"id":2576,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"6190:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6190:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2579,"nodeType":"EmitStatement","src":"6185:45:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6271:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2582,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2556,"src":"6285:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2583,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2562,"src":"6288:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2580,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"6249:21:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":2584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6249:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2585,"nodeType":"EmitStatement","src":"6244:53:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6338:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2588,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2558,"src":"6352:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2589,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2562,"src":"6355:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2586,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"6316:21:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":2590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6316:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2591,"nodeType":"EmitStatement","src":"6311:53:2"},{"eventCall":{"arguments":[{"hexValue":"204d61782044656c7461","id":2593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6406:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},"value":" Max Delta"},{"id":2594,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2560,"src":"6420:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2595,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2562,"src":"6430:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2592,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"6383:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6383:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2597,"nodeType":"EmitStatement","src":"6378:61:2"},{"eventCall":{"arguments":[{"hexValue":"202020202044656c7461","id":2599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6481:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},"value":" Delta"},{"id":2600,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2566,"src":"6495:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2601,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2562,"src":"6502:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2598,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"6458:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6458:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2603,"nodeType":"EmitStatement","src":"6453:58:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2604,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"6525:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6525:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2606,"nodeType":"ExpressionStatement","src":"6525:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"5995:24:2","parameters":{"id":2563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"a","nameLocation":"6027:1:2","nodeType":"VariableDeclaration","scope":2610,"src":"6020:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2555,"name":"int256","nodeType":"ElementaryTypeName","src":"6020:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2558,"mutability":"mutable","name":"b","nameLocation":"6037:1:2","nodeType":"VariableDeclaration","scope":2610,"src":"6030:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2557,"name":"int256","nodeType":"ElementaryTypeName","src":"6030:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2560,"mutability":"mutable","name":"maxDelta","nameLocation":"6048:8:2","nodeType":"VariableDeclaration","scope":2610,"src":"6040:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2559,"name":"uint256","nodeType":"ElementaryTypeName","src":"6040:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2562,"mutability":"mutable","name":"decimals","nameLocation":"6066:8:2","nodeType":"VariableDeclaration","scope":2610,"src":"6058:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2561,"name":"uint256","nodeType":"ElementaryTypeName","src":"6058:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6019:56:2"},"returnParameters":{"id":2564,"nodeType":"ParameterList","parameters":[],"src":"6093:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2649,"nodeType":"FunctionDefinition","src":"6554:354:2","nodes":[],"body":{"id":2648,"nodeType":"Block","src":"6700:208:2","nodes":[],"statements":[{"assignments":[2624],"declarations":[{"constant":false,"id":2624,"mutability":"mutable","name":"delta","nameLocation":"6718:5:2","nodeType":"VariableDeclaration","scope":2648,"src":"6710:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2623,"name":"uint256","nodeType":"ElementaryTypeName","src":"6710:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2630,"initialValue":{"arguments":[{"id":2627,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2612,"src":"6740:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2628,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2614,"src":"6743:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2625,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"6726:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7140,"src":"6726:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6726:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6710:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2631,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2624,"src":"6760:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2632,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2616,"src":"6768:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6760:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2647,"nodeType":"IfStatement","src":"6756:146:2","trueBody":{"id":2646,"nodeType":"Block","src":"6778:124:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6814:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2636,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2620,"src":"6823:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2634,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"6797:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6797:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2638,"nodeType":"EmitStatement","src":"6792:35:2"},{"expression":{"arguments":[{"id":2640,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2612,"src":"6866:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2641,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2614,"src":"6869:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2642,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2616,"src":"6872:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2643,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2618,"src":"6882:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2639,"name":"assertApproxEqAbsDecimal","nodeType":"Identifier","overloadedDeclarations":[2429,2468,2610,2649],"referencedDeclaration":2610,"src":"6841:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256)"}},"id":2644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6841:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2645,"nodeType":"ExpressionStatement","src":"6841:50:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"6563:24:2","parameters":{"id":2621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2612,"mutability":"mutable","name":"a","nameLocation":"6595:1:2","nodeType":"VariableDeclaration","scope":2649,"src":"6588:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2611,"name":"int256","nodeType":"ElementaryTypeName","src":"6588:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2614,"mutability":"mutable","name":"b","nameLocation":"6605:1:2","nodeType":"VariableDeclaration","scope":2649,"src":"6598:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2613,"name":"int256","nodeType":"ElementaryTypeName","src":"6598:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2616,"mutability":"mutable","name":"maxDelta","nameLocation":"6616:8:2","nodeType":"VariableDeclaration","scope":2649,"src":"6608:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2615,"name":"uint256","nodeType":"ElementaryTypeName","src":"6608:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2618,"mutability":"mutable","name":"decimals","nameLocation":"6634:8:2","nodeType":"VariableDeclaration","scope":2649,"src":"6626:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2617,"name":"uint256","nodeType":"ElementaryTypeName","src":"6626:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2620,"mutability":"mutable","name":"err","nameLocation":"6658:3:2","nodeType":"VariableDeclaration","scope":2649,"src":"6644:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2619,"name":"string","nodeType":"ElementaryTypeName","src":"6644:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6587:75:2"},"returnParameters":{"id":2622,"nodeType":"ParameterList","parameters":[],"src":"6700:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2710,"nodeType":"FunctionDefinition","src":"6914:721:2","nodes":[],"body":{"id":2709,"nodeType":"Block","src":"7091:544:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2658,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2653,"src":"7105:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7110:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7105:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2666,"nodeType":"IfStatement","src":"7101:33:2","trueBody":{"expression":{"arguments":[{"id":2662,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2651,"src":"7129:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2663,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2653,"src":"7132:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2661,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"7120:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":2664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7120:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2657,"id":2665,"nodeType":"Return","src":"7113:21:2"}},{"assignments":[2668],"declarations":[{"constant":false,"id":2668,"mutability":"mutable","name":"percentDelta","nameLocation":"7193:12:2","nodeType":"VariableDeclaration","scope":2709,"src":"7185:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2667,"name":"uint256","nodeType":"ElementaryTypeName","src":"7185:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2674,"initialValue":{"arguments":[{"id":2671,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2651,"src":"7229:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2672,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2653,"src":"7232:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2669,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"7208:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7163,"src":"7208:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7208:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7185:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2675,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2668,"src":"7249:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2676,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2655,"src":"7264:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7249:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2708,"nodeType":"IfStatement","src":"7245:384:2","trueBody":{"id":2707,"nodeType":"Block","src":"7281:348:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d","id":2679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7304:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""},"value":"Error: a ~= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""}],"id":2678,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"7300:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7300:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2681,"nodeType":"EmitStatement","src":"7295:46:2"},{"eventCall":{"arguments":[{"hexValue":"20202020202020204c656674","id":2683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7375:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2684,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2651,"src":"7391:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2682,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"7360:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7360:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2686,"nodeType":"EmitStatement","src":"7355:38:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020205269676874","id":2688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7427:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2689,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2653,"src":"7443:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2687,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"7412:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7412:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2691,"nodeType":"EmitStatement","src":"7407:38:2"},{"eventCall":{"arguments":[{"hexValue":"204d617820252044656c7461","id":2693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7487:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},"value":" Max % Delta"},{"id":2694,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2655,"src":"7503:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7520:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2692,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"7464:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7464:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2697,"nodeType":"EmitStatement","src":"7459:64:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020252044656c7461","id":2699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7565:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},"value":" % Delta"},{"id":2700,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2668,"src":"7581:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7595:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2698,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"7542:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7542:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2703,"nodeType":"EmitStatement","src":"7537:61:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2704,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"7612:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7612:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2706,"nodeType":"ExpressionStatement","src":"7612:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"6923:17:2","parameters":{"id":2656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2651,"mutability":"mutable","name":"a","nameLocation":"6958:1:2","nodeType":"VariableDeclaration","scope":2710,"src":"6950:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2650,"name":"uint256","nodeType":"ElementaryTypeName","src":"6950:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2653,"mutability":"mutable","name":"b","nameLocation":"6977:1:2","nodeType":"VariableDeclaration","scope":2710,"src":"6969:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2652,"name":"uint256","nodeType":"ElementaryTypeName","src":"6969:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2655,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"6996:15:2","nodeType":"VariableDeclaration","scope":2710,"src":"6988:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2654,"name":"uint256","nodeType":"ElementaryTypeName","src":"6988:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6940:133:2"},"returnParameters":{"id":2657,"nodeType":"ParameterList","parameters":[],"src":"7091:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2756,"nodeType":"FunctionDefinition","src":"7641:519:2","nodes":[],"body":{"id":2755,"nodeType":"Block","src":"7845:315:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2721,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"7859:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7864:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7859:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2730,"nodeType":"IfStatement","src":"7855:38:2","trueBody":{"expression":{"arguments":[{"id":2725,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2712,"src":"7883:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2726,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"7886:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2727,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2718,"src":"7889:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2724,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":539,"src":"7874:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":2728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7874:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2720,"id":2729,"nodeType":"Return","src":"7867:26:2"}},{"assignments":[2732],"declarations":[{"constant":false,"id":2732,"mutability":"mutable","name":"percentDelta","nameLocation":"7952:12:2","nodeType":"VariableDeclaration","scope":2755,"src":"7944:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2731,"name":"uint256","nodeType":"ElementaryTypeName","src":"7944:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2738,"initialValue":{"arguments":[{"id":2735,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2712,"src":"7988:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2736,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"7991:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2733,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"7967:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7163,"src":"7967:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7967:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7944:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2739,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2732,"src":"8008:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2740,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2716,"src":"8023:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8008:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2754,"nodeType":"IfStatement","src":"8004:150:2","trueBody":{"id":2753,"nodeType":"Block","src":"8040:114:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8076:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2744,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2718,"src":"8085:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2742,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8059:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8059:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2746,"nodeType":"EmitStatement","src":"8054:35:2"},{"expression":{"arguments":[{"id":2748,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2712,"src":"8121:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2749,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"8124:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2750,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2716,"src":"8127:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2747,"name":"assertApproxEqRel","nodeType":"Identifier","overloadedDeclarations":[2710,2756,2931,2977],"referencedDeclaration":2710,"src":"8103:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":2751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8103:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2752,"nodeType":"ExpressionStatement","src":"8103:40:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"7650:17:2","parameters":{"id":2719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"a","nameLocation":"7685:1:2","nodeType":"VariableDeclaration","scope":2756,"src":"7677:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2711,"name":"uint256","nodeType":"ElementaryTypeName","src":"7677:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2714,"mutability":"mutable","name":"b","nameLocation":"7704:1:2","nodeType":"VariableDeclaration","scope":2756,"src":"7696:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2713,"name":"uint256","nodeType":"ElementaryTypeName","src":"7696:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2716,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"7723:15:2","nodeType":"VariableDeclaration","scope":2756,"src":"7715:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2715,"name":"uint256","nodeType":"ElementaryTypeName","src":"7715:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2718,"mutability":"mutable","name":"err","nameLocation":"7818:3:2","nodeType":"VariableDeclaration","scope":2756,"src":"7804:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2717,"name":"string","nodeType":"ElementaryTypeName","src":"7804:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7667:160:2"},"returnParameters":{"id":2720,"nodeType":"ParameterList","parameters":[],"src":"7845:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2821,"nodeType":"FunctionDefinition","src":"8166:790:2","nodes":[],"body":{"id":2820,"nodeType":"Block","src":"8376:580:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2767,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2760,"src":"8390:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8395:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8390:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2775,"nodeType":"IfStatement","src":"8386:33:2","trueBody":{"expression":{"arguments":[{"id":2771,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"8414:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2772,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2760,"src":"8417:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2770,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"8405:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":2773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8405:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2766,"id":2774,"nodeType":"Return","src":"8398:21:2"}},{"assignments":[2777],"declarations":[{"constant":false,"id":2777,"mutability":"mutable","name":"percentDelta","nameLocation":"8478:12:2","nodeType":"VariableDeclaration","scope":2820,"src":"8470:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2776,"name":"uint256","nodeType":"ElementaryTypeName","src":"8470:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2783,"initialValue":{"arguments":[{"id":2780,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"8514:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2781,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2760,"src":"8517:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2778,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"8493:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7163,"src":"8493:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8493:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8470:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2784,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2777,"src":"8534:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2785,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2762,"src":"8549:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8534:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2819,"nodeType":"IfStatement","src":"8530:420:2","trueBody":{"id":2818,"nodeType":"Block","src":"8566:384:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d","id":2788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8589:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""},"value":"Error: a ~= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""}],"id":2787,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"8585:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8585:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2790,"nodeType":"EmitStatement","src":"8580:46:2"},{"eventCall":{"arguments":[{"hexValue":"20202020202020204c656674","id":2792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8668:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2793,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"8684:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2794,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2764,"src":"8687:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2791,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8645:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8645:51:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2796,"nodeType":"EmitStatement","src":"8640:56:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020205269676874","id":2798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8738:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2799,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2760,"src":"8754:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2800,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2764,"src":"8757:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2797,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8715:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8715:51:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2802,"nodeType":"EmitStatement","src":"8710:56:2"},{"eventCall":{"arguments":[{"hexValue":"204d617820252044656c7461","id":2804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8808:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},"value":" Max % Delta"},{"id":2805,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2762,"src":"8824:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8841:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2803,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8785:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8785:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2808,"nodeType":"EmitStatement","src":"8780:64:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020252044656c7461","id":2810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8886:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},"value":" % Delta"},{"id":2811,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2777,"src":"8902:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8916:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2809,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8863:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8863:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2814,"nodeType":"EmitStatement","src":"8858:61:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2815,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"8933:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8933:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2817,"nodeType":"ExpressionStatement","src":"8933:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"8175:24:2","parameters":{"id":2765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2758,"mutability":"mutable","name":"a","nameLocation":"8217:1:2","nodeType":"VariableDeclaration","scope":2821,"src":"8209:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2757,"name":"uint256","nodeType":"ElementaryTypeName","src":"8209:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2760,"mutability":"mutable","name":"b","nameLocation":"8236:1:2","nodeType":"VariableDeclaration","scope":2821,"src":"8228:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2759,"name":"uint256","nodeType":"ElementaryTypeName","src":"8228:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2762,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"8255:15:2","nodeType":"VariableDeclaration","scope":2821,"src":"8247:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2761,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2764,"mutability":"mutable","name":"decimals","nameLocation":"8344:8:2","nodeType":"VariableDeclaration","scope":2821,"src":"8336:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2763,"name":"uint256","nodeType":"ElementaryTypeName","src":"8336:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8199:159:2"},"returnParameters":{"id":2766,"nodeType":"ParameterList","parameters":[],"src":"8376:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2870,"nodeType":"FunctionDefinition","src":"8962:569:2","nodes":[],"body":{"id":2869,"nodeType":"Block","src":"9199:332:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2834,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"9213:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9218:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9213:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2843,"nodeType":"IfStatement","src":"9209:38:2","trueBody":{"expression":{"arguments":[{"id":2838,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2823,"src":"9237:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2839,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"9240:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2840,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2831,"src":"9243:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2837,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":539,"src":"9228:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":2841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9228:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2833,"id":2842,"nodeType":"Return","src":"9221:26:2"}},{"assignments":[2845],"declarations":[{"constant":false,"id":2845,"mutability":"mutable","name":"percentDelta","nameLocation":"9306:12:2","nodeType":"VariableDeclaration","scope":2869,"src":"9298:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2844,"name":"uint256","nodeType":"ElementaryTypeName","src":"9298:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2851,"initialValue":{"arguments":[{"id":2848,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2823,"src":"9342:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2849,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"9345:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2846,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"9321:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7163,"src":"9321:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9321:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9298:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2852,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"9362:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2853,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2827,"src":"9377:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9362:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2868,"nodeType":"IfStatement","src":"9358:167:2","trueBody":{"id":2867,"nodeType":"Block","src":"9394:131:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9430:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2857,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2831,"src":"9439:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2855,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9413:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9413:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2859,"nodeType":"EmitStatement","src":"9408:35:2"},{"expression":{"arguments":[{"id":2861,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2823,"src":"9482:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2862,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"9485:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2863,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2827,"src":"9488:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2864,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2829,"src":"9505:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2860,"name":"assertApproxEqRelDecimal","nodeType":"Identifier","overloadedDeclarations":[2821,2870,3042,3091],"referencedDeclaration":2821,"src":"9457:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256)"}},"id":2865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9457:57:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2866,"nodeType":"ExpressionStatement","src":"9457:57:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"8971:24:2","parameters":{"id":2832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2823,"mutability":"mutable","name":"a","nameLocation":"9013:1:2","nodeType":"VariableDeclaration","scope":2870,"src":"9005:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2822,"name":"uint256","nodeType":"ElementaryTypeName","src":"9005:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2825,"mutability":"mutable","name":"b","nameLocation":"9032:1:2","nodeType":"VariableDeclaration","scope":2870,"src":"9024:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2824,"name":"uint256","nodeType":"ElementaryTypeName","src":"9024:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2827,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"9051:15:2","nodeType":"VariableDeclaration","scope":2870,"src":"9043:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2826,"name":"uint256","nodeType":"ElementaryTypeName","src":"9043:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2829,"mutability":"mutable","name":"decimals","nameLocation":"9140:8:2","nodeType":"VariableDeclaration","scope":2870,"src":"9132:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2828,"name":"uint256","nodeType":"ElementaryTypeName","src":"9132:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2831,"mutability":"mutable","name":"err","nameLocation":"9172:3:2","nodeType":"VariableDeclaration","scope":2870,"src":"9158:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2830,"name":"string","nodeType":"ElementaryTypeName","src":"9158:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8995:186:2"},"returnParameters":{"id":2833,"nodeType":"ParameterList","parameters":[],"src":"9199:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2931,"nodeType":"FunctionDefinition","src":"9537:630:2","nodes":[],"body":{"id":2930,"nodeType":"Block","src":"9626:541:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2879,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2874,"src":"9640:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9645:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9640:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2887,"nodeType":"IfStatement","src":"9636:33:2","trueBody":{"expression":{"arguments":[{"id":2883,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2872,"src":"9664:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2884,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2874,"src":"9667:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2882,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":459,"src":"9655:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":2885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9655:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2878,"id":2886,"nodeType":"Return","src":"9648:21:2"}},{"assignments":[2889],"declarations":[{"constant":false,"id":2889,"mutability":"mutable","name":"percentDelta","nameLocation":"9728:12:2","nodeType":"VariableDeclaration","scope":2930,"src":"9720:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2888,"name":"uint256","nodeType":"ElementaryTypeName","src":"9720:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2895,"initialValue":{"arguments":[{"id":2892,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2872,"src":"9764:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2893,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2874,"src":"9767:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2890,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"9743:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7192,"src":"9743:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9743:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9720:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2896,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2889,"src":"9784:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2897,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2876,"src":"9799:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9784:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2929,"nodeType":"IfStatement","src":"9780:381:2","trueBody":{"id":2928,"nodeType":"Block","src":"9816:345:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d","id":2900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9839:35:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""},"value":"Error: a ~= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""}],"id":2899,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"9835:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9835:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2902,"nodeType":"EmitStatement","src":"9830:45:2"},{"eventCall":{"arguments":[{"hexValue":"20202020202020204c656674","id":2904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9908:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2905,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2872,"src":"9924:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2903,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"9894:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":2906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9894:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2907,"nodeType":"EmitStatement","src":"9889:37:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020205269676874","id":2909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9959:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2910,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2874,"src":"9975:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2908,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"9945:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":2911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9945:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2912,"nodeType":"EmitStatement","src":"9940:37:2"},{"eventCall":{"arguments":[{"hexValue":"204d617820252044656c7461","id":2914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10019:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},"value":" Max % Delta"},{"id":2915,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2876,"src":"10035:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10052:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2913,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"9996:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9996:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2918,"nodeType":"EmitStatement","src":"9991:64:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020252044656c7461","id":2920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10097:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},"value":" % Delta"},{"id":2921,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2889,"src":"10113:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10127:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2919,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"10074:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10074:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2924,"nodeType":"EmitStatement","src":"10069:61:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2925,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"10144:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10144:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2927,"nodeType":"ExpressionStatement","src":"10144:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"9546:17:2","parameters":{"id":2877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2872,"mutability":"mutable","name":"a","nameLocation":"9571:1:2","nodeType":"VariableDeclaration","scope":2931,"src":"9564:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2871,"name":"int256","nodeType":"ElementaryTypeName","src":"9564:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2874,"mutability":"mutable","name":"b","nameLocation":"9581:1:2","nodeType":"VariableDeclaration","scope":2931,"src":"9574:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2873,"name":"int256","nodeType":"ElementaryTypeName","src":"9574:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2876,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"9592:15:2","nodeType":"VariableDeclaration","scope":2931,"src":"9584:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2875,"name":"uint256","nodeType":"ElementaryTypeName","src":"9584:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9563:45:2"},"returnParameters":{"id":2878,"nodeType":"ParameterList","parameters":[],"src":"9626:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2977,"nodeType":"FunctionDefinition","src":"10173:423:2","nodes":[],"body":{"id":2976,"nodeType":"Block","src":"10281:315:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2942,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2935,"src":"10295:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10300:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10295:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2951,"nodeType":"IfStatement","src":"10291:38:2","trueBody":{"expression":{"arguments":[{"id":2946,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2933,"src":"10319:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2947,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2935,"src":"10322:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2948,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2939,"src":"10325:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2945,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":484,"src":"10310:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":2949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10310:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2941,"id":2950,"nodeType":"Return","src":"10303:26:2"}},{"assignments":[2953],"declarations":[{"constant":false,"id":2953,"mutability":"mutable","name":"percentDelta","nameLocation":"10388:12:2","nodeType":"VariableDeclaration","scope":2976,"src":"10380:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2952,"name":"uint256","nodeType":"ElementaryTypeName","src":"10380:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2959,"initialValue":{"arguments":[{"id":2956,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2933,"src":"10424:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2957,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2935,"src":"10427:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2954,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"10403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7192,"src":"10403:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10403:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10380:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2960,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2953,"src":"10444:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2961,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2937,"src":"10459:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10444:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2975,"nodeType":"IfStatement","src":"10440:150:2","trueBody":{"id":2974,"nodeType":"Block","src":"10476:114:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10512:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2965,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2939,"src":"10521:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2963,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10495:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10495:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2967,"nodeType":"EmitStatement","src":"10490:35:2"},{"expression":{"arguments":[{"id":2969,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2933,"src":"10557:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2970,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2935,"src":"10560:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2971,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2937,"src":"10563:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2968,"name":"assertApproxEqRel","nodeType":"Identifier","overloadedDeclarations":[2710,2756,2931,2977],"referencedDeclaration":2931,"src":"10539:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":2972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10539:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2973,"nodeType":"ExpressionStatement","src":"10539:40:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"10182:17:2","parameters":{"id":2940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2933,"mutability":"mutable","name":"a","nameLocation":"10207:1:2","nodeType":"VariableDeclaration","scope":2977,"src":"10200:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2932,"name":"int256","nodeType":"ElementaryTypeName","src":"10200:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2935,"mutability":"mutable","name":"b","nameLocation":"10217:1:2","nodeType":"VariableDeclaration","scope":2977,"src":"10210:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2934,"name":"int256","nodeType":"ElementaryTypeName","src":"10210:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2937,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"10228:15:2","nodeType":"VariableDeclaration","scope":2977,"src":"10220:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2936,"name":"uint256","nodeType":"ElementaryTypeName","src":"10220:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2939,"mutability":"mutable","name":"err","nameLocation":"10259:3:2","nodeType":"VariableDeclaration","scope":2977,"src":"10245:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2938,"name":"string","nodeType":"ElementaryTypeName","src":"10245:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10199:64:2"},"returnParameters":{"id":2941,"nodeType":"ParameterList","parameters":[],"src":"10281:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3042,"nodeType":"FunctionDefinition","src":"10602:691:2","nodes":[],"body":{"id":3041,"nodeType":"Block","src":"10716:577:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2988,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"10730:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10735:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10730:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2996,"nodeType":"IfStatement","src":"10726:33:2","trueBody":{"expression":{"arguments":[{"id":2992,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2979,"src":"10754:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2993,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"10757:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2991,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":459,"src":"10745:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":2994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10745:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2987,"id":2995,"nodeType":"Return","src":"10738:21:2"}},{"assignments":[2998],"declarations":[{"constant":false,"id":2998,"mutability":"mutable","name":"percentDelta","nameLocation":"10818:12:2","nodeType":"VariableDeclaration","scope":3041,"src":"10810:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2997,"name":"uint256","nodeType":"ElementaryTypeName","src":"10810:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3004,"initialValue":{"arguments":[{"id":3001,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2979,"src":"10854:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3002,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"10857:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2999,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"10833:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":3000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7192,"src":"10833:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":3003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10833:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10810:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3005,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2998,"src":"10874:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3006,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2983,"src":"10889:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10874:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3040,"nodeType":"IfStatement","src":"10870:417:2","trueBody":{"id":3039,"nodeType":"Block","src":"10906:381:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d","id":3009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10929:35:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""},"value":"Error: a ~= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""}],"id":3008,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"10925:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10925:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3011,"nodeType":"EmitStatement","src":"10920:45:2"},{"eventCall":{"arguments":[{"hexValue":"20202020202020204c656674","id":3013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11006:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},"value":" Left"},{"id":3014,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2979,"src":"11022:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3015,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2985,"src":"11025:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3012,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"10984:21:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":3016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10984:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3017,"nodeType":"EmitStatement","src":"10979:55:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020205269676874","id":3019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11075:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":3020,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"11091:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3021,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2985,"src":"11094:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3018,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"11053:21:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":3022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11053:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3023,"nodeType":"EmitStatement","src":"11048:55:2"},{"eventCall":{"arguments":[{"hexValue":"204d617820252044656c7461","id":3025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11145:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},"value":" Max % Delta"},{"id":3026,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2983,"src":"11161:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":3027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11178:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":3024,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"11122:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":3028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11122:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3029,"nodeType":"EmitStatement","src":"11117:64:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020252044656c7461","id":3031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11223:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},"value":" % Delta"},{"id":3032,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2998,"src":"11239:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":3033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11253:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":3030,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"11200:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":3034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11200:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3035,"nodeType":"EmitStatement","src":"11195:61:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3036,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"11270:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11270:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3038,"nodeType":"ExpressionStatement","src":"11270:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"10611:24:2","parameters":{"id":2986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2979,"mutability":"mutable","name":"a","nameLocation":"10643:1:2","nodeType":"VariableDeclaration","scope":3042,"src":"10636:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2978,"name":"int256","nodeType":"ElementaryTypeName","src":"10636:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2981,"mutability":"mutable","name":"b","nameLocation":"10653:1:2","nodeType":"VariableDeclaration","scope":3042,"src":"10646:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2980,"name":"int256","nodeType":"ElementaryTypeName","src":"10646:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2983,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"10664:15:2","nodeType":"VariableDeclaration","scope":3042,"src":"10656:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2982,"name":"uint256","nodeType":"ElementaryTypeName","src":"10656:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2985,"mutability":"mutable","name":"decimals","nameLocation":"10689:8:2","nodeType":"VariableDeclaration","scope":3042,"src":"10681:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2984,"name":"uint256","nodeType":"ElementaryTypeName","src":"10681:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10635:63:2"},"returnParameters":{"id":2987,"nodeType":"ParameterList","parameters":[],"src":"10716:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3091,"nodeType":"FunctionDefinition","src":"11299:485:2","nodes":[],"body":{"id":3090,"nodeType":"Block","src":"11452:332:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3055,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"11466:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11471:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11466:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3064,"nodeType":"IfStatement","src":"11462:38:2","trueBody":{"expression":{"arguments":[{"id":3059,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"11490:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3060,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"11493:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3061,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3052,"src":"11496:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3058,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":484,"src":"11481:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":3062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11481:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":3054,"id":3063,"nodeType":"Return","src":"11474:26:2"}},{"assignments":[3066],"declarations":[{"constant":false,"id":3066,"mutability":"mutable","name":"percentDelta","nameLocation":"11559:12:2","nodeType":"VariableDeclaration","scope":3090,"src":"11551:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3065,"name":"uint256","nodeType":"ElementaryTypeName","src":"11551:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3072,"initialValue":{"arguments":[{"id":3069,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"11595:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3070,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"11598:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":3067,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"11574:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":3068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7192,"src":"11574:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":3071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11574:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11551:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3073,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"11615:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3074,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3048,"src":"11630:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11615:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3089,"nodeType":"IfStatement","src":"11611:167:2","trueBody":{"id":3088,"nodeType":"Block","src":"11647:131:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":3077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11683:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":3078,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3052,"src":"11692:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3076,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11666:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":3079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11666:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3080,"nodeType":"EmitStatement","src":"11661:35:2"},{"expression":{"arguments":[{"id":3082,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"11735:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3083,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"11738:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3084,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3048,"src":"11741:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3085,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3050,"src":"11758:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3081,"name":"assertApproxEqRelDecimal","nodeType":"Identifier","overloadedDeclarations":[2821,2870,3042,3091],"referencedDeclaration":3042,"src":"11710:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256)"}},"id":3086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11710:57:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3087,"nodeType":"ExpressionStatement","src":"11710:57:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"11308:24:2","parameters":{"id":3053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3044,"mutability":"mutable","name":"a","nameLocation":"11340:1:2","nodeType":"VariableDeclaration","scope":3091,"src":"11333:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3043,"name":"int256","nodeType":"ElementaryTypeName","src":"11333:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3046,"mutability":"mutable","name":"b","nameLocation":"11350:1:2","nodeType":"VariableDeclaration","scope":3091,"src":"11343:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3045,"name":"int256","nodeType":"ElementaryTypeName","src":"11343:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3048,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"11361:15:2","nodeType":"VariableDeclaration","scope":3091,"src":"11353:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3047,"name":"uint256","nodeType":"ElementaryTypeName","src":"11353:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3050,"mutability":"mutable","name":"decimals","nameLocation":"11386:8:2","nodeType":"VariableDeclaration","scope":3091,"src":"11378:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3049,"name":"uint256","nodeType":"ElementaryTypeName","src":"11378:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3052,"mutability":"mutable","name":"err","nameLocation":"11410:3:2","nodeType":"VariableDeclaration","scope":3091,"src":"11396:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3051,"name":"string","nodeType":"ElementaryTypeName","src":"11396:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11332:82:2"},"returnParameters":{"id":3054,"nodeType":"ParameterList","parameters":[],"src":"11452:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3109,"nodeType":"FunctionDefinition","src":"11790:176:2","nodes":[],"body":{"id":3108,"nodeType":"Block","src":"11893:73:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":3101,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3093,"src":"11916:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3102,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"11924:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3103,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3093,"src":"11935:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3104,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"11943:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11954:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3100,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3109,3129,3149,3259],"referencedDeclaration":3259,"src":"11903:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":3106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11903:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3107,"nodeType":"ExpressionStatement","src":"11903:56:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"11799:12:2","parameters":{"id":3098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3093,"mutability":"mutable","name":"target","nameLocation":"11820:6:2","nodeType":"VariableDeclaration","scope":3109,"src":"11812:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3092,"name":"address","nodeType":"ElementaryTypeName","src":"11812:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3095,"mutability":"mutable","name":"callDataA","nameLocation":"11841:9:2","nodeType":"VariableDeclaration","scope":3109,"src":"11828:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3094,"name":"bytes","nodeType":"ElementaryTypeName","src":"11828:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3097,"mutability":"mutable","name":"callDataB","nameLocation":"11865:9:2","nodeType":"VariableDeclaration","scope":3109,"src":"11852:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3096,"name":"bytes","nodeType":"ElementaryTypeName","src":"11852:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:64:2"},"returnParameters":{"id":3099,"nodeType":"ParameterList","parameters":[],"src":"11893:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3129,"nodeType":"FunctionDefinition","src":"11972:216:2","nodes":[],"body":{"id":3128,"nodeType":"Block","src":"12113:75:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":3121,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3111,"src":"12136:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3122,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3113,"src":"12145:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3123,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3115,"src":"12156:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3124,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3117,"src":"12165:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12176:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3120,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3109,3129,3149,3259],"referencedDeclaration":3259,"src":"12123:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":3126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12123:58:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3127,"nodeType":"ExpressionStatement","src":"12123:58:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"11981:12:2","parameters":{"id":3118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3111,"mutability":"mutable","name":"targetA","nameLocation":"12002:7:2","nodeType":"VariableDeclaration","scope":3129,"src":"11994:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3110,"name":"address","nodeType":"ElementaryTypeName","src":"11994:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3113,"mutability":"mutable","name":"callDataA","nameLocation":"12024:9:2","nodeType":"VariableDeclaration","scope":3129,"src":"12011:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3112,"name":"bytes","nodeType":"ElementaryTypeName","src":"12011:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3115,"mutability":"mutable","name":"targetB","nameLocation":"12043:7:2","nodeType":"VariableDeclaration","scope":3129,"src":"12035:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3114,"name":"address","nodeType":"ElementaryTypeName","src":"12035:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3117,"mutability":"mutable","name":"callDataB","nameLocation":"12065:9:2","nodeType":"VariableDeclaration","scope":3129,"src":"12052:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3116,"name":"bytes","nodeType":"ElementaryTypeName","src":"12052:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11993:82:2"},"returnParameters":{"id":3119,"nodeType":"ParameterList","parameters":[],"src":"12113:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3149,"nodeType":"FunctionDefinition","src":"12194:231:2","nodes":[],"body":{"id":3148,"nodeType":"Block","src":"12340:85:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":3141,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3131,"src":"12363:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3142,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3133,"src":"12371:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3143,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3131,"src":"12382:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3144,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3135,"src":"12390:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3145,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3137,"src":"12401:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3140,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3109,3129,3149,3259],"referencedDeclaration":3259,"src":"12350:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":3146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12350:68:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3147,"nodeType":"ExpressionStatement","src":"12350:68:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"12203:12:2","parameters":{"id":3138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3131,"mutability":"mutable","name":"target","nameLocation":"12224:6:2","nodeType":"VariableDeclaration","scope":3149,"src":"12216:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3130,"name":"address","nodeType":"ElementaryTypeName","src":"12216:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3133,"mutability":"mutable","name":"callDataA","nameLocation":"12245:9:2","nodeType":"VariableDeclaration","scope":3149,"src":"12232:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3132,"name":"bytes","nodeType":"ElementaryTypeName","src":"12232:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3135,"mutability":"mutable","name":"callDataB","nameLocation":"12269:9:2","nodeType":"VariableDeclaration","scope":3149,"src":"12256:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3134,"name":"bytes","nodeType":"ElementaryTypeName","src":"12256:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3137,"mutability":"mutable","name":"strictRevertData","nameLocation":"12285:16:2","nodeType":"VariableDeclaration","scope":3149,"src":"12280:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3136,"name":"bool","nodeType":"ElementaryTypeName","src":"12280:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12215:87:2"},"returnParameters":{"id":3139,"nodeType":"ParameterList","parameters":[],"src":"12340:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3259,"nodeType":"FunctionDefinition","src":"12431:1189:2","nodes":[],"body":{"id":3258,"nodeType":"Block","src":"12621:999:2","nodes":[],"statements":[{"assignments":[3163,3165],"declarations":[{"constant":false,"id":3163,"mutability":"mutable","name":"successA","nameLocation":"12637:8:2","nodeType":"VariableDeclaration","scope":3258,"src":"12632:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3162,"name":"bool","nodeType":"ElementaryTypeName","src":"12632:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3165,"mutability":"mutable","name":"returnDataA","nameLocation":"12660:11:2","nodeType":"VariableDeclaration","scope":3258,"src":"12647:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3164,"name":"bytes","nodeType":"ElementaryTypeName","src":"12647:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3173,"initialValue":{"arguments":[{"id":3171,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3153,"src":"12697:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3168,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3151,"src":"12683:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12675:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3166,"name":"address","nodeType":"ElementaryTypeName","src":"12675:7:2","typeDescriptions":{}}},"id":3169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12675:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"12675:21:2","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12675:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12631:76:2"},{"assignments":[3175,3177],"declarations":[{"constant":false,"id":3175,"mutability":"mutable","name":"successB","nameLocation":"12723:8:2","nodeType":"VariableDeclaration","scope":3258,"src":"12718:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3174,"name":"bool","nodeType":"ElementaryTypeName","src":"12718:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3177,"mutability":"mutable","name":"returnDataB","nameLocation":"12746:11:2","nodeType":"VariableDeclaration","scope":3258,"src":"12733:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3176,"name":"bytes","nodeType":"ElementaryTypeName","src":"12733:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3185,"initialValue":{"arguments":[{"id":3183,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3157,"src":"12783:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3180,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3155,"src":"12769:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12761:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3178,"name":"address","nodeType":"ElementaryTypeName","src":"12761:7:2","typeDescriptions":{}}},"id":3181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12761:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"12761:21:2","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12761:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12717:76:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3186,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3163,"src":"12808:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3187,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3175,"src":"12820:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12808:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3196,"nodeType":"IfStatement","src":"12804:120:2","trueBody":{"id":3195,"nodeType":"Block","src":"12830:94:2","statements":[{"expression":{"arguments":[{"id":3190,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"12853:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3191,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3177,"src":"12866:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c2072657475726e206461746120646f6573206e6f74206d61746368","id":3192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12879:33:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3c9e4317c8eebc5635871f467354820a216f046f0a61b2ded371c2d507a555f","typeString":"literal_string \"Call return data does not match\""},"value":"Call return data does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_f3c9e4317c8eebc5635871f467354820a216f046f0a61b2ded371c2d507a555f","typeString":"literal_string \"Call return data does not match\""}],"id":3189,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2031,"src":"12844:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory)"}},"id":3193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12844:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3194,"nodeType":"ExpressionStatement","src":"12844:69:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12938:9:2","subExpression":{"id":3197,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3163,"src":"12939:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12951:9:2","subExpression":{"id":3199,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3175,"src":"12952:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12938:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3202,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3159,"src":"12964:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12938:42:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3211,"nodeType":"IfStatement","src":"12934:142:2","trueBody":{"id":3210,"nodeType":"Block","src":"12982:94:2","statements":[{"expression":{"arguments":[{"id":3205,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"13005:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3206,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3177,"src":"13018:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c20726576657274206461746120646f6573206e6f74206d61746368","id":3207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13031:33:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_428332fc36b72ecad0a5d9bab5b9a568a85eeb20fd69ffcfbf4cf91598a0c858","typeString":"literal_string \"Call revert data does not match\""},"value":"Call revert data does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_428332fc36b72ecad0a5d9bab5b9a568a85eeb20fd69ffcfbf4cf91598a0c858","typeString":"literal_string \"Call revert data does not match\""}],"id":3204,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2031,"src":"12996:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory)"}},"id":3208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12996:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3209,"nodeType":"ExpressionStatement","src":"12996:69:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13090:9:2","subExpression":{"id":3212,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3163,"src":"13091:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3214,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3175,"src":"13103:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13090:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3234,"nodeType":"IfStatement","src":"13086:259:2","trueBody":{"id":3233,"nodeType":"Block","src":"13113:232:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13136:29:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""},"value":"Error: Calls were not equal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""}],"id":3216,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"13132:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13132:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3219,"nodeType":"EmitStatement","src":"13127:39:2"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c207265766572742064617461","id":3221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13201:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \" Left call revert data\""},"value":" Left call revert data"},{"id":3222,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"13228:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \" Left call revert data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3220,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"13185:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13185:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3224,"nodeType":"EmitStatement","src":"13180:60:2"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c2072657475726e2064617461","id":3226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13275:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},"value":" Right call return data"},{"id":3227,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3177,"src":"13302:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3225,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"13259:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13259:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3229,"nodeType":"EmitStatement","src":"13254:60:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3230,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"13328:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13328:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3232,"nodeType":"ExpressionStatement","src":"13328:6:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3235,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3163,"src":"13359:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13371:9:2","subExpression":{"id":3236,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3175,"src":"13372:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13359:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3257,"nodeType":"IfStatement","src":"13355:259:2","trueBody":{"id":3256,"nodeType":"Block","src":"13382:232:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13405:29:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""},"value":"Error: Calls were not equal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""}],"id":3239,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"13401:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13401:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3242,"nodeType":"EmitStatement","src":"13396:39:2"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c2072657475726e2064617461","id":3244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13470:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \" Left call return data\""},"value":" Left call return data"},{"id":3245,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"13497:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \" Left call return data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3243,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"13454:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13454:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3247,"nodeType":"EmitStatement","src":"13449:60:2"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c207265766572742064617461","id":3249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13544:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},"value":" Right call revert data"},{"id":3250,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3177,"src":"13571:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3248,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"13528:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13528:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3252,"nodeType":"EmitStatement","src":"13523:60:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3253,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"13597:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13597:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3255,"nodeType":"ExpressionStatement","src":"13597:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"12440:12:2","parameters":{"id":3160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3151,"mutability":"mutable","name":"targetA","nameLocation":"12470:7:2","nodeType":"VariableDeclaration","scope":3259,"src":"12462:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3150,"name":"address","nodeType":"ElementaryTypeName","src":"12462:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3153,"mutability":"mutable","name":"callDataA","nameLocation":"12500:9:2","nodeType":"VariableDeclaration","scope":3259,"src":"12487:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3152,"name":"bytes","nodeType":"ElementaryTypeName","src":"12487:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3155,"mutability":"mutable","name":"targetB","nameLocation":"12527:7:2","nodeType":"VariableDeclaration","scope":3259,"src":"12519:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3154,"name":"address","nodeType":"ElementaryTypeName","src":"12519:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3157,"mutability":"mutable","name":"callDataB","nameLocation":"12557:9:2","nodeType":"VariableDeclaration","scope":3259,"src":"12544:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3156,"name":"bytes","nodeType":"ElementaryTypeName","src":"12544:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3159,"mutability":"mutable","name":"strictRevertData","nameLocation":"12581:16:2","nodeType":"VariableDeclaration","scope":3259,"src":"12576:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3158,"name":"bool","nodeType":"ElementaryTypeName","src":"12576:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12452:151:2"},"returnParameters":{"id":3161,"nodeType":"ParameterList","parameters":[],"src":"12621:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":1865,"name":"DSTest","nodeType":"IdentifierPath","referencedDeclaration":1786,"src":"181:6:2"},"id":1866,"nodeType":"InheritanceSpecifier","src":"181:6:2"}],"canonicalName":"StdAssertions","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[3260,1786],"name":"StdAssertions","nameLocation":"164:13:2","scope":3261,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdChains.sol":{"id":3,"ast":{"absolutePath":"lib/forge-std/src/StdChains.sol","id":3955,"exportedSymbols":{"StdChains":[3954],"VmSafe":[11690]},"nodeType":"SourceUnit","src":"32:10619:3","nodes":[{"id":3262,"nodeType":"PragmaDirective","src":"32:31:3","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3263,"nodeType":"PragmaDirective","src":"65:33:3","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":3265,"nodeType":"ImportDirective","src":"100:32:3","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":3955,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":3264,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"108:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3954,"nodeType":"ContractDefinition","src":"2070:8580:3","nodes":[{"id":3283,"nodeType":"VariableDeclaration","src":"2104:92:3","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"2128:2:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"},"typeName":{"id":3268,"nodeType":"UserDefinedTypeName","pathNode":{"id":3267,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"2104:6:3"},"referencedDeclaration":11690,"src":"2104:6:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":3277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2174:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":3276,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2164:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2164:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2156:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3274,"name":"uint256","nodeType":"ElementaryTypeName","src":"2156:7:3","typeDescriptions":{}}},"id":3279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2156:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2148:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":3272,"name":"uint160","nodeType":"ElementaryTypeName","src":"2148:7:3","typeDescriptions":{}}},"id":3280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2148:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2140:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3270,"name":"address","nodeType":"ElementaryTypeName","src":"2140:7:3","typeDescriptions":{}}},"id":3281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2140:55:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3269,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"2133:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"id":3282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2133:63:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"visibility":"private"},{"id":3285,"nodeType":"VariableDeclaration","src":"2203:24:3","nodes":[],"constant":false,"mutability":"mutable","name":"initialized","nameLocation":"2216:11:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3284,"name":"bool","nodeType":"ElementaryTypeName","src":"2203:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":3292,"nodeType":"StructDefinition","src":"2234:93:3","nodes":[],"canonicalName":"StdChains.ChainData","members":[{"constant":false,"id":3287,"mutability":"mutable","name":"name","nameLocation":"2268:4:3","nodeType":"VariableDeclaration","scope":3292,"src":"2261:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3286,"name":"string","nodeType":"ElementaryTypeName","src":"2261:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3289,"mutability":"mutable","name":"chainId","nameLocation":"2290:7:3","nodeType":"VariableDeclaration","scope":3292,"src":"2282:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3288,"name":"uint256","nodeType":"ElementaryTypeName","src":"2282:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3291,"mutability":"mutable","name":"rpcUrl","nameLocation":"2314:6:3","nodeType":"VariableDeclaration","scope":3292,"src":"2307:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3290,"name":"string","nodeType":"ElementaryTypeName","src":"2307:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ChainData","nameLocation":"2241:9:3","scope":3954,"visibility":"public"},{"id":3301,"nodeType":"StructDefinition","src":"2333:598:3","nodes":[],"canonicalName":"StdChains.Chain","members":[{"constant":false,"id":3294,"mutability":"mutable","name":"name","nameLocation":"2390:4:3","nodeType":"VariableDeclaration","scope":3301,"src":"2383:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3293,"name":"string","nodeType":"ElementaryTypeName","src":"2383:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3296,"mutability":"mutable","name":"chainId","nameLocation":"2445:7:3","nodeType":"VariableDeclaration","scope":3301,"src":"2437:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3295,"name":"uint256","nodeType":"ElementaryTypeName","src":"2437:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3298,"mutability":"mutable","name":"chainAlias","nameLocation":"2545:10:3","nodeType":"VariableDeclaration","scope":3301,"src":"2538:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3297,"name":"string","nodeType":"ElementaryTypeName","src":"2538:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3300,"mutability":"mutable","name":"rpcUrl","nameLocation":"2918:6:3","nodeType":"VariableDeclaration","scope":3301,"src":"2911:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3299,"name":"string","nodeType":"ElementaryTypeName","src":"2911:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"2340:5:3","scope":3954,"visibility":"public"},{"id":3306,"nodeType":"VariableDeclaration","src":"3035:39:3","nodes":[],"constant":false,"mutability":"mutable","name":"chains","nameLocation":"3068:6:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"typeName":{"id":3305,"keyType":{"id":3302,"name":"string","nodeType":"ElementaryTypeName","src":"3043:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"3035:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"valueType":{"id":3304,"nodeType":"UserDefinedTypeName","pathNode":{"id":3303,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"3053:5:3"},"referencedDeclaration":3301,"src":"3053:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}}},"visibility":"private"},{"id":3310,"nodeType":"VariableDeclaration","src":"3140:48:3","nodes":[],"constant":false,"mutability":"mutable","name":"defaultRpcUrls","nameLocation":"3174:14:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"typeName":{"id":3309,"keyType":{"id":3307,"name":"string","nodeType":"ElementaryTypeName","src":"3148:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"3140:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"valueType":{"id":3308,"name":"string","nodeType":"ElementaryTypeName","src":"3158:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":3314,"nodeType":"VariableDeclaration","src":"3237:44:3","nodes":[],"constant":false,"mutability":"mutable","name":"idToAlias","nameLocation":"3272:9:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":3313,"keyType":{"id":3311,"name":"uint256","nodeType":"ElementaryTypeName","src":"3245:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3237:26:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueType":{"id":3312,"name":"string","nodeType":"ElementaryTypeName","src":"3256:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":3317,"nodeType":"VariableDeclaration","src":"3288:44:3","nodes":[],"constant":false,"mutability":"mutable","name":"fallbackToDefaultRpcUrls","nameLocation":"3301:24:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3315,"name":"bool","nodeType":"ElementaryTypeName","src":"3288:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":3316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3328:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"private"},{"id":3369,"nodeType":"FunctionDefinition","src":"3417:515:3","nodes":[],"body":{"id":3368,"nodeType":"Block","src":"3507:425:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3328,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"3531:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3525:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3326,"name":"bytes","nodeType":"ElementaryTypeName","src":"3525:5:3","typeDescriptions":{}}},"id":3329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3525:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3525:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3553:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3525:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":3333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3556:69:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""},"value":"StdChains getChain(string): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""}],"id":3325,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3517:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3517:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3335,"nodeType":"ExpressionStatement","src":"3517:109:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3336,"name":"initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"3637:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3637:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3338,"nodeType":"ExpressionStatement","src":"3637:12:3"},{"expression":{"id":3343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3339,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3323,"src":"3659:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3340,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3306,"src":"3667:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3342,"indexExpression":{"id":3341,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"3674:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3667:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"3659:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3344,"nodeType":"ExpressionStatement","src":"3659:26:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3346,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3323,"src":"3716:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3296,"src":"3716:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3733:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3716:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022","id":3354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3772:49:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},"value":"StdChains getChain(string): Chain with alias \""},{"id":3355,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"3823:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22206e6f7420666f756e642e","id":3356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3835:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""},"value":"\" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""}],"expression":{"id":3352,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3755:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3755:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3755:96:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3748:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3350,"name":"string","nodeType":"ElementaryTypeName","src":"3748:6:3","typeDescriptions":{}}},"id":3358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3748:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3345,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3695:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3695:167:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3360,"nodeType":"ExpressionStatement","src":"3695:167:3"},{"expression":{"id":3366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3361,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3323,"src":"3873:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3363,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"3907:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3364,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3323,"src":"3919:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":3362,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"3881:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Chain_$3301_memory_ptr_$returns$_t_struct$_Chain_$3301_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) returns (struct StdChains.Chain memory)"}},"id":3365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3881:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"3873:52:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3367,"nodeType":"ExpressionStatement","src":"3873:52:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3426:8:3","parameters":{"id":3320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3319,"mutability":"mutable","name":"chainAlias","nameLocation":"3449:10:3","nodeType":"VariableDeclaration","scope":3369,"src":"3435:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3318,"name":"string","nodeType":"ElementaryTypeName","src":"3435:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3434:26:3"},"returnParameters":{"id":3324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3323,"mutability":"mutable","name":"chain","nameLocation":"3500:5:3","nodeType":"VariableDeclaration","scope":3369,"src":"3487:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3322,"nodeType":"UserDefinedTypeName","pathNode":{"id":3321,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"3487:5:3"},"referencedDeclaration":3301,"src":"3487:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3486:20:3"},"scope":3954,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3426,"nodeType":"FunctionDefinition","src":"3938:532:3","nodes":[],"body":{"id":3425,"nodeType":"Block","src":"4019:451:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3378,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3371,"src":"4037:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4048:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4037:12:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e","id":3381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4051:52:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""},"value":"StdChains getChain(uint256): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""}],"id":3377,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4029:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4029:75:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3383,"nodeType":"ExpressionStatement","src":"4029:75:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3384,"name":"initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"4114:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4114:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3386,"nodeType":"ExpressionStatement","src":"4114:12:3"},{"assignments":[3388],"declarations":[{"constant":false,"id":3388,"mutability":"mutable","name":"chainAlias","nameLocation":"4150:10:3","nodeType":"VariableDeclaration","scope":3425,"src":"4136:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3387,"name":"string","nodeType":"ElementaryTypeName","src":"4136:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3392,"initialValue":{"baseExpression":{"id":3389,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3314,"src":"4163:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3391,"indexExpression":{"id":3390,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3371,"src":"4173:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4163:18:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4136:45:3"},{"expression":{"id":3397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3393,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"4192:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3394,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3306,"src":"4200:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3396,"indexExpression":{"id":3395,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3388,"src":"4207:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4200:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"4192:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3398,"nodeType":"ExpressionStatement","src":"4192:26:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3400,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"4250:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3296,"src":"4250:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4267:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4250:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420","id":3408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4306:45:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},"value":"StdChains getChain(uint256): Chain with ID "},{"arguments":[{"id":3411,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3371,"src":"4365:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3409,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"4353:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"4353:11:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":3412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4353:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206e6f7420666f756e642e","id":3413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4375:13:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""},"value":" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""}],"expression":{"id":3406,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4289:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4289:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4289:100:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4282:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3404,"name":"string","nodeType":"ElementaryTypeName","src":"4282:6:3","typeDescriptions":{}}},"id":3415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4282:108:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3399,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4229:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4229:171:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3417,"nodeType":"ExpressionStatement","src":"4229:171:3"},{"expression":{"id":3423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3418,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"4411:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3420,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3388,"src":"4445:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3421,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"4457:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":3419,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"4419:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Chain_$3301_memory_ptr_$returns$_t_struct$_Chain_$3301_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) returns (struct StdChains.Chain memory)"}},"id":3422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4419:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"4411:52:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3424,"nodeType":"ExpressionStatement","src":"4411:52:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3947:8:3","parameters":{"id":3372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3371,"mutability":"mutable","name":"chainId","nameLocation":"3964:7:3","nodeType":"VariableDeclaration","scope":3426,"src":"3956:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3370,"name":"uint256","nodeType":"ElementaryTypeName","src":"3956:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3955:17:3"},"returnParameters":{"id":3376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3375,"mutability":"mutable","name":"chain","nameLocation":"4012:5:3","nodeType":"VariableDeclaration","scope":3426,"src":"3999:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3374,"nodeType":"UserDefinedTypeName","pathNode":{"id":3373,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"3999:5:3"},"referencedDeclaration":3301,"src":"3999:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3998:20:3"},"scope":3954,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3536,"nodeType":"FunctionDefinition","src":"4541:1164:3","nodes":[],"body":{"id":3535,"nodeType":"Block","src":"4626:1079:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3437,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"4663:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4657:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3435,"name":"bytes","nodeType":"ElementaryTypeName","src":"4657:5:3","typeDescriptions":{}}},"id":3438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4657:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4657:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4685:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4657:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":3442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4700:79:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""},"value":"StdChains setChain(string,ChainData): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""}],"id":3434,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4636:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4636:153:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3444,"nodeType":"ExpressionStatement","src":"4636:153:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3446,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"4808:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3447,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"4808:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4825:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4808:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e2049442063616e6e6f7420626520302e","id":3450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4828:61:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""},"value":"StdChains setChain(string,ChainData): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""}],"id":3445,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4800:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4800:90:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3452,"nodeType":"ExpressionStatement","src":"4800:90:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3453,"name":"initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"4901:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4901:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3455,"nodeType":"ExpressionStatement","src":"4901:12:3"},{"assignments":[3457],"declarations":[{"constant":false,"id":3457,"mutability":"mutable","name":"foundAlias","nameLocation":"4937:10:3","nodeType":"VariableDeclaration","scope":3535,"src":"4923:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3456,"name":"string","nodeType":"ElementaryTypeName","src":"4923:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3462,"initialValue":{"baseExpression":{"id":3458,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3314,"src":"4950:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3461,"indexExpression":{"expression":{"id":3459,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"4960:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"4960:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4950:24:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4923:51:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3466,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3457,"src":"5012:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5006:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3464,"name":"bytes","nodeType":"ElementaryTypeName","src":"5006:5:3","typeDescriptions":{}}},"id":3467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5006:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5006:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5034:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5006:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":3474,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3457,"src":"5055:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5049:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3472,"name":"bytes","nodeType":"ElementaryTypeName","src":"5049:5:3","typeDescriptions":{}}},"id":3475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5049:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3471,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5039:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5039:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":3480,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5087:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5081:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3478,"name":"bytes","nodeType":"ElementaryTypeName","src":"5081:5:3","typeDescriptions":{}}},"id":3481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5081:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3477,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5071:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5071:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5039:60:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5006:93:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20494420","id":3489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5175:49:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},"value":"StdChains setChain(string,ChainData): Chain ID "},{"arguments":[{"expression":{"id":3492,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5258:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"5258:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3490,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"5246:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"5246:11:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":3494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5246:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20616c726561647920757365642062792022","id":3495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:21:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},"value":" already used by \""},{"id":3496,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3457,"src":"5337:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"222e","id":3497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5369:5:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""},"value":"\"."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""}],"expression":{"id":3487,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5137:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5137:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5137:255:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5113:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3485,"name":"string","nodeType":"ElementaryTypeName","src":"5113:6:3","typeDescriptions":{}}},"id":3499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5113:293:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3463,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4985:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4985:431:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3501,"nodeType":"ExpressionStatement","src":"4985:431:3"},{"assignments":[3503],"declarations":[{"constant":false,"id":3503,"mutability":"mutable","name":"oldChainId","nameLocation":"5435:10:3","nodeType":"VariableDeclaration","scope":3535,"src":"5427:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3502,"name":"uint256","nodeType":"ElementaryTypeName","src":"5427:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3508,"initialValue":{"expression":{"baseExpression":{"id":3504,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3306,"src":"5448:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3506,"indexExpression":{"id":3505,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5455:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5448:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"id":3507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3296,"src":"5448:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5427:47:3"},{"expression":{"id":3512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5484:28:3","subExpression":{"baseExpression":{"id":3509,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3314,"src":"5491:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3511,"indexExpression":{"id":3510,"name":"oldChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3503,"src":"5501:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5491:21:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3513,"nodeType":"ExpressionStatement","src":"5484:28:3"},{"expression":{"id":3526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3514,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3306,"src":"5523:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3516,"indexExpression":{"id":3515,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5530:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5523:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":3518,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5569:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3519,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":3287,"src":"5569:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3520,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5590:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3521,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"5590:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3522,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5617:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3523,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5637:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3291,"src":"5637:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3517,"name":"Chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3301,"src":"5556:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Chain_$3301_storage_ptr_$","typeString":"type(struct StdChains.Chain storage pointer)"}},"id":3525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["name","chainId","chainAlias","rpcUrl"],"nodeType":"FunctionCall","src":"5556:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"5523:128:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"id":3527,"nodeType":"ExpressionStatement","src":"5523:128:3"},{"expression":{"id":3533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3528,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3314,"src":"5661:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3531,"indexExpression":{"expression":{"id":3529,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5671:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"5671:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5661:24:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3532,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5688:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5661:37:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3534,"nodeType":"ExpressionStatement","src":"5661:37:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"4550:8:3","parameters":{"id":3432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3428,"mutability":"mutable","name":"chainAlias","nameLocation":"4573:10:3","nodeType":"VariableDeclaration","scope":3536,"src":"4559:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3427,"name":"string","nodeType":"ElementaryTypeName","src":"4559:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3431,"mutability":"mutable","name":"chain","nameLocation":"4602:5:3","nodeType":"VariableDeclaration","scope":3536,"src":"4585:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":3430,"nodeType":"UserDefinedTypeName","pathNode":{"id":3429,"name":"ChainData","nodeType":"IdentifierPath","referencedDeclaration":3292,"src":"4585:9:3"},"referencedDeclaration":3292,"src":"4585:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"4558:50:3"},"returnParameters":{"id":3433,"nodeType":"ParameterList","parameters":[],"src":"4626:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3557,"nodeType":"FunctionDefinition","src":"5776:195:3","nodes":[],"body":{"id":3556,"nodeType":"Block","src":"5857:114:3","nodes":[],"statements":[{"expression":{"arguments":[{"id":3545,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3538,"src":"5876:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"expression":{"id":3547,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"5905:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3548,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":3294,"src":"5905:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3549,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"5926:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3296,"src":"5926:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":3551,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"5949:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"5949:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3546,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"5888:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["name","chainId","rpcUrl"],"nodeType":"FunctionCall","src":"5888:75:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3544,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[3536,3557],"referencedDeclaration":3536,"src":"5867:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5867:97:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3555,"nodeType":"ExpressionStatement","src":"5867:97:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"5785:8:3","parameters":{"id":3542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3538,"mutability":"mutable","name":"chainAlias","nameLocation":"5808:10:3","nodeType":"VariableDeclaration","scope":3557,"src":"5794:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3537,"name":"string","nodeType":"ElementaryTypeName","src":"5794:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3541,"mutability":"mutable","name":"chain","nameLocation":"5833:5:3","nodeType":"VariableDeclaration","scope":3557,"src":"5820:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3540,"nodeType":"UserDefinedTypeName","pathNode":{"id":3539,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"5820:5:3"},"referencedDeclaration":3301,"src":"5820:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"5793:46:3"},"returnParameters":{"id":3543,"nodeType":"ParameterList","parameters":[],"src":"5857:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3634,"nodeType":"FunctionDefinition","src":"5977:451:3","nodes":[],"body":{"id":3633,"nodeType":"Block","src":"6051:377:3","nodes":[],"statements":[{"assignments":[3565],"declarations":[{"constant":false,"id":3565,"mutability":"mutable","name":"strb","nameLocation":"6074:4:3","nodeType":"VariableDeclaration","scope":3633,"src":"6061:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3564,"name":"bytes","nodeType":"ElementaryTypeName","src":"6061:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3570,"initialValue":{"arguments":[{"id":3568,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3559,"src":"6087:3:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6081:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3566,"name":"bytes","nodeType":"ElementaryTypeName","src":"6081:5:3","typeDescriptions":{}}},"id":3569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6081:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6061:30:3"},{"assignments":[3572],"declarations":[{"constant":false,"id":3572,"mutability":"mutable","name":"copy","nameLocation":"6114:4:3","nodeType":"VariableDeclaration","scope":3633,"src":"6101:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3571,"name":"bytes","nodeType":"ElementaryTypeName","src":"6101:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3578,"initialValue":{"arguments":[{"expression":{"id":3575,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3565,"src":"6131:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6131:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6121:9:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":3573,"name":"bytes","nodeType":"ElementaryTypeName","src":"6125:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":3577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6121:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6101:42:3"},{"body":{"id":3626,"nodeType":"Block","src":"6195:198:3","statements":[{"assignments":[3591],"declarations":[{"constant":false,"id":3591,"mutability":"mutable","name":"b","nameLocation":"6216:1:3","nodeType":"VariableDeclaration","scope":3626,"src":"6209:8:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":3590,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6209:6:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":3595,"initialValue":{"baseExpression":{"id":3592,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3565,"src":"6220:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3594,"indexExpression":{"id":3593,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6225:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6220:7:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"6209:18:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3596,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"6245:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783631","id":3597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6250:4:3","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"0x61"},"src":"6245:9:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3599,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"6258:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783741","id":3600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6263:4:3","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"0x7A"},"src":"6258:9:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6245:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3624,"nodeType":"Block","src":"6339:44:3","statements":[{"expression":{"id":3622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3618,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3572,"src":"6357:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3620,"indexExpression":{"id":3619,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6362:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6357:7:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3621,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"6367:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6357:11:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3623,"nodeType":"ExpressionStatement","src":"6357:11:3"}]},"id":3625,"nodeType":"IfStatement","src":"6241:142:3","trueBody":{"id":3617,"nodeType":"Block","src":"6269:64:3","statements":[{"expression":{"id":3615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3603,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3572,"src":"6287:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3605,"indexExpression":{"id":3604,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6292:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6287:7:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":3613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3610,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"6310:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":3609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6304:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":3608,"name":"uint8","nodeType":"ElementaryTypeName","src":"6304:5:3","typeDescriptions":{}}},"id":3611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6304:8:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3332","id":3612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6315:2:3","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6304:13:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6297:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":3606,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6297:6:3","typeDescriptions":{}}},"id":3614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6297:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6287:31:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3616,"nodeType":"ExpressionStatement","src":"6287:31:3"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3583,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6173:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":3584,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3565,"src":"6177:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6177:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6173:15:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3627,"initializationExpression":{"assignments":[3580],"declarations":[{"constant":false,"id":3580,"mutability":"mutable","name":"i","nameLocation":"6166:1:3","nodeType":"VariableDeclaration","scope":3627,"src":"6158:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3579,"name":"uint256","nodeType":"ElementaryTypeName","src":"6158:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3582,"initialValue":{"hexValue":"30","id":3581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6170:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6158:13:3"},"loopExpression":{"expression":{"id":3588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6190:3:3","subExpression":{"id":3587,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6190:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3589,"nodeType":"ExpressionStatement","src":"6190:3:3"},"nodeType":"ForStatement","src":"6153:240:3"},{"expression":{"arguments":[{"id":3630,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3572,"src":"6416:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6409:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3628,"name":"string","nodeType":"ElementaryTypeName","src":"6409:6:3","typeDescriptions":{}}},"id":3631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6409:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3563,"id":3632,"nodeType":"Return","src":"6402:19:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_toUpper","nameLocation":"5986:8:3","parameters":{"id":3560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3559,"mutability":"mutable","name":"str","nameLocation":"6009:3:3","nodeType":"VariableDeclaration","scope":3634,"src":"5995:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3558,"name":"string","nodeType":"ElementaryTypeName","src":"5995:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5994:19:3"},"returnParameters":{"id":3563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3634,"src":"6036:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3561,"name":"string","nodeType":"ElementaryTypeName","src":"6036:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6035:15:3"},"scope":3954,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":3751,"nodeType":"FunctionDefinition","src":"6564:1218:3","nodes":[],"body":{"id":3750,"nodeType":"Block","src":"6676:1106:3","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3647,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"6696:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"6696:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6690:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3645,"name":"bytes","nodeType":"ElementaryTypeName","src":"6690:5:3","typeDescriptions":{}}},"id":3649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6690:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6690:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6720:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6690:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3747,"nodeType":"IfStatement","src":"6686:1068:3","trueBody":{"id":3746,"nodeType":"Block","src":"6723:1031:3","statements":[{"clauses":[{"block":{"id":3666,"nodeType":"Block","src":"6800:60:3","statements":[{"expression":{"id":3664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3660,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"6818:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3662,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"6818:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3663,"name":"configRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3658,"src":"6833:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6818:27:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3665,"nodeType":"ExpressionStatement","src":"6818:27:3"}]},"errorName":"","id":3667,"nodeType":"TryCatchClause","parameters":{"id":3659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3658,"mutability":"mutable","name":"configRpcUrl","nameLocation":"6786:12:3","nodeType":"VariableDeclaration","scope":3667,"src":"6772:26:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3657,"name":"string","nodeType":"ElementaryTypeName","src":"6772:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6771:28:3"},"src":"6763:97:3"},{"block":{"id":3743,"nodeType":"Block","src":"6886:858:3","statements":[{"assignments":[3672],"declarations":[{"constant":false,"id":3672,"mutability":"mutable","name":"envName","nameLocation":"6918:7:3","nodeType":"VariableDeclaration","scope":3743,"src":"6904:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3671,"name":"string","nodeType":"ElementaryTypeName","src":"6904:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3683,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":3678,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3636,"src":"6961:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3677,"name":"_toUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3634,"src":"6952:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":3679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6952:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5f5250435f55524c","id":3680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6974:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""},"value":"_RPC_URL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""}],"expression":{"id":3675,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6935:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6935:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6935:50:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6928:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3673,"name":"string","nodeType":"ElementaryTypeName","src":"6928:6:3","typeDescriptions":{}}},"id":3682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6928:58:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"6904:82:3"},{"condition":{"id":3684,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"7008:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3707,"nodeType":"Block","src":"7141:77:3","statements":[{"expression":{"id":3705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3698,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"7163:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"7163:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3703,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3672,"src":"7191:7:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3701,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"7178:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":10849,"src":"7178:12:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7178:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7163:36:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3706,"nodeType":"ExpressionStatement","src":"7163:36:3"}]},"id":3708,"nodeType":"IfStatement","src":"7004:214:3","trueBody":{"id":3697,"nodeType":"Block","src":"7034:101:3","statements":[{"expression":{"id":3695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3685,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"7056:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3687,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"7056:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3690,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3672,"src":"7080:7:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"baseExpression":{"id":3691,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3310,"src":"7089:14:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":3693,"indexExpression":{"id":3692,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3636,"src":"7104:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7089:26:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":3688,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"7071:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":10980,"src":"7071:8:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":3694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7071:45:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7056:60:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3696,"nodeType":"ExpressionStatement","src":"7056:60:3"}]}},{"assignments":[3710],"declarations":[{"constant":false,"id":3710,"mutability":"mutable","name":"notFoundError","nameLocation":"7310:13:3","nodeType":"VariableDeclaration","scope":3743,"src":"7297:26:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3709,"name":"bytes","nodeType":"ElementaryTypeName","src":"7297:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3723,"initialValue":{"arguments":[{"hexValue":"4368656174436f64654572726f72","id":3713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7370:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},"value":"CheatCodeError"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c20","id":3718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7412:18:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},"value":"invalid rpc url "},{"id":3719,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3636,"src":"7432:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7395:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"7395:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7395:48:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7388:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3714,"name":"string","nodeType":"ElementaryTypeName","src":"7388:6:3","typeDescriptions":{}}},"id":3721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7388:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7346:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7346:23:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":3722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7346:99:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7297:148:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3725,"name":"notFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"7477:13:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3724,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7467:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7467:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3728,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3669,"src":"7505:3:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3727,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7495:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7495:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7467:42:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3733,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"7519:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"7519:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7513:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3731,"name":"bytes","nodeType":"ElementaryTypeName","src":"7513:5:3","typeDescriptions":{}}},"id":3735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7513:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7513:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7543:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7513:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7467:77:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3742,"nodeType":"IfStatement","src":"7463:267:3","trueBody":{"id":3741,"nodeType":"Block","src":"7546:184:3","statements":[{"AST":{"nodeType":"YulBlock","src":"7632:80:3","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7669:2:3","type":"","value":"32"},{"name":"err","nodeType":"YulIdentifier","src":"7673:3:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7665:3:3"},"nodeType":"YulFunctionCall","src":"7665:12:3"},{"arguments":[{"name":"err","nodeType":"YulIdentifier","src":"7685:3:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7679:5:3"},"nodeType":"YulFunctionCall","src":"7679:10:3"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7658:6:3"},"nodeType":"YulFunctionCall","src":"7658:32:3"},"nodeType":"YulExpressionStatement","src":"7658:32:3"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":3669,"isOffset":false,"isSlot":false,"src":"7673:3:3","valueSize":1},{"declaration":3669,"isOffset":false,"isSlot":false,"src":"7685:3:3","valueSize":1}],"id":3740,"nodeType":"InlineAssembly","src":"7623:89:3"}]}}]},"errorName":"","id":3744,"nodeType":"TryCatchClause","parameters":{"id":3670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3669,"mutability":"mutable","name":"err","nameLocation":"6881:3:3","nodeType":"VariableDeclaration","scope":3744,"src":"6868:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3668,"name":"bytes","nodeType":"ElementaryTypeName","src":"6868:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6867:18:3"},"src":"6861:883:3"}],"externalCall":{"arguments":[{"id":3655,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3636,"src":"6751:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3653,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"6741:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":11663,"src":"6741:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6741:21:3","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3745,"nodeType":"TryStatement","src":"6737:1007:3"}]}},{"expression":{"id":3748,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"7770:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"functionReturnParameters":3644,"id":3749,"nodeType":"Return","src":"7763:12:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChainWithUpdatedRpcUrl","nameLocation":"6573:25:3","parameters":{"id":3640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3636,"mutability":"mutable","name":"chainAlias","nameLocation":"6613:10:3","nodeType":"VariableDeclaration","scope":3751,"src":"6599:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3635,"name":"string","nodeType":"ElementaryTypeName","src":"6599:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3639,"mutability":"mutable","name":"chain","nameLocation":"6638:5:3","nodeType":"VariableDeclaration","scope":3751,"src":"6625:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3638,"nodeType":"UserDefinedTypeName","pathNode":{"id":3637,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"6625:5:3"},"referencedDeclaration":3301,"src":"6625:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6598:46:3"},"returnParameters":{"id":3644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3643,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3751,"src":"6662:12:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3642,"nodeType":"UserDefinedTypeName","pathNode":{"id":3641,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"6662:5:3"},"referencedDeclaration":3301,"src":"6662:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6661:14:3"},"scope":3954,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":3761,"nodeType":"FunctionDefinition","src":"7788:117:3","nodes":[],"body":{"id":3760,"nodeType":"Block","src":"7851:54:3","nodes":[],"statements":[{"expression":{"id":3758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3756,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"7861:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3757,"name":"useDefault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3753,"src":"7888:10:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7861:37:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3759,"nodeType":"ExpressionStatement","src":"7861:37:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setFallbackToDefaultRpcUrls","nameLocation":"7797:27:3","parameters":{"id":3754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3753,"mutability":"mutable","name":"useDefault","nameLocation":"7830:10:3","nodeType":"VariableDeclaration","scope":3761,"src":"7825:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3752,"name":"bool","nodeType":"ElementaryTypeName","src":"7825:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7824:17:3"},"returnParameters":{"id":3755,"nodeType":"ParameterList","parameters":[],"src":"7851:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":3916,"nodeType":"FunctionDefinition","src":"7911:2350:3","nodes":[],"body":{"id":3915,"nodeType":"Block","src":"7941:2320:3","nodes":[],"statements":[{"condition":{"id":3764,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3285,"src":"7955:11:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3766,"nodeType":"IfStatement","src":"7951:24:3","trueBody":{"functionReturnParameters":3763,"id":3765,"nodeType":"Return","src":"7968:7:3"}},{"expression":{"id":3769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3767,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3285,"src":"7985:11:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7999:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"7985:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3770,"nodeType":"ExpressionStatement","src":"7985:18:3"},{"expression":{"arguments":[{"hexValue":"616e76696c","id":3772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8126:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},"value":"anvil"},{"arguments":[{"hexValue":"416e76696c","id":3774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8145:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},"value":"Anvil"},{"hexValue":"3331333337","id":3775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8154:5:3","typeDescriptions":{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},"value":"31337"},{"hexValue":"687474703a2f2f3132372e302e302e313a38353435","id":3776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8161:23:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""},"value":"http://127.0.0.1:8545"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""}],"id":3773,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8135:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8135:50:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3771,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8100:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8100:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3779,"nodeType":"ExpressionStatement","src":"8100:86:3"},{"expression":{"arguments":[{"hexValue":"6d61696e6e6574","id":3781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8235:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},"value":"mainnet"},{"arguments":[{"hexValue":"4d61696e6e6574","id":3783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8256:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},"value":"Mainnet"},{"hexValue":"31","id":3784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8267:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"68747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f6634613062646164343236373461646162356663306163303737666661623262","id":3785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8270:63:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_651b171e5bfce3901032cbc54dd29185f74f403360e60968dc06ae60322a82dc","typeString":"literal_string \"https://mainnet.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""},"value":"https://mainnet.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_651b171e5bfce3901032cbc54dd29185f74f403360e60968dc06ae60322a82dc","typeString":"literal_string \"https://mainnet.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""}],"id":3782,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8246:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8246:88:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3780,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8196:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8196:148:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3788,"nodeType":"ExpressionStatement","src":"8196:148:3"},{"expression":{"arguments":[{"hexValue":"676f65726c69","id":3790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8393:8:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a","typeString":"literal_string \"goerli\""},"value":"goerli"},{"arguments":[{"hexValue":"476f65726c69","id":3792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8413:8:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e","typeString":"literal_string \"Goerli\""},"value":"Goerli"},{"hexValue":"35","id":3793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8423:1:3","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},{"hexValue":"68747470733a2f2f676f65726c692e696e667572612e696f2f76332f6634613062646164343236373461646162356663306163303737666661623262","id":3794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8426:62:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4a8b4d6a5c5e24e93f9ef74fc16c0353f53b662b51d605822780d3316e58cc7","typeString":"literal_string \"https://goerli.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""},"value":"https://goerli.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e","typeString":"literal_string \"Goerli\""},{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},{"typeIdentifier":"t_stringliteral_a4a8b4d6a5c5e24e93f9ef74fc16c0353f53b662b51d605822780d3316e58cc7","typeString":"literal_string \"https://goerli.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""}],"id":3791,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8403:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8403:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a","typeString":"literal_string \"goerli\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3789,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8354:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8354:145:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3797,"nodeType":"ExpressionStatement","src":"8354:145:3"},{"expression":{"arguments":[{"hexValue":"7365706f6c6961","id":3799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8548:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},"value":"sepolia"},{"arguments":[{"hexValue":"5365706f6c6961","id":3801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8569:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},"value":"Sepolia"},{"hexValue":"3131313535313131","id":3802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8580:8:3","typeDescriptions":{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},"value":"11155111"},{"hexValue":"68747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f6634613062646164343236373461646162356663306163303737666661623262","id":3803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8590:63:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_46ad579bb5d9f21dd75a711d1d55f38711d31c11909bca22ac3b7dbcb26f873d","typeString":"literal_string \"https://sepolia.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""},"value":"https://sepolia.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},{"typeIdentifier":"t_stringliteral_46ad579bb5d9f21dd75a711d1d55f38711d31c11909bca22ac3b7dbcb26f873d","typeString":"literal_string \"https://sepolia.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""}],"id":3800,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8559:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8559:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3798,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8509:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8509:155:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3806,"nodeType":"ExpressionStatement","src":"8509:155:3"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d","id":3808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8700:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},"value":"optimism"},{"arguments":[{"hexValue":"4f7074696d69736d","id":3810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8722:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},"value":"Optimism"},{"hexValue":"3130","id":3811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8734:2:3","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f","id":3812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8738:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""},"value":"https://mainnet.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""}],"id":3809,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8712:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8712:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3807,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8674:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8674:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3815,"nodeType":"ExpressionStatement","src":"8674:95:3"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d5f676f65726c69","id":3817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8805:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c","typeString":"literal_string \"optimism_goerli\""},"value":"optimism_goerli"},{"arguments":[{"hexValue":"4f7074696d69736d20476f65726c69","id":3819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8834:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6271e061a2d4ce1b6e267081a40c4dca996efe738d092d650bcfa23669d2fd24","typeString":"literal_string \"Optimism Goerli\""},"value":"Optimism Goerli"},{"hexValue":"343230","id":3820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8853:3:3","typeDescriptions":{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},"value":"420"},{"hexValue":"68747470733a2f2f676f65726c692e6f7074696d69736d2e696f","id":3821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8858:28:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad","typeString":"literal_string \"https://goerli.optimism.io\""},"value":"https://goerli.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6271e061a2d4ce1b6e267081a40c4dca996efe738d092d650bcfa23669d2fd24","typeString":"literal_string \"Optimism Goerli\""},{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},{"typeIdentifier":"t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad","typeString":"literal_string \"https://goerli.optimism.io\""}],"id":3818,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8824:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8824:63:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c","typeString":"literal_string \"optimism_goerli\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3816,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8779:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8779:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3824,"nodeType":"ExpressionStatement","src":"8779:109:3"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e65","id":3826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8924:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},"value":"arbitrum_one"},{"arguments":[{"hexValue":"417262697472756d204f6e65","id":3828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8950:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},"value":"Arbitrum One"},{"hexValue":"3432313631","id":3829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8966:5:3","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},{"hexValue":"68747470733a2f2f617262312e617262697472756d2e696f2f727063","id":3830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8973:30:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""},"value":"https://arb1.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""}],"id":3827,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8940:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8940:64:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3825,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8898:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8898:107:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3833,"nodeType":"ExpressionStatement","src":"8898:107:3"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e655f676f65726c69","id":3835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9054:21:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4","typeString":"literal_string \"arbitrum_one_goerli\""},"value":"arbitrum_one_goerli"},{"arguments":[{"hexValue":"417262697472756d204f6e6520476f65726c69","id":3837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9087:21:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_57f7b6894161eb541e81676f15adf1e65eee36bdcfd592f252d22d4394480f21","typeString":"literal_string \"Arbitrum One Goerli\""},"value":"Arbitrum One Goerli"},{"hexValue":"343231363133","id":3838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9110:6:3","typeDescriptions":{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},"value":"421613"},{"hexValue":"68747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f727063","id":3839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9118:39:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea","typeString":"literal_string \"https://goerli-rollup.arbitrum.io/rpc\""},"value":"https://goerli-rollup.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_57f7b6894161eb541e81676f15adf1e65eee36bdcfd592f252d22d4394480f21","typeString":"literal_string \"Arbitrum One Goerli\""},{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},{"typeIdentifier":"t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea","typeString":"literal_string \"https://goerli-rollup.arbitrum.io/rpc\""}],"id":3836,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9077:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9077:81:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4","typeString":"literal_string \"arbitrum_one_goerli\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3834,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9015:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9015:153:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3842,"nodeType":"ExpressionStatement","src":"9015:153:3"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6e6f7661","id":3844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9204:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},"value":"arbitrum_nova"},{"arguments":[{"hexValue":"417262697472756d204e6f7661","id":3846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9231:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},"value":"Arbitrum Nova"},{"hexValue":"3432313730","id":3847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9248:5:3","typeDescriptions":{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},"value":"42170"},{"hexValue":"68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063","id":3848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9255:30:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""},"value":"https://nova.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""}],"id":3845,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9221:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9221:65:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3843,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9178:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9178:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3851,"nodeType":"ExpressionStatement","src":"9178:109:3"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e","id":3853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9323:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},"value":"polygon"},{"arguments":[{"hexValue":"506f6c79676f6e","id":3855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9344:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},"value":"Polygon"},{"hexValue":"313337","id":3856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9355:3:3","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},{"hexValue":"68747470733a2f2f706f6c79676f6e2d7270632e636f6d","id":3857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9360:25:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""},"value":"https://polygon-rpc.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""}],"id":3854,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9334:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9334:52:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3852,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9297:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9297:90:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3860,"nodeType":"ExpressionStatement","src":"9297:90:3"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e5f6d756d626169","id":3862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9436:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0","typeString":"literal_string \"polygon_mumbai\""},"value":"polygon_mumbai"},{"arguments":[{"hexValue":"506f6c79676f6e204d756d626169","id":3864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9464:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_173b0df64039e25119e26da4408dbd53da69bf06543516209ecc66f21e0c9725","typeString":"literal_string \"Polygon Mumbai\""},"value":"Polygon Mumbai"},{"hexValue":"3830303031","id":3865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9482:5:3","typeDescriptions":{"typeIdentifier":"t_rational_80001_by_1","typeString":"int_const 80001"},"value":"80001"},{"hexValue":"68747470733a2f2f7270632d6d756d6261692e6d61746963766967696c2e636f6d","id":3866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9489:35:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_73b526a6131ddfd959c21485254bd24a6ab94de746e87b78a515c1d42c7ee121","typeString":"literal_string \"https://rpc-mumbai.maticvigil.com\""},"value":"https://rpc-mumbai.maticvigil.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_173b0df64039e25119e26da4408dbd53da69bf06543516209ecc66f21e0c9725","typeString":"literal_string \"Polygon Mumbai\""},{"typeIdentifier":"t_rational_80001_by_1","typeString":"int_const 80001"},{"typeIdentifier":"t_stringliteral_73b526a6131ddfd959c21485254bd24a6ab94de746e87b78a515c1d42c7ee121","typeString":"literal_string \"https://rpc-mumbai.maticvigil.com\""}],"id":3863,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9454:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9454:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0","typeString":"literal_string \"polygon_mumbai\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3861,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9397:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9397:138:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3869,"nodeType":"ExpressionStatement","src":"9397:138:3"},{"expression":{"arguments":[{"hexValue":"6176616c616e636865","id":3871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9571:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},"value":"avalanche"},{"arguments":[{"hexValue":"4176616c616e636865","id":3873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9594:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},"value":"Avalanche"},{"hexValue":"3433313134","id":3874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9607:5:3","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},{"hexValue":"68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f727063","id":3875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9614:39:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""},"value":"https://api.avax.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""}],"id":3872,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9584:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9584:70:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3870,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9545:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9545:110:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3878,"nodeType":"ExpressionStatement","src":"9545:110:3"},{"expression":{"arguments":[{"hexValue":"6176616c616e6368655f66756a69","id":3880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9704:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},"value":"avalanche_fuji"},{"arguments":[{"hexValue":"4176616c616e6368652046756a69","id":3882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9732:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},"value":"Avalanche Fuji"},{"hexValue":"3433313133","id":3883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9750:5:3","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},{"hexValue":"68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f727063","id":3884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9757:44:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""},"value":"https://api.avax-test.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""}],"id":3881,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9722:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9722:80:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3879,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9665:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9665:147:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3887,"nodeType":"ExpressionStatement","src":"9665:147:3"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e","id":3889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9861:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},"value":"bnb_smart_chain"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e","id":3891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9890:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},"value":"BNB Smart Chain"},{"hexValue":"3536","id":3892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9909:2:3","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"hexValue":"68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267","id":3893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9913:35:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""},"value":"https://bsc-dataseed1.binance.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""}],"id":3890,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9880:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9880:69:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3888,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9822:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9822:137:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3896,"nodeType":"ExpressionStatement","src":"9822:137:3"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e5f746573746e6574","id":3898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10008:25:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},"value":"bnb_smart_chain_testnet"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e20546573746e6574","id":3900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10057:25:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},"value":"BNB Smart Chain Testnet"},{"hexValue":"3937","id":3901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10084:2:3","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"97"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c","id":3902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10088:41:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""},"value":"https://rpc.ankr.com/bsc_testnet_chapel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""}],"id":3899,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"10047:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10047:83:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3897,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9969:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9969:171:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3905,"nodeType":"ExpressionStatement","src":"9969:171:3"},{"expression":{"arguments":[{"hexValue":"676e6f7369735f636861696e","id":3907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10176:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},"value":"gnosis_chain"},{"arguments":[{"hexValue":"476e6f73697320436861696e","id":3909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10202:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},"value":"Gnosis Chain"},{"hexValue":"313030","id":3910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10218:3:3","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"68747470733a2f2f7270632e676e6f736973636861696e2e636f6d","id":3911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10223:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""},"value":"https://rpc.gnosischain.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""}],"id":3908,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"10192:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10192:61:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3906,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"10150:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10150:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3914,"nodeType":"ExpressionStatement","src":"10150:104:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7920:10:3","parameters":{"id":3762,"nodeType":"ParameterList","parameters":[],"src":"7930:2:3"},"returnParameters":{"id":3763,"nodeType":"ParameterList","parameters":[],"src":"7941:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":3953,"nodeType":"FunctionDefinition","src":"10343:305:3","nodes":[],"body":{"id":3952,"nodeType":"Block","src":"10436:212:3","nodes":[],"statements":[{"assignments":[3925],"declarations":[{"constant":false,"id":3925,"mutability":"mutable","name":"rpcUrl","nameLocation":"10460:6:3","nodeType":"VariableDeclaration","scope":3952,"src":"10446:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3924,"name":"string","nodeType":"ElementaryTypeName","src":"10446:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3928,"initialValue":{"expression":{"id":3926,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3921,"src":"10469:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3291,"src":"10469:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10446:35:3"},{"expression":{"id":3933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3929,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3310,"src":"10491:14:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":3931,"indexExpression":{"id":3930,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3918,"src":"10506:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10491:26:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3932,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3925,"src":"10520:6:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10491:35:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3934,"nodeType":"ExpressionStatement","src":"10491:35:3"},{"expression":{"id":3939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3935,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3921,"src":"10536:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3291,"src":"10536:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"","id":3938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10551:2:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"src":"10536:17:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3940,"nodeType":"ExpressionStatement","src":"10536:17:3"},{"expression":{"arguments":[{"id":3942,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3918,"src":"10572:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3943,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3921,"src":"10584:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3941,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[3536,3557],"referencedDeclaration":3536,"src":"10563:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10563:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3945,"nodeType":"ExpressionStatement","src":"10563:27:3"},{"expression":{"id":3950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3946,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3921,"src":"10600:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3291,"src":"10600:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3949,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3925,"src":"10615:6:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10600:21:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3951,"nodeType":"ExpressionStatement","src":"10600:21:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChainWithDefaultRpcUrl","nameLocation":"10352:25:3","parameters":{"id":3922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3918,"mutability":"mutable","name":"chainAlias","nameLocation":"10392:10:3","nodeType":"VariableDeclaration","scope":3953,"src":"10378:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3917,"name":"string","nodeType":"ElementaryTypeName","src":"10378:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3921,"mutability":"mutable","name":"chain","nameLocation":"10421:5:3","nodeType":"VariableDeclaration","scope":3953,"src":"10404:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":3920,"nodeType":"UserDefinedTypeName","pathNode":{"id":3919,"name":"ChainData","nodeType":"IdentifierPath","referencedDeclaration":3292,"src":"10404:9:3"},"referencedDeclaration":3292,"src":"10404:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"10377:50:3"},"returnParameters":{"id":3923,"nodeType":"ParameterList","parameters":[],"src":"10436:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdChains","contractDependencies":[],"contractKind":"contract","documentation":{"id":3266,"nodeType":"StructuredDocumentation","src":"134:1935:3","text":" StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n alias used in this contract, which can be found as the first argument to the\n `setChainWithDefaultRpcUrl` call in the `initialize` function.\n There are two main ways to use this contract:\n 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n `setChain(string memory chainAlias, Chain memory chain)`\n 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n The first time either of those are used, chains are initialized with the default set of RPC URLs.\n This is done in `initialize`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n `defaultRpcUrls`.\n The `setChain` function is straightforward, and it simply saves off the given chain data.\n The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n we want to retrieve `mainnet`'s RPC URL:\n - If you haven't set any mainnet chain info with `setChain`, you haven't specified that\n chain in `foundry.toml` and no env var is set, the default data and RPC URL will be returned.\n - If you have set a mainnet RPC URL in `foundry.toml` it will return that, if valid (e.g. if\n a URL is given or if an environment variable is given and that environment variable exists).\n Otherwise, the default data is returned.\n - If you specified data with `setChain` it will return that.\n Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults."},"fullyImplemented":true,"linearizedBaseContracts":[3954],"name":"StdChains","nameLocation":"2088:9:3","scope":3955,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdCheats.sol":{"id":4,"ast":{"absolutePath":"lib/forge-std/src/StdCheats.sol","id":6186,"exportedSymbols":{"StdCheats":[6185],"StdCheatsSafe":[5526],"StdStorage":[7225],"Vm":[12037],"stdStorage":[8658]},"nodeType":"SourceUnit","src":"32:23261:4","nodes":[{"id":3956,"nodeType":"PragmaDirective","src":"32:31:4","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3957,"nodeType":"PragmaDirective","src":"65:33:4","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":3960,"nodeType":"ImportDirective","src":"100:56:4","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":6186,"sourceUnit":8659,"symbolAliases":[{"foreign":{"id":3958,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7225,"src":"108:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"type(struct StdStorage storage pointer)"}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":3959,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8658,"src":"120:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorage_$8658_$","typeString":"type(library stdStorage)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3962,"nodeType":"ImportDirective","src":"157:28:4","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":6186,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":3961,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"165:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5526,"nodeType":"ContractDefinition","src":"187:17285:4","nodes":[{"id":3979,"nodeType":"VariableDeclaration","src":"225:84:4","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"245:2:4","scope":5526,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":3964,"nodeType":"UserDefinedTypeName","pathNode":{"id":3963,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"225:2:4"},"referencedDeclaration":12037,"src":"225:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":3973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"287:17:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":3972,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"277:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"277:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"269:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3970,"name":"uint256","nodeType":"ElementaryTypeName","src":"269:7:4","typeDescriptions":{}}},"id":3975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"269:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"261:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":3968,"name":"uint160","nodeType":"ElementaryTypeName","src":"261:7:4","typeDescriptions":{}}},"id":3976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"261:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"253:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3966,"name":"address","nodeType":"ElementaryTypeName","src":"253:7:4","typeDescriptions":{}}},"id":3977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"253:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3965,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"250:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":3978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"250:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":3981,"nodeType":"VariableDeclaration","src":"316:27:4","nodes":[],"constant":false,"mutability":"mutable","name":"gasMeteringOff","nameLocation":"329:14:4","scope":5526,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3980,"name":"bool","nodeType":"ElementaryTypeName","src":"316:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":3998,"nodeType":"StructDefinition","src":"588:325:4","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559","members":[{"constant":false,"id":3984,"mutability":"mutable","name":"arguments","nameLocation":"624:9:4","nodeType":"VariableDeclaration","scope":3998,"src":"615:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":3982,"name":"string","nodeType":"ElementaryTypeName","src":"615:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3983,"nodeType":"ArrayTypeName","src":"615:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":3986,"mutability":"mutable","name":"contractAddress","nameLocation":"651:15:4","nodeType":"VariableDeclaration","scope":3998,"src":"643:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3985,"name":"address","nodeType":"ElementaryTypeName","src":"643:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3988,"mutability":"mutable","name":"contractName","nameLocation":"683:12:4","nodeType":"VariableDeclaration","scope":3998,"src":"676:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3987,"name":"string","nodeType":"ElementaryTypeName","src":"676:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3990,"mutability":"mutable","name":"functionSig","nameLocation":"750:11:4","nodeType":"VariableDeclaration","scope":3998,"src":"743:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3989,"name":"string","nodeType":"ElementaryTypeName","src":"743:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3992,"mutability":"mutable","name":"hash","nameLocation":"779:4:4","nodeType":"VariableDeclaration","scope":3998,"src":"771:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"771:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3995,"mutability":"mutable","name":"txDetail","nameLocation":"841:8:4","nodeType":"VariableDeclaration","scope":3998,"src":"825:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":3994,"nodeType":"UserDefinedTypeName","pathNode":{"id":3993,"name":"RawTx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4017,"src":"825:15:4"},"referencedDeclaration":4017,"src":"825:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"},{"constant":false,"id":3997,"mutability":"mutable","name":"opcode","nameLocation":"900:6:4","nodeType":"VariableDeclaration","scope":3998,"src":"893:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3996,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"RawTx1559","nameLocation":"595:9:4","scope":5526,"visibility":"public"},{"id":4017,"nodeType":"StructDefinition","src":"919:208:4","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559Detail","members":[{"constant":false,"id":4002,"mutability":"mutable","name":"accessList","nameLocation":"965:10:4","nodeType":"VariableDeclaration","scope":4017,"src":"952:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4000,"nodeType":"UserDefinedTypeName","pathNode":{"id":3999,"name":"AccessList","nodeType":"IdentifierPath","referencedDeclaration":4109,"src":"952:10:4"},"referencedDeclaration":4109,"src":"952:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4109_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4001,"nodeType":"ArrayTypeName","src":"952:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4004,"mutability":"mutable","name":"data","nameLocation":"991:4:4","nodeType":"VariableDeclaration","scope":4017,"src":"985:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4003,"name":"bytes","nodeType":"ElementaryTypeName","src":"985:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4006,"mutability":"mutable","name":"from","nameLocation":"1013:4:4","nodeType":"VariableDeclaration","scope":4017,"src":"1005:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4005,"name":"address","nodeType":"ElementaryTypeName","src":"1005:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4008,"mutability":"mutable","name":"gas","nameLocation":"1033:3:4","nodeType":"VariableDeclaration","scope":4017,"src":"1027:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4007,"name":"bytes","nodeType":"ElementaryTypeName","src":"1027:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4010,"mutability":"mutable","name":"nonce","nameLocation":"1052:5:4","nodeType":"VariableDeclaration","scope":4017,"src":"1046:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4009,"name":"bytes","nodeType":"ElementaryTypeName","src":"1046:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4012,"mutability":"mutable","name":"to","nameLocation":"1075:2:4","nodeType":"VariableDeclaration","scope":4017,"src":"1067:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4011,"name":"address","nodeType":"ElementaryTypeName","src":"1067:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4014,"mutability":"mutable","name":"txType","nameLocation":"1093:6:4","nodeType":"VariableDeclaration","scope":4017,"src":"1087:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4013,"name":"bytes","nodeType":"ElementaryTypeName","src":"1087:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4016,"mutability":"mutable","name":"value","nameLocation":"1115:5:4","nodeType":"VariableDeclaration","scope":4017,"src":"1109:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4015,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawTx1559Detail","nameLocation":"926:15:4","scope":5526,"visibility":"public"},{"id":4034,"nodeType":"StructDefinition","src":"1133:215:4","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559","members":[{"constant":false,"id":4020,"mutability":"mutable","name":"arguments","nameLocation":"1166:9:4","nodeType":"VariableDeclaration","scope":4034,"src":"1157:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4018,"name":"string","nodeType":"ElementaryTypeName","src":"1157:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4019,"nodeType":"ArrayTypeName","src":"1157:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4022,"mutability":"mutable","name":"contractAddress","nameLocation":"1193:15:4","nodeType":"VariableDeclaration","scope":4034,"src":"1185:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4021,"name":"address","nodeType":"ElementaryTypeName","src":"1185:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4024,"mutability":"mutable","name":"contractName","nameLocation":"1225:12:4","nodeType":"VariableDeclaration","scope":4034,"src":"1218:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4023,"name":"string","nodeType":"ElementaryTypeName","src":"1218:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4026,"mutability":"mutable","name":"functionSig","nameLocation":"1254:11:4","nodeType":"VariableDeclaration","scope":4034,"src":"1247:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4025,"name":"string","nodeType":"ElementaryTypeName","src":"1247:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4028,"mutability":"mutable","name":"hash","nameLocation":"1283:4:4","nodeType":"VariableDeclaration","scope":4034,"src":"1275:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1275:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4031,"mutability":"mutable","name":"txDetail","nameLocation":"1310:8:4","nodeType":"VariableDeclaration","scope":4034,"src":"1297:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4030,"nodeType":"UserDefinedTypeName","pathNode":{"id":4029,"name":"Tx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4053,"src":"1297:12:4"},"referencedDeclaration":4053,"src":"1297:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"},{"constant":false,"id":4033,"mutability":"mutable","name":"opcode","nameLocation":"1335:6:4","nodeType":"VariableDeclaration","scope":4034,"src":"1328:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4032,"name":"string","nodeType":"ElementaryTypeName","src":"1328:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Tx1559","nameLocation":"1140:6:4","scope":5526,"visibility":"public"},{"id":4053,"nodeType":"StructDefinition","src":"1354:213:4","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559Detail","members":[{"constant":false,"id":4038,"mutability":"mutable","name":"accessList","nameLocation":"1397:10:4","nodeType":"VariableDeclaration","scope":4053,"src":"1384:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4036,"nodeType":"UserDefinedTypeName","pathNode":{"id":4035,"name":"AccessList","nodeType":"IdentifierPath","referencedDeclaration":4109,"src":"1384:10:4"},"referencedDeclaration":4109,"src":"1384:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4109_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4037,"nodeType":"ArrayTypeName","src":"1384:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4040,"mutability":"mutable","name":"data","nameLocation":"1423:4:4","nodeType":"VariableDeclaration","scope":4053,"src":"1417:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4039,"name":"bytes","nodeType":"ElementaryTypeName","src":"1417:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4042,"mutability":"mutable","name":"from","nameLocation":"1445:4:4","nodeType":"VariableDeclaration","scope":4053,"src":"1437:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4041,"name":"address","nodeType":"ElementaryTypeName","src":"1437:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4044,"mutability":"mutable","name":"gas","nameLocation":"1467:3:4","nodeType":"VariableDeclaration","scope":4053,"src":"1459:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4043,"name":"uint256","nodeType":"ElementaryTypeName","src":"1459:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4046,"mutability":"mutable","name":"nonce","nameLocation":"1488:5:4","nodeType":"VariableDeclaration","scope":4053,"src":"1480:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4045,"name":"uint256","nodeType":"ElementaryTypeName","src":"1480:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4048,"mutability":"mutable","name":"to","nameLocation":"1511:2:4","nodeType":"VariableDeclaration","scope":4053,"src":"1503:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4047,"name":"address","nodeType":"ElementaryTypeName","src":"1503:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4050,"mutability":"mutable","name":"txType","nameLocation":"1531:6:4","nodeType":"VariableDeclaration","scope":4053,"src":"1523:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4049,"name":"uint256","nodeType":"ElementaryTypeName","src":"1523:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4052,"mutability":"mutable","name":"value","nameLocation":"1555:5:4","nodeType":"VariableDeclaration","scope":4053,"src":"1547:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4051,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Tx1559Detail","nameLocation":"1361:12:4","scope":5526,"visibility":"public"},{"id":4070,"nodeType":"StructDefinition","src":"1818:221:4","nodes":[],"canonicalName":"StdCheatsSafe.TxLegacy","members":[{"constant":false,"id":4056,"mutability":"mutable","name":"arguments","nameLocation":"1853:9:4","nodeType":"VariableDeclaration","scope":4070,"src":"1844:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4054,"name":"string","nodeType":"ElementaryTypeName","src":"1844:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4055,"nodeType":"ArrayTypeName","src":"1844:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4058,"mutability":"mutable","name":"contractAddress","nameLocation":"1880:15:4","nodeType":"VariableDeclaration","scope":4070,"src":"1872:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4057,"name":"address","nodeType":"ElementaryTypeName","src":"1872:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4060,"mutability":"mutable","name":"contractName","nameLocation":"1912:12:4","nodeType":"VariableDeclaration","scope":4070,"src":"1905:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4059,"name":"string","nodeType":"ElementaryTypeName","src":"1905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4062,"mutability":"mutable","name":"functionSig","nameLocation":"1941:11:4","nodeType":"VariableDeclaration","scope":4070,"src":"1934:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4061,"name":"string","nodeType":"ElementaryTypeName","src":"1934:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4064,"mutability":"mutable","name":"hash","nameLocation":"1969:4:4","nodeType":"VariableDeclaration","scope":4070,"src":"1962:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4063,"name":"string","nodeType":"ElementaryTypeName","src":"1962:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4066,"mutability":"mutable","name":"opcode","nameLocation":"1990:6:4","nodeType":"VariableDeclaration","scope":4070,"src":"1983:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4065,"name":"string","nodeType":"ElementaryTypeName","src":"1983:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4069,"mutability":"mutable","name":"transaction","nameLocation":"2021:11:4","nodeType":"VariableDeclaration","scope":4070,"src":"2006:26:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$4103_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"},"typeName":{"id":4068,"nodeType":"UserDefinedTypeName","pathNode":{"id":4067,"name":"TxDetailLegacy","nodeType":"IdentifierPath","referencedDeclaration":4103,"src":"2006:14:4"},"referencedDeclaration":4103,"src":"2006:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$4103_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"}},"visibility":"internal"}],"name":"TxLegacy","nameLocation":"1825:8:4","scope":5526,"visibility":"public"},{"id":4103,"nodeType":"StructDefinition","src":"2045:366:4","nodes":[],"canonicalName":"StdCheatsSafe.TxDetailLegacy","members":[{"constant":false,"id":4074,"mutability":"mutable","name":"accessList","nameLocation":"2090:10:4","nodeType":"VariableDeclaration","scope":4103,"src":"2077:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4072,"nodeType":"UserDefinedTypeName","pathNode":{"id":4071,"name":"AccessList","nodeType":"IdentifierPath","referencedDeclaration":4109,"src":"2077:10:4"},"referencedDeclaration":4109,"src":"2077:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4109_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4073,"nodeType":"ArrayTypeName","src":"2077:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4076,"mutability":"mutable","name":"chainId","nameLocation":"2118:7:4","nodeType":"VariableDeclaration","scope":4103,"src":"2110:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4075,"name":"uint256","nodeType":"ElementaryTypeName","src":"2110:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4078,"mutability":"mutable","name":"data","nameLocation":"2141:4:4","nodeType":"VariableDeclaration","scope":4103,"src":"2135:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4077,"name":"bytes","nodeType":"ElementaryTypeName","src":"2135:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4080,"mutability":"mutable","name":"from","nameLocation":"2163:4:4","nodeType":"VariableDeclaration","scope":4103,"src":"2155:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4079,"name":"address","nodeType":"ElementaryTypeName","src":"2155:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4082,"mutability":"mutable","name":"gas","nameLocation":"2185:3:4","nodeType":"VariableDeclaration","scope":4103,"src":"2177:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4081,"name":"uint256","nodeType":"ElementaryTypeName","src":"2177:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4084,"mutability":"mutable","name":"gasPrice","nameLocation":"2206:8:4","nodeType":"VariableDeclaration","scope":4103,"src":"2198:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4083,"name":"uint256","nodeType":"ElementaryTypeName","src":"2198:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4086,"mutability":"mutable","name":"hash","nameLocation":"2232:4:4","nodeType":"VariableDeclaration","scope":4103,"src":"2224:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2224:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4088,"mutability":"mutable","name":"nonce","nameLocation":"2254:5:4","nodeType":"VariableDeclaration","scope":4103,"src":"2246:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4087,"name":"uint256","nodeType":"ElementaryTypeName","src":"2246:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4090,"mutability":"mutable","name":"opcode","nameLocation":"2276:6:4","nodeType":"VariableDeclaration","scope":4103,"src":"2269:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":4089,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2269:6:4","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":4092,"mutability":"mutable","name":"r","nameLocation":"2300:1:4","nodeType":"VariableDeclaration","scope":4103,"src":"2292:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2292:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4094,"mutability":"mutable","name":"s","nameLocation":"2319:1:4","nodeType":"VariableDeclaration","scope":4103,"src":"2311:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2311:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4096,"mutability":"mutable","name":"txType","nameLocation":"2338:6:4","nodeType":"VariableDeclaration","scope":4103,"src":"2330:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4095,"name":"uint256","nodeType":"ElementaryTypeName","src":"2330:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4098,"mutability":"mutable","name":"to","nameLocation":"2362:2:4","nodeType":"VariableDeclaration","scope":4103,"src":"2354:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4097,"name":"address","nodeType":"ElementaryTypeName","src":"2354:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4100,"mutability":"mutable","name":"v","nameLocation":"2380:1:4","nodeType":"VariableDeclaration","scope":4103,"src":"2374:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4099,"name":"uint8","nodeType":"ElementaryTypeName","src":"2374:5:4","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4102,"mutability":"mutable","name":"value","nameLocation":"2399:5:4","nodeType":"VariableDeclaration","scope":4103,"src":"2391:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4101,"name":"uint256","nodeType":"ElementaryTypeName","src":"2391:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TxDetailLegacy","nameLocation":"2052:14:4","scope":5526,"visibility":"public"},{"id":4109,"nodeType":"StructDefinition","src":"2417:87:4","nodes":[],"canonicalName":"StdCheatsSafe.AccessList","members":[{"constant":false,"id":4105,"mutability":"mutable","name":"accessAddress","nameLocation":"2453:13:4","nodeType":"VariableDeclaration","scope":4109,"src":"2445:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4104,"name":"address","nodeType":"ElementaryTypeName","src":"2445:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4108,"mutability":"mutable","name":"storageKeys","nameLocation":"2486:11:4","nodeType":"VariableDeclaration","scope":4109,"src":"2476:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2476:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4107,"nodeType":"ArrayTypeName","src":"2476:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AccessList","nameLocation":"2424:10:4","scope":5526,"visibility":"public"},{"id":4138,"nodeType":"StructDefinition","src":"2720:385:4","nodes":[],"canonicalName":"StdCheatsSafe.RawReceipt","members":[{"constant":false,"id":4111,"mutability":"mutable","name":"blockHash","nameLocation":"2756:9:4","nodeType":"VariableDeclaration","scope":4138,"src":"2748:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2748:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4113,"mutability":"mutable","name":"blockNumber","nameLocation":"2781:11:4","nodeType":"VariableDeclaration","scope":4138,"src":"2775:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4112,"name":"bytes","nodeType":"ElementaryTypeName","src":"2775:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4115,"mutability":"mutable","name":"contractAddress","nameLocation":"2810:15:4","nodeType":"VariableDeclaration","scope":4138,"src":"2802:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4114,"name":"address","nodeType":"ElementaryTypeName","src":"2802:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4117,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"2841:17:4","nodeType":"VariableDeclaration","scope":4138,"src":"2835:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4116,"name":"bytes","nodeType":"ElementaryTypeName","src":"2835:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4119,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"2874:17:4","nodeType":"VariableDeclaration","scope":4138,"src":"2868:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4118,"name":"bytes","nodeType":"ElementaryTypeName","src":"2868:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4121,"mutability":"mutable","name":"from","nameLocation":"2909:4:4","nodeType":"VariableDeclaration","scope":4138,"src":"2901:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4120,"name":"address","nodeType":"ElementaryTypeName","src":"2901:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4123,"mutability":"mutable","name":"gasUsed","nameLocation":"2929:7:4","nodeType":"VariableDeclaration","scope":4138,"src":"2923:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4122,"name":"bytes","nodeType":"ElementaryTypeName","src":"2923:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4127,"mutability":"mutable","name":"logs","nameLocation":"2962:4:4","nodeType":"VariableDeclaration","scope":4138,"src":"2946:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":4125,"nodeType":"UserDefinedTypeName","pathNode":{"id":4124,"name":"RawReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4235,"src":"2946:13:4"},"referencedDeclaration":4235,"src":"2946:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":4126,"nodeType":"ArrayTypeName","src":"2946:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":4129,"mutability":"mutable","name":"logsBloom","nameLocation":"2982:9:4","nodeType":"VariableDeclaration","scope":4138,"src":"2976:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4128,"name":"bytes","nodeType":"ElementaryTypeName","src":"2976:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4131,"mutability":"mutable","name":"status","nameLocation":"3007:6:4","nodeType":"VariableDeclaration","scope":4138,"src":"3001:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4130,"name":"bytes","nodeType":"ElementaryTypeName","src":"3001:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4133,"mutability":"mutable","name":"to","nameLocation":"3031:2:4","nodeType":"VariableDeclaration","scope":4138,"src":"3023:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4132,"name":"address","nodeType":"ElementaryTypeName","src":"3023:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4135,"mutability":"mutable","name":"transactionHash","nameLocation":"3051:15:4","nodeType":"VariableDeclaration","scope":4138,"src":"3043:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3043:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4137,"mutability":"mutable","name":"transactionIndex","nameLocation":"3082:16:4","nodeType":"VariableDeclaration","scope":4138,"src":"3076:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4136,"name":"bytes","nodeType":"ElementaryTypeName","src":"3076:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceipt","nameLocation":"2727:10:4","scope":5526,"visibility":"public"},{"id":4167,"nodeType":"StructDefinition","src":"3111:391:4","nodes":[],"canonicalName":"StdCheatsSafe.Receipt","members":[{"constant":false,"id":4140,"mutability":"mutable","name":"blockHash","nameLocation":"3144:9:4","nodeType":"VariableDeclaration","scope":4167,"src":"3136:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3136:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4142,"mutability":"mutable","name":"blockNumber","nameLocation":"3171:11:4","nodeType":"VariableDeclaration","scope":4167,"src":"3163:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4141,"name":"uint256","nodeType":"ElementaryTypeName","src":"3163:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4144,"mutability":"mutable","name":"contractAddress","nameLocation":"3200:15:4","nodeType":"VariableDeclaration","scope":4167,"src":"3192:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4143,"name":"address","nodeType":"ElementaryTypeName","src":"3192:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4146,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3233:17:4","nodeType":"VariableDeclaration","scope":4167,"src":"3225:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4145,"name":"uint256","nodeType":"ElementaryTypeName","src":"3225:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4148,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3268:17:4","nodeType":"VariableDeclaration","scope":4167,"src":"3260:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4147,"name":"uint256","nodeType":"ElementaryTypeName","src":"3260:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4150,"mutability":"mutable","name":"from","nameLocation":"3303:4:4","nodeType":"VariableDeclaration","scope":4167,"src":"3295:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4149,"name":"address","nodeType":"ElementaryTypeName","src":"3295:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4152,"mutability":"mutable","name":"gasUsed","nameLocation":"3325:7:4","nodeType":"VariableDeclaration","scope":4167,"src":"3317:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4151,"name":"uint256","nodeType":"ElementaryTypeName","src":"3317:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4156,"mutability":"mutable","name":"logs","nameLocation":"3355:4:4","nodeType":"VariableDeclaration","scope":4167,"src":"3342:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":4154,"nodeType":"UserDefinedTypeName","pathNode":{"id":4153,"name":"ReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4255,"src":"3342:10:4"},"referencedDeclaration":4255,"src":"3342:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":4155,"nodeType":"ArrayTypeName","src":"3342:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":4158,"mutability":"mutable","name":"logsBloom","nameLocation":"3375:9:4","nodeType":"VariableDeclaration","scope":4167,"src":"3369:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4157,"name":"bytes","nodeType":"ElementaryTypeName","src":"3369:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4160,"mutability":"mutable","name":"status","nameLocation":"3402:6:4","nodeType":"VariableDeclaration","scope":4167,"src":"3394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4159,"name":"uint256","nodeType":"ElementaryTypeName","src":"3394:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4162,"mutability":"mutable","name":"to","nameLocation":"3426:2:4","nodeType":"VariableDeclaration","scope":4167,"src":"3418:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4161,"name":"address","nodeType":"ElementaryTypeName","src":"3418:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4164,"mutability":"mutable","name":"transactionHash","nameLocation":"3446:15:4","nodeType":"VariableDeclaration","scope":4167,"src":"3438:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3438:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4166,"mutability":"mutable","name":"transactionIndex","nameLocation":"3479:16:4","nodeType":"VariableDeclaration","scope":4167,"src":"3471:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4165,"name":"uint256","nodeType":"ElementaryTypeName","src":"3471:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Receipt","nameLocation":"3118:7:4","scope":5526,"visibility":"public"},{"id":4190,"nodeType":"StructDefinition","src":"3625:227:4","nodes":[],"canonicalName":"StdCheatsSafe.EIP1559ScriptArtifact","members":[{"constant":false,"id":4170,"mutability":"mutable","name":"libraries","nameLocation":"3673:9:4","nodeType":"VariableDeclaration","scope":4190,"src":"3664:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4168,"name":"string","nodeType":"ElementaryTypeName","src":"3664:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4169,"nodeType":"ArrayTypeName","src":"3664:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4172,"mutability":"mutable","name":"path","nameLocation":"3699:4:4","nodeType":"VariableDeclaration","scope":4190,"src":"3692:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4171,"name":"string","nodeType":"ElementaryTypeName","src":"3692:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4175,"mutability":"mutable","name":"pending","nameLocation":"3722:7:4","nodeType":"VariableDeclaration","scope":4190,"src":"3713:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4173,"name":"string","nodeType":"ElementaryTypeName","src":"3713:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4174,"nodeType":"ArrayTypeName","src":"3713:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4179,"mutability":"mutable","name":"receipts","nameLocation":"3749:8:4","nodeType":"VariableDeclaration","scope":4190,"src":"3739:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4177,"nodeType":"UserDefinedTypeName","pathNode":{"id":4176,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"3739:7:4"},"referencedDeclaration":4167,"src":"3739:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4178,"nodeType":"ArrayTypeName","src":"3739:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"},{"constant":false,"id":4181,"mutability":"mutable","name":"timestamp","nameLocation":"3775:9:4","nodeType":"VariableDeclaration","scope":4190,"src":"3767:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4180,"name":"uint256","nodeType":"ElementaryTypeName","src":"3767:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4185,"mutability":"mutable","name":"transactions","nameLocation":"3803:12:4","nodeType":"VariableDeclaration","scope":4190,"src":"3794:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4183,"nodeType":"UserDefinedTypeName","pathNode":{"id":4182,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"3794:6:4"},"referencedDeclaration":4034,"src":"3794:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4184,"nodeType":"ArrayTypeName","src":"3794:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"},{"constant":false,"id":4189,"mutability":"mutable","name":"txReturns","nameLocation":"3836:9:4","nodeType":"VariableDeclaration","scope":4190,"src":"3825:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":4187,"nodeType":"UserDefinedTypeName","pathNode":{"id":4186,"name":"TxReturn","nodeType":"IdentifierPath","referencedDeclaration":4260,"src":"3825:8:4"},"referencedDeclaration":4260,"src":"3825:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$4260_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":4188,"nodeType":"ArrayTypeName","src":"3825:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"}],"name":"EIP1559ScriptArtifact","nameLocation":"3632:21:4","scope":5526,"visibility":"public"},{"id":4213,"nodeType":"StructDefinition","src":"3858:236:4","nodes":[],"canonicalName":"StdCheatsSafe.RawEIP1559ScriptArtifact","members":[{"constant":false,"id":4193,"mutability":"mutable","name":"libraries","nameLocation":"3909:9:4","nodeType":"VariableDeclaration","scope":4213,"src":"3900:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4191,"name":"string","nodeType":"ElementaryTypeName","src":"3900:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4192,"nodeType":"ArrayTypeName","src":"3900:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4195,"mutability":"mutable","name":"path","nameLocation":"3935:4:4","nodeType":"VariableDeclaration","scope":4213,"src":"3928:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4194,"name":"string","nodeType":"ElementaryTypeName","src":"3928:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4198,"mutability":"mutable","name":"pending","nameLocation":"3958:7:4","nodeType":"VariableDeclaration","scope":4213,"src":"3949:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4196,"name":"string","nodeType":"ElementaryTypeName","src":"3949:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4197,"nodeType":"ArrayTypeName","src":"3949:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4202,"mutability":"mutable","name":"receipts","nameLocation":"3988:8:4","nodeType":"VariableDeclaration","scope":4213,"src":"3975:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":4200,"nodeType":"UserDefinedTypeName","pathNode":{"id":4199,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"3975:10:4"},"referencedDeclaration":4138,"src":"3975:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":4201,"nodeType":"ArrayTypeName","src":"3975:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"},{"constant":false,"id":4206,"mutability":"mutable","name":"txReturns","nameLocation":"4017:9:4","nodeType":"VariableDeclaration","scope":4213,"src":"4006:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":4204,"nodeType":"UserDefinedTypeName","pathNode":{"id":4203,"name":"TxReturn","nodeType":"IdentifierPath","referencedDeclaration":4260,"src":"4006:8:4"},"referencedDeclaration":4260,"src":"4006:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$4260_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":4205,"nodeType":"ArrayTypeName","src":"4006:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"},{"constant":false,"id":4208,"mutability":"mutable","name":"timestamp","nameLocation":"4044:9:4","nodeType":"VariableDeclaration","scope":4213,"src":"4036:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4207,"name":"uint256","nodeType":"ElementaryTypeName","src":"4036:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4212,"mutability":"mutable","name":"transactions","nameLocation":"4075:12:4","nodeType":"VariableDeclaration","scope":4213,"src":"4063:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4210,"nodeType":"UserDefinedTypeName","pathNode":{"id":4209,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"4063:9:4"},"referencedDeclaration":3998,"src":"4063:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4211,"nodeType":"ArrayTypeName","src":"4063:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"name":"RawEIP1559ScriptArtifact","nameLocation":"3865:24:4","scope":5526,"visibility":"public"},{"id":4235,"nodeType":"StructDefinition","src":"4100:334:4","nodes":[],"canonicalName":"StdCheatsSafe.RawReceiptLog","members":[{"constant":false,"id":4215,"mutability":"mutable","name":"logAddress","nameLocation":"4171:10:4","nodeType":"VariableDeclaration","scope":4235,"src":"4163:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4214,"name":"address","nodeType":"ElementaryTypeName","src":"4163:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4217,"mutability":"mutable","name":"blockHash","nameLocation":"4199:9:4","nodeType":"VariableDeclaration","scope":4235,"src":"4191:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4191:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4219,"mutability":"mutable","name":"blockNumber","nameLocation":"4224:11:4","nodeType":"VariableDeclaration","scope":4235,"src":"4218:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4218,"name":"bytes","nodeType":"ElementaryTypeName","src":"4218:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4221,"mutability":"mutable","name":"data","nameLocation":"4251:4:4","nodeType":"VariableDeclaration","scope":4235,"src":"4245:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4220,"name":"bytes","nodeType":"ElementaryTypeName","src":"4245:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4223,"mutability":"mutable","name":"logIndex","nameLocation":"4271:8:4","nodeType":"VariableDeclaration","scope":4235,"src":"4265:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4222,"name":"bytes","nodeType":"ElementaryTypeName","src":"4265:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4225,"mutability":"mutable","name":"removed","nameLocation":"4294:7:4","nodeType":"VariableDeclaration","scope":4235,"src":"4289:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4224,"name":"bool","nodeType":"ElementaryTypeName","src":"4289:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4228,"mutability":"mutable","name":"topics","nameLocation":"4321:6:4","nodeType":"VariableDeclaration","scope":4235,"src":"4311:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4311:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4227,"nodeType":"ArrayTypeName","src":"4311:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":4230,"mutability":"mutable","name":"transactionHash","nameLocation":"4345:15:4","nodeType":"VariableDeclaration","scope":4235,"src":"4337:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4337:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4232,"mutability":"mutable","name":"transactionIndex","nameLocation":"4376:16:4","nodeType":"VariableDeclaration","scope":4235,"src":"4370:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4231,"name":"bytes","nodeType":"ElementaryTypeName","src":"4370:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4234,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4408:19:4","nodeType":"VariableDeclaration","scope":4235,"src":"4402:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4233,"name":"bytes","nodeType":"ElementaryTypeName","src":"4402:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceiptLog","nameLocation":"4107:13:4","scope":5526,"visibility":"public"},{"id":4255,"nodeType":"StructDefinition","src":"4440:306:4","nodes":[],"canonicalName":"StdCheatsSafe.ReceiptLog","members":[{"constant":false,"id":4237,"mutability":"mutable","name":"logAddress","nameLocation":"4508:10:4","nodeType":"VariableDeclaration","scope":4255,"src":"4500:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4236,"name":"address","nodeType":"ElementaryTypeName","src":"4500:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4239,"mutability":"mutable","name":"blockHash","nameLocation":"4536:9:4","nodeType":"VariableDeclaration","scope":4255,"src":"4528:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4528:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4241,"mutability":"mutable","name":"blockNumber","nameLocation":"4563:11:4","nodeType":"VariableDeclaration","scope":4255,"src":"4555:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4240,"name":"uint256","nodeType":"ElementaryTypeName","src":"4555:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4243,"mutability":"mutable","name":"data","nameLocation":"4590:4:4","nodeType":"VariableDeclaration","scope":4255,"src":"4584:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4242,"name":"bytes","nodeType":"ElementaryTypeName","src":"4584:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4245,"mutability":"mutable","name":"logIndex","nameLocation":"4612:8:4","nodeType":"VariableDeclaration","scope":4255,"src":"4604:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4244,"name":"uint256","nodeType":"ElementaryTypeName","src":"4604:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4248,"mutability":"mutable","name":"topics","nameLocation":"4640:6:4","nodeType":"VariableDeclaration","scope":4255,"src":"4630:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4630:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4247,"nodeType":"ArrayTypeName","src":"4630:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":4250,"mutability":"mutable","name":"transactionIndex","nameLocation":"4664:16:4","nodeType":"VariableDeclaration","scope":4255,"src":"4656:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4249,"name":"uint256","nodeType":"ElementaryTypeName","src":"4656:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4252,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4698:19:4","nodeType":"VariableDeclaration","scope":4255,"src":"4690:27:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4251,"name":"uint256","nodeType":"ElementaryTypeName","src":"4690:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4254,"mutability":"mutable","name":"removed","nameLocation":"4732:7:4","nodeType":"VariableDeclaration","scope":4255,"src":"4727:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4253,"name":"bool","nodeType":"ElementaryTypeName","src":"4727:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"ReceiptLog","nameLocation":"4447:10:4","scope":5526,"visibility":"public"},{"id":4260,"nodeType":"StructDefinition","src":"4752:74:4","nodes":[],"canonicalName":"StdCheatsSafe.TxReturn","members":[{"constant":false,"id":4257,"mutability":"mutable","name":"internalType","nameLocation":"4785:12:4","nodeType":"VariableDeclaration","scope":4260,"src":"4778:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4256,"name":"string","nodeType":"ElementaryTypeName","src":"4778:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4259,"mutability":"mutable","name":"value","nameLocation":"4814:5:4","nodeType":"VariableDeclaration","scope":4260,"src":"4807:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4258,"name":"string","nodeType":"ElementaryTypeName","src":"4807:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"TxReturn","nameLocation":"4759:8:4","scope":5526,"visibility":"public"},{"id":4275,"nodeType":"FunctionDefinition","src":"4832:274:4","nodes":[],"body":{"id":4274,"nodeType":"Block","src":"4892:214:4","nodes":[],"statements":[{"assignments":[4266],"declarations":[{"constant":false,"id":4266,"mutability":"mutable","name":"chainId","nameLocation":"4986:7:4","nodeType":"VariableDeclaration","scope":4274,"src":"4978:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4265,"name":"uint256","nodeType":"ElementaryTypeName","src":"4978:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4267,"nodeType":"VariableDeclarationStatement","src":"4978:15:4"},{"AST":{"nodeType":"YulBlock","src":"5012:44:4","statements":[{"nodeType":"YulAssignment","src":"5026:20:4","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"5037:7:4"},"nodeType":"YulFunctionCall","src":"5037:9:4"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"5026:7:4"}]}]},"evmVersion":"london","externalReferences":[{"declaration":4266,"isOffset":false,"isSlot":false,"src":"5026:7:4","valueSize":1}],"id":4268,"nodeType":"InlineAssembly","src":"5003:53:4"},{"expression":{"arguments":[{"id":4270,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4262,"src":"5085:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4271,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4266,"src":"5091:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4269,"name":"assumeNoPrecompiles","nodeType":"Identifier","overloadedDeclarations":[4275,4418],"referencedDeclaration":4418,"src":"5065:19:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":4272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5065:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4273,"nodeType":"ExpressionStatement","src":"5065:34:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNoPrecompiles","nameLocation":"4841:19:4","parameters":{"id":4263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4262,"mutability":"mutable","name":"addr","nameLocation":"4869:4:4","nodeType":"VariableDeclaration","scope":4275,"src":"4861:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4261,"name":"address","nodeType":"ElementaryTypeName","src":"4861:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4860:14:4"},"returnParameters":{"id":4264,"nodeType":"ParameterList","parameters":[],"src":"4892:0:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4418,"nodeType":"FunctionDefinition","src":"5112:1788:4","nodes":[],"body":{"id":4417,"nodeType":"Block","src":"5194:1706:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4285,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"5492:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307831","id":4288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5507:3:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":4287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5499:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4286,"name":"address","nodeType":"ElementaryTypeName","src":"5499:7:4","typeDescriptions":{}}},"id":4289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5499:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5492:19:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4291,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"5515:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307839","id":4294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5530:3:4","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"0x9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"}],"id":4293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5522:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4292,"name":"address","nodeType":"ElementaryTypeName","src":"5522:7:4","typeDescriptions":{}}},"id":4295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5522:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5515:19:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5492:42:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4282,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"5482:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"5482:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5482:53:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4299,"nodeType":"ExpressionStatement","src":"5482:53:4"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4300,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"5585:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3130","id":4301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5596:2:4","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"5585:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4303,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"5602:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343230","id":4304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5613:3:4","typeDescriptions":{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},"value":"420"},"src":"5602:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5585:31:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4326,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"5934:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3432313631","id":4327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5945:5:4","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},"src":"5934:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4329,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"5954:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343231363133","id":4330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5965:6:4","typeDescriptions":{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},"value":"421613"},"src":"5954:17:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5934:37:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4352,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"6248:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313134","id":4353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6259:5:4","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},"src":"6248:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4355,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"6268:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313133","id":4356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6279:5:4","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},"src":"6268:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6248:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4414,"nodeType":"IfStatement","src":"6244:617:4","trueBody":{"id":4413,"nodeType":"Block","src":"6286:575:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4362,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6439:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030303030","id":4365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6454:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0100000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6446:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4363,"name":"address","nodeType":"ElementaryTypeName","src":"6446:7:4","typeDescriptions":{}}},"id":4366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6446:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6439:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4368,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6501:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030306666","id":4371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6516:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x01000000000000000000000000000000000000ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6508:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4369,"name":"address","nodeType":"ElementaryTypeName","src":"6508:7:4","typeDescriptions":{}}},"id":4372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6508:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6501:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6439:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4359,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"6429:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"6429:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6429:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4376,"nodeType":"ExpressionStatement","src":"6429:131:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4380,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6584:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6599:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6591:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4381,"name":"address","nodeType":"ElementaryTypeName","src":"6591:7:4","typeDescriptions":{}}},"id":4384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6591:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6584:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4386,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6646:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030304646","id":4389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6661:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x02000000000000000000000000000000000000FF"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6653:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4387,"name":"address","nodeType":"ElementaryTypeName","src":"6653:7:4","typeDescriptions":{}}},"id":4390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6653:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6646:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6584:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"6574:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"6574:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6574:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4394,"nodeType":"ExpressionStatement","src":"6574:131:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4398,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6729:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030303030","id":4401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6744:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0300000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6736:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4399,"name":"address","nodeType":"ElementaryTypeName","src":"6736:7:4","typeDescriptions":{}}},"id":4402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6736:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6729:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4404,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6791:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030304666","id":4407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6806:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x03000000000000000000000000000000000000Ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6798:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4405,"name":"address","nodeType":"ElementaryTypeName","src":"6798:7:4","typeDescriptions":{}}},"id":4408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6798:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6791:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6729:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4395,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"6719:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"6719:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6719:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4412,"nodeType":"ExpressionStatement","src":"6719:131:4"}]}},"id":4415,"nodeType":"IfStatement","src":"5930:931:4","trueBody":{"id":4351,"nodeType":"Block","src":"5973:265:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4336,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6106:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303634","id":4339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6121:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000064"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6113:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4337,"name":"address","nodeType":"ElementaryTypeName","src":"6113:7:4","typeDescriptions":{}}},"id":4340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6113:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6106:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4342,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6168:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303638","id":4345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6183:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000068"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6175:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4343,"name":"address","nodeType":"ElementaryTypeName","src":"6175:7:4","typeDescriptions":{}}},"id":4346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6175:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6168:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6106:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4333,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"6096:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"6096:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6096:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4350,"nodeType":"ExpressionStatement","src":"6096:131:4"}]}},"id":4416,"nodeType":"IfStatement","src":"5581:1280:4","trueBody":{"id":4325,"nodeType":"Block","src":"5618:306:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4310,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"5792:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5807:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5799:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4311,"name":"address","nodeType":"ElementaryTypeName","src":"5799:7:4","typeDescriptions":{}}},"id":4314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5799:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5792:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4316,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"5854:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030383030","id":4319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5869:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000800"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5861:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4317,"name":"address","nodeType":"ElementaryTypeName","src":"5861:7:4","typeDescriptions":{}}},"id":4320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5861:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5854:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5792:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4307,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"5782:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"5782:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5782:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4324,"nodeType":"ExpressionStatement","src":"5782:131:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNoPrecompiles","nameLocation":"5121:19:4","parameters":{"id":4280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4277,"mutability":"mutable","name":"addr","nameLocation":"5149:4:4","nodeType":"VariableDeclaration","scope":4418,"src":"5141:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4276,"name":"address","nodeType":"ElementaryTypeName","src":"5141:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4279,"mutability":"mutable","name":"chainId","nameLocation":"5163:7:4","nodeType":"VariableDeclaration","scope":4418,"src":"5155:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4278,"name":"uint256","nodeType":"ElementaryTypeName","src":"5155:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5140:31:4"},"returnParameters":{"id":4281,"nodeType":"ParameterList","parameters":[],"src":"5194:0:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4510,"nodeType":"FunctionDefinition","src":"6906:843:4","nodes":[],"body":{"id":4509,"nodeType":"Block","src":"7058:691:4","nodes":[],"statements":[{"assignments":[4427],"declarations":[{"constant":false,"id":4427,"mutability":"mutable","name":"data","nameLocation":"7082:4:4","nodeType":"VariableDeclaration","scope":4509,"src":"7068:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4426,"name":"string","nodeType":"ElementaryTypeName","src":"7068:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4432,"initialValue":{"arguments":[{"id":4430,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"7101:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4428,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"7089:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"7089:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7089:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"7068:38:4"},{"assignments":[4434],"declarations":[{"constant":false,"id":4434,"mutability":"mutable","name":"parsedData","nameLocation":"7129:10:4","nodeType":"VariableDeclaration","scope":4509,"src":"7116:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4433,"name":"bytes","nodeType":"ElementaryTypeName","src":"7116:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4439,"initialValue":{"arguments":[{"id":4437,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4427,"src":"7155:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4435,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"7142:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11346,"src":"7142:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure external returns (bytes memory)"}},"id":4438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7142:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7116:44:4"},{"assignments":[4442],"declarations":[{"constant":false,"id":4442,"mutability":"mutable","name":"rawArtifact","nameLocation":"7202:11:4","nodeType":"VariableDeclaration","scope":4509,"src":"7170:43:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"},"typeName":{"id":4441,"nodeType":"UserDefinedTypeName","pathNode":{"id":4440,"name":"RawEIP1559ScriptArtifact","nodeType":"IdentifierPath","referencedDeclaration":4213,"src":"7170:24:4"},"referencedDeclaration":4213,"src":"7170:24:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_storage_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"}},"visibility":"internal"}],"id":4449,"initialValue":{"arguments":[{"id":4445,"name":"parsedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4434,"src":"7227:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4446,"name":"RawEIP1559ScriptArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4213,"src":"7240:24:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4213_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"id":4447,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7239:26:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4213_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4213_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}],"expression":{"id":4443,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7216:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"7216:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7216:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"nodeType":"VariableDeclarationStatement","src":"7170:96:4"},{"assignments":[4452],"declarations":[{"constant":false,"id":4452,"mutability":"mutable","name":"artifact","nameLocation":"7305:8:4","nodeType":"VariableDeclaration","scope":4509,"src":"7276:37:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":4451,"nodeType":"UserDefinedTypeName","pathNode":{"id":4450,"name":"EIP1559ScriptArtifact","nodeType":"IdentifierPath","referencedDeclaration":4190,"src":"7276:21:4"},"referencedDeclaration":4190,"src":"7276:21:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"id":4453,"nodeType":"VariableDeclarationStatement","src":"7276:37:4"},{"expression":{"id":4459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4454,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7323:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":4170,"src":"7323:18:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4457,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7344:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":4193,"src":"7344:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"7323:42:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":4460,"nodeType":"ExpressionStatement","src":"7323:42:4"},{"expression":{"id":4466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4461,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7375:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"path","nodeType":"MemberAccess","referencedDeclaration":4172,"src":"7375:13:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4464,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7391:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"path","nodeType":"MemberAccess","referencedDeclaration":4195,"src":"7391:16:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7375:32:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4467,"nodeType":"ExpressionStatement","src":"7375:32:4"},{"expression":{"id":4473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4468,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7417:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":4181,"src":"7417:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4471,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7438:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":4208,"src":"7438:21:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7417:42:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4474,"nodeType":"ExpressionStatement","src":"7417:42:4"},{"expression":{"id":4480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4475,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7469:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":4175,"src":"7469:16:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4478,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7488:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":4198,"src":"7488:19:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"7469:38:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":4481,"nodeType":"ExpressionStatement","src":"7469:38:4"},{"expression":{"id":4487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4482,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7517:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":4189,"src":"7517:18:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4485,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7538:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":4206,"src":"7538:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"src":"7517:42:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"id":4488,"nodeType":"ExpressionStatement","src":"7517:42:4"},{"expression":{"id":4496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4489,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7569:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":4179,"src":"7569:17:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4493,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7612:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":4202,"src":"7612:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":4492,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"7589:22:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":4495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7589:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"src":"7569:64:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":4497,"nodeType":"ExpressionStatement","src":"7569:64:4"},{"expression":{"id":4505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4498,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7643:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":4185,"src":"7643:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4502,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7692:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":4212,"src":"7692:24:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":4501,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4559,"src":"7667:24:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":4504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7667:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"src":"7643:74:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":4506,"nodeType":"ExpressionStatement","src":"7643:74:4"},{"expression":{"id":4507,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7734:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"functionReturnParameters":4425,"id":4508,"nodeType":"Return","src":"7727:15:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readEIP1559ScriptArtifact","nameLocation":"6915:25:4","parameters":{"id":4421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4420,"mutability":"mutable","name":"path","nameLocation":"6955:4:4","nodeType":"VariableDeclaration","scope":4510,"src":"6941:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4419,"name":"string","nodeType":"ElementaryTypeName","src":"6941:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6940:20:4"},"returnParameters":{"id":4425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4510,"src":"7024:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":4423,"nodeType":"UserDefinedTypeName","pathNode":{"id":4422,"name":"EIP1559ScriptArtifact","nodeType":"IdentifierPath","referencedDeclaration":4190,"src":"7024:21:4"},"referencedDeclaration":4190,"src":"7024:21:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"src":"7023:30:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4559,"nodeType":"FunctionDefinition","src":"7755:312:4","nodes":[],"body":{"id":4558,"nodeType":"Block","src":"7864:203:4","nodes":[],"statements":[{"assignments":[4525],"declarations":[{"constant":false,"id":4525,"mutability":"mutable","name":"txs","nameLocation":"7890:3:4","nodeType":"VariableDeclaration","scope":4558,"src":"7874:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4523,"nodeType":"UserDefinedTypeName","pathNode":{"id":4522,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"7874:6:4"},"referencedDeclaration":4034,"src":"7874:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4524,"nodeType":"ArrayTypeName","src":"7874:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"id":4533,"initialValue":{"arguments":[{"expression":{"id":4530,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4514,"src":"7909:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":4531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7909:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7896:12:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"},"typeName":{"baseType":{"id":4527,"nodeType":"UserDefinedTypeName","pathNode":{"id":4526,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"7900:6:4"},"referencedDeclaration":4034,"src":"7900:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4528,"nodeType":"ArrayTypeName","src":"7900:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}}},"id":4532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7896:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7874:49:4"},{"body":{"id":4554,"nodeType":"Block","src":"7973:68:4","statements":[{"expression":{"id":4552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4544,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4525,"src":"7987:3:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":4546,"indexExpression":{"id":4545,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4535,"src":"7991:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7987:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":4548,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4514,"src":"8020:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":4550,"indexExpression":{"id":4549,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4535,"src":"8027:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8020:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":4547,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"7996:23:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$3998_memory_ptr_$returns$_t_struct$_Tx1559_$4034_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":4551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7996:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"src":"7987:43:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4553,"nodeType":"ExpressionStatement","src":"7987:43:4"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4537,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4535,"src":"7949:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4538,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4514,"src":"7953:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":4539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7953:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7949:17:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4555,"initializationExpression":{"assignments":[4535],"declarations":[{"constant":false,"id":4535,"mutability":"mutable","name":"i","nameLocation":"7946:1:4","nodeType":"VariableDeclaration","scope":4555,"src":"7938:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4534,"name":"uint256","nodeType":"ElementaryTypeName","src":"7938:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4536,"nodeType":"VariableDeclarationStatement","src":"7938:9:4"},"loopExpression":{"expression":{"id":4542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7968:3:4","subExpression":{"id":4541,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4535,"src":"7968:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4543,"nodeType":"ExpressionStatement","src":"7968:3:4"},"nodeType":"ForStatement","src":"7933:108:4"},{"expression":{"id":4556,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4525,"src":"8057:3:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":4520,"id":4557,"nodeType":"Return","src":"8050:10:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559s","nameLocation":"7764:24:4","parameters":{"id":4515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4514,"mutability":"mutable","name":"rawTxs","nameLocation":"7808:6:4","nodeType":"VariableDeclaration","scope":4559,"src":"7789:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4512,"nodeType":"UserDefinedTypeName","pathNode":{"id":4511,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"7789:9:4"},"referencedDeclaration":3998,"src":"7789:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4513,"nodeType":"ArrayTypeName","src":"7789:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"src":"7788:27:4"},"returnParameters":{"id":4520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4559,"src":"7847:15:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4517,"nodeType":"UserDefinedTypeName","pathNode":{"id":4516,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"7847:6:4"},"referencedDeclaration":4034,"src":"7847:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4518,"nodeType":"ArrayTypeName","src":"7847:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"7846:17:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4619,"nodeType":"FunctionDefinition","src":"8073:488:4","nodes":[],"body":{"id":4618,"nodeType":"Block","src":"8176:385:4","nodes":[],"statements":[{"assignments":[4570],"declarations":[{"constant":false,"id":4570,"mutability":"mutable","name":"transaction","nameLocation":"8200:11:4","nodeType":"VariableDeclaration","scope":4618,"src":"8186:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":4569,"nodeType":"UserDefinedTypeName","pathNode":{"id":4568,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"8186:6:4"},"referencedDeclaration":4034,"src":"8186:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"id":4571,"nodeType":"VariableDeclarationStatement","src":"8186:25:4"},{"expression":{"id":4577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4572,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8221:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":4020,"src":"8221:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4575,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8245:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":3984,"src":"8245:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"8221:39:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":4578,"nodeType":"ExpressionStatement","src":"8221:39:4"},{"expression":{"id":4584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4579,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8270:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4581,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":4024,"src":"8270:24:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4582,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8297:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4583,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":3988,"src":"8297:18:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8270:45:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4585,"nodeType":"ExpressionStatement","src":"8270:45:4"},{"expression":{"id":4591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4586,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8325:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":4026,"src":"8325:23:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4589,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8351:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4590,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":3990,"src":"8351:17:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8325:43:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4592,"nodeType":"ExpressionStatement","src":"8325:43:4"},{"expression":{"id":4598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4593,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8378:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":4028,"src":"8378:16:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4596,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8397:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":3992,"src":"8397:10:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8378:29:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4599,"nodeType":"ExpressionStatement","src":"8378:29:4"},{"expression":{"id":4607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4600,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8417:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":4031,"src":"8417:20:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4604,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8468:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":3995,"src":"8468:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}],"id":4603,"name":"rawToConvertedEIP1559Detail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"8440:27:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559Detail_$4017_memory_ptr_$returns$_t_struct$_Tx1559Detail_$4053_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559Detail memory) pure returns (struct StdCheatsSafe.Tx1559Detail memory)"}},"id":4606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8440:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"src":"8417:66:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4608,"nodeType":"ExpressionStatement","src":"8417:66:4"},{"expression":{"id":4614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4609,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8493:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":4033,"src":"8493:18:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4612,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8514:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":3997,"src":"8514:12:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8493:33:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4615,"nodeType":"ExpressionStatement","src":"8493:33:4"},{"expression":{"id":4616,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8543:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":4567,"id":4617,"nodeType":"Return","src":"8536:18:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559","nameLocation":"8082:23:4","parameters":{"id":4563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4562,"mutability":"mutable","name":"rawTx","nameLocation":"8123:5:4","nodeType":"VariableDeclaration","scope":4619,"src":"8106:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":4561,"nodeType":"UserDefinedTypeName","pathNode":{"id":4560,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"8106:9:4"},"referencedDeclaration":3998,"src":"8106:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"src":"8105:24:4"},"returnParameters":{"id":4567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4619,"src":"8161:13:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":4565,"nodeType":"UserDefinedTypeName","pathNode":{"id":4564,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"8161:6:4"},"referencedDeclaration":4034,"src":"8161:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"8160:15:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4699,"nodeType":"FunctionDefinition","src":"8567:619:4","nodes":[],"body":{"id":4698,"nodeType":"Block","src":"8726:460:4","nodes":[],"statements":[{"assignments":[4630],"declarations":[{"constant":false,"id":4630,"mutability":"mutable","name":"txDetail","nameLocation":"8756:8:4","nodeType":"VariableDeclaration","scope":4698,"src":"8736:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4629,"nodeType":"UserDefinedTypeName","pathNode":{"id":4628,"name":"Tx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4053,"src":"8736:12:4"},"referencedDeclaration":4053,"src":"8736:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"id":4631,"nodeType":"VariableDeclarationStatement","src":"8736:28:4"},{"expression":{"id":4637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4632,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8774:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4040,"src":"8774:13:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4635,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8790:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4636,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4004,"src":"8790:14:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"8774:30:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4638,"nodeType":"ExpressionStatement","src":"8774:30:4"},{"expression":{"id":4644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4639,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8814:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4042,"src":"8814:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4642,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8830:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4006,"src":"8830:14:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8814:30:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4645,"nodeType":"ExpressionStatement","src":"8814:30:4"},{"expression":{"id":4651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4646,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8854:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4048,"src":"8854:11:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4649,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8868:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4012,"src":"8868:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8854:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4652,"nodeType":"ExpressionStatement","src":"8854:26:4"},{"expression":{"id":4660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4653,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8890:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":4046,"src":"8890:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4657,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8920:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":4010,"src":"8920:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4656,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"8907:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8907:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8890:46:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4661,"nodeType":"ExpressionStatement","src":"8890:46:4"},{"expression":{"id":4669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4662,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8946:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":4050,"src":"8946:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4666,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8977:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":4014,"src":"8977:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4665,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"8964:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8964:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8946:48:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4670,"nodeType":"ExpressionStatement","src":"8946:48:4"},{"expression":{"id":4678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4671,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"9004:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":4052,"src":"9004:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4675,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"9034:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4676,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":4016,"src":"9034:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4674,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"9021:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9021:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9004:46:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4679,"nodeType":"ExpressionStatement","src":"9004:46:4"},{"expression":{"id":4687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4680,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"9060:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":4044,"src":"9060:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4684,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"9088:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4685,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":4008,"src":"9088:13:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4683,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"9075:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9075:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9060:42:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4688,"nodeType":"ExpressionStatement","src":"9060:42:4"},{"expression":{"id":4694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4689,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"9112:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":4038,"src":"9112:19:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4692,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"9134:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4693,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":4002,"src":"9134:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"src":"9112:42:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"id":4695,"nodeType":"ExpressionStatement","src":"9112:42:4"},{"expression":{"id":4696,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"9171:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"functionReturnParameters":4627,"id":4697,"nodeType":"Return","src":"9164:15:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIP1559Detail","nameLocation":"8576:27:4","parameters":{"id":4623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4622,"mutability":"mutable","name":"rawDetail","nameLocation":"8627:9:4","nodeType":"VariableDeclaration","scope":4699,"src":"8604:32:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":4621,"nodeType":"UserDefinedTypeName","pathNode":{"id":4620,"name":"RawTx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4017,"src":"8604:15:4"},"referencedDeclaration":4017,"src":"8604:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"}],"src":"8603:34:4"},"returnParameters":{"id":4627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4699,"src":"8701:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4625,"nodeType":"UserDefinedTypeName","pathNode":{"id":4624,"name":"Tx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4053,"src":"8701:12:4"},"referencedDeclaration":4053,"src":"8701:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"src":"8700:21:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4741,"nodeType":"FunctionDefinition","src":"9192:363:4","nodes":[],"body":{"id":4740,"nodeType":"Block","src":"9281:274:4","nodes":[],"statements":[{"assignments":[4709],"declarations":[{"constant":false,"id":4709,"mutability":"mutable","name":"deployData","nameLocation":"9305:10:4","nodeType":"VariableDeclaration","scope":4740,"src":"9291:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4708,"name":"string","nodeType":"ElementaryTypeName","src":"9291:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4714,"initialValue":{"arguments":[{"id":4712,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4701,"src":"9330:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4710,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9318:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"9318:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9318:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"9291:44:4"},{"assignments":[4716],"declarations":[{"constant":false,"id":4716,"mutability":"mutable","name":"parsedDeployData","nameLocation":"9358:16:4","nodeType":"VariableDeclaration","scope":4740,"src":"9345:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4715,"name":"bytes","nodeType":"ElementaryTypeName","src":"9345:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4722,"initialValue":{"arguments":[{"id":4719,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4709,"src":"9390:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e73","id":4720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9402:15:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""},"value":".transactions"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""}],"expression":{"id":4717,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9377:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"9377:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9377:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9345:73:4"},{"assignments":[4727],"declarations":[{"constant":false,"id":4727,"mutability":"mutable","name":"rawTxs","nameLocation":"9447:6:4","nodeType":"VariableDeclaration","scope":4740,"src":"9428:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4725,"nodeType":"UserDefinedTypeName","pathNode":{"id":4724,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"9428:9:4"},"referencedDeclaration":3998,"src":"9428:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4726,"nodeType":"ArrayTypeName","src":"9428:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"id":4735,"initialValue":{"arguments":[{"id":4730,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4716,"src":"9467:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":4731,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3998,"src":"9486:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3998_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}},"id":4732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"9486:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"id":4733,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9485:13:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}],"expression":{"id":4728,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9456:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"9456:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9456:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9428:71:4"},{"expression":{"arguments":[{"id":4737,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4727,"src":"9541:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":4736,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4559,"src":"9516:24:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":4738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9516:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":4707,"id":4739,"nodeType":"Return","src":"9509:39:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559s","nameLocation":"9201:11:4","parameters":{"id":4702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4701,"mutability":"mutable","name":"path","nameLocation":"9227:4:4","nodeType":"VariableDeclaration","scope":4741,"src":"9213:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4700,"name":"string","nodeType":"ElementaryTypeName","src":"9213:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9212:20:4"},"returnParameters":{"id":4707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4706,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4741,"src":"9264:15:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4704,"nodeType":"UserDefinedTypeName","pathNode":{"id":4703,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"9264:6:4"},"referencedDeclaration":4034,"src":"9264:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4705,"nodeType":"ArrayTypeName","src":"9264:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"9263:17:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4796,"nodeType":"FunctionDefinition","src":"9561:453:4","nodes":[],"body":{"id":4795,"nodeType":"Block","src":"9662:352:4","nodes":[],"statements":[{"assignments":[4752],"declarations":[{"constant":false,"id":4752,"mutability":"mutable","name":"deployData","nameLocation":"9686:10:4","nodeType":"VariableDeclaration","scope":4795,"src":"9672:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4751,"name":"string","nodeType":"ElementaryTypeName","src":"9672:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4757,"initialValue":{"arguments":[{"id":4755,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4743,"src":"9711:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4753,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9699:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"9699:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9699:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"9672:44:4"},{"assignments":[4759],"declarations":[{"constant":false,"id":4759,"mutability":"mutable","name":"key","nameLocation":"9740:3:4","nodeType":"VariableDeclaration","scope":4795,"src":"9726:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4758,"name":"string","nodeType":"ElementaryTypeName","src":"9726:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4772,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e7472616e73616374696f6e735b","id":4764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9770:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},"value":".transactions["},{"arguments":[{"id":4767,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"9800:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4765,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9788:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"9788:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":4768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9788:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":4769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9808:3:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":4762,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9753:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"9753:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9753:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9746:6:4","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":4760,"name":"string","nodeType":"ElementaryTypeName","src":"9746:6:4","typeDescriptions":{}}},"id":4771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9746:67:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"9726:87:4"},{"assignments":[4774],"declarations":[{"constant":false,"id":4774,"mutability":"mutable","name":"parsedDeployData","nameLocation":"9836:16:4","nodeType":"VariableDeclaration","scope":4795,"src":"9823:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4773,"name":"bytes","nodeType":"ElementaryTypeName","src":"9823:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4780,"initialValue":{"arguments":[{"id":4777,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4752,"src":"9868:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4778,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4759,"src":"9880:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4775,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9855:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"9855:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9855:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9823:61:4"},{"assignments":[4783],"declarations":[{"constant":false,"id":4783,"mutability":"mutable","name":"rawTx","nameLocation":"9911:5:4","nodeType":"VariableDeclaration","scope":4795,"src":"9894:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":4782,"nodeType":"UserDefinedTypeName","pathNode":{"id":4781,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"9894:9:4"},"referencedDeclaration":3998,"src":"9894:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"id":4790,"initialValue":{"arguments":[{"id":4786,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4774,"src":"9930:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4787,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3998,"src":"9949:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3998_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"id":4788,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9948:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3998_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3998_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}],"expression":{"id":4784,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9919:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"9919:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9919:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"nodeType":"VariableDeclarationStatement","src":"9894:66:4"},{"expression":{"arguments":[{"id":4792,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4783,"src":"10001:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":4791,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"9977:23:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$3998_memory_ptr_$returns$_t_struct$_Tx1559_$4034_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":4793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9977:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":4750,"id":4794,"nodeType":"Return","src":"9970:37:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559","nameLocation":"9570:10:4","parameters":{"id":4746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4743,"mutability":"mutable","name":"path","nameLocation":"9595:4:4","nodeType":"VariableDeclaration","scope":4796,"src":"9581:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4742,"name":"string","nodeType":"ElementaryTypeName","src":"9581:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4745,"mutability":"mutable","name":"index","nameLocation":"9609:5:4","nodeType":"VariableDeclaration","scope":4796,"src":"9601:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4744,"name":"uint256","nodeType":"ElementaryTypeName","src":"9601:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9580:35:4"},"returnParameters":{"id":4750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4796,"src":"9647:13:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":4748,"nodeType":"UserDefinedTypeName","pathNode":{"id":4747,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"9647:6:4"},"referencedDeclaration":4034,"src":"9647:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"9646:15:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4838,"nodeType":"FunctionDefinition","src":"10076:371:4","nodes":[],"body":{"id":4837,"nodeType":"Block","src":"10167:280:4","nodes":[],"statements":[{"assignments":[4806],"declarations":[{"constant":false,"id":4806,"mutability":"mutable","name":"deployData","nameLocation":"10191:10:4","nodeType":"VariableDeclaration","scope":4837,"src":"10177:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4805,"name":"string","nodeType":"ElementaryTypeName","src":"10177:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4811,"initialValue":{"arguments":[{"id":4809,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4798,"src":"10216:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4807,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10204:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"10204:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10204:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10177:44:4"},{"assignments":[4813],"declarations":[{"constant":false,"id":4813,"mutability":"mutable","name":"parsedDeployData","nameLocation":"10244:16:4","nodeType":"VariableDeclaration","scope":4837,"src":"10231:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4812,"name":"bytes","nodeType":"ElementaryTypeName","src":"10231:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4819,"initialValue":{"arguments":[{"id":4816,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"10276:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7265636569707473","id":4817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10288:11:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""},"value":".receipts"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""}],"expression":{"id":4814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10263:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"10263:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10263:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10231:69:4"},{"assignments":[4824],"declarations":[{"constant":false,"id":4824,"mutability":"mutable","name":"rawReceipts","nameLocation":"10330:11:4","nodeType":"VariableDeclaration","scope":4837,"src":"10310:31:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":4822,"nodeType":"UserDefinedTypeName","pathNode":{"id":4821,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"10310:10:4"},"referencedDeclaration":4138,"src":"10310:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":4823,"nodeType":"ArrayTypeName","src":"10310:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"id":4832,"initialValue":{"arguments":[{"id":4827,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4813,"src":"10355:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":4828,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"10374:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4138_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}},"id":4829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"10374:12:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"id":4830,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10373:14:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}],"expression":{"id":4825,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10344:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"10344:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10344:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10310:78:4"},{"expression":{"arguments":[{"id":4834,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4824,"src":"10428:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":4833,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"10405:22:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":4835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10405:35:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":4804,"id":4836,"nodeType":"Return","src":"10398:42:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipts","nameLocation":"10085:12:4","parameters":{"id":4799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4798,"mutability":"mutable","name":"path","nameLocation":"10112:4:4","nodeType":"VariableDeclaration","scope":4838,"src":"10098:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4797,"name":"string","nodeType":"ElementaryTypeName","src":"10098:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10097:20:4"},"returnParameters":{"id":4804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4803,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4838,"src":"10149:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4801,"nodeType":"UserDefinedTypeName","pathNode":{"id":4800,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"10149:7:4"},"referencedDeclaration":4167,"src":"10149:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4802,"nodeType":"ArrayTypeName","src":"10149:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"10148:18:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4893,"nodeType":"FunctionDefinition","src":"10453:461:4","nodes":[],"body":{"id":4892,"nodeType":"Block","src":"10556:358:4","nodes":[],"statements":[{"assignments":[4849],"declarations":[{"constant":false,"id":4849,"mutability":"mutable","name":"deployData","nameLocation":"10580:10:4","nodeType":"VariableDeclaration","scope":4892,"src":"10566:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4848,"name":"string","nodeType":"ElementaryTypeName","src":"10566:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4854,"initialValue":{"arguments":[{"id":4852,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4840,"src":"10605:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4850,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10593:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"10593:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10593:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10566:44:4"},{"assignments":[4856],"declarations":[{"constant":false,"id":4856,"mutability":"mutable","name":"key","nameLocation":"10634:3:4","nodeType":"VariableDeclaration","scope":4892,"src":"10620:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4855,"name":"string","nodeType":"ElementaryTypeName","src":"10620:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4869,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e72656365697074735b","id":4861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10664:12:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},"value":".receipts["},{"arguments":[{"id":4864,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"10690:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4862,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10678:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"10678:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":4865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10678:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":4866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10698:3:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":4859,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10647:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"10647:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10647:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10640:6:4","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":4857,"name":"string","nodeType":"ElementaryTypeName","src":"10640:6:4","typeDescriptions":{}}},"id":4868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10640:63:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10620:83:4"},{"assignments":[4871],"declarations":[{"constant":false,"id":4871,"mutability":"mutable","name":"parsedDeployData","nameLocation":"10726:16:4","nodeType":"VariableDeclaration","scope":4892,"src":"10713:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4870,"name":"bytes","nodeType":"ElementaryTypeName","src":"10713:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4877,"initialValue":{"arguments":[{"id":4874,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4849,"src":"10758:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4875,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4856,"src":"10770:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10745:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"10745:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10745:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10713:61:4"},{"assignments":[4880],"declarations":[{"constant":false,"id":4880,"mutability":"mutable","name":"rawReceipt","nameLocation":"10802:10:4","nodeType":"VariableDeclaration","scope":4892,"src":"10784:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":4879,"nodeType":"UserDefinedTypeName","pathNode":{"id":4878,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"10784:10:4"},"referencedDeclaration":4138,"src":"10784:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"id":4887,"initialValue":{"arguments":[{"id":4883,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4871,"src":"10826:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4884,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"10845:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4138_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"id":4885,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10844:12:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4138_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4138_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}],"expression":{"id":4881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10815:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"10815:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10815:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"nodeType":"VariableDeclarationStatement","src":"10784:73:4"},{"expression":{"arguments":[{"id":4889,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4880,"src":"10896:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":4888,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5063,"src":"10874:21:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$4138_memory_ptr_$returns$_t_struct$_Receipt_$4167_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":4890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10874:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":4847,"id":4891,"nodeType":"Return","src":"10867:40:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipt","nameLocation":"10462:11:4","parameters":{"id":4843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4840,"mutability":"mutable","name":"path","nameLocation":"10488:4:4","nodeType":"VariableDeclaration","scope":4893,"src":"10474:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4839,"name":"string","nodeType":"ElementaryTypeName","src":"10474:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4842,"mutability":"mutable","name":"index","nameLocation":"10502:5:4","nodeType":"VariableDeclaration","scope":4893,"src":"10494:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4841,"name":"uint256","nodeType":"ElementaryTypeName","src":"10494:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10473:35:4"},"returnParameters":{"id":4847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4846,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4893,"src":"10540:14:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":4845,"nodeType":"UserDefinedTypeName","pathNode":{"id":4844,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"10540:7:4"},"referencedDeclaration":4167,"src":"10540:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"10539:16:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4942,"nodeType":"FunctionDefinition","src":"10920:347:4","nodes":[],"body":{"id":4941,"nodeType":"Block","src":"11034:233:4","nodes":[],"statements":[{"assignments":[4908],"declarations":[{"constant":false,"id":4908,"mutability":"mutable","name":"receipts","nameLocation":"11061:8:4","nodeType":"VariableDeclaration","scope":4941,"src":"11044:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4906,"nodeType":"UserDefinedTypeName","pathNode":{"id":4905,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11044:7:4"},"referencedDeclaration":4167,"src":"11044:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4907,"nodeType":"ArrayTypeName","src":"11044:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"id":4916,"initialValue":{"arguments":[{"expression":{"id":4913,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4897,"src":"11086:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":4914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11086:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11072:13:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"},"typeName":{"baseType":{"id":4910,"nodeType":"UserDefinedTypeName","pathNode":{"id":4909,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11076:7:4"},"referencedDeclaration":4167,"src":"11076:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4911,"nodeType":"ArrayTypeName","src":"11076:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}}},"id":4915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11072:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11044:61:4"},{"body":{"id":4937,"nodeType":"Block","src":"11160:76:4","statements":[{"expression":{"id":4935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4927,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4908,"src":"11174:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":4929,"indexExpression":{"id":4928,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"11183:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11174:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":4931,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4897,"src":"11210:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":4933,"indexExpression":{"id":4932,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"11222:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11210:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":4930,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5063,"src":"11188:21:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$4138_memory_ptr_$returns$_t_struct$_Receipt_$4167_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":4934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11188:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"src":"11174:51:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4936,"nodeType":"ExpressionStatement","src":"11174:51:4"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4920,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"11131:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4921,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4897,"src":"11135:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":4922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11135:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11131:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4938,"initializationExpression":{"assignments":[4918],"declarations":[{"constant":false,"id":4918,"mutability":"mutable","name":"i","nameLocation":"11128:1:4","nodeType":"VariableDeclaration","scope":4938,"src":"11120:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4917,"name":"uint256","nodeType":"ElementaryTypeName","src":"11120:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4919,"nodeType":"VariableDeclarationStatement","src":"11120:9:4"},"loopExpression":{"expression":{"id":4925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11155:3:4","subExpression":{"id":4924,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"11155:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4926,"nodeType":"ExpressionStatement","src":"11155:3:4"},"nodeType":"ForStatement","src":"11115:121:4"},{"expression":{"id":4939,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4908,"src":"11252:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":4903,"id":4940,"nodeType":"Return","src":"11245:15:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipts","nameLocation":"10929:22:4","parameters":{"id":4898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4897,"mutability":"mutable","name":"rawReceipts","nameLocation":"10972:11:4","nodeType":"VariableDeclaration","scope":4942,"src":"10952:31:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":4895,"nodeType":"UserDefinedTypeName","pathNode":{"id":4894,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"10952:10:4"},"referencedDeclaration":4138,"src":"10952:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":4896,"nodeType":"ArrayTypeName","src":"10952:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"src":"10951:33:4"},"returnParameters":{"id":4903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4902,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4942,"src":"11016:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4900,"nodeType":"UserDefinedTypeName","pathNode":{"id":4899,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11016:7:4"},"referencedDeclaration":4167,"src":"11016:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4901,"nodeType":"ArrayTypeName","src":"11016:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"11015:18:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5063,"nodeType":"FunctionDefinition","src":"11273:962:4","nodes":[],"body":{"id":5062,"nodeType":"Block","src":"11381:854:4","nodes":[],"statements":[{"assignments":[4953],"declarations":[{"constant":false,"id":4953,"mutability":"mutable","name":"receipt","nameLocation":"11406:7:4","nodeType":"VariableDeclaration","scope":5062,"src":"11391:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":4952,"nodeType":"UserDefinedTypeName","pathNode":{"id":4951,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11391:7:4"},"referencedDeclaration":4167,"src":"11391:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"id":4954,"nodeType":"VariableDeclarationStatement","src":"11391:22:4"},{"expression":{"id":4960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4955,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11423:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4140,"src":"11423:17:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4958,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11443:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4111,"src":"11443:20:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11423:40:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4961,"nodeType":"ExpressionStatement","src":"11423:40:4"},{"expression":{"id":4967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4962,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11473:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4162,"src":"11473:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4965,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11486:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4133,"src":"11486:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11473:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4968,"nodeType":"ExpressionStatement","src":"11473:26:4"},{"expression":{"id":4974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4969,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11509:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4150,"src":"11509:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4972,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11524:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4121,"src":"11524:15:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11509:30:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4975,"nodeType":"ExpressionStatement","src":"11509:30:4"},{"expression":{"id":4981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4976,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11549:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":4144,"src":"11549:23:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4979,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11575:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":4115,"src":"11575:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11549:52:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4982,"nodeType":"ExpressionStatement","src":"11549:52:4"},{"expression":{"id":4990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4983,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11611:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":4148,"src":"11611:25:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4987,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11652:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":4119,"src":"11652:28:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4986,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11639:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11639:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11611:70:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4991,"nodeType":"ExpressionStatement","src":"11611:70:4"},{"expression":{"id":4999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4992,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11691:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":4146,"src":"11691:25:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4996,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11732:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":4117,"src":"11732:28:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4995,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11719:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11719:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11691:70:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5000,"nodeType":"ExpressionStatement","src":"11691:70:4"},{"expression":{"id":5008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5001,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11771:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":4152,"src":"11771:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5005,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11802:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5006,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":4123,"src":"11802:18:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5004,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11789:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11789:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11771:50:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5009,"nodeType":"ExpressionStatement","src":"11771:50:4"},{"expression":{"id":5017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5010,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11831:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"status","nodeType":"MemberAccess","referencedDeclaration":4160,"src":"11831:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5014,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11861:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"status","nodeType":"MemberAccess","referencedDeclaration":4131,"src":"11861:17:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5013,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11848:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11848:31:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11831:48:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5018,"nodeType":"ExpressionStatement","src":"11831:48:4"},{"expression":{"id":5026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5019,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11889:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4166,"src":"11889:24:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5023,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11929:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4137,"src":"11929:27:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5022,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11916:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11916:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11889:68:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5027,"nodeType":"ExpressionStatement","src":"11889:68:4"},{"expression":{"id":5035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5028,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11967:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4142,"src":"11967:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5032,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"12002:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5033,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4113,"src":"12002:22:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5031,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11989:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11989:36:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11967:58:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5036,"nodeType":"ExpressionStatement","src":"11967:58:4"},{"expression":{"id":5044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5037,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"12035:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5039,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":4156,"src":"12035:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5041,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"12076:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":4127,"src":"12076:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}],"id":5040,"name":"rawToConvertedReceiptLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5200,"src":"12050:25:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceiptLog memory[] memory) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"}},"id":5043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12050:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"src":"12035:57:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5045,"nodeType":"ExpressionStatement","src":"12035:57:4"},{"expression":{"id":5051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5046,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"12102:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":4158,"src":"12102:17:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5049,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"12122:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5050,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":4129,"src":"12122:20:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"12102:40:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5052,"nodeType":"ExpressionStatement","src":"12102:40:4"},{"expression":{"id":5058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5053,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"12152:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":4164,"src":"12152:23:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5056,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"12178:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":4135,"src":"12178:26:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12152:52:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5059,"nodeType":"ExpressionStatement","src":"12152:52:4"},{"expression":{"id":5060,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"12221:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":4950,"id":5061,"nodeType":"Return","src":"12214:14:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipt","nameLocation":"11282:21:4","parameters":{"id":4946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4945,"mutability":"mutable","name":"rawReceipt","nameLocation":"11322:10:4","nodeType":"VariableDeclaration","scope":5063,"src":"11304:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":4944,"nodeType":"UserDefinedTypeName","pathNode":{"id":4943,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"11304:10:4"},"referencedDeclaration":4138,"src":"11304:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"src":"11303:30:4"},"returnParameters":{"id":4950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4949,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5063,"src":"11365:14:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":4948,"nodeType":"UserDefinedTypeName","pathNode":{"id":4947,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11365:7:4"},"referencedDeclaration":4167,"src":"11365:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"11364:16:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5200,"nodeType":"FunctionDefinition","src":"12241:873:4","nodes":[],"body":{"id":5199,"nodeType":"Block","src":"12396:718:4","nodes":[],"statements":[{"assignments":[5078],"declarations":[{"constant":false,"id":5078,"mutability":"mutable","name":"logs","nameLocation":"12426:4:4","nodeType":"VariableDeclaration","scope":5199,"src":"12406:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5076,"nodeType":"UserDefinedTypeName","pathNode":{"id":5075,"name":"ReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4255,"src":"12406:10:4"},"referencedDeclaration":4255,"src":"12406:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5077,"nodeType":"ArrayTypeName","src":"12406:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"id":5086,"initialValue":{"arguments":[{"expression":{"id":5083,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12450:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"12450:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12433:16:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"},"typeName":{"baseType":{"id":5080,"nodeType":"UserDefinedTypeName","pathNode":{"id":5079,"name":"ReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4255,"src":"12437:10:4"},"referencedDeclaration":4255,"src":"12437:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5081,"nodeType":"ArrayTypeName","src":"12437:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}}},"id":5085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12433:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12406:59:4"},{"body":{"id":5195,"nodeType":"Block","src":"12516:571:4","statements":[{"expression":{"id":5105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5097,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12530:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5099,"indexExpression":{"id":5098,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12535:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12530:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":4237,"src":"12530:18:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5101,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12551:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5103,"indexExpression":{"id":5102,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12559:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12551:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":4215,"src":"12551:21:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12530:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5106,"nodeType":"ExpressionStatement","src":"12530:42:4"},{"expression":{"id":5115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5107,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12586:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5109,"indexExpression":{"id":5108,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12591:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12586:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4239,"src":"12586:17:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5111,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12606:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5113,"indexExpression":{"id":5112,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12614:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12606:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4217,"src":"12606:20:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12586:40:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5116,"nodeType":"ExpressionStatement","src":"12586:40:4"},{"expression":{"id":5127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5117,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12640:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5119,"indexExpression":{"id":5118,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12645:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12640:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4241,"src":"12640:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5122,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12675:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5124,"indexExpression":{"id":5123,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12683:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12675:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4219,"src":"12675:22:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5121,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"12662:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12662:36:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12640:58:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5128,"nodeType":"ExpressionStatement","src":"12640:58:4"},{"expression":{"id":5137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5129,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12712:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5131,"indexExpression":{"id":5130,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12717:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12712:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4243,"src":"12712:12:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5133,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12727:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5135,"indexExpression":{"id":5134,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12735:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12727:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4221,"src":"12727:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"12712:30:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5138,"nodeType":"ExpressionStatement","src":"12712:30:4"},{"expression":{"id":5149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5139,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12756:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5141,"indexExpression":{"id":5140,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12761:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12756:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":4245,"src":"12756:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5144,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12788:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5146,"indexExpression":{"id":5145,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12796:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12788:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":4223,"src":"12788:19:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5143,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"12775:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12775:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12756:52:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5150,"nodeType":"ExpressionStatement","src":"12756:52:4"},{"expression":{"id":5159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5151,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12822:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5153,"indexExpression":{"id":5152,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12827:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12822:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":4248,"src":"12822:14:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5155,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12839:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5157,"indexExpression":{"id":5156,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12847:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12839:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":4228,"src":"12839:17:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"12822:34:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5160,"nodeType":"ExpressionStatement","src":"12822:34:4"},{"expression":{"id":5171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5161,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12870:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5163,"indexExpression":{"id":5162,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12875:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12870:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5164,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4250,"src":"12870:24:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5166,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12910:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5168,"indexExpression":{"id":5167,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12918:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12910:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4232,"src":"12910:27:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5165,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"12897:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12897:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12870:68:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5172,"nodeType":"ExpressionStatement","src":"12870:68:4"},{"expression":{"id":5183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5173,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12952:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5175,"indexExpression":{"id":5174,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12957:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12952:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":4252,"src":"12952:27:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5178,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12995:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5180,"indexExpression":{"id":5179,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"13003:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12995:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":4234,"src":"12995:30:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5177,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"12982:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12982:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12952:74:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5184,"nodeType":"ExpressionStatement","src":"12952:74:4"},{"expression":{"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5185,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"13040:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5187,"indexExpression":{"id":5186,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"13045:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13040:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"13040:15:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5189,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"13058:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5191,"indexExpression":{"id":5190,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"13066:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13058:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":4225,"src":"13058:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13040:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5194,"nodeType":"ExpressionStatement","src":"13040:36:4"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5090,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12491:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5091,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12495:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"12495:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12491:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5196,"initializationExpression":{"assignments":[5088],"declarations":[{"constant":false,"id":5088,"mutability":"mutable","name":"i","nameLocation":"12488:1:4","nodeType":"VariableDeclaration","scope":5196,"src":"12480:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5087,"name":"uint256","nodeType":"ElementaryTypeName","src":"12480:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5089,"nodeType":"VariableDeclarationStatement","src":"12480:9:4"},"loopExpression":{"expression":{"id":5095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12511:3:4","subExpression":{"id":5094,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12511:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5096,"nodeType":"ExpressionStatement","src":"12511:3:4"},"nodeType":"ForStatement","src":"12475:612:4"},{"expression":{"id":5197,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"13103:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"functionReturnParameters":5073,"id":5198,"nodeType":"Return","src":"13096:11:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceiptLogs","nameLocation":"12250:25:4","parameters":{"id":5068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5067,"mutability":"mutable","name":"rawLogs","nameLocation":"12299:7:4","nodeType":"VariableDeclaration","scope":5200,"src":"12276:30:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":5065,"nodeType":"UserDefinedTypeName","pathNode":{"id":5064,"name":"RawReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4235,"src":"12276:13:4"},"referencedDeclaration":4235,"src":"12276:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":5066,"nodeType":"ArrayTypeName","src":"12276:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"}],"src":"12275:32:4"},"returnParameters":{"id":5073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5072,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5200,"src":"12371:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5070,"nodeType":"UserDefinedTypeName","pathNode":{"id":5069,"name":"ReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4255,"src":"12371:10:4"},"referencedDeclaration":4255,"src":"12371:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5071,"nodeType":"ArrayTypeName","src":"12371:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"src":"12370:21:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5232,"nodeType":"FunctionDefinition","src":"13274:416:4","nodes":[],"body":{"id":5231,"nodeType":"Block","src":"13373:317:4","nodes":[],"statements":[{"assignments":[5210],"declarations":[{"constant":false,"id":5210,"mutability":"mutable","name":"bytecode","nameLocation":"13396:8:4","nodeType":"VariableDeclaration","scope":5231,"src":"13383:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5209,"name":"bytes","nodeType":"ElementaryTypeName","src":"13383:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5219,"initialValue":{"arguments":[{"arguments":[{"id":5215,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5202,"src":"13435:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5213,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"13424:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":11101,"src":"13424:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13424:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5217,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5204,"src":"13442:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5211,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13407:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"13407:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13407:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13383:64:4"},{"AST":{"nodeType":"YulBlock","src":"13509:79:4","statements":[{"nodeType":"YulAssignment","src":"13523:55:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13538:1:4","type":"","value":"0"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"13545:8:4"},{"kind":"number","nodeType":"YulLiteral","src":"13555:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13541:3:4"},"nodeType":"YulFunctionCall","src":"13541:19:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"13568:8:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13562:5:4"},"nodeType":"YulFunctionCall","src":"13562:15:4"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"13531:6:4"},"nodeType":"YulFunctionCall","src":"13531:47:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"13523:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":5207,"isOffset":false,"isSlot":false,"src":"13523:4:4","valueSize":1},{"declaration":5210,"isOffset":false,"isSlot":false,"src":"13545:8:4","valueSize":1},{"declaration":5210,"isOffset":false,"isSlot":false,"src":"13568:8:4","valueSize":1}],"id":5220,"nodeType":"InlineAssembly","src":"13500:88:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5222,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13606:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13622:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13614:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5223,"name":"address","nodeType":"ElementaryTypeName","src":"13614:7:4","typeDescriptions":{}}},"id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13614:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13606:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13626:56:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""}],"id":5221,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13598:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13598:85:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5230,"nodeType":"ExpressionStatement","src":"13598:85:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"13283:10:4","parameters":{"id":5205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5202,"mutability":"mutable","name":"what","nameLocation":"13308:4:4","nodeType":"VariableDeclaration","scope":5232,"src":"13294:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5201,"name":"string","nodeType":"ElementaryTypeName","src":"13294:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5204,"mutability":"mutable","name":"args","nameLocation":"13327:4:4","nodeType":"VariableDeclaration","scope":5232,"src":"13314:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5203,"name":"bytes","nodeType":"ElementaryTypeName","src":"13314:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13293:39:4"},"returnParameters":{"id":5208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5207,"mutability":"mutable","name":"addr","nameLocation":"13367:4:4","nodeType":"VariableDeclaration","scope":5232,"src":"13359:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5206,"name":"address","nodeType":"ElementaryTypeName","src":"13359:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13358:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5258,"nodeType":"FunctionDefinition","src":"13696:367:4","nodes":[],"body":{"id":5257,"nodeType":"Block","src":"13776:287:4","nodes":[],"statements":[{"assignments":[5240],"declarations":[{"constant":false,"id":5240,"mutability":"mutable","name":"bytecode","nameLocation":"13799:8:4","nodeType":"VariableDeclaration","scope":5257,"src":"13786:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5239,"name":"bytes","nodeType":"ElementaryTypeName","src":"13786:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5245,"initialValue":{"arguments":[{"id":5243,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"13821:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5241,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"13810:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":11101,"src":"13810:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13810:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13786:40:4"},{"AST":{"nodeType":"YulBlock","src":"13888:79:4","statements":[{"nodeType":"YulAssignment","src":"13902:55:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13917:1:4","type":"","value":"0"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"13924:8:4"},{"kind":"number","nodeType":"YulLiteral","src":"13934:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13920:3:4"},"nodeType":"YulFunctionCall","src":"13920:19:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"13947:8:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13941:5:4"},"nodeType":"YulFunctionCall","src":"13941:15:4"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"13910:6:4"},"nodeType":"YulFunctionCall","src":"13910:47:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"13902:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":5237,"isOffset":false,"isSlot":false,"src":"13902:4:4","valueSize":1},{"declaration":5240,"isOffset":false,"isSlot":false,"src":"13924:8:4","valueSize":1},{"declaration":5240,"isOffset":false,"isSlot":false,"src":"13947:8:4","valueSize":1}],"id":5246,"nodeType":"InlineAssembly","src":"13879:88:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5248,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5237,"src":"13985:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14001:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13993:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5249,"name":"address","nodeType":"ElementaryTypeName","src":"13993:7:4","typeDescriptions":{}}},"id":5252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13993:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13985:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e","id":5254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14005:50:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""},"value":"StdCheats deployCode(string): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""}],"id":5247,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13977:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13977:79:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5256,"nodeType":"ExpressionStatement","src":"13977:79:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"13705:10:4","parameters":{"id":5235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5234,"mutability":"mutable","name":"what","nameLocation":"13730:4:4","nodeType":"VariableDeclaration","scope":5258,"src":"13716:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5233,"name":"string","nodeType":"ElementaryTypeName","src":"13716:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13715:20:4"},"returnParameters":{"id":5238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5237,"mutability":"mutable","name":"addr","nameLocation":"13770:4:4","nodeType":"VariableDeclaration","scope":5258,"src":"13762:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5236,"name":"address","nodeType":"ElementaryTypeName","src":"13762:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13761:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5293,"nodeType":"FunctionDefinition","src":"14125:439:4","nodes":[],"body":{"id":5292,"nodeType":"Block","src":"14237:327:4","nodes":[],"statements":[{"assignments":[5271],"declarations":[{"constant":false,"id":5271,"mutability":"mutable","name":"bytecode","nameLocation":"14260:8:4","nodeType":"VariableDeclaration","scope":5292,"src":"14247:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5270,"name":"bytes","nodeType":"ElementaryTypeName","src":"14247:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5280,"initialValue":{"arguments":[{"arguments":[{"id":5276,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5261,"src":"14299:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5274,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"14288:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":11101,"src":"14288:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14288:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5278,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5263,"src":"14306:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5272,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14271:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"14271:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14271:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14247:64:4"},{"AST":{"nodeType":"YulBlock","src":"14373:81:4","statements":[{"nodeType":"YulAssignment","src":"14387:57:4","value":{"arguments":[{"name":"val","nodeType":"YulIdentifier","src":"14402:3:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"14411:8:4"},{"kind":"number","nodeType":"YulLiteral","src":"14421:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14407:3:4"},"nodeType":"YulFunctionCall","src":"14407:19:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"14434:8:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14428:5:4"},"nodeType":"YulFunctionCall","src":"14428:15:4"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"14395:6:4"},"nodeType":"YulFunctionCall","src":"14395:49:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"14387:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":5268,"isOffset":false,"isSlot":false,"src":"14387:4:4","valueSize":1},{"declaration":5271,"isOffset":false,"isSlot":false,"src":"14411:8:4","valueSize":1},{"declaration":5271,"isOffset":false,"isSlot":false,"src":"14434:8:4","valueSize":1},{"declaration":5265,"isOffset":false,"isSlot":false,"src":"14402:3:4","valueSize":1}],"id":5281,"nodeType":"InlineAssembly","src":"14364:90:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5283,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5268,"src":"14472:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14488:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14480:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5284,"name":"address","nodeType":"ElementaryTypeName","src":"14480:7:4","typeDescriptions":{}}},"id":5287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14480:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14472:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14492:64:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""}],"id":5282,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14464:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14464:93:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5291,"nodeType":"ExpressionStatement","src":"14464:93:4"}]},"documentation":{"id":5259,"nodeType":"StructuredDocumentation","src":"14069:51:4","text":"@dev deploy contract with value on construction"},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"14134:10:4","parameters":{"id":5266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5261,"mutability":"mutable","name":"what","nameLocation":"14159:4:4","nodeType":"VariableDeclaration","scope":5293,"src":"14145:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5260,"name":"string","nodeType":"ElementaryTypeName","src":"14145:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5263,"mutability":"mutable","name":"args","nameLocation":"14178:4:4","nodeType":"VariableDeclaration","scope":5293,"src":"14165:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5262,"name":"bytes","nodeType":"ElementaryTypeName","src":"14165:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":5265,"mutability":"mutable","name":"val","nameLocation":"14192:3:4","nodeType":"VariableDeclaration","scope":5293,"src":"14184:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5264,"name":"uint256","nodeType":"ElementaryTypeName","src":"14184:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14144:52:4"},"returnParameters":{"id":5269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5268,"mutability":"mutable","name":"addr","nameLocation":"14231:4:4","nodeType":"VariableDeclaration","scope":5293,"src":"14223:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5267,"name":"address","nodeType":"ElementaryTypeName","src":"14223:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14222:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5321,"nodeType":"FunctionDefinition","src":"14570:390:4","nodes":[],"body":{"id":5320,"nodeType":"Block","src":"14663:297:4","nodes":[],"statements":[{"assignments":[5303],"declarations":[{"constant":false,"id":5303,"mutability":"mutable","name":"bytecode","nameLocation":"14686:8:4","nodeType":"VariableDeclaration","scope":5320,"src":"14673:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5302,"name":"bytes","nodeType":"ElementaryTypeName","src":"14673:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5308,"initialValue":{"arguments":[{"id":5306,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5295,"src":"14708:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5304,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"14697:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":11101,"src":"14697:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14697:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14673:40:4"},{"AST":{"nodeType":"YulBlock","src":"14775:81:4","statements":[{"nodeType":"YulAssignment","src":"14789:57:4","value":{"arguments":[{"name":"val","nodeType":"YulIdentifier","src":"14804:3:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"14813:8:4"},{"kind":"number","nodeType":"YulLiteral","src":"14823:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14809:3:4"},"nodeType":"YulFunctionCall","src":"14809:19:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"14836:8:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14830:5:4"},"nodeType":"YulFunctionCall","src":"14830:15:4"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"14797:6:4"},"nodeType":"YulFunctionCall","src":"14797:49:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"14789:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":5300,"isOffset":false,"isSlot":false,"src":"14789:4:4","valueSize":1},{"declaration":5303,"isOffset":false,"isSlot":false,"src":"14813:8:4","valueSize":1},{"declaration":5303,"isOffset":false,"isSlot":false,"src":"14836:8:4","valueSize":1},{"declaration":5297,"isOffset":false,"isSlot":false,"src":"14804:3:4","valueSize":1}],"id":5309,"nodeType":"InlineAssembly","src":"14766:90:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5311,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5300,"src":"14874:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14890:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14882:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5312,"name":"address","nodeType":"ElementaryTypeName","src":"14882:7:4","typeDescriptions":{}}},"id":5315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14882:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14874:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14894:58:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""}],"id":5310,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14866:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14866:87:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5319,"nodeType":"ExpressionStatement","src":"14866:87:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"14579:10:4","parameters":{"id":5298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5295,"mutability":"mutable","name":"what","nameLocation":"14604:4:4","nodeType":"VariableDeclaration","scope":5321,"src":"14590:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5294,"name":"string","nodeType":"ElementaryTypeName","src":"14590:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5297,"mutability":"mutable","name":"val","nameLocation":"14618:3:4","nodeType":"VariableDeclaration","scope":5321,"src":"14610:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5296,"name":"uint256","nodeType":"ElementaryTypeName","src":"14610:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14589:33:4"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"addr","nameLocation":"14657:4:4","nodeType":"VariableDeclaration","scope":5321,"src":"14649:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5299,"name":"address","nodeType":"ElementaryTypeName","src":"14649:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14648:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5357,"nodeType":"FunctionDefinition","src":"15033:242:4","nodes":[],"body":{"id":5356,"nodeType":"Block","src":"15137:138:4","nodes":[],"statements":[{"expression":{"id":5340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5330,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5328,"src":"15147:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":5336,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5323,"src":"15195:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15178:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15178:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15178:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5333,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15168:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15168:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15160:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5331,"name":"uint256","nodeType":"ElementaryTypeName","src":"15160:7:4","typeDescriptions":{}}},"id":5339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15160:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15147:55:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5341,"nodeType":"ExpressionStatement","src":"15147:55:4"},{"expression":{"id":5347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5342,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5326,"src":"15212:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5345,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5328,"src":"15227:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"15219:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":10785,"src":"15219:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":5346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15219:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15212:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5348,"nodeType":"ExpressionStatement","src":"15212:26:4"},{"expression":{"arguments":[{"id":5352,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5326,"src":"15257:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5353,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5323,"src":"15263:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5349,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"15248:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"label","nodeType":"MemberAccess","referencedDeclaration":11115,"src":"15248:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":5354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15248:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5355,"nodeType":"ExpressionStatement","src":"15248:20:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddrAndKey","nameLocation":"15042:14:4","parameters":{"id":5324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5323,"mutability":"mutable","name":"name","nameLocation":"15071:4:4","nodeType":"VariableDeclaration","scope":5357,"src":"15057:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5322,"name":"string","nodeType":"ElementaryTypeName","src":"15057:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15056:20:4"},"returnParameters":{"id":5329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5326,"mutability":"mutable","name":"addr","nameLocation":"15111:4:4","nodeType":"VariableDeclaration","scope":5357,"src":"15103:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5325,"name":"address","nodeType":"ElementaryTypeName","src":"15103:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5328,"mutability":"mutable","name":"privateKey","nameLocation":"15125:10:4","nodeType":"VariableDeclaration","scope":5357,"src":"15117:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5327,"name":"uint256","nodeType":"ElementaryTypeName","src":"15117:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15102:34:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5372,"nodeType":"FunctionDefinition","src":"15314:125:4","nodes":[],"body":{"id":5371,"nodeType":"Block","src":"15392:47:4","nodes":[],"statements":[{"expression":{"id":5369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5364,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5362,"src":"15403:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},null],"id":5365,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"15402:7:4","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$__$","typeString":"tuple(address,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5367,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5359,"src":"15427:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5366,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5357,"src":"15412:14:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":5368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15412:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"15402:30:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5370,"nodeType":"ExpressionStatement","src":"15402:30:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddr","nameLocation":"15323:8:4","parameters":{"id":5360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5359,"mutability":"mutable","name":"name","nameLocation":"15346:4:4","nodeType":"VariableDeclaration","scope":5372,"src":"15332:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5358,"name":"string","nodeType":"ElementaryTypeName","src":"15332:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15331:20:4"},"returnParameters":{"id":5363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5362,"mutability":"mutable","name":"addr","nameLocation":"15386:4:4","nodeType":"VariableDeclaration","scope":5372,"src":"15378:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5361,"name":"address","nodeType":"ElementaryTypeName","src":"15378:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15377:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5399,"nodeType":"FunctionDefinition","src":"15445:253:4","nodes":[],"body":{"id":5398,"nodeType":"Block","src":"15597:101:4","nodes":[],"statements":[{"expression":{"id":5389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5383,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5381,"src":"15607:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5386,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5374,"src":"15633:8:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5387,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5376,"src":"15643:5:4","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":5384,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"15620:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":11312,"src":"15620:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":5388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15620:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15607:42:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5390,"nodeType":"ExpressionStatement","src":"15607:42:4"},{"expression":{"id":5396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5391,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5379,"src":"15659:3:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5394,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5381,"src":"15680:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5392,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"15665:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"rememberKey","nodeType":"MemberAccess","referencedDeclaration":11330,"src":"15665:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) external returns (address)"}},"id":5395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15665:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15659:32:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5397,"nodeType":"ExpressionStatement","src":"15659:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deriveRememberKey","nameLocation":"15454:17:4","parameters":{"id":5377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5374,"mutability":"mutable","name":"mnemonic","nameLocation":"15486:8:4","nodeType":"VariableDeclaration","scope":5399,"src":"15472:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5373,"name":"string","nodeType":"ElementaryTypeName","src":"15472:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5376,"mutability":"mutable","name":"index","nameLocation":"15503:5:4","nodeType":"VariableDeclaration","scope":5399,"src":"15496:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":5375,"name":"uint32","nodeType":"ElementaryTypeName","src":"15496:6:4","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15471:38:4"},"returnParameters":{"id":5382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5379,"mutability":"mutable","name":"who","nameLocation":"15568:3:4","nodeType":"VariableDeclaration","scope":5399,"src":"15560:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5378,"name":"address","nodeType":"ElementaryTypeName","src":"15560:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5381,"mutability":"mutable","name":"privateKey","nameLocation":"15581:10:4","nodeType":"VariableDeclaration","scope":5399,"src":"15573:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5380,"name":"uint256","nodeType":"ElementaryTypeName","src":"15573:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15559:33:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5433,"nodeType":"FunctionDefinition","src":"15704:253:4","nodes":[],"body":{"id":5432,"nodeType":"Block","src":"15773:184:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5407,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5401,"src":"15791:1:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15791:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":5409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15803:2:4","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"15791:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f6279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":5411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15807:57:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdCheats _bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":5406,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15783:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15783:82:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5413,"nodeType":"ExpressionStatement","src":"15783:82:4"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":5420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15920:2:4","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":5421,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5401,"src":"15925:1:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15925:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15920:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15910:9:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":5418,"name":"bytes","nodeType":"ElementaryTypeName","src":"15914:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":5424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15910:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5425,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5401,"src":"15936:1:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15893:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15893:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15893:45:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15941:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5427,"name":"uint256","nodeType":"ElementaryTypeName","src":"15941:7:4","typeDescriptions":{}}}],"id":5429,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15940:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":5414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15882:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"15882:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15882:68:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5405,"id":5431,"nodeType":"Return","src":"15875:75:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bytesToUint","nameLocation":"15713:12:4","parameters":{"id":5402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5401,"mutability":"mutable","name":"b","nameLocation":"15739:1:4","nodeType":"VariableDeclaration","scope":5433,"src":"15726:14:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5400,"name":"bytes","nodeType":"ElementaryTypeName","src":"15726:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15725:16:4"},"returnParameters":{"id":5405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5404,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5433,"src":"15764:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5403,"name":"uint256","nodeType":"ElementaryTypeName","src":"15764:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15763:9:4"},"scope":5526,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":5454,"nodeType":"FunctionDefinition","src":"15963:160:4","nodes":[],"body":{"id":5453,"nodeType":"Block","src":"16025:98:4","nodes":[],"statements":[{"clauses":[{"block":{"id":5445,"nodeType":"Block","src":"16055:38:4","statements":[{"expression":{"id":5443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5441,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5436,"src":"16069:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16078:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16069:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5444,"nodeType":"ExpressionStatement","src":"16069:13:4"}]},"errorName":"","id":5446,"nodeType":"TryCatchClause","src":"16055:38:4"},{"block":{"id":5450,"nodeType":"Block","src":"16115:2:4","statements":[]},"errorName":"","id":5451,"nodeType":"TryCatchClause","parameters":{"id":5449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5451,"src":"16101:12:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5447,"name":"bytes","nodeType":"ElementaryTypeName","src":"16101:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16100:14:4"},"src":"16094:23:4"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5438,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"16039:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"activeFork","nodeType":"MemberAccess","referencedDeclaration":11950,"src":"16039:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":5440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16039:15:4","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5452,"nodeType":"TryStatement","src":"16035:82:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"isFork","nameLocation":"15972:6:4","parameters":{"id":5434,"nodeType":"ParameterList","parameters":[],"src":"15978:2:4"},"returnParameters":{"id":5437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5436,"mutability":"mutable","name":"status","nameLocation":"16017:6:4","nodeType":"VariableDeclaration","scope":5454,"src":"16012:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5435,"name":"bool","nodeType":"ElementaryTypeName","src":"16012:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16011:13:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5463,"nodeType":"ModifierDefinition","src":"16129:84:4","nodes":[],"body":{"id":5462,"nodeType":"Block","src":"16156:57:4","nodes":[],"statements":[{"condition":{"id":5458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16170:9:4","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":5456,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"16171:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":5457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16171:8:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5461,"nodeType":"IfStatement","src":"16166:41:4","trueBody":{"id":5460,"nodeType":"Block","src":"16181:26:4","statements":[{"id":5459,"nodeType":"PlaceholderStatement","src":"16195:1:4"}]}}]},"name":"skipWhenForking","nameLocation":"16138:15:4","parameters":{"id":5455,"nodeType":"ParameterList","parameters":[],"src":"16153:2:4"},"virtual":false,"visibility":"internal"},{"id":5471,"nodeType":"ModifierDefinition","src":"16219:86:4","nodes":[],"body":{"id":5470,"nodeType":"Block","src":"16249:56:4","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":5465,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"16263:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":5466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16263:8:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5469,"nodeType":"IfStatement","src":"16259:40:4","trueBody":{"id":5468,"nodeType":"Block","src":"16273:26:4","statements":[{"id":5467,"nodeType":"PlaceholderStatement","src":"16287:1:4"}]}}]},"name":"skipWhenNotForking","nameLocation":"16228:18:4","parameters":{"id":5464,"nodeType":"ParameterList","parameters":[],"src":"16246:2:4"},"virtual":false,"visibility":"internal"},{"id":5501,"nodeType":"ModifierDefinition","src":"16311:884:4","nodes":[],"body":{"id":5500,"nodeType":"Block","src":"16336:859:4","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5473,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"16346:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pauseGasMetering","nodeType":"MemberAccess","referencedDeclaration":11686,"src":"16346:19:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16346:21:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5477,"nodeType":"ExpressionStatement","src":"16346:21:4"},{"assignments":[5479],"declarations":[{"constant":false,"id":5479,"mutability":"mutable","name":"gasStartedOff","nameLocation":"16910:13:4","nodeType":"VariableDeclaration","scope":5500,"src":"16905:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5478,"name":"bool","nodeType":"ElementaryTypeName","src":"16905:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5481,"initialValue":{"id":5480,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3981,"src":"16926:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"16905:35:4"},{"expression":{"id":5484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5482,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3981,"src":"16950:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16967:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16950:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5485,"nodeType":"ExpressionStatement","src":"16950:21:4"},{"id":5486,"nodeType":"PlaceholderStatement","src":"16982:1:4"},{"condition":{"id":5488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17090:14:4","subExpression":{"id":5487,"name":"gasStartedOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5479,"src":"17091:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5499,"nodeType":"IfStatement","src":"17086:103:4","trueBody":{"id":5498,"nodeType":"Block","src":"17106:83:4","statements":[{"expression":{"id":5491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5489,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3981,"src":"17120:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":5490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17137:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"17120:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5492,"nodeType":"ExpressionStatement","src":"17120:22:4"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5493,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"17156:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"resumeGasMetering","nodeType":"MemberAccess","referencedDeclaration":11689,"src":"17156:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17156:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5497,"nodeType":"ExpressionStatement","src":"17156:22:4"}]}}]},"name":"noGasMetering","nameLocation":"16320:13:4","parameters":{"id":5472,"nodeType":"ParameterList","parameters":[],"src":"16333:2:4"},"virtual":false,"visibility":"internal"},{"id":5525,"nodeType":"FunctionDefinition","src":"17321:149:4","nodes":[],"body":{"id":5524,"nodeType":"Block","src":"17375:95:4","nodes":[],"statements":[{"assignments":[5507,null],"declarations":[{"constant":false,"id":5507,"mutability":"mutable","name":"success","nameLocation":"17391:7:4","nodeType":"VariableDeclaration","scope":5524,"src":"17386:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5506,"name":"bool","nodeType":"ElementaryTypeName","src":"17386:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":5517,"initialValue":{"arguments":[{"hexValue":"","id":5515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17432:2:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":5510,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5503,"src":"17411:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17403:8:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":5508,"name":"address","nodeType":"ElementaryTypeName","src":"17403:8:4","stateMutability":"payable","typeDescriptions":{}}},"id":5511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17403:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":5512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"17403:18:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":5514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"30","id":5513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17429:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"src":"17403:28:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":5516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17403:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"17385:50:4"},{"expression":{"arguments":[{"id":5521,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"17455:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":5518,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"17445:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"17445:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":5522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17445:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5523,"nodeType":"ExpressionStatement","src":"17445:18:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumePayable","nameLocation":"17330:13:4","parameters":{"id":5504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5503,"mutability":"mutable","name":"addr","nameLocation":"17352:4:4","nodeType":"VariableDeclaration","scope":5525,"src":"17344:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5502,"name":"address","nodeType":"ElementaryTypeName","src":"17344:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17343:14:4"},"returnParameters":{"id":5505,"nodeType":"ParameterList","parameters":[],"src":"17375:0:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"StdCheatsSafe","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[5526],"name":"StdCheatsSafe","nameLocation":"205:13:4","scope":6186,"usedErrors":[]},{"id":6185,"nodeType":"ContractDefinition","src":"17522:5770:4","nodes":[{"id":5532,"nodeType":"UsingForDirective","src":"17573:32:4","nodes":[],"libraryName":{"id":5529,"name":"stdStorage","nodeType":"IdentifierPath","referencedDeclaration":8658,"src":"17579:10:4"},"typeName":{"id":5531,"nodeType":"UserDefinedTypeName","pathNode":{"id":5530,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"17594:10:4"},"referencedDeclaration":7225,"src":"17594:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}}},{"id":5535,"nodeType":"VariableDeclaration","src":"17611:27:4","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"17630:8:4","scope":6185,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage"},"typeName":{"id":5534,"nodeType":"UserDefinedTypeName","pathNode":{"id":5533,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"17611:10:4"},"referencedDeclaration":7225,"src":"17611:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"private"},{"id":5552,"nodeType":"VariableDeclaration","src":"17644:84:4","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"17664:2:4","scope":6185,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":5537,"nodeType":"UserDefinedTypeName","pathNode":{"id":5536,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"17644:2:4"},"referencedDeclaration":12037,"src":"17644:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":5546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17706:17:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":5545,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"17696:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17696:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17688:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5543,"name":"uint256","nodeType":"ElementaryTypeName","src":"17688:7:4","typeDescriptions":{}}},"id":5548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17688:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17680:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":5541,"name":"uint160","nodeType":"ElementaryTypeName","src":"17680:7:4","typeDescriptions":{}}},"id":5549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17680:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17672:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5539,"name":"address","nodeType":"ElementaryTypeName","src":"17672:7:4","typeDescriptions":{}}},"id":5550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17672:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5538,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"17669:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":5551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17669:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":5567,"nodeType":"FunctionDefinition","src":"17805:93:4","nodes":[],"body":{"id":5566,"nodeType":"Block","src":"17850:48:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5560,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"17868:5:4","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":5561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"17868:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":5562,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5554,"src":"17886:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17868:22:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5557,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"17860:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":11697,"src":"17860:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":5564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17860:31:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5565,"nodeType":"ExpressionStatement","src":"17860:31:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"skip","nameLocation":"17814:4:4","parameters":{"id":5555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5554,"mutability":"mutable","name":"time","nameLocation":"17827:4:4","nodeType":"VariableDeclaration","scope":5567,"src":"17819:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5553,"name":"uint256","nodeType":"ElementaryTypeName","src":"17819:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17818:14:4"},"returnParameters":{"id":5556,"nodeType":"ParameterList","parameters":[],"src":"17850:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5582,"nodeType":"FunctionDefinition","src":"17904:95:4","nodes":[],"body":{"id":5581,"nodeType":"Block","src":"17951:48:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5575,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"17969:5:4","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":5576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"17969:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5577,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5569,"src":"17987:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17969:22:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5572,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"17961:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":11697,"src":"17961:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":5579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17961:31:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5580,"nodeType":"ExpressionStatement","src":"17961:31:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rewind","nameLocation":"17913:6:4","parameters":{"id":5570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5569,"mutability":"mutable","name":"time","nameLocation":"17928:4:4","nodeType":"VariableDeclaration","scope":5582,"src":"17920:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5568,"name":"uint256","nodeType":"ElementaryTypeName","src":"17920:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17919:14:4"},"returnParameters":{"id":5571,"nodeType":"ParameterList","parameters":[],"src":"17951:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5603,"nodeType":"FunctionDefinition","src":"18062:124:4","nodes":[],"body":{"id":5602,"nodeType":"Block","src":"18112:74:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5590,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"18130:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18141:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18146:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"18141:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5587,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18122:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18122:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18122:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5595,"nodeType":"ExpressionStatement","src":"18122:28:4"},{"expression":{"arguments":[{"id":5599,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"18169:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5596,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18160:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":11738,"src":"18160:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18160:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5601,"nodeType":"ExpressionStatement","src":"18160:19:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"18071:4:4","parameters":{"id":5585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5584,"mutability":"mutable","name":"msgSender","nameLocation":"18084:9:4","nodeType":"VariableDeclaration","scope":5603,"src":"18076:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5583,"name":"address","nodeType":"ElementaryTypeName","src":"18076:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18075:19:4"},"returnParameters":{"id":5586,"nodeType":"ParameterList","parameters":[],"src":"18112:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5624,"nodeType":"FunctionDefinition","src":"18192:134:4","nodes":[],"body":{"id":5623,"nodeType":"Block","src":"18256:70:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5613,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5605,"src":"18274:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5614,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5607,"src":"18285:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5610,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18266:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18266:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18266:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5616,"nodeType":"ExpressionStatement","src":"18266:24:4"},{"expression":{"arguments":[{"id":5620,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5605,"src":"18309:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5617,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18300:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":11738,"src":"18300:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18300:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5622,"nodeType":"ExpressionStatement","src":"18300:19:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"18201:4:4","parameters":{"id":5608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5605,"mutability":"mutable","name":"msgSender","nameLocation":"18214:9:4","nodeType":"VariableDeclaration","scope":5624,"src":"18206:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5604,"name":"address","nodeType":"ElementaryTypeName","src":"18206:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5607,"mutability":"mutable","name":"give","nameLocation":"18233:4:4","nodeType":"VariableDeclaration","scope":5624,"src":"18225:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5606,"name":"uint256","nodeType":"ElementaryTypeName","src":"18225:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18205:33:4"},"returnParameters":{"id":5609,"nodeType":"ParameterList","parameters":[],"src":"18256:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5648,"nodeType":"FunctionDefinition","src":"18332:148:4","nodes":[],"body":{"id":5647,"nodeType":"Block","src":"18398:82:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5634,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5626,"src":"18416:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18427:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18432:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"18427:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5631,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18408:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18408:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18408:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5639,"nodeType":"ExpressionStatement","src":"18408:28:4"},{"expression":{"arguments":[{"id":5643,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5626,"src":"18455:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5644,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5628,"src":"18466:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5640,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18446:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":11750,"src":"18446:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18446:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5646,"nodeType":"ExpressionStatement","src":"18446:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"18341:4:4","parameters":{"id":5629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5626,"mutability":"mutable","name":"msgSender","nameLocation":"18354:9:4","nodeType":"VariableDeclaration","scope":5648,"src":"18346:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5625,"name":"address","nodeType":"ElementaryTypeName","src":"18346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5628,"mutability":"mutable","name":"origin","nameLocation":"18373:6:4","nodeType":"VariableDeclaration","scope":5648,"src":"18365:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5627,"name":"address","nodeType":"ElementaryTypeName","src":"18365:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18345:35:4"},"returnParameters":{"id":5630,"nodeType":"ParameterList","parameters":[],"src":"18398:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5672,"nodeType":"FunctionDefinition","src":"18486:158:4","nodes":[],"body":{"id":5671,"nodeType":"Block","src":"18566:78:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5660,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5650,"src":"18584:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5661,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5654,"src":"18595:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5657,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18576:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18576:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18576:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5663,"nodeType":"ExpressionStatement","src":"18576:24:4"},{"expression":{"arguments":[{"id":5667,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5650,"src":"18619:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5668,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5652,"src":"18630:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5664,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18610:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":11750,"src":"18610:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18610:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5670,"nodeType":"ExpressionStatement","src":"18610:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"18495:4:4","parameters":{"id":5655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5650,"mutability":"mutable","name":"msgSender","nameLocation":"18508:9:4","nodeType":"VariableDeclaration","scope":5672,"src":"18500:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5649,"name":"address","nodeType":"ElementaryTypeName","src":"18500:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5652,"mutability":"mutable","name":"origin","nameLocation":"18527:6:4","nodeType":"VariableDeclaration","scope":5672,"src":"18519:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5651,"name":"address","nodeType":"ElementaryTypeName","src":"18519:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5654,"mutability":"mutable","name":"give","nameLocation":"18543:4:4","nodeType":"VariableDeclaration","scope":5672,"src":"18535:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5653,"name":"uint256","nodeType":"ElementaryTypeName","src":"18535:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18499:49:4"},"returnParameters":{"id":5656,"nodeType":"ParameterList","parameters":[],"src":"18566:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5693,"nodeType":"FunctionDefinition","src":"18715:134:4","nodes":[],"body":{"id":5692,"nodeType":"Block","src":"18770:79:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5680,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5674,"src":"18788:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18799:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18804:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"18799:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5677,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18780:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18780:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18780:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5685,"nodeType":"ExpressionStatement","src":"18780:28:4"},{"expression":{"arguments":[{"id":5689,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5674,"src":"18832:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5686,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18818:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11743,"src":"18818:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18818:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5691,"nodeType":"ExpressionStatement","src":"18818:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"18724:9:4","parameters":{"id":5675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5674,"mutability":"mutable","name":"msgSender","nameLocation":"18742:9:4","nodeType":"VariableDeclaration","scope":5693,"src":"18734:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5673,"name":"address","nodeType":"ElementaryTypeName","src":"18734:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18733:19:4"},"returnParameters":{"id":5676,"nodeType":"ParameterList","parameters":[],"src":"18770:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5714,"nodeType":"FunctionDefinition","src":"18855:144:4","nodes":[],"body":{"id":5713,"nodeType":"Block","src":"18924:75:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5703,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5695,"src":"18942:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5704,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5697,"src":"18953:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5700,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18934:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18934:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18934:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5706,"nodeType":"ExpressionStatement","src":"18934:24:4"},{"expression":{"arguments":[{"id":5710,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5695,"src":"18982:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5707,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18968:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11743,"src":"18968:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18968:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5712,"nodeType":"ExpressionStatement","src":"18968:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"18864:9:4","parameters":{"id":5698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5695,"mutability":"mutable","name":"msgSender","nameLocation":"18882:9:4","nodeType":"VariableDeclaration","scope":5714,"src":"18874:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5694,"name":"address","nodeType":"ElementaryTypeName","src":"18874:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5697,"mutability":"mutable","name":"give","nameLocation":"18901:4:4","nodeType":"VariableDeclaration","scope":5714,"src":"18893:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5696,"name":"uint256","nodeType":"ElementaryTypeName","src":"18893:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18873:33:4"},"returnParameters":{"id":5699,"nodeType":"ParameterList","parameters":[],"src":"18924:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5738,"nodeType":"FunctionDefinition","src":"19118:158:4","nodes":[],"body":{"id":5737,"nodeType":"Block","src":"19189:87:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5724,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5716,"src":"19207:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19218:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19223:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"19218:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5721,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19199:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"19199:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19199:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5729,"nodeType":"ExpressionStatement","src":"19199:28:4"},{"expression":{"arguments":[{"id":5733,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5716,"src":"19251:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5734,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5718,"src":"19262:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5730,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19237:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11757,"src":"19237:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19237:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5736,"nodeType":"ExpressionStatement","src":"19237:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"19127:9:4","parameters":{"id":5719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5716,"mutability":"mutable","name":"msgSender","nameLocation":"19145:9:4","nodeType":"VariableDeclaration","scope":5738,"src":"19137:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5715,"name":"address","nodeType":"ElementaryTypeName","src":"19137:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5718,"mutability":"mutable","name":"origin","nameLocation":"19164:6:4","nodeType":"VariableDeclaration","scope":5738,"src":"19156:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5717,"name":"address","nodeType":"ElementaryTypeName","src":"19156:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19136:35:4"},"returnParameters":{"id":5720,"nodeType":"ParameterList","parameters":[],"src":"19189:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5762,"nodeType":"FunctionDefinition","src":"19282:168:4","nodes":[],"body":{"id":5761,"nodeType":"Block","src":"19367:83:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5750,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5740,"src":"19385:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5751,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5744,"src":"19396:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5747,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19377:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"19377:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19377:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5753,"nodeType":"ExpressionStatement","src":"19377:24:4"},{"expression":{"arguments":[{"id":5757,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5740,"src":"19425:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5758,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5742,"src":"19436:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5754,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19411:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11757,"src":"19411:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19411:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5760,"nodeType":"ExpressionStatement","src":"19411:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"19291:9:4","parameters":{"id":5745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5740,"mutability":"mutable","name":"msgSender","nameLocation":"19309:9:4","nodeType":"VariableDeclaration","scope":5762,"src":"19301:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5739,"name":"address","nodeType":"ElementaryTypeName","src":"19301:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5742,"mutability":"mutable","name":"origin","nameLocation":"19328:6:4","nodeType":"VariableDeclaration","scope":5762,"src":"19320:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5741,"name":"address","nodeType":"ElementaryTypeName","src":"19320:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5744,"mutability":"mutable","name":"give","nameLocation":"19344:4:4","nodeType":"VariableDeclaration","scope":5762,"src":"19336:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5743,"name":"uint256","nodeType":"ElementaryTypeName","src":"19336:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19300:49:4"},"returnParameters":{"id":5746,"nodeType":"ParameterList","parameters":[],"src":"19367:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5779,"nodeType":"FunctionDefinition","src":"19456:122:4","nodes":[],"body":{"id":5778,"nodeType":"Block","src":"19513:65:4","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5767,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19523:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":11760,"src":"19523:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19523:14:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5771,"nodeType":"ExpressionStatement","src":"19523:14:4"},{"expression":{"arguments":[{"id":5775,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5764,"src":"19561:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5772,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19547:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11743,"src":"19547:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19547:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5777,"nodeType":"ExpressionStatement","src":"19547:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"19465:11:4","parameters":{"id":5765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5764,"mutability":"mutable","name":"msgSender","nameLocation":"19485:9:4","nodeType":"VariableDeclaration","scope":5779,"src":"19477:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5763,"name":"address","nodeType":"ElementaryTypeName","src":"19477:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19476:19:4"},"returnParameters":{"id":5766,"nodeType":"ParameterList","parameters":[],"src":"19513:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5794,"nodeType":"FunctionDefinition","src":"19669:91:4","nodes":[],"body":{"id":5793,"nodeType":"Block","src":"19726:34:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5789,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5781,"src":"19744:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5790,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5783,"src":"19748:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5786,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19736:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"19736:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19736:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5792,"nodeType":"ExpressionStatement","src":"19736:17:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"19678:4:4","parameters":{"id":5784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5781,"mutability":"mutable","name":"to","nameLocation":"19691:2:4","nodeType":"VariableDeclaration","scope":5794,"src":"19683:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5780,"name":"address","nodeType":"ElementaryTypeName","src":"19683:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5783,"mutability":"mutable","name":"give","nameLocation":"19703:4:4","nodeType":"VariableDeclaration","scope":5794,"src":"19695:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5782,"name":"uint256","nodeType":"ElementaryTypeName","src":"19695:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19682:26:4"},"returnParameters":{"id":5785,"nodeType":"ParameterList","parameters":[],"src":"19726:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5811,"nodeType":"FunctionDefinition","src":"19884:117:4","nodes":[],"body":{"id":5810,"nodeType":"Block","src":"19956:45:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5804,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5796,"src":"19971:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5805,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5798,"src":"19978:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5806,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5800,"src":"19982:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":5807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19988:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5803,"name":"deal","nodeType":"Identifier","overloadedDeclarations":[5794,5811,5934],"referencedDeclaration":5934,"src":"19966:4:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":5808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19966:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5809,"nodeType":"ExpressionStatement","src":"19966:28:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"19893:4:4","parameters":{"id":5801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5796,"mutability":"mutable","name":"token","nameLocation":"19906:5:4","nodeType":"VariableDeclaration","scope":5811,"src":"19898:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5795,"name":"address","nodeType":"ElementaryTypeName","src":"19898:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5798,"mutability":"mutable","name":"to","nameLocation":"19921:2:4","nodeType":"VariableDeclaration","scope":5811,"src":"19913:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5797,"name":"address","nodeType":"ElementaryTypeName","src":"19913:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5800,"mutability":"mutable","name":"give","nameLocation":"19933:4:4","nodeType":"VariableDeclaration","scope":5811,"src":"19925:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5799,"name":"uint256","nodeType":"ElementaryTypeName","src":"19925:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19897:41:4"},"returnParameters":{"id":5802,"nodeType":"ParameterList","parameters":[],"src":"19956:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5831,"nodeType":"FunctionDefinition","src":"20127:147:4","nodes":[],"body":{"id":5830,"nodeType":"Block","src":"20218:56:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5823,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5813,"src":"20240:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5824,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5815,"src":"20247:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5825,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5817,"src":"20251:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5826,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5819,"src":"20255:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":5827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20261:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5822,"name":"dealERC1155","nodeType":"Identifier","overloadedDeclarations":[5831,6055],"referencedDeclaration":6055,"src":"20228:11:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,uint256,bool)"}},"id":5828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20228:39:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5829,"nodeType":"ExpressionStatement","src":"20228:39:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"20136:11:4","parameters":{"id":5820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5813,"mutability":"mutable","name":"token","nameLocation":"20156:5:4","nodeType":"VariableDeclaration","scope":5831,"src":"20148:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5812,"name":"address","nodeType":"ElementaryTypeName","src":"20148:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5815,"mutability":"mutable","name":"to","nameLocation":"20171:2:4","nodeType":"VariableDeclaration","scope":5831,"src":"20163:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5814,"name":"address","nodeType":"ElementaryTypeName","src":"20163:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5817,"mutability":"mutable","name":"id","nameLocation":"20183:2:4","nodeType":"VariableDeclaration","scope":5831,"src":"20175:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5816,"name":"uint256","nodeType":"ElementaryTypeName","src":"20175:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5819,"mutability":"mutable","name":"give","nameLocation":"20195:4:4","nodeType":"VariableDeclaration","scope":5831,"src":"20187:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5818,"name":"uint256","nodeType":"ElementaryTypeName","src":"20187:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20147:53:4"},"returnParameters":{"id":5821,"nodeType":"ParameterList","parameters":[],"src":"20218:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5934,"nodeType":"FunctionDefinition","src":"20280:825:4","nodes":[],"body":{"id":5933,"nodeType":"Block","src":"20365:740:4","nodes":[],"statements":[{"assignments":[null,5843],"declarations":[null,{"constant":false,"id":5843,"mutability":"mutable","name":"balData","nameLocation":"20422:7:4","nodeType":"VariableDeclaration","scope":5933,"src":"20409:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5842,"name":"bytes","nodeType":"ElementaryTypeName","src":"20409:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5852,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":5848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20467:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":5849,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5835,"src":"20479:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5846,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20444:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"20444:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":5850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20444:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5844,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5833,"src":"20433:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"20433:10:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":5851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20433:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"20406:77:4"},{"assignments":[5854],"declarations":[{"constant":false,"id":5854,"mutability":"mutable","name":"prevBal","nameLocation":"20501:7:4","nodeType":"VariableDeclaration","scope":5933,"src":"20493:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5853,"name":"uint256","nodeType":"ElementaryTypeName","src":"20493:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5862,"initialValue":{"arguments":[{"id":5857,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5843,"src":"20522:7:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20532:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5858,"name":"uint256","nodeType":"ElementaryTypeName","src":"20532:7:4","typeDescriptions":{}}}],"id":5860,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20531:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":5855,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20511:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"20511:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20511:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20493:48:4"},{"expression":{"arguments":[{"id":5875,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"20644:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":5872,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5835,"src":"20626:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":5869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20605:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":5866,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5833,"src":"20594:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5863,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"20578:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":5865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"20578:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20578:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"20578:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":5870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20578:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8233,"src":"20578:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20578:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"20578:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":5876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20578:71:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5877,"nodeType":"ExpressionStatement","src":"20578:71:4"},{"condition":{"id":5878,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5839,"src":"20695:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5932,"nodeType":"IfStatement","src":"20691:408:4","trueBody":{"id":5931,"nodeType":"Block","src":"20703:396:4","statements":[{"assignments":[null,5880],"declarations":[null,{"constant":false,"id":5880,"mutability":"mutable","name":"totSupData","nameLocation":"20733:10:4","nodeType":"VariableDeclaration","scope":5931,"src":"20720:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5879,"name":"bytes","nodeType":"ElementaryTypeName","src":"20720:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5888,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783138313630646464","id":5885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20781:10:4","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"id":5883,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20758:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"20758:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":5886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20758:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5881,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5833,"src":"20747:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"20747:10:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":5887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20747:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"20717:76:4"},{"assignments":[5890],"declarations":[{"constant":false,"id":5890,"mutability":"mutable","name":"totSup","nameLocation":"20815:6:4","nodeType":"VariableDeclaration","scope":5931,"src":"20807:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5889,"name":"uint256","nodeType":"ElementaryTypeName","src":"20807:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5898,"initialValue":{"arguments":[{"id":5893,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5880,"src":"20835:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20848:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5894,"name":"uint256","nodeType":"ElementaryTypeName","src":"20848:7:4","typeDescriptions":{}}}],"id":5896,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20847:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":5891,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20824:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"20824:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20824:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20807:50:4"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5899,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"20875:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5900,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"20882:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20875:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5917,"nodeType":"Block","src":"20956:59:4","statements":[{"expression":{"id":5915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5910,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5890,"src":"20974:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5911,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"20985:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5912,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"20992:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20985:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5914,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20984:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20974:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5916,"nodeType":"ExpressionStatement","src":"20974:26:4"}]},"id":5918,"nodeType":"IfStatement","src":"20871:144:4","trueBody":{"id":5909,"nodeType":"Block","src":"20891:59:4","statements":[{"expression":{"id":5907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5902,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5890,"src":"20909:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5903,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"20920:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5904,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"20930:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20920:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5906,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20919:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20909:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5908,"nodeType":"ExpressionStatement","src":"20909:26:4"}]}},{"expression":{"arguments":[{"id":5928,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5890,"src":"21081:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783138313630646464","id":5925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21055:10:4","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"arguments":[{"id":5922,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5833,"src":"21044:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5919,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"21028:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":5921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"21028:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21028:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"21028:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":5926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21028:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"21028:52:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":5929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21028:60:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5930,"nodeType":"ExpressionStatement","src":"21028:60:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"20289:4:4","parameters":{"id":5840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5833,"mutability":"mutable","name":"token","nameLocation":"20302:5:4","nodeType":"VariableDeclaration","scope":5934,"src":"20294:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5832,"name":"address","nodeType":"ElementaryTypeName","src":"20294:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5835,"mutability":"mutable","name":"to","nameLocation":"20317:2:4","nodeType":"VariableDeclaration","scope":5934,"src":"20309:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5834,"name":"address","nodeType":"ElementaryTypeName","src":"20309:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5837,"mutability":"mutable","name":"give","nameLocation":"20329:4:4","nodeType":"VariableDeclaration","scope":5934,"src":"20321:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5836,"name":"uint256","nodeType":"ElementaryTypeName","src":"20321:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5839,"mutability":"mutable","name":"adjust","nameLocation":"20340:6:4","nodeType":"VariableDeclaration","scope":5934,"src":"20335:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5838,"name":"bool","nodeType":"ElementaryTypeName","src":"20335:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20293:54:4"},"returnParameters":{"id":5841,"nodeType":"ParameterList","parameters":[],"src":"20365:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6055,"nodeType":"FunctionDefinition","src":"21111:1058:4","nodes":[],"body":{"id":6054,"nodeType":"Block","src":"21215:954:4","nodes":[],"statements":[{"assignments":[null,5948],"declarations":[null,{"constant":false,"id":5948,"mutability":"mutable","name":"balData","nameLocation":"21272:7:4","nodeType":"VariableDeclaration","scope":6054,"src":"21259:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5947,"name":"bytes","nodeType":"ElementaryTypeName","src":"21259:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5958,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783030666464353865","id":5953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21317:10:4","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"},{"id":5954,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5938,"src":"21329:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5955,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5940,"src":"21333:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5951,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21294:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"21294:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":5956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21294:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5949,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"21283:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"21283:10:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":5957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21283:54:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"21256:81:4"},{"assignments":[5960],"declarations":[{"constant":false,"id":5960,"mutability":"mutable","name":"prevBal","nameLocation":"21355:7:4","nodeType":"VariableDeclaration","scope":6054,"src":"21347:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5959,"name":"uint256","nodeType":"ElementaryTypeName","src":"21347:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5968,"initialValue":{"arguments":[{"id":5963,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5948,"src":"21376:7:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21386:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5964,"name":"uint256","nodeType":"ElementaryTypeName","src":"21386:7:4","typeDescriptions":{}}}],"id":5966,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21385:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":5961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21365:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"21365:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21365:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21347:48:4"},{"expression":{"arguments":[{"id":5984,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5942,"src":"21511:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":5981,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5940,"src":"21493:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":5978,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5938,"src":"21480:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783030666464353865","id":5975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21459:10:4","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"}],"expression":{"arguments":[{"id":5972,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"21448:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5969,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"21432:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":5971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"21432:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"21432:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":5976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5977,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8233,"src":"21432:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8251,"src":"21432:60:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":5982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:64:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"21432:78:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":5985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:84:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5986,"nodeType":"ExpressionStatement","src":"21432:84:4"},{"condition":{"id":5987,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5944,"src":"21562:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6053,"nodeType":"IfStatement","src":"21558:605:4","trueBody":{"id":6052,"nodeType":"Block","src":"21570:593:4","statements":[{"assignments":[null,5989],"declarations":[null,{"constant":false,"id":5989,"mutability":"mutable","name":"totSupData","nameLocation":"21600:10:4","nodeType":"VariableDeclaration","scope":6052,"src":"21587:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5988,"name":"bytes","nodeType":"ElementaryTypeName","src":"21587:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5998,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30786264383562303339","id":5994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21648:10:4","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"},{"id":5995,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5940,"src":"21660:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5992,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21625:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"21625:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":5996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21625:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5990,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"21614:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"21614:10:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":5997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21614:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"21584:80:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6000,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5989,"src":"21703:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"21703:17:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":6002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21724:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21703:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c75696e742c626f6f6c293a2074617267657420636f6e7472616374206973206e6f742045524331313535537570706c792e","id":6004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21743:87:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""},"value":"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""}],"id":5999,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21678:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21678:166:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6006,"nodeType":"ExpressionStatement","src":"21678:166:4"},{"assignments":[6008],"declarations":[{"constant":false,"id":6008,"mutability":"mutable","name":"totSup","nameLocation":"21866:6:4","nodeType":"VariableDeclaration","scope":6052,"src":"21858:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6007,"name":"uint256","nodeType":"ElementaryTypeName","src":"21858:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6016,"initialValue":{"arguments":[{"id":6011,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5989,"src":"21886:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21899:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6012,"name":"uint256","nodeType":"ElementaryTypeName","src":"21899:7:4","typeDescriptions":{}}}],"id":6014,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21898:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6009,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21875:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"21875:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21875:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21858:50:4"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6017,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5942,"src":"21926:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6018,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"21933:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21926:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6035,"nodeType":"Block","src":"22007:59:4","statements":[{"expression":{"id":6033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6028,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6008,"src":"22025:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6029,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5942,"src":"22036:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6030,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"22043:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22036:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6032,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22035:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22025:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6034,"nodeType":"ExpressionStatement","src":"22025:26:4"}]},"id":6036,"nodeType":"IfStatement","src":"21922:144:4","trueBody":{"id":6027,"nodeType":"Block","src":"21942:59:4","statements":[{"expression":{"id":6025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6020,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6008,"src":"21960:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6021,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"21971:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6022,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5942,"src":"21981:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21971:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6024,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21970:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21960:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6026,"nodeType":"ExpressionStatement","src":"21960:26:4"}]}},{"expression":{"arguments":[{"id":6049,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6008,"src":"22145:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6046,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5940,"src":"22127:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30786264383562303339","id":6043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22106:10:4","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"}],"expression":{"arguments":[{"id":6040,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"22095:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6037,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"22079:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":6039,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"22079:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22079:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"22079:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22079:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8251,"src":"22079:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22079:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"22079:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22079:73:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6051,"nodeType":"ExpressionStatement","src":"22079:73:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"21120:11:4","parameters":{"id":5945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5936,"mutability":"mutable","name":"token","nameLocation":"21140:5:4","nodeType":"VariableDeclaration","scope":6055,"src":"21132:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5935,"name":"address","nodeType":"ElementaryTypeName","src":"21132:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5938,"mutability":"mutable","name":"to","nameLocation":"21155:2:4","nodeType":"VariableDeclaration","scope":6055,"src":"21147:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5937,"name":"address","nodeType":"ElementaryTypeName","src":"21147:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5940,"mutability":"mutable","name":"id","nameLocation":"21167:2:4","nodeType":"VariableDeclaration","scope":6055,"src":"21159:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5939,"name":"uint256","nodeType":"ElementaryTypeName","src":"21159:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5942,"mutability":"mutable","name":"give","nameLocation":"21179:4:4","nodeType":"VariableDeclaration","scope":6055,"src":"21171:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5941,"name":"uint256","nodeType":"ElementaryTypeName","src":"21171:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5944,"mutability":"mutable","name":"adjust","nameLocation":"21190:6:4","nodeType":"VariableDeclaration","scope":6055,"src":"21185:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5943,"name":"bool","nodeType":"ElementaryTypeName","src":"21185:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21131:66:4"},"returnParameters":{"id":5946,"nodeType":"ParameterList","parameters":[],"src":"21215:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6184,"nodeType":"FunctionDefinition","src":"22175:1115:4","nodes":[],"body":{"id":6183,"nodeType":"Block","src":"22251:1039:4","nodes":[],"statements":[{"assignments":[6065,6067],"declarations":[{"constant":false,"id":6065,"mutability":"mutable","name":"successMinted","nameLocation":"22336:13:4","nodeType":"VariableDeclaration","scope":6183,"src":"22331:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6064,"name":"bool","nodeType":"ElementaryTypeName","src":"22331:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6067,"mutability":"mutable","name":"ownerData","nameLocation":"22364:9:4","nodeType":"VariableDeclaration","scope":6183,"src":"22351:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6066,"name":"bytes","nodeType":"ElementaryTypeName","src":"22351:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6076,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783633353232313165","id":6072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22417:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"},{"id":6073,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6061,"src":"22429:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22394:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22394:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22394:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6068,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"22377:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"22377:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22377:56:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22330:103:4"},{"expression":{"arguments":[{"id":6078,"name":"successMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6065,"src":"22451:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c626f6f6c293a206964206e6f74206d696e7465642e","id":6079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22466:59:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""},"value":"StdCheats deal(address,address,uint,bool): id not minted."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""}],"id":6077,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22443:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22443:83:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6081,"nodeType":"ExpressionStatement","src":"22443:83:4"},{"assignments":[null,6083],"declarations":[null,{"constant":false,"id":6083,"mutability":"mutable","name":"fromBalData","nameLocation":"22590:11:4","nodeType":"VariableDeclaration","scope":6183,"src":"22577:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6082,"name":"bytes","nodeType":"ElementaryTypeName","src":"22577:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6098,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22639:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"arguments":[{"id":6091,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6067,"src":"22662:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22674:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6092,"name":"address","nodeType":"ElementaryTypeName","src":"22674:7:4","typeDescriptions":{}}}],"id":6094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22673:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6089,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22651:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"22651:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22651:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":6086,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22616:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22616:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22616:68:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6084,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"22605:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"22605:10:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":6097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22605:80:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22574:111:4"},{"assignments":[6100],"declarations":[{"constant":false,"id":6100,"mutability":"mutable","name":"fromPrevBal","nameLocation":"22703:11:4","nodeType":"VariableDeclaration","scope":6183,"src":"22695:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6099,"name":"uint256","nodeType":"ElementaryTypeName","src":"22695:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6108,"initialValue":{"arguments":[{"id":6103,"name":"fromBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6083,"src":"22728:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22742:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6104,"name":"uint256","nodeType":"ElementaryTypeName","src":"22742:7:4","typeDescriptions":{}}}],"id":6106,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22741:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22717:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"22717:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22717:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22695:56:4"},{"assignments":[null,6110],"declarations":[null,{"constant":false,"id":6110,"mutability":"mutable","name":"toBalData","nameLocation":"22818:9:4","nodeType":"VariableDeclaration","scope":6183,"src":"22805:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6109,"name":"bytes","nodeType":"ElementaryTypeName","src":"22805:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6119,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22865:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":6116,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6059,"src":"22877:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6113,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22842:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22842:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22842:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6111,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"22831:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"22831:10:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":6118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22831:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22802:79:4"},{"assignments":[6121],"declarations":[{"constant":false,"id":6121,"mutability":"mutable","name":"toPrevBal","nameLocation":"22899:9:4","nodeType":"VariableDeclaration","scope":6183,"src":"22891:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6120,"name":"uint256","nodeType":"ElementaryTypeName","src":"22891:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6129,"initialValue":{"arguments":[{"id":6124,"name":"toBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6110,"src":"22922:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22934:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6125,"name":"uint256","nodeType":"ElementaryTypeName","src":"22934:7:4","typeDescriptions":{}}}],"id":6127,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22933:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22911:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"22911:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22911:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22891:52:4"},{"expression":{"arguments":[{"id":6149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"23077:13:4","subExpression":{"id":6148,"name":"fromPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6100,"src":"23079:11:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":6141,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6067,"src":"23040:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23052:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6142,"name":"address","nodeType":"ElementaryTypeName","src":"23052:7:4","typeDescriptions":{}}}],"id":6144,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23051:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6139,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23029:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"23029:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23029:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23008:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6133,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"22997:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6130,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"22981:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":6132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"22981:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22981:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6135,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"22981:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22981:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8233,"src":"22981:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22981:81:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"22981:95:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22981:110:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6151,"nodeType":"ExpressionStatement","src":"22981:110:4"},{"expression":{"arguments":[{"id":6165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23167:11:4","subExpression":{"id":6164,"name":"toPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6121,"src":"23169:9:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6161,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6059,"src":"23149:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23128:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6155,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"23117:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6152,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"23101:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":6154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"23101:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23101:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"23101:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23101:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8233,"src":"23101:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23101:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"23101:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23101:78:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6167,"nodeType":"ExpressionStatement","src":"23101:78:4"},{"expression":{"arguments":[{"id":6180,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6059,"src":"23280:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":6177,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6061,"src":"23262:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783633353232313165","id":6174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23241:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"}],"expression":{"arguments":[{"id":6171,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"23230:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6168,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"23214:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":6170,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"23214:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23214:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"23214:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23214:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8251,"src":"23214:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23214:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8310,"src":"23214:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address)"}},"id":6181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23214:69:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6182,"nodeType":"ExpressionStatement","src":"23214:69:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC721","nameLocation":"22184:10:4","parameters":{"id":6062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6057,"mutability":"mutable","name":"token","nameLocation":"22203:5:4","nodeType":"VariableDeclaration","scope":6184,"src":"22195:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6056,"name":"address","nodeType":"ElementaryTypeName","src":"22195:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6059,"mutability":"mutable","name":"to","nameLocation":"22218:2:4","nodeType":"VariableDeclaration","scope":6184,"src":"22210:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6058,"name":"address","nodeType":"ElementaryTypeName","src":"22210:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6061,"mutability":"mutable","name":"id","nameLocation":"22230:2:4","nodeType":"VariableDeclaration","scope":6184,"src":"22222:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6060,"name":"uint256","nodeType":"ElementaryTypeName","src":"22222:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22194:39:4"},"returnParameters":{"id":6063,"nodeType":"ParameterList","parameters":[],"src":"22251:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":5527,"name":"StdCheatsSafe","nodeType":"IdentifierPath","referencedDeclaration":5526,"src":"17553:13:4"},"id":5528,"nodeType":"InheritanceSpecifier","src":"17553:13:4"}],"canonicalName":"StdCheats","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[6185,5526],"name":"StdCheats","nameLocation":"17540:9:4","scope":6186,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdError.sol":{"id":5,"ast":{"absolutePath":"lib/forge-std/src/StdError.sol","id":6252,"exportedSymbols":{"stdError":[6251]},"nodeType":"SourceUnit","src":"129:884:5","nodes":[{"id":6187,"nodeType":"PragmaDirective","src":"129:31:5","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":6251,"nodeType":"ContractDefinition","src":"162:850:5","nodes":[{"id":6194,"nodeType":"VariableDeclaration","src":"185:86:5","nodes":[],"constant":true,"functionSelector":"10332977","mutability":"constant","name":"assertionError","nameLocation":"207:14:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6188,"name":"bytes","nodeType":"ElementaryTypeName","src":"185:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"248:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783031","id":6192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":6189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"224:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"224:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"224:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6201,"nodeType":"VariableDeclaration","src":"277:87:5","nodes":[],"constant":true,"functionSelector":"8995290f","mutability":"constant","name":"arithmeticError","nameLocation":"299:15:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6195,"name":"bytes","nodeType":"ElementaryTypeName","src":"277:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"341:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783131","id":6199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359:4:5","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"0x11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"}],"expression":{"id":6196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"317:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"317:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"317:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6208,"nodeType":"VariableDeclaration","src":"370:85:5","nodes":[],"constant":true,"functionSelector":"fa784a44","mutability":"constant","name":"divisionError","nameLocation":"392:13:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6202,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"432:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783132","id":6206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"450:4:5","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"0x12"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"expression":{"id":6203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"408:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"408:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"408:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6215,"nodeType":"VariableDeclaration","src":"461:91:5","nodes":[],"constant":true,"functionSelector":"1de45560","mutability":"constant","name":"enumConversionError","nameLocation":"483:19:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6209,"name":"bytes","nodeType":"ElementaryTypeName","src":"461:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"529:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783231","id":6213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"547:4:5","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"0x21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"}],"expression":{"id":6210,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"505:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"505:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"505:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6222,"nodeType":"VariableDeclaration","src":"558:90:5","nodes":[],"constant":true,"functionSelector":"d160e4de","mutability":"constant","name":"encodeStorageError","nameLocation":"580:18:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6216,"name":"bytes","nodeType":"ElementaryTypeName","src":"558:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"625:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783232","id":6220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"643:4:5","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"}],"expression":{"id":6217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"601:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"601:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"601:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6229,"nodeType":"VariableDeclaration","src":"654:80:5","nodes":[],"constant":true,"functionSelector":"b22dc54d","mutability":"constant","name":"popError","nameLocation":"676:8:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6223,"name":"bytes","nodeType":"ElementaryTypeName","src":"654:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"711:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783331","id":6227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"729:4:5","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"0x31"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"}],"expression":{"id":6224,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"687:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"687:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"687:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6236,"nodeType":"VariableDeclaration","src":"740:85:5","nodes":[],"constant":true,"functionSelector":"05ee8612","mutability":"constant","name":"indexOOBError","nameLocation":"762:13:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6230,"name":"bytes","nodeType":"ElementaryTypeName","src":"740:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"802:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783332","id":6234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"820:4:5","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"0x32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"}],"expression":{"id":6231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"778:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"778:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"778:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6243,"nodeType":"VariableDeclaration","src":"831:88:5","nodes":[],"constant":true,"functionSelector":"986c5f68","mutability":"constant","name":"memOverflowError","nameLocation":"853:16:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6237,"name":"bytes","nodeType":"ElementaryTypeName","src":"831:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"896:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783431","id":6241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"914:4:5","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"0x41"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"}],"expression":{"id":6238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"872:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"872:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"872:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6250,"nodeType":"VariableDeclaration","src":"925:84:5","nodes":[],"constant":true,"functionSelector":"b67689da","mutability":"constant","name":"zeroVarError","nameLocation":"947:12:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6244,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"986:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783531","id":6248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1004:4:5","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"0x51"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"}],"expression":{"id":6245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"962:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"962:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"962:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"stdError","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[6251],"name":"stdError","nameLocation":"170:8:5","scope":6252,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdInvariant.sol":{"id":6,"ast":{"absolutePath":"lib/forge-std/src/StdInvariant.sol","id":6476,"exportedSymbols":{"StdInvariant":[6475]},"nodeType":"SourceUnit","src":"32:3034:6","nodes":[{"id":6253,"nodeType":"PragmaDirective","src":"32:31:6","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":6254,"nodeType":"PragmaDirective","src":"65:33:6","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":6475,"nodeType":"ContractDefinition","src":"100:2965:6","nodes":[{"id":6260,"nodeType":"StructDefinition","src":"128:77:6","nodes":[],"canonicalName":"StdInvariant.FuzzSelector","members":[{"constant":false,"id":6256,"mutability":"mutable","name":"addr","nameLocation":"166:4:6","nodeType":"VariableDeclaration","scope":6260,"src":"158:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6255,"name":"address","nodeType":"ElementaryTypeName","src":"158:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6259,"mutability":"mutable","name":"selectors","nameLocation":"189:9:6","nodeType":"VariableDeclaration","scope":6260,"src":"180:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":6257,"name":"bytes4","nodeType":"ElementaryTypeName","src":"180:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":6258,"nodeType":"ArrayTypeName","src":"180:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzSelector","nameLocation":"135:12:6","scope":6475,"visibility":"public"},{"id":6263,"nodeType":"VariableDeclaration","src":"211:36:6","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedContracts","nameLocation":"229:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6261,"name":"address","nodeType":"ElementaryTypeName","src":"211:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6262,"nodeType":"ArrayTypeName","src":"211:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6266,"nodeType":"VariableDeclaration","src":"253:34:6","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedSenders","nameLocation":"271:16:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6264,"name":"address","nodeType":"ElementaryTypeName","src":"253:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6265,"nodeType":"ArrayTypeName","src":"253:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6269,"nodeType":"VariableDeclaration","src":"293:36:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedContracts","nameLocation":"311:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6267,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6268,"nodeType":"ArrayTypeName","src":"293:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6272,"nodeType":"VariableDeclaration","src":"335:34:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSenders","nameLocation":"353:16:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6270,"name":"address","nodeType":"ElementaryTypeName","src":"335:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6271,"nodeType":"ArrayTypeName","src":"335:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6275,"nodeType":"VariableDeclaration","src":"376:35:6","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedArtifacts","nameLocation":"393:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":6273,"name":"string","nodeType":"ElementaryTypeName","src":"376:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6274,"nodeType":"ArrayTypeName","src":"376:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":6278,"nodeType":"VariableDeclaration","src":"417:35:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifacts","nameLocation":"434:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":6276,"name":"string","nodeType":"ElementaryTypeName","src":"417:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6277,"nodeType":"ArrayTypeName","src":"417:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":6282,"nodeType":"VariableDeclaration","src":"459:49:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifactSelectors","nameLocation":"482:26:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6280,"nodeType":"UserDefinedTypeName","pathNode":{"id":6279,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"459:12:6"},"referencedDeclaration":6260,"src":"459:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6281,"nodeType":"ArrayTypeName","src":"459:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":6286,"nodeType":"VariableDeclaration","src":"514:41:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSelectors","nameLocation":"537:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6284,"nodeType":"UserDefinedTypeName","pathNode":{"id":6283,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"514:12:6"},"referencedDeclaration":6260,"src":"514:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6285,"nodeType":"ArrayTypeName","src":"514:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":6298,"nodeType":"FunctionDefinition","src":"640:126:6","nodes":[],"body":{"id":6297,"nodeType":"Block","src":"704:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6294,"name":"newExcludedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6288,"src":"738:20:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6291,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6263,"src":"714:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"714:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"714:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6296,"nodeType":"ExpressionStatement","src":"714:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeContract","nameLocation":"649:15:6","parameters":{"id":6289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6288,"mutability":"mutable","name":"newExcludedContract_","nameLocation":"673:20:6","nodeType":"VariableDeclaration","scope":6298,"src":"665:28:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6287,"name":"address","nodeType":"ElementaryTypeName","src":"665:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"664:30:6"},"returnParameters":{"id":6290,"nodeType":"ParameterList","parameters":[],"src":"704:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6310,"nodeType":"FunctionDefinition","src":"772:118:6","nodes":[],"body":{"id":6309,"nodeType":"Block","src":"832:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6306,"name":"newExcludedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6300,"src":"864:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6303,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6266,"src":"842:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"842:21:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"842:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6308,"nodeType":"ExpressionStatement","src":"842:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeSender","nameLocation":"781:13:6","parameters":{"id":6301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6300,"mutability":"mutable","name":"newExcludedSender_","nameLocation":"803:18:6","nodeType":"VariableDeclaration","scope":6310,"src":"795:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6299,"name":"address","nodeType":"ElementaryTypeName","src":"795:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"794:28:6"},"returnParameters":{"id":6302,"nodeType":"ParameterList","parameters":[],"src":"832:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6322,"nodeType":"FunctionDefinition","src":"896:132:6","nodes":[],"body":{"id":6321,"nodeType":"Block","src":"966:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6318,"name":"newExcludedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6312,"src":"1000:20:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6315,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6275,"src":"976:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":6317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"976:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$bound_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":6319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"976:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6320,"nodeType":"ExpressionStatement","src":"976:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifact","nameLocation":"905:15:6","parameters":{"id":6313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6312,"mutability":"mutable","name":"newExcludedArtifact_","nameLocation":"935:20:6","nodeType":"VariableDeclaration","scope":6322,"src":"921:34:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6311,"name":"string","nodeType":"ElementaryTypeName","src":"921:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"920:36:6"},"returnParameters":{"id":6314,"nodeType":"ParameterList","parameters":[],"src":"966:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6334,"nodeType":"FunctionDefinition","src":"1034:131:6","nodes":[],"body":{"id":6333,"nodeType":"Block","src":"1103:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6330,"name":"newTargetedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6324,"src":"1137:20:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6327,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6278,"src":"1113:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":6329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1113:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$bound_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":6331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1113:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6332,"nodeType":"ExpressionStatement","src":"1113:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifact","nameLocation":"1043:14:6","parameters":{"id":6325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6324,"mutability":"mutable","name":"newTargetedArtifact_","nameLocation":"1072:20:6","nodeType":"VariableDeclaration","scope":6334,"src":"1058:34:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6323,"name":"string","nodeType":"ElementaryTypeName","src":"1058:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1057:36:6"},"returnParameters":{"id":6326,"nodeType":"ParameterList","parameters":[],"src":"1103:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6347,"nodeType":"FunctionDefinition","src":"1171:169:6","nodes":[],"body":{"id":6346,"nodeType":"Block","src":"1262:78:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6343,"name":"newTargetedArtifactSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6337,"src":"1304:28:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":6340,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6282,"src":"1272:26:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":6342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1272:31:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$6260_storage_$returns$__$bound_to$_t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":6344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1272:61:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6345,"nodeType":"ExpressionStatement","src":"1272:61:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelector","nameLocation":"1180:22:6","parameters":{"id":6338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6337,"mutability":"mutable","name":"newTargetedArtifactSelector_","nameLocation":"1223:28:6","nodeType":"VariableDeclaration","scope":6347,"src":"1203:48:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":6336,"nodeType":"UserDefinedTypeName","pathNode":{"id":6335,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"1203:12:6"},"referencedDeclaration":6260,"src":"1203:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1202:50:6"},"returnParameters":{"id":6339,"nodeType":"ParameterList","parameters":[],"src":"1262:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6359,"nodeType":"FunctionDefinition","src":"1346:125:6","nodes":[],"body":{"id":6358,"nodeType":"Block","src":"1409:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6355,"name":"newTargetedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6349,"src":"1443:20:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6352,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6269,"src":"1419:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1419:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1419:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6357,"nodeType":"ExpressionStatement","src":"1419:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetContract","nameLocation":"1355:14:6","parameters":{"id":6350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6349,"mutability":"mutable","name":"newTargetedContract_","nameLocation":"1378:20:6","nodeType":"VariableDeclaration","scope":6359,"src":"1370:28:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6348,"name":"address","nodeType":"ElementaryTypeName","src":"1370:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1369:30:6"},"returnParameters":{"id":6351,"nodeType":"ParameterList","parameters":[],"src":"1409:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6372,"nodeType":"FunctionDefinition","src":"1477:137:6","nodes":[],"body":{"id":6371,"nodeType":"Block","src":"1552:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6368,"name":"newTargetedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6362,"src":"1586:20:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":6365,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"1562:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":6367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1562:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$6260_storage_$returns$__$bound_to$_t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":6369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1562:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6370,"nodeType":"ExpressionStatement","src":"1562:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSelector","nameLocation":"1486:14:6","parameters":{"id":6363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6362,"mutability":"mutable","name":"newTargetedSelector_","nameLocation":"1521:20:6","nodeType":"VariableDeclaration","scope":6372,"src":"1501:40:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":6361,"nodeType":"UserDefinedTypeName","pathNode":{"id":6360,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"1501:12:6"},"referencedDeclaration":6260,"src":"1501:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1500:42:6"},"returnParameters":{"id":6364,"nodeType":"ParameterList","parameters":[],"src":"1552:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6384,"nodeType":"FunctionDefinition","src":"1620:117:6","nodes":[],"body":{"id":6383,"nodeType":"Block","src":"1679:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6380,"name":"newTargetedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6374,"src":"1711:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6377,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6272,"src":"1689:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1689:21:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1689:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6382,"nodeType":"ExpressionStatement","src":"1689:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSender","nameLocation":"1629:12:6","parameters":{"id":6375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6374,"mutability":"mutable","name":"newTargetedSender_","nameLocation":"1650:18:6","nodeType":"VariableDeclaration","scope":6384,"src":"1642:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6373,"name":"address","nodeType":"ElementaryTypeName","src":"1642:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1641:28:6"},"returnParameters":{"id":6376,"nodeType":"ParameterList","parameters":[],"src":"1679:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6395,"nodeType":"FunctionDefinition","src":"1866:141:6","nodes":[],"body":{"id":6394,"nodeType":"Block","src":"1951:56:6","nodes":[],"statements":[{"expression":{"id":6392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6390,"name":"excludedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6388,"src":"1961:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6391,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6275,"src":"1982:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"1961:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":6393,"nodeType":"ExpressionStatement","src":"1961:39:6"}]},"functionSelector":"b5508aa9","implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifacts","nameLocation":"1875:16:6","parameters":{"id":6385,"nodeType":"ParameterList","parameters":[],"src":"1891:2:6"},"returnParameters":{"id":6389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6388,"mutability":"mutable","name":"excludedArtifacts_","nameLocation":"1931:18:6","nodeType":"VariableDeclaration","scope":6395,"src":"1915:34:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6386,"name":"string","nodeType":"ElementaryTypeName","src":"1915:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6387,"nodeType":"ArrayTypeName","src":"1915:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1914:36:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6406,"nodeType":"FunctionDefinition","src":"2013:142:6","nodes":[],"body":{"id":6405,"nodeType":"Block","src":"2099:56:6","nodes":[],"statements":[{"expression":{"id":6403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6401,"name":"excludedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6399,"src":"2109:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6402,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6263,"src":"2130:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2109:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6404,"nodeType":"ExpressionStatement","src":"2109:39:6"}]},"functionSelector":"e20c9f71","implemented":true,"kind":"function","modifiers":[],"name":"excludeContracts","nameLocation":"2022:16:6","parameters":{"id":6396,"nodeType":"ParameterList","parameters":[],"src":"2038:2:6"},"returnParameters":{"id":6400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6399,"mutability":"mutable","name":"excludedContracts_","nameLocation":"2079:18:6","nodeType":"VariableDeclaration","scope":6406,"src":"2062:35:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6397,"name":"address","nodeType":"ElementaryTypeName","src":"2062:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6398,"nodeType":"ArrayTypeName","src":"2062:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2061:37:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6417,"nodeType":"FunctionDefinition","src":"2161:134:6","nodes":[],"body":{"id":6416,"nodeType":"Block","src":"2243:52:6","nodes":[],"statements":[{"expression":{"id":6414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6412,"name":"excludedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6410,"src":"2253:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6413,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6266,"src":"2272:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2253:35:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6415,"nodeType":"ExpressionStatement","src":"2253:35:6"}]},"functionSelector":"1ed7831c","implemented":true,"kind":"function","modifiers":[],"name":"excludeSenders","nameLocation":"2170:14:6","parameters":{"id":6407,"nodeType":"ParameterList","parameters":[],"src":"2184:2:6"},"returnParameters":{"id":6411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6410,"mutability":"mutable","name":"excludedSenders_","nameLocation":"2225:16:6","nodeType":"VariableDeclaration","scope":6417,"src":"2208:33:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6408,"name":"address","nodeType":"ElementaryTypeName","src":"2208:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6409,"nodeType":"ArrayTypeName","src":"2208:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2207:35:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6428,"nodeType":"FunctionDefinition","src":"2301:140:6","nodes":[],"body":{"id":6427,"nodeType":"Block","src":"2385:56:6","nodes":[],"statements":[{"expression":{"id":6425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6423,"name":"targetedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"2395:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6424,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6278,"src":"2416:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"2395:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":6426,"nodeType":"ExpressionStatement","src":"2395:39:6"}]},"functionSelector":"85226c81","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifacts","nameLocation":"2310:15:6","parameters":{"id":6418,"nodeType":"ParameterList","parameters":[],"src":"2325:2:6"},"returnParameters":{"id":6422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6421,"mutability":"mutable","name":"targetedArtifacts_","nameLocation":"2365:18:6","nodeType":"VariableDeclaration","scope":6428,"src":"2349:34:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6419,"name":"string","nodeType":"ElementaryTypeName","src":"2349:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6420,"nodeType":"ArrayTypeName","src":"2349:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2348:36:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6440,"nodeType":"FunctionDefinition","src":"2447:178:6","nodes":[],"body":{"id":6439,"nodeType":"Block","src":"2553:72:6","nodes":[],"statements":[{"expression":{"id":6437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6435,"name":"targetedArtifactSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6433,"src":"2563:26:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6436,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6282,"src":"2592:26:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"2563:55:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":6438,"nodeType":"ExpressionStatement","src":"2563:55:6"}]},"functionSelector":"66d9a9a0","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelectors","nameLocation":"2456:23:6","parameters":{"id":6429,"nodeType":"ParameterList","parameters":[],"src":"2479:2:6"},"returnParameters":{"id":6434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6433,"mutability":"mutable","name":"targetedArtifactSelectors_","nameLocation":"2525:26:6","nodeType":"VariableDeclaration","scope":6440,"src":"2503:48:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6431,"nodeType":"UserDefinedTypeName","pathNode":{"id":6430,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"2503:12:6"},"referencedDeclaration":6260,"src":"2503:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6432,"nodeType":"ArrayTypeName","src":"2503:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"2502:50:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6451,"nodeType":"FunctionDefinition","src":"2631:141:6","nodes":[],"body":{"id":6450,"nodeType":"Block","src":"2716:56:6","nodes":[],"statements":[{"expression":{"id":6448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6446,"name":"targetedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6444,"src":"2726:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6447,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6269,"src":"2747:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2726:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6449,"nodeType":"ExpressionStatement","src":"2726:39:6"}]},"functionSelector":"3f7286f4","implemented":true,"kind":"function","modifiers":[],"name":"targetContracts","nameLocation":"2640:15:6","parameters":{"id":6441,"nodeType":"ParameterList","parameters":[],"src":"2655:2:6"},"returnParameters":{"id":6445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6444,"mutability":"mutable","name":"targetedContracts_","nameLocation":"2696:18:6","nodeType":"VariableDeclaration","scope":6451,"src":"2679:35:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6442,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6443,"nodeType":"ArrayTypeName","src":"2679:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2678:37:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6463,"nodeType":"FunctionDefinition","src":"2778:146:6","nodes":[],"body":{"id":6462,"nodeType":"Block","src":"2868:56:6","nodes":[],"statements":[{"expression":{"id":6460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6458,"name":"targetedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6456,"src":"2878:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6459,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"2899:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"2878:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":6461,"nodeType":"ExpressionStatement","src":"2878:39:6"}]},"functionSelector":"916a17c6","implemented":true,"kind":"function","modifiers":[],"name":"targetSelectors","nameLocation":"2787:15:6","parameters":{"id":6452,"nodeType":"ParameterList","parameters":[],"src":"2802:2:6"},"returnParameters":{"id":6457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6456,"mutability":"mutable","name":"targetedSelectors_","nameLocation":"2848:18:6","nodeType":"VariableDeclaration","scope":6463,"src":"2826:40:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6454,"nodeType":"UserDefinedTypeName","pathNode":{"id":6453,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"2826:12:6"},"referencedDeclaration":6260,"src":"2826:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6455,"nodeType":"ArrayTypeName","src":"2826:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"2825:42:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6474,"nodeType":"FunctionDefinition","src":"2930:133:6","nodes":[],"body":{"id":6473,"nodeType":"Block","src":"3011:52:6","nodes":[],"statements":[{"expression":{"id":6471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6469,"name":"targetedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6467,"src":"3021:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6470,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6272,"src":"3040:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3021:35:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6472,"nodeType":"ExpressionStatement","src":"3021:35:6"}]},"functionSelector":"3e5e3c23","implemented":true,"kind":"function","modifiers":[],"name":"targetSenders","nameLocation":"2939:13:6","parameters":{"id":6464,"nodeType":"ParameterList","parameters":[],"src":"2952:2:6"},"returnParameters":{"id":6468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6467,"mutability":"mutable","name":"targetedSenders_","nameLocation":"2993:16:6","nodeType":"VariableDeclaration","scope":6474,"src":"2976:33:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6465,"name":"address","nodeType":"ElementaryTypeName","src":"2976:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6466,"nodeType":"ArrayTypeName","src":"2976:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2975:35:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StdInvariant","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[6475],"name":"StdInvariant","nameLocation":"109:12:6","scope":6476,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdJson.sol":{"id":7,"ast":{"absolutePath":"lib/forge-std/src/StdJson.sol","id":7052,"exportedSymbols":{"VmSafe":[11690],"stdJson":[7051]},"nodeType":"SourceUnit","src":"32:6173:7","nodes":[{"id":6477,"nodeType":"PragmaDirective","src":"32:31:7","nodes":[],"literals":["solidity",">=","0.6",".0","<","0.9",".0"]},{"id":6478,"nodeType":"PragmaDirective","src":"65:33:7","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":6480,"nodeType":"ImportDirective","src":"100:32:7","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":7052,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":6479,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"108:6:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7051,"nodeType":"ContractDefinition","src":"830:5374:7","nodes":[{"id":6497,"nodeType":"VariableDeclaration","src":"852:92:7","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"876:2:7","scope":7051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"},"typeName":{"id":6482,"nodeType":"UserDefinedTypeName","pathNode":{"id":6481,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"852:6:7"},"referencedDeclaration":11690,"src":"852:6:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":6491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"922:17:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":6490,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"912:9:7","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"912:28:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"904:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6488,"name":"uint256","nodeType":"ElementaryTypeName","src":"904:7:7","typeDescriptions":{}}},"id":6493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"904:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"896:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":6486,"name":"uint160","nodeType":"ElementaryTypeName","src":"896:7:7","typeDescriptions":{}}},"id":6494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"896:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":6485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"888:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6484,"name":"address","nodeType":"ElementaryTypeName","src":"888:7:7","typeDescriptions":{}}},"id":6495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"888:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6483,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"881:6:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"id":6496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"881:63:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"visibility":"private"},{"id":6513,"nodeType":"FunctionDefinition","src":"951:141:7","nodes":[],"body":{"id":6512,"nodeType":"Block","src":"1045:47:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6508,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6499,"src":"1075:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6509,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6501,"src":"1081:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1062:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"1062:12:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":6510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1062:23:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":6505,"id":6511,"nodeType":"Return","src":"1055:30:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"960:8:7","parameters":{"id":6502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6499,"mutability":"mutable","name":"json","nameLocation":"983:4:7","nodeType":"VariableDeclaration","scope":6513,"src":"969:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6498,"name":"string","nodeType":"ElementaryTypeName","src":"969:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6501,"mutability":"mutable","name":"key","nameLocation":"1003:3:7","nodeType":"VariableDeclaration","scope":6513,"src":"989:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6500,"name":"string","nodeType":"ElementaryTypeName","src":"989:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"968:39:7"},"returnParameters":{"id":6505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6513,"src":"1031:12:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6503,"name":"bytes","nodeType":"ElementaryTypeName","src":"1031:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1030:14:7"},"scope":7051,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":6529,"nodeType":"FunctionDefinition","src":"1098:135:7","nodes":[],"body":{"id":6528,"nodeType":"Block","src":"1182:51:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6524,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6515,"src":"1216:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6525,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6517,"src":"1222:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6522,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1199:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonUint","nodeType":"MemberAccess","referencedDeclaration":11355,"src":"1199:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) external returns (uint256)"}},"id":6526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1199:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6521,"id":6527,"nodeType":"Return","src":"1192:34:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1107:8:7","parameters":{"id":6518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6515,"mutability":"mutable","name":"json","nameLocation":"1130:4:7","nodeType":"VariableDeclaration","scope":6529,"src":"1116:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6514,"name":"string","nodeType":"ElementaryTypeName","src":"1116:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6517,"mutability":"mutable","name":"key","nameLocation":"1150:3:7","nodeType":"VariableDeclaration","scope":6529,"src":"1136:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6516,"name":"string","nodeType":"ElementaryTypeName","src":"1136:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1115:39:7"},"returnParameters":{"id":6521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6520,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6529,"src":"1173:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6519,"name":"uint256","nodeType":"ElementaryTypeName","src":"1173:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1172:9:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6546,"nodeType":"FunctionDefinition","src":"1239:154:7","nodes":[],"body":{"id":6545,"nodeType":"Block","src":"1337:56:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6541,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6531,"src":"1376:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6542,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6533,"src":"1382:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1354:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonUintArray","nodeType":"MemberAccess","referencedDeclaration":11365,"src":"1354:21:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (uint256[] memory)"}},"id":6543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1354:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":6538,"id":6544,"nodeType":"Return","src":"1347:39:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1248:13:7","parameters":{"id":6534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6531,"mutability":"mutable","name":"json","nameLocation":"1276:4:7","nodeType":"VariableDeclaration","scope":6546,"src":"1262:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6530,"name":"string","nodeType":"ElementaryTypeName","src":"1262:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6533,"mutability":"mutable","name":"key","nameLocation":"1296:3:7","nodeType":"VariableDeclaration","scope":6546,"src":"1282:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6532,"name":"string","nodeType":"ElementaryTypeName","src":"1282:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1261:39:7"},"returnParameters":{"id":6538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6546,"src":"1319:16:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6535,"name":"uint256","nodeType":"ElementaryTypeName","src":"1319:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6536,"nodeType":"ArrayTypeName","src":"1319:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1318:18:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6562,"nodeType":"FunctionDefinition","src":"1399:132:7","nodes":[],"body":{"id":6561,"nodeType":"Block","src":"1481:50:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6557,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"1514:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6558,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6550,"src":"1520:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6555,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1498:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonInt","nodeType":"MemberAccess","referencedDeclaration":11374,"src":"1498:15:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) external returns (int256)"}},"id":6559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1498:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":6554,"id":6560,"nodeType":"Return","src":"1491:33:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1408:7:7","parameters":{"id":6551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6548,"mutability":"mutable","name":"json","nameLocation":"1430:4:7","nodeType":"VariableDeclaration","scope":6562,"src":"1416:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6547,"name":"string","nodeType":"ElementaryTypeName","src":"1416:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6550,"mutability":"mutable","name":"key","nameLocation":"1450:3:7","nodeType":"VariableDeclaration","scope":6562,"src":"1436:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6549,"name":"string","nodeType":"ElementaryTypeName","src":"1436:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1415:39:7"},"returnParameters":{"id":6554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6562,"src":"1473:6:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6552,"name":"int256","nodeType":"ElementaryTypeName","src":"1473:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1472:8:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6579,"nodeType":"FunctionDefinition","src":"1537:151:7","nodes":[],"body":{"id":6578,"nodeType":"Block","src":"1633:55:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6574,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6564,"src":"1671:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6575,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6566,"src":"1677:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6572,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1650:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonIntArray","nodeType":"MemberAccess","referencedDeclaration":11384,"src":"1650:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (int256[] memory)"}},"id":6576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1650:31:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":6571,"id":6577,"nodeType":"Return","src":"1643:38:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1546:12:7","parameters":{"id":6567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6564,"mutability":"mutable","name":"json","nameLocation":"1573:4:7","nodeType":"VariableDeclaration","scope":6579,"src":"1559:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6563,"name":"string","nodeType":"ElementaryTypeName","src":"1559:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6566,"mutability":"mutable","name":"key","nameLocation":"1593:3:7","nodeType":"VariableDeclaration","scope":6579,"src":"1579:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6565,"name":"string","nodeType":"ElementaryTypeName","src":"1579:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1558:39:7"},"returnParameters":{"id":6571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6570,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6579,"src":"1616:15:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6568,"name":"int256","nodeType":"ElementaryTypeName","src":"1616:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6569,"nodeType":"ArrayTypeName","src":"1616:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1615:17:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6595,"nodeType":"FunctionDefinition","src":"1694:141:7","nodes":[],"body":{"id":6594,"nodeType":"Block","src":"1781:54:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6590,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6581,"src":"1818:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6591,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"1824:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6588,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1798:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBytes32","nodeType":"MemberAccess","referencedDeclaration":11469,"src":"1798:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) external returns (bytes32)"}},"id":6592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1798:30:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":6587,"id":6593,"nodeType":"Return","src":"1791:37:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1703:11:7","parameters":{"id":6584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6581,"mutability":"mutable","name":"json","nameLocation":"1729:4:7","nodeType":"VariableDeclaration","scope":6595,"src":"1715:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6580,"name":"string","nodeType":"ElementaryTypeName","src":"1715:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6583,"mutability":"mutable","name":"key","nameLocation":"1749:3:7","nodeType":"VariableDeclaration","scope":6595,"src":"1735:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6582,"name":"string","nodeType":"ElementaryTypeName","src":"1735:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1714:39:7"},"returnParameters":{"id":6587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6595,"src":"1772:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1772:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1771:9:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6612,"nodeType":"FunctionDefinition","src":"1841:160:7","nodes":[],"body":{"id":6611,"nodeType":"Block","src":"1942:59:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6607,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6597,"src":"1984:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6608,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6599,"src":"1990:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6605,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1959:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBytes32Array","nodeType":"MemberAccess","referencedDeclaration":11479,"src":"1959:24:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (bytes32[] memory)"}},"id":6609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1959:35:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":6604,"id":6610,"nodeType":"Return","src":"1952:42:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1850:16:7","parameters":{"id":6600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6597,"mutability":"mutable","name":"json","nameLocation":"1881:4:7","nodeType":"VariableDeclaration","scope":6612,"src":"1867:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6596,"name":"string","nodeType":"ElementaryTypeName","src":"1867:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6599,"mutability":"mutable","name":"key","nameLocation":"1901:3:7","nodeType":"VariableDeclaration","scope":6612,"src":"1887:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6598,"name":"string","nodeType":"ElementaryTypeName","src":"1887:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1866:39:7"},"returnParameters":{"id":6604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6612,"src":"1924:16:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":6601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1924:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":6602,"nodeType":"ArrayTypeName","src":"1924:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1923:18:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6628,"nodeType":"FunctionDefinition","src":"2007:145:7","nodes":[],"body":{"id":6627,"nodeType":"Block","src":"2099:53:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6623,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6614,"src":"2135:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6624,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6616,"src":"2141:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6621,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2116:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonString","nodeType":"MemberAccess","referencedDeclaration":11431,"src":"2116:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":6625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2116:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6620,"id":6626,"nodeType":"Return","src":"2109:36:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"2016:10:7","parameters":{"id":6617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6614,"mutability":"mutable","name":"json","nameLocation":"2041:4:7","nodeType":"VariableDeclaration","scope":6628,"src":"2027:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6613,"name":"string","nodeType":"ElementaryTypeName","src":"2027:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6616,"mutability":"mutable","name":"key","nameLocation":"2061:3:7","nodeType":"VariableDeclaration","scope":6628,"src":"2047:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6615,"name":"string","nodeType":"ElementaryTypeName","src":"2047:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2026:39:7"},"returnParameters":{"id":6620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6628,"src":"2084:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6618,"name":"string","nodeType":"ElementaryTypeName","src":"2084:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2083:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6645,"nodeType":"FunctionDefinition","src":"2158:157:7","nodes":[],"body":{"id":6644,"nodeType":"Block","src":"2257:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6640,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6630,"src":"2298:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6641,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6632,"src":"2304:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6638,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2274:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonStringArray","nodeType":"MemberAccess","referencedDeclaration":11441,"src":"2274:23:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory[] memory)"}},"id":6642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2274:34:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":6637,"id":6643,"nodeType":"Return","src":"2267:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2167:15:7","parameters":{"id":6633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6630,"mutability":"mutable","name":"json","nameLocation":"2197:4:7","nodeType":"VariableDeclaration","scope":6645,"src":"2183:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6629,"name":"string","nodeType":"ElementaryTypeName","src":"2183:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6632,"mutability":"mutable","name":"key","nameLocation":"2217:3:7","nodeType":"VariableDeclaration","scope":6645,"src":"2203:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6631,"name":"string","nodeType":"ElementaryTypeName","src":"2203:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2182:39:7"},"returnParameters":{"id":6637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6645,"src":"2240:15:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6634,"name":"string","nodeType":"ElementaryTypeName","src":"2240:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6635,"nodeType":"ArrayTypeName","src":"2240:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2239:17:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6661,"nodeType":"FunctionDefinition","src":"2321:141:7","nodes":[],"body":{"id":6660,"nodeType":"Block","src":"2408:54:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6656,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6647,"src":"2445:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6657,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6649,"src":"2451:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6654,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2425:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonAddress","nodeType":"MemberAccess","referencedDeclaration":11412,"src":"2425:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) external returns (address)"}},"id":6658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2425:30:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":6653,"id":6659,"nodeType":"Return","src":"2418:37:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2330:11:7","parameters":{"id":6650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6647,"mutability":"mutable","name":"json","nameLocation":"2356:4:7","nodeType":"VariableDeclaration","scope":6661,"src":"2342:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6646,"name":"string","nodeType":"ElementaryTypeName","src":"2342:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6649,"mutability":"mutable","name":"key","nameLocation":"2376:3:7","nodeType":"VariableDeclaration","scope":6661,"src":"2362:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6648,"name":"string","nodeType":"ElementaryTypeName","src":"2362:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2341:39:7"},"returnParameters":{"id":6653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6661,"src":"2399:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6651,"name":"address","nodeType":"ElementaryTypeName","src":"2399:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2398:9:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6678,"nodeType":"FunctionDefinition","src":"2468:160:7","nodes":[],"body":{"id":6677,"nodeType":"Block","src":"2569:59:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6673,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6663,"src":"2611:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6674,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6665,"src":"2617:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6671,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2586:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonAddressArray","nodeType":"MemberAccess","referencedDeclaration":11422,"src":"2586:24:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (address[] memory)"}},"id":6675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2586:35:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":6670,"id":6676,"nodeType":"Return","src":"2579:42:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2477:16:7","parameters":{"id":6666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6663,"mutability":"mutable","name":"json","nameLocation":"2508:4:7","nodeType":"VariableDeclaration","scope":6678,"src":"2494:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6662,"name":"string","nodeType":"ElementaryTypeName","src":"2494:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6665,"mutability":"mutable","name":"key","nameLocation":"2528:3:7","nodeType":"VariableDeclaration","scope":6678,"src":"2514:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6664,"name":"string","nodeType":"ElementaryTypeName","src":"2514:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2493:39:7"},"returnParameters":{"id":6670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6669,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6678,"src":"2551:16:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6667,"name":"address","nodeType":"ElementaryTypeName","src":"2551:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6668,"nodeType":"ArrayTypeName","src":"2551:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2550:18:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6694,"nodeType":"FunctionDefinition","src":"2634:132:7","nodes":[],"body":{"id":6693,"nodeType":"Block","src":"2715:51:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6689,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6680,"src":"2749:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6690,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6682,"src":"2755:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6687,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2732:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBool","nodeType":"MemberAccess","referencedDeclaration":11393,"src":"2732:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) external returns (bool)"}},"id":6691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2732:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6686,"id":6692,"nodeType":"Return","src":"2725:34:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2643:8:7","parameters":{"id":6683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6680,"mutability":"mutable","name":"json","nameLocation":"2666:4:7","nodeType":"VariableDeclaration","scope":6694,"src":"2652:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6679,"name":"string","nodeType":"ElementaryTypeName","src":"2652:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6682,"mutability":"mutable","name":"key","nameLocation":"2686:3:7","nodeType":"VariableDeclaration","scope":6694,"src":"2672:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6681,"name":"string","nodeType":"ElementaryTypeName","src":"2672:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2651:39:7"},"returnParameters":{"id":6686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6685,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6694,"src":"2709:4:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6684,"name":"bool","nodeType":"ElementaryTypeName","src":"2709:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2708:6:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6711,"nodeType":"FunctionDefinition","src":"2772:151:7","nodes":[],"body":{"id":6710,"nodeType":"Block","src":"2867:56:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6706,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6696,"src":"2906:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6707,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6698,"src":"2912:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2884:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBoolArray","nodeType":"MemberAccess","referencedDeclaration":11403,"src":"2884:21:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (bool[] memory)"}},"id":6708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2884:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":6703,"id":6709,"nodeType":"Return","src":"2877:39:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2781:13:7","parameters":{"id":6699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6696,"mutability":"mutable","name":"json","nameLocation":"2809:4:7","nodeType":"VariableDeclaration","scope":6711,"src":"2795:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6695,"name":"string","nodeType":"ElementaryTypeName","src":"2795:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6698,"mutability":"mutable","name":"key","nameLocation":"2829:3:7","nodeType":"VariableDeclaration","scope":6711,"src":"2815:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6697,"name":"string","nodeType":"ElementaryTypeName","src":"2815:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2794:39:7"},"returnParameters":{"id":6703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6711,"src":"2852:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":6700,"name":"bool","nodeType":"ElementaryTypeName","src":"2852:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6701,"nodeType":"ArrayTypeName","src":"2852:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2851:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6727,"nodeType":"FunctionDefinition","src":"2929:142:7","nodes":[],"body":{"id":6726,"nodeType":"Block","src":"3019:52:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6722,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6713,"src":"3054:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6723,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"3060:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6720,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3036:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBytes","nodeType":"MemberAccess","referencedDeclaration":11450,"src":"3036:17:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) external returns (bytes memory)"}},"id":6724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3036:28:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":6719,"id":6725,"nodeType":"Return","src":"3029:35:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2938:9:7","parameters":{"id":6716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6713,"mutability":"mutable","name":"json","nameLocation":"2962:4:7","nodeType":"VariableDeclaration","scope":6727,"src":"2948:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6712,"name":"string","nodeType":"ElementaryTypeName","src":"2948:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6715,"mutability":"mutable","name":"key","nameLocation":"2982:3:7","nodeType":"VariableDeclaration","scope":6727,"src":"2968:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6714,"name":"string","nodeType":"ElementaryTypeName","src":"2968:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2947:39:7"},"returnParameters":{"id":6719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6718,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6727,"src":"3005:12:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6717,"name":"bytes","nodeType":"ElementaryTypeName","src":"3005:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3004:14:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6744,"nodeType":"FunctionDefinition","src":"3077:154:7","nodes":[],"body":{"id":6743,"nodeType":"Block","src":"3174:57:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6739,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6729,"src":"3214:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6740,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6731,"src":"3220:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6737,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3191:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBytesArray","nodeType":"MemberAccess","referencedDeclaration":11460,"src":"3191:22:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (bytes memory[] memory)"}},"id":6741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3191:33:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":6736,"id":6742,"nodeType":"Return","src":"3184:40:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3086:14:7","parameters":{"id":6732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6729,"mutability":"mutable","name":"json","nameLocation":"3115:4:7","nodeType":"VariableDeclaration","scope":6744,"src":"3101:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6728,"name":"string","nodeType":"ElementaryTypeName","src":"3101:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6731,"mutability":"mutable","name":"key","nameLocation":"3135:3:7","nodeType":"VariableDeclaration","scope":6744,"src":"3121:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6730,"name":"string","nodeType":"ElementaryTypeName","src":"3121:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3100:39:7"},"returnParameters":{"id":6736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6735,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6744,"src":"3158:14:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6733,"name":"bytes","nodeType":"ElementaryTypeName","src":"3158:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6734,"nodeType":"ArrayTypeName","src":"3158:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3157:16:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6763,"nodeType":"FunctionDefinition","src":"3237:167:7","nodes":[],"body":{"id":6762,"nodeType":"Block","src":"3343:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6757,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6746,"src":"3377:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6758,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6748,"src":"3386:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6759,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6750,"src":"3391:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6755,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3360:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":11490,"src":"3360:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) external returns (string memory)"}},"id":6760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3360:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6754,"id":6761,"nodeType":"Return","src":"3353:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"3246:9:7","parameters":{"id":6751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6746,"mutability":"mutable","name":"jsonKey","nameLocation":"3270:7:7","nodeType":"VariableDeclaration","scope":6763,"src":"3256:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6745,"name":"string","nodeType":"ElementaryTypeName","src":"3256:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6748,"mutability":"mutable","name":"key","nameLocation":"3293:3:7","nodeType":"VariableDeclaration","scope":6763,"src":"3279:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6747,"name":"string","nodeType":"ElementaryTypeName","src":"3279:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6750,"mutability":"mutable","name":"value","nameLocation":"3303:5:7","nodeType":"VariableDeclaration","scope":6763,"src":"3298:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6749,"name":"bool","nodeType":"ElementaryTypeName","src":"3298:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3255:54:7"},"returnParameters":{"id":6754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6763,"src":"3328:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6752,"name":"string","nodeType":"ElementaryTypeName","src":"3328:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3327:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6783,"nodeType":"FunctionDefinition","src":"3410:196:7","nodes":[],"body":{"id":6782,"nodeType":"Block","src":"3545:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6777,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6765,"src":"3579:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6778,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6767,"src":"3588:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6779,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6770,"src":"3593:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":6775,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3562:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":11568,"src":"3562:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool[] memory) external returns (string memory)"}},"id":6780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3562:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6774,"id":6781,"nodeType":"Return","src":"3555:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"3419:9:7","parameters":{"id":6771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6765,"mutability":"mutable","name":"jsonKey","nameLocation":"3443:7:7","nodeType":"VariableDeclaration","scope":6783,"src":"3429:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6764,"name":"string","nodeType":"ElementaryTypeName","src":"3429:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6767,"mutability":"mutable","name":"key","nameLocation":"3466:3:7","nodeType":"VariableDeclaration","scope":6783,"src":"3452:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6766,"name":"string","nodeType":"ElementaryTypeName","src":"3452:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6770,"mutability":"mutable","name":"value","nameLocation":"3485:5:7","nodeType":"VariableDeclaration","scope":6783,"src":"3471:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":6768,"name":"bool","nodeType":"ElementaryTypeName","src":"3471:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6769,"nodeType":"ArrayTypeName","src":"3471:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"3428:63:7"},"returnParameters":{"id":6774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6773,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6783,"src":"3526:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6772,"name":"string","nodeType":"ElementaryTypeName","src":"3526:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3525:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6802,"nodeType":"FunctionDefinition","src":"3612:170:7","nodes":[],"body":{"id":6801,"nodeType":"Block","src":"3721:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6796,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6785,"src":"3755:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6797,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6787,"src":"3764:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6798,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6789,"src":"3769:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6794,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3738:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":11501,"src":"3738:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256) external returns (string memory)"}},"id":6799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3738:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6793,"id":6800,"nodeType":"Return","src":"3731:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"3621:9:7","parameters":{"id":6790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6785,"mutability":"mutable","name":"jsonKey","nameLocation":"3645:7:7","nodeType":"VariableDeclaration","scope":6802,"src":"3631:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6784,"name":"string","nodeType":"ElementaryTypeName","src":"3631:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6787,"mutability":"mutable","name":"key","nameLocation":"3668:3:7","nodeType":"VariableDeclaration","scope":6802,"src":"3654:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6786,"name":"string","nodeType":"ElementaryTypeName","src":"3654:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6789,"mutability":"mutable","name":"value","nameLocation":"3681:5:7","nodeType":"VariableDeclaration","scope":6802,"src":"3673:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6788,"name":"uint256","nodeType":"ElementaryTypeName","src":"3673:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3630:57:7"},"returnParameters":{"id":6793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6792,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6802,"src":"3706:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6791,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3705:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6822,"nodeType":"FunctionDefinition","src":"3788:199:7","nodes":[],"body":{"id":6821,"nodeType":"Block","src":"3926:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6816,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6804,"src":"3960:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6817,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6806,"src":"3969:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6818,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6809,"src":"3974:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":6814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3943:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":11580,"src":"3943:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256[] memory) external returns (string memory)"}},"id":6819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3943:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6813,"id":6820,"nodeType":"Return","src":"3936:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"3797:9:7","parameters":{"id":6810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6804,"mutability":"mutable","name":"jsonKey","nameLocation":"3821:7:7","nodeType":"VariableDeclaration","scope":6822,"src":"3807:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6803,"name":"string","nodeType":"ElementaryTypeName","src":"3807:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6806,"mutability":"mutable","name":"key","nameLocation":"3844:3:7","nodeType":"VariableDeclaration","scope":6822,"src":"3830:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6805,"name":"string","nodeType":"ElementaryTypeName","src":"3830:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6809,"mutability":"mutable","name":"value","nameLocation":"3866:5:7","nodeType":"VariableDeclaration","scope":6822,"src":"3849:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6807,"name":"uint256","nodeType":"ElementaryTypeName","src":"3849:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6808,"nodeType":"ArrayTypeName","src":"3849:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3806:66:7"},"returnParameters":{"id":6813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6812,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6822,"src":"3907:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6811,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3906:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6841,"nodeType":"FunctionDefinition","src":"3993:168:7","nodes":[],"body":{"id":6840,"nodeType":"Block","src":"4101:60:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6835,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6824,"src":"4134:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6836,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6826,"src":"4143:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6837,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6828,"src":"4148:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":6833,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4118:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":11512,"src":"4118:15:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256) external returns (string memory)"}},"id":6838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4118:36:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6832,"id":6839,"nodeType":"Return","src":"4111:43:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4002:9:7","parameters":{"id":6829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6824,"mutability":"mutable","name":"jsonKey","nameLocation":"4026:7:7","nodeType":"VariableDeclaration","scope":6841,"src":"4012:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6823,"name":"string","nodeType":"ElementaryTypeName","src":"4012:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6826,"mutability":"mutable","name":"key","nameLocation":"4049:3:7","nodeType":"VariableDeclaration","scope":6841,"src":"4035:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6825,"name":"string","nodeType":"ElementaryTypeName","src":"4035:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6828,"mutability":"mutable","name":"value","nameLocation":"4061:5:7","nodeType":"VariableDeclaration","scope":6841,"src":"4054:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6827,"name":"int256","nodeType":"ElementaryTypeName","src":"4054:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4011:56:7"},"returnParameters":{"id":6832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6841,"src":"4086:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6830,"name":"string","nodeType":"ElementaryTypeName","src":"4086:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4085:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6861,"nodeType":"FunctionDefinition","src":"4167:197:7","nodes":[],"body":{"id":6860,"nodeType":"Block","src":"4304:60:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6855,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6843,"src":"4337:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6856,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6845,"src":"4346:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6857,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6848,"src":"4351:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":6853,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4321:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":11592,"src":"4321:15:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256[] memory) external returns (string memory)"}},"id":6858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4321:36:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6852,"id":6859,"nodeType":"Return","src":"4314:43:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4176:9:7","parameters":{"id":6849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6843,"mutability":"mutable","name":"jsonKey","nameLocation":"4200:7:7","nodeType":"VariableDeclaration","scope":6861,"src":"4186:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6842,"name":"string","nodeType":"ElementaryTypeName","src":"4186:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6845,"mutability":"mutable","name":"key","nameLocation":"4223:3:7","nodeType":"VariableDeclaration","scope":6861,"src":"4209:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6844,"name":"string","nodeType":"ElementaryTypeName","src":"4209:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6848,"mutability":"mutable","name":"value","nameLocation":"4244:5:7","nodeType":"VariableDeclaration","scope":6861,"src":"4228:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6846,"name":"int256","nodeType":"ElementaryTypeName","src":"4228:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6847,"nodeType":"ArrayTypeName","src":"4228:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4185:65:7"},"returnParameters":{"id":6852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6861,"src":"4285:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6850,"name":"string","nodeType":"ElementaryTypeName","src":"4285:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4284:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6880,"nodeType":"FunctionDefinition","src":"4370:173:7","nodes":[],"body":{"id":6879,"nodeType":"Block","src":"4479:64:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6874,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6863,"src":"4516:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6875,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6865,"src":"4525:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6876,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6867,"src":"4530:5:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4496:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":11523,"src":"4496:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address) external returns (string memory)"}},"id":6877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4496:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6871,"id":6878,"nodeType":"Return","src":"4489:47:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4379:9:7","parameters":{"id":6868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6863,"mutability":"mutable","name":"jsonKey","nameLocation":"4403:7:7","nodeType":"VariableDeclaration","scope":6880,"src":"4389:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6862,"name":"string","nodeType":"ElementaryTypeName","src":"4389:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6865,"mutability":"mutable","name":"key","nameLocation":"4426:3:7","nodeType":"VariableDeclaration","scope":6880,"src":"4412:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6864,"name":"string","nodeType":"ElementaryTypeName","src":"4412:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6867,"mutability":"mutable","name":"value","nameLocation":"4439:5:7","nodeType":"VariableDeclaration","scope":6880,"src":"4431:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6866,"name":"address","nodeType":"ElementaryTypeName","src":"4431:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4388:57:7"},"returnParameters":{"id":6871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6870,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6880,"src":"4464:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6869,"name":"string","nodeType":"ElementaryTypeName","src":"4464:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4463:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6900,"nodeType":"FunctionDefinition","src":"4549:202:7","nodes":[],"body":{"id":6899,"nodeType":"Block","src":"4687:64:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6894,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6882,"src":"4724:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6895,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6884,"src":"4733:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6896,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6887,"src":"4738:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":6892,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4704:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":11604,"src":"4704:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address[] memory) external returns (string memory)"}},"id":6897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4704:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6891,"id":6898,"nodeType":"Return","src":"4697:47:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4558:9:7","parameters":{"id":6888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6882,"mutability":"mutable","name":"jsonKey","nameLocation":"4582:7:7","nodeType":"VariableDeclaration","scope":6900,"src":"4568:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6881,"name":"string","nodeType":"ElementaryTypeName","src":"4568:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6884,"mutability":"mutable","name":"key","nameLocation":"4605:3:7","nodeType":"VariableDeclaration","scope":6900,"src":"4591:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6883,"name":"string","nodeType":"ElementaryTypeName","src":"4591:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6887,"mutability":"mutable","name":"value","nameLocation":"4627:5:7","nodeType":"VariableDeclaration","scope":6900,"src":"4610:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6885,"name":"address","nodeType":"ElementaryTypeName","src":"4610:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6886,"nodeType":"ArrayTypeName","src":"4610:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4567:66:7"},"returnParameters":{"id":6891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6900,"src":"4668:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6889,"name":"string","nodeType":"ElementaryTypeName","src":"4668:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4667:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6919,"nodeType":"FunctionDefinition","src":"4757:173:7","nodes":[],"body":{"id":6918,"nodeType":"Block","src":"4866:64:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6913,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6902,"src":"4903:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6914,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6904,"src":"4912:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6915,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6906,"src":"4917:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6911,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4883:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":11534,"src":"4883:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32) external returns (string memory)"}},"id":6916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4883:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6910,"id":6917,"nodeType":"Return","src":"4876:47:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4766:9:7","parameters":{"id":6907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6902,"mutability":"mutable","name":"jsonKey","nameLocation":"4790:7:7","nodeType":"VariableDeclaration","scope":6919,"src":"4776:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6901,"name":"string","nodeType":"ElementaryTypeName","src":"4776:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6904,"mutability":"mutable","name":"key","nameLocation":"4813:3:7","nodeType":"VariableDeclaration","scope":6919,"src":"4799:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6903,"name":"string","nodeType":"ElementaryTypeName","src":"4799:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6906,"mutability":"mutable","name":"value","nameLocation":"4826:5:7","nodeType":"VariableDeclaration","scope":6919,"src":"4818:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4818:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4775:57:7"},"returnParameters":{"id":6910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6919,"src":"4851:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6908,"name":"string","nodeType":"ElementaryTypeName","src":"4851:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4850:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6939,"nodeType":"FunctionDefinition","src":"4936:202:7","nodes":[],"body":{"id":6938,"nodeType":"Block","src":"5074:64:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6933,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6921,"src":"5111:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6934,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6923,"src":"5120:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6935,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"5125:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":6931,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5091:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":11616,"src":"5091:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32[] memory) external returns (string memory)"}},"id":6936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5091:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6930,"id":6937,"nodeType":"Return","src":"5084:47:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4945:9:7","parameters":{"id":6927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6921,"mutability":"mutable","name":"jsonKey","nameLocation":"4969:7:7","nodeType":"VariableDeclaration","scope":6939,"src":"4955:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6920,"name":"string","nodeType":"ElementaryTypeName","src":"4955:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6923,"mutability":"mutable","name":"key","nameLocation":"4992:3:7","nodeType":"VariableDeclaration","scope":6939,"src":"4978:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6922,"name":"string","nodeType":"ElementaryTypeName","src":"4978:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6926,"mutability":"mutable","name":"value","nameLocation":"5014:5:7","nodeType":"VariableDeclaration","scope":6939,"src":"4997:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":6924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4997:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":6925,"nodeType":"ArrayTypeName","src":"4997:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4954:66:7"},"returnParameters":{"id":6930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6939,"src":"5055:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6928,"name":"string","nodeType":"ElementaryTypeName","src":"5055:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5054:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6958,"nodeType":"FunctionDefinition","src":"5144:176:7","nodes":[],"body":{"id":6957,"nodeType":"Block","src":"5258:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6952,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6941,"src":"5293:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6953,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6943,"src":"5302:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6954,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6945,"src":"5307:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6950,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5275:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":11556,"src":"5275:17:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory) external returns (string memory)"}},"id":6955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5275:38:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6949,"id":6956,"nodeType":"Return","src":"5268:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"5153:9:7","parameters":{"id":6946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6941,"mutability":"mutable","name":"jsonKey","nameLocation":"5177:7:7","nodeType":"VariableDeclaration","scope":6958,"src":"5163:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6940,"name":"string","nodeType":"ElementaryTypeName","src":"5163:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6943,"mutability":"mutable","name":"key","nameLocation":"5200:3:7","nodeType":"VariableDeclaration","scope":6958,"src":"5186:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6942,"name":"string","nodeType":"ElementaryTypeName","src":"5186:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6945,"mutability":"mutable","name":"value","nameLocation":"5218:5:7","nodeType":"VariableDeclaration","scope":6958,"src":"5205:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6944,"name":"bytes","nodeType":"ElementaryTypeName","src":"5205:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5162:62:7"},"returnParameters":{"id":6949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6948,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6958,"src":"5243:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6947,"name":"string","nodeType":"ElementaryTypeName","src":"5243:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5242:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6978,"nodeType":"FunctionDefinition","src":"5326:198:7","nodes":[],"body":{"id":6977,"nodeType":"Block","src":"5462:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6972,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6960,"src":"5497:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6973,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6962,"src":"5506:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6974,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6965,"src":"5511:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":6970,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5479:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":11640,"src":"5479:17:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory[] memory) external returns (string memory)"}},"id":6975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5479:38:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6969,"id":6976,"nodeType":"Return","src":"5472:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"5335:9:7","parameters":{"id":6966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6960,"mutability":"mutable","name":"jsonKey","nameLocation":"5359:7:7","nodeType":"VariableDeclaration","scope":6978,"src":"5345:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6959,"name":"string","nodeType":"ElementaryTypeName","src":"5345:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6962,"mutability":"mutable","name":"key","nameLocation":"5382:3:7","nodeType":"VariableDeclaration","scope":6978,"src":"5368:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6961,"name":"string","nodeType":"ElementaryTypeName","src":"5368:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6965,"mutability":"mutable","name":"value","nameLocation":"5402:5:7","nodeType":"VariableDeclaration","scope":6978,"src":"5387:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6963,"name":"bytes","nodeType":"ElementaryTypeName","src":"5387:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6964,"nodeType":"ArrayTypeName","src":"5387:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"5344:64:7"},"returnParameters":{"id":6969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6978,"src":"5443:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6967,"name":"string","nodeType":"ElementaryTypeName","src":"5443:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5442:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6997,"nodeType":"FunctionDefinition","src":"5530:198:7","nodes":[],"body":{"id":6996,"nodeType":"Block","src":"5665:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6991,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6980,"src":"5701:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6992,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6982,"src":"5710:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6993,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6984,"src":"5715:5:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6989,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5682:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":11545,"src":"5682:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) external returns (string memory)"}},"id":6994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5682:39:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6988,"id":6995,"nodeType":"Return","src":"5675:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"5539:9:7","parameters":{"id":6985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6980,"mutability":"mutable","name":"jsonKey","nameLocation":"5563:7:7","nodeType":"VariableDeclaration","scope":6997,"src":"5549:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6979,"name":"string","nodeType":"ElementaryTypeName","src":"5549:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6982,"mutability":"mutable","name":"key","nameLocation":"5586:3:7","nodeType":"VariableDeclaration","scope":6997,"src":"5572:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6981,"name":"string","nodeType":"ElementaryTypeName","src":"5572:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6984,"mutability":"mutable","name":"value","nameLocation":"5605:5:7","nodeType":"VariableDeclaration","scope":6997,"src":"5591:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6983,"name":"string","nodeType":"ElementaryTypeName","src":"5591:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5548:63:7"},"returnParameters":{"id":6988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6997,"src":"5646:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6986,"name":"string","nodeType":"ElementaryTypeName","src":"5646:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5645:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7017,"nodeType":"FunctionDefinition","src":"5734:200:7","nodes":[],"body":{"id":7016,"nodeType":"Block","src":"5871:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":7011,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6999,"src":"5907:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7012,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7001,"src":"5916:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7013,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7004,"src":"5921:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":7009,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5888:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":7010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":11628,"src":"5888:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory[] memory) external returns (string memory)"}},"id":7014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5888:39:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7008,"id":7015,"nodeType":"Return","src":"5881:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"5743:9:7","parameters":{"id":7005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6999,"mutability":"mutable","name":"jsonKey","nameLocation":"5767:7:7","nodeType":"VariableDeclaration","scope":7017,"src":"5753:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6998,"name":"string","nodeType":"ElementaryTypeName","src":"5753:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7001,"mutability":"mutable","name":"key","nameLocation":"5790:3:7","nodeType":"VariableDeclaration","scope":7017,"src":"5776:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7000,"name":"string","nodeType":"ElementaryTypeName","src":"5776:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7004,"mutability":"mutable","name":"value","nameLocation":"5811:5:7","nodeType":"VariableDeclaration","scope":7017,"src":"5795:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7002,"name":"string","nodeType":"ElementaryTypeName","src":"5795:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7003,"nodeType":"ArrayTypeName","src":"5795:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5752:65:7"},"returnParameters":{"id":7008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7007,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7017,"src":"5852:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7006,"name":"string","nodeType":"ElementaryTypeName","src":"5852:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5851:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7032,"nodeType":"FunctionDefinition","src":"5940:111:7","nodes":[],"body":{"id":7031,"nodeType":"Block","src":"6007:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":7027,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7019,"src":"6030:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7028,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7021,"src":"6039:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7024,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"6017:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":7026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":11647,"src":"6017:12:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":7029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6017:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7030,"nodeType":"ExpressionStatement","src":"6017:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"5949:5:7","parameters":{"id":7022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7019,"mutability":"mutable","name":"jsonKey","nameLocation":"5969:7:7","nodeType":"VariableDeclaration","scope":7032,"src":"5955:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7018,"name":"string","nodeType":"ElementaryTypeName","src":"5955:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7021,"mutability":"mutable","name":"path","nameLocation":"5992:4:7","nodeType":"VariableDeclaration","scope":7032,"src":"5978:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7020,"name":"string","nodeType":"ElementaryTypeName","src":"5978:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5954:43:7"},"returnParameters":{"id":7023,"nodeType":"ParameterList","parameters":[],"src":"6007:0:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7050,"nodeType":"FunctionDefinition","src":"6057:145:7","nodes":[],"body":{"id":7049,"nodeType":"Block","src":"6148:54:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":7044,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7034,"src":"6171:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7045,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7036,"src":"6180:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7046,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7038,"src":"6186:8:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7041,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"6158:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":7043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":11656,"src":"6158:12:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) external"}},"id":7047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6158:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7048,"nodeType":"ExpressionStatement","src":"6158:37:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"6066:5:7","parameters":{"id":7039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7034,"mutability":"mutable","name":"jsonKey","nameLocation":"6086:7:7","nodeType":"VariableDeclaration","scope":7050,"src":"6072:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7033,"name":"string","nodeType":"ElementaryTypeName","src":"6072:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7036,"mutability":"mutable","name":"path","nameLocation":"6109:4:7","nodeType":"VariableDeclaration","scope":7050,"src":"6095:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7035,"name":"string","nodeType":"ElementaryTypeName","src":"6095:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7038,"mutability":"mutable","name":"valueKey","nameLocation":"6129:8:7","nodeType":"VariableDeclaration","scope":7050,"src":"6115:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7037,"name":"string","nodeType":"ElementaryTypeName","src":"6115:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6071:67:7"},"returnParameters":{"id":7040,"nodeType":"ParameterList","parameters":[],"src":"6148:0:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdJson","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7051],"name":"stdJson","nameLocation":"838:7:7","scope":7052,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdMath.sol":{"id":8,"ast":{"absolutePath":"lib/forge-std/src/StdMath.sol","id":7194,"exportedSymbols":{"stdMath":[7193]},"nodeType":"SourceUnit","src":"32:1328:8","nodes":[{"id":7053,"nodeType":"PragmaDirective","src":"32:31:8","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7193,"nodeType":"ContractDefinition","src":"65:1294:8","nodes":[{"id":7057,"nodeType":"VariableDeclaration","src":"87:115:8","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN","nameLocation":"111:10:8","scope":7193,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7054,"name":"int256","nodeType":"ElementaryTypeName","src":"87:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"id":7056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"124:78:8","subExpression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125:77:8","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const -578...(70 digits omitted)...9968"}},"visibility":"private"},{"id":7083,"nodeType":"FunctionDefinition","src":"209:306:8","nodes":[],"body":{"id":7082,"nodeType":"Block","src":"264:251:8","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7064,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7059,"src":"342:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":7065,"name":"INT256_MIN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7057,"src":"347:10:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"342:15:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7070,"nodeType":"IfStatement","src":"338:130:8","trueBody":{"id":7069,"nodeType":"Block","src":"359:109:8","statements":[{"expression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"380:77:8","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"functionReturnParameters":7063,"id":7068,"nodeType":"Return","src":"373:84:8"}]}},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7073,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7059,"src":"493:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":7074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"497:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"493:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"505:2:8","subExpression":{"id":7077,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7059,"src":"506:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"493:14:8","trueExpression":{"id":7076,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7059,"src":"501:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7071,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:8","typeDescriptions":{}}},"id":7080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"485:23:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7063,"id":7081,"nodeType":"Return","src":"478:30:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"218:3:8","parameters":{"id":7060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7059,"mutability":"mutable","name":"a","nameLocation":"229:1:8","nodeType":"VariableDeclaration","scope":7083,"src":"222:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7058,"name":"int256","nodeType":"ElementaryTypeName","src":"222:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"221:10:8"},"returnParameters":{"id":7063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7083,"src":"255:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7061,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"254:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7104,"nodeType":"FunctionDefinition","src":"521:114:8","nodes":[],"body":{"id":7103,"nodeType":"Block","src":"590:45:8","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7092,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7085,"src":"607:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7093,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7087,"src":"611:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"607:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7098,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7087,"src":"623:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7099,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7085,"src":"627:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"623:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"607:21:8","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7095,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7085,"src":"615:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7096,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7087,"src":"619:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"615:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7091,"id":7102,"nodeType":"Return","src":"600:28:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"530:5:8","parameters":{"id":7088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7085,"mutability":"mutable","name":"a","nameLocation":"544:1:8","nodeType":"VariableDeclaration","scope":7104,"src":"536:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7084,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7087,"mutability":"mutable","name":"b","nameLocation":"555:1:8","nodeType":"VariableDeclaration","scope":7104,"src":"547:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7086,"name":"uint256","nodeType":"ElementaryTypeName","src":"547:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"535:22:8"},"returnParameters":{"id":7091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7104,"src":"581:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7089,"name":"uint256","nodeType":"ElementaryTypeName","src":"581:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7140,"nodeType":"FunctionDefinition","src":"641:352:8","nodes":[],"body":{"id":7139,"nodeType":"Block","src":"708:285:8","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7113,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7106,"src":"847:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":7114,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7108,"src":"851:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"847:5:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":7116,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"846:7:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"856:2:8","subExpression":{"hexValue":"31","id":7117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"857:1:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"src":"846:12:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7130,"nodeType":"IfStatement","src":"842:71:8","trueBody":{"id":7129,"nodeType":"Block","src":"860:53:8","statements":[{"expression":{"arguments":[{"arguments":[{"id":7122,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7106,"src":"891:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7121,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"887:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"887:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":7125,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7108,"src":"899:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7124,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"895:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"895:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7120,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7104,7140],"referencedDeclaration":7104,"src":"881:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":7127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"881:21:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7112,"id":7128,"nodeType":"Return","src":"874:28:8"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7132,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7106,"src":"975:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7131,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"971:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"971:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":7135,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7108,"src":"984:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7134,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"980:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"980:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"971:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7112,"id":7138,"nodeType":"Return","src":"964:22:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"650:5:8","parameters":{"id":7109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7106,"mutability":"mutable","name":"a","nameLocation":"663:1:8","nodeType":"VariableDeclaration","scope":7140,"src":"656:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7105,"name":"int256","nodeType":"ElementaryTypeName","src":"656:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7108,"mutability":"mutable","name":"b","nameLocation":"673:1:8","nodeType":"VariableDeclaration","scope":7140,"src":"666:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7107,"name":"int256","nodeType":"ElementaryTypeName","src":"666:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"655:20:8"},"returnParameters":{"id":7112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7140,"src":"699:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7110,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7163,"nodeType":"FunctionDefinition","src":"999:160:8","nodes":[],"body":{"id":7162,"nodeType":"Block","src":"1075:84:8","nodes":[],"statements":[{"assignments":[7150],"declarations":[{"constant":false,"id":7150,"mutability":"mutable","name":"absDelta","nameLocation":"1093:8:8","nodeType":"VariableDeclaration","scope":7162,"src":"1085:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7149,"name":"uint256","nodeType":"ElementaryTypeName","src":"1085:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7155,"initialValue":{"arguments":[{"id":7152,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7142,"src":"1110:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7153,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7144,"src":"1113:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7151,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7104,7140],"referencedDeclaration":7104,"src":"1104:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":7154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1104:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1085:30:8"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7156,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7150,"src":"1133:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":7157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1144:4:8","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1133:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":7159,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7144,"src":"1151:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1133:19:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7148,"id":7161,"nodeType":"Return","src":"1126:26:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1008:12:8","parameters":{"id":7145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7142,"mutability":"mutable","name":"a","nameLocation":"1029:1:8","nodeType":"VariableDeclaration","scope":7163,"src":"1021:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7141,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7144,"mutability":"mutable","name":"b","nameLocation":"1040:1:8","nodeType":"VariableDeclaration","scope":7163,"src":"1032:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7143,"name":"uint256","nodeType":"ElementaryTypeName","src":"1032:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:22:8"},"returnParameters":{"id":7148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7147,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7163,"src":"1066:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7146,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7192,"nodeType":"FunctionDefinition","src":"1165:192:8","nodes":[],"body":{"id":7191,"nodeType":"Block","src":"1239:118:8","nodes":[],"statements":[{"assignments":[7173],"declarations":[{"constant":false,"id":7173,"mutability":"mutable","name":"absDelta","nameLocation":"1257:8:8","nodeType":"VariableDeclaration","scope":7191,"src":"1249:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7172,"name":"uint256","nodeType":"ElementaryTypeName","src":"1249:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7178,"initialValue":{"arguments":[{"id":7175,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7165,"src":"1274:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7176,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7167,"src":"1277:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7174,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7104,7140],"referencedDeclaration":7140,"src":"1268:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":7177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1268:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1249:30:8"},{"assignments":[7180],"declarations":[{"constant":false,"id":7180,"mutability":"mutable","name":"absB","nameLocation":"1297:4:8","nodeType":"VariableDeclaration","scope":7191,"src":"1289:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7179,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7184,"initialValue":{"arguments":[{"id":7182,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7167,"src":"1308:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7181,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"1304:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1304:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1289:21:8"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7185,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7173,"src":"1328:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":7186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1339:4:8","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1328:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":7188,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7180,"src":"1346:4:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1328:22:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7171,"id":7190,"nodeType":"Return","src":"1321:29:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1174:12:8","parameters":{"id":7168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7165,"mutability":"mutable","name":"a","nameLocation":"1194:1:8","nodeType":"VariableDeclaration","scope":7192,"src":"1187:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7164,"name":"int256","nodeType":"ElementaryTypeName","src":"1187:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7167,"mutability":"mutable","name":"b","nameLocation":"1204:1:8","nodeType":"VariableDeclaration","scope":7192,"src":"1197:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7166,"name":"int256","nodeType":"ElementaryTypeName","src":"1197:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1186:20:8"},"returnParameters":{"id":7171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7170,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7192,"src":"1230:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7169,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1229:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdMath","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7193],"name":"stdMath","nameLocation":"73:7:8","scope":7194,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdStorage.sol":{"id":9,"ast":{"absolutePath":"lib/forge-std/src/StdStorage.sol","id":8659,"exportedSymbols":{"StdStorage":[7225],"Vm":[12037],"stdStorage":[8658],"stdStorageSafe":[8117]},"nodeType":"SourceUnit","src":"32:11835:9","nodes":[{"id":7195,"nodeType":"PragmaDirective","src":"32:31:9","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7197,"nodeType":"ImportDirective","src":"65:28:9","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":8659,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":7196,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"73:2:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7225,"nodeType":"StructDefinition","src":"95:271:9","nodes":[],"canonicalName":"StdStorage","members":[{"constant":false,"id":7205,"mutability":"mutable","name":"slots","nameLocation":"186:5:9","nodeType":"VariableDeclaration","scope":7225,"src":"119:72:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"},"typeName":{"id":7204,"keyType":{"id":7198,"name":"address","nodeType":"ElementaryTypeName","src":"127:7:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"119:66:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"},"valueType":{"id":7203,"keyType":{"id":7199,"name":"bytes4","nodeType":"ElementaryTypeName","src":"146:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"138:46:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"},"valueType":{"id":7202,"keyType":{"id":7200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"156:27:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueType":{"id":7201,"name":"uint256","nodeType":"ElementaryTypeName","src":"175:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}}},"visibility":"internal"},{"constant":false,"id":7213,"mutability":"mutable","name":"finds","nameLocation":"261:5:9","nodeType":"VariableDeclaration","scope":7225,"src":"197:69:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"},"typeName":{"id":7212,"keyType":{"id":7206,"name":"address","nodeType":"ElementaryTypeName","src":"205:7:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"197:63:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"},"valueType":{"id":7211,"keyType":{"id":7207,"name":"bytes4","nodeType":"ElementaryTypeName","src":"224:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"216:43:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"},"valueType":{"id":7210,"keyType":{"id":7208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"234:24:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"valueType":{"id":7209,"name":"bool","nodeType":"ElementaryTypeName","src":"253:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}}},"visibility":"internal"},{"constant":false,"id":7216,"mutability":"mutable","name":"_keys","nameLocation":"282:5:9","nodeType":"VariableDeclaration","scope":7225,"src":"272:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7215,"nodeType":"ArrayTypeName","src":"272:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":7218,"mutability":"mutable","name":"_sig","nameLocation":"300:4:9","nodeType":"VariableDeclaration","scope":7225,"src":"293:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7217,"name":"bytes4","nodeType":"ElementaryTypeName","src":"293:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":7220,"mutability":"mutable","name":"_depth","nameLocation":"318:6:9","nodeType":"VariableDeclaration","scope":7225,"src":"310:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7219,"name":"uint256","nodeType":"ElementaryTypeName","src":"310:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7222,"mutability":"mutable","name":"_target","nameLocation":"338:7:9","nodeType":"VariableDeclaration","scope":7225,"src":"330:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7221,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7224,"mutability":"mutable","name":"_set","nameLocation":"359:4:9","nodeType":"VariableDeclaration","scope":7225,"src":"351:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"StdStorage","nameLocation":"102:10:9","scope":8659,"visibility":"public"},{"id":8117,"nodeType":"ContractDefinition","src":"368:6969:9","nodes":[{"id":7235,"nodeType":"EventDefinition","src":"397:74:9","nodes":[],"anonymous":false,"name":"SlotFound","nameLocation":"403:9:9","parameters":{"id":7234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7227,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"421:3:9","nodeType":"VariableDeclaration","scope":7235,"src":"413:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7226,"name":"address","nodeType":"ElementaryTypeName","src":"413:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7229,"indexed":false,"mutability":"mutable","name":"fsig","nameLocation":"433:4:9","nodeType":"VariableDeclaration","scope":7235,"src":"426:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7228,"name":"bytes4","nodeType":"ElementaryTypeName","src":"426:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":7231,"indexed":false,"mutability":"mutable","name":"keysHash","nameLocation":"447:8:9","nodeType":"VariableDeclaration","scope":7235,"src":"439:16:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"439:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7233,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"465:4:9","nodeType":"VariableDeclaration","scope":7235,"src":"457:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7232,"name":"uint256","nodeType":"ElementaryTypeName","src":"457:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"412:58:9"}},{"id":7241,"nodeType":"EventDefinition","src":"476:54:9","nodes":[],"anonymous":false,"name":"WARNING_UninitedSlot","nameLocation":"482:20:9","parameters":{"id":7240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7237,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"511:3:9","nodeType":"VariableDeclaration","scope":7241,"src":"503:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7236,"name":"address","nodeType":"ElementaryTypeName","src":"503:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7239,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"524:4:9","nodeType":"VariableDeclaration","scope":7241,"src":"516:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7238,"name":"uint256","nodeType":"ElementaryTypeName","src":"516:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"502:27:9"}},{"id":7258,"nodeType":"VariableDeclaration","src":"536:84:9","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"556:2:9","scope":8117,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":7243,"nodeType":"UserDefinedTypeName","pathNode":{"id":7242,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"536:2:9"},"referencedDeclaration":12037,"src":"536:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":7252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"598:17:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":7251,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"588:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"588:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"580:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7249,"name":"uint256","nodeType":"ElementaryTypeName","src":"580:7:9","typeDescriptions":{}}},"id":7254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"580:37:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"572:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":7247,"name":"uint160","nodeType":"ElementaryTypeName","src":"572:7:9","typeDescriptions":{}}},"id":7255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"572:46:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":7246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"564:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7245,"name":"address","nodeType":"ElementaryTypeName","src":"564:7:9","typeDescriptions":{}}},"id":7256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"564:55:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7244,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"561:2:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":7257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"561:59:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":7276,"nodeType":"FunctionDefinition","src":"627:123:9","nodes":[],"body":{"id":7275,"nodeType":"Block","src":"694:56:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":7270,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"734:6:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"728:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":7268,"name":"bytes","nodeType":"ElementaryTypeName","src":"728:5:9","typeDescriptions":{}}},"id":7271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"728:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7267,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"718:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"718:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"711:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":7265,"name":"bytes4","nodeType":"ElementaryTypeName","src":"711:6:9","typeDescriptions":{}}},"id":7273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"711:32:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":7264,"id":7274,"nodeType":"Return","src":"704:39:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"636:4:9","parameters":{"id":7261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7260,"mutability":"mutable","name":"sigStr","nameLocation":"655:6:9","nodeType":"VariableDeclaration","scope":7276,"src":"641:20:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7259,"name":"string","nodeType":"ElementaryTypeName","src":"641:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"640:22:9"},"returnParameters":{"id":7264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7276,"src":"686:6:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7262,"name":"bytes4","nodeType":"ElementaryTypeName","src":"686:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"685:8:9"},"scope":8117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7720,"nodeType":"FunctionDefinition","src":"1264:3197:9","nodes":[],"body":{"id":7719,"nodeType":"Block","src":"1330:3131:9","nodes":[],"statements":[{"assignments":[7286],"declarations":[{"constant":false,"id":7286,"mutability":"mutable","name":"who","nameLocation":"1348:3:9","nodeType":"VariableDeclaration","scope":7719,"src":"1340:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7285,"name":"address","nodeType":"ElementaryTypeName","src":"1340:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":7289,"initialValue":{"expression":{"id":7287,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1354:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"1354:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1340:26:9"},{"assignments":[7291],"declarations":[{"constant":false,"id":7291,"mutability":"mutable","name":"fsig","nameLocation":"1383:4:9","nodeType":"VariableDeclaration","scope":7719,"src":"1376:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7290,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1376:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":7294,"initialValue":{"expression":{"id":7292,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1390:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"1390:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"1376:23:9"},{"assignments":[7296],"declarations":[{"constant":false,"id":7296,"mutability":"mutable","name":"field_depth","nameLocation":"1417:11:9","nodeType":"VariableDeclaration","scope":7719,"src":"1409:19:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7295,"name":"uint256","nodeType":"ElementaryTypeName","src":"1409:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7299,"initialValue":{"expression":{"id":7297,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1431:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"1431:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1409:33:9"},{"assignments":[7304],"declarations":[{"constant":false,"id":7304,"mutability":"mutable","name":"ins","nameLocation":"1469:3:9","nodeType":"VariableDeclaration","scope":7719,"src":"1452:20:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1452:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7303,"nodeType":"ArrayTypeName","src":"1452:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":7307,"initialValue":{"expression":{"id":7305,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1475:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"1475:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1452:33:9"},{"condition":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7308,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1536:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7309,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"1536:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":7311,"indexExpression":{"id":7310,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"1547:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1536:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":7313,"indexExpression":{"id":7312,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"1552:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1536:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":7321,"indexExpression":{"arguments":[{"arguments":[{"id":7317,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"1585:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7318,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"1590:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7315,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1568:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1568:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1568:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7314,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1558:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1558:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1536:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7338,"nodeType":"IfStatement","src":"1532:174:9","trueBody":{"id":7337,"nodeType":"Block","src":"1606:100:9","statements":[{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7322,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1627:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"1627:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":7325,"indexExpression":{"id":7324,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"1638:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1627:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":7327,"indexExpression":{"id":7326,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"1643:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1627:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":7335,"indexExpression":{"arguments":[{"arguments":[{"id":7331,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"1676:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7332,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"1681:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1659:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1659:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1659:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7328,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1649:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1649:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1627:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7284,"id":7336,"nodeType":"Return","src":"1620:75:9"}]}},{"assignments":[7340],"declarations":[{"constant":false,"id":7340,"mutability":"mutable","name":"cald","nameLocation":"1728:4:9","nodeType":"VariableDeclaration","scope":7719,"src":"1715:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7339,"name":"bytes","nodeType":"ElementaryTypeName","src":"1715:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":7348,"initialValue":{"arguments":[{"id":7343,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"1752:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":7345,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"1766:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":7344,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8116,"src":"1758:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":7346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1758:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":7341,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1735:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1735:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1735:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1715:56:9"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7349,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"1781:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"record","nodeType":"MemberAccess","referencedDeclaration":11083,"src":"1781:9:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":7352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1781:11:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7353,"nodeType":"ExpressionStatement","src":"1781:11:9"},{"assignments":[7355],"declarations":[{"constant":false,"id":7355,"mutability":"mutable","name":"fdat","nameLocation":"1810:4:9","nodeType":"VariableDeclaration","scope":7719,"src":"1802:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1802:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":7356,"nodeType":"VariableDeclarationStatement","src":"1802:12:9"},{"id":7373,"nodeType":"Block","src":"1824:128:9","statements":[{"assignments":[null,7358],"declarations":[null,{"constant":false,"id":7358,"mutability":"mutable","name":"rdat","nameLocation":"1854:4:9","nodeType":"VariableDeclaration","scope":7373,"src":"1841:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7357,"name":"bytes","nodeType":"ElementaryTypeName","src":"1841:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":7363,"initialValue":{"arguments":[{"id":7361,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7340,"src":"1877:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":7359,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"1862:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"1862:14:9","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":7362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1862:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1838:44:9"},{"expression":{"id":7371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7364,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"1896:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7366,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7358,"src":"1918:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":7367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1924:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":7368,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"1929:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1924:16:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7365,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8075,"src":"1903:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":7370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1903:38:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1896:45:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7372,"nodeType":"ExpressionStatement","src":"1896:45:9"}]},{"assignments":[7378,null],"declarations":[{"constant":false,"id":7378,"mutability":"mutable","name":"reads","nameLocation":"1980:5:9","nodeType":"VariableDeclaration","scope":7719,"src":"1963:22:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1963:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7377,"nodeType":"ArrayTypeName","src":"1963:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},null],"id":7386,"initialValue":{"arguments":[{"arguments":[{"id":7383,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2010:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2002:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7381,"name":"address","nodeType":"ElementaryTypeName","src":"2002:7:9","typeDescriptions":{}}},"id":7384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2002:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7379,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"1990:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"accesses","nodeType":"MemberAccess","referencedDeclaration":11094,"src":"1990:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) external returns (bytes32[] memory,bytes32[] memory)"}},"id":7385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1990:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"tuple(bytes32[] memory,bytes32[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"1962:53:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7387,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2029:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2029:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":7389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2045:1:9","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2029:17:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7489,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2786:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2786:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":7491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2801:1:9","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2786:16:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":7667,"nodeType":"Block","src":"3986:99:9","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e","id":7664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4007:66:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""},"value":"stdStorage find(StdStorage): No storage use detected for target."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""}],"id":7663,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4000:6:9","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":7665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4000:74:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7666,"nodeType":"ExpressionStatement","src":"4000:74:9"}]},"id":7668,"nodeType":"IfStatement","src":"2782:1303:9","trueBody":{"id":7662,"nodeType":"Block","src":"2804:1176:9","statements":[{"body":{"id":7660,"nodeType":"Block","src":"2861:1109:9","statements":[{"assignments":[7505],"declarations":[{"constant":false,"id":7505,"mutability":"mutable","name":"prev","nameLocation":"2887:4:9","nodeType":"VariableDeclaration","scope":7660,"src":"2879:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2879:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":7513,"initialValue":{"arguments":[{"id":7508,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2902:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7509,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2907:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7511,"indexExpression":{"id":7510,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"2913:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2907:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"2894:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10765,"src":"2894:7:9","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":7512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2894:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2879:37:9"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7514,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7505,"src":"2938:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2954:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2946:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2946:7:9","typeDescriptions":{}}},"id":7518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2946:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2938:18:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7531,"nodeType":"IfStatement","src":"2934:114:9","trueBody":{"id":7530,"nodeType":"Block","src":"2958:90:9","statements":[{"eventCall":{"arguments":[{"id":7521,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3006:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":7524,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3019:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7526,"indexExpression":{"id":7525,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3025:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3019:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3011:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7522,"name":"uint256","nodeType":"ElementaryTypeName","src":"3011:7:9","typeDescriptions":{}}},"id":7527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3011:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7520,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7241,"src":"2985:20:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":7528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2985:44:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7529,"nodeType":"EmitStatement","src":"2980:49:9"}]}},{"expression":{"arguments":[{"id":7535,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3099:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7536,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3104:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7538,"indexExpression":{"id":7537,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3110:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3104:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"1337","id":7541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"3122:9:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""},"value":"\u00137"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""}],"id":7540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3114:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3114:7:9","typeDescriptions":{}}},"id":7542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3114:18:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7532,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"3090:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":11726,"src":"3090:8:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":7543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3090:43:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7544,"nodeType":"ExpressionStatement","src":"3090:43:9"},{"assignments":[7546],"declarations":[{"constant":false,"id":7546,"mutability":"mutable","name":"success","nameLocation":"3156:7:9","nodeType":"VariableDeclaration","scope":7660,"src":"3151:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7545,"name":"bool","nodeType":"ElementaryTypeName","src":"3151:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":7547,"nodeType":"VariableDeclarationStatement","src":"3151:12:9"},{"assignments":[7549],"declarations":[{"constant":false,"id":7549,"mutability":"mutable","name":"rdat","nameLocation":"3194:4:9","nodeType":"VariableDeclaration","scope":7660,"src":"3181:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7548,"name":"bytes","nodeType":"ElementaryTypeName","src":"3181:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":7550,"nodeType":"VariableDeclarationStatement","src":"3181:17:9"},{"id":7569,"nodeType":"Block","src":"3216:146:9","statements":[{"expression":{"id":7558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":7551,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7546,"src":"3239:7:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7552,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7549,"src":"3248:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":7553,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"3238:15:9","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7556,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7340,"src":"3271:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":7554,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3256:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"3256:14:9","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":7557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3256:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"3238:38:9","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7559,"nodeType":"ExpressionStatement","src":"3238:38:9"},{"expression":{"id":7567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7560,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"3298:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7562,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7549,"src":"3320:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":7563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3326:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":7564,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"3331:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3326:16:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7561,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8075,"src":"3305:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":7566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3305:38:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3298:45:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7568,"nodeType":"ExpressionStatement","src":"3298:45:9"}]},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":7577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7570,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7546,"src":"3384:7:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7571,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"3395:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"1337","id":7574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"3411:9:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""},"value":"\u00137"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""}],"id":7573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3403:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3403:7:9","typeDescriptions":{}}},"id":7575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3403:18:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3395:26:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3384:37:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7649,"nodeType":"IfStatement","src":"3380:529:9","trueBody":{"id":7648,"nodeType":"Block","src":"3423:486:9","statements":[{"eventCall":{"arguments":[{"id":7579,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3529:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7580,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"3534:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":7584,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"3567:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7585,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"3572:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3550:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3550:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3550:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7581,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3540:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3540:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":7590,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3595:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7592,"indexExpression":{"id":7591,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3601:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3595:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3587:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7588,"name":"uint256","nodeType":"ElementaryTypeName","src":"3587:7:9","typeDescriptions":{}}},"id":7593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3587:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7578,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7235,"src":"3519:9:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":7594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3519:86:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7595,"nodeType":"EmitStatement","src":"3514:91:9"},{"expression":{"id":7617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7596,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"3627:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"3627:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":7608,"indexExpression":{"id":7598,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3638:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3627:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":7609,"indexExpression":{"id":7599,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"3643:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3627:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":7610,"indexExpression":{"arguments":[{"arguments":[{"id":7603,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"3676:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7604,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"3681:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7601,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3659:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3659:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3659:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7600,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3649:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3649:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3627:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":7613,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3706:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7615,"indexExpression":{"id":7614,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3712:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3706:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3698:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7611,"name":"uint256","nodeType":"ElementaryTypeName","src":"3698:7:9","typeDescriptions":{}}},"id":7616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3698:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3627:88:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7618,"nodeType":"ExpressionStatement","src":"3627:88:9"},{"expression":{"id":7635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7619,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"3737:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"3737:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":7631,"indexExpression":{"id":7621,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3748:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3737:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":7632,"indexExpression":{"id":7622,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"3753:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3737:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":7633,"indexExpression":{"arguments":[{"arguments":[{"id":7626,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"3786:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7627,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"3791:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7624,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3769:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3769:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3769:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7623,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3759:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3759:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3737:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":7634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3808:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3737:75:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7636,"nodeType":"ExpressionStatement","src":"3737:75:9"},{"expression":{"arguments":[{"id":7640,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3843:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7641,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3848:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7643,"indexExpression":{"id":7642,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3854:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3848:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7644,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7505,"src":"3858:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7637,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"3834:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":11726,"src":"3834:8:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":7645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3834:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7646,"nodeType":"ExpressionStatement","src":"3834:29:9"},{"id":7647,"nodeType":"Break","src":"3885:5:9"}]}},{"expression":{"arguments":[{"id":7653,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3935:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7654,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3940:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7656,"indexExpression":{"id":7655,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3946:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3940:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7657,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7505,"src":"3950:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7650,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"3926:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":11726,"src":"3926:8:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":7658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3926:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7659,"nodeType":"ExpressionStatement","src":"3926:29:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7497,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"2838:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":7498,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2842:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2842:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2838:16:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7661,"initializationExpression":{"assignments":[7494],"declarations":[{"constant":false,"id":7494,"mutability":"mutable","name":"i","nameLocation":"2831:1:9","nodeType":"VariableDeclaration","scope":7661,"src":"2823:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7493,"name":"uint256","nodeType":"ElementaryTypeName","src":"2823:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7496,"initialValue":{"hexValue":"30","id":7495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2835:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2823:13:9"},"loopExpression":{"expression":{"id":7502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2856:3:9","subExpression":{"id":7501,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"2856:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7503,"nodeType":"ExpressionStatement","src":"2856:3:9"},"nodeType":"ForStatement","src":"2818:1152:9"}]}},"id":7669,"nodeType":"IfStatement","src":"2025:2060:9","trueBody":{"id":7488,"nodeType":"Block","src":"2048:728:9","statements":[{"assignments":[7392],"declarations":[{"constant":false,"id":7392,"mutability":"mutable","name":"curr","nameLocation":"2070:4:9","nodeType":"VariableDeclaration","scope":7488,"src":"2062:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2062:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":7400,"initialValue":{"arguments":[{"id":7395,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2085:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7396,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2090:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7398,"indexExpression":{"hexValue":"30","id":7397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2096:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2090:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7393,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"2077:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10765,"src":"2077:7:9","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":7399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2077:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2062:37:9"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7401,"name":"curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7392,"src":"2117:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2133:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2125:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2125:7:9","typeDescriptions":{}}},"id":7405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2125:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2117:18:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7418,"nodeType":"IfStatement","src":"2113:106:9","trueBody":{"id":7417,"nodeType":"Block","src":"2137:82:9","statements":[{"eventCall":{"arguments":[{"id":7408,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2181:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":7411,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2194:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7413,"indexExpression":{"hexValue":"30","id":7412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2200:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2194:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2186:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7409,"name":"uint256","nodeType":"ElementaryTypeName","src":"2186:7:9","typeDescriptions":{}}},"id":7414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2186:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7407,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7241,"src":"2160:20:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":7415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2160:44:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7416,"nodeType":"EmitStatement","src":"2155:49:9"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7419,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"2236:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":7420,"name":"curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7392,"src":"2244:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2236:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7428,"nodeType":"IfStatement","src":"2232:238:9","trueBody":{"id":7427,"nodeType":"Block","src":"2250:220:9","statements":[{"expression":{"arguments":[{"hexValue":"66616c7365","id":7423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2297:5:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e","id":7424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2324:113:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""},"value":"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""}],"id":7422,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2268:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2268:187:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7426,"nodeType":"ExpressionStatement","src":"2268:187:9"}]}},{"eventCall":{"arguments":[{"id":7430,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2498:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7431,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"2503:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":7435,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"2536:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7436,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"2541:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7433,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2519:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2519:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2519:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7432,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2509:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2509:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":7441,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2564:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7443,"indexExpression":{"hexValue":"30","id":7442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2570:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2564:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2556:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7439,"name":"uint256","nodeType":"ElementaryTypeName","src":"2556:7:9","typeDescriptions":{}}},"id":7444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2556:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7429,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7235,"src":"2488:9:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":7445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2488:86:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7446,"nodeType":"EmitStatement","src":"2483:91:9"},{"expression":{"id":7468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7447,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"2588:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"2588:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":7459,"indexExpression":{"id":7449,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2599:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2588:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":7460,"indexExpression":{"id":7450,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"2604:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2588:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":7461,"indexExpression":{"arguments":[{"arguments":[{"id":7454,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"2637:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7455,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"2642:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7452,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2620:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2620:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2620:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7451,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2610:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2610:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2588:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":7464,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2667:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7466,"indexExpression":{"hexValue":"30","id":7465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2673:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2667:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2659:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7462,"name":"uint256","nodeType":"ElementaryTypeName","src":"2659:7:9","typeDescriptions":{}}},"id":7467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2659:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2588:88:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7469,"nodeType":"ExpressionStatement","src":"2588:88:9"},{"expression":{"id":7486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7470,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"2690:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"2690:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":7482,"indexExpression":{"id":7472,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2701:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2690:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":7483,"indexExpression":{"id":7473,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"2706:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2690:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":7484,"indexExpression":{"arguments":[{"arguments":[{"id":7477,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"2739:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7478,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"2744:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7475,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2722:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2722:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2722:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7474,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2712:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2712:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2690:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":7485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2761:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2690:75:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7487,"nodeType":"ExpressionStatement","src":"2690:75:9"}]}},{"expression":{"arguments":[{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7671,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4116:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"4116:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":7674,"indexExpression":{"id":7673,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"4127:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4116:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":7676,"indexExpression":{"id":7675,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"4132:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4116:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":7684,"indexExpression":{"arguments":[{"arguments":[{"id":7680,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"4165:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7681,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"4170:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4148:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4148:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4148:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7677,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4138:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4138:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4116:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e","id":7685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4198:49:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""},"value":"stdStorage find(StdStorage): Slot(s) not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""}],"id":7670,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4095:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4095:162:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7687,"nodeType":"ExpressionStatement","src":"4095:162:9"},{"expression":{"id":7690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4268:19:9","subExpression":{"expression":{"id":7688,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4275:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"4275:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7691,"nodeType":"ExpressionStatement","src":"4268:19:9"},{"expression":{"id":7694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4297:16:9","subExpression":{"expression":{"id":7692,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4304:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7693,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"4304:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7695,"nodeType":"ExpressionStatement","src":"4297:16:9"},{"expression":{"id":7698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4323:17:9","subExpression":{"expression":{"id":7696,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4330:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"4330:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7699,"nodeType":"ExpressionStatement","src":"4323:17:9"},{"expression":{"id":7702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4350:18:9","subExpression":{"expression":{"id":7700,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4357:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"4357:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7703,"nodeType":"ExpressionStatement","src":"4350:18:9"},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7704,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4386:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"4386:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":7707,"indexExpression":{"id":7706,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"4397:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":7709,"indexExpression":{"id":7708,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"4402:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":7717,"indexExpression":{"arguments":[{"arguments":[{"id":7713,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"4435:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7714,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"4440:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4418:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4418:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4418:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7710,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4408:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4408:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7284,"id":7718,"nodeType":"Return","src":"4379:75:9"}]},"documentation":{"id":7277,"nodeType":"StructuredDocumentation","src":"756:129:9","text":"@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against"},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"1273:4:9","parameters":{"id":7281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7280,"mutability":"mutable","name":"self","nameLocation":"1297:4:9","nodeType":"VariableDeclaration","scope":7720,"src":"1278:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7279,"nodeType":"UserDefinedTypeName","pathNode":{"id":7278,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"1278:10:9"},"referencedDeclaration":7225,"src":"1278:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"1277:25:9"},"returnParameters":{"id":7284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7720,"src":"1321:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7282,"name":"uint256","nodeType":"ElementaryTypeName","src":"1321:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1320:9:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7740,"nodeType":"FunctionDefinition","src":"4467:156:9","nodes":[],"body":{"id":7739,"nodeType":"Block","src":"4563:60:9","nodes":[],"statements":[{"expression":{"id":7735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7731,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7723,"src":"4573:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"4573:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7734,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7725,"src":"4588:7:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4573:22:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7736,"nodeType":"ExpressionStatement","src":"4573:22:9"},{"expression":{"id":7737,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7723,"src":"4612:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7730,"id":7738,"nodeType":"Return","src":"4605:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"4476:6:9","parameters":{"id":7726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7723,"mutability":"mutable","name":"self","nameLocation":"4502:4:9","nodeType":"VariableDeclaration","scope":7740,"src":"4483:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7722,"nodeType":"UserDefinedTypeName","pathNode":{"id":7721,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4483:10:9"},"referencedDeclaration":7225,"src":"4483:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7725,"mutability":"mutable","name":"_target","nameLocation":"4516:7:9","nodeType":"VariableDeclaration","scope":7740,"src":"4508:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7724,"name":"address","nodeType":"ElementaryTypeName","src":"4508:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4482:42:9"},"returnParameters":{"id":7730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7729,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7740,"src":"4543:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7728,"nodeType":"UserDefinedTypeName","pathNode":{"id":7727,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4543:10:9"},"referencedDeclaration":7225,"src":"4543:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"4542:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7760,"nodeType":"FunctionDefinition","src":"4629:143:9","nodes":[],"body":{"id":7759,"nodeType":"Block","src":"4718:54:9","nodes":[],"statements":[{"expression":{"id":7755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7751,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7743,"src":"4728:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"4728:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7754,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7745,"src":"4740:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4728:16:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":7756,"nodeType":"ExpressionStatement","src":"4728:16:9"},{"expression":{"id":7757,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7743,"src":"4761:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7750,"id":7758,"nodeType":"Return","src":"4754:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"4638:3:9","parameters":{"id":7746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7743,"mutability":"mutable","name":"self","nameLocation":"4661:4:9","nodeType":"VariableDeclaration","scope":7760,"src":"4642:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7742,"nodeType":"UserDefinedTypeName","pathNode":{"id":7741,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4642:10:9"},"referencedDeclaration":7225,"src":"4642:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7745,"mutability":"mutable","name":"_sig","nameLocation":"4674:4:9","nodeType":"VariableDeclaration","scope":7760,"src":"4667:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7744,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4667:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4641:38:9"},"returnParameters":{"id":7750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7760,"src":"4698:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7748,"nodeType":"UserDefinedTypeName","pathNode":{"id":7747,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4698:10:9"},"referencedDeclaration":7225,"src":"4698:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"4697:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7782,"nodeType":"FunctionDefinition","src":"4778:156:9","nodes":[],"body":{"id":7781,"nodeType":"Block","src":"4874:60:9","nodes":[],"statements":[{"expression":{"id":7777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7771,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7763,"src":"4884:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"4884:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7775,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7765,"src":"4901:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7774,"name":"sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7276,"src":"4896:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":7776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4896:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4884:22:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":7778,"nodeType":"ExpressionStatement","src":"4884:22:9"},{"expression":{"id":7779,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7763,"src":"4923:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7770,"id":7780,"nodeType":"Return","src":"4916:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"4787:3:9","parameters":{"id":7766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7763,"mutability":"mutable","name":"self","nameLocation":"4810:4:9","nodeType":"VariableDeclaration","scope":7782,"src":"4791:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7762,"nodeType":"UserDefinedTypeName","pathNode":{"id":7761,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4791:10:9"},"referencedDeclaration":7225,"src":"4791:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7765,"mutability":"mutable","name":"_sig","nameLocation":"4830:4:9","nodeType":"VariableDeclaration","scope":7782,"src":"4816:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7764,"name":"string","nodeType":"ElementaryTypeName","src":"4816:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4790:45:9"},"returnParameters":{"id":7770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7769,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7782,"src":"4854:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7768,"nodeType":"UserDefinedTypeName","pathNode":{"id":7767,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4854:10:9"},"referencedDeclaration":7225,"src":"4854:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"4853:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7813,"nodeType":"FunctionDefinition","src":"4940:179:9","nodes":[],"body":{"id":7812,"nodeType":"Block","src":"5034:85:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":7804,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7787,"src":"5084:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5076:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":7802,"name":"uint160","nodeType":"ElementaryTypeName","src":"5076:7:9","typeDescriptions":{}}},"id":7805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5076:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":7801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5068:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7800,"name":"uint256","nodeType":"ElementaryTypeName","src":"5068:7:9","typeDescriptions":{}}},"id":7806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5068:21:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5060:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5060:7:9","typeDescriptions":{}}},"id":7807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5060:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":7793,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7785,"src":"5044:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"5044:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":7797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"5044:15:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":7808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5044:47:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7809,"nodeType":"ExpressionStatement","src":"5044:47:9"},{"expression":{"id":7810,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7785,"src":"5108:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7792,"id":7811,"nodeType":"Return","src":"5101:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"4949:8:9","parameters":{"id":7788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7785,"mutability":"mutable","name":"self","nameLocation":"4977:4:9","nodeType":"VariableDeclaration","scope":7813,"src":"4958:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7784,"nodeType":"UserDefinedTypeName","pathNode":{"id":7783,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4958:10:9"},"referencedDeclaration":7225,"src":"4958:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7787,"mutability":"mutable","name":"who","nameLocation":"4991:3:9","nodeType":"VariableDeclaration","scope":7813,"src":"4983:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7786,"name":"address","nodeType":"ElementaryTypeName","src":"4983:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4957:38:9"},"returnParameters":{"id":7792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7791,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7813,"src":"5014:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7790,"nodeType":"UserDefinedTypeName","pathNode":{"id":7789,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5014:10:9"},"referencedDeclaration":7225,"src":"5014:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5013:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7838,"nodeType":"FunctionDefinition","src":"5125:161:9","nodes":[],"body":{"id":7837,"nodeType":"Block","src":"5219:67:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":7831,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7818,"src":"5253:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5245:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5245:7:9","typeDescriptions":{}}},"id":7832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5245:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":7824,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7816,"src":"5229:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"5229:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":7828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"5229:15:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":7833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5229:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7834,"nodeType":"ExpressionStatement","src":"5229:29:9"},{"expression":{"id":7835,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7816,"src":"5275:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7823,"id":7836,"nodeType":"Return","src":"5268:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"5134:8:9","parameters":{"id":7819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7816,"mutability":"mutable","name":"self","nameLocation":"5162:4:9","nodeType":"VariableDeclaration","scope":7838,"src":"5143:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7815,"nodeType":"UserDefinedTypeName","pathNode":{"id":7814,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5143:10:9"},"referencedDeclaration":7225,"src":"5143:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7818,"mutability":"mutable","name":"amt","nameLocation":"5176:3:9","nodeType":"VariableDeclaration","scope":7838,"src":"5168:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7817,"name":"uint256","nodeType":"ElementaryTypeName","src":"5168:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5142:38:9"},"returnParameters":{"id":7823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7822,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7838,"src":"5199:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7821,"nodeType":"UserDefinedTypeName","pathNode":{"id":7820,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5199:10:9"},"referencedDeclaration":7225,"src":"5199:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5198:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7860,"nodeType":"FunctionDefinition","src":"5292:152:9","nodes":[],"body":{"id":7859,"nodeType":"Block","src":"5386:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7854,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7843,"src":"5412:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":7849,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7841,"src":"5396:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"5396:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":7853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"5396:15:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":7855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5396:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7856,"nodeType":"ExpressionStatement","src":"5396:20:9"},{"expression":{"id":7857,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7841,"src":"5433:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7848,"id":7858,"nodeType":"Return","src":"5426:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"5301:8:9","parameters":{"id":7844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7841,"mutability":"mutable","name":"self","nameLocation":"5329:4:9","nodeType":"VariableDeclaration","scope":7860,"src":"5310:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7840,"nodeType":"UserDefinedTypeName","pathNode":{"id":7839,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5310:10:9"},"referencedDeclaration":7225,"src":"5310:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7843,"mutability":"mutable","name":"key","nameLocation":"5343:3:9","nodeType":"VariableDeclaration","scope":7860,"src":"5335:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5335:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5309:38:9"},"returnParameters":{"id":7848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7860,"src":"5366:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7846,"nodeType":"UserDefinedTypeName","pathNode":{"id":7845,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5366:10:9"},"referencedDeclaration":7225,"src":"5366:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5365:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7880,"nodeType":"FunctionDefinition","src":"5450:152:9","nodes":[],"body":{"id":7879,"nodeType":"Block","src":"5544:58:9","nodes":[],"statements":[{"expression":{"id":7875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7871,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7863,"src":"5554:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"5554:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7874,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7865,"src":"5568:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5554:20:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7876,"nodeType":"ExpressionStatement","src":"5554:20:9"},{"expression":{"id":7877,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7863,"src":"5591:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7870,"id":7878,"nodeType":"Return","src":"5584:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"5459:5:9","parameters":{"id":7866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7863,"mutability":"mutable","name":"self","nameLocation":"5484:4:9","nodeType":"VariableDeclaration","scope":7880,"src":"5465:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7862,"nodeType":"UserDefinedTypeName","pathNode":{"id":7861,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5465:10:9"},"referencedDeclaration":7225,"src":"5465:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7865,"mutability":"mutable","name":"_depth","nameLocation":"5498:6:9","nodeType":"VariableDeclaration","scope":7880,"src":"5490:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7864,"name":"uint256","nodeType":"ElementaryTypeName","src":"5490:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5464:41:9"},"returnParameters":{"id":7870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7880,"src":"5524:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7868,"nodeType":"UserDefinedTypeName","pathNode":{"id":7867,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5524:10:9"},"referencedDeclaration":7225,"src":"5524:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5523:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7912,"nodeType":"FunctionDefinition","src":"5608:194:9","nodes":[],"body":{"id":7911,"nodeType":"Block","src":"5678:124:9","nodes":[],"statements":[{"assignments":[7889],"declarations":[{"constant":false,"id":7889,"mutability":"mutable","name":"t","nameLocation":"5696:1:9","nodeType":"VariableDeclaration","scope":7911,"src":"5688:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7888,"name":"address","nodeType":"ElementaryTypeName","src":"5688:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":7892,"initialValue":{"expression":{"id":7890,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7883,"src":"5700:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"5700:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5688:24:9"},{"assignments":[7894],"declarations":[{"constant":false,"id":7894,"mutability":"mutable","name":"s","nameLocation":"5730:1:9","nodeType":"VariableDeclaration","scope":7911,"src":"5722:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7893,"name":"uint256","nodeType":"ElementaryTypeName","src":"5722:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7898,"initialValue":{"arguments":[{"id":7896,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7883,"src":"5739:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7895,"name":"find","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7720,"src":"5734:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":7897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5734:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5722:22:9"},{"expression":{"arguments":[{"arguments":[{"id":7903,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7889,"src":"5780:1:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":7906,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7894,"src":"5791:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5783:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5783:7:9","typeDescriptions":{}}},"id":7907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5783:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7901,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"5772:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10765,"src":"5772:7:9","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":7908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5772:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7899,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5761:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"5761:10:9","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5761:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":7887,"id":7910,"nodeType":"Return","src":"5754:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"5617:4:9","parameters":{"id":7884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7883,"mutability":"mutable","name":"self","nameLocation":"5641:4:9","nodeType":"VariableDeclaration","scope":7912,"src":"5622:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7882,"nodeType":"UserDefinedTypeName","pathNode":{"id":7881,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5622:10:9"},"referencedDeclaration":7225,"src":"5622:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5621:25:9"},"returnParameters":{"id":7887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7886,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7912,"src":"5664:12:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7885,"name":"bytes","nodeType":"ElementaryTypeName","src":"5664:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5663:14:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":7931,"nodeType":"FunctionDefinition","src":"5808:131:9","nodes":[],"body":{"id":7930,"nodeType":"Block","src":"5882:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":7923,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7915,"src":"5915:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7922,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"5910:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":7924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5910:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":7926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5923:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5923:7:9","typeDescriptions":{}}}],"id":7927,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5922:9:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":7920,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5899:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"5899:10:9","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5899:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7919,"id":7929,"nodeType":"Return","src":"5892:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"5817:12:9","parameters":{"id":7916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7915,"mutability":"mutable","name":"self","nameLocation":"5849:4:9","nodeType":"VariableDeclaration","scope":7931,"src":"5830:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7914,"nodeType":"UserDefinedTypeName","pathNode":{"id":7913,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5830:10:9"},"referencedDeclaration":7225,"src":"5830:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5829:25:9"},"returnParameters":{"id":7919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7918,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7931,"src":"5873:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5873:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5872:9:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7962,"nodeType":"FunctionDefinition","src":"5945:279:9","nodes":[],"body":{"id":7961,"nodeType":"Block","src":"6013:211:9","nodes":[],"statements":[{"assignments":[7940],"declarations":[{"constant":false,"id":7940,"mutability":"mutable","name":"v","nameLocation":"6030:1:9","nodeType":"VariableDeclaration","scope":7961,"src":"6023:8:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7939,"name":"int256","nodeType":"ElementaryTypeName","src":"6023:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":7944,"initialValue":{"arguments":[{"id":7942,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7934,"src":"6043:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7941,"name":"read_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8019,"src":"6034:8:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":7943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6034:14:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"6023:25:9"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7945,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7940,"src":"6062:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":7946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6067:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6062:6:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7950,"nodeType":"IfStatement","src":"6058:24:9","trueBody":{"expression":{"hexValue":"66616c7365","id":7948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:5:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":7938,"id":7949,"nodeType":"Return","src":"6070:12:9"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7951,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7940,"src":"6096:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":7952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6101:1:9","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6096:6:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7956,"nodeType":"IfStatement","src":"6092:23:9","trueBody":{"expression":{"hexValue":"74727565","id":7954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6111:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":7938,"id":7955,"nodeType":"Return","src":"6104:11:9"}},{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e","id":7958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6132:84:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""},"value":"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""}],"id":7957,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"6125:6:9","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":7959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6125:92:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7960,"nodeType":"ExpressionStatement","src":"6125:92:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"5954:9:9","parameters":{"id":7935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7934,"mutability":"mutable","name":"self","nameLocation":"5983:4:9","nodeType":"VariableDeclaration","scope":7962,"src":"5964:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7933,"nodeType":"UserDefinedTypeName","pathNode":{"id":7932,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5964:10:9"},"referencedDeclaration":7225,"src":"5964:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5963:25:9"},"returnParameters":{"id":7938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7937,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7962,"src":"6007:4:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7936,"name":"bool","nodeType":"ElementaryTypeName","src":"6007:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6006:6:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7981,"nodeType":"FunctionDefinition","src":"6230:131:9","nodes":[],"body":{"id":7980,"nodeType":"Block","src":"6304:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":7973,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7965,"src":"6337:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7972,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"6332:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":7974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6332:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":7976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6345:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7975,"name":"address","nodeType":"ElementaryTypeName","src":"6345:7:9","typeDescriptions":{}}}],"id":7977,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6344:9:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":7970,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6321:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"6321:10:9","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6321:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":7969,"id":7979,"nodeType":"Return","src":"6314:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"6239:12:9","parameters":{"id":7966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7965,"mutability":"mutable","name":"self","nameLocation":"6271:4:9","nodeType":"VariableDeclaration","scope":7981,"src":"6252:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7964,"nodeType":"UserDefinedTypeName","pathNode":{"id":7963,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"6252:10:9"},"referencedDeclaration":7225,"src":"6252:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6251:25:9"},"returnParameters":{"id":7969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7981,"src":"6295:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7967,"name":"address","nodeType":"ElementaryTypeName","src":"6295:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6294:9:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8000,"nodeType":"FunctionDefinition","src":"6367:128:9","nodes":[],"body":{"id":7999,"nodeType":"Block","src":"6438:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":7992,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7984,"src":"6471:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7991,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"6466:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":7993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6466:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":7995,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6479:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7994,"name":"uint256","nodeType":"ElementaryTypeName","src":"6479:7:9","typeDescriptions":{}}}],"id":7996,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6478:9:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":7989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6455:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"6455:10:9","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6455:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7988,"id":7998,"nodeType":"Return","src":"6448:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"6376:9:9","parameters":{"id":7985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7984,"mutability":"mutable","name":"self","nameLocation":"6405:4:9","nodeType":"VariableDeclaration","scope":8000,"src":"6386:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7983,"nodeType":"UserDefinedTypeName","pathNode":{"id":7982,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"6386:10:9"},"referencedDeclaration":7225,"src":"6386:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6385:25:9"},"returnParameters":{"id":7988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8000,"src":"6429:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7986,"name":"uint256","nodeType":"ElementaryTypeName","src":"6429:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6428:9:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8019,"nodeType":"FunctionDefinition","src":"6501:125:9","nodes":[],"body":{"id":8018,"nodeType":"Block","src":"6570:56:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8011,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8003,"src":"6603:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8010,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"6598:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":8012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6598:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":8014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6611:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8013,"name":"int256","nodeType":"ElementaryTypeName","src":"6611:6:9","typeDescriptions":{}}}],"id":8015,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6610:8:9","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"expression":{"id":8008,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6587:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"6587:10:9","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":8016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6587:32:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":8007,"id":8017,"nodeType":"Return","src":"6580:39:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"6510:8:9","parameters":{"id":8004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8003,"mutability":"mutable","name":"self","nameLocation":"6538:4:9","nodeType":"VariableDeclaration","scope":8019,"src":"6519:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8002,"nodeType":"UserDefinedTypeName","pathNode":{"id":8001,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"6519:10:9"},"referencedDeclaration":7225,"src":"6519:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6518:25:9"},"returnParameters":{"id":8007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8019,"src":"6562:6:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8005,"name":"int256","nodeType":"ElementaryTypeName","src":"6562:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6561:8:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8075,"nodeType":"FunctionDefinition","src":"6632:304:9","nodes":[],"body":{"id":8074,"nodeType":"Block","src":"6719:217:9","nodes":[],"statements":[{"assignments":[8029],"declarations":[{"constant":false,"id":8029,"mutability":"mutable","name":"out","nameLocation":"6737:3:9","nodeType":"VariableDeclaration","scope":8074,"src":"6729:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6729:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8030,"nodeType":"VariableDeclarationStatement","src":"6729:11:9"},{"assignments":[8032],"declarations":[{"constant":false,"id":8032,"mutability":"mutable","name":"max","nameLocation":"6759:3:9","nodeType":"VariableDeclaration","scope":8074,"src":"6751:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8031,"name":"uint256","nodeType":"ElementaryTypeName","src":"6751:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8041,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8033,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8021,"src":"6765:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6765:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":8035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6776:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6765:13:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":8038,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8021,"src":"6786:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6786:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6765:29:9","trueExpression":{"hexValue":"3332","id":8037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6781:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6751:43:9"},{"body":{"id":8070,"nodeType":"Block","src":"6838:72:9","statements":[{"expression":{"id":8068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8052,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8029,"src":"6852:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":8061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":8055,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8021,"src":"6867:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8059,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8056,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8023,"src":"6869:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":8057,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6878:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6869:10:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6867:13:9","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":8060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6883:4:9","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"6867:20:9","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":8054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6859:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6859:7:9","typeDescriptions":{}}},"id":8062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6859:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8063,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6893:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":8064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6897:1:9","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"6893:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8066,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6892:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6859:40:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6852:47:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8069,"nodeType":"ExpressionStatement","src":"6852:47:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8046,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6824:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":8047,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8032,"src":"6828:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6824:7:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8071,"initializationExpression":{"assignments":[8043],"declarations":[{"constant":false,"id":8043,"mutability":"mutable","name":"i","nameLocation":"6817:1:9","nodeType":"VariableDeclaration","scope":8071,"src":"6809:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8042,"name":"uint256","nodeType":"ElementaryTypeName","src":"6809:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8045,"initialValue":{"hexValue":"30","id":8044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6821:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6809:13:9"},"loopExpression":{"expression":{"id":8050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6833:3:9","subExpression":{"id":8049,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6833:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8051,"nodeType":"ExpressionStatement","src":"6833:3:9"},"nodeType":"ForStatement","src":"6804:106:9"},{"expression":{"id":8072,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8029,"src":"6926:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":8027,"id":8073,"nodeType":"Return","src":"6919:10:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"6641:14:9","parameters":{"id":8024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8021,"mutability":"mutable","name":"b","nameLocation":"6669:1:9","nodeType":"VariableDeclaration","scope":8075,"src":"6656:14:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8020,"name":"bytes","nodeType":"ElementaryTypeName","src":"6656:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8023,"mutability":"mutable","name":"offset","nameLocation":"6680:6:9","nodeType":"VariableDeclaration","scope":8075,"src":"6672:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8022,"name":"uint256","nodeType":"ElementaryTypeName","src":"6672:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6655:32:9"},"returnParameters":{"id":8027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8075,"src":"6710:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6710:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6709:9:9"},"scope":8117,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":8116,"nodeType":"FunctionDefinition","src":"6942:393:9","nodes":[],"body":{"id":8115,"nodeType":"Block","src":"7015:320:9","nodes":[],"statements":[{"assignments":[8084],"declarations":[{"constant":false,"id":8084,"mutability":"mutable","name":"result","nameLocation":"7038:6:9","nodeType":"VariableDeclaration","scope":8115,"src":"7025:19:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8083,"name":"bytes","nodeType":"ElementaryTypeName","src":"7025:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8092,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8087,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"7057:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7057:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":8089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7068:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"7057:13:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7047:9:9","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":8085,"name":"bytes","nodeType":"ElementaryTypeName","src":"7051:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":8091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7047:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7025:46:9"},{"body":{"id":8111,"nodeType":"Block","src":"7120:185:9","statements":[{"assignments":[8105],"declarations":[{"constant":false,"id":8105,"mutability":"mutable","name":"k","nameLocation":"7142:1:9","nodeType":"VariableDeclaration","scope":8111,"src":"7134:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7134:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8109,"initialValue":{"baseExpression":{"id":8106,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"7146:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8108,"indexExpression":{"id":8107,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8094,"src":"7148:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7146:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7134:16:9"},{"AST":{"nodeType":"YulBlock","src":"7220:75:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nodeType":"YulIdentifier","src":"7249:6:9"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7261:2:9","type":"","value":"32"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7269:2:9","type":"","value":"32"},{"name":"i","nodeType":"YulIdentifier","src":"7273:1:9"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"7265:3:9"},"nodeType":"YulFunctionCall","src":"7265:10:9"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7257:3:9"},"nodeType":"YulFunctionCall","src":"7257:19:9"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7245:3:9"},"nodeType":"YulFunctionCall","src":"7245:32:9"},{"name":"k","nodeType":"YulIdentifier","src":"7279:1:9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7238:6:9"},"nodeType":"YulFunctionCall","src":"7238:43:9"},"nodeType":"YulExpressionStatement","src":"7238:43:9"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":8094,"isOffset":false,"isSlot":false,"src":"7273:1:9","valueSize":1},{"declaration":8105,"isOffset":false,"isSlot":false,"src":"7279:1:9","valueSize":1},{"declaration":8084,"isOffset":false,"isSlot":false,"src":"7249:6:9","valueSize":1}],"id":8110,"nodeType":"InlineAssembly","src":"7211:84:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8097,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8094,"src":"7101:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8098,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"7105:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7105:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7101:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8112,"initializationExpression":{"assignments":[8094],"declarations":[{"constant":false,"id":8094,"mutability":"mutable","name":"i","nameLocation":"7094:1:9","nodeType":"VariableDeclaration","scope":8112,"src":"7086:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8093,"name":"uint256","nodeType":"ElementaryTypeName","src":"7086:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8096,"initialValue":{"hexValue":"30","id":8095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7098:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7086:13:9"},"loopExpression":{"expression":{"id":8102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7115:3:9","subExpression":{"id":8101,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8094,"src":"7115:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8103,"nodeType":"ExpressionStatement","src":"7115:3:9"},"nodeType":"ForStatement","src":"7081:224:9"},{"expression":{"id":8113,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8084,"src":"7322:6:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8082,"id":8114,"nodeType":"Return","src":"7315:13:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"6951:7:9","parameters":{"id":8079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8078,"mutability":"mutable","name":"b","nameLocation":"6976:1:9","nodeType":"VariableDeclaration","scope":8116,"src":"6959:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6959:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8077,"nodeType":"ArrayTypeName","src":"6959:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6958:20:9"},"returnParameters":{"id":8082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8116,"src":"7001:12:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8080,"name":"bytes","nodeType":"ElementaryTypeName","src":"7001:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7000:14:9"},"scope":8117,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorageSafe","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[8117],"name":"stdStorageSafe","nameLocation":"376:14:9","scope":8659,"usedErrors":[]},{"id":8658,"nodeType":"ContractDefinition","src":"7339:4527:9","nodes":[{"id":8134,"nodeType":"VariableDeclaration","src":"7364:84:9","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"7384:2:9","scope":8658,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":8119,"nodeType":"UserDefinedTypeName","pathNode":{"id":8118,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"7364:2:9"},"referencedDeclaration":12037,"src":"7364:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":8128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7426:17:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":8127,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7416:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7416:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7408:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8125,"name":"uint256","nodeType":"ElementaryTypeName","src":"7408:7:9","typeDescriptions":{}}},"id":8130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7408:37:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7400:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8123,"name":"uint160","nodeType":"ElementaryTypeName","src":"7400:7:9","typeDescriptions":{}}},"id":8131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7400:46:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7392:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8121,"name":"address","nodeType":"ElementaryTypeName","src":"7392:7:9","typeDescriptions":{}}},"id":8132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7392:55:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8120,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"7389:2:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":8133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7389:59:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":8147,"nodeType":"FunctionDefinition","src":"7455:118:9","nodes":[],"body":{"id":8146,"nodeType":"Block","src":"7522:51:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8143,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8136,"src":"7559:6:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8141,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"7539:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sigs","nodeType":"MemberAccess","referencedDeclaration":7276,"src":"7539:19:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":8144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7539:27:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":8140,"id":8145,"nodeType":"Return","src":"7532:34:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"7464:4:9","parameters":{"id":8137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8136,"mutability":"mutable","name":"sigStr","nameLocation":"7483:6:9","nodeType":"VariableDeclaration","scope":8147,"src":"7469:20:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8135,"name":"string","nodeType":"ElementaryTypeName","src":"7469:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7468:22:9"},"returnParameters":{"id":8140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8147,"src":"7514:6:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8138,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7514:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"7513:8:9"},"scope":8658,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8161,"nodeType":"FunctionDefinition","src":"7579:115:9","nodes":[],"body":{"id":8160,"nodeType":"Block","src":"7645:49:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8157,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8150,"src":"7682:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8155,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"7662:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"find","nodeType":"MemberAccess","referencedDeclaration":7720,"src":"7662:19:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":8158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7662:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8154,"id":8159,"nodeType":"Return","src":"7655:32:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"7588:4:9","parameters":{"id":8151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8150,"mutability":"mutable","name":"self","nameLocation":"7612:4:9","nodeType":"VariableDeclaration","scope":8161,"src":"7593:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8149,"nodeType":"UserDefinedTypeName","pathNode":{"id":8148,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7593:10:9"},"referencedDeclaration":7225,"src":"7593:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7592:25:9"},"returnParameters":{"id":8154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8161,"src":"7636:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8152,"name":"uint256","nodeType":"ElementaryTypeName","src":"7636:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7635:9:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8179,"nodeType":"FunctionDefinition","src":"7700:156:9","nodes":[],"body":{"id":8178,"nodeType":"Block","src":"7796:60:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8174,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8164,"src":"7835:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8175,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8166,"src":"7841:7:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8172,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"7813:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":7740,"src":"7813:21:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":8176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7813:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8171,"id":8177,"nodeType":"Return","src":"7806:43:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"7709:6:9","parameters":{"id":8167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8164,"mutability":"mutable","name":"self","nameLocation":"7735:4:9","nodeType":"VariableDeclaration","scope":8179,"src":"7716:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8163,"nodeType":"UserDefinedTypeName","pathNode":{"id":8162,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7716:10:9"},"referencedDeclaration":7225,"src":"7716:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8166,"mutability":"mutable","name":"_target","nameLocation":"7749:7:9","nodeType":"VariableDeclaration","scope":8179,"src":"7741:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8165,"name":"address","nodeType":"ElementaryTypeName","src":"7741:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7715:42:9"},"returnParameters":{"id":8171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8170,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8179,"src":"7776:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8169,"nodeType":"UserDefinedTypeName","pathNode":{"id":8168,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7776:10:9"},"referencedDeclaration":7225,"src":"7776:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7775:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8197,"nodeType":"FunctionDefinition","src":"7862:143:9","nodes":[],"body":{"id":8196,"nodeType":"Block","src":"7951:54:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8192,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8182,"src":"7987:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8193,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8184,"src":"7993:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":8190,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"7968:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":7760,"src":"7968:18:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":8194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7968:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8189,"id":8195,"nodeType":"Return","src":"7961:37:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"7871:3:9","parameters":{"id":8185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8182,"mutability":"mutable","name":"self","nameLocation":"7894:4:9","nodeType":"VariableDeclaration","scope":8197,"src":"7875:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8181,"nodeType":"UserDefinedTypeName","pathNode":{"id":8180,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7875:10:9"},"referencedDeclaration":7225,"src":"7875:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8184,"mutability":"mutable","name":"_sig","nameLocation":"7907:4:9","nodeType":"VariableDeclaration","scope":8197,"src":"7900:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8183,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7900:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"7874:38:9"},"returnParameters":{"id":8189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8197,"src":"7931:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8187,"nodeType":"UserDefinedTypeName","pathNode":{"id":8186,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7931:10:9"},"referencedDeclaration":7225,"src":"7931:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7930:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8215,"nodeType":"FunctionDefinition","src":"8011:150:9","nodes":[],"body":{"id":8214,"nodeType":"Block","src":"8107:54:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8210,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8200,"src":"8143:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8211,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8202,"src":"8149:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8208,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8124:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":7782,"src":"8124:18:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)"}},"id":8212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8124:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8207,"id":8213,"nodeType":"Return","src":"8117:37:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"8020:3:9","parameters":{"id":8203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8200,"mutability":"mutable","name":"self","nameLocation":"8043:4:9","nodeType":"VariableDeclaration","scope":8215,"src":"8024:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8199,"nodeType":"UserDefinedTypeName","pathNode":{"id":8198,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8024:10:9"},"referencedDeclaration":7225,"src":"8024:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8202,"mutability":"mutable","name":"_sig","nameLocation":"8063:4:9","nodeType":"VariableDeclaration","scope":8215,"src":"8049:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8201,"name":"string","nodeType":"ElementaryTypeName","src":"8049:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8023:45:9"},"returnParameters":{"id":8207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8215,"src":"8087:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8205,"nodeType":"UserDefinedTypeName","pathNode":{"id":8204,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8087:10:9"},"referencedDeclaration":7225,"src":"8087:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8086:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8233,"nodeType":"FunctionDefinition","src":"8167:152:9","nodes":[],"body":{"id":8232,"nodeType":"Block","src":"8261:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8228,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8218,"src":"8302:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8229,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8220,"src":"8308:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8226,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8278:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":7813,"src":"8278:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":8230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8278:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8225,"id":8231,"nodeType":"Return","src":"8271:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"8176:8:9","parameters":{"id":8221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8218,"mutability":"mutable","name":"self","nameLocation":"8204:4:9","nodeType":"VariableDeclaration","scope":8233,"src":"8185:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8217,"nodeType":"UserDefinedTypeName","pathNode":{"id":8216,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8185:10:9"},"referencedDeclaration":7225,"src":"8185:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8220,"mutability":"mutable","name":"who","nameLocation":"8218:3:9","nodeType":"VariableDeclaration","scope":8233,"src":"8210:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8219,"name":"address","nodeType":"ElementaryTypeName","src":"8210:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8184:38:9"},"returnParameters":{"id":8225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8224,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8233,"src":"8241:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8223,"nodeType":"UserDefinedTypeName","pathNode":{"id":8222,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8241:10:9"},"referencedDeclaration":7225,"src":"8241:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8240:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8251,"nodeType":"FunctionDefinition","src":"8325:152:9","nodes":[],"body":{"id":8250,"nodeType":"Block","src":"8419:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8246,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8236,"src":"8460:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8247,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8238,"src":"8466:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8244,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8436:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":7838,"src":"8436:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":8248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8436:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8243,"id":8249,"nodeType":"Return","src":"8429:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"8334:8:9","parameters":{"id":8239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8236,"mutability":"mutable","name":"self","nameLocation":"8362:4:9","nodeType":"VariableDeclaration","scope":8251,"src":"8343:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8235,"nodeType":"UserDefinedTypeName","pathNode":{"id":8234,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8343:10:9"},"referencedDeclaration":7225,"src":"8343:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8238,"mutability":"mutable","name":"amt","nameLocation":"8376:3:9","nodeType":"VariableDeclaration","scope":8251,"src":"8368:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8237,"name":"uint256","nodeType":"ElementaryTypeName","src":"8368:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8342:38:9"},"returnParameters":{"id":8243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8242,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8251,"src":"8399:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8241,"nodeType":"UserDefinedTypeName","pathNode":{"id":8240,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8399:10:9"},"referencedDeclaration":7225,"src":"8399:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8398:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8269,"nodeType":"FunctionDefinition","src":"8483:152:9","nodes":[],"body":{"id":8268,"nodeType":"Block","src":"8577:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8264,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8254,"src":"8618:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8265,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8256,"src":"8624:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8262,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8594:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":7860,"src":"8594:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)"}},"id":8266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8594:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8261,"id":8267,"nodeType":"Return","src":"8587:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"8492:8:9","parameters":{"id":8257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8254,"mutability":"mutable","name":"self","nameLocation":"8520:4:9","nodeType":"VariableDeclaration","scope":8269,"src":"8501:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8253,"nodeType":"UserDefinedTypeName","pathNode":{"id":8252,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8501:10:9"},"referencedDeclaration":7225,"src":"8501:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8256,"mutability":"mutable","name":"key","nameLocation":"8534:3:9","nodeType":"VariableDeclaration","scope":8269,"src":"8526:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8526:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8500:38:9"},"returnParameters":{"id":8261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8269,"src":"8557:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8259,"nodeType":"UserDefinedTypeName","pathNode":{"id":8258,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8557:10:9"},"referencedDeclaration":7225,"src":"8557:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8556:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8287,"nodeType":"FunctionDefinition","src":"8641:152:9","nodes":[],"body":{"id":8286,"nodeType":"Block","src":"8735:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8282,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8272,"src":"8773:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8283,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8274,"src":"8779:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8280,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8752:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":7880,"src":"8752:20:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":8284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8752:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8279,"id":8285,"nodeType":"Return","src":"8745:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"8650:5:9","parameters":{"id":8275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8272,"mutability":"mutable","name":"self","nameLocation":"8675:4:9","nodeType":"VariableDeclaration","scope":8287,"src":"8656:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8271,"nodeType":"UserDefinedTypeName","pathNode":{"id":8270,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8656:10:9"},"referencedDeclaration":7225,"src":"8656:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8274,"mutability":"mutable","name":"_depth","nameLocation":"8689:6:9","nodeType":"VariableDeclaration","scope":8287,"src":"8681:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8273,"name":"uint256","nodeType":"ElementaryTypeName","src":"8681:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8655:41:9"},"returnParameters":{"id":8279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8278,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8287,"src":"8715:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8277,"nodeType":"UserDefinedTypeName","pathNode":{"id":8276,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8715:10:9"},"referencedDeclaration":7225,"src":"8715:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8714:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8310,"nodeType":"FunctionDefinition","src":"8799:138:9","nodes":[],"body":{"id":8309,"nodeType":"Block","src":"8869:68:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8296,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8290,"src":"8893:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"arguments":[{"id":8303,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8292,"src":"8923:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8915:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8301,"name":"uint160","nodeType":"ElementaryTypeName","src":"8915:7:9","typeDescriptions":{}}},"id":8304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8915:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8907:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8299,"name":"uint256","nodeType":"ElementaryTypeName","src":"8907:7:9","typeDescriptions":{}}},"id":8305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8907:21:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8899:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8297,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8899:7:9","typeDescriptions":{}}},"id":8306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8899:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8295,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[8310,8327,8345,8490],"referencedDeclaration":8490,"src":"8879:13:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":8307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8879:51:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8308,"nodeType":"ExpressionStatement","src":"8879:51:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"8808:13:9","parameters":{"id":8293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8290,"mutability":"mutable","name":"self","nameLocation":"8841:4:9","nodeType":"VariableDeclaration","scope":8310,"src":"8822:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8289,"nodeType":"UserDefinedTypeName","pathNode":{"id":8288,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8822:10:9"},"referencedDeclaration":7225,"src":"8822:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8292,"mutability":"mutable","name":"who","nameLocation":"8855:3:9","nodeType":"VariableDeclaration","scope":8310,"src":"8847:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8291,"name":"address","nodeType":"ElementaryTypeName","src":"8847:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8821:38:9"},"returnParameters":{"id":8294,"nodeType":"ParameterList","parameters":[],"src":"8869:0:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8327,"nodeType":"FunctionDefinition","src":"8943:120:9","nodes":[],"body":{"id":8326,"nodeType":"Block","src":"9013:50:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8319,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8313,"src":"9037:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"id":8322,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8315,"src":"9051:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9043:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9043:7:9","typeDescriptions":{}}},"id":8323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9043:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8318,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[8310,8327,8345,8490],"referencedDeclaration":8490,"src":"9023:13:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":8324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9023:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8325,"nodeType":"ExpressionStatement","src":"9023:33:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"8952:13:9","parameters":{"id":8316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8313,"mutability":"mutable","name":"self","nameLocation":"8985:4:9","nodeType":"VariableDeclaration","scope":8327,"src":"8966:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8312,"nodeType":"UserDefinedTypeName","pathNode":{"id":8311,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8966:10:9"},"referencedDeclaration":7225,"src":"8966:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8315,"mutability":"mutable","name":"amt","nameLocation":"8999:3:9","nodeType":"VariableDeclaration","scope":8327,"src":"8991:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8314,"name":"uint256","nodeType":"ElementaryTypeName","src":"8991:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8965:38:9"},"returnParameters":{"id":8317,"nodeType":"ParameterList","parameters":[],"src":"9013:0:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8345,"nodeType":"FunctionDefinition","src":"9069:222:9","nodes":[],"body":{"id":8344,"nodeType":"Block","src":"9138:153:9","nodes":[],"statements":[{"assignments":[8336],"declarations":[{"constant":false,"id":8336,"mutability":"mutable","name":"t","nameLocation":"9156:1:9","nodeType":"VariableDeclaration","scope":8344,"src":"9148:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9148:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8337,"nodeType":"VariableDeclarationStatement","src":"9148:9:9"},{"AST":{"nodeType":"YulBlock","src":"9219:34:9","statements":[{"nodeType":"YulAssignment","src":"9233:10:9","value":{"name":"write","nodeType":"YulIdentifier","src":"9238:5:9"},"variableNames":[{"name":"t","nodeType":"YulIdentifier","src":"9233:1:9"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":8336,"isOffset":false,"isSlot":false,"src":"9233:1:9","valueSize":1},{"declaration":8332,"isOffset":false,"isSlot":false,"src":"9238:5:9","valueSize":1}],"id":8338,"nodeType":"InlineAssembly","src":"9210:43:9"},{"expression":{"arguments":[{"id":8340,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8330,"src":"9276:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8341,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8336,"src":"9282:1:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8339,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[8310,8327,8345,8490],"referencedDeclaration":8490,"src":"9262:13:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":8342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9262:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8343,"nodeType":"ExpressionStatement","src":"9262:22:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"9078:13:9","parameters":{"id":8333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8330,"mutability":"mutable","name":"self","nameLocation":"9111:4:9","nodeType":"VariableDeclaration","scope":8345,"src":"9092:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8329,"nodeType":"UserDefinedTypeName","pathNode":{"id":8328,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"9092:10:9"},"referencedDeclaration":7225,"src":"9092:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8332,"mutability":"mutable","name":"write","nameLocation":"9122:5:9","nodeType":"VariableDeclaration","scope":8345,"src":"9117:10:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8331,"name":"bool","nodeType":"ElementaryTypeName","src":"9117:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9091:37:9"},"returnParameters":{"id":8334,"nodeType":"ParameterList","parameters":[],"src":"9138:0:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8490,"nodeType":"FunctionDefinition","src":"9297:1095:9","nodes":[],"body":{"id":8489,"nodeType":"Block","src":"9367:1025:9","nodes":[],"statements":[{"assignments":[8354],"declarations":[{"constant":false,"id":8354,"mutability":"mutable","name":"who","nameLocation":"9385:3:9","nodeType":"VariableDeclaration","scope":8489,"src":"9377:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8353,"name":"address","nodeType":"ElementaryTypeName","src":"9377:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":8357,"initialValue":{"expression":{"id":8355,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9391:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"9391:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9377:26:9"},{"assignments":[8359],"declarations":[{"constant":false,"id":8359,"mutability":"mutable","name":"fsig","nameLocation":"9420:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9413:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8358,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9413:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":8362,"initialValue":{"expression":{"id":8360,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9427:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8361,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"9427:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"9413:23:9"},{"assignments":[8364],"declarations":[{"constant":false,"id":8364,"mutability":"mutable","name":"field_depth","nameLocation":"9454:11:9","nodeType":"VariableDeclaration","scope":8489,"src":"9446:19:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8363,"name":"uint256","nodeType":"ElementaryTypeName","src":"9446:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8367,"initialValue":{"expression":{"id":8365,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9468:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"9468:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9446:33:9"},{"assignments":[8372],"declarations":[{"constant":false,"id":8372,"mutability":"mutable","name":"ins","nameLocation":"9506:3:9","nodeType":"VariableDeclaration","scope":8489,"src":"9489:20:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9489:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8371,"nodeType":"ArrayTypeName","src":"9489:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":8375,"initialValue":{"expression":{"id":8373,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9512:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"9512:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9489:33:9"},{"assignments":[8377],"declarations":[{"constant":false,"id":8377,"mutability":"mutable","name":"cald","nameLocation":"9546:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9533:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8376,"name":"bytes","nodeType":"ElementaryTypeName","src":"9533:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8385,"initialValue":{"arguments":[{"id":8380,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8359,"src":"9570:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":8382,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8372,"src":"9584:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":8381,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8657,"src":"9576:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":8383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9576:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9553:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"9553:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9553:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9533:56:9"},{"condition":{"id":8400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9603:69:9","subExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8386,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9604:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"9604:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":8389,"indexExpression":{"id":8388,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"9615:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9604:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":8391,"indexExpression":{"id":8390,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8359,"src":"9620:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9604:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":8399,"indexExpression":{"arguments":[{"arguments":[{"id":8395,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8372,"src":"9653:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":8396,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8364,"src":"9658:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9636:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"9636:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9636:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8392,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9626:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9626:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9604:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8406,"nodeType":"IfStatement","src":"9599:110:9","trueBody":{"id":8405,"nodeType":"Block","src":"9674:35:9","statements":[{"expression":{"arguments":[{"id":8402,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9693:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8401,"name":"find","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8161,"src":"9688:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":8403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9688:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8404,"nodeType":"ExpressionStatement","src":"9688:10:9"}]}},{"assignments":[8408],"declarations":[{"constant":false,"id":8408,"mutability":"mutable","name":"slot","nameLocation":"9726:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9718:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8407,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9718:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8426,"initialValue":{"arguments":[{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8411,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9741:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"9741:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":8414,"indexExpression":{"id":8413,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"9752:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":8416,"indexExpression":{"id":8415,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8359,"src":"9757:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":8424,"indexExpression":{"arguments":[{"arguments":[{"id":8420,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8372,"src":"9790:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":8421,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8364,"src":"9795:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9773:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"9773:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9773:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8417,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9763:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9763:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9733:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9733:7:9","typeDescriptions":{}}},"id":8425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9733:77:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9718:92:9"},{"assignments":[8428],"declarations":[{"constant":false,"id":8428,"mutability":"mutable","name":"fdat","nameLocation":"9829:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9821:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9821:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8429,"nodeType":"VariableDeclarationStatement","src":"9821:12:9"},{"id":8446,"nodeType":"Block","src":"9843:128:9","statements":[{"assignments":[null,8431],"declarations":[null,{"constant":false,"id":8431,"mutability":"mutable","name":"rdat","nameLocation":"9873:4:9","nodeType":"VariableDeclaration","scope":8446,"src":"9860:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8430,"name":"bytes","nodeType":"ElementaryTypeName","src":"9860:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8436,"initialValue":{"arguments":[{"id":8434,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8377,"src":"9896:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8432,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"9881:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"9881:14:9","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":8435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9881:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9857:44:9"},{"expression":{"id":8444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8437,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8428,"src":"9915:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8439,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8431,"src":"9937:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":8440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9943:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":8441,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8364,"src":"9948:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9943:16:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8438,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8616,"src":"9922:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":8443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9922:38:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9915:45:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8445,"nodeType":"ExpressionStatement","src":"9915:45:9"}]},{"assignments":[8448],"declarations":[{"constant":false,"id":8448,"mutability":"mutable","name":"curr","nameLocation":"9988:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9980:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9980:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8454,"initialValue":{"arguments":[{"id":8451,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"10003:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8452,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8408,"src":"10008:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8449,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8134,"src":"9995:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10765,"src":"9995:7:9","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9995:18:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9980:33:9"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8455,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8428,"src":"10028:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8456,"name":"curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8448,"src":"10036:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10028:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8464,"nodeType":"IfStatement","src":"10024:218:9","trueBody":{"id":8463,"nodeType":"Block","src":"10042:200:9","statements":[{"expression":{"arguments":[{"hexValue":"66616c7365","id":8459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10081:5:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e","id":8460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10104:113:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""},"value":"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""}],"id":8458,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10056:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10056:175:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8462,"nodeType":"ExpressionStatement","src":"10056:175:9"}]}},{"expression":{"arguments":[{"id":8468,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"10260:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8469,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8408,"src":"10265:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8470,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8350,"src":"10271:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8465,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8134,"src":"10251:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":11726,"src":"10251:8:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10251:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8472,"nodeType":"ExpressionStatement","src":"10251:24:9"},{"expression":{"id":8475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10285:19:9","subExpression":{"expression":{"id":8473,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"10292:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"10292:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8476,"nodeType":"ExpressionStatement","src":"10285:19:9"},{"expression":{"id":8479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10314:16:9","subExpression":{"expression":{"id":8477,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"10321:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"10321:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8480,"nodeType":"ExpressionStatement","src":"10314:16:9"},{"expression":{"id":8483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10340:17:9","subExpression":{"expression":{"id":8481,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"10347:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"10347:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8484,"nodeType":"ExpressionStatement","src":"10340:17:9"},{"expression":{"id":8487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10367:18:9","subExpression":{"expression":{"id":8485,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"10374:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"10374:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8488,"nodeType":"ExpressionStatement","src":"10367:18:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"9306:13:9","parameters":{"id":8351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8348,"mutability":"mutable","name":"self","nameLocation":"9339:4:9","nodeType":"VariableDeclaration","scope":8490,"src":"9320:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8347,"nodeType":"UserDefinedTypeName","pathNode":{"id":8346,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"9320:10:9"},"referencedDeclaration":7225,"src":"9320:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8350,"mutability":"mutable","name":"set","nameLocation":"9353:3:9","nodeType":"VariableDeclaration","scope":8490,"src":"9345:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9345:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9319:38:9"},"returnParameters":{"id":8352,"nodeType":"ParameterList","parameters":[],"src":"9367:0:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8504,"nodeType":"FunctionDefinition","src":"10398:131:9","nodes":[],"body":{"id":8503,"nodeType":"Block","src":"10472:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8500,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8493,"src":"10517:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8498,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"10489:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_bytes32","nodeType":"MemberAccess","referencedDeclaration":7931,"src":"10489:27:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (bytes32)"}},"id":8501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10489:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":8497,"id":8502,"nodeType":"Return","src":"10482:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"10407:12:9","parameters":{"id":8494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8493,"mutability":"mutable","name":"self","nameLocation":"10439:4:9","nodeType":"VariableDeclaration","scope":8504,"src":"10420:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8492,"nodeType":"UserDefinedTypeName","pathNode":{"id":8491,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10420:10:9"},"referencedDeclaration":7225,"src":"10420:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10419:25:9"},"returnParameters":{"id":8497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8504,"src":"10463:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10463:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10462:9:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8518,"nodeType":"FunctionDefinition","src":"10535:122:9","nodes":[],"body":{"id":8517,"nodeType":"Block","src":"10603:54:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8514,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8507,"src":"10645:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8512,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"10620:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_bool","nodeType":"MemberAccess","referencedDeclaration":7962,"src":"10620:24:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer) returns (bool)"}},"id":8515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10620:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8511,"id":8516,"nodeType":"Return","src":"10613:37:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"10544:9:9","parameters":{"id":8508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8507,"mutability":"mutable","name":"self","nameLocation":"10573:4:9","nodeType":"VariableDeclaration","scope":8518,"src":"10554:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8506,"nodeType":"UserDefinedTypeName","pathNode":{"id":8505,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10554:10:9"},"referencedDeclaration":7225,"src":"10554:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10553:25:9"},"returnParameters":{"id":8511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8510,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8518,"src":"10597:4:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8509,"name":"bool","nodeType":"ElementaryTypeName","src":"10597:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10596:6:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8532,"nodeType":"FunctionDefinition","src":"10663:131:9","nodes":[],"body":{"id":8531,"nodeType":"Block","src":"10737:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8528,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8521,"src":"10782:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8526,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"10754:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_address","nodeType":"MemberAccess","referencedDeclaration":7981,"src":"10754:27:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_address_$","typeString":"function (struct StdStorage storage pointer) returns (address)"}},"id":8529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10754:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":8525,"id":8530,"nodeType":"Return","src":"10747:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"10672:12:9","parameters":{"id":8522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8521,"mutability":"mutable","name":"self","nameLocation":"10704:4:9","nodeType":"VariableDeclaration","scope":8532,"src":"10685:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8520,"nodeType":"UserDefinedTypeName","pathNode":{"id":8519,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10685:10:9"},"referencedDeclaration":7225,"src":"10685:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10684:25:9"},"returnParameters":{"id":8525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8524,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8532,"src":"10728:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8523,"name":"address","nodeType":"ElementaryTypeName","src":"10728:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10727:9:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8546,"nodeType":"FunctionDefinition","src":"10800:125:9","nodes":[],"body":{"id":8545,"nodeType":"Block","src":"10871:54:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8542,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8535,"src":"10913:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8540,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"10888:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_uint","nodeType":"MemberAccess","referencedDeclaration":8000,"src":"10888:24:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":8543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10888:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8539,"id":8544,"nodeType":"Return","src":"10881:37:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"10809:9:9","parameters":{"id":8536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8535,"mutability":"mutable","name":"self","nameLocation":"10838:4:9","nodeType":"VariableDeclaration","scope":8546,"src":"10819:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8534,"nodeType":"UserDefinedTypeName","pathNode":{"id":8533,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10819:10:9"},"referencedDeclaration":7225,"src":"10819:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10818:25:9"},"returnParameters":{"id":8539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8546,"src":"10862:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8537,"name":"uint256","nodeType":"ElementaryTypeName","src":"10862:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10861:9:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8560,"nodeType":"FunctionDefinition","src":"10931:122:9","nodes":[],"body":{"id":8559,"nodeType":"Block","src":"11000:53:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8556,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8549,"src":"11041:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8554,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"11017:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_int","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"11017:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":8557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11017:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":8553,"id":8558,"nodeType":"Return","src":"11010:36:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"10940:8:9","parameters":{"id":8550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8549,"mutability":"mutable","name":"self","nameLocation":"10968:4:9","nodeType":"VariableDeclaration","scope":8560,"src":"10949:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8548,"nodeType":"UserDefinedTypeName","pathNode":{"id":8547,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10949:10:9"},"referencedDeclaration":7225,"src":"10949:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10948:25:9"},"returnParameters":{"id":8553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8560,"src":"10992:6:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8551,"name":"int256","nodeType":"ElementaryTypeName","src":"10992:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"10991:8:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8616,"nodeType":"FunctionDefinition","src":"11110:304:9","nodes":[],"body":{"id":8615,"nodeType":"Block","src":"11197:217:9","nodes":[],"statements":[{"assignments":[8570],"declarations":[{"constant":false,"id":8570,"mutability":"mutable","name":"out","nameLocation":"11215:3:9","nodeType":"VariableDeclaration","scope":8615,"src":"11207:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11207:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8571,"nodeType":"VariableDeclarationStatement","src":"11207:11:9"},{"assignments":[8573],"declarations":[{"constant":false,"id":8573,"mutability":"mutable","name":"max","nameLocation":"11237:3:9","nodeType":"VariableDeclaration","scope":8615,"src":"11229:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8572,"name":"uint256","nodeType":"ElementaryTypeName","src":"11229:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8582,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8574,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8562,"src":"11243:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11243:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":8576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11254:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11243:13:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":8579,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8562,"src":"11264:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11264:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11243:29:9","trueExpression":{"hexValue":"3332","id":8578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11259:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11229:43:9"},{"body":{"id":8611,"nodeType":"Block","src":"11316:72:9","statements":[{"expression":{"id":8609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8593,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8570,"src":"11330:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":8602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":8596,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8562,"src":"11345:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8600,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8597,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8564,"src":"11347:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":8598,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8584,"src":"11356:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11347:10:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11345:13:9","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":8601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11361:4:9","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"11345:20:9","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":8595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11337:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11337:7:9","typeDescriptions":{}}},"id":8603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11337:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8604,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8584,"src":"11371:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":8605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11375:1:9","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11371:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8607,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11370:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11337:40:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11330:47:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8610,"nodeType":"ExpressionStatement","src":"11330:47:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8587,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8584,"src":"11302:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":8588,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8573,"src":"11306:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11302:7:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8612,"initializationExpression":{"assignments":[8584],"declarations":[{"constant":false,"id":8584,"mutability":"mutable","name":"i","nameLocation":"11295:1:9","nodeType":"VariableDeclaration","scope":8612,"src":"11287:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8583,"name":"uint256","nodeType":"ElementaryTypeName","src":"11287:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8586,"initialValue":{"hexValue":"30","id":8585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11299:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11287:13:9"},"loopExpression":{"expression":{"id":8591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11311:3:9","subExpression":{"id":8590,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8584,"src":"11311:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8592,"nodeType":"ExpressionStatement","src":"11311:3:9"},"nodeType":"ForStatement","src":"11282:106:9"},{"expression":{"id":8613,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8570,"src":"11404:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":8568,"id":8614,"nodeType":"Return","src":"11397:10:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"11119:14:9","parameters":{"id":8565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8562,"mutability":"mutable","name":"b","nameLocation":"11147:1:9","nodeType":"VariableDeclaration","scope":8616,"src":"11134:14:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8561,"name":"bytes","nodeType":"ElementaryTypeName","src":"11134:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8564,"mutability":"mutable","name":"offset","nameLocation":"11158:6:9","nodeType":"VariableDeclaration","scope":8616,"src":"11150:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8563,"name":"uint256","nodeType":"ElementaryTypeName","src":"11150:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11133:32:9"},"returnParameters":{"id":8568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8616,"src":"11188:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11188:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11187:9:9"},"scope":8658,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":8657,"nodeType":"FunctionDefinition","src":"11471:393:9","nodes":[],"body":{"id":8656,"nodeType":"Block","src":"11544:320:9","nodes":[],"statements":[{"assignments":[8625],"declarations":[{"constant":false,"id":8625,"mutability":"mutable","name":"result","nameLocation":"11567:6:9","nodeType":"VariableDeclaration","scope":8656,"src":"11554:19:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8624,"name":"bytes","nodeType":"ElementaryTypeName","src":"11554:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8633,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8628,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"11586:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11586:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":8630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11597:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11586:13:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11576:9:9","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":8626,"name":"bytes","nodeType":"ElementaryTypeName","src":"11580:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":8632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11576:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11554:46:9"},{"body":{"id":8652,"nodeType":"Block","src":"11649:185:9","statements":[{"assignments":[8646],"declarations":[{"constant":false,"id":8646,"mutability":"mutable","name":"k","nameLocation":"11671:1:9","nodeType":"VariableDeclaration","scope":8652,"src":"11663:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11663:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8650,"initialValue":{"baseExpression":{"id":8647,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"11675:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8649,"indexExpression":{"id":8648,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8635,"src":"11677:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11675:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11663:16:9"},{"AST":{"nodeType":"YulBlock","src":"11749:75:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nodeType":"YulIdentifier","src":"11778:6:9"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11790:2:9","type":"","value":"32"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11798:2:9","type":"","value":"32"},{"name":"i","nodeType":"YulIdentifier","src":"11802:1:9"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"11794:3:9"},"nodeType":"YulFunctionCall","src":"11794:10:9"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11786:3:9"},"nodeType":"YulFunctionCall","src":"11786:19:9"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11774:3:9"},"nodeType":"YulFunctionCall","src":"11774:32:9"},{"name":"k","nodeType":"YulIdentifier","src":"11808:1:9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11767:6:9"},"nodeType":"YulFunctionCall","src":"11767:43:9"},"nodeType":"YulExpressionStatement","src":"11767:43:9"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":8635,"isOffset":false,"isSlot":false,"src":"11802:1:9","valueSize":1},{"declaration":8646,"isOffset":false,"isSlot":false,"src":"11808:1:9","valueSize":1},{"declaration":8625,"isOffset":false,"isSlot":false,"src":"11778:6:9","valueSize":1}],"id":8651,"nodeType":"InlineAssembly","src":"11740:84:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8638,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8635,"src":"11630:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8639,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"11634:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11634:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11630:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8653,"initializationExpression":{"assignments":[8635],"declarations":[{"constant":false,"id":8635,"mutability":"mutable","name":"i","nameLocation":"11623:1:9","nodeType":"VariableDeclaration","scope":8653,"src":"11615:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8634,"name":"uint256","nodeType":"ElementaryTypeName","src":"11615:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8637,"initialValue":{"hexValue":"30","id":8636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11627:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11615:13:9"},"loopExpression":{"expression":{"id":8643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11644:3:9","subExpression":{"id":8642,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8635,"src":"11644:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8644,"nodeType":"ExpressionStatement","src":"11644:3:9"},"nodeType":"ForStatement","src":"11610:224:9"},{"expression":{"id":8654,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8625,"src":"11851:6:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8623,"id":8655,"nodeType":"Return","src":"11844:13:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"11480:7:9","parameters":{"id":8620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8619,"mutability":"mutable","name":"b","nameLocation":"11505:1:9","nodeType":"VariableDeclaration","scope":8657,"src":"11488:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11488:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8618,"nodeType":"ArrayTypeName","src":"11488:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11487:20:9"},"returnParameters":{"id":8623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8657,"src":"11530:12:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8621,"name":"bytes","nodeType":"ElementaryTypeName","src":"11530:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11529:14:9"},"scope":8658,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorage","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[8658],"name":"stdStorage","nameLocation":"7347:10:9","scope":8659,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdStyle.sol":{"id":10,"ast":{"absolutePath":"lib/forge-std/src/StdStyle.sol","id":9870,"exportedSymbols":{"StdStyle":[9869],"Vm":[12037]},"nodeType":"SourceUnit","src":"32:10418:10","nodes":[{"id":8660,"nodeType":"PragmaDirective","src":"32:32:10","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":8662,"nodeType":"ImportDirective","src":"66:28:10","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":9870,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":8661,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"74:2:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":9869,"nodeType":"ContractDefinition","src":"96:10353:10","nodes":[{"id":8679,"nodeType":"VariableDeclaration","src":"119:84:10","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"139:2:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":8664,"nodeType":"UserDefinedTypeName","pathNode":{"id":8663,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"119:2:10"},"referencedDeclaration":12037,"src":"119:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":8673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"181:17:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":8672,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"171:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"171:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"163:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8670,"name":"uint256","nodeType":"ElementaryTypeName","src":"163:7:10","typeDescriptions":{}}},"id":8675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"163:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"155:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8668,"name":"uint160","nodeType":"ElementaryTypeName","src":"155:7:10","typeDescriptions":{}}},"id":8676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"155:46:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"147:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8666,"name":"address","nodeType":"ElementaryTypeName","src":"147:7:10","typeDescriptions":{}}},"id":8677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"147:55:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8665,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"144:2:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":8678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"144:59:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":8682,"nodeType":"VariableDeclaration","src":"210:34:10","nodes":[],"constant":true,"mutability":"constant","name":"RED","nameLocation":"226:3:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8680,"name":"string","nodeType":"ElementaryTypeName","src":"210:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39316d","id":8681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"232:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_e865f62b1188865fdbe08fdbe8546369f5c78a8f677a27514aadc154b4263c18","typeString":"literal_string hex\"1b5b39316d\""},"value":"\u001b[91m"},"visibility":"internal"},{"id":8685,"nodeType":"VariableDeclaration","src":"250:36:10","nodes":[],"constant":true,"mutability":"constant","name":"GREEN","nameLocation":"266:5:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8683,"name":"string","nodeType":"ElementaryTypeName","src":"250:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39326d","id":8684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"274:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_250c6c79af2fd59b948ba31b977e669524bbf27faba009961b135f1635e1e32b","typeString":"literal_string hex\"1b5b39326d\""},"value":"\u001b[92m"},"visibility":"internal"},{"id":8688,"nodeType":"VariableDeclaration","src":"292:37:10","nodes":[],"constant":true,"mutability":"constant","name":"YELLOW","nameLocation":"308:6:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8686,"name":"string","nodeType":"ElementaryTypeName","src":"292:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39336d","id":8687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"317:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_801b445b8c4f71d86cf740b8fd9f85e172d35421144725dd58fed362de2e6cf5","typeString":"literal_string hex\"1b5b39336d\""},"value":"\u001b[93m"},"visibility":"internal"},{"id":8691,"nodeType":"VariableDeclaration","src":"335:35:10","nodes":[],"constant":true,"mutability":"constant","name":"BLUE","nameLocation":"351:4:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8689,"name":"string","nodeType":"ElementaryTypeName","src":"335:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39346d","id":8690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"358:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_66ecf2e89553c52e360a74737e5e4e3d15e4d08217c17497ca50efb90c95d593","typeString":"literal_string hex\"1b5b39346d\""},"value":"\u001b[94m"},"visibility":"internal"},{"id":8694,"nodeType":"VariableDeclaration","src":"376:38:10","nodes":[],"constant":true,"mutability":"constant","name":"MAGENTA","nameLocation":"392:7:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8692,"name":"string","nodeType":"ElementaryTypeName","src":"376:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39356d","id":8693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"402:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81cf1fd9bcd2b49f14457c6168490b5ff507c85cc3778934da8235d270d6b5b","typeString":"literal_string hex\"1b5b39356d\""},"value":"\u001b[95m"},"visibility":"internal"},{"id":8697,"nodeType":"VariableDeclaration","src":"420:35:10","nodes":[],"constant":true,"mutability":"constant","name":"CYAN","nameLocation":"436:4:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8695,"name":"string","nodeType":"ElementaryTypeName","src":"420:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39366d","id":8696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"443:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_f73c74e3aa04446480bd18c1b857a46321f6d66d2bfb703d52333566c779447b","typeString":"literal_string hex\"1b5b39366d\""},"value":"\u001b[96m"},"visibility":"internal"},{"id":8700,"nodeType":"VariableDeclaration","src":"461:34:10","nodes":[],"constant":true,"mutability":"constant","name":"BOLD","nameLocation":"477:4:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8698,"name":"string","nodeType":"ElementaryTypeName","src":"461:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b316d","id":8699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"484:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_b25b1471c5d449346ad6b37b501b2d5911d6e2bad13ad71d09cdfa3d3b140a17","typeString":"literal_string hex\"1b5b316d\""},"value":"\u001b[1m"},"visibility":"internal"},{"id":8703,"nodeType":"VariableDeclaration","src":"501:33:10","nodes":[],"constant":true,"mutability":"constant","name":"DIM","nameLocation":"517:3:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8701,"name":"string","nodeType":"ElementaryTypeName","src":"501:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b326d","id":8702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"523:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f556fa434add49eadfa043e74ff00496b89a16068544c1118ec19f5d8603d51","typeString":"literal_string hex\"1b5b326d\""},"value":"\u001b[2m"},"visibility":"internal"},{"id":8706,"nodeType":"VariableDeclaration","src":"540:36:10","nodes":[],"constant":true,"mutability":"constant","name":"ITALIC","nameLocation":"556:6:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8704,"name":"string","nodeType":"ElementaryTypeName","src":"540:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b336d","id":8705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"565:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_3889f2814cfbcc60c7a881028023c05aed4a6dae60be0df554f690b1f4e7411f","typeString":"literal_string hex\"1b5b336d\""},"value":"\u001b[3m"},"visibility":"internal"},{"id":8709,"nodeType":"VariableDeclaration","src":"582:39:10","nodes":[],"constant":true,"mutability":"constant","name":"UNDERLINE","nameLocation":"598:9:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8707,"name":"string","nodeType":"ElementaryTypeName","src":"582:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b346d","id":8708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"610:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_48cbbbbdbcd789b35edf67deaad6f96f406603d9181318ca90ef32f90fedb5bb","typeString":"literal_string hex\"1b5b346d\""},"value":"\u001b[4m"},"visibility":"internal"},{"id":8712,"nodeType":"VariableDeclaration","src":"627:37:10","nodes":[],"constant":true,"mutability":"constant","name":"INVERSE","nameLocation":"643:7:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8710,"name":"string","nodeType":"ElementaryTypeName","src":"627:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b376d","id":8711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"653:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_963e08c830a620b3640a99ac46ac6850f28c8f20be064518b3acc7016c3e286e","typeString":"literal_string hex\"1b5b376d\""},"value":"\u001b[7m"},"visibility":"internal"},{"id":8715,"nodeType":"VariableDeclaration","src":"670:35:10","nodes":[],"constant":true,"mutability":"constant","name":"RESET","nameLocation":"686:5:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8713,"name":"string","nodeType":"ElementaryTypeName","src":"670:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b306d","id":8714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"694:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_289c700ce2c600d61adfc66f83b41c26150052f3ea6c772e582ea6afd03d1949","typeString":"literal_string hex\"1b5b306d\""},"value":"\u001b[0m"},"visibility":"internal"},{"id":8735,"nodeType":"FunctionDefinition","src":"712:167:10","nodes":[],"body":{"id":8734,"nodeType":"Block","src":"811:68:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8728,"name":"style","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8717,"src":"852:5:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8729,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8719,"src":"859:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8730,"name":"RESET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8715,"src":"865:5:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8726,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"835:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"835:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"835:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"828:6:10","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":8724,"name":"string","nodeType":"ElementaryTypeName","src":"828:6:10","typeDescriptions":{}}},"id":8732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"828:44:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8723,"id":8733,"nodeType":"Return","src":"821:51:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"styleConcat","nameLocation":"721:11:10","parameters":{"id":8720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8717,"mutability":"mutable","name":"style","nameLocation":"747:5:10","nodeType":"VariableDeclaration","scope":8735,"src":"733:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8716,"name":"string","nodeType":"ElementaryTypeName","src":"733:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8719,"mutability":"mutable","name":"self","nameLocation":"768:4:10","nodeType":"VariableDeclaration","scope":8735,"src":"754:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8718,"name":"string","nodeType":"ElementaryTypeName","src":"754:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"732:41:10"},"returnParameters":{"id":8723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8722,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8735,"src":"796:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8721,"name":"string","nodeType":"ElementaryTypeName","src":"796:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"795:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":8748,"nodeType":"FunctionDefinition","src":"885:117:10","nodes":[],"body":{"id":8747,"nodeType":"Block","src":"956:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8743,"name":"RED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8682,"src":"985:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8744,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8737,"src":"990:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8742,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"973:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":8745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"973:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8741,"id":8746,"nodeType":"Return","src":"966:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"894:3:10","parameters":{"id":8738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8737,"mutability":"mutable","name":"self","nameLocation":"912:4:10","nodeType":"VariableDeclaration","scope":8748,"src":"898:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8736,"name":"string","nodeType":"ElementaryTypeName","src":"898:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"897:20:10"},"returnParameters":{"id":8741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8748,"src":"941:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8739,"name":"string","nodeType":"ElementaryTypeName","src":"941:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"940:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8763,"nodeType":"FunctionDefinition","src":"1008:111:10","nodes":[],"body":{"id":8762,"nodeType":"Block","src":"1073:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8758,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8750,"src":"1106:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8756,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1094:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"1094:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":8759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1094:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8755,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1090:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1090:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8754,"id":8761,"nodeType":"Return","src":"1083:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1017:3:10","parameters":{"id":8751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8750,"mutability":"mutable","name":"self","nameLocation":"1029:4:10","nodeType":"VariableDeclaration","scope":8763,"src":"1021:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8749,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:14:10"},"returnParameters":{"id":8754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8763,"src":"1058:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8752,"name":"string","nodeType":"ElementaryTypeName","src":"1058:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1057:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8778,"nodeType":"FunctionDefinition","src":"1125:110:10","nodes":[],"body":{"id":8777,"nodeType":"Block","src":"1189:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8773,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8765,"src":"1222:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":8771,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1210:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"1210:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":8774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1210:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8770,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1206:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1206:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8769,"id":8776,"nodeType":"Return","src":"1199:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1134:3:10","parameters":{"id":8766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8765,"mutability":"mutable","name":"self","nameLocation":"1145:4:10","nodeType":"VariableDeclaration","scope":8778,"src":"1138:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8764,"name":"int256","nodeType":"ElementaryTypeName","src":"1138:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1137:13:10"},"returnParameters":{"id":8769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8768,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8778,"src":"1174:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8767,"name":"string","nodeType":"ElementaryTypeName","src":"1174:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1173:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8793,"nodeType":"FunctionDefinition","src":"1241:111:10","nodes":[],"body":{"id":8792,"nodeType":"Block","src":"1306:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8788,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8780,"src":"1339:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8786,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1327:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"1327:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":8789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1327:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8785,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1323:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1323:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8784,"id":8791,"nodeType":"Return","src":"1316:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1250:3:10","parameters":{"id":8781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8780,"mutability":"mutable","name":"self","nameLocation":"1262:4:10","nodeType":"VariableDeclaration","scope":8793,"src":"1254:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8779,"name":"address","nodeType":"ElementaryTypeName","src":"1254:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1253:14:10"},"returnParameters":{"id":8784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8793,"src":"1291:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8782,"name":"string","nodeType":"ElementaryTypeName","src":"1291:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1290:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8808,"nodeType":"FunctionDefinition","src":"1358:108:10","nodes":[],"body":{"id":8807,"nodeType":"Block","src":"1420:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8803,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8795,"src":"1453:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1441:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"1441:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":8804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1441:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8800,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1437:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1437:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8799,"id":8806,"nodeType":"Return","src":"1430:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1367:3:10","parameters":{"id":8796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8795,"mutability":"mutable","name":"self","nameLocation":"1376:4:10","nodeType":"VariableDeclaration","scope":8808,"src":"1371:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8794,"name":"bool","nodeType":"ElementaryTypeName","src":"1371:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1370:11:10"},"returnParameters":{"id":8799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8808,"src":"1405:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8797,"name":"string","nodeType":"ElementaryTypeName","src":"1405:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1404:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8823,"nodeType":"FunctionDefinition","src":"1472:121:10","nodes":[],"body":{"id":8822,"nodeType":"Block","src":"1547:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8818,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8810,"src":"1580:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8816,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1568:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"1568:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":8819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1568:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8815,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1564:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1564:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8814,"id":8821,"nodeType":"Return","src":"1557:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes","nameLocation":"1481:8:10","parameters":{"id":8811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8810,"mutability":"mutable","name":"self","nameLocation":"1503:4:10","nodeType":"VariableDeclaration","scope":8823,"src":"1490:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8809,"name":"bytes","nodeType":"ElementaryTypeName","src":"1490:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1489:19:10"},"returnParameters":{"id":8814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8823,"src":"1532:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8812,"name":"string","nodeType":"ElementaryTypeName","src":"1532:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1531:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8838,"nodeType":"FunctionDefinition","src":"1599:118:10","nodes":[],"body":{"id":8837,"nodeType":"Block","src":"1671:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8833,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8825,"src":"1704:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8831,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1692:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"1692:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":8834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1692:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8830,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1688:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1688:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8829,"id":8836,"nodeType":"Return","src":"1681:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes32","nameLocation":"1608:10:10","parameters":{"id":8826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8825,"mutability":"mutable","name":"self","nameLocation":"1627:4:10","nodeType":"VariableDeclaration","scope":8838,"src":"1619:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1619:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1618:14:10"},"returnParameters":{"id":8829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8828,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8838,"src":"1656:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8827,"name":"string","nodeType":"ElementaryTypeName","src":"1656:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1655:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8851,"nodeType":"FunctionDefinition","src":"1723:121:10","nodes":[],"body":{"id":8850,"nodeType":"Block","src":"1796:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8846,"name":"GREEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8685,"src":"1825:5:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8847,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8840,"src":"1832:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8845,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"1813:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":8848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1813:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8844,"id":8849,"nodeType":"Return","src":"1806:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1732:5:10","parameters":{"id":8841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8840,"mutability":"mutable","name":"self","nameLocation":"1752:4:10","nodeType":"VariableDeclaration","scope":8851,"src":"1738:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8839,"name":"string","nodeType":"ElementaryTypeName","src":"1738:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1737:20:10"},"returnParameters":{"id":8844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8851,"src":"1781:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8842,"name":"string","nodeType":"ElementaryTypeName","src":"1781:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1780:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8866,"nodeType":"FunctionDefinition","src":"1850:115:10","nodes":[],"body":{"id":8865,"nodeType":"Block","src":"1917:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8861,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8853,"src":"1952:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8859,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1940:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"1940:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":8862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1940:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8858,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"1934:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1934:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8857,"id":8864,"nodeType":"Return","src":"1927:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1859:5:10","parameters":{"id":8854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8853,"mutability":"mutable","name":"self","nameLocation":"1873:4:10","nodeType":"VariableDeclaration","scope":8866,"src":"1865:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8852,"name":"uint256","nodeType":"ElementaryTypeName","src":"1865:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1864:14:10"},"returnParameters":{"id":8857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8856,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8866,"src":"1902:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8855,"name":"string","nodeType":"ElementaryTypeName","src":"1902:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1901:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8881,"nodeType":"FunctionDefinition","src":"1971:114:10","nodes":[],"body":{"id":8880,"nodeType":"Block","src":"2037:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8876,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8868,"src":"2072:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":8874,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2060:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"2060:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":8877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2060:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8873,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2054:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2054:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8872,"id":8879,"nodeType":"Return","src":"2047:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1980:5:10","parameters":{"id":8869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8868,"mutability":"mutable","name":"self","nameLocation":"1993:4:10","nodeType":"VariableDeclaration","scope":8881,"src":"1986:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8867,"name":"int256","nodeType":"ElementaryTypeName","src":"1986:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1985:13:10"},"returnParameters":{"id":8872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8881,"src":"2022:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8870,"name":"string","nodeType":"ElementaryTypeName","src":"2022:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2021:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8896,"nodeType":"FunctionDefinition","src":"2091:115:10","nodes":[],"body":{"id":8895,"nodeType":"Block","src":"2158:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8891,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8883,"src":"2193:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8889,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2181:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"2181:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":8892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2181:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8888,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2175:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2175:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8887,"id":8894,"nodeType":"Return","src":"2168:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2100:5:10","parameters":{"id":8884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8883,"mutability":"mutable","name":"self","nameLocation":"2114:4:10","nodeType":"VariableDeclaration","scope":8896,"src":"2106:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8882,"name":"address","nodeType":"ElementaryTypeName","src":"2106:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2105:14:10"},"returnParameters":{"id":8887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8886,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8896,"src":"2143:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8885,"name":"string","nodeType":"ElementaryTypeName","src":"2143:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2142:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8911,"nodeType":"FunctionDefinition","src":"2212:112:10","nodes":[],"body":{"id":8910,"nodeType":"Block","src":"2276:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8906,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8898,"src":"2311:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8904,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2299:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"2299:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":8907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2299:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8903,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2293:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2293:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8902,"id":8909,"nodeType":"Return","src":"2286:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2221:5:10","parameters":{"id":8899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8898,"mutability":"mutable","name":"self","nameLocation":"2232:4:10","nodeType":"VariableDeclaration","scope":8911,"src":"2227:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8897,"name":"bool","nodeType":"ElementaryTypeName","src":"2227:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2226:11:10"},"returnParameters":{"id":8902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8911,"src":"2261:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8900,"name":"string","nodeType":"ElementaryTypeName","src":"2261:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2260:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8926,"nodeType":"FunctionDefinition","src":"2330:125:10","nodes":[],"body":{"id":8925,"nodeType":"Block","src":"2407:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8921,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8913,"src":"2442:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8919,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2430:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"2430:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":8922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2430:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8918,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2424:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2424:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8917,"id":8924,"nodeType":"Return","src":"2417:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes","nameLocation":"2339:10:10","parameters":{"id":8914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8913,"mutability":"mutable","name":"self","nameLocation":"2363:4:10","nodeType":"VariableDeclaration","scope":8926,"src":"2350:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8912,"name":"bytes","nodeType":"ElementaryTypeName","src":"2350:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2349:19:10"},"returnParameters":{"id":8917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8916,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8926,"src":"2392:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8915,"name":"string","nodeType":"ElementaryTypeName","src":"2392:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2391:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8941,"nodeType":"FunctionDefinition","src":"2461:122:10","nodes":[],"body":{"id":8940,"nodeType":"Block","src":"2535:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8936,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8928,"src":"2570:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8934,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2558:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"2558:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":8937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2558:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8933,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2552:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2552:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8932,"id":8939,"nodeType":"Return","src":"2545:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes32","nameLocation":"2470:12:10","parameters":{"id":8929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8928,"mutability":"mutable","name":"self","nameLocation":"2491:4:10","nodeType":"VariableDeclaration","scope":8941,"src":"2483:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2483:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2482:14:10"},"returnParameters":{"id":8932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8931,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8941,"src":"2520:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8930,"name":"string","nodeType":"ElementaryTypeName","src":"2520:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2519:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8954,"nodeType":"FunctionDefinition","src":"2589:123:10","nodes":[],"body":{"id":8953,"nodeType":"Block","src":"2663:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8949,"name":"YELLOW","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8688,"src":"2692:6:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8950,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8943,"src":"2700:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8948,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"2680:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":8951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2680:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8947,"id":8952,"nodeType":"Return","src":"2673:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2598:6:10","parameters":{"id":8944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8943,"mutability":"mutable","name":"self","nameLocation":"2619:4:10","nodeType":"VariableDeclaration","scope":8954,"src":"2605:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8942,"name":"string","nodeType":"ElementaryTypeName","src":"2605:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2604:20:10"},"returnParameters":{"id":8947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8954,"src":"2648:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8945,"name":"string","nodeType":"ElementaryTypeName","src":"2648:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2647:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8969,"nodeType":"FunctionDefinition","src":"2718:117:10","nodes":[],"body":{"id":8968,"nodeType":"Block","src":"2786:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8964,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8956,"src":"2822:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8962,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2810:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"2810:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":8965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2810:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8961,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"2803:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2803:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8960,"id":8967,"nodeType":"Return","src":"2796:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2727:6:10","parameters":{"id":8957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8956,"mutability":"mutable","name":"self","nameLocation":"2742:4:10","nodeType":"VariableDeclaration","scope":8969,"src":"2734:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8955,"name":"uint256","nodeType":"ElementaryTypeName","src":"2734:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2733:14:10"},"returnParameters":{"id":8960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8959,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8969,"src":"2771:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8958,"name":"string","nodeType":"ElementaryTypeName","src":"2771:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2770:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8984,"nodeType":"FunctionDefinition","src":"2841:116:10","nodes":[],"body":{"id":8983,"nodeType":"Block","src":"2908:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8979,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8971,"src":"2944:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":8977,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2932:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"2932:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":8980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2932:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8976,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"2925:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2925:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8975,"id":8982,"nodeType":"Return","src":"2918:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2850:6:10","parameters":{"id":8972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8971,"mutability":"mutable","name":"self","nameLocation":"2864:4:10","nodeType":"VariableDeclaration","scope":8984,"src":"2857:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8970,"name":"int256","nodeType":"ElementaryTypeName","src":"2857:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2856:13:10"},"returnParameters":{"id":8975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8974,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8984,"src":"2893:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8973,"name":"string","nodeType":"ElementaryTypeName","src":"2893:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2892:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8999,"nodeType":"FunctionDefinition","src":"2963:117:10","nodes":[],"body":{"id":8998,"nodeType":"Block","src":"3031:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8994,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8986,"src":"3067:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8992,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3055:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"3055:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":8995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3055:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8991,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"3048:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3048:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8990,"id":8997,"nodeType":"Return","src":"3041:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2972:6:10","parameters":{"id":8987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8986,"mutability":"mutable","name":"self","nameLocation":"2987:4:10","nodeType":"VariableDeclaration","scope":8999,"src":"2979:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8985,"name":"address","nodeType":"ElementaryTypeName","src":"2979:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2978:14:10"},"returnParameters":{"id":8990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8989,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8999,"src":"3016:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8988,"name":"string","nodeType":"ElementaryTypeName","src":"3016:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3015:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9014,"nodeType":"FunctionDefinition","src":"3086:114:10","nodes":[],"body":{"id":9013,"nodeType":"Block","src":"3151:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9009,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9001,"src":"3187:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9007,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3175:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"3175:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3175:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9006,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"3168:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3168:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9005,"id":9012,"nodeType":"Return","src":"3161:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"3095:6:10","parameters":{"id":9002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9001,"mutability":"mutable","name":"self","nameLocation":"3107:4:10","nodeType":"VariableDeclaration","scope":9014,"src":"3102:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9000,"name":"bool","nodeType":"ElementaryTypeName","src":"3102:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3101:11:10"},"returnParameters":{"id":9005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9014,"src":"3136:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9003,"name":"string","nodeType":"ElementaryTypeName","src":"3136:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3135:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9029,"nodeType":"FunctionDefinition","src":"3206:127:10","nodes":[],"body":{"id":9028,"nodeType":"Block","src":"3284:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9024,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9016,"src":"3320:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9022,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3308:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"3308:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3308:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9021,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"3301:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3301:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9020,"id":9027,"nodeType":"Return","src":"3294:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes","nameLocation":"3215:11:10","parameters":{"id":9017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9016,"mutability":"mutable","name":"self","nameLocation":"3240:4:10","nodeType":"VariableDeclaration","scope":9029,"src":"3227:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9015,"name":"bytes","nodeType":"ElementaryTypeName","src":"3227:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3226:19:10"},"returnParameters":{"id":9020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9019,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9029,"src":"3269:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9018,"name":"string","nodeType":"ElementaryTypeName","src":"3269:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3268:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9044,"nodeType":"FunctionDefinition","src":"3339:124:10","nodes":[],"body":{"id":9043,"nodeType":"Block","src":"3414:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9039,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9031,"src":"3450:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9037,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3438:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"3438:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3438:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9036,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"3431:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3431:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9035,"id":9042,"nodeType":"Return","src":"3424:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes32","nameLocation":"3348:13:10","parameters":{"id":9032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9031,"mutability":"mutable","name":"self","nameLocation":"3370:4:10","nodeType":"VariableDeclaration","scope":9044,"src":"3362:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3362:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3361:14:10"},"returnParameters":{"id":9035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9034,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9044,"src":"3399:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9033,"name":"string","nodeType":"ElementaryTypeName","src":"3399:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3398:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9057,"nodeType":"FunctionDefinition","src":"3469:119:10","nodes":[],"body":{"id":9056,"nodeType":"Block","src":"3541:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9052,"name":"BLUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8691,"src":"3570:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9053,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9046,"src":"3576:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9051,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"3558:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3558:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9050,"id":9055,"nodeType":"Return","src":"3551:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3478:4:10","parameters":{"id":9047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9046,"mutability":"mutable","name":"self","nameLocation":"3497:4:10","nodeType":"VariableDeclaration","scope":9057,"src":"3483:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9045,"name":"string","nodeType":"ElementaryTypeName","src":"3483:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3482:20:10"},"returnParameters":{"id":9050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9057,"src":"3526:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9048,"name":"string","nodeType":"ElementaryTypeName","src":"3526:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3525:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9072,"nodeType":"FunctionDefinition","src":"3594:113:10","nodes":[],"body":{"id":9071,"nodeType":"Block","src":"3660:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9067,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9059,"src":"3694:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9065,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3682:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"3682:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3682:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9064,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"3677:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3677:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9063,"id":9070,"nodeType":"Return","src":"3670:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3603:4:10","parameters":{"id":9060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9059,"mutability":"mutable","name":"self","nameLocation":"3616:4:10","nodeType":"VariableDeclaration","scope":9072,"src":"3608:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9058,"name":"uint256","nodeType":"ElementaryTypeName","src":"3608:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3607:14:10"},"returnParameters":{"id":9063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9072,"src":"3645:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9061,"name":"string","nodeType":"ElementaryTypeName","src":"3645:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3644:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9087,"nodeType":"FunctionDefinition","src":"3713:112:10","nodes":[],"body":{"id":9086,"nodeType":"Block","src":"3778:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9082,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9074,"src":"3812:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9080,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3800:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"3800:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3800:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9079,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"3795:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3795:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9078,"id":9085,"nodeType":"Return","src":"3788:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3722:4:10","parameters":{"id":9075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9074,"mutability":"mutable","name":"self","nameLocation":"3734:4:10","nodeType":"VariableDeclaration","scope":9087,"src":"3727:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9073,"name":"int256","nodeType":"ElementaryTypeName","src":"3727:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3726:13:10"},"returnParameters":{"id":9078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9087,"src":"3763:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9076,"name":"string","nodeType":"ElementaryTypeName","src":"3763:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3762:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9102,"nodeType":"FunctionDefinition","src":"3831:113:10","nodes":[],"body":{"id":9101,"nodeType":"Block","src":"3897:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9097,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9089,"src":"3931:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9095,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3919:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"3919:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3919:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9094,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"3914:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3914:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9093,"id":9100,"nodeType":"Return","src":"3907:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3840:4:10","parameters":{"id":9090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9089,"mutability":"mutable","name":"self","nameLocation":"3853:4:10","nodeType":"VariableDeclaration","scope":9102,"src":"3845:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9088,"name":"address","nodeType":"ElementaryTypeName","src":"3845:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3844:14:10"},"returnParameters":{"id":9093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9092,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9102,"src":"3882:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9091,"name":"string","nodeType":"ElementaryTypeName","src":"3882:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3881:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9117,"nodeType":"FunctionDefinition","src":"3950:110:10","nodes":[],"body":{"id":9116,"nodeType":"Block","src":"4013:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9112,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9104,"src":"4047:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9110,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4035:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"4035:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4035:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9109,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"4030:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4030:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9108,"id":9115,"nodeType":"Return","src":"4023:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3959:4:10","parameters":{"id":9105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9104,"mutability":"mutable","name":"self","nameLocation":"3969:4:10","nodeType":"VariableDeclaration","scope":9117,"src":"3964:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9103,"name":"bool","nodeType":"ElementaryTypeName","src":"3964:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3963:11:10"},"returnParameters":{"id":9108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9117,"src":"3998:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9106,"name":"string","nodeType":"ElementaryTypeName","src":"3998:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3997:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9132,"nodeType":"FunctionDefinition","src":"4066:123:10","nodes":[],"body":{"id":9131,"nodeType":"Block","src":"4142:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9127,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9119,"src":"4176:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9125,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4164:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"4164:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4164:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9124,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"4159:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4159:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9123,"id":9130,"nodeType":"Return","src":"4152:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes","nameLocation":"4075:9:10","parameters":{"id":9120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9119,"mutability":"mutable","name":"self","nameLocation":"4098:4:10","nodeType":"VariableDeclaration","scope":9132,"src":"4085:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9118,"name":"bytes","nodeType":"ElementaryTypeName","src":"4085:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4084:19:10"},"returnParameters":{"id":9123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9132,"src":"4127:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9121,"name":"string","nodeType":"ElementaryTypeName","src":"4127:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4126:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9147,"nodeType":"FunctionDefinition","src":"4195:120:10","nodes":[],"body":{"id":9146,"nodeType":"Block","src":"4268:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9142,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9134,"src":"4302:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9140,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4290:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"4290:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4290:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9139,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"4285:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4285:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9138,"id":9145,"nodeType":"Return","src":"4278:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes32","nameLocation":"4204:11:10","parameters":{"id":9135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9134,"mutability":"mutable","name":"self","nameLocation":"4224:4:10","nodeType":"VariableDeclaration","scope":9147,"src":"4216:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4216:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4215:14:10"},"returnParameters":{"id":9138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9137,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9147,"src":"4253:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9136,"name":"string","nodeType":"ElementaryTypeName","src":"4253:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4252:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9160,"nodeType":"FunctionDefinition","src":"4321:125:10","nodes":[],"body":{"id":9159,"nodeType":"Block","src":"4396:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9155,"name":"MAGENTA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8694,"src":"4425:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9156,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9149,"src":"4434:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9154,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"4413:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4413:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9153,"id":9158,"nodeType":"Return","src":"4406:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4330:7:10","parameters":{"id":9150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9149,"mutability":"mutable","name":"self","nameLocation":"4352:4:10","nodeType":"VariableDeclaration","scope":9160,"src":"4338:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9148,"name":"string","nodeType":"ElementaryTypeName","src":"4338:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4337:20:10"},"returnParameters":{"id":9153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9152,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9160,"src":"4381:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9151,"name":"string","nodeType":"ElementaryTypeName","src":"4381:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4380:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9175,"nodeType":"FunctionDefinition","src":"4452:119:10","nodes":[],"body":{"id":9174,"nodeType":"Block","src":"4521:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9170,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9162,"src":"4558:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9168,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4546:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"4546:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4546:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9167,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"4538:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4538:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9166,"id":9173,"nodeType":"Return","src":"4531:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4461:7:10","parameters":{"id":9163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9162,"mutability":"mutable","name":"self","nameLocation":"4477:4:10","nodeType":"VariableDeclaration","scope":9175,"src":"4469:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9161,"name":"uint256","nodeType":"ElementaryTypeName","src":"4469:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4468:14:10"},"returnParameters":{"id":9166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9175,"src":"4506:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9164,"name":"string","nodeType":"ElementaryTypeName","src":"4506:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4505:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9190,"nodeType":"FunctionDefinition","src":"4577:118:10","nodes":[],"body":{"id":9189,"nodeType":"Block","src":"4645:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9185,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9177,"src":"4682:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9183,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4670:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"4670:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4670:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9182,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"4662:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4662:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9181,"id":9188,"nodeType":"Return","src":"4655:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4586:7:10","parameters":{"id":9178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9177,"mutability":"mutable","name":"self","nameLocation":"4601:4:10","nodeType":"VariableDeclaration","scope":9190,"src":"4594:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9176,"name":"int256","nodeType":"ElementaryTypeName","src":"4594:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4593:13:10"},"returnParameters":{"id":9181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9180,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9190,"src":"4630:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9179,"name":"string","nodeType":"ElementaryTypeName","src":"4630:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4629:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9205,"nodeType":"FunctionDefinition","src":"4701:119:10","nodes":[],"body":{"id":9204,"nodeType":"Block","src":"4770:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9200,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9192,"src":"4807:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9198,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4795:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"4795:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4795:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9197,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"4787:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4787:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9196,"id":9203,"nodeType":"Return","src":"4780:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4710:7:10","parameters":{"id":9193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9192,"mutability":"mutable","name":"self","nameLocation":"4726:4:10","nodeType":"VariableDeclaration","scope":9205,"src":"4718:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9191,"name":"address","nodeType":"ElementaryTypeName","src":"4718:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4717:14:10"},"returnParameters":{"id":9196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9205,"src":"4755:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9194,"name":"string","nodeType":"ElementaryTypeName","src":"4755:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4754:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9220,"nodeType":"FunctionDefinition","src":"4826:116:10","nodes":[],"body":{"id":9219,"nodeType":"Block","src":"4892:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9215,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9207,"src":"4929:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9213,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4917:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"4917:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4917:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9212,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"4909:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4909:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9211,"id":9218,"nodeType":"Return","src":"4902:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4835:7:10","parameters":{"id":9208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9207,"mutability":"mutable","name":"self","nameLocation":"4848:4:10","nodeType":"VariableDeclaration","scope":9220,"src":"4843:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9206,"name":"bool","nodeType":"ElementaryTypeName","src":"4843:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4842:11:10"},"returnParameters":{"id":9211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9220,"src":"4877:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9209,"name":"string","nodeType":"ElementaryTypeName","src":"4877:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4876:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9235,"nodeType":"FunctionDefinition","src":"4948:129:10","nodes":[],"body":{"id":9234,"nodeType":"Block","src":"5027:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9230,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9222,"src":"5064:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9228,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5052:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"5052:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5052:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9227,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"5044:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5044:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9226,"id":9233,"nodeType":"Return","src":"5037:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes","nameLocation":"4957:12:10","parameters":{"id":9223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9222,"mutability":"mutable","name":"self","nameLocation":"4983:4:10","nodeType":"VariableDeclaration","scope":9235,"src":"4970:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9221,"name":"bytes","nodeType":"ElementaryTypeName","src":"4970:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4969:19:10"},"returnParameters":{"id":9226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9225,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9235,"src":"5012:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9224,"name":"string","nodeType":"ElementaryTypeName","src":"5012:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5011:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9250,"nodeType":"FunctionDefinition","src":"5083:126:10","nodes":[],"body":{"id":9249,"nodeType":"Block","src":"5159:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9245,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9237,"src":"5196:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9243,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5184:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"5184:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5184:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9242,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"5176:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5176:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9241,"id":9248,"nodeType":"Return","src":"5169:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes32","nameLocation":"5092:14:10","parameters":{"id":9238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9237,"mutability":"mutable","name":"self","nameLocation":"5115:4:10","nodeType":"VariableDeclaration","scope":9250,"src":"5107:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5107:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5106:14:10"},"returnParameters":{"id":9241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9250,"src":"5144:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9239,"name":"string","nodeType":"ElementaryTypeName","src":"5144:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5143:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9263,"nodeType":"FunctionDefinition","src":"5215:119:10","nodes":[],"body":{"id":9262,"nodeType":"Block","src":"5287:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9258,"name":"CYAN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8697,"src":"5316:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9259,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9252,"src":"5322:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9257,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"5304:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5304:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9256,"id":9261,"nodeType":"Return","src":"5297:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5224:4:10","parameters":{"id":9253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9252,"mutability":"mutable","name":"self","nameLocation":"5243:4:10","nodeType":"VariableDeclaration","scope":9263,"src":"5229:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9251,"name":"string","nodeType":"ElementaryTypeName","src":"5229:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5228:20:10"},"returnParameters":{"id":9256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9255,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9263,"src":"5272:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9254,"name":"string","nodeType":"ElementaryTypeName","src":"5272:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5271:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9278,"nodeType":"FunctionDefinition","src":"5340:113:10","nodes":[],"body":{"id":9277,"nodeType":"Block","src":"5406:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9273,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9265,"src":"5440:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9271,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5428:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"5428:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5428:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9270,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5423:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5423:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9269,"id":9276,"nodeType":"Return","src":"5416:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5349:4:10","parameters":{"id":9266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9265,"mutability":"mutable","name":"self","nameLocation":"5362:4:10","nodeType":"VariableDeclaration","scope":9278,"src":"5354:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9264,"name":"uint256","nodeType":"ElementaryTypeName","src":"5354:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5353:14:10"},"returnParameters":{"id":9269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9278,"src":"5391:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9267,"name":"string","nodeType":"ElementaryTypeName","src":"5391:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5390:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9293,"nodeType":"FunctionDefinition","src":"5459:112:10","nodes":[],"body":{"id":9292,"nodeType":"Block","src":"5524:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9288,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9280,"src":"5558:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5546:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"5546:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5546:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9285,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5541:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5541:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9284,"id":9291,"nodeType":"Return","src":"5534:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5468:4:10","parameters":{"id":9281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9280,"mutability":"mutable","name":"self","nameLocation":"5480:4:10","nodeType":"VariableDeclaration","scope":9293,"src":"5473:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9279,"name":"int256","nodeType":"ElementaryTypeName","src":"5473:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"5472:13:10"},"returnParameters":{"id":9284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9293,"src":"5509:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9282,"name":"string","nodeType":"ElementaryTypeName","src":"5509:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5508:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9308,"nodeType":"FunctionDefinition","src":"5577:113:10","nodes":[],"body":{"id":9307,"nodeType":"Block","src":"5643:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9303,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9295,"src":"5677:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9301,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5665:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"5665:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5665:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9300,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5660:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5660:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9299,"id":9306,"nodeType":"Return","src":"5653:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5586:4:10","parameters":{"id":9296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9295,"mutability":"mutable","name":"self","nameLocation":"5599:4:10","nodeType":"VariableDeclaration","scope":9308,"src":"5591:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9294,"name":"address","nodeType":"ElementaryTypeName","src":"5591:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5590:14:10"},"returnParameters":{"id":9299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9308,"src":"5628:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9297,"name":"string","nodeType":"ElementaryTypeName","src":"5628:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5627:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9323,"nodeType":"FunctionDefinition","src":"5696:110:10","nodes":[],"body":{"id":9322,"nodeType":"Block","src":"5759:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9318,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9310,"src":"5793:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9316,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5781:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"5781:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5781:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9315,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5776:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5776:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9314,"id":9321,"nodeType":"Return","src":"5769:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5705:4:10","parameters":{"id":9311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9310,"mutability":"mutable","name":"self","nameLocation":"5715:4:10","nodeType":"VariableDeclaration","scope":9323,"src":"5710:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9309,"name":"bool","nodeType":"ElementaryTypeName","src":"5710:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5709:11:10"},"returnParameters":{"id":9314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9313,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9323,"src":"5744:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9312,"name":"string","nodeType":"ElementaryTypeName","src":"5744:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5743:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9338,"nodeType":"FunctionDefinition","src":"5812:123:10","nodes":[],"body":{"id":9337,"nodeType":"Block","src":"5888:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9333,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"5922:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9331,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5910:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"5910:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5910:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9330,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5905:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5905:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9329,"id":9336,"nodeType":"Return","src":"5898:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes","nameLocation":"5821:9:10","parameters":{"id":9326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9325,"mutability":"mutable","name":"self","nameLocation":"5844:4:10","nodeType":"VariableDeclaration","scope":9338,"src":"5831:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9324,"name":"bytes","nodeType":"ElementaryTypeName","src":"5831:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5830:19:10"},"returnParameters":{"id":9329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9338,"src":"5873:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9327,"name":"string","nodeType":"ElementaryTypeName","src":"5873:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5872:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9353,"nodeType":"FunctionDefinition","src":"5941:120:10","nodes":[],"body":{"id":9352,"nodeType":"Block","src":"6014:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9348,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9340,"src":"6048:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9346,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6036:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"6036:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6036:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9345,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"6031:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6031:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9344,"id":9351,"nodeType":"Return","src":"6024:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes32","nameLocation":"5950:11:10","parameters":{"id":9341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9340,"mutability":"mutable","name":"self","nameLocation":"5970:4:10","nodeType":"VariableDeclaration","scope":9353,"src":"5962:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5962:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5961:14:10"},"returnParameters":{"id":9344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9353,"src":"5999:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9342,"name":"string","nodeType":"ElementaryTypeName","src":"5999:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5998:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9366,"nodeType":"FunctionDefinition","src":"6067:119:10","nodes":[],"body":{"id":9365,"nodeType":"Block","src":"6139:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9361,"name":"BOLD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8700,"src":"6168:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9362,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9355,"src":"6174:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9360,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"6156:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6156:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9359,"id":9364,"nodeType":"Return","src":"6149:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6076:4:10","parameters":{"id":9356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9355,"mutability":"mutable","name":"self","nameLocation":"6095:4:10","nodeType":"VariableDeclaration","scope":9366,"src":"6081:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9354,"name":"string","nodeType":"ElementaryTypeName","src":"6081:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6080:20:10"},"returnParameters":{"id":9359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9358,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9366,"src":"6124:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9357,"name":"string","nodeType":"ElementaryTypeName","src":"6124:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6123:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9381,"nodeType":"FunctionDefinition","src":"6192:113:10","nodes":[],"body":{"id":9380,"nodeType":"Block","src":"6258:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9376,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9368,"src":"6292:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9374,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6280:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"6280:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6280:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9373,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6275:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6275:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9372,"id":9379,"nodeType":"Return","src":"6268:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6201:4:10","parameters":{"id":9369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9368,"mutability":"mutable","name":"self","nameLocation":"6214:4:10","nodeType":"VariableDeclaration","scope":9381,"src":"6206:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6206:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6205:14:10"},"returnParameters":{"id":9372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9381,"src":"6243:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9370,"name":"string","nodeType":"ElementaryTypeName","src":"6243:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6242:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9396,"nodeType":"FunctionDefinition","src":"6311:112:10","nodes":[],"body":{"id":9395,"nodeType":"Block","src":"6376:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9391,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9383,"src":"6410:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9389,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6398:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"6398:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6398:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9388,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6393:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6393:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9387,"id":9394,"nodeType":"Return","src":"6386:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6320:4:10","parameters":{"id":9384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9383,"mutability":"mutable","name":"self","nameLocation":"6332:4:10","nodeType":"VariableDeclaration","scope":9396,"src":"6325:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9382,"name":"int256","nodeType":"ElementaryTypeName","src":"6325:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6324:13:10"},"returnParameters":{"id":9387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9396,"src":"6361:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9385,"name":"string","nodeType":"ElementaryTypeName","src":"6361:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6360:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9411,"nodeType":"FunctionDefinition","src":"6429:113:10","nodes":[],"body":{"id":9410,"nodeType":"Block","src":"6495:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9406,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9398,"src":"6529:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9404,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6517:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"6517:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6517:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9403,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6512:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6512:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9402,"id":9409,"nodeType":"Return","src":"6505:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6438:4:10","parameters":{"id":9399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9398,"mutability":"mutable","name":"self","nameLocation":"6451:4:10","nodeType":"VariableDeclaration","scope":9411,"src":"6443:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9397,"name":"address","nodeType":"ElementaryTypeName","src":"6443:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6442:14:10"},"returnParameters":{"id":9402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9401,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9411,"src":"6480:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9400,"name":"string","nodeType":"ElementaryTypeName","src":"6480:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6479:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9426,"nodeType":"FunctionDefinition","src":"6548:110:10","nodes":[],"body":{"id":9425,"nodeType":"Block","src":"6611:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9421,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9413,"src":"6645:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9419,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6633:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"6633:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6633:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9418,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6628:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6628:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9417,"id":9424,"nodeType":"Return","src":"6621:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6557:4:10","parameters":{"id":9414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9413,"mutability":"mutable","name":"self","nameLocation":"6567:4:10","nodeType":"VariableDeclaration","scope":9426,"src":"6562:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9412,"name":"bool","nodeType":"ElementaryTypeName","src":"6562:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6561:11:10"},"returnParameters":{"id":9417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9416,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9426,"src":"6596:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9415,"name":"string","nodeType":"ElementaryTypeName","src":"6596:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6595:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9441,"nodeType":"FunctionDefinition","src":"6664:123:10","nodes":[],"body":{"id":9440,"nodeType":"Block","src":"6740:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9436,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9428,"src":"6774:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9434,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6762:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"6762:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6762:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9433,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6757:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6757:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9432,"id":9439,"nodeType":"Return","src":"6750:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes","nameLocation":"6673:9:10","parameters":{"id":9429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9428,"mutability":"mutable","name":"self","nameLocation":"6696:4:10","nodeType":"VariableDeclaration","scope":9441,"src":"6683:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9427,"name":"bytes","nodeType":"ElementaryTypeName","src":"6683:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6682:19:10"},"returnParameters":{"id":9432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9431,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9441,"src":"6725:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9430,"name":"string","nodeType":"ElementaryTypeName","src":"6725:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6724:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9456,"nodeType":"FunctionDefinition","src":"6793:120:10","nodes":[],"body":{"id":9455,"nodeType":"Block","src":"6866:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9451,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9443,"src":"6900:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9449,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6888:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"6888:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6888:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9448,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6883:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6883:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9447,"id":9454,"nodeType":"Return","src":"6876:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes32","nameLocation":"6802:11:10","parameters":{"id":9444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9443,"mutability":"mutable","name":"self","nameLocation":"6822:4:10","nodeType":"VariableDeclaration","scope":9456,"src":"6814:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6814:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6813:14:10"},"returnParameters":{"id":9447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9456,"src":"6851:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9445,"name":"string","nodeType":"ElementaryTypeName","src":"6851:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6850:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9469,"nodeType":"FunctionDefinition","src":"6919:117:10","nodes":[],"body":{"id":9468,"nodeType":"Block","src":"6990:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9464,"name":"DIM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8703,"src":"7019:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9465,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9458,"src":"7024:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9463,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"7007:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7007:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9462,"id":9467,"nodeType":"Return","src":"7000:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"6928:3:10","parameters":{"id":9459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9458,"mutability":"mutable","name":"self","nameLocation":"6946:4:10","nodeType":"VariableDeclaration","scope":9469,"src":"6932:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9457,"name":"string","nodeType":"ElementaryTypeName","src":"6932:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6931:20:10"},"returnParameters":{"id":9462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9469,"src":"6975:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9460,"name":"string","nodeType":"ElementaryTypeName","src":"6975:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6974:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9484,"nodeType":"FunctionDefinition","src":"7042:111:10","nodes":[],"body":{"id":9483,"nodeType":"Block","src":"7107:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9479,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9471,"src":"7140:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9477,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7128:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"7128:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7128:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9476,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7124:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7124:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9475,"id":9482,"nodeType":"Return","src":"7117:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7051:3:10","parameters":{"id":9472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9471,"mutability":"mutable","name":"self","nameLocation":"7063:4:10","nodeType":"VariableDeclaration","scope":9484,"src":"7055:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9470,"name":"uint256","nodeType":"ElementaryTypeName","src":"7055:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7054:14:10"},"returnParameters":{"id":9475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9484,"src":"7092:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9473,"name":"string","nodeType":"ElementaryTypeName","src":"7092:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7091:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9499,"nodeType":"FunctionDefinition","src":"7159:110:10","nodes":[],"body":{"id":9498,"nodeType":"Block","src":"7223:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9494,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"7256:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9492,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7244:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"7244:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7244:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9491,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7240:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7240:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9490,"id":9497,"nodeType":"Return","src":"7233:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7168:3:10","parameters":{"id":9487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9486,"mutability":"mutable","name":"self","nameLocation":"7179:4:10","nodeType":"VariableDeclaration","scope":9499,"src":"7172:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9485,"name":"int256","nodeType":"ElementaryTypeName","src":"7172:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7171:13:10"},"returnParameters":{"id":9490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9499,"src":"7208:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9488,"name":"string","nodeType":"ElementaryTypeName","src":"7208:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7207:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9514,"nodeType":"FunctionDefinition","src":"7275:111:10","nodes":[],"body":{"id":9513,"nodeType":"Block","src":"7340:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9509,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9501,"src":"7373:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9507,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7361:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"7361:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7361:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9506,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7357:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7357:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9505,"id":9512,"nodeType":"Return","src":"7350:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7284:3:10","parameters":{"id":9502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9501,"mutability":"mutable","name":"self","nameLocation":"7296:4:10","nodeType":"VariableDeclaration","scope":9514,"src":"7288:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9500,"name":"address","nodeType":"ElementaryTypeName","src":"7288:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7287:14:10"},"returnParameters":{"id":9505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9514,"src":"7325:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9503,"name":"string","nodeType":"ElementaryTypeName","src":"7325:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7324:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9529,"nodeType":"FunctionDefinition","src":"7392:108:10","nodes":[],"body":{"id":9528,"nodeType":"Block","src":"7454:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9524,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9516,"src":"7487:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9522,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7475:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"7475:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7475:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9521,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7471:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7471:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9520,"id":9527,"nodeType":"Return","src":"7464:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7401:3:10","parameters":{"id":9517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9516,"mutability":"mutable","name":"self","nameLocation":"7410:4:10","nodeType":"VariableDeclaration","scope":9529,"src":"7405:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9515,"name":"bool","nodeType":"ElementaryTypeName","src":"7405:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7404:11:10"},"returnParameters":{"id":9520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9529,"src":"7439:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9518,"name":"string","nodeType":"ElementaryTypeName","src":"7439:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7438:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9544,"nodeType":"FunctionDefinition","src":"7506:121:10","nodes":[],"body":{"id":9543,"nodeType":"Block","src":"7581:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9539,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9531,"src":"7614:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9537,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7602:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"7602:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7602:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9536,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7598:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7598:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9535,"id":9542,"nodeType":"Return","src":"7591:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes","nameLocation":"7515:8:10","parameters":{"id":9532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9531,"mutability":"mutable","name":"self","nameLocation":"7537:4:10","nodeType":"VariableDeclaration","scope":9544,"src":"7524:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9530,"name":"bytes","nodeType":"ElementaryTypeName","src":"7524:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7523:19:10"},"returnParameters":{"id":9535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9534,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9544,"src":"7566:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9533,"name":"string","nodeType":"ElementaryTypeName","src":"7566:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7565:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9559,"nodeType":"FunctionDefinition","src":"7633:118:10","nodes":[],"body":{"id":9558,"nodeType":"Block","src":"7705:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9554,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9546,"src":"7738:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9552,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7726:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"7726:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7726:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9551,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7722:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7722:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9550,"id":9557,"nodeType":"Return","src":"7715:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes32","nameLocation":"7642:10:10","parameters":{"id":9547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9546,"mutability":"mutable","name":"self","nameLocation":"7661:4:10","nodeType":"VariableDeclaration","scope":9559,"src":"7653:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7653:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7652:14:10"},"returnParameters":{"id":9550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9559,"src":"7690:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9548,"name":"string","nodeType":"ElementaryTypeName","src":"7690:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7689:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9572,"nodeType":"FunctionDefinition","src":"7757:123:10","nodes":[],"body":{"id":9571,"nodeType":"Block","src":"7831:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9567,"name":"ITALIC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"7860:6:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9568,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9561,"src":"7868:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9566,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"7848:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7848:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9565,"id":9570,"nodeType":"Return","src":"7841:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7766:6:10","parameters":{"id":9562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9561,"mutability":"mutable","name":"self","nameLocation":"7787:4:10","nodeType":"VariableDeclaration","scope":9572,"src":"7773:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9560,"name":"string","nodeType":"ElementaryTypeName","src":"7773:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7772:20:10"},"returnParameters":{"id":9565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9572,"src":"7816:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9563,"name":"string","nodeType":"ElementaryTypeName","src":"7816:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7815:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9587,"nodeType":"FunctionDefinition","src":"7886:117:10","nodes":[],"body":{"id":9586,"nodeType":"Block","src":"7954:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9582,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9574,"src":"7990:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9580,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7978:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"7978:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7978:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9579,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"7971:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7971:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9578,"id":9585,"nodeType":"Return","src":"7964:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7895:6:10","parameters":{"id":9575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9574,"mutability":"mutable","name":"self","nameLocation":"7910:4:10","nodeType":"VariableDeclaration","scope":9587,"src":"7902:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9573,"name":"uint256","nodeType":"ElementaryTypeName","src":"7902:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7901:14:10"},"returnParameters":{"id":9578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9587,"src":"7939:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9576,"name":"string","nodeType":"ElementaryTypeName","src":"7939:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7938:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9602,"nodeType":"FunctionDefinition","src":"8009:116:10","nodes":[],"body":{"id":9601,"nodeType":"Block","src":"8076:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9597,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9589,"src":"8112:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9595,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8100:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"8100:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8100:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9594,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8093:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8093:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9593,"id":9600,"nodeType":"Return","src":"8086:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8018:6:10","parameters":{"id":9590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9589,"mutability":"mutable","name":"self","nameLocation":"8032:4:10","nodeType":"VariableDeclaration","scope":9602,"src":"8025:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9588,"name":"int256","nodeType":"ElementaryTypeName","src":"8025:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8024:13:10"},"returnParameters":{"id":9593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9602,"src":"8061:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9591,"name":"string","nodeType":"ElementaryTypeName","src":"8061:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8060:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9617,"nodeType":"FunctionDefinition","src":"8131:117:10","nodes":[],"body":{"id":9616,"nodeType":"Block","src":"8199:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9612,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9604,"src":"8235:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9610,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8223:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"8223:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8223:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9609,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8216:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8216:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9608,"id":9615,"nodeType":"Return","src":"8209:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8140:6:10","parameters":{"id":9605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9604,"mutability":"mutable","name":"self","nameLocation":"8155:4:10","nodeType":"VariableDeclaration","scope":9617,"src":"8147:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9603,"name":"address","nodeType":"ElementaryTypeName","src":"8147:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8146:14:10"},"returnParameters":{"id":9608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9617,"src":"8184:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9606,"name":"string","nodeType":"ElementaryTypeName","src":"8184:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8183:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9632,"nodeType":"FunctionDefinition","src":"8254:114:10","nodes":[],"body":{"id":9631,"nodeType":"Block","src":"8319:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9627,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9619,"src":"8355:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9625,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8343:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"8343:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8343:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9624,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8336:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8336:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9623,"id":9630,"nodeType":"Return","src":"8329:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8263:6:10","parameters":{"id":9620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9619,"mutability":"mutable","name":"self","nameLocation":"8275:4:10","nodeType":"VariableDeclaration","scope":9632,"src":"8270:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9618,"name":"bool","nodeType":"ElementaryTypeName","src":"8270:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8269:11:10"},"returnParameters":{"id":9623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9632,"src":"8304:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9621,"name":"string","nodeType":"ElementaryTypeName","src":"8304:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8303:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9647,"nodeType":"FunctionDefinition","src":"8374:127:10","nodes":[],"body":{"id":9646,"nodeType":"Block","src":"8452:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9642,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9634,"src":"8488:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9640,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8476:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"8476:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8476:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9639,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8469:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8469:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9638,"id":9645,"nodeType":"Return","src":"8462:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes","nameLocation":"8383:11:10","parameters":{"id":9635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9634,"mutability":"mutable","name":"self","nameLocation":"8408:4:10","nodeType":"VariableDeclaration","scope":9647,"src":"8395:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9633,"name":"bytes","nodeType":"ElementaryTypeName","src":"8395:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8394:19:10"},"returnParameters":{"id":9638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9647,"src":"8437:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9636,"name":"string","nodeType":"ElementaryTypeName","src":"8437:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8436:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9662,"nodeType":"FunctionDefinition","src":"8507:124:10","nodes":[],"body":{"id":9661,"nodeType":"Block","src":"8582:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9657,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9649,"src":"8618:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9655,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8606:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"8606:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8606:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9654,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8599:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8599:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9653,"id":9660,"nodeType":"Return","src":"8592:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes32","nameLocation":"8516:13:10","parameters":{"id":9650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9649,"mutability":"mutable","name":"self","nameLocation":"8538:4:10","nodeType":"VariableDeclaration","scope":9662,"src":"8530:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8530:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8529:14:10"},"returnParameters":{"id":9653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9662,"src":"8567:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9651,"name":"string","nodeType":"ElementaryTypeName","src":"8567:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8566:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9675,"nodeType":"FunctionDefinition","src":"8637:129:10","nodes":[],"body":{"id":9674,"nodeType":"Block","src":"8714:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9670,"name":"UNDERLINE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"8743:9:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9671,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9664,"src":"8754:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9669,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"8731:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8731:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9668,"id":9673,"nodeType":"Return","src":"8724:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8646:9:10","parameters":{"id":9665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9664,"mutability":"mutable","name":"self","nameLocation":"8670:4:10","nodeType":"VariableDeclaration","scope":9675,"src":"8656:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9663,"name":"string","nodeType":"ElementaryTypeName","src":"8656:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8655:20:10"},"returnParameters":{"id":9668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9667,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9675,"src":"8699:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9666,"name":"string","nodeType":"ElementaryTypeName","src":"8699:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8698:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9690,"nodeType":"FunctionDefinition","src":"8772:123:10","nodes":[],"body":{"id":9689,"nodeType":"Block","src":"8843:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9685,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9677,"src":"8882:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9683,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8870:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"8870:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8870:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9682,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"8860:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8860:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9681,"id":9688,"nodeType":"Return","src":"8853:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8781:9:10","parameters":{"id":9678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9677,"mutability":"mutable","name":"self","nameLocation":"8799:4:10","nodeType":"VariableDeclaration","scope":9690,"src":"8791:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9676,"name":"uint256","nodeType":"ElementaryTypeName","src":"8791:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8790:14:10"},"returnParameters":{"id":9681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9690,"src":"8828:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9679,"name":"string","nodeType":"ElementaryTypeName","src":"8828:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8827:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9705,"nodeType":"FunctionDefinition","src":"8901:122:10","nodes":[],"body":{"id":9704,"nodeType":"Block","src":"8971:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9700,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9692,"src":"9010:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9698,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8998:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"8998:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8998:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9697,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"8988:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8988:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9696,"id":9703,"nodeType":"Return","src":"8981:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8910:9:10","parameters":{"id":9693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9692,"mutability":"mutable","name":"self","nameLocation":"8927:4:10","nodeType":"VariableDeclaration","scope":9705,"src":"8920:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9691,"name":"int256","nodeType":"ElementaryTypeName","src":"8920:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8919:13:10"},"returnParameters":{"id":9696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9695,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9705,"src":"8956:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9694,"name":"string","nodeType":"ElementaryTypeName","src":"8956:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8955:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9720,"nodeType":"FunctionDefinition","src":"9029:123:10","nodes":[],"body":{"id":9719,"nodeType":"Block","src":"9100:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9715,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"9139:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9713,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9127:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"9127:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9127:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9712,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"9117:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9117:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9711,"id":9718,"nodeType":"Return","src":"9110:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9038:9:10","parameters":{"id":9708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9707,"mutability":"mutable","name":"self","nameLocation":"9056:4:10","nodeType":"VariableDeclaration","scope":9720,"src":"9048:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9706,"name":"address","nodeType":"ElementaryTypeName","src":"9048:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9047:14:10"},"returnParameters":{"id":9711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9710,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9720,"src":"9085:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9709,"name":"string","nodeType":"ElementaryTypeName","src":"9085:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9084:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9735,"nodeType":"FunctionDefinition","src":"9158:120:10","nodes":[],"body":{"id":9734,"nodeType":"Block","src":"9226:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9730,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9722,"src":"9265:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9728,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9253:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"9253:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9253:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9727,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"9243:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9243:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9726,"id":9733,"nodeType":"Return","src":"9236:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9167:9:10","parameters":{"id":9723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9722,"mutability":"mutable","name":"self","nameLocation":"9182:4:10","nodeType":"VariableDeclaration","scope":9735,"src":"9177:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9721,"name":"bool","nodeType":"ElementaryTypeName","src":"9177:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9176:11:10"},"returnParameters":{"id":9726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9725,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9735,"src":"9211:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9724,"name":"string","nodeType":"ElementaryTypeName","src":"9211:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9210:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9750,"nodeType":"FunctionDefinition","src":"9284:133:10","nodes":[],"body":{"id":9749,"nodeType":"Block","src":"9365:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9745,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9737,"src":"9404:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9743,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9392:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"9392:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9392:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9742,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"9382:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9382:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9741,"id":9748,"nodeType":"Return","src":"9375:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes","nameLocation":"9293:14:10","parameters":{"id":9738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9737,"mutability":"mutable","name":"self","nameLocation":"9321:4:10","nodeType":"VariableDeclaration","scope":9750,"src":"9308:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9736,"name":"bytes","nodeType":"ElementaryTypeName","src":"9308:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9307:19:10"},"returnParameters":{"id":9741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9750,"src":"9350:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9739,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9765,"nodeType":"FunctionDefinition","src":"9423:130:10","nodes":[],"body":{"id":9764,"nodeType":"Block","src":"9501:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9760,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9752,"src":"9540:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9758,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9528:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"9528:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9528:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9757,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"9518:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9518:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9756,"id":9763,"nodeType":"Return","src":"9511:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes32","nameLocation":"9432:16:10","parameters":{"id":9753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9752,"mutability":"mutable","name":"self","nameLocation":"9457:4:10","nodeType":"VariableDeclaration","scope":9765,"src":"9449:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9449:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9448:14:10"},"returnParameters":{"id":9756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9755,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9765,"src":"9486:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9754,"name":"string","nodeType":"ElementaryTypeName","src":"9486:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9485:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9778,"nodeType":"FunctionDefinition","src":"9559:125:10","nodes":[],"body":{"id":9777,"nodeType":"Block","src":"9634:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9773,"name":"INVERSE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8712,"src":"9663:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9774,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9767,"src":"9672:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9772,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"9651:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9651:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9771,"id":9776,"nodeType":"Return","src":"9644:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9568:7:10","parameters":{"id":9768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9767,"mutability":"mutable","name":"self","nameLocation":"9590:4:10","nodeType":"VariableDeclaration","scope":9778,"src":"9576:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9766,"name":"string","nodeType":"ElementaryTypeName","src":"9576:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9575:20:10"},"returnParameters":{"id":9771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9778,"src":"9619:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9769,"name":"string","nodeType":"ElementaryTypeName","src":"9619:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9618:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9793,"nodeType":"FunctionDefinition","src":"9690:119:10","nodes":[],"body":{"id":9792,"nodeType":"Block","src":"9759:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9788,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9780,"src":"9796:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9786,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9784:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"9784:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9784:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9785,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"9776:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9776:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9784,"id":9791,"nodeType":"Return","src":"9769:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9699:7:10","parameters":{"id":9781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9780,"mutability":"mutable","name":"self","nameLocation":"9715:4:10","nodeType":"VariableDeclaration","scope":9793,"src":"9707:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9779,"name":"uint256","nodeType":"ElementaryTypeName","src":"9707:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9706:14:10"},"returnParameters":{"id":9784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9793,"src":"9744:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9782,"name":"string","nodeType":"ElementaryTypeName","src":"9744:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9743:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9808,"nodeType":"FunctionDefinition","src":"9815:118:10","nodes":[],"body":{"id":9807,"nodeType":"Block","src":"9883:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9803,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9795,"src":"9920:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9908:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"9908:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9908:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9800,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"9900:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9900:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9799,"id":9806,"nodeType":"Return","src":"9893:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9824:7:10","parameters":{"id":9796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9795,"mutability":"mutable","name":"self","nameLocation":"9839:4:10","nodeType":"VariableDeclaration","scope":9808,"src":"9832:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9794,"name":"int256","nodeType":"ElementaryTypeName","src":"9832:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9831:13:10"},"returnParameters":{"id":9799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9808,"src":"9868:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9797,"name":"string","nodeType":"ElementaryTypeName","src":"9868:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9867:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9823,"nodeType":"FunctionDefinition","src":"9939:119:10","nodes":[],"body":{"id":9822,"nodeType":"Block","src":"10008:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9818,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9810,"src":"10045:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9816,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"10033:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"10033:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10033:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9815,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"10025:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10025:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9814,"id":9821,"nodeType":"Return","src":"10018:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9948:7:10","parameters":{"id":9811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9810,"mutability":"mutable","name":"self","nameLocation":"9964:4:10","nodeType":"VariableDeclaration","scope":9823,"src":"9956:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9809,"name":"address","nodeType":"ElementaryTypeName","src":"9956:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9955:14:10"},"returnParameters":{"id":9814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9823,"src":"9993:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9812,"name":"string","nodeType":"ElementaryTypeName","src":"9993:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9992:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9838,"nodeType":"FunctionDefinition","src":"10064:116:10","nodes":[],"body":{"id":9837,"nodeType":"Block","src":"10130:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9833,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9825,"src":"10167:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9831,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"10155:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"10155:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10155:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9830,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"10147:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10147:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9829,"id":9836,"nodeType":"Return","src":"10140:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"10073:7:10","parameters":{"id":9826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9825,"mutability":"mutable","name":"self","nameLocation":"10086:4:10","nodeType":"VariableDeclaration","scope":9838,"src":"10081:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9824,"name":"bool","nodeType":"ElementaryTypeName","src":"10081:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10080:11:10"},"returnParameters":{"id":9829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9828,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9838,"src":"10115:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9827,"name":"string","nodeType":"ElementaryTypeName","src":"10115:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10114:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9853,"nodeType":"FunctionDefinition","src":"10186:129:10","nodes":[],"body":{"id":9852,"nodeType":"Block","src":"10265:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9848,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9840,"src":"10302:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9846,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"10290:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"10290:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10290:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9845,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"10282:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10282:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9844,"id":9851,"nodeType":"Return","src":"10275:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes","nameLocation":"10195:12:10","parameters":{"id":9841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9840,"mutability":"mutable","name":"self","nameLocation":"10221:4:10","nodeType":"VariableDeclaration","scope":9853,"src":"10208:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9839,"name":"bytes","nodeType":"ElementaryTypeName","src":"10208:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10207:19:10"},"returnParameters":{"id":9844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9853,"src":"10250:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9842,"name":"string","nodeType":"ElementaryTypeName","src":"10250:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10249:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9868,"nodeType":"FunctionDefinition","src":"10321:126:10","nodes":[],"body":{"id":9867,"nodeType":"Block","src":"10397:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9863,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9855,"src":"10434:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9861,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"10422:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"10422:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10422:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9860,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"10414:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10414:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9859,"id":9866,"nodeType":"Return","src":"10407:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes32","nameLocation":"10330:14:10","parameters":{"id":9856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9855,"mutability":"mutable","name":"self","nameLocation":"10353:4:10","nodeType":"VariableDeclaration","scope":9868,"src":"10345:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10345:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10344:14:10"},"returnParameters":{"id":9859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9868,"src":"10382:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9857,"name":"string","nodeType":"ElementaryTypeName","src":"10382:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10381:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StdStyle","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[9869],"name":"StdStyle","nameLocation":"104:8:10","scope":9870,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdUtils.sol":{"id":11,"ast":{"absolutePath":"lib/forge-std/src/StdUtils.sol","id":10677,"exportedSymbols":{"IMulticall3":[28360],"StdUtils":[10676],"VmSafe":[11690]},"nodeType":"SourceUnit","src":"32:10067:11","nodes":[{"id":9871,"nodeType":"PragmaDirective","src":"32:31:11","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":9872,"nodeType":"PragmaDirective","src":"65:33:11","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":9874,"nodeType":"ImportDirective","src":"100:57:11","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":10677,"sourceUnit":28361,"symbolAliases":[{"foreign":{"id":9873,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28360,"src":"108:11:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$28360_$","typeString":"type(contract IMulticall3)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":9876,"nodeType":"ImportDirective","src":"181:32:11","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":10677,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":9875,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"189:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10676,"nodeType":"ContractDefinition","src":"215:9883:11","nodes":[{"id":9882,"nodeType":"VariableDeclaration","src":"458:96:11","nodes":[],"constant":true,"mutability":"constant","name":"multicall","nameLocation":"487:9:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$28360","typeString":"contract IMulticall3"},"typeName":{"id":9878,"nodeType":"UserDefinedTypeName","pathNode":{"id":9877,"name":"IMulticall3","nodeType":"IdentifierPath","referencedDeclaration":28360,"src":"458:11:11"},"referencedDeclaration":28360,"src":"458:11:11","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$28360","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":9880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"511:42:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9879,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28360,"src":"499:11:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$28360_$","typeString":"type(contract IMulticall3)"}},"id":9881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"499:55:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$28360","typeString":"contract IMulticall3"}},"visibility":"private"},{"id":9899,"nodeType":"VariableDeclaration","src":"560:92:11","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"584:2:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"},"typeName":{"id":9884,"nodeType":"UserDefinedTypeName","pathNode":{"id":9883,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"560:6:11"},"referencedDeclaration":11690,"src":"560:6:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":9893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"630:17:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":9892,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"620:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"620:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"612:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9890,"name":"uint256","nodeType":"ElementaryTypeName","src":"612:7:11","typeDescriptions":{}}},"id":9895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"612:37:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"604:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":9888,"name":"uint160","nodeType":"ElementaryTypeName","src":"604:7:11","typeDescriptions":{}}},"id":9896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"604:46:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"596:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9886,"name":"address","nodeType":"ElementaryTypeName","src":"596:7:11","typeDescriptions":{}}},"id":9897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"596:55:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9885,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"589:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"id":9898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"589:63:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"visibility":"private"},{"id":9902,"nodeType":"VariableDeclaration","src":"658:86:11","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"683:16:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9900,"name":"address","nodeType":"ElementaryTypeName","src":"658:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":9901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"702:42:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"id":9905,"nodeType":"VariableDeclaration","src":"750:127:11","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN_ABS","nameLocation":"775:14:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9903,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":9904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"800:77:11","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"visibility":"private"},{"id":9908,"nodeType":"VariableDeclaration","src":"883:125:11","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"908:11:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9906,"name":"uint256","nodeType":"ElementaryTypeName","src":"883:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":9907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"930:78:11","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"id":9911,"nodeType":"VariableDeclaration","src":"1127:85:11","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"1152:15:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9909,"name":"address","nodeType":"ElementaryTypeName","src":"1127:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":9910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1170:42:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"private"},{"id":10041,"nodeType":"FunctionDefinition","src":"1434:1263:11","nodes":[],"body":{"id":10040,"nodeType":"Block","src":"1534:1163:11","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9923,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"1552:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":9924,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"1559:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1552:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":9926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1564:64:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""},"value":"StdUtils bound(uint256,uint256,uint256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""}],"id":9922,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1544:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1544:85:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9928,"nodeType":"ExpressionStatement","src":"1544:85:11"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9929,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"1858:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":9930,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"1863:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1858:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9932,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"1870:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":9933,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"1875:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1870:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1858:20:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9938,"nodeType":"IfStatement","src":"1854:34:11","trueBody":{"expression":{"id":9936,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"1887:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":9937,"nodeType":"Return","src":"1880:8:11"}},{"assignments":[9940],"declarations":[{"constant":false,"id":9940,"mutability":"mutable","name":"size","nameLocation":"1907:4:11","nodeType":"VariableDeclaration","scope":10040,"src":"1899:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9939,"name":"uint256","nodeType":"ElementaryTypeName","src":"1899:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9946,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9941,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"1914:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9942,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"1920:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1914:9:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":9944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1926:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1914:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1899:28:11"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9947,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2117:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"33","id":9948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2122:1:11","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2117:6:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9950,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9940,"src":"2127:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":9951,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2134:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2127:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2117:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9958,"nodeType":"IfStatement","src":"2113:38:11","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9954,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2144:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":9955,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2150:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2144:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":9957,"nodeType":"Return","src":"2137:14:11"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9959,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2165:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":9960,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9908,"src":"2170:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"33","id":9961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2184:1:11","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2170:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2165:20:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9964,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9940,"src":"2189:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9965,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9908,"src":"2196:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9966,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2210:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2196:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2189:22:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2165:46:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9977,"nodeType":"IfStatement","src":"2161:82:11","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9970,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2220:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9971,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9908,"src":"2227:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9972,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2241:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2227:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9974,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2226:17:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2220:23:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":9976,"nodeType":"Return","src":"2213:30:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9978,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2343:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":9979,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2347:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2343:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10008,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2522:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10009,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2526:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2522:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10038,"nodeType":"IfStatement","src":"2518:173:11","trueBody":{"id":10037,"nodeType":"Block","src":"2531:160:11","statements":[{"assignments":[10012],"declarations":[{"constant":false,"id":10012,"mutability":"mutable","name":"diff","nameLocation":"2553:4:11","nodeType":"VariableDeclaration","scope":10037,"src":"2545:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10011,"name":"uint256","nodeType":"ElementaryTypeName","src":"2545:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10016,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10013,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2560:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10014,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2566:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2560:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2545:22:11"},{"assignments":[10018],"declarations":[{"constant":false,"id":10018,"mutability":"mutable","name":"rem","nameLocation":"2589:3:11","nodeType":"VariableDeclaration","scope":10037,"src":"2581:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10017,"name":"uint256","nodeType":"ElementaryTypeName","src":"2581:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10022,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10019,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10012,"src":"2595:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":10020,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9940,"src":"2602:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2595:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2581:25:11"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10023,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10018,"src":"2624:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2631:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2624:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10028,"nodeType":"IfStatement","src":"2620:24:11","trueBody":{"expression":{"id":10026,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2641:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":10027,"nodeType":"Return","src":"2634:10:11"}},{"expression":{"id":10035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10029,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9920,"src":"2658:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10030,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2667:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10031,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10018,"src":"2673:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2667:9:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2679:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2667:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2658:22:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10036,"nodeType":"ExpressionStatement","src":"2658:22:11"}]}},"id":10039,"nodeType":"IfStatement","src":"2339:352:11","trueBody":{"id":10007,"nodeType":"Block","src":"2352:160:11","statements":[{"assignments":[9982],"declarations":[{"constant":false,"id":9982,"mutability":"mutable","name":"diff","nameLocation":"2374:4:11","nodeType":"VariableDeclaration","scope":10007,"src":"2366:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9981,"name":"uint256","nodeType":"ElementaryTypeName","src":"2366:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9986,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9983,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2381:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9984,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2385:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2381:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2366:22:11"},{"assignments":[9988],"declarations":[{"constant":false,"id":9988,"mutability":"mutable","name":"rem","nameLocation":"2410:3:11","nodeType":"VariableDeclaration","scope":10007,"src":"2402:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9987,"name":"uint256","nodeType":"ElementaryTypeName","src":"2402:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9992,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9989,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"2416:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":9990,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9940,"src":"2423:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2416:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2402:25:11"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9993,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9988,"src":"2445:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2452:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2445:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9998,"nodeType":"IfStatement","src":"2441:24:11","trueBody":{"expression":{"id":9996,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2462:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":9997,"nodeType":"Return","src":"2455:10:11"}},{"expression":{"id":10005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9999,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9920,"src":"2479:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10000,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2488:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":10001,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9988,"src":"2494:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2488:9:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2500:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2488:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2479:22:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10006,"nodeType":"ExpressionStatement","src":"2479:22:11"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"1443:6:11","parameters":{"id":9918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9913,"mutability":"mutable","name":"x","nameLocation":"1458:1:11","nodeType":"VariableDeclaration","scope":10041,"src":"1450:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9912,"name":"uint256","nodeType":"ElementaryTypeName","src":"1450:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9915,"mutability":"mutable","name":"min","nameLocation":"1469:3:11","nodeType":"VariableDeclaration","scope":10041,"src":"1461:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9914,"name":"uint256","nodeType":"ElementaryTypeName","src":"1461:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9917,"mutability":"mutable","name":"max","nameLocation":"1482:3:11","nodeType":"VariableDeclaration","scope":10041,"src":"1474:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9916,"name":"uint256","nodeType":"ElementaryTypeName","src":"1474:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1449:37:11"},"returnParameters":{"id":9921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9920,"mutability":"mutable","name":"result","nameLocation":"1526:6:11","nodeType":"VariableDeclaration","scope":10041,"src":"1518:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9919,"name":"uint256","nodeType":"ElementaryTypeName","src":"1518:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1517:16:11"},"scope":10676,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":10066,"nodeType":"FunctionDefinition","src":"2703:190:11","nodes":[],"body":{"id":10065,"nodeType":"Block","src":"2802:91:11","nodes":[],"statements":[{"expression":{"id":10058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10052,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10050,"src":"2812:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10054,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10043,"src":"2828:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10055,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10045,"src":"2831:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10056,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10047,"src":"2836:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10053,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10041,"src":"2821:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":10057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2821:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2812:28:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10059,"nodeType":"ExpressionStatement","src":"2812:28:11"},{"expression":{"arguments":[{"hexValue":"426f756e6420526573756c74","id":10061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2863:14:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52","typeString":"literal_string \"Bound Result\""},"value":"Bound Result"},{"id":10062,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10050,"src":"2879:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52","typeString":"literal_string \"Bound Result\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10060,"name":"console2_log","nodeType":"Identifier","overloadedDeclarations":[10650,10675],"referencedDeclaration":10650,"src":"2850:12:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":10063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2850:36:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10064,"nodeType":"ExpressionStatement","src":"2850:36:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2712:5:11","parameters":{"id":10048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10043,"mutability":"mutable","name":"x","nameLocation":"2726:1:11","nodeType":"VariableDeclaration","scope":10066,"src":"2718:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10042,"name":"uint256","nodeType":"ElementaryTypeName","src":"2718:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10045,"mutability":"mutable","name":"min","nameLocation":"2737:3:11","nodeType":"VariableDeclaration","scope":10066,"src":"2729:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10044,"name":"uint256","nodeType":"ElementaryTypeName","src":"2729:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10047,"mutability":"mutable","name":"max","nameLocation":"2750:3:11","nodeType":"VariableDeclaration","scope":10066,"src":"2742:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10046,"name":"uint256","nodeType":"ElementaryTypeName","src":"2742:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2717:37:11"},"returnParameters":{"id":10051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10050,"mutability":"mutable","name":"result","nameLocation":"2794:6:11","nodeType":"VariableDeclaration","scope":10066,"src":"2786:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10049,"name":"uint256","nodeType":"ElementaryTypeName","src":"2786:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2785:16:11"},"scope":10676,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":10196,"nodeType":"FunctionDefinition","src":"2899:1203:11","nodes":[],"body":{"id":10195,"nodeType":"Block","src":"2994:1108:11","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":10080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10078,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"3012:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":10079,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"3019:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3012:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":10081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3024:61:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""},"value":"StdUtils bound(int256,int256,int256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""}],"id":10077,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3004:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3004:82:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10083,"nodeType":"ExpressionStatement","src":"3004:82:11"},{"assignments":[10085],"declarations":[{"constant":false,"id":10085,"mutability":"mutable","name":"_x","nameLocation":"3522:2:11","nodeType":"VariableDeclaration","scope":10195,"src":"3514:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10084,"name":"uint256","nodeType":"ElementaryTypeName","src":"3514:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10107,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":10088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10086,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10068,"src":"3527:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":10087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3531:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3527:5:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10101,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10068,"src":"3581:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3573:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10099,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:11","typeDescriptions":{}}},"id":10102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3573:10:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":10103,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3586:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3573:27:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10105,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3572:29:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3527:74:11","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10089,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3536:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3553:11:11","subExpression":{"arguments":[{"id":10092,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10068,"src":"3562:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3554:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10090,"name":"uint256","nodeType":"ElementaryTypeName","src":"3554:7:11","typeDescriptions":{}}},"id":10093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3554:10:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3536:28:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3567:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3536:32:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10098,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3535:34:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3514:87:11"},{"assignments":[10109],"declarations":[{"constant":false,"id":10109,"mutability":"mutable","name":"_min","nameLocation":"3619:4:11","nodeType":"VariableDeclaration","scope":10195,"src":"3611:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10108,"name":"uint256","nodeType":"ElementaryTypeName","src":"3611:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10131,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":10112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10110,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"3626:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":10111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3632:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3626:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10125,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"3684:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3676:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10123,"name":"uint256","nodeType":"ElementaryTypeName","src":"3676:7:11","typeDescriptions":{}}},"id":10126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3676:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":10127,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3691:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3676:29:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10129,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3675:31:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3626:80:11","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10113,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3637:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3654:13:11","subExpression":{"arguments":[{"id":10116,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"3663:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3655:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10114,"name":"uint256","nodeType":"ElementaryTypeName","src":"3655:7:11","typeDescriptions":{}}},"id":10117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3655:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3637:30:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3670:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3637:34:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10122,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3636:36:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3611:95:11"},{"assignments":[10133],"declarations":[{"constant":false,"id":10133,"mutability":"mutable","name":"_max","nameLocation":"3724:4:11","nodeType":"VariableDeclaration","scope":10195,"src":"3716:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10132,"name":"uint256","nodeType":"ElementaryTypeName","src":"3716:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10155,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":10136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10134,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"3731:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":10135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3737:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3731:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10149,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"3789:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3781:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10147,"name":"uint256","nodeType":"ElementaryTypeName","src":"3781:7:11","typeDescriptions":{}}},"id":10150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3781:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":10151,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3796:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3781:29:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3780:31:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3731:80:11","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10137,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3742:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3759:13:11","subExpression":{"arguments":[{"id":10140,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"3768:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3760:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10138,"name":"uint256","nodeType":"ElementaryTypeName","src":"3760:7:11","typeDescriptions":{}}},"id":10141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3760:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3742:30:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3775:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3742:34:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10146,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3741:36:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3716:95:11"},{"assignments":[10157],"declarations":[{"constant":false,"id":10157,"mutability":"mutable","name":"y","nameLocation":"3830:1:11","nodeType":"VariableDeclaration","scope":10195,"src":"3822:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10156,"name":"uint256","nodeType":"ElementaryTypeName","src":"3822:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10163,"initialValue":{"arguments":[{"id":10159,"name":"_x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10085,"src":"3841:2:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10160,"name":"_min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10109,"src":"3845:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10161,"name":"_max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10133,"src":"3851:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10158,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10041,"src":"3834:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":10162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3834:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3822:34:11"},{"expression":{"id":10185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10164,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10075,"src":"3944:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10165,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"3953:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10166,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3957:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3953:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10180,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"4017:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10181,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"4021:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4017:18:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4010:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":10178,"name":"int256","nodeType":"ElementaryTypeName","src":"4010:6:11","typeDescriptions":{}}},"id":10183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4010:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":10184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3953:83:11","trueExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3981:21:11","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10170,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3983:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10171,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"4000:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3983:18:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10173,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3982:20:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4005:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3981:25:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3974:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":10168,"name":"int256","nodeType":"ElementaryTypeName","src":"3974:6:11","typeDescriptions":{}}},"id":10177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3974:33:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3944:92:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":10186,"nodeType":"ExpressionStatement","src":"3944:92:11"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":10188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4059:14:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"arguments":[{"id":10191,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10075,"src":"4087:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10189,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9899,"src":"4075:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":10190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"4075:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4075:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10187,"name":"console2_log","nodeType":"Identifier","overloadedDeclarations":[10650,10675],"referencedDeclaration":10675,"src":"4046:12:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) view"}},"id":10193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4046:49:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10194,"nodeType":"ExpressionStatement","src":"4046:49:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2908:5:11","parameters":{"id":10073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10068,"mutability":"mutable","name":"x","nameLocation":"2921:1:11","nodeType":"VariableDeclaration","scope":10196,"src":"2914:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10067,"name":"int256","nodeType":"ElementaryTypeName","src":"2914:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":10070,"mutability":"mutable","name":"min","nameLocation":"2931:3:11","nodeType":"VariableDeclaration","scope":10196,"src":"2924:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10069,"name":"int256","nodeType":"ElementaryTypeName","src":"2924:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":10072,"mutability":"mutable","name":"max","nameLocation":"2943:3:11","nodeType":"VariableDeclaration","scope":10196,"src":"2936:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10071,"name":"int256","nodeType":"ElementaryTypeName","src":"2936:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2913:34:11"},"returnParameters":{"id":10076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10075,"mutability":"mutable","name":"result","nameLocation":"2986:6:11","nodeType":"VariableDeclaration","scope":10196,"src":"2979:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10074,"name":"int256","nodeType":"ElementaryTypeName","src":"2979:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2978:15:11"},"scope":10676,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":10230,"nodeType":"FunctionDefinition","src":"4108:259:11","nodes":[],"body":{"id":10229,"nodeType":"Block","src":"4185:182:11","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10204,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10198,"src":"4203:1:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4203:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":10206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4215:2:11","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"4203:14:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c73206279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":10208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4219:55:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdUtils bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":10203,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4195:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4195:80:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10210,"nodeType":"ExpressionStatement","src":"4195:80:11"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":10217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4330:2:11","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":10218,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10198,"src":"4335:1:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4335:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4330:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4320:9:11","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":10215,"name":"bytes","nodeType":"ElementaryTypeName","src":"4324:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":10221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4320:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":10222,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10198,"src":"4346:1:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10213,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4303:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4303:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4303:45:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":10225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4351:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10224,"name":"uint256","nodeType":"ElementaryTypeName","src":"4351:7:11","typeDescriptions":{}}}],"id":10226,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4350:9:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":10211,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4292:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"4292:10:11","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4292:68:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10202,"id":10228,"nodeType":"Return","src":"4285:75:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToUint","nameLocation":"4117:11:11","parameters":{"id":10199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10198,"mutability":"mutable","name":"b","nameLocation":"4142:1:11","nodeType":"VariableDeclaration","scope":10230,"src":"4129:14:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10197,"name":"bytes","nodeType":"ElementaryTypeName","src":"4129:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4128:16:11"},"returnParameters":{"id":10202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10230,"src":"4176:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10200,"name":"uint256","nodeType":"ElementaryTypeName","src":"4176:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4175:9:11"},"scope":10676,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":10415,"nodeType":"FunctionDefinition","src":"4601:1962:11","nodes":[],"body":{"id":10414,"nodeType":"Block","src":"4704:1859:11","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10240,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5030:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783030","id":10241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5039:4:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"src":"5030:13:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10264,"nodeType":"IfStatement","src":"5026:134:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786436","id":10249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5114:4:11","typeDescriptions":{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"},"value":"0xd6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"}],"id":10248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5107:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10247,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5107:6:11","typeDescriptions":{}}},"id":10250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5107:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5128:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5121:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10251,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5121:6:11","typeDescriptions":{}}},"id":10254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5121:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10255,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5135:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783830","id":10258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5152:4:11","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}],"id":10257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5145:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10256,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5145:6:11","typeDescriptions":{}}},"id":10259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5145:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":10245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5090:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5090:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5090:68:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10244,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5080:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5080:79:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10243,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5057:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5057:103:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10263,"nodeType":"Return","src":"5050:110:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10265,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5174:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783766","id":10266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5183:4:11","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"0x7f"},"src":"5174:13:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10289,"nodeType":"IfStatement","src":"5170:134:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786436","id":10274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5258:4:11","typeDescriptions":{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"},"value":"0xd6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"}],"id":10273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5251:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10272,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5251:6:11","typeDescriptions":{}}},"id":10275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5251:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5272:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5265:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10276,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5265:6:11","typeDescriptions":{}}},"id":10279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5265:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10280,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5279:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":10283,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5295:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5289:5:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":10281,"name":"uint8","nodeType":"ElementaryTypeName","src":"5289:5:11","typeDescriptions":{}}},"id":10284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5289:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":10270,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5234:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5234:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5234:68:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10269,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5224:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5224:79:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10268,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5201:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5201:103:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10288,"nodeType":"Return","src":"5194:110:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10290,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5457:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"id":10295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":10293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":10291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5466:1:11","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":10292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5469:1:11","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"5466:4:11","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5473:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5466:8:11","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}},"src":"5457:17:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10322,"nodeType":"IfStatement","src":"5453:148:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786437","id":10303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5541:4:11","typeDescriptions":{"typeIdentifier":"t_rational_215_by_1","typeString":"int_const 215"},"value":"0xd7"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_215_by_1","typeString":"int_const 215"}],"id":10302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5534:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10301,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5534:6:11","typeDescriptions":{}}},"id":10304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5534:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5555:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5548:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10305,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5548:6:11","typeDescriptions":{}}},"id":10308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5548:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10309,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5562:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783831","id":10312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5579:4:11","typeDescriptions":{"typeIdentifier":"t_rational_129_by_1","typeString":"int_const 129"},"value":"0x81"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_129_by_1","typeString":"int_const 129"}],"id":10311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5572:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10310,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5572:6:11","typeDescriptions":{}}},"id":10313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5572:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":10316,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5592:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5586:5:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":10314,"name":"uint8","nodeType":"ElementaryTypeName","src":"5586:5:11","typeDescriptions":{}}},"id":10317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5586:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":10299,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5517:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5517:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5517:82:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10298,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5507:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5507:93:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10297,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5484:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5484:117:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10321,"nodeType":"Return","src":"5477:124:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10323,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5615:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"},"id":10328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"id":10326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":10324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5624:1:11","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":10325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5627:2:11","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"5624:5:11","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5632:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5624:9:11","typeDescriptions":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"}},"src":"5615:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10355,"nodeType":"IfStatement","src":"5611:149:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786438","id":10336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5699:4:11","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"0xd8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"}],"id":10335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5692:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10334,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5692:6:11","typeDescriptions":{}}},"id":10337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5692:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5713:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5706:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10338,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5706:6:11","typeDescriptions":{}}},"id":10341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5706:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10342,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5720:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783832","id":10345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5737:4:11","typeDescriptions":{"typeIdentifier":"t_rational_130_by_1","typeString":"int_const 130"},"value":"0x82"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_130_by_1","typeString":"int_const 130"}],"id":10344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5730:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10343,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5730:6:11","typeDescriptions":{}}},"id":10346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5730:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":10349,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5751:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5744:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":10347,"name":"uint16","nodeType":"ElementaryTypeName","src":"5744:6:11","typeDescriptions":{}}},"id":10350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5744:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint16","typeString":"uint16"}],"expression":{"id":10332,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5675:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5675:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5675:83:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10331,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5665:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5665:94:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10330,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5642:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5642:118:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10354,"nodeType":"Return","src":"5635:125:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10356,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5774:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_16777215_by_1","typeString":"int_const 16777215"},"id":10361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_16777216_by_1","typeString":"int_const 16777216"},"id":10359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":10357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5783:1:11","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3234","id":10358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5786:2:11","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"src":"5783:5:11","typeDescriptions":{"typeIdentifier":"t_rational_16777216_by_1","typeString":"int_const 16777216"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5791:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5783:9:11","typeDescriptions":{"typeIdentifier":"t_rational_16777215_by_1","typeString":"int_const 16777215"}},"src":"5774:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10388,"nodeType":"IfStatement","src":"5770:149:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786439","id":10369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5858:4:11","typeDescriptions":{"typeIdentifier":"t_rational_217_by_1","typeString":"int_const 217"},"value":"0xd9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_217_by_1","typeString":"int_const 217"}],"id":10368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5851:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10367,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5851:6:11","typeDescriptions":{}}},"id":10370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5851:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5872:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5865:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10371,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5865:6:11","typeDescriptions":{}}},"id":10374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5865:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10375,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5879:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783833","id":10378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5896:4:11","typeDescriptions":{"typeIdentifier":"t_rational_131_by_1","typeString":"int_const 131"},"value":"0x83"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_131_by_1","typeString":"int_const 131"}],"id":10377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5889:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10376,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5889:6:11","typeDescriptions":{}}},"id":10379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5889:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":10382,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5910:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5903:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":10380,"name":"uint24","nodeType":"ElementaryTypeName","src":"5903:6:11","typeDescriptions":{}}},"id":10383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5903:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"id":10365,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5834:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5834:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5834:83:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10364,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5824:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5824:94:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10363,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5801:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5801:118:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10387,"nodeType":"Return","src":"5794:125:11"}},{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786461","id":10395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6486:4:11","typeDescriptions":{"typeIdentifier":"t_rational_218_by_1","typeString":"int_const 218"},"value":"0xda"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_218_by_1","typeString":"int_const 218"}],"id":10394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6479:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10393,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6479:6:11","typeDescriptions":{}}},"id":10396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6479:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6500:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6493:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10397,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6493:6:11","typeDescriptions":{}}},"id":10400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6493:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10401,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"6507:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783834","id":10404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6524:4:11","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":10403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6517:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10402,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6517:6:11","typeDescriptions":{}}},"id":10405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6517:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":10408,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"6538:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6531:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":10406,"name":"uint32","nodeType":"ElementaryTypeName","src":"6531:6:11","typeDescriptions":{}}},"id":10409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6531:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":10391,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6462:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6462:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6462:83:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10390,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6452:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6452:94:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10389,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"6416:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6416:140:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10413,"nodeType":"Return","src":"6409:147:11"}]},"documentation":{"id":10231,"nodeType":"StructuredDocumentation","src":"4373:223:11","text":"@dev Compute the address a contract will be deployed at for a given deployer address and nonce\n @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"4610:20:11","parameters":{"id":10236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10233,"mutability":"mutable","name":"deployer","nameLocation":"4639:8:11","nodeType":"VariableDeclaration","scope":10415,"src":"4631:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10232,"name":"address","nodeType":"ElementaryTypeName","src":"4631:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10235,"mutability":"mutable","name":"nonce","nameLocation":"4657:5:11","nodeType":"VariableDeclaration","scope":10415,"src":"4649:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10234,"name":"uint256","nodeType":"ElementaryTypeName","src":"4649:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4630:33:11"},"returnParameters":{"id":10239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10415,"src":"4695:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10237,"name":"address","nodeType":"ElementaryTypeName","src":"4695:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4694:9:11"},"scope":10676,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":10442,"nodeType":"FunctionDefinition","src":"6569:280:11","nodes":[],"body":{"id":10441,"nodeType":"Block","src":"6730:119:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":10432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6804:4:11","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":10431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6797:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10430,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6797:6:11","typeDescriptions":{}}},"id":10433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6797:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10434,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10421,"src":"6811:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10435,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10417,"src":"6821:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10436,"name":"initcodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10419,"src":"6827:12:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6780:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6780:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6780:60:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10427,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6770:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6770:71:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10426,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"6747:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6747:95:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10425,"id":10440,"nodeType":"Return","src":"6740:102:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"6578:21:11","parameters":{"id":10422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10417,"mutability":"mutable","name":"salt","nameLocation":"6608:4:11","nodeType":"VariableDeclaration","scope":10442,"src":"6600:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6600:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10419,"mutability":"mutable","name":"initcodeHash","nameLocation":"6622:12:11","nodeType":"VariableDeclaration","scope":10442,"src":"6614:20:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6614:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10421,"mutability":"mutable","name":"deployer","nameLocation":"6644:8:11","nodeType":"VariableDeclaration","scope":10442,"src":"6636:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10420,"name":"address","nodeType":"ElementaryTypeName","src":"6636:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6599:54:11"},"returnParameters":{"id":10425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10442,"src":"6717:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10423,"name":"address","nodeType":"ElementaryTypeName","src":"6717:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6716:9:11"},"scope":10676,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":10459,"nodeType":"FunctionDefinition","src":"6958:181:11","nodes":[],"body":{"id":10458,"nodeType":"Block","src":"7057:82:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10453,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10445,"src":"7096:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10454,"name":"initCodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"7102:12:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10455,"name":"CREATE2_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9911,"src":"7116:15:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":10452,"name":"computeCreate2Address","nodeType":"Identifier","overloadedDeclarations":[10442,10459],"referencedDeclaration":10442,"src":"7074:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$","typeString":"function (bytes32,bytes32,address) pure returns (address)"}},"id":10456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7074:58:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10451,"id":10457,"nodeType":"Return","src":"7067:65:11"}]},"documentation":{"id":10443,"nodeType":"StructuredDocumentation","src":"6855:98:11","text":"@dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"6967:21:11","parameters":{"id":10448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10445,"mutability":"mutable","name":"salt","nameLocation":"6997:4:11","nodeType":"VariableDeclaration","scope":10459,"src":"6989:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6989:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10447,"mutability":"mutable","name":"initCodeHash","nameLocation":"7011:12:11","nodeType":"VariableDeclaration","scope":10459,"src":"7003:20:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7003:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6988:36:11"},"returnParameters":{"id":10451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10450,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10459,"src":"7048:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10449,"name":"address","nodeType":"ElementaryTypeName","src":"7048:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7047:9:11"},"scope":10676,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10473,"nodeType":"FunctionDefinition","src":"7363:135:11","nodes":[],"body":{"id":10472,"nodeType":"Block","src":"7444:54:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10468,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10462,"src":"7474:12:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"","id":10469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7488:2:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":10467,"name":"hashInitCode","nodeType":"Identifier","overloadedDeclarations":[10473,10492],"referencedDeclaration":10492,"src":"7461:12:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory,bytes memory) pure returns (bytes32)"}},"id":10470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7461:30:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10466,"id":10471,"nodeType":"Return","src":"7454:37:11"}]},"documentation":{"id":10460,"nodeType":"StructuredDocumentation","src":"7145:213:11","text":"@dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"7372:12:11","parameters":{"id":10463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10462,"mutability":"mutable","name":"creationCode","nameLocation":"7398:12:11","nodeType":"VariableDeclaration","scope":10473,"src":"7385:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10461,"name":"bytes","nodeType":"ElementaryTypeName","src":"7385:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7384:27:11"},"returnParameters":{"id":10466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10473,"src":"7435:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7435:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7434:9:11"},"scope":10676,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10492,"nodeType":"FunctionDefinition","src":"7771:171:11","nodes":[],"body":{"id":10491,"nodeType":"Block","src":"7871:71:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10486,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10476,"src":"7915:12:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":10487,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10478,"src":"7929:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7898:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"7898:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7898:36:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10483,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7888:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7888:47:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10482,"id":10490,"nodeType":"Return","src":"7881:54:11"}]},"documentation":{"id":10474,"nodeType":"StructuredDocumentation","src":"7504:262:11","text":"@dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n @param args the ABI-encoded arguments to the constructor of C"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"7780:12:11","parameters":{"id":10479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10476,"mutability":"mutable","name":"creationCode","nameLocation":"7806:12:11","nodeType":"VariableDeclaration","scope":10492,"src":"7793:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10475,"name":"bytes","nodeType":"ElementaryTypeName","src":"7793:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":10478,"mutability":"mutable","name":"args","nameLocation":"7833:4:11","nodeType":"VariableDeclaration","scope":10492,"src":"7820:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10477,"name":"bytes","nodeType":"ElementaryTypeName","src":"7820:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7792:46:11"},"returnParameters":{"id":10482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10492,"src":"7862:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7862:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7861:9:11"},"scope":10676,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10606,"nodeType":"FunctionDefinition","src":"8053:1124:11","nodes":[],"body":{"id":10605,"nodeType":"Block","src":"8203:974:11","nodes":[],"statements":[{"assignments":[10504],"declarations":[{"constant":false,"id":10504,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"8221:13:11","nodeType":"VariableDeclaration","scope":10605,"src":"8213:21:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10503,"name":"uint256","nodeType":"ElementaryTypeName","src":"8213:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10505,"nodeType":"VariableDeclarationStatement","src":"8213:21:11"},{"AST":{"nodeType":"YulBlock","src":"8253:59:11","statements":[{"nodeType":"YulAssignment","src":"8267:35:11","value":{"arguments":[{"name":"token","nodeType":"YulIdentifier","src":"8296:5:11"}],"functionName":{"name":"extcodesize","nodeType":"YulIdentifier","src":"8284:11:11"},"nodeType":"YulFunctionCall","src":"8284:18:11"},"variableNames":[{"name":"tokenCodeSize","nodeType":"YulIdentifier","src":"8267:13:11"}]}]},"evmVersion":"london","externalReferences":[{"declaration":10494,"isOffset":false,"isSlot":false,"src":"8296:5:11","valueSize":1},{"declaration":10504,"isOffset":false,"isSlot":false,"src":"8267:13:11","valueSize":1}],"id":10506,"nodeType":"InlineAssembly","src":"8244:68:11"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10508,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10504,"src":"8329:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":10509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8345:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8329:17:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320676574546f6b656e42616c616e63657328616464726573732c616464726573735b5d293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":10511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8348:80:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""},"value":"StdUtils getTokenBalances(address,address[]): Token address is not a contract."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""}],"id":10507,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8321:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8321:108:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10513,"nodeType":"ExpressionStatement","src":"8321:108:11"},{"assignments":[10515],"declarations":[{"constant":false,"id":10515,"mutability":"mutable","name":"length","nameLocation":"8504:6:11","nodeType":"VariableDeclaration","scope":10605,"src":"8496:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10514,"name":"uint256","nodeType":"ElementaryTypeName","src":"8496:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10518,"initialValue":{"expression":{"id":10516,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10497,"src":"8513:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":10517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8513:16:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8496:33:11"},{"assignments":[10524],"declarations":[{"constant":false,"id":10524,"mutability":"mutable","name":"calls","nameLocation":"8565:5:11","nodeType":"VariableDeclaration","scope":10605,"src":"8539:31:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":10522,"nodeType":"UserDefinedTypeName","pathNode":{"id":10521,"name":"IMulticall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"8539:16:11"},"referencedDeclaration":28205,"src":"8539:16:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":10523,"nodeType":"ArrayTypeName","src":"8539:18:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"id":10531,"initialValue":{"arguments":[{"id":10529,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"8596:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8573:22:11","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call memory[] memory)"},"typeName":{"baseType":{"id":10526,"nodeType":"UserDefinedTypeName","pathNode":{"id":10525,"name":"IMulticall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"8577:16:11"},"referencedDeclaration":28205,"src":"8577:16:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":10527,"nodeType":"ArrayTypeName","src":"8577:18:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}}},"id":10530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8573:30:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8539:64:11"},{"body":{"id":10559,"nodeType":"Block","src":"8650:189:11","statements":[{"expression":{"id":10557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":10542,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10524,"src":"8722:5:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"id":10544,"indexExpression":{"id":10543,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"8728:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8722:8:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10547,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10494,"src":"8759:5:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783730613038323331","id":10550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8799:10:11","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"components":[{"baseExpression":{"id":10551,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10497,"src":"8812:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":10553,"indexExpression":{"id":10552,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"8822:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8812:12:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":10554,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8811:14:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10548,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8776:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8776:22:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":10555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8776:50:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10545,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28360,"src":"8733:11:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$28360_$","typeString":"type(contract IMulticall3)"}},"id":10546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28205,"src":"8733:16:11","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28205_storage_ptr_$","typeString":"type(struct IMulticall3.Call storage pointer)"}},"id":10556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["target","callData"],"nodeType":"FunctionCall","src":"8733:95:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"src":"8722:106:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"id":10558,"nodeType":"ExpressionStatement","src":"8722:106:11"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10536,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"8633:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10537,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"8637:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8633:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10560,"initializationExpression":{"assignments":[10533],"declarations":[{"constant":false,"id":10533,"mutability":"mutable","name":"i","nameLocation":"8626:1:11","nodeType":"VariableDeclaration","scope":10560,"src":"8618:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10532,"name":"uint256","nodeType":"ElementaryTypeName","src":"8618:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10535,"initialValue":{"hexValue":"30","id":10534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8630:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8618:13:11"},"loopExpression":{"expression":{"id":10540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"8645:3:11","subExpression":{"id":10539,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"8647:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10541,"nodeType":"ExpressionStatement","src":"8645:3:11"},"nodeType":"ForStatement","src":"8613:226:11"},{"assignments":[null,10565],"declarations":[null,{"constant":false,"id":10565,"mutability":"mutable","name":"returnData","nameLocation":"8903:10:11","nodeType":"VariableDeclaration","scope":10605,"src":"8888:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":10563,"name":"bytes","nodeType":"ElementaryTypeName","src":"8888:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":10564,"nodeType":"ArrayTypeName","src":"8888:7:11","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":10570,"initialValue":{"arguments":[{"id":10568,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10524,"src":"8937:5:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}],"expression":{"id":10566,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9882,"src":"8917:9:11","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$28360","typeString":"contract IMulticall3"}},"id":10567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28238,"src":"8917:19:11","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct IMulticall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":10569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8917:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"8885:58:11"},{"expression":{"id":10577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10571,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10501,"src":"9017:8:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10575,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"9042:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9028:13:11","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":10572,"name":"uint256","nodeType":"ElementaryTypeName","src":"9032:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10573,"nodeType":"ArrayTypeName","src":"9032:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":10576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9028:21:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"9017:32:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":10578,"nodeType":"ExpressionStatement","src":"9017:32:11"},{"body":{"id":10603,"nodeType":"Block","src":"9096:75:11","statements":[{"expression":{"id":10601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":10589,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10501,"src":"9110:8:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":10591,"indexExpression":{"id":10590,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"9119:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9110:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":10594,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10565,"src":"9135:10:11","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":10596,"indexExpression":{"id":10595,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"9146:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9135:13:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":10598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9151:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10597,"name":"uint256","nodeType":"ElementaryTypeName","src":"9151:7:11","typeDescriptions":{}}}],"id":10599,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9150:9:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":10592,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9124:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"9124:10:11","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9124:36:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9110:50:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10602,"nodeType":"ExpressionStatement","src":"9110:50:11"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10583,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"9079:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10584,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"9083:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9079:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10604,"initializationExpression":{"assignments":[10580],"declarations":[{"constant":false,"id":10580,"mutability":"mutable","name":"i","nameLocation":"9072:1:11","nodeType":"VariableDeclaration","scope":10604,"src":"9064:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10579,"name":"uint256","nodeType":"ElementaryTypeName","src":"9064:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10582,"initialValue":{"hexValue":"30","id":10581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9076:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9064:13:11"},"loopExpression":{"expression":{"id":10587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"9091:3:11","subExpression":{"id":10586,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"9093:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10588,"nodeType":"ExpressionStatement","src":"9091:3:11"},"nodeType":"ForStatement","src":"9059:112:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getTokenBalances","nameLocation":"8062:16:11","parameters":{"id":10498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10494,"mutability":"mutable","name":"token","nameLocation":"8087:5:11","nodeType":"VariableDeclaration","scope":10606,"src":"8079:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10493,"name":"address","nodeType":"ElementaryTypeName","src":"8079:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10497,"mutability":"mutable","name":"addresses","nameLocation":"8111:9:11","nodeType":"VariableDeclaration","scope":10606,"src":"8094:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":10495,"name":"address","nodeType":"ElementaryTypeName","src":"8094:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10496,"nodeType":"ArrayTypeName","src":"8094:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8078:43:11"},"returnParameters":{"id":10502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10501,"mutability":"mutable","name":"balances","nameLocation":"8189:8:11","nodeType":"VariableDeclaration","scope":10606,"src":"8172:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":10499,"name":"uint256","nodeType":"ElementaryTypeName","src":"8172:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10500,"nodeType":"ArrayTypeName","src":"8172:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"8171:27:11"},"scope":10676,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":10625,"nodeType":"FunctionDefinition","src":"9397:144:11","nodes":[],"body":{"id":10624,"nodeType":"Block","src":"9480:61:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":10619,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10608,"src":"9521:10:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9513:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10617,"name":"uint256","nodeType":"ElementaryTypeName","src":"9513:7:11","typeDescriptions":{}}},"id":10620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9513:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9505:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10615,"name":"uint160","nodeType":"ElementaryTypeName","src":"9505:7:11","typeDescriptions":{}}},"id":10621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9505:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":10614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9497:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10613,"name":"address","nodeType":"ElementaryTypeName","src":"9497:7:11","typeDescriptions":{}}},"id":10622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9497:37:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10612,"id":10623,"nodeType":"Return","src":"9490:44:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"addressFromLast20Bytes","nameLocation":"9406:22:11","parameters":{"id":10609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10608,"mutability":"mutable","name":"bytesValue","nameLocation":"9437:10:11","nodeType":"VariableDeclaration","scope":10625,"src":"9429:18:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9429:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9428:20:11"},"returnParameters":{"id":10612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10625,"src":"9471:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10610,"name":"address","nodeType":"ElementaryTypeName","src":"9471:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9470:9:11"},"scope":10676,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":10650,"nodeType":"FunctionDefinition","src":"9671:207:11","nodes":[],"body":{"id":10649,"nodeType":"Block","src":"9736:142:11","nodes":[],"statements":[{"assignments":[10633,null],"declarations":[{"constant":false,"id":10633,"mutability":"mutable","name":"status","nameLocation":"9752:6:11","nodeType":"VariableDeclaration","scope":10649,"src":"9747:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10632,"name":"bool","nodeType":"ElementaryTypeName","src":"9747:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":10646,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":10641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9824:21:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":10642,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10627,"src":"9847:2:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10643,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"9851:2:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9800:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9800:23:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9800:54:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":10636,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9902,"src":"9771:16:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9763:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10634,"name":"address","nodeType":"ElementaryTypeName","src":"9763:7:11","typeDescriptions":{}}},"id":10637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9763:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"9763:36:11","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":10645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9763:92:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9746:109:11"},{"expression":{"id":10647,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10633,"src":"9865:6:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10648,"nodeType":"ExpressionStatement","src":"9865:6:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log","nameLocation":"9680:12:11","parameters":{"id":10630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10627,"mutability":"mutable","name":"p0","nameLocation":"9707:2:11","nodeType":"VariableDeclaration","scope":10650,"src":"9693:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10626,"name":"string","nodeType":"ElementaryTypeName","src":"9693:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10629,"mutability":"mutable","name":"p1","nameLocation":"9719:2:11","nodeType":"VariableDeclaration","scope":10650,"src":"9711:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10628,"name":"uint256","nodeType":"ElementaryTypeName","src":"9711:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9692:30:11"},"returnParameters":{"id":10631,"nodeType":"ParameterList","parameters":[],"src":"9736:0:11"},"scope":10676,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":10675,"nodeType":"FunctionDefinition","src":"9884:212:11","nodes":[],"body":{"id":10674,"nodeType":"Block","src":"9955:141:11","nodes":[],"statements":[{"assignments":[10658,null],"declarations":[{"constant":false,"id":10658,"mutability":"mutable","name":"status","nameLocation":"9971:6:11","nodeType":"VariableDeclaration","scope":10674,"src":"9966:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10657,"name":"bool","nodeType":"ElementaryTypeName","src":"9966:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":10671,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":10666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10043:20:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":10667,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10652,"src":"10065:2:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10668,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10654,"src":"10069:2:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10664,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10019:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10019:23:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10019:53:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":10661,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9902,"src":"9990:16:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9982:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10659,"name":"address","nodeType":"ElementaryTypeName","src":"9982:7:11","typeDescriptions":{}}},"id":10662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9982:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"9982:36:11","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":10670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9982:91:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9965:108:11"},{"expression":{"id":10672,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10658,"src":"10083:6:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10673,"nodeType":"ExpressionStatement","src":"10083:6:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log","nameLocation":"9893:12:11","parameters":{"id":10655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10652,"mutability":"mutable","name":"p0","nameLocation":"9920:2:11","nodeType":"VariableDeclaration","scope":10675,"src":"9906:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10651,"name":"string","nodeType":"ElementaryTypeName","src":"9906:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10654,"mutability":"mutable","name":"p1","nameLocation":"9938:2:11","nodeType":"VariableDeclaration","scope":10675,"src":"9924:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10653,"name":"string","nodeType":"ElementaryTypeName","src":"9924:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9905:36:11"},"returnParameters":{"id":10656,"nodeType":"ParameterList","parameters":[],"src":"9955:0:11"},"scope":10676,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdUtils","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[10676],"name":"StdUtils","nameLocation":"233:8:11","scope":10677,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/Test.sol":{"id":12,"ast":{"absolutePath":"lib/forge-std/src/Test.sol","id":10726,"exportedSymbols":{"DSTest":[1786],"StdAssertions":[3260],"StdChains":[3954],"StdCheats":[6185],"StdInvariant":[6475],"StdStorage":[7225],"StdStyle":[9869],"StdUtils":[10676],"Test":[10725],"TestBase":[1846],"Vm":[12037],"console":[20101],"console2":[28197],"stdError":[6251],"stdJson":[7051],"stdMath":[7193],"stdStorage":[8658]},"nodeType":"SourceUnit","src":"32:1085:12","nodes":[{"id":10678,"nodeType":"PragmaDirective","src":"32:31:12","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":10679,"nodeType":"PragmaDirective","src":"65:33:12","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":10681,"nodeType":"ImportDirective","src":"166:38:12","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":20102,"symbolAliases":[{"foreign":{"id":10680,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20101,"src":"174:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$20101_$","typeString":"type(library console)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10683,"nodeType":"ImportDirective","src":"205:40:12","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":28198,"symbolAliases":[{"foreign":{"id":10682,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28197,"src":"213:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$28197_$","typeString":"type(library console2)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10685,"nodeType":"ImportDirective","src":"246:50:12","nodes":[],"absolutePath":"lib/forge-std/src/StdAssertions.sol","file":"./StdAssertions.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":3261,"symbolAliases":[{"foreign":{"id":10684,"name":"StdAssertions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3260,"src":"254:13:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdAssertions_$3260_$","typeString":"type(contract StdAssertions)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10687,"nodeType":"ImportDirective","src":"297:42:12","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":3955,"symbolAliases":[{"foreign":{"id":10686,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3954,"src":"305:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdChains_$3954_$","typeString":"type(contract StdChains)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10689,"nodeType":"ImportDirective","src":"340:42:12","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":6186,"symbolAliases":[{"foreign":{"id":10688,"name":"StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6185,"src":"348:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdCheats_$6185_$","typeString":"type(contract StdCheats)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10691,"nodeType":"ImportDirective","src":"383:40:12","nodes":[],"absolutePath":"lib/forge-std/src/StdError.sol","file":"./StdError.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":6252,"symbolAliases":[{"foreign":{"id":10690,"name":"stdError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6251,"src":"391:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdError_$6251_$","typeString":"type(library stdError)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10693,"nodeType":"ImportDirective","src":"424:48:12","nodes":[],"absolutePath":"lib/forge-std/src/StdInvariant.sol","file":"./StdInvariant.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":6476,"symbolAliases":[{"foreign":{"id":10692,"name":"StdInvariant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6475,"src":"432:12:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdInvariant_$6475_$","typeString":"type(contract StdInvariant)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10695,"nodeType":"ImportDirective","src":"473:38:12","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":7052,"symbolAliases":[{"foreign":{"id":10694,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7051,"src":"481:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7051_$","typeString":"type(library stdJson)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10697,"nodeType":"ImportDirective","src":"512:38:12","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":7194,"symbolAliases":[{"foreign":{"id":10696,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"520:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10700,"nodeType":"ImportDirective","src":"551:56:12","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":8659,"symbolAliases":[{"foreign":{"id":10698,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7225,"src":"559:10:12","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"type(struct StdStorage storage pointer)"}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10699,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8658,"src":"571:10:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorage_$8658_$","typeString":"type(library stdStorage)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10702,"nodeType":"ImportDirective","src":"608:40:12","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":10677,"symbolAliases":[{"foreign":{"id":10701,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10676,"src":"616:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdUtils_$10676_$","typeString":"type(contract StdUtils)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10704,"nodeType":"ImportDirective","src":"649:28:12","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":10703,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"657:2:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10706,"nodeType":"ImportDirective","src":"678:40:12","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":9870,"symbolAliases":[{"foreign":{"id":10705,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9869,"src":"686:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdStyle_$9869_$","typeString":"type(library StdStyle)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10708,"nodeType":"ImportDirective","src":"740:36:12","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":1859,"symbolAliases":[{"foreign":{"id":10707,"name":"TestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"748:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TestBase_$1846_$","typeString":"type(contract TestBase)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10710,"nodeType":"ImportDirective","src":"777:40:12","nodes":[],"absolutePath":"lib/forge-std/lib/ds-test/src/test.sol","file":"ds-test/test.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":1787,"symbolAliases":[{"foreign":{"id":10709,"name":"DSTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"785:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DSTest_$1786_$","typeString":"type(contract DSTest)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10725,"nodeType":"ContractDefinition","src":"834:282:12","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":10711,"name":"DSTest","nodeType":"IdentifierPath","referencedDeclaration":1786,"src":"860:6:12"},"id":10712,"nodeType":"InheritanceSpecifier","src":"860:6:12"},{"baseName":{"id":10713,"name":"StdAssertions","nodeType":"IdentifierPath","referencedDeclaration":3260,"src":"868:13:12"},"id":10714,"nodeType":"InheritanceSpecifier","src":"868:13:12"},{"baseName":{"id":10715,"name":"StdChains","nodeType":"IdentifierPath","referencedDeclaration":3954,"src":"883:9:12"},"id":10716,"nodeType":"InheritanceSpecifier","src":"883:9:12"},{"baseName":{"id":10717,"name":"StdCheats","nodeType":"IdentifierPath","referencedDeclaration":6185,"src":"894:9:12"},"id":10718,"nodeType":"InheritanceSpecifier","src":"894:9:12"},{"baseName":{"id":10719,"name":"StdInvariant","nodeType":"IdentifierPath","referencedDeclaration":6475,"src":"905:12:12"},"id":10720,"nodeType":"InheritanceSpecifier","src":"905:12:12"},{"baseName":{"id":10721,"name":"StdUtils","nodeType":"IdentifierPath","referencedDeclaration":10676,"src":"919:8:12"},"id":10722,"nodeType":"InheritanceSpecifier","src":"919:8:12"},{"baseName":{"id":10723,"name":"TestBase","nodeType":"IdentifierPath","referencedDeclaration":1846,"src":"929:8:12"},"id":10724,"nodeType":"InheritanceSpecifier","src":"929:8:12"}],"canonicalName":"Test","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[10725,1846,1843,10676,6475,6185,5526,3954,3260,1786],"name":"Test","nameLocation":"852:4:12","scope":10726,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/Vm.sol":{"id":13,"ast":{"absolutePath":"lib/forge-std/src/Vm.sol","id":12038,"exportedSymbols":{"Vm":[12037],"VmSafe":[11690]},"nodeType":"SourceUnit","src":"32:27112:13","nodes":[{"id":10727,"nodeType":"PragmaDirective","src":"32:31:13","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":10728,"nodeType":"PragmaDirective","src":"65:33:13","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":11690,"nodeType":"ContractDefinition","src":"571:18299:13","nodes":[{"id":10736,"nodeType":"StructDefinition","src":"594:89:13","nodes":[],"canonicalName":"VmSafe.Log","members":[{"constant":false,"id":10731,"mutability":"mutable","name":"topics","nameLocation":"625:6:13","nodeType":"VariableDeclaration","scope":10736,"src":"615:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":10729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"615:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10730,"nodeType":"ArrayTypeName","src":"615:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":10733,"mutability":"mutable","name":"data","nameLocation":"647:4:13","nodeType":"VariableDeclaration","scope":10736,"src":"641:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":10732,"name":"bytes","nodeType":"ElementaryTypeName","src":"641:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":10735,"mutability":"mutable","name":"emitter","nameLocation":"669:7:13","nodeType":"VariableDeclaration","scope":10736,"src":"661:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10734,"name":"address","nodeType":"ElementaryTypeName","src":"661:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"601:3:13","scope":11690,"visibility":"public"},{"id":10741,"nodeType":"StructDefinition","src":"689:58:13","nodes":[],"canonicalName":"VmSafe.Rpc","members":[{"constant":false,"id":10738,"mutability":"mutable","name":"key","nameLocation":"717:3:13","nodeType":"VariableDeclaration","scope":10741,"src":"710:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":10737,"name":"string","nodeType":"ElementaryTypeName","src":"710:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10740,"mutability":"mutable","name":"url","nameLocation":"737:3:13","nodeType":"VariableDeclaration","scope":10741,"src":"730:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":10739,"name":"string","nodeType":"ElementaryTypeName","src":"730:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"696:3:13","scope":11690,"visibility":"public"},{"id":10756,"nodeType":"StructDefinition","src":"753:193:13","nodes":[],"canonicalName":"VmSafe.FsMetadata","members":[{"constant":false,"id":10743,"mutability":"mutable","name":"isDir","nameLocation":"786:5:13","nodeType":"VariableDeclaration","scope":10756,"src":"781:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10742,"name":"bool","nodeType":"ElementaryTypeName","src":"781:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10745,"mutability":"mutable","name":"isSymlink","nameLocation":"806:9:13","nodeType":"VariableDeclaration","scope":10756,"src":"801:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10744,"name":"bool","nodeType":"ElementaryTypeName","src":"801:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10747,"mutability":"mutable","name":"length","nameLocation":"833:6:13","nodeType":"VariableDeclaration","scope":10756,"src":"825:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10746,"name":"uint256","nodeType":"ElementaryTypeName","src":"825:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10749,"mutability":"mutable","name":"readOnly","nameLocation":"854:8:13","nodeType":"VariableDeclaration","scope":10756,"src":"849:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10748,"name":"bool","nodeType":"ElementaryTypeName","src":"849:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10751,"mutability":"mutable","name":"modified","nameLocation":"880:8:13","nodeType":"VariableDeclaration","scope":10756,"src":"872:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10750,"name":"uint256","nodeType":"ElementaryTypeName","src":"872:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10753,"mutability":"mutable","name":"accessed","nameLocation":"906:8:13","nodeType":"VariableDeclaration","scope":10756,"src":"898:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10752,"name":"uint256","nodeType":"ElementaryTypeName","src":"898:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10755,"mutability":"mutable","name":"created","nameLocation":"932:7:13","nodeType":"VariableDeclaration","scope":10756,"src":"924:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10754,"name":"uint256","nodeType":"ElementaryTypeName","src":"924:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"760:10:13","scope":11690,"visibility":"public"},{"id":10765,"nodeType":"FunctionDefinition","src":"996:81:13","nodes":[],"functionSelector":"667f9d70","implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"1005:4:13","parameters":{"id":10761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10758,"mutability":"mutable","name":"target","nameLocation":"1018:6:13","nodeType":"VariableDeclaration","scope":10765,"src":"1010:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10757,"name":"address","nodeType":"ElementaryTypeName","src":"1010:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10760,"mutability":"mutable","name":"slot","nameLocation":"1034:4:13","nodeType":"VariableDeclaration","scope":10765,"src":"1026:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1026:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1009:30:13"},"returnParameters":{"id":10764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10763,"mutability":"mutable","name":"data","nameLocation":"1071:4:13","nodeType":"VariableDeclaration","scope":10765,"src":"1063:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1063:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1062:14:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10778,"nodeType":"FunctionDefinition","src":"1100:104:13","nodes":[],"functionSelector":"e341eaa4","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"1109:4:13","parameters":{"id":10770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10767,"mutability":"mutable","name":"privateKey","nameLocation":"1122:10:13","nodeType":"VariableDeclaration","scope":10778,"src":"1114:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10766,"name":"uint256","nodeType":"ElementaryTypeName","src":"1114:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10769,"mutability":"mutable","name":"digest","nameLocation":"1142:6:13","nodeType":"VariableDeclaration","scope":10778,"src":"1134:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1134:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1113:36:13"},"returnParameters":{"id":10777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10772,"mutability":"mutable","name":"v","nameLocation":"1179:1:13","nodeType":"VariableDeclaration","scope":10778,"src":"1173:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":10771,"name":"uint8","nodeType":"ElementaryTypeName","src":"1173:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":10774,"mutability":"mutable","name":"r","nameLocation":"1190:1:13","nodeType":"VariableDeclaration","scope":10778,"src":"1182:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1182:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10776,"mutability":"mutable","name":"s","nameLocation":"1201:1:13","nodeType":"VariableDeclaration","scope":10778,"src":"1193:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1193:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1172:31:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":10785,"nodeType":"FunctionDefinition","src":"1257:74:13","nodes":[],"functionSelector":"ffa18649","implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"1266:4:13","parameters":{"id":10781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10780,"mutability":"mutable","name":"privateKey","nameLocation":"1279:10:13","nodeType":"VariableDeclaration","scope":10785,"src":"1271:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10779,"name":"uint256","nodeType":"ElementaryTypeName","src":"1271:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1270:20:13"},"returnParameters":{"id":10784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10783,"mutability":"mutable","name":"keyAddr","nameLocation":"1322:7:13","nodeType":"VariableDeclaration","scope":10785,"src":"1314:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10782,"name":"address","nodeType":"ElementaryTypeName","src":"1314:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1313:17:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":10792,"nodeType":"FunctionDefinition","src":"1372:72:13","nodes":[],"functionSelector":"2d0335ab","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"1381:8:13","parameters":{"id":10788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10787,"mutability":"mutable","name":"account","nameLocation":"1398:7:13","nodeType":"VariableDeclaration","scope":10792,"src":"1390:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10786,"name":"address","nodeType":"ElementaryTypeName","src":"1390:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1389:17:13"},"returnParameters":{"id":10791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10790,"mutability":"mutable","name":"nonce","nameLocation":"1437:5:13","nodeType":"VariableDeclaration","scope":10792,"src":"1430:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":10789,"name":"uint64","nodeType":"ElementaryTypeName","src":"1430:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1429:14:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10800,"nodeType":"FunctionDefinition","src":"1506:84:13","nodes":[],"functionSelector":"89160467","implemented":false,"kind":"function","modifiers":[],"name":"ffi","nameLocation":"1515:3:13","parameters":{"id":10796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10795,"mutability":"mutable","name":"commandInput","nameLocation":"1537:12:13","nodeType":"VariableDeclaration","scope":10800,"src":"1519:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":10793,"name":"string","nodeType":"ElementaryTypeName","src":"1519:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":10794,"nodeType":"ArrayTypeName","src":"1519:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1518:32:13"},"returnParameters":{"id":10799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10798,"mutability":"mutable","name":"result","nameLocation":"1582:6:13","nodeType":"VariableDeclaration","scope":10800,"src":"1569:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10797,"name":"bytes","nodeType":"ElementaryTypeName","src":"1569:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1568:21:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10807,"nodeType":"FunctionDefinition","src":"1629:70:13","nodes":[],"functionSelector":"3d5923ee","implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"1638:6:13","parameters":{"id":10805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10802,"mutability":"mutable","name":"name","nameLocation":"1661:4:13","nodeType":"VariableDeclaration","scope":10807,"src":"1645:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10801,"name":"string","nodeType":"ElementaryTypeName","src":"1645:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10804,"mutability":"mutable","name":"value","nameLocation":"1683:5:13","nodeType":"VariableDeclaration","scope":10807,"src":"1667:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10803,"name":"string","nodeType":"ElementaryTypeName","src":"1667:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1644:45:13"},"returnParameters":{"id":10806,"nodeType":"ParameterList","parameters":[],"src":"1698:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10814,"nodeType":"FunctionDefinition","src":"1758:74:13","nodes":[],"functionSelector":"7ed1ec7d","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"1767:7:13","parameters":{"id":10810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10809,"mutability":"mutable","name":"name","nameLocation":"1791:4:13","nodeType":"VariableDeclaration","scope":10814,"src":"1775:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10808,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1774:22:13"},"returnParameters":{"id":10813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10812,"mutability":"mutable","name":"value","nameLocation":"1825:5:13","nodeType":"VariableDeclaration","scope":10814,"src":"1820:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10811,"name":"bool","nodeType":"ElementaryTypeName","src":"1820:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1819:12:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10821,"nodeType":"FunctionDefinition","src":"1837:77:13","nodes":[],"functionSelector":"c1978d1f","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"1846:7:13","parameters":{"id":10817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10816,"mutability":"mutable","name":"name","nameLocation":"1870:4:13","nodeType":"VariableDeclaration","scope":10821,"src":"1854:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10815,"name":"string","nodeType":"ElementaryTypeName","src":"1854:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1853:22:13"},"returnParameters":{"id":10820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10819,"mutability":"mutable","name":"value","nameLocation":"1907:5:13","nodeType":"VariableDeclaration","scope":10821,"src":"1899:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10818,"name":"uint256","nodeType":"ElementaryTypeName","src":"1899:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1898:15:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10828,"nodeType":"FunctionDefinition","src":"1919:75:13","nodes":[],"functionSelector":"892a0c61","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"1928:6:13","parameters":{"id":10824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10823,"mutability":"mutable","name":"name","nameLocation":"1951:4:13","nodeType":"VariableDeclaration","scope":10828,"src":"1935:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10822,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:22:13"},"returnParameters":{"id":10827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10826,"mutability":"mutable","name":"value","nameLocation":"1987:5:13","nodeType":"VariableDeclaration","scope":10828,"src":"1980:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10825,"name":"int256","nodeType":"ElementaryTypeName","src":"1980:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1979:14:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10835,"nodeType":"FunctionDefinition","src":"1999:80:13","nodes":[],"functionSelector":"350d56bf","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"2008:10:13","parameters":{"id":10831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10830,"mutability":"mutable","name":"name","nameLocation":"2035:4:13","nodeType":"VariableDeclaration","scope":10835,"src":"2019:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10829,"name":"string","nodeType":"ElementaryTypeName","src":"2019:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2018:22:13"},"returnParameters":{"id":10834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10833,"mutability":"mutable","name":"value","nameLocation":"2072:5:13","nodeType":"VariableDeclaration","scope":10835,"src":"2064:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10832,"name":"address","nodeType":"ElementaryTypeName","src":"2064:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2063:15:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10842,"nodeType":"FunctionDefinition","src":"2084:80:13","nodes":[],"functionSelector":"97949042","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"2093:10:13","parameters":{"id":10838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10837,"mutability":"mutable","name":"name","nameLocation":"2120:4:13","nodeType":"VariableDeclaration","scope":10842,"src":"2104:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10836,"name":"string","nodeType":"ElementaryTypeName","src":"2104:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2103:22:13"},"returnParameters":{"id":10841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10840,"mutability":"mutable","name":"value","nameLocation":"2157:5:13","nodeType":"VariableDeclaration","scope":10842,"src":"2149:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2149:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2148:15:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10849,"nodeType":"FunctionDefinition","src":"2169:85:13","nodes":[],"functionSelector":"f877cb19","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"2178:9:13","parameters":{"id":10845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10844,"mutability":"mutable","name":"name","nameLocation":"2204:4:13","nodeType":"VariableDeclaration","scope":10849,"src":"2188:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10843,"name":"string","nodeType":"ElementaryTypeName","src":"2188:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2187:22:13"},"returnParameters":{"id":10848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10847,"mutability":"mutable","name":"value","nameLocation":"2247:5:13","nodeType":"VariableDeclaration","scope":10849,"src":"2233:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10846,"name":"string","nodeType":"ElementaryTypeName","src":"2233:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2232:21:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10856,"nodeType":"FunctionDefinition","src":"2259:83:13","nodes":[],"functionSelector":"4d7baf06","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"2268:8:13","parameters":{"id":10852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10851,"mutability":"mutable","name":"name","nameLocation":"2293:4:13","nodeType":"VariableDeclaration","scope":10856,"src":"2277:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10850,"name":"string","nodeType":"ElementaryTypeName","src":"2277:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2276:22:13"},"returnParameters":{"id":10855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10854,"mutability":"mutable","name":"value","nameLocation":"2335:5:13","nodeType":"VariableDeclaration","scope":10856,"src":"2322:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10853,"name":"bytes","nodeType":"ElementaryTypeName","src":"2322:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2321:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10866,"nodeType":"FunctionDefinition","src":"2392:106:13","nodes":[],"functionSelector":"aaaddeaf","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"2401:7:13","parameters":{"id":10861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10858,"mutability":"mutable","name":"name","nameLocation":"2425:4:13","nodeType":"VariableDeclaration","scope":10866,"src":"2409:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10857,"name":"string","nodeType":"ElementaryTypeName","src":"2409:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10860,"mutability":"mutable","name":"delim","nameLocation":"2447:5:13","nodeType":"VariableDeclaration","scope":10866,"src":"2431:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10859,"name":"string","nodeType":"ElementaryTypeName","src":"2431:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2408:45:13"},"returnParameters":{"id":10865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10864,"mutability":"mutable","name":"value","nameLocation":"2491:5:13","nodeType":"VariableDeclaration","scope":10866,"src":"2477:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":10862,"name":"bool","nodeType":"ElementaryTypeName","src":"2477:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10863,"nodeType":"ArrayTypeName","src":"2477:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2476:21:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10876,"nodeType":"FunctionDefinition","src":"2503:109:13","nodes":[],"functionSelector":"f3dec099","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"2512:7:13","parameters":{"id":10871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10868,"mutability":"mutable","name":"name","nameLocation":"2536:4:13","nodeType":"VariableDeclaration","scope":10876,"src":"2520:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10867,"name":"string","nodeType":"ElementaryTypeName","src":"2520:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10870,"mutability":"mutable","name":"delim","nameLocation":"2558:5:13","nodeType":"VariableDeclaration","scope":10876,"src":"2542:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10869,"name":"string","nodeType":"ElementaryTypeName","src":"2542:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2519:45:13"},"returnParameters":{"id":10875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10874,"mutability":"mutable","name":"value","nameLocation":"2605:5:13","nodeType":"VariableDeclaration","scope":10876,"src":"2588:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":10872,"name":"uint256","nodeType":"ElementaryTypeName","src":"2588:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10873,"nodeType":"ArrayTypeName","src":"2588:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2587:24:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10886,"nodeType":"FunctionDefinition","src":"2617:107:13","nodes":[],"functionSelector":"42181150","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"2626:6:13","parameters":{"id":10881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10878,"mutability":"mutable","name":"name","nameLocation":"2649:4:13","nodeType":"VariableDeclaration","scope":10886,"src":"2633:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10877,"name":"string","nodeType":"ElementaryTypeName","src":"2633:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10880,"mutability":"mutable","name":"delim","nameLocation":"2671:5:13","nodeType":"VariableDeclaration","scope":10886,"src":"2655:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10879,"name":"string","nodeType":"ElementaryTypeName","src":"2655:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2632:45:13"},"returnParameters":{"id":10885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10884,"mutability":"mutable","name":"value","nameLocation":"2717:5:13","nodeType":"VariableDeclaration","scope":10886,"src":"2701:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":10882,"name":"int256","nodeType":"ElementaryTypeName","src":"2701:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":10883,"nodeType":"ArrayTypeName","src":"2701:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"2700:23:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10896,"nodeType":"FunctionDefinition","src":"2729:112:13","nodes":[],"functionSelector":"ad31b9fa","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"2738:10:13","parameters":{"id":10891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10888,"mutability":"mutable","name":"name","nameLocation":"2765:4:13","nodeType":"VariableDeclaration","scope":10896,"src":"2749:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10887,"name":"string","nodeType":"ElementaryTypeName","src":"2749:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10890,"mutability":"mutable","name":"delim","nameLocation":"2787:5:13","nodeType":"VariableDeclaration","scope":10896,"src":"2771:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10889,"name":"string","nodeType":"ElementaryTypeName","src":"2771:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2748:45:13"},"returnParameters":{"id":10895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10894,"mutability":"mutable","name":"value","nameLocation":"2834:5:13","nodeType":"VariableDeclaration","scope":10896,"src":"2817:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":10892,"name":"address","nodeType":"ElementaryTypeName","src":"2817:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10893,"nodeType":"ArrayTypeName","src":"2817:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2816:24:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10906,"nodeType":"FunctionDefinition","src":"2846:112:13","nodes":[],"functionSelector":"5af231c1","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"2855:10:13","parameters":{"id":10901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10898,"mutability":"mutable","name":"name","nameLocation":"2882:4:13","nodeType":"VariableDeclaration","scope":10906,"src":"2866:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10897,"name":"string","nodeType":"ElementaryTypeName","src":"2866:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10900,"mutability":"mutable","name":"delim","nameLocation":"2904:5:13","nodeType":"VariableDeclaration","scope":10906,"src":"2888:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10899,"name":"string","nodeType":"ElementaryTypeName","src":"2888:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2865:45:13"},"returnParameters":{"id":10905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10904,"mutability":"mutable","name":"value","nameLocation":"2951:5:13","nodeType":"VariableDeclaration","scope":10906,"src":"2934:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":10902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2934:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10903,"nodeType":"ArrayTypeName","src":"2934:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"2933:24:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10916,"nodeType":"FunctionDefinition","src":"2963:110:13","nodes":[],"functionSelector":"14b02bc9","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"2972:9:13","parameters":{"id":10911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10908,"mutability":"mutable","name":"name","nameLocation":"2998:4:13","nodeType":"VariableDeclaration","scope":10916,"src":"2982:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10907,"name":"string","nodeType":"ElementaryTypeName","src":"2982:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10910,"mutability":"mutable","name":"delim","nameLocation":"3020:5:13","nodeType":"VariableDeclaration","scope":10916,"src":"3004:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10909,"name":"string","nodeType":"ElementaryTypeName","src":"3004:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2981:45:13"},"returnParameters":{"id":10915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10914,"mutability":"mutable","name":"value","nameLocation":"3066:5:13","nodeType":"VariableDeclaration","scope":10916,"src":"3050:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":10912,"name":"string","nodeType":"ElementaryTypeName","src":"3050:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":10913,"nodeType":"ArrayTypeName","src":"3050:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"3049:23:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10926,"nodeType":"FunctionDefinition","src":"3078:108:13","nodes":[],"functionSelector":"ddc2651b","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"3087:8:13","parameters":{"id":10921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10918,"mutability":"mutable","name":"name","nameLocation":"3112:4:13","nodeType":"VariableDeclaration","scope":10926,"src":"3096:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10917,"name":"string","nodeType":"ElementaryTypeName","src":"3096:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10920,"mutability":"mutable","name":"delim","nameLocation":"3134:5:13","nodeType":"VariableDeclaration","scope":10926,"src":"3118:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10919,"name":"string","nodeType":"ElementaryTypeName","src":"3118:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3095:45:13"},"returnParameters":{"id":10925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10924,"mutability":"mutable","name":"value","nameLocation":"3179:5:13","nodeType":"VariableDeclaration","scope":10926,"src":"3164:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":10922,"name":"bytes","nodeType":"ElementaryTypeName","src":"3164:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":10923,"nodeType":"ArrayTypeName","src":"3164:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3163:22:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10935,"nodeType":"FunctionDefinition","src":"3244:86:13","nodes":[],"functionSelector":"4777f3cf","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3253:5:13","parameters":{"id":10931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10928,"mutability":"mutable","name":"name","nameLocation":"3275:4:13","nodeType":"VariableDeclaration","scope":10935,"src":"3259:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10927,"name":"string","nodeType":"ElementaryTypeName","src":"3259:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10930,"mutability":"mutable","name":"defaultValue","nameLocation":"3286:12:13","nodeType":"VariableDeclaration","scope":10935,"src":"3281:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10929,"name":"bool","nodeType":"ElementaryTypeName","src":"3281:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3258:41:13"},"returnParameters":{"id":10934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10933,"mutability":"mutable","name":"value","nameLocation":"3323:5:13","nodeType":"VariableDeclaration","scope":10935,"src":"3318:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10932,"name":"bool","nodeType":"ElementaryTypeName","src":"3318:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3317:12:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10944,"nodeType":"FunctionDefinition","src":"3335:92:13","nodes":[],"functionSelector":"5e97348f","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3344:5:13","parameters":{"id":10940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10937,"mutability":"mutable","name":"name","nameLocation":"3366:4:13","nodeType":"VariableDeclaration","scope":10944,"src":"3350:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10936,"name":"string","nodeType":"ElementaryTypeName","src":"3350:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10939,"mutability":"mutable","name":"defaultValue","nameLocation":"3380:12:13","nodeType":"VariableDeclaration","scope":10944,"src":"3372:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10938,"name":"uint256","nodeType":"ElementaryTypeName","src":"3372:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3349:44:13"},"returnParameters":{"id":10943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10942,"mutability":"mutable","name":"value","nameLocation":"3420:5:13","nodeType":"VariableDeclaration","scope":10944,"src":"3412:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10941,"name":"uint256","nodeType":"ElementaryTypeName","src":"3412:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3411:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10953,"nodeType":"FunctionDefinition","src":"3432:90:13","nodes":[],"functionSelector":"bbcb713e","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3441:5:13","parameters":{"id":10949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10946,"mutability":"mutable","name":"name","nameLocation":"3463:4:13","nodeType":"VariableDeclaration","scope":10953,"src":"3447:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10945,"name":"string","nodeType":"ElementaryTypeName","src":"3447:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10948,"mutability":"mutable","name":"defaultValue","nameLocation":"3476:12:13","nodeType":"VariableDeclaration","scope":10953,"src":"3469:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10947,"name":"int256","nodeType":"ElementaryTypeName","src":"3469:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3446:43:13"},"returnParameters":{"id":10952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10951,"mutability":"mutable","name":"value","nameLocation":"3515:5:13","nodeType":"VariableDeclaration","scope":10953,"src":"3508:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10950,"name":"int256","nodeType":"ElementaryTypeName","src":"3508:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3507:14:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10962,"nodeType":"FunctionDefinition","src":"3527:92:13","nodes":[],"functionSelector":"561fe540","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3536:5:13","parameters":{"id":10958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10955,"mutability":"mutable","name":"name","nameLocation":"3558:4:13","nodeType":"VariableDeclaration","scope":10962,"src":"3542:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10954,"name":"string","nodeType":"ElementaryTypeName","src":"3542:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10957,"mutability":"mutable","name":"defaultValue","nameLocation":"3572:12:13","nodeType":"VariableDeclaration","scope":10962,"src":"3564:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10956,"name":"address","nodeType":"ElementaryTypeName","src":"3564:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3541:44:13"},"returnParameters":{"id":10961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10960,"mutability":"mutable","name":"value","nameLocation":"3612:5:13","nodeType":"VariableDeclaration","scope":10962,"src":"3604:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10959,"name":"address","nodeType":"ElementaryTypeName","src":"3604:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3603:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10971,"nodeType":"FunctionDefinition","src":"3624:92:13","nodes":[],"functionSelector":"b4a85892","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3633:5:13","parameters":{"id":10967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10964,"mutability":"mutable","name":"name","nameLocation":"3655:4:13","nodeType":"VariableDeclaration","scope":10971,"src":"3639:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10963,"name":"string","nodeType":"ElementaryTypeName","src":"3639:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10966,"mutability":"mutable","name":"defaultValue","nameLocation":"3669:12:13","nodeType":"VariableDeclaration","scope":10971,"src":"3661:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3661:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3638:44:13"},"returnParameters":{"id":10970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10969,"mutability":"mutable","name":"value","nameLocation":"3709:5:13","nodeType":"VariableDeclaration","scope":10971,"src":"3701:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3701:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3700:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10980,"nodeType":"FunctionDefinition","src":"3721:106:13","nodes":[],"functionSelector":"d145736c","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3730:5:13","parameters":{"id":10976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10973,"mutability":"mutable","name":"name","nameLocation":"3752:4:13","nodeType":"VariableDeclaration","scope":10980,"src":"3736:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10972,"name":"string","nodeType":"ElementaryTypeName","src":"3736:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10975,"mutability":"mutable","name":"defaultValue","nameLocation":"3774:12:13","nodeType":"VariableDeclaration","scope":10980,"src":"3758:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10974,"name":"string","nodeType":"ElementaryTypeName","src":"3758:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3735:52:13"},"returnParameters":{"id":10979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10978,"mutability":"mutable","name":"value","nameLocation":"3820:5:13","nodeType":"VariableDeclaration","scope":10980,"src":"3806:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10977,"name":"string","nodeType":"ElementaryTypeName","src":"3806:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3805:21:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10989,"nodeType":"FunctionDefinition","src":"3832:104:13","nodes":[],"functionSelector":"b3e47705","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3841:5:13","parameters":{"id":10985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10982,"mutability":"mutable","name":"name","nameLocation":"3863:4:13","nodeType":"VariableDeclaration","scope":10989,"src":"3847:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10981,"name":"string","nodeType":"ElementaryTypeName","src":"3847:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10984,"mutability":"mutable","name":"defaultValue","nameLocation":"3884:12:13","nodeType":"VariableDeclaration","scope":10989,"src":"3869:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":10983,"name":"bytes","nodeType":"ElementaryTypeName","src":"3869:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3846:51:13"},"returnParameters":{"id":10988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10987,"mutability":"mutable","name":"value","nameLocation":"3929:5:13","nodeType":"VariableDeclaration","scope":10989,"src":"3916:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10986,"name":"bytes","nodeType":"ElementaryTypeName","src":"3916:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3915:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11002,"nodeType":"FunctionDefinition","src":"4004:145:13","nodes":[],"functionSelector":"eb85e83b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4013:5:13","parameters":{"id":10997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10991,"mutability":"mutable","name":"name","nameLocation":"4035:4:13","nodeType":"VariableDeclaration","scope":11002,"src":"4019:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10990,"name":"string","nodeType":"ElementaryTypeName","src":"4019:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10993,"mutability":"mutable","name":"delim","nameLocation":"4057:5:13","nodeType":"VariableDeclaration","scope":11002,"src":"4041:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10992,"name":"string","nodeType":"ElementaryTypeName","src":"4041:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10996,"mutability":"mutable","name":"defaultValue","nameLocation":"4080:12:13","nodeType":"VariableDeclaration","scope":11002,"src":"4064:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":10994,"name":"bool","nodeType":"ElementaryTypeName","src":"4064:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10995,"nodeType":"ArrayTypeName","src":"4064:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4018:75:13"},"returnParameters":{"id":11001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11000,"mutability":"mutable","name":"value","nameLocation":"4142:5:13","nodeType":"VariableDeclaration","scope":11002,"src":"4128:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":10998,"name":"bool","nodeType":"ElementaryTypeName","src":"4128:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10999,"nodeType":"ArrayTypeName","src":"4128:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4127:21:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11015,"nodeType":"FunctionDefinition","src":"4154:151:13","nodes":[],"functionSelector":"74318528","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4163:5:13","parameters":{"id":11010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11004,"mutability":"mutable","name":"name","nameLocation":"4185:4:13","nodeType":"VariableDeclaration","scope":11015,"src":"4169:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11003,"name":"string","nodeType":"ElementaryTypeName","src":"4169:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11006,"mutability":"mutable","name":"delim","nameLocation":"4207:5:13","nodeType":"VariableDeclaration","scope":11015,"src":"4191:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11005,"name":"string","nodeType":"ElementaryTypeName","src":"4191:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11009,"mutability":"mutable","name":"defaultValue","nameLocation":"4233:12:13","nodeType":"VariableDeclaration","scope":11015,"src":"4214:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11007,"name":"uint256","nodeType":"ElementaryTypeName","src":"4214:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11008,"nodeType":"ArrayTypeName","src":"4214:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4168:78:13"},"returnParameters":{"id":11014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11013,"mutability":"mutable","name":"value","nameLocation":"4298:5:13","nodeType":"VariableDeclaration","scope":11015,"src":"4281:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11011,"name":"uint256","nodeType":"ElementaryTypeName","src":"4281:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11012,"nodeType":"ArrayTypeName","src":"4281:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4280:24:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11028,"nodeType":"FunctionDefinition","src":"4310:149:13","nodes":[],"functionSelector":"4700d74b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4319:5:13","parameters":{"id":11023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11017,"mutability":"mutable","name":"name","nameLocation":"4341:4:13","nodeType":"VariableDeclaration","scope":11028,"src":"4325:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11016,"name":"string","nodeType":"ElementaryTypeName","src":"4325:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11019,"mutability":"mutable","name":"delim","nameLocation":"4363:5:13","nodeType":"VariableDeclaration","scope":11028,"src":"4347:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11018,"name":"string","nodeType":"ElementaryTypeName","src":"4347:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11022,"mutability":"mutable","name":"defaultValue","nameLocation":"4388:12:13","nodeType":"VariableDeclaration","scope":11028,"src":"4370:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11020,"name":"int256","nodeType":"ElementaryTypeName","src":"4370:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11021,"nodeType":"ArrayTypeName","src":"4370:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4324:77:13"},"returnParameters":{"id":11027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11026,"mutability":"mutable","name":"value","nameLocation":"4452:5:13","nodeType":"VariableDeclaration","scope":11028,"src":"4436:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11024,"name":"int256","nodeType":"ElementaryTypeName","src":"4436:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11025,"nodeType":"ArrayTypeName","src":"4436:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4435:23:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11041,"nodeType":"FunctionDefinition","src":"4464:151:13","nodes":[],"functionSelector":"c74e9deb","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4473:5:13","parameters":{"id":11036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11030,"mutability":"mutable","name":"name","nameLocation":"4495:4:13","nodeType":"VariableDeclaration","scope":11041,"src":"4479:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11029,"name":"string","nodeType":"ElementaryTypeName","src":"4479:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11032,"mutability":"mutable","name":"delim","nameLocation":"4517:5:13","nodeType":"VariableDeclaration","scope":11041,"src":"4501:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11031,"name":"string","nodeType":"ElementaryTypeName","src":"4501:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11035,"mutability":"mutable","name":"defaultValue","nameLocation":"4543:12:13","nodeType":"VariableDeclaration","scope":11041,"src":"4524:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11033,"name":"address","nodeType":"ElementaryTypeName","src":"4524:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11034,"nodeType":"ArrayTypeName","src":"4524:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4478:78:13"},"returnParameters":{"id":11040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11039,"mutability":"mutable","name":"value","nameLocation":"4608:5:13","nodeType":"VariableDeclaration","scope":11041,"src":"4591:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11037,"name":"address","nodeType":"ElementaryTypeName","src":"4591:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11038,"nodeType":"ArrayTypeName","src":"4591:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4590:24:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11054,"nodeType":"FunctionDefinition","src":"4620:151:13","nodes":[],"functionSelector":"2281f367","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4629:5:13","parameters":{"id":11049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11043,"mutability":"mutable","name":"name","nameLocation":"4651:4:13","nodeType":"VariableDeclaration","scope":11054,"src":"4635:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11042,"name":"string","nodeType":"ElementaryTypeName","src":"4635:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11045,"mutability":"mutable","name":"delim","nameLocation":"4673:5:13","nodeType":"VariableDeclaration","scope":11054,"src":"4657:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11044,"name":"string","nodeType":"ElementaryTypeName","src":"4657:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11048,"mutability":"mutable","name":"defaultValue","nameLocation":"4699:12:13","nodeType":"VariableDeclaration","scope":11054,"src":"4680:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11046,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4680:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11047,"nodeType":"ArrayTypeName","src":"4680:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4634:78:13"},"returnParameters":{"id":11053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11052,"mutability":"mutable","name":"value","nameLocation":"4764:5:13","nodeType":"VariableDeclaration","scope":11054,"src":"4747:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4747:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11051,"nodeType":"ArrayTypeName","src":"4747:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4746:24:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11067,"nodeType":"FunctionDefinition","src":"4776:149:13","nodes":[],"functionSelector":"859216bc","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4785:5:13","parameters":{"id":11062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11056,"mutability":"mutable","name":"name","nameLocation":"4807:4:13","nodeType":"VariableDeclaration","scope":11067,"src":"4791:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11055,"name":"string","nodeType":"ElementaryTypeName","src":"4791:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11058,"mutability":"mutable","name":"delim","nameLocation":"4829:5:13","nodeType":"VariableDeclaration","scope":11067,"src":"4813:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11057,"name":"string","nodeType":"ElementaryTypeName","src":"4813:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11061,"mutability":"mutable","name":"defaultValue","nameLocation":"4854:12:13","nodeType":"VariableDeclaration","scope":11067,"src":"4836:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11059,"name":"string","nodeType":"ElementaryTypeName","src":"4836:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11060,"nodeType":"ArrayTypeName","src":"4836:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4790:77:13"},"returnParameters":{"id":11066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11065,"mutability":"mutable","name":"value","nameLocation":"4918:5:13","nodeType":"VariableDeclaration","scope":11067,"src":"4902:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11063,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11064,"nodeType":"ArrayTypeName","src":"4902:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:23:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11080,"nodeType":"FunctionDefinition","src":"4930:147:13","nodes":[],"functionSelector":"64bc3e64","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4939:5:13","parameters":{"id":11075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11069,"mutability":"mutable","name":"name","nameLocation":"4961:4:13","nodeType":"VariableDeclaration","scope":11080,"src":"4945:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11068,"name":"string","nodeType":"ElementaryTypeName","src":"4945:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11071,"mutability":"mutable","name":"delim","nameLocation":"4983:5:13","nodeType":"VariableDeclaration","scope":11080,"src":"4967:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11070,"name":"string","nodeType":"ElementaryTypeName","src":"4967:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11074,"mutability":"mutable","name":"defaultValue","nameLocation":"5007:12:13","nodeType":"VariableDeclaration","scope":11080,"src":"4990:29:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11072,"name":"bytes","nodeType":"ElementaryTypeName","src":"4990:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11073,"nodeType":"ArrayTypeName","src":"4990:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"4944:76:13"},"returnParameters":{"id":11079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11078,"mutability":"mutable","name":"value","nameLocation":"5070:5:13","nodeType":"VariableDeclaration","scope":11080,"src":"5055:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11076,"name":"bytes","nodeType":"ElementaryTypeName","src":"5055:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11077,"nodeType":"ArrayTypeName","src":"5055:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"5054:22:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11083,"nodeType":"FunctionDefinition","src":"5126:27:13","nodes":[],"functionSelector":"266cf109","implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"5135:6:13","parameters":{"id":11081,"nodeType":"ParameterList","parameters":[],"src":"5141:2:13"},"returnParameters":{"id":11082,"nodeType":"ParameterList","parameters":[],"src":"5152:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11094,"nodeType":"FunctionDefinition","src":"5250:109:13","nodes":[],"functionSelector":"65bc9481","implemented":false,"kind":"function","modifiers":[],"name":"accesses","nameLocation":"5259:8:13","parameters":{"id":11086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11085,"mutability":"mutable","name":"target","nameLocation":"5276:6:13","nodeType":"VariableDeclaration","scope":11094,"src":"5268:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11084,"name":"address","nodeType":"ElementaryTypeName","src":"5268:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5267:16:13"},"returnParameters":{"id":11093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11089,"mutability":"mutable","name":"readSlots","nameLocation":"5319:9:13","nodeType":"VariableDeclaration","scope":11094,"src":"5302:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5302:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11088,"nodeType":"ArrayTypeName","src":"5302:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11092,"mutability":"mutable","name":"writeSlots","nameLocation":"5347:10:13","nodeType":"VariableDeclaration","scope":11094,"src":"5330:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5330:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11091,"nodeType":"ArrayTypeName","src":"5330:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5301:57:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11101,"nodeType":"FunctionDefinition","src":"5467:101:13","nodes":[],"functionSelector":"8d1cc925","implemented":false,"kind":"function","modifiers":[],"name":"getCode","nameLocation":"5476:7:13","parameters":{"id":11097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11096,"mutability":"mutable","name":"artifactPath","nameLocation":"5500:12:13","nodeType":"VariableDeclaration","scope":11101,"src":"5484:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11095,"name":"string","nodeType":"ElementaryTypeName","src":"5484:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5483:30:13"},"returnParameters":{"id":11100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11099,"mutability":"mutable","name":"creationBytecode","nameLocation":"5550:16:13","nodeType":"VariableDeclaration","scope":11101,"src":"5537:29:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11098,"name":"bytes","nodeType":"ElementaryTypeName","src":"5537:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5536:31:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11108,"nodeType":"FunctionDefinition","src":"5676:108:13","nodes":[],"functionSelector":"3ebf73b4","implemented":false,"kind":"function","modifiers":[],"name":"getDeployedCode","nameLocation":"5685:15:13","parameters":{"id":11104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11103,"mutability":"mutable","name":"artifactPath","nameLocation":"5717:12:13","nodeType":"VariableDeclaration","scope":11108,"src":"5701:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11102,"name":"string","nodeType":"ElementaryTypeName","src":"5701:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5700:30:13"},"returnParameters":{"id":11107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11106,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"5767:15:13","nodeType":"VariableDeclaration","scope":11108,"src":"5754:28:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11105,"name":"bytes","nodeType":"ElementaryTypeName","src":"5754:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5753:30:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11115,"nodeType":"FunctionDefinition","src":"5829:67:13","nodes":[],"functionSelector":"c657c718","implemented":false,"kind":"function","modifiers":[],"name":"label","nameLocation":"5838:5:13","parameters":{"id":11113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11110,"mutability":"mutable","name":"account","nameLocation":"5852:7:13","nodeType":"VariableDeclaration","scope":11115,"src":"5844:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11109,"name":"address","nodeType":"ElementaryTypeName","src":"5844:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11112,"mutability":"mutable","name":"newLabel","nameLocation":"5877:8:13","nodeType":"VariableDeclaration","scope":11115,"src":"5861:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11111,"name":"string","nodeType":"ElementaryTypeName","src":"5861:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5843:43:13"},"returnParameters":{"id":11114,"nodeType":"ParameterList","parameters":[],"src":"5895:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11118,"nodeType":"FunctionDefinition","src":"6063:30:13","nodes":[],"functionSelector":"afc98040","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"6072:9:13","parameters":{"id":11116,"nodeType":"ParameterList","parameters":[],"src":"6081:2:13"},"returnParameters":{"id":11117,"nodeType":"ParameterList","parameters":[],"src":"6092:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11123,"nodeType":"FunctionDefinition","src":"6252:44:13","nodes":[],"functionSelector":"e6962cdb","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"6261:9:13","parameters":{"id":11121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11120,"mutability":"mutable","name":"signer","nameLocation":"6279:6:13","nodeType":"VariableDeclaration","scope":11123,"src":"6271:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11119,"name":"address","nodeType":"ElementaryTypeName","src":"6271:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6270:16:13"},"returnParameters":{"id":11122,"nodeType":"ParameterList","parameters":[],"src":"6295:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11128,"nodeType":"FunctionDefinition","src":"6459:48:13","nodes":[],"functionSelector":"f67a965b","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"6468:9:13","parameters":{"id":11126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11125,"mutability":"mutable","name":"privateKey","nameLocation":"6486:10:13","nodeType":"VariableDeclaration","scope":11128,"src":"6478:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11124,"name":"uint256","nodeType":"ElementaryTypeName","src":"6478:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6477:20:13"},"returnParameters":{"id":11127,"nodeType":"ParameterList","parameters":[],"src":"6506:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11131,"nodeType":"FunctionDefinition","src":"6680:35:13","nodes":[],"functionSelector":"7fb5297f","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"6689:14:13","parameters":{"id":11129,"nodeType":"ParameterList","parameters":[],"src":"6703:2:13"},"returnParameters":{"id":11130,"nodeType":"ParameterList","parameters":[],"src":"6714:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11136,"nodeType":"FunctionDefinition","src":"6866:49:13","nodes":[],"functionSelector":"7fec2a8d","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"6875:14:13","parameters":{"id":11134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11133,"mutability":"mutable","name":"signer","nameLocation":"6898:6:13","nodeType":"VariableDeclaration","scope":11136,"src":"6890:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11132,"name":"address","nodeType":"ElementaryTypeName","src":"6890:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6889:16:13"},"returnParameters":{"id":11135,"nodeType":"ParameterList","parameters":[],"src":"6914:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11141,"nodeType":"FunctionDefinition","src":"7070:53:13","nodes":[],"functionSelector":"ce817d47","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"7079:14:13","parameters":{"id":11139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11138,"mutability":"mutable","name":"privateKey","nameLocation":"7102:10:13","nodeType":"VariableDeclaration","scope":11141,"src":"7094:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11137,"name":"uint256","nodeType":"ElementaryTypeName","src":"7094:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7093:20:13"},"returnParameters":{"id":11140,"nodeType":"ParameterList","parameters":[],"src":"7122:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11144,"nodeType":"FunctionDefinition","src":"7173:34:13","nodes":[],"functionSelector":"76eadd36","implemented":false,"kind":"function","modifiers":[],"name":"stopBroadcast","nameLocation":"7182:13:13","parameters":{"id":11142,"nodeType":"ParameterList","parameters":[],"src":"7195:2:13"},"returnParameters":{"id":11143,"nodeType":"ParameterList","parameters":[],"src":"7206:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11151,"nodeType":"FunctionDefinition","src":"7262:83:13","nodes":[],"functionSelector":"60f9bb11","implemented":false,"kind":"function","modifiers":[],"name":"readFile","nameLocation":"7271:8:13","parameters":{"id":11147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11146,"mutability":"mutable","name":"path","nameLocation":"7296:4:13","nodeType":"VariableDeclaration","scope":11151,"src":"7280:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11145,"name":"string","nodeType":"ElementaryTypeName","src":"7280:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7279:22:13"},"returnParameters":{"id":11150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11149,"mutability":"mutable","name":"data","nameLocation":"7339:4:13","nodeType":"VariableDeclaration","scope":11151,"src":"7325:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11148,"name":"string","nodeType":"ElementaryTypeName","src":"7325:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7324:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11158,"nodeType":"FunctionDefinition","src":"7439:88:13","nodes":[],"functionSelector":"16ed7bc4","implemented":false,"kind":"function","modifiers":[],"name":"readFileBinary","nameLocation":"7448:14:13","parameters":{"id":11154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11153,"mutability":"mutable","name":"path","nameLocation":"7479:4:13","nodeType":"VariableDeclaration","scope":11158,"src":"7463:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11152,"name":"string","nodeType":"ElementaryTypeName","src":"7463:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7462:22:13"},"returnParameters":{"id":11157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11156,"mutability":"mutable","name":"data","nameLocation":"7521:4:13","nodeType":"VariableDeclaration","scope":11158,"src":"7508:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11155,"name":"bytes","nodeType":"ElementaryTypeName","src":"7508:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7507:19:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11163,"nodeType":"FunctionDefinition","src":"7580:66:13","nodes":[],"functionSelector":"d930a0e6","implemented":false,"kind":"function","modifiers":[],"name":"projectRoot","nameLocation":"7589:11:13","parameters":{"id":11159,"nodeType":"ParameterList","parameters":[],"src":"7600:2:13"},"returnParameters":{"id":11162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11161,"mutability":"mutable","name":"path","nameLocation":"7640:4:13","nodeType":"VariableDeclaration","scope":11163,"src":"7626:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11160,"name":"string","nodeType":"ElementaryTypeName","src":"7626:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7625:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11171,"nodeType":"FunctionDefinition","src":"7696:93:13","nodes":[],"functionSelector":"af368a08","implemented":false,"kind":"function","modifiers":[],"name":"fsMetadata","nameLocation":"7705:10:13","parameters":{"id":11166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11165,"mutability":"mutable","name":"fileOrDir","nameLocation":"7732:9:13","nodeType":"VariableDeclaration","scope":11171,"src":"7716:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11164,"name":"string","nodeType":"ElementaryTypeName","src":"7716:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7715:27:13"},"returnParameters":{"id":11170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11169,"mutability":"mutable","name":"metadata","nameLocation":"7779:8:13","nodeType":"VariableDeclaration","scope":11171,"src":"7761:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$10756_memory_ptr","typeString":"struct VmSafe.FsMetadata"},"typeName":{"id":11168,"nodeType":"UserDefinedTypeName","pathNode":{"id":11167,"name":"FsMetadata","nodeType":"IdentifierPath","referencedDeclaration":10756,"src":"7761:10:13"},"referencedDeclaration":10756,"src":"7761:10:13","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$10756_storage_ptr","typeString":"struct VmSafe.FsMetadata"}},"visibility":"internal"}],"src":"7760:28:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11178,"nodeType":"FunctionDefinition","src":"7835:83:13","nodes":[],"functionSelector":"70f55728","implemented":false,"kind":"function","modifiers":[],"name":"readLine","nameLocation":"7844:8:13","parameters":{"id":11174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11173,"mutability":"mutable","name":"path","nameLocation":"7869:4:13","nodeType":"VariableDeclaration","scope":11178,"src":"7853:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11172,"name":"string","nodeType":"ElementaryTypeName","src":"7853:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7852:22:13"},"returnParameters":{"id":11177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11176,"mutability":"mutable","name":"line","nameLocation":"7912:4:13","nodeType":"VariableDeclaration","scope":11178,"src":"7898:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11175,"name":"string","nodeType":"ElementaryTypeName","src":"7898:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7897:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11185,"nodeType":"FunctionDefinition","src":"8037:72:13","nodes":[],"functionSelector":"897e0a97","implemented":false,"kind":"function","modifiers":[],"name":"writeFile","nameLocation":"8046:9:13","parameters":{"id":11183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11180,"mutability":"mutable","name":"path","nameLocation":"8072:4:13","nodeType":"VariableDeclaration","scope":11185,"src":"8056:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11179,"name":"string","nodeType":"ElementaryTypeName","src":"8056:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11182,"mutability":"mutable","name":"data","nameLocation":"8094:4:13","nodeType":"VariableDeclaration","scope":11185,"src":"8078:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11181,"name":"string","nodeType":"ElementaryTypeName","src":"8078:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8055:44:13"},"returnParameters":{"id":11184,"nodeType":"ParameterList","parameters":[],"src":"8108:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11192,"nodeType":"FunctionDefinition","src":"8282:77:13","nodes":[],"functionSelector":"1f21fc80","implemented":false,"kind":"function","modifiers":[],"name":"writeFileBinary","nameLocation":"8291:15:13","parameters":{"id":11190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11187,"mutability":"mutable","name":"path","nameLocation":"8323:4:13","nodeType":"VariableDeclaration","scope":11192,"src":"8307:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11186,"name":"string","nodeType":"ElementaryTypeName","src":"8307:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11189,"mutability":"mutable","name":"data","nameLocation":"8344:4:13","nodeType":"VariableDeclaration","scope":11192,"src":"8329:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11188,"name":"bytes","nodeType":"ElementaryTypeName","src":"8329:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8306:43:13"},"returnParameters":{"id":11191,"nodeType":"ParameterList","parameters":[],"src":"8358:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11199,"nodeType":"FunctionDefinition","src":"8430:72:13","nodes":[],"functionSelector":"619d897f","implemented":false,"kind":"function","modifiers":[],"name":"writeLine","nameLocation":"8439:9:13","parameters":{"id":11197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11194,"mutability":"mutable","name":"path","nameLocation":"8465:4:13","nodeType":"VariableDeclaration","scope":11199,"src":"8449:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11193,"name":"string","nodeType":"ElementaryTypeName","src":"8449:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11196,"mutability":"mutable","name":"data","nameLocation":"8487:4:13","nodeType":"VariableDeclaration","scope":11199,"src":"8471:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11195,"name":"string","nodeType":"ElementaryTypeName","src":"8471:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8448:44:13"},"returnParameters":{"id":11198,"nodeType":"ParameterList","parameters":[],"src":"8501:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11204,"nodeType":"FunctionDefinition","src":"8614:50:13","nodes":[],"functionSelector":"48c3241f","implemented":false,"kind":"function","modifiers":[],"name":"closeFile","nameLocation":"8623:9:13","parameters":{"id":11202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11201,"mutability":"mutable","name":"path","nameLocation":"8649:4:13","nodeType":"VariableDeclaration","scope":11204,"src":"8633:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11200,"name":"string","nodeType":"ElementaryTypeName","src":"8633:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8632:22:13"},"returnParameters":{"id":11203,"nodeType":"ParameterList","parameters":[],"src":"8663:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11209,"nodeType":"FunctionDefinition","src":"8912:51:13","nodes":[],"functionSelector":"f1afe04d","implemented":false,"kind":"function","modifiers":[],"name":"removeFile","nameLocation":"8921:10:13","parameters":{"id":11207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11206,"mutability":"mutable","name":"path","nameLocation":"8948:4:13","nodeType":"VariableDeclaration","scope":11209,"src":"8932:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11205,"name":"string","nodeType":"ElementaryTypeName","src":"8932:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8931:22:13"},"returnParameters":{"id":11208,"nodeType":"ParameterList","parameters":[],"src":"8962:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11216,"nodeType":"FunctionDefinition","src":"9002:88:13","nodes":[],"functionSelector":"56ca623e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9011:8:13","parameters":{"id":11212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11211,"mutability":"mutable","name":"value","nameLocation":"9028:5:13","nodeType":"VariableDeclaration","scope":11216,"src":"9020:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11210,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9019:15:13"},"returnParameters":{"id":11215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11214,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9072:16:13","nodeType":"VariableDeclaration","scope":11216,"src":"9058:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11213,"name":"string","nodeType":"ElementaryTypeName","src":"9058:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9057:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11223,"nodeType":"FunctionDefinition","src":"9095:95:13","nodes":[],"functionSelector":"71aad10d","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9104:8:13","parameters":{"id":11219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11218,"mutability":"mutable","name":"value","nameLocation":"9128:5:13","nodeType":"VariableDeclaration","scope":11223,"src":"9113:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11217,"name":"bytes","nodeType":"ElementaryTypeName","src":"9113:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9112:22:13"},"returnParameters":{"id":11222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11221,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9172:16:13","nodeType":"VariableDeclaration","scope":11223,"src":"9158:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11220,"name":"string","nodeType":"ElementaryTypeName","src":"9158:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9157:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11230,"nodeType":"FunctionDefinition","src":"9195:88:13","nodes":[],"functionSelector":"b11a19e8","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9204:8:13","parameters":{"id":11226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11225,"mutability":"mutable","name":"value","nameLocation":"9221:5:13","nodeType":"VariableDeclaration","scope":11230,"src":"9213:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9213:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9212:15:13"},"returnParameters":{"id":11229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11228,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9265:16:13","nodeType":"VariableDeclaration","scope":11230,"src":"9251:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11227,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9250:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11237,"nodeType":"FunctionDefinition","src":"9288:85:13","nodes":[],"functionSelector":"71dce7da","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9297:8:13","parameters":{"id":11233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11232,"mutability":"mutable","name":"value","nameLocation":"9311:5:13","nodeType":"VariableDeclaration","scope":11237,"src":"9306:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11231,"name":"bool","nodeType":"ElementaryTypeName","src":"9306:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9305:12:13"},"returnParameters":{"id":11236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11235,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9355:16:13","nodeType":"VariableDeclaration","scope":11237,"src":"9341:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11234,"name":"string","nodeType":"ElementaryTypeName","src":"9341:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9340:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11244,"nodeType":"FunctionDefinition","src":"9378:88:13","nodes":[],"functionSelector":"6900a3ae","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9387:8:13","parameters":{"id":11240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11239,"mutability":"mutable","name":"value","nameLocation":"9404:5:13","nodeType":"VariableDeclaration","scope":11244,"src":"9396:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11238,"name":"uint256","nodeType":"ElementaryTypeName","src":"9396:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9395:15:13"},"returnParameters":{"id":11243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11242,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9448:16:13","nodeType":"VariableDeclaration","scope":11244,"src":"9434:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11241,"name":"string","nodeType":"ElementaryTypeName","src":"9434:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9433:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11251,"nodeType":"FunctionDefinition","src":"9471:87:13","nodes":[],"functionSelector":"a322c40e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9480:8:13","parameters":{"id":11247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11246,"mutability":"mutable","name":"value","nameLocation":"9496:5:13","nodeType":"VariableDeclaration","scope":11251,"src":"9489:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11245,"name":"int256","nodeType":"ElementaryTypeName","src":"9489:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9488:14:13"},"returnParameters":{"id":11250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11249,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9540:16:13","nodeType":"VariableDeclaration","scope":11251,"src":"9526:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11248,"name":"string","nodeType":"ElementaryTypeName","src":"9526:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9525:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11258,"nodeType":"FunctionDefinition","src":"9599:103:13","nodes":[],"functionSelector":"8f5d232d","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes","nameLocation":"9608:10:13","parameters":{"id":11254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11253,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9635:16:13","nodeType":"VariableDeclaration","scope":11258,"src":"9619:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11252,"name":"string","nodeType":"ElementaryTypeName","src":"9619:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9618:34:13"},"returnParameters":{"id":11257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11256,"mutability":"mutable","name":"parsedValue","nameLocation":"9689:11:13","nodeType":"VariableDeclaration","scope":11258,"src":"9676:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11255,"name":"bytes","nodeType":"ElementaryTypeName","src":"9676:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9675:26:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11265,"nodeType":"FunctionDefinition","src":"9707:100:13","nodes":[],"functionSelector":"c6ce059d","implemented":false,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"9716:12:13","parameters":{"id":11261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11260,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9745:16:13","nodeType":"VariableDeclaration","scope":11265,"src":"9729:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11259,"name":"string","nodeType":"ElementaryTypeName","src":"9729:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9728:34:13"},"returnParameters":{"id":11264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11263,"mutability":"mutable","name":"parsedValue","nameLocation":"9794:11:13","nodeType":"VariableDeclaration","scope":11265,"src":"9786:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11262,"name":"address","nodeType":"ElementaryTypeName","src":"9786:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9785:21:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11272,"nodeType":"FunctionDefinition","src":"9812:97:13","nodes":[],"functionSelector":"fa91454d","implemented":false,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"9821:9:13","parameters":{"id":11268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11267,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9847:16:13","nodeType":"VariableDeclaration","scope":11272,"src":"9831:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11266,"name":"string","nodeType":"ElementaryTypeName","src":"9831:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9830:34:13"},"returnParameters":{"id":11271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11270,"mutability":"mutable","name":"parsedValue","nameLocation":"9896:11:13","nodeType":"VariableDeclaration","scope":11272,"src":"9888:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11269,"name":"uint256","nodeType":"ElementaryTypeName","src":"9888:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9887:21:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11279,"nodeType":"FunctionDefinition","src":"9914:95:13","nodes":[],"functionSelector":"42346c5e","implemented":false,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"9923:8:13","parameters":{"id":11275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11274,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9948:16:13","nodeType":"VariableDeclaration","scope":11279,"src":"9932:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11273,"name":"string","nodeType":"ElementaryTypeName","src":"9932:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9931:34:13"},"returnParameters":{"id":11278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11277,"mutability":"mutable","name":"parsedValue","nameLocation":"9996:11:13","nodeType":"VariableDeclaration","scope":11279,"src":"9989:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11276,"name":"int256","nodeType":"ElementaryTypeName","src":"9989:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9988:20:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11286,"nodeType":"FunctionDefinition","src":"10014:100:13","nodes":[],"functionSelector":"087e6e81","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes32","nameLocation":"10023:12:13","parameters":{"id":11282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11281,"mutability":"mutable","name":"stringifiedValue","nameLocation":"10052:16:13","nodeType":"VariableDeclaration","scope":11286,"src":"10036:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11280,"name":"string","nodeType":"ElementaryTypeName","src":"10036:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10035:34:13"},"returnParameters":{"id":11285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11284,"mutability":"mutable","name":"parsedValue","nameLocation":"10101:11:13","nodeType":"VariableDeclaration","scope":11286,"src":"10093:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10093:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10092:21:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11293,"nodeType":"FunctionDefinition","src":"10119:94:13","nodes":[],"functionSelector":"974ef924","implemented":false,"kind":"function","modifiers":[],"name":"parseBool","nameLocation":"10128:9:13","parameters":{"id":11289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11288,"mutability":"mutable","name":"stringifiedValue","nameLocation":"10154:16:13","nodeType":"VariableDeclaration","scope":11293,"src":"10138:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11287,"name":"string","nodeType":"ElementaryTypeName","src":"10138:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10137:34:13"},"returnParameters":{"id":11292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11291,"mutability":"mutable","name":"parsedValue","nameLocation":"10200:11:13","nodeType":"VariableDeclaration","scope":11293,"src":"10195:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11290,"name":"bool","nodeType":"ElementaryTypeName","src":"10195:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10194:18:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11296,"nodeType":"FunctionDefinition","src":"10257:31:13","nodes":[],"functionSelector":"41af2f52","implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"10266:10:13","parameters":{"id":11294,"nodeType":"ParameterList","parameters":[],"src":"10276:2:13"},"returnParameters":{"id":11295,"nodeType":"ParameterList","parameters":[],"src":"10287:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11303,"nodeType":"FunctionDefinition","src":"10327:64:13","nodes":[],"functionSelector":"191553a4","implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"10336:15:13","parameters":{"id":11297,"nodeType":"ParameterList","parameters":[],"src":"10351:2:13"},"returnParameters":{"id":11302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11301,"mutability":"mutable","name":"logs","nameLocation":"10385:4:13","nodeType":"VariableDeclaration","scope":11303,"src":"10372:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$10736_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":11299,"nodeType":"UserDefinedTypeName","pathNode":{"id":11298,"name":"Log","nodeType":"IdentifierPath","referencedDeclaration":10736,"src":"10372:3:13"},"referencedDeclaration":10736,"src":"10372:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$10736_storage_ptr","typeString":"struct VmSafe.Log"}},"id":11300,"nodeType":"ArrayTypeName","src":"10372:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$10736_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"10371:19:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11312,"nodeType":"FunctionDefinition","src":"10526:102:13","nodes":[],"functionSelector":"6229498b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"10535:9:13","parameters":{"id":11308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11305,"mutability":"mutable","name":"mnemonic","nameLocation":"10561:8:13","nodeType":"VariableDeclaration","scope":11312,"src":"10545:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11304,"name":"string","nodeType":"ElementaryTypeName","src":"10545:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11307,"mutability":"mutable","name":"index","nameLocation":"10578:5:13","nodeType":"VariableDeclaration","scope":11312,"src":"10571:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11306,"name":"uint32","nodeType":"ElementaryTypeName","src":"10571:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"10544:40:13"},"returnParameters":{"id":11311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11310,"mutability":"mutable","name":"privateKey","nameLocation":"10616:10:13","nodeType":"VariableDeclaration","scope":11312,"src":"10608:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11309,"name":"uint256","nodeType":"ElementaryTypeName","src":"10608:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10607:20:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11323,"nodeType":"FunctionDefinition","src":"10744:158:13","nodes":[],"functionSelector":"6bcb2c1b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"10753:9:13","parameters":{"id":11319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11314,"mutability":"mutable","name":"mnemonic","nameLocation":"10779:8:13","nodeType":"VariableDeclaration","scope":11323,"src":"10763:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11313,"name":"string","nodeType":"ElementaryTypeName","src":"10763:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11316,"mutability":"mutable","name":"derivationPath","nameLocation":"10805:14:13","nodeType":"VariableDeclaration","scope":11323,"src":"10789:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11315,"name":"string","nodeType":"ElementaryTypeName","src":"10789:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11318,"mutability":"mutable","name":"index","nameLocation":"10828:5:13","nodeType":"VariableDeclaration","scope":11323,"src":"10821:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11317,"name":"uint32","nodeType":"ElementaryTypeName","src":"10821:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"10762:72:13"},"returnParameters":{"id":11322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11321,"mutability":"mutable","name":"privateKey","nameLocation":"10890:10:13","nodeType":"VariableDeclaration","scope":11323,"src":"10882:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11320,"name":"uint256","nodeType":"ElementaryTypeName","src":"10882:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10881:20:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11330,"nodeType":"FunctionDefinition","src":"10983:76:13","nodes":[],"functionSelector":"22100064","implemented":false,"kind":"function","modifiers":[],"name":"rememberKey","nameLocation":"10992:11:13","parameters":{"id":11326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11325,"mutability":"mutable","name":"privateKey","nameLocation":"11012:10:13","nodeType":"VariableDeclaration","scope":11330,"src":"11004:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11324,"name":"uint256","nodeType":"ElementaryTypeName","src":"11004:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11003:20:13"},"returnParameters":{"id":11329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11328,"mutability":"mutable","name":"keyAddr","nameLocation":"11050:7:13","nodeType":"VariableDeclaration","scope":11330,"src":"11042:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11327,"name":"address","nodeType":"ElementaryTypeName","src":"11042:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11041:17:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11339,"nodeType":"FunctionDefinition","src":"12092:114:13","nodes":[],"functionSelector":"85940ef1","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"12101:9:13","parameters":{"id":11335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11332,"mutability":"mutable","name":"json","nameLocation":"12127:4:13","nodeType":"VariableDeclaration","scope":11339,"src":"12111:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11331,"name":"string","nodeType":"ElementaryTypeName","src":"12111:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11334,"mutability":"mutable","name":"key","nameLocation":"12149:3:13","nodeType":"VariableDeclaration","scope":11339,"src":"12133:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11333,"name":"string","nodeType":"ElementaryTypeName","src":"12133:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12110:43:13"},"returnParameters":{"id":11338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11337,"mutability":"mutable","name":"abiEncodedData","nameLocation":"12190:14:13","nodeType":"VariableDeclaration","scope":11339,"src":"12177:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11336,"name":"bytes","nodeType":"ElementaryTypeName","src":"12177:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12176:29:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11346,"nodeType":"FunctionDefinition","src":"12211:93:13","nodes":[],"functionSelector":"6a82600a","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"12220:9:13","parameters":{"id":11342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11341,"mutability":"mutable","name":"json","nameLocation":"12246:4:13","nodeType":"VariableDeclaration","scope":11346,"src":"12230:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11340,"name":"string","nodeType":"ElementaryTypeName","src":"12230:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12229:22:13"},"returnParameters":{"id":11345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11344,"mutability":"mutable","name":"abiEncodedData","nameLocation":"12288:14:13","nodeType":"VariableDeclaration","scope":11346,"src":"12275:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11343,"name":"bytes","nodeType":"ElementaryTypeName","src":"12275:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12274:29:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11355,"nodeType":"FunctionDefinition","src":"12692:84:13","nodes":[],"functionSelector":"addde2b6","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUint","nameLocation":"12701:13:13","parameters":{"id":11351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11355,"src":"12715:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11347,"name":"string","nodeType":"ElementaryTypeName","src":"12715:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11350,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11355,"src":"12732:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11349,"name":"string","nodeType":"ElementaryTypeName","src":"12732:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12714:34:13"},"returnParameters":{"id":11354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11353,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11355,"src":"12767:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11352,"name":"uint256","nodeType":"ElementaryTypeName","src":"12767:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12766:9:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11365,"nodeType":"FunctionDefinition","src":"12781:98:13","nodes":[],"functionSelector":"522074ab","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUintArray","nameLocation":"12790:18:13","parameters":{"id":11360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11365,"src":"12809:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11356,"name":"string","nodeType":"ElementaryTypeName","src":"12809:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11365,"src":"12826:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11358,"name":"string","nodeType":"ElementaryTypeName","src":"12826:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12808:34:13"},"returnParameters":{"id":11364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11365,"src":"12861:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11361,"name":"uint256","nodeType":"ElementaryTypeName","src":"12861:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11362,"nodeType":"ArrayTypeName","src":"12861:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"12860:18:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11374,"nodeType":"FunctionDefinition","src":"12884:82:13","nodes":[],"functionSelector":"7b048ccd","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonInt","nameLocation":"12893:12:13","parameters":{"id":11370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11374,"src":"12906:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11366,"name":"string","nodeType":"ElementaryTypeName","src":"12906:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11374,"src":"12923:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11368,"name":"string","nodeType":"ElementaryTypeName","src":"12923:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12905:34:13"},"returnParameters":{"id":11373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11374,"src":"12958:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11371,"name":"int256","nodeType":"ElementaryTypeName","src":"12958:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12957:8:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11384,"nodeType":"FunctionDefinition","src":"12971:96:13","nodes":[],"functionSelector":"9983c28a","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonIntArray","nameLocation":"12980:17:13","parameters":{"id":11379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11376,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11384,"src":"12998:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11375,"name":"string","nodeType":"ElementaryTypeName","src":"12998:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11378,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11384,"src":"13015:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11377,"name":"string","nodeType":"ElementaryTypeName","src":"13015:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12997:34:13"},"returnParameters":{"id":11383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11384,"src":"13050:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11380,"name":"int256","nodeType":"ElementaryTypeName","src":"13050:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11381,"nodeType":"ArrayTypeName","src":"13050:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"13049:17:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11393,"nodeType":"FunctionDefinition","src":"13072:81:13","nodes":[],"functionSelector":"9f86dc91","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBool","nameLocation":"13081:13:13","parameters":{"id":11389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11393,"src":"13095:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11385,"name":"string","nodeType":"ElementaryTypeName","src":"13095:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11393,"src":"13112:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11387,"name":"string","nodeType":"ElementaryTypeName","src":"13112:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13094:34:13"},"returnParameters":{"id":11392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11393,"src":"13147:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11390,"name":"bool","nodeType":"ElementaryTypeName","src":"13147:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13146:6:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11403,"nodeType":"FunctionDefinition","src":"13158:95:13","nodes":[],"functionSelector":"91f3b94f","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBoolArray","nameLocation":"13167:18:13","parameters":{"id":11398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11403,"src":"13186:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11394,"name":"string","nodeType":"ElementaryTypeName","src":"13186:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11397,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11403,"src":"13203:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11396,"name":"string","nodeType":"ElementaryTypeName","src":"13203:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13185:34:13"},"returnParameters":{"id":11402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11401,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11403,"src":"13238:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11399,"name":"bool","nodeType":"ElementaryTypeName","src":"13238:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11400,"nodeType":"ArrayTypeName","src":"13238:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"13237:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11412,"nodeType":"FunctionDefinition","src":"13258:87:13","nodes":[],"functionSelector":"1e19e657","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddress","nameLocation":"13267:16:13","parameters":{"id":11408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11412,"src":"13284:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11404,"name":"string","nodeType":"ElementaryTypeName","src":"13284:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11412,"src":"13301:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11406,"name":"string","nodeType":"ElementaryTypeName","src":"13301:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13283:34:13"},"returnParameters":{"id":11411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11410,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11412,"src":"13336:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11409,"name":"address","nodeType":"ElementaryTypeName","src":"13336:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13335:9:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11422,"nodeType":"FunctionDefinition","src":"13350:101:13","nodes":[],"functionSelector":"2fce7883","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddressArray","nameLocation":"13359:21:13","parameters":{"id":11417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11422,"src":"13381:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11413,"name":"string","nodeType":"ElementaryTypeName","src":"13381:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11416,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11422,"src":"13398:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11415,"name":"string","nodeType":"ElementaryTypeName","src":"13398:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13380:34:13"},"returnParameters":{"id":11421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11422,"src":"13433:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11418,"name":"address","nodeType":"ElementaryTypeName","src":"13433:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11419,"nodeType":"ArrayTypeName","src":"13433:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"13432:18:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11431,"nodeType":"FunctionDefinition","src":"13456:92:13","nodes":[],"functionSelector":"49c4fac8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonString","nameLocation":"13465:15:13","parameters":{"id":11427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11431,"src":"13481:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11423,"name":"string","nodeType":"ElementaryTypeName","src":"13481:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11431,"src":"13498:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11425,"name":"string","nodeType":"ElementaryTypeName","src":"13498:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13480:34:13"},"returnParameters":{"id":11430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11431,"src":"13533:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11428,"name":"string","nodeType":"ElementaryTypeName","src":"13533:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13532:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11441,"nodeType":"FunctionDefinition","src":"13553:99:13","nodes":[],"functionSelector":"498fdcf4","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonStringArray","nameLocation":"13562:20:13","parameters":{"id":11436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11433,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11441,"src":"13583:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11432,"name":"string","nodeType":"ElementaryTypeName","src":"13583:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11435,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11441,"src":"13600:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11434,"name":"string","nodeType":"ElementaryTypeName","src":"13600:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13582:34:13"},"returnParameters":{"id":11440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11441,"src":"13635:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11437,"name":"string","nodeType":"ElementaryTypeName","src":"13635:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11438,"nodeType":"ArrayTypeName","src":"13635:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13634:17:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11450,"nodeType":"FunctionDefinition","src":"13657:90:13","nodes":[],"functionSelector":"fd921be8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes","nameLocation":"13666:14:13","parameters":{"id":11446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11450,"src":"13681:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11442,"name":"string","nodeType":"ElementaryTypeName","src":"13681:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11445,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11450,"src":"13698:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11444,"name":"string","nodeType":"ElementaryTypeName","src":"13698:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13680:34:13"},"returnParameters":{"id":11449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11450,"src":"13733:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11447,"name":"bytes","nodeType":"ElementaryTypeName","src":"13733:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13732:14:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11460,"nodeType":"FunctionDefinition","src":"13752:97:13","nodes":[],"functionSelector":"6631aa99","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytesArray","nameLocation":"13761:19:13","parameters":{"id":11455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11452,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11460,"src":"13781:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11451,"name":"string","nodeType":"ElementaryTypeName","src":"13781:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11460,"src":"13798:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11453,"name":"string","nodeType":"ElementaryTypeName","src":"13798:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13780:34:13"},"returnParameters":{"id":11459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11460,"src":"13833:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11456,"name":"bytes","nodeType":"ElementaryTypeName","src":"13833:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11457,"nodeType":"ArrayTypeName","src":"13833:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13832:16:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11469,"nodeType":"FunctionDefinition","src":"13854:87:13","nodes":[],"functionSelector":"1777e59d","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32","nameLocation":"13863:16:13","parameters":{"id":11465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11462,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11469,"src":"13880:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11461,"name":"string","nodeType":"ElementaryTypeName","src":"13880:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11469,"src":"13897:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11463,"name":"string","nodeType":"ElementaryTypeName","src":"13897:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13879:34:13"},"returnParameters":{"id":11468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11467,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11469,"src":"13932:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13932:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13931:9:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11479,"nodeType":"FunctionDefinition","src":"13946:101:13","nodes":[],"functionSelector":"91c75bc3","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32Array","nameLocation":"13955:21:13","parameters":{"id":11474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11479,"src":"13977:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11470,"name":"string","nodeType":"ElementaryTypeName","src":"13977:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11473,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11479,"src":"13994:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11472,"name":"string","nodeType":"ElementaryTypeName","src":"13994:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13976:34:13"},"returnParameters":{"id":11478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11477,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11479,"src":"14029:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14029:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11476,"nodeType":"ArrayTypeName","src":"14029:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"14028:18:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11490,"nodeType":"FunctionDefinition","src":"14243:142:13","nodes":[],"functionSelector":"ac22e971","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"14252:13:13","parameters":{"id":11486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11481,"mutability":"mutable","name":"objectKey","nameLocation":"14282:9:13","nodeType":"VariableDeclaration","scope":11490,"src":"14266:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11480,"name":"string","nodeType":"ElementaryTypeName","src":"14266:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11483,"mutability":"mutable","name":"valueKey","nameLocation":"14309:8:13","nodeType":"VariableDeclaration","scope":11490,"src":"14293:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11482,"name":"string","nodeType":"ElementaryTypeName","src":"14293:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11485,"mutability":"mutable","name":"value","nameLocation":"14324:5:13","nodeType":"VariableDeclaration","scope":11490,"src":"14319:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11484,"name":"bool","nodeType":"ElementaryTypeName","src":"14319:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14265:65:13"},"returnParameters":{"id":11489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11488,"mutability":"mutable","name":"json","nameLocation":"14379:4:13","nodeType":"VariableDeclaration","scope":11490,"src":"14365:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11487,"name":"string","nodeType":"ElementaryTypeName","src":"14365:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14364:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11501,"nodeType":"FunctionDefinition","src":"14390:145:13","nodes":[],"functionSelector":"129e9002","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"14399:13:13","parameters":{"id":11497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11492,"mutability":"mutable","name":"objectKey","nameLocation":"14429:9:13","nodeType":"VariableDeclaration","scope":11501,"src":"14413:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11491,"name":"string","nodeType":"ElementaryTypeName","src":"14413:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11494,"mutability":"mutable","name":"valueKey","nameLocation":"14456:8:13","nodeType":"VariableDeclaration","scope":11501,"src":"14440:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11493,"name":"string","nodeType":"ElementaryTypeName","src":"14440:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11496,"mutability":"mutable","name":"value","nameLocation":"14474:5:13","nodeType":"VariableDeclaration","scope":11501,"src":"14466:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11495,"name":"uint256","nodeType":"ElementaryTypeName","src":"14466:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14412:68:13"},"returnParameters":{"id":11500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11499,"mutability":"mutable","name":"json","nameLocation":"14529:4:13","nodeType":"VariableDeclaration","scope":11501,"src":"14515:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11498,"name":"string","nodeType":"ElementaryTypeName","src":"14515:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14514:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11512,"nodeType":"FunctionDefinition","src":"14540:143:13","nodes":[],"functionSelector":"3f33db60","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"14549:12:13","parameters":{"id":11508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11503,"mutability":"mutable","name":"objectKey","nameLocation":"14578:9:13","nodeType":"VariableDeclaration","scope":11512,"src":"14562:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11502,"name":"string","nodeType":"ElementaryTypeName","src":"14562:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11505,"mutability":"mutable","name":"valueKey","nameLocation":"14605:8:13","nodeType":"VariableDeclaration","scope":11512,"src":"14589:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11504,"name":"string","nodeType":"ElementaryTypeName","src":"14589:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11507,"mutability":"mutable","name":"value","nameLocation":"14622:5:13","nodeType":"VariableDeclaration","scope":11512,"src":"14615:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11506,"name":"int256","nodeType":"ElementaryTypeName","src":"14615:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"14561:67:13"},"returnParameters":{"id":11511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11510,"mutability":"mutable","name":"json","nameLocation":"14677:4:13","nodeType":"VariableDeclaration","scope":11512,"src":"14663:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11509,"name":"string","nodeType":"ElementaryTypeName","src":"14663:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14662:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11523,"nodeType":"FunctionDefinition","src":"14688:148:13","nodes":[],"functionSelector":"972c6062","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"14697:16:13","parameters":{"id":11519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11514,"mutability":"mutable","name":"objectKey","nameLocation":"14730:9:13","nodeType":"VariableDeclaration","scope":11523,"src":"14714:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11513,"name":"string","nodeType":"ElementaryTypeName","src":"14714:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11516,"mutability":"mutable","name":"valueKey","nameLocation":"14757:8:13","nodeType":"VariableDeclaration","scope":11523,"src":"14741:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11515,"name":"string","nodeType":"ElementaryTypeName","src":"14741:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11518,"mutability":"mutable","name":"value","nameLocation":"14775:5:13","nodeType":"VariableDeclaration","scope":11523,"src":"14767:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11517,"name":"address","nodeType":"ElementaryTypeName","src":"14767:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14713:68:13"},"returnParameters":{"id":11522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11521,"mutability":"mutable","name":"json","nameLocation":"14830:4:13","nodeType":"VariableDeclaration","scope":11523,"src":"14816:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11520,"name":"string","nodeType":"ElementaryTypeName","src":"14816:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14815:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11534,"nodeType":"FunctionDefinition","src":"14841:148:13","nodes":[],"functionSelector":"2d812b44","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"14850:16:13","parameters":{"id":11530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11525,"mutability":"mutable","name":"objectKey","nameLocation":"14883:9:13","nodeType":"VariableDeclaration","scope":11534,"src":"14867:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11524,"name":"string","nodeType":"ElementaryTypeName","src":"14867:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11527,"mutability":"mutable","name":"valueKey","nameLocation":"14910:8:13","nodeType":"VariableDeclaration","scope":11534,"src":"14894:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11526,"name":"string","nodeType":"ElementaryTypeName","src":"14894:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11529,"mutability":"mutable","name":"value","nameLocation":"14928:5:13","nodeType":"VariableDeclaration","scope":11534,"src":"14920:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14920:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14866:68:13"},"returnParameters":{"id":11533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11532,"mutability":"mutable","name":"json","nameLocation":"14983:4:13","nodeType":"VariableDeclaration","scope":11534,"src":"14969:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11531,"name":"string","nodeType":"ElementaryTypeName","src":"14969:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14968:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11545,"nodeType":"FunctionDefinition","src":"14994:155:13","nodes":[],"functionSelector":"88da6d35","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"15003:15:13","parameters":{"id":11541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11536,"mutability":"mutable","name":"objectKey","nameLocation":"15035:9:13","nodeType":"VariableDeclaration","scope":11545,"src":"15019:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11535,"name":"string","nodeType":"ElementaryTypeName","src":"15019:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11538,"mutability":"mutable","name":"valueKey","nameLocation":"15062:8:13","nodeType":"VariableDeclaration","scope":11545,"src":"15046:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11537,"name":"string","nodeType":"ElementaryTypeName","src":"15046:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11540,"mutability":"mutable","name":"value","nameLocation":"15088:5:13","nodeType":"VariableDeclaration","scope":11545,"src":"15072:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11539,"name":"string","nodeType":"ElementaryTypeName","src":"15072:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15018:76:13"},"returnParameters":{"id":11544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11543,"mutability":"mutable","name":"json","nameLocation":"15143:4:13","nodeType":"VariableDeclaration","scope":11545,"src":"15129:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11542,"name":"string","nodeType":"ElementaryTypeName","src":"15129:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15128:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11556,"nodeType":"FunctionDefinition","src":"15154:153:13","nodes":[],"functionSelector":"f21d52c7","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"15163:14:13","parameters":{"id":11552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11547,"mutability":"mutable","name":"objectKey","nameLocation":"15194:9:13","nodeType":"VariableDeclaration","scope":11556,"src":"15178:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11546,"name":"string","nodeType":"ElementaryTypeName","src":"15178:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11549,"mutability":"mutable","name":"valueKey","nameLocation":"15221:8:13","nodeType":"VariableDeclaration","scope":11556,"src":"15205:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11548,"name":"string","nodeType":"ElementaryTypeName","src":"15205:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11551,"mutability":"mutable","name":"value","nameLocation":"15246:5:13","nodeType":"VariableDeclaration","scope":11556,"src":"15231:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11550,"name":"bytes","nodeType":"ElementaryTypeName","src":"15231:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15177:75:13"},"returnParameters":{"id":11555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11554,"mutability":"mutable","name":"json","nameLocation":"15301:4:13","nodeType":"VariableDeclaration","scope":11556,"src":"15287:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11553,"name":"string","nodeType":"ElementaryTypeName","src":"15287:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15286:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11568,"nodeType":"FunctionDefinition","src":"15313:154:13","nodes":[],"functionSelector":"92925aa1","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"15322:13:13","parameters":{"id":11564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11558,"mutability":"mutable","name":"objectKey","nameLocation":"15352:9:13","nodeType":"VariableDeclaration","scope":11568,"src":"15336:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11557,"name":"string","nodeType":"ElementaryTypeName","src":"15336:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11560,"mutability":"mutable","name":"valueKey","nameLocation":"15379:8:13","nodeType":"VariableDeclaration","scope":11568,"src":"15363:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11559,"name":"string","nodeType":"ElementaryTypeName","src":"15363:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11563,"mutability":"mutable","name":"values","nameLocation":"15405:6:13","nodeType":"VariableDeclaration","scope":11568,"src":"15389:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11561,"name":"bool","nodeType":"ElementaryTypeName","src":"15389:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11562,"nodeType":"ArrayTypeName","src":"15389:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"15335:77:13"},"returnParameters":{"id":11567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11566,"mutability":"mutable","name":"json","nameLocation":"15461:4:13","nodeType":"VariableDeclaration","scope":11568,"src":"15447:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11565,"name":"string","nodeType":"ElementaryTypeName","src":"15447:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15446:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11580,"nodeType":"FunctionDefinition","src":"15472:157:13","nodes":[],"functionSelector":"fee9a469","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"15481:13:13","parameters":{"id":11576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11570,"mutability":"mutable","name":"objectKey","nameLocation":"15511:9:13","nodeType":"VariableDeclaration","scope":11580,"src":"15495:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11569,"name":"string","nodeType":"ElementaryTypeName","src":"15495:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11572,"mutability":"mutable","name":"valueKey","nameLocation":"15538:8:13","nodeType":"VariableDeclaration","scope":11580,"src":"15522:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11571,"name":"string","nodeType":"ElementaryTypeName","src":"15522:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11575,"mutability":"mutable","name":"values","nameLocation":"15567:6:13","nodeType":"VariableDeclaration","scope":11580,"src":"15548:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11573,"name":"uint256","nodeType":"ElementaryTypeName","src":"15548:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11574,"nodeType":"ArrayTypeName","src":"15548:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15494:80:13"},"returnParameters":{"id":11579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11578,"mutability":"mutable","name":"json","nameLocation":"15623:4:13","nodeType":"VariableDeclaration","scope":11580,"src":"15609:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11577,"name":"string","nodeType":"ElementaryTypeName","src":"15609:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15608:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11592,"nodeType":"FunctionDefinition","src":"15634:155:13","nodes":[],"functionSelector":"7676e127","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"15643:12:13","parameters":{"id":11588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11582,"mutability":"mutable","name":"objectKey","nameLocation":"15672:9:13","nodeType":"VariableDeclaration","scope":11592,"src":"15656:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11581,"name":"string","nodeType":"ElementaryTypeName","src":"15656:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11584,"mutability":"mutable","name":"valueKey","nameLocation":"15699:8:13","nodeType":"VariableDeclaration","scope":11592,"src":"15683:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11583,"name":"string","nodeType":"ElementaryTypeName","src":"15683:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11587,"mutability":"mutable","name":"values","nameLocation":"15727:6:13","nodeType":"VariableDeclaration","scope":11592,"src":"15709:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11585,"name":"int256","nodeType":"ElementaryTypeName","src":"15709:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11586,"nodeType":"ArrayTypeName","src":"15709:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"15655:79:13"},"returnParameters":{"id":11591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11590,"mutability":"mutable","name":"json","nameLocation":"15783:4:13","nodeType":"VariableDeclaration","scope":11592,"src":"15769:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11589,"name":"string","nodeType":"ElementaryTypeName","src":"15769:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15768:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11604,"nodeType":"FunctionDefinition","src":"15794:160:13","nodes":[],"functionSelector":"1e356e1a","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"15803:16:13","parameters":{"id":11600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11594,"mutability":"mutable","name":"objectKey","nameLocation":"15836:9:13","nodeType":"VariableDeclaration","scope":11604,"src":"15820:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11593,"name":"string","nodeType":"ElementaryTypeName","src":"15820:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11596,"mutability":"mutable","name":"valueKey","nameLocation":"15863:8:13","nodeType":"VariableDeclaration","scope":11604,"src":"15847:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11595,"name":"string","nodeType":"ElementaryTypeName","src":"15847:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11599,"mutability":"mutable","name":"values","nameLocation":"15892:6:13","nodeType":"VariableDeclaration","scope":11604,"src":"15873:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11597,"name":"address","nodeType":"ElementaryTypeName","src":"15873:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11598,"nodeType":"ArrayTypeName","src":"15873:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15819:80:13"},"returnParameters":{"id":11603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11602,"mutability":"mutable","name":"json","nameLocation":"15948:4:13","nodeType":"VariableDeclaration","scope":11604,"src":"15934:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11601,"name":"string","nodeType":"ElementaryTypeName","src":"15934:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15933:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11616,"nodeType":"FunctionDefinition","src":"15959:160:13","nodes":[],"functionSelector":"201e43e2","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"15968:16:13","parameters":{"id":11612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11606,"mutability":"mutable","name":"objectKey","nameLocation":"16001:9:13","nodeType":"VariableDeclaration","scope":11616,"src":"15985:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11605,"name":"string","nodeType":"ElementaryTypeName","src":"15985:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11608,"mutability":"mutable","name":"valueKey","nameLocation":"16028:8:13","nodeType":"VariableDeclaration","scope":11616,"src":"16012:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11607,"name":"string","nodeType":"ElementaryTypeName","src":"16012:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11611,"mutability":"mutable","name":"values","nameLocation":"16057:6:13","nodeType":"VariableDeclaration","scope":11616,"src":"16038:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16038:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11610,"nodeType":"ArrayTypeName","src":"16038:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"15984:80:13"},"returnParameters":{"id":11615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11614,"mutability":"mutable","name":"json","nameLocation":"16113:4:13","nodeType":"VariableDeclaration","scope":11616,"src":"16099:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11613,"name":"string","nodeType":"ElementaryTypeName","src":"16099:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16098:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11628,"nodeType":"FunctionDefinition","src":"16124:158:13","nodes":[],"functionSelector":"561cd6f3","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"16133:15:13","parameters":{"id":11624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11618,"mutability":"mutable","name":"objectKey","nameLocation":"16165:9:13","nodeType":"VariableDeclaration","scope":11628,"src":"16149:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11617,"name":"string","nodeType":"ElementaryTypeName","src":"16149:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11620,"mutability":"mutable","name":"valueKey","nameLocation":"16192:8:13","nodeType":"VariableDeclaration","scope":11628,"src":"16176:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11619,"name":"string","nodeType":"ElementaryTypeName","src":"16176:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11623,"mutability":"mutable","name":"values","nameLocation":"16220:6:13","nodeType":"VariableDeclaration","scope":11628,"src":"16202:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11621,"name":"string","nodeType":"ElementaryTypeName","src":"16202:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11622,"nodeType":"ArrayTypeName","src":"16202:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"16148:79:13"},"returnParameters":{"id":11627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11626,"mutability":"mutable","name":"json","nameLocation":"16276:4:13","nodeType":"VariableDeclaration","scope":11628,"src":"16262:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11625,"name":"string","nodeType":"ElementaryTypeName","src":"16262:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16261:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11640,"nodeType":"FunctionDefinition","src":"16287:156:13","nodes":[],"functionSelector":"9884b232","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"16296:14:13","parameters":{"id":11636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11630,"mutability":"mutable","name":"objectKey","nameLocation":"16327:9:13","nodeType":"VariableDeclaration","scope":11640,"src":"16311:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11629,"name":"string","nodeType":"ElementaryTypeName","src":"16311:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11632,"mutability":"mutable","name":"valueKey","nameLocation":"16354:8:13","nodeType":"VariableDeclaration","scope":11640,"src":"16338:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11631,"name":"string","nodeType":"ElementaryTypeName","src":"16338:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11635,"mutability":"mutable","name":"values","nameLocation":"16381:6:13","nodeType":"VariableDeclaration","scope":11640,"src":"16364:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11633,"name":"bytes","nodeType":"ElementaryTypeName","src":"16364:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11634,"nodeType":"ArrayTypeName","src":"16364:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"16310:78:13"},"returnParameters":{"id":11639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11638,"mutability":"mutable","name":"json","nameLocation":"16437:4:13","nodeType":"VariableDeclaration","scope":11640,"src":"16423:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11637,"name":"string","nodeType":"ElementaryTypeName","src":"16423:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16422:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11647,"nodeType":"FunctionDefinition","src":"17684:72:13","nodes":[],"functionSelector":"e23cd19f","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"17693:9:13","parameters":{"id":11645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11642,"mutability":"mutable","name":"json","nameLocation":"17719:4:13","nodeType":"VariableDeclaration","scope":11647,"src":"17703:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11641,"name":"string","nodeType":"ElementaryTypeName","src":"17703:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11644,"mutability":"mutable","name":"path","nameLocation":"17741:4:13","nodeType":"VariableDeclaration","scope":11647,"src":"17725:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11643,"name":"string","nodeType":"ElementaryTypeName","src":"17725:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17702:44:13"},"returnParameters":{"id":11646,"nodeType":"ParameterList","parameters":[],"src":"17755:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11656,"nodeType":"FunctionDefinition","src":"17977:98:13","nodes":[],"functionSelector":"35d6ad46","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"17986:9:13","parameters":{"id":11654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11649,"mutability":"mutable","name":"json","nameLocation":"18012:4:13","nodeType":"VariableDeclaration","scope":11656,"src":"17996:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11648,"name":"string","nodeType":"ElementaryTypeName","src":"17996:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11651,"mutability":"mutable","name":"path","nameLocation":"18034:4:13","nodeType":"VariableDeclaration","scope":11656,"src":"18018:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11650,"name":"string","nodeType":"ElementaryTypeName","src":"18018:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11653,"mutability":"mutable","name":"valueKey","nameLocation":"18056:8:13","nodeType":"VariableDeclaration","scope":11656,"src":"18040:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11652,"name":"string","nodeType":"ElementaryTypeName","src":"18040:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17995:70:13"},"returnParameters":{"id":11655,"nodeType":"ParameterList","parameters":[],"src":"18074:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11663,"nodeType":"FunctionDefinition","src":"18127:85:13","nodes":[],"functionSelector":"975a6ce9","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrl","nameLocation":"18136:6:13","parameters":{"id":11659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11658,"mutability":"mutable","name":"rpcAlias","nameLocation":"18159:8:13","nodeType":"VariableDeclaration","scope":11663,"src":"18143:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11657,"name":"string","nodeType":"ElementaryTypeName","src":"18143:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18142:26:13"},"returnParameters":{"id":11662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11661,"mutability":"mutable","name":"json","nameLocation":"18206:4:13","nodeType":"VariableDeclaration","scope":11663,"src":"18192:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11660,"name":"string","nodeType":"ElementaryTypeName","src":"18192:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18191:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11671,"nodeType":"FunctionDefinition","src":"18280:67:13","nodes":[],"functionSelector":"a85a8418","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrls","nameLocation":"18289:7:13","parameters":{"id":11664,"nodeType":"ParameterList","parameters":[],"src":"18296:2:13"},"returnParameters":{"id":11670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11669,"mutability":"mutable","name":"urls","nameLocation":"18341:4:13","nodeType":"VariableDeclaration","scope":11671,"src":"18322:23:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr","typeString":"string[2][]"},"typeName":{"baseType":{"baseType":{"id":11665,"name":"string","nodeType":"ElementaryTypeName","src":"18322:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11667,"length":{"hexValue":"32","id":11666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18329:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"18322:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$2_storage_ptr","typeString":"string[2]"}},"id":11668,"nodeType":"ArrayTypeName","src":"18322:11:13","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr","typeString":"string[2][]"}},"visibility":"internal"}],"src":"18321:25:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11678,"nodeType":"FunctionDefinition","src":"18410:67:13","nodes":[],"functionSelector":"9d2ad72a","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrlStructs","nameLocation":"18419:13:13","parameters":{"id":11672,"nodeType":"ParameterList","parameters":[],"src":"18432:2:13"},"returnParameters":{"id":11677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11676,"mutability":"mutable","name":"urls","nameLocation":"18471:4:13","nodeType":"VariableDeclaration","scope":11678,"src":"18458:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$10741_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Rpc[]"},"typeName":{"baseType":{"id":11674,"nodeType":"UserDefinedTypeName","pathNode":{"id":11673,"name":"Rpc","nodeType":"IdentifierPath","referencedDeclaration":10741,"src":"18458:3:13"},"referencedDeclaration":10741,"src":"18458:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Rpc_$10741_storage_ptr","typeString":"struct VmSafe.Rpc"}},"id":11675,"nodeType":"ArrayTypeName","src":"18458:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$10741_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Rpc[]"}},"visibility":"internal"}],"src":"18457:19:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11683,"nodeType":"FunctionDefinition","src":"18570:46:13","nodes":[],"functionSelector":"4c63e562","implemented":false,"kind":"function","modifiers":[],"name":"assume","nameLocation":"18579:6:13","parameters":{"id":11681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11680,"mutability":"mutable","name":"condition","nameLocation":"18591:9:13","nodeType":"VariableDeclaration","scope":11683,"src":"18586:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11679,"name":"bool","nodeType":"ElementaryTypeName","src":"18586:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18585:16:13"},"returnParameters":{"id":11682,"nodeType":"ParameterList","parameters":[],"src":"18615:0:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11686,"nodeType":"FunctionDefinition","src":"18705:37:13","nodes":[],"functionSelector":"d1a5b36f","implemented":false,"kind":"function","modifiers":[],"name":"pauseGasMetering","nameLocation":"18714:16:13","parameters":{"id":11684,"nodeType":"ParameterList","parameters":[],"src":"18730:2:13"},"returnParameters":{"id":11685,"nodeType":"ParameterList","parameters":[],"src":"18741:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11689,"nodeType":"FunctionDefinition","src":"18830:38:13","nodes":[],"functionSelector":"2bcd50e0","implemented":false,"kind":"function","modifiers":[],"name":"resumeGasMetering","nameLocation":"18839:17:13","parameters":{"id":11687,"nodeType":"ParameterList","parameters":[],"src":"18856:2:13"},"returnParameters":{"id":11688,"nodeType":"ParameterList","parameters":[],"src":"18867:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"VmSafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[11690],"name":"VmSafe","nameLocation":"581:6:13","scope":12038,"usedErrors":[]},{"id":12037,"nodeType":"ContractDefinition","src":"18872:8271:13","nodes":[{"id":11697,"nodeType":"FunctionDefinition","src":"18929:45:13","nodes":[],"functionSelector":"e5d6bf02","implemented":false,"kind":"function","modifiers":[],"name":"warp","nameLocation":"18938:4:13","parameters":{"id":11695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11694,"mutability":"mutable","name":"newTimestamp","nameLocation":"18951:12:13","nodeType":"VariableDeclaration","scope":11697,"src":"18943:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11693,"name":"uint256","nodeType":"ElementaryTypeName","src":"18943:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18942:22:13"},"returnParameters":{"id":11696,"nodeType":"ParameterList","parameters":[],"src":"18973:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11702,"nodeType":"FunctionDefinition","src":"19004:42:13","nodes":[],"functionSelector":"1f7b4f30","implemented":false,"kind":"function","modifiers":[],"name":"roll","nameLocation":"19013:4:13","parameters":{"id":11700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11699,"mutability":"mutable","name":"newHeight","nameLocation":"19026:9:13","nodeType":"VariableDeclaration","scope":11702,"src":"19018:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11698,"name":"uint256","nodeType":"ElementaryTypeName","src":"19018:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19017:19:13"},"returnParameters":{"id":11701,"nodeType":"ParameterList","parameters":[],"src":"19045:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11707,"nodeType":"FunctionDefinition","src":"19077:42:13","nodes":[],"functionSelector":"39b37ab0","implemented":false,"kind":"function","modifiers":[],"name":"fee","nameLocation":"19086:3:13","parameters":{"id":11705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11704,"mutability":"mutable","name":"newBasefee","nameLocation":"19098:10:13","nodeType":"VariableDeclaration","scope":11707,"src":"19090:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11703,"name":"uint256","nodeType":"ElementaryTypeName","src":"19090:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19089:20:13"},"returnParameters":{"id":11706,"nodeType":"ParameterList","parameters":[],"src":"19118:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11712,"nodeType":"FunctionDefinition","src":"19153:52:13","nodes":[],"functionSelector":"46cc92d9","implemented":false,"kind":"function","modifiers":[],"name":"difficulty","nameLocation":"19162:10:13","parameters":{"id":11710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11709,"mutability":"mutable","name":"newDifficulty","nameLocation":"19181:13:13","nodeType":"VariableDeclaration","scope":11712,"src":"19173:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11708,"name":"uint256","nodeType":"ElementaryTypeName","src":"19173:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19172:23:13"},"returnParameters":{"id":11711,"nodeType":"ParameterList","parameters":[],"src":"19204:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11717,"nodeType":"FunctionDefinition","src":"19236:46:13","nodes":[],"functionSelector":"4049ddd2","implemented":false,"kind":"function","modifiers":[],"name":"chainId","nameLocation":"19245:7:13","parameters":{"id":11715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11714,"mutability":"mutable","name":"newChainId","nameLocation":"19261:10:13","nodeType":"VariableDeclaration","scope":11717,"src":"19253:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11713,"name":"uint256","nodeType":"ElementaryTypeName","src":"19253:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19252:20:13"},"returnParameters":{"id":11716,"nodeType":"ParameterList","parameters":[],"src":"19281:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11726,"nodeType":"FunctionDefinition","src":"19338:69:13","nodes":[],"functionSelector":"70ca10bb","implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"19347:5:13","parameters":{"id":11724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11719,"mutability":"mutable","name":"target","nameLocation":"19361:6:13","nodeType":"VariableDeclaration","scope":11726,"src":"19353:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11718,"name":"address","nodeType":"ElementaryTypeName","src":"19353:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11721,"mutability":"mutable","name":"slot","nameLocation":"19377:4:13","nodeType":"VariableDeclaration","scope":11726,"src":"19369:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19369:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":11723,"mutability":"mutable","name":"value","nameLocation":"19391:5:13","nodeType":"VariableDeclaration","scope":11726,"src":"19383:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19383:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19352:45:13"},"returnParameters":{"id":11725,"nodeType":"ParameterList","parameters":[],"src":"19406:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11733,"nodeType":"FunctionDefinition","src":"19502:61:13","nodes":[],"functionSelector":"f8e18b57","implemented":false,"kind":"function","modifiers":[],"name":"setNonce","nameLocation":"19511:8:13","parameters":{"id":11731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11728,"mutability":"mutable","name":"account","nameLocation":"19528:7:13","nodeType":"VariableDeclaration","scope":11733,"src":"19520:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11727,"name":"address","nodeType":"ElementaryTypeName","src":"19520:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11730,"mutability":"mutable","name":"newNonce","nameLocation":"19544:8:13","nodeType":"VariableDeclaration","scope":11733,"src":"19537:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":11729,"name":"uint64","nodeType":"ElementaryTypeName","src":"19537:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"19519:34:13"},"returnParameters":{"id":11732,"nodeType":"ParameterList","parameters":[],"src":"19562:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11738,"nodeType":"FunctionDefinition","src":"19633:43:13","nodes":[],"functionSelector":"ca669fa7","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"19642:5:13","parameters":{"id":11736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11735,"mutability":"mutable","name":"msgSender","nameLocation":"19656:9:13","nodeType":"VariableDeclaration","scope":11738,"src":"19648:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11734,"name":"address","nodeType":"ElementaryTypeName","src":"19648:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19647:19:13"},"returnParameters":{"id":11737,"nodeType":"ParameterList","parameters":[],"src":"19675:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11743,"nodeType":"FunctionDefinition","src":"19778:48:13","nodes":[],"functionSelector":"06447d56","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"19787:10:13","parameters":{"id":11741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11740,"mutability":"mutable","name":"msgSender","nameLocation":"19806:9:13","nodeType":"VariableDeclaration","scope":11743,"src":"19798:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11739,"name":"address","nodeType":"ElementaryTypeName","src":"19798:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19797:19:13"},"returnParameters":{"id":11742,"nodeType":"ParameterList","parameters":[],"src":"19825:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11750,"nodeType":"FunctionDefinition","src":"19938:61:13","nodes":[],"functionSelector":"47e50cce","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"19947:5:13","parameters":{"id":11748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11745,"mutability":"mutable","name":"msgSender","nameLocation":"19961:9:13","nodeType":"VariableDeclaration","scope":11750,"src":"19953:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11744,"name":"address","nodeType":"ElementaryTypeName","src":"19953:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11747,"mutability":"mutable","name":"txOrigin","nameLocation":"19980:8:13","nodeType":"VariableDeclaration","scope":11750,"src":"19972:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11746,"name":"address","nodeType":"ElementaryTypeName","src":"19972:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19952:37:13"},"returnParameters":{"id":11749,"nodeType":"ParameterList","parameters":[],"src":"19998:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11757,"nodeType":"FunctionDefinition","src":"20143:66:13","nodes":[],"functionSelector":"45b56078","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"20152:10:13","parameters":{"id":11755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11752,"mutability":"mutable","name":"msgSender","nameLocation":"20171:9:13","nodeType":"VariableDeclaration","scope":11757,"src":"20163:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11751,"name":"address","nodeType":"ElementaryTypeName","src":"20163:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11754,"mutability":"mutable","name":"txOrigin","nameLocation":"20190:8:13","nodeType":"VariableDeclaration","scope":11757,"src":"20182:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11753,"name":"address","nodeType":"ElementaryTypeName","src":"20182:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20162:37:13"},"returnParameters":{"id":11756,"nodeType":"ParameterList","parameters":[],"src":"20208:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11760,"nodeType":"FunctionDefinition","src":"20279:30:13","nodes":[],"functionSelector":"90c5013b","implemented":false,"kind":"function","modifiers":[],"name":"stopPrank","nameLocation":"20288:9:13","parameters":{"id":11758,"nodeType":"ParameterList","parameters":[],"src":"20297:2:13"},"returnParameters":{"id":11759,"nodeType":"ParameterList","parameters":[],"src":"20308:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11767,"nodeType":"FunctionDefinition","src":"20346:60:13","nodes":[],"functionSelector":"c88a5e6d","implemented":false,"kind":"function","modifiers":[],"name":"deal","nameLocation":"20355:4:13","parameters":{"id":11765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11762,"mutability":"mutable","name":"account","nameLocation":"20368:7:13","nodeType":"VariableDeclaration","scope":11767,"src":"20360:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11761,"name":"address","nodeType":"ElementaryTypeName","src":"20360:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11764,"mutability":"mutable","name":"newBalance","nameLocation":"20385:10:13","nodeType":"VariableDeclaration","scope":11767,"src":"20377:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11763,"name":"uint256","nodeType":"ElementaryTypeName","src":"20377:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20359:37:13"},"returnParameters":{"id":11766,"nodeType":"ParameterList","parameters":[],"src":"20405:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11774,"nodeType":"FunctionDefinition","src":"20440:74:13","nodes":[],"functionSelector":"b4d6c782","implemented":false,"kind":"function","modifiers":[],"name":"etch","nameLocation":"20449:4:13","parameters":{"id":11772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11769,"mutability":"mutable","name":"target","nameLocation":"20462:6:13","nodeType":"VariableDeclaration","scope":11774,"src":"20454:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11768,"name":"address","nodeType":"ElementaryTypeName","src":"20454:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11771,"mutability":"mutable","name":"newRuntimeBytecode","nameLocation":"20485:18:13","nodeType":"VariableDeclaration","scope":11774,"src":"20470:33:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11770,"name":"bytes","nodeType":"ElementaryTypeName","src":"20470:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20453:51:13"},"returnParameters":{"id":11773,"nodeType":"ParameterList","parameters":[],"src":"20513:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11779,"nodeType":"FunctionDefinition","src":"20556:58:13","nodes":[],"functionSelector":"f28dceb3","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"20565:12:13","parameters":{"id":11777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11776,"mutability":"mutable","name":"revertData","nameLocation":"20593:10:13","nodeType":"VariableDeclaration","scope":11779,"src":"20578:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11775,"name":"bytes","nodeType":"ElementaryTypeName","src":"20578:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20577:27:13"},"returnParameters":{"id":11778,"nodeType":"ParameterList","parameters":[],"src":"20613:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11784,"nodeType":"FunctionDefinition","src":"20619:50:13","nodes":[],"functionSelector":"c31eb0e0","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"20628:12:13","parameters":{"id":11782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11781,"mutability":"mutable","name":"revertData","nameLocation":"20648:10:13","nodeType":"VariableDeclaration","scope":11784,"src":"20641:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":11780,"name":"bytes4","nodeType":"ElementaryTypeName","src":"20641:6:13","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"20640:19:13"},"returnParameters":{"id":11783,"nodeType":"ParameterList","parameters":[],"src":"20668:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11787,"nodeType":"FunctionDefinition","src":"20674:33:13","nodes":[],"functionSelector":"f4844814","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"20683:12:13","parameters":{"id":11785,"nodeType":"ParameterList","parameters":[],"src":"20695:2:13"},"returnParameters":{"id":11786,"nodeType":"ParameterList","parameters":[],"src":"20706:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11798,"nodeType":"FunctionDefinition","src":"21040:99:13","nodes":[],"functionSelector":"491cc7c2","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"21049:10:13","parameters":{"id":11796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11789,"mutability":"mutable","name":"checkTopic1","nameLocation":"21065:11:13","nodeType":"VariableDeclaration","scope":11798,"src":"21060:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11788,"name":"bool","nodeType":"ElementaryTypeName","src":"21060:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11791,"mutability":"mutable","name":"checkTopic2","nameLocation":"21083:11:13","nodeType":"VariableDeclaration","scope":11798,"src":"21078:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11790,"name":"bool","nodeType":"ElementaryTypeName","src":"21078:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11793,"mutability":"mutable","name":"checkTopic3","nameLocation":"21101:11:13","nodeType":"VariableDeclaration","scope":11798,"src":"21096:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11792,"name":"bool","nodeType":"ElementaryTypeName","src":"21096:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11795,"mutability":"mutable","name":"checkData","nameLocation":"21119:9:13","nodeType":"VariableDeclaration","scope":11798,"src":"21114:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11794,"name":"bool","nodeType":"ElementaryTypeName","src":"21114:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21059:70:13"},"returnParameters":{"id":11797,"nodeType":"ParameterList","parameters":[],"src":"21138:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11811,"nodeType":"FunctionDefinition","src":"21144:124:13","nodes":[],"functionSelector":"81bad6f3","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"21153:10:13","parameters":{"id":11809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11800,"mutability":"mutable","name":"checkTopic1","nameLocation":"21169:11:13","nodeType":"VariableDeclaration","scope":11811,"src":"21164:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11799,"name":"bool","nodeType":"ElementaryTypeName","src":"21164:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11802,"mutability":"mutable","name":"checkTopic2","nameLocation":"21187:11:13","nodeType":"VariableDeclaration","scope":11811,"src":"21182:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11801,"name":"bool","nodeType":"ElementaryTypeName","src":"21182:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11804,"mutability":"mutable","name":"checkTopic3","nameLocation":"21205:11:13","nodeType":"VariableDeclaration","scope":11811,"src":"21200:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11803,"name":"bool","nodeType":"ElementaryTypeName","src":"21200:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11806,"mutability":"mutable","name":"checkData","nameLocation":"21223:9:13","nodeType":"VariableDeclaration","scope":11811,"src":"21218:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11805,"name":"bool","nodeType":"ElementaryTypeName","src":"21218:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11808,"mutability":"mutable","name":"emitter","nameLocation":"21242:7:13","nodeType":"VariableDeclaration","scope":11811,"src":"21234:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11807,"name":"address","nodeType":"ElementaryTypeName","src":"21234:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21163:87:13"},"returnParameters":{"id":11810,"nodeType":"ParameterList","parameters":[],"src":"21267:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11820,"nodeType":"FunctionDefinition","src":"21523:91:13","nodes":[],"functionSelector":"b96213e4","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"21532:8:13","parameters":{"id":11818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11813,"mutability":"mutable","name":"callee","nameLocation":"21549:6:13","nodeType":"VariableDeclaration","scope":11820,"src":"21541:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11812,"name":"address","nodeType":"ElementaryTypeName","src":"21541:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11815,"mutability":"mutable","name":"data","nameLocation":"21572:4:13","nodeType":"VariableDeclaration","scope":11820,"src":"21557:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11814,"name":"bytes","nodeType":"ElementaryTypeName","src":"21557:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11817,"mutability":"mutable","name":"returnData","nameLocation":"21593:10:13","nodeType":"VariableDeclaration","scope":11820,"src":"21578:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11816,"name":"bytes","nodeType":"ElementaryTypeName","src":"21578:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21540:64:13"},"returnParameters":{"id":11819,"nodeType":"ParameterList","parameters":[],"src":"21613:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11831,"nodeType":"FunctionDefinition","src":"21782:109:13","nodes":[],"functionSelector":"81409b91","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"21791:8:13","parameters":{"id":11829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11822,"mutability":"mutable","name":"callee","nameLocation":"21808:6:13","nodeType":"VariableDeclaration","scope":11831,"src":"21800:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11821,"name":"address","nodeType":"ElementaryTypeName","src":"21800:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11824,"mutability":"mutable","name":"msgValue","nameLocation":"21824:8:13","nodeType":"VariableDeclaration","scope":11831,"src":"21816:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11823,"name":"uint256","nodeType":"ElementaryTypeName","src":"21816:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11826,"mutability":"mutable","name":"data","nameLocation":"21849:4:13","nodeType":"VariableDeclaration","scope":11831,"src":"21834:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11825,"name":"bytes","nodeType":"ElementaryTypeName","src":"21834:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11828,"mutability":"mutable","name":"returnData","nameLocation":"21870:10:13","nodeType":"VariableDeclaration","scope":11831,"src":"21855:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11827,"name":"bytes","nodeType":"ElementaryTypeName","src":"21855:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21799:82:13"},"returnParameters":{"id":11830,"nodeType":"ParameterList","parameters":[],"src":"21890:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11834,"nodeType":"FunctionDefinition","src":"21927:37:13","nodes":[],"functionSelector":"3fdf4e15","implemented":false,"kind":"function","modifiers":[],"name":"clearMockedCalls","nameLocation":"21936:16:13","parameters":{"id":11832,"nodeType":"ParameterList","parameters":[],"src":"21952:2:13"},"returnParameters":{"id":11833,"nodeType":"ParameterList","parameters":[],"src":"21963:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11841,"nodeType":"FunctionDefinition","src":"22092:66:13","nodes":[],"functionSelector":"bd6af434","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"22101:10:13","parameters":{"id":11839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11836,"mutability":"mutable","name":"callee","nameLocation":"22120:6:13","nodeType":"VariableDeclaration","scope":11841,"src":"22112:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11835,"name":"address","nodeType":"ElementaryTypeName","src":"22112:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11838,"mutability":"mutable","name":"data","nameLocation":"22143:4:13","nodeType":"VariableDeclaration","scope":11841,"src":"22128:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11837,"name":"bytes","nodeType":"ElementaryTypeName","src":"22128:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22111:37:13"},"returnParameters":{"id":11840,"nodeType":"ParameterList","parameters":[],"src":"22157:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11850,"nodeType":"FunctionDefinition","src":"22241:84:13","nodes":[],"functionSelector":"f30c7ba3","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"22250:10:13","parameters":{"id":11848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11843,"mutability":"mutable","name":"callee","nameLocation":"22269:6:13","nodeType":"VariableDeclaration","scope":11850,"src":"22261:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11842,"name":"address","nodeType":"ElementaryTypeName","src":"22261:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11845,"mutability":"mutable","name":"msgValue","nameLocation":"22285:8:13","nodeType":"VariableDeclaration","scope":11850,"src":"22277:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11844,"name":"uint256","nodeType":"ElementaryTypeName","src":"22277:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11847,"mutability":"mutable","name":"data","nameLocation":"22310:4:13","nodeType":"VariableDeclaration","scope":11850,"src":"22295:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11846,"name":"bytes","nodeType":"ElementaryTypeName","src":"22295:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22260:55:13"},"returnParameters":{"id":11849,"nodeType":"ParameterList","parameters":[],"src":"22324:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11861,"nodeType":"FunctionDefinition","src":"22414:96:13","nodes":[],"functionSelector":"23361207","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"22423:10:13","parameters":{"id":11859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11852,"mutability":"mutable","name":"callee","nameLocation":"22442:6:13","nodeType":"VariableDeclaration","scope":11861,"src":"22434:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11851,"name":"address","nodeType":"ElementaryTypeName","src":"22434:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11854,"mutability":"mutable","name":"msgValue","nameLocation":"22458:8:13","nodeType":"VariableDeclaration","scope":11861,"src":"22450:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11853,"name":"uint256","nodeType":"ElementaryTypeName","src":"22450:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11856,"mutability":"mutable","name":"gas","nameLocation":"22475:3:13","nodeType":"VariableDeclaration","scope":11861,"src":"22468:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":11855,"name":"uint64","nodeType":"ElementaryTypeName","src":"22468:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":11858,"mutability":"mutable","name":"data","nameLocation":"22495:4:13","nodeType":"VariableDeclaration","scope":11861,"src":"22480:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11857,"name":"bytes","nodeType":"ElementaryTypeName","src":"22480:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22433:67:13"},"returnParameters":{"id":11860,"nodeType":"ParameterList","parameters":[],"src":"22509:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11872,"nodeType":"FunctionDefinition","src":"22624:105:13","nodes":[],"functionSelector":"08e4e116","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"22633:16:13","parameters":{"id":11870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11863,"mutability":"mutable","name":"callee","nameLocation":"22658:6:13","nodeType":"VariableDeclaration","scope":11872,"src":"22650:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11862,"name":"address","nodeType":"ElementaryTypeName","src":"22650:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11865,"mutability":"mutable","name":"msgValue","nameLocation":"22674:8:13","nodeType":"VariableDeclaration","scope":11872,"src":"22666:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11864,"name":"uint256","nodeType":"ElementaryTypeName","src":"22666:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11867,"mutability":"mutable","name":"minGas","nameLocation":"22691:6:13","nodeType":"VariableDeclaration","scope":11872,"src":"22684:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":11866,"name":"uint64","nodeType":"ElementaryTypeName","src":"22684:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":11869,"mutability":"mutable","name":"data","nameLocation":"22714:4:13","nodeType":"VariableDeclaration","scope":11872,"src":"22699:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11868,"name":"bytes","nodeType":"ElementaryTypeName","src":"22699:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22649:70:13"},"returnParameters":{"id":11871,"nodeType":"ParameterList","parameters":[],"src":"22728:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11877,"nodeType":"FunctionDefinition","src":"22761:48:13","nodes":[],"functionSelector":"ff483c54","implemented":false,"kind":"function","modifiers":[],"name":"coinbase","nameLocation":"22770:8:13","parameters":{"id":11875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11874,"mutability":"mutable","name":"newCoinbase","nameLocation":"22787:11:13","nodeType":"VariableDeclaration","scope":11877,"src":"22779:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11873,"name":"address","nodeType":"ElementaryTypeName","src":"22779:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22778:21:13"},"returnParameters":{"id":11876,"nodeType":"ParameterList","parameters":[],"src":"22808:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11882,"nodeType":"FunctionDefinition","src":"22959:58:13","nodes":[],"functionSelector":"9711715a","implemented":false,"kind":"function","modifiers":[],"name":"snapshot","nameLocation":"22968:8:13","parameters":{"id":11878,"nodeType":"ParameterList","parameters":[],"src":"22976:2:13"},"returnParameters":{"id":11881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11880,"mutability":"mutable","name":"snapshotId","nameLocation":"23005:10:13","nodeType":"VariableDeclaration","scope":11882,"src":"22997:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11879,"name":"uint256","nodeType":"ElementaryTypeName","src":"22997:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22996:20:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11889,"nodeType":"FunctionDefinition","src":"23209:70:13","nodes":[],"functionSelector":"44d7f0a4","implemented":false,"kind":"function","modifiers":[],"name":"revertTo","nameLocation":"23218:8:13","parameters":{"id":11885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11884,"mutability":"mutable","name":"snapshotId","nameLocation":"23235:10:13","nodeType":"VariableDeclaration","scope":11889,"src":"23227:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11883,"name":"uint256","nodeType":"ElementaryTypeName","src":"23227:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23226:20:13"},"returnParameters":{"id":11888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11887,"mutability":"mutable","name":"success","nameLocation":"23270:7:13","nodeType":"VariableDeclaration","scope":11889,"src":"23265:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11886,"name":"bool","nodeType":"ElementaryTypeName","src":"23265:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23264:14:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11898,"nodeType":"FunctionDefinition","src":"23383:103:13","nodes":[],"functionSelector":"6ba3ba2b","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"23392:10:13","parameters":{"id":11894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11891,"mutability":"mutable","name":"urlOrAlias","nameLocation":"23419:10:13","nodeType":"VariableDeclaration","scope":11898,"src":"23403:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11890,"name":"string","nodeType":"ElementaryTypeName","src":"23403:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11893,"mutability":"mutable","name":"blockNumber","nameLocation":"23439:11:13","nodeType":"VariableDeclaration","scope":11898,"src":"23431:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11892,"name":"uint256","nodeType":"ElementaryTypeName","src":"23431:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23402:49:13"},"returnParameters":{"id":11897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11896,"mutability":"mutable","name":"forkId","nameLocation":"23478:6:13","nodeType":"VariableDeclaration","scope":11898,"src":"23470:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11895,"name":"uint256","nodeType":"ElementaryTypeName","src":"23470:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23469:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11905,"nodeType":"FunctionDefinition","src":"23603:82:13","nodes":[],"functionSelector":"31ba3498","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"23612:10:13","parameters":{"id":11901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11900,"mutability":"mutable","name":"urlOrAlias","nameLocation":"23639:10:13","nodeType":"VariableDeclaration","scope":11905,"src":"23623:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11899,"name":"string","nodeType":"ElementaryTypeName","src":"23623:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23622:28:13"},"returnParameters":{"id":11904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11903,"mutability":"mutable","name":"forkId","nameLocation":"23677:6:13","nodeType":"VariableDeclaration","scope":11905,"src":"23669:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11902,"name":"uint256","nodeType":"ElementaryTypeName","src":"23669:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23668:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11914,"nodeType":"FunctionDefinition","src":"23906:98:13","nodes":[],"functionSelector":"7ca29682","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"23915:10:13","parameters":{"id":11910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11907,"mutability":"mutable","name":"urlOrAlias","nameLocation":"23942:10:13","nodeType":"VariableDeclaration","scope":11914,"src":"23926:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11906,"name":"string","nodeType":"ElementaryTypeName","src":"23926:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11909,"mutability":"mutable","name":"txHash","nameLocation":"23962:6:13","nodeType":"VariableDeclaration","scope":11914,"src":"23954:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23954:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"23925:44:13"},"returnParameters":{"id":11913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11912,"mutability":"mutable","name":"forkId","nameLocation":"23996:6:13","nodeType":"VariableDeclaration","scope":11914,"src":"23988:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11911,"name":"uint256","nodeType":"ElementaryTypeName","src":"23988:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23987:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11923,"nodeType":"FunctionDefinition","src":"24127:109:13","nodes":[],"functionSelector":"71ee464d","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"24136:16:13","parameters":{"id":11919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11916,"mutability":"mutable","name":"urlOrAlias","nameLocation":"24169:10:13","nodeType":"VariableDeclaration","scope":11923,"src":"24153:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11915,"name":"string","nodeType":"ElementaryTypeName","src":"24153:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11918,"mutability":"mutable","name":"blockNumber","nameLocation":"24189:11:13","nodeType":"VariableDeclaration","scope":11923,"src":"24181:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11917,"name":"uint256","nodeType":"ElementaryTypeName","src":"24181:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24152:49:13"},"returnParameters":{"id":11922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11921,"mutability":"mutable","name":"forkId","nameLocation":"24228:6:13","nodeType":"VariableDeclaration","scope":11923,"src":"24220:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11920,"name":"uint256","nodeType":"ElementaryTypeName","src":"24220:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24219:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11932,"nodeType":"FunctionDefinition","src":"24470:104:13","nodes":[],"functionSelector":"84d52b7a","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"24479:16:13","parameters":{"id":11928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11925,"mutability":"mutable","name":"urlOrAlias","nameLocation":"24512:10:13","nodeType":"VariableDeclaration","scope":11932,"src":"24496:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11924,"name":"string","nodeType":"ElementaryTypeName","src":"24496:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11927,"mutability":"mutable","name":"txHash","nameLocation":"24532:6:13","nodeType":"VariableDeclaration","scope":11932,"src":"24524:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24524:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"24495:44:13"},"returnParameters":{"id":11931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11930,"mutability":"mutable","name":"forkId","nameLocation":"24566:6:13","nodeType":"VariableDeclaration","scope":11932,"src":"24558:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11929,"name":"uint256","nodeType":"ElementaryTypeName","src":"24558:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24557:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11939,"nodeType":"FunctionDefinition","src":"24708:88:13","nodes":[],"functionSelector":"98680034","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"24717:16:13","parameters":{"id":11935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11934,"mutability":"mutable","name":"urlOrAlias","nameLocation":"24750:10:13","nodeType":"VariableDeclaration","scope":11939,"src":"24734:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11933,"name":"string","nodeType":"ElementaryTypeName","src":"24734:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24733:28:13"},"returnParameters":{"id":11938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11937,"mutability":"mutable","name":"forkId","nameLocation":"24788:6:13","nodeType":"VariableDeclaration","scope":11939,"src":"24780:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11936,"name":"uint256","nodeType":"ElementaryTypeName","src":"24780:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24779:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11944,"nodeType":"FunctionDefinition","src":"24907:45:13","nodes":[],"functionSelector":"9ebf6827","implemented":false,"kind":"function","modifiers":[],"name":"selectFork","nameLocation":"24916:10:13","parameters":{"id":11942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11941,"mutability":"mutable","name":"forkId","nameLocation":"24935:6:13","nodeType":"VariableDeclaration","scope":11944,"src":"24927:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11940,"name":"uint256","nodeType":"ElementaryTypeName","src":"24927:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24926:16:13"},"returnParameters":{"id":11943,"nodeType":"ParameterList","parameters":[],"src":"24951:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11950,"nodeType":"FunctionDefinition","src":"25058:61:13","nodes":[],"documentation":{"id":11945,"nodeType":"StructuredDocumentation","src":"24957:96:13","text":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."},"functionSelector":"2f103f22","implemented":false,"kind":"function","modifiers":[],"name":"activeFork","nameLocation":"25067:10:13","parameters":{"id":11946,"nodeType":"ParameterList","parameters":[],"src":"25077:2:13"},"returnParameters":{"id":11949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11948,"mutability":"mutable","name":"forkId","nameLocation":"25111:6:13","nodeType":"VariableDeclaration","scope":11950,"src":"25103:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11947,"name":"uint256","nodeType":"ElementaryTypeName","src":"25103:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25102:16:13"},"scope":12037,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11955,"nodeType":"FunctionDefinition","src":"25254:48:13","nodes":[],"functionSelector":"d9bbf3a1","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"25263:8:13","parameters":{"id":11953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11952,"mutability":"mutable","name":"blockNumber","nameLocation":"25280:11:13","nodeType":"VariableDeclaration","scope":11955,"src":"25272:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11951,"name":"uint256","nodeType":"ElementaryTypeName","src":"25272:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25271:21:13"},"returnParameters":{"id":11954,"nodeType":"ParameterList","parameters":[],"src":"25301:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11960,"nodeType":"FunctionDefinition","src":"25512:43:13","nodes":[],"functionSelector":"0f29772b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"25521:8:13","parameters":{"id":11958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11957,"mutability":"mutable","name":"txHash","nameLocation":"25538:6:13","nodeType":"VariableDeclaration","scope":11960,"src":"25530:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25530:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"25529:16:13"},"returnParameters":{"id":11959,"nodeType":"ParameterList","parameters":[],"src":"25554:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11967,"nodeType":"FunctionDefinition","src":"25612:64:13","nodes":[],"functionSelector":"d74c83a4","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"25621:8:13","parameters":{"id":11965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11962,"mutability":"mutable","name":"forkId","nameLocation":"25638:6:13","nodeType":"VariableDeclaration","scope":11967,"src":"25630:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11961,"name":"uint256","nodeType":"ElementaryTypeName","src":"25630:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11964,"mutability":"mutable","name":"blockNumber","nameLocation":"25654:11:13","nodeType":"VariableDeclaration","scope":11967,"src":"25646:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11963,"name":"uint256","nodeType":"ElementaryTypeName","src":"25646:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25629:37:13"},"returnParameters":{"id":11966,"nodeType":"ParameterList","parameters":[],"src":"25675:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11974,"nodeType":"FunctionDefinition","src":"25809:59:13","nodes":[],"functionSelector":"f2830f7b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"25818:8:13","parameters":{"id":11972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11969,"mutability":"mutable","name":"forkId","nameLocation":"25835:6:13","nodeType":"VariableDeclaration","scope":11974,"src":"25827:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11968,"name":"uint256","nodeType":"ElementaryTypeName","src":"25827:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11971,"mutability":"mutable","name":"txHash","nameLocation":"25851:6:13","nodeType":"VariableDeclaration","scope":11974,"src":"25843:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25843:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"25826:32:13"},"returnParameters":{"id":11973,"nodeType":"ParameterList","parameters":[],"src":"25867:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11979,"nodeType":"FunctionDefinition","src":"26067:50:13","nodes":[],"functionSelector":"57e22dde","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"26076:14:13","parameters":{"id":11977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11976,"mutability":"mutable","name":"account","nameLocation":"26099:7:13","nodeType":"VariableDeclaration","scope":11979,"src":"26091:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11975,"name":"address","nodeType":"ElementaryTypeName","src":"26091:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26090:17:13"},"returnParameters":{"id":11978,"nodeType":"ParameterList","parameters":[],"src":"26116:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11986,"nodeType":"FunctionDefinition","src":"26122:69:13","nodes":[],"functionSelector":"4074e0a8","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"26131:14:13","parameters":{"id":11984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11981,"mutability":"mutable","name":"account0","nameLocation":"26154:8:13","nodeType":"VariableDeclaration","scope":11986,"src":"26146:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11980,"name":"address","nodeType":"ElementaryTypeName","src":"26146:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11983,"mutability":"mutable","name":"account1","nameLocation":"26172:8:13","nodeType":"VariableDeclaration","scope":11986,"src":"26164:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11982,"name":"address","nodeType":"ElementaryTypeName","src":"26164:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26145:36:13"},"returnParameters":{"id":11985,"nodeType":"ParameterList","parameters":[],"src":"26190:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11995,"nodeType":"FunctionDefinition","src":"26196:87:13","nodes":[],"functionSelector":"efb77a75","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"26205:14:13","parameters":{"id":11993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11988,"mutability":"mutable","name":"account0","nameLocation":"26228:8:13","nodeType":"VariableDeclaration","scope":11995,"src":"26220:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11987,"name":"address","nodeType":"ElementaryTypeName","src":"26220:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11990,"mutability":"mutable","name":"account1","nameLocation":"26246:8:13","nodeType":"VariableDeclaration","scope":11995,"src":"26238:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11989,"name":"address","nodeType":"ElementaryTypeName","src":"26238:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11992,"mutability":"mutable","name":"account2","nameLocation":"26264:8:13","nodeType":"VariableDeclaration","scope":11995,"src":"26256:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11991,"name":"address","nodeType":"ElementaryTypeName","src":"26256:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26219:54:13"},"returnParameters":{"id":11994,"nodeType":"ParameterList","parameters":[],"src":"26282:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12001,"nodeType":"FunctionDefinition","src":"26288:62:13","nodes":[],"functionSelector":"1d9e269e","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"26297:14:13","parameters":{"id":11999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11998,"mutability":"mutable","name":"accounts","nameLocation":"26331:8:13","nodeType":"VariableDeclaration","scope":12001,"src":"26312:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11996,"name":"address","nodeType":"ElementaryTypeName","src":"26312:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11997,"nodeType":"ArrayTypeName","src":"26312:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"26311:29:13"},"returnParameters":{"id":12000,"nodeType":"ParameterList","parameters":[],"src":"26349:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12006,"nodeType":"FunctionDefinition","src":"26444:52:13","nodes":[],"functionSelector":"997a0222","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"26453:16:13","parameters":{"id":12004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12003,"mutability":"mutable","name":"account","nameLocation":"26478:7:13","nodeType":"VariableDeclaration","scope":12006,"src":"26470:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12002,"name":"address","nodeType":"ElementaryTypeName","src":"26470:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26469:17:13"},"returnParameters":{"id":12005,"nodeType":"ParameterList","parameters":[],"src":"26495:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12012,"nodeType":"FunctionDefinition","src":"26501:64:13","nodes":[],"functionSelector":"3ce969e6","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"26510:16:13","parameters":{"id":12010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12009,"mutability":"mutable","name":"accounts","nameLocation":"26546:8:13","nodeType":"VariableDeclaration","scope":12012,"src":"26527:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12007,"name":"address","nodeType":"ElementaryTypeName","src":"26527:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12008,"nodeType":"ArrayTypeName","src":"26527:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"26526:29:13"},"returnParameters":{"id":12011,"nodeType":"ParameterList","parameters":[],"src":"26564:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12019,"nodeType":"FunctionDefinition","src":"26629:79:13","nodes":[],"functionSelector":"d92d8efd","implemented":false,"kind":"function","modifiers":[],"name":"isPersistent","nameLocation":"26638:12:13","parameters":{"id":12015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12014,"mutability":"mutable","name":"account","nameLocation":"26659:7:13","nodeType":"VariableDeclaration","scope":12019,"src":"26651:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12013,"name":"address","nodeType":"ElementaryTypeName","src":"26651:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26650:17:13"},"returnParameters":{"id":12018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12017,"mutability":"mutable","name":"persistent","nameLocation":"26696:10:13","nodeType":"VariableDeclaration","scope":12019,"src":"26691:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12016,"name":"bool","nodeType":"ElementaryTypeName","src":"26691:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26690:17:13"},"scope":12037,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12024,"nodeType":"FunctionDefinition","src":"26789:51:13","nodes":[],"functionSelector":"ea060291","implemented":false,"kind":"function","modifiers":[],"name":"allowCheatcodes","nameLocation":"26798:15:13","parameters":{"id":12022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12021,"mutability":"mutable","name":"account","nameLocation":"26822:7:13","nodeType":"VariableDeclaration","scope":12024,"src":"26814:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12020,"name":"address","nodeType":"ElementaryTypeName","src":"26814:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26813:17:13"},"returnParameters":{"id":12023,"nodeType":"ParameterList","parameters":[],"src":"26839:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12029,"nodeType":"FunctionDefinition","src":"26940:43:13","nodes":[],"functionSelector":"be646da1","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"26949:8:13","parameters":{"id":12027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12026,"mutability":"mutable","name":"txHash","nameLocation":"26966:6:13","nodeType":"VariableDeclaration","scope":12029,"src":"26958:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26958:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26957:16:13"},"returnParameters":{"id":12028,"nodeType":"ParameterList","parameters":[],"src":"26982:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12036,"nodeType":"FunctionDefinition","src":"27082:59:13","nodes":[],"functionSelector":"4d8abc4b","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"27091:8:13","parameters":{"id":12034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12031,"mutability":"mutable","name":"forkId","nameLocation":"27108:6:13","nodeType":"VariableDeclaration","scope":12036,"src":"27100:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12030,"name":"uint256","nodeType":"ElementaryTypeName","src":"27100:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12033,"mutability":"mutable","name":"txHash","nameLocation":"27124:6:13","nodeType":"VariableDeclaration","scope":12036,"src":"27116:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27116:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"27099:32:13"},"returnParameters":{"id":12035,"nodeType":"ParameterList","parameters":[],"src":"27140:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":11691,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"18888:6:13"},"id":11692,"nodeType":"InheritanceSpecifier","src":"18888:6:13"}],"canonicalName":"Vm","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[12037,11690],"name":"Vm","nameLocation":"18882:2:13","scope":12038,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/console.sol":{"id":14,"ast":{"absolutePath":"lib/forge-std/src/console.sol","id":20102,"exportedSymbols":{"console":[20101]},"nodeType":"SourceUnit","src":"32:66656:14","nodes":[{"id":12039,"nodeType":"PragmaDirective","src":"32:32:14","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":20101,"nodeType":"ContractDefinition","src":"66:66622:14","nodes":[{"id":12045,"nodeType":"VariableDeclaration","src":"88:86:14","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"105:15:14","scope":20101,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12040,"name":"address","nodeType":"ElementaryTypeName","src":"88:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":12043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131:42:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"123:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12041,"name":"address","nodeType":"ElementaryTypeName","src":"123:7:14","typeDescriptions":{}}},"id":12044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"123:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":12061,"nodeType":"FunctionDefinition","src":"181:376:14","nodes":[],"body":{"id":12060,"nodeType":"Block","src":"241:316:14","nodes":[],"statements":[{"assignments":[12051],"declarations":[{"constant":false,"id":12051,"mutability":"mutable","name":"payloadLength","nameLocation":"259:13:14","nodeType":"VariableDeclaration","scope":12060,"src":"251:21:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12050,"name":"uint256","nodeType":"ElementaryTypeName","src":"251:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12054,"initialValue":{"expression":{"id":12052,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12047,"src":"275:7:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"275:14:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"251:38:14"},{"assignments":[12056],"declarations":[{"constant":false,"id":12056,"mutability":"mutable","name":"consoleAddress","nameLocation":"307:14:14","nodeType":"VariableDeclaration","scope":12060,"src":"299:22:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12055,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":12058,"initialValue":{"id":12057,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12045,"src":"324:15:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"299:40:14"},{"AST":{"nodeType":"YulBlock","src":"401:150:14","statements":[{"nodeType":"YulVariableDeclaration","src":"415:36:14","value":{"arguments":[{"name":"payload","nodeType":"YulIdentifier","src":"439:7:14"},{"kind":"number","nodeType":"YulLiteral","src":"448:2:14","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"435:3:14"},"nodeType":"YulFunctionCall","src":"435:16:14"},"variables":[{"name":"payloadStart","nodeType":"YulTypedName","src":"419:12:14","type":""}]},{"nodeType":"YulVariableDeclaration","src":"464:77:14","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"484:3:14"},"nodeType":"YulFunctionCall","src":"484:5:14"},{"name":"consoleAddress","nodeType":"YulIdentifier","src":"491:14:14"},{"name":"payloadStart","nodeType":"YulIdentifier","src":"507:12:14"},{"name":"payloadLength","nodeType":"YulIdentifier","src":"521:13:14"},{"kind":"number","nodeType":"YulLiteral","src":"536:1:14","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"539:1:14","type":"","value":"0"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"473:10:14"},"nodeType":"YulFunctionCall","src":"473:68:14"},"variables":[{"name":"r","nodeType":"YulTypedName","src":"468:1:14","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":12056,"isOffset":false,"isSlot":false,"src":"491:14:14","valueSize":1},{"declaration":12047,"isOffset":false,"isSlot":false,"src":"439:7:14","valueSize":1},{"declaration":12051,"isOffset":false,"isSlot":false,"src":"521:13:14","valueSize":1}],"id":12059,"nodeType":"InlineAssembly","src":"392:159:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"190:15:14","parameters":{"id":12048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12047,"mutability":"mutable","name":"payload","nameLocation":"219:7:14","nodeType":"VariableDeclaration","scope":12061,"src":"206:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12046,"name":"bytes","nodeType":"ElementaryTypeName","src":"206:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"205:22:14"},"returnParameters":{"id":12049,"nodeType":"ParameterList","parameters":[],"src":"241:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":12072,"nodeType":"FunctionDefinition","src":"563:95:14","nodes":[],"body":{"id":12071,"nodeType":"Block","src":"592:66:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":12067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"642:7:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":12065,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"618:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"618:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"618:32:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12064,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"602:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"602:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12070,"nodeType":"ExpressionStatement","src":"602:49:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"572:3:14","parameters":{"id":12062,"nodeType":"ParameterList","parameters":[],"src":"575:2:14"},"returnParameters":{"id":12063,"nodeType":"ParameterList","parameters":[],"src":"592:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12086,"nodeType":"FunctionDefinition","src":"664:111:14","nodes":[],"body":{"id":12085,"nodeType":"Block","src":"702:73:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7429","id":12080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"752:10:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e","typeString":"literal_string \"log(int)\""},"value":"log(int)"},{"id":12081,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12074,"src":"764:2:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e","typeString":"literal_string \"log(int)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":12078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"728:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"728:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"728:39:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"712:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"712:56:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12084,"nodeType":"ExpressionStatement","src":"712:56:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"673:6:14","parameters":{"id":12075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12074,"mutability":"mutable","name":"p0","nameLocation":"684:2:14","nodeType":"VariableDeclaration","scope":12086,"src":"680:6:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12073,"name":"int","nodeType":"ElementaryTypeName","src":"680:3:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"679:8:14"},"returnParameters":{"id":12076,"nodeType":"ParameterList","parameters":[],"src":"702:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12100,"nodeType":"FunctionDefinition","src":"781:114:14","nodes":[],"body":{"id":12099,"nodeType":"Block","src":"821:74:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7429","id":12094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"871:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},"value":"log(uint)"},{"id":12095,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12088,"src":"884:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"847:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"847:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"847:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12091,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"831:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"831:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12098,"nodeType":"ExpressionStatement","src":"831:57:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"790:7:14","parameters":{"id":12089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12088,"mutability":"mutable","name":"p0","nameLocation":"803:2:14","nodeType":"VariableDeclaration","scope":12100,"src":"798:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12087,"name":"uint","nodeType":"ElementaryTypeName","src":"798:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"797:9:14"},"returnParameters":{"id":12090,"nodeType":"ParameterList","parameters":[],"src":"821:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12114,"nodeType":"FunctionDefinition","src":"901:127:14","nodes":[],"body":{"id":12113,"nodeType":"Block","src":"952:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":12108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1002:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":12109,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12102,"src":"1017:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12106,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"978:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"978:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"978:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12105,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"962:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"962:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12112,"nodeType":"ExpressionStatement","src":"962:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"910:9:14","parameters":{"id":12103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12102,"mutability":"mutable","name":"p0","nameLocation":"934:2:14","nodeType":"VariableDeclaration","scope":12114,"src":"920:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12101,"name":"string","nodeType":"ElementaryTypeName","src":"920:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"919:18:14"},"returnParameters":{"id":12104,"nodeType":"ParameterList","parameters":[],"src":"952:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12128,"nodeType":"FunctionDefinition","src":"1034:114:14","nodes":[],"body":{"id":12127,"nodeType":"Block","src":"1074:74:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":12122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1124:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":12123,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12116,"src":"1137:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1100:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1100:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1100:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12119,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1084:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1084:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12126,"nodeType":"ExpressionStatement","src":"1084:57:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1043:7:14","parameters":{"id":12117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12116,"mutability":"mutable","name":"p0","nameLocation":"1056:2:14","nodeType":"VariableDeclaration","scope":12128,"src":"1051:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12115,"name":"bool","nodeType":"ElementaryTypeName","src":"1051:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1050:9:14"},"returnParameters":{"id":12118,"nodeType":"ParameterList","parameters":[],"src":"1074:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12142,"nodeType":"FunctionDefinition","src":"1154:123:14","nodes":[],"body":{"id":12141,"nodeType":"Block","src":"1200:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":12136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1250:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":12137,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12130,"src":"1266:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12134,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1226:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1226:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1226:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12133,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1210:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1210:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12140,"nodeType":"ExpressionStatement","src":"1210:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1163:10:14","parameters":{"id":12131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12130,"mutability":"mutable","name":"p0","nameLocation":"1182:2:14","nodeType":"VariableDeclaration","scope":12142,"src":"1174:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12129,"name":"address","nodeType":"ElementaryTypeName","src":"1174:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1173:12:14"},"returnParameters":{"id":12132,"nodeType":"ParameterList","parameters":[],"src":"1200:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12156,"nodeType":"FunctionDefinition","src":"1283:124:14","nodes":[],"body":{"id":12155,"nodeType":"Block","src":"1332:75:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":12150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1382:12:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":12151,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12144,"src":"1396:2:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1358:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1358:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1358:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1342:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1342:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12154,"nodeType":"ExpressionStatement","src":"1342:58:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1292:8:14","parameters":{"id":12145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12144,"mutability":"mutable","name":"p0","nameLocation":"1314:2:14","nodeType":"VariableDeclaration","scope":12156,"src":"1301:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12143,"name":"bytes","nodeType":"ElementaryTypeName","src":"1301:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1300:17:14"},"returnParameters":{"id":12146,"nodeType":"ParameterList","parameters":[],"src":"1332:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12170,"nodeType":"FunctionDefinition","src":"1413:120:14","nodes":[],"body":{"id":12169,"nodeType":"Block","src":"1457:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":12164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1507:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":12165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12158,"src":"1522:2:14","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":12162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1483:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1483:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1483:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1467:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1467:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12168,"nodeType":"ExpressionStatement","src":"1467:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1422:9:14","parameters":{"id":12159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12158,"mutability":"mutable","name":"p0","nameLocation":"1439:2:14","nodeType":"VariableDeclaration","scope":12170,"src":"1432:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":12157,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1432:6:14","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1431:11:14"},"returnParameters":{"id":12160,"nodeType":"ParameterList","parameters":[],"src":"1457:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12184,"nodeType":"FunctionDefinition","src":"1539:120:14","nodes":[],"body":{"id":12183,"nodeType":"Block","src":"1583:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":12178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1633:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":12179,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12172,"src":"1648:2:14","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":12176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1609:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1609:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1609:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1593:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1593:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12182,"nodeType":"ExpressionStatement","src":"1593:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"1548:9:14","parameters":{"id":12173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12172,"mutability":"mutable","name":"p0","nameLocation":"1565:2:14","nodeType":"VariableDeclaration","scope":12184,"src":"1558:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":12171,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1558:6:14","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"1557:11:14"},"returnParameters":{"id":12174,"nodeType":"ParameterList","parameters":[],"src":"1583:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12198,"nodeType":"FunctionDefinition","src":"1665:120:14","nodes":[],"body":{"id":12197,"nodeType":"Block","src":"1709:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":12192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1759:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":12193,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12186,"src":"1774:2:14","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":12190,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1735:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1735:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1735:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12189,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1719:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1719:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12196,"nodeType":"ExpressionStatement","src":"1719:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"1674:9:14","parameters":{"id":12187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12186,"mutability":"mutable","name":"p0","nameLocation":"1691:2:14","nodeType":"VariableDeclaration","scope":12198,"src":"1684:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":12185,"name":"bytes3","nodeType":"ElementaryTypeName","src":"1684:6:14","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"1683:11:14"},"returnParameters":{"id":12188,"nodeType":"ParameterList","parameters":[],"src":"1709:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12212,"nodeType":"FunctionDefinition","src":"1791:120:14","nodes":[],"body":{"id":12211,"nodeType":"Block","src":"1835:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":12206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1885:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":12207,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12200,"src":"1900:2:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":12204,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1861:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1861:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1861:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12203,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1845:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1845:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12210,"nodeType":"ExpressionStatement","src":"1845:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"1800:9:14","parameters":{"id":12201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12200,"mutability":"mutable","name":"p0","nameLocation":"1817:2:14","nodeType":"VariableDeclaration","scope":12212,"src":"1810:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":12199,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1810:6:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1809:11:14"},"returnParameters":{"id":12202,"nodeType":"ParameterList","parameters":[],"src":"1835:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12226,"nodeType":"FunctionDefinition","src":"1917:120:14","nodes":[],"body":{"id":12225,"nodeType":"Block","src":"1961:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":12220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2011:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":12221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12214,"src":"2026:2:14","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":12218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1987:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1987:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1987:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1971:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1971:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12224,"nodeType":"ExpressionStatement","src":"1971:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"1926:9:14","parameters":{"id":12215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12214,"mutability":"mutable","name":"p0","nameLocation":"1943:2:14","nodeType":"VariableDeclaration","scope":12226,"src":"1936:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":12213,"name":"bytes5","nodeType":"ElementaryTypeName","src":"1936:6:14","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"1935:11:14"},"returnParameters":{"id":12216,"nodeType":"ParameterList","parameters":[],"src":"1961:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12240,"nodeType":"FunctionDefinition","src":"2043:120:14","nodes":[],"body":{"id":12239,"nodeType":"Block","src":"2087:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":12234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2137:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":12235,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12228,"src":"2152:2:14","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":12232,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2113:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2113:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2113:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12231,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2097:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2097:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12238,"nodeType":"ExpressionStatement","src":"2097:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2052:9:14","parameters":{"id":12229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12228,"mutability":"mutable","name":"p0","nameLocation":"2069:2:14","nodeType":"VariableDeclaration","scope":12240,"src":"2062:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":12227,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2062:6:14","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2061:11:14"},"returnParameters":{"id":12230,"nodeType":"ParameterList","parameters":[],"src":"2087:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12254,"nodeType":"FunctionDefinition","src":"2169:120:14","nodes":[],"body":{"id":12253,"nodeType":"Block","src":"2213:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":12248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2263:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":12249,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12242,"src":"2278:2:14","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":12246,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2239:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2239:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2239:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12245,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2223:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2223:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12252,"nodeType":"ExpressionStatement","src":"2223:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2178:9:14","parameters":{"id":12243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12242,"mutability":"mutable","name":"p0","nameLocation":"2195:2:14","nodeType":"VariableDeclaration","scope":12254,"src":"2188:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":12241,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2188:6:14","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2187:11:14"},"returnParameters":{"id":12244,"nodeType":"ParameterList","parameters":[],"src":"2213:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12268,"nodeType":"FunctionDefinition","src":"2295:120:14","nodes":[],"body":{"id":12267,"nodeType":"Block","src":"2339:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":12262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2389:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":12263,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"2404:2:14","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":12260,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2365:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2365:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2365:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12259,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2349:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2349:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12266,"nodeType":"ExpressionStatement","src":"2349:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2304:9:14","parameters":{"id":12257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12256,"mutability":"mutable","name":"p0","nameLocation":"2321:2:14","nodeType":"VariableDeclaration","scope":12268,"src":"2314:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":12255,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2314:6:14","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2313:11:14"},"returnParameters":{"id":12258,"nodeType":"ParameterList","parameters":[],"src":"2339:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12282,"nodeType":"FunctionDefinition","src":"2421:120:14","nodes":[],"body":{"id":12281,"nodeType":"Block","src":"2465:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":12276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2515:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":12277,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12270,"src":"2530:2:14","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":12274,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2491:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2491:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2491:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12273,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2475:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2475:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12280,"nodeType":"ExpressionStatement","src":"2475:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2430:9:14","parameters":{"id":12271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12270,"mutability":"mutable","name":"p0","nameLocation":"2447:2:14","nodeType":"VariableDeclaration","scope":12282,"src":"2440:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":12269,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2440:6:14","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2439:11:14"},"returnParameters":{"id":12272,"nodeType":"ParameterList","parameters":[],"src":"2465:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12296,"nodeType":"FunctionDefinition","src":"2547:123:14","nodes":[],"body":{"id":12295,"nodeType":"Block","src":"2593:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":12290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2643:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":12291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12284,"src":"2659:2:14","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":12288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2619:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2619:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2619:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2603:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2603:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12294,"nodeType":"ExpressionStatement","src":"2603:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"2556:10:14","parameters":{"id":12285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12284,"mutability":"mutable","name":"p0","nameLocation":"2575:2:14","nodeType":"VariableDeclaration","scope":12296,"src":"2567:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":12283,"name":"bytes10","nodeType":"ElementaryTypeName","src":"2567:7:14","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"2566:12:14"},"returnParameters":{"id":12286,"nodeType":"ParameterList","parameters":[],"src":"2593:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12310,"nodeType":"FunctionDefinition","src":"2676:123:14","nodes":[],"body":{"id":12309,"nodeType":"Block","src":"2722:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":12304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2772:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":12305,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12298,"src":"2788:2:14","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":12302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2748:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2748:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2748:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12301,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2732:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2732:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12308,"nodeType":"ExpressionStatement","src":"2732:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"2685:10:14","parameters":{"id":12299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12298,"mutability":"mutable","name":"p0","nameLocation":"2704:2:14","nodeType":"VariableDeclaration","scope":12310,"src":"2696:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":12297,"name":"bytes11","nodeType":"ElementaryTypeName","src":"2696:7:14","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"2695:12:14"},"returnParameters":{"id":12300,"nodeType":"ParameterList","parameters":[],"src":"2722:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12324,"nodeType":"FunctionDefinition","src":"2805:123:14","nodes":[],"body":{"id":12323,"nodeType":"Block","src":"2851:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":12318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2901:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":12319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12312,"src":"2917:2:14","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":12316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2877:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2877:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2877:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2861:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2861:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12322,"nodeType":"ExpressionStatement","src":"2861:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"2814:10:14","parameters":{"id":12313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12312,"mutability":"mutable","name":"p0","nameLocation":"2833:2:14","nodeType":"VariableDeclaration","scope":12324,"src":"2825:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":12311,"name":"bytes12","nodeType":"ElementaryTypeName","src":"2825:7:14","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"2824:12:14"},"returnParameters":{"id":12314,"nodeType":"ParameterList","parameters":[],"src":"2851:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12338,"nodeType":"FunctionDefinition","src":"2934:123:14","nodes":[],"body":{"id":12337,"nodeType":"Block","src":"2980:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":12332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3030:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":12333,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12326,"src":"3046:2:14","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":12330,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3006:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3006:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3006:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12329,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2990:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2990:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12336,"nodeType":"ExpressionStatement","src":"2990:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"2943:10:14","parameters":{"id":12327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12326,"mutability":"mutable","name":"p0","nameLocation":"2962:2:14","nodeType":"VariableDeclaration","scope":12338,"src":"2954:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":12325,"name":"bytes13","nodeType":"ElementaryTypeName","src":"2954:7:14","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"2953:12:14"},"returnParameters":{"id":12328,"nodeType":"ParameterList","parameters":[],"src":"2980:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12352,"nodeType":"FunctionDefinition","src":"3063:123:14","nodes":[],"body":{"id":12351,"nodeType":"Block","src":"3109:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":12346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3159:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":12347,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12340,"src":"3175:2:14","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":12344,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3135:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3135:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3135:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12343,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3119:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3119:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12350,"nodeType":"ExpressionStatement","src":"3119:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3072:10:14","parameters":{"id":12341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12340,"mutability":"mutable","name":"p0","nameLocation":"3091:2:14","nodeType":"VariableDeclaration","scope":12352,"src":"3083:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":12339,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3083:7:14","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3082:12:14"},"returnParameters":{"id":12342,"nodeType":"ParameterList","parameters":[],"src":"3109:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12366,"nodeType":"FunctionDefinition","src":"3192:123:14","nodes":[],"body":{"id":12365,"nodeType":"Block","src":"3238:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":12360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3288:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":12361,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"3304:2:14","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":12358,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3264:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3264:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3264:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3248:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3248:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12364,"nodeType":"ExpressionStatement","src":"3248:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3201:10:14","parameters":{"id":12355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12354,"mutability":"mutable","name":"p0","nameLocation":"3220:2:14","nodeType":"VariableDeclaration","scope":12366,"src":"3212:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":12353,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3212:7:14","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3211:12:14"},"returnParameters":{"id":12356,"nodeType":"ParameterList","parameters":[],"src":"3238:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12380,"nodeType":"FunctionDefinition","src":"3321:123:14","nodes":[],"body":{"id":12379,"nodeType":"Block","src":"3367:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":12374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3417:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":12375,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12368,"src":"3433:2:14","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":12372,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3393:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3393:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3393:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12371,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3377:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3377:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12378,"nodeType":"ExpressionStatement","src":"3377:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3330:10:14","parameters":{"id":12369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12368,"mutability":"mutable","name":"p0","nameLocation":"3349:2:14","nodeType":"VariableDeclaration","scope":12380,"src":"3341:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":12367,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3341:7:14","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3340:12:14"},"returnParameters":{"id":12370,"nodeType":"ParameterList","parameters":[],"src":"3367:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12394,"nodeType":"FunctionDefinition","src":"3450:123:14","nodes":[],"body":{"id":12393,"nodeType":"Block","src":"3496:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":12388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3546:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":12389,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12382,"src":"3562:2:14","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":12386,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3522:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3522:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3522:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12385,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3506:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3506:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12392,"nodeType":"ExpressionStatement","src":"3506:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3459:10:14","parameters":{"id":12383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12382,"mutability":"mutable","name":"p0","nameLocation":"3478:2:14","nodeType":"VariableDeclaration","scope":12394,"src":"3470:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":12381,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3470:7:14","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3469:12:14"},"returnParameters":{"id":12384,"nodeType":"ParameterList","parameters":[],"src":"3496:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12408,"nodeType":"FunctionDefinition","src":"3579:123:14","nodes":[],"body":{"id":12407,"nodeType":"Block","src":"3625:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":12402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3675:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":12403,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12396,"src":"3691:2:14","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":12400,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3651:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3651:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3651:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12399,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3635:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3635:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12406,"nodeType":"ExpressionStatement","src":"3635:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"3588:10:14","parameters":{"id":12397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12396,"mutability":"mutable","name":"p0","nameLocation":"3607:2:14","nodeType":"VariableDeclaration","scope":12408,"src":"3599:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":12395,"name":"bytes18","nodeType":"ElementaryTypeName","src":"3599:7:14","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"3598:12:14"},"returnParameters":{"id":12398,"nodeType":"ParameterList","parameters":[],"src":"3625:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12422,"nodeType":"FunctionDefinition","src":"3708:123:14","nodes":[],"body":{"id":12421,"nodeType":"Block","src":"3754:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":12416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3804:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":12417,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12410,"src":"3820:2:14","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":12414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3780:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3780:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3780:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12413,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3764:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3764:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12420,"nodeType":"ExpressionStatement","src":"3764:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"3717:10:14","parameters":{"id":12411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12410,"mutability":"mutable","name":"p0","nameLocation":"3736:2:14","nodeType":"VariableDeclaration","scope":12422,"src":"3728:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":12409,"name":"bytes19","nodeType":"ElementaryTypeName","src":"3728:7:14","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"3727:12:14"},"returnParameters":{"id":12412,"nodeType":"ParameterList","parameters":[],"src":"3754:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12436,"nodeType":"FunctionDefinition","src":"3837:123:14","nodes":[],"body":{"id":12435,"nodeType":"Block","src":"3883:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":12430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3933:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":12431,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12424,"src":"3949:2:14","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":12428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3909:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3909:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3909:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12427,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3893:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3893:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12434,"nodeType":"ExpressionStatement","src":"3893:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"3846:10:14","parameters":{"id":12425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12424,"mutability":"mutable","name":"p0","nameLocation":"3865:2:14","nodeType":"VariableDeclaration","scope":12436,"src":"3857:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":12423,"name":"bytes20","nodeType":"ElementaryTypeName","src":"3857:7:14","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"3856:12:14"},"returnParameters":{"id":12426,"nodeType":"ParameterList","parameters":[],"src":"3883:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12450,"nodeType":"FunctionDefinition","src":"3966:123:14","nodes":[],"body":{"id":12449,"nodeType":"Block","src":"4012:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":12444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4062:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":12445,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12438,"src":"4078:2:14","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":12442,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4038:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4038:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4038:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12441,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4022:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4022:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12448,"nodeType":"ExpressionStatement","src":"4022:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"3975:10:14","parameters":{"id":12439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12438,"mutability":"mutable","name":"p0","nameLocation":"3994:2:14","nodeType":"VariableDeclaration","scope":12450,"src":"3986:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":12437,"name":"bytes21","nodeType":"ElementaryTypeName","src":"3986:7:14","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"3985:12:14"},"returnParameters":{"id":12440,"nodeType":"ParameterList","parameters":[],"src":"4012:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12464,"nodeType":"FunctionDefinition","src":"4095:123:14","nodes":[],"body":{"id":12463,"nodeType":"Block","src":"4141:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":12458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4191:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":12459,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12452,"src":"4207:2:14","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":12456,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4167:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4167:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4167:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12455,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4151:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4151:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12462,"nodeType":"ExpressionStatement","src":"4151:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4104:10:14","parameters":{"id":12453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12452,"mutability":"mutable","name":"p0","nameLocation":"4123:2:14","nodeType":"VariableDeclaration","scope":12464,"src":"4115:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":12451,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4115:7:14","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4114:12:14"},"returnParameters":{"id":12454,"nodeType":"ParameterList","parameters":[],"src":"4141:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12478,"nodeType":"FunctionDefinition","src":"4224:123:14","nodes":[],"body":{"id":12477,"nodeType":"Block","src":"4270:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":12472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4320:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":12473,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12466,"src":"4336:2:14","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":12470,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4296:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4296:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4296:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12469,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4280:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4280:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12476,"nodeType":"ExpressionStatement","src":"4280:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4233:10:14","parameters":{"id":12467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12466,"mutability":"mutable","name":"p0","nameLocation":"4252:2:14","nodeType":"VariableDeclaration","scope":12478,"src":"4244:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":12465,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4244:7:14","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4243:12:14"},"returnParameters":{"id":12468,"nodeType":"ParameterList","parameters":[],"src":"4270:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12492,"nodeType":"FunctionDefinition","src":"4353:123:14","nodes":[],"body":{"id":12491,"nodeType":"Block","src":"4399:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":12486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4449:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":12487,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12480,"src":"4465:2:14","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":12484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4425:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4425:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4425:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12483,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4409:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4409:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12490,"nodeType":"ExpressionStatement","src":"4409:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4362:10:14","parameters":{"id":12481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12480,"mutability":"mutable","name":"p0","nameLocation":"4381:2:14","nodeType":"VariableDeclaration","scope":12492,"src":"4373:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":12479,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4373:7:14","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4372:12:14"},"returnParameters":{"id":12482,"nodeType":"ParameterList","parameters":[],"src":"4399:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12506,"nodeType":"FunctionDefinition","src":"4482:123:14","nodes":[],"body":{"id":12505,"nodeType":"Block","src":"4528:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":12500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4578:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":12501,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12494,"src":"4594:2:14","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":12498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4554:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4554:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4554:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4538:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4538:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12504,"nodeType":"ExpressionStatement","src":"4538:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4491:10:14","parameters":{"id":12495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12494,"mutability":"mutable","name":"p0","nameLocation":"4510:2:14","nodeType":"VariableDeclaration","scope":12506,"src":"4502:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":12493,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4502:7:14","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4501:12:14"},"returnParameters":{"id":12496,"nodeType":"ParameterList","parameters":[],"src":"4528:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12520,"nodeType":"FunctionDefinition","src":"4611:123:14","nodes":[],"body":{"id":12519,"nodeType":"Block","src":"4657:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":12514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4707:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":12515,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12508,"src":"4723:2:14","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":12512,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4683:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4683:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4683:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12511,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4667:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4667:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12518,"nodeType":"ExpressionStatement","src":"4667:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"4620:10:14","parameters":{"id":12509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12508,"mutability":"mutable","name":"p0","nameLocation":"4639:2:14","nodeType":"VariableDeclaration","scope":12520,"src":"4631:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":12507,"name":"bytes26","nodeType":"ElementaryTypeName","src":"4631:7:14","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"4630:12:14"},"returnParameters":{"id":12510,"nodeType":"ParameterList","parameters":[],"src":"4657:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12534,"nodeType":"FunctionDefinition","src":"4740:123:14","nodes":[],"body":{"id":12533,"nodeType":"Block","src":"4786:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":12528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4836:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":12529,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12522,"src":"4852:2:14","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":12526,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4812:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4812:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4812:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12525,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4796:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4796:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12532,"nodeType":"ExpressionStatement","src":"4796:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"4749:10:14","parameters":{"id":12523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12522,"mutability":"mutable","name":"p0","nameLocation":"4768:2:14","nodeType":"VariableDeclaration","scope":12534,"src":"4760:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":12521,"name":"bytes27","nodeType":"ElementaryTypeName","src":"4760:7:14","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"4759:12:14"},"returnParameters":{"id":12524,"nodeType":"ParameterList","parameters":[],"src":"4786:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12548,"nodeType":"FunctionDefinition","src":"4869:123:14","nodes":[],"body":{"id":12547,"nodeType":"Block","src":"4915:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":12542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4965:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":12543,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12536,"src":"4981:2:14","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":12540,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4941:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4941:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4941:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4925:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4925:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12546,"nodeType":"ExpressionStatement","src":"4925:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"4878:10:14","parameters":{"id":12537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12536,"mutability":"mutable","name":"p0","nameLocation":"4897:2:14","nodeType":"VariableDeclaration","scope":12548,"src":"4889:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":12535,"name":"bytes28","nodeType":"ElementaryTypeName","src":"4889:7:14","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"4888:12:14"},"returnParameters":{"id":12538,"nodeType":"ParameterList","parameters":[],"src":"4915:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12562,"nodeType":"FunctionDefinition","src":"4998:123:14","nodes":[],"body":{"id":12561,"nodeType":"Block","src":"5044:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":12556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5094:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":12557,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12550,"src":"5110:2:14","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":12554,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5070:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5070:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5070:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12553,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5054:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5054:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12560,"nodeType":"ExpressionStatement","src":"5054:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5007:10:14","parameters":{"id":12551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12550,"mutability":"mutable","name":"p0","nameLocation":"5026:2:14","nodeType":"VariableDeclaration","scope":12562,"src":"5018:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":12549,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5018:7:14","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5017:12:14"},"returnParameters":{"id":12552,"nodeType":"ParameterList","parameters":[],"src":"5044:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12576,"nodeType":"FunctionDefinition","src":"5127:123:14","nodes":[],"body":{"id":12575,"nodeType":"Block","src":"5173:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":12570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5223:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":12571,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12564,"src":"5239:2:14","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":12568,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5199:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5199:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5199:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12567,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5183:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5183:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12574,"nodeType":"ExpressionStatement","src":"5183:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5136:10:14","parameters":{"id":12565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12564,"mutability":"mutable","name":"p0","nameLocation":"5155:2:14","nodeType":"VariableDeclaration","scope":12576,"src":"5147:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":12563,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5147:7:14","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5146:12:14"},"returnParameters":{"id":12566,"nodeType":"ParameterList","parameters":[],"src":"5173:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12590,"nodeType":"FunctionDefinition","src":"5256:123:14","nodes":[],"body":{"id":12589,"nodeType":"Block","src":"5302:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":12584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5352:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":12585,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12578,"src":"5368:2:14","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":12582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5328:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5328:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5328:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12581,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5312:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5312:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12588,"nodeType":"ExpressionStatement","src":"5312:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5265:10:14","parameters":{"id":12579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12578,"mutability":"mutable","name":"p0","nameLocation":"5284:2:14","nodeType":"VariableDeclaration","scope":12590,"src":"5276:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":12577,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5276:7:14","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5275:12:14"},"returnParameters":{"id":12580,"nodeType":"ParameterList","parameters":[],"src":"5302:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12604,"nodeType":"FunctionDefinition","src":"5385:123:14","nodes":[],"body":{"id":12603,"nodeType":"Block","src":"5431:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":12598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5481:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":12599,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12592,"src":"5497:2:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5457:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5457:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5457:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12595,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5441:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5441:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12602,"nodeType":"ExpressionStatement","src":"5441:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5394:10:14","parameters":{"id":12593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12592,"mutability":"mutable","name":"p0","nameLocation":"5413:2:14","nodeType":"VariableDeclaration","scope":12604,"src":"5405:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5405:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5404:12:14"},"returnParameters":{"id":12594,"nodeType":"ParameterList","parameters":[],"src":"5431:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12618,"nodeType":"FunctionDefinition","src":"5514:110:14","nodes":[],"body":{"id":12617,"nodeType":"Block","src":"5550:74:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7429","id":12612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5600:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},"value":"log(uint)"},{"id":12613,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12606,"src":"5613:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12610,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5576:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5576:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5576:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5560:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5560:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12616,"nodeType":"ExpressionStatement","src":"5560:57:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5523:3:14","parameters":{"id":12607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12606,"mutability":"mutable","name":"p0","nameLocation":"5532:2:14","nodeType":"VariableDeclaration","scope":12618,"src":"5527:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12605,"name":"uint","nodeType":"ElementaryTypeName","src":"5527:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5526:9:14"},"returnParameters":{"id":12608,"nodeType":"ParameterList","parameters":[],"src":"5550:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12632,"nodeType":"FunctionDefinition","src":"5630:121:14","nodes":[],"body":{"id":12631,"nodeType":"Block","src":"5675:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":12626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5725:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":12627,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12620,"src":"5740:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12624,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5701:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5701:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5701:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12623,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5685:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5685:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12630,"nodeType":"ExpressionStatement","src":"5685:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5639:3:14","parameters":{"id":12621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12620,"mutability":"mutable","name":"p0","nameLocation":"5657:2:14","nodeType":"VariableDeclaration","scope":12632,"src":"5643:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12619,"name":"string","nodeType":"ElementaryTypeName","src":"5643:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5642:18:14"},"returnParameters":{"id":12622,"nodeType":"ParameterList","parameters":[],"src":"5675:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12646,"nodeType":"FunctionDefinition","src":"5757:110:14","nodes":[],"body":{"id":12645,"nodeType":"Block","src":"5793:74:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":12640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5843:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":12641,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12634,"src":"5856:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5819:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5819:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5819:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5803:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5803:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12644,"nodeType":"ExpressionStatement","src":"5803:57:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5766:3:14","parameters":{"id":12635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12634,"mutability":"mutable","name":"p0","nameLocation":"5775:2:14","nodeType":"VariableDeclaration","scope":12646,"src":"5770:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12633,"name":"bool","nodeType":"ElementaryTypeName","src":"5770:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5769:9:14"},"returnParameters":{"id":12636,"nodeType":"ParameterList","parameters":[],"src":"5793:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12660,"nodeType":"FunctionDefinition","src":"5873:116:14","nodes":[],"body":{"id":12659,"nodeType":"Block","src":"5912:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":12654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5962:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":12655,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12648,"src":"5978:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12652,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5938:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5938:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5938:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12651,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5922:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5922:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12658,"nodeType":"ExpressionStatement","src":"5922:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5882:3:14","parameters":{"id":12649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12648,"mutability":"mutable","name":"p0","nameLocation":"5894:2:14","nodeType":"VariableDeclaration","scope":12660,"src":"5886:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12647,"name":"address","nodeType":"ElementaryTypeName","src":"5886:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5885:12:14"},"returnParameters":{"id":12650,"nodeType":"ParameterList","parameters":[],"src":"5912:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12677,"nodeType":"FunctionDefinition","src":"5995:128:14","nodes":[],"body":{"id":12676,"nodeType":"Block","src":"6040:83:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e7429","id":12670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6090:16:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32","typeString":"literal_string \"log(uint,uint)\""},"value":"log(uint,uint)"},{"id":12671,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12662,"src":"6108:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12672,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12664,"src":"6112:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32","typeString":"literal_string \"log(uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12668,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6066:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6066:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6066:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12667,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6050:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6050:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12675,"nodeType":"ExpressionStatement","src":"6050:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6004:3:14","parameters":{"id":12665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12662,"mutability":"mutable","name":"p0","nameLocation":"6013:2:14","nodeType":"VariableDeclaration","scope":12677,"src":"6008:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12661,"name":"uint","nodeType":"ElementaryTypeName","src":"6008:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12664,"mutability":"mutable","name":"p1","nameLocation":"6022:2:14","nodeType":"VariableDeclaration","scope":12677,"src":"6017:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12663,"name":"uint","nodeType":"ElementaryTypeName","src":"6017:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6007:18:14"},"returnParameters":{"id":12666,"nodeType":"ParameterList","parameters":[],"src":"6040:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12694,"nodeType":"FunctionDefinition","src":"6129:139:14","nodes":[],"body":{"id":12693,"nodeType":"Block","src":"6183:85:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e6729","id":12687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6233:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8","typeString":"literal_string \"log(uint,string)\""},"value":"log(uint,string)"},{"id":12688,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12679,"src":"6253:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12689,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12681,"src":"6257:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8","typeString":"literal_string \"log(uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12685,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6209:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6209:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6209:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12684,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6193:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6193:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12692,"nodeType":"ExpressionStatement","src":"6193:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6138:3:14","parameters":{"id":12682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12679,"mutability":"mutable","name":"p0","nameLocation":"6147:2:14","nodeType":"VariableDeclaration","scope":12694,"src":"6142:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12678,"name":"uint","nodeType":"ElementaryTypeName","src":"6142:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12681,"mutability":"mutable","name":"p1","nameLocation":"6165:2:14","nodeType":"VariableDeclaration","scope":12694,"src":"6151:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12680,"name":"string","nodeType":"ElementaryTypeName","src":"6151:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6141:27:14"},"returnParameters":{"id":12683,"nodeType":"ParameterList","parameters":[],"src":"6183:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12711,"nodeType":"FunctionDefinition","src":"6274:128:14","nodes":[],"body":{"id":12710,"nodeType":"Block","src":"6319:83:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c29","id":12704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6369:16:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172","typeString":"literal_string \"log(uint,bool)\""},"value":"log(uint,bool)"},{"id":12705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12696,"src":"6387:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12698,"src":"6391:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172","typeString":"literal_string \"log(uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6345:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6345:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6345:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6329:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6329:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12709,"nodeType":"ExpressionStatement","src":"6329:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6283:3:14","parameters":{"id":12699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12696,"mutability":"mutable","name":"p0","nameLocation":"6292:2:14","nodeType":"VariableDeclaration","scope":12711,"src":"6287:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12695,"name":"uint","nodeType":"ElementaryTypeName","src":"6287:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12698,"mutability":"mutable","name":"p1","nameLocation":"6301:2:14","nodeType":"VariableDeclaration","scope":12711,"src":"6296:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12697,"name":"bool","nodeType":"ElementaryTypeName","src":"6296:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6286:18:14"},"returnParameters":{"id":12700,"nodeType":"ParameterList","parameters":[],"src":"6319:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12728,"nodeType":"FunctionDefinition","src":"6408:134:14","nodes":[],"body":{"id":12727,"nodeType":"Block","src":"6456:86:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c6164647265737329","id":12721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6506:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2","typeString":"literal_string \"log(uint,address)\""},"value":"log(uint,address)"},{"id":12722,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12713,"src":"6527:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12723,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12715,"src":"6531:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2","typeString":"literal_string \"log(uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12719,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6482:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6482:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6482:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12718,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6466:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6466:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12726,"nodeType":"ExpressionStatement","src":"6466:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6417:3:14","parameters":{"id":12716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12713,"mutability":"mutable","name":"p0","nameLocation":"6426:2:14","nodeType":"VariableDeclaration","scope":12728,"src":"6421:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12712,"name":"uint","nodeType":"ElementaryTypeName","src":"6421:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12715,"mutability":"mutable","name":"p1","nameLocation":"6438:2:14","nodeType":"VariableDeclaration","scope":12728,"src":"6430:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12714,"name":"address","nodeType":"ElementaryTypeName","src":"6430:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6420:21:14"},"returnParameters":{"id":12717,"nodeType":"ParameterList","parameters":[],"src":"6456:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12745,"nodeType":"FunctionDefinition","src":"6548:139:14","nodes":[],"body":{"id":12744,"nodeType":"Block","src":"6602:85:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7429","id":12738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6652:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd","typeString":"literal_string \"log(string,uint)\""},"value":"log(string,uint)"},{"id":12739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12730,"src":"6672:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12732,"src":"6676:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd","typeString":"literal_string \"log(string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6628:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6628:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6628:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6612:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6612:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12743,"nodeType":"ExpressionStatement","src":"6612:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6557:3:14","parameters":{"id":12733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12730,"mutability":"mutable","name":"p0","nameLocation":"6575:2:14","nodeType":"VariableDeclaration","scope":12745,"src":"6561:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12729,"name":"string","nodeType":"ElementaryTypeName","src":"6561:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12732,"mutability":"mutable","name":"p1","nameLocation":"6584:2:14","nodeType":"VariableDeclaration","scope":12745,"src":"6579:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12731,"name":"uint","nodeType":"ElementaryTypeName","src":"6579:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6560:27:14"},"returnParameters":{"id":12734,"nodeType":"ParameterList","parameters":[],"src":"6602:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12762,"nodeType":"FunctionDefinition","src":"6693:150:14","nodes":[],"body":{"id":12761,"nodeType":"Block","src":"6756:87:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":12755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6806:20:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":12756,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12747,"src":"6828:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12757,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12749,"src":"6832:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12753,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6782:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6782:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6782:53:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12752,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6766:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6766:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12760,"nodeType":"ExpressionStatement","src":"6766:70:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6702:3:14","parameters":{"id":12750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12747,"mutability":"mutable","name":"p0","nameLocation":"6720:2:14","nodeType":"VariableDeclaration","scope":12762,"src":"6706:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12746,"name":"string","nodeType":"ElementaryTypeName","src":"6706:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12749,"mutability":"mutable","name":"p1","nameLocation":"6738:2:14","nodeType":"VariableDeclaration","scope":12762,"src":"6724:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12748,"name":"string","nodeType":"ElementaryTypeName","src":"6724:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6705:36:14"},"returnParameters":{"id":12751,"nodeType":"ParameterList","parameters":[],"src":"6756:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12779,"nodeType":"FunctionDefinition","src":"6849:139:14","nodes":[],"body":{"id":12778,"nodeType":"Block","src":"6903:85:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":12772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6953:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":12773,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12764,"src":"6973:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12774,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12766,"src":"6977:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12770,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6929:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6929:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6929:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12769,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6913:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6913:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12777,"nodeType":"ExpressionStatement","src":"6913:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6858:3:14","parameters":{"id":12767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12764,"mutability":"mutable","name":"p0","nameLocation":"6876:2:14","nodeType":"VariableDeclaration","scope":12779,"src":"6862:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12763,"name":"string","nodeType":"ElementaryTypeName","src":"6862:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12766,"mutability":"mutable","name":"p1","nameLocation":"6885:2:14","nodeType":"VariableDeclaration","scope":12779,"src":"6880:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12765,"name":"bool","nodeType":"ElementaryTypeName","src":"6880:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6861:27:14"},"returnParameters":{"id":12768,"nodeType":"ParameterList","parameters":[],"src":"6903:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12796,"nodeType":"FunctionDefinition","src":"6994:145:14","nodes":[],"body":{"id":12795,"nodeType":"Block","src":"7051:88:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":12789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7101:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":12790,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12781,"src":"7124:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12791,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12783,"src":"7128:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12787,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7077:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7077:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7077:54:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12786,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7061:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7061:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12794,"nodeType":"ExpressionStatement","src":"7061:71:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7003:3:14","parameters":{"id":12784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12781,"mutability":"mutable","name":"p0","nameLocation":"7021:2:14","nodeType":"VariableDeclaration","scope":12796,"src":"7007:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12780,"name":"string","nodeType":"ElementaryTypeName","src":"7007:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12783,"mutability":"mutable","name":"p1","nameLocation":"7033:2:14","nodeType":"VariableDeclaration","scope":12796,"src":"7025:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12782,"name":"address","nodeType":"ElementaryTypeName","src":"7025:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7006:30:14"},"returnParameters":{"id":12785,"nodeType":"ParameterList","parameters":[],"src":"7051:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12813,"nodeType":"FunctionDefinition","src":"7145:128:14","nodes":[],"body":{"id":12812,"nodeType":"Block","src":"7190:83:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7429","id":12806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7240:16:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299","typeString":"literal_string \"log(bool,uint)\""},"value":"log(bool,uint)"},{"id":12807,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12798,"src":"7258:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12808,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12800,"src":"7262:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299","typeString":"literal_string \"log(bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7216:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7216:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7216:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7200:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7200:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12811,"nodeType":"ExpressionStatement","src":"7200:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7154:3:14","parameters":{"id":12801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12798,"mutability":"mutable","name":"p0","nameLocation":"7163:2:14","nodeType":"VariableDeclaration","scope":12813,"src":"7158:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12797,"name":"bool","nodeType":"ElementaryTypeName","src":"7158:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12800,"mutability":"mutable","name":"p1","nameLocation":"7172:2:14","nodeType":"VariableDeclaration","scope":12813,"src":"7167:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12799,"name":"uint","nodeType":"ElementaryTypeName","src":"7167:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7157:18:14"},"returnParameters":{"id":12802,"nodeType":"ParameterList","parameters":[],"src":"7190:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12830,"nodeType":"FunctionDefinition","src":"7279:139:14","nodes":[],"body":{"id":12829,"nodeType":"Block","src":"7333:85:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":12823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7383:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":12824,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12815,"src":"7403:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12825,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12817,"src":"7407:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7359:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7359:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7359:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12820,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7343:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7343:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12828,"nodeType":"ExpressionStatement","src":"7343:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7288:3:14","parameters":{"id":12818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12815,"mutability":"mutable","name":"p0","nameLocation":"7297:2:14","nodeType":"VariableDeclaration","scope":12830,"src":"7292:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12814,"name":"bool","nodeType":"ElementaryTypeName","src":"7292:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12817,"mutability":"mutable","name":"p1","nameLocation":"7315:2:14","nodeType":"VariableDeclaration","scope":12830,"src":"7301:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12816,"name":"string","nodeType":"ElementaryTypeName","src":"7301:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7291:27:14"},"returnParameters":{"id":12819,"nodeType":"ParameterList","parameters":[],"src":"7333:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12847,"nodeType":"FunctionDefinition","src":"7424:128:14","nodes":[],"body":{"id":12846,"nodeType":"Block","src":"7469:83:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":12840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7519:16:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":12841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12832,"src":"7537:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12834,"src":"7541:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7495:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7495:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7495:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7479:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7479:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12845,"nodeType":"ExpressionStatement","src":"7479:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7433:3:14","parameters":{"id":12835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12832,"mutability":"mutable","name":"p0","nameLocation":"7442:2:14","nodeType":"VariableDeclaration","scope":12847,"src":"7437:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12831,"name":"bool","nodeType":"ElementaryTypeName","src":"7437:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12834,"mutability":"mutable","name":"p1","nameLocation":"7451:2:14","nodeType":"VariableDeclaration","scope":12847,"src":"7446:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12833,"name":"bool","nodeType":"ElementaryTypeName","src":"7446:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7436:18:14"},"returnParameters":{"id":12836,"nodeType":"ParameterList","parameters":[],"src":"7469:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12864,"nodeType":"FunctionDefinition","src":"7558:134:14","nodes":[],"body":{"id":12863,"nodeType":"Block","src":"7606:86:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":12857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7656:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":12858,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12849,"src":"7677:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12859,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12851,"src":"7681:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12855,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7632:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7632:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7632:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12854,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7616:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7616:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12862,"nodeType":"ExpressionStatement","src":"7616:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7567:3:14","parameters":{"id":12852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12849,"mutability":"mutable","name":"p0","nameLocation":"7576:2:14","nodeType":"VariableDeclaration","scope":12864,"src":"7571:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12848,"name":"bool","nodeType":"ElementaryTypeName","src":"7571:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12851,"mutability":"mutable","name":"p1","nameLocation":"7588:2:14","nodeType":"VariableDeclaration","scope":12864,"src":"7580:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12850,"name":"address","nodeType":"ElementaryTypeName","src":"7580:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7570:21:14"},"returnParameters":{"id":12853,"nodeType":"ParameterList","parameters":[],"src":"7606:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12881,"nodeType":"FunctionDefinition","src":"7698:134:14","nodes":[],"body":{"id":12880,"nodeType":"Block","src":"7746:86:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7429","id":12874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7796:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133","typeString":"literal_string \"log(address,uint)\""},"value":"log(address,uint)"},{"id":12875,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12866,"src":"7817:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12876,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12868,"src":"7821:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133","typeString":"literal_string \"log(address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12872,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7772:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7772:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7772:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12871,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7756:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7756:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12879,"nodeType":"ExpressionStatement","src":"7756:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7707:3:14","parameters":{"id":12869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12866,"mutability":"mutable","name":"p0","nameLocation":"7719:2:14","nodeType":"VariableDeclaration","scope":12881,"src":"7711:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12865,"name":"address","nodeType":"ElementaryTypeName","src":"7711:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12868,"mutability":"mutable","name":"p1","nameLocation":"7728:2:14","nodeType":"VariableDeclaration","scope":12881,"src":"7723:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12867,"name":"uint","nodeType":"ElementaryTypeName","src":"7723:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7710:21:14"},"returnParameters":{"id":12870,"nodeType":"ParameterList","parameters":[],"src":"7746:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12898,"nodeType":"FunctionDefinition","src":"7838:145:14","nodes":[],"body":{"id":12897,"nodeType":"Block","src":"7895:88:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":12891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7945:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":12892,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12883,"src":"7968:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12893,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12885,"src":"7972:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7921:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7921:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7921:54:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12888,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7905:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7905:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12896,"nodeType":"ExpressionStatement","src":"7905:71:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7847:3:14","parameters":{"id":12886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12883,"mutability":"mutable","name":"p0","nameLocation":"7859:2:14","nodeType":"VariableDeclaration","scope":12898,"src":"7851:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12882,"name":"address","nodeType":"ElementaryTypeName","src":"7851:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12885,"mutability":"mutable","name":"p1","nameLocation":"7877:2:14","nodeType":"VariableDeclaration","scope":12898,"src":"7863:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12884,"name":"string","nodeType":"ElementaryTypeName","src":"7863:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7850:30:14"},"returnParameters":{"id":12887,"nodeType":"ParameterList","parameters":[],"src":"7895:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12915,"nodeType":"FunctionDefinition","src":"7989:134:14","nodes":[],"body":{"id":12914,"nodeType":"Block","src":"8037:86:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":12908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8087:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":12909,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12900,"src":"8108:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12910,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12902,"src":"8112:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12906,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8063:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8063:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8063:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12905,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8047:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8047:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12913,"nodeType":"ExpressionStatement","src":"8047:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7998:3:14","parameters":{"id":12903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12900,"mutability":"mutable","name":"p0","nameLocation":"8010:2:14","nodeType":"VariableDeclaration","scope":12915,"src":"8002:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12899,"name":"address","nodeType":"ElementaryTypeName","src":"8002:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12902,"mutability":"mutable","name":"p1","nameLocation":"8019:2:14","nodeType":"VariableDeclaration","scope":12915,"src":"8014:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12901,"name":"bool","nodeType":"ElementaryTypeName","src":"8014:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8001:21:14"},"returnParameters":{"id":12904,"nodeType":"ParameterList","parameters":[],"src":"8037:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12932,"nodeType":"FunctionDefinition","src":"8129:140:14","nodes":[],"body":{"id":12931,"nodeType":"Block","src":"8180:89:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":12925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8230:22:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":12926,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12917,"src":"8254:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12927,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12919,"src":"8258:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12923,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8206:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8206:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8206:55:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12922,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8190:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8190:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12930,"nodeType":"ExpressionStatement","src":"8190:72:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8138:3:14","parameters":{"id":12920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12917,"mutability":"mutable","name":"p0","nameLocation":"8150:2:14","nodeType":"VariableDeclaration","scope":12932,"src":"8142:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12916,"name":"address","nodeType":"ElementaryTypeName","src":"8142:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12919,"mutability":"mutable","name":"p1","nameLocation":"8162:2:14","nodeType":"VariableDeclaration","scope":12932,"src":"8154:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12918,"name":"address","nodeType":"ElementaryTypeName","src":"8154:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8141:24:14"},"returnParameters":{"id":12921,"nodeType":"ParameterList","parameters":[],"src":"8180:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12952,"nodeType":"FunctionDefinition","src":"8275:146:14","nodes":[],"body":{"id":12951,"nodeType":"Block","src":"8329:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e7429","id":12944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8379:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17","typeString":"literal_string \"log(uint,uint,uint)\""},"value":"log(uint,uint,uint)"},{"id":12945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12934,"src":"8402:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12936,"src":"8406:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12947,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12938,"src":"8410:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17","typeString":"literal_string \"log(uint,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8355:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8355:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8355:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8339:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8339:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12950,"nodeType":"ExpressionStatement","src":"8339:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8284:3:14","parameters":{"id":12939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12934,"mutability":"mutable","name":"p0","nameLocation":"8293:2:14","nodeType":"VariableDeclaration","scope":12952,"src":"8288:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12933,"name":"uint","nodeType":"ElementaryTypeName","src":"8288:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12936,"mutability":"mutable","name":"p1","nameLocation":"8302:2:14","nodeType":"VariableDeclaration","scope":12952,"src":"8297:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12935,"name":"uint","nodeType":"ElementaryTypeName","src":"8297:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12938,"mutability":"mutable","name":"p2","nameLocation":"8311:2:14","nodeType":"VariableDeclaration","scope":12952,"src":"8306:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12937,"name":"uint","nodeType":"ElementaryTypeName","src":"8306:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8287:27:14"},"returnParameters":{"id":12940,"nodeType":"ParameterList","parameters":[],"src":"8329:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12972,"nodeType":"FunctionDefinition","src":"8427:157:14","nodes":[],"body":{"id":12971,"nodeType":"Block","src":"8490:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e6729","id":12964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8540:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699","typeString":"literal_string \"log(uint,uint,string)\""},"value":"log(uint,uint,string)"},{"id":12965,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12954,"src":"8565:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12966,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12956,"src":"8569:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12967,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12958,"src":"8573:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699","typeString":"literal_string \"log(uint,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12962,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8516:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8516:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8516:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12961,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8500:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8500:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12970,"nodeType":"ExpressionStatement","src":"8500:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8436:3:14","parameters":{"id":12959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12954,"mutability":"mutable","name":"p0","nameLocation":"8445:2:14","nodeType":"VariableDeclaration","scope":12972,"src":"8440:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12953,"name":"uint","nodeType":"ElementaryTypeName","src":"8440:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12956,"mutability":"mutable","name":"p1","nameLocation":"8454:2:14","nodeType":"VariableDeclaration","scope":12972,"src":"8449:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12955,"name":"uint","nodeType":"ElementaryTypeName","src":"8449:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12958,"mutability":"mutable","name":"p2","nameLocation":"8472:2:14","nodeType":"VariableDeclaration","scope":12972,"src":"8458:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12957,"name":"string","nodeType":"ElementaryTypeName","src":"8458:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8439:36:14"},"returnParameters":{"id":12960,"nodeType":"ParameterList","parameters":[],"src":"8490:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12992,"nodeType":"FunctionDefinition","src":"8590:146:14","nodes":[],"body":{"id":12991,"nodeType":"Block","src":"8644:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c29","id":12984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8694:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8","typeString":"literal_string \"log(uint,uint,bool)\""},"value":"log(uint,uint,bool)"},{"id":12985,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12974,"src":"8717:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12986,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12976,"src":"8721:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12987,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12978,"src":"8725:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8","typeString":"literal_string \"log(uint,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12982,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8670:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8670:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8670:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12981,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8654:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8654:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12990,"nodeType":"ExpressionStatement","src":"8654:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8599:3:14","parameters":{"id":12979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12974,"mutability":"mutable","name":"p0","nameLocation":"8608:2:14","nodeType":"VariableDeclaration","scope":12992,"src":"8603:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12973,"name":"uint","nodeType":"ElementaryTypeName","src":"8603:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12976,"mutability":"mutable","name":"p1","nameLocation":"8617:2:14","nodeType":"VariableDeclaration","scope":12992,"src":"8612:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12975,"name":"uint","nodeType":"ElementaryTypeName","src":"8612:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12978,"mutability":"mutable","name":"p2","nameLocation":"8626:2:14","nodeType":"VariableDeclaration","scope":12992,"src":"8621:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12977,"name":"bool","nodeType":"ElementaryTypeName","src":"8621:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8602:27:14"},"returnParameters":{"id":12980,"nodeType":"ParameterList","parameters":[],"src":"8644:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13012,"nodeType":"FunctionDefinition","src":"8742:152:14","nodes":[],"body":{"id":13011,"nodeType":"Block","src":"8799:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c6164647265737329","id":13004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8849:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616","typeString":"literal_string \"log(uint,uint,address)\""},"value":"log(uint,uint,address)"},{"id":13005,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12994,"src":"8875:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13006,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12996,"src":"8879:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13007,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12998,"src":"8883:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616","typeString":"literal_string \"log(uint,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8825:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8825:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8825:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8809:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8809:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13010,"nodeType":"ExpressionStatement","src":"8809:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8751:3:14","parameters":{"id":12999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12994,"mutability":"mutable","name":"p0","nameLocation":"8760:2:14","nodeType":"VariableDeclaration","scope":13012,"src":"8755:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12993,"name":"uint","nodeType":"ElementaryTypeName","src":"8755:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12996,"mutability":"mutable","name":"p1","nameLocation":"8769:2:14","nodeType":"VariableDeclaration","scope":13012,"src":"8764:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12995,"name":"uint","nodeType":"ElementaryTypeName","src":"8764:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12998,"mutability":"mutable","name":"p2","nameLocation":"8781:2:14","nodeType":"VariableDeclaration","scope":13012,"src":"8773:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12997,"name":"address","nodeType":"ElementaryTypeName","src":"8773:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8754:30:14"},"returnParameters":{"id":13000,"nodeType":"ParameterList","parameters":[],"src":"8799:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13032,"nodeType":"FunctionDefinition","src":"8900:157:14","nodes":[],"body":{"id":13031,"nodeType":"Block","src":"8963:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e7429","id":13024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9013:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd","typeString":"literal_string \"log(uint,string,uint)\""},"value":"log(uint,string,uint)"},{"id":13025,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13014,"src":"9038:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13026,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13016,"src":"9042:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13027,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13018,"src":"9046:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd","typeString":"literal_string \"log(uint,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8989:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8989:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8989:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8973:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8973:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13030,"nodeType":"ExpressionStatement","src":"8973:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8909:3:14","parameters":{"id":13019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13014,"mutability":"mutable","name":"p0","nameLocation":"8918:2:14","nodeType":"VariableDeclaration","scope":13032,"src":"8913:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13013,"name":"uint","nodeType":"ElementaryTypeName","src":"8913:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13016,"mutability":"mutable","name":"p1","nameLocation":"8936:2:14","nodeType":"VariableDeclaration","scope":13032,"src":"8922:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13015,"name":"string","nodeType":"ElementaryTypeName","src":"8922:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13018,"mutability":"mutable","name":"p2","nameLocation":"8945:2:14","nodeType":"VariableDeclaration","scope":13032,"src":"8940:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13017,"name":"uint","nodeType":"ElementaryTypeName","src":"8940:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8912:36:14"},"returnParameters":{"id":13020,"nodeType":"ParameterList","parameters":[],"src":"8963:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13052,"nodeType":"FunctionDefinition","src":"9063:168:14","nodes":[],"body":{"id":13051,"nodeType":"Block","src":"9135:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e6729","id":13044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9185:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65","typeString":"literal_string \"log(uint,string,string)\""},"value":"log(uint,string,string)"},{"id":13045,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13034,"src":"9212:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13046,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13036,"src":"9216:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13047,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13038,"src":"9220:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65","typeString":"literal_string \"log(uint,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13042,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9161:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9161:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9161:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13041,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9145:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9145:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13050,"nodeType":"ExpressionStatement","src":"9145:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9072:3:14","parameters":{"id":13039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13034,"mutability":"mutable","name":"p0","nameLocation":"9081:2:14","nodeType":"VariableDeclaration","scope":13052,"src":"9076:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13033,"name":"uint","nodeType":"ElementaryTypeName","src":"9076:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13036,"mutability":"mutable","name":"p1","nameLocation":"9099:2:14","nodeType":"VariableDeclaration","scope":13052,"src":"9085:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13035,"name":"string","nodeType":"ElementaryTypeName","src":"9085:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13038,"mutability":"mutable","name":"p2","nameLocation":"9117:2:14","nodeType":"VariableDeclaration","scope":13052,"src":"9103:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13037,"name":"string","nodeType":"ElementaryTypeName","src":"9103:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9075:45:14"},"returnParameters":{"id":13040,"nodeType":"ParameterList","parameters":[],"src":"9135:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13072,"nodeType":"FunctionDefinition","src":"9237:157:14","nodes":[],"body":{"id":13071,"nodeType":"Block","src":"9300:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c29","id":13064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9350:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485","typeString":"literal_string \"log(uint,string,bool)\""},"value":"log(uint,string,bool)"},{"id":13065,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13054,"src":"9375:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13066,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13056,"src":"9379:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13067,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13058,"src":"9383:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485","typeString":"literal_string \"log(uint,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13062,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9326:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9326:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9326:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13061,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9310:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9310:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13070,"nodeType":"ExpressionStatement","src":"9310:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9246:3:14","parameters":{"id":13059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13054,"mutability":"mutable","name":"p0","nameLocation":"9255:2:14","nodeType":"VariableDeclaration","scope":13072,"src":"9250:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13053,"name":"uint","nodeType":"ElementaryTypeName","src":"9250:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13056,"mutability":"mutable","name":"p1","nameLocation":"9273:2:14","nodeType":"VariableDeclaration","scope":13072,"src":"9259:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13055,"name":"string","nodeType":"ElementaryTypeName","src":"9259:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13058,"mutability":"mutable","name":"p2","nameLocation":"9282:2:14","nodeType":"VariableDeclaration","scope":13072,"src":"9277:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13057,"name":"bool","nodeType":"ElementaryTypeName","src":"9277:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9249:36:14"},"returnParameters":{"id":13060,"nodeType":"ParameterList","parameters":[],"src":"9300:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13092,"nodeType":"FunctionDefinition","src":"9400:163:14","nodes":[],"body":{"id":13091,"nodeType":"Block","src":"9466:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c6164647265737329","id":13084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9516:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac","typeString":"literal_string \"log(uint,string,address)\""},"value":"log(uint,string,address)"},{"id":13085,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13074,"src":"9544:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13086,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13076,"src":"9548:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13087,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13078,"src":"9552:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac","typeString":"literal_string \"log(uint,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13082,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9492:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9492:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9492:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9476:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9476:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13090,"nodeType":"ExpressionStatement","src":"9476:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9409:3:14","parameters":{"id":13079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13074,"mutability":"mutable","name":"p0","nameLocation":"9418:2:14","nodeType":"VariableDeclaration","scope":13092,"src":"9413:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13073,"name":"uint","nodeType":"ElementaryTypeName","src":"9413:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13076,"mutability":"mutable","name":"p1","nameLocation":"9436:2:14","nodeType":"VariableDeclaration","scope":13092,"src":"9422:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13075,"name":"string","nodeType":"ElementaryTypeName","src":"9422:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13078,"mutability":"mutable","name":"p2","nameLocation":"9448:2:14","nodeType":"VariableDeclaration","scope":13092,"src":"9440:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13077,"name":"address","nodeType":"ElementaryTypeName","src":"9440:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9412:39:14"},"returnParameters":{"id":13080,"nodeType":"ParameterList","parameters":[],"src":"9466:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13112,"nodeType":"FunctionDefinition","src":"9569:146:14","nodes":[],"body":{"id":13111,"nodeType":"Block","src":"9623:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e7429","id":13104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9673:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6","typeString":"literal_string \"log(uint,bool,uint)\""},"value":"log(uint,bool,uint)"},{"id":13105,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13094,"src":"9696:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13106,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13096,"src":"9700:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13107,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13098,"src":"9704:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6","typeString":"literal_string \"log(uint,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9649:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9649:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9649:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13101,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9633:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9633:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13110,"nodeType":"ExpressionStatement","src":"9633:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9578:3:14","parameters":{"id":13099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13094,"mutability":"mutable","name":"p0","nameLocation":"9587:2:14","nodeType":"VariableDeclaration","scope":13112,"src":"9582:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13093,"name":"uint","nodeType":"ElementaryTypeName","src":"9582:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13096,"mutability":"mutable","name":"p1","nameLocation":"9596:2:14","nodeType":"VariableDeclaration","scope":13112,"src":"9591:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13095,"name":"bool","nodeType":"ElementaryTypeName","src":"9591:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13098,"mutability":"mutable","name":"p2","nameLocation":"9605:2:14","nodeType":"VariableDeclaration","scope":13112,"src":"9600:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13097,"name":"uint","nodeType":"ElementaryTypeName","src":"9600:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9581:27:14"},"returnParameters":{"id":13100,"nodeType":"ParameterList","parameters":[],"src":"9623:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13132,"nodeType":"FunctionDefinition","src":"9721:157:14","nodes":[],"body":{"id":13131,"nodeType":"Block","src":"9784:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e6729","id":13124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9834:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82","typeString":"literal_string \"log(uint,bool,string)\""},"value":"log(uint,bool,string)"},{"id":13125,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13114,"src":"9859:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13126,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13116,"src":"9863:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13127,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13118,"src":"9867:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82","typeString":"literal_string \"log(uint,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9810:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9810:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9810:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13121,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9794:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9794:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13130,"nodeType":"ExpressionStatement","src":"9794:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9730:3:14","parameters":{"id":13119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13114,"mutability":"mutable","name":"p0","nameLocation":"9739:2:14","nodeType":"VariableDeclaration","scope":13132,"src":"9734:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13113,"name":"uint","nodeType":"ElementaryTypeName","src":"9734:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13116,"mutability":"mutable","name":"p1","nameLocation":"9748:2:14","nodeType":"VariableDeclaration","scope":13132,"src":"9743:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13115,"name":"bool","nodeType":"ElementaryTypeName","src":"9743:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13118,"mutability":"mutable","name":"p2","nameLocation":"9766:2:14","nodeType":"VariableDeclaration","scope":13132,"src":"9752:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13117,"name":"string","nodeType":"ElementaryTypeName","src":"9752:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9733:36:14"},"returnParameters":{"id":13120,"nodeType":"ParameterList","parameters":[],"src":"9784:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13152,"nodeType":"FunctionDefinition","src":"9884:146:14","nodes":[],"body":{"id":13151,"nodeType":"Block","src":"9938:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c29","id":13144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9988:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971","typeString":"literal_string \"log(uint,bool,bool)\""},"value":"log(uint,bool,bool)"},{"id":13145,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13134,"src":"10011:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13146,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13136,"src":"10015:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13147,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13138,"src":"10019:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971","typeString":"literal_string \"log(uint,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13142,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9964:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9964:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9964:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13141,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9948:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9948:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13150,"nodeType":"ExpressionStatement","src":"9948:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9893:3:14","parameters":{"id":13139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13134,"mutability":"mutable","name":"p0","nameLocation":"9902:2:14","nodeType":"VariableDeclaration","scope":13152,"src":"9897:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13133,"name":"uint","nodeType":"ElementaryTypeName","src":"9897:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13136,"mutability":"mutable","name":"p1","nameLocation":"9911:2:14","nodeType":"VariableDeclaration","scope":13152,"src":"9906:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13135,"name":"bool","nodeType":"ElementaryTypeName","src":"9906:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13138,"mutability":"mutable","name":"p2","nameLocation":"9920:2:14","nodeType":"VariableDeclaration","scope":13152,"src":"9915:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13137,"name":"bool","nodeType":"ElementaryTypeName","src":"9915:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9896:27:14"},"returnParameters":{"id":13140,"nodeType":"ParameterList","parameters":[],"src":"9938:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13172,"nodeType":"FunctionDefinition","src":"10036:152:14","nodes":[],"body":{"id":13171,"nodeType":"Block","src":"10093:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c6164647265737329","id":13164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10143:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2","typeString":"literal_string \"log(uint,bool,address)\""},"value":"log(uint,bool,address)"},{"id":13165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13154,"src":"10169:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13156,"src":"10173:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13158,"src":"10177:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2","typeString":"literal_string \"log(uint,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10119:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10119:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10119:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10103:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10103:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13170,"nodeType":"ExpressionStatement","src":"10103:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10045:3:14","parameters":{"id":13159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13154,"mutability":"mutable","name":"p0","nameLocation":"10054:2:14","nodeType":"VariableDeclaration","scope":13172,"src":"10049:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13153,"name":"uint","nodeType":"ElementaryTypeName","src":"10049:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13156,"mutability":"mutable","name":"p1","nameLocation":"10063:2:14","nodeType":"VariableDeclaration","scope":13172,"src":"10058:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13155,"name":"bool","nodeType":"ElementaryTypeName","src":"10058:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13158,"mutability":"mutable","name":"p2","nameLocation":"10075:2:14","nodeType":"VariableDeclaration","scope":13172,"src":"10067:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13157,"name":"address","nodeType":"ElementaryTypeName","src":"10067:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10048:30:14"},"returnParameters":{"id":13160,"nodeType":"ParameterList","parameters":[],"src":"10093:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13192,"nodeType":"FunctionDefinition","src":"10194:152:14","nodes":[],"body":{"id":13191,"nodeType":"Block","src":"10251:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e7429","id":13184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10301:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617","typeString":"literal_string \"log(uint,address,uint)\""},"value":"log(uint,address,uint)"},{"id":13185,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13174,"src":"10327:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13186,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13176,"src":"10331:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13187,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13178,"src":"10335:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617","typeString":"literal_string \"log(uint,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13182,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10277:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10277:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10277:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13181,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10261:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10261:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13190,"nodeType":"ExpressionStatement","src":"10261:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10203:3:14","parameters":{"id":13179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13174,"mutability":"mutable","name":"p0","nameLocation":"10212:2:14","nodeType":"VariableDeclaration","scope":13192,"src":"10207:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13173,"name":"uint","nodeType":"ElementaryTypeName","src":"10207:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13176,"mutability":"mutable","name":"p1","nameLocation":"10224:2:14","nodeType":"VariableDeclaration","scope":13192,"src":"10216:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13175,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13178,"mutability":"mutable","name":"p2","nameLocation":"10233:2:14","nodeType":"VariableDeclaration","scope":13192,"src":"10228:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13177,"name":"uint","nodeType":"ElementaryTypeName","src":"10228:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10206:30:14"},"returnParameters":{"id":13180,"nodeType":"ParameterList","parameters":[],"src":"10251:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13212,"nodeType":"FunctionDefinition","src":"10352:163:14","nodes":[],"body":{"id":13211,"nodeType":"Block","src":"10418:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e6729","id":13204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10468:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed","typeString":"literal_string \"log(uint,address,string)\""},"value":"log(uint,address,string)"},{"id":13205,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13194,"src":"10496:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13206,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13196,"src":"10500:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13207,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13198,"src":"10504:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed","typeString":"literal_string \"log(uint,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10444:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10444:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10444:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10428:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10428:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13210,"nodeType":"ExpressionStatement","src":"10428:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10361:3:14","parameters":{"id":13199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13194,"mutability":"mutable","name":"p0","nameLocation":"10370:2:14","nodeType":"VariableDeclaration","scope":13212,"src":"10365:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13193,"name":"uint","nodeType":"ElementaryTypeName","src":"10365:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13196,"mutability":"mutable","name":"p1","nameLocation":"10382:2:14","nodeType":"VariableDeclaration","scope":13212,"src":"10374:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13195,"name":"address","nodeType":"ElementaryTypeName","src":"10374:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13198,"mutability":"mutable","name":"p2","nameLocation":"10400:2:14","nodeType":"VariableDeclaration","scope":13212,"src":"10386:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13197,"name":"string","nodeType":"ElementaryTypeName","src":"10386:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10364:39:14"},"returnParameters":{"id":13200,"nodeType":"ParameterList","parameters":[],"src":"10418:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13232,"nodeType":"FunctionDefinition","src":"10521:152:14","nodes":[],"body":{"id":13231,"nodeType":"Block","src":"10578:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c29","id":13224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10628:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80","typeString":"literal_string \"log(uint,address,bool)\""},"value":"log(uint,address,bool)"},{"id":13225,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13214,"src":"10654:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13226,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"10658:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13227,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13218,"src":"10662:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80","typeString":"literal_string \"log(uint,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13222,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10604:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10604:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10604:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13221,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10588:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10588:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13230,"nodeType":"ExpressionStatement","src":"10588:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10530:3:14","parameters":{"id":13219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13214,"mutability":"mutable","name":"p0","nameLocation":"10539:2:14","nodeType":"VariableDeclaration","scope":13232,"src":"10534:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13213,"name":"uint","nodeType":"ElementaryTypeName","src":"10534:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13216,"mutability":"mutable","name":"p1","nameLocation":"10551:2:14","nodeType":"VariableDeclaration","scope":13232,"src":"10543:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13215,"name":"address","nodeType":"ElementaryTypeName","src":"10543:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13218,"mutability":"mutable","name":"p2","nameLocation":"10560:2:14","nodeType":"VariableDeclaration","scope":13232,"src":"10555:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13217,"name":"bool","nodeType":"ElementaryTypeName","src":"10555:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10533:30:14"},"returnParameters":{"id":13220,"nodeType":"ParameterList","parameters":[],"src":"10578:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13252,"nodeType":"FunctionDefinition","src":"10679:158:14","nodes":[],"body":{"id":13251,"nodeType":"Block","src":"10739:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c6164647265737329","id":13244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10789:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b","typeString":"literal_string \"log(uint,address,address)\""},"value":"log(uint,address,address)"},{"id":13245,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"10818:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13246,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13236,"src":"10822:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13247,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13238,"src":"10826:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b","typeString":"literal_string \"log(uint,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13242,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10765:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10765:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10765:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10749:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10749:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13250,"nodeType":"ExpressionStatement","src":"10749:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10688:3:14","parameters":{"id":13239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13234,"mutability":"mutable","name":"p0","nameLocation":"10697:2:14","nodeType":"VariableDeclaration","scope":13252,"src":"10692:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13233,"name":"uint","nodeType":"ElementaryTypeName","src":"10692:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13236,"mutability":"mutable","name":"p1","nameLocation":"10709:2:14","nodeType":"VariableDeclaration","scope":13252,"src":"10701:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13235,"name":"address","nodeType":"ElementaryTypeName","src":"10701:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13238,"mutability":"mutable","name":"p2","nameLocation":"10721:2:14","nodeType":"VariableDeclaration","scope":13252,"src":"10713:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13237,"name":"address","nodeType":"ElementaryTypeName","src":"10713:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10691:33:14"},"returnParameters":{"id":13240,"nodeType":"ParameterList","parameters":[],"src":"10739:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13272,"nodeType":"FunctionDefinition","src":"10843:157:14","nodes":[],"body":{"id":13271,"nodeType":"Block","src":"10906:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e7429","id":13264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10956:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e","typeString":"literal_string \"log(string,uint,uint)\""},"value":"log(string,uint,uint)"},{"id":13265,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13254,"src":"10981:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13266,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13256,"src":"10985:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13267,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13258,"src":"10989:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e","typeString":"literal_string \"log(string,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13262,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10932:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10932:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10932:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13261,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10916:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10916:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13270,"nodeType":"ExpressionStatement","src":"10916:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10852:3:14","parameters":{"id":13259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13254,"mutability":"mutable","name":"p0","nameLocation":"10870:2:14","nodeType":"VariableDeclaration","scope":13272,"src":"10856:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13253,"name":"string","nodeType":"ElementaryTypeName","src":"10856:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13256,"mutability":"mutable","name":"p1","nameLocation":"10879:2:14","nodeType":"VariableDeclaration","scope":13272,"src":"10874:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13255,"name":"uint","nodeType":"ElementaryTypeName","src":"10874:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13258,"mutability":"mutable","name":"p2","nameLocation":"10888:2:14","nodeType":"VariableDeclaration","scope":13272,"src":"10883:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13257,"name":"uint","nodeType":"ElementaryTypeName","src":"10883:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10855:36:14"},"returnParameters":{"id":13260,"nodeType":"ParameterList","parameters":[],"src":"10906:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13292,"nodeType":"FunctionDefinition","src":"11006:168:14","nodes":[],"body":{"id":13291,"nodeType":"Block","src":"11078:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e6729","id":13284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11128:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec","typeString":"literal_string \"log(string,uint,string)\""},"value":"log(string,uint,string)"},{"id":13285,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13274,"src":"11155:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13286,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13276,"src":"11159:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13287,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13278,"src":"11163:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec","typeString":"literal_string \"log(string,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13282,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11104:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11104:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11104:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13281,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11088:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11088:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13290,"nodeType":"ExpressionStatement","src":"11088:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11015:3:14","parameters":{"id":13279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13274,"mutability":"mutable","name":"p0","nameLocation":"11033:2:14","nodeType":"VariableDeclaration","scope":13292,"src":"11019:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13273,"name":"string","nodeType":"ElementaryTypeName","src":"11019:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13276,"mutability":"mutable","name":"p1","nameLocation":"11042:2:14","nodeType":"VariableDeclaration","scope":13292,"src":"11037:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13275,"name":"uint","nodeType":"ElementaryTypeName","src":"11037:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13278,"mutability":"mutable","name":"p2","nameLocation":"11060:2:14","nodeType":"VariableDeclaration","scope":13292,"src":"11046:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13277,"name":"string","nodeType":"ElementaryTypeName","src":"11046:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11018:45:14"},"returnParameters":{"id":13280,"nodeType":"ParameterList","parameters":[],"src":"11078:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13312,"nodeType":"FunctionDefinition","src":"11180:157:14","nodes":[],"body":{"id":13311,"nodeType":"Block","src":"11243:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c29","id":13304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11293:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3","typeString":"literal_string \"log(string,uint,bool)\""},"value":"log(string,uint,bool)"},{"id":13305,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13294,"src":"11318:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13306,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13296,"src":"11322:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13307,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13298,"src":"11326:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3","typeString":"literal_string \"log(string,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11269:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11269:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11269:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13301,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11253:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11253:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13310,"nodeType":"ExpressionStatement","src":"11253:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11189:3:14","parameters":{"id":13299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13294,"mutability":"mutable","name":"p0","nameLocation":"11207:2:14","nodeType":"VariableDeclaration","scope":13312,"src":"11193:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13293,"name":"string","nodeType":"ElementaryTypeName","src":"11193:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13296,"mutability":"mutable","name":"p1","nameLocation":"11216:2:14","nodeType":"VariableDeclaration","scope":13312,"src":"11211:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13295,"name":"uint","nodeType":"ElementaryTypeName","src":"11211:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13298,"mutability":"mutable","name":"p2","nameLocation":"11225:2:14","nodeType":"VariableDeclaration","scope":13312,"src":"11220:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13297,"name":"bool","nodeType":"ElementaryTypeName","src":"11220:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11192:36:14"},"returnParameters":{"id":13300,"nodeType":"ParameterList","parameters":[],"src":"11243:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13332,"nodeType":"FunctionDefinition","src":"11343:163:14","nodes":[],"body":{"id":13331,"nodeType":"Block","src":"11409:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c6164647265737329","id":13324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11459:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a","typeString":"literal_string \"log(string,uint,address)\""},"value":"log(string,uint,address)"},{"id":13325,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13314,"src":"11487:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13326,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13316,"src":"11491:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13327,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13318,"src":"11495:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a","typeString":"literal_string \"log(string,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13322,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11435:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11435:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11435:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11419:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11419:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13330,"nodeType":"ExpressionStatement","src":"11419:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11352:3:14","parameters":{"id":13319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13314,"mutability":"mutable","name":"p0","nameLocation":"11370:2:14","nodeType":"VariableDeclaration","scope":13332,"src":"11356:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13313,"name":"string","nodeType":"ElementaryTypeName","src":"11356:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13316,"mutability":"mutable","name":"p1","nameLocation":"11379:2:14","nodeType":"VariableDeclaration","scope":13332,"src":"11374:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13315,"name":"uint","nodeType":"ElementaryTypeName","src":"11374:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13318,"mutability":"mutable","name":"p2","nameLocation":"11391:2:14","nodeType":"VariableDeclaration","scope":13332,"src":"11383:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13317,"name":"address","nodeType":"ElementaryTypeName","src":"11383:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11355:39:14"},"returnParameters":{"id":13320,"nodeType":"ParameterList","parameters":[],"src":"11409:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13352,"nodeType":"FunctionDefinition","src":"11512:168:14","nodes":[],"body":{"id":13351,"nodeType":"Block","src":"11584:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7429","id":13344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11634:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147","typeString":"literal_string \"log(string,string,uint)\""},"value":"log(string,string,uint)"},{"id":13345,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13334,"src":"11661:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13346,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13336,"src":"11665:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13347,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13338,"src":"11669:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147","typeString":"literal_string \"log(string,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13342,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11610:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11610:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11610:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13341,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11594:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11594:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13350,"nodeType":"ExpressionStatement","src":"11594:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11521:3:14","parameters":{"id":13339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13334,"mutability":"mutable","name":"p0","nameLocation":"11539:2:14","nodeType":"VariableDeclaration","scope":13352,"src":"11525:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13333,"name":"string","nodeType":"ElementaryTypeName","src":"11525:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13336,"mutability":"mutable","name":"p1","nameLocation":"11557:2:14","nodeType":"VariableDeclaration","scope":13352,"src":"11543:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13335,"name":"string","nodeType":"ElementaryTypeName","src":"11543:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13338,"mutability":"mutable","name":"p2","nameLocation":"11566:2:14","nodeType":"VariableDeclaration","scope":13352,"src":"11561:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13337,"name":"uint","nodeType":"ElementaryTypeName","src":"11561:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11524:45:14"},"returnParameters":{"id":13340,"nodeType":"ParameterList","parameters":[],"src":"11584:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13372,"nodeType":"FunctionDefinition","src":"11686:179:14","nodes":[],"body":{"id":13371,"nodeType":"Block","src":"11767:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":13364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11817:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":13365,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13354,"src":"11846:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13366,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13356,"src":"11850:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13367,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13358,"src":"11854:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11793:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11793:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11793:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13361,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11777:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11777:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13370,"nodeType":"ExpressionStatement","src":"11777:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11695:3:14","parameters":{"id":13359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13354,"mutability":"mutable","name":"p0","nameLocation":"11713:2:14","nodeType":"VariableDeclaration","scope":13372,"src":"11699:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13353,"name":"string","nodeType":"ElementaryTypeName","src":"11699:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13356,"mutability":"mutable","name":"p1","nameLocation":"11731:2:14","nodeType":"VariableDeclaration","scope":13372,"src":"11717:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13355,"name":"string","nodeType":"ElementaryTypeName","src":"11717:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13358,"mutability":"mutable","name":"p2","nameLocation":"11749:2:14","nodeType":"VariableDeclaration","scope":13372,"src":"11735:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13357,"name":"string","nodeType":"ElementaryTypeName","src":"11735:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11698:54:14"},"returnParameters":{"id":13360,"nodeType":"ParameterList","parameters":[],"src":"11767:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13392,"nodeType":"FunctionDefinition","src":"11871:168:14","nodes":[],"body":{"id":13391,"nodeType":"Block","src":"11943:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":13384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11993:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":13385,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13374,"src":"12020:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13386,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13376,"src":"12024:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13387,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13378,"src":"12028:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13382,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11969:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11969:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11969:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13381,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11953:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11953:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13390,"nodeType":"ExpressionStatement","src":"11953:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11880:3:14","parameters":{"id":13379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13374,"mutability":"mutable","name":"p0","nameLocation":"11898:2:14","nodeType":"VariableDeclaration","scope":13392,"src":"11884:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13373,"name":"string","nodeType":"ElementaryTypeName","src":"11884:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13376,"mutability":"mutable","name":"p1","nameLocation":"11916:2:14","nodeType":"VariableDeclaration","scope":13392,"src":"11902:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13375,"name":"string","nodeType":"ElementaryTypeName","src":"11902:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13378,"mutability":"mutable","name":"p2","nameLocation":"11925:2:14","nodeType":"VariableDeclaration","scope":13392,"src":"11920:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13377,"name":"bool","nodeType":"ElementaryTypeName","src":"11920:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11883:45:14"},"returnParameters":{"id":13380,"nodeType":"ParameterList","parameters":[],"src":"11943:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13412,"nodeType":"FunctionDefinition","src":"12045:174:14","nodes":[],"body":{"id":13411,"nodeType":"Block","src":"12120:99:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":13404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12170:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":13405,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13394,"src":"12200:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13406,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13396,"src":"12204:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13407,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13398,"src":"12208:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12146:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12146:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12146:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12130:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12130:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13410,"nodeType":"ExpressionStatement","src":"12130:82:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12054:3:14","parameters":{"id":13399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13394,"mutability":"mutable","name":"p0","nameLocation":"12072:2:14","nodeType":"VariableDeclaration","scope":13412,"src":"12058:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13393,"name":"string","nodeType":"ElementaryTypeName","src":"12058:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13396,"mutability":"mutable","name":"p1","nameLocation":"12090:2:14","nodeType":"VariableDeclaration","scope":13412,"src":"12076:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13395,"name":"string","nodeType":"ElementaryTypeName","src":"12076:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13398,"mutability":"mutable","name":"p2","nameLocation":"12102:2:14","nodeType":"VariableDeclaration","scope":13412,"src":"12094:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13397,"name":"address","nodeType":"ElementaryTypeName","src":"12094:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12057:48:14"},"returnParameters":{"id":13400,"nodeType":"ParameterList","parameters":[],"src":"12120:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13432,"nodeType":"FunctionDefinition","src":"12225:157:14","nodes":[],"body":{"id":13431,"nodeType":"Block","src":"12288:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7429","id":13424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12338:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1","typeString":"literal_string \"log(string,bool,uint)\""},"value":"log(string,bool,uint)"},{"id":13425,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13414,"src":"12363:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13426,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13416,"src":"12367:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13427,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13418,"src":"12371:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1","typeString":"literal_string \"log(string,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13422,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12314:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12314:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12314:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13421,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12298:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12298:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13430,"nodeType":"ExpressionStatement","src":"12298:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12234:3:14","parameters":{"id":13419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13414,"mutability":"mutable","name":"p0","nameLocation":"12252:2:14","nodeType":"VariableDeclaration","scope":13432,"src":"12238:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13413,"name":"string","nodeType":"ElementaryTypeName","src":"12238:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13416,"mutability":"mutable","name":"p1","nameLocation":"12261:2:14","nodeType":"VariableDeclaration","scope":13432,"src":"12256:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13415,"name":"bool","nodeType":"ElementaryTypeName","src":"12256:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13418,"mutability":"mutable","name":"p2","nameLocation":"12270:2:14","nodeType":"VariableDeclaration","scope":13432,"src":"12265:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13417,"name":"uint","nodeType":"ElementaryTypeName","src":"12265:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12237:36:14"},"returnParameters":{"id":13420,"nodeType":"ParameterList","parameters":[],"src":"12288:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13452,"nodeType":"FunctionDefinition","src":"12388:168:14","nodes":[],"body":{"id":13451,"nodeType":"Block","src":"12460:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":13444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12510:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":13445,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13434,"src":"12537:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13446,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13436,"src":"12541:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13447,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13438,"src":"12545:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13442,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12486:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12486:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12486:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13441,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12470:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12470:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13450,"nodeType":"ExpressionStatement","src":"12470:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12397:3:14","parameters":{"id":13439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13434,"mutability":"mutable","name":"p0","nameLocation":"12415:2:14","nodeType":"VariableDeclaration","scope":13452,"src":"12401:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13433,"name":"string","nodeType":"ElementaryTypeName","src":"12401:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13436,"mutability":"mutable","name":"p1","nameLocation":"12424:2:14","nodeType":"VariableDeclaration","scope":13452,"src":"12419:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13435,"name":"bool","nodeType":"ElementaryTypeName","src":"12419:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13438,"mutability":"mutable","name":"p2","nameLocation":"12442:2:14","nodeType":"VariableDeclaration","scope":13452,"src":"12428:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13437,"name":"string","nodeType":"ElementaryTypeName","src":"12428:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12400:45:14"},"returnParameters":{"id":13440,"nodeType":"ParameterList","parameters":[],"src":"12460:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13472,"nodeType":"FunctionDefinition","src":"12562:157:14","nodes":[],"body":{"id":13471,"nodeType":"Block","src":"12625:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":13464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12675:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":13465,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13454,"src":"12700:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13466,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13456,"src":"12704:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13467,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13458,"src":"12708:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12651:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12651:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12651:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13461,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12635:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12635:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13470,"nodeType":"ExpressionStatement","src":"12635:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12571:3:14","parameters":{"id":13459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13454,"mutability":"mutable","name":"p0","nameLocation":"12589:2:14","nodeType":"VariableDeclaration","scope":13472,"src":"12575:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13453,"name":"string","nodeType":"ElementaryTypeName","src":"12575:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13456,"mutability":"mutable","name":"p1","nameLocation":"12598:2:14","nodeType":"VariableDeclaration","scope":13472,"src":"12593:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13455,"name":"bool","nodeType":"ElementaryTypeName","src":"12593:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13458,"mutability":"mutable","name":"p2","nameLocation":"12607:2:14","nodeType":"VariableDeclaration","scope":13472,"src":"12602:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13457,"name":"bool","nodeType":"ElementaryTypeName","src":"12602:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12574:36:14"},"returnParameters":{"id":13460,"nodeType":"ParameterList","parameters":[],"src":"12625:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13492,"nodeType":"FunctionDefinition","src":"12725:163:14","nodes":[],"body":{"id":13491,"nodeType":"Block","src":"12791:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":13484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12841:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":13485,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"12869:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13486,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13476,"src":"12873:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13487,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13478,"src":"12877:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13482,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12817:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12817:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12817:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13481,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12801:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12801:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13490,"nodeType":"ExpressionStatement","src":"12801:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12734:3:14","parameters":{"id":13479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13474,"mutability":"mutable","name":"p0","nameLocation":"12752:2:14","nodeType":"VariableDeclaration","scope":13492,"src":"12738:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13473,"name":"string","nodeType":"ElementaryTypeName","src":"12738:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13476,"mutability":"mutable","name":"p1","nameLocation":"12761:2:14","nodeType":"VariableDeclaration","scope":13492,"src":"12756:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13475,"name":"bool","nodeType":"ElementaryTypeName","src":"12756:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13478,"mutability":"mutable","name":"p2","nameLocation":"12773:2:14","nodeType":"VariableDeclaration","scope":13492,"src":"12765:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13477,"name":"address","nodeType":"ElementaryTypeName","src":"12765:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12737:39:14"},"returnParameters":{"id":13480,"nodeType":"ParameterList","parameters":[],"src":"12791:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13512,"nodeType":"FunctionDefinition","src":"12894:163:14","nodes":[],"body":{"id":13511,"nodeType":"Block","src":"12960:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7429","id":13504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13010:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13","typeString":"literal_string \"log(string,address,uint)\""},"value":"log(string,address,uint)"},{"id":13505,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13494,"src":"13038:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13506,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13496,"src":"13042:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13507,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13498,"src":"13046:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13","typeString":"literal_string \"log(string,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13502,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12986:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12986:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12986:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13501,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12970:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12970:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13510,"nodeType":"ExpressionStatement","src":"12970:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12903:3:14","parameters":{"id":13499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13494,"mutability":"mutable","name":"p0","nameLocation":"12921:2:14","nodeType":"VariableDeclaration","scope":13512,"src":"12907:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13493,"name":"string","nodeType":"ElementaryTypeName","src":"12907:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13496,"mutability":"mutable","name":"p1","nameLocation":"12933:2:14","nodeType":"VariableDeclaration","scope":13512,"src":"12925:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13495,"name":"address","nodeType":"ElementaryTypeName","src":"12925:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13498,"mutability":"mutable","name":"p2","nameLocation":"12942:2:14","nodeType":"VariableDeclaration","scope":13512,"src":"12937:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13497,"name":"uint","nodeType":"ElementaryTypeName","src":"12937:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12906:39:14"},"returnParameters":{"id":13500,"nodeType":"ParameterList","parameters":[],"src":"12960:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13532,"nodeType":"FunctionDefinition","src":"13063:174:14","nodes":[],"body":{"id":13531,"nodeType":"Block","src":"13138:99:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":13524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13188:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":13525,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13514,"src":"13218:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13526,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13516,"src":"13222:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13527,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13518,"src":"13226:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13522,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13164:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13164:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13164:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13521,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13148:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13148:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13530,"nodeType":"ExpressionStatement","src":"13148:82:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13072:3:14","parameters":{"id":13519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13514,"mutability":"mutable","name":"p0","nameLocation":"13090:2:14","nodeType":"VariableDeclaration","scope":13532,"src":"13076:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13513,"name":"string","nodeType":"ElementaryTypeName","src":"13076:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13516,"mutability":"mutable","name":"p1","nameLocation":"13102:2:14","nodeType":"VariableDeclaration","scope":13532,"src":"13094:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13515,"name":"address","nodeType":"ElementaryTypeName","src":"13094:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13518,"mutability":"mutable","name":"p2","nameLocation":"13120:2:14","nodeType":"VariableDeclaration","scope":13532,"src":"13106:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13517,"name":"string","nodeType":"ElementaryTypeName","src":"13106:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13075:48:14"},"returnParameters":{"id":13520,"nodeType":"ParameterList","parameters":[],"src":"13138:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13552,"nodeType":"FunctionDefinition","src":"13243:163:14","nodes":[],"body":{"id":13551,"nodeType":"Block","src":"13309:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":13544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13359:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":13545,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13534,"src":"13387:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13546,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13536,"src":"13391:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13547,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13538,"src":"13395:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13542,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13335:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13335:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13335:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13541,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13319:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13319:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13550,"nodeType":"ExpressionStatement","src":"13319:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13252:3:14","parameters":{"id":13539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13534,"mutability":"mutable","name":"p0","nameLocation":"13270:2:14","nodeType":"VariableDeclaration","scope":13552,"src":"13256:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13533,"name":"string","nodeType":"ElementaryTypeName","src":"13256:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13536,"mutability":"mutable","name":"p1","nameLocation":"13282:2:14","nodeType":"VariableDeclaration","scope":13552,"src":"13274:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13535,"name":"address","nodeType":"ElementaryTypeName","src":"13274:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13538,"mutability":"mutable","name":"p2","nameLocation":"13291:2:14","nodeType":"VariableDeclaration","scope":13552,"src":"13286:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13537,"name":"bool","nodeType":"ElementaryTypeName","src":"13286:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13255:39:14"},"returnParameters":{"id":13540,"nodeType":"ParameterList","parameters":[],"src":"13309:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13572,"nodeType":"FunctionDefinition","src":"13412:169:14","nodes":[],"body":{"id":13571,"nodeType":"Block","src":"13481:100:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":13564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13531:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":13565,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13554,"src":"13562:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13566,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13556,"src":"13566:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13567,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13558,"src":"13570:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13562,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13507:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13507:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13507:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13561,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13491:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13491:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13570,"nodeType":"ExpressionStatement","src":"13491:83:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13421:3:14","parameters":{"id":13559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13554,"mutability":"mutable","name":"p0","nameLocation":"13439:2:14","nodeType":"VariableDeclaration","scope":13572,"src":"13425:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13553,"name":"string","nodeType":"ElementaryTypeName","src":"13425:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13556,"mutability":"mutable","name":"p1","nameLocation":"13451:2:14","nodeType":"VariableDeclaration","scope":13572,"src":"13443:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13555,"name":"address","nodeType":"ElementaryTypeName","src":"13443:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13558,"mutability":"mutable","name":"p2","nameLocation":"13463:2:14","nodeType":"VariableDeclaration","scope":13572,"src":"13455:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13557,"name":"address","nodeType":"ElementaryTypeName","src":"13455:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13424:42:14"},"returnParameters":{"id":13560,"nodeType":"ParameterList","parameters":[],"src":"13481:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13592,"nodeType":"FunctionDefinition","src":"13587:146:14","nodes":[],"body":{"id":13591,"nodeType":"Block","src":"13641:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e7429","id":13584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13691:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e","typeString":"literal_string \"log(bool,uint,uint)\""},"value":"log(bool,uint,uint)"},{"id":13585,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13574,"src":"13714:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13586,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13576,"src":"13718:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13587,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13578,"src":"13722:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e","typeString":"literal_string \"log(bool,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13667:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13667:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13667:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13581,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13651:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13651:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13590,"nodeType":"ExpressionStatement","src":"13651:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13596:3:14","parameters":{"id":13579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13574,"mutability":"mutable","name":"p0","nameLocation":"13605:2:14","nodeType":"VariableDeclaration","scope":13592,"src":"13600:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13573,"name":"bool","nodeType":"ElementaryTypeName","src":"13600:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13576,"mutability":"mutable","name":"p1","nameLocation":"13614:2:14","nodeType":"VariableDeclaration","scope":13592,"src":"13609:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13575,"name":"uint","nodeType":"ElementaryTypeName","src":"13609:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13578,"mutability":"mutable","name":"p2","nameLocation":"13623:2:14","nodeType":"VariableDeclaration","scope":13592,"src":"13618:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13577,"name":"uint","nodeType":"ElementaryTypeName","src":"13618:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13599:27:14"},"returnParameters":{"id":13580,"nodeType":"ParameterList","parameters":[],"src":"13641:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13612,"nodeType":"FunctionDefinition","src":"13739:157:14","nodes":[],"body":{"id":13611,"nodeType":"Block","src":"13802:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e6729","id":13604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13852:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f","typeString":"literal_string \"log(bool,uint,string)\""},"value":"log(bool,uint,string)"},{"id":13605,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13594,"src":"13877:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13606,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13596,"src":"13881:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13607,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13598,"src":"13885:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f","typeString":"literal_string \"log(bool,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13602,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13828:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13828:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13828:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13601,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13812:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13812:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13610,"nodeType":"ExpressionStatement","src":"13812:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13748:3:14","parameters":{"id":13599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13594,"mutability":"mutable","name":"p0","nameLocation":"13757:2:14","nodeType":"VariableDeclaration","scope":13612,"src":"13752:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13593,"name":"bool","nodeType":"ElementaryTypeName","src":"13752:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13596,"mutability":"mutable","name":"p1","nameLocation":"13766:2:14","nodeType":"VariableDeclaration","scope":13612,"src":"13761:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13595,"name":"uint","nodeType":"ElementaryTypeName","src":"13761:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13598,"mutability":"mutable","name":"p2","nameLocation":"13784:2:14","nodeType":"VariableDeclaration","scope":13612,"src":"13770:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13597,"name":"string","nodeType":"ElementaryTypeName","src":"13770:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13751:36:14"},"returnParameters":{"id":13600,"nodeType":"ParameterList","parameters":[],"src":"13802:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13632,"nodeType":"FunctionDefinition","src":"13902:146:14","nodes":[],"body":{"id":13631,"nodeType":"Block","src":"13956:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c29","id":13624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14006:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0","typeString":"literal_string \"log(bool,uint,bool)\""},"value":"log(bool,uint,bool)"},{"id":13625,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13614,"src":"14029:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13626,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13616,"src":"14033:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13627,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13618,"src":"14037:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0","typeString":"literal_string \"log(bool,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13622,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13982:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13982:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13982:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13621,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13966:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13966:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13630,"nodeType":"ExpressionStatement","src":"13966:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13911:3:14","parameters":{"id":13619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13614,"mutability":"mutable","name":"p0","nameLocation":"13920:2:14","nodeType":"VariableDeclaration","scope":13632,"src":"13915:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13613,"name":"bool","nodeType":"ElementaryTypeName","src":"13915:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13616,"mutability":"mutable","name":"p1","nameLocation":"13929:2:14","nodeType":"VariableDeclaration","scope":13632,"src":"13924:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13615,"name":"uint","nodeType":"ElementaryTypeName","src":"13924:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13618,"mutability":"mutable","name":"p2","nameLocation":"13938:2:14","nodeType":"VariableDeclaration","scope":13632,"src":"13933:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13617,"name":"bool","nodeType":"ElementaryTypeName","src":"13933:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13914:27:14"},"returnParameters":{"id":13620,"nodeType":"ParameterList","parameters":[],"src":"13956:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13652,"nodeType":"FunctionDefinition","src":"14054:152:14","nodes":[],"body":{"id":13651,"nodeType":"Block","src":"14111:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c6164647265737329","id":13644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14161:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440","typeString":"literal_string \"log(bool,uint,address)\""},"value":"log(bool,uint,address)"},{"id":13645,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13634,"src":"14187:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13646,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13636,"src":"14191:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13647,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13638,"src":"14195:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440","typeString":"literal_string \"log(bool,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13642,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14137:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14137:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14137:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13641,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14121:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14121:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13650,"nodeType":"ExpressionStatement","src":"14121:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14063:3:14","parameters":{"id":13639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13634,"mutability":"mutable","name":"p0","nameLocation":"14072:2:14","nodeType":"VariableDeclaration","scope":13652,"src":"14067:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13633,"name":"bool","nodeType":"ElementaryTypeName","src":"14067:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13636,"mutability":"mutable","name":"p1","nameLocation":"14081:2:14","nodeType":"VariableDeclaration","scope":13652,"src":"14076:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13635,"name":"uint","nodeType":"ElementaryTypeName","src":"14076:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13638,"mutability":"mutable","name":"p2","nameLocation":"14093:2:14","nodeType":"VariableDeclaration","scope":13652,"src":"14085:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13637,"name":"address","nodeType":"ElementaryTypeName","src":"14085:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14066:30:14"},"returnParameters":{"id":13640,"nodeType":"ParameterList","parameters":[],"src":"14111:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13672,"nodeType":"FunctionDefinition","src":"14212:157:14","nodes":[],"body":{"id":13671,"nodeType":"Block","src":"14275:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7429","id":13664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14325:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807","typeString":"literal_string \"log(bool,string,uint)\""},"value":"log(bool,string,uint)"},{"id":13665,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13654,"src":"14350:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13666,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13656,"src":"14354:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13667,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13658,"src":"14358:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807","typeString":"literal_string \"log(bool,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13662,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14301:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14301:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14301:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13661,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14285:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14285:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13670,"nodeType":"ExpressionStatement","src":"14285:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14221:3:14","parameters":{"id":13659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13654,"mutability":"mutable","name":"p0","nameLocation":"14230:2:14","nodeType":"VariableDeclaration","scope":13672,"src":"14225:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13653,"name":"bool","nodeType":"ElementaryTypeName","src":"14225:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13656,"mutability":"mutable","name":"p1","nameLocation":"14248:2:14","nodeType":"VariableDeclaration","scope":13672,"src":"14234:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13655,"name":"string","nodeType":"ElementaryTypeName","src":"14234:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13658,"mutability":"mutable","name":"p2","nameLocation":"14257:2:14","nodeType":"VariableDeclaration","scope":13672,"src":"14252:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13657,"name":"uint","nodeType":"ElementaryTypeName","src":"14252:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14224:36:14"},"returnParameters":{"id":13660,"nodeType":"ParameterList","parameters":[],"src":"14275:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13692,"nodeType":"FunctionDefinition","src":"14375:168:14","nodes":[],"body":{"id":13691,"nodeType":"Block","src":"14447:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":13684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14497:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":13685,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13674,"src":"14524:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13686,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13676,"src":"14528:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13687,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13678,"src":"14532:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13682,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14473:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14473:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14473:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13681,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14457:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14457:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13690,"nodeType":"ExpressionStatement","src":"14457:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14384:3:14","parameters":{"id":13679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13674,"mutability":"mutable","name":"p0","nameLocation":"14393:2:14","nodeType":"VariableDeclaration","scope":13692,"src":"14388:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13673,"name":"bool","nodeType":"ElementaryTypeName","src":"14388:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13676,"mutability":"mutable","name":"p1","nameLocation":"14411:2:14","nodeType":"VariableDeclaration","scope":13692,"src":"14397:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13675,"name":"string","nodeType":"ElementaryTypeName","src":"14397:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13678,"mutability":"mutable","name":"p2","nameLocation":"14429:2:14","nodeType":"VariableDeclaration","scope":13692,"src":"14415:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13677,"name":"string","nodeType":"ElementaryTypeName","src":"14415:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14387:45:14"},"returnParameters":{"id":13680,"nodeType":"ParameterList","parameters":[],"src":"14447:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13712,"nodeType":"FunctionDefinition","src":"14549:157:14","nodes":[],"body":{"id":13711,"nodeType":"Block","src":"14612:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":13704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14662:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":13705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13694,"src":"14687:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13696,"src":"14691:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13707,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13698,"src":"14695:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14638:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14638:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14638:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14622:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14622:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13710,"nodeType":"ExpressionStatement","src":"14622:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14558:3:14","parameters":{"id":13699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13694,"mutability":"mutable","name":"p0","nameLocation":"14567:2:14","nodeType":"VariableDeclaration","scope":13712,"src":"14562:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13693,"name":"bool","nodeType":"ElementaryTypeName","src":"14562:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13696,"mutability":"mutable","name":"p1","nameLocation":"14585:2:14","nodeType":"VariableDeclaration","scope":13712,"src":"14571:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13695,"name":"string","nodeType":"ElementaryTypeName","src":"14571:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13698,"mutability":"mutable","name":"p2","nameLocation":"14594:2:14","nodeType":"VariableDeclaration","scope":13712,"src":"14589:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13697,"name":"bool","nodeType":"ElementaryTypeName","src":"14589:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14561:36:14"},"returnParameters":{"id":13700,"nodeType":"ParameterList","parameters":[],"src":"14612:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13732,"nodeType":"FunctionDefinition","src":"14712:163:14","nodes":[],"body":{"id":13731,"nodeType":"Block","src":"14778:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":13724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14828:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":13725,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13714,"src":"14856:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13726,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13716,"src":"14860:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13727,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13718,"src":"14864:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13722,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14804:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14804:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14804:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13721,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14788:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14788:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13730,"nodeType":"ExpressionStatement","src":"14788:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14721:3:14","parameters":{"id":13719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13714,"mutability":"mutable","name":"p0","nameLocation":"14730:2:14","nodeType":"VariableDeclaration","scope":13732,"src":"14725:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13713,"name":"bool","nodeType":"ElementaryTypeName","src":"14725:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13716,"mutability":"mutable","name":"p1","nameLocation":"14748:2:14","nodeType":"VariableDeclaration","scope":13732,"src":"14734:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13715,"name":"string","nodeType":"ElementaryTypeName","src":"14734:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13718,"mutability":"mutable","name":"p2","nameLocation":"14760:2:14","nodeType":"VariableDeclaration","scope":13732,"src":"14752:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13717,"name":"address","nodeType":"ElementaryTypeName","src":"14752:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14724:39:14"},"returnParameters":{"id":13720,"nodeType":"ParameterList","parameters":[],"src":"14778:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13752,"nodeType":"FunctionDefinition","src":"14881:146:14","nodes":[],"body":{"id":13751,"nodeType":"Block","src":"14935:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7429","id":13744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14985:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877","typeString":"literal_string \"log(bool,bool,uint)\""},"value":"log(bool,bool,uint)"},{"id":13745,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13734,"src":"15008:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13746,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13736,"src":"15012:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13747,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13738,"src":"15016:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877","typeString":"literal_string \"log(bool,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14961:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14961:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14961:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13741,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14945:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14945:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13750,"nodeType":"ExpressionStatement","src":"14945:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14890:3:14","parameters":{"id":13739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13734,"mutability":"mutable","name":"p0","nameLocation":"14899:2:14","nodeType":"VariableDeclaration","scope":13752,"src":"14894:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13733,"name":"bool","nodeType":"ElementaryTypeName","src":"14894:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13736,"mutability":"mutable","name":"p1","nameLocation":"14908:2:14","nodeType":"VariableDeclaration","scope":13752,"src":"14903:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13735,"name":"bool","nodeType":"ElementaryTypeName","src":"14903:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13738,"mutability":"mutable","name":"p2","nameLocation":"14917:2:14","nodeType":"VariableDeclaration","scope":13752,"src":"14912:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13737,"name":"uint","nodeType":"ElementaryTypeName","src":"14912:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14893:27:14"},"returnParameters":{"id":13740,"nodeType":"ParameterList","parameters":[],"src":"14935:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13772,"nodeType":"FunctionDefinition","src":"15033:157:14","nodes":[],"body":{"id":13771,"nodeType":"Block","src":"15096:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":13764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15146:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":13765,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13754,"src":"15171:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13766,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13756,"src":"15175:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13767,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13758,"src":"15179:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13762,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15122:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15122:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15122:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13761,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15106:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15106:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13770,"nodeType":"ExpressionStatement","src":"15106:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15042:3:14","parameters":{"id":13759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13754,"mutability":"mutable","name":"p0","nameLocation":"15051:2:14","nodeType":"VariableDeclaration","scope":13772,"src":"15046:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13753,"name":"bool","nodeType":"ElementaryTypeName","src":"15046:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13756,"mutability":"mutable","name":"p1","nameLocation":"15060:2:14","nodeType":"VariableDeclaration","scope":13772,"src":"15055:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13755,"name":"bool","nodeType":"ElementaryTypeName","src":"15055:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13758,"mutability":"mutable","name":"p2","nameLocation":"15078:2:14","nodeType":"VariableDeclaration","scope":13772,"src":"15064:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13757,"name":"string","nodeType":"ElementaryTypeName","src":"15064:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15045:36:14"},"returnParameters":{"id":13760,"nodeType":"ParameterList","parameters":[],"src":"15096:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13792,"nodeType":"FunctionDefinition","src":"15196:146:14","nodes":[],"body":{"id":13791,"nodeType":"Block","src":"15250:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":13784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15300:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":13785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13774,"src":"15323:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13776,"src":"15327:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13787,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13778,"src":"15331:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15276:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15276:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15276:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15260:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15260:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13790,"nodeType":"ExpressionStatement","src":"15260:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15205:3:14","parameters":{"id":13779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13774,"mutability":"mutable","name":"p0","nameLocation":"15214:2:14","nodeType":"VariableDeclaration","scope":13792,"src":"15209:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13773,"name":"bool","nodeType":"ElementaryTypeName","src":"15209:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13776,"mutability":"mutable","name":"p1","nameLocation":"15223:2:14","nodeType":"VariableDeclaration","scope":13792,"src":"15218:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13775,"name":"bool","nodeType":"ElementaryTypeName","src":"15218:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13778,"mutability":"mutable","name":"p2","nameLocation":"15232:2:14","nodeType":"VariableDeclaration","scope":13792,"src":"15227:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13777,"name":"bool","nodeType":"ElementaryTypeName","src":"15227:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15208:27:14"},"returnParameters":{"id":13780,"nodeType":"ParameterList","parameters":[],"src":"15250:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13812,"nodeType":"FunctionDefinition","src":"15348:152:14","nodes":[],"body":{"id":13811,"nodeType":"Block","src":"15405:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":13804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15455:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":13805,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13794,"src":"15481:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13806,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13796,"src":"15485:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13807,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13798,"src":"15489:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13802,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15431:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15431:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15431:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13801,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15415:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15415:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13810,"nodeType":"ExpressionStatement","src":"15415:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15357:3:14","parameters":{"id":13799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13794,"mutability":"mutable","name":"p0","nameLocation":"15366:2:14","nodeType":"VariableDeclaration","scope":13812,"src":"15361:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13793,"name":"bool","nodeType":"ElementaryTypeName","src":"15361:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13796,"mutability":"mutable","name":"p1","nameLocation":"15375:2:14","nodeType":"VariableDeclaration","scope":13812,"src":"15370:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13795,"name":"bool","nodeType":"ElementaryTypeName","src":"15370:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13798,"mutability":"mutable","name":"p2","nameLocation":"15387:2:14","nodeType":"VariableDeclaration","scope":13812,"src":"15379:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13797,"name":"address","nodeType":"ElementaryTypeName","src":"15379:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15360:30:14"},"returnParameters":{"id":13800,"nodeType":"ParameterList","parameters":[],"src":"15405:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13832,"nodeType":"FunctionDefinition","src":"15506:152:14","nodes":[],"body":{"id":13831,"nodeType":"Block","src":"15563:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7429","id":13824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15613:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d","typeString":"literal_string \"log(bool,address,uint)\""},"value":"log(bool,address,uint)"},{"id":13825,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13814,"src":"15639:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13826,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13816,"src":"15643:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13827,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13818,"src":"15647:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d","typeString":"literal_string \"log(bool,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13822,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15589:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15589:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15589:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13821,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15573:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15573:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13830,"nodeType":"ExpressionStatement","src":"15573:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15515:3:14","parameters":{"id":13819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13814,"mutability":"mutable","name":"p0","nameLocation":"15524:2:14","nodeType":"VariableDeclaration","scope":13832,"src":"15519:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13813,"name":"bool","nodeType":"ElementaryTypeName","src":"15519:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13816,"mutability":"mutable","name":"p1","nameLocation":"15536:2:14","nodeType":"VariableDeclaration","scope":13832,"src":"15528:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13815,"name":"address","nodeType":"ElementaryTypeName","src":"15528:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13818,"mutability":"mutable","name":"p2","nameLocation":"15545:2:14","nodeType":"VariableDeclaration","scope":13832,"src":"15540:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13817,"name":"uint","nodeType":"ElementaryTypeName","src":"15540:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15518:30:14"},"returnParameters":{"id":13820,"nodeType":"ParameterList","parameters":[],"src":"15563:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13852,"nodeType":"FunctionDefinition","src":"15664:163:14","nodes":[],"body":{"id":13851,"nodeType":"Block","src":"15730:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":13844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15780:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":13845,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13834,"src":"15808:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13846,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13836,"src":"15812:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13847,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13838,"src":"15816:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15756:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15756:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15756:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13841,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15740:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15740:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13850,"nodeType":"ExpressionStatement","src":"15740:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15673:3:14","parameters":{"id":13839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13834,"mutability":"mutable","name":"p0","nameLocation":"15682:2:14","nodeType":"VariableDeclaration","scope":13852,"src":"15677:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13833,"name":"bool","nodeType":"ElementaryTypeName","src":"15677:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13836,"mutability":"mutable","name":"p1","nameLocation":"15694:2:14","nodeType":"VariableDeclaration","scope":13852,"src":"15686:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13835,"name":"address","nodeType":"ElementaryTypeName","src":"15686:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13838,"mutability":"mutable","name":"p2","nameLocation":"15712:2:14","nodeType":"VariableDeclaration","scope":13852,"src":"15698:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13837,"name":"string","nodeType":"ElementaryTypeName","src":"15698:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15676:39:14"},"returnParameters":{"id":13840,"nodeType":"ParameterList","parameters":[],"src":"15730:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13872,"nodeType":"FunctionDefinition","src":"15833:152:14","nodes":[],"body":{"id":13871,"nodeType":"Block","src":"15890:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":13864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15940:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":13865,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13854,"src":"15966:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13866,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13856,"src":"15970:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13867,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13858,"src":"15974:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15916:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15916:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15916:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13861,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15900:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15900:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13870,"nodeType":"ExpressionStatement","src":"15900:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15842:3:14","parameters":{"id":13859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13854,"mutability":"mutable","name":"p0","nameLocation":"15851:2:14","nodeType":"VariableDeclaration","scope":13872,"src":"15846:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13853,"name":"bool","nodeType":"ElementaryTypeName","src":"15846:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13856,"mutability":"mutable","name":"p1","nameLocation":"15863:2:14","nodeType":"VariableDeclaration","scope":13872,"src":"15855:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13855,"name":"address","nodeType":"ElementaryTypeName","src":"15855:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13858,"mutability":"mutable","name":"p2","nameLocation":"15872:2:14","nodeType":"VariableDeclaration","scope":13872,"src":"15867:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13857,"name":"bool","nodeType":"ElementaryTypeName","src":"15867:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15845:30:14"},"returnParameters":{"id":13860,"nodeType":"ParameterList","parameters":[],"src":"15890:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13892,"nodeType":"FunctionDefinition","src":"15991:158:14","nodes":[],"body":{"id":13891,"nodeType":"Block","src":"16051:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":13884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16101:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":13885,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13874,"src":"16130:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13886,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13876,"src":"16134:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13887,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13878,"src":"16138:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13882,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16077:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16077:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16077:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13881,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16061:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16061:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13890,"nodeType":"ExpressionStatement","src":"16061:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16000:3:14","parameters":{"id":13879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13874,"mutability":"mutable","name":"p0","nameLocation":"16009:2:14","nodeType":"VariableDeclaration","scope":13892,"src":"16004:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13873,"name":"bool","nodeType":"ElementaryTypeName","src":"16004:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13876,"mutability":"mutable","name":"p1","nameLocation":"16021:2:14","nodeType":"VariableDeclaration","scope":13892,"src":"16013:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13875,"name":"address","nodeType":"ElementaryTypeName","src":"16013:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13878,"mutability":"mutable","name":"p2","nameLocation":"16033:2:14","nodeType":"VariableDeclaration","scope":13892,"src":"16025:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13877,"name":"address","nodeType":"ElementaryTypeName","src":"16025:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16003:33:14"},"returnParameters":{"id":13880,"nodeType":"ParameterList","parameters":[],"src":"16051:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13912,"nodeType":"FunctionDefinition","src":"16155:152:14","nodes":[],"body":{"id":13911,"nodeType":"Block","src":"16212:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e7429","id":13904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16262:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea","typeString":"literal_string \"log(address,uint,uint)\""},"value":"log(address,uint,uint)"},{"id":13905,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13894,"src":"16288:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13906,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13896,"src":"16292:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13907,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13898,"src":"16296:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea","typeString":"literal_string \"log(address,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13902,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16238:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16238:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16238:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13901,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16222:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16222:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13910,"nodeType":"ExpressionStatement","src":"16222:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16164:3:14","parameters":{"id":13899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13894,"mutability":"mutable","name":"p0","nameLocation":"16176:2:14","nodeType":"VariableDeclaration","scope":13912,"src":"16168:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13893,"name":"address","nodeType":"ElementaryTypeName","src":"16168:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13896,"mutability":"mutable","name":"p1","nameLocation":"16185:2:14","nodeType":"VariableDeclaration","scope":13912,"src":"16180:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13895,"name":"uint","nodeType":"ElementaryTypeName","src":"16180:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13898,"mutability":"mutable","name":"p2","nameLocation":"16194:2:14","nodeType":"VariableDeclaration","scope":13912,"src":"16189:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13897,"name":"uint","nodeType":"ElementaryTypeName","src":"16189:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16167:30:14"},"returnParameters":{"id":13900,"nodeType":"ParameterList","parameters":[],"src":"16212:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13932,"nodeType":"FunctionDefinition","src":"16313:163:14","nodes":[],"body":{"id":13931,"nodeType":"Block","src":"16379:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e6729","id":13924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16429:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4","typeString":"literal_string \"log(address,uint,string)\""},"value":"log(address,uint,string)"},{"id":13925,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13914,"src":"16457:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13926,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13916,"src":"16461:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13927,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13918,"src":"16465:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4","typeString":"literal_string \"log(address,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13922,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16405:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16405:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16405:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13921,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16389:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16389:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13930,"nodeType":"ExpressionStatement","src":"16389:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16322:3:14","parameters":{"id":13919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13914,"mutability":"mutable","name":"p0","nameLocation":"16334:2:14","nodeType":"VariableDeclaration","scope":13932,"src":"16326:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13913,"name":"address","nodeType":"ElementaryTypeName","src":"16326:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13916,"mutability":"mutable","name":"p1","nameLocation":"16343:2:14","nodeType":"VariableDeclaration","scope":13932,"src":"16338:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13915,"name":"uint","nodeType":"ElementaryTypeName","src":"16338:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13918,"mutability":"mutable","name":"p2","nameLocation":"16361:2:14","nodeType":"VariableDeclaration","scope":13932,"src":"16347:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13917,"name":"string","nodeType":"ElementaryTypeName","src":"16347:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16325:39:14"},"returnParameters":{"id":13920,"nodeType":"ParameterList","parameters":[],"src":"16379:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13952,"nodeType":"FunctionDefinition","src":"16482:152:14","nodes":[],"body":{"id":13951,"nodeType":"Block","src":"16539:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c29","id":13944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16589:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4","typeString":"literal_string \"log(address,uint,bool)\""},"value":"log(address,uint,bool)"},{"id":13945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13934,"src":"16615:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13936,"src":"16619:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13947,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13938,"src":"16623:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4","typeString":"literal_string \"log(address,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16565:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16565:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16565:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16549:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16549:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13950,"nodeType":"ExpressionStatement","src":"16549:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16491:3:14","parameters":{"id":13939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13934,"mutability":"mutable","name":"p0","nameLocation":"16503:2:14","nodeType":"VariableDeclaration","scope":13952,"src":"16495:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13933,"name":"address","nodeType":"ElementaryTypeName","src":"16495:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13936,"mutability":"mutable","name":"p1","nameLocation":"16512:2:14","nodeType":"VariableDeclaration","scope":13952,"src":"16507:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13935,"name":"uint","nodeType":"ElementaryTypeName","src":"16507:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13938,"mutability":"mutable","name":"p2","nameLocation":"16521:2:14","nodeType":"VariableDeclaration","scope":13952,"src":"16516:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13937,"name":"bool","nodeType":"ElementaryTypeName","src":"16516:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16494:30:14"},"returnParameters":{"id":13940,"nodeType":"ParameterList","parameters":[],"src":"16539:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13972,"nodeType":"FunctionDefinition","src":"16640:158:14","nodes":[],"body":{"id":13971,"nodeType":"Block","src":"16700:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c6164647265737329","id":13964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16750:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259","typeString":"literal_string \"log(address,uint,address)\""},"value":"log(address,uint,address)"},{"id":13965,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13954,"src":"16779:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13966,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13956,"src":"16783:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13967,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13958,"src":"16787:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259","typeString":"literal_string \"log(address,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13962,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16726:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16726:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16726:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13961,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16710:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16710:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13970,"nodeType":"ExpressionStatement","src":"16710:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16649:3:14","parameters":{"id":13959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13954,"mutability":"mutable","name":"p0","nameLocation":"16661:2:14","nodeType":"VariableDeclaration","scope":13972,"src":"16653:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13953,"name":"address","nodeType":"ElementaryTypeName","src":"16653:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13956,"mutability":"mutable","name":"p1","nameLocation":"16670:2:14","nodeType":"VariableDeclaration","scope":13972,"src":"16665:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13955,"name":"uint","nodeType":"ElementaryTypeName","src":"16665:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13958,"mutability":"mutable","name":"p2","nameLocation":"16682:2:14","nodeType":"VariableDeclaration","scope":13972,"src":"16674:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13957,"name":"address","nodeType":"ElementaryTypeName","src":"16674:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16652:33:14"},"returnParameters":{"id":13960,"nodeType":"ParameterList","parameters":[],"src":"16700:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13992,"nodeType":"FunctionDefinition","src":"16804:163:14","nodes":[],"body":{"id":13991,"nodeType":"Block","src":"16870:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7429","id":13984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16920:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597","typeString":"literal_string \"log(address,string,uint)\""},"value":"log(address,string,uint)"},{"id":13985,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13974,"src":"16948:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13986,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13976,"src":"16952:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13987,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13978,"src":"16956:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597","typeString":"literal_string \"log(address,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13982,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16896:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16896:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16896:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13981,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16880:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16880:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13990,"nodeType":"ExpressionStatement","src":"16880:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16813:3:14","parameters":{"id":13979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13974,"mutability":"mutable","name":"p0","nameLocation":"16825:2:14","nodeType":"VariableDeclaration","scope":13992,"src":"16817:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13973,"name":"address","nodeType":"ElementaryTypeName","src":"16817:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13976,"mutability":"mutable","name":"p1","nameLocation":"16843:2:14","nodeType":"VariableDeclaration","scope":13992,"src":"16829:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13975,"name":"string","nodeType":"ElementaryTypeName","src":"16829:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13978,"mutability":"mutable","name":"p2","nameLocation":"16852:2:14","nodeType":"VariableDeclaration","scope":13992,"src":"16847:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13977,"name":"uint","nodeType":"ElementaryTypeName","src":"16847:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16816:39:14"},"returnParameters":{"id":13980,"nodeType":"ParameterList","parameters":[],"src":"16870:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14012,"nodeType":"FunctionDefinition","src":"16973:174:14","nodes":[],"body":{"id":14011,"nodeType":"Block","src":"17048:99:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":14004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17098:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":14005,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13994,"src":"17128:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14006,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13996,"src":"17132:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14007,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13998,"src":"17136:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17074:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17074:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17074:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17058:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17058:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14010,"nodeType":"ExpressionStatement","src":"17058:82:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16982:3:14","parameters":{"id":13999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13994,"mutability":"mutable","name":"p0","nameLocation":"16994:2:14","nodeType":"VariableDeclaration","scope":14012,"src":"16986:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13993,"name":"address","nodeType":"ElementaryTypeName","src":"16986:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13996,"mutability":"mutable","name":"p1","nameLocation":"17012:2:14","nodeType":"VariableDeclaration","scope":14012,"src":"16998:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13995,"name":"string","nodeType":"ElementaryTypeName","src":"16998:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13998,"mutability":"mutable","name":"p2","nameLocation":"17030:2:14","nodeType":"VariableDeclaration","scope":14012,"src":"17016:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13997,"name":"string","nodeType":"ElementaryTypeName","src":"17016:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16985:48:14"},"returnParameters":{"id":14000,"nodeType":"ParameterList","parameters":[],"src":"17048:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14032,"nodeType":"FunctionDefinition","src":"17153:163:14","nodes":[],"body":{"id":14031,"nodeType":"Block","src":"17219:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":14024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17269:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":14025,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14014,"src":"17297:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14026,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14016,"src":"17301:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14027,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14018,"src":"17305:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17245:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17245:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17245:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17229:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17229:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14030,"nodeType":"ExpressionStatement","src":"17229:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17162:3:14","parameters":{"id":14019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14014,"mutability":"mutable","name":"p0","nameLocation":"17174:2:14","nodeType":"VariableDeclaration","scope":14032,"src":"17166:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14013,"name":"address","nodeType":"ElementaryTypeName","src":"17166:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14016,"mutability":"mutable","name":"p1","nameLocation":"17192:2:14","nodeType":"VariableDeclaration","scope":14032,"src":"17178:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14015,"name":"string","nodeType":"ElementaryTypeName","src":"17178:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14018,"mutability":"mutable","name":"p2","nameLocation":"17201:2:14","nodeType":"VariableDeclaration","scope":14032,"src":"17196:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14017,"name":"bool","nodeType":"ElementaryTypeName","src":"17196:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17165:39:14"},"returnParameters":{"id":14020,"nodeType":"ParameterList","parameters":[],"src":"17219:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14052,"nodeType":"FunctionDefinition","src":"17322:169:14","nodes":[],"body":{"id":14051,"nodeType":"Block","src":"17391:100:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":14044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17441:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":14045,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14034,"src":"17472:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14046,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14036,"src":"17476:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14047,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14038,"src":"17480:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14042,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17417:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17417:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17417:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14041,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17401:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17401:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14050,"nodeType":"ExpressionStatement","src":"17401:83:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17331:3:14","parameters":{"id":14039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14034,"mutability":"mutable","name":"p0","nameLocation":"17343:2:14","nodeType":"VariableDeclaration","scope":14052,"src":"17335:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14033,"name":"address","nodeType":"ElementaryTypeName","src":"17335:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14036,"mutability":"mutable","name":"p1","nameLocation":"17361:2:14","nodeType":"VariableDeclaration","scope":14052,"src":"17347:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14035,"name":"string","nodeType":"ElementaryTypeName","src":"17347:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14038,"mutability":"mutable","name":"p2","nameLocation":"17373:2:14","nodeType":"VariableDeclaration","scope":14052,"src":"17365:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14037,"name":"address","nodeType":"ElementaryTypeName","src":"17365:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17334:42:14"},"returnParameters":{"id":14040,"nodeType":"ParameterList","parameters":[],"src":"17391:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14072,"nodeType":"FunctionDefinition","src":"17497:152:14","nodes":[],"body":{"id":14071,"nodeType":"Block","src":"17554:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7429","id":14064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17604:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095","typeString":"literal_string \"log(address,bool,uint)\""},"value":"log(address,bool,uint)"},{"id":14065,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14054,"src":"17630:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14066,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14056,"src":"17634:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14067,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14058,"src":"17638:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095","typeString":"literal_string \"log(address,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14062,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17580:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17580:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17580:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14061,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17564:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17564:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14070,"nodeType":"ExpressionStatement","src":"17564:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17506:3:14","parameters":{"id":14059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14054,"mutability":"mutable","name":"p0","nameLocation":"17518:2:14","nodeType":"VariableDeclaration","scope":14072,"src":"17510:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14053,"name":"address","nodeType":"ElementaryTypeName","src":"17510:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14056,"mutability":"mutable","name":"p1","nameLocation":"17527:2:14","nodeType":"VariableDeclaration","scope":14072,"src":"17522:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14055,"name":"bool","nodeType":"ElementaryTypeName","src":"17522:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14058,"mutability":"mutable","name":"p2","nameLocation":"17536:2:14","nodeType":"VariableDeclaration","scope":14072,"src":"17531:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14057,"name":"uint","nodeType":"ElementaryTypeName","src":"17531:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17509:30:14"},"returnParameters":{"id":14060,"nodeType":"ParameterList","parameters":[],"src":"17554:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14092,"nodeType":"FunctionDefinition","src":"17655:163:14","nodes":[],"body":{"id":14091,"nodeType":"Block","src":"17721:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":14084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17771:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":14085,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14074,"src":"17799:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14086,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14076,"src":"17803:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14087,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14078,"src":"17807:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14082,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17747:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17747:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17747:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17731:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17731:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14090,"nodeType":"ExpressionStatement","src":"17731:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17664:3:14","parameters":{"id":14079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14074,"mutability":"mutable","name":"p0","nameLocation":"17676:2:14","nodeType":"VariableDeclaration","scope":14092,"src":"17668:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14073,"name":"address","nodeType":"ElementaryTypeName","src":"17668:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14076,"mutability":"mutable","name":"p1","nameLocation":"17685:2:14","nodeType":"VariableDeclaration","scope":14092,"src":"17680:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14075,"name":"bool","nodeType":"ElementaryTypeName","src":"17680:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14078,"mutability":"mutable","name":"p2","nameLocation":"17703:2:14","nodeType":"VariableDeclaration","scope":14092,"src":"17689:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14077,"name":"string","nodeType":"ElementaryTypeName","src":"17689:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17667:39:14"},"returnParameters":{"id":14080,"nodeType":"ParameterList","parameters":[],"src":"17721:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14112,"nodeType":"FunctionDefinition","src":"17824:152:14","nodes":[],"body":{"id":14111,"nodeType":"Block","src":"17881:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":14104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17931:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":14105,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14094,"src":"17957:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14106,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14096,"src":"17961:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14107,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14098,"src":"17965:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17907:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17907:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17907:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14101,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17891:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17891:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14110,"nodeType":"ExpressionStatement","src":"17891:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17833:3:14","parameters":{"id":14099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14094,"mutability":"mutable","name":"p0","nameLocation":"17845:2:14","nodeType":"VariableDeclaration","scope":14112,"src":"17837:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14093,"name":"address","nodeType":"ElementaryTypeName","src":"17837:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14096,"mutability":"mutable","name":"p1","nameLocation":"17854:2:14","nodeType":"VariableDeclaration","scope":14112,"src":"17849:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14095,"name":"bool","nodeType":"ElementaryTypeName","src":"17849:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14098,"mutability":"mutable","name":"p2","nameLocation":"17863:2:14","nodeType":"VariableDeclaration","scope":14112,"src":"17858:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14097,"name":"bool","nodeType":"ElementaryTypeName","src":"17858:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17836:30:14"},"returnParameters":{"id":14100,"nodeType":"ParameterList","parameters":[],"src":"17881:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14132,"nodeType":"FunctionDefinition","src":"17982:158:14","nodes":[],"body":{"id":14131,"nodeType":"Block","src":"18042:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":14124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18092:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":14125,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14114,"src":"18121:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14126,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14116,"src":"18125:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14127,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14118,"src":"18129:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18068:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18068:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18068:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14121,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18052:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18052:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14130,"nodeType":"ExpressionStatement","src":"18052:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17991:3:14","parameters":{"id":14119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14114,"mutability":"mutable","name":"p0","nameLocation":"18003:2:14","nodeType":"VariableDeclaration","scope":14132,"src":"17995:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14113,"name":"address","nodeType":"ElementaryTypeName","src":"17995:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14116,"mutability":"mutable","name":"p1","nameLocation":"18012:2:14","nodeType":"VariableDeclaration","scope":14132,"src":"18007:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14115,"name":"bool","nodeType":"ElementaryTypeName","src":"18007:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14118,"mutability":"mutable","name":"p2","nameLocation":"18024:2:14","nodeType":"VariableDeclaration","scope":14132,"src":"18016:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14117,"name":"address","nodeType":"ElementaryTypeName","src":"18016:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17994:33:14"},"returnParameters":{"id":14120,"nodeType":"ParameterList","parameters":[],"src":"18042:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14152,"nodeType":"FunctionDefinition","src":"18146:158:14","nodes":[],"body":{"id":14151,"nodeType":"Block","src":"18206:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7429","id":14144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18256:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07","typeString":"literal_string \"log(address,address,uint)\""},"value":"log(address,address,uint)"},{"id":14145,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14134,"src":"18285:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14146,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14136,"src":"18289:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14147,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14138,"src":"18293:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07","typeString":"literal_string \"log(address,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14142,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18232:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18232:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18232:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14141,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18216:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18216:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14150,"nodeType":"ExpressionStatement","src":"18216:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18155:3:14","parameters":{"id":14139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14134,"mutability":"mutable","name":"p0","nameLocation":"18167:2:14","nodeType":"VariableDeclaration","scope":14152,"src":"18159:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14133,"name":"address","nodeType":"ElementaryTypeName","src":"18159:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14136,"mutability":"mutable","name":"p1","nameLocation":"18179:2:14","nodeType":"VariableDeclaration","scope":14152,"src":"18171:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14135,"name":"address","nodeType":"ElementaryTypeName","src":"18171:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14138,"mutability":"mutable","name":"p2","nameLocation":"18188:2:14","nodeType":"VariableDeclaration","scope":14152,"src":"18183:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14137,"name":"uint","nodeType":"ElementaryTypeName","src":"18183:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18158:33:14"},"returnParameters":{"id":14140,"nodeType":"ParameterList","parameters":[],"src":"18206:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14172,"nodeType":"FunctionDefinition","src":"18310:169:14","nodes":[],"body":{"id":14171,"nodeType":"Block","src":"18379:100:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":14164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18429:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":14165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14154,"src":"18460:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14156,"src":"18464:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14158,"src":"18468:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18405:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18405:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18405:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18389:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18389:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14170,"nodeType":"ExpressionStatement","src":"18389:83:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18319:3:14","parameters":{"id":14159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14154,"mutability":"mutable","name":"p0","nameLocation":"18331:2:14","nodeType":"VariableDeclaration","scope":14172,"src":"18323:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14153,"name":"address","nodeType":"ElementaryTypeName","src":"18323:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14156,"mutability":"mutable","name":"p1","nameLocation":"18343:2:14","nodeType":"VariableDeclaration","scope":14172,"src":"18335:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14155,"name":"address","nodeType":"ElementaryTypeName","src":"18335:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14158,"mutability":"mutable","name":"p2","nameLocation":"18361:2:14","nodeType":"VariableDeclaration","scope":14172,"src":"18347:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14157,"name":"string","nodeType":"ElementaryTypeName","src":"18347:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18322:42:14"},"returnParameters":{"id":14160,"nodeType":"ParameterList","parameters":[],"src":"18379:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14192,"nodeType":"FunctionDefinition","src":"18485:158:14","nodes":[],"body":{"id":14191,"nodeType":"Block","src":"18545:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":14184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18595:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":14185,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14174,"src":"18624:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14186,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14176,"src":"18628:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14187,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14178,"src":"18632:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14182,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18571:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18571:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18571:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14181,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18555:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18555:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14190,"nodeType":"ExpressionStatement","src":"18555:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18494:3:14","parameters":{"id":14179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14174,"mutability":"mutable","name":"p0","nameLocation":"18506:2:14","nodeType":"VariableDeclaration","scope":14192,"src":"18498:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14173,"name":"address","nodeType":"ElementaryTypeName","src":"18498:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14176,"mutability":"mutable","name":"p1","nameLocation":"18518:2:14","nodeType":"VariableDeclaration","scope":14192,"src":"18510:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14175,"name":"address","nodeType":"ElementaryTypeName","src":"18510:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14178,"mutability":"mutable","name":"p2","nameLocation":"18527:2:14","nodeType":"VariableDeclaration","scope":14192,"src":"18522:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14177,"name":"bool","nodeType":"ElementaryTypeName","src":"18522:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18497:33:14"},"returnParameters":{"id":14180,"nodeType":"ParameterList","parameters":[],"src":"18545:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14212,"nodeType":"FunctionDefinition","src":"18649:164:14","nodes":[],"body":{"id":14211,"nodeType":"Block","src":"18712:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":14204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18762:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":14205,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14194,"src":"18794:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14206,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14196,"src":"18798:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14207,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14198,"src":"18802:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18738:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18738:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18738:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18722:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18722:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14210,"nodeType":"ExpressionStatement","src":"18722:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18658:3:14","parameters":{"id":14199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14194,"mutability":"mutable","name":"p0","nameLocation":"18670:2:14","nodeType":"VariableDeclaration","scope":14212,"src":"18662:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14193,"name":"address","nodeType":"ElementaryTypeName","src":"18662:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14196,"mutability":"mutable","name":"p1","nameLocation":"18682:2:14","nodeType":"VariableDeclaration","scope":14212,"src":"18674:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14195,"name":"address","nodeType":"ElementaryTypeName","src":"18674:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14198,"mutability":"mutable","name":"p2","nameLocation":"18694:2:14","nodeType":"VariableDeclaration","scope":14212,"src":"18686:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14197,"name":"address","nodeType":"ElementaryTypeName","src":"18686:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18661:36:14"},"returnParameters":{"id":14200,"nodeType":"ParameterList","parameters":[],"src":"18712:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14235,"nodeType":"FunctionDefinition","src":"18819:164:14","nodes":[],"body":{"id":14234,"nodeType":"Block","src":"18882:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c75696e7429","id":14226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18932:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6","typeString":"literal_string \"log(uint,uint,uint,uint)\""},"value":"log(uint,uint,uint,uint)"},{"id":14227,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14214,"src":"18960:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14228,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14216,"src":"18964:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14229,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14218,"src":"18968:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14230,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14220,"src":"18972:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6","typeString":"literal_string \"log(uint,uint,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14224,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18908:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18908:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18908:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14223,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18892:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18892:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14233,"nodeType":"ExpressionStatement","src":"18892:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18828:3:14","parameters":{"id":14221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14214,"mutability":"mutable","name":"p0","nameLocation":"18837:2:14","nodeType":"VariableDeclaration","scope":14235,"src":"18832:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14213,"name":"uint","nodeType":"ElementaryTypeName","src":"18832:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14216,"mutability":"mutable","name":"p1","nameLocation":"18846:2:14","nodeType":"VariableDeclaration","scope":14235,"src":"18841:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14215,"name":"uint","nodeType":"ElementaryTypeName","src":"18841:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14218,"mutability":"mutable","name":"p2","nameLocation":"18855:2:14","nodeType":"VariableDeclaration","scope":14235,"src":"18850:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14217,"name":"uint","nodeType":"ElementaryTypeName","src":"18850:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14220,"mutability":"mutable","name":"p3","nameLocation":"18864:2:14","nodeType":"VariableDeclaration","scope":14235,"src":"18859:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14219,"name":"uint","nodeType":"ElementaryTypeName","src":"18859:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18831:36:14"},"returnParameters":{"id":14222,"nodeType":"ParameterList","parameters":[],"src":"18882:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14258,"nodeType":"FunctionDefinition","src":"18989:175:14","nodes":[],"body":{"id":14257,"nodeType":"Block","src":"19061:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c737472696e6729","id":14249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19111:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5","typeString":"literal_string \"log(uint,uint,uint,string)\""},"value":"log(uint,uint,uint,string)"},{"id":14250,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14237,"src":"19141:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14251,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14239,"src":"19145:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14252,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14241,"src":"19149:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14253,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14243,"src":"19153:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5","typeString":"literal_string \"log(uint,uint,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14247,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19087:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19087:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19087:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14246,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19071:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19071:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14256,"nodeType":"ExpressionStatement","src":"19071:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18998:3:14","parameters":{"id":14244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14237,"mutability":"mutable","name":"p0","nameLocation":"19007:2:14","nodeType":"VariableDeclaration","scope":14258,"src":"19002:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14236,"name":"uint","nodeType":"ElementaryTypeName","src":"19002:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14239,"mutability":"mutable","name":"p1","nameLocation":"19016:2:14","nodeType":"VariableDeclaration","scope":14258,"src":"19011:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14238,"name":"uint","nodeType":"ElementaryTypeName","src":"19011:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14241,"mutability":"mutable","name":"p2","nameLocation":"19025:2:14","nodeType":"VariableDeclaration","scope":14258,"src":"19020:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14240,"name":"uint","nodeType":"ElementaryTypeName","src":"19020:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14243,"mutability":"mutable","name":"p3","nameLocation":"19043:2:14","nodeType":"VariableDeclaration","scope":14258,"src":"19029:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14242,"name":"string","nodeType":"ElementaryTypeName","src":"19029:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19001:45:14"},"returnParameters":{"id":14245,"nodeType":"ParameterList","parameters":[],"src":"19061:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14281,"nodeType":"FunctionDefinition","src":"19170:164:14","nodes":[],"body":{"id":14280,"nodeType":"Block","src":"19233:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c626f6f6c29","id":14272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19283:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f","typeString":"literal_string \"log(uint,uint,uint,bool)\""},"value":"log(uint,uint,uint,bool)"},{"id":14273,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14260,"src":"19311:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14274,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14262,"src":"19315:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14275,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14264,"src":"19319:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14276,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14266,"src":"19323:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f","typeString":"literal_string \"log(uint,uint,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14270,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19259:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19259:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19259:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14269,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19243:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19243:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14279,"nodeType":"ExpressionStatement","src":"19243:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19179:3:14","parameters":{"id":14267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14260,"mutability":"mutable","name":"p0","nameLocation":"19188:2:14","nodeType":"VariableDeclaration","scope":14281,"src":"19183:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14259,"name":"uint","nodeType":"ElementaryTypeName","src":"19183:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14262,"mutability":"mutable","name":"p1","nameLocation":"19197:2:14","nodeType":"VariableDeclaration","scope":14281,"src":"19192:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14261,"name":"uint","nodeType":"ElementaryTypeName","src":"19192:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14264,"mutability":"mutable","name":"p2","nameLocation":"19206:2:14","nodeType":"VariableDeclaration","scope":14281,"src":"19201:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14263,"name":"uint","nodeType":"ElementaryTypeName","src":"19201:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14266,"mutability":"mutable","name":"p3","nameLocation":"19215:2:14","nodeType":"VariableDeclaration","scope":14281,"src":"19210:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14265,"name":"bool","nodeType":"ElementaryTypeName","src":"19210:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19182:36:14"},"returnParameters":{"id":14268,"nodeType":"ParameterList","parameters":[],"src":"19233:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14304,"nodeType":"FunctionDefinition","src":"19340:170:14","nodes":[],"body":{"id":14303,"nodeType":"Block","src":"19406:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c6164647265737329","id":14295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19456:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba","typeString":"literal_string \"log(uint,uint,uint,address)\""},"value":"log(uint,uint,uint,address)"},{"id":14296,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14283,"src":"19487:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14297,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14285,"src":"19491:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14298,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14287,"src":"19495:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14299,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14289,"src":"19499:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba","typeString":"literal_string \"log(uint,uint,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19432:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19432:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19432:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14292,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19416:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19416:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14302,"nodeType":"ExpressionStatement","src":"19416:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19349:3:14","parameters":{"id":14290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14283,"mutability":"mutable","name":"p0","nameLocation":"19358:2:14","nodeType":"VariableDeclaration","scope":14304,"src":"19353:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14282,"name":"uint","nodeType":"ElementaryTypeName","src":"19353:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14285,"mutability":"mutable","name":"p1","nameLocation":"19367:2:14","nodeType":"VariableDeclaration","scope":14304,"src":"19362:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14284,"name":"uint","nodeType":"ElementaryTypeName","src":"19362:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14287,"mutability":"mutable","name":"p2","nameLocation":"19376:2:14","nodeType":"VariableDeclaration","scope":14304,"src":"19371:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14286,"name":"uint","nodeType":"ElementaryTypeName","src":"19371:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14289,"mutability":"mutable","name":"p3","nameLocation":"19388:2:14","nodeType":"VariableDeclaration","scope":14304,"src":"19380:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14288,"name":"address","nodeType":"ElementaryTypeName","src":"19380:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19352:39:14"},"returnParameters":{"id":14291,"nodeType":"ParameterList","parameters":[],"src":"19406:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14327,"nodeType":"FunctionDefinition","src":"19516:175:14","nodes":[],"body":{"id":14326,"nodeType":"Block","src":"19588:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c75696e7429","id":14318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19638:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e","typeString":"literal_string \"log(uint,uint,string,uint)\""},"value":"log(uint,uint,string,uint)"},{"id":14319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14306,"src":"19668:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14320,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14308,"src":"19672:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14321,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14310,"src":"19676:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14322,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14312,"src":"19680:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e","typeString":"literal_string \"log(uint,uint,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19614:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19614:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19614:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19598:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19598:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14325,"nodeType":"ExpressionStatement","src":"19598:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19525:3:14","parameters":{"id":14313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14306,"mutability":"mutable","name":"p0","nameLocation":"19534:2:14","nodeType":"VariableDeclaration","scope":14327,"src":"19529:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14305,"name":"uint","nodeType":"ElementaryTypeName","src":"19529:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14308,"mutability":"mutable","name":"p1","nameLocation":"19543:2:14","nodeType":"VariableDeclaration","scope":14327,"src":"19538:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14307,"name":"uint","nodeType":"ElementaryTypeName","src":"19538:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14310,"mutability":"mutable","name":"p2","nameLocation":"19561:2:14","nodeType":"VariableDeclaration","scope":14327,"src":"19547:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14309,"name":"string","nodeType":"ElementaryTypeName","src":"19547:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14312,"mutability":"mutable","name":"p3","nameLocation":"19570:2:14","nodeType":"VariableDeclaration","scope":14327,"src":"19565:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14311,"name":"uint","nodeType":"ElementaryTypeName","src":"19565:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19528:45:14"},"returnParameters":{"id":14314,"nodeType":"ParameterList","parameters":[],"src":"19588:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14350,"nodeType":"FunctionDefinition","src":"19697:186:14","nodes":[],"body":{"id":14349,"nodeType":"Block","src":"19778:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c737472696e6729","id":14341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19828:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6","typeString":"literal_string \"log(uint,uint,string,string)\""},"value":"log(uint,uint,string,string)"},{"id":14342,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14329,"src":"19860:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14343,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14331,"src":"19864:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14344,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14333,"src":"19868:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14345,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14335,"src":"19872:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6","typeString":"literal_string \"log(uint,uint,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14339,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19804:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19804:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19804:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14338,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19788:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19788:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14348,"nodeType":"ExpressionStatement","src":"19788:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19706:3:14","parameters":{"id":14336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14329,"mutability":"mutable","name":"p0","nameLocation":"19715:2:14","nodeType":"VariableDeclaration","scope":14350,"src":"19710:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14328,"name":"uint","nodeType":"ElementaryTypeName","src":"19710:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14331,"mutability":"mutable","name":"p1","nameLocation":"19724:2:14","nodeType":"VariableDeclaration","scope":14350,"src":"19719:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14330,"name":"uint","nodeType":"ElementaryTypeName","src":"19719:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14333,"mutability":"mutable","name":"p2","nameLocation":"19742:2:14","nodeType":"VariableDeclaration","scope":14350,"src":"19728:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14332,"name":"string","nodeType":"ElementaryTypeName","src":"19728:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14335,"mutability":"mutable","name":"p3","nameLocation":"19760:2:14","nodeType":"VariableDeclaration","scope":14350,"src":"19746:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14334,"name":"string","nodeType":"ElementaryTypeName","src":"19746:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19709:54:14"},"returnParameters":{"id":14337,"nodeType":"ParameterList","parameters":[],"src":"19778:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14373,"nodeType":"FunctionDefinition","src":"19889:175:14","nodes":[],"body":{"id":14372,"nodeType":"Block","src":"19961:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c626f6f6c29","id":14364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20011:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9","typeString":"literal_string \"log(uint,uint,string,bool)\""},"value":"log(uint,uint,string,bool)"},{"id":14365,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14352,"src":"20041:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14366,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14354,"src":"20045:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14367,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14356,"src":"20049:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14368,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14358,"src":"20053:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9","typeString":"literal_string \"log(uint,uint,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19987:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19987:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19987:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14361,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19971:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19971:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14371,"nodeType":"ExpressionStatement","src":"19971:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19898:3:14","parameters":{"id":14359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14352,"mutability":"mutable","name":"p0","nameLocation":"19907:2:14","nodeType":"VariableDeclaration","scope":14373,"src":"19902:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14351,"name":"uint","nodeType":"ElementaryTypeName","src":"19902:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14354,"mutability":"mutable","name":"p1","nameLocation":"19916:2:14","nodeType":"VariableDeclaration","scope":14373,"src":"19911:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14353,"name":"uint","nodeType":"ElementaryTypeName","src":"19911:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14356,"mutability":"mutable","name":"p2","nameLocation":"19934:2:14","nodeType":"VariableDeclaration","scope":14373,"src":"19920:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14355,"name":"string","nodeType":"ElementaryTypeName","src":"19920:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14358,"mutability":"mutable","name":"p3","nameLocation":"19943:2:14","nodeType":"VariableDeclaration","scope":14373,"src":"19938:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14357,"name":"bool","nodeType":"ElementaryTypeName","src":"19938:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19901:45:14"},"returnParameters":{"id":14360,"nodeType":"ParameterList","parameters":[],"src":"19961:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14396,"nodeType":"FunctionDefinition","src":"20070:181:14","nodes":[],"body":{"id":14395,"nodeType":"Block","src":"20145:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c6164647265737329","id":14387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20195:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7","typeString":"literal_string \"log(uint,uint,string,address)\""},"value":"log(uint,uint,string,address)"},{"id":14388,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14375,"src":"20228:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14389,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14377,"src":"20232:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14390,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14379,"src":"20236:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14391,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14381,"src":"20240:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7","typeString":"literal_string \"log(uint,uint,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14385,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20171:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20171:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20171:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14384,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20155:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20155:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14394,"nodeType":"ExpressionStatement","src":"20155:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20079:3:14","parameters":{"id":14382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14375,"mutability":"mutable","name":"p0","nameLocation":"20088:2:14","nodeType":"VariableDeclaration","scope":14396,"src":"20083:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14374,"name":"uint","nodeType":"ElementaryTypeName","src":"20083:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14377,"mutability":"mutable","name":"p1","nameLocation":"20097:2:14","nodeType":"VariableDeclaration","scope":14396,"src":"20092:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14376,"name":"uint","nodeType":"ElementaryTypeName","src":"20092:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14379,"mutability":"mutable","name":"p2","nameLocation":"20115:2:14","nodeType":"VariableDeclaration","scope":14396,"src":"20101:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14378,"name":"string","nodeType":"ElementaryTypeName","src":"20101:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14381,"mutability":"mutable","name":"p3","nameLocation":"20127:2:14","nodeType":"VariableDeclaration","scope":14396,"src":"20119:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14380,"name":"address","nodeType":"ElementaryTypeName","src":"20119:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20082:48:14"},"returnParameters":{"id":14383,"nodeType":"ParameterList","parameters":[],"src":"20145:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14419,"nodeType":"FunctionDefinition","src":"20257:164:14","nodes":[],"body":{"id":14418,"nodeType":"Block","src":"20320:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c75696e7429","id":14410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20370:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d","typeString":"literal_string \"log(uint,uint,bool,uint)\""},"value":"log(uint,uint,bool,uint)"},{"id":14411,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14398,"src":"20398:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14412,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14400,"src":"20402:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14413,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14402,"src":"20406:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14414,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14404,"src":"20410:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d","typeString":"literal_string \"log(uint,uint,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20346:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20346:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20346:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14407,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20330:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20330:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14417,"nodeType":"ExpressionStatement","src":"20330:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20266:3:14","parameters":{"id":14405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14398,"mutability":"mutable","name":"p0","nameLocation":"20275:2:14","nodeType":"VariableDeclaration","scope":14419,"src":"20270:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14397,"name":"uint","nodeType":"ElementaryTypeName","src":"20270:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14400,"mutability":"mutable","name":"p1","nameLocation":"20284:2:14","nodeType":"VariableDeclaration","scope":14419,"src":"20279:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14399,"name":"uint","nodeType":"ElementaryTypeName","src":"20279:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14402,"mutability":"mutable","name":"p2","nameLocation":"20293:2:14","nodeType":"VariableDeclaration","scope":14419,"src":"20288:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14401,"name":"bool","nodeType":"ElementaryTypeName","src":"20288:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14404,"mutability":"mutable","name":"p3","nameLocation":"20302:2:14","nodeType":"VariableDeclaration","scope":14419,"src":"20297:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14403,"name":"uint","nodeType":"ElementaryTypeName","src":"20297:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20269:36:14"},"returnParameters":{"id":14406,"nodeType":"ParameterList","parameters":[],"src":"20320:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14442,"nodeType":"FunctionDefinition","src":"20427:175:14","nodes":[],"body":{"id":14441,"nodeType":"Block","src":"20499:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c737472696e6729","id":14433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20549:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a","typeString":"literal_string \"log(uint,uint,bool,string)\""},"value":"log(uint,uint,bool,string)"},{"id":14434,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14421,"src":"20579:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14435,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14423,"src":"20583:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14436,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14425,"src":"20587:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14437,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14427,"src":"20591:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a","typeString":"literal_string \"log(uint,uint,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14431,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20525:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20525:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20525:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14430,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20509:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20509:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14440,"nodeType":"ExpressionStatement","src":"20509:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20436:3:14","parameters":{"id":14428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14421,"mutability":"mutable","name":"p0","nameLocation":"20445:2:14","nodeType":"VariableDeclaration","scope":14442,"src":"20440:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14420,"name":"uint","nodeType":"ElementaryTypeName","src":"20440:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14423,"mutability":"mutable","name":"p1","nameLocation":"20454:2:14","nodeType":"VariableDeclaration","scope":14442,"src":"20449:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14422,"name":"uint","nodeType":"ElementaryTypeName","src":"20449:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14425,"mutability":"mutable","name":"p2","nameLocation":"20463:2:14","nodeType":"VariableDeclaration","scope":14442,"src":"20458:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14424,"name":"bool","nodeType":"ElementaryTypeName","src":"20458:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14427,"mutability":"mutable","name":"p3","nameLocation":"20481:2:14","nodeType":"VariableDeclaration","scope":14442,"src":"20467:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14426,"name":"string","nodeType":"ElementaryTypeName","src":"20467:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20439:45:14"},"returnParameters":{"id":14429,"nodeType":"ParameterList","parameters":[],"src":"20499:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14465,"nodeType":"FunctionDefinition","src":"20608:164:14","nodes":[],"body":{"id":14464,"nodeType":"Block","src":"20671:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c626f6f6c29","id":14456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20721:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41","typeString":"literal_string \"log(uint,uint,bool,bool)\""},"value":"log(uint,uint,bool,bool)"},{"id":14457,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14444,"src":"20749:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14458,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14446,"src":"20753:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14459,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14448,"src":"20757:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14460,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14450,"src":"20761:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41","typeString":"literal_string \"log(uint,uint,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14454,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20697:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20697:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20697:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14453,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20681:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20681:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14463,"nodeType":"ExpressionStatement","src":"20681:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20617:3:14","parameters":{"id":14451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14444,"mutability":"mutable","name":"p0","nameLocation":"20626:2:14","nodeType":"VariableDeclaration","scope":14465,"src":"20621:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14443,"name":"uint","nodeType":"ElementaryTypeName","src":"20621:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14446,"mutability":"mutable","name":"p1","nameLocation":"20635:2:14","nodeType":"VariableDeclaration","scope":14465,"src":"20630:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14445,"name":"uint","nodeType":"ElementaryTypeName","src":"20630:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14448,"mutability":"mutable","name":"p2","nameLocation":"20644:2:14","nodeType":"VariableDeclaration","scope":14465,"src":"20639:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14447,"name":"bool","nodeType":"ElementaryTypeName","src":"20639:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14450,"mutability":"mutable","name":"p3","nameLocation":"20653:2:14","nodeType":"VariableDeclaration","scope":14465,"src":"20648:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14449,"name":"bool","nodeType":"ElementaryTypeName","src":"20648:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20620:36:14"},"returnParameters":{"id":14452,"nodeType":"ParameterList","parameters":[],"src":"20671:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14488,"nodeType":"FunctionDefinition","src":"20778:170:14","nodes":[],"body":{"id":14487,"nodeType":"Block","src":"20844:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c6164647265737329","id":14479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20894:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976","typeString":"literal_string \"log(uint,uint,bool,address)\""},"value":"log(uint,uint,bool,address)"},{"id":14480,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14467,"src":"20925:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14481,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14469,"src":"20929:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14482,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14471,"src":"20933:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14483,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14473,"src":"20937:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976","typeString":"literal_string \"log(uint,uint,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14477,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20870:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20870:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20870:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14476,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20854:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20854:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14486,"nodeType":"ExpressionStatement","src":"20854:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20787:3:14","parameters":{"id":14474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14467,"mutability":"mutable","name":"p0","nameLocation":"20796:2:14","nodeType":"VariableDeclaration","scope":14488,"src":"20791:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14466,"name":"uint","nodeType":"ElementaryTypeName","src":"20791:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14469,"mutability":"mutable","name":"p1","nameLocation":"20805:2:14","nodeType":"VariableDeclaration","scope":14488,"src":"20800:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14468,"name":"uint","nodeType":"ElementaryTypeName","src":"20800:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14471,"mutability":"mutable","name":"p2","nameLocation":"20814:2:14","nodeType":"VariableDeclaration","scope":14488,"src":"20809:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14470,"name":"bool","nodeType":"ElementaryTypeName","src":"20809:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14473,"mutability":"mutable","name":"p3","nameLocation":"20826:2:14","nodeType":"VariableDeclaration","scope":14488,"src":"20818:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14472,"name":"address","nodeType":"ElementaryTypeName","src":"20818:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20790:39:14"},"returnParameters":{"id":14475,"nodeType":"ParameterList","parameters":[],"src":"20844:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14511,"nodeType":"FunctionDefinition","src":"20954:170:14","nodes":[],"body":{"id":14510,"nodeType":"Block","src":"21020:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c75696e7429","id":14502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21070:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f","typeString":"literal_string \"log(uint,uint,address,uint)\""},"value":"log(uint,uint,address,uint)"},{"id":14503,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14490,"src":"21101:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14504,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14492,"src":"21105:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14505,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14494,"src":"21109:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14506,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14496,"src":"21113:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f","typeString":"literal_string \"log(uint,uint,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14500,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21046:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21046:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21046:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14499,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21030:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21030:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14509,"nodeType":"ExpressionStatement","src":"21030:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20963:3:14","parameters":{"id":14497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14490,"mutability":"mutable","name":"p0","nameLocation":"20972:2:14","nodeType":"VariableDeclaration","scope":14511,"src":"20967:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14489,"name":"uint","nodeType":"ElementaryTypeName","src":"20967:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14492,"mutability":"mutable","name":"p1","nameLocation":"20981:2:14","nodeType":"VariableDeclaration","scope":14511,"src":"20976:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14491,"name":"uint","nodeType":"ElementaryTypeName","src":"20976:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14494,"mutability":"mutable","name":"p2","nameLocation":"20993:2:14","nodeType":"VariableDeclaration","scope":14511,"src":"20985:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14493,"name":"address","nodeType":"ElementaryTypeName","src":"20985:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14496,"mutability":"mutable","name":"p3","nameLocation":"21002:2:14","nodeType":"VariableDeclaration","scope":14511,"src":"20997:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14495,"name":"uint","nodeType":"ElementaryTypeName","src":"20997:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20966:39:14"},"returnParameters":{"id":14498,"nodeType":"ParameterList","parameters":[],"src":"21020:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14534,"nodeType":"FunctionDefinition","src":"21130:181:14","nodes":[],"body":{"id":14533,"nodeType":"Block","src":"21205:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c737472696e6729","id":14525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21255:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227","typeString":"literal_string \"log(uint,uint,address,string)\""},"value":"log(uint,uint,address,string)"},{"id":14526,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14513,"src":"21288:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14527,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14515,"src":"21292:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14528,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14517,"src":"21296:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14529,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14519,"src":"21300:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227","typeString":"literal_string \"log(uint,uint,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14523,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21231:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21231:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21231:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14522,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21215:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21215:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14532,"nodeType":"ExpressionStatement","src":"21215:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21139:3:14","parameters":{"id":14520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14513,"mutability":"mutable","name":"p0","nameLocation":"21148:2:14","nodeType":"VariableDeclaration","scope":14534,"src":"21143:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14512,"name":"uint","nodeType":"ElementaryTypeName","src":"21143:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14515,"mutability":"mutable","name":"p1","nameLocation":"21157:2:14","nodeType":"VariableDeclaration","scope":14534,"src":"21152:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14514,"name":"uint","nodeType":"ElementaryTypeName","src":"21152:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14517,"mutability":"mutable","name":"p2","nameLocation":"21169:2:14","nodeType":"VariableDeclaration","scope":14534,"src":"21161:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14516,"name":"address","nodeType":"ElementaryTypeName","src":"21161:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14519,"mutability":"mutable","name":"p3","nameLocation":"21187:2:14","nodeType":"VariableDeclaration","scope":14534,"src":"21173:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14518,"name":"string","nodeType":"ElementaryTypeName","src":"21173:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21142:48:14"},"returnParameters":{"id":14521,"nodeType":"ParameterList","parameters":[],"src":"21205:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14557,"nodeType":"FunctionDefinition","src":"21317:170:14","nodes":[],"body":{"id":14556,"nodeType":"Block","src":"21383:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c626f6f6c29","id":14548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21433:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0","typeString":"literal_string \"log(uint,uint,address,bool)\""},"value":"log(uint,uint,address,bool)"},{"id":14549,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14536,"src":"21464:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14550,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14538,"src":"21468:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14551,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14540,"src":"21472:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14552,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14542,"src":"21476:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0","typeString":"literal_string \"log(uint,uint,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14546,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21409:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21409:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21409:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14545,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21393:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21393:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14555,"nodeType":"ExpressionStatement","src":"21393:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21326:3:14","parameters":{"id":14543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14536,"mutability":"mutable","name":"p0","nameLocation":"21335:2:14","nodeType":"VariableDeclaration","scope":14557,"src":"21330:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14535,"name":"uint","nodeType":"ElementaryTypeName","src":"21330:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14538,"mutability":"mutable","name":"p1","nameLocation":"21344:2:14","nodeType":"VariableDeclaration","scope":14557,"src":"21339:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14537,"name":"uint","nodeType":"ElementaryTypeName","src":"21339:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14540,"mutability":"mutable","name":"p2","nameLocation":"21356:2:14","nodeType":"VariableDeclaration","scope":14557,"src":"21348:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14539,"name":"address","nodeType":"ElementaryTypeName","src":"21348:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14542,"mutability":"mutable","name":"p3","nameLocation":"21365:2:14","nodeType":"VariableDeclaration","scope":14557,"src":"21360:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14541,"name":"bool","nodeType":"ElementaryTypeName","src":"21360:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21329:39:14"},"returnParameters":{"id":14544,"nodeType":"ParameterList","parameters":[],"src":"21383:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14580,"nodeType":"FunctionDefinition","src":"21493:176:14","nodes":[],"body":{"id":14579,"nodeType":"Block","src":"21562:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c6164647265737329","id":14571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21612:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811","typeString":"literal_string \"log(uint,uint,address,address)\""},"value":"log(uint,uint,address,address)"},{"id":14572,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14559,"src":"21646:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14573,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14561,"src":"21650:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14574,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14563,"src":"21654:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14575,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14565,"src":"21658:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811","typeString":"literal_string \"log(uint,uint,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14569,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21588:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21588:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21588:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14568,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21572:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21572:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14578,"nodeType":"ExpressionStatement","src":"21572:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21502:3:14","parameters":{"id":14566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14559,"mutability":"mutable","name":"p0","nameLocation":"21511:2:14","nodeType":"VariableDeclaration","scope":14580,"src":"21506:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14558,"name":"uint","nodeType":"ElementaryTypeName","src":"21506:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14561,"mutability":"mutable","name":"p1","nameLocation":"21520:2:14","nodeType":"VariableDeclaration","scope":14580,"src":"21515:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14560,"name":"uint","nodeType":"ElementaryTypeName","src":"21515:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14563,"mutability":"mutable","name":"p2","nameLocation":"21532:2:14","nodeType":"VariableDeclaration","scope":14580,"src":"21524:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14562,"name":"address","nodeType":"ElementaryTypeName","src":"21524:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14565,"mutability":"mutable","name":"p3","nameLocation":"21544:2:14","nodeType":"VariableDeclaration","scope":14580,"src":"21536:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14564,"name":"address","nodeType":"ElementaryTypeName","src":"21536:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21505:42:14"},"returnParameters":{"id":14567,"nodeType":"ParameterList","parameters":[],"src":"21562:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14603,"nodeType":"FunctionDefinition","src":"21675:175:14","nodes":[],"body":{"id":14602,"nodeType":"Block","src":"21747:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c75696e7429","id":14594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21797:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628","typeString":"literal_string \"log(uint,string,uint,uint)\""},"value":"log(uint,string,uint,uint)"},{"id":14595,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14582,"src":"21827:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14596,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14584,"src":"21831:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14597,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14586,"src":"21835:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14598,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14588,"src":"21839:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628","typeString":"literal_string \"log(uint,string,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14592,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21773:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21773:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21773:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14591,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21757:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21757:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14601,"nodeType":"ExpressionStatement","src":"21757:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21684:3:14","parameters":{"id":14589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14582,"mutability":"mutable","name":"p0","nameLocation":"21693:2:14","nodeType":"VariableDeclaration","scope":14603,"src":"21688:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14581,"name":"uint","nodeType":"ElementaryTypeName","src":"21688:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14584,"mutability":"mutable","name":"p1","nameLocation":"21711:2:14","nodeType":"VariableDeclaration","scope":14603,"src":"21697:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14583,"name":"string","nodeType":"ElementaryTypeName","src":"21697:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14586,"mutability":"mutable","name":"p2","nameLocation":"21720:2:14","nodeType":"VariableDeclaration","scope":14603,"src":"21715:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14585,"name":"uint","nodeType":"ElementaryTypeName","src":"21715:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14588,"mutability":"mutable","name":"p3","nameLocation":"21729:2:14","nodeType":"VariableDeclaration","scope":14603,"src":"21724:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14587,"name":"uint","nodeType":"ElementaryTypeName","src":"21724:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21687:45:14"},"returnParameters":{"id":14590,"nodeType":"ParameterList","parameters":[],"src":"21747:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14626,"nodeType":"FunctionDefinition","src":"21856:186:14","nodes":[],"body":{"id":14625,"nodeType":"Block","src":"21937:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c737472696e6729","id":14617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21987:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313","typeString":"literal_string \"log(uint,string,uint,string)\""},"value":"log(uint,string,uint,string)"},{"id":14618,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14605,"src":"22019:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14619,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14607,"src":"22023:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14620,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14609,"src":"22027:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14621,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14611,"src":"22031:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313","typeString":"literal_string \"log(uint,string,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14615,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21963:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21963:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21963:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14614,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21947:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21947:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14624,"nodeType":"ExpressionStatement","src":"21947:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21865:3:14","parameters":{"id":14612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14605,"mutability":"mutable","name":"p0","nameLocation":"21874:2:14","nodeType":"VariableDeclaration","scope":14626,"src":"21869:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14604,"name":"uint","nodeType":"ElementaryTypeName","src":"21869:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14607,"mutability":"mutable","name":"p1","nameLocation":"21892:2:14","nodeType":"VariableDeclaration","scope":14626,"src":"21878:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14606,"name":"string","nodeType":"ElementaryTypeName","src":"21878:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14609,"mutability":"mutable","name":"p2","nameLocation":"21901:2:14","nodeType":"VariableDeclaration","scope":14626,"src":"21896:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14608,"name":"uint","nodeType":"ElementaryTypeName","src":"21896:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14611,"mutability":"mutable","name":"p3","nameLocation":"21919:2:14","nodeType":"VariableDeclaration","scope":14626,"src":"21905:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14610,"name":"string","nodeType":"ElementaryTypeName","src":"21905:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21868:54:14"},"returnParameters":{"id":14613,"nodeType":"ParameterList","parameters":[],"src":"21937:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14649,"nodeType":"FunctionDefinition","src":"22048:175:14","nodes":[],"body":{"id":14648,"nodeType":"Block","src":"22120:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c626f6f6c29","id":14640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22170:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d","typeString":"literal_string \"log(uint,string,uint,bool)\""},"value":"log(uint,string,uint,bool)"},{"id":14641,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14628,"src":"22200:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14642,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14630,"src":"22204:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14643,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14632,"src":"22208:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14644,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14634,"src":"22212:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d","typeString":"literal_string \"log(uint,string,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22146:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22146:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22146:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22130:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22130:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14647,"nodeType":"ExpressionStatement","src":"22130:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22057:3:14","parameters":{"id":14635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14628,"mutability":"mutable","name":"p0","nameLocation":"22066:2:14","nodeType":"VariableDeclaration","scope":14649,"src":"22061:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14627,"name":"uint","nodeType":"ElementaryTypeName","src":"22061:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14630,"mutability":"mutable","name":"p1","nameLocation":"22084:2:14","nodeType":"VariableDeclaration","scope":14649,"src":"22070:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14629,"name":"string","nodeType":"ElementaryTypeName","src":"22070:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14632,"mutability":"mutable","name":"p2","nameLocation":"22093:2:14","nodeType":"VariableDeclaration","scope":14649,"src":"22088:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14631,"name":"uint","nodeType":"ElementaryTypeName","src":"22088:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14634,"mutability":"mutable","name":"p3","nameLocation":"22102:2:14","nodeType":"VariableDeclaration","scope":14649,"src":"22097:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14633,"name":"bool","nodeType":"ElementaryTypeName","src":"22097:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22060:45:14"},"returnParameters":{"id":14636,"nodeType":"ParameterList","parameters":[],"src":"22120:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14672,"nodeType":"FunctionDefinition","src":"22229:181:14","nodes":[],"body":{"id":14671,"nodeType":"Block","src":"22304:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c6164647265737329","id":14663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22354:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda","typeString":"literal_string \"log(uint,string,uint,address)\""},"value":"log(uint,string,uint,address)"},{"id":14664,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14651,"src":"22387:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14665,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14653,"src":"22391:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14666,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14655,"src":"22395:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14667,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14657,"src":"22399:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda","typeString":"literal_string \"log(uint,string,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14661,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22330:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22330:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22330:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14660,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22314:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22314:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14670,"nodeType":"ExpressionStatement","src":"22314:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22238:3:14","parameters":{"id":14658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14651,"mutability":"mutable","name":"p0","nameLocation":"22247:2:14","nodeType":"VariableDeclaration","scope":14672,"src":"22242:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14650,"name":"uint","nodeType":"ElementaryTypeName","src":"22242:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14653,"mutability":"mutable","name":"p1","nameLocation":"22265:2:14","nodeType":"VariableDeclaration","scope":14672,"src":"22251:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14652,"name":"string","nodeType":"ElementaryTypeName","src":"22251:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14655,"mutability":"mutable","name":"p2","nameLocation":"22274:2:14","nodeType":"VariableDeclaration","scope":14672,"src":"22269:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14654,"name":"uint","nodeType":"ElementaryTypeName","src":"22269:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14657,"mutability":"mutable","name":"p3","nameLocation":"22286:2:14","nodeType":"VariableDeclaration","scope":14672,"src":"22278:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14656,"name":"address","nodeType":"ElementaryTypeName","src":"22278:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22241:48:14"},"returnParameters":{"id":14659,"nodeType":"ParameterList","parameters":[],"src":"22304:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14695,"nodeType":"FunctionDefinition","src":"22416:186:14","nodes":[],"body":{"id":14694,"nodeType":"Block","src":"22497:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c75696e7429","id":14686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22547:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b","typeString":"literal_string \"log(uint,string,string,uint)\""},"value":"log(uint,string,string,uint)"},{"id":14687,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14674,"src":"22579:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14688,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14676,"src":"22583:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14689,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14678,"src":"22587:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14690,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14680,"src":"22591:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b","typeString":"literal_string \"log(uint,string,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14684,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22523:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22523:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22523:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14683,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22507:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22507:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14693,"nodeType":"ExpressionStatement","src":"22507:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22425:3:14","parameters":{"id":14681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14674,"mutability":"mutable","name":"p0","nameLocation":"22434:2:14","nodeType":"VariableDeclaration","scope":14695,"src":"22429:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14673,"name":"uint","nodeType":"ElementaryTypeName","src":"22429:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14676,"mutability":"mutable","name":"p1","nameLocation":"22452:2:14","nodeType":"VariableDeclaration","scope":14695,"src":"22438:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14675,"name":"string","nodeType":"ElementaryTypeName","src":"22438:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14678,"mutability":"mutable","name":"p2","nameLocation":"22470:2:14","nodeType":"VariableDeclaration","scope":14695,"src":"22456:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14677,"name":"string","nodeType":"ElementaryTypeName","src":"22456:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14680,"mutability":"mutable","name":"p3","nameLocation":"22479:2:14","nodeType":"VariableDeclaration","scope":14695,"src":"22474:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14679,"name":"uint","nodeType":"ElementaryTypeName","src":"22474:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22428:54:14"},"returnParameters":{"id":14682,"nodeType":"ParameterList","parameters":[],"src":"22497:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14718,"nodeType":"FunctionDefinition","src":"22608:197:14","nodes":[],"body":{"id":14717,"nodeType":"Block","src":"22698:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c737472696e6729","id":14709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22748:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156","typeString":"literal_string \"log(uint,string,string,string)\""},"value":"log(uint,string,string,string)"},{"id":14710,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14697,"src":"22782:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14711,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14699,"src":"22786:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14712,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14701,"src":"22790:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14713,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14703,"src":"22794:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156","typeString":"literal_string \"log(uint,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14707,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22724:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22724:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22724:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14706,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22708:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22708:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14716,"nodeType":"ExpressionStatement","src":"22708:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22617:3:14","parameters":{"id":14704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14697,"mutability":"mutable","name":"p0","nameLocation":"22626:2:14","nodeType":"VariableDeclaration","scope":14718,"src":"22621:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14696,"name":"uint","nodeType":"ElementaryTypeName","src":"22621:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14699,"mutability":"mutable","name":"p1","nameLocation":"22644:2:14","nodeType":"VariableDeclaration","scope":14718,"src":"22630:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14698,"name":"string","nodeType":"ElementaryTypeName","src":"22630:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14701,"mutability":"mutable","name":"p2","nameLocation":"22662:2:14","nodeType":"VariableDeclaration","scope":14718,"src":"22648:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14700,"name":"string","nodeType":"ElementaryTypeName","src":"22648:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14703,"mutability":"mutable","name":"p3","nameLocation":"22680:2:14","nodeType":"VariableDeclaration","scope":14718,"src":"22666:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14702,"name":"string","nodeType":"ElementaryTypeName","src":"22666:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22620:63:14"},"returnParameters":{"id":14705,"nodeType":"ParameterList","parameters":[],"src":"22698:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14741,"nodeType":"FunctionDefinition","src":"22811:186:14","nodes":[],"body":{"id":14740,"nodeType":"Block","src":"22892:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c626f6f6c29","id":14732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22942:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc","typeString":"literal_string \"log(uint,string,string,bool)\""},"value":"log(uint,string,string,bool)"},{"id":14733,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14720,"src":"22974:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14734,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14722,"src":"22978:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14735,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14724,"src":"22982:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14736,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14726,"src":"22986:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc","typeString":"literal_string \"log(uint,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14730,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22918:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22918:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22918:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14729,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22902:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22902:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14739,"nodeType":"ExpressionStatement","src":"22902:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22820:3:14","parameters":{"id":14727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14720,"mutability":"mutable","name":"p0","nameLocation":"22829:2:14","nodeType":"VariableDeclaration","scope":14741,"src":"22824:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14719,"name":"uint","nodeType":"ElementaryTypeName","src":"22824:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14722,"mutability":"mutable","name":"p1","nameLocation":"22847:2:14","nodeType":"VariableDeclaration","scope":14741,"src":"22833:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14721,"name":"string","nodeType":"ElementaryTypeName","src":"22833:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14724,"mutability":"mutable","name":"p2","nameLocation":"22865:2:14","nodeType":"VariableDeclaration","scope":14741,"src":"22851:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14723,"name":"string","nodeType":"ElementaryTypeName","src":"22851:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14726,"mutability":"mutable","name":"p3","nameLocation":"22874:2:14","nodeType":"VariableDeclaration","scope":14741,"src":"22869:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14725,"name":"bool","nodeType":"ElementaryTypeName","src":"22869:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22823:54:14"},"returnParameters":{"id":14728,"nodeType":"ParameterList","parameters":[],"src":"22892:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14764,"nodeType":"FunctionDefinition","src":"23003:192:14","nodes":[],"body":{"id":14763,"nodeType":"Block","src":"23087:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c6164647265737329","id":14755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23137:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded","typeString":"literal_string \"log(uint,string,string,address)\""},"value":"log(uint,string,string,address)"},{"id":14756,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14743,"src":"23172:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14757,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14745,"src":"23176:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14758,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14747,"src":"23180:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14759,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14749,"src":"23184:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded","typeString":"literal_string \"log(uint,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14753,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23113:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23113:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23113:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14752,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23097:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23097:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14762,"nodeType":"ExpressionStatement","src":"23097:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23012:3:14","parameters":{"id":14750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14743,"mutability":"mutable","name":"p0","nameLocation":"23021:2:14","nodeType":"VariableDeclaration","scope":14764,"src":"23016:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14742,"name":"uint","nodeType":"ElementaryTypeName","src":"23016:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14745,"mutability":"mutable","name":"p1","nameLocation":"23039:2:14","nodeType":"VariableDeclaration","scope":14764,"src":"23025:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14744,"name":"string","nodeType":"ElementaryTypeName","src":"23025:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14747,"mutability":"mutable","name":"p2","nameLocation":"23057:2:14","nodeType":"VariableDeclaration","scope":14764,"src":"23043:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14746,"name":"string","nodeType":"ElementaryTypeName","src":"23043:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14749,"mutability":"mutable","name":"p3","nameLocation":"23069:2:14","nodeType":"VariableDeclaration","scope":14764,"src":"23061:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14748,"name":"address","nodeType":"ElementaryTypeName","src":"23061:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23015:57:14"},"returnParameters":{"id":14751,"nodeType":"ParameterList","parameters":[],"src":"23087:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14787,"nodeType":"FunctionDefinition","src":"23201:175:14","nodes":[],"body":{"id":14786,"nodeType":"Block","src":"23273:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c75696e7429","id":14778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23323:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081","typeString":"literal_string \"log(uint,string,bool,uint)\""},"value":"log(uint,string,bool,uint)"},{"id":14779,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14766,"src":"23353:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14780,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14768,"src":"23357:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14781,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14770,"src":"23361:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14782,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14772,"src":"23365:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081","typeString":"literal_string \"log(uint,string,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23299:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23299:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23299:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14775,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23283:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23283:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14785,"nodeType":"ExpressionStatement","src":"23283:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23210:3:14","parameters":{"id":14773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14766,"mutability":"mutable","name":"p0","nameLocation":"23219:2:14","nodeType":"VariableDeclaration","scope":14787,"src":"23214:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14765,"name":"uint","nodeType":"ElementaryTypeName","src":"23214:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14768,"mutability":"mutable","name":"p1","nameLocation":"23237:2:14","nodeType":"VariableDeclaration","scope":14787,"src":"23223:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14767,"name":"string","nodeType":"ElementaryTypeName","src":"23223:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14770,"mutability":"mutable","name":"p2","nameLocation":"23246:2:14","nodeType":"VariableDeclaration","scope":14787,"src":"23241:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14769,"name":"bool","nodeType":"ElementaryTypeName","src":"23241:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14772,"mutability":"mutable","name":"p3","nameLocation":"23255:2:14","nodeType":"VariableDeclaration","scope":14787,"src":"23250:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14771,"name":"uint","nodeType":"ElementaryTypeName","src":"23250:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23213:45:14"},"returnParameters":{"id":14774,"nodeType":"ParameterList","parameters":[],"src":"23273:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14810,"nodeType":"FunctionDefinition","src":"23382:186:14","nodes":[],"body":{"id":14809,"nodeType":"Block","src":"23463:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c737472696e6729","id":14801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23513:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4","typeString":"literal_string \"log(uint,string,bool,string)\""},"value":"log(uint,string,bool,string)"},{"id":14802,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14789,"src":"23545:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14803,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14791,"src":"23549:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14804,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14793,"src":"23553:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14805,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14795,"src":"23557:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4","typeString":"literal_string \"log(uint,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14799,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23489:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23489:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23489:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14798,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23473:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23473:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14808,"nodeType":"ExpressionStatement","src":"23473:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23391:3:14","parameters":{"id":14796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14789,"mutability":"mutable","name":"p0","nameLocation":"23400:2:14","nodeType":"VariableDeclaration","scope":14810,"src":"23395:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14788,"name":"uint","nodeType":"ElementaryTypeName","src":"23395:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14791,"mutability":"mutable","name":"p1","nameLocation":"23418:2:14","nodeType":"VariableDeclaration","scope":14810,"src":"23404:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14790,"name":"string","nodeType":"ElementaryTypeName","src":"23404:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14793,"mutability":"mutable","name":"p2","nameLocation":"23427:2:14","nodeType":"VariableDeclaration","scope":14810,"src":"23422:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14792,"name":"bool","nodeType":"ElementaryTypeName","src":"23422:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14795,"mutability":"mutable","name":"p3","nameLocation":"23445:2:14","nodeType":"VariableDeclaration","scope":14810,"src":"23431:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14794,"name":"string","nodeType":"ElementaryTypeName","src":"23431:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23394:54:14"},"returnParameters":{"id":14797,"nodeType":"ParameterList","parameters":[],"src":"23463:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14833,"nodeType":"FunctionDefinition","src":"23574:175:14","nodes":[],"body":{"id":14832,"nodeType":"Block","src":"23646:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c626f6f6c29","id":14824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23696:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a","typeString":"literal_string \"log(uint,string,bool,bool)\""},"value":"log(uint,string,bool,bool)"},{"id":14825,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14812,"src":"23726:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14826,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14814,"src":"23730:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14827,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14816,"src":"23734:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14828,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14818,"src":"23738:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a","typeString":"literal_string \"log(uint,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14822,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23672:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23672:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23672:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14821,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23656:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23656:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14831,"nodeType":"ExpressionStatement","src":"23656:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23583:3:14","parameters":{"id":14819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14812,"mutability":"mutable","name":"p0","nameLocation":"23592:2:14","nodeType":"VariableDeclaration","scope":14833,"src":"23587:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14811,"name":"uint","nodeType":"ElementaryTypeName","src":"23587:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14814,"mutability":"mutable","name":"p1","nameLocation":"23610:2:14","nodeType":"VariableDeclaration","scope":14833,"src":"23596:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14813,"name":"string","nodeType":"ElementaryTypeName","src":"23596:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14816,"mutability":"mutable","name":"p2","nameLocation":"23619:2:14","nodeType":"VariableDeclaration","scope":14833,"src":"23614:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14815,"name":"bool","nodeType":"ElementaryTypeName","src":"23614:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14818,"mutability":"mutable","name":"p3","nameLocation":"23628:2:14","nodeType":"VariableDeclaration","scope":14833,"src":"23623:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14817,"name":"bool","nodeType":"ElementaryTypeName","src":"23623:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23586:45:14"},"returnParameters":{"id":14820,"nodeType":"ParameterList","parameters":[],"src":"23646:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14856,"nodeType":"FunctionDefinition","src":"23755:181:14","nodes":[],"body":{"id":14855,"nodeType":"Block","src":"23830:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c6164647265737329","id":14847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23880:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829","typeString":"literal_string \"log(uint,string,bool,address)\""},"value":"log(uint,string,bool,address)"},{"id":14848,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14835,"src":"23913:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14849,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14837,"src":"23917:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14850,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14839,"src":"23921:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14851,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14841,"src":"23925:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829","typeString":"literal_string \"log(uint,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14845,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23856:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23856:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23856:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14844,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23840:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23840:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14854,"nodeType":"ExpressionStatement","src":"23840:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23764:3:14","parameters":{"id":14842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14835,"mutability":"mutable","name":"p0","nameLocation":"23773:2:14","nodeType":"VariableDeclaration","scope":14856,"src":"23768:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14834,"name":"uint","nodeType":"ElementaryTypeName","src":"23768:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14837,"mutability":"mutable","name":"p1","nameLocation":"23791:2:14","nodeType":"VariableDeclaration","scope":14856,"src":"23777:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14836,"name":"string","nodeType":"ElementaryTypeName","src":"23777:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14839,"mutability":"mutable","name":"p2","nameLocation":"23800:2:14","nodeType":"VariableDeclaration","scope":14856,"src":"23795:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14838,"name":"bool","nodeType":"ElementaryTypeName","src":"23795:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14841,"mutability":"mutable","name":"p3","nameLocation":"23812:2:14","nodeType":"VariableDeclaration","scope":14856,"src":"23804:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14840,"name":"address","nodeType":"ElementaryTypeName","src":"23804:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23767:48:14"},"returnParameters":{"id":14843,"nodeType":"ParameterList","parameters":[],"src":"23830:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14879,"nodeType":"FunctionDefinition","src":"23942:181:14","nodes":[],"body":{"id":14878,"nodeType":"Block","src":"24017:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c75696e7429","id":14870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24067:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43","typeString":"literal_string \"log(uint,string,address,uint)\""},"value":"log(uint,string,address,uint)"},{"id":14871,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14858,"src":"24100:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14872,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14860,"src":"24104:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14873,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14862,"src":"24108:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14874,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14864,"src":"24112:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43","typeString":"literal_string \"log(uint,string,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14868,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24043:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24043:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24043:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14867,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24027:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24027:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14877,"nodeType":"ExpressionStatement","src":"24027:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23951:3:14","parameters":{"id":14865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14858,"mutability":"mutable","name":"p0","nameLocation":"23960:2:14","nodeType":"VariableDeclaration","scope":14879,"src":"23955:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14857,"name":"uint","nodeType":"ElementaryTypeName","src":"23955:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14860,"mutability":"mutable","name":"p1","nameLocation":"23978:2:14","nodeType":"VariableDeclaration","scope":14879,"src":"23964:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14859,"name":"string","nodeType":"ElementaryTypeName","src":"23964:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14862,"mutability":"mutable","name":"p2","nameLocation":"23990:2:14","nodeType":"VariableDeclaration","scope":14879,"src":"23982:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14861,"name":"address","nodeType":"ElementaryTypeName","src":"23982:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14864,"mutability":"mutable","name":"p3","nameLocation":"23999:2:14","nodeType":"VariableDeclaration","scope":14879,"src":"23994:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14863,"name":"uint","nodeType":"ElementaryTypeName","src":"23994:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23954:48:14"},"returnParameters":{"id":14866,"nodeType":"ParameterList","parameters":[],"src":"24017:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14902,"nodeType":"FunctionDefinition","src":"24129:192:14","nodes":[],"body":{"id":14901,"nodeType":"Block","src":"24213:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c737472696e6729","id":14893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24263:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2","typeString":"literal_string \"log(uint,string,address,string)\""},"value":"log(uint,string,address,string)"},{"id":14894,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14881,"src":"24298:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14895,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14883,"src":"24302:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14896,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14885,"src":"24306:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14897,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14887,"src":"24310:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2","typeString":"literal_string \"log(uint,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14891,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24239:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24239:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24239:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14890,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24223:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24223:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14900,"nodeType":"ExpressionStatement","src":"24223:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24138:3:14","parameters":{"id":14888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14881,"mutability":"mutable","name":"p0","nameLocation":"24147:2:14","nodeType":"VariableDeclaration","scope":14902,"src":"24142:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14880,"name":"uint","nodeType":"ElementaryTypeName","src":"24142:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14883,"mutability":"mutable","name":"p1","nameLocation":"24165:2:14","nodeType":"VariableDeclaration","scope":14902,"src":"24151:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14882,"name":"string","nodeType":"ElementaryTypeName","src":"24151:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14885,"mutability":"mutable","name":"p2","nameLocation":"24177:2:14","nodeType":"VariableDeclaration","scope":14902,"src":"24169:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14884,"name":"address","nodeType":"ElementaryTypeName","src":"24169:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14887,"mutability":"mutable","name":"p3","nameLocation":"24195:2:14","nodeType":"VariableDeclaration","scope":14902,"src":"24181:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14886,"name":"string","nodeType":"ElementaryTypeName","src":"24181:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24141:57:14"},"returnParameters":{"id":14889,"nodeType":"ParameterList","parameters":[],"src":"24213:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14925,"nodeType":"FunctionDefinition","src":"24327:181:14","nodes":[],"body":{"id":14924,"nodeType":"Block","src":"24402:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c626f6f6c29","id":14916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24452:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1","typeString":"literal_string \"log(uint,string,address,bool)\""},"value":"log(uint,string,address,bool)"},{"id":14917,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14904,"src":"24485:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14918,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14906,"src":"24489:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14919,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14908,"src":"24493:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14920,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14910,"src":"24497:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1","typeString":"literal_string \"log(uint,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14914,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24428:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24428:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24428:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14913,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24412:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24412:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14923,"nodeType":"ExpressionStatement","src":"24412:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24336:3:14","parameters":{"id":14911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14904,"mutability":"mutable","name":"p0","nameLocation":"24345:2:14","nodeType":"VariableDeclaration","scope":14925,"src":"24340:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14903,"name":"uint","nodeType":"ElementaryTypeName","src":"24340:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14906,"mutability":"mutable","name":"p1","nameLocation":"24363:2:14","nodeType":"VariableDeclaration","scope":14925,"src":"24349:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14905,"name":"string","nodeType":"ElementaryTypeName","src":"24349:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14908,"mutability":"mutable","name":"p2","nameLocation":"24375:2:14","nodeType":"VariableDeclaration","scope":14925,"src":"24367:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14907,"name":"address","nodeType":"ElementaryTypeName","src":"24367:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14910,"mutability":"mutable","name":"p3","nameLocation":"24384:2:14","nodeType":"VariableDeclaration","scope":14925,"src":"24379:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14909,"name":"bool","nodeType":"ElementaryTypeName","src":"24379:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24339:48:14"},"returnParameters":{"id":14912,"nodeType":"ParameterList","parameters":[],"src":"24402:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14948,"nodeType":"FunctionDefinition","src":"24514:187:14","nodes":[],"body":{"id":14947,"nodeType":"Block","src":"24592:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c6164647265737329","id":14939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24642:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb","typeString":"literal_string \"log(uint,string,address,address)\""},"value":"log(uint,string,address,address)"},{"id":14940,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14927,"src":"24678:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14941,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14929,"src":"24682:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14942,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14931,"src":"24686:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14943,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14933,"src":"24690:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb","typeString":"literal_string \"log(uint,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14937,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24618:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24618:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24618:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14936,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24602:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24602:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14946,"nodeType":"ExpressionStatement","src":"24602:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24523:3:14","parameters":{"id":14934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14927,"mutability":"mutable","name":"p0","nameLocation":"24532:2:14","nodeType":"VariableDeclaration","scope":14948,"src":"24527:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14926,"name":"uint","nodeType":"ElementaryTypeName","src":"24527:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14929,"mutability":"mutable","name":"p1","nameLocation":"24550:2:14","nodeType":"VariableDeclaration","scope":14948,"src":"24536:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14928,"name":"string","nodeType":"ElementaryTypeName","src":"24536:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14931,"mutability":"mutable","name":"p2","nameLocation":"24562:2:14","nodeType":"VariableDeclaration","scope":14948,"src":"24554:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14930,"name":"address","nodeType":"ElementaryTypeName","src":"24554:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14933,"mutability":"mutable","name":"p3","nameLocation":"24574:2:14","nodeType":"VariableDeclaration","scope":14948,"src":"24566:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14932,"name":"address","nodeType":"ElementaryTypeName","src":"24566:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24526:51:14"},"returnParameters":{"id":14935,"nodeType":"ParameterList","parameters":[],"src":"24592:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14971,"nodeType":"FunctionDefinition","src":"24707:164:14","nodes":[],"body":{"id":14970,"nodeType":"Block","src":"24770:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c75696e7429","id":14962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24820:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e","typeString":"literal_string \"log(uint,bool,uint,uint)\""},"value":"log(uint,bool,uint,uint)"},{"id":14963,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14950,"src":"24848:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14964,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14952,"src":"24852:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14965,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14954,"src":"24856:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14966,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14956,"src":"24860:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e","typeString":"literal_string \"log(uint,bool,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14960,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24796:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24796:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24796:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14959,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24780:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24780:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14969,"nodeType":"ExpressionStatement","src":"24780:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24716:3:14","parameters":{"id":14957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14950,"mutability":"mutable","name":"p0","nameLocation":"24725:2:14","nodeType":"VariableDeclaration","scope":14971,"src":"24720:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14949,"name":"uint","nodeType":"ElementaryTypeName","src":"24720:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14952,"mutability":"mutable","name":"p1","nameLocation":"24734:2:14","nodeType":"VariableDeclaration","scope":14971,"src":"24729:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14951,"name":"bool","nodeType":"ElementaryTypeName","src":"24729:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14954,"mutability":"mutable","name":"p2","nameLocation":"24743:2:14","nodeType":"VariableDeclaration","scope":14971,"src":"24738:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14953,"name":"uint","nodeType":"ElementaryTypeName","src":"24738:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14956,"mutability":"mutable","name":"p3","nameLocation":"24752:2:14","nodeType":"VariableDeclaration","scope":14971,"src":"24747:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14955,"name":"uint","nodeType":"ElementaryTypeName","src":"24747:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24719:36:14"},"returnParameters":{"id":14958,"nodeType":"ParameterList","parameters":[],"src":"24770:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14994,"nodeType":"FunctionDefinition","src":"24877:175:14","nodes":[],"body":{"id":14993,"nodeType":"Block","src":"24949:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c737472696e6729","id":14985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24999:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63","typeString":"literal_string \"log(uint,bool,uint,string)\""},"value":"log(uint,bool,uint,string)"},{"id":14986,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14973,"src":"25029:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14987,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14975,"src":"25033:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14988,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14977,"src":"25037:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14989,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14979,"src":"25041:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63","typeString":"literal_string \"log(uint,bool,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14983,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24975:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24975:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24975:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14982,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24959:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24959:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14992,"nodeType":"ExpressionStatement","src":"24959:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24886:3:14","parameters":{"id":14980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14973,"mutability":"mutable","name":"p0","nameLocation":"24895:2:14","nodeType":"VariableDeclaration","scope":14994,"src":"24890:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14972,"name":"uint","nodeType":"ElementaryTypeName","src":"24890:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14975,"mutability":"mutable","name":"p1","nameLocation":"24904:2:14","nodeType":"VariableDeclaration","scope":14994,"src":"24899:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14974,"name":"bool","nodeType":"ElementaryTypeName","src":"24899:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14977,"mutability":"mutable","name":"p2","nameLocation":"24913:2:14","nodeType":"VariableDeclaration","scope":14994,"src":"24908:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14976,"name":"uint","nodeType":"ElementaryTypeName","src":"24908:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14979,"mutability":"mutable","name":"p3","nameLocation":"24931:2:14","nodeType":"VariableDeclaration","scope":14994,"src":"24917:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14978,"name":"string","nodeType":"ElementaryTypeName","src":"24917:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24889:45:14"},"returnParameters":{"id":14981,"nodeType":"ParameterList","parameters":[],"src":"24949:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15017,"nodeType":"FunctionDefinition","src":"25058:164:14","nodes":[],"body":{"id":15016,"nodeType":"Block","src":"25121:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c626f6f6c29","id":15008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25171:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f","typeString":"literal_string \"log(uint,bool,uint,bool)\""},"value":"log(uint,bool,uint,bool)"},{"id":15009,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14996,"src":"25199:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15010,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14998,"src":"25203:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15011,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15000,"src":"25207:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15012,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15002,"src":"25211:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f","typeString":"literal_string \"log(uint,bool,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15006,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25147:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25147:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25147:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15005,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25131:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25131:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15015,"nodeType":"ExpressionStatement","src":"25131:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25067:3:14","parameters":{"id":15003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14996,"mutability":"mutable","name":"p0","nameLocation":"25076:2:14","nodeType":"VariableDeclaration","scope":15017,"src":"25071:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14995,"name":"uint","nodeType":"ElementaryTypeName","src":"25071:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14998,"mutability":"mutable","name":"p1","nameLocation":"25085:2:14","nodeType":"VariableDeclaration","scope":15017,"src":"25080:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14997,"name":"bool","nodeType":"ElementaryTypeName","src":"25080:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15000,"mutability":"mutable","name":"p2","nameLocation":"25094:2:14","nodeType":"VariableDeclaration","scope":15017,"src":"25089:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14999,"name":"uint","nodeType":"ElementaryTypeName","src":"25089:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15002,"mutability":"mutable","name":"p3","nameLocation":"25103:2:14","nodeType":"VariableDeclaration","scope":15017,"src":"25098:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15001,"name":"bool","nodeType":"ElementaryTypeName","src":"25098:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25070:36:14"},"returnParameters":{"id":15004,"nodeType":"ParameterList","parameters":[],"src":"25121:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15040,"nodeType":"FunctionDefinition","src":"25228:170:14","nodes":[],"body":{"id":15039,"nodeType":"Block","src":"25294:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c6164647265737329","id":15031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25344:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3","typeString":"literal_string \"log(uint,bool,uint,address)\""},"value":"log(uint,bool,uint,address)"},{"id":15032,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15019,"src":"25375:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15033,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15021,"src":"25379:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15034,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15023,"src":"25383:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15035,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15025,"src":"25387:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3","typeString":"literal_string \"log(uint,bool,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15029,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25320:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25320:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25320:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15028,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25304:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25304:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15038,"nodeType":"ExpressionStatement","src":"25304:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25237:3:14","parameters":{"id":15026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15019,"mutability":"mutable","name":"p0","nameLocation":"25246:2:14","nodeType":"VariableDeclaration","scope":15040,"src":"25241:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15018,"name":"uint","nodeType":"ElementaryTypeName","src":"25241:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15021,"mutability":"mutable","name":"p1","nameLocation":"25255:2:14","nodeType":"VariableDeclaration","scope":15040,"src":"25250:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15020,"name":"bool","nodeType":"ElementaryTypeName","src":"25250:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15023,"mutability":"mutable","name":"p2","nameLocation":"25264:2:14","nodeType":"VariableDeclaration","scope":15040,"src":"25259:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15022,"name":"uint","nodeType":"ElementaryTypeName","src":"25259:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15025,"mutability":"mutable","name":"p3","nameLocation":"25276:2:14","nodeType":"VariableDeclaration","scope":15040,"src":"25268:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15024,"name":"address","nodeType":"ElementaryTypeName","src":"25268:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25240:39:14"},"returnParameters":{"id":15027,"nodeType":"ParameterList","parameters":[],"src":"25294:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15063,"nodeType":"FunctionDefinition","src":"25404:175:14","nodes":[],"body":{"id":15062,"nodeType":"Block","src":"25476:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c75696e7429","id":15054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25526:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012","typeString":"literal_string \"log(uint,bool,string,uint)\""},"value":"log(uint,bool,string,uint)"},{"id":15055,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15042,"src":"25556:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15056,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15044,"src":"25560:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15057,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15046,"src":"25564:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15058,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15048,"src":"25568:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012","typeString":"literal_string \"log(uint,bool,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15052,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25502:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25502:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25502:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15051,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25486:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25486:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15061,"nodeType":"ExpressionStatement","src":"25486:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25413:3:14","parameters":{"id":15049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15042,"mutability":"mutable","name":"p0","nameLocation":"25422:2:14","nodeType":"VariableDeclaration","scope":15063,"src":"25417:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15041,"name":"uint","nodeType":"ElementaryTypeName","src":"25417:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15044,"mutability":"mutable","name":"p1","nameLocation":"25431:2:14","nodeType":"VariableDeclaration","scope":15063,"src":"25426:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15043,"name":"bool","nodeType":"ElementaryTypeName","src":"25426:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15046,"mutability":"mutable","name":"p2","nameLocation":"25449:2:14","nodeType":"VariableDeclaration","scope":15063,"src":"25435:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15045,"name":"string","nodeType":"ElementaryTypeName","src":"25435:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15048,"mutability":"mutable","name":"p3","nameLocation":"25458:2:14","nodeType":"VariableDeclaration","scope":15063,"src":"25453:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15047,"name":"uint","nodeType":"ElementaryTypeName","src":"25453:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25416:45:14"},"returnParameters":{"id":15050,"nodeType":"ParameterList","parameters":[],"src":"25476:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15086,"nodeType":"FunctionDefinition","src":"25585:186:14","nodes":[],"body":{"id":15085,"nodeType":"Block","src":"25666:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c737472696e6729","id":15077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25716:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a","typeString":"literal_string \"log(uint,bool,string,string)\""},"value":"log(uint,bool,string,string)"},{"id":15078,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15065,"src":"25748:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15079,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15067,"src":"25752:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15080,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15069,"src":"25756:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15081,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15071,"src":"25760:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a","typeString":"literal_string \"log(uint,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15075,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25692:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25692:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25692:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15074,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25676:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25676:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15084,"nodeType":"ExpressionStatement","src":"25676:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25594:3:14","parameters":{"id":15072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15065,"mutability":"mutable","name":"p0","nameLocation":"25603:2:14","nodeType":"VariableDeclaration","scope":15086,"src":"25598:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15064,"name":"uint","nodeType":"ElementaryTypeName","src":"25598:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15067,"mutability":"mutable","name":"p1","nameLocation":"25612:2:14","nodeType":"VariableDeclaration","scope":15086,"src":"25607:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15066,"name":"bool","nodeType":"ElementaryTypeName","src":"25607:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15069,"mutability":"mutable","name":"p2","nameLocation":"25630:2:14","nodeType":"VariableDeclaration","scope":15086,"src":"25616:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15068,"name":"string","nodeType":"ElementaryTypeName","src":"25616:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15071,"mutability":"mutable","name":"p3","nameLocation":"25648:2:14","nodeType":"VariableDeclaration","scope":15086,"src":"25634:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15070,"name":"string","nodeType":"ElementaryTypeName","src":"25634:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25597:54:14"},"returnParameters":{"id":15073,"nodeType":"ParameterList","parameters":[],"src":"25666:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15109,"nodeType":"FunctionDefinition","src":"25777:175:14","nodes":[],"body":{"id":15108,"nodeType":"Block","src":"25849:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c626f6f6c29","id":15100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25899:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d","typeString":"literal_string \"log(uint,bool,string,bool)\""},"value":"log(uint,bool,string,bool)"},{"id":15101,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15088,"src":"25929:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15102,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15090,"src":"25933:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15103,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15092,"src":"25937:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15104,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15094,"src":"25941:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d","typeString":"literal_string \"log(uint,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25875:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25875:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25875:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25859:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25859:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15107,"nodeType":"ExpressionStatement","src":"25859:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25786:3:14","parameters":{"id":15095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15088,"mutability":"mutable","name":"p0","nameLocation":"25795:2:14","nodeType":"VariableDeclaration","scope":15109,"src":"25790:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15087,"name":"uint","nodeType":"ElementaryTypeName","src":"25790:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15090,"mutability":"mutable","name":"p1","nameLocation":"25804:2:14","nodeType":"VariableDeclaration","scope":15109,"src":"25799:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15089,"name":"bool","nodeType":"ElementaryTypeName","src":"25799:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15092,"mutability":"mutable","name":"p2","nameLocation":"25822:2:14","nodeType":"VariableDeclaration","scope":15109,"src":"25808:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15091,"name":"string","nodeType":"ElementaryTypeName","src":"25808:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15094,"mutability":"mutable","name":"p3","nameLocation":"25831:2:14","nodeType":"VariableDeclaration","scope":15109,"src":"25826:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15093,"name":"bool","nodeType":"ElementaryTypeName","src":"25826:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25789:45:14"},"returnParameters":{"id":15096,"nodeType":"ParameterList","parameters":[],"src":"25849:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15132,"nodeType":"FunctionDefinition","src":"25958:181:14","nodes":[],"body":{"id":15131,"nodeType":"Block","src":"26033:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c6164647265737329","id":15123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26083:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d","typeString":"literal_string \"log(uint,bool,string,address)\""},"value":"log(uint,bool,string,address)"},{"id":15124,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15111,"src":"26116:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15125,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15113,"src":"26120:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15126,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15115,"src":"26124:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15127,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15117,"src":"26128:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d","typeString":"literal_string \"log(uint,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15121,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26059:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26059:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26059:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15120,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26043:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26043:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15130,"nodeType":"ExpressionStatement","src":"26043:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25967:3:14","parameters":{"id":15118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15111,"mutability":"mutable","name":"p0","nameLocation":"25976:2:14","nodeType":"VariableDeclaration","scope":15132,"src":"25971:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15110,"name":"uint","nodeType":"ElementaryTypeName","src":"25971:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15113,"mutability":"mutable","name":"p1","nameLocation":"25985:2:14","nodeType":"VariableDeclaration","scope":15132,"src":"25980:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15112,"name":"bool","nodeType":"ElementaryTypeName","src":"25980:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15115,"mutability":"mutable","name":"p2","nameLocation":"26003:2:14","nodeType":"VariableDeclaration","scope":15132,"src":"25989:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15114,"name":"string","nodeType":"ElementaryTypeName","src":"25989:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15117,"mutability":"mutable","name":"p3","nameLocation":"26015:2:14","nodeType":"VariableDeclaration","scope":15132,"src":"26007:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15116,"name":"address","nodeType":"ElementaryTypeName","src":"26007:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25970:48:14"},"returnParameters":{"id":15119,"nodeType":"ParameterList","parameters":[],"src":"26033:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15155,"nodeType":"FunctionDefinition","src":"26145:164:14","nodes":[],"body":{"id":15154,"nodeType":"Block","src":"26208:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c75696e7429","id":15146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26258:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed","typeString":"literal_string \"log(uint,bool,bool,uint)\""},"value":"log(uint,bool,bool,uint)"},{"id":15147,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15134,"src":"26286:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15148,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15136,"src":"26290:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15149,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15138,"src":"26294:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15150,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15140,"src":"26298:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed","typeString":"literal_string \"log(uint,bool,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15144,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26234:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26234:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26234:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15143,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26218:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26218:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15153,"nodeType":"ExpressionStatement","src":"26218:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26154:3:14","parameters":{"id":15141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15134,"mutability":"mutable","name":"p0","nameLocation":"26163:2:14","nodeType":"VariableDeclaration","scope":15155,"src":"26158:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15133,"name":"uint","nodeType":"ElementaryTypeName","src":"26158:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15136,"mutability":"mutable","name":"p1","nameLocation":"26172:2:14","nodeType":"VariableDeclaration","scope":15155,"src":"26167:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15135,"name":"bool","nodeType":"ElementaryTypeName","src":"26167:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15138,"mutability":"mutable","name":"p2","nameLocation":"26181:2:14","nodeType":"VariableDeclaration","scope":15155,"src":"26176:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15137,"name":"bool","nodeType":"ElementaryTypeName","src":"26176:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15140,"mutability":"mutable","name":"p3","nameLocation":"26190:2:14","nodeType":"VariableDeclaration","scope":15155,"src":"26185:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15139,"name":"uint","nodeType":"ElementaryTypeName","src":"26185:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26157:36:14"},"returnParameters":{"id":15142,"nodeType":"ParameterList","parameters":[],"src":"26208:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15178,"nodeType":"FunctionDefinition","src":"26315:175:14","nodes":[],"body":{"id":15177,"nodeType":"Block","src":"26387:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c737472696e6729","id":15169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26437:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861","typeString":"literal_string \"log(uint,bool,bool,string)\""},"value":"log(uint,bool,bool,string)"},{"id":15170,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15157,"src":"26467:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15171,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15159,"src":"26471:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15172,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15161,"src":"26475:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15173,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15163,"src":"26479:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861","typeString":"literal_string \"log(uint,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26413:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26413:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26413:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15166,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26397:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26397:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15176,"nodeType":"ExpressionStatement","src":"26397:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26324:3:14","parameters":{"id":15164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15157,"mutability":"mutable","name":"p0","nameLocation":"26333:2:14","nodeType":"VariableDeclaration","scope":15178,"src":"26328:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15156,"name":"uint","nodeType":"ElementaryTypeName","src":"26328:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15159,"mutability":"mutable","name":"p1","nameLocation":"26342:2:14","nodeType":"VariableDeclaration","scope":15178,"src":"26337:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15158,"name":"bool","nodeType":"ElementaryTypeName","src":"26337:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15161,"mutability":"mutable","name":"p2","nameLocation":"26351:2:14","nodeType":"VariableDeclaration","scope":15178,"src":"26346:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15160,"name":"bool","nodeType":"ElementaryTypeName","src":"26346:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15163,"mutability":"mutable","name":"p3","nameLocation":"26369:2:14","nodeType":"VariableDeclaration","scope":15178,"src":"26355:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15162,"name":"string","nodeType":"ElementaryTypeName","src":"26355:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26327:45:14"},"returnParameters":{"id":15165,"nodeType":"ParameterList","parameters":[],"src":"26387:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15201,"nodeType":"FunctionDefinition","src":"26496:164:14","nodes":[],"body":{"id":15200,"nodeType":"Block","src":"26559:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c626f6f6c29","id":15192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26609:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32","typeString":"literal_string \"log(uint,bool,bool,bool)\""},"value":"log(uint,bool,bool,bool)"},{"id":15193,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15180,"src":"26637:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15194,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15182,"src":"26641:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15195,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15184,"src":"26645:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15196,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15186,"src":"26649:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32","typeString":"literal_string \"log(uint,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15190,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26585:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26585:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26585:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15189,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26569:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26569:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15199,"nodeType":"ExpressionStatement","src":"26569:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26505:3:14","parameters":{"id":15187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15180,"mutability":"mutable","name":"p0","nameLocation":"26514:2:14","nodeType":"VariableDeclaration","scope":15201,"src":"26509:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15179,"name":"uint","nodeType":"ElementaryTypeName","src":"26509:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15182,"mutability":"mutable","name":"p1","nameLocation":"26523:2:14","nodeType":"VariableDeclaration","scope":15201,"src":"26518:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15181,"name":"bool","nodeType":"ElementaryTypeName","src":"26518:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15184,"mutability":"mutable","name":"p2","nameLocation":"26532:2:14","nodeType":"VariableDeclaration","scope":15201,"src":"26527:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15183,"name":"bool","nodeType":"ElementaryTypeName","src":"26527:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15186,"mutability":"mutable","name":"p3","nameLocation":"26541:2:14","nodeType":"VariableDeclaration","scope":15201,"src":"26536:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15185,"name":"bool","nodeType":"ElementaryTypeName","src":"26536:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26508:36:14"},"returnParameters":{"id":15188,"nodeType":"ParameterList","parameters":[],"src":"26559:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15224,"nodeType":"FunctionDefinition","src":"26666:170:14","nodes":[],"body":{"id":15223,"nodeType":"Block","src":"26732:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c6164647265737329","id":15215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26782:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b","typeString":"literal_string \"log(uint,bool,bool,address)\""},"value":"log(uint,bool,bool,address)"},{"id":15216,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15203,"src":"26813:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15217,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15205,"src":"26817:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15218,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15207,"src":"26821:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15219,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15209,"src":"26825:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b","typeString":"literal_string \"log(uint,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15213,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26758:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26758:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26758:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15212,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26742:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26742:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15222,"nodeType":"ExpressionStatement","src":"26742:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26675:3:14","parameters":{"id":15210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15203,"mutability":"mutable","name":"p0","nameLocation":"26684:2:14","nodeType":"VariableDeclaration","scope":15224,"src":"26679:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15202,"name":"uint","nodeType":"ElementaryTypeName","src":"26679:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15205,"mutability":"mutable","name":"p1","nameLocation":"26693:2:14","nodeType":"VariableDeclaration","scope":15224,"src":"26688:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15204,"name":"bool","nodeType":"ElementaryTypeName","src":"26688:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15207,"mutability":"mutable","name":"p2","nameLocation":"26702:2:14","nodeType":"VariableDeclaration","scope":15224,"src":"26697:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15206,"name":"bool","nodeType":"ElementaryTypeName","src":"26697:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15209,"mutability":"mutable","name":"p3","nameLocation":"26714:2:14","nodeType":"VariableDeclaration","scope":15224,"src":"26706:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15208,"name":"address","nodeType":"ElementaryTypeName","src":"26706:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26678:39:14"},"returnParameters":{"id":15211,"nodeType":"ParameterList","parameters":[],"src":"26732:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15247,"nodeType":"FunctionDefinition","src":"26842:170:14","nodes":[],"body":{"id":15246,"nodeType":"Block","src":"26908:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c75696e7429","id":15238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26958:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1","typeString":"literal_string \"log(uint,bool,address,uint)\""},"value":"log(uint,bool,address,uint)"},{"id":15239,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15226,"src":"26989:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15240,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15228,"src":"26993:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15241,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15230,"src":"26997:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15242,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15232,"src":"27001:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1","typeString":"literal_string \"log(uint,bool,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26934:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26934:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26934:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26918:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26918:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15245,"nodeType":"ExpressionStatement","src":"26918:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26851:3:14","parameters":{"id":15233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15226,"mutability":"mutable","name":"p0","nameLocation":"26860:2:14","nodeType":"VariableDeclaration","scope":15247,"src":"26855:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15225,"name":"uint","nodeType":"ElementaryTypeName","src":"26855:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15228,"mutability":"mutable","name":"p1","nameLocation":"26869:2:14","nodeType":"VariableDeclaration","scope":15247,"src":"26864:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15227,"name":"bool","nodeType":"ElementaryTypeName","src":"26864:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15230,"mutability":"mutable","name":"p2","nameLocation":"26881:2:14","nodeType":"VariableDeclaration","scope":15247,"src":"26873:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15229,"name":"address","nodeType":"ElementaryTypeName","src":"26873:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15232,"mutability":"mutable","name":"p3","nameLocation":"26890:2:14","nodeType":"VariableDeclaration","scope":15247,"src":"26885:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15231,"name":"uint","nodeType":"ElementaryTypeName","src":"26885:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26854:39:14"},"returnParameters":{"id":15234,"nodeType":"ParameterList","parameters":[],"src":"26908:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15270,"nodeType":"FunctionDefinition","src":"27018:181:14","nodes":[],"body":{"id":15269,"nodeType":"Block","src":"27093:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c737472696e6729","id":15261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27143:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c","typeString":"literal_string \"log(uint,bool,address,string)\""},"value":"log(uint,bool,address,string)"},{"id":15262,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15249,"src":"27176:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15263,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15251,"src":"27180:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15264,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15253,"src":"27184:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15265,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15255,"src":"27188:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c","typeString":"literal_string \"log(uint,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15259,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27119:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27119:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27119:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15258,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27103:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27103:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15268,"nodeType":"ExpressionStatement","src":"27103:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27027:3:14","parameters":{"id":15256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15249,"mutability":"mutable","name":"p0","nameLocation":"27036:2:14","nodeType":"VariableDeclaration","scope":15270,"src":"27031:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15248,"name":"uint","nodeType":"ElementaryTypeName","src":"27031:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15251,"mutability":"mutable","name":"p1","nameLocation":"27045:2:14","nodeType":"VariableDeclaration","scope":15270,"src":"27040:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15250,"name":"bool","nodeType":"ElementaryTypeName","src":"27040:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15253,"mutability":"mutable","name":"p2","nameLocation":"27057:2:14","nodeType":"VariableDeclaration","scope":15270,"src":"27049:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15252,"name":"address","nodeType":"ElementaryTypeName","src":"27049:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15255,"mutability":"mutable","name":"p3","nameLocation":"27075:2:14","nodeType":"VariableDeclaration","scope":15270,"src":"27061:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15254,"name":"string","nodeType":"ElementaryTypeName","src":"27061:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27030:48:14"},"returnParameters":{"id":15257,"nodeType":"ParameterList","parameters":[],"src":"27093:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15293,"nodeType":"FunctionDefinition","src":"27205:170:14","nodes":[],"body":{"id":15292,"nodeType":"Block","src":"27271:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c626f6f6c29","id":15284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27321:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445","typeString":"literal_string \"log(uint,bool,address,bool)\""},"value":"log(uint,bool,address,bool)"},{"id":15285,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15272,"src":"27352:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15286,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15274,"src":"27356:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15287,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15276,"src":"27360:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15288,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15278,"src":"27364:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445","typeString":"literal_string \"log(uint,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15282,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27297:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27297:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27297:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15281,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27281:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27281:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15291,"nodeType":"ExpressionStatement","src":"27281:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27214:3:14","parameters":{"id":15279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15272,"mutability":"mutable","name":"p0","nameLocation":"27223:2:14","nodeType":"VariableDeclaration","scope":15293,"src":"27218:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15271,"name":"uint","nodeType":"ElementaryTypeName","src":"27218:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15274,"mutability":"mutable","name":"p1","nameLocation":"27232:2:14","nodeType":"VariableDeclaration","scope":15293,"src":"27227:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15273,"name":"bool","nodeType":"ElementaryTypeName","src":"27227:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15276,"mutability":"mutable","name":"p2","nameLocation":"27244:2:14","nodeType":"VariableDeclaration","scope":15293,"src":"27236:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15275,"name":"address","nodeType":"ElementaryTypeName","src":"27236:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15278,"mutability":"mutable","name":"p3","nameLocation":"27253:2:14","nodeType":"VariableDeclaration","scope":15293,"src":"27248:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15277,"name":"bool","nodeType":"ElementaryTypeName","src":"27248:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27217:39:14"},"returnParameters":{"id":15280,"nodeType":"ParameterList","parameters":[],"src":"27271:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15316,"nodeType":"FunctionDefinition","src":"27381:176:14","nodes":[],"body":{"id":15315,"nodeType":"Block","src":"27450:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c6164647265737329","id":15307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27500:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2","typeString":"literal_string \"log(uint,bool,address,address)\""},"value":"log(uint,bool,address,address)"},{"id":15308,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15295,"src":"27534:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15309,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15297,"src":"27538:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15310,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15299,"src":"27542:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15311,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15301,"src":"27546:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2","typeString":"literal_string \"log(uint,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15305,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27476:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27476:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27476:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15304,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27460:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27460:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15314,"nodeType":"ExpressionStatement","src":"27460:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27390:3:14","parameters":{"id":15302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15295,"mutability":"mutable","name":"p0","nameLocation":"27399:2:14","nodeType":"VariableDeclaration","scope":15316,"src":"27394:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15294,"name":"uint","nodeType":"ElementaryTypeName","src":"27394:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15297,"mutability":"mutable","name":"p1","nameLocation":"27408:2:14","nodeType":"VariableDeclaration","scope":15316,"src":"27403:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15296,"name":"bool","nodeType":"ElementaryTypeName","src":"27403:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15299,"mutability":"mutable","name":"p2","nameLocation":"27420:2:14","nodeType":"VariableDeclaration","scope":15316,"src":"27412:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15298,"name":"address","nodeType":"ElementaryTypeName","src":"27412:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15301,"mutability":"mutable","name":"p3","nameLocation":"27432:2:14","nodeType":"VariableDeclaration","scope":15316,"src":"27424:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15300,"name":"address","nodeType":"ElementaryTypeName","src":"27424:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27393:42:14"},"returnParameters":{"id":15303,"nodeType":"ParameterList","parameters":[],"src":"27450:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15339,"nodeType":"FunctionDefinition","src":"27563:170:14","nodes":[],"body":{"id":15338,"nodeType":"Block","src":"27629:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c75696e7429","id":15330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27679:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412","typeString":"literal_string \"log(uint,address,uint,uint)\""},"value":"log(uint,address,uint,uint)"},{"id":15331,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15318,"src":"27710:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15332,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15320,"src":"27714:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15333,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15322,"src":"27718:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15334,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15324,"src":"27722:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412","typeString":"literal_string \"log(uint,address,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15328,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27655:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27655:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27655:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15327,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27639:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27639:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15337,"nodeType":"ExpressionStatement","src":"27639:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27572:3:14","parameters":{"id":15325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15318,"mutability":"mutable","name":"p0","nameLocation":"27581:2:14","nodeType":"VariableDeclaration","scope":15339,"src":"27576:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15317,"name":"uint","nodeType":"ElementaryTypeName","src":"27576:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15320,"mutability":"mutable","name":"p1","nameLocation":"27593:2:14","nodeType":"VariableDeclaration","scope":15339,"src":"27585:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15319,"name":"address","nodeType":"ElementaryTypeName","src":"27585:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15322,"mutability":"mutable","name":"p2","nameLocation":"27602:2:14","nodeType":"VariableDeclaration","scope":15339,"src":"27597:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15321,"name":"uint","nodeType":"ElementaryTypeName","src":"27597:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15324,"mutability":"mutable","name":"p3","nameLocation":"27611:2:14","nodeType":"VariableDeclaration","scope":15339,"src":"27606:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15323,"name":"uint","nodeType":"ElementaryTypeName","src":"27606:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27575:39:14"},"returnParameters":{"id":15326,"nodeType":"ParameterList","parameters":[],"src":"27629:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15362,"nodeType":"FunctionDefinition","src":"27739:181:14","nodes":[],"body":{"id":15361,"nodeType":"Block","src":"27814:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c737472696e6729","id":15353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27864:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b","typeString":"literal_string \"log(uint,address,uint,string)\""},"value":"log(uint,address,uint,string)"},{"id":15354,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15341,"src":"27897:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15355,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15343,"src":"27901:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15356,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15345,"src":"27905:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15357,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15347,"src":"27909:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b","typeString":"literal_string \"log(uint,address,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15351,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27840:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27840:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27840:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15350,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27824:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27824:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15360,"nodeType":"ExpressionStatement","src":"27824:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27748:3:14","parameters":{"id":15348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15341,"mutability":"mutable","name":"p0","nameLocation":"27757:2:14","nodeType":"VariableDeclaration","scope":15362,"src":"27752:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15340,"name":"uint","nodeType":"ElementaryTypeName","src":"27752:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15343,"mutability":"mutable","name":"p1","nameLocation":"27769:2:14","nodeType":"VariableDeclaration","scope":15362,"src":"27761:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15342,"name":"address","nodeType":"ElementaryTypeName","src":"27761:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15345,"mutability":"mutable","name":"p2","nameLocation":"27778:2:14","nodeType":"VariableDeclaration","scope":15362,"src":"27773:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15344,"name":"uint","nodeType":"ElementaryTypeName","src":"27773:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15347,"mutability":"mutable","name":"p3","nameLocation":"27796:2:14","nodeType":"VariableDeclaration","scope":15362,"src":"27782:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15346,"name":"string","nodeType":"ElementaryTypeName","src":"27782:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27751:48:14"},"returnParameters":{"id":15349,"nodeType":"ParameterList","parameters":[],"src":"27814:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15385,"nodeType":"FunctionDefinition","src":"27926:170:14","nodes":[],"body":{"id":15384,"nodeType":"Block","src":"27992:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c626f6f6c29","id":15376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28042:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8","typeString":"literal_string \"log(uint,address,uint,bool)\""},"value":"log(uint,address,uint,bool)"},{"id":15377,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15364,"src":"28073:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15378,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15366,"src":"28077:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15379,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15368,"src":"28081:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15380,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15370,"src":"28085:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8","typeString":"literal_string \"log(uint,address,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15374,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28018:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28018:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28018:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15373,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28002:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28002:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15383,"nodeType":"ExpressionStatement","src":"28002:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27935:3:14","parameters":{"id":15371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15364,"mutability":"mutable","name":"p0","nameLocation":"27944:2:14","nodeType":"VariableDeclaration","scope":15385,"src":"27939:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15363,"name":"uint","nodeType":"ElementaryTypeName","src":"27939:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15366,"mutability":"mutable","name":"p1","nameLocation":"27956:2:14","nodeType":"VariableDeclaration","scope":15385,"src":"27948:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15365,"name":"address","nodeType":"ElementaryTypeName","src":"27948:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15368,"mutability":"mutable","name":"p2","nameLocation":"27965:2:14","nodeType":"VariableDeclaration","scope":15385,"src":"27960:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15367,"name":"uint","nodeType":"ElementaryTypeName","src":"27960:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15370,"mutability":"mutable","name":"p3","nameLocation":"27974:2:14","nodeType":"VariableDeclaration","scope":15385,"src":"27969:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15369,"name":"bool","nodeType":"ElementaryTypeName","src":"27969:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27938:39:14"},"returnParameters":{"id":15372,"nodeType":"ParameterList","parameters":[],"src":"27992:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15408,"nodeType":"FunctionDefinition","src":"28102:176:14","nodes":[],"body":{"id":15407,"nodeType":"Block","src":"28171:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c6164647265737329","id":15399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28221:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3","typeString":"literal_string \"log(uint,address,uint,address)\""},"value":"log(uint,address,uint,address)"},{"id":15400,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15387,"src":"28255:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15401,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15389,"src":"28259:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15402,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15391,"src":"28263:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15403,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15393,"src":"28267:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3","typeString":"literal_string \"log(uint,address,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15397,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28197:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28197:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28197:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15396,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28181:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28181:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15406,"nodeType":"ExpressionStatement","src":"28181:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28111:3:14","parameters":{"id":15394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15387,"mutability":"mutable","name":"p0","nameLocation":"28120:2:14","nodeType":"VariableDeclaration","scope":15408,"src":"28115:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15386,"name":"uint","nodeType":"ElementaryTypeName","src":"28115:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15389,"mutability":"mutable","name":"p1","nameLocation":"28132:2:14","nodeType":"VariableDeclaration","scope":15408,"src":"28124:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15388,"name":"address","nodeType":"ElementaryTypeName","src":"28124:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15391,"mutability":"mutable","name":"p2","nameLocation":"28141:2:14","nodeType":"VariableDeclaration","scope":15408,"src":"28136:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15390,"name":"uint","nodeType":"ElementaryTypeName","src":"28136:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15393,"mutability":"mutable","name":"p3","nameLocation":"28153:2:14","nodeType":"VariableDeclaration","scope":15408,"src":"28145:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15392,"name":"address","nodeType":"ElementaryTypeName","src":"28145:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28114:42:14"},"returnParameters":{"id":15395,"nodeType":"ParameterList","parameters":[],"src":"28171:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15431,"nodeType":"FunctionDefinition","src":"28284:181:14","nodes":[],"body":{"id":15430,"nodeType":"Block","src":"28359:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c75696e7429","id":15422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28409:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb","typeString":"literal_string \"log(uint,address,string,uint)\""},"value":"log(uint,address,string,uint)"},{"id":15423,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15410,"src":"28442:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15424,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15412,"src":"28446:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15425,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15414,"src":"28450:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15426,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15416,"src":"28454:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb","typeString":"literal_string \"log(uint,address,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15420,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28385:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28385:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28385:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15419,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28369:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28369:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15429,"nodeType":"ExpressionStatement","src":"28369:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28293:3:14","parameters":{"id":15417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15410,"mutability":"mutable","name":"p0","nameLocation":"28302:2:14","nodeType":"VariableDeclaration","scope":15431,"src":"28297:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15409,"name":"uint","nodeType":"ElementaryTypeName","src":"28297:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15412,"mutability":"mutable","name":"p1","nameLocation":"28314:2:14","nodeType":"VariableDeclaration","scope":15431,"src":"28306:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15411,"name":"address","nodeType":"ElementaryTypeName","src":"28306:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15414,"mutability":"mutable","name":"p2","nameLocation":"28332:2:14","nodeType":"VariableDeclaration","scope":15431,"src":"28318:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15413,"name":"string","nodeType":"ElementaryTypeName","src":"28318:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15416,"mutability":"mutable","name":"p3","nameLocation":"28341:2:14","nodeType":"VariableDeclaration","scope":15431,"src":"28336:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15415,"name":"uint","nodeType":"ElementaryTypeName","src":"28336:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28296:48:14"},"returnParameters":{"id":15418,"nodeType":"ParameterList","parameters":[],"src":"28359:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15454,"nodeType":"FunctionDefinition","src":"28471:192:14","nodes":[],"body":{"id":15453,"nodeType":"Block","src":"28555:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c737472696e6729","id":15445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28605:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1","typeString":"literal_string \"log(uint,address,string,string)\""},"value":"log(uint,address,string,string)"},{"id":15446,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15433,"src":"28640:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15447,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15435,"src":"28644:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15448,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15437,"src":"28648:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15449,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15439,"src":"28652:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1","typeString":"literal_string \"log(uint,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15443,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28581:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28581:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28581:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15442,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28565:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28565:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15452,"nodeType":"ExpressionStatement","src":"28565:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28480:3:14","parameters":{"id":15440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15433,"mutability":"mutable","name":"p0","nameLocation":"28489:2:14","nodeType":"VariableDeclaration","scope":15454,"src":"28484:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15432,"name":"uint","nodeType":"ElementaryTypeName","src":"28484:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15435,"mutability":"mutable","name":"p1","nameLocation":"28501:2:14","nodeType":"VariableDeclaration","scope":15454,"src":"28493:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15434,"name":"address","nodeType":"ElementaryTypeName","src":"28493:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15437,"mutability":"mutable","name":"p2","nameLocation":"28519:2:14","nodeType":"VariableDeclaration","scope":15454,"src":"28505:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15436,"name":"string","nodeType":"ElementaryTypeName","src":"28505:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15439,"mutability":"mutable","name":"p3","nameLocation":"28537:2:14","nodeType":"VariableDeclaration","scope":15454,"src":"28523:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15438,"name":"string","nodeType":"ElementaryTypeName","src":"28523:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28483:57:14"},"returnParameters":{"id":15441,"nodeType":"ParameterList","parameters":[],"src":"28555:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15477,"nodeType":"FunctionDefinition","src":"28669:181:14","nodes":[],"body":{"id":15476,"nodeType":"Block","src":"28744:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c626f6f6c29","id":15468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28794:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf","typeString":"literal_string \"log(uint,address,string,bool)\""},"value":"log(uint,address,string,bool)"},{"id":15469,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15456,"src":"28827:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15470,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15458,"src":"28831:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15471,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15460,"src":"28835:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15472,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15462,"src":"28839:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf","typeString":"literal_string \"log(uint,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15466,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28770:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28770:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28770:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15465,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28754:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28754:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15475,"nodeType":"ExpressionStatement","src":"28754:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28678:3:14","parameters":{"id":15463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15456,"mutability":"mutable","name":"p0","nameLocation":"28687:2:14","nodeType":"VariableDeclaration","scope":15477,"src":"28682:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15455,"name":"uint","nodeType":"ElementaryTypeName","src":"28682:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15458,"mutability":"mutable","name":"p1","nameLocation":"28699:2:14","nodeType":"VariableDeclaration","scope":15477,"src":"28691:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15457,"name":"address","nodeType":"ElementaryTypeName","src":"28691:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15460,"mutability":"mutable","name":"p2","nameLocation":"28717:2:14","nodeType":"VariableDeclaration","scope":15477,"src":"28703:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15459,"name":"string","nodeType":"ElementaryTypeName","src":"28703:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15462,"mutability":"mutable","name":"p3","nameLocation":"28726:2:14","nodeType":"VariableDeclaration","scope":15477,"src":"28721:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15461,"name":"bool","nodeType":"ElementaryTypeName","src":"28721:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28681:48:14"},"returnParameters":{"id":15464,"nodeType":"ParameterList","parameters":[],"src":"28744:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15500,"nodeType":"FunctionDefinition","src":"28856:187:14","nodes":[],"body":{"id":15499,"nodeType":"Block","src":"28934:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c6164647265737329","id":15491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28984:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f","typeString":"literal_string \"log(uint,address,string,address)\""},"value":"log(uint,address,string,address)"},{"id":15492,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15479,"src":"29020:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15493,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15481,"src":"29024:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15494,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15483,"src":"29028:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15495,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15485,"src":"29032:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f","typeString":"literal_string \"log(uint,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28960:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28960:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28960:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15488,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28944:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28944:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15498,"nodeType":"ExpressionStatement","src":"28944:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28865:3:14","parameters":{"id":15486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15479,"mutability":"mutable","name":"p0","nameLocation":"28874:2:14","nodeType":"VariableDeclaration","scope":15500,"src":"28869:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15478,"name":"uint","nodeType":"ElementaryTypeName","src":"28869:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15481,"mutability":"mutable","name":"p1","nameLocation":"28886:2:14","nodeType":"VariableDeclaration","scope":15500,"src":"28878:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15480,"name":"address","nodeType":"ElementaryTypeName","src":"28878:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15483,"mutability":"mutable","name":"p2","nameLocation":"28904:2:14","nodeType":"VariableDeclaration","scope":15500,"src":"28890:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15482,"name":"string","nodeType":"ElementaryTypeName","src":"28890:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15485,"mutability":"mutable","name":"p3","nameLocation":"28916:2:14","nodeType":"VariableDeclaration","scope":15500,"src":"28908:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15484,"name":"address","nodeType":"ElementaryTypeName","src":"28908:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28868:51:14"},"returnParameters":{"id":15487,"nodeType":"ParameterList","parameters":[],"src":"28934:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15523,"nodeType":"FunctionDefinition","src":"29049:170:14","nodes":[],"body":{"id":15522,"nodeType":"Block","src":"29115:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c75696e7429","id":15514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29165:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2","typeString":"literal_string \"log(uint,address,bool,uint)\""},"value":"log(uint,address,bool,uint)"},{"id":15515,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15502,"src":"29196:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15516,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15504,"src":"29200:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15517,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15506,"src":"29204:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15518,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15508,"src":"29208:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2","typeString":"literal_string \"log(uint,address,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15512,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29141:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29141:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29141:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15511,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29125:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29125:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15521,"nodeType":"ExpressionStatement","src":"29125:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29058:3:14","parameters":{"id":15509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15502,"mutability":"mutable","name":"p0","nameLocation":"29067:2:14","nodeType":"VariableDeclaration","scope":15523,"src":"29062:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15501,"name":"uint","nodeType":"ElementaryTypeName","src":"29062:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15504,"mutability":"mutable","name":"p1","nameLocation":"29079:2:14","nodeType":"VariableDeclaration","scope":15523,"src":"29071:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15503,"name":"address","nodeType":"ElementaryTypeName","src":"29071:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15506,"mutability":"mutable","name":"p2","nameLocation":"29088:2:14","nodeType":"VariableDeclaration","scope":15523,"src":"29083:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15505,"name":"bool","nodeType":"ElementaryTypeName","src":"29083:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15508,"mutability":"mutable","name":"p3","nameLocation":"29097:2:14","nodeType":"VariableDeclaration","scope":15523,"src":"29092:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15507,"name":"uint","nodeType":"ElementaryTypeName","src":"29092:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29061:39:14"},"returnParameters":{"id":15510,"nodeType":"ParameterList","parameters":[],"src":"29115:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15546,"nodeType":"FunctionDefinition","src":"29225:181:14","nodes":[],"body":{"id":15545,"nodeType":"Block","src":"29300:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c737472696e6729","id":15537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29350:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6","typeString":"literal_string \"log(uint,address,bool,string)\""},"value":"log(uint,address,bool,string)"},{"id":15538,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15525,"src":"29383:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15539,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15527,"src":"29387:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15540,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15529,"src":"29391:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15541,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15531,"src":"29395:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6","typeString":"literal_string \"log(uint,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15535,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29326:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29326:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29326:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15534,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29310:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29310:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15544,"nodeType":"ExpressionStatement","src":"29310:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29234:3:14","parameters":{"id":15532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15525,"mutability":"mutable","name":"p0","nameLocation":"29243:2:14","nodeType":"VariableDeclaration","scope":15546,"src":"29238:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15524,"name":"uint","nodeType":"ElementaryTypeName","src":"29238:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15527,"mutability":"mutable","name":"p1","nameLocation":"29255:2:14","nodeType":"VariableDeclaration","scope":15546,"src":"29247:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15526,"name":"address","nodeType":"ElementaryTypeName","src":"29247:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15529,"mutability":"mutable","name":"p2","nameLocation":"29264:2:14","nodeType":"VariableDeclaration","scope":15546,"src":"29259:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15528,"name":"bool","nodeType":"ElementaryTypeName","src":"29259:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15531,"mutability":"mutable","name":"p3","nameLocation":"29282:2:14","nodeType":"VariableDeclaration","scope":15546,"src":"29268:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15530,"name":"string","nodeType":"ElementaryTypeName","src":"29268:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29237:48:14"},"returnParameters":{"id":15533,"nodeType":"ParameterList","parameters":[],"src":"29300:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15569,"nodeType":"FunctionDefinition","src":"29412:170:14","nodes":[],"body":{"id":15568,"nodeType":"Block","src":"29478:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c626f6f6c29","id":15560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29528:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32","typeString":"literal_string \"log(uint,address,bool,bool)\""},"value":"log(uint,address,bool,bool)"},{"id":15561,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15548,"src":"29559:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15562,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15550,"src":"29563:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15563,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15552,"src":"29567:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15564,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15554,"src":"29571:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32","typeString":"literal_string \"log(uint,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15558,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29504:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29504:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29504:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29488:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29488:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15567,"nodeType":"ExpressionStatement","src":"29488:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29421:3:14","parameters":{"id":15555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15548,"mutability":"mutable","name":"p0","nameLocation":"29430:2:14","nodeType":"VariableDeclaration","scope":15569,"src":"29425:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15547,"name":"uint","nodeType":"ElementaryTypeName","src":"29425:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15550,"mutability":"mutable","name":"p1","nameLocation":"29442:2:14","nodeType":"VariableDeclaration","scope":15569,"src":"29434:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15549,"name":"address","nodeType":"ElementaryTypeName","src":"29434:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15552,"mutability":"mutable","name":"p2","nameLocation":"29451:2:14","nodeType":"VariableDeclaration","scope":15569,"src":"29446:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15551,"name":"bool","nodeType":"ElementaryTypeName","src":"29446:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15554,"mutability":"mutable","name":"p3","nameLocation":"29460:2:14","nodeType":"VariableDeclaration","scope":15569,"src":"29455:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15553,"name":"bool","nodeType":"ElementaryTypeName","src":"29455:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29424:39:14"},"returnParameters":{"id":15556,"nodeType":"ParameterList","parameters":[],"src":"29478:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15592,"nodeType":"FunctionDefinition","src":"29588:176:14","nodes":[],"body":{"id":15591,"nodeType":"Block","src":"29657:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c6164647265737329","id":15583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29707:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789","typeString":"literal_string \"log(uint,address,bool,address)\""},"value":"log(uint,address,bool,address)"},{"id":15584,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15571,"src":"29741:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15585,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15573,"src":"29745:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15586,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15575,"src":"29749:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15587,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15577,"src":"29753:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789","typeString":"literal_string \"log(uint,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15581,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29683:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29683:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29683:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15580,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29667:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29667:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15590,"nodeType":"ExpressionStatement","src":"29667:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29597:3:14","parameters":{"id":15578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15571,"mutability":"mutable","name":"p0","nameLocation":"29606:2:14","nodeType":"VariableDeclaration","scope":15592,"src":"29601:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15570,"name":"uint","nodeType":"ElementaryTypeName","src":"29601:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15573,"mutability":"mutable","name":"p1","nameLocation":"29618:2:14","nodeType":"VariableDeclaration","scope":15592,"src":"29610:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15572,"name":"address","nodeType":"ElementaryTypeName","src":"29610:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15575,"mutability":"mutable","name":"p2","nameLocation":"29627:2:14","nodeType":"VariableDeclaration","scope":15592,"src":"29622:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15574,"name":"bool","nodeType":"ElementaryTypeName","src":"29622:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15577,"mutability":"mutable","name":"p3","nameLocation":"29639:2:14","nodeType":"VariableDeclaration","scope":15592,"src":"29631:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15576,"name":"address","nodeType":"ElementaryTypeName","src":"29631:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29600:42:14"},"returnParameters":{"id":15579,"nodeType":"ParameterList","parameters":[],"src":"29657:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15615,"nodeType":"FunctionDefinition","src":"29770:176:14","nodes":[],"body":{"id":15614,"nodeType":"Block","src":"29839:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c75696e7429","id":15606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29889:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b","typeString":"literal_string \"log(uint,address,address,uint)\""},"value":"log(uint,address,address,uint)"},{"id":15607,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15594,"src":"29923:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15608,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15596,"src":"29927:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15609,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15598,"src":"29931:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15610,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15600,"src":"29935:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b","typeString":"literal_string \"log(uint,address,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15604,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29865:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29865:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29865:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15603,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29849:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29849:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15613,"nodeType":"ExpressionStatement","src":"29849:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29779:3:14","parameters":{"id":15601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15594,"mutability":"mutable","name":"p0","nameLocation":"29788:2:14","nodeType":"VariableDeclaration","scope":15615,"src":"29783:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15593,"name":"uint","nodeType":"ElementaryTypeName","src":"29783:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15596,"mutability":"mutable","name":"p1","nameLocation":"29800:2:14","nodeType":"VariableDeclaration","scope":15615,"src":"29792:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15595,"name":"address","nodeType":"ElementaryTypeName","src":"29792:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15598,"mutability":"mutable","name":"p2","nameLocation":"29812:2:14","nodeType":"VariableDeclaration","scope":15615,"src":"29804:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15597,"name":"address","nodeType":"ElementaryTypeName","src":"29804:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15600,"mutability":"mutable","name":"p3","nameLocation":"29821:2:14","nodeType":"VariableDeclaration","scope":15615,"src":"29816:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15599,"name":"uint","nodeType":"ElementaryTypeName","src":"29816:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29782:42:14"},"returnParameters":{"id":15602,"nodeType":"ParameterList","parameters":[],"src":"29839:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15638,"nodeType":"FunctionDefinition","src":"29952:187:14","nodes":[],"body":{"id":15637,"nodeType":"Block","src":"30030:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c737472696e6729","id":15629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30080:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622","typeString":"literal_string \"log(uint,address,address,string)\""},"value":"log(uint,address,address,string)"},{"id":15630,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15617,"src":"30116:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15631,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15619,"src":"30120:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15632,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15621,"src":"30124:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15633,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15623,"src":"30128:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622","typeString":"literal_string \"log(uint,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15627,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30056:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30056:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30056:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15626,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30040:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30040:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15636,"nodeType":"ExpressionStatement","src":"30040:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29961:3:14","parameters":{"id":15624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15617,"mutability":"mutable","name":"p0","nameLocation":"29970:2:14","nodeType":"VariableDeclaration","scope":15638,"src":"29965:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15616,"name":"uint","nodeType":"ElementaryTypeName","src":"29965:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15619,"mutability":"mutable","name":"p1","nameLocation":"29982:2:14","nodeType":"VariableDeclaration","scope":15638,"src":"29974:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15618,"name":"address","nodeType":"ElementaryTypeName","src":"29974:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15621,"mutability":"mutable","name":"p2","nameLocation":"29994:2:14","nodeType":"VariableDeclaration","scope":15638,"src":"29986:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15620,"name":"address","nodeType":"ElementaryTypeName","src":"29986:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15623,"mutability":"mutable","name":"p3","nameLocation":"30012:2:14","nodeType":"VariableDeclaration","scope":15638,"src":"29998:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15622,"name":"string","nodeType":"ElementaryTypeName","src":"29998:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29964:51:14"},"returnParameters":{"id":15625,"nodeType":"ParameterList","parameters":[],"src":"30030:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15661,"nodeType":"FunctionDefinition","src":"30145:176:14","nodes":[],"body":{"id":15660,"nodeType":"Block","src":"30214:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c626f6f6c29","id":15652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30264:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c","typeString":"literal_string \"log(uint,address,address,bool)\""},"value":"log(uint,address,address,bool)"},{"id":15653,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15640,"src":"30298:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15654,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15642,"src":"30302:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15655,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15644,"src":"30306:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15656,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15646,"src":"30310:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c","typeString":"literal_string \"log(uint,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15650,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30240:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30240:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30240:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15649,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30224:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30224:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15659,"nodeType":"ExpressionStatement","src":"30224:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30154:3:14","parameters":{"id":15647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15640,"mutability":"mutable","name":"p0","nameLocation":"30163:2:14","nodeType":"VariableDeclaration","scope":15661,"src":"30158:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15639,"name":"uint","nodeType":"ElementaryTypeName","src":"30158:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15642,"mutability":"mutable","name":"p1","nameLocation":"30175:2:14","nodeType":"VariableDeclaration","scope":15661,"src":"30167:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15641,"name":"address","nodeType":"ElementaryTypeName","src":"30167:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15644,"mutability":"mutable","name":"p2","nameLocation":"30187:2:14","nodeType":"VariableDeclaration","scope":15661,"src":"30179:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15643,"name":"address","nodeType":"ElementaryTypeName","src":"30179:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15646,"mutability":"mutable","name":"p3","nameLocation":"30196:2:14","nodeType":"VariableDeclaration","scope":15661,"src":"30191:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15645,"name":"bool","nodeType":"ElementaryTypeName","src":"30191:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30157:42:14"},"returnParameters":{"id":15648,"nodeType":"ParameterList","parameters":[],"src":"30214:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15684,"nodeType":"FunctionDefinition","src":"30327:182:14","nodes":[],"body":{"id":15683,"nodeType":"Block","src":"30399:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c6164647265737329","id":15675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30449:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4","typeString":"literal_string \"log(uint,address,address,address)\""},"value":"log(uint,address,address,address)"},{"id":15676,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15663,"src":"30486:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15677,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15665,"src":"30490:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15678,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15667,"src":"30494:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15679,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15669,"src":"30498:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4","typeString":"literal_string \"log(uint,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15673,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30425:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30425:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30425:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15672,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30409:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30409:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15682,"nodeType":"ExpressionStatement","src":"30409:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30336:3:14","parameters":{"id":15670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15663,"mutability":"mutable","name":"p0","nameLocation":"30345:2:14","nodeType":"VariableDeclaration","scope":15684,"src":"30340:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15662,"name":"uint","nodeType":"ElementaryTypeName","src":"30340:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15665,"mutability":"mutable","name":"p1","nameLocation":"30357:2:14","nodeType":"VariableDeclaration","scope":15684,"src":"30349:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15664,"name":"address","nodeType":"ElementaryTypeName","src":"30349:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15667,"mutability":"mutable","name":"p2","nameLocation":"30369:2:14","nodeType":"VariableDeclaration","scope":15684,"src":"30361:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15666,"name":"address","nodeType":"ElementaryTypeName","src":"30361:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15669,"mutability":"mutable","name":"p3","nameLocation":"30381:2:14","nodeType":"VariableDeclaration","scope":15684,"src":"30373:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15668,"name":"address","nodeType":"ElementaryTypeName","src":"30373:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30339:45:14"},"returnParameters":{"id":15671,"nodeType":"ParameterList","parameters":[],"src":"30399:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15707,"nodeType":"FunctionDefinition","src":"30515:175:14","nodes":[],"body":{"id":15706,"nodeType":"Block","src":"30587:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c75696e7429","id":15698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30637:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2","typeString":"literal_string \"log(string,uint,uint,uint)\""},"value":"log(string,uint,uint,uint)"},{"id":15699,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15686,"src":"30667:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15700,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15688,"src":"30671:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15701,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"30675:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15702,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15692,"src":"30679:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2","typeString":"literal_string \"log(string,uint,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15696,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30613:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30613:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30613:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15695,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30597:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30597:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15705,"nodeType":"ExpressionStatement","src":"30597:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30524:3:14","parameters":{"id":15693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15686,"mutability":"mutable","name":"p0","nameLocation":"30542:2:14","nodeType":"VariableDeclaration","scope":15707,"src":"30528:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15685,"name":"string","nodeType":"ElementaryTypeName","src":"30528:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15688,"mutability":"mutable","name":"p1","nameLocation":"30551:2:14","nodeType":"VariableDeclaration","scope":15707,"src":"30546:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15687,"name":"uint","nodeType":"ElementaryTypeName","src":"30546:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15690,"mutability":"mutable","name":"p2","nameLocation":"30560:2:14","nodeType":"VariableDeclaration","scope":15707,"src":"30555:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15689,"name":"uint","nodeType":"ElementaryTypeName","src":"30555:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15692,"mutability":"mutable","name":"p3","nameLocation":"30569:2:14","nodeType":"VariableDeclaration","scope":15707,"src":"30564:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15691,"name":"uint","nodeType":"ElementaryTypeName","src":"30564:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30527:45:14"},"returnParameters":{"id":15694,"nodeType":"ParameterList","parameters":[],"src":"30587:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15730,"nodeType":"FunctionDefinition","src":"30696:186:14","nodes":[],"body":{"id":15729,"nodeType":"Block","src":"30777:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c737472696e6729","id":15721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30827:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8","typeString":"literal_string \"log(string,uint,uint,string)\""},"value":"log(string,uint,uint,string)"},{"id":15722,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15709,"src":"30859:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15723,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15711,"src":"30863:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15724,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15713,"src":"30867:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15725,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15715,"src":"30871:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8","typeString":"literal_string \"log(string,uint,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15719,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30803:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30803:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30803:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15718,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30787:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30787:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15728,"nodeType":"ExpressionStatement","src":"30787:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30705:3:14","parameters":{"id":15716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15709,"mutability":"mutable","name":"p0","nameLocation":"30723:2:14","nodeType":"VariableDeclaration","scope":15730,"src":"30709:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15708,"name":"string","nodeType":"ElementaryTypeName","src":"30709:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15711,"mutability":"mutable","name":"p1","nameLocation":"30732:2:14","nodeType":"VariableDeclaration","scope":15730,"src":"30727:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15710,"name":"uint","nodeType":"ElementaryTypeName","src":"30727:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15713,"mutability":"mutable","name":"p2","nameLocation":"30741:2:14","nodeType":"VariableDeclaration","scope":15730,"src":"30736:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15712,"name":"uint","nodeType":"ElementaryTypeName","src":"30736:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15715,"mutability":"mutable","name":"p3","nameLocation":"30759:2:14","nodeType":"VariableDeclaration","scope":15730,"src":"30745:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15714,"name":"string","nodeType":"ElementaryTypeName","src":"30745:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30708:54:14"},"returnParameters":{"id":15717,"nodeType":"ParameterList","parameters":[],"src":"30777:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15753,"nodeType":"FunctionDefinition","src":"30888:175:14","nodes":[],"body":{"id":15752,"nodeType":"Block","src":"30960:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c626f6f6c29","id":15744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31010:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d","typeString":"literal_string \"log(string,uint,uint,bool)\""},"value":"log(string,uint,uint,bool)"},{"id":15745,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15732,"src":"31040:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15746,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15734,"src":"31044:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15747,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15736,"src":"31048:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15748,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15738,"src":"31052:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d","typeString":"literal_string \"log(string,uint,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30986:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30986:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30986:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15741,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30970:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30970:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15751,"nodeType":"ExpressionStatement","src":"30970:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30897:3:14","parameters":{"id":15739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15732,"mutability":"mutable","name":"p0","nameLocation":"30915:2:14","nodeType":"VariableDeclaration","scope":15753,"src":"30901:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15731,"name":"string","nodeType":"ElementaryTypeName","src":"30901:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15734,"mutability":"mutable","name":"p1","nameLocation":"30924:2:14","nodeType":"VariableDeclaration","scope":15753,"src":"30919:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15733,"name":"uint","nodeType":"ElementaryTypeName","src":"30919:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15736,"mutability":"mutable","name":"p2","nameLocation":"30933:2:14","nodeType":"VariableDeclaration","scope":15753,"src":"30928:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15735,"name":"uint","nodeType":"ElementaryTypeName","src":"30928:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15738,"mutability":"mutable","name":"p3","nameLocation":"30942:2:14","nodeType":"VariableDeclaration","scope":15753,"src":"30937:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15737,"name":"bool","nodeType":"ElementaryTypeName","src":"30937:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30900:45:14"},"returnParameters":{"id":15740,"nodeType":"ParameterList","parameters":[],"src":"30960:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15776,"nodeType":"FunctionDefinition","src":"31069:181:14","nodes":[],"body":{"id":15775,"nodeType":"Block","src":"31144:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c6164647265737329","id":15767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31194:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc","typeString":"literal_string \"log(string,uint,uint,address)\""},"value":"log(string,uint,uint,address)"},{"id":15768,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15755,"src":"31227:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15769,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15757,"src":"31231:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15770,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15759,"src":"31235:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15771,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15761,"src":"31239:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc","typeString":"literal_string \"log(string,uint,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15765,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31170:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31170:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31170:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15764,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31154:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31154:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15774,"nodeType":"ExpressionStatement","src":"31154:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31078:3:14","parameters":{"id":15762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15755,"mutability":"mutable","name":"p0","nameLocation":"31096:2:14","nodeType":"VariableDeclaration","scope":15776,"src":"31082:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15754,"name":"string","nodeType":"ElementaryTypeName","src":"31082:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15757,"mutability":"mutable","name":"p1","nameLocation":"31105:2:14","nodeType":"VariableDeclaration","scope":15776,"src":"31100:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15756,"name":"uint","nodeType":"ElementaryTypeName","src":"31100:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15759,"mutability":"mutable","name":"p2","nameLocation":"31114:2:14","nodeType":"VariableDeclaration","scope":15776,"src":"31109:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15758,"name":"uint","nodeType":"ElementaryTypeName","src":"31109:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15761,"mutability":"mutable","name":"p3","nameLocation":"31126:2:14","nodeType":"VariableDeclaration","scope":15776,"src":"31118:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15760,"name":"address","nodeType":"ElementaryTypeName","src":"31118:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31081:48:14"},"returnParameters":{"id":15763,"nodeType":"ParameterList","parameters":[],"src":"31144:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15799,"nodeType":"FunctionDefinition","src":"31256:186:14","nodes":[],"body":{"id":15798,"nodeType":"Block","src":"31337:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c75696e7429","id":15790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31387:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f","typeString":"literal_string \"log(string,uint,string,uint)\""},"value":"log(string,uint,string,uint)"},{"id":15791,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15778,"src":"31419:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15792,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15780,"src":"31423:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15793,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15782,"src":"31427:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15794,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15784,"src":"31431:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f","typeString":"literal_string \"log(string,uint,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31363:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31363:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31363:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15787,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31347:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31347:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15797,"nodeType":"ExpressionStatement","src":"31347:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31265:3:14","parameters":{"id":15785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15778,"mutability":"mutable","name":"p0","nameLocation":"31283:2:14","nodeType":"VariableDeclaration","scope":15799,"src":"31269:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15777,"name":"string","nodeType":"ElementaryTypeName","src":"31269:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15780,"mutability":"mutable","name":"p1","nameLocation":"31292:2:14","nodeType":"VariableDeclaration","scope":15799,"src":"31287:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15779,"name":"uint","nodeType":"ElementaryTypeName","src":"31287:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15782,"mutability":"mutable","name":"p2","nameLocation":"31310:2:14","nodeType":"VariableDeclaration","scope":15799,"src":"31296:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15781,"name":"string","nodeType":"ElementaryTypeName","src":"31296:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15784,"mutability":"mutable","name":"p3","nameLocation":"31319:2:14","nodeType":"VariableDeclaration","scope":15799,"src":"31314:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15783,"name":"uint","nodeType":"ElementaryTypeName","src":"31314:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31268:54:14"},"returnParameters":{"id":15786,"nodeType":"ParameterList","parameters":[],"src":"31337:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15822,"nodeType":"FunctionDefinition","src":"31448:197:14","nodes":[],"body":{"id":15821,"nodeType":"Block","src":"31538:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c737472696e6729","id":15813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31588:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07","typeString":"literal_string \"log(string,uint,string,string)\""},"value":"log(string,uint,string,string)"},{"id":15814,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15801,"src":"31622:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15815,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15803,"src":"31626:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15816,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15805,"src":"31630:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15817,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15807,"src":"31634:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07","typeString":"literal_string \"log(string,uint,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15811,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31564:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31564:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31564:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15810,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31548:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31548:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15820,"nodeType":"ExpressionStatement","src":"31548:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31457:3:14","parameters":{"id":15808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15801,"mutability":"mutable","name":"p0","nameLocation":"31475:2:14","nodeType":"VariableDeclaration","scope":15822,"src":"31461:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15800,"name":"string","nodeType":"ElementaryTypeName","src":"31461:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15803,"mutability":"mutable","name":"p1","nameLocation":"31484:2:14","nodeType":"VariableDeclaration","scope":15822,"src":"31479:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15802,"name":"uint","nodeType":"ElementaryTypeName","src":"31479:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15805,"mutability":"mutable","name":"p2","nameLocation":"31502:2:14","nodeType":"VariableDeclaration","scope":15822,"src":"31488:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15804,"name":"string","nodeType":"ElementaryTypeName","src":"31488:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15807,"mutability":"mutable","name":"p3","nameLocation":"31520:2:14","nodeType":"VariableDeclaration","scope":15822,"src":"31506:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15806,"name":"string","nodeType":"ElementaryTypeName","src":"31506:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31460:63:14"},"returnParameters":{"id":15809,"nodeType":"ParameterList","parameters":[],"src":"31538:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15845,"nodeType":"FunctionDefinition","src":"31651:186:14","nodes":[],"body":{"id":15844,"nodeType":"Block","src":"31732:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c626f6f6c29","id":15836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31782:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8","typeString":"literal_string \"log(string,uint,string,bool)\""},"value":"log(string,uint,string,bool)"},{"id":15837,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15824,"src":"31814:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15838,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15826,"src":"31818:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15839,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15828,"src":"31822:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15840,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15830,"src":"31826:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8","typeString":"literal_string \"log(string,uint,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15834,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31758:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31758:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31758:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15833,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31742:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31742:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15843,"nodeType":"ExpressionStatement","src":"31742:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31660:3:14","parameters":{"id":15831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15824,"mutability":"mutable","name":"p0","nameLocation":"31678:2:14","nodeType":"VariableDeclaration","scope":15845,"src":"31664:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15823,"name":"string","nodeType":"ElementaryTypeName","src":"31664:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15826,"mutability":"mutable","name":"p1","nameLocation":"31687:2:14","nodeType":"VariableDeclaration","scope":15845,"src":"31682:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15825,"name":"uint","nodeType":"ElementaryTypeName","src":"31682:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15828,"mutability":"mutable","name":"p2","nameLocation":"31705:2:14","nodeType":"VariableDeclaration","scope":15845,"src":"31691:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15827,"name":"string","nodeType":"ElementaryTypeName","src":"31691:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15830,"mutability":"mutable","name":"p3","nameLocation":"31714:2:14","nodeType":"VariableDeclaration","scope":15845,"src":"31709:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15829,"name":"bool","nodeType":"ElementaryTypeName","src":"31709:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31663:54:14"},"returnParameters":{"id":15832,"nodeType":"ParameterList","parameters":[],"src":"31732:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15868,"nodeType":"FunctionDefinition","src":"31843:192:14","nodes":[],"body":{"id":15867,"nodeType":"Block","src":"31927:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c6164647265737329","id":15859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31977:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c","typeString":"literal_string \"log(string,uint,string,address)\""},"value":"log(string,uint,string,address)"},{"id":15860,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15847,"src":"32012:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15861,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15849,"src":"32016:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15862,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15851,"src":"32020:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15863,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15853,"src":"32024:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c","typeString":"literal_string \"log(string,uint,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15857,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31953:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31953:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31953:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15856,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31937:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31937:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15866,"nodeType":"ExpressionStatement","src":"31937:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31852:3:14","parameters":{"id":15854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15847,"mutability":"mutable","name":"p0","nameLocation":"31870:2:14","nodeType":"VariableDeclaration","scope":15868,"src":"31856:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15846,"name":"string","nodeType":"ElementaryTypeName","src":"31856:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15849,"mutability":"mutable","name":"p1","nameLocation":"31879:2:14","nodeType":"VariableDeclaration","scope":15868,"src":"31874:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15848,"name":"uint","nodeType":"ElementaryTypeName","src":"31874:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15851,"mutability":"mutable","name":"p2","nameLocation":"31897:2:14","nodeType":"VariableDeclaration","scope":15868,"src":"31883:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15850,"name":"string","nodeType":"ElementaryTypeName","src":"31883:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15853,"mutability":"mutable","name":"p3","nameLocation":"31909:2:14","nodeType":"VariableDeclaration","scope":15868,"src":"31901:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15852,"name":"address","nodeType":"ElementaryTypeName","src":"31901:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31855:57:14"},"returnParameters":{"id":15855,"nodeType":"ParameterList","parameters":[],"src":"31927:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15891,"nodeType":"FunctionDefinition","src":"32041:175:14","nodes":[],"body":{"id":15890,"nodeType":"Block","src":"32113:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c75696e7429","id":15882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32163:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f","typeString":"literal_string \"log(string,uint,bool,uint)\""},"value":"log(string,uint,bool,uint)"},{"id":15883,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15870,"src":"32193:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15884,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"32197:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15885,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15874,"src":"32201:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15886,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15876,"src":"32205:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f","typeString":"literal_string \"log(string,uint,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15880,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32139:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32139:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32139:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15879,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32123:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32123:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15889,"nodeType":"ExpressionStatement","src":"32123:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32050:3:14","parameters":{"id":15877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15870,"mutability":"mutable","name":"p0","nameLocation":"32068:2:14","nodeType":"VariableDeclaration","scope":15891,"src":"32054:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15869,"name":"string","nodeType":"ElementaryTypeName","src":"32054:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15872,"mutability":"mutable","name":"p1","nameLocation":"32077:2:14","nodeType":"VariableDeclaration","scope":15891,"src":"32072:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15871,"name":"uint","nodeType":"ElementaryTypeName","src":"32072:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15874,"mutability":"mutable","name":"p2","nameLocation":"32086:2:14","nodeType":"VariableDeclaration","scope":15891,"src":"32081:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15873,"name":"bool","nodeType":"ElementaryTypeName","src":"32081:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15876,"mutability":"mutable","name":"p3","nameLocation":"32095:2:14","nodeType":"VariableDeclaration","scope":15891,"src":"32090:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15875,"name":"uint","nodeType":"ElementaryTypeName","src":"32090:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32053:45:14"},"returnParameters":{"id":15878,"nodeType":"ParameterList","parameters":[],"src":"32113:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15914,"nodeType":"FunctionDefinition","src":"32222:186:14","nodes":[],"body":{"id":15913,"nodeType":"Block","src":"32303:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c737472696e6729","id":15905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32353:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68","typeString":"literal_string \"log(string,uint,bool,string)\""},"value":"log(string,uint,bool,string)"},{"id":15906,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15893,"src":"32385:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15907,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15895,"src":"32389:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15908,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15897,"src":"32393:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15909,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15899,"src":"32397:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68","typeString":"literal_string \"log(string,uint,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15903,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32329:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32329:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32329:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15902,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32313:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32313:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15912,"nodeType":"ExpressionStatement","src":"32313:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32231:3:14","parameters":{"id":15900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15893,"mutability":"mutable","name":"p0","nameLocation":"32249:2:14","nodeType":"VariableDeclaration","scope":15914,"src":"32235:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15892,"name":"string","nodeType":"ElementaryTypeName","src":"32235:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15895,"mutability":"mutable","name":"p1","nameLocation":"32258:2:14","nodeType":"VariableDeclaration","scope":15914,"src":"32253:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15894,"name":"uint","nodeType":"ElementaryTypeName","src":"32253:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15897,"mutability":"mutable","name":"p2","nameLocation":"32267:2:14","nodeType":"VariableDeclaration","scope":15914,"src":"32262:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15896,"name":"bool","nodeType":"ElementaryTypeName","src":"32262:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15899,"mutability":"mutable","name":"p3","nameLocation":"32285:2:14","nodeType":"VariableDeclaration","scope":15914,"src":"32271:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15898,"name":"string","nodeType":"ElementaryTypeName","src":"32271:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32234:54:14"},"returnParameters":{"id":15901,"nodeType":"ParameterList","parameters":[],"src":"32303:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15937,"nodeType":"FunctionDefinition","src":"32414:175:14","nodes":[],"body":{"id":15936,"nodeType":"Block","src":"32486:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c626f6f6c29","id":15928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32536:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f","typeString":"literal_string \"log(string,uint,bool,bool)\""},"value":"log(string,uint,bool,bool)"},{"id":15929,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15916,"src":"32566:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15930,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15918,"src":"32570:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15931,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15920,"src":"32574:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15932,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15922,"src":"32578:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f","typeString":"literal_string \"log(string,uint,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15926,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32512:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32512:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32512:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15925,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32496:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32496:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15935,"nodeType":"ExpressionStatement","src":"32496:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32423:3:14","parameters":{"id":15923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15916,"mutability":"mutable","name":"p0","nameLocation":"32441:2:14","nodeType":"VariableDeclaration","scope":15937,"src":"32427:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15915,"name":"string","nodeType":"ElementaryTypeName","src":"32427:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15918,"mutability":"mutable","name":"p1","nameLocation":"32450:2:14","nodeType":"VariableDeclaration","scope":15937,"src":"32445:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15917,"name":"uint","nodeType":"ElementaryTypeName","src":"32445:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15920,"mutability":"mutable","name":"p2","nameLocation":"32459:2:14","nodeType":"VariableDeclaration","scope":15937,"src":"32454:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15919,"name":"bool","nodeType":"ElementaryTypeName","src":"32454:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15922,"mutability":"mutable","name":"p3","nameLocation":"32468:2:14","nodeType":"VariableDeclaration","scope":15937,"src":"32463:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15921,"name":"bool","nodeType":"ElementaryTypeName","src":"32463:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32426:45:14"},"returnParameters":{"id":15924,"nodeType":"ParameterList","parameters":[],"src":"32486:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15960,"nodeType":"FunctionDefinition","src":"32595:181:14","nodes":[],"body":{"id":15959,"nodeType":"Block","src":"32670:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c6164647265737329","id":15951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32720:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539","typeString":"literal_string \"log(string,uint,bool,address)\""},"value":"log(string,uint,bool,address)"},{"id":15952,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15939,"src":"32753:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15953,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15941,"src":"32757:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15954,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15943,"src":"32761:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15955,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15945,"src":"32765:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539","typeString":"literal_string \"log(string,uint,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15949,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32696:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32696:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32696:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15948,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32680:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32680:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15958,"nodeType":"ExpressionStatement","src":"32680:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32604:3:14","parameters":{"id":15946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15939,"mutability":"mutable","name":"p0","nameLocation":"32622:2:14","nodeType":"VariableDeclaration","scope":15960,"src":"32608:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15938,"name":"string","nodeType":"ElementaryTypeName","src":"32608:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15941,"mutability":"mutable","name":"p1","nameLocation":"32631:2:14","nodeType":"VariableDeclaration","scope":15960,"src":"32626:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15940,"name":"uint","nodeType":"ElementaryTypeName","src":"32626:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15943,"mutability":"mutable","name":"p2","nameLocation":"32640:2:14","nodeType":"VariableDeclaration","scope":15960,"src":"32635:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15942,"name":"bool","nodeType":"ElementaryTypeName","src":"32635:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15945,"mutability":"mutable","name":"p3","nameLocation":"32652:2:14","nodeType":"VariableDeclaration","scope":15960,"src":"32644:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15944,"name":"address","nodeType":"ElementaryTypeName","src":"32644:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32607:48:14"},"returnParameters":{"id":15947,"nodeType":"ParameterList","parameters":[],"src":"32670:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15983,"nodeType":"FunctionDefinition","src":"32782:181:14","nodes":[],"body":{"id":15982,"nodeType":"Block","src":"32857:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c75696e7429","id":15974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32907:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75","typeString":"literal_string \"log(string,uint,address,uint)\""},"value":"log(string,uint,address,uint)"},{"id":15975,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15962,"src":"32940:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15976,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15964,"src":"32944:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15977,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15966,"src":"32948:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15978,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15968,"src":"32952:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75","typeString":"literal_string \"log(string,uint,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15972,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32883:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32883:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32883:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15971,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32867:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32867:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15981,"nodeType":"ExpressionStatement","src":"32867:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32791:3:14","parameters":{"id":15969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15962,"mutability":"mutable","name":"p0","nameLocation":"32809:2:14","nodeType":"VariableDeclaration","scope":15983,"src":"32795:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15961,"name":"string","nodeType":"ElementaryTypeName","src":"32795:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15964,"mutability":"mutable","name":"p1","nameLocation":"32818:2:14","nodeType":"VariableDeclaration","scope":15983,"src":"32813:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15963,"name":"uint","nodeType":"ElementaryTypeName","src":"32813:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15966,"mutability":"mutable","name":"p2","nameLocation":"32830:2:14","nodeType":"VariableDeclaration","scope":15983,"src":"32822:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15965,"name":"address","nodeType":"ElementaryTypeName","src":"32822:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15968,"mutability":"mutable","name":"p3","nameLocation":"32839:2:14","nodeType":"VariableDeclaration","scope":15983,"src":"32834:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15967,"name":"uint","nodeType":"ElementaryTypeName","src":"32834:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32794:48:14"},"returnParameters":{"id":15970,"nodeType":"ParameterList","parameters":[],"src":"32857:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16006,"nodeType":"FunctionDefinition","src":"32969:192:14","nodes":[],"body":{"id":16005,"nodeType":"Block","src":"33053:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c737472696e6729","id":15997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33103:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0","typeString":"literal_string \"log(string,uint,address,string)\""},"value":"log(string,uint,address,string)"},{"id":15998,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15985,"src":"33138:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15999,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15987,"src":"33142:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16000,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15989,"src":"33146:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16001,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15991,"src":"33150:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0","typeString":"literal_string \"log(string,uint,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15995,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33079:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33079:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33079:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15994,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33063:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33063:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16004,"nodeType":"ExpressionStatement","src":"33063:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32978:3:14","parameters":{"id":15992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15985,"mutability":"mutable","name":"p0","nameLocation":"32996:2:14","nodeType":"VariableDeclaration","scope":16006,"src":"32982:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15984,"name":"string","nodeType":"ElementaryTypeName","src":"32982:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15987,"mutability":"mutable","name":"p1","nameLocation":"33005:2:14","nodeType":"VariableDeclaration","scope":16006,"src":"33000:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15986,"name":"uint","nodeType":"ElementaryTypeName","src":"33000:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15989,"mutability":"mutable","name":"p2","nameLocation":"33017:2:14","nodeType":"VariableDeclaration","scope":16006,"src":"33009:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15988,"name":"address","nodeType":"ElementaryTypeName","src":"33009:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15991,"mutability":"mutable","name":"p3","nameLocation":"33035:2:14","nodeType":"VariableDeclaration","scope":16006,"src":"33021:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15990,"name":"string","nodeType":"ElementaryTypeName","src":"33021:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32981:57:14"},"returnParameters":{"id":15993,"nodeType":"ParameterList","parameters":[],"src":"33053:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16029,"nodeType":"FunctionDefinition","src":"33167:181:14","nodes":[],"body":{"id":16028,"nodeType":"Block","src":"33242:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c626f6f6c29","id":16020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33292:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10","typeString":"literal_string \"log(string,uint,address,bool)\""},"value":"log(string,uint,address,bool)"},{"id":16021,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16008,"src":"33325:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16022,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16010,"src":"33329:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16023,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16012,"src":"33333:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16024,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16014,"src":"33337:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10","typeString":"literal_string \"log(string,uint,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16018,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33268:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33268:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33268:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33252:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33252:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16027,"nodeType":"ExpressionStatement","src":"33252:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33176:3:14","parameters":{"id":16015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16008,"mutability":"mutable","name":"p0","nameLocation":"33194:2:14","nodeType":"VariableDeclaration","scope":16029,"src":"33180:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16007,"name":"string","nodeType":"ElementaryTypeName","src":"33180:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16010,"mutability":"mutable","name":"p1","nameLocation":"33203:2:14","nodeType":"VariableDeclaration","scope":16029,"src":"33198:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16009,"name":"uint","nodeType":"ElementaryTypeName","src":"33198:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16012,"mutability":"mutable","name":"p2","nameLocation":"33215:2:14","nodeType":"VariableDeclaration","scope":16029,"src":"33207:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16011,"name":"address","nodeType":"ElementaryTypeName","src":"33207:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16014,"mutability":"mutable","name":"p3","nameLocation":"33224:2:14","nodeType":"VariableDeclaration","scope":16029,"src":"33219:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16013,"name":"bool","nodeType":"ElementaryTypeName","src":"33219:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33179:48:14"},"returnParameters":{"id":16016,"nodeType":"ParameterList","parameters":[],"src":"33242:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16052,"nodeType":"FunctionDefinition","src":"33354:187:14","nodes":[],"body":{"id":16051,"nodeType":"Block","src":"33432:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c6164647265737329","id":16043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33482:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381","typeString":"literal_string \"log(string,uint,address,address)\""},"value":"log(string,uint,address,address)"},{"id":16044,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16031,"src":"33518:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16045,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16033,"src":"33522:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16046,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16035,"src":"33526:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16047,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16037,"src":"33530:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381","typeString":"literal_string \"log(string,uint,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33458:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33458:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33458:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16040,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33442:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33442:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16050,"nodeType":"ExpressionStatement","src":"33442:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33363:3:14","parameters":{"id":16038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16031,"mutability":"mutable","name":"p0","nameLocation":"33381:2:14","nodeType":"VariableDeclaration","scope":16052,"src":"33367:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16030,"name":"string","nodeType":"ElementaryTypeName","src":"33367:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16033,"mutability":"mutable","name":"p1","nameLocation":"33390:2:14","nodeType":"VariableDeclaration","scope":16052,"src":"33385:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16032,"name":"uint","nodeType":"ElementaryTypeName","src":"33385:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16035,"mutability":"mutable","name":"p2","nameLocation":"33402:2:14","nodeType":"VariableDeclaration","scope":16052,"src":"33394:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16034,"name":"address","nodeType":"ElementaryTypeName","src":"33394:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16037,"mutability":"mutable","name":"p3","nameLocation":"33414:2:14","nodeType":"VariableDeclaration","scope":16052,"src":"33406:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16036,"name":"address","nodeType":"ElementaryTypeName","src":"33406:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33366:51:14"},"returnParameters":{"id":16039,"nodeType":"ParameterList","parameters":[],"src":"33432:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16075,"nodeType":"FunctionDefinition","src":"33547:186:14","nodes":[],"body":{"id":16074,"nodeType":"Block","src":"33628:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c75696e7429","id":16066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33678:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926","typeString":"literal_string \"log(string,string,uint,uint)\""},"value":"log(string,string,uint,uint)"},{"id":16067,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16054,"src":"33710:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16068,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16056,"src":"33714:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16069,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16058,"src":"33718:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16070,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16060,"src":"33722:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926","typeString":"literal_string \"log(string,string,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16064,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33654:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33654:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33654:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16063,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33638:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33638:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16073,"nodeType":"ExpressionStatement","src":"33638:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33556:3:14","parameters":{"id":16061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16054,"mutability":"mutable","name":"p0","nameLocation":"33574:2:14","nodeType":"VariableDeclaration","scope":16075,"src":"33560:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16053,"name":"string","nodeType":"ElementaryTypeName","src":"33560:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16056,"mutability":"mutable","name":"p1","nameLocation":"33592:2:14","nodeType":"VariableDeclaration","scope":16075,"src":"33578:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16055,"name":"string","nodeType":"ElementaryTypeName","src":"33578:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16058,"mutability":"mutable","name":"p2","nameLocation":"33601:2:14","nodeType":"VariableDeclaration","scope":16075,"src":"33596:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16057,"name":"uint","nodeType":"ElementaryTypeName","src":"33596:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16060,"mutability":"mutable","name":"p3","nameLocation":"33610:2:14","nodeType":"VariableDeclaration","scope":16075,"src":"33605:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16059,"name":"uint","nodeType":"ElementaryTypeName","src":"33605:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33559:54:14"},"returnParameters":{"id":16062,"nodeType":"ParameterList","parameters":[],"src":"33628:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16098,"nodeType":"FunctionDefinition","src":"33739:197:14","nodes":[],"body":{"id":16097,"nodeType":"Block","src":"33829:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c737472696e6729","id":16089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33879:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a","typeString":"literal_string \"log(string,string,uint,string)\""},"value":"log(string,string,uint,string)"},{"id":16090,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16077,"src":"33913:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16091,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16079,"src":"33917:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16092,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16081,"src":"33921:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16093,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16083,"src":"33925:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a","typeString":"literal_string \"log(string,string,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16087,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33855:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33855:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33855:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16086,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33839:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33839:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16096,"nodeType":"ExpressionStatement","src":"33839:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33748:3:14","parameters":{"id":16084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16077,"mutability":"mutable","name":"p0","nameLocation":"33766:2:14","nodeType":"VariableDeclaration","scope":16098,"src":"33752:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16076,"name":"string","nodeType":"ElementaryTypeName","src":"33752:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16079,"mutability":"mutable","name":"p1","nameLocation":"33784:2:14","nodeType":"VariableDeclaration","scope":16098,"src":"33770:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16078,"name":"string","nodeType":"ElementaryTypeName","src":"33770:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16081,"mutability":"mutable","name":"p2","nameLocation":"33793:2:14","nodeType":"VariableDeclaration","scope":16098,"src":"33788:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16080,"name":"uint","nodeType":"ElementaryTypeName","src":"33788:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16083,"mutability":"mutable","name":"p3","nameLocation":"33811:2:14","nodeType":"VariableDeclaration","scope":16098,"src":"33797:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16082,"name":"string","nodeType":"ElementaryTypeName","src":"33797:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33751:63:14"},"returnParameters":{"id":16085,"nodeType":"ParameterList","parameters":[],"src":"33829:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16121,"nodeType":"FunctionDefinition","src":"33942:186:14","nodes":[],"body":{"id":16120,"nodeType":"Block","src":"34023:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c626f6f6c29","id":16112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34073:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b","typeString":"literal_string \"log(string,string,uint,bool)\""},"value":"log(string,string,uint,bool)"},{"id":16113,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16100,"src":"34105:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16114,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16102,"src":"34109:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16115,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16104,"src":"34113:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16116,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16106,"src":"34117:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b","typeString":"literal_string \"log(string,string,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16110,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34049:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34049:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34049:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16109,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34033:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34033:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16119,"nodeType":"ExpressionStatement","src":"34033:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33951:3:14","parameters":{"id":16107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16100,"mutability":"mutable","name":"p0","nameLocation":"33969:2:14","nodeType":"VariableDeclaration","scope":16121,"src":"33955:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16099,"name":"string","nodeType":"ElementaryTypeName","src":"33955:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16102,"mutability":"mutable","name":"p1","nameLocation":"33987:2:14","nodeType":"VariableDeclaration","scope":16121,"src":"33973:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16101,"name":"string","nodeType":"ElementaryTypeName","src":"33973:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16104,"mutability":"mutable","name":"p2","nameLocation":"33996:2:14","nodeType":"VariableDeclaration","scope":16121,"src":"33991:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16103,"name":"uint","nodeType":"ElementaryTypeName","src":"33991:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16106,"mutability":"mutable","name":"p3","nameLocation":"34005:2:14","nodeType":"VariableDeclaration","scope":16121,"src":"34000:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16105,"name":"bool","nodeType":"ElementaryTypeName","src":"34000:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33954:54:14"},"returnParameters":{"id":16108,"nodeType":"ParameterList","parameters":[],"src":"34023:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16144,"nodeType":"FunctionDefinition","src":"34134:192:14","nodes":[],"body":{"id":16143,"nodeType":"Block","src":"34218:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c6164647265737329","id":16135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34268:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128","typeString":"literal_string \"log(string,string,uint,address)\""},"value":"log(string,string,uint,address)"},{"id":16136,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16123,"src":"34303:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16137,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16125,"src":"34307:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16138,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16127,"src":"34311:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16139,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16129,"src":"34315:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128","typeString":"literal_string \"log(string,string,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16133,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34244:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34244:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34244:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16132,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34228:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34228:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16142,"nodeType":"ExpressionStatement","src":"34228:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34143:3:14","parameters":{"id":16130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16123,"mutability":"mutable","name":"p0","nameLocation":"34161:2:14","nodeType":"VariableDeclaration","scope":16144,"src":"34147:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16122,"name":"string","nodeType":"ElementaryTypeName","src":"34147:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16125,"mutability":"mutable","name":"p1","nameLocation":"34179:2:14","nodeType":"VariableDeclaration","scope":16144,"src":"34165:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16124,"name":"string","nodeType":"ElementaryTypeName","src":"34165:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16127,"mutability":"mutable","name":"p2","nameLocation":"34188:2:14","nodeType":"VariableDeclaration","scope":16144,"src":"34183:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16126,"name":"uint","nodeType":"ElementaryTypeName","src":"34183:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16129,"mutability":"mutable","name":"p3","nameLocation":"34200:2:14","nodeType":"VariableDeclaration","scope":16144,"src":"34192:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16128,"name":"address","nodeType":"ElementaryTypeName","src":"34192:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34146:57:14"},"returnParameters":{"id":16131,"nodeType":"ParameterList","parameters":[],"src":"34218:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16167,"nodeType":"FunctionDefinition","src":"34332:197:14","nodes":[],"body":{"id":16166,"nodeType":"Block","src":"34422:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7429","id":16158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34472:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f","typeString":"literal_string \"log(string,string,string,uint)\""},"value":"log(string,string,string,uint)"},{"id":16159,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16146,"src":"34506:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16160,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16148,"src":"34510:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16161,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16150,"src":"34514:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16162,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16152,"src":"34518:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f","typeString":"literal_string \"log(string,string,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34448:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34448:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34448:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34432:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34432:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16165,"nodeType":"ExpressionStatement","src":"34432:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34341:3:14","parameters":{"id":16153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16146,"mutability":"mutable","name":"p0","nameLocation":"34359:2:14","nodeType":"VariableDeclaration","scope":16167,"src":"34345:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16145,"name":"string","nodeType":"ElementaryTypeName","src":"34345:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16148,"mutability":"mutable","name":"p1","nameLocation":"34377:2:14","nodeType":"VariableDeclaration","scope":16167,"src":"34363:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16147,"name":"string","nodeType":"ElementaryTypeName","src":"34363:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16150,"mutability":"mutable","name":"p2","nameLocation":"34395:2:14","nodeType":"VariableDeclaration","scope":16167,"src":"34381:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16149,"name":"string","nodeType":"ElementaryTypeName","src":"34381:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16152,"mutability":"mutable","name":"p3","nameLocation":"34404:2:14","nodeType":"VariableDeclaration","scope":16167,"src":"34399:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16151,"name":"uint","nodeType":"ElementaryTypeName","src":"34399:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34344:63:14"},"returnParameters":{"id":16154,"nodeType":"ParameterList","parameters":[],"src":"34422:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16190,"nodeType":"FunctionDefinition","src":"34535:208:14","nodes":[],"body":{"id":16189,"nodeType":"Block","src":"34634:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":16181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34684:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":16182,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16169,"src":"34720:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16183,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16171,"src":"34724:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16184,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16173,"src":"34728:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16185,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16175,"src":"34732:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16179,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34660:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34660:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34660:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16178,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34644:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34644:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16188,"nodeType":"ExpressionStatement","src":"34644:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34544:3:14","parameters":{"id":16176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16169,"mutability":"mutable","name":"p0","nameLocation":"34562:2:14","nodeType":"VariableDeclaration","scope":16190,"src":"34548:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16168,"name":"string","nodeType":"ElementaryTypeName","src":"34548:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16171,"mutability":"mutable","name":"p1","nameLocation":"34580:2:14","nodeType":"VariableDeclaration","scope":16190,"src":"34566:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16170,"name":"string","nodeType":"ElementaryTypeName","src":"34566:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16173,"mutability":"mutable","name":"p2","nameLocation":"34598:2:14","nodeType":"VariableDeclaration","scope":16190,"src":"34584:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16172,"name":"string","nodeType":"ElementaryTypeName","src":"34584:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16175,"mutability":"mutable","name":"p3","nameLocation":"34616:2:14","nodeType":"VariableDeclaration","scope":16190,"src":"34602:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16174,"name":"string","nodeType":"ElementaryTypeName","src":"34602:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34547:72:14"},"returnParameters":{"id":16177,"nodeType":"ParameterList","parameters":[],"src":"34634:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16213,"nodeType":"FunctionDefinition","src":"34749:197:14","nodes":[],"body":{"id":16212,"nodeType":"Block","src":"34839:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":16204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34889:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":16205,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16192,"src":"34923:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16206,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16194,"src":"34927:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16207,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16196,"src":"34931:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16208,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16198,"src":"34935:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34865:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34865:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34865:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34849:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34849:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16211,"nodeType":"ExpressionStatement","src":"34849:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34758:3:14","parameters":{"id":16199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16192,"mutability":"mutable","name":"p0","nameLocation":"34776:2:14","nodeType":"VariableDeclaration","scope":16213,"src":"34762:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16191,"name":"string","nodeType":"ElementaryTypeName","src":"34762:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16194,"mutability":"mutable","name":"p1","nameLocation":"34794:2:14","nodeType":"VariableDeclaration","scope":16213,"src":"34780:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16193,"name":"string","nodeType":"ElementaryTypeName","src":"34780:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16196,"mutability":"mutable","name":"p2","nameLocation":"34812:2:14","nodeType":"VariableDeclaration","scope":16213,"src":"34798:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16195,"name":"string","nodeType":"ElementaryTypeName","src":"34798:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16198,"mutability":"mutable","name":"p3","nameLocation":"34821:2:14","nodeType":"VariableDeclaration","scope":16213,"src":"34816:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16197,"name":"bool","nodeType":"ElementaryTypeName","src":"34816:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34761:63:14"},"returnParameters":{"id":16200,"nodeType":"ParameterList","parameters":[],"src":"34839:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16236,"nodeType":"FunctionDefinition","src":"34952:203:14","nodes":[],"body":{"id":16235,"nodeType":"Block","src":"35045:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":16227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35095:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":16228,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16215,"src":"35132:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16229,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16217,"src":"35136:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16230,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16219,"src":"35140:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16231,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16221,"src":"35144:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16225,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35071:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35071:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35071:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16224,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35055:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35055:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16234,"nodeType":"ExpressionStatement","src":"35055:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34961:3:14","parameters":{"id":16222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16215,"mutability":"mutable","name":"p0","nameLocation":"34979:2:14","nodeType":"VariableDeclaration","scope":16236,"src":"34965:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16214,"name":"string","nodeType":"ElementaryTypeName","src":"34965:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16217,"mutability":"mutable","name":"p1","nameLocation":"34997:2:14","nodeType":"VariableDeclaration","scope":16236,"src":"34983:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16216,"name":"string","nodeType":"ElementaryTypeName","src":"34983:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16219,"mutability":"mutable","name":"p2","nameLocation":"35015:2:14","nodeType":"VariableDeclaration","scope":16236,"src":"35001:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16218,"name":"string","nodeType":"ElementaryTypeName","src":"35001:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16221,"mutability":"mutable","name":"p3","nameLocation":"35027:2:14","nodeType":"VariableDeclaration","scope":16236,"src":"35019:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16220,"name":"address","nodeType":"ElementaryTypeName","src":"35019:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34964:66:14"},"returnParameters":{"id":16223,"nodeType":"ParameterList","parameters":[],"src":"35045:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16259,"nodeType":"FunctionDefinition","src":"35161:186:14","nodes":[],"body":{"id":16258,"nodeType":"Block","src":"35242:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7429","id":16250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35292:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1","typeString":"literal_string \"log(string,string,bool,uint)\""},"value":"log(string,string,bool,uint)"},{"id":16251,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16238,"src":"35324:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16252,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16240,"src":"35328:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16253,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16242,"src":"35332:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16254,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16244,"src":"35336:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1","typeString":"literal_string \"log(string,string,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16248,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35268:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35268:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35268:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16247,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35252:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35252:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16257,"nodeType":"ExpressionStatement","src":"35252:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35170:3:14","parameters":{"id":16245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16238,"mutability":"mutable","name":"p0","nameLocation":"35188:2:14","nodeType":"VariableDeclaration","scope":16259,"src":"35174:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16237,"name":"string","nodeType":"ElementaryTypeName","src":"35174:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16240,"mutability":"mutable","name":"p1","nameLocation":"35206:2:14","nodeType":"VariableDeclaration","scope":16259,"src":"35192:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16239,"name":"string","nodeType":"ElementaryTypeName","src":"35192:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16242,"mutability":"mutable","name":"p2","nameLocation":"35215:2:14","nodeType":"VariableDeclaration","scope":16259,"src":"35210:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16241,"name":"bool","nodeType":"ElementaryTypeName","src":"35210:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16244,"mutability":"mutable","name":"p3","nameLocation":"35224:2:14","nodeType":"VariableDeclaration","scope":16259,"src":"35219:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16243,"name":"uint","nodeType":"ElementaryTypeName","src":"35219:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35173:54:14"},"returnParameters":{"id":16246,"nodeType":"ParameterList","parameters":[],"src":"35242:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16282,"nodeType":"FunctionDefinition","src":"35353:197:14","nodes":[],"body":{"id":16281,"nodeType":"Block","src":"35443:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":16273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35493:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":16274,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16261,"src":"35527:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16275,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16263,"src":"35531:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16276,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16265,"src":"35535:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16277,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16267,"src":"35539:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16271,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35469:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35469:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35469:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16270,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35453:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35453:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16280,"nodeType":"ExpressionStatement","src":"35453:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35362:3:14","parameters":{"id":16268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16261,"mutability":"mutable","name":"p0","nameLocation":"35380:2:14","nodeType":"VariableDeclaration","scope":16282,"src":"35366:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16260,"name":"string","nodeType":"ElementaryTypeName","src":"35366:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16263,"mutability":"mutable","name":"p1","nameLocation":"35398:2:14","nodeType":"VariableDeclaration","scope":16282,"src":"35384:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16262,"name":"string","nodeType":"ElementaryTypeName","src":"35384:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16265,"mutability":"mutable","name":"p2","nameLocation":"35407:2:14","nodeType":"VariableDeclaration","scope":16282,"src":"35402:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16264,"name":"bool","nodeType":"ElementaryTypeName","src":"35402:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16267,"mutability":"mutable","name":"p3","nameLocation":"35425:2:14","nodeType":"VariableDeclaration","scope":16282,"src":"35411:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16266,"name":"string","nodeType":"ElementaryTypeName","src":"35411:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35365:63:14"},"returnParameters":{"id":16269,"nodeType":"ParameterList","parameters":[],"src":"35443:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16305,"nodeType":"FunctionDefinition","src":"35556:186:14","nodes":[],"body":{"id":16304,"nodeType":"Block","src":"35637:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":16296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35687:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":16297,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16284,"src":"35719:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16298,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16286,"src":"35723:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16299,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16288,"src":"35727:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16300,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16290,"src":"35731:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16294,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35663:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35663:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35663:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16293,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35647:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35647:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16303,"nodeType":"ExpressionStatement","src":"35647:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35565:3:14","parameters":{"id":16291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16284,"mutability":"mutable","name":"p0","nameLocation":"35583:2:14","nodeType":"VariableDeclaration","scope":16305,"src":"35569:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16283,"name":"string","nodeType":"ElementaryTypeName","src":"35569:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16286,"mutability":"mutable","name":"p1","nameLocation":"35601:2:14","nodeType":"VariableDeclaration","scope":16305,"src":"35587:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16285,"name":"string","nodeType":"ElementaryTypeName","src":"35587:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16288,"mutability":"mutable","name":"p2","nameLocation":"35610:2:14","nodeType":"VariableDeclaration","scope":16305,"src":"35605:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16287,"name":"bool","nodeType":"ElementaryTypeName","src":"35605:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16290,"mutability":"mutable","name":"p3","nameLocation":"35619:2:14","nodeType":"VariableDeclaration","scope":16305,"src":"35614:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16289,"name":"bool","nodeType":"ElementaryTypeName","src":"35614:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35568:54:14"},"returnParameters":{"id":16292,"nodeType":"ParameterList","parameters":[],"src":"35637:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16328,"nodeType":"FunctionDefinition","src":"35748:192:14","nodes":[],"body":{"id":16327,"nodeType":"Block","src":"35832:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":16319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35882:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":16320,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16307,"src":"35917:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16321,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16309,"src":"35921:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16322,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16311,"src":"35925:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16323,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16313,"src":"35929:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16317,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35858:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35858:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35858:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16316,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35842:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35842:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16326,"nodeType":"ExpressionStatement","src":"35842:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35757:3:14","parameters":{"id":16314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16307,"mutability":"mutable","name":"p0","nameLocation":"35775:2:14","nodeType":"VariableDeclaration","scope":16328,"src":"35761:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16306,"name":"string","nodeType":"ElementaryTypeName","src":"35761:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16309,"mutability":"mutable","name":"p1","nameLocation":"35793:2:14","nodeType":"VariableDeclaration","scope":16328,"src":"35779:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16308,"name":"string","nodeType":"ElementaryTypeName","src":"35779:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16311,"mutability":"mutable","name":"p2","nameLocation":"35802:2:14","nodeType":"VariableDeclaration","scope":16328,"src":"35797:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16310,"name":"bool","nodeType":"ElementaryTypeName","src":"35797:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16313,"mutability":"mutable","name":"p3","nameLocation":"35814:2:14","nodeType":"VariableDeclaration","scope":16328,"src":"35806:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16312,"name":"address","nodeType":"ElementaryTypeName","src":"35806:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35760:57:14"},"returnParameters":{"id":16315,"nodeType":"ParameterList","parameters":[],"src":"35832:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16351,"nodeType":"FunctionDefinition","src":"35946:192:14","nodes":[],"body":{"id":16350,"nodeType":"Block","src":"36030:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7429","id":16342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36080:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2","typeString":"literal_string \"log(string,string,address,uint)\""},"value":"log(string,string,address,uint)"},{"id":16343,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16330,"src":"36115:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16344,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16332,"src":"36119:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16345,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16334,"src":"36123:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16346,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16336,"src":"36127:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2","typeString":"literal_string \"log(string,string,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16340,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36056:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36056:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36056:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16339,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36040:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36040:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16349,"nodeType":"ExpressionStatement","src":"36040:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35955:3:14","parameters":{"id":16337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16330,"mutability":"mutable","name":"p0","nameLocation":"35973:2:14","nodeType":"VariableDeclaration","scope":16351,"src":"35959:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16329,"name":"string","nodeType":"ElementaryTypeName","src":"35959:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16332,"mutability":"mutable","name":"p1","nameLocation":"35991:2:14","nodeType":"VariableDeclaration","scope":16351,"src":"35977:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16331,"name":"string","nodeType":"ElementaryTypeName","src":"35977:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16334,"mutability":"mutable","name":"p2","nameLocation":"36003:2:14","nodeType":"VariableDeclaration","scope":16351,"src":"35995:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16333,"name":"address","nodeType":"ElementaryTypeName","src":"35995:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16336,"mutability":"mutable","name":"p3","nameLocation":"36012:2:14","nodeType":"VariableDeclaration","scope":16351,"src":"36007:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16335,"name":"uint","nodeType":"ElementaryTypeName","src":"36007:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35958:57:14"},"returnParameters":{"id":16338,"nodeType":"ParameterList","parameters":[],"src":"36030:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16374,"nodeType":"FunctionDefinition","src":"36144:203:14","nodes":[],"body":{"id":16373,"nodeType":"Block","src":"36237:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":16365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36287:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":16366,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16353,"src":"36324:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16367,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16355,"src":"36328:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16368,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16357,"src":"36332:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16369,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16359,"src":"36336:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16363,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36263:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36263:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36263:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16362,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36247:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36247:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16372,"nodeType":"ExpressionStatement","src":"36247:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36153:3:14","parameters":{"id":16360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16353,"mutability":"mutable","name":"p0","nameLocation":"36171:2:14","nodeType":"VariableDeclaration","scope":16374,"src":"36157:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16352,"name":"string","nodeType":"ElementaryTypeName","src":"36157:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16355,"mutability":"mutable","name":"p1","nameLocation":"36189:2:14","nodeType":"VariableDeclaration","scope":16374,"src":"36175:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16354,"name":"string","nodeType":"ElementaryTypeName","src":"36175:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16357,"mutability":"mutable","name":"p2","nameLocation":"36201:2:14","nodeType":"VariableDeclaration","scope":16374,"src":"36193:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16356,"name":"address","nodeType":"ElementaryTypeName","src":"36193:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16359,"mutability":"mutable","name":"p3","nameLocation":"36219:2:14","nodeType":"VariableDeclaration","scope":16374,"src":"36205:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16358,"name":"string","nodeType":"ElementaryTypeName","src":"36205:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36156:66:14"},"returnParameters":{"id":16361,"nodeType":"ParameterList","parameters":[],"src":"36237:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16397,"nodeType":"FunctionDefinition","src":"36353:192:14","nodes":[],"body":{"id":16396,"nodeType":"Block","src":"36437:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":16388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36487:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":16389,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16376,"src":"36522:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16390,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16378,"src":"36526:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16391,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16380,"src":"36530:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16392,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16382,"src":"36534:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16386,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36463:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36463:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36463:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16385,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36447:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36447:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16395,"nodeType":"ExpressionStatement","src":"36447:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36362:3:14","parameters":{"id":16383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16376,"mutability":"mutable","name":"p0","nameLocation":"36380:2:14","nodeType":"VariableDeclaration","scope":16397,"src":"36366:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16375,"name":"string","nodeType":"ElementaryTypeName","src":"36366:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16378,"mutability":"mutable","name":"p1","nameLocation":"36398:2:14","nodeType":"VariableDeclaration","scope":16397,"src":"36384:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16377,"name":"string","nodeType":"ElementaryTypeName","src":"36384:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16380,"mutability":"mutable","name":"p2","nameLocation":"36410:2:14","nodeType":"VariableDeclaration","scope":16397,"src":"36402:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16379,"name":"address","nodeType":"ElementaryTypeName","src":"36402:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16382,"mutability":"mutable","name":"p3","nameLocation":"36419:2:14","nodeType":"VariableDeclaration","scope":16397,"src":"36414:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16381,"name":"bool","nodeType":"ElementaryTypeName","src":"36414:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36365:57:14"},"returnParameters":{"id":16384,"nodeType":"ParameterList","parameters":[],"src":"36437:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16420,"nodeType":"FunctionDefinition","src":"36551:198:14","nodes":[],"body":{"id":16419,"nodeType":"Block","src":"36638:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":16411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36688:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":16412,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16399,"src":"36726:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16413,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16401,"src":"36730:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16414,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16403,"src":"36734:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16415,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16405,"src":"36738:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16409,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36664:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36664:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36664:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16408,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36648:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36648:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16418,"nodeType":"ExpressionStatement","src":"36648:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36560:3:14","parameters":{"id":16406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16399,"mutability":"mutable","name":"p0","nameLocation":"36578:2:14","nodeType":"VariableDeclaration","scope":16420,"src":"36564:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16398,"name":"string","nodeType":"ElementaryTypeName","src":"36564:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16401,"mutability":"mutable","name":"p1","nameLocation":"36596:2:14","nodeType":"VariableDeclaration","scope":16420,"src":"36582:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16400,"name":"string","nodeType":"ElementaryTypeName","src":"36582:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16403,"mutability":"mutable","name":"p2","nameLocation":"36608:2:14","nodeType":"VariableDeclaration","scope":16420,"src":"36600:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16402,"name":"address","nodeType":"ElementaryTypeName","src":"36600:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16405,"mutability":"mutable","name":"p3","nameLocation":"36620:2:14","nodeType":"VariableDeclaration","scope":16420,"src":"36612:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16404,"name":"address","nodeType":"ElementaryTypeName","src":"36612:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36563:60:14"},"returnParameters":{"id":16407,"nodeType":"ParameterList","parameters":[],"src":"36638:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16443,"nodeType":"FunctionDefinition","src":"36755:175:14","nodes":[],"body":{"id":16442,"nodeType":"Block","src":"36827:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c75696e7429","id":16434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36877:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701","typeString":"literal_string \"log(string,bool,uint,uint)\""},"value":"log(string,bool,uint,uint)"},{"id":16435,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16422,"src":"36907:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16436,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16424,"src":"36911:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16437,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16426,"src":"36915:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16438,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16428,"src":"36919:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701","typeString":"literal_string \"log(string,bool,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16432,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36853:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36853:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36853:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16431,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36837:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36837:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16441,"nodeType":"ExpressionStatement","src":"36837:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36764:3:14","parameters":{"id":16429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16422,"mutability":"mutable","name":"p0","nameLocation":"36782:2:14","nodeType":"VariableDeclaration","scope":16443,"src":"36768:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16421,"name":"string","nodeType":"ElementaryTypeName","src":"36768:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16424,"mutability":"mutable","name":"p1","nameLocation":"36791:2:14","nodeType":"VariableDeclaration","scope":16443,"src":"36786:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16423,"name":"bool","nodeType":"ElementaryTypeName","src":"36786:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16426,"mutability":"mutable","name":"p2","nameLocation":"36800:2:14","nodeType":"VariableDeclaration","scope":16443,"src":"36795:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16425,"name":"uint","nodeType":"ElementaryTypeName","src":"36795:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16428,"mutability":"mutable","name":"p3","nameLocation":"36809:2:14","nodeType":"VariableDeclaration","scope":16443,"src":"36804:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16427,"name":"uint","nodeType":"ElementaryTypeName","src":"36804:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36767:45:14"},"returnParameters":{"id":16430,"nodeType":"ParameterList","parameters":[],"src":"36827:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16466,"nodeType":"FunctionDefinition","src":"36936:186:14","nodes":[],"body":{"id":16465,"nodeType":"Block","src":"37017:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c737472696e6729","id":16457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37067:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee","typeString":"literal_string \"log(string,bool,uint,string)\""},"value":"log(string,bool,uint,string)"},{"id":16458,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16445,"src":"37099:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16459,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16447,"src":"37103:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16460,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16449,"src":"37107:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16461,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16451,"src":"37111:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee","typeString":"literal_string \"log(string,bool,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16455,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37043:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37043:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37043:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16454,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37027:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37027:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16464,"nodeType":"ExpressionStatement","src":"37027:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36945:3:14","parameters":{"id":16452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16445,"mutability":"mutable","name":"p0","nameLocation":"36963:2:14","nodeType":"VariableDeclaration","scope":16466,"src":"36949:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16444,"name":"string","nodeType":"ElementaryTypeName","src":"36949:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16447,"mutability":"mutable","name":"p1","nameLocation":"36972:2:14","nodeType":"VariableDeclaration","scope":16466,"src":"36967:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16446,"name":"bool","nodeType":"ElementaryTypeName","src":"36967:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16449,"mutability":"mutable","name":"p2","nameLocation":"36981:2:14","nodeType":"VariableDeclaration","scope":16466,"src":"36976:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16448,"name":"uint","nodeType":"ElementaryTypeName","src":"36976:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16451,"mutability":"mutable","name":"p3","nameLocation":"36999:2:14","nodeType":"VariableDeclaration","scope":16466,"src":"36985:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16450,"name":"string","nodeType":"ElementaryTypeName","src":"36985:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36948:54:14"},"returnParameters":{"id":16453,"nodeType":"ParameterList","parameters":[],"src":"37017:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16489,"nodeType":"FunctionDefinition","src":"37128:175:14","nodes":[],"body":{"id":16488,"nodeType":"Block","src":"37200:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c626f6f6c29","id":16480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37250:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb","typeString":"literal_string \"log(string,bool,uint,bool)\""},"value":"log(string,bool,uint,bool)"},{"id":16481,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16468,"src":"37280:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16482,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16470,"src":"37284:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16483,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16472,"src":"37288:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16484,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16474,"src":"37292:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb","typeString":"literal_string \"log(string,bool,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37226:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37226:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37226:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16477,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37210:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37210:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16487,"nodeType":"ExpressionStatement","src":"37210:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37137:3:14","parameters":{"id":16475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16468,"mutability":"mutable","name":"p0","nameLocation":"37155:2:14","nodeType":"VariableDeclaration","scope":16489,"src":"37141:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16467,"name":"string","nodeType":"ElementaryTypeName","src":"37141:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16470,"mutability":"mutable","name":"p1","nameLocation":"37164:2:14","nodeType":"VariableDeclaration","scope":16489,"src":"37159:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16469,"name":"bool","nodeType":"ElementaryTypeName","src":"37159:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16472,"mutability":"mutable","name":"p2","nameLocation":"37173:2:14","nodeType":"VariableDeclaration","scope":16489,"src":"37168:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16471,"name":"uint","nodeType":"ElementaryTypeName","src":"37168:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16474,"mutability":"mutable","name":"p3","nameLocation":"37182:2:14","nodeType":"VariableDeclaration","scope":16489,"src":"37177:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16473,"name":"bool","nodeType":"ElementaryTypeName","src":"37177:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37140:45:14"},"returnParameters":{"id":16476,"nodeType":"ParameterList","parameters":[],"src":"37200:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16512,"nodeType":"FunctionDefinition","src":"37309:181:14","nodes":[],"body":{"id":16511,"nodeType":"Block","src":"37384:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c6164647265737329","id":16503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37434:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6","typeString":"literal_string \"log(string,bool,uint,address)\""},"value":"log(string,bool,uint,address)"},{"id":16504,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16491,"src":"37467:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16505,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16493,"src":"37471:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16506,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16495,"src":"37475:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16507,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16497,"src":"37479:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6","typeString":"literal_string \"log(string,bool,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16501,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37410:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37410:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37410:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16500,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37394:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37394:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16510,"nodeType":"ExpressionStatement","src":"37394:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37318:3:14","parameters":{"id":16498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16491,"mutability":"mutable","name":"p0","nameLocation":"37336:2:14","nodeType":"VariableDeclaration","scope":16512,"src":"37322:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16490,"name":"string","nodeType":"ElementaryTypeName","src":"37322:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16493,"mutability":"mutable","name":"p1","nameLocation":"37345:2:14","nodeType":"VariableDeclaration","scope":16512,"src":"37340:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16492,"name":"bool","nodeType":"ElementaryTypeName","src":"37340:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16495,"mutability":"mutable","name":"p2","nameLocation":"37354:2:14","nodeType":"VariableDeclaration","scope":16512,"src":"37349:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16494,"name":"uint","nodeType":"ElementaryTypeName","src":"37349:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16497,"mutability":"mutable","name":"p3","nameLocation":"37366:2:14","nodeType":"VariableDeclaration","scope":16512,"src":"37358:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16496,"name":"address","nodeType":"ElementaryTypeName","src":"37358:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37321:48:14"},"returnParameters":{"id":16499,"nodeType":"ParameterList","parameters":[],"src":"37384:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16535,"nodeType":"FunctionDefinition","src":"37496:186:14","nodes":[],"body":{"id":16534,"nodeType":"Block","src":"37577:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7429","id":16526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37627:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72","typeString":"literal_string \"log(string,bool,string,uint)\""},"value":"log(string,bool,string,uint)"},{"id":16527,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16514,"src":"37659:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16528,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16516,"src":"37663:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16529,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16518,"src":"37667:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16530,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16520,"src":"37671:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72","typeString":"literal_string \"log(string,bool,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16524,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37603:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37603:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37603:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16523,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37587:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37587:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16533,"nodeType":"ExpressionStatement","src":"37587:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37505:3:14","parameters":{"id":16521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16514,"mutability":"mutable","name":"p0","nameLocation":"37523:2:14","nodeType":"VariableDeclaration","scope":16535,"src":"37509:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16513,"name":"string","nodeType":"ElementaryTypeName","src":"37509:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16516,"mutability":"mutable","name":"p1","nameLocation":"37532:2:14","nodeType":"VariableDeclaration","scope":16535,"src":"37527:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16515,"name":"bool","nodeType":"ElementaryTypeName","src":"37527:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16518,"mutability":"mutable","name":"p2","nameLocation":"37550:2:14","nodeType":"VariableDeclaration","scope":16535,"src":"37536:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16517,"name":"string","nodeType":"ElementaryTypeName","src":"37536:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16520,"mutability":"mutable","name":"p3","nameLocation":"37559:2:14","nodeType":"VariableDeclaration","scope":16535,"src":"37554:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16519,"name":"uint","nodeType":"ElementaryTypeName","src":"37554:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37508:54:14"},"returnParameters":{"id":16522,"nodeType":"ParameterList","parameters":[],"src":"37577:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16558,"nodeType":"FunctionDefinition","src":"37688:197:14","nodes":[],"body":{"id":16557,"nodeType":"Block","src":"37778:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":16549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37828:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":16550,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16537,"src":"37862:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16551,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16539,"src":"37866:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16552,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16541,"src":"37870:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16553,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16543,"src":"37874:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16547,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37804:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37804:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37804:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16546,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37788:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37788:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16556,"nodeType":"ExpressionStatement","src":"37788:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37697:3:14","parameters":{"id":16544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16537,"mutability":"mutable","name":"p0","nameLocation":"37715:2:14","nodeType":"VariableDeclaration","scope":16558,"src":"37701:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16536,"name":"string","nodeType":"ElementaryTypeName","src":"37701:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16539,"mutability":"mutable","name":"p1","nameLocation":"37724:2:14","nodeType":"VariableDeclaration","scope":16558,"src":"37719:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16538,"name":"bool","nodeType":"ElementaryTypeName","src":"37719:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16541,"mutability":"mutable","name":"p2","nameLocation":"37742:2:14","nodeType":"VariableDeclaration","scope":16558,"src":"37728:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16540,"name":"string","nodeType":"ElementaryTypeName","src":"37728:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16543,"mutability":"mutable","name":"p3","nameLocation":"37760:2:14","nodeType":"VariableDeclaration","scope":16558,"src":"37746:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16542,"name":"string","nodeType":"ElementaryTypeName","src":"37746:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37700:63:14"},"returnParameters":{"id":16545,"nodeType":"ParameterList","parameters":[],"src":"37778:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16581,"nodeType":"FunctionDefinition","src":"37891:186:14","nodes":[],"body":{"id":16580,"nodeType":"Block","src":"37972:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":16572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38022:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":16573,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16560,"src":"38054:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16574,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16562,"src":"38058:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16575,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16564,"src":"38062:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16576,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16566,"src":"38066:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16570,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37998:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37998:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37998:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16569,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37982:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37982:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16579,"nodeType":"ExpressionStatement","src":"37982:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37900:3:14","parameters":{"id":16567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16560,"mutability":"mutable","name":"p0","nameLocation":"37918:2:14","nodeType":"VariableDeclaration","scope":16581,"src":"37904:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16559,"name":"string","nodeType":"ElementaryTypeName","src":"37904:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16562,"mutability":"mutable","name":"p1","nameLocation":"37927:2:14","nodeType":"VariableDeclaration","scope":16581,"src":"37922:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16561,"name":"bool","nodeType":"ElementaryTypeName","src":"37922:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16564,"mutability":"mutable","name":"p2","nameLocation":"37945:2:14","nodeType":"VariableDeclaration","scope":16581,"src":"37931:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16563,"name":"string","nodeType":"ElementaryTypeName","src":"37931:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16566,"mutability":"mutable","name":"p3","nameLocation":"37954:2:14","nodeType":"VariableDeclaration","scope":16581,"src":"37949:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16565,"name":"bool","nodeType":"ElementaryTypeName","src":"37949:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37903:54:14"},"returnParameters":{"id":16568,"nodeType":"ParameterList","parameters":[],"src":"37972:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16604,"nodeType":"FunctionDefinition","src":"38083:192:14","nodes":[],"body":{"id":16603,"nodeType":"Block","src":"38167:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":16595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38217:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":16596,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16583,"src":"38252:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16597,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16585,"src":"38256:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16598,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16587,"src":"38260:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16599,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16589,"src":"38264:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16593,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38193:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38193:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38193:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16592,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38177:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38177:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16602,"nodeType":"ExpressionStatement","src":"38177:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38092:3:14","parameters":{"id":16590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16583,"mutability":"mutable","name":"p0","nameLocation":"38110:2:14","nodeType":"VariableDeclaration","scope":16604,"src":"38096:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16582,"name":"string","nodeType":"ElementaryTypeName","src":"38096:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16585,"mutability":"mutable","name":"p1","nameLocation":"38119:2:14","nodeType":"VariableDeclaration","scope":16604,"src":"38114:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16584,"name":"bool","nodeType":"ElementaryTypeName","src":"38114:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16587,"mutability":"mutable","name":"p2","nameLocation":"38137:2:14","nodeType":"VariableDeclaration","scope":16604,"src":"38123:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16586,"name":"string","nodeType":"ElementaryTypeName","src":"38123:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16589,"mutability":"mutable","name":"p3","nameLocation":"38149:2:14","nodeType":"VariableDeclaration","scope":16604,"src":"38141:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16588,"name":"address","nodeType":"ElementaryTypeName","src":"38141:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38095:57:14"},"returnParameters":{"id":16591,"nodeType":"ParameterList","parameters":[],"src":"38167:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16627,"nodeType":"FunctionDefinition","src":"38281:175:14","nodes":[],"body":{"id":16626,"nodeType":"Block","src":"38353:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7429","id":16618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38403:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf","typeString":"literal_string \"log(string,bool,bool,uint)\""},"value":"log(string,bool,bool,uint)"},{"id":16619,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16606,"src":"38433:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16620,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16608,"src":"38437:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16621,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16610,"src":"38441:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16622,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16612,"src":"38445:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf","typeString":"literal_string \"log(string,bool,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16616,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38379:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38379:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38379:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16615,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38363:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38363:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16625,"nodeType":"ExpressionStatement","src":"38363:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38290:3:14","parameters":{"id":16613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16606,"mutability":"mutable","name":"p0","nameLocation":"38308:2:14","nodeType":"VariableDeclaration","scope":16627,"src":"38294:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16605,"name":"string","nodeType":"ElementaryTypeName","src":"38294:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16608,"mutability":"mutable","name":"p1","nameLocation":"38317:2:14","nodeType":"VariableDeclaration","scope":16627,"src":"38312:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16607,"name":"bool","nodeType":"ElementaryTypeName","src":"38312:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16610,"mutability":"mutable","name":"p2","nameLocation":"38326:2:14","nodeType":"VariableDeclaration","scope":16627,"src":"38321:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16609,"name":"bool","nodeType":"ElementaryTypeName","src":"38321:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16612,"mutability":"mutable","name":"p3","nameLocation":"38335:2:14","nodeType":"VariableDeclaration","scope":16627,"src":"38330:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16611,"name":"uint","nodeType":"ElementaryTypeName","src":"38330:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38293:45:14"},"returnParameters":{"id":16614,"nodeType":"ParameterList","parameters":[],"src":"38353:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16650,"nodeType":"FunctionDefinition","src":"38462:186:14","nodes":[],"body":{"id":16649,"nodeType":"Block","src":"38543:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":16641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38593:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":16642,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16629,"src":"38625:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16643,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16631,"src":"38629:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16644,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16633,"src":"38633:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16645,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16635,"src":"38637:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38569:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38569:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38569:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16638,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38553:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38553:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16648,"nodeType":"ExpressionStatement","src":"38553:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38471:3:14","parameters":{"id":16636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16629,"mutability":"mutable","name":"p0","nameLocation":"38489:2:14","nodeType":"VariableDeclaration","scope":16650,"src":"38475:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16628,"name":"string","nodeType":"ElementaryTypeName","src":"38475:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16631,"mutability":"mutable","name":"p1","nameLocation":"38498:2:14","nodeType":"VariableDeclaration","scope":16650,"src":"38493:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16630,"name":"bool","nodeType":"ElementaryTypeName","src":"38493:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16633,"mutability":"mutable","name":"p2","nameLocation":"38507:2:14","nodeType":"VariableDeclaration","scope":16650,"src":"38502:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16632,"name":"bool","nodeType":"ElementaryTypeName","src":"38502:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16635,"mutability":"mutable","name":"p3","nameLocation":"38525:2:14","nodeType":"VariableDeclaration","scope":16650,"src":"38511:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16634,"name":"string","nodeType":"ElementaryTypeName","src":"38511:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38474:54:14"},"returnParameters":{"id":16637,"nodeType":"ParameterList","parameters":[],"src":"38543:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16673,"nodeType":"FunctionDefinition","src":"38654:175:14","nodes":[],"body":{"id":16672,"nodeType":"Block","src":"38726:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":16664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38776:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":16665,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16652,"src":"38806:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16666,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16654,"src":"38810:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16667,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16656,"src":"38814:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16668,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16658,"src":"38818:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16662,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38752:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38752:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38752:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16661,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38736:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38736:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16671,"nodeType":"ExpressionStatement","src":"38736:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38663:3:14","parameters":{"id":16659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16652,"mutability":"mutable","name":"p0","nameLocation":"38681:2:14","nodeType":"VariableDeclaration","scope":16673,"src":"38667:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16651,"name":"string","nodeType":"ElementaryTypeName","src":"38667:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16654,"mutability":"mutable","name":"p1","nameLocation":"38690:2:14","nodeType":"VariableDeclaration","scope":16673,"src":"38685:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16653,"name":"bool","nodeType":"ElementaryTypeName","src":"38685:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16656,"mutability":"mutable","name":"p2","nameLocation":"38699:2:14","nodeType":"VariableDeclaration","scope":16673,"src":"38694:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16655,"name":"bool","nodeType":"ElementaryTypeName","src":"38694:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16658,"mutability":"mutable","name":"p3","nameLocation":"38708:2:14","nodeType":"VariableDeclaration","scope":16673,"src":"38703:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16657,"name":"bool","nodeType":"ElementaryTypeName","src":"38703:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38666:45:14"},"returnParameters":{"id":16660,"nodeType":"ParameterList","parameters":[],"src":"38726:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16696,"nodeType":"FunctionDefinition","src":"38835:181:14","nodes":[],"body":{"id":16695,"nodeType":"Block","src":"38910:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":16687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38960:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":16688,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16675,"src":"38993:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16689,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16677,"src":"38997:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16690,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16679,"src":"39001:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16691,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16681,"src":"39005:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16685,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38936:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38936:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38936:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16684,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38920:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38920:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16694,"nodeType":"ExpressionStatement","src":"38920:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38844:3:14","parameters":{"id":16682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16675,"mutability":"mutable","name":"p0","nameLocation":"38862:2:14","nodeType":"VariableDeclaration","scope":16696,"src":"38848:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16674,"name":"string","nodeType":"ElementaryTypeName","src":"38848:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16677,"mutability":"mutable","name":"p1","nameLocation":"38871:2:14","nodeType":"VariableDeclaration","scope":16696,"src":"38866:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16676,"name":"bool","nodeType":"ElementaryTypeName","src":"38866:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16679,"mutability":"mutable","name":"p2","nameLocation":"38880:2:14","nodeType":"VariableDeclaration","scope":16696,"src":"38875:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16678,"name":"bool","nodeType":"ElementaryTypeName","src":"38875:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16681,"mutability":"mutable","name":"p3","nameLocation":"38892:2:14","nodeType":"VariableDeclaration","scope":16696,"src":"38884:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16680,"name":"address","nodeType":"ElementaryTypeName","src":"38884:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38847:48:14"},"returnParameters":{"id":16683,"nodeType":"ParameterList","parameters":[],"src":"38910:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16719,"nodeType":"FunctionDefinition","src":"39022:181:14","nodes":[],"body":{"id":16718,"nodeType":"Block","src":"39097:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7429","id":16710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39147:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b","typeString":"literal_string \"log(string,bool,address,uint)\""},"value":"log(string,bool,address,uint)"},{"id":16711,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16698,"src":"39180:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16712,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16700,"src":"39184:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16713,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16702,"src":"39188:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16714,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16704,"src":"39192:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b","typeString":"literal_string \"log(string,bool,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16708,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39123:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39123:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39123:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16707,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39107:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39107:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16717,"nodeType":"ExpressionStatement","src":"39107:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39031:3:14","parameters":{"id":16705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16698,"mutability":"mutable","name":"p0","nameLocation":"39049:2:14","nodeType":"VariableDeclaration","scope":16719,"src":"39035:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16697,"name":"string","nodeType":"ElementaryTypeName","src":"39035:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16700,"mutability":"mutable","name":"p1","nameLocation":"39058:2:14","nodeType":"VariableDeclaration","scope":16719,"src":"39053:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16699,"name":"bool","nodeType":"ElementaryTypeName","src":"39053:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16702,"mutability":"mutable","name":"p2","nameLocation":"39070:2:14","nodeType":"VariableDeclaration","scope":16719,"src":"39062:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16701,"name":"address","nodeType":"ElementaryTypeName","src":"39062:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16704,"mutability":"mutable","name":"p3","nameLocation":"39079:2:14","nodeType":"VariableDeclaration","scope":16719,"src":"39074:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16703,"name":"uint","nodeType":"ElementaryTypeName","src":"39074:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39034:48:14"},"returnParameters":{"id":16706,"nodeType":"ParameterList","parameters":[],"src":"39097:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16742,"nodeType":"FunctionDefinition","src":"39209:192:14","nodes":[],"body":{"id":16741,"nodeType":"Block","src":"39293:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":16733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39343:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":16734,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16721,"src":"39378:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16735,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16723,"src":"39382:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16736,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16725,"src":"39386:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16737,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16727,"src":"39390:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16731,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39319:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39319:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39319:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16730,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39303:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39303:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16740,"nodeType":"ExpressionStatement","src":"39303:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39218:3:14","parameters":{"id":16728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16721,"mutability":"mutable","name":"p0","nameLocation":"39236:2:14","nodeType":"VariableDeclaration","scope":16742,"src":"39222:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16720,"name":"string","nodeType":"ElementaryTypeName","src":"39222:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16723,"mutability":"mutable","name":"p1","nameLocation":"39245:2:14","nodeType":"VariableDeclaration","scope":16742,"src":"39240:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16722,"name":"bool","nodeType":"ElementaryTypeName","src":"39240:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16725,"mutability":"mutable","name":"p2","nameLocation":"39257:2:14","nodeType":"VariableDeclaration","scope":16742,"src":"39249:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16724,"name":"address","nodeType":"ElementaryTypeName","src":"39249:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16727,"mutability":"mutable","name":"p3","nameLocation":"39275:2:14","nodeType":"VariableDeclaration","scope":16742,"src":"39261:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16726,"name":"string","nodeType":"ElementaryTypeName","src":"39261:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39221:57:14"},"returnParameters":{"id":16729,"nodeType":"ParameterList","parameters":[],"src":"39293:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16765,"nodeType":"FunctionDefinition","src":"39407:181:14","nodes":[],"body":{"id":16764,"nodeType":"Block","src":"39482:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":16756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39532:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":16757,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16744,"src":"39565:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16758,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16746,"src":"39569:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16759,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16748,"src":"39573:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16760,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16750,"src":"39577:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16754,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39508:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39508:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39508:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16753,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39492:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39492:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16763,"nodeType":"ExpressionStatement","src":"39492:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39416:3:14","parameters":{"id":16751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16744,"mutability":"mutable","name":"p0","nameLocation":"39434:2:14","nodeType":"VariableDeclaration","scope":16765,"src":"39420:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16743,"name":"string","nodeType":"ElementaryTypeName","src":"39420:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16746,"mutability":"mutable","name":"p1","nameLocation":"39443:2:14","nodeType":"VariableDeclaration","scope":16765,"src":"39438:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16745,"name":"bool","nodeType":"ElementaryTypeName","src":"39438:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16748,"mutability":"mutable","name":"p2","nameLocation":"39455:2:14","nodeType":"VariableDeclaration","scope":16765,"src":"39447:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16747,"name":"address","nodeType":"ElementaryTypeName","src":"39447:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16750,"mutability":"mutable","name":"p3","nameLocation":"39464:2:14","nodeType":"VariableDeclaration","scope":16765,"src":"39459:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16749,"name":"bool","nodeType":"ElementaryTypeName","src":"39459:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39419:48:14"},"returnParameters":{"id":16752,"nodeType":"ParameterList","parameters":[],"src":"39482:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16788,"nodeType":"FunctionDefinition","src":"39594:187:14","nodes":[],"body":{"id":16787,"nodeType":"Block","src":"39672:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":16779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39722:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":16780,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16767,"src":"39758:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16781,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16769,"src":"39762:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16782,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16771,"src":"39766:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16783,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16773,"src":"39770:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16777,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39698:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39698:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39698:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16776,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39682:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39682:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16786,"nodeType":"ExpressionStatement","src":"39682:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39603:3:14","parameters":{"id":16774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16767,"mutability":"mutable","name":"p0","nameLocation":"39621:2:14","nodeType":"VariableDeclaration","scope":16788,"src":"39607:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16766,"name":"string","nodeType":"ElementaryTypeName","src":"39607:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16769,"mutability":"mutable","name":"p1","nameLocation":"39630:2:14","nodeType":"VariableDeclaration","scope":16788,"src":"39625:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16768,"name":"bool","nodeType":"ElementaryTypeName","src":"39625:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16771,"mutability":"mutable","name":"p2","nameLocation":"39642:2:14","nodeType":"VariableDeclaration","scope":16788,"src":"39634:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16770,"name":"address","nodeType":"ElementaryTypeName","src":"39634:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16773,"mutability":"mutable","name":"p3","nameLocation":"39654:2:14","nodeType":"VariableDeclaration","scope":16788,"src":"39646:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16772,"name":"address","nodeType":"ElementaryTypeName","src":"39646:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39606:51:14"},"returnParameters":{"id":16775,"nodeType":"ParameterList","parameters":[],"src":"39672:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16811,"nodeType":"FunctionDefinition","src":"39787:181:14","nodes":[],"body":{"id":16810,"nodeType":"Block","src":"39862:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c75696e7429","id":16802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39912:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3","typeString":"literal_string \"log(string,address,uint,uint)\""},"value":"log(string,address,uint,uint)"},{"id":16803,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16790,"src":"39945:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16804,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16792,"src":"39949:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16805,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16794,"src":"39953:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16806,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16796,"src":"39957:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3","typeString":"literal_string \"log(string,address,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16800,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39888:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39888:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39888:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16799,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39872:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39872:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16809,"nodeType":"ExpressionStatement","src":"39872:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39796:3:14","parameters":{"id":16797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16790,"mutability":"mutable","name":"p0","nameLocation":"39814:2:14","nodeType":"VariableDeclaration","scope":16811,"src":"39800:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16789,"name":"string","nodeType":"ElementaryTypeName","src":"39800:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16792,"mutability":"mutable","name":"p1","nameLocation":"39826:2:14","nodeType":"VariableDeclaration","scope":16811,"src":"39818:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16791,"name":"address","nodeType":"ElementaryTypeName","src":"39818:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16794,"mutability":"mutable","name":"p2","nameLocation":"39835:2:14","nodeType":"VariableDeclaration","scope":16811,"src":"39830:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16793,"name":"uint","nodeType":"ElementaryTypeName","src":"39830:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16796,"mutability":"mutable","name":"p3","nameLocation":"39844:2:14","nodeType":"VariableDeclaration","scope":16811,"src":"39839:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16795,"name":"uint","nodeType":"ElementaryTypeName","src":"39839:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39799:48:14"},"returnParameters":{"id":16798,"nodeType":"ParameterList","parameters":[],"src":"39862:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16834,"nodeType":"FunctionDefinition","src":"39974:192:14","nodes":[],"body":{"id":16833,"nodeType":"Block","src":"40058:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c737472696e6729","id":16825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40108:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98","typeString":"literal_string \"log(string,address,uint,string)\""},"value":"log(string,address,uint,string)"},{"id":16826,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16813,"src":"40143:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16827,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16815,"src":"40147:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16828,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16817,"src":"40151:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16829,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16819,"src":"40155:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98","typeString":"literal_string \"log(string,address,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16823,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40084:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40084:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40084:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16822,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40068:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40068:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16832,"nodeType":"ExpressionStatement","src":"40068:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39983:3:14","parameters":{"id":16820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16813,"mutability":"mutable","name":"p0","nameLocation":"40001:2:14","nodeType":"VariableDeclaration","scope":16834,"src":"39987:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16812,"name":"string","nodeType":"ElementaryTypeName","src":"39987:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16815,"mutability":"mutable","name":"p1","nameLocation":"40013:2:14","nodeType":"VariableDeclaration","scope":16834,"src":"40005:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16814,"name":"address","nodeType":"ElementaryTypeName","src":"40005:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16817,"mutability":"mutable","name":"p2","nameLocation":"40022:2:14","nodeType":"VariableDeclaration","scope":16834,"src":"40017:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16816,"name":"uint","nodeType":"ElementaryTypeName","src":"40017:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16819,"mutability":"mutable","name":"p3","nameLocation":"40040:2:14","nodeType":"VariableDeclaration","scope":16834,"src":"40026:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16818,"name":"string","nodeType":"ElementaryTypeName","src":"40026:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39986:57:14"},"returnParameters":{"id":16821,"nodeType":"ParameterList","parameters":[],"src":"40058:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16857,"nodeType":"FunctionDefinition","src":"40172:181:14","nodes":[],"body":{"id":16856,"nodeType":"Block","src":"40247:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c626f6f6c29","id":16848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40297:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554","typeString":"literal_string \"log(string,address,uint,bool)\""},"value":"log(string,address,uint,bool)"},{"id":16849,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16836,"src":"40330:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16850,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16838,"src":"40334:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16851,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16840,"src":"40338:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16852,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16842,"src":"40342:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554","typeString":"literal_string \"log(string,address,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16846,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40273:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40273:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40273:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16845,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40257:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40257:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16855,"nodeType":"ExpressionStatement","src":"40257:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40181:3:14","parameters":{"id":16843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16836,"mutability":"mutable","name":"p0","nameLocation":"40199:2:14","nodeType":"VariableDeclaration","scope":16857,"src":"40185:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16835,"name":"string","nodeType":"ElementaryTypeName","src":"40185:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16838,"mutability":"mutable","name":"p1","nameLocation":"40211:2:14","nodeType":"VariableDeclaration","scope":16857,"src":"40203:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16837,"name":"address","nodeType":"ElementaryTypeName","src":"40203:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16840,"mutability":"mutable","name":"p2","nameLocation":"40220:2:14","nodeType":"VariableDeclaration","scope":16857,"src":"40215:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16839,"name":"uint","nodeType":"ElementaryTypeName","src":"40215:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16842,"mutability":"mutable","name":"p3","nameLocation":"40229:2:14","nodeType":"VariableDeclaration","scope":16857,"src":"40224:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16841,"name":"bool","nodeType":"ElementaryTypeName","src":"40224:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40184:48:14"},"returnParameters":{"id":16844,"nodeType":"ParameterList","parameters":[],"src":"40247:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16880,"nodeType":"FunctionDefinition","src":"40359:187:14","nodes":[],"body":{"id":16879,"nodeType":"Block","src":"40437:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c6164647265737329","id":16871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40487:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2","typeString":"literal_string \"log(string,address,uint,address)\""},"value":"log(string,address,uint,address)"},{"id":16872,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16859,"src":"40523:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16873,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16861,"src":"40527:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16874,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16863,"src":"40531:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16875,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16865,"src":"40535:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2","typeString":"literal_string \"log(string,address,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16869,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40463:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40463:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40463:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16868,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40447:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40447:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16878,"nodeType":"ExpressionStatement","src":"40447:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40368:3:14","parameters":{"id":16866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16859,"mutability":"mutable","name":"p0","nameLocation":"40386:2:14","nodeType":"VariableDeclaration","scope":16880,"src":"40372:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16858,"name":"string","nodeType":"ElementaryTypeName","src":"40372:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16861,"mutability":"mutable","name":"p1","nameLocation":"40398:2:14","nodeType":"VariableDeclaration","scope":16880,"src":"40390:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16860,"name":"address","nodeType":"ElementaryTypeName","src":"40390:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16863,"mutability":"mutable","name":"p2","nameLocation":"40407:2:14","nodeType":"VariableDeclaration","scope":16880,"src":"40402:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16862,"name":"uint","nodeType":"ElementaryTypeName","src":"40402:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16865,"mutability":"mutable","name":"p3","nameLocation":"40419:2:14","nodeType":"VariableDeclaration","scope":16880,"src":"40411:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16864,"name":"address","nodeType":"ElementaryTypeName","src":"40411:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40371:51:14"},"returnParameters":{"id":16867,"nodeType":"ParameterList","parameters":[],"src":"40437:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16903,"nodeType":"FunctionDefinition","src":"40552:192:14","nodes":[],"body":{"id":16902,"nodeType":"Block","src":"40636:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7429","id":16894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40686:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349","typeString":"literal_string \"log(string,address,string,uint)\""},"value":"log(string,address,string,uint)"},{"id":16895,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16882,"src":"40721:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16896,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16884,"src":"40725:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16897,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16886,"src":"40729:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16898,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16888,"src":"40733:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349","typeString":"literal_string \"log(string,address,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16892,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40662:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40662:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40662:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16891,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40646:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40646:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16901,"nodeType":"ExpressionStatement","src":"40646:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40561:3:14","parameters":{"id":16889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16882,"mutability":"mutable","name":"p0","nameLocation":"40579:2:14","nodeType":"VariableDeclaration","scope":16903,"src":"40565:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16881,"name":"string","nodeType":"ElementaryTypeName","src":"40565:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16884,"mutability":"mutable","name":"p1","nameLocation":"40591:2:14","nodeType":"VariableDeclaration","scope":16903,"src":"40583:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16883,"name":"address","nodeType":"ElementaryTypeName","src":"40583:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16886,"mutability":"mutable","name":"p2","nameLocation":"40609:2:14","nodeType":"VariableDeclaration","scope":16903,"src":"40595:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16885,"name":"string","nodeType":"ElementaryTypeName","src":"40595:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16888,"mutability":"mutable","name":"p3","nameLocation":"40618:2:14","nodeType":"VariableDeclaration","scope":16903,"src":"40613:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16887,"name":"uint","nodeType":"ElementaryTypeName","src":"40613:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40564:57:14"},"returnParameters":{"id":16890,"nodeType":"ParameterList","parameters":[],"src":"40636:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16926,"nodeType":"FunctionDefinition","src":"40750:203:14","nodes":[],"body":{"id":16925,"nodeType":"Block","src":"40843:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":16917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40893:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":16918,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16905,"src":"40930:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16919,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16907,"src":"40934:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16920,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16909,"src":"40938:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16921,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16911,"src":"40942:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16915,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40869:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40869:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40869:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16914,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40853:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40853:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16924,"nodeType":"ExpressionStatement","src":"40853:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40759:3:14","parameters":{"id":16912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16905,"mutability":"mutable","name":"p0","nameLocation":"40777:2:14","nodeType":"VariableDeclaration","scope":16926,"src":"40763:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16904,"name":"string","nodeType":"ElementaryTypeName","src":"40763:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16907,"mutability":"mutable","name":"p1","nameLocation":"40789:2:14","nodeType":"VariableDeclaration","scope":16926,"src":"40781:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16906,"name":"address","nodeType":"ElementaryTypeName","src":"40781:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16909,"mutability":"mutable","name":"p2","nameLocation":"40807:2:14","nodeType":"VariableDeclaration","scope":16926,"src":"40793:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16908,"name":"string","nodeType":"ElementaryTypeName","src":"40793:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16911,"mutability":"mutable","name":"p3","nameLocation":"40825:2:14","nodeType":"VariableDeclaration","scope":16926,"src":"40811:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16910,"name":"string","nodeType":"ElementaryTypeName","src":"40811:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40762:66:14"},"returnParameters":{"id":16913,"nodeType":"ParameterList","parameters":[],"src":"40843:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16949,"nodeType":"FunctionDefinition","src":"40959:192:14","nodes":[],"body":{"id":16948,"nodeType":"Block","src":"41043:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":16940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41093:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":16941,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16928,"src":"41128:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16942,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"41132:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16943,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16932,"src":"41136:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16944,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16934,"src":"41140:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41069:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41069:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41069:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16937,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41053:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41053:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16947,"nodeType":"ExpressionStatement","src":"41053:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40968:3:14","parameters":{"id":16935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16928,"mutability":"mutable","name":"p0","nameLocation":"40986:2:14","nodeType":"VariableDeclaration","scope":16949,"src":"40972:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16927,"name":"string","nodeType":"ElementaryTypeName","src":"40972:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16930,"mutability":"mutable","name":"p1","nameLocation":"40998:2:14","nodeType":"VariableDeclaration","scope":16949,"src":"40990:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16929,"name":"address","nodeType":"ElementaryTypeName","src":"40990:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16932,"mutability":"mutable","name":"p2","nameLocation":"41016:2:14","nodeType":"VariableDeclaration","scope":16949,"src":"41002:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16931,"name":"string","nodeType":"ElementaryTypeName","src":"41002:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16934,"mutability":"mutable","name":"p3","nameLocation":"41025:2:14","nodeType":"VariableDeclaration","scope":16949,"src":"41020:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16933,"name":"bool","nodeType":"ElementaryTypeName","src":"41020:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40971:57:14"},"returnParameters":{"id":16936,"nodeType":"ParameterList","parameters":[],"src":"41043:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16972,"nodeType":"FunctionDefinition","src":"41157:198:14","nodes":[],"body":{"id":16971,"nodeType":"Block","src":"41244:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":16963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41294:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":16964,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16951,"src":"41332:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16965,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16953,"src":"41336:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16966,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16955,"src":"41340:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16967,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16957,"src":"41344:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41270:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41270:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41270:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16960,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41254:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41254:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16970,"nodeType":"ExpressionStatement","src":"41254:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41166:3:14","parameters":{"id":16958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16951,"mutability":"mutable","name":"p0","nameLocation":"41184:2:14","nodeType":"VariableDeclaration","scope":16972,"src":"41170:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16950,"name":"string","nodeType":"ElementaryTypeName","src":"41170:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16953,"mutability":"mutable","name":"p1","nameLocation":"41196:2:14","nodeType":"VariableDeclaration","scope":16972,"src":"41188:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16952,"name":"address","nodeType":"ElementaryTypeName","src":"41188:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16955,"mutability":"mutable","name":"p2","nameLocation":"41214:2:14","nodeType":"VariableDeclaration","scope":16972,"src":"41200:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16954,"name":"string","nodeType":"ElementaryTypeName","src":"41200:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16957,"mutability":"mutable","name":"p3","nameLocation":"41226:2:14","nodeType":"VariableDeclaration","scope":16972,"src":"41218:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16956,"name":"address","nodeType":"ElementaryTypeName","src":"41218:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41169:60:14"},"returnParameters":{"id":16959,"nodeType":"ParameterList","parameters":[],"src":"41244:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16995,"nodeType":"FunctionDefinition","src":"41361:181:14","nodes":[],"body":{"id":16994,"nodeType":"Block","src":"41436:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7429","id":16986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41486:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f","typeString":"literal_string \"log(string,address,bool,uint)\""},"value":"log(string,address,bool,uint)"},{"id":16987,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16974,"src":"41519:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16988,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16976,"src":"41523:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16989,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16978,"src":"41527:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16990,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16980,"src":"41531:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f","typeString":"literal_string \"log(string,address,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16984,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41462:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41462:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41462:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16983,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41446:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41446:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16993,"nodeType":"ExpressionStatement","src":"41446:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41370:3:14","parameters":{"id":16981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16974,"mutability":"mutable","name":"p0","nameLocation":"41388:2:14","nodeType":"VariableDeclaration","scope":16995,"src":"41374:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16973,"name":"string","nodeType":"ElementaryTypeName","src":"41374:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16976,"mutability":"mutable","name":"p1","nameLocation":"41400:2:14","nodeType":"VariableDeclaration","scope":16995,"src":"41392:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16975,"name":"address","nodeType":"ElementaryTypeName","src":"41392:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16978,"mutability":"mutable","name":"p2","nameLocation":"41409:2:14","nodeType":"VariableDeclaration","scope":16995,"src":"41404:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16977,"name":"bool","nodeType":"ElementaryTypeName","src":"41404:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16980,"mutability":"mutable","name":"p3","nameLocation":"41418:2:14","nodeType":"VariableDeclaration","scope":16995,"src":"41413:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16979,"name":"uint","nodeType":"ElementaryTypeName","src":"41413:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41373:48:14"},"returnParameters":{"id":16982,"nodeType":"ParameterList","parameters":[],"src":"41436:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17018,"nodeType":"FunctionDefinition","src":"41548:192:14","nodes":[],"body":{"id":17017,"nodeType":"Block","src":"41632:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":17009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41682:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":17010,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16997,"src":"41717:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17011,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16999,"src":"41721:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17012,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17001,"src":"41725:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17013,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17003,"src":"41729:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17007,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41658:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41658:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41658:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17006,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41642:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41642:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17016,"nodeType":"ExpressionStatement","src":"41642:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41557:3:14","parameters":{"id":17004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16997,"mutability":"mutable","name":"p0","nameLocation":"41575:2:14","nodeType":"VariableDeclaration","scope":17018,"src":"41561:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16996,"name":"string","nodeType":"ElementaryTypeName","src":"41561:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16999,"mutability":"mutable","name":"p1","nameLocation":"41587:2:14","nodeType":"VariableDeclaration","scope":17018,"src":"41579:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16998,"name":"address","nodeType":"ElementaryTypeName","src":"41579:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17001,"mutability":"mutable","name":"p2","nameLocation":"41596:2:14","nodeType":"VariableDeclaration","scope":17018,"src":"41591:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17000,"name":"bool","nodeType":"ElementaryTypeName","src":"41591:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17003,"mutability":"mutable","name":"p3","nameLocation":"41614:2:14","nodeType":"VariableDeclaration","scope":17018,"src":"41600:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17002,"name":"string","nodeType":"ElementaryTypeName","src":"41600:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41560:57:14"},"returnParameters":{"id":17005,"nodeType":"ParameterList","parameters":[],"src":"41632:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17041,"nodeType":"FunctionDefinition","src":"41746:181:14","nodes":[],"body":{"id":17040,"nodeType":"Block","src":"41821:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":17032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41871:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":17033,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17020,"src":"41904:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17034,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17022,"src":"41908:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17035,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17024,"src":"41912:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17036,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17026,"src":"41916:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17030,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41847:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41847:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41847:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17029,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41831:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41831:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17039,"nodeType":"ExpressionStatement","src":"41831:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41755:3:14","parameters":{"id":17027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17020,"mutability":"mutable","name":"p0","nameLocation":"41773:2:14","nodeType":"VariableDeclaration","scope":17041,"src":"41759:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17019,"name":"string","nodeType":"ElementaryTypeName","src":"41759:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17022,"mutability":"mutable","name":"p1","nameLocation":"41785:2:14","nodeType":"VariableDeclaration","scope":17041,"src":"41777:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17021,"name":"address","nodeType":"ElementaryTypeName","src":"41777:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17024,"mutability":"mutable","name":"p2","nameLocation":"41794:2:14","nodeType":"VariableDeclaration","scope":17041,"src":"41789:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17023,"name":"bool","nodeType":"ElementaryTypeName","src":"41789:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17026,"mutability":"mutable","name":"p3","nameLocation":"41803:2:14","nodeType":"VariableDeclaration","scope":17041,"src":"41798:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17025,"name":"bool","nodeType":"ElementaryTypeName","src":"41798:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41758:48:14"},"returnParameters":{"id":17028,"nodeType":"ParameterList","parameters":[],"src":"41821:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17064,"nodeType":"FunctionDefinition","src":"41933:187:14","nodes":[],"body":{"id":17063,"nodeType":"Block","src":"42011:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":17055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42061:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":17056,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17043,"src":"42097:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17057,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17045,"src":"42101:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17058,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17047,"src":"42105:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17059,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17049,"src":"42109:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17053,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42037:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42037:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42037:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17052,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42021:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42021:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17062,"nodeType":"ExpressionStatement","src":"42021:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41942:3:14","parameters":{"id":17050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17043,"mutability":"mutable","name":"p0","nameLocation":"41960:2:14","nodeType":"VariableDeclaration","scope":17064,"src":"41946:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17042,"name":"string","nodeType":"ElementaryTypeName","src":"41946:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17045,"mutability":"mutable","name":"p1","nameLocation":"41972:2:14","nodeType":"VariableDeclaration","scope":17064,"src":"41964:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17044,"name":"address","nodeType":"ElementaryTypeName","src":"41964:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17047,"mutability":"mutable","name":"p2","nameLocation":"41981:2:14","nodeType":"VariableDeclaration","scope":17064,"src":"41976:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17046,"name":"bool","nodeType":"ElementaryTypeName","src":"41976:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17049,"mutability":"mutable","name":"p3","nameLocation":"41993:2:14","nodeType":"VariableDeclaration","scope":17064,"src":"41985:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17048,"name":"address","nodeType":"ElementaryTypeName","src":"41985:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41945:51:14"},"returnParameters":{"id":17051,"nodeType":"ParameterList","parameters":[],"src":"42011:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17087,"nodeType":"FunctionDefinition","src":"42126:187:14","nodes":[],"body":{"id":17086,"nodeType":"Block","src":"42204:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7429","id":17078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42254:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02","typeString":"literal_string \"log(string,address,address,uint)\""},"value":"log(string,address,address,uint)"},{"id":17079,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17066,"src":"42290:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17080,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17068,"src":"42294:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17081,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17070,"src":"42298:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17082,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17072,"src":"42302:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02","typeString":"literal_string \"log(string,address,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42230:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42230:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42230:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42214:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42214:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17085,"nodeType":"ExpressionStatement","src":"42214:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42135:3:14","parameters":{"id":17073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17066,"mutability":"mutable","name":"p0","nameLocation":"42153:2:14","nodeType":"VariableDeclaration","scope":17087,"src":"42139:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17065,"name":"string","nodeType":"ElementaryTypeName","src":"42139:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17068,"mutability":"mutable","name":"p1","nameLocation":"42165:2:14","nodeType":"VariableDeclaration","scope":17087,"src":"42157:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17067,"name":"address","nodeType":"ElementaryTypeName","src":"42157:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17070,"mutability":"mutable","name":"p2","nameLocation":"42177:2:14","nodeType":"VariableDeclaration","scope":17087,"src":"42169:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17069,"name":"address","nodeType":"ElementaryTypeName","src":"42169:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17072,"mutability":"mutable","name":"p3","nameLocation":"42186:2:14","nodeType":"VariableDeclaration","scope":17087,"src":"42181:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17071,"name":"uint","nodeType":"ElementaryTypeName","src":"42181:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42138:51:14"},"returnParameters":{"id":17074,"nodeType":"ParameterList","parameters":[],"src":"42204:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17110,"nodeType":"FunctionDefinition","src":"42319:198:14","nodes":[],"body":{"id":17109,"nodeType":"Block","src":"42406:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":17101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42456:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":17102,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17089,"src":"42494:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17103,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17091,"src":"42498:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17104,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17093,"src":"42502:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17105,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17095,"src":"42506:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17099,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42432:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42432:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42432:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17098,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42416:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42416:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17108,"nodeType":"ExpressionStatement","src":"42416:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42328:3:14","parameters":{"id":17096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17089,"mutability":"mutable","name":"p0","nameLocation":"42346:2:14","nodeType":"VariableDeclaration","scope":17110,"src":"42332:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17088,"name":"string","nodeType":"ElementaryTypeName","src":"42332:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17091,"mutability":"mutable","name":"p1","nameLocation":"42358:2:14","nodeType":"VariableDeclaration","scope":17110,"src":"42350:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17090,"name":"address","nodeType":"ElementaryTypeName","src":"42350:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17093,"mutability":"mutable","name":"p2","nameLocation":"42370:2:14","nodeType":"VariableDeclaration","scope":17110,"src":"42362:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17092,"name":"address","nodeType":"ElementaryTypeName","src":"42362:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17095,"mutability":"mutable","name":"p3","nameLocation":"42388:2:14","nodeType":"VariableDeclaration","scope":17110,"src":"42374:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17094,"name":"string","nodeType":"ElementaryTypeName","src":"42374:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42331:60:14"},"returnParameters":{"id":17097,"nodeType":"ParameterList","parameters":[],"src":"42406:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17133,"nodeType":"FunctionDefinition","src":"42523:187:14","nodes":[],"body":{"id":17132,"nodeType":"Block","src":"42601:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":17124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42651:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":17125,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17112,"src":"42687:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17126,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17114,"src":"42691:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17127,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17116,"src":"42695:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17128,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17118,"src":"42699:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42627:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42627:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42627:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17121,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42611:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42611:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17131,"nodeType":"ExpressionStatement","src":"42611:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42532:3:14","parameters":{"id":17119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17112,"mutability":"mutable","name":"p0","nameLocation":"42550:2:14","nodeType":"VariableDeclaration","scope":17133,"src":"42536:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17111,"name":"string","nodeType":"ElementaryTypeName","src":"42536:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17114,"mutability":"mutable","name":"p1","nameLocation":"42562:2:14","nodeType":"VariableDeclaration","scope":17133,"src":"42554:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17113,"name":"address","nodeType":"ElementaryTypeName","src":"42554:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17116,"mutability":"mutable","name":"p2","nameLocation":"42574:2:14","nodeType":"VariableDeclaration","scope":17133,"src":"42566:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17115,"name":"address","nodeType":"ElementaryTypeName","src":"42566:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17118,"mutability":"mutable","name":"p3","nameLocation":"42583:2:14","nodeType":"VariableDeclaration","scope":17133,"src":"42578:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17117,"name":"bool","nodeType":"ElementaryTypeName","src":"42578:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42535:51:14"},"returnParameters":{"id":17120,"nodeType":"ParameterList","parameters":[],"src":"42601:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17156,"nodeType":"FunctionDefinition","src":"42716:193:14","nodes":[],"body":{"id":17155,"nodeType":"Block","src":"42797:112:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":17147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42847:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":17148,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17135,"src":"42886:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17149,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17137,"src":"42890:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17150,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17139,"src":"42894:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17151,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17141,"src":"42898:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17145,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42823:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42823:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42823:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17144,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42807:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42807:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17154,"nodeType":"ExpressionStatement","src":"42807:95:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42725:3:14","parameters":{"id":17142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17135,"mutability":"mutable","name":"p0","nameLocation":"42743:2:14","nodeType":"VariableDeclaration","scope":17156,"src":"42729:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17134,"name":"string","nodeType":"ElementaryTypeName","src":"42729:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17137,"mutability":"mutable","name":"p1","nameLocation":"42755:2:14","nodeType":"VariableDeclaration","scope":17156,"src":"42747:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17136,"name":"address","nodeType":"ElementaryTypeName","src":"42747:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17139,"mutability":"mutable","name":"p2","nameLocation":"42767:2:14","nodeType":"VariableDeclaration","scope":17156,"src":"42759:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17138,"name":"address","nodeType":"ElementaryTypeName","src":"42759:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17141,"mutability":"mutable","name":"p3","nameLocation":"42779:2:14","nodeType":"VariableDeclaration","scope":17156,"src":"42771:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17140,"name":"address","nodeType":"ElementaryTypeName","src":"42771:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42728:54:14"},"returnParameters":{"id":17143,"nodeType":"ParameterList","parameters":[],"src":"42797:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17179,"nodeType":"FunctionDefinition","src":"42915:164:14","nodes":[],"body":{"id":17178,"nodeType":"Block","src":"42978:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c75696e7429","id":17170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43028:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558","typeString":"literal_string \"log(bool,uint,uint,uint)\""},"value":"log(bool,uint,uint,uint)"},{"id":17171,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17158,"src":"43056:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17172,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17160,"src":"43060:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17173,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17162,"src":"43064:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17174,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17164,"src":"43068:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558","typeString":"literal_string \"log(bool,uint,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17168,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43004:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43004:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43004:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17167,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42988:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42988:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17177,"nodeType":"ExpressionStatement","src":"42988:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42924:3:14","parameters":{"id":17165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17158,"mutability":"mutable","name":"p0","nameLocation":"42933:2:14","nodeType":"VariableDeclaration","scope":17179,"src":"42928:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17157,"name":"bool","nodeType":"ElementaryTypeName","src":"42928:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17160,"mutability":"mutable","name":"p1","nameLocation":"42942:2:14","nodeType":"VariableDeclaration","scope":17179,"src":"42937:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17159,"name":"uint","nodeType":"ElementaryTypeName","src":"42937:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17162,"mutability":"mutable","name":"p2","nameLocation":"42951:2:14","nodeType":"VariableDeclaration","scope":17179,"src":"42946:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17161,"name":"uint","nodeType":"ElementaryTypeName","src":"42946:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17164,"mutability":"mutable","name":"p3","nameLocation":"42960:2:14","nodeType":"VariableDeclaration","scope":17179,"src":"42955:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17163,"name":"uint","nodeType":"ElementaryTypeName","src":"42955:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42927:36:14"},"returnParameters":{"id":17166,"nodeType":"ParameterList","parameters":[],"src":"42978:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17202,"nodeType":"FunctionDefinition","src":"43085:175:14","nodes":[],"body":{"id":17201,"nodeType":"Block","src":"43157:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c737472696e6729","id":17193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43207:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3","typeString":"literal_string \"log(bool,uint,uint,string)\""},"value":"log(bool,uint,uint,string)"},{"id":17194,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17181,"src":"43237:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17195,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17183,"src":"43241:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17196,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17185,"src":"43245:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17197,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17187,"src":"43249:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3","typeString":"literal_string \"log(bool,uint,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17191,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43183:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43183:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43183:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17190,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43167:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43167:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17200,"nodeType":"ExpressionStatement","src":"43167:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43094:3:14","parameters":{"id":17188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17181,"mutability":"mutable","name":"p0","nameLocation":"43103:2:14","nodeType":"VariableDeclaration","scope":17202,"src":"43098:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17180,"name":"bool","nodeType":"ElementaryTypeName","src":"43098:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17183,"mutability":"mutable","name":"p1","nameLocation":"43112:2:14","nodeType":"VariableDeclaration","scope":17202,"src":"43107:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17182,"name":"uint","nodeType":"ElementaryTypeName","src":"43107:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17185,"mutability":"mutable","name":"p2","nameLocation":"43121:2:14","nodeType":"VariableDeclaration","scope":17202,"src":"43116:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17184,"name":"uint","nodeType":"ElementaryTypeName","src":"43116:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17187,"mutability":"mutable","name":"p3","nameLocation":"43139:2:14","nodeType":"VariableDeclaration","scope":17202,"src":"43125:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17186,"name":"string","nodeType":"ElementaryTypeName","src":"43125:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43097:45:14"},"returnParameters":{"id":17189,"nodeType":"ParameterList","parameters":[],"src":"43157:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17225,"nodeType":"FunctionDefinition","src":"43266:164:14","nodes":[],"body":{"id":17224,"nodeType":"Block","src":"43329:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c626f6f6c29","id":17216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43379:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2","typeString":"literal_string \"log(bool,uint,uint,bool)\""},"value":"log(bool,uint,uint,bool)"},{"id":17217,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17204,"src":"43407:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17218,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17206,"src":"43411:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17219,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17208,"src":"43415:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17220,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17210,"src":"43419:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2","typeString":"literal_string \"log(bool,uint,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17214,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43355:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43355:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43355:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17213,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43339:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43339:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17223,"nodeType":"ExpressionStatement","src":"43339:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43275:3:14","parameters":{"id":17211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17204,"mutability":"mutable","name":"p0","nameLocation":"43284:2:14","nodeType":"VariableDeclaration","scope":17225,"src":"43279:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17203,"name":"bool","nodeType":"ElementaryTypeName","src":"43279:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17206,"mutability":"mutable","name":"p1","nameLocation":"43293:2:14","nodeType":"VariableDeclaration","scope":17225,"src":"43288:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17205,"name":"uint","nodeType":"ElementaryTypeName","src":"43288:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17208,"mutability":"mutable","name":"p2","nameLocation":"43302:2:14","nodeType":"VariableDeclaration","scope":17225,"src":"43297:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17207,"name":"uint","nodeType":"ElementaryTypeName","src":"43297:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17210,"mutability":"mutable","name":"p3","nameLocation":"43311:2:14","nodeType":"VariableDeclaration","scope":17225,"src":"43306:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17209,"name":"bool","nodeType":"ElementaryTypeName","src":"43306:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43278:36:14"},"returnParameters":{"id":17212,"nodeType":"ParameterList","parameters":[],"src":"43329:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17248,"nodeType":"FunctionDefinition","src":"43436:170:14","nodes":[],"body":{"id":17247,"nodeType":"Block","src":"43502:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c6164647265737329","id":17239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43552:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33","typeString":"literal_string \"log(bool,uint,uint,address)\""},"value":"log(bool,uint,uint,address)"},{"id":17240,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17227,"src":"43583:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17241,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17229,"src":"43587:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17242,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17231,"src":"43591:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17243,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17233,"src":"43595:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33","typeString":"literal_string \"log(bool,uint,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17237,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43528:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43528:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43528:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17236,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43512:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43512:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17246,"nodeType":"ExpressionStatement","src":"43512:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43445:3:14","parameters":{"id":17234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17227,"mutability":"mutable","name":"p0","nameLocation":"43454:2:14","nodeType":"VariableDeclaration","scope":17248,"src":"43449:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17226,"name":"bool","nodeType":"ElementaryTypeName","src":"43449:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17229,"mutability":"mutable","name":"p1","nameLocation":"43463:2:14","nodeType":"VariableDeclaration","scope":17248,"src":"43458:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17228,"name":"uint","nodeType":"ElementaryTypeName","src":"43458:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17231,"mutability":"mutable","name":"p2","nameLocation":"43472:2:14","nodeType":"VariableDeclaration","scope":17248,"src":"43467:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17230,"name":"uint","nodeType":"ElementaryTypeName","src":"43467:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17233,"mutability":"mutable","name":"p3","nameLocation":"43484:2:14","nodeType":"VariableDeclaration","scope":17248,"src":"43476:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17232,"name":"address","nodeType":"ElementaryTypeName","src":"43476:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43448:39:14"},"returnParameters":{"id":17235,"nodeType":"ParameterList","parameters":[],"src":"43502:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17271,"nodeType":"FunctionDefinition","src":"43612:175:14","nodes":[],"body":{"id":17270,"nodeType":"Block","src":"43684:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c75696e7429","id":17262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43734:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813","typeString":"literal_string \"log(bool,uint,string,uint)\""},"value":"log(bool,uint,string,uint)"},{"id":17263,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17250,"src":"43764:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17264,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17252,"src":"43768:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17265,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17254,"src":"43772:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17266,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17256,"src":"43776:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813","typeString":"literal_string \"log(bool,uint,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17260,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43710:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43710:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43710:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17259,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43694:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43694:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17269,"nodeType":"ExpressionStatement","src":"43694:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43621:3:14","parameters":{"id":17257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17250,"mutability":"mutable","name":"p0","nameLocation":"43630:2:14","nodeType":"VariableDeclaration","scope":17271,"src":"43625:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17249,"name":"bool","nodeType":"ElementaryTypeName","src":"43625:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17252,"mutability":"mutable","name":"p1","nameLocation":"43639:2:14","nodeType":"VariableDeclaration","scope":17271,"src":"43634:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17251,"name":"uint","nodeType":"ElementaryTypeName","src":"43634:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17254,"mutability":"mutable","name":"p2","nameLocation":"43657:2:14","nodeType":"VariableDeclaration","scope":17271,"src":"43643:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17253,"name":"string","nodeType":"ElementaryTypeName","src":"43643:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17256,"mutability":"mutable","name":"p3","nameLocation":"43666:2:14","nodeType":"VariableDeclaration","scope":17271,"src":"43661:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17255,"name":"uint","nodeType":"ElementaryTypeName","src":"43661:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43624:45:14"},"returnParameters":{"id":17258,"nodeType":"ParameterList","parameters":[],"src":"43684:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17294,"nodeType":"FunctionDefinition","src":"43793:186:14","nodes":[],"body":{"id":17293,"nodeType":"Block","src":"43874:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c737472696e6729","id":17285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43924:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee","typeString":"literal_string \"log(bool,uint,string,string)\""},"value":"log(bool,uint,string,string)"},{"id":17286,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17273,"src":"43956:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17287,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17275,"src":"43960:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17288,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17277,"src":"43964:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17289,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17279,"src":"43968:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee","typeString":"literal_string \"log(bool,uint,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17283,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43900:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43900:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43900:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17282,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43884:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43884:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17292,"nodeType":"ExpressionStatement","src":"43884:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43802:3:14","parameters":{"id":17280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17273,"mutability":"mutable","name":"p0","nameLocation":"43811:2:14","nodeType":"VariableDeclaration","scope":17294,"src":"43806:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17272,"name":"bool","nodeType":"ElementaryTypeName","src":"43806:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17275,"mutability":"mutable","name":"p1","nameLocation":"43820:2:14","nodeType":"VariableDeclaration","scope":17294,"src":"43815:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17274,"name":"uint","nodeType":"ElementaryTypeName","src":"43815:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17277,"mutability":"mutable","name":"p2","nameLocation":"43838:2:14","nodeType":"VariableDeclaration","scope":17294,"src":"43824:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17276,"name":"string","nodeType":"ElementaryTypeName","src":"43824:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17279,"mutability":"mutable","name":"p3","nameLocation":"43856:2:14","nodeType":"VariableDeclaration","scope":17294,"src":"43842:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17278,"name":"string","nodeType":"ElementaryTypeName","src":"43842:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43805:54:14"},"returnParameters":{"id":17281,"nodeType":"ParameterList","parameters":[],"src":"43874:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17317,"nodeType":"FunctionDefinition","src":"43985:175:14","nodes":[],"body":{"id":17316,"nodeType":"Block","src":"44057:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c626f6f6c29","id":17308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44107:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16","typeString":"literal_string \"log(bool,uint,string,bool)\""},"value":"log(bool,uint,string,bool)"},{"id":17309,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17296,"src":"44137:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17310,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17298,"src":"44141:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17311,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17300,"src":"44145:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17312,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17302,"src":"44149:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16","typeString":"literal_string \"log(bool,uint,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17306,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44083:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44083:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44083:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17305,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44067:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44067:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17315,"nodeType":"ExpressionStatement","src":"44067:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43994:3:14","parameters":{"id":17303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17296,"mutability":"mutable","name":"p0","nameLocation":"44003:2:14","nodeType":"VariableDeclaration","scope":17317,"src":"43998:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17295,"name":"bool","nodeType":"ElementaryTypeName","src":"43998:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17298,"mutability":"mutable","name":"p1","nameLocation":"44012:2:14","nodeType":"VariableDeclaration","scope":17317,"src":"44007:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17297,"name":"uint","nodeType":"ElementaryTypeName","src":"44007:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17300,"mutability":"mutable","name":"p2","nameLocation":"44030:2:14","nodeType":"VariableDeclaration","scope":17317,"src":"44016:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17299,"name":"string","nodeType":"ElementaryTypeName","src":"44016:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17302,"mutability":"mutable","name":"p3","nameLocation":"44039:2:14","nodeType":"VariableDeclaration","scope":17317,"src":"44034:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17301,"name":"bool","nodeType":"ElementaryTypeName","src":"44034:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43997:45:14"},"returnParameters":{"id":17304,"nodeType":"ParameterList","parameters":[],"src":"44057:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17340,"nodeType":"FunctionDefinition","src":"44166:181:14","nodes":[],"body":{"id":17339,"nodeType":"Block","src":"44241:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c6164647265737329","id":17331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44291:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5","typeString":"literal_string \"log(bool,uint,string,address)\""},"value":"log(bool,uint,string,address)"},{"id":17332,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17319,"src":"44324:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17333,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17321,"src":"44328:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17334,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17323,"src":"44332:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17335,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17325,"src":"44336:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5","typeString":"literal_string \"log(bool,uint,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44267:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44267:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44267:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17328,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44251:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44251:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17338,"nodeType":"ExpressionStatement","src":"44251:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44175:3:14","parameters":{"id":17326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17319,"mutability":"mutable","name":"p0","nameLocation":"44184:2:14","nodeType":"VariableDeclaration","scope":17340,"src":"44179:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17318,"name":"bool","nodeType":"ElementaryTypeName","src":"44179:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17321,"mutability":"mutable","name":"p1","nameLocation":"44193:2:14","nodeType":"VariableDeclaration","scope":17340,"src":"44188:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17320,"name":"uint","nodeType":"ElementaryTypeName","src":"44188:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17323,"mutability":"mutable","name":"p2","nameLocation":"44211:2:14","nodeType":"VariableDeclaration","scope":17340,"src":"44197:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17322,"name":"string","nodeType":"ElementaryTypeName","src":"44197:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17325,"mutability":"mutable","name":"p3","nameLocation":"44223:2:14","nodeType":"VariableDeclaration","scope":17340,"src":"44215:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17324,"name":"address","nodeType":"ElementaryTypeName","src":"44215:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44178:48:14"},"returnParameters":{"id":17327,"nodeType":"ParameterList","parameters":[],"src":"44241:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17363,"nodeType":"FunctionDefinition","src":"44353:164:14","nodes":[],"body":{"id":17362,"nodeType":"Block","src":"44416:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c75696e7429","id":17354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44466:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0","typeString":"literal_string \"log(bool,uint,bool,uint)\""},"value":"log(bool,uint,bool,uint)"},{"id":17355,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17342,"src":"44494:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17356,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17344,"src":"44498:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17357,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17346,"src":"44502:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17358,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17348,"src":"44506:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0","typeString":"literal_string \"log(bool,uint,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17352,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44442:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44442:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44442:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17351,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44426:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44426:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17361,"nodeType":"ExpressionStatement","src":"44426:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44362:3:14","parameters":{"id":17349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17342,"mutability":"mutable","name":"p0","nameLocation":"44371:2:14","nodeType":"VariableDeclaration","scope":17363,"src":"44366:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17341,"name":"bool","nodeType":"ElementaryTypeName","src":"44366:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17344,"mutability":"mutable","name":"p1","nameLocation":"44380:2:14","nodeType":"VariableDeclaration","scope":17363,"src":"44375:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17343,"name":"uint","nodeType":"ElementaryTypeName","src":"44375:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17346,"mutability":"mutable","name":"p2","nameLocation":"44389:2:14","nodeType":"VariableDeclaration","scope":17363,"src":"44384:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17345,"name":"bool","nodeType":"ElementaryTypeName","src":"44384:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17348,"mutability":"mutable","name":"p3","nameLocation":"44398:2:14","nodeType":"VariableDeclaration","scope":17363,"src":"44393:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17347,"name":"uint","nodeType":"ElementaryTypeName","src":"44393:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44365:36:14"},"returnParameters":{"id":17350,"nodeType":"ParameterList","parameters":[],"src":"44416:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17386,"nodeType":"FunctionDefinition","src":"44523:175:14","nodes":[],"body":{"id":17385,"nodeType":"Block","src":"44595:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c737472696e6729","id":17377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44645:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad","typeString":"literal_string \"log(bool,uint,bool,string)\""},"value":"log(bool,uint,bool,string)"},{"id":17378,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17365,"src":"44675:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17379,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17367,"src":"44679:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17380,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17369,"src":"44683:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17381,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17371,"src":"44687:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad","typeString":"literal_string \"log(bool,uint,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17375,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44621:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44621:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44621:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17374,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44605:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44605:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17384,"nodeType":"ExpressionStatement","src":"44605:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44532:3:14","parameters":{"id":17372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17365,"mutability":"mutable","name":"p0","nameLocation":"44541:2:14","nodeType":"VariableDeclaration","scope":17386,"src":"44536:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17364,"name":"bool","nodeType":"ElementaryTypeName","src":"44536:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17367,"mutability":"mutable","name":"p1","nameLocation":"44550:2:14","nodeType":"VariableDeclaration","scope":17386,"src":"44545:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17366,"name":"uint","nodeType":"ElementaryTypeName","src":"44545:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17369,"mutability":"mutable","name":"p2","nameLocation":"44559:2:14","nodeType":"VariableDeclaration","scope":17386,"src":"44554:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17368,"name":"bool","nodeType":"ElementaryTypeName","src":"44554:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17371,"mutability":"mutable","name":"p3","nameLocation":"44577:2:14","nodeType":"VariableDeclaration","scope":17386,"src":"44563:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17370,"name":"string","nodeType":"ElementaryTypeName","src":"44563:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44535:45:14"},"returnParameters":{"id":17373,"nodeType":"ParameterList","parameters":[],"src":"44595:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17409,"nodeType":"FunctionDefinition","src":"44704:164:14","nodes":[],"body":{"id":17408,"nodeType":"Block","src":"44767:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c626f6f6c29","id":17400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44817:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be","typeString":"literal_string \"log(bool,uint,bool,bool)\""},"value":"log(bool,uint,bool,bool)"},{"id":17401,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17388,"src":"44845:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17402,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17390,"src":"44849:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17403,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17392,"src":"44853:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17404,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17394,"src":"44857:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be","typeString":"literal_string \"log(bool,uint,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17398,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44793:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44793:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44793:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17397,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44777:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44777:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17407,"nodeType":"ExpressionStatement","src":"44777:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44713:3:14","parameters":{"id":17395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17388,"mutability":"mutable","name":"p0","nameLocation":"44722:2:14","nodeType":"VariableDeclaration","scope":17409,"src":"44717:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17387,"name":"bool","nodeType":"ElementaryTypeName","src":"44717:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17390,"mutability":"mutable","name":"p1","nameLocation":"44731:2:14","nodeType":"VariableDeclaration","scope":17409,"src":"44726:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17389,"name":"uint","nodeType":"ElementaryTypeName","src":"44726:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17392,"mutability":"mutable","name":"p2","nameLocation":"44740:2:14","nodeType":"VariableDeclaration","scope":17409,"src":"44735:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17391,"name":"bool","nodeType":"ElementaryTypeName","src":"44735:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17394,"mutability":"mutable","name":"p3","nameLocation":"44749:2:14","nodeType":"VariableDeclaration","scope":17409,"src":"44744:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17393,"name":"bool","nodeType":"ElementaryTypeName","src":"44744:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44716:36:14"},"returnParameters":{"id":17396,"nodeType":"ParameterList","parameters":[],"src":"44767:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17432,"nodeType":"FunctionDefinition","src":"44874:170:14","nodes":[],"body":{"id":17431,"nodeType":"Block","src":"44940:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c6164647265737329","id":17423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44990:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b","typeString":"literal_string \"log(bool,uint,bool,address)\""},"value":"log(bool,uint,bool,address)"},{"id":17424,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17411,"src":"45021:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17425,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17413,"src":"45025:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17426,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17415,"src":"45029:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17427,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17417,"src":"45033:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b","typeString":"literal_string \"log(bool,uint,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44966:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44966:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44966:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17420,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44950:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44950:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17430,"nodeType":"ExpressionStatement","src":"44950:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44883:3:14","parameters":{"id":17418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17411,"mutability":"mutable","name":"p0","nameLocation":"44892:2:14","nodeType":"VariableDeclaration","scope":17432,"src":"44887:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17410,"name":"bool","nodeType":"ElementaryTypeName","src":"44887:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17413,"mutability":"mutable","name":"p1","nameLocation":"44901:2:14","nodeType":"VariableDeclaration","scope":17432,"src":"44896:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17412,"name":"uint","nodeType":"ElementaryTypeName","src":"44896:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17415,"mutability":"mutable","name":"p2","nameLocation":"44910:2:14","nodeType":"VariableDeclaration","scope":17432,"src":"44905:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17414,"name":"bool","nodeType":"ElementaryTypeName","src":"44905:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17417,"mutability":"mutable","name":"p3","nameLocation":"44922:2:14","nodeType":"VariableDeclaration","scope":17432,"src":"44914:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17416,"name":"address","nodeType":"ElementaryTypeName","src":"44914:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44886:39:14"},"returnParameters":{"id":17419,"nodeType":"ParameterList","parameters":[],"src":"44940:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17455,"nodeType":"FunctionDefinition","src":"45050:170:14","nodes":[],"body":{"id":17454,"nodeType":"Block","src":"45116:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c75696e7429","id":17446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45166:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d","typeString":"literal_string \"log(bool,uint,address,uint)\""},"value":"log(bool,uint,address,uint)"},{"id":17447,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17434,"src":"45197:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17448,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17436,"src":"45201:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17449,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17438,"src":"45205:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17450,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17440,"src":"45209:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d","typeString":"literal_string \"log(bool,uint,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17444,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45142:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45142:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45142:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17443,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45126:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45126:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17453,"nodeType":"ExpressionStatement","src":"45126:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45059:3:14","parameters":{"id":17441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17434,"mutability":"mutable","name":"p0","nameLocation":"45068:2:14","nodeType":"VariableDeclaration","scope":17455,"src":"45063:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17433,"name":"bool","nodeType":"ElementaryTypeName","src":"45063:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17436,"mutability":"mutable","name":"p1","nameLocation":"45077:2:14","nodeType":"VariableDeclaration","scope":17455,"src":"45072:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17435,"name":"uint","nodeType":"ElementaryTypeName","src":"45072:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17438,"mutability":"mutable","name":"p2","nameLocation":"45089:2:14","nodeType":"VariableDeclaration","scope":17455,"src":"45081:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17437,"name":"address","nodeType":"ElementaryTypeName","src":"45081:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17440,"mutability":"mutable","name":"p3","nameLocation":"45098:2:14","nodeType":"VariableDeclaration","scope":17455,"src":"45093:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17439,"name":"uint","nodeType":"ElementaryTypeName","src":"45093:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45062:39:14"},"returnParameters":{"id":17442,"nodeType":"ParameterList","parameters":[],"src":"45116:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17478,"nodeType":"FunctionDefinition","src":"45226:181:14","nodes":[],"body":{"id":17477,"nodeType":"Block","src":"45301:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c737472696e6729","id":17469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45351:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689","typeString":"literal_string \"log(bool,uint,address,string)\""},"value":"log(bool,uint,address,string)"},{"id":17470,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17457,"src":"45384:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17471,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17459,"src":"45388:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17472,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17461,"src":"45392:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17473,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17463,"src":"45396:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689","typeString":"literal_string \"log(bool,uint,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17467,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45327:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45327:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45327:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17466,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45311:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45311:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17476,"nodeType":"ExpressionStatement","src":"45311:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45235:3:14","parameters":{"id":17464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17457,"mutability":"mutable","name":"p0","nameLocation":"45244:2:14","nodeType":"VariableDeclaration","scope":17478,"src":"45239:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17456,"name":"bool","nodeType":"ElementaryTypeName","src":"45239:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17459,"mutability":"mutable","name":"p1","nameLocation":"45253:2:14","nodeType":"VariableDeclaration","scope":17478,"src":"45248:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17458,"name":"uint","nodeType":"ElementaryTypeName","src":"45248:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17461,"mutability":"mutable","name":"p2","nameLocation":"45265:2:14","nodeType":"VariableDeclaration","scope":17478,"src":"45257:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17460,"name":"address","nodeType":"ElementaryTypeName","src":"45257:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17463,"mutability":"mutable","name":"p3","nameLocation":"45283:2:14","nodeType":"VariableDeclaration","scope":17478,"src":"45269:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17462,"name":"string","nodeType":"ElementaryTypeName","src":"45269:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45238:48:14"},"returnParameters":{"id":17465,"nodeType":"ParameterList","parameters":[],"src":"45301:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17501,"nodeType":"FunctionDefinition","src":"45413:170:14","nodes":[],"body":{"id":17500,"nodeType":"Block","src":"45479:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c626f6f6c29","id":17492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45529:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa","typeString":"literal_string \"log(bool,uint,address,bool)\""},"value":"log(bool,uint,address,bool)"},{"id":17493,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17480,"src":"45560:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17494,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17482,"src":"45564:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17495,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17484,"src":"45568:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17496,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17486,"src":"45572:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa","typeString":"literal_string \"log(bool,uint,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17490,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45505:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45505:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45505:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17489,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45489:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45489:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17499,"nodeType":"ExpressionStatement","src":"45489:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45422:3:14","parameters":{"id":17487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17480,"mutability":"mutable","name":"p0","nameLocation":"45431:2:14","nodeType":"VariableDeclaration","scope":17501,"src":"45426:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17479,"name":"bool","nodeType":"ElementaryTypeName","src":"45426:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17482,"mutability":"mutable","name":"p1","nameLocation":"45440:2:14","nodeType":"VariableDeclaration","scope":17501,"src":"45435:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17481,"name":"uint","nodeType":"ElementaryTypeName","src":"45435:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17484,"mutability":"mutable","name":"p2","nameLocation":"45452:2:14","nodeType":"VariableDeclaration","scope":17501,"src":"45444:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17483,"name":"address","nodeType":"ElementaryTypeName","src":"45444:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17486,"mutability":"mutable","name":"p3","nameLocation":"45461:2:14","nodeType":"VariableDeclaration","scope":17501,"src":"45456:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17485,"name":"bool","nodeType":"ElementaryTypeName","src":"45456:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45425:39:14"},"returnParameters":{"id":17488,"nodeType":"ParameterList","parameters":[],"src":"45479:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17524,"nodeType":"FunctionDefinition","src":"45589:176:14","nodes":[],"body":{"id":17523,"nodeType":"Block","src":"45658:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c6164647265737329","id":17515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45708:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d","typeString":"literal_string \"log(bool,uint,address,address)\""},"value":"log(bool,uint,address,address)"},{"id":17516,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17503,"src":"45742:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17517,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17505,"src":"45746:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17518,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17507,"src":"45750:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17519,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17509,"src":"45754:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d","typeString":"literal_string \"log(bool,uint,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17513,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45684:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45684:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45684:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17512,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45668:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45668:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17522,"nodeType":"ExpressionStatement","src":"45668:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45598:3:14","parameters":{"id":17510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17503,"mutability":"mutable","name":"p0","nameLocation":"45607:2:14","nodeType":"VariableDeclaration","scope":17524,"src":"45602:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17502,"name":"bool","nodeType":"ElementaryTypeName","src":"45602:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17505,"mutability":"mutable","name":"p1","nameLocation":"45616:2:14","nodeType":"VariableDeclaration","scope":17524,"src":"45611:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17504,"name":"uint","nodeType":"ElementaryTypeName","src":"45611:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17507,"mutability":"mutable","name":"p2","nameLocation":"45628:2:14","nodeType":"VariableDeclaration","scope":17524,"src":"45620:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17506,"name":"address","nodeType":"ElementaryTypeName","src":"45620:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17509,"mutability":"mutable","name":"p3","nameLocation":"45640:2:14","nodeType":"VariableDeclaration","scope":17524,"src":"45632:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17508,"name":"address","nodeType":"ElementaryTypeName","src":"45632:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45601:42:14"},"returnParameters":{"id":17511,"nodeType":"ParameterList","parameters":[],"src":"45658:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17547,"nodeType":"FunctionDefinition","src":"45771:175:14","nodes":[],"body":{"id":17546,"nodeType":"Block","src":"45843:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c75696e7429","id":17538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45893:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9","typeString":"literal_string \"log(bool,string,uint,uint)\""},"value":"log(bool,string,uint,uint)"},{"id":17539,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17526,"src":"45923:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17540,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17528,"src":"45927:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17541,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17530,"src":"45931:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17542,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17532,"src":"45935:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9","typeString":"literal_string \"log(bool,string,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17536,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45869:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45869:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45869:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17535,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45853:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45853:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17545,"nodeType":"ExpressionStatement","src":"45853:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45780:3:14","parameters":{"id":17533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17526,"mutability":"mutable","name":"p0","nameLocation":"45789:2:14","nodeType":"VariableDeclaration","scope":17547,"src":"45784:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17525,"name":"bool","nodeType":"ElementaryTypeName","src":"45784:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17528,"mutability":"mutable","name":"p1","nameLocation":"45807:2:14","nodeType":"VariableDeclaration","scope":17547,"src":"45793:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17527,"name":"string","nodeType":"ElementaryTypeName","src":"45793:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17530,"mutability":"mutable","name":"p2","nameLocation":"45816:2:14","nodeType":"VariableDeclaration","scope":17547,"src":"45811:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17529,"name":"uint","nodeType":"ElementaryTypeName","src":"45811:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17532,"mutability":"mutable","name":"p3","nameLocation":"45825:2:14","nodeType":"VariableDeclaration","scope":17547,"src":"45820:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17531,"name":"uint","nodeType":"ElementaryTypeName","src":"45820:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45783:45:14"},"returnParameters":{"id":17534,"nodeType":"ParameterList","parameters":[],"src":"45843:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17570,"nodeType":"FunctionDefinition","src":"45952:186:14","nodes":[],"body":{"id":17569,"nodeType":"Block","src":"46033:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c737472696e6729","id":17561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46083:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649","typeString":"literal_string \"log(bool,string,uint,string)\""},"value":"log(bool,string,uint,string)"},{"id":17562,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17549,"src":"46115:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17563,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17551,"src":"46119:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17564,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17553,"src":"46123:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17565,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17555,"src":"46127:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649","typeString":"literal_string \"log(bool,string,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17559,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46059:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46059:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46059:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17558,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46043:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46043:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17568,"nodeType":"ExpressionStatement","src":"46043:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45961:3:14","parameters":{"id":17556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17549,"mutability":"mutable","name":"p0","nameLocation":"45970:2:14","nodeType":"VariableDeclaration","scope":17570,"src":"45965:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17548,"name":"bool","nodeType":"ElementaryTypeName","src":"45965:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17551,"mutability":"mutable","name":"p1","nameLocation":"45988:2:14","nodeType":"VariableDeclaration","scope":17570,"src":"45974:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17550,"name":"string","nodeType":"ElementaryTypeName","src":"45974:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17553,"mutability":"mutable","name":"p2","nameLocation":"45997:2:14","nodeType":"VariableDeclaration","scope":17570,"src":"45992:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17552,"name":"uint","nodeType":"ElementaryTypeName","src":"45992:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17555,"mutability":"mutable","name":"p3","nameLocation":"46015:2:14","nodeType":"VariableDeclaration","scope":17570,"src":"46001:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17554,"name":"string","nodeType":"ElementaryTypeName","src":"46001:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45964:54:14"},"returnParameters":{"id":17557,"nodeType":"ParameterList","parameters":[],"src":"46033:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17593,"nodeType":"FunctionDefinition","src":"46144:175:14","nodes":[],"body":{"id":17592,"nodeType":"Block","src":"46216:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c626f6f6c29","id":17584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46266:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8","typeString":"literal_string \"log(bool,string,uint,bool)\""},"value":"log(bool,string,uint,bool)"},{"id":17585,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17572,"src":"46296:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17586,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17574,"src":"46300:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17587,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17576,"src":"46304:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17588,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17578,"src":"46308:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8","typeString":"literal_string \"log(bool,string,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46242:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46242:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46242:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17581,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46226:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46226:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17591,"nodeType":"ExpressionStatement","src":"46226:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46153:3:14","parameters":{"id":17579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17572,"mutability":"mutable","name":"p0","nameLocation":"46162:2:14","nodeType":"VariableDeclaration","scope":17593,"src":"46157:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17571,"name":"bool","nodeType":"ElementaryTypeName","src":"46157:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17574,"mutability":"mutable","name":"p1","nameLocation":"46180:2:14","nodeType":"VariableDeclaration","scope":17593,"src":"46166:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17573,"name":"string","nodeType":"ElementaryTypeName","src":"46166:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17576,"mutability":"mutable","name":"p2","nameLocation":"46189:2:14","nodeType":"VariableDeclaration","scope":17593,"src":"46184:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17575,"name":"uint","nodeType":"ElementaryTypeName","src":"46184:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17578,"mutability":"mutable","name":"p3","nameLocation":"46198:2:14","nodeType":"VariableDeclaration","scope":17593,"src":"46193:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17577,"name":"bool","nodeType":"ElementaryTypeName","src":"46193:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46156:45:14"},"returnParameters":{"id":17580,"nodeType":"ParameterList","parameters":[],"src":"46216:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17616,"nodeType":"FunctionDefinition","src":"46325:181:14","nodes":[],"body":{"id":17615,"nodeType":"Block","src":"46400:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c6164647265737329","id":17607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46450:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a","typeString":"literal_string \"log(bool,string,uint,address)\""},"value":"log(bool,string,uint,address)"},{"id":17608,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17595,"src":"46483:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17609,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17597,"src":"46487:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17610,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17599,"src":"46491:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17611,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17601,"src":"46495:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a","typeString":"literal_string \"log(bool,string,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17605,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46426:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46426:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46426:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17604,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46410:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46410:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17614,"nodeType":"ExpressionStatement","src":"46410:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46334:3:14","parameters":{"id":17602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17595,"mutability":"mutable","name":"p0","nameLocation":"46343:2:14","nodeType":"VariableDeclaration","scope":17616,"src":"46338:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17594,"name":"bool","nodeType":"ElementaryTypeName","src":"46338:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17597,"mutability":"mutable","name":"p1","nameLocation":"46361:2:14","nodeType":"VariableDeclaration","scope":17616,"src":"46347:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17596,"name":"string","nodeType":"ElementaryTypeName","src":"46347:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17599,"mutability":"mutable","name":"p2","nameLocation":"46370:2:14","nodeType":"VariableDeclaration","scope":17616,"src":"46365:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17598,"name":"uint","nodeType":"ElementaryTypeName","src":"46365:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17601,"mutability":"mutable","name":"p3","nameLocation":"46382:2:14","nodeType":"VariableDeclaration","scope":17616,"src":"46374:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17600,"name":"address","nodeType":"ElementaryTypeName","src":"46374:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46337:48:14"},"returnParameters":{"id":17603,"nodeType":"ParameterList","parameters":[],"src":"46400:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17639,"nodeType":"FunctionDefinition","src":"46512:186:14","nodes":[],"body":{"id":17638,"nodeType":"Block","src":"46593:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7429","id":17630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46643:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df","typeString":"literal_string \"log(bool,string,string,uint)\""},"value":"log(bool,string,string,uint)"},{"id":17631,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17618,"src":"46675:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17632,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17620,"src":"46679:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17633,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17622,"src":"46683:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17634,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17624,"src":"46687:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df","typeString":"literal_string \"log(bool,string,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17628,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46619:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46619:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46619:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17627,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46603:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46603:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17637,"nodeType":"ExpressionStatement","src":"46603:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46521:3:14","parameters":{"id":17625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17618,"mutability":"mutable","name":"p0","nameLocation":"46530:2:14","nodeType":"VariableDeclaration","scope":17639,"src":"46525:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17617,"name":"bool","nodeType":"ElementaryTypeName","src":"46525:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17620,"mutability":"mutable","name":"p1","nameLocation":"46548:2:14","nodeType":"VariableDeclaration","scope":17639,"src":"46534:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17619,"name":"string","nodeType":"ElementaryTypeName","src":"46534:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17622,"mutability":"mutable","name":"p2","nameLocation":"46566:2:14","nodeType":"VariableDeclaration","scope":17639,"src":"46552:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17621,"name":"string","nodeType":"ElementaryTypeName","src":"46552:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17624,"mutability":"mutable","name":"p3","nameLocation":"46575:2:14","nodeType":"VariableDeclaration","scope":17639,"src":"46570:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17623,"name":"uint","nodeType":"ElementaryTypeName","src":"46570:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46524:54:14"},"returnParameters":{"id":17626,"nodeType":"ParameterList","parameters":[],"src":"46593:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17662,"nodeType":"FunctionDefinition","src":"46704:197:14","nodes":[],"body":{"id":17661,"nodeType":"Block","src":"46794:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":17653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46844:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":17654,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17641,"src":"46878:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17655,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17643,"src":"46882:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17656,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17645,"src":"46886:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17657,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17647,"src":"46890:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17651,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46820:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46820:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46820:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17650,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46804:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46804:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17660,"nodeType":"ExpressionStatement","src":"46804:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46713:3:14","parameters":{"id":17648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17641,"mutability":"mutable","name":"p0","nameLocation":"46722:2:14","nodeType":"VariableDeclaration","scope":17662,"src":"46717:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17640,"name":"bool","nodeType":"ElementaryTypeName","src":"46717:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17643,"mutability":"mutable","name":"p1","nameLocation":"46740:2:14","nodeType":"VariableDeclaration","scope":17662,"src":"46726:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17642,"name":"string","nodeType":"ElementaryTypeName","src":"46726:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17645,"mutability":"mutable","name":"p2","nameLocation":"46758:2:14","nodeType":"VariableDeclaration","scope":17662,"src":"46744:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17644,"name":"string","nodeType":"ElementaryTypeName","src":"46744:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17647,"mutability":"mutable","name":"p3","nameLocation":"46776:2:14","nodeType":"VariableDeclaration","scope":17662,"src":"46762:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17646,"name":"string","nodeType":"ElementaryTypeName","src":"46762:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46716:63:14"},"returnParameters":{"id":17649,"nodeType":"ParameterList","parameters":[],"src":"46794:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17685,"nodeType":"FunctionDefinition","src":"46907:186:14","nodes":[],"body":{"id":17684,"nodeType":"Block","src":"46988:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":17676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47038:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":17677,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17664,"src":"47070:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17678,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17666,"src":"47074:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17679,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17668,"src":"47078:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17680,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17670,"src":"47082:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17674,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47014:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47014:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47014:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17673,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46998:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46998:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17683,"nodeType":"ExpressionStatement","src":"46998:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46916:3:14","parameters":{"id":17671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17664,"mutability":"mutable","name":"p0","nameLocation":"46925:2:14","nodeType":"VariableDeclaration","scope":17685,"src":"46920:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17663,"name":"bool","nodeType":"ElementaryTypeName","src":"46920:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17666,"mutability":"mutable","name":"p1","nameLocation":"46943:2:14","nodeType":"VariableDeclaration","scope":17685,"src":"46929:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17665,"name":"string","nodeType":"ElementaryTypeName","src":"46929:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17668,"mutability":"mutable","name":"p2","nameLocation":"46961:2:14","nodeType":"VariableDeclaration","scope":17685,"src":"46947:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17667,"name":"string","nodeType":"ElementaryTypeName","src":"46947:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17670,"mutability":"mutable","name":"p3","nameLocation":"46970:2:14","nodeType":"VariableDeclaration","scope":17685,"src":"46965:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17669,"name":"bool","nodeType":"ElementaryTypeName","src":"46965:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46919:54:14"},"returnParameters":{"id":17672,"nodeType":"ParameterList","parameters":[],"src":"46988:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17708,"nodeType":"FunctionDefinition","src":"47099:192:14","nodes":[],"body":{"id":17707,"nodeType":"Block","src":"47183:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":17699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47233:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":17700,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17687,"src":"47268:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17701,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17689,"src":"47272:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17702,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17691,"src":"47276:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17703,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17693,"src":"47280:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17697,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47209:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47209:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47209:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17696,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47193:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47193:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17706,"nodeType":"ExpressionStatement","src":"47193:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47108:3:14","parameters":{"id":17694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17687,"mutability":"mutable","name":"p0","nameLocation":"47117:2:14","nodeType":"VariableDeclaration","scope":17708,"src":"47112:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17686,"name":"bool","nodeType":"ElementaryTypeName","src":"47112:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17689,"mutability":"mutable","name":"p1","nameLocation":"47135:2:14","nodeType":"VariableDeclaration","scope":17708,"src":"47121:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17688,"name":"string","nodeType":"ElementaryTypeName","src":"47121:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17691,"mutability":"mutable","name":"p2","nameLocation":"47153:2:14","nodeType":"VariableDeclaration","scope":17708,"src":"47139:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17690,"name":"string","nodeType":"ElementaryTypeName","src":"47139:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17693,"mutability":"mutable","name":"p3","nameLocation":"47165:2:14","nodeType":"VariableDeclaration","scope":17708,"src":"47157:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17692,"name":"address","nodeType":"ElementaryTypeName","src":"47157:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47111:57:14"},"returnParameters":{"id":17695,"nodeType":"ParameterList","parameters":[],"src":"47183:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17731,"nodeType":"FunctionDefinition","src":"47297:175:14","nodes":[],"body":{"id":17730,"nodeType":"Block","src":"47369:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7429","id":17722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47419:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055","typeString":"literal_string \"log(bool,string,bool,uint)\""},"value":"log(bool,string,bool,uint)"},{"id":17723,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17710,"src":"47449:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17724,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17712,"src":"47453:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17725,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17714,"src":"47457:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17726,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17716,"src":"47461:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055","typeString":"literal_string \"log(bool,string,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17720,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47395:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47395:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47395:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17719,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47379:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47379:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17729,"nodeType":"ExpressionStatement","src":"47379:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47306:3:14","parameters":{"id":17717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17710,"mutability":"mutable","name":"p0","nameLocation":"47315:2:14","nodeType":"VariableDeclaration","scope":17731,"src":"47310:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17709,"name":"bool","nodeType":"ElementaryTypeName","src":"47310:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17712,"mutability":"mutable","name":"p1","nameLocation":"47333:2:14","nodeType":"VariableDeclaration","scope":17731,"src":"47319:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17711,"name":"string","nodeType":"ElementaryTypeName","src":"47319:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17714,"mutability":"mutable","name":"p2","nameLocation":"47342:2:14","nodeType":"VariableDeclaration","scope":17731,"src":"47337:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17713,"name":"bool","nodeType":"ElementaryTypeName","src":"47337:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17716,"mutability":"mutable","name":"p3","nameLocation":"47351:2:14","nodeType":"VariableDeclaration","scope":17731,"src":"47346:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17715,"name":"uint","nodeType":"ElementaryTypeName","src":"47346:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47309:45:14"},"returnParameters":{"id":17718,"nodeType":"ParameterList","parameters":[],"src":"47369:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17754,"nodeType":"FunctionDefinition","src":"47478:186:14","nodes":[],"body":{"id":17753,"nodeType":"Block","src":"47559:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":17745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47609:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":17746,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17733,"src":"47641:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17747,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17735,"src":"47645:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17748,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17737,"src":"47649:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17749,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17739,"src":"47653:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17743,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47585:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47585:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47585:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17742,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47569:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47569:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17752,"nodeType":"ExpressionStatement","src":"47569:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47487:3:14","parameters":{"id":17740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17733,"mutability":"mutable","name":"p0","nameLocation":"47496:2:14","nodeType":"VariableDeclaration","scope":17754,"src":"47491:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17732,"name":"bool","nodeType":"ElementaryTypeName","src":"47491:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17735,"mutability":"mutable","name":"p1","nameLocation":"47514:2:14","nodeType":"VariableDeclaration","scope":17754,"src":"47500:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17734,"name":"string","nodeType":"ElementaryTypeName","src":"47500:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17737,"mutability":"mutable","name":"p2","nameLocation":"47523:2:14","nodeType":"VariableDeclaration","scope":17754,"src":"47518:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17736,"name":"bool","nodeType":"ElementaryTypeName","src":"47518:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17739,"mutability":"mutable","name":"p3","nameLocation":"47541:2:14","nodeType":"VariableDeclaration","scope":17754,"src":"47527:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17738,"name":"string","nodeType":"ElementaryTypeName","src":"47527:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47490:54:14"},"returnParameters":{"id":17741,"nodeType":"ParameterList","parameters":[],"src":"47559:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17777,"nodeType":"FunctionDefinition","src":"47670:175:14","nodes":[],"body":{"id":17776,"nodeType":"Block","src":"47742:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":17768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47792:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":17769,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17756,"src":"47822:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17770,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17758,"src":"47826:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17771,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17760,"src":"47830:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17772,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17762,"src":"47834:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17766,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47768:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47768:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47768:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17765,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47752:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47752:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17775,"nodeType":"ExpressionStatement","src":"47752:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47679:3:14","parameters":{"id":17763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17756,"mutability":"mutable","name":"p0","nameLocation":"47688:2:14","nodeType":"VariableDeclaration","scope":17777,"src":"47683:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17755,"name":"bool","nodeType":"ElementaryTypeName","src":"47683:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17758,"mutability":"mutable","name":"p1","nameLocation":"47706:2:14","nodeType":"VariableDeclaration","scope":17777,"src":"47692:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17757,"name":"string","nodeType":"ElementaryTypeName","src":"47692:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17760,"mutability":"mutable","name":"p2","nameLocation":"47715:2:14","nodeType":"VariableDeclaration","scope":17777,"src":"47710:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17759,"name":"bool","nodeType":"ElementaryTypeName","src":"47710:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17762,"mutability":"mutable","name":"p3","nameLocation":"47724:2:14","nodeType":"VariableDeclaration","scope":17777,"src":"47719:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17761,"name":"bool","nodeType":"ElementaryTypeName","src":"47719:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47682:45:14"},"returnParameters":{"id":17764,"nodeType":"ParameterList","parameters":[],"src":"47742:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17800,"nodeType":"FunctionDefinition","src":"47851:181:14","nodes":[],"body":{"id":17799,"nodeType":"Block","src":"47926:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":17791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47976:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":17792,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17779,"src":"48009:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17793,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17781,"src":"48013:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17794,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17783,"src":"48017:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17795,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17785,"src":"48021:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17789,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47952:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47952:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47952:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17788,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47936:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47936:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17798,"nodeType":"ExpressionStatement","src":"47936:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47860:3:14","parameters":{"id":17786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17779,"mutability":"mutable","name":"p0","nameLocation":"47869:2:14","nodeType":"VariableDeclaration","scope":17800,"src":"47864:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17778,"name":"bool","nodeType":"ElementaryTypeName","src":"47864:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17781,"mutability":"mutable","name":"p1","nameLocation":"47887:2:14","nodeType":"VariableDeclaration","scope":17800,"src":"47873:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17780,"name":"string","nodeType":"ElementaryTypeName","src":"47873:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17783,"mutability":"mutable","name":"p2","nameLocation":"47896:2:14","nodeType":"VariableDeclaration","scope":17800,"src":"47891:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17782,"name":"bool","nodeType":"ElementaryTypeName","src":"47891:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17785,"mutability":"mutable","name":"p3","nameLocation":"47908:2:14","nodeType":"VariableDeclaration","scope":17800,"src":"47900:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17784,"name":"address","nodeType":"ElementaryTypeName","src":"47900:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47863:48:14"},"returnParameters":{"id":17787,"nodeType":"ParameterList","parameters":[],"src":"47926:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17823,"nodeType":"FunctionDefinition","src":"48038:181:14","nodes":[],"body":{"id":17822,"nodeType":"Block","src":"48113:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7429","id":17814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48163:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca","typeString":"literal_string \"log(bool,string,address,uint)\""},"value":"log(bool,string,address,uint)"},{"id":17815,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17802,"src":"48196:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17816,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17804,"src":"48200:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17817,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17806,"src":"48204:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17818,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17808,"src":"48208:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca","typeString":"literal_string \"log(bool,string,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17812,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48139:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48139:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48139:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17811,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48123:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48123:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17821,"nodeType":"ExpressionStatement","src":"48123:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48047:3:14","parameters":{"id":17809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17802,"mutability":"mutable","name":"p0","nameLocation":"48056:2:14","nodeType":"VariableDeclaration","scope":17823,"src":"48051:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17801,"name":"bool","nodeType":"ElementaryTypeName","src":"48051:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17804,"mutability":"mutable","name":"p1","nameLocation":"48074:2:14","nodeType":"VariableDeclaration","scope":17823,"src":"48060:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17803,"name":"string","nodeType":"ElementaryTypeName","src":"48060:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17806,"mutability":"mutable","name":"p2","nameLocation":"48086:2:14","nodeType":"VariableDeclaration","scope":17823,"src":"48078:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17805,"name":"address","nodeType":"ElementaryTypeName","src":"48078:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17808,"mutability":"mutable","name":"p3","nameLocation":"48095:2:14","nodeType":"VariableDeclaration","scope":17823,"src":"48090:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17807,"name":"uint","nodeType":"ElementaryTypeName","src":"48090:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48050:48:14"},"returnParameters":{"id":17810,"nodeType":"ParameterList","parameters":[],"src":"48113:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17846,"nodeType":"FunctionDefinition","src":"48225:192:14","nodes":[],"body":{"id":17845,"nodeType":"Block","src":"48309:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":17837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48359:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":17838,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17825,"src":"48394:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17839,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17827,"src":"48398:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17840,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17829,"src":"48402:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17841,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17831,"src":"48406:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17835,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48335:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48335:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48335:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17834,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48319:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48319:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17844,"nodeType":"ExpressionStatement","src":"48319:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48234:3:14","parameters":{"id":17832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17825,"mutability":"mutable","name":"p0","nameLocation":"48243:2:14","nodeType":"VariableDeclaration","scope":17846,"src":"48238:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17824,"name":"bool","nodeType":"ElementaryTypeName","src":"48238:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17827,"mutability":"mutable","name":"p1","nameLocation":"48261:2:14","nodeType":"VariableDeclaration","scope":17846,"src":"48247:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17826,"name":"string","nodeType":"ElementaryTypeName","src":"48247:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17829,"mutability":"mutable","name":"p2","nameLocation":"48273:2:14","nodeType":"VariableDeclaration","scope":17846,"src":"48265:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17828,"name":"address","nodeType":"ElementaryTypeName","src":"48265:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17831,"mutability":"mutable","name":"p3","nameLocation":"48291:2:14","nodeType":"VariableDeclaration","scope":17846,"src":"48277:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17830,"name":"string","nodeType":"ElementaryTypeName","src":"48277:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48237:57:14"},"returnParameters":{"id":17833,"nodeType":"ParameterList","parameters":[],"src":"48309:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17869,"nodeType":"FunctionDefinition","src":"48423:181:14","nodes":[],"body":{"id":17868,"nodeType":"Block","src":"48498:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":17860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48548:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":17861,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17848,"src":"48581:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17862,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17850,"src":"48585:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17863,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17852,"src":"48589:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17864,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17854,"src":"48593:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17858,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48524:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48524:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48524:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17857,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48508:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48508:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17867,"nodeType":"ExpressionStatement","src":"48508:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48432:3:14","parameters":{"id":17855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17848,"mutability":"mutable","name":"p0","nameLocation":"48441:2:14","nodeType":"VariableDeclaration","scope":17869,"src":"48436:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17847,"name":"bool","nodeType":"ElementaryTypeName","src":"48436:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17850,"mutability":"mutable","name":"p1","nameLocation":"48459:2:14","nodeType":"VariableDeclaration","scope":17869,"src":"48445:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17849,"name":"string","nodeType":"ElementaryTypeName","src":"48445:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17852,"mutability":"mutable","name":"p2","nameLocation":"48471:2:14","nodeType":"VariableDeclaration","scope":17869,"src":"48463:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17851,"name":"address","nodeType":"ElementaryTypeName","src":"48463:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17854,"mutability":"mutable","name":"p3","nameLocation":"48480:2:14","nodeType":"VariableDeclaration","scope":17869,"src":"48475:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17853,"name":"bool","nodeType":"ElementaryTypeName","src":"48475:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48435:48:14"},"returnParameters":{"id":17856,"nodeType":"ParameterList","parameters":[],"src":"48498:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17892,"nodeType":"FunctionDefinition","src":"48610:187:14","nodes":[],"body":{"id":17891,"nodeType":"Block","src":"48688:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":17883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48738:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":17884,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17871,"src":"48774:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17885,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17873,"src":"48778:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17886,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17875,"src":"48782:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17887,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17877,"src":"48786:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48714:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48714:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48714:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17880,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48698:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48698:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17890,"nodeType":"ExpressionStatement","src":"48698:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48619:3:14","parameters":{"id":17878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17871,"mutability":"mutable","name":"p0","nameLocation":"48628:2:14","nodeType":"VariableDeclaration","scope":17892,"src":"48623:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17870,"name":"bool","nodeType":"ElementaryTypeName","src":"48623:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17873,"mutability":"mutable","name":"p1","nameLocation":"48646:2:14","nodeType":"VariableDeclaration","scope":17892,"src":"48632:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17872,"name":"string","nodeType":"ElementaryTypeName","src":"48632:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17875,"mutability":"mutable","name":"p2","nameLocation":"48658:2:14","nodeType":"VariableDeclaration","scope":17892,"src":"48650:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17874,"name":"address","nodeType":"ElementaryTypeName","src":"48650:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17877,"mutability":"mutable","name":"p3","nameLocation":"48670:2:14","nodeType":"VariableDeclaration","scope":17892,"src":"48662:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17876,"name":"address","nodeType":"ElementaryTypeName","src":"48662:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48622:51:14"},"returnParameters":{"id":17879,"nodeType":"ParameterList","parameters":[],"src":"48688:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17915,"nodeType":"FunctionDefinition","src":"48803:164:14","nodes":[],"body":{"id":17914,"nodeType":"Block","src":"48866:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c75696e7429","id":17906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48916:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a","typeString":"literal_string \"log(bool,bool,uint,uint)\""},"value":"log(bool,bool,uint,uint)"},{"id":17907,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17894,"src":"48944:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17908,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17896,"src":"48948:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17909,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17898,"src":"48952:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17910,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17900,"src":"48956:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a","typeString":"literal_string \"log(bool,bool,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17904,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48892:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48892:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48892:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17903,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48876:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48876:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17913,"nodeType":"ExpressionStatement","src":"48876:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48812:3:14","parameters":{"id":17901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17894,"mutability":"mutable","name":"p0","nameLocation":"48821:2:14","nodeType":"VariableDeclaration","scope":17915,"src":"48816:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17893,"name":"bool","nodeType":"ElementaryTypeName","src":"48816:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17896,"mutability":"mutable","name":"p1","nameLocation":"48830:2:14","nodeType":"VariableDeclaration","scope":17915,"src":"48825:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17895,"name":"bool","nodeType":"ElementaryTypeName","src":"48825:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17898,"mutability":"mutable","name":"p2","nameLocation":"48839:2:14","nodeType":"VariableDeclaration","scope":17915,"src":"48834:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17897,"name":"uint","nodeType":"ElementaryTypeName","src":"48834:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17900,"mutability":"mutable","name":"p3","nameLocation":"48848:2:14","nodeType":"VariableDeclaration","scope":17915,"src":"48843:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17899,"name":"uint","nodeType":"ElementaryTypeName","src":"48843:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48815:36:14"},"returnParameters":{"id":17902,"nodeType":"ParameterList","parameters":[],"src":"48866:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17938,"nodeType":"FunctionDefinition","src":"48973:175:14","nodes":[],"body":{"id":17937,"nodeType":"Block","src":"49045:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c737472696e6729","id":17929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49095:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc","typeString":"literal_string \"log(bool,bool,uint,string)\""},"value":"log(bool,bool,uint,string)"},{"id":17930,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17917,"src":"49125:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17931,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17919,"src":"49129:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17932,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17921,"src":"49133:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17933,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17923,"src":"49137:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc","typeString":"literal_string \"log(bool,bool,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17927,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49071:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49071:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49071:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17926,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49055:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49055:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17936,"nodeType":"ExpressionStatement","src":"49055:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48982:3:14","parameters":{"id":17924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17917,"mutability":"mutable","name":"p0","nameLocation":"48991:2:14","nodeType":"VariableDeclaration","scope":17938,"src":"48986:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17916,"name":"bool","nodeType":"ElementaryTypeName","src":"48986:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17919,"mutability":"mutable","name":"p1","nameLocation":"49000:2:14","nodeType":"VariableDeclaration","scope":17938,"src":"48995:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17918,"name":"bool","nodeType":"ElementaryTypeName","src":"48995:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17921,"mutability":"mutable","name":"p2","nameLocation":"49009:2:14","nodeType":"VariableDeclaration","scope":17938,"src":"49004:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17920,"name":"uint","nodeType":"ElementaryTypeName","src":"49004:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17923,"mutability":"mutable","name":"p3","nameLocation":"49027:2:14","nodeType":"VariableDeclaration","scope":17938,"src":"49013:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17922,"name":"string","nodeType":"ElementaryTypeName","src":"49013:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48985:45:14"},"returnParameters":{"id":17925,"nodeType":"ParameterList","parameters":[],"src":"49045:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17961,"nodeType":"FunctionDefinition","src":"49154:164:14","nodes":[],"body":{"id":17960,"nodeType":"Block","src":"49217:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c626f6f6c29","id":17952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49267:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110","typeString":"literal_string \"log(bool,bool,uint,bool)\""},"value":"log(bool,bool,uint,bool)"},{"id":17953,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17940,"src":"49295:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17954,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17942,"src":"49299:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17955,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17944,"src":"49303:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17956,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17946,"src":"49307:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110","typeString":"literal_string \"log(bool,bool,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17950,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49243:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49243:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49243:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17949,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49227:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49227:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17959,"nodeType":"ExpressionStatement","src":"49227:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49163:3:14","parameters":{"id":17947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17940,"mutability":"mutable","name":"p0","nameLocation":"49172:2:14","nodeType":"VariableDeclaration","scope":17961,"src":"49167:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17939,"name":"bool","nodeType":"ElementaryTypeName","src":"49167:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17942,"mutability":"mutable","name":"p1","nameLocation":"49181:2:14","nodeType":"VariableDeclaration","scope":17961,"src":"49176:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17941,"name":"bool","nodeType":"ElementaryTypeName","src":"49176:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17944,"mutability":"mutable","name":"p2","nameLocation":"49190:2:14","nodeType":"VariableDeclaration","scope":17961,"src":"49185:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17943,"name":"uint","nodeType":"ElementaryTypeName","src":"49185:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17946,"mutability":"mutable","name":"p3","nameLocation":"49199:2:14","nodeType":"VariableDeclaration","scope":17961,"src":"49194:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17945,"name":"bool","nodeType":"ElementaryTypeName","src":"49194:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49166:36:14"},"returnParameters":{"id":17948,"nodeType":"ParameterList","parameters":[],"src":"49217:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17984,"nodeType":"FunctionDefinition","src":"49324:170:14","nodes":[],"body":{"id":17983,"nodeType":"Block","src":"49390:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c6164647265737329","id":17975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49440:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7","typeString":"literal_string \"log(bool,bool,uint,address)\""},"value":"log(bool,bool,uint,address)"},{"id":17976,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17963,"src":"49471:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17977,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17965,"src":"49475:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17978,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17967,"src":"49479:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17979,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17969,"src":"49483:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7","typeString":"literal_string \"log(bool,bool,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17973,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49416:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49416:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49416:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17972,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49400:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49400:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17982,"nodeType":"ExpressionStatement","src":"49400:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49333:3:14","parameters":{"id":17970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17963,"mutability":"mutable","name":"p0","nameLocation":"49342:2:14","nodeType":"VariableDeclaration","scope":17984,"src":"49337:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17962,"name":"bool","nodeType":"ElementaryTypeName","src":"49337:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17965,"mutability":"mutable","name":"p1","nameLocation":"49351:2:14","nodeType":"VariableDeclaration","scope":17984,"src":"49346:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17964,"name":"bool","nodeType":"ElementaryTypeName","src":"49346:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17967,"mutability":"mutable","name":"p2","nameLocation":"49360:2:14","nodeType":"VariableDeclaration","scope":17984,"src":"49355:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17966,"name":"uint","nodeType":"ElementaryTypeName","src":"49355:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17969,"mutability":"mutable","name":"p3","nameLocation":"49372:2:14","nodeType":"VariableDeclaration","scope":17984,"src":"49364:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17968,"name":"address","nodeType":"ElementaryTypeName","src":"49364:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49336:39:14"},"returnParameters":{"id":17971,"nodeType":"ParameterList","parameters":[],"src":"49390:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18007,"nodeType":"FunctionDefinition","src":"49500:175:14","nodes":[],"body":{"id":18006,"nodeType":"Block","src":"49572:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7429","id":17998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49622:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e","typeString":"literal_string \"log(bool,bool,string,uint)\""},"value":"log(bool,bool,string,uint)"},{"id":17999,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17986,"src":"49652:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18000,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17988,"src":"49656:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18001,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17990,"src":"49660:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18002,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17992,"src":"49664:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e","typeString":"literal_string \"log(bool,bool,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17996,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49598:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49598:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49598:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17995,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49582:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49582:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18005,"nodeType":"ExpressionStatement","src":"49582:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49509:3:14","parameters":{"id":17993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17986,"mutability":"mutable","name":"p0","nameLocation":"49518:2:14","nodeType":"VariableDeclaration","scope":18007,"src":"49513:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17985,"name":"bool","nodeType":"ElementaryTypeName","src":"49513:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17988,"mutability":"mutable","name":"p1","nameLocation":"49527:2:14","nodeType":"VariableDeclaration","scope":18007,"src":"49522:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17987,"name":"bool","nodeType":"ElementaryTypeName","src":"49522:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17990,"mutability":"mutable","name":"p2","nameLocation":"49545:2:14","nodeType":"VariableDeclaration","scope":18007,"src":"49531:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17989,"name":"string","nodeType":"ElementaryTypeName","src":"49531:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17992,"mutability":"mutable","name":"p3","nameLocation":"49554:2:14","nodeType":"VariableDeclaration","scope":18007,"src":"49549:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17991,"name":"uint","nodeType":"ElementaryTypeName","src":"49549:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49512:45:14"},"returnParameters":{"id":17994,"nodeType":"ParameterList","parameters":[],"src":"49572:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18030,"nodeType":"FunctionDefinition","src":"49681:186:14","nodes":[],"body":{"id":18029,"nodeType":"Block","src":"49762:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":18021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49812:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":18022,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18009,"src":"49844:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18023,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18011,"src":"49848:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18024,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18013,"src":"49852:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18025,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18015,"src":"49856:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18019,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49788:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49788:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49788:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18018,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49772:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49772:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18028,"nodeType":"ExpressionStatement","src":"49772:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49690:3:14","parameters":{"id":18016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18009,"mutability":"mutable","name":"p0","nameLocation":"49699:2:14","nodeType":"VariableDeclaration","scope":18030,"src":"49694:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18008,"name":"bool","nodeType":"ElementaryTypeName","src":"49694:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18011,"mutability":"mutable","name":"p1","nameLocation":"49708:2:14","nodeType":"VariableDeclaration","scope":18030,"src":"49703:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18010,"name":"bool","nodeType":"ElementaryTypeName","src":"49703:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18013,"mutability":"mutable","name":"p2","nameLocation":"49726:2:14","nodeType":"VariableDeclaration","scope":18030,"src":"49712:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18012,"name":"string","nodeType":"ElementaryTypeName","src":"49712:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18015,"mutability":"mutable","name":"p3","nameLocation":"49744:2:14","nodeType":"VariableDeclaration","scope":18030,"src":"49730:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18014,"name":"string","nodeType":"ElementaryTypeName","src":"49730:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49693:54:14"},"returnParameters":{"id":18017,"nodeType":"ParameterList","parameters":[],"src":"49762:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18053,"nodeType":"FunctionDefinition","src":"49873:175:14","nodes":[],"body":{"id":18052,"nodeType":"Block","src":"49945:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":18044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49995:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":18045,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18032,"src":"50025:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18046,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18034,"src":"50029:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18047,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18036,"src":"50033:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18048,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18038,"src":"50037:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18042,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49971:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49971:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49971:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18041,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49955:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49955:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18051,"nodeType":"ExpressionStatement","src":"49955:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49882:3:14","parameters":{"id":18039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18032,"mutability":"mutable","name":"p0","nameLocation":"49891:2:14","nodeType":"VariableDeclaration","scope":18053,"src":"49886:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18031,"name":"bool","nodeType":"ElementaryTypeName","src":"49886:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18034,"mutability":"mutable","name":"p1","nameLocation":"49900:2:14","nodeType":"VariableDeclaration","scope":18053,"src":"49895:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18033,"name":"bool","nodeType":"ElementaryTypeName","src":"49895:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18036,"mutability":"mutable","name":"p2","nameLocation":"49918:2:14","nodeType":"VariableDeclaration","scope":18053,"src":"49904:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18035,"name":"string","nodeType":"ElementaryTypeName","src":"49904:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18038,"mutability":"mutable","name":"p3","nameLocation":"49927:2:14","nodeType":"VariableDeclaration","scope":18053,"src":"49922:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18037,"name":"bool","nodeType":"ElementaryTypeName","src":"49922:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49885:45:14"},"returnParameters":{"id":18040,"nodeType":"ParameterList","parameters":[],"src":"49945:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18076,"nodeType":"FunctionDefinition","src":"50054:181:14","nodes":[],"body":{"id":18075,"nodeType":"Block","src":"50129:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":18067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50179:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":18068,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18055,"src":"50212:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18069,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"50216:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18070,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"50220:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18071,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"50224:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18065,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50155:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50155:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50155:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18064,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50139:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50139:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18074,"nodeType":"ExpressionStatement","src":"50139:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50063:3:14","parameters":{"id":18062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18055,"mutability":"mutable","name":"p0","nameLocation":"50072:2:14","nodeType":"VariableDeclaration","scope":18076,"src":"50067:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18054,"name":"bool","nodeType":"ElementaryTypeName","src":"50067:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18057,"mutability":"mutable","name":"p1","nameLocation":"50081:2:14","nodeType":"VariableDeclaration","scope":18076,"src":"50076:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18056,"name":"bool","nodeType":"ElementaryTypeName","src":"50076:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18059,"mutability":"mutable","name":"p2","nameLocation":"50099:2:14","nodeType":"VariableDeclaration","scope":18076,"src":"50085:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18058,"name":"string","nodeType":"ElementaryTypeName","src":"50085:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18061,"mutability":"mutable","name":"p3","nameLocation":"50111:2:14","nodeType":"VariableDeclaration","scope":18076,"src":"50103:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18060,"name":"address","nodeType":"ElementaryTypeName","src":"50103:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50066:48:14"},"returnParameters":{"id":18063,"nodeType":"ParameterList","parameters":[],"src":"50129:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18099,"nodeType":"FunctionDefinition","src":"50241:164:14","nodes":[],"body":{"id":18098,"nodeType":"Block","src":"50304:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7429","id":18090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50354:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501","typeString":"literal_string \"log(bool,bool,bool,uint)\""},"value":"log(bool,bool,bool,uint)"},{"id":18091,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18078,"src":"50382:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18092,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18080,"src":"50386:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18093,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18082,"src":"50390:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18094,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18084,"src":"50394:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501","typeString":"literal_string \"log(bool,bool,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18088,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50330:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50330:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50330:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18087,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50314:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50314:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18097,"nodeType":"ExpressionStatement","src":"50314:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50250:3:14","parameters":{"id":18085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18078,"mutability":"mutable","name":"p0","nameLocation":"50259:2:14","nodeType":"VariableDeclaration","scope":18099,"src":"50254:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18077,"name":"bool","nodeType":"ElementaryTypeName","src":"50254:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18080,"mutability":"mutable","name":"p1","nameLocation":"50268:2:14","nodeType":"VariableDeclaration","scope":18099,"src":"50263:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18079,"name":"bool","nodeType":"ElementaryTypeName","src":"50263:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18082,"mutability":"mutable","name":"p2","nameLocation":"50277:2:14","nodeType":"VariableDeclaration","scope":18099,"src":"50272:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18081,"name":"bool","nodeType":"ElementaryTypeName","src":"50272:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18084,"mutability":"mutable","name":"p3","nameLocation":"50286:2:14","nodeType":"VariableDeclaration","scope":18099,"src":"50281:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18083,"name":"uint","nodeType":"ElementaryTypeName","src":"50281:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50253:36:14"},"returnParameters":{"id":18086,"nodeType":"ParameterList","parameters":[],"src":"50304:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18122,"nodeType":"FunctionDefinition","src":"50411:175:14","nodes":[],"body":{"id":18121,"nodeType":"Block","src":"50483:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":18113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50533:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":18114,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18101,"src":"50563:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18115,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18103,"src":"50567:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18116,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18105,"src":"50571:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18117,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18107,"src":"50575:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18111,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50509:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50509:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50509:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18110,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50493:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50493:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18120,"nodeType":"ExpressionStatement","src":"50493:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50420:3:14","parameters":{"id":18108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18101,"mutability":"mutable","name":"p0","nameLocation":"50429:2:14","nodeType":"VariableDeclaration","scope":18122,"src":"50424:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18100,"name":"bool","nodeType":"ElementaryTypeName","src":"50424:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18103,"mutability":"mutable","name":"p1","nameLocation":"50438:2:14","nodeType":"VariableDeclaration","scope":18122,"src":"50433:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18102,"name":"bool","nodeType":"ElementaryTypeName","src":"50433:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18105,"mutability":"mutable","name":"p2","nameLocation":"50447:2:14","nodeType":"VariableDeclaration","scope":18122,"src":"50442:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18104,"name":"bool","nodeType":"ElementaryTypeName","src":"50442:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18107,"mutability":"mutable","name":"p3","nameLocation":"50465:2:14","nodeType":"VariableDeclaration","scope":18122,"src":"50451:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18106,"name":"string","nodeType":"ElementaryTypeName","src":"50451:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50423:45:14"},"returnParameters":{"id":18109,"nodeType":"ParameterList","parameters":[],"src":"50483:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18145,"nodeType":"FunctionDefinition","src":"50592:164:14","nodes":[],"body":{"id":18144,"nodeType":"Block","src":"50655:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":18136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50705:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":18137,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18124,"src":"50733:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18138,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18126,"src":"50737:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18139,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18128,"src":"50741:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18140,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18130,"src":"50745:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18134,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50681:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50681:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50681:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18133,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50665:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50665:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18143,"nodeType":"ExpressionStatement","src":"50665:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50601:3:14","parameters":{"id":18131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18124,"mutability":"mutable","name":"p0","nameLocation":"50610:2:14","nodeType":"VariableDeclaration","scope":18145,"src":"50605:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18123,"name":"bool","nodeType":"ElementaryTypeName","src":"50605:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18126,"mutability":"mutable","name":"p1","nameLocation":"50619:2:14","nodeType":"VariableDeclaration","scope":18145,"src":"50614:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18125,"name":"bool","nodeType":"ElementaryTypeName","src":"50614:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18128,"mutability":"mutable","name":"p2","nameLocation":"50628:2:14","nodeType":"VariableDeclaration","scope":18145,"src":"50623:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18127,"name":"bool","nodeType":"ElementaryTypeName","src":"50623:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18130,"mutability":"mutable","name":"p3","nameLocation":"50637:2:14","nodeType":"VariableDeclaration","scope":18145,"src":"50632:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18129,"name":"bool","nodeType":"ElementaryTypeName","src":"50632:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50604:36:14"},"returnParameters":{"id":18132,"nodeType":"ParameterList","parameters":[],"src":"50655:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18168,"nodeType":"FunctionDefinition","src":"50762:170:14","nodes":[],"body":{"id":18167,"nodeType":"Block","src":"50828:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":18159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50878:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":18160,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18147,"src":"50909:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18161,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18149,"src":"50913:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18162,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18151,"src":"50917:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18163,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18153,"src":"50921:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18157,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50854:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50854:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50854:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18156,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50838:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50838:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18166,"nodeType":"ExpressionStatement","src":"50838:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50771:3:14","parameters":{"id":18154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18147,"mutability":"mutable","name":"p0","nameLocation":"50780:2:14","nodeType":"VariableDeclaration","scope":18168,"src":"50775:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18146,"name":"bool","nodeType":"ElementaryTypeName","src":"50775:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18149,"mutability":"mutable","name":"p1","nameLocation":"50789:2:14","nodeType":"VariableDeclaration","scope":18168,"src":"50784:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18148,"name":"bool","nodeType":"ElementaryTypeName","src":"50784:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18151,"mutability":"mutable","name":"p2","nameLocation":"50798:2:14","nodeType":"VariableDeclaration","scope":18168,"src":"50793:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18150,"name":"bool","nodeType":"ElementaryTypeName","src":"50793:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18153,"mutability":"mutable","name":"p3","nameLocation":"50810:2:14","nodeType":"VariableDeclaration","scope":18168,"src":"50802:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18152,"name":"address","nodeType":"ElementaryTypeName","src":"50802:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50774:39:14"},"returnParameters":{"id":18155,"nodeType":"ParameterList","parameters":[],"src":"50828:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18191,"nodeType":"FunctionDefinition","src":"50938:170:14","nodes":[],"body":{"id":18190,"nodeType":"Block","src":"51004:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7429","id":18182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51054:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e","typeString":"literal_string \"log(bool,bool,address,uint)\""},"value":"log(bool,bool,address,uint)"},{"id":18183,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18170,"src":"51085:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18184,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18172,"src":"51089:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18185,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18174,"src":"51093:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18186,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18176,"src":"51097:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e","typeString":"literal_string \"log(bool,bool,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18180,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51030:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51030:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51030:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18179,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51014:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51014:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18189,"nodeType":"ExpressionStatement","src":"51014:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50947:3:14","parameters":{"id":18177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18170,"mutability":"mutable","name":"p0","nameLocation":"50956:2:14","nodeType":"VariableDeclaration","scope":18191,"src":"50951:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18169,"name":"bool","nodeType":"ElementaryTypeName","src":"50951:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18172,"mutability":"mutable","name":"p1","nameLocation":"50965:2:14","nodeType":"VariableDeclaration","scope":18191,"src":"50960:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18171,"name":"bool","nodeType":"ElementaryTypeName","src":"50960:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18174,"mutability":"mutable","name":"p2","nameLocation":"50977:2:14","nodeType":"VariableDeclaration","scope":18191,"src":"50969:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18173,"name":"address","nodeType":"ElementaryTypeName","src":"50969:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18176,"mutability":"mutable","name":"p3","nameLocation":"50986:2:14","nodeType":"VariableDeclaration","scope":18191,"src":"50981:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18175,"name":"uint","nodeType":"ElementaryTypeName","src":"50981:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50950:39:14"},"returnParameters":{"id":18178,"nodeType":"ParameterList","parameters":[],"src":"51004:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18214,"nodeType":"FunctionDefinition","src":"51114:181:14","nodes":[],"body":{"id":18213,"nodeType":"Block","src":"51189:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":18205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51239:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":18206,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18193,"src":"51272:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18207,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18195,"src":"51276:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18208,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18197,"src":"51280:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18209,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18199,"src":"51284:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51215:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51215:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51215:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18202,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51199:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51199:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18212,"nodeType":"ExpressionStatement","src":"51199:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51123:3:14","parameters":{"id":18200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18193,"mutability":"mutable","name":"p0","nameLocation":"51132:2:14","nodeType":"VariableDeclaration","scope":18214,"src":"51127:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18192,"name":"bool","nodeType":"ElementaryTypeName","src":"51127:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18195,"mutability":"mutable","name":"p1","nameLocation":"51141:2:14","nodeType":"VariableDeclaration","scope":18214,"src":"51136:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18194,"name":"bool","nodeType":"ElementaryTypeName","src":"51136:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18197,"mutability":"mutable","name":"p2","nameLocation":"51153:2:14","nodeType":"VariableDeclaration","scope":18214,"src":"51145:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18196,"name":"address","nodeType":"ElementaryTypeName","src":"51145:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18199,"mutability":"mutable","name":"p3","nameLocation":"51171:2:14","nodeType":"VariableDeclaration","scope":18214,"src":"51157:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18198,"name":"string","nodeType":"ElementaryTypeName","src":"51157:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51126:48:14"},"returnParameters":{"id":18201,"nodeType":"ParameterList","parameters":[],"src":"51189:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18237,"nodeType":"FunctionDefinition","src":"51301:170:14","nodes":[],"body":{"id":18236,"nodeType":"Block","src":"51367:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":18228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51417:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":18229,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18216,"src":"51448:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18230,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18218,"src":"51452:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18231,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18220,"src":"51456:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18232,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18222,"src":"51460:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18226,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51393:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51393:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51393:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18225,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51377:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51377:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18235,"nodeType":"ExpressionStatement","src":"51377:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51310:3:14","parameters":{"id":18223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18216,"mutability":"mutable","name":"p0","nameLocation":"51319:2:14","nodeType":"VariableDeclaration","scope":18237,"src":"51314:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18215,"name":"bool","nodeType":"ElementaryTypeName","src":"51314:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18218,"mutability":"mutable","name":"p1","nameLocation":"51328:2:14","nodeType":"VariableDeclaration","scope":18237,"src":"51323:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18217,"name":"bool","nodeType":"ElementaryTypeName","src":"51323:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18220,"mutability":"mutable","name":"p2","nameLocation":"51340:2:14","nodeType":"VariableDeclaration","scope":18237,"src":"51332:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18219,"name":"address","nodeType":"ElementaryTypeName","src":"51332:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18222,"mutability":"mutable","name":"p3","nameLocation":"51349:2:14","nodeType":"VariableDeclaration","scope":18237,"src":"51344:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18221,"name":"bool","nodeType":"ElementaryTypeName","src":"51344:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51313:39:14"},"returnParameters":{"id":18224,"nodeType":"ParameterList","parameters":[],"src":"51367:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18260,"nodeType":"FunctionDefinition","src":"51477:176:14","nodes":[],"body":{"id":18259,"nodeType":"Block","src":"51546:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":18251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51596:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":18252,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18239,"src":"51630:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18253,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18241,"src":"51634:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18254,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18243,"src":"51638:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18255,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18245,"src":"51642:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18249,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51572:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51572:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51572:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18248,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51556:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51556:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18258,"nodeType":"ExpressionStatement","src":"51556:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51486:3:14","parameters":{"id":18246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18239,"mutability":"mutable","name":"p0","nameLocation":"51495:2:14","nodeType":"VariableDeclaration","scope":18260,"src":"51490:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18238,"name":"bool","nodeType":"ElementaryTypeName","src":"51490:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18241,"mutability":"mutable","name":"p1","nameLocation":"51504:2:14","nodeType":"VariableDeclaration","scope":18260,"src":"51499:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18240,"name":"bool","nodeType":"ElementaryTypeName","src":"51499:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18243,"mutability":"mutable","name":"p2","nameLocation":"51516:2:14","nodeType":"VariableDeclaration","scope":18260,"src":"51508:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18242,"name":"address","nodeType":"ElementaryTypeName","src":"51508:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18245,"mutability":"mutable","name":"p3","nameLocation":"51528:2:14","nodeType":"VariableDeclaration","scope":18260,"src":"51520:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18244,"name":"address","nodeType":"ElementaryTypeName","src":"51520:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51489:42:14"},"returnParameters":{"id":18247,"nodeType":"ParameterList","parameters":[],"src":"51546:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18283,"nodeType":"FunctionDefinition","src":"51659:170:14","nodes":[],"body":{"id":18282,"nodeType":"Block","src":"51725:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c75696e7429","id":18274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51775:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df","typeString":"literal_string \"log(bool,address,uint,uint)\""},"value":"log(bool,address,uint,uint)"},{"id":18275,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18262,"src":"51806:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18276,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18264,"src":"51810:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18277,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18266,"src":"51814:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18278,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18268,"src":"51818:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df","typeString":"literal_string \"log(bool,address,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18272,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51751:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51751:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51751:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18271,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51735:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51735:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18281,"nodeType":"ExpressionStatement","src":"51735:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51668:3:14","parameters":{"id":18269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18262,"mutability":"mutable","name":"p0","nameLocation":"51677:2:14","nodeType":"VariableDeclaration","scope":18283,"src":"51672:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18261,"name":"bool","nodeType":"ElementaryTypeName","src":"51672:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18264,"mutability":"mutable","name":"p1","nameLocation":"51689:2:14","nodeType":"VariableDeclaration","scope":18283,"src":"51681:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18263,"name":"address","nodeType":"ElementaryTypeName","src":"51681:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18266,"mutability":"mutable","name":"p2","nameLocation":"51698:2:14","nodeType":"VariableDeclaration","scope":18283,"src":"51693:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18265,"name":"uint","nodeType":"ElementaryTypeName","src":"51693:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18268,"mutability":"mutable","name":"p3","nameLocation":"51707:2:14","nodeType":"VariableDeclaration","scope":18283,"src":"51702:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18267,"name":"uint","nodeType":"ElementaryTypeName","src":"51702:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51671:39:14"},"returnParameters":{"id":18270,"nodeType":"ParameterList","parameters":[],"src":"51725:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18306,"nodeType":"FunctionDefinition","src":"51835:181:14","nodes":[],"body":{"id":18305,"nodeType":"Block","src":"51910:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c737472696e6729","id":18297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51960:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45","typeString":"literal_string \"log(bool,address,uint,string)\""},"value":"log(bool,address,uint,string)"},{"id":18298,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18285,"src":"51993:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18299,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18287,"src":"51997:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18300,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18289,"src":"52001:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18301,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18291,"src":"52005:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45","typeString":"literal_string \"log(bool,address,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18295,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51936:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51936:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51936:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18294,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51920:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51920:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18304,"nodeType":"ExpressionStatement","src":"51920:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51844:3:14","parameters":{"id":18292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18285,"mutability":"mutable","name":"p0","nameLocation":"51853:2:14","nodeType":"VariableDeclaration","scope":18306,"src":"51848:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18284,"name":"bool","nodeType":"ElementaryTypeName","src":"51848:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18287,"mutability":"mutable","name":"p1","nameLocation":"51865:2:14","nodeType":"VariableDeclaration","scope":18306,"src":"51857:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18286,"name":"address","nodeType":"ElementaryTypeName","src":"51857:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18289,"mutability":"mutable","name":"p2","nameLocation":"51874:2:14","nodeType":"VariableDeclaration","scope":18306,"src":"51869:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18288,"name":"uint","nodeType":"ElementaryTypeName","src":"51869:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18291,"mutability":"mutable","name":"p3","nameLocation":"51892:2:14","nodeType":"VariableDeclaration","scope":18306,"src":"51878:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18290,"name":"string","nodeType":"ElementaryTypeName","src":"51878:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51847:48:14"},"returnParameters":{"id":18293,"nodeType":"ParameterList","parameters":[],"src":"51910:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18329,"nodeType":"FunctionDefinition","src":"52022:170:14","nodes":[],"body":{"id":18328,"nodeType":"Block","src":"52088:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c626f6f6c29","id":18320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52138:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f","typeString":"literal_string \"log(bool,address,uint,bool)\""},"value":"log(bool,address,uint,bool)"},{"id":18321,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18308,"src":"52169:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18322,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18310,"src":"52173:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18323,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18312,"src":"52177:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18324,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18314,"src":"52181:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f","typeString":"literal_string \"log(bool,address,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18318,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52114:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52114:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52114:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18317,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52098:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52098:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18327,"nodeType":"ExpressionStatement","src":"52098:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52031:3:14","parameters":{"id":18315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18308,"mutability":"mutable","name":"p0","nameLocation":"52040:2:14","nodeType":"VariableDeclaration","scope":18329,"src":"52035:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18307,"name":"bool","nodeType":"ElementaryTypeName","src":"52035:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18310,"mutability":"mutable","name":"p1","nameLocation":"52052:2:14","nodeType":"VariableDeclaration","scope":18329,"src":"52044:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18309,"name":"address","nodeType":"ElementaryTypeName","src":"52044:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18312,"mutability":"mutable","name":"p2","nameLocation":"52061:2:14","nodeType":"VariableDeclaration","scope":18329,"src":"52056:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18311,"name":"uint","nodeType":"ElementaryTypeName","src":"52056:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18314,"mutability":"mutable","name":"p3","nameLocation":"52070:2:14","nodeType":"VariableDeclaration","scope":18329,"src":"52065:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18313,"name":"bool","nodeType":"ElementaryTypeName","src":"52065:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52034:39:14"},"returnParameters":{"id":18316,"nodeType":"ParameterList","parameters":[],"src":"52088:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18352,"nodeType":"FunctionDefinition","src":"52198:176:14","nodes":[],"body":{"id":18351,"nodeType":"Block","src":"52267:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c6164647265737329","id":18343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52317:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687","typeString":"literal_string \"log(bool,address,uint,address)\""},"value":"log(bool,address,uint,address)"},{"id":18344,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18331,"src":"52351:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18345,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18333,"src":"52355:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18346,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18335,"src":"52359:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18347,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18337,"src":"52363:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687","typeString":"literal_string \"log(bool,address,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18341,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52293:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52293:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52293:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18340,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52277:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52277:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18350,"nodeType":"ExpressionStatement","src":"52277:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52207:3:14","parameters":{"id":18338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18331,"mutability":"mutable","name":"p0","nameLocation":"52216:2:14","nodeType":"VariableDeclaration","scope":18352,"src":"52211:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18330,"name":"bool","nodeType":"ElementaryTypeName","src":"52211:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18333,"mutability":"mutable","name":"p1","nameLocation":"52228:2:14","nodeType":"VariableDeclaration","scope":18352,"src":"52220:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18332,"name":"address","nodeType":"ElementaryTypeName","src":"52220:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18335,"mutability":"mutable","name":"p2","nameLocation":"52237:2:14","nodeType":"VariableDeclaration","scope":18352,"src":"52232:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18334,"name":"uint","nodeType":"ElementaryTypeName","src":"52232:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18337,"mutability":"mutable","name":"p3","nameLocation":"52249:2:14","nodeType":"VariableDeclaration","scope":18352,"src":"52241:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18336,"name":"address","nodeType":"ElementaryTypeName","src":"52241:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52210:42:14"},"returnParameters":{"id":18339,"nodeType":"ParameterList","parameters":[],"src":"52267:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18375,"nodeType":"FunctionDefinition","src":"52380:181:14","nodes":[],"body":{"id":18374,"nodeType":"Block","src":"52455:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7429","id":18366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52505:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e","typeString":"literal_string \"log(bool,address,string,uint)\""},"value":"log(bool,address,string,uint)"},{"id":18367,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18354,"src":"52538:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18368,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18356,"src":"52542:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18369,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18358,"src":"52546:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18370,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18360,"src":"52550:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e","typeString":"literal_string \"log(bool,address,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18364,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52481:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52481:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52481:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18363,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52465:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52465:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18373,"nodeType":"ExpressionStatement","src":"52465:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52389:3:14","parameters":{"id":18361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18354,"mutability":"mutable","name":"p0","nameLocation":"52398:2:14","nodeType":"VariableDeclaration","scope":18375,"src":"52393:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18353,"name":"bool","nodeType":"ElementaryTypeName","src":"52393:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18356,"mutability":"mutable","name":"p1","nameLocation":"52410:2:14","nodeType":"VariableDeclaration","scope":18375,"src":"52402:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18355,"name":"address","nodeType":"ElementaryTypeName","src":"52402:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18358,"mutability":"mutable","name":"p2","nameLocation":"52428:2:14","nodeType":"VariableDeclaration","scope":18375,"src":"52414:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18357,"name":"string","nodeType":"ElementaryTypeName","src":"52414:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18360,"mutability":"mutable","name":"p3","nameLocation":"52437:2:14","nodeType":"VariableDeclaration","scope":18375,"src":"52432:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18359,"name":"uint","nodeType":"ElementaryTypeName","src":"52432:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52392:48:14"},"returnParameters":{"id":18362,"nodeType":"ParameterList","parameters":[],"src":"52455:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18398,"nodeType":"FunctionDefinition","src":"52567:192:14","nodes":[],"body":{"id":18397,"nodeType":"Block","src":"52651:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":18389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52701:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":18390,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18377,"src":"52736:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18391,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18379,"src":"52740:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18392,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18381,"src":"52744:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18393,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18383,"src":"52748:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18387,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52677:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52677:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52677:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18386,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52661:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52661:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18396,"nodeType":"ExpressionStatement","src":"52661:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52576:3:14","parameters":{"id":18384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18377,"mutability":"mutable","name":"p0","nameLocation":"52585:2:14","nodeType":"VariableDeclaration","scope":18398,"src":"52580:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18376,"name":"bool","nodeType":"ElementaryTypeName","src":"52580:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18379,"mutability":"mutable","name":"p1","nameLocation":"52597:2:14","nodeType":"VariableDeclaration","scope":18398,"src":"52589:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18378,"name":"address","nodeType":"ElementaryTypeName","src":"52589:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18381,"mutability":"mutable","name":"p2","nameLocation":"52615:2:14","nodeType":"VariableDeclaration","scope":18398,"src":"52601:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18380,"name":"string","nodeType":"ElementaryTypeName","src":"52601:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18383,"mutability":"mutable","name":"p3","nameLocation":"52633:2:14","nodeType":"VariableDeclaration","scope":18398,"src":"52619:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18382,"name":"string","nodeType":"ElementaryTypeName","src":"52619:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52579:57:14"},"returnParameters":{"id":18385,"nodeType":"ParameterList","parameters":[],"src":"52651:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18421,"nodeType":"FunctionDefinition","src":"52765:181:14","nodes":[],"body":{"id":18420,"nodeType":"Block","src":"52840:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":18412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52890:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":18413,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18400,"src":"52923:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18414,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18402,"src":"52927:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18415,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18404,"src":"52931:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18416,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18406,"src":"52935:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18410,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52866:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52866:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52866:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18409,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52850:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52850:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18419,"nodeType":"ExpressionStatement","src":"52850:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52774:3:14","parameters":{"id":18407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18400,"mutability":"mutable","name":"p0","nameLocation":"52783:2:14","nodeType":"VariableDeclaration","scope":18421,"src":"52778:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18399,"name":"bool","nodeType":"ElementaryTypeName","src":"52778:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18402,"mutability":"mutable","name":"p1","nameLocation":"52795:2:14","nodeType":"VariableDeclaration","scope":18421,"src":"52787:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18401,"name":"address","nodeType":"ElementaryTypeName","src":"52787:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18404,"mutability":"mutable","name":"p2","nameLocation":"52813:2:14","nodeType":"VariableDeclaration","scope":18421,"src":"52799:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18403,"name":"string","nodeType":"ElementaryTypeName","src":"52799:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18406,"mutability":"mutable","name":"p3","nameLocation":"52822:2:14","nodeType":"VariableDeclaration","scope":18421,"src":"52817:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18405,"name":"bool","nodeType":"ElementaryTypeName","src":"52817:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52777:48:14"},"returnParameters":{"id":18408,"nodeType":"ParameterList","parameters":[],"src":"52840:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18444,"nodeType":"FunctionDefinition","src":"52952:187:14","nodes":[],"body":{"id":18443,"nodeType":"Block","src":"53030:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":18435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53080:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":18436,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18423,"src":"53116:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18437,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18425,"src":"53120:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18438,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18427,"src":"53124:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18439,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18429,"src":"53128:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18433,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53056:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53056:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53056:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18432,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53040:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53040:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18442,"nodeType":"ExpressionStatement","src":"53040:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52961:3:14","parameters":{"id":18430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18423,"mutability":"mutable","name":"p0","nameLocation":"52970:2:14","nodeType":"VariableDeclaration","scope":18444,"src":"52965:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18422,"name":"bool","nodeType":"ElementaryTypeName","src":"52965:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18425,"mutability":"mutable","name":"p1","nameLocation":"52982:2:14","nodeType":"VariableDeclaration","scope":18444,"src":"52974:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18424,"name":"address","nodeType":"ElementaryTypeName","src":"52974:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18427,"mutability":"mutable","name":"p2","nameLocation":"53000:2:14","nodeType":"VariableDeclaration","scope":18444,"src":"52986:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18426,"name":"string","nodeType":"ElementaryTypeName","src":"52986:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18429,"mutability":"mutable","name":"p3","nameLocation":"53012:2:14","nodeType":"VariableDeclaration","scope":18444,"src":"53004:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18428,"name":"address","nodeType":"ElementaryTypeName","src":"53004:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52964:51:14"},"returnParameters":{"id":18431,"nodeType":"ParameterList","parameters":[],"src":"53030:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18467,"nodeType":"FunctionDefinition","src":"53145:170:14","nodes":[],"body":{"id":18466,"nodeType":"Block","src":"53211:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7429","id":18458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53261:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9","typeString":"literal_string \"log(bool,address,bool,uint)\""},"value":"log(bool,address,bool,uint)"},{"id":18459,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18446,"src":"53292:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18460,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18448,"src":"53296:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18461,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18450,"src":"53300:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18462,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18452,"src":"53304:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9","typeString":"literal_string \"log(bool,address,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18456,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53237:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53237:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53237:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18455,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53221:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53221:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18465,"nodeType":"ExpressionStatement","src":"53221:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53154:3:14","parameters":{"id":18453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18446,"mutability":"mutable","name":"p0","nameLocation":"53163:2:14","nodeType":"VariableDeclaration","scope":18467,"src":"53158:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18445,"name":"bool","nodeType":"ElementaryTypeName","src":"53158:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18448,"mutability":"mutable","name":"p1","nameLocation":"53175:2:14","nodeType":"VariableDeclaration","scope":18467,"src":"53167:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18447,"name":"address","nodeType":"ElementaryTypeName","src":"53167:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18450,"mutability":"mutable","name":"p2","nameLocation":"53184:2:14","nodeType":"VariableDeclaration","scope":18467,"src":"53179:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18449,"name":"bool","nodeType":"ElementaryTypeName","src":"53179:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18452,"mutability":"mutable","name":"p3","nameLocation":"53193:2:14","nodeType":"VariableDeclaration","scope":18467,"src":"53188:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18451,"name":"uint","nodeType":"ElementaryTypeName","src":"53188:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53157:39:14"},"returnParameters":{"id":18454,"nodeType":"ParameterList","parameters":[],"src":"53211:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18490,"nodeType":"FunctionDefinition","src":"53321:181:14","nodes":[],"body":{"id":18489,"nodeType":"Block","src":"53396:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":18481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53446:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":18482,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18469,"src":"53479:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18483,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18471,"src":"53483:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18484,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18473,"src":"53487:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18485,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18475,"src":"53491:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18479,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53422:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53422:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53422:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18478,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53406:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53406:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18488,"nodeType":"ExpressionStatement","src":"53406:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53330:3:14","parameters":{"id":18476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18469,"mutability":"mutable","name":"p0","nameLocation":"53339:2:14","nodeType":"VariableDeclaration","scope":18490,"src":"53334:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18468,"name":"bool","nodeType":"ElementaryTypeName","src":"53334:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18471,"mutability":"mutable","name":"p1","nameLocation":"53351:2:14","nodeType":"VariableDeclaration","scope":18490,"src":"53343:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18470,"name":"address","nodeType":"ElementaryTypeName","src":"53343:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18473,"mutability":"mutable","name":"p2","nameLocation":"53360:2:14","nodeType":"VariableDeclaration","scope":18490,"src":"53355:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18472,"name":"bool","nodeType":"ElementaryTypeName","src":"53355:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18475,"mutability":"mutable","name":"p3","nameLocation":"53378:2:14","nodeType":"VariableDeclaration","scope":18490,"src":"53364:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18474,"name":"string","nodeType":"ElementaryTypeName","src":"53364:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53333:48:14"},"returnParameters":{"id":18477,"nodeType":"ParameterList","parameters":[],"src":"53396:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18513,"nodeType":"FunctionDefinition","src":"53508:170:14","nodes":[],"body":{"id":18512,"nodeType":"Block","src":"53574:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":18504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53624:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":18505,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18492,"src":"53655:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18506,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18494,"src":"53659:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18507,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18496,"src":"53663:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18508,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18498,"src":"53667:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18502,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53600:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53600:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53600:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18501,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53584:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53584:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18511,"nodeType":"ExpressionStatement","src":"53584:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53517:3:14","parameters":{"id":18499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18492,"mutability":"mutable","name":"p0","nameLocation":"53526:2:14","nodeType":"VariableDeclaration","scope":18513,"src":"53521:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18491,"name":"bool","nodeType":"ElementaryTypeName","src":"53521:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18494,"mutability":"mutable","name":"p1","nameLocation":"53538:2:14","nodeType":"VariableDeclaration","scope":18513,"src":"53530:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18493,"name":"address","nodeType":"ElementaryTypeName","src":"53530:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18496,"mutability":"mutable","name":"p2","nameLocation":"53547:2:14","nodeType":"VariableDeclaration","scope":18513,"src":"53542:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18495,"name":"bool","nodeType":"ElementaryTypeName","src":"53542:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18498,"mutability":"mutable","name":"p3","nameLocation":"53556:2:14","nodeType":"VariableDeclaration","scope":18513,"src":"53551:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18497,"name":"bool","nodeType":"ElementaryTypeName","src":"53551:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53520:39:14"},"returnParameters":{"id":18500,"nodeType":"ParameterList","parameters":[],"src":"53574:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18536,"nodeType":"FunctionDefinition","src":"53684:176:14","nodes":[],"body":{"id":18535,"nodeType":"Block","src":"53753:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":18527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53803:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":18528,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18515,"src":"53837:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18529,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18517,"src":"53841:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18530,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18519,"src":"53845:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18531,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18521,"src":"53849:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18525,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53779:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53779:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53779:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18524,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53763:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53763:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18534,"nodeType":"ExpressionStatement","src":"53763:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53693:3:14","parameters":{"id":18522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18515,"mutability":"mutable","name":"p0","nameLocation":"53702:2:14","nodeType":"VariableDeclaration","scope":18536,"src":"53697:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18514,"name":"bool","nodeType":"ElementaryTypeName","src":"53697:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18517,"mutability":"mutable","name":"p1","nameLocation":"53714:2:14","nodeType":"VariableDeclaration","scope":18536,"src":"53706:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18516,"name":"address","nodeType":"ElementaryTypeName","src":"53706:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18519,"mutability":"mutable","name":"p2","nameLocation":"53723:2:14","nodeType":"VariableDeclaration","scope":18536,"src":"53718:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18518,"name":"bool","nodeType":"ElementaryTypeName","src":"53718:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18521,"mutability":"mutable","name":"p3","nameLocation":"53735:2:14","nodeType":"VariableDeclaration","scope":18536,"src":"53727:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18520,"name":"address","nodeType":"ElementaryTypeName","src":"53727:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53696:42:14"},"returnParameters":{"id":18523,"nodeType":"ParameterList","parameters":[],"src":"53753:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18559,"nodeType":"FunctionDefinition","src":"53866:176:14","nodes":[],"body":{"id":18558,"nodeType":"Block","src":"53935:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7429","id":18550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53985:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7","typeString":"literal_string \"log(bool,address,address,uint)\""},"value":"log(bool,address,address,uint)"},{"id":18551,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18538,"src":"54019:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18552,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18540,"src":"54023:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18553,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18542,"src":"54027:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18554,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18544,"src":"54031:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7","typeString":"literal_string \"log(bool,address,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18548,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53961:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53961:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53961:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18547,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53945:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53945:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18557,"nodeType":"ExpressionStatement","src":"53945:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53875:3:14","parameters":{"id":18545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18538,"mutability":"mutable","name":"p0","nameLocation":"53884:2:14","nodeType":"VariableDeclaration","scope":18559,"src":"53879:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18537,"name":"bool","nodeType":"ElementaryTypeName","src":"53879:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18540,"mutability":"mutable","name":"p1","nameLocation":"53896:2:14","nodeType":"VariableDeclaration","scope":18559,"src":"53888:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18539,"name":"address","nodeType":"ElementaryTypeName","src":"53888:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18542,"mutability":"mutable","name":"p2","nameLocation":"53908:2:14","nodeType":"VariableDeclaration","scope":18559,"src":"53900:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18541,"name":"address","nodeType":"ElementaryTypeName","src":"53900:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18544,"mutability":"mutable","name":"p3","nameLocation":"53917:2:14","nodeType":"VariableDeclaration","scope":18559,"src":"53912:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18543,"name":"uint","nodeType":"ElementaryTypeName","src":"53912:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53878:42:14"},"returnParameters":{"id":18546,"nodeType":"ParameterList","parameters":[],"src":"53935:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18582,"nodeType":"FunctionDefinition","src":"54048:187:14","nodes":[],"body":{"id":18581,"nodeType":"Block","src":"54126:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":18573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54176:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":18574,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18561,"src":"54212:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18575,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18563,"src":"54216:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18576,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18565,"src":"54220:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18577,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18567,"src":"54224:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18571,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54152:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54152:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54152:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18570,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54136:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54136:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18580,"nodeType":"ExpressionStatement","src":"54136:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54057:3:14","parameters":{"id":18568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18561,"mutability":"mutable","name":"p0","nameLocation":"54066:2:14","nodeType":"VariableDeclaration","scope":18582,"src":"54061:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18560,"name":"bool","nodeType":"ElementaryTypeName","src":"54061:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18563,"mutability":"mutable","name":"p1","nameLocation":"54078:2:14","nodeType":"VariableDeclaration","scope":18582,"src":"54070:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18562,"name":"address","nodeType":"ElementaryTypeName","src":"54070:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18565,"mutability":"mutable","name":"p2","nameLocation":"54090:2:14","nodeType":"VariableDeclaration","scope":18582,"src":"54082:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18564,"name":"address","nodeType":"ElementaryTypeName","src":"54082:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18567,"mutability":"mutable","name":"p3","nameLocation":"54108:2:14","nodeType":"VariableDeclaration","scope":18582,"src":"54094:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18566,"name":"string","nodeType":"ElementaryTypeName","src":"54094:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54060:51:14"},"returnParameters":{"id":18569,"nodeType":"ParameterList","parameters":[],"src":"54126:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18605,"nodeType":"FunctionDefinition","src":"54241:176:14","nodes":[],"body":{"id":18604,"nodeType":"Block","src":"54310:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":18596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54360:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":18597,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18584,"src":"54394:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18598,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18586,"src":"54398:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18599,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18588,"src":"54402:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18600,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18590,"src":"54406:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18594,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54336:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54336:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54336:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18593,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54320:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54320:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18603,"nodeType":"ExpressionStatement","src":"54320:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54250:3:14","parameters":{"id":18591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18584,"mutability":"mutable","name":"p0","nameLocation":"54259:2:14","nodeType":"VariableDeclaration","scope":18605,"src":"54254:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18583,"name":"bool","nodeType":"ElementaryTypeName","src":"54254:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18586,"mutability":"mutable","name":"p1","nameLocation":"54271:2:14","nodeType":"VariableDeclaration","scope":18605,"src":"54263:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18585,"name":"address","nodeType":"ElementaryTypeName","src":"54263:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18588,"mutability":"mutable","name":"p2","nameLocation":"54283:2:14","nodeType":"VariableDeclaration","scope":18605,"src":"54275:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18587,"name":"address","nodeType":"ElementaryTypeName","src":"54275:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18590,"mutability":"mutable","name":"p3","nameLocation":"54292:2:14","nodeType":"VariableDeclaration","scope":18605,"src":"54287:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18589,"name":"bool","nodeType":"ElementaryTypeName","src":"54287:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54253:42:14"},"returnParameters":{"id":18592,"nodeType":"ParameterList","parameters":[],"src":"54310:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18628,"nodeType":"FunctionDefinition","src":"54423:182:14","nodes":[],"body":{"id":18627,"nodeType":"Block","src":"54495:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":18619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54545:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":18620,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18607,"src":"54582:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18621,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18609,"src":"54586:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18622,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18611,"src":"54590:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18623,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18613,"src":"54594:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18617,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54521:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54521:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54521:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18616,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54505:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54505:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18626,"nodeType":"ExpressionStatement","src":"54505:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54432:3:14","parameters":{"id":18614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18607,"mutability":"mutable","name":"p0","nameLocation":"54441:2:14","nodeType":"VariableDeclaration","scope":18628,"src":"54436:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18606,"name":"bool","nodeType":"ElementaryTypeName","src":"54436:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18609,"mutability":"mutable","name":"p1","nameLocation":"54453:2:14","nodeType":"VariableDeclaration","scope":18628,"src":"54445:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18608,"name":"address","nodeType":"ElementaryTypeName","src":"54445:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18611,"mutability":"mutable","name":"p2","nameLocation":"54465:2:14","nodeType":"VariableDeclaration","scope":18628,"src":"54457:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18610,"name":"address","nodeType":"ElementaryTypeName","src":"54457:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18613,"mutability":"mutable","name":"p3","nameLocation":"54477:2:14","nodeType":"VariableDeclaration","scope":18628,"src":"54469:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18612,"name":"address","nodeType":"ElementaryTypeName","src":"54469:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54435:45:14"},"returnParameters":{"id":18615,"nodeType":"ParameterList","parameters":[],"src":"54495:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18651,"nodeType":"FunctionDefinition","src":"54611:170:14","nodes":[],"body":{"id":18650,"nodeType":"Block","src":"54677:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c75696e7429","id":18642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54727:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1","typeString":"literal_string \"log(address,uint,uint,uint)\""},"value":"log(address,uint,uint,uint)"},{"id":18643,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18630,"src":"54758:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18644,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18632,"src":"54762:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18645,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18634,"src":"54766:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18646,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18636,"src":"54770:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1","typeString":"literal_string \"log(address,uint,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18640,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54703:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54703:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54703:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18639,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54687:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54687:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18649,"nodeType":"ExpressionStatement","src":"54687:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54620:3:14","parameters":{"id":18637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18630,"mutability":"mutable","name":"p0","nameLocation":"54632:2:14","nodeType":"VariableDeclaration","scope":18651,"src":"54624:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18629,"name":"address","nodeType":"ElementaryTypeName","src":"54624:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18632,"mutability":"mutable","name":"p1","nameLocation":"54641:2:14","nodeType":"VariableDeclaration","scope":18651,"src":"54636:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18631,"name":"uint","nodeType":"ElementaryTypeName","src":"54636:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18634,"mutability":"mutable","name":"p2","nameLocation":"54650:2:14","nodeType":"VariableDeclaration","scope":18651,"src":"54645:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18633,"name":"uint","nodeType":"ElementaryTypeName","src":"54645:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18636,"mutability":"mutable","name":"p3","nameLocation":"54659:2:14","nodeType":"VariableDeclaration","scope":18651,"src":"54654:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18635,"name":"uint","nodeType":"ElementaryTypeName","src":"54654:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54623:39:14"},"returnParameters":{"id":18638,"nodeType":"ParameterList","parameters":[],"src":"54677:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18674,"nodeType":"FunctionDefinition","src":"54787:181:14","nodes":[],"body":{"id":18673,"nodeType":"Block","src":"54862:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c737472696e6729","id":18665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54912:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3","typeString":"literal_string \"log(address,uint,uint,string)\""},"value":"log(address,uint,uint,string)"},{"id":18666,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18653,"src":"54945:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18667,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18655,"src":"54949:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18668,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18657,"src":"54953:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18669,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18659,"src":"54957:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3","typeString":"literal_string \"log(address,uint,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18663,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54888:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54888:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54888:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18662,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54872:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54872:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18672,"nodeType":"ExpressionStatement","src":"54872:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54796:3:14","parameters":{"id":18660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18653,"mutability":"mutable","name":"p0","nameLocation":"54808:2:14","nodeType":"VariableDeclaration","scope":18674,"src":"54800:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18652,"name":"address","nodeType":"ElementaryTypeName","src":"54800:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18655,"mutability":"mutable","name":"p1","nameLocation":"54817:2:14","nodeType":"VariableDeclaration","scope":18674,"src":"54812:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18654,"name":"uint","nodeType":"ElementaryTypeName","src":"54812:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18657,"mutability":"mutable","name":"p2","nameLocation":"54826:2:14","nodeType":"VariableDeclaration","scope":18674,"src":"54821:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18656,"name":"uint","nodeType":"ElementaryTypeName","src":"54821:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18659,"mutability":"mutable","name":"p3","nameLocation":"54844:2:14","nodeType":"VariableDeclaration","scope":18674,"src":"54830:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18658,"name":"string","nodeType":"ElementaryTypeName","src":"54830:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54799:48:14"},"returnParameters":{"id":18661,"nodeType":"ParameterList","parameters":[],"src":"54862:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18697,"nodeType":"FunctionDefinition","src":"54974:170:14","nodes":[],"body":{"id":18696,"nodeType":"Block","src":"55040:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c626f6f6c29","id":18688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55090:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393","typeString":"literal_string \"log(address,uint,uint,bool)\""},"value":"log(address,uint,uint,bool)"},{"id":18689,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18676,"src":"55121:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18690,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18678,"src":"55125:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18691,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18680,"src":"55129:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18692,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18682,"src":"55133:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393","typeString":"literal_string \"log(address,uint,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18686,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55066:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55066:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55066:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18685,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55050:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55050:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18695,"nodeType":"ExpressionStatement","src":"55050:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54983:3:14","parameters":{"id":18683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18676,"mutability":"mutable","name":"p0","nameLocation":"54995:2:14","nodeType":"VariableDeclaration","scope":18697,"src":"54987:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18675,"name":"address","nodeType":"ElementaryTypeName","src":"54987:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18678,"mutability":"mutable","name":"p1","nameLocation":"55004:2:14","nodeType":"VariableDeclaration","scope":18697,"src":"54999:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18677,"name":"uint","nodeType":"ElementaryTypeName","src":"54999:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18680,"mutability":"mutable","name":"p2","nameLocation":"55013:2:14","nodeType":"VariableDeclaration","scope":18697,"src":"55008:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18679,"name":"uint","nodeType":"ElementaryTypeName","src":"55008:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18682,"mutability":"mutable","name":"p3","nameLocation":"55022:2:14","nodeType":"VariableDeclaration","scope":18697,"src":"55017:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18681,"name":"bool","nodeType":"ElementaryTypeName","src":"55017:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54986:39:14"},"returnParameters":{"id":18684,"nodeType":"ParameterList","parameters":[],"src":"55040:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18720,"nodeType":"FunctionDefinition","src":"55150:176:14","nodes":[],"body":{"id":18719,"nodeType":"Block","src":"55219:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c6164647265737329","id":18711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55269:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957","typeString":"literal_string \"log(address,uint,uint,address)\""},"value":"log(address,uint,uint,address)"},{"id":18712,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18699,"src":"55303:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18713,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18701,"src":"55307:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18714,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18703,"src":"55311:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18715,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18705,"src":"55315:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957","typeString":"literal_string \"log(address,uint,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18709,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55245:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55245:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55245:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18708,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55229:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55229:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18718,"nodeType":"ExpressionStatement","src":"55229:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55159:3:14","parameters":{"id":18706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18699,"mutability":"mutable","name":"p0","nameLocation":"55171:2:14","nodeType":"VariableDeclaration","scope":18720,"src":"55163:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18698,"name":"address","nodeType":"ElementaryTypeName","src":"55163:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18701,"mutability":"mutable","name":"p1","nameLocation":"55180:2:14","nodeType":"VariableDeclaration","scope":18720,"src":"55175:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18700,"name":"uint","nodeType":"ElementaryTypeName","src":"55175:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18703,"mutability":"mutable","name":"p2","nameLocation":"55189:2:14","nodeType":"VariableDeclaration","scope":18720,"src":"55184:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18702,"name":"uint","nodeType":"ElementaryTypeName","src":"55184:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18705,"mutability":"mutable","name":"p3","nameLocation":"55201:2:14","nodeType":"VariableDeclaration","scope":18720,"src":"55193:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18704,"name":"address","nodeType":"ElementaryTypeName","src":"55193:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55162:42:14"},"returnParameters":{"id":18707,"nodeType":"ParameterList","parameters":[],"src":"55219:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18743,"nodeType":"FunctionDefinition","src":"55332:181:14","nodes":[],"body":{"id":18742,"nodeType":"Block","src":"55407:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c75696e7429","id":18734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55457:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b","typeString":"literal_string \"log(address,uint,string,uint)\""},"value":"log(address,uint,string,uint)"},{"id":18735,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18722,"src":"55490:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18736,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"55494:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18737,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18726,"src":"55498:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18738,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18728,"src":"55502:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b","typeString":"literal_string \"log(address,uint,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18732,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55433:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55433:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55433:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18731,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55417:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55417:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18741,"nodeType":"ExpressionStatement","src":"55417:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55341:3:14","parameters":{"id":18729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18722,"mutability":"mutable","name":"p0","nameLocation":"55353:2:14","nodeType":"VariableDeclaration","scope":18743,"src":"55345:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18721,"name":"address","nodeType":"ElementaryTypeName","src":"55345:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18724,"mutability":"mutable","name":"p1","nameLocation":"55362:2:14","nodeType":"VariableDeclaration","scope":18743,"src":"55357:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18723,"name":"uint","nodeType":"ElementaryTypeName","src":"55357:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18726,"mutability":"mutable","name":"p2","nameLocation":"55380:2:14","nodeType":"VariableDeclaration","scope":18743,"src":"55366:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18725,"name":"string","nodeType":"ElementaryTypeName","src":"55366:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18728,"mutability":"mutable","name":"p3","nameLocation":"55389:2:14","nodeType":"VariableDeclaration","scope":18743,"src":"55384:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18727,"name":"uint","nodeType":"ElementaryTypeName","src":"55384:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55344:48:14"},"returnParameters":{"id":18730,"nodeType":"ParameterList","parameters":[],"src":"55407:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18766,"nodeType":"FunctionDefinition","src":"55519:192:14","nodes":[],"body":{"id":18765,"nodeType":"Block","src":"55603:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c737472696e6729","id":18757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55653:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0","typeString":"literal_string \"log(address,uint,string,string)\""},"value":"log(address,uint,string,string)"},{"id":18758,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18745,"src":"55688:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18759,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18747,"src":"55692:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18760,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18749,"src":"55696:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18761,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18751,"src":"55700:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0","typeString":"literal_string \"log(address,uint,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18755,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55629:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55629:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55629:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18754,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55613:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55613:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18764,"nodeType":"ExpressionStatement","src":"55613:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55528:3:14","parameters":{"id":18752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18745,"mutability":"mutable","name":"p0","nameLocation":"55540:2:14","nodeType":"VariableDeclaration","scope":18766,"src":"55532:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18744,"name":"address","nodeType":"ElementaryTypeName","src":"55532:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18747,"mutability":"mutable","name":"p1","nameLocation":"55549:2:14","nodeType":"VariableDeclaration","scope":18766,"src":"55544:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18746,"name":"uint","nodeType":"ElementaryTypeName","src":"55544:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18749,"mutability":"mutable","name":"p2","nameLocation":"55567:2:14","nodeType":"VariableDeclaration","scope":18766,"src":"55553:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18748,"name":"string","nodeType":"ElementaryTypeName","src":"55553:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18751,"mutability":"mutable","name":"p3","nameLocation":"55585:2:14","nodeType":"VariableDeclaration","scope":18766,"src":"55571:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18750,"name":"string","nodeType":"ElementaryTypeName","src":"55571:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55531:57:14"},"returnParameters":{"id":18753,"nodeType":"ParameterList","parameters":[],"src":"55603:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18789,"nodeType":"FunctionDefinition","src":"55717:181:14","nodes":[],"body":{"id":18788,"nodeType":"Block","src":"55792:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c626f6f6c29","id":18780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55842:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a","typeString":"literal_string \"log(address,uint,string,bool)\""},"value":"log(address,uint,string,bool)"},{"id":18781,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18768,"src":"55875:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18782,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18770,"src":"55879:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18783,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18772,"src":"55883:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18784,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18774,"src":"55887:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a","typeString":"literal_string \"log(address,uint,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18778,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55818:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55818:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55818:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18777,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55802:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55802:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18787,"nodeType":"ExpressionStatement","src":"55802:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55726:3:14","parameters":{"id":18775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18768,"mutability":"mutable","name":"p0","nameLocation":"55738:2:14","nodeType":"VariableDeclaration","scope":18789,"src":"55730:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18767,"name":"address","nodeType":"ElementaryTypeName","src":"55730:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18770,"mutability":"mutable","name":"p1","nameLocation":"55747:2:14","nodeType":"VariableDeclaration","scope":18789,"src":"55742:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18769,"name":"uint","nodeType":"ElementaryTypeName","src":"55742:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18772,"mutability":"mutable","name":"p2","nameLocation":"55765:2:14","nodeType":"VariableDeclaration","scope":18789,"src":"55751:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18771,"name":"string","nodeType":"ElementaryTypeName","src":"55751:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18774,"mutability":"mutable","name":"p3","nameLocation":"55774:2:14","nodeType":"VariableDeclaration","scope":18789,"src":"55769:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18773,"name":"bool","nodeType":"ElementaryTypeName","src":"55769:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55729:48:14"},"returnParameters":{"id":18776,"nodeType":"ParameterList","parameters":[],"src":"55792:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18812,"nodeType":"FunctionDefinition","src":"55904:187:14","nodes":[],"body":{"id":18811,"nodeType":"Block","src":"55982:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c6164647265737329","id":18803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56032:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809","typeString":"literal_string \"log(address,uint,string,address)\""},"value":"log(address,uint,string,address)"},{"id":18804,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18791,"src":"56068:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18805,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18793,"src":"56072:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18806,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18795,"src":"56076:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18807,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18797,"src":"56080:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809","typeString":"literal_string \"log(address,uint,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18801,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56008:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56008:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56008:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18800,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55992:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55992:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18810,"nodeType":"ExpressionStatement","src":"55992:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55913:3:14","parameters":{"id":18798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18791,"mutability":"mutable","name":"p0","nameLocation":"55925:2:14","nodeType":"VariableDeclaration","scope":18812,"src":"55917:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18790,"name":"address","nodeType":"ElementaryTypeName","src":"55917:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18793,"mutability":"mutable","name":"p1","nameLocation":"55934:2:14","nodeType":"VariableDeclaration","scope":18812,"src":"55929:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18792,"name":"uint","nodeType":"ElementaryTypeName","src":"55929:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18795,"mutability":"mutable","name":"p2","nameLocation":"55952:2:14","nodeType":"VariableDeclaration","scope":18812,"src":"55938:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18794,"name":"string","nodeType":"ElementaryTypeName","src":"55938:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18797,"mutability":"mutable","name":"p3","nameLocation":"55964:2:14","nodeType":"VariableDeclaration","scope":18812,"src":"55956:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18796,"name":"address","nodeType":"ElementaryTypeName","src":"55956:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55916:51:14"},"returnParameters":{"id":18799,"nodeType":"ParameterList","parameters":[],"src":"55982:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18835,"nodeType":"FunctionDefinition","src":"56097:170:14","nodes":[],"body":{"id":18834,"nodeType":"Block","src":"56163:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c75696e7429","id":18826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56213:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2","typeString":"literal_string \"log(address,uint,bool,uint)\""},"value":"log(address,uint,bool,uint)"},{"id":18827,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18814,"src":"56244:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18828,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18816,"src":"56248:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18829,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18818,"src":"56252:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18830,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18820,"src":"56256:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2","typeString":"literal_string \"log(address,uint,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18824,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56189:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56189:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56189:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18823,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56173:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56173:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18833,"nodeType":"ExpressionStatement","src":"56173:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56106:3:14","parameters":{"id":18821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18814,"mutability":"mutable","name":"p0","nameLocation":"56118:2:14","nodeType":"VariableDeclaration","scope":18835,"src":"56110:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18813,"name":"address","nodeType":"ElementaryTypeName","src":"56110:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18816,"mutability":"mutable","name":"p1","nameLocation":"56127:2:14","nodeType":"VariableDeclaration","scope":18835,"src":"56122:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18815,"name":"uint","nodeType":"ElementaryTypeName","src":"56122:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18818,"mutability":"mutable","name":"p2","nameLocation":"56136:2:14","nodeType":"VariableDeclaration","scope":18835,"src":"56131:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18817,"name":"bool","nodeType":"ElementaryTypeName","src":"56131:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18820,"mutability":"mutable","name":"p3","nameLocation":"56145:2:14","nodeType":"VariableDeclaration","scope":18835,"src":"56140:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18819,"name":"uint","nodeType":"ElementaryTypeName","src":"56140:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56109:39:14"},"returnParameters":{"id":18822,"nodeType":"ParameterList","parameters":[],"src":"56163:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18858,"nodeType":"FunctionDefinition","src":"56273:181:14","nodes":[],"body":{"id":18857,"nodeType":"Block","src":"56348:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c737472696e6729","id":18849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56398:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f","typeString":"literal_string \"log(address,uint,bool,string)\""},"value":"log(address,uint,bool,string)"},{"id":18850,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18837,"src":"56431:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18851,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18839,"src":"56435:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18852,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18841,"src":"56439:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18853,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18843,"src":"56443:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f","typeString":"literal_string \"log(address,uint,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18847,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56374:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56374:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56374:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18846,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56358:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56358:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18856,"nodeType":"ExpressionStatement","src":"56358:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56282:3:14","parameters":{"id":18844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18837,"mutability":"mutable","name":"p0","nameLocation":"56294:2:14","nodeType":"VariableDeclaration","scope":18858,"src":"56286:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18836,"name":"address","nodeType":"ElementaryTypeName","src":"56286:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18839,"mutability":"mutable","name":"p1","nameLocation":"56303:2:14","nodeType":"VariableDeclaration","scope":18858,"src":"56298:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18838,"name":"uint","nodeType":"ElementaryTypeName","src":"56298:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18841,"mutability":"mutable","name":"p2","nameLocation":"56312:2:14","nodeType":"VariableDeclaration","scope":18858,"src":"56307:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18840,"name":"bool","nodeType":"ElementaryTypeName","src":"56307:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18843,"mutability":"mutable","name":"p3","nameLocation":"56330:2:14","nodeType":"VariableDeclaration","scope":18858,"src":"56316:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18842,"name":"string","nodeType":"ElementaryTypeName","src":"56316:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56285:48:14"},"returnParameters":{"id":18845,"nodeType":"ParameterList","parameters":[],"src":"56348:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18881,"nodeType":"FunctionDefinition","src":"56460:170:14","nodes":[],"body":{"id":18880,"nodeType":"Block","src":"56526:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c626f6f6c29","id":18872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56576:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b","typeString":"literal_string \"log(address,uint,bool,bool)\""},"value":"log(address,uint,bool,bool)"},{"id":18873,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18860,"src":"56607:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18874,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18862,"src":"56611:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18875,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18864,"src":"56615:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18876,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18866,"src":"56619:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b","typeString":"literal_string \"log(address,uint,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18870,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56552:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56552:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56552:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18869,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56536:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56536:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18879,"nodeType":"ExpressionStatement","src":"56536:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56469:3:14","parameters":{"id":18867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18860,"mutability":"mutable","name":"p0","nameLocation":"56481:2:14","nodeType":"VariableDeclaration","scope":18881,"src":"56473:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18859,"name":"address","nodeType":"ElementaryTypeName","src":"56473:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18862,"mutability":"mutable","name":"p1","nameLocation":"56490:2:14","nodeType":"VariableDeclaration","scope":18881,"src":"56485:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18861,"name":"uint","nodeType":"ElementaryTypeName","src":"56485:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18864,"mutability":"mutable","name":"p2","nameLocation":"56499:2:14","nodeType":"VariableDeclaration","scope":18881,"src":"56494:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18863,"name":"bool","nodeType":"ElementaryTypeName","src":"56494:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18866,"mutability":"mutable","name":"p3","nameLocation":"56508:2:14","nodeType":"VariableDeclaration","scope":18881,"src":"56503:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18865,"name":"bool","nodeType":"ElementaryTypeName","src":"56503:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56472:39:14"},"returnParameters":{"id":18868,"nodeType":"ParameterList","parameters":[],"src":"56526:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18904,"nodeType":"FunctionDefinition","src":"56636:176:14","nodes":[],"body":{"id":18903,"nodeType":"Block","src":"56705:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c6164647265737329","id":18895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56755:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d","typeString":"literal_string \"log(address,uint,bool,address)\""},"value":"log(address,uint,bool,address)"},{"id":18896,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18883,"src":"56789:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18897,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18885,"src":"56793:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18898,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18887,"src":"56797:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18899,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18889,"src":"56801:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d","typeString":"literal_string \"log(address,uint,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18893,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56731:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56731:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56731:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18892,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56715:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56715:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18902,"nodeType":"ExpressionStatement","src":"56715:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56645:3:14","parameters":{"id":18890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18883,"mutability":"mutable","name":"p0","nameLocation":"56657:2:14","nodeType":"VariableDeclaration","scope":18904,"src":"56649:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18882,"name":"address","nodeType":"ElementaryTypeName","src":"56649:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18885,"mutability":"mutable","name":"p1","nameLocation":"56666:2:14","nodeType":"VariableDeclaration","scope":18904,"src":"56661:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18884,"name":"uint","nodeType":"ElementaryTypeName","src":"56661:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18887,"mutability":"mutable","name":"p2","nameLocation":"56675:2:14","nodeType":"VariableDeclaration","scope":18904,"src":"56670:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18886,"name":"bool","nodeType":"ElementaryTypeName","src":"56670:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18889,"mutability":"mutable","name":"p3","nameLocation":"56687:2:14","nodeType":"VariableDeclaration","scope":18904,"src":"56679:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18888,"name":"address","nodeType":"ElementaryTypeName","src":"56679:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56648:42:14"},"returnParameters":{"id":18891,"nodeType":"ParameterList","parameters":[],"src":"56705:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18927,"nodeType":"FunctionDefinition","src":"56818:176:14","nodes":[],"body":{"id":18926,"nodeType":"Block","src":"56887:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c75696e7429","id":18918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56937:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e","typeString":"literal_string \"log(address,uint,address,uint)\""},"value":"log(address,uint,address,uint)"},{"id":18919,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18906,"src":"56971:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18920,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18908,"src":"56975:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18921,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18910,"src":"56979:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18922,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18912,"src":"56983:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e","typeString":"literal_string \"log(address,uint,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18916,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56913:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56913:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56913:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18915,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56897:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56897:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18925,"nodeType":"ExpressionStatement","src":"56897:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56827:3:14","parameters":{"id":18913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18906,"mutability":"mutable","name":"p0","nameLocation":"56839:2:14","nodeType":"VariableDeclaration","scope":18927,"src":"56831:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18905,"name":"address","nodeType":"ElementaryTypeName","src":"56831:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18908,"mutability":"mutable","name":"p1","nameLocation":"56848:2:14","nodeType":"VariableDeclaration","scope":18927,"src":"56843:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18907,"name":"uint","nodeType":"ElementaryTypeName","src":"56843:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18910,"mutability":"mutable","name":"p2","nameLocation":"56860:2:14","nodeType":"VariableDeclaration","scope":18927,"src":"56852:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18909,"name":"address","nodeType":"ElementaryTypeName","src":"56852:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18912,"mutability":"mutable","name":"p3","nameLocation":"56869:2:14","nodeType":"VariableDeclaration","scope":18927,"src":"56864:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18911,"name":"uint","nodeType":"ElementaryTypeName","src":"56864:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56830:42:14"},"returnParameters":{"id":18914,"nodeType":"ParameterList","parameters":[],"src":"56887:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18950,"nodeType":"FunctionDefinition","src":"57000:187:14","nodes":[],"body":{"id":18949,"nodeType":"Block","src":"57078:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c737472696e6729","id":18941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57128:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4","typeString":"literal_string \"log(address,uint,address,string)\""},"value":"log(address,uint,address,string)"},{"id":18942,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18929,"src":"57164:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18943,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18931,"src":"57168:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18944,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18933,"src":"57172:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18945,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18935,"src":"57176:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4","typeString":"literal_string \"log(address,uint,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18939,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57104:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57104:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57104:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18938,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57088:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57088:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18948,"nodeType":"ExpressionStatement","src":"57088:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57009:3:14","parameters":{"id":18936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18929,"mutability":"mutable","name":"p0","nameLocation":"57021:2:14","nodeType":"VariableDeclaration","scope":18950,"src":"57013:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18928,"name":"address","nodeType":"ElementaryTypeName","src":"57013:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18931,"mutability":"mutable","name":"p1","nameLocation":"57030:2:14","nodeType":"VariableDeclaration","scope":18950,"src":"57025:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18930,"name":"uint","nodeType":"ElementaryTypeName","src":"57025:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18933,"mutability":"mutable","name":"p2","nameLocation":"57042:2:14","nodeType":"VariableDeclaration","scope":18950,"src":"57034:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18932,"name":"address","nodeType":"ElementaryTypeName","src":"57034:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18935,"mutability":"mutable","name":"p3","nameLocation":"57060:2:14","nodeType":"VariableDeclaration","scope":18950,"src":"57046:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18934,"name":"string","nodeType":"ElementaryTypeName","src":"57046:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57012:51:14"},"returnParameters":{"id":18937,"nodeType":"ParameterList","parameters":[],"src":"57078:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18973,"nodeType":"FunctionDefinition","src":"57193:176:14","nodes":[],"body":{"id":18972,"nodeType":"Block","src":"57262:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c626f6f6c29","id":18964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57312:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6","typeString":"literal_string \"log(address,uint,address,bool)\""},"value":"log(address,uint,address,bool)"},{"id":18965,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18952,"src":"57346:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18966,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18954,"src":"57350:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18967,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18956,"src":"57354:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18968,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18958,"src":"57358:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6","typeString":"literal_string \"log(address,uint,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18962,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57288:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57288:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57288:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18961,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57272:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57272:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18971,"nodeType":"ExpressionStatement","src":"57272:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57202:3:14","parameters":{"id":18959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18952,"mutability":"mutable","name":"p0","nameLocation":"57214:2:14","nodeType":"VariableDeclaration","scope":18973,"src":"57206:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18951,"name":"address","nodeType":"ElementaryTypeName","src":"57206:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18954,"mutability":"mutable","name":"p1","nameLocation":"57223:2:14","nodeType":"VariableDeclaration","scope":18973,"src":"57218:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18953,"name":"uint","nodeType":"ElementaryTypeName","src":"57218:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18956,"mutability":"mutable","name":"p2","nameLocation":"57235:2:14","nodeType":"VariableDeclaration","scope":18973,"src":"57227:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18955,"name":"address","nodeType":"ElementaryTypeName","src":"57227:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18958,"mutability":"mutable","name":"p3","nameLocation":"57244:2:14","nodeType":"VariableDeclaration","scope":18973,"src":"57239:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18957,"name":"bool","nodeType":"ElementaryTypeName","src":"57239:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57205:42:14"},"returnParameters":{"id":18960,"nodeType":"ParameterList","parameters":[],"src":"57262:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18996,"nodeType":"FunctionDefinition","src":"57375:182:14","nodes":[],"body":{"id":18995,"nodeType":"Block","src":"57447:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c6164647265737329","id":18987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57497:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e","typeString":"literal_string \"log(address,uint,address,address)\""},"value":"log(address,uint,address,address)"},{"id":18988,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18975,"src":"57534:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18989,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18977,"src":"57538:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18990,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18979,"src":"57542:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18991,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18981,"src":"57546:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e","typeString":"literal_string \"log(address,uint,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57473:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57473:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57473:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18984,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57457:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57457:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18994,"nodeType":"ExpressionStatement","src":"57457:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57384:3:14","parameters":{"id":18982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18975,"mutability":"mutable","name":"p0","nameLocation":"57396:2:14","nodeType":"VariableDeclaration","scope":18996,"src":"57388:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18974,"name":"address","nodeType":"ElementaryTypeName","src":"57388:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18977,"mutability":"mutable","name":"p1","nameLocation":"57405:2:14","nodeType":"VariableDeclaration","scope":18996,"src":"57400:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18976,"name":"uint","nodeType":"ElementaryTypeName","src":"57400:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18979,"mutability":"mutable","name":"p2","nameLocation":"57417:2:14","nodeType":"VariableDeclaration","scope":18996,"src":"57409:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18978,"name":"address","nodeType":"ElementaryTypeName","src":"57409:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18981,"mutability":"mutable","name":"p3","nameLocation":"57429:2:14","nodeType":"VariableDeclaration","scope":18996,"src":"57421:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18980,"name":"address","nodeType":"ElementaryTypeName","src":"57421:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57387:45:14"},"returnParameters":{"id":18983,"nodeType":"ParameterList","parameters":[],"src":"57447:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19019,"nodeType":"FunctionDefinition","src":"57563:181:14","nodes":[],"body":{"id":19018,"nodeType":"Block","src":"57638:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c75696e7429","id":19010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57688:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af","typeString":"literal_string \"log(address,string,uint,uint)\""},"value":"log(address,string,uint,uint)"},{"id":19011,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18998,"src":"57721:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19012,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19000,"src":"57725:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19013,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19002,"src":"57729:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19014,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19004,"src":"57733:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af","typeString":"literal_string \"log(address,string,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19008,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57664:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57664:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57664:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19007,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57648:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57648:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19017,"nodeType":"ExpressionStatement","src":"57648:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57572:3:14","parameters":{"id":19005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18998,"mutability":"mutable","name":"p0","nameLocation":"57584:2:14","nodeType":"VariableDeclaration","scope":19019,"src":"57576:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18997,"name":"address","nodeType":"ElementaryTypeName","src":"57576:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19000,"mutability":"mutable","name":"p1","nameLocation":"57602:2:14","nodeType":"VariableDeclaration","scope":19019,"src":"57588:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18999,"name":"string","nodeType":"ElementaryTypeName","src":"57588:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19002,"mutability":"mutable","name":"p2","nameLocation":"57611:2:14","nodeType":"VariableDeclaration","scope":19019,"src":"57606:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19001,"name":"uint","nodeType":"ElementaryTypeName","src":"57606:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19004,"mutability":"mutable","name":"p3","nameLocation":"57620:2:14","nodeType":"VariableDeclaration","scope":19019,"src":"57615:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19003,"name":"uint","nodeType":"ElementaryTypeName","src":"57615:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57575:48:14"},"returnParameters":{"id":19006,"nodeType":"ParameterList","parameters":[],"src":"57638:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19042,"nodeType":"FunctionDefinition","src":"57750:192:14","nodes":[],"body":{"id":19041,"nodeType":"Block","src":"57834:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c737472696e6729","id":19033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57884:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e","typeString":"literal_string \"log(address,string,uint,string)\""},"value":"log(address,string,uint,string)"},{"id":19034,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19021,"src":"57919:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19035,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19023,"src":"57923:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19036,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19025,"src":"57927:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19037,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19027,"src":"57931:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e","typeString":"literal_string \"log(address,string,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19031,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57860:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57860:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57860:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19030,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57844:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57844:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19040,"nodeType":"ExpressionStatement","src":"57844:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57759:3:14","parameters":{"id":19028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19021,"mutability":"mutable","name":"p0","nameLocation":"57771:2:14","nodeType":"VariableDeclaration","scope":19042,"src":"57763:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19020,"name":"address","nodeType":"ElementaryTypeName","src":"57763:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19023,"mutability":"mutable","name":"p1","nameLocation":"57789:2:14","nodeType":"VariableDeclaration","scope":19042,"src":"57775:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19022,"name":"string","nodeType":"ElementaryTypeName","src":"57775:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19025,"mutability":"mutable","name":"p2","nameLocation":"57798:2:14","nodeType":"VariableDeclaration","scope":19042,"src":"57793:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19024,"name":"uint","nodeType":"ElementaryTypeName","src":"57793:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19027,"mutability":"mutable","name":"p3","nameLocation":"57816:2:14","nodeType":"VariableDeclaration","scope":19042,"src":"57802:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19026,"name":"string","nodeType":"ElementaryTypeName","src":"57802:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57762:57:14"},"returnParameters":{"id":19029,"nodeType":"ParameterList","parameters":[],"src":"57834:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19065,"nodeType":"FunctionDefinition","src":"57948:181:14","nodes":[],"body":{"id":19064,"nodeType":"Block","src":"58023:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c626f6f6c29","id":19056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58073:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895","typeString":"literal_string \"log(address,string,uint,bool)\""},"value":"log(address,string,uint,bool)"},{"id":19057,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19044,"src":"58106:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19058,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19046,"src":"58110:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19059,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19048,"src":"58114:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19060,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19050,"src":"58118:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895","typeString":"literal_string \"log(address,string,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19054,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58049:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58049:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58049:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19053,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58033:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58033:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19063,"nodeType":"ExpressionStatement","src":"58033:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57957:3:14","parameters":{"id":19051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19044,"mutability":"mutable","name":"p0","nameLocation":"57969:2:14","nodeType":"VariableDeclaration","scope":19065,"src":"57961:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19043,"name":"address","nodeType":"ElementaryTypeName","src":"57961:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19046,"mutability":"mutable","name":"p1","nameLocation":"57987:2:14","nodeType":"VariableDeclaration","scope":19065,"src":"57973:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19045,"name":"string","nodeType":"ElementaryTypeName","src":"57973:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19048,"mutability":"mutable","name":"p2","nameLocation":"57996:2:14","nodeType":"VariableDeclaration","scope":19065,"src":"57991:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19047,"name":"uint","nodeType":"ElementaryTypeName","src":"57991:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19050,"mutability":"mutable","name":"p3","nameLocation":"58005:2:14","nodeType":"VariableDeclaration","scope":19065,"src":"58000:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19049,"name":"bool","nodeType":"ElementaryTypeName","src":"58000:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57960:48:14"},"returnParameters":{"id":19052,"nodeType":"ParameterList","parameters":[],"src":"58023:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19088,"nodeType":"FunctionDefinition","src":"58135:187:14","nodes":[],"body":{"id":19087,"nodeType":"Block","src":"58213:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c6164647265737329","id":19079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58263:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4","typeString":"literal_string \"log(address,string,uint,address)\""},"value":"log(address,string,uint,address)"},{"id":19080,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19067,"src":"58299:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19081,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19069,"src":"58303:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19082,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19071,"src":"58307:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19083,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19073,"src":"58311:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4","typeString":"literal_string \"log(address,string,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19077,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58239:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58239:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58239:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19076,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58223:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58223:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19086,"nodeType":"ExpressionStatement","src":"58223:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58144:3:14","parameters":{"id":19074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19067,"mutability":"mutable","name":"p0","nameLocation":"58156:2:14","nodeType":"VariableDeclaration","scope":19088,"src":"58148:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19066,"name":"address","nodeType":"ElementaryTypeName","src":"58148:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19069,"mutability":"mutable","name":"p1","nameLocation":"58174:2:14","nodeType":"VariableDeclaration","scope":19088,"src":"58160:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19068,"name":"string","nodeType":"ElementaryTypeName","src":"58160:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19071,"mutability":"mutable","name":"p2","nameLocation":"58183:2:14","nodeType":"VariableDeclaration","scope":19088,"src":"58178:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19070,"name":"uint","nodeType":"ElementaryTypeName","src":"58178:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19073,"mutability":"mutable","name":"p3","nameLocation":"58195:2:14","nodeType":"VariableDeclaration","scope":19088,"src":"58187:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19072,"name":"address","nodeType":"ElementaryTypeName","src":"58187:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58147:51:14"},"returnParameters":{"id":19075,"nodeType":"ParameterList","parameters":[],"src":"58213:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19111,"nodeType":"FunctionDefinition","src":"58328:192:14","nodes":[],"body":{"id":19110,"nodeType":"Block","src":"58412:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7429","id":19102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58462:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5","typeString":"literal_string \"log(address,string,string,uint)\""},"value":"log(address,string,string,uint)"},{"id":19103,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19090,"src":"58497:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19104,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19092,"src":"58501:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19105,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19094,"src":"58505:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19106,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19096,"src":"58509:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5","typeString":"literal_string \"log(address,string,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19100,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58438:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58438:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58438:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19099,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58422:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58422:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19109,"nodeType":"ExpressionStatement","src":"58422:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58337:3:14","parameters":{"id":19097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19090,"mutability":"mutable","name":"p0","nameLocation":"58349:2:14","nodeType":"VariableDeclaration","scope":19111,"src":"58341:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19089,"name":"address","nodeType":"ElementaryTypeName","src":"58341:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19092,"mutability":"mutable","name":"p1","nameLocation":"58367:2:14","nodeType":"VariableDeclaration","scope":19111,"src":"58353:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19091,"name":"string","nodeType":"ElementaryTypeName","src":"58353:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19094,"mutability":"mutable","name":"p2","nameLocation":"58385:2:14","nodeType":"VariableDeclaration","scope":19111,"src":"58371:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19093,"name":"string","nodeType":"ElementaryTypeName","src":"58371:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19096,"mutability":"mutable","name":"p3","nameLocation":"58394:2:14","nodeType":"VariableDeclaration","scope":19111,"src":"58389:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19095,"name":"uint","nodeType":"ElementaryTypeName","src":"58389:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58340:57:14"},"returnParameters":{"id":19098,"nodeType":"ParameterList","parameters":[],"src":"58412:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19134,"nodeType":"FunctionDefinition","src":"58526:203:14","nodes":[],"body":{"id":19133,"nodeType":"Block","src":"58619:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":19125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58669:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":19126,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19113,"src":"58706:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19127,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19115,"src":"58710:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19128,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19117,"src":"58714:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19129,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19119,"src":"58718:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19123,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58645:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58645:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58645:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19122,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58629:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58629:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19132,"nodeType":"ExpressionStatement","src":"58629:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58535:3:14","parameters":{"id":19120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19113,"mutability":"mutable","name":"p0","nameLocation":"58547:2:14","nodeType":"VariableDeclaration","scope":19134,"src":"58539:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19112,"name":"address","nodeType":"ElementaryTypeName","src":"58539:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19115,"mutability":"mutable","name":"p1","nameLocation":"58565:2:14","nodeType":"VariableDeclaration","scope":19134,"src":"58551:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19114,"name":"string","nodeType":"ElementaryTypeName","src":"58551:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19117,"mutability":"mutable","name":"p2","nameLocation":"58583:2:14","nodeType":"VariableDeclaration","scope":19134,"src":"58569:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19116,"name":"string","nodeType":"ElementaryTypeName","src":"58569:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19119,"mutability":"mutable","name":"p3","nameLocation":"58601:2:14","nodeType":"VariableDeclaration","scope":19134,"src":"58587:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19118,"name":"string","nodeType":"ElementaryTypeName","src":"58587:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58538:66:14"},"returnParameters":{"id":19121,"nodeType":"ParameterList","parameters":[],"src":"58619:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19157,"nodeType":"FunctionDefinition","src":"58735:192:14","nodes":[],"body":{"id":19156,"nodeType":"Block","src":"58819:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":19148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58869:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":19149,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19136,"src":"58904:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19150,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19138,"src":"58908:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19151,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19140,"src":"58912:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19152,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19142,"src":"58916:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19146,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58845:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58845:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58845:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19145,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58829:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58829:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19155,"nodeType":"ExpressionStatement","src":"58829:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58744:3:14","parameters":{"id":19143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19136,"mutability":"mutable","name":"p0","nameLocation":"58756:2:14","nodeType":"VariableDeclaration","scope":19157,"src":"58748:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19135,"name":"address","nodeType":"ElementaryTypeName","src":"58748:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19138,"mutability":"mutable","name":"p1","nameLocation":"58774:2:14","nodeType":"VariableDeclaration","scope":19157,"src":"58760:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19137,"name":"string","nodeType":"ElementaryTypeName","src":"58760:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19140,"mutability":"mutable","name":"p2","nameLocation":"58792:2:14","nodeType":"VariableDeclaration","scope":19157,"src":"58778:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19139,"name":"string","nodeType":"ElementaryTypeName","src":"58778:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19142,"mutability":"mutable","name":"p3","nameLocation":"58801:2:14","nodeType":"VariableDeclaration","scope":19157,"src":"58796:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19141,"name":"bool","nodeType":"ElementaryTypeName","src":"58796:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58747:57:14"},"returnParameters":{"id":19144,"nodeType":"ParameterList","parameters":[],"src":"58819:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19180,"nodeType":"FunctionDefinition","src":"58933:198:14","nodes":[],"body":{"id":19179,"nodeType":"Block","src":"59020:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":19171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59070:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":19172,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19159,"src":"59108:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19173,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19161,"src":"59112:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19174,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19163,"src":"59116:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19175,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19165,"src":"59120:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19169,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59046:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59046:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59046:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19168,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59030:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59030:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19178,"nodeType":"ExpressionStatement","src":"59030:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58942:3:14","parameters":{"id":19166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19159,"mutability":"mutable","name":"p0","nameLocation":"58954:2:14","nodeType":"VariableDeclaration","scope":19180,"src":"58946:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19158,"name":"address","nodeType":"ElementaryTypeName","src":"58946:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19161,"mutability":"mutable","name":"p1","nameLocation":"58972:2:14","nodeType":"VariableDeclaration","scope":19180,"src":"58958:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19160,"name":"string","nodeType":"ElementaryTypeName","src":"58958:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19163,"mutability":"mutable","name":"p2","nameLocation":"58990:2:14","nodeType":"VariableDeclaration","scope":19180,"src":"58976:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19162,"name":"string","nodeType":"ElementaryTypeName","src":"58976:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19165,"mutability":"mutable","name":"p3","nameLocation":"59002:2:14","nodeType":"VariableDeclaration","scope":19180,"src":"58994:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19164,"name":"address","nodeType":"ElementaryTypeName","src":"58994:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58945:60:14"},"returnParameters":{"id":19167,"nodeType":"ParameterList","parameters":[],"src":"59020:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19203,"nodeType":"FunctionDefinition","src":"59137:181:14","nodes":[],"body":{"id":19202,"nodeType":"Block","src":"59212:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7429","id":19194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59262:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a","typeString":"literal_string \"log(address,string,bool,uint)\""},"value":"log(address,string,bool,uint)"},{"id":19195,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19182,"src":"59295:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19196,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19184,"src":"59299:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19197,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19186,"src":"59303:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19198,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19188,"src":"59307:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a","typeString":"literal_string \"log(address,string,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19192,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59238:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59238:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59238:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19191,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59222:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59222:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19201,"nodeType":"ExpressionStatement","src":"59222:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59146:3:14","parameters":{"id":19189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19182,"mutability":"mutable","name":"p0","nameLocation":"59158:2:14","nodeType":"VariableDeclaration","scope":19203,"src":"59150:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19181,"name":"address","nodeType":"ElementaryTypeName","src":"59150:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19184,"mutability":"mutable","name":"p1","nameLocation":"59176:2:14","nodeType":"VariableDeclaration","scope":19203,"src":"59162:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19183,"name":"string","nodeType":"ElementaryTypeName","src":"59162:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19186,"mutability":"mutable","name":"p2","nameLocation":"59185:2:14","nodeType":"VariableDeclaration","scope":19203,"src":"59180:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19185,"name":"bool","nodeType":"ElementaryTypeName","src":"59180:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19188,"mutability":"mutable","name":"p3","nameLocation":"59194:2:14","nodeType":"VariableDeclaration","scope":19203,"src":"59189:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19187,"name":"uint","nodeType":"ElementaryTypeName","src":"59189:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59149:48:14"},"returnParameters":{"id":19190,"nodeType":"ParameterList","parameters":[],"src":"59212:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19226,"nodeType":"FunctionDefinition","src":"59324:192:14","nodes":[],"body":{"id":19225,"nodeType":"Block","src":"59408:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":19217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59458:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":19218,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19205,"src":"59493:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19219,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19207,"src":"59497:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19220,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19209,"src":"59501:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19221,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19211,"src":"59505:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19215,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59434:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59434:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59434:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19214,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59418:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59418:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19224,"nodeType":"ExpressionStatement","src":"59418:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59333:3:14","parameters":{"id":19212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19205,"mutability":"mutable","name":"p0","nameLocation":"59345:2:14","nodeType":"VariableDeclaration","scope":19226,"src":"59337:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19204,"name":"address","nodeType":"ElementaryTypeName","src":"59337:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19207,"mutability":"mutable","name":"p1","nameLocation":"59363:2:14","nodeType":"VariableDeclaration","scope":19226,"src":"59349:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19206,"name":"string","nodeType":"ElementaryTypeName","src":"59349:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19209,"mutability":"mutable","name":"p2","nameLocation":"59372:2:14","nodeType":"VariableDeclaration","scope":19226,"src":"59367:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19208,"name":"bool","nodeType":"ElementaryTypeName","src":"59367:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19211,"mutability":"mutable","name":"p3","nameLocation":"59390:2:14","nodeType":"VariableDeclaration","scope":19226,"src":"59376:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19210,"name":"string","nodeType":"ElementaryTypeName","src":"59376:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59336:57:14"},"returnParameters":{"id":19213,"nodeType":"ParameterList","parameters":[],"src":"59408:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19249,"nodeType":"FunctionDefinition","src":"59522:181:14","nodes":[],"body":{"id":19248,"nodeType":"Block","src":"59597:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":19240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59647:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":19241,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19228,"src":"59680:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19242,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19230,"src":"59684:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19243,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19232,"src":"59688:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19244,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19234,"src":"59692:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59623:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59623:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59623:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19237,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59607:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59607:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19247,"nodeType":"ExpressionStatement","src":"59607:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59531:3:14","parameters":{"id":19235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19228,"mutability":"mutable","name":"p0","nameLocation":"59543:2:14","nodeType":"VariableDeclaration","scope":19249,"src":"59535:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19227,"name":"address","nodeType":"ElementaryTypeName","src":"59535:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19230,"mutability":"mutable","name":"p1","nameLocation":"59561:2:14","nodeType":"VariableDeclaration","scope":19249,"src":"59547:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19229,"name":"string","nodeType":"ElementaryTypeName","src":"59547:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19232,"mutability":"mutable","name":"p2","nameLocation":"59570:2:14","nodeType":"VariableDeclaration","scope":19249,"src":"59565:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19231,"name":"bool","nodeType":"ElementaryTypeName","src":"59565:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19234,"mutability":"mutable","name":"p3","nameLocation":"59579:2:14","nodeType":"VariableDeclaration","scope":19249,"src":"59574:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19233,"name":"bool","nodeType":"ElementaryTypeName","src":"59574:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59534:48:14"},"returnParameters":{"id":19236,"nodeType":"ParameterList","parameters":[],"src":"59597:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19272,"nodeType":"FunctionDefinition","src":"59709:187:14","nodes":[],"body":{"id":19271,"nodeType":"Block","src":"59787:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":19263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59837:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":19264,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19251,"src":"59873:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19265,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19253,"src":"59877:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19266,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19255,"src":"59881:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19267,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19257,"src":"59885:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19261,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59813:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59813:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59813:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19260,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59797:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59797:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19270,"nodeType":"ExpressionStatement","src":"59797:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59718:3:14","parameters":{"id":19258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19251,"mutability":"mutable","name":"p0","nameLocation":"59730:2:14","nodeType":"VariableDeclaration","scope":19272,"src":"59722:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19250,"name":"address","nodeType":"ElementaryTypeName","src":"59722:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19253,"mutability":"mutable","name":"p1","nameLocation":"59748:2:14","nodeType":"VariableDeclaration","scope":19272,"src":"59734:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19252,"name":"string","nodeType":"ElementaryTypeName","src":"59734:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19255,"mutability":"mutable","name":"p2","nameLocation":"59757:2:14","nodeType":"VariableDeclaration","scope":19272,"src":"59752:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19254,"name":"bool","nodeType":"ElementaryTypeName","src":"59752:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19257,"mutability":"mutable","name":"p3","nameLocation":"59769:2:14","nodeType":"VariableDeclaration","scope":19272,"src":"59761:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19256,"name":"address","nodeType":"ElementaryTypeName","src":"59761:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59721:51:14"},"returnParameters":{"id":19259,"nodeType":"ParameterList","parameters":[],"src":"59787:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19295,"nodeType":"FunctionDefinition","src":"59902:187:14","nodes":[],"body":{"id":19294,"nodeType":"Block","src":"59980:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7429","id":19286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60030:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582","typeString":"literal_string \"log(address,string,address,uint)\""},"value":"log(address,string,address,uint)"},{"id":19287,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19274,"src":"60066:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19288,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19276,"src":"60070:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19289,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19278,"src":"60074:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19290,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19280,"src":"60078:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582","typeString":"literal_string \"log(address,string,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19284,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60006:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60006:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60006:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19283,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59990:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59990:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19293,"nodeType":"ExpressionStatement","src":"59990:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59911:3:14","parameters":{"id":19281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19274,"mutability":"mutable","name":"p0","nameLocation":"59923:2:14","nodeType":"VariableDeclaration","scope":19295,"src":"59915:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19273,"name":"address","nodeType":"ElementaryTypeName","src":"59915:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19276,"mutability":"mutable","name":"p1","nameLocation":"59941:2:14","nodeType":"VariableDeclaration","scope":19295,"src":"59927:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19275,"name":"string","nodeType":"ElementaryTypeName","src":"59927:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19278,"mutability":"mutable","name":"p2","nameLocation":"59953:2:14","nodeType":"VariableDeclaration","scope":19295,"src":"59945:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19277,"name":"address","nodeType":"ElementaryTypeName","src":"59945:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19280,"mutability":"mutable","name":"p3","nameLocation":"59962:2:14","nodeType":"VariableDeclaration","scope":19295,"src":"59957:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19279,"name":"uint","nodeType":"ElementaryTypeName","src":"59957:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59914:51:14"},"returnParameters":{"id":19282,"nodeType":"ParameterList","parameters":[],"src":"59980:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19318,"nodeType":"FunctionDefinition","src":"60095:198:14","nodes":[],"body":{"id":19317,"nodeType":"Block","src":"60182:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":19309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60232:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":19310,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19297,"src":"60270:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19311,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19299,"src":"60274:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19312,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19301,"src":"60278:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19313,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19303,"src":"60282:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19307,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60208:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60208:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60208:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19306,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60192:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60192:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19316,"nodeType":"ExpressionStatement","src":"60192:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60104:3:14","parameters":{"id":19304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19297,"mutability":"mutable","name":"p0","nameLocation":"60116:2:14","nodeType":"VariableDeclaration","scope":19318,"src":"60108:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19296,"name":"address","nodeType":"ElementaryTypeName","src":"60108:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19299,"mutability":"mutable","name":"p1","nameLocation":"60134:2:14","nodeType":"VariableDeclaration","scope":19318,"src":"60120:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19298,"name":"string","nodeType":"ElementaryTypeName","src":"60120:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19301,"mutability":"mutable","name":"p2","nameLocation":"60146:2:14","nodeType":"VariableDeclaration","scope":19318,"src":"60138:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19300,"name":"address","nodeType":"ElementaryTypeName","src":"60138:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19303,"mutability":"mutable","name":"p3","nameLocation":"60164:2:14","nodeType":"VariableDeclaration","scope":19318,"src":"60150:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19302,"name":"string","nodeType":"ElementaryTypeName","src":"60150:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60107:60:14"},"returnParameters":{"id":19305,"nodeType":"ParameterList","parameters":[],"src":"60182:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19341,"nodeType":"FunctionDefinition","src":"60299:187:14","nodes":[],"body":{"id":19340,"nodeType":"Block","src":"60377:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":19332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60427:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":19333,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19320,"src":"60463:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19334,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19322,"src":"60467:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19335,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19324,"src":"60471:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19336,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19326,"src":"60475:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19330,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60403:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60403:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60403:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19329,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60387:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60387:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19339,"nodeType":"ExpressionStatement","src":"60387:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60308:3:14","parameters":{"id":19327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19320,"mutability":"mutable","name":"p0","nameLocation":"60320:2:14","nodeType":"VariableDeclaration","scope":19341,"src":"60312:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19319,"name":"address","nodeType":"ElementaryTypeName","src":"60312:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19322,"mutability":"mutable","name":"p1","nameLocation":"60338:2:14","nodeType":"VariableDeclaration","scope":19341,"src":"60324:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19321,"name":"string","nodeType":"ElementaryTypeName","src":"60324:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19324,"mutability":"mutable","name":"p2","nameLocation":"60350:2:14","nodeType":"VariableDeclaration","scope":19341,"src":"60342:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19323,"name":"address","nodeType":"ElementaryTypeName","src":"60342:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19326,"mutability":"mutable","name":"p3","nameLocation":"60359:2:14","nodeType":"VariableDeclaration","scope":19341,"src":"60354:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19325,"name":"bool","nodeType":"ElementaryTypeName","src":"60354:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60311:51:14"},"returnParameters":{"id":19328,"nodeType":"ParameterList","parameters":[],"src":"60377:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19364,"nodeType":"FunctionDefinition","src":"60492:193:14","nodes":[],"body":{"id":19363,"nodeType":"Block","src":"60573:112:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":19355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60623:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":19356,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19343,"src":"60662:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19357,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19345,"src":"60666:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19358,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19347,"src":"60670:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19359,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19349,"src":"60674:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19353,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60599:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60599:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60599:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19352,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60583:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60583:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19362,"nodeType":"ExpressionStatement","src":"60583:95:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60501:3:14","parameters":{"id":19350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19343,"mutability":"mutable","name":"p0","nameLocation":"60513:2:14","nodeType":"VariableDeclaration","scope":19364,"src":"60505:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19342,"name":"address","nodeType":"ElementaryTypeName","src":"60505:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19345,"mutability":"mutable","name":"p1","nameLocation":"60531:2:14","nodeType":"VariableDeclaration","scope":19364,"src":"60517:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19344,"name":"string","nodeType":"ElementaryTypeName","src":"60517:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19347,"mutability":"mutable","name":"p2","nameLocation":"60543:2:14","nodeType":"VariableDeclaration","scope":19364,"src":"60535:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19346,"name":"address","nodeType":"ElementaryTypeName","src":"60535:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19349,"mutability":"mutable","name":"p3","nameLocation":"60555:2:14","nodeType":"VariableDeclaration","scope":19364,"src":"60547:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19348,"name":"address","nodeType":"ElementaryTypeName","src":"60547:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60504:54:14"},"returnParameters":{"id":19351,"nodeType":"ParameterList","parameters":[],"src":"60573:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19387,"nodeType":"FunctionDefinition","src":"60691:170:14","nodes":[],"body":{"id":19386,"nodeType":"Block","src":"60757:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c75696e7429","id":19378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60807:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59","typeString":"literal_string \"log(address,bool,uint,uint)\""},"value":"log(address,bool,uint,uint)"},{"id":19379,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19366,"src":"60838:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19380,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19368,"src":"60842:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19381,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19370,"src":"60846:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19382,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19372,"src":"60850:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59","typeString":"literal_string \"log(address,bool,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19376,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60783:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60783:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60783:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19375,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60767:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60767:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19385,"nodeType":"ExpressionStatement","src":"60767:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60700:3:14","parameters":{"id":19373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19366,"mutability":"mutable","name":"p0","nameLocation":"60712:2:14","nodeType":"VariableDeclaration","scope":19387,"src":"60704:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19365,"name":"address","nodeType":"ElementaryTypeName","src":"60704:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19368,"mutability":"mutable","name":"p1","nameLocation":"60721:2:14","nodeType":"VariableDeclaration","scope":19387,"src":"60716:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19367,"name":"bool","nodeType":"ElementaryTypeName","src":"60716:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19370,"mutability":"mutable","name":"p2","nameLocation":"60730:2:14","nodeType":"VariableDeclaration","scope":19387,"src":"60725:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19369,"name":"uint","nodeType":"ElementaryTypeName","src":"60725:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19372,"mutability":"mutable","name":"p3","nameLocation":"60739:2:14","nodeType":"VariableDeclaration","scope":19387,"src":"60734:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19371,"name":"uint","nodeType":"ElementaryTypeName","src":"60734:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60703:39:14"},"returnParameters":{"id":19374,"nodeType":"ParameterList","parameters":[],"src":"60757:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19410,"nodeType":"FunctionDefinition","src":"60867:181:14","nodes":[],"body":{"id":19409,"nodeType":"Block","src":"60942:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c737472696e6729","id":19401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60992:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6","typeString":"literal_string \"log(address,bool,uint,string)\""},"value":"log(address,bool,uint,string)"},{"id":19402,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19389,"src":"61025:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19403,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19391,"src":"61029:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19404,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19393,"src":"61033:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19405,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19395,"src":"61037:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6","typeString":"literal_string \"log(address,bool,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19399,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60968:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60968:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60968:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19398,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60952:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60952:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19408,"nodeType":"ExpressionStatement","src":"60952:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60876:3:14","parameters":{"id":19396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19389,"mutability":"mutable","name":"p0","nameLocation":"60888:2:14","nodeType":"VariableDeclaration","scope":19410,"src":"60880:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19388,"name":"address","nodeType":"ElementaryTypeName","src":"60880:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19391,"mutability":"mutable","name":"p1","nameLocation":"60897:2:14","nodeType":"VariableDeclaration","scope":19410,"src":"60892:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19390,"name":"bool","nodeType":"ElementaryTypeName","src":"60892:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19393,"mutability":"mutable","name":"p2","nameLocation":"60906:2:14","nodeType":"VariableDeclaration","scope":19410,"src":"60901:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19392,"name":"uint","nodeType":"ElementaryTypeName","src":"60901:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19395,"mutability":"mutable","name":"p3","nameLocation":"60924:2:14","nodeType":"VariableDeclaration","scope":19410,"src":"60910:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19394,"name":"string","nodeType":"ElementaryTypeName","src":"60910:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60879:48:14"},"returnParameters":{"id":19397,"nodeType":"ParameterList","parameters":[],"src":"60942:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19433,"nodeType":"FunctionDefinition","src":"61054:170:14","nodes":[],"body":{"id":19432,"nodeType":"Block","src":"61120:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c626f6f6c29","id":19424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61170:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33","typeString":"literal_string \"log(address,bool,uint,bool)\""},"value":"log(address,bool,uint,bool)"},{"id":19425,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19412,"src":"61201:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19426,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19414,"src":"61205:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19427,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19416,"src":"61209:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19428,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19418,"src":"61213:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33","typeString":"literal_string \"log(address,bool,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19422,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61146:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61146:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61146:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19421,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61130:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61130:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19431,"nodeType":"ExpressionStatement","src":"61130:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61063:3:14","parameters":{"id":19419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19412,"mutability":"mutable","name":"p0","nameLocation":"61075:2:14","nodeType":"VariableDeclaration","scope":19433,"src":"61067:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19411,"name":"address","nodeType":"ElementaryTypeName","src":"61067:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19414,"mutability":"mutable","name":"p1","nameLocation":"61084:2:14","nodeType":"VariableDeclaration","scope":19433,"src":"61079:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19413,"name":"bool","nodeType":"ElementaryTypeName","src":"61079:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19416,"mutability":"mutable","name":"p2","nameLocation":"61093:2:14","nodeType":"VariableDeclaration","scope":19433,"src":"61088:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19415,"name":"uint","nodeType":"ElementaryTypeName","src":"61088:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19418,"mutability":"mutable","name":"p3","nameLocation":"61102:2:14","nodeType":"VariableDeclaration","scope":19433,"src":"61097:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19417,"name":"bool","nodeType":"ElementaryTypeName","src":"61097:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61066:39:14"},"returnParameters":{"id":19420,"nodeType":"ParameterList","parameters":[],"src":"61120:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19456,"nodeType":"FunctionDefinition","src":"61230:176:14","nodes":[],"body":{"id":19455,"nodeType":"Block","src":"61299:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c6164647265737329","id":19447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61349:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf","typeString":"literal_string \"log(address,bool,uint,address)\""},"value":"log(address,bool,uint,address)"},{"id":19448,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19435,"src":"61383:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19449,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19437,"src":"61387:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19450,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19439,"src":"61391:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19451,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19441,"src":"61395:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf","typeString":"literal_string \"log(address,bool,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19445,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61325:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61325:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61325:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19444,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61309:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61309:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19454,"nodeType":"ExpressionStatement","src":"61309:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61239:3:14","parameters":{"id":19442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19435,"mutability":"mutable","name":"p0","nameLocation":"61251:2:14","nodeType":"VariableDeclaration","scope":19456,"src":"61243:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19434,"name":"address","nodeType":"ElementaryTypeName","src":"61243:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19437,"mutability":"mutable","name":"p1","nameLocation":"61260:2:14","nodeType":"VariableDeclaration","scope":19456,"src":"61255:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19436,"name":"bool","nodeType":"ElementaryTypeName","src":"61255:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19439,"mutability":"mutable","name":"p2","nameLocation":"61269:2:14","nodeType":"VariableDeclaration","scope":19456,"src":"61264:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19438,"name":"uint","nodeType":"ElementaryTypeName","src":"61264:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19441,"mutability":"mutable","name":"p3","nameLocation":"61281:2:14","nodeType":"VariableDeclaration","scope":19456,"src":"61273:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19440,"name":"address","nodeType":"ElementaryTypeName","src":"61273:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61242:42:14"},"returnParameters":{"id":19443,"nodeType":"ParameterList","parameters":[],"src":"61299:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19479,"nodeType":"FunctionDefinition","src":"61412:181:14","nodes":[],"body":{"id":19478,"nodeType":"Block","src":"61487:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7429","id":19470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61537:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b","typeString":"literal_string \"log(address,bool,string,uint)\""},"value":"log(address,bool,string,uint)"},{"id":19471,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19458,"src":"61570:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19472,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19460,"src":"61574:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19473,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19462,"src":"61578:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19474,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19464,"src":"61582:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b","typeString":"literal_string \"log(address,bool,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19468,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61513:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61513:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61513:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19467,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61497:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61497:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19477,"nodeType":"ExpressionStatement","src":"61497:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61421:3:14","parameters":{"id":19465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19458,"mutability":"mutable","name":"p0","nameLocation":"61433:2:14","nodeType":"VariableDeclaration","scope":19479,"src":"61425:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19457,"name":"address","nodeType":"ElementaryTypeName","src":"61425:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19460,"mutability":"mutable","name":"p1","nameLocation":"61442:2:14","nodeType":"VariableDeclaration","scope":19479,"src":"61437:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19459,"name":"bool","nodeType":"ElementaryTypeName","src":"61437:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19462,"mutability":"mutable","name":"p2","nameLocation":"61460:2:14","nodeType":"VariableDeclaration","scope":19479,"src":"61446:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19461,"name":"string","nodeType":"ElementaryTypeName","src":"61446:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19464,"mutability":"mutable","name":"p3","nameLocation":"61469:2:14","nodeType":"VariableDeclaration","scope":19479,"src":"61464:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19463,"name":"uint","nodeType":"ElementaryTypeName","src":"61464:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61424:48:14"},"returnParameters":{"id":19466,"nodeType":"ParameterList","parameters":[],"src":"61487:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19502,"nodeType":"FunctionDefinition","src":"61599:192:14","nodes":[],"body":{"id":19501,"nodeType":"Block","src":"61683:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":19493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61733:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":19494,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19481,"src":"61768:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19495,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19483,"src":"61772:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19496,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19485,"src":"61776:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19497,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19487,"src":"61780:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19491,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61709:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61709:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61709:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19490,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61693:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61693:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19500,"nodeType":"ExpressionStatement","src":"61693:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61608:3:14","parameters":{"id":19488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19481,"mutability":"mutable","name":"p0","nameLocation":"61620:2:14","nodeType":"VariableDeclaration","scope":19502,"src":"61612:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19480,"name":"address","nodeType":"ElementaryTypeName","src":"61612:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19483,"mutability":"mutable","name":"p1","nameLocation":"61629:2:14","nodeType":"VariableDeclaration","scope":19502,"src":"61624:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19482,"name":"bool","nodeType":"ElementaryTypeName","src":"61624:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19485,"mutability":"mutable","name":"p2","nameLocation":"61647:2:14","nodeType":"VariableDeclaration","scope":19502,"src":"61633:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19484,"name":"string","nodeType":"ElementaryTypeName","src":"61633:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19487,"mutability":"mutable","name":"p3","nameLocation":"61665:2:14","nodeType":"VariableDeclaration","scope":19502,"src":"61651:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19486,"name":"string","nodeType":"ElementaryTypeName","src":"61651:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61611:57:14"},"returnParameters":{"id":19489,"nodeType":"ParameterList","parameters":[],"src":"61683:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19525,"nodeType":"FunctionDefinition","src":"61797:181:14","nodes":[],"body":{"id":19524,"nodeType":"Block","src":"61872:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":19516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61922:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":19517,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19504,"src":"61955:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19518,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19506,"src":"61959:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19519,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19508,"src":"61963:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19520,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19510,"src":"61967:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19514,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61898:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61898:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61898:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19513,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61882:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61882:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19523,"nodeType":"ExpressionStatement","src":"61882:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61806:3:14","parameters":{"id":19511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19504,"mutability":"mutable","name":"p0","nameLocation":"61818:2:14","nodeType":"VariableDeclaration","scope":19525,"src":"61810:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19503,"name":"address","nodeType":"ElementaryTypeName","src":"61810:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19506,"mutability":"mutable","name":"p1","nameLocation":"61827:2:14","nodeType":"VariableDeclaration","scope":19525,"src":"61822:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19505,"name":"bool","nodeType":"ElementaryTypeName","src":"61822:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19508,"mutability":"mutable","name":"p2","nameLocation":"61845:2:14","nodeType":"VariableDeclaration","scope":19525,"src":"61831:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19507,"name":"string","nodeType":"ElementaryTypeName","src":"61831:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19510,"mutability":"mutable","name":"p3","nameLocation":"61854:2:14","nodeType":"VariableDeclaration","scope":19525,"src":"61849:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19509,"name":"bool","nodeType":"ElementaryTypeName","src":"61849:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61809:48:14"},"returnParameters":{"id":19512,"nodeType":"ParameterList","parameters":[],"src":"61872:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19548,"nodeType":"FunctionDefinition","src":"61984:187:14","nodes":[],"body":{"id":19547,"nodeType":"Block","src":"62062:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":19539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62112:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":19540,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19527,"src":"62148:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19541,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19529,"src":"62152:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19542,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19531,"src":"62156:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19543,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19533,"src":"62160:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19537,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62088:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62088:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62088:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19536,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62072:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62072:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19546,"nodeType":"ExpressionStatement","src":"62072:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61993:3:14","parameters":{"id":19534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19527,"mutability":"mutable","name":"p0","nameLocation":"62005:2:14","nodeType":"VariableDeclaration","scope":19548,"src":"61997:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19526,"name":"address","nodeType":"ElementaryTypeName","src":"61997:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19529,"mutability":"mutable","name":"p1","nameLocation":"62014:2:14","nodeType":"VariableDeclaration","scope":19548,"src":"62009:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19528,"name":"bool","nodeType":"ElementaryTypeName","src":"62009:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19531,"mutability":"mutable","name":"p2","nameLocation":"62032:2:14","nodeType":"VariableDeclaration","scope":19548,"src":"62018:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19530,"name":"string","nodeType":"ElementaryTypeName","src":"62018:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19533,"mutability":"mutable","name":"p3","nameLocation":"62044:2:14","nodeType":"VariableDeclaration","scope":19548,"src":"62036:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19532,"name":"address","nodeType":"ElementaryTypeName","src":"62036:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61996:51:14"},"returnParameters":{"id":19535,"nodeType":"ParameterList","parameters":[],"src":"62062:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19571,"nodeType":"FunctionDefinition","src":"62177:170:14","nodes":[],"body":{"id":19570,"nodeType":"Block","src":"62243:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7429","id":19562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62293:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463","typeString":"literal_string \"log(address,bool,bool,uint)\""},"value":"log(address,bool,bool,uint)"},{"id":19563,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19550,"src":"62324:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19564,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19552,"src":"62328:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19565,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19554,"src":"62332:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19566,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19556,"src":"62336:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463","typeString":"literal_string \"log(address,bool,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19560,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62269:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62269:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62269:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19559,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62253:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62253:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19569,"nodeType":"ExpressionStatement","src":"62253:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62186:3:14","parameters":{"id":19557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19550,"mutability":"mutable","name":"p0","nameLocation":"62198:2:14","nodeType":"VariableDeclaration","scope":19571,"src":"62190:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19549,"name":"address","nodeType":"ElementaryTypeName","src":"62190:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19552,"mutability":"mutable","name":"p1","nameLocation":"62207:2:14","nodeType":"VariableDeclaration","scope":19571,"src":"62202:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19551,"name":"bool","nodeType":"ElementaryTypeName","src":"62202:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19554,"mutability":"mutable","name":"p2","nameLocation":"62216:2:14","nodeType":"VariableDeclaration","scope":19571,"src":"62211:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19553,"name":"bool","nodeType":"ElementaryTypeName","src":"62211:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19556,"mutability":"mutable","name":"p3","nameLocation":"62225:2:14","nodeType":"VariableDeclaration","scope":19571,"src":"62220:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19555,"name":"uint","nodeType":"ElementaryTypeName","src":"62220:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62189:39:14"},"returnParameters":{"id":19558,"nodeType":"ParameterList","parameters":[],"src":"62243:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19594,"nodeType":"FunctionDefinition","src":"62353:181:14","nodes":[],"body":{"id":19593,"nodeType":"Block","src":"62428:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":19585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62478:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":19586,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19573,"src":"62511:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19587,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19575,"src":"62515:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19588,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19577,"src":"62519:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19589,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19579,"src":"62523:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19583,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62454:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62454:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62454:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19582,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62438:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62438:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19592,"nodeType":"ExpressionStatement","src":"62438:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62362:3:14","parameters":{"id":19580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19573,"mutability":"mutable","name":"p0","nameLocation":"62374:2:14","nodeType":"VariableDeclaration","scope":19594,"src":"62366:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19572,"name":"address","nodeType":"ElementaryTypeName","src":"62366:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19575,"mutability":"mutable","name":"p1","nameLocation":"62383:2:14","nodeType":"VariableDeclaration","scope":19594,"src":"62378:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19574,"name":"bool","nodeType":"ElementaryTypeName","src":"62378:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19577,"mutability":"mutable","name":"p2","nameLocation":"62392:2:14","nodeType":"VariableDeclaration","scope":19594,"src":"62387:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19576,"name":"bool","nodeType":"ElementaryTypeName","src":"62387:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19579,"mutability":"mutable","name":"p3","nameLocation":"62410:2:14","nodeType":"VariableDeclaration","scope":19594,"src":"62396:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19578,"name":"string","nodeType":"ElementaryTypeName","src":"62396:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62365:48:14"},"returnParameters":{"id":19581,"nodeType":"ParameterList","parameters":[],"src":"62428:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19617,"nodeType":"FunctionDefinition","src":"62540:170:14","nodes":[],"body":{"id":19616,"nodeType":"Block","src":"62606:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":19608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62656:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":19609,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19596,"src":"62687:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19610,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19598,"src":"62691:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19611,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19600,"src":"62695:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19612,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19602,"src":"62699:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19606,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62632:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62632:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62632:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19605,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62616:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62616:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19615,"nodeType":"ExpressionStatement","src":"62616:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62549:3:14","parameters":{"id":19603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19596,"mutability":"mutable","name":"p0","nameLocation":"62561:2:14","nodeType":"VariableDeclaration","scope":19617,"src":"62553:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19595,"name":"address","nodeType":"ElementaryTypeName","src":"62553:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19598,"mutability":"mutable","name":"p1","nameLocation":"62570:2:14","nodeType":"VariableDeclaration","scope":19617,"src":"62565:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19597,"name":"bool","nodeType":"ElementaryTypeName","src":"62565:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19600,"mutability":"mutable","name":"p2","nameLocation":"62579:2:14","nodeType":"VariableDeclaration","scope":19617,"src":"62574:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19599,"name":"bool","nodeType":"ElementaryTypeName","src":"62574:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19602,"mutability":"mutable","name":"p3","nameLocation":"62588:2:14","nodeType":"VariableDeclaration","scope":19617,"src":"62583:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19601,"name":"bool","nodeType":"ElementaryTypeName","src":"62583:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62552:39:14"},"returnParameters":{"id":19604,"nodeType":"ParameterList","parameters":[],"src":"62606:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19640,"nodeType":"FunctionDefinition","src":"62716:176:14","nodes":[],"body":{"id":19639,"nodeType":"Block","src":"62785:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":19631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62835:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":19632,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19619,"src":"62869:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19633,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19621,"src":"62873:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19634,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19623,"src":"62877:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19635,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19625,"src":"62881:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19629,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62811:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62811:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62811:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19628,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62795:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62795:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19638,"nodeType":"ExpressionStatement","src":"62795:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62725:3:14","parameters":{"id":19626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19619,"mutability":"mutable","name":"p0","nameLocation":"62737:2:14","nodeType":"VariableDeclaration","scope":19640,"src":"62729:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19618,"name":"address","nodeType":"ElementaryTypeName","src":"62729:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19621,"mutability":"mutable","name":"p1","nameLocation":"62746:2:14","nodeType":"VariableDeclaration","scope":19640,"src":"62741:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19620,"name":"bool","nodeType":"ElementaryTypeName","src":"62741:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19623,"mutability":"mutable","name":"p2","nameLocation":"62755:2:14","nodeType":"VariableDeclaration","scope":19640,"src":"62750:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19622,"name":"bool","nodeType":"ElementaryTypeName","src":"62750:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19625,"mutability":"mutable","name":"p3","nameLocation":"62767:2:14","nodeType":"VariableDeclaration","scope":19640,"src":"62759:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19624,"name":"address","nodeType":"ElementaryTypeName","src":"62759:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62728:42:14"},"returnParameters":{"id":19627,"nodeType":"ParameterList","parameters":[],"src":"62785:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19663,"nodeType":"FunctionDefinition","src":"62898:176:14","nodes":[],"body":{"id":19662,"nodeType":"Block","src":"62967:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7429","id":19654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63017:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84","typeString":"literal_string \"log(address,bool,address,uint)\""},"value":"log(address,bool,address,uint)"},{"id":19655,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19642,"src":"63051:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19656,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19644,"src":"63055:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19657,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19646,"src":"63059:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19658,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19648,"src":"63063:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84","typeString":"literal_string \"log(address,bool,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19652,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62993:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62993:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62993:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19651,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62977:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62977:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19661,"nodeType":"ExpressionStatement","src":"62977:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62907:3:14","parameters":{"id":19649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19642,"mutability":"mutable","name":"p0","nameLocation":"62919:2:14","nodeType":"VariableDeclaration","scope":19663,"src":"62911:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19641,"name":"address","nodeType":"ElementaryTypeName","src":"62911:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19644,"mutability":"mutable","name":"p1","nameLocation":"62928:2:14","nodeType":"VariableDeclaration","scope":19663,"src":"62923:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19643,"name":"bool","nodeType":"ElementaryTypeName","src":"62923:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19646,"mutability":"mutable","name":"p2","nameLocation":"62940:2:14","nodeType":"VariableDeclaration","scope":19663,"src":"62932:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19645,"name":"address","nodeType":"ElementaryTypeName","src":"62932:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19648,"mutability":"mutable","name":"p3","nameLocation":"62949:2:14","nodeType":"VariableDeclaration","scope":19663,"src":"62944:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19647,"name":"uint","nodeType":"ElementaryTypeName","src":"62944:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62910:42:14"},"returnParameters":{"id":19650,"nodeType":"ParameterList","parameters":[],"src":"62967:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19686,"nodeType":"FunctionDefinition","src":"63080:187:14","nodes":[],"body":{"id":19685,"nodeType":"Block","src":"63158:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":19677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63208:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":19678,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19665,"src":"63244:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19679,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19667,"src":"63248:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19680,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19669,"src":"63252:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19681,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19671,"src":"63256:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19675,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63184:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63184:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63184:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19674,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63168:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63168:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19684,"nodeType":"ExpressionStatement","src":"63168:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63089:3:14","parameters":{"id":19672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19665,"mutability":"mutable","name":"p0","nameLocation":"63101:2:14","nodeType":"VariableDeclaration","scope":19686,"src":"63093:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19664,"name":"address","nodeType":"ElementaryTypeName","src":"63093:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19667,"mutability":"mutable","name":"p1","nameLocation":"63110:2:14","nodeType":"VariableDeclaration","scope":19686,"src":"63105:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19666,"name":"bool","nodeType":"ElementaryTypeName","src":"63105:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19669,"mutability":"mutable","name":"p2","nameLocation":"63122:2:14","nodeType":"VariableDeclaration","scope":19686,"src":"63114:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19668,"name":"address","nodeType":"ElementaryTypeName","src":"63114:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19671,"mutability":"mutable","name":"p3","nameLocation":"63140:2:14","nodeType":"VariableDeclaration","scope":19686,"src":"63126:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19670,"name":"string","nodeType":"ElementaryTypeName","src":"63126:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63092:51:14"},"returnParameters":{"id":19673,"nodeType":"ParameterList","parameters":[],"src":"63158:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19709,"nodeType":"FunctionDefinition","src":"63273:176:14","nodes":[],"body":{"id":19708,"nodeType":"Block","src":"63342:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":19700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63392:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":19701,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19688,"src":"63426:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19702,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19690,"src":"63430:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19703,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19692,"src":"63434:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19704,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19694,"src":"63438:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19698,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63368:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63368:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63368:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19697,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63352:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63352:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19707,"nodeType":"ExpressionStatement","src":"63352:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63282:3:14","parameters":{"id":19695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19688,"mutability":"mutable","name":"p0","nameLocation":"63294:2:14","nodeType":"VariableDeclaration","scope":19709,"src":"63286:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19687,"name":"address","nodeType":"ElementaryTypeName","src":"63286:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19690,"mutability":"mutable","name":"p1","nameLocation":"63303:2:14","nodeType":"VariableDeclaration","scope":19709,"src":"63298:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19689,"name":"bool","nodeType":"ElementaryTypeName","src":"63298:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19692,"mutability":"mutable","name":"p2","nameLocation":"63315:2:14","nodeType":"VariableDeclaration","scope":19709,"src":"63307:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19691,"name":"address","nodeType":"ElementaryTypeName","src":"63307:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19694,"mutability":"mutable","name":"p3","nameLocation":"63324:2:14","nodeType":"VariableDeclaration","scope":19709,"src":"63319:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19693,"name":"bool","nodeType":"ElementaryTypeName","src":"63319:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63285:42:14"},"returnParameters":{"id":19696,"nodeType":"ParameterList","parameters":[],"src":"63342:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19732,"nodeType":"FunctionDefinition","src":"63455:182:14","nodes":[],"body":{"id":19731,"nodeType":"Block","src":"63527:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":19723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63577:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":19724,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19711,"src":"63614:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19725,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19713,"src":"63618:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19726,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19715,"src":"63622:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19727,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19717,"src":"63626:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19721,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63553:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63553:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63553:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19720,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63537:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63537:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19730,"nodeType":"ExpressionStatement","src":"63537:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63464:3:14","parameters":{"id":19718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19711,"mutability":"mutable","name":"p0","nameLocation":"63476:2:14","nodeType":"VariableDeclaration","scope":19732,"src":"63468:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19710,"name":"address","nodeType":"ElementaryTypeName","src":"63468:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19713,"mutability":"mutable","name":"p1","nameLocation":"63485:2:14","nodeType":"VariableDeclaration","scope":19732,"src":"63480:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19712,"name":"bool","nodeType":"ElementaryTypeName","src":"63480:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19715,"mutability":"mutable","name":"p2","nameLocation":"63497:2:14","nodeType":"VariableDeclaration","scope":19732,"src":"63489:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19714,"name":"address","nodeType":"ElementaryTypeName","src":"63489:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19717,"mutability":"mutable","name":"p3","nameLocation":"63509:2:14","nodeType":"VariableDeclaration","scope":19732,"src":"63501:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19716,"name":"address","nodeType":"ElementaryTypeName","src":"63501:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63467:45:14"},"returnParameters":{"id":19719,"nodeType":"ParameterList","parameters":[],"src":"63527:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19755,"nodeType":"FunctionDefinition","src":"63643:176:14","nodes":[],"body":{"id":19754,"nodeType":"Block","src":"63712:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c75696e7429","id":19746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63762:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6","typeString":"literal_string \"log(address,address,uint,uint)\""},"value":"log(address,address,uint,uint)"},{"id":19747,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19734,"src":"63796:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19748,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19736,"src":"63800:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19749,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19738,"src":"63804:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19750,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19740,"src":"63808:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6","typeString":"literal_string \"log(address,address,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19744,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63738:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63738:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63738:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19743,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63722:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63722:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19753,"nodeType":"ExpressionStatement","src":"63722:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63652:3:14","parameters":{"id":19741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19734,"mutability":"mutable","name":"p0","nameLocation":"63664:2:14","nodeType":"VariableDeclaration","scope":19755,"src":"63656:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19733,"name":"address","nodeType":"ElementaryTypeName","src":"63656:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19736,"mutability":"mutable","name":"p1","nameLocation":"63676:2:14","nodeType":"VariableDeclaration","scope":19755,"src":"63668:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19735,"name":"address","nodeType":"ElementaryTypeName","src":"63668:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19738,"mutability":"mutable","name":"p2","nameLocation":"63685:2:14","nodeType":"VariableDeclaration","scope":19755,"src":"63680:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19737,"name":"uint","nodeType":"ElementaryTypeName","src":"63680:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19740,"mutability":"mutable","name":"p3","nameLocation":"63694:2:14","nodeType":"VariableDeclaration","scope":19755,"src":"63689:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19739,"name":"uint","nodeType":"ElementaryTypeName","src":"63689:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63655:42:14"},"returnParameters":{"id":19742,"nodeType":"ParameterList","parameters":[],"src":"63712:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19778,"nodeType":"FunctionDefinition","src":"63825:187:14","nodes":[],"body":{"id":19777,"nodeType":"Block","src":"63903:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c737472696e6729","id":19769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63953:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815","typeString":"literal_string \"log(address,address,uint,string)\""},"value":"log(address,address,uint,string)"},{"id":19770,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19757,"src":"63989:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19771,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19759,"src":"63993:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19772,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19761,"src":"63997:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19773,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19763,"src":"64001:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815","typeString":"literal_string \"log(address,address,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19767,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63929:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63929:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63929:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19766,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63913:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63913:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19776,"nodeType":"ExpressionStatement","src":"63913:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63834:3:14","parameters":{"id":19764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19757,"mutability":"mutable","name":"p0","nameLocation":"63846:2:14","nodeType":"VariableDeclaration","scope":19778,"src":"63838:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19756,"name":"address","nodeType":"ElementaryTypeName","src":"63838:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19759,"mutability":"mutable","name":"p1","nameLocation":"63858:2:14","nodeType":"VariableDeclaration","scope":19778,"src":"63850:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19758,"name":"address","nodeType":"ElementaryTypeName","src":"63850:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19761,"mutability":"mutable","name":"p2","nameLocation":"63867:2:14","nodeType":"VariableDeclaration","scope":19778,"src":"63862:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19760,"name":"uint","nodeType":"ElementaryTypeName","src":"63862:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19763,"mutability":"mutable","name":"p3","nameLocation":"63885:2:14","nodeType":"VariableDeclaration","scope":19778,"src":"63871:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19762,"name":"string","nodeType":"ElementaryTypeName","src":"63871:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63837:51:14"},"returnParameters":{"id":19765,"nodeType":"ParameterList","parameters":[],"src":"63903:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19801,"nodeType":"FunctionDefinition","src":"64018:176:14","nodes":[],"body":{"id":19800,"nodeType":"Block","src":"64087:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c626f6f6c29","id":19792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64137:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411","typeString":"literal_string \"log(address,address,uint,bool)\""},"value":"log(address,address,uint,bool)"},{"id":19793,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19780,"src":"64171:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19794,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19782,"src":"64175:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19795,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19784,"src":"64179:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19796,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19786,"src":"64183:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411","typeString":"literal_string \"log(address,address,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19790,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64113:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64113:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64113:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19789,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64097:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64097:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19799,"nodeType":"ExpressionStatement","src":"64097:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64027:3:14","parameters":{"id":19787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19780,"mutability":"mutable","name":"p0","nameLocation":"64039:2:14","nodeType":"VariableDeclaration","scope":19801,"src":"64031:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19779,"name":"address","nodeType":"ElementaryTypeName","src":"64031:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19782,"mutability":"mutable","name":"p1","nameLocation":"64051:2:14","nodeType":"VariableDeclaration","scope":19801,"src":"64043:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19781,"name":"address","nodeType":"ElementaryTypeName","src":"64043:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19784,"mutability":"mutable","name":"p2","nameLocation":"64060:2:14","nodeType":"VariableDeclaration","scope":19801,"src":"64055:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19783,"name":"uint","nodeType":"ElementaryTypeName","src":"64055:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19786,"mutability":"mutable","name":"p3","nameLocation":"64069:2:14","nodeType":"VariableDeclaration","scope":19801,"src":"64064:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19785,"name":"bool","nodeType":"ElementaryTypeName","src":"64064:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64030:42:14"},"returnParameters":{"id":19788,"nodeType":"ParameterList","parameters":[],"src":"64087:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19824,"nodeType":"FunctionDefinition","src":"64200:182:14","nodes":[],"body":{"id":19823,"nodeType":"Block","src":"64272:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c6164647265737329","id":19815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64322:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556","typeString":"literal_string \"log(address,address,uint,address)\""},"value":"log(address,address,uint,address)"},{"id":19816,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19803,"src":"64359:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19817,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19805,"src":"64363:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19818,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19807,"src":"64367:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19819,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19809,"src":"64371:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556","typeString":"literal_string \"log(address,address,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19813,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64298:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64298:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64298:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19812,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64282:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64282:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19822,"nodeType":"ExpressionStatement","src":"64282:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64209:3:14","parameters":{"id":19810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19803,"mutability":"mutable","name":"p0","nameLocation":"64221:2:14","nodeType":"VariableDeclaration","scope":19824,"src":"64213:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19802,"name":"address","nodeType":"ElementaryTypeName","src":"64213:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19805,"mutability":"mutable","name":"p1","nameLocation":"64233:2:14","nodeType":"VariableDeclaration","scope":19824,"src":"64225:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19804,"name":"address","nodeType":"ElementaryTypeName","src":"64225:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19807,"mutability":"mutable","name":"p2","nameLocation":"64242:2:14","nodeType":"VariableDeclaration","scope":19824,"src":"64237:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19806,"name":"uint","nodeType":"ElementaryTypeName","src":"64237:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19809,"mutability":"mutable","name":"p3","nameLocation":"64254:2:14","nodeType":"VariableDeclaration","scope":19824,"src":"64246:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19808,"name":"address","nodeType":"ElementaryTypeName","src":"64246:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64212:45:14"},"returnParameters":{"id":19811,"nodeType":"ParameterList","parameters":[],"src":"64272:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19847,"nodeType":"FunctionDefinition","src":"64388:187:14","nodes":[],"body":{"id":19846,"nodeType":"Block","src":"64466:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7429","id":19838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64516:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba","typeString":"literal_string \"log(address,address,string,uint)\""},"value":"log(address,address,string,uint)"},{"id":19839,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19826,"src":"64552:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19840,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19828,"src":"64556:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19841,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19830,"src":"64560:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19842,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19832,"src":"64564:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba","typeString":"literal_string \"log(address,address,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64492:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64492:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64492:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19835,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64476:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64476:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19845,"nodeType":"ExpressionStatement","src":"64476:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64397:3:14","parameters":{"id":19833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19826,"mutability":"mutable","name":"p0","nameLocation":"64409:2:14","nodeType":"VariableDeclaration","scope":19847,"src":"64401:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19825,"name":"address","nodeType":"ElementaryTypeName","src":"64401:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19828,"mutability":"mutable","name":"p1","nameLocation":"64421:2:14","nodeType":"VariableDeclaration","scope":19847,"src":"64413:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19827,"name":"address","nodeType":"ElementaryTypeName","src":"64413:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19830,"mutability":"mutable","name":"p2","nameLocation":"64439:2:14","nodeType":"VariableDeclaration","scope":19847,"src":"64425:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19829,"name":"string","nodeType":"ElementaryTypeName","src":"64425:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19832,"mutability":"mutable","name":"p3","nameLocation":"64448:2:14","nodeType":"VariableDeclaration","scope":19847,"src":"64443:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19831,"name":"uint","nodeType":"ElementaryTypeName","src":"64443:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64400:51:14"},"returnParameters":{"id":19834,"nodeType":"ParameterList","parameters":[],"src":"64466:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19870,"nodeType":"FunctionDefinition","src":"64581:198:14","nodes":[],"body":{"id":19869,"nodeType":"Block","src":"64668:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":19861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64718:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":19862,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19849,"src":"64756:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19863,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19851,"src":"64760:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19864,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19853,"src":"64764:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19865,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19855,"src":"64768:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19859,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64694:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64694:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64694:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19858,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64678:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64678:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19868,"nodeType":"ExpressionStatement","src":"64678:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64590:3:14","parameters":{"id":19856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19849,"mutability":"mutable","name":"p0","nameLocation":"64602:2:14","nodeType":"VariableDeclaration","scope":19870,"src":"64594:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19848,"name":"address","nodeType":"ElementaryTypeName","src":"64594:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19851,"mutability":"mutable","name":"p1","nameLocation":"64614:2:14","nodeType":"VariableDeclaration","scope":19870,"src":"64606:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19850,"name":"address","nodeType":"ElementaryTypeName","src":"64606:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19853,"mutability":"mutable","name":"p2","nameLocation":"64632:2:14","nodeType":"VariableDeclaration","scope":19870,"src":"64618:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19852,"name":"string","nodeType":"ElementaryTypeName","src":"64618:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19855,"mutability":"mutable","name":"p3","nameLocation":"64650:2:14","nodeType":"VariableDeclaration","scope":19870,"src":"64636:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19854,"name":"string","nodeType":"ElementaryTypeName","src":"64636:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64593:60:14"},"returnParameters":{"id":19857,"nodeType":"ParameterList","parameters":[],"src":"64668:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19893,"nodeType":"FunctionDefinition","src":"64785:187:14","nodes":[],"body":{"id":19892,"nodeType":"Block","src":"64863:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":19884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64913:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":19885,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19872,"src":"64949:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19886,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19874,"src":"64953:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19887,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19876,"src":"64957:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19888,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19878,"src":"64961:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19882,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64889:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64889:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64889:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19881,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64873:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64873:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19891,"nodeType":"ExpressionStatement","src":"64873:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64794:3:14","parameters":{"id":19879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19872,"mutability":"mutable","name":"p0","nameLocation":"64806:2:14","nodeType":"VariableDeclaration","scope":19893,"src":"64798:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19871,"name":"address","nodeType":"ElementaryTypeName","src":"64798:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19874,"mutability":"mutable","name":"p1","nameLocation":"64818:2:14","nodeType":"VariableDeclaration","scope":19893,"src":"64810:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19873,"name":"address","nodeType":"ElementaryTypeName","src":"64810:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19876,"mutability":"mutable","name":"p2","nameLocation":"64836:2:14","nodeType":"VariableDeclaration","scope":19893,"src":"64822:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19875,"name":"string","nodeType":"ElementaryTypeName","src":"64822:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19878,"mutability":"mutable","name":"p3","nameLocation":"64845:2:14","nodeType":"VariableDeclaration","scope":19893,"src":"64840:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19877,"name":"bool","nodeType":"ElementaryTypeName","src":"64840:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64797:51:14"},"returnParameters":{"id":19880,"nodeType":"ParameterList","parameters":[],"src":"64863:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19916,"nodeType":"FunctionDefinition","src":"64978:193:14","nodes":[],"body":{"id":19915,"nodeType":"Block","src":"65059:112:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":19907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65109:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":19908,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19895,"src":"65148:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19909,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19897,"src":"65152:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19910,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19899,"src":"65156:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19911,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19901,"src":"65160:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19905,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65085:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65085:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65085:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19904,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65069:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65069:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19914,"nodeType":"ExpressionStatement","src":"65069:95:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64987:3:14","parameters":{"id":19902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19895,"mutability":"mutable","name":"p0","nameLocation":"64999:2:14","nodeType":"VariableDeclaration","scope":19916,"src":"64991:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19894,"name":"address","nodeType":"ElementaryTypeName","src":"64991:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19897,"mutability":"mutable","name":"p1","nameLocation":"65011:2:14","nodeType":"VariableDeclaration","scope":19916,"src":"65003:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19896,"name":"address","nodeType":"ElementaryTypeName","src":"65003:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19899,"mutability":"mutable","name":"p2","nameLocation":"65029:2:14","nodeType":"VariableDeclaration","scope":19916,"src":"65015:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19898,"name":"string","nodeType":"ElementaryTypeName","src":"65015:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19901,"mutability":"mutable","name":"p3","nameLocation":"65041:2:14","nodeType":"VariableDeclaration","scope":19916,"src":"65033:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19900,"name":"address","nodeType":"ElementaryTypeName","src":"65033:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64990:54:14"},"returnParameters":{"id":19903,"nodeType":"ParameterList","parameters":[],"src":"65059:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19939,"nodeType":"FunctionDefinition","src":"65177:176:14","nodes":[],"body":{"id":19938,"nodeType":"Block","src":"65246:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7429","id":19930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65296:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e","typeString":"literal_string \"log(address,address,bool,uint)\""},"value":"log(address,address,bool,uint)"},{"id":19931,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19918,"src":"65330:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19932,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19920,"src":"65334:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19933,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19922,"src":"65338:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19934,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19924,"src":"65342:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e","typeString":"literal_string \"log(address,address,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19928,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65272:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65272:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65272:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19927,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65256:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65256:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19937,"nodeType":"ExpressionStatement","src":"65256:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65186:3:14","parameters":{"id":19925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19918,"mutability":"mutable","name":"p0","nameLocation":"65198:2:14","nodeType":"VariableDeclaration","scope":19939,"src":"65190:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19917,"name":"address","nodeType":"ElementaryTypeName","src":"65190:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19920,"mutability":"mutable","name":"p1","nameLocation":"65210:2:14","nodeType":"VariableDeclaration","scope":19939,"src":"65202:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19919,"name":"address","nodeType":"ElementaryTypeName","src":"65202:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19922,"mutability":"mutable","name":"p2","nameLocation":"65219:2:14","nodeType":"VariableDeclaration","scope":19939,"src":"65214:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19921,"name":"bool","nodeType":"ElementaryTypeName","src":"65214:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19924,"mutability":"mutable","name":"p3","nameLocation":"65228:2:14","nodeType":"VariableDeclaration","scope":19939,"src":"65223:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19923,"name":"uint","nodeType":"ElementaryTypeName","src":"65223:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65189:42:14"},"returnParameters":{"id":19926,"nodeType":"ParameterList","parameters":[],"src":"65246:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19962,"nodeType":"FunctionDefinition","src":"65359:187:14","nodes":[],"body":{"id":19961,"nodeType":"Block","src":"65437:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":19953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65487:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":19954,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19941,"src":"65523:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19955,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19943,"src":"65527:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19956,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19945,"src":"65531:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19957,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19947,"src":"65535:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19951,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65463:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65463:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65463:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19950,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65447:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65447:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19960,"nodeType":"ExpressionStatement","src":"65447:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65368:3:14","parameters":{"id":19948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19941,"mutability":"mutable","name":"p0","nameLocation":"65380:2:14","nodeType":"VariableDeclaration","scope":19962,"src":"65372:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19940,"name":"address","nodeType":"ElementaryTypeName","src":"65372:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19943,"mutability":"mutable","name":"p1","nameLocation":"65392:2:14","nodeType":"VariableDeclaration","scope":19962,"src":"65384:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19942,"name":"address","nodeType":"ElementaryTypeName","src":"65384:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19945,"mutability":"mutable","name":"p2","nameLocation":"65401:2:14","nodeType":"VariableDeclaration","scope":19962,"src":"65396:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19944,"name":"bool","nodeType":"ElementaryTypeName","src":"65396:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19947,"mutability":"mutable","name":"p3","nameLocation":"65419:2:14","nodeType":"VariableDeclaration","scope":19962,"src":"65405:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19946,"name":"string","nodeType":"ElementaryTypeName","src":"65405:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65371:51:14"},"returnParameters":{"id":19949,"nodeType":"ParameterList","parameters":[],"src":"65437:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19985,"nodeType":"FunctionDefinition","src":"65552:176:14","nodes":[],"body":{"id":19984,"nodeType":"Block","src":"65621:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":19976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65671:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":19977,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19964,"src":"65705:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19978,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19966,"src":"65709:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19979,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19968,"src":"65713:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19980,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19970,"src":"65717:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19974,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65647:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65647:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65647:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19973,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65631:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65631:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19983,"nodeType":"ExpressionStatement","src":"65631:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65561:3:14","parameters":{"id":19971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19964,"mutability":"mutable","name":"p0","nameLocation":"65573:2:14","nodeType":"VariableDeclaration","scope":19985,"src":"65565:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19963,"name":"address","nodeType":"ElementaryTypeName","src":"65565:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19966,"mutability":"mutable","name":"p1","nameLocation":"65585:2:14","nodeType":"VariableDeclaration","scope":19985,"src":"65577:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19965,"name":"address","nodeType":"ElementaryTypeName","src":"65577:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19968,"mutability":"mutable","name":"p2","nameLocation":"65594:2:14","nodeType":"VariableDeclaration","scope":19985,"src":"65589:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19967,"name":"bool","nodeType":"ElementaryTypeName","src":"65589:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19970,"mutability":"mutable","name":"p3","nameLocation":"65603:2:14","nodeType":"VariableDeclaration","scope":19985,"src":"65598:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19969,"name":"bool","nodeType":"ElementaryTypeName","src":"65598:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65564:42:14"},"returnParameters":{"id":19972,"nodeType":"ParameterList","parameters":[],"src":"65621:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20008,"nodeType":"FunctionDefinition","src":"65734:182:14","nodes":[],"body":{"id":20007,"nodeType":"Block","src":"65806:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":19999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65856:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":20000,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19987,"src":"65893:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20001,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19989,"src":"65897:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20002,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19991,"src":"65901:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20003,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19993,"src":"65905:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19997,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65832:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65832:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65832:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19996,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65816:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65816:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20006,"nodeType":"ExpressionStatement","src":"65816:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65743:3:14","parameters":{"id":19994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19987,"mutability":"mutable","name":"p0","nameLocation":"65755:2:14","nodeType":"VariableDeclaration","scope":20008,"src":"65747:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19986,"name":"address","nodeType":"ElementaryTypeName","src":"65747:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19989,"mutability":"mutable","name":"p1","nameLocation":"65767:2:14","nodeType":"VariableDeclaration","scope":20008,"src":"65759:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19988,"name":"address","nodeType":"ElementaryTypeName","src":"65759:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19991,"mutability":"mutable","name":"p2","nameLocation":"65776:2:14","nodeType":"VariableDeclaration","scope":20008,"src":"65771:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19990,"name":"bool","nodeType":"ElementaryTypeName","src":"65771:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19993,"mutability":"mutable","name":"p3","nameLocation":"65788:2:14","nodeType":"VariableDeclaration","scope":20008,"src":"65780:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19992,"name":"address","nodeType":"ElementaryTypeName","src":"65780:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65746:45:14"},"returnParameters":{"id":19995,"nodeType":"ParameterList","parameters":[],"src":"65806:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20031,"nodeType":"FunctionDefinition","src":"65922:182:14","nodes":[],"body":{"id":20030,"nodeType":"Block","src":"65994:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7429","id":20022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66044:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028","typeString":"literal_string \"log(address,address,address,uint)\""},"value":"log(address,address,address,uint)"},{"id":20023,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20010,"src":"66081:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20024,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20012,"src":"66085:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20025,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20014,"src":"66089:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20026,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20016,"src":"66093:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028","typeString":"literal_string \"log(address,address,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20020,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66020:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66020:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66020:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20019,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"66004:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66004:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20029,"nodeType":"ExpressionStatement","src":"66004:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65931:3:14","parameters":{"id":20017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20010,"mutability":"mutable","name":"p0","nameLocation":"65943:2:14","nodeType":"VariableDeclaration","scope":20031,"src":"65935:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20009,"name":"address","nodeType":"ElementaryTypeName","src":"65935:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20012,"mutability":"mutable","name":"p1","nameLocation":"65955:2:14","nodeType":"VariableDeclaration","scope":20031,"src":"65947:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20011,"name":"address","nodeType":"ElementaryTypeName","src":"65947:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20014,"mutability":"mutable","name":"p2","nameLocation":"65967:2:14","nodeType":"VariableDeclaration","scope":20031,"src":"65959:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20013,"name":"address","nodeType":"ElementaryTypeName","src":"65959:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20016,"mutability":"mutable","name":"p3","nameLocation":"65976:2:14","nodeType":"VariableDeclaration","scope":20031,"src":"65971:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20015,"name":"uint","nodeType":"ElementaryTypeName","src":"65971:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65934:45:14"},"returnParameters":{"id":20018,"nodeType":"ParameterList","parameters":[],"src":"65994:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20054,"nodeType":"FunctionDefinition","src":"66110:193:14","nodes":[],"body":{"id":20053,"nodeType":"Block","src":"66191:112:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":20045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66241:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":20046,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20033,"src":"66280:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20047,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20035,"src":"66284:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20048,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20037,"src":"66288:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20049,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20039,"src":"66292:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20043,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66217:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66217:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66217:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20042,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"66201:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66201:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20052,"nodeType":"ExpressionStatement","src":"66201:95:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66119:3:14","parameters":{"id":20040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20033,"mutability":"mutable","name":"p0","nameLocation":"66131:2:14","nodeType":"VariableDeclaration","scope":20054,"src":"66123:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20032,"name":"address","nodeType":"ElementaryTypeName","src":"66123:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20035,"mutability":"mutable","name":"p1","nameLocation":"66143:2:14","nodeType":"VariableDeclaration","scope":20054,"src":"66135:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20034,"name":"address","nodeType":"ElementaryTypeName","src":"66135:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20037,"mutability":"mutable","name":"p2","nameLocation":"66155:2:14","nodeType":"VariableDeclaration","scope":20054,"src":"66147:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20036,"name":"address","nodeType":"ElementaryTypeName","src":"66147:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20039,"mutability":"mutable","name":"p3","nameLocation":"66173:2:14","nodeType":"VariableDeclaration","scope":20054,"src":"66159:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20038,"name":"string","nodeType":"ElementaryTypeName","src":"66159:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66122:54:14"},"returnParameters":{"id":20041,"nodeType":"ParameterList","parameters":[],"src":"66191:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20077,"nodeType":"FunctionDefinition","src":"66309:182:14","nodes":[],"body":{"id":20076,"nodeType":"Block","src":"66381:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":20068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66431:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":20069,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20056,"src":"66468:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20070,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20058,"src":"66472:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20071,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20060,"src":"66476:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20072,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20062,"src":"66480:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20066,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66407:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66407:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66407:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20065,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"66391:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66391:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20075,"nodeType":"ExpressionStatement","src":"66391:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66318:3:14","parameters":{"id":20063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20056,"mutability":"mutable","name":"p0","nameLocation":"66330:2:14","nodeType":"VariableDeclaration","scope":20077,"src":"66322:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20055,"name":"address","nodeType":"ElementaryTypeName","src":"66322:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20058,"mutability":"mutable","name":"p1","nameLocation":"66342:2:14","nodeType":"VariableDeclaration","scope":20077,"src":"66334:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20057,"name":"address","nodeType":"ElementaryTypeName","src":"66334:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20060,"mutability":"mutable","name":"p2","nameLocation":"66354:2:14","nodeType":"VariableDeclaration","scope":20077,"src":"66346:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20059,"name":"address","nodeType":"ElementaryTypeName","src":"66346:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20062,"mutability":"mutable","name":"p3","nameLocation":"66363:2:14","nodeType":"VariableDeclaration","scope":20077,"src":"66358:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20061,"name":"bool","nodeType":"ElementaryTypeName","src":"66358:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66321:45:14"},"returnParameters":{"id":20064,"nodeType":"ParameterList","parameters":[],"src":"66381:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20100,"nodeType":"FunctionDefinition","src":"66497:188:14","nodes":[],"body":{"id":20099,"nodeType":"Block","src":"66572:113:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":20091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66622:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":20092,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20079,"src":"66662:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20093,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20081,"src":"66666:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20094,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20083,"src":"66670:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20095,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20085,"src":"66674:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20089,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66598:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66598:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66598:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20088,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"66582:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66582:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20098,"nodeType":"ExpressionStatement","src":"66582:96:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66506:3:14","parameters":{"id":20086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20079,"mutability":"mutable","name":"p0","nameLocation":"66518:2:14","nodeType":"VariableDeclaration","scope":20100,"src":"66510:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20078,"name":"address","nodeType":"ElementaryTypeName","src":"66510:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20081,"mutability":"mutable","name":"p1","nameLocation":"66530:2:14","nodeType":"VariableDeclaration","scope":20100,"src":"66522:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20080,"name":"address","nodeType":"ElementaryTypeName","src":"66522:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20083,"mutability":"mutable","name":"p2","nameLocation":"66542:2:14","nodeType":"VariableDeclaration","scope":20100,"src":"66534:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20082,"name":"address","nodeType":"ElementaryTypeName","src":"66534:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20085,"mutability":"mutable","name":"p3","nameLocation":"66554:2:14","nodeType":"VariableDeclaration","scope":20100,"src":"66546:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20084,"name":"address","nodeType":"ElementaryTypeName","src":"66546:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66509:48:14"},"returnParameters":{"id":20087,"nodeType":"ParameterList","parameters":[],"src":"66572:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"console","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[20101],"name":"console","nameLocation":"74:7:14","scope":20102,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/console2.sol":{"id":15,"ast":{"absolutePath":"lib/forge-std/src/console2.sol","id":28198,"exportedSymbols":{"console2":[28197]},"nodeType":"SourceUnit","src":"32:69275:15","nodes":[{"id":20103,"nodeType":"PragmaDirective","src":"32:32:15","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":28197,"nodeType":"ContractDefinition","src":"525:68782:15","nodes":[{"id":20110,"nodeType":"VariableDeclaration","src":"548:86:15","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"565:15:15","scope":28197,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20105,"name":"address","nodeType":"ElementaryTypeName","src":"548:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":20108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"591:42:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":20107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"583:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20106,"name":"address","nodeType":"ElementaryTypeName","src":"583:7:15","typeDescriptions":{}}},"id":20109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"583:51:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":20126,"nodeType":"FunctionDefinition","src":"641:376:15","nodes":[],"body":{"id":20125,"nodeType":"Block","src":"701:316:15","nodes":[],"statements":[{"assignments":[20116],"declarations":[{"constant":false,"id":20116,"mutability":"mutable","name":"payloadLength","nameLocation":"719:13:15","nodeType":"VariableDeclaration","scope":20125,"src":"711:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20115,"name":"uint256","nodeType":"ElementaryTypeName","src":"711:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20119,"initialValue":{"expression":{"id":20117,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20112,"src":"735:7:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":20118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"735:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"711:38:15"},{"assignments":[20121],"declarations":[{"constant":false,"id":20121,"mutability":"mutable","name":"consoleAddress","nameLocation":"767:14:15","nodeType":"VariableDeclaration","scope":20125,"src":"759:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20120,"name":"address","nodeType":"ElementaryTypeName","src":"759:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":20123,"initialValue":{"id":20122,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20110,"src":"784:15:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"759:40:15"},{"AST":{"nodeType":"YulBlock","src":"861:150:15","statements":[{"nodeType":"YulVariableDeclaration","src":"875:36:15","value":{"arguments":[{"name":"payload","nodeType":"YulIdentifier","src":"899:7:15"},{"kind":"number","nodeType":"YulLiteral","src":"908:2:15","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"895:3:15"},"nodeType":"YulFunctionCall","src":"895:16:15"},"variables":[{"name":"payloadStart","nodeType":"YulTypedName","src":"879:12:15","type":""}]},{"nodeType":"YulVariableDeclaration","src":"924:77:15","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"944:3:15"},"nodeType":"YulFunctionCall","src":"944:5:15"},{"name":"consoleAddress","nodeType":"YulIdentifier","src":"951:14:15"},{"name":"payloadStart","nodeType":"YulIdentifier","src":"967:12:15"},{"name":"payloadLength","nodeType":"YulIdentifier","src":"981:13:15"},{"kind":"number","nodeType":"YulLiteral","src":"996:1:15","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"999:1:15","type":"","value":"0"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"933:10:15"},"nodeType":"YulFunctionCall","src":"933:68:15"},"variables":[{"name":"r","nodeType":"YulTypedName","src":"928:1:15","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":20121,"isOffset":false,"isSlot":false,"src":"951:14:15","valueSize":1},{"declaration":20112,"isOffset":false,"isSlot":false,"src":"899:7:15","valueSize":1},{"declaration":20116,"isOffset":false,"isSlot":false,"src":"981:13:15","valueSize":1}],"id":20124,"nodeType":"InlineAssembly","src":"852:159:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"650:15:15","parameters":{"id":20113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20112,"mutability":"mutable","name":"payload","nameLocation":"679:7:15","nodeType":"VariableDeclaration","scope":20126,"src":"666:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20111,"name":"bytes","nodeType":"ElementaryTypeName","src":"666:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"665:22:15"},"returnParameters":{"id":20114,"nodeType":"ParameterList","parameters":[],"src":"701:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":20137,"nodeType":"FunctionDefinition","src":"1023:95:15","nodes":[],"body":{"id":20136,"nodeType":"Block","src":"1052:66:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":20132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1102:7:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":20130,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1078:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1078:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1078:32:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20129,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1062:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1062:49:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20135,"nodeType":"ExpressionStatement","src":"1062:49:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"1032:3:15","parameters":{"id":20127,"nodeType":"ParameterList","parameters":[],"src":"1035:2:15"},"returnParameters":{"id":20128,"nodeType":"ParameterList","parameters":[],"src":"1052:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20151,"nodeType":"FunctionDefinition","src":"1124:117:15","nodes":[],"body":{"id":20150,"nodeType":"Block","src":"1165:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":20145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1215:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":20146,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20139,"src":"1230:2:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":20143,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1191:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1191:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1191:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20142,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1175:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1175:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20149,"nodeType":"ExpressionStatement","src":"1175:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"1133:6:15","parameters":{"id":20140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20139,"mutability":"mutable","name":"p0","nameLocation":"1147:2:15","nodeType":"VariableDeclaration","scope":20151,"src":"1140:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20138,"name":"int256","nodeType":"ElementaryTypeName","src":"1140:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1139:11:15"},"returnParameters":{"id":20141,"nodeType":"ParameterList","parameters":[],"src":"1165:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20165,"nodeType":"FunctionDefinition","src":"1247:120:15","nodes":[],"body":{"id":20164,"nodeType":"Block","src":"1290:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":20159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1340:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":20160,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20153,"src":"1356:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20157,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1316:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1316:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1316:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20156,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1300:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1300:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20163,"nodeType":"ExpressionStatement","src":"1300:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"1256:7:15","parameters":{"id":20154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20153,"mutability":"mutable","name":"p0","nameLocation":"1272:2:15","nodeType":"VariableDeclaration","scope":20165,"src":"1264:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20152,"name":"uint256","nodeType":"ElementaryTypeName","src":"1264:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1263:12:15"},"returnParameters":{"id":20155,"nodeType":"ParameterList","parameters":[],"src":"1290:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20179,"nodeType":"FunctionDefinition","src":"1373:127:15","nodes":[],"body":{"id":20178,"nodeType":"Block","src":"1424:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":20173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1474:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":20174,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20167,"src":"1489:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1450:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1450:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1450:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20170,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1434:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1434:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20177,"nodeType":"ExpressionStatement","src":"1434:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"1382:9:15","parameters":{"id":20168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20167,"mutability":"mutable","name":"p0","nameLocation":"1406:2:15","nodeType":"VariableDeclaration","scope":20179,"src":"1392:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20166,"name":"string","nodeType":"ElementaryTypeName","src":"1392:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1391:18:15"},"returnParameters":{"id":20169,"nodeType":"ParameterList","parameters":[],"src":"1424:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20193,"nodeType":"FunctionDefinition","src":"1506:114:15","nodes":[],"body":{"id":20192,"nodeType":"Block","src":"1546:74:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":20187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1596:11:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":20188,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20181,"src":"1609:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1572:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1572:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1572:40:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20184,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1556:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1556:57:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20191,"nodeType":"ExpressionStatement","src":"1556:57:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1515:7:15","parameters":{"id":20182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20181,"mutability":"mutable","name":"p0","nameLocation":"1528:2:15","nodeType":"VariableDeclaration","scope":20193,"src":"1523:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20180,"name":"bool","nodeType":"ElementaryTypeName","src":"1523:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1522:9:15"},"returnParameters":{"id":20183,"nodeType":"ParameterList","parameters":[],"src":"1546:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20207,"nodeType":"FunctionDefinition","src":"1626:123:15","nodes":[],"body":{"id":20206,"nodeType":"Block","src":"1672:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":20201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1722:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":20202,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20195,"src":"1738:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20199,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1698:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1698:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1698:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20198,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1682:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1682:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20205,"nodeType":"ExpressionStatement","src":"1682:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1635:10:15","parameters":{"id":20196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20195,"mutability":"mutable","name":"p0","nameLocation":"1654:2:15","nodeType":"VariableDeclaration","scope":20207,"src":"1646:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20194,"name":"address","nodeType":"ElementaryTypeName","src":"1646:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1645:12:15"},"returnParameters":{"id":20197,"nodeType":"ParameterList","parameters":[],"src":"1672:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20221,"nodeType":"FunctionDefinition","src":"1755:124:15","nodes":[],"body":{"id":20220,"nodeType":"Block","src":"1804:75:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":20215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1854:12:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":20216,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20209,"src":"1868:2:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":20213,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1830:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1830:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1830:41:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20212,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1814:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1814:58:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20219,"nodeType":"ExpressionStatement","src":"1814:58:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1764:8:15","parameters":{"id":20210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20209,"mutability":"mutable","name":"p0","nameLocation":"1786:2:15","nodeType":"VariableDeclaration","scope":20221,"src":"1773:15:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20208,"name":"bytes","nodeType":"ElementaryTypeName","src":"1773:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1772:17:15"},"returnParameters":{"id":20211,"nodeType":"ParameterList","parameters":[],"src":"1804:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20235,"nodeType":"FunctionDefinition","src":"1885:120:15","nodes":[],"body":{"id":20234,"nodeType":"Block","src":"1929:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":20229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1979:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":20230,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20223,"src":"1994:2:15","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":20227,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1955:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1955:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1955:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20226,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1939:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1939:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20233,"nodeType":"ExpressionStatement","src":"1939:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1894:9:15","parameters":{"id":20224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20223,"mutability":"mutable","name":"p0","nameLocation":"1911:2:15","nodeType":"VariableDeclaration","scope":20235,"src":"1904:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":20222,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1904:6:15","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1903:11:15"},"returnParameters":{"id":20225,"nodeType":"ParameterList","parameters":[],"src":"1929:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20249,"nodeType":"FunctionDefinition","src":"2011:120:15","nodes":[],"body":{"id":20248,"nodeType":"Block","src":"2055:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":20243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2105:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":20244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20237,"src":"2120:2:15","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":20241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2081:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2081:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2081:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2065:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2065:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20247,"nodeType":"ExpressionStatement","src":"2065:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"2020:9:15","parameters":{"id":20238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20237,"mutability":"mutable","name":"p0","nameLocation":"2037:2:15","nodeType":"VariableDeclaration","scope":20249,"src":"2030:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":20236,"name":"bytes2","nodeType":"ElementaryTypeName","src":"2030:6:15","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"2029:11:15"},"returnParameters":{"id":20239,"nodeType":"ParameterList","parameters":[],"src":"2055:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20263,"nodeType":"FunctionDefinition","src":"2137:120:15","nodes":[],"body":{"id":20262,"nodeType":"Block","src":"2181:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":20257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2231:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":20258,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20251,"src":"2246:2:15","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":20255,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2207:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2207:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2207:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20254,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2191:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2191:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20261,"nodeType":"ExpressionStatement","src":"2191:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"2146:9:15","parameters":{"id":20252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20251,"mutability":"mutable","name":"p0","nameLocation":"2163:2:15","nodeType":"VariableDeclaration","scope":20263,"src":"2156:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":20250,"name":"bytes3","nodeType":"ElementaryTypeName","src":"2156:6:15","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"2155:11:15"},"returnParameters":{"id":20253,"nodeType":"ParameterList","parameters":[],"src":"2181:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20277,"nodeType":"FunctionDefinition","src":"2263:120:15","nodes":[],"body":{"id":20276,"nodeType":"Block","src":"2307:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":20271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2357:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":20272,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20265,"src":"2372:2:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":20269,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2333:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2333:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2333:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20268,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2317:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2317:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20275,"nodeType":"ExpressionStatement","src":"2317:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"2272:9:15","parameters":{"id":20266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20265,"mutability":"mutable","name":"p0","nameLocation":"2289:2:15","nodeType":"VariableDeclaration","scope":20277,"src":"2282:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":20264,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2282:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2281:11:15"},"returnParameters":{"id":20267,"nodeType":"ParameterList","parameters":[],"src":"2307:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20291,"nodeType":"FunctionDefinition","src":"2389:120:15","nodes":[],"body":{"id":20290,"nodeType":"Block","src":"2433:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":20285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2483:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":20286,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20279,"src":"2498:2:15","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":20283,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2459:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2459:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2459:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20282,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2443:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2443:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20289,"nodeType":"ExpressionStatement","src":"2443:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"2398:9:15","parameters":{"id":20280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20279,"mutability":"mutable","name":"p0","nameLocation":"2415:2:15","nodeType":"VariableDeclaration","scope":20291,"src":"2408:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":20278,"name":"bytes5","nodeType":"ElementaryTypeName","src":"2408:6:15","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"2407:11:15"},"returnParameters":{"id":20281,"nodeType":"ParameterList","parameters":[],"src":"2433:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20305,"nodeType":"FunctionDefinition","src":"2515:120:15","nodes":[],"body":{"id":20304,"nodeType":"Block","src":"2559:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":20299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2609:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":20300,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20293,"src":"2624:2:15","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":20297,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2585:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2585:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2585:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20296,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2569:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2569:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20303,"nodeType":"ExpressionStatement","src":"2569:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2524:9:15","parameters":{"id":20294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20293,"mutability":"mutable","name":"p0","nameLocation":"2541:2:15","nodeType":"VariableDeclaration","scope":20305,"src":"2534:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":20292,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2534:6:15","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2533:11:15"},"returnParameters":{"id":20295,"nodeType":"ParameterList","parameters":[],"src":"2559:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20319,"nodeType":"FunctionDefinition","src":"2641:120:15","nodes":[],"body":{"id":20318,"nodeType":"Block","src":"2685:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":20313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2735:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":20314,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20307,"src":"2750:2:15","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":20311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2711:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2711:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2711:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20310,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2695:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2695:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20317,"nodeType":"ExpressionStatement","src":"2695:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2650:9:15","parameters":{"id":20308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20307,"mutability":"mutable","name":"p0","nameLocation":"2667:2:15","nodeType":"VariableDeclaration","scope":20319,"src":"2660:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":20306,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2660:6:15","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2659:11:15"},"returnParameters":{"id":20309,"nodeType":"ParameterList","parameters":[],"src":"2685:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20333,"nodeType":"FunctionDefinition","src":"2767:120:15","nodes":[],"body":{"id":20332,"nodeType":"Block","src":"2811:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":20327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2861:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":20328,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20321,"src":"2876:2:15","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":20325,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2837:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2837:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2837:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20324,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2821:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2821:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20331,"nodeType":"ExpressionStatement","src":"2821:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2776:9:15","parameters":{"id":20322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20321,"mutability":"mutable","name":"p0","nameLocation":"2793:2:15","nodeType":"VariableDeclaration","scope":20333,"src":"2786:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":20320,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2786:6:15","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2785:11:15"},"returnParameters":{"id":20323,"nodeType":"ParameterList","parameters":[],"src":"2811:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20347,"nodeType":"FunctionDefinition","src":"2893:120:15","nodes":[],"body":{"id":20346,"nodeType":"Block","src":"2937:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":20341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2987:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":20342,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20335,"src":"3002:2:15","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":20339,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2963:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2963:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2963:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20338,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2947:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2947:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20345,"nodeType":"ExpressionStatement","src":"2947:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2902:9:15","parameters":{"id":20336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20335,"mutability":"mutable","name":"p0","nameLocation":"2919:2:15","nodeType":"VariableDeclaration","scope":20347,"src":"2912:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":20334,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2912:6:15","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2911:11:15"},"returnParameters":{"id":20337,"nodeType":"ParameterList","parameters":[],"src":"2937:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20361,"nodeType":"FunctionDefinition","src":"3019:123:15","nodes":[],"body":{"id":20360,"nodeType":"Block","src":"3065:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":20355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3115:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":20356,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20349,"src":"3131:2:15","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":20353,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3091:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3091:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3091:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20352,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3075:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3075:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20359,"nodeType":"ExpressionStatement","src":"3075:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"3028:10:15","parameters":{"id":20350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20349,"mutability":"mutable","name":"p0","nameLocation":"3047:2:15","nodeType":"VariableDeclaration","scope":20361,"src":"3039:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":20348,"name":"bytes10","nodeType":"ElementaryTypeName","src":"3039:7:15","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"3038:12:15"},"returnParameters":{"id":20351,"nodeType":"ParameterList","parameters":[],"src":"3065:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20375,"nodeType":"FunctionDefinition","src":"3148:123:15","nodes":[],"body":{"id":20374,"nodeType":"Block","src":"3194:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":20369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3244:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":20370,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20363,"src":"3260:2:15","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":20367,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3220:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3220:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3220:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20366,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3204:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3204:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20373,"nodeType":"ExpressionStatement","src":"3204:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"3157:10:15","parameters":{"id":20364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20363,"mutability":"mutable","name":"p0","nameLocation":"3176:2:15","nodeType":"VariableDeclaration","scope":20375,"src":"3168:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":20362,"name":"bytes11","nodeType":"ElementaryTypeName","src":"3168:7:15","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"3167:12:15"},"returnParameters":{"id":20365,"nodeType":"ParameterList","parameters":[],"src":"3194:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20389,"nodeType":"FunctionDefinition","src":"3277:123:15","nodes":[],"body":{"id":20388,"nodeType":"Block","src":"3323:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":20383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3373:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":20384,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20377,"src":"3389:2:15","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":20381,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3349:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3349:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3349:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20380,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3333:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3333:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20387,"nodeType":"ExpressionStatement","src":"3333:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"3286:10:15","parameters":{"id":20378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20377,"mutability":"mutable","name":"p0","nameLocation":"3305:2:15","nodeType":"VariableDeclaration","scope":20389,"src":"3297:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":20376,"name":"bytes12","nodeType":"ElementaryTypeName","src":"3297:7:15","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"3296:12:15"},"returnParameters":{"id":20379,"nodeType":"ParameterList","parameters":[],"src":"3323:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20403,"nodeType":"FunctionDefinition","src":"3406:123:15","nodes":[],"body":{"id":20402,"nodeType":"Block","src":"3452:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":20397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3502:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":20398,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20391,"src":"3518:2:15","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":20395,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3478:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3478:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3478:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20394,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3462:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3462:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20401,"nodeType":"ExpressionStatement","src":"3462:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"3415:10:15","parameters":{"id":20392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20391,"mutability":"mutable","name":"p0","nameLocation":"3434:2:15","nodeType":"VariableDeclaration","scope":20403,"src":"3426:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":20390,"name":"bytes13","nodeType":"ElementaryTypeName","src":"3426:7:15","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"3425:12:15"},"returnParameters":{"id":20393,"nodeType":"ParameterList","parameters":[],"src":"3452:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20417,"nodeType":"FunctionDefinition","src":"3535:123:15","nodes":[],"body":{"id":20416,"nodeType":"Block","src":"3581:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":20411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3631:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":20412,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20405,"src":"3647:2:15","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":20409,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3607:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3607:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3607:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20408,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3591:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3591:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20415,"nodeType":"ExpressionStatement","src":"3591:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3544:10:15","parameters":{"id":20406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20405,"mutability":"mutable","name":"p0","nameLocation":"3563:2:15","nodeType":"VariableDeclaration","scope":20417,"src":"3555:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":20404,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3555:7:15","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3554:12:15"},"returnParameters":{"id":20407,"nodeType":"ParameterList","parameters":[],"src":"3581:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20431,"nodeType":"FunctionDefinition","src":"3664:123:15","nodes":[],"body":{"id":20430,"nodeType":"Block","src":"3710:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":20425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3760:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":20426,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20419,"src":"3776:2:15","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":20423,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3736:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3736:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3736:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20422,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3720:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3720:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20429,"nodeType":"ExpressionStatement","src":"3720:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3673:10:15","parameters":{"id":20420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20419,"mutability":"mutable","name":"p0","nameLocation":"3692:2:15","nodeType":"VariableDeclaration","scope":20431,"src":"3684:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":20418,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3684:7:15","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3683:12:15"},"returnParameters":{"id":20421,"nodeType":"ParameterList","parameters":[],"src":"3710:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20445,"nodeType":"FunctionDefinition","src":"3793:123:15","nodes":[],"body":{"id":20444,"nodeType":"Block","src":"3839:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":20439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3889:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":20440,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20433,"src":"3905:2:15","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":20437,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3865:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3865:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3865:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20436,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3849:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3849:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20443,"nodeType":"ExpressionStatement","src":"3849:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3802:10:15","parameters":{"id":20434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20433,"mutability":"mutable","name":"p0","nameLocation":"3821:2:15","nodeType":"VariableDeclaration","scope":20445,"src":"3813:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":20432,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3813:7:15","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3812:12:15"},"returnParameters":{"id":20435,"nodeType":"ParameterList","parameters":[],"src":"3839:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20459,"nodeType":"FunctionDefinition","src":"3922:123:15","nodes":[],"body":{"id":20458,"nodeType":"Block","src":"3968:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":20453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4018:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":20454,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20447,"src":"4034:2:15","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":20451,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3994:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3994:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3994:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20450,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3978:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3978:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20457,"nodeType":"ExpressionStatement","src":"3978:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3931:10:15","parameters":{"id":20448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20447,"mutability":"mutable","name":"p0","nameLocation":"3950:2:15","nodeType":"VariableDeclaration","scope":20459,"src":"3942:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":20446,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3942:7:15","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3941:12:15"},"returnParameters":{"id":20449,"nodeType":"ParameterList","parameters":[],"src":"3968:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20473,"nodeType":"FunctionDefinition","src":"4051:123:15","nodes":[],"body":{"id":20472,"nodeType":"Block","src":"4097:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":20467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4147:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":20468,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20461,"src":"4163:2:15","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":20465,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4123:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4123:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4123:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20464,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4107:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4107:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20471,"nodeType":"ExpressionStatement","src":"4107:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"4060:10:15","parameters":{"id":20462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20461,"mutability":"mutable","name":"p0","nameLocation":"4079:2:15","nodeType":"VariableDeclaration","scope":20473,"src":"4071:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":20460,"name":"bytes18","nodeType":"ElementaryTypeName","src":"4071:7:15","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"4070:12:15"},"returnParameters":{"id":20463,"nodeType":"ParameterList","parameters":[],"src":"4097:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20487,"nodeType":"FunctionDefinition","src":"4180:123:15","nodes":[],"body":{"id":20486,"nodeType":"Block","src":"4226:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":20481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4276:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":20482,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20475,"src":"4292:2:15","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":20479,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4252:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4252:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4252:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20478,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4236:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4236:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20485,"nodeType":"ExpressionStatement","src":"4236:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"4189:10:15","parameters":{"id":20476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20475,"mutability":"mutable","name":"p0","nameLocation":"4208:2:15","nodeType":"VariableDeclaration","scope":20487,"src":"4200:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":20474,"name":"bytes19","nodeType":"ElementaryTypeName","src":"4200:7:15","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"4199:12:15"},"returnParameters":{"id":20477,"nodeType":"ParameterList","parameters":[],"src":"4226:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20501,"nodeType":"FunctionDefinition","src":"4309:123:15","nodes":[],"body":{"id":20500,"nodeType":"Block","src":"4355:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":20495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4405:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":20496,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20489,"src":"4421:2:15","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":20493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4381:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4381:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4381:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20492,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4365:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4365:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20499,"nodeType":"ExpressionStatement","src":"4365:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"4318:10:15","parameters":{"id":20490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20489,"mutability":"mutable","name":"p0","nameLocation":"4337:2:15","nodeType":"VariableDeclaration","scope":20501,"src":"4329:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":20488,"name":"bytes20","nodeType":"ElementaryTypeName","src":"4329:7:15","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"4328:12:15"},"returnParameters":{"id":20491,"nodeType":"ParameterList","parameters":[],"src":"4355:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20515,"nodeType":"FunctionDefinition","src":"4438:123:15","nodes":[],"body":{"id":20514,"nodeType":"Block","src":"4484:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":20509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4534:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":20510,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20503,"src":"4550:2:15","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":20507,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4510:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4510:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4510:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20506,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4494:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4494:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20513,"nodeType":"ExpressionStatement","src":"4494:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"4447:10:15","parameters":{"id":20504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20503,"mutability":"mutable","name":"p0","nameLocation":"4466:2:15","nodeType":"VariableDeclaration","scope":20515,"src":"4458:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":20502,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4458:7:15","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"4457:12:15"},"returnParameters":{"id":20505,"nodeType":"ParameterList","parameters":[],"src":"4484:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20529,"nodeType":"FunctionDefinition","src":"4567:123:15","nodes":[],"body":{"id":20528,"nodeType":"Block","src":"4613:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":20523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4663:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":20524,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20517,"src":"4679:2:15","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":20521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4639:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4639:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4639:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20520,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4623:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4623:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20527,"nodeType":"ExpressionStatement","src":"4623:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4576:10:15","parameters":{"id":20518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20517,"mutability":"mutable","name":"p0","nameLocation":"4595:2:15","nodeType":"VariableDeclaration","scope":20529,"src":"4587:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":20516,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4587:7:15","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4586:12:15"},"returnParameters":{"id":20519,"nodeType":"ParameterList","parameters":[],"src":"4613:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20543,"nodeType":"FunctionDefinition","src":"4696:123:15","nodes":[],"body":{"id":20542,"nodeType":"Block","src":"4742:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":20537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4792:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":20538,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20531,"src":"4808:2:15","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":20535,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4768:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4768:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4768:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20534,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4752:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4752:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20541,"nodeType":"ExpressionStatement","src":"4752:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4705:10:15","parameters":{"id":20532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20531,"mutability":"mutable","name":"p0","nameLocation":"4724:2:15","nodeType":"VariableDeclaration","scope":20543,"src":"4716:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":20530,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4716:7:15","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4715:12:15"},"returnParameters":{"id":20533,"nodeType":"ParameterList","parameters":[],"src":"4742:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20557,"nodeType":"FunctionDefinition","src":"4825:123:15","nodes":[],"body":{"id":20556,"nodeType":"Block","src":"4871:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":20551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4921:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":20552,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20545,"src":"4937:2:15","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":20549,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4897:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4897:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4897:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20548,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4881:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4881:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20555,"nodeType":"ExpressionStatement","src":"4881:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4834:10:15","parameters":{"id":20546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20545,"mutability":"mutable","name":"p0","nameLocation":"4853:2:15","nodeType":"VariableDeclaration","scope":20557,"src":"4845:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":20544,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4845:7:15","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4844:12:15"},"returnParameters":{"id":20547,"nodeType":"ParameterList","parameters":[],"src":"4871:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20571,"nodeType":"FunctionDefinition","src":"4954:123:15","nodes":[],"body":{"id":20570,"nodeType":"Block","src":"5000:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":20565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5050:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":20566,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20559,"src":"5066:2:15","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":20563,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5026:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5026:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5026:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20562,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5010:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5010:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20569,"nodeType":"ExpressionStatement","src":"5010:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4963:10:15","parameters":{"id":20560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20559,"mutability":"mutable","name":"p0","nameLocation":"4982:2:15","nodeType":"VariableDeclaration","scope":20571,"src":"4974:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":20558,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4974:7:15","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4973:12:15"},"returnParameters":{"id":20561,"nodeType":"ParameterList","parameters":[],"src":"5000:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20585,"nodeType":"FunctionDefinition","src":"5083:123:15","nodes":[],"body":{"id":20584,"nodeType":"Block","src":"5129:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":20579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5179:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":20580,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20573,"src":"5195:2:15","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":20577,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5155:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5155:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5155:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20576,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5139:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5139:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20583,"nodeType":"ExpressionStatement","src":"5139:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"5092:10:15","parameters":{"id":20574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20573,"mutability":"mutable","name":"p0","nameLocation":"5111:2:15","nodeType":"VariableDeclaration","scope":20585,"src":"5103:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":20572,"name":"bytes26","nodeType":"ElementaryTypeName","src":"5103:7:15","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"5102:12:15"},"returnParameters":{"id":20575,"nodeType":"ParameterList","parameters":[],"src":"5129:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20599,"nodeType":"FunctionDefinition","src":"5212:123:15","nodes":[],"body":{"id":20598,"nodeType":"Block","src":"5258:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":20593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5308:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":20594,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20587,"src":"5324:2:15","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":20591,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5284:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5284:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5284:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20590,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5268:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20597,"nodeType":"ExpressionStatement","src":"5268:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"5221:10:15","parameters":{"id":20588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20587,"mutability":"mutable","name":"p0","nameLocation":"5240:2:15","nodeType":"VariableDeclaration","scope":20599,"src":"5232:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":20586,"name":"bytes27","nodeType":"ElementaryTypeName","src":"5232:7:15","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"5231:12:15"},"returnParameters":{"id":20589,"nodeType":"ParameterList","parameters":[],"src":"5258:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20613,"nodeType":"FunctionDefinition","src":"5341:123:15","nodes":[],"body":{"id":20612,"nodeType":"Block","src":"5387:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":20607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5437:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":20608,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20601,"src":"5453:2:15","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":20605,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5413:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5413:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5413:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20604,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5397:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5397:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20611,"nodeType":"ExpressionStatement","src":"5397:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"5350:10:15","parameters":{"id":20602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20601,"mutability":"mutable","name":"p0","nameLocation":"5369:2:15","nodeType":"VariableDeclaration","scope":20613,"src":"5361:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":20600,"name":"bytes28","nodeType":"ElementaryTypeName","src":"5361:7:15","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"5360:12:15"},"returnParameters":{"id":20603,"nodeType":"ParameterList","parameters":[],"src":"5387:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20627,"nodeType":"FunctionDefinition","src":"5470:123:15","nodes":[],"body":{"id":20626,"nodeType":"Block","src":"5516:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":20621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5566:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":20622,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20615,"src":"5582:2:15","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":20619,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5542:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5542:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5542:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20618,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5526:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5526:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20625,"nodeType":"ExpressionStatement","src":"5526:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5479:10:15","parameters":{"id":20616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20615,"mutability":"mutable","name":"p0","nameLocation":"5498:2:15","nodeType":"VariableDeclaration","scope":20627,"src":"5490:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":20614,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5490:7:15","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5489:12:15"},"returnParameters":{"id":20617,"nodeType":"ParameterList","parameters":[],"src":"5516:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20641,"nodeType":"FunctionDefinition","src":"5599:123:15","nodes":[],"body":{"id":20640,"nodeType":"Block","src":"5645:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":20635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5695:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":20636,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20629,"src":"5711:2:15","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":20633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5671:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5671:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5671:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20632,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5655:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5655:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20639,"nodeType":"ExpressionStatement","src":"5655:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5608:10:15","parameters":{"id":20630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20629,"mutability":"mutable","name":"p0","nameLocation":"5627:2:15","nodeType":"VariableDeclaration","scope":20641,"src":"5619:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":20628,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5619:7:15","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5618:12:15"},"returnParameters":{"id":20631,"nodeType":"ParameterList","parameters":[],"src":"5645:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20655,"nodeType":"FunctionDefinition","src":"5728:123:15","nodes":[],"body":{"id":20654,"nodeType":"Block","src":"5774:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":20649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5824:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":20650,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20643,"src":"5840:2:15","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":20647,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5800:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5800:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5800:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20646,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5784:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5784:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20653,"nodeType":"ExpressionStatement","src":"5784:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5737:10:15","parameters":{"id":20644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20643,"mutability":"mutable","name":"p0","nameLocation":"5756:2:15","nodeType":"VariableDeclaration","scope":20655,"src":"5748:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":20642,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5748:7:15","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5747:12:15"},"returnParameters":{"id":20645,"nodeType":"ParameterList","parameters":[],"src":"5774:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20669,"nodeType":"FunctionDefinition","src":"5857:123:15","nodes":[],"body":{"id":20668,"nodeType":"Block","src":"5903:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":20663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5953:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":20664,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20657,"src":"5969:2:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":20661,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5929:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5929:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5929:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20660,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5913:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5913:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20667,"nodeType":"ExpressionStatement","src":"5913:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5866:10:15","parameters":{"id":20658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20657,"mutability":"mutable","name":"p0","nameLocation":"5885:2:15","nodeType":"VariableDeclaration","scope":20669,"src":"5877:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5877:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5876:12:15"},"returnParameters":{"id":20659,"nodeType":"ParameterList","parameters":[],"src":"5903:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20683,"nodeType":"FunctionDefinition","src":"5986:116:15","nodes":[],"body":{"id":20682,"nodeType":"Block","src":"6025:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":20677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6075:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":20678,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20671,"src":"6091:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20675,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6051:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6051:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6051:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20674,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6035:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6035:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20681,"nodeType":"ExpressionStatement","src":"6035:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5995:3:15","parameters":{"id":20672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20671,"mutability":"mutable","name":"p0","nameLocation":"6007:2:15","nodeType":"VariableDeclaration","scope":20683,"src":"5999:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20670,"name":"uint256","nodeType":"ElementaryTypeName","src":"5999:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5998:12:15"},"returnParameters":{"id":20673,"nodeType":"ParameterList","parameters":[],"src":"6025:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20697,"nodeType":"FunctionDefinition","src":"6108:114:15","nodes":[],"body":{"id":20696,"nodeType":"Block","src":"6146:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":20691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6196:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":20692,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20685,"src":"6211:2:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":20689,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6172:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6172:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6172:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20688,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6156:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6156:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20695,"nodeType":"ExpressionStatement","src":"6156:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6117:3:15","parameters":{"id":20686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20685,"mutability":"mutable","name":"p0","nameLocation":"6128:2:15","nodeType":"VariableDeclaration","scope":20697,"src":"6121:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20684,"name":"int256","nodeType":"ElementaryTypeName","src":"6121:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6120:11:15"},"returnParameters":{"id":20687,"nodeType":"ParameterList","parameters":[],"src":"6146:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20711,"nodeType":"FunctionDefinition","src":"6228:121:15","nodes":[],"body":{"id":20710,"nodeType":"Block","src":"6273:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":20705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6323:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":20706,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20699,"src":"6338:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20703,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6299:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20704,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6299:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6299:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20702,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6283:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6283:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20709,"nodeType":"ExpressionStatement","src":"6283:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6237:3:15","parameters":{"id":20700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20699,"mutability":"mutable","name":"p0","nameLocation":"6255:2:15","nodeType":"VariableDeclaration","scope":20711,"src":"6241:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20698,"name":"string","nodeType":"ElementaryTypeName","src":"6241:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6240:18:15"},"returnParameters":{"id":20701,"nodeType":"ParameterList","parameters":[],"src":"6273:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20725,"nodeType":"FunctionDefinition","src":"6355:110:15","nodes":[],"body":{"id":20724,"nodeType":"Block","src":"6391:74:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":20719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6441:11:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":20720,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20713,"src":"6454:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20717,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6417:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6417:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6417:40:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20716,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6401:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6401:57:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20723,"nodeType":"ExpressionStatement","src":"6401:57:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6364:3:15","parameters":{"id":20714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20713,"mutability":"mutable","name":"p0","nameLocation":"6373:2:15","nodeType":"VariableDeclaration","scope":20725,"src":"6368:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20712,"name":"bool","nodeType":"ElementaryTypeName","src":"6368:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6367:9:15"},"returnParameters":{"id":20715,"nodeType":"ParameterList","parameters":[],"src":"6391:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20739,"nodeType":"FunctionDefinition","src":"6471:116:15","nodes":[],"body":{"id":20738,"nodeType":"Block","src":"6510:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":20733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6560:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":20734,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20727,"src":"6576:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20731,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6536:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6536:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6536:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20730,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6520:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6520:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20737,"nodeType":"ExpressionStatement","src":"6520:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6480:3:15","parameters":{"id":20728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20727,"mutability":"mutable","name":"p0","nameLocation":"6492:2:15","nodeType":"VariableDeclaration","scope":20739,"src":"6484:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20726,"name":"address","nodeType":"ElementaryTypeName","src":"6484:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6483:12:15"},"returnParameters":{"id":20729,"nodeType":"ParameterList","parameters":[],"src":"6510:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20756,"nodeType":"FunctionDefinition","src":"6593:140:15","nodes":[],"body":{"id":20755,"nodeType":"Block","src":"6644:89:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e7432353629","id":20749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6694:22:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},"value":"log(uint256,uint256)"},{"id":20750,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20741,"src":"6718:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20751,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20743,"src":"6722:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20747,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6670:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6670:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6670:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20746,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6654:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6654:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20754,"nodeType":"ExpressionStatement","src":"6654:72:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6602:3:15","parameters":{"id":20744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20741,"mutability":"mutable","name":"p0","nameLocation":"6614:2:15","nodeType":"VariableDeclaration","scope":20756,"src":"6606:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20740,"name":"uint256","nodeType":"ElementaryTypeName","src":"6606:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20743,"mutability":"mutable","name":"p1","nameLocation":"6626:2:15","nodeType":"VariableDeclaration","scope":20756,"src":"6618:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20742,"name":"uint256","nodeType":"ElementaryTypeName","src":"6618:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6605:24:15"},"returnParameters":{"id":20745,"nodeType":"ParameterList","parameters":[],"src":"6644:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20773,"nodeType":"FunctionDefinition","src":"6739:145:15","nodes":[],"body":{"id":20772,"nodeType":"Block","src":"6796:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e6729","id":20766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6846:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},"value":"log(uint256,string)"},{"id":20767,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20758,"src":"6869:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20768,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20760,"src":"6873:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20764,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6822:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6822:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6822:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20763,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6806:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6806:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20771,"nodeType":"ExpressionStatement","src":"6806:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6748:3:15","parameters":{"id":20761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20758,"mutability":"mutable","name":"p0","nameLocation":"6760:2:15","nodeType":"VariableDeclaration","scope":20773,"src":"6752:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20757,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20760,"mutability":"mutable","name":"p1","nameLocation":"6778:2:15","nodeType":"VariableDeclaration","scope":20773,"src":"6764:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20759,"name":"string","nodeType":"ElementaryTypeName","src":"6764:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6751:30:15"},"returnParameters":{"id":20762,"nodeType":"ParameterList","parameters":[],"src":"6796:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20790,"nodeType":"FunctionDefinition","src":"6890:134:15","nodes":[],"body":{"id":20789,"nodeType":"Block","src":"6938:86:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c29","id":20783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6988:19:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},"value":"log(uint256,bool)"},{"id":20784,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20775,"src":"7009:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20785,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20777,"src":"7013:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6964:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6964:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6964:52:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6948:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6948:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20788,"nodeType":"ExpressionStatement","src":"6948:69:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6899:3:15","parameters":{"id":20778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20775,"mutability":"mutable","name":"p0","nameLocation":"6911:2:15","nodeType":"VariableDeclaration","scope":20790,"src":"6903:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20774,"name":"uint256","nodeType":"ElementaryTypeName","src":"6903:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20777,"mutability":"mutable","name":"p1","nameLocation":"6920:2:15","nodeType":"VariableDeclaration","scope":20790,"src":"6915:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20776,"name":"bool","nodeType":"ElementaryTypeName","src":"6915:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6902:21:15"},"returnParameters":{"id":20779,"nodeType":"ParameterList","parameters":[],"src":"6938:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20807,"nodeType":"FunctionDefinition","src":"7030:140:15","nodes":[],"body":{"id":20806,"nodeType":"Block","src":"7081:89:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c6164647265737329","id":20800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7131:22:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},"value":"log(uint256,address)"},{"id":20801,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20792,"src":"7155:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20802,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20794,"src":"7159:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20798,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7107:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7107:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7107:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20797,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7091:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7091:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20805,"nodeType":"ExpressionStatement","src":"7091:72:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7039:3:15","parameters":{"id":20795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20792,"mutability":"mutable","name":"p0","nameLocation":"7051:2:15","nodeType":"VariableDeclaration","scope":20807,"src":"7043:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20791,"name":"uint256","nodeType":"ElementaryTypeName","src":"7043:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20794,"mutability":"mutable","name":"p1","nameLocation":"7063:2:15","nodeType":"VariableDeclaration","scope":20807,"src":"7055:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20793,"name":"address","nodeType":"ElementaryTypeName","src":"7055:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7042:24:15"},"returnParameters":{"id":20796,"nodeType":"ParameterList","parameters":[],"src":"7081:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20824,"nodeType":"FunctionDefinition","src":"7176:145:15","nodes":[],"body":{"id":20823,"nodeType":"Block","src":"7233:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":20817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7283:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":20818,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20809,"src":"7306:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20819,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20811,"src":"7310:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20815,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7259:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7259:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7259:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20814,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7243:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7243:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20822,"nodeType":"ExpressionStatement","src":"7243:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7185:3:15","parameters":{"id":20812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20809,"mutability":"mutable","name":"p0","nameLocation":"7203:2:15","nodeType":"VariableDeclaration","scope":20824,"src":"7189:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20808,"name":"string","nodeType":"ElementaryTypeName","src":"7189:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20811,"mutability":"mutable","name":"p1","nameLocation":"7215:2:15","nodeType":"VariableDeclaration","scope":20824,"src":"7207:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20810,"name":"uint256","nodeType":"ElementaryTypeName","src":"7207:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7188:30:15"},"returnParameters":{"id":20813,"nodeType":"ParameterList","parameters":[],"src":"7233:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20841,"nodeType":"FunctionDefinition","src":"7327:143:15","nodes":[],"body":{"id":20840,"nodeType":"Block","src":"7383:87:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c696e7432353629","id":20834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7433:20:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},"value":"log(string,int256)"},{"id":20835,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20826,"src":"7455:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20836,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20828,"src":"7459:2:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":20832,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7409:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7409:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7409:53:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20831,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7393:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7393:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20839,"nodeType":"ExpressionStatement","src":"7393:70:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7336:3:15","parameters":{"id":20829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20826,"mutability":"mutable","name":"p0","nameLocation":"7354:2:15","nodeType":"VariableDeclaration","scope":20841,"src":"7340:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20825,"name":"string","nodeType":"ElementaryTypeName","src":"7340:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20828,"mutability":"mutable","name":"p1","nameLocation":"7365:2:15","nodeType":"VariableDeclaration","scope":20841,"src":"7358:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20827,"name":"int256","nodeType":"ElementaryTypeName","src":"7358:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7339:29:15"},"returnParameters":{"id":20830,"nodeType":"ParameterList","parameters":[],"src":"7383:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20858,"nodeType":"FunctionDefinition","src":"7476:150:15","nodes":[],"body":{"id":20857,"nodeType":"Block","src":"7539:87:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":20851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7589:20:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":20852,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20843,"src":"7611:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20853,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20845,"src":"7615:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20849,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7565:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7565:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7565:53:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20848,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7549:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7549:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20856,"nodeType":"ExpressionStatement","src":"7549:70:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7485:3:15","parameters":{"id":20846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20843,"mutability":"mutable","name":"p0","nameLocation":"7503:2:15","nodeType":"VariableDeclaration","scope":20858,"src":"7489:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20842,"name":"string","nodeType":"ElementaryTypeName","src":"7489:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20845,"mutability":"mutable","name":"p1","nameLocation":"7521:2:15","nodeType":"VariableDeclaration","scope":20858,"src":"7507:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20844,"name":"string","nodeType":"ElementaryTypeName","src":"7507:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7488:36:15"},"returnParameters":{"id":20847,"nodeType":"ParameterList","parameters":[],"src":"7539:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20875,"nodeType":"FunctionDefinition","src":"7632:139:15","nodes":[],"body":{"id":20874,"nodeType":"Block","src":"7686:85:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":20868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7736:18:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":20869,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20860,"src":"7756:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20870,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20862,"src":"7760:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20866,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7712:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7712:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7712:51:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20865,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7696:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7696:68:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20873,"nodeType":"ExpressionStatement","src":"7696:68:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7641:3:15","parameters":{"id":20863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20860,"mutability":"mutable","name":"p0","nameLocation":"7659:2:15","nodeType":"VariableDeclaration","scope":20875,"src":"7645:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20859,"name":"string","nodeType":"ElementaryTypeName","src":"7645:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20862,"mutability":"mutable","name":"p1","nameLocation":"7668:2:15","nodeType":"VariableDeclaration","scope":20875,"src":"7663:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20861,"name":"bool","nodeType":"ElementaryTypeName","src":"7663:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7644:27:15"},"returnParameters":{"id":20864,"nodeType":"ParameterList","parameters":[],"src":"7686:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20892,"nodeType":"FunctionDefinition","src":"7777:145:15","nodes":[],"body":{"id":20891,"nodeType":"Block","src":"7834:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":20885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7884:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":20886,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20877,"src":"7907:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20887,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20879,"src":"7911:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20883,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7860:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7860:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7860:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20882,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7844:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7844:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20890,"nodeType":"ExpressionStatement","src":"7844:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7786:3:15","parameters":{"id":20880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20877,"mutability":"mutable","name":"p0","nameLocation":"7804:2:15","nodeType":"VariableDeclaration","scope":20892,"src":"7790:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20876,"name":"string","nodeType":"ElementaryTypeName","src":"7790:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20879,"mutability":"mutable","name":"p1","nameLocation":"7816:2:15","nodeType":"VariableDeclaration","scope":20892,"src":"7808:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20878,"name":"address","nodeType":"ElementaryTypeName","src":"7808:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7789:30:15"},"returnParameters":{"id":20881,"nodeType":"ParameterList","parameters":[],"src":"7834:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20909,"nodeType":"FunctionDefinition","src":"7928:134:15","nodes":[],"body":{"id":20908,"nodeType":"Block","src":"7976:86:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7432353629","id":20902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8026:19:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},"value":"log(bool,uint256)"},{"id":20903,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20894,"src":"8047:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20904,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20896,"src":"8051:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20900,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8002:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8002:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8002:52:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20899,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7986:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7986:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20907,"nodeType":"ExpressionStatement","src":"7986:69:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7937:3:15","parameters":{"id":20897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20894,"mutability":"mutable","name":"p0","nameLocation":"7946:2:15","nodeType":"VariableDeclaration","scope":20909,"src":"7941:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20893,"name":"bool","nodeType":"ElementaryTypeName","src":"7941:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20896,"mutability":"mutable","name":"p1","nameLocation":"7958:2:15","nodeType":"VariableDeclaration","scope":20909,"src":"7950:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20895,"name":"uint256","nodeType":"ElementaryTypeName","src":"7950:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7940:21:15"},"returnParameters":{"id":20898,"nodeType":"ParameterList","parameters":[],"src":"7976:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20926,"nodeType":"FunctionDefinition","src":"8068:139:15","nodes":[],"body":{"id":20925,"nodeType":"Block","src":"8122:85:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":20919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8172:18:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":20920,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20911,"src":"8192:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20921,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20913,"src":"8196:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20917,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8148:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8148:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8148:51:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20916,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8132:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8132:68:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20924,"nodeType":"ExpressionStatement","src":"8132:68:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8077:3:15","parameters":{"id":20914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20911,"mutability":"mutable","name":"p0","nameLocation":"8086:2:15","nodeType":"VariableDeclaration","scope":20926,"src":"8081:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20910,"name":"bool","nodeType":"ElementaryTypeName","src":"8081:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20913,"mutability":"mutable","name":"p1","nameLocation":"8104:2:15","nodeType":"VariableDeclaration","scope":20926,"src":"8090:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20912,"name":"string","nodeType":"ElementaryTypeName","src":"8090:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8080:27:15"},"returnParameters":{"id":20915,"nodeType":"ParameterList","parameters":[],"src":"8122:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20943,"nodeType":"FunctionDefinition","src":"8213:128:15","nodes":[],"body":{"id":20942,"nodeType":"Block","src":"8258:83:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":20936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8308:16:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":20937,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20928,"src":"8326:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20938,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20930,"src":"8330:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8284:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8284:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8284:49:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20933,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8268:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8268:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20941,"nodeType":"ExpressionStatement","src":"8268:66:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8222:3:15","parameters":{"id":20931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20928,"mutability":"mutable","name":"p0","nameLocation":"8231:2:15","nodeType":"VariableDeclaration","scope":20943,"src":"8226:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20927,"name":"bool","nodeType":"ElementaryTypeName","src":"8226:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20930,"mutability":"mutable","name":"p1","nameLocation":"8240:2:15","nodeType":"VariableDeclaration","scope":20943,"src":"8235:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20929,"name":"bool","nodeType":"ElementaryTypeName","src":"8235:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8225:18:15"},"returnParameters":{"id":20932,"nodeType":"ParameterList","parameters":[],"src":"8258:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20960,"nodeType":"FunctionDefinition","src":"8347:134:15","nodes":[],"body":{"id":20959,"nodeType":"Block","src":"8395:86:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":20953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8445:19:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":20954,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20945,"src":"8466:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20955,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20947,"src":"8470:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20951,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8421:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8421:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8421:52:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20950,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8405:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8405:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20958,"nodeType":"ExpressionStatement","src":"8405:69:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8356:3:15","parameters":{"id":20948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20945,"mutability":"mutable","name":"p0","nameLocation":"8365:2:15","nodeType":"VariableDeclaration","scope":20960,"src":"8360:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20944,"name":"bool","nodeType":"ElementaryTypeName","src":"8360:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20947,"mutability":"mutable","name":"p1","nameLocation":"8377:2:15","nodeType":"VariableDeclaration","scope":20960,"src":"8369:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20946,"name":"address","nodeType":"ElementaryTypeName","src":"8369:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8359:21:15"},"returnParameters":{"id":20949,"nodeType":"ParameterList","parameters":[],"src":"8395:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20977,"nodeType":"FunctionDefinition","src":"8487:140:15","nodes":[],"body":{"id":20976,"nodeType":"Block","src":"8538:89:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7432353629","id":20970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8588:22:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},"value":"log(address,uint256)"},{"id":20971,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20962,"src":"8612:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20972,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20964,"src":"8616:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20968,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8564:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8564:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8564:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20967,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8548:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8548:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20975,"nodeType":"ExpressionStatement","src":"8548:72:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8496:3:15","parameters":{"id":20965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20962,"mutability":"mutable","name":"p0","nameLocation":"8508:2:15","nodeType":"VariableDeclaration","scope":20977,"src":"8500:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20961,"name":"address","nodeType":"ElementaryTypeName","src":"8500:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20964,"mutability":"mutable","name":"p1","nameLocation":"8520:2:15","nodeType":"VariableDeclaration","scope":20977,"src":"8512:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20963,"name":"uint256","nodeType":"ElementaryTypeName","src":"8512:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8499:24:15"},"returnParameters":{"id":20966,"nodeType":"ParameterList","parameters":[],"src":"8538:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20994,"nodeType":"FunctionDefinition","src":"8633:145:15","nodes":[],"body":{"id":20993,"nodeType":"Block","src":"8690:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":20987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8740:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":20988,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20979,"src":"8763:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20989,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20981,"src":"8767:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8716:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8716:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8716:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20984,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8700:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8700:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20992,"nodeType":"ExpressionStatement","src":"8700:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8642:3:15","parameters":{"id":20982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20979,"mutability":"mutable","name":"p0","nameLocation":"8654:2:15","nodeType":"VariableDeclaration","scope":20994,"src":"8646:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20978,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20981,"mutability":"mutable","name":"p1","nameLocation":"8672:2:15","nodeType":"VariableDeclaration","scope":20994,"src":"8658:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20980,"name":"string","nodeType":"ElementaryTypeName","src":"8658:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8645:30:15"},"returnParameters":{"id":20983,"nodeType":"ParameterList","parameters":[],"src":"8690:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21011,"nodeType":"FunctionDefinition","src":"8784:134:15","nodes":[],"body":{"id":21010,"nodeType":"Block","src":"8832:86:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":21004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8882:19:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":21005,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20996,"src":"8903:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21006,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20998,"src":"8907:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8858:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8858:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8858:52:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8842:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8842:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21009,"nodeType":"ExpressionStatement","src":"8842:69:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8793:3:15","parameters":{"id":20999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20996,"mutability":"mutable","name":"p0","nameLocation":"8805:2:15","nodeType":"VariableDeclaration","scope":21011,"src":"8797:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20995,"name":"address","nodeType":"ElementaryTypeName","src":"8797:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20998,"mutability":"mutable","name":"p1","nameLocation":"8814:2:15","nodeType":"VariableDeclaration","scope":21011,"src":"8809:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20997,"name":"bool","nodeType":"ElementaryTypeName","src":"8809:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8796:21:15"},"returnParameters":{"id":21000,"nodeType":"ParameterList","parameters":[],"src":"8832:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21028,"nodeType":"FunctionDefinition","src":"8924:140:15","nodes":[],"body":{"id":21027,"nodeType":"Block","src":"8975:89:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":21021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9025:22:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":21022,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21013,"src":"9049:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21023,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21015,"src":"9053:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21019,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9001:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9001:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9001:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21018,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8985:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8985:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21026,"nodeType":"ExpressionStatement","src":"8985:72:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8933:3:15","parameters":{"id":21016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21013,"mutability":"mutable","name":"p0","nameLocation":"8945:2:15","nodeType":"VariableDeclaration","scope":21028,"src":"8937:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21012,"name":"address","nodeType":"ElementaryTypeName","src":"8937:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21015,"mutability":"mutable","name":"p1","nameLocation":"8957:2:15","nodeType":"VariableDeclaration","scope":21028,"src":"8949:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21014,"name":"address","nodeType":"ElementaryTypeName","src":"8949:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8936:24:15"},"returnParameters":{"id":21017,"nodeType":"ParameterList","parameters":[],"src":"8975:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21048,"nodeType":"FunctionDefinition","src":"9070:164:15","nodes":[],"body":{"id":21047,"nodeType":"Block","src":"9133:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e7432353629","id":21040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9183:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256)"},{"id":21041,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21030,"src":"9215:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21042,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21032,"src":"9219:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21043,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21034,"src":"9223:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9159:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9159:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9159:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21037,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9143:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9143:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21046,"nodeType":"ExpressionStatement","src":"9143:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9079:3:15","parameters":{"id":21035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21030,"mutability":"mutable","name":"p0","nameLocation":"9091:2:15","nodeType":"VariableDeclaration","scope":21048,"src":"9083:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21029,"name":"uint256","nodeType":"ElementaryTypeName","src":"9083:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21032,"mutability":"mutable","name":"p1","nameLocation":"9103:2:15","nodeType":"VariableDeclaration","scope":21048,"src":"9095:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21031,"name":"uint256","nodeType":"ElementaryTypeName","src":"9095:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21034,"mutability":"mutable","name":"p2","nameLocation":"9115:2:15","nodeType":"VariableDeclaration","scope":21048,"src":"9107:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21033,"name":"uint256","nodeType":"ElementaryTypeName","src":"9107:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9082:36:15"},"returnParameters":{"id":21036,"nodeType":"ParameterList","parameters":[],"src":"9133:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21068,"nodeType":"FunctionDefinition","src":"9240:169:15","nodes":[],"body":{"id":21067,"nodeType":"Block","src":"9309:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e6729","id":21060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9359:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},"value":"log(uint256,uint256,string)"},{"id":21061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21050,"src":"9390:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21052,"src":"9394:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21054,"src":"9398:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9335:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9335:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9335:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9319:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9319:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21066,"nodeType":"ExpressionStatement","src":"9319:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9249:3:15","parameters":{"id":21055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21050,"mutability":"mutable","name":"p0","nameLocation":"9261:2:15","nodeType":"VariableDeclaration","scope":21068,"src":"9253:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21049,"name":"uint256","nodeType":"ElementaryTypeName","src":"9253:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21052,"mutability":"mutable","name":"p1","nameLocation":"9273:2:15","nodeType":"VariableDeclaration","scope":21068,"src":"9265:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21051,"name":"uint256","nodeType":"ElementaryTypeName","src":"9265:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21054,"mutability":"mutable","name":"p2","nameLocation":"9291:2:15","nodeType":"VariableDeclaration","scope":21068,"src":"9277:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21053,"name":"string","nodeType":"ElementaryTypeName","src":"9277:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9252:42:15"},"returnParameters":{"id":21056,"nodeType":"ParameterList","parameters":[],"src":"9309:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21088,"nodeType":"FunctionDefinition","src":"9415:158:15","nodes":[],"body":{"id":21087,"nodeType":"Block","src":"9475:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c29","id":21080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9525:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},"value":"log(uint256,uint256,bool)"},{"id":21081,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21070,"src":"9554:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21082,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21072,"src":"9558:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21083,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21074,"src":"9562:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9501:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9501:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9501:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9485:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9485:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21086,"nodeType":"ExpressionStatement","src":"9485:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9424:3:15","parameters":{"id":21075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21070,"mutability":"mutable","name":"p0","nameLocation":"9436:2:15","nodeType":"VariableDeclaration","scope":21088,"src":"9428:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21069,"name":"uint256","nodeType":"ElementaryTypeName","src":"9428:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21072,"mutability":"mutable","name":"p1","nameLocation":"9448:2:15","nodeType":"VariableDeclaration","scope":21088,"src":"9440:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21071,"name":"uint256","nodeType":"ElementaryTypeName","src":"9440:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21074,"mutability":"mutable","name":"p2","nameLocation":"9457:2:15","nodeType":"VariableDeclaration","scope":21088,"src":"9452:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21073,"name":"bool","nodeType":"ElementaryTypeName","src":"9452:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9427:33:15"},"returnParameters":{"id":21076,"nodeType":"ParameterList","parameters":[],"src":"9475:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21108,"nodeType":"FunctionDefinition","src":"9579:164:15","nodes":[],"body":{"id":21107,"nodeType":"Block","src":"9642:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c6164647265737329","id":21100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9692:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},"value":"log(uint256,uint256,address)"},{"id":21101,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21090,"src":"9724:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21102,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21092,"src":"9728:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21103,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21094,"src":"9732:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9668:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9668:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9668:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9652:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9652:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21106,"nodeType":"ExpressionStatement","src":"9652:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9588:3:15","parameters":{"id":21095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21090,"mutability":"mutable","name":"p0","nameLocation":"9600:2:15","nodeType":"VariableDeclaration","scope":21108,"src":"9592:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21089,"name":"uint256","nodeType":"ElementaryTypeName","src":"9592:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21092,"mutability":"mutable","name":"p1","nameLocation":"9612:2:15","nodeType":"VariableDeclaration","scope":21108,"src":"9604:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21091,"name":"uint256","nodeType":"ElementaryTypeName","src":"9604:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21094,"mutability":"mutable","name":"p2","nameLocation":"9624:2:15","nodeType":"VariableDeclaration","scope":21108,"src":"9616:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21093,"name":"address","nodeType":"ElementaryTypeName","src":"9616:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9591:36:15"},"returnParameters":{"id":21096,"nodeType":"ParameterList","parameters":[],"src":"9642:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21128,"nodeType":"FunctionDefinition","src":"9749:169:15","nodes":[],"body":{"id":21127,"nodeType":"Block","src":"9818:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e7432353629","id":21120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9868:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},"value":"log(uint256,string,uint256)"},{"id":21121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21110,"src":"9899:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21112,"src":"9903:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21123,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21114,"src":"9907:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9844:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9844:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9844:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9828:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9828:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21126,"nodeType":"ExpressionStatement","src":"9828:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9758:3:15","parameters":{"id":21115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21110,"mutability":"mutable","name":"p0","nameLocation":"9770:2:15","nodeType":"VariableDeclaration","scope":21128,"src":"9762:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21109,"name":"uint256","nodeType":"ElementaryTypeName","src":"9762:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21112,"mutability":"mutable","name":"p1","nameLocation":"9788:2:15","nodeType":"VariableDeclaration","scope":21128,"src":"9774:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21111,"name":"string","nodeType":"ElementaryTypeName","src":"9774:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21114,"mutability":"mutable","name":"p2","nameLocation":"9800:2:15","nodeType":"VariableDeclaration","scope":21128,"src":"9792:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21113,"name":"uint256","nodeType":"ElementaryTypeName","src":"9792:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9761:42:15"},"returnParameters":{"id":21116,"nodeType":"ParameterList","parameters":[],"src":"9818:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21148,"nodeType":"FunctionDefinition","src":"9924:174:15","nodes":[],"body":{"id":21147,"nodeType":"Block","src":"9999:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e6729","id":21140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10049:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},"value":"log(uint256,string,string)"},{"id":21141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21130,"src":"10079:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21132,"src":"10083:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21134,"src":"10087:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10025:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10025:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10025:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10009:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10009:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21146,"nodeType":"ExpressionStatement","src":"10009:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9933:3:15","parameters":{"id":21135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21130,"mutability":"mutable","name":"p0","nameLocation":"9945:2:15","nodeType":"VariableDeclaration","scope":21148,"src":"9937:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21129,"name":"uint256","nodeType":"ElementaryTypeName","src":"9937:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21132,"mutability":"mutable","name":"p1","nameLocation":"9963:2:15","nodeType":"VariableDeclaration","scope":21148,"src":"9949:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21131,"name":"string","nodeType":"ElementaryTypeName","src":"9949:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21134,"mutability":"mutable","name":"p2","nameLocation":"9981:2:15","nodeType":"VariableDeclaration","scope":21148,"src":"9967:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21133,"name":"string","nodeType":"ElementaryTypeName","src":"9967:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9936:48:15"},"returnParameters":{"id":21136,"nodeType":"ParameterList","parameters":[],"src":"9999:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21168,"nodeType":"FunctionDefinition","src":"10104:163:15","nodes":[],"body":{"id":21167,"nodeType":"Block","src":"10170:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c29","id":21160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10220:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},"value":"log(uint256,string,bool)"},{"id":21161,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21150,"src":"10248:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21162,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21152,"src":"10252:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21163,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21154,"src":"10256:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21158,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10196:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10196:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10196:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21157,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10180:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10180:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21166,"nodeType":"ExpressionStatement","src":"10180:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10113:3:15","parameters":{"id":21155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21150,"mutability":"mutable","name":"p0","nameLocation":"10125:2:15","nodeType":"VariableDeclaration","scope":21168,"src":"10117:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21149,"name":"uint256","nodeType":"ElementaryTypeName","src":"10117:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21152,"mutability":"mutable","name":"p1","nameLocation":"10143:2:15","nodeType":"VariableDeclaration","scope":21168,"src":"10129:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21151,"name":"string","nodeType":"ElementaryTypeName","src":"10129:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21154,"mutability":"mutable","name":"p2","nameLocation":"10152:2:15","nodeType":"VariableDeclaration","scope":21168,"src":"10147:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21153,"name":"bool","nodeType":"ElementaryTypeName","src":"10147:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10116:39:15"},"returnParameters":{"id":21156,"nodeType":"ParameterList","parameters":[],"src":"10170:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21188,"nodeType":"FunctionDefinition","src":"10273:169:15","nodes":[],"body":{"id":21187,"nodeType":"Block","src":"10342:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c6164647265737329","id":21180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10392:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},"value":"log(uint256,string,address)"},{"id":21181,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21170,"src":"10423:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21182,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21172,"src":"10427:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21183,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21174,"src":"10431:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10368:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10368:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10368:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21177,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10352:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10352:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21186,"nodeType":"ExpressionStatement","src":"10352:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10282:3:15","parameters":{"id":21175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21170,"mutability":"mutable","name":"p0","nameLocation":"10294:2:15","nodeType":"VariableDeclaration","scope":21188,"src":"10286:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21169,"name":"uint256","nodeType":"ElementaryTypeName","src":"10286:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21172,"mutability":"mutable","name":"p1","nameLocation":"10312:2:15","nodeType":"VariableDeclaration","scope":21188,"src":"10298:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21171,"name":"string","nodeType":"ElementaryTypeName","src":"10298:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21174,"mutability":"mutable","name":"p2","nameLocation":"10324:2:15","nodeType":"VariableDeclaration","scope":21188,"src":"10316:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21173,"name":"address","nodeType":"ElementaryTypeName","src":"10316:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10285:42:15"},"returnParameters":{"id":21176,"nodeType":"ParameterList","parameters":[],"src":"10342:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21208,"nodeType":"FunctionDefinition","src":"10448:158:15","nodes":[],"body":{"id":21207,"nodeType":"Block","src":"10508:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e7432353629","id":21200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10558:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},"value":"log(uint256,bool,uint256)"},{"id":21201,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21190,"src":"10587:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21202,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21192,"src":"10591:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21203,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21194,"src":"10595:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10534:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10534:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10534:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10518:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10518:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21206,"nodeType":"ExpressionStatement","src":"10518:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10457:3:15","parameters":{"id":21195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21190,"mutability":"mutable","name":"p0","nameLocation":"10469:2:15","nodeType":"VariableDeclaration","scope":21208,"src":"10461:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21189,"name":"uint256","nodeType":"ElementaryTypeName","src":"10461:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21192,"mutability":"mutable","name":"p1","nameLocation":"10478:2:15","nodeType":"VariableDeclaration","scope":21208,"src":"10473:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21191,"name":"bool","nodeType":"ElementaryTypeName","src":"10473:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21194,"mutability":"mutable","name":"p2","nameLocation":"10490:2:15","nodeType":"VariableDeclaration","scope":21208,"src":"10482:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21193,"name":"uint256","nodeType":"ElementaryTypeName","src":"10482:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10460:33:15"},"returnParameters":{"id":21196,"nodeType":"ParameterList","parameters":[],"src":"10508:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21228,"nodeType":"FunctionDefinition","src":"10612:163:15","nodes":[],"body":{"id":21227,"nodeType":"Block","src":"10678:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e6729","id":21220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10728:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},"value":"log(uint256,bool,string)"},{"id":21221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21210,"src":"10756:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21212,"src":"10760:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21214,"src":"10764:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10704:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10704:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10704:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10688:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10688:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21226,"nodeType":"ExpressionStatement","src":"10688:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10621:3:15","parameters":{"id":21215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21210,"mutability":"mutable","name":"p0","nameLocation":"10633:2:15","nodeType":"VariableDeclaration","scope":21228,"src":"10625:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21209,"name":"uint256","nodeType":"ElementaryTypeName","src":"10625:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21212,"mutability":"mutable","name":"p1","nameLocation":"10642:2:15","nodeType":"VariableDeclaration","scope":21228,"src":"10637:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21211,"name":"bool","nodeType":"ElementaryTypeName","src":"10637:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21214,"mutability":"mutable","name":"p2","nameLocation":"10660:2:15","nodeType":"VariableDeclaration","scope":21228,"src":"10646:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21213,"name":"string","nodeType":"ElementaryTypeName","src":"10646:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10624:39:15"},"returnParameters":{"id":21216,"nodeType":"ParameterList","parameters":[],"src":"10678:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21248,"nodeType":"FunctionDefinition","src":"10781:152:15","nodes":[],"body":{"id":21247,"nodeType":"Block","src":"10838:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c29","id":21240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10888:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},"value":"log(uint256,bool,bool)"},{"id":21241,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21230,"src":"10914:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21242,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21232,"src":"10918:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21243,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21234,"src":"10922:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10864:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10864:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10864:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21237,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10848:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10848:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21246,"nodeType":"ExpressionStatement","src":"10848:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10790:3:15","parameters":{"id":21235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21230,"mutability":"mutable","name":"p0","nameLocation":"10802:2:15","nodeType":"VariableDeclaration","scope":21248,"src":"10794:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21229,"name":"uint256","nodeType":"ElementaryTypeName","src":"10794:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21232,"mutability":"mutable","name":"p1","nameLocation":"10811:2:15","nodeType":"VariableDeclaration","scope":21248,"src":"10806:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21231,"name":"bool","nodeType":"ElementaryTypeName","src":"10806:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21234,"mutability":"mutable","name":"p2","nameLocation":"10820:2:15","nodeType":"VariableDeclaration","scope":21248,"src":"10815:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21233,"name":"bool","nodeType":"ElementaryTypeName","src":"10815:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10793:30:15"},"returnParameters":{"id":21236,"nodeType":"ParameterList","parameters":[],"src":"10838:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21268,"nodeType":"FunctionDefinition","src":"10939:158:15","nodes":[],"body":{"id":21267,"nodeType":"Block","src":"10999:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c6164647265737329","id":21260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11049:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},"value":"log(uint256,bool,address)"},{"id":21261,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21250,"src":"11078:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21262,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21252,"src":"11082:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21263,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21254,"src":"11086:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21258,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11025:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11025:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11025:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21257,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11009:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11009:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21266,"nodeType":"ExpressionStatement","src":"11009:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10948:3:15","parameters":{"id":21255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21250,"mutability":"mutable","name":"p0","nameLocation":"10960:2:15","nodeType":"VariableDeclaration","scope":21268,"src":"10952:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21249,"name":"uint256","nodeType":"ElementaryTypeName","src":"10952:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21252,"mutability":"mutable","name":"p1","nameLocation":"10969:2:15","nodeType":"VariableDeclaration","scope":21268,"src":"10964:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21251,"name":"bool","nodeType":"ElementaryTypeName","src":"10964:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21254,"mutability":"mutable","name":"p2","nameLocation":"10981:2:15","nodeType":"VariableDeclaration","scope":21268,"src":"10973:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21253,"name":"address","nodeType":"ElementaryTypeName","src":"10973:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10951:33:15"},"returnParameters":{"id":21256,"nodeType":"ParameterList","parameters":[],"src":"10999:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21288,"nodeType":"FunctionDefinition","src":"11103:164:15","nodes":[],"body":{"id":21287,"nodeType":"Block","src":"11166:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e7432353629","id":21280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11216:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},"value":"log(uint256,address,uint256)"},{"id":21281,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21270,"src":"11248:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21282,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21272,"src":"11252:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21283,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21274,"src":"11256:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21278,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11192:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11192:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11192:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21277,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11176:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11176:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21286,"nodeType":"ExpressionStatement","src":"11176:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11112:3:15","parameters":{"id":21275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21270,"mutability":"mutable","name":"p0","nameLocation":"11124:2:15","nodeType":"VariableDeclaration","scope":21288,"src":"11116:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21269,"name":"uint256","nodeType":"ElementaryTypeName","src":"11116:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21272,"mutability":"mutable","name":"p1","nameLocation":"11136:2:15","nodeType":"VariableDeclaration","scope":21288,"src":"11128:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21271,"name":"address","nodeType":"ElementaryTypeName","src":"11128:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21274,"mutability":"mutable","name":"p2","nameLocation":"11148:2:15","nodeType":"VariableDeclaration","scope":21288,"src":"11140:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21273,"name":"uint256","nodeType":"ElementaryTypeName","src":"11140:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11115:36:15"},"returnParameters":{"id":21276,"nodeType":"ParameterList","parameters":[],"src":"11166:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21308,"nodeType":"FunctionDefinition","src":"11273:169:15","nodes":[],"body":{"id":21307,"nodeType":"Block","src":"11342:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e6729","id":21300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11392:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},"value":"log(uint256,address,string)"},{"id":21301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21290,"src":"11423:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21292,"src":"11427:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21294,"src":"11431:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11368:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11368:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11368:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11352:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11352:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21306,"nodeType":"ExpressionStatement","src":"11352:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11282:3:15","parameters":{"id":21295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21290,"mutability":"mutable","name":"p0","nameLocation":"11294:2:15","nodeType":"VariableDeclaration","scope":21308,"src":"11286:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21289,"name":"uint256","nodeType":"ElementaryTypeName","src":"11286:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21292,"mutability":"mutable","name":"p1","nameLocation":"11306:2:15","nodeType":"VariableDeclaration","scope":21308,"src":"11298:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21291,"name":"address","nodeType":"ElementaryTypeName","src":"11298:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21294,"mutability":"mutable","name":"p2","nameLocation":"11324:2:15","nodeType":"VariableDeclaration","scope":21308,"src":"11310:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21293,"name":"string","nodeType":"ElementaryTypeName","src":"11310:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11285:42:15"},"returnParameters":{"id":21296,"nodeType":"ParameterList","parameters":[],"src":"11342:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21328,"nodeType":"FunctionDefinition","src":"11448:158:15","nodes":[],"body":{"id":21327,"nodeType":"Block","src":"11508:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c29","id":21320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11558:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},"value":"log(uint256,address,bool)"},{"id":21321,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21310,"src":"11587:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21322,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21312,"src":"11591:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21323,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21314,"src":"11595:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21318,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11534:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11534:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11534:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21317,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11518:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11518:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21326,"nodeType":"ExpressionStatement","src":"11518:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11457:3:15","parameters":{"id":21315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21310,"mutability":"mutable","name":"p0","nameLocation":"11469:2:15","nodeType":"VariableDeclaration","scope":21328,"src":"11461:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21309,"name":"uint256","nodeType":"ElementaryTypeName","src":"11461:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21312,"mutability":"mutable","name":"p1","nameLocation":"11481:2:15","nodeType":"VariableDeclaration","scope":21328,"src":"11473:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21311,"name":"address","nodeType":"ElementaryTypeName","src":"11473:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21314,"mutability":"mutable","name":"p2","nameLocation":"11490:2:15","nodeType":"VariableDeclaration","scope":21328,"src":"11485:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21313,"name":"bool","nodeType":"ElementaryTypeName","src":"11485:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11460:33:15"},"returnParameters":{"id":21316,"nodeType":"ParameterList","parameters":[],"src":"11508:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21348,"nodeType":"FunctionDefinition","src":"11612:164:15","nodes":[],"body":{"id":21347,"nodeType":"Block","src":"11675:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c6164647265737329","id":21340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11725:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},"value":"log(uint256,address,address)"},{"id":21341,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21330,"src":"11757:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21342,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21332,"src":"11761:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21343,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21334,"src":"11765:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21338,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11701:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11701:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11701:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21337,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11685:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11685:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21346,"nodeType":"ExpressionStatement","src":"11685:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11621:3:15","parameters":{"id":21335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21330,"mutability":"mutable","name":"p0","nameLocation":"11633:2:15","nodeType":"VariableDeclaration","scope":21348,"src":"11625:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21329,"name":"uint256","nodeType":"ElementaryTypeName","src":"11625:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21332,"mutability":"mutable","name":"p1","nameLocation":"11645:2:15","nodeType":"VariableDeclaration","scope":21348,"src":"11637:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21331,"name":"address","nodeType":"ElementaryTypeName","src":"11637:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21334,"mutability":"mutable","name":"p2","nameLocation":"11657:2:15","nodeType":"VariableDeclaration","scope":21348,"src":"11649:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21333,"name":"address","nodeType":"ElementaryTypeName","src":"11649:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11624:36:15"},"returnParameters":{"id":21336,"nodeType":"ParameterList","parameters":[],"src":"11675:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21368,"nodeType":"FunctionDefinition","src":"11782:169:15","nodes":[],"body":{"id":21367,"nodeType":"Block","src":"11851:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e7432353629","id":21360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11901:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},"value":"log(string,uint256,uint256)"},{"id":21361,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21350,"src":"11932:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21362,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21352,"src":"11936:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21363,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21354,"src":"11940:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21358,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11877:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11877:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11877:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11861:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11861:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21366,"nodeType":"ExpressionStatement","src":"11861:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11791:3:15","parameters":{"id":21355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21350,"mutability":"mutable","name":"p0","nameLocation":"11809:2:15","nodeType":"VariableDeclaration","scope":21368,"src":"11795:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21349,"name":"string","nodeType":"ElementaryTypeName","src":"11795:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21352,"mutability":"mutable","name":"p1","nameLocation":"11821:2:15","nodeType":"VariableDeclaration","scope":21368,"src":"11813:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21351,"name":"uint256","nodeType":"ElementaryTypeName","src":"11813:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21354,"mutability":"mutable","name":"p2","nameLocation":"11833:2:15","nodeType":"VariableDeclaration","scope":21368,"src":"11825:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21353,"name":"uint256","nodeType":"ElementaryTypeName","src":"11825:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11794:42:15"},"returnParameters":{"id":21356,"nodeType":"ParameterList","parameters":[],"src":"11851:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21388,"nodeType":"FunctionDefinition","src":"11957:174:15","nodes":[],"body":{"id":21387,"nodeType":"Block","src":"12032:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e6729","id":21380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12082:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},"value":"log(string,uint256,string)"},{"id":21381,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21370,"src":"12112:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21382,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21372,"src":"12116:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21383,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21374,"src":"12120:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12058:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12058:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12058:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12042:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12042:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21386,"nodeType":"ExpressionStatement","src":"12042:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11966:3:15","parameters":{"id":21375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21370,"mutability":"mutable","name":"p0","nameLocation":"11984:2:15","nodeType":"VariableDeclaration","scope":21388,"src":"11970:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21369,"name":"string","nodeType":"ElementaryTypeName","src":"11970:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21372,"mutability":"mutable","name":"p1","nameLocation":"11996:2:15","nodeType":"VariableDeclaration","scope":21388,"src":"11988:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21371,"name":"uint256","nodeType":"ElementaryTypeName","src":"11988:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21374,"mutability":"mutable","name":"p2","nameLocation":"12014:2:15","nodeType":"VariableDeclaration","scope":21388,"src":"12000:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21373,"name":"string","nodeType":"ElementaryTypeName","src":"12000:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11969:48:15"},"returnParameters":{"id":21376,"nodeType":"ParameterList","parameters":[],"src":"12032:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21408,"nodeType":"FunctionDefinition","src":"12137:163:15","nodes":[],"body":{"id":21407,"nodeType":"Block","src":"12203:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c29","id":21400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12253:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},"value":"log(string,uint256,bool)"},{"id":21401,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21390,"src":"12281:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21402,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21392,"src":"12285:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21403,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21394,"src":"12289:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21398,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12229:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12229:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12229:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21397,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12213:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12213:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21406,"nodeType":"ExpressionStatement","src":"12213:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12146:3:15","parameters":{"id":21395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21390,"mutability":"mutable","name":"p0","nameLocation":"12164:2:15","nodeType":"VariableDeclaration","scope":21408,"src":"12150:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21389,"name":"string","nodeType":"ElementaryTypeName","src":"12150:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21392,"mutability":"mutable","name":"p1","nameLocation":"12176:2:15","nodeType":"VariableDeclaration","scope":21408,"src":"12168:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21391,"name":"uint256","nodeType":"ElementaryTypeName","src":"12168:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21394,"mutability":"mutable","name":"p2","nameLocation":"12185:2:15","nodeType":"VariableDeclaration","scope":21408,"src":"12180:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21393,"name":"bool","nodeType":"ElementaryTypeName","src":"12180:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12149:39:15"},"returnParameters":{"id":21396,"nodeType":"ParameterList","parameters":[],"src":"12203:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21428,"nodeType":"FunctionDefinition","src":"12306:169:15","nodes":[],"body":{"id":21427,"nodeType":"Block","src":"12375:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c6164647265737329","id":21420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12425:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},"value":"log(string,uint256,address)"},{"id":21421,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21410,"src":"12456:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21422,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21412,"src":"12460:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21423,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21414,"src":"12464:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12401:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12401:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12401:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21417,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12385:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12385:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21426,"nodeType":"ExpressionStatement","src":"12385:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12315:3:15","parameters":{"id":21415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21410,"mutability":"mutable","name":"p0","nameLocation":"12333:2:15","nodeType":"VariableDeclaration","scope":21428,"src":"12319:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21409,"name":"string","nodeType":"ElementaryTypeName","src":"12319:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21412,"mutability":"mutable","name":"p1","nameLocation":"12345:2:15","nodeType":"VariableDeclaration","scope":21428,"src":"12337:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21411,"name":"uint256","nodeType":"ElementaryTypeName","src":"12337:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21414,"mutability":"mutable","name":"p2","nameLocation":"12357:2:15","nodeType":"VariableDeclaration","scope":21428,"src":"12349:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21413,"name":"address","nodeType":"ElementaryTypeName","src":"12349:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12318:42:15"},"returnParameters":{"id":21416,"nodeType":"ParameterList","parameters":[],"src":"12375:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21448,"nodeType":"FunctionDefinition","src":"12481:174:15","nodes":[],"body":{"id":21447,"nodeType":"Block","src":"12556:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7432353629","id":21440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12606:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},"value":"log(string,string,uint256)"},{"id":21441,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21430,"src":"12636:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21442,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21432,"src":"12640:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21443,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21434,"src":"12644:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12582:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12582:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12582:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12566:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12566:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21446,"nodeType":"ExpressionStatement","src":"12566:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12490:3:15","parameters":{"id":21435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21430,"mutability":"mutable","name":"p0","nameLocation":"12508:2:15","nodeType":"VariableDeclaration","scope":21448,"src":"12494:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21429,"name":"string","nodeType":"ElementaryTypeName","src":"12494:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21432,"mutability":"mutable","name":"p1","nameLocation":"12526:2:15","nodeType":"VariableDeclaration","scope":21448,"src":"12512:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21431,"name":"string","nodeType":"ElementaryTypeName","src":"12512:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21434,"mutability":"mutable","name":"p2","nameLocation":"12538:2:15","nodeType":"VariableDeclaration","scope":21448,"src":"12530:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21433,"name":"uint256","nodeType":"ElementaryTypeName","src":"12530:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12493:48:15"},"returnParameters":{"id":21436,"nodeType":"ParameterList","parameters":[],"src":"12556:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21468,"nodeType":"FunctionDefinition","src":"12661:179:15","nodes":[],"body":{"id":21467,"nodeType":"Block","src":"12742:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":21460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12792:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":21461,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21450,"src":"12821:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21462,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21452,"src":"12825:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21463,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21454,"src":"12829:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21458,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12768:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12768:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12768:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21457,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12752:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12752:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21466,"nodeType":"ExpressionStatement","src":"12752:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12670:3:15","parameters":{"id":21455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21450,"mutability":"mutable","name":"p0","nameLocation":"12688:2:15","nodeType":"VariableDeclaration","scope":21468,"src":"12674:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21449,"name":"string","nodeType":"ElementaryTypeName","src":"12674:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21452,"mutability":"mutable","name":"p1","nameLocation":"12706:2:15","nodeType":"VariableDeclaration","scope":21468,"src":"12692:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21451,"name":"string","nodeType":"ElementaryTypeName","src":"12692:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21454,"mutability":"mutable","name":"p2","nameLocation":"12724:2:15","nodeType":"VariableDeclaration","scope":21468,"src":"12710:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21453,"name":"string","nodeType":"ElementaryTypeName","src":"12710:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12673:54:15"},"returnParameters":{"id":21456,"nodeType":"ParameterList","parameters":[],"src":"12742:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21488,"nodeType":"FunctionDefinition","src":"12846:168:15","nodes":[],"body":{"id":21487,"nodeType":"Block","src":"12918:96:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":21480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12968:25:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":21481,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21470,"src":"12995:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21482,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21472,"src":"12999:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21483,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21474,"src":"13003:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12944:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12944:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12944:62:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21477,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12928:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12928:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21486,"nodeType":"ExpressionStatement","src":"12928:79:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12855:3:15","parameters":{"id":21475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21470,"mutability":"mutable","name":"p0","nameLocation":"12873:2:15","nodeType":"VariableDeclaration","scope":21488,"src":"12859:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21469,"name":"string","nodeType":"ElementaryTypeName","src":"12859:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21472,"mutability":"mutable","name":"p1","nameLocation":"12891:2:15","nodeType":"VariableDeclaration","scope":21488,"src":"12877:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21471,"name":"string","nodeType":"ElementaryTypeName","src":"12877:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21474,"mutability":"mutable","name":"p2","nameLocation":"12900:2:15","nodeType":"VariableDeclaration","scope":21488,"src":"12895:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21473,"name":"bool","nodeType":"ElementaryTypeName","src":"12895:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12858:45:15"},"returnParameters":{"id":21476,"nodeType":"ParameterList","parameters":[],"src":"12918:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21508,"nodeType":"FunctionDefinition","src":"13020:174:15","nodes":[],"body":{"id":21507,"nodeType":"Block","src":"13095:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":21500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13145:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":21501,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21490,"src":"13175:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21502,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21492,"src":"13179:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21503,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21494,"src":"13183:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13121:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13121:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13121:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13105:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13105:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21506,"nodeType":"ExpressionStatement","src":"13105:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13029:3:15","parameters":{"id":21495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21490,"mutability":"mutable","name":"p0","nameLocation":"13047:2:15","nodeType":"VariableDeclaration","scope":21508,"src":"13033:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21489,"name":"string","nodeType":"ElementaryTypeName","src":"13033:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21492,"mutability":"mutable","name":"p1","nameLocation":"13065:2:15","nodeType":"VariableDeclaration","scope":21508,"src":"13051:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21491,"name":"string","nodeType":"ElementaryTypeName","src":"13051:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21494,"mutability":"mutable","name":"p2","nameLocation":"13077:2:15","nodeType":"VariableDeclaration","scope":21508,"src":"13069:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21493,"name":"address","nodeType":"ElementaryTypeName","src":"13069:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13032:48:15"},"returnParameters":{"id":21496,"nodeType":"ParameterList","parameters":[],"src":"13095:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21528,"nodeType":"FunctionDefinition","src":"13200:163:15","nodes":[],"body":{"id":21527,"nodeType":"Block","src":"13266:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7432353629","id":21520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13316:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},"value":"log(string,bool,uint256)"},{"id":21521,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21510,"src":"13344:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21522,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21512,"src":"13348:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21523,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21514,"src":"13352:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13292:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13292:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13292:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13276:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13276:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21526,"nodeType":"ExpressionStatement","src":"13276:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13209:3:15","parameters":{"id":21515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21510,"mutability":"mutable","name":"p0","nameLocation":"13227:2:15","nodeType":"VariableDeclaration","scope":21528,"src":"13213:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21509,"name":"string","nodeType":"ElementaryTypeName","src":"13213:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21512,"mutability":"mutable","name":"p1","nameLocation":"13236:2:15","nodeType":"VariableDeclaration","scope":21528,"src":"13231:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21511,"name":"bool","nodeType":"ElementaryTypeName","src":"13231:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21514,"mutability":"mutable","name":"p2","nameLocation":"13248:2:15","nodeType":"VariableDeclaration","scope":21528,"src":"13240:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21513,"name":"uint256","nodeType":"ElementaryTypeName","src":"13240:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13212:39:15"},"returnParameters":{"id":21516,"nodeType":"ParameterList","parameters":[],"src":"13266:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21548,"nodeType":"FunctionDefinition","src":"13369:168:15","nodes":[],"body":{"id":21547,"nodeType":"Block","src":"13441:96:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":21540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13491:25:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":21541,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21530,"src":"13518:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21542,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21532,"src":"13522:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21543,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21534,"src":"13526:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21538,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13467:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13467:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13467:62:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21537,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13451:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13451:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21546,"nodeType":"ExpressionStatement","src":"13451:79:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13378:3:15","parameters":{"id":21535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21530,"mutability":"mutable","name":"p0","nameLocation":"13396:2:15","nodeType":"VariableDeclaration","scope":21548,"src":"13382:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21529,"name":"string","nodeType":"ElementaryTypeName","src":"13382:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21532,"mutability":"mutable","name":"p1","nameLocation":"13405:2:15","nodeType":"VariableDeclaration","scope":21548,"src":"13400:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21531,"name":"bool","nodeType":"ElementaryTypeName","src":"13400:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21534,"mutability":"mutable","name":"p2","nameLocation":"13423:2:15","nodeType":"VariableDeclaration","scope":21548,"src":"13409:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21533,"name":"string","nodeType":"ElementaryTypeName","src":"13409:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13381:45:15"},"returnParameters":{"id":21536,"nodeType":"ParameterList","parameters":[],"src":"13441:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21568,"nodeType":"FunctionDefinition","src":"13543:157:15","nodes":[],"body":{"id":21567,"nodeType":"Block","src":"13606:94:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":21560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13656:23:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":21561,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21550,"src":"13681:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21562,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21552,"src":"13685:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21563,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21554,"src":"13689:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21558,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13632:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13632:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13632:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13616:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13616:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21566,"nodeType":"ExpressionStatement","src":"13616:77:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13552:3:15","parameters":{"id":21555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21550,"mutability":"mutable","name":"p0","nameLocation":"13570:2:15","nodeType":"VariableDeclaration","scope":21568,"src":"13556:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21549,"name":"string","nodeType":"ElementaryTypeName","src":"13556:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21552,"mutability":"mutable","name":"p1","nameLocation":"13579:2:15","nodeType":"VariableDeclaration","scope":21568,"src":"13574:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21551,"name":"bool","nodeType":"ElementaryTypeName","src":"13574:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21554,"mutability":"mutable","name":"p2","nameLocation":"13588:2:15","nodeType":"VariableDeclaration","scope":21568,"src":"13583:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21553,"name":"bool","nodeType":"ElementaryTypeName","src":"13583:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13555:36:15"},"returnParameters":{"id":21556,"nodeType":"ParameterList","parameters":[],"src":"13606:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21588,"nodeType":"FunctionDefinition","src":"13706:163:15","nodes":[],"body":{"id":21587,"nodeType":"Block","src":"13772:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":21580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13822:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":21581,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21570,"src":"13850:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21582,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21572,"src":"13854:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21583,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21574,"src":"13858:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21578,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13798:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13798:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13798:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21577,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13782:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13782:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21586,"nodeType":"ExpressionStatement","src":"13782:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13715:3:15","parameters":{"id":21575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21570,"mutability":"mutable","name":"p0","nameLocation":"13733:2:15","nodeType":"VariableDeclaration","scope":21588,"src":"13719:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21569,"name":"string","nodeType":"ElementaryTypeName","src":"13719:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21572,"mutability":"mutable","name":"p1","nameLocation":"13742:2:15","nodeType":"VariableDeclaration","scope":21588,"src":"13737:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21571,"name":"bool","nodeType":"ElementaryTypeName","src":"13737:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21574,"mutability":"mutable","name":"p2","nameLocation":"13754:2:15","nodeType":"VariableDeclaration","scope":21588,"src":"13746:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21573,"name":"address","nodeType":"ElementaryTypeName","src":"13746:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13718:39:15"},"returnParameters":{"id":21576,"nodeType":"ParameterList","parameters":[],"src":"13772:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21608,"nodeType":"FunctionDefinition","src":"13875:169:15","nodes":[],"body":{"id":21607,"nodeType":"Block","src":"13944:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7432353629","id":21600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13994:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},"value":"log(string,address,uint256)"},{"id":21601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21590,"src":"14025:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21602,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21592,"src":"14029:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21603,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21594,"src":"14033:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13970:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13970:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13970:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13954:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13954:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21606,"nodeType":"ExpressionStatement","src":"13954:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13884:3:15","parameters":{"id":21595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21590,"mutability":"mutable","name":"p0","nameLocation":"13902:2:15","nodeType":"VariableDeclaration","scope":21608,"src":"13888:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21589,"name":"string","nodeType":"ElementaryTypeName","src":"13888:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21592,"mutability":"mutable","name":"p1","nameLocation":"13914:2:15","nodeType":"VariableDeclaration","scope":21608,"src":"13906:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21591,"name":"address","nodeType":"ElementaryTypeName","src":"13906:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21594,"mutability":"mutable","name":"p2","nameLocation":"13926:2:15","nodeType":"VariableDeclaration","scope":21608,"src":"13918:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21593,"name":"uint256","nodeType":"ElementaryTypeName","src":"13918:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13887:42:15"},"returnParameters":{"id":21596,"nodeType":"ParameterList","parameters":[],"src":"13944:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21628,"nodeType":"FunctionDefinition","src":"14050:174:15","nodes":[],"body":{"id":21627,"nodeType":"Block","src":"14125:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":21620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14175:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":21621,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21610,"src":"14205:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21622,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21612,"src":"14209:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21623,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21614,"src":"14213:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21618,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14151:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14151:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14151:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21617,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14135:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14135:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21626,"nodeType":"ExpressionStatement","src":"14135:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14059:3:15","parameters":{"id":21615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21610,"mutability":"mutable","name":"p0","nameLocation":"14077:2:15","nodeType":"VariableDeclaration","scope":21628,"src":"14063:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21609,"name":"string","nodeType":"ElementaryTypeName","src":"14063:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21612,"mutability":"mutable","name":"p1","nameLocation":"14089:2:15","nodeType":"VariableDeclaration","scope":21628,"src":"14081:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21611,"name":"address","nodeType":"ElementaryTypeName","src":"14081:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21614,"mutability":"mutable","name":"p2","nameLocation":"14107:2:15","nodeType":"VariableDeclaration","scope":21628,"src":"14093:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21613,"name":"string","nodeType":"ElementaryTypeName","src":"14093:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14062:48:15"},"returnParameters":{"id":21616,"nodeType":"ParameterList","parameters":[],"src":"14125:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21648,"nodeType":"FunctionDefinition","src":"14230:163:15","nodes":[],"body":{"id":21647,"nodeType":"Block","src":"14296:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":21640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14346:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":21641,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21630,"src":"14374:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21642,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21632,"src":"14378:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21643,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21634,"src":"14382:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14322:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14322:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14322:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14306:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14306:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21646,"nodeType":"ExpressionStatement","src":"14306:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14239:3:15","parameters":{"id":21635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21630,"mutability":"mutable","name":"p0","nameLocation":"14257:2:15","nodeType":"VariableDeclaration","scope":21648,"src":"14243:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21629,"name":"string","nodeType":"ElementaryTypeName","src":"14243:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21632,"mutability":"mutable","name":"p1","nameLocation":"14269:2:15","nodeType":"VariableDeclaration","scope":21648,"src":"14261:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21631,"name":"address","nodeType":"ElementaryTypeName","src":"14261:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21634,"mutability":"mutable","name":"p2","nameLocation":"14278:2:15","nodeType":"VariableDeclaration","scope":21648,"src":"14273:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21633,"name":"bool","nodeType":"ElementaryTypeName","src":"14273:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14242:39:15"},"returnParameters":{"id":21636,"nodeType":"ParameterList","parameters":[],"src":"14296:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21668,"nodeType":"FunctionDefinition","src":"14399:169:15","nodes":[],"body":{"id":21667,"nodeType":"Block","src":"14468:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":21660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14518:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":21661,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21650,"src":"14549:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21662,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21652,"src":"14553:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21663,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21654,"src":"14557:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21658,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14494:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14494:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14494:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21657,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14478:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14478:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21666,"nodeType":"ExpressionStatement","src":"14478:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14408:3:15","parameters":{"id":21655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21650,"mutability":"mutable","name":"p0","nameLocation":"14426:2:15","nodeType":"VariableDeclaration","scope":21668,"src":"14412:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21649,"name":"string","nodeType":"ElementaryTypeName","src":"14412:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21652,"mutability":"mutable","name":"p1","nameLocation":"14438:2:15","nodeType":"VariableDeclaration","scope":21668,"src":"14430:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21651,"name":"address","nodeType":"ElementaryTypeName","src":"14430:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21654,"mutability":"mutable","name":"p2","nameLocation":"14450:2:15","nodeType":"VariableDeclaration","scope":21668,"src":"14442:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21653,"name":"address","nodeType":"ElementaryTypeName","src":"14442:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14411:42:15"},"returnParameters":{"id":21656,"nodeType":"ParameterList","parameters":[],"src":"14468:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21688,"nodeType":"FunctionDefinition","src":"14574:158:15","nodes":[],"body":{"id":21687,"nodeType":"Block","src":"14634:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e7432353629","id":21680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14684:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},"value":"log(bool,uint256,uint256)"},{"id":21681,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21670,"src":"14713:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21682,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21672,"src":"14717:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21683,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21674,"src":"14721:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14660:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14660:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14660:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14644:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14644:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21686,"nodeType":"ExpressionStatement","src":"14644:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14583:3:15","parameters":{"id":21675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21670,"mutability":"mutable","name":"p0","nameLocation":"14592:2:15","nodeType":"VariableDeclaration","scope":21688,"src":"14587:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21669,"name":"bool","nodeType":"ElementaryTypeName","src":"14587:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21672,"mutability":"mutable","name":"p1","nameLocation":"14604:2:15","nodeType":"VariableDeclaration","scope":21688,"src":"14596:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21671,"name":"uint256","nodeType":"ElementaryTypeName","src":"14596:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21674,"mutability":"mutable","name":"p2","nameLocation":"14616:2:15","nodeType":"VariableDeclaration","scope":21688,"src":"14608:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21673,"name":"uint256","nodeType":"ElementaryTypeName","src":"14608:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14586:33:15"},"returnParameters":{"id":21676,"nodeType":"ParameterList","parameters":[],"src":"14634:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21708,"nodeType":"FunctionDefinition","src":"14738:163:15","nodes":[],"body":{"id":21707,"nodeType":"Block","src":"14804:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e6729","id":21700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14854:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},"value":"log(bool,uint256,string)"},{"id":21701,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21690,"src":"14882:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21702,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21692,"src":"14886:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21703,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21694,"src":"14890:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21698,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14830:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14830:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14830:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21697,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14814:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14814:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21706,"nodeType":"ExpressionStatement","src":"14814:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14747:3:15","parameters":{"id":21695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21690,"mutability":"mutable","name":"p0","nameLocation":"14756:2:15","nodeType":"VariableDeclaration","scope":21708,"src":"14751:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21689,"name":"bool","nodeType":"ElementaryTypeName","src":"14751:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21692,"mutability":"mutable","name":"p1","nameLocation":"14768:2:15","nodeType":"VariableDeclaration","scope":21708,"src":"14760:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21691,"name":"uint256","nodeType":"ElementaryTypeName","src":"14760:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21694,"mutability":"mutable","name":"p2","nameLocation":"14786:2:15","nodeType":"VariableDeclaration","scope":21708,"src":"14772:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21693,"name":"string","nodeType":"ElementaryTypeName","src":"14772:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14750:39:15"},"returnParameters":{"id":21696,"nodeType":"ParameterList","parameters":[],"src":"14804:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21728,"nodeType":"FunctionDefinition","src":"14907:152:15","nodes":[],"body":{"id":21727,"nodeType":"Block","src":"14964:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c29","id":21720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15014:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},"value":"log(bool,uint256,bool)"},{"id":21721,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21710,"src":"15040:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21722,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21712,"src":"15044:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21723,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21714,"src":"15048:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14990:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14990:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14990:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21717,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14974:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14974:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21726,"nodeType":"ExpressionStatement","src":"14974:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14916:3:15","parameters":{"id":21715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21710,"mutability":"mutable","name":"p0","nameLocation":"14925:2:15","nodeType":"VariableDeclaration","scope":21728,"src":"14920:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21709,"name":"bool","nodeType":"ElementaryTypeName","src":"14920:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21712,"mutability":"mutable","name":"p1","nameLocation":"14937:2:15","nodeType":"VariableDeclaration","scope":21728,"src":"14929:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21711,"name":"uint256","nodeType":"ElementaryTypeName","src":"14929:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21714,"mutability":"mutable","name":"p2","nameLocation":"14946:2:15","nodeType":"VariableDeclaration","scope":21728,"src":"14941:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21713,"name":"bool","nodeType":"ElementaryTypeName","src":"14941:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14919:30:15"},"returnParameters":{"id":21716,"nodeType":"ParameterList","parameters":[],"src":"14964:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21748,"nodeType":"FunctionDefinition","src":"15065:158:15","nodes":[],"body":{"id":21747,"nodeType":"Block","src":"15125:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c6164647265737329","id":21740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15175:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},"value":"log(bool,uint256,address)"},{"id":21741,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21730,"src":"15204:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21742,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21732,"src":"15208:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21743,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21734,"src":"15212:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15151:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15151:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15151:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21737,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15135:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15135:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21746,"nodeType":"ExpressionStatement","src":"15135:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15074:3:15","parameters":{"id":21735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21730,"mutability":"mutable","name":"p0","nameLocation":"15083:2:15","nodeType":"VariableDeclaration","scope":21748,"src":"15078:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21729,"name":"bool","nodeType":"ElementaryTypeName","src":"15078:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21732,"mutability":"mutable","name":"p1","nameLocation":"15095:2:15","nodeType":"VariableDeclaration","scope":21748,"src":"15087:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21731,"name":"uint256","nodeType":"ElementaryTypeName","src":"15087:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21734,"mutability":"mutable","name":"p2","nameLocation":"15107:2:15","nodeType":"VariableDeclaration","scope":21748,"src":"15099:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21733,"name":"address","nodeType":"ElementaryTypeName","src":"15099:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15077:33:15"},"returnParameters":{"id":21736,"nodeType":"ParameterList","parameters":[],"src":"15125:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21768,"nodeType":"FunctionDefinition","src":"15229:163:15","nodes":[],"body":{"id":21767,"nodeType":"Block","src":"15295:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7432353629","id":21760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15345:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},"value":"log(bool,string,uint256)"},{"id":21761,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21750,"src":"15373:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21762,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21752,"src":"15377:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21763,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21754,"src":"15381:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15321:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15321:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15321:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15305:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15305:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21766,"nodeType":"ExpressionStatement","src":"15305:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15238:3:15","parameters":{"id":21755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21750,"mutability":"mutable","name":"p0","nameLocation":"15247:2:15","nodeType":"VariableDeclaration","scope":21768,"src":"15242:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21749,"name":"bool","nodeType":"ElementaryTypeName","src":"15242:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21752,"mutability":"mutable","name":"p1","nameLocation":"15265:2:15","nodeType":"VariableDeclaration","scope":21768,"src":"15251:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21751,"name":"string","nodeType":"ElementaryTypeName","src":"15251:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21754,"mutability":"mutable","name":"p2","nameLocation":"15277:2:15","nodeType":"VariableDeclaration","scope":21768,"src":"15269:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21753,"name":"uint256","nodeType":"ElementaryTypeName","src":"15269:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15241:39:15"},"returnParameters":{"id":21756,"nodeType":"ParameterList","parameters":[],"src":"15295:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21788,"nodeType":"FunctionDefinition","src":"15398:168:15","nodes":[],"body":{"id":21787,"nodeType":"Block","src":"15470:96:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":21780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15520:25:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":21781,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21770,"src":"15547:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21782,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21772,"src":"15551:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21783,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21774,"src":"15555:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21778,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15496:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15496:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15496:62:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21777,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15480:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15480:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21786,"nodeType":"ExpressionStatement","src":"15480:79:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15407:3:15","parameters":{"id":21775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21770,"mutability":"mutable","name":"p0","nameLocation":"15416:2:15","nodeType":"VariableDeclaration","scope":21788,"src":"15411:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21769,"name":"bool","nodeType":"ElementaryTypeName","src":"15411:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21772,"mutability":"mutable","name":"p1","nameLocation":"15434:2:15","nodeType":"VariableDeclaration","scope":21788,"src":"15420:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21771,"name":"string","nodeType":"ElementaryTypeName","src":"15420:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21774,"mutability":"mutable","name":"p2","nameLocation":"15452:2:15","nodeType":"VariableDeclaration","scope":21788,"src":"15438:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21773,"name":"string","nodeType":"ElementaryTypeName","src":"15438:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15410:45:15"},"returnParameters":{"id":21776,"nodeType":"ParameterList","parameters":[],"src":"15470:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21808,"nodeType":"FunctionDefinition","src":"15572:157:15","nodes":[],"body":{"id":21807,"nodeType":"Block","src":"15635:94:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":21800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15685:23:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":21801,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21790,"src":"15710:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21802,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21792,"src":"15714:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21803,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21794,"src":"15718:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21798,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15661:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15661:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15661:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21797,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15645:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15645:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21806,"nodeType":"ExpressionStatement","src":"15645:77:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15581:3:15","parameters":{"id":21795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21790,"mutability":"mutable","name":"p0","nameLocation":"15590:2:15","nodeType":"VariableDeclaration","scope":21808,"src":"15585:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21789,"name":"bool","nodeType":"ElementaryTypeName","src":"15585:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21792,"mutability":"mutable","name":"p1","nameLocation":"15608:2:15","nodeType":"VariableDeclaration","scope":21808,"src":"15594:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21791,"name":"string","nodeType":"ElementaryTypeName","src":"15594:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21794,"mutability":"mutable","name":"p2","nameLocation":"15617:2:15","nodeType":"VariableDeclaration","scope":21808,"src":"15612:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21793,"name":"bool","nodeType":"ElementaryTypeName","src":"15612:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15584:36:15"},"returnParameters":{"id":21796,"nodeType":"ParameterList","parameters":[],"src":"15635:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21828,"nodeType":"FunctionDefinition","src":"15735:163:15","nodes":[],"body":{"id":21827,"nodeType":"Block","src":"15801:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":21820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15851:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":21821,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21810,"src":"15879:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21822,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21812,"src":"15883:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21823,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21814,"src":"15887:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21818,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15827:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15827:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15827:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21817,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15811:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15811:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21826,"nodeType":"ExpressionStatement","src":"15811:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15744:3:15","parameters":{"id":21815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21810,"mutability":"mutable","name":"p0","nameLocation":"15753:2:15","nodeType":"VariableDeclaration","scope":21828,"src":"15748:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21809,"name":"bool","nodeType":"ElementaryTypeName","src":"15748:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21812,"mutability":"mutable","name":"p1","nameLocation":"15771:2:15","nodeType":"VariableDeclaration","scope":21828,"src":"15757:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21811,"name":"string","nodeType":"ElementaryTypeName","src":"15757:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21814,"mutability":"mutable","name":"p2","nameLocation":"15783:2:15","nodeType":"VariableDeclaration","scope":21828,"src":"15775:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21813,"name":"address","nodeType":"ElementaryTypeName","src":"15775:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15747:39:15"},"returnParameters":{"id":21816,"nodeType":"ParameterList","parameters":[],"src":"15801:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21848,"nodeType":"FunctionDefinition","src":"15904:152:15","nodes":[],"body":{"id":21847,"nodeType":"Block","src":"15961:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7432353629","id":21840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16011:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},"value":"log(bool,bool,uint256)"},{"id":21841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21830,"src":"16037:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21832,"src":"16041:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21843,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21834,"src":"16045:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15987:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15987:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15987:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15971:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15971:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21846,"nodeType":"ExpressionStatement","src":"15971:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15913:3:15","parameters":{"id":21835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21830,"mutability":"mutable","name":"p0","nameLocation":"15922:2:15","nodeType":"VariableDeclaration","scope":21848,"src":"15917:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21829,"name":"bool","nodeType":"ElementaryTypeName","src":"15917:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21832,"mutability":"mutable","name":"p1","nameLocation":"15931:2:15","nodeType":"VariableDeclaration","scope":21848,"src":"15926:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21831,"name":"bool","nodeType":"ElementaryTypeName","src":"15926:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21834,"mutability":"mutable","name":"p2","nameLocation":"15943:2:15","nodeType":"VariableDeclaration","scope":21848,"src":"15935:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21833,"name":"uint256","nodeType":"ElementaryTypeName","src":"15935:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15916:30:15"},"returnParameters":{"id":21836,"nodeType":"ParameterList","parameters":[],"src":"15961:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21868,"nodeType":"FunctionDefinition","src":"16062:157:15","nodes":[],"body":{"id":21867,"nodeType":"Block","src":"16125:94:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":21860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16175:23:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":21861,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21850,"src":"16200:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21862,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21852,"src":"16204:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21863,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21854,"src":"16208:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21858,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16151:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16151:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16151:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21857,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16135:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16135:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21866,"nodeType":"ExpressionStatement","src":"16135:77:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16071:3:15","parameters":{"id":21855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21850,"mutability":"mutable","name":"p0","nameLocation":"16080:2:15","nodeType":"VariableDeclaration","scope":21868,"src":"16075:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21849,"name":"bool","nodeType":"ElementaryTypeName","src":"16075:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21852,"mutability":"mutable","name":"p1","nameLocation":"16089:2:15","nodeType":"VariableDeclaration","scope":21868,"src":"16084:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21851,"name":"bool","nodeType":"ElementaryTypeName","src":"16084:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21854,"mutability":"mutable","name":"p2","nameLocation":"16107:2:15","nodeType":"VariableDeclaration","scope":21868,"src":"16093:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21853,"name":"string","nodeType":"ElementaryTypeName","src":"16093:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16074:36:15"},"returnParameters":{"id":21856,"nodeType":"ParameterList","parameters":[],"src":"16125:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21888,"nodeType":"FunctionDefinition","src":"16225:146:15","nodes":[],"body":{"id":21887,"nodeType":"Block","src":"16279:92:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":21880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16329:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":21881,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21870,"src":"16352:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21882,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21872,"src":"16356:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21883,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21874,"src":"16360:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21878,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16305:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16305:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16305:58:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21877,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16289:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16289:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21886,"nodeType":"ExpressionStatement","src":"16289:75:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16234:3:15","parameters":{"id":21875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21870,"mutability":"mutable","name":"p0","nameLocation":"16243:2:15","nodeType":"VariableDeclaration","scope":21888,"src":"16238:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21869,"name":"bool","nodeType":"ElementaryTypeName","src":"16238:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21872,"mutability":"mutable","name":"p1","nameLocation":"16252:2:15","nodeType":"VariableDeclaration","scope":21888,"src":"16247:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21871,"name":"bool","nodeType":"ElementaryTypeName","src":"16247:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21874,"mutability":"mutable","name":"p2","nameLocation":"16261:2:15","nodeType":"VariableDeclaration","scope":21888,"src":"16256:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21873,"name":"bool","nodeType":"ElementaryTypeName","src":"16256:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16237:27:15"},"returnParameters":{"id":21876,"nodeType":"ParameterList","parameters":[],"src":"16279:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21908,"nodeType":"FunctionDefinition","src":"16377:152:15","nodes":[],"body":{"id":21907,"nodeType":"Block","src":"16434:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":21900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16484:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":21901,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21890,"src":"16510:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21902,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21892,"src":"16514:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21903,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21894,"src":"16518:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21898,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16460:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16460:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16460:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21897,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16444:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16444:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21906,"nodeType":"ExpressionStatement","src":"16444:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16386:3:15","parameters":{"id":21895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21890,"mutability":"mutable","name":"p0","nameLocation":"16395:2:15","nodeType":"VariableDeclaration","scope":21908,"src":"16390:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21889,"name":"bool","nodeType":"ElementaryTypeName","src":"16390:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21892,"mutability":"mutable","name":"p1","nameLocation":"16404:2:15","nodeType":"VariableDeclaration","scope":21908,"src":"16399:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21891,"name":"bool","nodeType":"ElementaryTypeName","src":"16399:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21894,"mutability":"mutable","name":"p2","nameLocation":"16416:2:15","nodeType":"VariableDeclaration","scope":21908,"src":"16408:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21893,"name":"address","nodeType":"ElementaryTypeName","src":"16408:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16389:30:15"},"returnParameters":{"id":21896,"nodeType":"ParameterList","parameters":[],"src":"16434:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21928,"nodeType":"FunctionDefinition","src":"16535:158:15","nodes":[],"body":{"id":21927,"nodeType":"Block","src":"16595:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7432353629","id":21920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16645:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},"value":"log(bool,address,uint256)"},{"id":21921,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21910,"src":"16674:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21922,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21912,"src":"16678:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21923,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21914,"src":"16682:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21918,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16621:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16621:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16621:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21917,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16605:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16605:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21926,"nodeType":"ExpressionStatement","src":"16605:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16544:3:15","parameters":{"id":21915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21910,"mutability":"mutable","name":"p0","nameLocation":"16553:2:15","nodeType":"VariableDeclaration","scope":21928,"src":"16548:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21909,"name":"bool","nodeType":"ElementaryTypeName","src":"16548:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21912,"mutability":"mutable","name":"p1","nameLocation":"16565:2:15","nodeType":"VariableDeclaration","scope":21928,"src":"16557:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21911,"name":"address","nodeType":"ElementaryTypeName","src":"16557:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21914,"mutability":"mutable","name":"p2","nameLocation":"16577:2:15","nodeType":"VariableDeclaration","scope":21928,"src":"16569:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21913,"name":"uint256","nodeType":"ElementaryTypeName","src":"16569:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16547:33:15"},"returnParameters":{"id":21916,"nodeType":"ParameterList","parameters":[],"src":"16595:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21948,"nodeType":"FunctionDefinition","src":"16699:163:15","nodes":[],"body":{"id":21947,"nodeType":"Block","src":"16765:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":21940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16815:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":21941,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21930,"src":"16843:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21942,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21932,"src":"16847:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21943,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21934,"src":"16851:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16791:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16791:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16791:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21937,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16775:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16775:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21946,"nodeType":"ExpressionStatement","src":"16775:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16708:3:15","parameters":{"id":21935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21930,"mutability":"mutable","name":"p0","nameLocation":"16717:2:15","nodeType":"VariableDeclaration","scope":21948,"src":"16712:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21929,"name":"bool","nodeType":"ElementaryTypeName","src":"16712:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21932,"mutability":"mutable","name":"p1","nameLocation":"16729:2:15","nodeType":"VariableDeclaration","scope":21948,"src":"16721:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21931,"name":"address","nodeType":"ElementaryTypeName","src":"16721:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21934,"mutability":"mutable","name":"p2","nameLocation":"16747:2:15","nodeType":"VariableDeclaration","scope":21948,"src":"16733:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21933,"name":"string","nodeType":"ElementaryTypeName","src":"16733:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16711:39:15"},"returnParameters":{"id":21936,"nodeType":"ParameterList","parameters":[],"src":"16765:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21968,"nodeType":"FunctionDefinition","src":"16868:152:15","nodes":[],"body":{"id":21967,"nodeType":"Block","src":"16925:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":21960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16975:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":21961,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21950,"src":"17001:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21962,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21952,"src":"17005:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21963,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21954,"src":"17009:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21958,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16951:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16951:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16951:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21957,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16935:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16935:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21966,"nodeType":"ExpressionStatement","src":"16935:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16877:3:15","parameters":{"id":21955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21950,"mutability":"mutable","name":"p0","nameLocation":"16886:2:15","nodeType":"VariableDeclaration","scope":21968,"src":"16881:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21949,"name":"bool","nodeType":"ElementaryTypeName","src":"16881:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21952,"mutability":"mutable","name":"p1","nameLocation":"16898:2:15","nodeType":"VariableDeclaration","scope":21968,"src":"16890:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21951,"name":"address","nodeType":"ElementaryTypeName","src":"16890:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21954,"mutability":"mutable","name":"p2","nameLocation":"16907:2:15","nodeType":"VariableDeclaration","scope":21968,"src":"16902:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21953,"name":"bool","nodeType":"ElementaryTypeName","src":"16902:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16880:30:15"},"returnParameters":{"id":21956,"nodeType":"ParameterList","parameters":[],"src":"16925:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21988,"nodeType":"FunctionDefinition","src":"17026:158:15","nodes":[],"body":{"id":21987,"nodeType":"Block","src":"17086:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":21980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17136:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":21981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21970,"src":"17165:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21972,"src":"17169:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21974,"src":"17173:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17112:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17112:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17112:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17096:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17096:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21986,"nodeType":"ExpressionStatement","src":"17096:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17035:3:15","parameters":{"id":21975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21970,"mutability":"mutable","name":"p0","nameLocation":"17044:2:15","nodeType":"VariableDeclaration","scope":21988,"src":"17039:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21969,"name":"bool","nodeType":"ElementaryTypeName","src":"17039:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21972,"mutability":"mutable","name":"p1","nameLocation":"17056:2:15","nodeType":"VariableDeclaration","scope":21988,"src":"17048:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21971,"name":"address","nodeType":"ElementaryTypeName","src":"17048:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21974,"mutability":"mutable","name":"p2","nameLocation":"17068:2:15","nodeType":"VariableDeclaration","scope":21988,"src":"17060:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21973,"name":"address","nodeType":"ElementaryTypeName","src":"17060:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17038:33:15"},"returnParameters":{"id":21976,"nodeType":"ParameterList","parameters":[],"src":"17086:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22008,"nodeType":"FunctionDefinition","src":"17190:164:15","nodes":[],"body":{"id":22007,"nodeType":"Block","src":"17253:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e7432353629","id":22000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17303:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},"value":"log(address,uint256,uint256)"},{"id":22001,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21990,"src":"17335:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22002,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21992,"src":"17339:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22003,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21994,"src":"17343:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21998,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17279:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17279:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17279:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21997,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17263:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17263:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22006,"nodeType":"ExpressionStatement","src":"17263:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17199:3:15","parameters":{"id":21995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21990,"mutability":"mutable","name":"p0","nameLocation":"17211:2:15","nodeType":"VariableDeclaration","scope":22008,"src":"17203:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21989,"name":"address","nodeType":"ElementaryTypeName","src":"17203:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21992,"mutability":"mutable","name":"p1","nameLocation":"17223:2:15","nodeType":"VariableDeclaration","scope":22008,"src":"17215:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21991,"name":"uint256","nodeType":"ElementaryTypeName","src":"17215:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21994,"mutability":"mutable","name":"p2","nameLocation":"17235:2:15","nodeType":"VariableDeclaration","scope":22008,"src":"17227:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21993,"name":"uint256","nodeType":"ElementaryTypeName","src":"17227:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17202:36:15"},"returnParameters":{"id":21996,"nodeType":"ParameterList","parameters":[],"src":"17253:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22028,"nodeType":"FunctionDefinition","src":"17360:169:15","nodes":[],"body":{"id":22027,"nodeType":"Block","src":"17429:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e6729","id":22020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17479:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},"value":"log(address,uint256,string)"},{"id":22021,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22010,"src":"17510:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22022,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22012,"src":"17514:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22023,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22014,"src":"17518:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22018,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17455:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17455:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17455:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17439:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17439:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22026,"nodeType":"ExpressionStatement","src":"17439:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17369:3:15","parameters":{"id":22015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22010,"mutability":"mutable","name":"p0","nameLocation":"17381:2:15","nodeType":"VariableDeclaration","scope":22028,"src":"17373:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22009,"name":"address","nodeType":"ElementaryTypeName","src":"17373:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22012,"mutability":"mutable","name":"p1","nameLocation":"17393:2:15","nodeType":"VariableDeclaration","scope":22028,"src":"17385:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22011,"name":"uint256","nodeType":"ElementaryTypeName","src":"17385:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22014,"mutability":"mutable","name":"p2","nameLocation":"17411:2:15","nodeType":"VariableDeclaration","scope":22028,"src":"17397:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22013,"name":"string","nodeType":"ElementaryTypeName","src":"17397:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17372:42:15"},"returnParameters":{"id":22016,"nodeType":"ParameterList","parameters":[],"src":"17429:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22048,"nodeType":"FunctionDefinition","src":"17535:158:15","nodes":[],"body":{"id":22047,"nodeType":"Block","src":"17595:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c29","id":22040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17645:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},"value":"log(address,uint256,bool)"},{"id":22041,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22030,"src":"17674:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22042,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22032,"src":"17678:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22043,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22034,"src":"17682:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17621:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17621:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17621:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22037,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17605:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17605:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22046,"nodeType":"ExpressionStatement","src":"17605:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17544:3:15","parameters":{"id":22035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22030,"mutability":"mutable","name":"p0","nameLocation":"17556:2:15","nodeType":"VariableDeclaration","scope":22048,"src":"17548:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22029,"name":"address","nodeType":"ElementaryTypeName","src":"17548:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22032,"mutability":"mutable","name":"p1","nameLocation":"17568:2:15","nodeType":"VariableDeclaration","scope":22048,"src":"17560:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22031,"name":"uint256","nodeType":"ElementaryTypeName","src":"17560:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22034,"mutability":"mutable","name":"p2","nameLocation":"17577:2:15","nodeType":"VariableDeclaration","scope":22048,"src":"17572:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22033,"name":"bool","nodeType":"ElementaryTypeName","src":"17572:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17547:33:15"},"returnParameters":{"id":22036,"nodeType":"ParameterList","parameters":[],"src":"17595:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22068,"nodeType":"FunctionDefinition","src":"17699:164:15","nodes":[],"body":{"id":22067,"nodeType":"Block","src":"17762:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c6164647265737329","id":22060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17812:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},"value":"log(address,uint256,address)"},{"id":22061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22050,"src":"17844:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22052,"src":"17848:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22054,"src":"17852:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17788:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17788:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17788:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17772:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17772:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22066,"nodeType":"ExpressionStatement","src":"17772:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17708:3:15","parameters":{"id":22055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22050,"mutability":"mutable","name":"p0","nameLocation":"17720:2:15","nodeType":"VariableDeclaration","scope":22068,"src":"17712:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22049,"name":"address","nodeType":"ElementaryTypeName","src":"17712:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22052,"mutability":"mutable","name":"p1","nameLocation":"17732:2:15","nodeType":"VariableDeclaration","scope":22068,"src":"17724:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22051,"name":"uint256","nodeType":"ElementaryTypeName","src":"17724:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22054,"mutability":"mutable","name":"p2","nameLocation":"17744:2:15","nodeType":"VariableDeclaration","scope":22068,"src":"17736:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22053,"name":"address","nodeType":"ElementaryTypeName","src":"17736:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17711:36:15"},"returnParameters":{"id":22056,"nodeType":"ParameterList","parameters":[],"src":"17762:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22088,"nodeType":"FunctionDefinition","src":"17869:169:15","nodes":[],"body":{"id":22087,"nodeType":"Block","src":"17938:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7432353629","id":22080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17988:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},"value":"log(address,string,uint256)"},{"id":22081,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22070,"src":"18019:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22082,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22072,"src":"18023:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22083,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22074,"src":"18027:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17964:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17964:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17964:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17948:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17948:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22086,"nodeType":"ExpressionStatement","src":"17948:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17878:3:15","parameters":{"id":22075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22070,"mutability":"mutable","name":"p0","nameLocation":"17890:2:15","nodeType":"VariableDeclaration","scope":22088,"src":"17882:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22069,"name":"address","nodeType":"ElementaryTypeName","src":"17882:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22072,"mutability":"mutable","name":"p1","nameLocation":"17908:2:15","nodeType":"VariableDeclaration","scope":22088,"src":"17894:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22071,"name":"string","nodeType":"ElementaryTypeName","src":"17894:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22074,"mutability":"mutable","name":"p2","nameLocation":"17920:2:15","nodeType":"VariableDeclaration","scope":22088,"src":"17912:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22073,"name":"uint256","nodeType":"ElementaryTypeName","src":"17912:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17881:42:15"},"returnParameters":{"id":22076,"nodeType":"ParameterList","parameters":[],"src":"17938:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22108,"nodeType":"FunctionDefinition","src":"18044:174:15","nodes":[],"body":{"id":22107,"nodeType":"Block","src":"18119:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":22100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18169:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":22101,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22090,"src":"18199:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22102,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22092,"src":"18203:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22103,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22094,"src":"18207:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18145:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18145:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18145:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18129:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18129:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22106,"nodeType":"ExpressionStatement","src":"18129:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18053:3:15","parameters":{"id":22095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22090,"mutability":"mutable","name":"p0","nameLocation":"18065:2:15","nodeType":"VariableDeclaration","scope":22108,"src":"18057:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22089,"name":"address","nodeType":"ElementaryTypeName","src":"18057:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22092,"mutability":"mutable","name":"p1","nameLocation":"18083:2:15","nodeType":"VariableDeclaration","scope":22108,"src":"18069:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22091,"name":"string","nodeType":"ElementaryTypeName","src":"18069:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22094,"mutability":"mutable","name":"p2","nameLocation":"18101:2:15","nodeType":"VariableDeclaration","scope":22108,"src":"18087:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22093,"name":"string","nodeType":"ElementaryTypeName","src":"18087:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18056:48:15"},"returnParameters":{"id":22096,"nodeType":"ParameterList","parameters":[],"src":"18119:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22128,"nodeType":"FunctionDefinition","src":"18224:163:15","nodes":[],"body":{"id":22127,"nodeType":"Block","src":"18290:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":22120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18340:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":22121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22110,"src":"18368:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22112,"src":"18372:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22123,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22114,"src":"18376:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18316:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18316:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18316:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18300:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18300:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22126,"nodeType":"ExpressionStatement","src":"18300:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18233:3:15","parameters":{"id":22115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22110,"mutability":"mutable","name":"p0","nameLocation":"18245:2:15","nodeType":"VariableDeclaration","scope":22128,"src":"18237:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22109,"name":"address","nodeType":"ElementaryTypeName","src":"18237:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22112,"mutability":"mutable","name":"p1","nameLocation":"18263:2:15","nodeType":"VariableDeclaration","scope":22128,"src":"18249:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22111,"name":"string","nodeType":"ElementaryTypeName","src":"18249:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22114,"mutability":"mutable","name":"p2","nameLocation":"18272:2:15","nodeType":"VariableDeclaration","scope":22128,"src":"18267:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22113,"name":"bool","nodeType":"ElementaryTypeName","src":"18267:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18236:39:15"},"returnParameters":{"id":22116,"nodeType":"ParameterList","parameters":[],"src":"18290:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22148,"nodeType":"FunctionDefinition","src":"18393:169:15","nodes":[],"body":{"id":22147,"nodeType":"Block","src":"18462:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":22140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18512:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":22141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22130,"src":"18543:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22132,"src":"18547:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22134,"src":"18551:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18488:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18488:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18488:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18472:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18472:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22146,"nodeType":"ExpressionStatement","src":"18472:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18402:3:15","parameters":{"id":22135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22130,"mutability":"mutable","name":"p0","nameLocation":"18414:2:15","nodeType":"VariableDeclaration","scope":22148,"src":"18406:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22129,"name":"address","nodeType":"ElementaryTypeName","src":"18406:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22132,"mutability":"mutable","name":"p1","nameLocation":"18432:2:15","nodeType":"VariableDeclaration","scope":22148,"src":"18418:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22131,"name":"string","nodeType":"ElementaryTypeName","src":"18418:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22134,"mutability":"mutable","name":"p2","nameLocation":"18444:2:15","nodeType":"VariableDeclaration","scope":22148,"src":"18436:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22133,"name":"address","nodeType":"ElementaryTypeName","src":"18436:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18405:42:15"},"returnParameters":{"id":22136,"nodeType":"ParameterList","parameters":[],"src":"18462:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22168,"nodeType":"FunctionDefinition","src":"18568:158:15","nodes":[],"body":{"id":22167,"nodeType":"Block","src":"18628:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7432353629","id":22160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18678:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},"value":"log(address,bool,uint256)"},{"id":22161,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22150,"src":"18707:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22162,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22152,"src":"18711:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22163,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22154,"src":"18715:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22158,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18654:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18654:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22157,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18638:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18638:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22166,"nodeType":"ExpressionStatement","src":"18638:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18577:3:15","parameters":{"id":22155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22150,"mutability":"mutable","name":"p0","nameLocation":"18589:2:15","nodeType":"VariableDeclaration","scope":22168,"src":"18581:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22149,"name":"address","nodeType":"ElementaryTypeName","src":"18581:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22152,"mutability":"mutable","name":"p1","nameLocation":"18598:2:15","nodeType":"VariableDeclaration","scope":22168,"src":"18593:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22151,"name":"bool","nodeType":"ElementaryTypeName","src":"18593:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22154,"mutability":"mutable","name":"p2","nameLocation":"18610:2:15","nodeType":"VariableDeclaration","scope":22168,"src":"18602:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22153,"name":"uint256","nodeType":"ElementaryTypeName","src":"18602:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18580:33:15"},"returnParameters":{"id":22156,"nodeType":"ParameterList","parameters":[],"src":"18628:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22188,"nodeType":"FunctionDefinition","src":"18732:163:15","nodes":[],"body":{"id":22187,"nodeType":"Block","src":"18798:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":22180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18848:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":22181,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22170,"src":"18876:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22182,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22172,"src":"18880:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22183,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22174,"src":"18884:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18824:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18824:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18824:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22177,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18808:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18808:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22186,"nodeType":"ExpressionStatement","src":"18808:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18741:3:15","parameters":{"id":22175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22170,"mutability":"mutable","name":"p0","nameLocation":"18753:2:15","nodeType":"VariableDeclaration","scope":22188,"src":"18745:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22169,"name":"address","nodeType":"ElementaryTypeName","src":"18745:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22172,"mutability":"mutable","name":"p1","nameLocation":"18762:2:15","nodeType":"VariableDeclaration","scope":22188,"src":"18757:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22171,"name":"bool","nodeType":"ElementaryTypeName","src":"18757:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22174,"mutability":"mutable","name":"p2","nameLocation":"18780:2:15","nodeType":"VariableDeclaration","scope":22188,"src":"18766:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22173,"name":"string","nodeType":"ElementaryTypeName","src":"18766:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18744:39:15"},"returnParameters":{"id":22176,"nodeType":"ParameterList","parameters":[],"src":"18798:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22208,"nodeType":"FunctionDefinition","src":"18901:152:15","nodes":[],"body":{"id":22207,"nodeType":"Block","src":"18958:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":22200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19008:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":22201,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22190,"src":"19034:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22202,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22192,"src":"19038:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22203,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22194,"src":"19042:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18984:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18984:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18984:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18968:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18968:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22206,"nodeType":"ExpressionStatement","src":"18968:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18910:3:15","parameters":{"id":22195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22190,"mutability":"mutable","name":"p0","nameLocation":"18922:2:15","nodeType":"VariableDeclaration","scope":22208,"src":"18914:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22189,"name":"address","nodeType":"ElementaryTypeName","src":"18914:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22192,"mutability":"mutable","name":"p1","nameLocation":"18931:2:15","nodeType":"VariableDeclaration","scope":22208,"src":"18926:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22191,"name":"bool","nodeType":"ElementaryTypeName","src":"18926:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22194,"mutability":"mutable","name":"p2","nameLocation":"18940:2:15","nodeType":"VariableDeclaration","scope":22208,"src":"18935:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22193,"name":"bool","nodeType":"ElementaryTypeName","src":"18935:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18913:30:15"},"returnParameters":{"id":22196,"nodeType":"ParameterList","parameters":[],"src":"18958:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22228,"nodeType":"FunctionDefinition","src":"19059:158:15","nodes":[],"body":{"id":22227,"nodeType":"Block","src":"19119:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":22220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19169:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":22221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22210,"src":"19198:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22212,"src":"19202:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22214,"src":"19206:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19145:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19145:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19145:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19129:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19129:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22226,"nodeType":"ExpressionStatement","src":"19129:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19068:3:15","parameters":{"id":22215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22210,"mutability":"mutable","name":"p0","nameLocation":"19080:2:15","nodeType":"VariableDeclaration","scope":22228,"src":"19072:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22209,"name":"address","nodeType":"ElementaryTypeName","src":"19072:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22212,"mutability":"mutable","name":"p1","nameLocation":"19089:2:15","nodeType":"VariableDeclaration","scope":22228,"src":"19084:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22211,"name":"bool","nodeType":"ElementaryTypeName","src":"19084:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22214,"mutability":"mutable","name":"p2","nameLocation":"19101:2:15","nodeType":"VariableDeclaration","scope":22228,"src":"19093:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22213,"name":"address","nodeType":"ElementaryTypeName","src":"19093:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19071:33:15"},"returnParameters":{"id":22216,"nodeType":"ParameterList","parameters":[],"src":"19119:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22248,"nodeType":"FunctionDefinition","src":"19223:164:15","nodes":[],"body":{"id":22247,"nodeType":"Block","src":"19286:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7432353629","id":22240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19336:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},"value":"log(address,address,uint256)"},{"id":22241,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22230,"src":"19368:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22242,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22232,"src":"19372:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22243,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22234,"src":"19376:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19312:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19312:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19312:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22237,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19296:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19296:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22246,"nodeType":"ExpressionStatement","src":"19296:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19232:3:15","parameters":{"id":22235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22230,"mutability":"mutable","name":"p0","nameLocation":"19244:2:15","nodeType":"VariableDeclaration","scope":22248,"src":"19236:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22229,"name":"address","nodeType":"ElementaryTypeName","src":"19236:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22232,"mutability":"mutable","name":"p1","nameLocation":"19256:2:15","nodeType":"VariableDeclaration","scope":22248,"src":"19248:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22231,"name":"address","nodeType":"ElementaryTypeName","src":"19248:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22234,"mutability":"mutable","name":"p2","nameLocation":"19268:2:15","nodeType":"VariableDeclaration","scope":22248,"src":"19260:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22233,"name":"uint256","nodeType":"ElementaryTypeName","src":"19260:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19235:36:15"},"returnParameters":{"id":22236,"nodeType":"ParameterList","parameters":[],"src":"19286:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22268,"nodeType":"FunctionDefinition","src":"19393:169:15","nodes":[],"body":{"id":22267,"nodeType":"Block","src":"19462:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":22260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19512:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":22261,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22250,"src":"19543:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22262,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22252,"src":"19547:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22263,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22254,"src":"19551:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22258,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19488:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19488:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19488:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22257,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19472:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19472:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22266,"nodeType":"ExpressionStatement","src":"19472:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19402:3:15","parameters":{"id":22255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22250,"mutability":"mutable","name":"p0","nameLocation":"19414:2:15","nodeType":"VariableDeclaration","scope":22268,"src":"19406:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22249,"name":"address","nodeType":"ElementaryTypeName","src":"19406:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22252,"mutability":"mutable","name":"p1","nameLocation":"19426:2:15","nodeType":"VariableDeclaration","scope":22268,"src":"19418:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22251,"name":"address","nodeType":"ElementaryTypeName","src":"19418:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22254,"mutability":"mutable","name":"p2","nameLocation":"19444:2:15","nodeType":"VariableDeclaration","scope":22268,"src":"19430:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22253,"name":"string","nodeType":"ElementaryTypeName","src":"19430:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19405:42:15"},"returnParameters":{"id":22256,"nodeType":"ParameterList","parameters":[],"src":"19462:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22288,"nodeType":"FunctionDefinition","src":"19568:158:15","nodes":[],"body":{"id":22287,"nodeType":"Block","src":"19628:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":22280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19678:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":22281,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22270,"src":"19707:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22282,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22272,"src":"19711:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22283,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22274,"src":"19715:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22278,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19654:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19654:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19654:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22277,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19638:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19638:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22286,"nodeType":"ExpressionStatement","src":"19638:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19577:3:15","parameters":{"id":22275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22270,"mutability":"mutable","name":"p0","nameLocation":"19589:2:15","nodeType":"VariableDeclaration","scope":22288,"src":"19581:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22269,"name":"address","nodeType":"ElementaryTypeName","src":"19581:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22272,"mutability":"mutable","name":"p1","nameLocation":"19601:2:15","nodeType":"VariableDeclaration","scope":22288,"src":"19593:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22271,"name":"address","nodeType":"ElementaryTypeName","src":"19593:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22274,"mutability":"mutable","name":"p2","nameLocation":"19610:2:15","nodeType":"VariableDeclaration","scope":22288,"src":"19605:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22273,"name":"bool","nodeType":"ElementaryTypeName","src":"19605:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19580:33:15"},"returnParameters":{"id":22276,"nodeType":"ParameterList","parameters":[],"src":"19628:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22308,"nodeType":"FunctionDefinition","src":"19732:164:15","nodes":[],"body":{"id":22307,"nodeType":"Block","src":"19795:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":22300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19845:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":22301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22290,"src":"19877:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22292,"src":"19881:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22294,"src":"19885:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19821:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19821:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19821:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19805:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19805:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22306,"nodeType":"ExpressionStatement","src":"19805:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19741:3:15","parameters":{"id":22295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22290,"mutability":"mutable","name":"p0","nameLocation":"19753:2:15","nodeType":"VariableDeclaration","scope":22308,"src":"19745:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22289,"name":"address","nodeType":"ElementaryTypeName","src":"19745:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22292,"mutability":"mutable","name":"p1","nameLocation":"19765:2:15","nodeType":"VariableDeclaration","scope":22308,"src":"19757:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22291,"name":"address","nodeType":"ElementaryTypeName","src":"19757:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22294,"mutability":"mutable","name":"p2","nameLocation":"19777:2:15","nodeType":"VariableDeclaration","scope":22308,"src":"19769:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22293,"name":"address","nodeType":"ElementaryTypeName","src":"19769:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19744:36:15"},"returnParameters":{"id":22296,"nodeType":"ParameterList","parameters":[],"src":"19795:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22331,"nodeType":"FunctionDefinition","src":"19902:188:15","nodes":[],"body":{"id":22330,"nodeType":"Block","src":"19977:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629","id":22322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20027:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256,uint256)"},{"id":22323,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22310,"src":"20067:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22324,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22312,"src":"20071:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22325,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22314,"src":"20075:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22326,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22316,"src":"20079:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22320,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20003:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20003:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20003:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22319,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19987:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19987:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22329,"nodeType":"ExpressionStatement","src":"19987:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19911:3:15","parameters":{"id":22317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22310,"mutability":"mutable","name":"p0","nameLocation":"19923:2:15","nodeType":"VariableDeclaration","scope":22331,"src":"19915:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22309,"name":"uint256","nodeType":"ElementaryTypeName","src":"19915:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22312,"mutability":"mutable","name":"p1","nameLocation":"19935:2:15","nodeType":"VariableDeclaration","scope":22331,"src":"19927:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22311,"name":"uint256","nodeType":"ElementaryTypeName","src":"19927:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22314,"mutability":"mutable","name":"p2","nameLocation":"19947:2:15","nodeType":"VariableDeclaration","scope":22331,"src":"19939:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22313,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22316,"mutability":"mutable","name":"p3","nameLocation":"19959:2:15","nodeType":"VariableDeclaration","scope":22331,"src":"19951:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22315,"name":"uint256","nodeType":"ElementaryTypeName","src":"19951:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19914:48:15"},"returnParameters":{"id":22318,"nodeType":"ParameterList","parameters":[],"src":"19977:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22354,"nodeType":"FunctionDefinition","src":"20096:193:15","nodes":[],"body":{"id":22353,"nodeType":"Block","src":"20177:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729","id":22345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20227:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},"value":"log(uint256,uint256,uint256,string)"},{"id":22346,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22333,"src":"20266:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22347,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22335,"src":"20270:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22348,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22337,"src":"20274:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22349,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22339,"src":"20278:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22343,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20203:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20203:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20203:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22342,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20187:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20187:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22352,"nodeType":"ExpressionStatement","src":"20187:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20105:3:15","parameters":{"id":22340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22333,"mutability":"mutable","name":"p0","nameLocation":"20117:2:15","nodeType":"VariableDeclaration","scope":22354,"src":"20109:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22332,"name":"uint256","nodeType":"ElementaryTypeName","src":"20109:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22335,"mutability":"mutable","name":"p1","nameLocation":"20129:2:15","nodeType":"VariableDeclaration","scope":22354,"src":"20121:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22334,"name":"uint256","nodeType":"ElementaryTypeName","src":"20121:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22337,"mutability":"mutable","name":"p2","nameLocation":"20141:2:15","nodeType":"VariableDeclaration","scope":22354,"src":"20133:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22336,"name":"uint256","nodeType":"ElementaryTypeName","src":"20133:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22339,"mutability":"mutable","name":"p3","nameLocation":"20159:2:15","nodeType":"VariableDeclaration","scope":22354,"src":"20145:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22338,"name":"string","nodeType":"ElementaryTypeName","src":"20145:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20108:54:15"},"returnParameters":{"id":22341,"nodeType":"ParameterList","parameters":[],"src":"20177:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22377,"nodeType":"FunctionDefinition","src":"20295:182:15","nodes":[],"body":{"id":22376,"nodeType":"Block","src":"20367:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29","id":22368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20417:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},"value":"log(uint256,uint256,uint256,bool)"},{"id":22369,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22356,"src":"20454:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22370,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22358,"src":"20458:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22371,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22360,"src":"20462:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22372,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22362,"src":"20466:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22366,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20393:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20393:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20393:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22365,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20377:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20377:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22375,"nodeType":"ExpressionStatement","src":"20377:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20304:3:15","parameters":{"id":22363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22356,"mutability":"mutable","name":"p0","nameLocation":"20316:2:15","nodeType":"VariableDeclaration","scope":22377,"src":"20308:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22355,"name":"uint256","nodeType":"ElementaryTypeName","src":"20308:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22358,"mutability":"mutable","name":"p1","nameLocation":"20328:2:15","nodeType":"VariableDeclaration","scope":22377,"src":"20320:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22357,"name":"uint256","nodeType":"ElementaryTypeName","src":"20320:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22360,"mutability":"mutable","name":"p2","nameLocation":"20340:2:15","nodeType":"VariableDeclaration","scope":22377,"src":"20332:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22359,"name":"uint256","nodeType":"ElementaryTypeName","src":"20332:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22362,"mutability":"mutable","name":"p3","nameLocation":"20349:2:15","nodeType":"VariableDeclaration","scope":22377,"src":"20344:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22361,"name":"bool","nodeType":"ElementaryTypeName","src":"20344:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20307:45:15"},"returnParameters":{"id":22364,"nodeType":"ParameterList","parameters":[],"src":"20367:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22400,"nodeType":"FunctionDefinition","src":"20483:188:15","nodes":[],"body":{"id":22399,"nodeType":"Block","src":"20558:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329","id":22391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20608:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},"value":"log(uint256,uint256,uint256,address)"},{"id":22392,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22379,"src":"20648:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22393,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22381,"src":"20652:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22394,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22383,"src":"20656:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22395,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22385,"src":"20660:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22389,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20584:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20584:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20584:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22388,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20568:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20568:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22398,"nodeType":"ExpressionStatement","src":"20568:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20492:3:15","parameters":{"id":22386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22379,"mutability":"mutable","name":"p0","nameLocation":"20504:2:15","nodeType":"VariableDeclaration","scope":22400,"src":"20496:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22378,"name":"uint256","nodeType":"ElementaryTypeName","src":"20496:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22381,"mutability":"mutable","name":"p1","nameLocation":"20516:2:15","nodeType":"VariableDeclaration","scope":22400,"src":"20508:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22380,"name":"uint256","nodeType":"ElementaryTypeName","src":"20508:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22383,"mutability":"mutable","name":"p2","nameLocation":"20528:2:15","nodeType":"VariableDeclaration","scope":22400,"src":"20520:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22382,"name":"uint256","nodeType":"ElementaryTypeName","src":"20520:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22385,"mutability":"mutable","name":"p3","nameLocation":"20540:2:15","nodeType":"VariableDeclaration","scope":22400,"src":"20532:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22384,"name":"address","nodeType":"ElementaryTypeName","src":"20532:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20495:48:15"},"returnParameters":{"id":22387,"nodeType":"ParameterList","parameters":[],"src":"20558:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22423,"nodeType":"FunctionDefinition","src":"20677:193:15","nodes":[],"body":{"id":22422,"nodeType":"Block","src":"20758:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629","id":22414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20808:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},"value":"log(uint256,uint256,string,uint256)"},{"id":22415,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22402,"src":"20847:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22416,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22404,"src":"20851:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22417,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22406,"src":"20855:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22418,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22408,"src":"20859:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22412,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20784:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20784:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20784:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22411,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20768:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20768:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22421,"nodeType":"ExpressionStatement","src":"20768:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20686:3:15","parameters":{"id":22409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22402,"mutability":"mutable","name":"p0","nameLocation":"20698:2:15","nodeType":"VariableDeclaration","scope":22423,"src":"20690:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22401,"name":"uint256","nodeType":"ElementaryTypeName","src":"20690:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22404,"mutability":"mutable","name":"p1","nameLocation":"20710:2:15","nodeType":"VariableDeclaration","scope":22423,"src":"20702:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22403,"name":"uint256","nodeType":"ElementaryTypeName","src":"20702:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22406,"mutability":"mutable","name":"p2","nameLocation":"20728:2:15","nodeType":"VariableDeclaration","scope":22423,"src":"20714:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22405,"name":"string","nodeType":"ElementaryTypeName","src":"20714:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22408,"mutability":"mutable","name":"p3","nameLocation":"20740:2:15","nodeType":"VariableDeclaration","scope":22423,"src":"20732:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22407,"name":"uint256","nodeType":"ElementaryTypeName","src":"20732:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20689:54:15"},"returnParameters":{"id":22410,"nodeType":"ParameterList","parameters":[],"src":"20758:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22446,"nodeType":"FunctionDefinition","src":"20876:198:15","nodes":[],"body":{"id":22445,"nodeType":"Block","src":"20963:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729","id":22437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21013:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},"value":"log(uint256,uint256,string,string)"},{"id":22438,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22425,"src":"21051:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22439,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22427,"src":"21055:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22440,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22429,"src":"21059:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22441,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22431,"src":"21063:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22435,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20989:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20989:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20989:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22434,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20973:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20973:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22444,"nodeType":"ExpressionStatement","src":"20973:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20885:3:15","parameters":{"id":22432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22425,"mutability":"mutable","name":"p0","nameLocation":"20897:2:15","nodeType":"VariableDeclaration","scope":22446,"src":"20889:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22424,"name":"uint256","nodeType":"ElementaryTypeName","src":"20889:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22427,"mutability":"mutable","name":"p1","nameLocation":"20909:2:15","nodeType":"VariableDeclaration","scope":22446,"src":"20901:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22426,"name":"uint256","nodeType":"ElementaryTypeName","src":"20901:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22429,"mutability":"mutable","name":"p2","nameLocation":"20927:2:15","nodeType":"VariableDeclaration","scope":22446,"src":"20913:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22428,"name":"string","nodeType":"ElementaryTypeName","src":"20913:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22431,"mutability":"mutable","name":"p3","nameLocation":"20945:2:15","nodeType":"VariableDeclaration","scope":22446,"src":"20931:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22430,"name":"string","nodeType":"ElementaryTypeName","src":"20931:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20888:60:15"},"returnParameters":{"id":22433,"nodeType":"ParameterList","parameters":[],"src":"20963:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22469,"nodeType":"FunctionDefinition","src":"21080:187:15","nodes":[],"body":{"id":22468,"nodeType":"Block","src":"21158:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29","id":22460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21208:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},"value":"log(uint256,uint256,string,bool)"},{"id":22461,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22448,"src":"21244:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22462,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22450,"src":"21248:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22463,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22452,"src":"21252:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22464,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22454,"src":"21256:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22458,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21184:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21184:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21184:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22457,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21168:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21168:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22467,"nodeType":"ExpressionStatement","src":"21168:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21089:3:15","parameters":{"id":22455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22448,"mutability":"mutable","name":"p0","nameLocation":"21101:2:15","nodeType":"VariableDeclaration","scope":22469,"src":"21093:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22447,"name":"uint256","nodeType":"ElementaryTypeName","src":"21093:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22450,"mutability":"mutable","name":"p1","nameLocation":"21113:2:15","nodeType":"VariableDeclaration","scope":22469,"src":"21105:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22449,"name":"uint256","nodeType":"ElementaryTypeName","src":"21105:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22452,"mutability":"mutable","name":"p2","nameLocation":"21131:2:15","nodeType":"VariableDeclaration","scope":22469,"src":"21117:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22451,"name":"string","nodeType":"ElementaryTypeName","src":"21117:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22454,"mutability":"mutable","name":"p3","nameLocation":"21140:2:15","nodeType":"VariableDeclaration","scope":22469,"src":"21135:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22453,"name":"bool","nodeType":"ElementaryTypeName","src":"21135:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21092:51:15"},"returnParameters":{"id":22456,"nodeType":"ParameterList","parameters":[],"src":"21158:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22492,"nodeType":"FunctionDefinition","src":"21273:193:15","nodes":[],"body":{"id":22491,"nodeType":"Block","src":"21354:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329","id":22483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21404:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},"value":"log(uint256,uint256,string,address)"},{"id":22484,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22471,"src":"21443:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22485,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22473,"src":"21447:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22486,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22475,"src":"21451:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22487,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22477,"src":"21455:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22481,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21380:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21380:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21380:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22480,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21364:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21364:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22490,"nodeType":"ExpressionStatement","src":"21364:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21282:3:15","parameters":{"id":22478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22471,"mutability":"mutable","name":"p0","nameLocation":"21294:2:15","nodeType":"VariableDeclaration","scope":22492,"src":"21286:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22470,"name":"uint256","nodeType":"ElementaryTypeName","src":"21286:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22473,"mutability":"mutable","name":"p1","nameLocation":"21306:2:15","nodeType":"VariableDeclaration","scope":22492,"src":"21298:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22472,"name":"uint256","nodeType":"ElementaryTypeName","src":"21298:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22475,"mutability":"mutable","name":"p2","nameLocation":"21324:2:15","nodeType":"VariableDeclaration","scope":22492,"src":"21310:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22474,"name":"string","nodeType":"ElementaryTypeName","src":"21310:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22477,"mutability":"mutable","name":"p3","nameLocation":"21336:2:15","nodeType":"VariableDeclaration","scope":22492,"src":"21328:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22476,"name":"address","nodeType":"ElementaryTypeName","src":"21328:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21285:54:15"},"returnParameters":{"id":22479,"nodeType":"ParameterList","parameters":[],"src":"21354:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22515,"nodeType":"FunctionDefinition","src":"21472:182:15","nodes":[],"body":{"id":22514,"nodeType":"Block","src":"21544:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629","id":22506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21594:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},"value":"log(uint256,uint256,bool,uint256)"},{"id":22507,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22494,"src":"21631:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22508,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22496,"src":"21635:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22509,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22498,"src":"21639:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22510,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22500,"src":"21643:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22504,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21570:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21570:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21570:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22503,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21554:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21554:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22513,"nodeType":"ExpressionStatement","src":"21554:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21481:3:15","parameters":{"id":22501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22494,"mutability":"mutable","name":"p0","nameLocation":"21493:2:15","nodeType":"VariableDeclaration","scope":22515,"src":"21485:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22493,"name":"uint256","nodeType":"ElementaryTypeName","src":"21485:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22496,"mutability":"mutable","name":"p1","nameLocation":"21505:2:15","nodeType":"VariableDeclaration","scope":22515,"src":"21497:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22495,"name":"uint256","nodeType":"ElementaryTypeName","src":"21497:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22498,"mutability":"mutable","name":"p2","nameLocation":"21514:2:15","nodeType":"VariableDeclaration","scope":22515,"src":"21509:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22497,"name":"bool","nodeType":"ElementaryTypeName","src":"21509:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22500,"mutability":"mutable","name":"p3","nameLocation":"21526:2:15","nodeType":"VariableDeclaration","scope":22515,"src":"21518:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22499,"name":"uint256","nodeType":"ElementaryTypeName","src":"21518:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21484:45:15"},"returnParameters":{"id":22502,"nodeType":"ParameterList","parameters":[],"src":"21544:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22538,"nodeType":"FunctionDefinition","src":"21660:187:15","nodes":[],"body":{"id":22537,"nodeType":"Block","src":"21738:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729","id":22529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21788:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},"value":"log(uint256,uint256,bool,string)"},{"id":22530,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22517,"src":"21824:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22531,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22519,"src":"21828:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22532,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22521,"src":"21832:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22533,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22523,"src":"21836:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22527,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21764:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21764:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21764:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22526,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21748:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21748:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22536,"nodeType":"ExpressionStatement","src":"21748:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21669:3:15","parameters":{"id":22524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22517,"mutability":"mutable","name":"p0","nameLocation":"21681:2:15","nodeType":"VariableDeclaration","scope":22538,"src":"21673:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22516,"name":"uint256","nodeType":"ElementaryTypeName","src":"21673:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22519,"mutability":"mutable","name":"p1","nameLocation":"21693:2:15","nodeType":"VariableDeclaration","scope":22538,"src":"21685:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22518,"name":"uint256","nodeType":"ElementaryTypeName","src":"21685:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22521,"mutability":"mutable","name":"p2","nameLocation":"21702:2:15","nodeType":"VariableDeclaration","scope":22538,"src":"21697:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22520,"name":"bool","nodeType":"ElementaryTypeName","src":"21697:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22523,"mutability":"mutable","name":"p3","nameLocation":"21720:2:15","nodeType":"VariableDeclaration","scope":22538,"src":"21706:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22522,"name":"string","nodeType":"ElementaryTypeName","src":"21706:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21672:51:15"},"returnParameters":{"id":22525,"nodeType":"ParameterList","parameters":[],"src":"21738:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22561,"nodeType":"FunctionDefinition","src":"21853:176:15","nodes":[],"body":{"id":22560,"nodeType":"Block","src":"21922:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29","id":22552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21972:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},"value":"log(uint256,uint256,bool,bool)"},{"id":22553,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22540,"src":"22006:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22554,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22542,"src":"22010:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22555,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22544,"src":"22014:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22556,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22546,"src":"22018:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22550,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21948:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21948:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21948:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22549,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21932:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21932:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22559,"nodeType":"ExpressionStatement","src":"21932:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21862:3:15","parameters":{"id":22547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22540,"mutability":"mutable","name":"p0","nameLocation":"21874:2:15","nodeType":"VariableDeclaration","scope":22561,"src":"21866:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22539,"name":"uint256","nodeType":"ElementaryTypeName","src":"21866:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22542,"mutability":"mutable","name":"p1","nameLocation":"21886:2:15","nodeType":"VariableDeclaration","scope":22561,"src":"21878:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22541,"name":"uint256","nodeType":"ElementaryTypeName","src":"21878:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22544,"mutability":"mutable","name":"p2","nameLocation":"21895:2:15","nodeType":"VariableDeclaration","scope":22561,"src":"21890:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22543,"name":"bool","nodeType":"ElementaryTypeName","src":"21890:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22546,"mutability":"mutable","name":"p3","nameLocation":"21904:2:15","nodeType":"VariableDeclaration","scope":22561,"src":"21899:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22545,"name":"bool","nodeType":"ElementaryTypeName","src":"21899:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21865:42:15"},"returnParameters":{"id":22548,"nodeType":"ParameterList","parameters":[],"src":"21922:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22584,"nodeType":"FunctionDefinition","src":"22035:182:15","nodes":[],"body":{"id":22583,"nodeType":"Block","src":"22107:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329","id":22575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22157:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},"value":"log(uint256,uint256,bool,address)"},{"id":22576,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22563,"src":"22194:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22577,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22565,"src":"22198:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22578,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22567,"src":"22202:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22579,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22569,"src":"22206:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22573,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22133:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22133:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22133:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22572,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22117:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22117:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22582,"nodeType":"ExpressionStatement","src":"22117:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22044:3:15","parameters":{"id":22570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22563,"mutability":"mutable","name":"p0","nameLocation":"22056:2:15","nodeType":"VariableDeclaration","scope":22584,"src":"22048:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22562,"name":"uint256","nodeType":"ElementaryTypeName","src":"22048:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22565,"mutability":"mutable","name":"p1","nameLocation":"22068:2:15","nodeType":"VariableDeclaration","scope":22584,"src":"22060:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22564,"name":"uint256","nodeType":"ElementaryTypeName","src":"22060:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22567,"mutability":"mutable","name":"p2","nameLocation":"22077:2:15","nodeType":"VariableDeclaration","scope":22584,"src":"22072:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22566,"name":"bool","nodeType":"ElementaryTypeName","src":"22072:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22569,"mutability":"mutable","name":"p3","nameLocation":"22089:2:15","nodeType":"VariableDeclaration","scope":22584,"src":"22081:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22568,"name":"address","nodeType":"ElementaryTypeName","src":"22081:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22047:45:15"},"returnParameters":{"id":22571,"nodeType":"ParameterList","parameters":[],"src":"22107:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22607,"nodeType":"FunctionDefinition","src":"22223:188:15","nodes":[],"body":{"id":22606,"nodeType":"Block","src":"22298:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629","id":22598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22348:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},"value":"log(uint256,uint256,address,uint256)"},{"id":22599,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22586,"src":"22388:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22600,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22588,"src":"22392:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22601,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22590,"src":"22396:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22602,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22592,"src":"22400:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22324:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22324:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22324:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22595,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22308:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22308:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22605,"nodeType":"ExpressionStatement","src":"22308:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22232:3:15","parameters":{"id":22593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22586,"mutability":"mutable","name":"p0","nameLocation":"22244:2:15","nodeType":"VariableDeclaration","scope":22607,"src":"22236:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22585,"name":"uint256","nodeType":"ElementaryTypeName","src":"22236:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22588,"mutability":"mutable","name":"p1","nameLocation":"22256:2:15","nodeType":"VariableDeclaration","scope":22607,"src":"22248:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22587,"name":"uint256","nodeType":"ElementaryTypeName","src":"22248:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22590,"mutability":"mutable","name":"p2","nameLocation":"22268:2:15","nodeType":"VariableDeclaration","scope":22607,"src":"22260:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22589,"name":"address","nodeType":"ElementaryTypeName","src":"22260:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22592,"mutability":"mutable","name":"p3","nameLocation":"22280:2:15","nodeType":"VariableDeclaration","scope":22607,"src":"22272:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22591,"name":"uint256","nodeType":"ElementaryTypeName","src":"22272:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22235:48:15"},"returnParameters":{"id":22594,"nodeType":"ParameterList","parameters":[],"src":"22298:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22630,"nodeType":"FunctionDefinition","src":"22417:193:15","nodes":[],"body":{"id":22629,"nodeType":"Block","src":"22498:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729","id":22621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22548:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},"value":"log(uint256,uint256,address,string)"},{"id":22622,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22609,"src":"22587:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22623,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22611,"src":"22591:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22624,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22613,"src":"22595:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22625,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22615,"src":"22599:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22619,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22524:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22524:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22524:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22618,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22508:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22508:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22628,"nodeType":"ExpressionStatement","src":"22508:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22426:3:15","parameters":{"id":22616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22609,"mutability":"mutable","name":"p0","nameLocation":"22438:2:15","nodeType":"VariableDeclaration","scope":22630,"src":"22430:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22608,"name":"uint256","nodeType":"ElementaryTypeName","src":"22430:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22611,"mutability":"mutable","name":"p1","nameLocation":"22450:2:15","nodeType":"VariableDeclaration","scope":22630,"src":"22442:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22610,"name":"uint256","nodeType":"ElementaryTypeName","src":"22442:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22613,"mutability":"mutable","name":"p2","nameLocation":"22462:2:15","nodeType":"VariableDeclaration","scope":22630,"src":"22454:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22612,"name":"address","nodeType":"ElementaryTypeName","src":"22454:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22615,"mutability":"mutable","name":"p3","nameLocation":"22480:2:15","nodeType":"VariableDeclaration","scope":22630,"src":"22466:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22614,"name":"string","nodeType":"ElementaryTypeName","src":"22466:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22429:54:15"},"returnParameters":{"id":22617,"nodeType":"ParameterList","parameters":[],"src":"22498:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22653,"nodeType":"FunctionDefinition","src":"22616:182:15","nodes":[],"body":{"id":22652,"nodeType":"Block","src":"22688:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29","id":22644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22738:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},"value":"log(uint256,uint256,address,bool)"},{"id":22645,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22632,"src":"22775:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22646,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22634,"src":"22779:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22647,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22636,"src":"22783:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22648,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22638,"src":"22787:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22642,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22714:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22714:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22714:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22641,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22698:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22698:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22651,"nodeType":"ExpressionStatement","src":"22698:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22625:3:15","parameters":{"id":22639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22632,"mutability":"mutable","name":"p0","nameLocation":"22637:2:15","nodeType":"VariableDeclaration","scope":22653,"src":"22629:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22631,"name":"uint256","nodeType":"ElementaryTypeName","src":"22629:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22634,"mutability":"mutable","name":"p1","nameLocation":"22649:2:15","nodeType":"VariableDeclaration","scope":22653,"src":"22641:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22633,"name":"uint256","nodeType":"ElementaryTypeName","src":"22641:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22636,"mutability":"mutable","name":"p2","nameLocation":"22661:2:15","nodeType":"VariableDeclaration","scope":22653,"src":"22653:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22635,"name":"address","nodeType":"ElementaryTypeName","src":"22653:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22638,"mutability":"mutable","name":"p3","nameLocation":"22670:2:15","nodeType":"VariableDeclaration","scope":22653,"src":"22665:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22637,"name":"bool","nodeType":"ElementaryTypeName","src":"22665:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22628:45:15"},"returnParameters":{"id":22640,"nodeType":"ParameterList","parameters":[],"src":"22688:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22676,"nodeType":"FunctionDefinition","src":"22804:188:15","nodes":[],"body":{"id":22675,"nodeType":"Block","src":"22879:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329","id":22667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22929:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},"value":"log(uint256,uint256,address,address)"},{"id":22668,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22655,"src":"22969:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22669,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22657,"src":"22973:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22670,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22659,"src":"22977:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22671,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22661,"src":"22981:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22665,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22905:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22905:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22905:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22664,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22889:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22889:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22674,"nodeType":"ExpressionStatement","src":"22889:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22813:3:15","parameters":{"id":22662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22655,"mutability":"mutable","name":"p0","nameLocation":"22825:2:15","nodeType":"VariableDeclaration","scope":22676,"src":"22817:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22654,"name":"uint256","nodeType":"ElementaryTypeName","src":"22817:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22657,"mutability":"mutable","name":"p1","nameLocation":"22837:2:15","nodeType":"VariableDeclaration","scope":22676,"src":"22829:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22656,"name":"uint256","nodeType":"ElementaryTypeName","src":"22829:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22659,"mutability":"mutable","name":"p2","nameLocation":"22849:2:15","nodeType":"VariableDeclaration","scope":22676,"src":"22841:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22658,"name":"address","nodeType":"ElementaryTypeName","src":"22841:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22661,"mutability":"mutable","name":"p3","nameLocation":"22861:2:15","nodeType":"VariableDeclaration","scope":22676,"src":"22853:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22660,"name":"address","nodeType":"ElementaryTypeName","src":"22853:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22816:48:15"},"returnParameters":{"id":22663,"nodeType":"ParameterList","parameters":[],"src":"22879:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22699,"nodeType":"FunctionDefinition","src":"22998:193:15","nodes":[],"body":{"id":22698,"nodeType":"Block","src":"23079:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629","id":22690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23129:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},"value":"log(uint256,string,uint256,uint256)"},{"id":22691,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22678,"src":"23168:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22692,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22680,"src":"23172:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22693,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22682,"src":"23176:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22694,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22684,"src":"23180:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22688,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23105:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23105:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23105:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22687,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23089:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23089:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22697,"nodeType":"ExpressionStatement","src":"23089:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23007:3:15","parameters":{"id":22685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22678,"mutability":"mutable","name":"p0","nameLocation":"23019:2:15","nodeType":"VariableDeclaration","scope":22699,"src":"23011:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22677,"name":"uint256","nodeType":"ElementaryTypeName","src":"23011:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22680,"mutability":"mutable","name":"p1","nameLocation":"23037:2:15","nodeType":"VariableDeclaration","scope":22699,"src":"23023:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22679,"name":"string","nodeType":"ElementaryTypeName","src":"23023:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22682,"mutability":"mutable","name":"p2","nameLocation":"23049:2:15","nodeType":"VariableDeclaration","scope":22699,"src":"23041:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22681,"name":"uint256","nodeType":"ElementaryTypeName","src":"23041:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22684,"mutability":"mutable","name":"p3","nameLocation":"23061:2:15","nodeType":"VariableDeclaration","scope":22699,"src":"23053:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22683,"name":"uint256","nodeType":"ElementaryTypeName","src":"23053:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23010:54:15"},"returnParameters":{"id":22686,"nodeType":"ParameterList","parameters":[],"src":"23079:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22722,"nodeType":"FunctionDefinition","src":"23197:198:15","nodes":[],"body":{"id":22721,"nodeType":"Block","src":"23284:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729","id":22713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23334:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},"value":"log(uint256,string,uint256,string)"},{"id":22714,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22701,"src":"23372:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22715,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22703,"src":"23376:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22716,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22705,"src":"23380:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22717,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22707,"src":"23384:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23310:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23310:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23310:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22710,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23294:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23294:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22720,"nodeType":"ExpressionStatement","src":"23294:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23206:3:15","parameters":{"id":22708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22701,"mutability":"mutable","name":"p0","nameLocation":"23218:2:15","nodeType":"VariableDeclaration","scope":22722,"src":"23210:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22700,"name":"uint256","nodeType":"ElementaryTypeName","src":"23210:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22703,"mutability":"mutable","name":"p1","nameLocation":"23236:2:15","nodeType":"VariableDeclaration","scope":22722,"src":"23222:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22702,"name":"string","nodeType":"ElementaryTypeName","src":"23222:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22705,"mutability":"mutable","name":"p2","nameLocation":"23248:2:15","nodeType":"VariableDeclaration","scope":22722,"src":"23240:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22704,"name":"uint256","nodeType":"ElementaryTypeName","src":"23240:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22707,"mutability":"mutable","name":"p3","nameLocation":"23266:2:15","nodeType":"VariableDeclaration","scope":22722,"src":"23252:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22706,"name":"string","nodeType":"ElementaryTypeName","src":"23252:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23209:60:15"},"returnParameters":{"id":22709,"nodeType":"ParameterList","parameters":[],"src":"23284:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22745,"nodeType":"FunctionDefinition","src":"23401:187:15","nodes":[],"body":{"id":22744,"nodeType":"Block","src":"23479:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29","id":22736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23529:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},"value":"log(uint256,string,uint256,bool)"},{"id":22737,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22724,"src":"23565:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22738,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22726,"src":"23569:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22739,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22728,"src":"23573:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22740,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22730,"src":"23577:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22734,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23505:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23505:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23505:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22733,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23489:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23489:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22743,"nodeType":"ExpressionStatement","src":"23489:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23410:3:15","parameters":{"id":22731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22724,"mutability":"mutable","name":"p0","nameLocation":"23422:2:15","nodeType":"VariableDeclaration","scope":22745,"src":"23414:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22723,"name":"uint256","nodeType":"ElementaryTypeName","src":"23414:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22726,"mutability":"mutable","name":"p1","nameLocation":"23440:2:15","nodeType":"VariableDeclaration","scope":22745,"src":"23426:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22725,"name":"string","nodeType":"ElementaryTypeName","src":"23426:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22728,"mutability":"mutable","name":"p2","nameLocation":"23452:2:15","nodeType":"VariableDeclaration","scope":22745,"src":"23444:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22727,"name":"uint256","nodeType":"ElementaryTypeName","src":"23444:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22730,"mutability":"mutable","name":"p3","nameLocation":"23461:2:15","nodeType":"VariableDeclaration","scope":22745,"src":"23456:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22729,"name":"bool","nodeType":"ElementaryTypeName","src":"23456:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23413:51:15"},"returnParameters":{"id":22732,"nodeType":"ParameterList","parameters":[],"src":"23479:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22768,"nodeType":"FunctionDefinition","src":"23594:193:15","nodes":[],"body":{"id":22767,"nodeType":"Block","src":"23675:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329","id":22759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23725:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},"value":"log(uint256,string,uint256,address)"},{"id":22760,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22747,"src":"23764:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22761,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22749,"src":"23768:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22762,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22751,"src":"23772:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22763,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22753,"src":"23776:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22757,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23701:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23701:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23701:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22756,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23685:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23685:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22766,"nodeType":"ExpressionStatement","src":"23685:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23603:3:15","parameters":{"id":22754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22747,"mutability":"mutable","name":"p0","nameLocation":"23615:2:15","nodeType":"VariableDeclaration","scope":22768,"src":"23607:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22746,"name":"uint256","nodeType":"ElementaryTypeName","src":"23607:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22749,"mutability":"mutable","name":"p1","nameLocation":"23633:2:15","nodeType":"VariableDeclaration","scope":22768,"src":"23619:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22748,"name":"string","nodeType":"ElementaryTypeName","src":"23619:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22751,"mutability":"mutable","name":"p2","nameLocation":"23645:2:15","nodeType":"VariableDeclaration","scope":22768,"src":"23637:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22750,"name":"uint256","nodeType":"ElementaryTypeName","src":"23637:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22753,"mutability":"mutable","name":"p3","nameLocation":"23657:2:15","nodeType":"VariableDeclaration","scope":22768,"src":"23649:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22752,"name":"address","nodeType":"ElementaryTypeName","src":"23649:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23606:54:15"},"returnParameters":{"id":22755,"nodeType":"ParameterList","parameters":[],"src":"23675:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22791,"nodeType":"FunctionDefinition","src":"23793:198:15","nodes":[],"body":{"id":22790,"nodeType":"Block","src":"23880:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629","id":22782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23930:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},"value":"log(uint256,string,string,uint256)"},{"id":22783,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22770,"src":"23968:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22784,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22772,"src":"23972:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22785,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22774,"src":"23976:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22786,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22776,"src":"23980:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22780,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23906:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23906:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23906:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22779,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23890:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23890:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22789,"nodeType":"ExpressionStatement","src":"23890:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23802:3:15","parameters":{"id":22777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22770,"mutability":"mutable","name":"p0","nameLocation":"23814:2:15","nodeType":"VariableDeclaration","scope":22791,"src":"23806:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22769,"name":"uint256","nodeType":"ElementaryTypeName","src":"23806:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22772,"mutability":"mutable","name":"p1","nameLocation":"23832:2:15","nodeType":"VariableDeclaration","scope":22791,"src":"23818:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22771,"name":"string","nodeType":"ElementaryTypeName","src":"23818:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22774,"mutability":"mutable","name":"p2","nameLocation":"23850:2:15","nodeType":"VariableDeclaration","scope":22791,"src":"23836:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22773,"name":"string","nodeType":"ElementaryTypeName","src":"23836:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22776,"mutability":"mutable","name":"p3","nameLocation":"23862:2:15","nodeType":"VariableDeclaration","scope":22791,"src":"23854:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22775,"name":"uint256","nodeType":"ElementaryTypeName","src":"23854:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23805:60:15"},"returnParameters":{"id":22778,"nodeType":"ParameterList","parameters":[],"src":"23880:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22814,"nodeType":"FunctionDefinition","src":"23997:203:15","nodes":[],"body":{"id":22813,"nodeType":"Block","src":"24090:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729","id":22805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24140:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},"value":"log(uint256,string,string,string)"},{"id":22806,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22793,"src":"24177:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22807,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22795,"src":"24181:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22808,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22797,"src":"24185:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22809,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22799,"src":"24189:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22803,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24116:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24116:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24116:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22802,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24100:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24100:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22812,"nodeType":"ExpressionStatement","src":"24100:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24006:3:15","parameters":{"id":22800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22793,"mutability":"mutable","name":"p0","nameLocation":"24018:2:15","nodeType":"VariableDeclaration","scope":22814,"src":"24010:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22792,"name":"uint256","nodeType":"ElementaryTypeName","src":"24010:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22795,"mutability":"mutable","name":"p1","nameLocation":"24036:2:15","nodeType":"VariableDeclaration","scope":22814,"src":"24022:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22794,"name":"string","nodeType":"ElementaryTypeName","src":"24022:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22797,"mutability":"mutable","name":"p2","nameLocation":"24054:2:15","nodeType":"VariableDeclaration","scope":22814,"src":"24040:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22796,"name":"string","nodeType":"ElementaryTypeName","src":"24040:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22799,"mutability":"mutable","name":"p3","nameLocation":"24072:2:15","nodeType":"VariableDeclaration","scope":22814,"src":"24058:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22798,"name":"string","nodeType":"ElementaryTypeName","src":"24058:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24009:66:15"},"returnParameters":{"id":22801,"nodeType":"ParameterList","parameters":[],"src":"24090:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22837,"nodeType":"FunctionDefinition","src":"24206:192:15","nodes":[],"body":{"id":22836,"nodeType":"Block","src":"24290:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29","id":22828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24340:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},"value":"log(uint256,string,string,bool)"},{"id":22829,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22816,"src":"24375:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22830,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22818,"src":"24379:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22831,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22820,"src":"24383:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22832,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22822,"src":"24387:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22826,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24316:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24316:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24316:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22825,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24300:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24300:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22835,"nodeType":"ExpressionStatement","src":"24300:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24215:3:15","parameters":{"id":22823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22816,"mutability":"mutable","name":"p0","nameLocation":"24227:2:15","nodeType":"VariableDeclaration","scope":22837,"src":"24219:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22815,"name":"uint256","nodeType":"ElementaryTypeName","src":"24219:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22818,"mutability":"mutable","name":"p1","nameLocation":"24245:2:15","nodeType":"VariableDeclaration","scope":22837,"src":"24231:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22817,"name":"string","nodeType":"ElementaryTypeName","src":"24231:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22820,"mutability":"mutable","name":"p2","nameLocation":"24263:2:15","nodeType":"VariableDeclaration","scope":22837,"src":"24249:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22819,"name":"string","nodeType":"ElementaryTypeName","src":"24249:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22822,"mutability":"mutable","name":"p3","nameLocation":"24272:2:15","nodeType":"VariableDeclaration","scope":22837,"src":"24267:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22821,"name":"bool","nodeType":"ElementaryTypeName","src":"24267:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24218:57:15"},"returnParameters":{"id":22824,"nodeType":"ParameterList","parameters":[],"src":"24290:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22860,"nodeType":"FunctionDefinition","src":"24404:198:15","nodes":[],"body":{"id":22859,"nodeType":"Block","src":"24491:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329","id":22851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24541:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},"value":"log(uint256,string,string,address)"},{"id":22852,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22839,"src":"24579:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22853,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22841,"src":"24583:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22854,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22843,"src":"24587:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22855,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22845,"src":"24591:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22849,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24517:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24517:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24517:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22848,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24501:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24501:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22858,"nodeType":"ExpressionStatement","src":"24501:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24413:3:15","parameters":{"id":22846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22839,"mutability":"mutable","name":"p0","nameLocation":"24425:2:15","nodeType":"VariableDeclaration","scope":22860,"src":"24417:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22838,"name":"uint256","nodeType":"ElementaryTypeName","src":"24417:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22841,"mutability":"mutable","name":"p1","nameLocation":"24443:2:15","nodeType":"VariableDeclaration","scope":22860,"src":"24429:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22840,"name":"string","nodeType":"ElementaryTypeName","src":"24429:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22843,"mutability":"mutable","name":"p2","nameLocation":"24461:2:15","nodeType":"VariableDeclaration","scope":22860,"src":"24447:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22842,"name":"string","nodeType":"ElementaryTypeName","src":"24447:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22845,"mutability":"mutable","name":"p3","nameLocation":"24473:2:15","nodeType":"VariableDeclaration","scope":22860,"src":"24465:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22844,"name":"address","nodeType":"ElementaryTypeName","src":"24465:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24416:60:15"},"returnParameters":{"id":22847,"nodeType":"ParameterList","parameters":[],"src":"24491:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22883,"nodeType":"FunctionDefinition","src":"24608:187:15","nodes":[],"body":{"id":22882,"nodeType":"Block","src":"24686:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629","id":22874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24736:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},"value":"log(uint256,string,bool,uint256)"},{"id":22875,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22862,"src":"24772:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22876,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22864,"src":"24776:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22877,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22866,"src":"24780:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22878,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22868,"src":"24784:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22872,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24712:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24712:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24712:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22871,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24696:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24696:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22881,"nodeType":"ExpressionStatement","src":"24696:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24617:3:15","parameters":{"id":22869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22862,"mutability":"mutable","name":"p0","nameLocation":"24629:2:15","nodeType":"VariableDeclaration","scope":22883,"src":"24621:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22861,"name":"uint256","nodeType":"ElementaryTypeName","src":"24621:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22864,"mutability":"mutable","name":"p1","nameLocation":"24647:2:15","nodeType":"VariableDeclaration","scope":22883,"src":"24633:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22863,"name":"string","nodeType":"ElementaryTypeName","src":"24633:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22866,"mutability":"mutable","name":"p2","nameLocation":"24656:2:15","nodeType":"VariableDeclaration","scope":22883,"src":"24651:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22865,"name":"bool","nodeType":"ElementaryTypeName","src":"24651:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22868,"mutability":"mutable","name":"p3","nameLocation":"24668:2:15","nodeType":"VariableDeclaration","scope":22883,"src":"24660:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22867,"name":"uint256","nodeType":"ElementaryTypeName","src":"24660:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24620:51:15"},"returnParameters":{"id":22870,"nodeType":"ParameterList","parameters":[],"src":"24686:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22906,"nodeType":"FunctionDefinition","src":"24801:192:15","nodes":[],"body":{"id":22905,"nodeType":"Block","src":"24885:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729","id":22897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24935:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},"value":"log(uint256,string,bool,string)"},{"id":22898,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22885,"src":"24970:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22899,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22887,"src":"24974:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22900,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22889,"src":"24978:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22901,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22891,"src":"24982:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22895,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24911:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24911:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24911:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22894,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24895:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24895:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22904,"nodeType":"ExpressionStatement","src":"24895:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24810:3:15","parameters":{"id":22892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22885,"mutability":"mutable","name":"p0","nameLocation":"24822:2:15","nodeType":"VariableDeclaration","scope":22906,"src":"24814:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22884,"name":"uint256","nodeType":"ElementaryTypeName","src":"24814:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22887,"mutability":"mutable","name":"p1","nameLocation":"24840:2:15","nodeType":"VariableDeclaration","scope":22906,"src":"24826:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22886,"name":"string","nodeType":"ElementaryTypeName","src":"24826:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22889,"mutability":"mutable","name":"p2","nameLocation":"24849:2:15","nodeType":"VariableDeclaration","scope":22906,"src":"24844:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22888,"name":"bool","nodeType":"ElementaryTypeName","src":"24844:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22891,"mutability":"mutable","name":"p3","nameLocation":"24867:2:15","nodeType":"VariableDeclaration","scope":22906,"src":"24853:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22890,"name":"string","nodeType":"ElementaryTypeName","src":"24853:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24813:57:15"},"returnParameters":{"id":22893,"nodeType":"ParameterList","parameters":[],"src":"24885:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22929,"nodeType":"FunctionDefinition","src":"24999:181:15","nodes":[],"body":{"id":22928,"nodeType":"Block","src":"25074:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29","id":22920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25124:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},"value":"log(uint256,string,bool,bool)"},{"id":22921,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22908,"src":"25157:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22922,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22910,"src":"25161:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22923,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22912,"src":"25165:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22924,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22914,"src":"25169:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22918,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25100:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25100:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25100:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22917,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25084:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25084:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22927,"nodeType":"ExpressionStatement","src":"25084:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25008:3:15","parameters":{"id":22915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22908,"mutability":"mutable","name":"p0","nameLocation":"25020:2:15","nodeType":"VariableDeclaration","scope":22929,"src":"25012:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22907,"name":"uint256","nodeType":"ElementaryTypeName","src":"25012:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22910,"mutability":"mutable","name":"p1","nameLocation":"25038:2:15","nodeType":"VariableDeclaration","scope":22929,"src":"25024:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22909,"name":"string","nodeType":"ElementaryTypeName","src":"25024:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22912,"mutability":"mutable","name":"p2","nameLocation":"25047:2:15","nodeType":"VariableDeclaration","scope":22929,"src":"25042:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22911,"name":"bool","nodeType":"ElementaryTypeName","src":"25042:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22914,"mutability":"mutable","name":"p3","nameLocation":"25056:2:15","nodeType":"VariableDeclaration","scope":22929,"src":"25051:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22913,"name":"bool","nodeType":"ElementaryTypeName","src":"25051:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25011:48:15"},"returnParameters":{"id":22916,"nodeType":"ParameterList","parameters":[],"src":"25074:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22952,"nodeType":"FunctionDefinition","src":"25186:187:15","nodes":[],"body":{"id":22951,"nodeType":"Block","src":"25264:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329","id":22943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25314:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},"value":"log(uint256,string,bool,address)"},{"id":22944,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22931,"src":"25350:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22945,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22933,"src":"25354:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22946,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22935,"src":"25358:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22947,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22937,"src":"25362:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22941,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25290:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25290:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25290:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22940,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25274:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25274:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22950,"nodeType":"ExpressionStatement","src":"25274:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25195:3:15","parameters":{"id":22938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22931,"mutability":"mutable","name":"p0","nameLocation":"25207:2:15","nodeType":"VariableDeclaration","scope":22952,"src":"25199:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22930,"name":"uint256","nodeType":"ElementaryTypeName","src":"25199:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22933,"mutability":"mutable","name":"p1","nameLocation":"25225:2:15","nodeType":"VariableDeclaration","scope":22952,"src":"25211:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22932,"name":"string","nodeType":"ElementaryTypeName","src":"25211:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22935,"mutability":"mutable","name":"p2","nameLocation":"25234:2:15","nodeType":"VariableDeclaration","scope":22952,"src":"25229:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22934,"name":"bool","nodeType":"ElementaryTypeName","src":"25229:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22937,"mutability":"mutable","name":"p3","nameLocation":"25246:2:15","nodeType":"VariableDeclaration","scope":22952,"src":"25238:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22936,"name":"address","nodeType":"ElementaryTypeName","src":"25238:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25198:51:15"},"returnParameters":{"id":22939,"nodeType":"ParameterList","parameters":[],"src":"25264:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22975,"nodeType":"FunctionDefinition","src":"25379:193:15","nodes":[],"body":{"id":22974,"nodeType":"Block","src":"25460:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629","id":22966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25510:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},"value":"log(uint256,string,address,uint256)"},{"id":22967,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22954,"src":"25549:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22968,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22956,"src":"25553:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22969,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22958,"src":"25557:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22970,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22960,"src":"25561:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22964,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25486:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25486:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25486:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22963,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25470:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25470:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22973,"nodeType":"ExpressionStatement","src":"25470:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25388:3:15","parameters":{"id":22961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22954,"mutability":"mutable","name":"p0","nameLocation":"25400:2:15","nodeType":"VariableDeclaration","scope":22975,"src":"25392:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22953,"name":"uint256","nodeType":"ElementaryTypeName","src":"25392:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22956,"mutability":"mutable","name":"p1","nameLocation":"25418:2:15","nodeType":"VariableDeclaration","scope":22975,"src":"25404:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22955,"name":"string","nodeType":"ElementaryTypeName","src":"25404:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22958,"mutability":"mutable","name":"p2","nameLocation":"25430:2:15","nodeType":"VariableDeclaration","scope":22975,"src":"25422:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22957,"name":"address","nodeType":"ElementaryTypeName","src":"25422:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22960,"mutability":"mutable","name":"p3","nameLocation":"25442:2:15","nodeType":"VariableDeclaration","scope":22975,"src":"25434:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22959,"name":"uint256","nodeType":"ElementaryTypeName","src":"25434:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25391:54:15"},"returnParameters":{"id":22962,"nodeType":"ParameterList","parameters":[],"src":"25460:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22998,"nodeType":"FunctionDefinition","src":"25578:198:15","nodes":[],"body":{"id":22997,"nodeType":"Block","src":"25665:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729","id":22989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25715:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},"value":"log(uint256,string,address,string)"},{"id":22990,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22977,"src":"25753:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22991,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22979,"src":"25757:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22992,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22981,"src":"25761:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22993,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22983,"src":"25765:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22987,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25691:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25691:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25691:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22986,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25675:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25675:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22996,"nodeType":"ExpressionStatement","src":"25675:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25587:3:15","parameters":{"id":22984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22977,"mutability":"mutable","name":"p0","nameLocation":"25599:2:15","nodeType":"VariableDeclaration","scope":22998,"src":"25591:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22976,"name":"uint256","nodeType":"ElementaryTypeName","src":"25591:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22979,"mutability":"mutable","name":"p1","nameLocation":"25617:2:15","nodeType":"VariableDeclaration","scope":22998,"src":"25603:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22978,"name":"string","nodeType":"ElementaryTypeName","src":"25603:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22981,"mutability":"mutable","name":"p2","nameLocation":"25629:2:15","nodeType":"VariableDeclaration","scope":22998,"src":"25621:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22980,"name":"address","nodeType":"ElementaryTypeName","src":"25621:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22983,"mutability":"mutable","name":"p3","nameLocation":"25647:2:15","nodeType":"VariableDeclaration","scope":22998,"src":"25633:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22982,"name":"string","nodeType":"ElementaryTypeName","src":"25633:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25590:60:15"},"returnParameters":{"id":22985,"nodeType":"ParameterList","parameters":[],"src":"25665:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23021,"nodeType":"FunctionDefinition","src":"25782:187:15","nodes":[],"body":{"id":23020,"nodeType":"Block","src":"25860:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29","id":23012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25910:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},"value":"log(uint256,string,address,bool)"},{"id":23013,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23000,"src":"25946:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23014,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23002,"src":"25950:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23015,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23004,"src":"25954:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23016,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23006,"src":"25958:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23010,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25886:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25886:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25886:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23009,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25870:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25870:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23019,"nodeType":"ExpressionStatement","src":"25870:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25791:3:15","parameters":{"id":23007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23000,"mutability":"mutable","name":"p0","nameLocation":"25803:2:15","nodeType":"VariableDeclaration","scope":23021,"src":"25795:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22999,"name":"uint256","nodeType":"ElementaryTypeName","src":"25795:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23002,"mutability":"mutable","name":"p1","nameLocation":"25821:2:15","nodeType":"VariableDeclaration","scope":23021,"src":"25807:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23001,"name":"string","nodeType":"ElementaryTypeName","src":"25807:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23004,"mutability":"mutable","name":"p2","nameLocation":"25833:2:15","nodeType":"VariableDeclaration","scope":23021,"src":"25825:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23003,"name":"address","nodeType":"ElementaryTypeName","src":"25825:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23006,"mutability":"mutable","name":"p3","nameLocation":"25842:2:15","nodeType":"VariableDeclaration","scope":23021,"src":"25837:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23005,"name":"bool","nodeType":"ElementaryTypeName","src":"25837:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25794:51:15"},"returnParameters":{"id":23008,"nodeType":"ParameterList","parameters":[],"src":"25860:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23044,"nodeType":"FunctionDefinition","src":"25975:193:15","nodes":[],"body":{"id":23043,"nodeType":"Block","src":"26056:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329","id":23035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26106:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},"value":"log(uint256,string,address,address)"},{"id":23036,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23023,"src":"26145:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23037,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23025,"src":"26149:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23038,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23027,"src":"26153:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23039,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23029,"src":"26157:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26082:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26082:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26082:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23032,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26066:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26066:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23042,"nodeType":"ExpressionStatement","src":"26066:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25984:3:15","parameters":{"id":23030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23023,"mutability":"mutable","name":"p0","nameLocation":"25996:2:15","nodeType":"VariableDeclaration","scope":23044,"src":"25988:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23022,"name":"uint256","nodeType":"ElementaryTypeName","src":"25988:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23025,"mutability":"mutable","name":"p1","nameLocation":"26014:2:15","nodeType":"VariableDeclaration","scope":23044,"src":"26000:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23024,"name":"string","nodeType":"ElementaryTypeName","src":"26000:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23027,"mutability":"mutable","name":"p2","nameLocation":"26026:2:15","nodeType":"VariableDeclaration","scope":23044,"src":"26018:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23026,"name":"address","nodeType":"ElementaryTypeName","src":"26018:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23029,"mutability":"mutable","name":"p3","nameLocation":"26038:2:15","nodeType":"VariableDeclaration","scope":23044,"src":"26030:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23028,"name":"address","nodeType":"ElementaryTypeName","src":"26030:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25987:54:15"},"returnParameters":{"id":23031,"nodeType":"ParameterList","parameters":[],"src":"26056:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23067,"nodeType":"FunctionDefinition","src":"26174:182:15","nodes":[],"body":{"id":23066,"nodeType":"Block","src":"26246:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629","id":23058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26296:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},"value":"log(uint256,bool,uint256,uint256)"},{"id":23059,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23046,"src":"26333:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23060,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23048,"src":"26337:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23061,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23050,"src":"26341:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23062,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23052,"src":"26345:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23056,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26272:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26272:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26272:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26256:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26256:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23065,"nodeType":"ExpressionStatement","src":"26256:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26183:3:15","parameters":{"id":23053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23046,"mutability":"mutable","name":"p0","nameLocation":"26195:2:15","nodeType":"VariableDeclaration","scope":23067,"src":"26187:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23045,"name":"uint256","nodeType":"ElementaryTypeName","src":"26187:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23048,"mutability":"mutable","name":"p1","nameLocation":"26204:2:15","nodeType":"VariableDeclaration","scope":23067,"src":"26199:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23047,"name":"bool","nodeType":"ElementaryTypeName","src":"26199:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23050,"mutability":"mutable","name":"p2","nameLocation":"26216:2:15","nodeType":"VariableDeclaration","scope":23067,"src":"26208:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23049,"name":"uint256","nodeType":"ElementaryTypeName","src":"26208:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23052,"mutability":"mutable","name":"p3","nameLocation":"26228:2:15","nodeType":"VariableDeclaration","scope":23067,"src":"26220:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23051,"name":"uint256","nodeType":"ElementaryTypeName","src":"26220:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26186:45:15"},"returnParameters":{"id":23054,"nodeType":"ParameterList","parameters":[],"src":"26246:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23090,"nodeType":"FunctionDefinition","src":"26362:187:15","nodes":[],"body":{"id":23089,"nodeType":"Block","src":"26440:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729","id":23081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26490:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},"value":"log(uint256,bool,uint256,string)"},{"id":23082,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23069,"src":"26526:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23083,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23071,"src":"26530:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23084,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23073,"src":"26534:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23085,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23075,"src":"26538:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26466:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26466:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26466:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23078,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26450:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26450:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23088,"nodeType":"ExpressionStatement","src":"26450:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26371:3:15","parameters":{"id":23076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23069,"mutability":"mutable","name":"p0","nameLocation":"26383:2:15","nodeType":"VariableDeclaration","scope":23090,"src":"26375:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23068,"name":"uint256","nodeType":"ElementaryTypeName","src":"26375:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23071,"mutability":"mutable","name":"p1","nameLocation":"26392:2:15","nodeType":"VariableDeclaration","scope":23090,"src":"26387:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23070,"name":"bool","nodeType":"ElementaryTypeName","src":"26387:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23073,"mutability":"mutable","name":"p2","nameLocation":"26404:2:15","nodeType":"VariableDeclaration","scope":23090,"src":"26396:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23072,"name":"uint256","nodeType":"ElementaryTypeName","src":"26396:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23075,"mutability":"mutable","name":"p3","nameLocation":"26422:2:15","nodeType":"VariableDeclaration","scope":23090,"src":"26408:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23074,"name":"string","nodeType":"ElementaryTypeName","src":"26408:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26374:51:15"},"returnParameters":{"id":23077,"nodeType":"ParameterList","parameters":[],"src":"26440:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23113,"nodeType":"FunctionDefinition","src":"26555:176:15","nodes":[],"body":{"id":23112,"nodeType":"Block","src":"26624:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29","id":23104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26674:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},"value":"log(uint256,bool,uint256,bool)"},{"id":23105,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23092,"src":"26708:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23106,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23094,"src":"26712:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23107,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23096,"src":"26716:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23108,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23098,"src":"26720:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26650:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26650:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26650:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23101,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26634:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26634:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23111,"nodeType":"ExpressionStatement","src":"26634:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26564:3:15","parameters":{"id":23099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23092,"mutability":"mutable","name":"p0","nameLocation":"26576:2:15","nodeType":"VariableDeclaration","scope":23113,"src":"26568:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23091,"name":"uint256","nodeType":"ElementaryTypeName","src":"26568:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23094,"mutability":"mutable","name":"p1","nameLocation":"26585:2:15","nodeType":"VariableDeclaration","scope":23113,"src":"26580:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23093,"name":"bool","nodeType":"ElementaryTypeName","src":"26580:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23096,"mutability":"mutable","name":"p2","nameLocation":"26597:2:15","nodeType":"VariableDeclaration","scope":23113,"src":"26589:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23095,"name":"uint256","nodeType":"ElementaryTypeName","src":"26589:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23098,"mutability":"mutable","name":"p3","nameLocation":"26606:2:15","nodeType":"VariableDeclaration","scope":23113,"src":"26601:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23097,"name":"bool","nodeType":"ElementaryTypeName","src":"26601:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26567:42:15"},"returnParameters":{"id":23100,"nodeType":"ParameterList","parameters":[],"src":"26624:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23136,"nodeType":"FunctionDefinition","src":"26737:182:15","nodes":[],"body":{"id":23135,"nodeType":"Block","src":"26809:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329","id":23127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26859:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},"value":"log(uint256,bool,uint256,address)"},{"id":23128,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23115,"src":"26896:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23129,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23117,"src":"26900:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23130,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23119,"src":"26904:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23131,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23121,"src":"26908:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26835:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26835:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26835:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23124,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26819:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26819:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23134,"nodeType":"ExpressionStatement","src":"26819:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26746:3:15","parameters":{"id":23122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23115,"mutability":"mutable","name":"p0","nameLocation":"26758:2:15","nodeType":"VariableDeclaration","scope":23136,"src":"26750:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23114,"name":"uint256","nodeType":"ElementaryTypeName","src":"26750:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23117,"mutability":"mutable","name":"p1","nameLocation":"26767:2:15","nodeType":"VariableDeclaration","scope":23136,"src":"26762:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23116,"name":"bool","nodeType":"ElementaryTypeName","src":"26762:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23119,"mutability":"mutable","name":"p2","nameLocation":"26779:2:15","nodeType":"VariableDeclaration","scope":23136,"src":"26771:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23118,"name":"uint256","nodeType":"ElementaryTypeName","src":"26771:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23121,"mutability":"mutable","name":"p3","nameLocation":"26791:2:15","nodeType":"VariableDeclaration","scope":23136,"src":"26783:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23120,"name":"address","nodeType":"ElementaryTypeName","src":"26783:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26749:45:15"},"returnParameters":{"id":23123,"nodeType":"ParameterList","parameters":[],"src":"26809:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23159,"nodeType":"FunctionDefinition","src":"26925:187:15","nodes":[],"body":{"id":23158,"nodeType":"Block","src":"27003:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629","id":23150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27053:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},"value":"log(uint256,bool,string,uint256)"},{"id":23151,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23138,"src":"27089:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23152,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23140,"src":"27093:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23153,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23142,"src":"27097:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23154,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23144,"src":"27101:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27029:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27029:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27029:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27013:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27013:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23157,"nodeType":"ExpressionStatement","src":"27013:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26934:3:15","parameters":{"id":23145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23138,"mutability":"mutable","name":"p0","nameLocation":"26946:2:15","nodeType":"VariableDeclaration","scope":23159,"src":"26938:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23137,"name":"uint256","nodeType":"ElementaryTypeName","src":"26938:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23140,"mutability":"mutable","name":"p1","nameLocation":"26955:2:15","nodeType":"VariableDeclaration","scope":23159,"src":"26950:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23139,"name":"bool","nodeType":"ElementaryTypeName","src":"26950:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23142,"mutability":"mutable","name":"p2","nameLocation":"26973:2:15","nodeType":"VariableDeclaration","scope":23159,"src":"26959:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23141,"name":"string","nodeType":"ElementaryTypeName","src":"26959:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23144,"mutability":"mutable","name":"p3","nameLocation":"26985:2:15","nodeType":"VariableDeclaration","scope":23159,"src":"26977:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23143,"name":"uint256","nodeType":"ElementaryTypeName","src":"26977:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26937:51:15"},"returnParameters":{"id":23146,"nodeType":"ParameterList","parameters":[],"src":"27003:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23182,"nodeType":"FunctionDefinition","src":"27118:192:15","nodes":[],"body":{"id":23181,"nodeType":"Block","src":"27202:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729","id":23173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27252:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},"value":"log(uint256,bool,string,string)"},{"id":23174,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23161,"src":"27287:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23175,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23163,"src":"27291:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23176,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23165,"src":"27295:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23177,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23167,"src":"27299:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27228:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27228:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27228:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23170,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27212:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27212:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23180,"nodeType":"ExpressionStatement","src":"27212:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27127:3:15","parameters":{"id":23168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23161,"mutability":"mutable","name":"p0","nameLocation":"27139:2:15","nodeType":"VariableDeclaration","scope":23182,"src":"27131:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23160,"name":"uint256","nodeType":"ElementaryTypeName","src":"27131:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23163,"mutability":"mutable","name":"p1","nameLocation":"27148:2:15","nodeType":"VariableDeclaration","scope":23182,"src":"27143:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23162,"name":"bool","nodeType":"ElementaryTypeName","src":"27143:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23165,"mutability":"mutable","name":"p2","nameLocation":"27166:2:15","nodeType":"VariableDeclaration","scope":23182,"src":"27152:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23164,"name":"string","nodeType":"ElementaryTypeName","src":"27152:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23167,"mutability":"mutable","name":"p3","nameLocation":"27184:2:15","nodeType":"VariableDeclaration","scope":23182,"src":"27170:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23166,"name":"string","nodeType":"ElementaryTypeName","src":"27170:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27130:57:15"},"returnParameters":{"id":23169,"nodeType":"ParameterList","parameters":[],"src":"27202:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23205,"nodeType":"FunctionDefinition","src":"27316:181:15","nodes":[],"body":{"id":23204,"nodeType":"Block","src":"27391:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29","id":23196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27441:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},"value":"log(uint256,bool,string,bool)"},{"id":23197,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23184,"src":"27474:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23198,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23186,"src":"27478:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23199,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23188,"src":"27482:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23200,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23190,"src":"27486:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23194,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27417:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27417:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27417:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23193,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27401:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27401:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23203,"nodeType":"ExpressionStatement","src":"27401:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27325:3:15","parameters":{"id":23191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23184,"mutability":"mutable","name":"p0","nameLocation":"27337:2:15","nodeType":"VariableDeclaration","scope":23205,"src":"27329:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23183,"name":"uint256","nodeType":"ElementaryTypeName","src":"27329:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23186,"mutability":"mutable","name":"p1","nameLocation":"27346:2:15","nodeType":"VariableDeclaration","scope":23205,"src":"27341:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23185,"name":"bool","nodeType":"ElementaryTypeName","src":"27341:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23188,"mutability":"mutable","name":"p2","nameLocation":"27364:2:15","nodeType":"VariableDeclaration","scope":23205,"src":"27350:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23187,"name":"string","nodeType":"ElementaryTypeName","src":"27350:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23190,"mutability":"mutable","name":"p3","nameLocation":"27373:2:15","nodeType":"VariableDeclaration","scope":23205,"src":"27368:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23189,"name":"bool","nodeType":"ElementaryTypeName","src":"27368:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27328:48:15"},"returnParameters":{"id":23192,"nodeType":"ParameterList","parameters":[],"src":"27391:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23228,"nodeType":"FunctionDefinition","src":"27503:187:15","nodes":[],"body":{"id":23227,"nodeType":"Block","src":"27581:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329","id":23219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27631:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},"value":"log(uint256,bool,string,address)"},{"id":23220,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23207,"src":"27667:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23221,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23209,"src":"27671:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23222,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23211,"src":"27675:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23223,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23213,"src":"27679:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27607:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27607:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27607:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23216,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27591:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27591:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23226,"nodeType":"ExpressionStatement","src":"27591:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27512:3:15","parameters":{"id":23214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23207,"mutability":"mutable","name":"p0","nameLocation":"27524:2:15","nodeType":"VariableDeclaration","scope":23228,"src":"27516:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23206,"name":"uint256","nodeType":"ElementaryTypeName","src":"27516:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23209,"mutability":"mutable","name":"p1","nameLocation":"27533:2:15","nodeType":"VariableDeclaration","scope":23228,"src":"27528:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23208,"name":"bool","nodeType":"ElementaryTypeName","src":"27528:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23211,"mutability":"mutable","name":"p2","nameLocation":"27551:2:15","nodeType":"VariableDeclaration","scope":23228,"src":"27537:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23210,"name":"string","nodeType":"ElementaryTypeName","src":"27537:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23213,"mutability":"mutable","name":"p3","nameLocation":"27563:2:15","nodeType":"VariableDeclaration","scope":23228,"src":"27555:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23212,"name":"address","nodeType":"ElementaryTypeName","src":"27555:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27515:51:15"},"returnParameters":{"id":23215,"nodeType":"ParameterList","parameters":[],"src":"27581:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23251,"nodeType":"FunctionDefinition","src":"27696:176:15","nodes":[],"body":{"id":23250,"nodeType":"Block","src":"27765:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629","id":23242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27815:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},"value":"log(uint256,bool,bool,uint256)"},{"id":23243,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23230,"src":"27849:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23244,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23232,"src":"27853:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23245,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23234,"src":"27857:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23246,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23236,"src":"27861:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23240,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27791:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27791:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27791:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23239,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27775:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27775:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23249,"nodeType":"ExpressionStatement","src":"27775:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27705:3:15","parameters":{"id":23237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23230,"mutability":"mutable","name":"p0","nameLocation":"27717:2:15","nodeType":"VariableDeclaration","scope":23251,"src":"27709:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23229,"name":"uint256","nodeType":"ElementaryTypeName","src":"27709:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23232,"mutability":"mutable","name":"p1","nameLocation":"27726:2:15","nodeType":"VariableDeclaration","scope":23251,"src":"27721:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23231,"name":"bool","nodeType":"ElementaryTypeName","src":"27721:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23234,"mutability":"mutable","name":"p2","nameLocation":"27735:2:15","nodeType":"VariableDeclaration","scope":23251,"src":"27730:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23233,"name":"bool","nodeType":"ElementaryTypeName","src":"27730:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23236,"mutability":"mutable","name":"p3","nameLocation":"27747:2:15","nodeType":"VariableDeclaration","scope":23251,"src":"27739:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23235,"name":"uint256","nodeType":"ElementaryTypeName","src":"27739:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27708:42:15"},"returnParameters":{"id":23238,"nodeType":"ParameterList","parameters":[],"src":"27765:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23274,"nodeType":"FunctionDefinition","src":"27878:181:15","nodes":[],"body":{"id":23273,"nodeType":"Block","src":"27953:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729","id":23265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28003:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},"value":"log(uint256,bool,bool,string)"},{"id":23266,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23253,"src":"28036:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23267,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23255,"src":"28040:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23268,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23257,"src":"28044:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23269,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23259,"src":"28048:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23263,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27979:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27979:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27979:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23262,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27963:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27963:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23272,"nodeType":"ExpressionStatement","src":"27963:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27887:3:15","parameters":{"id":23260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23253,"mutability":"mutable","name":"p0","nameLocation":"27899:2:15","nodeType":"VariableDeclaration","scope":23274,"src":"27891:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23252,"name":"uint256","nodeType":"ElementaryTypeName","src":"27891:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23255,"mutability":"mutable","name":"p1","nameLocation":"27908:2:15","nodeType":"VariableDeclaration","scope":23274,"src":"27903:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23254,"name":"bool","nodeType":"ElementaryTypeName","src":"27903:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23257,"mutability":"mutable","name":"p2","nameLocation":"27917:2:15","nodeType":"VariableDeclaration","scope":23274,"src":"27912:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23256,"name":"bool","nodeType":"ElementaryTypeName","src":"27912:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23259,"mutability":"mutable","name":"p3","nameLocation":"27935:2:15","nodeType":"VariableDeclaration","scope":23274,"src":"27921:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23258,"name":"string","nodeType":"ElementaryTypeName","src":"27921:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27890:48:15"},"returnParameters":{"id":23261,"nodeType":"ParameterList","parameters":[],"src":"27953:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23297,"nodeType":"FunctionDefinition","src":"28065:170:15","nodes":[],"body":{"id":23296,"nodeType":"Block","src":"28131:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29","id":23288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28181:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},"value":"log(uint256,bool,bool,bool)"},{"id":23289,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"28212:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23290,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23278,"src":"28216:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23291,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23280,"src":"28220:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23292,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23282,"src":"28224:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23286,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28157:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28157:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28157:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23285,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28141:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28141:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23295,"nodeType":"ExpressionStatement","src":"28141:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28074:3:15","parameters":{"id":23283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23276,"mutability":"mutable","name":"p0","nameLocation":"28086:2:15","nodeType":"VariableDeclaration","scope":23297,"src":"28078:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23275,"name":"uint256","nodeType":"ElementaryTypeName","src":"28078:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23278,"mutability":"mutable","name":"p1","nameLocation":"28095:2:15","nodeType":"VariableDeclaration","scope":23297,"src":"28090:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23277,"name":"bool","nodeType":"ElementaryTypeName","src":"28090:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23280,"mutability":"mutable","name":"p2","nameLocation":"28104:2:15","nodeType":"VariableDeclaration","scope":23297,"src":"28099:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23279,"name":"bool","nodeType":"ElementaryTypeName","src":"28099:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23282,"mutability":"mutable","name":"p3","nameLocation":"28113:2:15","nodeType":"VariableDeclaration","scope":23297,"src":"28108:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23281,"name":"bool","nodeType":"ElementaryTypeName","src":"28108:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28077:39:15"},"returnParameters":{"id":23284,"nodeType":"ParameterList","parameters":[],"src":"28131:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23320,"nodeType":"FunctionDefinition","src":"28241:176:15","nodes":[],"body":{"id":23319,"nodeType":"Block","src":"28310:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329","id":23311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28360:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},"value":"log(uint256,bool,bool,address)"},{"id":23312,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23299,"src":"28394:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23313,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"28398:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23314,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23303,"src":"28402:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23315,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23305,"src":"28406:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23309,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28336:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28336:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28336:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23308,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28320:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28320:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23318,"nodeType":"ExpressionStatement","src":"28320:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28250:3:15","parameters":{"id":23306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23299,"mutability":"mutable","name":"p0","nameLocation":"28262:2:15","nodeType":"VariableDeclaration","scope":23320,"src":"28254:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23298,"name":"uint256","nodeType":"ElementaryTypeName","src":"28254:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23301,"mutability":"mutable","name":"p1","nameLocation":"28271:2:15","nodeType":"VariableDeclaration","scope":23320,"src":"28266:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23300,"name":"bool","nodeType":"ElementaryTypeName","src":"28266:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23303,"mutability":"mutable","name":"p2","nameLocation":"28280:2:15","nodeType":"VariableDeclaration","scope":23320,"src":"28275:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23302,"name":"bool","nodeType":"ElementaryTypeName","src":"28275:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23305,"mutability":"mutable","name":"p3","nameLocation":"28292:2:15","nodeType":"VariableDeclaration","scope":23320,"src":"28284:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23304,"name":"address","nodeType":"ElementaryTypeName","src":"28284:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28253:42:15"},"returnParameters":{"id":23307,"nodeType":"ParameterList","parameters":[],"src":"28310:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23343,"nodeType":"FunctionDefinition","src":"28423:182:15","nodes":[],"body":{"id":23342,"nodeType":"Block","src":"28495:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629","id":23334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28545:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},"value":"log(uint256,bool,address,uint256)"},{"id":23335,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23322,"src":"28582:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23336,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23324,"src":"28586:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23337,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23326,"src":"28590:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23338,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23328,"src":"28594:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23332,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28521:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28521:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28521:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23331,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28505:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28505:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23341,"nodeType":"ExpressionStatement","src":"28505:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28432:3:15","parameters":{"id":23329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23322,"mutability":"mutable","name":"p0","nameLocation":"28444:2:15","nodeType":"VariableDeclaration","scope":23343,"src":"28436:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23321,"name":"uint256","nodeType":"ElementaryTypeName","src":"28436:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23324,"mutability":"mutable","name":"p1","nameLocation":"28453:2:15","nodeType":"VariableDeclaration","scope":23343,"src":"28448:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23323,"name":"bool","nodeType":"ElementaryTypeName","src":"28448:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23326,"mutability":"mutable","name":"p2","nameLocation":"28465:2:15","nodeType":"VariableDeclaration","scope":23343,"src":"28457:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23325,"name":"address","nodeType":"ElementaryTypeName","src":"28457:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23328,"mutability":"mutable","name":"p3","nameLocation":"28477:2:15","nodeType":"VariableDeclaration","scope":23343,"src":"28469:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23327,"name":"uint256","nodeType":"ElementaryTypeName","src":"28469:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28435:45:15"},"returnParameters":{"id":23330,"nodeType":"ParameterList","parameters":[],"src":"28495:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23366,"nodeType":"FunctionDefinition","src":"28611:187:15","nodes":[],"body":{"id":23365,"nodeType":"Block","src":"28689:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729","id":23357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28739:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},"value":"log(uint256,bool,address,string)"},{"id":23358,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23345,"src":"28775:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23359,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23347,"src":"28779:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23360,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23349,"src":"28783:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23361,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23351,"src":"28787:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23355,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28715:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28715:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28715:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23354,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28699:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28699:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23364,"nodeType":"ExpressionStatement","src":"28699:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28620:3:15","parameters":{"id":23352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23345,"mutability":"mutable","name":"p0","nameLocation":"28632:2:15","nodeType":"VariableDeclaration","scope":23366,"src":"28624:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23344,"name":"uint256","nodeType":"ElementaryTypeName","src":"28624:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23347,"mutability":"mutable","name":"p1","nameLocation":"28641:2:15","nodeType":"VariableDeclaration","scope":23366,"src":"28636:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23346,"name":"bool","nodeType":"ElementaryTypeName","src":"28636:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23349,"mutability":"mutable","name":"p2","nameLocation":"28653:2:15","nodeType":"VariableDeclaration","scope":23366,"src":"28645:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23348,"name":"address","nodeType":"ElementaryTypeName","src":"28645:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23351,"mutability":"mutable","name":"p3","nameLocation":"28671:2:15","nodeType":"VariableDeclaration","scope":23366,"src":"28657:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23350,"name":"string","nodeType":"ElementaryTypeName","src":"28657:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28623:51:15"},"returnParameters":{"id":23353,"nodeType":"ParameterList","parameters":[],"src":"28689:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23389,"nodeType":"FunctionDefinition","src":"28804:176:15","nodes":[],"body":{"id":23388,"nodeType":"Block","src":"28873:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29","id":23380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28923:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},"value":"log(uint256,bool,address,bool)"},{"id":23381,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23368,"src":"28957:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23382,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23370,"src":"28961:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23383,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23372,"src":"28965:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23384,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23374,"src":"28969:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28899:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28899:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28899:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28883:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28883:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23387,"nodeType":"ExpressionStatement","src":"28883:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28813:3:15","parameters":{"id":23375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23368,"mutability":"mutable","name":"p0","nameLocation":"28825:2:15","nodeType":"VariableDeclaration","scope":23389,"src":"28817:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23367,"name":"uint256","nodeType":"ElementaryTypeName","src":"28817:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23370,"mutability":"mutable","name":"p1","nameLocation":"28834:2:15","nodeType":"VariableDeclaration","scope":23389,"src":"28829:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23369,"name":"bool","nodeType":"ElementaryTypeName","src":"28829:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23372,"mutability":"mutable","name":"p2","nameLocation":"28846:2:15","nodeType":"VariableDeclaration","scope":23389,"src":"28838:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23371,"name":"address","nodeType":"ElementaryTypeName","src":"28838:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23374,"mutability":"mutable","name":"p3","nameLocation":"28855:2:15","nodeType":"VariableDeclaration","scope":23389,"src":"28850:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23373,"name":"bool","nodeType":"ElementaryTypeName","src":"28850:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28816:42:15"},"returnParameters":{"id":23376,"nodeType":"ParameterList","parameters":[],"src":"28873:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23412,"nodeType":"FunctionDefinition","src":"28986:182:15","nodes":[],"body":{"id":23411,"nodeType":"Block","src":"29058:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329","id":23403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29108:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},"value":"log(uint256,bool,address,address)"},{"id":23404,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23391,"src":"29145:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23405,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23393,"src":"29149:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23406,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23395,"src":"29153:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23407,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23397,"src":"29157:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29084:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29084:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29084:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23400,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29068:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29068:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23410,"nodeType":"ExpressionStatement","src":"29068:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28995:3:15","parameters":{"id":23398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23391,"mutability":"mutable","name":"p0","nameLocation":"29007:2:15","nodeType":"VariableDeclaration","scope":23412,"src":"28999:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23390,"name":"uint256","nodeType":"ElementaryTypeName","src":"28999:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23393,"mutability":"mutable","name":"p1","nameLocation":"29016:2:15","nodeType":"VariableDeclaration","scope":23412,"src":"29011:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23392,"name":"bool","nodeType":"ElementaryTypeName","src":"29011:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23395,"mutability":"mutable","name":"p2","nameLocation":"29028:2:15","nodeType":"VariableDeclaration","scope":23412,"src":"29020:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23394,"name":"address","nodeType":"ElementaryTypeName","src":"29020:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23397,"mutability":"mutable","name":"p3","nameLocation":"29040:2:15","nodeType":"VariableDeclaration","scope":23412,"src":"29032:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23396,"name":"address","nodeType":"ElementaryTypeName","src":"29032:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28998:45:15"},"returnParameters":{"id":23399,"nodeType":"ParameterList","parameters":[],"src":"29058:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23435,"nodeType":"FunctionDefinition","src":"29174:188:15","nodes":[],"body":{"id":23434,"nodeType":"Block","src":"29249:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629","id":23426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29299:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},"value":"log(uint256,address,uint256,uint256)"},{"id":23427,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23414,"src":"29339:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23428,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23416,"src":"29343:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23429,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23418,"src":"29347:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23430,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23420,"src":"29351:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23424,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29275:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29275:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29275:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23423,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29259:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29259:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23433,"nodeType":"ExpressionStatement","src":"29259:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29183:3:15","parameters":{"id":23421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23414,"mutability":"mutable","name":"p0","nameLocation":"29195:2:15","nodeType":"VariableDeclaration","scope":23435,"src":"29187:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23413,"name":"uint256","nodeType":"ElementaryTypeName","src":"29187:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23416,"mutability":"mutable","name":"p1","nameLocation":"29207:2:15","nodeType":"VariableDeclaration","scope":23435,"src":"29199:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23415,"name":"address","nodeType":"ElementaryTypeName","src":"29199:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23418,"mutability":"mutable","name":"p2","nameLocation":"29219:2:15","nodeType":"VariableDeclaration","scope":23435,"src":"29211:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23417,"name":"uint256","nodeType":"ElementaryTypeName","src":"29211:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23420,"mutability":"mutable","name":"p3","nameLocation":"29231:2:15","nodeType":"VariableDeclaration","scope":23435,"src":"29223:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23419,"name":"uint256","nodeType":"ElementaryTypeName","src":"29223:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29186:48:15"},"returnParameters":{"id":23422,"nodeType":"ParameterList","parameters":[],"src":"29249:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23458,"nodeType":"FunctionDefinition","src":"29368:193:15","nodes":[],"body":{"id":23457,"nodeType":"Block","src":"29449:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729","id":23449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29499:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},"value":"log(uint256,address,uint256,string)"},{"id":23450,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23437,"src":"29538:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23451,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23439,"src":"29542:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23452,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23441,"src":"29546:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23453,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23443,"src":"29550:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29475:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29475:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29475:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23446,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29459:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29459:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23456,"nodeType":"ExpressionStatement","src":"29459:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29377:3:15","parameters":{"id":23444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23437,"mutability":"mutable","name":"p0","nameLocation":"29389:2:15","nodeType":"VariableDeclaration","scope":23458,"src":"29381:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23436,"name":"uint256","nodeType":"ElementaryTypeName","src":"29381:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23439,"mutability":"mutable","name":"p1","nameLocation":"29401:2:15","nodeType":"VariableDeclaration","scope":23458,"src":"29393:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23438,"name":"address","nodeType":"ElementaryTypeName","src":"29393:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23441,"mutability":"mutable","name":"p2","nameLocation":"29413:2:15","nodeType":"VariableDeclaration","scope":23458,"src":"29405:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23440,"name":"uint256","nodeType":"ElementaryTypeName","src":"29405:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23443,"mutability":"mutable","name":"p3","nameLocation":"29431:2:15","nodeType":"VariableDeclaration","scope":23458,"src":"29417:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23442,"name":"string","nodeType":"ElementaryTypeName","src":"29417:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29380:54:15"},"returnParameters":{"id":23445,"nodeType":"ParameterList","parameters":[],"src":"29449:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23481,"nodeType":"FunctionDefinition","src":"29567:182:15","nodes":[],"body":{"id":23480,"nodeType":"Block","src":"29639:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29","id":23472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29689:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},"value":"log(uint256,address,uint256,bool)"},{"id":23473,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23460,"src":"29726:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23474,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23462,"src":"29730:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23475,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23464,"src":"29734:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23476,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23466,"src":"29738:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23470,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29665:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29665:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29665:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23469,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29649:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29649:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23479,"nodeType":"ExpressionStatement","src":"29649:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29576:3:15","parameters":{"id":23467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23460,"mutability":"mutable","name":"p0","nameLocation":"29588:2:15","nodeType":"VariableDeclaration","scope":23481,"src":"29580:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23459,"name":"uint256","nodeType":"ElementaryTypeName","src":"29580:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23462,"mutability":"mutable","name":"p1","nameLocation":"29600:2:15","nodeType":"VariableDeclaration","scope":23481,"src":"29592:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23461,"name":"address","nodeType":"ElementaryTypeName","src":"29592:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23464,"mutability":"mutable","name":"p2","nameLocation":"29612:2:15","nodeType":"VariableDeclaration","scope":23481,"src":"29604:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23463,"name":"uint256","nodeType":"ElementaryTypeName","src":"29604:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23466,"mutability":"mutable","name":"p3","nameLocation":"29621:2:15","nodeType":"VariableDeclaration","scope":23481,"src":"29616:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23465,"name":"bool","nodeType":"ElementaryTypeName","src":"29616:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29579:45:15"},"returnParameters":{"id":23468,"nodeType":"ParameterList","parameters":[],"src":"29639:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23504,"nodeType":"FunctionDefinition","src":"29755:188:15","nodes":[],"body":{"id":23503,"nodeType":"Block","src":"29830:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329","id":23495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29880:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},"value":"log(uint256,address,uint256,address)"},{"id":23496,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23483,"src":"29920:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23497,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23485,"src":"29924:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23498,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23487,"src":"29928:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23499,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23489,"src":"29932:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29856:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29856:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29856:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23492,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29840:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29840:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23502,"nodeType":"ExpressionStatement","src":"29840:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29764:3:15","parameters":{"id":23490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23483,"mutability":"mutable","name":"p0","nameLocation":"29776:2:15","nodeType":"VariableDeclaration","scope":23504,"src":"29768:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23482,"name":"uint256","nodeType":"ElementaryTypeName","src":"29768:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23485,"mutability":"mutable","name":"p1","nameLocation":"29788:2:15","nodeType":"VariableDeclaration","scope":23504,"src":"29780:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23484,"name":"address","nodeType":"ElementaryTypeName","src":"29780:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23487,"mutability":"mutable","name":"p2","nameLocation":"29800:2:15","nodeType":"VariableDeclaration","scope":23504,"src":"29792:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23486,"name":"uint256","nodeType":"ElementaryTypeName","src":"29792:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23489,"mutability":"mutable","name":"p3","nameLocation":"29812:2:15","nodeType":"VariableDeclaration","scope":23504,"src":"29804:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23488,"name":"address","nodeType":"ElementaryTypeName","src":"29804:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29767:48:15"},"returnParameters":{"id":23491,"nodeType":"ParameterList","parameters":[],"src":"29830:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23527,"nodeType":"FunctionDefinition","src":"29949:193:15","nodes":[],"body":{"id":23526,"nodeType":"Block","src":"30030:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629","id":23518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30080:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},"value":"log(uint256,address,string,uint256)"},{"id":23519,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23506,"src":"30119:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23520,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23508,"src":"30123:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23521,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23510,"src":"30127:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23522,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23512,"src":"30131:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30056:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30056:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30056:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30040:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30040:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23525,"nodeType":"ExpressionStatement","src":"30040:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29958:3:15","parameters":{"id":23513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23506,"mutability":"mutable","name":"p0","nameLocation":"29970:2:15","nodeType":"VariableDeclaration","scope":23527,"src":"29962:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23505,"name":"uint256","nodeType":"ElementaryTypeName","src":"29962:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23508,"mutability":"mutable","name":"p1","nameLocation":"29982:2:15","nodeType":"VariableDeclaration","scope":23527,"src":"29974:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23507,"name":"address","nodeType":"ElementaryTypeName","src":"29974:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23510,"mutability":"mutable","name":"p2","nameLocation":"30000:2:15","nodeType":"VariableDeclaration","scope":23527,"src":"29986:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23509,"name":"string","nodeType":"ElementaryTypeName","src":"29986:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23512,"mutability":"mutable","name":"p3","nameLocation":"30012:2:15","nodeType":"VariableDeclaration","scope":23527,"src":"30004:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23511,"name":"uint256","nodeType":"ElementaryTypeName","src":"30004:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29961:54:15"},"returnParameters":{"id":23514,"nodeType":"ParameterList","parameters":[],"src":"30030:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23550,"nodeType":"FunctionDefinition","src":"30148:198:15","nodes":[],"body":{"id":23549,"nodeType":"Block","src":"30235:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729","id":23541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30285:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},"value":"log(uint256,address,string,string)"},{"id":23542,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23529,"src":"30323:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23543,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23531,"src":"30327:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23544,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23533,"src":"30331:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23545,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23535,"src":"30335:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23539,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30261:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30261:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30261:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23538,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30245:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30245:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23548,"nodeType":"ExpressionStatement","src":"30245:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30157:3:15","parameters":{"id":23536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23529,"mutability":"mutable","name":"p0","nameLocation":"30169:2:15","nodeType":"VariableDeclaration","scope":23550,"src":"30161:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23528,"name":"uint256","nodeType":"ElementaryTypeName","src":"30161:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23531,"mutability":"mutable","name":"p1","nameLocation":"30181:2:15","nodeType":"VariableDeclaration","scope":23550,"src":"30173:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23530,"name":"address","nodeType":"ElementaryTypeName","src":"30173:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23533,"mutability":"mutable","name":"p2","nameLocation":"30199:2:15","nodeType":"VariableDeclaration","scope":23550,"src":"30185:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23532,"name":"string","nodeType":"ElementaryTypeName","src":"30185:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23535,"mutability":"mutable","name":"p3","nameLocation":"30217:2:15","nodeType":"VariableDeclaration","scope":23550,"src":"30203:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23534,"name":"string","nodeType":"ElementaryTypeName","src":"30203:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30160:60:15"},"returnParameters":{"id":23537,"nodeType":"ParameterList","parameters":[],"src":"30235:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23573,"nodeType":"FunctionDefinition","src":"30352:187:15","nodes":[],"body":{"id":23572,"nodeType":"Block","src":"30430:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29","id":23564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30480:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},"value":"log(uint256,address,string,bool)"},{"id":23565,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23552,"src":"30516:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23566,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23554,"src":"30520:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23567,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23556,"src":"30524:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23568,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23558,"src":"30528:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23562,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30456:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30456:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30456:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23561,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30440:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30440:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23571,"nodeType":"ExpressionStatement","src":"30440:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30361:3:15","parameters":{"id":23559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23552,"mutability":"mutable","name":"p0","nameLocation":"30373:2:15","nodeType":"VariableDeclaration","scope":23573,"src":"30365:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23551,"name":"uint256","nodeType":"ElementaryTypeName","src":"30365:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23554,"mutability":"mutable","name":"p1","nameLocation":"30385:2:15","nodeType":"VariableDeclaration","scope":23573,"src":"30377:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23553,"name":"address","nodeType":"ElementaryTypeName","src":"30377:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23556,"mutability":"mutable","name":"p2","nameLocation":"30403:2:15","nodeType":"VariableDeclaration","scope":23573,"src":"30389:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23555,"name":"string","nodeType":"ElementaryTypeName","src":"30389:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23558,"mutability":"mutable","name":"p3","nameLocation":"30412:2:15","nodeType":"VariableDeclaration","scope":23573,"src":"30407:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23557,"name":"bool","nodeType":"ElementaryTypeName","src":"30407:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30364:51:15"},"returnParameters":{"id":23560,"nodeType":"ParameterList","parameters":[],"src":"30430:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23596,"nodeType":"FunctionDefinition","src":"30545:193:15","nodes":[],"body":{"id":23595,"nodeType":"Block","src":"30626:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329","id":23587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30676:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},"value":"log(uint256,address,string,address)"},{"id":23588,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23575,"src":"30715:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23589,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23577,"src":"30719:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23590,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23579,"src":"30723:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23591,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23581,"src":"30727:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23585,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30652:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30652:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30652:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23584,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30636:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30636:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23594,"nodeType":"ExpressionStatement","src":"30636:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30554:3:15","parameters":{"id":23582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23575,"mutability":"mutable","name":"p0","nameLocation":"30566:2:15","nodeType":"VariableDeclaration","scope":23596,"src":"30558:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23574,"name":"uint256","nodeType":"ElementaryTypeName","src":"30558:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23577,"mutability":"mutable","name":"p1","nameLocation":"30578:2:15","nodeType":"VariableDeclaration","scope":23596,"src":"30570:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23576,"name":"address","nodeType":"ElementaryTypeName","src":"30570:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23579,"mutability":"mutable","name":"p2","nameLocation":"30596:2:15","nodeType":"VariableDeclaration","scope":23596,"src":"30582:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23578,"name":"string","nodeType":"ElementaryTypeName","src":"30582:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23581,"mutability":"mutable","name":"p3","nameLocation":"30608:2:15","nodeType":"VariableDeclaration","scope":23596,"src":"30600:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23580,"name":"address","nodeType":"ElementaryTypeName","src":"30600:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30557:54:15"},"returnParameters":{"id":23583,"nodeType":"ParameterList","parameters":[],"src":"30626:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23619,"nodeType":"FunctionDefinition","src":"30744:182:15","nodes":[],"body":{"id":23618,"nodeType":"Block","src":"30816:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629","id":23610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30866:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},"value":"log(uint256,address,bool,uint256)"},{"id":23611,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23598,"src":"30903:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23612,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23600,"src":"30907:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23613,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23602,"src":"30911:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23614,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23604,"src":"30915:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23608,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30842:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30842:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30842:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23607,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30826:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30826:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23617,"nodeType":"ExpressionStatement","src":"30826:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30753:3:15","parameters":{"id":23605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23598,"mutability":"mutable","name":"p0","nameLocation":"30765:2:15","nodeType":"VariableDeclaration","scope":23619,"src":"30757:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23597,"name":"uint256","nodeType":"ElementaryTypeName","src":"30757:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23600,"mutability":"mutable","name":"p1","nameLocation":"30777:2:15","nodeType":"VariableDeclaration","scope":23619,"src":"30769:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23599,"name":"address","nodeType":"ElementaryTypeName","src":"30769:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23602,"mutability":"mutable","name":"p2","nameLocation":"30786:2:15","nodeType":"VariableDeclaration","scope":23619,"src":"30781:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23601,"name":"bool","nodeType":"ElementaryTypeName","src":"30781:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23604,"mutability":"mutable","name":"p3","nameLocation":"30798:2:15","nodeType":"VariableDeclaration","scope":23619,"src":"30790:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23603,"name":"uint256","nodeType":"ElementaryTypeName","src":"30790:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30756:45:15"},"returnParameters":{"id":23606,"nodeType":"ParameterList","parameters":[],"src":"30816:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23642,"nodeType":"FunctionDefinition","src":"30932:187:15","nodes":[],"body":{"id":23641,"nodeType":"Block","src":"31010:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729","id":23633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31060:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},"value":"log(uint256,address,bool,string)"},{"id":23634,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23621,"src":"31096:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23635,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23623,"src":"31100:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23636,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23625,"src":"31104:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23637,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23627,"src":"31108:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23631,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31036:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31036:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31036:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23630,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31020:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31020:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23640,"nodeType":"ExpressionStatement","src":"31020:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30941:3:15","parameters":{"id":23628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23621,"mutability":"mutable","name":"p0","nameLocation":"30953:2:15","nodeType":"VariableDeclaration","scope":23642,"src":"30945:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23620,"name":"uint256","nodeType":"ElementaryTypeName","src":"30945:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23623,"mutability":"mutable","name":"p1","nameLocation":"30965:2:15","nodeType":"VariableDeclaration","scope":23642,"src":"30957:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23622,"name":"address","nodeType":"ElementaryTypeName","src":"30957:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23625,"mutability":"mutable","name":"p2","nameLocation":"30974:2:15","nodeType":"VariableDeclaration","scope":23642,"src":"30969:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23624,"name":"bool","nodeType":"ElementaryTypeName","src":"30969:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23627,"mutability":"mutable","name":"p3","nameLocation":"30992:2:15","nodeType":"VariableDeclaration","scope":23642,"src":"30978:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23626,"name":"string","nodeType":"ElementaryTypeName","src":"30978:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30944:51:15"},"returnParameters":{"id":23629,"nodeType":"ParameterList","parameters":[],"src":"31010:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23665,"nodeType":"FunctionDefinition","src":"31125:176:15","nodes":[],"body":{"id":23664,"nodeType":"Block","src":"31194:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29","id":23656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31244:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},"value":"log(uint256,address,bool,bool)"},{"id":23657,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23644,"src":"31278:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23658,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23646,"src":"31282:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23659,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23648,"src":"31286:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23660,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23650,"src":"31290:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23654,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31220:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31220:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31220:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23653,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31204:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31204:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23663,"nodeType":"ExpressionStatement","src":"31204:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31134:3:15","parameters":{"id":23651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23644,"mutability":"mutable","name":"p0","nameLocation":"31146:2:15","nodeType":"VariableDeclaration","scope":23665,"src":"31138:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23643,"name":"uint256","nodeType":"ElementaryTypeName","src":"31138:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23646,"mutability":"mutable","name":"p1","nameLocation":"31158:2:15","nodeType":"VariableDeclaration","scope":23665,"src":"31150:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23645,"name":"address","nodeType":"ElementaryTypeName","src":"31150:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23648,"mutability":"mutable","name":"p2","nameLocation":"31167:2:15","nodeType":"VariableDeclaration","scope":23665,"src":"31162:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23647,"name":"bool","nodeType":"ElementaryTypeName","src":"31162:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23650,"mutability":"mutable","name":"p3","nameLocation":"31176:2:15","nodeType":"VariableDeclaration","scope":23665,"src":"31171:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23649,"name":"bool","nodeType":"ElementaryTypeName","src":"31171:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31137:42:15"},"returnParameters":{"id":23652,"nodeType":"ParameterList","parameters":[],"src":"31194:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23688,"nodeType":"FunctionDefinition","src":"31307:182:15","nodes":[],"body":{"id":23687,"nodeType":"Block","src":"31379:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329","id":23679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31429:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},"value":"log(uint256,address,bool,address)"},{"id":23680,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23667,"src":"31466:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23681,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23669,"src":"31470:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23682,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23671,"src":"31474:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23683,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23673,"src":"31478:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23677,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31405:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31405:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31405:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23676,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31389:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31389:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23686,"nodeType":"ExpressionStatement","src":"31389:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31316:3:15","parameters":{"id":23674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23667,"mutability":"mutable","name":"p0","nameLocation":"31328:2:15","nodeType":"VariableDeclaration","scope":23688,"src":"31320:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23666,"name":"uint256","nodeType":"ElementaryTypeName","src":"31320:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23669,"mutability":"mutable","name":"p1","nameLocation":"31340:2:15","nodeType":"VariableDeclaration","scope":23688,"src":"31332:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23668,"name":"address","nodeType":"ElementaryTypeName","src":"31332:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23671,"mutability":"mutable","name":"p2","nameLocation":"31349:2:15","nodeType":"VariableDeclaration","scope":23688,"src":"31344:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23670,"name":"bool","nodeType":"ElementaryTypeName","src":"31344:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23673,"mutability":"mutable","name":"p3","nameLocation":"31361:2:15","nodeType":"VariableDeclaration","scope":23688,"src":"31353:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23672,"name":"address","nodeType":"ElementaryTypeName","src":"31353:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31319:45:15"},"returnParameters":{"id":23675,"nodeType":"ParameterList","parameters":[],"src":"31379:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23711,"nodeType":"FunctionDefinition","src":"31495:188:15","nodes":[],"body":{"id":23710,"nodeType":"Block","src":"31570:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629","id":23702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31620:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},"value":"log(uint256,address,address,uint256)"},{"id":23703,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23690,"src":"31660:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23704,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23692,"src":"31664:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23705,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23694,"src":"31668:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23706,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23696,"src":"31672:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23700,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31596:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31596:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31596:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23699,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31580:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31580:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23709,"nodeType":"ExpressionStatement","src":"31580:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31504:3:15","parameters":{"id":23697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23690,"mutability":"mutable","name":"p0","nameLocation":"31516:2:15","nodeType":"VariableDeclaration","scope":23711,"src":"31508:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23689,"name":"uint256","nodeType":"ElementaryTypeName","src":"31508:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23692,"mutability":"mutable","name":"p1","nameLocation":"31528:2:15","nodeType":"VariableDeclaration","scope":23711,"src":"31520:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23691,"name":"address","nodeType":"ElementaryTypeName","src":"31520:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23694,"mutability":"mutable","name":"p2","nameLocation":"31540:2:15","nodeType":"VariableDeclaration","scope":23711,"src":"31532:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23693,"name":"address","nodeType":"ElementaryTypeName","src":"31532:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23696,"mutability":"mutable","name":"p3","nameLocation":"31552:2:15","nodeType":"VariableDeclaration","scope":23711,"src":"31544:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23695,"name":"uint256","nodeType":"ElementaryTypeName","src":"31544:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31507:48:15"},"returnParameters":{"id":23698,"nodeType":"ParameterList","parameters":[],"src":"31570:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23734,"nodeType":"FunctionDefinition","src":"31689:193:15","nodes":[],"body":{"id":23733,"nodeType":"Block","src":"31770:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729","id":23725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31820:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},"value":"log(uint256,address,address,string)"},{"id":23726,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23713,"src":"31859:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23727,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23715,"src":"31863:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23728,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23717,"src":"31867:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23729,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23719,"src":"31871:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23723,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31796:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31796:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31796:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23722,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31780:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31780:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23732,"nodeType":"ExpressionStatement","src":"31780:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31698:3:15","parameters":{"id":23720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23713,"mutability":"mutable","name":"p0","nameLocation":"31710:2:15","nodeType":"VariableDeclaration","scope":23734,"src":"31702:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23712,"name":"uint256","nodeType":"ElementaryTypeName","src":"31702:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23715,"mutability":"mutable","name":"p1","nameLocation":"31722:2:15","nodeType":"VariableDeclaration","scope":23734,"src":"31714:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23714,"name":"address","nodeType":"ElementaryTypeName","src":"31714:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23717,"mutability":"mutable","name":"p2","nameLocation":"31734:2:15","nodeType":"VariableDeclaration","scope":23734,"src":"31726:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23716,"name":"address","nodeType":"ElementaryTypeName","src":"31726:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23719,"mutability":"mutable","name":"p3","nameLocation":"31752:2:15","nodeType":"VariableDeclaration","scope":23734,"src":"31738:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23718,"name":"string","nodeType":"ElementaryTypeName","src":"31738:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31701:54:15"},"returnParameters":{"id":23721,"nodeType":"ParameterList","parameters":[],"src":"31770:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23757,"nodeType":"FunctionDefinition","src":"31888:182:15","nodes":[],"body":{"id":23756,"nodeType":"Block","src":"31960:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29","id":23748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32010:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},"value":"log(uint256,address,address,bool)"},{"id":23749,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23736,"src":"32047:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23750,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23738,"src":"32051:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23751,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23740,"src":"32055:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23752,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23742,"src":"32059:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23746,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31986:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31986:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31986:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23745,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31970:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31970:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23755,"nodeType":"ExpressionStatement","src":"31970:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31897:3:15","parameters":{"id":23743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23736,"mutability":"mutable","name":"p0","nameLocation":"31909:2:15","nodeType":"VariableDeclaration","scope":23757,"src":"31901:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23735,"name":"uint256","nodeType":"ElementaryTypeName","src":"31901:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23738,"mutability":"mutable","name":"p1","nameLocation":"31921:2:15","nodeType":"VariableDeclaration","scope":23757,"src":"31913:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23737,"name":"address","nodeType":"ElementaryTypeName","src":"31913:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23740,"mutability":"mutable","name":"p2","nameLocation":"31933:2:15","nodeType":"VariableDeclaration","scope":23757,"src":"31925:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23739,"name":"address","nodeType":"ElementaryTypeName","src":"31925:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23742,"mutability":"mutable","name":"p3","nameLocation":"31942:2:15","nodeType":"VariableDeclaration","scope":23757,"src":"31937:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23741,"name":"bool","nodeType":"ElementaryTypeName","src":"31937:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31900:45:15"},"returnParameters":{"id":23744,"nodeType":"ParameterList","parameters":[],"src":"31960:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23780,"nodeType":"FunctionDefinition","src":"32076:188:15","nodes":[],"body":{"id":23779,"nodeType":"Block","src":"32151:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329","id":23771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32201:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},"value":"log(uint256,address,address,address)"},{"id":23772,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23759,"src":"32241:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23773,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23761,"src":"32245:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23774,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23763,"src":"32249:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23775,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23765,"src":"32253:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32177:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32177:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32177:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23768,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32161:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32161:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23778,"nodeType":"ExpressionStatement","src":"32161:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32085:3:15","parameters":{"id":23766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23759,"mutability":"mutable","name":"p0","nameLocation":"32097:2:15","nodeType":"VariableDeclaration","scope":23780,"src":"32089:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23758,"name":"uint256","nodeType":"ElementaryTypeName","src":"32089:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23761,"mutability":"mutable","name":"p1","nameLocation":"32109:2:15","nodeType":"VariableDeclaration","scope":23780,"src":"32101:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23760,"name":"address","nodeType":"ElementaryTypeName","src":"32101:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23763,"mutability":"mutable","name":"p2","nameLocation":"32121:2:15","nodeType":"VariableDeclaration","scope":23780,"src":"32113:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23762,"name":"address","nodeType":"ElementaryTypeName","src":"32113:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23765,"mutability":"mutable","name":"p3","nameLocation":"32133:2:15","nodeType":"VariableDeclaration","scope":23780,"src":"32125:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23764,"name":"address","nodeType":"ElementaryTypeName","src":"32125:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32088:48:15"},"returnParameters":{"id":23767,"nodeType":"ParameterList","parameters":[],"src":"32151:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23803,"nodeType":"FunctionDefinition","src":"32270:193:15","nodes":[],"body":{"id":23802,"nodeType":"Block","src":"32351:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629","id":23794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32401:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},"value":"log(string,uint256,uint256,uint256)"},{"id":23795,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23782,"src":"32440:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23796,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23784,"src":"32444:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23797,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23786,"src":"32448:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23798,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23788,"src":"32452:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23792,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32377:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32377:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32377:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23791,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32361:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32361:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23801,"nodeType":"ExpressionStatement","src":"32361:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32279:3:15","parameters":{"id":23789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23782,"mutability":"mutable","name":"p0","nameLocation":"32297:2:15","nodeType":"VariableDeclaration","scope":23803,"src":"32283:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23781,"name":"string","nodeType":"ElementaryTypeName","src":"32283:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23784,"mutability":"mutable","name":"p1","nameLocation":"32309:2:15","nodeType":"VariableDeclaration","scope":23803,"src":"32301:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23783,"name":"uint256","nodeType":"ElementaryTypeName","src":"32301:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23786,"mutability":"mutable","name":"p2","nameLocation":"32321:2:15","nodeType":"VariableDeclaration","scope":23803,"src":"32313:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23785,"name":"uint256","nodeType":"ElementaryTypeName","src":"32313:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23788,"mutability":"mutable","name":"p3","nameLocation":"32333:2:15","nodeType":"VariableDeclaration","scope":23803,"src":"32325:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23787,"name":"uint256","nodeType":"ElementaryTypeName","src":"32325:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32282:54:15"},"returnParameters":{"id":23790,"nodeType":"ParameterList","parameters":[],"src":"32351:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23826,"nodeType":"FunctionDefinition","src":"32469:198:15","nodes":[],"body":{"id":23825,"nodeType":"Block","src":"32556:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729","id":23817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32606:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},"value":"log(string,uint256,uint256,string)"},{"id":23818,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23805,"src":"32644:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23819,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23807,"src":"32648:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23820,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23809,"src":"32652:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23821,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23811,"src":"32656:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23815,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32582:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32582:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32582:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23814,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32566:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32566:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23824,"nodeType":"ExpressionStatement","src":"32566:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32478:3:15","parameters":{"id":23812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23805,"mutability":"mutable","name":"p0","nameLocation":"32496:2:15","nodeType":"VariableDeclaration","scope":23826,"src":"32482:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23804,"name":"string","nodeType":"ElementaryTypeName","src":"32482:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23807,"mutability":"mutable","name":"p1","nameLocation":"32508:2:15","nodeType":"VariableDeclaration","scope":23826,"src":"32500:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23806,"name":"uint256","nodeType":"ElementaryTypeName","src":"32500:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23809,"mutability":"mutable","name":"p2","nameLocation":"32520:2:15","nodeType":"VariableDeclaration","scope":23826,"src":"32512:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23808,"name":"uint256","nodeType":"ElementaryTypeName","src":"32512:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23811,"mutability":"mutable","name":"p3","nameLocation":"32538:2:15","nodeType":"VariableDeclaration","scope":23826,"src":"32524:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23810,"name":"string","nodeType":"ElementaryTypeName","src":"32524:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32481:60:15"},"returnParameters":{"id":23813,"nodeType":"ParameterList","parameters":[],"src":"32556:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23849,"nodeType":"FunctionDefinition","src":"32673:187:15","nodes":[],"body":{"id":23848,"nodeType":"Block","src":"32751:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29","id":23840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32801:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},"value":"log(string,uint256,uint256,bool)"},{"id":23841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23828,"src":"32837:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23830,"src":"32841:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23843,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23832,"src":"32845:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23844,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23834,"src":"32849:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32777:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32777:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32777:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32761:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32761:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23847,"nodeType":"ExpressionStatement","src":"32761:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32682:3:15","parameters":{"id":23835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23828,"mutability":"mutable","name":"p0","nameLocation":"32700:2:15","nodeType":"VariableDeclaration","scope":23849,"src":"32686:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23827,"name":"string","nodeType":"ElementaryTypeName","src":"32686:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23830,"mutability":"mutable","name":"p1","nameLocation":"32712:2:15","nodeType":"VariableDeclaration","scope":23849,"src":"32704:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23829,"name":"uint256","nodeType":"ElementaryTypeName","src":"32704:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23832,"mutability":"mutable","name":"p2","nameLocation":"32724:2:15","nodeType":"VariableDeclaration","scope":23849,"src":"32716:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23831,"name":"uint256","nodeType":"ElementaryTypeName","src":"32716:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23834,"mutability":"mutable","name":"p3","nameLocation":"32733:2:15","nodeType":"VariableDeclaration","scope":23849,"src":"32728:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23833,"name":"bool","nodeType":"ElementaryTypeName","src":"32728:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32685:51:15"},"returnParameters":{"id":23836,"nodeType":"ParameterList","parameters":[],"src":"32751:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23872,"nodeType":"FunctionDefinition","src":"32866:193:15","nodes":[],"body":{"id":23871,"nodeType":"Block","src":"32947:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329","id":23863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32997:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},"value":"log(string,uint256,uint256,address)"},{"id":23864,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23851,"src":"33036:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23865,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23853,"src":"33040:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23866,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23855,"src":"33044:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23867,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23857,"src":"33048:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32973:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32973:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32973:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23860,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32957:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32957:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23870,"nodeType":"ExpressionStatement","src":"32957:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32875:3:15","parameters":{"id":23858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23851,"mutability":"mutable","name":"p0","nameLocation":"32893:2:15","nodeType":"VariableDeclaration","scope":23872,"src":"32879:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23850,"name":"string","nodeType":"ElementaryTypeName","src":"32879:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23853,"mutability":"mutable","name":"p1","nameLocation":"32905:2:15","nodeType":"VariableDeclaration","scope":23872,"src":"32897:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23852,"name":"uint256","nodeType":"ElementaryTypeName","src":"32897:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23855,"mutability":"mutable","name":"p2","nameLocation":"32917:2:15","nodeType":"VariableDeclaration","scope":23872,"src":"32909:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23854,"name":"uint256","nodeType":"ElementaryTypeName","src":"32909:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23857,"mutability":"mutable","name":"p3","nameLocation":"32929:2:15","nodeType":"VariableDeclaration","scope":23872,"src":"32921:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23856,"name":"address","nodeType":"ElementaryTypeName","src":"32921:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32878:54:15"},"returnParameters":{"id":23859,"nodeType":"ParameterList","parameters":[],"src":"32947:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23895,"nodeType":"FunctionDefinition","src":"33065:198:15","nodes":[],"body":{"id":23894,"nodeType":"Block","src":"33152:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629","id":23886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33202:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},"value":"log(string,uint256,string,uint256)"},{"id":23887,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"33240:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23888,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23876,"src":"33244:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23889,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23878,"src":"33248:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23890,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23880,"src":"33252:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33178:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33178:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33178:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23883,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33162:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33162:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23893,"nodeType":"ExpressionStatement","src":"33162:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33074:3:15","parameters":{"id":23881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23874,"mutability":"mutable","name":"p0","nameLocation":"33092:2:15","nodeType":"VariableDeclaration","scope":23895,"src":"33078:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23873,"name":"string","nodeType":"ElementaryTypeName","src":"33078:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23876,"mutability":"mutable","name":"p1","nameLocation":"33104:2:15","nodeType":"VariableDeclaration","scope":23895,"src":"33096:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23875,"name":"uint256","nodeType":"ElementaryTypeName","src":"33096:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23878,"mutability":"mutable","name":"p2","nameLocation":"33122:2:15","nodeType":"VariableDeclaration","scope":23895,"src":"33108:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23877,"name":"string","nodeType":"ElementaryTypeName","src":"33108:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23880,"mutability":"mutable","name":"p3","nameLocation":"33134:2:15","nodeType":"VariableDeclaration","scope":23895,"src":"33126:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23879,"name":"uint256","nodeType":"ElementaryTypeName","src":"33126:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33077:60:15"},"returnParameters":{"id":23882,"nodeType":"ParameterList","parameters":[],"src":"33152:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23918,"nodeType":"FunctionDefinition","src":"33269:203:15","nodes":[],"body":{"id":23917,"nodeType":"Block","src":"33362:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729","id":23909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33412:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},"value":"log(string,uint256,string,string)"},{"id":23910,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23897,"src":"33449:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23911,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23899,"src":"33453:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23912,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23901,"src":"33457:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23913,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23903,"src":"33461:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23907,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33388:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33388:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33388:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23906,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33372:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33372:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23916,"nodeType":"ExpressionStatement","src":"33372:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33278:3:15","parameters":{"id":23904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23897,"mutability":"mutable","name":"p0","nameLocation":"33296:2:15","nodeType":"VariableDeclaration","scope":23918,"src":"33282:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23896,"name":"string","nodeType":"ElementaryTypeName","src":"33282:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23899,"mutability":"mutable","name":"p1","nameLocation":"33308:2:15","nodeType":"VariableDeclaration","scope":23918,"src":"33300:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23898,"name":"uint256","nodeType":"ElementaryTypeName","src":"33300:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23901,"mutability":"mutable","name":"p2","nameLocation":"33326:2:15","nodeType":"VariableDeclaration","scope":23918,"src":"33312:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23900,"name":"string","nodeType":"ElementaryTypeName","src":"33312:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23903,"mutability":"mutable","name":"p3","nameLocation":"33344:2:15","nodeType":"VariableDeclaration","scope":23918,"src":"33330:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23902,"name":"string","nodeType":"ElementaryTypeName","src":"33330:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33281:66:15"},"returnParameters":{"id":23905,"nodeType":"ParameterList","parameters":[],"src":"33362:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23941,"nodeType":"FunctionDefinition","src":"33478:192:15","nodes":[],"body":{"id":23940,"nodeType":"Block","src":"33562:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29","id":23932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33612:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},"value":"log(string,uint256,string,bool)"},{"id":23933,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23920,"src":"33647:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23934,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23922,"src":"33651:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23935,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23924,"src":"33655:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23936,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23926,"src":"33659:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23930,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33588:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33588:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33588:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23929,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33572:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33572:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23939,"nodeType":"ExpressionStatement","src":"33572:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33487:3:15","parameters":{"id":23927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23920,"mutability":"mutable","name":"p0","nameLocation":"33505:2:15","nodeType":"VariableDeclaration","scope":23941,"src":"33491:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23919,"name":"string","nodeType":"ElementaryTypeName","src":"33491:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23922,"mutability":"mutable","name":"p1","nameLocation":"33517:2:15","nodeType":"VariableDeclaration","scope":23941,"src":"33509:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23921,"name":"uint256","nodeType":"ElementaryTypeName","src":"33509:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23924,"mutability":"mutable","name":"p2","nameLocation":"33535:2:15","nodeType":"VariableDeclaration","scope":23941,"src":"33521:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23923,"name":"string","nodeType":"ElementaryTypeName","src":"33521:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23926,"mutability":"mutable","name":"p3","nameLocation":"33544:2:15","nodeType":"VariableDeclaration","scope":23941,"src":"33539:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23925,"name":"bool","nodeType":"ElementaryTypeName","src":"33539:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33490:57:15"},"returnParameters":{"id":23928,"nodeType":"ParameterList","parameters":[],"src":"33562:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23964,"nodeType":"FunctionDefinition","src":"33676:198:15","nodes":[],"body":{"id":23963,"nodeType":"Block","src":"33763:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329","id":23955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33813:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},"value":"log(string,uint256,string,address)"},{"id":23956,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23943,"src":"33851:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23957,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23945,"src":"33855:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23958,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23947,"src":"33859:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23959,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23949,"src":"33863:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23953,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33789:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33789:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33789:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23952,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33773:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33773:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23962,"nodeType":"ExpressionStatement","src":"33773:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33685:3:15","parameters":{"id":23950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23943,"mutability":"mutable","name":"p0","nameLocation":"33703:2:15","nodeType":"VariableDeclaration","scope":23964,"src":"33689:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23942,"name":"string","nodeType":"ElementaryTypeName","src":"33689:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23945,"mutability":"mutable","name":"p1","nameLocation":"33715:2:15","nodeType":"VariableDeclaration","scope":23964,"src":"33707:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23944,"name":"uint256","nodeType":"ElementaryTypeName","src":"33707:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23947,"mutability":"mutable","name":"p2","nameLocation":"33733:2:15","nodeType":"VariableDeclaration","scope":23964,"src":"33719:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23946,"name":"string","nodeType":"ElementaryTypeName","src":"33719:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23949,"mutability":"mutable","name":"p3","nameLocation":"33745:2:15","nodeType":"VariableDeclaration","scope":23964,"src":"33737:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23948,"name":"address","nodeType":"ElementaryTypeName","src":"33737:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33688:60:15"},"returnParameters":{"id":23951,"nodeType":"ParameterList","parameters":[],"src":"33763:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23987,"nodeType":"FunctionDefinition","src":"33880:187:15","nodes":[],"body":{"id":23986,"nodeType":"Block","src":"33958:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629","id":23978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34008:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},"value":"log(string,uint256,bool,uint256)"},{"id":23979,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23966,"src":"34044:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23980,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23968,"src":"34048:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23981,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23970,"src":"34052:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23982,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23972,"src":"34056:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23976,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33984:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33984:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33984:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23975,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33968:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33968:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23985,"nodeType":"ExpressionStatement","src":"33968:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33889:3:15","parameters":{"id":23973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23966,"mutability":"mutable","name":"p0","nameLocation":"33907:2:15","nodeType":"VariableDeclaration","scope":23987,"src":"33893:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23965,"name":"string","nodeType":"ElementaryTypeName","src":"33893:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23968,"mutability":"mutable","name":"p1","nameLocation":"33919:2:15","nodeType":"VariableDeclaration","scope":23987,"src":"33911:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23967,"name":"uint256","nodeType":"ElementaryTypeName","src":"33911:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23970,"mutability":"mutable","name":"p2","nameLocation":"33928:2:15","nodeType":"VariableDeclaration","scope":23987,"src":"33923:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23969,"name":"bool","nodeType":"ElementaryTypeName","src":"33923:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23972,"mutability":"mutable","name":"p3","nameLocation":"33940:2:15","nodeType":"VariableDeclaration","scope":23987,"src":"33932:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23971,"name":"uint256","nodeType":"ElementaryTypeName","src":"33932:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33892:51:15"},"returnParameters":{"id":23974,"nodeType":"ParameterList","parameters":[],"src":"33958:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24010,"nodeType":"FunctionDefinition","src":"34073:192:15","nodes":[],"body":{"id":24009,"nodeType":"Block","src":"34157:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729","id":24001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34207:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},"value":"log(string,uint256,bool,string)"},{"id":24002,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23989,"src":"34242:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24003,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23991,"src":"34246:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24004,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23993,"src":"34250:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24005,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23995,"src":"34254:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23999,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34183:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34183:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34183:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23998,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34167:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34167:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24008,"nodeType":"ExpressionStatement","src":"34167:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34082:3:15","parameters":{"id":23996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23989,"mutability":"mutable","name":"p0","nameLocation":"34100:2:15","nodeType":"VariableDeclaration","scope":24010,"src":"34086:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23988,"name":"string","nodeType":"ElementaryTypeName","src":"34086:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23991,"mutability":"mutable","name":"p1","nameLocation":"34112:2:15","nodeType":"VariableDeclaration","scope":24010,"src":"34104:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23990,"name":"uint256","nodeType":"ElementaryTypeName","src":"34104:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23993,"mutability":"mutable","name":"p2","nameLocation":"34121:2:15","nodeType":"VariableDeclaration","scope":24010,"src":"34116:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23992,"name":"bool","nodeType":"ElementaryTypeName","src":"34116:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23995,"mutability":"mutable","name":"p3","nameLocation":"34139:2:15","nodeType":"VariableDeclaration","scope":24010,"src":"34125:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23994,"name":"string","nodeType":"ElementaryTypeName","src":"34125:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34085:57:15"},"returnParameters":{"id":23997,"nodeType":"ParameterList","parameters":[],"src":"34157:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24033,"nodeType":"FunctionDefinition","src":"34271:181:15","nodes":[],"body":{"id":24032,"nodeType":"Block","src":"34346:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29","id":24024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34396:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},"value":"log(string,uint256,bool,bool)"},{"id":24025,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24012,"src":"34429:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24026,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24014,"src":"34433:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24027,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24016,"src":"34437:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24028,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24018,"src":"34441:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34372:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34372:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34372:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34356:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34356:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24031,"nodeType":"ExpressionStatement","src":"34356:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34280:3:15","parameters":{"id":24019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24012,"mutability":"mutable","name":"p0","nameLocation":"34298:2:15","nodeType":"VariableDeclaration","scope":24033,"src":"34284:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24011,"name":"string","nodeType":"ElementaryTypeName","src":"34284:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24014,"mutability":"mutable","name":"p1","nameLocation":"34310:2:15","nodeType":"VariableDeclaration","scope":24033,"src":"34302:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24013,"name":"uint256","nodeType":"ElementaryTypeName","src":"34302:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24016,"mutability":"mutable","name":"p2","nameLocation":"34319:2:15","nodeType":"VariableDeclaration","scope":24033,"src":"34314:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24015,"name":"bool","nodeType":"ElementaryTypeName","src":"34314:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24018,"mutability":"mutable","name":"p3","nameLocation":"34328:2:15","nodeType":"VariableDeclaration","scope":24033,"src":"34323:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24017,"name":"bool","nodeType":"ElementaryTypeName","src":"34323:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34283:48:15"},"returnParameters":{"id":24020,"nodeType":"ParameterList","parameters":[],"src":"34346:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24056,"nodeType":"FunctionDefinition","src":"34458:187:15","nodes":[],"body":{"id":24055,"nodeType":"Block","src":"34536:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329","id":24047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34586:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},"value":"log(string,uint256,bool,address)"},{"id":24048,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24035,"src":"34622:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24049,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24037,"src":"34626:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24050,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24039,"src":"34630:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24051,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24041,"src":"34634:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24045,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34562:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34562:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34562:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24044,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34546:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34546:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24054,"nodeType":"ExpressionStatement","src":"34546:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34467:3:15","parameters":{"id":24042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24035,"mutability":"mutable","name":"p0","nameLocation":"34485:2:15","nodeType":"VariableDeclaration","scope":24056,"src":"34471:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24034,"name":"string","nodeType":"ElementaryTypeName","src":"34471:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24037,"mutability":"mutable","name":"p1","nameLocation":"34497:2:15","nodeType":"VariableDeclaration","scope":24056,"src":"34489:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24036,"name":"uint256","nodeType":"ElementaryTypeName","src":"34489:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24039,"mutability":"mutable","name":"p2","nameLocation":"34506:2:15","nodeType":"VariableDeclaration","scope":24056,"src":"34501:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24038,"name":"bool","nodeType":"ElementaryTypeName","src":"34501:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24041,"mutability":"mutable","name":"p3","nameLocation":"34518:2:15","nodeType":"VariableDeclaration","scope":24056,"src":"34510:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24040,"name":"address","nodeType":"ElementaryTypeName","src":"34510:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34470:51:15"},"returnParameters":{"id":24043,"nodeType":"ParameterList","parameters":[],"src":"34536:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24079,"nodeType":"FunctionDefinition","src":"34651:193:15","nodes":[],"body":{"id":24078,"nodeType":"Block","src":"34732:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629","id":24070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34782:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},"value":"log(string,uint256,address,uint256)"},{"id":24071,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24058,"src":"34821:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24072,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24060,"src":"34825:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24073,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24062,"src":"34829:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24074,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24064,"src":"34833:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24068,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34758:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34758:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34758:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24067,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34742:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34742:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24077,"nodeType":"ExpressionStatement","src":"34742:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34660:3:15","parameters":{"id":24065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24058,"mutability":"mutable","name":"p0","nameLocation":"34678:2:15","nodeType":"VariableDeclaration","scope":24079,"src":"34664:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24057,"name":"string","nodeType":"ElementaryTypeName","src":"34664:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24060,"mutability":"mutable","name":"p1","nameLocation":"34690:2:15","nodeType":"VariableDeclaration","scope":24079,"src":"34682:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24059,"name":"uint256","nodeType":"ElementaryTypeName","src":"34682:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24062,"mutability":"mutable","name":"p2","nameLocation":"34702:2:15","nodeType":"VariableDeclaration","scope":24079,"src":"34694:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24061,"name":"address","nodeType":"ElementaryTypeName","src":"34694:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24064,"mutability":"mutable","name":"p3","nameLocation":"34714:2:15","nodeType":"VariableDeclaration","scope":24079,"src":"34706:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24063,"name":"uint256","nodeType":"ElementaryTypeName","src":"34706:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34663:54:15"},"returnParameters":{"id":24066,"nodeType":"ParameterList","parameters":[],"src":"34732:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24102,"nodeType":"FunctionDefinition","src":"34850:198:15","nodes":[],"body":{"id":24101,"nodeType":"Block","src":"34937:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729","id":24093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34987:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},"value":"log(string,uint256,address,string)"},{"id":24094,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24081,"src":"35025:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24095,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24083,"src":"35029:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24096,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24085,"src":"35033:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24097,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24087,"src":"35037:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34963:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34963:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34963:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24090,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34947:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34947:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24100,"nodeType":"ExpressionStatement","src":"34947:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34859:3:15","parameters":{"id":24088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24081,"mutability":"mutable","name":"p0","nameLocation":"34877:2:15","nodeType":"VariableDeclaration","scope":24102,"src":"34863:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24080,"name":"string","nodeType":"ElementaryTypeName","src":"34863:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24083,"mutability":"mutable","name":"p1","nameLocation":"34889:2:15","nodeType":"VariableDeclaration","scope":24102,"src":"34881:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24082,"name":"uint256","nodeType":"ElementaryTypeName","src":"34881:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24085,"mutability":"mutable","name":"p2","nameLocation":"34901:2:15","nodeType":"VariableDeclaration","scope":24102,"src":"34893:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24084,"name":"address","nodeType":"ElementaryTypeName","src":"34893:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24087,"mutability":"mutable","name":"p3","nameLocation":"34919:2:15","nodeType":"VariableDeclaration","scope":24102,"src":"34905:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24086,"name":"string","nodeType":"ElementaryTypeName","src":"34905:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34862:60:15"},"returnParameters":{"id":24089,"nodeType":"ParameterList","parameters":[],"src":"34937:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24125,"nodeType":"FunctionDefinition","src":"35054:187:15","nodes":[],"body":{"id":24124,"nodeType":"Block","src":"35132:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29","id":24116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35182:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},"value":"log(string,uint256,address,bool)"},{"id":24117,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24104,"src":"35218:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24118,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24106,"src":"35222:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24119,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24108,"src":"35226:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24120,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24110,"src":"35230:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24114,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35158:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35158:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35158:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24113,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35142:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35142:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24123,"nodeType":"ExpressionStatement","src":"35142:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35063:3:15","parameters":{"id":24111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24104,"mutability":"mutable","name":"p0","nameLocation":"35081:2:15","nodeType":"VariableDeclaration","scope":24125,"src":"35067:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24103,"name":"string","nodeType":"ElementaryTypeName","src":"35067:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24106,"mutability":"mutable","name":"p1","nameLocation":"35093:2:15","nodeType":"VariableDeclaration","scope":24125,"src":"35085:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24105,"name":"uint256","nodeType":"ElementaryTypeName","src":"35085:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24108,"mutability":"mutable","name":"p2","nameLocation":"35105:2:15","nodeType":"VariableDeclaration","scope":24125,"src":"35097:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24107,"name":"address","nodeType":"ElementaryTypeName","src":"35097:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24110,"mutability":"mutable","name":"p3","nameLocation":"35114:2:15","nodeType":"VariableDeclaration","scope":24125,"src":"35109:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24109,"name":"bool","nodeType":"ElementaryTypeName","src":"35109:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35066:51:15"},"returnParameters":{"id":24112,"nodeType":"ParameterList","parameters":[],"src":"35132:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24148,"nodeType":"FunctionDefinition","src":"35247:193:15","nodes":[],"body":{"id":24147,"nodeType":"Block","src":"35328:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329","id":24139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35378:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},"value":"log(string,uint256,address,address)"},{"id":24140,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24127,"src":"35417:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24141,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24129,"src":"35421:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24142,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24131,"src":"35425:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24143,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24133,"src":"35429:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24137,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35354:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35354:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35354:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24136,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35338:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35338:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24146,"nodeType":"ExpressionStatement","src":"35338:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35256:3:15","parameters":{"id":24134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24127,"mutability":"mutable","name":"p0","nameLocation":"35274:2:15","nodeType":"VariableDeclaration","scope":24148,"src":"35260:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24126,"name":"string","nodeType":"ElementaryTypeName","src":"35260:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24129,"mutability":"mutable","name":"p1","nameLocation":"35286:2:15","nodeType":"VariableDeclaration","scope":24148,"src":"35278:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24128,"name":"uint256","nodeType":"ElementaryTypeName","src":"35278:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24131,"mutability":"mutable","name":"p2","nameLocation":"35298:2:15","nodeType":"VariableDeclaration","scope":24148,"src":"35290:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24130,"name":"address","nodeType":"ElementaryTypeName","src":"35290:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24133,"mutability":"mutable","name":"p3","nameLocation":"35310:2:15","nodeType":"VariableDeclaration","scope":24148,"src":"35302:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24132,"name":"address","nodeType":"ElementaryTypeName","src":"35302:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35259:54:15"},"returnParameters":{"id":24135,"nodeType":"ParameterList","parameters":[],"src":"35328:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24171,"nodeType":"FunctionDefinition","src":"35446:198:15","nodes":[],"body":{"id":24170,"nodeType":"Block","src":"35533:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629","id":24162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35583:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},"value":"log(string,string,uint256,uint256)"},{"id":24163,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24150,"src":"35621:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24164,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24152,"src":"35625:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24165,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24154,"src":"35629:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24166,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24156,"src":"35633:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24160,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35559:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35559:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35559:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24159,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35543:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35543:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24169,"nodeType":"ExpressionStatement","src":"35543:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35455:3:15","parameters":{"id":24157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24150,"mutability":"mutable","name":"p0","nameLocation":"35473:2:15","nodeType":"VariableDeclaration","scope":24171,"src":"35459:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24149,"name":"string","nodeType":"ElementaryTypeName","src":"35459:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24152,"mutability":"mutable","name":"p1","nameLocation":"35491:2:15","nodeType":"VariableDeclaration","scope":24171,"src":"35477:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24151,"name":"string","nodeType":"ElementaryTypeName","src":"35477:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24154,"mutability":"mutable","name":"p2","nameLocation":"35503:2:15","nodeType":"VariableDeclaration","scope":24171,"src":"35495:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24153,"name":"uint256","nodeType":"ElementaryTypeName","src":"35495:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24156,"mutability":"mutable","name":"p3","nameLocation":"35515:2:15","nodeType":"VariableDeclaration","scope":24171,"src":"35507:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24155,"name":"uint256","nodeType":"ElementaryTypeName","src":"35507:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35458:60:15"},"returnParameters":{"id":24158,"nodeType":"ParameterList","parameters":[],"src":"35533:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24194,"nodeType":"FunctionDefinition","src":"35650:203:15","nodes":[],"body":{"id":24193,"nodeType":"Block","src":"35743:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729","id":24185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35793:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},"value":"log(string,string,uint256,string)"},{"id":24186,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24173,"src":"35830:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24187,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24175,"src":"35834:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24188,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24177,"src":"35838:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24189,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24179,"src":"35842:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24183,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35769:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35769:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35769:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24182,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35753:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35753:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24192,"nodeType":"ExpressionStatement","src":"35753:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35659:3:15","parameters":{"id":24180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24173,"mutability":"mutable","name":"p0","nameLocation":"35677:2:15","nodeType":"VariableDeclaration","scope":24194,"src":"35663:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24172,"name":"string","nodeType":"ElementaryTypeName","src":"35663:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24175,"mutability":"mutable","name":"p1","nameLocation":"35695:2:15","nodeType":"VariableDeclaration","scope":24194,"src":"35681:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24174,"name":"string","nodeType":"ElementaryTypeName","src":"35681:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24177,"mutability":"mutable","name":"p2","nameLocation":"35707:2:15","nodeType":"VariableDeclaration","scope":24194,"src":"35699:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24176,"name":"uint256","nodeType":"ElementaryTypeName","src":"35699:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24179,"mutability":"mutable","name":"p3","nameLocation":"35725:2:15","nodeType":"VariableDeclaration","scope":24194,"src":"35711:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24178,"name":"string","nodeType":"ElementaryTypeName","src":"35711:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35662:66:15"},"returnParameters":{"id":24181,"nodeType":"ParameterList","parameters":[],"src":"35743:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24217,"nodeType":"FunctionDefinition","src":"35859:192:15","nodes":[],"body":{"id":24216,"nodeType":"Block","src":"35943:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29","id":24208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35993:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},"value":"log(string,string,uint256,bool)"},{"id":24209,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24196,"src":"36028:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24210,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24198,"src":"36032:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24211,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24200,"src":"36036:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24212,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24202,"src":"36040:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24206,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35969:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35969:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35969:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24205,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35953:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35953:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24215,"nodeType":"ExpressionStatement","src":"35953:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35868:3:15","parameters":{"id":24203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24196,"mutability":"mutable","name":"p0","nameLocation":"35886:2:15","nodeType":"VariableDeclaration","scope":24217,"src":"35872:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24195,"name":"string","nodeType":"ElementaryTypeName","src":"35872:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24198,"mutability":"mutable","name":"p1","nameLocation":"35904:2:15","nodeType":"VariableDeclaration","scope":24217,"src":"35890:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24197,"name":"string","nodeType":"ElementaryTypeName","src":"35890:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24200,"mutability":"mutable","name":"p2","nameLocation":"35916:2:15","nodeType":"VariableDeclaration","scope":24217,"src":"35908:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24199,"name":"uint256","nodeType":"ElementaryTypeName","src":"35908:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24202,"mutability":"mutable","name":"p3","nameLocation":"35925:2:15","nodeType":"VariableDeclaration","scope":24217,"src":"35920:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24201,"name":"bool","nodeType":"ElementaryTypeName","src":"35920:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35871:57:15"},"returnParameters":{"id":24204,"nodeType":"ParameterList","parameters":[],"src":"35943:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24240,"nodeType":"FunctionDefinition","src":"36057:198:15","nodes":[],"body":{"id":24239,"nodeType":"Block","src":"36144:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329","id":24231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36194:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},"value":"log(string,string,uint256,address)"},{"id":24232,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24219,"src":"36232:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24233,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24221,"src":"36236:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24234,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24223,"src":"36240:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24235,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24225,"src":"36244:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24229,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36170:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36170:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36170:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24228,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36154:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36154:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24238,"nodeType":"ExpressionStatement","src":"36154:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36066:3:15","parameters":{"id":24226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24219,"mutability":"mutable","name":"p0","nameLocation":"36084:2:15","nodeType":"VariableDeclaration","scope":24240,"src":"36070:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24218,"name":"string","nodeType":"ElementaryTypeName","src":"36070:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24221,"mutability":"mutable","name":"p1","nameLocation":"36102:2:15","nodeType":"VariableDeclaration","scope":24240,"src":"36088:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24220,"name":"string","nodeType":"ElementaryTypeName","src":"36088:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24223,"mutability":"mutable","name":"p2","nameLocation":"36114:2:15","nodeType":"VariableDeclaration","scope":24240,"src":"36106:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24222,"name":"uint256","nodeType":"ElementaryTypeName","src":"36106:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24225,"mutability":"mutable","name":"p3","nameLocation":"36126:2:15","nodeType":"VariableDeclaration","scope":24240,"src":"36118:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24224,"name":"address","nodeType":"ElementaryTypeName","src":"36118:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36069:60:15"},"returnParameters":{"id":24227,"nodeType":"ParameterList","parameters":[],"src":"36144:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24263,"nodeType":"FunctionDefinition","src":"36261:203:15","nodes":[],"body":{"id":24262,"nodeType":"Block","src":"36354:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629","id":24254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36404:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},"value":"log(string,string,string,uint256)"},{"id":24255,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24242,"src":"36441:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24256,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24244,"src":"36445:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24257,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24246,"src":"36449:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24258,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24248,"src":"36453:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24252,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36380:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36380:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36380:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24251,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36364:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36364:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24261,"nodeType":"ExpressionStatement","src":"36364:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36270:3:15","parameters":{"id":24249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24242,"mutability":"mutable","name":"p0","nameLocation":"36288:2:15","nodeType":"VariableDeclaration","scope":24263,"src":"36274:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24241,"name":"string","nodeType":"ElementaryTypeName","src":"36274:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24244,"mutability":"mutable","name":"p1","nameLocation":"36306:2:15","nodeType":"VariableDeclaration","scope":24263,"src":"36292:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24243,"name":"string","nodeType":"ElementaryTypeName","src":"36292:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24246,"mutability":"mutable","name":"p2","nameLocation":"36324:2:15","nodeType":"VariableDeclaration","scope":24263,"src":"36310:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24245,"name":"string","nodeType":"ElementaryTypeName","src":"36310:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24248,"mutability":"mutable","name":"p3","nameLocation":"36336:2:15","nodeType":"VariableDeclaration","scope":24263,"src":"36328:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24247,"name":"uint256","nodeType":"ElementaryTypeName","src":"36328:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36273:66:15"},"returnParameters":{"id":24250,"nodeType":"ParameterList","parameters":[],"src":"36354:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24286,"nodeType":"FunctionDefinition","src":"36470:208:15","nodes":[],"body":{"id":24285,"nodeType":"Block","src":"36569:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":24277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36619:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":24278,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24265,"src":"36655:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24279,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24267,"src":"36659:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24280,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24269,"src":"36663:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24281,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24271,"src":"36667:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24275,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36595:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36595:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36595:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24274,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36579:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36579:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24284,"nodeType":"ExpressionStatement","src":"36579:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36479:3:15","parameters":{"id":24272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24265,"mutability":"mutable","name":"p0","nameLocation":"36497:2:15","nodeType":"VariableDeclaration","scope":24286,"src":"36483:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24264,"name":"string","nodeType":"ElementaryTypeName","src":"36483:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24267,"mutability":"mutable","name":"p1","nameLocation":"36515:2:15","nodeType":"VariableDeclaration","scope":24286,"src":"36501:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24266,"name":"string","nodeType":"ElementaryTypeName","src":"36501:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24269,"mutability":"mutable","name":"p2","nameLocation":"36533:2:15","nodeType":"VariableDeclaration","scope":24286,"src":"36519:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24268,"name":"string","nodeType":"ElementaryTypeName","src":"36519:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24271,"mutability":"mutable","name":"p3","nameLocation":"36551:2:15","nodeType":"VariableDeclaration","scope":24286,"src":"36537:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24270,"name":"string","nodeType":"ElementaryTypeName","src":"36537:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36482:72:15"},"returnParameters":{"id":24273,"nodeType":"ParameterList","parameters":[],"src":"36569:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24309,"nodeType":"FunctionDefinition","src":"36684:197:15","nodes":[],"body":{"id":24308,"nodeType":"Block","src":"36774:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":24300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36824:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":24301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24288,"src":"36858:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"36862:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24292,"src":"36866:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24304,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24294,"src":"36870:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36800:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36800:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36800:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36784:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36784:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24307,"nodeType":"ExpressionStatement","src":"36784:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36693:3:15","parameters":{"id":24295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24288,"mutability":"mutable","name":"p0","nameLocation":"36711:2:15","nodeType":"VariableDeclaration","scope":24309,"src":"36697:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24287,"name":"string","nodeType":"ElementaryTypeName","src":"36697:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24290,"mutability":"mutable","name":"p1","nameLocation":"36729:2:15","nodeType":"VariableDeclaration","scope":24309,"src":"36715:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24289,"name":"string","nodeType":"ElementaryTypeName","src":"36715:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24292,"mutability":"mutable","name":"p2","nameLocation":"36747:2:15","nodeType":"VariableDeclaration","scope":24309,"src":"36733:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24291,"name":"string","nodeType":"ElementaryTypeName","src":"36733:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24294,"mutability":"mutable","name":"p3","nameLocation":"36756:2:15","nodeType":"VariableDeclaration","scope":24309,"src":"36751:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24293,"name":"bool","nodeType":"ElementaryTypeName","src":"36751:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36696:63:15"},"returnParameters":{"id":24296,"nodeType":"ParameterList","parameters":[],"src":"36774:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24332,"nodeType":"FunctionDefinition","src":"36887:203:15","nodes":[],"body":{"id":24331,"nodeType":"Block","src":"36980:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":24323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37030:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":24324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24311,"src":"37067:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24325,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24313,"src":"37071:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24326,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24315,"src":"37075:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24327,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24317,"src":"37079:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37006:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37006:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37006:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36990:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36990:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24330,"nodeType":"ExpressionStatement","src":"36990:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36896:3:15","parameters":{"id":24318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24311,"mutability":"mutable","name":"p0","nameLocation":"36914:2:15","nodeType":"VariableDeclaration","scope":24332,"src":"36900:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24310,"name":"string","nodeType":"ElementaryTypeName","src":"36900:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24313,"mutability":"mutable","name":"p1","nameLocation":"36932:2:15","nodeType":"VariableDeclaration","scope":24332,"src":"36918:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24312,"name":"string","nodeType":"ElementaryTypeName","src":"36918:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24315,"mutability":"mutable","name":"p2","nameLocation":"36950:2:15","nodeType":"VariableDeclaration","scope":24332,"src":"36936:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24314,"name":"string","nodeType":"ElementaryTypeName","src":"36936:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24317,"mutability":"mutable","name":"p3","nameLocation":"36962:2:15","nodeType":"VariableDeclaration","scope":24332,"src":"36954:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24316,"name":"address","nodeType":"ElementaryTypeName","src":"36954:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36899:66:15"},"returnParameters":{"id":24319,"nodeType":"ParameterList","parameters":[],"src":"36980:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24355,"nodeType":"FunctionDefinition","src":"37096:192:15","nodes":[],"body":{"id":24354,"nodeType":"Block","src":"37180:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629","id":24346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37230:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},"value":"log(string,string,bool,uint256)"},{"id":24347,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24334,"src":"37265:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24348,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24336,"src":"37269:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24349,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24338,"src":"37273:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24350,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24340,"src":"37277:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24344,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37206:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37206:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37206:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24343,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37190:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37190:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24353,"nodeType":"ExpressionStatement","src":"37190:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37105:3:15","parameters":{"id":24341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24334,"mutability":"mutable","name":"p0","nameLocation":"37123:2:15","nodeType":"VariableDeclaration","scope":24355,"src":"37109:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24333,"name":"string","nodeType":"ElementaryTypeName","src":"37109:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24336,"mutability":"mutable","name":"p1","nameLocation":"37141:2:15","nodeType":"VariableDeclaration","scope":24355,"src":"37127:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24335,"name":"string","nodeType":"ElementaryTypeName","src":"37127:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24338,"mutability":"mutable","name":"p2","nameLocation":"37150:2:15","nodeType":"VariableDeclaration","scope":24355,"src":"37145:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24337,"name":"bool","nodeType":"ElementaryTypeName","src":"37145:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24340,"mutability":"mutable","name":"p3","nameLocation":"37162:2:15","nodeType":"VariableDeclaration","scope":24355,"src":"37154:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24339,"name":"uint256","nodeType":"ElementaryTypeName","src":"37154:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37108:57:15"},"returnParameters":{"id":24342,"nodeType":"ParameterList","parameters":[],"src":"37180:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24378,"nodeType":"FunctionDefinition","src":"37294:197:15","nodes":[],"body":{"id":24377,"nodeType":"Block","src":"37384:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":24369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37434:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":24370,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24357,"src":"37468:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24371,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24359,"src":"37472:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24372,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24361,"src":"37476:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24373,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24363,"src":"37480:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24367,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37410:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37410:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37410:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24366,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37394:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37394:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24376,"nodeType":"ExpressionStatement","src":"37394:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37303:3:15","parameters":{"id":24364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24357,"mutability":"mutable","name":"p0","nameLocation":"37321:2:15","nodeType":"VariableDeclaration","scope":24378,"src":"37307:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24356,"name":"string","nodeType":"ElementaryTypeName","src":"37307:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24359,"mutability":"mutable","name":"p1","nameLocation":"37339:2:15","nodeType":"VariableDeclaration","scope":24378,"src":"37325:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24358,"name":"string","nodeType":"ElementaryTypeName","src":"37325:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24361,"mutability":"mutable","name":"p2","nameLocation":"37348:2:15","nodeType":"VariableDeclaration","scope":24378,"src":"37343:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24360,"name":"bool","nodeType":"ElementaryTypeName","src":"37343:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24363,"mutability":"mutable","name":"p3","nameLocation":"37366:2:15","nodeType":"VariableDeclaration","scope":24378,"src":"37352:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24362,"name":"string","nodeType":"ElementaryTypeName","src":"37352:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37306:63:15"},"returnParameters":{"id":24365,"nodeType":"ParameterList","parameters":[],"src":"37384:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24401,"nodeType":"FunctionDefinition","src":"37497:186:15","nodes":[],"body":{"id":24400,"nodeType":"Block","src":"37578:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":24392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37628:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":24393,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24380,"src":"37660:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24394,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24382,"src":"37664:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24395,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24384,"src":"37668:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24396,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24386,"src":"37672:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24390,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37604:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37604:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37604:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24389,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37588:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37588:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24399,"nodeType":"ExpressionStatement","src":"37588:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37506:3:15","parameters":{"id":24387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24380,"mutability":"mutable","name":"p0","nameLocation":"37524:2:15","nodeType":"VariableDeclaration","scope":24401,"src":"37510:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24379,"name":"string","nodeType":"ElementaryTypeName","src":"37510:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24382,"mutability":"mutable","name":"p1","nameLocation":"37542:2:15","nodeType":"VariableDeclaration","scope":24401,"src":"37528:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24381,"name":"string","nodeType":"ElementaryTypeName","src":"37528:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24384,"mutability":"mutable","name":"p2","nameLocation":"37551:2:15","nodeType":"VariableDeclaration","scope":24401,"src":"37546:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24383,"name":"bool","nodeType":"ElementaryTypeName","src":"37546:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24386,"mutability":"mutable","name":"p3","nameLocation":"37560:2:15","nodeType":"VariableDeclaration","scope":24401,"src":"37555:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24385,"name":"bool","nodeType":"ElementaryTypeName","src":"37555:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37509:54:15"},"returnParameters":{"id":24388,"nodeType":"ParameterList","parameters":[],"src":"37578:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24424,"nodeType":"FunctionDefinition","src":"37689:192:15","nodes":[],"body":{"id":24423,"nodeType":"Block","src":"37773:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":24415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37823:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":24416,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24403,"src":"37858:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24417,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24405,"src":"37862:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24418,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24407,"src":"37866:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24419,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24409,"src":"37870:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24413,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37799:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37799:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37799:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24412,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37783:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37783:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24422,"nodeType":"ExpressionStatement","src":"37783:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37698:3:15","parameters":{"id":24410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24403,"mutability":"mutable","name":"p0","nameLocation":"37716:2:15","nodeType":"VariableDeclaration","scope":24424,"src":"37702:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24402,"name":"string","nodeType":"ElementaryTypeName","src":"37702:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24405,"mutability":"mutable","name":"p1","nameLocation":"37734:2:15","nodeType":"VariableDeclaration","scope":24424,"src":"37720:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24404,"name":"string","nodeType":"ElementaryTypeName","src":"37720:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24407,"mutability":"mutable","name":"p2","nameLocation":"37743:2:15","nodeType":"VariableDeclaration","scope":24424,"src":"37738:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24406,"name":"bool","nodeType":"ElementaryTypeName","src":"37738:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24409,"mutability":"mutable","name":"p3","nameLocation":"37755:2:15","nodeType":"VariableDeclaration","scope":24424,"src":"37747:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24408,"name":"address","nodeType":"ElementaryTypeName","src":"37747:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37701:57:15"},"returnParameters":{"id":24411,"nodeType":"ParameterList","parameters":[],"src":"37773:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24447,"nodeType":"FunctionDefinition","src":"37887:198:15","nodes":[],"body":{"id":24446,"nodeType":"Block","src":"37974:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629","id":24438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38024:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},"value":"log(string,string,address,uint256)"},{"id":24439,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24426,"src":"38062:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24440,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24428,"src":"38066:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24441,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24430,"src":"38070:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24442,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24432,"src":"38074:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38000:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38000:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38000:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37984:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37984:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24445,"nodeType":"ExpressionStatement","src":"37984:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37896:3:15","parameters":{"id":24433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24426,"mutability":"mutable","name":"p0","nameLocation":"37914:2:15","nodeType":"VariableDeclaration","scope":24447,"src":"37900:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24425,"name":"string","nodeType":"ElementaryTypeName","src":"37900:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24428,"mutability":"mutable","name":"p1","nameLocation":"37932:2:15","nodeType":"VariableDeclaration","scope":24447,"src":"37918:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24427,"name":"string","nodeType":"ElementaryTypeName","src":"37918:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24430,"mutability":"mutable","name":"p2","nameLocation":"37944:2:15","nodeType":"VariableDeclaration","scope":24447,"src":"37936:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24429,"name":"address","nodeType":"ElementaryTypeName","src":"37936:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24432,"mutability":"mutable","name":"p3","nameLocation":"37956:2:15","nodeType":"VariableDeclaration","scope":24447,"src":"37948:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24431,"name":"uint256","nodeType":"ElementaryTypeName","src":"37948:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37899:60:15"},"returnParameters":{"id":24434,"nodeType":"ParameterList","parameters":[],"src":"37974:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24470,"nodeType":"FunctionDefinition","src":"38091:203:15","nodes":[],"body":{"id":24469,"nodeType":"Block","src":"38184:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":24461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38234:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":24462,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24449,"src":"38271:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24463,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24451,"src":"38275:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24464,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24453,"src":"38279:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24465,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24455,"src":"38283:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24459,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38210:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38210:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38210:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24458,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38194:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38194:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24468,"nodeType":"ExpressionStatement","src":"38194:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38100:3:15","parameters":{"id":24456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24449,"mutability":"mutable","name":"p0","nameLocation":"38118:2:15","nodeType":"VariableDeclaration","scope":24470,"src":"38104:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24448,"name":"string","nodeType":"ElementaryTypeName","src":"38104:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24451,"mutability":"mutable","name":"p1","nameLocation":"38136:2:15","nodeType":"VariableDeclaration","scope":24470,"src":"38122:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24450,"name":"string","nodeType":"ElementaryTypeName","src":"38122:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24453,"mutability":"mutable","name":"p2","nameLocation":"38148:2:15","nodeType":"VariableDeclaration","scope":24470,"src":"38140:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24452,"name":"address","nodeType":"ElementaryTypeName","src":"38140:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24455,"mutability":"mutable","name":"p3","nameLocation":"38166:2:15","nodeType":"VariableDeclaration","scope":24470,"src":"38152:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24454,"name":"string","nodeType":"ElementaryTypeName","src":"38152:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38103:66:15"},"returnParameters":{"id":24457,"nodeType":"ParameterList","parameters":[],"src":"38184:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24493,"nodeType":"FunctionDefinition","src":"38300:192:15","nodes":[],"body":{"id":24492,"nodeType":"Block","src":"38384:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":24484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38434:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":24485,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24472,"src":"38469:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24486,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24474,"src":"38473:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24487,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24476,"src":"38477:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24488,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24478,"src":"38481:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24482,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38410:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38410:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38410:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24481,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38394:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38394:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24491,"nodeType":"ExpressionStatement","src":"38394:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38309:3:15","parameters":{"id":24479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24472,"mutability":"mutable","name":"p0","nameLocation":"38327:2:15","nodeType":"VariableDeclaration","scope":24493,"src":"38313:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24471,"name":"string","nodeType":"ElementaryTypeName","src":"38313:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24474,"mutability":"mutable","name":"p1","nameLocation":"38345:2:15","nodeType":"VariableDeclaration","scope":24493,"src":"38331:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24473,"name":"string","nodeType":"ElementaryTypeName","src":"38331:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24476,"mutability":"mutable","name":"p2","nameLocation":"38357:2:15","nodeType":"VariableDeclaration","scope":24493,"src":"38349:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24475,"name":"address","nodeType":"ElementaryTypeName","src":"38349:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24478,"mutability":"mutable","name":"p3","nameLocation":"38366:2:15","nodeType":"VariableDeclaration","scope":24493,"src":"38361:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24477,"name":"bool","nodeType":"ElementaryTypeName","src":"38361:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38312:57:15"},"returnParameters":{"id":24480,"nodeType":"ParameterList","parameters":[],"src":"38384:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24516,"nodeType":"FunctionDefinition","src":"38498:198:15","nodes":[],"body":{"id":24515,"nodeType":"Block","src":"38585:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":24507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38635:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":24508,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24495,"src":"38673:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24509,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24497,"src":"38677:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24510,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24499,"src":"38681:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24511,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24501,"src":"38685:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24505,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38611:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38611:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38611:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24504,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38595:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38595:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24514,"nodeType":"ExpressionStatement","src":"38595:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38507:3:15","parameters":{"id":24502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24495,"mutability":"mutable","name":"p0","nameLocation":"38525:2:15","nodeType":"VariableDeclaration","scope":24516,"src":"38511:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24494,"name":"string","nodeType":"ElementaryTypeName","src":"38511:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24497,"mutability":"mutable","name":"p1","nameLocation":"38543:2:15","nodeType":"VariableDeclaration","scope":24516,"src":"38529:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24496,"name":"string","nodeType":"ElementaryTypeName","src":"38529:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24499,"mutability":"mutable","name":"p2","nameLocation":"38555:2:15","nodeType":"VariableDeclaration","scope":24516,"src":"38547:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24498,"name":"address","nodeType":"ElementaryTypeName","src":"38547:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24501,"mutability":"mutable","name":"p3","nameLocation":"38567:2:15","nodeType":"VariableDeclaration","scope":24516,"src":"38559:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24500,"name":"address","nodeType":"ElementaryTypeName","src":"38559:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38510:60:15"},"returnParameters":{"id":24503,"nodeType":"ParameterList","parameters":[],"src":"38585:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24539,"nodeType":"FunctionDefinition","src":"38702:187:15","nodes":[],"body":{"id":24538,"nodeType":"Block","src":"38780:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629","id":24530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38830:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},"value":"log(string,bool,uint256,uint256)"},{"id":24531,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24518,"src":"38866:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24532,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24520,"src":"38870:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24533,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24522,"src":"38874:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24534,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24524,"src":"38878:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24528,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38806:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38806:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38806:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24527,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38790:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38790:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24537,"nodeType":"ExpressionStatement","src":"38790:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38711:3:15","parameters":{"id":24525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24518,"mutability":"mutable","name":"p0","nameLocation":"38729:2:15","nodeType":"VariableDeclaration","scope":24539,"src":"38715:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24517,"name":"string","nodeType":"ElementaryTypeName","src":"38715:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24520,"mutability":"mutable","name":"p1","nameLocation":"38738:2:15","nodeType":"VariableDeclaration","scope":24539,"src":"38733:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24519,"name":"bool","nodeType":"ElementaryTypeName","src":"38733:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24522,"mutability":"mutable","name":"p2","nameLocation":"38750:2:15","nodeType":"VariableDeclaration","scope":24539,"src":"38742:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24521,"name":"uint256","nodeType":"ElementaryTypeName","src":"38742:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24524,"mutability":"mutable","name":"p3","nameLocation":"38762:2:15","nodeType":"VariableDeclaration","scope":24539,"src":"38754:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24523,"name":"uint256","nodeType":"ElementaryTypeName","src":"38754:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38714:51:15"},"returnParameters":{"id":24526,"nodeType":"ParameterList","parameters":[],"src":"38780:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24562,"nodeType":"FunctionDefinition","src":"38895:192:15","nodes":[],"body":{"id":24561,"nodeType":"Block","src":"38979:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729","id":24553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39029:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},"value":"log(string,bool,uint256,string)"},{"id":24554,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24541,"src":"39064:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24555,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24543,"src":"39068:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24556,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24545,"src":"39072:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24557,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24547,"src":"39076:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39005:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39005:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39005:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24550,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38989:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38989:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24560,"nodeType":"ExpressionStatement","src":"38989:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38904:3:15","parameters":{"id":24548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24541,"mutability":"mutable","name":"p0","nameLocation":"38922:2:15","nodeType":"VariableDeclaration","scope":24562,"src":"38908:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24540,"name":"string","nodeType":"ElementaryTypeName","src":"38908:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24543,"mutability":"mutable","name":"p1","nameLocation":"38931:2:15","nodeType":"VariableDeclaration","scope":24562,"src":"38926:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24542,"name":"bool","nodeType":"ElementaryTypeName","src":"38926:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24545,"mutability":"mutable","name":"p2","nameLocation":"38943:2:15","nodeType":"VariableDeclaration","scope":24562,"src":"38935:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24544,"name":"uint256","nodeType":"ElementaryTypeName","src":"38935:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24547,"mutability":"mutable","name":"p3","nameLocation":"38961:2:15","nodeType":"VariableDeclaration","scope":24562,"src":"38947:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24546,"name":"string","nodeType":"ElementaryTypeName","src":"38947:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38907:57:15"},"returnParameters":{"id":24549,"nodeType":"ParameterList","parameters":[],"src":"38979:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24585,"nodeType":"FunctionDefinition","src":"39093:181:15","nodes":[],"body":{"id":24584,"nodeType":"Block","src":"39168:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29","id":24576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39218:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},"value":"log(string,bool,uint256,bool)"},{"id":24577,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24564,"src":"39251:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24578,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24566,"src":"39255:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24579,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24568,"src":"39259:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24580,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24570,"src":"39263:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24574,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39194:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39194:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39194:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24573,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39178:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39178:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24583,"nodeType":"ExpressionStatement","src":"39178:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39102:3:15","parameters":{"id":24571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24564,"mutability":"mutable","name":"p0","nameLocation":"39120:2:15","nodeType":"VariableDeclaration","scope":24585,"src":"39106:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24563,"name":"string","nodeType":"ElementaryTypeName","src":"39106:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24566,"mutability":"mutable","name":"p1","nameLocation":"39129:2:15","nodeType":"VariableDeclaration","scope":24585,"src":"39124:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24565,"name":"bool","nodeType":"ElementaryTypeName","src":"39124:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24568,"mutability":"mutable","name":"p2","nameLocation":"39141:2:15","nodeType":"VariableDeclaration","scope":24585,"src":"39133:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24567,"name":"uint256","nodeType":"ElementaryTypeName","src":"39133:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24570,"mutability":"mutable","name":"p3","nameLocation":"39150:2:15","nodeType":"VariableDeclaration","scope":24585,"src":"39145:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24569,"name":"bool","nodeType":"ElementaryTypeName","src":"39145:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39105:48:15"},"returnParameters":{"id":24572,"nodeType":"ParameterList","parameters":[],"src":"39168:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24608,"nodeType":"FunctionDefinition","src":"39280:187:15","nodes":[],"body":{"id":24607,"nodeType":"Block","src":"39358:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329","id":24599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39408:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},"value":"log(string,bool,uint256,address)"},{"id":24600,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24587,"src":"39444:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24601,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24589,"src":"39448:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24602,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24591,"src":"39452:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24603,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24593,"src":"39456:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24597,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39384:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39384:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39384:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24596,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39368:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39368:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24606,"nodeType":"ExpressionStatement","src":"39368:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39289:3:15","parameters":{"id":24594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24587,"mutability":"mutable","name":"p0","nameLocation":"39307:2:15","nodeType":"VariableDeclaration","scope":24608,"src":"39293:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24586,"name":"string","nodeType":"ElementaryTypeName","src":"39293:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24589,"mutability":"mutable","name":"p1","nameLocation":"39316:2:15","nodeType":"VariableDeclaration","scope":24608,"src":"39311:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24588,"name":"bool","nodeType":"ElementaryTypeName","src":"39311:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24591,"mutability":"mutable","name":"p2","nameLocation":"39328:2:15","nodeType":"VariableDeclaration","scope":24608,"src":"39320:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24590,"name":"uint256","nodeType":"ElementaryTypeName","src":"39320:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24593,"mutability":"mutable","name":"p3","nameLocation":"39340:2:15","nodeType":"VariableDeclaration","scope":24608,"src":"39332:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24592,"name":"address","nodeType":"ElementaryTypeName","src":"39332:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39292:51:15"},"returnParameters":{"id":24595,"nodeType":"ParameterList","parameters":[],"src":"39358:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24631,"nodeType":"FunctionDefinition","src":"39473:192:15","nodes":[],"body":{"id":24630,"nodeType":"Block","src":"39557:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629","id":24622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39607:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},"value":"log(string,bool,string,uint256)"},{"id":24623,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24610,"src":"39642:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24624,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24612,"src":"39646:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24625,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24614,"src":"39650:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24626,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24616,"src":"39654:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24620,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39583:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39583:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39583:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24619,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39567:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39567:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24629,"nodeType":"ExpressionStatement","src":"39567:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39482:3:15","parameters":{"id":24617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24610,"mutability":"mutable","name":"p0","nameLocation":"39500:2:15","nodeType":"VariableDeclaration","scope":24631,"src":"39486:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24609,"name":"string","nodeType":"ElementaryTypeName","src":"39486:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24612,"mutability":"mutable","name":"p1","nameLocation":"39509:2:15","nodeType":"VariableDeclaration","scope":24631,"src":"39504:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24611,"name":"bool","nodeType":"ElementaryTypeName","src":"39504:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24614,"mutability":"mutable","name":"p2","nameLocation":"39527:2:15","nodeType":"VariableDeclaration","scope":24631,"src":"39513:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24613,"name":"string","nodeType":"ElementaryTypeName","src":"39513:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24616,"mutability":"mutable","name":"p3","nameLocation":"39539:2:15","nodeType":"VariableDeclaration","scope":24631,"src":"39531:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24615,"name":"uint256","nodeType":"ElementaryTypeName","src":"39531:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39485:57:15"},"returnParameters":{"id":24618,"nodeType":"ParameterList","parameters":[],"src":"39557:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24654,"nodeType":"FunctionDefinition","src":"39671:197:15","nodes":[],"body":{"id":24653,"nodeType":"Block","src":"39761:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":24645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39811:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":24646,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24633,"src":"39845:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24647,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24635,"src":"39849:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24648,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24637,"src":"39853:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24649,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24639,"src":"39857:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24643,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39787:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39787:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39787:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24642,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39771:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39771:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24652,"nodeType":"ExpressionStatement","src":"39771:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39680:3:15","parameters":{"id":24640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24633,"mutability":"mutable","name":"p0","nameLocation":"39698:2:15","nodeType":"VariableDeclaration","scope":24654,"src":"39684:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24632,"name":"string","nodeType":"ElementaryTypeName","src":"39684:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24635,"mutability":"mutable","name":"p1","nameLocation":"39707:2:15","nodeType":"VariableDeclaration","scope":24654,"src":"39702:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24634,"name":"bool","nodeType":"ElementaryTypeName","src":"39702:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24637,"mutability":"mutable","name":"p2","nameLocation":"39725:2:15","nodeType":"VariableDeclaration","scope":24654,"src":"39711:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24636,"name":"string","nodeType":"ElementaryTypeName","src":"39711:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24639,"mutability":"mutable","name":"p3","nameLocation":"39743:2:15","nodeType":"VariableDeclaration","scope":24654,"src":"39729:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24638,"name":"string","nodeType":"ElementaryTypeName","src":"39729:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39683:63:15"},"returnParameters":{"id":24641,"nodeType":"ParameterList","parameters":[],"src":"39761:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24677,"nodeType":"FunctionDefinition","src":"39874:186:15","nodes":[],"body":{"id":24676,"nodeType":"Block","src":"39955:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":24668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40005:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":24669,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24656,"src":"40037:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24670,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24658,"src":"40041:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24671,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24660,"src":"40045:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24672,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24662,"src":"40049:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24666,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39981:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39981:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39981:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24665,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39965:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39965:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24675,"nodeType":"ExpressionStatement","src":"39965:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39883:3:15","parameters":{"id":24663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24656,"mutability":"mutable","name":"p0","nameLocation":"39901:2:15","nodeType":"VariableDeclaration","scope":24677,"src":"39887:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24655,"name":"string","nodeType":"ElementaryTypeName","src":"39887:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24658,"mutability":"mutable","name":"p1","nameLocation":"39910:2:15","nodeType":"VariableDeclaration","scope":24677,"src":"39905:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24657,"name":"bool","nodeType":"ElementaryTypeName","src":"39905:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24660,"mutability":"mutable","name":"p2","nameLocation":"39928:2:15","nodeType":"VariableDeclaration","scope":24677,"src":"39914:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24659,"name":"string","nodeType":"ElementaryTypeName","src":"39914:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24662,"mutability":"mutable","name":"p3","nameLocation":"39937:2:15","nodeType":"VariableDeclaration","scope":24677,"src":"39932:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24661,"name":"bool","nodeType":"ElementaryTypeName","src":"39932:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39886:54:15"},"returnParameters":{"id":24664,"nodeType":"ParameterList","parameters":[],"src":"39955:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24700,"nodeType":"FunctionDefinition","src":"40066:192:15","nodes":[],"body":{"id":24699,"nodeType":"Block","src":"40150:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":24691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40200:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":24692,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24679,"src":"40235:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24693,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24681,"src":"40239:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24694,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24683,"src":"40243:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24695,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24685,"src":"40247:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24689,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40176:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40176:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40176:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24688,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40160:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40160:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24698,"nodeType":"ExpressionStatement","src":"40160:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40075:3:15","parameters":{"id":24686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24679,"mutability":"mutable","name":"p0","nameLocation":"40093:2:15","nodeType":"VariableDeclaration","scope":24700,"src":"40079:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24678,"name":"string","nodeType":"ElementaryTypeName","src":"40079:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24681,"mutability":"mutable","name":"p1","nameLocation":"40102:2:15","nodeType":"VariableDeclaration","scope":24700,"src":"40097:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24680,"name":"bool","nodeType":"ElementaryTypeName","src":"40097:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24683,"mutability":"mutable","name":"p2","nameLocation":"40120:2:15","nodeType":"VariableDeclaration","scope":24700,"src":"40106:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24682,"name":"string","nodeType":"ElementaryTypeName","src":"40106:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24685,"mutability":"mutable","name":"p3","nameLocation":"40132:2:15","nodeType":"VariableDeclaration","scope":24700,"src":"40124:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24684,"name":"address","nodeType":"ElementaryTypeName","src":"40124:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40078:57:15"},"returnParameters":{"id":24687,"nodeType":"ParameterList","parameters":[],"src":"40150:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24723,"nodeType":"FunctionDefinition","src":"40264:181:15","nodes":[],"body":{"id":24722,"nodeType":"Block","src":"40339:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629","id":24714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40389:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},"value":"log(string,bool,bool,uint256)"},{"id":24715,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24702,"src":"40422:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24716,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24704,"src":"40426:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24717,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24706,"src":"40430:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24718,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24708,"src":"40434:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24712,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40365:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40365:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40365:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24711,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40349:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40349:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24721,"nodeType":"ExpressionStatement","src":"40349:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40273:3:15","parameters":{"id":24709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24702,"mutability":"mutable","name":"p0","nameLocation":"40291:2:15","nodeType":"VariableDeclaration","scope":24723,"src":"40277:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24701,"name":"string","nodeType":"ElementaryTypeName","src":"40277:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24704,"mutability":"mutable","name":"p1","nameLocation":"40300:2:15","nodeType":"VariableDeclaration","scope":24723,"src":"40295:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24703,"name":"bool","nodeType":"ElementaryTypeName","src":"40295:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24706,"mutability":"mutable","name":"p2","nameLocation":"40309:2:15","nodeType":"VariableDeclaration","scope":24723,"src":"40304:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24705,"name":"bool","nodeType":"ElementaryTypeName","src":"40304:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24708,"mutability":"mutable","name":"p3","nameLocation":"40321:2:15","nodeType":"VariableDeclaration","scope":24723,"src":"40313:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24707,"name":"uint256","nodeType":"ElementaryTypeName","src":"40313:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40276:48:15"},"returnParameters":{"id":24710,"nodeType":"ParameterList","parameters":[],"src":"40339:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24746,"nodeType":"FunctionDefinition","src":"40451:186:15","nodes":[],"body":{"id":24745,"nodeType":"Block","src":"40532:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":24737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40582:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":24738,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24725,"src":"40614:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24739,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24727,"src":"40618:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24740,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24729,"src":"40622:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24741,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24731,"src":"40626:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24735,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40558:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40558:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40558:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24734,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40542:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40542:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24744,"nodeType":"ExpressionStatement","src":"40542:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40460:3:15","parameters":{"id":24732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24725,"mutability":"mutable","name":"p0","nameLocation":"40478:2:15","nodeType":"VariableDeclaration","scope":24746,"src":"40464:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24724,"name":"string","nodeType":"ElementaryTypeName","src":"40464:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24727,"mutability":"mutable","name":"p1","nameLocation":"40487:2:15","nodeType":"VariableDeclaration","scope":24746,"src":"40482:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24726,"name":"bool","nodeType":"ElementaryTypeName","src":"40482:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24729,"mutability":"mutable","name":"p2","nameLocation":"40496:2:15","nodeType":"VariableDeclaration","scope":24746,"src":"40491:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24728,"name":"bool","nodeType":"ElementaryTypeName","src":"40491:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24731,"mutability":"mutable","name":"p3","nameLocation":"40514:2:15","nodeType":"VariableDeclaration","scope":24746,"src":"40500:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24730,"name":"string","nodeType":"ElementaryTypeName","src":"40500:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40463:54:15"},"returnParameters":{"id":24733,"nodeType":"ParameterList","parameters":[],"src":"40532:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24769,"nodeType":"FunctionDefinition","src":"40643:175:15","nodes":[],"body":{"id":24768,"nodeType":"Block","src":"40715:103:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":24760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40765:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":24761,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24748,"src":"40795:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24762,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24750,"src":"40799:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24763,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24752,"src":"40803:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24764,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24754,"src":"40807:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40741:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40741:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40741:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40725:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40725:86:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24767,"nodeType":"ExpressionStatement","src":"40725:86:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40652:3:15","parameters":{"id":24755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24748,"mutability":"mutable","name":"p0","nameLocation":"40670:2:15","nodeType":"VariableDeclaration","scope":24769,"src":"40656:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24747,"name":"string","nodeType":"ElementaryTypeName","src":"40656:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24750,"mutability":"mutable","name":"p1","nameLocation":"40679:2:15","nodeType":"VariableDeclaration","scope":24769,"src":"40674:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24749,"name":"bool","nodeType":"ElementaryTypeName","src":"40674:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24752,"mutability":"mutable","name":"p2","nameLocation":"40688:2:15","nodeType":"VariableDeclaration","scope":24769,"src":"40683:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24751,"name":"bool","nodeType":"ElementaryTypeName","src":"40683:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24754,"mutability":"mutable","name":"p3","nameLocation":"40697:2:15","nodeType":"VariableDeclaration","scope":24769,"src":"40692:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24753,"name":"bool","nodeType":"ElementaryTypeName","src":"40692:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40655:45:15"},"returnParameters":{"id":24756,"nodeType":"ParameterList","parameters":[],"src":"40715:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24792,"nodeType":"FunctionDefinition","src":"40824:181:15","nodes":[],"body":{"id":24791,"nodeType":"Block","src":"40899:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":24783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40949:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":24784,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24771,"src":"40982:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24785,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24773,"src":"40986:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24786,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24775,"src":"40990:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24787,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24777,"src":"40994:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40925:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40925:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40925:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40909:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40909:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24790,"nodeType":"ExpressionStatement","src":"40909:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40833:3:15","parameters":{"id":24778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24771,"mutability":"mutable","name":"p0","nameLocation":"40851:2:15","nodeType":"VariableDeclaration","scope":24792,"src":"40837:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24770,"name":"string","nodeType":"ElementaryTypeName","src":"40837:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24773,"mutability":"mutable","name":"p1","nameLocation":"40860:2:15","nodeType":"VariableDeclaration","scope":24792,"src":"40855:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24772,"name":"bool","nodeType":"ElementaryTypeName","src":"40855:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24775,"mutability":"mutable","name":"p2","nameLocation":"40869:2:15","nodeType":"VariableDeclaration","scope":24792,"src":"40864:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24774,"name":"bool","nodeType":"ElementaryTypeName","src":"40864:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24777,"mutability":"mutable","name":"p3","nameLocation":"40881:2:15","nodeType":"VariableDeclaration","scope":24792,"src":"40873:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24776,"name":"address","nodeType":"ElementaryTypeName","src":"40873:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40836:48:15"},"returnParameters":{"id":24779,"nodeType":"ParameterList","parameters":[],"src":"40899:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24815,"nodeType":"FunctionDefinition","src":"41011:187:15","nodes":[],"body":{"id":24814,"nodeType":"Block","src":"41089:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629","id":24806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41139:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},"value":"log(string,bool,address,uint256)"},{"id":24807,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24794,"src":"41175:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24808,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24796,"src":"41179:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24809,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24798,"src":"41183:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24810,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24800,"src":"41187:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41115:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41115:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41115:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41099:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41099:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24813,"nodeType":"ExpressionStatement","src":"41099:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41020:3:15","parameters":{"id":24801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24794,"mutability":"mutable","name":"p0","nameLocation":"41038:2:15","nodeType":"VariableDeclaration","scope":24815,"src":"41024:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24793,"name":"string","nodeType":"ElementaryTypeName","src":"41024:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24796,"mutability":"mutable","name":"p1","nameLocation":"41047:2:15","nodeType":"VariableDeclaration","scope":24815,"src":"41042:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24795,"name":"bool","nodeType":"ElementaryTypeName","src":"41042:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24798,"mutability":"mutable","name":"p2","nameLocation":"41059:2:15","nodeType":"VariableDeclaration","scope":24815,"src":"41051:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24797,"name":"address","nodeType":"ElementaryTypeName","src":"41051:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24800,"mutability":"mutable","name":"p3","nameLocation":"41071:2:15","nodeType":"VariableDeclaration","scope":24815,"src":"41063:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24799,"name":"uint256","nodeType":"ElementaryTypeName","src":"41063:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41023:51:15"},"returnParameters":{"id":24802,"nodeType":"ParameterList","parameters":[],"src":"41089:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24838,"nodeType":"FunctionDefinition","src":"41204:192:15","nodes":[],"body":{"id":24837,"nodeType":"Block","src":"41288:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":24829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41338:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":24830,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24817,"src":"41373:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24831,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24819,"src":"41377:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24832,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24821,"src":"41381:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24833,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24823,"src":"41385:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24827,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41314:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41314:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41314:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24826,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41298:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41298:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24836,"nodeType":"ExpressionStatement","src":"41298:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41213:3:15","parameters":{"id":24824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24817,"mutability":"mutable","name":"p0","nameLocation":"41231:2:15","nodeType":"VariableDeclaration","scope":24838,"src":"41217:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24816,"name":"string","nodeType":"ElementaryTypeName","src":"41217:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24819,"mutability":"mutable","name":"p1","nameLocation":"41240:2:15","nodeType":"VariableDeclaration","scope":24838,"src":"41235:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24818,"name":"bool","nodeType":"ElementaryTypeName","src":"41235:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24821,"mutability":"mutable","name":"p2","nameLocation":"41252:2:15","nodeType":"VariableDeclaration","scope":24838,"src":"41244:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24820,"name":"address","nodeType":"ElementaryTypeName","src":"41244:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24823,"mutability":"mutable","name":"p3","nameLocation":"41270:2:15","nodeType":"VariableDeclaration","scope":24838,"src":"41256:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24822,"name":"string","nodeType":"ElementaryTypeName","src":"41256:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41216:57:15"},"returnParameters":{"id":24825,"nodeType":"ParameterList","parameters":[],"src":"41288:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24861,"nodeType":"FunctionDefinition","src":"41402:181:15","nodes":[],"body":{"id":24860,"nodeType":"Block","src":"41477:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":24852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41527:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":24853,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24840,"src":"41560:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24854,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24842,"src":"41564:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24855,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24844,"src":"41568:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24856,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24846,"src":"41572:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41503:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41503:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41503:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24849,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41487:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41487:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24859,"nodeType":"ExpressionStatement","src":"41487:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41411:3:15","parameters":{"id":24847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24840,"mutability":"mutable","name":"p0","nameLocation":"41429:2:15","nodeType":"VariableDeclaration","scope":24861,"src":"41415:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24839,"name":"string","nodeType":"ElementaryTypeName","src":"41415:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24842,"mutability":"mutable","name":"p1","nameLocation":"41438:2:15","nodeType":"VariableDeclaration","scope":24861,"src":"41433:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24841,"name":"bool","nodeType":"ElementaryTypeName","src":"41433:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24844,"mutability":"mutable","name":"p2","nameLocation":"41450:2:15","nodeType":"VariableDeclaration","scope":24861,"src":"41442:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24843,"name":"address","nodeType":"ElementaryTypeName","src":"41442:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24846,"mutability":"mutable","name":"p3","nameLocation":"41459:2:15","nodeType":"VariableDeclaration","scope":24861,"src":"41454:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24845,"name":"bool","nodeType":"ElementaryTypeName","src":"41454:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41414:48:15"},"returnParameters":{"id":24848,"nodeType":"ParameterList","parameters":[],"src":"41477:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24884,"nodeType":"FunctionDefinition","src":"41589:187:15","nodes":[],"body":{"id":24883,"nodeType":"Block","src":"41667:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":24875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41717:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":24876,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24863,"src":"41753:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24877,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24865,"src":"41757:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24878,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24867,"src":"41761:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24879,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24869,"src":"41765:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24873,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41693:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41693:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41693:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24872,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41677:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41677:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24882,"nodeType":"ExpressionStatement","src":"41677:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41598:3:15","parameters":{"id":24870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24863,"mutability":"mutable","name":"p0","nameLocation":"41616:2:15","nodeType":"VariableDeclaration","scope":24884,"src":"41602:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24862,"name":"string","nodeType":"ElementaryTypeName","src":"41602:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24865,"mutability":"mutable","name":"p1","nameLocation":"41625:2:15","nodeType":"VariableDeclaration","scope":24884,"src":"41620:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24864,"name":"bool","nodeType":"ElementaryTypeName","src":"41620:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24867,"mutability":"mutable","name":"p2","nameLocation":"41637:2:15","nodeType":"VariableDeclaration","scope":24884,"src":"41629:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24866,"name":"address","nodeType":"ElementaryTypeName","src":"41629:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24869,"mutability":"mutable","name":"p3","nameLocation":"41649:2:15","nodeType":"VariableDeclaration","scope":24884,"src":"41641:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24868,"name":"address","nodeType":"ElementaryTypeName","src":"41641:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41601:51:15"},"returnParameters":{"id":24871,"nodeType":"ParameterList","parameters":[],"src":"41667:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24907,"nodeType":"FunctionDefinition","src":"41782:193:15","nodes":[],"body":{"id":24906,"nodeType":"Block","src":"41863:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629","id":24898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41913:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},"value":"log(string,address,uint256,uint256)"},{"id":24899,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24886,"src":"41952:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24900,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24888,"src":"41956:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24901,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24890,"src":"41960:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24902,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"41964:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41889:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41889:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41889:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41873:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41873:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24905,"nodeType":"ExpressionStatement","src":"41873:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41791:3:15","parameters":{"id":24893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24886,"mutability":"mutable","name":"p0","nameLocation":"41809:2:15","nodeType":"VariableDeclaration","scope":24907,"src":"41795:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24885,"name":"string","nodeType":"ElementaryTypeName","src":"41795:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24888,"mutability":"mutable","name":"p1","nameLocation":"41821:2:15","nodeType":"VariableDeclaration","scope":24907,"src":"41813:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24887,"name":"address","nodeType":"ElementaryTypeName","src":"41813:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24890,"mutability":"mutable","name":"p2","nameLocation":"41833:2:15","nodeType":"VariableDeclaration","scope":24907,"src":"41825:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24889,"name":"uint256","nodeType":"ElementaryTypeName","src":"41825:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24892,"mutability":"mutable","name":"p3","nameLocation":"41845:2:15","nodeType":"VariableDeclaration","scope":24907,"src":"41837:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24891,"name":"uint256","nodeType":"ElementaryTypeName","src":"41837:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41794:54:15"},"returnParameters":{"id":24894,"nodeType":"ParameterList","parameters":[],"src":"41863:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24930,"nodeType":"FunctionDefinition","src":"41981:198:15","nodes":[],"body":{"id":24929,"nodeType":"Block","src":"42068:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729","id":24921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42118:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},"value":"log(string,address,uint256,string)"},{"id":24922,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24909,"src":"42156:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24923,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24911,"src":"42160:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24924,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24913,"src":"42164:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24925,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24915,"src":"42168:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24919,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42094:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42094:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42094:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24918,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42078:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42078:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24928,"nodeType":"ExpressionStatement","src":"42078:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41990:3:15","parameters":{"id":24916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24909,"mutability":"mutable","name":"p0","nameLocation":"42008:2:15","nodeType":"VariableDeclaration","scope":24930,"src":"41994:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24908,"name":"string","nodeType":"ElementaryTypeName","src":"41994:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24911,"mutability":"mutable","name":"p1","nameLocation":"42020:2:15","nodeType":"VariableDeclaration","scope":24930,"src":"42012:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24910,"name":"address","nodeType":"ElementaryTypeName","src":"42012:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24913,"mutability":"mutable","name":"p2","nameLocation":"42032:2:15","nodeType":"VariableDeclaration","scope":24930,"src":"42024:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24912,"name":"uint256","nodeType":"ElementaryTypeName","src":"42024:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24915,"mutability":"mutable","name":"p3","nameLocation":"42050:2:15","nodeType":"VariableDeclaration","scope":24930,"src":"42036:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24914,"name":"string","nodeType":"ElementaryTypeName","src":"42036:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41993:60:15"},"returnParameters":{"id":24917,"nodeType":"ParameterList","parameters":[],"src":"42068:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24953,"nodeType":"FunctionDefinition","src":"42185:187:15","nodes":[],"body":{"id":24952,"nodeType":"Block","src":"42263:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29","id":24944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42313:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},"value":"log(string,address,uint256,bool)"},{"id":24945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24932,"src":"42349:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24934,"src":"42353:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24947,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24936,"src":"42357:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24948,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24938,"src":"42361:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42289:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42289:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42289:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42273:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42273:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24951,"nodeType":"ExpressionStatement","src":"42273:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42194:3:15","parameters":{"id":24939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24932,"mutability":"mutable","name":"p0","nameLocation":"42212:2:15","nodeType":"VariableDeclaration","scope":24953,"src":"42198:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24931,"name":"string","nodeType":"ElementaryTypeName","src":"42198:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24934,"mutability":"mutable","name":"p1","nameLocation":"42224:2:15","nodeType":"VariableDeclaration","scope":24953,"src":"42216:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24933,"name":"address","nodeType":"ElementaryTypeName","src":"42216:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24936,"mutability":"mutable","name":"p2","nameLocation":"42236:2:15","nodeType":"VariableDeclaration","scope":24953,"src":"42228:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24935,"name":"uint256","nodeType":"ElementaryTypeName","src":"42228:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24938,"mutability":"mutable","name":"p3","nameLocation":"42245:2:15","nodeType":"VariableDeclaration","scope":24953,"src":"42240:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24937,"name":"bool","nodeType":"ElementaryTypeName","src":"42240:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42197:51:15"},"returnParameters":{"id":24940,"nodeType":"ParameterList","parameters":[],"src":"42263:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24976,"nodeType":"FunctionDefinition","src":"42378:193:15","nodes":[],"body":{"id":24975,"nodeType":"Block","src":"42459:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329","id":24967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42509:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},"value":"log(string,address,uint256,address)"},{"id":24968,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24955,"src":"42548:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24969,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24957,"src":"42552:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24970,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24959,"src":"42556:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24971,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24961,"src":"42560:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24965,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42485:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42485:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42485:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24964,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42469:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42469:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24974,"nodeType":"ExpressionStatement","src":"42469:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42387:3:15","parameters":{"id":24962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24955,"mutability":"mutable","name":"p0","nameLocation":"42405:2:15","nodeType":"VariableDeclaration","scope":24976,"src":"42391:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24954,"name":"string","nodeType":"ElementaryTypeName","src":"42391:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24957,"mutability":"mutable","name":"p1","nameLocation":"42417:2:15","nodeType":"VariableDeclaration","scope":24976,"src":"42409:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24956,"name":"address","nodeType":"ElementaryTypeName","src":"42409:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24959,"mutability":"mutable","name":"p2","nameLocation":"42429:2:15","nodeType":"VariableDeclaration","scope":24976,"src":"42421:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24958,"name":"uint256","nodeType":"ElementaryTypeName","src":"42421:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24961,"mutability":"mutable","name":"p3","nameLocation":"42441:2:15","nodeType":"VariableDeclaration","scope":24976,"src":"42433:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24960,"name":"address","nodeType":"ElementaryTypeName","src":"42433:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42390:54:15"},"returnParameters":{"id":24963,"nodeType":"ParameterList","parameters":[],"src":"42459:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24999,"nodeType":"FunctionDefinition","src":"42577:198:15","nodes":[],"body":{"id":24998,"nodeType":"Block","src":"42664:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629","id":24990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42714:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},"value":"log(string,address,string,uint256)"},{"id":24991,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24978,"src":"42752:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24992,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24980,"src":"42756:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24993,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24982,"src":"42760:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24994,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24984,"src":"42764:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24988,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42690:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42690:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42690:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24987,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42674:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42674:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24997,"nodeType":"ExpressionStatement","src":"42674:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42586:3:15","parameters":{"id":24985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24978,"mutability":"mutable","name":"p0","nameLocation":"42604:2:15","nodeType":"VariableDeclaration","scope":24999,"src":"42590:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24977,"name":"string","nodeType":"ElementaryTypeName","src":"42590:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24980,"mutability":"mutable","name":"p1","nameLocation":"42616:2:15","nodeType":"VariableDeclaration","scope":24999,"src":"42608:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24979,"name":"address","nodeType":"ElementaryTypeName","src":"42608:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24982,"mutability":"mutable","name":"p2","nameLocation":"42634:2:15","nodeType":"VariableDeclaration","scope":24999,"src":"42620:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24981,"name":"string","nodeType":"ElementaryTypeName","src":"42620:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24984,"mutability":"mutable","name":"p3","nameLocation":"42646:2:15","nodeType":"VariableDeclaration","scope":24999,"src":"42638:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24983,"name":"uint256","nodeType":"ElementaryTypeName","src":"42638:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42589:60:15"},"returnParameters":{"id":24986,"nodeType":"ParameterList","parameters":[],"src":"42664:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25022,"nodeType":"FunctionDefinition","src":"42781:203:15","nodes":[],"body":{"id":25021,"nodeType":"Block","src":"42874:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":25013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42924:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":25014,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25001,"src":"42961:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25015,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25003,"src":"42965:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25016,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25005,"src":"42969:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25017,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25007,"src":"42973:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25011,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42900:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42900:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42900:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25010,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42884:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42884:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25020,"nodeType":"ExpressionStatement","src":"42884:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42790:3:15","parameters":{"id":25008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25001,"mutability":"mutable","name":"p0","nameLocation":"42808:2:15","nodeType":"VariableDeclaration","scope":25022,"src":"42794:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25000,"name":"string","nodeType":"ElementaryTypeName","src":"42794:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25003,"mutability":"mutable","name":"p1","nameLocation":"42820:2:15","nodeType":"VariableDeclaration","scope":25022,"src":"42812:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25002,"name":"address","nodeType":"ElementaryTypeName","src":"42812:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25005,"mutability":"mutable","name":"p2","nameLocation":"42838:2:15","nodeType":"VariableDeclaration","scope":25022,"src":"42824:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25004,"name":"string","nodeType":"ElementaryTypeName","src":"42824:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25007,"mutability":"mutable","name":"p3","nameLocation":"42856:2:15","nodeType":"VariableDeclaration","scope":25022,"src":"42842:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25006,"name":"string","nodeType":"ElementaryTypeName","src":"42842:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42793:66:15"},"returnParameters":{"id":25009,"nodeType":"ParameterList","parameters":[],"src":"42874:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25045,"nodeType":"FunctionDefinition","src":"42990:192:15","nodes":[],"body":{"id":25044,"nodeType":"Block","src":"43074:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":25036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43124:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":25037,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25024,"src":"43159:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25038,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25026,"src":"43163:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25039,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25028,"src":"43167:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25040,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25030,"src":"43171:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25034,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43100:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43100:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43100:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25033,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43084:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43084:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25043,"nodeType":"ExpressionStatement","src":"43084:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42999:3:15","parameters":{"id":25031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25024,"mutability":"mutable","name":"p0","nameLocation":"43017:2:15","nodeType":"VariableDeclaration","scope":25045,"src":"43003:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25023,"name":"string","nodeType":"ElementaryTypeName","src":"43003:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25026,"mutability":"mutable","name":"p1","nameLocation":"43029:2:15","nodeType":"VariableDeclaration","scope":25045,"src":"43021:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25025,"name":"address","nodeType":"ElementaryTypeName","src":"43021:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25028,"mutability":"mutable","name":"p2","nameLocation":"43047:2:15","nodeType":"VariableDeclaration","scope":25045,"src":"43033:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25027,"name":"string","nodeType":"ElementaryTypeName","src":"43033:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25030,"mutability":"mutable","name":"p3","nameLocation":"43056:2:15","nodeType":"VariableDeclaration","scope":25045,"src":"43051:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25029,"name":"bool","nodeType":"ElementaryTypeName","src":"43051:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43002:57:15"},"returnParameters":{"id":25032,"nodeType":"ParameterList","parameters":[],"src":"43074:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25068,"nodeType":"FunctionDefinition","src":"43188:198:15","nodes":[],"body":{"id":25067,"nodeType":"Block","src":"43275:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":25059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43325:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":25060,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25047,"src":"43363:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25061,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25049,"src":"43367:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25062,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25051,"src":"43371:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25063,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25053,"src":"43375:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25057,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43301:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43301:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43301:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25056,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43285:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43285:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25066,"nodeType":"ExpressionStatement","src":"43285:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43197:3:15","parameters":{"id":25054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25047,"mutability":"mutable","name":"p0","nameLocation":"43215:2:15","nodeType":"VariableDeclaration","scope":25068,"src":"43201:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25046,"name":"string","nodeType":"ElementaryTypeName","src":"43201:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25049,"mutability":"mutable","name":"p1","nameLocation":"43227:2:15","nodeType":"VariableDeclaration","scope":25068,"src":"43219:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25048,"name":"address","nodeType":"ElementaryTypeName","src":"43219:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25051,"mutability":"mutable","name":"p2","nameLocation":"43245:2:15","nodeType":"VariableDeclaration","scope":25068,"src":"43231:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25050,"name":"string","nodeType":"ElementaryTypeName","src":"43231:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25053,"mutability":"mutable","name":"p3","nameLocation":"43257:2:15","nodeType":"VariableDeclaration","scope":25068,"src":"43249:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25052,"name":"address","nodeType":"ElementaryTypeName","src":"43249:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43200:60:15"},"returnParameters":{"id":25055,"nodeType":"ParameterList","parameters":[],"src":"43275:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25091,"nodeType":"FunctionDefinition","src":"43392:187:15","nodes":[],"body":{"id":25090,"nodeType":"Block","src":"43470:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629","id":25082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43520:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},"value":"log(string,address,bool,uint256)"},{"id":25083,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"43556:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25084,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25072,"src":"43560:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25085,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25074,"src":"43564:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25086,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25076,"src":"43568:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25080,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43496:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43496:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43496:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25079,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43480:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43480:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25089,"nodeType":"ExpressionStatement","src":"43480:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43401:3:15","parameters":{"id":25077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25070,"mutability":"mutable","name":"p0","nameLocation":"43419:2:15","nodeType":"VariableDeclaration","scope":25091,"src":"43405:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25069,"name":"string","nodeType":"ElementaryTypeName","src":"43405:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25072,"mutability":"mutable","name":"p1","nameLocation":"43431:2:15","nodeType":"VariableDeclaration","scope":25091,"src":"43423:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25071,"name":"address","nodeType":"ElementaryTypeName","src":"43423:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25074,"mutability":"mutable","name":"p2","nameLocation":"43440:2:15","nodeType":"VariableDeclaration","scope":25091,"src":"43435:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25073,"name":"bool","nodeType":"ElementaryTypeName","src":"43435:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25076,"mutability":"mutable","name":"p3","nameLocation":"43452:2:15","nodeType":"VariableDeclaration","scope":25091,"src":"43444:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25075,"name":"uint256","nodeType":"ElementaryTypeName","src":"43444:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43404:51:15"},"returnParameters":{"id":25078,"nodeType":"ParameterList","parameters":[],"src":"43470:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25114,"nodeType":"FunctionDefinition","src":"43585:192:15","nodes":[],"body":{"id":25113,"nodeType":"Block","src":"43669:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":25105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43719:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":25106,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25093,"src":"43754:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25107,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25095,"src":"43758:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25108,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25097,"src":"43762:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25109,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25099,"src":"43766:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25103,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43695:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43695:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43695:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25102,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43679:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43679:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25112,"nodeType":"ExpressionStatement","src":"43679:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43594:3:15","parameters":{"id":25100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25093,"mutability":"mutable","name":"p0","nameLocation":"43612:2:15","nodeType":"VariableDeclaration","scope":25114,"src":"43598:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25092,"name":"string","nodeType":"ElementaryTypeName","src":"43598:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25095,"mutability":"mutable","name":"p1","nameLocation":"43624:2:15","nodeType":"VariableDeclaration","scope":25114,"src":"43616:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25094,"name":"address","nodeType":"ElementaryTypeName","src":"43616:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25097,"mutability":"mutable","name":"p2","nameLocation":"43633:2:15","nodeType":"VariableDeclaration","scope":25114,"src":"43628:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25096,"name":"bool","nodeType":"ElementaryTypeName","src":"43628:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25099,"mutability":"mutable","name":"p3","nameLocation":"43651:2:15","nodeType":"VariableDeclaration","scope":25114,"src":"43637:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25098,"name":"string","nodeType":"ElementaryTypeName","src":"43637:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43597:57:15"},"returnParameters":{"id":25101,"nodeType":"ParameterList","parameters":[],"src":"43669:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25137,"nodeType":"FunctionDefinition","src":"43783:181:15","nodes":[],"body":{"id":25136,"nodeType":"Block","src":"43858:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":25128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43908:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":25129,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25116,"src":"43941:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25130,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25118,"src":"43945:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25131,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25120,"src":"43949:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25132,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25122,"src":"43953:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43884:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43884:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43884:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25125,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43868:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43868:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25135,"nodeType":"ExpressionStatement","src":"43868:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43792:3:15","parameters":{"id":25123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25116,"mutability":"mutable","name":"p0","nameLocation":"43810:2:15","nodeType":"VariableDeclaration","scope":25137,"src":"43796:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25115,"name":"string","nodeType":"ElementaryTypeName","src":"43796:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25118,"mutability":"mutable","name":"p1","nameLocation":"43822:2:15","nodeType":"VariableDeclaration","scope":25137,"src":"43814:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25117,"name":"address","nodeType":"ElementaryTypeName","src":"43814:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25120,"mutability":"mutable","name":"p2","nameLocation":"43831:2:15","nodeType":"VariableDeclaration","scope":25137,"src":"43826:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25119,"name":"bool","nodeType":"ElementaryTypeName","src":"43826:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25122,"mutability":"mutable","name":"p3","nameLocation":"43840:2:15","nodeType":"VariableDeclaration","scope":25137,"src":"43835:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25121,"name":"bool","nodeType":"ElementaryTypeName","src":"43835:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43795:48:15"},"returnParameters":{"id":25124,"nodeType":"ParameterList","parameters":[],"src":"43858:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25160,"nodeType":"FunctionDefinition","src":"43970:187:15","nodes":[],"body":{"id":25159,"nodeType":"Block","src":"44048:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":25151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44098:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":25152,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25139,"src":"44134:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25153,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25141,"src":"44138:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25154,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25143,"src":"44142:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25155,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25145,"src":"44146:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25149,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44074:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44074:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44074:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25148,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44058:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44058:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25158,"nodeType":"ExpressionStatement","src":"44058:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43979:3:15","parameters":{"id":25146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25139,"mutability":"mutable","name":"p0","nameLocation":"43997:2:15","nodeType":"VariableDeclaration","scope":25160,"src":"43983:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25138,"name":"string","nodeType":"ElementaryTypeName","src":"43983:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25141,"mutability":"mutable","name":"p1","nameLocation":"44009:2:15","nodeType":"VariableDeclaration","scope":25160,"src":"44001:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25140,"name":"address","nodeType":"ElementaryTypeName","src":"44001:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25143,"mutability":"mutable","name":"p2","nameLocation":"44018:2:15","nodeType":"VariableDeclaration","scope":25160,"src":"44013:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25142,"name":"bool","nodeType":"ElementaryTypeName","src":"44013:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25145,"mutability":"mutable","name":"p3","nameLocation":"44030:2:15","nodeType":"VariableDeclaration","scope":25160,"src":"44022:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25144,"name":"address","nodeType":"ElementaryTypeName","src":"44022:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43982:51:15"},"returnParameters":{"id":25147,"nodeType":"ParameterList","parameters":[],"src":"44048:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25183,"nodeType":"FunctionDefinition","src":"44163:193:15","nodes":[],"body":{"id":25182,"nodeType":"Block","src":"44244:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629","id":25174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44294:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},"value":"log(string,address,address,uint256)"},{"id":25175,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25162,"src":"44333:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25176,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25164,"src":"44337:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25177,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25166,"src":"44341:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25178,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25168,"src":"44345:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25172,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44270:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44270:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44270:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25171,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44254:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44254:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25181,"nodeType":"ExpressionStatement","src":"44254:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44172:3:15","parameters":{"id":25169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25162,"mutability":"mutable","name":"p0","nameLocation":"44190:2:15","nodeType":"VariableDeclaration","scope":25183,"src":"44176:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25161,"name":"string","nodeType":"ElementaryTypeName","src":"44176:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25164,"mutability":"mutable","name":"p1","nameLocation":"44202:2:15","nodeType":"VariableDeclaration","scope":25183,"src":"44194:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25163,"name":"address","nodeType":"ElementaryTypeName","src":"44194:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25166,"mutability":"mutable","name":"p2","nameLocation":"44214:2:15","nodeType":"VariableDeclaration","scope":25183,"src":"44206:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25165,"name":"address","nodeType":"ElementaryTypeName","src":"44206:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25168,"mutability":"mutable","name":"p3","nameLocation":"44226:2:15","nodeType":"VariableDeclaration","scope":25183,"src":"44218:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25167,"name":"uint256","nodeType":"ElementaryTypeName","src":"44218:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44175:54:15"},"returnParameters":{"id":25170,"nodeType":"ParameterList","parameters":[],"src":"44244:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25206,"nodeType":"FunctionDefinition","src":"44362:198:15","nodes":[],"body":{"id":25205,"nodeType":"Block","src":"44449:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":25197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44499:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":25198,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25185,"src":"44537:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25199,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25187,"src":"44541:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25200,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25189,"src":"44545:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25201,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25191,"src":"44549:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25195,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44475:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44475:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44475:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25194,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44459:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44459:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25204,"nodeType":"ExpressionStatement","src":"44459:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44371:3:15","parameters":{"id":25192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25185,"mutability":"mutable","name":"p0","nameLocation":"44389:2:15","nodeType":"VariableDeclaration","scope":25206,"src":"44375:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25184,"name":"string","nodeType":"ElementaryTypeName","src":"44375:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25187,"mutability":"mutable","name":"p1","nameLocation":"44401:2:15","nodeType":"VariableDeclaration","scope":25206,"src":"44393:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25186,"name":"address","nodeType":"ElementaryTypeName","src":"44393:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25189,"mutability":"mutable","name":"p2","nameLocation":"44413:2:15","nodeType":"VariableDeclaration","scope":25206,"src":"44405:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25188,"name":"address","nodeType":"ElementaryTypeName","src":"44405:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25191,"mutability":"mutable","name":"p3","nameLocation":"44431:2:15","nodeType":"VariableDeclaration","scope":25206,"src":"44417:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25190,"name":"string","nodeType":"ElementaryTypeName","src":"44417:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44374:60:15"},"returnParameters":{"id":25193,"nodeType":"ParameterList","parameters":[],"src":"44449:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25229,"nodeType":"FunctionDefinition","src":"44566:187:15","nodes":[],"body":{"id":25228,"nodeType":"Block","src":"44644:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":25220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44694:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":25221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25208,"src":"44730:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25210,"src":"44734:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25212,"src":"44738:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25224,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25214,"src":"44742:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44670:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44670:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44670:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44654:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44654:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25227,"nodeType":"ExpressionStatement","src":"44654:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44575:3:15","parameters":{"id":25215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25208,"mutability":"mutable","name":"p0","nameLocation":"44593:2:15","nodeType":"VariableDeclaration","scope":25229,"src":"44579:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25207,"name":"string","nodeType":"ElementaryTypeName","src":"44579:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25210,"mutability":"mutable","name":"p1","nameLocation":"44605:2:15","nodeType":"VariableDeclaration","scope":25229,"src":"44597:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25209,"name":"address","nodeType":"ElementaryTypeName","src":"44597:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25212,"mutability":"mutable","name":"p2","nameLocation":"44617:2:15","nodeType":"VariableDeclaration","scope":25229,"src":"44609:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25211,"name":"address","nodeType":"ElementaryTypeName","src":"44609:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25214,"mutability":"mutable","name":"p3","nameLocation":"44626:2:15","nodeType":"VariableDeclaration","scope":25229,"src":"44621:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25213,"name":"bool","nodeType":"ElementaryTypeName","src":"44621:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44578:51:15"},"returnParameters":{"id":25216,"nodeType":"ParameterList","parameters":[],"src":"44644:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25252,"nodeType":"FunctionDefinition","src":"44759:193:15","nodes":[],"body":{"id":25251,"nodeType":"Block","src":"44840:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":25243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44890:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":25244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25231,"src":"44929:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25245,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25233,"src":"44933:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25246,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25235,"src":"44937:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25247,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25237,"src":"44941:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44866:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44866:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44866:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44850:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44850:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25250,"nodeType":"ExpressionStatement","src":"44850:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44768:3:15","parameters":{"id":25238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25231,"mutability":"mutable","name":"p0","nameLocation":"44786:2:15","nodeType":"VariableDeclaration","scope":25252,"src":"44772:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25230,"name":"string","nodeType":"ElementaryTypeName","src":"44772:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25233,"mutability":"mutable","name":"p1","nameLocation":"44798:2:15","nodeType":"VariableDeclaration","scope":25252,"src":"44790:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25232,"name":"address","nodeType":"ElementaryTypeName","src":"44790:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25235,"mutability":"mutable","name":"p2","nameLocation":"44810:2:15","nodeType":"VariableDeclaration","scope":25252,"src":"44802:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25234,"name":"address","nodeType":"ElementaryTypeName","src":"44802:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25237,"mutability":"mutable","name":"p3","nameLocation":"44822:2:15","nodeType":"VariableDeclaration","scope":25252,"src":"44814:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25236,"name":"address","nodeType":"ElementaryTypeName","src":"44814:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44771:54:15"},"returnParameters":{"id":25239,"nodeType":"ParameterList","parameters":[],"src":"44840:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25275,"nodeType":"FunctionDefinition","src":"44958:182:15","nodes":[],"body":{"id":25274,"nodeType":"Block","src":"45030:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629","id":25266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45080:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},"value":"log(bool,uint256,uint256,uint256)"},{"id":25267,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25254,"src":"45117:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25268,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25256,"src":"45121:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25269,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25258,"src":"45125:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25270,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25260,"src":"45129:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25264,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45056:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45056:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45056:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25263,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45040:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45040:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25273,"nodeType":"ExpressionStatement","src":"45040:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44967:3:15","parameters":{"id":25261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25254,"mutability":"mutable","name":"p0","nameLocation":"44976:2:15","nodeType":"VariableDeclaration","scope":25275,"src":"44971:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25253,"name":"bool","nodeType":"ElementaryTypeName","src":"44971:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25256,"mutability":"mutable","name":"p1","nameLocation":"44988:2:15","nodeType":"VariableDeclaration","scope":25275,"src":"44980:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25255,"name":"uint256","nodeType":"ElementaryTypeName","src":"44980:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25258,"mutability":"mutable","name":"p2","nameLocation":"45000:2:15","nodeType":"VariableDeclaration","scope":25275,"src":"44992:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25257,"name":"uint256","nodeType":"ElementaryTypeName","src":"44992:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25260,"mutability":"mutable","name":"p3","nameLocation":"45012:2:15","nodeType":"VariableDeclaration","scope":25275,"src":"45004:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25259,"name":"uint256","nodeType":"ElementaryTypeName","src":"45004:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44970:45:15"},"returnParameters":{"id":25262,"nodeType":"ParameterList","parameters":[],"src":"45030:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25298,"nodeType":"FunctionDefinition","src":"45146:187:15","nodes":[],"body":{"id":25297,"nodeType":"Block","src":"45224:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729","id":25289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45274:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},"value":"log(bool,uint256,uint256,string)"},{"id":25290,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25277,"src":"45310:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25291,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25279,"src":"45314:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25292,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25281,"src":"45318:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25293,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25283,"src":"45322:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45250:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45250:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45250:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25286,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45234:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45234:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25296,"nodeType":"ExpressionStatement","src":"45234:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45155:3:15","parameters":{"id":25284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25277,"mutability":"mutable","name":"p0","nameLocation":"45164:2:15","nodeType":"VariableDeclaration","scope":25298,"src":"45159:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25276,"name":"bool","nodeType":"ElementaryTypeName","src":"45159:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25279,"mutability":"mutable","name":"p1","nameLocation":"45176:2:15","nodeType":"VariableDeclaration","scope":25298,"src":"45168:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25278,"name":"uint256","nodeType":"ElementaryTypeName","src":"45168:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25281,"mutability":"mutable","name":"p2","nameLocation":"45188:2:15","nodeType":"VariableDeclaration","scope":25298,"src":"45180:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25280,"name":"uint256","nodeType":"ElementaryTypeName","src":"45180:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25283,"mutability":"mutable","name":"p3","nameLocation":"45206:2:15","nodeType":"VariableDeclaration","scope":25298,"src":"45192:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25282,"name":"string","nodeType":"ElementaryTypeName","src":"45192:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45158:51:15"},"returnParameters":{"id":25285,"nodeType":"ParameterList","parameters":[],"src":"45224:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25321,"nodeType":"FunctionDefinition","src":"45339:176:15","nodes":[],"body":{"id":25320,"nodeType":"Block","src":"45408:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29","id":25312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45458:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},"value":"log(bool,uint256,uint256,bool)"},{"id":25313,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25300,"src":"45492:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25314,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25302,"src":"45496:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25315,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25304,"src":"45500:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25316,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25306,"src":"45504:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25310,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45434:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45434:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45434:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25309,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45418:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45418:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25319,"nodeType":"ExpressionStatement","src":"45418:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45348:3:15","parameters":{"id":25307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25300,"mutability":"mutable","name":"p0","nameLocation":"45357:2:15","nodeType":"VariableDeclaration","scope":25321,"src":"45352:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25299,"name":"bool","nodeType":"ElementaryTypeName","src":"45352:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25302,"mutability":"mutable","name":"p1","nameLocation":"45369:2:15","nodeType":"VariableDeclaration","scope":25321,"src":"45361:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25301,"name":"uint256","nodeType":"ElementaryTypeName","src":"45361:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25304,"mutability":"mutable","name":"p2","nameLocation":"45381:2:15","nodeType":"VariableDeclaration","scope":25321,"src":"45373:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25303,"name":"uint256","nodeType":"ElementaryTypeName","src":"45373:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25306,"mutability":"mutable","name":"p3","nameLocation":"45390:2:15","nodeType":"VariableDeclaration","scope":25321,"src":"45385:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25305,"name":"bool","nodeType":"ElementaryTypeName","src":"45385:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45351:42:15"},"returnParameters":{"id":25308,"nodeType":"ParameterList","parameters":[],"src":"45408:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25344,"nodeType":"FunctionDefinition","src":"45521:182:15","nodes":[],"body":{"id":25343,"nodeType":"Block","src":"45593:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329","id":25335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45643:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},"value":"log(bool,uint256,uint256,address)"},{"id":25336,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25323,"src":"45680:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25337,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25325,"src":"45684:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25338,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25327,"src":"45688:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25339,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25329,"src":"45692:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25333,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45619:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45619:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45619:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25332,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45603:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45603:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25342,"nodeType":"ExpressionStatement","src":"45603:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45530:3:15","parameters":{"id":25330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25323,"mutability":"mutable","name":"p0","nameLocation":"45539:2:15","nodeType":"VariableDeclaration","scope":25344,"src":"45534:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25322,"name":"bool","nodeType":"ElementaryTypeName","src":"45534:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25325,"mutability":"mutable","name":"p1","nameLocation":"45551:2:15","nodeType":"VariableDeclaration","scope":25344,"src":"45543:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25324,"name":"uint256","nodeType":"ElementaryTypeName","src":"45543:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25327,"mutability":"mutable","name":"p2","nameLocation":"45563:2:15","nodeType":"VariableDeclaration","scope":25344,"src":"45555:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25326,"name":"uint256","nodeType":"ElementaryTypeName","src":"45555:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25329,"mutability":"mutable","name":"p3","nameLocation":"45575:2:15","nodeType":"VariableDeclaration","scope":25344,"src":"45567:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25328,"name":"address","nodeType":"ElementaryTypeName","src":"45567:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45533:45:15"},"returnParameters":{"id":25331,"nodeType":"ParameterList","parameters":[],"src":"45593:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25367,"nodeType":"FunctionDefinition","src":"45709:187:15","nodes":[],"body":{"id":25366,"nodeType":"Block","src":"45787:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629","id":25358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45837:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},"value":"log(bool,uint256,string,uint256)"},{"id":25359,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25346,"src":"45873:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25360,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25348,"src":"45877:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25361,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25350,"src":"45881:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25362,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25352,"src":"45885:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45813:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45813:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45813:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45797:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45797:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25365,"nodeType":"ExpressionStatement","src":"45797:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45718:3:15","parameters":{"id":25353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25346,"mutability":"mutable","name":"p0","nameLocation":"45727:2:15","nodeType":"VariableDeclaration","scope":25367,"src":"45722:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25345,"name":"bool","nodeType":"ElementaryTypeName","src":"45722:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25348,"mutability":"mutable","name":"p1","nameLocation":"45739:2:15","nodeType":"VariableDeclaration","scope":25367,"src":"45731:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25347,"name":"uint256","nodeType":"ElementaryTypeName","src":"45731:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25350,"mutability":"mutable","name":"p2","nameLocation":"45757:2:15","nodeType":"VariableDeclaration","scope":25367,"src":"45743:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25349,"name":"string","nodeType":"ElementaryTypeName","src":"45743:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25352,"mutability":"mutable","name":"p3","nameLocation":"45769:2:15","nodeType":"VariableDeclaration","scope":25367,"src":"45761:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25351,"name":"uint256","nodeType":"ElementaryTypeName","src":"45761:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45721:51:15"},"returnParameters":{"id":25354,"nodeType":"ParameterList","parameters":[],"src":"45787:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25390,"nodeType":"FunctionDefinition","src":"45902:192:15","nodes":[],"body":{"id":25389,"nodeType":"Block","src":"45986:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729","id":25381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46036:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},"value":"log(bool,uint256,string,string)"},{"id":25382,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25369,"src":"46071:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25383,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25371,"src":"46075:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25384,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"46079:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25385,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25375,"src":"46083:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25379,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46012:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46012:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46012:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25378,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45996:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45996:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25388,"nodeType":"ExpressionStatement","src":"45996:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45911:3:15","parameters":{"id":25376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25369,"mutability":"mutable","name":"p0","nameLocation":"45920:2:15","nodeType":"VariableDeclaration","scope":25390,"src":"45915:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25368,"name":"bool","nodeType":"ElementaryTypeName","src":"45915:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25371,"mutability":"mutable","name":"p1","nameLocation":"45932:2:15","nodeType":"VariableDeclaration","scope":25390,"src":"45924:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25370,"name":"uint256","nodeType":"ElementaryTypeName","src":"45924:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25373,"mutability":"mutable","name":"p2","nameLocation":"45950:2:15","nodeType":"VariableDeclaration","scope":25390,"src":"45936:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25372,"name":"string","nodeType":"ElementaryTypeName","src":"45936:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25375,"mutability":"mutable","name":"p3","nameLocation":"45968:2:15","nodeType":"VariableDeclaration","scope":25390,"src":"45954:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25374,"name":"string","nodeType":"ElementaryTypeName","src":"45954:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45914:57:15"},"returnParameters":{"id":25377,"nodeType":"ParameterList","parameters":[],"src":"45986:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25413,"nodeType":"FunctionDefinition","src":"46100:181:15","nodes":[],"body":{"id":25412,"nodeType":"Block","src":"46175:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29","id":25404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46225:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},"value":"log(bool,uint256,string,bool)"},{"id":25405,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25392,"src":"46258:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25406,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25394,"src":"46262:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25407,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25396,"src":"46266:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25408,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25398,"src":"46270:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46201:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46201:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46201:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46185:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46185:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25411,"nodeType":"ExpressionStatement","src":"46185:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46109:3:15","parameters":{"id":25399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25392,"mutability":"mutable","name":"p0","nameLocation":"46118:2:15","nodeType":"VariableDeclaration","scope":25413,"src":"46113:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25391,"name":"bool","nodeType":"ElementaryTypeName","src":"46113:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25394,"mutability":"mutable","name":"p1","nameLocation":"46130:2:15","nodeType":"VariableDeclaration","scope":25413,"src":"46122:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25393,"name":"uint256","nodeType":"ElementaryTypeName","src":"46122:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25396,"mutability":"mutable","name":"p2","nameLocation":"46148:2:15","nodeType":"VariableDeclaration","scope":25413,"src":"46134:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25395,"name":"string","nodeType":"ElementaryTypeName","src":"46134:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25398,"mutability":"mutable","name":"p3","nameLocation":"46157:2:15","nodeType":"VariableDeclaration","scope":25413,"src":"46152:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25397,"name":"bool","nodeType":"ElementaryTypeName","src":"46152:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46112:48:15"},"returnParameters":{"id":25400,"nodeType":"ParameterList","parameters":[],"src":"46175:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25436,"nodeType":"FunctionDefinition","src":"46287:187:15","nodes":[],"body":{"id":25435,"nodeType":"Block","src":"46365:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329","id":25427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46415:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},"value":"log(bool,uint256,string,address)"},{"id":25428,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25415,"src":"46451:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25429,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25417,"src":"46455:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25430,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25419,"src":"46459:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25431,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25421,"src":"46463:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25425,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46391:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46391:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46391:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25424,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46375:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46375:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25434,"nodeType":"ExpressionStatement","src":"46375:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46296:3:15","parameters":{"id":25422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25415,"mutability":"mutable","name":"p0","nameLocation":"46305:2:15","nodeType":"VariableDeclaration","scope":25436,"src":"46300:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25414,"name":"bool","nodeType":"ElementaryTypeName","src":"46300:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25417,"mutability":"mutable","name":"p1","nameLocation":"46317:2:15","nodeType":"VariableDeclaration","scope":25436,"src":"46309:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25416,"name":"uint256","nodeType":"ElementaryTypeName","src":"46309:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25419,"mutability":"mutable","name":"p2","nameLocation":"46335:2:15","nodeType":"VariableDeclaration","scope":25436,"src":"46321:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25418,"name":"string","nodeType":"ElementaryTypeName","src":"46321:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25421,"mutability":"mutable","name":"p3","nameLocation":"46347:2:15","nodeType":"VariableDeclaration","scope":25436,"src":"46339:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25420,"name":"address","nodeType":"ElementaryTypeName","src":"46339:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46299:51:15"},"returnParameters":{"id":25423,"nodeType":"ParameterList","parameters":[],"src":"46365:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25459,"nodeType":"FunctionDefinition","src":"46480:176:15","nodes":[],"body":{"id":25458,"nodeType":"Block","src":"46549:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629","id":25450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46599:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},"value":"log(bool,uint256,bool,uint256)"},{"id":25451,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25438,"src":"46633:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25452,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25440,"src":"46637:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25453,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25442,"src":"46641:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25454,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25444,"src":"46645:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25448,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46575:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46575:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46575:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25447,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46559:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46559:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25457,"nodeType":"ExpressionStatement","src":"46559:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46489:3:15","parameters":{"id":25445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25438,"mutability":"mutable","name":"p0","nameLocation":"46498:2:15","nodeType":"VariableDeclaration","scope":25459,"src":"46493:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25437,"name":"bool","nodeType":"ElementaryTypeName","src":"46493:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25440,"mutability":"mutable","name":"p1","nameLocation":"46510:2:15","nodeType":"VariableDeclaration","scope":25459,"src":"46502:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25439,"name":"uint256","nodeType":"ElementaryTypeName","src":"46502:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25442,"mutability":"mutable","name":"p2","nameLocation":"46519:2:15","nodeType":"VariableDeclaration","scope":25459,"src":"46514:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25441,"name":"bool","nodeType":"ElementaryTypeName","src":"46514:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25444,"mutability":"mutable","name":"p3","nameLocation":"46531:2:15","nodeType":"VariableDeclaration","scope":25459,"src":"46523:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25443,"name":"uint256","nodeType":"ElementaryTypeName","src":"46523:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46492:42:15"},"returnParameters":{"id":25446,"nodeType":"ParameterList","parameters":[],"src":"46549:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25482,"nodeType":"FunctionDefinition","src":"46662:181:15","nodes":[],"body":{"id":25481,"nodeType":"Block","src":"46737:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729","id":25473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46787:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},"value":"log(bool,uint256,bool,string)"},{"id":25474,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25461,"src":"46820:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25475,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25463,"src":"46824:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25476,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25465,"src":"46828:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25477,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25467,"src":"46832:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25471,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46763:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46763:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46763:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25470,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46747:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46747:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25480,"nodeType":"ExpressionStatement","src":"46747:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46671:3:15","parameters":{"id":25468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25461,"mutability":"mutable","name":"p0","nameLocation":"46680:2:15","nodeType":"VariableDeclaration","scope":25482,"src":"46675:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25460,"name":"bool","nodeType":"ElementaryTypeName","src":"46675:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25463,"mutability":"mutable","name":"p1","nameLocation":"46692:2:15","nodeType":"VariableDeclaration","scope":25482,"src":"46684:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25462,"name":"uint256","nodeType":"ElementaryTypeName","src":"46684:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25465,"mutability":"mutable","name":"p2","nameLocation":"46701:2:15","nodeType":"VariableDeclaration","scope":25482,"src":"46696:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25464,"name":"bool","nodeType":"ElementaryTypeName","src":"46696:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25467,"mutability":"mutable","name":"p3","nameLocation":"46719:2:15","nodeType":"VariableDeclaration","scope":25482,"src":"46705:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25466,"name":"string","nodeType":"ElementaryTypeName","src":"46705:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46674:48:15"},"returnParameters":{"id":25469,"nodeType":"ParameterList","parameters":[],"src":"46737:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25505,"nodeType":"FunctionDefinition","src":"46849:170:15","nodes":[],"body":{"id":25504,"nodeType":"Block","src":"46915:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29","id":25496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46965:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},"value":"log(bool,uint256,bool,bool)"},{"id":25497,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25484,"src":"46996:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25498,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25486,"src":"47000:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25499,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25488,"src":"47004:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25500,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25490,"src":"47008:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25494,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46941:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46941:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46941:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25493,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46925:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46925:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25503,"nodeType":"ExpressionStatement","src":"46925:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46858:3:15","parameters":{"id":25491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25484,"mutability":"mutable","name":"p0","nameLocation":"46867:2:15","nodeType":"VariableDeclaration","scope":25505,"src":"46862:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25483,"name":"bool","nodeType":"ElementaryTypeName","src":"46862:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25486,"mutability":"mutable","name":"p1","nameLocation":"46879:2:15","nodeType":"VariableDeclaration","scope":25505,"src":"46871:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25485,"name":"uint256","nodeType":"ElementaryTypeName","src":"46871:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25488,"mutability":"mutable","name":"p2","nameLocation":"46888:2:15","nodeType":"VariableDeclaration","scope":25505,"src":"46883:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25487,"name":"bool","nodeType":"ElementaryTypeName","src":"46883:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25490,"mutability":"mutable","name":"p3","nameLocation":"46897:2:15","nodeType":"VariableDeclaration","scope":25505,"src":"46892:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25489,"name":"bool","nodeType":"ElementaryTypeName","src":"46892:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46861:39:15"},"returnParameters":{"id":25492,"nodeType":"ParameterList","parameters":[],"src":"46915:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25528,"nodeType":"FunctionDefinition","src":"47025:176:15","nodes":[],"body":{"id":25527,"nodeType":"Block","src":"47094:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329","id":25519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47144:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},"value":"log(bool,uint256,bool,address)"},{"id":25520,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25507,"src":"47178:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25521,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25509,"src":"47182:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25522,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25511,"src":"47186:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25523,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25513,"src":"47190:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25517,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47120:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47120:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47120:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25516,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47104:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47104:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25526,"nodeType":"ExpressionStatement","src":"47104:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47034:3:15","parameters":{"id":25514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25507,"mutability":"mutable","name":"p0","nameLocation":"47043:2:15","nodeType":"VariableDeclaration","scope":25528,"src":"47038:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25506,"name":"bool","nodeType":"ElementaryTypeName","src":"47038:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25509,"mutability":"mutable","name":"p1","nameLocation":"47055:2:15","nodeType":"VariableDeclaration","scope":25528,"src":"47047:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25508,"name":"uint256","nodeType":"ElementaryTypeName","src":"47047:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25511,"mutability":"mutable","name":"p2","nameLocation":"47064:2:15","nodeType":"VariableDeclaration","scope":25528,"src":"47059:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25510,"name":"bool","nodeType":"ElementaryTypeName","src":"47059:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25513,"mutability":"mutable","name":"p3","nameLocation":"47076:2:15","nodeType":"VariableDeclaration","scope":25528,"src":"47068:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25512,"name":"address","nodeType":"ElementaryTypeName","src":"47068:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47037:42:15"},"returnParameters":{"id":25515,"nodeType":"ParameterList","parameters":[],"src":"47094:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25551,"nodeType":"FunctionDefinition","src":"47207:182:15","nodes":[],"body":{"id":25550,"nodeType":"Block","src":"47279:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629","id":25542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47329:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},"value":"log(bool,uint256,address,uint256)"},{"id":25543,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25530,"src":"47366:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25544,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25532,"src":"47370:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25545,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25534,"src":"47374:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25546,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25536,"src":"47378:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25540,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47305:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47305:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47305:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47289:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47289:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25549,"nodeType":"ExpressionStatement","src":"47289:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47216:3:15","parameters":{"id":25537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25530,"mutability":"mutable","name":"p0","nameLocation":"47225:2:15","nodeType":"VariableDeclaration","scope":25551,"src":"47220:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25529,"name":"bool","nodeType":"ElementaryTypeName","src":"47220:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25532,"mutability":"mutable","name":"p1","nameLocation":"47237:2:15","nodeType":"VariableDeclaration","scope":25551,"src":"47229:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25531,"name":"uint256","nodeType":"ElementaryTypeName","src":"47229:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25534,"mutability":"mutable","name":"p2","nameLocation":"47249:2:15","nodeType":"VariableDeclaration","scope":25551,"src":"47241:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25533,"name":"address","nodeType":"ElementaryTypeName","src":"47241:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25536,"mutability":"mutable","name":"p3","nameLocation":"47261:2:15","nodeType":"VariableDeclaration","scope":25551,"src":"47253:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25535,"name":"uint256","nodeType":"ElementaryTypeName","src":"47253:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47219:45:15"},"returnParameters":{"id":25538,"nodeType":"ParameterList","parameters":[],"src":"47279:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25574,"nodeType":"FunctionDefinition","src":"47395:187:15","nodes":[],"body":{"id":25573,"nodeType":"Block","src":"47473:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729","id":25565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47523:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},"value":"log(bool,uint256,address,string)"},{"id":25566,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25553,"src":"47559:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25567,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25555,"src":"47563:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25568,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25557,"src":"47567:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25569,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25559,"src":"47571:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25563,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47499:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47499:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47499:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25562,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47483:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47483:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25572,"nodeType":"ExpressionStatement","src":"47483:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47404:3:15","parameters":{"id":25560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25553,"mutability":"mutable","name":"p0","nameLocation":"47413:2:15","nodeType":"VariableDeclaration","scope":25574,"src":"47408:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25552,"name":"bool","nodeType":"ElementaryTypeName","src":"47408:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25555,"mutability":"mutable","name":"p1","nameLocation":"47425:2:15","nodeType":"VariableDeclaration","scope":25574,"src":"47417:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25554,"name":"uint256","nodeType":"ElementaryTypeName","src":"47417:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25557,"mutability":"mutable","name":"p2","nameLocation":"47437:2:15","nodeType":"VariableDeclaration","scope":25574,"src":"47429:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25556,"name":"address","nodeType":"ElementaryTypeName","src":"47429:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25559,"mutability":"mutable","name":"p3","nameLocation":"47455:2:15","nodeType":"VariableDeclaration","scope":25574,"src":"47441:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25558,"name":"string","nodeType":"ElementaryTypeName","src":"47441:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47407:51:15"},"returnParameters":{"id":25561,"nodeType":"ParameterList","parameters":[],"src":"47473:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25597,"nodeType":"FunctionDefinition","src":"47588:176:15","nodes":[],"body":{"id":25596,"nodeType":"Block","src":"47657:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29","id":25588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47707:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},"value":"log(bool,uint256,address,bool)"},{"id":25589,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25576,"src":"47741:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25590,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25578,"src":"47745:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25591,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25580,"src":"47749:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25592,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25582,"src":"47753:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25586,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47683:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47683:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47683:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25585,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47667:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47667:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25595,"nodeType":"ExpressionStatement","src":"47667:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47597:3:15","parameters":{"id":25583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25576,"mutability":"mutable","name":"p0","nameLocation":"47606:2:15","nodeType":"VariableDeclaration","scope":25597,"src":"47601:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25575,"name":"bool","nodeType":"ElementaryTypeName","src":"47601:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25578,"mutability":"mutable","name":"p1","nameLocation":"47618:2:15","nodeType":"VariableDeclaration","scope":25597,"src":"47610:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25577,"name":"uint256","nodeType":"ElementaryTypeName","src":"47610:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25580,"mutability":"mutable","name":"p2","nameLocation":"47630:2:15","nodeType":"VariableDeclaration","scope":25597,"src":"47622:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25579,"name":"address","nodeType":"ElementaryTypeName","src":"47622:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25582,"mutability":"mutable","name":"p3","nameLocation":"47639:2:15","nodeType":"VariableDeclaration","scope":25597,"src":"47634:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25581,"name":"bool","nodeType":"ElementaryTypeName","src":"47634:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47600:42:15"},"returnParameters":{"id":25584,"nodeType":"ParameterList","parameters":[],"src":"47657:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25620,"nodeType":"FunctionDefinition","src":"47770:182:15","nodes":[],"body":{"id":25619,"nodeType":"Block","src":"47842:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329","id":25611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47892:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},"value":"log(bool,uint256,address,address)"},{"id":25612,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25599,"src":"47929:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25613,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25601,"src":"47933:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25614,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25603,"src":"47937:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25615,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25605,"src":"47941:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25609,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47868:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47868:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47868:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25608,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47852:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47852:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25618,"nodeType":"ExpressionStatement","src":"47852:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47779:3:15","parameters":{"id":25606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25599,"mutability":"mutable","name":"p0","nameLocation":"47788:2:15","nodeType":"VariableDeclaration","scope":25620,"src":"47783:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25598,"name":"bool","nodeType":"ElementaryTypeName","src":"47783:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25601,"mutability":"mutable","name":"p1","nameLocation":"47800:2:15","nodeType":"VariableDeclaration","scope":25620,"src":"47792:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25600,"name":"uint256","nodeType":"ElementaryTypeName","src":"47792:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25603,"mutability":"mutable","name":"p2","nameLocation":"47812:2:15","nodeType":"VariableDeclaration","scope":25620,"src":"47804:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25602,"name":"address","nodeType":"ElementaryTypeName","src":"47804:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25605,"mutability":"mutable","name":"p3","nameLocation":"47824:2:15","nodeType":"VariableDeclaration","scope":25620,"src":"47816:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25604,"name":"address","nodeType":"ElementaryTypeName","src":"47816:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47782:45:15"},"returnParameters":{"id":25607,"nodeType":"ParameterList","parameters":[],"src":"47842:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25643,"nodeType":"FunctionDefinition","src":"47958:187:15","nodes":[],"body":{"id":25642,"nodeType":"Block","src":"48036:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629","id":25634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48086:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},"value":"log(bool,string,uint256,uint256)"},{"id":25635,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25622,"src":"48122:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25636,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25624,"src":"48126:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25637,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25626,"src":"48130:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25638,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25628,"src":"48134:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25632,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48062:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48062:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48062:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25631,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48046:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48046:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25641,"nodeType":"ExpressionStatement","src":"48046:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47967:3:15","parameters":{"id":25629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25622,"mutability":"mutable","name":"p0","nameLocation":"47976:2:15","nodeType":"VariableDeclaration","scope":25643,"src":"47971:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25621,"name":"bool","nodeType":"ElementaryTypeName","src":"47971:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25624,"mutability":"mutable","name":"p1","nameLocation":"47994:2:15","nodeType":"VariableDeclaration","scope":25643,"src":"47980:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25623,"name":"string","nodeType":"ElementaryTypeName","src":"47980:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25626,"mutability":"mutable","name":"p2","nameLocation":"48006:2:15","nodeType":"VariableDeclaration","scope":25643,"src":"47998:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25625,"name":"uint256","nodeType":"ElementaryTypeName","src":"47998:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25628,"mutability":"mutable","name":"p3","nameLocation":"48018:2:15","nodeType":"VariableDeclaration","scope":25643,"src":"48010:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25627,"name":"uint256","nodeType":"ElementaryTypeName","src":"48010:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47970:51:15"},"returnParameters":{"id":25630,"nodeType":"ParameterList","parameters":[],"src":"48036:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25666,"nodeType":"FunctionDefinition","src":"48151:192:15","nodes":[],"body":{"id":25665,"nodeType":"Block","src":"48235:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729","id":25657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48285:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},"value":"log(bool,string,uint256,string)"},{"id":25658,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25645,"src":"48320:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25659,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25647,"src":"48324:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25660,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25649,"src":"48328:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25661,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25651,"src":"48332:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48261:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48261:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48261:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25654,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48245:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48245:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25664,"nodeType":"ExpressionStatement","src":"48245:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48160:3:15","parameters":{"id":25652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25645,"mutability":"mutable","name":"p0","nameLocation":"48169:2:15","nodeType":"VariableDeclaration","scope":25666,"src":"48164:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25644,"name":"bool","nodeType":"ElementaryTypeName","src":"48164:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25647,"mutability":"mutable","name":"p1","nameLocation":"48187:2:15","nodeType":"VariableDeclaration","scope":25666,"src":"48173:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25646,"name":"string","nodeType":"ElementaryTypeName","src":"48173:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25649,"mutability":"mutable","name":"p2","nameLocation":"48199:2:15","nodeType":"VariableDeclaration","scope":25666,"src":"48191:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25648,"name":"uint256","nodeType":"ElementaryTypeName","src":"48191:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25651,"mutability":"mutable","name":"p3","nameLocation":"48217:2:15","nodeType":"VariableDeclaration","scope":25666,"src":"48203:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25650,"name":"string","nodeType":"ElementaryTypeName","src":"48203:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48163:57:15"},"returnParameters":{"id":25653,"nodeType":"ParameterList","parameters":[],"src":"48235:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25689,"nodeType":"FunctionDefinition","src":"48349:181:15","nodes":[],"body":{"id":25688,"nodeType":"Block","src":"48424:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29","id":25680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48474:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},"value":"log(bool,string,uint256,bool)"},{"id":25681,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25668,"src":"48507:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25682,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25670,"src":"48511:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25683,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25672,"src":"48515:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25684,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25674,"src":"48519:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48450:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48450:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48450:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48434:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48434:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25687,"nodeType":"ExpressionStatement","src":"48434:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48358:3:15","parameters":{"id":25675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25668,"mutability":"mutable","name":"p0","nameLocation":"48367:2:15","nodeType":"VariableDeclaration","scope":25689,"src":"48362:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25667,"name":"bool","nodeType":"ElementaryTypeName","src":"48362:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25670,"mutability":"mutable","name":"p1","nameLocation":"48385:2:15","nodeType":"VariableDeclaration","scope":25689,"src":"48371:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25669,"name":"string","nodeType":"ElementaryTypeName","src":"48371:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25672,"mutability":"mutable","name":"p2","nameLocation":"48397:2:15","nodeType":"VariableDeclaration","scope":25689,"src":"48389:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25671,"name":"uint256","nodeType":"ElementaryTypeName","src":"48389:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25674,"mutability":"mutable","name":"p3","nameLocation":"48406:2:15","nodeType":"VariableDeclaration","scope":25689,"src":"48401:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25673,"name":"bool","nodeType":"ElementaryTypeName","src":"48401:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48361:48:15"},"returnParameters":{"id":25676,"nodeType":"ParameterList","parameters":[],"src":"48424:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25712,"nodeType":"FunctionDefinition","src":"48536:187:15","nodes":[],"body":{"id":25711,"nodeType":"Block","src":"48614:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329","id":25703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48664:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},"value":"log(bool,string,uint256,address)"},{"id":25704,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25691,"src":"48700:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25705,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25693,"src":"48704:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25706,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25695,"src":"48708:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25707,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25697,"src":"48712:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48640:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48640:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48640:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25700,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48624:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48624:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25710,"nodeType":"ExpressionStatement","src":"48624:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48545:3:15","parameters":{"id":25698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25691,"mutability":"mutable","name":"p0","nameLocation":"48554:2:15","nodeType":"VariableDeclaration","scope":25712,"src":"48549:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25690,"name":"bool","nodeType":"ElementaryTypeName","src":"48549:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25693,"mutability":"mutable","name":"p1","nameLocation":"48572:2:15","nodeType":"VariableDeclaration","scope":25712,"src":"48558:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25692,"name":"string","nodeType":"ElementaryTypeName","src":"48558:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25695,"mutability":"mutable","name":"p2","nameLocation":"48584:2:15","nodeType":"VariableDeclaration","scope":25712,"src":"48576:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25694,"name":"uint256","nodeType":"ElementaryTypeName","src":"48576:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25697,"mutability":"mutable","name":"p3","nameLocation":"48596:2:15","nodeType":"VariableDeclaration","scope":25712,"src":"48588:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25696,"name":"address","nodeType":"ElementaryTypeName","src":"48588:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48548:51:15"},"returnParameters":{"id":25699,"nodeType":"ParameterList","parameters":[],"src":"48614:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25735,"nodeType":"FunctionDefinition","src":"48729:192:15","nodes":[],"body":{"id":25734,"nodeType":"Block","src":"48813:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629","id":25726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48863:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},"value":"log(bool,string,string,uint256)"},{"id":25727,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25714,"src":"48898:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25728,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25716,"src":"48902:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25729,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25718,"src":"48906:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25730,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25720,"src":"48910:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25724,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48839:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48839:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48839:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25723,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48823:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48823:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25733,"nodeType":"ExpressionStatement","src":"48823:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48738:3:15","parameters":{"id":25721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25714,"mutability":"mutable","name":"p0","nameLocation":"48747:2:15","nodeType":"VariableDeclaration","scope":25735,"src":"48742:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25713,"name":"bool","nodeType":"ElementaryTypeName","src":"48742:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25716,"mutability":"mutable","name":"p1","nameLocation":"48765:2:15","nodeType":"VariableDeclaration","scope":25735,"src":"48751:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25715,"name":"string","nodeType":"ElementaryTypeName","src":"48751:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25718,"mutability":"mutable","name":"p2","nameLocation":"48783:2:15","nodeType":"VariableDeclaration","scope":25735,"src":"48769:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25717,"name":"string","nodeType":"ElementaryTypeName","src":"48769:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25720,"mutability":"mutable","name":"p3","nameLocation":"48795:2:15","nodeType":"VariableDeclaration","scope":25735,"src":"48787:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25719,"name":"uint256","nodeType":"ElementaryTypeName","src":"48787:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48741:57:15"},"returnParameters":{"id":25722,"nodeType":"ParameterList","parameters":[],"src":"48813:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25758,"nodeType":"FunctionDefinition","src":"48927:197:15","nodes":[],"body":{"id":25757,"nodeType":"Block","src":"49017:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":25749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49067:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":25750,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25737,"src":"49101:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25751,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25739,"src":"49105:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25752,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25741,"src":"49109:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25753,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25743,"src":"49113:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25747,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49043:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49043:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49043:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25746,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49027:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49027:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25756,"nodeType":"ExpressionStatement","src":"49027:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48936:3:15","parameters":{"id":25744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25737,"mutability":"mutable","name":"p0","nameLocation":"48945:2:15","nodeType":"VariableDeclaration","scope":25758,"src":"48940:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25736,"name":"bool","nodeType":"ElementaryTypeName","src":"48940:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25739,"mutability":"mutable","name":"p1","nameLocation":"48963:2:15","nodeType":"VariableDeclaration","scope":25758,"src":"48949:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25738,"name":"string","nodeType":"ElementaryTypeName","src":"48949:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25741,"mutability":"mutable","name":"p2","nameLocation":"48981:2:15","nodeType":"VariableDeclaration","scope":25758,"src":"48967:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25740,"name":"string","nodeType":"ElementaryTypeName","src":"48967:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25743,"mutability":"mutable","name":"p3","nameLocation":"48999:2:15","nodeType":"VariableDeclaration","scope":25758,"src":"48985:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25742,"name":"string","nodeType":"ElementaryTypeName","src":"48985:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48939:63:15"},"returnParameters":{"id":25745,"nodeType":"ParameterList","parameters":[],"src":"49017:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25781,"nodeType":"FunctionDefinition","src":"49130:186:15","nodes":[],"body":{"id":25780,"nodeType":"Block","src":"49211:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":25772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49261:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":25773,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25760,"src":"49293:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25774,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25762,"src":"49297:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25775,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25764,"src":"49301:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25776,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25766,"src":"49305:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25770,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49237:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49237:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49237:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25769,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49221:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49221:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25779,"nodeType":"ExpressionStatement","src":"49221:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49139:3:15","parameters":{"id":25767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25760,"mutability":"mutable","name":"p0","nameLocation":"49148:2:15","nodeType":"VariableDeclaration","scope":25781,"src":"49143:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25759,"name":"bool","nodeType":"ElementaryTypeName","src":"49143:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25762,"mutability":"mutable","name":"p1","nameLocation":"49166:2:15","nodeType":"VariableDeclaration","scope":25781,"src":"49152:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25761,"name":"string","nodeType":"ElementaryTypeName","src":"49152:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25764,"mutability":"mutable","name":"p2","nameLocation":"49184:2:15","nodeType":"VariableDeclaration","scope":25781,"src":"49170:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25763,"name":"string","nodeType":"ElementaryTypeName","src":"49170:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25766,"mutability":"mutable","name":"p3","nameLocation":"49193:2:15","nodeType":"VariableDeclaration","scope":25781,"src":"49188:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25765,"name":"bool","nodeType":"ElementaryTypeName","src":"49188:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49142:54:15"},"returnParameters":{"id":25768,"nodeType":"ParameterList","parameters":[],"src":"49211:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25804,"nodeType":"FunctionDefinition","src":"49322:192:15","nodes":[],"body":{"id":25803,"nodeType":"Block","src":"49406:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":25795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49456:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":25796,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25783,"src":"49491:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25797,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25785,"src":"49495:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25798,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25787,"src":"49499:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25799,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25789,"src":"49503:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25793,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49432:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49432:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49432:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25792,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49416:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49416:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25802,"nodeType":"ExpressionStatement","src":"49416:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49331:3:15","parameters":{"id":25790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25783,"mutability":"mutable","name":"p0","nameLocation":"49340:2:15","nodeType":"VariableDeclaration","scope":25804,"src":"49335:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25782,"name":"bool","nodeType":"ElementaryTypeName","src":"49335:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25785,"mutability":"mutable","name":"p1","nameLocation":"49358:2:15","nodeType":"VariableDeclaration","scope":25804,"src":"49344:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25784,"name":"string","nodeType":"ElementaryTypeName","src":"49344:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25787,"mutability":"mutable","name":"p2","nameLocation":"49376:2:15","nodeType":"VariableDeclaration","scope":25804,"src":"49362:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25786,"name":"string","nodeType":"ElementaryTypeName","src":"49362:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25789,"mutability":"mutable","name":"p3","nameLocation":"49388:2:15","nodeType":"VariableDeclaration","scope":25804,"src":"49380:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25788,"name":"address","nodeType":"ElementaryTypeName","src":"49380:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49334:57:15"},"returnParameters":{"id":25791,"nodeType":"ParameterList","parameters":[],"src":"49406:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25827,"nodeType":"FunctionDefinition","src":"49520:181:15","nodes":[],"body":{"id":25826,"nodeType":"Block","src":"49595:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629","id":25818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49645:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},"value":"log(bool,string,bool,uint256)"},{"id":25819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25806,"src":"49678:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25808,"src":"49682:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25821,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25810,"src":"49686:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25822,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25812,"src":"49690:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49621:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49621:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49621:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49605:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49605:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25825,"nodeType":"ExpressionStatement","src":"49605:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49529:3:15","parameters":{"id":25813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25806,"mutability":"mutable","name":"p0","nameLocation":"49538:2:15","nodeType":"VariableDeclaration","scope":25827,"src":"49533:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25805,"name":"bool","nodeType":"ElementaryTypeName","src":"49533:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25808,"mutability":"mutable","name":"p1","nameLocation":"49556:2:15","nodeType":"VariableDeclaration","scope":25827,"src":"49542:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25807,"name":"string","nodeType":"ElementaryTypeName","src":"49542:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25810,"mutability":"mutable","name":"p2","nameLocation":"49565:2:15","nodeType":"VariableDeclaration","scope":25827,"src":"49560:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25809,"name":"bool","nodeType":"ElementaryTypeName","src":"49560:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25812,"mutability":"mutable","name":"p3","nameLocation":"49577:2:15","nodeType":"VariableDeclaration","scope":25827,"src":"49569:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25811,"name":"uint256","nodeType":"ElementaryTypeName","src":"49569:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49532:48:15"},"returnParameters":{"id":25814,"nodeType":"ParameterList","parameters":[],"src":"49595:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25850,"nodeType":"FunctionDefinition","src":"49707:186:15","nodes":[],"body":{"id":25849,"nodeType":"Block","src":"49788:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":25841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49838:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":25842,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25829,"src":"49870:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25843,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25831,"src":"49874:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25844,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25833,"src":"49878:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25845,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25835,"src":"49882:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49814:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49814:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49814:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25838,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49798:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49798:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25848,"nodeType":"ExpressionStatement","src":"49798:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49716:3:15","parameters":{"id":25836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25829,"mutability":"mutable","name":"p0","nameLocation":"49725:2:15","nodeType":"VariableDeclaration","scope":25850,"src":"49720:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25828,"name":"bool","nodeType":"ElementaryTypeName","src":"49720:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25831,"mutability":"mutable","name":"p1","nameLocation":"49743:2:15","nodeType":"VariableDeclaration","scope":25850,"src":"49729:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25830,"name":"string","nodeType":"ElementaryTypeName","src":"49729:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25833,"mutability":"mutable","name":"p2","nameLocation":"49752:2:15","nodeType":"VariableDeclaration","scope":25850,"src":"49747:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25832,"name":"bool","nodeType":"ElementaryTypeName","src":"49747:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25835,"mutability":"mutable","name":"p3","nameLocation":"49770:2:15","nodeType":"VariableDeclaration","scope":25850,"src":"49756:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25834,"name":"string","nodeType":"ElementaryTypeName","src":"49756:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49719:54:15"},"returnParameters":{"id":25837,"nodeType":"ParameterList","parameters":[],"src":"49788:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25873,"nodeType":"FunctionDefinition","src":"49899:175:15","nodes":[],"body":{"id":25872,"nodeType":"Block","src":"49971:103:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":25864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50021:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":25865,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25852,"src":"50051:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25866,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25854,"src":"50055:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25867,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25856,"src":"50059:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25868,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25858,"src":"50063:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49997:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49997:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49997:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25861,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49981:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49981:86:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25871,"nodeType":"ExpressionStatement","src":"49981:86:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49908:3:15","parameters":{"id":25859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25852,"mutability":"mutable","name":"p0","nameLocation":"49917:2:15","nodeType":"VariableDeclaration","scope":25873,"src":"49912:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25851,"name":"bool","nodeType":"ElementaryTypeName","src":"49912:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25854,"mutability":"mutable","name":"p1","nameLocation":"49935:2:15","nodeType":"VariableDeclaration","scope":25873,"src":"49921:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25853,"name":"string","nodeType":"ElementaryTypeName","src":"49921:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25856,"mutability":"mutable","name":"p2","nameLocation":"49944:2:15","nodeType":"VariableDeclaration","scope":25873,"src":"49939:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25855,"name":"bool","nodeType":"ElementaryTypeName","src":"49939:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25858,"mutability":"mutable","name":"p3","nameLocation":"49953:2:15","nodeType":"VariableDeclaration","scope":25873,"src":"49948:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25857,"name":"bool","nodeType":"ElementaryTypeName","src":"49948:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49911:45:15"},"returnParameters":{"id":25860,"nodeType":"ParameterList","parameters":[],"src":"49971:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25896,"nodeType":"FunctionDefinition","src":"50080:181:15","nodes":[],"body":{"id":25895,"nodeType":"Block","src":"50155:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":25887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50205:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":25888,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25875,"src":"50238:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25889,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25877,"src":"50242:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25890,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25879,"src":"50246:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25891,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25881,"src":"50250:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25885,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50181:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50181:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50181:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25884,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50165:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50165:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25894,"nodeType":"ExpressionStatement","src":"50165:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50089:3:15","parameters":{"id":25882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25875,"mutability":"mutable","name":"p0","nameLocation":"50098:2:15","nodeType":"VariableDeclaration","scope":25896,"src":"50093:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25874,"name":"bool","nodeType":"ElementaryTypeName","src":"50093:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25877,"mutability":"mutable","name":"p1","nameLocation":"50116:2:15","nodeType":"VariableDeclaration","scope":25896,"src":"50102:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25876,"name":"string","nodeType":"ElementaryTypeName","src":"50102:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25879,"mutability":"mutable","name":"p2","nameLocation":"50125:2:15","nodeType":"VariableDeclaration","scope":25896,"src":"50120:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25878,"name":"bool","nodeType":"ElementaryTypeName","src":"50120:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25881,"mutability":"mutable","name":"p3","nameLocation":"50137:2:15","nodeType":"VariableDeclaration","scope":25896,"src":"50129:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25880,"name":"address","nodeType":"ElementaryTypeName","src":"50129:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50092:48:15"},"returnParameters":{"id":25883,"nodeType":"ParameterList","parameters":[],"src":"50155:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25919,"nodeType":"FunctionDefinition","src":"50267:187:15","nodes":[],"body":{"id":25918,"nodeType":"Block","src":"50345:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629","id":25910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50395:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},"value":"log(bool,string,address,uint256)"},{"id":25911,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25898,"src":"50431:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25912,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25900,"src":"50435:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25913,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25902,"src":"50439:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25914,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25904,"src":"50443:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50371:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50371:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50371:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25907,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50355:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50355:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25917,"nodeType":"ExpressionStatement","src":"50355:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50276:3:15","parameters":{"id":25905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25898,"mutability":"mutable","name":"p0","nameLocation":"50285:2:15","nodeType":"VariableDeclaration","scope":25919,"src":"50280:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25897,"name":"bool","nodeType":"ElementaryTypeName","src":"50280:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25900,"mutability":"mutable","name":"p1","nameLocation":"50303:2:15","nodeType":"VariableDeclaration","scope":25919,"src":"50289:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25899,"name":"string","nodeType":"ElementaryTypeName","src":"50289:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25902,"mutability":"mutable","name":"p2","nameLocation":"50315:2:15","nodeType":"VariableDeclaration","scope":25919,"src":"50307:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25901,"name":"address","nodeType":"ElementaryTypeName","src":"50307:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25904,"mutability":"mutable","name":"p3","nameLocation":"50327:2:15","nodeType":"VariableDeclaration","scope":25919,"src":"50319:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25903,"name":"uint256","nodeType":"ElementaryTypeName","src":"50319:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50279:51:15"},"returnParameters":{"id":25906,"nodeType":"ParameterList","parameters":[],"src":"50345:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25942,"nodeType":"FunctionDefinition","src":"50460:192:15","nodes":[],"body":{"id":25941,"nodeType":"Block","src":"50544:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":25933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50594:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":25934,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25921,"src":"50629:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25935,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25923,"src":"50633:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25936,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25925,"src":"50637:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25937,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25927,"src":"50641:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25931,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50570:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50570:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50570:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25930,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50554:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50554:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25940,"nodeType":"ExpressionStatement","src":"50554:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50469:3:15","parameters":{"id":25928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25921,"mutability":"mutable","name":"p0","nameLocation":"50478:2:15","nodeType":"VariableDeclaration","scope":25942,"src":"50473:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25920,"name":"bool","nodeType":"ElementaryTypeName","src":"50473:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25923,"mutability":"mutable","name":"p1","nameLocation":"50496:2:15","nodeType":"VariableDeclaration","scope":25942,"src":"50482:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25922,"name":"string","nodeType":"ElementaryTypeName","src":"50482:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25925,"mutability":"mutable","name":"p2","nameLocation":"50508:2:15","nodeType":"VariableDeclaration","scope":25942,"src":"50500:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25924,"name":"address","nodeType":"ElementaryTypeName","src":"50500:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25927,"mutability":"mutable","name":"p3","nameLocation":"50526:2:15","nodeType":"VariableDeclaration","scope":25942,"src":"50512:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25926,"name":"string","nodeType":"ElementaryTypeName","src":"50512:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50472:57:15"},"returnParameters":{"id":25929,"nodeType":"ParameterList","parameters":[],"src":"50544:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25965,"nodeType":"FunctionDefinition","src":"50658:181:15","nodes":[],"body":{"id":25964,"nodeType":"Block","src":"50733:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":25956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50783:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":25957,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25944,"src":"50816:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25958,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25946,"src":"50820:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25959,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25948,"src":"50824:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25960,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25950,"src":"50828:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25954,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50759:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50759:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50759:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25953,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50743:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50743:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25963,"nodeType":"ExpressionStatement","src":"50743:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50667:3:15","parameters":{"id":25951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25944,"mutability":"mutable","name":"p0","nameLocation":"50676:2:15","nodeType":"VariableDeclaration","scope":25965,"src":"50671:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25943,"name":"bool","nodeType":"ElementaryTypeName","src":"50671:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25946,"mutability":"mutable","name":"p1","nameLocation":"50694:2:15","nodeType":"VariableDeclaration","scope":25965,"src":"50680:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25945,"name":"string","nodeType":"ElementaryTypeName","src":"50680:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25948,"mutability":"mutable","name":"p2","nameLocation":"50706:2:15","nodeType":"VariableDeclaration","scope":25965,"src":"50698:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25947,"name":"address","nodeType":"ElementaryTypeName","src":"50698:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25950,"mutability":"mutable","name":"p3","nameLocation":"50715:2:15","nodeType":"VariableDeclaration","scope":25965,"src":"50710:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25949,"name":"bool","nodeType":"ElementaryTypeName","src":"50710:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50670:48:15"},"returnParameters":{"id":25952,"nodeType":"ParameterList","parameters":[],"src":"50733:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25988,"nodeType":"FunctionDefinition","src":"50845:187:15","nodes":[],"body":{"id":25987,"nodeType":"Block","src":"50923:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":25979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50973:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":25980,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25967,"src":"51009:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25981,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25969,"src":"51013:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25982,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25971,"src":"51017:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25983,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25973,"src":"51021:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25977,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50949:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50949:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50949:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25976,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50933:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50933:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25986,"nodeType":"ExpressionStatement","src":"50933:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50854:3:15","parameters":{"id":25974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25967,"mutability":"mutable","name":"p0","nameLocation":"50863:2:15","nodeType":"VariableDeclaration","scope":25988,"src":"50858:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25966,"name":"bool","nodeType":"ElementaryTypeName","src":"50858:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25969,"mutability":"mutable","name":"p1","nameLocation":"50881:2:15","nodeType":"VariableDeclaration","scope":25988,"src":"50867:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25968,"name":"string","nodeType":"ElementaryTypeName","src":"50867:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25971,"mutability":"mutable","name":"p2","nameLocation":"50893:2:15","nodeType":"VariableDeclaration","scope":25988,"src":"50885:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25970,"name":"address","nodeType":"ElementaryTypeName","src":"50885:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25973,"mutability":"mutable","name":"p3","nameLocation":"50905:2:15","nodeType":"VariableDeclaration","scope":25988,"src":"50897:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25972,"name":"address","nodeType":"ElementaryTypeName","src":"50897:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50857:51:15"},"returnParameters":{"id":25975,"nodeType":"ParameterList","parameters":[],"src":"50923:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26011,"nodeType":"FunctionDefinition","src":"51038:176:15","nodes":[],"body":{"id":26010,"nodeType":"Block","src":"51107:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629","id":26002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51157:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},"value":"log(bool,bool,uint256,uint256)"},{"id":26003,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25990,"src":"51191:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26004,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25992,"src":"51195:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26005,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25994,"src":"51199:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26006,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25996,"src":"51203:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26000,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51133:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51133:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51133:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25999,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51117:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51117:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26009,"nodeType":"ExpressionStatement","src":"51117:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51047:3:15","parameters":{"id":25997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25990,"mutability":"mutable","name":"p0","nameLocation":"51056:2:15","nodeType":"VariableDeclaration","scope":26011,"src":"51051:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25989,"name":"bool","nodeType":"ElementaryTypeName","src":"51051:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25992,"mutability":"mutable","name":"p1","nameLocation":"51065:2:15","nodeType":"VariableDeclaration","scope":26011,"src":"51060:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25991,"name":"bool","nodeType":"ElementaryTypeName","src":"51060:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25994,"mutability":"mutable","name":"p2","nameLocation":"51077:2:15","nodeType":"VariableDeclaration","scope":26011,"src":"51069:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25993,"name":"uint256","nodeType":"ElementaryTypeName","src":"51069:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25996,"mutability":"mutable","name":"p3","nameLocation":"51089:2:15","nodeType":"VariableDeclaration","scope":26011,"src":"51081:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25995,"name":"uint256","nodeType":"ElementaryTypeName","src":"51081:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51050:42:15"},"returnParameters":{"id":25998,"nodeType":"ParameterList","parameters":[],"src":"51107:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26034,"nodeType":"FunctionDefinition","src":"51220:181:15","nodes":[],"body":{"id":26033,"nodeType":"Block","src":"51295:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729","id":26025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51345:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},"value":"log(bool,bool,uint256,string)"},{"id":26026,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26013,"src":"51378:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26027,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26015,"src":"51382:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26028,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26017,"src":"51386:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26029,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26019,"src":"51390:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51321:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51321:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51321:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26022,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51305:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51305:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26032,"nodeType":"ExpressionStatement","src":"51305:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51229:3:15","parameters":{"id":26020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26013,"mutability":"mutable","name":"p0","nameLocation":"51238:2:15","nodeType":"VariableDeclaration","scope":26034,"src":"51233:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26012,"name":"bool","nodeType":"ElementaryTypeName","src":"51233:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26015,"mutability":"mutable","name":"p1","nameLocation":"51247:2:15","nodeType":"VariableDeclaration","scope":26034,"src":"51242:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26014,"name":"bool","nodeType":"ElementaryTypeName","src":"51242:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26017,"mutability":"mutable","name":"p2","nameLocation":"51259:2:15","nodeType":"VariableDeclaration","scope":26034,"src":"51251:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26016,"name":"uint256","nodeType":"ElementaryTypeName","src":"51251:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26019,"mutability":"mutable","name":"p3","nameLocation":"51277:2:15","nodeType":"VariableDeclaration","scope":26034,"src":"51263:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26018,"name":"string","nodeType":"ElementaryTypeName","src":"51263:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51232:48:15"},"returnParameters":{"id":26021,"nodeType":"ParameterList","parameters":[],"src":"51295:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26057,"nodeType":"FunctionDefinition","src":"51407:170:15","nodes":[],"body":{"id":26056,"nodeType":"Block","src":"51473:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29","id":26048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51523:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},"value":"log(bool,bool,uint256,bool)"},{"id":26049,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26036,"src":"51554:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26050,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26038,"src":"51558:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26051,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26040,"src":"51562:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26052,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26042,"src":"51566:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51499:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51499:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51499:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26045,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51483:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51483:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26055,"nodeType":"ExpressionStatement","src":"51483:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51416:3:15","parameters":{"id":26043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26036,"mutability":"mutable","name":"p0","nameLocation":"51425:2:15","nodeType":"VariableDeclaration","scope":26057,"src":"51420:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26035,"name":"bool","nodeType":"ElementaryTypeName","src":"51420:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26038,"mutability":"mutable","name":"p1","nameLocation":"51434:2:15","nodeType":"VariableDeclaration","scope":26057,"src":"51429:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26037,"name":"bool","nodeType":"ElementaryTypeName","src":"51429:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26040,"mutability":"mutable","name":"p2","nameLocation":"51446:2:15","nodeType":"VariableDeclaration","scope":26057,"src":"51438:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26039,"name":"uint256","nodeType":"ElementaryTypeName","src":"51438:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26042,"mutability":"mutable","name":"p3","nameLocation":"51455:2:15","nodeType":"VariableDeclaration","scope":26057,"src":"51450:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26041,"name":"bool","nodeType":"ElementaryTypeName","src":"51450:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51419:39:15"},"returnParameters":{"id":26044,"nodeType":"ParameterList","parameters":[],"src":"51473:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26080,"nodeType":"FunctionDefinition","src":"51583:176:15","nodes":[],"body":{"id":26079,"nodeType":"Block","src":"51652:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329","id":26071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51702:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},"value":"log(bool,bool,uint256,address)"},{"id":26072,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26059,"src":"51736:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26073,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26061,"src":"51740:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26074,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26063,"src":"51744:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26075,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26065,"src":"51748:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26069,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51678:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51678:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51678:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26068,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51662:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51662:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26078,"nodeType":"ExpressionStatement","src":"51662:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51592:3:15","parameters":{"id":26066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26059,"mutability":"mutable","name":"p0","nameLocation":"51601:2:15","nodeType":"VariableDeclaration","scope":26080,"src":"51596:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26058,"name":"bool","nodeType":"ElementaryTypeName","src":"51596:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26061,"mutability":"mutable","name":"p1","nameLocation":"51610:2:15","nodeType":"VariableDeclaration","scope":26080,"src":"51605:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26060,"name":"bool","nodeType":"ElementaryTypeName","src":"51605:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26063,"mutability":"mutable","name":"p2","nameLocation":"51622:2:15","nodeType":"VariableDeclaration","scope":26080,"src":"51614:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26062,"name":"uint256","nodeType":"ElementaryTypeName","src":"51614:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26065,"mutability":"mutable","name":"p3","nameLocation":"51634:2:15","nodeType":"VariableDeclaration","scope":26080,"src":"51626:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26064,"name":"address","nodeType":"ElementaryTypeName","src":"51626:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51595:42:15"},"returnParameters":{"id":26067,"nodeType":"ParameterList","parameters":[],"src":"51652:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26103,"nodeType":"FunctionDefinition","src":"51765:181:15","nodes":[],"body":{"id":26102,"nodeType":"Block","src":"51840:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629","id":26094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51890:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},"value":"log(bool,bool,string,uint256)"},{"id":26095,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26082,"src":"51923:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26096,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26084,"src":"51927:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26097,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26086,"src":"51931:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26098,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26088,"src":"51935:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51866:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51866:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51866:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26091,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51850:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51850:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26101,"nodeType":"ExpressionStatement","src":"51850:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51774:3:15","parameters":{"id":26089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26082,"mutability":"mutable","name":"p0","nameLocation":"51783:2:15","nodeType":"VariableDeclaration","scope":26103,"src":"51778:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26081,"name":"bool","nodeType":"ElementaryTypeName","src":"51778:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26084,"mutability":"mutable","name":"p1","nameLocation":"51792:2:15","nodeType":"VariableDeclaration","scope":26103,"src":"51787:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26083,"name":"bool","nodeType":"ElementaryTypeName","src":"51787:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26086,"mutability":"mutable","name":"p2","nameLocation":"51810:2:15","nodeType":"VariableDeclaration","scope":26103,"src":"51796:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26085,"name":"string","nodeType":"ElementaryTypeName","src":"51796:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26088,"mutability":"mutable","name":"p3","nameLocation":"51822:2:15","nodeType":"VariableDeclaration","scope":26103,"src":"51814:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26087,"name":"uint256","nodeType":"ElementaryTypeName","src":"51814:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51777:48:15"},"returnParameters":{"id":26090,"nodeType":"ParameterList","parameters":[],"src":"51840:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26126,"nodeType":"FunctionDefinition","src":"51952:186:15","nodes":[],"body":{"id":26125,"nodeType":"Block","src":"52033:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":26117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52083:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":26118,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26105,"src":"52115:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26119,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26107,"src":"52119:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26120,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26109,"src":"52123:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26121,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26111,"src":"52127:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26115,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52059:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52059:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52059:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26114,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52043:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52043:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26124,"nodeType":"ExpressionStatement","src":"52043:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51961:3:15","parameters":{"id":26112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26105,"mutability":"mutable","name":"p0","nameLocation":"51970:2:15","nodeType":"VariableDeclaration","scope":26126,"src":"51965:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26104,"name":"bool","nodeType":"ElementaryTypeName","src":"51965:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26107,"mutability":"mutable","name":"p1","nameLocation":"51979:2:15","nodeType":"VariableDeclaration","scope":26126,"src":"51974:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26106,"name":"bool","nodeType":"ElementaryTypeName","src":"51974:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26109,"mutability":"mutable","name":"p2","nameLocation":"51997:2:15","nodeType":"VariableDeclaration","scope":26126,"src":"51983:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26108,"name":"string","nodeType":"ElementaryTypeName","src":"51983:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26111,"mutability":"mutable","name":"p3","nameLocation":"52015:2:15","nodeType":"VariableDeclaration","scope":26126,"src":"52001:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26110,"name":"string","nodeType":"ElementaryTypeName","src":"52001:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51964:54:15"},"returnParameters":{"id":26113,"nodeType":"ParameterList","parameters":[],"src":"52033:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26149,"nodeType":"FunctionDefinition","src":"52144:175:15","nodes":[],"body":{"id":26148,"nodeType":"Block","src":"52216:103:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":26140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52266:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":26141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26128,"src":"52296:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26130,"src":"52300:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26132,"src":"52304:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26144,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26134,"src":"52308:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52242:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52242:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52242:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52226:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52226:86:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26147,"nodeType":"ExpressionStatement","src":"52226:86:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52153:3:15","parameters":{"id":26135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26128,"mutability":"mutable","name":"p0","nameLocation":"52162:2:15","nodeType":"VariableDeclaration","scope":26149,"src":"52157:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26127,"name":"bool","nodeType":"ElementaryTypeName","src":"52157:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26130,"mutability":"mutable","name":"p1","nameLocation":"52171:2:15","nodeType":"VariableDeclaration","scope":26149,"src":"52166:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26129,"name":"bool","nodeType":"ElementaryTypeName","src":"52166:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26132,"mutability":"mutable","name":"p2","nameLocation":"52189:2:15","nodeType":"VariableDeclaration","scope":26149,"src":"52175:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26131,"name":"string","nodeType":"ElementaryTypeName","src":"52175:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26134,"mutability":"mutable","name":"p3","nameLocation":"52198:2:15","nodeType":"VariableDeclaration","scope":26149,"src":"52193:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26133,"name":"bool","nodeType":"ElementaryTypeName","src":"52193:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52156:45:15"},"returnParameters":{"id":26136,"nodeType":"ParameterList","parameters":[],"src":"52216:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26172,"nodeType":"FunctionDefinition","src":"52325:181:15","nodes":[],"body":{"id":26171,"nodeType":"Block","src":"52400:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":26163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52450:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":26164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26151,"src":"52483:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26165,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26153,"src":"52487:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26166,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26155,"src":"52491:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26167,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26157,"src":"52495:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52426:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52426:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52426:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52410:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52410:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26170,"nodeType":"ExpressionStatement","src":"52410:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52334:3:15","parameters":{"id":26158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26151,"mutability":"mutable","name":"p0","nameLocation":"52343:2:15","nodeType":"VariableDeclaration","scope":26172,"src":"52338:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26150,"name":"bool","nodeType":"ElementaryTypeName","src":"52338:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26153,"mutability":"mutable","name":"p1","nameLocation":"52352:2:15","nodeType":"VariableDeclaration","scope":26172,"src":"52347:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26152,"name":"bool","nodeType":"ElementaryTypeName","src":"52347:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26155,"mutability":"mutable","name":"p2","nameLocation":"52370:2:15","nodeType":"VariableDeclaration","scope":26172,"src":"52356:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26154,"name":"string","nodeType":"ElementaryTypeName","src":"52356:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26157,"mutability":"mutable","name":"p3","nameLocation":"52382:2:15","nodeType":"VariableDeclaration","scope":26172,"src":"52374:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26156,"name":"address","nodeType":"ElementaryTypeName","src":"52374:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52337:48:15"},"returnParameters":{"id":26159,"nodeType":"ParameterList","parameters":[],"src":"52400:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26195,"nodeType":"FunctionDefinition","src":"52512:170:15","nodes":[],"body":{"id":26194,"nodeType":"Block","src":"52578:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629","id":26186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52628:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},"value":"log(bool,bool,bool,uint256)"},{"id":26187,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26174,"src":"52659:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26188,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26176,"src":"52663:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26189,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26178,"src":"52667:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26190,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26180,"src":"52671:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26184,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52604:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52604:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52604:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26183,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52588:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52588:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26193,"nodeType":"ExpressionStatement","src":"52588:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52521:3:15","parameters":{"id":26181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26174,"mutability":"mutable","name":"p0","nameLocation":"52530:2:15","nodeType":"VariableDeclaration","scope":26195,"src":"52525:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26173,"name":"bool","nodeType":"ElementaryTypeName","src":"52525:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26176,"mutability":"mutable","name":"p1","nameLocation":"52539:2:15","nodeType":"VariableDeclaration","scope":26195,"src":"52534:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26175,"name":"bool","nodeType":"ElementaryTypeName","src":"52534:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26178,"mutability":"mutable","name":"p2","nameLocation":"52548:2:15","nodeType":"VariableDeclaration","scope":26195,"src":"52543:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26177,"name":"bool","nodeType":"ElementaryTypeName","src":"52543:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26180,"mutability":"mutable","name":"p3","nameLocation":"52560:2:15","nodeType":"VariableDeclaration","scope":26195,"src":"52552:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26179,"name":"uint256","nodeType":"ElementaryTypeName","src":"52552:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52524:39:15"},"returnParameters":{"id":26182,"nodeType":"ParameterList","parameters":[],"src":"52578:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26218,"nodeType":"FunctionDefinition","src":"52688:175:15","nodes":[],"body":{"id":26217,"nodeType":"Block","src":"52760:103:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":26209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52810:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":26210,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26197,"src":"52840:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26211,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26199,"src":"52844:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26212,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26201,"src":"52848:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26213,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26203,"src":"52852:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26207,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52786:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52786:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52786:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26206,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52770:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52770:86:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26216,"nodeType":"ExpressionStatement","src":"52770:86:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52697:3:15","parameters":{"id":26204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26197,"mutability":"mutable","name":"p0","nameLocation":"52706:2:15","nodeType":"VariableDeclaration","scope":26218,"src":"52701:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26196,"name":"bool","nodeType":"ElementaryTypeName","src":"52701:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26199,"mutability":"mutable","name":"p1","nameLocation":"52715:2:15","nodeType":"VariableDeclaration","scope":26218,"src":"52710:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26198,"name":"bool","nodeType":"ElementaryTypeName","src":"52710:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26201,"mutability":"mutable","name":"p2","nameLocation":"52724:2:15","nodeType":"VariableDeclaration","scope":26218,"src":"52719:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26200,"name":"bool","nodeType":"ElementaryTypeName","src":"52719:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26203,"mutability":"mutable","name":"p3","nameLocation":"52742:2:15","nodeType":"VariableDeclaration","scope":26218,"src":"52728:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26202,"name":"string","nodeType":"ElementaryTypeName","src":"52728:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52700:45:15"},"returnParameters":{"id":26205,"nodeType":"ParameterList","parameters":[],"src":"52760:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26241,"nodeType":"FunctionDefinition","src":"52869:164:15","nodes":[],"body":{"id":26240,"nodeType":"Block","src":"52932:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":26232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52982:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":26233,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26220,"src":"53010:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26234,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26222,"src":"53014:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26235,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26224,"src":"53018:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26236,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26226,"src":"53022:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26230,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52958:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52958:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52958:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26229,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52942:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52942:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26239,"nodeType":"ExpressionStatement","src":"52942:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52878:3:15","parameters":{"id":26227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26220,"mutability":"mutable","name":"p0","nameLocation":"52887:2:15","nodeType":"VariableDeclaration","scope":26241,"src":"52882:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26219,"name":"bool","nodeType":"ElementaryTypeName","src":"52882:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26222,"mutability":"mutable","name":"p1","nameLocation":"52896:2:15","nodeType":"VariableDeclaration","scope":26241,"src":"52891:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26221,"name":"bool","nodeType":"ElementaryTypeName","src":"52891:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26224,"mutability":"mutable","name":"p2","nameLocation":"52905:2:15","nodeType":"VariableDeclaration","scope":26241,"src":"52900:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26223,"name":"bool","nodeType":"ElementaryTypeName","src":"52900:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26226,"mutability":"mutable","name":"p3","nameLocation":"52914:2:15","nodeType":"VariableDeclaration","scope":26241,"src":"52909:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26225,"name":"bool","nodeType":"ElementaryTypeName","src":"52909:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52881:36:15"},"returnParameters":{"id":26228,"nodeType":"ParameterList","parameters":[],"src":"52932:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26264,"nodeType":"FunctionDefinition","src":"53039:170:15","nodes":[],"body":{"id":26263,"nodeType":"Block","src":"53105:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":26255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53155:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":26256,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26243,"src":"53186:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26257,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26245,"src":"53190:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26258,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26247,"src":"53194:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26259,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26249,"src":"53198:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26253,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53131:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53131:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53131:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26252,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53115:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53115:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26262,"nodeType":"ExpressionStatement","src":"53115:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53048:3:15","parameters":{"id":26250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26243,"mutability":"mutable","name":"p0","nameLocation":"53057:2:15","nodeType":"VariableDeclaration","scope":26264,"src":"53052:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26242,"name":"bool","nodeType":"ElementaryTypeName","src":"53052:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26245,"mutability":"mutable","name":"p1","nameLocation":"53066:2:15","nodeType":"VariableDeclaration","scope":26264,"src":"53061:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26244,"name":"bool","nodeType":"ElementaryTypeName","src":"53061:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26247,"mutability":"mutable","name":"p2","nameLocation":"53075:2:15","nodeType":"VariableDeclaration","scope":26264,"src":"53070:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26246,"name":"bool","nodeType":"ElementaryTypeName","src":"53070:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26249,"mutability":"mutable","name":"p3","nameLocation":"53087:2:15","nodeType":"VariableDeclaration","scope":26264,"src":"53079:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26248,"name":"address","nodeType":"ElementaryTypeName","src":"53079:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53051:39:15"},"returnParameters":{"id":26251,"nodeType":"ParameterList","parameters":[],"src":"53105:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26287,"nodeType":"FunctionDefinition","src":"53215:176:15","nodes":[],"body":{"id":26286,"nodeType":"Block","src":"53284:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629","id":26278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53334:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},"value":"log(bool,bool,address,uint256)"},{"id":26279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26266,"src":"53368:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26268,"src":"53372:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26270,"src":"53376:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26282,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26272,"src":"53380:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53310:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53310:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53310:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53294:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53294:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26285,"nodeType":"ExpressionStatement","src":"53294:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53224:3:15","parameters":{"id":26273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26266,"mutability":"mutable","name":"p0","nameLocation":"53233:2:15","nodeType":"VariableDeclaration","scope":26287,"src":"53228:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26265,"name":"bool","nodeType":"ElementaryTypeName","src":"53228:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26268,"mutability":"mutable","name":"p1","nameLocation":"53242:2:15","nodeType":"VariableDeclaration","scope":26287,"src":"53237:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26267,"name":"bool","nodeType":"ElementaryTypeName","src":"53237:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26270,"mutability":"mutable","name":"p2","nameLocation":"53254:2:15","nodeType":"VariableDeclaration","scope":26287,"src":"53246:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26269,"name":"address","nodeType":"ElementaryTypeName","src":"53246:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26272,"mutability":"mutable","name":"p3","nameLocation":"53266:2:15","nodeType":"VariableDeclaration","scope":26287,"src":"53258:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26271,"name":"uint256","nodeType":"ElementaryTypeName","src":"53258:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53227:42:15"},"returnParameters":{"id":26274,"nodeType":"ParameterList","parameters":[],"src":"53284:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26310,"nodeType":"FunctionDefinition","src":"53397:181:15","nodes":[],"body":{"id":26309,"nodeType":"Block","src":"53472:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":26301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53522:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":26302,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26289,"src":"53555:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26303,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26291,"src":"53559:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26304,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26293,"src":"53563:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26305,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26295,"src":"53567:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26299,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53498:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53498:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53498:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26298,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53482:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53482:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26308,"nodeType":"ExpressionStatement","src":"53482:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53406:3:15","parameters":{"id":26296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26289,"mutability":"mutable","name":"p0","nameLocation":"53415:2:15","nodeType":"VariableDeclaration","scope":26310,"src":"53410:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26288,"name":"bool","nodeType":"ElementaryTypeName","src":"53410:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26291,"mutability":"mutable","name":"p1","nameLocation":"53424:2:15","nodeType":"VariableDeclaration","scope":26310,"src":"53419:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26290,"name":"bool","nodeType":"ElementaryTypeName","src":"53419:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26293,"mutability":"mutable","name":"p2","nameLocation":"53436:2:15","nodeType":"VariableDeclaration","scope":26310,"src":"53428:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26292,"name":"address","nodeType":"ElementaryTypeName","src":"53428:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26295,"mutability":"mutable","name":"p3","nameLocation":"53454:2:15","nodeType":"VariableDeclaration","scope":26310,"src":"53440:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26294,"name":"string","nodeType":"ElementaryTypeName","src":"53440:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53409:48:15"},"returnParameters":{"id":26297,"nodeType":"ParameterList","parameters":[],"src":"53472:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26333,"nodeType":"FunctionDefinition","src":"53584:170:15","nodes":[],"body":{"id":26332,"nodeType":"Block","src":"53650:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":26324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53700:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":26325,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26312,"src":"53731:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26326,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26314,"src":"53735:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26327,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26316,"src":"53739:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26328,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26318,"src":"53743:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26322,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53676:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53676:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53676:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53660:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53660:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26331,"nodeType":"ExpressionStatement","src":"53660:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53593:3:15","parameters":{"id":26319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26312,"mutability":"mutable","name":"p0","nameLocation":"53602:2:15","nodeType":"VariableDeclaration","scope":26333,"src":"53597:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26311,"name":"bool","nodeType":"ElementaryTypeName","src":"53597:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26314,"mutability":"mutable","name":"p1","nameLocation":"53611:2:15","nodeType":"VariableDeclaration","scope":26333,"src":"53606:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26313,"name":"bool","nodeType":"ElementaryTypeName","src":"53606:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26316,"mutability":"mutable","name":"p2","nameLocation":"53623:2:15","nodeType":"VariableDeclaration","scope":26333,"src":"53615:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26315,"name":"address","nodeType":"ElementaryTypeName","src":"53615:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26318,"mutability":"mutable","name":"p3","nameLocation":"53632:2:15","nodeType":"VariableDeclaration","scope":26333,"src":"53627:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26317,"name":"bool","nodeType":"ElementaryTypeName","src":"53627:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53596:39:15"},"returnParameters":{"id":26320,"nodeType":"ParameterList","parameters":[],"src":"53650:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26356,"nodeType":"FunctionDefinition","src":"53760:176:15","nodes":[],"body":{"id":26355,"nodeType":"Block","src":"53829:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":26347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53879:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":26348,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26335,"src":"53913:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26349,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26337,"src":"53917:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26350,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26339,"src":"53921:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26351,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26341,"src":"53925:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26345,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53855:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53855:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53855:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26344,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53839:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53839:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26354,"nodeType":"ExpressionStatement","src":"53839:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53769:3:15","parameters":{"id":26342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26335,"mutability":"mutable","name":"p0","nameLocation":"53778:2:15","nodeType":"VariableDeclaration","scope":26356,"src":"53773:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26334,"name":"bool","nodeType":"ElementaryTypeName","src":"53773:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26337,"mutability":"mutable","name":"p1","nameLocation":"53787:2:15","nodeType":"VariableDeclaration","scope":26356,"src":"53782:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26336,"name":"bool","nodeType":"ElementaryTypeName","src":"53782:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26339,"mutability":"mutable","name":"p2","nameLocation":"53799:2:15","nodeType":"VariableDeclaration","scope":26356,"src":"53791:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26338,"name":"address","nodeType":"ElementaryTypeName","src":"53791:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26341,"mutability":"mutable","name":"p3","nameLocation":"53811:2:15","nodeType":"VariableDeclaration","scope":26356,"src":"53803:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26340,"name":"address","nodeType":"ElementaryTypeName","src":"53803:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53772:42:15"},"returnParameters":{"id":26343,"nodeType":"ParameterList","parameters":[],"src":"53829:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26379,"nodeType":"FunctionDefinition","src":"53942:182:15","nodes":[],"body":{"id":26378,"nodeType":"Block","src":"54014:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629","id":26370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54064:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},"value":"log(bool,address,uint256,uint256)"},{"id":26371,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26358,"src":"54101:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26372,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26360,"src":"54105:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26373,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26362,"src":"54109:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26374,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26364,"src":"54113:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54040:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54040:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54040:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26367,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54024:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54024:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26377,"nodeType":"ExpressionStatement","src":"54024:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53951:3:15","parameters":{"id":26365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26358,"mutability":"mutable","name":"p0","nameLocation":"53960:2:15","nodeType":"VariableDeclaration","scope":26379,"src":"53955:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26357,"name":"bool","nodeType":"ElementaryTypeName","src":"53955:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26360,"mutability":"mutable","name":"p1","nameLocation":"53972:2:15","nodeType":"VariableDeclaration","scope":26379,"src":"53964:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26359,"name":"address","nodeType":"ElementaryTypeName","src":"53964:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26362,"mutability":"mutable","name":"p2","nameLocation":"53984:2:15","nodeType":"VariableDeclaration","scope":26379,"src":"53976:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26361,"name":"uint256","nodeType":"ElementaryTypeName","src":"53976:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26364,"mutability":"mutable","name":"p3","nameLocation":"53996:2:15","nodeType":"VariableDeclaration","scope":26379,"src":"53988:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26363,"name":"uint256","nodeType":"ElementaryTypeName","src":"53988:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53954:45:15"},"returnParameters":{"id":26366,"nodeType":"ParameterList","parameters":[],"src":"54014:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26402,"nodeType":"FunctionDefinition","src":"54130:187:15","nodes":[],"body":{"id":26401,"nodeType":"Block","src":"54208:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729","id":26393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54258:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},"value":"log(bool,address,uint256,string)"},{"id":26394,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26381,"src":"54294:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26395,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26383,"src":"54298:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26396,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"54302:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26397,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26387,"src":"54306:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26391,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54234:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54234:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54234:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26390,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54218:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54218:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26400,"nodeType":"ExpressionStatement","src":"54218:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54139:3:15","parameters":{"id":26388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26381,"mutability":"mutable","name":"p0","nameLocation":"54148:2:15","nodeType":"VariableDeclaration","scope":26402,"src":"54143:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26380,"name":"bool","nodeType":"ElementaryTypeName","src":"54143:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26383,"mutability":"mutable","name":"p1","nameLocation":"54160:2:15","nodeType":"VariableDeclaration","scope":26402,"src":"54152:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26382,"name":"address","nodeType":"ElementaryTypeName","src":"54152:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26385,"mutability":"mutable","name":"p2","nameLocation":"54172:2:15","nodeType":"VariableDeclaration","scope":26402,"src":"54164:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26384,"name":"uint256","nodeType":"ElementaryTypeName","src":"54164:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26387,"mutability":"mutable","name":"p3","nameLocation":"54190:2:15","nodeType":"VariableDeclaration","scope":26402,"src":"54176:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26386,"name":"string","nodeType":"ElementaryTypeName","src":"54176:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54142:51:15"},"returnParameters":{"id":26389,"nodeType":"ParameterList","parameters":[],"src":"54208:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26425,"nodeType":"FunctionDefinition","src":"54323:176:15","nodes":[],"body":{"id":26424,"nodeType":"Block","src":"54392:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29","id":26416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54442:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},"value":"log(bool,address,uint256,bool)"},{"id":26417,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26404,"src":"54476:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26418,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26406,"src":"54480:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26419,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26408,"src":"54484:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26420,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26410,"src":"54488:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54418:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54418:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54418:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26413,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54402:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54402:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26423,"nodeType":"ExpressionStatement","src":"54402:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54332:3:15","parameters":{"id":26411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26404,"mutability":"mutable","name":"p0","nameLocation":"54341:2:15","nodeType":"VariableDeclaration","scope":26425,"src":"54336:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26403,"name":"bool","nodeType":"ElementaryTypeName","src":"54336:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26406,"mutability":"mutable","name":"p1","nameLocation":"54353:2:15","nodeType":"VariableDeclaration","scope":26425,"src":"54345:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26405,"name":"address","nodeType":"ElementaryTypeName","src":"54345:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26408,"mutability":"mutable","name":"p2","nameLocation":"54365:2:15","nodeType":"VariableDeclaration","scope":26425,"src":"54357:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26407,"name":"uint256","nodeType":"ElementaryTypeName","src":"54357:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26410,"mutability":"mutable","name":"p3","nameLocation":"54374:2:15","nodeType":"VariableDeclaration","scope":26425,"src":"54369:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26409,"name":"bool","nodeType":"ElementaryTypeName","src":"54369:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54335:42:15"},"returnParameters":{"id":26412,"nodeType":"ParameterList","parameters":[],"src":"54392:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26448,"nodeType":"FunctionDefinition","src":"54505:182:15","nodes":[],"body":{"id":26447,"nodeType":"Block","src":"54577:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329","id":26439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54627:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},"value":"log(bool,address,uint256,address)"},{"id":26440,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"54664:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26441,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26429,"src":"54668:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26442,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26431,"src":"54672:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26443,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26433,"src":"54676:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26437,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54603:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54603:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54603:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26436,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54587:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54587:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26446,"nodeType":"ExpressionStatement","src":"54587:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54514:3:15","parameters":{"id":26434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26427,"mutability":"mutable","name":"p0","nameLocation":"54523:2:15","nodeType":"VariableDeclaration","scope":26448,"src":"54518:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26426,"name":"bool","nodeType":"ElementaryTypeName","src":"54518:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26429,"mutability":"mutable","name":"p1","nameLocation":"54535:2:15","nodeType":"VariableDeclaration","scope":26448,"src":"54527:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26428,"name":"address","nodeType":"ElementaryTypeName","src":"54527:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26431,"mutability":"mutable","name":"p2","nameLocation":"54547:2:15","nodeType":"VariableDeclaration","scope":26448,"src":"54539:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26430,"name":"uint256","nodeType":"ElementaryTypeName","src":"54539:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26433,"mutability":"mutable","name":"p3","nameLocation":"54559:2:15","nodeType":"VariableDeclaration","scope":26448,"src":"54551:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26432,"name":"address","nodeType":"ElementaryTypeName","src":"54551:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54517:45:15"},"returnParameters":{"id":26435,"nodeType":"ParameterList","parameters":[],"src":"54577:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26471,"nodeType":"FunctionDefinition","src":"54693:187:15","nodes":[],"body":{"id":26470,"nodeType":"Block","src":"54771:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629","id":26462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54821:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},"value":"log(bool,address,string,uint256)"},{"id":26463,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26450,"src":"54857:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26464,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26452,"src":"54861:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26465,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26454,"src":"54865:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26466,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26456,"src":"54869:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54797:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54797:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54797:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26459,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54781:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54781:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26469,"nodeType":"ExpressionStatement","src":"54781:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54702:3:15","parameters":{"id":26457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26450,"mutability":"mutable","name":"p0","nameLocation":"54711:2:15","nodeType":"VariableDeclaration","scope":26471,"src":"54706:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26449,"name":"bool","nodeType":"ElementaryTypeName","src":"54706:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26452,"mutability":"mutable","name":"p1","nameLocation":"54723:2:15","nodeType":"VariableDeclaration","scope":26471,"src":"54715:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26451,"name":"address","nodeType":"ElementaryTypeName","src":"54715:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26454,"mutability":"mutable","name":"p2","nameLocation":"54741:2:15","nodeType":"VariableDeclaration","scope":26471,"src":"54727:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26453,"name":"string","nodeType":"ElementaryTypeName","src":"54727:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26456,"mutability":"mutable","name":"p3","nameLocation":"54753:2:15","nodeType":"VariableDeclaration","scope":26471,"src":"54745:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26455,"name":"uint256","nodeType":"ElementaryTypeName","src":"54745:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54705:51:15"},"returnParameters":{"id":26458,"nodeType":"ParameterList","parameters":[],"src":"54771:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26494,"nodeType":"FunctionDefinition","src":"54886:192:15","nodes":[],"body":{"id":26493,"nodeType":"Block","src":"54970:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":26485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55020:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":26486,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26473,"src":"55055:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26487,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26475,"src":"55059:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26488,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26477,"src":"55063:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26489,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26479,"src":"55067:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26483,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54996:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54996:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54996:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26482,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54980:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54980:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26492,"nodeType":"ExpressionStatement","src":"54980:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54895:3:15","parameters":{"id":26480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26473,"mutability":"mutable","name":"p0","nameLocation":"54904:2:15","nodeType":"VariableDeclaration","scope":26494,"src":"54899:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26472,"name":"bool","nodeType":"ElementaryTypeName","src":"54899:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26475,"mutability":"mutable","name":"p1","nameLocation":"54916:2:15","nodeType":"VariableDeclaration","scope":26494,"src":"54908:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26474,"name":"address","nodeType":"ElementaryTypeName","src":"54908:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26477,"mutability":"mutable","name":"p2","nameLocation":"54934:2:15","nodeType":"VariableDeclaration","scope":26494,"src":"54920:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26476,"name":"string","nodeType":"ElementaryTypeName","src":"54920:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26479,"mutability":"mutable","name":"p3","nameLocation":"54952:2:15","nodeType":"VariableDeclaration","scope":26494,"src":"54938:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26478,"name":"string","nodeType":"ElementaryTypeName","src":"54938:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54898:57:15"},"returnParameters":{"id":26481,"nodeType":"ParameterList","parameters":[],"src":"54970:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26517,"nodeType":"FunctionDefinition","src":"55084:181:15","nodes":[],"body":{"id":26516,"nodeType":"Block","src":"55159:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":26508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55209:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":26509,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26496,"src":"55242:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26510,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"55246:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26511,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26500,"src":"55250:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26512,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26502,"src":"55254:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55185:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55185:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55185:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55169:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55169:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26515,"nodeType":"ExpressionStatement","src":"55169:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55093:3:15","parameters":{"id":26503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26496,"mutability":"mutable","name":"p0","nameLocation":"55102:2:15","nodeType":"VariableDeclaration","scope":26517,"src":"55097:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26495,"name":"bool","nodeType":"ElementaryTypeName","src":"55097:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26498,"mutability":"mutable","name":"p1","nameLocation":"55114:2:15","nodeType":"VariableDeclaration","scope":26517,"src":"55106:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26497,"name":"address","nodeType":"ElementaryTypeName","src":"55106:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26500,"mutability":"mutable","name":"p2","nameLocation":"55132:2:15","nodeType":"VariableDeclaration","scope":26517,"src":"55118:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26499,"name":"string","nodeType":"ElementaryTypeName","src":"55118:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26502,"mutability":"mutable","name":"p3","nameLocation":"55141:2:15","nodeType":"VariableDeclaration","scope":26517,"src":"55136:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26501,"name":"bool","nodeType":"ElementaryTypeName","src":"55136:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55096:48:15"},"returnParameters":{"id":26504,"nodeType":"ParameterList","parameters":[],"src":"55159:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26540,"nodeType":"FunctionDefinition","src":"55271:187:15","nodes":[],"body":{"id":26539,"nodeType":"Block","src":"55349:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":26531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55399:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":26532,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26519,"src":"55435:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26533,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26521,"src":"55439:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26534,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26523,"src":"55443:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26535,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26525,"src":"55447:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26529,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55375:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55375:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55375:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26528,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55359:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55359:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26538,"nodeType":"ExpressionStatement","src":"55359:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55280:3:15","parameters":{"id":26526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26519,"mutability":"mutable","name":"p0","nameLocation":"55289:2:15","nodeType":"VariableDeclaration","scope":26540,"src":"55284:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26518,"name":"bool","nodeType":"ElementaryTypeName","src":"55284:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26521,"mutability":"mutable","name":"p1","nameLocation":"55301:2:15","nodeType":"VariableDeclaration","scope":26540,"src":"55293:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26520,"name":"address","nodeType":"ElementaryTypeName","src":"55293:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26523,"mutability":"mutable","name":"p2","nameLocation":"55319:2:15","nodeType":"VariableDeclaration","scope":26540,"src":"55305:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26522,"name":"string","nodeType":"ElementaryTypeName","src":"55305:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26525,"mutability":"mutable","name":"p3","nameLocation":"55331:2:15","nodeType":"VariableDeclaration","scope":26540,"src":"55323:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26524,"name":"address","nodeType":"ElementaryTypeName","src":"55323:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55283:51:15"},"returnParameters":{"id":26527,"nodeType":"ParameterList","parameters":[],"src":"55349:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26563,"nodeType":"FunctionDefinition","src":"55464:176:15","nodes":[],"body":{"id":26562,"nodeType":"Block","src":"55533:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629","id":26554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55583:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},"value":"log(bool,address,bool,uint256)"},{"id":26555,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26542,"src":"55617:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26556,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26544,"src":"55621:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26557,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26546,"src":"55625:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26558,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26548,"src":"55629:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26552,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55559:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55559:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55559:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26551,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55543:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55543:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26561,"nodeType":"ExpressionStatement","src":"55543:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55473:3:15","parameters":{"id":26549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26542,"mutability":"mutable","name":"p0","nameLocation":"55482:2:15","nodeType":"VariableDeclaration","scope":26563,"src":"55477:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26541,"name":"bool","nodeType":"ElementaryTypeName","src":"55477:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26544,"mutability":"mutable","name":"p1","nameLocation":"55494:2:15","nodeType":"VariableDeclaration","scope":26563,"src":"55486:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26543,"name":"address","nodeType":"ElementaryTypeName","src":"55486:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26546,"mutability":"mutable","name":"p2","nameLocation":"55503:2:15","nodeType":"VariableDeclaration","scope":26563,"src":"55498:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26545,"name":"bool","nodeType":"ElementaryTypeName","src":"55498:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26548,"mutability":"mutable","name":"p3","nameLocation":"55515:2:15","nodeType":"VariableDeclaration","scope":26563,"src":"55507:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26547,"name":"uint256","nodeType":"ElementaryTypeName","src":"55507:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55476:42:15"},"returnParameters":{"id":26550,"nodeType":"ParameterList","parameters":[],"src":"55533:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26586,"nodeType":"FunctionDefinition","src":"55646:181:15","nodes":[],"body":{"id":26585,"nodeType":"Block","src":"55721:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":26577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55771:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":26578,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26565,"src":"55804:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26579,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26567,"src":"55808:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26580,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26569,"src":"55812:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26581,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26571,"src":"55816:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26575,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55747:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55747:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55747:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26574,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55731:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55731:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26584,"nodeType":"ExpressionStatement","src":"55731:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55655:3:15","parameters":{"id":26572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26565,"mutability":"mutable","name":"p0","nameLocation":"55664:2:15","nodeType":"VariableDeclaration","scope":26586,"src":"55659:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26564,"name":"bool","nodeType":"ElementaryTypeName","src":"55659:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26567,"mutability":"mutable","name":"p1","nameLocation":"55676:2:15","nodeType":"VariableDeclaration","scope":26586,"src":"55668:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26566,"name":"address","nodeType":"ElementaryTypeName","src":"55668:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26569,"mutability":"mutable","name":"p2","nameLocation":"55685:2:15","nodeType":"VariableDeclaration","scope":26586,"src":"55680:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26568,"name":"bool","nodeType":"ElementaryTypeName","src":"55680:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26571,"mutability":"mutable","name":"p3","nameLocation":"55703:2:15","nodeType":"VariableDeclaration","scope":26586,"src":"55689:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26570,"name":"string","nodeType":"ElementaryTypeName","src":"55689:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55658:48:15"},"returnParameters":{"id":26573,"nodeType":"ParameterList","parameters":[],"src":"55721:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26609,"nodeType":"FunctionDefinition","src":"55833:170:15","nodes":[],"body":{"id":26608,"nodeType":"Block","src":"55899:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":26600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55949:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":26601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26588,"src":"55980:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26602,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26590,"src":"55984:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26603,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26592,"src":"55988:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26604,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26594,"src":"55992:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55925:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55925:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55925:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55909:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55909:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26607,"nodeType":"ExpressionStatement","src":"55909:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55842:3:15","parameters":{"id":26595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26588,"mutability":"mutable","name":"p0","nameLocation":"55851:2:15","nodeType":"VariableDeclaration","scope":26609,"src":"55846:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26587,"name":"bool","nodeType":"ElementaryTypeName","src":"55846:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26590,"mutability":"mutable","name":"p1","nameLocation":"55863:2:15","nodeType":"VariableDeclaration","scope":26609,"src":"55855:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26589,"name":"address","nodeType":"ElementaryTypeName","src":"55855:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26592,"mutability":"mutable","name":"p2","nameLocation":"55872:2:15","nodeType":"VariableDeclaration","scope":26609,"src":"55867:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26591,"name":"bool","nodeType":"ElementaryTypeName","src":"55867:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26594,"mutability":"mutable","name":"p3","nameLocation":"55881:2:15","nodeType":"VariableDeclaration","scope":26609,"src":"55876:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26593,"name":"bool","nodeType":"ElementaryTypeName","src":"55876:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55845:39:15"},"returnParameters":{"id":26596,"nodeType":"ParameterList","parameters":[],"src":"55899:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26632,"nodeType":"FunctionDefinition","src":"56009:176:15","nodes":[],"body":{"id":26631,"nodeType":"Block","src":"56078:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":26623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56128:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":26624,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26611,"src":"56162:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26625,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26613,"src":"56166:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26626,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26615,"src":"56170:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26627,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26617,"src":"56174:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56104:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56104:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56104:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26620,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56088:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56088:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26630,"nodeType":"ExpressionStatement","src":"56088:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56018:3:15","parameters":{"id":26618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26611,"mutability":"mutable","name":"p0","nameLocation":"56027:2:15","nodeType":"VariableDeclaration","scope":26632,"src":"56022:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26610,"name":"bool","nodeType":"ElementaryTypeName","src":"56022:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26613,"mutability":"mutable","name":"p1","nameLocation":"56039:2:15","nodeType":"VariableDeclaration","scope":26632,"src":"56031:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26612,"name":"address","nodeType":"ElementaryTypeName","src":"56031:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26615,"mutability":"mutable","name":"p2","nameLocation":"56048:2:15","nodeType":"VariableDeclaration","scope":26632,"src":"56043:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26614,"name":"bool","nodeType":"ElementaryTypeName","src":"56043:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26617,"mutability":"mutable","name":"p3","nameLocation":"56060:2:15","nodeType":"VariableDeclaration","scope":26632,"src":"56052:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26616,"name":"address","nodeType":"ElementaryTypeName","src":"56052:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56021:42:15"},"returnParameters":{"id":26619,"nodeType":"ParameterList","parameters":[],"src":"56078:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26655,"nodeType":"FunctionDefinition","src":"56191:182:15","nodes":[],"body":{"id":26654,"nodeType":"Block","src":"56263:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629","id":26646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56313:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},"value":"log(bool,address,address,uint256)"},{"id":26647,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26634,"src":"56350:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26648,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26636,"src":"56354:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26649,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26638,"src":"56358:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26650,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26640,"src":"56362:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26644,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56289:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56289:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56289:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26643,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56273:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56273:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26653,"nodeType":"ExpressionStatement","src":"56273:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56200:3:15","parameters":{"id":26641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26634,"mutability":"mutable","name":"p0","nameLocation":"56209:2:15","nodeType":"VariableDeclaration","scope":26655,"src":"56204:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26633,"name":"bool","nodeType":"ElementaryTypeName","src":"56204:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26636,"mutability":"mutable","name":"p1","nameLocation":"56221:2:15","nodeType":"VariableDeclaration","scope":26655,"src":"56213:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26635,"name":"address","nodeType":"ElementaryTypeName","src":"56213:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26638,"mutability":"mutable","name":"p2","nameLocation":"56233:2:15","nodeType":"VariableDeclaration","scope":26655,"src":"56225:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26637,"name":"address","nodeType":"ElementaryTypeName","src":"56225:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26640,"mutability":"mutable","name":"p3","nameLocation":"56245:2:15","nodeType":"VariableDeclaration","scope":26655,"src":"56237:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26639,"name":"uint256","nodeType":"ElementaryTypeName","src":"56237:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56203:45:15"},"returnParameters":{"id":26642,"nodeType":"ParameterList","parameters":[],"src":"56263:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26678,"nodeType":"FunctionDefinition","src":"56379:187:15","nodes":[],"body":{"id":26677,"nodeType":"Block","src":"56457:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":26669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56507:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":26670,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26657,"src":"56543:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26671,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26659,"src":"56547:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26672,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26661,"src":"56551:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26673,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26663,"src":"56555:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26667,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56483:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56483:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56483:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26666,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56467:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56467:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26676,"nodeType":"ExpressionStatement","src":"56467:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56388:3:15","parameters":{"id":26664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26657,"mutability":"mutable","name":"p0","nameLocation":"56397:2:15","nodeType":"VariableDeclaration","scope":26678,"src":"56392:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26656,"name":"bool","nodeType":"ElementaryTypeName","src":"56392:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26659,"mutability":"mutable","name":"p1","nameLocation":"56409:2:15","nodeType":"VariableDeclaration","scope":26678,"src":"56401:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26658,"name":"address","nodeType":"ElementaryTypeName","src":"56401:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26661,"mutability":"mutable","name":"p2","nameLocation":"56421:2:15","nodeType":"VariableDeclaration","scope":26678,"src":"56413:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26660,"name":"address","nodeType":"ElementaryTypeName","src":"56413:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26663,"mutability":"mutable","name":"p3","nameLocation":"56439:2:15","nodeType":"VariableDeclaration","scope":26678,"src":"56425:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26662,"name":"string","nodeType":"ElementaryTypeName","src":"56425:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56391:51:15"},"returnParameters":{"id":26665,"nodeType":"ParameterList","parameters":[],"src":"56457:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26701,"nodeType":"FunctionDefinition","src":"56572:176:15","nodes":[],"body":{"id":26700,"nodeType":"Block","src":"56641:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":26692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56691:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":26693,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26680,"src":"56725:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26694,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26682,"src":"56729:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26695,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26684,"src":"56733:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26696,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26686,"src":"56737:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26690,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56667:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56667:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56667:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26689,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56651:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56651:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26699,"nodeType":"ExpressionStatement","src":"56651:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56581:3:15","parameters":{"id":26687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26680,"mutability":"mutable","name":"p0","nameLocation":"56590:2:15","nodeType":"VariableDeclaration","scope":26701,"src":"56585:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26679,"name":"bool","nodeType":"ElementaryTypeName","src":"56585:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26682,"mutability":"mutable","name":"p1","nameLocation":"56602:2:15","nodeType":"VariableDeclaration","scope":26701,"src":"56594:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26681,"name":"address","nodeType":"ElementaryTypeName","src":"56594:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26684,"mutability":"mutable","name":"p2","nameLocation":"56614:2:15","nodeType":"VariableDeclaration","scope":26701,"src":"56606:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26683,"name":"address","nodeType":"ElementaryTypeName","src":"56606:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26686,"mutability":"mutable","name":"p3","nameLocation":"56623:2:15","nodeType":"VariableDeclaration","scope":26701,"src":"56618:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26685,"name":"bool","nodeType":"ElementaryTypeName","src":"56618:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56584:42:15"},"returnParameters":{"id":26688,"nodeType":"ParameterList","parameters":[],"src":"56641:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26724,"nodeType":"FunctionDefinition","src":"56754:182:15","nodes":[],"body":{"id":26723,"nodeType":"Block","src":"56826:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":26715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56876:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":26716,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26703,"src":"56913:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26717,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26705,"src":"56917:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26718,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26707,"src":"56921:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26719,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26709,"src":"56925:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26713,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56852:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56852:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56852:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26712,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56836:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56836:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26722,"nodeType":"ExpressionStatement","src":"56836:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56763:3:15","parameters":{"id":26710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26703,"mutability":"mutable","name":"p0","nameLocation":"56772:2:15","nodeType":"VariableDeclaration","scope":26724,"src":"56767:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26702,"name":"bool","nodeType":"ElementaryTypeName","src":"56767:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26705,"mutability":"mutable","name":"p1","nameLocation":"56784:2:15","nodeType":"VariableDeclaration","scope":26724,"src":"56776:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26704,"name":"address","nodeType":"ElementaryTypeName","src":"56776:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26707,"mutability":"mutable","name":"p2","nameLocation":"56796:2:15","nodeType":"VariableDeclaration","scope":26724,"src":"56788:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26706,"name":"address","nodeType":"ElementaryTypeName","src":"56788:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26709,"mutability":"mutable","name":"p3","nameLocation":"56808:2:15","nodeType":"VariableDeclaration","scope":26724,"src":"56800:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26708,"name":"address","nodeType":"ElementaryTypeName","src":"56800:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56766:45:15"},"returnParameters":{"id":26711,"nodeType":"ParameterList","parameters":[],"src":"56826:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26747,"nodeType":"FunctionDefinition","src":"56942:188:15","nodes":[],"body":{"id":26746,"nodeType":"Block","src":"57017:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629","id":26738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57067:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},"value":"log(address,uint256,uint256,uint256)"},{"id":26739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26726,"src":"57107:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26728,"src":"57111:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26730,"src":"57115:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26742,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26732,"src":"57119:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57043:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57043:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57043:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57027:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57027:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26745,"nodeType":"ExpressionStatement","src":"57027:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56951:3:15","parameters":{"id":26733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26726,"mutability":"mutable","name":"p0","nameLocation":"56963:2:15","nodeType":"VariableDeclaration","scope":26747,"src":"56955:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26725,"name":"address","nodeType":"ElementaryTypeName","src":"56955:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26728,"mutability":"mutable","name":"p1","nameLocation":"56975:2:15","nodeType":"VariableDeclaration","scope":26747,"src":"56967:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26727,"name":"uint256","nodeType":"ElementaryTypeName","src":"56967:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26730,"mutability":"mutable","name":"p2","nameLocation":"56987:2:15","nodeType":"VariableDeclaration","scope":26747,"src":"56979:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26729,"name":"uint256","nodeType":"ElementaryTypeName","src":"56979:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26732,"mutability":"mutable","name":"p3","nameLocation":"56999:2:15","nodeType":"VariableDeclaration","scope":26747,"src":"56991:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26731,"name":"uint256","nodeType":"ElementaryTypeName","src":"56991:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56954:48:15"},"returnParameters":{"id":26734,"nodeType":"ParameterList","parameters":[],"src":"57017:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26770,"nodeType":"FunctionDefinition","src":"57136:193:15","nodes":[],"body":{"id":26769,"nodeType":"Block","src":"57217:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729","id":26761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57267:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},"value":"log(address,uint256,uint256,string)"},{"id":26762,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26749,"src":"57306:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26763,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26751,"src":"57310:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26764,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26753,"src":"57314:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26765,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26755,"src":"57318:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57243:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57243:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57243:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26758,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57227:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57227:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26768,"nodeType":"ExpressionStatement","src":"57227:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57145:3:15","parameters":{"id":26756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26749,"mutability":"mutable","name":"p0","nameLocation":"57157:2:15","nodeType":"VariableDeclaration","scope":26770,"src":"57149:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26748,"name":"address","nodeType":"ElementaryTypeName","src":"57149:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26751,"mutability":"mutable","name":"p1","nameLocation":"57169:2:15","nodeType":"VariableDeclaration","scope":26770,"src":"57161:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26750,"name":"uint256","nodeType":"ElementaryTypeName","src":"57161:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26753,"mutability":"mutable","name":"p2","nameLocation":"57181:2:15","nodeType":"VariableDeclaration","scope":26770,"src":"57173:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26752,"name":"uint256","nodeType":"ElementaryTypeName","src":"57173:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26755,"mutability":"mutable","name":"p3","nameLocation":"57199:2:15","nodeType":"VariableDeclaration","scope":26770,"src":"57185:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26754,"name":"string","nodeType":"ElementaryTypeName","src":"57185:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57148:54:15"},"returnParameters":{"id":26757,"nodeType":"ParameterList","parameters":[],"src":"57217:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26793,"nodeType":"FunctionDefinition","src":"57335:182:15","nodes":[],"body":{"id":26792,"nodeType":"Block","src":"57407:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29","id":26784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57457:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},"value":"log(address,uint256,uint256,bool)"},{"id":26785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26772,"src":"57494:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26774,"src":"57498:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26787,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26776,"src":"57502:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26788,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26778,"src":"57506:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57433:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57433:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57433:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57417:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57417:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26791,"nodeType":"ExpressionStatement","src":"57417:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57344:3:15","parameters":{"id":26779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26772,"mutability":"mutable","name":"p0","nameLocation":"57356:2:15","nodeType":"VariableDeclaration","scope":26793,"src":"57348:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26771,"name":"address","nodeType":"ElementaryTypeName","src":"57348:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26774,"mutability":"mutable","name":"p1","nameLocation":"57368:2:15","nodeType":"VariableDeclaration","scope":26793,"src":"57360:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26773,"name":"uint256","nodeType":"ElementaryTypeName","src":"57360:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26776,"mutability":"mutable","name":"p2","nameLocation":"57380:2:15","nodeType":"VariableDeclaration","scope":26793,"src":"57372:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26775,"name":"uint256","nodeType":"ElementaryTypeName","src":"57372:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26778,"mutability":"mutable","name":"p3","nameLocation":"57389:2:15","nodeType":"VariableDeclaration","scope":26793,"src":"57384:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26777,"name":"bool","nodeType":"ElementaryTypeName","src":"57384:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57347:45:15"},"returnParameters":{"id":26780,"nodeType":"ParameterList","parameters":[],"src":"57407:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26816,"nodeType":"FunctionDefinition","src":"57523:188:15","nodes":[],"body":{"id":26815,"nodeType":"Block","src":"57598:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329","id":26807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57648:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},"value":"log(address,uint256,uint256,address)"},{"id":26808,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"57688:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26809,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26797,"src":"57692:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26810,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26799,"src":"57696:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26811,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26801,"src":"57700:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57624:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57624:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57624:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26804,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57608:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57608:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26814,"nodeType":"ExpressionStatement","src":"57608:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57532:3:15","parameters":{"id":26802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26795,"mutability":"mutable","name":"p0","nameLocation":"57544:2:15","nodeType":"VariableDeclaration","scope":26816,"src":"57536:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26794,"name":"address","nodeType":"ElementaryTypeName","src":"57536:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26797,"mutability":"mutable","name":"p1","nameLocation":"57556:2:15","nodeType":"VariableDeclaration","scope":26816,"src":"57548:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26796,"name":"uint256","nodeType":"ElementaryTypeName","src":"57548:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26799,"mutability":"mutable","name":"p2","nameLocation":"57568:2:15","nodeType":"VariableDeclaration","scope":26816,"src":"57560:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26798,"name":"uint256","nodeType":"ElementaryTypeName","src":"57560:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26801,"mutability":"mutable","name":"p3","nameLocation":"57580:2:15","nodeType":"VariableDeclaration","scope":26816,"src":"57572:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26800,"name":"address","nodeType":"ElementaryTypeName","src":"57572:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57535:48:15"},"returnParameters":{"id":26803,"nodeType":"ParameterList","parameters":[],"src":"57598:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26839,"nodeType":"FunctionDefinition","src":"57717:193:15","nodes":[],"body":{"id":26838,"nodeType":"Block","src":"57798:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629","id":26830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57848:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},"value":"log(address,uint256,string,uint256)"},{"id":26831,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26818,"src":"57887:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26832,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26820,"src":"57891:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26833,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26822,"src":"57895:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26834,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26824,"src":"57899:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26828,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57824:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57824:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57824:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26827,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57808:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57808:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26837,"nodeType":"ExpressionStatement","src":"57808:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57726:3:15","parameters":{"id":26825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26818,"mutability":"mutable","name":"p0","nameLocation":"57738:2:15","nodeType":"VariableDeclaration","scope":26839,"src":"57730:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26817,"name":"address","nodeType":"ElementaryTypeName","src":"57730:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26820,"mutability":"mutable","name":"p1","nameLocation":"57750:2:15","nodeType":"VariableDeclaration","scope":26839,"src":"57742:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26819,"name":"uint256","nodeType":"ElementaryTypeName","src":"57742:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26822,"mutability":"mutable","name":"p2","nameLocation":"57768:2:15","nodeType":"VariableDeclaration","scope":26839,"src":"57754:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26821,"name":"string","nodeType":"ElementaryTypeName","src":"57754:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26824,"mutability":"mutable","name":"p3","nameLocation":"57780:2:15","nodeType":"VariableDeclaration","scope":26839,"src":"57772:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26823,"name":"uint256","nodeType":"ElementaryTypeName","src":"57772:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57729:54:15"},"returnParameters":{"id":26826,"nodeType":"ParameterList","parameters":[],"src":"57798:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26862,"nodeType":"FunctionDefinition","src":"57916:198:15","nodes":[],"body":{"id":26861,"nodeType":"Block","src":"58003:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729","id":26853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58053:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},"value":"log(address,uint256,string,string)"},{"id":26854,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26841,"src":"58091:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26855,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26843,"src":"58095:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26856,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26845,"src":"58099:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26857,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26847,"src":"58103:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26851,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58029:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58029:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58029:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26850,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58013:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58013:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26860,"nodeType":"ExpressionStatement","src":"58013:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57925:3:15","parameters":{"id":26848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26841,"mutability":"mutable","name":"p0","nameLocation":"57937:2:15","nodeType":"VariableDeclaration","scope":26862,"src":"57929:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26840,"name":"address","nodeType":"ElementaryTypeName","src":"57929:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26843,"mutability":"mutable","name":"p1","nameLocation":"57949:2:15","nodeType":"VariableDeclaration","scope":26862,"src":"57941:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26842,"name":"uint256","nodeType":"ElementaryTypeName","src":"57941:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26845,"mutability":"mutable","name":"p2","nameLocation":"57967:2:15","nodeType":"VariableDeclaration","scope":26862,"src":"57953:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26844,"name":"string","nodeType":"ElementaryTypeName","src":"57953:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26847,"mutability":"mutable","name":"p3","nameLocation":"57985:2:15","nodeType":"VariableDeclaration","scope":26862,"src":"57971:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26846,"name":"string","nodeType":"ElementaryTypeName","src":"57971:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57928:60:15"},"returnParameters":{"id":26849,"nodeType":"ParameterList","parameters":[],"src":"58003:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26885,"nodeType":"FunctionDefinition","src":"58120:187:15","nodes":[],"body":{"id":26884,"nodeType":"Block","src":"58198:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29","id":26876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58248:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},"value":"log(address,uint256,string,bool)"},{"id":26877,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26864,"src":"58284:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26878,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26866,"src":"58288:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26879,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26868,"src":"58292:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26880,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26870,"src":"58296:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58224:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58224:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58224:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26873,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58208:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58208:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26883,"nodeType":"ExpressionStatement","src":"58208:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58129:3:15","parameters":{"id":26871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26864,"mutability":"mutable","name":"p0","nameLocation":"58141:2:15","nodeType":"VariableDeclaration","scope":26885,"src":"58133:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26863,"name":"address","nodeType":"ElementaryTypeName","src":"58133:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26866,"mutability":"mutable","name":"p1","nameLocation":"58153:2:15","nodeType":"VariableDeclaration","scope":26885,"src":"58145:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26865,"name":"uint256","nodeType":"ElementaryTypeName","src":"58145:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26868,"mutability":"mutable","name":"p2","nameLocation":"58171:2:15","nodeType":"VariableDeclaration","scope":26885,"src":"58157:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26867,"name":"string","nodeType":"ElementaryTypeName","src":"58157:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26870,"mutability":"mutable","name":"p3","nameLocation":"58180:2:15","nodeType":"VariableDeclaration","scope":26885,"src":"58175:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26869,"name":"bool","nodeType":"ElementaryTypeName","src":"58175:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58132:51:15"},"returnParameters":{"id":26872,"nodeType":"ParameterList","parameters":[],"src":"58198:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26908,"nodeType":"FunctionDefinition","src":"58313:193:15","nodes":[],"body":{"id":26907,"nodeType":"Block","src":"58394:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329","id":26899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58444:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},"value":"log(address,uint256,string,address)"},{"id":26900,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26887,"src":"58483:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26901,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26889,"src":"58487:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26902,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26891,"src":"58491:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26903,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26893,"src":"58495:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26897,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58420:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58420:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58420:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26896,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58404:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58404:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26906,"nodeType":"ExpressionStatement","src":"58404:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58322:3:15","parameters":{"id":26894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26887,"mutability":"mutable","name":"p0","nameLocation":"58334:2:15","nodeType":"VariableDeclaration","scope":26908,"src":"58326:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26886,"name":"address","nodeType":"ElementaryTypeName","src":"58326:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26889,"mutability":"mutable","name":"p1","nameLocation":"58346:2:15","nodeType":"VariableDeclaration","scope":26908,"src":"58338:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26888,"name":"uint256","nodeType":"ElementaryTypeName","src":"58338:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26891,"mutability":"mutable","name":"p2","nameLocation":"58364:2:15","nodeType":"VariableDeclaration","scope":26908,"src":"58350:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26890,"name":"string","nodeType":"ElementaryTypeName","src":"58350:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26893,"mutability":"mutable","name":"p3","nameLocation":"58376:2:15","nodeType":"VariableDeclaration","scope":26908,"src":"58368:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26892,"name":"address","nodeType":"ElementaryTypeName","src":"58368:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58325:54:15"},"returnParameters":{"id":26895,"nodeType":"ParameterList","parameters":[],"src":"58394:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26931,"nodeType":"FunctionDefinition","src":"58512:182:15","nodes":[],"body":{"id":26930,"nodeType":"Block","src":"58584:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629","id":26922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58634:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},"value":"log(address,uint256,bool,uint256)"},{"id":26923,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26910,"src":"58671:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26924,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26912,"src":"58675:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26925,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26914,"src":"58679:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26926,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26916,"src":"58683:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26920,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58610:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58610:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58610:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26919,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58594:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58594:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26929,"nodeType":"ExpressionStatement","src":"58594:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58521:3:15","parameters":{"id":26917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26910,"mutability":"mutable","name":"p0","nameLocation":"58533:2:15","nodeType":"VariableDeclaration","scope":26931,"src":"58525:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26909,"name":"address","nodeType":"ElementaryTypeName","src":"58525:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26912,"mutability":"mutable","name":"p1","nameLocation":"58545:2:15","nodeType":"VariableDeclaration","scope":26931,"src":"58537:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26911,"name":"uint256","nodeType":"ElementaryTypeName","src":"58537:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26914,"mutability":"mutable","name":"p2","nameLocation":"58554:2:15","nodeType":"VariableDeclaration","scope":26931,"src":"58549:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26913,"name":"bool","nodeType":"ElementaryTypeName","src":"58549:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26916,"mutability":"mutable","name":"p3","nameLocation":"58566:2:15","nodeType":"VariableDeclaration","scope":26931,"src":"58558:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26915,"name":"uint256","nodeType":"ElementaryTypeName","src":"58558:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58524:45:15"},"returnParameters":{"id":26918,"nodeType":"ParameterList","parameters":[],"src":"58584:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26954,"nodeType":"FunctionDefinition","src":"58700:187:15","nodes":[],"body":{"id":26953,"nodeType":"Block","src":"58778:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729","id":26945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58828:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},"value":"log(address,uint256,bool,string)"},{"id":26946,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26933,"src":"58864:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26947,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26935,"src":"58868:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26948,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26937,"src":"58872:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26949,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26939,"src":"58876:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58804:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58804:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58804:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26942,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58788:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58788:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26952,"nodeType":"ExpressionStatement","src":"58788:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58709:3:15","parameters":{"id":26940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26933,"mutability":"mutable","name":"p0","nameLocation":"58721:2:15","nodeType":"VariableDeclaration","scope":26954,"src":"58713:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26932,"name":"address","nodeType":"ElementaryTypeName","src":"58713:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26935,"mutability":"mutable","name":"p1","nameLocation":"58733:2:15","nodeType":"VariableDeclaration","scope":26954,"src":"58725:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26934,"name":"uint256","nodeType":"ElementaryTypeName","src":"58725:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26937,"mutability":"mutable","name":"p2","nameLocation":"58742:2:15","nodeType":"VariableDeclaration","scope":26954,"src":"58737:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26936,"name":"bool","nodeType":"ElementaryTypeName","src":"58737:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26939,"mutability":"mutable","name":"p3","nameLocation":"58760:2:15","nodeType":"VariableDeclaration","scope":26954,"src":"58746:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26938,"name":"string","nodeType":"ElementaryTypeName","src":"58746:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58712:51:15"},"returnParameters":{"id":26941,"nodeType":"ParameterList","parameters":[],"src":"58778:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26977,"nodeType":"FunctionDefinition","src":"58893:176:15","nodes":[],"body":{"id":26976,"nodeType":"Block","src":"58962:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29","id":26968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59012:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},"value":"log(address,uint256,bool,bool)"},{"id":26969,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26956,"src":"59046:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26970,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26958,"src":"59050:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26971,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26960,"src":"59054:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26972,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"59058:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58988:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58988:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58988:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26965,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58972:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58972:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26975,"nodeType":"ExpressionStatement","src":"58972:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58902:3:15","parameters":{"id":26963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26956,"mutability":"mutable","name":"p0","nameLocation":"58914:2:15","nodeType":"VariableDeclaration","scope":26977,"src":"58906:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26955,"name":"address","nodeType":"ElementaryTypeName","src":"58906:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26958,"mutability":"mutable","name":"p1","nameLocation":"58926:2:15","nodeType":"VariableDeclaration","scope":26977,"src":"58918:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26957,"name":"uint256","nodeType":"ElementaryTypeName","src":"58918:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26960,"mutability":"mutable","name":"p2","nameLocation":"58935:2:15","nodeType":"VariableDeclaration","scope":26977,"src":"58930:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26959,"name":"bool","nodeType":"ElementaryTypeName","src":"58930:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26962,"mutability":"mutable","name":"p3","nameLocation":"58944:2:15","nodeType":"VariableDeclaration","scope":26977,"src":"58939:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26961,"name":"bool","nodeType":"ElementaryTypeName","src":"58939:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58905:42:15"},"returnParameters":{"id":26964,"nodeType":"ParameterList","parameters":[],"src":"58962:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27000,"nodeType":"FunctionDefinition","src":"59075:182:15","nodes":[],"body":{"id":26999,"nodeType":"Block","src":"59147:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329","id":26991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59197:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},"value":"log(address,uint256,bool,address)"},{"id":26992,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26979,"src":"59234:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26993,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26981,"src":"59238:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26994,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26983,"src":"59242:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26995,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26985,"src":"59246:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59173:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59173:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59173:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26988,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59157:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59157:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26998,"nodeType":"ExpressionStatement","src":"59157:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59084:3:15","parameters":{"id":26986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26979,"mutability":"mutable","name":"p0","nameLocation":"59096:2:15","nodeType":"VariableDeclaration","scope":27000,"src":"59088:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26978,"name":"address","nodeType":"ElementaryTypeName","src":"59088:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26981,"mutability":"mutable","name":"p1","nameLocation":"59108:2:15","nodeType":"VariableDeclaration","scope":27000,"src":"59100:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26980,"name":"uint256","nodeType":"ElementaryTypeName","src":"59100:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26983,"mutability":"mutable","name":"p2","nameLocation":"59117:2:15","nodeType":"VariableDeclaration","scope":27000,"src":"59112:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26982,"name":"bool","nodeType":"ElementaryTypeName","src":"59112:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26985,"mutability":"mutable","name":"p3","nameLocation":"59129:2:15","nodeType":"VariableDeclaration","scope":27000,"src":"59121:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26984,"name":"address","nodeType":"ElementaryTypeName","src":"59121:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59087:45:15"},"returnParameters":{"id":26987,"nodeType":"ParameterList","parameters":[],"src":"59147:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27023,"nodeType":"FunctionDefinition","src":"59263:188:15","nodes":[],"body":{"id":27022,"nodeType":"Block","src":"59338:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629","id":27014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59388:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},"value":"log(address,uint256,address,uint256)"},{"id":27015,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27002,"src":"59428:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27016,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27004,"src":"59432:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27017,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27006,"src":"59436:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27018,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27008,"src":"59440:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27012,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59364:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59364:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59364:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27011,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59348:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59348:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27021,"nodeType":"ExpressionStatement","src":"59348:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59272:3:15","parameters":{"id":27009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27002,"mutability":"mutable","name":"p0","nameLocation":"59284:2:15","nodeType":"VariableDeclaration","scope":27023,"src":"59276:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27001,"name":"address","nodeType":"ElementaryTypeName","src":"59276:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27004,"mutability":"mutable","name":"p1","nameLocation":"59296:2:15","nodeType":"VariableDeclaration","scope":27023,"src":"59288:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27003,"name":"uint256","nodeType":"ElementaryTypeName","src":"59288:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27006,"mutability":"mutable","name":"p2","nameLocation":"59308:2:15","nodeType":"VariableDeclaration","scope":27023,"src":"59300:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27005,"name":"address","nodeType":"ElementaryTypeName","src":"59300:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27008,"mutability":"mutable","name":"p3","nameLocation":"59320:2:15","nodeType":"VariableDeclaration","scope":27023,"src":"59312:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27007,"name":"uint256","nodeType":"ElementaryTypeName","src":"59312:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59275:48:15"},"returnParameters":{"id":27010,"nodeType":"ParameterList","parameters":[],"src":"59338:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27046,"nodeType":"FunctionDefinition","src":"59457:193:15","nodes":[],"body":{"id":27045,"nodeType":"Block","src":"59538:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729","id":27037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59588:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},"value":"log(address,uint256,address,string)"},{"id":27038,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27025,"src":"59627:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27039,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27027,"src":"59631:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27040,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27029,"src":"59635:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27041,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27031,"src":"59639:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59564:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59564:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59564:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27034,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59548:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59548:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27044,"nodeType":"ExpressionStatement","src":"59548:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59466:3:15","parameters":{"id":27032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27025,"mutability":"mutable","name":"p0","nameLocation":"59478:2:15","nodeType":"VariableDeclaration","scope":27046,"src":"59470:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27024,"name":"address","nodeType":"ElementaryTypeName","src":"59470:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27027,"mutability":"mutable","name":"p1","nameLocation":"59490:2:15","nodeType":"VariableDeclaration","scope":27046,"src":"59482:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27026,"name":"uint256","nodeType":"ElementaryTypeName","src":"59482:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27029,"mutability":"mutable","name":"p2","nameLocation":"59502:2:15","nodeType":"VariableDeclaration","scope":27046,"src":"59494:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27028,"name":"address","nodeType":"ElementaryTypeName","src":"59494:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27031,"mutability":"mutable","name":"p3","nameLocation":"59520:2:15","nodeType":"VariableDeclaration","scope":27046,"src":"59506:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27030,"name":"string","nodeType":"ElementaryTypeName","src":"59506:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59469:54:15"},"returnParameters":{"id":27033,"nodeType":"ParameterList","parameters":[],"src":"59538:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27069,"nodeType":"FunctionDefinition","src":"59656:182:15","nodes":[],"body":{"id":27068,"nodeType":"Block","src":"59728:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29","id":27060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59778:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},"value":"log(address,uint256,address,bool)"},{"id":27061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27048,"src":"59815:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27050,"src":"59819:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27052,"src":"59823:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27064,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27054,"src":"59827:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59754:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59754:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59754:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59738:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59738:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27067,"nodeType":"ExpressionStatement","src":"59738:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59665:3:15","parameters":{"id":27055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27048,"mutability":"mutable","name":"p0","nameLocation":"59677:2:15","nodeType":"VariableDeclaration","scope":27069,"src":"59669:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27047,"name":"address","nodeType":"ElementaryTypeName","src":"59669:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27050,"mutability":"mutable","name":"p1","nameLocation":"59689:2:15","nodeType":"VariableDeclaration","scope":27069,"src":"59681:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27049,"name":"uint256","nodeType":"ElementaryTypeName","src":"59681:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27052,"mutability":"mutable","name":"p2","nameLocation":"59701:2:15","nodeType":"VariableDeclaration","scope":27069,"src":"59693:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27051,"name":"address","nodeType":"ElementaryTypeName","src":"59693:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27054,"mutability":"mutable","name":"p3","nameLocation":"59710:2:15","nodeType":"VariableDeclaration","scope":27069,"src":"59705:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27053,"name":"bool","nodeType":"ElementaryTypeName","src":"59705:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59668:45:15"},"returnParameters":{"id":27056,"nodeType":"ParameterList","parameters":[],"src":"59728:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27092,"nodeType":"FunctionDefinition","src":"59844:188:15","nodes":[],"body":{"id":27091,"nodeType":"Block","src":"59919:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329","id":27083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59969:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},"value":"log(address,uint256,address,address)"},{"id":27084,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27071,"src":"60009:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27085,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27073,"src":"60013:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27086,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27075,"src":"60017:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27087,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27077,"src":"60021:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59945:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59945:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59945:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27080,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59929:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59929:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27090,"nodeType":"ExpressionStatement","src":"59929:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59853:3:15","parameters":{"id":27078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27071,"mutability":"mutable","name":"p0","nameLocation":"59865:2:15","nodeType":"VariableDeclaration","scope":27092,"src":"59857:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27070,"name":"address","nodeType":"ElementaryTypeName","src":"59857:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27073,"mutability":"mutable","name":"p1","nameLocation":"59877:2:15","nodeType":"VariableDeclaration","scope":27092,"src":"59869:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27072,"name":"uint256","nodeType":"ElementaryTypeName","src":"59869:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27075,"mutability":"mutable","name":"p2","nameLocation":"59889:2:15","nodeType":"VariableDeclaration","scope":27092,"src":"59881:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27074,"name":"address","nodeType":"ElementaryTypeName","src":"59881:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27077,"mutability":"mutable","name":"p3","nameLocation":"59901:2:15","nodeType":"VariableDeclaration","scope":27092,"src":"59893:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27076,"name":"address","nodeType":"ElementaryTypeName","src":"59893:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59856:48:15"},"returnParameters":{"id":27079,"nodeType":"ParameterList","parameters":[],"src":"59919:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27115,"nodeType":"FunctionDefinition","src":"60038:193:15","nodes":[],"body":{"id":27114,"nodeType":"Block","src":"60119:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629","id":27106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60169:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},"value":"log(address,string,uint256,uint256)"},{"id":27107,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27094,"src":"60208:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27108,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27096,"src":"60212:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27109,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27098,"src":"60216:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27110,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27100,"src":"60220:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27104,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60145:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60145:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60145:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27103,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60129:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60129:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27113,"nodeType":"ExpressionStatement","src":"60129:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60047:3:15","parameters":{"id":27101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27094,"mutability":"mutable","name":"p0","nameLocation":"60059:2:15","nodeType":"VariableDeclaration","scope":27115,"src":"60051:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27093,"name":"address","nodeType":"ElementaryTypeName","src":"60051:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27096,"mutability":"mutable","name":"p1","nameLocation":"60077:2:15","nodeType":"VariableDeclaration","scope":27115,"src":"60063:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27095,"name":"string","nodeType":"ElementaryTypeName","src":"60063:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27098,"mutability":"mutable","name":"p2","nameLocation":"60089:2:15","nodeType":"VariableDeclaration","scope":27115,"src":"60081:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27097,"name":"uint256","nodeType":"ElementaryTypeName","src":"60081:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27100,"mutability":"mutable","name":"p3","nameLocation":"60101:2:15","nodeType":"VariableDeclaration","scope":27115,"src":"60093:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27099,"name":"uint256","nodeType":"ElementaryTypeName","src":"60093:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60050:54:15"},"returnParameters":{"id":27102,"nodeType":"ParameterList","parameters":[],"src":"60119:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27138,"nodeType":"FunctionDefinition","src":"60237:198:15","nodes":[],"body":{"id":27137,"nodeType":"Block","src":"60324:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729","id":27129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60374:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},"value":"log(address,string,uint256,string)"},{"id":27130,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27117,"src":"60412:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27131,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27119,"src":"60416:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27132,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27121,"src":"60420:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27133,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27123,"src":"60424:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27127,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60350:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60350:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60350:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27126,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60334:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60334:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27136,"nodeType":"ExpressionStatement","src":"60334:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60246:3:15","parameters":{"id":27124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27117,"mutability":"mutable","name":"p0","nameLocation":"60258:2:15","nodeType":"VariableDeclaration","scope":27138,"src":"60250:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27116,"name":"address","nodeType":"ElementaryTypeName","src":"60250:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27119,"mutability":"mutable","name":"p1","nameLocation":"60276:2:15","nodeType":"VariableDeclaration","scope":27138,"src":"60262:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27118,"name":"string","nodeType":"ElementaryTypeName","src":"60262:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27121,"mutability":"mutable","name":"p2","nameLocation":"60288:2:15","nodeType":"VariableDeclaration","scope":27138,"src":"60280:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27120,"name":"uint256","nodeType":"ElementaryTypeName","src":"60280:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27123,"mutability":"mutable","name":"p3","nameLocation":"60306:2:15","nodeType":"VariableDeclaration","scope":27138,"src":"60292:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27122,"name":"string","nodeType":"ElementaryTypeName","src":"60292:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60249:60:15"},"returnParameters":{"id":27125,"nodeType":"ParameterList","parameters":[],"src":"60324:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27161,"nodeType":"FunctionDefinition","src":"60441:187:15","nodes":[],"body":{"id":27160,"nodeType":"Block","src":"60519:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29","id":27152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60569:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},"value":"log(address,string,uint256,bool)"},{"id":27153,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27140,"src":"60605:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27154,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27142,"src":"60609:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27155,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27144,"src":"60613:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27156,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27146,"src":"60617:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27150,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60545:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60545:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60545:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27149,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60529:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60529:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27159,"nodeType":"ExpressionStatement","src":"60529:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60450:3:15","parameters":{"id":27147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27140,"mutability":"mutable","name":"p0","nameLocation":"60462:2:15","nodeType":"VariableDeclaration","scope":27161,"src":"60454:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27139,"name":"address","nodeType":"ElementaryTypeName","src":"60454:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27142,"mutability":"mutable","name":"p1","nameLocation":"60480:2:15","nodeType":"VariableDeclaration","scope":27161,"src":"60466:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27141,"name":"string","nodeType":"ElementaryTypeName","src":"60466:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27144,"mutability":"mutable","name":"p2","nameLocation":"60492:2:15","nodeType":"VariableDeclaration","scope":27161,"src":"60484:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27143,"name":"uint256","nodeType":"ElementaryTypeName","src":"60484:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27146,"mutability":"mutable","name":"p3","nameLocation":"60501:2:15","nodeType":"VariableDeclaration","scope":27161,"src":"60496:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27145,"name":"bool","nodeType":"ElementaryTypeName","src":"60496:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60453:51:15"},"returnParameters":{"id":27148,"nodeType":"ParameterList","parameters":[],"src":"60519:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27184,"nodeType":"FunctionDefinition","src":"60634:193:15","nodes":[],"body":{"id":27183,"nodeType":"Block","src":"60715:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329","id":27175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60765:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},"value":"log(address,string,uint256,address)"},{"id":27176,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27163,"src":"60804:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27177,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27165,"src":"60808:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27178,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27167,"src":"60812:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27179,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27169,"src":"60816:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27173,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60741:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60741:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60741:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27172,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60725:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60725:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27182,"nodeType":"ExpressionStatement","src":"60725:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60643:3:15","parameters":{"id":27170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27163,"mutability":"mutable","name":"p0","nameLocation":"60655:2:15","nodeType":"VariableDeclaration","scope":27184,"src":"60647:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27162,"name":"address","nodeType":"ElementaryTypeName","src":"60647:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27165,"mutability":"mutable","name":"p1","nameLocation":"60673:2:15","nodeType":"VariableDeclaration","scope":27184,"src":"60659:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27164,"name":"string","nodeType":"ElementaryTypeName","src":"60659:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27167,"mutability":"mutable","name":"p2","nameLocation":"60685:2:15","nodeType":"VariableDeclaration","scope":27184,"src":"60677:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27166,"name":"uint256","nodeType":"ElementaryTypeName","src":"60677:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27169,"mutability":"mutable","name":"p3","nameLocation":"60697:2:15","nodeType":"VariableDeclaration","scope":27184,"src":"60689:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27168,"name":"address","nodeType":"ElementaryTypeName","src":"60689:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60646:54:15"},"returnParameters":{"id":27171,"nodeType":"ParameterList","parameters":[],"src":"60715:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27207,"nodeType":"FunctionDefinition","src":"60833:198:15","nodes":[],"body":{"id":27206,"nodeType":"Block","src":"60920:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629","id":27198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60970:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},"value":"log(address,string,string,uint256)"},{"id":27199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27186,"src":"61008:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27188,"src":"61012:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27190,"src":"61016:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27202,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27192,"src":"61020:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60946:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60946:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60946:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60930:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60930:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27205,"nodeType":"ExpressionStatement","src":"60930:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60842:3:15","parameters":{"id":27193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27186,"mutability":"mutable","name":"p0","nameLocation":"60854:2:15","nodeType":"VariableDeclaration","scope":27207,"src":"60846:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27185,"name":"address","nodeType":"ElementaryTypeName","src":"60846:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27188,"mutability":"mutable","name":"p1","nameLocation":"60872:2:15","nodeType":"VariableDeclaration","scope":27207,"src":"60858:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27187,"name":"string","nodeType":"ElementaryTypeName","src":"60858:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27190,"mutability":"mutable","name":"p2","nameLocation":"60890:2:15","nodeType":"VariableDeclaration","scope":27207,"src":"60876:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27189,"name":"string","nodeType":"ElementaryTypeName","src":"60876:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27192,"mutability":"mutable","name":"p3","nameLocation":"60902:2:15","nodeType":"VariableDeclaration","scope":27207,"src":"60894:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27191,"name":"uint256","nodeType":"ElementaryTypeName","src":"60894:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60845:60:15"},"returnParameters":{"id":27194,"nodeType":"ParameterList","parameters":[],"src":"60920:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27230,"nodeType":"FunctionDefinition","src":"61037:203:15","nodes":[],"body":{"id":27229,"nodeType":"Block","src":"61130:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":27221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61180:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":27222,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27209,"src":"61217:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27223,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27211,"src":"61221:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27224,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27213,"src":"61225:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27225,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27215,"src":"61229:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61156:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61156:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61156:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27218,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61140:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61140:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27228,"nodeType":"ExpressionStatement","src":"61140:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61046:3:15","parameters":{"id":27216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27209,"mutability":"mutable","name":"p0","nameLocation":"61058:2:15","nodeType":"VariableDeclaration","scope":27230,"src":"61050:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27208,"name":"address","nodeType":"ElementaryTypeName","src":"61050:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27211,"mutability":"mutable","name":"p1","nameLocation":"61076:2:15","nodeType":"VariableDeclaration","scope":27230,"src":"61062:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27210,"name":"string","nodeType":"ElementaryTypeName","src":"61062:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27213,"mutability":"mutable","name":"p2","nameLocation":"61094:2:15","nodeType":"VariableDeclaration","scope":27230,"src":"61080:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27212,"name":"string","nodeType":"ElementaryTypeName","src":"61080:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27215,"mutability":"mutable","name":"p3","nameLocation":"61112:2:15","nodeType":"VariableDeclaration","scope":27230,"src":"61098:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27214,"name":"string","nodeType":"ElementaryTypeName","src":"61098:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61049:66:15"},"returnParameters":{"id":27217,"nodeType":"ParameterList","parameters":[],"src":"61130:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27253,"nodeType":"FunctionDefinition","src":"61246:192:15","nodes":[],"body":{"id":27252,"nodeType":"Block","src":"61330:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":27244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61380:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":27245,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27232,"src":"61415:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27246,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27234,"src":"61419:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27247,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27236,"src":"61423:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27248,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27238,"src":"61427:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27242,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61356:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61356:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61356:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61340:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61340:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27251,"nodeType":"ExpressionStatement","src":"61340:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61255:3:15","parameters":{"id":27239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27232,"mutability":"mutable","name":"p0","nameLocation":"61267:2:15","nodeType":"VariableDeclaration","scope":27253,"src":"61259:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27231,"name":"address","nodeType":"ElementaryTypeName","src":"61259:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27234,"mutability":"mutable","name":"p1","nameLocation":"61285:2:15","nodeType":"VariableDeclaration","scope":27253,"src":"61271:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27233,"name":"string","nodeType":"ElementaryTypeName","src":"61271:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27236,"mutability":"mutable","name":"p2","nameLocation":"61303:2:15","nodeType":"VariableDeclaration","scope":27253,"src":"61289:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27235,"name":"string","nodeType":"ElementaryTypeName","src":"61289:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27238,"mutability":"mutable","name":"p3","nameLocation":"61312:2:15","nodeType":"VariableDeclaration","scope":27253,"src":"61307:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27237,"name":"bool","nodeType":"ElementaryTypeName","src":"61307:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61258:57:15"},"returnParameters":{"id":27240,"nodeType":"ParameterList","parameters":[],"src":"61330:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27276,"nodeType":"FunctionDefinition","src":"61444:198:15","nodes":[],"body":{"id":27275,"nodeType":"Block","src":"61531:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":27267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61581:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":27268,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27255,"src":"61619:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27269,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27257,"src":"61623:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27270,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27259,"src":"61627:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27271,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27261,"src":"61631:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27265,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61557:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61557:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61557:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27264,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61541:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61541:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27274,"nodeType":"ExpressionStatement","src":"61541:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61453:3:15","parameters":{"id":27262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27255,"mutability":"mutable","name":"p0","nameLocation":"61465:2:15","nodeType":"VariableDeclaration","scope":27276,"src":"61457:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27254,"name":"address","nodeType":"ElementaryTypeName","src":"61457:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27257,"mutability":"mutable","name":"p1","nameLocation":"61483:2:15","nodeType":"VariableDeclaration","scope":27276,"src":"61469:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27256,"name":"string","nodeType":"ElementaryTypeName","src":"61469:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27259,"mutability":"mutable","name":"p2","nameLocation":"61501:2:15","nodeType":"VariableDeclaration","scope":27276,"src":"61487:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27258,"name":"string","nodeType":"ElementaryTypeName","src":"61487:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27261,"mutability":"mutable","name":"p3","nameLocation":"61513:2:15","nodeType":"VariableDeclaration","scope":27276,"src":"61505:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27260,"name":"address","nodeType":"ElementaryTypeName","src":"61505:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61456:60:15"},"returnParameters":{"id":27263,"nodeType":"ParameterList","parameters":[],"src":"61531:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27299,"nodeType":"FunctionDefinition","src":"61648:187:15","nodes":[],"body":{"id":27298,"nodeType":"Block","src":"61726:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629","id":27290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61776:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},"value":"log(address,string,bool,uint256)"},{"id":27291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27278,"src":"61812:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27292,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27280,"src":"61816:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27293,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27282,"src":"61820:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27294,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27284,"src":"61824:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61752:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61752:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61752:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61736:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61736:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27297,"nodeType":"ExpressionStatement","src":"61736:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61657:3:15","parameters":{"id":27285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27278,"mutability":"mutable","name":"p0","nameLocation":"61669:2:15","nodeType":"VariableDeclaration","scope":27299,"src":"61661:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27277,"name":"address","nodeType":"ElementaryTypeName","src":"61661:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27280,"mutability":"mutable","name":"p1","nameLocation":"61687:2:15","nodeType":"VariableDeclaration","scope":27299,"src":"61673:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27279,"name":"string","nodeType":"ElementaryTypeName","src":"61673:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27282,"mutability":"mutable","name":"p2","nameLocation":"61696:2:15","nodeType":"VariableDeclaration","scope":27299,"src":"61691:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27281,"name":"bool","nodeType":"ElementaryTypeName","src":"61691:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27284,"mutability":"mutable","name":"p3","nameLocation":"61708:2:15","nodeType":"VariableDeclaration","scope":27299,"src":"61700:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27283,"name":"uint256","nodeType":"ElementaryTypeName","src":"61700:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61660:51:15"},"returnParameters":{"id":27286,"nodeType":"ParameterList","parameters":[],"src":"61726:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27322,"nodeType":"FunctionDefinition","src":"61841:192:15","nodes":[],"body":{"id":27321,"nodeType":"Block","src":"61925:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":27313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61975:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":27314,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27301,"src":"62010:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27315,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27303,"src":"62014:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27316,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27305,"src":"62018:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27317,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27307,"src":"62022:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61951:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61951:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61951:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27310,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61935:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61935:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27320,"nodeType":"ExpressionStatement","src":"61935:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61850:3:15","parameters":{"id":27308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27301,"mutability":"mutable","name":"p0","nameLocation":"61862:2:15","nodeType":"VariableDeclaration","scope":27322,"src":"61854:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27300,"name":"address","nodeType":"ElementaryTypeName","src":"61854:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27303,"mutability":"mutable","name":"p1","nameLocation":"61880:2:15","nodeType":"VariableDeclaration","scope":27322,"src":"61866:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27302,"name":"string","nodeType":"ElementaryTypeName","src":"61866:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27305,"mutability":"mutable","name":"p2","nameLocation":"61889:2:15","nodeType":"VariableDeclaration","scope":27322,"src":"61884:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27304,"name":"bool","nodeType":"ElementaryTypeName","src":"61884:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27307,"mutability":"mutable","name":"p3","nameLocation":"61907:2:15","nodeType":"VariableDeclaration","scope":27322,"src":"61893:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27306,"name":"string","nodeType":"ElementaryTypeName","src":"61893:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61853:57:15"},"returnParameters":{"id":27309,"nodeType":"ParameterList","parameters":[],"src":"61925:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27345,"nodeType":"FunctionDefinition","src":"62039:181:15","nodes":[],"body":{"id":27344,"nodeType":"Block","src":"62114:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":27336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62164:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":27337,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27324,"src":"62197:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27338,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27326,"src":"62201:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27339,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27328,"src":"62205:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27340,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27330,"src":"62209:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62140:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62140:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62140:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27333,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62124:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62124:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27343,"nodeType":"ExpressionStatement","src":"62124:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62048:3:15","parameters":{"id":27331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27324,"mutability":"mutable","name":"p0","nameLocation":"62060:2:15","nodeType":"VariableDeclaration","scope":27345,"src":"62052:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27323,"name":"address","nodeType":"ElementaryTypeName","src":"62052:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27326,"mutability":"mutable","name":"p1","nameLocation":"62078:2:15","nodeType":"VariableDeclaration","scope":27345,"src":"62064:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27325,"name":"string","nodeType":"ElementaryTypeName","src":"62064:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27328,"mutability":"mutable","name":"p2","nameLocation":"62087:2:15","nodeType":"VariableDeclaration","scope":27345,"src":"62082:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27327,"name":"bool","nodeType":"ElementaryTypeName","src":"62082:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27330,"mutability":"mutable","name":"p3","nameLocation":"62096:2:15","nodeType":"VariableDeclaration","scope":27345,"src":"62091:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27329,"name":"bool","nodeType":"ElementaryTypeName","src":"62091:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62051:48:15"},"returnParameters":{"id":27332,"nodeType":"ParameterList","parameters":[],"src":"62114:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27368,"nodeType":"FunctionDefinition","src":"62226:187:15","nodes":[],"body":{"id":27367,"nodeType":"Block","src":"62304:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":27359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62354:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":27360,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27347,"src":"62390:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27361,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27349,"src":"62394:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27362,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27351,"src":"62398:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27363,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27353,"src":"62402:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27357,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62330:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62330:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62330:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27356,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62314:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62314:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27366,"nodeType":"ExpressionStatement","src":"62314:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62235:3:15","parameters":{"id":27354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27347,"mutability":"mutable","name":"p0","nameLocation":"62247:2:15","nodeType":"VariableDeclaration","scope":27368,"src":"62239:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27346,"name":"address","nodeType":"ElementaryTypeName","src":"62239:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27349,"mutability":"mutable","name":"p1","nameLocation":"62265:2:15","nodeType":"VariableDeclaration","scope":27368,"src":"62251:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27348,"name":"string","nodeType":"ElementaryTypeName","src":"62251:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27351,"mutability":"mutable","name":"p2","nameLocation":"62274:2:15","nodeType":"VariableDeclaration","scope":27368,"src":"62269:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27350,"name":"bool","nodeType":"ElementaryTypeName","src":"62269:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27353,"mutability":"mutable","name":"p3","nameLocation":"62286:2:15","nodeType":"VariableDeclaration","scope":27368,"src":"62278:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27352,"name":"address","nodeType":"ElementaryTypeName","src":"62278:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62238:51:15"},"returnParameters":{"id":27355,"nodeType":"ParameterList","parameters":[],"src":"62304:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27391,"nodeType":"FunctionDefinition","src":"62419:193:15","nodes":[],"body":{"id":27390,"nodeType":"Block","src":"62500:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629","id":27382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62550:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},"value":"log(address,string,address,uint256)"},{"id":27383,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27370,"src":"62589:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27384,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27372,"src":"62593:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27385,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27374,"src":"62597:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27386,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27376,"src":"62601:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27380,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62526:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62526:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62526:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27379,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62510:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62510:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27389,"nodeType":"ExpressionStatement","src":"62510:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62428:3:15","parameters":{"id":27377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27370,"mutability":"mutable","name":"p0","nameLocation":"62440:2:15","nodeType":"VariableDeclaration","scope":27391,"src":"62432:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27369,"name":"address","nodeType":"ElementaryTypeName","src":"62432:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27372,"mutability":"mutable","name":"p1","nameLocation":"62458:2:15","nodeType":"VariableDeclaration","scope":27391,"src":"62444:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27371,"name":"string","nodeType":"ElementaryTypeName","src":"62444:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27374,"mutability":"mutable","name":"p2","nameLocation":"62470:2:15","nodeType":"VariableDeclaration","scope":27391,"src":"62462:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27373,"name":"address","nodeType":"ElementaryTypeName","src":"62462:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27376,"mutability":"mutable","name":"p3","nameLocation":"62482:2:15","nodeType":"VariableDeclaration","scope":27391,"src":"62474:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27375,"name":"uint256","nodeType":"ElementaryTypeName","src":"62474:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62431:54:15"},"returnParameters":{"id":27378,"nodeType":"ParameterList","parameters":[],"src":"62500:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27414,"nodeType":"FunctionDefinition","src":"62618:198:15","nodes":[],"body":{"id":27413,"nodeType":"Block","src":"62705:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":27405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62755:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":27406,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27393,"src":"62793:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27407,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27395,"src":"62797:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27408,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27397,"src":"62801:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27409,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27399,"src":"62805:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62731:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62731:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62731:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27402,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62715:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62715:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27412,"nodeType":"ExpressionStatement","src":"62715:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62627:3:15","parameters":{"id":27400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27393,"mutability":"mutable","name":"p0","nameLocation":"62639:2:15","nodeType":"VariableDeclaration","scope":27414,"src":"62631:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27392,"name":"address","nodeType":"ElementaryTypeName","src":"62631:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27395,"mutability":"mutable","name":"p1","nameLocation":"62657:2:15","nodeType":"VariableDeclaration","scope":27414,"src":"62643:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27394,"name":"string","nodeType":"ElementaryTypeName","src":"62643:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27397,"mutability":"mutable","name":"p2","nameLocation":"62669:2:15","nodeType":"VariableDeclaration","scope":27414,"src":"62661:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27396,"name":"address","nodeType":"ElementaryTypeName","src":"62661:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27399,"mutability":"mutable","name":"p3","nameLocation":"62687:2:15","nodeType":"VariableDeclaration","scope":27414,"src":"62673:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27398,"name":"string","nodeType":"ElementaryTypeName","src":"62673:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62630:60:15"},"returnParameters":{"id":27401,"nodeType":"ParameterList","parameters":[],"src":"62705:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27437,"nodeType":"FunctionDefinition","src":"62822:187:15","nodes":[],"body":{"id":27436,"nodeType":"Block","src":"62900:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":27428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62950:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":27429,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27416,"src":"62986:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27430,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27418,"src":"62990:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27431,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27420,"src":"62994:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27432,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27422,"src":"62998:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27426,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62926:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62926:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62926:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27425,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62910:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62910:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27435,"nodeType":"ExpressionStatement","src":"62910:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62831:3:15","parameters":{"id":27423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27416,"mutability":"mutable","name":"p0","nameLocation":"62843:2:15","nodeType":"VariableDeclaration","scope":27437,"src":"62835:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27415,"name":"address","nodeType":"ElementaryTypeName","src":"62835:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27418,"mutability":"mutable","name":"p1","nameLocation":"62861:2:15","nodeType":"VariableDeclaration","scope":27437,"src":"62847:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27417,"name":"string","nodeType":"ElementaryTypeName","src":"62847:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27420,"mutability":"mutable","name":"p2","nameLocation":"62873:2:15","nodeType":"VariableDeclaration","scope":27437,"src":"62865:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27419,"name":"address","nodeType":"ElementaryTypeName","src":"62865:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27422,"mutability":"mutable","name":"p3","nameLocation":"62882:2:15","nodeType":"VariableDeclaration","scope":27437,"src":"62877:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27421,"name":"bool","nodeType":"ElementaryTypeName","src":"62877:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62834:51:15"},"returnParameters":{"id":27424,"nodeType":"ParameterList","parameters":[],"src":"62900:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27460,"nodeType":"FunctionDefinition","src":"63015:193:15","nodes":[],"body":{"id":27459,"nodeType":"Block","src":"63096:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":27451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63146:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":27452,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27439,"src":"63185:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27453,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27441,"src":"63189:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27454,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27443,"src":"63193:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27455,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27445,"src":"63197:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27449,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63122:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63122:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63122:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27448,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63106:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63106:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27458,"nodeType":"ExpressionStatement","src":"63106:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63024:3:15","parameters":{"id":27446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27439,"mutability":"mutable","name":"p0","nameLocation":"63036:2:15","nodeType":"VariableDeclaration","scope":27460,"src":"63028:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27438,"name":"address","nodeType":"ElementaryTypeName","src":"63028:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27441,"mutability":"mutable","name":"p1","nameLocation":"63054:2:15","nodeType":"VariableDeclaration","scope":27460,"src":"63040:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27440,"name":"string","nodeType":"ElementaryTypeName","src":"63040:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27443,"mutability":"mutable","name":"p2","nameLocation":"63066:2:15","nodeType":"VariableDeclaration","scope":27460,"src":"63058:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27442,"name":"address","nodeType":"ElementaryTypeName","src":"63058:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27445,"mutability":"mutable","name":"p3","nameLocation":"63078:2:15","nodeType":"VariableDeclaration","scope":27460,"src":"63070:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27444,"name":"address","nodeType":"ElementaryTypeName","src":"63070:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63027:54:15"},"returnParameters":{"id":27447,"nodeType":"ParameterList","parameters":[],"src":"63096:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27483,"nodeType":"FunctionDefinition","src":"63214:182:15","nodes":[],"body":{"id":27482,"nodeType":"Block","src":"63286:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629","id":27474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63336:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},"value":"log(address,bool,uint256,uint256)"},{"id":27475,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27462,"src":"63373:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27476,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27464,"src":"63377:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27477,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27466,"src":"63381:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27478,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27468,"src":"63385:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27472,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63312:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63312:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63312:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63296:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63296:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27481,"nodeType":"ExpressionStatement","src":"63296:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63223:3:15","parameters":{"id":27469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27462,"mutability":"mutable","name":"p0","nameLocation":"63235:2:15","nodeType":"VariableDeclaration","scope":27483,"src":"63227:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27461,"name":"address","nodeType":"ElementaryTypeName","src":"63227:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27464,"mutability":"mutable","name":"p1","nameLocation":"63244:2:15","nodeType":"VariableDeclaration","scope":27483,"src":"63239:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27463,"name":"bool","nodeType":"ElementaryTypeName","src":"63239:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27466,"mutability":"mutable","name":"p2","nameLocation":"63256:2:15","nodeType":"VariableDeclaration","scope":27483,"src":"63248:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27465,"name":"uint256","nodeType":"ElementaryTypeName","src":"63248:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27468,"mutability":"mutable","name":"p3","nameLocation":"63268:2:15","nodeType":"VariableDeclaration","scope":27483,"src":"63260:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27467,"name":"uint256","nodeType":"ElementaryTypeName","src":"63260:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63226:45:15"},"returnParameters":{"id":27470,"nodeType":"ParameterList","parameters":[],"src":"63286:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27506,"nodeType":"FunctionDefinition","src":"63402:187:15","nodes":[],"body":{"id":27505,"nodeType":"Block","src":"63480:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729","id":27497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63530:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},"value":"log(address,bool,uint256,string)"},{"id":27498,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27485,"src":"63566:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27499,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27487,"src":"63570:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27500,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27489,"src":"63574:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27501,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27491,"src":"63578:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27495,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63506:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63506:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63506:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27494,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63490:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63490:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27504,"nodeType":"ExpressionStatement","src":"63490:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63411:3:15","parameters":{"id":27492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27485,"mutability":"mutable","name":"p0","nameLocation":"63423:2:15","nodeType":"VariableDeclaration","scope":27506,"src":"63415:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27484,"name":"address","nodeType":"ElementaryTypeName","src":"63415:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27487,"mutability":"mutable","name":"p1","nameLocation":"63432:2:15","nodeType":"VariableDeclaration","scope":27506,"src":"63427:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27486,"name":"bool","nodeType":"ElementaryTypeName","src":"63427:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27489,"mutability":"mutable","name":"p2","nameLocation":"63444:2:15","nodeType":"VariableDeclaration","scope":27506,"src":"63436:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27488,"name":"uint256","nodeType":"ElementaryTypeName","src":"63436:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27491,"mutability":"mutable","name":"p3","nameLocation":"63462:2:15","nodeType":"VariableDeclaration","scope":27506,"src":"63448:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27490,"name":"string","nodeType":"ElementaryTypeName","src":"63448:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63414:51:15"},"returnParameters":{"id":27493,"nodeType":"ParameterList","parameters":[],"src":"63480:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27529,"nodeType":"FunctionDefinition","src":"63595:176:15","nodes":[],"body":{"id":27528,"nodeType":"Block","src":"63664:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29","id":27520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63714:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},"value":"log(address,bool,uint256,bool)"},{"id":27521,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27508,"src":"63748:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27522,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27510,"src":"63752:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27523,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27512,"src":"63756:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27524,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27514,"src":"63760:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63690:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63690:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63690:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63674:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63674:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27527,"nodeType":"ExpressionStatement","src":"63674:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63604:3:15","parameters":{"id":27515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27508,"mutability":"mutable","name":"p0","nameLocation":"63616:2:15","nodeType":"VariableDeclaration","scope":27529,"src":"63608:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27507,"name":"address","nodeType":"ElementaryTypeName","src":"63608:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27510,"mutability":"mutable","name":"p1","nameLocation":"63625:2:15","nodeType":"VariableDeclaration","scope":27529,"src":"63620:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27509,"name":"bool","nodeType":"ElementaryTypeName","src":"63620:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27512,"mutability":"mutable","name":"p2","nameLocation":"63637:2:15","nodeType":"VariableDeclaration","scope":27529,"src":"63629:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27511,"name":"uint256","nodeType":"ElementaryTypeName","src":"63629:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27514,"mutability":"mutable","name":"p3","nameLocation":"63646:2:15","nodeType":"VariableDeclaration","scope":27529,"src":"63641:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27513,"name":"bool","nodeType":"ElementaryTypeName","src":"63641:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63607:42:15"},"returnParameters":{"id":27516,"nodeType":"ParameterList","parameters":[],"src":"63664:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27552,"nodeType":"FunctionDefinition","src":"63777:182:15","nodes":[],"body":{"id":27551,"nodeType":"Block","src":"63849:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329","id":27543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63899:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},"value":"log(address,bool,uint256,address)"},{"id":27544,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27531,"src":"63936:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27545,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27533,"src":"63940:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27546,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27535,"src":"63944:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27547,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27537,"src":"63948:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63875:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63875:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63875:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27540,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63859:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63859:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27550,"nodeType":"ExpressionStatement","src":"63859:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63786:3:15","parameters":{"id":27538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27531,"mutability":"mutable","name":"p0","nameLocation":"63798:2:15","nodeType":"VariableDeclaration","scope":27552,"src":"63790:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27530,"name":"address","nodeType":"ElementaryTypeName","src":"63790:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27533,"mutability":"mutable","name":"p1","nameLocation":"63807:2:15","nodeType":"VariableDeclaration","scope":27552,"src":"63802:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27532,"name":"bool","nodeType":"ElementaryTypeName","src":"63802:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27535,"mutability":"mutable","name":"p2","nameLocation":"63819:2:15","nodeType":"VariableDeclaration","scope":27552,"src":"63811:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27534,"name":"uint256","nodeType":"ElementaryTypeName","src":"63811:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27537,"mutability":"mutable","name":"p3","nameLocation":"63831:2:15","nodeType":"VariableDeclaration","scope":27552,"src":"63823:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27536,"name":"address","nodeType":"ElementaryTypeName","src":"63823:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63789:45:15"},"returnParameters":{"id":27539,"nodeType":"ParameterList","parameters":[],"src":"63849:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27575,"nodeType":"FunctionDefinition","src":"63965:187:15","nodes":[],"body":{"id":27574,"nodeType":"Block","src":"64043:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629","id":27566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64093:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},"value":"log(address,bool,string,uint256)"},{"id":27567,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27554,"src":"64129:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27568,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27556,"src":"64133:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27569,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27558,"src":"64137:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27570,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27560,"src":"64141:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27564,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64069:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64069:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64069:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27563,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64053:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64053:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27573,"nodeType":"ExpressionStatement","src":"64053:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63974:3:15","parameters":{"id":27561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27554,"mutability":"mutable","name":"p0","nameLocation":"63986:2:15","nodeType":"VariableDeclaration","scope":27575,"src":"63978:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27553,"name":"address","nodeType":"ElementaryTypeName","src":"63978:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27556,"mutability":"mutable","name":"p1","nameLocation":"63995:2:15","nodeType":"VariableDeclaration","scope":27575,"src":"63990:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27555,"name":"bool","nodeType":"ElementaryTypeName","src":"63990:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27558,"mutability":"mutable","name":"p2","nameLocation":"64013:2:15","nodeType":"VariableDeclaration","scope":27575,"src":"63999:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27557,"name":"string","nodeType":"ElementaryTypeName","src":"63999:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27560,"mutability":"mutable","name":"p3","nameLocation":"64025:2:15","nodeType":"VariableDeclaration","scope":27575,"src":"64017:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27559,"name":"uint256","nodeType":"ElementaryTypeName","src":"64017:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63977:51:15"},"returnParameters":{"id":27562,"nodeType":"ParameterList","parameters":[],"src":"64043:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27598,"nodeType":"FunctionDefinition","src":"64158:192:15","nodes":[],"body":{"id":27597,"nodeType":"Block","src":"64242:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":27589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64292:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":27590,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27577,"src":"64327:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27591,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27579,"src":"64331:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27592,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27581,"src":"64335:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27593,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27583,"src":"64339:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64268:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64268:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64268:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27586,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64252:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64252:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27596,"nodeType":"ExpressionStatement","src":"64252:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64167:3:15","parameters":{"id":27584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27577,"mutability":"mutable","name":"p0","nameLocation":"64179:2:15","nodeType":"VariableDeclaration","scope":27598,"src":"64171:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27576,"name":"address","nodeType":"ElementaryTypeName","src":"64171:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27579,"mutability":"mutable","name":"p1","nameLocation":"64188:2:15","nodeType":"VariableDeclaration","scope":27598,"src":"64183:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27578,"name":"bool","nodeType":"ElementaryTypeName","src":"64183:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27581,"mutability":"mutable","name":"p2","nameLocation":"64206:2:15","nodeType":"VariableDeclaration","scope":27598,"src":"64192:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27580,"name":"string","nodeType":"ElementaryTypeName","src":"64192:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27583,"mutability":"mutable","name":"p3","nameLocation":"64224:2:15","nodeType":"VariableDeclaration","scope":27598,"src":"64210:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27582,"name":"string","nodeType":"ElementaryTypeName","src":"64210:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64170:57:15"},"returnParameters":{"id":27585,"nodeType":"ParameterList","parameters":[],"src":"64242:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27621,"nodeType":"FunctionDefinition","src":"64356:181:15","nodes":[],"body":{"id":27620,"nodeType":"Block","src":"64431:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":27612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64481:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":27613,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27600,"src":"64514:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27614,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27602,"src":"64518:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27615,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27604,"src":"64522:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27616,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27606,"src":"64526:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27610,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64457:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64457:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64457:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64441:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64441:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27619,"nodeType":"ExpressionStatement","src":"64441:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64365:3:15","parameters":{"id":27607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27600,"mutability":"mutable","name":"p0","nameLocation":"64377:2:15","nodeType":"VariableDeclaration","scope":27621,"src":"64369:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27599,"name":"address","nodeType":"ElementaryTypeName","src":"64369:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27602,"mutability":"mutable","name":"p1","nameLocation":"64386:2:15","nodeType":"VariableDeclaration","scope":27621,"src":"64381:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27601,"name":"bool","nodeType":"ElementaryTypeName","src":"64381:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27604,"mutability":"mutable","name":"p2","nameLocation":"64404:2:15","nodeType":"VariableDeclaration","scope":27621,"src":"64390:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27603,"name":"string","nodeType":"ElementaryTypeName","src":"64390:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27606,"mutability":"mutable","name":"p3","nameLocation":"64413:2:15","nodeType":"VariableDeclaration","scope":27621,"src":"64408:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27605,"name":"bool","nodeType":"ElementaryTypeName","src":"64408:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64368:48:15"},"returnParameters":{"id":27608,"nodeType":"ParameterList","parameters":[],"src":"64431:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27644,"nodeType":"FunctionDefinition","src":"64543:187:15","nodes":[],"body":{"id":27643,"nodeType":"Block","src":"64621:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":27635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64671:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":27636,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27623,"src":"64707:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27637,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27625,"src":"64711:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27638,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27627,"src":"64715:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27639,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27629,"src":"64719:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64647:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64647:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64647:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27632,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64631:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64631:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27642,"nodeType":"ExpressionStatement","src":"64631:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64552:3:15","parameters":{"id":27630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27623,"mutability":"mutable","name":"p0","nameLocation":"64564:2:15","nodeType":"VariableDeclaration","scope":27644,"src":"64556:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27622,"name":"address","nodeType":"ElementaryTypeName","src":"64556:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27625,"mutability":"mutable","name":"p1","nameLocation":"64573:2:15","nodeType":"VariableDeclaration","scope":27644,"src":"64568:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27624,"name":"bool","nodeType":"ElementaryTypeName","src":"64568:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27627,"mutability":"mutable","name":"p2","nameLocation":"64591:2:15","nodeType":"VariableDeclaration","scope":27644,"src":"64577:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27626,"name":"string","nodeType":"ElementaryTypeName","src":"64577:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27629,"mutability":"mutable","name":"p3","nameLocation":"64603:2:15","nodeType":"VariableDeclaration","scope":27644,"src":"64595:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27628,"name":"address","nodeType":"ElementaryTypeName","src":"64595:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64555:51:15"},"returnParameters":{"id":27631,"nodeType":"ParameterList","parameters":[],"src":"64621:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27667,"nodeType":"FunctionDefinition","src":"64736:176:15","nodes":[],"body":{"id":27666,"nodeType":"Block","src":"64805:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629","id":27658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64855:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},"value":"log(address,bool,bool,uint256)"},{"id":27659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27646,"src":"64889:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27648,"src":"64893:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27650,"src":"64897:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27662,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27652,"src":"64901:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64831:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64831:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64831:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64815:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64815:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27665,"nodeType":"ExpressionStatement","src":"64815:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64745:3:15","parameters":{"id":27653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27646,"mutability":"mutable","name":"p0","nameLocation":"64757:2:15","nodeType":"VariableDeclaration","scope":27667,"src":"64749:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27645,"name":"address","nodeType":"ElementaryTypeName","src":"64749:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27648,"mutability":"mutable","name":"p1","nameLocation":"64766:2:15","nodeType":"VariableDeclaration","scope":27667,"src":"64761:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27647,"name":"bool","nodeType":"ElementaryTypeName","src":"64761:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27650,"mutability":"mutable","name":"p2","nameLocation":"64775:2:15","nodeType":"VariableDeclaration","scope":27667,"src":"64770:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27649,"name":"bool","nodeType":"ElementaryTypeName","src":"64770:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27652,"mutability":"mutable","name":"p3","nameLocation":"64787:2:15","nodeType":"VariableDeclaration","scope":27667,"src":"64779:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27651,"name":"uint256","nodeType":"ElementaryTypeName","src":"64779:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64748:42:15"},"returnParameters":{"id":27654,"nodeType":"ParameterList","parameters":[],"src":"64805:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27690,"nodeType":"FunctionDefinition","src":"64918:181:15","nodes":[],"body":{"id":27689,"nodeType":"Block","src":"64993:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":27681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65043:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":27682,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27669,"src":"65076:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27683,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27671,"src":"65080:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27684,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27673,"src":"65084:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27685,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27675,"src":"65088:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27679,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65019:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65019:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65019:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27678,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65003:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65003:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27688,"nodeType":"ExpressionStatement","src":"65003:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64927:3:15","parameters":{"id":27676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27669,"mutability":"mutable","name":"p0","nameLocation":"64939:2:15","nodeType":"VariableDeclaration","scope":27690,"src":"64931:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27668,"name":"address","nodeType":"ElementaryTypeName","src":"64931:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27671,"mutability":"mutable","name":"p1","nameLocation":"64948:2:15","nodeType":"VariableDeclaration","scope":27690,"src":"64943:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27670,"name":"bool","nodeType":"ElementaryTypeName","src":"64943:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27673,"mutability":"mutable","name":"p2","nameLocation":"64957:2:15","nodeType":"VariableDeclaration","scope":27690,"src":"64952:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27672,"name":"bool","nodeType":"ElementaryTypeName","src":"64952:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27675,"mutability":"mutable","name":"p3","nameLocation":"64975:2:15","nodeType":"VariableDeclaration","scope":27690,"src":"64961:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27674,"name":"string","nodeType":"ElementaryTypeName","src":"64961:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64930:48:15"},"returnParameters":{"id":27677,"nodeType":"ParameterList","parameters":[],"src":"64993:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27713,"nodeType":"FunctionDefinition","src":"65105:170:15","nodes":[],"body":{"id":27712,"nodeType":"Block","src":"65171:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":27704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65221:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":27705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27692,"src":"65252:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27694,"src":"65256:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27707,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27696,"src":"65260:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27708,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27698,"src":"65264:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65197:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65197:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65197:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65181:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65181:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27711,"nodeType":"ExpressionStatement","src":"65181:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65114:3:15","parameters":{"id":27699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27692,"mutability":"mutable","name":"p0","nameLocation":"65126:2:15","nodeType":"VariableDeclaration","scope":27713,"src":"65118:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27691,"name":"address","nodeType":"ElementaryTypeName","src":"65118:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27694,"mutability":"mutable","name":"p1","nameLocation":"65135:2:15","nodeType":"VariableDeclaration","scope":27713,"src":"65130:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27693,"name":"bool","nodeType":"ElementaryTypeName","src":"65130:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27696,"mutability":"mutable","name":"p2","nameLocation":"65144:2:15","nodeType":"VariableDeclaration","scope":27713,"src":"65139:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27695,"name":"bool","nodeType":"ElementaryTypeName","src":"65139:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27698,"mutability":"mutable","name":"p3","nameLocation":"65153:2:15","nodeType":"VariableDeclaration","scope":27713,"src":"65148:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27697,"name":"bool","nodeType":"ElementaryTypeName","src":"65148:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65117:39:15"},"returnParameters":{"id":27700,"nodeType":"ParameterList","parameters":[],"src":"65171:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27736,"nodeType":"FunctionDefinition","src":"65281:176:15","nodes":[],"body":{"id":27735,"nodeType":"Block","src":"65350:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":27727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65400:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":27728,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27715,"src":"65434:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27729,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27717,"src":"65438:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27730,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27719,"src":"65442:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27731,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27721,"src":"65446:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27725,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65376:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65376:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65376:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27724,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65360:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65360:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27734,"nodeType":"ExpressionStatement","src":"65360:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65290:3:15","parameters":{"id":27722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27715,"mutability":"mutable","name":"p0","nameLocation":"65302:2:15","nodeType":"VariableDeclaration","scope":27736,"src":"65294:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27714,"name":"address","nodeType":"ElementaryTypeName","src":"65294:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27717,"mutability":"mutable","name":"p1","nameLocation":"65311:2:15","nodeType":"VariableDeclaration","scope":27736,"src":"65306:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27716,"name":"bool","nodeType":"ElementaryTypeName","src":"65306:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27719,"mutability":"mutable","name":"p2","nameLocation":"65320:2:15","nodeType":"VariableDeclaration","scope":27736,"src":"65315:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27718,"name":"bool","nodeType":"ElementaryTypeName","src":"65315:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27721,"mutability":"mutable","name":"p3","nameLocation":"65332:2:15","nodeType":"VariableDeclaration","scope":27736,"src":"65324:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27720,"name":"address","nodeType":"ElementaryTypeName","src":"65324:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65293:42:15"},"returnParameters":{"id":27723,"nodeType":"ParameterList","parameters":[],"src":"65350:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27759,"nodeType":"FunctionDefinition","src":"65463:182:15","nodes":[],"body":{"id":27758,"nodeType":"Block","src":"65535:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629","id":27750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65585:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},"value":"log(address,bool,address,uint256)"},{"id":27751,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27738,"src":"65622:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27752,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27740,"src":"65626:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27753,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27742,"src":"65630:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27754,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27744,"src":"65634:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27748,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65561:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65561:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65561:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27747,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65545:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65545:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27757,"nodeType":"ExpressionStatement","src":"65545:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65472:3:15","parameters":{"id":27745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27738,"mutability":"mutable","name":"p0","nameLocation":"65484:2:15","nodeType":"VariableDeclaration","scope":27759,"src":"65476:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27737,"name":"address","nodeType":"ElementaryTypeName","src":"65476:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27740,"mutability":"mutable","name":"p1","nameLocation":"65493:2:15","nodeType":"VariableDeclaration","scope":27759,"src":"65488:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27739,"name":"bool","nodeType":"ElementaryTypeName","src":"65488:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27742,"mutability":"mutable","name":"p2","nameLocation":"65505:2:15","nodeType":"VariableDeclaration","scope":27759,"src":"65497:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27741,"name":"address","nodeType":"ElementaryTypeName","src":"65497:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27744,"mutability":"mutable","name":"p3","nameLocation":"65517:2:15","nodeType":"VariableDeclaration","scope":27759,"src":"65509:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27743,"name":"uint256","nodeType":"ElementaryTypeName","src":"65509:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65475:45:15"},"returnParameters":{"id":27746,"nodeType":"ParameterList","parameters":[],"src":"65535:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27782,"nodeType":"FunctionDefinition","src":"65651:187:15","nodes":[],"body":{"id":27781,"nodeType":"Block","src":"65729:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":27773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65779:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":27774,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27761,"src":"65815:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27775,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27763,"src":"65819:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27776,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27765,"src":"65823:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27777,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27767,"src":"65827:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65755:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65755:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65755:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27770,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65739:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65739:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27780,"nodeType":"ExpressionStatement","src":"65739:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65660:3:15","parameters":{"id":27768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27761,"mutability":"mutable","name":"p0","nameLocation":"65672:2:15","nodeType":"VariableDeclaration","scope":27782,"src":"65664:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27760,"name":"address","nodeType":"ElementaryTypeName","src":"65664:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27763,"mutability":"mutable","name":"p1","nameLocation":"65681:2:15","nodeType":"VariableDeclaration","scope":27782,"src":"65676:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27762,"name":"bool","nodeType":"ElementaryTypeName","src":"65676:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27765,"mutability":"mutable","name":"p2","nameLocation":"65693:2:15","nodeType":"VariableDeclaration","scope":27782,"src":"65685:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27764,"name":"address","nodeType":"ElementaryTypeName","src":"65685:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27767,"mutability":"mutable","name":"p3","nameLocation":"65711:2:15","nodeType":"VariableDeclaration","scope":27782,"src":"65697:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27766,"name":"string","nodeType":"ElementaryTypeName","src":"65697:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65663:51:15"},"returnParameters":{"id":27769,"nodeType":"ParameterList","parameters":[],"src":"65729:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27805,"nodeType":"FunctionDefinition","src":"65844:176:15","nodes":[],"body":{"id":27804,"nodeType":"Block","src":"65913:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":27796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65963:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":27797,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27784,"src":"65997:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27798,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27786,"src":"66001:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27799,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27788,"src":"66005:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27800,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27790,"src":"66009:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27794,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65939:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65939:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65939:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27793,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65923:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65923:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27803,"nodeType":"ExpressionStatement","src":"65923:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65853:3:15","parameters":{"id":27791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27784,"mutability":"mutable","name":"p0","nameLocation":"65865:2:15","nodeType":"VariableDeclaration","scope":27805,"src":"65857:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27783,"name":"address","nodeType":"ElementaryTypeName","src":"65857:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27786,"mutability":"mutable","name":"p1","nameLocation":"65874:2:15","nodeType":"VariableDeclaration","scope":27805,"src":"65869:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27785,"name":"bool","nodeType":"ElementaryTypeName","src":"65869:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27788,"mutability":"mutable","name":"p2","nameLocation":"65886:2:15","nodeType":"VariableDeclaration","scope":27805,"src":"65878:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27787,"name":"address","nodeType":"ElementaryTypeName","src":"65878:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27790,"mutability":"mutable","name":"p3","nameLocation":"65895:2:15","nodeType":"VariableDeclaration","scope":27805,"src":"65890:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27789,"name":"bool","nodeType":"ElementaryTypeName","src":"65890:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65856:42:15"},"returnParameters":{"id":27792,"nodeType":"ParameterList","parameters":[],"src":"65913:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27828,"nodeType":"FunctionDefinition","src":"66026:182:15","nodes":[],"body":{"id":27827,"nodeType":"Block","src":"66098:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":27819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66148:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":27820,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27807,"src":"66185:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27821,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27809,"src":"66189:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27822,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27811,"src":"66193:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27823,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27813,"src":"66197:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66124:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66124:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66124:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27816,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66108:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66108:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27826,"nodeType":"ExpressionStatement","src":"66108:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66035:3:15","parameters":{"id":27814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27807,"mutability":"mutable","name":"p0","nameLocation":"66047:2:15","nodeType":"VariableDeclaration","scope":27828,"src":"66039:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27806,"name":"address","nodeType":"ElementaryTypeName","src":"66039:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27809,"mutability":"mutable","name":"p1","nameLocation":"66056:2:15","nodeType":"VariableDeclaration","scope":27828,"src":"66051:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27808,"name":"bool","nodeType":"ElementaryTypeName","src":"66051:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27811,"mutability":"mutable","name":"p2","nameLocation":"66068:2:15","nodeType":"VariableDeclaration","scope":27828,"src":"66060:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27810,"name":"address","nodeType":"ElementaryTypeName","src":"66060:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27813,"mutability":"mutable","name":"p3","nameLocation":"66080:2:15","nodeType":"VariableDeclaration","scope":27828,"src":"66072:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27812,"name":"address","nodeType":"ElementaryTypeName","src":"66072:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66038:45:15"},"returnParameters":{"id":27815,"nodeType":"ParameterList","parameters":[],"src":"66098:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27851,"nodeType":"FunctionDefinition","src":"66214:188:15","nodes":[],"body":{"id":27850,"nodeType":"Block","src":"66289:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629","id":27842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66339:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},"value":"log(address,address,uint256,uint256)"},{"id":27843,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27830,"src":"66379:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27844,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27832,"src":"66383:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27845,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27834,"src":"66387:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27846,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27836,"src":"66391:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66315:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66315:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66315:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27839,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66299:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66299:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27849,"nodeType":"ExpressionStatement","src":"66299:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66223:3:15","parameters":{"id":27837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27830,"mutability":"mutable","name":"p0","nameLocation":"66235:2:15","nodeType":"VariableDeclaration","scope":27851,"src":"66227:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27829,"name":"address","nodeType":"ElementaryTypeName","src":"66227:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27832,"mutability":"mutable","name":"p1","nameLocation":"66247:2:15","nodeType":"VariableDeclaration","scope":27851,"src":"66239:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27831,"name":"address","nodeType":"ElementaryTypeName","src":"66239:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27834,"mutability":"mutable","name":"p2","nameLocation":"66259:2:15","nodeType":"VariableDeclaration","scope":27851,"src":"66251:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27833,"name":"uint256","nodeType":"ElementaryTypeName","src":"66251:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27836,"mutability":"mutable","name":"p3","nameLocation":"66271:2:15","nodeType":"VariableDeclaration","scope":27851,"src":"66263:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27835,"name":"uint256","nodeType":"ElementaryTypeName","src":"66263:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66226:48:15"},"returnParameters":{"id":27838,"nodeType":"ParameterList","parameters":[],"src":"66289:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27874,"nodeType":"FunctionDefinition","src":"66408:193:15","nodes":[],"body":{"id":27873,"nodeType":"Block","src":"66489:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729","id":27865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66539:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},"value":"log(address,address,uint256,string)"},{"id":27866,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27853,"src":"66578:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27867,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27855,"src":"66582:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27868,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27857,"src":"66586:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27869,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27859,"src":"66590:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66515:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66515:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66515:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27862,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66499:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66499:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27872,"nodeType":"ExpressionStatement","src":"66499:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66417:3:15","parameters":{"id":27860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27853,"mutability":"mutable","name":"p0","nameLocation":"66429:2:15","nodeType":"VariableDeclaration","scope":27874,"src":"66421:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27852,"name":"address","nodeType":"ElementaryTypeName","src":"66421:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27855,"mutability":"mutable","name":"p1","nameLocation":"66441:2:15","nodeType":"VariableDeclaration","scope":27874,"src":"66433:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27854,"name":"address","nodeType":"ElementaryTypeName","src":"66433:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27857,"mutability":"mutable","name":"p2","nameLocation":"66453:2:15","nodeType":"VariableDeclaration","scope":27874,"src":"66445:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27856,"name":"uint256","nodeType":"ElementaryTypeName","src":"66445:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27859,"mutability":"mutable","name":"p3","nameLocation":"66471:2:15","nodeType":"VariableDeclaration","scope":27874,"src":"66457:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27858,"name":"string","nodeType":"ElementaryTypeName","src":"66457:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66420:54:15"},"returnParameters":{"id":27861,"nodeType":"ParameterList","parameters":[],"src":"66489:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27897,"nodeType":"FunctionDefinition","src":"66607:182:15","nodes":[],"body":{"id":27896,"nodeType":"Block","src":"66679:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29","id":27888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66729:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},"value":"log(address,address,uint256,bool)"},{"id":27889,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27876,"src":"66766:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27890,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27878,"src":"66770:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27891,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27880,"src":"66774:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27892,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27882,"src":"66778:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27886,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66705:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66705:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66705:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27885,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66689:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66689:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27895,"nodeType":"ExpressionStatement","src":"66689:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66616:3:15","parameters":{"id":27883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27876,"mutability":"mutable","name":"p0","nameLocation":"66628:2:15","nodeType":"VariableDeclaration","scope":27897,"src":"66620:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27875,"name":"address","nodeType":"ElementaryTypeName","src":"66620:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27878,"mutability":"mutable","name":"p1","nameLocation":"66640:2:15","nodeType":"VariableDeclaration","scope":27897,"src":"66632:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27877,"name":"address","nodeType":"ElementaryTypeName","src":"66632:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27880,"mutability":"mutable","name":"p2","nameLocation":"66652:2:15","nodeType":"VariableDeclaration","scope":27897,"src":"66644:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27879,"name":"uint256","nodeType":"ElementaryTypeName","src":"66644:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27882,"mutability":"mutable","name":"p3","nameLocation":"66661:2:15","nodeType":"VariableDeclaration","scope":27897,"src":"66656:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27881,"name":"bool","nodeType":"ElementaryTypeName","src":"66656:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66619:45:15"},"returnParameters":{"id":27884,"nodeType":"ParameterList","parameters":[],"src":"66679:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27920,"nodeType":"FunctionDefinition","src":"66795:188:15","nodes":[],"body":{"id":27919,"nodeType":"Block","src":"66870:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329","id":27911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66920:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},"value":"log(address,address,uint256,address)"},{"id":27912,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27899,"src":"66960:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27913,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27901,"src":"66964:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27914,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27903,"src":"66968:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27915,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27905,"src":"66972:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66896:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66896:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66896:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66880:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66880:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27918,"nodeType":"ExpressionStatement","src":"66880:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66804:3:15","parameters":{"id":27906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27899,"mutability":"mutable","name":"p0","nameLocation":"66816:2:15","nodeType":"VariableDeclaration","scope":27920,"src":"66808:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27898,"name":"address","nodeType":"ElementaryTypeName","src":"66808:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27901,"mutability":"mutable","name":"p1","nameLocation":"66828:2:15","nodeType":"VariableDeclaration","scope":27920,"src":"66820:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27900,"name":"address","nodeType":"ElementaryTypeName","src":"66820:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27903,"mutability":"mutable","name":"p2","nameLocation":"66840:2:15","nodeType":"VariableDeclaration","scope":27920,"src":"66832:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27902,"name":"uint256","nodeType":"ElementaryTypeName","src":"66832:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27905,"mutability":"mutable","name":"p3","nameLocation":"66852:2:15","nodeType":"VariableDeclaration","scope":27920,"src":"66844:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27904,"name":"address","nodeType":"ElementaryTypeName","src":"66844:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66807:48:15"},"returnParameters":{"id":27907,"nodeType":"ParameterList","parameters":[],"src":"66870:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27943,"nodeType":"FunctionDefinition","src":"66989:193:15","nodes":[],"body":{"id":27942,"nodeType":"Block","src":"67070:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629","id":27934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67120:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},"value":"log(address,address,string,uint256)"},{"id":27935,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27922,"src":"67159:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27936,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27924,"src":"67163:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27937,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27926,"src":"67167:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27938,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27928,"src":"67171:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27932,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67096:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67096:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67096:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27931,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67080:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67080:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27941,"nodeType":"ExpressionStatement","src":"67080:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66998:3:15","parameters":{"id":27929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27922,"mutability":"mutable","name":"p0","nameLocation":"67010:2:15","nodeType":"VariableDeclaration","scope":27943,"src":"67002:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27921,"name":"address","nodeType":"ElementaryTypeName","src":"67002:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27924,"mutability":"mutable","name":"p1","nameLocation":"67022:2:15","nodeType":"VariableDeclaration","scope":27943,"src":"67014:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27923,"name":"address","nodeType":"ElementaryTypeName","src":"67014:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27926,"mutability":"mutable","name":"p2","nameLocation":"67040:2:15","nodeType":"VariableDeclaration","scope":27943,"src":"67026:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27925,"name":"string","nodeType":"ElementaryTypeName","src":"67026:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27928,"mutability":"mutable","name":"p3","nameLocation":"67052:2:15","nodeType":"VariableDeclaration","scope":27943,"src":"67044:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27927,"name":"uint256","nodeType":"ElementaryTypeName","src":"67044:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67001:54:15"},"returnParameters":{"id":27930,"nodeType":"ParameterList","parameters":[],"src":"67070:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27966,"nodeType":"FunctionDefinition","src":"67188:198:15","nodes":[],"body":{"id":27965,"nodeType":"Block","src":"67275:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":27957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67325:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":27958,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27945,"src":"67363:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27959,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27947,"src":"67367:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27960,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27949,"src":"67371:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27961,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27951,"src":"67375:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27955,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67301:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67301:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67301:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27954,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67285:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67285:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27964,"nodeType":"ExpressionStatement","src":"67285:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67197:3:15","parameters":{"id":27952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27945,"mutability":"mutable","name":"p0","nameLocation":"67209:2:15","nodeType":"VariableDeclaration","scope":27966,"src":"67201:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27944,"name":"address","nodeType":"ElementaryTypeName","src":"67201:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27947,"mutability":"mutable","name":"p1","nameLocation":"67221:2:15","nodeType":"VariableDeclaration","scope":27966,"src":"67213:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27946,"name":"address","nodeType":"ElementaryTypeName","src":"67213:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27949,"mutability":"mutable","name":"p2","nameLocation":"67239:2:15","nodeType":"VariableDeclaration","scope":27966,"src":"67225:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27948,"name":"string","nodeType":"ElementaryTypeName","src":"67225:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27951,"mutability":"mutable","name":"p3","nameLocation":"67257:2:15","nodeType":"VariableDeclaration","scope":27966,"src":"67243:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27950,"name":"string","nodeType":"ElementaryTypeName","src":"67243:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67200:60:15"},"returnParameters":{"id":27953,"nodeType":"ParameterList","parameters":[],"src":"67275:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27989,"nodeType":"FunctionDefinition","src":"67392:187:15","nodes":[],"body":{"id":27988,"nodeType":"Block","src":"67470:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":27980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67520:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":27981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27968,"src":"67556:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27970,"src":"67560:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27972,"src":"67564:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27984,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27974,"src":"67568:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67496:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67496:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67496:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67480:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67480:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27987,"nodeType":"ExpressionStatement","src":"67480:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67401:3:15","parameters":{"id":27975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27968,"mutability":"mutable","name":"p0","nameLocation":"67413:2:15","nodeType":"VariableDeclaration","scope":27989,"src":"67405:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27967,"name":"address","nodeType":"ElementaryTypeName","src":"67405:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27970,"mutability":"mutable","name":"p1","nameLocation":"67425:2:15","nodeType":"VariableDeclaration","scope":27989,"src":"67417:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27969,"name":"address","nodeType":"ElementaryTypeName","src":"67417:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27972,"mutability":"mutable","name":"p2","nameLocation":"67443:2:15","nodeType":"VariableDeclaration","scope":27989,"src":"67429:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27971,"name":"string","nodeType":"ElementaryTypeName","src":"67429:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27974,"mutability":"mutable","name":"p3","nameLocation":"67452:2:15","nodeType":"VariableDeclaration","scope":27989,"src":"67447:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27973,"name":"bool","nodeType":"ElementaryTypeName","src":"67447:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67404:51:15"},"returnParameters":{"id":27976,"nodeType":"ParameterList","parameters":[],"src":"67470:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28012,"nodeType":"FunctionDefinition","src":"67585:193:15","nodes":[],"body":{"id":28011,"nodeType":"Block","src":"67666:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":28003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67716:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":28004,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27991,"src":"67755:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28005,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27993,"src":"67759:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28006,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27995,"src":"67763:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28007,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27997,"src":"67767:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":28001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67692:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67692:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67692:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67676:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67676:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28010,"nodeType":"ExpressionStatement","src":"67676:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67594:3:15","parameters":{"id":27998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27991,"mutability":"mutable","name":"p0","nameLocation":"67606:2:15","nodeType":"VariableDeclaration","scope":28012,"src":"67598:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27990,"name":"address","nodeType":"ElementaryTypeName","src":"67598:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27993,"mutability":"mutable","name":"p1","nameLocation":"67618:2:15","nodeType":"VariableDeclaration","scope":28012,"src":"67610:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27992,"name":"address","nodeType":"ElementaryTypeName","src":"67610:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27995,"mutability":"mutable","name":"p2","nameLocation":"67636:2:15","nodeType":"VariableDeclaration","scope":28012,"src":"67622:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27994,"name":"string","nodeType":"ElementaryTypeName","src":"67622:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27997,"mutability":"mutable","name":"p3","nameLocation":"67648:2:15","nodeType":"VariableDeclaration","scope":28012,"src":"67640:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27996,"name":"address","nodeType":"ElementaryTypeName","src":"67640:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"67597:54:15"},"returnParameters":{"id":27999,"nodeType":"ParameterList","parameters":[],"src":"67666:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28035,"nodeType":"FunctionDefinition","src":"67784:182:15","nodes":[],"body":{"id":28034,"nodeType":"Block","src":"67856:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629","id":28026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67906:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},"value":"log(address,address,bool,uint256)"},{"id":28027,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28014,"src":"67943:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28028,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28016,"src":"67947:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28029,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28018,"src":"67951:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28030,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28020,"src":"67955:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":28024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67882:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67882:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67882:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28023,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67866:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67866:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28033,"nodeType":"ExpressionStatement","src":"67866:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67793:3:15","parameters":{"id":28021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28014,"mutability":"mutable","name":"p0","nameLocation":"67805:2:15","nodeType":"VariableDeclaration","scope":28035,"src":"67797:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28013,"name":"address","nodeType":"ElementaryTypeName","src":"67797:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28016,"mutability":"mutable","name":"p1","nameLocation":"67817:2:15","nodeType":"VariableDeclaration","scope":28035,"src":"67809:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28015,"name":"address","nodeType":"ElementaryTypeName","src":"67809:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28018,"mutability":"mutable","name":"p2","nameLocation":"67826:2:15","nodeType":"VariableDeclaration","scope":28035,"src":"67821:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28017,"name":"bool","nodeType":"ElementaryTypeName","src":"67821:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28020,"mutability":"mutable","name":"p3","nameLocation":"67838:2:15","nodeType":"VariableDeclaration","scope":28035,"src":"67830:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28019,"name":"uint256","nodeType":"ElementaryTypeName","src":"67830:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67796:45:15"},"returnParameters":{"id":28022,"nodeType":"ParameterList","parameters":[],"src":"67856:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28058,"nodeType":"FunctionDefinition","src":"67972:187:15","nodes":[],"body":{"id":28057,"nodeType":"Block","src":"68050:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":28049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68100:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":28050,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28037,"src":"68136:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28051,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28039,"src":"68140:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28052,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28041,"src":"68144:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28053,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28043,"src":"68148:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":28047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68076:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68076:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68076:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28046,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68060:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68060:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28056,"nodeType":"ExpressionStatement","src":"68060:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67981:3:15","parameters":{"id":28044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28037,"mutability":"mutable","name":"p0","nameLocation":"67993:2:15","nodeType":"VariableDeclaration","scope":28058,"src":"67985:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28036,"name":"address","nodeType":"ElementaryTypeName","src":"67985:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28039,"mutability":"mutable","name":"p1","nameLocation":"68005:2:15","nodeType":"VariableDeclaration","scope":28058,"src":"67997:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28038,"name":"address","nodeType":"ElementaryTypeName","src":"67997:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28041,"mutability":"mutable","name":"p2","nameLocation":"68014:2:15","nodeType":"VariableDeclaration","scope":28058,"src":"68009:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28040,"name":"bool","nodeType":"ElementaryTypeName","src":"68009:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28043,"mutability":"mutable","name":"p3","nameLocation":"68032:2:15","nodeType":"VariableDeclaration","scope":28058,"src":"68018:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28042,"name":"string","nodeType":"ElementaryTypeName","src":"68018:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67984:51:15"},"returnParameters":{"id":28045,"nodeType":"ParameterList","parameters":[],"src":"68050:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28081,"nodeType":"FunctionDefinition","src":"68165:176:15","nodes":[],"body":{"id":28080,"nodeType":"Block","src":"68234:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":28072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68284:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":28073,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28060,"src":"68318:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28074,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28062,"src":"68322:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28075,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28064,"src":"68326:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28076,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28066,"src":"68330:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":28070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68260:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68260:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68260:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28069,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68244:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68244:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28079,"nodeType":"ExpressionStatement","src":"68244:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68174:3:15","parameters":{"id":28067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28060,"mutability":"mutable","name":"p0","nameLocation":"68186:2:15","nodeType":"VariableDeclaration","scope":28081,"src":"68178:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28059,"name":"address","nodeType":"ElementaryTypeName","src":"68178:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28062,"mutability":"mutable","name":"p1","nameLocation":"68198:2:15","nodeType":"VariableDeclaration","scope":28081,"src":"68190:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28061,"name":"address","nodeType":"ElementaryTypeName","src":"68190:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28064,"mutability":"mutable","name":"p2","nameLocation":"68207:2:15","nodeType":"VariableDeclaration","scope":28081,"src":"68202:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28063,"name":"bool","nodeType":"ElementaryTypeName","src":"68202:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28066,"mutability":"mutable","name":"p3","nameLocation":"68216:2:15","nodeType":"VariableDeclaration","scope":28081,"src":"68211:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28065,"name":"bool","nodeType":"ElementaryTypeName","src":"68211:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68177:42:15"},"returnParameters":{"id":28068,"nodeType":"ParameterList","parameters":[],"src":"68234:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28104,"nodeType":"FunctionDefinition","src":"68347:182:15","nodes":[],"body":{"id":28103,"nodeType":"Block","src":"68419:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":28095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68469:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":28096,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28083,"src":"68506:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28097,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28085,"src":"68510:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28098,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28087,"src":"68514:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28099,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28089,"src":"68518:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":28093,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68445:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68445:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68445:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28092,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68429:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68429:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28102,"nodeType":"ExpressionStatement","src":"68429:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68356:3:15","parameters":{"id":28090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28083,"mutability":"mutable","name":"p0","nameLocation":"68368:2:15","nodeType":"VariableDeclaration","scope":28104,"src":"68360:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28082,"name":"address","nodeType":"ElementaryTypeName","src":"68360:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28085,"mutability":"mutable","name":"p1","nameLocation":"68380:2:15","nodeType":"VariableDeclaration","scope":28104,"src":"68372:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28084,"name":"address","nodeType":"ElementaryTypeName","src":"68372:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28087,"mutability":"mutable","name":"p2","nameLocation":"68389:2:15","nodeType":"VariableDeclaration","scope":28104,"src":"68384:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28086,"name":"bool","nodeType":"ElementaryTypeName","src":"68384:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28089,"mutability":"mutable","name":"p3","nameLocation":"68401:2:15","nodeType":"VariableDeclaration","scope":28104,"src":"68393:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28088,"name":"address","nodeType":"ElementaryTypeName","src":"68393:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68359:45:15"},"returnParameters":{"id":28091,"nodeType":"ParameterList","parameters":[],"src":"68419:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28127,"nodeType":"FunctionDefinition","src":"68535:188:15","nodes":[],"body":{"id":28126,"nodeType":"Block","src":"68610:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629","id":28118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68660:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},"value":"log(address,address,address,uint256)"},{"id":28119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28106,"src":"68700:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28108,"src":"68704:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28110,"src":"68708:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28122,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28112,"src":"68712:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":28116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68636:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68636:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68636:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68620:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68620:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28125,"nodeType":"ExpressionStatement","src":"68620:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68544:3:15","parameters":{"id":28113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28106,"mutability":"mutable","name":"p0","nameLocation":"68556:2:15","nodeType":"VariableDeclaration","scope":28127,"src":"68548:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28105,"name":"address","nodeType":"ElementaryTypeName","src":"68548:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28108,"mutability":"mutable","name":"p1","nameLocation":"68568:2:15","nodeType":"VariableDeclaration","scope":28127,"src":"68560:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28107,"name":"address","nodeType":"ElementaryTypeName","src":"68560:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28110,"mutability":"mutable","name":"p2","nameLocation":"68580:2:15","nodeType":"VariableDeclaration","scope":28127,"src":"68572:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28109,"name":"address","nodeType":"ElementaryTypeName","src":"68572:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28112,"mutability":"mutable","name":"p3","nameLocation":"68592:2:15","nodeType":"VariableDeclaration","scope":28127,"src":"68584:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28111,"name":"uint256","nodeType":"ElementaryTypeName","src":"68584:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68547:48:15"},"returnParameters":{"id":28114,"nodeType":"ParameterList","parameters":[],"src":"68610:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28150,"nodeType":"FunctionDefinition","src":"68729:193:15","nodes":[],"body":{"id":28149,"nodeType":"Block","src":"68810:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":28141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68860:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":28142,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28129,"src":"68899:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28143,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28131,"src":"68903:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28144,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28133,"src":"68907:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28145,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28135,"src":"68911:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":28139,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68836:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68836:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68836:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28138,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68820:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68820:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28148,"nodeType":"ExpressionStatement","src":"68820:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68738:3:15","parameters":{"id":28136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28129,"mutability":"mutable","name":"p0","nameLocation":"68750:2:15","nodeType":"VariableDeclaration","scope":28150,"src":"68742:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28128,"name":"address","nodeType":"ElementaryTypeName","src":"68742:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28131,"mutability":"mutable","name":"p1","nameLocation":"68762:2:15","nodeType":"VariableDeclaration","scope":28150,"src":"68754:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28130,"name":"address","nodeType":"ElementaryTypeName","src":"68754:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28133,"mutability":"mutable","name":"p2","nameLocation":"68774:2:15","nodeType":"VariableDeclaration","scope":28150,"src":"68766:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28132,"name":"address","nodeType":"ElementaryTypeName","src":"68766:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28135,"mutability":"mutable","name":"p3","nameLocation":"68792:2:15","nodeType":"VariableDeclaration","scope":28150,"src":"68778:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28134,"name":"string","nodeType":"ElementaryTypeName","src":"68778:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68741:54:15"},"returnParameters":{"id":28137,"nodeType":"ParameterList","parameters":[],"src":"68810:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28173,"nodeType":"FunctionDefinition","src":"68928:182:15","nodes":[],"body":{"id":28172,"nodeType":"Block","src":"69000:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":28164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69050:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":28165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28152,"src":"69087:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28154,"src":"69091:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28156,"src":"69095:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28168,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28158,"src":"69099:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":28162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69026:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69026:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"69026:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"69010:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"69010:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28171,"nodeType":"ExpressionStatement","src":"69010:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68937:3:15","parameters":{"id":28159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28152,"mutability":"mutable","name":"p0","nameLocation":"68949:2:15","nodeType":"VariableDeclaration","scope":28173,"src":"68941:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28151,"name":"address","nodeType":"ElementaryTypeName","src":"68941:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28154,"mutability":"mutable","name":"p1","nameLocation":"68961:2:15","nodeType":"VariableDeclaration","scope":28173,"src":"68953:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28153,"name":"address","nodeType":"ElementaryTypeName","src":"68953:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28156,"mutability":"mutable","name":"p2","nameLocation":"68973:2:15","nodeType":"VariableDeclaration","scope":28173,"src":"68965:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28155,"name":"address","nodeType":"ElementaryTypeName","src":"68965:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28158,"mutability":"mutable","name":"p3","nameLocation":"68982:2:15","nodeType":"VariableDeclaration","scope":28173,"src":"68977:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28157,"name":"bool","nodeType":"ElementaryTypeName","src":"68977:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68940:45:15"},"returnParameters":{"id":28160,"nodeType":"ParameterList","parameters":[],"src":"69000:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28196,"nodeType":"FunctionDefinition","src":"69116:188:15","nodes":[],"body":{"id":28195,"nodeType":"Block","src":"69191:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":28187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69241:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":28188,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28175,"src":"69281:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28189,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28177,"src":"69285:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28190,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28179,"src":"69289:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28191,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28181,"src":"69293:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":28185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69217:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69217:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"69217:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28184,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"69201:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"69201:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28194,"nodeType":"ExpressionStatement","src":"69201:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69125:3:15","parameters":{"id":28182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28175,"mutability":"mutable","name":"p0","nameLocation":"69137:2:15","nodeType":"VariableDeclaration","scope":28196,"src":"69129:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28174,"name":"address","nodeType":"ElementaryTypeName","src":"69129:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28177,"mutability":"mutable","name":"p1","nameLocation":"69149:2:15","nodeType":"VariableDeclaration","scope":28196,"src":"69141:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28176,"name":"address","nodeType":"ElementaryTypeName","src":"69141:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28179,"mutability":"mutable","name":"p2","nameLocation":"69161:2:15","nodeType":"VariableDeclaration","scope":28196,"src":"69153:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28178,"name":"address","nodeType":"ElementaryTypeName","src":"69153:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28181,"mutability":"mutable","name":"p3","nameLocation":"69173:2:15","nodeType":"VariableDeclaration","scope":28196,"src":"69165:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28180,"name":"address","nodeType":"ElementaryTypeName","src":"69165:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"69128:48:15"},"returnParameters":{"id":28183,"nodeType":"ParameterList","parameters":[],"src":"69191:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"console2","contractDependencies":[],"contractKind":"library","documentation":{"id":20104,"nodeType":"StructuredDocumentation","src":"66:459:15","text":"@dev The original console.sol uses `int` and `uint` for computing function selectors, but it should\n use `int256` and `uint256`. This modified version fixes that. This version is recommended\n over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in\n forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`.\n Reference: https://github.com/NomicFoundation/hardhat/issues/2178"},"fullyImplemented":true,"linearizedBaseContracts":[28197],"name":"console2","nameLocation":"533:8:15","scope":28198,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/interfaces/IMulticall3.sol":{"id":16,"ast":{"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","id":28361,"exportedSymbols":{"IMulticall3":[28360]},"nodeType":"SourceUnit","src":"32:2153:16","nodes":[{"id":28199,"nodeType":"PragmaDirective","src":"32:31:16","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":28200,"nodeType":"PragmaDirective","src":"65:33:16","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":28360,"nodeType":"ContractDefinition","src":"100:2084:16","nodes":[{"id":28205,"nodeType":"StructDefinition","src":"128:67:16","nodes":[],"canonicalName":"IMulticall3.Call","members":[{"constant":false,"id":28202,"mutability":"mutable","name":"target","nameLocation":"158:6:16","nodeType":"VariableDeclaration","scope":28205,"src":"150:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28201,"name":"address","nodeType":"ElementaryTypeName","src":"150:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28204,"mutability":"mutable","name":"callData","nameLocation":"180:8:16","nodeType":"VariableDeclaration","scope":28205,"src":"174:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28203,"name":"bytes","nodeType":"ElementaryTypeName","src":"174:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"135:4:16","scope":28360,"visibility":"public"},{"id":28212,"nodeType":"StructDefinition","src":"201:95:16","nodes":[],"canonicalName":"IMulticall3.Call3","members":[{"constant":false,"id":28207,"mutability":"mutable","name":"target","nameLocation":"232:6:16","nodeType":"VariableDeclaration","scope":28212,"src":"224:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28206,"name":"address","nodeType":"ElementaryTypeName","src":"224:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28209,"mutability":"mutable","name":"allowFailure","nameLocation":"253:12:16","nodeType":"VariableDeclaration","scope":28212,"src":"248:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28208,"name":"bool","nodeType":"ElementaryTypeName","src":"248:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28211,"mutability":"mutable","name":"callData","nameLocation":"281:8:16","nodeType":"VariableDeclaration","scope":28212,"src":"275:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28210,"name":"bytes","nodeType":"ElementaryTypeName","src":"275:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"208:5:16","scope":28360,"visibility":"public"},{"id":28221,"nodeType":"StructDefinition","src":"302:123:16","nodes":[],"canonicalName":"IMulticall3.Call3Value","members":[{"constant":false,"id":28214,"mutability":"mutable","name":"target","nameLocation":"338:6:16","nodeType":"VariableDeclaration","scope":28221,"src":"330:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28213,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28216,"mutability":"mutable","name":"allowFailure","nameLocation":"359:12:16","nodeType":"VariableDeclaration","scope":28221,"src":"354:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28215,"name":"bool","nodeType":"ElementaryTypeName","src":"354:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28218,"mutability":"mutable","name":"value","nameLocation":"389:5:16","nodeType":"VariableDeclaration","scope":28221,"src":"381:13:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28217,"name":"uint256","nodeType":"ElementaryTypeName","src":"381:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28220,"mutability":"mutable","name":"callData","nameLocation":"410:8:16","nodeType":"VariableDeclaration","scope":28221,"src":"404:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28219,"name":"bytes","nodeType":"ElementaryTypeName","src":"404:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"309:10:16","scope":28360,"visibility":"public"},{"id":28226,"nodeType":"StructDefinition","src":"431:69:16","nodes":[],"canonicalName":"IMulticall3.Result","members":[{"constant":false,"id":28223,"mutability":"mutable","name":"success","nameLocation":"460:7:16","nodeType":"VariableDeclaration","scope":28226,"src":"455:12:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28222,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28225,"mutability":"mutable","name":"returnData","nameLocation":"483:10:16","nodeType":"VariableDeclaration","scope":28226,"src":"477:16:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28224,"name":"bytes","nodeType":"ElementaryTypeName","src":"477:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"438:6:16","scope":28360,"visibility":"public"},{"id":28238,"nodeType":"FunctionDefinition","src":"506:140:16","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"515:9:16","parameters":{"id":28231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28230,"mutability":"mutable","name":"calls","nameLocation":"541:5:16","nodeType":"VariableDeclaration","scope":28238,"src":"525:21:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":28228,"nodeType":"UserDefinedTypeName","pathNode":{"id":28227,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"525:4:16"},"referencedDeclaration":28205,"src":"525:4:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":28229,"nodeType":"ArrayTypeName","src":"525:6:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"524:23:16"},"returnParameters":{"id":28237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28233,"mutability":"mutable","name":"blockNumber","nameLocation":"606:11:16","nodeType":"VariableDeclaration","scope":28238,"src":"598:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28232,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28236,"mutability":"mutable","name":"returnData","nameLocation":"634:10:16","nodeType":"VariableDeclaration","scope":28238,"src":"619:25:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":28234,"name":"bytes","nodeType":"ElementaryTypeName","src":"619:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28235,"nodeType":"ArrayTypeName","src":"619:7:16","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"597:48:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28249,"nodeType":"FunctionDefinition","src":"652:98:16","nodes":[],"functionSelector":"82ad56cb","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"661:10:16","parameters":{"id":28243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28242,"mutability":"mutable","name":"calls","nameLocation":"689:5:16","nodeType":"VariableDeclaration","scope":28249,"src":"672:22:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28212_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":28240,"nodeType":"UserDefinedTypeName","pathNode":{"id":28239,"name":"Call3","nodeType":"IdentifierPath","referencedDeclaration":28212,"src":"672:5:16"},"referencedDeclaration":28212,"src":"672:5:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28212_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":28241,"nodeType":"ArrayTypeName","src":"672:7:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28212_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"671:24:16"},"returnParameters":{"id":28248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28247,"mutability":"mutable","name":"returnData","nameLocation":"738:10:16","nodeType":"VariableDeclaration","scope":28249,"src":"722:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28245,"nodeType":"UserDefinedTypeName","pathNode":{"id":28244,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"722:6:16"},"referencedDeclaration":28226,"src":"722:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28246,"nodeType":"ArrayTypeName","src":"722:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"721:28:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28260,"nodeType":"FunctionDefinition","src":"756:108:16","nodes":[],"functionSelector":"174dea71","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"765:15:16","parameters":{"id":28254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28253,"mutability":"mutable","name":"calls","nameLocation":"803:5:16","nodeType":"VariableDeclaration","scope":28260,"src":"781:27:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28221_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":28251,"nodeType":"UserDefinedTypeName","pathNode":{"id":28250,"name":"Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28221,"src":"781:10:16"},"referencedDeclaration":28221,"src":"781:10:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28221_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":28252,"nodeType":"ArrayTypeName","src":"781:12:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28221_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"780:29:16"},"returnParameters":{"id":28259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28258,"mutability":"mutable","name":"returnData","nameLocation":"852:10:16","nodeType":"VariableDeclaration","scope":28260,"src":"836:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28256,"nodeType":"UserDefinedTypeName","pathNode":{"id":28255,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"836:6:16"},"referencedDeclaration":28226,"src":"836:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28257,"nodeType":"ArrayTypeName","src":"836:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"835:28:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28275,"nodeType":"FunctionDefinition","src":"870:168:16","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"879:17:16","parameters":{"id":28265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28264,"mutability":"mutable","name":"calls","nameLocation":"913:5:16","nodeType":"VariableDeclaration","scope":28275,"src":"897:21:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":28262,"nodeType":"UserDefinedTypeName","pathNode":{"id":28261,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"897:4:16"},"referencedDeclaration":28205,"src":"897:4:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":28263,"nodeType":"ArrayTypeName","src":"897:6:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"896:23:16"},"returnParameters":{"id":28274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28267,"mutability":"mutable","name":"blockNumber","nameLocation":"978:11:16","nodeType":"VariableDeclaration","scope":28275,"src":"970:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28266,"name":"uint256","nodeType":"ElementaryTypeName","src":"970:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28269,"mutability":"mutable","name":"blockHash","nameLocation":"999:9:16","nodeType":"VariableDeclaration","scope":28275,"src":"991:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"991:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28273,"mutability":"mutable","name":"returnData","nameLocation":"1026:10:16","nodeType":"VariableDeclaration","scope":28275,"src":"1010:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28271,"nodeType":"UserDefinedTypeName","pathNode":{"id":28270,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"1010:6:16"},"referencedDeclaration":28226,"src":"1010:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28272,"nodeType":"ArrayTypeName","src":"1010:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"969:68:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28280,"nodeType":"FunctionDefinition","src":"1044:62:16","nodes":[],"functionSelector":"3e64a696","implemented":false,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"1053:10:16","parameters":{"id":28276,"nodeType":"ParameterList","parameters":[],"src":"1063:2:16"},"returnParameters":{"id":28279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28278,"mutability":"mutable","name":"basefee","nameLocation":"1097:7:16","nodeType":"VariableDeclaration","scope":28280,"src":"1089:15:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28277,"name":"uint256","nodeType":"ElementaryTypeName","src":"1089:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1088:17:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28287,"nodeType":"FunctionDefinition","src":"1112:85:16","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1121:12:16","parameters":{"id":28283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28282,"mutability":"mutable","name":"blockNumber","nameLocation":"1142:11:16","nodeType":"VariableDeclaration","scope":28287,"src":"1134:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28281,"name":"uint256","nodeType":"ElementaryTypeName","src":"1134:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1133:21:16"},"returnParameters":{"id":28286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28285,"mutability":"mutable","name":"blockHash","nameLocation":"1186:9:16","nodeType":"VariableDeclaration","scope":28287,"src":"1178:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1178:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1177:19:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28292,"nodeType":"FunctionDefinition","src":"1203:70:16","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"1212:14:16","parameters":{"id":28288,"nodeType":"ParameterList","parameters":[],"src":"1226:2:16"},"returnParameters":{"id":28291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28290,"mutability":"mutable","name":"blockNumber","nameLocation":"1260:11:16","nodeType":"VariableDeclaration","scope":28292,"src":"1252:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28289,"name":"uint256","nodeType":"ElementaryTypeName","src":"1252:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1251:21:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28297,"nodeType":"FunctionDefinition","src":"1279:62:16","nodes":[],"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"1288:10:16","parameters":{"id":28293,"nodeType":"ParameterList","parameters":[],"src":"1298:2:16"},"returnParameters":{"id":28296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28295,"mutability":"mutable","name":"chainid","nameLocation":"1332:7:16","nodeType":"VariableDeclaration","scope":28297,"src":"1324:15:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28294,"name":"uint256","nodeType":"ElementaryTypeName","src":"1324:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1323:17:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28302,"nodeType":"FunctionDefinition","src":"1347:76:16","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1356:23:16","parameters":{"id":28298,"nodeType":"ParameterList","parameters":[],"src":"1379:2:16"},"returnParameters":{"id":28301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28300,"mutability":"mutable","name":"coinbase","nameLocation":"1413:8:16","nodeType":"VariableDeclaration","scope":28302,"src":"1405:16:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28299,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1404:18:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28307,"nodeType":"FunctionDefinition","src":"1429:80:16","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1438:25:16","parameters":{"id":28303,"nodeType":"ParameterList","parameters":[],"src":"1463:2:16"},"returnParameters":{"id":28306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28305,"mutability":"mutable","name":"difficulty","nameLocation":"1497:10:16","nodeType":"VariableDeclaration","scope":28307,"src":"1489:18:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28304,"name":"uint256","nodeType":"ElementaryTypeName","src":"1489:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1488:20:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28312,"nodeType":"FunctionDefinition","src":"1515:76:16","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1524:23:16","parameters":{"id":28308,"nodeType":"ParameterList","parameters":[],"src":"1547:2:16"},"returnParameters":{"id":28311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28310,"mutability":"mutable","name":"gaslimit","nameLocation":"1581:8:16","nodeType":"VariableDeclaration","scope":28312,"src":"1573:16:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28309,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1572:18:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28317,"nodeType":"FunctionDefinition","src":"1597:78:16","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1606:24:16","parameters":{"id":28313,"nodeType":"ParameterList","parameters":[],"src":"1630:2:16"},"returnParameters":{"id":28316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28315,"mutability":"mutable","name":"timestamp","nameLocation":"1664:9:16","nodeType":"VariableDeclaration","scope":28317,"src":"1656:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28314,"name":"uint256","nodeType":"ElementaryTypeName","src":"1656:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1655:19:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28324,"nodeType":"FunctionDefinition","src":"1681:77:16","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1690:13:16","parameters":{"id":28320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28319,"mutability":"mutable","name":"addr","nameLocation":"1712:4:16","nodeType":"VariableDeclaration","scope":28324,"src":"1704:12:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28318,"name":"address","nodeType":"ElementaryTypeName","src":"1704:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1703:14:16"},"returnParameters":{"id":28323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28322,"mutability":"mutable","name":"balance","nameLocation":"1749:7:16","nodeType":"VariableDeclaration","scope":28324,"src":"1741:15:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28321,"name":"uint256","nodeType":"ElementaryTypeName","src":"1741:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1740:17:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28329,"nodeType":"FunctionDefinition","src":"1764:70:16","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1773:16:16","parameters":{"id":28325,"nodeType":"ParameterList","parameters":[],"src":"1789:2:16"},"returnParameters":{"id":28328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28327,"mutability":"mutable","name":"blockHash","nameLocation":"1823:9:16","nodeType":"VariableDeclaration","scope":28329,"src":"1815:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1815:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1814:19:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28342,"nodeType":"FunctionDefinition","src":"1840:144:16","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1849:12:16","parameters":{"id":28336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28331,"mutability":"mutable","name":"requireSuccess","nameLocation":"1867:14:16","nodeType":"VariableDeclaration","scope":28342,"src":"1862:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28330,"name":"bool","nodeType":"ElementaryTypeName","src":"1862:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28335,"mutability":"mutable","name":"calls","nameLocation":"1899:5:16","nodeType":"VariableDeclaration","scope":28342,"src":"1883:21:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":28333,"nodeType":"UserDefinedTypeName","pathNode":{"id":28332,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"1883:4:16"},"referencedDeclaration":28205,"src":"1883:4:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":28334,"nodeType":"ArrayTypeName","src":"1883:6:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1861:44:16"},"returnParameters":{"id":28341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28340,"mutability":"mutable","name":"returnData","nameLocation":"1972:10:16","nodeType":"VariableDeclaration","scope":28342,"src":"1956:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28338,"nodeType":"UserDefinedTypeName","pathNode":{"id":28337,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"1956:6:16"},"referencedDeclaration":28226,"src":"1956:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28339,"nodeType":"ArrayTypeName","src":"1956:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1955:28:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28359,"nodeType":"FunctionDefinition","src":"1990:192:16","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1999:20:16","parameters":{"id":28349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28344,"mutability":"mutable","name":"requireSuccess","nameLocation":"2025:14:16","nodeType":"VariableDeclaration","scope":28359,"src":"2020:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28343,"name":"bool","nodeType":"ElementaryTypeName","src":"2020:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28348,"mutability":"mutable","name":"calls","nameLocation":"2057:5:16","nodeType":"VariableDeclaration","scope":28359,"src":"2041:21:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":28346,"nodeType":"UserDefinedTypeName","pathNode":{"id":28345,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"2041:4:16"},"referencedDeclaration":28205,"src":"2041:4:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":28347,"nodeType":"ArrayTypeName","src":"2041:6:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"2019:44:16"},"returnParameters":{"id":28358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28351,"mutability":"mutable","name":"blockNumber","nameLocation":"2122:11:16","nodeType":"VariableDeclaration","scope":28359,"src":"2114:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28350,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28353,"mutability":"mutable","name":"blockHash","nameLocation":"2143:9:16","nodeType":"VariableDeclaration","scope":28359,"src":"2135:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2135:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28357,"mutability":"mutable","name":"returnData","nameLocation":"2170:10:16","nodeType":"VariableDeclaration","scope":28359,"src":"2154:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28355,"nodeType":"UserDefinedTypeName","pathNode":{"id":28354,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"2154:6:16"},"referencedDeclaration":28226,"src":"2154:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28356,"nodeType":"ArrayTypeName","src":"2154:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2113:68:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[28360],"name":"IMulticall3","nameLocation":"110:11:16","scope":28361,"usedErrors":[]}],"license":"MIT"}},"src/Multicall.sol":{"id":17,"ast":{"absolutePath":"src/Multicall.sol","id":28521,"exportedSymbols":{"Multicall":[28520]},"nodeType":"SourceUnit","src":"32:1674:17","nodes":[{"id":28362,"nodeType":"PragmaDirective","src":"32:23:17","nodes":[],"literals":["solidity","0.8",".12"]},{"id":28520,"nodeType":"ContractDefinition","src":"280:1425:17","nodes":[{"id":28368,"nodeType":"StructDefinition","src":"305:67:17","nodes":[],"canonicalName":"Multicall.Call","members":[{"constant":false,"id":28365,"mutability":"mutable","name":"target","nameLocation":"335:6:17","nodeType":"VariableDeclaration","scope":28368,"src":"327:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28364,"name":"address","nodeType":"ElementaryTypeName","src":"327:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28367,"mutability":"mutable","name":"callData","nameLocation":"357:8:17","nodeType":"VariableDeclaration","scope":28368,"src":"351:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28366,"name":"bytes","nodeType":"ElementaryTypeName","src":"351:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"312:4:17","scope":28520,"visibility":"public"},{"id":28433,"nodeType":"FunctionDefinition","src":"378:411:17","nodes":[],"body":{"id":28432,"nodeType":"Block","src":"484:305:17","nodes":[],"statements":[{"expression":{"id":28383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28380,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28375,"src":"494:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28381,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"508:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"508:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"494:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28384,"nodeType":"ExpressionStatement","src":"494:26:17"},{"expression":{"id":28392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28385,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28378,"src":"530:10:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28389,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28372,"src":"555:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call calldata[] calldata"}},"id":28390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"555:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"543:11:17","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":28386,"name":"bytes","nodeType":"ElementaryTypeName","src":"547:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28387,"nodeType":"ArrayTypeName","src":"547:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":28391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"543:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"530:38:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28393,"nodeType":"ExpressionStatement","src":"530:38:17"},{"body":{"id":28430,"nodeType":"Block","src":"621:162:17","statements":[{"assignments":[28406,28408],"declarations":[{"constant":false,"id":28406,"mutability":"mutable","name":"success","nameLocation":"641:7:17","nodeType":"VariableDeclaration","scope":28430,"src":"636:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28405,"name":"bool","nodeType":"ElementaryTypeName","src":"636:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28408,"mutability":"mutable","name":"ret","nameLocation":"663:3:17","nodeType":"VariableDeclaration","scope":28430,"src":"650:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28407,"name":"bytes","nodeType":"ElementaryTypeName","src":"650:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":28419,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":28414,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28372,"src":"691:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call calldata[] calldata"}},"id":28416,"indexExpression":{"id":28415,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"697:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"691:8:17","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_calldata_ptr","typeString":"struct Multicall.Call calldata"}},"id":28417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28367,"src":"691:17:17","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"baseExpression":{"id":28409,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28372,"src":"670:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call calldata[] calldata"}},"id":28411,"indexExpression":{"id":28410,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"676:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"670:8:17","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_calldata_ptr","typeString":"struct Multicall.Call calldata"}},"id":28412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28365,"src":"670:15:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"670:20:17","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":28418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"670:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"635:74:17"},{"expression":{"arguments":[{"id":28421,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28406,"src":"731:7:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":28420,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"723:7:17","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":28422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"723:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28423,"nodeType":"ExpressionStatement","src":"723:16:17"},{"expression":{"id":28428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28424,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28378,"src":"753:10:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28426,"indexExpression":{"id":28425,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"764:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"753:13:17","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28427,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28408,"src":"769:3:17","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"753:19:17","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28429,"nodeType":"ExpressionStatement","src":"753:19:17"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28398,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"598:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":28399,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28372,"src":"602:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call calldata[] calldata"}},"id":28400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"602:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"598:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28431,"initializationExpression":{"assignments":[28395],"declarations":[{"constant":false,"id":28395,"mutability":"mutable","name":"i","nameLocation":"591:1:17","nodeType":"VariableDeclaration","scope":28431,"src":"583:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28394,"name":"uint256","nodeType":"ElementaryTypeName","src":"583:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28397,"initialValue":{"hexValue":"30","id":28396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"595:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"583:13:17"},"loopExpression":{"expression":{"id":28403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"616:3:17","subExpression":{"id":28402,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"616:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28404,"nodeType":"ExpressionStatement","src":"616:3:17"},"nodeType":"ForStatement","src":"578:205:17"}]},"functionSelector":"252dba42","implemented":true,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"387:9:17","parameters":{"id":28373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28372,"mutability":"mutable","name":"calls","nameLocation":"413:5:17","nodeType":"VariableDeclaration","scope":28433,"src":"397:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call[]"},"typeName":{"baseType":{"id":28370,"nodeType":"UserDefinedTypeName","pathNode":{"id":28369,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"397:4:17"},"referencedDeclaration":28368,"src":"397:4:17","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":28371,"nodeType":"ArrayTypeName","src":"397:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}},"visibility":"internal"}],"src":"396:23:17"},"returnParameters":{"id":28379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28375,"mutability":"mutable","name":"blockNumber","nameLocation":"444:11:17","nodeType":"VariableDeclaration","scope":28433,"src":"436:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28374,"name":"uint256","nodeType":"ElementaryTypeName","src":"436:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28378,"mutability":"mutable","name":"returnData","nameLocation":"472:10:17","nodeType":"VariableDeclaration","scope":28433,"src":"457:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":28376,"name":"bytes","nodeType":"ElementaryTypeName","src":"457:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28377,"nodeType":"ArrayTypeName","src":"457:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"435:48:17"},"scope":28520,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28446,"nodeType":"FunctionDefinition","src":"819:114:17","nodes":[],"body":{"id":28445,"nodeType":"Block","src":"894:39:17","nodes":[],"statements":[{"expression":{"id":28443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28440,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28438,"src":"904:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28441,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28435,"src":"914:4:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"914:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"904:22:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28444,"nodeType":"ExpressionStatement","src":"904:22:17"}]},"functionSelector":"4d2301cc","implemented":true,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"828:13:17","parameters":{"id":28436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28435,"mutability":"mutable","name":"addr","nameLocation":"850:4:17","nodeType":"VariableDeclaration","scope":28446,"src":"842:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28434,"name":"address","nodeType":"ElementaryTypeName","src":"842:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"841:14:17"},"returnParameters":{"id":28439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28438,"mutability":"mutable","name":"balance","nameLocation":"885:7:17","nodeType":"VariableDeclaration","scope":28446,"src":"877:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28437,"name":"uint256","nodeType":"ElementaryTypeName","src":"877:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"876:17:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28460,"nodeType":"FunctionDefinition","src":"939:134:17","nodes":[],"body":{"id":28459,"nodeType":"Block","src":"1022:51:17","nodes":[],"statements":[{"expression":{"id":28457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28453,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28451,"src":"1032:9:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28455,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28448,"src":"1054:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28454,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1044:9:17","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1044:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1032:34:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28458,"nodeType":"ExpressionStatement","src":"1032:34:17"}]},"functionSelector":"ee82ac5e","implemented":true,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"948:12:17","parameters":{"id":28449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28448,"mutability":"mutable","name":"blockNumber","nameLocation":"969:11:17","nodeType":"VariableDeclaration","scope":28460,"src":"961:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28447,"name":"uint256","nodeType":"ElementaryTypeName","src":"961:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"960:21:17"},"returnParameters":{"id":28452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28451,"mutability":"mutable","name":"blockHash","nameLocation":"1011:9:17","nodeType":"VariableDeclaration","scope":28460,"src":"1003:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1003:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1002:19:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28475,"nodeType":"FunctionDefinition","src":"1079:124:17","nodes":[],"body":{"id":28474,"nodeType":"Block","src":"1147:56:17","nodes":[],"statements":[{"expression":{"id":28472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28465,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28463,"src":"1157:9:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28467,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1179:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1179:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":28469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1194:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1179:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28466,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1169:9:17","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1169:27:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1157:39:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28473,"nodeType":"ExpressionStatement","src":"1157:39:17"}]},"functionSelector":"27e86d6e","implemented":true,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1088:16:17","parameters":{"id":28461,"nodeType":"ParameterList","parameters":[],"src":"1104:2:17"},"returnParameters":{"id":28464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28463,"mutability":"mutable","name":"blockHash","nameLocation":"1136:9:17","nodeType":"VariableDeclaration","scope":28475,"src":"1128:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1128:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1127:19:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28486,"nodeType":"FunctionDefinition","src":"1209:120:17","nodes":[],"body":{"id":28485,"nodeType":"Block","src":"1285:44:17","nodes":[],"statements":[{"expression":{"id":28483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28480,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28478,"src":"1295:9:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28481,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1307:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1307:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1295:27:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28484,"nodeType":"ExpressionStatement","src":"1295:27:17"}]},"functionSelector":"0f28c97d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1218:24:17","parameters":{"id":28476,"nodeType":"ParameterList","parameters":[],"src":"1242:2:17"},"returnParameters":{"id":28479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28478,"mutability":"mutable","name":"timestamp","nameLocation":"1274:9:17","nodeType":"VariableDeclaration","scope":28486,"src":"1266:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28477,"name":"uint256","nodeType":"ElementaryTypeName","src":"1266:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1265:19:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28497,"nodeType":"FunctionDefinition","src":"1335:124:17","nodes":[],"body":{"id":28496,"nodeType":"Block","src":"1413:46:17","nodes":[],"statements":[{"expression":{"id":28494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28491,"name":"difficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28489,"src":"1423:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28492,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1436:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"1436:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1423:29:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28495,"nodeType":"ExpressionStatement","src":"1423:29:17"}]},"functionSelector":"72425d9d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1344:25:17","parameters":{"id":28487,"nodeType":"ParameterList","parameters":[],"src":"1369:2:17"},"returnParameters":{"id":28490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28489,"mutability":"mutable","name":"difficulty","nameLocation":"1401:10:17","nodeType":"VariableDeclaration","scope":28497,"src":"1393:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28488,"name":"uint256","nodeType":"ElementaryTypeName","src":"1393:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1392:20:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28508,"nodeType":"FunctionDefinition","src":"1465:116:17","nodes":[],"body":{"id":28507,"nodeType":"Block","src":"1539:42:17","nodes":[],"statements":[{"expression":{"id":28505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28502,"name":"gaslimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28500,"src":"1549:8:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28503,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1560:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"1560:14:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1549:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28506,"nodeType":"ExpressionStatement","src":"1549:25:17"}]},"functionSelector":"86d516e8","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1474:23:17","parameters":{"id":28498,"nodeType":"ParameterList","parameters":[],"src":"1497:2:17"},"returnParameters":{"id":28501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28500,"mutability":"mutable","name":"gaslimit","nameLocation":"1529:8:17","nodeType":"VariableDeclaration","scope":28508,"src":"1521:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28499,"name":"uint256","nodeType":"ElementaryTypeName","src":"1521:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1520:18:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28519,"nodeType":"FunctionDefinition","src":"1587:116:17","nodes":[],"body":{"id":28518,"nodeType":"Block","src":"1661:42:17","nodes":[],"statements":[{"expression":{"id":28516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28513,"name":"coinbase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28511,"src":"1671:8:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28514,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1682:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"1682:14:17","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"1671:25:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28517,"nodeType":"ExpressionStatement","src":"1671:25:17"}]},"functionSelector":"a8b0574e","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1596:23:17","parameters":{"id":28509,"nodeType":"ParameterList","parameters":[],"src":"1619:2:17"},"returnParameters":{"id":28512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28511,"mutability":"mutable","name":"coinbase","nameLocation":"1651:8:17","nodeType":"VariableDeclaration","scope":28519,"src":"1643:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28510,"name":"address","nodeType":"ElementaryTypeName","src":"1643:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1642:18:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"Multicall","contractDependencies":[],"contractKind":"contract","documentation":{"id":28363,"nodeType":"StructuredDocumentation","src":"57:222:17","text":"@title Multicall - Aggregate results from multiple read-only function calls\n @author Michael Elliot \n @author Joshua Levine \n @author Nick Johnson "},"fullyImplemented":true,"linearizedBaseContracts":[28520],"name":"Multicall","nameLocation":"289:9:17","scope":28521,"usedErrors":[]}],"license":"MIT"}},"src/Multicall2.sol":{"id":18,"ast":{"absolutePath":"src/Multicall2.sol","id":28830,"exportedSymbols":{"Multicall2":[28829]},"nodeType":"SourceUnit","src":"32:2912:18","nodes":[{"id":28522,"nodeType":"PragmaDirective","src":"32:23:18","nodes":[],"literals":["solidity","0.8",".12"]},{"id":28829,"nodeType":"ContractDefinition","src":"280:2663:18","nodes":[{"id":28528,"nodeType":"StructDefinition","src":"306:67:18","nodes":[],"canonicalName":"Multicall2.Call","members":[{"constant":false,"id":28525,"mutability":"mutable","name":"target","nameLocation":"336:6:18","nodeType":"VariableDeclaration","scope":28528,"src":"328:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28524,"name":"address","nodeType":"ElementaryTypeName","src":"328:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28527,"mutability":"mutable","name":"callData","nameLocation":"358:8:18","nodeType":"VariableDeclaration","scope":28528,"src":"352:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28526,"name":"bytes","nodeType":"ElementaryTypeName","src":"352:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"313:4:18","scope":28829,"visibility":"public"},{"id":28533,"nodeType":"StructDefinition","src":"379:69:18","nodes":[],"canonicalName":"Multicall2.Result","members":[{"constant":false,"id":28530,"mutability":"mutable","name":"success","nameLocation":"408:7:18","nodeType":"VariableDeclaration","scope":28533,"src":"403:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28529,"name":"bool","nodeType":"ElementaryTypeName","src":"403:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28532,"mutability":"mutable","name":"returnData","nameLocation":"431:10:18","nodeType":"VariableDeclaration","scope":28533,"src":"425:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28531,"name":"bytes","nodeType":"ElementaryTypeName","src":"425:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"386:6:18","scope":28829,"visibility":"public"},{"id":28599,"nodeType":"FunctionDefinition","src":"454:447:18","nodes":[],"body":{"id":28598,"nodeType":"Block","src":"560:341:18","nodes":[],"statements":[{"expression":{"id":28548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28545,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28540,"src":"570:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28546,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"584:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"584:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"570:26:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28549,"nodeType":"ExpressionStatement","src":"570:26:18"},{"expression":{"id":28557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28550,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28543,"src":"606:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28554,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28537,"src":"631:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"631:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"619:11:18","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":28551,"name":"bytes","nodeType":"ElementaryTypeName","src":"623:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28552,"nodeType":"ArrayTypeName","src":"623:7:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":28556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"619:25:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"606:38:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28558,"nodeType":"ExpressionStatement","src":"606:38:18"},{"body":{"id":28596,"nodeType":"Block","src":"697:198:18","statements":[{"assignments":[28571,28573],"declarations":[{"constant":false,"id":28571,"mutability":"mutable","name":"success","nameLocation":"717:7:18","nodeType":"VariableDeclaration","scope":28596,"src":"712:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28570,"name":"bool","nodeType":"ElementaryTypeName","src":"712:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28573,"mutability":"mutable","name":"ret","nameLocation":"739:3:18","nodeType":"VariableDeclaration","scope":28596,"src":"726:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28572,"name":"bytes","nodeType":"ElementaryTypeName","src":"726:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":28584,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":28579,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28537,"src":"767:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28581,"indexExpression":{"id":28580,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"773:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"767:8:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_calldata_ptr","typeString":"struct Multicall2.Call calldata"}},"id":28582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28527,"src":"767:17:18","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"baseExpression":{"id":28574,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28537,"src":"746:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28576,"indexExpression":{"id":28575,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"752:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"746:8:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_calldata_ptr","typeString":"struct Multicall2.Call calldata"}},"id":28577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28525,"src":"746:15:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"746:20:18","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":28583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"746:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"711:74:18"},{"expression":{"arguments":[{"id":28586,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28571,"src":"807:7:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c206167677265676174653a2063616c6c206661696c6564","id":28587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"816:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""},"value":"Multicall aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""}],"id":28585,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"799:7:18","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"799:52:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28589,"nodeType":"ExpressionStatement","src":"799:52:18"},{"expression":{"id":28594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28590,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28543,"src":"865:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28592,"indexExpression":{"id":28591,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"876:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"865:13:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28593,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28573,"src":"881:3:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"865:19:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28595,"nodeType":"ExpressionStatement","src":"865:19:18"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28563,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"674:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":28564,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28537,"src":"678:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"678:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"674:16:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28597,"initializationExpression":{"assignments":[28560],"declarations":[{"constant":false,"id":28560,"mutability":"mutable","name":"i","nameLocation":"667:1:18","nodeType":"VariableDeclaration","scope":28597,"src":"659:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28559,"name":"uint256","nodeType":"ElementaryTypeName","src":"659:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28562,"initialValue":{"hexValue":"30","id":28561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"671:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"659:13:18"},"loopExpression":{"expression":{"id":28568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"692:3:18","subExpression":{"id":28567,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"692:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28569,"nodeType":"ExpressionStatement","src":"692:3:18"},"nodeType":"ForStatement","src":"654:241:18"}]},"functionSelector":"252dba42","implemented":true,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"463:9:18","parameters":{"id":28538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28537,"mutability":"mutable","name":"calls","nameLocation":"489:5:18","nodeType":"VariableDeclaration","scope":28599,"src":"473:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":28535,"nodeType":"UserDefinedTypeName","pathNode":{"id":28534,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"473:4:18"},"referencedDeclaration":28528,"src":"473:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":28536,"nodeType":"ArrayTypeName","src":"473:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"src":"472:23:18"},"returnParameters":{"id":28544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28540,"mutability":"mutable","name":"blockNumber","nameLocation":"520:11:18","nodeType":"VariableDeclaration","scope":28599,"src":"512:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28539,"name":"uint256","nodeType":"ElementaryTypeName","src":"512:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28543,"mutability":"mutable","name":"returnData","nameLocation":"548:10:18","nodeType":"VariableDeclaration","scope":28599,"src":"533:25:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":28541,"name":"bytes","nodeType":"ElementaryTypeName","src":"533:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28542,"nodeType":"ArrayTypeName","src":"533:7:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"511:48:18"},"scope":28829,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28668,"nodeType":"FunctionDefinition","src":"907:488:18","nodes":[],"body":{"id":28667,"nodeType":"Block","src":"1017:378:18","nodes":[],"statements":[{"expression":{"id":28620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28612,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28610,"src":"1027:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28617,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28605,"src":"1053:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1053:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1040:12:18","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Result memory[] memory)"},"typeName":{"baseType":{"id":28614,"nodeType":"UserDefinedTypeName","pathNode":{"id":28613,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"1044:6:18"},"referencedDeclaration":28533,"src":"1044:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":28615,"nodeType":"ArrayTypeName","src":"1044:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}}},"id":28619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1040:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"src":"1027:39:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":28621,"nodeType":"ExpressionStatement","src":"1027:39:18"},{"body":{"id":28665,"nodeType":"Block","src":"1119:270:18","statements":[{"assignments":[28634,28636],"declarations":[{"constant":false,"id":28634,"mutability":"mutable","name":"success","nameLocation":"1139:7:18","nodeType":"VariableDeclaration","scope":28665,"src":"1134:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28633,"name":"bool","nodeType":"ElementaryTypeName","src":"1134:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28636,"mutability":"mutable","name":"ret","nameLocation":"1161:3:18","nodeType":"VariableDeclaration","scope":28665,"src":"1148:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28635,"name":"bytes","nodeType":"ElementaryTypeName","src":"1148:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":28647,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":28642,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28605,"src":"1189:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28644,"indexExpression":{"id":28643,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1195:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1189:8:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_calldata_ptr","typeString":"struct Multicall2.Call calldata"}},"id":28645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28527,"src":"1189:17:18","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"baseExpression":{"id":28637,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28605,"src":"1168:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28639,"indexExpression":{"id":28638,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1174:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1168:8:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_calldata_ptr","typeString":"struct Multicall2.Call calldata"}},"id":28640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28525,"src":"1168:15:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"1168:20:18","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":28646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1168:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1133:74:18"},{"condition":{"id":28648,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28601,"src":"1226:14:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28655,"nodeType":"IfStatement","src":"1222:106:18","trueBody":{"id":28654,"nodeType":"Block","src":"1242:86:18","statements":[{"expression":{"arguments":[{"id":28650,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28634,"src":"1268:7:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564","id":28651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1277:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""},"value":"Multicall2 aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""}],"id":28649,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1260:7:18","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1260:53:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28653,"nodeType":"ExpressionStatement","src":"1260:53:18"}]}},{"expression":{"id":28663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28656,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28610,"src":"1342:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":28658,"indexExpression":{"id":28657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1353:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1342:13:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28660,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28634,"src":"1365:7:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28661,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28636,"src":"1374:3:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28659,"name":"Result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28533,"src":"1358:6:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$28533_storage_ptr_$","typeString":"type(struct Multicall2.Result storage pointer)"}},"id":28662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1358:20:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"src":"1342:36:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":28664,"nodeType":"ExpressionStatement","src":"1342:36:18"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28626,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1096:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":28627,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28605,"src":"1100:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1100:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1096:16:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28666,"initializationExpression":{"assignments":[28623],"declarations":[{"constant":false,"id":28623,"mutability":"mutable","name":"i","nameLocation":"1089:1:18","nodeType":"VariableDeclaration","scope":28666,"src":"1081:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28622,"name":"uint256","nodeType":"ElementaryTypeName","src":"1081:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28625,"initialValue":{"hexValue":"30","id":28624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1093:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1081:13:18"},"loopExpression":{"expression":{"id":28631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1114:3:18","subExpression":{"id":28630,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1114:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28632,"nodeType":"ExpressionStatement","src":"1114:3:18"},"nodeType":"ForStatement","src":"1076:313:18"}]},"functionSelector":"bce38bd7","implemented":true,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"916:12:18","parameters":{"id":28606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28601,"mutability":"mutable","name":"requireSuccess","nameLocation":"934:14:18","nodeType":"VariableDeclaration","scope":28668,"src":"929:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28600,"name":"bool","nodeType":"ElementaryTypeName","src":"929:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28605,"mutability":"mutable","name":"calls","nameLocation":"966:5:18","nodeType":"VariableDeclaration","scope":28668,"src":"950:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":28603,"nodeType":"UserDefinedTypeName","pathNode":{"id":28602,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"950:4:18"},"referencedDeclaration":28528,"src":"950:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":28604,"nodeType":"ArrayTypeName","src":"950:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"src":"928:44:18"},"returnParameters":{"id":28611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28610,"mutability":"mutable","name":"returnData","nameLocation":"1005:10:18","nodeType":"VariableDeclaration","scope":28668,"src":"989:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":28608,"nodeType":"UserDefinedTypeName","pathNode":{"id":28607,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"989:6:18"},"referencedDeclaration":28533,"src":"989:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":28609,"nodeType":"ArrayTypeName","src":"989:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"src":"988:28:18"},"scope":28829,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28705,"nodeType":"FunctionDefinition","src":"1401:304:18","nodes":[],"body":{"id":28704,"nodeType":"Block","src":"1559:146:18","nodes":[],"statements":[{"expression":{"id":28688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28685,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28677,"src":"1569:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28686,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1583:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1583:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1569:26:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28689,"nodeType":"ExpressionStatement","src":"1569:26:18"},{"expression":{"id":28695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28690,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28679,"src":"1605:9:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28692,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1627:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1627:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28691,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1617:9:18","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1617:23:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1605:35:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28696,"nodeType":"ExpressionStatement","src":"1605:35:18"},{"expression":{"id":28702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28697,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28683,"src":"1650:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28699,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28670,"src":"1676:14:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28700,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28674,"src":"1692:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}],"id":28698,"name":"tryAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28668,"src":"1663:12:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call calldata[] calldata) returns (struct Multicall2.Result memory[] memory)"}},"id":28701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1663:35:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"src":"1650:48:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":28703,"nodeType":"ExpressionStatement","src":"1650:48:18"}]},"functionSelector":"399542e9","implemented":true,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1410:20:18","parameters":{"id":28675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28670,"mutability":"mutable","name":"requireSuccess","nameLocation":"1436:14:18","nodeType":"VariableDeclaration","scope":28705,"src":"1431:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28669,"name":"bool","nodeType":"ElementaryTypeName","src":"1431:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28674,"mutability":"mutable","name":"calls","nameLocation":"1468:5:18","nodeType":"VariableDeclaration","scope":28705,"src":"1452:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":28672,"nodeType":"UserDefinedTypeName","pathNode":{"id":28671,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1452:4:18"},"referencedDeclaration":28528,"src":"1452:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":28673,"nodeType":"ArrayTypeName","src":"1452:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"src":"1430:44:18"},"returnParameters":{"id":28684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28677,"mutability":"mutable","name":"blockNumber","nameLocation":"1499:11:18","nodeType":"VariableDeclaration","scope":28705,"src":"1491:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28676,"name":"uint256","nodeType":"ElementaryTypeName","src":"1491:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28679,"mutability":"mutable","name":"blockHash","nameLocation":"1520:9:18","nodeType":"VariableDeclaration","scope":28705,"src":"1512:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1512:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28683,"mutability":"mutable","name":"returnData","nameLocation":"1547:10:18","nodeType":"VariableDeclaration","scope":28705,"src":"1531:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":28681,"nodeType":"UserDefinedTypeName","pathNode":{"id":28680,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"1531:6:18"},"referencedDeclaration":28533,"src":"1531:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":28682,"nodeType":"ArrayTypeName","src":"1531:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"src":"1490:68:18"},"scope":28829,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28731,"nodeType":"FunctionDefinition","src":"1711:223:18","nodes":[],"body":{"id":28730,"nodeType":"Block","src":"1845:89:18","nodes":[],"statements":[{"expression":{"id":28728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":28720,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28712,"src":"1856:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28721,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28714,"src":"1869:9:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":28722,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28718,"src":"1880:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}}],"id":28723,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1855:36:18","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"74727565","id":28725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1915:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":28726,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28709,"src":"1921:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}],"id":28724,"name":"tryBlockAndAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28705,"src":"1894:20:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call calldata[] calldata) returns (uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":28727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1894:33:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"src":"1855:72:18","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28729,"nodeType":"ExpressionStatement","src":"1855:72:18"}]},"functionSelector":"c3077fa9","implemented":true,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"1720:17:18","parameters":{"id":28710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28709,"mutability":"mutable","name":"calls","nameLocation":"1754:5:18","nodeType":"VariableDeclaration","scope":28731,"src":"1738:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":28707,"nodeType":"UserDefinedTypeName","pathNode":{"id":28706,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1738:4:18"},"referencedDeclaration":28528,"src":"1738:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":28708,"nodeType":"ArrayTypeName","src":"1738:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"src":"1737:23:18"},"returnParameters":{"id":28719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28712,"mutability":"mutable","name":"blockNumber","nameLocation":"1785:11:18","nodeType":"VariableDeclaration","scope":28731,"src":"1777:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28711,"name":"uint256","nodeType":"ElementaryTypeName","src":"1777:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28714,"mutability":"mutable","name":"blockHash","nameLocation":"1806:9:18","nodeType":"VariableDeclaration","scope":28731,"src":"1798:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1798:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28718,"mutability":"mutable","name":"returnData","nameLocation":"1833:10:18","nodeType":"VariableDeclaration","scope":28731,"src":"1817:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":28716,"nodeType":"UserDefinedTypeName","pathNode":{"id":28715,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"1817:6:18"},"referencedDeclaration":28533,"src":"1817:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":28717,"nodeType":"ArrayTypeName","src":"1817:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"src":"1776:68:18"},"scope":28829,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28745,"nodeType":"FunctionDefinition","src":"1940:134:18","nodes":[],"body":{"id":28744,"nodeType":"Block","src":"2023:51:18","nodes":[],"statements":[{"expression":{"id":28742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28738,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28736,"src":"2033:9:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28740,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28733,"src":"2055:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28739,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"2045:9:18","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2045:22:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2033:34:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28743,"nodeType":"ExpressionStatement","src":"2033:34:18"}]},"functionSelector":"ee82ac5e","implemented":true,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1949:12:18","parameters":{"id":28734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28733,"mutability":"mutable","name":"blockNumber","nameLocation":"1970:11:18","nodeType":"VariableDeclaration","scope":28745,"src":"1962:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28732,"name":"uint256","nodeType":"ElementaryTypeName","src":"1962:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1961:21:18"},"returnParameters":{"id":28737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28736,"mutability":"mutable","name":"blockHash","nameLocation":"2012:9:18","nodeType":"VariableDeclaration","scope":28745,"src":"2004:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2004:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2003:19:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28756,"nodeType":"FunctionDefinition","src":"2080:111:18","nodes":[],"body":{"id":28755,"nodeType":"Block","src":"2148:43:18","nodes":[],"statements":[{"expression":{"id":28753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28750,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28748,"src":"2158:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28751,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2172:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2172:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2158:26:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28754,"nodeType":"ExpressionStatement","src":"2158:26:18"}]},"functionSelector":"42cbb15c","implemented":true,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"2089:14:18","parameters":{"id":28746,"nodeType":"ParameterList","parameters":[],"src":"2103:2:18"},"returnParameters":{"id":28749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28748,"mutability":"mutable","name":"blockNumber","nameLocation":"2135:11:18","nodeType":"VariableDeclaration","scope":28756,"src":"2127:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28747,"name":"uint256","nodeType":"ElementaryTypeName","src":"2127:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2126:21:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28767,"nodeType":"FunctionDefinition","src":"2197:116:18","nodes":[],"body":{"id":28766,"nodeType":"Block","src":"2271:42:18","nodes":[],"statements":[{"expression":{"id":28764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28761,"name":"coinbase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28759,"src":"2281:8:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28762,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2292:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"2292:14:18","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2281:25:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28765,"nodeType":"ExpressionStatement","src":"2281:25:18"}]},"functionSelector":"a8b0574e","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"2206:23:18","parameters":{"id":28757,"nodeType":"ParameterList","parameters":[],"src":"2229:2:18"},"returnParameters":{"id":28760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28759,"mutability":"mutable","name":"coinbase","nameLocation":"2261:8:18","nodeType":"VariableDeclaration","scope":28767,"src":"2253:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28758,"name":"address","nodeType":"ElementaryTypeName","src":"2253:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2252:18:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28778,"nodeType":"FunctionDefinition","src":"2319:124:18","nodes":[],"body":{"id":28777,"nodeType":"Block","src":"2397:46:18","nodes":[],"statements":[{"expression":{"id":28775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28772,"name":"difficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28770,"src":"2407:10:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28773,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2420:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"2420:16:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2407:29:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28776,"nodeType":"ExpressionStatement","src":"2407:29:18"}]},"functionSelector":"72425d9d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"2328:25:18","parameters":{"id":28768,"nodeType":"ParameterList","parameters":[],"src":"2353:2:18"},"returnParameters":{"id":28771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28770,"mutability":"mutable","name":"difficulty","nameLocation":"2385:10:18","nodeType":"VariableDeclaration","scope":28778,"src":"2377:18:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28769,"name":"uint256","nodeType":"ElementaryTypeName","src":"2377:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2376:20:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28789,"nodeType":"FunctionDefinition","src":"2449:116:18","nodes":[],"body":{"id":28788,"nodeType":"Block","src":"2523:42:18","nodes":[],"statements":[{"expression":{"id":28786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28783,"name":"gaslimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28781,"src":"2533:8:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28784,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2544:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"2544:14:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2533:25:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28787,"nodeType":"ExpressionStatement","src":"2533:25:18"}]},"functionSelector":"86d516e8","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"2458:23:18","parameters":{"id":28779,"nodeType":"ParameterList","parameters":[],"src":"2481:2:18"},"returnParameters":{"id":28782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28781,"mutability":"mutable","name":"gaslimit","nameLocation":"2513:8:18","nodeType":"VariableDeclaration","scope":28789,"src":"2505:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28780,"name":"uint256","nodeType":"ElementaryTypeName","src":"2505:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2504:18:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28800,"nodeType":"FunctionDefinition","src":"2571:120:18","nodes":[],"body":{"id":28799,"nodeType":"Block","src":"2647:44:18","nodes":[],"statements":[{"expression":{"id":28797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28794,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28792,"src":"2657:9:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28795,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2669:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"2669:15:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2657:27:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28798,"nodeType":"ExpressionStatement","src":"2657:27:18"}]},"functionSelector":"0f28c97d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"2580:24:18","parameters":{"id":28790,"nodeType":"ParameterList","parameters":[],"src":"2604:2:18"},"returnParameters":{"id":28793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28792,"mutability":"mutable","name":"timestamp","nameLocation":"2636:9:18","nodeType":"VariableDeclaration","scope":28800,"src":"2628:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28791,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2627:19:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28813,"nodeType":"FunctionDefinition","src":"2697:114:18","nodes":[],"body":{"id":28812,"nodeType":"Block","src":"2772:39:18","nodes":[],"statements":[{"expression":{"id":28810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28807,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28805,"src":"2782:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28808,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28802,"src":"2792:4:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"2792:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2782:22:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28811,"nodeType":"ExpressionStatement","src":"2782:22:18"}]},"functionSelector":"4d2301cc","implemented":true,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"2706:13:18","parameters":{"id":28803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28802,"mutability":"mutable","name":"addr","nameLocation":"2728:4:18","nodeType":"VariableDeclaration","scope":28813,"src":"2720:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28801,"name":"address","nodeType":"ElementaryTypeName","src":"2720:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2719:14:18"},"returnParameters":{"id":28806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28805,"mutability":"mutable","name":"balance","nameLocation":"2763:7:18","nodeType":"VariableDeclaration","scope":28813,"src":"2755:15:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28804,"name":"uint256","nodeType":"ElementaryTypeName","src":"2755:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2754:17:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28828,"nodeType":"FunctionDefinition","src":"2817:124:18","nodes":[],"body":{"id":28827,"nodeType":"Block","src":"2885:56:18","nodes":[],"statements":[{"expression":{"id":28825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28818,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28816,"src":"2895:9:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28820,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2917:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2917:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":28822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2932:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2917:16:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28819,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"2907:9:18","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2907:27:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2895:39:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28826,"nodeType":"ExpressionStatement","src":"2895:39:18"}]},"functionSelector":"27e86d6e","implemented":true,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"2826:16:18","parameters":{"id":28814,"nodeType":"ParameterList","parameters":[],"src":"2842:2:18"},"returnParameters":{"id":28817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28816,"mutability":"mutable","name":"blockHash","nameLocation":"2874:9:18","nodeType":"VariableDeclaration","scope":28828,"src":"2866:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2866:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2865:19:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"Multicall2","contractDependencies":[],"contractKind":"contract","documentation":{"id":28523,"nodeType":"StructuredDocumentation","src":"57:223:18","text":"@title Multicall2 - Aggregate results from multiple read-only function calls\n @author Michael Elliot \n @author Joshua Levine \n @author Nick Johnson "},"fullyImplemented":true,"linearizedBaseContracts":[28829],"name":"Multicall2","nameLocation":"289:10:18","scope":28830,"usedErrors":[]}],"license":"MIT"}},"src/Multicall3.sol":{"id":19,"ast":{"absolutePath":"src/Multicall3.sol","id":29379,"exportedSymbols":{"Multicall3":[29378]},"nodeType":"SourceUnit","src":"32:9578:19","nodes":[{"id":28831,"nodeType":"PragmaDirective","src":"32:23:19","nodes":[],"literals":["solidity","0.8",".12"]},{"id":29378,"nodeType":"ContractDefinition","src":"502:9107:19","nodes":[{"id":28837,"nodeType":"StructDefinition","src":"528:67:19","nodes":[],"canonicalName":"Multicall3.Call","members":[{"constant":false,"id":28834,"mutability":"mutable","name":"target","nameLocation":"558:6:19","nodeType":"VariableDeclaration","scope":28837,"src":"550:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28833,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28836,"mutability":"mutable","name":"callData","nameLocation":"580:8:19","nodeType":"VariableDeclaration","scope":28837,"src":"574:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28835,"name":"bytes","nodeType":"ElementaryTypeName","src":"574:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"535:4:19","scope":29378,"visibility":"public"},{"id":28844,"nodeType":"StructDefinition","src":"601:95:19","nodes":[],"canonicalName":"Multicall3.Call3","members":[{"constant":false,"id":28839,"mutability":"mutable","name":"target","nameLocation":"632:6:19","nodeType":"VariableDeclaration","scope":28844,"src":"624:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28838,"name":"address","nodeType":"ElementaryTypeName","src":"624:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28841,"mutability":"mutable","name":"allowFailure","nameLocation":"653:12:19","nodeType":"VariableDeclaration","scope":28844,"src":"648:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28840,"name":"bool","nodeType":"ElementaryTypeName","src":"648:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28843,"mutability":"mutable","name":"callData","nameLocation":"681:8:19","nodeType":"VariableDeclaration","scope":28844,"src":"675:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28842,"name":"bytes","nodeType":"ElementaryTypeName","src":"675:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"608:5:19","scope":29378,"visibility":"public"},{"id":28853,"nodeType":"StructDefinition","src":"702:123:19","nodes":[],"canonicalName":"Multicall3.Call3Value","members":[{"constant":false,"id":28846,"mutability":"mutable","name":"target","nameLocation":"738:6:19","nodeType":"VariableDeclaration","scope":28853,"src":"730:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28845,"name":"address","nodeType":"ElementaryTypeName","src":"730:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28848,"mutability":"mutable","name":"allowFailure","nameLocation":"759:12:19","nodeType":"VariableDeclaration","scope":28853,"src":"754:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28847,"name":"bool","nodeType":"ElementaryTypeName","src":"754:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28850,"mutability":"mutable","name":"value","nameLocation":"789:5:19","nodeType":"VariableDeclaration","scope":28853,"src":"781:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28849,"name":"uint256","nodeType":"ElementaryTypeName","src":"781:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28852,"mutability":"mutable","name":"callData","nameLocation":"810:8:19","nodeType":"VariableDeclaration","scope":28853,"src":"804:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28851,"name":"bytes","nodeType":"ElementaryTypeName","src":"804:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"709:10:19","scope":29378,"visibility":"public"},{"id":28858,"nodeType":"StructDefinition","src":"831:69:19","nodes":[],"canonicalName":"Multicall3.Result","members":[{"constant":false,"id":28855,"mutability":"mutable","name":"success","nameLocation":"860:7:19","nodeType":"VariableDeclaration","scope":28858,"src":"855:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28854,"name":"bool","nodeType":"ElementaryTypeName","src":"855:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28857,"mutability":"mutable","name":"returnData","nameLocation":"883:10:19","nodeType":"VariableDeclaration","scope":28858,"src":"877:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28856,"name":"bytes","nodeType":"ElementaryTypeName","src":"877:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"838:6:19","scope":29378,"visibility":"public"},{"id":28934,"nodeType":"FunctionDefinition","src":"1166:534:19","nodes":[],"body":{"id":28933,"nodeType":"Block","src":"1280:420:19","nodes":[],"statements":[{"expression":{"id":28874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28871,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28866,"src":"1290:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28872,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1304:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1304:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1290:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28875,"nodeType":"ExpressionStatement","src":"1290:26:19"},{"assignments":[28877],"declarations":[{"constant":false,"id":28877,"mutability":"mutable","name":"length","nameLocation":"1334:6:19","nodeType":"VariableDeclaration","scope":28933,"src":"1326:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28876,"name":"uint256","nodeType":"ElementaryTypeName","src":"1326:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28880,"initialValue":{"expression":{"id":28878,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28863,"src":"1343:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}},"id":28879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1343:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1326:29:19"},{"expression":{"id":28887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28881,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28869,"src":"1365:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28885,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28877,"src":"1390:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1378:11:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":28882,"name":"bytes","nodeType":"ElementaryTypeName","src":"1382:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28883,"nodeType":"ArrayTypeName","src":"1382:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":28886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1378:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"1365:32:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28888,"nodeType":"ExpressionStatement","src":"1365:32:19"},{"assignments":[28891],"declarations":[{"constant":false,"id":28891,"mutability":"mutable","name":"call","nameLocation":"1421:4:19","nodeType":"VariableDeclaration","scope":28933,"src":"1407:18:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call"},"typeName":{"id":28890,"nodeType":"UserDefinedTypeName","pathNode":{"id":28889,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1407:4:19"},"referencedDeclaration":28837,"src":"1407:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"visibility":"internal"}],"id":28892,"nodeType":"VariableDeclarationStatement","src":"1407:18:19"},{"body":{"id":28931,"nodeType":"Block","src":"1468:226:19","statements":[{"assignments":[28901],"declarations":[{"constant":false,"id":28901,"mutability":"mutable","name":"success","nameLocation":"1487:7:19","nodeType":"VariableDeclaration","scope":28931,"src":"1482:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28900,"name":"bool","nodeType":"ElementaryTypeName","src":"1482:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":28902,"nodeType":"VariableDeclarationStatement","src":"1482:12:19"},{"expression":{"id":28907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28903,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28891,"src":"1508:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":28904,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28863,"src":"1515:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}},"id":28906,"indexExpression":{"id":28905,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28894,"src":"1521:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1515:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"src":"1508:15:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28908,"nodeType":"ExpressionStatement","src":"1508:15:19"},{"expression":{"id":28920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":28909,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28901,"src":"1538:7:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"baseExpression":{"id":28910,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28869,"src":"1547:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28912,"indexExpression":{"id":28911,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28894,"src":"1558:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1547:13:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":28913,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1537:24:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28917,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28891,"src":"1581:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28836,"src":"1581:13:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":28914,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28891,"src":"1564:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28834,"src":"1564:11:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"1564:16:19","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":28919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1564:31:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"1537:58:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28921,"nodeType":"ExpressionStatement","src":"1537:58:19"},{"expression":{"arguments":[{"id":28923,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28901,"src":"1617:7:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":28924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1626:25:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":28922,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1609:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1609:43:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28926,"nodeType":"ExpressionStatement","src":"1609:43:19"},{"id":28930,"nodeType":"UncheckedBlock","src":"1666:18:19","statements":[{"expression":{"id":28928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"1678:3:19","subExpression":{"id":28927,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28894,"src":"1680:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28929,"nodeType":"ExpressionStatement","src":"1678:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28897,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28894,"src":"1455:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":28898,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28877,"src":"1459:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1455:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28932,"initializationExpression":{"assignments":[28894],"declarations":[{"constant":false,"id":28894,"mutability":"mutable","name":"i","nameLocation":"1448:1:19","nodeType":"VariableDeclaration","scope":28932,"src":"1440:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28893,"name":"uint256","nodeType":"ElementaryTypeName","src":"1440:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28896,"initialValue":{"hexValue":"30","id":28895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1452:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1440:13:19"},"nodeType":"ForStatement","src":"1435:259:19"}]},"documentation":{"id":28859,"nodeType":"StructuredDocumentation","src":"906:255:19","text":"@notice Backwards-compatible call aggregation with Multicall\n @param calls An array of Call structs\n @return blockNumber The block number where the calls were executed\n @return returnData An array of bytes containing the responses"},"functionSelector":"252dba42","implemented":true,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"1175:9:19","parameters":{"id":28864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28863,"mutability":"mutable","name":"calls","nameLocation":"1201:5:19","nodeType":"VariableDeclaration","scope":28934,"src":"1185:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":28861,"nodeType":"UserDefinedTypeName","pathNode":{"id":28860,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1185:4:19"},"referencedDeclaration":28837,"src":"1185:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":28862,"nodeType":"ArrayTypeName","src":"1185:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"src":"1184:23:19"},"returnParameters":{"id":28870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28866,"mutability":"mutable","name":"blockNumber","nameLocation":"1240:11:19","nodeType":"VariableDeclaration","scope":28934,"src":"1232:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28865,"name":"uint256","nodeType":"ElementaryTypeName","src":"1232:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28869,"mutability":"mutable","name":"returnData","nameLocation":"1268:10:19","nodeType":"VariableDeclaration","scope":28934,"src":"1253:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":28867,"name":"bytes","nodeType":"ElementaryTypeName","src":"1253:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28868,"nodeType":"ArrayTypeName","src":"1253:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"1231:48:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29015,"nodeType":"FunctionDefinition","src":"1985:565:19","nodes":[],"body":{"id":29014,"nodeType":"Block","src":"2103:447:19","nodes":[],"statements":[{"assignments":[28949],"declarations":[{"constant":false,"id":28949,"mutability":"mutable","name":"length","nameLocation":"2121:6:19","nodeType":"VariableDeclaration","scope":29014,"src":"2113:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28948,"name":"uint256","nodeType":"ElementaryTypeName","src":"2113:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28952,"initialValue":{"expression":{"id":28950,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28941,"src":"2130:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}},"id":28951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2130:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2113:29:19"},{"expression":{"id":28960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28953,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28946,"src":"2152:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28958,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28949,"src":"2178:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2165:12:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Result memory[] memory)"},"typeName":{"baseType":{"id":28955,"nodeType":"UserDefinedTypeName","pathNode":{"id":28954,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"2169:6:19"},"referencedDeclaration":28858,"src":"2169:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":28956,"nodeType":"ArrayTypeName","src":"2169:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}}},"id":28959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2165:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"src":"2152:33:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":28961,"nodeType":"ExpressionStatement","src":"2152:33:19"},{"assignments":[28964],"declarations":[{"constant":false,"id":28964,"mutability":"mutable","name":"call","nameLocation":"2209:4:19","nodeType":"VariableDeclaration","scope":29014,"src":"2195:18:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call"},"typeName":{"id":28963,"nodeType":"UserDefinedTypeName","pathNode":{"id":28962,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2195:4:19"},"referencedDeclaration":28837,"src":"2195:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"visibility":"internal"}],"id":28965,"nodeType":"VariableDeclarationStatement","src":"2195:18:19"},{"body":{"id":29012,"nodeType":"Block","src":"2256:288:19","statements":[{"assignments":[28975],"declarations":[{"constant":false,"id":28975,"mutability":"mutable","name":"result","nameLocation":"2284:6:19","nodeType":"VariableDeclaration","scope":29012,"src":"2270:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result"},"typeName":{"id":28974,"nodeType":"UserDefinedTypeName","pathNode":{"id":28973,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"2270:6:19"},"referencedDeclaration":28858,"src":"2270:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"visibility":"internal"}],"id":28979,"initialValue":{"baseExpression":{"id":28976,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28946,"src":"2293:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":28978,"indexExpression":{"id":28977,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28967,"src":"2304:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2293:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"nodeType":"VariableDeclarationStatement","src":"2270:36:19"},{"expression":{"id":28984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28980,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28964,"src":"2320:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":28981,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28941,"src":"2327:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}},"id":28983,"indexExpression":{"id":28982,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28967,"src":"2333:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2327:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"src":"2320:15:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28985,"nodeType":"ExpressionStatement","src":"2320:15:19"},{"expression":{"id":28998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":28986,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28975,"src":"2350:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":28988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"2350:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":28989,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28975,"src":"2366:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":28990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"2366:17:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":28991,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"2349:35:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28995,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28964,"src":"2404:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28836,"src":"2404:13:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":28992,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28964,"src":"2387:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28834,"src":"2387:11:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2387:16:19","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":28997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2387:31:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"2349:69:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28999,"nodeType":"ExpressionStatement","src":"2349:69:19"},{"condition":{"id":29000,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28937,"src":"2436:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29007,"nodeType":"IfStatement","src":"2432:70:19","trueBody":{"expression":{"arguments":[{"expression":{"id":29002,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28975,"src":"2460:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"2460:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":29004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2476:25:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":29001,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2452:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2452:50:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29006,"nodeType":"ExpressionStatement","src":"2452:50:19"}},{"id":29011,"nodeType":"UncheckedBlock","src":"2516:18:19","statements":[{"expression":{"id":29009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"2528:3:19","subExpression":{"id":29008,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28967,"src":"2530:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29010,"nodeType":"ExpressionStatement","src":"2528:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28970,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28967,"src":"2243:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":28971,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28949,"src":"2247:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2243:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29013,"initializationExpression":{"assignments":[28967],"declarations":[{"constant":false,"id":28967,"mutability":"mutable","name":"i","nameLocation":"2236:1:19","nodeType":"VariableDeclaration","scope":29013,"src":"2228:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28966,"name":"uint256","nodeType":"ElementaryTypeName","src":"2228:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28969,"initialValue":{"hexValue":"30","id":28968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2240:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2228:13:19"},"nodeType":"ForStatement","src":"2223:321:19"}]},"documentation":{"id":28935,"nodeType":"StructuredDocumentation","src":"1706:274:19","text":"@notice Backwards-compatible with Multicall2\n @notice Aggregate calls without requiring success\n @param requireSuccess If true, require all calls to succeed\n @param calls An array of Call structs\n @return returnData An array of Result structs"},"functionSelector":"bce38bd7","implemented":true,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1994:12:19","parameters":{"id":28942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28937,"mutability":"mutable","name":"requireSuccess","nameLocation":"2012:14:19","nodeType":"VariableDeclaration","scope":29015,"src":"2007:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28936,"name":"bool","nodeType":"ElementaryTypeName","src":"2007:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28941,"mutability":"mutable","name":"calls","nameLocation":"2044:5:19","nodeType":"VariableDeclaration","scope":29015,"src":"2028:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":28939,"nodeType":"UserDefinedTypeName","pathNode":{"id":28938,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2028:4:19"},"referencedDeclaration":28837,"src":"2028:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":28940,"nodeType":"ArrayTypeName","src":"2028:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"src":"2006:44:19"},"returnParameters":{"id":28947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28946,"mutability":"mutable","name":"returnData","nameLocation":"2091:10:19","nodeType":"VariableDeclaration","scope":29015,"src":"2075:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":28944,"nodeType":"UserDefinedTypeName","pathNode":{"id":28943,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"2075:6:19"},"referencedDeclaration":28858,"src":"2075:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":28945,"nodeType":"ArrayTypeName","src":"2075:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"2074:28:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29053,"nodeType":"FunctionDefinition","src":"2932:312:19","nodes":[],"body":{"id":29052,"nodeType":"Block","src":"3098:146:19","nodes":[],"statements":[{"expression":{"id":29036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29033,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29025,"src":"3108:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29034,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3122:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3122:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3108:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29037,"nodeType":"ExpressionStatement","src":"3108:26:19"},{"expression":{"id":29043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29038,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29027,"src":"3144:9:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":29040,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3166:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3166:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29039,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3156:9:19","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3156:23:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3144:35:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29044,"nodeType":"ExpressionStatement","src":"3144:35:19"},{"expression":{"id":29050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29045,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29031,"src":"3189:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29047,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29018,"src":"3215:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29048,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29022,"src":"3231:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}],"id":29046,"name":"tryAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29015,"src":"3202:12:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call calldata[] calldata) returns (struct Multicall3.Result memory[] memory)"}},"id":29049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3202:35:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"src":"3189:48:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29051,"nodeType":"ExpressionStatement","src":"3189:48:19"}]},"documentation":{"id":29016,"nodeType":"StructuredDocumentation","src":"2556:371:19","text":"@notice Backwards-compatible with Multicall2\n @notice Aggregate calls and allow failures using tryAggregate\n @param calls An array of Call structs\n @return blockNumber The block number where the calls were executed\n @return blockHash The hash of the block where the calls were executed\n @return returnData An array of Result structs"},"functionSelector":"399542e9","implemented":true,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"2941:20:19","parameters":{"id":29023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29018,"mutability":"mutable","name":"requireSuccess","nameLocation":"2967:14:19","nodeType":"VariableDeclaration","scope":29053,"src":"2962:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29017,"name":"bool","nodeType":"ElementaryTypeName","src":"2962:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29022,"mutability":"mutable","name":"calls","nameLocation":"2999:5:19","nodeType":"VariableDeclaration","scope":29053,"src":"2983:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":29020,"nodeType":"UserDefinedTypeName","pathNode":{"id":29019,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2983:4:19"},"referencedDeclaration":28837,"src":"2983:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":29021,"nodeType":"ArrayTypeName","src":"2983:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"src":"2961:44:19"},"returnParameters":{"id":29032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29025,"mutability":"mutable","name":"blockNumber","nameLocation":"3038:11:19","nodeType":"VariableDeclaration","scope":29053,"src":"3030:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29024,"name":"uint256","nodeType":"ElementaryTypeName","src":"3030:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29027,"mutability":"mutable","name":"blockHash","nameLocation":"3059:9:19","nodeType":"VariableDeclaration","scope":29053,"src":"3051:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3051:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29031,"mutability":"mutable","name":"returnData","nameLocation":"3086:10:19","nodeType":"VariableDeclaration","scope":29053,"src":"3070:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":29029,"nodeType":"UserDefinedTypeName","pathNode":{"id":29028,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"3070:6:19"},"referencedDeclaration":28858,"src":"3070:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29030,"nodeType":"ArrayTypeName","src":"3070:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"3029:68:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29080,"nodeType":"FunctionDefinition","src":"3626:231:19","nodes":[],"body":{"id":29079,"nodeType":"Block","src":"3768:89:19","nodes":[],"statements":[{"expression":{"id":29077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":29069,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29061,"src":"3779:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29070,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29063,"src":"3792:9:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":29071,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29067,"src":"3803:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}}],"id":29072,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"3778:36:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"74727565","id":29074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3838:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":29075,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29058,"src":"3844:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}],"id":29073,"name":"tryBlockAndAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29053,"src":"3817:20:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call calldata[] calldata) returns (uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":29076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3817:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"src":"3778:72:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29078,"nodeType":"ExpressionStatement","src":"3778:72:19"}]},"documentation":{"id":29054,"nodeType":"StructuredDocumentation","src":"3250:371:19","text":"@notice Backwards-compatible with Multicall2\n @notice Aggregate calls and allow failures using tryAggregate\n @param calls An array of Call structs\n @return blockNumber The block number where the calls were executed\n @return blockHash The hash of the block where the calls were executed\n @return returnData An array of Result structs"},"functionSelector":"c3077fa9","implemented":true,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"3635:17:19","parameters":{"id":29059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29058,"mutability":"mutable","name":"calls","nameLocation":"3669:5:19","nodeType":"VariableDeclaration","scope":29080,"src":"3653:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":29056,"nodeType":"UserDefinedTypeName","pathNode":{"id":29055,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3653:4:19"},"referencedDeclaration":28837,"src":"3653:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":29057,"nodeType":"ArrayTypeName","src":"3653:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"src":"3652:23:19"},"returnParameters":{"id":29068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29061,"mutability":"mutable","name":"blockNumber","nameLocation":"3708:11:19","nodeType":"VariableDeclaration","scope":29080,"src":"3700:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29060,"name":"uint256","nodeType":"ElementaryTypeName","src":"3700:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29063,"mutability":"mutable","name":"blockHash","nameLocation":"3729:9:19","nodeType":"VariableDeclaration","scope":29080,"src":"3721:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3721:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29067,"mutability":"mutable","name":"returnData","nameLocation":"3756:10:19","nodeType":"VariableDeclaration","scope":29080,"src":"3740:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":29065,"nodeType":"UserDefinedTypeName","pathNode":{"id":29064,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"3740:6:19"},"referencedDeclaration":28858,"src":"3740:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29066,"nodeType":"ArrayTypeName","src":"3740:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"3699:68:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29152,"nodeType":"FunctionDefinition","src":"4039:1494:19","nodes":[],"body":{"id":29151,"nodeType":"Block","src":"4135:1398:19","nodes":[],"statements":[{"assignments":[29093],"declarations":[{"constant":false,"id":29093,"mutability":"mutable","name":"length","nameLocation":"4153:6:19","nodeType":"VariableDeclaration","scope":29151,"src":"4145:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29092,"name":"uint256","nodeType":"ElementaryTypeName","src":"4145:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29096,"initialValue":{"expression":{"id":29094,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29085,"src":"4162:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3 calldata[] calldata"}},"id":29095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4162:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4145:29:19"},{"expression":{"id":29104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29097,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29090,"src":"4184:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29102,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29093,"src":"4210:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4197:12:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Result memory[] memory)"},"typeName":{"baseType":{"id":29099,"nodeType":"UserDefinedTypeName","pathNode":{"id":29098,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"4201:6:19"},"referencedDeclaration":28858,"src":"4201:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29100,"nodeType":"ArrayTypeName","src":"4201:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}}},"id":29103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4197:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"src":"4184:33:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29105,"nodeType":"ExpressionStatement","src":"4184:33:19"},{"assignments":[29108],"declarations":[{"constant":false,"id":29108,"mutability":"mutable","name":"calli","nameLocation":"4242:5:19","nodeType":"VariableDeclaration","scope":29151,"src":"4227:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3"},"typeName":{"id":29107,"nodeType":"UserDefinedTypeName","pathNode":{"id":29106,"name":"Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"4227:5:19"},"referencedDeclaration":28844,"src":"4227:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"visibility":"internal"}],"id":29109,"nodeType":"VariableDeclarationStatement","src":"4227:20:19"},{"body":{"id":29149,"nodeType":"Block","src":"4290:1237:19","statements":[{"assignments":[29119],"declarations":[{"constant":false,"id":29119,"mutability":"mutable","name":"result","nameLocation":"4318:6:19","nodeType":"VariableDeclaration","scope":29149,"src":"4304:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result"},"typeName":{"id":29118,"nodeType":"UserDefinedTypeName","pathNode":{"id":29117,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"4304:6:19"},"referencedDeclaration":28858,"src":"4304:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"visibility":"internal"}],"id":29123,"initialValue":{"baseExpression":{"id":29120,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29090,"src":"4327:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29122,"indexExpression":{"id":29121,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29111,"src":"4338:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4327:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"nodeType":"VariableDeclarationStatement","src":"4304:36:19"},{"expression":{"id":29128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29124,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29108,"src":"4354:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":29125,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29085,"src":"4362:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3 calldata[] calldata"}},"id":29127,"indexExpression":{"id":29126,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29111,"src":"4368:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4362:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"src":"4354:16:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"id":29129,"nodeType":"ExpressionStatement","src":"4354:16:19"},{"expression":{"id":29142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":29130,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29119,"src":"4385:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"4385:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":29133,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29119,"src":"4401:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"4401:17:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":29135,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4384:35:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":29139,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29108,"src":"4440:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"id":29140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28843,"src":"4440:14:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":29136,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29108,"src":"4422:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"id":29137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28839,"src":"4422:12:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"4422:17:19","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":29141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4422:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"4384:71:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29143,"nodeType":"ExpressionStatement","src":"4384:71:19"},{"AST":{"nodeType":"YulBlock","src":"4478:1008:19","statements":[{"body":{"nodeType":"YulBlock","src":"4727:745:19","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4854:4:19","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"4860:66:19","type":"","value":"0x08c379a000000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4847:6:19"},"nodeType":"YulFunctionCall","src":"4847:80:19"},"nodeType":"YulExpressionStatement","src":"4847:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4994:4:19","type":"","value":"0x04"},{"kind":"number","nodeType":"YulLiteral","src":"5000:66:19","type":"","value":"0x0000000000000000000000000000000000000000000000000000000000000020"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4987:6:19"},"nodeType":"YulFunctionCall","src":"4987:80:19"},"nodeType":"YulExpressionStatement","src":"4987:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5146:4:19","type":"","value":"0x24"},{"kind":"number","nodeType":"YulLiteral","src":"5152:66:19","type":"","value":"0x0000000000000000000000000000000000000000000000000000000000000017"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5139:6:19"},"nodeType":"YulFunctionCall","src":"5139:80:19"},"nodeType":"YulExpressionStatement","src":"5139:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5342:4:19","type":"","value":"0x44"},{"kind":"number","nodeType":"YulLiteral","src":"5348:66:19","type":"","value":"0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5335:6:19"},"nodeType":"YulFunctionCall","src":"5335:80:19"},"nodeType":"YulExpressionStatement","src":"5335:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5443:4:19","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"5449:4:19","type":"","value":"0x64"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5436:6:19"},"nodeType":"YulFunctionCall","src":"5436:18:19"},"nodeType":"YulExpressionStatement","src":"5436:18:19"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"calli","nodeType":"YulIdentifier","src":"4696:5:19"},{"kind":"number","nodeType":"YulLiteral","src":"4703:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4692:3:19"},"nodeType":"YulFunctionCall","src":"4692:16:19"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4679:12:19"},"nodeType":"YulFunctionCall","src":"4679:30:19"},{"arguments":[{"name":"result","nodeType":"YulIdentifier","src":"4717:6:19"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4711:5:19"},"nodeType":"YulFunctionCall","src":"4711:13:19"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4676:2:19"},"nodeType":"YulFunctionCall","src":"4676:49:19"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4669:6:19"},"nodeType":"YulFunctionCall","src":"4669:57:19"},"nodeType":"YulIf","src":"4666:806:19"}]},"evmVersion":"london","externalReferences":[{"declaration":29108,"isOffset":false,"isSlot":false,"src":"4696:5:19","valueSize":1},{"declaration":29119,"isOffset":false,"isSlot":false,"src":"4717:6:19","valueSize":1}],"id":29144,"nodeType":"InlineAssembly","src":"4469:1017:19"},{"id":29148,"nodeType":"UncheckedBlock","src":"5499:18:19","statements":[{"expression":{"id":29146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5511:3:19","subExpression":{"id":29145,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29111,"src":"5513:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29147,"nodeType":"ExpressionStatement","src":"5511:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29114,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29111,"src":"4277:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":29115,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29093,"src":"4281:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4277:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29150,"initializationExpression":{"assignments":[29111],"declarations":[{"constant":false,"id":29111,"mutability":"mutable","name":"i","nameLocation":"4270:1:19","nodeType":"VariableDeclaration","scope":29150,"src":"4262:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29110,"name":"uint256","nodeType":"ElementaryTypeName","src":"4262:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29113,"initialValue":{"hexValue":"30","id":29112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4274:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4262:13:19"},"nodeType":"ForStatement","src":"4257:1270:19"}]},"documentation":{"id":29081,"nodeType":"StructuredDocumentation","src":"3863:171:19","text":"@notice Aggregate calls, ensuring each returns success if required\n @param calls An array of Call3 structs\n @return returnData An array of Result structs"},"functionSelector":"82ad56cb","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"4048:10:19","parameters":{"id":29086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29085,"mutability":"mutable","name":"calls","nameLocation":"4076:5:19","nodeType":"VariableDeclaration","scope":29152,"src":"4059:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3[]"},"typeName":{"baseType":{"id":29083,"nodeType":"UserDefinedTypeName","pathNode":{"id":29082,"name":"Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"4059:5:19"},"referencedDeclaration":28844,"src":"4059:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":29084,"nodeType":"ArrayTypeName","src":"4059:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}},"visibility":"internal"}],"src":"4058:24:19"},"returnParameters":{"id":29091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29090,"mutability":"mutable","name":"returnData","nameLocation":"4123:10:19","nodeType":"VariableDeclaration","scope":29152,"src":"4107:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":29088,"nodeType":"UserDefinedTypeName","pathNode":{"id":29087,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"4107:6:19"},"referencedDeclaration":28858,"src":"4107:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29089,"nodeType":"ArrayTypeName","src":"4107:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"4106:28:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29247,"nodeType":"FunctionDefinition","src":"5771:1961:19","nodes":[],"body":{"id":29246,"nodeType":"Block","src":"5877:1855:19","nodes":[],"statements":[{"assignments":[29165],"declarations":[{"constant":false,"id":29165,"mutability":"mutable","name":"valAccumulator","nameLocation":"5895:14:19","nodeType":"VariableDeclaration","scope":29246,"src":"5887:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29164,"name":"uint256","nodeType":"ElementaryTypeName","src":"5887:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29166,"nodeType":"VariableDeclarationStatement","src":"5887:22:19"},{"assignments":[29168],"declarations":[{"constant":false,"id":29168,"mutability":"mutable","name":"length","nameLocation":"5927:6:19","nodeType":"VariableDeclaration","scope":29246,"src":"5919:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29167,"name":"uint256","nodeType":"ElementaryTypeName","src":"5919:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29171,"initialValue":{"expression":{"id":29169,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29157,"src":"5936:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata[] calldata"}},"id":29170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5936:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5919:29:19"},{"expression":{"id":29179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29172,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29162,"src":"5958:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29177,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29168,"src":"5984:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5971:12:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Result memory[] memory)"},"typeName":{"baseType":{"id":29174,"nodeType":"UserDefinedTypeName","pathNode":{"id":29173,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"5975:6:19"},"referencedDeclaration":28858,"src":"5975:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29175,"nodeType":"ArrayTypeName","src":"5975:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}}},"id":29178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5971:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"src":"5958:33:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29180,"nodeType":"ExpressionStatement","src":"5958:33:19"},{"assignments":[29183],"declarations":[{"constant":false,"id":29183,"mutability":"mutable","name":"calli","nameLocation":"6021:5:19","nodeType":"VariableDeclaration","scope":29246,"src":"6001:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value"},"typeName":{"id":29182,"nodeType":"UserDefinedTypeName","pathNode":{"id":29181,"name":"Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"6001:10:19"},"referencedDeclaration":28853,"src":"6001:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"visibility":"internal"}],"id":29184,"nodeType":"VariableDeclarationStatement","src":"6001:25:19"},{"body":{"id":29236,"nodeType":"Block","src":"6069:1512:19","statements":[{"assignments":[29194],"declarations":[{"constant":false,"id":29194,"mutability":"mutable","name":"result","nameLocation":"6097:6:19","nodeType":"VariableDeclaration","scope":29236,"src":"6083:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result"},"typeName":{"id":29193,"nodeType":"UserDefinedTypeName","pathNode":{"id":29192,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"6083:6:19"},"referencedDeclaration":28858,"src":"6083:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"visibility":"internal"}],"id":29198,"initialValue":{"baseExpression":{"id":29195,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29162,"src":"6106:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29197,"indexExpression":{"id":29196,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29186,"src":"6117:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6106:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"nodeType":"VariableDeclarationStatement","src":"6083:36:19"},{"expression":{"id":29203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29199,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29183,"src":"6133:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":29200,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29157,"src":"6141:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata[] calldata"}},"id":29202,"indexExpression":{"id":29201,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29186,"src":"6147:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6141:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"src":"6133:16:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"id":29204,"nodeType":"ExpressionStatement","src":"6133:16:19"},{"assignments":[29206],"declarations":[{"constant":false,"id":29206,"mutability":"mutable","name":"val","nameLocation":"6171:3:19","nodeType":"VariableDeclaration","scope":29236,"src":"6163:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29205,"name":"uint256","nodeType":"ElementaryTypeName","src":"6163:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29209,"initialValue":{"expression":{"id":29207,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29183,"src":"6177:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"id":29208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":28850,"src":"6177:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6163:25:19"},{"id":29214,"nodeType":"UncheckedBlock","src":"6377:36:19","statements":[{"expression":{"id":29212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29210,"name":"valAccumulator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29165,"src":"6389:14:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":29211,"name":"val","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29206,"src":"6407:3:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6389:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29213,"nodeType":"ExpressionStatement","src":"6389:21:19"}]},{"expression":{"id":29229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":29215,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29194,"src":"6427:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"6427:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":29218,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29194,"src":"6443:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"6443:17:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":29220,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6426:35:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":29226,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29183,"src":"6494:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"id":29227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"6494:14:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":29221,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29183,"src":"6464:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"id":29222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28846,"src":"6464:12:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"6464:17:19","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":29225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":29224,"name":"val","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29206,"src":"6489:3:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"6464:29:19","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":29228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6464:45:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"6426:83:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29230,"nodeType":"ExpressionStatement","src":"6426:83:19"},{"AST":{"nodeType":"YulBlock","src":"6532:1008:19","statements":[{"body":{"nodeType":"YulBlock","src":"6781:745:19","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6908:4:19","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"6914:66:19","type":"","value":"0x08c379a000000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6901:6:19"},"nodeType":"YulFunctionCall","src":"6901:80:19"},"nodeType":"YulExpressionStatement","src":"6901:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7048:4:19","type":"","value":"0x04"},{"kind":"number","nodeType":"YulLiteral","src":"7054:66:19","type":"","value":"0x0000000000000000000000000000000000000000000000000000000000000020"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7041:6:19"},"nodeType":"YulFunctionCall","src":"7041:80:19"},"nodeType":"YulExpressionStatement","src":"7041:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7200:4:19","type":"","value":"0x24"},{"kind":"number","nodeType":"YulLiteral","src":"7206:66:19","type":"","value":"0x0000000000000000000000000000000000000000000000000000000000000017"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7193:6:19"},"nodeType":"YulFunctionCall","src":"7193:80:19"},"nodeType":"YulExpressionStatement","src":"7193:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7396:4:19","type":"","value":"0x44"},{"kind":"number","nodeType":"YulLiteral","src":"7402:66:19","type":"","value":"0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7389:6:19"},"nodeType":"YulFunctionCall","src":"7389:80:19"},"nodeType":"YulExpressionStatement","src":"7389:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7497:4:19","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"7503:4:19","type":"","value":"0x84"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7490:6:19"},"nodeType":"YulFunctionCall","src":"7490:18:19"},"nodeType":"YulExpressionStatement","src":"7490:18:19"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"calli","nodeType":"YulIdentifier","src":"6750:5:19"},{"kind":"number","nodeType":"YulLiteral","src":"6757:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6746:3:19"},"nodeType":"YulFunctionCall","src":"6746:16:19"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6733:12:19"},"nodeType":"YulFunctionCall","src":"6733:30:19"},{"arguments":[{"name":"result","nodeType":"YulIdentifier","src":"6771:6:19"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6765:5:19"},"nodeType":"YulFunctionCall","src":"6765:13:19"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6730:2:19"},"nodeType":"YulFunctionCall","src":"6730:49:19"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6723:6:19"},"nodeType":"YulFunctionCall","src":"6723:57:19"},"nodeType":"YulIf","src":"6720:806:19"}]},"evmVersion":"london","externalReferences":[{"declaration":29183,"isOffset":false,"isSlot":false,"src":"6750:5:19","valueSize":1},{"declaration":29194,"isOffset":false,"isSlot":false,"src":"6771:6:19","valueSize":1}],"id":29231,"nodeType":"InlineAssembly","src":"6523:1017:19"},{"id":29235,"nodeType":"UncheckedBlock","src":"7553:18:19","statements":[{"expression":{"id":29233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7565:3:19","subExpression":{"id":29232,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29186,"src":"7567:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29234,"nodeType":"ExpressionStatement","src":"7565:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29189,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29186,"src":"6056:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":29190,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29168,"src":"6060:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6056:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29237,"initializationExpression":{"assignments":[29186],"declarations":[{"constant":false,"id":29186,"mutability":"mutable","name":"i","nameLocation":"6049:1:19","nodeType":"VariableDeclaration","scope":29237,"src":"6041:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29185,"name":"uint256","nodeType":"ElementaryTypeName","src":"6041:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29188,"initialValue":{"hexValue":"30","id":29187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6053:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6041:13:19"},"nodeType":"ForStatement","src":"6036:1545:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":29239,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7667:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":29240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"7667:9:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":29241,"name":"valAccumulator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29165,"src":"7680:14:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7667:27:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c333a2076616c7565206d69736d61746368","id":29243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7696:28:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_52d1b5fbcd1a89add74bb8157dc5d3d128a6df96345d91050302a8ad17d52eb9","typeString":"literal_string \"Multicall3: value mismatch\""},"value":"Multicall3: value mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_52d1b5fbcd1a89add74bb8157dc5d3d128a6df96345d91050302a8ad17d52eb9","typeString":"literal_string \"Multicall3: value mismatch\""}],"id":29238,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7659:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7659:66:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29245,"nodeType":"ExpressionStatement","src":"7659:66:19"}]},"documentation":{"id":29153,"nodeType":"StructuredDocumentation","src":"5539:227:19","text":"@notice Aggregate calls with a msg value\n @notice Reverts if msg.value is less than the sum of the call values\n @param calls An array of Call3Value structs\n @return returnData An array of Result structs"},"functionSelector":"174dea71","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"5780:15:19","parameters":{"id":29158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29157,"mutability":"mutable","name":"calls","nameLocation":"5818:5:19","nodeType":"VariableDeclaration","scope":29247,"src":"5796:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":29155,"nodeType":"UserDefinedTypeName","pathNode":{"id":29154,"name":"Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"5796:10:19"},"referencedDeclaration":28853,"src":"5796:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":29156,"nodeType":"ArrayTypeName","src":"5796:12:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"src":"5795:29:19"},"returnParameters":{"id":29163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29162,"mutability":"mutable","name":"returnData","nameLocation":"5865:10:19","nodeType":"VariableDeclaration","scope":29247,"src":"5849:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":29160,"nodeType":"UserDefinedTypeName","pathNode":{"id":29159,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"5849:6:19"},"referencedDeclaration":28858,"src":"5849:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29161,"nodeType":"ArrayTypeName","src":"5849:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"5848:28:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29262,"nodeType":"FunctionDefinition","src":"7848:134:19","nodes":[],"body":{"id":29261,"nodeType":"Block","src":"7931:51:19","nodes":[],"statements":[{"expression":{"id":29259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29255,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29253,"src":"7941:9:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29257,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29250,"src":"7963:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29256,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"7953:9:19","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7953:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7941:34:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29260,"nodeType":"ExpressionStatement","src":"7941:34:19"}]},"documentation":{"id":29248,"nodeType":"StructuredDocumentation","src":"7738:105:19","text":"@notice Returns the block hash for the given block number\n @param blockNumber The block number"},"functionSelector":"ee82ac5e","implemented":true,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"7857:12:19","parameters":{"id":29251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29250,"mutability":"mutable","name":"blockNumber","nameLocation":"7878:11:19","nodeType":"VariableDeclaration","scope":29262,"src":"7870:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29249,"name":"uint256","nodeType":"ElementaryTypeName","src":"7870:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7869:21:19"},"returnParameters":{"id":29254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29253,"mutability":"mutable","name":"blockHash","nameLocation":"7920:9:19","nodeType":"VariableDeclaration","scope":29262,"src":"7912:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7912:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7911:19:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29274,"nodeType":"FunctionDefinition","src":"8029:111:19","nodes":[],"body":{"id":29273,"nodeType":"Block","src":"8097:43:19","nodes":[],"statements":[{"expression":{"id":29271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29268,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29266,"src":"8107:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29269,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8121:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"8121:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8107:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29272,"nodeType":"ExpressionStatement","src":"8107:26:19"}]},"documentation":{"id":29263,"nodeType":"StructuredDocumentation","src":"7988:36:19","text":"@notice Returns the block number"},"functionSelector":"42cbb15c","implemented":true,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"8038:14:19","parameters":{"id":29264,"nodeType":"ParameterList","parameters":[],"src":"8052:2:19"},"returnParameters":{"id":29267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29266,"mutability":"mutable","name":"blockNumber","nameLocation":"8084:11:19","nodeType":"VariableDeclaration","scope":29274,"src":"8076:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29265,"name":"uint256","nodeType":"ElementaryTypeName","src":"8076:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8075:21:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29286,"nodeType":"FunctionDefinition","src":"8189:116:19","nodes":[],"body":{"id":29285,"nodeType":"Block","src":"8263:42:19","nodes":[],"statements":[{"expression":{"id":29283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29280,"name":"coinbase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29278,"src":"8273:8:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29281,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8284:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"8284:14:19","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"8273:25:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29284,"nodeType":"ExpressionStatement","src":"8273:25:19"}]},"documentation":{"id":29275,"nodeType":"StructuredDocumentation","src":"8146:38:19","text":"@notice Returns the block coinbase"},"functionSelector":"a8b0574e","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"8198:23:19","parameters":{"id":29276,"nodeType":"ParameterList","parameters":[],"src":"8221:2:19"},"returnParameters":{"id":29279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29278,"mutability":"mutable","name":"coinbase","nameLocation":"8253:8:19","nodeType":"VariableDeclaration","scope":29286,"src":"8245:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29277,"name":"address","nodeType":"ElementaryTypeName","src":"8245:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8244:18:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29298,"nodeType":"FunctionDefinition","src":"8356:124:19","nodes":[],"body":{"id":29297,"nodeType":"Block","src":"8434:46:19","nodes":[],"statements":[{"expression":{"id":29295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29292,"name":"difficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29290,"src":"8444:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29293,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8457:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"8457:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8444:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29296,"nodeType":"ExpressionStatement","src":"8444:29:19"}]},"documentation":{"id":29287,"nodeType":"StructuredDocumentation","src":"8311:40:19","text":"@notice Returns the block difficulty"},"functionSelector":"72425d9d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"8365:25:19","parameters":{"id":29288,"nodeType":"ParameterList","parameters":[],"src":"8390:2:19"},"returnParameters":{"id":29291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29290,"mutability":"mutable","name":"difficulty","nameLocation":"8422:10:19","nodeType":"VariableDeclaration","scope":29298,"src":"8414:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29289,"name":"uint256","nodeType":"ElementaryTypeName","src":"8414:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8413:20:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29310,"nodeType":"FunctionDefinition","src":"8530:116:19","nodes":[],"body":{"id":29309,"nodeType":"Block","src":"8604:42:19","nodes":[],"statements":[{"expression":{"id":29307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29304,"name":"gaslimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29302,"src":"8614:8:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29305,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8625:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"8625:14:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8614:25:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29308,"nodeType":"ExpressionStatement","src":"8614:25:19"}]},"documentation":{"id":29299,"nodeType":"StructuredDocumentation","src":"8486:39:19","text":"@notice Returns the block gas limit"},"functionSelector":"86d516e8","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"8539:23:19","parameters":{"id":29300,"nodeType":"ParameterList","parameters":[],"src":"8562:2:19"},"returnParameters":{"id":29303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29302,"mutability":"mutable","name":"gaslimit","nameLocation":"8594:8:19","nodeType":"VariableDeclaration","scope":29310,"src":"8586:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29301,"name":"uint256","nodeType":"ElementaryTypeName","src":"8586:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8585:18:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29322,"nodeType":"FunctionDefinition","src":"8696:120:19","nodes":[],"body":{"id":29321,"nodeType":"Block","src":"8772:44:19","nodes":[],"statements":[{"expression":{"id":29319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29316,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29314,"src":"8782:9:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29317,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8794:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"8794:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8782:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29320,"nodeType":"ExpressionStatement","src":"8782:27:19"}]},"documentation":{"id":29311,"nodeType":"StructuredDocumentation","src":"8652:39:19","text":"@notice Returns the block timestamp"},"functionSelector":"0f28c97d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"8705:24:19","parameters":{"id":29312,"nodeType":"ParameterList","parameters":[],"src":"8729:2:19"},"returnParameters":{"id":29315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29314,"mutability":"mutable","name":"timestamp","nameLocation":"8761:9:19","nodeType":"VariableDeclaration","scope":29322,"src":"8753:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29313,"name":"uint256","nodeType":"ElementaryTypeName","src":"8753:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8752:19:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29336,"nodeType":"FunctionDefinition","src":"8883:114:19","nodes":[],"body":{"id":29335,"nodeType":"Block","src":"8958:39:19","nodes":[],"statements":[{"expression":{"id":29333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29330,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29328,"src":"8968:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29331,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29325,"src":"8978:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"8978:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8968:22:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29334,"nodeType":"ExpressionStatement","src":"8968:22:19"}]},"documentation":{"id":29323,"nodeType":"StructuredDocumentation","src":"8822:56:19","text":"@notice Returns the (ETH) balance of a given address"},"functionSelector":"4d2301cc","implemented":true,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"8892:13:19","parameters":{"id":29326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29325,"mutability":"mutable","name":"addr","nameLocation":"8914:4:19","nodeType":"VariableDeclaration","scope":29336,"src":"8906:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29324,"name":"address","nodeType":"ElementaryTypeName","src":"8906:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8905:14:19"},"returnParameters":{"id":29329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29328,"mutability":"mutable","name":"balance","nameLocation":"8949:7:19","nodeType":"VariableDeclaration","scope":29336,"src":"8941:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29327,"name":"uint256","nodeType":"ElementaryTypeName","src":"8941:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8940:17:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29353,"nodeType":"FunctionDefinition","src":"9060:158:19","nodes":[],"body":{"id":29352,"nodeType":"Block","src":"9128:90:19","nodes":[],"statements":[{"id":29351,"nodeType":"UncheckedBlock","src":"9138:74:19","statements":[{"expression":{"id":29349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29342,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29340,"src":"9162:9:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":29344,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9184:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9184:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":29346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9199:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9184:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29343,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"9174:9:19","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9174:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9162:39:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29350,"nodeType":"ExpressionStatement","src":"9162:39:19"}]}]},"documentation":{"id":29337,"nodeType":"StructuredDocumentation","src":"9003:52:19","text":"@notice Returns the block hash of the last block"},"functionSelector":"27e86d6e","implemented":true,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"9069:16:19","parameters":{"id":29338,"nodeType":"ParameterList","parameters":[],"src":"9085:2:19"},"returnParameters":{"id":29341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29340,"mutability":"mutable","name":"blockHash","nameLocation":"9117:9:19","nodeType":"VariableDeclaration","scope":29353,"src":"9109:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9109:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9108:19:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29365,"nodeType":"FunctionDefinition","src":"9364:100:19","nodes":[],"body":{"id":29364,"nodeType":"Block","src":"9424:40:19","nodes":[],"statements":[{"expression":{"id":29362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29359,"name":"basefee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29357,"src":"9434:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29360,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9444:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","src":"9444:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9434:23:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29363,"nodeType":"ExpressionStatement","src":"9434:23:19"}]},"documentation":{"id":29354,"nodeType":"StructuredDocumentation","src":"9224:135:19","text":"@notice Gets the base fee of the given block\n @notice Can revert if the BASEFEE opcode is not implemented by the given chain"},"functionSelector":"3e64a696","implemented":true,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"9373:10:19","parameters":{"id":29355,"nodeType":"ParameterList","parameters":[],"src":"9383:2:19"},"returnParameters":{"id":29358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29357,"mutability":"mutable","name":"basefee","nameLocation":"9415:7:19","nodeType":"VariableDeclaration","scope":29365,"src":"9407:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29356,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9406:17:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29377,"nodeType":"FunctionDefinition","src":"9507:100:19","nodes":[],"body":{"id":29376,"nodeType":"Block","src":"9567:40:19","nodes":[],"statements":[{"expression":{"id":29374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29371,"name":"chainid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29369,"src":"9577:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29372,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9587:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"9587:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9577:23:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29375,"nodeType":"ExpressionStatement","src":"9577:23:19"}]},"documentation":{"id":29366,"nodeType":"StructuredDocumentation","src":"9470:32:19","text":"@notice Returns the chain id"},"functionSelector":"3408e470","implemented":true,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"9516:10:19","parameters":{"id":29367,"nodeType":"ParameterList","parameters":[],"src":"9526:2:19"},"returnParameters":{"id":29370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29369,"mutability":"mutable","name":"chainid","nameLocation":"9558:7:19","nodeType":"VariableDeclaration","scope":29377,"src":"9550:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29368,"name":"uint256","nodeType":"ElementaryTypeName","src":"9550:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9549:17:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"Multicall3","contractDependencies":[],"contractKind":"contract","documentation":{"id":28832,"nodeType":"StructuredDocumentation","src":"57:445:19","text":"@title Multicall3\n @notice Aggregate results from multiple function calls\n @dev Multicall & Multicall2 backwards-compatible\n @dev Aggregate methods are marked `payable` to save 24 gas per call\n @author Michael Elliot \n @author Joshua Levine \n @author Nick Johnson \n @author Andreas Bigger \n @author Matt Solomon "},"fullyImplemented":true,"linearizedBaseContracts":[29378],"name":"Multicall3","nameLocation":"511:10:19","scope":29379,"usedErrors":[]}],"license":"MIT"}},"src/interfaces/IMulticall.sol":{"id":20,"ast":{"absolutePath":"src/interfaces/IMulticall.sol","id":29439,"exportedSymbols":{"IMulticall":[29438]},"nodeType":"SourceUnit","src":"32:883:20","nodes":[{"id":29380,"nodeType":"PragmaDirective","src":"32:31:20","nodes":[],"literals":["solidity",">=","0.5",".0","<","0.9",".0"]},{"id":29381,"nodeType":"PragmaDirective","src":"65:33:20","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":29438,"nodeType":"ContractDefinition","src":"100:814:20","nodes":[{"id":29386,"nodeType":"StructDefinition","src":"127:67:20","nodes":[],"canonicalName":"IMulticall.Call","members":[{"constant":false,"id":29383,"mutability":"mutable","name":"target","nameLocation":"157:6:20","nodeType":"VariableDeclaration","scope":29386,"src":"149:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29382,"name":"address","nodeType":"ElementaryTypeName","src":"149:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29385,"mutability":"mutable","name":"callData","nameLocation":"179:8:20","nodeType":"VariableDeclaration","scope":29386,"src":"173:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29384,"name":"bytes","nodeType":"ElementaryTypeName","src":"173:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"134:4:20","scope":29438,"visibility":"public"},{"id":29398,"nodeType":"FunctionDefinition","src":"200:124:20","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"209:9:20","parameters":{"id":29391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29390,"mutability":"mutable","name":"calls","nameLocation":"235:5:20","nodeType":"VariableDeclaration","scope":29398,"src":"219:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29386_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall.Call[]"},"typeName":{"baseType":{"id":29388,"nodeType":"UserDefinedTypeName","pathNode":{"id":29387,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29386,"src":"219:4:20"},"referencedDeclaration":29386,"src":"219:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29386_storage_ptr","typeString":"struct IMulticall.Call"}},"id":29389,"nodeType":"ArrayTypeName","src":"219:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29386_storage_$dyn_storage_ptr","typeString":"struct IMulticall.Call[]"}},"visibility":"internal"}],"src":"218:23:20"},"returnParameters":{"id":29397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29393,"mutability":"mutable","name":"blockNumber","nameLocation":"284:11:20","nodeType":"VariableDeclaration","scope":29398,"src":"276:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29392,"name":"uint256","nodeType":"ElementaryTypeName","src":"276:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29396,"mutability":"mutable","name":"returnData","nameLocation":"312:10:20","nodeType":"VariableDeclaration","scope":29398,"src":"297:25:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":29394,"name":"bytes","nodeType":"ElementaryTypeName","src":"297:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":29395,"nodeType":"ArrayTypeName","src":"297:7:20","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"275:48:20"},"scope":29438,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":29405,"nodeType":"FunctionDefinition","src":"330:85:20","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"339:12:20","parameters":{"id":29401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29400,"mutability":"mutable","name":"blockNumber","nameLocation":"360:11:20","nodeType":"VariableDeclaration","scope":29405,"src":"352:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29399,"name":"uint256","nodeType":"ElementaryTypeName","src":"352:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"351:21:20"},"returnParameters":{"id":29404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29403,"mutability":"mutable","name":"blockHash","nameLocation":"404:9:20","nodeType":"VariableDeclaration","scope":29405,"src":"396:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"395:19:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29410,"nodeType":"FunctionDefinition","src":"421:76:20","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"430:23:20","parameters":{"id":29406,"nodeType":"ParameterList","parameters":[],"src":"453:2:20"},"returnParameters":{"id":29409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29408,"mutability":"mutable","name":"coinbase","nameLocation":"487:8:20","nodeType":"VariableDeclaration","scope":29410,"src":"479:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29407,"name":"address","nodeType":"ElementaryTypeName","src":"479:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"478:18:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29415,"nodeType":"FunctionDefinition","src":"503:80:20","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"512:25:20","parameters":{"id":29411,"nodeType":"ParameterList","parameters":[],"src":"537:2:20"},"returnParameters":{"id":29414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29413,"mutability":"mutable","name":"difficulty","nameLocation":"571:10:20","nodeType":"VariableDeclaration","scope":29415,"src":"563:18:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29412,"name":"uint256","nodeType":"ElementaryTypeName","src":"563:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"562:20:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29420,"nodeType":"FunctionDefinition","src":"589:76:20","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"598:23:20","parameters":{"id":29416,"nodeType":"ParameterList","parameters":[],"src":"621:2:20"},"returnParameters":{"id":29419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29418,"mutability":"mutable","name":"gaslimit","nameLocation":"655:8:20","nodeType":"VariableDeclaration","scope":29420,"src":"647:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29417,"name":"uint256","nodeType":"ElementaryTypeName","src":"647:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"646:18:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29425,"nodeType":"FunctionDefinition","src":"671:78:20","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"680:24:20","parameters":{"id":29421,"nodeType":"ParameterList","parameters":[],"src":"704:2:20"},"returnParameters":{"id":29424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29423,"mutability":"mutable","name":"timestamp","nameLocation":"738:9:20","nodeType":"VariableDeclaration","scope":29425,"src":"730:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29422,"name":"uint256","nodeType":"ElementaryTypeName","src":"730:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"729:19:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29432,"nodeType":"FunctionDefinition","src":"755:77:20","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"764:13:20","parameters":{"id":29428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29427,"mutability":"mutable","name":"addr","nameLocation":"786:4:20","nodeType":"VariableDeclaration","scope":29432,"src":"778:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29426,"name":"address","nodeType":"ElementaryTypeName","src":"778:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"777:14:20"},"returnParameters":{"id":29431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29430,"mutability":"mutable","name":"balance","nameLocation":"823:7:20","nodeType":"VariableDeclaration","scope":29432,"src":"815:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29429,"name":"uint256","nodeType":"ElementaryTypeName","src":"815:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"814:17:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29437,"nodeType":"FunctionDefinition","src":"842:70:20","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"851:16:20","parameters":{"id":29433,"nodeType":"ParameterList","parameters":[],"src":"867:2:20"},"returnParameters":{"id":29436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29435,"mutability":"mutable","name":"blockHash","nameLocation":"901:9:20","nodeType":"VariableDeclaration","scope":29437,"src":"893:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"893:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"892:19:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[29438],"name":"IMulticall","nameLocation":"110:10:20","scope":29439,"usedErrors":[]}],"license":"MIT"}},"src/interfaces/IMulticall2.sol":{"id":21,"ast":{"absolutePath":"src/interfaces/IMulticall2.sol","id":29554,"exportedSymbols":{"IMulticall2":[29553]},"nodeType":"SourceUnit","src":"32:1478:21","nodes":[{"id":29440,"nodeType":"PragmaDirective","src":"32:31:21","nodes":[],"literals":["solidity",">=","0.5",".0","<","0.9",".0"]},{"id":29441,"nodeType":"PragmaDirective","src":"65:33:21","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":29553,"nodeType":"ContractDefinition","src":"100:1408:21","nodes":[{"id":29446,"nodeType":"StructDefinition","src":"128:67:21","nodes":[],"canonicalName":"IMulticall2.Call","members":[{"constant":false,"id":29443,"mutability":"mutable","name":"target","nameLocation":"158:6:21","nodeType":"VariableDeclaration","scope":29446,"src":"150:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29442,"name":"address","nodeType":"ElementaryTypeName","src":"150:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29445,"mutability":"mutable","name":"callData","nameLocation":"180:8:21","nodeType":"VariableDeclaration","scope":29446,"src":"174:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29444,"name":"bytes","nodeType":"ElementaryTypeName","src":"174:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"135:4:21","scope":29553,"visibility":"public"},{"id":29451,"nodeType":"StructDefinition","src":"201:69:21","nodes":[],"canonicalName":"IMulticall2.Result","members":[{"constant":false,"id":29448,"mutability":"mutable","name":"success","nameLocation":"230:7:21","nodeType":"VariableDeclaration","scope":29451,"src":"225:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29447,"name":"bool","nodeType":"ElementaryTypeName","src":"225:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29450,"mutability":"mutable","name":"returnData","nameLocation":"253:10:21","nodeType":"VariableDeclaration","scope":29451,"src":"247:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29449,"name":"bytes","nodeType":"ElementaryTypeName","src":"247:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"208:6:21","scope":29553,"visibility":"public"},{"id":29463,"nodeType":"FunctionDefinition","src":"276:108:21","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"285:9:21","parameters":{"id":29456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29455,"mutability":"mutable","name":"calls","nameLocation":"311:5:21","nodeType":"VariableDeclaration","scope":29463,"src":"295:21:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall2.Call[]"},"typeName":{"baseType":{"id":29453,"nodeType":"UserDefinedTypeName","pathNode":{"id":29452,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29446,"src":"295:4:21"},"referencedDeclaration":29446,"src":"295:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29446_storage_ptr","typeString":"struct IMulticall2.Call"}},"id":29454,"nodeType":"ArrayTypeName","src":"295:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Call[]"}},"visibility":"internal"}],"src":"294:23:21"},"returnParameters":{"id":29462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29458,"mutability":"mutable","name":"blockNumber","nameLocation":"344:11:21","nodeType":"VariableDeclaration","scope":29463,"src":"336:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29457,"name":"uint256","nodeType":"ElementaryTypeName","src":"336:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29461,"mutability":"mutable","name":"returnData","nameLocation":"372:10:21","nodeType":"VariableDeclaration","scope":29463,"src":"357:25:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":29459,"name":"bytes","nodeType":"ElementaryTypeName","src":"357:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":29460,"nodeType":"ArrayTypeName","src":"357:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"335:48:21"},"scope":29553,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":29478,"nodeType":"FunctionDefinition","src":"390:152:21","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"399:17:21","parameters":{"id":29468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29467,"mutability":"mutable","name":"calls","nameLocation":"433:5:21","nodeType":"VariableDeclaration","scope":29478,"src":"417:21:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall2.Call[]"},"typeName":{"baseType":{"id":29465,"nodeType":"UserDefinedTypeName","pathNode":{"id":29464,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29446,"src":"417:4:21"},"referencedDeclaration":29446,"src":"417:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29446_storage_ptr","typeString":"struct IMulticall2.Call"}},"id":29466,"nodeType":"ArrayTypeName","src":"417:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Call[]"}},"visibility":"internal"}],"src":"416:23:21"},"returnParameters":{"id":29477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29470,"mutability":"mutable","name":"blockNumber","nameLocation":"482:11:21","nodeType":"VariableDeclaration","scope":29478,"src":"474:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29469,"name":"uint256","nodeType":"ElementaryTypeName","src":"474:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29472,"mutability":"mutable","name":"blockHash","nameLocation":"503:9:21","nodeType":"VariableDeclaration","scope":29478,"src":"495:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"495:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29476,"mutability":"mutable","name":"returnData","nameLocation":"530:10:21","nodeType":"VariableDeclaration","scope":29478,"src":"514:26:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall2.Result[]"},"typeName":{"baseType":{"id":29474,"nodeType":"UserDefinedTypeName","pathNode":{"id":29473,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29451,"src":"514:6:21"},"referencedDeclaration":29451,"src":"514:6:21","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29451_storage_ptr","typeString":"struct IMulticall2.Result"}},"id":29475,"nodeType":"ArrayTypeName","src":"514:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Result[]"}},"visibility":"internal"}],"src":"473:68:21"},"scope":29553,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":29485,"nodeType":"FunctionDefinition","src":"548:85:21","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"557:12:21","parameters":{"id":29481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29480,"mutability":"mutable","name":"blockNumber","nameLocation":"578:11:21","nodeType":"VariableDeclaration","scope":29485,"src":"570:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29479,"name":"uint256","nodeType":"ElementaryTypeName","src":"570:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"569:21:21"},"returnParameters":{"id":29484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29483,"mutability":"mutable","name":"blockHash","nameLocation":"622:9:21","nodeType":"VariableDeclaration","scope":29485,"src":"614:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"614:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"613:19:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29490,"nodeType":"FunctionDefinition","src":"639:70:21","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"648:14:21","parameters":{"id":29486,"nodeType":"ParameterList","parameters":[],"src":"662:2:21"},"returnParameters":{"id":29489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29488,"mutability":"mutable","name":"blockNumber","nameLocation":"696:11:21","nodeType":"VariableDeclaration","scope":29490,"src":"688:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29487,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"687:21:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29495,"nodeType":"FunctionDefinition","src":"715:76:21","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"724:23:21","parameters":{"id":29491,"nodeType":"ParameterList","parameters":[],"src":"747:2:21"},"returnParameters":{"id":29494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29493,"mutability":"mutable","name":"coinbase","nameLocation":"781:8:21","nodeType":"VariableDeclaration","scope":29495,"src":"773:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29492,"name":"address","nodeType":"ElementaryTypeName","src":"773:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"772:18:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29500,"nodeType":"FunctionDefinition","src":"797:80:21","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"806:25:21","parameters":{"id":29496,"nodeType":"ParameterList","parameters":[],"src":"831:2:21"},"returnParameters":{"id":29499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29498,"mutability":"mutable","name":"difficulty","nameLocation":"865:10:21","nodeType":"VariableDeclaration","scope":29500,"src":"857:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29497,"name":"uint256","nodeType":"ElementaryTypeName","src":"857:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"856:20:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29505,"nodeType":"FunctionDefinition","src":"883:76:21","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"892:23:21","parameters":{"id":29501,"nodeType":"ParameterList","parameters":[],"src":"915:2:21"},"returnParameters":{"id":29504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29503,"mutability":"mutable","name":"gaslimit","nameLocation":"949:8:21","nodeType":"VariableDeclaration","scope":29505,"src":"941:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29502,"name":"uint256","nodeType":"ElementaryTypeName","src":"941:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"940:18:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29510,"nodeType":"FunctionDefinition","src":"965:78:21","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"974:24:21","parameters":{"id":29506,"nodeType":"ParameterList","parameters":[],"src":"998:2:21"},"returnParameters":{"id":29509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29508,"mutability":"mutable","name":"timestamp","nameLocation":"1032:9:21","nodeType":"VariableDeclaration","scope":29510,"src":"1024:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29507,"name":"uint256","nodeType":"ElementaryTypeName","src":"1024:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1023:19:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29517,"nodeType":"FunctionDefinition","src":"1049:77:21","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1058:13:21","parameters":{"id":29513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29512,"mutability":"mutable","name":"addr","nameLocation":"1080:4:21","nodeType":"VariableDeclaration","scope":29517,"src":"1072:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29511,"name":"address","nodeType":"ElementaryTypeName","src":"1072:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1071:14:21"},"returnParameters":{"id":29516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29515,"mutability":"mutable","name":"balance","nameLocation":"1117:7:21","nodeType":"VariableDeclaration","scope":29517,"src":"1109:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29514,"name":"uint256","nodeType":"ElementaryTypeName","src":"1109:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1108:17:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29522,"nodeType":"FunctionDefinition","src":"1132:70:21","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1141:16:21","parameters":{"id":29518,"nodeType":"ParameterList","parameters":[],"src":"1157:2:21"},"returnParameters":{"id":29521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29520,"mutability":"mutable","name":"blockHash","nameLocation":"1191:9:21","nodeType":"VariableDeclaration","scope":29522,"src":"1183:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1183:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1182:19:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29535,"nodeType":"FunctionDefinition","src":"1208:112:21","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1217:12:21","parameters":{"id":29529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29524,"mutability":"mutable","name":"requireSuccess","nameLocation":"1235:14:21","nodeType":"VariableDeclaration","scope":29535,"src":"1230:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29523,"name":"bool","nodeType":"ElementaryTypeName","src":"1230:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29528,"mutability":"mutable","name":"calls","nameLocation":"1267:5:21","nodeType":"VariableDeclaration","scope":29535,"src":"1251:21:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall2.Call[]"},"typeName":{"baseType":{"id":29526,"nodeType":"UserDefinedTypeName","pathNode":{"id":29525,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29446,"src":"1251:4:21"},"referencedDeclaration":29446,"src":"1251:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29446_storage_ptr","typeString":"struct IMulticall2.Call"}},"id":29527,"nodeType":"ArrayTypeName","src":"1251:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Call[]"}},"visibility":"internal"}],"src":"1229:44:21"},"returnParameters":{"id":29534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29533,"mutability":"mutable","name":"returnData","nameLocation":"1308:10:21","nodeType":"VariableDeclaration","scope":29535,"src":"1292:26:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall2.Result[]"},"typeName":{"baseType":{"id":29531,"nodeType":"UserDefinedTypeName","pathNode":{"id":29530,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29451,"src":"1292:6:21"},"referencedDeclaration":29451,"src":"1292:6:21","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29451_storage_ptr","typeString":"struct IMulticall2.Result"}},"id":29532,"nodeType":"ArrayTypeName","src":"1292:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Result[]"}},"visibility":"internal"}],"src":"1291:28:21"},"scope":29553,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":29552,"nodeType":"FunctionDefinition","src":"1330:176:21","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1339:20:21","parameters":{"id":29542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29537,"mutability":"mutable","name":"requireSuccess","nameLocation":"1365:14:21","nodeType":"VariableDeclaration","scope":29552,"src":"1360:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29536,"name":"bool","nodeType":"ElementaryTypeName","src":"1360:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29541,"mutability":"mutable","name":"calls","nameLocation":"1397:5:21","nodeType":"VariableDeclaration","scope":29552,"src":"1381:21:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall2.Call[]"},"typeName":{"baseType":{"id":29539,"nodeType":"UserDefinedTypeName","pathNode":{"id":29538,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29446,"src":"1381:4:21"},"referencedDeclaration":29446,"src":"1381:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29446_storage_ptr","typeString":"struct IMulticall2.Call"}},"id":29540,"nodeType":"ArrayTypeName","src":"1381:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Call[]"}},"visibility":"internal"}],"src":"1359:44:21"},"returnParameters":{"id":29551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29544,"mutability":"mutable","name":"blockNumber","nameLocation":"1446:11:21","nodeType":"VariableDeclaration","scope":29552,"src":"1438:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29543,"name":"uint256","nodeType":"ElementaryTypeName","src":"1438:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29546,"mutability":"mutable","name":"blockHash","nameLocation":"1467:9:21","nodeType":"VariableDeclaration","scope":29552,"src":"1459:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1459:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29550,"mutability":"mutable","name":"returnData","nameLocation":"1494:10:21","nodeType":"VariableDeclaration","scope":29552,"src":"1478:26:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall2.Result[]"},"typeName":{"baseType":{"id":29548,"nodeType":"UserDefinedTypeName","pathNode":{"id":29547,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29451,"src":"1478:6:21"},"referencedDeclaration":29451,"src":"1478:6:21","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29451_storage_ptr","typeString":"struct IMulticall2.Result"}},"id":29549,"nodeType":"ArrayTypeName","src":"1478:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Result[]"}},"visibility":"internal"}],"src":"1437:68:21"},"scope":29553,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall2","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[29553],"name":"IMulticall2","nameLocation":"110:11:21","scope":29554,"usedErrors":[]}],"license":"MIT"}},"src/interfaces/IMulticall3.sol":{"id":22,"ast":{"absolutePath":"src/interfaces/IMulticall3.sol","id":29716,"exportedSymbols":{"IMulticall3":[29715]},"nodeType":"SourceUnit","src":"32:2081:22","nodes":[{"id":29555,"nodeType":"PragmaDirective","src":"32:32:22","nodes":[],"literals":["solidity",">=","0.8",".12","<","0.9",".0"]},{"id":29715,"nodeType":"ContractDefinition","src":"66:2046:22","nodes":[{"id":29560,"nodeType":"StructDefinition","src":"94:67:22","nodes":[],"canonicalName":"IMulticall3.Call","members":[{"constant":false,"id":29557,"mutability":"mutable","name":"target","nameLocation":"124:6:22","nodeType":"VariableDeclaration","scope":29560,"src":"116:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29556,"name":"address","nodeType":"ElementaryTypeName","src":"116:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29559,"mutability":"mutable","name":"callData","nameLocation":"146:8:22","nodeType":"VariableDeclaration","scope":29560,"src":"140:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29558,"name":"bytes","nodeType":"ElementaryTypeName","src":"140:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"101:4:22","scope":29715,"visibility":"public"},{"id":29567,"nodeType":"StructDefinition","src":"167:95:22","nodes":[],"canonicalName":"IMulticall3.Call3","members":[{"constant":false,"id":29562,"mutability":"mutable","name":"target","nameLocation":"198:6:22","nodeType":"VariableDeclaration","scope":29567,"src":"190:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29561,"name":"address","nodeType":"ElementaryTypeName","src":"190:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29564,"mutability":"mutable","name":"allowFailure","nameLocation":"219:12:22","nodeType":"VariableDeclaration","scope":29567,"src":"214:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29563,"name":"bool","nodeType":"ElementaryTypeName","src":"214:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29566,"mutability":"mutable","name":"callData","nameLocation":"247:8:22","nodeType":"VariableDeclaration","scope":29567,"src":"241:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29565,"name":"bytes","nodeType":"ElementaryTypeName","src":"241:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"174:5:22","scope":29715,"visibility":"public"},{"id":29576,"nodeType":"StructDefinition","src":"268:123:22","nodes":[],"canonicalName":"IMulticall3.Call3Value","members":[{"constant":false,"id":29569,"mutability":"mutable","name":"target","nameLocation":"304:6:22","nodeType":"VariableDeclaration","scope":29576,"src":"296:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29568,"name":"address","nodeType":"ElementaryTypeName","src":"296:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29571,"mutability":"mutable","name":"allowFailure","nameLocation":"325:12:22","nodeType":"VariableDeclaration","scope":29576,"src":"320:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29570,"name":"bool","nodeType":"ElementaryTypeName","src":"320:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29573,"mutability":"mutable","name":"value","nameLocation":"355:5:22","nodeType":"VariableDeclaration","scope":29576,"src":"347:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29572,"name":"uint256","nodeType":"ElementaryTypeName","src":"347:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29575,"mutability":"mutable","name":"callData","nameLocation":"376:8:22","nodeType":"VariableDeclaration","scope":29576,"src":"370:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29574,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"275:10:22","scope":29715,"visibility":"public"},{"id":29581,"nodeType":"StructDefinition","src":"397:69:22","nodes":[],"canonicalName":"IMulticall3.Result","members":[{"constant":false,"id":29578,"mutability":"mutable","name":"success","nameLocation":"426:7:22","nodeType":"VariableDeclaration","scope":29581,"src":"421:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29577,"name":"bool","nodeType":"ElementaryTypeName","src":"421:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29580,"mutability":"mutable","name":"returnData","nameLocation":"449:10:22","nodeType":"VariableDeclaration","scope":29581,"src":"443:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29579,"name":"bytes","nodeType":"ElementaryTypeName","src":"443:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"404:6:22","scope":29715,"visibility":"public"},{"id":29593,"nodeType":"FunctionDefinition","src":"472:116:22","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"481:9:22","parameters":{"id":29586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29585,"mutability":"mutable","name":"calls","nameLocation":"507:5:22","nodeType":"VariableDeclaration","scope":29593,"src":"491:21:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":29583,"nodeType":"UserDefinedTypeName","pathNode":{"id":29582,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29560,"src":"491:4:22"},"referencedDeclaration":29560,"src":"491:4:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29560_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":29584,"nodeType":"ArrayTypeName","src":"491:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"490:23:22"},"returnParameters":{"id":29592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29588,"mutability":"mutable","name":"blockNumber","nameLocation":"548:11:22","nodeType":"VariableDeclaration","scope":29593,"src":"540:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29587,"name":"uint256","nodeType":"ElementaryTypeName","src":"540:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29591,"mutability":"mutable","name":"returnData","nameLocation":"576:10:22","nodeType":"VariableDeclaration","scope":29593,"src":"561:25:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":29589,"name":"bytes","nodeType":"ElementaryTypeName","src":"561:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":29590,"nodeType":"ArrayTypeName","src":"561:7:22","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"539:48:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29604,"nodeType":"FunctionDefinition","src":"594:98:22","nodes":[],"functionSelector":"82ad56cb","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"603:10:22","parameters":{"id":29598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29597,"mutability":"mutable","name":"calls","nameLocation":"631:5:22","nodeType":"VariableDeclaration","scope":29604,"src":"614:22:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$29567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":29595,"nodeType":"UserDefinedTypeName","pathNode":{"id":29594,"name":"Call3","nodeType":"IdentifierPath","referencedDeclaration":29567,"src":"614:5:22"},"referencedDeclaration":29567,"src":"614:5:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$29567_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":29596,"nodeType":"ArrayTypeName","src":"614:7:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$29567_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"613:24:22"},"returnParameters":{"id":29603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29602,"mutability":"mutable","name":"returnData","nameLocation":"680:10:22","nodeType":"VariableDeclaration","scope":29604,"src":"664:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29600,"nodeType":"UserDefinedTypeName","pathNode":{"id":29599,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"664:6:22"},"referencedDeclaration":29581,"src":"664:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29601,"nodeType":"ArrayTypeName","src":"664:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"663:28:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29615,"nodeType":"FunctionDefinition","src":"698:108:22","nodes":[],"functionSelector":"174dea71","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"707:15:22","parameters":{"id":29609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29608,"mutability":"mutable","name":"calls","nameLocation":"745:5:22","nodeType":"VariableDeclaration","scope":29615,"src":"723:27:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$29576_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":29606,"nodeType":"UserDefinedTypeName","pathNode":{"id":29605,"name":"Call3Value","nodeType":"IdentifierPath","referencedDeclaration":29576,"src":"723:10:22"},"referencedDeclaration":29576,"src":"723:10:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$29576_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":29607,"nodeType":"ArrayTypeName","src":"723:12:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$29576_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"722:29:22"},"returnParameters":{"id":29614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29613,"mutability":"mutable","name":"returnData","nameLocation":"794:10:22","nodeType":"VariableDeclaration","scope":29615,"src":"778:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29611,"nodeType":"UserDefinedTypeName","pathNode":{"id":29610,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"778:6:22"},"referencedDeclaration":29581,"src":"778:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29612,"nodeType":"ArrayTypeName","src":"778:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"777:28:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29630,"nodeType":"FunctionDefinition","src":"812:158:22","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"821:17:22","parameters":{"id":29620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29619,"mutability":"mutable","name":"calls","nameLocation":"864:5:22","nodeType":"VariableDeclaration","scope":29630,"src":"848:21:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":29617,"nodeType":"UserDefinedTypeName","pathNode":{"id":29616,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29560,"src":"848:4:22"},"referencedDeclaration":29560,"src":"848:4:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29560_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":29618,"nodeType":"ArrayTypeName","src":"848:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"838:37:22"},"returnParameters":{"id":29629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29622,"mutability":"mutable","name":"blockNumber","nameLocation":"910:11:22","nodeType":"VariableDeclaration","scope":29630,"src":"902:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29621,"name":"uint256","nodeType":"ElementaryTypeName","src":"902:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29624,"mutability":"mutable","name":"blockHash","nameLocation":"931:9:22","nodeType":"VariableDeclaration","scope":29630,"src":"923:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"923:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29628,"mutability":"mutable","name":"returnData","nameLocation":"958:10:22","nodeType":"VariableDeclaration","scope":29630,"src":"942:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29626,"nodeType":"UserDefinedTypeName","pathNode":{"id":29625,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"942:6:22"},"referencedDeclaration":29581,"src":"942:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29627,"nodeType":"ArrayTypeName","src":"942:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"901:68:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29635,"nodeType":"FunctionDefinition","src":"976:62:22","nodes":[],"functionSelector":"3e64a696","implemented":false,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"985:10:22","parameters":{"id":29631,"nodeType":"ParameterList","parameters":[],"src":"995:2:22"},"returnParameters":{"id":29634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29633,"mutability":"mutable","name":"basefee","nameLocation":"1029:7:22","nodeType":"VariableDeclaration","scope":29635,"src":"1021:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29632,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:17:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29642,"nodeType":"FunctionDefinition","src":"1044:85:22","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1053:12:22","parameters":{"id":29638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29637,"mutability":"mutable","name":"blockNumber","nameLocation":"1074:11:22","nodeType":"VariableDeclaration","scope":29642,"src":"1066:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29636,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:21:22"},"returnParameters":{"id":29641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29640,"mutability":"mutable","name":"blockHash","nameLocation":"1118:9:22","nodeType":"VariableDeclaration","scope":29642,"src":"1110:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1110:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1109:19:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29647,"nodeType":"FunctionDefinition","src":"1135:70:22","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"1144:14:22","parameters":{"id":29643,"nodeType":"ParameterList","parameters":[],"src":"1158:2:22"},"returnParameters":{"id":29646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29645,"mutability":"mutable","name":"blockNumber","nameLocation":"1192:11:22","nodeType":"VariableDeclaration","scope":29647,"src":"1184:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29644,"name":"uint256","nodeType":"ElementaryTypeName","src":"1184:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1183:21:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29652,"nodeType":"FunctionDefinition","src":"1211:62:22","nodes":[],"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"1220:10:22","parameters":{"id":29648,"nodeType":"ParameterList","parameters":[],"src":"1230:2:22"},"returnParameters":{"id":29651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29650,"mutability":"mutable","name":"chainid","nameLocation":"1264:7:22","nodeType":"VariableDeclaration","scope":29652,"src":"1256:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29649,"name":"uint256","nodeType":"ElementaryTypeName","src":"1256:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1255:17:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29657,"nodeType":"FunctionDefinition","src":"1279:76:22","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1288:23:22","parameters":{"id":29653,"nodeType":"ParameterList","parameters":[],"src":"1311:2:22"},"returnParameters":{"id":29656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29655,"mutability":"mutable","name":"coinbase","nameLocation":"1345:8:22","nodeType":"VariableDeclaration","scope":29657,"src":"1337:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29654,"name":"address","nodeType":"ElementaryTypeName","src":"1337:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1336:18:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29662,"nodeType":"FunctionDefinition","src":"1361:80:22","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1370:25:22","parameters":{"id":29658,"nodeType":"ParameterList","parameters":[],"src":"1395:2:22"},"returnParameters":{"id":29661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29660,"mutability":"mutable","name":"difficulty","nameLocation":"1429:10:22","nodeType":"VariableDeclaration","scope":29662,"src":"1421:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29659,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1420:20:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29667,"nodeType":"FunctionDefinition","src":"1447:76:22","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1456:23:22","parameters":{"id":29663,"nodeType":"ParameterList","parameters":[],"src":"1479:2:22"},"returnParameters":{"id":29666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29665,"mutability":"mutable","name":"gaslimit","nameLocation":"1513:8:22","nodeType":"VariableDeclaration","scope":29667,"src":"1505:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29664,"name":"uint256","nodeType":"ElementaryTypeName","src":"1505:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1504:18:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29672,"nodeType":"FunctionDefinition","src":"1529:78:22","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1538:24:22","parameters":{"id":29668,"nodeType":"ParameterList","parameters":[],"src":"1562:2:22"},"returnParameters":{"id":29671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29670,"mutability":"mutable","name":"timestamp","nameLocation":"1596:9:22","nodeType":"VariableDeclaration","scope":29672,"src":"1588:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29669,"name":"uint256","nodeType":"ElementaryTypeName","src":"1588:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1587:19:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29679,"nodeType":"FunctionDefinition","src":"1613:77:22","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1622:13:22","parameters":{"id":29675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29674,"mutability":"mutable","name":"addr","nameLocation":"1644:4:22","nodeType":"VariableDeclaration","scope":29679,"src":"1636:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29673,"name":"address","nodeType":"ElementaryTypeName","src":"1636:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1635:14:22"},"returnParameters":{"id":29678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29677,"mutability":"mutable","name":"balance","nameLocation":"1681:7:22","nodeType":"VariableDeclaration","scope":29679,"src":"1673:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29676,"name":"uint256","nodeType":"ElementaryTypeName","src":"1673:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1672:17:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29684,"nodeType":"FunctionDefinition","src":"1696:70:22","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1705:16:22","parameters":{"id":29680,"nodeType":"ParameterList","parameters":[],"src":"1721:2:22"},"returnParameters":{"id":29683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29682,"mutability":"mutable","name":"blockHash","nameLocation":"1755:9:22","nodeType":"VariableDeclaration","scope":29684,"src":"1747:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1747:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1746:19:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29697,"nodeType":"FunctionDefinition","src":"1772:142:22","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1781:12:22","parameters":{"id":29691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29686,"mutability":"mutable","name":"requireSuccess","nameLocation":"1808:14:22","nodeType":"VariableDeclaration","scope":29697,"src":"1803:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29685,"name":"bool","nodeType":"ElementaryTypeName","src":"1803:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29690,"mutability":"mutable","name":"calls","nameLocation":"1848:5:22","nodeType":"VariableDeclaration","scope":29697,"src":"1832:21:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":29688,"nodeType":"UserDefinedTypeName","pathNode":{"id":29687,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29560,"src":"1832:4:22"},"referencedDeclaration":29560,"src":"1832:4:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29560_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":29689,"nodeType":"ArrayTypeName","src":"1832:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1793:66:22"},"returnParameters":{"id":29696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29695,"mutability":"mutable","name":"returnData","nameLocation":"1902:10:22","nodeType":"VariableDeclaration","scope":29697,"src":"1886:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29693,"nodeType":"UserDefinedTypeName","pathNode":{"id":29692,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"1886:6:22"},"referencedDeclaration":29581,"src":"1886:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29694,"nodeType":"ArrayTypeName","src":"1886:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1885:28:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29714,"nodeType":"FunctionDefinition","src":"1920:190:22","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1929:20:22","parameters":{"id":29704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29699,"mutability":"mutable","name":"requireSuccess","nameLocation":"1964:14:22","nodeType":"VariableDeclaration","scope":29714,"src":"1959:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29698,"name":"bool","nodeType":"ElementaryTypeName","src":"1959:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29703,"mutability":"mutable","name":"calls","nameLocation":"2004:5:22","nodeType":"VariableDeclaration","scope":29714,"src":"1988:21:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":29701,"nodeType":"UserDefinedTypeName","pathNode":{"id":29700,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29560,"src":"1988:4:22"},"referencedDeclaration":29560,"src":"1988:4:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29560_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":29702,"nodeType":"ArrayTypeName","src":"1988:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1949:66:22"},"returnParameters":{"id":29713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29706,"mutability":"mutable","name":"blockNumber","nameLocation":"2050:11:22","nodeType":"VariableDeclaration","scope":29714,"src":"2042:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29705,"name":"uint256","nodeType":"ElementaryTypeName","src":"2042:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29708,"mutability":"mutable","name":"blockHash","nameLocation":"2071:9:22","nodeType":"VariableDeclaration","scope":29714,"src":"2063:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2063:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29712,"mutability":"mutable","name":"returnData","nameLocation":"2098:10:22","nodeType":"VariableDeclaration","scope":29714,"src":"2082:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29710,"nodeType":"UserDefinedTypeName","pathNode":{"id":29709,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"2082:6:22"},"referencedDeclaration":29581,"src":"2082:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29711,"nodeType":"ArrayTypeName","src":"2082:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2041:68:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[29715],"name":"IMulticall3","nameLocation":"76:11:22","scope":29716,"usedErrors":[]}],"license":"MIT"}},"src/test/Multicall.t.sol":{"id":23,"ast":{"absolutePath":"src/test/Multicall.t.sol","id":29989,"exportedSymbols":{"MockCallee":[32115],"Multicall":[28520],"MulticallTest":[29988],"Test":[10725]},"nodeType":"SourceUnit","src":"32:2397:23","nodes":[{"id":29717,"nodeType":"PragmaDirective","src":"32:23:23","nodes":[],"literals":["solidity","0.8",".12"]},{"id":29719,"nodeType":"ImportDirective","src":"57:40:23","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":29989,"sourceUnit":10726,"symbolAliases":[{"foreign":{"id":29718,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10725,"src":"65:4:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Test_$10725_$","typeString":"type(contract Test)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29721,"nodeType":"ImportDirective","src":"98:43:23","nodes":[],"absolutePath":"src/Multicall.sol","file":"../Multicall.sol","nameLocation":"-1:-1:-1","scope":29989,"sourceUnit":28521,"symbolAliases":[{"foreign":{"id":29720,"name":"Multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28520,"src":"106:9:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall_$28520_$","typeString":"type(contract Multicall)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29723,"nodeType":"ImportDirective","src":"142:50:23","nodes":[],"absolutePath":"src/test/mocks/MockCallee.sol","file":"./mocks/MockCallee.sol","nameLocation":"-1:-1:-1","scope":29989,"sourceUnit":32116,"symbolAliases":[{"foreign":{"id":29722,"name":"MockCallee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32115,"src":"150:10:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockCallee_$32115_$","typeString":"type(contract MockCallee)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29988,"nodeType":"ContractDefinition","src":"194:2234:23","nodes":[{"id":29728,"nodeType":"VariableDeclaration","src":"229:19:23","nodes":[],"constant":false,"mutability":"mutable","name":"multicall","nameLocation":"239:9:23","scope":29988,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"},"typeName":{"id":29727,"nodeType":"UserDefinedTypeName","pathNode":{"id":29726,"name":"Multicall","nodeType":"IdentifierPath","referencedDeclaration":28520,"src":"229:9:23"},"referencedDeclaration":28520,"src":"229:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"visibility":"internal"},{"id":29731,"nodeType":"VariableDeclaration","src":"252:17:23","nodes":[],"constant":false,"mutability":"mutable","name":"callee","nameLocation":"263:6:23","scope":29988,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"},"typeName":{"id":29730,"nodeType":"UserDefinedTypeName","pathNode":{"id":29729,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"252:10:23"},"referencedDeclaration":32115,"src":"252:10:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"visibility":"internal"},{"id":29750,"nodeType":"FunctionDefinition","src":"316:93:23","nodes":[],"body":{"id":29749,"nodeType":"Block","src":"340:69:23","nodes":[],"statements":[{"expression":{"id":29740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29735,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"346:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":29738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"358:13:23","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Multicall_$28520_$","typeString":"function () returns (contract Multicall)"},"typeName":{"id":29737,"nodeType":"UserDefinedTypeName","pathNode":{"id":29736,"name":"Multicall","nodeType":"IdentifierPath","referencedDeclaration":28520,"src":"362:9:23"},"referencedDeclaration":28520,"src":"362:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}}},"id":29739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"358:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"src":"346:27:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29741,"nodeType":"ExpressionStatement","src":"346:27:23"},{"expression":{"id":29747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29742,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"379:6:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":29745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"388:14:23","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockCallee_$32115_$","typeString":"function () returns (contract MockCallee)"},"typeName":{"id":29744,"nodeType":"UserDefinedTypeName","pathNode":{"id":29743,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"392:10:23"},"referencedDeclaration":32115,"src":"392:10:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}},"id":29746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"388:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"src":"379:25:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"id":29748,"nodeType":"ExpressionStatement","src":"379:25:23"}]},"documentation":{"id":29732,"nodeType":"StructuredDocumentation","src":"274:39:23","text":"@notice Setups up the testing suite"},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"325:5:23","parameters":{"id":29733,"nodeType":"ParameterList","parameters":[],"src":"330:2:23"},"returnParameters":{"id":29734,"nodeType":"ParameterList","parameters":[],"src":"340:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29819,"nodeType":"FunctionDefinition","src":"486:458:23","nodes":[],"body":{"id":29818,"nodeType":"Block","src":"520:424:23","nodes":[],"statements":[{"assignments":[29759],"declarations":[{"constant":false,"id":29759,"mutability":"mutable","name":"calls","nameLocation":"578:5:23","nodeType":"VariableDeclaration","scope":29818,"src":"554:29:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call[]"},"typeName":{"baseType":{"id":29757,"nodeType":"UserDefinedTypeName","pathNode":{"id":29756,"name":"Multicall.Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"554:14:23"},"referencedDeclaration":28368,"src":"554:14:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":29758,"nodeType":"ArrayTypeName","src":"554:16:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}},"visibility":"internal"}],"id":29766,"initialValue":{"arguments":[{"hexValue":"31","id":29764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"607:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":29763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"586:20:23","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall.Call memory[] memory)"},"typeName":{"baseType":{"id":29761,"nodeType":"UserDefinedTypeName","pathNode":{"id":29760,"name":"Multicall.Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"590:14:23"},"referencedDeclaration":28368,"src":"590:14:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":29762,"nodeType":"ArrayTypeName","src":"590:16:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}}},"id":29765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"586:23:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"554:55:23"},{"expression":{"id":29783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":29767,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"615:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"id":29769,"indexExpression":{"hexValue":"30","id":29768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"621:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"615:8:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":29774,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"649:6:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":29773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"641:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29772,"name":"address","nodeType":"ElementaryTypeName","src":"641:7:23","typeDescriptions":{}}},"id":29775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"641:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":29778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"682:23:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":29779,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"707:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"707:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":29776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"658:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"658:23:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"658:62:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29770,"name":"Multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28520,"src":"626:9:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall_$28520_$","typeString":"type(contract Multicall)"}},"id":29771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28368,"src":"626:14:23","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28368_storage_ptr_$","typeString":"type(struct Multicall.Call storage pointer)"}},"id":29782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"626:95:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"src":"615:106:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"id":29784,"nodeType":"ExpressionStatement","src":"615:106:23"},{"assignments":[29786,29789],"declarations":[{"constant":false,"id":29786,"mutability":"mutable","name":"blockNumber","nameLocation":"736:11:23","nodeType":"VariableDeclaration","scope":29818,"src":"728:19:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29785,"name":"uint256","nodeType":"ElementaryTypeName","src":"728:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29789,"mutability":"mutable","name":"returnData","nameLocation":"764:10:23","nodeType":"VariableDeclaration","scope":29818,"src":"749:25:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":29787,"name":"bytes","nodeType":"ElementaryTypeName","src":"749:5:23","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":29788,"nodeType":"ArrayTypeName","src":"749:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":29794,"initialValue":{"arguments":[{"id":29792,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"798:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}],"expression":{"id":29790,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"778:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28433,"src":"778:19:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall.Call memory[] memory) external returns (uint256,bytes memory[] memory)"}},"id":29793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"778:26:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"727:77:23"},{"expression":{"arguments":[{"id":29796,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29786,"src":"819:11:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":29797,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"832:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"832:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29795,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"810:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"810:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29800,"nodeType":"ExpressionStatement","src":"810:35:23"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":29803,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29789,"src":"870:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":29805,"indexExpression":{"hexValue":"30","id":29804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"881:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"870:13:23","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29802,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"860:9:23","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"860:24:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":29811,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"923:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"923:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29810,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"913:9:23","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"913:23:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":29808,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"896:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"896:16:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":29814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"896:41:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29807,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"886:9:23","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"886:52:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29801,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"851:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":29816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"851:88:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29817,"nodeType":"ExpressionStatement","src":"851:88:23"}]},"documentation":{"id":29751,"nodeType":"StructuredDocumentation","src":"413:70:23","text":">>>>>>>>>>>>>>>>>>>> AGGREGATION TESTS <<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"2fc1b6ab","implemented":true,"kind":"function","modifiers":[],"name":"testAggregation","nameLocation":"495:15:23","parameters":{"id":29752,"nodeType":"ParameterList","parameters":[],"src":"510:2:23"},"returnParameters":{"id":29753,"nodeType":"ParameterList","parameters":[],"src":"520:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29885,"nodeType":"FunctionDefinition","src":"948:441:23","nodes":[],"body":{"id":29884,"nodeType":"Block","src":"994:395:23","nodes":[],"statements":[{"assignments":[29827],"declarations":[{"constant":false,"id":29827,"mutability":"mutable","name":"calls","nameLocation":"1054:5:23","nodeType":"VariableDeclaration","scope":29884,"src":"1030:29:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call[]"},"typeName":{"baseType":{"id":29825,"nodeType":"UserDefinedTypeName","pathNode":{"id":29824,"name":"Multicall.Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"1030:14:23"},"referencedDeclaration":28368,"src":"1030:14:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":29826,"nodeType":"ArrayTypeName","src":"1030:16:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}},"visibility":"internal"}],"id":29834,"initialValue":{"arguments":[{"hexValue":"32","id":29832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1083:1:23","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":29831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1062:20:23","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall.Call memory[] memory)"},"typeName":{"baseType":{"id":29829,"nodeType":"UserDefinedTypeName","pathNode":{"id":29828,"name":"Multicall.Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"1066:14:23"},"referencedDeclaration":28368,"src":"1066:14:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":29830,"nodeType":"ArrayTypeName","src":"1066:16:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}}},"id":29833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1062:23:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1030:55:23"},{"expression":{"id":29851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":29835,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29827,"src":"1091:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"id":29837,"indexExpression":{"hexValue":"30","id":29836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1097:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1091:8:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":29842,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"1134:6:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":29841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1126:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29840,"name":"address","nodeType":"ElementaryTypeName","src":"1126:7:23","typeDescriptions":{}}},"id":29843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1126:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":29846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1175:23:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":29847,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1200:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1200:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":29844,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1151:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1151:23:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1151:62:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29838,"name":"Multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28520,"src":"1102:9:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall_$28520_$","typeString":"type(contract Multicall)"}},"id":29839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28368,"src":"1102:14:23","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28368_storage_ptr_$","typeString":"type(struct Multicall.Call storage pointer)"}},"id":29850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1102:117:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"src":"1091:128:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"id":29852,"nodeType":"ExpressionStatement","src":"1091:128:23"},{"expression":{"id":29867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":29853,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29827,"src":"1225:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"id":29855,"indexExpression":{"hexValue":"31","id":29854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1231:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1225:8:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":29860,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"1259:6:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":29859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1251:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29858,"name":"address","nodeType":"ElementaryTypeName","src":"1251:7:23","typeDescriptions":{}}},"id":29861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1251:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":29864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1292:21:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":29862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1268:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1268:23:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1268:46:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29856,"name":"Multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28520,"src":"1236:9:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall_$28520_$","typeString":"type(contract Multicall)"}},"id":29857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28368,"src":"1236:14:23","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28368_storage_ptr_$","typeString":"type(struct Multicall.Call storage pointer)"}},"id":29866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1236:84:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"src":"1225:95:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"id":29868,"nodeType":"ExpressionStatement","src":"1225:95:23"},{"expression":{"arguments":[{"arguments":[{"hexValue":"","id":29874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1348:2:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":29873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1342:5:23","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":29872,"name":"bytes","nodeType":"ElementaryTypeName","src":"1342:5:23","typeDescriptions":{}}},"id":29875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1342:9:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29869,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"1326:2:23","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":29871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"1326:15:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":29876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1326:26:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29877,"nodeType":"ExpressionStatement","src":"1326:26:23"},{"expression":{"arguments":[{"id":29881,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29827,"src":"1378:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}],"expression":{"id":29878,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"1358:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28433,"src":"1358:19:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall.Call memory[] memory) external returns (uint256,bytes memory[] memory)"}},"id":29882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1358:26:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"id":29883,"nodeType":"ExpressionStatement","src":"1358:26:23"}]},"functionSelector":"a28c5e34","implemented":true,"kind":"function","modifiers":[],"name":"testUnsuccessfulAggregation","nameLocation":"957:27:23","parameters":{"id":29820,"nodeType":"ParameterList","parameters":[],"src":"984:2:23"},"returnParameters":{"id":29821,"nodeType":"ParameterList","parameters":[],"src":"994:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29901,"nodeType":"FunctionDefinition","src":"1466:112:23","nodes":[],"body":{"id":29900,"nodeType":"Block","src":"1514:64:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29892,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29888,"src":"1529:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"1529:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":29896,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29888,"src":"1567:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29894,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"1543:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getEthBalance","nodeType":"MemberAccess","referencedDeclaration":28446,"src":"1543:23:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":29897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1543:29:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29891,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"1520:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1520:53:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29899,"nodeType":"ExpressionStatement","src":"1520:53:23"}]},"documentation":{"id":29886,"nodeType":"StructuredDocumentation","src":"1393:70:23","text":">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"8ef09210","implemented":true,"kind":"function","modifiers":[],"name":"testGetEthBalance","nameLocation":"1475:17:23","parameters":{"id":29889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29888,"mutability":"mutable","name":"addr","nameLocation":"1501:4:23","nodeType":"VariableDeclaration","scope":29901,"src":"1493:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29887,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1492:14:23"},"returnParameters":{"id":29890,"nodeType":"ParameterList","parameters":[],"src":"1514:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29917,"nodeType":"FunctionDefinition","src":"1582:134:23","nodes":[],"body":{"id":29916,"nodeType":"Block","src":"1636:80:23","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":29908,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29903,"src":"1661:11:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29907,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1651:9:23","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1651:22:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":29912,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29903,"src":"1698:11:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":29910,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"1675:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockHash","nodeType":"MemberAccess","referencedDeclaration":28460,"src":"1675:22:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view external returns (bytes32)"}},"id":29913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1675:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29906,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"1642:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":29914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1642:69:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29915,"nodeType":"ExpressionStatement","src":"1642:69:23"}]},"functionSelector":"41e299fe","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockHash","nameLocation":"1591:16:23","parameters":{"id":29904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29903,"mutability":"mutable","name":"blockNumber","nameLocation":"1616:11:23","nodeType":"VariableDeclaration","scope":29917,"src":"1608:19:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29902,"name":"uint256","nodeType":"ElementaryTypeName","src":"1608:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1607:21:23"},"returnParameters":{"id":29905,"nodeType":"ParameterList","parameters":[],"src":"1636:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29939,"nodeType":"FunctionDefinition","src":"1720:209:23","nodes":[],"body":{"id":29938,"nodeType":"Block","src":"1759:170:23","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":29920,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1826:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1826:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":29922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1842:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1826:17:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29925,"nodeType":"IfStatement","src":"1822:30:23","trueBody":{"functionReturnParameters":29919,"id":29924,"nodeType":"Return","src":"1845:7:23"}},{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":29928,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1876:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1876:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":29930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1891:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1876:16:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29927,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1866:9:23","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1866:27:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29933,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"1895:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getLastBlockHash","nodeType":"MemberAccess","referencedDeclaration":28475,"src":"1895:26:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":29935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1895:28:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29926,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"1857:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":29936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1857:67:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29937,"nodeType":"ExpressionStatement","src":"1857:67:23"}]},"functionSelector":"af056092","implemented":true,"kind":"function","modifiers":[],"name":"testGetLastBlockHash","nameLocation":"1729:20:23","parameters":{"id":29918,"nodeType":"ParameterList","parameters":[],"src":"1749:2:23"},"returnParameters":{"id":29919,"nodeType":"ParameterList","parameters":[],"src":"1759:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29951,"nodeType":"FunctionDefinition","src":"1933:121:23","nodes":[],"body":{"id":29950,"nodeType":"Block","src":"1980:74:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29943,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1995:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1995:15:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29945,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"2012:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":28486,"src":"2012:34:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":29947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2012:36:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29942,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"1986:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1986:63:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29949,"nodeType":"ExpressionStatement","src":"1986:63:23"}]},"functionSelector":"4059c002","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockTimestamp","nameLocation":"1942:28:23","parameters":{"id":29940,"nodeType":"ParameterList","parameters":[],"src":"1970:2:23"},"returnParameters":{"id":29941,"nodeType":"ParameterList","parameters":[],"src":"1980:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29963,"nodeType":"FunctionDefinition","src":"2058:124:23","nodes":[],"body":{"id":29962,"nodeType":"Block","src":"2106:76:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29955,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2121:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"2121:16:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29957,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"2139:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockDifficulty","nodeType":"MemberAccess","referencedDeclaration":28497,"src":"2139:35:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":29959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2139:37:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29954,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"2112:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2112:65:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29961,"nodeType":"ExpressionStatement","src":"2112:65:23"}]},"functionSelector":"77185968","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockDifficulty","nameLocation":"2067:29:23","parameters":{"id":29952,"nodeType":"ParameterList","parameters":[],"src":"2096:2:23"},"returnParameters":{"id":29953,"nodeType":"ParameterList","parameters":[],"src":"2106:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29975,"nodeType":"FunctionDefinition","src":"2186:118:23","nodes":[],"body":{"id":29974,"nodeType":"Block","src":"2232:72:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29967,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2247:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"2247:14:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29969,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"2263:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockGasLimit","nodeType":"MemberAccess","referencedDeclaration":28508,"src":"2263:33:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":29971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2263:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29966,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"2238:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2238:61:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29973,"nodeType":"ExpressionStatement","src":"2238:61:23"}]},"functionSelector":"943849a9","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockGasLimit","nameLocation":"2195:27:23","parameters":{"id":29964,"nodeType":"ParameterList","parameters":[],"src":"2222:2:23"},"returnParameters":{"id":29965,"nodeType":"ParameterList","parameters":[],"src":"2232:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29987,"nodeType":"FunctionDefinition","src":"2308:118:23","nodes":[],"body":{"id":29986,"nodeType":"Block","src":"2354:72:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29979,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2369:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"2369:14:23","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29981,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"2385:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockCoinbase","nodeType":"MemberAccess","referencedDeclaration":28519,"src":"2385:33:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":29983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2385:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29978,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":320,"src":"2360:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":29984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2360:61:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29985,"nodeType":"ExpressionStatement","src":"2360:61:23"}]},"functionSelector":"9027c03f","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockCoinbase","nameLocation":"2317:27:23","parameters":{"id":29976,"nodeType":"ParameterList","parameters":[],"src":"2344:2:23"},"returnParameters":{"id":29977,"nodeType":"ParameterList","parameters":[],"src":"2354:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":29724,"name":"Test","nodeType":"IdentifierPath","referencedDeclaration":10725,"src":"220:4:23"},"id":29725,"nodeType":"InheritanceSpecifier","src":"220:4:23"}],"canonicalName":"MulticallTest","contractDependencies":[28520,32115],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[29988,10725,1846,1843,10676,6475,6185,5526,3954,3260,1786],"name":"MulticallTest","nameLocation":"203:13:23","scope":29989,"usedErrors":[]}],"license":"MIT"}},"src/test/Multicall2.t.sol":{"id":24,"ast":{"absolutePath":"src/test/Multicall2.t.sol","id":30684,"exportedSymbols":{"MockCallee":[32115],"Multicall2":[28829],"Multicall2Test":[30683],"Test":[10725]},"nodeType":"SourceUnit","src":"32:5304:24","nodes":[{"id":29990,"nodeType":"PragmaDirective","src":"32:23:24","nodes":[],"literals":["solidity","0.8",".12"]},{"id":29992,"nodeType":"ImportDirective","src":"57:40:24","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":30684,"sourceUnit":10726,"symbolAliases":[{"foreign":{"id":29991,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10725,"src":"65:4:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Test_$10725_$","typeString":"type(contract Test)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29994,"nodeType":"ImportDirective","src":"98:45:24","nodes":[],"absolutePath":"src/Multicall2.sol","file":"../Multicall2.sol","nameLocation":"-1:-1:-1","scope":30684,"sourceUnit":28830,"symbolAliases":[{"foreign":{"id":29993,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"106:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29996,"nodeType":"ImportDirective","src":"144:50:24","nodes":[],"absolutePath":"src/test/mocks/MockCallee.sol","file":"./mocks/MockCallee.sol","nameLocation":"-1:-1:-1","scope":30684,"sourceUnit":32116,"symbolAliases":[{"foreign":{"id":29995,"name":"MockCallee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32115,"src":"152:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockCallee_$32115_$","typeString":"type(contract MockCallee)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":30683,"nodeType":"ContractDefinition","src":"196:5139:24","nodes":[{"id":30001,"nodeType":"VariableDeclaration","src":"232:20:24","nodes":[],"constant":false,"mutability":"mutable","name":"multicall","nameLocation":"243:9:24","scope":30683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"},"typeName":{"id":30000,"nodeType":"UserDefinedTypeName","pathNode":{"id":29999,"name":"Multicall2","nodeType":"IdentifierPath","referencedDeclaration":28829,"src":"232:10:24"},"referencedDeclaration":28829,"src":"232:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"visibility":"internal"},{"id":30004,"nodeType":"VariableDeclaration","src":"256:17:24","nodes":[],"constant":false,"mutability":"mutable","name":"callee","nameLocation":"267:6:24","scope":30683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"},"typeName":{"id":30003,"nodeType":"UserDefinedTypeName","pathNode":{"id":30002,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"256:10:24"},"referencedDeclaration":32115,"src":"256:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"visibility":"internal"},{"id":30023,"nodeType":"FunctionDefinition","src":"320:94:24","nodes":[],"body":{"id":30022,"nodeType":"Block","src":"344:70:24","nodes":[],"statements":[{"expression":{"id":30013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30008,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"350:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"362:14:24","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Multicall2_$28829_$","typeString":"function () returns (contract Multicall2)"},"typeName":{"id":30010,"nodeType":"UserDefinedTypeName","pathNode":{"id":30009,"name":"Multicall2","nodeType":"IdentifierPath","referencedDeclaration":28829,"src":"366:10:24"},"referencedDeclaration":28829,"src":"366:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}}},"id":30012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"362:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"src":"350:28:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30014,"nodeType":"ExpressionStatement","src":"350:28:24"},{"expression":{"id":30020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30015,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"384:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"393:14:24","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockCallee_$32115_$","typeString":"function () returns (contract MockCallee)"},"typeName":{"id":30017,"nodeType":"UserDefinedTypeName","pathNode":{"id":30016,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"397:10:24"},"referencedDeclaration":32115,"src":"397:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}},"id":30019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"393:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"src":"384:25:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"id":30021,"nodeType":"ExpressionStatement","src":"384:25:24"}]},"documentation":{"id":30005,"nodeType":"StructuredDocumentation","src":"278:39:24","text":"@notice Setups up the testing suite"},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"329:5:24","parameters":{"id":30006,"nodeType":"ParameterList","parameters":[],"src":"334:2:24"},"returnParameters":{"id":30007,"nodeType":"ParameterList","parameters":[],"src":"344:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30092,"nodeType":"FunctionDefinition","src":"491:461:24","nodes":[],"body":{"id":30091,"nodeType":"Block","src":"525:427:24","nodes":[],"statements":[{"assignments":[30032],"declarations":[{"constant":false,"id":30032,"mutability":"mutable","name":"calls","nameLocation":"584:5:24","nodeType":"VariableDeclaration","scope":30091,"src":"559:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30030,"nodeType":"UserDefinedTypeName","pathNode":{"id":30029,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"559:15:24"},"referencedDeclaration":28528,"src":"559:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30031,"nodeType":"ArrayTypeName","src":"559:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30039,"initialValue":{"arguments":[{"hexValue":"31","id":30037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"614:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":30036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"592:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30034,"nodeType":"UserDefinedTypeName","pathNode":{"id":30033,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"596:15:24"},"referencedDeclaration":28528,"src":"596:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30035,"nodeType":"ArrayTypeName","src":"596:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"592:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"559:57:24"},{"expression":{"id":30056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30040,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30032,"src":"622:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30042,"indexExpression":{"hexValue":"30","id":30041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"628:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"622:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30047,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"657:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"649:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30045,"name":"address","nodeType":"ElementaryTypeName","src":"649:7:24","typeDescriptions":{}}},"id":30048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"649:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"690:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30052,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"715:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"715:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30049,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"666:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"666:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"666:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30043,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"633:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"633:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"633:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"622:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30057,"nodeType":"ExpressionStatement","src":"622:107:24"},{"assignments":[30059,30062],"declarations":[{"constant":false,"id":30059,"mutability":"mutable","name":"blockNumber","nameLocation":"744:11:24","nodeType":"VariableDeclaration","scope":30091,"src":"736:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30058,"name":"uint256","nodeType":"ElementaryTypeName","src":"736:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30062,"mutability":"mutable","name":"returnData","nameLocation":"772:10:24","nodeType":"VariableDeclaration","scope":30091,"src":"757:25:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":30060,"name":"bytes","nodeType":"ElementaryTypeName","src":"757:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":30061,"nodeType":"ArrayTypeName","src":"757:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":30067,"initialValue":{"arguments":[{"id":30065,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30032,"src":"806:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30063,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"786:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28599,"src":"786:19:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall2.Call memory[] memory) external returns (uint256,bytes memory[] memory)"}},"id":30066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"786:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"735:77:24"},{"expression":{"arguments":[{"id":30069,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30059,"src":"827:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":30070,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"840:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"840:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30068,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"818:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"818:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30073,"nodeType":"ExpressionStatement","src":"818:35:24"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":30076,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30062,"src":"878:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":30078,"indexExpression":{"hexValue":"30","id":30077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"889:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"878:13:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30075,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"868:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"868:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30084,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"931:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"931:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30083,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"921:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"921:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"904:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"904:16:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"904:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30080,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"894:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"894:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30074,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"859:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"859:88:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30090,"nodeType":"ExpressionStatement","src":"859:88:24"}]},"documentation":{"id":30024,"nodeType":"StructuredDocumentation","src":"418:70:24","text":">>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"2fc1b6ab","implemented":true,"kind":"function","modifiers":[],"name":"testAggregation","nameLocation":"500:15:24","parameters":{"id":30025,"nodeType":"ParameterList","parameters":[],"src":"515:2:24"},"returnParameters":{"id":30026,"nodeType":"ParameterList","parameters":[],"src":"525:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30158,"nodeType":"FunctionDefinition","src":"956:450:24","nodes":[],"body":{"id":30157,"nodeType":"Block","src":"1002:404:24","nodes":[],"statements":[{"assignments":[30100],"declarations":[{"constant":false,"id":30100,"mutability":"mutable","name":"calls","nameLocation":"1063:5:24","nodeType":"VariableDeclaration","scope":30157,"src":"1038:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30098,"nodeType":"UserDefinedTypeName","pathNode":{"id":30097,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1038:15:24"},"referencedDeclaration":28528,"src":"1038:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30099,"nodeType":"ArrayTypeName","src":"1038:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30107,"initialValue":{"arguments":[{"hexValue":"32","id":30105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1093:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1071:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30102,"nodeType":"UserDefinedTypeName","pathNode":{"id":30101,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1075:15:24"},"referencedDeclaration":28528,"src":"1075:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30103,"nodeType":"ArrayTypeName","src":"1075:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1071:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1038:57:24"},{"expression":{"id":30124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30108,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30100,"src":"1101:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30110,"indexExpression":{"hexValue":"30","id":30109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1107:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1101:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30115,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"1136:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1128:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30113,"name":"address","nodeType":"ElementaryTypeName","src":"1128:7:24","typeDescriptions":{}}},"id":30116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1128:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1169:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30120,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1194:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1194:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30117,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1145:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1145:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1145:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30111,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"1112:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"1112:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1112:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"1101:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30125,"nodeType":"ExpressionStatement","src":"1101:107:24"},{"expression":{"id":30140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30126,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30100,"src":"1214:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30128,"indexExpression":{"hexValue":"31","id":30127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1220:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1214:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30133,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"1249:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1241:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30131,"name":"address","nodeType":"ElementaryTypeName","src":"1241:7:24","typeDescriptions":{}}},"id":30134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1241:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1282:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30135,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1258:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1258:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1258:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30129,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"1225:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"1225:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1225:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"1214:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30141,"nodeType":"ExpressionStatement","src":"1214:91:24"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c206167677265676174653a2063616c6c206661696c6564","id":30147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""},"value":"Multicall aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""}],"id":30146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1327:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30145,"name":"bytes","nodeType":"ElementaryTypeName","src":"1327:5:24","typeDescriptions":{}}},"id":30148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1327:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30142,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"1311:2:24","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"1311:15:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1311:58:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30150,"nodeType":"ExpressionStatement","src":"1311:58:24"},{"expression":{"arguments":[{"id":30154,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30100,"src":"1395:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30151,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"1375:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28599,"src":"1375:19:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall2.Call memory[] memory) external returns (uint256,bytes memory[] memory)"}},"id":30155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1375:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"id":30156,"nodeType":"ExpressionStatement","src":"1375:26:24"}]},"functionSelector":"a28c5e34","implemented":true,"kind":"function","modifiers":[],"name":"testUnsuccessfulAggregation","nameLocation":"965:27:24","parameters":{"id":30093,"nodeType":"ParameterList","parameters":[],"src":"992:2:24"},"returnParameters":{"id":30094,"nodeType":"ParameterList","parameters":[],"src":"1002:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30255,"nodeType":"FunctionDefinition","src":"1483:581:24","nodes":[],"body":{"id":30254,"nodeType":"Block","src":"1518:546:24","nodes":[],"statements":[{"assignments":[30167],"declarations":[{"constant":false,"id":30167,"mutability":"mutable","name":"calls","nameLocation":"1549:5:24","nodeType":"VariableDeclaration","scope":30254,"src":"1524:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30165,"nodeType":"UserDefinedTypeName","pathNode":{"id":30164,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1524:15:24"},"referencedDeclaration":28528,"src":"1524:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30166,"nodeType":"ArrayTypeName","src":"1524:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30174,"initialValue":{"arguments":[{"hexValue":"32","id":30172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1579:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1557:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30169,"nodeType":"UserDefinedTypeName","pathNode":{"id":30168,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1561:15:24"},"referencedDeclaration":28528,"src":"1561:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30170,"nodeType":"ArrayTypeName","src":"1561:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1557:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1524:57:24"},{"expression":{"id":30191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30175,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30167,"src":"1587:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30177,"indexExpression":{"hexValue":"30","id":30176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1593:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1587:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30182,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"1622:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1614:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30180,"name":"address","nodeType":"ElementaryTypeName","src":"1614:7:24","typeDescriptions":{}}},"id":30183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1614:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1655:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30187,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1680:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1680:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30184,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1631:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1631:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1631:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30178,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"1598:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"1598:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1598:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"1587:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30192,"nodeType":"ExpressionStatement","src":"1587:107:24"},{"expression":{"id":30207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30193,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30167,"src":"1700:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30195,"indexExpression":{"hexValue":"31","id":30194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1706:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1700:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30200,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"1735:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1727:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30198,"name":"address","nodeType":"ElementaryTypeName","src":"1727:7:24","typeDescriptions":{}}},"id":30201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1727:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1768:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1744:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1744:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1744:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30196,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"1711:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"1711:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1711:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"1700:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30208,"nodeType":"ExpressionStatement","src":"1700:91:24"},{"assignments":[30214],"declarations":[{"constant":false,"id":30214,"mutability":"mutable","name":"returnData","nameLocation":"1825:10:24","nodeType":"VariableDeclaration","scope":30254,"src":"1798:37:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":30212,"nodeType":"UserDefinedTypeName","pathNode":{"id":30211,"name":"Multicall2.Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"1798:17:24"},"referencedDeclaration":28533,"src":"1798:17:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":30213,"nodeType":"ArrayTypeName","src":"1798:19:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"id":30220,"initialValue":{"arguments":[{"hexValue":"66616c7365","id":30217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1862:5:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":30218,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30167,"src":"1869:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30215,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"1839:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryAggregate","nodeType":"MemberAccess","referencedDeclaration":28668,"src":"1839:22:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call memory[] memory) external returns (struct Multicall2.Result memory[] memory)"}},"id":30219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1839:36:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1797:78:24"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":30222,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30214,"src":"1892:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30224,"indexExpression":{"hexValue":"30","id":30223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1903:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1892:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28530,"src":"1892:21:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30221,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"1881:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1881:33:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30227,"nodeType":"ExpressionStatement","src":"1881:33:24"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":30230,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30214,"src":"1939:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30232,"indexExpression":{"hexValue":"30","id":30231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1950:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1939:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28532,"src":"1939:24:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30229,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1929:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1929:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30239,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2003:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2003:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30238,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1993:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1993:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1976:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1976:16:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1976:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30235,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1966:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1966:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30228,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"1920:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1920:99:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30245,"nodeType":"ExpressionStatement","src":"1920:99:24"},{"expression":{"arguments":[{"id":30251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2036:22:24","subExpression":{"expression":{"baseExpression":{"id":30247,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30214,"src":"2037:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30249,"indexExpression":{"hexValue":"31","id":30248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2048:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2037:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28530,"src":"2037:21:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30246,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"2025:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2025:34:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30253,"nodeType":"ExpressionStatement","src":"2025:34:24"}]},"documentation":{"id":30159,"nodeType":"StructuredDocumentation","src":"1410:70:24","text":">>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"7e5ed4db","implemented":true,"kind":"function","modifiers":[],"name":"testTryAggregate","nameLocation":"1492:16:24","parameters":{"id":30160,"nodeType":"ParameterList","parameters":[],"src":"1508:2:24"},"returnParameters":{"id":30161,"nodeType":"ParameterList","parameters":[],"src":"1518:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30322,"nodeType":"FunctionDefinition","src":"2068:431:24","nodes":[],"body":{"id":30321,"nodeType":"Block","src":"2115:384:24","nodes":[],"statements":[{"assignments":[30263],"declarations":[{"constant":false,"id":30263,"mutability":"mutable","name":"calls","nameLocation":"2146:5:24","nodeType":"VariableDeclaration","scope":30321,"src":"2121:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30261,"nodeType":"UserDefinedTypeName","pathNode":{"id":30260,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"2121:15:24"},"referencedDeclaration":28528,"src":"2121:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30262,"nodeType":"ArrayTypeName","src":"2121:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30270,"initialValue":{"arguments":[{"hexValue":"32","id":30268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2176:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2154:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30265,"nodeType":"UserDefinedTypeName","pathNode":{"id":30264,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"2158:15:24"},"referencedDeclaration":28528,"src":"2158:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30266,"nodeType":"ArrayTypeName","src":"2158:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2154:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2121:57:24"},{"expression":{"id":30287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30271,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30263,"src":"2184:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30273,"indexExpression":{"hexValue":"30","id":30272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2190:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2184:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30278,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"2219:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2211:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30276,"name":"address","nodeType":"ElementaryTypeName","src":"2211:7:24","typeDescriptions":{}}},"id":30279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2211:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2252:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30283,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2277:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2277:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30280,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2228:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2228:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2228:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30274,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"2195:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"2195:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2195:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"2184:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30288,"nodeType":"ExpressionStatement","src":"2184:107:24"},{"expression":{"id":30303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30289,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30263,"src":"2297:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30291,"indexExpression":{"hexValue":"31","id":30290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2303:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2297:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30296,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"2332:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2324:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30294,"name":"address","nodeType":"ElementaryTypeName","src":"2324:7:24","typeDescriptions":{}}},"id":30297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2324:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2365:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2341:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2341:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2341:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30292,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"2308:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"2308:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2308:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"2297:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30304,"nodeType":"ExpressionStatement","src":"2297:91:24"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564","id":30310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2416:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""},"value":"Multicall2 aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""}],"id":30309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2410:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30308,"name":"bytes","nodeType":"ElementaryTypeName","src":"2410:5:24","typeDescriptions":{}}},"id":30311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2410:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30305,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"2394:2:24","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"2394:15:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2394:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30313,"nodeType":"ExpressionStatement","src":"2394:59:24"},{"expression":{"arguments":[{"hexValue":"74727565","id":30317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2482:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":30318,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30263,"src":"2488:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30314,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"2459:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryAggregate","nodeType":"MemberAccess","referencedDeclaration":28668,"src":"2459:22:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call memory[] memory) external returns (struct Multicall2.Result memory[] memory)"}},"id":30319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2459:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30320,"nodeType":"ExpressionStatement","src":"2459:35:24"}]},"functionSelector":"434004ec","implemented":true,"kind":"function","modifiers":[],"name":"testTryAggregateUnsuccessful","nameLocation":"2077:28:24","parameters":{"id":30256,"nodeType":"ParameterList","parameters":[],"src":"2105:2:24"},"returnParameters":{"id":30257,"nodeType":"ParameterList","parameters":[],"src":"2115:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30435,"nodeType":"FunctionDefinition","src":"2576:728:24","nodes":[],"body":{"id":30434,"nodeType":"Block","src":"2619:685:24","nodes":[],"statements":[{"assignments":[30331],"declarations":[{"constant":false,"id":30331,"mutability":"mutable","name":"calls","nameLocation":"2650:5:24","nodeType":"VariableDeclaration","scope":30434,"src":"2625:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30329,"nodeType":"UserDefinedTypeName","pathNode":{"id":30328,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"2625:15:24"},"referencedDeclaration":28528,"src":"2625:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30330,"nodeType":"ArrayTypeName","src":"2625:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30338,"initialValue":{"arguments":[{"hexValue":"32","id":30336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2680:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2658:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30333,"nodeType":"UserDefinedTypeName","pathNode":{"id":30332,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"2662:15:24"},"referencedDeclaration":28528,"src":"2662:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30334,"nodeType":"ArrayTypeName","src":"2662:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2658:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2625:57:24"},{"expression":{"id":30355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30339,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30331,"src":"2688:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30341,"indexExpression":{"hexValue":"30","id":30340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2694:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2688:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30346,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"2723:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2715:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30344,"name":"address","nodeType":"ElementaryTypeName","src":"2715:7:24","typeDescriptions":{}}},"id":30347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2715:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2756:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30351,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2781:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2781:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30348,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2732:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2732:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2732:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30342,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"2699:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"2699:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2699:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"2688:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30356,"nodeType":"ExpressionStatement","src":"2688:107:24"},{"expression":{"id":30371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30357,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30331,"src":"2801:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30359,"indexExpression":{"hexValue":"31","id":30358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2807:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2801:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30364,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"2836:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2828:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30362,"name":"address","nodeType":"ElementaryTypeName","src":"2828:7:24","typeDescriptions":{}}},"id":30365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2828:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2869:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30366,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2845:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2845:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2845:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30360,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"2812:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"2812:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2812:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"2801:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30372,"nodeType":"ExpressionStatement","src":"2801:91:24"},{"assignments":[30374,30376,30380],"declarations":[{"constant":false,"id":30374,"mutability":"mutable","name":"blockNumber","nameLocation":"2907:11:24","nodeType":"VariableDeclaration","scope":30434,"src":"2899:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30373,"name":"uint256","nodeType":"ElementaryTypeName","src":"2899:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30376,"mutability":"mutable","name":"blockHash","nameLocation":"2928:9:24","nodeType":"VariableDeclaration","scope":30434,"src":"2920:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2920:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30380,"mutability":"mutable","name":"returnData","nameLocation":"2966:10:24","nodeType":"VariableDeclaration","scope":30434,"src":"2939:37:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":30378,"nodeType":"UserDefinedTypeName","pathNode":{"id":30377,"name":"Multicall2.Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"2939:17:24"},"referencedDeclaration":28533,"src":"2939:17:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":30379,"nodeType":"ArrayTypeName","src":"2939:19:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"id":30386,"initialValue":{"arguments":[{"hexValue":"66616c7365","id":30383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3011:5:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":30384,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30331,"src":"3018:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30381,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"2980:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryBlockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":28705,"src":"2980:30:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call memory[] memory) external returns (uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2980:44:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"2898:126:24"},{"expression":{"arguments":[{"id":30388,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30374,"src":"3039:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":30389,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3052:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3052:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30387,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"3030:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3030:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30392,"nodeType":"ExpressionStatement","src":"3030:35:24"},{"expression":{"arguments":[{"id":30394,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30376,"src":"3080:9:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"id":30396,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3101:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3101:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30395,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3091:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3091:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30393,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"3071:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3071:44:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30400,"nodeType":"ExpressionStatement","src":"3071:44:24"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":30402,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30380,"src":"3132:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30404,"indexExpression":{"hexValue":"30","id":30403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3143:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3132:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28530,"src":"3132:21:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30401,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3121:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3121:33:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30407,"nodeType":"ExpressionStatement","src":"3121:33:24"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":30410,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30380,"src":"3179:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30412,"indexExpression":{"hexValue":"30","id":30411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3190:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3179:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28532,"src":"3179:24:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30409,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3169:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3169:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30419,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3243:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3243:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30418,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3233:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3233:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3216:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3216:16:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3216:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30415,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3206:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3206:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30408,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"3160:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3160:99:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30425,"nodeType":"ExpressionStatement","src":"3160:99:24"},{"expression":{"arguments":[{"id":30431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3276:22:24","subExpression":{"expression":{"baseExpression":{"id":30427,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30380,"src":"3277:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30429,"indexExpression":{"hexValue":"31","id":30428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3288:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3277:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28530,"src":"3277:21:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30426,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3265:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3265:34:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30433,"nodeType":"ExpressionStatement","src":"3265:34:24"}]},"documentation":{"id":30323,"nodeType":"StructuredDocumentation","src":"2503:70:24","text":">>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///"},"functionSelector":"b668ab7d","implemented":true,"kind":"function","modifiers":[],"name":"testTryBlockAndAggregate","nameLocation":"2585:24:24","parameters":{"id":30324,"nodeType":"ParameterList","parameters":[],"src":"2609:2:24"},"returnParameters":{"id":30325,"nodeType":"ParameterList","parameters":[],"src":"2619:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30502,"nodeType":"FunctionDefinition","src":"3308:447:24","nodes":[],"body":{"id":30501,"nodeType":"Block","src":"3363:392:24","nodes":[],"statements":[{"assignments":[30443],"declarations":[{"constant":false,"id":30443,"mutability":"mutable","name":"calls","nameLocation":"3394:5:24","nodeType":"VariableDeclaration","scope":30501,"src":"3369:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30441,"nodeType":"UserDefinedTypeName","pathNode":{"id":30440,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"3369:15:24"},"referencedDeclaration":28528,"src":"3369:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30442,"nodeType":"ArrayTypeName","src":"3369:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30450,"initialValue":{"arguments":[{"hexValue":"32","id":30448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3424:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3402:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30445,"nodeType":"UserDefinedTypeName","pathNode":{"id":30444,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"3406:15:24"},"referencedDeclaration":28528,"src":"3406:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30446,"nodeType":"ArrayTypeName","src":"3406:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3402:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3369:57:24"},{"expression":{"id":30467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30451,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30443,"src":"3432:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30453,"indexExpression":{"hexValue":"30","id":30452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3438:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3432:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30458,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"3467:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3459:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30456,"name":"address","nodeType":"ElementaryTypeName","src":"3459:7:24","typeDescriptions":{}}},"id":30459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3459:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3500:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30463,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3525:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3525:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3476:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3476:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3476:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30454,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"3443:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"3443:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3443:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"3432:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30468,"nodeType":"ExpressionStatement","src":"3432:107:24"},{"expression":{"id":30483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30469,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30443,"src":"3545:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30471,"indexExpression":{"hexValue":"31","id":30470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3551:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3545:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30476,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"3580:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3572:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30474,"name":"address","nodeType":"ElementaryTypeName","src":"3572:7:24","typeDescriptions":{}}},"id":30477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3572:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3613:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3589:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3589:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3589:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30472,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"3556:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"3556:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3556:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"3545:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30484,"nodeType":"ExpressionStatement","src":"3545:91:24"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564","id":30490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3664:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""},"value":"Multicall2 aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""}],"id":30489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3658:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30488,"name":"bytes","nodeType":"ElementaryTypeName","src":"3658:5:24","typeDescriptions":{}}},"id":30491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3658:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30485,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"3642:2:24","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"3642:15:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3642:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30493,"nodeType":"ExpressionStatement","src":"3642:59:24"},{"expression":{"arguments":[{"hexValue":"74727565","id":30497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3738:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":30498,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30443,"src":"3744:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30494,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"3707:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryBlockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":28705,"src":"3707:30:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call memory[] memory) external returns (uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3707:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30500,"nodeType":"ExpressionStatement","src":"3707:43:24"}]},"functionSelector":"90c6e931","implemented":true,"kind":"function","modifiers":[],"name":"testTryBlockAndAggregateUnsuccessful","nameLocation":"3317:36:24","parameters":{"id":30436,"nodeType":"ParameterList","parameters":[],"src":"3353:2:24"},"returnParameters":{"id":30437,"nodeType":"ParameterList","parameters":[],"src":"3363:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30568,"nodeType":"FunctionDefinition","src":"3759:435:24","nodes":[],"body":{"id":30567,"nodeType":"Block","src":"3811:383:24","nodes":[],"statements":[{"assignments":[30510],"declarations":[{"constant":false,"id":30510,"mutability":"mutable","name":"calls","nameLocation":"3842:5:24","nodeType":"VariableDeclaration","scope":30567,"src":"3817:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30508,"nodeType":"UserDefinedTypeName","pathNode":{"id":30507,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"3817:15:24"},"referencedDeclaration":28528,"src":"3817:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30509,"nodeType":"ArrayTypeName","src":"3817:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30517,"initialValue":{"arguments":[{"hexValue":"32","id":30515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3872:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3850:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30512,"nodeType":"UserDefinedTypeName","pathNode":{"id":30511,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"3854:15:24"},"referencedDeclaration":28528,"src":"3854:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30513,"nodeType":"ArrayTypeName","src":"3854:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3850:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3817:57:24"},{"expression":{"id":30534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30518,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30510,"src":"3880:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30520,"indexExpression":{"hexValue":"30","id":30519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3886:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3880:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30525,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"3915:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3907:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30523,"name":"address","nodeType":"ElementaryTypeName","src":"3907:7:24","typeDescriptions":{}}},"id":30526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3907:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3948:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30530,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3973:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3973:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30527,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3924:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3924:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3924:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30521,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"3891:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"3891:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3891:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"3880:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30535,"nodeType":"ExpressionStatement","src":"3880:107:24"},{"expression":{"id":30550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30536,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30510,"src":"3993:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30538,"indexExpression":{"hexValue":"31","id":30537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3999:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3993:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30543,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"4028:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4020:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30541,"name":"address","nodeType":"ElementaryTypeName","src":"4020:7:24","typeDescriptions":{}}},"id":30544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4020:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4061:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30545,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4037:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4037:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4037:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30539,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"4004:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"4004:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4004:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"3993:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30551,"nodeType":"ExpressionStatement","src":"3993:91:24"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564","id":30557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4112:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""},"value":"Multicall2 aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""}],"id":30556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4106:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30555,"name":"bytes","nodeType":"ElementaryTypeName","src":"4106:5:24","typeDescriptions":{}}},"id":30558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4106:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30552,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"4090:2:24","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"4090:15:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4090:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30560,"nodeType":"ExpressionStatement","src":"4090:59:24"},{"expression":{"arguments":[{"id":30564,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30510,"src":"4183:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30561,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4155:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"blockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":28731,"src":"4155:27:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall2.Call memory[] memory) external returns (uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4155:34:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30566,"nodeType":"ExpressionStatement","src":"4155:34:24"}]},"functionSelector":"1d303931","implemented":true,"kind":"function","modifiers":[],"name":"testBlockAndAggregateUnsuccessful","nameLocation":"3768:33:24","parameters":{"id":30503,"nodeType":"ParameterList","parameters":[],"src":"3801:2:24"},"returnParameters":{"id":30504,"nodeType":"ParameterList","parameters":[],"src":"3811:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30585,"nodeType":"FunctionDefinition","src":"4271:134:24","nodes":[],"body":{"id":30584,"nodeType":"Block","src":"4325:80:24","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":30576,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30571,"src":"4350:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30575,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"4340:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4340:22:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":30580,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30571,"src":"4387:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30578,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4364:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockHash","nodeType":"MemberAccess","referencedDeclaration":28745,"src":"4364:22:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view external returns (bytes32)"}},"id":30581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4364:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30574,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4331:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4331:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30583,"nodeType":"ExpressionStatement","src":"4331:69:24"}]},"documentation":{"id":30569,"nodeType":"StructuredDocumentation","src":"4198:70:24","text":">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"41e299fe","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockHash","nameLocation":"4280:16:24","parameters":{"id":30572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30571,"mutability":"mutable","name":"blockNumber","nameLocation":"4305:11:24","nodeType":"VariableDeclaration","scope":30585,"src":"4297:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30570,"name":"uint256","nodeType":"ElementaryTypeName","src":"4297:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4296:21:24"},"returnParameters":{"id":30573,"nodeType":"ParameterList","parameters":[],"src":"4325:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30597,"nodeType":"FunctionDefinition","src":"4409:98:24","nodes":[],"body":{"id":30596,"nodeType":"Block","src":"4446:61:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30589,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4461:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"4461:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30591,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4475:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockNumber","nodeType":"MemberAccess","referencedDeclaration":28756,"src":"4475:24:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":30593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4475:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30588,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"4452:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4452:50:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30595,"nodeType":"ExpressionStatement","src":"4452:50:24"}]},"functionSelector":"23b4ffe0","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockNumber","nameLocation":"4418:18:24","parameters":{"id":30586,"nodeType":"ParameterList","parameters":[],"src":"4436:2:24"},"returnParameters":{"id":30587,"nodeType":"ParameterList","parameters":[],"src":"4446:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30609,"nodeType":"FunctionDefinition","src":"4511:118:24","nodes":[],"body":{"id":30608,"nodeType":"Block","src":"4557:72:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30601,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4572:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"4572:14:24","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30603,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4588:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockCoinbase","nodeType":"MemberAccess","referencedDeclaration":28767,"src":"4588:33:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":30605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4588:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":30600,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":320,"src":"4563:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":30606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4563:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30607,"nodeType":"ExpressionStatement","src":"4563:61:24"}]},"functionSelector":"9027c03f","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockCoinbase","nameLocation":"4520:27:24","parameters":{"id":30598,"nodeType":"ParameterList","parameters":[],"src":"4547:2:24"},"returnParameters":{"id":30599,"nodeType":"ParameterList","parameters":[],"src":"4557:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30621,"nodeType":"FunctionDefinition","src":"4633:124:24","nodes":[],"body":{"id":30620,"nodeType":"Block","src":"4681:76:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30613,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4696:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"4696:16:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30615,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4714:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockDifficulty","nodeType":"MemberAccess","referencedDeclaration":28778,"src":"4714:35:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":30617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4714:37:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30612,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"4687:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4687:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30619,"nodeType":"ExpressionStatement","src":"4687:65:24"}]},"functionSelector":"77185968","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockDifficulty","nameLocation":"4642:29:24","parameters":{"id":30610,"nodeType":"ParameterList","parameters":[],"src":"4671:2:24"},"returnParameters":{"id":30611,"nodeType":"ParameterList","parameters":[],"src":"4681:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30633,"nodeType":"FunctionDefinition","src":"4761:118:24","nodes":[],"body":{"id":30632,"nodeType":"Block","src":"4807:72:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30625,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4822:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"4822:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30627,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4838:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockGasLimit","nodeType":"MemberAccess","referencedDeclaration":28789,"src":"4838:33:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":30629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4838:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30624,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"4813:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4813:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30631,"nodeType":"ExpressionStatement","src":"4813:61:24"}]},"functionSelector":"943849a9","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockGasLimit","nameLocation":"4770:27:24","parameters":{"id":30622,"nodeType":"ParameterList","parameters":[],"src":"4797:2:24"},"returnParameters":{"id":30623,"nodeType":"ParameterList","parameters":[],"src":"4807:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30645,"nodeType":"FunctionDefinition","src":"4883:121:24","nodes":[],"body":{"id":30644,"nodeType":"Block","src":"4930:74:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30637,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4945:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"4945:15:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30639,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4962:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":28800,"src":"4962:34:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":30641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4962:36:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30636,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"4936:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4936:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30643,"nodeType":"ExpressionStatement","src":"4936:63:24"}]},"functionSelector":"4059c002","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockTimestamp","nameLocation":"4892:28:24","parameters":{"id":30634,"nodeType":"ParameterList","parameters":[],"src":"4920:2:24"},"returnParameters":{"id":30635,"nodeType":"ParameterList","parameters":[],"src":"4930:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30660,"nodeType":"FunctionDefinition","src":"5008:112:24","nodes":[],"body":{"id":30659,"nodeType":"Block","src":"5056:64:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30651,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30647,"src":"5071:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":30652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"5071:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":30655,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30647,"src":"5109:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":30653,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"5085:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getEthBalance","nodeType":"MemberAccess","referencedDeclaration":28813,"src":"5085:23:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":30656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5085:29:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30650,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"5062:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5062:53:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30658,"nodeType":"ExpressionStatement","src":"5062:53:24"}]},"functionSelector":"8ef09210","implemented":true,"kind":"function","modifiers":[],"name":"testGetEthBalance","nameLocation":"5017:17:24","parameters":{"id":30648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30647,"mutability":"mutable","name":"addr","nameLocation":"5043:4:24","nodeType":"VariableDeclaration","scope":30660,"src":"5035:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30646,"name":"address","nodeType":"ElementaryTypeName","src":"5035:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5034:14:24"},"returnParameters":{"id":30649,"nodeType":"ParameterList","parameters":[],"src":"5056:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30682,"nodeType":"FunctionDefinition","src":"5124:209:24","nodes":[],"body":{"id":30681,"nodeType":"Block","src":"5163:170:24","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":30663,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5230:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5230:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":30665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5246:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5230:17:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30668,"nodeType":"IfStatement","src":"5226:30:24","trueBody":{"functionReturnParameters":30662,"id":30667,"nodeType":"Return","src":"5249:7:24"}},{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":30671,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5280:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5280:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":30673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5295:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5280:16:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30670,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"5270:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5270:27:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30676,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"5299:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getLastBlockHash","nodeType":"MemberAccess","referencedDeclaration":28828,"src":"5299:26:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":30678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5299:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30669,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"5261:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5261:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30680,"nodeType":"ExpressionStatement","src":"5261:67:24"}]},"functionSelector":"af056092","implemented":true,"kind":"function","modifiers":[],"name":"testGetLastBlockHash","nameLocation":"5133:20:24","parameters":{"id":30661,"nodeType":"ParameterList","parameters":[],"src":"5153:2:24"},"returnParameters":{"id":30662,"nodeType":"ParameterList","parameters":[],"src":"5163:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":29997,"name":"Test","nodeType":"IdentifierPath","referencedDeclaration":10725,"src":"223:4:24"},"id":29998,"nodeType":"InheritanceSpecifier","src":"223:4:24"}],"canonicalName":"Multicall2Test","contractDependencies":[28829,32115],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[30683,10725,1846,1843,10676,6475,6185,5526,3954,3260,1786],"name":"Multicall2Test","nameLocation":"205:14:24","scope":30684,"usedErrors":[]}],"license":"MIT"}},"src/test/Multicall3.t.sol":{"id":25,"ast":{"absolutePath":"src/test/Multicall3.t.sol","id":32054,"exportedSymbols":{"EtherSink":[32062],"MockCallee":[32115],"Multicall3":[29378],"Multicall3Test":[32053],"Test":[10725]},"nodeType":"SourceUnit","src":"32:9800:25","nodes":[{"id":30685,"nodeType":"PragmaDirective","src":"32:23:25","nodes":[],"literals":["solidity","0.8",".12"]},{"id":30687,"nodeType":"ImportDirective","src":"57:40:25","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":32054,"sourceUnit":10726,"symbolAliases":[{"foreign":{"id":30686,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10725,"src":"65:4:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Test_$10725_$","typeString":"type(contract Test)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":30689,"nodeType":"ImportDirective","src":"98:45:25","nodes":[],"absolutePath":"src/Multicall3.sol","file":"../Multicall3.sol","nameLocation":"-1:-1:-1","scope":32054,"sourceUnit":29379,"symbolAliases":[{"foreign":{"id":30688,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"106:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":30691,"nodeType":"ImportDirective","src":"144:50:25","nodes":[],"absolutePath":"src/test/mocks/MockCallee.sol","file":"./mocks/MockCallee.sol","nameLocation":"-1:-1:-1","scope":32054,"sourceUnit":32116,"symbolAliases":[{"foreign":{"id":30690,"name":"MockCallee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32115,"src":"152:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockCallee_$32115_$","typeString":"type(contract MockCallee)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":30693,"nodeType":"ImportDirective","src":"195:48:25","nodes":[],"absolutePath":"src/test/mocks/EtherSink.sol","file":"./mocks/EtherSink.sol","nameLocation":"-1:-1:-1","scope":32054,"sourceUnit":32063,"symbolAliases":[{"foreign":{"id":30692,"name":"EtherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32062,"src":"203:9:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EtherSink_$32062_$","typeString":"type(contract EtherSink)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32053,"nodeType":"ContractDefinition","src":"245:9586:25","nodes":[{"id":30698,"nodeType":"VariableDeclaration","src":"281:20:25","nodes":[],"constant":false,"mutability":"mutable","name":"multicall","nameLocation":"292:9:25","scope":32053,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"},"typeName":{"id":30697,"nodeType":"UserDefinedTypeName","pathNode":{"id":30696,"name":"Multicall3","nodeType":"IdentifierPath","referencedDeclaration":29378,"src":"281:10:25"},"referencedDeclaration":29378,"src":"281:10:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"visibility":"internal"},{"id":30701,"nodeType":"VariableDeclaration","src":"305:17:25","nodes":[],"constant":false,"mutability":"mutable","name":"callee","nameLocation":"316:6:25","scope":32053,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"},"typeName":{"id":30700,"nodeType":"UserDefinedTypeName","pathNode":{"id":30699,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"305:10:25"},"referencedDeclaration":32115,"src":"305:10:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"visibility":"internal"},{"id":30704,"nodeType":"VariableDeclaration","src":"326:19:25","nodes":[],"constant":false,"mutability":"mutable","name":"etherSink","nameLocation":"336:9:25","scope":32053,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"},"typeName":{"id":30703,"nodeType":"UserDefinedTypeName","pathNode":{"id":30702,"name":"EtherSink","nodeType":"IdentifierPath","referencedDeclaration":32062,"src":"326:9:25"},"referencedDeclaration":32062,"src":"326:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}},"visibility":"internal"},{"id":30730,"nodeType":"FunctionDefinition","src":"392:127:25","nodes":[],"body":{"id":30729,"nodeType":"Block","src":"416:103:25","nodes":[],"statements":[{"expression":{"id":30713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30708,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"422:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"434:14:25","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Multicall3_$29378_$","typeString":"function () returns (contract Multicall3)"},"typeName":{"id":30710,"nodeType":"UserDefinedTypeName","pathNode":{"id":30709,"name":"Multicall3","nodeType":"IdentifierPath","referencedDeclaration":29378,"src":"438:10:25"},"referencedDeclaration":29378,"src":"438:10:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}}},"id":30712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"434:16:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"src":"422:28:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":30714,"nodeType":"ExpressionStatement","src":"422:28:25"},{"expression":{"id":30720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30715,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"456:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"465:14:25","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockCallee_$32115_$","typeString":"function () returns (contract MockCallee)"},"typeName":{"id":30717,"nodeType":"UserDefinedTypeName","pathNode":{"id":30716,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"469:10:25"},"referencedDeclaration":32115,"src":"469:10:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}},"id":30719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"465:16:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"src":"456:25:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"id":30721,"nodeType":"ExpressionStatement","src":"456:25:25"},{"expression":{"id":30727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30722,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"487:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"499:13:25","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EtherSink_$32062_$","typeString":"function () returns (contract EtherSink)"},"typeName":{"id":30724,"nodeType":"UserDefinedTypeName","pathNode":{"id":30723,"name":"EtherSink","nodeType":"IdentifierPath","referencedDeclaration":32062,"src":"503:9:25"},"referencedDeclaration":32062,"src":"503:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}},"id":30726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"499:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}},"src":"487:27:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}},"id":30728,"nodeType":"ExpressionStatement","src":"487:27:25"}]},"documentation":{"id":30705,"nodeType":"StructuredDocumentation","src":"350:39:25","text":"@notice Setups up the testing suite"},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"401:5:25","parameters":{"id":30706,"nodeType":"ParameterList","parameters":[],"src":"406:2:25"},"returnParameters":{"id":30707,"nodeType":"ParameterList","parameters":[],"src":"416:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30799,"nodeType":"FunctionDefinition","src":"596:461:25","nodes":[],"body":{"id":30798,"nodeType":"Block","src":"630:427:25","nodes":[],"statements":[{"assignments":[30739],"declarations":[{"constant":false,"id":30739,"mutability":"mutable","name":"calls","nameLocation":"689:5:25","nodeType":"VariableDeclaration","scope":30798,"src":"664:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":30737,"nodeType":"UserDefinedTypeName","pathNode":{"id":30736,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"664:15:25"},"referencedDeclaration":28837,"src":"664:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30738,"nodeType":"ArrayTypeName","src":"664:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":30746,"initialValue":{"arguments":[{"hexValue":"31","id":30744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"719:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":30743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"697:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":30741,"nodeType":"UserDefinedTypeName","pathNode":{"id":30740,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"701:15:25"},"referencedDeclaration":28837,"src":"701:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30742,"nodeType":"ArrayTypeName","src":"701:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":30745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"697:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"664:57:25"},{"expression":{"id":30763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30747,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30739,"src":"727:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30749,"indexExpression":{"hexValue":"30","id":30748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"733:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"727:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30754,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"762:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"754:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30752,"name":"address","nodeType":"ElementaryTypeName","src":"754:7:25","typeDescriptions":{}}},"id":30755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"754:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"795:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30759,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"820:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"820:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30756,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"771:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"771:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"771:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30750,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"738:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"738:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"738:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"727:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30764,"nodeType":"ExpressionStatement","src":"727:107:25"},{"assignments":[30766,30769],"declarations":[{"constant":false,"id":30766,"mutability":"mutable","name":"blockNumber","nameLocation":"849:11:25","nodeType":"VariableDeclaration","scope":30798,"src":"841:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30765,"name":"uint256","nodeType":"ElementaryTypeName","src":"841:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30769,"mutability":"mutable","name":"returnData","nameLocation":"877:10:25","nodeType":"VariableDeclaration","scope":30798,"src":"862:25:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":30767,"name":"bytes","nodeType":"ElementaryTypeName","src":"862:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":30768,"nodeType":"ArrayTypeName","src":"862:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":30774,"initialValue":{"arguments":[{"id":30772,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30739,"src":"911:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":30770,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"891:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":30771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28934,"src":"891:19:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":30773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"891:26:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"840:77:25"},{"expression":{"arguments":[{"id":30776,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30766,"src":"932:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":30777,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"945:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"945:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30775,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"923:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"923:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30780,"nodeType":"ExpressionStatement","src":"923:35:25"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":30783,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30769,"src":"983:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":30785,"indexExpression":{"hexValue":"30","id":30784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"994:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"983:13:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30782,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"973:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"973:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30791,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1036:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1036:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30790,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1026:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1026:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1009:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1009:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1009:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30787,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"999:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"999:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30781,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"964:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"964:88:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30797,"nodeType":"ExpressionStatement","src":"964:88:25"}]},"documentation":{"id":30731,"nodeType":"StructuredDocumentation","src":"523:70:25","text":">>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"2fc1b6ab","implemented":true,"kind":"function","modifiers":[],"name":"testAggregation","nameLocation":"605:15:25","parameters":{"id":30732,"nodeType":"ParameterList","parameters":[],"src":"620:2:25"},"returnParameters":{"id":30733,"nodeType":"ParameterList","parameters":[],"src":"630:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30865,"nodeType":"FunctionDefinition","src":"1061:441:25","nodes":[],"body":{"id":30864,"nodeType":"Block","src":"1107:395:25","nodes":[],"statements":[{"assignments":[30807],"declarations":[{"constant":false,"id":30807,"mutability":"mutable","name":"calls","nameLocation":"1168:5:25","nodeType":"VariableDeclaration","scope":30864,"src":"1143:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":30805,"nodeType":"UserDefinedTypeName","pathNode":{"id":30804,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1143:15:25"},"referencedDeclaration":28837,"src":"1143:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30806,"nodeType":"ArrayTypeName","src":"1143:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":30814,"initialValue":{"arguments":[{"hexValue":"32","id":30812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1198:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1176:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":30809,"nodeType":"UserDefinedTypeName","pathNode":{"id":30808,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1180:15:25"},"referencedDeclaration":28837,"src":"1180:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30810,"nodeType":"ArrayTypeName","src":"1180:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":30813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1176:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1143:57:25"},{"expression":{"id":30831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30815,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30807,"src":"1206:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30817,"indexExpression":{"hexValue":"30","id":30816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1212:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1206:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30822,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"1241:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1233:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30820,"name":"address","nodeType":"ElementaryTypeName","src":"1233:7:25","typeDescriptions":{}}},"id":30823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1233:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1274:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30827,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1299:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1299:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30824,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1250:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1250:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1250:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30818,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"1217:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"1217:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1217:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"1206:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30832,"nodeType":"ExpressionStatement","src":"1206:107:25"},{"expression":{"id":30847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30833,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30807,"src":"1319:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30835,"indexExpression":{"hexValue":"31","id":30834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1325:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1319:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30840,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"1354:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1346:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30838,"name":"address","nodeType":"ElementaryTypeName","src":"1346:7:25","typeDescriptions":{}}},"id":30841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1346:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1387:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1363:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1363:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1363:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30836,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"1330:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"1330:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1330:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"1319:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30848,"nodeType":"ExpressionStatement","src":"1319:91:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":30854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1438:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":30853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1432:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30852,"name":"bytes","nodeType":"ElementaryTypeName","src":"1432:5:25","typeDescriptions":{}}},"id":30855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1432:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30849,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"1416:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"1416:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1416:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30857,"nodeType":"ExpressionStatement","src":"1416:49:25"},{"expression":{"arguments":[{"id":30861,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30807,"src":"1491:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":30858,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"1471:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":30860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28934,"src":"1471:19:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":30862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1471:26:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"id":30863,"nodeType":"ExpressionStatement","src":"1471:26:25"}]},"functionSelector":"a28c5e34","implemented":true,"kind":"function","modifiers":[],"name":"testUnsuccessfulAggregation","nameLocation":"1070:27:25","parameters":{"id":30800,"nodeType":"ParameterList","parameters":[],"src":"1097:2:25"},"returnParameters":{"id":30801,"nodeType":"ParameterList","parameters":[],"src":"1107:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30962,"nodeType":"FunctionDefinition","src":"1579:581:25","nodes":[],"body":{"id":30961,"nodeType":"Block","src":"1614:546:25","nodes":[],"statements":[{"assignments":[30874],"declarations":[{"constant":false,"id":30874,"mutability":"mutable","name":"calls","nameLocation":"1645:5:25","nodeType":"VariableDeclaration","scope":30961,"src":"1620:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":30872,"nodeType":"UserDefinedTypeName","pathNode":{"id":30871,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1620:15:25"},"referencedDeclaration":28837,"src":"1620:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30873,"nodeType":"ArrayTypeName","src":"1620:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":30881,"initialValue":{"arguments":[{"hexValue":"32","id":30879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1675:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1653:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":30876,"nodeType":"UserDefinedTypeName","pathNode":{"id":30875,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1657:15:25"},"referencedDeclaration":28837,"src":"1657:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30877,"nodeType":"ArrayTypeName","src":"1657:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":30880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1653:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1620:57:25"},{"expression":{"id":30898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30882,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30874,"src":"1683:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30884,"indexExpression":{"hexValue":"30","id":30883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1689:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1683:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30889,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"1718:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1710:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30887,"name":"address","nodeType":"ElementaryTypeName","src":"1710:7:25","typeDescriptions":{}}},"id":30890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1710:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1751:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30894,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1776:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1776:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30891,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1727:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1727:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1727:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30885,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"1694:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"1694:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1694:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"1683:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30899,"nodeType":"ExpressionStatement","src":"1683:107:25"},{"expression":{"id":30914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30900,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30874,"src":"1796:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30902,"indexExpression":{"hexValue":"31","id":30901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1802:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1796:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30907,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"1831:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1823:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30905,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:25","typeDescriptions":{}}},"id":30908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1823:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1864:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1840:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1840:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1840:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30903,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"1807:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"1807:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1807:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"1796:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30915,"nodeType":"ExpressionStatement","src":"1796:91:25"},{"assignments":[30921],"declarations":[{"constant":false,"id":30921,"mutability":"mutable","name":"returnData","nameLocation":"1921:10:25","nodeType":"VariableDeclaration","scope":30961,"src":"1894:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":30919,"nodeType":"UserDefinedTypeName","pathNode":{"id":30918,"name":"Multicall3.Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"1894:17:25"},"referencedDeclaration":28858,"src":"1894:17:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":30920,"nodeType":"ArrayTypeName","src":"1894:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"id":30927,"initialValue":{"arguments":[{"hexValue":"66616c7365","id":30924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1958:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":30925,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30874,"src":"1965:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":30922,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"1935:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":30923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryAggregate","nodeType":"MemberAccess","referencedDeclaration":29015,"src":"1935:22:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bool_$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":30926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1935:36:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1893:78:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":30929,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30921,"src":"1988:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":30931,"indexExpression":{"hexValue":"30","id":30930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1999:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1988:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":30932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"1988:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30928,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"1977:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1977:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30934,"nodeType":"ExpressionStatement","src":"1977:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":30937,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30921,"src":"2035:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":30939,"indexExpression":{"hexValue":"30","id":30938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2046:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2035:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":30940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"2035:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30936,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2025:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2025:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30946,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2099:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2099:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30945,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"2089:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2089:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2072:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2072:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2072:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30942,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2062:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2062:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30935,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"2016:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2016:99:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30952,"nodeType":"ExpressionStatement","src":"2016:99:25"},{"expression":{"arguments":[{"id":30958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2132:22:25","subExpression":{"expression":{"baseExpression":{"id":30954,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30921,"src":"2133:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":30956,"indexExpression":{"hexValue":"31","id":30955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2144:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2133:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":30957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"2133:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30953,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"2121:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2121:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30960,"nodeType":"ExpressionStatement","src":"2121:34:25"}]},"documentation":{"id":30866,"nodeType":"StructuredDocumentation","src":"1506:70:25","text":">>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"7e5ed4db","implemented":true,"kind":"function","modifiers":[],"name":"testTryAggregate","nameLocation":"1588:16:25","parameters":{"id":30867,"nodeType":"ParameterList","parameters":[],"src":"1604:2:25"},"returnParameters":{"id":30868,"nodeType":"ParameterList","parameters":[],"src":"1614:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31029,"nodeType":"FunctionDefinition","src":"2164:421:25","nodes":[],"body":{"id":31028,"nodeType":"Block","src":"2211:374:25","nodes":[],"statements":[{"assignments":[30970],"declarations":[{"constant":false,"id":30970,"mutability":"mutable","name":"calls","nameLocation":"2242:5:25","nodeType":"VariableDeclaration","scope":31028,"src":"2217:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":30968,"nodeType":"UserDefinedTypeName","pathNode":{"id":30967,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2217:15:25"},"referencedDeclaration":28837,"src":"2217:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30969,"nodeType":"ArrayTypeName","src":"2217:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":30977,"initialValue":{"arguments":[{"hexValue":"32","id":30975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2272:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2250:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":30972,"nodeType":"UserDefinedTypeName","pathNode":{"id":30971,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2254:15:25"},"referencedDeclaration":28837,"src":"2254:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30973,"nodeType":"ArrayTypeName","src":"2254:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":30976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2250:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2217:57:25"},{"expression":{"id":30994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30978,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30970,"src":"2280:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30980,"indexExpression":{"hexValue":"30","id":30979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2286:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2280:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30985,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"2315:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2307:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30983,"name":"address","nodeType":"ElementaryTypeName","src":"2307:7:25","typeDescriptions":{}}},"id":30986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2307:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2348:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30990,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2373:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2373:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30987,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2324:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2324:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2324:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30981,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"2291:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"2291:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2291:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"2280:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30995,"nodeType":"ExpressionStatement","src":"2280:107:25"},{"expression":{"id":31010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30996,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30970,"src":"2393:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30998,"indexExpression":{"hexValue":"31","id":30997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2399:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2393:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31003,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"2428:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2420:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31001,"name":"address","nodeType":"ElementaryTypeName","src":"2420:7:25","typeDescriptions":{}}},"id":31004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2420:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2461:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31005,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2437:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2437:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2437:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30999,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"2404:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"2404:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2404:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"2393:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31011,"nodeType":"ExpressionStatement","src":"2393:91:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2512:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2506:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31015,"name":"bytes","nodeType":"ElementaryTypeName","src":"2506:5:25","typeDescriptions":{}}},"id":31018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2506:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31012,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"2490:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"2490:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2490:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31020,"nodeType":"ExpressionStatement","src":"2490:49:25"},{"expression":{"arguments":[{"hexValue":"74727565","id":31024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2568:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":31025,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30970,"src":"2574:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":31021,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"2545:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryAggregate","nodeType":"MemberAccess","referencedDeclaration":29015,"src":"2545:22:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bool_$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2545:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31027,"nodeType":"ExpressionStatement","src":"2545:35:25"}]},"functionSelector":"434004ec","implemented":true,"kind":"function","modifiers":[],"name":"testTryAggregateUnsuccessful","nameLocation":"2173:28:25","parameters":{"id":30963,"nodeType":"ParameterList","parameters":[],"src":"2201:2:25"},"returnParameters":{"id":30964,"nodeType":"ParameterList","parameters":[],"src":"2211:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31142,"nodeType":"FunctionDefinition","src":"2662:728:25","nodes":[],"body":{"id":31141,"nodeType":"Block","src":"2705:685:25","nodes":[],"statements":[{"assignments":[31038],"declarations":[{"constant":false,"id":31038,"mutability":"mutable","name":"calls","nameLocation":"2736:5:25","nodeType":"VariableDeclaration","scope":31141,"src":"2711:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":31036,"nodeType":"UserDefinedTypeName","pathNode":{"id":31035,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2711:15:25"},"referencedDeclaration":28837,"src":"2711:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31037,"nodeType":"ArrayTypeName","src":"2711:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":31045,"initialValue":{"arguments":[{"hexValue":"32","id":31043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2766:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":31042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2744:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":31040,"nodeType":"UserDefinedTypeName","pathNode":{"id":31039,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2748:15:25"},"referencedDeclaration":28837,"src":"2748:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31041,"nodeType":"ArrayTypeName","src":"2748:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":31044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2744:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2711:57:25"},{"expression":{"id":31062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31046,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31038,"src":"2774:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31048,"indexExpression":{"hexValue":"30","id":31047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2780:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2774:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31053,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"2809:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2801:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31051,"name":"address","nodeType":"ElementaryTypeName","src":"2801:7:25","typeDescriptions":{}}},"id":31054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2801:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2842:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31058,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2867:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2867:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31055,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2818:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2818:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2818:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31049,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"2785:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"2785:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2785:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"2774:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31063,"nodeType":"ExpressionStatement","src":"2774:107:25"},{"expression":{"id":31078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31064,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31038,"src":"2887:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31066,"indexExpression":{"hexValue":"31","id":31065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2893:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2887:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31071,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"2922:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2914:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31069,"name":"address","nodeType":"ElementaryTypeName","src":"2914:7:25","typeDescriptions":{}}},"id":31072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2914:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2955:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31073,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2931:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2931:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2931:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31067,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"2898:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"2898:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2898:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"2887:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31079,"nodeType":"ExpressionStatement","src":"2887:91:25"},{"assignments":[31081,31083,31087],"declarations":[{"constant":false,"id":31081,"mutability":"mutable","name":"blockNumber","nameLocation":"2993:11:25","nodeType":"VariableDeclaration","scope":31141,"src":"2985:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31080,"name":"uint256","nodeType":"ElementaryTypeName","src":"2985:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31083,"mutability":"mutable","name":"blockHash","nameLocation":"3014:9:25","nodeType":"VariableDeclaration","scope":31141,"src":"3006:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3006:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31087,"mutability":"mutable","name":"returnData","nameLocation":"3052:10:25","nodeType":"VariableDeclaration","scope":31141,"src":"3025:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":31085,"nodeType":"UserDefinedTypeName","pathNode":{"id":31084,"name":"Multicall3.Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"3025:17:25"},"referencedDeclaration":28858,"src":"3025:17:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":31086,"nodeType":"ArrayTypeName","src":"3025:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"id":31093,"initialValue":{"arguments":[{"hexValue":"66616c7365","id":31090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3097:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":31091,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31038,"src":"3104:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":31088,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"3066:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryBlockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":29053,"src":"3066:30:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bool_$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3066:44:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"2984:126:25"},{"expression":{"arguments":[{"id":31095,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31081,"src":"3125:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":31096,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3138:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3138:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31094,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"3116:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3116:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31099,"nodeType":"ExpressionStatement","src":"3116:35:25"},{"expression":{"arguments":[{"id":31101,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31083,"src":"3166:9:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"id":31103,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3187:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3187:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31102,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3177:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3177:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31100,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"3157:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3157:44:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31107,"nodeType":"ExpressionStatement","src":"3157:44:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31109,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31087,"src":"3218:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31111,"indexExpression":{"hexValue":"30","id":31110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3229:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3218:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"3218:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31108,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3207:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3207:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31114,"nodeType":"ExpressionStatement","src":"3207:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31117,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31087,"src":"3265:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31119,"indexExpression":{"hexValue":"30","id":31118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3276:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3265:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"3265:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31116,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3255:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3255:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":31126,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3329:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3329:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31125,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3319:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3319:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":31123,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3302:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3302:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3302:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31122,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3292:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3292:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31115,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"3246:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3246:99:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31132,"nodeType":"ExpressionStatement","src":"3246:99:25"},{"expression":{"arguments":[{"id":31138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3362:22:25","subExpression":{"expression":{"baseExpression":{"id":31134,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31087,"src":"3363:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31136,"indexExpression":{"hexValue":"31","id":31135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3374:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3363:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"3363:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31133,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3351:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3351:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31140,"nodeType":"ExpressionStatement","src":"3351:34:25"}]},"documentation":{"id":31030,"nodeType":"StructuredDocumentation","src":"2589:70:25","text":">>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///"},"functionSelector":"b668ab7d","implemented":true,"kind":"function","modifiers":[],"name":"testTryBlockAndAggregate","nameLocation":"2671:24:25","parameters":{"id":31031,"nodeType":"ParameterList","parameters":[],"src":"2695:2:25"},"returnParameters":{"id":31032,"nodeType":"ParameterList","parameters":[],"src":"2705:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31209,"nodeType":"FunctionDefinition","src":"3394:437:25","nodes":[],"body":{"id":31208,"nodeType":"Block","src":"3449:382:25","nodes":[],"statements":[{"assignments":[31150],"declarations":[{"constant":false,"id":31150,"mutability":"mutable","name":"calls","nameLocation":"3480:5:25","nodeType":"VariableDeclaration","scope":31208,"src":"3455:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":31148,"nodeType":"UserDefinedTypeName","pathNode":{"id":31147,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3455:15:25"},"referencedDeclaration":28837,"src":"3455:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31149,"nodeType":"ArrayTypeName","src":"3455:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":31157,"initialValue":{"arguments":[{"hexValue":"32","id":31155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3510:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":31154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3488:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":31152,"nodeType":"UserDefinedTypeName","pathNode":{"id":31151,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3492:15:25"},"referencedDeclaration":28837,"src":"3492:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31153,"nodeType":"ArrayTypeName","src":"3492:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":31156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3488:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3455:57:25"},{"expression":{"id":31174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31158,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31150,"src":"3518:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31160,"indexExpression":{"hexValue":"30","id":31159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3524:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3518:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31165,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"3553:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3545:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31163,"name":"address","nodeType":"ElementaryTypeName","src":"3545:7:25","typeDescriptions":{}}},"id":31166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3545:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3586:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31170,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3611:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3611:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3562:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3562:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3562:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31161,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"3529:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"3529:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3529:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"3518:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31175,"nodeType":"ExpressionStatement","src":"3518:107:25"},{"expression":{"id":31190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31176,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31150,"src":"3631:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31178,"indexExpression":{"hexValue":"31","id":31177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3637:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3631:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31183,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"3666:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3658:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31181,"name":"address","nodeType":"ElementaryTypeName","src":"3658:7:25","typeDescriptions":{}}},"id":31184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3658:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3699:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3675:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3675:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3675:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31179,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"3642:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"3642:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3642:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"3631:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31191,"nodeType":"ExpressionStatement","src":"3631:91:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3750:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3744:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31195,"name":"bytes","nodeType":"ElementaryTypeName","src":"3744:5:25","typeDescriptions":{}}},"id":31198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3744:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31192,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"3728:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"3728:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3728:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31200,"nodeType":"ExpressionStatement","src":"3728:49:25"},{"expression":{"arguments":[{"hexValue":"74727565","id":31204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3814:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":31205,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31150,"src":"3820:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":31201,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"3783:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryBlockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":29053,"src":"3783:30:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bool_$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3783:43:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31207,"nodeType":"ExpressionStatement","src":"3783:43:25"}]},"functionSelector":"90c6e931","implemented":true,"kind":"function","modifiers":[],"name":"testTryBlockAndAggregateUnsuccessful","nameLocation":"3403:36:25","parameters":{"id":31143,"nodeType":"ParameterList","parameters":[],"src":"3439:2:25"},"returnParameters":{"id":31144,"nodeType":"ParameterList","parameters":[],"src":"3449:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31275,"nodeType":"FunctionDefinition","src":"3835:425:25","nodes":[],"body":{"id":31274,"nodeType":"Block","src":"3887:373:25","nodes":[],"statements":[{"assignments":[31217],"declarations":[{"constant":false,"id":31217,"mutability":"mutable","name":"calls","nameLocation":"3918:5:25","nodeType":"VariableDeclaration","scope":31274,"src":"3893:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":31215,"nodeType":"UserDefinedTypeName","pathNode":{"id":31214,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3893:15:25"},"referencedDeclaration":28837,"src":"3893:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31216,"nodeType":"ArrayTypeName","src":"3893:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":31224,"initialValue":{"arguments":[{"hexValue":"32","id":31222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3948:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":31221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3926:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":31219,"nodeType":"UserDefinedTypeName","pathNode":{"id":31218,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3930:15:25"},"referencedDeclaration":28837,"src":"3930:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31220,"nodeType":"ArrayTypeName","src":"3930:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":31223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3926:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3893:57:25"},{"expression":{"id":31241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31225,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31217,"src":"3956:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31227,"indexExpression":{"hexValue":"30","id":31226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3962:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3956:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31232,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"3991:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3983:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31230,"name":"address","nodeType":"ElementaryTypeName","src":"3983:7:25","typeDescriptions":{}}},"id":31233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3983:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4024:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31237,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4049:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"4049:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31234,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4000:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4000:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4000:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31228,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"3967:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"3967:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3967:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"3956:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31242,"nodeType":"ExpressionStatement","src":"3956:107:25"},{"expression":{"id":31257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31243,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31217,"src":"4069:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31245,"indexExpression":{"hexValue":"31","id":31244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4075:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4069:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31250,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"4104:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4096:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31248,"name":"address","nodeType":"ElementaryTypeName","src":"4096:7:25","typeDescriptions":{}}},"id":31251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4096:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4137:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31252,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4113:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4113:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4113:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31246,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"4080:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"4080:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4080:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"4069:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31258,"nodeType":"ExpressionStatement","src":"4069:91:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4188:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4182:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31262,"name":"bytes","nodeType":"ElementaryTypeName","src":"4182:5:25","typeDescriptions":{}}},"id":31265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4182:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31259,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"4166:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"4166:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4166:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31267,"nodeType":"ExpressionStatement","src":"4166:49:25"},{"expression":{"arguments":[{"id":31271,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31217,"src":"4249:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":31268,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"4221:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"blockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":29080,"src":"4221:27:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4221:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31273,"nodeType":"ExpressionStatement","src":"4221:34:25"}]},"functionSelector":"1d303931","implemented":true,"kind":"function","modifiers":[],"name":"testBlockAndAggregateUnsuccessful","nameLocation":"3844:33:25","parameters":{"id":31210,"nodeType":"ParameterList","parameters":[],"src":"3877:2:25"},"returnParameters":{"id":31211,"nodeType":"ParameterList","parameters":[],"src":"3887:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31454,"nodeType":"FunctionDefinition","src":"4337:1091:25","nodes":[],"body":{"id":31453,"nodeType":"Block","src":"4370:1058:25","nodes":[],"statements":[{"assignments":[31284],"declarations":[{"constant":false,"id":31284,"mutability":"mutable","name":"calls","nameLocation":"4402:5:25","nodeType":"VariableDeclaration","scope":31453,"src":"4376:31:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3[]"},"typeName":{"baseType":{"id":31282,"nodeType":"UserDefinedTypeName","pathNode":{"id":31281,"name":"Multicall3.Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"4376:16:25"},"referencedDeclaration":28844,"src":"4376:16:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":31283,"nodeType":"ArrayTypeName","src":"4376:18:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}},"visibility":"internal"}],"id":31291,"initialValue":{"arguments":[{"hexValue":"33","id":31289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4433:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4410:22:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":31286,"nodeType":"UserDefinedTypeName","pathNode":{"id":31285,"name":"Multicall3.Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"4414:16:25"},"referencedDeclaration":28844,"src":"4414:16:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":31287,"nodeType":"ArrayTypeName","src":"4414:18:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}}},"id":31290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4410:25:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4376:59:25"},{"expression":{"id":31309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31292,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31284,"src":"4441:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31294,"indexExpression":{"hexValue":"30","id":31293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4447:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4441:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31299,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"4477:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4469:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31297,"name":"address","nodeType":"ElementaryTypeName","src":"4469:7:25","typeDescriptions":{}}},"id":31300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4469:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4486:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4517:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31305,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4542:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"4542:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4493:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4493:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4493:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31295,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"4452:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"4452:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4452:104:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"4441:115:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31310,"nodeType":"ExpressionStatement","src":"4441:115:25"},{"expression":{"id":31326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31311,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31284,"src":"4562:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31313,"indexExpression":{"hexValue":"31","id":31312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4568:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4562:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31318,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"4598:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4590:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31316,"name":"address","nodeType":"ElementaryTypeName","src":"4590:7:25","typeDescriptions":{}}},"id":31319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4590:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4607:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4637:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4613:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4613:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4613:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31314,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"4573:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"4573:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4573:87:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"4562:98:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31327,"nodeType":"ExpressionStatement","src":"4562:98:25"},{"expression":{"id":31343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31328,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31284,"src":"4666:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31330,"indexExpression":{"hexValue":"32","id":31329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4672:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4666:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31335,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"4702:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}],"id":31334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4694:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31333,"name":"address","nodeType":"ElementaryTypeName","src":"4694:7:25","typeDescriptions":{}}},"id":31336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4694:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4714:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657443757272656e74426c6f636b54696d657374616d702829","id":31340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4744:28:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_0f28c97d007f30cf70b492fc4841677c7a4116e5bd511a88406c1219ba4ff635","typeString":"literal_string \"getCurrentBlockTimestamp()\""},"value":"getCurrentBlockTimestamp()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0f28c97d007f30cf70b492fc4841677c7a4116e5bd511a88406c1219ba4ff635","typeString":"literal_string \"getCurrentBlockTimestamp()\""}],"expression":{"id":31338,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4720:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4720:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4720:53:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31331,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"4677:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"4677:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4677:97:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"4666:108:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31344,"nodeType":"ExpressionStatement","src":"4666:108:25"},{"assignments":[31350],"declarations":[{"constant":false,"id":31350,"mutability":"mutable","name":"returnData","nameLocation":"4808:10:25","nodeType":"VariableDeclaration","scope":31453,"src":"4781:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":31348,"nodeType":"UserDefinedTypeName","pathNode":{"id":31347,"name":"Multicall3.Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"4781:17:25"},"referencedDeclaration":28858,"src":"4781:17:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":31349,"nodeType":"ArrayTypeName","src":"4781:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"id":31355,"initialValue":{"arguments":[{"id":31353,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31284,"src":"4843:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}],"expression":{"id":31351,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"4822:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3","nodeType":"MemberAccess","referencedDeclaration":29152,"src":"4822:20:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3 memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4822:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4780:69:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31357,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"4882:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31359,"indexExpression":{"hexValue":"30","id":31358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4893:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4882:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"4882:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31356,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"4871:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4871:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31362,"nodeType":"ExpressionStatement","src":"4871:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":31365,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4929:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"4929:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31364,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"4919:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4919:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"baseExpression":{"id":31370,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"4955:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31372,"indexExpression":{"hexValue":"30","id":31371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4966:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4955:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"4955:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":31375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4982:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":31374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4982:7:25","typeDescriptions":{}}}],"id":31376,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4981:9:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":31368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4944:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"4944:10:25","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":31377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4944:47:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31363,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4910:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4910:82:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31379,"nodeType":"ExpressionStatement","src":"4910:82:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31382,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5017:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31384,"indexExpression":{"hexValue":"30","id":31383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5028:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5017:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"5017:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31381,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5007:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5007:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":31391,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5081:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5081:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31390,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"5071:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5071:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":31388,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5054:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5054:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5054:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31387,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5044:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5044:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31380,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4998:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4998:99:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31397,"nodeType":"ExpressionStatement","src":"4998:99:25"},{"expression":{"arguments":[{"id":31403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5130:22:25","subExpression":{"expression":{"baseExpression":{"id":31399,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5131:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31401,"indexExpression":{"hexValue":"31","id":31400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5142:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5131:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31402,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"5131:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31398,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"5119:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5119:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31405,"nodeType":"ExpressionStatement","src":"5119:34:25"},{"expression":{"arguments":[{"expression":{"expression":{"baseExpression":{"id":31407,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5168:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31409,"indexExpression":{"hexValue":"31","id":31408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5179:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5168:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"5168:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":31411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5168:31:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"34","id":31412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5201:1:25","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":31406,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"5159:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5159:44:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31414,"nodeType":"ExpressionStatement","src":"5159:44:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31418,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5225:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31420,"indexExpression":{"hexValue":"31","id":31419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5236:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5225:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"5225:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5218:6:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":31416,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5218:6:25","typeDescriptions":{}}},"id":31422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5218:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"hexValue":"556e7375636365737366756c2829","id":31426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5269:16:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_81775cc3b9c3884cf58ae65c143f8a7c86c1a556d299542edd1e3d6a7e310a03","typeString":"literal_string \"Unsuccessful()\""},"value":"Unsuccessful()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81775cc3b9c3884cf58ae65c143f8a7c86c1a556d299542edd1e3d6a7e310a03","typeString":"literal_string \"Unsuccessful()\""}],"id":31425,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5259:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5259:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5252:6:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":31423,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5252:6:25","typeDescriptions":{}}},"id":31428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5252:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":31415,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"5209:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5209:79:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31430,"nodeType":"ExpressionStatement","src":"5209:79:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31432,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5321:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31434,"indexExpression":{"hexValue":"32","id":31433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5332:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5321:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"5321:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31431,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"5310:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5310:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31437,"nodeType":"ExpressionStatement","src":"5310:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31441,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5369:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31443,"indexExpression":{"hexValue":"32","id":31442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5380:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5369:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"5369:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":31446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5396:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":31445,"name":"uint256","nodeType":"ElementaryTypeName","src":"5396:7:25","typeDescriptions":{}}}],"id":31447,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5395:9:25","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":31439,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5358:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"5358:10:25","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":31448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5358:47:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":31449,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5407:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"5407:15:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31438,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"5349:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5349:74:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31452,"nodeType":"ExpressionStatement","src":"5349:74:25"}]},"documentation":{"id":31276,"nodeType":"StructuredDocumentation","src":"4264:70:25","text":">>>>>>>>>>>>>>>>>>> AGGREGATE3 TESTS <<<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"7d498da7","implemented":true,"kind":"function","modifiers":[],"name":"testAggregate3","nameLocation":"4346:14:25","parameters":{"id":31277,"nodeType":"ParameterList","parameters":[],"src":"4360:2:25"},"returnParameters":{"id":31278,"nodeType":"ParameterList","parameters":[],"src":"4370:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31522,"nodeType":"FunctionDefinition","src":"5432:429:25","nodes":[],"body":{"id":31521,"nodeType":"Block","src":"5477:384:25","nodes":[],"statements":[{"assignments":[31462],"declarations":[{"constant":false,"id":31462,"mutability":"mutable","name":"calls","nameLocation":"5509:5:25","nodeType":"VariableDeclaration","scope":31521,"src":"5483:31:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3[]"},"typeName":{"baseType":{"id":31460,"nodeType":"UserDefinedTypeName","pathNode":{"id":31459,"name":"Multicall3.Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"5483:16:25"},"referencedDeclaration":28844,"src":"5483:16:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":31461,"nodeType":"ArrayTypeName","src":"5483:18:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}},"visibility":"internal"}],"id":31469,"initialValue":{"arguments":[{"hexValue":"32","id":31467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5540:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":31466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5517:22:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":31464,"nodeType":"UserDefinedTypeName","pathNode":{"id":31463,"name":"Multicall3.Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"5521:16:25"},"referencedDeclaration":28844,"src":"5521:16:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":31465,"nodeType":"ArrayTypeName","src":"5521:18:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}}},"id":31468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5517:25:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5483:59:25"},{"expression":{"id":31487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31470,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31462,"src":"5548:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31472,"indexExpression":{"hexValue":"30","id":31471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5554:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5548:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31477,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"5584:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5576:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31475,"name":"address","nodeType":"ElementaryTypeName","src":"5576:7:25","typeDescriptions":{}}},"id":31478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5576:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5593:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5624:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31483,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5649:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5649:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31480,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5600:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5600:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5600:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31473,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"5559:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"5559:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5559:104:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"5548:115:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31488,"nodeType":"ExpressionStatement","src":"5548:115:25"},{"expression":{"id":31504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31489,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31462,"src":"5669:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31491,"indexExpression":{"hexValue":"31","id":31490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5675:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5669:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31496,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"5705:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5697:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31494,"name":"address","nodeType":"ElementaryTypeName","src":"5697:7:25","typeDescriptions":{}}},"id":31497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5697:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5714:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5745:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31499,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5721:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5721:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5721:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31492,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"5680:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"5680:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5680:88:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"5669:99:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31505,"nodeType":"ExpressionStatement","src":"5669:99:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5796:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5790:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31509,"name":"bytes","nodeType":"ElementaryTypeName","src":"5790:5:25","typeDescriptions":{}}},"id":31512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5790:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"5774:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"5774:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5774:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31514,"nodeType":"ExpressionStatement","src":"5774:49:25"},{"expression":{"arguments":[{"id":31518,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31462,"src":"5850:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}],"expression":{"id":31515,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"5829:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3","nodeType":"MemberAccess","referencedDeclaration":29152,"src":"5829:20:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3 memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5829:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31520,"nodeType":"ExpressionStatement","src":"5829:27:25"}]},"functionSelector":"e3d37d78","implemented":true,"kind":"function","modifiers":[],"name":"testAggregate3Unsuccessful","nameLocation":"5441:26:25","parameters":{"id":31455,"nodeType":"ParameterList","parameters":[],"src":"5467:2:25"},"returnParameters":{"id":31456,"nodeType":"ParameterList","parameters":[],"src":"5477:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31653,"nodeType":"FunctionDefinition","src":"5938:807:25","nodes":[],"body":{"id":31652,"nodeType":"Block","src":"5976:769:25","nodes":[],"statements":[{"assignments":[31531],"declarations":[{"constant":false,"id":31531,"mutability":"mutable","name":"calls","nameLocation":"6013:5:25","nodeType":"VariableDeclaration","scope":31652,"src":"5982:36:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":31529,"nodeType":"UserDefinedTypeName","pathNode":{"id":31528,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"5982:21:25"},"referencedDeclaration":28853,"src":"5982:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31530,"nodeType":"ArrayTypeName","src":"5982:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"id":31538,"initialValue":{"arguments":[{"hexValue":"33","id":31536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6049:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6021:27:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":31533,"nodeType":"UserDefinedTypeName","pathNode":{"id":31532,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"6025:21:25"},"referencedDeclaration":28853,"src":"6025:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31534,"nodeType":"ArrayTypeName","src":"6025:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}}},"id":31537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6021:30:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5982:69:25"},{"expression":{"id":31557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31539,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31531,"src":"6057:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31541,"indexExpression":{"hexValue":"30","id":31540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6063:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6057:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31546,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"6098:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6090:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31544,"name":"address","nodeType":"ElementaryTypeName","src":"6090:7:25","typeDescriptions":{}}},"id":31547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6090:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6107:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":31549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6114:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6141:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31553,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6166:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"6166:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31550,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6117:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6117:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6117:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31542,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"6068:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"6068:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6068:112:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"6057:123:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31558,"nodeType":"ExpressionStatement","src":"6057:123:25"},{"expression":{"id":31575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31559,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31531,"src":"6186:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31561,"indexExpression":{"hexValue":"31","id":31560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6192:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6186:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31566,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"6227:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6219:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31564,"name":"address","nodeType":"ElementaryTypeName","src":"6219:7:25","typeDescriptions":{}}},"id":31567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6219:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6236:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":31569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6242:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6269:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31570,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6245:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6245:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6245:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31562,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"6197:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"6197:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6197:95:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"6186:106:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31576,"nodeType":"ExpressionStatement","src":"6186:106:25"},{"expression":{"id":31597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31577,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31531,"src":"6298:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31579,"indexExpression":{"hexValue":"32","id":31578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6304:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6298:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31584,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"6339:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6331:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31582,"name":"address","nodeType":"ElementaryTypeName","src":"6331:7:25","typeDescriptions":{}}},"id":31585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6331:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6348:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"31","id":31587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6354:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"hexValue":"73656e644261636b56616c7565286164647265737329","id":31590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6381:24:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},"value":"sendBackValue(address)"},{"arguments":[{"id":31593,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"6415:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}],"id":31592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6407:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31591,"name":"address","nodeType":"ElementaryTypeName","src":"6407:7:25","typeDescriptions":{}}},"id":31594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6407:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6357:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6357:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6357:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31580,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"6309:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"6309:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6309:118:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"6298:129:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31598,"nodeType":"ExpressionStatement","src":"6298:129:25"},{"assignments":[31604],"declarations":[{"constant":false,"id":31604,"mutability":"mutable","name":"returnData","nameLocation":"6461:10:25","nodeType":"VariableDeclaration","scope":31652,"src":"6434:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":31602,"nodeType":"UserDefinedTypeName","pathNode":{"id":31601,"name":"Multicall3.Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"6434:17:25"},"referencedDeclaration":28858,"src":"6434:17:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":31603,"nodeType":"ArrayTypeName","src":"6434:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"id":31611,"initialValue":{"arguments":[{"id":31609,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31531,"src":"6511:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"id":31605,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"6475:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":29247,"src":"6475:25:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":31607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6508:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"src":"6475:35:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6475:42:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6433:84:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31613,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31604,"src":"6534:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31615,"indexExpression":{"hexValue":"30","id":31614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6545:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6534:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"6534:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31612,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"6523:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6523:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31618,"nodeType":"ExpressionStatement","src":"6523:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31621,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31604,"src":"6581:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31623,"indexExpression":{"hexValue":"30","id":31622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6592:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6581:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"6581:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31620,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6571:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6571:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":31630,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6645:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"6645:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31629,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"6635:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6635:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":31627,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6618:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6618:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6618:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31626,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6608:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6608:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31619,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"6562:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6562:99:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31636,"nodeType":"ExpressionStatement","src":"6562:99:25"},{"expression":{"arguments":[{"id":31642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6678:22:25","subExpression":{"expression":{"baseExpression":{"id":31638,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31604,"src":"6679:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31640,"indexExpression":{"hexValue":"31","id":31639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6690:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6679:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"6679:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31637,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"6667:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6667:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31644,"nodeType":"ExpressionStatement","src":"6667:34:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31646,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31604,"src":"6718:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31648,"indexExpression":{"hexValue":"32","id":31647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6729:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6718:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"6718:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31645,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"6707:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6707:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31651,"nodeType":"ExpressionStatement","src":"6707:33:25"}]},"documentation":{"id":31523,"nodeType":"StructuredDocumentation","src":"5865:70:25","text":">>>>>>>>>>>>>>>>> AGGREGATE3VALUE TESTS <<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"f69f11f9","implemented":true,"kind":"function","modifiers":[],"name":"testAggregate3Value","nameLocation":"5947:19:25","parameters":{"id":31524,"nodeType":"ParameterList","parameters":[],"src":"5966:2:25"},"returnParameters":{"id":31525,"nodeType":"ParameterList","parameters":[],"src":"5976:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31914,"nodeType":"FunctionDefinition","src":"6749:1751:25","nodes":[],"body":{"id":31913,"nodeType":"Block","src":"6799:1701:25","nodes":[],"statements":[{"assignments":[31661],"declarations":[{"constant":false,"id":31661,"mutability":"mutable","name":"calls","nameLocation":"6836:5:25","nodeType":"VariableDeclaration","scope":31913,"src":"6805:36:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":31659,"nodeType":"UserDefinedTypeName","pathNode":{"id":31658,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"6805:21:25"},"referencedDeclaration":28853,"src":"6805:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31660,"nodeType":"ArrayTypeName","src":"6805:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"id":31668,"initialValue":{"arguments":[{"hexValue":"33","id":31666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6872:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6844:27:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":31663,"nodeType":"UserDefinedTypeName","pathNode":{"id":31662,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"6848:21:25"},"referencedDeclaration":28853,"src":"6848:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31664,"nodeType":"ArrayTypeName","src":"6848:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}}},"id":31667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6844:30:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6805:69:25"},{"expression":{"id":31687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31669,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31661,"src":"6880:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31671,"indexExpression":{"hexValue":"30","id":31670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6886:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6880:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31676,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"6921:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6913:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31674,"name":"address","nodeType":"ElementaryTypeName","src":"6913:7:25","typeDescriptions":{}}},"id":31677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6913:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6930:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":31679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6937:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6964:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31683,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6989:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"6989:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31680,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6940:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6940:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6940:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31672,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"6891:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"6891:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6891:112:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"6880:123:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31688,"nodeType":"ExpressionStatement","src":"6880:123:25"},{"expression":{"id":31705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31689,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31661,"src":"7009:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31691,"indexExpression":{"hexValue":"31","id":31690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7015:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7009:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31696,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7050:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7042:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31694,"name":"address","nodeType":"ElementaryTypeName","src":"7042:7:25","typeDescriptions":{}}},"id":31697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7042:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7059:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":31699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7066:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7093:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31700,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7069:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7069:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7069:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31692,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7020:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7020:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7020:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7009:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31706,"nodeType":"ExpressionStatement","src":"7009:107:25"},{"expression":{"id":31727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31707,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31661,"src":"7122:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31709,"indexExpression":{"hexValue":"32","id":31708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7128:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7122:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31714,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7163:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7155:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31712,"name":"address","nodeType":"ElementaryTypeName","src":"7155:7:25","typeDescriptions":{}}},"id":31715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7155:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7172:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"31","id":31717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7179:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"hexValue":"73656e644261636b56616c7565286164647265737329","id":31720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7206:24:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},"value":"sendBackValue(address)"},{"arguments":[{"id":31723,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"7240:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}],"id":31722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7232:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31721,"name":"address","nodeType":"ElementaryTypeName","src":"7232:7:25","typeDescriptions":{}}},"id":31724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7232:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7182:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7182:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7182:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31710,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7133:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7133:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7133:119:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7122:130:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31728,"nodeType":"ExpressionStatement","src":"7122:130:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7280:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7274:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31732,"name":"bytes","nodeType":"ElementaryTypeName","src":"7274:5:25","typeDescriptions":{}}},"id":31735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7274:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31729,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"7258:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"7258:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7258:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31737,"nodeType":"ExpressionStatement","src":"7258:49:25"},{"expression":{"arguments":[{"id":31741,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31661,"src":"7339:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"id":31738,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"7313:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":29247,"src":"7313:25:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7313:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31743,"nodeType":"ExpressionStatement","src":"7313:32:25"},{"assignments":[31749],"declarations":[{"constant":false,"id":31749,"mutability":"mutable","name":"calls2","nameLocation":"7435:6:25","nodeType":"VariableDeclaration","scope":31913,"src":"7404:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":31747,"nodeType":"UserDefinedTypeName","pathNode":{"id":31746,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"7404:21:25"},"referencedDeclaration":28853,"src":"7404:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31748,"nodeType":"ArrayTypeName","src":"7404:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"id":31756,"initialValue":{"arguments":[{"hexValue":"33","id":31754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7472:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7444:27:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":31751,"nodeType":"UserDefinedTypeName","pathNode":{"id":31750,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"7448:21:25"},"referencedDeclaration":28853,"src":"7448:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31752,"nodeType":"ArrayTypeName","src":"7448:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}}},"id":31755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7444:30:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7404:70:25"},{"expression":{"id":31775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31757,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31749,"src":"7480:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31759,"indexExpression":{"hexValue":"30","id":31758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7487:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7480:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31764,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7522:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7514:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31762,"name":"address","nodeType":"ElementaryTypeName","src":"7514:7:25","typeDescriptions":{}}},"id":31765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7514:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7531:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":31767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7537:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7564:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31771,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7589:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"7589:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31768,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7540:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7540:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7540:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31760,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7492:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7492:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7492:111:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7480:123:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31776,"nodeType":"ExpressionStatement","src":"7480:123:25"},{"expression":{"id":31793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31777,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31749,"src":"7609:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31779,"indexExpression":{"hexValue":"31","id":31778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7616:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7609:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31784,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7651:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7643:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31782,"name":"address","nodeType":"ElementaryTypeName","src":"7643:7:25","typeDescriptions":{}}},"id":31785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7643:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7660:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":31787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7666:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7693:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7669:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7669:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7669:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31780,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7621:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7621:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7621:95:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7609:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31794,"nodeType":"ExpressionStatement","src":"7609:107:25"},{"expression":{"id":31815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31795,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31749,"src":"7722:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31797,"indexExpression":{"hexValue":"32","id":31796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7729:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7722:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31802,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7764:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7756:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31800,"name":"address","nodeType":"ElementaryTypeName","src":"7756:7:25","typeDescriptions":{}}},"id":31803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7756:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7773:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"31","id":31805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7779:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"hexValue":"73656e644261636b56616c7565286164647265737329","id":31808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7806:24:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},"value":"sendBackValue(address)"},{"arguments":[{"id":31811,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"7840:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}],"id":31810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7832:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31809,"name":"address","nodeType":"ElementaryTypeName","src":"7832:7:25","typeDescriptions":{}}},"id":31812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7832:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31806,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7782:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7782:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7782:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31798,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7734:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7734:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7734:118:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7722:130:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31816,"nodeType":"ExpressionStatement","src":"7722:130:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2076616c7565206d69736d61746368","id":31822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7880:28:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_52d1b5fbcd1a89add74bb8157dc5d3d128a6df96345d91050302a8ad17d52eb9","typeString":"literal_string \"Multicall3: value mismatch\""},"value":"Multicall3: value mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52d1b5fbcd1a89add74bb8157dc5d3d128a6df96345d91050302a8ad17d52eb9","typeString":"literal_string \"Multicall3: value mismatch\""}],"id":31821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7874:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31820,"name":"bytes","nodeType":"ElementaryTypeName","src":"7874:5:25","typeDescriptions":{}}},"id":31823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7874:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31817,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"7858:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"7858:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7858:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31825,"nodeType":"ExpressionStatement","src":"7858:52:25"},{"expression":{"arguments":[{"id":31829,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31749,"src":"7942:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"id":31826,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"7916:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":29247,"src":"7916:25:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7916:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31831,"nodeType":"ExpressionStatement","src":"7916:33:25"},{"assignments":[31837],"declarations":[{"constant":false,"id":31837,"mutability":"mutable","name":"calls3","nameLocation":"8027:6:25","nodeType":"VariableDeclaration","scope":31913,"src":"7996:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":31835,"nodeType":"UserDefinedTypeName","pathNode":{"id":31834,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"7996:21:25"},"referencedDeclaration":28853,"src":"7996:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31836,"nodeType":"ArrayTypeName","src":"7996:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"id":31844,"initialValue":{"arguments":[{"hexValue":"33","id":31842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8064:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8036:27:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":31839,"nodeType":"UserDefinedTypeName","pathNode":{"id":31838,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"8040:21:25"},"referencedDeclaration":28853,"src":"8040:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31840,"nodeType":"ArrayTypeName","src":"8040:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}}},"id":31843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8036:30:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7996:70:25"},{"expression":{"id":31863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31845,"name":"calls3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31837,"src":"8072:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31847,"indexExpression":{"hexValue":"30","id":31846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8079:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8072:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31852,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"8114:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8106:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31850,"name":"address","nodeType":"ElementaryTypeName","src":"8106:7:25","typeDescriptions":{}}},"id":31853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8106:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8123:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":31855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8130:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8157:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31859,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8182:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"8182:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31856,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8133:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8133:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8133:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31848,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"8084:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"8084:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8084:112:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"8072:124:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31864,"nodeType":"ExpressionStatement","src":"8072:124:25"},{"expression":{"id":31881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31865,"name":"calls3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31837,"src":"8202:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31867,"indexExpression":{"hexValue":"31","id":31866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8209:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8202:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31872,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"8244:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8236:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31870,"name":"address","nodeType":"ElementaryTypeName","src":"8236:7:25","typeDescriptions":{}}},"id":31873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8236:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8253:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":31875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8259:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8286:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31876,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8262:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8262:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8262:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31868,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"8214:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"8214:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8214:95:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"8202:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31882,"nodeType":"ExpressionStatement","src":"8202:107:25"},{"expression":{"id":31903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31883,"name":"calls3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31837,"src":"8315:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31885,"indexExpression":{"hexValue":"32","id":31884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8322:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8315:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31890,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"8357:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8349:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31888,"name":"address","nodeType":"ElementaryTypeName","src":"8349:7:25","typeDescriptions":{}}},"id":31891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8349:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8366:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"31","id":31893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8373:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"hexValue":"73656e644261636b56616c7565286164647265737329","id":31896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8400:24:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},"value":"sendBackValue(address)"},{"arguments":[{"id":31899,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"8434:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}],"id":31898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8426:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31897,"name":"address","nodeType":"ElementaryTypeName","src":"8426:7:25","typeDescriptions":{}}},"id":31900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8426:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31894,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8376:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8376:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8376:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31886,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"8327:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"8327:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8327:119:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"8315:131:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31904,"nodeType":"ExpressionStatement","src":"8315:131:25"},{"expression":{"arguments":[{"id":31910,"name":"calls3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31837,"src":"8488:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"id":31905,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"8452:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":29247,"src":"8452:25:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":31908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8485:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"src":"8452:35:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8452:43:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31912,"nodeType":"ExpressionStatement","src":"8452:43:25"}]},"functionSelector":"3ab461c7","implemented":true,"kind":"function","modifiers":[],"name":"testAggregate3ValueUnsuccessful","nameLocation":"6758:31:25","parameters":{"id":31654,"nodeType":"ParameterList","parameters":[],"src":"6789:2:25"},"returnParameters":{"id":31655,"nodeType":"ParameterList","parameters":[],"src":"6799:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31931,"nodeType":"FunctionDefinition","src":"8577:134:25","nodes":[],"body":{"id":31930,"nodeType":"Block","src":"8631:80:25","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":31922,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31917,"src":"8656:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31921,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"8646:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8646:22:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":31926,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31917,"src":"8693:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31924,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"8670:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockHash","nodeType":"MemberAccess","referencedDeclaration":29262,"src":"8670:22:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view external returns (bytes32)"}},"id":31927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8670:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31920,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"8637:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8637:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31929,"nodeType":"ExpressionStatement","src":"8637:69:25"}]},"documentation":{"id":31915,"nodeType":"StructuredDocumentation","src":"8504:70:25","text":">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"41e299fe","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockHash","nameLocation":"8586:16:25","parameters":{"id":31918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31917,"mutability":"mutable","name":"blockNumber","nameLocation":"8611:11:25","nodeType":"VariableDeclaration","scope":31931,"src":"8603:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31916,"name":"uint256","nodeType":"ElementaryTypeName","src":"8603:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8602:21:25"},"returnParameters":{"id":31919,"nodeType":"ParameterList","parameters":[],"src":"8631:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31943,"nodeType":"FunctionDefinition","src":"8715:98:25","nodes":[],"body":{"id":31942,"nodeType":"Block","src":"8752:61:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31935,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8767:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"8767:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31937,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"8781:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockNumber","nodeType":"MemberAccess","referencedDeclaration":29274,"src":"8781:24:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":31939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8781:26:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31934,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"8758:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8758:50:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31941,"nodeType":"ExpressionStatement","src":"8758:50:25"}]},"functionSelector":"23b4ffe0","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockNumber","nameLocation":"8724:18:25","parameters":{"id":31932,"nodeType":"ParameterList","parameters":[],"src":"8742:2:25"},"returnParameters":{"id":31933,"nodeType":"ParameterList","parameters":[],"src":"8752:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31955,"nodeType":"FunctionDefinition","src":"8817:118:25","nodes":[],"body":{"id":31954,"nodeType":"Block","src":"8863:72:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31947,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8878:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"8878:14:25","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31949,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"8894:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockCoinbase","nodeType":"MemberAccess","referencedDeclaration":29286,"src":"8894:33:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":31951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8894:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":31946,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":320,"src":"8869:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":31952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8869:61:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31953,"nodeType":"ExpressionStatement","src":"8869:61:25"}]},"functionSelector":"9027c03f","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockCoinbase","nameLocation":"8826:27:25","parameters":{"id":31944,"nodeType":"ParameterList","parameters":[],"src":"8853:2:25"},"returnParameters":{"id":31945,"nodeType":"ParameterList","parameters":[],"src":"8863:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31967,"nodeType":"FunctionDefinition","src":"8939:124:25","nodes":[],"body":{"id":31966,"nodeType":"Block","src":"8987:76:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31959,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9002:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"9002:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31961,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9020:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockDifficulty","nodeType":"MemberAccess","referencedDeclaration":29298,"src":"9020:35:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":31963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9020:37:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31958,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"8993:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8993:65:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31965,"nodeType":"ExpressionStatement","src":"8993:65:25"}]},"functionSelector":"77185968","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockDifficulty","nameLocation":"8948:29:25","parameters":{"id":31956,"nodeType":"ParameterList","parameters":[],"src":"8977:2:25"},"returnParameters":{"id":31957,"nodeType":"ParameterList","parameters":[],"src":"8987:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31979,"nodeType":"FunctionDefinition","src":"9067:118:25","nodes":[],"body":{"id":31978,"nodeType":"Block","src":"9113:72:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31971,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9128:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"9128:14:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31973,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9144:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockGasLimit","nodeType":"MemberAccess","referencedDeclaration":29310,"src":"9144:33:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":31975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9144:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31970,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9119:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9119:61:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31977,"nodeType":"ExpressionStatement","src":"9119:61:25"}]},"functionSelector":"943849a9","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockGasLimit","nameLocation":"9076:27:25","parameters":{"id":31968,"nodeType":"ParameterList","parameters":[],"src":"9103:2:25"},"returnParameters":{"id":31969,"nodeType":"ParameterList","parameters":[],"src":"9113:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31991,"nodeType":"FunctionDefinition","src":"9189:121:25","nodes":[],"body":{"id":31990,"nodeType":"Block","src":"9236:74:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31983,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9251:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"9251:15:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31985,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9268:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":29322,"src":"9268:34:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":31987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9268:36:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31982,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9242:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9242:63:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31989,"nodeType":"ExpressionStatement","src":"9242:63:25"}]},"functionSelector":"4059c002","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockTimestamp","nameLocation":"9198:28:25","parameters":{"id":31980,"nodeType":"ParameterList","parameters":[],"src":"9226:2:25"},"returnParameters":{"id":31981,"nodeType":"ParameterList","parameters":[],"src":"9236:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32006,"nodeType":"FunctionDefinition","src":"9314:112:25","nodes":[],"body":{"id":32005,"nodeType":"Block","src":"9362:64:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31997,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31993,"src":"9377:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":31998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"9377:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":32001,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31993,"src":"9415:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31999,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9391:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":32000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getEthBalance","nodeType":"MemberAccess","referencedDeclaration":29336,"src":"9391:23:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":32002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9391:29:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31996,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9368:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":32003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9368:53:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32004,"nodeType":"ExpressionStatement","src":"9368:53:25"}]},"functionSelector":"8ef09210","implemented":true,"kind":"function","modifiers":[],"name":"testGetEthBalance","nameLocation":"9323:17:25","parameters":{"id":31994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31993,"mutability":"mutable","name":"addr","nameLocation":"9349:4:25","nodeType":"VariableDeclaration","scope":32006,"src":"9341:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31992,"name":"address","nodeType":"ElementaryTypeName","src":"9341:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9340:14:25"},"returnParameters":{"id":31995,"nodeType":"ParameterList","parameters":[],"src":"9362:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32028,"nodeType":"FunctionDefinition","src":"9430:209:25","nodes":[],"body":{"id":32027,"nodeType":"Block","src":"9469:170:25","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32009,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9536:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9536:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":32011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9552:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9536:17:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32014,"nodeType":"IfStatement","src":"9532:30:25","trueBody":{"functionReturnParameters":32008,"id":32013,"nodeType":"Return","src":"9555:7:25"}},{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32017,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9586:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9586:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":32019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9601:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9586:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32016,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"9576:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":32021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9576:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":32022,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9605:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":32023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getLastBlockHash","nodeType":"MemberAccess","referencedDeclaration":29353,"src":"9605:26:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":32024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9605:28:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":32015,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"9567:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":32025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9567:67:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32026,"nodeType":"ExpressionStatement","src":"9567:67:25"}]},"functionSelector":"af056092","implemented":true,"kind":"function","modifiers":[],"name":"testGetLastBlockHash","nameLocation":"9439:20:25","parameters":{"id":32007,"nodeType":"ParameterList","parameters":[],"src":"9459:2:25"},"returnParameters":{"id":32008,"nodeType":"ParameterList","parameters":[],"src":"9469:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32040,"nodeType":"FunctionDefinition","src":"9643:91:25","nodes":[],"body":{"id":32039,"nodeType":"Block","src":"9676:58:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":32032,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9691:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","src":"9691:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":32034,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9706:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":32035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBasefee","nodeType":"MemberAccess","referencedDeclaration":29365,"src":"9706:20:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":32036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9706:22:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32031,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9682:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":32037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9682:47:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32038,"nodeType":"ExpressionStatement","src":"9682:47:25"}]},"functionSelector":"72f70f66","implemented":true,"kind":"function","modifiers":[],"name":"testGetBasefee","nameLocation":"9652:14:25","parameters":{"id":32029,"nodeType":"ParameterList","parameters":[],"src":"9666:2:25"},"returnParameters":{"id":32030,"nodeType":"ParameterList","parameters":[],"src":"9676:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32052,"nodeType":"FunctionDefinition","src":"9738:91:25","nodes":[],"body":{"id":32051,"nodeType":"Block","src":"9771:58:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":32044,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9786:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"9786:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":32046,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9801:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":32047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getChainId","nodeType":"MemberAccess","referencedDeclaration":29377,"src":"9801:20:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":32048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9801:22:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32043,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9777:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":32049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9777:47:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32050,"nodeType":"ExpressionStatement","src":"9777:47:25"}]},"functionSelector":"d924f180","implemented":true,"kind":"function","modifiers":[],"name":"testGetChainId","nameLocation":"9747:14:25","parameters":{"id":32041,"nodeType":"ParameterList","parameters":[],"src":"9761:2:25"},"returnParameters":{"id":32042,"nodeType":"ParameterList","parameters":[],"src":"9771:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":30694,"name":"Test","nodeType":"IdentifierPath","referencedDeclaration":10725,"src":"272:4:25"},"id":30695,"nodeType":"InheritanceSpecifier","src":"272:4:25"}],"canonicalName":"Multicall3Test","contractDependencies":[29378,32062,32115],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[32053,10725,1846,1843,10676,6475,6185,5526,3954,3260,1786],"name":"Multicall3Test","nameLocation":"254:14:25","scope":32054,"usedErrors":[]}],"license":"MIT"}},"src/test/mocks/EtherSink.sol":{"id":26,"ast":{"absolutePath":"src/test/mocks/EtherSink.sol","id":32063,"exportedSymbols":{"EtherSink":[32062]},"nodeType":"SourceUnit","src":"32:325:26","nodes":[{"id":32055,"nodeType":"PragmaDirective","src":"32:23:26","nodes":[],"literals":["solidity","0.8",".12"]},{"id":32062,"nodeType":"ContractDefinition","src":"164:193:26","nodes":[{"id":32061,"nodeType":"FunctionDefinition","src":"326:29:26","nodes":[],"body":{"id":32060,"nodeType":"Block","src":"353:2:26","nodes":[],"statements":[]},"documentation":{"id":32057,"nodeType":"StructuredDocumentation","src":"261:62:26","text":"@notice Allows the test to receive eth via low level calls"},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":32058,"nodeType":"ParameterList","parameters":[],"src":"333:2:26"},"returnParameters":{"id":32059,"nodeType":"ParameterList","parameters":[],"src":"353:0:26"},"scope":32062,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"EtherSink","contractDependencies":[],"contractKind":"contract","documentation":{"id":32056,"nodeType":"StructuredDocumentation","src":"57:107:26","text":"@title EtherSink\n @notice Receives Ether, that's about it \\( o_o )/\n @author andreas@nascent.xyz"},"fullyImplemented":true,"linearizedBaseContracts":[32062],"name":"EtherSink","nameLocation":"173:9:26","scope":32063,"usedErrors":[]}],"license":"MIT"}},"src/test/mocks/MockCallee.sol":{"id":27,"ast":{"absolutePath":"src/test/mocks/MockCallee.sol","id":32116,"exportedSymbols":{"MockCallee":[32115]},"nodeType":"SourceUnit","src":"32:773:27","nodes":[{"id":32064,"nodeType":"PragmaDirective","src":"32:23:27","nodes":[],"literals":["solidity","0.8",".12"]},{"id":32115,"nodeType":"ContractDefinition","src":"159:645:27","nodes":[{"id":32068,"nodeType":"ErrorDefinition","src":"206:21:27","nodes":[],"documentation":{"id":32066,"nodeType":"StructuredDocumentation","src":"184:19:27","text":"@notice Failure"},"name":"Unsuccessful","nameLocation":"212:12:27","parameters":{"id":32067,"nodeType":"ParameterList","parameters":[],"src":"224:2:27"}},{"id":32083,"nodeType":"FunctionDefinition","src":"384:128:27","nodes":[],"body":{"id":32082,"nodeType":"Block","src":"467:45:27","nodes":[],"statements":[{"expression":{"id":32080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":32076,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32074,"src":"473:9:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":32078,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32071,"src":"495:11:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32077,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"485:9:27","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":32079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"485:22:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"473:34:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":32081,"nodeType":"ExpressionStatement","src":"473:34:27"}]},"documentation":{"id":32069,"nodeType":"StructuredDocumentation","src":"231:150:27","text":"@notice Returns the block hash for the given block number\n @param blockNumber The block number\n @return blockHash The 32 byte block hash"},"functionSelector":"ee82ac5e","implemented":true,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"393:12:27","parameters":{"id":32072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32071,"mutability":"mutable","name":"blockNumber","nameLocation":"414:11:27","nodeType":"VariableDeclaration","scope":32083,"src":"406:19:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32070,"name":"uint256","nodeType":"ElementaryTypeName","src":"406:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"405:21:27"},"returnParameters":{"id":32075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32074,"mutability":"mutable","name":"blockHash","nameLocation":"456:9:27","nodeType":"VariableDeclaration","scope":32083,"src":"448:17:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"448:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"447:19:27"},"scope":32115,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":32091,"nodeType":"FunctionDefinition","src":"547:73:27","nodes":[],"body":{"id":32090,"nodeType":"Block","src":"588:32:27","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":32087,"name":"Unsuccessful","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32068,"src":"601:12:27","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":32088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"601:14:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32089,"nodeType":"RevertStatement","src":"594:21:27"}]},"documentation":{"id":32084,"nodeType":"StructuredDocumentation","src":"516:28:27","text":"@notice Reverts o______O"},"functionSelector":"032d0074","implemented":true,"kind":"function","modifiers":[],"name":"thisMethodReverts","nameLocation":"556:17:27","parameters":{"id":32085,"nodeType":"ParameterList","parameters":[],"src":"573:2:27"},"returnParameters":{"id":32086,"nodeType":"ParameterList","parameters":[],"src":"588:0:27"},"scope":32115,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":32114,"nodeType":"FunctionDefinition","src":"654:148:27","nodes":[],"body":{"id":32113,"nodeType":"Block","src":"708:94:27","nodes":[],"statements":[{"assignments":[32098,null],"declarations":[{"constant":false,"id":32098,"mutability":"mutable","name":"ok","nameLocation":"720:2:27","nodeType":"VariableDeclaration","scope":32113,"src":"715:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32097,"name":"bool","nodeType":"ElementaryTypeName","src":"715:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":32106,"initialValue":{"arguments":[{"hexValue":"","id":32104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"758:2:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":32099,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32094,"src":"728:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":32100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"728:11:27","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":32103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":32101,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"747:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"747:9:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"728:29:27","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":32105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"728:33:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"714:47:27"},{"condition":{"id":32108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"771:3:27","subExpression":{"id":32107,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32098,"src":"772:2:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32112,"nodeType":"IfStatement","src":"767:30:27","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":32109,"name":"Unsuccessful","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32068,"src":"783:12:27","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":32110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"783:14:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32111,"nodeType":"RevertStatement","src":"776:21:27"}}]},"documentation":{"id":32092,"nodeType":"StructuredDocumentation","src":"624:27:27","text":"@notice Accepts a value"},"functionSelector":"36c40ea6","implemented":true,"kind":"function","modifiers":[],"name":"sendBackValue","nameLocation":"663:13:27","parameters":{"id":32095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32094,"mutability":"mutable","name":"target","nameLocation":"685:6:27","nodeType":"VariableDeclaration","scope":32114,"src":"677:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32093,"name":"address","nodeType":"ElementaryTypeName","src":"677:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"676:16:27"},"returnParameters":{"id":32096,"nodeType":"ParameterList","parameters":[],"src":"708:0:27"},"scope":32115,"stateMutability":"payable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"MockCallee","contractDependencies":[],"contractKind":"contract","documentation":{"id":32065,"nodeType":"StructuredDocumentation","src":"57:102:27","text":"@title MockCallee\n @notice Receives calls from the Multicaller\n @author andreas@nascent.xyz"},"fullyImplemented":true,"linearizedBaseContracts":[32115],"name":"MockCallee","nameLocation":"168:10:27","scope":32116,"usedErrors":[32068]}],"license":"MIT"}}}},"solcLongVersion":"0.8.12","solcVersion":"0.8.12"} \ No newline at end of file diff --git a/jobs/predeploy/multicall3.yaml b/jobs/predeploy/multicall3.yaml new file mode 100644 index 0000000..61b10f5 --- /dev/null +++ b/jobs/predeploy/multicall3.yaml @@ -0,0 +1,20 @@ +name: "multicall3" +version: "1" +description: "Deploy Multicall3 via Singleton Factory (ERC-2470)" +depends_on: ["era-evm-predeploy-erc2470"] + +actions: + - name: "multicall3" + template: "erc-2470" + arguments: + salt: "0x416775737831323131206d616465204352454154453326342678030003000000" + creationCode: "{{Contract(./build-info/multicall3.json:Multicall3).creationCode}}" + output: true + + - name: "verify-multicall3" + type: "verify-contract" + depends_on: ["multicall3"] + arguments: + address: "{{multicall3.address}}" + contract: "{{Contract(./build-info/multicall3.json:Multicall3)}}" + output: false diff --git a/jobs/trails/build-info/rc-3/all-contracts.json b/jobs/trails/build-info/rc-3/all-contracts.json new file mode 100644 index 0000000..d30bb7d --- /dev/null +++ b/jobs/trails/build-info/rc-3/all-contracts.json @@ -0,0 +1 @@ +{"id":"1e060b0a5f267a28","source_id_to_path":{"0":"lib/erc2470-libs/script/SingletonDeployer.s.sol","1":"lib/erc2470-libs/src/ISingletonFactory.sol","2":"lib/forge-std/src/Base.sol","3":"lib/forge-std/src/Script.sol","4":"lib/forge-std/src/StdAssertions.sol","5":"lib/forge-std/src/StdChains.sol","6":"lib/forge-std/src/StdCheats.sol","7":"lib/forge-std/src/StdConstants.sol","8":"lib/forge-std/src/StdError.sol","9":"lib/forge-std/src/StdInvariant.sol","10":"lib/forge-std/src/StdJson.sol","11":"lib/forge-std/src/StdMath.sol","12":"lib/forge-std/src/StdStorage.sol","13":"lib/forge-std/src/StdStyle.sol","14":"lib/forge-std/src/StdToml.sol","15":"lib/forge-std/src/StdUtils.sol","16":"lib/forge-std/src/Test.sol","17":"lib/forge-std/src/Vm.sol","18":"lib/forge-std/src/console.sol","19":"lib/forge-std/src/console2.sol","20":"lib/forge-std/src/interfaces/IMulticall3.sol","21":"lib/forge-std/src/safeconsole.sol","22":"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","23":"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","24":"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","25":"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol","26":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","27":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol","28":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","29":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","30":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol","31":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","32":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","33":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","34":"lib/openzeppelin-contracts/contracts/utils/Bytes.sol","35":"lib/openzeppelin-contracts/contracts/utils/Context.sol","36":"lib/openzeppelin-contracts/contracts/utils/Nonces.sol","37":"lib/openzeppelin-contracts/contracts/utils/Panic.sol","38":"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol","39":"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol","40":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","41":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","42":"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol","43":"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol","44":"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol","45":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","46":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","47":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","48":"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","49":"lib/tstorish/src/Tstorish.sol","50":"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol","51":"script/TrailsIntentEntrypoint.s.sol","52":"script/TrailsRouter.s.sol","53":"script/TrailsRouterShim.s.sol","54":"src/TrailsIntentEntrypoint.sol","55":"src/TrailsRouter.sol","56":"src/TrailsRouterShim.sol","57":"src/guards/DelegatecallGuard.sol","58":"src/interfaces/IMulticall3.sol","59":"src/interfaces/ITrailsIntentEntrypoint.sol","60":"src/interfaces/ITrailsRouter.sol","61":"src/interfaces/ITrailsRouterShim.sol","62":"src/libraries/TrailsSentinelLib.sol","63":"test/TrailsIntentEntrypoint.t.sol","64":"test/TrailsRouter.t.sol","65":"test/TrailsRouterShim.t.sol","66":"test/guards/DelegatecallGuard.t.sol","67":"test/libraries/TrailsSentinelLib.t.sol","68":"test/mocks/MockERC20.sol","69":"test/mocks/MockMulticall3.sol","70":"test/mocks/MockNonStandardERC20.sol","71":"test/mocks/MockSenderGetter.sol","72":"test/script/TrailsIntentEntrypoint.s.t.sol","73":"test/script/TrailsRouter.s.t.sol","74":"test/script/TrailsRouterShim.s.t.sol","75":"test/utils/Create2Utils.sol","76":"test/utils/TstoreUtils.sol"},"language":"Solidity","_format":"ethers-rs-sol-build-info-1","input":{"version":"0.8.30","language":"Solidity","sources":{"lib/erc2470-libs/script/SingletonDeployer.s.sol":{"content":"// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.18;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {\n ISingletonFactory,\n SINGLETON_DEPLOY_COST,\n SINGLETON_DEPLOY_TX,\n SINGLETON_EOA_ADDR,\n SINGLETON_FACTORY_ADDR\n} from \"../src/ISingletonFactory.sol\";\n\nerror DeploymentFailed(string reason);\n\nabstract contract SingletonDeployer is Script {\n ISingletonFactory private constant SINGLETON_FACTORY = ISingletonFactory(SINGLETON_FACTORY_ADDR);\n\n function _deploySingletonFactoryIfNotAlready(uint256 pk) internal {\n if (SINGLETON_FACTORY_ADDR.code.length <= 2) {\n if (SINGLETON_EOA_ADDR.balance < SINGLETON_DEPLOY_COST) {\n // Fund Singleton Factory EOA\n console.log(\"Funding Singleton Factory EOA\");\n vm.startBroadcast(pk);\n payable(SINGLETON_EOA_ADDR).transfer(SINGLETON_DEPLOY_COST - SINGLETON_EOA_ADDR.balance);\n vm.stopBroadcast();\n }\n // Deploy Singleton Factory\n console.log(\"Deploying Singleton Factory to\", SINGLETON_FACTORY_ADDR);\n vm.broadcastRawTransaction(SINGLETON_DEPLOY_TX);\n }\n }\n\n function _deployIfNotAlready(string memory name, bytes memory _initCode, bytes32 _salt, uint256 pk)\n internal\n returns (address addr)\n {\n _deploySingletonFactoryIfNotAlready(pk);\n addr = _singletonAddressOf(_initCode, _salt);\n if (addr.code.length <= 2) {\n console.log(name, \"deploying to\", addr);\n vm.startBroadcast(pk);\n address actualAddr = SINGLETON_FACTORY.deploy(_initCode, _salt);\n vm.stopBroadcast();\n if (addr != actualAddr) {\n revert DeploymentFailed(\"Deployed address mismatch\");\n }\n if (addr.code.length <= 2) {\n revert DeploymentFailed(\"Deployment failed\");\n }\n } else {\n console.log(name, \"already deployed to\", addr);\n }\n return addr;\n }\n\n function _singletonAddressOf(bytes memory _initCode, bytes32 _salt) internal pure returns (address addr) {\n return address(\n uint160(\n uint256(\n keccak256(abi.encodePacked(bytes1(0xff), address(SINGLETON_FACTORY), _salt, keccak256(_initCode)))\n )\n )\n );\n }\n}\n"},"lib/erc2470-libs/src/ISingletonFactory.sol":{"content":"// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.18;\n\naddress constant SINGLETON_FACTORY_ADDR = 0xce0042B868300000d44A59004Da54A005ffdcf9f;\naddress constant SINGLETON_EOA_ADDR = 0xBb6e024b9cFFACB947A71991E386681B1Cd1477D;\nuint256 constant SINGLETON_DEPLOY_COST = 0.0247 ether;\nbytes constant SINGLETON_DEPLOY_TX =\n hex\"f9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470\";\n\ninterface ISingletonFactory {\n function deploy(bytes calldata _initCode, bytes32 _salt) external returns (address payable createdContract);\n}\n"},"lib/forge-std/src/Base.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {StdStorage} from \"./StdStorage.sol\";\nimport {Vm, VmSafe} from \"./Vm.sol\";\n\nabstract contract CommonBase {\n /// @dev Cheat code address.\n /// Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`.\n address internal constant VM_ADDRESS = 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D;\n\n /// @dev console.sol and console2.sol work by executing a staticcall to this address.\n /// Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`.\n address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;\n\n /// @dev Used when deploying with create2.\n /// Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\n address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n /// @dev The default address for tx.origin and msg.sender.\n /// Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`.\n address internal constant DEFAULT_SENDER = 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38;\n\n /// @dev The address of the first contract `CREATE`d by a running test contract.\n /// When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n /// Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\n address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;\n\n /// @dev Deterministic deployment address of the Multicall3 contract.\n /// Taken from https://www.multicall3.com.\n address internal constant MULTICALL3_ADDRESS = 0xcA11bde05977b3631167028862bE2a173976CA11;\n\n /// @dev The order of the secp256k1 curve.\n uint256 internal constant SECP256K1_ORDER =\n 115792089237316195423570985008687907852837564279074904382605163141518161494337;\n\n uint256 internal constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n Vm internal constant vm = Vm(VM_ADDRESS);\n StdStorage internal stdstore;\n}\n\nabstract contract TestBase is CommonBase {}\n\nabstract contract ScriptBase is CommonBase {\n VmSafe internal constant vmSafe = VmSafe(VM_ADDRESS);\n}\n"},"lib/forge-std/src/Script.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\n// 💬 ABOUT\n// Forge Std's default Script.\n\n// 🧩 MODULES\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {safeconsole} from \"./safeconsole.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheatsSafe} from \"./StdCheats.sol\";\nimport {StdConstants} from \"./StdConstants.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorageSafe} from \"./StdStorage.sol\";\nimport {StdStyle} from \"./StdStyle.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {VmSafe} from \"./Vm.sol\";\n\n// 📦 BOILERPLATE\nimport {ScriptBase} from \"./Base.sol\";\n\n// ⭐️ SCRIPT\nabstract contract Script is ScriptBase, StdChains, StdCheatsSafe, StdUtils {\n // Note: IS_SCRIPT() must return true.\n bool public IS_SCRIPT = true;\n}\n"},"lib/forge-std/src/StdAssertions.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport {Vm} from \"./Vm.sol\";\n\nabstract contract StdAssertions {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n event log(string);\n event logs(bytes);\n\n event log_address(address);\n event log_bytes32(bytes32);\n event log_int(int256);\n event log_uint(uint256);\n event log_bytes(bytes);\n event log_string(string);\n\n event log_named_address(string key, address val);\n event log_named_bytes32(string key, bytes32 val);\n event log_named_decimal_int(string key, int256 val, uint256 decimals);\n event log_named_decimal_uint(string key, uint256 val, uint256 decimals);\n event log_named_int(string key, int256 val);\n event log_named_uint(string key, uint256 val);\n event log_named_bytes(string key, bytes val);\n event log_named_string(string key, string val);\n\n event log_array(uint256[] val);\n event log_array(int256[] val);\n event log_array(address[] val);\n event log_named_array(string key, uint256[] val);\n event log_named_array(string key, int256[] val);\n event log_named_array(string key, address[] val);\n\n bytes32 private constant FAILED_SLOT = bytes32(\"failed\");\n\n bool private _failed;\n\n function failed() public view returns (bool) {\n if (_failed) {\n return true;\n } else {\n return vm.load(address(vm), FAILED_SLOT) != bytes32(0);\n }\n }\n\n function fail() internal virtual {\n vm.store(address(vm), FAILED_SLOT, bytes32(uint256(1)));\n _failed = true;\n }\n\n function fail(string memory message) internal virtual {\n fail();\n vm.assertTrue(false, message);\n }\n\n function assertTrue(bool data) internal pure virtual {\n if (!data) {\n vm.assertTrue(data);\n }\n }\n\n function assertTrue(bool data, string memory err) internal pure virtual {\n if (!data) {\n vm.assertTrue(data, err);\n }\n }\n\n function assertFalse(bool data) internal pure virtual {\n if (data) {\n vm.assertFalse(data);\n }\n }\n\n function assertFalse(bool data, string memory err) internal pure virtual {\n if (data) {\n vm.assertFalse(data, err);\n }\n }\n\n function assertEq(bool left, bool right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(bool left, bool right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEq(uint256 left, uint256 right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals);\n }\n\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals, err);\n }\n\n function assertEq(int256 left, int256 right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(int256 left, int256 right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEqDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals);\n }\n\n function assertEqDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals, err);\n }\n\n function assertEq(address left, address right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(address left, address right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEq(bytes32 left, bytes32 right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEq32(bytes32 left, bytes32 right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq32(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEq(string memory left, string memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(string memory left, string memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes memory left, bytes memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bool[] memory left, bool[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bool[] memory left, bool[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(uint256[] memory left, uint256[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(uint256[] memory left, uint256[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(int256[] memory left, int256[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(int256[] memory left, int256[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(address[] memory left, address[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(address[] memory left, address[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes32[] memory left, bytes32[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes32[] memory left, bytes32[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(string[] memory left, string[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(string[] memory left, string[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes[] memory left, bytes[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes[] memory left, bytes[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n // Legacy helper\n function assertEqUint(uint256 left, uint256 right) internal pure virtual {\n assertEq(left, right);\n }\n\n function assertNotEq(bool left, bool right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(bool left, bool right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEq(uint256 left, uint256 right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertNotEqDecimal(left, right, decimals);\n }\n\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string memory err)\n internal\n pure\n virtual\n {\n vm.assertNotEqDecimal(left, right, decimals, err);\n }\n\n function assertNotEq(int256 left, int256 right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(int256 left, int256 right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertNotEqDecimal(left, right, decimals);\n }\n\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertNotEqDecimal(left, right, decimals, err);\n }\n\n function assertNotEq(address left, address right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(address left, address right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEq(bytes32 left, bytes32 right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEq32(bytes32 left, bytes32 right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq32(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEq(string memory left, string memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(string memory left, string memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes memory left, bytes memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bool[] memory left, bool[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bool[] memory left, bool[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(uint256[] memory left, uint256[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(uint256[] memory left, uint256[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(int256[] memory left, int256[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(int256[] memory left, int256[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(address[] memory left, address[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(address[] memory left, address[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes32[] memory left, bytes32[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes32[] memory left, bytes32[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(string[] memory left, string[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(string[] memory left, string[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes[] memory left, bytes[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes[] memory left, bytes[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertLt(uint256 left, uint256 right) internal pure virtual {\n if (left >= right) {\n vm.assertLt(left, right);\n }\n }\n\n function assertLt(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left >= right) {\n vm.assertLt(left, right, err);\n }\n }\n\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals);\n }\n\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals, err);\n }\n\n function assertLt(int256 left, int256 right) internal pure virtual {\n if (left >= right) {\n vm.assertLt(left, right);\n }\n }\n\n function assertLt(int256 left, int256 right, string memory err) internal pure virtual {\n if (left >= right) {\n vm.assertLt(left, right, err);\n }\n }\n\n function assertLtDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals);\n }\n\n function assertLtDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals, err);\n }\n\n function assertGt(uint256 left, uint256 right) internal pure virtual {\n if (left <= right) {\n vm.assertGt(left, right);\n }\n }\n\n function assertGt(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left <= right) {\n vm.assertGt(left, right, err);\n }\n }\n\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals);\n }\n\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals, err);\n }\n\n function assertGt(int256 left, int256 right) internal pure virtual {\n if (left <= right) {\n vm.assertGt(left, right);\n }\n }\n\n function assertGt(int256 left, int256 right, string memory err) internal pure virtual {\n if (left <= right) {\n vm.assertGt(left, right, err);\n }\n }\n\n function assertGtDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals);\n }\n\n function assertGtDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals, err);\n }\n\n function assertLe(uint256 left, uint256 right) internal pure virtual {\n if (left > right) {\n vm.assertLe(left, right);\n }\n }\n\n function assertLe(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left > right) {\n vm.assertLe(left, right, err);\n }\n }\n\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals);\n }\n\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals, err);\n }\n\n function assertLe(int256 left, int256 right) internal pure virtual {\n if (left > right) {\n vm.assertLe(left, right);\n }\n }\n\n function assertLe(int256 left, int256 right, string memory err) internal pure virtual {\n if (left > right) {\n vm.assertLe(left, right, err);\n }\n }\n\n function assertLeDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals);\n }\n\n function assertLeDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals, err);\n }\n\n function assertGe(uint256 left, uint256 right) internal pure virtual {\n if (left < right) {\n vm.assertGe(left, right);\n }\n }\n\n function assertGe(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left < right) {\n vm.assertGe(left, right, err);\n }\n }\n\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals);\n }\n\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals, err);\n }\n\n function assertGe(int256 left, int256 right) internal pure virtual {\n if (left < right) {\n vm.assertGe(left, right);\n }\n }\n\n function assertGe(int256 left, int256 right, string memory err) internal pure virtual {\n if (left < right) {\n vm.assertGe(left, right, err);\n }\n }\n\n function assertGeDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals);\n }\n\n function assertGeDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals, err);\n }\n\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) internal pure virtual {\n vm.assertApproxEqAbs(left, right, maxDelta);\n }\n\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string memory err)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbs(left, right, maxDelta, err);\n }\n\n function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals);\n }\n\n function assertApproxEqAbsDecimal(\n uint256 left,\n uint256 right,\n uint256 maxDelta,\n uint256 decimals,\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals, err);\n }\n\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) internal pure virtual {\n vm.assertApproxEqAbs(left, right, maxDelta);\n }\n\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string memory err) internal pure virtual {\n vm.assertApproxEqAbs(left, right, maxDelta, err);\n }\n\n function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals);\n }\n\n function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string memory err)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals, err);\n }\n\n function assertApproxEqRel(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta // An 18 decimal fixed point number, where 1e18 == 100%\n ) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta);\n }\n\n function assertApproxEqRel(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta, err);\n }\n\n function assertApproxEqRelDecimal(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals);\n }\n\n function assertApproxEqRelDecimal(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals,\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals, err);\n }\n\n function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta);\n }\n\n function assertApproxEqRel(\n int256 left,\n int256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta, err);\n }\n\n function assertApproxEqRelDecimal(\n int256 left,\n int256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals);\n }\n\n function assertApproxEqRelDecimal(\n int256 left,\n int256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals,\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals, err);\n }\n\n // Inherited from DSTest, not used but kept for backwards-compatibility\n function checkEq0(bytes memory left, bytes memory right) internal pure returns (bool) {\n return keccak256(left) == keccak256(right);\n }\n\n function assertEq0(bytes memory left, bytes memory right) internal pure virtual {\n assertEq(left, right);\n }\n\n function assertEq0(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n assertEq(left, right, err);\n }\n\n function assertNotEq0(bytes memory left, bytes memory right) internal pure virtual {\n assertNotEq(left, right);\n }\n\n function assertNotEq0(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n assertNotEq(left, right, err);\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB) internal virtual {\n assertEqCall(target, callDataA, target, callDataB, true);\n }\n\n function assertEqCall(address targetA, bytes memory callDataA, address targetB, bytes memory callDataB)\n internal\n virtual\n {\n assertEqCall(targetA, callDataA, targetB, callDataB, true);\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB, bool strictRevertData)\n internal\n virtual\n {\n assertEqCall(target, callDataA, target, callDataB, strictRevertData);\n }\n\n function assertEqCall(\n address targetA,\n bytes memory callDataA,\n address targetB,\n bytes memory callDataB,\n bool strictRevertData\n ) internal virtual {\n (bool successA, bytes memory returnDataA) = address(targetA).call(callDataA);\n (bool successB, bytes memory returnDataB) = address(targetB).call(callDataB);\n\n if (successA && successB) {\n assertEq(returnDataA, returnDataB, \"Call return data does not match\");\n }\n\n if (!successA && !successB && strictRevertData) {\n assertEq(returnDataA, returnDataB, \"Call revert data does not match\");\n }\n\n if (!successA && successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call revert data\", returnDataA);\n emit log_named_bytes(\" Right call return data\", returnDataB);\n revert(\"assertion failed\");\n }\n\n if (successA && !successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call return data\", returnDataA);\n emit log_named_bytes(\" Right call revert data\", returnDataB);\n revert(\"assertion failed\");\n }\n }\n}\n"},"lib/forge-std/src/StdChains.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n/**\n * StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n * For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n * identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n * the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n * alias used in this contract, which can be found as the first argument to the\n * `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function.\n *\n * There are two main ways to use this contract:\n * 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n * `setChain(string memory chainAlias, Chain memory chain)`\n * 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n *\n * The first time either of those are used, chains are initialized with the default set of RPC URLs.\n * This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n * `defaultRpcUrls`.\n *\n * The `setChain` function is straightforward, and it simply saves off the given chain data.\n *\n * The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n * we want to retrieve the RPC URL for `mainnet`:\n * - If you have specified data with `setChain`, it will return that.\n * - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it\n * is valid (e.g. a URL is specified, or an environment variable is given and exists).\n * - If neither of the above conditions is met, the default data is returned.\n *\n * Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\n */\nabstract contract StdChains {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n bool private stdChainsInitialized;\n\n struct ChainData {\n string name;\n uint256 chainId;\n string rpcUrl;\n }\n\n struct Chain {\n // The chain name.\n string name;\n // The chain's Chain ID.\n uint256 chainId;\n // The chain's alias. (i.e. what gets specified in `foundry.toml`).\n string chainAlias;\n // A default RPC endpoint for this chain.\n // NOTE: This default RPC URL is included for convenience to facilitate quick tests and\n // experimentation. Do not use this RPC URL for production test suites, CI, or other heavy\n // usage as you will be throttled and this is a disservice to others who need this endpoint.\n string rpcUrl;\n }\n\n // Maps from the chain's alias (matching the alias in the `foundry.toml` file) to chain data.\n mapping(string => Chain) private chains;\n // Maps from the chain's alias to it's default RPC URL.\n mapping(string => string) private defaultRpcUrls;\n // Maps from a chain ID to it's alias.\n mapping(uint256 => string) private idToAlias;\n\n bool private fallbackToDefaultRpcUrls = true;\n\n // The RPC URL will be fetched from config or defaultRpcUrls if possible.\n function getChain(string memory chainAlias) internal virtual returns (Chain memory chain) {\n require(bytes(chainAlias).length != 0, \"StdChains getChain(string): Chain alias cannot be the empty string.\");\n\n initializeStdChains();\n chain = chains[chainAlias];\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(string): Chain with alias \\\"\", chainAlias, \"\\\" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n function getChain(uint256 chainId) internal virtual returns (Chain memory chain) {\n require(chainId != 0, \"StdChains getChain(uint256): Chain ID cannot be 0.\");\n initializeStdChains();\n string memory chainAlias = idToAlias[chainId];\n\n chain = chains[chainAlias];\n\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(uint256): Chain with ID \", vm.toString(chainId), \" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, ChainData memory chain) internal virtual {\n require(\n bytes(chainAlias).length != 0,\n \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\"\n );\n\n require(chain.chainId != 0, \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\");\n\n initializeStdChains();\n string memory foundAlias = idToAlias[chain.chainId];\n\n require(\n bytes(foundAlias).length == 0 || keccak256(bytes(foundAlias)) == keccak256(bytes(chainAlias)),\n string(\n abi.encodePacked(\n \"StdChains setChain(string,ChainData): Chain ID \",\n vm.toString(chain.chainId),\n \" already used by \\\"\",\n foundAlias,\n \"\\\".\"\n )\n )\n );\n\n uint256 oldChainId = chains[chainAlias].chainId;\n delete idToAlias[oldChainId];\n\n chains[chainAlias] =\n Chain({name: chain.name, chainId: chain.chainId, chainAlias: chainAlias, rpcUrl: chain.rpcUrl});\n idToAlias[chain.chainId] = chainAlias;\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, Chain memory chain) internal virtual {\n setChain(chainAlias, ChainData({name: chain.name, chainId: chain.chainId, rpcUrl: chain.rpcUrl}));\n }\n\n function _toUpper(string memory str) private pure returns (string memory) {\n bytes memory strb = bytes(str);\n bytes memory copy = new bytes(strb.length);\n for (uint256 i = 0; i < strb.length; i++) {\n bytes1 b = strb[i];\n if (b >= 0x61 && b <= 0x7A) {\n copy[i] = bytes1(uint8(b) - 32);\n } else {\n copy[i] = b;\n }\n }\n return string(copy);\n }\n\n // lookup rpcUrl, in descending order of priority:\n // current -> config (foundry.toml) -> environment variable -> default\n function getChainWithUpdatedRpcUrl(string memory chainAlias, Chain memory chain)\n private\n view\n returns (Chain memory)\n {\n if (bytes(chain.rpcUrl).length == 0) {\n try vm.rpcUrl(chainAlias) returns (string memory configRpcUrl) {\n chain.rpcUrl = configRpcUrl;\n } catch (bytes memory err) {\n string memory envName = string(abi.encodePacked(_toUpper(chainAlias), \"_RPC_URL\"));\n if (fallbackToDefaultRpcUrls) {\n chain.rpcUrl = vm.envOr(envName, defaultRpcUrls[chainAlias]);\n } else {\n chain.rpcUrl = vm.envString(envName);\n }\n // Distinguish 'not found' from 'cannot read'\n // The upstream error thrown by forge for failing cheats changed so we check both the old and new versions\n bytes memory oldNotFoundError =\n abi.encodeWithSignature(\"CheatCodeError\", string(abi.encodePacked(\"invalid rpc url \", chainAlias)));\n bytes memory newNotFoundError = abi.encodeWithSignature(\n \"CheatcodeError(string)\", string(abi.encodePacked(\"invalid rpc url: \", chainAlias))\n );\n bytes32 errHash = keccak256(err);\n if (\n (errHash != keccak256(oldNotFoundError) && errHash != keccak256(newNotFoundError))\n || bytes(chain.rpcUrl).length == 0\n ) {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, err), mload(err))\n }\n }\n }\n }\n return chain;\n }\n\n function setFallbackToDefaultRpcUrls(bool useDefault) internal {\n fallbackToDefaultRpcUrls = useDefault;\n }\n\n function initializeStdChains() private {\n if (stdChainsInitialized) return;\n\n stdChainsInitialized = true;\n\n // If adding an RPC here, make sure to test the default RPC URL in `test_Rpcs` in `StdChains.t.sol`\n setChainWithDefaultRpcUrl(\"anvil\", ChainData(\"Anvil\", 31337, \"http://127.0.0.1:8545\"));\n setChainWithDefaultRpcUrl(\"mainnet\", ChainData(\"Mainnet\", 1, \"https://eth.llamarpc.com\"));\n setChainWithDefaultRpcUrl(\n \"sepolia\", ChainData(\"Sepolia\", 11155111, \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\")\n );\n setChainWithDefaultRpcUrl(\"holesky\", ChainData(\"Holesky\", 17000, \"https://rpc.holesky.ethpandaops.io\"));\n setChainWithDefaultRpcUrl(\"hoodi\", ChainData(\"Hoodi\", 560048, \"https://rpc.hoodi.ethpandaops.io\"));\n setChainWithDefaultRpcUrl(\"optimism\", ChainData(\"Optimism\", 10, \"https://mainnet.optimism.io\"));\n setChainWithDefaultRpcUrl(\n \"optimism_sepolia\", ChainData(\"Optimism Sepolia\", 11155420, \"https://sepolia.optimism.io\")\n );\n setChainWithDefaultRpcUrl(\"arbitrum_one\", ChainData(\"Arbitrum One\", 42161, \"https://arb1.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\n \"arbitrum_one_sepolia\", ChainData(\"Arbitrum One Sepolia\", 421614, \"https://sepolia-rollup.arbitrum.io/rpc\")\n );\n setChainWithDefaultRpcUrl(\"arbitrum_nova\", ChainData(\"Arbitrum Nova\", 42170, \"https://nova.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\"polygon\", ChainData(\"Polygon\", 137, \"https://polygon-rpc.com\"));\n setChainWithDefaultRpcUrl(\n \"polygon_amoy\", ChainData(\"Polygon Amoy\", 80002, \"https://rpc-amoy.polygon.technology\")\n );\n setChainWithDefaultRpcUrl(\"avalanche\", ChainData(\"Avalanche\", 43114, \"https://api.avax.network/ext/bc/C/rpc\"));\n setChainWithDefaultRpcUrl(\n \"avalanche_fuji\", ChainData(\"Avalanche Fuji\", 43113, \"https://api.avax-test.network/ext/bc/C/rpc\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain\", ChainData(\"BNB Smart Chain\", 56, \"https://bsc-dataseed1.binance.org\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain_testnet\",\n ChainData(\"BNB Smart Chain Testnet\", 97, \"https://rpc.ankr.com/bsc_testnet_chapel\")\n );\n setChainWithDefaultRpcUrl(\"gnosis_chain\", ChainData(\"Gnosis Chain\", 100, \"https://rpc.gnosischain.com\"));\n setChainWithDefaultRpcUrl(\"moonbeam\", ChainData(\"Moonbeam\", 1284, \"https://rpc.api.moonbeam.network\"));\n setChainWithDefaultRpcUrl(\n \"moonriver\", ChainData(\"Moonriver\", 1285, \"https://rpc.api.moonriver.moonbeam.network\")\n );\n setChainWithDefaultRpcUrl(\"moonbase\", ChainData(\"Moonbase\", 1287, \"https://rpc.testnet.moonbeam.network\"));\n setChainWithDefaultRpcUrl(\"base_sepolia\", ChainData(\"Base Sepolia\", 84532, \"https://sepolia.base.org\"));\n setChainWithDefaultRpcUrl(\"base\", ChainData(\"Base\", 8453, \"https://mainnet.base.org\"));\n setChainWithDefaultRpcUrl(\"blast_sepolia\", ChainData(\"Blast Sepolia\", 168587773, \"https://sepolia.blast.io\"));\n setChainWithDefaultRpcUrl(\"blast\", ChainData(\"Blast\", 81457, \"https://rpc.blast.io\"));\n setChainWithDefaultRpcUrl(\"fantom_opera\", ChainData(\"Fantom Opera\", 250, \"https://rpc.ankr.com/fantom/\"));\n setChainWithDefaultRpcUrl(\n \"fantom_opera_testnet\", ChainData(\"Fantom Opera Testnet\", 4002, \"https://rpc.ankr.com/fantom_testnet/\")\n );\n setChainWithDefaultRpcUrl(\"fraxtal\", ChainData(\"Fraxtal\", 252, \"https://rpc.frax.com\"));\n setChainWithDefaultRpcUrl(\"fraxtal_testnet\", ChainData(\"Fraxtal Testnet\", 2522, \"https://rpc.testnet.frax.com\"));\n setChainWithDefaultRpcUrl(\n \"berachain_bartio_testnet\", ChainData(\"Berachain bArtio Testnet\", 80084, \"https://bartio.rpc.berachain.com\")\n );\n setChainWithDefaultRpcUrl(\"flare\", ChainData(\"Flare\", 14, \"https://flare-api.flare.network/ext/C/rpc\"));\n setChainWithDefaultRpcUrl(\n \"flare_coston2\", ChainData(\"Flare Coston2\", 114, \"https://coston2-api.flare.network/ext/C/rpc\")\n );\n\n setChainWithDefaultRpcUrl(\"mode\", ChainData(\"Mode\", 34443, \"https://mode.drpc.org\"));\n setChainWithDefaultRpcUrl(\"mode_sepolia\", ChainData(\"Mode Sepolia\", 919, \"https://sepolia.mode.network\"));\n\n setChainWithDefaultRpcUrl(\"zora\", ChainData(\"Zora\", 7777777, \"https://zora.drpc.org\"));\n setChainWithDefaultRpcUrl(\n \"zora_sepolia\", ChainData(\"Zora Sepolia\", 999999999, \"https://sepolia.rpc.zora.energy\")\n );\n\n setChainWithDefaultRpcUrl(\"race\", ChainData(\"Race\", 6805, \"https://racemainnet.io\"));\n setChainWithDefaultRpcUrl(\"race_sepolia\", ChainData(\"Race Sepolia\", 6806, \"https://racemainnet.io\"));\n\n setChainWithDefaultRpcUrl(\"metal\", ChainData(\"Metal\", 1750, \"https://metall2.drpc.org\"));\n setChainWithDefaultRpcUrl(\"metal_sepolia\", ChainData(\"Metal Sepolia\", 1740, \"https://testnet.rpc.metall2.com\"));\n\n setChainWithDefaultRpcUrl(\"binary\", ChainData(\"Binary\", 624, \"https://rpc.zero.thebinaryholdings.com\"));\n setChainWithDefaultRpcUrl(\n \"binary_sepolia\", ChainData(\"Binary Sepolia\", 625, \"https://rpc.zero.thebinaryholdings.com\")\n );\n\n setChainWithDefaultRpcUrl(\"orderly\", ChainData(\"Orderly\", 291, \"https://rpc.orderly.network\"));\n setChainWithDefaultRpcUrl(\n \"orderly_sepolia\", ChainData(\"Orderly Sepolia\", 4460, \"https://testnet-rpc.orderly.org\")\n );\n }\n\n // set chain info, with priority to chainAlias' rpc url in foundry.toml\n function setChainWithDefaultRpcUrl(string memory chainAlias, ChainData memory chain) private {\n string memory rpcUrl = chain.rpcUrl;\n defaultRpcUrls[chainAlias] = rpcUrl;\n chain.rpcUrl = \"\";\n setChain(chainAlias, chain);\n chain.rpcUrl = rpcUrl; // restore argument\n }\n}\n"},"lib/forge-std/src/StdCheats.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {console2} from \"./console2.sol\";\nimport {Vm} from \"./Vm.sol\";\n\nabstract contract StdCheatsSafe {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n uint256 private constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n bool private gasMeteringOff;\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawTx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n // json value name = function\n string functionSig;\n bytes32 hash;\n // json value name = tx\n RawTx1559Detail txDetail;\n // json value name = type\n string opcode;\n }\n\n struct RawTx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n bytes gas;\n bytes nonce;\n address to;\n bytes txType;\n bytes value;\n }\n\n struct Tx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n bytes32 hash;\n Tx1559Detail txDetail;\n string opcode;\n }\n\n struct Tx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n uint256 gas;\n uint256 nonce;\n address to;\n uint256 txType;\n uint256 value;\n }\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that DO NOT conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct TxLegacy {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n string hash;\n string opcode;\n TxDetailLegacy transaction;\n }\n\n struct TxDetailLegacy {\n AccessList[] accessList;\n uint256 chainId;\n bytes data;\n address from;\n uint256 gas;\n uint256 gasPrice;\n bytes32 hash;\n uint256 nonce;\n bytes1 opcode;\n bytes32 r;\n bytes32 s;\n uint256 txType;\n address to;\n uint8 v;\n uint256 value;\n }\n\n struct AccessList {\n address accessAddress;\n bytes32[] storageKeys;\n }\n\n // Data structures to parse Receipt objects from the broadcast artifact.\n // The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawReceipt {\n bytes32 blockHash;\n bytes blockNumber;\n address contractAddress;\n bytes cumulativeGasUsed;\n bytes effectiveGasPrice;\n address from;\n bytes gasUsed;\n RawReceiptLog[] logs;\n bytes logsBloom;\n bytes status;\n address to;\n bytes32 transactionHash;\n bytes transactionIndex;\n }\n\n struct Receipt {\n bytes32 blockHash;\n uint256 blockNumber;\n address contractAddress;\n uint256 cumulativeGasUsed;\n uint256 effectiveGasPrice;\n address from;\n uint256 gasUsed;\n ReceiptLog[] logs;\n bytes logsBloom;\n uint256 status;\n address to;\n bytes32 transactionHash;\n uint256 transactionIndex;\n }\n\n // Data structures to parse the entire broadcast artifact, assuming the\n // transactions conform to EIP1559.\n\n struct EIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n Receipt[] receipts;\n uint256 timestamp;\n Tx1559[] transactions;\n TxReturn[] txReturns;\n }\n\n struct RawEIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n RawReceipt[] receipts;\n TxReturn[] txReturns;\n uint256 timestamp;\n RawTx1559[] transactions;\n }\n\n struct RawReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n bytes blockNumber;\n bytes data;\n bytes logIndex;\n bool removed;\n bytes32[] topics;\n bytes32 transactionHash;\n bytes transactionIndex;\n bytes transactionLogIndex;\n }\n\n struct ReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n uint256 blockNumber;\n bytes data;\n uint256 logIndex;\n bytes32[] topics;\n uint256 transactionIndex;\n uint256 transactionLogIndex;\n bool removed;\n }\n\n struct TxReturn {\n string internalType;\n string value;\n }\n\n struct Account {\n address addr;\n uint256 key;\n }\n\n enum AddressType {\n Payable,\n NonPayable,\n ZeroAddress,\n Precompile,\n ForgeAddress\n }\n\n // Checks that `addr` is not blacklisted by token contracts that have a blacklist.\n function assumeNotBlacklisted(address token, address addr) internal view virtual {\n // Nothing to check if `token` is not a contract.\n uint256 tokenCodeSize;\n assembly {\n tokenCodeSize := extcodesize(token)\n }\n require(tokenCodeSize > 0, \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\");\n\n bool success;\n bytes memory returnData;\n\n // 4-byte selector for `isBlacklisted(address)`, used by USDC.\n (success, returnData) = token.staticcall(abi.encodeWithSelector(0xfe575a87, addr));\n vm.assume(!success || abi.decode(returnData, (bool)) == false);\n\n // 4-byte selector for `isBlackListed(address)`, used by USDT.\n (success, returnData) = token.staticcall(abi.encodeWithSelector(0xe47d6060, addr));\n vm.assume(!success || abi.decode(returnData, (bool)) == false);\n }\n\n // Checks that `addr` is not blacklisted by token contracts that have a blacklist.\n // This is identical to `assumeNotBlacklisted(address,address)` but with a different name, for\n // backwards compatibility, since this name was used in the original PR which already has\n // a release. This function can be removed in a future release once we want a breaking change.\n function assumeNoBlacklisted(address token, address addr) internal view virtual {\n assumeNotBlacklisted(token, addr);\n }\n\n function assumeAddressIsNot(address addr, AddressType addressType) internal virtual {\n if (addressType == AddressType.Payable) {\n assumeNotPayable(addr);\n } else if (addressType == AddressType.NonPayable) {\n assumePayable(addr);\n } else if (addressType == AddressType.ZeroAddress) {\n assumeNotZeroAddress(addr);\n } else if (addressType == AddressType.Precompile) {\n assumeNotPrecompile(addr);\n } else if (addressType == AddressType.ForgeAddress) {\n assumeNotForgeAddress(addr);\n }\n }\n\n function assumeAddressIsNot(address addr, AddressType addressType1, AddressType addressType2) internal virtual {\n assumeAddressIsNot(addr, addressType1);\n assumeAddressIsNot(addr, addressType2);\n }\n\n function assumeAddressIsNot(\n address addr,\n AddressType addressType1,\n AddressType addressType2,\n AddressType addressType3\n ) internal virtual {\n assumeAddressIsNot(addr, addressType1);\n assumeAddressIsNot(addr, addressType2);\n assumeAddressIsNot(addr, addressType3);\n }\n\n function assumeAddressIsNot(\n address addr,\n AddressType addressType1,\n AddressType addressType2,\n AddressType addressType3,\n AddressType addressType4\n ) internal virtual {\n assumeAddressIsNot(addr, addressType1);\n assumeAddressIsNot(addr, addressType2);\n assumeAddressIsNot(addr, addressType3);\n assumeAddressIsNot(addr, addressType4);\n }\n\n // This function checks whether an address, `addr`, is payable. It works by sending 1 wei to\n // `addr` and checking the `success` return value.\n // NOTE: This function may result in state changes depending on the fallback/receive logic\n // implemented by `addr`, which should be taken into account when this function is used.\n function _isPayable(address addr) private returns (bool) {\n require(\n addr.balance < UINT256_MAX,\n \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\"\n );\n uint256 origBalanceTest = address(this).balance;\n uint256 origBalanceAddr = address(addr).balance;\n\n vm.deal(address(this), 1);\n (bool success,) = payable(addr).call{value: 1}(\"\");\n\n // reset balances\n vm.deal(address(this), origBalanceTest);\n vm.deal(addr, origBalanceAddr);\n\n return success;\n }\n\n // NOTE: This function may result in state changes depending on the fallback/receive logic\n // implemented by `addr`, which should be taken into account when this function is used. See the\n // `_isPayable` method for more information.\n function assumePayable(address addr) internal virtual {\n vm.assume(_isPayable(addr));\n }\n\n function assumeNotPayable(address addr) internal virtual {\n vm.assume(!_isPayable(addr));\n }\n\n function assumeNotZeroAddress(address addr) internal pure virtual {\n vm.assume(addr != address(0));\n }\n\n function assumeNotPrecompile(address addr) internal pure virtual {\n assumeNotPrecompile(addr, _pureChainId());\n }\n\n function assumeNotPrecompile(address addr, uint256 chainId) internal pure virtual {\n // Note: For some chains like Optimism these are technically predeploys (i.e. bytecode placed at a specific\n // address), but the same rationale for excluding them applies so we include those too.\n\n // These are reserved by Ethereum and may be on all EVM-compatible chains.\n vm.assume(addr < address(0x1) || addr > address(0xff));\n\n // forgefmt: disable-start\n if (chainId == 10 || chainId == 420) {\n // https://github.com/ethereum-optimism/optimism/blob/eaa371a0184b56b7ca6d9eb9cb0a2b78b2ccd864/op-bindings/predeploys/addresses.go#L6-L21\n vm.assume(addr < address(0x4200000000000000000000000000000000000000) || addr > address(0x4200000000000000000000000000000000000800));\n } else if (chainId == 42161 || chainId == 421613) {\n // https://developer.arbitrum.io/useful-addresses#arbitrum-precompiles-l2-same-on-all-arb-chains\n vm.assume(addr < address(0x0000000000000000000000000000000000000064) || addr > address(0x0000000000000000000000000000000000000068));\n } else if (chainId == 43114 || chainId == 43113) {\n // https://github.com/ava-labs/subnet-evm/blob/47c03fd007ecaa6de2c52ea081596e0a88401f58/precompile/params.go#L18-L59\n vm.assume(addr < address(0x0100000000000000000000000000000000000000) || addr > address(0x01000000000000000000000000000000000000ff));\n vm.assume(addr < address(0x0200000000000000000000000000000000000000) || addr > address(0x02000000000000000000000000000000000000FF));\n vm.assume(addr < address(0x0300000000000000000000000000000000000000) || addr > address(0x03000000000000000000000000000000000000Ff));\n }\n // forgefmt: disable-end\n }\n\n function assumeNotForgeAddress(address addr) internal pure virtual {\n // vm, console, and Create2Deployer addresses\n vm.assume(\n addr != address(vm) && addr != 0x000000000000000000636F6e736F6c652e6c6f67\n && addr != 0x4e59b44847b379578588920cA78FbF26c0B4956C\n );\n }\n\n function assumeUnusedAddress(address addr) internal view virtual {\n uint256 size;\n assembly {\n size := extcodesize(addr)\n }\n vm.assume(size == 0);\n\n assumeNotPrecompile(addr);\n assumeNotZeroAddress(addr);\n assumeNotForgeAddress(addr);\n }\n\n function readEIP1559ScriptArtifact(string memory path)\n internal\n view\n virtual\n returns (EIP1559ScriptArtifact memory)\n {\n string memory data = vm.readFile(path);\n bytes memory parsedData = vm.parseJson(data);\n RawEIP1559ScriptArtifact memory rawArtifact = abi.decode(parsedData, (RawEIP1559ScriptArtifact));\n EIP1559ScriptArtifact memory artifact;\n artifact.libraries = rawArtifact.libraries;\n artifact.path = rawArtifact.path;\n artifact.timestamp = rawArtifact.timestamp;\n artifact.pending = rawArtifact.pending;\n artifact.txReturns = rawArtifact.txReturns;\n artifact.receipts = rawToConvertedReceipts(rawArtifact.receipts);\n artifact.transactions = rawToConvertedEIPTx1559s(rawArtifact.transactions);\n return artifact;\n }\n\n function rawToConvertedEIPTx1559s(RawTx1559[] memory rawTxs) internal pure virtual returns (Tx1559[] memory) {\n Tx1559[] memory txs = new Tx1559[](rawTxs.length);\n for (uint256 i; i < rawTxs.length; i++) {\n txs[i] = rawToConvertedEIPTx1559(rawTxs[i]);\n }\n return txs;\n }\n\n function rawToConvertedEIPTx1559(RawTx1559 memory rawTx) internal pure virtual returns (Tx1559 memory) {\n Tx1559 memory transaction;\n transaction.arguments = rawTx.arguments;\n transaction.contractName = rawTx.contractName;\n transaction.functionSig = rawTx.functionSig;\n transaction.hash = rawTx.hash;\n transaction.txDetail = rawToConvertedEIP1559Detail(rawTx.txDetail);\n transaction.opcode = rawTx.opcode;\n return transaction;\n }\n\n function rawToConvertedEIP1559Detail(RawTx1559Detail memory rawDetail)\n internal\n pure\n virtual\n returns (Tx1559Detail memory)\n {\n Tx1559Detail memory txDetail;\n txDetail.data = rawDetail.data;\n txDetail.from = rawDetail.from;\n txDetail.to = rawDetail.to;\n txDetail.nonce = _bytesToUint(rawDetail.nonce);\n txDetail.txType = _bytesToUint(rawDetail.txType);\n txDetail.value = _bytesToUint(rawDetail.value);\n txDetail.gas = _bytesToUint(rawDetail.gas);\n txDetail.accessList = rawDetail.accessList;\n return txDetail;\n }\n\n function readTx1559s(string memory path) internal view virtual returns (Tx1559[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".transactions\");\n RawTx1559[] memory rawTxs = abi.decode(parsedDeployData, (RawTx1559[]));\n return rawToConvertedEIPTx1559s(rawTxs);\n }\n\n function readTx1559(string memory path, uint256 index) internal view virtual returns (Tx1559 memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".transactions[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawTx1559 memory rawTx = abi.decode(parsedDeployData, (RawTx1559));\n return rawToConvertedEIPTx1559(rawTx);\n }\n\n // Analogous to readTransactions, but for receipts.\n function readReceipts(string memory path) internal view virtual returns (Receipt[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".receipts\");\n RawReceipt[] memory rawReceipts = abi.decode(parsedDeployData, (RawReceipt[]));\n return rawToConvertedReceipts(rawReceipts);\n }\n\n function readReceipt(string memory path, uint256 index) internal view virtual returns (Receipt memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".receipts[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawReceipt memory rawReceipt = abi.decode(parsedDeployData, (RawReceipt));\n return rawToConvertedReceipt(rawReceipt);\n }\n\n function rawToConvertedReceipts(RawReceipt[] memory rawReceipts) internal pure virtual returns (Receipt[] memory) {\n Receipt[] memory receipts = new Receipt[](rawReceipts.length);\n for (uint256 i; i < rawReceipts.length; i++) {\n receipts[i] = rawToConvertedReceipt(rawReceipts[i]);\n }\n return receipts;\n }\n\n function rawToConvertedReceipt(RawReceipt memory rawReceipt) internal pure virtual returns (Receipt memory) {\n Receipt memory receipt;\n receipt.blockHash = rawReceipt.blockHash;\n receipt.to = rawReceipt.to;\n receipt.from = rawReceipt.from;\n receipt.contractAddress = rawReceipt.contractAddress;\n receipt.effectiveGasPrice = _bytesToUint(rawReceipt.effectiveGasPrice);\n receipt.cumulativeGasUsed = _bytesToUint(rawReceipt.cumulativeGasUsed);\n receipt.gasUsed = _bytesToUint(rawReceipt.gasUsed);\n receipt.status = _bytesToUint(rawReceipt.status);\n receipt.transactionIndex = _bytesToUint(rawReceipt.transactionIndex);\n receipt.blockNumber = _bytesToUint(rawReceipt.blockNumber);\n receipt.logs = rawToConvertedReceiptLogs(rawReceipt.logs);\n receipt.logsBloom = rawReceipt.logsBloom;\n receipt.transactionHash = rawReceipt.transactionHash;\n return receipt;\n }\n\n function rawToConvertedReceiptLogs(RawReceiptLog[] memory rawLogs)\n internal\n pure\n virtual\n returns (ReceiptLog[] memory)\n {\n ReceiptLog[] memory logs = new ReceiptLog[](rawLogs.length);\n for (uint256 i; i < rawLogs.length; i++) {\n logs[i].logAddress = rawLogs[i].logAddress;\n logs[i].blockHash = rawLogs[i].blockHash;\n logs[i].blockNumber = _bytesToUint(rawLogs[i].blockNumber);\n logs[i].data = rawLogs[i].data;\n logs[i].logIndex = _bytesToUint(rawLogs[i].logIndex);\n logs[i].topics = rawLogs[i].topics;\n logs[i].transactionIndex = _bytesToUint(rawLogs[i].transactionIndex);\n logs[i].transactionLogIndex = _bytesToUint(rawLogs[i].transactionLogIndex);\n logs[i].removed = rawLogs[i].removed;\n }\n return logs;\n }\n\n // Deploy a contract by fetching the contract bytecode from\n // the artifacts directory\n // e.g. `deployCode(code, abi.encode(arg1,arg2,arg3))`\n function deployCode(string memory what, bytes memory args) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes): Deployment failed.\");\n }\n\n function deployCode(string memory what) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string): Deployment failed.\");\n }\n\n /// @dev deploy contract with value on construction\n function deployCode(string memory what, bytes memory args, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\");\n }\n\n function deployCode(string memory what, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,uint256): Deployment failed.\");\n }\n\n // creates a labeled address and the corresponding private key\n function makeAddrAndKey(string memory name) internal virtual returns (address addr, uint256 privateKey) {\n privateKey = uint256(keccak256(abi.encodePacked(name)));\n addr = vm.addr(privateKey);\n vm.label(addr, name);\n }\n\n // creates a labeled address\n function makeAddr(string memory name) internal virtual returns (address addr) {\n (addr,) = makeAddrAndKey(name);\n }\n\n // Destroys an account immediately, sending the balance to beneficiary.\n // Destroying means: balance will be zero, code will be empty, and nonce will be 0\n // This is similar to selfdestruct but not identical: selfdestruct destroys code and nonce\n // only after tx ends, this will run immediately.\n function destroyAccount(address who, address beneficiary) internal virtual {\n uint256 currBalance = who.balance;\n vm.etch(who, abi.encode());\n vm.deal(who, 0);\n vm.resetNonce(who);\n\n uint256 beneficiaryBalance = beneficiary.balance;\n vm.deal(beneficiary, currBalance + beneficiaryBalance);\n }\n\n // creates a struct containing both a labeled address and the corresponding private key\n function makeAccount(string memory name) internal virtual returns (Account memory account) {\n (account.addr, account.key) = makeAddrAndKey(name);\n }\n\n function deriveRememberKey(string memory mnemonic, uint32 index)\n internal\n virtual\n returns (address who, uint256 privateKey)\n {\n privateKey = vm.deriveKey(mnemonic, index);\n who = vm.rememberKey(privateKey);\n }\n\n function _bytesToUint(bytes memory b) private pure returns (uint256) {\n require(b.length <= 32, \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n function isFork() internal view virtual returns (bool status) {\n try vm.activeFork() {\n status = true;\n } catch (bytes memory) {}\n }\n\n modifier skipWhenForking() {\n if (!isFork()) {\n _;\n }\n }\n\n modifier skipWhenNotForking() {\n if (isFork()) {\n _;\n }\n }\n\n modifier noGasMetering() {\n vm.pauseGasMetering();\n // To prevent turning gas monitoring back on with nested functions that use this modifier,\n // we check if gasMetering started in the off position. If it did, we don't want to turn\n // it back on until we exit the top level function that used the modifier\n //\n // i.e. funcA() noGasMetering { funcB() }, where funcB has noGasMetering as well.\n // funcA will have `gasStartedOff` as false, funcB will have it as true,\n // so we only turn metering back on at the end of the funcA\n bool gasStartedOff = gasMeteringOff;\n gasMeteringOff = true;\n\n _;\n\n // if gas metering was on when this modifier was called, turn it back on at the end\n if (!gasStartedOff) {\n gasMeteringOff = false;\n vm.resumeGasMetering();\n }\n }\n\n // We use this complex approach of `_viewChainId` and `_pureChainId` to ensure there are no\n // compiler warnings when accessing chain ID in any solidity version supported by forge-std. We\n // can't simply access the chain ID in a normal view or pure function because the solc View Pure\n // Checker changed `chainid` from pure to view in 0.8.0.\n function _viewChainId() private view returns (uint256 chainId) {\n // Assembly required since `block.chainid` was introduced in 0.8.0.\n assembly {\n chainId := chainid()\n }\n\n address(this); // Silence warnings in older Solc versions.\n }\n\n function _pureChainId() private pure returns (uint256 chainId) {\n function() internal view returns (uint256) fnIn = _viewChainId;\n function() internal pure returns (uint256) pureChainId;\n assembly {\n pureChainId := fnIn\n }\n chainId = pureChainId();\n }\n}\n\n// Wrappers around cheatcodes to avoid footguns\nabstract contract StdCheats is StdCheatsSafe {\n using stdStorage for StdStorage;\n\n StdStorage private stdstore;\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;\n\n // Skip forward or rewind time by the specified number of seconds\n function skip(uint256 time) internal virtual {\n vm.warp(vm.getBlockTimestamp() + time);\n }\n\n function rewind(uint256 time) internal virtual {\n vm.warp(vm.getBlockTimestamp() - time);\n }\n\n // Setup a prank from an address that has some ether\n function hoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender, origin);\n }\n\n function hoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender, origin);\n }\n\n // Start perpetual prank from an address that has some ether\n function startHoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender);\n }\n\n function startHoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender);\n }\n\n // Start perpetual prank from an address that has some ether\n // tx.origin is set to the origin parameter\n function startHoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender, origin);\n }\n\n function startHoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender, origin);\n }\n\n function changePrank(address msgSender) internal virtual {\n console2_log_StdCheats(\"changePrank is deprecated. Please use vm.startPrank instead.\");\n vm.stopPrank();\n vm.startPrank(msgSender);\n }\n\n function changePrank(address msgSender, address txOrigin) internal virtual {\n vm.stopPrank();\n vm.startPrank(msgSender, txOrigin);\n }\n\n // The same as Vm's `deal`\n // Use the alternative signature for ERC20 tokens\n function deal(address to, uint256 give) internal virtual {\n vm.deal(to, give);\n }\n\n // Set the balance of an account for any ERC20 token\n // Use the alternative signature to update `totalSupply`\n function deal(address token, address to, uint256 give) internal virtual {\n deal(token, to, give, false);\n }\n\n // Set the balance of an account for any ERC1155 token\n // Use the alternative signature to update `totalSupply`\n function dealERC1155(address token, address to, uint256 id, uint256 give) internal virtual {\n dealERC1155(token, to, id, give, false);\n }\n\n function deal(address token, address to, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.staticcall(abi.encodeWithSelector(0x70a08231, to));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.staticcall(abi.encodeWithSelector(0x18160ddd));\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0x18160ddd).checked_write(totSup);\n }\n }\n\n function dealERC1155(address token, address to, uint256 id, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.staticcall(abi.encodeWithSelector(0x00fdd58e, to, id));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x00fdd58e).with_key(to).with_key(id).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.staticcall(abi.encodeWithSelector(0xbd85b039, id));\n require(\n totSupData.length != 0,\n \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\"\n );\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0xbd85b039).with_key(id).checked_write(totSup);\n }\n }\n\n function dealERC721(address token, address to, uint256 id) internal virtual {\n // check if token id is already minted and the actual owner.\n (bool successMinted, bytes memory ownerData) = token.staticcall(abi.encodeWithSelector(0x6352211e, id));\n require(successMinted, \"StdCheats deal(address,address,uint,bool): id not minted.\");\n\n // get owner current balance\n (, bytes memory fromBalData) =\n token.staticcall(abi.encodeWithSelector(0x70a08231, abi.decode(ownerData, (address))));\n uint256 fromPrevBal = abi.decode(fromBalData, (uint256));\n\n // get new user current balance\n (, bytes memory toBalData) = token.staticcall(abi.encodeWithSelector(0x70a08231, to));\n uint256 toPrevBal = abi.decode(toBalData, (uint256));\n\n // update balances\n stdstore.target(token).sig(0x70a08231).with_key(abi.decode(ownerData, (address))).checked_write(--fromPrevBal);\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(++toPrevBal);\n\n // update owner\n stdstore.target(token).sig(0x6352211e).with_key(id).checked_write(to);\n }\n\n function deployCodeTo(string memory what, address where) internal virtual {\n deployCodeTo(what, \"\", 0, where);\n }\n\n function deployCodeTo(string memory what, bytes memory args, address where) internal virtual {\n deployCodeTo(what, args, 0, where);\n }\n\n function deployCodeTo(string memory what, bytes memory args, uint256 value, address where) internal virtual {\n bytes memory creationCode = vm.getCode(what);\n vm.etch(where, abi.encodePacked(creationCode, args));\n (bool success, bytes memory runtimeBytecode) = where.call{value: value}(\"\");\n require(success, \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\");\n vm.etch(where, runtimeBytecode);\n }\n\n // Used to prevent the compilation of console, which shortens the compilation time when console is not used elsewhere.\n function console2_log_StdCheats(string memory p0) private view {\n (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature(\"log(string)\", p0));\n status;\n }\n}\n"},"lib/forge-std/src/StdConstants.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\nimport {Vm} from \"./Vm.sol\";\n\nlibrary StdConstants {\n /// @dev Cheat code address.\n /// Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`.\n Vm internal constant VM = Vm(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D);\n /// @dev console.sol and console2.sol work by executing a staticcall to this address.\n /// Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`.\n address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;\n /// @dev Used when deploying with create2.\n /// Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\n address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n /// @dev The default address for tx.origin and msg.sender.\n /// Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`.\n address internal constant DEFAULT_SENDER = 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38;\n /// @dev The address of the first contract `CREATE`d by a running test contract.\n /// When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n /// Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\n address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;\n /// @dev Deterministic deployment address of the Multicall3 contract.\n /// Taken from https://www.multicall3.com.\n IMulticall3 internal constant MULTICALL3_ADDRESS = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);\n /// @dev The order of the secp256k1 curve.\n uint256 internal constant SECP256K1_ORDER =\n 115792089237316195423570985008687907852837564279074904382605163141518161494337;\n}\n"},"lib/forge-std/src/StdError.sol":{"content":"// SPDX-License-Identifier: MIT\n// Panics work for versions >=0.8.0, but we lowered the pragma to make this compatible with Test\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdError {\n bytes public constant assertionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x01);\n bytes public constant arithmeticError = abi.encodeWithSignature(\"Panic(uint256)\", 0x11);\n bytes public constant divisionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x12);\n bytes public constant enumConversionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x21);\n bytes public constant encodeStorageError = abi.encodeWithSignature(\"Panic(uint256)\", 0x22);\n bytes public constant popError = abi.encodeWithSignature(\"Panic(uint256)\", 0x31);\n bytes public constant indexOOBError = abi.encodeWithSignature(\"Panic(uint256)\", 0x32);\n bytes public constant memOverflowError = abi.encodeWithSignature(\"Panic(uint256)\", 0x41);\n bytes public constant zeroVarError = abi.encodeWithSignature(\"Panic(uint256)\", 0x51);\n}\n"},"lib/forge-std/src/StdInvariant.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nabstract contract StdInvariant {\n struct FuzzSelector {\n address addr;\n bytes4[] selectors;\n }\n\n struct FuzzArtifactSelector {\n string artifact;\n bytes4[] selectors;\n }\n\n struct FuzzInterface {\n address addr;\n string[] artifacts;\n }\n\n address[] private _excludedContracts;\n address[] private _excludedSenders;\n address[] private _targetedContracts;\n address[] private _targetedSenders;\n\n string[] private _excludedArtifacts;\n string[] private _targetedArtifacts;\n\n FuzzArtifactSelector[] private _targetedArtifactSelectors;\n\n FuzzSelector[] private _excludedSelectors;\n FuzzSelector[] private _targetedSelectors;\n\n FuzzInterface[] private _targetedInterfaces;\n\n // Functions for users:\n // These are intended to be called in tests.\n\n function excludeContract(address newExcludedContract_) internal {\n _excludedContracts.push(newExcludedContract_);\n }\n\n function excludeSelector(FuzzSelector memory newExcludedSelector_) internal {\n _excludedSelectors.push(newExcludedSelector_);\n }\n\n function excludeSender(address newExcludedSender_) internal {\n _excludedSenders.push(newExcludedSender_);\n }\n\n function excludeArtifact(string memory newExcludedArtifact_) internal {\n _excludedArtifacts.push(newExcludedArtifact_);\n }\n\n function targetArtifact(string memory newTargetedArtifact_) internal {\n _targetedArtifacts.push(newTargetedArtifact_);\n }\n\n function targetArtifactSelector(FuzzArtifactSelector memory newTargetedArtifactSelector_) internal {\n _targetedArtifactSelectors.push(newTargetedArtifactSelector_);\n }\n\n function targetContract(address newTargetedContract_) internal {\n _targetedContracts.push(newTargetedContract_);\n }\n\n function targetSelector(FuzzSelector memory newTargetedSelector_) internal {\n _targetedSelectors.push(newTargetedSelector_);\n }\n\n function targetSender(address newTargetedSender_) internal {\n _targetedSenders.push(newTargetedSender_);\n }\n\n function targetInterface(FuzzInterface memory newTargetedInterface_) internal {\n _targetedInterfaces.push(newTargetedInterface_);\n }\n\n // Functions for forge:\n // These are called by forge to run invariant tests and don't need to be called in tests.\n\n function excludeArtifacts() public view returns (string[] memory excludedArtifacts_) {\n excludedArtifacts_ = _excludedArtifacts;\n }\n\n function excludeContracts() public view returns (address[] memory excludedContracts_) {\n excludedContracts_ = _excludedContracts;\n }\n\n function excludeSelectors() public view returns (FuzzSelector[] memory excludedSelectors_) {\n excludedSelectors_ = _excludedSelectors;\n }\n\n function excludeSenders() public view returns (address[] memory excludedSenders_) {\n excludedSenders_ = _excludedSenders;\n }\n\n function targetArtifacts() public view returns (string[] memory targetedArtifacts_) {\n targetedArtifacts_ = _targetedArtifacts;\n }\n\n function targetArtifactSelectors() public view returns (FuzzArtifactSelector[] memory targetedArtifactSelectors_) {\n targetedArtifactSelectors_ = _targetedArtifactSelectors;\n }\n\n function targetContracts() public view returns (address[] memory targetedContracts_) {\n targetedContracts_ = _targetedContracts;\n }\n\n function targetSelectors() public view returns (FuzzSelector[] memory targetedSelectors_) {\n targetedSelectors_ = _targetedSelectors;\n }\n\n function targetSenders() public view returns (address[] memory targetedSenders_) {\n targetedSenders_ = _targetedSenders;\n }\n\n function targetInterfaces() public view returns (FuzzInterface[] memory targetedInterfaces_) {\n targetedInterfaces_ = _targetedInterfaces;\n }\n}\n"},"lib/forge-std/src/StdJson.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n// Helpers for parsing and writing JSON files\n// To parse:\n// ```\n// using stdJson for string;\n// string memory json = vm.readFile(\"\");\n// json.readUint(\"\");\n// ```\n// To write:\n// ```\n// using stdJson for string;\n// string memory json = \"json\";\n// json.serialize(\"a\", uint256(123));\n// string memory semiFinal = json.serialize(\"b\", string(\"test\"));\n// string memory finalJson = json.serialize(\"c\", semiFinal);\n// finalJson.write(\"\");\n// ```\n\nlibrary stdJson {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function keyExists(string memory json, string memory key) internal view returns (bool) {\n return vm.keyExistsJson(json, key);\n }\n\n function parseRaw(string memory json, string memory key) internal pure returns (bytes memory) {\n return vm.parseJson(json, key);\n }\n\n function readUint(string memory json, string memory key) internal pure returns (uint256) {\n return vm.parseJsonUint(json, key);\n }\n\n function readUintArray(string memory json, string memory key) internal pure returns (uint256[] memory) {\n return vm.parseJsonUintArray(json, key);\n }\n\n function readInt(string memory json, string memory key) internal pure returns (int256) {\n return vm.parseJsonInt(json, key);\n }\n\n function readIntArray(string memory json, string memory key) internal pure returns (int256[] memory) {\n return vm.parseJsonIntArray(json, key);\n }\n\n function readBytes32(string memory json, string memory key) internal pure returns (bytes32) {\n return vm.parseJsonBytes32(json, key);\n }\n\n function readBytes32Array(string memory json, string memory key) internal pure returns (bytes32[] memory) {\n return vm.parseJsonBytes32Array(json, key);\n }\n\n function readString(string memory json, string memory key) internal pure returns (string memory) {\n return vm.parseJsonString(json, key);\n }\n\n function readStringArray(string memory json, string memory key) internal pure returns (string[] memory) {\n return vm.parseJsonStringArray(json, key);\n }\n\n function readAddress(string memory json, string memory key) internal pure returns (address) {\n return vm.parseJsonAddress(json, key);\n }\n\n function readAddressArray(string memory json, string memory key) internal pure returns (address[] memory) {\n return vm.parseJsonAddressArray(json, key);\n }\n\n function readBool(string memory json, string memory key) internal pure returns (bool) {\n return vm.parseJsonBool(json, key);\n }\n\n function readBoolArray(string memory json, string memory key) internal pure returns (bool[] memory) {\n return vm.parseJsonBoolArray(json, key);\n }\n\n function readBytes(string memory json, string memory key) internal pure returns (bytes memory) {\n return vm.parseJsonBytes(json, key);\n }\n\n function readBytesArray(string memory json, string memory key) internal pure returns (bytes[] memory) {\n return vm.parseJsonBytesArray(json, key);\n }\n\n function readUintOr(string memory json, string memory key, uint256 defaultValue) internal view returns (uint256) {\n return keyExists(json, key) ? readUint(json, key) : defaultValue;\n }\n\n function readUintArrayOr(string memory json, string memory key, uint256[] memory defaultValue)\n internal\n view\n returns (uint256[] memory)\n {\n return keyExists(json, key) ? readUintArray(json, key) : defaultValue;\n }\n\n function readIntOr(string memory json, string memory key, int256 defaultValue) internal view returns (int256) {\n return keyExists(json, key) ? readInt(json, key) : defaultValue;\n }\n\n function readIntArrayOr(string memory json, string memory key, int256[] memory defaultValue)\n internal\n view\n returns (int256[] memory)\n {\n return keyExists(json, key) ? readIntArray(json, key) : defaultValue;\n }\n\n function readBytes32Or(string memory json, string memory key, bytes32 defaultValue)\n internal\n view\n returns (bytes32)\n {\n return keyExists(json, key) ? readBytes32(json, key) : defaultValue;\n }\n\n function readBytes32ArrayOr(string memory json, string memory key, bytes32[] memory defaultValue)\n internal\n view\n returns (bytes32[] memory)\n {\n return keyExists(json, key) ? readBytes32Array(json, key) : defaultValue;\n }\n\n function readStringOr(string memory json, string memory key, string memory defaultValue)\n internal\n view\n returns (string memory)\n {\n return keyExists(json, key) ? readString(json, key) : defaultValue;\n }\n\n function readStringArrayOr(string memory json, string memory key, string[] memory defaultValue)\n internal\n view\n returns (string[] memory)\n {\n return keyExists(json, key) ? readStringArray(json, key) : defaultValue;\n }\n\n function readAddressOr(string memory json, string memory key, address defaultValue)\n internal\n view\n returns (address)\n {\n return keyExists(json, key) ? readAddress(json, key) : defaultValue;\n }\n\n function readAddressArrayOr(string memory json, string memory key, address[] memory defaultValue)\n internal\n view\n returns (address[] memory)\n {\n return keyExists(json, key) ? readAddressArray(json, key) : defaultValue;\n }\n\n function readBoolOr(string memory json, string memory key, bool defaultValue) internal view returns (bool) {\n return keyExists(json, key) ? readBool(json, key) : defaultValue;\n }\n\n function readBoolArrayOr(string memory json, string memory key, bool[] memory defaultValue)\n internal\n view\n returns (bool[] memory)\n {\n return keyExists(json, key) ? readBoolArray(json, key) : defaultValue;\n }\n\n function readBytesOr(string memory json, string memory key, bytes memory defaultValue)\n internal\n view\n returns (bytes memory)\n {\n return keyExists(json, key) ? readBytes(json, key) : defaultValue;\n }\n\n function readBytesArrayOr(string memory json, string memory key, bytes[] memory defaultValue)\n internal\n view\n returns (bytes[] memory)\n {\n return keyExists(json, key) ? readBytesArray(json, key) : defaultValue;\n }\n\n function serialize(string memory jsonKey, string memory rootObject) internal returns (string memory) {\n return vm.serializeJson(jsonKey, rootObject);\n }\n\n function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bool[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function write(string memory jsonKey, string memory path) internal {\n vm.writeJson(jsonKey, path);\n }\n\n function write(string memory jsonKey, string memory path, string memory valueKey) internal {\n vm.writeJson(jsonKey, path, valueKey);\n }\n}\n"},"lib/forge-std/src/StdMath.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdMath {\n int256 private constant INT256_MIN = -57896044618658097711785492504343953926634992332820282019728792003956564819968;\n\n function abs(int256 a) internal pure returns (uint256) {\n // Required or it will fail when `a = type(int256).min`\n if (a == INT256_MIN) {\n return 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n }\n\n return uint256(a > 0 ? a : -a);\n }\n\n function delta(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a - b : b - a;\n }\n\n function delta(int256 a, int256 b) internal pure returns (uint256) {\n // a and b are of the same sign\n // this works thanks to two's complement, the left-most bit is the sign bit\n if ((a ^ b) > -1) {\n return delta(abs(a), abs(b));\n }\n\n // a and b are of opposite signs\n return abs(a) + abs(b);\n }\n\n function percentDelta(uint256 a, uint256 b) internal pure returns (uint256) {\n // Prevent division by zero\n require(b != 0, \"stdMath percentDelta(uint256,uint256): Divisor is zero\");\n uint256 absDelta = delta(a, b);\n\n return absDelta * 1e18 / b;\n }\n\n function percentDelta(int256 a, int256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n uint256 absB = abs(b);\n // Prevent division by zero\n require(absB != 0, \"stdMath percentDelta(int256,int256): Divisor is zero\");\n\n return absDelta * 1e18 / absB;\n }\n}\n"},"lib/forge-std/src/StdStorage.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {Vm} from \"./Vm.sol\";\n\nstruct FindData {\n uint256 slot;\n uint256 offsetLeft;\n uint256 offsetRight;\n bool found;\n}\n\nstruct StdStorage {\n mapping(address => mapping(bytes4 => mapping(bytes32 => FindData))) finds;\n bytes32[] _keys;\n bytes4 _sig;\n uint256 _depth;\n address _target;\n bytes32 _set;\n bool _enable_packed_slots;\n bytes _calldata;\n}\n\nlibrary stdStorageSafe {\n event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot);\n event WARNING_UninitedSlot(address who, uint256 slot);\n\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n uint256 constant UINT256_MAX = 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return bytes4(keccak256(bytes(sigStr)));\n }\n\n function getCallParams(StdStorage storage self) internal view returns (bytes memory) {\n if (self._calldata.length == 0) {\n return flatten(self._keys);\n } else {\n return self._calldata;\n }\n }\n\n // Calls target contract with configured parameters\n function callTarget(StdStorage storage self) internal view returns (bool, bytes32) {\n bytes memory cd = abi.encodePacked(self._sig, getCallParams(self));\n (bool success, bytes memory rdat) = self._target.staticcall(cd);\n bytes32 result = bytesToBytes32(rdat, 32 * self._depth);\n\n return (success, result);\n }\n\n // Tries mutating slot value to determine if the targeted value is stored in it.\n // If current value is 0, then we are setting slot value to type(uint256).max\n // Otherwise, we set it to 0. That way, return value should always be affected.\n function checkSlotMutatesCall(StdStorage storage self, bytes32 slot) internal returns (bool) {\n bytes32 prevSlotValue = vm.load(self._target, slot);\n (bool success, bytes32 prevReturnValue) = callTarget(self);\n\n bytes32 testVal = prevReturnValue == bytes32(0) ? bytes32(UINT256_MAX) : bytes32(0);\n vm.store(self._target, slot, testVal);\n\n (, bytes32 newReturnValue) = callTarget(self);\n\n vm.store(self._target, slot, prevSlotValue);\n\n return (success && (prevReturnValue != newReturnValue));\n }\n\n // Tries setting one of the bits in slot to 1 until return value changes.\n // Index of resulted bit is an offset packed slot has from left/right side\n function findOffset(StdStorage storage self, bytes32 slot, bool left) internal returns (bool, uint256) {\n for (uint256 offset = 0; offset < 256; offset++) {\n uint256 valueToPut = left ? (1 << (255 - offset)) : (1 << offset);\n vm.store(self._target, slot, bytes32(valueToPut));\n\n (bool success, bytes32 data) = callTarget(self);\n\n if (success && (uint256(data) > 0)) {\n return (true, offset);\n }\n }\n return (false, 0);\n }\n\n function findOffsets(StdStorage storage self, bytes32 slot) internal returns (bool, uint256, uint256) {\n bytes32 prevSlotValue = vm.load(self._target, slot);\n\n (bool foundLeft, uint256 offsetLeft) = findOffset(self, slot, true);\n (bool foundRight, uint256 offsetRight) = findOffset(self, slot, false);\n\n // `findOffset` may mutate slot value, so we are setting it to initial value\n vm.store(self._target, slot, prevSlotValue);\n return (foundLeft && foundRight, offsetLeft, offsetRight);\n }\n\n function find(StdStorage storage self) internal returns (FindData storage) {\n return find(self, true);\n }\n\n /// @notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against\n // slot complexity:\n // if flat, will be bytes32(uint256(uint));\n // if map, will be keccak256(abi.encode(key, uint(slot)));\n // if deep map, will be keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))));\n // if map struct, will be bytes32(uint256(keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))))) + structFieldDepth);\n function find(StdStorage storage self, bool _clear) internal returns (FindData storage) {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes memory params = getCallParams(self);\n\n // calldata to test against\n if (self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))].found) {\n if (_clear) {\n clear(self);\n }\n return self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))];\n }\n vm.record();\n (, bytes32 callResult) = callTarget(self);\n (bytes32[] memory reads,) = vm.accesses(address(who));\n\n if (reads.length == 0) {\n revert(\"stdStorage find(StdStorage): No storage use detected for target.\");\n } else {\n for (uint256 i = reads.length; --i >= 0;) {\n bytes32 prev = vm.load(who, reads[i]);\n if (prev == bytes32(0)) {\n emit WARNING_UninitedSlot(who, uint256(reads[i]));\n }\n\n if (!checkSlotMutatesCall(self, reads[i])) {\n continue;\n }\n\n (uint256 offsetLeft, uint256 offsetRight) = (0, 0);\n\n if (self._enable_packed_slots) {\n bool found;\n (found, offsetLeft, offsetRight) = findOffsets(self, reads[i]);\n if (!found) {\n continue;\n }\n }\n\n // Check that value between found offsets is equal to the current call result\n uint256 curVal = (uint256(prev) & getMaskByOffsets(offsetLeft, offsetRight)) >> offsetRight;\n\n if (uint256(callResult) != curVal) {\n continue;\n }\n\n emit SlotFound(who, fsig, keccak256(abi.encodePacked(params, field_depth)), uint256(reads[i]));\n self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))] =\n FindData(uint256(reads[i]), offsetLeft, offsetRight, true);\n break;\n }\n }\n\n require(\n self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))].found,\n \"stdStorage find(StdStorage): Slot(s) not found.\"\n );\n\n if (_clear) {\n clear(self);\n }\n return self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))];\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n self._target = _target;\n return self;\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n self._sig = _sig;\n return self;\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n self._sig = sigs(_sig);\n return self;\n }\n\n function with_calldata(StdStorage storage self, bytes memory _calldata) internal returns (StdStorage storage) {\n self._calldata = _calldata;\n return self;\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n self._keys.push(bytes32(uint256(uint160(who))));\n return self;\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n self._keys.push(bytes32(amt));\n return self;\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n self._keys.push(key);\n return self;\n }\n\n function enable_packed_slots(StdStorage storage self) internal returns (StdStorage storage) {\n self._enable_packed_slots = true;\n return self;\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n self._depth = _depth;\n return self;\n }\n\n function read(StdStorage storage self) private returns (bytes memory) {\n FindData storage data = find(self, false);\n uint256 mask = getMaskByOffsets(data.offsetLeft, data.offsetRight);\n uint256 value = (uint256(vm.load(self._target, bytes32(data.slot))) & mask) >> data.offsetRight;\n clear(self);\n return abi.encode(value);\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return abi.decode(read(self), (bytes32));\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n int256 v = read_int(self);\n if (v == 0) return false;\n if (v == 1) return true;\n revert(\"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\");\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return abi.decode(read(self), (address));\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return abi.decode(read(self), (uint256));\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return abi.decode(read(self), (int256));\n }\n\n function parent(StdStorage storage self) internal returns (uint256, bytes32) {\n address who = self._target;\n uint256 field_depth = self._depth;\n vm.startMappingRecording();\n uint256 child = find(self, true).slot - field_depth;\n (bool found, bytes32 key, bytes32 parent_slot) = vm.getMappingKeyAndParentOf(who, bytes32(child));\n if (!found) {\n revert(\n \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\"\n );\n }\n return (uint256(parent_slot), key);\n }\n\n function root(StdStorage storage self) internal returns (uint256) {\n address who = self._target;\n uint256 field_depth = self._depth;\n vm.startMappingRecording();\n uint256 child = find(self, true).slot - field_depth;\n bool found;\n bytes32 root_slot;\n bytes32 parent_slot;\n (found,, parent_slot) = vm.getMappingKeyAndParentOf(who, bytes32(child));\n if (!found) {\n revert(\n \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\"\n );\n }\n while (found) {\n root_slot = parent_slot;\n (found,, parent_slot) = vm.getMappingKeyAndParentOf(who, bytes32(root_slot));\n }\n return uint256(root_slot);\n }\n\n function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {\n bytes32 out;\n\n uint256 max = b.length > 32 ? 32 : b.length;\n for (uint256 i = 0; i < max; i++) {\n out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);\n }\n return out;\n }\n\n function flatten(bytes32[] memory b) private pure returns (bytes memory) {\n bytes memory result = new bytes(b.length * 32);\n for (uint256 i = 0; i < b.length; i++) {\n bytes32 k = b[i];\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(result, add(32, mul(32, i))), k)\n }\n }\n\n return result;\n }\n\n function clear(StdStorage storage self) internal {\n delete self._target;\n delete self._sig;\n delete self._keys;\n delete self._depth;\n delete self._enable_packed_slots;\n delete self._calldata;\n }\n\n // Returns mask which contains non-zero bits for values between `offsetLeft` and `offsetRight`\n // (slotValue & mask) >> offsetRight will be the value of the given packed variable\n function getMaskByOffsets(uint256 offsetLeft, uint256 offsetRight) internal pure returns (uint256 mask) {\n // mask = ((1 << (256 - (offsetRight + offsetLeft))) - 1) << offsetRight;\n // using assembly because (1 << 256) causes overflow\n assembly {\n mask := shl(offsetRight, sub(shl(sub(256, add(offsetRight, offsetLeft)), 1), 1))\n }\n }\n\n // Returns slot value with updated packed variable.\n function getUpdatedSlotValue(bytes32 curValue, uint256 varValue, uint256 offsetLeft, uint256 offsetRight)\n internal\n pure\n returns (bytes32 newValue)\n {\n return bytes32((uint256(curValue) & ~getMaskByOffsets(offsetLeft, offsetRight)) | (varValue << offsetRight));\n }\n}\n\nlibrary stdStorage {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return stdStorageSafe.sigs(sigStr);\n }\n\n function find(StdStorage storage self) internal returns (uint256) {\n return find(self, true);\n }\n\n function find(StdStorage storage self, bool _clear) internal returns (uint256) {\n return stdStorageSafe.find(self, _clear).slot;\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n return stdStorageSafe.target(self, _target);\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, who);\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, amt);\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, key);\n }\n\n function with_calldata(StdStorage storage self, bytes memory _calldata) internal returns (StdStorage storage) {\n return stdStorageSafe.with_calldata(self, _calldata);\n }\n\n function enable_packed_slots(StdStorage storage self) internal returns (StdStorage storage) {\n return stdStorageSafe.enable_packed_slots(self);\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n return stdStorageSafe.depth(self, _depth);\n }\n\n function clear(StdStorage storage self) internal {\n stdStorageSafe.clear(self);\n }\n\n function checked_write(StdStorage storage self, address who) internal {\n checked_write(self, bytes32(uint256(uint160(who))));\n }\n\n function checked_write(StdStorage storage self, uint256 amt) internal {\n checked_write(self, bytes32(amt));\n }\n\n function checked_write_int(StdStorage storage self, int256 val) internal {\n checked_write(self, bytes32(uint256(val)));\n }\n\n function checked_write(StdStorage storage self, bool write) internal {\n bytes32 t;\n /// @solidity memory-safe-assembly\n assembly {\n t := write\n }\n checked_write(self, t);\n }\n\n function checked_write(StdStorage storage self, bytes32 set) internal {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes memory params = stdStorageSafe.getCallParams(self);\n\n if (!self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))].found) {\n find(self, false);\n }\n FindData storage data = self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))];\n if ((data.offsetLeft + data.offsetRight) > 0) {\n uint256 maxVal = 2 ** (256 - (data.offsetLeft + data.offsetRight));\n require(\n uint256(set) < maxVal,\n string(\n abi.encodePacked(\n \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \",\n vm.toString(maxVal)\n )\n )\n );\n }\n bytes32 curVal = vm.load(who, bytes32(data.slot));\n bytes32 valToSet = stdStorageSafe.getUpdatedSlotValue(curVal, uint256(set), data.offsetLeft, data.offsetRight);\n\n vm.store(who, bytes32(data.slot), valToSet);\n\n (bool success, bytes32 callResult) = stdStorageSafe.callTarget(self);\n\n if (!success || callResult != set) {\n vm.store(who, bytes32(data.slot), curVal);\n revert(\"stdStorage find(StdStorage): Failed to write value.\");\n }\n clear(self);\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return stdStorageSafe.read_bytes32(self);\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n return stdStorageSafe.read_bool(self);\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return stdStorageSafe.read_address(self);\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.read_uint(self);\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return stdStorageSafe.read_int(self);\n }\n\n function parent(StdStorage storage self) internal returns (uint256, bytes32) {\n return stdStorageSafe.parent(self);\n }\n\n function root(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.root(self);\n }\n}\n"},"lib/forge-std/src/StdStyle.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport {VmSafe} from \"./Vm.sol\";\n\nlibrary StdStyle {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n string constant RED = \"\\u001b[91m\";\n string constant GREEN = \"\\u001b[92m\";\n string constant YELLOW = \"\\u001b[93m\";\n string constant BLUE = \"\\u001b[94m\";\n string constant MAGENTA = \"\\u001b[95m\";\n string constant CYAN = \"\\u001b[96m\";\n string constant BOLD = \"\\u001b[1m\";\n string constant DIM = \"\\u001b[2m\";\n string constant ITALIC = \"\\u001b[3m\";\n string constant UNDERLINE = \"\\u001b[4m\";\n string constant INVERSE = \"\\u001b[7m\";\n string constant RESET = \"\\u001b[0m\";\n\n function styleConcat(string memory style, string memory self) private pure returns (string memory) {\n return string(abi.encodePacked(style, self, RESET));\n }\n\n function red(string memory self) internal pure returns (string memory) {\n return styleConcat(RED, self);\n }\n\n function red(uint256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(int256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(address self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(bool self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes(bytes memory self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes32(bytes32 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function green(string memory self) internal pure returns (string memory) {\n return styleConcat(GREEN, self);\n }\n\n function green(uint256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(int256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(address self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(bool self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes(bytes memory self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes32(bytes32 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function yellow(string memory self) internal pure returns (string memory) {\n return styleConcat(YELLOW, self);\n }\n\n function yellow(uint256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(int256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(address self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(bool self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes(bytes memory self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes32(bytes32 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function blue(string memory self) internal pure returns (string memory) {\n return styleConcat(BLUE, self);\n }\n\n function blue(uint256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(int256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(address self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(bool self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes(bytes memory self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes32(bytes32 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function magenta(string memory self) internal pure returns (string memory) {\n return styleConcat(MAGENTA, self);\n }\n\n function magenta(uint256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(int256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(address self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(bool self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes(bytes memory self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes32(bytes32 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function cyan(string memory self) internal pure returns (string memory) {\n return styleConcat(CYAN, self);\n }\n\n function cyan(uint256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(int256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(address self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(bool self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes(bytes memory self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes32(bytes32 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function bold(string memory self) internal pure returns (string memory) {\n return styleConcat(BOLD, self);\n }\n\n function bold(uint256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(int256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(address self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(bool self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes(bytes memory self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes32(bytes32 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function dim(string memory self) internal pure returns (string memory) {\n return styleConcat(DIM, self);\n }\n\n function dim(uint256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(int256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(address self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(bool self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes(bytes memory self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes32(bytes32 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function italic(string memory self) internal pure returns (string memory) {\n return styleConcat(ITALIC, self);\n }\n\n function italic(uint256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(int256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(address self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(bool self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes(bytes memory self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes32(bytes32 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function underline(string memory self) internal pure returns (string memory) {\n return styleConcat(UNDERLINE, self);\n }\n\n function underline(uint256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(int256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(address self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(bool self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes(bytes memory self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes32(bytes32 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function inverse(string memory self) internal pure returns (string memory) {\n return styleConcat(INVERSE, self);\n }\n\n function inverse(uint256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(int256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(address self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(bool self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes(bytes memory self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes32(bytes32 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n}\n"},"lib/forge-std/src/StdToml.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n// Helpers for parsing and writing TOML files\n// To parse:\n// ```\n// using stdToml for string;\n// string memory toml = vm.readFile(\"\");\n// toml.readUint(\"\");\n// ```\n// To write:\n// ```\n// using stdToml for string;\n// string memory json = \"json\";\n// json.serialize(\"a\", uint256(123));\n// string memory semiFinal = json.serialize(\"b\", string(\"test\"));\n// string memory finalJson = json.serialize(\"c\", semiFinal);\n// finalJson.write(\"\");\n// ```\n\nlibrary stdToml {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function keyExists(string memory toml, string memory key) internal view returns (bool) {\n return vm.keyExistsToml(toml, key);\n }\n\n function parseRaw(string memory toml, string memory key) internal pure returns (bytes memory) {\n return vm.parseToml(toml, key);\n }\n\n function readUint(string memory toml, string memory key) internal pure returns (uint256) {\n return vm.parseTomlUint(toml, key);\n }\n\n function readUintArray(string memory toml, string memory key) internal pure returns (uint256[] memory) {\n return vm.parseTomlUintArray(toml, key);\n }\n\n function readInt(string memory toml, string memory key) internal pure returns (int256) {\n return vm.parseTomlInt(toml, key);\n }\n\n function readIntArray(string memory toml, string memory key) internal pure returns (int256[] memory) {\n return vm.parseTomlIntArray(toml, key);\n }\n\n function readBytes32(string memory toml, string memory key) internal pure returns (bytes32) {\n return vm.parseTomlBytes32(toml, key);\n }\n\n function readBytes32Array(string memory toml, string memory key) internal pure returns (bytes32[] memory) {\n return vm.parseTomlBytes32Array(toml, key);\n }\n\n function readString(string memory toml, string memory key) internal pure returns (string memory) {\n return vm.parseTomlString(toml, key);\n }\n\n function readStringArray(string memory toml, string memory key) internal pure returns (string[] memory) {\n return vm.parseTomlStringArray(toml, key);\n }\n\n function readAddress(string memory toml, string memory key) internal pure returns (address) {\n return vm.parseTomlAddress(toml, key);\n }\n\n function readAddressArray(string memory toml, string memory key) internal pure returns (address[] memory) {\n return vm.parseTomlAddressArray(toml, key);\n }\n\n function readBool(string memory toml, string memory key) internal pure returns (bool) {\n return vm.parseTomlBool(toml, key);\n }\n\n function readBoolArray(string memory toml, string memory key) internal pure returns (bool[] memory) {\n return vm.parseTomlBoolArray(toml, key);\n }\n\n function readBytes(string memory toml, string memory key) internal pure returns (bytes memory) {\n return vm.parseTomlBytes(toml, key);\n }\n\n function readBytesArray(string memory toml, string memory key) internal pure returns (bytes[] memory) {\n return vm.parseTomlBytesArray(toml, key);\n }\n\n function readUintOr(string memory toml, string memory key, uint256 defaultValue) internal view returns (uint256) {\n return keyExists(toml, key) ? readUint(toml, key) : defaultValue;\n }\n\n function readUintArrayOr(string memory toml, string memory key, uint256[] memory defaultValue)\n internal\n view\n returns (uint256[] memory)\n {\n return keyExists(toml, key) ? readUintArray(toml, key) : defaultValue;\n }\n\n function readIntOr(string memory toml, string memory key, int256 defaultValue) internal view returns (int256) {\n return keyExists(toml, key) ? readInt(toml, key) : defaultValue;\n }\n\n function readIntArrayOr(string memory toml, string memory key, int256[] memory defaultValue)\n internal\n view\n returns (int256[] memory)\n {\n return keyExists(toml, key) ? readIntArray(toml, key) : defaultValue;\n }\n\n function readBytes32Or(string memory toml, string memory key, bytes32 defaultValue)\n internal\n view\n returns (bytes32)\n {\n return keyExists(toml, key) ? readBytes32(toml, key) : defaultValue;\n }\n\n function readBytes32ArrayOr(string memory toml, string memory key, bytes32[] memory defaultValue)\n internal\n view\n returns (bytes32[] memory)\n {\n return keyExists(toml, key) ? readBytes32Array(toml, key) : defaultValue;\n }\n\n function readStringOr(string memory toml, string memory key, string memory defaultValue)\n internal\n view\n returns (string memory)\n {\n return keyExists(toml, key) ? readString(toml, key) : defaultValue;\n }\n\n function readStringArrayOr(string memory toml, string memory key, string[] memory defaultValue)\n internal\n view\n returns (string[] memory)\n {\n return keyExists(toml, key) ? readStringArray(toml, key) : defaultValue;\n }\n\n function readAddressOr(string memory toml, string memory key, address defaultValue)\n internal\n view\n returns (address)\n {\n return keyExists(toml, key) ? readAddress(toml, key) : defaultValue;\n }\n\n function readAddressArrayOr(string memory toml, string memory key, address[] memory defaultValue)\n internal\n view\n returns (address[] memory)\n {\n return keyExists(toml, key) ? readAddressArray(toml, key) : defaultValue;\n }\n\n function readBoolOr(string memory toml, string memory key, bool defaultValue) internal view returns (bool) {\n return keyExists(toml, key) ? readBool(toml, key) : defaultValue;\n }\n\n function readBoolArrayOr(string memory toml, string memory key, bool[] memory defaultValue)\n internal\n view\n returns (bool[] memory)\n {\n return keyExists(toml, key) ? readBoolArray(toml, key) : defaultValue;\n }\n\n function readBytesOr(string memory toml, string memory key, bytes memory defaultValue)\n internal\n view\n returns (bytes memory)\n {\n return keyExists(toml, key) ? readBytes(toml, key) : defaultValue;\n }\n\n function readBytesArrayOr(string memory toml, string memory key, bytes[] memory defaultValue)\n internal\n view\n returns (bytes[] memory)\n {\n return keyExists(toml, key) ? readBytesArray(toml, key) : defaultValue;\n }\n\n function serialize(string memory jsonKey, string memory rootObject) internal returns (string memory) {\n return vm.serializeJson(jsonKey, rootObject);\n }\n\n function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bool[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function write(string memory jsonKey, string memory path) internal {\n vm.writeToml(jsonKey, path);\n }\n\n function write(string memory jsonKey, string memory path, string memory valueKey) internal {\n vm.writeToml(jsonKey, path, valueKey);\n }\n}\n"},"lib/forge-std/src/StdUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\nimport {VmSafe} from \"./Vm.sol\";\n\nabstract contract StdUtils {\n /*//////////////////////////////////////////////////////////////////////////\n CONSTANTS\n //////////////////////////////////////////////////////////////////////////*/\n\n IMulticall3 private constant multicall = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;\n uint256 private constant INT256_MIN_ABS =\n 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n uint256 private constant SECP256K1_ORDER =\n 115792089237316195423570985008687907852837564279074904382605163141518161494337;\n uint256 private constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n // Used by default when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.\n address private constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n /*//////////////////////////////////////////////////////////////////////////\n INTERNAL FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function _bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {\n require(min <= max, \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\");\n // If x is between min and max, return x directly. This is to ensure that dictionary values\n // do not get shifted if the min is nonzero. More info: https://github.com/foundry-rs/forge-std/issues/188\n if (x >= min && x <= max) return x;\n\n uint256 size = max - min + 1;\n\n // If the value is 0, 1, 2, 3, wrap that to min, min+1, min+2, min+3. Similarly for the UINT256_MAX side.\n // This helps ensure coverage of the min/max values.\n if (x <= 3 && size > x) return min + x;\n if (x >= UINT256_MAX - 3 && size > UINT256_MAX - x) return max - (UINT256_MAX - x);\n\n // Otherwise, wrap x into the range [min, max], i.e. the range is inclusive.\n if (x > max) {\n uint256 diff = x - max;\n uint256 rem = diff % size;\n if (rem == 0) return max;\n result = min + rem - 1;\n } else if (x < min) {\n uint256 diff = min - x;\n uint256 rem = diff % size;\n if (rem == 0) return min;\n result = max - rem + 1;\n }\n }\n\n function bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {\n result = _bound(x, min, max);\n console2_log_StdUtils(\"Bound result\", result);\n }\n\n function _bound(int256 x, int256 min, int256 max) internal pure virtual returns (int256 result) {\n require(min <= max, \"StdUtils bound(int256,int256,int256): Max is less than min.\");\n\n // Shifting all int256 values to uint256 to use _bound function. The range of two types are:\n // int256 : -(2**255) ~ (2**255 - 1)\n // uint256: 0 ~ (2**256 - 1)\n // So, add 2**255, INT256_MIN_ABS to the integer values.\n //\n // If the given integer value is -2**255, we cannot use `-uint256(-x)` because of the overflow.\n // So, use `~uint256(x) + 1` instead.\n uint256 _x = x < 0 ? (INT256_MIN_ABS - ~uint256(x) - 1) : (uint256(x) + INT256_MIN_ABS);\n uint256 _min = min < 0 ? (INT256_MIN_ABS - ~uint256(min) - 1) : (uint256(min) + INT256_MIN_ABS);\n uint256 _max = max < 0 ? (INT256_MIN_ABS - ~uint256(max) - 1) : (uint256(max) + INT256_MIN_ABS);\n\n uint256 y = _bound(_x, _min, _max);\n\n // To move it back to int256 value, subtract INT256_MIN_ABS at here.\n result = y < INT256_MIN_ABS ? int256(~(INT256_MIN_ABS - y) + 1) : int256(y - INT256_MIN_ABS);\n }\n\n function bound(int256 x, int256 min, int256 max) internal pure virtual returns (int256 result) {\n result = _bound(x, min, max);\n console2_log_StdUtils(\"Bound result\", vm.toString(result));\n }\n\n function boundPrivateKey(uint256 privateKey) internal pure virtual returns (uint256 result) {\n result = _bound(privateKey, 1, SECP256K1_ORDER - 1);\n }\n\n function bytesToUint(bytes memory b) internal pure virtual returns (uint256) {\n require(b.length <= 32, \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n /// @dev Compute the address a contract will be deployed at for a given deployer address and nonce\n function computeCreateAddress(address deployer, uint256 nonce) internal pure virtual returns (address) {\n console2_log_StdUtils(\"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead.\");\n return vm.computeCreateAddress(deployer, nonce);\n }\n\n function computeCreate2Address(bytes32 salt, bytes32 initcodeHash, address deployer)\n internal\n pure\n virtual\n returns (address)\n {\n console2_log_StdUtils(\"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\");\n return vm.computeCreate2Address(salt, initcodeHash, deployer);\n }\n\n /// @dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) internal pure returns (address) {\n console2_log_StdUtils(\"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\");\n return vm.computeCreate2Address(salt, initCodeHash);\n }\n\n /// @dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n function hashInitCode(bytes memory creationCode) internal pure returns (bytes32) {\n return hashInitCode(creationCode, \"\");\n }\n\n /// @dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n /// @param args the ABI-encoded arguments to the constructor of C\n function hashInitCode(bytes memory creationCode, bytes memory args) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(creationCode, args));\n }\n\n // Performs a single call with Multicall3 to query the ERC-20 token balances of the given addresses.\n function getTokenBalances(address token, address[] memory addresses)\n internal\n virtual\n returns (uint256[] memory balances)\n {\n uint256 tokenCodeSize;\n assembly {\n tokenCodeSize := extcodesize(token)\n }\n require(tokenCodeSize > 0, \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\");\n\n // ABI encode the aggregate call to Multicall3.\n uint256 length = addresses.length;\n IMulticall3.Call[] memory calls = new IMulticall3.Call[](length);\n for (uint256 i = 0; i < length; ++i) {\n // 0x70a08231 = bytes4(\"balanceOf(address)\"))\n calls[i] = IMulticall3.Call({target: token, callData: abi.encodeWithSelector(0x70a08231, (addresses[i]))});\n }\n\n // Make the aggregate call.\n (, bytes[] memory returnData) = multicall.aggregate(calls);\n\n // ABI decode the return data and return the balances.\n balances = new uint256[](length);\n for (uint256 i = 0; i < length; ++i) {\n balances[i] = abi.decode(returnData[i], (uint256));\n }\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function addressFromLast20Bytes(bytes32 bytesValue) private pure returns (address) {\n return address(uint160(uint256(bytesValue)));\n }\n\n // This section is used to prevent the compilation of console, which shortens the compilation time when console is\n // not used elsewhere. We also trick the compiler into letting us make the console log methods as `pure` to avoid\n // any breaking changes to function signatures.\n function _castLogPayloadViewToPure(function(bytes memory) internal view fnIn)\n internal\n pure\n returns (function(bytes memory) internal pure fnOut)\n {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castLogPayloadViewToPure(_sendLogPayloadView)(payload);\n }\n\n function _sendLogPayloadView(bytes memory payload) private view {\n uint256 payloadLength = payload.length;\n address consoleAddress = CONSOLE2_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n let payloadStart := add(payload, 32)\n let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n }\n }\n\n function console2_log_StdUtils(string memory p0) private pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function console2_log_StdUtils(string memory p0, uint256 p1) private pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function console2_log_StdUtils(string memory p0, string memory p1) private pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n}\n"},"lib/forge-std/src/Test.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\n// 💬 ABOUT\n// Forge Std's default Test.\n\n// 🧩 MODULES\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {safeconsole} from \"./safeconsole.sol\";\nimport {StdAssertions} from \"./StdAssertions.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheats} from \"./StdCheats.sol\";\nimport {StdConstants} from \"./StdConstants.sol\";\nimport {stdError} from \"./StdError.sol\";\nimport {StdInvariant} from \"./StdInvariant.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {StdStyle} from \"./StdStyle.sol\";\nimport {stdToml} from \"./StdToml.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {Vm} from \"./Vm.sol\";\n\n// 📦 BOILERPLATE\nimport {TestBase} from \"./Base.sol\";\n\n// ⭐️ TEST\nabstract contract Test is TestBase, StdAssertions, StdChains, StdCheats, StdInvariant, StdUtils {\n // Note: IS_TEST() must return true.\n bool public IS_TEST = true;\n}\n"},"lib/forge-std/src/Vm.sol":{"content":"// Automatically @generated by scripts/vm.py. Do not modify manually.\n\n// SPDX-License-Identifier: MIT OR Apache-2.0\npragma solidity >=0.6.2 <0.9.0;\npragma experimental ABIEncoderV2;\n\n/// The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may\n/// result in Script simulations differing from on-chain execution. It is recommended to only use\n/// these cheats in scripts.\ninterface VmSafe {\n /// A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`.\n enum CallerMode {\n // No caller modification is currently active.\n None,\n // A one time broadcast triggered by a `vm.broadcast()` call is currently active.\n Broadcast,\n // A recurrent broadcast triggered by a `vm.startBroadcast()` call is currently active.\n RecurrentBroadcast,\n // A one time prank triggered by a `vm.prank()` call is currently active.\n Prank,\n // A recurrent prank triggered by a `vm.startPrank()` call is currently active.\n RecurrentPrank\n }\n\n /// The kind of account access that occurred.\n enum AccountAccessKind {\n // The account was called.\n Call,\n // The account was called via delegatecall.\n DelegateCall,\n // The account was called via callcode.\n CallCode,\n // The account was called via staticcall.\n StaticCall,\n // The account was created.\n Create,\n // The account was selfdestructed.\n SelfDestruct,\n // Synthetic access indicating the current context has resumed after a previous sub-context (AccountAccess).\n Resume,\n // The account's balance was read.\n Balance,\n // The account's codesize was read.\n Extcodesize,\n // The account's codehash was read.\n Extcodehash,\n // The account's code was copied.\n Extcodecopy\n }\n\n /// Forge execution contexts.\n enum ForgeContext {\n // Test group execution context (test, coverage or snapshot).\n TestGroup,\n // `forge test` execution context.\n Test,\n // `forge coverage` execution context.\n Coverage,\n // `forge snapshot` execution context.\n Snapshot,\n // Script group execution context (dry run, broadcast or resume).\n ScriptGroup,\n // `forge script` execution context.\n ScriptDryRun,\n // `forge script --broadcast` execution context.\n ScriptBroadcast,\n // `forge script --resume` execution context.\n ScriptResume,\n // Unknown `forge` execution context.\n Unknown\n }\n\n /// The transaction type (`txType`) of the broadcast.\n enum BroadcastTxType {\n // Represents a CALL broadcast tx.\n Call,\n // Represents a CREATE broadcast tx.\n Create,\n // Represents a CREATE2 broadcast tx.\n Create2\n }\n\n /// An Ethereum log. Returned by `getRecordedLogs`.\n struct Log {\n // The topics of the log, including the signature, if any.\n bytes32[] topics;\n // The raw data of the log.\n bytes data;\n // The address of the log's emitter.\n address emitter;\n }\n\n /// An RPC URL and its alias. Returned by `rpcUrlStructs`.\n struct Rpc {\n // The alias of the RPC URL.\n string key;\n // The RPC URL.\n string url;\n }\n\n /// An RPC log object. Returned by `eth_getLogs`.\n struct EthGetLogs {\n // The address of the log's emitter.\n address emitter;\n // The topics of the log, including the signature, if any.\n bytes32[] topics;\n // The raw data of the log.\n bytes data;\n // The block hash.\n bytes32 blockHash;\n // The block number.\n uint64 blockNumber;\n // The transaction hash.\n bytes32 transactionHash;\n // The transaction index in the block.\n uint64 transactionIndex;\n // The log index.\n uint256 logIndex;\n // Whether the log was removed.\n bool removed;\n }\n\n /// A single entry in a directory listing. Returned by `readDir`.\n struct DirEntry {\n // The error message, if any.\n string errorMessage;\n // The path of the entry.\n string path;\n // The depth of the entry.\n uint64 depth;\n // Whether the entry is a directory.\n bool isDir;\n // Whether the entry is a symlink.\n bool isSymlink;\n }\n\n /// Metadata information about a file.\n /// This structure is returned from the `fsMetadata` function and represents known\n /// metadata about a file such as its permissions, size, modification\n /// times, etc.\n struct FsMetadata {\n // True if this metadata is for a directory.\n bool isDir;\n // True if this metadata is for a symlink.\n bool isSymlink;\n // The size of the file, in bytes, this metadata is for.\n uint256 length;\n // True if this metadata is for a readonly (unwritable) file.\n bool readOnly;\n // The last modification time listed in this metadata.\n uint256 modified;\n // The last access time of this metadata.\n uint256 accessed;\n // The creation time listed in this metadata.\n uint256 created;\n }\n\n /// A wallet with a public and private key.\n struct Wallet {\n // The wallet's address.\n address addr;\n // The wallet's public key `X`.\n uint256 publicKeyX;\n // The wallet's public key `Y`.\n uint256 publicKeyY;\n // The wallet's private key.\n uint256 privateKey;\n }\n\n /// The result of a `tryFfi` call.\n struct FfiResult {\n // The exit code of the call.\n int32 exitCode;\n // The optionally hex-decoded `stdout` data.\n bytes stdout;\n // The `stderr` data.\n bytes stderr;\n }\n\n /// Information on the chain and fork.\n struct ChainInfo {\n // The fork identifier. Set to zero if no fork is active.\n uint256 forkId;\n // The chain ID of the current fork.\n uint256 chainId;\n }\n\n /// Information about a blockchain.\n struct Chain {\n // The chain name.\n string name;\n // The chain's Chain ID.\n uint256 chainId;\n // The chain's alias. (i.e. what gets specified in `foundry.toml`).\n string chainAlias;\n // A default RPC endpoint for this chain.\n string rpcUrl;\n }\n\n /// The result of a `stopAndReturnStateDiff` call.\n struct AccountAccess {\n // The chain and fork the access occurred.\n ChainInfo chainInfo;\n // The kind of account access that determines what the account is.\n // If kind is Call, DelegateCall, StaticCall or CallCode, then the account is the callee.\n // If kind is Create, then the account is the newly created account.\n // If kind is SelfDestruct, then the account is the selfdestruct recipient.\n // If kind is a Resume, then account represents a account context that has resumed.\n AccountAccessKind kind;\n // The account that was accessed.\n // It's either the account created, callee or a selfdestruct recipient for CREATE, CALL or SELFDESTRUCT.\n address account;\n // What accessed the account.\n address accessor;\n // If the account was initialized or empty prior to the access.\n // An account is considered initialized if it has code, a\n // non-zero nonce, or a non-zero balance.\n bool initialized;\n // The previous balance of the accessed account.\n uint256 oldBalance;\n // The potential new balance of the accessed account.\n // That is, all balance changes are recorded here, even if reverts occurred.\n uint256 newBalance;\n // Code of the account deployed by CREATE.\n bytes deployedCode;\n // Value passed along with the account access\n uint256 value;\n // Input data provided to the CREATE or CALL\n bytes data;\n // If this access reverted in either the current or parent context.\n bool reverted;\n // An ordered list of storage accesses made during an account access operation.\n StorageAccess[] storageAccesses;\n // Call depth traversed during the recording of state differences\n uint64 depth;\n // The previous nonce of the accessed account.\n uint64 oldNonce;\n // The new nonce of the accessed account.\n uint64 newNonce;\n }\n\n /// The storage accessed during an `AccountAccess`.\n struct StorageAccess {\n // The account whose storage was accessed.\n address account;\n // The slot that was accessed.\n bytes32 slot;\n // If the access was a write.\n bool isWrite;\n // The previous value of the slot.\n bytes32 previousValue;\n // The new value of the slot.\n bytes32 newValue;\n // If the access was reverted.\n bool reverted;\n }\n\n /// Gas used. Returned by `lastCallGas`.\n struct Gas {\n // The gas limit of the call.\n uint64 gasLimit;\n // The total gas used.\n uint64 gasTotalUsed;\n // DEPRECATED: The amount of gas used for memory expansion. Ref: \n uint64 gasMemoryUsed;\n // The amount of gas refunded.\n int64 gasRefunded;\n // The amount of gas remaining.\n uint64 gasRemaining;\n }\n\n /// The result of the `stopDebugTraceRecording` call\n struct DebugStep {\n // The stack before executing the step of the run.\n // stack\\[0\\] represents the top of the stack.\n // and only stack data relevant to the opcode execution is contained.\n uint256[] stack;\n // The memory input data before executing the step of the run.\n // only input data relevant to the opcode execution is contained.\n // e.g. for MLOAD, it will have memory\\[offset:offset+32\\] copied here.\n // the offset value can be get by the stack data.\n bytes memoryInput;\n // The opcode that was accessed.\n uint8 opcode;\n // The call depth of the step.\n uint64 depth;\n // Whether the call end up with out of gas error.\n bool isOutOfGas;\n // The contract address where the opcode is running\n address contractAddr;\n }\n\n /// Represents a transaction's broadcast details.\n struct BroadcastTxSummary {\n // The hash of the transaction that was broadcasted\n bytes32 txHash;\n // Represent the type of transaction among CALL, CREATE, CREATE2\n BroadcastTxType txType;\n // The address of the contract that was called or created.\n // This is address of the contract that is created if the txType is CREATE or CREATE2.\n address contractAddress;\n // The block number the transaction landed in.\n uint64 blockNumber;\n // Status of the transaction, retrieved from the transaction receipt.\n bool success;\n }\n\n /// Holds a signed EIP-7702 authorization for an authority account to delegate to an implementation.\n struct SignedDelegation {\n // The y-parity of the recovered secp256k1 signature (0 or 1).\n uint8 v;\n // First 32 bytes of the signature.\n bytes32 r;\n // Second 32 bytes of the signature.\n bytes32 s;\n // The current nonce of the authority account at signing time.\n // Used to ensure signature can't be replayed after account nonce changes.\n uint64 nonce;\n // Address of the contract implementation that will be delegated to.\n // Gets encoded into delegation code: 0xef0100 || implementation.\n address implementation;\n }\n\n /// Represents a \"potential\" revert reason from a single subsequent call when using `vm.assumeNoReverts`.\n /// Reverts that match will result in a FOUNDRY::ASSUME rejection, whereas unmatched reverts will be surfaced\n /// as normal.\n struct PotentialRevert {\n // The allowed origin of the revert opcode; address(0) allows reverts from any address\n address reverter;\n // When true, only matches on the beginning of the revert data, otherwise, matches on entire revert data\n bool partialMatch;\n // The data to use to match encountered reverts\n bytes revertData;\n }\n\n /// An EIP-2930 access list item.\n struct AccessListItem {\n // The address to be added in access list.\n address target;\n // The storage keys to be added in access list.\n bytes32[] storageKeys;\n }\n\n // ======== Crypto ========\n\n /// Derives a private key from the name, labels the account with that name, and returns the wallet.\n function createWallet(string calldata walletLabel) external returns (Wallet memory wallet);\n\n /// Generates a wallet from the private key and returns the wallet.\n function createWallet(uint256 privateKey) external returns (Wallet memory wallet);\n\n /// Generates a wallet from the private key, labels the account with that name, and returns the wallet.\n function createWallet(uint256 privateKey, string calldata walletLabel) external returns (Wallet memory wallet);\n\n /// Derive a private key from a provided mnemonic string (or mnemonic file path)\n /// at the derivation path `m/44'/60'/0'/0/{index}`.\n function deriveKey(string calldata mnemonic, uint32 index) external pure returns (uint256 privateKey);\n\n /// Derive a private key from a provided mnemonic string (or mnemonic file path)\n /// at `{derivationPath}{index}`.\n function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index)\n external\n pure\n returns (uint256 privateKey);\n\n /// Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language\n /// at the derivation path `m/44'/60'/0'/0/{index}`.\n function deriveKey(string calldata mnemonic, uint32 index, string calldata language)\n external\n pure\n returns (uint256 privateKey);\n\n /// Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language\n /// at `{derivationPath}{index}`.\n function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index, string calldata language)\n external\n pure\n returns (uint256 privateKey);\n\n /// Derives secp256r1 public key from the provided `privateKey`.\n function publicKeyP256(uint256 privateKey) external pure returns (uint256 publicKeyX, uint256 publicKeyY);\n\n /// Adds a private key to the local forge wallet and returns the address.\n function rememberKey(uint256 privateKey) external returns (address keyAddr);\n\n /// Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`.\n /// The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\n function rememberKeys(string calldata mnemonic, string calldata derivationPath, uint32 count)\n external\n returns (address[] memory keyAddrs);\n\n /// Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`.\n /// The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\n function rememberKeys(\n string calldata mnemonic,\n string calldata derivationPath,\n string calldata language,\n uint32 count\n ) external returns (address[] memory keyAddrs);\n\n /// Signs data with a `Wallet`.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n function signCompact(Wallet calldata wallet, bytes32 digest) external returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with `privateKey` using the secp256k1 curve.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n function signCompact(uint256 privateKey, bytes32 digest) external pure returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n /// If `--sender` is provided, the signer with provided address is used, otherwise,\n /// if exactly one signer is provided to the script, that signer is used.\n /// Raises error if signer passed through `--sender` does not match any unlocked signers or\n /// if `--sender` is not provided and not exactly one signer is passed to the script.\n function signCompact(bytes32 digest) external pure returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n /// Raises error if none of the signers passed into the script have provided address.\n function signCompact(address signer, bytes32 digest) external pure returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with `privateKey` using the secp256r1 curve.\n function signP256(uint256 privateKey, bytes32 digest) external pure returns (bytes32 r, bytes32 s);\n\n /// Signs `digest` with `privateKey` on the secp256k1 curve, using the given `nonce`\n /// as the raw ephemeral k value in ECDSA (instead of deriving it deterministically).\n function signWithNonceUnsafe(uint256 privateKey, bytes32 digest, uint256 nonce)\n external\n pure\n returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs data with a `Wallet`.\n function sign(Wallet calldata wallet, bytes32 digest) external returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs `digest` with `privateKey` using the secp256k1 curve.\n function sign(uint256 privateKey, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// If `--sender` is provided, the signer with provided address is used, otherwise,\n /// if exactly one signer is provided to the script, that signer is used.\n /// Raises error if signer passed through `--sender` does not match any unlocked signers or\n /// if `--sender` is not provided and not exactly one signer is passed to the script.\n function sign(bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// Raises error if none of the signers passed into the script have provided address.\n function sign(address signer, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n\n // ======== Environment ========\n\n /// Gets the environment variable `name` and parses it as `address`.\n /// Reverts if the variable was not found or could not be parsed.\n function envAddress(string calldata name) external view returns (address value);\n\n /// Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envAddress(string calldata name, string calldata delim) external view returns (address[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bool`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBool(string calldata name) external view returns (bool value);\n\n /// Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBool(string calldata name, string calldata delim) external view returns (bool[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bytes32`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes32(string calldata name) external view returns (bytes32 value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes32(string calldata name, string calldata delim) external view returns (bytes32[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bytes`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes(string calldata name) external view returns (bytes memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes(string calldata name, string calldata delim) external view returns (bytes[] memory value);\n\n /// Gets the environment variable `name` and returns true if it exists, else returns false.\n function envExists(string calldata name) external view returns (bool result);\n\n /// Gets the environment variable `name` and parses it as `int256`.\n /// Reverts if the variable was not found or could not be parsed.\n function envInt(string calldata name) external view returns (int256 value);\n\n /// Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envInt(string calldata name, string calldata delim) external view returns (int256[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bool`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, bool defaultValue) external view returns (bool value);\n\n /// Gets the environment variable `name` and parses it as `uint256`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, uint256 defaultValue) external view returns (uint256 value);\n\n /// Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, address[] calldata defaultValue)\n external\n view\n returns (address[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, bytes32[] calldata defaultValue)\n external\n view\n returns (bytes32[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, string[] calldata defaultValue)\n external\n view\n returns (string[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, bytes[] calldata defaultValue)\n external\n view\n returns (bytes[] memory value);\n\n /// Gets the environment variable `name` and parses it as `int256`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, int256 defaultValue) external view returns (int256 value);\n\n /// Gets the environment variable `name` and parses it as `address`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, address defaultValue) external view returns (address value);\n\n /// Gets the environment variable `name` and parses it as `bytes32`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, bytes32 defaultValue) external view returns (bytes32 value);\n\n /// Gets the environment variable `name` and parses it as `string`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata defaultValue) external view returns (string memory value);\n\n /// Gets the environment variable `name` and parses it as `bytes`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, bytes calldata defaultValue) external view returns (bytes memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, bool[] calldata defaultValue)\n external\n view\n returns (bool[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, uint256[] calldata defaultValue)\n external\n view\n returns (uint256[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, int256[] calldata defaultValue)\n external\n view\n returns (int256[] memory value);\n\n /// Gets the environment variable `name` and parses it as `string`.\n /// Reverts if the variable was not found or could not be parsed.\n function envString(string calldata name) external view returns (string memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envString(string calldata name, string calldata delim) external view returns (string[] memory value);\n\n /// Gets the environment variable `name` and parses it as `uint256`.\n /// Reverts if the variable was not found or could not be parsed.\n function envUint(string calldata name) external view returns (uint256 value);\n\n /// Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envUint(string calldata name, string calldata delim) external view returns (uint256[] memory value);\n\n /// Returns true if `forge` command was executed in given context.\n function isContext(ForgeContext context) external view returns (bool result);\n\n /// Resolves the env variable placeholders of a given input string.\n function resolveEnv(string calldata input) external returns (string memory);\n\n /// Sets environment variables.\n function setEnv(string calldata name, string calldata value) external;\n\n // ======== EVM ========\n\n /// Gets all accessed reads and write slot from a `vm.record` session, for a given address.\n function accesses(address target) external view returns (bytes32[] memory readSlots, bytes32[] memory writeSlots);\n\n /// Gets the address for a given private key.\n function addr(uint256 privateKey) external pure returns (address keyAddr);\n\n /// Gets all the logs according to specified filter.\n function eth_getLogs(uint256 fromBlock, uint256 toBlock, address target, bytes32[] calldata topics)\n external\n view\n returns (EthGetLogs[] memory logs);\n\n /// Gets the current `block.blobbasefee`.\n /// You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction,\n /// and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getBlobBaseFee() external view returns (uint256 blobBaseFee);\n\n /// Gets the current `block.number`.\n /// You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction,\n /// and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getBlockNumber() external view returns (uint256 height);\n\n /// Gets the current `block.timestamp`.\n /// You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction,\n /// and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getBlockTimestamp() external view returns (uint256 timestamp);\n\n /// Gets the current `block.chainid` of the currently selected environment.\n /// You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed\n /// to be constant across a transaction, and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getChainId() external view returns (uint256 blockChainId);\n\n /// Returns the test or script execution evm version.\n /// **Note:** The execution evm version is not the same as the compilation one.\n function getEvmVersion() external pure returns (string memory evm);\n\n /// Gets the map key and parent of a mapping at a given slot, for a given address.\n function getMappingKeyAndParentOf(address target, bytes32 elementSlot)\n external\n view\n returns (bool found, bytes32 key, bytes32 parent);\n\n /// Gets the number of elements in the mapping at the given slot, for a given address.\n function getMappingLength(address target, bytes32 mappingSlot) external view returns (uint256 length);\n\n /// Gets the elements at index idx of the mapping at the given slot, for a given address. The\n /// index must be less than the length of the mapping (i.e. the number of keys in the mapping).\n function getMappingSlotAt(address target, bytes32 mappingSlot, uint256 idx) external view returns (bytes32 value);\n\n /// Gets the nonce of an account.\n function getNonce(address account) external view returns (uint64 nonce);\n\n /// Get the nonce of a `Wallet`.\n function getNonce(Wallet calldata wallet) external view returns (uint64 nonce);\n\n /// Gets the RLP encoded block header for a given block number.\n /// Returns the block header in the same format as `cast block --raw`.\n function getRawBlockHeader(uint256 blockNumber) external view returns (bytes memory rlpHeader);\n\n /// Gets all the recorded logs.\n function getRecordedLogs() external view returns (Log[] memory logs);\n\n /// Returns state diffs from current `vm.startStateDiffRecording` session.\n function getStateDiff() external view returns (string memory diff);\n\n /// Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\n function getStateDiffJson() external view returns (string memory diff);\n\n /// Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session\n function getStorageAccesses() external view returns (StorageAccess[] memory storageAccesses);\n\n /// Returns an array of storage slots occupied by the specified variable.\n function getStorageSlots(address target, string calldata variableName)\n external\n view\n returns (uint256[] memory slots);\n\n /// Gets the gas used in the last call from the callee perspective.\n function lastCallGas() external view returns (Gas memory gas);\n\n /// Loads a storage slot from an address.\n function load(address target, bytes32 slot) external view returns (bytes32 data);\n\n /// Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\n function pauseGasMetering() external;\n\n /// Records all storage reads and writes. Use `accesses` to get the recorded data.\n /// Subsequent calls to `record` will clear the previous data.\n function record() external;\n\n /// Record all the transaction logs.\n function recordLogs() external;\n\n /// Reset gas metering (i.e. gas usage is set to gas limit).\n function resetGasMetering() external;\n\n /// Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\n function resumeGasMetering() external;\n\n /// Performs an Ethereum JSON-RPC request to the current fork URL.\n function rpc(string calldata method, string calldata params) external returns (bytes memory data);\n\n /// Performs an Ethereum JSON-RPC request to the given endpoint.\n function rpc(string calldata urlOrAlias, string calldata method, string calldata params)\n external\n returns (bytes memory data);\n\n /// Set the exact test or script execution evm version, e.g. `berlin`, `cancun`.\n /// **Note:** The execution evm version is not the same as the compilation one.\n function setEvmVersion(string calldata evm) external;\n\n /// Records the debug trace during the run.\n function startDebugTraceRecording() external;\n\n /// Starts recording all map SSTOREs for later retrieval.\n function startMappingRecording() external;\n\n /// Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order,\n /// along with the context of the calls\n function startStateDiffRecording() external;\n\n /// Stop debug trace recording and returns the recorded debug trace.\n function stopAndReturnDebugTraceRecording() external returns (DebugStep[] memory step);\n\n /// Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\n function stopAndReturnStateDiff() external returns (AccountAccess[] memory accountAccesses);\n\n /// Stops recording all map SSTOREs for later retrieval and clears the recorded data.\n function stopMappingRecording() external;\n\n /// Stops recording storage reads and writes.\n function stopRecord() external;\n\n // ======== Filesystem ========\n\n /// Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n /// `path` is relative to the project root.\n function closeFile(string calldata path) external;\n\n /// Copies the contents of one file to another. This function will **overwrite** the contents of `to`.\n /// On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`.\n /// Both `from` and `to` are relative to the project root.\n function copyFile(string calldata from, string calldata to) external returns (uint64 copied);\n\n /// Creates a new, empty directory at the provided path.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - User lacks permissions to modify `path`.\n /// - A parent of the given path doesn't exist and `recursive` is false.\n /// - `path` already exists and `recursive` is false.\n /// `path` is relative to the project root.\n function createDir(string calldata path, bool recursive) external;\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function deployCode(string calldata artifactPath) external returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts `msg.value`.\n function deployCode(string calldata artifactPath, uint256 value) external returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments and `msg.value`.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs, uint256 value)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function deployCode(string calldata artifactPath, bytes32 salt) external returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs, bytes32 salt)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts `msg.value`.\n function deployCode(string calldata artifactPath, uint256 value, bytes32 salt)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments and `msg.value`.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs, uint256 value, bytes32 salt)\n external\n returns (address deployedAddress);\n\n /// Returns true if the given path points to an existing entity, else returns false.\n function exists(string calldata path) external view returns (bool result);\n\n /// Performs a foreign function call via the terminal.\n function ffi(string[] calldata commandInput) external returns (bytes memory result);\n\n /// Given a path, query the file system to get information about a file, directory, etc.\n function fsMetadata(string calldata path) external view returns (FsMetadata memory metadata);\n\n /// Gets the artifact path from code (aka. creation code).\n function getArtifactPathByCode(bytes calldata code) external view returns (string memory path);\n\n /// Gets the artifact path from deployed code (aka. runtime code).\n function getArtifactPathByDeployedCode(bytes calldata deployedCode) external view returns (string memory path);\n\n /// Returns the most recent broadcast for the given contract on `chainId` matching `txType`.\n /// For example:\n /// The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`.\n /// The most recent call can be fetched by passing `txType` as `CALL`.\n function getBroadcast(string calldata contractName, uint64 chainId, BroadcastTxType txType)\n external\n view\n returns (BroadcastTxSummary memory);\n\n /// Returns all broadcasts for the given contract on `chainId` with the specified `txType`.\n /// Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\n function getBroadcasts(string calldata contractName, uint64 chainId, BroadcastTxType txType)\n external\n view\n returns (BroadcastTxSummary[] memory);\n\n /// Returns all broadcasts for the given contract on `chainId`.\n /// Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\n function getBroadcasts(string calldata contractName, uint64 chainId)\n external\n view\n returns (BroadcastTxSummary[] memory);\n\n /// Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function getCode(string calldata artifactPath) external view returns (bytes memory creationBytecode);\n\n /// Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function getDeployedCode(string calldata artifactPath) external view returns (bytes memory runtimeBytecode);\n\n /// Returns the most recent deployment for the current `chainId`.\n function getDeployment(string calldata contractName) external view returns (address deployedAddress);\n\n /// Returns the most recent deployment for the given contract on `chainId`\n function getDeployment(string calldata contractName, uint64 chainId)\n external\n view\n returns (address deployedAddress);\n\n /// Returns all deployments for the given contract on `chainId`\n /// Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber.\n /// The most recent deployment is the first element, and the oldest is the last.\n function getDeployments(string calldata contractName, uint64 chainId)\n external\n view\n returns (address[] memory deployedAddresses);\n\n /// Returns true if the path exists on disk and is pointing at a directory, else returns false.\n function isDir(string calldata path) external view returns (bool result);\n\n /// Returns true if the path exists on disk and is pointing at a regular file, else returns false.\n function isFile(string calldata path) external view returns (bool result);\n\n /// Get the path of the current project root.\n function projectRoot() external view returns (string memory path);\n\n /// Prompts the user for a string value in the terminal.\n function prompt(string calldata promptText) external returns (string memory input);\n\n /// Prompts the user for an address in the terminal.\n function promptAddress(string calldata promptText) external returns (address);\n\n /// Prompts the user for a hidden string value in the terminal.\n function promptSecret(string calldata promptText) external returns (string memory input);\n\n /// Prompts the user for hidden uint256 in the terminal (usually pk).\n function promptSecretUint(string calldata promptText) external returns (uint256);\n\n /// Prompts the user for uint256 in the terminal.\n function promptUint(string calldata promptText) external returns (uint256);\n\n /// Reads the directory at the given path recursively, up to `maxDepth`.\n /// `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned.\n /// Follows symbolic links if `followLinks` is true.\n function readDir(string calldata path) external view returns (DirEntry[] memory entries);\n\n /// See `readDir(string)`.\n function readDir(string calldata path, uint64 maxDepth) external view returns (DirEntry[] memory entries);\n\n /// See `readDir(string)`.\n function readDir(string calldata path, uint64 maxDepth, bool followLinks)\n external\n view\n returns (DirEntry[] memory entries);\n\n /// Reads the entire content of file to string. `path` is relative to the project root.\n function readFile(string calldata path) external view returns (string memory data);\n\n /// Reads the entire content of file as binary. `path` is relative to the project root.\n function readFileBinary(string calldata path) external view returns (bytes memory data);\n\n /// Reads next line of file to string.\n function readLine(string calldata path) external view returns (string memory line);\n\n /// Reads a symbolic link, returning the path that the link points to.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - `path` is not a symbolic link.\n /// - `path` does not exist.\n function readLink(string calldata linkPath) external view returns (string memory targetPath);\n\n /// Removes a directory at the provided path.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - `path` doesn't exist.\n /// - `path` isn't a directory.\n /// - User lacks permissions to modify `path`.\n /// - The directory is not empty and `recursive` is false.\n /// `path` is relative to the project root.\n function removeDir(string calldata path, bool recursive) external;\n\n /// Removes a file from the filesystem.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - `path` points to a directory.\n /// - The file doesn't exist.\n /// - The user lacks permissions to remove the file.\n /// `path` is relative to the project root.\n function removeFile(string calldata path) external;\n\n /// Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\n function tryFfi(string[] calldata commandInput) external returns (FfiResult memory result);\n\n /// Returns the time since unix epoch in milliseconds.\n function unixTime() external view returns (uint256 milliseconds);\n\n /// Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.\n /// `path` is relative to the project root.\n function writeFile(string calldata path, string calldata data) external;\n\n /// Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.\n /// `path` is relative to the project root.\n function writeFileBinary(string calldata path, bytes calldata data) external;\n\n /// Writes line to file, creating a file if it does not exist.\n /// `path` is relative to the project root.\n function writeLine(string calldata path, string calldata data) external;\n\n // ======== JSON ========\n\n /// Checks if `key` exists in a JSON object.\n function keyExistsJson(string calldata json, string calldata key) external view returns (bool);\n\n /// Parses a string of JSON data at `key` and coerces it to `address`.\n function parseJsonAddress(string calldata json, string calldata key) external pure returns (address);\n\n /// Parses a string of JSON data at `key` and coerces it to `address[]`.\n function parseJsonAddressArray(string calldata json, string calldata key)\n external\n pure\n returns (address[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bool`.\n function parseJsonBool(string calldata json, string calldata key) external pure returns (bool);\n\n /// Parses a string of JSON data at `key` and coerces it to `bool[]`.\n function parseJsonBoolArray(string calldata json, string calldata key) external pure returns (bool[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes`.\n function parseJsonBytes(string calldata json, string calldata key) external pure returns (bytes memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes32`.\n function parseJsonBytes32(string calldata json, string calldata key) external pure returns (bytes32);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\n function parseJsonBytes32Array(string calldata json, string calldata key)\n external\n pure\n returns (bytes32[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes[]`.\n function parseJsonBytesArray(string calldata json, string calldata key) external pure returns (bytes[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `int256`.\n function parseJsonInt(string calldata json, string calldata key) external pure returns (int256);\n\n /// Parses a string of JSON data at `key` and coerces it to `int256[]`.\n function parseJsonIntArray(string calldata json, string calldata key) external pure returns (int256[] memory);\n\n /// Returns an array of all the keys in a JSON object.\n function parseJsonKeys(string calldata json, string calldata key) external pure returns (string[] memory keys);\n\n /// Parses a string of JSON data at `key` and coerces it to `string`.\n function parseJsonString(string calldata json, string calldata key) external pure returns (string memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `string[]`.\n function parseJsonStringArray(string calldata json, string calldata key) external pure returns (string[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\n function parseJsonTypeArray(string calldata json, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\n function parseJsonType(string calldata json, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\n function parseJsonType(string calldata json, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `uint256`.\n function parseJsonUint(string calldata json, string calldata key) external pure returns (uint256);\n\n /// Parses a string of JSON data at `key` and coerces it to `uint256[]`.\n function parseJsonUintArray(string calldata json, string calldata key) external pure returns (uint256[] memory);\n\n /// ABI-encodes a JSON object.\n function parseJson(string calldata json) external pure returns (bytes memory abiEncodedData);\n\n /// ABI-encodes a JSON object at `key`.\n function parseJson(string calldata json, string calldata key) external pure returns (bytes memory abiEncodedData);\n\n /// See `serializeJson`.\n function serializeAddress(string calldata objectKey, string calldata valueKey, address value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeAddress(string calldata objectKey, string calldata valueKey, address[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBool(string calldata objectKey, string calldata valueKey, bool value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBool(string calldata objectKey, string calldata valueKey, bool[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes calldata value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeInt(string calldata objectKey, string calldata valueKey, int256 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeInt(string calldata objectKey, string calldata valueKey, int256[] calldata values)\n external\n returns (string memory json);\n\n /// Serializes a key and value to a JSON object stored in-memory that can be later written to a file.\n /// Returns the stringified version of the specific JSON file up to that moment.\n function serializeJson(string calldata objectKey, string calldata value) external returns (string memory json);\n\n /// See `serializeJson`.\n function serializeJsonType(string calldata typeDescription, bytes calldata value)\n external\n pure\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeJsonType(\n string calldata objectKey,\n string calldata valueKey,\n string calldata typeDescription,\n bytes calldata value\n ) external returns (string memory json);\n\n /// See `serializeJson`.\n function serializeString(string calldata objectKey, string calldata valueKey, string calldata value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeString(string calldata objectKey, string calldata valueKey, string[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeUintToHex(string calldata objectKey, string calldata valueKey, uint256 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256[] calldata values)\n external\n returns (string memory json);\n\n /// Write a serialized JSON object to a file. If the file exists, it will be overwritten.\n function writeJson(string calldata json, string calldata path) external;\n\n /// Write a serialized JSON object to an **existing** JSON file, replacing a value with key = \n /// This is useful to replace a specific value of a JSON file, without having to parse the entire thing.\n /// This cheatcode will create new keys if they didn't previously exist.\n function writeJson(string calldata json, string calldata path, string calldata valueKey) external;\n\n /// Checks if `key` exists in a JSON object\n /// `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\n function keyExists(string calldata json, string calldata key) external view returns (bool);\n\n // ======== Scripting ========\n\n /// Attach an EIP-4844 blob to the next call\n function attachBlob(bytes calldata blob) external;\n\n /// Designate the next call as an EIP-7702 transaction\n function attachDelegation(SignedDelegation calldata signedDelegation) external;\n\n /// Designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\n function attachDelegation(SignedDelegation calldata signedDelegation, bool crossChain) external;\n\n /// Takes a signed transaction and broadcasts it to the network.\n function broadcastRawTransaction(bytes calldata data) external;\n\n /// Has the next call (at this call depth only) create transactions that can later be signed and sent onchain.\n /// Broadcasting address is determined by checking the following in order:\n /// 1. If `--sender` argument was provided, that address is used.\n /// 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n /// 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\n function broadcast() external;\n\n /// Has the next call (at this call depth only) create a transaction with the address provided\n /// as the sender that can later be signed and sent onchain.\n function broadcast(address signer) external;\n\n /// Has the next call (at this call depth only) create a transaction with the private key\n /// provided as the sender that can later be signed and sent onchain.\n function broadcast(uint256 privateKey) external;\n\n /// Returns addresses of available unlocked wallets in the script environment.\n function getWallets() external view returns (address[] memory wallets);\n\n /// Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\n function signAndAttachDelegation(address implementation, uint256 privateKey)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\n function signAndAttachDelegation(address implementation, uint256 privateKey, uint64 nonce)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\n function signAndAttachDelegation(address implementation, uint256 privateKey, bool crossChain)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization for delegation\n function signDelegation(address implementation, uint256 privateKey)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization for delegation for specific nonce\n function signDelegation(address implementation, uint256 privateKey, uint64 nonce)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization for delegation, with optional cross-chain validity.\n function signDelegation(address implementation, uint256 privateKey, bool crossChain)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain.\n /// Broadcasting address is determined by checking the following in order:\n /// 1. If `--sender` argument was provided, that address is used.\n /// 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n /// 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\n function startBroadcast() external;\n\n /// Has all subsequent calls (at this call depth only) create transactions with the address\n /// provided that can later be signed and sent onchain.\n function startBroadcast(address signer) external;\n\n /// Has all subsequent calls (at this call depth only) create transactions with the private key\n /// provided that can later be signed and sent onchain.\n function startBroadcast(uint256 privateKey) external;\n\n /// Stops collecting onchain transactions.\n function stopBroadcast() external;\n\n // ======== String ========\n\n /// Returns true if `search` is found in `subject`, false otherwise.\n function contains(string calldata subject, string calldata search) external pure returns (bool result);\n\n /// Returns the index of the first occurrence of a `key` in an `input` string.\n /// Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found.\n /// Returns 0 in case of an empty `key`.\n function indexOf(string calldata input, string calldata key) external pure returns (uint256);\n\n /// Parses the given `string` into an `address`.\n function parseAddress(string calldata stringifiedValue) external pure returns (address parsedValue);\n\n /// Parses the given `string` into a `bool`.\n function parseBool(string calldata stringifiedValue) external pure returns (bool parsedValue);\n\n /// Parses the given `string` into `bytes`.\n function parseBytes(string calldata stringifiedValue) external pure returns (bytes memory parsedValue);\n\n /// Parses the given `string` into a `bytes32`.\n function parseBytes32(string calldata stringifiedValue) external pure returns (bytes32 parsedValue);\n\n /// Parses the given `string` into a `int256`.\n function parseInt(string calldata stringifiedValue) external pure returns (int256 parsedValue);\n\n /// Parses the given `string` into a `uint256`.\n function parseUint(string calldata stringifiedValue) external pure returns (uint256 parsedValue);\n\n /// Replaces occurrences of `from` in the given `string` with `to`.\n function replace(string calldata input, string calldata from, string calldata to)\n external\n pure\n returns (string memory output);\n\n /// Splits the given `string` into an array of strings divided by the `delimiter`.\n function split(string calldata input, string calldata delimiter) external pure returns (string[] memory outputs);\n\n /// Converts the given `string` value to Lowercase.\n function toLowercase(string calldata input) external pure returns (string memory output);\n\n /// Converts the given value to a `string`.\n function toString(address value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(bytes calldata value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(bytes32 value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(bool value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(uint256 value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(int256 value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given `string` value to Uppercase.\n function toUppercase(string calldata input) external pure returns (string memory output);\n\n /// Trims leading and trailing whitespace from the given `string` value.\n function trim(string calldata input) external pure returns (string memory output);\n\n // ======== Testing ========\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message.\n function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqAbsDecimal(\n uint256 left,\n uint256 right,\n uint256 maxDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message.\n function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqAbsDecimal(\n int256 left,\n int256 right,\n uint256 maxDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) external pure;\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Includes error message into revert string on failure.\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Includes error message into revert string on failure.\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message.\n function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals)\n external\n pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqRelDecimal(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message.\n function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals)\n external\n pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqRelDecimal(\n int256 left,\n int256 right,\n uint256 maxPercentDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) external pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Includes error message into revert string on failure.\n function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string calldata error)\n external\n pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) external pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Includes error message into revert string on failure.\n function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string calldata error)\n external\n pure;\n\n /// Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `int256` values are equal, formatting them with decimals in failure message.\n function assertEqDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Asserts that two `int256` values are equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertEqDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `bool` values are equal.\n function assertEq(bool left, bool right) external pure;\n\n /// Asserts that two `bool` values are equal and includes error message into revert string on failure.\n function assertEq(bool left, bool right, string calldata error) external pure;\n\n /// Asserts that two `string` values are equal.\n function assertEq(string calldata left, string calldata right) external pure;\n\n /// Asserts that two `string` values are equal and includes error message into revert string on failure.\n function assertEq(string calldata left, string calldata right, string calldata error) external pure;\n\n /// Asserts that two `bytes` values are equal.\n function assertEq(bytes calldata left, bytes calldata right) external pure;\n\n /// Asserts that two `bytes` values are equal and includes error message into revert string on failure.\n function assertEq(bytes calldata left, bytes calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bool` values are equal.\n function assertEq(bool[] calldata left, bool[] calldata right) external pure;\n\n /// Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\n function assertEq(bool[] calldata left, bool[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `uint256 values are equal.\n function assertEq(uint256[] calldata left, uint256[] calldata right) external pure;\n\n /// Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\n function assertEq(uint256[] calldata left, uint256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `int256` values are equal.\n function assertEq(int256[] calldata left, int256[] calldata right) external pure;\n\n /// Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\n function assertEq(int256[] calldata left, int256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are equal.\n function assertEq(uint256 left, uint256 right) external pure;\n\n /// Asserts that two arrays of `address` values are equal.\n function assertEq(address[] calldata left, address[] calldata right) external pure;\n\n /// Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\n function assertEq(address[] calldata left, address[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes32` values are equal.\n function assertEq(bytes32[] calldata left, bytes32[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\n function assertEq(bytes32[] calldata left, bytes32[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `string` values are equal.\n function assertEq(string[] calldata left, string[] calldata right) external pure;\n\n /// Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\n function assertEq(string[] calldata left, string[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes` values are equal.\n function assertEq(bytes[] calldata left, bytes[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\n function assertEq(bytes[] calldata left, bytes[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are equal and includes error message into revert string on failure.\n function assertEq(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Asserts that two `int256` values are equal.\n function assertEq(int256 left, int256 right) external pure;\n\n /// Asserts that two `int256` values are equal and includes error message into revert string on failure.\n function assertEq(int256 left, int256 right, string calldata error) external pure;\n\n /// Asserts that two `address` values are equal.\n function assertEq(address left, address right) external pure;\n\n /// Asserts that two `address` values are equal and includes error message into revert string on failure.\n function assertEq(address left, address right, string calldata error) external pure;\n\n /// Asserts that two `bytes32` values are equal.\n function assertEq(bytes32 left, bytes32 right) external pure;\n\n /// Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\n function assertEq(bytes32 left, bytes32 right, string calldata error) external pure;\n\n /// Asserts that the given condition is false.\n function assertFalse(bool condition) external pure;\n\n /// Asserts that the given condition is false and includes error message into revert string on failure.\n function assertFalse(bool condition, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message.\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message.\n function assertGeDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGeDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n function assertGe(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n /// Includes error message into revert string on failure.\n function assertGe(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n function assertGe(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n /// Includes error message into revert string on failure.\n function assertGe(int256 left, int256 right, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message.\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message.\n function assertGtDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGtDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n function assertGt(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n /// Includes error message into revert string on failure.\n function assertGt(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n function assertGt(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n /// Includes error message into revert string on failure.\n function assertGt(int256 left, int256 right, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message.\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message.\n function assertLeDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLeDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n function assertLe(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n /// Includes error message into revert string on failure.\n function assertLe(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n function assertLe(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n /// Includes error message into revert string on failure.\n function assertLe(int256 left, int256 right, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message.\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message.\n function assertLtDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLtDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n function assertLt(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n /// Includes error message into revert string on failure.\n function assertLt(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n function assertLt(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n /// Includes error message into revert string on failure.\n function assertLt(int256 left, int256 right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `bool` values are not equal.\n function assertNotEq(bool left, bool right) external pure;\n\n /// Asserts that two `bool` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bool left, bool right, string calldata error) external pure;\n\n /// Asserts that two `string` values are not equal.\n function assertNotEq(string calldata left, string calldata right) external pure;\n\n /// Asserts that two `string` values are not equal and includes error message into revert string on failure.\n function assertNotEq(string calldata left, string calldata right, string calldata error) external pure;\n\n /// Asserts that two `bytes` values are not equal.\n function assertNotEq(bytes calldata left, bytes calldata right) external pure;\n\n /// Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes calldata left, bytes calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bool` values are not equal.\n function assertNotEq(bool[] calldata left, bool[] calldata right) external pure;\n\n /// Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bool[] calldata left, bool[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `uint256` values are not equal.\n function assertNotEq(uint256[] calldata left, uint256[] calldata right) external pure;\n\n /// Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(uint256[] calldata left, uint256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `int256` values are not equal.\n function assertNotEq(int256[] calldata left, int256[] calldata right) external pure;\n\n /// Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(int256[] calldata left, int256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are not equal.\n function assertNotEq(uint256 left, uint256 right) external pure;\n\n /// Asserts that two arrays of `address` values are not equal.\n function assertNotEq(address[] calldata left, address[] calldata right) external pure;\n\n /// Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\n function assertNotEq(address[] calldata left, address[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes32` values are not equal.\n function assertNotEq(bytes32[] calldata left, bytes32[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes32[] calldata left, bytes32[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `string` values are not equal.\n function assertNotEq(string[] calldata left, string[] calldata right) external pure;\n\n /// Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\n function assertNotEq(string[] calldata left, string[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes` values are not equal.\n function assertNotEq(bytes[] calldata left, bytes[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes[] calldata left, bytes[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Asserts that two `int256` values are not equal.\n function assertNotEq(int256 left, int256 right) external pure;\n\n /// Asserts that two `int256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(int256 left, int256 right, string calldata error) external pure;\n\n /// Asserts that two `address` values are not equal.\n function assertNotEq(address left, address right) external pure;\n\n /// Asserts that two `address` values are not equal and includes error message into revert string on failure.\n function assertNotEq(address left, address right, string calldata error) external pure;\n\n /// Asserts that two `bytes32` values are not equal.\n function assertNotEq(bytes32 left, bytes32 right) external pure;\n\n /// Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes32 left, bytes32 right, string calldata error) external pure;\n\n /// Asserts that the given condition is true.\n function assertTrue(bool condition) external pure;\n\n /// Asserts that the given condition is true and includes error message into revert string on failure.\n function assertTrue(bool condition, string calldata error) external pure;\n\n /// If the condition is false, discard this run's fuzz inputs and generate new ones.\n function assume(bool condition) external pure;\n\n /// Discard this run's fuzz inputs and generate new ones if next call reverted.\n function assumeNoRevert() external pure;\n\n /// Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\n function assumeNoRevert(PotentialRevert calldata potentialRevert) external pure;\n\n /// Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\n function assumeNoRevert(PotentialRevert[] calldata potentialReverts) external pure;\n\n /// Writes a breakpoint to jump to in the debugger.\n function breakpoint(string calldata char) external pure;\n\n /// Writes a conditional breakpoint to jump to in the debugger.\n function breakpoint(string calldata char, bool value) external pure;\n\n /// Returns true if the current Foundry version is greater than or equal to the given version.\n /// The given version string must be in the format `major.minor.patch`.\n /// This is equivalent to `foundryVersionCmp(version) >= 0`.\n function foundryVersionAtLeast(string calldata version) external view returns (bool);\n\n /// Compares the current Foundry version with the given version string.\n /// The given version string must be in the format `major.minor.patch`.\n /// Returns:\n /// -1 if current Foundry version is less than the given version\n /// 0 if current Foundry version equals the given version\n /// 1 if current Foundry version is greater than the given version\n /// This result can then be used with a comparison operator against `0`.\n /// For example, to check if the current Foundry version is greater than or equal to `1.0.0`:\n /// `if (foundryVersionCmp(\"1.0.0\") >= 0) { ... }`\n function foundryVersionCmp(string calldata version) external view returns (int256);\n\n /// Returns a Chain struct for specific alias\n function getChain(string calldata chainAlias) external view returns (Chain memory chain);\n\n /// Returns a Chain struct for specific chainId\n function getChain(uint256 chainId) external view returns (Chain memory chain);\n\n /// Returns the Foundry version.\n /// Format: -+..\n /// Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug\n /// Note: Build timestamps may vary slightly across platforms due to separate CI jobs.\n /// For reliable version comparisons, use UNIX format (e.g., >= 1700000000)\n /// to compare timestamps while ignoring minor time differences.\n function getFoundryVersion() external view returns (string memory version);\n\n /// Returns the RPC url for the given alias.\n function rpcUrl(string calldata rpcAlias) external view returns (string memory json);\n\n /// Returns all rpc urls and their aliases as structs.\n function rpcUrlStructs() external view returns (Rpc[] memory urls);\n\n /// Returns all rpc urls and their aliases `[alias, url][]`.\n function rpcUrls() external view returns (string[2][] memory urls);\n\n /// Suspends execution of the main thread for `duration` milliseconds.\n function sleep(uint256 duration) external;\n\n // ======== Toml ========\n\n /// Checks if `key` exists in a TOML table.\n function keyExistsToml(string calldata toml, string calldata key) external view returns (bool);\n\n /// Parses a string of TOML data at `key` and coerces it to `address`.\n function parseTomlAddress(string calldata toml, string calldata key) external pure returns (address);\n\n /// Parses a string of TOML data at `key` and coerces it to `address[]`.\n function parseTomlAddressArray(string calldata toml, string calldata key)\n external\n pure\n returns (address[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bool`.\n function parseTomlBool(string calldata toml, string calldata key) external pure returns (bool);\n\n /// Parses a string of TOML data at `key` and coerces it to `bool[]`.\n function parseTomlBoolArray(string calldata toml, string calldata key) external pure returns (bool[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes`.\n function parseTomlBytes(string calldata toml, string calldata key) external pure returns (bytes memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes32`.\n function parseTomlBytes32(string calldata toml, string calldata key) external pure returns (bytes32);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\n function parseTomlBytes32Array(string calldata toml, string calldata key)\n external\n pure\n returns (bytes32[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes[]`.\n function parseTomlBytesArray(string calldata toml, string calldata key) external pure returns (bytes[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `int256`.\n function parseTomlInt(string calldata toml, string calldata key) external pure returns (int256);\n\n /// Parses a string of TOML data at `key` and coerces it to `int256[]`.\n function parseTomlIntArray(string calldata toml, string calldata key) external pure returns (int256[] memory);\n\n /// Returns an array of all the keys in a TOML table.\n function parseTomlKeys(string calldata toml, string calldata key) external pure returns (string[] memory keys);\n\n /// Parses a string of TOML data at `key` and coerces it to `string`.\n function parseTomlString(string calldata toml, string calldata key) external pure returns (string memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `string[]`.\n function parseTomlStringArray(string calldata toml, string calldata key) external pure returns (string[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\n function parseTomlTypeArray(string calldata toml, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\n function parseTomlType(string calldata toml, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\n function parseTomlType(string calldata toml, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `uint256`.\n function parseTomlUint(string calldata toml, string calldata key) external pure returns (uint256);\n\n /// Parses a string of TOML data at `key` and coerces it to `uint256[]`.\n function parseTomlUintArray(string calldata toml, string calldata key) external pure returns (uint256[] memory);\n\n /// ABI-encodes a TOML table.\n function parseToml(string calldata toml) external pure returns (bytes memory abiEncodedData);\n\n /// ABI-encodes a TOML table at `key`.\n function parseToml(string calldata toml, string calldata key) external pure returns (bytes memory abiEncodedData);\n\n /// Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\n function writeToml(string calldata json, string calldata path) external;\n\n /// Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = \n /// This is useful to replace a specific value of a TOML file, without having to parse the entire thing.\n /// This cheatcode will create new keys if they didn't previously exist.\n function writeToml(string calldata json, string calldata path, string calldata valueKey) external;\n\n // ======== Utilities ========\n\n /// Returns an uint256 value bounded in given range and different from the current one.\n function bound(uint256 current, uint256 min, uint256 max) external view returns (uint256);\n\n /// Returns an int256 value bounded in given range and different from the current one.\n function bound(int256 current, int256 min, int256 max) external view returns (int256);\n\n /// Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash, address deployer)\n external\n pure\n returns (address);\n\n /// Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) external pure returns (address);\n\n /// Compute the address a contract will be deployed at for a given deployer address and nonce.\n function computeCreateAddress(address deployer, uint256 nonce) external pure returns (address);\n\n /// Utility cheatcode to copy storage of `from` contract to another `to` contract.\n function copyStorage(address from, address to) external;\n\n /// Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data.\n /// Supports 2 different inputs:\n /// 1. Name of the type (i.e. \"PermitSingle\"):\n /// * requires previous binding generation with `forge bind-json`.\n /// * bindings will be retrieved from the path configured in `foundry.toml`.\n /// 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\").\n /// * Note: the cheatcode will use the canonical type even if the input is malformated\n /// with the wrong order of elements or with extra whitespaces.\n function eip712HashStruct(string calldata typeNameOrDefinition, bytes calldata abiEncodedData)\n external\n pure\n returns (bytes32 typeHash);\n\n /// Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data.\n /// Requires previous binding generation with `forge bind-json`.\n /// Params:\n /// * `bindingsPath`: path where the output of `forge bind-json` is stored.\n /// * `typeName`: Name of the type (i.e. \"PermitSingle\").\n /// * `abiEncodedData`: ABI-encoded data for the struct that is being hashed.\n function eip712HashStruct(string calldata bindingsPath, string calldata typeName, bytes calldata abiEncodedData)\n external\n pure\n returns (bytes32 typeHash);\n\n /// Generates the hash of the canonical EIP-712 type representation.\n /// Supports 2 different inputs:\n /// 1. Name of the type (i.e. \"Transaction\"):\n /// * requires previous binding generation with `forge bind-json`.\n /// * bindings will be retrieved from the path configured in `foundry.toml`.\n /// 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\").\n /// * Note: the cheatcode will output the canonical type even if the input is malformated\n /// with the wrong order of elements or with extra whitespaces.\n function eip712HashType(string calldata typeNameOrDefinition) external pure returns (bytes32 typeHash);\n\n /// Generates the hash of the canonical EIP-712 type representation.\n /// Requires previous binding generation with `forge bind-json`.\n /// Params:\n /// * `bindingsPath`: path where the output of `forge bind-json` is stored.\n /// * `typeName`: Name of the type (i.e. \"Transaction\").\n function eip712HashType(string calldata bindingsPath, string calldata typeName)\n external\n pure\n returns (bytes32 typeHash);\n\n /// Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard.\n function eip712HashTypedData(string calldata jsonData) external pure returns (bytes32 digest);\n\n /// Returns ENS namehash for provided string.\n function ensNamehash(string calldata name) external pure returns (bytes32);\n\n /// Gets the label for the specified address.\n function getLabel(address account) external view returns (string memory currentLabel);\n\n /// Labels an address in call traces.\n function label(address account, string calldata newLabel) external;\n\n /// Pauses collection of call traces. Useful in cases when you want to skip tracing of\n /// complex calls which are not useful for debugging.\n function pauseTracing() external view;\n\n /// Returns a random `address`.\n function randomAddress() external view returns (address);\n\n /// Returns a random `bool`.\n function randomBool() external view returns (bool);\n\n /// Returns a random byte array value of the given length.\n function randomBytes(uint256 len) external view returns (bytes memory);\n\n /// Returns a random fixed-size byte array of length 4.\n function randomBytes4() external view returns (bytes4);\n\n /// Returns a random fixed-size byte array of length 8.\n function randomBytes8() external view returns (bytes8);\n\n /// Returns a random `int256` value.\n function randomInt() external view returns (int256);\n\n /// Returns a random `int256` value of given bits.\n function randomInt(uint256 bits) external view returns (int256);\n\n /// Returns a random uint256 value.\n function randomUint() external view returns (uint256);\n\n /// Returns random uint256 value between the provided range (=min..=max).\n function randomUint(uint256 min, uint256 max) external view returns (uint256);\n\n /// Returns a random `uint256` value of given bits.\n function randomUint(uint256 bits) external view returns (uint256);\n\n /// Unpauses collection of call traces.\n function resumeTracing() external view;\n\n /// Utility cheatcode to set arbitrary storage for given target address.\n function setArbitraryStorage(address target) external;\n\n /// Utility cheatcode to set arbitrary storage for given target address and overwrite\n /// any storage slots that have been previously set.\n function setArbitraryStorage(address target, bool overwrite) external;\n\n /// Set RNG seed.\n function setSeed(uint256 seed) external;\n\n /// Randomly shuffles an array.\n function shuffle(uint256[] calldata array) external returns (uint256[] memory);\n\n /// Sorts an array in ascending order.\n function sort(uint256[] calldata array) external returns (uint256[] memory);\n\n /// Encodes a `bytes` value to a base64url string.\n function toBase64URL(bytes calldata data) external pure returns (string memory);\n\n /// Encodes a `string` value to a base64url string.\n function toBase64URL(string calldata data) external pure returns (string memory);\n\n /// Encodes a `bytes` value to a base64 string.\n function toBase64(bytes calldata data) external pure returns (string memory);\n\n /// Encodes a `string` value to a base64 string.\n function toBase64(string calldata data) external pure returns (string memory);\n}\n\n/// The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used\n/// in tests, but it is not recommended to use these cheats in scripts.\ninterface Vm is VmSafe {\n // ======== EVM ========\n\n /// Utility cheatcode to set an EIP-2930 access list for all subsequent transactions.\n function accessList(AccessListItem[] calldata access) external;\n\n /// Returns the identifier of the currently active fork. Reverts if no fork is currently active.\n function activeFork() external view returns (uint256 forkId);\n\n /// In forking mode, explicitly grant the given address cheatcode access.\n function allowCheatcodes(address account) external;\n\n /// Sets `block.blobbasefee`\n function blobBaseFee(uint256 newBlobBaseFee) external;\n\n /// Sets the blobhashes in the transaction.\n /// Not available on EVM versions before Cancun.\n /// If used on unsupported EVM versions it will revert.\n function blobhashes(bytes32[] calldata hashes) external;\n\n /// Sets `block.chainid`.\n function chainId(uint256 newChainId) external;\n\n /// Clears all mocked calls.\n function clearMockedCalls() external;\n\n /// Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state.\n function cloneAccount(address source, address target) external;\n\n /// Sets `block.coinbase`.\n function coinbase(address newCoinbase) external;\n\n /// Marks the slots of an account and the account address as cold.\n function cool(address target) external;\n\n /// Utility cheatcode to mark specific storage slot as cold, simulating no prior read.\n function coolSlot(address target, bytes32 slot) external;\n\n /// Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork.\n function createFork(string calldata urlOrAlias) external returns (uint256 forkId);\n\n /// Creates a new fork with the given endpoint and block and returns the identifier of the fork.\n function createFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n\n /// Creates a new fork with the given endpoint and at the block the given transaction was mined in,\n /// replays all transaction mined in the block before the transaction, and returns the identifier of the fork.\n function createFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n\n /// Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork.\n function createSelectFork(string calldata urlOrAlias) external returns (uint256 forkId);\n\n /// Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork.\n function createSelectFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n\n /// Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in,\n /// replays all transaction mined in the block before the transaction, returns the identifier of the fork.\n function createSelectFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n\n /// Sets an address' balance.\n function deal(address account, uint256 newBalance) external;\n\n /// Removes the snapshot with the given ID created by `snapshot`.\n /// Takes the snapshot ID to delete.\n /// Returns `true` if the snapshot was successfully deleted.\n /// Returns `false` if the snapshot does not exist.\n function deleteStateSnapshot(uint256 snapshotId) external returns (bool success);\n\n /// Removes _all_ snapshots previously created by `snapshot`.\n function deleteStateSnapshots() external;\n\n /// Sets `block.difficulty`.\n /// Not available on EVM versions from Paris onwards. Use `prevrandao` instead.\n /// Reverts if used on unsupported EVM versions.\n function difficulty(uint256 newDifficulty) external;\n\n /// Dump a genesis JSON file's `allocs` to disk.\n function dumpState(string calldata pathToStateJson) external;\n\n /// Sets an address' code.\n function etch(address target, bytes calldata newRuntimeBytecode) external;\n\n /// Sets `block.basefee`.\n function fee(uint256 newBasefee) external;\n\n /// Gets the blockhashes from the current transaction.\n /// Not available on EVM versions before Cancun.\n /// If used on unsupported EVM versions it will revert.\n function getBlobhashes() external view returns (bytes32[] memory hashes);\n\n /// Returns true if the account is marked as persistent.\n function isPersistent(address account) external view returns (bool persistent);\n\n /// Load a genesis JSON file's `allocs` into the in-memory EVM state.\n function loadAllocs(string calldata pathToAllocsJson) external;\n\n /// Marks that the account(s) should use persistent storage across fork swaps in a multifork setup\n /// Meaning, changes made to the state of this account will be kept when switching forks.\n function makePersistent(address account) external;\n\n /// See `makePersistent(address)`.\n function makePersistent(address account0, address account1) external;\n\n /// See `makePersistent(address)`.\n function makePersistent(address account0, address account1, address account2) external;\n\n /// See `makePersistent(address)`.\n function makePersistent(address[] calldata accounts) external;\n\n /// Reverts a call to an address with specified revert data.\n function mockCallRevert(address callee, bytes calldata data, bytes calldata revertData) external;\n\n /// Reverts a call to an address with a specific `msg.value`, with specified revert data.\n function mockCallRevert(address callee, uint256 msgValue, bytes calldata data, bytes calldata revertData)\n external;\n\n /// Reverts a call to an address with specified revert data.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCallRevert(address callee, bytes4 data, bytes calldata revertData) external;\n\n /// Reverts a call to an address with a specific `msg.value`, with specified revert data.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCallRevert(address callee, uint256 msgValue, bytes4 data, bytes calldata revertData) external;\n\n /// Mocks a call to an address, returning specified data.\n /// Calldata can either be strict or a partial match, e.g. if you only\n /// pass a Solidity selector to the expected calldata, then the entire Solidity\n /// function will be mocked.\n function mockCall(address callee, bytes calldata data, bytes calldata returnData) external;\n\n /// Mocks a call to an address with a specific `msg.value`, returning specified data.\n /// Calldata match takes precedence over `msg.value` in case of ambiguity.\n function mockCall(address callee, uint256 msgValue, bytes calldata data, bytes calldata returnData) external;\n\n /// Mocks a call to an address, returning specified data.\n /// Calldata can either be strict or a partial match, e.g. if you only\n /// pass a Solidity selector to the expected calldata, then the entire Solidity\n /// function will be mocked.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCall(address callee, bytes4 data, bytes calldata returnData) external;\n\n /// Mocks a call to an address with a specific `msg.value`, returning specified data.\n /// Calldata match takes precedence over `msg.value` in case of ambiguity.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCall(address callee, uint256 msgValue, bytes4 data, bytes calldata returnData) external;\n\n /// Mocks multiple calls to an address, returning specified data for each call.\n function mockCalls(address callee, bytes calldata data, bytes[] calldata returnData) external;\n\n /// Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call.\n function mockCalls(address callee, uint256 msgValue, bytes calldata data, bytes[] calldata returnData) external;\n\n /// Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls\n /// `target` with the same calldata. This functionality is similar to a delegate call made to\n /// `target` contract from `callee`.\n /// Can be used to substitute a call to a function with another implementation that captures\n /// the primary logic of the original function but is easier to reason about.\n /// If calldata is not a strict match then partial match by selector is attempted.\n function mockFunction(address callee, address target, bytes calldata data) external;\n\n /// Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode.\n function noAccessList() external;\n\n /// Sets the *next* call's `msg.sender` to be the input address.\n function prank(address msgSender) external;\n\n /// Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\n function prank(address msgSender, address txOrigin) external;\n\n /// Sets the *next* delegate call's `msg.sender` to be the input address.\n function prank(address msgSender, bool delegateCall) external;\n\n /// Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\n function prank(address msgSender, address txOrigin, bool delegateCall) external;\n\n /// Sets `block.prevrandao`.\n /// Not available on EVM versions before Paris. Use `difficulty` instead.\n /// If used on unsupported EVM versions it will revert.\n function prevrandao(bytes32 newPrevrandao) external;\n\n /// Sets `block.prevrandao`.\n /// Not available on EVM versions before Paris. Use `difficulty` instead.\n /// If used on unsupported EVM versions it will revert.\n function prevrandao(uint256 newPrevrandao) external;\n\n /// Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification.\n function readCallers() external view returns (CallerMode callerMode, address msgSender, address txOrigin);\n\n /// Resets the nonce of an account to 0 for EOAs and 1 for contract accounts.\n function resetNonce(address account) external;\n\n /// Revert the state of the EVM to a previous snapshot\n /// Takes the snapshot ID to revert to.\n /// Returns `true` if the snapshot was successfully reverted.\n /// Returns `false` if the snapshot does not exist.\n /// **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`.\n function revertToState(uint256 snapshotId) external returns (bool success);\n\n /// Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots\n /// Takes the snapshot ID to revert to.\n /// Returns `true` if the snapshot was successfully reverted and deleted.\n /// Returns `false` if the snapshot does not exist.\n function revertToStateAndDelete(uint256 snapshotId) external returns (bool success);\n\n /// Revokes persistent status from the address, previously added via `makePersistent`.\n function revokePersistent(address account) external;\n\n /// See `revokePersistent(address)`.\n function revokePersistent(address[] calldata accounts) external;\n\n /// Sets `block.height`.\n function roll(uint256 newHeight) external;\n\n /// Updates the currently active fork to given block number\n /// This is similar to `roll` but for the currently active fork.\n function rollFork(uint256 blockNumber) external;\n\n /// Updates the currently active fork to given transaction. This will `rollFork` with the number\n /// of the block the transaction was mined in and replays all transaction mined before it in the block.\n function rollFork(bytes32 txHash) external;\n\n /// Updates the given fork to given block number.\n function rollFork(uint256 forkId, uint256 blockNumber) external;\n\n /// Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block.\n function rollFork(uint256 forkId, bytes32 txHash) external;\n\n /// Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\n function selectFork(uint256 forkId) external;\n\n /// Set blockhash for the current block.\n /// It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`.\n function setBlockhash(uint256 blockNumber, bytes32 blockHash) external;\n\n /// Sets the nonce of an account. Must be higher than the current nonce of the account.\n function setNonce(address account, uint64 newNonce) external;\n\n /// Sets the nonce of an account to an arbitrary value.\n function setNonceUnsafe(address account, uint64 newNonce) external;\n\n /// Snapshot capture the gas usage of the last call by name from the callee perspective.\n function snapshotGasLastCall(string calldata name) external returns (uint256 gasUsed);\n\n /// Snapshot capture the gas usage of the last call by name in a group from the callee perspective.\n function snapshotGasLastCall(string calldata group, string calldata name) external returns (uint256 gasUsed);\n\n /// Snapshot the current state of the evm.\n /// Returns the ID of the snapshot that was created.\n /// To revert a snapshot use `revertToState`.\n function snapshotState() external returns (uint256 snapshotId);\n\n /// Snapshot capture an arbitrary numerical value by name.\n /// The group name is derived from the contract name.\n function snapshotValue(string calldata name, uint256 value) external;\n\n /// Snapshot capture an arbitrary numerical value by name in a group.\n function snapshotValue(string calldata group, string calldata name, uint256 value) external;\n\n /// Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called.\n function startPrank(address msgSender) external;\n\n /// Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\n function startPrank(address msgSender, address txOrigin) external;\n\n /// Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called.\n function startPrank(address msgSender, bool delegateCall) external;\n\n /// Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\n function startPrank(address msgSender, address txOrigin, bool delegateCall) external;\n\n /// Start a snapshot capture of the current gas usage by name.\n /// The group name is derived from the contract name.\n function startSnapshotGas(string calldata name) external;\n\n /// Start a snapshot capture of the current gas usage by name in a group.\n function startSnapshotGas(string calldata group, string calldata name) external;\n\n /// Resets subsequent calls' `msg.sender` to be `address(this)`.\n function stopPrank() external;\n\n /// Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start.\n function stopSnapshotGas() external returns (uint256 gasUsed);\n\n /// Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start.\n /// The group name is derived from the contract name.\n function stopSnapshotGas(string calldata name) external returns (uint256 gasUsed);\n\n /// Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start.\n function stopSnapshotGas(string calldata group, string calldata name) external returns (uint256 gasUsed);\n\n /// Stores a value to an address' storage slot.\n function store(address target, bytes32 slot, bytes32 value) external;\n\n /// Fetches the given transaction from the active fork and executes it on the current state.\n function transact(bytes32 txHash) external;\n\n /// Fetches the given transaction from the given fork and executes it on the current state.\n function transact(uint256 forkId, bytes32 txHash) external;\n\n /// Sets `tx.gasprice`.\n function txGasPrice(uint256 newGasPrice) external;\n\n /// Utility cheatcode to mark specific storage slot as warm, simulating a prior read.\n function warmSlot(address target, bytes32 slot) external;\n\n /// Sets `block.timestamp`.\n function warp(uint256 newTimestamp) external;\n\n /// `deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions.\n function deleteSnapshot(uint256 snapshotId) external returns (bool success);\n\n /// `deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions.\n function deleteSnapshots() external;\n\n /// `revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions.\n function revertToAndDelete(uint256 snapshotId) external returns (bool success);\n\n /// `revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions.\n function revertTo(uint256 snapshotId) external returns (bool success);\n\n /// `snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions.\n function snapshot() external returns (uint256 snapshotId);\n\n // ======== Testing ========\n\n /// Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\n function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data) external;\n\n /// Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\n function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data, uint64 count)\n external;\n\n /// Expects a call to an address with the specified calldata.\n /// Calldata can either be a strict or a partial match.\n function expectCall(address callee, bytes calldata data) external;\n\n /// Expects given number of calls to an address with the specified calldata.\n function expectCall(address callee, bytes calldata data, uint64 count) external;\n\n /// Expects a call to an address with the specified `msg.value` and calldata.\n function expectCall(address callee, uint256 msgValue, bytes calldata data) external;\n\n /// Expects given number of calls to an address with the specified `msg.value` and calldata.\n function expectCall(address callee, uint256 msgValue, bytes calldata data, uint64 count) external;\n\n /// Expect a call to an address with the specified `msg.value`, gas, and calldata.\n function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data) external;\n\n /// Expects given number of calls to an address with the specified `msg.value`, gas, and calldata.\n function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data, uint64 count) external;\n\n /// Expects the deployment of the specified bytecode by the specified address using the CREATE opcode\n function expectCreate(bytes calldata bytecode, address deployer) external;\n\n /// Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode\n function expectCreate2(bytes calldata bytecode, address deployer) external;\n\n /// Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n /// Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\n function expectEmitAnonymous(bool checkTopic0, bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData)\n external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmitAnonymous(\n bool checkTopic0,\n bool checkTopic1,\n bool checkTopic2,\n bool checkTopic3,\n bool checkData,\n address emitter\n ) external;\n\n /// Prepare an expected anonymous log with all topic and data checks enabled.\n /// Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data.\n function expectEmitAnonymous() external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmitAnonymous(address emitter) external;\n\n /// Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n /// Call this function, then emit an event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter)\n external;\n\n /// Prepare an expected log with all topic and data checks enabled.\n /// Call this function, then emit an event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data.\n function expectEmit() external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmit(address emitter) external;\n\n /// Expect a given number of logs with the provided topics.\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, uint64 count) external;\n\n /// Expect a given number of logs from a specific emitter with the provided topics.\n function expectEmit(\n bool checkTopic1,\n bool checkTopic2,\n bool checkTopic3,\n bool checkData,\n address emitter,\n uint64 count\n ) external;\n\n /// Expect a given number of logs with all topic and data checks enabled.\n function expectEmit(uint64 count) external;\n\n /// Expect a given number of logs from a specific emitter with all topic and data checks enabled.\n function expectEmit(address emitter, uint64 count) external;\n\n /// Expects an error on next call that starts with the revert data.\n function expectPartialRevert(bytes4 revertData) external;\n\n /// Expects an error on next call to reverter address, that starts with the revert data.\n function expectPartialRevert(bytes4 revertData, address reverter) external;\n\n /// Expects an error on next call with any revert data.\n function expectRevert() external;\n\n /// Expects an error on next call that exactly matches the revert data.\n function expectRevert(bytes4 revertData) external;\n\n /// Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data.\n function expectRevert(bytes4 revertData, address reverter, uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data.\n function expectRevert(bytes calldata revertData, address reverter, uint64 count) external;\n\n /// Expects an error on next call that exactly matches the revert data.\n function expectRevert(bytes calldata revertData) external;\n\n /// Expects an error with any revert data on next call to reverter address.\n function expectRevert(address reverter) external;\n\n /// Expects an error from reverter address on next call, with any revert data.\n function expectRevert(bytes4 revertData, address reverter) external;\n\n /// Expects an error from reverter address on next call, that exactly matches the revert data.\n function expectRevert(bytes calldata revertData, address reverter) external;\n\n /// Expects a `count` number of reverts from the upcoming calls with any revert data or reverter.\n function expectRevert(uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls that match the revert data.\n function expectRevert(bytes4 revertData, uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls that exactly match the revert data.\n function expectRevert(bytes calldata revertData, uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls from the reverter address.\n function expectRevert(address reverter, uint64 count) external;\n\n /// Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the current subcontext. If any other\n /// memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\n function expectSafeMemory(uint64 min, uint64 max) external;\n\n /// Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the next created subcontext.\n /// If any other memory is written to, the test will fail. Can be called multiple times to add more ranges\n /// to the set.\n function expectSafeMemoryCall(uint64 min, uint64 max) external;\n\n /// Marks a test as skipped. Must be called at the top level of a test.\n function skip(bool skipTest) external;\n\n /// Marks a test as skipped with a reason. Must be called at the top level of a test.\n function skip(bool skipTest, string calldata reason) external;\n\n /// Stops all safe memory expectation in the current subcontext.\n function stopExpectSafeMemory() external;\n\n // ======== Utilities ========\n\n /// Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer.\n /// This allows type-safe access to the initcode payload that would be used for contract creation.\n /// Example usage:\n /// vm.interceptInitcode();\n /// bytes memory initcode;\n /// try new MyContract(param1, param2) { assert(false); }\n /// catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }\n function interceptInitcode() external;\n}\n"},"lib/forge-std/src/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\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(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", 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, int256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,int256)\", 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"},"lib/forge-std/src/console2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport {console as console2} from \"./console.sol\";\n"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes[] memory returnData);\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n\n function blockAndAggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBasefee() external view returns (uint256 basefee);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getChainId() external view returns (uint256 chainid);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (Result[] memory returnData);\n\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n"},"lib/forge-std/src/safeconsole.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\n/// @author philogy \n/// @dev Code generated automatically by script.\nlibrary safeconsole {\n uint256 constant CONSOLE_ADDR = 0x000000000000000000000000000000000000000000636F6e736F6c652e6c6f67;\n\n // Credit to [0age](https://twitter.com/z0age/status/1654922202930888704) and [0xdapper](https://github.com/foundry-rs/forge-std/pull/374)\n // for the view-to-pure log trick.\n function _sendLogPayload(uint256 offset, uint256 size) private pure {\n function(uint256, uint256) internal view fnIn = _sendLogPayloadView;\n function(uint256, uint256) internal pure pureSendLogPayload;\n /// @solidity memory-safe-assembly\n assembly {\n pureSendLogPayload := fnIn\n }\n pureSendLogPayload(offset, size);\n }\n\n function _sendLogPayloadView(uint256 offset, uint256 size) private view {\n /// @solidity memory-safe-assembly\n assembly {\n pop(staticcall(gas(), CONSOLE_ADDR, offset, size, 0x0, 0x0))\n }\n }\n\n function _memcopy(uint256 fromOffset, uint256 toOffset, uint256 length) private pure {\n function(uint256, uint256, uint256) internal view fnIn = _memcopyView;\n function(uint256, uint256, uint256) internal pure pureMemcopy;\n /// @solidity memory-safe-assembly\n assembly {\n pureMemcopy := fnIn\n }\n pureMemcopy(fromOffset, toOffset, length);\n }\n\n function _memcopyView(uint256 fromOffset, uint256 toOffset, uint256 length) private view {\n /// @solidity memory-safe-assembly\n assembly {\n pop(staticcall(gas(), 0x4, fromOffset, length, toOffset, length))\n }\n }\n\n function logMemory(uint256 offset, uint256 length) internal pure {\n if (offset >= 0x60) {\n // Sufficient memory before slice to prepare call header.\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(sub(offset, 0x60))\n m1 := mload(sub(offset, 0x40))\n m2 := mload(sub(offset, 0x20))\n // Selector of `log(bytes)`.\n mstore(sub(offset, 0x60), 0x0be77f56)\n mstore(sub(offset, 0x40), 0x20)\n mstore(sub(offset, 0x20), length)\n }\n _sendLogPayload(offset - 0x44, length + 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(sub(offset, 0x60), m0)\n mstore(sub(offset, 0x40), m1)\n mstore(sub(offset, 0x20), m2)\n }\n } else {\n // Insufficient space, so copy slice forward, add header and reverse.\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n uint256 endOffset = offset + length;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(add(endOffset, 0x00))\n m1 := mload(add(endOffset, 0x20))\n m2 := mload(add(endOffset, 0x40))\n }\n _memcopy(offset, offset + 0x60, length);\n /// @solidity memory-safe-assembly\n assembly {\n // Selector of `log(bytes)`.\n mstore(add(offset, 0x00), 0x0be77f56)\n mstore(add(offset, 0x20), 0x20)\n mstore(add(offset, 0x40), length)\n }\n _sendLogPayload(offset + 0x1c, length + 0x44);\n _memcopy(offset + 0x60, offset, length);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(endOffset, 0x00), m0)\n mstore(add(endOffset, 0x20), m1)\n mstore(add(endOffset, 0x40), m2)\n }\n }\n }\n\n function log(address p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n // Selector of `log(address)`.\n mstore(0x00, 0x2c2ecbc2)\n mstore(0x20, p0)\n }\n _sendLogPayload(0x1c, 0x24);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n }\n }\n\n function log(bool p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n // Selector of `log(bool)`.\n mstore(0x00, 0x32458eed)\n mstore(0x20, p0)\n }\n _sendLogPayload(0x1c, 0x24);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n }\n }\n\n function log(uint256 p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n // Selector of `log(uint256)`.\n mstore(0x00, 0xf82c50f1)\n mstore(0x20, p0)\n }\n _sendLogPayload(0x1c, 0x24);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n }\n }\n\n function log(bytes32 p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(string)`.\n mstore(0x00, 0x41304fac)\n mstore(0x20, 0x20)\n writeString(0x40, p0)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(address,address)`.\n mstore(0x00, 0xdaf0d4aa)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(address p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(address,bool)`.\n mstore(0x00, 0x75b605d3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(address p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(address,uint256)`.\n mstore(0x00, 0x8309e8a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(address p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,string)`.\n mstore(0x00, 0x759f86bb)\n mstore(0x20, p0)\n mstore(0x40, 0x40)\n writeString(0x60, p1)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(bool,address)`.\n mstore(0x00, 0x853c4849)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(bool p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(bool,bool)`.\n mstore(0x00, 0x2a110e83)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(bool p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(bool,uint256)`.\n mstore(0x00, 0x399174d3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(bool p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,string)`.\n mstore(0x00, 0x8feac525)\n mstore(0x20, p0)\n mstore(0x40, 0x40)\n writeString(0x60, p1)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(uint256,address)`.\n mstore(0x00, 0x69276c86)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(uint256 p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(uint256,bool)`.\n mstore(0x00, 0x1c9d7eb3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(uint256,uint256)`.\n mstore(0x00, 0xf666715a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(uint256 p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,string)`.\n mstore(0x00, 0x643fd0df)\n mstore(0x20, p0)\n mstore(0x40, 0x40)\n writeString(0x60, p1)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(string,address)`.\n mstore(0x00, 0x319af333)\n mstore(0x20, 0x40)\n mstore(0x40, p1)\n writeString(0x60, p0)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(string,bool)`.\n mstore(0x00, 0xc3b55635)\n mstore(0x20, 0x40)\n mstore(0x40, p1)\n writeString(0x60, p0)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(string,uint256)`.\n mstore(0x00, 0xb60e72cc)\n mstore(0x20, 0x40)\n mstore(0x40, p1)\n writeString(0x60, p0)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,string)`.\n mstore(0x00, 0x4b5c4277)\n mstore(0x20, 0x40)\n mstore(0x40, 0x80)\n writeString(0x60, p0)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,address,address)`.\n mstore(0x00, 0x018c84c2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,address,bool)`.\n mstore(0x00, 0xf2a66286)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,address,uint256)`.\n mstore(0x00, 0x17fe6185)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,address,string)`.\n mstore(0x00, 0x007150be)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,bool,address)`.\n mstore(0x00, 0xf11699ed)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,bool,bool)`.\n mstore(0x00, 0xeb830c92)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,bool,uint256)`.\n mstore(0x00, 0x9c4f99fb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,bool,string)`.\n mstore(0x00, 0x212255cc)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,uint256,address)`.\n mstore(0x00, 0x7bc0d848)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,uint256,bool)`.\n mstore(0x00, 0x678209a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,uint256,uint256)`.\n mstore(0x00, 0xb69bcaf6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,uint256,string)`.\n mstore(0x00, 0xa1f2e8aa)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,string,address)`.\n mstore(0x00, 0xf08744e8)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,string,bool)`.\n mstore(0x00, 0xcf020fb1)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,string,uint256)`.\n mstore(0x00, 0x67dd6ff1)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(address,string,string)`.\n mstore(0x00, 0xfb772265)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, 0xa0)\n writeString(0x80, p1)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,address,address)`.\n mstore(0x00, 0xd2763667)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,address,bool)`.\n mstore(0x00, 0x18c9c746)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,address,uint256)`.\n mstore(0x00, 0x5f7b9afb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,address,string)`.\n mstore(0x00, 0xde9a9270)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,bool,address)`.\n mstore(0x00, 0x1078f68d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,bool,bool)`.\n mstore(0x00, 0x50709698)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,bool,uint256)`.\n mstore(0x00, 0x12f21602)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,bool,string)`.\n mstore(0x00, 0x2555fa46)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,uint256,address)`.\n mstore(0x00, 0x088ef9d2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,uint256,bool)`.\n mstore(0x00, 0xe8defba9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,uint256,uint256)`.\n mstore(0x00, 0x37103367)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,uint256,string)`.\n mstore(0x00, 0xc3fc3970)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,string,address)`.\n mstore(0x00, 0x9591b953)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,string,bool)`.\n mstore(0x00, 0xdbb4c247)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,string,uint256)`.\n mstore(0x00, 0x1093ee11)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(bool,string,string)`.\n mstore(0x00, 0xb076847f)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, 0xa0)\n writeString(0x80, p1)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,address,address)`.\n mstore(0x00, 0xbcfd9be0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,address,bool)`.\n mstore(0x00, 0x9b6ec042)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,address,uint256)`.\n mstore(0x00, 0x5a9b5ed5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,address,string)`.\n mstore(0x00, 0x63cb41f9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,bool,address)`.\n mstore(0x00, 0x35085f7b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,bool,bool)`.\n mstore(0x00, 0x20718650)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,bool,uint256)`.\n mstore(0x00, 0x20098014)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,bool,string)`.\n mstore(0x00, 0x85775021)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,uint256,address)`.\n mstore(0x00, 0x5c96b331)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,uint256,bool)`.\n mstore(0x00, 0x4766da72)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,uint256,uint256)`.\n mstore(0x00, 0xd1ed7a3c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,uint256,string)`.\n mstore(0x00, 0x71d04af2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,string,address)`.\n mstore(0x00, 0x7afac959)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,string,bool)`.\n mstore(0x00, 0x4ceda75a)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,string,uint256)`.\n mstore(0x00, 0x37aa7d4c)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(uint256,string,string)`.\n mstore(0x00, 0xb115611f)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, 0xa0)\n writeString(0x80, p1)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,address,address)`.\n mstore(0x00, 0xfcec75e0)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,address,bool)`.\n mstore(0x00, 0xc91d5ed4)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,address,uint256)`.\n mstore(0x00, 0x0d26b925)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,address,string)`.\n mstore(0x00, 0xe0e9ad4f)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, 0xa0)\n writeString(0x80, p0)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,bool,address)`.\n mstore(0x00, 0x932bbb38)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,bool,bool)`.\n mstore(0x00, 0x850b7ad6)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,bool,uint256)`.\n mstore(0x00, 0xc95958d6)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,bool,string)`.\n mstore(0x00, 0xe298f47d)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, 0xa0)\n writeString(0x80, p0)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,uint256,address)`.\n mstore(0x00, 0x1c7ec448)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,uint256,bool)`.\n mstore(0x00, 0xca7733b1)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,uint256,uint256)`.\n mstore(0x00, 0xca47c4eb)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,uint256,string)`.\n mstore(0x00, 0x5970e089)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, 0xa0)\n writeString(0x80, p0)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,string,address)`.\n mstore(0x00, 0x95ed0195)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, p2)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,string,bool)`.\n mstore(0x00, 0xb0e0f9b5)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, p2)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,string,uint256)`.\n mstore(0x00, 0x5821efa1)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, p2)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n // Selector of `log(string,string,string)`.\n mstore(0x00, 0x2ced7cef)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, 0xe0)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n writeString(0x100, p2)\n }\n _sendLogPayload(0x1c, 0x124);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n }\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,address,address)`.\n mstore(0x00, 0x665bf134)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,address,bool)`.\n mstore(0x00, 0x0e378994)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,address,uint256)`.\n mstore(0x00, 0x94250d77)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,address,string)`.\n mstore(0x00, 0xf808da20)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,bool,address)`.\n mstore(0x00, 0x9f1bc36e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,bool,bool)`.\n mstore(0x00, 0x2cd4134a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,bool,uint256)`.\n mstore(0x00, 0x3971e78c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,bool,string)`.\n mstore(0x00, 0xaa6540c8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,uint256,address)`.\n mstore(0x00, 0x8da6def5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,uint256,bool)`.\n mstore(0x00, 0x9b4254e2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,uint256,uint256)`.\n mstore(0x00, 0xbe553481)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,uint256,string)`.\n mstore(0x00, 0xfdb4f990)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,string,address)`.\n mstore(0x00, 0x8f736d16)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,string,bool)`.\n mstore(0x00, 0x6f1a594e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,string,uint256)`.\n mstore(0x00, 0xef1cefe7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,address,string,string)`.\n mstore(0x00, 0x21bdaf25)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,address,address)`.\n mstore(0x00, 0x660375dd)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,address,bool)`.\n mstore(0x00, 0xa6f50b0f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,address,uint256)`.\n mstore(0x00, 0xa75c59de)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,address,string)`.\n mstore(0x00, 0x2dd778e6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,bool,address)`.\n mstore(0x00, 0xcf394485)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,bool,bool)`.\n mstore(0x00, 0xcac43479)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,bool,uint256)`.\n mstore(0x00, 0x8c4e5de6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,bool,string)`.\n mstore(0x00, 0xdfc4a2e8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,uint256,address)`.\n mstore(0x00, 0xccf790a1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,uint256,bool)`.\n mstore(0x00, 0xc4643e20)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,uint256,uint256)`.\n mstore(0x00, 0x386ff5f4)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,uint256,string)`.\n mstore(0x00, 0x0aa6cfad)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,string,address)`.\n mstore(0x00, 0x19fd4956)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,string,bool)`.\n mstore(0x00, 0x50ad461d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,string,uint256)`.\n mstore(0x00, 0x80e6a20b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,bool,string,string)`.\n mstore(0x00, 0x475c5c33)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,address,address)`.\n mstore(0x00, 0x478d1c62)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,address,bool)`.\n mstore(0x00, 0xa1bcc9b3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,address,uint256)`.\n mstore(0x00, 0x100f650e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,address,string)`.\n mstore(0x00, 0x1da986ea)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,bool,address)`.\n mstore(0x00, 0xa31bfdcc)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,bool,bool)`.\n mstore(0x00, 0x3bf5e537)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,bool,uint256)`.\n mstore(0x00, 0x22f6b999)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,bool,string)`.\n mstore(0x00, 0xc5ad85f9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,uint256,address)`.\n mstore(0x00, 0x20e3984d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,uint256,bool)`.\n mstore(0x00, 0x66f1bc67)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,uint256,uint256)`.\n mstore(0x00, 0x34f0e636)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,uint256,string)`.\n mstore(0x00, 0x4a28c017)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,string,address)`.\n mstore(0x00, 0x5c430d47)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,string,bool)`.\n mstore(0x00, 0xcf18105c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,string,uint256)`.\n mstore(0x00, 0xbf01f891)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,uint256,string,string)`.\n mstore(0x00, 0x88a8c406)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,address,address)`.\n mstore(0x00, 0x0d36fa20)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,address,bool)`.\n mstore(0x00, 0x0df12b76)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,address,uint256)`.\n mstore(0x00, 0x457fe3cf)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,address,string)`.\n mstore(0x00, 0xf7e36245)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,bool,address)`.\n mstore(0x00, 0x205871c2)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,bool,bool)`.\n mstore(0x00, 0x5f1d5c9f)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,bool,uint256)`.\n mstore(0x00, 0x515e38b6)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,bool,string)`.\n mstore(0x00, 0xbc0b61fe)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,uint256,address)`.\n mstore(0x00, 0x63183678)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,uint256,bool)`.\n mstore(0x00, 0x0ef7e050)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,uint256,uint256)`.\n mstore(0x00, 0x1dc8e1b8)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,uint256,string)`.\n mstore(0x00, 0x448830a8)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,string,address)`.\n mstore(0x00, 0xa04e2f87)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,string,bool)`.\n mstore(0x00, 0x35a5071f)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,string,uint256)`.\n mstore(0x00, 0x159f8927)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(address,string,string,string)`.\n mstore(0x00, 0x5d02c50b)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,address,address)`.\n mstore(0x00, 0x1d14d001)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,address,bool)`.\n mstore(0x00, 0x46600be0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,address,uint256)`.\n mstore(0x00, 0x0c66d1be)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,address,string)`.\n mstore(0x00, 0xd812a167)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,bool,address)`.\n mstore(0x00, 0x1c41a336)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,bool,bool)`.\n mstore(0x00, 0x6a9c478b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,bool,uint256)`.\n mstore(0x00, 0x07831502)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,bool,string)`.\n mstore(0x00, 0x4a66cb34)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,uint256,address)`.\n mstore(0x00, 0x136b05dd)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,uint256,bool)`.\n mstore(0x00, 0xd6019f1c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,uint256,uint256)`.\n mstore(0x00, 0x7bf181a1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,uint256,string)`.\n mstore(0x00, 0x51f09ff8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,string,address)`.\n mstore(0x00, 0x6f7c603e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,string,bool)`.\n mstore(0x00, 0xe2bfd60b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,string,uint256)`.\n mstore(0x00, 0xc21f64c7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,address,string,string)`.\n mstore(0x00, 0xa73c1db6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,address,address)`.\n mstore(0x00, 0xf4880ea4)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,address,bool)`.\n mstore(0x00, 0xc0a302d8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,address,uint256)`.\n mstore(0x00, 0x4c123d57)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,address,string)`.\n mstore(0x00, 0xa0a47963)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,bool,address)`.\n mstore(0x00, 0x8c329b1a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,bool,bool)`.\n mstore(0x00, 0x3b2a5ce0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,bool,uint256)`.\n mstore(0x00, 0x6d7045c1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,bool,string)`.\n mstore(0x00, 0x2ae408d4)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,uint256,address)`.\n mstore(0x00, 0x54a7a9a0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,uint256,bool)`.\n mstore(0x00, 0x619e4d0e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,uint256,uint256)`.\n mstore(0x00, 0x0bb00eab)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,uint256,string)`.\n mstore(0x00, 0x7dd4d0e0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,string,address)`.\n mstore(0x00, 0xf9ad2b89)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,string,bool)`.\n mstore(0x00, 0xb857163a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,string,uint256)`.\n mstore(0x00, 0xe3a9ca2f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,bool,string,string)`.\n mstore(0x00, 0x6d1e8751)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,address,address)`.\n mstore(0x00, 0x26f560a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,address,bool)`.\n mstore(0x00, 0xb4c314ff)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,address,uint256)`.\n mstore(0x00, 0x1537dc87)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,address,string)`.\n mstore(0x00, 0x1bb3b09a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,bool,address)`.\n mstore(0x00, 0x9acd3616)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,bool,bool)`.\n mstore(0x00, 0xceb5f4d7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,bool,uint256)`.\n mstore(0x00, 0x7f9bbca2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,bool,string)`.\n mstore(0x00, 0x9143dbb1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,uint256,address)`.\n mstore(0x00, 0x00dd87b9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,uint256,bool)`.\n mstore(0x00, 0xbe984353)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,uint256,uint256)`.\n mstore(0x00, 0x374bb4b2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,uint256,string)`.\n mstore(0x00, 0x8e69fb5d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,string,address)`.\n mstore(0x00, 0xfedd1fff)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,string,bool)`.\n mstore(0x00, 0xe5e70b2b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,string,uint256)`.\n mstore(0x00, 0x6a1199e2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,uint256,string,string)`.\n mstore(0x00, 0xf5bc2249)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,address,address)`.\n mstore(0x00, 0x2b2b18dc)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,address,bool)`.\n mstore(0x00, 0x6dd434ca)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,address,uint256)`.\n mstore(0x00, 0xa5cada94)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,address,string)`.\n mstore(0x00, 0x12d6c788)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,bool,address)`.\n mstore(0x00, 0x538e06ab)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,bool,bool)`.\n mstore(0x00, 0xdc5e935b)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,bool,uint256)`.\n mstore(0x00, 0x1606a393)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,bool,string)`.\n mstore(0x00, 0x483d0416)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,uint256,address)`.\n mstore(0x00, 0x1596a1ce)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,uint256,bool)`.\n mstore(0x00, 0x6b0e5d53)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,uint256,uint256)`.\n mstore(0x00, 0x28863fcb)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,uint256,string)`.\n mstore(0x00, 0x1ad96de6)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,string,address)`.\n mstore(0x00, 0x97d394d8)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,string,bool)`.\n mstore(0x00, 0x1e4b87e5)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,string,uint256)`.\n mstore(0x00, 0x7be0c3eb)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(bool,string,string,string)`.\n mstore(0x00, 0x1762e32a)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,address,address)`.\n mstore(0x00, 0x2488b414)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,address,bool)`.\n mstore(0x00, 0x091ffaf5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,address,uint256)`.\n mstore(0x00, 0x736efbb6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,address,string)`.\n mstore(0x00, 0x031c6f73)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,bool,address)`.\n mstore(0x00, 0xef72c513)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,bool,bool)`.\n mstore(0x00, 0xe351140f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,bool,uint256)`.\n mstore(0x00, 0x5abd992a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,bool,string)`.\n mstore(0x00, 0x90fb06aa)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,uint256,address)`.\n mstore(0x00, 0x15c127b5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,uint256,bool)`.\n mstore(0x00, 0x5f743a7c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,uint256,uint256)`.\n mstore(0x00, 0x0c9cd9c1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,uint256,string)`.\n mstore(0x00, 0xddb06521)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,string,address)`.\n mstore(0x00, 0x9cba8fff)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,string,bool)`.\n mstore(0x00, 0xcc32ab07)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,string,uint256)`.\n mstore(0x00, 0x46826b5d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,address,string,string)`.\n mstore(0x00, 0x3e128ca3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,address,address)`.\n mstore(0x00, 0xa1ef4cbb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,address,bool)`.\n mstore(0x00, 0x454d54a5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,address,uint256)`.\n mstore(0x00, 0x078287f5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,address,string)`.\n mstore(0x00, 0xade052c7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,bool,address)`.\n mstore(0x00, 0x69640b59)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,bool,bool)`.\n mstore(0x00, 0xb6f577a1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,bool,uint256)`.\n mstore(0x00, 0x7464ce23)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,bool,string)`.\n mstore(0x00, 0xdddb9561)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,uint256,address)`.\n mstore(0x00, 0x88cb6041)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,uint256,bool)`.\n mstore(0x00, 0x91a02e2a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,uint256,uint256)`.\n mstore(0x00, 0xc6acc7a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,uint256,string)`.\n mstore(0x00, 0xde03e774)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,string,address)`.\n mstore(0x00, 0xef529018)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,string,bool)`.\n mstore(0x00, 0xeb928d7f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,string,uint256)`.\n mstore(0x00, 0x2c1d0746)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,bool,string,string)`.\n mstore(0x00, 0x68c8b8bd)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,address,address)`.\n mstore(0x00, 0x56a5d1b1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,address,bool)`.\n mstore(0x00, 0x15cac476)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,address,uint256)`.\n mstore(0x00, 0x88f6e4b2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,address,string)`.\n mstore(0x00, 0x6cde40b8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,bool,address)`.\n mstore(0x00, 0x9a816a83)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,bool,bool)`.\n mstore(0x00, 0xab085ae6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,bool,uint256)`.\n mstore(0x00, 0xeb7f6fd2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,bool,string)`.\n mstore(0x00, 0xa5b4fc99)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,uint256,address)`.\n mstore(0x00, 0xfa8185af)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,uint256,bool)`.\n mstore(0x00, 0xc598d185)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,uint256,uint256)`.\n mstore(0x00, 0x193fb800)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,uint256,string)`.\n mstore(0x00, 0x59cfcbe3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,string,address)`.\n mstore(0x00, 0x42d21db7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,string,bool)`.\n mstore(0x00, 0x7af6ab25)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,string,uint256)`.\n mstore(0x00, 0x5da297eb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,uint256,string,string)`.\n mstore(0x00, 0x27d8afd2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,address,address)`.\n mstore(0x00, 0x6168ed61)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,address,bool)`.\n mstore(0x00, 0x90c30a56)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,address,uint256)`.\n mstore(0x00, 0xe8d3018d)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,address,string)`.\n mstore(0x00, 0x9c3adfa1)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,bool,address)`.\n mstore(0x00, 0xae2ec581)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,bool,bool)`.\n mstore(0x00, 0xba535d9c)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,bool,uint256)`.\n mstore(0x00, 0xcf009880)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,bool,string)`.\n mstore(0x00, 0xd2d423cd)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,uint256,address)`.\n mstore(0x00, 0x3b2279b4)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,uint256,bool)`.\n mstore(0x00, 0x691a8f74)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,uint256,uint256)`.\n mstore(0x00, 0x82c25b74)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,uint256,string)`.\n mstore(0x00, 0xb7b914ca)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,string,address)`.\n mstore(0x00, 0xd583c602)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,string,bool)`.\n mstore(0x00, 0xb3a6b6bd)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,string,uint256)`.\n mstore(0x00, 0xb028c9bd)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(uint256,string,string,string)`.\n mstore(0x00, 0x21ad0683)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,address,address)`.\n mstore(0x00, 0xed8f28f6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,address,bool)`.\n mstore(0x00, 0xb59dbd60)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,address,uint256)`.\n mstore(0x00, 0x8ef3f399)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,address,string)`.\n mstore(0x00, 0x800a1c67)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,bool,address)`.\n mstore(0x00, 0x223603bd)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,bool,bool)`.\n mstore(0x00, 0x79884c2b)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,bool,uint256)`.\n mstore(0x00, 0x3e9f866a)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,bool,string)`.\n mstore(0x00, 0x0454c079)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,uint256,address)`.\n mstore(0x00, 0x63fb8bc5)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,uint256,bool)`.\n mstore(0x00, 0xfc4845f0)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,uint256,uint256)`.\n mstore(0x00, 0xf8f51b1e)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,uint256,string)`.\n mstore(0x00, 0x5a477632)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,string,address)`.\n mstore(0x00, 0xaabc9a31)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,string,bool)`.\n mstore(0x00, 0x5f15d28c)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,string,uint256)`.\n mstore(0x00, 0x91d1112e)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,address,string,string)`.\n mstore(0x00, 0x245986f2)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,address,address)`.\n mstore(0x00, 0x33e9dd1d)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,address,bool)`.\n mstore(0x00, 0x958c28c6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,address,uint256)`.\n mstore(0x00, 0x5d08bb05)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,address,string)`.\n mstore(0x00, 0x2d8e33a4)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,bool,address)`.\n mstore(0x00, 0x7190a529)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,bool,bool)`.\n mstore(0x00, 0x895af8c5)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,bool,uint256)`.\n mstore(0x00, 0x8e3f78a9)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,bool,string)`.\n mstore(0x00, 0x9d22d5dd)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,uint256,address)`.\n mstore(0x00, 0x935e09bf)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,uint256,bool)`.\n mstore(0x00, 0x8af7cf8a)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,uint256,uint256)`.\n mstore(0x00, 0x64b5bb67)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,uint256,string)`.\n mstore(0x00, 0x742d6ee7)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,string,address)`.\n mstore(0x00, 0xe0625b29)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,string,bool)`.\n mstore(0x00, 0x3f8a701d)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,string,uint256)`.\n mstore(0x00, 0x24f91465)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,bool,string,string)`.\n mstore(0x00, 0xa826caeb)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,address,address)`.\n mstore(0x00, 0x5ea2b7ae)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,address,bool)`.\n mstore(0x00, 0x82112a42)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,address,uint256)`.\n mstore(0x00, 0x4f04fdc6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,address,string)`.\n mstore(0x00, 0x9ffb2f93)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,bool,address)`.\n mstore(0x00, 0xe0e95b98)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,bool,bool)`.\n mstore(0x00, 0x354c36d6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,bool,uint256)`.\n mstore(0x00, 0xe41b6f6f)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,bool,string)`.\n mstore(0x00, 0xabf73a98)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,uint256,address)`.\n mstore(0x00, 0xe21de278)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,uint256,bool)`.\n mstore(0x00, 0x7626db92)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,uint256,uint256)`.\n mstore(0x00, 0xa7a87853)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,uint256,string)`.\n mstore(0x00, 0x854b3496)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,string,address)`.\n mstore(0x00, 0x7c4632a4)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,string,bool)`.\n mstore(0x00, 0x7d24491d)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,string,uint256)`.\n mstore(0x00, 0xc67ea9d1)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,uint256,string,string)`.\n mstore(0x00, 0x5ab84e1f)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,address,address)`.\n mstore(0x00, 0x439c7bef)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,address,bool)`.\n mstore(0x00, 0x5ccd4e37)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,address,uint256)`.\n mstore(0x00, 0x7cc3c607)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,address,string)`.\n mstore(0x00, 0xeb1bff80)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,bool,address)`.\n mstore(0x00, 0xc371c7db)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,bool,bool)`.\n mstore(0x00, 0x40785869)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,bool,uint256)`.\n mstore(0x00, 0xd6aefad2)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,bool,string)`.\n mstore(0x00, 0x5e84b0ea)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,uint256,address)`.\n mstore(0x00, 0x1023f7b2)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,uint256,bool)`.\n mstore(0x00, 0xc3a8a654)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,uint256,uint256)`.\n mstore(0x00, 0xf45d7d2c)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,uint256,string)`.\n mstore(0x00, 0x5d1a971a)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,string,address)`.\n mstore(0x00, 0x6d572f44)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,string,bool)`.\n mstore(0x00, 0x2c1754ed)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,string,uint256)`.\n mstore(0x00, 0x8eafb02b)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n bytes32 m11;\n bytes32 m12;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n m11 := mload(0x160)\n m12 := mload(0x180)\n // Selector of `log(string,string,string,string)`.\n mstore(0x00, 0xde68f20a)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, 0x140)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n writeString(0x160, p3)\n }\n _sendLogPayload(0x1c, 0x184);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n mstore(0x160, m11)\n mstore(0x180, m12)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1363.sol)\n\npragma solidity >=0.6.2;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @title IERC1363\n * @dev Interface of the ERC-1363 standard as defined in the https://eips.ethereum.org/EIPS/eip-1363[ERC-1363].\n *\n * Defines an extension interface for ERC-20 tokens that supports executing code on a recipient contract\n * after `transfer` or `transferFrom`, or code on a spender contract after `approve`, in a single transaction.\n */\ninterface IERC1363 is IERC20, IERC165 {\n /*\n * Note: the ERC-165 identifier for this interface is 0xb0202a11.\n * 0xb0202a11 ===\n * bytes4(keccak256('transferAndCall(address,uint256)')) ^\n * bytes4(keccak256('transferAndCall(address,uint256,bytes)')) ^\n * bytes4(keccak256('transferFromAndCall(address,address,uint256)')) ^\n * bytes4(keccak256('transferFromAndCall(address,address,uint256,bytes)')) ^\n * bytes4(keccak256('approveAndCall(address,uint256)')) ^\n * bytes4(keccak256('approveAndCall(address,uint256,bytes)'))\n */\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferAndCall(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @param data Additional data with no specified format, sent in call to `to`.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferAndCall(address to, uint256 value, bytes calldata data) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param from The address which you want to send tokens from.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferFromAndCall(address from, address to, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param from The address which you want to send tokens from.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @param data Additional data with no specified format, sent in call to `to`.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferFromAndCall(address from, address to, uint256 value, bytes calldata data) external returns (bool);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n * @param spender The address which will spend the funds.\n * @param value The amount of tokens to be spent.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function approveAndCall(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n * @param spender The address which will spend the funds.\n * @param value The amount of tokens to be spent.\n * @param data Additional data with no specified format, sent in call to `spender`.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function approveAndCall(address spender, uint256 value, bytes calldata data) external returns (bool);\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC165.sol)\n\npragma solidity >=0.4.16;\n\nimport {IERC165} from \"../utils/introspection/IERC165.sol\";\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC20.sol)\n\npragma solidity >=0.4.16;\n\nimport {IERC20} from \"../token/ERC20/IERC20.sol\";\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC5267.sol)\n\npragma solidity >=0.4.16;\n\ninterface IERC5267 {\n /**\n * @dev MAY be emitted to signal that the domain could have changed.\n */\n event EIP712DomainChanged();\n\n /**\n * @dev returns the fields and values that describe the domain separator used by this contract for EIP-712\n * signature.\n */\n function eip712Domain()\n external\n view\n returns (\n bytes1 fields,\n string memory name,\n string memory version,\n uint256 chainId,\n address verifyingContract,\n bytes32 salt,\n uint256[] memory extensions\n );\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC6093.sol)\n\npragma solidity >=0.8.4;\n\n/**\n * @dev Standard ERC-20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\n */\ninterface IERC20Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC20InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC20InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n * @param allowance Amount of tokens a `spender` is allowed to operate with.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC20InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC-721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\n */\ninterface IERC721Errors {\n /**\n * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-721.\n * Used in balance queries.\n * @param owner Address of the current owner of a token.\n */\n error ERC721InvalidOwner(address owner);\n\n /**\n * @dev Indicates a `tokenId` whose `owner` is the zero address.\n * @param tokenId Identifier number of a token.\n */\n error ERC721NonexistentToken(uint256 tokenId);\n\n /**\n * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param tokenId Identifier number of a token.\n * @param owner Address of the current owner of a token.\n */\n error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC721InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC721InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param tokenId Identifier number of a token.\n */\n error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC721InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC-1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\n */\ninterface IERC1155Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n * @param tokenId Identifier number of a token.\n */\n error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC1155InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC1155InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param owner Address of the current owner of a token.\n */\n error ERC1155MissingApprovalForAll(address operator, address owner);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC1155InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC1155InvalidOperator(address operator);\n\n /**\n * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n * Used in batch transfers.\n * @param idsLength Length of the array of token identifiers\n * @param valuesLength Length of the array of token amounts\n */\n error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n"},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {ERC20} from \"../../token/ERC20/ERC20.sol\";\n\ncontract ERC20Mock is ERC20 {\n constructor() ERC20(\"ERC20Mock\", \"E20M\") {}\n\n function mint(address account, uint256 amount) external {\n _mint(account, amount);\n }\n\n function burn(address account, uint256 amount) external {\n _burn(account, amount);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC-20\n * applications.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n mapping(address account => uint256) private _balances;\n\n mapping(address account => mapping(address spender => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * Both values are immutable: they can only be set once during construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the default value returned by this function, unless\n * it's overridden.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual returns (uint8) {\n return 18;\n }\n\n /// @inheritdoc IERC20\n function totalSupply() public view virtual returns (uint256) {\n return _totalSupply;\n }\n\n /// @inheritdoc IERC20\n function balanceOf(address account) public view virtual returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `value`.\n */\n function transfer(address to, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, value);\n return true;\n }\n\n /// @inheritdoc IERC20\n function allowance(address owner, address spender) public view virtual returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Skips emitting an {Approval} event indicating an allowance update. This is not\n * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `value`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `value`.\n */\n function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, value);\n _transfer(from, to, value);\n return true;\n }\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _transfer(address from, address to, uint256 value) internal {\n if (from == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n if (to == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(from, to, value);\n }\n\n /**\n * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n * this function.\n *\n * Emits a {Transfer} event.\n */\n function _update(address from, address to, uint256 value) internal virtual {\n if (from == address(0)) {\n // Overflow check required: The rest of the code assumes that totalSupply never overflows\n _totalSupply += value;\n } else {\n uint256 fromBalance = _balances[from];\n if (fromBalance < value) {\n revert ERC20InsufficientBalance(from, fromBalance, value);\n }\n unchecked {\n // Overflow not possible: value <= fromBalance <= totalSupply.\n _balances[from] = fromBalance - value;\n }\n }\n\n if (to == address(0)) {\n unchecked {\n // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n _totalSupply -= value;\n }\n } else {\n unchecked {\n // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n _balances[to] += value;\n }\n }\n\n emit Transfer(from, to, value);\n }\n\n /**\n * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n * Relies on the `_update` mechanism\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _mint(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(address(0), account, value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n * Relies on the `_update` mechanism.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead\n */\n function _burn(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n _update(account, address(0), value);\n }\n\n /**\n * @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n *\n * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n */\n function _approve(address owner, address spender, uint256 value) internal {\n _approve(owner, spender, value, true);\n }\n\n /**\n * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n *\n * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n * `_spendAllowance` during the `transferFrom` operation sets the flag to false. This saves gas by not emitting any\n * `Approval` event during `transferFrom` operations.\n *\n * Anyone who wishes to continue emitting `Approval` events on the `transferFrom` operation can force the flag to\n * true using the following override:\n *\n * ```solidity\n * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n * super._approve(owner, spender, value, true);\n * }\n * ```\n *\n * Requirements are the same as {_approve}.\n */\n function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n if (owner == address(0)) {\n revert ERC20InvalidApprover(address(0));\n }\n if (spender == address(0)) {\n revert ERC20InvalidSpender(address(0));\n }\n _allowances[owner][spender] = value;\n if (emitEvent) {\n emit Approval(owner, spender, value);\n }\n }\n\n /**\n * @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n *\n * Does not update the allowance value in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Does not emit an {Approval} event.\n */\n function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance < type(uint256).max) {\n if (currentAllowance < value) {\n revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n }\n unchecked {\n _approve(owner, spender, currentAllowance - value, false);\n }\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/IERC20.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-20 standard as defined in the ERC.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/ERC20Permit.sol)\n\npragma solidity ^0.8.24;\n\nimport {IERC20Permit} from \"./IERC20Permit.sol\";\nimport {ERC20} from \"../ERC20.sol\";\nimport {ECDSA} from \"../../../utils/cryptography/ECDSA.sol\";\nimport {EIP712} from \"../../../utils/cryptography/EIP712.sol\";\nimport {Nonces} from \"../../../utils/Nonces.sol\";\n\n/**\n * @dev Implementation of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n */\nabstract contract ERC20Permit is ERC20, IERC20Permit, EIP712, Nonces {\n bytes32 private constant PERMIT_TYPEHASH =\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n\n /**\n * @dev Permit deadline has expired.\n */\n error ERC2612ExpiredSignature(uint256 deadline);\n\n /**\n * @dev Mismatched signature.\n */\n error ERC2612InvalidSigner(address signer, address owner);\n\n /**\n * @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`.\n *\n * It's a good idea to use the same `name` that is defined as the ERC-20 token name.\n */\n constructor(string memory name) EIP712(name, \"1\") {}\n\n /// @inheritdoc IERC20Permit\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual {\n if (block.timestamp > deadline) {\n revert ERC2612ExpiredSignature(deadline);\n }\n\n bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, _useNonce(owner), deadline));\n\n bytes32 hash = _hashTypedDataV4(structHash);\n\n address signer = ECDSA.recover(hash, v, r, s);\n if (signer != owner) {\n revert ERC2612InvalidSigner(signer, owner);\n }\n\n _approve(owner, spender, value);\n }\n\n /// @inheritdoc IERC20Permit\n function nonces(address owner) public view virtual override(IERC20Permit, Nonces) returns (uint256) {\n return super.nonces(owner);\n }\n\n /// @inheritdoc IERC20Permit\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32) {\n return _domainSeparatorV4();\n }\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity >=0.6.2;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC-20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Permit.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n *\n * ==== Security Considerations\n *\n * There are two important considerations concerning the use of `permit`. The first is that a valid permit signature\n * expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be\n * considered as an intention to spend the allowance in any specific way. The second is that because permits have\n * built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should\n * take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be\n * generally recommended is:\n *\n * ```solidity\n * function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {\n * try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}\n * doThing(..., value);\n * }\n *\n * function doThing(..., uint256 value) public {\n * token.safeTransferFrom(msg.sender, address(this), value);\n * ...\n * }\n * ```\n *\n * Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of\n * `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also\n * {SafeERC20-safeTransferFrom}).\n *\n * Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so\n * contracts should have entry points that don't rely on permit.\n */\ninterface IERC20Permit {\n /**\n * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n * given ``owner``'s signed approval.\n *\n * IMPORTANT: The same issues {IERC20-approve} has related to transaction\n * ordering also applies here.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `deadline` must be a timestamp in the future.\n * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n * over the EIP712-formatted function arguments.\n * - the signature must use ``owner``'s current nonce (see {nonces}).\n *\n * For more information on the signature format, see the\n * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n * section].\n *\n * CAUTION: See Security Considerations above.\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n /**\n * @dev Returns the current nonce for `owner`. This value must be\n * included whenever a signature is generated for {permit}.\n *\n * Every successful call to {permit} increases ``owner``'s nonce by one. This\n * prevents a signature from being used multiple times.\n */\n function nonces(address owner) external view returns (uint256);\n\n /**\n * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC20/utils/SafeERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"../IERC20.sol\";\nimport {IERC1363} from \"../../../interfaces/IERC1363.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC-20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n /**\n * @dev An operation with an ERC-20 token failed.\n */\n error SafeERC20FailedOperation(address token);\n\n /**\n * @dev Indicates a failed `decreaseAllowance` request.\n */\n error SafeERC20FailedDecreaseAllowance(address spender, uint256 currentAllowance, uint256 requestedDecrease);\n\n /**\n * @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n * non-reverting calls are assumed to be successful.\n */\n function safeTransfer(IERC20 token, address to, uint256 value) internal {\n if (!_safeTransfer(token, to, value, true)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n * calling contract. If `token` returns no value, non-reverting calls are assumed to be successful.\n */\n function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {\n if (!_safeTransferFrom(token, from, to, value, true)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Variant of {safeTransfer} that returns a bool instead of reverting if the operation is not successful.\n */\n function trySafeTransfer(IERC20 token, address to, uint256 value) internal returns (bool) {\n return _safeTransfer(token, to, value, false);\n }\n\n /**\n * @dev Variant of {safeTransferFrom} that returns a bool instead of reverting if the operation is not successful.\n */\n function trySafeTransferFrom(IERC20 token, address from, address to, uint256 value) internal returns (bool) {\n return _safeTransferFrom(token, from, to, value, false);\n }\n\n /**\n * @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n * non-reverting calls are assumed to be successful.\n *\n * IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n * smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n * this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n * that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior.\n */\n function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {\n uint256 oldAllowance = token.allowance(address(this), spender);\n forceApprove(token, spender, oldAllowance + value);\n }\n\n /**\n * @dev Decrease the calling contract's allowance toward `spender` by `requestedDecrease`. If `token` returns no\n * value, non-reverting calls are assumed to be successful.\n *\n * IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n * smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n * this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n * that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior.\n */\n function safeDecreaseAllowance(IERC20 token, address spender, uint256 requestedDecrease) internal {\n unchecked {\n uint256 currentAllowance = token.allowance(address(this), spender);\n if (currentAllowance < requestedDecrease) {\n revert SafeERC20FailedDecreaseAllowance(spender, currentAllowance, requestedDecrease);\n }\n forceApprove(token, spender, currentAllowance - requestedDecrease);\n }\n }\n\n /**\n * @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n * non-reverting calls are assumed to be successful. Meant to be used with tokens that require the approval\n * to be set to zero before setting it to a non-zero value, such as USDT.\n *\n * NOTE: If the token implements ERC-7674, this function will not modify any temporary allowance. This function\n * only sets the \"standard\" allowance. Any temporary allowance will remain active, in addition to the value being\n * set here.\n */\n function forceApprove(IERC20 token, address spender, uint256 value) internal {\n if (!_safeApprove(token, spender, value, false)) {\n if (!_safeApprove(token, spender, 0, true)) revert SafeERC20FailedOperation(address(token));\n if (!_safeApprove(token, spender, value, true)) revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Performs an {ERC1363} transferAndCall, with a fallback to the simple {ERC20} transfer if the target has no\n * code. This can be used to implement an {ERC721}-like safe transfer that relies on {ERC1363} checks when\n * targeting contracts.\n *\n * Reverts if the returned value is other than `true`.\n */\n function transferAndCallRelaxed(IERC1363 token, address to, uint256 value, bytes memory data) internal {\n if (to.code.length == 0) {\n safeTransfer(token, to, value);\n } else if (!token.transferAndCall(to, value, data)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Performs an {ERC1363} transferFromAndCall, with a fallback to the simple {ERC20} transferFrom if the target\n * has no code. This can be used to implement an {ERC721}-like safe transfer that relies on {ERC1363} checks when\n * targeting contracts.\n *\n * Reverts if the returned value is other than `true`.\n */\n function transferFromAndCallRelaxed(\n IERC1363 token,\n address from,\n address to,\n uint256 value,\n bytes memory data\n ) internal {\n if (to.code.length == 0) {\n safeTransferFrom(token, from, to, value);\n } else if (!token.transferFromAndCall(from, to, value, data)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Performs an {ERC1363} approveAndCall, with a fallback to the simple {ERC20} approve if the target has no\n * code. This can be used to implement an {ERC721}-like safe transfer that rely on {ERC1363} checks when\n * targeting contracts.\n *\n * NOTE: When the recipient address (`to`) has no code (i.e. is an EOA), this function behaves as {forceApprove}.\n * Oppositely, when the recipient address (`to`) has code, this function only attempts to call {ERC1363-approveAndCall}\n * once without retrying, and relies on the returned value to be true.\n *\n * Reverts if the returned value is other than `true`.\n */\n function approveAndCallRelaxed(IERC1363 token, address to, uint256 value, bytes memory data) internal {\n if (to.code.length == 0) {\n forceApprove(token, to, value);\n } else if (!token.approveAndCall(to, value, data)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Imitates a Solidity `token.transfer(to, value)` call, relaxing the requirement on the return value: the\n * return value is optional (but if data is returned, it must not be false).\n *\n * @param token The token targeted by the call.\n * @param to The recipient of the tokens\n * @param value The amount of token to transfer\n * @param bubble Behavior switch if the transfer call reverts: bubble the revert reason or return a false boolean.\n */\n function _safeTransfer(IERC20 token, address to, uint256 value, bool bubble) private returns (bool success) {\n bytes4 selector = IERC20.transfer.selector;\n\n assembly (\"memory-safe\") {\n let fmp := mload(0x40)\n mstore(0x00, selector)\n mstore(0x04, and(to, shr(96, not(0))))\n mstore(0x24, value)\n success := call(gas(), token, 0, 0x00, 0x44, 0x00, 0x20)\n // if call success and return is true, all is good.\n // otherwise (not success or return is not true), we need to perform further checks\n if iszero(and(success, eq(mload(0x00), 1))) {\n // if the call was a failure and bubble is enabled, bubble the error\n if and(iszero(success), bubble) {\n returndatacopy(fmp, 0x00, returndatasize())\n revert(fmp, returndatasize())\n }\n // if the return value is not true, then the call is only successful if:\n // - the token address has code\n // - the returndata is empty\n success := and(success, and(iszero(returndatasize()), gt(extcodesize(token), 0)))\n }\n mstore(0x40, fmp)\n }\n }\n\n /**\n * @dev Imitates a Solidity `token.transferFrom(from, to, value)` call, relaxing the requirement on the return\n * value: the return value is optional (but if data is returned, it must not be false).\n *\n * @param token The token targeted by the call.\n * @param from The sender of the tokens\n * @param to The recipient of the tokens\n * @param value The amount of token to transfer\n * @param bubble Behavior switch if the transfer call reverts: bubble the revert reason or return a false boolean.\n */\n function _safeTransferFrom(\n IERC20 token,\n address from,\n address to,\n uint256 value,\n bool bubble\n ) private returns (bool success) {\n bytes4 selector = IERC20.transferFrom.selector;\n\n assembly (\"memory-safe\") {\n let fmp := mload(0x40)\n mstore(0x00, selector)\n mstore(0x04, and(from, shr(96, not(0))))\n mstore(0x24, and(to, shr(96, not(0))))\n mstore(0x44, value)\n success := call(gas(), token, 0, 0x00, 0x64, 0x00, 0x20)\n // if call success and return is true, all is good.\n // otherwise (not success or return is not true), we need to perform further checks\n if iszero(and(success, eq(mload(0x00), 1))) {\n // if the call was a failure and bubble is enabled, bubble the error\n if and(iszero(success), bubble) {\n returndatacopy(fmp, 0x00, returndatasize())\n revert(fmp, returndatasize())\n }\n // if the return value is not true, then the call is only successful if:\n // - the token address has code\n // - the returndata is empty\n success := and(success, and(iszero(returndatasize()), gt(extcodesize(token), 0)))\n }\n mstore(0x40, fmp)\n mstore(0x60, 0)\n }\n }\n\n /**\n * @dev Imitates a Solidity `token.approve(spender, value)` call, relaxing the requirement on the return value:\n * the return value is optional (but if data is returned, it must not be false).\n *\n * @param token The token targeted by the call.\n * @param spender The spender of the tokens\n * @param value The amount of token to transfer\n * @param bubble Behavior switch if the transfer call reverts: bubble the revert reason or return a false boolean.\n */\n function _safeApprove(IERC20 token, address spender, uint256 value, bool bubble) private returns (bool success) {\n bytes4 selector = IERC20.approve.selector;\n\n assembly (\"memory-safe\") {\n let fmp := mload(0x40)\n mstore(0x00, selector)\n mstore(0x04, and(spender, shr(96, not(0))))\n mstore(0x24, value)\n success := call(gas(), token, 0, 0x00, 0x44, 0x00, 0x20)\n // if call success and return is true, all is good.\n // otherwise (not success or return is not true), we need to perform further checks\n if iszero(and(success, eq(mload(0x00), 1))) {\n // if the call was a failure and bubble is enabled, bubble the error\n if and(iszero(success), bubble) {\n returndatacopy(fmp, 0x00, returndatasize())\n revert(fmp, returndatasize())\n }\n // if the return value is not true, then the call is only successful if:\n // - the token address has code\n // - the returndata is empty\n success := and(success, and(iszero(returndatasize()), gt(extcodesize(token), 0)))\n }\n mstore(0x40, fmp)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Bytes.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Bytes.sol)\n\npragma solidity ^0.8.24;\n\nimport {Math} from \"./math/Math.sol\";\n\n/**\n * @dev Bytes operations.\n */\nlibrary Bytes {\n /**\n * @dev Forward search for `s` in `buffer`\n * * If `s` is present in the buffer, returns the index of the first instance\n * * If `s` is not present in the buffer, returns type(uint256).max\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf[Javascript's `Array.indexOf`]\n */\n function indexOf(bytes memory buffer, bytes1 s) internal pure returns (uint256) {\n return indexOf(buffer, s, 0);\n }\n\n /**\n * @dev Forward search for `s` in `buffer` starting at position `pos`\n * * If `s` is present in the buffer (at or after `pos`), returns the index of the next instance\n * * If `s` is not present in the buffer (at or after `pos`), returns type(uint256).max\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf[Javascript's `Array.indexOf`]\n */\n function indexOf(bytes memory buffer, bytes1 s, uint256 pos) internal pure returns (uint256) {\n uint256 length = buffer.length;\n for (uint256 i = pos; i < length; ++i) {\n if (bytes1(_unsafeReadBytesOffset(buffer, i)) == s) {\n return i;\n }\n }\n return type(uint256).max;\n }\n\n /**\n * @dev Backward search for `s` in `buffer`\n * * If `s` is present in the buffer, returns the index of the last instance\n * * If `s` is not present in the buffer, returns type(uint256).max\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf[Javascript's `Array.lastIndexOf`]\n */\n function lastIndexOf(bytes memory buffer, bytes1 s) internal pure returns (uint256) {\n return lastIndexOf(buffer, s, type(uint256).max);\n }\n\n /**\n * @dev Backward search for `s` in `buffer` starting at position `pos`\n * * If `s` is present in the buffer (at or before `pos`), returns the index of the previous instance\n * * If `s` is not present in the buffer (at or before `pos`), returns type(uint256).max\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf[Javascript's `Array.lastIndexOf`]\n */\n function lastIndexOf(bytes memory buffer, bytes1 s, uint256 pos) internal pure returns (uint256) {\n unchecked {\n uint256 length = buffer.length;\n for (uint256 i = Math.min(Math.saturatingAdd(pos, 1), length); i > 0; --i) {\n if (bytes1(_unsafeReadBytesOffset(buffer, i - 1)) == s) {\n return i - 1;\n }\n }\n return type(uint256).max;\n }\n }\n\n /**\n * @dev Copies the content of `buffer`, from `start` (included) to the end of `buffer` into a new bytes object in\n * memory.\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice[Javascript's `Array.slice`]\n */\n function slice(bytes memory buffer, uint256 start) internal pure returns (bytes memory) {\n return slice(buffer, start, buffer.length);\n }\n\n /**\n * @dev Copies the content of `buffer`, from `start` (included) to `end` (excluded) into a new bytes object in\n * memory. The `end` argument is truncated to the length of the `buffer`.\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice[Javascript's `Array.slice`]\n */\n function slice(bytes memory buffer, uint256 start, uint256 end) internal pure returns (bytes memory) {\n // sanitize\n end = Math.min(end, buffer.length);\n start = Math.min(start, end);\n\n // allocate and copy\n bytes memory result = new bytes(end - start);\n assembly (\"memory-safe\") {\n mcopy(add(result, 0x20), add(add(buffer, 0x20), start), sub(end, start))\n }\n\n return result;\n }\n\n /**\n * @dev Moves the content of `buffer`, from `start` (included) to the end of `buffer` to the start of that buffer.\n *\n * NOTE: This function modifies the provided buffer in place. If you need to preserve the original buffer, use {slice} instead\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice[Javascript's `Array.splice`]\n */\n function splice(bytes memory buffer, uint256 start) internal pure returns (bytes memory) {\n return splice(buffer, start, buffer.length);\n }\n\n /**\n * @dev Moves the content of `buffer`, from `start` (included) to end (excluded) to the start of that buffer. The\n * `end` argument is truncated to the length of the `buffer`.\n *\n * NOTE: This function modifies the provided buffer in place. If you need to preserve the original buffer, use {slice} instead\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice[Javascript's `Array.splice`]\n */\n function splice(bytes memory buffer, uint256 start, uint256 end) internal pure returns (bytes memory) {\n // sanitize\n end = Math.min(end, buffer.length);\n start = Math.min(start, end);\n\n // allocate and copy\n assembly (\"memory-safe\") {\n mcopy(add(buffer, 0x20), add(add(buffer, 0x20), start), sub(end, start))\n mstore(buffer, sub(end, start))\n }\n\n return buffer;\n }\n\n /**\n * @dev Concatenate an array of bytes into a single bytes object.\n *\n * For fixed bytes types, we recommend using the solidity built-in `bytes.concat` or (equivalent)\n * `abi.encodePacked`.\n *\n * NOTE: this could be done in assembly with a single loop that expands starting at the FMP, but that would be\n * significantly less readable. It might be worth benchmarking the savings of the full-assembly approach.\n */\n function concat(bytes[] memory buffers) internal pure returns (bytes memory) {\n uint256 length = 0;\n for (uint256 i = 0; i < buffers.length; ++i) {\n length += buffers[i].length;\n }\n\n bytes memory result = new bytes(length);\n\n uint256 offset = 0x20;\n for (uint256 i = 0; i < buffers.length; ++i) {\n bytes memory input = buffers[i];\n assembly (\"memory-safe\") {\n mcopy(add(result, offset), add(input, 0x20), mload(input))\n }\n unchecked {\n offset += input.length;\n }\n }\n\n return result;\n }\n\n /**\n * @dev Returns true if the two byte buffers are equal.\n */\n function equal(bytes memory a, bytes memory b) internal pure returns (bool) {\n return a.length == b.length && keccak256(a) == keccak256(b);\n }\n\n /**\n * @dev Reverses the byte order of a bytes32 value, converting between little-endian and big-endian.\n * Inspired by https://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel[Reverse Parallel]\n */\n function reverseBytes32(bytes32 value) internal pure returns (bytes32) {\n value = // swap bytes\n ((value >> 8) & 0x00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF) |\n ((value & 0x00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF) << 8);\n value = // swap 2-byte long pairs\n ((value >> 16) & 0x0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF) |\n ((value & 0x0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF) << 16);\n value = // swap 4-byte long pairs\n ((value >> 32) & 0x00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF) |\n ((value & 0x00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF) << 32);\n value = // swap 8-byte long pairs\n ((value >> 64) & 0x0000000000000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF) |\n ((value & 0x0000000000000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF) << 64);\n return (value >> 128) | (value << 128); // swap 16-byte long pairs\n }\n\n /// @dev Same as {reverseBytes32} but optimized for 128-bit values.\n function reverseBytes16(bytes16 value) internal pure returns (bytes16) {\n value = // swap bytes\n ((value & 0xFF00FF00FF00FF00FF00FF00FF00FF00) >> 8) |\n ((value & 0x00FF00FF00FF00FF00FF00FF00FF00FF) << 8);\n value = // swap 2-byte long pairs\n ((value & 0xFFFF0000FFFF0000FFFF0000FFFF0000) >> 16) |\n ((value & 0x0000FFFF0000FFFF0000FFFF0000FFFF) << 16);\n value = // swap 4-byte long pairs\n ((value & 0xFFFFFFFF00000000FFFFFFFF00000000) >> 32) |\n ((value & 0x00000000FFFFFFFF00000000FFFFFFFF) << 32);\n return (value >> 64) | (value << 64); // swap 8-byte long pairs\n }\n\n /// @dev Same as {reverseBytes32} but optimized for 64-bit values.\n function reverseBytes8(bytes8 value) internal pure returns (bytes8) {\n value = ((value & 0xFF00FF00FF00FF00) >> 8) | ((value & 0x00FF00FF00FF00FF) << 8); // swap bytes\n value = ((value & 0xFFFF0000FFFF0000) >> 16) | ((value & 0x0000FFFF0000FFFF) << 16); // swap 2-byte long pairs\n return (value >> 32) | (value << 32); // swap 4-byte long pairs\n }\n\n /// @dev Same as {reverseBytes32} but optimized for 32-bit values.\n function reverseBytes4(bytes4 value) internal pure returns (bytes4) {\n value = ((value & 0xFF00FF00) >> 8) | ((value & 0x00FF00FF) << 8); // swap bytes\n return (value >> 16) | (value << 16); // swap 2-byte long pairs\n }\n\n /// @dev Same as {reverseBytes32} but optimized for 16-bit values.\n function reverseBytes2(bytes2 value) internal pure returns (bytes2) {\n return (value >> 8) | (value << 8);\n }\n\n /**\n * @dev Counts the number of leading zero bits a bytes array. Returns `8 * buffer.length`\n * if the buffer is all zeros.\n */\n function clz(bytes memory buffer) internal pure returns (uint256) {\n for (uint256 i = 0; i < buffer.length; i += 0x20) {\n bytes32 chunk = _unsafeReadBytesOffset(buffer, i);\n if (chunk != bytes32(0)) {\n return Math.min(8 * i + Math.clz(uint256(chunk)), 8 * buffer.length);\n }\n }\n return 8 * buffer.length;\n }\n\n /**\n * @dev Reads a bytes32 from a bytes array without bounds checking.\n *\n * NOTE: making this function internal would mean it could be used with memory unsafe offset, and marking the\n * assembly block as such would prevent some optimizations.\n */\n function _unsafeReadBytesOffset(bytes memory buffer, uint256 offset) private pure returns (bytes32 value) {\n // This is not memory safe in the general case, but all calls to this private function are within bounds.\n assembly (\"memory-safe\") {\n value := mload(add(add(buffer, 0x20), offset))\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Nonces.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Nonces.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides tracking nonces for addresses. Nonces will only increment.\n */\nabstract contract Nonces {\n /**\n * @dev The nonce used for an `account` is not the expected current nonce.\n */\n error InvalidAccountNonce(address account, uint256 currentNonce);\n\n mapping(address account => uint256) private _nonces;\n\n /**\n * @dev Returns the next unused nonce for an address.\n */\n function nonces(address owner) public view virtual returns (uint256) {\n return _nonces[owner];\n }\n\n /**\n * @dev Consumes a nonce.\n *\n * Returns the current value and increments nonce.\n */\n function _useNonce(address owner) internal virtual returns (uint256) {\n // For each account, the nonce has an initial value of 0, can only be incremented by one, and cannot be\n // decremented or reset. This guarantees that the nonce never overflows.\n unchecked {\n // It is important to do x++ and not ++x here.\n return _nonces[owner]++;\n }\n }\n\n /**\n * @dev Same as {_useNonce} but checking that `nonce` is the next valid for `owner`.\n */\n function _useCheckedNonce(address owner, uint256 nonce) internal virtual {\n uint256 current = _useNonce(owner);\n if (nonce != current) {\n revert InvalidAccountNonce(owner, current);\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Panic.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Helper library for emitting standardized panic codes.\n *\n * ```solidity\n * contract Example {\n * using Panic for uint256;\n *\n * // Use any of the declared internal constants\n * function foo() { Panic.GENERIC.panic(); }\n *\n * // Alternatively\n * function foo() { Panic.panic(Panic.GENERIC); }\n * }\n * ```\n *\n * Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil].\n *\n * _Available since v5.1._\n */\n// slither-disable-next-line unused-state\nlibrary Panic {\n /// @dev generic / unspecified error\n uint256 internal constant GENERIC = 0x00;\n /// @dev used by the assert() builtin\n uint256 internal constant ASSERT = 0x01;\n /// @dev arithmetic underflow or overflow\n uint256 internal constant UNDER_OVERFLOW = 0x11;\n /// @dev division or modulo by zero\n uint256 internal constant DIVISION_BY_ZERO = 0x12;\n /// @dev enum conversion error\n uint256 internal constant ENUM_CONVERSION_ERROR = 0x21;\n /// @dev invalid encoding in storage\n uint256 internal constant STORAGE_ENCODING_ERROR = 0x22;\n /// @dev empty array pop\n uint256 internal constant EMPTY_ARRAY_POP = 0x31;\n /// @dev array out of bounds access\n uint256 internal constant ARRAY_OUT_OF_BOUNDS = 0x32;\n /// @dev resource error (too large allocation or too large array)\n uint256 internal constant RESOURCE_ERROR = 0x41;\n /// @dev calling invalid internal function\n uint256 internal constant INVALID_INTERNAL_FUNCTION = 0x51;\n\n /// @dev Reverts with a panic code. Recommended to use with\n /// the internal constants with predefined codes.\n function panic(uint256 code) internal pure {\n assembly (\"memory-safe\") {\n mstore(0x00, 0x4e487b71)\n mstore(0x20, code)\n revert(0x1c, 0x24)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/ReentrancyGuard.sol)\n\npragma solidity ^0.8.20;\n\nimport {StorageSlot} from \"./StorageSlot.sol\";\n\n/**\n * @dev Contract module that helps prevent reentrant calls to a function.\n *\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n * available, which can be applied to functions to make sure there are no nested\n * (reentrant) calls to them.\n *\n * Note that because there is a single `nonReentrant` guard, functions marked as\n * `nonReentrant` may not call one another. This can be worked around by making\n * those functions `private`, and then adding `external` `nonReentrant` entry\n * points to them.\n *\n * TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,\n * consider using {ReentrancyGuardTransient} instead.\n *\n * TIP: If you would like to learn more about reentrancy and alternative ways\n * to protect against it, check out our blog post\n * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n *\n * IMPORTANT: Deprecated. This storage-based reentrancy guard will be removed and replaced\n * by the {ReentrancyGuardTransient} variant in v6.0.\n *\n * @custom:stateless\n */\nabstract contract ReentrancyGuard {\n using StorageSlot for bytes32;\n\n // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.ReentrancyGuard\")) - 1)) & ~bytes32(uint256(0xff))\n bytes32 private constant REENTRANCY_GUARD_STORAGE =\n 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00;\n\n // Booleans are more expensive than uint256 or any type that takes up a full\n // word because each write operation emits an extra SLOAD to first read the\n // slot's contents, replace the bits taken up by the boolean, and then write\n // back. This is the compiler's defense against contract upgrades and\n // pointer aliasing, and it cannot be disabled.\n\n // The values being non-zero value makes deployment a bit more expensive,\n // but in exchange the refund on every call to nonReentrant will be lower in\n // amount. Since refunds are capped to a percentage of the total\n // transaction's gas, it is best to keep them low in cases like this one, to\n // increase the likelihood of the full refund coming into effect.\n uint256 private constant NOT_ENTERED = 1;\n uint256 private constant ENTERED = 2;\n\n /**\n * @dev Unauthorized reentrant call.\n */\n error ReentrancyGuardReentrantCall();\n\n constructor() {\n _reentrancyGuardStorageSlot().getUint256Slot().value = NOT_ENTERED;\n }\n\n /**\n * @dev Prevents a contract from calling itself, directly or indirectly.\n * Calling a `nonReentrant` function from another `nonReentrant`\n * function is not supported. It is possible to prevent this from happening\n * by making the `nonReentrant` function external, and making it call a\n * `private` function that does the actual work.\n */\n modifier nonReentrant() {\n _nonReentrantBefore();\n _;\n _nonReentrantAfter();\n }\n\n /**\n * @dev A `view` only version of {nonReentrant}. Use to block view functions\n * from being called, preventing reading from inconsistent contract state.\n *\n * CAUTION: This is a \"view\" modifier and does not change the reentrancy\n * status. Use it only on view functions. For payable or non-payable functions,\n * use the standard {nonReentrant} modifier instead.\n */\n modifier nonReentrantView() {\n _nonReentrantBeforeView();\n _;\n }\n\n function _nonReentrantBeforeView() private view {\n if (_reentrancyGuardEntered()) {\n revert ReentrancyGuardReentrantCall();\n }\n }\n\n function _nonReentrantBefore() private {\n // On the first call to nonReentrant, _status will be NOT_ENTERED\n _nonReentrantBeforeView();\n\n // Any calls to nonReentrant after this point will fail\n _reentrancyGuardStorageSlot().getUint256Slot().value = ENTERED;\n }\n\n function _nonReentrantAfter() private {\n // By storing the original value once again, a refund is triggered (see\n // https://eips.ethereum.org/EIPS/eip-2200)\n _reentrancyGuardStorageSlot().getUint256Slot().value = NOT_ENTERED;\n }\n\n /**\n * @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n * `nonReentrant` function in the call stack.\n */\n function _reentrancyGuardEntered() internal view returns (bool) {\n return _reentrancyGuardStorageSlot().getUint256Slot().value == ENTERED;\n }\n\n function _reentrancyGuardStorageSlot() internal pure virtual returns (bytes32) {\n return REENTRANCY_GUARD_STORAGE;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (utils/ShortStrings.sol)\n\npragma solidity ^0.8.20;\n\nimport {StorageSlot} from \"./StorageSlot.sol\";\n\n// | string | 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |\n// | length | 0x BB |\ntype ShortString is bytes32;\n\n/**\n * @dev This library provides functions to convert short memory strings\n * into a `ShortString` type that can be used as an immutable variable.\n *\n * Strings of arbitrary length can be optimized using this library if\n * they are short enough (up to 31 bytes) by packing them with their\n * length (1 byte) in a single EVM word (32 bytes). Additionally, a\n * fallback mechanism can be used for every other case.\n *\n * Usage example:\n *\n * ```solidity\n * contract Named {\n * using ShortStrings for *;\n *\n * ShortString private immutable _name;\n * string private _nameFallback;\n *\n * constructor(string memory contractName) {\n * _name = contractName.toShortStringWithFallback(_nameFallback);\n * }\n *\n * function name() external view returns (string memory) {\n * return _name.toStringWithFallback(_nameFallback);\n * }\n * }\n * ```\n */\nlibrary ShortStrings {\n // Used as an identifier for strings longer than 31 bytes.\n bytes32 private constant FALLBACK_SENTINEL = 0x00000000000000000000000000000000000000000000000000000000000000FF;\n\n error StringTooLong(string str);\n error InvalidShortString();\n\n /**\n * @dev Encode a string of at most 31 chars into a `ShortString`.\n *\n * This will trigger a `StringTooLong` error is the input string is too long.\n */\n function toShortString(string memory str) internal pure returns (ShortString) {\n bytes memory bstr = bytes(str);\n if (bstr.length > 0x1f) {\n revert StringTooLong(str);\n }\n return ShortString.wrap(bytes32(uint256(bytes32(bstr)) | bstr.length));\n }\n\n /**\n * @dev Decode a `ShortString` back to a \"normal\" string.\n */\n function toString(ShortString sstr) internal pure returns (string memory) {\n uint256 len = byteLength(sstr);\n // using `new string(len)` would work locally but is not memory safe.\n string memory str = new string(0x20);\n assembly (\"memory-safe\") {\n mstore(str, len)\n mstore(add(str, 0x20), sstr)\n }\n return str;\n }\n\n /**\n * @dev Return the length of a `ShortString`.\n */\n function byteLength(ShortString sstr) internal pure returns (uint256) {\n uint256 result = uint256(ShortString.unwrap(sstr)) & 0xFF;\n if (result > 0x1f) {\n revert InvalidShortString();\n }\n return result;\n }\n\n /**\n * @dev Encode a string into a `ShortString`, or write it to storage if it is too long.\n */\n function toShortStringWithFallback(string memory value, string storage store) internal returns (ShortString) {\n if (bytes(value).length < 0x20) {\n return toShortString(value);\n } else {\n StorageSlot.getStringSlot(store).value = value;\n return ShortString.wrap(FALLBACK_SENTINEL);\n }\n }\n\n /**\n * @dev Decode a string that was encoded to `ShortString` or written to storage using {toShortStringWithFallback}.\n */\n function toStringWithFallback(ShortString value, string storage store) internal pure returns (string memory) {\n if (ShortString.unwrap(value) != FALLBACK_SENTINEL) {\n return toString(value);\n } else {\n return store;\n }\n }\n\n /**\n * @dev Return the length of a string that was encoded to `ShortString` or written to storage using\n * {toShortStringWithFallback}.\n *\n * WARNING: This will return the \"byte length\" of the string. This may not reflect the actual length in terms of\n * actual characters as the UTF-8 encoding of a single character can span over multiple bytes.\n */\n function byteLengthWithFallback(ShortString value, string storage store) internal view returns (uint256) {\n if (ShortString.unwrap(value) != FALLBACK_SENTINEL) {\n return byteLength(value);\n } else {\n return bytes(store).length;\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/StorageSlot.sol)\n// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for reading and writing primitive types to specific storage slots.\n *\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n * This library helps with reading and writing to such slots without the need for inline assembly.\n *\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n *\n * Example usage to set ERC-1967 implementation slot:\n * ```solidity\n * contract ERC1967 {\n * // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n *\n * function _getImplementation() internal view returns (address) {\n * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n * }\n *\n * function _setImplementation(address newImplementation) internal {\n * require(newImplementation.code.length > 0);\n * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n * }\n * }\n * ```\n *\n * TIP: Consider using this library along with {SlotDerivation}.\n */\nlibrary StorageSlot {\n struct AddressSlot {\n address value;\n }\n\n struct BooleanSlot {\n bool value;\n }\n\n struct Bytes32Slot {\n bytes32 value;\n }\n\n struct Uint256Slot {\n uint256 value;\n }\n\n struct Int256Slot {\n int256 value;\n }\n\n struct StringSlot {\n string value;\n }\n\n struct BytesSlot {\n bytes value;\n }\n\n /**\n * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n */\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `BooleanSlot` with member `value` located at `slot`.\n */\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Bytes32Slot` with member `value` located at `slot`.\n */\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Uint256Slot` with member `value` located at `slot`.\n */\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Int256Slot` with member `value` located at `slot`.\n */\n function getInt256Slot(bytes32 slot) internal pure returns (Int256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `StringSlot` with member `value` located at `slot`.\n */\n function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `StringSlot` representation of the string storage pointer `store`.\n */\n function getStringSlot(string storage store) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n\n /**\n * @dev Returns a `BytesSlot` with member `value` located at `slot`.\n */\n function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.\n */\n function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Strings.sol)\n\npragma solidity ^0.8.24;\n\nimport {Math} from \"./math/Math.sol\";\nimport {SafeCast} from \"./math/SafeCast.sol\";\nimport {SignedMath} from \"./math/SignedMath.sol\";\nimport {Bytes} from \"./Bytes.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n using SafeCast for *;\n\n bytes16 private constant HEX_DIGITS = \"0123456789abcdef\";\n uint8 private constant ADDRESS_LENGTH = 20;\n uint256 private constant SPECIAL_CHARS_LOOKUP =\n (1 << 0x08) | // backspace\n (1 << 0x09) | // tab\n (1 << 0x0a) | // newline\n (1 << 0x0c) | // form feed\n (1 << 0x0d) | // carriage return\n (1 << 0x22) | // double quote\n (1 << 0x5c); // backslash\n\n /**\n * @dev The `value` string doesn't fit in the specified `length`.\n */\n error StringsInsufficientHexLength(uint256 value, uint256 length);\n\n /**\n * @dev The string being parsed contains characters that are not in scope of the given base.\n */\n error StringsInvalidChar();\n\n /**\n * @dev The string being parsed is not a properly formatted address.\n */\n error StringsInvalidAddressFormat();\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n assembly (\"memory-safe\") {\n ptr := add(add(buffer, 0x20), length)\n }\n while (true) {\n ptr--;\n assembly (\"memory-safe\") {\n mstore8(ptr, byte(mod(value, 10), HEX_DIGITS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toStringSigned(int256 value) internal pure returns (string memory) {\n return string.concat(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value)));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n uint256 localValue = value;\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = HEX_DIGITS[localValue & 0xf];\n localValue >>= 4;\n }\n if (localValue != 0) {\n revert StringsInsufficientHexLength(value, length);\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n * representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its checksummed ASCII `string` hexadecimal\n * representation, according to EIP-55.\n */\n function toChecksumHexString(address addr) internal pure returns (string memory) {\n bytes memory buffer = bytes(toHexString(addr));\n\n // hash the hex part of buffer (skip length + 2 bytes, length 40)\n uint256 hashValue;\n assembly (\"memory-safe\") {\n hashValue := shr(96, keccak256(add(buffer, 0x22), 40))\n }\n\n for (uint256 i = 41; i > 1; --i) {\n // possible values for buffer[i] are 48 (0) to 57 (9) and 97 (a) to 102 (f)\n if (hashValue & 0xf > 7 && uint8(buffer[i]) > 96) {\n // case shift by xoring with 0x20\n buffer[i] ^= 0x20;\n }\n hashValue >>= 4;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `bytes` buffer to its ASCII `string` hexadecimal representation.\n */\n function toHexString(bytes memory input) internal pure returns (string memory) {\n unchecked {\n bytes memory buffer = new bytes(2 * input.length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 0; i < input.length; ++i) {\n uint8 v = uint8(input[i]);\n buffer[2 * i + 2] = HEX_DIGITS[v >> 4];\n buffer[2 * i + 3] = HEX_DIGITS[v & 0xf];\n }\n return string(buffer);\n }\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return Bytes.equal(bytes(a), bytes(b));\n }\n\n /**\n * @dev Parse a decimal string and returns the value as a `uint256`.\n *\n * Requirements:\n * - The string must be formatted as `[0-9]*`\n * - The result must fit into an `uint256` type\n */\n function parseUint(string memory input) internal pure returns (uint256) {\n return parseUint(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseUint-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `[0-9]*`\n * - The result must fit into an `uint256` type\n */\n function parseUint(string memory input, uint256 begin, uint256 end) internal pure returns (uint256) {\n (bool success, uint256 value) = tryParseUint(input, begin, end);\n if (!success) revert StringsInvalidChar();\n return value;\n }\n\n /**\n * @dev Variant of {parseUint-string} that returns false if the parsing fails because of an invalid character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseUint(string memory input) internal pure returns (bool success, uint256 value) {\n return _tryParseUintUncheckedBounds(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseUint-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n * character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseUint(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, uint256 value) {\n if (end > bytes(input).length || begin > end) return (false, 0);\n return _tryParseUintUncheckedBounds(input, begin, end);\n }\n\n /**\n * @dev Implementation of {tryParseUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n * `begin <= end <= input.length`. Other inputs would result in undefined behavior.\n */\n function _tryParseUintUncheckedBounds(\n string memory input,\n uint256 begin,\n uint256 end\n ) private pure returns (bool success, uint256 value) {\n bytes memory buffer = bytes(input);\n\n uint256 result = 0;\n for (uint256 i = begin; i < end; ++i) {\n uint8 chr = _tryParseChr(bytes1(_unsafeReadBytesOffset(buffer, i)));\n if (chr > 9) return (false, 0);\n result *= 10;\n result += chr;\n }\n return (true, result);\n }\n\n /**\n * @dev Parse a decimal string and returns the value as a `int256`.\n *\n * Requirements:\n * - The string must be formatted as `[-+]?[0-9]*`\n * - The result must fit in an `int256` type.\n */\n function parseInt(string memory input) internal pure returns (int256) {\n return parseInt(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseInt-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `[-+]?[0-9]*`\n * - The result must fit in an `int256` type.\n */\n function parseInt(string memory input, uint256 begin, uint256 end) internal pure returns (int256) {\n (bool success, int256 value) = tryParseInt(input, begin, end);\n if (!success) revert StringsInvalidChar();\n return value;\n }\n\n /**\n * @dev Variant of {parseInt-string} that returns false if the parsing fails because of an invalid character or if\n * the result does not fit in a `int256`.\n *\n * NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`.\n */\n function tryParseInt(string memory input) internal pure returns (bool success, int256 value) {\n return _tryParseIntUncheckedBounds(input, 0, bytes(input).length);\n }\n\n uint256 private constant ABS_MIN_INT256 = 2 ** 255;\n\n /**\n * @dev Variant of {parseInt-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n * character or if the result does not fit in a `int256`.\n *\n * NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`.\n */\n function tryParseInt(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, int256 value) {\n if (end > bytes(input).length || begin > end) return (false, 0);\n return _tryParseIntUncheckedBounds(input, begin, end);\n }\n\n /**\n * @dev Implementation of {tryParseInt-string-uint256-uint256} that does not check bounds. Caller should make sure that\n * `begin <= end <= input.length`. Other inputs would result in undefined behavior.\n */\n function _tryParseIntUncheckedBounds(\n string memory input,\n uint256 begin,\n uint256 end\n ) private pure returns (bool success, int256 value) {\n bytes memory buffer = bytes(input);\n\n // Check presence of a negative sign.\n bytes1 sign = begin == end ? bytes1(0) : bytes1(_unsafeReadBytesOffset(buffer, begin)); // don't do out-of-bound (possibly unsafe) read if sub-string is empty\n bool positiveSign = sign == bytes1(\"+\");\n bool negativeSign = sign == bytes1(\"-\");\n uint256 offset = (positiveSign || negativeSign).toUint();\n\n (bool absSuccess, uint256 absValue) = tryParseUint(input, begin + offset, end);\n\n if (absSuccess && absValue < ABS_MIN_INT256) {\n return (true, negativeSign ? -int256(absValue) : int256(absValue));\n } else if (absSuccess && negativeSign && absValue == ABS_MIN_INT256) {\n return (true, type(int256).min);\n } else return (false, 0);\n }\n\n /**\n * @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as a `uint256`.\n *\n * Requirements:\n * - The string must be formatted as `(0x)?[0-9a-fA-F]*`\n * - The result must fit in an `uint256` type.\n */\n function parseHexUint(string memory input) internal pure returns (uint256) {\n return parseHexUint(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseHexUint-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `(0x)?[0-9a-fA-F]*`\n * - The result must fit in an `uint256` type.\n */\n function parseHexUint(string memory input, uint256 begin, uint256 end) internal pure returns (uint256) {\n (bool success, uint256 value) = tryParseHexUint(input, begin, end);\n if (!success) revert StringsInvalidChar();\n return value;\n }\n\n /**\n * @dev Variant of {parseHexUint-string} that returns false if the parsing fails because of an invalid character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseHexUint(string memory input) internal pure returns (bool success, uint256 value) {\n return _tryParseHexUintUncheckedBounds(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseHexUint-string-uint256-uint256} that returns false if the parsing fails because of an\n * invalid character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseHexUint(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, uint256 value) {\n if (end > bytes(input).length || begin > end) return (false, 0);\n return _tryParseHexUintUncheckedBounds(input, begin, end);\n }\n\n /**\n * @dev Implementation of {tryParseHexUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n * `begin <= end <= input.length`. Other inputs would result in undefined behavior.\n */\n function _tryParseHexUintUncheckedBounds(\n string memory input,\n uint256 begin,\n uint256 end\n ) private pure returns (bool success, uint256 value) {\n bytes memory buffer = bytes(input);\n\n // skip 0x prefix if present\n bool hasPrefix = (end > begin + 1) && bytes2(_unsafeReadBytesOffset(buffer, begin)) == bytes2(\"0x\"); // don't do out-of-bound (possibly unsafe) read if sub-string is empty\n uint256 offset = hasPrefix.toUint() * 2;\n\n uint256 result = 0;\n for (uint256 i = begin + offset; i < end; ++i) {\n uint8 chr = _tryParseChr(bytes1(_unsafeReadBytesOffset(buffer, i)));\n if (chr > 15) return (false, 0);\n result *= 16;\n unchecked {\n // Multiplying by 16 is equivalent to a shift of 4 bits (with additional overflow check).\n // This guarantees that adding a value < 16 will not cause an overflow, hence the unchecked.\n result += chr;\n }\n }\n return (true, result);\n }\n\n /**\n * @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as an `address`.\n *\n * Requirements:\n * - The string must be formatted as `(0x)?[0-9a-fA-F]{40}`\n */\n function parseAddress(string memory input) internal pure returns (address) {\n return parseAddress(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseAddress-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `(0x)?[0-9a-fA-F]{40}`\n */\n function parseAddress(string memory input, uint256 begin, uint256 end) internal pure returns (address) {\n (bool success, address value) = tryParseAddress(input, begin, end);\n if (!success) revert StringsInvalidAddressFormat();\n return value;\n }\n\n /**\n * @dev Variant of {parseAddress-string} that returns false if the parsing fails because the input is not a properly\n * formatted address. See {parseAddress-string} requirements.\n */\n function tryParseAddress(string memory input) internal pure returns (bool success, address value) {\n return tryParseAddress(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseAddress-string-uint256-uint256} that returns false if the parsing fails because input is not a properly\n * formatted address. See {parseAddress-string-uint256-uint256} requirements.\n */\n function tryParseAddress(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, address value) {\n if (end > bytes(input).length || begin > end) return (false, address(0));\n\n bool hasPrefix = (end > begin + 1) && bytes2(_unsafeReadBytesOffset(bytes(input), begin)) == bytes2(\"0x\"); // don't do out-of-bound (possibly unsafe) read if sub-string is empty\n uint256 expectedLength = 40 + hasPrefix.toUint() * 2;\n\n // check that input is the correct length\n if (end - begin == expectedLength) {\n // length guarantees that this does not overflow, and value is at most type(uint160).max\n (bool s, uint256 v) = _tryParseHexUintUncheckedBounds(input, begin, end);\n return (s, address(uint160(v)));\n } else {\n return (false, address(0));\n }\n }\n\n function _tryParseChr(bytes1 chr) private pure returns (uint8) {\n uint8 value = uint8(chr);\n\n // Try to parse `chr`:\n // - Case 1: [0-9]\n // - Case 2: [a-f]\n // - Case 3: [A-F]\n // - otherwise not supported\n unchecked {\n if (value > 47 && value < 58) value -= 48;\n else if (value > 96 && value < 103) value -= 87;\n else if (value > 64 && value < 71) value -= 55;\n else return type(uint8).max;\n }\n\n return value;\n }\n\n /**\n * @dev Escape special characters in JSON strings. This can be useful to prevent JSON injection in NFT metadata.\n *\n * WARNING: This function should only be used in double quoted JSON strings. Single quotes are not escaped.\n *\n * NOTE: This function escapes all unicode characters, and not just the ones in ranges defined in section 2.5 of\n * RFC-4627 (U+0000 to U+001F, U+0022 and U+005C). ECMAScript's `JSON.parse` does recover escaped unicode\n * characters that are not in this range, but other tooling may provide different results.\n */\n function escapeJSON(string memory input) internal pure returns (string memory) {\n bytes memory buffer = bytes(input);\n bytes memory output = new bytes(2 * buffer.length); // worst case scenario\n uint256 outputLength = 0;\n\n for (uint256 i = 0; i < buffer.length; ++i) {\n bytes1 char = bytes1(_unsafeReadBytesOffset(buffer, i));\n if (((SPECIAL_CHARS_LOOKUP & (1 << uint8(char))) != 0)) {\n output[outputLength++] = \"\\\\\";\n if (char == 0x08) output[outputLength++] = \"b\";\n else if (char == 0x09) output[outputLength++] = \"t\";\n else if (char == 0x0a) output[outputLength++] = \"n\";\n else if (char == 0x0c) output[outputLength++] = \"f\";\n else if (char == 0x0d) output[outputLength++] = \"r\";\n else if (char == 0x5c) output[outputLength++] = \"\\\\\";\n else if (char == 0x22) {\n // solhint-disable-next-line quotes\n output[outputLength++] = '\"';\n }\n } else {\n output[outputLength++] = char;\n }\n }\n // write the actual length and deallocate unused memory\n assembly (\"memory-safe\") {\n mstore(output, outputLength)\n mstore(0x40, add(output, shl(5, shr(5, add(outputLength, 63)))))\n }\n\n return string(output);\n }\n\n /**\n * @dev Reads a bytes32 from a bytes array without bounds checking.\n *\n * NOTE: making this function internal would mean it could be used with memory unsafe offset, and marking the\n * assembly block as such would prevent some optimizations.\n */\n function _unsafeReadBytesOffset(bytes memory buffer, uint256 offset) private pure returns (bytes32 value) {\n // This is not memory safe in the general case, but all calls to this private function are within bounds.\n assembly (\"memory-safe\") {\n value := mload(add(add(buffer, 0x20), offset))\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/ECDSA.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\nlibrary ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS\n }\n\n /**\n * @dev The signature derives the `address(0)`.\n */\n error ECDSAInvalidSignature();\n\n /**\n * @dev The signature has an invalid length.\n */\n error ECDSAInvalidSignatureLength(uint256 length);\n\n /**\n * @dev The signature has an S value that is in the upper half order.\n */\n error ECDSAInvalidSignatureS(bytes32 s);\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n * return address(0) without also returning an error description. Errors are documented using an enum (error type)\n * and a bytes32 providing additional information about the error.\n *\n * If no error is returned, then the address can be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * NOTE: This function only supports 65-byte signatures. ERC-2098 short signatures are rejected. This restriction\n * is DEPRECATED and will be removed in v6.0. Developers SHOULD NOT use signatures as unique identifiers; use hash\n * invalidation or nonces for replay protection.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n *\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n */\n function tryRecover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n assembly (\"memory-safe\") {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (address(0), RecoverError.InvalidSignatureLength, bytes32(signature.length));\n }\n }\n\n /**\n * @dev Variant of {tryRecover} that takes a signature in calldata\n */\n function tryRecoverCalldata(\n bytes32 hash,\n bytes calldata signature\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, calldata slices would work here, but are\n // significantly more expensive (length check) than using calldataload in assembly.\n assembly (\"memory-safe\") {\n r := calldataload(signature.offset)\n s := calldataload(add(signature.offset, 0x20))\n v := byte(0, calldataload(add(signature.offset, 0x40)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (address(0), RecoverError.InvalidSignatureLength, bytes32(signature.length));\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * NOTE: This function only supports 65-byte signatures. ERC-2098 short signatures are rejected. This restriction\n * is DEPRECATED and will be removed in v6.0. Developers SHOULD NOT use signatures as unique identifiers; use hash\n * invalidation or nonces for replay protection.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n */\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(hash, signature);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Variant of {recover} that takes a signature in calldata\n */\n function recoverCalldata(bytes32 hash, bytes calldata signature) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecoverCalldata(hash, signature);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]\n */\n function tryRecover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n unchecked {\n bytes32 s = vs & bytes32(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);\n // We do not check for an overflow here since the shift operation results in 0 or 1.\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n */\n function recover(bytes32 hash, bytes32 r, bytes32 vs) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(hash, r, vs);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function tryRecover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {\n return (address(0), RecoverError.InvalidSignatureS, s);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature, bytes32(0));\n }\n\n return (signer, RecoverError.NoError, bytes32(0));\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(hash, v, r, s);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Parse a signature into its `v`, `r` and `s` components. Supports 65-byte and 64-byte (ERC-2098)\n * formats. Returns (0,0,0) for invalid signatures. Consider skipping {tryRecover} or {recover} if so.\n */\n function parse(bytes memory signature) internal pure returns (uint8 v, bytes32 r, bytes32 s) {\n assembly (\"memory-safe\") {\n // Check the signature length\n switch mload(signature)\n // - case 65: r,s,v signature (standard)\n case 65 {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n // - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098)\n case 64 {\n let vs := mload(add(signature, 0x40))\n r := mload(add(signature, 0x20))\n s := and(vs, shr(1, not(0)))\n v := add(shr(255, vs), 27)\n }\n default {\n r := 0\n s := 0\n v := 0\n }\n }\n }\n\n /**\n * @dev Variant of {parse} that takes a signature in calldata\n */\n function parseCalldata(bytes calldata signature) internal pure returns (uint8 v, bytes32 r, bytes32 s) {\n assembly (\"memory-safe\") {\n // Check the signature length\n switch signature.length\n // - case 65: r,s,v signature (standard)\n case 65 {\n r := calldataload(signature.offset)\n s := calldataload(add(signature.offset, 0x20))\n v := byte(0, calldataload(add(signature.offset, 0x40)))\n }\n // - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098)\n case 64 {\n let vs := calldataload(add(signature.offset, 0x20))\n r := calldataload(signature.offset)\n s := and(vs, shr(1, not(0)))\n v := add(shr(255, vs), 27)\n }\n default {\n r := 0\n s := 0\n v := 0\n }\n }\n }\n\n /**\n * @dev Optionally reverts with the corresponding custom error according to the `error` argument provided.\n */\n function _throwError(RecoverError error, bytes32 errorArg) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert ECDSAInvalidSignature();\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert ECDSAInvalidSignatureLength(uint256(errorArg));\n } else if (error == RecoverError.InvalidSignatureS) {\n revert ECDSAInvalidSignatureS(errorArg);\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/cryptography/EIP712.sol)\n\npragma solidity ^0.8.24;\n\nimport {MessageHashUtils} from \"./MessageHashUtils.sol\";\nimport {ShortStrings, ShortString} from \"../ShortStrings.sol\";\nimport {IERC5267} from \"../../interfaces/IERC5267.sol\";\n\n/**\n * @dev https://eips.ethereum.org/EIPS/eip-712[EIP-712] is a standard for hashing and signing of typed structured data.\n *\n * The encoding scheme specified in the EIP requires a domain separator and a hash of the typed structured data, whose\n * encoding is very generic and therefore its implementation in Solidity is not feasible, thus this contract\n * does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in order to\n * produce the hash of their typed data using a combination of `abi.encode` and `keccak256`.\n *\n * This contract implements the EIP-712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding\n * scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA\n * ({_hashTypedDataV4}).\n *\n * The implementation of the domain separator was designed to be as efficient as possible while still properly updating\n * the chain id to protect against replay attacks on an eventual fork of the chain.\n *\n * NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method\n * https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].\n *\n * NOTE: In the upgradeable version of this contract, the cached values will correspond to the address, and the domain\n * separator of the implementation contract. This will cause the {_domainSeparatorV4} function to always rebuild the\n * separator from the immutable values, which is cheaper than accessing a cached version in cold storage.\n *\n * @custom:oz-upgrades-unsafe-allow state-variable-immutable\n */\nabstract contract EIP712 is IERC5267 {\n using ShortStrings for *;\n\n bytes32 private constant TYPE_HASH =\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\");\n\n // Cache the domain separator as an immutable value, but also store the chain id that it corresponds to, in order to\n // invalidate the cached domain separator if the chain id changes.\n bytes32 private immutable _cachedDomainSeparator;\n uint256 private immutable _cachedChainId;\n address private immutable _cachedThis;\n\n bytes32 private immutable _hashedName;\n bytes32 private immutable _hashedVersion;\n\n ShortString private immutable _name;\n ShortString private immutable _version;\n // slither-disable-next-line constable-states\n string private _nameFallback;\n // slither-disable-next-line constable-states\n string private _versionFallback;\n\n /**\n * @dev Initializes the domain separator and parameter caches.\n *\n * The meaning of `name` and `version` is specified in\n * https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP-712]:\n *\n * - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol.\n * - `version`: the current major version of the signing domain.\n *\n * NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart\n * contract upgrade].\n */\n constructor(string memory name, string memory version) {\n _name = name.toShortStringWithFallback(_nameFallback);\n _version = version.toShortStringWithFallback(_versionFallback);\n _hashedName = keccak256(bytes(name));\n _hashedVersion = keccak256(bytes(version));\n\n _cachedChainId = block.chainid;\n _cachedDomainSeparator = _buildDomainSeparator();\n _cachedThis = address(this);\n }\n\n /**\n * @dev Returns the domain separator for the current chain.\n */\n function _domainSeparatorV4() internal view returns (bytes32) {\n if (address(this) == _cachedThis && block.chainid == _cachedChainId) {\n return _cachedDomainSeparator;\n } else {\n return _buildDomainSeparator();\n }\n }\n\n function _buildDomainSeparator() private view returns (bytes32) {\n return keccak256(abi.encode(TYPE_HASH, _hashedName, _hashedVersion, block.chainid, address(this)));\n }\n\n /**\n * @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this\n * function returns the hash of the fully encoded EIP712 message for this domain.\n *\n * This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example:\n *\n * ```solidity\n * bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(\n * keccak256(\"Mail(address to,string contents)\"),\n * mailTo,\n * keccak256(bytes(mailContents))\n * )));\n * address signer = ECDSA.recover(digest, signature);\n * ```\n */\n function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) {\n return MessageHashUtils.toTypedDataHash(_domainSeparatorV4(), structHash);\n }\n\n /// @inheritdoc IERC5267\n function eip712Domain()\n public\n view\n virtual\n returns (\n bytes1 fields,\n string memory name,\n string memory version,\n uint256 chainId,\n address verifyingContract,\n bytes32 salt,\n uint256[] memory extensions\n )\n {\n return (\n hex\"0f\", // 01111\n _EIP712Name(),\n _EIP712Version(),\n block.chainid,\n address(this),\n bytes32(0),\n new uint256[](0)\n );\n }\n\n /**\n * @dev The name parameter for the EIP712 domain.\n *\n * NOTE: By default this function reads _name which is an immutable value.\n * It only reads from storage if necessary (in case the value is too large to fit in a ShortString).\n */\n // solhint-disable-next-line func-name-mixedcase\n function _EIP712Name() internal view returns (string memory) {\n return _name.toStringWithFallback(_nameFallback);\n }\n\n /**\n * @dev The version parameter for the EIP712 domain.\n *\n * NOTE: By default this function reads _version which is an immutable value.\n * It only reads from storage if necessary (in case the value is too large to fit in a ShortString).\n */\n // solhint-disable-next-line func-name-mixedcase\n function _EIP712Version() internal view returns (string memory) {\n return _version.toStringWithFallback(_versionFallback);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (utils/cryptography/MessageHashUtils.sol)\n\npragma solidity ^0.8.24;\n\nimport {Strings} from \"../Strings.sol\";\n\n/**\n * @dev Signature message hash utilities for producing digests to be consumed by {ECDSA} recovery or signing.\n *\n * The library provides methods for generating a hash of a message that conforms to the\n * https://eips.ethereum.org/EIPS/eip-191[ERC-191] and https://eips.ethereum.org/EIPS/eip-712[EIP 712]\n * specifications.\n */\nlibrary MessageHashUtils {\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing a bytes32 `messageHash` with\n * `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n * hash signed when using the https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n * keccak256, although any bytes32 value can be safely used because the final digest will\n * be re-hashed.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(bytes32 messageHash) internal pure returns (bytes32 digest) {\n assembly (\"memory-safe\") {\n mstore(0x00, \"\\x19Ethereum Signed Message:\\n32\") // 32 is the bytes-length of messageHash\n mstore(0x1c, messageHash) // 0x1c (28) is the length of the prefix\n digest := keccak256(0x00, 0x3c) // 0x3c is the length of the prefix (0x1c) + messageHash (0x20)\n }\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing an arbitrary `message` with\n * `\"\\x19Ethereum Signed Message:\\n\" + len(message)` and hashing the result. It corresponds with the\n * hash signed when using the https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(bytes memory message) internal pure returns (bytes32) {\n return\n keccak256(bytes.concat(\"\\x19Ethereum Signed Message:\\n\", bytes(Strings.toString(message.length)), message));\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x00` (data with intended validator).\n *\n * The digest is calculated by prefixing an arbitrary `data` with `\"\\x19\\x00\"` and the intended\n * `validator` address. Then hashing the result.\n *\n * See {ECDSA-recover}.\n */\n function toDataWithIntendedValidatorHash(address validator, bytes memory data) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(hex\"19_00\", validator, data));\n }\n\n /**\n * @dev Variant of {toDataWithIntendedValidatorHash-address-bytes} optimized for cases where `data` is a bytes32.\n */\n function toDataWithIntendedValidatorHash(\n address validator,\n bytes32 messageHash\n ) internal pure returns (bytes32 digest) {\n assembly (\"memory-safe\") {\n mstore(0x00, hex\"19_00\")\n mstore(0x02, shl(96, validator))\n mstore(0x16, messageHash)\n digest := keccak256(0x00, 0x36)\n }\n }\n\n /**\n * @dev Returns the keccak256 digest of an EIP-712 typed data (ERC-191 version `0x01`).\n *\n * The digest is calculated from a `domainSeparator` and a `structHash`, by prefixing them with\n * `\\x19\\x01` and hashing the result. It corresponds to the hash signed by the\n * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] JSON-RPC method as part of EIP-712.\n *\n * See {ECDSA-recover}.\n */\n function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32 digest) {\n assembly (\"memory-safe\") {\n let ptr := mload(0x40)\n mstore(ptr, hex\"19_01\")\n mstore(add(ptr, 0x02), domainSeparator)\n mstore(add(ptr, 0x22), structHash)\n digest := keccak256(ptr, 0x42)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/introspection/IERC165.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[ERC].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.20;\n\nimport {Panic} from \"../Panic.sol\";\nimport {SafeCast} from \"./SafeCast.sol\";\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Floor, // Toward negative infinity\n Ceil, // Toward positive infinity\n Trunc, // Toward zero\n Expand // Away from zero\n }\n\n /**\n * @dev Return the 512-bit addition of two uint256.\n *\n * The result is stored in two 256 variables such that sum = high * 2²⁵⁶ + low.\n */\n function add512(uint256 a, uint256 b) internal pure returns (uint256 high, uint256 low) {\n assembly (\"memory-safe\") {\n low := add(a, b)\n high := lt(low, a)\n }\n }\n\n /**\n * @dev Return the 512-bit multiplication of two uint256.\n *\n * The result is stored in two 256 variables such that product = high * 2²⁵⁶ + low.\n */\n function mul512(uint256 a, uint256 b) internal pure returns (uint256 high, uint256 low) {\n // 512-bit multiply [high low] = x * y. Compute the product mod 2²⁵⁶ and mod 2²⁵⁶ - 1, then use\n // the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = high * 2²⁵⁶ + low.\n assembly (\"memory-safe\") {\n let mm := mulmod(a, b, not(0))\n low := mul(a, b)\n high := sub(sub(mm, low), lt(mm, low))\n }\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, with a success flag (no overflow).\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a + b;\n success = c >= a;\n result = c * SafeCast.toUint(success);\n }\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, with a success flag (no overflow).\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a - b;\n success = c <= a;\n result = c * SafeCast.toUint(success);\n }\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with a success flag (no overflow).\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a * b;\n assembly (\"memory-safe\") {\n // Only true when the multiplication doesn't overflow\n // (c / a == b) || (a == 0)\n success := or(eq(div(c, a), b), iszero(a))\n }\n // equivalent to: success ? c : 0\n result = c * SafeCast.toUint(success);\n }\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a success flag (no division by zero).\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n success = b > 0;\n assembly (\"memory-safe\") {\n // The `DIV` opcode returns zero when the denominator is 0.\n result := div(a, b)\n }\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a success flag (no division by zero).\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n success = b > 0;\n assembly (\"memory-safe\") {\n // The `MOD` opcode returns zero when the denominator is 0.\n result := mod(a, b)\n }\n }\n }\n\n /**\n * @dev Unsigned saturating addition, bounds to `2²⁵⁶ - 1` instead of overflowing.\n */\n function saturatingAdd(uint256 a, uint256 b) internal pure returns (uint256) {\n (bool success, uint256 result) = tryAdd(a, b);\n return ternary(success, result, type(uint256).max);\n }\n\n /**\n * @dev Unsigned saturating subtraction, bounds to zero instead of overflowing.\n */\n function saturatingSub(uint256 a, uint256 b) internal pure returns (uint256) {\n (, uint256 result) = trySub(a, b);\n return result;\n }\n\n /**\n * @dev Unsigned saturating multiplication, bounds to `2²⁵⁶ - 1` instead of overflowing.\n */\n function saturatingMul(uint256 a, uint256 b) internal pure returns (uint256) {\n (bool success, uint256 result) = tryMul(a, b);\n return ternary(success, result, type(uint256).max);\n }\n\n /**\n * @dev Branchless ternary evaluation for `condition ? a : b`. Gas costs are constant.\n *\n * IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n * However, the compiler may optimize Solidity ternary operations (i.e. `condition ? a : b`) to only compute\n * one branch when needed, making this function more expensive.\n */\n function ternary(bool condition, uint256 a, uint256 b) internal pure returns (uint256) {\n unchecked {\n // branchless ternary works because:\n // b ^ (a ^ b) == a\n // b ^ 0 == b\n return b ^ ((a ^ b) * SafeCast.toUint(condition));\n }\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return ternary(a > b, a, b);\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return ternary(a < b, a, b);\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds towards infinity instead\n * of rounding towards zero.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n if (b == 0) {\n // Guarantee the same behavior as in a regular Solidity division.\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n\n // The following calculation ensures accurate ceiling division without overflow.\n // Since a is non-zero, (a - 1) / b will not overflow.\n // The largest possible result occurs when (a - 1) / b is type(uint256).max,\n // but the largest value we can obtain is type(uint256).max - 1, which happens\n // when a = type(uint256).max and b = 1.\n unchecked {\n return SafeCast.toUint(a > 0) * ((a - 1) / b + 1);\n }\n }\n\n /**\n * @dev Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n * denominator == 0.\n *\n * Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n * Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n (uint256 high, uint256 low) = mul512(x, y);\n\n // Handle non-overflow cases, 256 by 256 division.\n if (high == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return low / denominator;\n }\n\n // Make sure the result is less than 2²⁵⁶. Also prevents denominator == 0.\n if (denominator <= high) {\n Panic.panic(ternary(denominator == 0, Panic.DIVISION_BY_ZERO, Panic.UNDER_OVERFLOW));\n }\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [high low].\n uint256 remainder;\n assembly (\"memory-safe\") {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n high := sub(high, gt(remainder, low))\n low := sub(low, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator.\n // Always >= 1. See https://cs.stackexchange.com/q/138556/92363.\n\n uint256 twos = denominator & (0 - denominator);\n assembly (\"memory-safe\") {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [high low] by twos.\n low := div(low, twos)\n\n // Flip twos such that it is 2²⁵⁶ / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from high into low.\n low |= high * twos;\n\n // Invert denominator mod 2²⁵⁶. Now that denominator is an odd number, it has an inverse modulo 2²⁵⁶ such\n // that denominator * inv ≡ 1 mod 2²⁵⁶. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv ≡ 1 mod 2⁴.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also\n // works in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2⁸\n inverse *= 2 - denominator * inverse; // inverse mod 2¹⁶\n inverse *= 2 - denominator * inverse; // inverse mod 2³²\n inverse *= 2 - denominator * inverse; // inverse mod 2⁶⁴\n inverse *= 2 - denominator * inverse; // inverse mod 2¹²⁸\n inverse *= 2 - denominator * inverse; // inverse mod 2²⁵⁶\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2²⁵⁶. Since the preconditions guarantee that the outcome is\n // less than 2²⁵⁶, this is the final result. We don't need to compute the high bits of the result and high\n // is no longer required.\n result = low * inverse;\n return result;\n }\n }\n\n /**\n * @dev Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n return mulDiv(x, y, denominator) + SafeCast.toUint(unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0);\n }\n\n /**\n * @dev Calculates floor(x * y >> n) with full precision. Throws if result overflows a uint256.\n */\n function mulShr(uint256 x, uint256 y, uint8 n) internal pure returns (uint256 result) {\n unchecked {\n (uint256 high, uint256 low) = mul512(x, y);\n if (high >= 1 << n) {\n Panic.panic(Panic.UNDER_OVERFLOW);\n }\n return (high << (256 - n)) | (low >> n);\n }\n }\n\n /**\n * @dev Calculates x * y >> n with full precision, following the selected rounding direction.\n */\n function mulShr(uint256 x, uint256 y, uint8 n, Rounding rounding) internal pure returns (uint256) {\n return mulShr(x, y, n) + SafeCast.toUint(unsignedRoundsUp(rounding) && mulmod(x, y, 1 << n) > 0);\n }\n\n /**\n * @dev Calculate the modular multiplicative inverse of a number in Z/nZ.\n *\n * If n is a prime, then Z/nZ is a field. In that case all elements are inversible, except 0.\n * If n is not a prime, then Z/nZ is not a field, and some elements might not be inversible.\n *\n * If the input value is not inversible, 0 is returned.\n *\n * NOTE: If you know for sure that n is (big) a prime, it may be cheaper to use Fermat's little theorem and get the\n * inverse using `Math.modExp(a, n - 2, n)`. See {invModPrime}.\n */\n function invMod(uint256 a, uint256 n) internal pure returns (uint256) {\n unchecked {\n if (n == 0) return 0;\n\n // The inverse modulo is calculated using the Extended Euclidean Algorithm (iterative version)\n // Used to compute integers x and y such that: ax + ny = gcd(a, n).\n // When the gcd is 1, then the inverse of a modulo n exists and it's x.\n // ax + ny = 1\n // ax = 1 + (-y)n\n // ax ≡ 1 (mod n) # x is the inverse of a modulo n\n\n // If the remainder is 0 the gcd is n right away.\n uint256 remainder = a % n;\n uint256 gcd = n;\n\n // Therefore the initial coefficients are:\n // ax + ny = gcd(a, n) = n\n // 0a + 1n = n\n int256 x = 0;\n int256 y = 1;\n\n while (remainder != 0) {\n uint256 quotient = gcd / remainder;\n\n (gcd, remainder) = (\n // The old remainder is the next gcd to try.\n remainder,\n // Compute the next remainder.\n // Can't overflow given that (a % gcd) * (gcd // (a % gcd)) <= gcd\n // where gcd is at most n (capped to type(uint256).max)\n gcd - remainder * quotient\n );\n\n (x, y) = (\n // Increment the coefficient of a.\n y,\n // Decrement the coefficient of n.\n // Can overflow, but the result is casted to uint256 so that the\n // next value of y is \"wrapped around\" to a value between 0 and n - 1.\n x - y * int256(quotient)\n );\n }\n\n if (gcd != 1) return 0; // No inverse exists.\n return ternary(x < 0, n - uint256(-x), uint256(x)); // Wrap the result if it's negative.\n }\n }\n\n /**\n * @dev Variant of {invMod}. More efficient, but only works if `p` is known to be a prime greater than `2`.\n *\n * From https://en.wikipedia.org/wiki/Fermat%27s_little_theorem[Fermat's little theorem], we know that if p is\n * prime, then `a**(p-1) ≡ 1 mod p`. As a consequence, we have `a * a**(p-2) ≡ 1 mod p`, which means that\n * `a**(p-2)` is the modular multiplicative inverse of a in Fp.\n *\n * NOTE: this function does NOT check that `p` is a prime greater than `2`.\n */\n function invModPrime(uint256 a, uint256 p) internal view returns (uint256) {\n unchecked {\n return Math.modExp(a, p - 2, p);\n }\n }\n\n /**\n * @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m)\n *\n * Requirements:\n * - modulus can't be zero\n * - underlying staticcall to precompile must succeed\n *\n * IMPORTANT: The result is only valid if the underlying call succeeds. When using this function, make\n * sure the chain you're using it on supports the precompiled contract for modular exponentiation\n * at address 0x05 as specified in https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise,\n * the underlying function will succeed given the lack of a revert, but the result may be incorrectly\n * interpreted as 0.\n */\n function modExp(uint256 b, uint256 e, uint256 m) internal view returns (uint256) {\n (bool success, uint256 result) = tryModExp(b, e, m);\n if (!success) {\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n return result;\n }\n\n /**\n * @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m).\n * It includes a success flag indicating if the operation succeeded. Operation will be marked as failed if trying\n * to operate modulo 0 or if the underlying precompile reverted.\n *\n * IMPORTANT: The result is only valid if the success flag is true. When using this function, make sure the chain\n * you're using it on supports the precompiled contract for modular exponentiation at address 0x05 as specified in\n * https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise, the underlying function will succeed given the lack\n * of a revert, but the result may be incorrectly interpreted as 0.\n */\n function tryModExp(uint256 b, uint256 e, uint256 m) internal view returns (bool success, uint256 result) {\n if (m == 0) return (false, 0);\n assembly (\"memory-safe\") {\n let ptr := mload(0x40)\n // | Offset | Content | Content (Hex) |\n // |-----------|------------|--------------------------------------------------------------------|\n // | 0x00:0x1f | size of b | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x20:0x3f | size of e | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x40:0x5f | size of m | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x60:0x7f | value of b | 0x<.............................................................b> |\n // | 0x80:0x9f | value of e | 0x<.............................................................e> |\n // | 0xa0:0xbf | value of m | 0x<.............................................................m> |\n mstore(ptr, 0x20)\n mstore(add(ptr, 0x20), 0x20)\n mstore(add(ptr, 0x40), 0x20)\n mstore(add(ptr, 0x60), b)\n mstore(add(ptr, 0x80), e)\n mstore(add(ptr, 0xa0), m)\n\n // Given the result < m, it's guaranteed to fit in 32 bytes,\n // so we can use the memory scratch space located at offset 0.\n success := staticcall(gas(), 0x05, ptr, 0xc0, 0x00, 0x20)\n result := mload(0x00)\n }\n }\n\n /**\n * @dev Variant of {modExp} that supports inputs of arbitrary length.\n */\n function modExp(bytes memory b, bytes memory e, bytes memory m) internal view returns (bytes memory) {\n (bool success, bytes memory result) = tryModExp(b, e, m);\n if (!success) {\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n return result;\n }\n\n /**\n * @dev Variant of {tryModExp} that supports inputs of arbitrary length.\n */\n function tryModExp(\n bytes memory b,\n bytes memory e,\n bytes memory m\n ) internal view returns (bool success, bytes memory result) {\n if (_zeroBytes(m)) return (false, new bytes(0));\n\n uint256 mLen = m.length;\n\n // Encode call args in result and move the free memory pointer\n result = abi.encodePacked(b.length, e.length, mLen, b, e, m);\n\n assembly (\"memory-safe\") {\n let dataPtr := add(result, 0x20)\n // Write result on top of args to avoid allocating extra memory.\n success := staticcall(gas(), 0x05, dataPtr, mload(result), dataPtr, mLen)\n // Overwrite the length.\n // result.length > returndatasize() is guaranteed because returndatasize() == m.length\n mstore(result, mLen)\n // Set the memory pointer after the returned data.\n mstore(0x40, add(dataPtr, mLen))\n }\n }\n\n /**\n * @dev Returns whether the provided byte array is zero.\n */\n function _zeroBytes(bytes memory byteArray) private pure returns (bool) {\n for (uint256 i = 0; i < byteArray.length; ++i) {\n if (byteArray[i] != 0) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n * towards zero.\n *\n * This method is based on Newton's method for computing square roots; the algorithm is restricted to only\n * using integer operations.\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n unchecked {\n // Take care of easy edge cases when a == 0 or a == 1\n if (a <= 1) {\n return a;\n }\n\n // In this function, we use Newton's method to get a root of `f(x) := x² - a`. It involves building a\n // sequence x_n that converges toward sqrt(a). For each iteration x_n, we also define the error between\n // the current value as `ε_n = | x_n - sqrt(a) |`.\n //\n // For our first estimation, we consider `e` the smallest power of 2 which is bigger than the square root\n // of the target. (i.e. `2**(e-1) ≤ sqrt(a) < 2**e`). We know that `e ≤ 128` because `(2¹²⁸)² = 2²⁵⁶` is\n // bigger than any uint256.\n //\n // By noticing that\n // `2**(e-1) ≤ sqrt(a) < 2**e → (2**(e-1))² ≤ a < (2**e)² → 2**(2*e-2) ≤ a < 2**(2*e)`\n // we can deduce that `e - 1` is `log2(a) / 2`. We can thus compute `x_n = 2**(e-1)` using a method similar\n // to the msb function.\n uint256 aa = a;\n uint256 xn = 1;\n\n if (aa >= (1 << 128)) {\n aa >>= 128;\n xn <<= 64;\n }\n if (aa >= (1 << 64)) {\n aa >>= 64;\n xn <<= 32;\n }\n if (aa >= (1 << 32)) {\n aa >>= 32;\n xn <<= 16;\n }\n if (aa >= (1 << 16)) {\n aa >>= 16;\n xn <<= 8;\n }\n if (aa >= (1 << 8)) {\n aa >>= 8;\n xn <<= 4;\n }\n if (aa >= (1 << 4)) {\n aa >>= 4;\n xn <<= 2;\n }\n if (aa >= (1 << 2)) {\n xn <<= 1;\n }\n\n // We now have x_n such that `x_n = 2**(e-1) ≤ sqrt(a) < 2**e = 2 * x_n`. This implies ε_n ≤ 2**(e-1).\n //\n // We can refine our estimation by noticing that the middle of that interval minimizes the error.\n // If we move x_n to equal 2**(e-1) + 2**(e-2), then we reduce the error to ε_n ≤ 2**(e-2).\n // This is going to be our x_0 (and ε_0)\n xn = (3 * xn) >> 1; // ε_0 := | x_0 - sqrt(a) | ≤ 2**(e-2)\n\n // From here, Newton's method give us:\n // x_{n+1} = (x_n + a / x_n) / 2\n //\n // One should note that:\n // x_{n+1}² - a = ((x_n + a / x_n) / 2)² - a\n // = ((x_n² + a) / (2 * x_n))² - a\n // = (x_n⁴ + 2 * a * x_n² + a²) / (4 * x_n²) - a\n // = (x_n⁴ + 2 * a * x_n² + a² - 4 * a * x_n²) / (4 * x_n²)\n // = (x_n⁴ - 2 * a * x_n² + a²) / (4 * x_n²)\n // = (x_n² - a)² / (2 * x_n)²\n // = ((x_n² - a) / (2 * x_n))²\n // ≥ 0\n // Which proves that for all n ≥ 1, sqrt(a) ≤ x_n\n //\n // This gives us the proof of quadratic convergence of the sequence:\n // ε_{n+1} = | x_{n+1} - sqrt(a) |\n // = | (x_n + a / x_n) / 2 - sqrt(a) |\n // = | (x_n² + a - 2*x_n*sqrt(a)) / (2 * x_n) |\n // = | (x_n - sqrt(a))² / (2 * x_n) |\n // = | ε_n² / (2 * x_n) |\n // = ε_n² / | (2 * x_n) |\n //\n // For the first iteration, we have a special case where x_0 is known:\n // ε_1 = ε_0² / | (2 * x_0) |\n // ≤ (2**(e-2))² / (2 * (2**(e-1) + 2**(e-2)))\n // ≤ 2**(2*e-4) / (3 * 2**(e-1))\n // ≤ 2**(e-3) / 3\n // ≤ 2**(e-3-log2(3))\n // ≤ 2**(e-4.5)\n //\n // For the following iterations, we use the fact that, 2**(e-1) ≤ sqrt(a) ≤ x_n:\n // ε_{n+1} = ε_n² / | (2 * x_n) |\n // ≤ (2**(e-k))² / (2 * 2**(e-1))\n // ≤ 2**(2*e-2*k) / 2**e\n // ≤ 2**(e-2*k)\n xn = (xn + a / xn) >> 1; // ε_1 := | x_1 - sqrt(a) | ≤ 2**(e-4.5) -- special case, see above\n xn = (xn + a / xn) >> 1; // ε_2 := | x_2 - sqrt(a) | ≤ 2**(e-9) -- general case with k = 4.5\n xn = (xn + a / xn) >> 1; // ε_3 := | x_3 - sqrt(a) | ≤ 2**(e-18) -- general case with k = 9\n xn = (xn + a / xn) >> 1; // ε_4 := | x_4 - sqrt(a) | ≤ 2**(e-36) -- general case with k = 18\n xn = (xn + a / xn) >> 1; // ε_5 := | x_5 - sqrt(a) | ≤ 2**(e-72) -- general case with k = 36\n xn = (xn + a / xn) >> 1; // ε_6 := | x_6 - sqrt(a) | ≤ 2**(e-144) -- general case with k = 72\n\n // Because e ≤ 128 (as discussed during the first estimation phase), we know have reached a precision\n // ε_6 ≤ 2**(e-144) < 1. Given we're operating on integers, then we can ensure that xn is now either\n // sqrt(a) or sqrt(a) + 1.\n return xn - SafeCast.toUint(xn > a / xn);\n }\n }\n\n /**\n * @dev Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && result * result < a);\n }\n }\n\n /**\n * @dev Return the log in base 2 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log2(uint256 x) internal pure returns (uint256 r) {\n // If value has upper 128 bits set, log2 result is at least 128\n r = SafeCast.toUint(x > 0xffffffffffffffffffffffffffffffff) << 7;\n // If upper 64 bits of 128-bit half set, add 64 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffffffffffff) << 6;\n // If upper 32 bits of 64-bit half set, add 32 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffff) << 5;\n // If upper 16 bits of 32-bit half set, add 16 to result\n r |= SafeCast.toUint((x >> r) > 0xffff) << 4;\n // If upper 8 bits of 16-bit half set, add 8 to result\n r |= SafeCast.toUint((x >> r) > 0xff) << 3;\n // If upper 4 bits of 8-bit half set, add 4 to result\n r |= SafeCast.toUint((x >> r) > 0xf) << 2;\n\n // Shifts value right by the current result and use it as an index into this lookup table:\n //\n // | x (4 bits) | index | table[index] = MSB position |\n // |------------|---------|-----------------------------|\n // | 0000 | 0 | table[0] = 0 |\n // | 0001 | 1 | table[1] = 0 |\n // | 0010 | 2 | table[2] = 1 |\n // | 0011 | 3 | table[3] = 1 |\n // | 0100 | 4 | table[4] = 2 |\n // | 0101 | 5 | table[5] = 2 |\n // | 0110 | 6 | table[6] = 2 |\n // | 0111 | 7 | table[7] = 2 |\n // | 1000 | 8 | table[8] = 3 |\n // | 1001 | 9 | table[9] = 3 |\n // | 1010 | 10 | table[10] = 3 |\n // | 1011 | 11 | table[11] = 3 |\n // | 1100 | 12 | table[12] = 3 |\n // | 1101 | 13 | table[13] = 3 |\n // | 1110 | 14 | table[14] = 3 |\n // | 1111 | 15 | table[15] = 3 |\n //\n // The lookup table is represented as a 32-byte value with the MSB positions for 0-15 in the last 16 bytes.\n assembly (\"memory-safe\") {\n r := or(r, byte(shr(r, x), 0x0000010102020202030303030303030300000000000000000000000000000000))\n }\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 1 << result < value);\n }\n }\n\n /**\n * @dev Return the log in base 10 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 10 ** result < value);\n }\n }\n\n /**\n * @dev Return the log in base 256 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 x) internal pure returns (uint256 r) {\n // If value has upper 128 bits set, log2 result is at least 128\n r = SafeCast.toUint(x > 0xffffffffffffffffffffffffffffffff) << 7;\n // If upper 64 bits of 128-bit half set, add 64 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffffffffffff) << 6;\n // If upper 32 bits of 64-bit half set, add 32 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffff) << 5;\n // If upper 16 bits of 32-bit half set, add 16 to result\n r |= SafeCast.toUint((x >> r) > 0xffff) << 4;\n // Add 1 if upper 8 bits of 16-bit half set, and divide accumulated result by 8\n return (r >> 3) | SafeCast.toUint((x >> r) > 0xff);\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 1 << (result << 3) < value);\n }\n }\n\n /**\n * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers.\n */\n function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) {\n return uint8(rounding) % 2 == 1;\n }\n\n /**\n * @dev Counts the number of leading zero bits in a uint256.\n */\n function clz(uint256 x) internal pure returns (uint256) {\n return ternary(x == 0, 256, 255 - log2(x));\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SafeCast.sol)\n// This file was procedurally generated from scripts/generate/templates/SafeCast.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow\n * checks.\n *\n * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n * easily result in undesired exploitation or bugs, since developers usually\n * assume that overflows raise errors. `SafeCast` restores this intuition by\n * reverting the transaction when such an operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeCast {\n /**\n * @dev Value doesn't fit in an uint of `bits` size.\n */\n error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value);\n\n /**\n * @dev An int value doesn't fit in an uint of `bits` size.\n */\n error SafeCastOverflowedIntToUint(int256 value);\n\n /**\n * @dev Value doesn't fit in an int of `bits` size.\n */\n error SafeCastOverflowedIntDowncast(uint8 bits, int256 value);\n\n /**\n * @dev An uint value doesn't fit in an int of `bits` size.\n */\n error SafeCastOverflowedUintToInt(uint256 value);\n\n /**\n * @dev Returns the downcasted uint248 from uint256, reverting on\n * overflow (when the input is greater than largest uint248).\n *\n * Counterpart to Solidity's `uint248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n */\n function toUint248(uint256 value) internal pure returns (uint248) {\n if (value > type(uint248).max) {\n revert SafeCastOverflowedUintDowncast(248, value);\n }\n return uint248(value);\n }\n\n /**\n * @dev Returns the downcasted uint240 from uint256, reverting on\n * overflow (when the input is greater than largest uint240).\n *\n * Counterpart to Solidity's `uint240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n */\n function toUint240(uint256 value) internal pure returns (uint240) {\n if (value > type(uint240).max) {\n revert SafeCastOverflowedUintDowncast(240, value);\n }\n return uint240(value);\n }\n\n /**\n * @dev Returns the downcasted uint232 from uint256, reverting on\n * overflow (when the input is greater than largest uint232).\n *\n * Counterpart to Solidity's `uint232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n */\n function toUint232(uint256 value) internal pure returns (uint232) {\n if (value > type(uint232).max) {\n revert SafeCastOverflowedUintDowncast(232, value);\n }\n return uint232(value);\n }\n\n /**\n * @dev Returns the downcasted uint224 from uint256, reverting on\n * overflow (when the input is greater than largest uint224).\n *\n * Counterpart to Solidity's `uint224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n */\n function toUint224(uint256 value) internal pure returns (uint224) {\n if (value > type(uint224).max) {\n revert SafeCastOverflowedUintDowncast(224, value);\n }\n return uint224(value);\n }\n\n /**\n * @dev Returns the downcasted uint216 from uint256, reverting on\n * overflow (when the input is greater than largest uint216).\n *\n * Counterpart to Solidity's `uint216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n */\n function toUint216(uint256 value) internal pure returns (uint216) {\n if (value > type(uint216).max) {\n revert SafeCastOverflowedUintDowncast(216, value);\n }\n return uint216(value);\n }\n\n /**\n * @dev Returns the downcasted uint208 from uint256, reverting on\n * overflow (when the input is greater than largest uint208).\n *\n * Counterpart to Solidity's `uint208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n */\n function toUint208(uint256 value) internal pure returns (uint208) {\n if (value > type(uint208).max) {\n revert SafeCastOverflowedUintDowncast(208, value);\n }\n return uint208(value);\n }\n\n /**\n * @dev Returns the downcasted uint200 from uint256, reverting on\n * overflow (when the input is greater than largest uint200).\n *\n * Counterpart to Solidity's `uint200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n */\n function toUint200(uint256 value) internal pure returns (uint200) {\n if (value > type(uint200).max) {\n revert SafeCastOverflowedUintDowncast(200, value);\n }\n return uint200(value);\n }\n\n /**\n * @dev Returns the downcasted uint192 from uint256, reverting on\n * overflow (when the input is greater than largest uint192).\n *\n * Counterpart to Solidity's `uint192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n */\n function toUint192(uint256 value) internal pure returns (uint192) {\n if (value > type(uint192).max) {\n revert SafeCastOverflowedUintDowncast(192, value);\n }\n return uint192(value);\n }\n\n /**\n * @dev Returns the downcasted uint184 from uint256, reverting on\n * overflow (when the input is greater than largest uint184).\n *\n * Counterpart to Solidity's `uint184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n */\n function toUint184(uint256 value) internal pure returns (uint184) {\n if (value > type(uint184).max) {\n revert SafeCastOverflowedUintDowncast(184, value);\n }\n return uint184(value);\n }\n\n /**\n * @dev Returns the downcasted uint176 from uint256, reverting on\n * overflow (when the input is greater than largest uint176).\n *\n * Counterpart to Solidity's `uint176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n */\n function toUint176(uint256 value) internal pure returns (uint176) {\n if (value > type(uint176).max) {\n revert SafeCastOverflowedUintDowncast(176, value);\n }\n return uint176(value);\n }\n\n /**\n * @dev Returns the downcasted uint168 from uint256, reverting on\n * overflow (when the input is greater than largest uint168).\n *\n * Counterpart to Solidity's `uint168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n */\n function toUint168(uint256 value) internal pure returns (uint168) {\n if (value > type(uint168).max) {\n revert SafeCastOverflowedUintDowncast(168, value);\n }\n return uint168(value);\n }\n\n /**\n * @dev Returns the downcasted uint160 from uint256, reverting on\n * overflow (when the input is greater than largest uint160).\n *\n * Counterpart to Solidity's `uint160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n */\n function toUint160(uint256 value) internal pure returns (uint160) {\n if (value > type(uint160).max) {\n revert SafeCastOverflowedUintDowncast(160, value);\n }\n return uint160(value);\n }\n\n /**\n * @dev Returns the downcasted uint152 from uint256, reverting on\n * overflow (when the input is greater than largest uint152).\n *\n * Counterpart to Solidity's `uint152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n */\n function toUint152(uint256 value) internal pure returns (uint152) {\n if (value > type(uint152).max) {\n revert SafeCastOverflowedUintDowncast(152, value);\n }\n return uint152(value);\n }\n\n /**\n * @dev Returns the downcasted uint144 from uint256, reverting on\n * overflow (when the input is greater than largest uint144).\n *\n * Counterpart to Solidity's `uint144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n */\n function toUint144(uint256 value) internal pure returns (uint144) {\n if (value > type(uint144).max) {\n revert SafeCastOverflowedUintDowncast(144, value);\n }\n return uint144(value);\n }\n\n /**\n * @dev Returns the downcasted uint136 from uint256, reverting on\n * overflow (when the input is greater than largest uint136).\n *\n * Counterpart to Solidity's `uint136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n */\n function toUint136(uint256 value) internal pure returns (uint136) {\n if (value > type(uint136).max) {\n revert SafeCastOverflowedUintDowncast(136, value);\n }\n return uint136(value);\n }\n\n /**\n * @dev Returns the downcasted uint128 from uint256, reverting on\n * overflow (when the input is greater than largest uint128).\n *\n * Counterpart to Solidity's `uint128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n */\n function toUint128(uint256 value) internal pure returns (uint128) {\n if (value > type(uint128).max) {\n revert SafeCastOverflowedUintDowncast(128, value);\n }\n return uint128(value);\n }\n\n /**\n * @dev Returns the downcasted uint120 from uint256, reverting on\n * overflow (when the input is greater than largest uint120).\n *\n * Counterpart to Solidity's `uint120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n */\n function toUint120(uint256 value) internal pure returns (uint120) {\n if (value > type(uint120).max) {\n revert SafeCastOverflowedUintDowncast(120, value);\n }\n return uint120(value);\n }\n\n /**\n * @dev Returns the downcasted uint112 from uint256, reverting on\n * overflow (when the input is greater than largest uint112).\n *\n * Counterpart to Solidity's `uint112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n */\n function toUint112(uint256 value) internal pure returns (uint112) {\n if (value > type(uint112).max) {\n revert SafeCastOverflowedUintDowncast(112, value);\n }\n return uint112(value);\n }\n\n /**\n * @dev Returns the downcasted uint104 from uint256, reverting on\n * overflow (when the input is greater than largest uint104).\n *\n * Counterpart to Solidity's `uint104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n */\n function toUint104(uint256 value) internal pure returns (uint104) {\n if (value > type(uint104).max) {\n revert SafeCastOverflowedUintDowncast(104, value);\n }\n return uint104(value);\n }\n\n /**\n * @dev Returns the downcasted uint96 from uint256, reverting on\n * overflow (when the input is greater than largest uint96).\n *\n * Counterpart to Solidity's `uint96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n */\n function toUint96(uint256 value) internal pure returns (uint96) {\n if (value > type(uint96).max) {\n revert SafeCastOverflowedUintDowncast(96, value);\n }\n return uint96(value);\n }\n\n /**\n * @dev Returns the downcasted uint88 from uint256, reverting on\n * overflow (when the input is greater than largest uint88).\n *\n * Counterpart to Solidity's `uint88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n */\n function toUint88(uint256 value) internal pure returns (uint88) {\n if (value > type(uint88).max) {\n revert SafeCastOverflowedUintDowncast(88, value);\n }\n return uint88(value);\n }\n\n /**\n * @dev Returns the downcasted uint80 from uint256, reverting on\n * overflow (when the input is greater than largest uint80).\n *\n * Counterpart to Solidity's `uint80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n */\n function toUint80(uint256 value) internal pure returns (uint80) {\n if (value > type(uint80).max) {\n revert SafeCastOverflowedUintDowncast(80, value);\n }\n return uint80(value);\n }\n\n /**\n * @dev Returns the downcasted uint72 from uint256, reverting on\n * overflow (when the input is greater than largest uint72).\n *\n * Counterpart to Solidity's `uint72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n */\n function toUint72(uint256 value) internal pure returns (uint72) {\n if (value > type(uint72).max) {\n revert SafeCastOverflowedUintDowncast(72, value);\n }\n return uint72(value);\n }\n\n /**\n * @dev Returns the downcasted uint64 from uint256, reverting on\n * overflow (when the input is greater than largest uint64).\n *\n * Counterpart to Solidity's `uint64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n */\n function toUint64(uint256 value) internal pure returns (uint64) {\n if (value > type(uint64).max) {\n revert SafeCastOverflowedUintDowncast(64, value);\n }\n return uint64(value);\n }\n\n /**\n * @dev Returns the downcasted uint56 from uint256, reverting on\n * overflow (when the input is greater than largest uint56).\n *\n * Counterpart to Solidity's `uint56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n */\n function toUint56(uint256 value) internal pure returns (uint56) {\n if (value > type(uint56).max) {\n revert SafeCastOverflowedUintDowncast(56, value);\n }\n return uint56(value);\n }\n\n /**\n * @dev Returns the downcasted uint48 from uint256, reverting on\n * overflow (when the input is greater than largest uint48).\n *\n * Counterpart to Solidity's `uint48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n */\n function toUint48(uint256 value) internal pure returns (uint48) {\n if (value > type(uint48).max) {\n revert SafeCastOverflowedUintDowncast(48, value);\n }\n return uint48(value);\n }\n\n /**\n * @dev Returns the downcasted uint40 from uint256, reverting on\n * overflow (when the input is greater than largest uint40).\n *\n * Counterpart to Solidity's `uint40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n */\n function toUint40(uint256 value) internal pure returns (uint40) {\n if (value > type(uint40).max) {\n revert SafeCastOverflowedUintDowncast(40, value);\n }\n return uint40(value);\n }\n\n /**\n * @dev Returns the downcasted uint32 from uint256, reverting on\n * overflow (when the input is greater than largest uint32).\n *\n * Counterpart to Solidity's `uint32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n */\n function toUint32(uint256 value) internal pure returns (uint32) {\n if (value > type(uint32).max) {\n revert SafeCastOverflowedUintDowncast(32, value);\n }\n return uint32(value);\n }\n\n /**\n * @dev Returns the downcasted uint24 from uint256, reverting on\n * overflow (when the input is greater than largest uint24).\n *\n * Counterpart to Solidity's `uint24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n */\n function toUint24(uint256 value) internal pure returns (uint24) {\n if (value > type(uint24).max) {\n revert SafeCastOverflowedUintDowncast(24, value);\n }\n return uint24(value);\n }\n\n /**\n * @dev Returns the downcasted uint16 from uint256, reverting on\n * overflow (when the input is greater than largest uint16).\n *\n * Counterpart to Solidity's `uint16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n */\n function toUint16(uint256 value) internal pure returns (uint16) {\n if (value > type(uint16).max) {\n revert SafeCastOverflowedUintDowncast(16, value);\n }\n return uint16(value);\n }\n\n /**\n * @dev Returns the downcasted uint8 from uint256, reverting on\n * overflow (when the input is greater than largest uint8).\n *\n * Counterpart to Solidity's `uint8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n */\n function toUint8(uint256 value) internal pure returns (uint8) {\n if (value > type(uint8).max) {\n revert SafeCastOverflowedUintDowncast(8, value);\n }\n return uint8(value);\n }\n\n /**\n * @dev Converts a signed int256 into an unsigned uint256.\n *\n * Requirements:\n *\n * - input must be greater than or equal to 0.\n */\n function toUint256(int256 value) internal pure returns (uint256) {\n if (value < 0) {\n revert SafeCastOverflowedIntToUint(value);\n }\n return uint256(value);\n }\n\n /**\n * @dev Returns the downcasted int248 from int256, reverting on\n * overflow (when the input is less than smallest int248 or\n * greater than largest int248).\n *\n * Counterpart to Solidity's `int248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n */\n function toInt248(int256 value) internal pure returns (int248 downcasted) {\n downcasted = int248(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(248, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int240 from int256, reverting on\n * overflow (when the input is less than smallest int240 or\n * greater than largest int240).\n *\n * Counterpart to Solidity's `int240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n */\n function toInt240(int256 value) internal pure returns (int240 downcasted) {\n downcasted = int240(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(240, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int232 from int256, reverting on\n * overflow (when the input is less than smallest int232 or\n * greater than largest int232).\n *\n * Counterpart to Solidity's `int232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n */\n function toInt232(int256 value) internal pure returns (int232 downcasted) {\n downcasted = int232(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(232, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int224 from int256, reverting on\n * overflow (when the input is less than smallest int224 or\n * greater than largest int224).\n *\n * Counterpart to Solidity's `int224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n */\n function toInt224(int256 value) internal pure returns (int224 downcasted) {\n downcasted = int224(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(224, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int216 from int256, reverting on\n * overflow (when the input is less than smallest int216 or\n * greater than largest int216).\n *\n * Counterpart to Solidity's `int216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n */\n function toInt216(int256 value) internal pure returns (int216 downcasted) {\n downcasted = int216(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(216, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int208 from int256, reverting on\n * overflow (when the input is less than smallest int208 or\n * greater than largest int208).\n *\n * Counterpart to Solidity's `int208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n */\n function toInt208(int256 value) internal pure returns (int208 downcasted) {\n downcasted = int208(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(208, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int200 from int256, reverting on\n * overflow (when the input is less than smallest int200 or\n * greater than largest int200).\n *\n * Counterpart to Solidity's `int200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n */\n function toInt200(int256 value) internal pure returns (int200 downcasted) {\n downcasted = int200(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(200, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int192 from int256, reverting on\n * overflow (when the input is less than smallest int192 or\n * greater than largest int192).\n *\n * Counterpart to Solidity's `int192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n */\n function toInt192(int256 value) internal pure returns (int192 downcasted) {\n downcasted = int192(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(192, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int184 from int256, reverting on\n * overflow (when the input is less than smallest int184 or\n * greater than largest int184).\n *\n * Counterpart to Solidity's `int184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n */\n function toInt184(int256 value) internal pure returns (int184 downcasted) {\n downcasted = int184(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(184, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int176 from int256, reverting on\n * overflow (when the input is less than smallest int176 or\n * greater than largest int176).\n *\n * Counterpart to Solidity's `int176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n */\n function toInt176(int256 value) internal pure returns (int176 downcasted) {\n downcasted = int176(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(176, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int168 from int256, reverting on\n * overflow (when the input is less than smallest int168 or\n * greater than largest int168).\n *\n * Counterpart to Solidity's `int168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n */\n function toInt168(int256 value) internal pure returns (int168 downcasted) {\n downcasted = int168(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(168, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int160 from int256, reverting on\n * overflow (when the input is less than smallest int160 or\n * greater than largest int160).\n *\n * Counterpart to Solidity's `int160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n */\n function toInt160(int256 value) internal pure returns (int160 downcasted) {\n downcasted = int160(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(160, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int152 from int256, reverting on\n * overflow (when the input is less than smallest int152 or\n * greater than largest int152).\n *\n * Counterpart to Solidity's `int152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n */\n function toInt152(int256 value) internal pure returns (int152 downcasted) {\n downcasted = int152(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(152, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int144 from int256, reverting on\n * overflow (when the input is less than smallest int144 or\n * greater than largest int144).\n *\n * Counterpart to Solidity's `int144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n */\n function toInt144(int256 value) internal pure returns (int144 downcasted) {\n downcasted = int144(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(144, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int136 from int256, reverting on\n * overflow (when the input is less than smallest int136 or\n * greater than largest int136).\n *\n * Counterpart to Solidity's `int136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n */\n function toInt136(int256 value) internal pure returns (int136 downcasted) {\n downcasted = int136(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(136, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int128 from int256, reverting on\n * overflow (when the input is less than smallest int128 or\n * greater than largest int128).\n *\n * Counterpart to Solidity's `int128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n */\n function toInt128(int256 value) internal pure returns (int128 downcasted) {\n downcasted = int128(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(128, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int120 from int256, reverting on\n * overflow (when the input is less than smallest int120 or\n * greater than largest int120).\n *\n * Counterpart to Solidity's `int120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n */\n function toInt120(int256 value) internal pure returns (int120 downcasted) {\n downcasted = int120(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(120, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int112 from int256, reverting on\n * overflow (when the input is less than smallest int112 or\n * greater than largest int112).\n *\n * Counterpart to Solidity's `int112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n */\n function toInt112(int256 value) internal pure returns (int112 downcasted) {\n downcasted = int112(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(112, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int104 from int256, reverting on\n * overflow (when the input is less than smallest int104 or\n * greater than largest int104).\n *\n * Counterpart to Solidity's `int104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n */\n function toInt104(int256 value) internal pure returns (int104 downcasted) {\n downcasted = int104(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(104, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int96 from int256, reverting on\n * overflow (when the input is less than smallest int96 or\n * greater than largest int96).\n *\n * Counterpart to Solidity's `int96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n */\n function toInt96(int256 value) internal pure returns (int96 downcasted) {\n downcasted = int96(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(96, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int88 from int256, reverting on\n * overflow (when the input is less than smallest int88 or\n * greater than largest int88).\n *\n * Counterpart to Solidity's `int88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n */\n function toInt88(int256 value) internal pure returns (int88 downcasted) {\n downcasted = int88(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(88, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int80 from int256, reverting on\n * overflow (when the input is less than smallest int80 or\n * greater than largest int80).\n *\n * Counterpart to Solidity's `int80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n */\n function toInt80(int256 value) internal pure returns (int80 downcasted) {\n downcasted = int80(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(80, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int72 from int256, reverting on\n * overflow (when the input is less than smallest int72 or\n * greater than largest int72).\n *\n * Counterpart to Solidity's `int72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n */\n function toInt72(int256 value) internal pure returns (int72 downcasted) {\n downcasted = int72(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(72, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int64 from int256, reverting on\n * overflow (when the input is less than smallest int64 or\n * greater than largest int64).\n *\n * Counterpart to Solidity's `int64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n */\n function toInt64(int256 value) internal pure returns (int64 downcasted) {\n downcasted = int64(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(64, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int56 from int256, reverting on\n * overflow (when the input is less than smallest int56 or\n * greater than largest int56).\n *\n * Counterpart to Solidity's `int56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n */\n function toInt56(int256 value) internal pure returns (int56 downcasted) {\n downcasted = int56(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(56, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int48 from int256, reverting on\n * overflow (when the input is less than smallest int48 or\n * greater than largest int48).\n *\n * Counterpart to Solidity's `int48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n */\n function toInt48(int256 value) internal pure returns (int48 downcasted) {\n downcasted = int48(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(48, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int40 from int256, reverting on\n * overflow (when the input is less than smallest int40 or\n * greater than largest int40).\n *\n * Counterpart to Solidity's `int40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n */\n function toInt40(int256 value) internal pure returns (int40 downcasted) {\n downcasted = int40(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(40, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int32 from int256, reverting on\n * overflow (when the input is less than smallest int32 or\n * greater than largest int32).\n *\n * Counterpart to Solidity's `int32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n */\n function toInt32(int256 value) internal pure returns (int32 downcasted) {\n downcasted = int32(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(32, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int24 from int256, reverting on\n * overflow (when the input is less than smallest int24 or\n * greater than largest int24).\n *\n * Counterpart to Solidity's `int24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n */\n function toInt24(int256 value) internal pure returns (int24 downcasted) {\n downcasted = int24(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(24, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int16 from int256, reverting on\n * overflow (when the input is less than smallest int16 or\n * greater than largest int16).\n *\n * Counterpart to Solidity's `int16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n */\n function toInt16(int256 value) internal pure returns (int16 downcasted) {\n downcasted = int16(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(16, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int8 from int256, reverting on\n * overflow (when the input is less than smallest int8 or\n * greater than largest int8).\n *\n * Counterpart to Solidity's `int8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n */\n function toInt8(int256 value) internal pure returns (int8 downcasted) {\n downcasted = int8(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(8, value);\n }\n }\n\n /**\n * @dev Converts an unsigned uint256 into a signed int256.\n *\n * Requirements:\n *\n * - input must be less than or equal to maxInt256.\n */\n function toInt256(uint256 value) internal pure returns (int256) {\n // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive\n if (value > uint256(type(int256).max)) {\n revert SafeCastOverflowedUintToInt(value);\n }\n return int256(value);\n }\n\n /**\n * @dev Cast a boolean (false or true) to a uint256 (0 or 1) with no jump.\n */\n function toUint(bool b) internal pure returns (uint256 u) {\n assembly (\"memory-safe\") {\n u := iszero(iszero(b))\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.20;\n\nimport {SafeCast} from \"./SafeCast.sol\";\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n *\n * IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n * However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n * one branch when needed, making this function more expensive.\n */\n function ternary(bool condition, int256 a, int256 b) internal pure returns (int256) {\n unchecked {\n // branchless ternary works because:\n // b ^ (a ^ b) == a\n // b ^ 0 == b\n return b ^ ((a ^ b) * int256(SafeCast.toUint(condition)));\n }\n }\n\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return ternary(a > b, a, b);\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return ternary(a < b, a, b);\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // Formula from the \"Bit Twiddling Hacks\" by Sean Eron Anderson.\n // Since `n` is a signed integer, the generated bytecode will use the SAR opcode to perform the right shift,\n // taking advantage of the most significant (or \"sign\" bit) in two's complement representation.\n // This opcode adds new most significant bits set to the value of the previous most significant bit. As a result,\n // the mask will either be `bytes32(0)` (if n is positive) or `~bytes32(0)` (if n is negative).\n int256 mask = n >> 255;\n\n // A `bytes32(0)` mask leaves the input unchanged, while a `~bytes32(0)` mask complements it.\n return uint256((n + mask) ^ mask);\n }\n }\n}\n"},"lib/tstorish/src/Tstorish.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\ncontract Tstorish {\n // Declare a storage variable indicating if TSTORE support has been\n // activated post-deployment.\n bool private _tstoreSupport;\n\n /*\n * ------------------------------------------------------------------------+\n * Opcode | Mnemonic | Stack | Memory |\n * ------------------------------------------------------------------------|\n * 60 0x02 | PUSH1 0x02 | 0x02 | |\n * 60 0x1e | PUSH1 0x1e | 0x1e 0x02 | |\n * 61 0x3d5c | PUSH2 0x3d5c | 0x3d5c 0x1e 0x02 | |\n * 3d | RETURNDATASIZE | 0 0x3d5c 0x1e 0x02 | |\n * |\n * :: store deployed bytecode in memory: (3d) RETURNDATASIZE (5c) TLOAD :: |\n * 52 | MSTORE | 0x1e 0x02 | [0..0x20): 0x3d5c |\n * f3 | RETURN | | [0..0x20): 0x3d5c |\n * ------------------------------------------------------------------------+\n */\n uint256 constant _TLOAD_TEST_PAYLOAD = 0x6002_601e_613d5c_3d_52_f3;\n uint256 constant _TLOAD_TEST_PAYLOAD_LENGTH = 0x0a;\n uint256 constant _TLOAD_TEST_PAYLOAD_OFFSET = 0x16;\n\n // Declare an immutable variable to store the tstore test contract address.\n address private immutable _tloadTestContract;\n\n // Declare an immutable variable to store the initial TSTORE support status.\n bool private immutable _tstoreInitialSupport;\n\n // Declare an immutable function type variable for the _setTstorish function\n // based on chain support for tstore at time of deployment.\n function(uint256,uint256) internal immutable _setTstorish;\n\n // Declare an immutable function type variable for the _getTstorish function\n // based on chain support for tstore at time of deployment.\n function(uint256) view returns (uint256) internal immutable _getTstorish;\n\n // Declare an immutable function type variable for the _clearTstorish function\n // based on chain support for tstore at time of deployment.\n function(uint256) internal immutable _clearTstorish;\n\n // Declare a few custom revert error types.\n error TStoreAlreadyActivated();\n error TStoreNotSupported();\n error TloadTestContractDeploymentFailed();\n error OnlyDirectCalls();\n\n /**\n * @dev Determine TSTORE availability during deployment. This involves\n * attempting to deploy a contract that utilizes TLOAD as part of the\n * contract construction bytecode, and configuring initial support for\n * using TSTORE in place of SSTORE based on the result.\n */\n constructor() {\n // Deploy the contract testing TLOAD support and store the address.\n address tloadTestContract = _prepareTloadTest();\n\n // Ensure the deployment was successful.\n if (tloadTestContract == address(0)) {\n revert TloadTestContractDeploymentFailed();\n }\n\n // Determine if TSTORE is supported.\n bool tstoreInitialSupport = _testTload(tloadTestContract);\n\n if (tstoreInitialSupport) {\n // If TSTORE is supported, set functions to their versions that use\n // tstore/tload directly without support checks.\n _setTstorish = _setTstore;\n _getTstorish = _getTstore;\n _clearTstorish = _clearTstore;\n } else {\n // If TSTORE is not supported, set functions to their versions that \n // fallback to sstore/sload until _tstoreSupport is true.\n _setTstorish = _setTstorishWithSstoreFallback;\n _getTstorish = _getTstorishWithSloadFallback;\n _clearTstorish = _clearTstorishWithSstoreFallback;\n }\n\n _tstoreInitialSupport = tstoreInitialSupport;\n\n // Set the address of the deployed TLOAD test contract as an immutable.\n _tloadTestContract = tloadTestContract;\n }\n\n /**\n * @dev External function to activate TSTORE usage. Does not need to be\n * called if TSTORE is supported from deployment, and only needs to be\n * called once. Reverts if TSTORE has already been activated or if the\n * opcode is not available. Note that this must be called directly from\n * an externally-owned account to avoid potential reentrancy issues.\n */\n function __activateTstore() external {\n // Ensure this function is triggered from an externally-owned account.\n if (msg.sender != tx.origin) {\n revert OnlyDirectCalls();\n }\n\n // Determine if TSTORE can potentially be activated.\n if (_tstoreInitialSupport || _tstoreSupport) {\n revert TStoreAlreadyActivated();\n }\n\n // Determine if TSTORE can be activated and revert if not.\n if (!_testTload(_tloadTestContract)) {\n revert TStoreNotSupported();\n }\n\n // Mark TSTORE as activated.\n _tstoreSupport = true;\n }\n\n /**\n * @dev Private function to set a TSTORISH value. Assigned to _setTstorish \n * internal function variable at construction if chain has tstore support.\n *\n * @param storageSlot The slot to write the TSTORISH value to.\n * @param value The value to write to the given storage slot.\n */\n function _setTstore(uint256 storageSlot, uint256 value) private {\n assembly {\n tstore(storageSlot, value)\n }\n }\n\n /**\n * @dev Private function to set a TSTORISH value with sstore fallback. \n * Assigned to _setTstorish internal function variable at construction\n * if chain does not have tstore support.\n *\n * @param storageSlot The slot to write the TSTORISH value to.\n * @param value The value to write to the given storage slot.\n */\n function _setTstorishWithSstoreFallback(uint256 storageSlot, uint256 value) private {\n if (_tstoreSupport) {\n assembly {\n tstore(storageSlot, value)\n }\n } else {\n assembly {\n sstore(storageSlot, value)\n }\n }\n }\n\n /**\n * @dev Private function to read a TSTORISH value. Assigned to _getTstorish\n * internal function variable at construction if chain has tstore support.\n *\n * @param storageSlot The slot to read the TSTORISH value from.\n *\n * @return value The TSTORISH value at the given storage slot.\n */\n function _getTstore(\n uint256 storageSlot\n ) private view returns (uint256 value) {\n assembly {\n value := tload(storageSlot)\n }\n }\n\n /**\n * @dev Private function to read a TSTORISH value with sload fallback. \n * Assigned to _getTstorish internal function variable at construction\n * if chain does not have tstore support.\n *\n * @param storageSlot The slot to read the TSTORISH value from.\n *\n * @return value The TSTORISH value at the given storage slot.\n */\n function _getTstorishWithSloadFallback(\n uint256 storageSlot\n ) private view returns (uint256 value) {\n if (_tstoreSupport) {\n assembly {\n value := tload(storageSlot)\n }\n } else {\n assembly {\n value := sload(storageSlot)\n }\n }\n }\n\n /**\n * @dev Private function to clear a TSTORISH value. Assigned to _clearTstorish internal \n * function variable at construction if chain has tstore support.\n *\n * @param storageSlot The slot to clear the TSTORISH value for.\n */\n function _clearTstore(uint256 storageSlot) private {\n assembly {\n tstore(storageSlot, 0)\n }\n }\n\n /**\n * @dev Private function to clear a TSTORISH value with sstore fallback. \n * Assigned to _clearTstorish internal function variable at construction\n * if chain does not have tstore support.\n *\n * @param storageSlot The slot to clear the TSTORISH value for.\n */\n function _clearTstorishWithSstoreFallback(uint256 storageSlot) private {\n if (_tstoreSupport) {\n assembly {\n tstore(storageSlot, 0)\n }\n } else {\n assembly {\n sstore(storageSlot, 0)\n }\n }\n }\n\n /**\n * @dev Private function to deploy a test contract that utilizes TLOAD as\n * part of its fallback logic.\n */\n function _prepareTloadTest() private returns (address contractAddress) {\n // Utilize assembly to deploy a contract testing TLOAD support.\n assembly {\n // Write the contract deployment code payload to scratch space.\n mstore(0, _TLOAD_TEST_PAYLOAD)\n\n // Deploy the contract.\n contractAddress := create(\n 0,\n _TLOAD_TEST_PAYLOAD_OFFSET,\n _TLOAD_TEST_PAYLOAD_LENGTH\n )\n }\n }\n\n /**\n * @dev Private view function to determine if TSTORE/TLOAD are supported by\n * the current EVM implementation by attempting to call the test\n * contract, which utilizes TLOAD as part of its fallback logic.\n */\n function _testTload(\n address tloadTestContract\n ) private view returns (bool ok) {\n // Call the test contract, which will perform a TLOAD test. If the call\n // does not revert, then TLOAD/TSTORE is supported. Do not forward all\n // available gas, as all forwarded gas will be consumed on revert.\n (ok, ) = tloadTestContract.staticcall{ gas: gasleft() / 10 }(\"\");\n }\n}\n"},"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.27;\n\n/// @title IDelegatedExtension\n/// @author Agustin Aguilar\n/// @notice Interface for the delegated extension module\ninterface IDelegatedExtension {\n\n /// @notice Handle a sequence delegate call\n /// @param _opHash The operation hash\n /// @param _startingGas The starting gas\n /// @param _index The index\n /// @param _numCalls The number of calls\n /// @param _space The space\n /// @param _data The data\n function handleSequenceDelegateCall(\n bytes32 _opHash,\n uint256 _startingGas,\n uint256 _index,\n uint256 _numCalls,\n uint256 _space,\n bytes calldata _data\n ) external;\n\n}\n"},"script/TrailsIntentEntrypoint.s.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SingletonDeployer, console} from \"erc2470-libs/script/SingletonDeployer.s.sol\";\nimport {TrailsIntentEntrypoint} from \"../src/TrailsIntentEntrypoint.sol\";\n\ncontract Deploy is SingletonDeployer {\n // -------------------------------------------------------------------------\n // Run\n // -------------------------------------------------------------------------\n\n function run() external {\n uint256 privateKey = vm.envUint(\"PRIVATE_KEY\");\n address deployerAddress = vm.addr(privateKey);\n console.log(\"Deployer Address:\", deployerAddress);\n\n bytes32 salt = bytes32(0);\n\n // Deploy TrailsIntentEntrypoint deterministically via ERC-2470 SingletonDeployer\n bytes memory initCode = type(TrailsIntentEntrypoint).creationCode;\n address sweeper = _deployIfNotAlready(\"TrailsIntentEntrypoint\", initCode, salt, privateKey);\n\n console.log(\"TrailsIntentEntrypoint deployed at:\", sweeper);\n }\n}\n"},"script/TrailsRouter.s.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SingletonDeployer, console} from \"erc2470-libs/script/SingletonDeployer.s.sol\";\nimport {TrailsRouter} from \"../src/TrailsRouter.sol\";\n\ncontract Deploy is SingletonDeployer {\n // -------------------------------------------------------------------------\n // Run\n // -------------------------------------------------------------------------\n\n function run() external {\n uint256 pk = vm.envUint(\"PRIVATE_KEY\");\n address deployerAddress = vm.addr(pk);\n console.log(\"Deployer Address:\", deployerAddress);\n\n address router = deployRouter(pk);\n console.log(\"TrailsRouter deployed at:\", router);\n }\n\n // -------------------------------------------------------------------------\n // Deploy Router\n // -------------------------------------------------------------------------\n\n function deployRouter(uint256 pk) public returns (address) {\n bytes32 salt = bytes32(0);\n address multicall3 = 0xcA11bde05977b3631167028862bE2a173976CA11;\n\n // Deploy TrailsRouter with constructor arguments\n bytes memory initCode = abi.encodePacked(type(TrailsRouter).creationCode, abi.encode(multicall3));\n address router = _deployIfNotAlready(\"TrailsRouter\", initCode, salt, pk);\n\n return router;\n }\n}\n"},"script/TrailsRouterShim.s.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SingletonDeployer, console} from \"erc2470-libs/script/SingletonDeployer.s.sol\";\nimport {TrailsRouterShim} from \"../src/TrailsRouterShim.sol\";\nimport {Deploy as TrailsRouterDeploy} from \"./TrailsRouter.s.sol\";\n\ncontract Deploy is SingletonDeployer {\n // -------------------------------------------------------------------------\n // State Variables\n // -------------------------------------------------------------------------\n\n address public routerAddress;\n\n // -------------------------------------------------------------------------\n // Run\n // -------------------------------------------------------------------------\n\n function run() external {\n uint256 pk = vm.envUint(\"PRIVATE_KEY\");\n address deployerAddress = vm.addr(pk);\n console.log(\"Deployer Address:\", deployerAddress);\n\n bytes32 salt = bytes32(0);\n\n // Deploy TrailsRouter using the TrailsRouter deployment script\n TrailsRouterDeploy routerDeploy = new TrailsRouterDeploy();\n routerDeploy.run();\n\n // Get the deployed router address from the deployment script\n routerAddress = routerDeploy.deployRouter(pk);\n console.log(\"TrailsRouter deployed at:\", routerAddress);\n\n // Deploy TrailsRouterShim with the router address\n bytes memory initCode = abi.encodePacked(type(TrailsRouterShim).creationCode, abi.encode(routerAddress));\n address wrapper = _deployIfNotAlready(\"TrailsRouterShim\", initCode, salt, pk);\n\n console.log(\"TrailsRouterShim deployed at:\", wrapper);\n }\n}\n"},"src/TrailsIntentEntrypoint.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {IERC20Permit} from \"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\";\nimport {SafeERC20} from \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport {ECDSA} from \"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\";\nimport {ReentrancyGuard} from \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\nimport {ITrailsIntentEntrypoint} from \"./interfaces/ITrailsIntentEntrypoint.sol\";\n\n/// @title TrailsIntentEntrypoint\n/// @author Miguel Mota\n/// @notice A contract to facilitate deposits to intent addresses with off-chain signed intents.\ncontract TrailsIntentEntrypoint is ReentrancyGuard, ITrailsIntentEntrypoint {\n // -------------------------------------------------------------------------\n // Libraries\n // -------------------------------------------------------------------------\n using ECDSA for bytes32;\n using SafeERC20 for IERC20;\n\n // -------------------------------------------------------------------------\n // Constants\n // -------------------------------------------------------------------------\n\n bytes32 public constant TRAILS_INTENT_TYPEHASH = keccak256(\n \"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)\"\n );\n string public constant VERSION = \"1\";\n\n bytes32 private constant EIP712_DOMAIN_TYPEHASH =\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\");\n bytes32 private constant EIP712_DOMAIN_NAME = keccak256(bytes(\"TrailsIntentEntrypoint\"));\n bytes32 private constant EIP712_DOMAIN_VERSION = keccak256(bytes(VERSION));\n\n // -------------------------------------------------------------------------\n // Errors\n // -------------------------------------------------------------------------\n\n error InvalidAmount();\n error InvalidToken();\n error InvalidIntentAddress();\n error IntentExpired();\n error InvalidIntentSignature();\n error InvalidNonce();\n error InvalidFeeParameters();\n error PermitAmountMismatch();\n\n // -------------------------------------------------------------------------\n // State Variables\n // -------------------------------------------------------------------------\n\n /// @notice Tracks nonce for each user to prevent replay attacks.\n mapping(address => uint256) public nonces;\n\n // -------------------------------------------------------------------------\n // Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsIntentEntrypoint\n function DOMAIN_SEPARATOR() public view returns (bytes32 _domainSeparator) {\n return keccak256(\n abi.encode(EIP712_DOMAIN_TYPEHASH, EIP712_DOMAIN_NAME, EIP712_DOMAIN_VERSION, block.chainid, address(this))\n );\n }\n\n /// @inheritdoc ITrailsIntentEntrypoint\n function depositToIntentWithPermit(\n address user,\n address token,\n uint256 amount,\n uint256 permitAmount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 permitV,\n bytes32 permitR,\n bytes32 permitS,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) external nonReentrant {\n _verifyAndMarkIntent(\n user, token, amount, intentAddress, deadline, nonce, feeAmount, feeCollector, sigV, sigR, sigS\n );\n\n // Validate permitAmount exactly matches the total required amount (deposit + fee)\n // This prevents permit/approval mismatches that could cause DoS or unexpected behavior\n unchecked {\n if (permitAmount != amount + feeAmount) revert PermitAmountMismatch();\n }\n\n // Execute permit with try-catch to handle potential frontrunning, and scope variables to avoid stack too deep\n try IERC20Permit(token).permit(user, address(this), permitAmount, deadline, permitV, permitR, permitS) {\n // Permit succeeded\n }\n catch {\n // Permit may have been frontrun. Continue with transferFrom attempt.\n }\n\n _processDeposit(user, token, amount, intentAddress, feeAmount, feeCollector);\n }\n\n /// @inheritdoc ITrailsIntentEntrypoint\n function depositToIntent(\n address user,\n address token,\n uint256 amount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) external nonReentrant {\n _verifyAndMarkIntent(\n user, token, amount, intentAddress, deadline, nonce, feeAmount, feeCollector, sigV, sigR, sigS\n );\n _processDeposit(user, token, amount, intentAddress, feeAmount, feeCollector);\n }\n\n function _processDeposit(\n address user,\n address token,\n uint256 amount,\n address intentAddress,\n uint256 feeAmount,\n address feeCollector\n ) internal {\n IERC20(token).safeTransferFrom(user, intentAddress, amount);\n\n // Pay fee if specified (fee token is same as deposit token)\n bool feeAmountSupplied = feeAmount > 0;\n bool feeCollectorSupplied = feeCollector != address(0);\n if (feeAmountSupplied != feeCollectorSupplied) {\n // Must supply both feeAmount and feeCollector, or neither\n revert InvalidFeeParameters();\n }\n if (feeAmountSupplied && feeCollectorSupplied) {\n IERC20(token).safeTransferFrom(user, feeCollector, feeAmount);\n emit FeePaid(user, token, feeAmount, feeCollector);\n }\n\n emit IntentDeposit(user, intentAddress, amount);\n }\n\n // -------------------------------------------------------------------------\n // Internal Functions\n // -------------------------------------------------------------------------\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _verifyAndMarkIntent(\n address user,\n address token,\n uint256 amount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) internal {\n if (amount == 0) revert InvalidAmount();\n if (token == address(0)) revert InvalidToken();\n if (intentAddress == address(0)) revert InvalidIntentAddress();\n if (block.timestamp > deadline) revert IntentExpired();\n // Chain ID is already included in the signature, so we don't need to check it here\n // The signature verification will fail if the chain ID doesn't match\n if (nonce != nonces[user]) revert InvalidNonce();\n\n bytes32 _typehash = TRAILS_INTENT_TYPEHASH;\n bytes32 intentHash;\n // keccak256(abi.encode(TRAILS_INTENT_TYPEHASH, user, token, amount, intentAddress, deadline, chainId, nonce, feeAmount, feeCollector));\n assembly {\n let ptr := mload(0x40)\n mstore(ptr, _typehash)\n mstore(add(ptr, 0x20), user)\n mstore(add(ptr, 0x40), token)\n mstore(add(ptr, 0x60), amount)\n mstore(add(ptr, 0x80), intentAddress)\n mstore(add(ptr, 0xa0), deadline)\n mstore(add(ptr, 0xc0), chainid())\n mstore(add(ptr, 0xe0), nonce)\n mstore(add(ptr, 0x100), feeAmount)\n mstore(add(ptr, 0x120), feeCollector)\n intentHash := keccak256(ptr, 0x140)\n }\n\n bytes32 _domainSeparator = DOMAIN_SEPARATOR();\n bytes32 digest;\n // keccak256(abi.encodePacked(\"\\x19\\x01\", DOMAIN_SEPARATOR, intentHash));\n assembly {\n let ptr := mload(0x40)\n mstore(ptr, 0x1901)\n mstore(add(ptr, 0x20), _domainSeparator)\n mstore(add(ptr, 0x40), intentHash)\n digest := keccak256(add(ptr, 0x1e), 0x42)\n }\n address recovered = ECDSA.recover(digest, sigV, sigR, sigS);\n if (recovered != user) revert InvalidIntentSignature();\n\n // Increment nonce for the user\n nonces[user]++;\n }\n}\n"},"src/TrailsRouter.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SafeERC20} from \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {IDelegatedExtension} from \"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol\";\nimport {Tstorish} from \"tstorish/Tstorish.sol\";\nimport {DelegatecallGuard} from \"./guards/DelegatecallGuard.sol\";\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\nimport {ITrailsRouter} from \"./interfaces/ITrailsRouter.sol\";\nimport {TrailsSentinelLib} from \"./libraries/TrailsSentinelLib.sol\";\n\n/// @title TrailsRouter\n/// @author Miguel Mota, Shun Kakinoki\n/// @notice Consolidated router for Trails operations including multicall routing, balance injection, and token sweeping\n/// @dev Must be delegatecalled via the Sequence delegated extension module to access wallet storage/balances.\ncontract TrailsRouter is IDelegatedExtension, ITrailsRouter, DelegatecallGuard, Tstorish {\n // -------------------------------------------------------------------------\n // Libraries\n // -------------------------------------------------------------------------\n using SafeERC20 for IERC20;\n\n // -------------------------------------------------------------------------\n // Immutable Variables\n // -------------------------------------------------------------------------\n\n address public immutable MULTICALL3;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(address _multicall3) {\n MULTICALL3 = _multicall3;\n }\n\n // -------------------------------------------------------------------------\n // Errors\n // -------------------------------------------------------------------------\n\n error NativeTransferFailed();\n error InvalidDelegatedSelector(bytes4 selector);\n error InvalidFunctionSelector(bytes4 selector);\n error AllowFailureMustBeFalse(uint256 callIndex);\n error SuccessSentinelNotSet();\n error NoValueAvailable();\n error NoTokensToPull();\n error IncorrectValue(uint256 required, uint256 received);\n error NoTokensToSweep();\n error AmountOffsetOutOfBounds();\n error PlaceholderMismatch();\n error TargetCallFailed(bytes revertData);\n\n // -------------------------------------------------------------------------\n // Receive ETH\n // -------------------------------------------------------------------------\n\n /// @notice Allow direct native token transfers when contract is used standalone.\n receive() external payable {}\n\n // -------------------------------------------------------------------------\n // Multicall3 Router Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsRouter\n function execute(bytes calldata data) public payable returns (IMulticall3.Result[] memory returnResults) {\n _validateRouterCall(data);\n (bool success, bytes memory returnData) = MULTICALL3.delegatecall(data);\n if (!success) revert TargetCallFailed(returnData);\n return abi.decode(returnData, (IMulticall3.Result[]));\n }\n\n /// @inheritdoc ITrailsRouter\n function pullAndExecute(address token, bytes calldata data)\n public\n payable\n returns (IMulticall3.Result[] memory returnResults)\n {\n uint256 amount;\n if (token == address(0)) {\n if (msg.value == 0) revert NoValueAvailable();\n amount = msg.value;\n } else {\n amount = _getBalance(token, msg.sender);\n if (amount == 0) revert NoTokensToPull();\n }\n\n return pullAmountAndExecute(token, amount, data);\n }\n\n /// @inheritdoc ITrailsRouter\n function pullAmountAndExecute(address token, uint256 amount, bytes calldata data)\n public\n payable\n returns (IMulticall3.Result[] memory returnResults)\n {\n _validateRouterCall(data);\n if (token == address(0)) {\n if (msg.value != amount) revert IncorrectValue(amount, msg.value);\n } else {\n if (msg.value != 0) revert IncorrectValue(0, msg.value);\n _safeTransferFrom(token, msg.sender, address(this), amount);\n }\n\n (bool success, bytes memory returnData) = MULTICALL3.delegatecall(data);\n if (!success) revert TargetCallFailed(returnData);\n returnResults = abi.decode(returnData, (IMulticall3.Result[]));\n\n // Sweep remaining balance back to msg.sender to prevent dust from EXACT_OUTPUT swaps getting stuck.\n // We sweep the full balance (not tracking initial) since TrailsRouter is stateless by design.\n uint256 remaining = _getSelfBalance(token);\n if (remaining > 0) {\n if (token == address(0)) {\n _transferNative(msg.sender, remaining);\n } else {\n _transferERC20(token, msg.sender, remaining);\n }\n emit Sweep(token, msg.sender, remaining);\n }\n }\n\n // -------------------------------------------------------------------------\n // Balance Injection Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsRouter\n function injectSweepAndCall(\n address token,\n address target,\n bytes calldata callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) external payable {\n uint256 callerBalance;\n\n if (token == address(0)) {\n callerBalance = msg.value;\n if (callerBalance == 0) revert NoValueAvailable();\n } else {\n if (msg.value != 0) revert IncorrectValue(0, msg.value);\n callerBalance = _getBalance(token, msg.sender);\n if (callerBalance == 0) revert NoTokensToSweep();\n _safeTransferFrom(token, msg.sender, address(this), callerBalance);\n }\n\n _injectAndExecuteCall(token, target, callData, amountOffset, placeholder, callerBalance);\n }\n\n /// @inheritdoc ITrailsRouter\n function injectAndCall(\n address token,\n address target,\n bytes calldata callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) public payable {\n if (token == address(0) && msg.value != 0) {\n revert IncorrectValue(0, msg.value);\n }\n\n uint256 callerBalance = _getSelfBalance(token);\n if (callerBalance == 0) {\n if (token == address(0)) {\n revert NoValueAvailable();\n } else {\n revert NoTokensToSweep();\n }\n }\n\n _injectAndExecuteCall(token, target, callData, amountOffset, placeholder, callerBalance);\n }\n\n // -------------------------------------------------------------------------\n // Token Sweeper Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsRouter\n function sweep(address _token, address _recipient) public payable onlyDelegatecall {\n uint256 amount = _getSelfBalance(_token);\n if (amount > 0) {\n if (_token == address(0)) {\n _transferNative(_recipient, amount);\n } else {\n _transferERC20(_token, _recipient, amount);\n }\n emit Sweep(_token, _recipient, amount);\n }\n }\n\n /// @inheritdoc ITrailsRouter\n function refundAndSweep(address _token, address _refundRecipient, uint256 _refundAmount, address _sweepRecipient)\n public\n payable\n onlyDelegatecall\n {\n uint256 current = _getSelfBalance(_token);\n\n uint256 actualRefund = _refundAmount > current ? current : _refundAmount;\n if (actualRefund != _refundAmount) {\n emit ActualRefund(_token, _refundRecipient, _refundAmount, actualRefund);\n }\n if (actualRefund > 0) {\n if (_token == address(0)) {\n _transferNative(_refundRecipient, actualRefund);\n } else {\n _transferERC20(_token, _refundRecipient, actualRefund);\n }\n emit Refund(_token, _refundRecipient, actualRefund);\n }\n\n uint256 remaining = _getSelfBalance(_token);\n if (remaining > 0) {\n if (_token == address(0)) {\n _transferNative(_sweepRecipient, remaining);\n } else {\n _transferERC20(_token, _sweepRecipient, remaining);\n }\n emit Sweep(_token, _sweepRecipient, remaining);\n }\n emit RefundAndSweep(_token, _refundRecipient, _refundAmount, _sweepRecipient, actualRefund, remaining);\n }\n\n /// @inheritdoc ITrailsRouter\n function validateOpHashAndSweep(bytes32 opHash, address _token, address _recipient)\n public\n payable\n onlyDelegatecall\n {\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n if (_getTstorish(slot) != TrailsSentinelLib.SUCCESS_VALUE) {\n revert SuccessSentinelNotSet();\n }\n sweep(_token, _recipient);\n }\n\n // -------------------------------------------------------------------------\n // Sequence Delegated Extension Entry Point\n // -------------------------------------------------------------------------\n\n /// @inheritdoc IDelegatedExtension\n function handleSequenceDelegateCall(\n bytes32 _opHash,\n uint256, /* _startingGas */\n uint256, /* _index */\n uint256, /* _numCalls */\n uint256, /* _space */\n bytes calldata _data\n )\n external\n override(IDelegatedExtension, ITrailsRouter)\n onlyDelegatecall\n {\n bytes4 selector;\n if (_data.length >= 4) {\n selector = bytes4(_data[0:4]);\n }\n\n // Balance Injection selectors\n if (selector == this.injectAndCall.selector) {\n (address token, address target, bytes memory callData, uint256 amountOffset, bytes32 placeholder) =\n abi.decode(_data[4:], (address, address, bytes, uint256, bytes32));\n _injectAndCallDelegated(token, target, callData, amountOffset, placeholder);\n return;\n }\n\n // Token Sweeper selectors\n if (selector == this.sweep.selector) {\n (address token, address recipient) = abi.decode(_data[4:], (address, address));\n sweep(token, recipient);\n return;\n }\n\n if (selector == this.refundAndSweep.selector) {\n (address token, address refundRecipient, uint256 refundAmount, address sweepRecipient) =\n abi.decode(_data[4:], (address, address, uint256, address));\n refundAndSweep(token, refundRecipient, refundAmount, sweepRecipient);\n return;\n }\n\n if (selector == this.validateOpHashAndSweep.selector) {\n (, address token, address recipient) = abi.decode(_data[4:], (bytes32, address, address));\n validateOpHashAndSweep(_opHash, token, recipient);\n return;\n }\n\n revert InvalidDelegatedSelector(selector);\n }\n\n // -------------------------------------------------------------------------\n // Internal Helpers\n // -------------------------------------------------------------------------\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _safeTransferFrom(address token, address from, address to, uint256 amount) internal {\n IERC20 erc20 = IERC20(token);\n SafeERC20.safeTransferFrom(erc20, from, to, amount);\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _transferNative(address _to, uint256 _amount) internal {\n (bool success,) = payable(_to).call{value: _amount}(\"\");\n if (!success) revert NativeTransferFailed();\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _transferERC20(address _token, address _to, uint256 _amount) internal {\n IERC20 erc20 = IERC20(_token);\n SafeERC20.safeTransfer(erc20, _to, _amount);\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _getBalance(address token, address account) internal view returns (uint256) {\n return token == address(0) ? account.balance : IERC20(token).balanceOf(account);\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _getSelfBalance(address token) internal view returns (uint256) {\n return _getBalance(token, address(this));\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _injectAndCallDelegated(\n address token,\n address target,\n bytes memory callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) internal {\n uint256 callerBalance = _getSelfBalance(token);\n if (callerBalance == 0) {\n if (token == address(0)) {\n revert NoValueAvailable();\n } else {\n revert NoTokensToSweep();\n }\n }\n\n _injectAndExecuteCall(token, target, callData, amountOffset, placeholder, callerBalance);\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _injectAndExecuteCall(\n address token,\n address target,\n bytes memory callData,\n uint256 amountOffset,\n bytes32 placeholder,\n uint256 callerBalance\n ) internal {\n // Replace placeholder with actual balance if needed\n bool shouldReplace = (amountOffset != 0 || placeholder != bytes32(0));\n\n if (shouldReplace) {\n if (callData.length < amountOffset + 32) revert AmountOffsetOutOfBounds();\n\n bytes32 found;\n assembly {\n found := mload(add(add(callData, 32), amountOffset))\n }\n if (found != placeholder) revert PlaceholderMismatch();\n\n assembly {\n mstore(add(add(callData, 32), amountOffset), callerBalance)\n }\n }\n\n // Execute call based on token type\n if (token == address(0)) {\n (bool success, bytes memory result) = target.call{value: callerBalance}(callData);\n emit BalanceInjectorCall(token, target, placeholder, callerBalance, amountOffset, success, result);\n if (!success) revert TargetCallFailed(result);\n } else {\n IERC20 erc20 = IERC20(token);\n SafeERC20.forceApprove(erc20, target, callerBalance);\n\n (bool success, bytes memory result) = target.call(callData);\n emit BalanceInjectorCall(token, target, placeholder, callerBalance, amountOffset, success, result);\n if (!success) revert TargetCallFailed(result);\n }\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _validateRouterCall(bytes calldata callData) internal pure {\n // Extract function selector\n if (callData.length < 4) revert InvalidFunctionSelector(bytes4(0));\n\n bytes4 selector = bytes4(callData[0:4]);\n\n // Only allow `aggregate3Value` or `aggregate3` (0x174dea71 or 0x82ad56cb)\n if (selector == 0x174dea71) {\n // Decode and validate the Call3Value[] array to ensure allowFailure=false for all calls\n IMulticall3.Call3Value[] memory calls = abi.decode(callData[4:], (IMulticall3.Call3Value[]));\n\n // Iterate through all calls and verify allowFailure is false\n for (uint256 i = 0; i < calls.length; i++) {\n if (calls[i].allowFailure) {\n revert AllowFailureMustBeFalse(i);\n }\n }\n } else if (selector == 0x82ad56cb) {\n // Decode and validate the Call3[] array to ensure allowFailure=false for all calls\n IMulticall3.Call3[] memory calls = abi.decode(callData[4:], (IMulticall3.Call3[]));\n\n // Iterate through all calls and verify allowFailure is false\n for (uint256 i = 0; i < calls.length; i++) {\n if (calls[i].allowFailure) {\n revert AllowFailureMustBeFalse(i);\n }\n }\n } else {\n revert InvalidFunctionSelector(selector);\n }\n }\n}\n"},"src/TrailsRouterShim.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Tstorish} from \"tstorish/Tstorish.sol\";\nimport {TrailsSentinelLib} from \"./libraries/TrailsSentinelLib.sol\";\nimport {ITrailsRouterShim} from \"./interfaces/ITrailsRouterShim.sol\";\nimport {DelegatecallGuard} from \"./guards/DelegatecallGuard.sol\";\n\n/// @title TrailsRouterShim\n/// @author Shun Kakinoki\n/// @notice Sequence delegate-call extension that forwards Trails router calls and records success sentinels.\ncontract TrailsRouterShim is ITrailsRouterShim, DelegatecallGuard, Tstorish {\n // -------------------------------------------------------------------------\n // Immutable variables\n // -------------------------------------------------------------------------\n\n /// @notice Address of the deployed TrailsMulticall3Router to forward calls to\n address public immutable ROUTER;\n // SELF provided by DelegatecallGuard\n\n // -------------------------------------------------------------------------\n // Errors\n // -------------------------------------------------------------------------\n\n error RouterCallFailed(bytes data);\n error ZeroRouterAddress();\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n /// @param router_ The address of the router to forward calls to\n constructor(address router_) {\n if (router_ == address(0)) revert ZeroRouterAddress();\n ROUTER = router_;\n }\n\n // -------------------------------------------------------------------------\n // Sequence delegated entry point\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsRouterShim\n function handleSequenceDelegateCall(\n bytes32 opHash,\n uint256, // startingGas (unused)\n uint256, // index (unused)\n uint256, // numCalls (unused)\n uint256, // space (unused)\n bytes calldata data\n )\n external\n onlyDelegatecall\n {\n // Decode the inner call data and call value forwarded to the router\n (bytes memory inner, uint256 callValue) = abi.decode(data, (bytes, uint256));\n\n // Forward the call to the router\n bytes memory routerReturn = _forwardToRouter(inner, callValue);\n\n // Set the success sentinel storage slot for the opHash\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n _setTstorish(slot, TrailsSentinelLib.SUCCESS_VALUE);\n\n assembly {\n return(add(routerReturn, 32), mload(routerReturn))\n }\n }\n\n // -------------------------------------------------------------------------\n // Internal Helpers\n // -------------------------------------------------------------------------\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _forwardToRouter(bytes memory forwardData, uint256 callValue) internal returns (bytes memory) {\n (bool success, bytes memory ret) = ROUTER.call{value: callValue}(forwardData);\n if (!success) {\n revert RouterCallFailed(ret);\n }\n return ret;\n }\n}\n"},"src/guards/DelegatecallGuard.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n/// @notice Abstract contract providing a reusable delegatecall-only guard.\nabstract contract DelegatecallGuard {\n // -------------------------------------------------------------------------\n // Errors\n // -------------------------------------------------------------------------\n\n /// @dev Error thrown when a function expected to be delegatecalled is invoked directly\n error NotDelegateCall();\n\n // -------------------------------------------------------------------------\n // Immutable Variables\n // -------------------------------------------------------------------------\n\n /// @dev Cached address of this contract to detect delegatecall context\n address internal immutable _SELF = address(this);\n\n // -------------------------------------------------------------------------\n // Modifiers\n // -------------------------------------------------------------------------\n\n /// @dev Modifier restricting functions to only be executed via delegatecall\n modifier onlyDelegatecall() {\n _onlyDelegatecall();\n _;\n }\n\n // -------------------------------------------------------------------------\n // Internal Functions\n // -------------------------------------------------------------------------\n\n /// @dev Internal check enforcing delegatecall context\n function _onlyDelegatecall() internal view {\n if (address(this) == _SELF) revert NotDelegateCall();\n }\n}\n"},"src/interfaces/IMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n/// @title IMulticall3\n/// @notice Minimal subset of Multicall3 used by Trails router.\n/// @dev Matches the canonical implementation deployed at `0xcA11bde05977b3631167028862bE2a173976CA11`.\ninterface IMulticall3 {\n // -------------------------------------------------------------------------\n // Structs\n // -------------------------------------------------------------------------\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n // -------------------------------------------------------------------------\n // Functions\n // -------------------------------------------------------------------------\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n}\n"},"src/interfaces/ITrailsIntentEntrypoint.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n/// @title ITrailsIntentEntrypoint\n/// @notice Interface for the TrailsIntentEntrypoint contract\ninterface ITrailsIntentEntrypoint {\n // -------------------------------------------------------------------------\n // Events\n // -------------------------------------------------------------------------\n\n /// @notice Emitted when a user deposits tokens to an intent address\n /// @param user The user making the deposit\n /// @param intentAddress The intent address receiving the deposit\n /// @param amount The amount of tokens deposited\n event IntentDeposit(address indexed user, address indexed intentAddress, uint256 amount);\n\n /// @notice Emitted when a fee is paid.\n /// @param user The account from which the fee was taken.\n /// @param feeToken The ERC-20 token used to pay the fee.\n /// @param feeAmount The amount of the fee paid.\n /// @param feeCollector The address receiving the fee.\n event FeePaid(address indexed user, address indexed feeToken, uint256 feeAmount, address indexed feeCollector);\n\n // -------------------------------------------------------------------------\n // Views\n // -------------------------------------------------------------------------\n\n /// @notice Returns the EIP-712 domain separator used for intent signatures.\n /// forge-lint: disable-next-line(mixed-case-function)\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n /// @notice Returns the trails intent typehash constant used in EIP-712 signatures.\n /// forge-lint: disable-next-line(mixed-case-function)\n function TRAILS_INTENT_TYPEHASH() external view returns (bytes32);\n\n /// @notice Returns the version string of the contract.\n /// forge-lint: disable-next-line(mixed-case-function)\n function VERSION() external view returns (string memory);\n\n /// @notice Returns the current nonce for a given user.\n /// @param user The user address to query.\n function nonces(address user) external view returns (uint256);\n\n // -------------------------------------------------------------------------\n // Functions\n // -------------------------------------------------------------------------\n\n /// @notice Deposit tokens to an intent address using ERC20 permit\n /// @param user The user making the deposit\n /// @param token The token to deposit (also used for fee payment)\n /// @param amount The amount to deposit\n /// @param permitAmount The amount to permit for spending (amount + feeAmount if paying fee)\n /// @param intentAddress The intent address to deposit to\n /// @param deadline The permit deadline\n /// @param nonce The nonce for this user\n /// @param feeAmount The amount of fee to pay (0 for no fee, paid in same token)\n /// @param feeCollector The address to receive the fee (address(0) for no fee)\n /// @param permitV The permit signature v component\n /// @param permitR The permit signature r component\n /// @param permitS The permit signature s component\n /// @param sigV The intent signature v component\n /// @param sigR The intent signature r component\n /// @param sigS The intent signature s component\n function depositToIntentWithPermit(\n address user,\n address token,\n uint256 amount,\n uint256 permitAmount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 permitV,\n bytes32 permitR,\n bytes32 permitS,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) external;\n\n /// @notice Deposit tokens to an intent address (requires prior approval)\n /// @param user The user making the deposit\n /// @param token The token to deposit (also used for fee payment)\n /// @param amount The amount to deposit\n /// @param intentAddress The intent address to deposit to\n /// @param deadline The intent deadline\n /// @param nonce The nonce for this user\n /// @param feeAmount The amount of fee to pay (0 for no fee, paid in same token)\n /// @param feeCollector The address to receive the fee (address(0) for no fee)\n /// @param sigV The intent signature v component\n /// @param sigR The intent signature r component\n /// @param sigS The intent signature s component\n function depositToIntent(\n address user,\n address token,\n uint256 amount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) external;\n}\n"},"src/interfaces/ITrailsRouter.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {IDelegatedExtension} from \"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol\";\nimport {IMulticall3} from \"./IMulticall3.sol\";\n\n/// @title ITrailsRouter\n/// @notice Interface describing the delegate-call router utilities exposed to Sequence wallets.\ninterface ITrailsRouter is IDelegatedExtension {\n // ---------------------------------------------------------------------\n // Events\n // ---------------------------------------------------------------------\n\n event BalanceInjectorCall(\n address indexed token,\n address indexed target,\n bytes32 placeholder,\n uint256 amountReplaced,\n uint256 amountOffset,\n bool success,\n bytes result\n );\n event Refund(address indexed token, address indexed recipient, uint256 amount);\n event Sweep(address indexed token, address indexed recipient, uint256 amount);\n event RefundAndSweep(\n address indexed token,\n address indexed refundRecipient,\n uint256 refundAmount,\n address indexed sweepRecipient,\n uint256 actualRefund,\n uint256 remaining\n );\n event ActualRefund(address indexed token, address indexed recipient, uint256 expected, uint256 actual);\n\n // ---------------------------------------------------------------------\n // Multicall Operations\n // ---------------------------------------------------------------------\n\n /// @notice Delegates to Multicall3 to preserve msg.sender context.\n /// @dev Delegates to Multicall3 to preserve msg.sender context.\n /// @param data The data to execute.\n /// @return returnResults The result of the execution.\n function execute(bytes calldata data) external payable returns (IMulticall3.Result[] memory returnResults);\n\n /// @notice Pull tokens from msg.sender, then delegatecall into Multicall3.\n /// @dev For ERC20: pulls entire balance and requires prior approval. For ETH: uses msg.value.\n /// @param token The ERC20 token to pull, or address(0) for ETH.\n /// @param data The calldata for Multicall3.\n /// @return returnResults The result of the execution.\n function pullAndExecute(address token, bytes calldata data)\n external\n payable\n returns (IMulticall3.Result[] memory returnResults);\n\n /// @notice Pull specific amount of tokens from msg.sender, then delegatecall into Multicall3.\n /// @dev For ERC20: requires prior approval. For ETH: requires msg.value.\n /// @param token The ERC20 token to pull, or address(0) for ETH.\n /// @param amount The amount to pull.\n /// @param data The calldata for Multicall3.\n /// @return returnResults The result of the execution.\n function pullAmountAndExecute(address token, uint256 amount, bytes calldata data)\n external\n payable\n returns (IMulticall3.Result[] memory returnResults);\n\n // ---------------------------------------------------------------------\n // Balance Injection\n // ---------------------------------------------------------------------\n\n /// @notice Sweeps tokens from msg.sender and calls target with modified calldata.\n /// @dev Transfers tokens from msg.sender to this contract first.\n /// @param token The ERC-20 token to sweep, or address(0) for ETH.\n /// @param target The address to call with modified calldata.\n /// @param callData The original calldata (must include a 32-byte placeholder).\n /// @param amountOffset The byte offset in calldata where the placeholder is located.\n /// @param placeholder The 32-byte placeholder that will be replaced with balance.\n function injectSweepAndCall(\n address token,\n address target,\n bytes calldata callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) external payable;\n\n /// @notice Injects balance and calls target (for delegatecall context).\n /// @param token The ERC-20 token to sweep, or address(0) for ETH.\n /// @param target The address to call with modified calldata.\n /// @param callData The original calldata (must include a 32-byte placeholder).\n /// @param amountOffset The byte offset in calldata where the placeholder is located.\n /// @param placeholder The 32-byte placeholder that will be replaced with balance.\n function injectAndCall(\n address token,\n address target,\n bytes calldata callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) external payable;\n\n /// @notice Validates that the success sentinel for an opHash is set, then sweeps tokens.\n /// @dev For delegatecall context. Used to ensure prior operation succeeded.\n /// @param opHash The operation hash to validate.\n /// @param token The token to sweep.\n /// @param recipient The recipient of the sweep.\n function validateOpHashAndSweep(bytes32 opHash, address token, address recipient) external payable;\n\n // ---------------------------------------------------------------------\n // Sweeper\n // ---------------------------------------------------------------------\n\n /// @notice Sweeps the entire balance to recipient.\n /// @dev For delegatecall context. Transfers all tokens/ETH held by the wallet to the recipient.\n /// @param token The address of the token to sweep. Use address(0) for the native token.\n /// @param recipient The address to send the swept tokens to.\n function sweep(address token, address recipient) external payable;\n\n /// @notice Refunds up to `_refundAmount` to `_refundRecipient`, then sweeps any remaining balance to `_sweepRecipient`.\n /// @dev For delegatecall context.\n /// @param token The token address to operate on. Use address(0) for native.\n /// @param refundRecipient Address receiving the refund portion.\n /// @param refundAmount Maximum amount to refund.\n /// @param sweepRecipient Address receiving the remaining balance.\n function refundAndSweep(address token, address refundRecipient, uint256 refundAmount, address sweepRecipient)\n external\n payable;\n\n // ---------------------------------------------------------------------\n // Delegate Entry\n // ---------------------------------------------------------------------\n\n /// @inheritdoc IDelegatedExtension\n function handleSequenceDelegateCall(\n bytes32 opHash,\n uint256 startingGas,\n uint256 index,\n uint256 numCalls,\n uint256 space,\n bytes calldata data\n ) external;\n}\n"},"src/interfaces/ITrailsRouterShim.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {IDelegatedExtension} from \"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol\";\n\n/// @title ITrailsRouterShim\n/// @notice Interface for the router shim that bridges Sequence wallets to the Trails router.\ninterface ITrailsRouterShim is IDelegatedExtension {\n // -------------------------------------------------------------------------\n // Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc IDelegatedExtension\n function handleSequenceDelegateCall(\n bytes32 opHash,\n uint256 startingGas,\n uint256 index,\n uint256 numCalls,\n uint256 space,\n bytes calldata data\n ) external;\n}\n"},"src/libraries/TrailsSentinelLib.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n// -------------------------------------------------------------------------\n// Library\n// -------------------------------------------------------------------------\nlibrary TrailsSentinelLib {\n // -------------------------------------------------------------------------\n // Constants\n // -------------------------------------------------------------------------\n bytes32 public constant SENTINEL_NAMESPACE = keccak256(\"org.sequence.trails.router.sentinel\");\n uint256 public constant SUCCESS_VALUE = uint256(1);\n\n // -------------------------------------------------------------------------\n // Storage Slot Helpers\n // -------------------------------------------------------------------------\n function successSlot(bytes32 opHash) internal pure returns (uint256 result) {\n // return keccak256(abi.encode(SENTINEL_NAMESPACE, opHash));\n bytes32 namespace = SENTINEL_NAMESPACE;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n result := keccak256(0x00, 0x40)\n }\n }\n}\n"},"test/TrailsIntentEntrypoint.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {TrailsIntentEntrypoint} from \"../src/TrailsIntentEntrypoint.sol\";\nimport {ERC20} from \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport {ERC20Permit} from \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\";\nimport {MockNonStandardERC20} from \"./mocks/MockNonStandardERC20.sol\";\n\n// Mock ERC20 token with permit functionality for testing\ncontract MockERC20Permit is ERC20, ERC20Permit {\n constructor() ERC20(\"Mock Token\", \"MTK\") ERC20Permit(\"Mock Token\") {\n _mint(msg.sender, 1000000 * 10 ** decimals());\n }\n}\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsIntentEntrypointTest is Test {\n // Mirror events for expectEmit if needed\n event FeePaid(address indexed user, address indexed feeToken, uint256 feeAmount, address indexed feeCollector);\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsIntentEntrypoint public entrypoint;\n MockERC20Permit public token;\n address public user = vm.addr(0x123456789);\n uint256 public userPrivateKey = 0x123456789;\n\n function setUp() public {\n entrypoint = new TrailsIntentEntrypoint();\n token = new MockERC20Permit();\n\n // Give user some tokens and check transfer success\n assertTrue(token.transfer(user, 1000 * 10 ** token.decimals()));\n }\n\n function testConstructor() public view {\n // Simple constructor test - just verify the contract was deployed\n assertTrue(address(entrypoint) != address(0));\n }\n\n function testExecuteIntentWithPermit() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // Record balances before\n uint256 userBalanceBefore = token.balanceOf(user);\n uint256 intentBalanceBefore = token.balanceOf(intentAddress);\n\n // Execute intent with permit\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount, // permitAmount - same as amount for this test\n intentAddress,\n deadline,\n nonce,\n 0, // no fee amount\n address(0), // no fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Check balances after\n uint256 userBalanceAfter = token.balanceOf(user);\n uint256 intentBalanceAfter = token.balanceOf(intentAddress);\n\n assertEq(userBalanceAfter, userBalanceBefore - amount);\n assertEq(intentBalanceAfter, intentBalanceBefore + amount);\n\n vm.stopPrank();\n }\n\n function testExecuteIntentWithPermit_permit_frontrun() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // FRONTRUN: Call permit directly before depositToIntentWithPermit\n token.permit(user, address(entrypoint), amount, deadline, permitV, permitR, permitS);\n\n // Record balances before\n uint256 userBalanceBefore = token.balanceOf(user);\n uint256 intentBalanceBefore = token.balanceOf(intentAddress);\n\n // Execute intent with permit - should still succeed due to try/catch\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount, // permitAmount - same as amount for this test\n intentAddress,\n deadline,\n nonce,\n 0, // no fee amount\n address(0), // no fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Check balances after\n uint256 userBalanceAfter = token.balanceOf(user);\n uint256 intentBalanceAfter = token.balanceOf(intentAddress);\n\n assertEq(userBalanceAfter, userBalanceBefore - amount);\n assertEq(intentBalanceAfter, intentBalanceBefore + amount);\n\n vm.stopPrank();\n }\n\n function testExecuteIntentWithPermitExpired() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp - 1; // Expired\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert();\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount, // permitAmount - same as amount for this test\n intentAddress,\n deadline,\n nonce,\n 0, // no fee amount\n address(0), // no fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testExecuteIntentWithPermitInvalidSignature() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Use wrong private key for signature\n uint256 wrongPrivateKey = 0x987654321;\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(wrongPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(wrongPrivateKey, intentDigest);\n\n vm.expectRevert();\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount, // permitAmount - same as amount for this test\n intentAddress,\n deadline,\n nonce,\n 0, // no fee amount\n address(0), // no fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testExecuteIntentWithFee() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n address feeCollector = address(0x9999);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 5 * 10 ** token.decimals();\n uint256 totalAmount = amount + feeAmount;\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature for total amount (deposit + fee)\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n totalAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // Record balances before\n uint256 userBalanceBefore = token.balanceOf(user);\n uint256 intentBalanceBefore = token.balanceOf(intentAddress);\n uint256 feeCollectorBalanceBefore = token.balanceOf(feeCollector);\n\n // Execute intent with permit and fee (fee token is same as deposit token)\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n totalAmount, // permitAmount - total amount needed (deposit + fee)\n intentAddress,\n deadline,\n nonce,\n feeAmount,\n feeCollector,\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Check balances after\n uint256 userBalanceAfter = token.balanceOf(user);\n uint256 intentBalanceAfter = token.balanceOf(intentAddress);\n uint256 feeCollectorBalanceAfter = token.balanceOf(feeCollector);\n\n assertEq(userBalanceAfter, userBalanceBefore - totalAmount);\n assertEq(intentBalanceAfter, intentBalanceBefore + amount);\n assertEq(feeCollectorBalanceAfter, feeCollectorBalanceBefore + feeAmount);\n\n vm.stopPrank();\n }\n\n // Test: Infinite approval allows subsequent deposits without new permits\n function testInfiniteApprovalFlow() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 permitAmount = amount; // Exact amount (no fee)\n\n // First deposit with permit\n uint256 nonce1 = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n permitAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash1 = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce1,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest1 = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash1));\n\n (uint8 sigV1, bytes32 sigR1, bytes32 sigS1) = vm.sign(userPrivateKey, intentDigest1);\n\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n permitAmount,\n intentAddress,\n deadline,\n nonce1,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV1,\n sigR1,\n sigS1\n );\n\n // Verify allowance is consumed\n assertEq(token.allowance(user, address(entrypoint)), 0);\n\n // Second deposit without permit\n uint256 nonce2 = entrypoint.nonces(user);\n assertEq(nonce2, 1);\n\n bytes32 intentHash2 = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce2,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest2 = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash2));\n\n (uint8 sigV2, bytes32 sigR2, bytes32 sigS2) = vm.sign(userPrivateKey, intentDigest2);\n\n uint256 userBalBefore = token.balanceOf(user);\n\n // Approve for second deposit since exact permit was consumed by first deposit\n token.approve(address(entrypoint), amount);\n\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce2, 0, address(0), sigV2, sigR2, sigS2\n );\n\n assertEq(token.balanceOf(user), userBalBefore - amount);\n\n vm.stopPrank();\n }\n\n // Test: Exact approval requires new permit for subsequent deposits\n function testExactApprovalFlow() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n\n // First deposit with exact approval\n uint256 nonce1 = entrypoint.nonces(user);\n\n bytes32 permitHash1 = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV1, bytes32 permitR1, bytes32 permitS1) = vm.sign(userPrivateKey, permitHash1);\n\n bytes32 intentHash1 = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce1,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest1 = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash1));\n\n (uint8 sigV1, bytes32 sigR1, bytes32 sigS1) = vm.sign(userPrivateKey, intentDigest1);\n\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce1,\n 0,\n address(0),\n permitV1,\n permitR1,\n permitS1,\n sigV1,\n sigR1,\n sigS1\n );\n\n // Verify allowance is consumed\n assertEq(token.allowance(user, address(entrypoint)), 0);\n\n // Second deposit requires new permit\n uint256 nonce2 = entrypoint.nonces(user);\n\n bytes32 permitHash2 = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV2, bytes32 permitR2, bytes32 permitS2) = vm.sign(userPrivateKey, permitHash2);\n\n bytes32 intentHash2 = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce2,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest2 = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash2));\n\n (uint8 sigV2, bytes32 sigR2, bytes32 sigS2) = vm.sign(userPrivateKey, intentDigest2);\n\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce2,\n 0,\n address(0),\n permitV2,\n permitR2,\n permitS2,\n sigV2,\n sigR2,\n sigS2\n );\n\n assertEq(token.allowance(user, address(entrypoint)), 0);\n\n vm.stopPrank();\n }\n\n // Test: Fee collector receives fees with permit\n function testFeeCollectorReceivesFees() public {\n vm.startPrank(user);\n\n uint256 amt = 50e18;\n uint256 fee = 5e18;\n uint256 dl = block.timestamp + 1 hours;\n uint256 nonce1 = entrypoint.nonces(user);\n\n (uint8 pv, bytes32 pr, bytes32 ps) = _signPermit(user, amt + fee, dl);\n (uint8 sv, bytes32 sr, bytes32 ss) = _signIntent2(user, amt, address(0x5678), dl, nonce1, fee, address(0x9999));\n\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amt,\n amt + fee,\n address(0x5678),\n dl,\n nonce1,\n fee,\n address(0x9999),\n pv,\n pr,\n ps,\n sv,\n sr,\n ss\n );\n\n assertEq(token.balanceOf(address(0x9999)), fee);\n\n vm.stopPrank();\n }\n\n // Test: Fee collector receives fees without permit\n function testFeeCollectorReceivesFeesWithoutPermit() public {\n vm.startPrank(user);\n\n uint256 amt = 50e18;\n uint256 fee = 5e18;\n uint256 dl = block.timestamp + 1 hours;\n uint256 nonce = entrypoint.nonces(user);\n\n (uint8 sv, bytes32 sr, bytes32 ss) = _signIntent2(user, amt, address(0x5678), dl, nonce, fee, address(0x9999));\n\n token.approve(address(entrypoint), amt + fee);\n\n entrypoint.depositToIntent(\n user, address(token), amt, address(0x5678), dl, nonce, fee, address(0x9999), sv, sr, ss\n );\n\n assertEq(token.balanceOf(address(0x9999)), fee);\n\n vm.stopPrank();\n }\n\n // Additional tests from reference file for maximum coverage\n\n function testConstructorAndDomainSeparator() public view {\n assertTrue(address(entrypoint) != address(0));\n bytes32 expectedDomain = keccak256(\n abi.encode(\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n keccak256(bytes(\"TrailsIntentEntrypoint\")),\n keccak256(bytes(entrypoint.VERSION())),\n block.chainid,\n address(entrypoint)\n )\n );\n assertEq(entrypoint.DOMAIN_SEPARATOR(), expectedDomain);\n }\n\n function testDepositToIntentWithoutPermit_RequiresIntentAddress() public {\n vm.startPrank(user);\n address intentAddress = address(0);\n uint256 amount = 10 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 1;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidIntentAddress.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n vm.stopPrank();\n }\n\n function testDepositToIntentRequiresNonZeroAmount() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x1234);\n uint256 amount = 0; // Zero amount\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidAmount.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitRequiresNonZeroAmount() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x1234);\n uint256 amount = 0; // Zero amount\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidAmount.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentRequiresValidToken() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x1234);\n uint256 amount = 10 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(0),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidToken.selector);\n entrypoint.depositToIntent(user, address(0), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitRequiresValidToken() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x1234);\n uint256 amount = 10 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(0),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidToken.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(0),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentExpiredDeadline() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp - 1; // Already expired\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n vm.expectRevert(TrailsIntentEntrypoint.IntentExpired.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWrongSigner() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Wrong private key for intent signature\n uint256 wrongPrivateKey = 0x987654321;\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(wrongPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidIntentSignature.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentAlreadyUsed() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount * 2); // Approve for both calls\n\n // First call should succeed\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n // Second call with same digest should fail (nonce has incremented)\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testVersionConstant() public view {\n assertEq(entrypoint.VERSION(), \"1\");\n }\n\n function testIntentTypehashConstant() public view {\n bytes32 expectedTypehash = keccak256(\n \"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)\"\n );\n assertEq(entrypoint.TRAILS_INTENT_TYPEHASH(), expectedTypehash);\n }\n\n function testNonceIncrementsOnDeposit() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n\n uint256 nonceBefore = entrypoint.nonces(user);\n assertEq(nonceBefore, 0);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonceBefore,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonceBefore, 0, address(0), v, r, s\n );\n\n uint256 nonceAfter = entrypoint.nonces(user);\n assertEq(nonceAfter, 1);\n\n vm.stopPrank();\n }\n\n function testInvalidNonceReverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 wrongNonce = 999; // Wrong nonce\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n wrongNonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, wrongNonce, 0, address(0), v, r, s\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitExpiredDeadline() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp - 1; // Already expired\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.IntentExpired.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentCannotReuseDigest() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x777);\n uint256 amount = 15 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 10;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n // Nonce has incremented, so reusing the same digest/nonce will fail with InvalidNonce\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitRequiresPermitAmount() public {\n vm.startPrank(user);\n address intentAddress = address(0x1234);\n uint256 amount = 20 * 10 ** token.decimals();\n uint256 permitAmount = amount - 1;\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n permitAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert();\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n permitAmount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n vm.stopPrank();\n }\n\n function testDepositToIntentTransferFromFails() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n // Don't approve tokens, so transferFrom should fail\n vm.expectRevert();\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitTransferFromFails() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature with insufficient permit amount\n uint256 permitAmount = amount - 1; // Less than needed\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n permitAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert();\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n permitAmount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitWrongSigner() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Wrong private key for intent signature\n uint256 wrongPrivateKey = 0x987654321;\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(wrongPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidIntentSignature.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitAlreadyUsed() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // First call should succeed\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Second call with same digest should fail - the intent signature is now invalid because nonce incremented\n uint256 nonce2 = entrypoint.nonces(user);\n bytes32 permitHash2 = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user), // Updated nonce\n deadline\n )\n )\n )\n );\n\n (uint8 permitV2, bytes32 permitR2, bytes32 permitS2) = vm.sign(userPrivateKey, permitHash2);\n\n // The old intent signature uses old nonce, so it will fail with InvalidIntentSignature\n vm.expectRevert(TrailsIntentEntrypoint.InvalidIntentSignature.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce2,\n 0,\n address(0),\n permitV2,\n permitR2,\n permitS2,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitReentrancyProtection() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // First call should succeed\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Second call with same parameters should fail due to InvalidNonce (nonce has incremented)\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentReentrancyProtection() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n token.approve(address(entrypoint), amount * 2);\n\n // First call should succeed\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), sigV, sigR, sigS\n );\n\n // Second call should fail due to InvalidNonce (nonce has incremented)\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), sigV, sigR, sigS\n );\n\n vm.stopPrank();\n }\n\n function testAssemblyCodeExecution() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n token.approve(address(entrypoint), amount);\n\n // This should execute the assembly code in _verifyAndMarkIntent\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), sigV, sigR, sigS\n );\n\n vm.stopPrank();\n }\n\n // =========================================================================\n // SEQ-2: Non-Standard ERC20 Token Tests (SafeERC20 Implementation)\n // =========================================================================\n\n /**\n * @notice Test depositToIntent with non-standard ERC20 token (like USDT)\n * @dev Verifies SafeERC20.safeTransferFrom works with tokens that don't return boolean\n */\n function testDepositToIntent_WithNonStandardERC20_Success() public {\n // Deploy non-standard ERC20 token\n MockNonStandardERC20 nonStandardToken = new MockNonStandardERC20(1000000 * 10 ** 6);\n\n // Transfer tokens to user\n nonStandardToken.transfer(user, 1000 * 10 ** 6);\n\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** 6; // 50 tokens with 6 decimals\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(nonStandardToken),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n // Approve entrypoint to spend non-standard tokens\n nonStandardToken.approve(address(entrypoint), amount);\n\n uint256 userBalBefore = nonStandardToken.balanceOf(user);\n uint256 intentBalBefore = nonStandardToken.balanceOf(intentAddress);\n\n // This should succeed with SafeERC20 even though token doesn't return boolean\n entrypoint.depositToIntent(\n user, address(nonStandardToken), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s\n );\n\n // Verify balances updated correctly\n assertEq(nonStandardToken.balanceOf(user), userBalBefore - amount);\n assertEq(nonStandardToken.balanceOf(intentAddress), intentBalBefore + amount);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test depositToIntent with non-standard ERC20 token and fee\n * @dev Verifies SafeERC20.safeTransferFrom handles both deposit and fee transfers correctly\n */\n function testDepositToIntent_WithNonStandardERC20AndFee_Success() public {\n // Deploy non-standard ERC20 token\n MockNonStandardERC20 nonStandardToken = new MockNonStandardERC20(1000000 * 10 ** 6);\n\n // Transfer tokens to user\n nonStandardToken.transfer(user, 1000 * 10 ** 6);\n\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n address feeCollector = address(0x9999);\n uint256 amount = 50 * 10 ** 6; // 50 tokens with 6 decimals\n uint256 feeAmount = 5 * 10 ** 6; // 5 tokens fee\n uint256 totalAmount = amount + feeAmount;\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(nonStandardToken),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n feeCollector\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n // Approve entrypoint to spend non-standard tokens (total amount + fee)\n nonStandardToken.approve(address(entrypoint), totalAmount);\n\n uint256 userBalBefore = nonStandardToken.balanceOf(user);\n uint256 intentBalBefore = nonStandardToken.balanceOf(intentAddress);\n uint256 feeCollectorBalBefore = nonStandardToken.balanceOf(feeCollector);\n\n // This should succeed with SafeERC20 for both transfers\n entrypoint.depositToIntent(\n user, address(nonStandardToken), amount, intentAddress, deadline, nonce, feeAmount, feeCollector, v, r, s\n );\n\n // Verify all balances updated correctly\n assertEq(nonStandardToken.balanceOf(user), userBalBefore - totalAmount);\n assertEq(nonStandardToken.balanceOf(intentAddress), intentBalBefore + amount);\n assertEq(nonStandardToken.balanceOf(feeCollector), feeCollectorBalBefore + feeAmount);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test depositToIntent with non-standard ERC20 when transfer fails\n * @dev Verifies SafeERC20.safeTransferFrom properly reverts when non-standard token transfer fails\n */\n function testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts() public {\n // Deploy non-standard ERC20 token\n MockNonStandardERC20 nonStandardToken = new MockNonStandardERC20(1000000 * 10 ** 6);\n\n // Give user very small amount\n nonStandardToken.transfer(user, 10 * 10 ** 6);\n\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 100 * 10 ** 6; // More than user has\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(nonStandardToken),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0,\n address(0)\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n nonStandardToken.approve(address(entrypoint), amount);\n\n // Should revert because user has insufficient balance\n vm.expectRevert(\"Insufficient balance\");\n entrypoint.depositToIntent(\n user, address(nonStandardToken), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s\n );\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test depositToIntent with non-standard ERC20 when allowance is insufficient\n * @dev Verifies SafeERC20.safeTransferFrom properly reverts when allowance is too low\n */\n function testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts() public {\n // Deploy non-standard ERC20 token\n MockNonStandardERC20 nonStandardToken = new MockNonStandardERC20(1000000 * 10 ** 6);\n\n // Transfer tokens to user\n nonStandardToken.transfer(user, 1000 * 10 ** 6);\n\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** 6;\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(nonStandardToken),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0,\n address(0)\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n // Approve less than amount needed\n nonStandardToken.approve(address(entrypoint), amount - 1);\n\n // Should revert because allowance is insufficient\n vm.expectRevert(\"Insufficient allowance\");\n entrypoint.depositToIntent(\n user, address(nonStandardToken), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s\n );\n\n vm.stopPrank();\n }\n\n // =========================================================================\n // SEQ-1: Permit Amount Validation Tests (Additional Safety Check)\n // =========================================================================\n\n /**\n * @notice Test that depositToIntentWithPermit reverts when permit amount is insufficient\n * @dev Validates permitAmount != amount + feeAmount check (insufficient case)\n */\n function testPermitAmountInsufficientWithFee() public {\n vm.startPrank(user);\n uint256 amt = 50e18;\n uint256 fee = 10e18;\n uint256 permitAmt = amt + fee - 1; // Insufficient by 1\n uint256 dl = block.timestamp + 1 hours;\n uint256 nonce = entrypoint.nonces(user);\n\n (uint8 pv, bytes32 pr, bytes32 ps) = _signPermit(user, permitAmt, dl);\n (uint8 sv, bytes32 sr, bytes32 ss) = _signIntent2(user, amt, address(0x5678), dl, nonce, fee, address(0x9999));\n\n vm.expectRevert(TrailsIntentEntrypoint.PermitAmountMismatch.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amt,\n permitAmt,\n address(0x5678),\n dl,\n nonce,\n fee,\n address(0x9999),\n pv,\n pr,\n ps,\n sv,\n sr,\n ss\n );\n vm.stopPrank();\n }\n\n /**\n * @notice Test that depositToIntentWithPermit reverts when permit amount exceeds required\n * @dev Validates permitAmount != amount + feeAmount check (excess case)\n */\n function testPermitAmountExcessiveWithFee() public {\n vm.startPrank(user);\n uint256 amt = 50e18;\n uint256 fee = 10e18;\n uint256 permitAmt = amt + fee + 1; // Excess by 1\n uint256 dl = block.timestamp + 1 hours;\n uint256 nonce = entrypoint.nonces(user);\n\n (uint8 pv, bytes32 pr, bytes32 ps) = _signPermit(user, permitAmt, dl);\n (uint8 sv, bytes32 sr, bytes32 ss) = _signIntent2(user, amt, address(0x5678), dl, nonce, fee, address(0x9999));\n\n vm.expectRevert(TrailsIntentEntrypoint.PermitAmountMismatch.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amt,\n permitAmt,\n address(0x5678),\n dl,\n nonce,\n fee,\n address(0x9999),\n pv,\n pr,\n ps,\n sv,\n sr,\n ss\n );\n vm.stopPrank();\n }\n\n function _signPermit(address owner, uint256 permitAmount, uint256 deadline)\n internal\n view\n returns (uint8 v, bytes32 r, bytes32 s)\n {\n bytes32 hash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n owner,\n address(entrypoint),\n permitAmount,\n token.nonces(owner),\n deadline\n )\n )\n )\n );\n return vm.sign(userPrivateKey, hash);\n }\n\n function _signIntent2(\n address usr,\n uint256 amt,\n address intent,\n uint256 dl,\n uint256 nonce,\n uint256 fee,\n address collector\n ) internal view returns (uint8 v, bytes32 r, bytes32 s) {\n bytes32 hash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n usr,\n address(token),\n amt,\n intent,\n dl,\n block.chainid,\n nonce,\n fee,\n collector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), hash));\n return vm.sign(userPrivateKey, digest);\n }\n\n // =========================================================================\n // Fee Parameter Validation Tests\n // =========================================================================\n\n /**\n * @notice Test that depositToIntent reverts when feeAmount is provided but feeCollector is not\n * @dev Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)\n */\n function testDepositToIntentWithFeeAmountButNoCollector_Reverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 5 * 10 ** token.decimals(); // Fee amount provided\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n address(0) // No fee collector\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount + feeAmount);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidFeeParameters.selector);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, feeAmount, address(0), v, r, s\n );\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that depositToIntent reverts when feeCollector is provided but feeAmount is not\n * @dev Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)\n */\n function testDepositToIntentWithFeeCollectorButNoAmount_Reverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n address feeCollector = address(0x9999); // Fee collector provided\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 0; // No fee amount\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n feeCollector\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidFeeParameters.selector);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, feeAmount, feeCollector, v, r, s\n );\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that depositToIntentWithPermit reverts when feeAmount is provided but feeCollector is not\n * @dev Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)\n */\n function testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 5 * 10 ** token.decimals(); // Fee amount provided\n uint256 totalAmount = amount + feeAmount;\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature for total amount (deposit + fee)\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n totalAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n address(0) // No fee collector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidFeeParameters.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n totalAmount,\n intentAddress,\n deadline,\n nonce,\n feeAmount,\n address(0), // No fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that depositToIntentWithPermit reverts when feeCollector is provided but feeAmount is not\n * @dev Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)\n */\n function testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n address feeCollector = address(0x9999); // Fee collector provided\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 0; // No fee amount\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature for just the amount (no fee)\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidFeeParameters.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n feeAmount,\n feeCollector, // Fee collector provided with no fee amount\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n}\n"},"test/TrailsRouter.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {TrailsRouter} from \"src/TrailsRouter.sol\";\nimport {DelegatecallGuard} from \"src/guards/DelegatecallGuard.sol\";\nimport {MockSenderGetter} from \"test/mocks/MockSenderGetter.sol\";\nimport {MockERC20} from \"test/mocks/MockERC20.sol\";\nimport {MockMulticall3} from \"test/mocks/MockMulticall3.sol\";\nimport {ERC20Mock} from \"@openzeppelin/contracts/mocks/token/ERC20Mock.sol\";\nimport {IERC20Errors} from \"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\";\nimport {IDelegatedExtension} from \"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol\";\nimport {TstoreSetter, TstoreMode, TstoreRead} from \"test/utils/TstoreUtils.sol\";\nimport {TrailsSentinelLib} from \"src/libraries/TrailsSentinelLib.sol\";\nimport {IMulticall3} from \"src/interfaces/IMulticall3.sol\";\n\n// -----------------------------------------------------------------------------\n// Helper Contracts and Structs\n// -----------------------------------------------------------------------------\n\n// Use IMulticall3.Result directly\n\n// -----------------------------------------------------------------------------\n// Mock Contracts\n// -----------------------------------------------------------------------------\n\n// A malicious token for testing transferFrom failures\ncontract FailingToken is MockERC20 {\n bool public shouldFail;\n\n constructor() MockERC20(\"Failing Token\", \"FAIL\", 18) {}\n\n function setShouldFail(bool _shouldFail) external {\n shouldFail = _shouldFail;\n }\n\n function transferFrom(address from, address to, uint256 amount) public override returns (bool) {\n if (shouldFail) {\n return false;\n }\n return super.transferFrom(from, to, amount);\n }\n}\n\n// Helper receiver that always reverts on receiving native tokens\ncontract RevertingReceiver {\n receive() external payable {\n revert(\"RevertingReceiver: revert on receive\");\n }\n}\n\n// Mock multicall that always fails (for testing storage conflicts)\ncontract AlwaysFailingMulticall3 {\n function aggregate3(IMulticall3.Call3[] calldata) external payable {\n revert(\"MockMulticall3: forced failure\");\n }\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata) external payable {\n revert(\"MockMulticall3: forced failure\");\n }\n}\n\ncontract MockTarget {\n uint256 public lastAmount;\n bool public shouldRevert;\n MockERC20 public token;\n\n constructor(address _token) {\n token = MockERC20(_token);\n }\n\n function setShouldRevert(bool _shouldRevert) external {\n shouldRevert = _shouldRevert;\n }\n\n function deposit(\n uint256 amount,\n address /*receiver*/\n )\n external\n {\n if (shouldRevert) revert(\"Target reverted\");\n lastAmount = amount;\n if (address(token) != address(0)) {\n require(token.transferFrom(msg.sender, address(this), amount), \"ERC20 transferFrom failed\");\n }\n }\n}\n\ncontract MockTargetETH {\n uint256 public lastAmount;\n uint256 public receivedEth;\n bool public shouldRevert;\n\n function setShouldRevert(bool _shouldRevert) external {\n shouldRevert = _shouldRevert;\n }\n\n function depositEth(\n uint256 amount,\n address /*receiver*/\n )\n external\n payable\n {\n if (shouldRevert) revert(\"Target reverted\");\n lastAmount = amount;\n receivedEth = msg.value;\n }\n\n receive() external payable {}\n}\n\ncontract MockWallet {\n function delegateCallBalanceInjector(\n address router,\n address token,\n address target,\n bytes memory callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) external payable returns (bool success, bytes memory result) {\n bytes memory data = abi.encodeWithSignature(\n \"injectAndCall(address,address,bytes,uint256,bytes32)\", token, target, callData, amountOffset, placeholder\n );\n return router.delegatecall(data);\n }\n\n function handleSequenceDelegateCall(\n address router,\n bytes32 opHash,\n uint256 startingGas,\n uint256 callIndex,\n uint256 numCalls,\n uint256 space,\n bytes memory innerCallData\n ) external payable returns (bool success, bytes memory result) {\n bytes memory data = abi.encodeWithSignature(\n \"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\",\n opHash,\n startingGas,\n callIndex,\n numCalls,\n space,\n innerCallData\n );\n return router.delegatecall(data);\n }\n\n receive() external payable {}\n}\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsRouterTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsRouter internal router;\n MockSenderGetter internal getter;\n MockERC20 internal mockToken;\n FailingToken internal failingToken;\n ERC20Mock internal erc20;\n MockTarget internal target;\n MockTargetETH internal targetEth;\n\n address internal user = makeAddr(\"user\");\n address payable public holder;\n address payable public recipient;\n\n bytes32 constant PLACEHOLDER = 0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef;\n bytes32 constant TEST_NAMESPACE = keccak256(\"org.sequence.trails.router.sentinel\");\n bytes32 constant TEST_SUCCESS_VALUE = bytes32(uint256(1));\n\n // -------------------------------------------------------------------------\n // Events and Errors\n // -------------------------------------------------------------------------\n\n // Events\n event Sweep(address indexed token, address indexed recipient, uint256 amount);\n event Refund(address indexed token, address indexed recipient, uint256 amount);\n event RefundAndSweep(\n address indexed token,\n address indexed refundRecipient,\n uint256 refundAmount,\n address indexed sweepRecipient,\n uint256 actualRefund,\n uint256 remaining\n );\n event ActualRefund(address indexed token, address indexed recipient, uint256 expected, uint256 actual);\n event BalanceInjectorCall(\n address indexed token,\n address indexed target,\n bytes32 placeholder,\n uint256 amountReplaced,\n uint256 amountOffset,\n bool success,\n bytes result\n );\n\n // -------------------------------------------------------------------------\n // Setup\n // -------------------------------------------------------------------------\n\n function setUp() public {\n // Deploy mock multicall3 at the expected address\n MockMulticall3 mockMulticall3 = new MockMulticall3();\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, address(mockMulticall3).code);\n\n router = new TrailsRouter(0xcA11bde05977b3631167028862bE2a173976CA11);\n getter = new MockSenderGetter();\n mockToken = new MockERC20(\"MockToken\", \"MTK\", 18);\n failingToken = new FailingToken();\n erc20 = new ERC20Mock();\n\n // Create simple MockERC20 for target\n MockERC20 simpleToken = new MockERC20(\"Simple\", \"SMP\", 18);\n target = new MockTarget(address(simpleToken));\n targetEth = new MockTargetETH();\n\n holder = payable(address(0xbabe));\n recipient = payable(address(0x1));\n\n // Install router runtime code at the holder address to simulate delegatecall context\n vm.etch(holder, address(router).code);\n\n vm.deal(user, 10 ether);\n mockToken.mint(user, 1000e18);\n failingToken.mint(user, 1000e18);\n }\n\n // -------------------------------------------------------------------------\n // Multicall3 Router Tests\n // -------------------------------------------------------------------------\n\n function test_Execute_FromEOA_ShouldPreserveEOAAsSender() public {\n address eoa = makeAddr(\"eoa\");\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n vm.prank(eoa);\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n router.execute(callData);\n }\n\n function test_Execute_FromContract_ShouldPreserveContractAsSender() public {\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n router.execute(callData);\n }\n\n function test_Execute_WithMultipleCalls() public {\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n router.execute(callData);\n }\n\n function test_pullAmountAndExecute_WithValidToken_ShouldTransferAndExecute() public {\n uint256 transferAmount = 100e18;\n\n vm.prank(user);\n mockToken.approve(address(router), transferAmount);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAmountAndExecute(address(mockToken), transferAmount, callData);\n\n // Router should have no remaining balance (swept back to user)\n assertEq(mockToken.balanceOf(address(router)), 0);\n // User gets their tokens back since multicall didn't consume them\n assertEq(mockToken.balanceOf(user), 1000e18);\n }\n\n function test_RevertWhen_pullAmountAndExecute_InsufficientAllowance() public {\n uint256 transferAmount = 100e18;\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n vm.expectRevert(\n abi.encodeWithSelector(IERC20Errors.ERC20InsufficientAllowance.selector, address(router), 0, transferAmount)\n );\n router.pullAmountAndExecute(address(mockToken), transferAmount, callData);\n }\n\n function test_pullAndExecute_WithValidToken_ShouldTransferFullBalanceAndExecute() public {\n uint256 userBalance = mockToken.balanceOf(user);\n\n vm.prank(user);\n mockToken.approve(address(router), userBalance);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAndExecute(address(mockToken), callData);\n\n // Router should have no remaining balance (dust refunded back to user)\n assertEq(mockToken.balanceOf(address(router)), 0);\n // User gets their tokens back since multicall didn't consume them\n assertEq(mockToken.balanceOf(user), userBalance);\n }\n\n function test_RevertWhen_pullAndExecute_InsufficientAllowance() public {\n uint256 userBalance = mockToken.balanceOf(user);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n vm.expectRevert(\n abi.encodeWithSelector(IERC20Errors.ERC20InsufficientAllowance.selector, address(router), 0, userBalance)\n );\n router.pullAndExecute(address(mockToken), callData);\n }\n\n function test_ReceiveETH_ShouldAcceptETH() public {\n uint256 depositAmount = 1 ether;\n\n vm.prank(user);\n (bool success,) = address(router).call{value: depositAmount}(\"\");\n assertTrue(success);\n\n assertEq(address(router).balance, depositAmount);\n }\n\n function test_Multicall3Address_IsCorrect() public view {\n assertEq(router.MULTICALL3(), 0xcA11bde05977b3631167028862bE2a173976CA11);\n }\n\n // -------------------------------------------------------------------------\n // Balance Injection Tests\n // -------------------------------------------------------------------------\n\n function testInjectSweepAndCall() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n testToken.mint(address(this), tokenBalance);\n testToken.approve(address(router), tokenBalance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n\n router.injectSweepAndCall(address(testToken), address(testTarget), callData, 4, PLACEHOLDER);\n\n assertEq(testTarget.lastAmount(), tokenBalance);\n assertEq(testToken.balanceOf(address(this)), 0);\n assertEq(testToken.balanceOf(address(testTarget)), tokenBalance);\n }\n\n function testInjectSweepAndCall_WithToken_IncorrectValue() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n uint256 incorrectValue = 1 ether;\n testToken.mint(address(this), tokenBalance);\n testToken.approve(address(router), tokenBalance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, 0, incorrectValue));\n router.injectSweepAndCall{value: incorrectValue}(\n address(testToken), address(testTarget), callData, 4, PLACEHOLDER\n );\n }\n\n function testSweepAndCallETH() public {\n uint256 ethAmount = 1 ether;\n\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n router.injectSweepAndCall{value: ethAmount}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n\n assertEq(targetEth.lastAmount(), ethAmount);\n assertEq(targetEth.receivedEth(), ethAmount);\n assertEq(address(targetEth).balance, ethAmount);\n }\n\n function testRevertWhen_injectSweepAndCall_InsufficientAllowance() public {\n uint256 balance = 1e18;\n mockToken.mint(address(this), balance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.expectRevert(\n abi.encodeWithSelector(IERC20Errors.ERC20InsufficientAllowance.selector, address(router), 0, balance)\n );\n router.injectSweepAndCall(address(mockToken), address(target), callData, 4, PLACEHOLDER);\n }\n\n function testRevertWhen_injectSweepAndCall_NoValueAvailable() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.prank(user);\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n router.injectSweepAndCall{value: 0}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testDelegateCallWithETH() public {\n MockWallet wallet = new MockWallet();\n\n uint256 ethAmount = 2 ether;\n vm.deal(address(wallet), ethAmount);\n\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n (bool success,) = wallet.delegateCallBalanceInjector(\n address(router), address(0), address(targetEth), callData, 4, PLACEHOLDER\n );\n\n assertTrue(success, \"Delegatecall should succeed\");\n assertEq(targetEth.lastAmount(), ethAmount, \"Target should receive wallet's ETH balance\");\n assertEq(address(wallet).balance, 0, \"Wallet should be swept empty\");\n }\n\n function testRevertWhen_injectAndCall_UnexpectedValue() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.deal(holder, 1 ether);\n vm.prank(holder);\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, 0, 1 ether));\n TrailsRouter(holder).injectAndCall{value: 1 ether}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testRevertWhen_injectAndCall_NoValueAvailable() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n TrailsRouter(holder).injectAndCall(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n // -------------------------------------------------------------------------\n // Token Sweeper Tests\n // -------------------------------------------------------------------------\n\n function test_sweep_nativeToken() public {\n uint256 amount = 1 ether;\n vm.deal(holder, amount);\n\n uint256 recipientBalanceBefore = recipient.balance;\n\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), recipient, amount);\n TrailsRouter(holder).sweep(address(0), recipient);\n uint256 recipientBalanceAfter = recipient.balance;\n\n assertEq(holder.balance, 0);\n assertEq(recipientBalanceAfter - recipientBalanceBefore, amount);\n }\n\n function test_sweep_erc20Token() public {\n uint256 amount = 100 * 1e18;\n erc20.mint(holder, amount);\n uint256 recipientBalanceBefore = erc20.balanceOf(recipient);\n\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(erc20), recipient, amount);\n TrailsRouter(holder).sweep(address(erc20), recipient);\n uint256 recipientBalanceAfter = erc20.balanceOf(recipient);\n\n assertEq(erc20.balanceOf(holder), 0);\n assertEq(recipientBalanceAfter - recipientBalanceBefore, amount);\n }\n\n function test_refundAndSweep_native_partialRefund() public {\n address refundRecipient = address(0x101);\n address sweepRecipient = address(0x102);\n\n uint256 amount = 3 ether;\n vm.deal(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit Refund(address(0), refundRecipient, 1 ether);\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), sweepRecipient, 2 ether);\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(0), refundRecipient, 1 ether, sweepRecipient, 1 ether, 2 ether);\n\n TrailsRouter(holder).refundAndSweep(address(0), refundRecipient, 1 ether, sweepRecipient);\n\n assertEq(holder.balance, 0);\n assertEq(refundRecipient.balance, 1 ether);\n assertEq(sweepRecipient.balance, 2 ether);\n }\n\n function test_refundAndSweep_erc20_partialRefund() public {\n address refundRecipient = address(0x301);\n address sweepRecipient = address(0x302);\n\n uint256 amount = 300 * 1e18;\n uint256 refund = 120 * 1e18;\n erc20.mint(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit Refund(address(erc20), refundRecipient, refund);\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(erc20), sweepRecipient, amount - refund);\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(erc20), refundRecipient, refund, sweepRecipient, refund, amount - refund);\n\n TrailsRouter(holder).refundAndSweep(address(erc20), refundRecipient, refund, sweepRecipient);\n\n assertEq(erc20.balanceOf(holder), 0);\n assertEq(erc20.balanceOf(refundRecipient), refund);\n assertEq(erc20.balanceOf(sweepRecipient), amount - refund);\n }\n\n function test_validateOpHashAndSweep_native_success() public {\n // Force tstore active for delegated storage context (holder)\n TstoreMode.setActive(holder);\n\n bytes32 opHash = keccak256(\"test-op-hash\");\n vm.deal(holder, 1 ether);\n\n // Compute slot using the same logic as TrailsSentinelLib.successSlot\n bytes32 namespace = TEST_NAMESPACE;\n bytes32 slot;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n slot := keccak256(0x00, 0x40)\n }\n\n // Set transient storage inline at holder's context using bytecode deployment\n // tstore(slot, value) - slot must be on top of stack\n bytes memory setTstoreCode = abi.encodePacked(\n hex\"7f\",\n TEST_SUCCESS_VALUE, // push32 value\n hex\"7f\",\n slot, // push32 slot (on top)\n hex\"5d\", // tstore(slot, value)\n hex\"00\" // stop\n );\n\n bytes memory routerCode = address(router).code;\n vm.etch(holder, setTstoreCode);\n (bool ok,) = holder.call(\"\");\n assertTrue(ok, \"tstore set failed\");\n vm.etch(holder, routerCode);\n\n bytes memory data =\n abi.encodeWithSelector(TrailsRouter.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), recipient, 1 ether);\n IDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, data);\n\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, 1 ether);\n }\n\n function test_validateOpHashAndSweep_native_success_tstore() public {\n // Force tstore active for delegated storage context (holder)\n TstoreMode.setActive(holder);\n\n // Arrange\n bytes32 opHash = keccak256(\"test-op-hash-tstore\");\n vm.deal(holder, 1 ether);\n\n // Pre-write success sentinel using tstore at the delegated storage of `holder`.\n bytes32 slot = keccak256(abi.encode(TEST_NAMESPACE, opHash));\n bytes memory routerCode = address(router).code;\n vm.etch(holder, address(new TstoreSetter()).code);\n (bool ok,) = holder.call(abi.encodeWithSelector(TstoreSetter.set.selector, slot, TEST_SUCCESS_VALUE));\n assertTrue(ok, \"tstore set failed\");\n vm.etch(holder, routerCode);\n\n // Act via delegated entrypoint\n bytes memory data =\n abi.encodeWithSelector(TrailsRouter.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), recipient, 1 ether);\n IDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, data);\n\n // Assert: with tstore active, the sstore slot should remain zero\n uint256 storedS = uint256(vm.load(holder, slot));\n assertEq(storedS, 0);\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, 1 ether);\n\n // Read via tload\n slot = bytes32(TrailsSentinelLib.successSlot(opHash));\n uint256 storedT = TstoreRead.tloadAt(holder, slot);\n assertEq(storedT, TrailsSentinelLib.SUCCESS_VALUE);\n }\n\n function test_handleSequenceDelegateCall_dispatches_to_sweep_native() public {\n uint256 amount = 1 ether;\n vm.deal(holder, amount);\n\n bytes memory data = abi.encodeWithSelector(TrailsRouter.sweep.selector, address(0), recipient);\n\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), recipient, amount);\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, data);\n\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, amount);\n }\n\n function test_handleSequenceDelegateCall_invalid_selector_reverts() public {\n bytes memory data = hex\"deadbeef\";\n\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.InvalidDelegatedSelector.selector, bytes4(0xdeadbeef)));\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, data);\n }\n\n function test_direct_sweep_reverts_not_delegatecall() public {\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n router.sweep(address(0), recipient);\n }\n\n function test_native_transfer_failed() public {\n RevertingReceiver revertingReceiver = new RevertingReceiver();\n\n // Give holder some ETH to sweep\n vm.deal(holder, 1 ether);\n\n // Verify holder has ETH\n assertEq(holder.balance, 1 ether);\n\n vm.expectRevert(TrailsRouter.NativeTransferFailed.selector);\n // Call sweep through holder to simulate delegatecall context\n (bool success,) =\n holder.call(abi.encodeWithSelector(router.sweep.selector, address(0), address(revertingReceiver)));\n success;\n }\n\n function test_success_sentinel_not_set() public {\n bytes32 opHash = keccak256(\"test operation\");\n address token = address(mockToken);\n address recipientAddr = recipient;\n\n vm.expectRevert(TrailsRouter.SuccessSentinelNotSet.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) =\n holder.call(abi.encodeWithSelector(router.validateOpHashAndSweep.selector, opHash, token, recipientAddr));\n success;\n }\n\n function test_no_tokens_to_pull() public {\n address token = address(new MockERC20(\"Test\", \"TST\", 18)); // New token, caller has 0 balance\n\n // Use a valid aggregate3 call so selector validation passes and we hit NoTokensToPull\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.expectRevert(TrailsRouter.NoTokensToPull.selector);\n router.pullAndExecute(token, callData);\n }\n\n function test_no_tokens_to_sweep() public {\n address token = address(new MockERC20(\"Test\", \"TST\", 18)); // New token, contract has 0 balance\n MockTarget mockTarget = new MockTarget(address(token));\n bytes memory callData = abi.encodeWithSelector(mockTarget.deposit.selector, 100, address(0));\n\n vm.expectRevert(TrailsRouter.NoTokensToSweep.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) = holder.call(\n abi.encodeWithSelector(router.injectAndCall.selector, token, address(mockTarget), callData, 0, bytes32(0))\n );\n success;\n }\n\n function test_amount_offset_out_of_bounds() public {\n MockTarget mockTarget = new MockTarget(address(mockToken));\n // Create callData that's too short for the amountOffset\n bytes memory callData = hex\"12345678\"; // 4 bytes, less than amountOffset + 32 = 36 + 32 = 68\n uint256 amountOffset = 36; // This will make amountOffset + 32 = 68 > callData.length\n\n vm.expectRevert(TrailsRouter.AmountOffsetOutOfBounds.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) = holder.call(\n abi.encodeWithSelector(\n router.injectAndCall.selector,\n address(mockToken),\n address(mockTarget),\n callData,\n amountOffset,\n bytes32(uint256(0xdeadbeef))\n )\n );\n success;\n }\n\n function test_placeholder_mismatch() public {\n MockTarget mockTarget = new MockTarget(address(mockToken));\n // Create callData with wrong placeholder\n bytes32 wrongPlaceholder = bytes32(uint256(0x12345678));\n bytes32 expectedPlaceholder = bytes32(uint256(0xdeadbeef));\n bytes memory callData = abi.encodeWithSelector(mockTarget.deposit.selector, wrongPlaceholder, address(0));\n\n vm.expectRevert(TrailsRouter.PlaceholderMismatch.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) = holder.call(\n abi.encodeWithSelector(\n router.injectAndCall.selector, address(mockToken), address(mockTarget), callData, 4, expectedPlaceholder\n )\n );\n success;\n }\n\n function test_pullAndExecute_WithETH_ShouldTransferAndExecute() public {\n uint256 ethAmount = 1 ether;\n vm.deal(user, ethAmount);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAndExecute{value: ethAmount}(address(0), callData);\n\n // Router should have no remaining balance (dust refunded back to user)\n assertEq(address(router).balance, 0);\n // User gets their ETH back since multicall didn't consume it\n assertEq(user.balance, ethAmount);\n }\n\n function test_pullAndExecute_WithETH_NoEthSent() public {\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n router.pullAndExecute(address(0), callData);\n }\n\n function test_pullAndExecute_WithToken_IncorrectValue() public {\n uint256 transferAmount = 100e18;\n uint256 incorrectValue = 1 ether;\n\n vm.prank(user);\n mockToken.approve(address(router), transferAmount);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(getter), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3Value((address,bool,uint256,bytes)[])\", calls);\n\n vm.deal(user, incorrectValue);\n vm.prank(user);\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, 0, incorrectValue));\n router.pullAndExecute{value: incorrectValue}(address(mockToken), callData);\n }\n\n function test_pullAmountAndExecute_WithETH_ShouldTransferAndExecute() public {\n uint256 ethAmount = 1 ether;\n vm.deal(user, ethAmount);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAmountAndExecute{value: ethAmount}(address(0), ethAmount, callData);\n\n // Router should have no remaining balance (swept back to user)\n assertEq(address(router).balance, 0);\n // User gets their ETH back since multicall didn't consume it\n assertEq(user.balance, ethAmount);\n }\n\n function test_pullAmountAndExecute_WithETH_IncorrectValue() public {\n uint256 requiredAmount = 1 ether;\n uint256 sentAmount = 0.5 ether;\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, requiredAmount, sentAmount));\n router.pullAmountAndExecute{value: sentAmount}(address(0), requiredAmount, callData);\n }\n\n function test_pullAmountAndExecute_WithToken_ShouldTransferAndExecute() public {\n uint256 transferAmount = 100e18;\n\n vm.prank(user);\n mockToken.approve(address(router), transferAmount);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAmountAndExecute(address(mockToken), transferAmount, callData);\n\n // Router should have no remaining balance (dust refunded back to user)\n assertEq(mockToken.balanceOf(address(router)), 0);\n // User gets their tokens back since multicall didn't consume them\n assertEq(mockToken.balanceOf(user), 1000e18);\n }\n\n function test_pullAmountAndExecute_WithToken_IncorrectValue() public {\n uint256 transferAmount = 100e18;\n uint256 incorrectValue = 1 ether;\n\n vm.prank(user);\n mockToken.approve(address(router), transferAmount);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(getter), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3Value((address,bool,uint256,bytes)[])\", calls);\n\n vm.deal(user, incorrectValue);\n vm.prank(user);\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, 0, incorrectValue));\n router.pullAmountAndExecute{value: incorrectValue}(address(mockToken), transferAmount, callData);\n }\n\n function testExecute_WithFailingMulticall() public {\n // Save original multicall code\n bytes memory originalCode = 0xcA11bde05977b3631167028862bE2a173976CA11.code;\n\n // Deploy and etch always-failing multicall (doesn't use storage, always reverts)\n AlwaysFailingMulticall3 failingMulticall = new AlwaysFailingMulticall3();\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, address(failingMulticall).code);\n\n // Verify the etch worked\n assertEq(keccak256(0xcA11bde05977b3631167028862bE2a173976CA11.code), keccak256(address(failingMulticall).code));\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.expectRevert(\n abi.encodeWithSelector(\n TrailsRouter.TargetCallFailed.selector,\n abi.encodeWithSignature(\"Error(string)\", \"MockMulticall3: forced failure\")\n )\n );\n router.execute(callData);\n\n // Restore original code\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, originalCode);\n }\n\n function test_pullAndExecute_WithFailingMulticall() public {\n uint256 transferAmount = 100e18;\n\n // Save original multicall code\n bytes memory originalCode = 0xcA11bde05977b3631167028862bE2a173976CA11.code;\n\n // Deploy and etch always-failing multicall (doesn't use storage, always reverts)\n AlwaysFailingMulticall3 failingMulticall = new AlwaysFailingMulticall3();\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, address(failingMulticall).code);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Give tokens to the test contract (which will be msg.sender) and approve\n mockToken.mint(address(this), transferAmount);\n mockToken.approve(address(router), transferAmount);\n\n vm.expectRevert(\n abi.encodeWithSelector(\n TrailsRouter.TargetCallFailed.selector,\n abi.encodeWithSignature(\"Error(string)\", \"MockMulticall3: forced failure\")\n )\n );\n router.pullAndExecute(address(mockToken), callData);\n\n // Restore original code\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, originalCode);\n }\n\n function testInjectSweepAndCall_WithETH_ZeroBalance() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n router.injectSweepAndCall{value: 0}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testInjectSweepAndCall_WithToken_ZeroBalance() public {\n MockERC20 zeroToken = new MockERC20(\"Zero\", \"ZERO\", 18);\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0));\n\n vm.expectRevert(TrailsRouter.NoTokensToSweep.selector);\n router.injectSweepAndCall(address(zeroToken), address(target), callData, 4, PLACEHOLDER);\n }\n\n function testInjectAndCall_WithZeroBalance() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.prank(holder);\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n TrailsRouter(holder).injectAndCall(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testInjectAndCall_WithTokenZeroBalance() public {\n MockERC20 zeroToken = new MockERC20(\"Zero\", \"ZERO\", 18);\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0));\n\n vm.prank(holder);\n vm.expectRevert(TrailsRouter.NoTokensToSweep.selector);\n TrailsRouter(holder).injectAndCall(address(zeroToken), address(target), callData, 4, PLACEHOLDER);\n }\n\n function testInjectSweepAndCall_WithETH_TargetCallFails() public {\n uint256 ethAmount = 1 ether;\n\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n // Make target revert\n targetEth.setShouldRevert(true);\n\n vm.expectRevert(\n abi.encodeWithSelector(\n TrailsRouter.TargetCallFailed.selector, abi.encodeWithSignature(\"Error(string)\", \"Target reverted\")\n )\n );\n router.injectSweepAndCall{value: ethAmount}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testInjectSweepAndCall_WithToken_TargetCallFails() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n testToken.mint(address(this), tokenBalance);\n testToken.approve(address(router), tokenBalance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n\n // Make target revert\n testTarget.setShouldRevert(true);\n\n vm.expectRevert(\n abi.encodeWithSelector(\n TrailsRouter.TargetCallFailed.selector, abi.encodeWithSignature(\"Error(string)\", \"Target reverted\")\n )\n );\n router.injectSweepAndCall(address(testToken), address(testTarget), callData, 4, PLACEHOLDER);\n }\n\n function testRefundAndSweep_FullRefund() public {\n address refundRecipient = address(0x201);\n address sweepRecipient = address(0x202);\n\n uint256 amount = 3 ether;\n vm.deal(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit Refund(address(0), refundRecipient, amount);\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(0), refundRecipient, amount, sweepRecipient, amount, 0);\n\n TrailsRouter(holder).refundAndSweep(address(0), refundRecipient, amount, sweepRecipient);\n\n assertEq(holder.balance, 0);\n assertEq(refundRecipient.balance, amount);\n assertEq(sweepRecipient.balance, 0);\n }\n\n function testRefundAndSweep_PartialRefundERC20() public {\n address refundRecipient = address(0x301);\n address sweepRecipient = address(0x302);\n\n uint256 amount = 300 * 1e18;\n uint256 refundRequested = 400 * 1e18; // More than available\n erc20.mint(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit ActualRefund(address(erc20), refundRecipient, refundRequested, amount);\n vm.expectEmit(true, true, false, false);\n emit Refund(address(erc20), refundRecipient, amount); // Refund full amount available\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(erc20), refundRecipient, refundRequested, sweepRecipient, amount, 0);\n\n TrailsRouter(holder).refundAndSweep(address(erc20), refundRecipient, refundRequested, sweepRecipient);\n\n assertEq(erc20.balanceOf(holder), 0);\n assertEq(erc20.balanceOf(refundRecipient), amount);\n assertEq(erc20.balanceOf(sweepRecipient), 0);\n }\n\n function testRefundAndSweep_ZeroRefundAmount() public {\n address refundRecipient = address(0x401);\n address sweepRecipient = address(0x402);\n\n uint256 amount = 3 ether;\n uint256 refundRequested = 0;\n vm.deal(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), sweepRecipient, amount);\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(0), refundRecipient, refundRequested, sweepRecipient, 0, amount);\n\n TrailsRouter(holder).refundAndSweep(address(0), refundRecipient, refundRequested, sweepRecipient);\n\n assertEq(holder.balance, 0);\n assertEq(refundRecipient.balance, 0);\n assertEq(sweepRecipient.balance, amount);\n }\n\n function testValidateOpHashAndSweep_WithoutSentinel() public {\n bytes32 opHash = keccak256(\"test operation without sentinel\");\n address token = address(mockToken);\n address recipientAddr = recipient;\n\n vm.expectRevert(TrailsRouter.SuccessSentinelNotSet.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) =\n holder.call(abi.encodeWithSelector(router.validateOpHashAndSweep.selector, opHash, token, recipientAddr));\n success;\n }\n\n function testHandleSequenceDelegateCall_InjectAndCall() public {\n uint256 ethAmount = 1 ether;\n vm.deal(holder, ethAmount);\n\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n bytes memory innerData = abi.encodeWithSelector(\n router.injectAndCall.selector, address(0), address(targetEth), callData, uint256(4), PLACEHOLDER\n );\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, innerData);\n\n assertEq(holder.balance, 0);\n assertEq(address(targetEth).balance, ethAmount);\n assertEq(targetEth.lastAmount(), ethAmount);\n }\n\n function testHandleSequenceDelegateCall_Sweep() public {\n uint256 amount = 1 ether;\n vm.deal(holder, amount);\n\n bytes memory innerData = abi.encodeWithSelector(router.sweep.selector, address(0), recipient);\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, innerData);\n\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, amount);\n }\n\n function testHandleSequenceDelegateCall_RefundAndSweep() public {\n address refundRecipient = address(0x501);\n address sweepRecipient = address(0x502);\n\n uint256 amount = 3 ether;\n vm.deal(holder, amount);\n\n bytes memory innerData = abi.encodeWithSelector(\n router.refundAndSweep.selector, address(0), refundRecipient, uint256(1 ether), sweepRecipient\n );\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, innerData);\n\n assertEq(holder.balance, 0);\n assertEq(refundRecipient.balance, 1 ether);\n assertEq(sweepRecipient.balance, 2 ether);\n }\n\n function testHandleSequenceDelegateCall_ValidateOpHashAndSweep() public {\n // Force tstore active for delegated storage context (holder)\n TstoreMode.setActive(holder);\n\n bytes32 opHash = keccak256(\"test-op-hash-delegated\");\n vm.deal(holder, 1 ether);\n\n // Set sentinel\n bytes32 slot = keccak256(abi.encode(TEST_NAMESPACE, opHash));\n bytes memory setTstoreCode = abi.encodePacked(hex\"7f\", TEST_SUCCESS_VALUE, hex\"7f\", slot, hex\"5d\", hex\"00\");\n\n bytes memory routerCode = address(router).code;\n vm.etch(holder, setTstoreCode);\n (bool ok,) = holder.call(\"\");\n assertTrue(ok, \"tstore set failed\");\n vm.etch(holder, routerCode);\n\n bytes memory innerData =\n abi.encodeWithSelector(router.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, innerData);\n\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, 1 ether);\n }\n\n function testInjectAndCall_NoReplacementNeeded() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n testToken.mint(holder, tokenBalance);\n\n // Call data with placeholder at offset 4 (after selector)\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n uint256 amountOffset = 4; // Offset to the uint256 parameter\n bytes32 placeholder = PLACEHOLDER;\n\n // Event is emitted during the call\n\n TrailsRouter(holder).injectAndCall(address(testToken), address(testTarget), callData, amountOffset, placeholder);\n\n assertEq(testTarget.lastAmount(), tokenBalance); // Should use the replaced value\n assertEq(testToken.balanceOf(holder), 0);\n assertEq(testToken.balanceOf(address(testTarget)), tokenBalance);\n }\n\n function testInjectAndCall_WithReplacement() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n testToken.mint(holder, tokenBalance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n uint256 amountOffset = 4;\n bytes32 placeholder = PLACEHOLDER;\n\n vm.expectEmit(true, true, false, false);\n emit BalanceInjectorCall(\n address(testToken), address(testTarget), placeholder, tokenBalance, amountOffset, true, \"\"\n );\n\n TrailsRouter(holder).injectAndCall(address(testToken), address(testTarget), callData, amountOffset, placeholder);\n\n assertEq(testTarget.lastAmount(), tokenBalance);\n assertEq(testToken.balanceOf(holder), 0);\n assertEq(testToken.balanceOf(address(testTarget)), tokenBalance);\n }\n\n function trailsRouterHelperInjectAndCall(\n address token,\n address targetAddress,\n bytes memory callData,\n uint256 amountOffset,\n bytes32 placeholder,\n uint256 ethBalance\n ) internal {\n address wallet = address(0xcafe);\n vm.etch(wallet, address(router).code);\n vm.deal(wallet, ethBalance);\n vm.expectCall(targetAddress, ethBalance, callData);\n (bool success,) = wallet.call(\n abi.encodeWithSignature(\n \"injectAndCall(address,address,bytes,uint256,bytes32)\",\n token,\n targetAddress,\n callData,\n amountOffset,\n placeholder\n )\n );\n vm.assertEq(success, false, \"helper should bubble revert for assertions\");\n }\n\n function testNativeTransferFailure() public {\n RevertingReceiver revertingReceiver = new RevertingReceiver();\n\n vm.deal(holder, 1 ether);\n\n // This should exercise the _transferNative function and cause NativeTransferFailed\n vm.expectRevert(TrailsRouter.NativeTransferFailed.selector);\n TrailsRouter(holder).sweep(address(0), address(revertingReceiver));\n }\n\n function testIncorrectValueValidation() public {\n uint256 requiredAmount = 2 ether;\n uint256 sentAmount = 1 ether;\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, requiredAmount, sentAmount));\n router.pullAmountAndExecute{value: sentAmount}(address(0), requiredAmount, callData);\n }\n\n // =========================================================================\n // SEQ-3: AllowFailure Validation Tests\n // =========================================================================\n\n /**\n * @notice Test that pullAmountAndExecute reverts when allowFailure is true for a single call\n * @dev Validates the fix for SEQ-3 - preventing silent execution failures\n */\n function test_RevertWhen_allowFailure_true_singleCall() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create a call with allowFailure=true (should be rejected)\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAmountAndExecute reverts when allowFailure is true in the first of multiple calls\n * @dev Verifies that validation catches allowFailure=true at index 0\n */\n function test_RevertWhen_allowFailure_true_firstOfMultipleCalls() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create multiple calls where the first one has allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[2] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAmountAndExecute reverts when allowFailure is true in the middle of multiple calls\n * @dev Verifies that validation catches allowFailure=true at index 1\n */\n function test_RevertWhen_allowFailure_true_middleOfMultipleCalls() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create multiple calls where the second one has allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[2] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 1\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 1));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAmountAndExecute reverts when allowFailure is true in the last of multiple calls\n * @dev Verifies that validation catches allowFailure=true at index 2\n */\n function test_RevertWhen_allowFailure_true_lastOfMultipleCalls() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create multiple calls where the last one has allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[2] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 2\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 2));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAmountAndExecute reverts when all calls have allowFailure=true\n * @dev Verifies that validation catches the first allowFailure=true at index 0\n */\n function test_RevertWhen_allowFailure_true_allCalls() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create multiple calls where all have allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter), allowFailure: true, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[2] = IMulticall3.Call3({\n target: address(getter), allowFailure: true, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0 (first occurrence)\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAndExecute also validates allowFailure flag\n * @dev Ensures the validation applies to pullAndExecute as well\n */\n function test_RevertWhen_pullAndExecute_allowFailure_true() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create a call with allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAndExecute(address(erc20), callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that execute with ETH validates allowFailure flag\n * @dev Ensures the validation applies to all execution paths\n */\n function test_RevertWhen_execute_withETH_allowFailure_true() public {\n // Create a call with allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAmountAndExecute{value: 1 ether}(address(0), 1 ether, callData);\n }\n}\n"},"test/TrailsRouterShim.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {TrailsRouterShim} from \"src/TrailsRouterShim.sol\";\nimport {DelegatecallGuard} from \"src/guards/DelegatecallGuard.sol\";\nimport {TrailsSentinelLib} from \"src/libraries/TrailsSentinelLib.sol\";\nimport {TstoreMode, TstoreRead} from \"test/utils/TstoreUtils.sol\";\nimport {TrailsRouter} from \"src/TrailsRouter.sol\";\nimport {IMulticall3} from \"src/interfaces/IMulticall3.sol\";\n\n// -----------------------------------------------------------------------------\n// Interfaces\n// -----------------------------------------------------------------------------\n\n/// @dev Minimal interface for delegated entrypoint used by tests\ninterface IMockDelegatedExtension {\n function handleSequenceDelegateCall(\n bytes32 opHash,\n uint256 startingGas,\n uint256 index,\n uint256 numCalls,\n uint256 space,\n bytes calldata data\n ) external payable;\n}\n\n// -----------------------------------------------------------------------------\n// Mock Contracts\n// -----------------------------------------------------------------------------\n\n/// @dev Mock router that emits events and supports receiving value\ncontract MockRouter is Test {\n event Forwarded(address indexed from, uint256 value, bytes data);\n\n fallback() external payable {\n emit Forwarded(msg.sender, msg.value, msg.data);\n }\n\n receive() external payable {\n emit Forwarded(msg.sender, msg.value, hex\"\");\n }\n}\n\n/// @dev Mock router that implements aggregate3Value and forwards calls to targets\ncontract MockAggregate3Router {\n event Forwarded(address indexed from, uint256 value, bytes data);\n\n receive() external payable {}\n\n fallback() external payable {\n // Accept any call for testing purposes\n emit Forwarded(msg.sender, msg.value, msg.data);\n }\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory)\n {\n IMulticall3.Result[] memory results = new IMulticall3.Result[](calls.length);\n\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = calls[i].target.call{value: calls[i].value}(calls[i].callData);\n results[i] = IMulticall3.Result(success, ret);\n\n // If allowFailure is false and the call failed, revert\n if (!calls[i].allowFailure && !success) {\n // Revert with the failure data\n assembly {\n revert(add(ret, 32), mload(ret))\n }\n }\n }\n\n // Emit event for the aggregate3Value call (matching original MockRouter behavior)\n emit Forwarded(msg.sender, msg.value, msg.data);\n\n return results;\n }\n}\n\n/// @dev Mock router that always reverts with encoded data\ncontract RevertingRouter {\n error AlwaysRevert(bytes data);\n\n fallback() external payable {\n revert AlwaysRevert(msg.data);\n }\n}\n\ncontract MockRouterReturningData {\n event Forwarded(address indexed from, uint256 value, bytes data);\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory)\n {\n IMulticall3.Result[] memory results = new IMulticall3.Result[](calls.length);\n\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = address(this).call{value: calls[i].value}(calls[i].callData);\n results[i] = IMulticall3.Result(success, ret);\n\n // If allowFailure is false and the call failed, revert\n if (!calls[i].allowFailure && !success) {\n // Revert with the failure data\n assembly {\n revert(add(ret, 32), mload(ret))\n }\n }\n }\n\n // Emit event for the aggregate3Value call\n emit Forwarded(msg.sender, msg.value, msg.data);\n\n return results;\n }\n\n function returnTestData() external pure returns (bytes memory) {\n return abi.encode(uint256(42), \"test data\");\n }\n}\n\ncontract CustomErrorRouter {\n error CustomRouterError(string message);\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory)\n {\n IMulticall3.Result[] memory results = new IMulticall3.Result[](calls.length);\n\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = address(this).call{value: calls[i].value}(calls[i].callData);\n results[i] = IMulticall3.Result(success, ret);\n\n // If allowFailure is false and the call failed, revert\n if (!calls[i].allowFailure && !success) {\n // Revert with the failure data\n assembly {\n revert(add(ret, 32), mload(ret))\n }\n }\n }\n\n return results;\n }\n\n function triggerCustomError() external pure {\n revert CustomRouterError(\"custom error message\");\n }\n}\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\ncontract TrailsRouterShimTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n TrailsRouterShim internal shimImpl;\n MockRouter internal router;\n\n // address that will host the shim code to simulate delegatecall context\n address payable internal holder;\n\n // -------------------------------------------------------------------------\n // Setup and Tests\n // -------------------------------------------------------------------------\n function setUp() public {\n router = new MockRouter();\n shimImpl = new TrailsRouterShim(address(router));\n holder = payable(address(0xbeef));\n // Install shim runtime code at the holder address to simulate delegatecall\n vm.etch(holder, address(shimImpl).code);\n }\n\n // -------------------------------------------------------------------------\n // Test Functions\n // -------------------------------------------------------------------------\n function test_constructor_revert_zeroRouter() public {\n vm.expectRevert(TrailsRouterShim.ZeroRouterAddress.selector);\n new TrailsRouterShim(address(0));\n }\n\n function test_direct_handleSequenceDelegateCall_reverts_not_delegatecall() public {\n bytes memory inner = abi.encodeWithSignature(\"someFunc()\");\n bytes memory data = abi.encode(inner, 0);\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n shimImpl.handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, data);\n }\n\n function test_delegatecall_forwards_and_sets_sentinel_tstore_active() public {\n // Explicitly force tstore active for TrailsRouterShim storage\n TstoreMode.setActive(address(shimImpl));\n\n // Arrange: opHash and value\n bytes32 opHash = keccak256(\"test-op-tstore\");\n uint256 callValue = 1 ether;\n vm.deal(holder, callValue);\n\n // Expect router event when forwarded - use valid aggregate3Value call\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"doNothing(uint256)\", uint256(123))\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, callValue);\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, callValue, routerCalldata);\n\n // Act: delegate entrypoint\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, forwardData);\n\n // Assert via tload\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n uint256 storedT = TstoreRead.tloadAt(holder, bytes32(slot));\n assertEq(storedT, TrailsSentinelLib.SUCCESS_VALUE);\n }\n\n function test_delegatecall_forwards_and_sets_sentinel_sstore_inactive() public {\n // Explicitly force tstore inactive for shim code at `holder`\n TstoreMode.setInactive(holder);\n\n // Arrange: opHash and value\n bytes32 opHash = keccak256(\"test-op-sstore\");\n uint256 callValue = 1 ether;\n vm.deal(holder, callValue);\n\n // Expect router event when forwarded - use valid aggregate3Value call\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"doNothing(uint256)\", uint256(123))\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, callValue);\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, callValue, routerCalldata);\n\n // Act: delegate entrypoint\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, forwardData);\n\n // Verify sentinel by re-etching TrailsRouter and validating via delegated entrypoint\n bytes memory original = address(shimImpl).code;\n vm.etch(holder, address(new TrailsRouter(0xcA11bde05977b3631167028862bE2a173976CA11)).code);\n\n address payable recipient = payable(address(0x111));\n vm.deal(holder, callValue);\n bytes memory data =\n abi.encodeWithSelector(TrailsRouter.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, data);\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, callValue);\n vm.etch(holder, original);\n }\n\n function test_delegatecall_sets_sentinel_with_tstore_when_supported() public {\n // Force tstore active to ensure tstore path on TrailsRouterShim storage\n TstoreMode.setActive(address(shimImpl));\n bytes32 opHash = keccak256(\"tstore-case\");\n vm.deal(holder, 0);\n\n // Invoke delegate entrypoint to set sentinel with valid aggregate3Value call\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](0); // Empty calls array\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, 0);\n (bool ok,) = address(holder)\n .call(\n abi.encodeWithSelector(\n IMockDelegatedExtension.handleSequenceDelegateCall.selector, opHash, 0, 0, 0, 0, forwardData\n )\n );\n assertTrue(ok, \"delegatecall should succeed\");\n\n // Read via tload\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n uint256 storedT = TstoreRead.tloadAt(holder, bytes32(slot));\n assertEq(storedT, TrailsSentinelLib.SUCCESS_VALUE);\n }\n\n function test_delegatecall_sets_sentinel_with_sstore_when_no_tstore() public {\n // Force tstore inactive to ensure sstore path\n TstoreMode.setInactive(holder);\n bytes32 opHash = keccak256(\"sstore-case\");\n vm.deal(holder, 0);\n\n // Invoke delegate entrypoint to set sentinel with valid aggregate3Value call\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](0); // Empty calls array\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, 0);\n (bool ok,) = address(holder)\n .call(\n abi.encodeWithSelector(\n IMockDelegatedExtension.handleSequenceDelegateCall.selector, opHash, 0, 0, 0, 0, forwardData\n )\n );\n assertTrue(ok, \"delegatecall should succeed\");\n\n // Verify via TrailsRouter delegated validation\n bytes memory original = address(shimImpl).code;\n vm.etch(holder, address(new TrailsRouter(0xcA11bde05977b3631167028862bE2a173976CA11)).code);\n address payable recipient = payable(address(0x112));\n vm.deal(holder, 1 ether);\n bytes memory data =\n abi.encodeWithSelector(TrailsRouter.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, data);\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, 1 ether);\n vm.etch(holder, original);\n }\n\n function test_delegatecall_router_revert_bubbles_as_RouterCallFailed() public {\n // Swap router code at the existing router address with a reverting one\n RevertingRouter reverting = new RevertingRouter();\n vm.etch(address(router), address(reverting).code);\n\n // Prepare data - use aggregate3Value call that will revert\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"willRevert()\", \"x\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, 0);\n\n // Call and capture revert data, then assert custom error selector\n (bool ok, bytes memory ret) = address(holder)\n .call(\n abi.encodeWithSelector(\n IMockDelegatedExtension.handleSequenceDelegateCall.selector, bytes32(0), 0, 0, 0, 0, forwardData\n )\n );\n assertFalse(ok, \"call should revert\");\n bytes4 sel;\n assembly {\n sel := mload(add(ret, 32))\n }\n assertEq(sel, TrailsRouterShim.RouterCallFailed.selector, \"expected RouterCallFailed selector\");\n }\n\n function test_handleSequenceDelegateCall_with_eth_value() public {\n uint256 callValue = 2 ether;\n vm.deal(holder, callValue);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"receiveEth()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, callValue);\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, callValue, routerCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n\n assertEq(holder.balance, 0, \"holder should have sent ETH to router\");\n }\n\n function test_handleSequenceDelegateCall_empty_calldata() public {\n // Empty aggregate3Value call with empty calls array\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](0);\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n }\n\n function test_handleSequenceDelegateCall_large_calldata() public {\n // Create large call data to test assembly handling within aggregate3\n bytes memory largeData = new bytes(10000);\n for (uint256 i = 0; i < largeData.length; i++) {\n // casting to 'uint8' is safe because i % 256 is always between 0-255\n /// forge-lint: disable-next-line(unsafe-typecast)\n largeData[i] = bytes1(uint8(i % 256));\n }\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({target: address(router), allowFailure: false, value: 0, callData: largeData});\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, 0, routerCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n }\n\n function test_handleSequenceDelegateCall_zero_call_value() public {\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"doSomething()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, 0, routerCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n }\n\n function test_handleSequenceDelegateCall_allows_arbitrary_selector() public {\n // No validation is enforced in the shim anymore; arbitrary selector should be forwarded.\n bytes memory arbitraryCalldata = hex\"deadbeef\";\n bytes memory forwardData = abi.encode(arbitraryCalldata, uint256(0));\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, 0, arbitraryCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n }\n\n function test_handleSequenceDelegateCall_max_call_value() public {\n uint256 maxValue = type(uint256).max;\n vm.deal(holder, maxValue);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"handleMaxValue()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, maxValue);\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, maxValue, routerCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n\n assertEq(holder.balance, 0, \"holder should have sent all ETH\");\n }\n\n function test_forwardToRouter_return_data_handling() public {\n // Test with a mock router that returns data\n MockRouterReturningData returningRouter = new MockRouterReturningData();\n TrailsRouterShim shimWithReturningRouter = new TrailsRouterShim(address(returningRouter));\n\n address payable testHolder = payable(address(0xbeef));\n vm.etch(testHolder, address(shimWithReturningRouter).code);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(returningRouter),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"returnTestData()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n bytes32 testOpHash = keccak256(\"test-return-data\");\n IMockDelegatedExtension(testHolder).handleSequenceDelegateCall(testOpHash, 0, 0, 0, 0, forwardData);\n\n // Verify sentinel was set\n uint256 slot = TrailsSentinelLib.successSlot(testOpHash);\n uint256 storedT = TstoreRead.tloadAt(testHolder, bytes32(slot));\n assertEq(storedT, TrailsSentinelLib.SUCCESS_VALUE);\n }\n\n function test_forwardToRouter_revert_with_custom_error() public {\n CustomErrorRouter customErrorRouter = new CustomErrorRouter();\n TrailsRouterShim shimWithCustomError = new TrailsRouterShim(address(customErrorRouter));\n\n address payable testHolder = payable(address(0xbeef));\n vm.etch(testHolder, address(shimWithCustomError).code);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(customErrorRouter),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"triggerCustomError()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n (bool ok, bytes memory ret) = address(testHolder)\n .call(\n abi.encodeWithSelector(\n IMockDelegatedExtension.handleSequenceDelegateCall.selector, bytes32(0), 0, 0, 0, 0, forwardData\n )\n );\n\n assertFalse(ok, \"call should revert\");\n bytes4 sel;\n assembly {\n sel := mload(add(ret, 32))\n }\n assertEq(sel, TrailsRouterShim.RouterCallFailed.selector, \"expected RouterCallFailed selector\");\n }\n\n function test_sentinel_setting_with_different_op_hashes() public {\n TstoreMode.setActive(holder);\n\n bytes32 opHash1 = keccak256(\"op1\");\n bytes32 opHash2 = keccak256(\"op2\");\n\n // First call\n IMulticall3.Call3Value[] memory calls1 = new IMulticall3.Call3Value[](1);\n calls1[0] = IMulticall3.Call3Value({\n target: address(router), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"call1()\")\n });\n bytes memory routerCalldata1 = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls1);\n bytes memory forwardData1 = abi.encode(routerCalldata1, uint256(0));\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash1, 0, 0, 0, 0, forwardData1);\n\n // Second call\n IMulticall3.Call3Value[] memory calls2 = new IMulticall3.Call3Value[](1);\n calls2[0] = IMulticall3.Call3Value({\n target: address(router), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"call2()\")\n });\n bytes memory routerCalldata2 = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls2);\n bytes memory forwardData2 = abi.encode(routerCalldata2, uint256(0));\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash2, 0, 0, 0, 0, forwardData2);\n\n // Check both sentinels are set\n uint256 slot1 = TrailsSentinelLib.successSlot(opHash1);\n uint256 slot2 = TrailsSentinelLib.successSlot(opHash2);\n\n uint256 storedT1 = TstoreRead.tloadAt(holder, bytes32(slot1));\n uint256 storedT2 = TstoreRead.tloadAt(holder, bytes32(slot2));\n\n assertEq(storedT1, TrailsSentinelLib.SUCCESS_VALUE);\n assertEq(storedT2, TrailsSentinelLib.SUCCESS_VALUE);\n assertTrue(slot1 != slot2, \"slots should be different\");\n }\n\n function testRouterAddressImmutable() public {\n address testRouter = address(new MockRouter());\n TrailsRouterShim shim = new TrailsRouterShim(testRouter);\n\n assertEq(shim.ROUTER(), testRouter, \"ROUTER should be set correctly\");\n }\n\n function testConstructorValidation() public {\n // Test that constructor properly validates router address\n vm.expectRevert(TrailsRouterShim.ZeroRouterAddress.selector);\n new TrailsRouterShim(address(0));\n }\n\n function testForwardToRouterReturnValue() public {\n // Test that _forwardToRouter properly returns router response\n bytes memory testData = abi.encodeWithSignature(\"testReturn()\");\n\n // Mock router that returns data\n MockRouterReturningData returningRouter = new MockRouterReturningData();\n TrailsRouterShim shim = new TrailsRouterShim(address(returningRouter));\n\n // Call the internal function indirectly through handleSequenceDelegateCall\n bytes memory innerData = abi.encode(testData, uint256(0));\n bytes32 opHash = keccak256(\"test-return-value\");\n\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n shim.handleSequenceDelegateCall(opHash, 0, 0, 0, 0, innerData);\n }\n}\n"},"test/guards/DelegatecallGuard.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {DelegatecallGuard} from \"src/guards/DelegatecallGuard.sol\";\n\n// -----------------------------------------------------------------------------\n// Mock Contracts\n// -----------------------------------------------------------------------------\n\n/// @dev Minimal contract using DelegatecallGuard\ncontract MockGuarded is DelegatecallGuard {\n event Ping(address sender);\n\n function ping() external onlyDelegatecall {\n emit Ping(msg.sender);\n }\n\n function guardedFunction() external onlyDelegatecall {\n // Function to test the onlyDelegatecall modifier\n }\n}\n\n/// @dev Host that can delegatecall into a target\ncontract MockHost {\n function callPing(address target) external returns (bool ok, bytes memory ret) {\n return target.delegatecall(abi.encodeWithSelector(MockGuarded.ping.selector));\n }\n\n function callGuardedFunction(address target) external returns (bool ok, bytes memory ret) {\n return target.delegatecall(abi.encodeWithSelector(MockGuardedModifierTest.guardedFunction.selector));\n }\n}\n\n/// @dev Contract that tests the onlyDelegatecall modifier\ncontract MockGuardedModifierTest is DelegatecallGuard {\n event ModifierTest(address sender);\n\n function guardedFunction() external onlyDelegatecall {\n emit ModifierTest(msg.sender);\n }\n}\n\n/// @dev Contract that tests the nested delegatecall context\ncontract MockNestedGuarded is DelegatecallGuard {\n event Ping(address sender);\n\n function ping() external onlyDelegatecall {\n emit Ping(msg.sender);\n }\n\n function callOther(address other) external onlyDelegatecall {\n MockGuarded(other).ping();\n }\n}\n\n/// @dev Host that can delegatecall into a target\ncontract MockNestedHost {\n function callNestedPing(address target) external returns (bool ok, bytes memory ret) {\n // This will delegatecall into target, which will then delegatecall back to another contract\n return target.delegatecall(abi.encodeWithSelector(MockNestedGuarded.ping.selector));\n }\n}\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract DelegatecallGuardTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n MockGuarded internal guarded;\n MockHost internal host;\n\n // -------------------------------------------------------------------------\n // Setup and Tests\n // -------------------------------------------------------------------------\n function setUp() public {\n guarded = new MockGuarded();\n host = new MockHost();\n }\n\n // -------------------------------------------------------------------------\n // Test Functions\n // -------------------------------------------------------------------------\n function test_direct_call_reverts_NotDelegateCall() public {\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n guarded.ping();\n }\n\n function test_delegatecall_context_succeeds() public {\n vm.expectEmit(true, false, false, true);\n emit MockGuarded.Ping(address(this));\n (bool ok,) = host.callPing(address(guarded));\n assertTrue(ok, \"delegatecall-context ping should succeed\");\n }\n\n function test_self_address_immutable() public view {\n // Test that _SELF is properly set to the contract's address\n // This indirectly tests the immutable variable assignment\n assertTrue(address(guarded) != address(0), \"guarded contract should be deployed\");\n }\n\n function test_onlyDelegatecall_modifier_usage() public {\n // Test that the modifier correctly uses the internal function\n MockGuardedModifierTest modifierTest = new MockGuardedModifierTest();\n\n // Direct call should revert\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n modifierTest.guardedFunction();\n\n // Delegate call should succeed\n (bool ok,) =\n address(host).call(abi.encodeWithSelector(MockHost.callGuardedFunction.selector, address(modifierTest)));\n assertTrue(ok, \"delegatecall with modifier should succeed\");\n }\n\n function test_multiple_delegatecall_guards() public {\n // Test multiple contracts using DelegatecallGuard\n MockGuarded guarded2 = new MockGuarded();\n MockHost host2 = new MockHost();\n\n // Both should work independently\n vm.expectEmit(true, false, false, true);\n emit MockGuarded.Ping(address(this));\n (bool ok1,) = host.callPing(address(guarded));\n assertTrue(ok1, \"first guarded contract delegatecall should succeed\");\n\n vm.expectEmit(true, false, false, true);\n emit MockGuarded.Ping(address(this));\n (bool ok2,) = host2.callPing(address(guarded2));\n assertTrue(ok2, \"second guarded contract delegatecall should succeed\");\n }\n\n function test_delegatecall_nested_context() public {\n // Test delegatecall within delegatecall\n MockNestedGuarded nested = new MockNestedGuarded();\n MockNestedHost nestedHost = new MockNestedHost();\n\n vm.expectEmit(true, false, false, true);\n emit MockGuarded.Ping(address(this));\n (bool ok,) = nestedHost.callNestedPing(address(nested));\n assertTrue(ok, \"nested delegatecall should succeed\");\n }\n\n function testSelfImmutableVariable() public {\n // Test that _SELF is properly initialized to address(this)\n // This tests the line: address internal immutable _SELF = address(this);\n MockGuarded testGuard = new MockGuarded();\n\n // The _SELF variable should be set to the contract's address during construction\n // We can't directly access it, but we can verify it works through the modifier\n assertTrue(address(testGuard) != address(0), \"_SELF should be initialized to contract address\");\n }\n\n function testOnlyDelegatecallInternalFunction() public {\n MockGuarded testGuard = new MockGuarded();\n\n // Direct call to a function with onlyDelegatecall modifier should revert\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n testGuard.guardedFunction();\n\n // This tests that the internal _onlyDelegatecall function is executed\n // and checks if address(this) == _SELF\n }\n}\n"},"test/libraries/TrailsSentinelLib.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {TrailsSentinelLib} from \"src/libraries/TrailsSentinelLib.sol\";\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\ncontract TrailsSentinelLibTest is Test {\n // -------------------------------------------------------------------------\n // Tests\n // -------------------------------------------------------------------------\n\n function test_SentinelNamespace_Constant() public pure {\n bytes32 expected = keccak256(\"org.sequence.trails.router.sentinel\");\n assertEq(TrailsSentinelLib.SENTINEL_NAMESPACE, expected);\n }\n\n function test_SuccessValue_Constant() public pure {\n assertEq(TrailsSentinelLib.SUCCESS_VALUE, uint256(1));\n }\n\n function test_SuccessSlot_DifferentOpHashes() public pure {\n bytes32 opHash1 = keccak256(\"operation1\");\n bytes32 opHash2 = keccak256(\"operation2\");\n\n uint256 slot1 = TrailsSentinelLib.successSlot(opHash1);\n uint256 slot2 = TrailsSentinelLib.successSlot(opHash2);\n\n assertTrue(slot1 != slot2, \"Different opHashes should produce different slots\");\n }\n\n function test_SuccessSlot_Deterministic() public pure {\n bytes32 opHash = keccak256(\"test-operation\");\n uint256 slot1 = TrailsSentinelLib.successSlot(opHash);\n uint256 slot2 = TrailsSentinelLib.successSlot(opHash);\n\n assertEq(slot1, slot2, \"Same opHash should always produce same slot\");\n }\n\n function test_SuccessSlot_Computation() public pure {\n bytes32 opHash = keccak256(\"test-op\");\n bytes32 namespace = TrailsSentinelLib.SENTINEL_NAMESPACE;\n\n // Manually compute expected slot\n bytes32 expectedKey;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n expectedKey := keccak256(0x00, 0x40)\n }\n uint256 expectedSlot = uint256(expectedKey);\n\n uint256 actualSlot = TrailsSentinelLib.successSlot(opHash);\n assertEq(actualSlot, expectedSlot, \"Slot computation should match manual calculation\");\n }\n\n function test_SuccessSlot_ZeroOpHash() public pure {\n bytes32 opHash = bytes32(0);\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n\n bytes32 namespace = TrailsSentinelLib.SENTINEL_NAMESPACE;\n bytes32 expectedKey;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n expectedKey := keccak256(0x00, 0x40)\n }\n uint256 expectedSlot = uint256(expectedKey);\n\n assertEq(slot, expectedSlot, \"Zero opHash should produce valid slot\");\n }\n\n function test_SuccessSlot_MaxOpHash() public pure {\n bytes32 opHash = bytes32(type(uint256).max);\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n\n bytes32 namespace = TrailsSentinelLib.SENTINEL_NAMESPACE;\n bytes32 expectedKey;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n expectedKey := keccak256(0x00, 0x40)\n }\n uint256 expectedSlot = uint256(expectedKey);\n\n assertEq(slot, expectedSlot, \"Max opHash should produce valid slot\");\n }\n\n function test_SuccessSlot_VariousOpHashes() public pure {\n bytes32[] memory opHashes = new bytes32[](5);\n opHashes[0] = keccak256(\"op1\");\n opHashes[1] = keccak256(\"op2\");\n opHashes[2] = keccak256(abi.encodePacked(\"complex\", uint256(123), address(0x123)));\n opHashes[3] = keccak256(abi.encodePacked(uint256(1234567890), address(0x123)));\n opHashes[4] = bytes32(uint256(0x123456789abcdef));\n\n uint256[] memory slots = new uint256[](5);\n for (uint256 i = 0; i < opHashes.length; i++) {\n slots[i] = TrailsSentinelLib.successSlot(opHashes[i]);\n }\n\n // All slots should be different\n for (uint256 i = 0; i < slots.length; i++) {\n for (uint256 j = i + 1; j < slots.length; j++) {\n assertTrue(slots[i] != slots[j], \"All slots should be unique\");\n }\n }\n }\n\n function test_SuccessSlot_AssemblyCorrectness() public pure {\n // Test that the assembly implementation is correct by comparing with Solidity equivalent\n bytes32 opHash = keccak256(\"assembly-test\");\n bytes32 namespace = TrailsSentinelLib.SENTINEL_NAMESPACE;\n\n // Assembly version (from contract)\n uint256 assemblySlot = TrailsSentinelLib.successSlot(opHash);\n\n // Solidity equivalent\n uint256 soliditySlot = uint256(keccak256(abi.encode(namespace, opHash)));\n\n assertEq(assemblySlot, soliditySlot, \"Assembly should match Solidity keccak256(abi.encode(...))\");\n }\n\n function test_Constants_DoNotChange() public pure {\n // Test that constants are what we expect and don't accidentally change\n assertEq(TrailsSentinelLib.SUCCESS_VALUE, 1, \"SUCCESS_VALUE should be 1\");\n\n bytes32 expectedNamespace = keccak256(\"org.sequence.trails.router.sentinel\");\n assertEq(\n TrailsSentinelLib.SENTINEL_NAMESPACE, expectedNamespace, \"SENTINEL_NAMESPACE should match expected value\"\n );\n }\n\n function test_SentinelNamespace_Computation() public pure {\n // Test that SENTINEL_NAMESPACE is computed correctly\n bytes32 expected = keccak256(\"org.sequence.trails.router.sentinel\");\n assertEq(TrailsSentinelLib.SENTINEL_NAMESPACE, expected);\n\n // This should cover the keccak256 computation in the constant declaration\n }\n\n function test_SuccessValue_IsOne() public pure {\n // Test that SUCCESS_VALUE is exactly 1\n assertEq(TrailsSentinelLib.SUCCESS_VALUE, uint256(1));\n\n // Test that it's not zero or any other value\n assertTrue(TrailsSentinelLib.SUCCESS_VALUE != 0);\n assertTrue(TrailsSentinelLib.SUCCESS_VALUE != 2);\n }\n\n function test_SuccessSlot_UsesCorrectNamespace() public pure {\n bytes32 opHash = keccak256(\"test\");\n\n // Manually compute what the slot should be\n bytes32 expectedSlot = keccak256(abi.encode(TrailsSentinelLib.SENTINEL_NAMESPACE, opHash));\n\n uint256 actualSlot = TrailsSentinelLib.successSlot(opHash);\n assertEq(actualSlot, uint256(expectedSlot));\n\n // This ensures the namespace variable assignment is covered\n }\n}\n"},"test/mocks/MockERC20.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {ERC20} from \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\n// -----------------------------------------------------------------------------\n// Mock Contract\n// -----------------------------------------------------------------------------\n\ncontract MockERC20 is ERC20 {\n uint8 private _decimals;\n\n constructor(string memory name, string memory symbol, uint8 decimals_) ERC20(name, symbol) {\n _decimals = decimals_;\n }\n\n function decimals() public view override returns (uint8) {\n return _decimals;\n }\n\n function mint(address to, uint256 amount) public {\n _mint(to, amount);\n }\n}\n"},"test/mocks/MockMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {IMulticall3} from \"src/interfaces/IMulticall3.sol\";\n\n// -----------------------------------------------------------------------------\n// Mock Contract\n// -----------------------------------------------------------------------------\n\ncontract MockMulticall3 {\n bool public shouldFail;\n\n function setShouldFail(bool _shouldFail) external {\n shouldFail = _shouldFail;\n }\n\n function aggregate3(IMulticall3.Call3[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory returnResults)\n {\n if (shouldFail) {\n revert(\"MockMulticall3: forced failure\");\n }\n\n returnResults = new IMulticall3.Result[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n IMulticall3.Call3 calldata call = calls[i];\n (bool success, bytes memory returnData) = call.target.call(call.callData);\n returnResults[i] = IMulticall3.Result({success: success, returnData: returnData});\n if (!call.allowFailure && !success) {\n revert(\"Multicall3: call failed\");\n }\n }\n }\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory returnResults)\n {\n if (shouldFail) {\n revert(\"MockMulticall3: forced failure\");\n }\n\n returnResults = new IMulticall3.Result[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n IMulticall3.Call3Value calldata call = calls[i];\n (bool success, bytes memory returnData) = call.target.call{value: call.value}(call.callData);\n returnResults[i] = IMulticall3.Result({success: success, returnData: returnData});\n if (!call.allowFailure && !success) {\n revert(\"Multicall3: call failed\");\n }\n }\n }\n}\n"},"test/mocks/MockNonStandardERC20.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n/**\n * @title MockNonStandardERC20\n * @notice Mock ERC20 token that doesn't return boolean from transfer/transferFrom\n * @dev Mimics tokens like USDT that don't follow the ERC20 standard strictly\n */\ncontract MockNonStandardERC20 {\n string public name = \"Non-Standard Token\";\n string public symbol = \"NST\";\n uint8 public decimals = 6;\n uint256 public totalSupply;\n\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n event Transfer(address indexed from, address indexed to, uint256 value);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n constructor(uint256 initialSupply) {\n totalSupply = initialSupply;\n balanceOf[msg.sender] = initialSupply;\n emit Transfer(address(0), msg.sender, initialSupply);\n }\n\n /**\n * @notice Transfer tokens - DOES NOT RETURN A BOOLEAN (non-standard)\n * @dev This mimics USDT's behavior where transfer doesn't return a value\n */\n function transfer(address to, uint256 value) public {\n require(balanceOf[msg.sender] >= value, \"Insufficient balance\");\n balanceOf[msg.sender] -= value;\n balanceOf[to] += value;\n emit Transfer(msg.sender, to, value);\n // NOTE: No return value (non-standard)\n }\n\n /**\n * @notice Transfer tokens from one address to another - DOES NOT RETURN A BOOLEAN (non-standard)\n * @dev This mimics USDT's behavior where transferFrom doesn't return a value\n */\n function transferFrom(address from, address to, uint256 value) public {\n require(balanceOf[from] >= value, \"Insufficient balance\");\n require(allowance[from][msg.sender] >= value, \"Insufficient allowance\");\n\n balanceOf[from] -= value;\n balanceOf[to] += value;\n allowance[from][msg.sender] -= value;\n\n emit Transfer(from, to, value);\n // NOTE: No return value (non-standard)\n }\n\n /**\n * @notice Approve spender to spend tokens - DOES return a boolean (standard)\n */\n function approve(address spender, uint256 value) public returns (bool) {\n allowance[msg.sender][spender] = value;\n emit Approval(msg.sender, spender, value);\n return true;\n }\n\n /**\n * @notice Mint tokens for testing\n */\n function mint(address to, uint256 amount) public {\n totalSupply += amount;\n balanceOf[to] += amount;\n emit Transfer(address(0), to, amount);\n }\n}\n"},"test/mocks/MockSenderGetter.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n// -----------------------------------------------------------------------------\n// Mock Contract\n// -----------------------------------------------------------------------------\n\ncontract MockSenderGetter {\n function getSender() external view returns (address) {\n return msg.sender;\n }\n}\n"},"test/script/TrailsIntentEntrypoint.s.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Deploy as TrailsIntentEntrypointDeploy} from \"script/TrailsIntentEntrypoint.s.sol\";\nimport {TrailsIntentEntrypoint} from \"src/TrailsIntentEntrypoint.sol\";\nimport {Create2Utils} from \"../utils/Create2Utils.sol\";\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsIntentEntrypointDeploymentTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsIntentEntrypointDeploy internal _deployScript;\n address internal _deployer;\n uint256 internal _deployerPk;\n string internal _deployerPkStr;\n\n // -------------------------------------------------------------------------\n // Pure Functions\n // -------------------------------------------------------------------------\n\n // Expected predetermined address (calculated using CREATE2)\n function expectedIntentEntrypointAddress() internal pure returns (address payable) {\n return\n Create2Utils.calculateCreate2Address(type(TrailsIntentEntrypoint).creationCode, Create2Utils.standardSalt());\n }\n\n // -------------------------------------------------------------------------\n // Setup\n // -------------------------------------------------------------------------\n\n function setUp() public {\n _deployScript = new TrailsIntentEntrypointDeploy();\n _deployerPk = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; // anvil default key\n _deployerPkStr = \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\";\n _deployer = vm.addr(_deployerPk);\n vm.deal(_deployer, 100 ether);\n }\n\n // -------------------------------------------------------------------------\n // Tests\n // -------------------------------------------------------------------------\n\n function test_DeployIntentEntrypoint_Success() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n vm.recordLogs();\n _deployScript.run();\n\n // Get the expected address\n address payable expectedAddress = expectedIntentEntrypointAddress();\n\n // Verify the deployed contract is functional\n TrailsIntentEntrypoint entrypoint = TrailsIntentEntrypoint(expectedAddress);\n assertEq(address(entrypoint).code.length > 0, true, \"Entrypoint should have code\");\n\n // Verify domain separator is set (basic functionality test)\n bytes32 domainSeparator = entrypoint.DOMAIN_SEPARATOR();\n assertTrue(domainSeparator != bytes32(0), \"Domain separator should be set\");\n }\n\n function test_DeployIntentEntrypoint_SameAddress() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Get the expected address\n address payable expectedAddress = expectedIntentEntrypointAddress();\n\n // First deployment\n vm.recordLogs();\n _deployScript.run();\n\n // Verify first deployment address\n assertEq(expectedAddress.code.length > 0, true, \"First deployment: TrailsIntentEntrypoint deployed\");\n\n // Re-set the PRIVATE_KEY for second deployment\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Second deployment should result in the same address (deterministic)\n vm.recordLogs();\n _deployScript.run();\n\n // Verify second deployment still has contract at same address\n assertEq(expectedAddress.code.length > 0, true, \"Second deployment: TrailsIntentEntrypoint still deployed\");\n }\n\n function test_DeployedIntentEntrypoint_HasCorrectConfiguration() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Deploy the script\n _deployScript.run();\n\n // Get reference to deployed contract\n address payable expectedAddress = expectedIntentEntrypointAddress();\n TrailsIntentEntrypoint entrypoint = TrailsIntentEntrypoint(expectedAddress);\n\n // Verify contract is deployed and functional\n assertEq(address(entrypoint).code.length > 0, true, \"Entrypoint should have code\");\n\n // Verify EIP-712 domain separator is properly constructed\n bytes32 domainSeparator = entrypoint.DOMAIN_SEPARATOR();\n assertTrue(domainSeparator != bytes32(0), \"Domain separator should be initialized\");\n\n // Verify constants are set correctly\n assertEq(entrypoint.VERSION(), \"1\", \"Version should be 1\");\n assertTrue(entrypoint.TRAILS_INTENT_TYPEHASH() != bytes32(0), \"Intent typehash should be set\");\n }\n}\n"},"test/script/TrailsRouter.s.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Deploy as TrailsRouterDeploy} from \"script/TrailsRouter.s.sol\";\nimport {TrailsRouter} from \"src/TrailsRouter.sol\";\nimport {Create2Utils} from \"../utils/Create2Utils.sol\";\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsRouterDeploymentTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsRouterDeploy internal _deployScript;\n address internal _deployer;\n uint256 internal _deployerPk;\n string internal _deployerPkStr;\n\n // -------------------------------------------------------------------------\n // Pure Functions\n // -------------------------------------------------------------------------\n\n // Expected predetermined address (calculated using CREATE2)\n function expectedRouterAddress() internal pure returns (address payable) {\n address multicall3 = 0xcA11bde05977b3631167028862bE2a173976CA11;\n bytes memory initCode = abi.encodePacked(type(TrailsRouter).creationCode, abi.encode(multicall3));\n return Create2Utils.calculateCreate2Address(initCode, Create2Utils.standardSalt());\n }\n\n // -------------------------------------------------------------------------\n // Setup\n // -------------------------------------------------------------------------\n\n function setUp() public {\n _deployScript = new TrailsRouterDeploy();\n _deployerPk = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; // anvil default key\n _deployerPkStr = \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\";\n _deployer = vm.addr(_deployerPk);\n vm.deal(_deployer, 100 ether);\n }\n\n // -------------------------------------------------------------------------\n // Test Functions\n // -------------------------------------------------------------------------\n\n function test_DeployTrailsRouter_Success() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n vm.recordLogs();\n _deployScript.run();\n\n // Verify TrailsRouter was deployed at the expected address\n address payable expectedAddr = expectedRouterAddress();\n assertEq(expectedAddr.code.length > 0, true, \"TrailsRouter should be deployed\");\n\n // Verify the deployed contract is functional\n TrailsRouter router = TrailsRouter(expectedAddr);\n assertEq(address(router).code.length > 0, true, \"Router should have code\");\n }\n\n function test_DeployTrailsRouter_SameAddress() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // First deployment\n vm.recordLogs();\n _deployScript.run();\n\n // Verify first deployment address\n address payable expectedAddr = expectedRouterAddress();\n assertEq(expectedAddr.code.length > 0, true, \"First deployment: TrailsRouter deployed\");\n\n // Re-set the PRIVATE_KEY for second deployment\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Second deployment should result in the same address (deterministic)\n vm.recordLogs();\n _deployScript.run();\n\n // Verify second deployment still has contract at same address\n assertEq(expectedAddr.code.length > 0, true, \"Second deployment: TrailsRouter still deployed\");\n }\n\n function test_DeployedRouter_HasCorrectConfiguration() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Deploy the script\n _deployScript.run();\n\n // Get reference to deployed contract\n address payable expectedAddr = expectedRouterAddress();\n TrailsRouter router = TrailsRouter(expectedAddr);\n\n // Verify contract is deployed and functional\n assertEq(address(router).code.length > 0, true, \"Router should have code\");\n\n // Test basic functionality - router should be able to receive calls\n // This is a smoke test to ensure the contract is properly deployed\n (bool success,) = address(router).call(\"\");\n assertEq(success, true, \"Router should accept basic calls\");\n }\n}\n"},"test/script/TrailsRouterShim.s.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Deploy as TrailsRouterShimDeploy} from \"script/TrailsRouterShim.s.sol\";\nimport {TrailsRouterShim} from \"src/TrailsRouterShim.sol\";\nimport {TrailsRouter} from \"src/TrailsRouter.sol\";\nimport {Create2Utils} from \"../utils/Create2Utils.sol\";\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsRouterShimDeploymentTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsRouterShimDeploy internal _deployScript;\n address internal _deployer;\n uint256 internal _deployerPk;\n string internal _deployerPkStr;\n\n // -------------------------------------------------------------------------\n // Pure Functions\n // -------------------------------------------------------------------------\n\n // Expected predetermined addresses (calculated using CREATE2)\n function expectedRouterAddress() internal pure returns (address payable) {\n address multicall3 = 0xcA11bde05977b3631167028862bE2a173976CA11;\n bytes memory initCode = abi.encodePacked(type(TrailsRouter).creationCode, abi.encode(multicall3));\n return Create2Utils.calculateCreate2Address(initCode, Create2Utils.standardSalt());\n }\n\n function expectedShimAddress() internal pure returns (address payable) {\n address routerAddr = expectedRouterAddress();\n bytes memory shimInitCode = abi.encodePacked(type(TrailsRouterShim).creationCode, abi.encode(routerAddr));\n return Create2Utils.calculateCreate2Address(shimInitCode, Create2Utils.standardSalt());\n }\n\n // -------------------------------------------------------------------------\n // Setup\n // -------------------------------------------------------------------------\n\n function setUp() public {\n _deployScript = new TrailsRouterShimDeploy();\n _deployerPk = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; // anvil default key\n _deployerPkStr = \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\";\n _deployer = vm.addr(_deployerPk);\n vm.deal(_deployer, 100 ether);\n }\n\n // -------------------------------------------------------------------------\n // Test Functions\n // -------------------------------------------------------------------------\n\n function test_DeployRouterShim_Success() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n vm.recordLogs();\n _deployScript.run();\n\n // Get the actual router address from the deployment script\n address deployedRouterAddr = _deployScript.routerAddress();\n\n // Verify TrailsRouter was deployed\n assertEq(deployedRouterAddr.code.length > 0, true, \"TrailsRouter should be deployed\");\n\n // Verify TrailsRouterShim was deployed at the expected address\n address payable expectedShimAddr = expectedShimAddress();\n assertEq(expectedShimAddr.code.length > 0, true, \"TrailsRouterShim should be deployed at expected address\");\n\n // Verify the shim's router address is correctly set\n TrailsRouterShim shim = TrailsRouterShim(expectedShimAddr);\n assertEq(address(shim.ROUTER()), deployedRouterAddr, \"Shim should have correct router address\");\n }\n\n function test_DeployRouterShim_SameAddress() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // First deployment\n vm.recordLogs();\n _deployScript.run();\n\n // Get the actual router address from the deployment script\n address deployedRouterAddr = _deployScript.routerAddress();\n\n // Verify first deployment addresses\n assertEq(deployedRouterAddr.code.length > 0, true, \"First deployment: TrailsRouter deployed\");\n address payable expectedShimAddr = expectedShimAddress();\n assertEq(expectedShimAddr.code.length > 0, true, \"First deployment: TrailsRouterShim deployed\");\n\n // Re-set the PRIVATE_KEY for second deployment\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Second deployment should result in the same address (deterministic)\n vm.recordLogs();\n _deployScript.run();\n\n // Verify second deployment still has contracts at same addresses\n assertEq(deployedRouterAddr.code.length > 0, true, \"Second deployment: TrailsRouter still deployed\");\n assertEq(expectedShimAddr.code.length > 0, true, \"Second deployment: TrailsRouterShim still deployed\");\n\n // Both deployments should succeed without reverting\n }\n\n function test_DeployedContract_HasCorrectConfiguration() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Deploy the script\n _deployScript.run();\n\n // Get references to deployed contracts\n address deployedRouterAddr = _deployScript.routerAddress();\n address payable expectedShimAddr = expectedShimAddress();\n TrailsRouterShim shim = TrailsRouterShim(expectedShimAddr);\n TrailsRouter router = TrailsRouter(payable(deployedRouterAddr));\n\n // Verify the router address is set correctly in the shim\n assertEq(address(shim.ROUTER()), deployedRouterAddr, \"Shim should have correct router address set\");\n\n // Verify router is properly initialized (basic smoke test)\n assertEq(address(router).code.length > 0, true, \"Router should have code\");\n\n // Test that the shim can access its router (basic functionality test)\n // This tests that the immutable is correctly set and accessible\n address routerFromShim = address(shim.ROUTER());\n assertEq(routerFromShim, deployedRouterAddr, \"Shim should be able to access its router address\");\n }\n}\n"},"test/utils/Create2Utils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SINGLETON_FACTORY_ADDR} from \"lib/erc2470-libs/src/ISingletonFactory.sol\";\n\n// -----------------------------------------------------------------------------\n// Library\n// -----------------------------------------------------------------------------\n\n/// @title Create2 Address Calculation Utilities\n/// @notice Utility functions for calculating CREATE2 addresses used in deployment tests\nlibrary Create2Utils {\n /// @dev Calculate the expected CREATE2 address for a contract deployment\n /// @param initCode The contract initialization code (creation code + constructor args if any)\n /// @param salt The salt used for CREATE2 deployment\n /// @return expectedAddr The expected address where the contract will be deployed\n function calculateCreate2Address(bytes memory initCode, bytes32 salt)\n internal\n pure\n returns (address payable expectedAddr)\n {\n expectedAddr = payable(address(\n uint160(\n uint256(\n keccak256(abi.encodePacked(bytes1(0xff), SINGLETON_FACTORY_ADDR, salt, keccak256(initCode)))\n )\n )\n ));\n }\n\n /// @dev Get the standard salt used for deterministic deployments (bytes32(0))\n /// @return salt The standard salt value\n function standardSalt() internal pure returns (bytes32 salt) {\n return bytes32(0);\n }\n}\n"},"test/utils/TstoreUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\n// ----------------------------------------------------------------------------\n// Cheatcode handle (usable from non-Test contexts in test scope)\n// ----------------------------------------------------------------------------\n\naddress constant HEVM_ADDRESS = address(uint160(uint256(keccak256(\"hevm cheat code\"))));\nVm constant HEVM = Vm(HEVM_ADDRESS);\n\n// ----------------------------------------------------------------------------\n// Transient Storage Helpers\n// ----------------------------------------------------------------------------\n\n/// @notice Helper to write transient storage at a given slot\ncontract TstoreSetter {\n function set(bytes32 slot, bytes32 value) external {\n assembly {\n tstore(slot, value)\n }\n }\n}\n\n/// @notice Helper to probe tstore support by attempting a tload\ncontract TstoreGetter {\n function get(bytes32 slot) external view returns (uint256 value) {\n assembly {\n value := tload(slot)\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Mode Toggle Helpers (uses cheatcodes)\n// ----------------------------------------------------------------------------\n\nlibrary TstoreMode {\n bytes32 private constant SLOT_TSTORE_SUPPORT = bytes32(uint256(0));\n\n /// @notice Force-enable Tstorish tstore mode by setting `_tstoreSupport` to true at slot 0\n function setActive(address target) internal {\n HEVM.store(target, SLOT_TSTORE_SUPPORT, bytes32(uint256(1)));\n }\n\n /// @notice Force-disable Tstorish tstore mode by setting `_tstoreSupport` to false at slot 0\n function setInactive(address target) internal {\n HEVM.store(target, SLOT_TSTORE_SUPPORT, bytes32(uint256(0)));\n }\n}\n\n// ----------------------------------------------------------------------------\n// tload Utility (etch-based reader)\n// ----------------------------------------------------------------------------\n\n/// @notice Utilities to read a transient storage slot from an arbitrary address by\n/// temporarily etching `TstoreGetter` bytecode at the target, performing\n/// a staticcall, and restoring the original code.\nlibrary TstoreRead {\n /// @dev Reads a transient storage value at `slot` from `target` using tload semantics.\n /// This function preserves and restores the original code at `target`.\n /// @param target The address whose transient storage slot to read.\n /// @param slot The transient storage slot to read.\n /// @return value The uint256 value read from the transient storage slot.\n function tloadAt(address target, bytes32 slot) internal returns (uint256 value) {\n bytes memory originalCode = target.code;\n\n // Temporarily etch the TstoreGetter runtime code to enable tload via staticcall\n HEVM.etch(target, type(TstoreGetter).runtimeCode);\n\n (bool ok, bytes memory ret) = target.staticcall(abi.encodeWithSelector(TstoreGetter.get.selector, slot));\n\n // Restore original code regardless of call outcome\n HEVM.etch(target, originalCode);\n\n require(ok, \"tload failed\");\n require(ret.length >= 32, \"tload returned insufficient data\");\n\n return abi.decode(ret, (uint256));\n }\n}\n"}},"settings":{"remappings":["@/=src/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","forge-std/=lib/forge-std/src/","lifi-contracts/=lib/contracts/src/","erc2470-libs/=lib/erc2470-libs/","wallet-contracts-v3/=lib/wallet-contracts-v3/src/","tstorish/=lib/tstorish/src/","@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/","@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/","@uniswap/=lib/contracts/node_modules/@uniswap/","Permit2/=lib/contracts/lib/Permit2/","account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/","celer-network/=lib/contracts/lib/sgn-v2-contracts/","centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/","contracts/=lib/contracts/src/","create3-factory/=lib/contracts/lib/create3-factory/","ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/","evm-cctp-contracts/=lib/evm-cctp-contracts/","forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","lifi/=lib/contracts/src/","memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/","permit2/=lib/contracts/lib/Permit2/src/","sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/","solady/=lib/contracts/lib/solady/src/","solmate/=lib/contracts/lib/solmate/src/"],"optimizer":{"enabled":true,"runs":4294967295},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"lib/erc2470-libs/script/SingletonDeployer.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/erc2470-libs/src/ISingletonFactory.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Base.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Script.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdAssertions.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdChains.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdCheats.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdConstants.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdError.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdInvariant.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdJson.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdMath.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdStorage.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdStyle.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdToml.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdUtils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Test.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Vm.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/console.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/console2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/interfaces/IMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/safeconsole.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Bytes.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Nonces.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/tstorish/src/Tstorish.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"script/TrailsIntentEntrypoint.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"script/TrailsRouter.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"script/TrailsRouterShim.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/TrailsIntentEntrypoint.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/TrailsRouter.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/TrailsRouterShim.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/guards/DelegatecallGuard.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/IMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/ITrailsIntentEntrypoint.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/ITrailsRouter.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/ITrailsRouterShim.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/libraries/TrailsSentinelLib.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/TrailsIntentEntrypoint.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/TrailsRouter.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/TrailsRouterShim.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/guards/DelegatecallGuard.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/libraries/TrailsSentinelLib.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/mocks/MockERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/mocks/MockMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/mocks/MockNonStandardERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/mocks/MockSenderGetter.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/script/TrailsIntentEntrypoint.s.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/script/TrailsRouter.s.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/script/TrailsRouterShim.s.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/utils/Create2Utils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/utils/TstoreUtils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]}},"evmVersion":"prague","viaIR":true,"libraries":{}},"allowPaths":["/Users/shunkakinoki/ghq/github.com/0xsequence/trails-contracts","/Users/shunkakinoki/ghq/github.com/0xsequence/trails-contracts/lib"],"basePath":"/Users/shunkakinoki/ghq/github.com/0xsequence/trails-contracts","includePaths":["/Users/shunkakinoki/ghq/github.com/0xsequence/trails-contracts"]},"output":{"errors":[{"sourceLocation":{"file":"lib/tstorish/src/Tstorish.sol","start":5537,"end":5543},"type":"Warning","component":"general","severity":"warning","errorCode":"2394","message":"Transient storage as defined by EIP-1153 can break the composability of smart contracts: Since transient storage is cleared only at the end of the transaction and not at the end of the outermost call frame to the contract within a transaction, your contract may unintentionally misbehave when invoked multiple times in a complex transaction. To avoid this, be sure to clear all transient storage at the end of any call to your contract. The use of transient storage for reentrancy guards that are cleared at the end of the call is safe.","formattedMessage":"Warning: Transient storage as defined by EIP-1153 can break the composability of smart contracts: Since transient storage is cleared only at the end of the transaction and not at the end of the outermost call frame to the contract within a transaction, your contract may unintentionally misbehave when invoked multiple times in a complex transaction. To avoid this, be sure to clear all transient storage at the end of any call to your contract. The use of transient storage for reentrancy guards that are cleared at the end of the call is safe.\n --> lib/tstorish/src/Tstorish.sol:125:13:\n |\n125 | tstore(storageSlot, value)\n | ^^^^^^\n\n"},{"sourceLocation":{"file":"test/TrailsIntentEntrypoint.t.sol","start":830,"end":79031},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 106127 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 106127 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsIntentEntrypoint.t.sol:21:1:\n |\n21 | contract TrailsIntentEntrypointTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/TrailsIntentEntrypoint.t.sol","start":830,"end":79031},"type":"Warning","component":"general","severity":"warning","errorCode":"3860","message":"Contract initcode size is 106409 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract initcode size is 106409 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsIntentEntrypoint.t.sol:21:1:\n |\n21 | contract TrailsIntentEntrypointTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/TrailsRouter.t.sol","start":4886,"end":59675},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 95293 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 95293 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsRouter.t.sol:157:1:\n |\n157 | contract TrailsRouterTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/TrailsRouter.t.sol","start":4886,"end":59675},"type":"Warning","component":"general","severity":"warning","errorCode":"3860","message":"Contract initcode size is 95800 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract initcode size is 95800 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsRouter.t.sol:157:1:\n |\n157 | contract TrailsRouterTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/TrailsRouterShim.t.sol","start":5326,"end":24992},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 41216 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 41216 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsRouterShim.t.sol:160:1:\n |\n160 | contract TrailsRouterShimTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/script/TrailsRouter.s.t.sol","start":459,"end":4365},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 30389 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 30389 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/script/TrailsRouter.s.t.sol:13:1:\n |\n13 | contract TrailsRouterDeploymentTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/script/TrailsRouterShim.s.t.sol","start":526,"end":5963},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 40118 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 40118 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/script/TrailsRouterShim.s.t.sol:14:1:\n |\n14 | contract TrailsRouterShimDeploymentTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"}],"contracts":{"lib/erc2470-libs/script/SingletonDeployer.s.sol":{"SingletonDeployer":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":\"SingletonDeployer\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47"}}}},"lib/erc2470-libs/src/ISingletonFactory.sol":{"ISingletonFactory":{"abi":[{"type":"function","name":"deploy","inputs":[{"name":"_initCode","type":"bytes","internalType":"bytes"},{"name":"_salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"createdContract","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"createdContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/erc2470-libs/src/ISingletonFactory.sol\":\"ISingletonFactory\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deploy(bytes,bytes32)":"4af63f02"}}}},"lib/forge-std/src/Base.sol":{"CommonBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSOLE\":{\"details\":\"console.sol and console2.sol work by executing a staticcall to this address. Calculated as `address(uint160(uint88(bytes11(\\\"console.log\\\"))))`.\"},\"CREATE2_FACTORY\":{\"details\":\"Used when deploying with create2. Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\"},\"DEFAULT_SENDER\":{\"details\":\"The default address for tx.origin and msg.sender. Calculated as `address(uint160(uint256(keccak256(\\\"foundry default caller\\\"))))`.\"},\"DEFAULT_TEST_CONTRACT\":{\"details\":\"The address of the first contract `CREATE`d by a running test contract. When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1. Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\"},\"MULTICALL3_ADDRESS\":{\"details\":\"Deterministic deployment address of the Multicall3 contract. Taken from https://www.multicall3.com.\"},\"SECP256K1_ORDER\":{\"details\":\"The order of the secp256k1 curve.\"},\"VM_ADDRESS\":{\"details\":\"Cheat code address. Calculated as `address(uint160(uint256(keccak256(\\\"hevm cheat code\\\"))))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"ScriptBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"TestBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/Script.sol":{"Script":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Script.sol\":\"Script\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47"}}}},"lib/forge-std/src/StdAssertions.sol":{"StdAssertions":{"abi":[{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"failed()":"ba414fa6"}}}},"lib/forge-std/src/StdChains.sol":{"StdChains":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve the RPC URL for `mainnet`: - If you have specified data with `setChain`, it will return that. - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it is valid (e.g. a URL is specified, or an environment variable is given and exists). - If neither of the above conditions is met, the default data is returned. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdCheats.sol":{"StdCheats":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"StdCheatsSafe":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdConstants.sol":{"StdConstants":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSOLE\":{\"details\":\"console.sol and console2.sol work by executing a staticcall to this address. Calculated as `address(uint160(uint88(bytes11(\\\"console.log\\\"))))`.\"},\"CREATE2_FACTORY\":{\"details\":\"Used when deploying with create2. Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\"},\"DEFAULT_SENDER\":{\"details\":\"The default address for tx.origin and msg.sender. Calculated as `address(uint160(uint256(keccak256(\\\"foundry default caller\\\"))))`.\"},\"DEFAULT_TEST_CONTRACT\":{\"details\":\"The address of the first contract `CREATE`d by a running test contract. When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1. Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\"},\"MULTICALL3_ADDRESS\":{\"details\":\"Deterministic deployment address of the Multicall3 contract. Taken from https://www.multicall3.com.\"},\"SECP256K1_ORDER\":{\"details\":\"The order of the secp256k1 curve.\"},\"VM\":{\"details\":\"Cheat code address. Calculated as `address(uint160(uint256(keccak256(\\\"hevm cheat code\\\"))))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdConstants.sol\":\"StdConstants\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220256b574c48b99b0bd77589fdc62d975f5d956c01400d92f7522e80bce10eff1564736f6c634300081e0033","sourceMap":"153:1713:7:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220256b574c48b99b0bd77589fdc62d975f5d956c01400d92f7522e80bce10eff1564736f6c634300081e0033","sourceMap":"153:1713:7:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdError.sol":{"stdError":{"abi":[{"type":"function","name":"arithmeticError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"assertionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"divisionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"encodeStorageError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"enumConversionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"indexOOBError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"memOverflowError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"popError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"zeroVarError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460195761053c908161001e823930815050f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816305ee8612146103eb5750806310332977146103805780631de45560146103155780638995290f146102aa578063986c5f681461023f578063b22dc54d146101d4578063b67689da14610169578063d160e4de146100fe5763fa784a441461007f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260126024820152602481526100ea604482610450565b604051918291826104be565b0390f35b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260226024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260516024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260316024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260416024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260116024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260216024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260016024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa57807f4e487b710000000000000000000000000000000000000000000000000000000060206100f693015260326024820152602481526100ea6044825b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761049157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f858286010152011601019056fea26469706673582212204f0f2d748356625c96a7f448d719b2a2947a8a36abe07376291851f05d70b49864736f6c634300081e0033","sourceMap":"162:850:8:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816305ee8612146103eb5750806310332977146103805780631de45560146103155780638995290f146102aa578063986c5f681461023f578063b22dc54d146101d4578063b67689da14610169578063d160e4de146100fe5763fa784a441461007f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260126024820152602481526100ea604482610450565b604051918291826104be565b0390f35b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260226024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260516024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260316024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260416024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260116024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260216024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260016024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa57807f4e487b710000000000000000000000000000000000000000000000000000000060206100f693015260326024820152602481526100ea6044825b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761049157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f858286010152011601019056fea26469706673582212204f0f2d748356625c96a7f448d719b2a2947a8a36abe07376291851f05d70b49864736f6c634300081e0033","sourceMap":"162:850:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;408:47;;;;;450:4;408:47;;;162:850;408:47;;;;;;;:::i;:::-;162:850;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;601:47;;;;;643:4;601:47;;;162:850;601:47;;;;;;;:::i;162:850::-;;;;;;;;;;;962:47;;;;;1004:4;962:47;;;162:850;962:47;;;;;;;:::i;162:850::-;;;;;;;;;;;687:47;;;;;729:4;687:47;;;162:850;687:47;;;;;;;:::i;162:850::-;;;;;;;;;;;872:47;;;;;914:4;872:47;;;162:850;872:47;;;;;;;:::i;162:850::-;;;;;;;;;;;317:47;;;;;359:4;317:47;;;162:850;317:47;;;;;;;:::i;162:850::-;;;;;;;;;;;505:47;;;;;547:4;505:47;;;162:850;505:47;;;;;;;:::i;162:850::-;;;;;;;;;;;224:47;;;;;266:4;224:47;;;162:850;224:47;;;;;;;:::i;162:850::-;;;;;;;;778:47;;;162:850;778:47;;;820:4;778:47;;;162:850;778:47;;;;;;162:850;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;162:850:8;;;;;-1:-1:-1;162:850:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"arithmeticError()":"8995290f","assertionError()":"10332977","divisionError()":"fa784a44","encodeStorageError()":"d160e4de","enumConversionError()":"1de45560","indexOOBError()":"05ee8612","memOverflowError()":"986c5f68","popError()":"b22dc54d","zeroVarError()":"b67689da"}}}},"lib/forge-std/src/StdInvariant.sol":{"StdInvariant":{"abi":[{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdInvariant.sol\":\"StdInvariant\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/StdJson.sol":{"stdJson":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220b1c6ae7a0fcc2be8ff0409b83e49c08e00fc8d9299e6b5f6afc4369527d3c9ad64736f6c634300081e0033","sourceMap":"610:9092:10:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220b1c6ae7a0fcc2be8ff0409b83e49c08e00fc8d9299e6b5f6afc4369527d3c9ad64736f6c634300081e0033","sourceMap":"610:9092:10:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdMath.sol":{"stdMath":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220877d4daac4fa5464226dab88a21ec1687443052b61fd020ca9a3dd92fb99c6e864736f6c634300081e0033","sourceMap":"65:1533:11:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220877d4daac4fa5464226dab88a21ec1687443052b61fd020ca9a3dd92fb99c6e864736f6c634300081e0033","sourceMap":"65:1533:11:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdStorage.sol":{"stdStorage":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220c5923f71653351d67708cc11b68017faf2f13f889de346bbf768a91ace59360164736f6c634300081e0033","sourceMap":"12755:5081:12:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220c5923f71653351d67708cc11b68017faf2f13f889de346bbf768a91ace59360164736f6c634300081e0033","sourceMap":"12755:5081:12:-:0;;","linkReferences":{}}}},"stdStorageSafe":{"abi":[{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220217d1c5b33af7f41f1d3504e8df1c4dd0c7b624d58374ac6089d9a529ed6c4ab64736f6c634300081e0033","sourceMap":"450:12303:12:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220217d1c5b33af7f41f1d3504e8df1c4dd0c7b624d58374ac6089d9a529ed6c4ab64736f6c634300081e0033","sourceMap":"450:12303:12:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdStyle.sol":{"StdStyle":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStyle.sol\":\"StdStyle\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212205a75216cd19c9017777527cd84a17a660e356af5cf386d824bab3b42bc3b659e64736f6c634300081e0033","sourceMap":"100:10361:13:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea26469706673582212205a75216cd19c9017777527cd84a17a660e356af5cf386d824bab3b42bc3b659e64736f6c634300081e0033","sourceMap":"100:10361:13:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdToml.sol":{"stdToml":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdToml.sol\":\"stdToml\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220e66e571977b3abd0472b3ba36f942f8b8c07240433ad7aba08f06600582b750d64736f6c634300081e0033","sourceMap":"610:9092:14:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220e66e571977b3abd0472b3ba36f942f8b8c07240433ad7aba08f06600582b750d64736f6c634300081e0033","sourceMap":"610:9092:14:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdUtils.sol":{"StdUtils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/Test.sol":{"Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/Vm.sol":{"Vm":{"abi":[{"type":"function","name":"accessList","inputs":[{"name":"access","type":"tuple[]","internalType":"struct VmSafe.AccessListItem[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"storageKeys","type":"bytes32[]","internalType":"bytes32[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"activeFork","inputs":[],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"allowCheatcodes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialReverts","type":"tuple[]","internalType":"struct VmSafe.PotentialRevert[]","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialRevert","type":"tuple","internalType":"struct VmSafe.PotentialRevert","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"attachBlob","inputs":[{"name":"blob","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blobBaseFee","inputs":[{"name":"newBlobBaseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blobhashes","inputs":[{"name":"hashes","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"int256","internalType":"int256"},{"name":"min","type":"int256","internalType":"int256"},{"name":"max","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcastRawTransaction","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"chainId","inputs":[{"name":"newChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearMockedCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneAccount","inputs":[{"name":"source","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinbase","inputs":[{"name":"newCoinbase","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreateAddress","inputs":[{"name":"deployer","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"contains","inputs":[{"name":"subject","type":"string","internalType":"string"},{"name":"search","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"cool","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coolSlot","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"copyFile","inputs":[{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"copied","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"copyStorage","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"deal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newBalance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteSnapshot","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"deleteSnapshots","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteStateSnapshot","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"deleteStateSnapshots","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"difficulty","inputs":[{"name":"newDifficulty","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"dumpState","inputs":[{"name":"pathToStateJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashTypedData","inputs":[{"name":"jsonData","type":"string","internalType":"string"}],"outputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"ensNamehash","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envExists","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"etch","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"newRuntimeBytecode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"eth_getLogs","inputs":[{"name":"fromBlock","type":"uint256","internalType":"uint256"},{"name":"toBlock","type":"uint256","internalType":"uint256"},{"name":"target","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.EthGetLogs[]","components":[{"name":"emitter","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"transactionHash","type":"bytes32","internalType":"bytes32"},{"name":"transactionIndex","type":"uint64","internalType":"uint64"},{"name":"logIndex","type":"uint256","internalType":"uint256"},{"name":"removed","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"exists","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCreate","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCreate2","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"checkTopic0","type":"bool","internalType":"bool"},{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"checkTopic0","type":"bool","internalType":"bool"},{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectPartialRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectPartialRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemory","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemoryCall","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fee","inputs":[{"name":"newBasefee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"foundryVersionAtLeast","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"foundryVersionCmp","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByCode","inputs":[{"name":"code","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByDeployedCode","inputs":[{"name":"deployedCode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getBlobBaseFee","inputs":[],"outputs":[{"name":"blobBaseFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlobhashes","inputs":[],"outputs":[{"name":"hashes","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"height","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBroadcast","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple","internalType":"struct VmSafe.BroadcastTxSummary","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainAlias","type":"string","internalType":"string"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"blockChainId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployments","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddresses","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getEvmVersion","inputs":[],"outputs":[{"name":"evm","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"getFoundryVersion","inputs":[],"outputs":[{"name":"version","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMappingKeyAndParentOf","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"elementSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"found","type":"bool","internalType":"bool"},{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"parent","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getMappingLength","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"length","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMappingSlotAt","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"},{"name":"idx","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRawBlockHeader","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"rlpHeader","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getStateDiff","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStateDiffJson","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStorageAccesses","inputs":[],"outputs":[{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getStorageSlots","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"variableName","type":"string","internalType":"string"}],"outputs":[{"name":"slots","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getWallets","inputs":[],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"indexOf","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"interceptInitcode","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isContext","inputs":[{"name":"context","type":"uint8","internalType":"enum VmSafe.ForgeContext"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"persistent","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExists","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastCallGas","inputs":[],"outputs":[{"name":"gas","type":"tuple","internalType":"struct VmSafe.Gas","components":[{"name":"gasLimit","type":"uint64","internalType":"uint64"},{"name":"gasTotalUsed","type":"uint64","internalType":"uint64"},{"name":"gasMemoryUsed","type":"uint64","internalType":"uint64"},{"name":"gasRefunded","type":"int64","internalType":"int64"},{"name":"gasRemaining","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"loadAllocs","inputs":[{"name":"pathToAllocsJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"},{"name":"account2","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCalls","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCalls","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockFunction","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"noAccessList","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonKeys","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonString","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonTypeArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddress","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddressArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBool","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBoolArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32Array","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytesArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlInt","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlIntArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlKeys","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlString","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlStringArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlTypeArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUint","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUintArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"prompt","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptAddress","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecret","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecretUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"publicKeyP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"randomBool","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"randomBytes","inputs":[{"name":"len","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"randomBytes4","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"randomBytes8","inputs":[],"outputs":[{"name":"","type":"bytes8","internalType":"bytes8"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"readCallers","inputs":[],"outputs":[{"name":"callerMode","type":"uint8","internalType":"enum VmSafe.CallerMode"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"language","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"replace","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resetGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resolveEnv","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"revertTo","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToAndDelete","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToState","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToStateAndDelete","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"roll","inputs":[{"name":"newHeight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"selectFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJson","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUintToHex","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"overwrite","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBlockhash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEvmVersion","inputs":[{"name":"evm","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonceUnsafe","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSeed","inputs":[{"name":"seed","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shuffle","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signWithNonceUnsafe","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"},{"name":"reason","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sleep","inputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshot","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotGasLastCall","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotGasLastCall","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotState","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotValue","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotValue","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sort","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"delimiter","type":"string","internalType":"string"}],"outputs":[{"name":"outputs","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startDebugTraceRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startSnapshotGas","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startSnapshotGas","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startStateDiffRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnDebugTraceRecording","inputs":[],"outputs":[{"name":"step","type":"tuple[]","internalType":"struct VmSafe.DebugStep[]","components":[{"name":"stack","type":"uint256[]","internalType":"uint256[]"},{"name":"memoryInput","type":"bytes","internalType":"bytes"},{"name":"opcode","type":"uint8","internalType":"uint8"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isOutOfGas","type":"bool","internalType":"bool"},{"name":"contractAddr","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnStateDiff","inputs":[],"outputs":[{"name":"accountAccesses","type":"tuple[]","internalType":"struct VmSafe.AccountAccess[]","components":[{"name":"chainInfo","type":"tuple","internalType":"struct VmSafe.ChainInfo","components":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"}]},{"name":"kind","type":"uint8","internalType":"enum VmSafe.AccountAccessKind"},{"name":"account","type":"address","internalType":"address"},{"name":"accessor","type":"address","internalType":"address"},{"name":"initialized","type":"bool","internalType":"bool"},{"name":"oldBalance","type":"uint256","internalType":"uint256"},{"name":"newBalance","type":"uint256","internalType":"uint256"},{"name":"deployedCode","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"reverted","type":"bool","internalType":"bool"},{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"oldNonce","type":"uint64","internalType":"uint64"},{"name":"newNonce","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopExpectSafeMemory","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopPrank","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopRecord","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toLowercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toUppercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transact","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transact","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"trim","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tryFfi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct VmSafe.FfiResult","components":[{"name":"exitCode","type":"int32","internalType":"int32"},{"name":"stdout","type":"bytes","internalType":"bytes"},{"name":"stderr","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"txGasPrice","inputs":[{"name":"newGasPrice","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unixTime","inputs":[],"outputs":[{"name":"milliseconds","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"warmSlot","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"warp","inputs":[{"name":"newTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"storageKeys\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct VmSafe.AccessListItem[]\",\"name\":\"access\",\"type\":\"tuple[]\"}],\"name\":\"accessList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert[]\",\"name\":\"potentialReverts\",\"type\":\"tuple[]\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert\",\"name\":\"potentialRevert\",\"type\":\"tuple\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blob\",\"type\":\"bytes\"}],\"name\":\"attachBlob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBlobBaseFee\",\"type\":\"uint256\"}],\"name\":\"blobBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"name\":\"blobhashes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"min\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"max\",\"type\":\"int256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"broadcastRawTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"source\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"cloneAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"subject\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"search\",\"type\":\"string\"}],\"name\":\"contains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"cool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"coolSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"copyStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"deleteSnapshot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"deleteStateSnapshot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteStateSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToStateJson\",\"type\":\"string\"}],\"name\":\"dumpState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"jsonData\",\"type\":\"string\"}],\"name\":\"eip712HashTypedData\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"expectCreate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"expectCreate2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic0\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic0\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectPartialRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectPartialRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemoryCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionAtLeast\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionCmp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"code\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByDeployedCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobhashes\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcast\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployments\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"deployedAddresses\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEvmVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"evm\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFoundryVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRawBlockHeader\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"rlpHeader\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiff\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiffJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStorageAccesses\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"variableName\",\"type\":\"string\"}],\"name\":\"getStorageSlots\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"slots\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWallets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interceptInitcode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum VmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToAllocsJson\",\"type\":\"string\"}],\"name\":\"loadAllocs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"name\":\"mockCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"name\":\"mockCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mockFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"noAccessList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newPrevrandao\",\"type\":\"bytes32\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrevrandao\",\"type\":\"uint256\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"publicKeyP256\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"randomBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes4\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes8\",\"outputs\":[{\"internalType\":\"bytes8\",\"name\":\"\",\"type\":\"bytes8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readCallers\",\"outputs\":[{\"internalType\":\"enum VmSafe.CallerMode\",\"name\":\"callerMode\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resetGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"resetNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"resolveEnv\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToAndDelete\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToState\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToStateAndDelete\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"overwrite\",\"type\":\"bool\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"setBlockhash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"evm\",\"type\":\"string\"}],\"name\":\"setEvmVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonceUnsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"seed\",\"type\":\"uint256\"}],\"name\":\"setSeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"shuffle\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"signWithNonceUnsafe\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"snapshotGasLastCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"snapshotGasLastCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshotState\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"snapshotValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"snapshotValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"sort\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startDebugTraceRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"startSnapshotGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"startSnapshotGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnDebugTraceRecording\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"stack\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"memoryInput\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isOutOfGas\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractAddr\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.DebugStep[]\",\"name\":\"step\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enum VmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"oldNonce\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopExpectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPrice\",\"type\":\"uint256\"}],\"name\":\"txGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"warmSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"accessList((address,bytes32[])[])\":{\"notice\":\"Utility cheatcode to set an EIP-2930 access list for all subsequent transactions.\"},\"accesses(address)\":{\"notice\":\"Gets all accessed reads and write slot from a `vm.record` session, for a given address.\"},\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"},\"addr(uint256)\":{\"notice\":\"Gets the address for a given private key.\"},\"allowCheatcodes(address)\":{\"notice\":\"In forking mode, explicitly grant the given address cheatcode access.\"},\"assertApproxEqAbs(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbs(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRel(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRel(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEq(address,address)\":{\"notice\":\"Asserts that two `address` values are equal.\"},\"assertEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are equal.\"},\"assertEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are equal.\"},\"assertEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are equal.\"},\"assertEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are equal.\"},\"assertEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are equal.\"},\"assertEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal.\"},\"assertEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal.\"},\"assertEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are equal.\"},\"assertEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are equal.\"},\"assertEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(string,string)\":{\"notice\":\"Asserts that two `string` values are equal.\"},\"assertEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are equal.\"},\"assertEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal.\"},\"assertEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256 values are equal.\"},\"assertEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertFalse(bool)\":{\"notice\":\"Asserts that the given condition is false.\"},\"assertFalse(bool,string)\":{\"notice\":\"Asserts that the given condition is false and includes error message into revert string on failure.\"},\"assertGe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second.\"},\"assertGt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second.\"},\"assertGt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second.\"},\"assertLe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second.\"},\"assertLe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second.\"},\"assertLt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second.\"},\"assertLt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEq(address,address)\":{\"notice\":\"Asserts that two `address` values are not equal.\"},\"assertNotEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are not equal.\"},\"assertNotEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are not equal.\"},\"assertNotEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal.\"},\"assertNotEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are not equal.\"},\"assertNotEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are not equal.\"},\"assertNotEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal.\"},\"assertNotEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal.\"},\"assertNotEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are not equal.\"},\"assertNotEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal.\"},\"assertNotEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string,string)\":{\"notice\":\"Asserts that two `string` values are not equal.\"},\"assertNotEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are not equal.\"},\"assertNotEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal.\"},\"assertNotEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal.\"},\"assertNotEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertTrue(bool)\":{\"notice\":\"Asserts that the given condition is true.\"},\"assertTrue(bool,string)\":{\"notice\":\"Asserts that the given condition is true and includes error message into revert string on failure.\"},\"assume(bool)\":{\"notice\":\"If the condition is false, discard this run's fuzz inputs and generate new ones.\"},\"assumeNoRevert((address,bool,bytes))\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\"},\"assumeNoRevert((address,bool,bytes)[])\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\"},\"assumeNoRevert()\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverted.\"},\"attachBlob(bytes)\":{\"notice\":\"Attach an EIP-4844 blob to the next call\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address))\":{\"notice\":\"Designate the next call as an EIP-7702 transaction\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)\":{\"notice\":\"Designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"blobBaseFee(uint256)\":{\"notice\":\"Sets `block.blobbasefee`\"},\"blobhashes(bytes32[])\":{\"notice\":\"Sets the blobhashes in the transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert.\"},\"bound(int256,int256,int256)\":{\"notice\":\"Returns an int256 value bounded in given range and different from the current one.\"},\"bound(uint256,uint256,uint256)\":{\"notice\":\"Returns an uint256 value bounded in given range and different from the current one.\"},\"breakpoint(string)\":{\"notice\":\"Writes a breakpoint to jump to in the debugger.\"},\"breakpoint(string,bool)\":{\"notice\":\"Writes a conditional breakpoint to jump to in the debugger.\"},\"broadcast()\":{\"notice\":\"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"broadcast(address)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain.\"},\"broadcast(uint256)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain.\"},\"broadcastRawTransaction(bytes)\":{\"notice\":\"Takes a signed transaction and broadcasts it to the network.\"},\"chainId(uint256)\":{\"notice\":\"Sets `block.chainid`.\"},\"clearMockedCalls()\":{\"notice\":\"Clears all mocked calls.\"},\"cloneAccount(address,address)\":{\"notice\":\"Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state.\"},\"closeFile(string)\":{\"notice\":\"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root.\"},\"coinbase(address)\":{\"notice\":\"Sets `block.coinbase`.\"},\"computeCreate2Address(bytes32,bytes32)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\"},\"computeCreate2Address(bytes32,bytes32,address)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\"},\"computeCreateAddress(address,uint256)\":{\"notice\":\"Compute the address a contract will be deployed at for a given deployer address and nonce.\"},\"contains(string,string)\":{\"notice\":\"Returns true if `search` is found in `subject`, false otherwise.\"},\"cool(address)\":{\"notice\":\"Marks the slots of an account and the account address as cold.\"},\"coolSlot(address,bytes32)\":{\"notice\":\"Utility cheatcode to mark specific storage slot as cold, simulating no prior read.\"},\"copyFile(string,string)\":{\"notice\":\"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root.\"},\"copyStorage(address,address)\":{\"notice\":\"Utility cheatcode to copy storage of `from` contract to another `to` contract.\"},\"createDir(string,bool)\":{\"notice\":\"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root.\"},\"createFork(string)\":{\"notice\":\"Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork.\"},\"createFork(string,bytes32)\":{\"notice\":\"Creates a new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, and returns the identifier of the fork.\"},\"createFork(string,uint256)\":{\"notice\":\"Creates a new fork with the given endpoint and block and returns the identifier of the fork.\"},\"createSelectFork(string)\":{\"notice\":\"Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork.\"},\"createSelectFork(string,bytes32)\":{\"notice\":\"Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, returns the identifier of the fork.\"},\"createSelectFork(string,uint256)\":{\"notice\":\"Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork.\"},\"createWallet(string)\":{\"notice\":\"Derives a private key from the name, labels the account with that name, and returns the wallet.\"},\"createWallet(uint256)\":{\"notice\":\"Generates a wallet from the private key and returns the wallet.\"},\"createWallet(uint256,string)\":{\"notice\":\"Generates a wallet from the private key, labels the account with that name, and returns the wallet.\"},\"deal(address,uint256)\":{\"notice\":\"Sets an address' balance.\"},\"deleteSnapshot(uint256)\":{\"notice\":\"`deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions.\"},\"deleteSnapshots()\":{\"notice\":\"`deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions.\"},\"deleteStateSnapshot(uint256)\":{\"notice\":\"Removes the snapshot with the given ID created by `snapshot`. Takes the snapshot ID to delete. Returns `true` if the snapshot was successfully deleted. Returns `false` if the snapshot does not exist.\"},\"deleteStateSnapshots()\":{\"notice\":\"Removes _all_ snapshots previously created by `snapshot`.\"},\"deployCode(string)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,bytes)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deployCode(string,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deriveKey(string,string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at `{derivationPath}{index}`.\"},\"deriveKey(string,string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at `{derivationPath}{index}`.\"},\"deriveKey(string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"deriveKey(string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"difficulty(uint256)\":{\"notice\":\"Sets `block.difficulty`. Not available on EVM versions from Paris onwards. Use `prevrandao` instead. Reverts if used on unsupported EVM versions.\"},\"dumpState(string)\":{\"notice\":\"Dump a genesis JSON file's `allocs` to disk.\"},\"eip712HashStruct(string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Supports 2 different inputs: 1. Name of the type (i.e. \\\"PermitSingle\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will use the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashStruct(string,string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"PermitSingle\\\"). * `abiEncodedData`: ABI-encoded data for the struct that is being hashed.\"},\"eip712HashType(string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Supports 2 different inputs: 1. Name of the type (i.e. \\\"Transaction\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will output the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashType(string,string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"Transaction\\\").\"},\"eip712HashTypedData(string)\":{\"notice\":\"Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard.\"},\"ensNamehash(string)\":{\"notice\":\"Returns ENS namehash for provided string.\"},\"envAddress(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed.\"},\"envAddress(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envExists(string)\":{\"notice\":\"Gets the environment variable `name` and returns true if it exists, else returns false.\"},\"envInt(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed.\"},\"envInt(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envOr(string,address)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bool)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes32)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,int256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,address[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bool[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes32[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,int256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,string[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,uint256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,uint256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envString(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed.\"},\"envString(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"etch(address,bytes)\":{\"notice\":\"Sets an address' code.\"},\"eth_getLogs(uint256,uint256,address,bytes32[])\":{\"notice\":\"Gets all the logs according to specified filter.\"},\"exists(string)\":{\"notice\":\"Returns true if the given path points to an existing entity, else returns false.\"},\"expectCall(address,bytes)\":{\"notice\":\"Expects a call to an address with the specified calldata. Calldata can either be a strict or a partial match.\"},\"expectCall(address,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified calldata.\"},\"expectCall(address,uint256,bytes)\":{\"notice\":\"Expects a call to an address with the specified `msg.value` and calldata.\"},\"expectCall(address,uint256,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified `msg.value` and calldata.\"},\"expectCall(address,uint256,uint64,bytes)\":{\"notice\":\"Expect a call to an address with the specified `msg.value`, gas, and calldata.\"},\"expectCall(address,uint256,uint64,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified `msg.value`, gas, and calldata.\"},\"expectCallMinGas(address,uint256,uint64,bytes)\":{\"notice\":\"Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\"},\"expectCallMinGas(address,uint256,uint64,bytes,uint64)\":{\"notice\":\"Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\"},\"expectCreate(bytes,address)\":{\"notice\":\"Expects the deployment of the specified bytecode by the specified address using the CREATE opcode\"},\"expectCreate2(bytes,address)\":{\"notice\":\"Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode\"},\"expectEmit()\":{\"notice\":\"Prepare an expected log with all topic and data checks enabled. Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data.\"},\"expectEmit(address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmit(address,uint64)\":{\"notice\":\"Expect a given number of logs from a specific emitter with all topic and data checks enabled.\"},\"expectEmit(bool,bool,bool,bool)\":{\"notice\":\"Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\"},\"expectEmit(bool,bool,bool,bool,address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmit(bool,bool,bool,bool,address,uint64)\":{\"notice\":\"Expect a given number of logs from a specific emitter with the provided topics.\"},\"expectEmit(bool,bool,bool,bool,uint64)\":{\"notice\":\"Expect a given number of logs with the provided topics.\"},\"expectEmit(uint64)\":{\"notice\":\"Expect a given number of logs with all topic and data checks enabled.\"},\"expectEmitAnonymous()\":{\"notice\":\"Prepare an expected anonymous log with all topic and data checks enabled. Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data.\"},\"expectEmitAnonymous(address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmitAnonymous(bool,bool,bool,bool,bool)\":{\"notice\":\"Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\"},\"expectEmitAnonymous(bool,bool,bool,bool,bool,address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectPartialRevert(bytes4)\":{\"notice\":\"Expects an error on next call that starts with the revert data.\"},\"expectPartialRevert(bytes4,address)\":{\"notice\":\"Expects an error on next call to reverter address, that starts with the revert data.\"},\"expectRevert()\":{\"notice\":\"Expects an error on next call with any revert data.\"},\"expectRevert(address)\":{\"notice\":\"Expects an error with any revert data on next call to reverter address.\"},\"expectRevert(address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address.\"},\"expectRevert(bytes)\":{\"notice\":\"Expects an error on next call that exactly matches the revert data.\"},\"expectRevert(bytes,address)\":{\"notice\":\"Expects an error from reverter address on next call, that exactly matches the revert data.\"},\"expectRevert(bytes,address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data.\"},\"expectRevert(bytes,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls that exactly match the revert data.\"},\"expectRevert(bytes4)\":{\"notice\":\"Expects an error on next call that exactly matches the revert data.\"},\"expectRevert(bytes4,address)\":{\"notice\":\"Expects an error from reverter address on next call, with any revert data.\"},\"expectRevert(bytes4,address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data.\"},\"expectRevert(bytes4,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls that match the revert data.\"},\"expectRevert(uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls with any revert data or reverter.\"},\"expectSafeMemory(uint64,uint64)\":{\"notice\":\"Only allows memory writes to offsets [0x00, 0x60) \\u222a [min, max) in the current subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\"},\"expectSafeMemoryCall(uint64,uint64)\":{\"notice\":\"Only allows memory writes to offsets [0x00, 0x60) \\u222a [min, max) in the next created subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\"},\"fee(uint256)\":{\"notice\":\"Sets `block.basefee`.\"},\"ffi(string[])\":{\"notice\":\"Performs a foreign function call via the terminal.\"},\"foundryVersionAtLeast(string)\":{\"notice\":\"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`.\"},\"foundryVersionCmp(string)\":{\"notice\":\"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\\\"1.0.0\\\") >= 0) { ... }`\"},\"fsMetadata(string)\":{\"notice\":\"Given a path, query the file system to get information about a file, directory, etc.\"},\"getArtifactPathByCode(bytes)\":{\"notice\":\"Gets the artifact path from code (aka. creation code).\"},\"getArtifactPathByDeployedCode(bytes)\":{\"notice\":\"Gets the artifact path from deployed code (aka. runtime code).\"},\"getBlobBaseFee()\":{\"notice\":\"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlobhashes()\":{\"notice\":\"Gets the blockhashes from the current transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert.\"},\"getBlockNumber()\":{\"notice\":\"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockTimestamp()\":{\"notice\":\"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBroadcast(string,uint64,uint8)\":{\"notice\":\"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`.\"},\"getBroadcasts(string,uint64)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getBroadcasts(string,uint64,uint8)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getChain(string)\":{\"notice\":\"Returns a Chain struct for specific alias\"},\"getChain(uint256)\":{\"notice\":\"Returns a Chain struct for specific chainId\"},\"getChainId()\":{\"notice\":\"Gets the current `block.chainid` of the currently selected environment. You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getCode(string)\":{\"notice\":\"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployedCode(string)\":{\"notice\":\"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployment(string)\":{\"notice\":\"Returns the most recent deployment for the current `chainId`.\"},\"getDeployment(string,uint64)\":{\"notice\":\"Returns the most recent deployment for the given contract on `chainId`\"},\"getDeployments(string,uint64)\":{\"notice\":\"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last.\"},\"getEvmVersion()\":{\"notice\":\"Returns the test or script execution evm version. **Note:** The execution evm version is not the same as the compilation one.\"},\"getFoundryVersion()\":{\"notice\":\"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences.\"},\"getLabel(address)\":{\"notice\":\"Gets the label for the specified address.\"},\"getMappingKeyAndParentOf(address,bytes32)\":{\"notice\":\"Gets the map key and parent of a mapping at a given slot, for a given address.\"},\"getMappingLength(address,bytes32)\":{\"notice\":\"Gets the number of elements in the mapping at the given slot, for a given address.\"},\"getMappingSlotAt(address,bytes32,uint256)\":{\"notice\":\"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping).\"},\"getNonce((address,uint256,uint256,uint256))\":{\"notice\":\"Get the nonce of a `Wallet`.\"},\"getNonce(address)\":{\"notice\":\"Gets the nonce of an account.\"},\"getRawBlockHeader(uint256)\":{\"notice\":\"Gets the RLP encoded block header for a given block number. Returns the block header in the same format as `cast block --raw`.\"},\"getRecordedLogs()\":{\"notice\":\"Gets all the recorded logs.\"},\"getStateDiff()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session.\"},\"getStateDiffJson()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\"},\"getStorageAccesses()\":{\"notice\":\"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session\"},\"getStorageSlots(address,string)\":{\"notice\":\"Returns an array of storage slots occupied by the specified variable.\"},\"getWallets()\":{\"notice\":\"Returns addresses of available unlocked wallets in the script environment.\"},\"indexOf(string,string)\":{\"notice\":\"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`.\"},\"interceptInitcode()\":{\"notice\":\"Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer. This allows type-safe access to the initcode payload that would be used for contract creation. Example usage: vm.interceptInitcode(); bytes memory initcode; try new MyContract(param1, param2) { assert(false); } catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }\"},\"isContext(uint8)\":{\"notice\":\"Returns true if `forge` command was executed in given context.\"},\"isDir(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a directory, else returns false.\"},\"isFile(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a regular file, else returns false.\"},\"isPersistent(address)\":{\"notice\":\"Returns true if the account is marked as persistent.\"},\"keyExists(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\"},\"keyExistsJson(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object.\"},\"keyExistsToml(string,string)\":{\"notice\":\"Checks if `key` exists in a TOML table.\"},\"label(address,string)\":{\"notice\":\"Labels an address in call traces.\"},\"lastCallGas()\":{\"notice\":\"Gets the gas used in the last call from the callee perspective.\"},\"load(address,bytes32)\":{\"notice\":\"Loads a storage slot from an address.\"},\"loadAllocs(string)\":{\"notice\":\"Load a genesis JSON file's `allocs` into the in-memory EVM state.\"},\"makePersistent(address)\":{\"notice\":\"Marks that the account(s) should use persistent storage across fork swaps in a multifork setup Meaning, changes made to the state of this account will be kept when switching forks.\"},\"makePersistent(address,address)\":{\"notice\":\"See `makePersistent(address)`.\"},\"makePersistent(address,address,address)\":{\"notice\":\"See `makePersistent(address)`.\"},\"makePersistent(address[])\":{\"notice\":\"See `makePersistent(address)`.\"},\"mockCall(address,bytes,bytes)\":{\"notice\":\"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked.\"},\"mockCall(address,bytes4,bytes)\":{\"notice\":\"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCall(address,uint256,bytes,bytes)\":{\"notice\":\"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity.\"},\"mockCall(address,uint256,bytes4,bytes)\":{\"notice\":\"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCallRevert(address,bytes,bytes)\":{\"notice\":\"Reverts a call to an address with specified revert data.\"},\"mockCallRevert(address,bytes4,bytes)\":{\"notice\":\"Reverts a call to an address with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCallRevert(address,uint256,bytes,bytes)\":{\"notice\":\"Reverts a call to an address with a specific `msg.value`, with specified revert data.\"},\"mockCallRevert(address,uint256,bytes4,bytes)\":{\"notice\":\"Reverts a call to an address with a specific `msg.value`, with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCalls(address,bytes,bytes[])\":{\"notice\":\"Mocks multiple calls to an address, returning specified data for each call.\"},\"mockCalls(address,uint256,bytes,bytes[])\":{\"notice\":\"Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call.\"},\"mockFunction(address,address,bytes)\":{\"notice\":\"Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls `target` with the same calldata. This functionality is similar to a delegate call made to `target` contract from `callee`. Can be used to substitute a call to a function with another implementation that captures the primary logic of the original function but is easier to reason about. If calldata is not a strict match then partial match by selector is attempted.\"},\"noAccessList()\":{\"notice\":\"Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode.\"},\"parseAddress(string)\":{\"notice\":\"Parses the given `string` into an `address`.\"},\"parseBool(string)\":{\"notice\":\"Parses the given `string` into a `bool`.\"},\"parseBytes(string)\":{\"notice\":\"Parses the given `string` into `bytes`.\"},\"parseBytes32(string)\":{\"notice\":\"Parses the given `string` into a `bytes32`.\"},\"parseInt(string)\":{\"notice\":\"Parses the given `string` into a `int256`.\"},\"parseJson(string)\":{\"notice\":\"ABI-encodes a JSON object.\"},\"parseJson(string,string)\":{\"notice\":\"ABI-encodes a JSON object at `key`.\"},\"parseJsonAddress(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address`.\"},\"parseJsonAddressArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address[]`.\"},\"parseJsonBool(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool`.\"},\"parseJsonBoolArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool[]`.\"},\"parseJsonBytes(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes`.\"},\"parseJsonBytes32(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32`.\"},\"parseJsonBytes32Array(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\"},\"parseJsonBytesArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes[]`.\"},\"parseJsonInt(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256`.\"},\"parseJsonIntArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256[]`.\"},\"parseJsonKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a JSON object.\"},\"parseJsonString(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string`.\"},\"parseJsonStringArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string[]`.\"},\"parseJsonType(string,string)\":{\"notice\":\"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonType(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonTypeArray(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseJsonUint(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256`.\"},\"parseJsonUintArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256[]`.\"},\"parseToml(string)\":{\"notice\":\"ABI-encodes a TOML table.\"},\"parseToml(string,string)\":{\"notice\":\"ABI-encodes a TOML table at `key`.\"},\"parseTomlAddress(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address`.\"},\"parseTomlAddressArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address[]`.\"},\"parseTomlBool(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool`.\"},\"parseTomlBoolArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool[]`.\"},\"parseTomlBytes(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes`.\"},\"parseTomlBytes32(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32`.\"},\"parseTomlBytes32Array(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\"},\"parseTomlBytesArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes[]`.\"},\"parseTomlInt(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256`.\"},\"parseTomlIntArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256[]`.\"},\"parseTomlKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a TOML table.\"},\"parseTomlString(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string`.\"},\"parseTomlStringArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string[]`.\"},\"parseTomlType(string,string)\":{\"notice\":\"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlType(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlTypeArray(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseTomlUint(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256`.\"},\"parseTomlUintArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256[]`.\"},\"parseUint(string)\":{\"notice\":\"Parses the given `string` into a `uint256`.\"},\"pauseGasMetering()\":{\"notice\":\"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\"},\"pauseTracing()\":{\"notice\":\"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging.\"},\"prank(address)\":{\"notice\":\"Sets the *next* call's `msg.sender` to be the input address.\"},\"prank(address,address)\":{\"notice\":\"Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\"},\"prank(address,address,bool)\":{\"notice\":\"Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\"},\"prank(address,bool)\":{\"notice\":\"Sets the *next* delegate call's `msg.sender` to be the input address.\"},\"prevrandao(bytes32)\":{\"notice\":\"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert.\"},\"prevrandao(uint256)\":{\"notice\":\"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert.\"},\"projectRoot()\":{\"notice\":\"Get the path of the current project root.\"},\"prompt(string)\":{\"notice\":\"Prompts the user for a string value in the terminal.\"},\"promptAddress(string)\":{\"notice\":\"Prompts the user for an address in the terminal.\"},\"promptSecret(string)\":{\"notice\":\"Prompts the user for a hidden string value in the terminal.\"},\"promptSecretUint(string)\":{\"notice\":\"Prompts the user for hidden uint256 in the terminal (usually pk).\"},\"promptUint(string)\":{\"notice\":\"Prompts the user for uint256 in the terminal.\"},\"publicKeyP256(uint256)\":{\"notice\":\"Derives secp256r1 public key from the provided `privateKey`.\"},\"randomAddress()\":{\"notice\":\"Returns a random `address`.\"},\"randomBool()\":{\"notice\":\"Returns a random `bool`.\"},\"randomBytes(uint256)\":{\"notice\":\"Returns a random byte array value of the given length.\"},\"randomBytes4()\":{\"notice\":\"Returns a random fixed-size byte array of length 4.\"},\"randomBytes8()\":{\"notice\":\"Returns a random fixed-size byte array of length 8.\"},\"randomInt()\":{\"notice\":\"Returns a random `int256` value.\"},\"randomInt(uint256)\":{\"notice\":\"Returns a random `int256` value of given bits.\"},\"randomUint()\":{\"notice\":\"Returns a random uint256 value.\"},\"randomUint(uint256)\":{\"notice\":\"Returns a random `uint256` value of given bits.\"},\"randomUint(uint256,uint256)\":{\"notice\":\"Returns random uint256 value between the provided range (=min..=max).\"},\"readCallers()\":{\"notice\":\"Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification.\"},\"readDir(string)\":{\"notice\":\"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true.\"},\"readDir(string,uint64)\":{\"notice\":\"See `readDir(string)`.\"},\"readDir(string,uint64,bool)\":{\"notice\":\"See `readDir(string)`.\"},\"readFile(string)\":{\"notice\":\"Reads the entire content of file to string. `path` is relative to the project root.\"},\"readFileBinary(string)\":{\"notice\":\"Reads the entire content of file as binary. `path` is relative to the project root.\"},\"readLine(string)\":{\"notice\":\"Reads next line of file to string.\"},\"readLink(string)\":{\"notice\":\"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist.\"},\"record()\":{\"notice\":\"Records all storage reads and writes. Use `accesses` to get the recorded data. Subsequent calls to `record` will clear the previous data.\"},\"recordLogs()\":{\"notice\":\"Record all the transaction logs.\"},\"rememberKey(uint256)\":{\"notice\":\"Adds a private key to the local forge wallet and returns the address.\"},\"rememberKeys(string,string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"rememberKeys(string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"removeDir(string,bool)\":{\"notice\":\"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root.\"},\"removeFile(string)\":{\"notice\":\"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root.\"},\"replace(string,string,string)\":{\"notice\":\"Replaces occurrences of `from` in the given `string` with `to`.\"},\"resetGasMetering()\":{\"notice\":\"Reset gas metering (i.e. gas usage is set to gas limit).\"},\"resetNonce(address)\":{\"notice\":\"Resets the nonce of an account to 0 for EOAs and 1 for contract accounts.\"},\"resolveEnv(string)\":{\"notice\":\"Resolves the env variable placeholders of a given input string.\"},\"resumeGasMetering()\":{\"notice\":\"Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\"},\"resumeTracing()\":{\"notice\":\"Unpauses collection of call traces.\"},\"revertTo(uint256)\":{\"notice\":\"`revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions.\"},\"revertToAndDelete(uint256)\":{\"notice\":\"`revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions.\"},\"revertToState(uint256)\":{\"notice\":\"Revert the state of the EVM to a previous snapshot Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted. Returns `false` if the snapshot does not exist. **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`.\"},\"revertToStateAndDelete(uint256)\":{\"notice\":\"Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted and deleted. Returns `false` if the snapshot does not exist.\"},\"revokePersistent(address)\":{\"notice\":\"Revokes persistent status from the address, previously added via `makePersistent`.\"},\"revokePersistent(address[])\":{\"notice\":\"See `revokePersistent(address)`.\"},\"roll(uint256)\":{\"notice\":\"Sets `block.height`.\"},\"rollFork(bytes32)\":{\"notice\":\"Updates the currently active fork to given transaction. This will `rollFork` with the number of the block the transaction was mined in and replays all transaction mined before it in the block.\"},\"rollFork(uint256)\":{\"notice\":\"Updates the currently active fork to given block number This is similar to `roll` but for the currently active fork.\"},\"rollFork(uint256,bytes32)\":{\"notice\":\"Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block.\"},\"rollFork(uint256,uint256)\":{\"notice\":\"Updates the given fork to given block number.\"},\"rpc(string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the current fork URL.\"},\"rpc(string,string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the given endpoint.\"},\"rpcUrl(string)\":{\"notice\":\"Returns the RPC url for the given alias.\"},\"rpcUrlStructs()\":{\"notice\":\"Returns all rpc urls and their aliases as structs.\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`.\"},\"selectFork(uint256)\":{\"notice\":\"Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\"},\"serializeAddress(string,string,address)\":{\"notice\":\"See `serializeJson`.\"},\"serializeAddress(string,string,address[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeJson(string,string)\":{\"notice\":\"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment.\"},\"serializeJsonType(string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeJsonType(string,string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUintToHex(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"setArbitraryStorage(address)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address.\"},\"setArbitraryStorage(address,bool)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set.\"},\"setBlockhash(uint256,bytes32)\":{\"notice\":\"Set blockhash for the current block. It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`.\"},\"setEnv(string,string)\":{\"notice\":\"Sets environment variables.\"},\"setEvmVersion(string)\":{\"notice\":\"Set the exact test or script execution evm version, e.g. `berlin`, `cancun`. **Note:** The execution evm version is not the same as the compilation one.\"},\"setNonce(address,uint64)\":{\"notice\":\"Sets the nonce of an account. Must be higher than the current nonce of the account.\"},\"setNonceUnsafe(address,uint64)\":{\"notice\":\"Sets the nonce of an account to an arbitrary value.\"},\"setSeed(uint256)\":{\"notice\":\"Set RNG seed.\"},\"shuffle(uint256[])\":{\"notice\":\"Randomly shuffles an array.\"},\"sign((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`.\"},\"sign(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address.\"},\"sign(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"sign(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve.\"},\"signAndAttachDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\"},\"signAndAttachDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"signAndAttachDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\"},\"signCompact((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signCompact(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address.\"},\"signCompact(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"signCompact(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation\"},\"signDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation, with optional cross-chain validity.\"},\"signDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation for specific nonce\"},\"signP256(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256r1 curve.\"},\"signWithNonceUnsafe(uint256,bytes32,uint256)\":{\"notice\":\"Signs `digest` with `privateKey` on the secp256k1 curve, using the given `nonce` as the raw ephemeral k value in ECDSA (instead of deriving it deterministically).\"},\"skip(bool)\":{\"notice\":\"Marks a test as skipped. Must be called at the top level of a test.\"},\"skip(bool,string)\":{\"notice\":\"Marks a test as skipped with a reason. Must be called at the top level of a test.\"},\"sleep(uint256)\":{\"notice\":\"Suspends execution of the main thread for `duration` milliseconds.\"},\"snapshot()\":{\"notice\":\"`snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions.\"},\"snapshotGasLastCall(string)\":{\"notice\":\"Snapshot capture the gas usage of the last call by name from the callee perspective.\"},\"snapshotGasLastCall(string,string)\":{\"notice\":\"Snapshot capture the gas usage of the last call by name in a group from the callee perspective.\"},\"snapshotState()\":{\"notice\":\"Snapshot the current state of the evm. Returns the ID of the snapshot that was created. To revert a snapshot use `revertToState`.\"},\"snapshotValue(string,string,uint256)\":{\"notice\":\"Snapshot capture an arbitrary numerical value by name in a group.\"},\"snapshotValue(string,uint256)\":{\"notice\":\"Snapshot capture an arbitrary numerical value by name. The group name is derived from the contract name.\"},\"sort(uint256[])\":{\"notice\":\"Sorts an array in ascending order.\"},\"split(string,string)\":{\"notice\":\"Splits the given `string` into an array of strings divided by the `delimiter`.\"},\"startBroadcast()\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"startBroadcast(address)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain.\"},\"startBroadcast(uint256)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain.\"},\"startDebugTraceRecording()\":{\"notice\":\"Records the debug trace during the run.\"},\"startMappingRecording()\":{\"notice\":\"Starts recording all map SSTOREs for later retrieval.\"},\"startPrank(address)\":{\"notice\":\"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called.\"},\"startPrank(address,address)\":{\"notice\":\"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\"},\"startPrank(address,address,bool)\":{\"notice\":\"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\"},\"startPrank(address,bool)\":{\"notice\":\"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called.\"},\"startSnapshotGas(string)\":{\"notice\":\"Start a snapshot capture of the current gas usage by name. The group name is derived from the contract name.\"},\"startSnapshotGas(string,string)\":{\"notice\":\"Start a snapshot capture of the current gas usage by name in a group.\"},\"startStateDiffRecording()\":{\"notice\":\"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls\"},\"stopAndReturnDebugTraceRecording()\":{\"notice\":\"Stop debug trace recording and returns the recorded debug trace.\"},\"stopAndReturnStateDiff()\":{\"notice\":\"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\"},\"stopBroadcast()\":{\"notice\":\"Stops collecting onchain transactions.\"},\"stopExpectSafeMemory()\":{\"notice\":\"Stops all safe memory expectation in the current subcontext.\"},\"stopMappingRecording()\":{\"notice\":\"Stops recording all map SSTOREs for later retrieval and clears the recorded data.\"},\"stopPrank()\":{\"notice\":\"Resets subsequent calls' `msg.sender` to be `address(this)`.\"},\"stopRecord()\":{\"notice\":\"Stops recording storage reads and writes.\"},\"stopSnapshotGas()\":{\"notice\":\"Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start.\"},\"stopSnapshotGas(string)\":{\"notice\":\"Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start. The group name is derived from the contract name.\"},\"stopSnapshotGas(string,string)\":{\"notice\":\"Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start.\"},\"store(address,bytes32,bytes32)\":{\"notice\":\"Stores a value to an address' storage slot.\"},\"toBase64(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64 string.\"},\"toBase64(string)\":{\"notice\":\"Encodes a `string` value to a base64 string.\"},\"toBase64URL(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64url string.\"},\"toBase64URL(string)\":{\"notice\":\"Encodes a `string` value to a base64url string.\"},\"toLowercase(string)\":{\"notice\":\"Converts the given `string` value to Lowercase.\"},\"toString(address)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bool)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes32)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(int256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(uint256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toUppercase(string)\":{\"notice\":\"Converts the given `string` value to Uppercase.\"},\"transact(bytes32)\":{\"notice\":\"Fetches the given transaction from the active fork and executes it on the current state.\"},\"transact(uint256,bytes32)\":{\"notice\":\"Fetches the given transaction from the given fork and executes it on the current state.\"},\"trim(string)\":{\"notice\":\"Trims leading and trailing whitespace from the given `string` value.\"},\"tryFfi(string[])\":{\"notice\":\"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\"},\"txGasPrice(uint256)\":{\"notice\":\"Sets `tx.gasprice`.\"},\"unixTime()\":{\"notice\":\"Returns the time since unix epoch in milliseconds.\"},\"warmSlot(address,bytes32)\":{\"notice\":\"Utility cheatcode to mark specific storage slot as warm, simulating a prior read.\"},\"warp(uint256)\":{\"notice\":\"Sets `block.timestamp`.\"},\"writeFile(string,string)\":{\"notice\":\"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeFileBinary(string,bytes)\":{\"notice\":\"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeJson(string,string)\":{\"notice\":\"Write a serialized JSON object to a file. If the file exists, it will be overwritten.\"},\"writeJson(string,string,string)\":{\"notice\":\"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"},\"writeLine(string,string)\":{\"notice\":\"Writes line to file, creating a file if it does not exist. `path` is relative to the project root.\"},\"writeToml(string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\"},\"writeToml(string,string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"}},\"notice\":\"The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used in tests, but it is not recommended to use these cheats in scripts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accessList((address,bytes32[])[])":"743e4cb7","accesses(address)":"65bc9481","activeFork()":"2f103f22","addr(uint256)":"ffa18649","allowCheatcodes(address)":"ea060291","assertApproxEqAbs(int256,int256,uint256)":"240f839d","assertApproxEqAbs(int256,int256,uint256,string)":"8289e621","assertApproxEqAbs(uint256,uint256,uint256)":"16d207c6","assertApproxEqAbs(uint256,uint256,uint256,string)":"f710b062","assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":"3d5bc8bc","assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":"6a5066d4","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":"045c55ce","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":"60429eb2","assertApproxEqRel(int256,int256,uint256)":"fea2d14f","assertApproxEqRel(int256,int256,uint256,string)":"ef277d72","assertApproxEqRel(uint256,uint256,uint256)":"8cf25ef4","assertApproxEqRel(uint256,uint256,uint256,string)":"1ecb7d33","assertApproxEqRelDecimal(int256,int256,uint256,uint256)":"abbf21cc","assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":"fccc11c4","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":"21ed2977","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":"82d6c8fd","assertEq(address,address)":"515361f6","assertEq(address,address,string)":"2f2769d1","assertEq(address[],address[])":"3868ac34","assertEq(address[],address[],string)":"3e9173c5","assertEq(bool,bool)":"f7fe3477","assertEq(bool,bool,string)":"4db19e7e","assertEq(bool[],bool[])":"707df785","assertEq(bool[],bool[],string)":"e48a8f8d","assertEq(bytes,bytes)":"97624631","assertEq(bytes,bytes,string)":"e24fed00","assertEq(bytes32,bytes32)":"7c84c69b","assertEq(bytes32,bytes32,string)":"c1fa1ed0","assertEq(bytes32[],bytes32[])":"0cc9ee84","assertEq(bytes32[],bytes32[],string)":"e03e9177","assertEq(bytes[],bytes[])":"e5fb9b4a","assertEq(bytes[],bytes[],string)":"f413f0b6","assertEq(int256,int256)":"fe74f05b","assertEq(int256,int256,string)":"714a2f13","assertEq(int256[],int256[])":"711043ac","assertEq(int256[],int256[],string)":"191f1b30","assertEq(string,string)":"f320d963","assertEq(string,string,string)":"36f656d8","assertEq(string[],string[])":"cf1c049c","assertEq(string[],string[],string)":"eff6b27d","assertEq(uint256,uint256)":"98296c54","assertEq(uint256,uint256,string)":"88b44c85","assertEq(uint256[],uint256[])":"975d5a12","assertEq(uint256[],uint256[],string)":"5d18c73a","assertEqDecimal(int256,int256,uint256)":"48016c04","assertEqDecimal(int256,int256,uint256,string)":"7e77b0c5","assertEqDecimal(uint256,uint256,uint256)":"27af7d9c","assertEqDecimal(uint256,uint256,uint256,string)":"d0cbbdef","assertFalse(bool)":"a5982885","assertFalse(bool,string)":"7ba04809","assertGe(int256,int256)":"0a30b771","assertGe(int256,int256,string)":"a84328dd","assertGe(uint256,uint256)":"a8d4d1d9","assertGe(uint256,uint256,string)":"e25242c0","assertGeDecimal(int256,int256,uint256)":"dc28c0f1","assertGeDecimal(int256,int256,uint256,string)":"5df93c9b","assertGeDecimal(uint256,uint256,uint256)":"3d1fe08a","assertGeDecimal(uint256,uint256,uint256,string)":"8bff9133","assertGt(int256,int256)":"5a362d45","assertGt(int256,int256,string)":"f8d33b9b","assertGt(uint256,uint256)":"db07fcd2","assertGt(uint256,uint256,string)":"d9a3c4d2","assertGtDecimal(int256,int256,uint256)":"78611f0e","assertGtDecimal(int256,int256,uint256,string)":"04a5c7ab","assertGtDecimal(uint256,uint256,uint256)":"eccd2437","assertGtDecimal(uint256,uint256,uint256,string)":"64949a8d","assertLe(int256,int256)":"95fd154e","assertLe(int256,int256,string)":"4dfe692c","assertLe(uint256,uint256)":"8466f415","assertLe(uint256,uint256,string)":"d17d4b0d","assertLeDecimal(int256,int256,uint256)":"11d1364a","assertLeDecimal(int256,int256,uint256,string)":"aa5cf788","assertLeDecimal(uint256,uint256,uint256)":"c304aab7","assertLeDecimal(uint256,uint256,uint256,string)":"7fefbbe0","assertLt(int256,int256)":"3e914080","assertLt(int256,int256,string)":"9ff531e3","assertLt(uint256,uint256)":"b12fc005","assertLt(uint256,uint256,string)":"65d5c135","assertLtDecimal(int256,int256,uint256)":"dbe8d88b","assertLtDecimal(int256,int256,uint256,string)":"40f0b4e0","assertLtDecimal(uint256,uint256,uint256)":"2077337e","assertLtDecimal(uint256,uint256,uint256,string)":"a972d037","assertNotEq(address,address)":"b12e1694","assertNotEq(address,address,string)":"8775a591","assertNotEq(address[],address[])":"46d0b252","assertNotEq(address[],address[],string)":"72c7e0b5","assertNotEq(bool,bool)":"236e4d66","assertNotEq(bool,bool,string)":"1091a261","assertNotEq(bool[],bool[])":"286fafea","assertNotEq(bool[],bool[],string)":"62c6f9fb","assertNotEq(bytes,bytes)":"3cf78e28","assertNotEq(bytes,bytes,string)":"9507540e","assertNotEq(bytes32,bytes32)":"898e83fc","assertNotEq(bytes32,bytes32,string)":"b2332f51","assertNotEq(bytes32[],bytes32[])":"0603ea68","assertNotEq(bytes32[],bytes32[],string)":"b873634c","assertNotEq(bytes[],bytes[])":"edecd035","assertNotEq(bytes[],bytes[],string)":"1dcd1f68","assertNotEq(int256,int256)":"f4c004e3","assertNotEq(int256,int256,string)":"4724c5b9","assertNotEq(int256[],int256[])":"0b72f4ef","assertNotEq(int256[],int256[],string)":"d3977322","assertNotEq(string,string)":"6a8237b3","assertNotEq(string,string,string)":"78bdcea7","assertNotEq(string[],string[])":"bdfacbe8","assertNotEq(string[],string[],string)":"b67187f3","assertNotEq(uint256,uint256)":"b7909320","assertNotEq(uint256,uint256,string)":"98f9bdbd","assertNotEq(uint256[],uint256[])":"56f29cba","assertNotEq(uint256[],uint256[],string)":"9a7fbd8f","assertNotEqDecimal(int256,int256,uint256)":"14e75680","assertNotEqDecimal(int256,int256,uint256,string)":"33949f0b","assertNotEqDecimal(uint256,uint256,uint256)":"669efca7","assertNotEqDecimal(uint256,uint256,uint256,string)":"f5a55558","assertTrue(bool)":"0c9fd581","assertTrue(bool,string)":"a34edc03","assume(bool)":"4c63e562","assumeNoRevert((address,bool,bytes))":"d8591eeb","assumeNoRevert((address,bool,bytes)[])":"8a4592cc","assumeNoRevert()":"285b366a","attachBlob(bytes)":"10cb385c","attachDelegation((uint8,bytes32,bytes32,uint64,address))":"14ae3519","attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)":"f4460d34","blobBaseFee(uint256)":"6d315d7e","blobhashes(bytes32[])":"129de7eb","bound(int256,int256,int256)":"8f48fc07","bound(uint256,uint256,uint256)":"5a6c1eed","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","broadcastRawTransaction(bytes)":"8c0c72e0","chainId(uint256)":"4049ddd2","clearMockedCalls()":"3fdf4e15","cloneAccount(address,address)":"533d61c9","closeFile(string)":"48c3241f","coinbase(address)":"ff483c54","computeCreate2Address(bytes32,bytes32)":"890c283b","computeCreate2Address(bytes32,bytes32,address)":"d323826a","computeCreateAddress(address,uint256)":"74637a7a","contains(string,string)":"3fb18aec","cool(address)":"40ff9f21","coolSlot(address,bytes32)":"8c78e654","copyFile(string,string)":"a54a87d8","copyStorage(address,address)":"203dac0d","createDir(string,bool)":"168b64d3","createFork(string)":"31ba3498","createFork(string,bytes32)":"7ca29682","createFork(string,uint256)":"6ba3ba2b","createSelectFork(string)":"98680034","createSelectFork(string,bytes32)":"84d52b7a","createSelectFork(string,uint256)":"71ee464d","createWallet(string)":"7404f1d2","createWallet(uint256)":"7a675bb6","createWallet(uint256,string)":"ed7c5462","deal(address,uint256)":"c88a5e6d","deleteSnapshot(uint256)":"a6368557","deleteSnapshots()":"421ae469","deleteStateSnapshot(uint256)":"08d6b37a","deleteStateSnapshots()":"e0933c74","deployCode(string)":"9a8325a0","deployCode(string,bytes)":"29ce9dde","deployCode(string,bytes,bytes32)":"016155bf","deployCode(string,bytes,uint256)":"ff5d64e4","deployCode(string,bytes,uint256,bytes32)":"3aa773ea","deployCode(string,bytes32)":"17ab1d79","deployCode(string,uint256)":"0af6a701","deployCode(string,uint256,bytes32)":"002cb687","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,string,uint32,string)":"29233b1f","deriveKey(string,uint32)":"6229498b","deriveKey(string,uint32,string)":"32c8176d","difficulty(uint256)":"46cc92d9","dumpState(string)":"709ecd3f","eip712HashStruct(string,bytes)":"aedeaebc","eip712HashStruct(string,string,bytes)":"6d06c57c","eip712HashType(string)":"6792e9e2","eip712HashType(string,string)":"18fb6406","eip712HashTypedData(string)":"ea25e615","ensNamehash(string)":"8c374c65","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envExists(string)":"ce8365f9","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","etch(address,bytes)":"b4d6c782","eth_getLogs(uint256,uint256,address,bytes32[])":"35e1349b","exists(string)":"261a323e","expectCall(address,bytes)":"bd6af434","expectCall(address,bytes,uint64)":"c1adbbff","expectCall(address,uint256,bytes)":"f30c7ba3","expectCall(address,uint256,bytes,uint64)":"a2b1a1ae","expectCall(address,uint256,uint64,bytes)":"23361207","expectCall(address,uint256,uint64,bytes,uint64)":"65b7b7cc","expectCallMinGas(address,uint256,uint64,bytes)":"08e4e116","expectCallMinGas(address,uint256,uint64,bytes,uint64)":"e13a1834","expectCreate(bytes,address)":"73cdce36","expectCreate2(bytes,address)":"ea54a472","expectEmit()":"440ed10d","expectEmit(address)":"86b9620d","expectEmit(address,uint64)":"b43aece3","expectEmit(bool,bool,bool,bool)":"491cc7c2","expectEmit(bool,bool,bool,bool,address)":"81bad6f3","expectEmit(bool,bool,bool,bool,address,uint64)":"c339d02c","expectEmit(bool,bool,bool,bool,uint64)":"5e1d1c33","expectEmit(uint64)":"4c74a335","expectEmitAnonymous()":"2e5f270c","expectEmitAnonymous(address)":"6fc68705","expectEmitAnonymous(bool,bool,bool,bool,bool)":"c948db5e","expectEmitAnonymous(bool,bool,bool,bool,bool,address)":"71c95899","expectPartialRevert(bytes4)":"11fb5b9c","expectPartialRevert(bytes4,address)":"51aa008a","expectRevert()":"f4844814","expectRevert(address)":"d814f38a","expectRevert(address,uint64)":"1ff5f952","expectRevert(bytes)":"f28dceb3","expectRevert(bytes,address)":"61ebcf12","expectRevert(bytes,address,uint64)":"d345fb1f","expectRevert(bytes,uint64)":"4994c273","expectRevert(bytes4)":"c31eb0e0","expectRevert(bytes4,address)":"260bc5de","expectRevert(bytes4,address,uint64)":"b0762d73","expectRevert(bytes4,uint64)":"e45ca72d","expectRevert(uint64)":"4ee38244","expectSafeMemory(uint64,uint64)":"6d016688","expectSafeMemoryCall(uint64,uint64)":"05838bf4","fee(uint256)":"39b37ab0","ffi(string[])":"89160467","foundryVersionAtLeast(string)":"6248be1f","foundryVersionCmp(string)":"ca7b0a09","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlobhashes()":"f56ff18b","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getBroadcast(string,uint64,uint8)":"3dc90cb3","getBroadcasts(string,uint64)":"f2fa4a26","getBroadcasts(string,uint64,uint8)":"f7afe919","getChain(string)":"4cc1c2bb","getChain(uint256)":"b6791ad4","getChainId()":"3408e470","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getDeployment(string)":"a8091d97","getDeployment(string,uint64)":"0debd5d6","getDeployments(string,uint64)":"74e133dd","getEvmVersion()":"aa2bb222","getFoundryVersion()":"ea991bb5","getLabel(address)":"28a249b0","getMappingKeyAndParentOf(address,bytes32)":"876e24e6","getMappingLength(address,bytes32)":"2f2fd63f","getMappingSlotAt(address,bytes32,uint256)":"ebc73ab4","getNonce((address,uint256,uint256,uint256))":"a5748aad","getNonce(address)":"2d0335ab","getRawBlockHeader(uint256)":"2c667606","getRecordedLogs()":"191553a4","getStateDiff()":"80df01cc","getStateDiffJson()":"f54fe009","getStorageAccesses()":"2899b1d0","getStorageSlots(address,string)":"efa136d9","getWallets()":"db7a4605","indexOf(string,string)":"8a0807b7","interceptInitcode()":"838653c7","isContext(uint8)":"64af255d","isDir(string)":"7d15d019","isFile(string)":"e0eb04d4","isPersistent(address)":"d92d8efd","keyExists(string,string)":"528a683c","keyExistsJson(string,string)":"db4235f6","keyExistsToml(string,string)":"600903ad","label(address,string)":"c657c718","lastCallGas()":"2b589b28","load(address,bytes32)":"667f9d70","loadAllocs(string)":"b3a056d7","makePersistent(address)":"57e22dde","makePersistent(address,address)":"4074e0a8","makePersistent(address,address,address)":"efb77a75","makePersistent(address[])":"1d9e269e","mockCall(address,bytes,bytes)":"b96213e4","mockCall(address,bytes4,bytes)":"08e0c537","mockCall(address,uint256,bytes,bytes)":"81409b91","mockCall(address,uint256,bytes4,bytes)":"e7b36a3d","mockCallRevert(address,bytes,bytes)":"dbaad147","mockCallRevert(address,bytes4,bytes)":"2dfba5df","mockCallRevert(address,uint256,bytes,bytes)":"d23cd037","mockCallRevert(address,uint256,bytes4,bytes)":"596c8f04","mockCalls(address,bytes,bytes[])":"5c5c3de9","mockCalls(address,uint256,bytes,bytes[])":"08bcbae1","mockFunction(address,address,bytes)":"adf84d21","noAccessList()":"238ad778","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonKeys(string,string)":"213e4198","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonType(string,string)":"a9da313b","parseJsonType(string,string,string)":"e3f5ae33","parseJsonTypeArray(string,string,string)":"0175d535","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseToml(string)":"592151f0","parseToml(string,string)":"37736e08","parseTomlAddress(string,string)":"65e7c844","parseTomlAddressArray(string,string)":"65c428e7","parseTomlBool(string,string)":"d30dced6","parseTomlBoolArray(string,string)":"127cfe9a","parseTomlBytes(string,string)":"d77bfdb9","parseTomlBytes32(string,string)":"8e214810","parseTomlBytes32Array(string,string)":"3e716f81","parseTomlBytesArray(string,string)":"b197c247","parseTomlInt(string,string)":"c1350739","parseTomlIntArray(string,string)":"d3522ae6","parseTomlKeys(string,string)":"812a44b2","parseTomlString(string,string)":"8bb8dd43","parseTomlStringArray(string,string)":"9f629281","parseTomlType(string,string)":"47fa5e11","parseTomlType(string,string,string)":"f9fa5cdb","parseTomlTypeArray(string,string,string)":"49be3743","parseTomlUint(string,string)":"cc7b0487","parseTomlUintArray(string,string)":"b5df27c8","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","pauseTracing()":"c94d1f90","prank(address)":"ca669fa7","prank(address,address)":"47e50cce","prank(address,address,bool)":"7d73d042","prank(address,bool)":"a7f8bf5c","prevrandao(bytes32)":"3b925549","prevrandao(uint256)":"9cb1c0d4","projectRoot()":"d930a0e6","prompt(string)":"47eaf474","promptAddress(string)":"62ee05f4","promptSecret(string)":"1e279d41","promptSecretUint(string)":"69ca02b7","promptUint(string)":"652fd489","publicKeyP256(uint256)":"c453949e","randomAddress()":"d5bee9f5","randomBool()":"cdc126bd","randomBytes(uint256)":"6c5d32a9","randomBytes4()":"9b7cd579","randomBytes8()":"0497b0a5","randomInt()":"111f1202","randomInt(uint256)":"12845966","randomUint()":"25124730","randomUint(uint256)":"cf81e69c","randomUint(uint256,uint256)":"d61b051b","readCallers()":"4ad0bac9","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","rememberKeys(string,string,string,uint32)":"f8d58eaf","rememberKeys(string,string,uint32)":"97cb9189","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","replace(string,string,string)":"e00ad03e","resetGasMetering()":"be367dd3","resetNonce(address)":"1c72346d","resolveEnv(string)":"ddd2128d","resumeGasMetering()":"2bcd50e0","resumeTracing()":"72a09ccb","revertTo(uint256)":"44d7f0a4","revertToAndDelete(uint256)":"03e0aca9","revertToState(uint256)":"c2527405","revertToStateAndDelete(uint256)":"3a1985dc","revokePersistent(address)":"997a0222","revokePersistent(address[])":"3ce969e6","roll(uint256)":"1f7b4f30","rollFork(bytes32)":"0f29772b","rollFork(uint256)":"d9bbf3a1","rollFork(uint256,bytes32)":"f2830f7b","rollFork(uint256,uint256)":"d74c83a4","rpc(string,string)":"1206c8a8","rpc(string,string,string)":"0199a220","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","selectFork(uint256)":"9ebf6827","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeJson(string,string)":"9b3358b0","serializeJsonType(string,bytes)":"6d4f96a6","serializeJsonType(string,string,string,bytes)":"6f93bccb","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","serializeUintToHex(string,string,uint256)":"ae5a2ae8","setArbitraryStorage(address)":"e1631837","setArbitraryStorage(address,bool)":"d3ec2a0b","setBlockhash(uint256,bytes32)":"5314b54a","setEnv(string,string)":"3d5923ee","setEvmVersion(string)":"43179f5a","setNonce(address,uint64)":"f8e18b57","setNonceUnsafe(address,uint64)":"9b67b21c","setSeed(uint256)":"c32a50f9","shuffle(uint256[])":"54f1469c","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signAndAttachDelegation(address,uint256)":"c7fa7288","signAndAttachDelegation(address,uint256,bool)":"d936e146","signAndAttachDelegation(address,uint256,uint64)":"cde3e5be","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","signDelegation(address,uint256)":"5b593c7b","signDelegation(address,uint256,bool)":"cdd7563d","signDelegation(address,uint256,uint64)":"ceba2ec3","signP256(uint256,bytes32)":"83211b40","signWithNonceUnsafe(uint256,bytes32,uint256)":"2012783a","skip(bool)":"dd82d13e","skip(bool,string)":"c42a80a7","sleep(uint256)":"fa9d8713","snapshot()":"9711715a","snapshotGasLastCall(string)":"dd9fca12","snapshotGasLastCall(string,string)":"200c6772","snapshotState()":"9cd23835","snapshotValue(string,string,uint256)":"6d2b27d8","snapshotValue(string,uint256)":"51db805a","sort(uint256[])":"9ec8b026","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startDebugTraceRecording()":"419c8832","startMappingRecording()":"3e9705c0","startPrank(address)":"06447d56","startPrank(address,address)":"45b56078","startPrank(address,address,bool)":"4eb859b5","startPrank(address,bool)":"1cc0b435","startSnapshotGas(string)":"3cad9d7b","startSnapshotGas(string,string)":"6cd0cc53","startStateDiffRecording()":"cf22e3c9","stopAndReturnDebugTraceRecording()":"ced398a2","stopAndReturnStateDiff()":"aa5cf90e","stopBroadcast()":"76eadd36","stopExpectSafeMemory()":"0956441b","stopMappingRecording()":"0d4aae9b","stopPrank()":"90c5013b","stopRecord()":"996be76d","stopSnapshotGas()":"f6402eda","stopSnapshotGas(string)":"773b2805","stopSnapshotGas(string,string)":"0c9db707","store(address,bytes32,bytes32)":"70ca10bb","toBase64(bytes)":"a5cbfe65","toBase64(string)":"3f8be2c8","toBase64URL(bytes)":"c8bd0e4a","toBase64URL(string)":"ae3165b3","toLowercase(string)":"50bb0884","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","toUppercase(string)":"074ae3d7","transact(bytes32)":"be646da1","transact(uint256,bytes32)":"4d8abc4b","trim(string)":"b2dad155","tryFfi(string[])":"f45c1ce7","txGasPrice(uint256)":"48f50c0f","unixTime()":"625387dc","warmSlot(address,bytes32)":"b23184cf","warp(uint256)":"e5d6bf02","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f","writeToml(string,string)":"c0865ba7","writeToml(string,string,string)":"51ac6a33"}}},"VmSafe":{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialReverts","type":"tuple[]","internalType":"struct VmSafe.PotentialRevert[]","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialRevert","type":"tuple","internalType":"struct VmSafe.PotentialRevert","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"attachBlob","inputs":[{"name":"blob","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"int256","internalType":"int256"},{"name":"min","type":"int256","internalType":"int256"},{"name":"max","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcastRawTransaction","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreateAddress","inputs":[{"name":"deployer","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"contains","inputs":[{"name":"subject","type":"string","internalType":"string"},{"name":"search","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"copyFile","inputs":[{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"copied","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"copyStorage","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashTypedData","inputs":[{"name":"jsonData","type":"string","internalType":"string"}],"outputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"ensNamehash","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envExists","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"eth_getLogs","inputs":[{"name":"fromBlock","type":"uint256","internalType":"uint256"},{"name":"toBlock","type":"uint256","internalType":"uint256"},{"name":"target","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.EthGetLogs[]","components":[{"name":"emitter","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"transactionHash","type":"bytes32","internalType":"bytes32"},{"name":"transactionIndex","type":"uint64","internalType":"uint64"},{"name":"logIndex","type":"uint256","internalType":"uint256"},{"name":"removed","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"exists","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"foundryVersionAtLeast","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"foundryVersionCmp","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByCode","inputs":[{"name":"code","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByDeployedCode","inputs":[{"name":"deployedCode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getBlobBaseFee","inputs":[],"outputs":[{"name":"blobBaseFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"height","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBroadcast","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple","internalType":"struct VmSafe.BroadcastTxSummary","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainAlias","type":"string","internalType":"string"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"blockChainId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployments","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddresses","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getEvmVersion","inputs":[],"outputs":[{"name":"evm","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"getFoundryVersion","inputs":[],"outputs":[{"name":"version","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMappingKeyAndParentOf","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"elementSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"found","type":"bool","internalType":"bool"},{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"parent","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getMappingLength","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"length","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMappingSlotAt","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"},{"name":"idx","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRawBlockHeader","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"rlpHeader","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getStateDiff","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStateDiffJson","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStorageAccesses","inputs":[],"outputs":[{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getStorageSlots","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"variableName","type":"string","internalType":"string"}],"outputs":[{"name":"slots","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getWallets","inputs":[],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"indexOf","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"isContext","inputs":[{"name":"context","type":"uint8","internalType":"enum VmSafe.ForgeContext"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExists","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastCallGas","inputs":[],"outputs":[{"name":"gas","type":"tuple","internalType":"struct VmSafe.Gas","components":[{"name":"gasLimit","type":"uint64","internalType":"uint64"},{"name":"gasTotalUsed","type":"uint64","internalType":"uint64"},{"name":"gasMemoryUsed","type":"uint64","internalType":"uint64"},{"name":"gasRefunded","type":"int64","internalType":"int64"},{"name":"gasRemaining","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonKeys","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonString","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonTypeArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddress","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddressArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBool","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBoolArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32Array","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytesArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlInt","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlIntArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlKeys","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlString","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlStringArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlTypeArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUint","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUintArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"prompt","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptAddress","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecret","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecretUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"publicKeyP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"randomBool","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"randomBytes","inputs":[{"name":"len","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"randomBytes4","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"randomBytes8","inputs":[],"outputs":[{"name":"","type":"bytes8","internalType":"bytes8"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"language","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"replace","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resetGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resolveEnv","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"rpc","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJson","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUintToHex","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"overwrite","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEvmVersion","inputs":[{"name":"evm","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSeed","inputs":[{"name":"seed","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shuffle","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signWithNonceUnsafe","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sleep","inputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sort","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"delimiter","type":"string","internalType":"string"}],"outputs":[{"name":"outputs","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startDebugTraceRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startStateDiffRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnDebugTraceRecording","inputs":[],"outputs":[{"name":"step","type":"tuple[]","internalType":"struct VmSafe.DebugStep[]","components":[{"name":"stack","type":"uint256[]","internalType":"uint256[]"},{"name":"memoryInput","type":"bytes","internalType":"bytes"},{"name":"opcode","type":"uint8","internalType":"uint8"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isOutOfGas","type":"bool","internalType":"bool"},{"name":"contractAddr","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnStateDiff","inputs":[],"outputs":[{"name":"accountAccesses","type":"tuple[]","internalType":"struct VmSafe.AccountAccess[]","components":[{"name":"chainInfo","type":"tuple","internalType":"struct VmSafe.ChainInfo","components":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"}]},{"name":"kind","type":"uint8","internalType":"enum VmSafe.AccountAccessKind"},{"name":"account","type":"address","internalType":"address"},{"name":"accessor","type":"address","internalType":"address"},{"name":"initialized","type":"bool","internalType":"bool"},{"name":"oldBalance","type":"uint256","internalType":"uint256"},{"name":"newBalance","type":"uint256","internalType":"uint256"},{"name":"deployedCode","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"reverted","type":"bool","internalType":"bool"},{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"oldNonce","type":"uint64","internalType":"uint64"},{"name":"newNonce","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopRecord","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toLowercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toUppercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"trim","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tryFfi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct VmSafe.FfiResult","components":[{"name":"exitCode","type":"int32","internalType":"int32"},{"name":"stdout","type":"bytes","internalType":"bytes"},{"name":"stderr","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"unixTime","inputs":[],"outputs":[{"name":"milliseconds","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert[]\",\"name\":\"potentialReverts\",\"type\":\"tuple[]\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert\",\"name\":\"potentialRevert\",\"type\":\"tuple\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blob\",\"type\":\"bytes\"}],\"name\":\"attachBlob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"min\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"max\",\"type\":\"int256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"broadcastRawTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"subject\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"search\",\"type\":\"string\"}],\"name\":\"contains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"copyStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"jsonData\",\"type\":\"string\"}],\"name\":\"eip712HashTypedData\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionAtLeast\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionCmp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"code\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByDeployedCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcast\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployments\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"deployedAddresses\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEvmVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"evm\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFoundryVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRawBlockHeader\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"rlpHeader\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiff\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiffJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStorageAccesses\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"variableName\",\"type\":\"string\"}],\"name\":\"getStorageSlots\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"slots\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWallets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum VmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"publicKeyP256\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"randomBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes4\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes8\",\"outputs\":[{\"internalType\":\"bytes8\",\"name\":\"\",\"type\":\"bytes8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resetGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"resolveEnv\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"overwrite\",\"type\":\"bool\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"evm\",\"type\":\"string\"}],\"name\":\"setEvmVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"seed\",\"type\":\"uint256\"}],\"name\":\"setSeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"shuffle\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"signWithNonceUnsafe\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"sort\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startDebugTraceRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnDebugTraceRecording\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"stack\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"memoryInput\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isOutOfGas\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractAddr\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.DebugStep[]\",\"name\":\"step\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enum VmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"oldNonce\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"accesses(address)\":{\"notice\":\"Gets all accessed reads and write slot from a `vm.record` session, for a given address.\"},\"addr(uint256)\":{\"notice\":\"Gets the address for a given private key.\"},\"assertApproxEqAbs(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbs(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRel(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRel(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEq(address,address)\":{\"notice\":\"Asserts that two `address` values are equal.\"},\"assertEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are equal.\"},\"assertEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are equal.\"},\"assertEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are equal.\"},\"assertEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are equal.\"},\"assertEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are equal.\"},\"assertEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal.\"},\"assertEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal.\"},\"assertEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are equal.\"},\"assertEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are equal.\"},\"assertEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(string,string)\":{\"notice\":\"Asserts that two `string` values are equal.\"},\"assertEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are equal.\"},\"assertEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal.\"},\"assertEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256 values are equal.\"},\"assertEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertFalse(bool)\":{\"notice\":\"Asserts that the given condition is false.\"},\"assertFalse(bool,string)\":{\"notice\":\"Asserts that the given condition is false and includes error message into revert string on failure.\"},\"assertGe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second.\"},\"assertGt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second.\"},\"assertGt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second.\"},\"assertLe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second.\"},\"assertLe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second.\"},\"assertLt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second.\"},\"assertLt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEq(address,address)\":{\"notice\":\"Asserts that two `address` values are not equal.\"},\"assertNotEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are not equal.\"},\"assertNotEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are not equal.\"},\"assertNotEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal.\"},\"assertNotEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are not equal.\"},\"assertNotEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are not equal.\"},\"assertNotEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal.\"},\"assertNotEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal.\"},\"assertNotEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are not equal.\"},\"assertNotEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal.\"},\"assertNotEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string,string)\":{\"notice\":\"Asserts that two `string` values are not equal.\"},\"assertNotEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are not equal.\"},\"assertNotEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal.\"},\"assertNotEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal.\"},\"assertNotEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertTrue(bool)\":{\"notice\":\"Asserts that the given condition is true.\"},\"assertTrue(bool,string)\":{\"notice\":\"Asserts that the given condition is true and includes error message into revert string on failure.\"},\"assume(bool)\":{\"notice\":\"If the condition is false, discard this run's fuzz inputs and generate new ones.\"},\"assumeNoRevert((address,bool,bytes))\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\"},\"assumeNoRevert((address,bool,bytes)[])\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\"},\"assumeNoRevert()\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverted.\"},\"attachBlob(bytes)\":{\"notice\":\"Attach an EIP-4844 blob to the next call\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address))\":{\"notice\":\"Designate the next call as an EIP-7702 transaction\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)\":{\"notice\":\"Designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"bound(int256,int256,int256)\":{\"notice\":\"Returns an int256 value bounded in given range and different from the current one.\"},\"bound(uint256,uint256,uint256)\":{\"notice\":\"Returns an uint256 value bounded in given range and different from the current one.\"},\"breakpoint(string)\":{\"notice\":\"Writes a breakpoint to jump to in the debugger.\"},\"breakpoint(string,bool)\":{\"notice\":\"Writes a conditional breakpoint to jump to in the debugger.\"},\"broadcast()\":{\"notice\":\"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"broadcast(address)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain.\"},\"broadcast(uint256)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain.\"},\"broadcastRawTransaction(bytes)\":{\"notice\":\"Takes a signed transaction and broadcasts it to the network.\"},\"closeFile(string)\":{\"notice\":\"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root.\"},\"computeCreate2Address(bytes32,bytes32)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\"},\"computeCreate2Address(bytes32,bytes32,address)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\"},\"computeCreateAddress(address,uint256)\":{\"notice\":\"Compute the address a contract will be deployed at for a given deployer address and nonce.\"},\"contains(string,string)\":{\"notice\":\"Returns true if `search` is found in `subject`, false otherwise.\"},\"copyFile(string,string)\":{\"notice\":\"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root.\"},\"copyStorage(address,address)\":{\"notice\":\"Utility cheatcode to copy storage of `from` contract to another `to` contract.\"},\"createDir(string,bool)\":{\"notice\":\"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root.\"},\"createWallet(string)\":{\"notice\":\"Derives a private key from the name, labels the account with that name, and returns the wallet.\"},\"createWallet(uint256)\":{\"notice\":\"Generates a wallet from the private key and returns the wallet.\"},\"createWallet(uint256,string)\":{\"notice\":\"Generates a wallet from the private key, labels the account with that name, and returns the wallet.\"},\"deployCode(string)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,bytes)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deployCode(string,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deriveKey(string,string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at `{derivationPath}{index}`.\"},\"deriveKey(string,string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at `{derivationPath}{index}`.\"},\"deriveKey(string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"deriveKey(string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"eip712HashStruct(string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Supports 2 different inputs: 1. Name of the type (i.e. \\\"PermitSingle\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will use the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashStruct(string,string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"PermitSingle\\\"). * `abiEncodedData`: ABI-encoded data for the struct that is being hashed.\"},\"eip712HashType(string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Supports 2 different inputs: 1. Name of the type (i.e. \\\"Transaction\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will output the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashType(string,string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"Transaction\\\").\"},\"eip712HashTypedData(string)\":{\"notice\":\"Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard.\"},\"ensNamehash(string)\":{\"notice\":\"Returns ENS namehash for provided string.\"},\"envAddress(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed.\"},\"envAddress(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envExists(string)\":{\"notice\":\"Gets the environment variable `name` and returns true if it exists, else returns false.\"},\"envInt(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed.\"},\"envInt(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envOr(string,address)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bool)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes32)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,int256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,address[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bool[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes32[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,int256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,string[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,uint256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,uint256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envString(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed.\"},\"envString(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"eth_getLogs(uint256,uint256,address,bytes32[])\":{\"notice\":\"Gets all the logs according to specified filter.\"},\"exists(string)\":{\"notice\":\"Returns true if the given path points to an existing entity, else returns false.\"},\"ffi(string[])\":{\"notice\":\"Performs a foreign function call via the terminal.\"},\"foundryVersionAtLeast(string)\":{\"notice\":\"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`.\"},\"foundryVersionCmp(string)\":{\"notice\":\"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\\\"1.0.0\\\") >= 0) { ... }`\"},\"fsMetadata(string)\":{\"notice\":\"Given a path, query the file system to get information about a file, directory, etc.\"},\"getArtifactPathByCode(bytes)\":{\"notice\":\"Gets the artifact path from code (aka. creation code).\"},\"getArtifactPathByDeployedCode(bytes)\":{\"notice\":\"Gets the artifact path from deployed code (aka. runtime code).\"},\"getBlobBaseFee()\":{\"notice\":\"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockNumber()\":{\"notice\":\"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockTimestamp()\":{\"notice\":\"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBroadcast(string,uint64,uint8)\":{\"notice\":\"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`.\"},\"getBroadcasts(string,uint64)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getBroadcasts(string,uint64,uint8)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getChain(string)\":{\"notice\":\"Returns a Chain struct for specific alias\"},\"getChain(uint256)\":{\"notice\":\"Returns a Chain struct for specific chainId\"},\"getChainId()\":{\"notice\":\"Gets the current `block.chainid` of the currently selected environment. You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getCode(string)\":{\"notice\":\"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployedCode(string)\":{\"notice\":\"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployment(string)\":{\"notice\":\"Returns the most recent deployment for the current `chainId`.\"},\"getDeployment(string,uint64)\":{\"notice\":\"Returns the most recent deployment for the given contract on `chainId`\"},\"getDeployments(string,uint64)\":{\"notice\":\"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last.\"},\"getEvmVersion()\":{\"notice\":\"Returns the test or script execution evm version. **Note:** The execution evm version is not the same as the compilation one.\"},\"getFoundryVersion()\":{\"notice\":\"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences.\"},\"getLabel(address)\":{\"notice\":\"Gets the label for the specified address.\"},\"getMappingKeyAndParentOf(address,bytes32)\":{\"notice\":\"Gets the map key and parent of a mapping at a given slot, for a given address.\"},\"getMappingLength(address,bytes32)\":{\"notice\":\"Gets the number of elements in the mapping at the given slot, for a given address.\"},\"getMappingSlotAt(address,bytes32,uint256)\":{\"notice\":\"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping).\"},\"getNonce((address,uint256,uint256,uint256))\":{\"notice\":\"Get the nonce of a `Wallet`.\"},\"getNonce(address)\":{\"notice\":\"Gets the nonce of an account.\"},\"getRawBlockHeader(uint256)\":{\"notice\":\"Gets the RLP encoded block header for a given block number. Returns the block header in the same format as `cast block --raw`.\"},\"getRecordedLogs()\":{\"notice\":\"Gets all the recorded logs.\"},\"getStateDiff()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session.\"},\"getStateDiffJson()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\"},\"getStorageAccesses()\":{\"notice\":\"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session\"},\"getStorageSlots(address,string)\":{\"notice\":\"Returns an array of storage slots occupied by the specified variable.\"},\"getWallets()\":{\"notice\":\"Returns addresses of available unlocked wallets in the script environment.\"},\"indexOf(string,string)\":{\"notice\":\"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`.\"},\"isContext(uint8)\":{\"notice\":\"Returns true if `forge` command was executed in given context.\"},\"isDir(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a directory, else returns false.\"},\"isFile(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a regular file, else returns false.\"},\"keyExists(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\"},\"keyExistsJson(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object.\"},\"keyExistsToml(string,string)\":{\"notice\":\"Checks if `key` exists in a TOML table.\"},\"label(address,string)\":{\"notice\":\"Labels an address in call traces.\"},\"lastCallGas()\":{\"notice\":\"Gets the gas used in the last call from the callee perspective.\"},\"load(address,bytes32)\":{\"notice\":\"Loads a storage slot from an address.\"},\"parseAddress(string)\":{\"notice\":\"Parses the given `string` into an `address`.\"},\"parseBool(string)\":{\"notice\":\"Parses the given `string` into a `bool`.\"},\"parseBytes(string)\":{\"notice\":\"Parses the given `string` into `bytes`.\"},\"parseBytes32(string)\":{\"notice\":\"Parses the given `string` into a `bytes32`.\"},\"parseInt(string)\":{\"notice\":\"Parses the given `string` into a `int256`.\"},\"parseJson(string)\":{\"notice\":\"ABI-encodes a JSON object.\"},\"parseJson(string,string)\":{\"notice\":\"ABI-encodes a JSON object at `key`.\"},\"parseJsonAddress(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address`.\"},\"parseJsonAddressArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address[]`.\"},\"parseJsonBool(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool`.\"},\"parseJsonBoolArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool[]`.\"},\"parseJsonBytes(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes`.\"},\"parseJsonBytes32(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32`.\"},\"parseJsonBytes32Array(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\"},\"parseJsonBytesArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes[]`.\"},\"parseJsonInt(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256`.\"},\"parseJsonIntArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256[]`.\"},\"parseJsonKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a JSON object.\"},\"parseJsonString(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string`.\"},\"parseJsonStringArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string[]`.\"},\"parseJsonType(string,string)\":{\"notice\":\"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonType(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonTypeArray(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseJsonUint(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256`.\"},\"parseJsonUintArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256[]`.\"},\"parseToml(string)\":{\"notice\":\"ABI-encodes a TOML table.\"},\"parseToml(string,string)\":{\"notice\":\"ABI-encodes a TOML table at `key`.\"},\"parseTomlAddress(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address`.\"},\"parseTomlAddressArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address[]`.\"},\"parseTomlBool(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool`.\"},\"parseTomlBoolArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool[]`.\"},\"parseTomlBytes(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes`.\"},\"parseTomlBytes32(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32`.\"},\"parseTomlBytes32Array(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\"},\"parseTomlBytesArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes[]`.\"},\"parseTomlInt(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256`.\"},\"parseTomlIntArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256[]`.\"},\"parseTomlKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a TOML table.\"},\"parseTomlString(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string`.\"},\"parseTomlStringArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string[]`.\"},\"parseTomlType(string,string)\":{\"notice\":\"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlType(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlTypeArray(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseTomlUint(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256`.\"},\"parseTomlUintArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256[]`.\"},\"parseUint(string)\":{\"notice\":\"Parses the given `string` into a `uint256`.\"},\"pauseGasMetering()\":{\"notice\":\"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\"},\"pauseTracing()\":{\"notice\":\"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging.\"},\"projectRoot()\":{\"notice\":\"Get the path of the current project root.\"},\"prompt(string)\":{\"notice\":\"Prompts the user for a string value in the terminal.\"},\"promptAddress(string)\":{\"notice\":\"Prompts the user for an address in the terminal.\"},\"promptSecret(string)\":{\"notice\":\"Prompts the user for a hidden string value in the terminal.\"},\"promptSecretUint(string)\":{\"notice\":\"Prompts the user for hidden uint256 in the terminal (usually pk).\"},\"promptUint(string)\":{\"notice\":\"Prompts the user for uint256 in the terminal.\"},\"publicKeyP256(uint256)\":{\"notice\":\"Derives secp256r1 public key from the provided `privateKey`.\"},\"randomAddress()\":{\"notice\":\"Returns a random `address`.\"},\"randomBool()\":{\"notice\":\"Returns a random `bool`.\"},\"randomBytes(uint256)\":{\"notice\":\"Returns a random byte array value of the given length.\"},\"randomBytes4()\":{\"notice\":\"Returns a random fixed-size byte array of length 4.\"},\"randomBytes8()\":{\"notice\":\"Returns a random fixed-size byte array of length 8.\"},\"randomInt()\":{\"notice\":\"Returns a random `int256` value.\"},\"randomInt(uint256)\":{\"notice\":\"Returns a random `int256` value of given bits.\"},\"randomUint()\":{\"notice\":\"Returns a random uint256 value.\"},\"randomUint(uint256)\":{\"notice\":\"Returns a random `uint256` value of given bits.\"},\"randomUint(uint256,uint256)\":{\"notice\":\"Returns random uint256 value between the provided range (=min..=max).\"},\"readDir(string)\":{\"notice\":\"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true.\"},\"readDir(string,uint64)\":{\"notice\":\"See `readDir(string)`.\"},\"readDir(string,uint64,bool)\":{\"notice\":\"See `readDir(string)`.\"},\"readFile(string)\":{\"notice\":\"Reads the entire content of file to string. `path` is relative to the project root.\"},\"readFileBinary(string)\":{\"notice\":\"Reads the entire content of file as binary. `path` is relative to the project root.\"},\"readLine(string)\":{\"notice\":\"Reads next line of file to string.\"},\"readLink(string)\":{\"notice\":\"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist.\"},\"record()\":{\"notice\":\"Records all storage reads and writes. Use `accesses` to get the recorded data. Subsequent calls to `record` will clear the previous data.\"},\"recordLogs()\":{\"notice\":\"Record all the transaction logs.\"},\"rememberKey(uint256)\":{\"notice\":\"Adds a private key to the local forge wallet and returns the address.\"},\"rememberKeys(string,string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"rememberKeys(string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"removeDir(string,bool)\":{\"notice\":\"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root.\"},\"removeFile(string)\":{\"notice\":\"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root.\"},\"replace(string,string,string)\":{\"notice\":\"Replaces occurrences of `from` in the given `string` with `to`.\"},\"resetGasMetering()\":{\"notice\":\"Reset gas metering (i.e. gas usage is set to gas limit).\"},\"resolveEnv(string)\":{\"notice\":\"Resolves the env variable placeholders of a given input string.\"},\"resumeGasMetering()\":{\"notice\":\"Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\"},\"resumeTracing()\":{\"notice\":\"Unpauses collection of call traces.\"},\"rpc(string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the current fork URL.\"},\"rpc(string,string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the given endpoint.\"},\"rpcUrl(string)\":{\"notice\":\"Returns the RPC url for the given alias.\"},\"rpcUrlStructs()\":{\"notice\":\"Returns all rpc urls and their aliases as structs.\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`.\"},\"serializeAddress(string,string,address)\":{\"notice\":\"See `serializeJson`.\"},\"serializeAddress(string,string,address[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeJson(string,string)\":{\"notice\":\"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment.\"},\"serializeJsonType(string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeJsonType(string,string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUintToHex(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"setArbitraryStorage(address)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address.\"},\"setArbitraryStorage(address,bool)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set.\"},\"setEnv(string,string)\":{\"notice\":\"Sets environment variables.\"},\"setEvmVersion(string)\":{\"notice\":\"Set the exact test or script execution evm version, e.g. `berlin`, `cancun`. **Note:** The execution evm version is not the same as the compilation one.\"},\"setSeed(uint256)\":{\"notice\":\"Set RNG seed.\"},\"shuffle(uint256[])\":{\"notice\":\"Randomly shuffles an array.\"},\"sign((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`.\"},\"sign(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address.\"},\"sign(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"sign(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve.\"},\"signAndAttachDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\"},\"signAndAttachDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"signAndAttachDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\"},\"signCompact((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signCompact(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address.\"},\"signCompact(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"signCompact(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation\"},\"signDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation, with optional cross-chain validity.\"},\"signDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation for specific nonce\"},\"signP256(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256r1 curve.\"},\"signWithNonceUnsafe(uint256,bytes32,uint256)\":{\"notice\":\"Signs `digest` with `privateKey` on the secp256k1 curve, using the given `nonce` as the raw ephemeral k value in ECDSA (instead of deriving it deterministically).\"},\"sleep(uint256)\":{\"notice\":\"Suspends execution of the main thread for `duration` milliseconds.\"},\"sort(uint256[])\":{\"notice\":\"Sorts an array in ascending order.\"},\"split(string,string)\":{\"notice\":\"Splits the given `string` into an array of strings divided by the `delimiter`.\"},\"startBroadcast()\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"startBroadcast(address)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain.\"},\"startBroadcast(uint256)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain.\"},\"startDebugTraceRecording()\":{\"notice\":\"Records the debug trace during the run.\"},\"startMappingRecording()\":{\"notice\":\"Starts recording all map SSTOREs for later retrieval.\"},\"startStateDiffRecording()\":{\"notice\":\"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls\"},\"stopAndReturnDebugTraceRecording()\":{\"notice\":\"Stop debug trace recording and returns the recorded debug trace.\"},\"stopAndReturnStateDiff()\":{\"notice\":\"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\"},\"stopBroadcast()\":{\"notice\":\"Stops collecting onchain transactions.\"},\"stopMappingRecording()\":{\"notice\":\"Stops recording all map SSTOREs for later retrieval and clears the recorded data.\"},\"stopRecord()\":{\"notice\":\"Stops recording storage reads and writes.\"},\"toBase64(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64 string.\"},\"toBase64(string)\":{\"notice\":\"Encodes a `string` value to a base64 string.\"},\"toBase64URL(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64url string.\"},\"toBase64URL(string)\":{\"notice\":\"Encodes a `string` value to a base64url string.\"},\"toLowercase(string)\":{\"notice\":\"Converts the given `string` value to Lowercase.\"},\"toString(address)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bool)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes32)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(int256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(uint256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toUppercase(string)\":{\"notice\":\"Converts the given `string` value to Uppercase.\"},\"trim(string)\":{\"notice\":\"Trims leading and trailing whitespace from the given `string` value.\"},\"tryFfi(string[])\":{\"notice\":\"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\"},\"unixTime()\":{\"notice\":\"Returns the time since unix epoch in milliseconds.\"},\"writeFile(string,string)\":{\"notice\":\"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeFileBinary(string,bytes)\":{\"notice\":\"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeJson(string,string)\":{\"notice\":\"Write a serialized JSON object to a file. If the file exists, it will be overwritten.\"},\"writeJson(string,string,string)\":{\"notice\":\"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"},\"writeLine(string,string)\":{\"notice\":\"Writes line to file, creating a file if it does not exist. `path` is relative to the project root.\"},\"writeToml(string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\"},\"writeToml(string,string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"}},\"notice\":\"The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may result in Script simulations differing from on-chain execution. It is recommended to only use these cheats in scripts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","addr(uint256)":"ffa18649","assertApproxEqAbs(int256,int256,uint256)":"240f839d","assertApproxEqAbs(int256,int256,uint256,string)":"8289e621","assertApproxEqAbs(uint256,uint256,uint256)":"16d207c6","assertApproxEqAbs(uint256,uint256,uint256,string)":"f710b062","assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":"3d5bc8bc","assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":"6a5066d4","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":"045c55ce","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":"60429eb2","assertApproxEqRel(int256,int256,uint256)":"fea2d14f","assertApproxEqRel(int256,int256,uint256,string)":"ef277d72","assertApproxEqRel(uint256,uint256,uint256)":"8cf25ef4","assertApproxEqRel(uint256,uint256,uint256,string)":"1ecb7d33","assertApproxEqRelDecimal(int256,int256,uint256,uint256)":"abbf21cc","assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":"fccc11c4","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":"21ed2977","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":"82d6c8fd","assertEq(address,address)":"515361f6","assertEq(address,address,string)":"2f2769d1","assertEq(address[],address[])":"3868ac34","assertEq(address[],address[],string)":"3e9173c5","assertEq(bool,bool)":"f7fe3477","assertEq(bool,bool,string)":"4db19e7e","assertEq(bool[],bool[])":"707df785","assertEq(bool[],bool[],string)":"e48a8f8d","assertEq(bytes,bytes)":"97624631","assertEq(bytes,bytes,string)":"e24fed00","assertEq(bytes32,bytes32)":"7c84c69b","assertEq(bytes32,bytes32,string)":"c1fa1ed0","assertEq(bytes32[],bytes32[])":"0cc9ee84","assertEq(bytes32[],bytes32[],string)":"e03e9177","assertEq(bytes[],bytes[])":"e5fb9b4a","assertEq(bytes[],bytes[],string)":"f413f0b6","assertEq(int256,int256)":"fe74f05b","assertEq(int256,int256,string)":"714a2f13","assertEq(int256[],int256[])":"711043ac","assertEq(int256[],int256[],string)":"191f1b30","assertEq(string,string)":"f320d963","assertEq(string,string,string)":"36f656d8","assertEq(string[],string[])":"cf1c049c","assertEq(string[],string[],string)":"eff6b27d","assertEq(uint256,uint256)":"98296c54","assertEq(uint256,uint256,string)":"88b44c85","assertEq(uint256[],uint256[])":"975d5a12","assertEq(uint256[],uint256[],string)":"5d18c73a","assertEqDecimal(int256,int256,uint256)":"48016c04","assertEqDecimal(int256,int256,uint256,string)":"7e77b0c5","assertEqDecimal(uint256,uint256,uint256)":"27af7d9c","assertEqDecimal(uint256,uint256,uint256,string)":"d0cbbdef","assertFalse(bool)":"a5982885","assertFalse(bool,string)":"7ba04809","assertGe(int256,int256)":"0a30b771","assertGe(int256,int256,string)":"a84328dd","assertGe(uint256,uint256)":"a8d4d1d9","assertGe(uint256,uint256,string)":"e25242c0","assertGeDecimal(int256,int256,uint256)":"dc28c0f1","assertGeDecimal(int256,int256,uint256,string)":"5df93c9b","assertGeDecimal(uint256,uint256,uint256)":"3d1fe08a","assertGeDecimal(uint256,uint256,uint256,string)":"8bff9133","assertGt(int256,int256)":"5a362d45","assertGt(int256,int256,string)":"f8d33b9b","assertGt(uint256,uint256)":"db07fcd2","assertGt(uint256,uint256,string)":"d9a3c4d2","assertGtDecimal(int256,int256,uint256)":"78611f0e","assertGtDecimal(int256,int256,uint256,string)":"04a5c7ab","assertGtDecimal(uint256,uint256,uint256)":"eccd2437","assertGtDecimal(uint256,uint256,uint256,string)":"64949a8d","assertLe(int256,int256)":"95fd154e","assertLe(int256,int256,string)":"4dfe692c","assertLe(uint256,uint256)":"8466f415","assertLe(uint256,uint256,string)":"d17d4b0d","assertLeDecimal(int256,int256,uint256)":"11d1364a","assertLeDecimal(int256,int256,uint256,string)":"aa5cf788","assertLeDecimal(uint256,uint256,uint256)":"c304aab7","assertLeDecimal(uint256,uint256,uint256,string)":"7fefbbe0","assertLt(int256,int256)":"3e914080","assertLt(int256,int256,string)":"9ff531e3","assertLt(uint256,uint256)":"b12fc005","assertLt(uint256,uint256,string)":"65d5c135","assertLtDecimal(int256,int256,uint256)":"dbe8d88b","assertLtDecimal(int256,int256,uint256,string)":"40f0b4e0","assertLtDecimal(uint256,uint256,uint256)":"2077337e","assertLtDecimal(uint256,uint256,uint256,string)":"a972d037","assertNotEq(address,address)":"b12e1694","assertNotEq(address,address,string)":"8775a591","assertNotEq(address[],address[])":"46d0b252","assertNotEq(address[],address[],string)":"72c7e0b5","assertNotEq(bool,bool)":"236e4d66","assertNotEq(bool,bool,string)":"1091a261","assertNotEq(bool[],bool[])":"286fafea","assertNotEq(bool[],bool[],string)":"62c6f9fb","assertNotEq(bytes,bytes)":"3cf78e28","assertNotEq(bytes,bytes,string)":"9507540e","assertNotEq(bytes32,bytes32)":"898e83fc","assertNotEq(bytes32,bytes32,string)":"b2332f51","assertNotEq(bytes32[],bytes32[])":"0603ea68","assertNotEq(bytes32[],bytes32[],string)":"b873634c","assertNotEq(bytes[],bytes[])":"edecd035","assertNotEq(bytes[],bytes[],string)":"1dcd1f68","assertNotEq(int256,int256)":"f4c004e3","assertNotEq(int256,int256,string)":"4724c5b9","assertNotEq(int256[],int256[])":"0b72f4ef","assertNotEq(int256[],int256[],string)":"d3977322","assertNotEq(string,string)":"6a8237b3","assertNotEq(string,string,string)":"78bdcea7","assertNotEq(string[],string[])":"bdfacbe8","assertNotEq(string[],string[],string)":"b67187f3","assertNotEq(uint256,uint256)":"b7909320","assertNotEq(uint256,uint256,string)":"98f9bdbd","assertNotEq(uint256[],uint256[])":"56f29cba","assertNotEq(uint256[],uint256[],string)":"9a7fbd8f","assertNotEqDecimal(int256,int256,uint256)":"14e75680","assertNotEqDecimal(int256,int256,uint256,string)":"33949f0b","assertNotEqDecimal(uint256,uint256,uint256)":"669efca7","assertNotEqDecimal(uint256,uint256,uint256,string)":"f5a55558","assertTrue(bool)":"0c9fd581","assertTrue(bool,string)":"a34edc03","assume(bool)":"4c63e562","assumeNoRevert((address,bool,bytes))":"d8591eeb","assumeNoRevert((address,bool,bytes)[])":"8a4592cc","assumeNoRevert()":"285b366a","attachBlob(bytes)":"10cb385c","attachDelegation((uint8,bytes32,bytes32,uint64,address))":"14ae3519","attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)":"f4460d34","bound(int256,int256,int256)":"8f48fc07","bound(uint256,uint256,uint256)":"5a6c1eed","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","broadcastRawTransaction(bytes)":"8c0c72e0","closeFile(string)":"48c3241f","computeCreate2Address(bytes32,bytes32)":"890c283b","computeCreate2Address(bytes32,bytes32,address)":"d323826a","computeCreateAddress(address,uint256)":"74637a7a","contains(string,string)":"3fb18aec","copyFile(string,string)":"a54a87d8","copyStorage(address,address)":"203dac0d","createDir(string,bool)":"168b64d3","createWallet(string)":"7404f1d2","createWallet(uint256)":"7a675bb6","createWallet(uint256,string)":"ed7c5462","deployCode(string)":"9a8325a0","deployCode(string,bytes)":"29ce9dde","deployCode(string,bytes,bytes32)":"016155bf","deployCode(string,bytes,uint256)":"ff5d64e4","deployCode(string,bytes,uint256,bytes32)":"3aa773ea","deployCode(string,bytes32)":"17ab1d79","deployCode(string,uint256)":"0af6a701","deployCode(string,uint256,bytes32)":"002cb687","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,string,uint32,string)":"29233b1f","deriveKey(string,uint32)":"6229498b","deriveKey(string,uint32,string)":"32c8176d","eip712HashStruct(string,bytes)":"aedeaebc","eip712HashStruct(string,string,bytes)":"6d06c57c","eip712HashType(string)":"6792e9e2","eip712HashType(string,string)":"18fb6406","eip712HashTypedData(string)":"ea25e615","ensNamehash(string)":"8c374c65","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envExists(string)":"ce8365f9","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","eth_getLogs(uint256,uint256,address,bytes32[])":"35e1349b","exists(string)":"261a323e","ffi(string[])":"89160467","foundryVersionAtLeast(string)":"6248be1f","foundryVersionCmp(string)":"ca7b0a09","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getBroadcast(string,uint64,uint8)":"3dc90cb3","getBroadcasts(string,uint64)":"f2fa4a26","getBroadcasts(string,uint64,uint8)":"f7afe919","getChain(string)":"4cc1c2bb","getChain(uint256)":"b6791ad4","getChainId()":"3408e470","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getDeployment(string)":"a8091d97","getDeployment(string,uint64)":"0debd5d6","getDeployments(string,uint64)":"74e133dd","getEvmVersion()":"aa2bb222","getFoundryVersion()":"ea991bb5","getLabel(address)":"28a249b0","getMappingKeyAndParentOf(address,bytes32)":"876e24e6","getMappingLength(address,bytes32)":"2f2fd63f","getMappingSlotAt(address,bytes32,uint256)":"ebc73ab4","getNonce((address,uint256,uint256,uint256))":"a5748aad","getNonce(address)":"2d0335ab","getRawBlockHeader(uint256)":"2c667606","getRecordedLogs()":"191553a4","getStateDiff()":"80df01cc","getStateDiffJson()":"f54fe009","getStorageAccesses()":"2899b1d0","getStorageSlots(address,string)":"efa136d9","getWallets()":"db7a4605","indexOf(string,string)":"8a0807b7","isContext(uint8)":"64af255d","isDir(string)":"7d15d019","isFile(string)":"e0eb04d4","keyExists(string,string)":"528a683c","keyExistsJson(string,string)":"db4235f6","keyExistsToml(string,string)":"600903ad","label(address,string)":"c657c718","lastCallGas()":"2b589b28","load(address,bytes32)":"667f9d70","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonKeys(string,string)":"213e4198","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonType(string,string)":"a9da313b","parseJsonType(string,string,string)":"e3f5ae33","parseJsonTypeArray(string,string,string)":"0175d535","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseToml(string)":"592151f0","parseToml(string,string)":"37736e08","parseTomlAddress(string,string)":"65e7c844","parseTomlAddressArray(string,string)":"65c428e7","parseTomlBool(string,string)":"d30dced6","parseTomlBoolArray(string,string)":"127cfe9a","parseTomlBytes(string,string)":"d77bfdb9","parseTomlBytes32(string,string)":"8e214810","parseTomlBytes32Array(string,string)":"3e716f81","parseTomlBytesArray(string,string)":"b197c247","parseTomlInt(string,string)":"c1350739","parseTomlIntArray(string,string)":"d3522ae6","parseTomlKeys(string,string)":"812a44b2","parseTomlString(string,string)":"8bb8dd43","parseTomlStringArray(string,string)":"9f629281","parseTomlType(string,string)":"47fa5e11","parseTomlType(string,string,string)":"f9fa5cdb","parseTomlTypeArray(string,string,string)":"49be3743","parseTomlUint(string,string)":"cc7b0487","parseTomlUintArray(string,string)":"b5df27c8","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","pauseTracing()":"c94d1f90","projectRoot()":"d930a0e6","prompt(string)":"47eaf474","promptAddress(string)":"62ee05f4","promptSecret(string)":"1e279d41","promptSecretUint(string)":"69ca02b7","promptUint(string)":"652fd489","publicKeyP256(uint256)":"c453949e","randomAddress()":"d5bee9f5","randomBool()":"cdc126bd","randomBytes(uint256)":"6c5d32a9","randomBytes4()":"9b7cd579","randomBytes8()":"0497b0a5","randomInt()":"111f1202","randomInt(uint256)":"12845966","randomUint()":"25124730","randomUint(uint256)":"cf81e69c","randomUint(uint256,uint256)":"d61b051b","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","rememberKeys(string,string,string,uint32)":"f8d58eaf","rememberKeys(string,string,uint32)":"97cb9189","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","replace(string,string,string)":"e00ad03e","resetGasMetering()":"be367dd3","resolveEnv(string)":"ddd2128d","resumeGasMetering()":"2bcd50e0","resumeTracing()":"72a09ccb","rpc(string,string)":"1206c8a8","rpc(string,string,string)":"0199a220","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeJson(string,string)":"9b3358b0","serializeJsonType(string,bytes)":"6d4f96a6","serializeJsonType(string,string,string,bytes)":"6f93bccb","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","serializeUintToHex(string,string,uint256)":"ae5a2ae8","setArbitraryStorage(address)":"e1631837","setArbitraryStorage(address,bool)":"d3ec2a0b","setEnv(string,string)":"3d5923ee","setEvmVersion(string)":"43179f5a","setSeed(uint256)":"c32a50f9","shuffle(uint256[])":"54f1469c","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signAndAttachDelegation(address,uint256)":"c7fa7288","signAndAttachDelegation(address,uint256,bool)":"d936e146","signAndAttachDelegation(address,uint256,uint64)":"cde3e5be","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","signDelegation(address,uint256)":"5b593c7b","signDelegation(address,uint256,bool)":"cdd7563d","signDelegation(address,uint256,uint64)":"ceba2ec3","signP256(uint256,bytes32)":"83211b40","signWithNonceUnsafe(uint256,bytes32,uint256)":"2012783a","sleep(uint256)":"fa9d8713","sort(uint256[])":"9ec8b026","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startDebugTraceRecording()":"419c8832","startMappingRecording()":"3e9705c0","startStateDiffRecording()":"cf22e3c9","stopAndReturnDebugTraceRecording()":"ced398a2","stopAndReturnStateDiff()":"aa5cf90e","stopBroadcast()":"76eadd36","stopMappingRecording()":"0d4aae9b","stopRecord()":"996be76d","toBase64(bytes)":"a5cbfe65","toBase64(string)":"3f8be2c8","toBase64URL(bytes)":"c8bd0e4a","toBase64URL(string)":"ae3165b3","toLowercase(string)":"50bb0884","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","toUppercase(string)":"074ae3d7","trim(string)":"b2dad155","tryFfi(string[])":"f45c1ce7","unixTime()":"625387dc","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f","writeToml(string,string)":"c0865ba7","writeToml(string,string,string)":"51ac6a33"}}}},"lib/forge-std/src/console.sol":{"console":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220afedce75f60eaf3f48af1c5b9c3dc2fffc9db72596c57e121cc269b18ae49f8664736f6c634300081e0033","sourceMap":"66:69203:18:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220afedce75f60eaf3f48af1c5b9c3dc2fffc9db72596c57e121cc269b18ae49f8664736f6c634300081e0033","sourceMap":"66:69203:18:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/interfaces/IMulticall3.sol":{"IMulticall3":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"lib/forge-std/src/safeconsole.sol":{"safeconsole":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"philogy \",\"details\":\"Code generated automatically by script.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/safeconsole.sol\":\"safeconsole\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122099310f01c3cea7b47527f681ea470bab382918dc783dd9a17c044b4999e3a1ab64736f6c634300081e0033","sourceMap":"163:427371:21:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122099310f01c3cea7b47527f681ea470bab382918dc783dd9a17c044b4999e3a1ab64736f6c634300081e0033","sourceMap":"163:427371:21:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"IERC1363":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"approveAndCall","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"approveAndCall","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferAndCall","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferAndCall","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFromAndCall","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFromAndCall","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferFromAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFromAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-1363 standard as defined in the https://eips.ethereum.org/EIPS/eip-1363[ERC-1363]. Defines an extension interface for ERC-20 tokens that supports executing code on a recipient contract after `transfer` or `transferFrom`, or code on a spender contract after `approve`, in a single transaction.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"approveAndCall(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\",\"params\":{\"spender\":\"The address which will spend the funds.\",\"value\":\"The amount of tokens to be spent.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"approveAndCall(address,uint256,bytes)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\",\"params\":{\"data\":\"Additional data with no specified format, sent in call to `spender`.\",\"spender\":\"The address which will spend the funds.\",\"value\":\"The amount of tokens to be spent.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferAndCall(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to` and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"transferAndCall(address,uint256,bytes)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to` and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"data\":\"Additional data with no specified format, sent in call to `to`.\",\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFromAndCall(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"from\":\"The address which you want to send tokens from.\",\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"transferFromAndCall(address,address,uint256,bytes)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"data\":\"Additional data with no specified format, sent in call to `to`.\",\"from\":\"The address which you want to send tokens from.\",\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}}},\"title\":\"IERC1363\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":\"IERC1363\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","approveAndCall(address,uint256)":"3177029f","approveAndCall(address,uint256,bytes)":"cae9ca51","balanceOf(address)":"70a08231","supportsInterface(bytes4)":"01ffc9a7","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferAndCall(address,uint256)":"1296ee62","transferAndCall(address,uint256,bytes)":"4000aea0","transferFrom(address,address,uint256)":"23b872dd","transferFromAndCall(address,address,uint256)":"d8fbe994","transferFromAndCall(address,address,uint256,bytes)":"c1d34b89"}}}},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"IERC5267":{"abi":[{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"}},\"kind\":\"dev\",\"methods\":{\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":\"IERC5267\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"eip712Domain()":"84b0196e"}}}},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"IERC1155Errors":{"abi":[{"type":"error","name":"ERC1155InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidArrayLength","inputs":[{"name":"idsLength","type":"uint256","internalType":"uint256"},{"name":"valuesLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155MissingApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"IERC20Errors":{"abi":[{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"IERC721Errors":{"abi":[{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-721. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"ERC20Mock":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":\"ERC20Mock\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60806040523461031357604080519081016001600160401b03811182821017610226576040908152600982526845524332304d6f636b60b81b602083015280519081016001600160401b038111828210176102265760405260048152634532304d60e01b602082015281516001600160401b03811161022657600354600181811c91168015610309575b602082101461020857601f81116102a6575b50602092601f821160011461024557928192935f9261023a575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161022657600454600181811c9116801561021c575b602082101461020857601f81116101a5575b50602091601f8211600114610145579181925f9261013a575b50508160011b915f199060031b1c1916176004555b604051610b4890816103188239f35b015190505f80610116565b601f1982169260045f52805f20915f5b85811061018d57508360019510610175575b505050811b0160045561012b565b01515f1960f88460031b161c191690555f8080610167565b91926020600181928685015181550194019201610155565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106101fe575b601f0160051c01905b8181106101f357506100fd565b5f81556001016101e6565b90915081906101dd565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100eb565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b5565b601f1982169360035f52805f20915f5b86811061028e5750836001959610610276575b505050811b016003556100ca565b01515f1960f88460031b161c191690555f8080610268565b91926020600181928685015181550194019201610255565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106102ff575b601f0160051c01905b8181106102f4575061009b565b5f81556001016102e7565b90915081906102de565b90607f1690610089565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461088957508063095ea7b3146107dc57806318160ddd146107a157806323b872dd1461060d578063313ce567146105d457806340c10f19146104d557806370a082311461047357806395d89b41146102805780639dc29fac14610174578063a9059cbb146101255763dd62ed3e14610095575f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576100cc610a02565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a25565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761016961015f610a02565b6024359033610a48565b602060405160018152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576101ab610a02565b73ffffffffffffffffffffffffffffffffffffffff6024359116801561025457805f525f60205260405f2054828110610222576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576040515f600454908160011c60018316928315610469575b60208210841461043c5781855284939081156103dc5750600114610362575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103c057505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b602091935080600191548385880101520191019091839261038c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506102e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906102c6565b346101215760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215773ffffffffffffffffffffffffffffffffffffffff6104bf610a02565b165f525f602052602060405f2054604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761050c610a02565b73ffffffffffffffffffffffffffffffffffffffff1660243581156105a8576002549080820180921161057b5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157602060405160128152f35b346101215760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610644610a02565b61064c610a25565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106106c8575b506101699350610a48565b83811061076d57841561074157331561071557610169945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846106bd565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576020600254604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610813610a02565b6024359033156107415773ffffffffffffffffffffffffffffffffffffffff1690811561071557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121575f600354908160011c600183169283156109b0575b60208210841461043c5781855284939081156103dc5750600114610936575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061099457505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b6020919350806001915483858801015201910190918392610960565b90607f16906108cc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b73ffffffffffffffffffffffffffffffffffffffff169081156102545773ffffffffffffffffffffffffffffffffffffffff169182156105a857815f525f60205260405f2054818110610ae057817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea264697066735822122016731caeee7fdd0b7f2f8e0381983d3089fc82963bcb4d2a37da85a078dfcb3064736f6c634300081e0033","sourceMap":"110:281:27:-:0;;;;;;;;;;;;-1:-1:-1;;;;;110:281:27;;;;;;;;;;;;;;;-1:-1:-1;;;110:281:27;;;;;;;;;-1:-1:-1;;;;;110:281:27;;;;;;;;;;;;;-1:-1:-1;;;110:281:27;;;;;;-1:-1:-1;;;;;110:281:27;;;;1648:13:28;110:281:27;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;1648:13:28;110:281:27;;;;;1648:13:28;110:281:27;;;;-1:-1:-1;;;;;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;1648:13:28;110:281:27;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;;;;1648:13:28;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;1648:13:28;110:281:27;;;;;;;;;;1648:13:28;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461088957508063095ea7b3146107dc57806318160ddd146107a157806323b872dd1461060d578063313ce567146105d457806340c10f19146104d557806370a082311461047357806395d89b41146102805780639dc29fac14610174578063a9059cbb146101255763dd62ed3e14610095575f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576100cc610a02565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a25565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761016961015f610a02565b6024359033610a48565b602060405160018152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576101ab610a02565b73ffffffffffffffffffffffffffffffffffffffff6024359116801561025457805f525f60205260405f2054828110610222576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576040515f600454908160011c60018316928315610469575b60208210841461043c5781855284939081156103dc5750600114610362575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103c057505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b602091935080600191548385880101520191019091839261038c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506102e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906102c6565b346101215760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215773ffffffffffffffffffffffffffffffffffffffff6104bf610a02565b165f525f602052602060405f2054604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761050c610a02565b73ffffffffffffffffffffffffffffffffffffffff1660243581156105a8576002549080820180921161057b5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157602060405160128152f35b346101215760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610644610a02565b61064c610a25565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106106c8575b506101699350610a48565b83811061076d57841561074157331561071557610169945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846106bd565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576020600254604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610813610a02565b6024359033156107415773ffffffffffffffffffffffffffffffffffffffff1690811561071557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121575f600354908160011c600183169283156109b0575b60208210841461043c5781855284939081156103dc5750600114610936575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061099457505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b6020919350806001915483858801015201910190918392610960565b90607f16906108cc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b73ffffffffffffffffffffffffffffffffffffffff169081156102545773ffffffffffffffffffffffffffffffffffffffff169182156105a857815f525f60205260405f2054818110610ae057817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea264697066735822122016731caeee7fdd0b7f2f8e0381983d3089fc82963bcb4d2a37da85a078dfcb3064736f6c634300081e0033","sourceMap":"110:281:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3561:11:28;110:281:27;;;;;;3561:27:28;110:281:27;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;3388:5:28;110:281:27;;:::i;:::-;;;735:10:35;;3388:5:28;:::i;:::-;110:281:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;7958:21:28;;7954:89;;110:281:27;;;;;;;;;;6244:19:28;;;6240:115;;110:281:27;;;;6987:25:28;110:281:27;;;;;;;;;;;;;6714:21:28;110:281:27;;6714:21:28;110:281:27;;;;;;6987:25:28;110:281:27;6240:115:28;6290:50;;110:281:27;6290:50:28;110:281:27;;;;;;;;6290:50:28;7954:89;8002:30;110:281:27;8002:30:28;110:281:27;;;;;8002:30:28;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;-1:-1:-1;;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;7432:21:28;;7428:91;;6137:21;110:281:27;;;;;;;;;;;6987:25:28;110:281:27;;;6137:21:28;110:281:27;;;;;;;;;;;;;;;;;;;;;6987:25:28;110:281:27;;;;;;;;;;;7428:91:28;7476:32;110:281:27;7476:32:28;110:281:27;;;;;7476:32:28;110:281:27;;;;;;;;;;;;;;2761:2:28;110:281:27;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;735:10:35;110:281:27;-1:-1:-1;110:281:27;;;;-1:-1:-1;110:281:27;;10505:17:28;10486:36;;10482:309;;110:281:27;4890:5:28;;;;;:::i;10482:309::-;10542:24;;;10538:130;;9719:19;;9715:89;;735:10:35;9817:21:28;9813:90;;4890:5;110:281:27;;;;;;;;;;735:10:35;110:281:27;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;10482:309:28;;;9813:90;9861:31;110:281:27;9861:31:28;110:281:27;;;;;9861:31:28;9715:89;9761:32;110:281:27;9761:32:28;110:281:27;;;;;9761:32:28;10538:130;10593:60;;;110:281:27;10593:60:28;735:10:35;110:281:27;;;;;;;;10593:60:28;110:281:27;;;;;;;;;;;;2881:12:28;110:281:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;735:10:35;;9719:19:28;9715:89;;110:281:27;;9817:21:28;;;9813:90;;735:10:35;110:281:27;;;;;;;;;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;9991:31:28;110:281:27;735:10:35;9991:31:28;;110:281:27;;;;;;;;;;;;;;;;;;;1837:5:28;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:28;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;-1:-1:-1;;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;5297:300:28:-;110:281:27;;5380:18:28;;;5376:86;;110:281:27;;5475:16:28;;;5471:86;;110:281:27;5396:1:28;110:281:27;5396:1:28;110:281:27;;;5396:1:28;110:281:27;;6244:19:28;;;6240:115;;110:281:27;6987:25:28;110:281:27;;;;5396:1:28;110:281:27;5396:1:28;110:281:27;;;;5396:1:28;110:281:27;;;5396:1:28;110:281:27;5396:1:28;110:281:27;;;5396:1:28;110:281:27;;;;;;;;;;;;6987:25:28;5297:300::o;6240:115::-;6290:50;;5396:1;6290:50;;110:281:27;;;;;;5396:1:28;6290:50","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"ERC20":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC-20 applications.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. Both values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"IERC20":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 standard as defined in the ERC.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"ERC20Permit":{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC2612ExpiredSignature","inputs":[{"name":"deadline","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC2612InvalidSigner","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[ERC-2612]. Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"constructor\":{\"details\":\"Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\\\"1\\\"`. It's a good idea to use the same `name` that is defined as the ERC-20 token name.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also applies here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":\"ERC20Permit\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xa9380c9153e675a27f8c9c91e2257adc118c949df4c79d5b3f36c3b73c31b62d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07862a858180dabc42732598b9ae2e53b7a4081c9b71c7b003d157e666536171\",\"dweb:/ipfs/QmYuke2jfrFKMvYg4CAbaPwF7NBvTPpMUXzN9PQS31xKCf\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0xea0bf00d811fe84ecfac7ae8e51810d86db9370a166df05e3ad176a6ec3a161d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89bfa38430954e71af7a94bec6084aa5e341e4aaf349d62f3a4ee017637d7fd\",\"dweb:/ipfs/QmREWDFPc9fChw9TA4ACEZ2b6HXXwZ5auiNPzbwkWV9CbE\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","eip712Domain()":"84b0196e","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"IERC20Metadata":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC-20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"IERC20Permit":{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[ERC-2612]. Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all. ==== Security Considerations There are two important considerations concerning the use of `permit`. The first is that a valid permit signature expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be considered as an intention to spend the allowance in any specific way. The second is that because permits have built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be generally recommended is: ```solidity function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public { try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {} doThing(..., value); } function doThing(..., uint256 value) public { token.safeTransferFrom(msg.sender, address(this), value); ... } ``` Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also {SafeERC20-safeTransferFrom}). Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so contracts should have entry points that don't rely on permit.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also applies here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"SafeERC20":{"abi":[{"type":"error","name":"SafeERC20FailedDecreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"currentAllowance","type":"uint256","internalType":"uint256"},{"name":"requestedDecrease","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedDecrease\",\"type\":\"uint256\"}],\"name\":\"SafeERC20FailedDecreaseAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Wrappers around ERC-20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"errors\":{\"SafeERC20FailedDecreaseAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failed `decreaseAllowance` request.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220252707835958c81c42b24fc8983d8514717e0a2be85ba31d07759389a96dafa564736f6c634300081e0033","sourceMap":"698:12615:33:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220252707835958c81c42b24fc8983d8514717e0a2be85ba31d07759389a96dafa564736f6c634300081e0033","sourceMap":"698:12615:33:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Bytes.sol":{"Bytes":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Bytes operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":\"Bytes\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122085133bc8031ba1c7641289460c017341dd5d7d6c2db35a5dc0d7c7a335b885ab64736f6c634300081e0033","sourceMap":"198:11145:34:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122085133bc8031ba1c7641289460c017341dd5d7d6c2db35a5dc0d7c7a335b885ab64736f6c634300081e0033","sourceMap":"198:11145:34:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"Context":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Nonces.sol":{"Nonces":{"abi":[{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Provides tracking nonces for addresses. Nonces will only increment.\",\"errors\":{\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}]},\"kind\":\"dev\",\"methods\":{\"nonces(address)\":{\"details\":\"Returns the next unused nonce for an address.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":\"Nonces\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"nonces(address)":"7ecebe00"}}}},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"Panic":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Helper library for emitting standardized panic codes. ```solidity contract Example { using Panic for uint256; // Use any of the declared internal constants function foo() { Panic.GENERIC.panic(); } // Alternatively function foo() { Panic.panic(Panic.GENERIC); } } ``` Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil]. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ARRAY_OUT_OF_BOUNDS\":{\"details\":\"array out of bounds access\"},\"ASSERT\":{\"details\":\"used by the assert() builtin\"},\"DIVISION_BY_ZERO\":{\"details\":\"division or modulo by zero\"},\"EMPTY_ARRAY_POP\":{\"details\":\"empty array pop\"},\"ENUM_CONVERSION_ERROR\":{\"details\":\"enum conversion error\"},\"GENERIC\":{\"details\":\"generic / unspecified error\"},\"INVALID_INTERNAL_FUNCTION\":{\"details\":\"calling invalid internal function\"},\"RESOURCE_ERROR\":{\"details\":\"resource error (too large allocation or too large array)\"},\"STORAGE_ENCODING_ERROR\":{\"details\":\"invalid encoding in storage\"},\"UNDER_OVERFLOW\":{\"details\":\"arithmetic underflow or overflow\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":\"Panic\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220c32aa02ccb8d43209bb9193bba5faf954fa82c378e9dad86d994a743ce95281664736f6c634300081e0033","sourceMap":"657:1315:37:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220c32aa02ccb8d43209bb9193bba5faf954fa82c378e9dad86d994a743ce95281664736f6c634300081e0033","sourceMap":"657:1315:37:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol":{"ReentrancyGuard":{"abi":[{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"}],\"devdoc\":{\"custom:stateless\":\"\",\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at, consider using {ReentrancyGuardTransient} instead. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. IMPORTANT: Deprecated. This storage-based reentrancy guard will be removed and replaced by the {ReentrancyGuardTransient} variant in v6.0.\",\"errors\":{\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"ShortStrings":{"abi":[{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides functions to convert short memory strings into a `ShortString` type that can be used as an immutable variable. Strings of arbitrary length can be optimized using this library if they are short enough (up to 31 bytes) by packing them with their length (1 byte) in a single EVM word (32 bytes). Additionally, a fallback mechanism can be used for every other case. Usage example: ```solidity contract Named { using ShortStrings for *; ShortString private immutable _name; string private _nameFallback; constructor(string memory contractName) { _name = contractName.toShortStringWithFallback(_nameFallback); } function name() external view returns (string memory) { return _name.toStringWithFallback(_nameFallback); } } ```\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":\"ShortStrings\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122096514a5f92c2b521944cf59d92f06368e3998acff80770934e70154145a4cc3964736f6c634300081e0033","sourceMap":"1255:3054:39:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122096514a5f92c2b521944cf59d92f06368e3998acff80770934e70154145a4cc3964736f6c634300081e0033","sourceMap":"1255:3054:39:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"StorageSlot":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC-1967 implementation slot: ```solidity contract ERC1967 { // Define the slot. Alternatively, use the SlotDerivation library to derive the slot. bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(newImplementation.code.length > 0); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` TIP: Consider using this library along with {SlotDerivation}.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122086d8899282cad9f6b35d227f368c293a47af1684226440f00143ba33645c2fb564736f6c634300081e0033","sourceMap":"1407:2774:40:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122086d8899282cad9f6b35d227f368c293a47af1684226440f00143ba33645c2fb564736f6c634300081e0033","sourceMap":"1407:2774:40:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"Strings":{"abi":[{"type":"error","name":"StringsInsufficientHexLength","inputs":[{"name":"value","type":"uint256","internalType":"uint256"},{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StringsInvalidAddressFormat","inputs":[]},{"type":"error","name":"StringsInvalidChar","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StringsInvalidAddressFormat\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StringsInvalidChar\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}],\"StringsInvalidAddressFormat()\":[{\"details\":\"The string being parsed is not a properly formatted address.\"}],\"StringsInvalidChar()\":[{\"details\":\"The string being parsed contains characters that are not in scope of the given base.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212207eca59e285bbb38d8f107eb14913ac6ab4924c0659b21a2f97c4977995c0273a64736f6c634300081e0033","sourceMap":"332:19550:41:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea26469706673582212207eca59e285bbb38d8f107eb14913ac6ab4924c0659b21a2f97c4977995c0273a64736f6c634300081e0033","sourceMap":"332:19550:41:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"ECDSA":{"abi":[{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122018724ef85454655cc17bf21bd5667414c0ef1fd2e691cae86221b602ed359a1e64736f6c634300081e0033","sourceMap":"344:11564:42:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122018724ef85454655cc17bf21bd5667414c0ef1fd2e691cae86221b602ed359a1e64736f6c634300081e0033","sourceMap":"344:11564:42:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"EIP712":{"abi":[{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\",\"details\":\"https://eips.ethereum.org/EIPS/eip-712[EIP-712] is a standard for hashing and signing of typed structured data. The encoding scheme specified in the EIP requires a domain separator and a hash of the typed structured data, whose encoding is very generic and therefore its implementation in Solidity is not feasible, thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in order to produce the hash of their typed data using a combination of `abi.encode` and `keccak256`. This contract implements the EIP-712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA ({_hashTypedDataV4}). The implementation of the domain separator was designed to be as efficient as possible while still properly updating the chain id to protect against replay attacks on an eventual fork of the chain. NOTE: This contract implements the version of the encoding known as \\\"v4\\\", as implemented by the JSON RPC method https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask]. NOTE: In the upgradeable version of this contract, the cached values will correspond to the address, and the domain separator of the implementation contract. This will cause the {_domainSeparatorV4} function to always rebuild the separator from the immutable values, which is cheaper than accessing a cached version in cold storage.\",\"events\":{\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the domain separator and parameter caches. The meaning of `name` and `version` is specified in https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP-712]: - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol. - `version`: the current major version of the signing domain. NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart contract upgrade].\"},\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":\"EIP712\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]},\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0xea0bf00d811fe84ecfac7ae8e51810d86db9370a166df05e3ad176a6ec3a161d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89bfa38430954e71af7a94bec6084aa5e341e4aaf349d62f3a4ee017637d7fd\",\"dweb:/ipfs/QmREWDFPc9fChw9TA4ACEZ2b6HXXwZ5auiNPzbwkWV9CbE\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"eip712Domain()":"84b0196e"}}}},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"MessageHashUtils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Signature message hash utilities for producing digests to be consumed by {ECDSA} recovery or signing. The library provides methods for generating a hash of a message that conforms to the https://eips.ethereum.org/EIPS/eip-191[ERC-191] and https://eips.ethereum.org/EIPS/eip-712[EIP 712] specifications.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":\"MessageHashUtils\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122010dcd49efad2edd650f2301f26af4b57a2874f88f257555fc0856c0f8da04c3364736f6c634300081e0033","sourceMap":"521:3729:44:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122010dcd49efad2edd650f2301f26af4b57a2874f88f257555fc0856c0f8da04c3364736f6c634300081e0033","sourceMap":"521:3729:44:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"IERC165":{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[ERC]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}}}},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"Math":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220b803d4098d81a851a67b427044923bc40a1ec3ada9a30cf8b2bb4d7f16c22d7164736f6c634300081e0033","sourceMap":"281:32081:46:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220b803d4098d81a851a67b427044923bc40a1ec3ada9a30cf8b2bb4d7f16c22d7164736f6c634300081e0033","sourceMap":"281:32081:46:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"SafeCast":{"abi":[{"type":"error","name":"SafeCastOverflowedIntDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedIntToUint","inputs":[{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeCastOverflowedUintToInt","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntToUint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintToInt\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"errors\":{\"SafeCastOverflowedIntDowncast(uint8,int256)\":[{\"details\":\"Value doesn't fit in an int of `bits` size.\"}],\"SafeCastOverflowedIntToUint(int256)\":[{\"details\":\"An int value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintToInt(uint256)\":[{\"details\":\"An uint value doesn't fit in an int of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122089a323921d5e5f32ade79e9dfdff3991b8fe7944e7f8a3552a5345cac903a41f64736f6c634300081e0033","sourceMap":"769:34173:47:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122089a323921d5e5f32ade79e9dfdff3991b8fe7944e7f8a3552a5345cac903a41f64736f6c634300081e0033","sourceMap":"769:34173:47:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"SignedMath":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220e1b7383aa0eec4803b67481bd39b913cb172a05ae0776e4335bc9bfd793eb64d64736f6c634300081e0033","sourceMap":"258:2354:48:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220e1b7383aa0eec4803b67481bd39b913cb172a05ae0776e4335bc9bfd793eb64d64736f6c634300081e0033","sourceMap":"258:2354:48:-:0;;","linkReferences":{}}}}},"lib/tstorish/src/Tstorish.sol":{"Tstorish":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"__activateTstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"OnlyDirectCalls","inputs":[]},{"type":"error","name":"TStoreAlreadyActivated","inputs":[]},{"type":"error","name":"TStoreNotSupported","inputs":[]},{"type":"error","name":"TloadTestContractDeploymentFailed","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"OnlyDirectCalls\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TloadTestContractDeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"__activateTstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"__activateTstore()\":{\"details\":\"External function to activate TSTORE usage. Does not need to be called if TSTORE is supported from deployment, and only needs to be called once. Reverts if TSTORE has already been activated or if the opcode is not available. Note that this must be called directly from an externally-owned account to avoid potential reentrancy issues.\"},\"constructor\":{\"details\":\"Determine TSTORE availability during deployment. This involves attempting to deploy a contract that utilizes TLOAD as part of the contract construction bytecode, and configuring initial support for using TSTORE in place of SSTORE based on the result.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/tstorish/src/Tstorish.sol\":\"Tstorish\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"610120604052346100fb57696002601e613d5c3d52f35f52600a60165ff06001600160a01b038116156100ec575f80808084600a5a04fa3d156100e7573d6001600160401b0381116100e25760405190601f8101601f19908116603f011682016001600160401b038111838210176100e25760405281525f60203d92013e5b80156100cd57600160c052600360e0526005610100525b60a0526080526040516102369081610114823960805181608b015260a05181605b015260c05181505060e05181505061010051815050f35b600260c052600460e052600661010052610095565b6100ff565b61007e565b632aea588760e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c637423eb3c14610024575f80fd5b346101fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fc573233036101d4577f000000000000000000000000000000000000000000000000000000000000000080156101c9575b6101a1575f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa3d1561019c573d67ffffffffffffffff811161016f57604051907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8401160116820182811067ffffffffffffffff82111761016f5760405281525f60203d92013e5b15610147575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610116565b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610081565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea2646970667358221220cb2e3dae090f367d42bfbcf42462a0a2806af28df08ba53c1167d0874e62f3bb64736f6c634300081e0033","sourceMap":"58:9697:49:-:0;;;;;;8755:335;-1:-1:-1;8755:335:49;;;-1:-1:-1;8755:335:49;-1:-1:-1;;;;;58:9697:49;;3014:31;3010:104;;-1:-1:-1;9726:9:49;;;;8755:335;9726:9;58:9697;9691:55;58:9697;;;;;-1:-1:-1;;;;;58:9697:49;;;;;;;;;;-1:-1:-1;;58:9697:49;;;;;;;;-1:-1:-1;;;;;58:9697:49;;;;;;;;;;;;-1:-1:-1;58:9697:49;;;;;;3237:647;;;;3433:10;3418:25;;3472:10;3457:25;;3513:12;3496:29;;3237:647;3894:44;;4029:38;;58:9697;;;;;;;;4029:38;58:9697;;;;;3894:44;58:9697;;;;;;;;;;;;;;;;;;;;;3237:647;3722:30;3707:45;;3781:29;3766:44;;3841:32;3824:49;;3237:647;;58:9697;;:::i;:::-;;;3010:104;3068:35;;;-1:-1:-1;3068:35:49;;-1:-1:-1;3068:35:49;58:9697;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c637423eb3c14610024575f80fd5b346101fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fc573233036101d4577f000000000000000000000000000000000000000000000000000000000000000080156101c9575b6101a1575f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa3d1561019c573d67ffffffffffffffff811161016f57604051907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8401160116820182811067ffffffffffffffff82111761016f5760405281525f60203d92013e5b15610147575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610116565b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610081565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea2646970667358221220cb2e3dae090f367d42bfbcf42462a0a2806af28df08ba53c1167d0874e62f3bb64736f6c634300081e0033","sourceMap":"58:9697:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4635:9;4621:10;:23;4617:78;;4770:21;:39;;;;58:9697;4766:101;;58:9697;4960:18;;;;9738:2;9726:9;58:9697;9691:55;58:9697;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4948:31;4944:89;;58:9697;;;;;5097:4;58:9697;;;;4944:89;5002:20;58:9697;5002:20;58:9697;;5002:20;58:9697;;;;;;;;;;;;;4766:101;4832:24;58:9697;4832:24;58:9697;;4832:24;4770:39;58:9697;;;;;4770:39;;4617:78;4667:17;58:9697;4667:17;58:9697;;4667:17;58:9697;;;","linkReferences":{},"immutableReferences":{"48741":[{"start":139,"length":32}],"48743":[{"start":91,"length":32}]}},"methodIdentifiers":{"__activateTstore()":"7423eb3c"}}}},"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol":{"IDelegatedExtension":{"abi":[{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"_opHash","type":"bytes32","internalType":"bytes32"},{"name":"_startingGas","type":"uint256","internalType":"uint256"},{"name":"_index","type":"uint256","internalType":"uint256"},{"name":"_numCalls","type":"uint256","internalType":"uint256"},{"name":"_space","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Agustin Aguilar\",\"kind\":\"dev\",\"methods\":{\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}}},\"title\":\"IDelegatedExtension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"}},\"notice\":\"Interface for the delegated extension module\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":\"IDelegatedExtension\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c"}}}},"script/TrailsIntentEntrypoint.s.sol":{"Deploy":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"DeploymentFailed","inputs":[{"name":"reason","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"DeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/TrailsIntentEntrypoint.s.sol\":\"Deploy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"script/TrailsIntentEntrypoint.s.sol\":{\"keccak256\":\"0xab27ee8becdd50cf88ba1cf04e68cb6d80d49e380c6bed7a7eddcfec1c6b0a26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd629911a8a7ea1aba0c76f68fee808efeaf974d4e22963282656fdfb18ef4bb\",\"dweb:/ipfs/QmTn9Ldirnur8J79zp8ZUZNZJFgcPHHN8reqHpyMoSvqBh\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346026576201000162ff00ff19600c541617600c55611d91908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c908163c04062261461007a575063f8ccbf4714610034575f80fd5b3461007757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261007757602060ff600c5460101c166040519015158152f35b80fd5b905034610c90575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c90577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610c85575f91610ce5575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610c85575f90610c94575b6101c59150604051610196604082610d17565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610dc8565b610e299082604051916101db6020850184610d17565b8383526020830193610f338539604051936101f7604086610d17565b601685527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610698575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526102c5607582610d17565b51902016936002853b11610647578461031691604051906102e7604083610d17565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610e6f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561064357604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c95761062e575b505060206103c891604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610d85565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156106235783916105d4575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c557826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c9576105b0575b505073ffffffffffffffffffffffffffffffffffffffff168103610552576002813b11156104f4576104f1905b60405161049c606082610d17565b602381527f547261696c73496e74656e74456e747279706f696e74206465706c6f7965642060208201527f61743a00000000000000000000000000000000000000000000000000000000006040820152610dc8565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b816105ba91610d17565b6105c557825f610461565b8280fd5b6040513d84823e3d90fd5b90506020813d60201161061b575b816105ef60209383610d17565b810103126105c5575173ffffffffffffffffffffffffffffffffffffffff811681036105c5575f6103f6565b3d91506105e2565b6040513d85823e3d90fd5b8161063891610d17565b6105c557825f610385565b5080fd5b8493506104f1949150610693925060405190610664604083610d17565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610e6f565b61048e565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610a1d575b5f8061073961077f6040516106d2604082610d17565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610d85565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa506040516107a36101a082610d17565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a1957836109ca91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610d85565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e5784916109f9575b5050610240565b81610a0391610d17565b6105c557825f6109f2565b6040513d86823e3d90fd5b8380fd5b9091505f80610a9d610ac9604051610a36604082610d17565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610d85565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c90576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610c8557610c70575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610c435786808080969594819482906657c084e5f3c00014610c3a575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f1156105c957737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c5576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e578491610c25575b50506106bc565b81610c2f91610d17565b6105c557825f610c1e565b506108fc610b96565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610c7d9195505f90610d17565b5f935f610b4d565b6040513d5f823e3d90fd5b5f80fd5b506020813d602011610cdd575b81610cae60209383610d17565b81010312610c90575173ffffffffffffffffffffffffffffffffffffffff81168103610c90576101c590610183565b3d9150610ca1565b90506020813d602011610d0f575b81610d0060209383610d17565b81010312610c9057515f61012c565b3d9150610cf3565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d5857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610e25610e585f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610d85565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50565b610e58610ecf915f9473ffffffffffffffffffffffffffffffffffffffff610eff87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610d85565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610d85565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d1756fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220fb54faff40f8d444e27e4a7c939db219bfaa3a95982c1885e28c7e9f1e0081bf64736f6c634300081e0033","sourceMap":"221:793:51:-:0;;;;;;;;;;3200:4:5;221:793:51;;;3200:4:5;221:793:51;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c908163c04062261461007a575063f8ccbf4714610034575f80fd5b3461007757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261007757602060ff600c5460101c166040519015158152f35b80fd5b905034610c90575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c90577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610c85575f91610ce5575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610c85575f90610c94575b6101c59150604051610196604082610d17565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610dc8565b610e299082604051916101db6020850184610d17565b8383526020830193610f338539604051936101f7604086610d17565b601685527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610698575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526102c5607582610d17565b51902016936002853b11610647578461031691604051906102e7604083610d17565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610e6f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561064357604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c95761062e575b505060206103c891604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610d85565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156106235783916105d4575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c557826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c9576105b0575b505073ffffffffffffffffffffffffffffffffffffffff168103610552576002813b11156104f4576104f1905b60405161049c606082610d17565b602381527f547261696c73496e74656e74456e747279706f696e74206465706c6f7965642060208201527f61743a00000000000000000000000000000000000000000000000000000000006040820152610dc8565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b816105ba91610d17565b6105c557825f610461565b8280fd5b6040513d84823e3d90fd5b90506020813d60201161061b575b816105ef60209383610d17565b810103126105c5575173ffffffffffffffffffffffffffffffffffffffff811681036105c5575f6103f6565b3d91506105e2565b6040513d85823e3d90fd5b8161063891610d17565b6105c557825f610385565b5080fd5b8493506104f1949150610693925060405190610664604083610d17565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610e6f565b61048e565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610a1d575b5f8061073961077f6040516106d2604082610d17565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610d85565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa506040516107a36101a082610d17565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a1957836109ca91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610d85565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e5784916109f9575b5050610240565b81610a0391610d17565b6105c557825f6109f2565b6040513d86823e3d90fd5b8380fd5b9091505f80610a9d610ac9604051610a36604082610d17565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610d85565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c90576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610c8557610c70575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610c435786808080969594819482906657c084e5f3c00014610c3a575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f1156105c957737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c5576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e578491610c25575b50506106bc565b81610c2f91610d17565b6105c557825f610c1e565b506108fc610b96565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610c7d9195505f90610d17565b5f935f610b4d565b6040513d5f823e3d90fd5b5f80fd5b506020813d602011610cdd575b81610cae60209383610d17565b81010312610c90575173ffffffffffffffffffffffffffffffffffffffff81168103610c90576101c590610183565b3d9150610ca1565b90506020813d602011610d0f575b81610d0060209383610d17565b81010312610c9057515f61012c565b3d9150610cf3565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d5857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610e25610e585f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610d85565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50565b610e58610ecf915f9473ffffffffffffffffffffffffffffffffffffffff610eff87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610d85565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610d85565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d1756fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220fb54faff40f8d444e27e4a7c939db219bfaa3a95982c1885e28c7e9f1e0081bf64736f6c634300081e0033","sourceMap":"221:793:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:28:3;221:793:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;493:25:51;;2030:14:2;221:793:51;493:25;;2030:14:2;;;;;;;;;;;;493:25:51;;;336:42:2;493:25:51;;;;;;;221:793;493:25;;;221:793;;;;2030:14:2;554:19:51;;;221:793;554:19;;2030:14:2;;554:19:51;2030:14:2;554:19:51;336:42:2;554:19:51;;;;;;221:793;554:19;;;221:793;583:49;2030:14:2;;221:793:51;;2030:14:2;221:793:51;2030:14:2;;:::i;:::-;;;;;;;;;583:49:51;:::i;:::-;793:41;221:793;;;;793:41;2030:14:2;;793:41:51;;2030:14:2;;:::i;:::-;793:41:51;;;2030:14:2;793:41:51;;;;;;221:793;;2030:14:2;;221:793:51;2030:14:2;;:::i;:::-;;;;;;;;;608:1:0;107:42:1;570:34:0;:39;;566:613;;221:793:51;336:42:2;221:793:51;;;2313:20:0;;221:793:51;;2030:14:2;2247:87:0;;221:793:51;;;;;;;;;;2030:14:2;221:793:51;;2030:14:2;221:793:51;;;2030:14:2;221:793:51;2247:87:0;;;;;;:::i;:::-;221:793:51;2237:98:0;;336:42:2;;608:1:0;1460:16;;:21;608:1;;221:793:51;1497:39:0;221:793:51;;;2030:14:2;;221:793:51;2030:14:2;;:::i;:::-;221:793:51;2030:14:2;;221:793:51;2030:14:2;221:793:51;;;1497:39:0;:::i;:::-;336:42:2;1550:21:0;;;;221:793:51;;1550:21:0;2030:14:2;1550:21:0;;221:793:51;1550:21:0;;2030:14:2;1550:21:0;;2030:14:2;1550:21:0;;336:42:2;1550:21:0;;;;;;;;1456:551;221:793:51;;2030:14:2;442:41:0;221:793:51;;;1606:42:0;;;;2030:14:2;1606:42:0;;221:793:51;;1606:42:0;;442:41;2030:14:2;442:41:0;;;;:::i;:::-;;2030:14:2;442:41:0;;2030:14:2;1606:42:0;;;107::1;1606::0;;;;;;;;;;;1456:551;1662:18;336:42:2;1662:18:0;;;;221:793:51;;;2030:14:2;1662:18:0;;;;221:793:51;1662:18:0;;336:42:2;1662:18:0;;;;;;;;1456:551;336:42:2;;;;1698:18:0;;1694:109;;608:1;1820:16;;:21;;1816:104;;946:59:51;1456:551:0;;221:793:51;;2030:14:2;;;;:::i;:::-;;;;;;;;;;221:793:51;2030:14:2;;;946:59:51;:::i;:::-;221:793;;1816:104:0;493:25:51;221:793;;1868:37:0;;;2030:14:2;221:793:51;1868:37:0;;442:41;2030:14:2;;442:41:0;;2030:14:2;442:41:0;2030:14:2;;;442:41:0;1868:37;1694:109;493:25:51;221:793;;1743:45:0;;;2030:14:2;221:793:51;1743:45:0;;442:41;;2030:14:2;442:41:0;;2030:14:2;442:41:0;2030:14:2;;;442:41:0;1743:45;1662:18;;;;;:::i;:::-;221:793:51;;1662:18:0;;;;221:793:51;;;;1662:18:0;221:793:51;;2030:14:2;221:793:51;;2030:14:2;;;;1606:42:0;;;2030:14:2;1606:42:0;;2030:14:2;1606:42:0;;;;;;2030:14:2;1606:42:0;;;:::i;:::-;;;442:41;;;;;336:42:2;;;2030:14;;;;1606:42:0;;;;;;-1:-1:-1;1606:42:0;;;221:793:51;;2030:14:2;221:793:51;;2030:14:2;;;;1550:21:0;;;;;:::i;:::-;221:793:51;;1550:21:0;;;;;221:793:51;;;1456:551:0;221:793:51;;;946:59;221:793;;;1950:46:0;221:793:51;2030:14:2;221:793:51;;2030:14:2;;221:793:51;2030:14:2;;:::i;:::-;221:793:51;2030:14:2;;221:793:51;2030:14:2;221:793:51;;;1950:46:0;:::i;:::-;1456:551;;566:613;274:12:1;189:42;629:26:0;:50;625:360;;566:613;358:279:18;221:793:51;;7823:54:18;221:793:51;;2030:14:2;221:793:51;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;221:793:51;;7823:54:18;;;;2030:14:2;7823:54:18;;;221:793:51;2030:14:2;7823:54:18;;221:793:51;493:25;221:793;;;;:::i;:::-;107:42:1;2030:14:2;221:793:51;;;7823:54:18;2030:14:2;7823:54:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;221:793:51;;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;;221:793:51;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;221:793:51;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;274:12:1;;;336:42:2;1121:47:0;;;;221:793:51;329:739:1;221:793:51;;;1121:47:0;;;;2030:14:2;1121:47:0;;2030:14:2;221:793:51;1121:47:0;;329:739:1;2030:14:2;329:739:1;;;;:::i;:::-;1121:47:0;;;336:42:2;1121:47:0;;;;;;;;;;;566:613;;;;;1121:47;;;;;:::i;:::-;221:793:51;;1121:47:0;;;;;221:793:51;;2030:14:2;221:793:51;;2030:14:2;;;;1121:47:0;221:793:51;;;625:360:0;274:12:1;;;221:793:51;;;6262:42:18;221:793:51;;2030:14:2;221:793:51;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;221:793:51;;6262:42:18;;;;2030:14:2;6262:42:18;;;2030:14:2;;6262:42:18;;221:793:51;2030:14:2;221:793:51;;;;:::i;:::-;6262:42:18;2030:14:2;6262:42:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;336:42:2;807:21:0;;;;221:793:51;;2030:14:2;807:21:0;;;221:793:51;807:21:0;;2030:14:2;221:793:51;807:21:0;2030:14:2;807:21:0;;336:42:2;807:21:0;;;;;;;;625:360;907:26;189:42:1;907:26:0;274:12:1;;;;;;;;;846:88:0;;;;;;;;;;;274:12:1;846:88:0;;;625:360;189:42:1;846:88:0;;;;;336:42:2;952:18:0;;;;221:793:51;;2030:14:2;952:18:0;;;;221:793:51;952:18:0;;336:42:2;952:18:0;;;;;;;;;;;625:360;;;;;952:18;;;;;:::i;:::-;221:793:51;;952:18:0;;;;846:88;-1:-1:-1;846:88:0;;;274:12:1;2030:14:2;274:12:1;;;;2030:14:2;221:793:51;274:12:1;;807:21:0;;;;;221:793:51;807:21:0;;:::i;:::-;221:793:51;807:21:0;;;;;221:793:51;;2030:14:2;221:793:51;2030:14:2;;;;;807:21:0;221:793:51;;;554:19;;2030:14:2;554:19:51;;2030:14:2;554:19:51;;;;;;2030:14:2;554:19:51;;;:::i;:::-;;;2030:14:2;;;;;336:42;;;2030:14;;;;583:49:51;554:19;;;;;;-1:-1:-1;554:19:51;;493:25;;;2030:14:2;493:25:51;;2030:14:2;493:25:51;;;;;;2030:14:2;493:25:51;;;:::i;:::-;;;2030:14:2;;;;;493:25:51;;;;;;-1:-1:-1;493:25:51;;2030:14:2;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;2030:14:2;;;;;-1:-1:-1;2030:14:2;221:793:51;;2030:14:2;;;221:793:51;;;;2030:14:2;;;;;;221:793:51;2030:14:2;;;221:793:51;-1:-1:-1;221:793:51;;;;;;2030:14:2;;221:793:51;;;:::o;7740:145:18:-;221:793:51;7823:54:18;358:279;7740:145;;;;336:42:2;221:793:51;;7823:54:18;;;;;;;;221:793:51;7823:54:18;;;221:793:51;;;;;;:::i;:::-;336:42:2;;221:793:51;;;;7823:54:18;;;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;7740:145::o;12983:174::-;13084:65;221:793:51;12983:174:18;358:279;12983:174;336:42:2;221:793:51;12983:174:18;;221:793:51;;13084:65:18;;;;;;;;221:793:51;13084:65:18;;;221:793:51;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;336:42:2;;221:793:51;;;;13084:65:18;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"}}}},"script/TrailsRouter.s.sol":{"Deploy":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deployRouter","inputs":[{"name":"pk","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"DeploymentFailed","inputs":[{"name":"reason","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"DeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pk\",\"type\":\"uint256\"}],\"name\":\"deployRouter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/TrailsRouter.s.sol\":\"Deploy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"script/TrailsRouter.s.sol\":{\"keccak256\":\"0x7606dd601cd7f10ab9c9a94a1ff6d6bc7ae2d4edd220bb161d89adc07eff6d75\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bf0dfa40196e494e9f8cdbb795bdc6c9bda421e7938ff0ef90aa62f571525e\",\"dweb:/ipfs/QmaoLXskfyE4A27SkckeNG4Z2AVyEvn6g63XT91UDSQHUo\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e0033","sourceMap":"201:1142:52:-:0;;;;;;;;;;3200:4:5;201:1142:52;;;3200:4:5;201:1142:52;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e0033","sourceMap":"201:1142:52:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:28:3;201:1142:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;2030:14:2;465:25:52;;2030:14:2;201:1142:52;465:25;;2030:14:2;;;;;;;;;;;;465:25:52;;;336:42:2;465:25:52;;;;;;;201:1142;465:25;;;201:1142;;;;2030:14:2;526:11:52;;;201:1142;526:11;;2030:14:2;;526:11:52;2030:14:2;526:11:52;336:42:2;526:11:52;;;;;;;201:1142;526:11;;;201:1142;650:48;624:16;2030:14:2;547:49:52;2030:14:2;201:1142:52;;2030:14:2;201:1142:52;2030:14:2;;:::i;:::-;;;;;;;;;547:49:52;:::i;:::-;624:16;:::i;:::-;201:1142;;2030:14:2;201:1142:52;2030:14:2;;:::i;:::-;;;;;;;;;650:48:52;:::i;:::-;201:1142;526:11;;;2030:14:2;526:11:52;;2030:14:2;526:11:52;;;;;;2030:14:2;526:11:52;;;:::i;:::-;;;2030:14:2;;;;;201:1142:52;;;2030:14:2;;;;650:48:52;526:11;;;;;-1:-1:-1;526:11:52;;;201:1142;;2030:14:2;201:1142:52;2030:14:2;;;;;465:25:52;;;2030:14:2;465:25:52;;2030:14:2;465:25:52;;;;;;2030:14:2;465:25:52;;;:::i;:::-;;;2030:14:2;;;;;465:25:52;;;;;;-1:-1:-1;465:25:52;;2030:14:2;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;2030:14:2;;;;;-1:-1:-1;2030:14:2;895:446:52;987:1;1172:31;201:1142;;1172:31;2030:14:2;1172:31:52;;;2030:14:2;;:::i;:::-;1172:31:52;;;;;;;;;;1155:73;201:1142;;1205:22;1172:31;1205:22;;;1020:42;201:1142;;1205:22;;;;201:1142;1205:22;;:::i;:::-;201:1142;;1155:73;;;;;;201:1142;;;;;;;;;;;;;987:1;201:1142;;;;;;;;;987:1;201:1142;;1155:73;1205:22;1155:73;;;;;;:::i;:::-;2030:14:2;201:1142:52;2030:14:2;;;;;:::i;:::-;201:1142:52;2030:14:2;;201:1142:52;1172:31;201:1142;;;608:1:0;107:42:1;570:34:0;:39;;566:613;;895:446:52;201:1142;;;;2313:20:0;;201:1142:52;;1172:31;2247:87:0;;201:1142:52;;;;;;;;;;;;;2030:14:2;201:1142:52;;;2030:14:2;201:1142:52;2247:87:0;;;;;;:::i;:::-;201:1142:52;2237:98:0;;201:1142:52;;;;608:1:0;1460:16;;:21;608:1;;201:1142:52;1497:39:0;201:1142:52;2030:14:2;201:1142:52;2030:14:2;;;;;:::i;:::-;201:1142:52;2030:14:2;;201:1142:52;1172:31;201:1142;;;1497:39:0;:::i;:::-;336:42:2;1550:21:0;;;;201:1142:52;;1550:21:0;2030:14:2;1550:21:0;;;;;2030:14:2;1550:21:0;;;;;336:42:2;1550:21:0;;;;;;;;1456:551;201:1142:52;;1172:31;442:41:0;201:1142:52;;;1606:42:0;;;;2030:14:2;1606:42:0;;201:1142:52;1550:21:0;1606:42;;442:41;;;;;;:::i;:::-;;1550:21;442:41;;2030:14:2;1606:42:0;;;107::1;1606::0;;;;;;;;;;;1456:551;1662:18;336:42:2;1662:18:0;;;;201:1142:52;;2030:14:2;1662:18:0;;;;1550:21;1662:18;;336:42:2;1662:18:0;;;;;;;;1456:551;201:1142:52;;;;1698:18:0;;1694:109;;608:1;1820:16;;:21;;1816:104;;895:446:52;:::o;1816:104:0:-;1868:37;201:1142:52;;1868:37:0;;;1172:31:52;1550:21:0;1868:37;;442:41;;1550:21;442:41;;2030:14:2;442:41:0;;2030:14:2;;442:41:0;1868:37;1694:109;1743:45;201:1142:52;;1743:45:0;;;1172:31:52;1550:21:0;1743:45;;442:41;;1550:21;442:41;;2030:14:2;442:41:0;;2030:14:2;;442:41:0;1743:45;1662:18;;;;;;:::i;:::-;201:1142:52;;1662:18:0;;;201:1142:52;;;1662:18:0;201:1142:52;;2030:14:2;201:1142:52;;2030:14:2;;;;1606:42:0;;;;1172:31:52;1606:42:0;;1172:31:52;1606:42:0;;;;;;1172:31:52;1606:42:0;;;:::i;:::-;;;442:41;;;;;201:1142:52;;;2030:14:2;;;;1606:42:0;;;;2030:14:2;;;;1606:42:0;;;-1:-1:-1;1606:42:0;;;201:1142:52;;;2030:14:2;;;;;;;;1550:21:0;;;;;;:::i;:::-;201:1142:52;;1550:21:0;;;;201:1142:52;;2030:14:2;201:1142:52;;2030:14:2;;;;1550:21:0;201:1142:52;;;1456:551:0;201:1142:52;;;;;1950:46:0;201:1142:52;2030:14:2;201:1142:52;;;2030:14:2;;201:1142:52;2030:14:2;;:::i;:::-;201:1142:52;2030:14:2;;201:1142:52;1172:31;201:1142;;;1950:46:0;:::i;:::-;895:446:52;:::o;566:613:0:-;274:12:1;189:42;629:26:0;:50;625:360;;566:613;358:279:18;201:1142:52;;7823:54:18;201:1142:52;;2030:14:2;201:1142:52;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;1172:31:52;274:12:1;;;201:1142:52;;7823:54:18;;;;1172:31:52;7823:54:18;;;201:1142:52;7823:54:18;;;201:1142:52;;;;;;:::i;:::-;107:42:1;201:1142:52;;;;7823:54:18;1205:22:52;7823:54:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;201:1142:52;;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;1172:31:52;274:12:1;;;;201:1142:52;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;274:12:1;;;336:42:2;1121:47:0;;;;201:1142:52;329:739:1;201:1142:52;;;1121:47:0;;;;2030:14:2;1121:47:0;;1172:31:52;1121:47:0;;;329:739:1;7823:54:18;329:739:1;;;;:::i;:::-;1121:47:0;;;336:42:2;1121:47:0;;;;;;;;;;;566:613;;;;;1121:47;;;;;:::i;:::-;201:1142:52;;1121:47:0;;;;201:1142:52;;;;1121:47:0;201:1142:52;;2030:14:2;201:1142:52;;2030:14:2;;;;1121:47:0;201:1142:52;;;625:360:0;987:1:52;201:1142;;6262:42:18;201:1142:52;;2030:14:2;201:1142:52;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;1172:31:52;274:12:1;;;201:1142:52;;6262:42:18;;;;1172:31:52;6262:42:18;;;1172:31:52;6262:42:18;;;201:1142:52;;;;;;:::i;:::-;6262:42:18;1205:22:52;6262:42:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;336:42:2;807:21:0;;;;201:1142:52;;2030:14:2;807:21:0;;;;;;2030:14:2;987:1:52;807:21:0;6262:42:18;807:21:0;;336:42:2;807:21:0;;;;;;;;625:360;907:26;189:42:1;907:26:0;274:12:1;;;;;;;;;846:88:0;;;;;;;;274:12:1;846:88:0;;;625:360;189:42:1;846:88:0;;;;;336:42:2;952:18:0;;;;201:1142:52;;2030:14:2;952:18:0;;;;807:21;952:18;;336:42:2;952:18:0;;;;;;;;;;;625:360;;;;;952:18;;;;;:::i;:::-;201:1142:52;;952:18:0;;;;846:88;-1:-1:-1;846:88:0;;;274:12:1;6262:42:18;274:12:1;;;;;807:21:0;274:12:1;;807:21:0;;;;;987:1:52;807:21:0;;:::i;:::-;987:1:52;807:21:0;;;;201:1142:52;;2030:14:2;;;201:1142:52;;;;2030:14:2;;;;;;201:1142:52;2030:14:2;;;201:1142:52;-1:-1:-1;201:1142:52;;;;;;2030:14:2;;201:1142:52;;;:::o;7740:145:18:-;201:1142:52;7823:54:18;358:279;7740:145;;;;201:1142:52;;;7823:54:18;;;;;;;;201:1142:52;7823:54:18;;;201:1142:52;;;;;;:::i;:::-;;;;;;;7823:54:18;;;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;7740:145::o;12983:174::-;13084:65;201:1142:52;12983:174:18;358:279;12983:174;201:1142:52;;12983:174:18;;201:1142:52;;13084:65:18;;;;;;;;201:1142:52;13084:65:18;;;201:1142:52;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;13084:65:18;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","deployRouter(uint256)":"f0c9a429","run()":"c0406226"}}}},"script/TrailsRouterShim.s.sol":{"Deploy":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"routerAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"DeploymentFailed","inputs":[{"name":"reason","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"DeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"routerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/TrailsRouterShim.s.sol\":\"Deploy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"script/TrailsRouter.s.sol\":{\"keccak256\":\"0x7606dd601cd7f10ab9c9a94a1ff6d6bc7ae2d4edd220bb161d89adc07eff6d75\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bf0dfa40196e494e9f8cdbb795bdc6c9bda421e7938ff0ef90aa62f571525e\",\"dweb:/ipfs/QmaoLXskfyE4A27SkckeNG4Z2AVyEvn6g63XT91UDSQHUo\"]},\"script/TrailsRouterShim.s.sol\":{\"keccak256\":\"0x5fddb7fcbf18d9170ab378e72f0cee0309a45d11312f2a4dc596c02f63946cb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://114e9024098a8e773d843992f307884fa97b7d989ca3e0bc7d422f9e34274132\",\"dweb:/ipfs/QmWbJ2MhG5Gvx5DybvMmJJHpxLU5nXXTwsxxmhewqPs26u\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346026576201000162ff00ff19600c541617600c55614c75908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081633268cc5614610f1d57508063c0406226146100855763f8ccbf471461003f575f80fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257602060ff600c5460101c166040519015158152f35b80fd5b5034610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b576040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610e90575f91610eeb575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610e90576101d2915f91610ecc575b506040516101a3604082610f6e565b601181527f4465706c6f79657220416464726573733a000000000000000000000000000000602082015261101e565b60405161332380820182811067ffffffffffffffff821117610e9f578291611189833903905ff08015610e905773ffffffffffffffffffffffffffffffffffffffff16803b15610e9b576040517fc04062260000000000000000000000000000000000000000000000000000000081525f8160048183865af18015610e9057610e7b575b50602083916024604051809481937ff0c9a4290000000000000000000000000000000000000000000000000000000083528760048401525af180156107e45773ffffffffffffffffffffffffffffffffffffffff918491610e4c575b507fffffffffffffffffff0000000000000000000000000000000000000000ffffff76ffffffffffffffffffffffffffffffffffffffff000000600c549260181b1691161780600c5560181c1661034081604051610311604082610f6e565b601981527f547261696c73526f75746572206465706c6f7965642061743a00000000000000602082015261101e565b82610794926103cf604051946103596020820187610f6e565b80865260208601906144ac8239602060405195818701908152818752610380604088610f6e565b604051968793838501995180918b5e84019083820190888252519283915e0101848152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284610f6e565b604051936103de604086610f6e565b601085527f547261696c73526f757465725368696d000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610859575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526104ac607582610f6e565b51902016936002853b1161080857846104fd91604051906104ce604083610f6e565b600c82527f6465706c6f79696e6720746f000000000000000000000000000000000000000060208301526110c5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561080457604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a576107ef575b505060206105af91604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610fdb565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156107e4578391610795575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561078657826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b5576106b2905b604051610683604082610f6e565b601d81527f547261696c73526f757465725368696d206465706c6f7965642061743a000000602082015261101e565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b8161077b91610f6e565b61078657825f610648565b8280fd5b6040513d84823e3d90fd5b90506020813d6020116107dc575b816107b060209383610f6e565b81010312610786575173ffffffffffffffffffffffffffffffffffffffff81168103610786575f6105dd565b3d91506107a3565b6040513d85823e3d90fd5b816107f991610f6e565b61078657825f61056c565b5080fd5b8493506106b2949150610854925060405190610825604083610f6e565b601382527f616c7265616479206465706c6f79656420746f0000000000000000000000000060208301526110c5565b610675565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bde575b5f806108fa610940604051610893604082610f6e565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610fdb565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa506040516109646101a082610f6e565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bda5783610b8b91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fdb565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610bba575b5050610427565b81610bc491610f6e565b61078657825f610bb3565b6040513d86823e3d90fd5b8380fd5b9091505f80610c5e610c8a604051610bf7604082610f6e565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610fdb565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610e4857846040517fce817d47000000000000000000000000000000000000000000000000000000008152836004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610e33575b505073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e065786808080969594819482906657c084e5f3c00014610dfd575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561078a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610de8575b505061087d565b81610df291610f6e565b61078657825f610de1565b506108fc610d59565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b81610e3d91610f6e565b610e4857845f610d0f565b8480fd5b610e6e915060203d602011610e74575b610e668183610f6e565b810190610faf565b5f6102b2565b503d610e5c565b602093505f610e8991610f6e565b5f92610256565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ee5915060203d602011610e7457610e668183610f6e565b5f610194565b90506020813d602011610f15575b81610f0660209383610f6e565b81010312610e9b57515f610139565b3d9150610ef9565b34610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b5760209073ffffffffffffffffffffffffffffffffffffffff600c5460181c168152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e9f57604052565b90816020910312610e9b575173ffffffffffffffffffffffffffffffffffffffff81168103610e9b5790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61107b6110ae5f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610fdb565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50565b6110ae611125915f9473ffffffffffffffffffffffffffffffffffffffff61115587966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610fdb565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610fdb565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033a2646970667358221220911eb483696e66e4f4dbedb88971aa357ffdabd80a1819f2dec507042ee7b3ef64736f6c634300081e0033","sourceMap":"276:1346:53:-:0;;;;;;;;;;3200:4:5;276:1346:53;;;3200:4:5;276:1346:53;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c9081633268cc5614610f1d57508063c0406226146100855763f8ccbf471461003f575f80fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257602060ff600c5460101c166040519015158152f35b80fd5b5034610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b576040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610e90575f91610eeb575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610e90576101d2915f91610ecc575b506040516101a3604082610f6e565b601181527f4465706c6f79657220416464726573733a000000000000000000000000000000602082015261101e565b60405161332380820182811067ffffffffffffffff821117610e9f578291611189833903905ff08015610e905773ffffffffffffffffffffffffffffffffffffffff16803b15610e9b576040517fc04062260000000000000000000000000000000000000000000000000000000081525f8160048183865af18015610e9057610e7b575b50602083916024604051809481937ff0c9a4290000000000000000000000000000000000000000000000000000000083528760048401525af180156107e45773ffffffffffffffffffffffffffffffffffffffff918491610e4c575b507fffffffffffffffffff0000000000000000000000000000000000000000ffffff76ffffffffffffffffffffffffffffffffffffffff000000600c549260181b1691161780600c5560181c1661034081604051610311604082610f6e565b601981527f547261696c73526f75746572206465706c6f7965642061743a00000000000000602082015261101e565b82610794926103cf604051946103596020820187610f6e565b80865260208601906144ac8239602060405195818701908152818752610380604088610f6e565b604051968793838501995180918b5e84019083820190888252519283915e0101848152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284610f6e565b604051936103de604086610f6e565b601085527f547261696c73526f757465725368696d000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610859575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526104ac607582610f6e565b51902016936002853b1161080857846104fd91604051906104ce604083610f6e565b600c82527f6465706c6f79696e6720746f000000000000000000000000000000000000000060208301526110c5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561080457604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a576107ef575b505060206105af91604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610fdb565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156107e4578391610795575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561078657826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b5576106b2905b604051610683604082610f6e565b601d81527f547261696c73526f757465725368696d206465706c6f7965642061743a000000602082015261101e565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b8161077b91610f6e565b61078657825f610648565b8280fd5b6040513d84823e3d90fd5b90506020813d6020116107dc575b816107b060209383610f6e565b81010312610786575173ffffffffffffffffffffffffffffffffffffffff81168103610786575f6105dd565b3d91506107a3565b6040513d85823e3d90fd5b816107f991610f6e565b61078657825f61056c565b5080fd5b8493506106b2949150610854925060405190610825604083610f6e565b601382527f616c7265616479206465706c6f79656420746f0000000000000000000000000060208301526110c5565b610675565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bde575b5f806108fa610940604051610893604082610f6e565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610fdb565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa506040516109646101a082610f6e565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bda5783610b8b91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fdb565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610bba575b5050610427565b81610bc491610f6e565b61078657825f610bb3565b6040513d86823e3d90fd5b8380fd5b9091505f80610c5e610c8a604051610bf7604082610f6e565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610fdb565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610e4857846040517fce817d47000000000000000000000000000000000000000000000000000000008152836004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610e33575b505073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e065786808080969594819482906657c084e5f3c00014610dfd575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561078a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610de8575b505061087d565b81610df291610f6e565b61078657825f610de1565b506108fc610d59565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b81610e3d91610f6e565b610e4857845f610d0f565b8480fd5b610e6e915060203d602011610e74575b610e668183610f6e565b810190610faf565b5f6102b2565b503d610e5c565b602093505f610e8991610f6e565b5f92610256565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ee5915060203d602011610e7457610e668183610f6e565b5f610194565b90506020813d602011610f15575b81610f0660209383610f6e565b81010312610e9b57515f610139565b3d9150610ef9565b34610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b5760209073ffffffffffffffffffffffffffffffffffffffff600c5460181c168152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e9f57604052565b90816020910312610e9b575173ffffffffffffffffffffffffffffffffffffffff81168103610e9b5790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61107b6110ae5f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610fdb565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50565b6110ae611125915f9473ffffffffffffffffffffffffffffffffffffffff61115587966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610fdb565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610fdb565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033a2646970667358221220911eb483696e66e4f4dbedb88971aa357ffdabd80a1819f2dec507042ee7b3ef64736f6c634300081e0033","sourceMap":"276:1346:53:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:28:3;276:1346:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;761:25:53;;2030:14:2;276:1346:53;761:25;;2030:14:2;;;;;;;;;;;;761:25:53;;;336:42:2;761:25:53;;;;;;;276:1346;761:25;;;276:1346;;;;2030:14:2;822:11:53;;;276:1346;822:11;;2030:14:2;;822:11:53;2030:14:2;822:11:53;336:42:2;822:11:53;;;;;;843:49;822:11;276:1346;822:11;;;276:1346;2030:14:2;276:1346:53;;2030:14:2;276:1346:53;2030:14:2;;:::i;:::-;;;;;;;;;843:49:53;:::i;:::-;276:1346;;1045:24;;;;;;;2030:14:2;1045:24:53;;;;;;;;;;;;276:1346;1045:24;;;;;276:1346;;1079:18;;;;;276:1346;;2030:14:2;1079:18:53;;276:1346;1079:18;276:1346;1079:18;;;;;;;;;;;276:1346;;2030:14:2;276:1346:53;;2030:14:2;276:1346:53;;1194:29;;;;2030:14:2;1194:29:53;;;276:1346;1194:29;;2030:14:2;1194:29:53;;;;;;276:1346;1194:29;;;;;276:1346;2030:14:2;;;1178:45:53;2030:14:2;;;;;;;;;1178:45:53;2030:14:2;;;276:1346:53;1233:55;276:1346;;;2030:14:2;276:1346:53;2030:14:2;;:::i;:::-;;;;;;;;;1233:55:53;:::i;:::-;1399:35;;276:1346;1382:80;276:1346;;1399:35;2030:14:2;;1399:35:53;;2030:14:2;;:::i;:::-;1399:35:53;;;2030:14:2;1399:35:53;;;;;;2030:14:2;276:1346:53;;1436:25;;;;276:1346;;;1436:25;;;;276:1346;1436:25;;:::i;:::-;276:1346;;1382:80;;;;;;2030:14:2;;;;;;;;;;;;;;;;;;;;;;;;;;1382:80:53;2030:14:2;1382:80:53;;;;;;:::i;:::-;276:1346;;2030:14:2;;276:1346:53;2030:14:2;;:::i;:::-;;;;;;;;;608:1:0;107:42:1;570:34:0;:39;;566:613;;276:1346:53;;2030:14:2;;;2313:20:0;;276:1346:53;;2030:14:2;2247:87:0;;276:1346:53;;;;;;;;;;;;;2030:14:2;276:1346:53;;;2030:14:2;276:1346:53;2247:87:0;;;;;;:::i;:::-;2030:14:2;2237:98:0;;276:1346:53;;608:1:0;1460:16;;:21;608:1;;276:1346:53;1497:39:0;276:1346:53;;;2030:14:2;;276:1346:53;2030:14:2;;:::i;:::-;1178:45:53;2030:14:2;;276:1346:53;2030:14:2;276:1346:53;;;1497:39:0;:::i;:::-;336:42:2;1550:21:0;;;;276:1346:53;;1550:21:0;2030:14:2;1550:21:0;;276:1346:53;1550:21:0;;2030:14:2;1550:21:0;;2030:14:2;1550:21:0;;336:42:2;1550:21:0;;;;;;;;1456:551;276:1346:53;;2030:14:2;442:41:0;276:1346:53;;;1606:42:0;;;;2030:14:2;1606:42:0;;276:1346:53;;1606:42:0;;442:41;2030:14:2;442:41:0;;;;:::i;:::-;;2030:14:2;442:41:0;;2030:14:2;1606:42:0;;;107::1;1606::0;;;;;;;;;;;1456:551;1662:18;336:42:2;1662:18:0;;;;276:1346:53;;;2030:14:2;1662:18:0;;;;276:1346:53;1662:18:0;;336:42:2;1662:18:0;;;;;;;;1456:551;276:1346:53;;;;1698:18:0;;1694:109;;608:1;1820:16;;:21;;1816:104;;1560:53:53;1456:551:0;;2030:14:2;276:1346:53;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;;;;;;1560:53:53;:::i;:::-;276:1346;;1816:104:0;761:25:53;276:1346;;1868:37:0;;;2030:14:2;276:1346:53;1868:37:0;;442:41;2030:14:2;;442:41:0;;2030:14:2;442:41:0;2030:14:2;;;442:41:0;1868:37;1694:109;761:25:53;276:1346;;1743:45:0;;;2030:14:2;276:1346:53;1743:45:0;;442:41;2030:14:2;;442:41:0;;2030:14:2;442:41:0;2030:14:2;;;442:41:0;1743:45;1662:18;;;;;:::i;:::-;276:1346:53;;1662:18:0;;;;276:1346:53;;;;1662:18:0;276:1346:53;;2030:14:2;276:1346:53;;2030:14:2;;;;1606:42:0;;;2030:14:2;1606:42:0;;2030:14:2;1606:42:0;;;;;;2030:14:2;1606:42:0;;;:::i;:::-;;;442:41;;;;;276:1346:53;;;2030:14:2;;;;1606:42:0;;;;;;-1:-1:-1;1606:42:0;;;276:1346:53;;2030:14:2;276:1346:53;;2030:14:2;;;;1550:21:0;;;;;:::i;:::-;276:1346:53;;1550:21:0;;;;;276:1346:53;;;1456:551:0;276:1346:53;;;1560:53;276:1346;;;1950:46:0;276:1346:53;2030:14:2;276:1346:53;;2030:14:2;;276:1346:53;2030:14:2;;:::i;:::-;276:1346:53;2030:14:2;;276:1346:53;2030:14:2;276:1346:53;;;1950:46:0;:::i;:::-;1456:551;;566:613;274:12:1;189:42;629:26:0;:50;625:360;;566:613;358:279:18;276:1346:53;;7823:54:18;276:1346:53;;2030:14:2;276:1346:53;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;276:1346:53;;7823:54:18;;;;2030:14:2;7823:54:18;;;276:1346:53;2030:14:2;7823:54:18;;276:1346:53;761:25;276:1346;;;;:::i;:::-;107:42:1;2030:14:2;276:1346:53;;;7823:54:18;2030:14:2;7823:54:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;276:1346:53;;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;;276:1346:53;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;276:1346:53;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;274:12:1;;;336:42:2;1121:47:0;;;;276:1346:53;329:739:1;276:1346:53;;;1121:47:0;;;;2030:14:2;1121:47:0;;2030:14:2;276:1346:53;1121:47:0;;329:739:1;2030:14:2;329:739:1;;;;:::i;:::-;1121:47:0;;;336:42:2;1121:47:0;;;;;;;;;;;566:613;;;;;1121:47;;;;;:::i;:::-;276:1346:53;;1121:47:0;;;;;276:1346:53;;2030:14:2;276:1346:53;;2030:14:2;;;;1121:47:0;276:1346:53;;;625:360:0;274:12:1;;;358:279:18;276:1346:53;;6262:42:18;2030:14:2;276:1346:53;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;276:1346:53;;6262:42:18;;;;2030:14:2;6262:42:18;;;2030:14:2;;6262:42:18;;276:1346:53;2030:14:2;276:1346:53;;;;:::i;:::-;6262:42:18;2030:14:2;6262:42:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;336:42:2;807:21:0;;;;276:1346:53;;;2030:14:2;807:21:0;;;276:1346:53;807:21:0;;2030:14:2;807:21:0;;2030:14:2;807:21:0;;336:42:2;807:21:0;;;;;;;;625:360;907:26;;189:42:1;907:26:0;274:12:1;;;;;;;;;846:88:0;;;;;;;;;;;274:12:1;846:88:0;;;625:360;189:42:1;846:88:0;;;;;336:42:2;952:18:0;;;;276:1346:53;;2030:14:2;952:18:0;;;;276:1346:53;952:18:0;;336:42:2;952:18:0;;;;;;;;;;;625:360;;;;;952:18;;;;;:::i;:::-;276:1346:53;;952:18:0;;;;846:88;-1:-1:-1;846:88:0;;;274:12:1;2030:14:2;274:12:1;;;;2030:14:2;276:1346:53;274:12:1;;807:21:0;;;;;:::i;:::-;276:1346:53;;807:21:0;;;;276:1346:53;;;;1194:29;;;;2030:14:2;1194:29:53;2030:14:2;1194:29:53;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1079:18;2030:14:2;1079:18:53;;276:1346;1079:18;;;:::i;:::-;276:1346;1079:18;;;;276:1346;;2030:14:2;276:1346:53;2030:14:2;;;;;1079:18:53;276:1346;;;1045:24;2030:14:2;276:1346:53;2030:14:2;;276:1346:53;2030:14:2;;276:1346:53;2030:14:2;822:11:53;;;;2030:14:2;822:11:53;2030:14:2;822:11:53;;;;;;;:::i;:::-;;;;761:25;;;2030:14:2;761:25:53;;2030:14:2;761:25:53;;;;;;2030:14:2;761:25:53;;;:::i;:::-;;;2030:14:2;;;;;761:25:53;;;;;;-1:-1:-1;761:25:53;;276:1346;;;;;;;;;;;;;;505:28;276:1346;;;;;;;2030:14:2;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;276:1346:53;;;2030:14:2;;;;;:::o;276:1346:53:-;;2030:14:2;;;276:1346:53;;2030:14:2;;;;;;;;276:1346:53;2030:14:2;;;;-1:-1:-1;2030:14:2;;;;;;;;276:1346:53;;;:::o;7740:145:18:-;276:1346:53;7823:54:18;358:279;7740:145;;;;276:1346:53;;;7823:54:18;;;;;;;;276:1346:53;7823:54:18;;;276:1346:53;;;;;;:::i;:::-;;;;;;;7823:54:18;;;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;7740:145::o;12983:174::-;13084:65;276:1346:53;12983:174:18;358:279;12983:174;276:1346:53;;12983:174:18;;276:1346:53;;13084:65:18;;;;;;;;276:1346:53;13084:65:18;;;276:1346:53;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;13084:65:18;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","routerAddress()":"3268cc56","run()":"c0406226"}}}},"src/TrailsIntentEntrypoint.sol":{"TrailsIntentEntrypoint":{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"_domainSeparator","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TRAILS_INTENT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"depositToIntent","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"intentAddress","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"feeAmount","type":"uint256","internalType":"uint256"},{"name":"feeCollector","type":"address","internalType":"address"},{"name":"sigV","type":"uint8","internalType":"uint8"},{"name":"sigR","type":"bytes32","internalType":"bytes32"},{"name":"sigS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositToIntentWithPermit","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"permitAmount","type":"uint256","internalType":"uint256"},{"name":"intentAddress","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"feeAmount","type":"uint256","internalType":"uint256"},{"name":"feeCollector","type":"address","internalType":"address"},{"name":"permitV","type":"uint8","internalType":"uint8"},{"name":"permitR","type":"bytes32","internalType":"bytes32"},{"name":"permitS","type":"bytes32","internalType":"bytes32"},{"name":"sigV","type":"uint8","internalType":"uint8"},{"name":"sigR","type":"bytes32","internalType":"bytes32"},{"name":"sigS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"FeePaid","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"feeToken","type":"address","indexed":true,"internalType":"address"},{"name":"feeAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"feeCollector","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"IntentDeposit","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"intentAddress","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"IntentExpired","inputs":[]},{"type":"error","name":"InvalidAmount","inputs":[]},{"type":"error","name":"InvalidFeeParameters","inputs":[]},{"type":"error","name":"InvalidIntentAddress","inputs":[]},{"type":"error","name":"InvalidIntentSignature","inputs":[]},{"type":"error","name":"InvalidNonce","inputs":[]},{"type":"error","name":"InvalidToken","inputs":[]},{"type":"error","name":"PermitAmountMismatch","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IntentExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFeeParameters\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidIntentAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidIntentSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitAmountMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"name\":\"FeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"IntentDeposit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_domainSeparator\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TRAILS_INTENT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"}],\"name\":\"depositToIntent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"permitAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"permitV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"permitR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"permitS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"}],\"name\":\"depositToIntentWithPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Miguel Mota\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"FeePaid(address,address,uint256,address)\":{\"params\":{\"feeAmount\":\"The amount of the fee paid.\",\"feeCollector\":\"The address receiving the fee.\",\"feeToken\":\"The ERC-20 token used to pay the fee.\",\"user\":\"The account from which the fee was taken.\"}},\"IntentDeposit(address,address,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited\",\"intentAddress\":\"The intent address receiving the deposit\",\"user\":\"The user making the deposit\"}}},\"kind\":\"dev\",\"methods\":{\"depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)\":{\"params\":{\"amount\":\"The amount to deposit\",\"deadline\":\"The intent deadline\",\"feeAmount\":\"The amount of fee to pay (0 for no fee, paid in same token)\",\"feeCollector\":\"The address to receive the fee (address(0) for no fee)\",\"intentAddress\":\"The intent address to deposit to\",\"nonce\":\"The nonce for this user\",\"sigR\":\"The intent signature r component\",\"sigS\":\"The intent signature s component\",\"sigV\":\"The intent signature v component\",\"token\":\"The token to deposit (also used for fee payment)\",\"user\":\"The user making the deposit\"}},\"depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)\":{\"params\":{\"amount\":\"The amount to deposit\",\"deadline\":\"The permit deadline\",\"feeAmount\":\"The amount of fee to pay (0 for no fee, paid in same token)\",\"feeCollector\":\"The address to receive the fee (address(0) for no fee)\",\"intentAddress\":\"The intent address to deposit to\",\"nonce\":\"The nonce for this user\",\"permitAmount\":\"The amount to permit for spending (amount + feeAmount if paying fee)\",\"permitR\":\"The permit signature r component\",\"permitS\":\"The permit signature s component\",\"permitV\":\"The permit signature v component\",\"sigR\":\"The intent signature r component\",\"sigS\":\"The intent signature s component\",\"sigV\":\"The intent signature v component\",\"token\":\"The token to deposit (also used for fee payment)\",\"user\":\"The user making the deposit\"}}},\"title\":\"TrailsIntentEntrypoint\",\"version\":1},\"userdoc\":{\"events\":{\"FeePaid(address,address,uint256,address)\":{\"notice\":\"Emitted when a fee is paid.\"},\"IntentDeposit(address,address,uint256)\":{\"notice\":\"Emitted when a user deposits tokens to an intent address\"}},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"Returns the EIP-712 domain separator used for intent signatures. forge-lint: disable-next-line(mixed-case-function)\"},\"TRAILS_INTENT_TYPEHASH()\":{\"notice\":\"Returns the trails intent typehash constant used in EIP-712 signatures. forge-lint: disable-next-line(mixed-case-function)\"},\"VERSION()\":{\"notice\":\"Returns the version string of the contract. forge-lint: disable-next-line(mixed-case-function)\"},\"depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)\":{\"notice\":\"Deposit tokens to an intent address (requires prior approval)\"},\"depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)\":{\"notice\":\"Deposit tokens to an intent address using ERC20 permit\"},\"nonces(address)\":{\"notice\":\"Tracks nonce for each user to prevent replay attacks.\"}},\"notice\":\"A contract to facilitate deposits to intent addresses with off-chain signed intents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/TrailsIntentEntrypoint.sol\":\"TrailsIntentEntrypoint\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033","sourceMap":"703:7682:54:-:0;;;;;;;2365:1:38;1505:66;2365:1;703:7682:54;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033","sourceMap":"703:7682:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;4479:564;703:7682;;:::i;:::-;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;4479:564;;:::i;:::-;703:7682;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3067:1362;703:7682;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;3067:1362;;:::i;703:7682::-;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;703:7682:54;-1:-1:-1;703:7682:54;;;;-1:-1:-1;703:7682:54;;;;;;;;;;;;;;;;;;;;;;1255:190;703:7682;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2989:103:38;;;;;4936:4:54;2989:103:38;;;;;5023:12:54;2989:103:38;;;;;;:::i;:::-;4936:4:54;;;;;:::i;:::-;5023:12;:::i;:::-;2365:1:38;1505:66;2407:1;2989:103::o;:::-;;;;;;;;;;;;;;;;;;;3637:4:54;2989:103:38;;;;;;;:::i;:::-;3637:4:54;:::i;:::-;703:7682;;;3877:34;;3873:69;;703:7682;;;4086:98;;;;;;4409:12;703:7682;;4086:98;703:7682;;;4086:98;;;703:7682;4086:98;;703:7682;;;4086:98;;;703:7682;4127:4;703:7682;;;;;;;;;;;;;;;;;;;;;;;;;4086:98;;703:7682;4086:98;;;;;;;;;2989:103:38;4409:12:54;;:::i;:::-;3054:1:38;2365;1505:66;2407:1;4047:253;3054:1;2989:103::o;4086:98:54:-;;;;;;;:::i;:::-;;;:::i;:::-;;;;3873:69;3920:22;;;;;;2778:239;703:7682;;;;;;:::i;:::-;1552:95;703:7682;;1552:95;;;;;;1699:42;703:7682;;:::i;:::-;1552:95;703:7682;;1552:95;;1796:25;703:7682;;2893:107;1552:95;2893:107;;703:7682;1552:95;703:7682;;;1796:25;;703:7682;1796:25;;;703:7682;2971:13;1796:25;;;703:7682;2994:4;1796:25;;;703:7682;1796:25;2893:107;;;;;;:::i;:::-;703:7682;2870:140;;2778:239;:::o;3749:292:38:-;2407:1;1505:66;703:7682:54;4560:63:38;3644:93;;2407:1;1505:66;2407:1;3749:292::o;3644:93::-;3696:30;-1:-1:-1;3696:30:38;;-1:-1:-1;3696:30:38;703:7682:54;;;;;;;;;:::o;:::-;;;;;;;;;;6203:2180;;;;;;;;;;;;6532:11;;6528:39;;703:7682;;;6581:19;6577:46;;703:7682;;;6637:27;6633:62;;6709:15;;:26;6705:54;;6952:12;;703:7682;;6542:1;703:7682;6542:1;703:7682;;;6542:1;703:7682;;;6952:12;703:7682;6943:21;;6939:48;;8208:39;7223:544;7938:241;7223:544;7938:241;7223:544;;;;;;;;1255:190;7223:544;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7804:18;;:::i;:::-;7938:241;7223:544;7938:241;;;;;7223:544;7938:241;;;7223:544;7938:241;;;;;8208:39;:::i;:::-;703:7682;;;;;;8261:17;8257:54;;8362:12;;703:7682;;6542:1;703:7682;6542:1;703:7682;;;6542:1;703:7682;;;8362:12;:14;703:7682;;8362:14;:::i;:::-;2407:1:38;;6203:2180:54:o;8257:54::-;8287:24;6542:1;8287:24;;6542:1;8287:24;6939:48;6973:14;6542:1;6973:14;;6542:1;6973:14;6705:54;6744:15;6542:1;6744:15;;6542:1;6744:15;6633:62;6673:22;6542:1;6673:22;;6542:1;6673:22;6577:46;6609:14;6542:1;6609:14;;6542:1;6609:14;6528:39;6552:15;6542:1;6552:15;;6542:1;6552:15;5049:900;;;;;;703:7682;;5308:6;;;;;;;:::i;:::-;5420:13;;;703:7682;;;;5471:26;;;;5511:41;;;;5507:172;;5900:42;;703:7682;;5692:41;;;5049:900;5688:197;;;5049:900;-1:-1:-1;;703:7682:54;;;;;-1:-1:-1;;703:7682:54;;;;;;;5900:42;5049:900::o;5688:197::-;5800:9;;;;;;:::i;:::-;703:7682;;;;;;;;;5829:45;;703:7682;;5829:45;5688:197;;;;;;5692:41;;;;;;5507:172;5646:22;5432:1;5646:22;;5432:1;5646:22;8826:260:42;;9044:8;8826:260;;8990:25;8826:260;8990:25;:::i;:::-;9044:8;;;;;:::i;:::-;8826:260;:::o;1662:232:33:-;;;;10404:1148;1662:232;10404:1148;;;;10365:28;-1:-1:-1;10404:1148:33;;;;;;;;;;-1:-1:-1;10404:1148:33;;;;;;1809:4;-1:-1:-1;10404:1148:33;;;;;;;1662:232;10404:1148;;;;;-1:-1:-1;10404:1148:33;;1766:48;1762:126;;1662:232;:::o;1762:126::-;1837:40;-1:-1:-1;1837:40:33;10404:1148;703:7682:54;10404:1148:33;703:7682:54;;-1:-1:-1;1837:40:33;10404:1148;1809:4;10404:1148;;;;;;;;;;;;;;;;;;-1:-1:-1;10404:1148:33;;;;;7142:1551:42;;;8222:66;8209:79;;8205:164;;703:7682:54;;;;;;-1:-1:-1;703:7682:54;;;;;;;;;;;;;;;;;;;8480:24:42;;;;;;;;;-1:-1:-1;8480:24:42;703:7682:54;;;8518:20:42;8514:113;;8637:49;-1:-1:-1;8637:49:42;-1:-1:-1;7142:1551:42;:::o;8514:113::-;8554:62;-1:-1:-1;8554:62:42;8480:24;8554:62;-1:-1:-1;8554:62:42;:::o;8480:24::-;703:7682:54;;;;;;;;;8205:164:42;8304:54;;;8320:1;8304:54;8324:30;8304:54;;:::o;703:7682:54:-;;-1:-1:-1;703:7682:54;;;:::o;:::-;;;;;;;;;;11374:532:42;703:7682:54;;;:::i;:::-;11460:29:42;;;11505:7;;:::o;11456:444::-;703:7682:54;;;:::i;:::-;11565:29:42;11556:38;;11565:29;;11617:23;11469:20;11617:23;;11469:20;11617:23;11552:348;703:7682:54;;;:::i;:::-;11670:35:42;11661:44;;11670:35;;11728:46;;11469:20;11728:46;11857:32;703:7682:54;;11469:20:42;11728:46;11657:243;703:7682:54;;11804:30:42;703:7682:54;;:::i;:::-;11795:39:42;11791:109;;11657:243;11374:532::o;11791:109::-;11857:32;11469:20;11857:32;;703:7682:54;;11469:20:42;11857:32","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","TRAILS_INTENT_TYPEHASH()":"f3961040","VERSION()":"ffa1ad74","depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)":"3525916f","depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)":"358a8f48","nonces(address)":"7ecebe00"}}}},"src/TrailsRouter.sol":{"TrailsRouter":{"abi":[{"type":"constructor","inputs":[{"name":"_multicall3","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"MULTICALL3","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"__activateTstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"execute","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"_opHash","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"injectAndCall","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"injectSweepAndCall","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"pullAmountAndExecute","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"pullAndExecute","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"refundAndSweep","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_refundRecipient","type":"address","internalType":"address"},{"name":"_refundAmount","type":"uint256","internalType":"uint256"},{"name":"_sweepRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"sweep","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"validateOpHashAndSweep","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"ActualRefund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"expected","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actual","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BalanceInjectorCall","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"placeholder","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amountReplaced","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOffset","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"result","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Refund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RefundAndSweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"refundRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"refundAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sweepRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"actualRefund","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"remaining","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Sweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowFailureMustBeFalse","inputs":[{"name":"callIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"AmountOffsetOutOfBounds","inputs":[]},{"type":"error","name":"IncorrectValue","inputs":[{"name":"required","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidDelegatedSelector","inputs":[{"name":"selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"InvalidFunctionSelector","inputs":[{"name":"selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"NativeTransferFailed","inputs":[]},{"type":"error","name":"NoTokensToPull","inputs":[]},{"type":"error","name":"NoTokensToSweep","inputs":[]},{"type":"error","name":"NoValueAvailable","inputs":[]},{"type":"error","name":"NotDelegateCall","inputs":[]},{"type":"error","name":"OnlyDirectCalls","inputs":[]},{"type":"error","name":"PlaceholderMismatch","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SuccessSentinelNotSet","inputs":[]},{"type":"error","name":"TStoreAlreadyActivated","inputs":[]},{"type":"error","name":"TStoreNotSupported","inputs":[]},{"type":"error","name":"TargetCallFailed","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"TloadTestContractDeploymentFailed","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_multicall3\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"callIndex\",\"type\":\"uint256\"}],\"name\":\"AllowFailureMustBeFalse\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"IncorrectValue\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"InvalidDelegatedSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"InvalidFunctionSelector\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NativeTransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoTokensToPull\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoTokensToSweep\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoValueAvailable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyDirectCalls\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PlaceholderMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SuccessSentinelNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"TargetCallFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TloadTestContractDeploymentFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"ActualRefund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReplaced\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"BalanceInjectorCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"refundRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sweepRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualRefund\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"name\":\"RefundAndSweep\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Sweep\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MULTICALL3\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"__activateTstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"injectAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"injectSweepAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"pullAmountAndExecute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"pullAndExecute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_refundRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_refundAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_sweepRecipient\",\"type\":\"address\"}],\"name\":\"refundAndSweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"sweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"validateOpHashAndSweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Miguel Mota, Shun Kakinoki\",\"details\":\"Must be delegatecalled via the Sequence delegated extension module to access wallet storage/balances.\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"__activateTstore()\":{\"details\":\"External function to activate TSTORE usage. Does not need to be called if TSTORE is supported from deployment, and only needs to be called once. Reverts if TSTORE has already been activated or if the opcode is not available. Note that this must be called directly from an externally-owned account to avoid potential reentrancy issues.\"},\"execute(bytes)\":{\"details\":\"Delegates to Multicall3 to preserve msg.sender context.\",\"params\":{\"data\":\"The data to execute.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}},\"injectAndCall(address,address,bytes,uint256,bytes32)\":{\"params\":{\"amountOffset\":\"The byte offset in calldata where the placeholder is located.\",\"callData\":\"The original calldata (must include a 32-byte placeholder).\",\"placeholder\":\"The 32-byte placeholder that will be replaced with balance.\",\"target\":\"The address to call with modified calldata.\",\"token\":\"The ERC-20 token to sweep, or address(0) for ETH.\"}},\"injectSweepAndCall(address,address,bytes,uint256,bytes32)\":{\"details\":\"Transfers tokens from msg.sender to this contract first.\",\"params\":{\"amountOffset\":\"The byte offset in calldata where the placeholder is located.\",\"callData\":\"The original calldata (must include a 32-byte placeholder).\",\"placeholder\":\"The 32-byte placeholder that will be replaced with balance.\",\"target\":\"The address to call with modified calldata.\",\"token\":\"The ERC-20 token to sweep, or address(0) for ETH.\"}},\"pullAmountAndExecute(address,uint256,bytes)\":{\"details\":\"For ERC20: requires prior approval. For ETH: requires msg.value.\",\"params\":{\"amount\":\"The amount to pull.\",\"data\":\"The calldata for Multicall3.\",\"token\":\"The ERC20 token to pull, or address(0) for ETH.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"pullAndExecute(address,bytes)\":{\"details\":\"For ERC20: pulls entire balance and requires prior approval. For ETH: uses msg.value.\",\"params\":{\"data\":\"The calldata for Multicall3.\",\"token\":\"The ERC20 token to pull, or address(0) for ETH.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"refundAndSweep(address,address,uint256,address)\":{\"details\":\"For delegatecall context.\",\"params\":{\"refundAmount\":\"Maximum amount to refund.\",\"refundRecipient\":\"Address receiving the refund portion.\",\"sweepRecipient\":\"Address receiving the remaining balance.\",\"token\":\"The token address to operate on. Use address(0) for native.\"}},\"sweep(address,address)\":{\"details\":\"For delegatecall context. Transfers all tokens/ETH held by the wallet to the recipient.\",\"params\":{\"recipient\":\"The address to send the swept tokens to.\",\"token\":\"The address of the token to sweep. Use address(0) for the native token.\"}},\"validateOpHashAndSweep(bytes32,address,address)\":{\"details\":\"For delegatecall context. Used to ensure prior operation succeeded.\",\"params\":{\"opHash\":\"The operation hash to validate.\",\"recipient\":\"The recipient of the sweep.\",\"token\":\"The token to sweep.\"}}},\"title\":\"TrailsRouter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"execute(bytes)\":{\"notice\":\"Delegates to Multicall3 to preserve msg.sender context.\"},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"},\"injectAndCall(address,address,bytes,uint256,bytes32)\":{\"notice\":\"Injects balance and calls target (for delegatecall context).\"},\"injectSweepAndCall(address,address,bytes,uint256,bytes32)\":{\"notice\":\"Sweeps tokens from msg.sender and calls target with modified calldata.\"},\"pullAmountAndExecute(address,uint256,bytes)\":{\"notice\":\"Pull specific amount of tokens from msg.sender, then delegatecall into Multicall3.\"},\"pullAndExecute(address,bytes)\":{\"notice\":\"Pull tokens from msg.sender, then delegatecall into Multicall3.\"},\"refundAndSweep(address,address,uint256,address)\":{\"notice\":\"Refunds up to `_refundAmount` to `_refundRecipient`, then sweeps any remaining balance to `_sweepRecipient`.\"},\"sweep(address,address)\":{\"notice\":\"Sweeps the entire balance to recipient.\"},\"validateOpHashAndSweep(bytes32,address,address)\":{\"notice\":\"Validates that the success sentinel for an opHash is set, then sweeps tokens.\"}},\"notice\":\"Consolidated router for Trails operations including multicall routing, balance injection, and token sweeping\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/TrailsRouter.sol\":\"TrailsRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033","sourceMap":"911:15344:55:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;911:15344:55;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;911:15344:55;;;-1:-1:-1;;;;;911:15344:55;;;;;;;;;;:::o;:::-;;:::i;1632:74::-;784:4:57;776:13;;8755:335:49;-1:-1:-1;8755:335:49;;;-1:-1:-1;8755:335:49;-1:-1:-1;;;;;911:15344:55;;3014:31:49;3010:104;;3197:29;;;:::i;:::-;3237:647;;;;3433:10;3418:25;;3472:10;3457:25;;3513:12;3496:29;;3237:647;3894:44;;4029:38;;1675:24:55;;1632:74::o;3237:647:49:-;3722:30;3707:45;;3781:29;3766:44;;3841:32;3824:49;;3237:647;;3010:104;3068:35;;;3043:1;3068:35;;3043:1;3068:35;9346:407;-1:-1:-1;9346:407:49;;;;9738:2;9726:9;911:15344:55;9691:55:49;911:15344:55;;;;;-1:-1:-1;;;;;911:15344:55;;;;;;;;-1:-1:-1;;911:15344:55;;;;:::i;:::-;;;;-1:-1:-1;911:15344:55;;;;;9346:407:49;:::o;911:15344:55:-;9346:407:49;:::o","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033","sourceMap":"911:15344:55:-:0;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;:::i;:::-;3053:4;;;;;:::i;:::-;911:15344;;;;;;;;;;;;;3110:29;:10;;:29;;;;:::i;:::-;3153:8;;3149:49;;3215:46;911:15344;;;;;;3215:46;;;;;;:::i;:::-;911:15344;;;;;;;:::i;:::-;;;;3149:49;3170:28;911:15344;;;3170:28;;;;;;911:15344;3170:28;;;:::i;:::-;;;;911:15344;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;1057:75:57;;:::i;:::-;479:48:62;-1:-1:-1;983:133:62;911:15344:55;983:133:62;911:15344:55;-1:-1:-1;983:133:62;9014:12:55;;911:15344;9014:12;;;911:15344;;;;;-1:-1:-1;911:15344:55;;;;;-1:-1:-1;911:15344:55;;581:1:62;6699:60:49;;911:15344:55;9014:53;9010:114;;1057:75:57;;:::i;:::-;12525:33:55;12552:4;12525:33;;:::i;:::-;7201:10;;7197:267;;911:15344;7197:267;911:15344;;7420:33;911:15344;;;;7231:20;;;;;7227:175;911:15344;;;7299:6;;;;:::i;:::-;911:15344;;;;;;7420:33;;911:15344;7227:175;7380:6;;;:::i;:::-;7227:175;;9010:114;9090:23;-1:-1:-1;9090:23:55;911:15344;-1:-1:-1;9090:23:55;911:15344;;581:1:62;911:15344:55;;-1:-1:-1;911:15344:55;;7264:210:49;911:15344:55;;;7298:68:49;911:15344:55;;7264:210:49;7396:68;911:15344:55;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;8650:97;911:15344;;;;;;:::i;:::-;1057:75:57;;:::i;:::-;8650:97:55;12552:4;12544:13;12525:33;;;;:::i;:::-;7769:23;;;;;;12525:33;7769:49;;;7832:29;;;7828:132;;7769:49;7973:16;7969:310;;7769:49;12525:33;;:::i;:::-;8346:13;;8342:294;;7769:49;911:15344;;;;;;;;;;;;8650:97;;911:15344;;;;;;;;;;;;;;;;;;8650:97;;;;911:15344;8342:294;911:15344;;;8379:20;911:15344;;8452:9;;;;:::i;:::-;911:15344;;;;;;;;;;8584:41;;911:15344;;8584:41;8342:294;;8375:191;8541:9;;;;;:::i;:::-;8375:191;;7969:310;911:15344;;;8009:20;911:15344;;8083:12;;;;:::i;:::-;911:15344;;;;;;;;;;8222:46;;911:15344;;8222:46;7969:310;;8005:199;8176:12;;;;;:::i;:::-;8005:199;;7828:132;911:15344;;;;;;;;;;;;;;;;;;;;7882:67;;911:15344;7882:67;7828:132;;7769:49;;12525:33;7769:49;;;;911:15344;;;;;;;;;;;;;;;;;;;;;9422:1755;911:15344;;;;;;:::i;:::-;1057:75:57;;;:::i;:::-;9422:1755:55;:::i;911:15344::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;:::i;:::-;;;;;;;;;6356:19;;;;:37;;;911:15344;6352:103;;12525:33;12552:4;12525:33;;:::i;:::-;6525:18;;;6521:194;;911:15344;6725:88;911:15344;;;;;;:::i;:::-;6725:88;;:::i;6521:194::-;6559:146;;;6609:18;6373:1;6609:18;911:15344;6373:1;6609:18;6559:146;6673:17;6373:1;6673:17;911:15344;6373:1;6673:17;6352:103;6416:28;6373:1;6416:28;6373:1;911:15344;;6434:9;911:15344;;;6373:1;6416:28;6356:37;6379:9;;:14;;6356:37;;911:15344;;;;;;;;;;;4635:9:49;4621:10;:23;4617:78;;4770:21;:39;;;;911:15344:55;4766:101:49;;4948:31;911:15344:55;4960:18:49;;;;9738:2;9726:9;911:15344:55;9691:55:49;;;:::i;:::-;-1:-1:-1;4948:31:49;;911:15344:55;4948:31:49;4944:89;;5080:21;5097:4;911:15344:55;;;;;;;;4944:89:49;5002:20;911:15344:55;5002:20:49;911:15344:55;;5002:20:49;4766:101;4832:24;911:15344:55;4832:24:49;911:15344:55;;4832:24:49;4770:39;911:15344:55;;;;;4770:39:49;;4617:78;4667:17;911:15344:55;4667:17:49;911:15344:55;;4667:17:49;911:15344:55;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3473:14;;;911:15344;;;;;3540:9;:14;3536:45;;911:15344;3540:9;3765:41;3540:9;;3497:251;3765:41;:::i;3536:45::-;3563:18;-1:-1:-1;3563:18:55;911:15344;-1:-1:-1;3563:18:55;3497:251;3653:30;3672:10;3653:30;;:::i;:::-;3701:11;;;3697:40;;911:15344;3497:251;3765:41;3497:251;3765:41;:::i;3697:40::-;3721:16;-1:-1:-1;3721:16:55;911:15344;-1:-1:-1;3721:16:55;911:15344;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;1057:75:57;;:::i;911:15344:55:-;;;;;;;;;;;;;;;1408:35;911:15344;;;;;;;;:::i;:::-;5556:21;;;;;911:15344;;;5592:19;5588:426;911:15344;;;5643:9;;;5670:18;5666:49;;6024:88;5588:426;911:15344;5588:426;;911:15344;;;:::i;5588:426::-;5750:9;5746:55;;5831:30;5850:10;5831:30;;:::i;:::-;5879:18;;;5875:48;;6024:88;5982:4;911:15344;5982:4;5989:13;5982:4;;5850:10;5989:13;;:::i;:::-;5588:426;;911:15344;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;911:15344:55;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:75:57;;;:::i;:::-;479:48:62;-1:-1:-1;983:133:62;;;;-1:-1:-1;983:133:62;9014:12:55;;911:15344;9014:12;;;911:15344;;;;;-1:-1:-1;911:15344:55;;;;;-1:-1:-1;911:15344:55;;581:1:62;6699:60:49;;911:15344:55;9014:53;9010:114;;1057:75:57;;:::i;:::-;12525:33:55;12552:4;12525:33;;:::i;:::-;7201:10;;7197:267;;1057:75:57;;;:::o;7197:267:55:-;983:133:62;911:15344:55;7420:33;911:15344;;;;7231:20;;;;;7227:175;911:15344;;;7299:6;;;;:::i;:::-;983:133:62;911:15344:55;;;;;7420:33;;1057:75:57:o;7227:175:55:-;7380:6;;;:::i;:::-;7227:175;;911:15344;;581:1:62;911:15344:55;;-1:-1:-1;911:15344:55;;7264:210:49;911:15344:55;;;7298:68:49;911:15344:55;;7264:210:49;7396:68;911:15344:55;;1057:75:57;;;;911:15344:55;8650:97;1057:75:57;;;:::i;:::-;8650:97:55;12552:4;12544:13;911:15344;8650:97;;;;1057:75:57:o;911:15344:55:-;;9802:1;911:15344;;;;9802:1;911:15344;:::o;:::-;;;;;;9802:1;911:15344;;;;;;;9802:1;911:15344;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;9422:1755::-;;;-1:-1:-1;9786:17:55;9802:1;9786:17;;;9782:77;;9422:1755;911:15344;;;;9912:39;;9908:361;;911:15344;10318:31;;10314:197;;911:15344;10525:40;;10521:337;;911:15344;10872:48;10868:251;;11136:34;-1:-1:-1;11136:34:55;911:15344;;;9802:1;911:15344;;11136:34;-1:-1:-1;11136:34:55;10868:251;8794:371;10986:9;;10975:50;10986:9;;911:15344;10986:9;;;;;:::i;:::-;10975:50;;;;:::i;:::-;911:15344;;;;;;;8794:371;;:::i;:::-;11102:7::o;10521:337::-;10697:9;7510:1244;10697:9;;911:15344;10697:9;;10686:59;10697:9;;;;;;;:::i;:::-;10686:59;;;;:::i;:::-;911:15344;;;;;;;;;7510:1244;:::i;10314:197::-;10413:9;7054:416;10413:9;;911:15344;10413:9;;;;;;10402:41;10413:9;;:::i;:::-;10402:41;;;;:::i;:::-;911:15344;;;;;;7054:416;:::i;9908:361::-;10094:9;10226:11;10094:9;;911:15344;10094:9;;;;;;10083:66;10094:9;;:::i;:::-;10083:66;;;;:::i;:::-;911:15344;;;;;;;;;;10226:11;:::i;9782:77::-;9837:10;;9830:18;9837:10;;;;:::i;:::-;9830:18;;:::i;:::-;9782:77;;;3853:1265;;;;;;4060:4;;;;:::i;:::-;911:15344;;;4079:19;;;4075:274;;;;;;4118:9;;:19;4114:65;;4075:274;4096:1;4075:274;;;;911:15344;;;;;;;;:::i;:::-;4401:29;:10;;:29;;;;:::i;:::-;4444:8;;4440:49;;911:15344;4515:46;911:15344;4515:46;911:15344;;4515:46;;;;;;:::i;:::-;12552:4;12525:33;12552:4;12525:33;;:::i;:::-;4840:13;;4836:276;;4075:274;3853:1265;;;;:::o;4836:276::-;4869:179;;;;;4940:9;4928:10;;;4940:9;:::i;:::-;911:15344;;;;;5079:10;;5066:35;;911:15344;;5066:35;4836:276;;;;;;4869:179;5023:9;5011:10;;5023:9;;:::i;:::-;4869:179;;4114:65;4146:33;4096:1;4146:33;;911:15344;4118:9;911:15344;;;-1:-1:-1;11136:34:55;4075:274;4214:9;;;4210:55;;4096:1;4324:4;4331:6;4324:4;;;4304:10;4331:6;;:::i;:::-;4075:274;;4210:55;4237:28;4096:1;4237:28;;;;911:15344;4214:9;911:15344;;;-1:-1:-1;11136:34:55;1057:75:57;;;:::i;911:15344:55:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14840:1413;14977:1;14959:19;;14955:66;;15050:21;15057:13;;;;:::i;15050:21::-;911:15344;;;;15169:22;;911:15344;;15359:12;;;15348:52;15359:12;;;;:::i;:::-;15348:52;;;;:::i;:::-;15066:1;15527:3;911:15344;;15509:16;;;;;15554:21;;:8;;;;:::i;:::-;;:21;911:15344;;;;;15554:21;15550:101;;911:15344;;15494:13;;15550:101;15606:26;15066:1;15606:26;14977:1;911:15344;;-1:-1:-1;11136:34:55;15509:16;;;14840:1413::o;15165:1082::-;911:15344;15685:22;911:15344;;15865:12;;15854:47;15865:12;;;;:::i;:::-;15854:47;;;;:::i;:::-;15066:1;16028:3;911:15344;;16010:16;;;;;16055:21;;:8;;;;:::i;:21::-;16051:101;;911:15344;;15995:13;;15681:566;16203:33;15066:1;16203:33;911:15344;;9802:1;911:15344;;-1:-1:-1;11136:34:55;14955:66;14987:34;15018:1;14987:34;;911:15344;;;14977:1;911:15344;;1386:112:57;911:15344:55;1460:5:57;911:15344:55;1451:4:57;1443:22;1439:52;;1386:112::o;1439:52::-;1474:17;;;;;;11947:178:55;911:15344;;1306:37:33;911:15344:55;8544:1067:33;;;8509:24;-1:-1:-1;8544:1067:33;;;;;;;-1:-1:-1;8544:1067:33;;;;;;1338:4;-1:-1:-1;8544:1067:33;;;;;;;11947:178:55;8544:1067:33;;;;;1305:38;;1301:116;;11947:178:55;:::o;1301:116:33:-;1366:40;-1:-1:-1;1366:40:33;911:15344:55;;8544:1067:33;911:15344:55;;-1:-1:-1;11136:34:55;8544:1067:33;1338:4;8544:1067;;;;;;;;;;;;;;;;;;-1:-1:-1;8544:1067:33;;;;;11693:189:55;11785:37;11693:189;;;911:15344;11693:189;;911:15344;11785:37;;;;:::i;:::-;;11836:8;11832:43;;11693:189::o;11832:43::-;11853:22;11785:37;11853:22;;11785:37;11853:22;12630:550;;;;;;;12525:33;12552:4;12525:33;;:::i;:::-;12885:18;;;12881:194;;13159:13;;;;:::i;12881:194::-;911:15344;;;;;12969:18;12902:1;12969:18;;12902:1;12969:18;911:15344;;13680:2;911:15344;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13245:1530::-;;;;;13552:17;;;;:46;;;13245:1530;13610:433;;13245:1530;14236:93;911:15344;;;;;14101:19;;;14097:672;911:15344;;;13568:1;14174:43;;;14236:93;14174:43;;;;;;;;;;;;:::i;:::-;911:15344;;;;;;;;;14236:93;;;:::i;:::-;;;;14347:8;14343:45;;14097:672;13245:1530::o;14097:672::-;13568:1;14499:13;14606:93;14499:13;;;;;;:::i;:::-;14566:21;;;;;;;;;;;;;:::i;13610:433::-;911:15344;;13665:17;;;:::i;:::-;-1:-1:-1;13643:73:55;;13680:2;13758:93;;;;;;;;13868:20;13864:54;;13933:100;;;;13610:433;;13864:54;13897:21;13568:1;13897:21;;13568:1;13897:21;13643:73;13691:25;13568:1;13691:25;;13568:1;13691:25;13552:46;13573:25;;;;13552:46;;12190:181;911:15344;;12292:19;911:15344;;12314:15;;12190:181;:::o;12292:72::-;911:15344;;12332:32;911:15344;;;;12332:32;;;;;911:15344;12332:32;;911:15344;12332:32;;;911:15344;12332:32;;;;;;;12309:1;12332:32;;;12292:72;12190:181;:::o;12332:32::-;;;911:15344;12332:32;;911:15344;12332:32;;;;;;911:15344;12332:32;;;:::i;:::-;;;911:15344;;;;;12190:181;:::o;12332:32::-;;;-1:-1:-1;12332:32:55;;;911:15344;;;12309:1;911:15344;;;;;11429:199;911:15344;11429:199;;;;;;911:15344;1767:47:33;10404:1148;;;;10365:28;-1:-1:-1;10404:1148:33;;;;;;;;;;-1:-1:-1;10404:1148:33;;;;;;1809:4;-1:-1:-1;10404:1148:33;;;;;;;11429:199:55;10404:1148:33;;;;;-1:-1:-1;10404:1148:33;;1766:48;;911:15344:55;10404:1148:33;1809:4;10404:1148;;;;;;;;;;;;;;;5098:367;;;12233:1072;;12199:23;5226:5;12233:1072;;;;;;;;;;5226:5;12233:1072;;;;;;;;5226:5;12233:1072;;;;;;;5098:367;12233:1072;;5189:43;5185:274;;5098:367;;;:::o;5185:274::-;5253:37;;;;:::i;:::-;5252:38;5248:91;;5358:41;;;;;:::i;:::-;5357:42;5353:95;;5098:367;:::o;5353:95::-;12233:1072;5408:40;;5226:5;5408:40;911:15344:55;12233:1072:33;911:15344:55;12233:1072:33;5226:5;5408:40;5248:91;12233:1072;5299:40;;5226:5;5299:40;911:15344:55;12233:1072:33;911:15344:55;12233:1072:33;5226:5;5299:40;12233:1072;;;;;;;;;;;;;12059:1252;;;12233:1072;;;;12199:23;5226:5;12233:1072;;;;5226:5;12233:1072;;;5226:5;12233:1072;;;;;;;5285:4;5226:5;12233:1072;;;;;;;12059:1252;12233:1072;;;12059:1252::o;12233:1072::-;5285:4;12233:1072;;;;;;;;;;;;;;;;;;;;;5226:5;12233:1072;;;;;12059:1252;;;12233:1072;;;;12199:23;12233:1072;;;;;;;;;;;;;;;;5285:4;12233:1072;;;;;;;;;;;12059:1252::o","linkReferences":{},"immutableReferences":{"48741":[{"start":2207,"length":32}],"48743":[{"start":2156,"length":32}],"48759":[{"start":867,"length":32},{"start":3825,"length":32}],"49713":[{"start":572,"length":32},{"start":2937,"length":32},{"start":5286,"length":32}],"51119":[{"start":6685,"length":32}]}},"methodIdentifiers":{"MULTICALL3()":"c2add59d","__activateTstore()":"7423eb3c","execute(bytes)":"09c5eabe","handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c","injectAndCall(address,address,bytes,uint256,bytes32)":"5b5e6516","injectSweepAndCall(address,address,bytes,uint256,bytes32)":"c5e5153b","pullAmountAndExecute(address,uint256,bytes)":"a9baaaf5","pullAndExecute(address,bytes)":"7a7eeb4f","refundAndSweep(address,address,uint256,address)":"4784226e","sweep(address,address)":"b8dc491b","validateOpHashAndSweep(bytes32,address,address)":"2a3ee126"}}}},"src/TrailsRouterShim.sol":{"TrailsRouterShim":{"abi":[{"type":"constructor","inputs":[{"name":"router_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ROUTER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"__activateTstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"NotDelegateCall","inputs":[]},{"type":"error","name":"OnlyDirectCalls","inputs":[]},{"type":"error","name":"RouterCallFailed","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"TStoreAlreadyActivated","inputs":[]},{"type":"error","name":"TStoreNotSupported","inputs":[]},{"type":"error","name":"TloadTestContractDeploymentFailed","inputs":[]},{"type":"error","name":"ZeroRouterAddress","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyDirectCalls\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"RouterCallFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TloadTestContractDeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroRouterAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ROUTER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"__activateTstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Shun Kakinoki\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{\"__activateTstore()\":{\"details\":\"External function to activate TSTORE usage. Does not need to be called if TSTORE is supported from deployment, and only needs to be called once. Reverts if TSTORE has already been activated or if the opcode is not available. Note that this must be called directly from an externally-owned account to avoid potential reentrancy issues.\"},\"constructor\":{\"params\":{\"router_\":\"The address of the router to forward calls to\"}},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}}},\"title\":\"TrailsRouterShim\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ROUTER()\":{\"notice\":\"Address of the deployed TrailsMulticall3Router to forward calls to\"},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"}},\"notice\":\"Sequence delegate-call extension that forwards Trails router calls and records success sentinels.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/TrailsRouterShim.sol\":\"TrailsRouterShim\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"61016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033","sourceMap":"476:2708:56:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;476:2708:56;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;476:2708:56;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;476:2708:56;;;-1:-1:-1;;;;;476:2708:56;;;;;;;;;;:::o;:::-;;:::i;1411:125::-;784:4:57;776:13;;2931:19:49;;:::i;:::-;-1:-1:-1;;;;;476:2708:56;;3014:31:49;3010:104;;3197:29;;;:::i;:::-;3237:647;;;;3433:10;3418:25;;3472:10;3457:25;;3513:12;3496:29;;3237:647;3894:44;;4029:38;;-1:-1:-1;;;;;476:2708:56;;1454:21;1450:53;;1513:16;;1411:125::o;1450:53::-;1484:19;;;3043:1:49;1484:19:56;;3043:1:49;1484:19:56;3237:647:49;3722:30;3707:45;;3781:29;3766:44;;3841:32;3824:49;;3237:647;;3010:104;3068:35;;;3043:1;3068:35;;3043:1;3068:35;8602:494;8755:335;;;;;;;8602:494;:::o;9346:407::-;-1:-1:-1;9346:407:49;;;;9738:2;9726:9;476:2708:56;9691:55:49;476:2708:56;;;;;-1:-1:-1;;;;;476:2708:56;;;;;;;;-1:-1:-1;;476:2708:56;;;;:::i;:::-;;;;-1:-1:-1;476:2708:56;;;;;9346:407:49;:::o;476:2708:56:-;9346:407:49;:::o","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033","sourceMap":"476:2708:56:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1781:856;;;476:2708;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1781:856;:::i;476:2708::-;-1:-1:-1;476:2708:56;;;;;;;;;;;;;;831:31;476:2708;;;;;;;;;;;;;;;;;4635:9:49;4621:10;:23;4617:78;;4770:21;:39;;;;476:2708:56;4766:101:49;;4948:31;476:2708:56;4960:18:49;;;;9738:2;9726:9;476:2708:56;9691:55:49;;;:::i;:::-;-1:-1:-1;4948:31:49;;476:2708:56;4948:31:49;4944:89;;5080:21;5097:4;476:2708:56;;;;;;;;5080:21:49;476:2708:56;4944:89:49;5002:20;476:2708:56;5002:20:49;476:2708:56;;5002:20:49;4766:101;4832:24;476:2708:56;4832:24:49;476:2708:56;;4832:24:49;4770:39;476:2708:56;;;;;4770:39:49;;4617:78;4667:17;476:2708:56;4667:17:49;476:2708:56;;4667:17:49;1057:75:57;;;;;;;476:2708:56;1460:5:57;476:2708:56;1451:4:57;1443:22;1439:52;;2200:34:56;;476:2708;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;2439:37;476:2708;-1:-1:-1;476:2708:56;;2315:34;476:2708;;2505:31;476:2708;;;;;;;;;;;;2315:34;;:::i;:::-;2439:37;479:48:62;983:133;;;;;;;780:342;;2439:37:56;2486:12;2505:31;:::i;:::-;476:2708;2548:83;;;;;1439:52:57;1474:17;;;;;;476:2708:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;476:2708:56;;;;:::o;:::-;;;:::o;2889:293::-;3037:42;;;;;;;;;:6;:42;;;;:::i;:::-;3093:8;;3089:67;;2889:293;:::o;3089:67::-;476:2708;3037:42;476:2708;;;;;3124:21;;;;;;;;;;476:2708;;;;;;;;;;;;;;;;3037:42;476:2708;;;;;;;;;;3124:21;;;;476:2708;;;;;;;581:1:62;;;476:2708:56;;;;;;;;;;581:1:62;5514:59:49;;476:2708:56:o;:::-;;581:1:62;476:2708:56;;6052:14:49;476:2708:56;;6048:208:49;476:2708:56;;;6082:67:49;476:2708:56:o;6048:208:49:-;6179:67;476:2708:56:o","linkReferences":{},"immutableReferences":{"48741":[{"start":416,"length":32}],"48743":[{"start":365,"length":32}],"48751":[{"start":877,"length":32}],"50992":[{"start":269,"length":32},{"start":1186,"length":32}],"51119":[{"start":677,"length":32}]}},"methodIdentifiers":{"ROUTER()":"32fe7b26","__activateTstore()":"7423eb3c","handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c"}}}},"src/guards/DelegatecallGuard.sol":{"DelegatecallGuard":{"abi":[{"type":"error","name":"NotDelegateCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"}],\"devdoc\":{\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_SELF\":{\"details\":\"Cached address of this contract to detect delegatecall context\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract providing a reusable delegatecall-only guard.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/guards/DelegatecallGuard.sol\":\"DelegatecallGuard\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"src/interfaces/IMulticall3.sol":{"IMulticall3":{"abi":[{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Matches the canonical implementation deployed at `0xcA11bde05977b3631167028862bE2a173976CA11`.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMulticall3\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal subset of Multicall3 used by Trails router.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71"}}}},"src/interfaces/ITrailsIntentEntrypoint.sol":{"ITrailsIntentEntrypoint":{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TRAILS_INTENT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"depositToIntent","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"intentAddress","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"feeAmount","type":"uint256","internalType":"uint256"},{"name":"feeCollector","type":"address","internalType":"address"},{"name":"sigV","type":"uint8","internalType":"uint8"},{"name":"sigR","type":"bytes32","internalType":"bytes32"},{"name":"sigS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositToIntentWithPermit","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"permitAmount","type":"uint256","internalType":"uint256"},{"name":"intentAddress","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"feeAmount","type":"uint256","internalType":"uint256"},{"name":"feeCollector","type":"address","internalType":"address"},{"name":"permitV","type":"uint8","internalType":"uint8"},{"name":"permitR","type":"bytes32","internalType":"bytes32"},{"name":"permitS","type":"bytes32","internalType":"bytes32"},{"name":"sigV","type":"uint8","internalType":"uint8"},{"name":"sigR","type":"bytes32","internalType":"bytes32"},{"name":"sigS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonces","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"FeePaid","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"feeToken","type":"address","indexed":true,"internalType":"address"},{"name":"feeAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"feeCollector","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"IntentDeposit","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"intentAddress","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"name\":\"FeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"IntentDeposit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TRAILS_INTENT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"}],\"name\":\"depositToIntent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"permitAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"permitV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"permitR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"permitS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"}],\"name\":\"depositToIntentWithPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"FeePaid(address,address,uint256,address)\":{\"params\":{\"feeAmount\":\"The amount of the fee paid.\",\"feeCollector\":\"The address receiving the fee.\",\"feeToken\":\"The ERC-20 token used to pay the fee.\",\"user\":\"The account from which the fee was taken.\"}},\"IntentDeposit(address,address,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited\",\"intentAddress\":\"The intent address receiving the deposit\",\"user\":\"The user making the deposit\"}}},\"kind\":\"dev\",\"methods\":{\"depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)\":{\"params\":{\"amount\":\"The amount to deposit\",\"deadline\":\"The intent deadline\",\"feeAmount\":\"The amount of fee to pay (0 for no fee, paid in same token)\",\"feeCollector\":\"The address to receive the fee (address(0) for no fee)\",\"intentAddress\":\"The intent address to deposit to\",\"nonce\":\"The nonce for this user\",\"sigR\":\"The intent signature r component\",\"sigS\":\"The intent signature s component\",\"sigV\":\"The intent signature v component\",\"token\":\"The token to deposit (also used for fee payment)\",\"user\":\"The user making the deposit\"}},\"depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)\":{\"params\":{\"amount\":\"The amount to deposit\",\"deadline\":\"The permit deadline\",\"feeAmount\":\"The amount of fee to pay (0 for no fee, paid in same token)\",\"feeCollector\":\"The address to receive the fee (address(0) for no fee)\",\"intentAddress\":\"The intent address to deposit to\",\"nonce\":\"The nonce for this user\",\"permitAmount\":\"The amount to permit for spending (amount + feeAmount if paying fee)\",\"permitR\":\"The permit signature r component\",\"permitS\":\"The permit signature s component\",\"permitV\":\"The permit signature v component\",\"sigR\":\"The intent signature r component\",\"sigS\":\"The intent signature s component\",\"sigV\":\"The intent signature v component\",\"token\":\"The token to deposit (also used for fee payment)\",\"user\":\"The user making the deposit\"}},\"nonces(address)\":{\"params\":{\"user\":\"The user address to query.\"}}},\"title\":\"ITrailsIntentEntrypoint\",\"version\":1},\"userdoc\":{\"events\":{\"FeePaid(address,address,uint256,address)\":{\"notice\":\"Emitted when a fee is paid.\"},\"IntentDeposit(address,address,uint256)\":{\"notice\":\"Emitted when a user deposits tokens to an intent address\"}},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"Returns the EIP-712 domain separator used for intent signatures. forge-lint: disable-next-line(mixed-case-function)\"},\"TRAILS_INTENT_TYPEHASH()\":{\"notice\":\"Returns the trails intent typehash constant used in EIP-712 signatures. forge-lint: disable-next-line(mixed-case-function)\"},\"VERSION()\":{\"notice\":\"Returns the version string of the contract. forge-lint: disable-next-line(mixed-case-function)\"},\"depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)\":{\"notice\":\"Deposit tokens to an intent address (requires prior approval)\"},\"depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)\":{\"notice\":\"Deposit tokens to an intent address using ERC20 permit\"},\"nonces(address)\":{\"notice\":\"Returns the current nonce for a given user.\"}},\"notice\":\"Interface for the TrailsIntentEntrypoint contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/ITrailsIntentEntrypoint.sol\":\"ITrailsIntentEntrypoint\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","TRAILS_INTENT_TYPEHASH()":"f3961040","VERSION()":"ffa1ad74","depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)":"3525916f","depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)":"358a8f48","nonces(address)":"7ecebe00"}}}},"src/interfaces/ITrailsRouter.sol":{"ITrailsRouter":{"abi":[{"type":"function","name":"execute","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"startingGas","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"},{"name":"numCalls","type":"uint256","internalType":"uint256"},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"injectAndCall","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"injectSweepAndCall","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"pullAmountAndExecute","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"pullAndExecute","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"refundAndSweep","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"refundRecipient","type":"address","internalType":"address"},{"name":"refundAmount","type":"uint256","internalType":"uint256"},{"name":"sweepRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"sweep","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"validateOpHashAndSweep","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"token","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"ActualRefund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"expected","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actual","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BalanceInjectorCall","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"placeholder","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amountReplaced","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOffset","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"result","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Refund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RefundAndSweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"refundRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"refundAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sweepRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"actualRefund","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"remaining","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Sweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"ActualRefund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReplaced\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"BalanceInjectorCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"refundRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sweepRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualRefund\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"name\":\"RefundAndSweep\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Sweep\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"injectAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"injectSweepAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"pullAmountAndExecute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"pullAndExecute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"sweepRecipient\",\"type\":\"address\"}],\"name\":\"refundAndSweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"validateOpHashAndSweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"execute(bytes)\":{\"details\":\"Delegates to Multicall3 to preserve msg.sender context.\",\"params\":{\"data\":\"The data to execute.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}},\"injectAndCall(address,address,bytes,uint256,bytes32)\":{\"params\":{\"amountOffset\":\"The byte offset in calldata where the placeholder is located.\",\"callData\":\"The original calldata (must include a 32-byte placeholder).\",\"placeholder\":\"The 32-byte placeholder that will be replaced with balance.\",\"target\":\"The address to call with modified calldata.\",\"token\":\"The ERC-20 token to sweep, or address(0) for ETH.\"}},\"injectSweepAndCall(address,address,bytes,uint256,bytes32)\":{\"details\":\"Transfers tokens from msg.sender to this contract first.\",\"params\":{\"amountOffset\":\"The byte offset in calldata where the placeholder is located.\",\"callData\":\"The original calldata (must include a 32-byte placeholder).\",\"placeholder\":\"The 32-byte placeholder that will be replaced with balance.\",\"target\":\"The address to call with modified calldata.\",\"token\":\"The ERC-20 token to sweep, or address(0) for ETH.\"}},\"pullAmountAndExecute(address,uint256,bytes)\":{\"details\":\"For ERC20: requires prior approval. For ETH: requires msg.value.\",\"params\":{\"amount\":\"The amount to pull.\",\"data\":\"The calldata for Multicall3.\",\"token\":\"The ERC20 token to pull, or address(0) for ETH.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"pullAndExecute(address,bytes)\":{\"details\":\"For ERC20: pulls entire balance and requires prior approval. For ETH: uses msg.value.\",\"params\":{\"data\":\"The calldata for Multicall3.\",\"token\":\"The ERC20 token to pull, or address(0) for ETH.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"refundAndSweep(address,address,uint256,address)\":{\"details\":\"For delegatecall context.\",\"params\":{\"refundAmount\":\"Maximum amount to refund.\",\"refundRecipient\":\"Address receiving the refund portion.\",\"sweepRecipient\":\"Address receiving the remaining balance.\",\"token\":\"The token address to operate on. Use address(0) for native.\"}},\"sweep(address,address)\":{\"details\":\"For delegatecall context. Transfers all tokens/ETH held by the wallet to the recipient.\",\"params\":{\"recipient\":\"The address to send the swept tokens to.\",\"token\":\"The address of the token to sweep. Use address(0) for the native token.\"}},\"validateOpHashAndSweep(bytes32,address,address)\":{\"details\":\"For delegatecall context. Used to ensure prior operation succeeded.\",\"params\":{\"opHash\":\"The operation hash to validate.\",\"recipient\":\"The recipient of the sweep.\",\"token\":\"The token to sweep.\"}}},\"title\":\"ITrailsRouter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"execute(bytes)\":{\"notice\":\"Delegates to Multicall3 to preserve msg.sender context.\"},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"},\"injectAndCall(address,address,bytes,uint256,bytes32)\":{\"notice\":\"Injects balance and calls target (for delegatecall context).\"},\"injectSweepAndCall(address,address,bytes,uint256,bytes32)\":{\"notice\":\"Sweeps tokens from msg.sender and calls target with modified calldata.\"},\"pullAmountAndExecute(address,uint256,bytes)\":{\"notice\":\"Pull specific amount of tokens from msg.sender, then delegatecall into Multicall3.\"},\"pullAndExecute(address,bytes)\":{\"notice\":\"Pull tokens from msg.sender, then delegatecall into Multicall3.\"},\"refundAndSweep(address,address,uint256,address)\":{\"notice\":\"Refunds up to `_refundAmount` to `_refundRecipient`, then sweeps any remaining balance to `_sweepRecipient`.\"},\"sweep(address,address)\":{\"notice\":\"Sweeps the entire balance to recipient.\"},\"validateOpHashAndSweep(bytes32,address,address)\":{\"notice\":\"Validates that the success sentinel for an opHash is set, then sweeps tokens.\"}},\"notice\":\"Interface describing the delegate-call router utilities exposed to Sequence wallets.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/ITrailsRouter.sol\":\"ITrailsRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"execute(bytes)":"09c5eabe","handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c","injectAndCall(address,address,bytes,uint256,bytes32)":"5b5e6516","injectSweepAndCall(address,address,bytes,uint256,bytes32)":"c5e5153b","pullAmountAndExecute(address,uint256,bytes)":"a9baaaf5","pullAndExecute(address,bytes)":"7a7eeb4f","refundAndSweep(address,address,uint256,address)":"4784226e","sweep(address,address)":"b8dc491b","validateOpHashAndSweep(bytes32,address,address)":"2a3ee126"}}}},"src/interfaces/ITrailsRouterShim.sol":{"ITrailsRouterShim":{"abi":[{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"startingGas","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"},{"name":"numCalls","type":"uint256","internalType":"uint256"},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}}},\"title\":\"ITrailsRouterShim\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"}},\"notice\":\"Interface for the router shim that bridges Sequence wallets to the Trails router.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/ITrailsRouterShim.sol\":\"ITrailsRouterShim\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c"}}}},"src/libraries/TrailsSentinelLib.sol":{"TrailsSentinelLib":{"abi":[{"type":"function","name":"SENTINEL_NAMESPACE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SUCCESS_VALUE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"SENTINEL_NAMESPACE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SUCCESS_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/TrailsSentinelLib.sol\":\"TrailsSentinelLib\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460185760ec908161001d823930815050f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c90816368eca91314606657506388cf2ff514602f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606257602060405160018152f35b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606257807f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e260209252f3fea2646970667358221220e4df0de69517e1658977868b708f519a1c1bd960f299501fa91a5624c38427fd64736f6c634300081e0033","sourceMap":"223:901:62:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156011575f80fd5b5f3560e01c90816368eca91314606657506388cf2ff514602f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606257602060405160018152f35b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606257807f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e260209252f3fea2646970667358221220e4df0de69517e1658977868b708f519a1c1bd960f299501fa91a5624c38427fd64736f6c634300081e0033","sourceMap":"223:901:62:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;581:1;223:901;;;;;;;;;;;;;;;;479:48;223:901;;;","linkReferences":{}},"methodIdentifiers":{"SENTINEL_NAMESPACE()":"68eca913","SUCCESS_VALUE()":"88cf2ff5"}}}},"test/TrailsIntentEntrypoint.t.sol":{"MockERC20Permit":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC2612ExpiredSignature","inputs":[{"name":"deadline","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC2612InvalidSigner","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also applies here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsIntentEntrypoint.t.sol\":\"MockERC20Permit\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xa9380c9153e675a27f8c9c91e2257adc118c949df4c79d5b3f36c3b73c31b62d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07862a858180dabc42732598b9ae2e53b7a4081c9b71c7b003d157e666536171\",\"dweb:/ipfs/QmYuke2jfrFKMvYg4CAbaPwF7NBvTPpMUXzN9PQS31xKCf\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0xea0bf00d811fe84ecfac7ae8e51810d86db9370a166df05e3ad176a6ec3a161d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89bfa38430954e71af7a94bec6084aa5e341e4aaf349d62f3a4ee017637d7fd\",\"dweb:/ipfs/QmREWDFPc9fChw9TA4ACEZ2b6HXXwZ5auiNPzbwkWV9CbE\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]},\"test/TrailsIntentEntrypoint.t.sol\":{\"keccak256\":\"0xc19acdf97ab2e0b9cd90a4dc10717f49a6231d66eaca022bd17597dd7cce0b49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b3832a03468b60673632d14e2dc98a94d238cb9b4416bd956c634b78d088b1e\",\"dweb:/ipfs/QmY9CjScxyRCUhm6tbYH7PoDKeFQxogr3MWoAZrUpAa48m\"]},\"test/mocks/MockNonStandardERC20.sol\":{\"keccak256\":\"0xb6c02a6add0f642cd85c550be6ed86305a09cb9d01bd0b15070e50112e943fd9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e438e16d33b914174ab53a8317d45ccbaa009496f9349e219c522cb82dfe3987\",\"dweb:/ipfs/QmQQKgZhq7TFBirdYq7zRjo6KpWoS7DE6fgqqaugbsTnu8\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"610160604052346104c6576040516100186040826104ca565b600a8152602081016926b7b1b5902a37b5b2b760b11b81526040519061003f6040836104ca565b600a82526926b7b1b5902a37b5b2b760b11b6020830152604051926100656040856104ca565b60038452624d544b60e81b6020850152604051936100846040866104ca565b60018552603160f81b60208601908152845190946001600160401b0382116103c95760035490600182811c921680156104bc575b60208310146103ab5781601f84931161044e575b50602090601f83116001146103e8575f926103dd575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103c95760045490600182811c921680156103bf575b60208310146103ab5781601f84931161033d575b50602090601f83116001146102d7575f926102cc575b50508160011b915f199060031b1c1916176004555b610162816104ed565b6101205261016f84610674565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526101d860c0826104ca565b5190206080523060c05233156102b95760025469d3c21bcecceda100000081018091116102a557600255335f525f60205260405f2069d3c21bcecceda1000000815401905560405169d3c21bcecceda100000081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a36040516110a790816107ad823960805181610cec015260a05181610da9015260c05181610cbd015260e05181610d3b01526101005181610d610152610120518161048f015261014051816104b80152f35b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b015190505f80610144565b60045f9081528281209350601f198516905b818110610325575090846001959493921061030d575b505050811b01600455610159565b01515f1960f88460031b161c191690555f80806102ff565b929360206001819287860151815501950193016102e9565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106103a1575b90601f859493920160051c01905b818110610393575061012e565b5f8155849350600101610386565b9091508190610378565b634e487b7160e01b5f52602260045260245ffd5b91607f169161011a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100e2565b60035f9081528281209350601f198516905b818110610436575090846001959493921061041e575b505050811b016003556100f7565b01515f1960f88460031b161c191690555f8080610410565b929360206001819287860151815501950193016103fa565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106104b2575b90601f859493920160051c01905b8181106104a457506100cc565b5f8155849350600101610497565b9091508190610489565b91607f16916100b8565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103c957604052565b908151602081105f14610567575090601f815111610527576020815191015160208210610518571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116103c957600554600181811c9116801561066a575b60208210146103ab57601f8111610637575b50602092601f82116001146105d657928192935f926105cb575b50508160011b915f199060031b1c19161760055560ff90565b015190505f806105b2565b601f1982169360055f52805f20915f5b86811061061f5750836001959610610607575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f80806105f9565b919260206001819286850151815501940192016105e6565b60055f52601f60205f20910160051c810190601f830160051c015b81811061065f5750610598565b5f8155600101610652565b90607f1690610586565b908151602081105f1461069f575090601f815111610527576020815191015160208210610518571790565b6001600160401b0381116103c957600654600181811c911680156107a2575b60208210146103ab57601f811161076f575b50602092601f821160011461070e57928192935f92610703575b50508160011b915f199060031b1c19161760065560ff90565b015190505f806106ea565b601f1982169360065f52805f20915f5b868110610757575083600195961061073f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610731565b9192602060018192868501518155019401920161071e565b60065f52601f60205f20910160051c810190601f830160051c015b81811061079757506106d0565b5f815560010161078a565b90607f16906106be56fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146108dc57508063095ea7b31461089857806318160ddd1461085d57806323b872dd146106c9578063313ce567146106905780633644e5151461065057806370a08231146105ee5780637ecebe001461058b57806384b0196e1461045957806395d89b411461033b578063a9059cbb146102ec578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e26109df565b73ffffffffffffffffffffffffffffffffffffffff6100ff610a02565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101726109df565b61017a610a02565b604435906064359260843560ff81168103610137578442116102c05761027b61027273ffffffffffffffffffffffffffffffffffffffff9283851697885f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b6040840152878a1660608401528a608084015260a083015260c082015260c0815261022560e082610b16565b519020610230610ca6565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220610eff565b90929192610f99565b16848103610290575061028e9350610dcf565b005b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b847f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306103266109df565b6024359033610b84565b602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60045461037981610a25565b808452906001811690811561041757506001146103b9575b6103b5836103a181850382610b16565b60405191829160208352602083019061099c565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106103fd575090915081016020016103a1610391565b9192600181602092548385880101520191019092916103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103a19050610391565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761052f6104b37f0000000000000000000000000000000000000000000000000000000000000000610e4c565b6104dc7f0000000000000000000000000000000000000000000000000000000000000000610ec8565b602061053d604051926104ef8385610b16565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e087019061099c565b90858203604087015261099c565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061057457505050500390f35b835185528695509381019392810192600101610565565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6105d76109df565b165f526007602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61063a6109df565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020610688610ca6565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160128152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576107006109df565b610708610a02565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610784575b506103309350610b84565b8381106108295784156107fd5733156107d157610330945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610779565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306108d26109df565b6024359033610dcf565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f60035461091781610a25565b8084529060018116908115610417575060011461093e576103b5836103a181850382610b16565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610982575090915081016020016103a1610391565b91926001816020925483858801015201910190929161096a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90600182811c92168015610a6c575b6020831014610a3f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610a34565b5f9291815491610a8583610a25565b8083529260018116908115610ada5750600114610aa157505050565b5f9081526020812093945091925b838310610ac0575060209250010190565b600181602092949394548385870101520191019190610aaf565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b5757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c7a5773ffffffffffffffffffffffffffffffffffffffff16918215610c4e57815f525f60205260405f2054818110610c1c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610da6575b15610d0e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610da060c082610b16565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610ce5565b73ffffffffffffffffffffffffffffffffffffffff169081156107fd5773ffffffffffffffffffffffffffffffffffffffff169182156107d15760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610eab5760ff811690601f8211610e835760405191610e70604084610b16565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610ec581610ebe816005610a76565b0382610b16565b90565b60ff8114610eec5760ff811690601f8211610e835760405191610e70604084610b16565b50604051610ec581610ebe816006610a76565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f8e579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610f83575f5173ffffffffffffffffffffffffffffffffffffffff811615610f7957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156110445780610fab575050565b60018103610fdb577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361100f57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146110195750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212202eaf8d700913bffd8b4934f8b853d9665e68ca4ec536d49359eed7bb1628075364736f6c634300081e0033","sourceMap":"464:184:63:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;464:184:63;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;-1:-1:-1;;;;;464:184:63;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;464:184:63;;;;1671:17:28;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;1671:17:28;464:184:63;;3501:45:43;;;:::i;:::-;3493:53;;3567:51;;;:::i;:::-;3556:62;;464:184:63;3642:22:43;;3628:36;;;;464:184:63;3691:25:43;;3674:42;;;3744:13;3727:30;;464:184:63;;4304:80:43;464:184:63;4304:80:43;;2079:95;;;;464:184:63;2079:95:43;;;;;;;3744:13;2079:95;;;;4378:4;3727:30;2079:95;;464:184:63;3727:30:43;4304:80;;;;;;:::i;:::-;464:184:63;4294:91:43;;2079:95;3767:48;4378:4;4304:80;3825:27;600:10:63;7432:21:28;7428:91;;6137:21;464:184:63;;;;;;;;;6137:21:28;464:184:63;600:10;-1:-1:-1;464:184:63;-1:-1:-1;464:184:63;;;-1:-1:-1;464:184:63;;;;;;;;;;2079:95:43;;-1:-1:-1;6987:25:28;464:184:63;600:10;6987:25:28;;464:184:63;;;;;;;;2079:95:43;464:184:63;;;;;3727:30:43;464:184:63;;;;;4304:80:43;464:184:63;;;;;3628:36:43;464:184:63;;;;;3674:42:43;464:184:63;;;;;3493:53:43;464:184:63;;;;;3556:62:43;464:184:63;;;;;;;;;;-1:-1:-1;464:184:63;;1671:17:28;464:184:63;;-1:-1:-1;464:184:63;7428:91:28;7476:32;;;-1:-1:-1;7476:32:28;-1:-1:-1;1671:17:28;464:184:63;;-1:-1:-1;7476:32:28;464:184:63;;;;-1:-1:-1;464:184:63;;;;;1671:17:28;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:28;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:28;-1:-1:-1;464:184:63;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;464:184:63;;;;;;;;-1:-1:-1;464:184:63;;1671:17:28;464:184:63;;-1:-1:-1;464:184:63;;;;;;;;;;;;-1:-1:-1;464:184:63;;1671:17:28;464:184:63;;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;;;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;464:184:63;;;;-1:-1:-1;;;;;464:184:63;;;;;;;;;;:::o;2893:342:39:-;;464:184:63;;3038:4:39;3016:26;;3012:217;3038:4;;;464:184:63;;1854:4:39;464:184:63;;1840:18:39;1836:74;;3038:4;464:184:63;;;;2079:95:43;3038:4:39;464:184:63;;;;1951:36:39;3058:27;:::o;464:184:63:-;;;;3038:4:39;464:184:63;;;;;1951:36:39;3058:27;:::o;1836:74::-;464:184:63;3038:4:39;464:184:63;;;1881:18:39;;;;;;;;;;;;464:184:63;;;;;;;;;;;;;;;;;;;;;;;1854:4:39;464:184:63;-1:-1:-1;;464:184:63;;;1881:18:39;;;;3012:217;-1:-1:-1;;;;;464:184:63;;;;3532:13:43;464:184:63;;;;;;;;;;;3012:217:39;3038:4;464:184:63;;;;;;;;;;3012:217:39;464:184:63;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:13:43;464:184:63;1390:66:39;3176:42;:::o;464:184:63:-;;;;-1:-1:-1;464:184:63;;;;;;;;;;3532:13:43;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:13:43;464:184:63;1390:66:39;3176:42;:::o;464:184:63:-;;;;;;;;;;;;;;;;;;;;;;;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;3532:13:43;464:184:63;;;3038:4:39;464:184:63;;;;3532:13:43;464:184:63;;;;;;;3532:13:43;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;2893:342:39;;464:184:63;;3038:4:39;3016:26;;3012:217;3038:4;;;464:184:63;;1854:4:39;464:184:63;;1840:18:39;1836:74;;3038:4;464:184:63;;;;2079:95:43;3038:4:39;464:184:63;;;;1951:36:39;3058:27;:::o;3012:217::-;-1:-1:-1;;;;;464:184:63;;;;3601:16:43;464:184:63;;;;;;;;;;;3012:217:39;3038:4;464:184:63;;;;;;;;;;3012:217:39;464:184:63;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3601:16:43;464:184:63;1390:66:39;3176:42;:::o;464:184:63:-;;;;-1:-1:-1;464:184:63;;;;;;;;;;3601:16:43;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;3601:16:43;464:184:63;1390:66:39;3176:42;:::o;464:184:63:-;;;;;;;;;;;;;;;;;;;;;;;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;3601:16:43;464:184:63;;;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146108dc57508063095ea7b31461089857806318160ddd1461085d57806323b872dd146106c9578063313ce567146106905780633644e5151461065057806370a08231146105ee5780637ecebe001461058b57806384b0196e1461045957806395d89b411461033b578063a9059cbb146102ec578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e26109df565b73ffffffffffffffffffffffffffffffffffffffff6100ff610a02565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101726109df565b61017a610a02565b604435906064359260843560ff81168103610137578442116102c05761027b61027273ffffffffffffffffffffffffffffffffffffffff9283851697885f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b6040840152878a1660608401528a608084015260a083015260c082015260c0815261022560e082610b16565b519020610230610ca6565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220610eff565b90929192610f99565b16848103610290575061028e9350610dcf565b005b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b847f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306103266109df565b6024359033610b84565b602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60045461037981610a25565b808452906001811690811561041757506001146103b9575b6103b5836103a181850382610b16565b60405191829160208352602083019061099c565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106103fd575090915081016020016103a1610391565b9192600181602092548385880101520191019092916103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103a19050610391565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761052f6104b37f0000000000000000000000000000000000000000000000000000000000000000610e4c565b6104dc7f0000000000000000000000000000000000000000000000000000000000000000610ec8565b602061053d604051926104ef8385610b16565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e087019061099c565b90858203604087015261099c565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061057457505050500390f35b835185528695509381019392810192600101610565565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6105d76109df565b165f526007602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61063a6109df565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020610688610ca6565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160128152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576107006109df565b610708610a02565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610784575b506103309350610b84565b8381106108295784156107fd5733156107d157610330945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610779565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306108d26109df565b6024359033610dcf565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f60035461091781610a25565b8084529060018116908115610417575060011461093e576103b5836103a181850382610b16565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610982575090915081016020016103a1610391565b91926001816020925483858801015201910190929161096a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90600182811c92168015610a6c575b6020831014610a3f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610a34565b5f9291815491610a8583610a25565b8083529260018116908115610ada5750600114610aa157505050565b5f9081526020812093945091925b838310610ac0575060209250010190565b600181602092949394548385870101520191019190610aaf565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b5757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c7a5773ffffffffffffffffffffffffffffffffffffffff16918215610c4e57815f525f60205260405f2054818110610c1c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610da6575b15610d0e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610da060c082610b16565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610ce5565b73ffffffffffffffffffffffffffffffffffffffff169081156107fd5773ffffffffffffffffffffffffffffffffffffffff169182156107d15760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610eab5760ff811690601f8211610e835760405191610e70604084610b16565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610ec581610ebe816005610a76565b0382610b16565b90565b60ff8114610eec5760ff811690601f8211610e835760405191610e70604084610b16565b50604051610ec581610ebe816006610a76565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f8e579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610f83575f5173ffffffffffffffffffffffffffffffffffffffff811615610f7957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156110445780610fab575050565b60018103610fdb577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361100f57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146110195750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212202eaf8d700913bffd8b4934f8b853d9665e68ca4ec536d49359eed7bb1628075364736f6c634300081e0033","sourceMap":"464:184:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3561:11:28;464:184:63;;;;;;3561:27:28;464:184:63;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;1871:15:30;;:26;1867:97;;9044:8:42;8990:25;464:184:63;;;;;;;;;1121:7:36;464:184:63;;;;;;;;;;;;;;;;2005:78:30;464:184:63;2005:78:30;;464:184:63;1024:95:30;464:184:63;;1024:95:30;464:184:63;1024:95:30;;464:184:63;;;;;1024:95:30;;464:184:63;1024:95:30;464:184:63;1024:95:30;;464:184:63;;1024:95:30;;464:184:63;;1024:95:30;;464:184:63;;2005:78:30;;;464:184:63;2005:78:30;;:::i;:::-;464:184:63;1995:89:30;;5153:20:43;;:::i;:::-;3993:249:44;464:184:63;3993:249:44;;;;;;;;;;;;;464:184:63;;;3993:249:44;464:184:63;;3993:249:44;;8990:25:42;:::i;:::-;9044:8;;;;;:::i;:::-;464:184:63;2208:15:30;;;2204:88;;8746:4:28;;;;;:::i;:::-;464:184:63;2204:88:30;2246:35;;;464:184:63;2246:35:30;464:184:63;;;;;;2246:35:30;1867:97;1920:33;;464:184:63;1920:33:30;464:184:63;;;;1920:33:30;464:184:63;;;;;;;;;;;3388:5:28;464:184:63;;:::i;:::-;;;735:10:35;;3388:5:28;:::i;:::-;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;464:184:63;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;6183:41:43;:5;:41;:::i;:::-;6638:47;:8;:47;:::i;:::-;464:184:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5674:13:43;464:184:63;;;;5709:4:43;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;624:7:36;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2691:20:30;;:::i;:::-;464:184:63;;;;;;;;;;;;;;;;;;;;2761:2:28;464:184:63;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;735:10:35;464:184:63;-1:-1:-1;464:184:63;;;;-1:-1:-1;464:184:63;;10505:17:28;10486:36;;10482:309;;464:184:63;4890:5:28;;;;;:::i;10482:309::-;10542:24;;;10538:130;;9719:19;;9715:89;;735:10:35;9817:21:28;9813:90;;4890:5;464:184:63;;;;;;;;;;735:10:35;464:184:63;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;;;;;10482:309:28;;;9813:90;9861:31;464:184:63;9861:31:28;464:184:63;;;;;9861:31:28;9715:89;9761:32;464:184:63;9761:32:28;464:184:63;;;;;9761:32:28;10538:130;10593:60;;;464:184:63;10593:60:28;735:10:35;464:184:63;;;;;;;;10593:60:28;464:184:63;;;;;;;;;;;;2881:12:28;464:184:63;;;;;;;;;;;;;;;;;;8746:4:28;464:184:63;;:::i;:::-;;;735:10:35;;8746:4:28;:::i;464:184:63:-;;;;;;;;;;;;1837:5:28;464:184:63;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:28;464:184:63;;;;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;464:184:63;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;464:184:63;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;5297:300:28;464:184:63;;5380:18:28;;;5376:86;;464:184:63;;5475:16:28;;;5471:86;;464:184:63;5396:1:28;464:184:63;5396:1:28;464:184:63;;;5396:1:28;464:184:63;;6244:19:28;;;6240:115;;464:184:63;6987:25:28;464:184:63;;;;5396:1:28;464:184:63;5396:1:28;464:184:63;;;;5396:1:28;464:184:63;;;5396:1:28;464:184:63;5396:1:28;464:184:63;;;5396:1:28;464:184:63;;;;;;;;;;;;6987:25:28;5297:300::o;6240:115::-;6290:50;;5396:1;6290:50;;464:184:63;;;;;;5396:1:28;6290:50;5471:86;5514:32;5396:1;5514:32;5396:1;5514:32;464:184:63;;5396:1:28;5514:32;5376:86;5421:30;5396:1;5421:30;5396:1;5421:30;464:184:63;;5396:1:28;5421:30;3945:262:43;464:184:63;4038:11:43;464:184:63;4029:4:43;4021:28;:63;;;3945:262;4017:184;;;4107:22;4100:29;:::o;4017:184::-;464::63;;4304:80:43;;;464:184:63;2079:95:43;464:184:63;;4326:11:43;464:184:63;2079:95:43;;464:184:63;4339:14:43;2079:95;;;464:184:63;4355:13:43;2079:95;;;464:184:63;4029:4:43;2079:95;;;464:184:63;2079:95:43;4304:80;;;;;;:::i;:::-;464:184:63;4294:91:43;;4160:30;:::o;4021:63::-;4070:14;;4053:13;:31;4021:63;;9607:432:28;464:184:63;;9719:19:28;;;9715:89;;464:184:63;;9817:21:28;;;9813:90;;464:184:63;9991:31:28;464:184:63;;9736:1:28;464:184:63;8746:4:28;464:184:63;;;9736:1:28;464:184:63;;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;;;;;;;9991:31:28;9607:432::o;3376:267:39:-;1390:66;3499:46;;1390:66;;;2629:40;;2683:13;2692:4;2683:13;;2679:71;;464:184:63;;;;;;;:::i;:::-;2313:4:39;464:184:63;;;;;;;;;;;2328:106:39;;;3561:22;:::o;2679:71::-;2719:20;-1:-1:-1;2719:20:39;;-1:-1:-1;2719:20:39;3495:142;464:184:63;;;1390:66:39;;;;6210:13:43;1390:66:39;:::i;:::-;;;;:::i;:::-;3614:12;:::o;3376:267::-;1390:66;3499:46;;1390:66;;;2629:40;;2683:13;2692:4;2683:13;;2679:71;;464:184:63;;;;;;;:::i;3495:142:39:-;464:184:63;;;1390:66:39;;;;6668:16:43;1390:66:39;:::i;7142:1551:42:-;;;8222:66;8209:79;;8205:164;;464:184:63;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;8480:24:42;;;;;;;;;-1:-1:-1;8480:24:42;464:184:63;;;8518:20:42;8514:113;;8637:49;-1:-1:-1;8637:49:42;-1:-1:-1;7142:1551:42;:::o;8514:113::-;8554:62;-1:-1:-1;8554:62:42;8480:24;8554:62;-1:-1:-1;8554:62:42;:::o;8480:24::-;464:184:63;;;-1:-1:-1;464:184:63;;;;;8205:164:42;8304:54;;;8320:1;8304:54;8324:30;8304:54;;:::o;11374:532::-;464:184:63;;;;;;11460:29:42;;;11505:7;;:::o;11456:444::-;464:184:63;11556:38:42;;464:184:63;;11617:23:42;11469:20;11617:23;464:184:63;11469:20:42;11617:23;11552:348;11670:35;11661:44;;11670:35;;11728:46;;11469:20;11728:46;464:184:63;;;11469:20:42;11728:46;11657:243;11804:30;11795:39;11791:109;;11657:243;11374:532::o;11791:109::-;11857:32;11469:20;11857:32;464:184:63;;;11469:20:42;11857:32;464:184:63;;11469:20:42;464:184:63;;;;;11469:20:42;464:184:63","linkReferences":{},"immutableReferences":{"44871":[{"start":3308,"length":32}],"44873":[{"start":3497,"length":32}],"44875":[{"start":3261,"length":32}],"44877":[{"start":3387,"length":32}],"44879":[{"start":3425,"length":32}],"44882":[{"start":1167,"length":32}],"44885":[{"start":1208,"length":32}]}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","eip712Domain()":"84b0196e","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}},"TrailsIntentEntrypointTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"entrypoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract TrailsIntentEntrypoint"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAssemblyCodeExecution","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testConstructor","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testConstructorAndDomainSeparator","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testDepositToIntentAlreadyUsed","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentCannotReuseDigest","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentExpiredDeadline","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentReentrancyProtection","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentRequiresNonZeroAmount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentRequiresValidToken","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentTransferFromFails","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithFeeAmountButNoCollector_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithFeeCollectorButNoAmount_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitAlreadyUsed","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitExpiredDeadline","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitReentrancyProtection","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitRequiresNonZeroAmount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitRequiresPermitAmount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitRequiresValidToken","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitTransferFromFails","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitWrongSigner","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithoutPermit_RequiresIntentAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWrongSigner","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntent_WithNonStandardERC20AndFee_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntent_WithNonStandardERC20_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExactApprovalFlow","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithPermit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithPermitExpired","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithPermitInvalidSignature","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithPermit_permit_frontrun","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testFeeCollectorReceivesFees","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testFeeCollectorReceivesFeesWithoutPermit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInfiniteApprovalFlow","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testIntentTypehashConstant","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testInvalidNonceReverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testNonceIncrementsOnDeposit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testPermitAmountExcessiveWithFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testPermitAmountInsufficientWithFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testVersionConstant","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20Permit"}],"stateMutability":"view"},{"type":"function","name":"user","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"userPrivateKey","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"FeePaid","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"feeToken","type":"address","indexed":true,"internalType":"address"},{"name":"feeAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"feeCollector","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"name\":\"FeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entrypoint\",\"outputs\":[{\"internalType\":\"contract TrailsIntentEntrypoint\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAssemblyCodeExecution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testConstructor\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testConstructorAndDomainSeparator\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentAlreadyUsed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentCannotReuseDigest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentExpiredDeadline\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentReentrancyProtection\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentRequiresNonZeroAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentRequiresValidToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentTransferFromFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithFeeAmountButNoCollector_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithFeeCollectorButNoAmount_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitAlreadyUsed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitExpiredDeadline\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitReentrancyProtection\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitRequiresNonZeroAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitRequiresPermitAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitRequiresValidToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitTransferFromFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitWrongSigner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithoutPermit_RequiresIntentAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWrongSigner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntent_WithNonStandardERC20AndFee_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntent_WithNonStandardERC20_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExactApprovalFlow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithPermitExpired\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithPermitInvalidSignature\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithPermit_permit_frontrun\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFeeCollectorReceivesFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFeeCollectorReceivesFeesWithoutPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInfiniteApprovalFlow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testIntentTypehashConstant\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInvalidNonceReverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testNonceIncrementsOnDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testPermitAmountExcessiveWithFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testPermitAmountInsufficientWithFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testVersionConstant\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20Permit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"userPrivateKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"testDepositToIntentWithFeeAmountButNoCollector_Reverts()\":{\"details\":\"Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)\"},\"testDepositToIntentWithFeeCollectorButNoAmount_Reverts()\":{\"details\":\"Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)\"},\"testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts()\":{\"details\":\"Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)\"},\"testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts()\":{\"details\":\"Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)\"},\"testDepositToIntent_WithNonStandardERC20AndFee_Success()\":{\"details\":\"Verifies SafeERC20.safeTransferFrom handles both deposit and fee transfers correctly\"},\"testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts()\":{\"details\":\"Verifies SafeERC20.safeTransferFrom properly reverts when allowance is too low\"},\"testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts()\":{\"details\":\"Verifies SafeERC20.safeTransferFrom properly reverts when non-standard token transfer fails\"},\"testDepositToIntent_WithNonStandardERC20_Success()\":{\"details\":\"Verifies SafeERC20.safeTransferFrom works with tokens that don't return boolean\"},\"testPermitAmountExcessiveWithFee()\":{\"details\":\"Validates permitAmount != amount + feeAmount check (excess case)\"},\"testPermitAmountInsufficientWithFee()\":{\"details\":\"Validates permitAmount != amount + feeAmount check (insufficient case)\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"testDepositToIntentWithFeeAmountButNoCollector_Reverts()\":{\"notice\":\"Test that depositToIntent reverts when feeAmount is provided but feeCollector is not\"},\"testDepositToIntentWithFeeCollectorButNoAmount_Reverts()\":{\"notice\":\"Test that depositToIntent reverts when feeCollector is provided but feeAmount is not\"},\"testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts()\":{\"notice\":\"Test that depositToIntentWithPermit reverts when feeAmount is provided but feeCollector is not\"},\"testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts()\":{\"notice\":\"Test that depositToIntentWithPermit reverts when feeCollector is provided but feeAmount is not\"},\"testDepositToIntent_WithNonStandardERC20AndFee_Success()\":{\"notice\":\"Test depositToIntent with non-standard ERC20 token and fee\"},\"testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts()\":{\"notice\":\"Test depositToIntent with non-standard ERC20 when allowance is insufficient\"},\"testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts()\":{\"notice\":\"Test depositToIntent with non-standard ERC20 when transfer fails\"},\"testDepositToIntent_WithNonStandardERC20_Success()\":{\"notice\":\"Test depositToIntent with non-standard ERC20 token (like USDT)\"},\"testPermitAmountExcessiveWithFee()\":{\"notice\":\"Test that depositToIntentWithPermit reverts when permit amount exceeds required\"},\"testPermitAmountInsufficientWithFee()\":{\"notice\":\"Test that depositToIntentWithPermit reverts when permit amount is insufficient\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsIntentEntrypoint.t.sol\":\"TrailsIntentEntrypointTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xa9380c9153e675a27f8c9c91e2257adc118c949df4c79d5b3f36c3b73c31b62d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07862a858180dabc42732598b9ae2e53b7a4081c9b71c7b003d157e666536171\",\"dweb:/ipfs/QmYuke2jfrFKMvYg4CAbaPwF7NBvTPpMUXzN9PQS31xKCf\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0xea0bf00d811fe84ecfac7ae8e51810d86db9370a166df05e3ad176a6ec3a161d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89bfa38430954e71af7a94bec6084aa5e341e4aaf349d62f3a4ee017637d7fd\",\"dweb:/ipfs/QmREWDFPc9fChw9TA4ACEZ2b6HXXwZ5auiNPzbwkWV9CbE\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]},\"test/TrailsIntentEntrypoint.t.sol\":{\"keccak256\":\"0xc19acdf97ab2e0b9cd90a4dc10717f49a6231d66eaca022bd17597dd7cce0b49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b3832a03468b60673632d14e2dc98a94d238cb9b4416bd956c634b78d088b1e\",\"dweb:/ipfs/QmY9CjScxyRCUhm6tbYH7PoDKeFQxogr3MWoAZrUpAa48m\"]},\"test/mocks/MockNonStandardERC20.sol\":{\"keccak256\":\"0xb6c02a6add0f642cd85c550be6ed86305a09cb9d01bd0b15070e50112e943fd9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e438e16d33b914174ab53a8317d45ccbaa009496f9349e219c522cb82dfe3987\",\"dweb:/ipfs/QmQQKgZhq7TFBirdYq7zRjo6KpWoS7DE6fgqqaugbsTnu8\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346100ef57600160ff19600c541617600c55600160ff19601f541617601f5563ffa1864960e01b81526401234567896004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561010e575f9161009f575b50602180546001600160a01b0319166001600160a01b039290921691909117905564012345678960225560405162019e8f90816200011a8239f35b905060203d602011610107575b601f8101601f191682016001600160401b038111838210176100f3576020918391604052810103126100ef57516001600160a01b03811681036100ef575f610064565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b503d6100ac565b6040513d5f823e3d90fdfe61010080604052600436101562000014575f80fd5b5f6080525f3560e01c9081630a9254e414620150d7575080630c266cdb146201497157806319835737146201496b5780631e3f2fae146201496b5780631ed7831c14620148b6578063218171d71462013ea357806322b7bf5e14620137b65780632ade388014620135605780632bce844d1462012c8b5780632ce7f6c814620125c05780633532ecd51462011f5a5780633e5e3c231462011ea55780633f7286f41462011df05780634f8632ba1462011d9b57806351a82aa0146201153557806355544ac01462011397578063567902d914620109c0578063572a59b9146200fff757806366d9a9a0146200fe7e57806369ad3c6a146200facb5780636d74fac8146200f4ba578063774345cd146200eb085780637747c190146200e4b25780637806d8ab146200dda7578063804b1836146200d65057806380839499146200cd3657806385226c81146200cc965780638cb2b6bf146200cc575780638db1cdf8146200c5ab578063901dc0e2146200b6b1578063916a17c6146200b5c7578063942c6c0d146200b32e5780639750a94e146200ab1b5780639eed73d6146200a224578063a65d69d4146200a1cc578063a9d982311462009ba1578063ac315011146200934c578063b0464fdc1462009262578063b320b4951462008b3b578063b47752d114620083f1578063b5508aa91462008351578063ba414fa61462008309578063bbaaf0a81462007708578063bdc1b59c1462006e56578063be4671ef14620065a0578063be7d0b2f14620055bf578063c0aa967b1462004ce7578063c13acba01462003f82578063c2e9f2e41462003f28578063c30fff9714620034a4578063ccf5634614620032e3578063cde7e4871462002d1c578063d49421661462002428578063d7284b701462001a8f578063e20c9f7114620019c9578063ef45a94b146200131e578063f56af20a1462000af6578063fa5e81021462000390578063fa7626d4146200034c5763fc0c546a14620002f2575f80fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff815416604051908152f35b60805180fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602060ff601f54166040519015158152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762000ad9575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062000a95575b620004b7915062015f97565b9081600a0291600a83040362000a6457600142019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552826004860152602085602481855afa9485156200092a576080519562000a2a575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5760805192620009ef575b509060049360209260405191848301936080515084526040830152606082015285608082015260805160a08201528760c08201524660e0820152866101008201526080516101208201526080516101408201526101408152620005fb6101608262015f46565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620009ae575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620006b081606281015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262015f46565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051928392839162000971575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb6a75fc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762000954575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff602154169673ffffffffffffffffffffffffffffffffffffffff6020541693873b15620003465760ff94604051997f3525916f000000000000000000000000000000000000000000000000000000008b526080515060048b015260248a015260448901526080516064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a5762000937575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d575b60805180f35b6080516200091b9162015f46565b60805162000346578062000907565b6040513d608051823e3d90fd5b608051620009459162015f46565b60805162000346578062000898565b608051620009629162015f46565b608051620003465786620007b0565b919350506200099c915060603d606011620009a6575b62000993818362015f46565b81019062015fd1565b929091866200071b565b503d62000987565b9091506020813d602011620009e6575b81620009cd6020938362015f46565b81010312620009e2575190620006b06200063d565b5f80fd5b3d9150620009be565b91506020823d60201162000a21575b8162000a0d6020938362015f46565b81010312620009e257905190600462000595565b3d9150620009fe565b9094506020813d60201162000a5b575b8162000a496020938362015f46565b81010312620009e25751938662000552565b3d915062000a3a565b7f4e487b71000000000000000000000000000000000000000000000000000000006080515260116004526024608051fd5b506020813d60201162000ad0575b8162000ab26020938362015f46565b81010312620003465762000aca620004b79162015f88565b620004ab565b3d915062000aa3565b60805162000ae79162015f46565b60805162000346578062000451565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762001301575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620012bd575b62000c1d915062015f97565b908160320291603283040362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062001279575b62000c79915062015f97565b918260050292600584040362000a6457610e1042019283421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481885afa9586156200092a57608051966200123f575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa80156200092a5787916080519162001201575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292841660608401526080830185905261567860a084015260c083018990524660e084015261010083019190915261012082018590525f6101408301529062000dd181610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a5760805192620011c4575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262000e61816062810162000683565b5190209260225493604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958694916200118e575b5062000f3b9160209162000ee3858862015fc3565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301529092839190829081906044820190565b0391608051905af180156200092a576200115a575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200113d575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169773ffffffffffffffffffffffffffffffffffffffff6020541694883b15620003465760ff956040519a7f3525916f000000000000000000000000000000000000000000000000000000008c526080515060048c015260248b015260448a015261567860648a0152608489015260a488015260c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200114b9162015f46565b60805162000346578762000fe5565b620011809060203d60201162001186575b62001177818362015f46565b81019062015fa9565b62000f50565b503d6200116b565b620011b79197506020965062000f3b92945060603d606011620009a65762000993818362015f46565b9790965090939162000ece565b9091506020813d602011620011f8575b81620011e36020938362015f46565b81010312620009e257519062000e6162000e16565b3d9150620011d4565b9150506020813d60201162001236575b81620012206020938362015f46565b81010312620009e25751869062000dd162000d59565b3d915062001211565b9095506020813d60201162001270575b816200125e6020938362015f46565b81010312620009e25751948762000d16565b3d91506200124f565b506020813d602011620012b4575b81620012966020938362015f46565b810103126200034657620012ae62000c799162015f88565b62000c6d565b3d915062001287565b506020813d602011620012f8575b81620012da6020938362015f46565b810103126200034657620012f262000c1d9162015f88565b62000c11565b3d9150620012cb565b6080516200130f9162015f46565b60805162000346578062000bb7565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620019ac575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c166024602073ffffffffffffffffffffffffffffffffffffffff6021541692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528660048301525afa9081156200092a576080519162001974575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a57608051926200193a575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528960048301525afa80156200092a57869160805191620018fc575b50916200160291620015bd620006839462000683604051938492680340aad21b3b70000160208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060405192839160208301958690916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5784608051946080519360805195620018c5575b5062001680918391620165e9565b949093737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7719991e0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620018a8575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d0152680340aad21b3b70000160648d015261567860848d015260a48c015260c48b0152678ac7230489e8000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620018b69162015f46565b60805162000346578862001717565b62001680929650620018ed91955083945060603d606011620009a65762000993818362015f46565b94919690949591509162001672565b9150506020813d60201162001931575b816200191b6020938362015f46565b81010312620009e2575185906200160262001530565b3d91506200190c565b9091506020813d6020116200196b575b81620019596020938362015f46565b81010312620009e257519085620014c9565b3d91506200194a565b90506020813d602011620019a3575b81620019926020938362015f46565b81010312620009e25751836200146b565b3d915062001983565b608051620019ba9162015f46565b608051620003465780620013df565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206015549182815201906015608051527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475906080515b81811062001a625762001a5e8562001a518187038262015f46565b6040519182918262015d15565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162001a36565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a57620023da575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620023bd575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481855afa9384156200092a576080519462002383575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481865afa80156200092a5785916080519162002345575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292871660608401526302faf080608084015261567860a084015260c083018590524660e08401526101008301919091525f61012083018190526101408301529062001d6281610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a576080519262002308575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262001df2816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051926080519260805196620022da575b50604051907f095ea7b300000000000000000000000000000000000000000000000000000000825260048201526302faf08060248201526020816044816080518b5af180156200092a57620022b8575b5073ffffffffffffffffffffffffffffffffffffffff6021541691604051947f70a082310000000000000000000000000000000000000000000000000000000086528360048701526020866024818b5afa9586156200092a57608051966200227e575b50604051967f70a0823100000000000000000000000000000000000000000000000000000000885261567860048901526020886024818c5afa9788156200092a576080519862002244575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692833b15620003465789916200202c91604051988997889687967f3525916f0000000000000000000000000000000000000000000000000000000088526080519b600489019361014095919897969373ffffffffffffffffffffffffffffffffffffffff60ff948161016089019c1688521660208701526302faf08060408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a5762002227575b5073ffffffffffffffffffffffffffffffffffffffff6021541692604051937f70a082310000000000000000000000000000000000000000000000000000000085526004850152602084602481845afa9384156200092a5760805194620021ed575b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd050f80820191821162000a6457620020df60209260249562016b42565b604051938480927f70a0823100000000000000000000000000000000000000000000000000000000825261567860048301525afa9182156200092a5760805192620021b3575b506302faf080810180911162000a6457620021409162016b42565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b9091506020813d602011620021e4575b81620021d26020938362015f46565b81010312620009e25751908262002125565b3d9150620021c3565b9093506020813d6020116200221e575b816200220c6020938362015f46565b81010312620009e257519284620020a3565b3d9150620021fd565b608051620022359162015f46565b60805162000346578362002041565b9097506020813d60201162002275575b81620022636020938362015f46565b81010312620009e25751968962001f5f565b3d915062002254565b9095506020813d602011620022af575b816200229d6020938362015f46565b81010312620009e25751948862001f14565b3d91506200228e565b620022d49060203d602011620011865762001177818362015f46565b62001eb1565b9193509450620022fc915060603d606011620009a65762000993818362015f46565b91929091948762001e61565b9091506020813d6020116200233c575b81620023276020938362015f46565b81010312620009e257519062001df262001da7565b3d915062002318565b9150506020813d6020116200237a575b81620023646020938362015f46565b81010312620009e25751849062001d6262001ce7565b3d915062002355565b9093506020813d602011620023b4575b81620023a26020938362015f46565b81010312620009e25751928562001ca4565b3d915062002393565b608051620023cb9162015f46565b60805162000346578162001c17565b608051620023e89162015f46565b60805162000346578162001b87565b7f4e487b71000000000000000000000000000000000000000000000000000000006080515260416004526024608051fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762002cff575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062002cbb575b6200254f915062015f97565b908160140291601483040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019082821162000a64576064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552836004860152602085602481855afa9485156200092a576080519562002c81575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a576080519162002c49575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481865afa80156200092a5786916080519162002c0b575b5062000683916200272591620015bd8b620006838a6040519485938c602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225494604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528660048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a5760805194859485949162002bdb575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a576080519262002ba0575b50906004936020926040519184830193608051508452604083015260608201528c608082015261123460a08201528860c08201524660e08201528a61010082015260805161012082015260805161014082015261014081526200283c6101608262015f46565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262002b63575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620028c9816062810162000683565b519020604051957fe341eaa400000000000000000000000000000000000000000000000000000000875260048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a5760805196879687969162002b33575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762002b16575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169873ffffffffffffffffffffffffffffffffffffffff602154169a73ffffffffffffffffffffffffffffffffffffffff602054168b3b1562000346576040519c7f358a8f48000000000000000000000000000000000000000000000000000000008e52608051508d6004015260248d015260448c015260648b015260848a01611234905260a48a015260c489015260805160e489015260805161010489015260ff1661012488015261014487015261016486015260ff166101848501526101a48401526101c48301528160805191816080515a926101e493f180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162002b249162015f46565b60805162000346578a620029a0565b919550965062002b5691955060603d606011620009a65762000993818362015f46565b9591949095968a62002931565b9091506020813d60201162002b97575b8162002b826020938362015f46565b81010312620009e2575190620028c96200287e565b3d915062002b73565b91506020823d60201162002bd2575b8162002bbe6020938362015f46565b81010312620009e2579051906004620027d6565b3d915062002baf565b919350945062002bfe91935060603d606011620009a65762000993818362015f46565b9391929093948b62002793565b9150506020813d60201162002c40575b8162002c2a6020938362015f46565b81010312620009e25751859062000683620026a1565b3d915062002c1b565b90506020813d60201162002c78575b8162002c676020938362015f46565b81010312620009e257518862002658565b3d915062002c58565b9094506020813d60201162002cb2575b8162002ca06020938362015f46565b81010312620009e25751938762002616565b3d915062002c91565b506020813d60201162002cf6575b8162002cd86020938362015f46565b81010312620003465762002cf06200254f9162015f88565b62002543565b3d915062002cc9565b60805162002d0d9162015f46565b608051620003465780620024e9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620032c6575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252806004830152602082602481865afa9182156200092a57608051926200328c575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a576080519262003252575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528860048301525afa80156200092a5787916080519162003214575b509162002fba91620015bd6200068394620006836040519384926802fb474098f67c000060208501978c89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209160225492604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051938493849190620031e6575b506200303583888462016879565b969193909573ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d01526802fb474098f67c000060648d015261567860848d015260a48c015260c48b0152674563918244f4000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620031c9575b506024602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa80156200092a57608051906200318e575b620021409150620169a6565b506020813d602011620031c0575b81620031ab6020938362015f46565b81010312620009e25762002140905162003182565b3d91506200319c565b608051620031d79162015f46565b60805162000346578062003120565b919350506200320891935060603d606011620009a65762000993818362015f46565b93919290938762003027565b9150506020813d60201162003249575b81620032336020938362015f46565b81010312620009e25751869062002fba62002f2d565b3d915062003224565b9091506020813d60201162003283575b81620032716020938362015f46565b81010312620009e25751908662002ec6565b3d915062003262565b9091506020813d602011620032bd575b81620032ab6020938362015f46565b81010312620009e25751908462002e68565b3d91506200329c565b608051620032d49162015f46565b60805162000346578062002ddd565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051907fffa1ad7400000000000000000000000000000000000000000000000000000000825281600481608051935afa9081156200092a57608051916200347b575b506040805162003385828262015f46565b600181527f31000000000000000000000000000000000000000000000000000000000000006020820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576200340f6200344393835194859283927ff320d963000000000000000000000000000000000000000000000000000000008452866004850152604484019062015d66565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8382030160248401526080519462015d66565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200347057506200090d5760805180f35b513d608051823e3d90fd5b6200349d91503d80608051833e62003494818362015f46565b810190620163e5565b8162003374565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762003f0b575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062003ec7575b620035cb915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff60215416906040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa9081156200092a576080519162003e8f575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a576080519162003e57575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481875afa9081156200092a578888879389936080519162003e10575b50620006839492620006836200377a9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209560225495604051977fe341eaa40000000000000000000000000000000000000000000000000000000089528760048a01526024890152606088604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9788156200092a5760805195608051916080519a62003de3575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a578987899387936080519162003d9c575b50620038ab9291620006839160405195869460208601988a46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a576080519262003d5f575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200393b816062810162000683565b519020604051997fe341eaa4000000000000000000000000000000000000000000000000000000008b5260048b015260248a0152606089604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051998a9182919062003d33575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c528360048d015260208c6024818c5afa9b8c156200092a576080519c62003cf8575b506040517f70a0823100000000000000000000000000000000000000000000000000000000815261567860048201529b9c60208d6024818d5afa9c8d156200092a576080519d62003cbe575b50873b1562000346578b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62003b1c9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a5762003ca1575b5073ffffffffffffffffffffffffffffffffffffffff602054169173ffffffffffffffffffffffffffffffffffffffff6021541692604051937f70a082310000000000000000000000000000000000000000000000000000000085526004850152602084602481845afa9384156200092a576080519462003c66575b50926020602494604051958680927f70a0823100000000000000000000000000000000000000000000000000000000825261567860048301525afa9384156200092a576080519462003c23575b509062003c1d839262003c1662003c169562002140986201611f565b9062016b42565b62015fc3565b94935091906020853d60201162003c5d575b8162003c446020938362015f46565b81010312620009e25793519293909162003c1d62003bfa565b3d915062003c35565b93506020843d60201162003c98575b8162003c846020938362015f46565b81010312620009e257925192602062003bad565b3d915062003c75565b60805162003caf9162015f46565b60805162000346578362003b31565b909c506020813d60201162003cef575b8162003cdd6020938362015f46565b81010312620009e257519b8e62003a37565b3d915062003cce565b9b5060208c3d60201162003d2a575b8162003d166020938362015f46565b81010312620009e25760049b519b620039eb565b3d915062003d07565b91505062003d5491995060603d606011620009a65762000993818362015f46565b909991998c620039a2565b9091506020813d60201162003d93575b8162003d7e6020938362015f46565b81010312620009e25751906200393b620038f0565b3d915062003d6f565b9450505050506020813d60201162003dda575b8162003dbe6020938362015f46565b81010312620009e25751869084908a908890620038ab62003833565b3d915062003daf565b9150985062003e0591955060603d606011620009a65762000993818362015f46565b989195918a620037eb565b9450505050506020813d60201162003e4e575b8162003e326020938362015f46565b81010312620009e25751849086908990899062000683620036f6565b3d915062003e23565b90506020813d60201162003e86575b8162003e756020938362015f46565b81010312620009e2575187620036a8565b3d915062003e66565b90506020813d60201162003ebe575b8162003ead6020938362015f46565b81010312620009e257518662003666565b3d915062003e9e565b506020813d60201162003f02575b8162003ee46020938362015f46565b81010312620003465762003efc620035cb9162015f88565b620035bf565b3d915062003ed5565b60805162003f199162015f46565b60805162000346578062003565565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576200090773ffffffffffffffffffffffffffffffffffffffff601f5460081c1615156201655f565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762004cca575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062004c86575b620040a9915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481885afa9586156200092a576080519662004c4c575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a576080519162004c14575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481865afa9081156200092a578785879389936080519162004bcd575b5062000683949262000683620042599593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225496604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528860048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9687156200092a57608051978894859162004ba0575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a5789858a938a936080519162004b59575b5062004386929162000683916040519586948c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262004b1c575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262004416816062810162000683565b5190206040519a7fe341eaa4000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260608a604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9889156200092a57608051976080519b6080519b62004aec575b50833b1562000346576040517f358a8f480000000000000000000000000000000000000000000000000000000081526080805173ffffffffffffffffffffffffffffffffffffffff9384166004840152979092166024820152604481018b9052606481018b9052615678608482015260a4810189905260c48101959095525f60e4860181905261010486015260ff9687166101248601526101448501929092526101648401529386166101848301526101a482018990526101c482018890529251909283916101e4918391905af180156200092a5762004acf575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481855afa9586156200092a576080519662004a95575b5073ffffffffffffffffffffffffffffffffffffffff6020541691604051927f3644e515000000000000000000000000000000000000000000000000000000008452602084600481845afa9384156200092a576080519462004a58575b50906020602492604051938480927f7ecebe000000000000000000000000000000000000000000000000000000000082528760048301525afa9182156200092a57859287916080519162004a13575b50620006839492620006836200470c9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225495604051967fe341eaa400000000000000000000000000000000000000000000000000000000885260048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519788978893620049e6575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620049d79162015f46565b6080516200034657896200480d565b919850965062004a08915060603d606011620009a65762000993818362015f46565b919790968962004778565b93505050916020823d60201162004a4f575b8162004a346020938362015f46565b81010312620009e25790519091849186906200068362004688565b3d915062004a25565b919093506020823d60201162004a8c575b8162004a786020938362015f46565b81010312620009e257905192602062004639565b3d915062004a69565b9095506020813d60201162004ac6575b8162004ab46020938362015f46565b81010312620009e257519488620045dc565b3d915062004aa5565b60805162004add9162015f46565b6080516200034657856200455c565b919850995062004b0f919a5060603d606011620009a65762000993818362015f46565b9a9197909a998c62004481565b9091506020813d60201162004b50575b8162004b3b6020938362015f46565b81010312620009e257519062004416620043cb565b3d915062004b2c565b9450505050506020813d60201162004b97575b8162004b7b6020938362015f46565b81010312620009e25751879087908a908690620043866200430e565b3d915062004b6c565b9194505062004bc291975060603d606011620009a65762000993818362015f46565b979193908a620042c6565b9450505050506020813d60201162004c0b575b8162004bef6020938362015f46565b81010312620009e25751849086908890869062000683620041d5565b3d915062004be0565b90506020813d60201162004c43575b8162004c326020938362015f46565b81010312620009e257518762004187565b3d915062004c23565b9095506020813d60201162004c7d575b8162004c6b6020938362015f46565b81010312620009e25751948662004145565b3d915062004c5c565b506020813d60201162004cc1575b8162004ca36020938362015f46565b81010312620003465762004cbb620040a99162015f88565b6200409d565b3d915062004c94565b60805162004cd89162015f46565b60805162000346578062004043565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620055a2575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200555e575b62004e0e915062015f97565b8060320290603282040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42019042821162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481885afa9384156200092a576080519462005524575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a5760805191620054ec575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818b5afa9081156200092a5787858793869360805191620054a5575b506200068394926200068362004fdc9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225493604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528560048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051988998899462005475575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928a916080519162005432575b506004959262000683602095936200510d938c6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620053f5575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200519a816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051948591829190620053c9575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f408b22340000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b915050620053ea91945060603d606011620009a65762000993818362015f46565b909491948962005201565b9091506020813d60201162005429575b81620054146020938362015f46565b81010312620009e25751906200519a6200514f565b3d915062005405565b93505050926020823d6020116200546c575b81620054536020938362015f46565b81010312620009e2579051909285918990600462005090565b3d915062005444565b91995092506200549891975060603d606011620009a65762000993818362015f46565b9791989097928a62005049565b9450505050506020813d602011620054e3575b81620054c76020938362015f46565b81010312620009e2575184908390889086906200068362004f58565b3d9150620054b8565b90506020813d6020116200551b575b816200550a6020938362015f46565b81010312620009e257518762004f0a565b3d9150620054fb565b9093506020813d60201162005555575b81620055436020938362015f46565b81010312620009e25751928662004ec8565b3d915062005534565b506020813d60201162005599575b816200557b6020938362015f46565b8101031262000346576200559362004e0e9162015f88565b62004e02565b3d91506200556c565b608051620055b09162015f46565b60805162000346578062004da8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762006583575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200653f575b620056e6915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252836004830152602082602481845afa9182156200092a576080519262006505575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a5760805191620064cd575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481885afa80156200092a578691608051916200648f575b5062000683916200589191620015bd8a620006838d6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209360225494604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528660048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805196879384939062006461575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a578a888a938e93608051916200641a575b50620059bf9291620006839160405195869460208601988b46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a5760805192620063dd575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262005a4f816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519182918291620063b5575b50863b1562000346578b958b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62005b9d9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a5762006398575b5073ffffffffffffffffffffffffffffffffffffffff602054169073ffffffffffffffffffffffffffffffffffffffff602154169273ffffffffffffffffffffffffffffffffffffffff601f5460081c16906040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526020818062005c62868a6004840190929173ffffffffffffffffffffffffffffffffffffffff60209181604085019616845216910152565b0381885afa80156200092a57608051906200635d575b62005c84915062016a3a565b604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452856004850152602084602481865afa9384156200092a576080519462006323575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a5760805191620062eb575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528760048201526020816024818a5afa9081156200092a578891859160805191620062aa575b509162005dde91620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902095602254604051977fe341eaa40000000000000000000000000000000000000000000000000000000089528160048a01526024890152606088604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519889928391906200627f575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818b5afa9081156200092a578a918a91608051916200623e575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff808a1692820192909252931660608401526080830188905261567860a084015260c083018990524660e08401526101008301919091525f61012083018190526101408301529062005f0881610160810162000683565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818c5afa9182156200092a576080519262006201575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262005f98816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a57608051938493849391620061d4575b50883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620060e39c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a57620061b7575b5060208054602154601f546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015260089190911c82166024820152929183916044918391165afa80156200092a57608051906200617c575b62002140915062016a3a565b506020813d602011620061ae575b81620061996020938362015f46565b81010312620009e25762002140905162006170565b3d91506200618a565b608051620061c59162015f46565b608051620003465780620060f8565b9193509350620061f6915060603d606011620009a65762000993818362015f46565b929092938c62006000565b9091506020813d60201162006235575b81620062206020938362015f46565b81010312620009e257519062005f9862005f4d565b3d915062006211565b925050506020813d60201162006276575b816200625e6020938362015f46565b81010312620009e2578862005f088b92519062005e91565b3d91506200624f565b91995050620062a0915060603d606011620009a65762000993818362015f46565b9198908a62005e4b565b925050506020813d602011620062e2575b81620062ca6020938362015f46565b81010312620009e257518790849062005dde62005d5a565b3d9150620062bb565b90506020813d6020116200631a575b81620063096020938362015f46565b81010312620009e257518762005d0e565b3d9150620062fa565b9093506020813d60201162006354575b81620063426020938362015f46565b81010312620009e25751928662005ccc565b3d915062006333565b506020813d6020116200638f575b816200637a6020938362015f46565b81010312620009e25762005c84905162005c78565b3d91506200636b565b608051620063a69162015f46565b60805162000346578262005bb2565b915050620063d5915060603d606011620009a65762000993818362015f46565b918c62005ab6565b9091506020813d60201162006411575b81620063fc6020938362015f46565b81010312620009e257519062005a4f62005a04565b3d9150620063ed565b9450505050506020813d60201162006458575b816200643c6020938362015f46565b81010312620009e2575187908b908b908990620059bf62005947565b3d91506200642d565b919750925062006483915060603d606011620009a65762000993818362015f46565b91969091928a620058ff565b9150506020813d602011620064c4575b81620064ae6020938362015f46565b81010312620009e257518590620006836200580d565b3d91506200649f565b90506020813d602011620064fc575b81620064eb6020938362015f46565b81010312620009e2575187620057c4565b3d9150620064dc565b9091506020813d60201162006536575b81620065246020938362015f46565b81010312620009e25751908662005782565b3d915062006515565b506020813d6020116200657a575b816200655c6020938362015f46565b81010312620003465762006574620056e69162015f88565b620056da565b3d91506200654d565b608051620065919162015f46565b60805162000346578062005680565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762006e39575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062006df5575b620066c7915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452846004850152602084602481865afa9384156200092a576080519462006dbb575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162006d83575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528660048201526020816024818b5afa9081156200092a57879185916080519162006d42575b50916200687491620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225495604051967fe341eaa400000000000000000000000000000000000000000000000000000000885260048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051978897889662006d12575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57859289916080519162006ccf575b50600495926200068360209593620069a4938b6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262006c92575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262006a31816062810162000683565b51902092604051937fe341eaa400000000000000000000000000000000000000000000000000000000855264098765432160048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a5760805194859182919062006c665750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b91505062006c8791945060603d606011620009a65762000993818362015f46565b909491948962004778565b9091506020813d60201162006cc6575b8162006cb16020938362015f46565b81010312620009e257519062006a31620069e6565b3d915062006ca2565b93505050926020823d60201162006d09575b8162006cf06020938362015f46565b81010312620009e2579051909284918890600462006927565b3d915062006ce1565b919850945062006d3591965060603d606011620009a65762000993818362015f46565b96919790969489620068e0565b925050506020813d60201162006d7a575b8162006d626020938362015f46565b81010312620009e257518690849062006874620067f0565b3d915062006d53565b90506020813d60201162006db2575b8162006da16020938362015f46565b81010312620009e2575187620067a4565b3d915062006d92565b9093506020813d60201162006dec575b8162006dda6020938362015f46565b81010312620009e25751928662006762565b3d915062006dcb565b506020813d60201162006e30575b8162006e126020938362015f46565b81010312620003465762006e2a620066c79162015f88565b620066bb565b3d915062006e03565b60805162006e479162015f46565b60805162000346578062006661565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620076eb575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620076a7575b62006f7d915062015f97565b8060320290603282040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42019042821162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481885afa9384156200092a57608051946200766d575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162007635575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818b5afa9081156200092a5787858793869360805191620075ee575b50620006839492620006836200714b9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225493604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528560048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519889988994620075be575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928a91608051916200757b575b506004959262000683602095936200727c938c6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200753e575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262007309816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a5760805194859182919062007512575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b9150506200753391945060603d606011620009a65762000993818362015f46565b909491948962007370565b9091506020813d60201162007572575b816200755d6020938362015f46565b81010312620009e257519062007309620072be565b3d91506200754e565b93505050926020823d602011620075b5575b816200759c6020938362015f46565b81010312620009e25790519092859189906004620071ff565b3d91506200758d565b9199509250620075e191975060603d606011620009a65762000993818362015f46565b9791989097928a620071b8565b9450505050506020813d6020116200762c575b81620076106020938362015f46565b81010312620009e25751849083908890869062000683620070c7565b3d915062007601565b90506020813d60201162007664575b81620076536020938362015f46565b81010312620009e257518762007079565b3d915062007644565b9093506020813d6020116200769e575b816200768c6020938362015f46565b81010312620009e25751928662007037565b3d91506200767d565b506020813d602011620076e2575b81620076c46020938362015f46565b810103126200034657620076dc62006f7d9162015f88565b62006f71565b3d9150620076b5565b608051620076f99162015f46565b60805162000346578062006f17565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620082ec575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620082a8575b6200782f915062015f97565b60c052603260c05181020460c0510362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062008264575b6200788f915062015f97565b90600582810204820362000a6457620078b18260050260c05160320262015fc3565b60a052610e104201421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481885afa9283156200092a57608051936200822a575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a5760805191620081f2575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa9081156200092a5760805191620081b7575b506040805160a080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96020840190815273ffffffffffffffffffffffffffffffffffffffff80891695850195909552938b166060840152608083015281019290925242610e100160c0830152620006839162007a4d9190620015bd8160e0810186565b5190209460225495604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528760048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9687156200092a5760805195608051926080519962008189575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a576080519162008151575b50604051602081019160805150825286604082015289606082015260c051603202608082015261567860a0820152610e10420160c08201524660e08201528261010082015287600502610120820152619999610140820152610140815262007b6b6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a576080519262008114575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262007bfb816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a57602499608051916080519460805196620080e7575b5060208b6040519d8e80927f70a082310000000000000000000000000000000000000000000000000000000082528c60048301525afa9a8b156200092a576080519b620080ac575b6040517f70a0823100000000000000000000000000000000000000000000000000000000815261567860048201529c5060208d602481845afa9c8d156200092a576080519d62008072575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c5261999960048d015260208c602481855afa9b8c156200092a576080519c62008038575b50883b15620003465760ff9586926040519b7f358a8f48000000000000000000000000000000000000000000000000000000008d526080515060048d015260248c015260c05160320260448c015260a05160648c015261567860848c0152610e10420160a48c015260c48b01528a60050260e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a576200801b575b5073ffffffffffffffffffffffffffffffffffffffff602054169273ffffffffffffffffffffffffffffffffffffffff6021541694604051957f70a082310000000000000000000000000000000000000000000000000000000087526004870152602086602481885afa9586156200092a576080519662007fe1575b50604051917f70a082310000000000000000000000000000000000000000000000000000000083526156786004840152602083602481895afa9283156200092a576080519362007fa4575b506020602496604051978880927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa9586156200092a576080519662007f5b575b509162003c1662007f519262007f44620021409962003c1662003c1699989760a051906201611f565b60c0516032029062015fc3565b6005029062015fc3565b919493929095506020823d60201162007f9b575b8162007f7e6020938362015f46565b81010312620009e2579051949293919290919062003c1662007f1b565b3d915062007f6f565b9592506020863d60201162007fd8575b8162007fc36020938362015f46565b81010312620009e25794519194602062007ecf565b3d915062007fb4565b9095506020813d60201162008012575b81620080006020938362015f46565b81010312620009e25751948662007e84565b3d915062007ff1565b608051620080299162015f46565b60805162000346578462007e08565b909b506020813d60201162008069575b81620080576020938362015f46565b81010312620009e257519a8e62007d47565b3d915062008048565b909c506020813d602011620080a3575b81620080916020938362015f46565b81010312620009e257519b8d62007cfc565b3d915062008082565b9a5060208c3d602011620080de575b81620080ca6020938362015f46565b81010312620009e25760049b519a62007cb1565b3d9150620080bb565b919450945062008109915060603d606011620009a65762000993818362015f46565b939093948c62007c69565b9091506020813d60201162008148575b81620081336020938362015f46565b81010312620009e257519062007bfb62007bb0565b3d915062008124565b90506020813d60201162008180575b816200816f6020938362015f46565b81010312620009e257518a62007b00565b3d915062008160565b9196509750620081ab915060603d606011620009a65762000993818362015f46565b91959091978962007abe565b90506020813d602011620081e9575b81620081d56020938362015f46565b81010312620009e2575162007a4d620079c9565b3d9150620081c6565b90506020813d60201162008221575b81620082106020938362015f46565b81010312620009e257518662007981565b3d915062008201565b9092506020813d6020116200825b575b81620082496020938362015f46565b81010312620009e2575191856200793f565b3d91506200823a565b506020813d6020116200829f575b81620082816020938362015f46565b810103126200034657620082996200788f9162015f88565b62007883565b3d915062008272565b506020813d602011620082e3575b81620082c56020938362015f46565b810103126200034657620082dd6200782f9162015f88565b62007823565b3d9150620082b6565b608051620082fa9162015f46565b608051620003465780620077c9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576020620083476201647d565b6040519015158152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601954620083918162015ff6565b90620083a1604051928362015f46565b80825260208201601960805152602060805120608051915b838310620083d1576040518062001a5e878262015e00565b600160208192620083e2856201600f565b815201920192019190620083b9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb000000000000000000000000000000000000000000000000000000008252600482015262989680602482015260805181604481608051865af180156200092a5762008b1e575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762008b01575b50610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481865afa9384156200092a576080519462008ac7575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262008a8d575b5060405190602082019260805150835260408201528260608201526305f5e100608082015261567860a08201528560c08201524660e0820152846101008201526080516101208201526080516101408201526101408152620086ad6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262008a50575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200873d816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805193849384929162008a22575b50604051907f095ea7b300000000000000000000000000000000000000000000000000000000825260048201526305f5e1006024820152602081604481608051875af180156200092a5762008a00575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526080518160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620089e3575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541696863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526305f5e10060448901526156786064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620089f19162015f46565b6080516200034657866200889d565b62008a1c9060203d602011620011865762001177818362015f46565b620087fa565b9150935062008a4491925060603d606011620009a65762000993818362015f46565b929190929387620087aa565b9091506020813d60201162008a84575b8162008a6f6020938362015f46565b81010312620009e25751906200873d620086f2565b3d915062008a60565b9091506020813d60201162008abe575b8162008aac6020938362015f46565b81010312620009e25751908662008648565b3d915062008a9d565b9093506020813d60201162008af8575b8162008ae66020938362015f46565b81010312620009e25751928562008605565b3d915062008ad7565b60805162008b0f9162015f46565b60805162000346578162008578565b60805162008b2c9162015f46565b608051620003465781620084e8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762009245575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062009201575b62008c62915062015f97565b908160320291603283040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff420142811162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a5760805196620091c7575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5787916080519162009189575b5062008dd6906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200914c575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262008e66816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805193608051926080519762009111575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a57620090ef575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f408b22340000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b608051620090e09162015f46565b60805162000346578662008fd7565b6200910b9060203d602011620011865762001177818362015f46565b62008f42565b602091975062008f2d9295508493506200913c9060603d606011620009a65762000993818362015f46565b9491969094989250925062008ed5565b9091506020813d60201162009180575b816200916b6020938362015f46565b81010312620009e257519062008e6662008e1b565b3d91506200915c565b9150506020813d602011620091be575b81620091a86020938362015f46565b81010312620009e25751869062008dd662008d5e565b3d915062009199565b9095506020813d602011620091f8575b81620091e66020938362015f46565b81010312620009e25751948662008d1b565b3d9150620091d7565b506020813d6020116200923c575b816200921e6020938362015f46565b8101031262000346576200923662008c629162015f88565b62008c56565b3d91506200920f565b608051620092539162015f46565b60805162000346578062008bfc565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601c54620092a28162015ff6565b90620092b2604051928362015f46565b80825260208201601c608051527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211608051915b838310620092fd576040518062001a5e878262015e81565b60026020600192604051620093128162015f29565b73ffffffffffffffffffffffffffffffffffffffff8654168152620093398587016201612d565b83820152815201920192019190620092e5565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762009b84575b506064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481855afa9283156200092a576080519362009b4a575b5073ffffffffffffffffffffffffffffffffffffffff60205416926040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a576080519162009b12575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152836004820152602081602481895afa9081156200092a576080519162009ad7575b50620095a562000683916040516020810191608051507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98352876040830152886060830152608051608083015260a08201528960c082015260c08152620015bd60e08262015f46565b51902060225492604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528460048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805196879687949062009aa7575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a578a9287916080519162009a64575b50600495926200068360209593620096d6936040519586948986019846938a929373ffffffffffffffffffffffffffffffffffffffff61012095815f98949a999561014088019b8852166020870152166040850152856060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262009a27575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262009763816062810162000683565b519020604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051948594859391620099fa575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2c5211c60000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620099dd575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d015260805160448d015260805160648d015261123460848d015260a48c015260c48b015260805160e48b01526080516101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620099eb9162015f46565b60805162000346578862009860565b919450945062009a1c915060603d606011620009a65762000993818362015f46565b9390939488620097cb565b9091506020813d60201162009a5b575b8162009a466020938362015f46565b81010312620009e25751906200976362009718565b3d915062009a37565b93505050926020823d60201162009a9e575b8162009a856020938362015f46565b81010312620009e2579051909289918690600462009659565b3d915062009a76565b919750955062009aca91925060603d606011620009a65762000993818362015f46565b9291969092958962009612565b90506020813d60201162009b09575b8162009af56020938362015f46565b81010312620009e25751620095a56200953c565b3d915062009ae6565b90506020813d60201162009b41575b8162009b306020938362015f46565b81010312620009e2575186620094f4565b3d915062009b21565b9092506020813d60201162009b7b575b8162009b696020938362015f46565b81010312620009e25751918462009498565b3d915062009b5a565b60805162009b929162015f46565b6080516200034657806200940d565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200a1af575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200a16b575b62009cc8915062015f97565b8060320290603282040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481855afa9586156200092a57608051966200a131575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928891608051916200a0ee575b5060049592620006836020959362009e26938a6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200a0b1575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262009eb3816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805193849283916200a087575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b919450506200a0a8915060603d606011620009a65762000993818362015f46565b93908662009f1e565b9091506020813d6020116200a0e5575b816200a0d06020938362015f46565b81010312620009e257519062009eb362009e68565b3d91506200a0c1565b93505050926020823d6020116200a128575b816200a10f6020938362015f46565b81010312620009e2579051909285918790600462009da9565b3d91506200a100565b9095506020813d6020116200a162575b816200a1506020938362015f46565b81010312620009e25751948662009d62565b3d91506200a141565b506020813d6020116200a1a6575b816200a1886020938362015f46565b8101031262000346576200a1a062009cc89162015f88565b62009cbc565b3d91506200a179565b6080516200a1bd9162015f46565b60805162000346578062009c62565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200aafe575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200aaba575b6200a34b915062015f97565b80600a0290600a82040362000a6457606442019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481885afa9586156200092a57608051966200aa80575b50604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481845afa9182156200092a57608051926200aa45575b506020602491604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528860048301525afa9081156200092a5786918491608051916200aa04575b50916200a4fb91620015bd6200068394620006836040519384928c60208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209260225492604051947fe341eaa40000000000000000000000000000000000000000000000000000000086528460048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805196879687936200a9d7575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578a91608051916200a99b575b50926020916200a626600495620006836040519384928c8c8986019846938a92936101209473ffffffffffffffffffffffffffffffffffffffff5f979399989461014087019a87521660208601528660408601526060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200a95e575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200a6b3816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958694916200a92e575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fc1ab6dc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200a911575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169773ffffffffffffffffffffffffffffffffffffffff6021541699893b15620003465760ff9683889460446040519e8f907f358a8f480000000000000000000000000000000000000000000000000000000082526080515060048201526080516024820152015260648d015261123460848d015260a48c015260c48b015260805160e48b01526080516101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200a91f9162015f46565b6080516200034657896200a7b0565b91935095506200a95191945060603d606011620009a65762000993818362015f46565b949192909495896200a71b565b9091506020813d6020116200a992575b816200a97d6020938362015f46565b81010312620009e25751906200a6b36200a668565b3d91506200a96e565b9150506020813d6020116200a9ce575b816200a9ba6020938362015f46565b81010312620009e25751899060206200a5ab565b3d91506200a9ab565b91975095506200a9f9915060603d606011620009a65762000993818362015f46565b91969095896200a568565b925050506020813d6020116200aa3c575b816200aa246020938362015f46565b81010312620009e25751859083906200a4fb6200a477565b3d91506200aa15565b9091506020813d6020116200aa77575b816200aa646020938362015f46565b81010312620009e257519060206200a429565b3d91506200aa55565b9095506020813d6020116200aab1575b816200aa9f6020938362015f46565b81010312620009e2575194866200a3e6565b3d91506200aa90565b506020813d6020116200aaf5575b816200aad76020938362015f46565b8101031262000346576200aaef6200a34b9162015f88565b6200a33f565b3d91506200aac8565b6080516200ab0c9162015f46565b6080516200034657806200a2e5565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200b311575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200b2cd575b6200ac42915062015f97565b9081600f0291600f83040362000a6457600a420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200b293575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200b259575b50604051906020820192608051508352604082015285606082015282608082015261077760a08201528460c08201524660e08201528661010082015260805161012082015260805161014082015261014081526200ad806101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200b21c575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200ae10816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200b1e1575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200b1bf575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541673ffffffffffffffffffffffffffffffffffffffff60205416823b1562000346576040517f3525916f00000000000000000000000000000000000000000000000000000000815260805173ffffffffffffffffffffffffffffffffffffffff93841660048301529290911660248201526044810185905261077760648201526084810187905260a481018990525f60c4820181905260e482015260ff861661010482015261012481018490526101448101889052918290818061016481010391608051905af180156200092a576200b1a2575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200b185575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526107776060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6080516200b1939162015f46565b6080516200034657866200b08a565b6080516200b1b09162015f46565b6080516200034657866200aff5565b6200b1db9060203d602011620011865762001177818362015f46565b6200aeec565b60209197506200aed79295508493506200b20c9060603d606011620009a65762000993818362015f46565b949196909498925092506200ae7f565b9091506020813d6020116200b250575b816200b23b6020938362015f46565b81010312620009e25751906200ae106200adc5565b3d91506200b22c565b9091506020813d6020116200b28a575b816200b2786020938362015f46565b81010312620009e2575190876200ad1f565b3d91506200b269565b9095506020813d6020116200b2c4575b816200b2b26020938362015f46565b81010312620009e2575194866200acdc565b3d91506200b2a3565b506020813d6020116200b308575b816200b2ea6020938362015f46565b8101031262000346576200b3026200ac429162015f88565b6200ac36565b3d91506200b2db565b6080516200b31f9162015f46565b6080516200034657806200abdc565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff601f5460081c166200b3898115156201655f565b604080516016906020906200b39f848262015f46565b828152017f547261696c73496e74656e74456e747279706f696e74000000000000000000008152209181517fffa1ad7400000000000000000000000000000000000000000000000000000000815260805181600481855afa9081156200b5bb5793602091600495608051916200b59b575b50828151910120845190838201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528683015260608201524660808201528360a082015260a081526200b46760c08262015f46565b519020918351948580927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9283156200b58f57608051936200b555575b508083036200b4b75760805180f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346578151927f7c84c69b0000000000000000000000000000000000000000000000000000000084526004840152602483015260805182604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200347057506200b538575b808062000907565b6080516200b5469162015f46565b6080516200034657806200b530565b9092506020813d6020116200b586575b816200b5746020938362015f46565b81010312620009e2575191836200b4a8565b3d91506200b565565b82513d608051823e3d90fd5b6200b5b491503d80608051833e62003494818362015f46565b866200b410565b83513d608051823e3d90fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601d546200b6078162015ff6565b906200b617604051928362015f46565b80825260208201601d608051527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f608051915b8383106200b662576040518062001a5e878262015e81565b600260206001926040516200b6778162015f29565b73ffffffffffffffffffffffffffffffffffffffff86541681526200b69e8587016201612d565b838201528152019201920191906200b64a565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200c58e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200c54a575b6200b7d8915062015f97565b908160320291603283040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252836004830152602082602481845afa9182156200092a57608051926200c510575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a57608051916200c4d8575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481885afa80156200092a578691608051916200c49a575b5062000683916200b98491620015bd8b620006838c6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209360225494604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528660048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519687938493906200c46c575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a578b888a938d93608051916200c425575b506200bab29291620006839160405195869460208601988b46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a57608051926200c3e8575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200bb42816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805191829182916200c3c0575b50863b1562000346578a958c956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b6200bc909c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a576200c3a3575b5073ffffffffffffffffffffffffffffffffffffffff6020541673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff601f5460081c16926040517fdd62ed3e000000000000000000000000000000000000000000000000000000008152602081806200bd5488886004840190929173ffffffffffffffffffffffffffffffffffffffff60209181604085019616845216910152565b0381865afa80156200092a57608051906200c368575b6200bd76915062016a3a565b604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481885afa9384156200092a57608051946200c32e575b506200bdca8462016abc565b6040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a57608051916200c2f6575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff8085169282019290925290851660608201526080810188905261567860a082015260c081018490524660e082015261010081018690525f61012082018190526101408201526200be8181610160810162000683565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a57608051926200c2b9575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200bf11816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519485938493906200c28b575b50604051917f70a082310000000000000000000000000000000000000000000000000000000083526004830152602082602481845afa9788156200092a578992608051996200c24b575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019290925260805160209183916044918391905af180156200092a576200c229575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff6020541691843b15620003465789936200c12e92604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a576200c20c575b5073ffffffffffffffffffffffffffffffffffffffff6020541690602073ffffffffffffffffffffffffffffffffffffffff602154166024604051809581937f70a0823100000000000000000000000000000000000000000000000000000000835260048301525afa9182156200092a57608051926200c1cf575b50620021409262003c16916201611f565b9091506020813d6020116200c203575b816200c1ee6020938362015f46565b81010312620009e2575190620021406200c1be565b3d91506200c1df565b6080516200c21a9162015f46565b6080516200034657826200c143565b6200c2459060203d602011620011865762001177818362015f46565b6200c031565b925097506020823d6020116200c282575b816200c26b6020938362015f46565b81010312620009e25790519688919060206200bfc7565b3d91506200c25c565b91955092506200c2ad915060603d606011620009a65762000993818362015f46565b9194909192896200bf7d565b9091506020813d6020116200c2ed575b816200c2d86020938362015f46565b81010312620009e25751906200bf116200bec6565b3d91506200c2c9565b90506020813d6020116200c325575b816200c3146020938362015f46565b81010312620009e25751876200be0b565b3d91506200c305565b9093506020813d6020116200c35f575b816200c34d6020938362015f46565b81010312620009e2575192866200bdbe565b3d91506200c33e565b506020813d6020116200c39a575b816200c3856020938362015f46565b81010312620009e2576200bd7690516200bd6a565b3d91506200c376565b6080516200c3b19162015f46565b6080516200034657826200bca5565b9150506200c3e0915060603d606011620009a65762000993818362015f46565b918c6200bba9565b9091506020813d6020116200c41c575b816200c4076020938362015f46565b81010312620009e25751906200bb426200baf7565b3d91506200c3f8565b9450505050506020813d6020116200c463575b816200c4476020938362015f46565b81010312620009e2575187908a908c9089906200bab26200ba3a565b3d91506200c438565b91975092506200c48e915060603d606011620009a65762000993818362015f46565b91969091928a6200b9f2565b9150506020813d6020116200c4cf575b816200c4b96020938362015f46565b81010312620009e257518590620006836200b900565b3d91506200c4aa565b90506020813d6020116200c507575b816200c4f66020938362015f46565b81010312620009e25751876200b8b7565b3d91506200c4e7565b9091506020813d6020116200c541575b816200c52f6020938362015f46565b81010312620009e2575190866200b875565b3d91506200c520565b506020813d6020116200c585575b816200c5676020938362015f46565b8101031262000346576200c57f6200b7d89162015f88565b6200b7cc565b3d91506200c558565b6080516200c59c9162015f46565b6080516200034657806200b772565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200cc3a575b506004602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f313ce5670000000000000000000000000000000000000000000000000000000082525afa80156200092a57608051906200cbf6575b6200c6d2915062015f97565b80600a0290600a82040362000a6457606442019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481845afa9384156200092a57608051946200cbbc575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578591608051916200cb80575b50926020916200c82a600495620006836040519384928c8b8986019846938a92936101209473ffffffffffffffffffffffffffffffffffffffff5f979399989461014087019a87521660208601528660408601526060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200cb43575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200c8b7816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805192839283916200cb18575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fc1ab6dc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200cafb575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541696863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260805160248a015260448901526112346064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200cb099162015f46565b6080516200034657866200c9b7565b919350506200cb39915060603d606011620009a65762000993818362015f46565b929091866200c922565b9091506020813d6020116200cb77575b816200cb626020938362015f46565b81010312620009e25751906200c8b76200c86c565b3d91506200cb53565b9150506020813d6020116200cbb3575b816200cb9f6020938362015f46565b81010312620009e25751849060206200c7af565b3d91506200cb90565b9093506020813d6020116200cbed575b816200cbdb6020938362015f46565b81010312620009e2575192856200c76c565b3d91506200cbcc565b506020813d6020116200cc31575b816200cc136020938362015f46565b8101031262000346576200cc2b6200c6d29162015f88565b6200c6c6565b3d91506200cc04565b6080516200cc489162015f46565b6080516200034657806200c66c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576020602254604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601a546200ccd68162015ff6565b906200cce6604051928362015f46565b80825260208201601a60805152602060805120608051915b8383106200cd16576040518062001a5e878262015e00565b6001602081926200cd27856201600f565b8152019201920191906200ccfe565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200d633575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200d5ef575b6200ce5d915062015f97565b908160320291603283040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252826004830152602082602481845afa9182156200092a57608051926200d5b5575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a57608051916200d57d575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481895afa80156200092a578591608051916200d53f575b5062000683916200d00891620015bd8b620006838c6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225493604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528560048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a576080519687948594906200d50f575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a578b928b8992608051926200d4c8575b509262000683602095936200d13c93600499966040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff610120969299989481619999999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e08201525f6101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200d48b575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200d1c9816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958695916200d45b575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200d43e575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169773ffffffffffffffffffffffffffffffffffffffff602154169973ffffffffffffffffffffffffffffffffffffffff602054168a3b1562000346576040519b7f358a8f48000000000000000000000000000000000000000000000000000000008d526080515060048d015260248c01528060448c015260648b015260848a01615678905260a48a015260c489015260805160e48901526101048801619999905260ff1661012488015261014487015261016486015260ff166101848501526101a48401526101c48301528160805191816080515a926101e493f180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200d44c9162015f46565b6080516200034657896200d2c6565b91945095506200d47e91945060603d606011620009a65762000993818362015f46565b949193909495896200d231565b9091506020813d6020116200d4bf575b816200d4aa6020938362015f46565b81010312620009e25751906200d1c96200d17e565b3d91506200d49b565b9450505050926020823d6020116200d506575b816200d4ea6020938362015f46565b81010312620009e257905190928a9187908b620006836200d0bd565b3d91506200d4db565b91975093506200d53291925060603d606011620009a65762000993818362015f46565b9291969092938a6200d075565b9150506020813d6020116200d574575b816200d55e6020938362015f46565b81010312620009e257518490620006836200cf84565b3d91506200d54f565b90506020813d6020116200d5ac575b816200d59b6020938362015f46565b81010312620009e25751876200cf3b565b3d91506200d58c565b9091506020813d6020116200d5e6575b816200d5d46020938362015f46565b81010312620009e2575190866200cef9565b3d91506200d5c5565b506020813d6020116200d62a575b816200d60c6020938362015f46565b8101031262000346576200d6246200ce5d9162015f88565b6200ce51565b3d91506200d5fd565b6080516200d6419162015f46565b6080516200034657806200cdf7565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200dd8a575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200dd46575b6200d777915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200dd0c575b506200d81e8662016a3a565b6040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a578791608051916200dcce575b506200d8d8906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200dc91575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200d968816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200dc56575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200dc34575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200db3f92604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a576200dc17575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16602073ffffffffffffffffffffffffffffffffffffffff602154166024604051809481937f7ecebe0000000000000000000000000000000000000000000000000000000000835260048301525afa80156200092a57608051906200dbdc575b62002140915062016abc565b506020813d6020116200dc0e575b816200dbf96020938362015f46565b81010312620009e2576200214090516200dbd0565b3d91506200dbea565b6080516200dc259162015f46565b6080516200034657806200db54565b6200dc509060203d602011620011865762001177818362015f46565b6200da44565b60209197506200da2f9295508493506200dc819060603d606011620009a65762000993818362015f46565b949196909498925092506200d9d7565b9091506020813d6020116200dcc5575b816200dcb06020938362015f46565b81010312620009e25751906200d9686200d91d565b3d91506200dca1565b9150506020813d6020116200dd03575b816200dced6020938362015f46565b81010312620009e2575186906200d8d86200d860565b3d91506200dcde565b9095506020813d6020116200dd3d575b816200dd2b6020938362015f46565b81010312620009e2575194866200d812565b3d91506200dd1c565b506020813d6020116200dd81575b816200dd636020938362015f46565b8101031262000346576200dd7b6200d7779162015f88565b6200d76b565b3d91506200dd54565b6080516200dd989162015f46565b6080516200034657806200d711565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a576200e495575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200e478575b50610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481885afa9283156200092a57608051936200e43e575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa80156200092a578491608051916200e400575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292861660608401526302faf080608084015261567860a084015260c083018490524660e08401526101008301919091525f6101208301819052610140830152906200e07b81610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a57608051926200e3c3575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200e10b816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a576080519586958694906200e393575b50604051907f095ea7b30000000000000000000000000000000000000000000000000000000082526080515060048201526302faf07f6024820152602081604481608051865af180156200092a576200e371575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e63650000000000000000000060448201526080518160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200e354575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541695843b1562000346576200494191604051988997889687967f3525916f0000000000000000000000000000000000000000000000000000000088526080519b600489019361014095919897969373ffffffffffffffffffffffffffffffffffffffff60ff948161016089019c1688521660208701526302faf08060408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6080516200e3629162015f46565b6080516200034657866200e26f565b6200e38d9060203d602011620011865762001177818362015f46565b6200e1cc565b91965094506200e3b691925060603d606011620009a65762000993818362015f46565b929195909294876200e178565b9091506020813d6020116200e3f7575b816200e3e26020938362015f46565b81010312620009e25751906200e10b6200e0c0565b3d91506200e3d3565b9150506020813d6020116200e435575b816200e41f6020938362015f46565b81010312620009e2575183906200e07b6200e000565b3d91506200e410565b9092506020813d6020116200e46f575b816200e45d6020938362015f46565b81010312620009e2575191856200dfbd565b3d91506200e44e565b6080516200e4869162015f46565b6080516200034657816200df2f565b6080516200e4a39162015f46565b6080516200034657816200de9f565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200eaeb575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200eaa7575b6200e5d9915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200ea6d575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a578791608051916200ea2f575b506200e72f906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200e9f2575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200e7bf816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200e9b7575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200e995575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6200e9b19060203d602011620011865762001177818362015f46565b62008fd7565b60209197506200e8869295508493506200e9e29060603d606011620009a65762000993818362015f46565b949196909498925092506200e82e565b9091506020813d6020116200ea26575b816200ea116020938362015f46565b81010312620009e25751906200e7bf6200e774565b3d91506200ea02565b9150506020813d6020116200ea64575b816200ea4e6020938362015f46565b81010312620009e2575186906200e72f6200e6b7565b3d91506200ea3f565b9095506020813d6020116200ea9e575b816200ea8c6020938362015f46565b81010312620009e2575194866200e674565b3d91506200ea7d565b506020813d6020116200eae2575b816200eac46020938362015f46565b8101031262000346576200eadc6200e5d99162015f88565b6200e5cd565b3d91506200eab5565b6080516200eaf99162015f46565b6080516200034657806200e573565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200f49d575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200f459575b6200ec2f915062015f97565b908160320291603283040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481895afa9384156200092a57608051946200f41f575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a57608051916200f3e7575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818a5afa9081156200092a57888587938693608051916200f3a0575b50620006839492620006836200ede09593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225490604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528260048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805198899889946200f370575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a5788918a91608051916200f32f575b506200ef0b90620006836040519384928c8c8b602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57608051926200f2f2575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200ef9b816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a576080519788948594906200f2c2575b50823b1562000346576040517f358a8f480000000000000000000000000000000000000000000000000000000081526080805173ffffffffffffffffffffffffffffffffffffffff93841660048401529390921660248201526044810188905260648101889052615678608482015260a4810189905260c481018b90525f60e4820181905261010482015260ff8d811661012483015261014482018d905261016482018890528a166101848201526101a481018590526101c481018690529051909283916101e4918391905af180156200092a576200f2a5575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b6080516200f2b39162015f46565b6080516200034657896200f0dd565b91985093506200f2e591925060603d606011620009a65762000993818362015f46565b9291979092938c6200f003565b9091506020813d6020116200f326575b816200f3116020938362015f46565b81010312620009e25751906200ef9b6200ef50565b3d91506200f302565b925050506020813d6020116200f367575b816200f34f6020938362015f46565b81010312620009e257886200ef0b899251906200ee93565b3d91506200f340565b91995092506200f39391975060603d606011620009a65762000993818362015f46565b9791989097928a6200ee4d565b9450505050506020813d6020116200f3de575b816200f3c26020938362015f46565b81010312620009e257518490839089908690620006836200ed5c565b3d91506200f3b3565b90506020813d6020116200f416575b816200f4056020938362015f46565b81010312620009e25751876200ed0e565b3d91506200f3f6565b9093506020813d6020116200f450575b816200f43e6020938362015f46565b81010312620009e2575192866200eccc565b3d91506200f42f565b506020813d6020116200f494575b816200f4766020938362015f46565b8101031262000346576200f48e6200ec2f9162015f88565b6200ec23565b3d91506200f467565b6080516200f4ab9162015f46565b6080516200034657806200ebc9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200faae575b506064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481845afa9384156200092a57608051946200fa74575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578491608051916200fa38575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff97881691810191909152951660608601525f6080860181905261123460a087015260c08601939093524660e0860152610100850187905261012085018390526101408501929092526004936200f6c881610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200f9fb575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200f755816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519283928392906200f9d1575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2c5211c60000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200f9b4575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a0152602489015260805160448901526112346064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200f9c29162015f46565b6080516200034657856200f856565b915092506200f9f2915060603d606011620009a65762000993818362015f46565b9192856200f7c1565b9091506020813d6020116200fa2f575b816200fa1a6020938362015f46565b81010312620009e25751906200f7556200f70a565b3d91506200fa0b565b9150506020813d6020116200fa6b575b816200fa576020938362015f46565b81010312620009e25751839060206200f649565b3d91506200fa48565b9093506020813d6020116200faa5575b816200fa936020938362015f46565b81010312620009e2575192846200f606565b3d91506200fa84565b6080516200fabc9162015f46565b6080516200034657806200f57b565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200fe61575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481865afa9384156200092a57608051946200fe22575b5083826200fc269262016879565b92909193602073ffffffffffffffffffffffffffffffffffffffff815416916044604051809481937f095ea7b30000000000000000000000000000000000000000000000000000000083526080515060048301526802fb474098f67c00006024830152608051905af180156200092a576200fe00575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526802b5e3af16b188000060448901526156786064890152608488015260a4870152674563918244f4000060c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620031c957506024602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa80156200092a57608051906200318e57620021409150620169a6565b6200fe1c9060203d602011620011865762001177818362015f46565b6200fc9c565b909193506020813d6020116200fe58575b816200fe426020938362015f46565b81010312620009e2575192906200fc266200fc18565b3d91506200fe33565b6080516200fe6f9162015f46565b6080516200034657806200fb8c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601b546200febe8162015ff6565b906200fece604051928362015f46565b808252602082019081601b608051527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1608051915b8383106200ffb557848660405191829160208301906020845251809152604083019060408160051b8501019291608051905b8282106200ff4557505050500390f35b919360206200ffa4827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836200ff93835160408452604084019062015d66565b920151908481840391015262015da9565b96019201920185949391926200ff35565b600260206001926040516200ffca8162015f29565b6200ffd5866201600f565b81526200ffe48587016201612d565b838201528152019201920191906200ff03565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620109a3575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906201095f575b6201011e915062015f97565b908160320291603283040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff60215416906040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481885afa9081156200092a576080519162010927575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a5760805191620108ef575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481875afa9081156200092a5787898793899360805191620108a8575b5062000683949262000683620102ce9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225496604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528860048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519586938492906201087b575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818d5afa9081156200092a5784878b938a936080519162010834575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff8089169282019290925294166060850152608084019490945261567860a084015260c08301919091524660e08301526101008201525f610120820181905261014082015260049190620103fc81610160810162000683565b51902060208b604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620107f7575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201048b816062810162000683565b5190206040519a7fe341eaa4000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260608a604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a57608051996080519b60805198620107c7575b50813b156200034657604051927fd505accf0000000000000000000000000000000000000000000000000000000084526004840152602483015288604483015283606483015260ff881660848301528260a48301528460c48301528160e48160805193608051905af180156200092a57620107aa575b5073ffffffffffffffffffffffffffffffffffffffff602054169473ffffffffffffffffffffffffffffffffffffffff60215416906040519a7f70a08231000000000000000000000000000000000000000000000000000000008c528260048d015260208c6024818b5afa9b8c156200092a576080519c62010770575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c5261567860048d015260208c6024818c5afa9b8c156200092a576080519c62010736575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1696873b1562000346578b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62003b1c9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b909b506020813d60201162010767575b81620107556020938362015f46565b81010312620009e257519a8d62010634565b3d915062010746565b909b506020813d602011620107a1575b816201078f6020938362015f46565b81010312620009e257519a8c620105e9565b3d915062010780565b608051620107b89162015f46565b6080516200034657896201056c565b919a509650620107ea919a5060603d606011620009a65762000993818362015f46565b9a9199909a968c620104f6565b9091506020813d6020116201082b575b81620108166020938362015f46565b81010312620009e25751906201048b62010440565b3d915062010807565b9450505050506020813d60201162010872575b81620108566020938362015f46565b81010312620009e2575188908790859088906200068362010383565b3d915062010847565b915092506201089d91955060603d606011620009a65762000993818362015f46565b919591928a6201033b565b9450505050506020813d602011620108e6575b81620108ca6020938362015f46565b81010312620009e257518490869088908a90620006836201024a565b3d9150620108bb565b90506020813d6020116201091e575b816201090d6020938362015f46565b81010312620009e2575187620101fc565b3d9150620108fe565b90506020813d60201162010956575b81620109456020938362015f46565b81010312620009e2575186620101ba565b3d915062010936565b506020813d6020116201099a575b816201097c6020938362015f46565b810103126200034657620109946201011e9162015f88565b62010112565b3d91506201096d565b608051620109b19162015f46565b608051620003465780620100b8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a576201137a575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576201135d575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252806004830152602082602481875afa9182156200092a576080519262011323575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a5760805192620112e9575b5060405190602082019260805150835260408201528560608201526302faf080608082015261567860a08201528360c08201524660e082015282610100820152624c4b40610120820152619999610140820152610140815262010c7d6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a5760805192620112ac575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262010d0d816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805194859384936201127f575b50604051907f095ea7b30000000000000000000000000000000000000000000000000000000082526080515060048201526303473bc060248201526020816044816080518b5af180156200092a576201125d575b5073ffffffffffffffffffffffffffffffffffffffff6021541691604051937f70a082310000000000000000000000000000000000000000000000000000000085528360048601526020856024818b5afa9485156200092a576080519562011223575b50604051957f70a0823100000000000000000000000000000000000000000000000000000000875261567860048801526020876024818c5afa9687156200092a5760805197620111e9575b50604051977f70a0823100000000000000000000000000000000000000000000000000000000895261999960048a01526020896024818d5afa9889156200092a5760805199620111af575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1694853b15620003465760ff92604051977f3525916f0000000000000000000000000000000000000000000000000000000089526080515060048901528b60248901526302faf08060448901526156786064890152608488015260a4870152624c4b4060c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a5762011192575b5073ffffffffffffffffffffffffffffffffffffffff6021541690604051917f70a082310000000000000000000000000000000000000000000000000000000083526004830152602082602481885afa9182156200092a576080519262011158575b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcb8c440810190811162000a64576201101a9162016b42565b604051927f70a082310000000000000000000000000000000000000000000000000000000084526156786004850152602084602481845afa9384156200092a57608051946201111e575b506302faf080820180921162000a64576201108460209260249562016b42565b604051938480927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa9182156200092a5760805192620110e4575b50624c4b40810180911162000a6457620021409162016b42565b9091506020813d60201162011115575b81620111036020938362015f46565b81010312620009e257519082620110ca565b3d9150620110f4565b9093506020813d6020116201114f575b816201113d6020938362015f46565b81010312620009e25751928462011064565b3d91506201112e565b9091506020813d60201162011189575b81620111776020938362015f46565b81010312620009e25751908562010fe3565b3d915062011168565b608051620111a09162015f46565b60805162000346578462010f81565b9098506020813d602011620111e0575b81620111ce6020938362015f46565b81010312620009e25751978a62010ec6565b3d9150620111bf565b9096506020813d6020116201121a575b81620112086020938362015f46565b81010312620009e25751958962010e7b565b3d9150620111f9565b9094506020813d60201162011254575b81620112426020938362015f46565b81010312620009e25751938862010e30565b3d915062011233565b620112799060203d602011620011865762001177818362015f46565b62010dcd565b9195509250620112a1915060603d606011620009a65762000993818362015f46565b919490928762010d79565b9091506020813d602011620112e0575b81620112cb6020938362015f46565b81010312620009e257519062010d0d62010cc2565b3d9150620112bc565b9091506020813d6020116201131a575b81620113086020938362015f46565b81010312620009e25751908662010c17565b3d9150620112f9565b9091506020813d60201162011354575b81620113426020938362015f46565b81010312620009e25751908562010bd4565b3d915062011333565b6080516201136b9162015f46565b60805162000346578162010b48565b608051620113889162015f46565b60805162000346578162010ab8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927ff39610400000000000000000000000000000000000000000000000000000000082525afa9081156200092a5760805191620114fd575b507f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98103620114565760805180f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f7c84c69b00000000000000000000000000000000000000000000000000000000825260048201527f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c9602482015260805181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a571562000907576080516200091b9162015f46565b90506020813d6020116201152c575b816201151b6020938362015f46565b81010312620009e257518162011427565b3d91506201150c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762011d7e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062011d3a575b6201165c915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452846004850152602084602481865afa9384156200092a576080519462011d00575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162011cc8575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528660048201526020816024818b5afa9081156200092a57879185916080519162011c87575b50916201180991620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902094604051957fe341eaa400000000000000000000000000000000000000000000000000000000875264098765432160048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051978897889662011c57575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57859289916080519162011c14575b506004959262000683602095936201193b938b6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262011bd7575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620119c8816062810162000683565b51902092604051937fe341eaa400000000000000000000000000000000000000000000000000000000855264098765432160048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051948591829190620075125750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b9091506020813d60201162011c0b575b8162011bf66020938362015f46565b81010312620009e2575190620119c86201197d565b3d915062011be7565b93505050926020823d60201162011c4e575b8162011c356020938362015f46565b81010312620009e25790519092849188906004620118be565b3d915062011c26565b919850945062011c7a91965060603d606011620009a65762000993818362015f46565b9691979096948962011877565b925050506020813d60201162011cbf575b8162011ca76020938362015f46565b81010312620009e25751869084906201180962011785565b3d915062011c98565b90506020813d60201162011cf7575b8162011ce66020938362015f46565b81010312620009e257518762011739565b3d915062011cd7565b9093506020813d60201162011d31575b8162011d1f6020938362015f46565b81010312620009e257519286620116f7565b3d915062011d10565b506020813d60201162011d75575b8162011d576020938362015f46565b81010312620003465762011d6f6201165c9162015f88565b62011650565b3d915062011d48565b60805162011d8c9162015f46565b608051620003465780620115f6565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff60215416604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206017549182815201906017608051527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15906080515b81811062011e785762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162011e5d565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206018549182815201906018608051527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e906080515b81811062011f2d5762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162011f12565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620125a3575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c166024602073ffffffffffffffffffffffffffffffffffffffff6021541692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528660048301525afa9081156200092a57608051916201256b575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a576080519262012531575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528960048301525afa80156200092a57869160805191620124f3575b5091620121f991620015bd620006839462000683604051938492680340aad21b3b6fffff60208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5784608051946080519360805195620124bc575b5062012277918391620165e9565b949093737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7719991e0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576201249f575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d0152680340aad21b3b6fffff60648d015261567860848d015260a48c015260c48b0152678ac7230489e8000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620124ad9162015f46565b6080516200034657886201230e565b62012277929650620124e491955083945060603d606011620009a65762000993818362015f46565b94919690949591509162012269565b9150506020813d60201162012528575b81620125126020938362015f46565b81010312620009e257518590620121f96201216c565b3d915062012503565b9091506020813d60201162012562575b81620125506020938362015f46565b81010312620009e25751908562012105565b3d915062012541565b90506020813d6020116201259a575b81620125896020938362015f46565b81010312620009e2575183620120a7565b3d91506201257a565b608051620125b19162015f46565b6080516200034657806201201b565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762012c6e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062012c2a575b620126e7915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a576080519162012bf2575b5073ffffffffffffffffffffffffffffffffffffffff60215416604051906020820192608051508352604082015283606082015282608082015261567860a08201528560c08201524660e08201526103e76101008201526080516101208201526080516101408201526101408152620127de6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a576080519262012bb5575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201286e816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805194859485949062012b7a575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018390529060209082908180604481015b0391608051905af180156200092a5762012b58575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762012b3b575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526044880152615678606488015260848701526103e760a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162012b499162015f46565b608051620003465785620129dd565b62012b749060203d602011620011865762001177818362015f46565b62012948565b62012933929650602091955083945062012ba59060603d606011620009a65762000993818362015f46565b95919790959692509250620128db565b9091506020813d60201162012be9575b8162012bd46020938362015f46565b81010312620009e25751906201286e62012823565b3d915062012bc5565b90506020813d60201162012c21575b8162012c106020938362015f46565b81010312620009e257518562012762565b3d915062012c01565b506020813d60201162012c65575b8162012c476020938362015f46565b81010312620003465762012c5f620126e79162015f88565b620126db565b3d915062012c38565b60805162012c7c9162015f46565b60805162000346578062012681565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013543575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620134ff575b62012db2915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652816004870152602086602481865afa9586156200092a5760805196620134c5575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019181831162000a64576040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a57608051916201348d575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528260048201526020816024818b5afa9081156200092a5786918891608051916201344c575b509162012f8a91620015bd6200068394620006836040519384928c60208501978c89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225490604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a576080519889978895906201341c575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5787928b8e9260805192620133d5575b50926200068360209593620130bd93600499966040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262013398575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201314a816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a57608051918291829162013370575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013353575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff602054169a893b1562000346576040519c8d9b8c9a8b9a7f358a8f48000000000000000000000000000000000000000000000000000000008c526080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b608051620133619162015f46565b60805162000346578a62013220565b91505062013390915060603d606011620009a65762000993818362015f46565b918a620131b1565b9091506020813d602011620133cc575b81620133b76020938362015f46565b81010312620009e25751906201314a620130ff565b3d9150620133a8565b9450505050926020823d60201162013413575b81620133f76020938362015f46565b81010312620009e2579051909286918c908b6200068362013040565b3d9150620133e8565b91995096506201343f91935060603d606011620009a65762000993818362015f46565b9391989093968b62012ff8565b925050506020813d60201162013484575b816201346c6020938362015f46565b81010312620009e257518590879062012f8a62012f06565b3d91506201345d565b90506020813d602011620134bc575b81620134ab6020938362015f46565b81010312620009e257518862012eba565b3d91506201349c565b9095506020813d602011620134f6575b81620134e46020938362015f46565b81010312620009e25751948662012e4c565b3d9150620134d5565b506020813d6020116201353a575b816201351c6020938362015f46565b8101031262000346576201353462012db29162015f88565b62012da6565b3d91506201350d565b608051620135519162015f46565b60805162000346578062012d4c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601e54620135a08162015ff6565b90620135b0604051928362015f46565b808252602082019081601e608051527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350608051915b8383106201370d57848660405191829160208301906020845251809152604083019060408160051b8501019291608051905b8282106201362757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401926080515b828110620136c1575050505050602080600192960192019201859493919262013617565b9091929394602080620136ff837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08760019603018952895162015d66565b97019501939291016201369d565b6040516201371b8162015f29565b825473ffffffffffffffffffffffffffffffffffffffff168152600183018054620137468162015ff6565b9162013756604051938462015f46565b81835260208301906080515260206080512090608051905b83821062013796575050505060019282602092836002950152815201920192019190620135e5565b600160208192620137a7866201600f565b8152019301910190916201376e565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013e86575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062013e42575b620138dd915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a576080519662013e08575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5787916080519162013dca575b5062013a33906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262013d8d575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262013ac3816062810162000683565b519020604051907fe341eaa400000000000000000000000000000000000000000000000000000000825264098765432160048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805193608051926080519762013d52575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a5762013d30575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b62013d4c9060203d602011620011865762001177818362015f46565b62013ba1565b602091975062013b8c92955084935062013d7d9060603d606011620009a65762000993818362015f46565b9491969094989250925062013b34565b9091506020813d60201162013dc1575b8162013dac6020938362015f46565b81010312620009e257519062013ac362013a78565b3d915062013d9d565b9150506020813d60201162013dff575b8162013de96020938362015f46565b81010312620009e25751869062013a33620139bb565b3d915062013dda565b9095506020813d60201162013e39575b8162013e276020938362015f46565b81010312620009e25751948662013978565b3d915062013e18565b506020813d60201162013e7d575b8162013e5f6020938362015f46565b81010312620003465762013e77620138dd9162015f88565b620138d1565b3d915062013e50565b60805162013e949162015f46565b60805162000346578062013877565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014899575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062014855575b62013fca915062015f97565b908160320291603283040362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062014811575b62014026915062015f97565b90600582810204820362000a645762014043826005028462015fc3565b92610e1042019384421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481865afa9384156200092a5760805194620147d7575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a57608051916201479f575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528360048201526020816024818b5afa9081156200092a576080519162014764575b50620141dd620006839162000683620015bd8d60405192839160208301958a8d8d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209160225496604051937fe341eaa40000000000000000000000000000000000000000000000000000000085528860048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805195869586949162014734575b50604051927ff3961040000000000000000000000000000000000000000000000000000000008452602084600481865afa9182156200092a57898b938f8f9760805192620146ed575b5060408051602081810194855273ffffffffffffffffffffffffffffffffffffffff96871692820192909252949095166060850152608084019590955261567860a084015260c08301949094524660e083015261010082015260059094026101208501525f6101408501526004939091906201431581610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620146b0575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620143a2816062810162000683565b519020604051977fe341eaa400000000000000000000000000000000000000000000000000000000895260048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9788156200092a5760805198899889979162014680575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014663575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169a73ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff60205416998d3b15620003465760ff9a8b9760405160e0527f358a8f480000000000000000000000000000000000000000000000000000000060e05152608051506101e460e0515050600460e0510152602460e0510152604460e0510152606460e0510152615678608460e051015260a460e051015260c460e051015260050260e460e051015260805161010460e05101521661012460e051015261014460e051015261016460e05101521661018460e05101526101a460e05101526101c460e0510152608051906101e460e0519160e05190608051905af180156200092a576201464457737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6201465460805160e05162015f46565b60805115620021405760805180fd5b608051620146719162015f46565b60805162000346578b6201449f565b9196509850620146a391975060603d606011620009a65762000993818362015f46565b9791959097988b6201440a565b9091506020813d602011620146e4575b81620146cf6020938362015f46565b81010312620009e2575190620143a262014357565b3d9150620146c0565b955050505093506020823d6020116201472b575b81620147106020938362015f46565b81010312620009e25790518b938a92918a908f602062014294565b3d915062014701565b91935095506201475791945060603d606011620009a65762000993818362015f46565b9491929094958c6201424b565b90506020813d60201162014796575b81620147826020938362015f46565b81010312620009e25751620141dd62014159565b3d915062014773565b90506020813d602011620147ce575b81620147bd6020938362015f46565b81010312620009e257518962014111565b3d9150620147ae565b9093506020813d60201162014808575b81620147f66020938362015f46565b81010312620009e257519288620140cf565b3d9150620147e7565b506020813d6020116201484c575b816201482e6020938362015f46565b81010312620003465762014846620140269162015f88565b6201401a565b3d91506201481f565b506020813d60201162014890575b81620148726020938362015f46565b8101031262000346576201488a62013fca9162015f88565b62013fbe565b3d915062014863565b608051620148a79162015f46565b60805162000346578062013f64565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206016549182815201906016608051527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289906080515b8181106201493e5762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162014923565b62015394565b34620009e2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e25773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f06447d5600000000000000000000000000000000000000000000000000000000825260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620150cc57620150b5575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062015071575b62014a92915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552806004860152602085602481865afa9485156200092a576080519562015037575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5786916080519162014ff9575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292861660608401526080830184905261567860a084015260c083018890524660e08401526101008301919091525f6101208301526199996101408301529062014be981610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262014fbc575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262014c79816062810162000683565b5190209160225492604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a5760805194859485939162014f82575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a5762014f60575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014f43575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff602154169673ffffffffffffffffffffffffffffffffffffffff6020541693873b15620003465760ff94604051997f3525916f000000000000000000000000000000000000000000000000000000008b526080515060048b015260248a015260448901526156786064890152608488015260a487015260805160c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162014f519162015f46565b60805162000346578662014de8565b62014f7c9060203d602011620011865762001177818362015f46565b62014d53565b602091965084955062014d3e92935062014fad9060603d606011620009a65762000993818362015f46565b97909691949350915062014ce6565b9091506020813d60201162014ff0575b8162014fdb6020938362015f46565b81010312620009e257519062014c7962014c2e565b3d915062014fcc565b9150506020813d6020116201502e575b81620150186020938362015f46565b81010312620009e25751859062014be962014b70565b3d915062015009565b9094506020813d60201162015068575b81620150566020938362015f46565b81010312620009e25751938662014b2d565b3d915062015047565b506020813d602011620150ac575b816201508e6020938362015f46565b810103126200034657620150a662014a929162015f88565b62014a86565b3d91506201507f565b5f620150c19162015f46565b5f6080528062014a2c565b6040513d5f823e3d90fd5b34620009e2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e257610e2980820182811067ffffffffffffffff8211176201536757829162016bc8833903905ff08015620150cc577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f5560405161185480820182811067ffffffffffffffff82111762015367578291620179f1833903905ff08015620150cc5773ffffffffffffffffffffffffffffffffffffffff16807fffffffffffffffffffffffff0000000000000000000000000000000000000000602054161760205573ffffffffffffffffffffffffffffffffffffffff602154166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481865afa8015620150cc575f9062015323575b6201524c915062015f97565b806103e802906103e8820403620152f6576040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff929092166004830152602482015290602090829060449082905f905af18015620150cc57620152d0915f91620152d2575b506201655f565b005b620152ef915060203d602011620011865762001177818362015f46565b82620152c9565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b506020813d6020116201535e575b81620153406020938362015f46565b81010312620009e257620153586201524c9162015f88565b62015240565b3d915062015331565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b34620009e2575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e25773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f06447d5600000000000000000000000000000000000000000000000000000000825260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620150cc5762015cff575b5073ffffffffffffffffffffffffffffffffffffffff60205416906040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481865afa801562015ab357829062015cb7575b620154b5915062015f97565b806032029060328204810362015c8a57610e1042019182421162015c5d5773ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe000000000000000000000000000000000000000000000000000000000083528060048401526020836024818b5afa92831562015b9d57879362015c23575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818c5afa90811562015af857908491899162015be5575b506201560b90620006836040519384928b8a89602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818c5afa91821562015af857889262015ba8575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262015699816062810162000683565b5190209360225494604051957fe341eaa400000000000000000000000000000000000000000000000000000000875260048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa91821562015b9d5787918896899462015b6b575b5060640298858a046002148615171562015b3e576040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019990995296978897602090829060449082908c905af1801562015af85762015b1c575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541673ffffffffffffffffffffffffffffffffffffffff6020541690823b1562015ad7576040517f3525916f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152911660248201526044810186905261567860648201526084810188905260a481018590525f60c4820181905260e482015260ff831661010482015261012481018790526101448101849052908890829061016490829084905af190811562015af857889162015b03575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562015af4576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe000000000000000000000000000000000000000000000000000000006004820152878160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562015af857889162015adb575b505073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541693853b1562015ad7578997889462015a1a936040519b8c9a8b998a987f3525916f000000000000000000000000000000000000000000000000000000008a5260048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b03925af1801562015ab35762015abe575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562015ab057806040517f90c5013b000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562015ab35762015a9c5750f35b8162015aa89162015f46565b62015ab05780f35b80fd5b6040513d84823e3d90fd5b8162015aca9162015f46565b62015ab057805f62015a2b565b8980fd5b8162015ae79162015f46565b62015af457865f6201591e565b8680fd5b6040513d8a823e3d90fd5b8162015b0f9162015f46565b62015af457865f62015887565b62015b389060203d602011620011865762001177818362015f46565b62015782565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90935062015b909196506064925060603d606011620009a65762000993818362015f46565b9691929096939062015703565b6040513d89823e3d90fd5b9091506020813d60201162015bdc575b8162015bc76020938362015f46565b81010312620009e2575190620156996201564e565b3d915062015bb8565b9150506020813d60201162015c1a575b8162015c046020938362015f46565b81010312620009e2575183906201560b62015593565b3d915062015bf5565b9092506020813d60201162015c54575b8162015c426020938362015f46565b81010312620009e25751915f62015550565b3d915062015c33565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b506020813d60201162015cf6575b8162015cd46020938362015f46565b8101031262015cf25762015cec620154b59162015f88565b620154a9565b5080fd5b3d915062015cc5565b62015d0d91505f9062015f46565b5f5f62015450565b60206040818301928281528451809452019201905f5b81811062015d395750505090565b825173ffffffffffffffffffffffffffffffffffffffff1684526020938401939092019160010162015d2b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b81811062015dc75750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010162015db9565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062015e3357505050505090565b909192939460208062015e71837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895162015d66565b9701930193019193929062015e23565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062015eb457505050505090565b909192939460208062015f19837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff81511684520151918185820152019062015da9565b9701930193019193929062015ea4565b6040810190811067ffffffffffffffff8211176201536757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176201536757604052565b519060ff82168203620009e257565b60ff16604d8111620152f657600a0a90565b90816020910312620009e257518015158103620009e25790565b91908201809211620152f657565b90816060910312620009e25762015fe88162015f88565b916040602083015192015190565b67ffffffffffffffff8111620153675760051b60200190565b90604051915f8154908160011c926001831692831562016114575b602085108414620160e7578487528693908115620160a557506001146201605d575b506201605b9250038362015f46565b565b90505f9291925260205f20905f915b818310620160885750509060206201605b928201015f6201604c565b60209193508060019154838589010152019101909184926201606c565b602093506201605b9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6201604c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936201602a565b91908203918211620152f657565b90604051918281549182825260208201905f5260205f20925f905b80600783011062016357576201605b94549181811062016320575b818110620162e9575b818110620162b2575b8181106201627b575b81811062016244575b8181106201620d575b818110620161d7575b10620161a9575b50038362015f46565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f620161a0565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b16815201930162016199565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b16815201930162016190565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b16815201930162016187565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b1681520193016201617e565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b16815201930162016175565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b1681520193016201616c565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b16815201930162016163565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e082015201940192018592939162016148565b602081830312620009e25780519067ffffffffffffffff8211620009e2570181601f82011215620009e25780519067ffffffffffffffff82116201536757604051926201645b601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018562015f46565b82845260208383010111620009e257815f9260208093018386015e8301015290565b60085460ff16156201648e57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115620150cc575f9162016527575b50151590565b90506020813d60201162016556575b81620165456020938362015f46565b81010312620009e257515f62016521565b3d915062016536565b1580620165695750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f0c9fd5810000000000000000000000000000000000000000000000000000000082521560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b5f6201605b9162015f46565b919073ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa908115620150cc575f9162016838575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff98891691810191909152961660608701526802b5e3af16b1880000608087015261567860a087015260c08601939093524660e0860152610100850191909152678ac7230489e80000610120850152619999610140850152600493620166d581610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa918215620150cc575f92620167fb575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262016760816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115620150cc575f5f935f93620167cf575b50929190565b91935050620167f0915060603d606011620009a65762000993818362015f46565b929092915f620167c9565b9091506020813d6020116201682f575b816201681a6020938362015f46565b81010312620009e25751906201676062016715565b3d91506201680b565b90506020949194813d60201162016870575b81620168596020938362015f46565b81010312620009e25751909390620166d562016647565b3d91506201684a565b919073ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa908115620150cc575f9162016965575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff98891691810191909152961660608701526802b5e3af16b1880000608087015261567860a087015260c08601939093524660e0860152610100850191909152674563918244f40000610120850152619999610140850152600493620166d581610160810162000683565b90506020949194813d6020116201699d575b81620169866020938362015f46565b81010312620009e25751909390620166d5620168d7565b3d915062016977565b674563918244f400008103620169b95750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152674563918244f4000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b8062016a435750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b6001810362016ac85750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b9080820362016b4f575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051917f98296c54000000000000000000000000000000000000000000000000000000008352600483015260248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd575056fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033610160604052346104c6576040516100186040826104ca565b600a8152602081016926b7b1b5902a37b5b2b760b11b81526040519061003f6040836104ca565b600a82526926b7b1b5902a37b5b2b760b11b6020830152604051926100656040856104ca565b60038452624d544b60e81b6020850152604051936100846040866104ca565b60018552603160f81b60208601908152845190946001600160401b0382116103c95760035490600182811c921680156104bc575b60208310146103ab5781601f84931161044e575b50602090601f83116001146103e8575f926103dd575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103c95760045490600182811c921680156103bf575b60208310146103ab5781601f84931161033d575b50602090601f83116001146102d7575f926102cc575b50508160011b915f199060031b1c1916176004555b610162816104ed565b6101205261016f84610674565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526101d860c0826104ca565b5190206080523060c05233156102b95760025469d3c21bcecceda100000081018091116102a557600255335f525f60205260405f2069d3c21bcecceda1000000815401905560405169d3c21bcecceda100000081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a36040516110a790816107ad823960805181610cec015260a05181610da9015260c05181610cbd015260e05181610d3b01526101005181610d610152610120518161048f015261014051816104b80152f35b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b015190505f80610144565b60045f9081528281209350601f198516905b818110610325575090846001959493921061030d575b505050811b01600455610159565b01515f1960f88460031b161c191690555f80806102ff565b929360206001819287860151815501950193016102e9565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106103a1575b90601f859493920160051c01905b818110610393575061012e565b5f8155849350600101610386565b9091508190610378565b634e487b7160e01b5f52602260045260245ffd5b91607f169161011a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100e2565b60035f9081528281209350601f198516905b818110610436575090846001959493921061041e575b505050811b016003556100f7565b01515f1960f88460031b161c191690555f8080610410565b929360206001819287860151815501950193016103fa565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106104b2575b90601f859493920160051c01905b8181106104a457506100cc565b5f8155849350600101610497565b9091508190610489565b91607f16916100b8565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103c957604052565b908151602081105f14610567575090601f815111610527576020815191015160208210610518571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116103c957600554600181811c9116801561066a575b60208210146103ab57601f8111610637575b50602092601f82116001146105d657928192935f926105cb575b50508160011b915f199060031b1c19161760055560ff90565b015190505f806105b2565b601f1982169360055f52805f20915f5b86811061061f5750836001959610610607575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f80806105f9565b919260206001819286850151815501940192016105e6565b60055f52601f60205f20910160051c810190601f830160051c015b81811061065f5750610598565b5f8155600101610652565b90607f1690610586565b908151602081105f1461069f575090601f815111610527576020815191015160208210610518571790565b6001600160401b0381116103c957600654600181811c911680156107a2575b60208210146103ab57601f811161076f575b50602092601f821160011461070e57928192935f92610703575b50508160011b915f199060031b1c19161760065560ff90565b015190505f806106ea565b601f1982169360065f52805f20915f5b868110610757575083600195961061073f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610731565b9192602060018192868501518155019401920161071e565b60065f52601f60205f20910160051c810190601f830160051c015b81811061079757506106d0565b5f815560010161078a565b90607f16906106be56fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146108dc57508063095ea7b31461089857806318160ddd1461085d57806323b872dd146106c9578063313ce567146106905780633644e5151461065057806370a08231146105ee5780637ecebe001461058b57806384b0196e1461045957806395d89b411461033b578063a9059cbb146102ec578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e26109df565b73ffffffffffffffffffffffffffffffffffffffff6100ff610a02565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101726109df565b61017a610a02565b604435906064359260843560ff81168103610137578442116102c05761027b61027273ffffffffffffffffffffffffffffffffffffffff9283851697885f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b6040840152878a1660608401528a608084015260a083015260c082015260c0815261022560e082610b16565b519020610230610ca6565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220610eff565b90929192610f99565b16848103610290575061028e9350610dcf565b005b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b847f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306103266109df565b6024359033610b84565b602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60045461037981610a25565b808452906001811690811561041757506001146103b9575b6103b5836103a181850382610b16565b60405191829160208352602083019061099c565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106103fd575090915081016020016103a1610391565b9192600181602092548385880101520191019092916103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103a19050610391565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761052f6104b37f0000000000000000000000000000000000000000000000000000000000000000610e4c565b6104dc7f0000000000000000000000000000000000000000000000000000000000000000610ec8565b602061053d604051926104ef8385610b16565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e087019061099c565b90858203604087015261099c565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061057457505050500390f35b835185528695509381019392810192600101610565565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6105d76109df565b165f526007602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61063a6109df565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020610688610ca6565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160128152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576107006109df565b610708610a02565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610784575b506103309350610b84565b8381106108295784156107fd5733156107d157610330945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610779565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306108d26109df565b6024359033610dcf565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f60035461091781610a25565b8084529060018116908115610417575060011461093e576103b5836103a181850382610b16565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610982575090915081016020016103a1610391565b91926001816020925483858801015201910190929161096a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90600182811c92168015610a6c575b6020831014610a3f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610a34565b5f9291815491610a8583610a25565b8083529260018116908115610ada5750600114610aa157505050565b5f9081526020812093945091925b838310610ac0575060209250010190565b600181602092949394548385870101520191019190610aaf565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b5757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c7a5773ffffffffffffffffffffffffffffffffffffffff16918215610c4e57815f525f60205260405f2054818110610c1c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610da6575b15610d0e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610da060c082610b16565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610ce5565b73ffffffffffffffffffffffffffffffffffffffff169081156107fd5773ffffffffffffffffffffffffffffffffffffffff169182156107d15760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610eab5760ff811690601f8211610e835760405191610e70604084610b16565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610ec581610ebe816005610a76565b0382610b16565b90565b60ff8114610eec5760ff811690601f8211610e835760405191610e70604084610b16565b50604051610ec581610ebe816006610a76565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f8e579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610f83575f5173ffffffffffffffffffffffffffffffffffffffff811615610f7957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156110445780610fab575050565b60018103610fdb577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361100f57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146110195750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212202eaf8d700913bffd8b4934f8b853d9665e68ca4ec536d49359eed7bb1628075364736f6c634300081e003360803461018357601f610c1538819003918201601f19168301916001600160401b038311848410176101875780849260209460405283398101031261018357516100495f5461019b565b601f811161013c575b507f4e6f6e2d5374616e6461726420546f6b656e00000000000000000000000000245f556001546100829061019b565b601f81116100f4575b506006621394d560ea1b01600155600660ff19600254161760025580600355335f5260046020528060405f20556040519081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610a4190816101d48239f35b60015f52601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6908101905b818110610131575061008b565b5f8155600101610124565b5f8052601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563908101905b8181106101785750610052565b5f815560010161016b565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b90600182811c921680156101c9575b60208310146101b557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101aa56fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461079e578063095ea7b3146106fb57806318160ddd146106c057806323b872dd1461051d578063313ce567146104df57806340c10f191461043957806370a08231146103d657806395d89b41146101e1578063a9059cbb146101175763dd62ed3e14610087575f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576100be610919565b73ffffffffffffffffffffffffffffffffffffffff6100db61093c565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135761014e610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600460205261017f8360405f2054101561095f565b335f52600460205260405f206101968482546109c4565b90551690815f52600460205260405f206101b18282546109fe565b90556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f600154908160011c600183169283156103cc575b60208210841461039f57818552849390811561033f57506001146102c5575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60015f90815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b81831061032357505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b60209193508060019154838588010152019101909183926102ef565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610246565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610227565b346101135760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135773ffffffffffffffffffffffffffffffffffffffff610422610919565b165f526004602052602060405f2054604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610470610919565b5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff602435946104b9866003546109fe565b600355169384845260048252604084206104d48282546109fe565b9055604051908152a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357602060ff60025416604051908152f35b346101135760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610554610919565b61055c61093c565b73ffffffffffffffffffffffffffffffffffffffff604435921690815f52600460205261058f8360405f2054101561095f565b815f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528260405f20541061066257602073ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526004835260405f206106118782546109c4565b90551693845f526004825260405f2061062b8282546109fe565b9055835f526005825260405f2073ffffffffffffffffffffffffffffffffffffffff33165f52825260405f206104d48282546109c4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e6365000000000000000000006044820152fd5b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576020600354604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610732610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f5f54908160011c600183169283156108c7575b60208210841461039f57818552849390811561033f575060011461084f575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b5f80805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106108ab57505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b6020919350806001915483858801015201910190918392610877565b90607f16906107e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b1561096657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152fd5b919082039182116109d157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082018092116109d15756fea2646970667358221220bc55045891b519b0b5f8315ee228d5b1d217d0df546e371d3a4b30023541a0b764736f6c634300081e0033a2646970667358221220010ee7b53d583fe2d911c1394ce38c6f4ea6a88675a68222bcecb92d21ae101364736f6c634300081e0033","sourceMap":"830:78201:63:-:0;;;;;;;3200:4:5;830:78201:63;;3200:4:5;830:78201:63;;;3200:4:5;830:78201:63;3200:4:5;830:78201:63;;1087:4:16;830:78201:63;;;1087:4:16;830:78201:63;2030:14:2;;;1335:20:63;;1343:11;1335:20;;;2030:14:2;;1335:20:63;;;336:42:2;1335:20:63;;;;;;;830:78201;1335:20;;;-1:-1:-1;;1335:20:63;2030:14:2;;-1:-1:-1;;;;;;2030:14:2;-1:-1:-1;;;;;336:42:2;;;;2030:14;;;;;;1343:11:63;1393;2030:14:2;830:78201:63;;;;;;;;;1335:20;;;2030:14:2;1335:20:63;2030:14:2;1335:20:63;;;;2030:14:2;;;-1:-1:-1;;2030:14:2;;;-1:-1:-1;;;;;2030:14:2;;;;;;;;;;;;830:78201:63;2030:14:2;1335:20:63;;2030:14:2;;;;;-1:-1:-1;;;;;336:42:2;;2030:14;;;;1335:20:63;;;2030:14:2;830:78201:63;2030:14:2;;;;;;830:78201:63;2030:14:2;;1335:20:63;2030:14:2;1335:20:63;830:78201;2030:14:2;1335:20:63;;;;;;830:78201;;2030:14:2;830:78201:63;2030:14:2;;;;","linkReferences":{}},"deployedBytecode":{"object":"61010080604052600436101562000014575f80fd5b5f6080525f3560e01c9081630a9254e414620150d7575080630c266cdb146201497157806319835737146201496b5780631e3f2fae146201496b5780631ed7831c14620148b6578063218171d71462013ea357806322b7bf5e14620137b65780632ade388014620135605780632bce844d1462012c8b5780632ce7f6c814620125c05780633532ecd51462011f5a5780633e5e3c231462011ea55780633f7286f41462011df05780634f8632ba1462011d9b57806351a82aa0146201153557806355544ac01462011397578063567902d914620109c0578063572a59b9146200fff757806366d9a9a0146200fe7e57806369ad3c6a146200facb5780636d74fac8146200f4ba578063774345cd146200eb085780637747c190146200e4b25780637806d8ab146200dda7578063804b1836146200d65057806380839499146200cd3657806385226c81146200cc965780638cb2b6bf146200cc575780638db1cdf8146200c5ab578063901dc0e2146200b6b1578063916a17c6146200b5c7578063942c6c0d146200b32e5780639750a94e146200ab1b5780639eed73d6146200a224578063a65d69d4146200a1cc578063a9d982311462009ba1578063ac315011146200934c578063b0464fdc1462009262578063b320b4951462008b3b578063b47752d114620083f1578063b5508aa91462008351578063ba414fa61462008309578063bbaaf0a81462007708578063bdc1b59c1462006e56578063be4671ef14620065a0578063be7d0b2f14620055bf578063c0aa967b1462004ce7578063c13acba01462003f82578063c2e9f2e41462003f28578063c30fff9714620034a4578063ccf5634614620032e3578063cde7e4871462002d1c578063d49421661462002428578063d7284b701462001a8f578063e20c9f7114620019c9578063ef45a94b146200131e578063f56af20a1462000af6578063fa5e81021462000390578063fa7626d4146200034c5763fc0c546a14620002f2575f80fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff815416604051908152f35b60805180fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602060ff601f54166040519015158152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762000ad9575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062000a95575b620004b7915062015f97565b9081600a0291600a83040362000a6457600142019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552826004860152602085602481855afa9485156200092a576080519562000a2a575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5760805192620009ef575b509060049360209260405191848301936080515084526040830152606082015285608082015260805160a08201528760c08201524660e0820152866101008201526080516101208201526080516101408201526101408152620005fb6101608262015f46565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620009ae575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620006b081606281015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262015f46565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051928392839162000971575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb6a75fc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762000954575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff602154169673ffffffffffffffffffffffffffffffffffffffff6020541693873b15620003465760ff94604051997f3525916f000000000000000000000000000000000000000000000000000000008b526080515060048b015260248a015260448901526080516064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a5762000937575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d575b60805180f35b6080516200091b9162015f46565b60805162000346578062000907565b6040513d608051823e3d90fd5b608051620009459162015f46565b60805162000346578062000898565b608051620009629162015f46565b608051620003465786620007b0565b919350506200099c915060603d606011620009a6575b62000993818362015f46565b81019062015fd1565b929091866200071b565b503d62000987565b9091506020813d602011620009e6575b81620009cd6020938362015f46565b81010312620009e2575190620006b06200063d565b5f80fd5b3d9150620009be565b91506020823d60201162000a21575b8162000a0d6020938362015f46565b81010312620009e257905190600462000595565b3d9150620009fe565b9094506020813d60201162000a5b575b8162000a496020938362015f46565b81010312620009e25751938662000552565b3d915062000a3a565b7f4e487b71000000000000000000000000000000000000000000000000000000006080515260116004526024608051fd5b506020813d60201162000ad0575b8162000ab26020938362015f46565b81010312620003465762000aca620004b79162015f88565b620004ab565b3d915062000aa3565b60805162000ae79162015f46565b60805162000346578062000451565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762001301575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620012bd575b62000c1d915062015f97565b908160320291603283040362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062001279575b62000c79915062015f97565b918260050292600584040362000a6457610e1042019283421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481885afa9586156200092a57608051966200123f575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa80156200092a5787916080519162001201575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292841660608401526080830185905261567860a084015260c083018990524660e084015261010083019190915261012082018590525f6101408301529062000dd181610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a5760805192620011c4575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262000e61816062810162000683565b5190209260225493604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958694916200118e575b5062000f3b9160209162000ee3858862015fc3565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301529092839190829081906044820190565b0391608051905af180156200092a576200115a575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200113d575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169773ffffffffffffffffffffffffffffffffffffffff6020541694883b15620003465760ff956040519a7f3525916f000000000000000000000000000000000000000000000000000000008c526080515060048c015260248b015260448a015261567860648a0152608489015260a488015260c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200114b9162015f46565b60805162000346578762000fe5565b620011809060203d60201162001186575b62001177818362015f46565b81019062015fa9565b62000f50565b503d6200116b565b620011b79197506020965062000f3b92945060603d606011620009a65762000993818362015f46565b9790965090939162000ece565b9091506020813d602011620011f8575b81620011e36020938362015f46565b81010312620009e257519062000e6162000e16565b3d9150620011d4565b9150506020813d60201162001236575b81620012206020938362015f46565b81010312620009e25751869062000dd162000d59565b3d915062001211565b9095506020813d60201162001270575b816200125e6020938362015f46565b81010312620009e25751948762000d16565b3d91506200124f565b506020813d602011620012b4575b81620012966020938362015f46565b810103126200034657620012ae62000c799162015f88565b62000c6d565b3d915062001287565b506020813d602011620012f8575b81620012da6020938362015f46565b810103126200034657620012f262000c1d9162015f88565b62000c11565b3d9150620012cb565b6080516200130f9162015f46565b60805162000346578062000bb7565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620019ac575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c166024602073ffffffffffffffffffffffffffffffffffffffff6021541692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528660048301525afa9081156200092a576080519162001974575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a57608051926200193a575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528960048301525afa80156200092a57869160805191620018fc575b50916200160291620015bd620006839462000683604051938492680340aad21b3b70000160208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060405192839160208301958690916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5784608051946080519360805195620018c5575b5062001680918391620165e9565b949093737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7719991e0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620018a8575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d0152680340aad21b3b70000160648d015261567860848d015260a48c015260c48b0152678ac7230489e8000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620018b69162015f46565b60805162000346578862001717565b62001680929650620018ed91955083945060603d606011620009a65762000993818362015f46565b94919690949591509162001672565b9150506020813d60201162001931575b816200191b6020938362015f46565b81010312620009e2575185906200160262001530565b3d91506200190c565b9091506020813d6020116200196b575b81620019596020938362015f46565b81010312620009e257519085620014c9565b3d91506200194a565b90506020813d602011620019a3575b81620019926020938362015f46565b81010312620009e25751836200146b565b3d915062001983565b608051620019ba9162015f46565b608051620003465780620013df565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206015549182815201906015608051527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475906080515b81811062001a625762001a5e8562001a518187038262015f46565b6040519182918262015d15565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162001a36565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a57620023da575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620023bd575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481855afa9384156200092a576080519462002383575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481865afa80156200092a5785916080519162002345575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292871660608401526302faf080608084015261567860a084015260c083018590524660e08401526101008301919091525f61012083018190526101408301529062001d6281610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a576080519262002308575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262001df2816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051926080519260805196620022da575b50604051907f095ea7b300000000000000000000000000000000000000000000000000000000825260048201526302faf08060248201526020816044816080518b5af180156200092a57620022b8575b5073ffffffffffffffffffffffffffffffffffffffff6021541691604051947f70a082310000000000000000000000000000000000000000000000000000000086528360048701526020866024818b5afa9586156200092a57608051966200227e575b50604051967f70a0823100000000000000000000000000000000000000000000000000000000885261567860048901526020886024818c5afa9788156200092a576080519862002244575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692833b15620003465789916200202c91604051988997889687967f3525916f0000000000000000000000000000000000000000000000000000000088526080519b600489019361014095919897969373ffffffffffffffffffffffffffffffffffffffff60ff948161016089019c1688521660208701526302faf08060408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a5762002227575b5073ffffffffffffffffffffffffffffffffffffffff6021541692604051937f70a082310000000000000000000000000000000000000000000000000000000085526004850152602084602481845afa9384156200092a5760805194620021ed575b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd050f80820191821162000a6457620020df60209260249562016b42565b604051938480927f70a0823100000000000000000000000000000000000000000000000000000000825261567860048301525afa9182156200092a5760805192620021b3575b506302faf080810180911162000a6457620021409162016b42565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b9091506020813d602011620021e4575b81620021d26020938362015f46565b81010312620009e25751908262002125565b3d9150620021c3565b9093506020813d6020116200221e575b816200220c6020938362015f46565b81010312620009e257519284620020a3565b3d9150620021fd565b608051620022359162015f46565b60805162000346578362002041565b9097506020813d60201162002275575b81620022636020938362015f46565b81010312620009e25751968962001f5f565b3d915062002254565b9095506020813d602011620022af575b816200229d6020938362015f46565b81010312620009e25751948862001f14565b3d91506200228e565b620022d49060203d602011620011865762001177818362015f46565b62001eb1565b9193509450620022fc915060603d606011620009a65762000993818362015f46565b91929091948762001e61565b9091506020813d6020116200233c575b81620023276020938362015f46565b81010312620009e257519062001df262001da7565b3d915062002318565b9150506020813d6020116200237a575b81620023646020938362015f46565b81010312620009e25751849062001d6262001ce7565b3d915062002355565b9093506020813d602011620023b4575b81620023a26020938362015f46565b81010312620009e25751928562001ca4565b3d915062002393565b608051620023cb9162015f46565b60805162000346578162001c17565b608051620023e89162015f46565b60805162000346578162001b87565b7f4e487b71000000000000000000000000000000000000000000000000000000006080515260416004526024608051fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762002cff575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062002cbb575b6200254f915062015f97565b908160140291601483040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019082821162000a64576064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552836004860152602085602481855afa9485156200092a576080519562002c81575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a576080519162002c49575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481865afa80156200092a5786916080519162002c0b575b5062000683916200272591620015bd8b620006838a6040519485938c602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225494604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528660048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a5760805194859485949162002bdb575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a576080519262002ba0575b50906004936020926040519184830193608051508452604083015260608201528c608082015261123460a08201528860c08201524660e08201528a61010082015260805161012082015260805161014082015261014081526200283c6101608262015f46565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262002b63575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620028c9816062810162000683565b519020604051957fe341eaa400000000000000000000000000000000000000000000000000000000875260048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a5760805196879687969162002b33575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762002b16575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169873ffffffffffffffffffffffffffffffffffffffff602154169a73ffffffffffffffffffffffffffffffffffffffff602054168b3b1562000346576040519c7f358a8f48000000000000000000000000000000000000000000000000000000008e52608051508d6004015260248d015260448c015260648b015260848a01611234905260a48a015260c489015260805160e489015260805161010489015260ff1661012488015261014487015261016486015260ff166101848501526101a48401526101c48301528160805191816080515a926101e493f180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162002b249162015f46565b60805162000346578a620029a0565b919550965062002b5691955060603d606011620009a65762000993818362015f46565b9591949095968a62002931565b9091506020813d60201162002b97575b8162002b826020938362015f46565b81010312620009e2575190620028c96200287e565b3d915062002b73565b91506020823d60201162002bd2575b8162002bbe6020938362015f46565b81010312620009e2579051906004620027d6565b3d915062002baf565b919350945062002bfe91935060603d606011620009a65762000993818362015f46565b9391929093948b62002793565b9150506020813d60201162002c40575b8162002c2a6020938362015f46565b81010312620009e25751859062000683620026a1565b3d915062002c1b565b90506020813d60201162002c78575b8162002c676020938362015f46565b81010312620009e257518862002658565b3d915062002c58565b9094506020813d60201162002cb2575b8162002ca06020938362015f46565b81010312620009e25751938762002616565b3d915062002c91565b506020813d60201162002cf6575b8162002cd86020938362015f46565b81010312620003465762002cf06200254f9162015f88565b62002543565b3d915062002cc9565b60805162002d0d9162015f46565b608051620003465780620024e9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620032c6575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252806004830152602082602481865afa9182156200092a57608051926200328c575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a576080519262003252575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528860048301525afa80156200092a5787916080519162003214575b509162002fba91620015bd6200068394620006836040519384926802fb474098f67c000060208501978c89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209160225492604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051938493849190620031e6575b506200303583888462016879565b969193909573ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d01526802fb474098f67c000060648d015261567860848d015260a48c015260c48b0152674563918244f4000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620031c9575b506024602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa80156200092a57608051906200318e575b620021409150620169a6565b506020813d602011620031c0575b81620031ab6020938362015f46565b81010312620009e25762002140905162003182565b3d91506200319c565b608051620031d79162015f46565b60805162000346578062003120565b919350506200320891935060603d606011620009a65762000993818362015f46565b93919290938762003027565b9150506020813d60201162003249575b81620032336020938362015f46565b81010312620009e25751869062002fba62002f2d565b3d915062003224565b9091506020813d60201162003283575b81620032716020938362015f46565b81010312620009e25751908662002ec6565b3d915062003262565b9091506020813d602011620032bd575b81620032ab6020938362015f46565b81010312620009e25751908462002e68565b3d91506200329c565b608051620032d49162015f46565b60805162000346578062002ddd565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051907fffa1ad7400000000000000000000000000000000000000000000000000000000825281600481608051935afa9081156200092a57608051916200347b575b506040805162003385828262015f46565b600181527f31000000000000000000000000000000000000000000000000000000000000006020820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576200340f6200344393835194859283927ff320d963000000000000000000000000000000000000000000000000000000008452866004850152604484019062015d66565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8382030160248401526080519462015d66565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200347057506200090d5760805180f35b513d608051823e3d90fd5b6200349d91503d80608051833e62003494818362015f46565b810190620163e5565b8162003374565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762003f0b575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062003ec7575b620035cb915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff60215416906040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa9081156200092a576080519162003e8f575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a576080519162003e57575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481875afa9081156200092a578888879389936080519162003e10575b50620006839492620006836200377a9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209560225495604051977fe341eaa40000000000000000000000000000000000000000000000000000000089528760048a01526024890152606088604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9788156200092a5760805195608051916080519a62003de3575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a578987899387936080519162003d9c575b50620038ab9291620006839160405195869460208601988a46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a576080519262003d5f575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200393b816062810162000683565b519020604051997fe341eaa4000000000000000000000000000000000000000000000000000000008b5260048b015260248a0152606089604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051998a9182919062003d33575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c528360048d015260208c6024818c5afa9b8c156200092a576080519c62003cf8575b506040517f70a0823100000000000000000000000000000000000000000000000000000000815261567860048201529b9c60208d6024818d5afa9c8d156200092a576080519d62003cbe575b50873b1562000346578b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62003b1c9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a5762003ca1575b5073ffffffffffffffffffffffffffffffffffffffff602054169173ffffffffffffffffffffffffffffffffffffffff6021541692604051937f70a082310000000000000000000000000000000000000000000000000000000085526004850152602084602481845afa9384156200092a576080519462003c66575b50926020602494604051958680927f70a0823100000000000000000000000000000000000000000000000000000000825261567860048301525afa9384156200092a576080519462003c23575b509062003c1d839262003c1662003c169562002140986201611f565b9062016b42565b62015fc3565b94935091906020853d60201162003c5d575b8162003c446020938362015f46565b81010312620009e25793519293909162003c1d62003bfa565b3d915062003c35565b93506020843d60201162003c98575b8162003c846020938362015f46565b81010312620009e257925192602062003bad565b3d915062003c75565b60805162003caf9162015f46565b60805162000346578362003b31565b909c506020813d60201162003cef575b8162003cdd6020938362015f46565b81010312620009e257519b8e62003a37565b3d915062003cce565b9b5060208c3d60201162003d2a575b8162003d166020938362015f46565b81010312620009e25760049b519b620039eb565b3d915062003d07565b91505062003d5491995060603d606011620009a65762000993818362015f46565b909991998c620039a2565b9091506020813d60201162003d93575b8162003d7e6020938362015f46565b81010312620009e25751906200393b620038f0565b3d915062003d6f565b9450505050506020813d60201162003dda575b8162003dbe6020938362015f46565b81010312620009e25751869084908a908890620038ab62003833565b3d915062003daf565b9150985062003e0591955060603d606011620009a65762000993818362015f46565b989195918a620037eb565b9450505050506020813d60201162003e4e575b8162003e326020938362015f46565b81010312620009e25751849086908990899062000683620036f6565b3d915062003e23565b90506020813d60201162003e86575b8162003e756020938362015f46565b81010312620009e2575187620036a8565b3d915062003e66565b90506020813d60201162003ebe575b8162003ead6020938362015f46565b81010312620009e257518662003666565b3d915062003e9e565b506020813d60201162003f02575b8162003ee46020938362015f46565b81010312620003465762003efc620035cb9162015f88565b620035bf565b3d915062003ed5565b60805162003f199162015f46565b60805162000346578062003565565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576200090773ffffffffffffffffffffffffffffffffffffffff601f5460081c1615156201655f565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762004cca575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062004c86575b620040a9915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481885afa9586156200092a576080519662004c4c575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a576080519162004c14575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481865afa9081156200092a578785879389936080519162004bcd575b5062000683949262000683620042599593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225496604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528860048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9687156200092a57608051978894859162004ba0575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a5789858a938a936080519162004b59575b5062004386929162000683916040519586948c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262004b1c575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262004416816062810162000683565b5190206040519a7fe341eaa4000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260608a604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9889156200092a57608051976080519b6080519b62004aec575b50833b1562000346576040517f358a8f480000000000000000000000000000000000000000000000000000000081526080805173ffffffffffffffffffffffffffffffffffffffff9384166004840152979092166024820152604481018b9052606481018b9052615678608482015260a4810189905260c48101959095525f60e4860181905261010486015260ff9687166101248601526101448501929092526101648401529386166101848301526101a482018990526101c482018890529251909283916101e4918391905af180156200092a5762004acf575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481855afa9586156200092a576080519662004a95575b5073ffffffffffffffffffffffffffffffffffffffff6020541691604051927f3644e515000000000000000000000000000000000000000000000000000000008452602084600481845afa9384156200092a576080519462004a58575b50906020602492604051938480927f7ecebe000000000000000000000000000000000000000000000000000000000082528760048301525afa9182156200092a57859287916080519162004a13575b50620006839492620006836200470c9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225495604051967fe341eaa400000000000000000000000000000000000000000000000000000000885260048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519788978893620049e6575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620049d79162015f46565b6080516200034657896200480d565b919850965062004a08915060603d606011620009a65762000993818362015f46565b919790968962004778565b93505050916020823d60201162004a4f575b8162004a346020938362015f46565b81010312620009e25790519091849186906200068362004688565b3d915062004a25565b919093506020823d60201162004a8c575b8162004a786020938362015f46565b81010312620009e257905192602062004639565b3d915062004a69565b9095506020813d60201162004ac6575b8162004ab46020938362015f46565b81010312620009e257519488620045dc565b3d915062004aa5565b60805162004add9162015f46565b6080516200034657856200455c565b919850995062004b0f919a5060603d606011620009a65762000993818362015f46565b9a9197909a998c62004481565b9091506020813d60201162004b50575b8162004b3b6020938362015f46565b81010312620009e257519062004416620043cb565b3d915062004b2c565b9450505050506020813d60201162004b97575b8162004b7b6020938362015f46565b81010312620009e25751879087908a908690620043866200430e565b3d915062004b6c565b9194505062004bc291975060603d606011620009a65762000993818362015f46565b979193908a620042c6565b9450505050506020813d60201162004c0b575b8162004bef6020938362015f46565b81010312620009e25751849086908890869062000683620041d5565b3d915062004be0565b90506020813d60201162004c43575b8162004c326020938362015f46565b81010312620009e257518762004187565b3d915062004c23565b9095506020813d60201162004c7d575b8162004c6b6020938362015f46565b81010312620009e25751948662004145565b3d915062004c5c565b506020813d60201162004cc1575b8162004ca36020938362015f46565b81010312620003465762004cbb620040a99162015f88565b6200409d565b3d915062004c94565b60805162004cd89162015f46565b60805162000346578062004043565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620055a2575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200555e575b62004e0e915062015f97565b8060320290603282040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42019042821162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481885afa9384156200092a576080519462005524575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a5760805191620054ec575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818b5afa9081156200092a5787858793869360805191620054a5575b506200068394926200068362004fdc9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225493604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528560048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051988998899462005475575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928a916080519162005432575b506004959262000683602095936200510d938c6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620053f5575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200519a816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051948591829190620053c9575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f408b22340000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b915050620053ea91945060603d606011620009a65762000993818362015f46565b909491948962005201565b9091506020813d60201162005429575b81620054146020938362015f46565b81010312620009e25751906200519a6200514f565b3d915062005405565b93505050926020823d6020116200546c575b81620054536020938362015f46565b81010312620009e2579051909285918990600462005090565b3d915062005444565b91995092506200549891975060603d606011620009a65762000993818362015f46565b9791989097928a62005049565b9450505050506020813d602011620054e3575b81620054c76020938362015f46565b81010312620009e2575184908390889086906200068362004f58565b3d9150620054b8565b90506020813d6020116200551b575b816200550a6020938362015f46565b81010312620009e257518762004f0a565b3d9150620054fb565b9093506020813d60201162005555575b81620055436020938362015f46565b81010312620009e25751928662004ec8565b3d915062005534565b506020813d60201162005599575b816200557b6020938362015f46565b8101031262000346576200559362004e0e9162015f88565b62004e02565b3d91506200556c565b608051620055b09162015f46565b60805162000346578062004da8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762006583575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200653f575b620056e6915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252836004830152602082602481845afa9182156200092a576080519262006505575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a5760805191620064cd575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481885afa80156200092a578691608051916200648f575b5062000683916200589191620015bd8a620006838d6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209360225494604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528660048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805196879384939062006461575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a578a888a938e93608051916200641a575b50620059bf9291620006839160405195869460208601988b46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a5760805192620063dd575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262005a4f816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519182918291620063b5575b50863b1562000346578b958b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62005b9d9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a5762006398575b5073ffffffffffffffffffffffffffffffffffffffff602054169073ffffffffffffffffffffffffffffffffffffffff602154169273ffffffffffffffffffffffffffffffffffffffff601f5460081c16906040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526020818062005c62868a6004840190929173ffffffffffffffffffffffffffffffffffffffff60209181604085019616845216910152565b0381885afa80156200092a57608051906200635d575b62005c84915062016a3a565b604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452856004850152602084602481865afa9384156200092a576080519462006323575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a5760805191620062eb575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528760048201526020816024818a5afa9081156200092a578891859160805191620062aa575b509162005dde91620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902095602254604051977fe341eaa40000000000000000000000000000000000000000000000000000000089528160048a01526024890152606088604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519889928391906200627f575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818b5afa9081156200092a578a918a91608051916200623e575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff808a1692820192909252931660608401526080830188905261567860a084015260c083018990524660e08401526101008301919091525f61012083018190526101408301529062005f0881610160810162000683565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818c5afa9182156200092a576080519262006201575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262005f98816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a57608051938493849391620061d4575b50883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620060e39c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a57620061b7575b5060208054602154601f546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015260089190911c82166024820152929183916044918391165afa80156200092a57608051906200617c575b62002140915062016a3a565b506020813d602011620061ae575b81620061996020938362015f46565b81010312620009e25762002140905162006170565b3d91506200618a565b608051620061c59162015f46565b608051620003465780620060f8565b9193509350620061f6915060603d606011620009a65762000993818362015f46565b929092938c62006000565b9091506020813d60201162006235575b81620062206020938362015f46565b81010312620009e257519062005f9862005f4d565b3d915062006211565b925050506020813d60201162006276575b816200625e6020938362015f46565b81010312620009e2578862005f088b92519062005e91565b3d91506200624f565b91995050620062a0915060603d606011620009a65762000993818362015f46565b9198908a62005e4b565b925050506020813d602011620062e2575b81620062ca6020938362015f46565b81010312620009e257518790849062005dde62005d5a565b3d9150620062bb565b90506020813d6020116200631a575b81620063096020938362015f46565b81010312620009e257518762005d0e565b3d9150620062fa565b9093506020813d60201162006354575b81620063426020938362015f46565b81010312620009e25751928662005ccc565b3d915062006333565b506020813d6020116200638f575b816200637a6020938362015f46565b81010312620009e25762005c84905162005c78565b3d91506200636b565b608051620063a69162015f46565b60805162000346578262005bb2565b915050620063d5915060603d606011620009a65762000993818362015f46565b918c62005ab6565b9091506020813d60201162006411575b81620063fc6020938362015f46565b81010312620009e257519062005a4f62005a04565b3d9150620063ed565b9450505050506020813d60201162006458575b816200643c6020938362015f46565b81010312620009e2575187908b908b908990620059bf62005947565b3d91506200642d565b919750925062006483915060603d606011620009a65762000993818362015f46565b91969091928a620058ff565b9150506020813d602011620064c4575b81620064ae6020938362015f46565b81010312620009e257518590620006836200580d565b3d91506200649f565b90506020813d602011620064fc575b81620064eb6020938362015f46565b81010312620009e2575187620057c4565b3d9150620064dc565b9091506020813d60201162006536575b81620065246020938362015f46565b81010312620009e25751908662005782565b3d915062006515565b506020813d6020116200657a575b816200655c6020938362015f46565b81010312620003465762006574620056e69162015f88565b620056da565b3d91506200654d565b608051620065919162015f46565b60805162000346578062005680565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762006e39575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062006df5575b620066c7915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452846004850152602084602481865afa9384156200092a576080519462006dbb575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162006d83575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528660048201526020816024818b5afa9081156200092a57879185916080519162006d42575b50916200687491620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225495604051967fe341eaa400000000000000000000000000000000000000000000000000000000885260048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051978897889662006d12575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57859289916080519162006ccf575b50600495926200068360209593620069a4938b6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262006c92575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262006a31816062810162000683565b51902092604051937fe341eaa400000000000000000000000000000000000000000000000000000000855264098765432160048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a5760805194859182919062006c665750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b91505062006c8791945060603d606011620009a65762000993818362015f46565b909491948962004778565b9091506020813d60201162006cc6575b8162006cb16020938362015f46565b81010312620009e257519062006a31620069e6565b3d915062006ca2565b93505050926020823d60201162006d09575b8162006cf06020938362015f46565b81010312620009e2579051909284918890600462006927565b3d915062006ce1565b919850945062006d3591965060603d606011620009a65762000993818362015f46565b96919790969489620068e0565b925050506020813d60201162006d7a575b8162006d626020938362015f46565b81010312620009e257518690849062006874620067f0565b3d915062006d53565b90506020813d60201162006db2575b8162006da16020938362015f46565b81010312620009e2575187620067a4565b3d915062006d92565b9093506020813d60201162006dec575b8162006dda6020938362015f46565b81010312620009e25751928662006762565b3d915062006dcb565b506020813d60201162006e30575b8162006e126020938362015f46565b81010312620003465762006e2a620066c79162015f88565b620066bb565b3d915062006e03565b60805162006e479162015f46565b60805162000346578062006661565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620076eb575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620076a7575b62006f7d915062015f97565b8060320290603282040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42019042821162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481885afa9384156200092a57608051946200766d575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162007635575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818b5afa9081156200092a5787858793869360805191620075ee575b50620006839492620006836200714b9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225493604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528560048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519889988994620075be575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928a91608051916200757b575b506004959262000683602095936200727c938c6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200753e575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262007309816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a5760805194859182919062007512575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b9150506200753391945060603d606011620009a65762000993818362015f46565b909491948962007370565b9091506020813d60201162007572575b816200755d6020938362015f46565b81010312620009e257519062007309620072be565b3d91506200754e565b93505050926020823d602011620075b5575b816200759c6020938362015f46565b81010312620009e25790519092859189906004620071ff565b3d91506200758d565b9199509250620075e191975060603d606011620009a65762000993818362015f46565b9791989097928a620071b8565b9450505050506020813d6020116200762c575b81620076106020938362015f46565b81010312620009e25751849083908890869062000683620070c7565b3d915062007601565b90506020813d60201162007664575b81620076536020938362015f46565b81010312620009e257518762007079565b3d915062007644565b9093506020813d6020116200769e575b816200768c6020938362015f46565b81010312620009e25751928662007037565b3d91506200767d565b506020813d602011620076e2575b81620076c46020938362015f46565b810103126200034657620076dc62006f7d9162015f88565b62006f71565b3d9150620076b5565b608051620076f99162015f46565b60805162000346578062006f17565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620082ec575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620082a8575b6200782f915062015f97565b60c052603260c05181020460c0510362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062008264575b6200788f915062015f97565b90600582810204820362000a6457620078b18260050260c05160320262015fc3565b60a052610e104201421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481885afa9283156200092a57608051936200822a575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a5760805191620081f2575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa9081156200092a5760805191620081b7575b506040805160a080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96020840190815273ffffffffffffffffffffffffffffffffffffffff80891695850195909552938b166060840152608083015281019290925242610e100160c0830152620006839162007a4d9190620015bd8160e0810186565b5190209460225495604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528760048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9687156200092a5760805195608051926080519962008189575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a576080519162008151575b50604051602081019160805150825286604082015289606082015260c051603202608082015261567860a0820152610e10420160c08201524660e08201528261010082015287600502610120820152619999610140820152610140815262007b6b6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a576080519262008114575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262007bfb816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a57602499608051916080519460805196620080e7575b5060208b6040519d8e80927f70a082310000000000000000000000000000000000000000000000000000000082528c60048301525afa9a8b156200092a576080519b620080ac575b6040517f70a0823100000000000000000000000000000000000000000000000000000000815261567860048201529c5060208d602481845afa9c8d156200092a576080519d62008072575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c5261999960048d015260208c602481855afa9b8c156200092a576080519c62008038575b50883b15620003465760ff9586926040519b7f358a8f48000000000000000000000000000000000000000000000000000000008d526080515060048d015260248c015260c05160320260448c015260a05160648c015261567860848c0152610e10420160a48c015260c48b01528a60050260e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a576200801b575b5073ffffffffffffffffffffffffffffffffffffffff602054169273ffffffffffffffffffffffffffffffffffffffff6021541694604051957f70a082310000000000000000000000000000000000000000000000000000000087526004870152602086602481885afa9586156200092a576080519662007fe1575b50604051917f70a082310000000000000000000000000000000000000000000000000000000083526156786004840152602083602481895afa9283156200092a576080519362007fa4575b506020602496604051978880927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa9586156200092a576080519662007f5b575b509162003c1662007f519262007f44620021409962003c1662003c1699989760a051906201611f565b60c0516032029062015fc3565b6005029062015fc3565b919493929095506020823d60201162007f9b575b8162007f7e6020938362015f46565b81010312620009e2579051949293919290919062003c1662007f1b565b3d915062007f6f565b9592506020863d60201162007fd8575b8162007fc36020938362015f46565b81010312620009e25794519194602062007ecf565b3d915062007fb4565b9095506020813d60201162008012575b81620080006020938362015f46565b81010312620009e25751948662007e84565b3d915062007ff1565b608051620080299162015f46565b60805162000346578462007e08565b909b506020813d60201162008069575b81620080576020938362015f46565b81010312620009e257519a8e62007d47565b3d915062008048565b909c506020813d602011620080a3575b81620080916020938362015f46565b81010312620009e257519b8d62007cfc565b3d915062008082565b9a5060208c3d602011620080de575b81620080ca6020938362015f46565b81010312620009e25760049b519a62007cb1565b3d9150620080bb565b919450945062008109915060603d606011620009a65762000993818362015f46565b939093948c62007c69565b9091506020813d60201162008148575b81620081336020938362015f46565b81010312620009e257519062007bfb62007bb0565b3d915062008124565b90506020813d60201162008180575b816200816f6020938362015f46565b81010312620009e257518a62007b00565b3d915062008160565b9196509750620081ab915060603d606011620009a65762000993818362015f46565b91959091978962007abe565b90506020813d602011620081e9575b81620081d56020938362015f46565b81010312620009e2575162007a4d620079c9565b3d9150620081c6565b90506020813d60201162008221575b81620082106020938362015f46565b81010312620009e257518662007981565b3d915062008201565b9092506020813d6020116200825b575b81620082496020938362015f46565b81010312620009e2575191856200793f565b3d91506200823a565b506020813d6020116200829f575b81620082816020938362015f46565b810103126200034657620082996200788f9162015f88565b62007883565b3d915062008272565b506020813d602011620082e3575b81620082c56020938362015f46565b810103126200034657620082dd6200782f9162015f88565b62007823565b3d9150620082b6565b608051620082fa9162015f46565b608051620003465780620077c9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576020620083476201647d565b6040519015158152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601954620083918162015ff6565b90620083a1604051928362015f46565b80825260208201601960805152602060805120608051915b838310620083d1576040518062001a5e878262015e00565b600160208192620083e2856201600f565b815201920192019190620083b9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb000000000000000000000000000000000000000000000000000000008252600482015262989680602482015260805181604481608051865af180156200092a5762008b1e575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762008b01575b50610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481865afa9384156200092a576080519462008ac7575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262008a8d575b5060405190602082019260805150835260408201528260608201526305f5e100608082015261567860a08201528560c08201524660e0820152846101008201526080516101208201526080516101408201526101408152620086ad6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262008a50575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200873d816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805193849384929162008a22575b50604051907f095ea7b300000000000000000000000000000000000000000000000000000000825260048201526305f5e1006024820152602081604481608051875af180156200092a5762008a00575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526080518160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620089e3575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541696863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526305f5e10060448901526156786064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620089f19162015f46565b6080516200034657866200889d565b62008a1c9060203d602011620011865762001177818362015f46565b620087fa565b9150935062008a4491925060603d606011620009a65762000993818362015f46565b929190929387620087aa565b9091506020813d60201162008a84575b8162008a6f6020938362015f46565b81010312620009e25751906200873d620086f2565b3d915062008a60565b9091506020813d60201162008abe575b8162008aac6020938362015f46565b81010312620009e25751908662008648565b3d915062008a9d565b9093506020813d60201162008af8575b8162008ae66020938362015f46565b81010312620009e25751928562008605565b3d915062008ad7565b60805162008b0f9162015f46565b60805162000346578162008578565b60805162008b2c9162015f46565b608051620003465781620084e8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762009245575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062009201575b62008c62915062015f97565b908160320291603283040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff420142811162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a5760805196620091c7575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5787916080519162009189575b5062008dd6906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200914c575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262008e66816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805193608051926080519762009111575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a57620090ef575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f408b22340000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b608051620090e09162015f46565b60805162000346578662008fd7565b6200910b9060203d602011620011865762001177818362015f46565b62008f42565b602091975062008f2d9295508493506200913c9060603d606011620009a65762000993818362015f46565b9491969094989250925062008ed5565b9091506020813d60201162009180575b816200916b6020938362015f46565b81010312620009e257519062008e6662008e1b565b3d91506200915c565b9150506020813d602011620091be575b81620091a86020938362015f46565b81010312620009e25751869062008dd662008d5e565b3d915062009199565b9095506020813d602011620091f8575b81620091e66020938362015f46565b81010312620009e25751948662008d1b565b3d9150620091d7565b506020813d6020116200923c575b816200921e6020938362015f46565b8101031262000346576200923662008c629162015f88565b62008c56565b3d91506200920f565b608051620092539162015f46565b60805162000346578062008bfc565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601c54620092a28162015ff6565b90620092b2604051928362015f46565b80825260208201601c608051527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211608051915b838310620092fd576040518062001a5e878262015e81565b60026020600192604051620093128162015f29565b73ffffffffffffffffffffffffffffffffffffffff8654168152620093398587016201612d565b83820152815201920192019190620092e5565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762009b84575b506064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481855afa9283156200092a576080519362009b4a575b5073ffffffffffffffffffffffffffffffffffffffff60205416926040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a576080519162009b12575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152836004820152602081602481895afa9081156200092a576080519162009ad7575b50620095a562000683916040516020810191608051507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98352876040830152886060830152608051608083015260a08201528960c082015260c08152620015bd60e08262015f46565b51902060225492604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528460048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805196879687949062009aa7575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a578a9287916080519162009a64575b50600495926200068360209593620096d6936040519586948986019846938a929373ffffffffffffffffffffffffffffffffffffffff61012095815f98949a999561014088019b8852166020870152166040850152856060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262009a27575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262009763816062810162000683565b519020604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051948594859391620099fa575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2c5211c60000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620099dd575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d015260805160448d015260805160648d015261123460848d015260a48c015260c48b015260805160e48b01526080516101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620099eb9162015f46565b60805162000346578862009860565b919450945062009a1c915060603d606011620009a65762000993818362015f46565b9390939488620097cb565b9091506020813d60201162009a5b575b8162009a466020938362015f46565b81010312620009e25751906200976362009718565b3d915062009a37565b93505050926020823d60201162009a9e575b8162009a856020938362015f46565b81010312620009e2579051909289918690600462009659565b3d915062009a76565b919750955062009aca91925060603d606011620009a65762000993818362015f46565b9291969092958962009612565b90506020813d60201162009b09575b8162009af56020938362015f46565b81010312620009e25751620095a56200953c565b3d915062009ae6565b90506020813d60201162009b41575b8162009b306020938362015f46565b81010312620009e2575186620094f4565b3d915062009b21565b9092506020813d60201162009b7b575b8162009b696020938362015f46565b81010312620009e25751918462009498565b3d915062009b5a565b60805162009b929162015f46565b6080516200034657806200940d565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200a1af575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200a16b575b62009cc8915062015f97565b8060320290603282040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481855afa9586156200092a57608051966200a131575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928891608051916200a0ee575b5060049592620006836020959362009e26938a6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200a0b1575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262009eb3816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805193849283916200a087575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b919450506200a0a8915060603d606011620009a65762000993818362015f46565b93908662009f1e565b9091506020813d6020116200a0e5575b816200a0d06020938362015f46565b81010312620009e257519062009eb362009e68565b3d91506200a0c1565b93505050926020823d6020116200a128575b816200a10f6020938362015f46565b81010312620009e2579051909285918790600462009da9565b3d91506200a100565b9095506020813d6020116200a162575b816200a1506020938362015f46565b81010312620009e25751948662009d62565b3d91506200a141565b506020813d6020116200a1a6575b816200a1886020938362015f46565b8101031262000346576200a1a062009cc89162015f88565b62009cbc565b3d91506200a179565b6080516200a1bd9162015f46565b60805162000346578062009c62565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200aafe575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200aaba575b6200a34b915062015f97565b80600a0290600a82040362000a6457606442019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481885afa9586156200092a57608051966200aa80575b50604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481845afa9182156200092a57608051926200aa45575b506020602491604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528860048301525afa9081156200092a5786918491608051916200aa04575b50916200a4fb91620015bd6200068394620006836040519384928c60208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209260225492604051947fe341eaa40000000000000000000000000000000000000000000000000000000086528460048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805196879687936200a9d7575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578a91608051916200a99b575b50926020916200a626600495620006836040519384928c8c8986019846938a92936101209473ffffffffffffffffffffffffffffffffffffffff5f979399989461014087019a87521660208601528660408601526060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200a95e575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200a6b3816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958694916200a92e575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fc1ab6dc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200a911575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169773ffffffffffffffffffffffffffffffffffffffff6021541699893b15620003465760ff9683889460446040519e8f907f358a8f480000000000000000000000000000000000000000000000000000000082526080515060048201526080516024820152015260648d015261123460848d015260a48c015260c48b015260805160e48b01526080516101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200a91f9162015f46565b6080516200034657896200a7b0565b91935095506200a95191945060603d606011620009a65762000993818362015f46565b949192909495896200a71b565b9091506020813d6020116200a992575b816200a97d6020938362015f46565b81010312620009e25751906200a6b36200a668565b3d91506200a96e565b9150506020813d6020116200a9ce575b816200a9ba6020938362015f46565b81010312620009e25751899060206200a5ab565b3d91506200a9ab565b91975095506200a9f9915060603d606011620009a65762000993818362015f46565b91969095896200a568565b925050506020813d6020116200aa3c575b816200aa246020938362015f46565b81010312620009e25751859083906200a4fb6200a477565b3d91506200aa15565b9091506020813d6020116200aa77575b816200aa646020938362015f46565b81010312620009e257519060206200a429565b3d91506200aa55565b9095506020813d6020116200aab1575b816200aa9f6020938362015f46565b81010312620009e2575194866200a3e6565b3d91506200aa90565b506020813d6020116200aaf5575b816200aad76020938362015f46565b8101031262000346576200aaef6200a34b9162015f88565b6200a33f565b3d91506200aac8565b6080516200ab0c9162015f46565b6080516200034657806200a2e5565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200b311575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200b2cd575b6200ac42915062015f97565b9081600f0291600f83040362000a6457600a420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200b293575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200b259575b50604051906020820192608051508352604082015285606082015282608082015261077760a08201528460c08201524660e08201528661010082015260805161012082015260805161014082015261014081526200ad806101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200b21c575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200ae10816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200b1e1575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200b1bf575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541673ffffffffffffffffffffffffffffffffffffffff60205416823b1562000346576040517f3525916f00000000000000000000000000000000000000000000000000000000815260805173ffffffffffffffffffffffffffffffffffffffff93841660048301529290911660248201526044810185905261077760648201526084810187905260a481018990525f60c4820181905260e482015260ff861661010482015261012481018490526101448101889052918290818061016481010391608051905af180156200092a576200b1a2575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200b185575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526107776060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6080516200b1939162015f46565b6080516200034657866200b08a565b6080516200b1b09162015f46565b6080516200034657866200aff5565b6200b1db9060203d602011620011865762001177818362015f46565b6200aeec565b60209197506200aed79295508493506200b20c9060603d606011620009a65762000993818362015f46565b949196909498925092506200ae7f565b9091506020813d6020116200b250575b816200b23b6020938362015f46565b81010312620009e25751906200ae106200adc5565b3d91506200b22c565b9091506020813d6020116200b28a575b816200b2786020938362015f46565b81010312620009e2575190876200ad1f565b3d91506200b269565b9095506020813d6020116200b2c4575b816200b2b26020938362015f46565b81010312620009e2575194866200acdc565b3d91506200b2a3565b506020813d6020116200b308575b816200b2ea6020938362015f46565b8101031262000346576200b3026200ac429162015f88565b6200ac36565b3d91506200b2db565b6080516200b31f9162015f46565b6080516200034657806200abdc565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff601f5460081c166200b3898115156201655f565b604080516016906020906200b39f848262015f46565b828152017f547261696c73496e74656e74456e747279706f696e74000000000000000000008152209181517fffa1ad7400000000000000000000000000000000000000000000000000000000815260805181600481855afa9081156200b5bb5793602091600495608051916200b59b575b50828151910120845190838201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528683015260608201524660808201528360a082015260a081526200b46760c08262015f46565b519020918351948580927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9283156200b58f57608051936200b555575b508083036200b4b75760805180f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346578151927f7c84c69b0000000000000000000000000000000000000000000000000000000084526004840152602483015260805182604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200347057506200b538575b808062000907565b6080516200b5469162015f46565b6080516200034657806200b530565b9092506020813d6020116200b586575b816200b5746020938362015f46565b81010312620009e2575191836200b4a8565b3d91506200b565565b82513d608051823e3d90fd5b6200b5b491503d80608051833e62003494818362015f46565b866200b410565b83513d608051823e3d90fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601d546200b6078162015ff6565b906200b617604051928362015f46565b80825260208201601d608051527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f608051915b8383106200b662576040518062001a5e878262015e81565b600260206001926040516200b6778162015f29565b73ffffffffffffffffffffffffffffffffffffffff86541681526200b69e8587016201612d565b838201528152019201920191906200b64a565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200c58e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200c54a575b6200b7d8915062015f97565b908160320291603283040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252836004830152602082602481845afa9182156200092a57608051926200c510575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a57608051916200c4d8575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481885afa80156200092a578691608051916200c49a575b5062000683916200b98491620015bd8b620006838c6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209360225494604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528660048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519687938493906200c46c575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a578b888a938d93608051916200c425575b506200bab29291620006839160405195869460208601988b46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a57608051926200c3e8575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200bb42816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805191829182916200c3c0575b50863b1562000346578a958c956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b6200bc909c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a576200c3a3575b5073ffffffffffffffffffffffffffffffffffffffff6020541673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff601f5460081c16926040517fdd62ed3e000000000000000000000000000000000000000000000000000000008152602081806200bd5488886004840190929173ffffffffffffffffffffffffffffffffffffffff60209181604085019616845216910152565b0381865afa80156200092a57608051906200c368575b6200bd76915062016a3a565b604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481885afa9384156200092a57608051946200c32e575b506200bdca8462016abc565b6040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a57608051916200c2f6575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff8085169282019290925290851660608201526080810188905261567860a082015260c081018490524660e082015261010081018690525f61012082018190526101408201526200be8181610160810162000683565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a57608051926200c2b9575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200bf11816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519485938493906200c28b575b50604051917f70a082310000000000000000000000000000000000000000000000000000000083526004830152602082602481845afa9788156200092a578992608051996200c24b575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019290925260805160209183916044918391905af180156200092a576200c229575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff6020541691843b15620003465789936200c12e92604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a576200c20c575b5073ffffffffffffffffffffffffffffffffffffffff6020541690602073ffffffffffffffffffffffffffffffffffffffff602154166024604051809581937f70a0823100000000000000000000000000000000000000000000000000000000835260048301525afa9182156200092a57608051926200c1cf575b50620021409262003c16916201611f565b9091506020813d6020116200c203575b816200c1ee6020938362015f46565b81010312620009e2575190620021406200c1be565b3d91506200c1df565b6080516200c21a9162015f46565b6080516200034657826200c143565b6200c2459060203d602011620011865762001177818362015f46565b6200c031565b925097506020823d6020116200c282575b816200c26b6020938362015f46565b81010312620009e25790519688919060206200bfc7565b3d91506200c25c565b91955092506200c2ad915060603d606011620009a65762000993818362015f46565b9194909192896200bf7d565b9091506020813d6020116200c2ed575b816200c2d86020938362015f46565b81010312620009e25751906200bf116200bec6565b3d91506200c2c9565b90506020813d6020116200c325575b816200c3146020938362015f46565b81010312620009e25751876200be0b565b3d91506200c305565b9093506020813d6020116200c35f575b816200c34d6020938362015f46565b81010312620009e2575192866200bdbe565b3d91506200c33e565b506020813d6020116200c39a575b816200c3856020938362015f46565b81010312620009e2576200bd7690516200bd6a565b3d91506200c376565b6080516200c3b19162015f46565b6080516200034657826200bca5565b9150506200c3e0915060603d606011620009a65762000993818362015f46565b918c6200bba9565b9091506020813d6020116200c41c575b816200c4076020938362015f46565b81010312620009e25751906200bb426200baf7565b3d91506200c3f8565b9450505050506020813d6020116200c463575b816200c4476020938362015f46565b81010312620009e2575187908a908c9089906200bab26200ba3a565b3d91506200c438565b91975092506200c48e915060603d606011620009a65762000993818362015f46565b91969091928a6200b9f2565b9150506020813d6020116200c4cf575b816200c4b96020938362015f46565b81010312620009e257518590620006836200b900565b3d91506200c4aa565b90506020813d6020116200c507575b816200c4f66020938362015f46565b81010312620009e25751876200b8b7565b3d91506200c4e7565b9091506020813d6020116200c541575b816200c52f6020938362015f46565b81010312620009e2575190866200b875565b3d91506200c520565b506020813d6020116200c585575b816200c5676020938362015f46565b8101031262000346576200c57f6200b7d89162015f88565b6200b7cc565b3d91506200c558565b6080516200c59c9162015f46565b6080516200034657806200b772565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200cc3a575b506004602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f313ce5670000000000000000000000000000000000000000000000000000000082525afa80156200092a57608051906200cbf6575b6200c6d2915062015f97565b80600a0290600a82040362000a6457606442019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481845afa9384156200092a57608051946200cbbc575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578591608051916200cb80575b50926020916200c82a600495620006836040519384928c8b8986019846938a92936101209473ffffffffffffffffffffffffffffffffffffffff5f979399989461014087019a87521660208601528660408601526060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200cb43575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200c8b7816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805192839283916200cb18575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fc1ab6dc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200cafb575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541696863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260805160248a015260448901526112346064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200cb099162015f46565b6080516200034657866200c9b7565b919350506200cb39915060603d606011620009a65762000993818362015f46565b929091866200c922565b9091506020813d6020116200cb77575b816200cb626020938362015f46565b81010312620009e25751906200c8b76200c86c565b3d91506200cb53565b9150506020813d6020116200cbb3575b816200cb9f6020938362015f46565b81010312620009e25751849060206200c7af565b3d91506200cb90565b9093506020813d6020116200cbed575b816200cbdb6020938362015f46565b81010312620009e2575192856200c76c565b3d91506200cbcc565b506020813d6020116200cc31575b816200cc136020938362015f46565b8101031262000346576200cc2b6200c6d29162015f88565b6200c6c6565b3d91506200cc04565b6080516200cc489162015f46565b6080516200034657806200c66c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576020602254604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601a546200ccd68162015ff6565b906200cce6604051928362015f46565b80825260208201601a60805152602060805120608051915b8383106200cd16576040518062001a5e878262015e00565b6001602081926200cd27856201600f565b8152019201920191906200ccfe565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200d633575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200d5ef575b6200ce5d915062015f97565b908160320291603283040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252826004830152602082602481845afa9182156200092a57608051926200d5b5575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a57608051916200d57d575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481895afa80156200092a578591608051916200d53f575b5062000683916200d00891620015bd8b620006838c6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225493604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528560048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a576080519687948594906200d50f575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a578b928b8992608051926200d4c8575b509262000683602095936200d13c93600499966040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff610120969299989481619999999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e08201525f6101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200d48b575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200d1c9816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958695916200d45b575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200d43e575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169773ffffffffffffffffffffffffffffffffffffffff602154169973ffffffffffffffffffffffffffffffffffffffff602054168a3b1562000346576040519b7f358a8f48000000000000000000000000000000000000000000000000000000008d526080515060048d015260248c01528060448c015260648b015260848a01615678905260a48a015260c489015260805160e48901526101048801619999905260ff1661012488015261014487015261016486015260ff166101848501526101a48401526101c48301528160805191816080515a926101e493f180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200d44c9162015f46565b6080516200034657896200d2c6565b91945095506200d47e91945060603d606011620009a65762000993818362015f46565b949193909495896200d231565b9091506020813d6020116200d4bf575b816200d4aa6020938362015f46565b81010312620009e25751906200d1c96200d17e565b3d91506200d49b565b9450505050926020823d6020116200d506575b816200d4ea6020938362015f46565b81010312620009e257905190928a9187908b620006836200d0bd565b3d91506200d4db565b91975093506200d53291925060603d606011620009a65762000993818362015f46565b9291969092938a6200d075565b9150506020813d6020116200d574575b816200d55e6020938362015f46565b81010312620009e257518490620006836200cf84565b3d91506200d54f565b90506020813d6020116200d5ac575b816200d59b6020938362015f46565b81010312620009e25751876200cf3b565b3d91506200d58c565b9091506020813d6020116200d5e6575b816200d5d46020938362015f46565b81010312620009e2575190866200cef9565b3d91506200d5c5565b506020813d6020116200d62a575b816200d60c6020938362015f46565b8101031262000346576200d6246200ce5d9162015f88565b6200ce51565b3d91506200d5fd565b6080516200d6419162015f46565b6080516200034657806200cdf7565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200dd8a575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200dd46575b6200d777915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200dd0c575b506200d81e8662016a3a565b6040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a578791608051916200dcce575b506200d8d8906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200dc91575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200d968816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200dc56575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200dc34575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200db3f92604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a576200dc17575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16602073ffffffffffffffffffffffffffffffffffffffff602154166024604051809481937f7ecebe0000000000000000000000000000000000000000000000000000000000835260048301525afa80156200092a57608051906200dbdc575b62002140915062016abc565b506020813d6020116200dc0e575b816200dbf96020938362015f46565b81010312620009e2576200214090516200dbd0565b3d91506200dbea565b6080516200dc259162015f46565b6080516200034657806200db54565b6200dc509060203d602011620011865762001177818362015f46565b6200da44565b60209197506200da2f9295508493506200dc819060603d606011620009a65762000993818362015f46565b949196909498925092506200d9d7565b9091506020813d6020116200dcc5575b816200dcb06020938362015f46565b81010312620009e25751906200d9686200d91d565b3d91506200dca1565b9150506020813d6020116200dd03575b816200dced6020938362015f46565b81010312620009e2575186906200d8d86200d860565b3d91506200dcde565b9095506020813d6020116200dd3d575b816200dd2b6020938362015f46565b81010312620009e2575194866200d812565b3d91506200dd1c565b506020813d6020116200dd81575b816200dd636020938362015f46565b8101031262000346576200dd7b6200d7779162015f88565b6200d76b565b3d91506200dd54565b6080516200dd989162015f46565b6080516200034657806200d711565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a576200e495575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200e478575b50610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481885afa9283156200092a57608051936200e43e575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa80156200092a578491608051916200e400575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292861660608401526302faf080608084015261567860a084015260c083018490524660e08401526101008301919091525f6101208301819052610140830152906200e07b81610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a57608051926200e3c3575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200e10b816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a576080519586958694906200e393575b50604051907f095ea7b30000000000000000000000000000000000000000000000000000000082526080515060048201526302faf07f6024820152602081604481608051865af180156200092a576200e371575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e63650000000000000000000060448201526080518160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200e354575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541695843b1562000346576200494191604051988997889687967f3525916f0000000000000000000000000000000000000000000000000000000088526080519b600489019361014095919897969373ffffffffffffffffffffffffffffffffffffffff60ff948161016089019c1688521660208701526302faf08060408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6080516200e3629162015f46565b6080516200034657866200e26f565b6200e38d9060203d602011620011865762001177818362015f46565b6200e1cc565b91965094506200e3b691925060603d606011620009a65762000993818362015f46565b929195909294876200e178565b9091506020813d6020116200e3f7575b816200e3e26020938362015f46565b81010312620009e25751906200e10b6200e0c0565b3d91506200e3d3565b9150506020813d6020116200e435575b816200e41f6020938362015f46565b81010312620009e2575183906200e07b6200e000565b3d91506200e410565b9092506020813d6020116200e46f575b816200e45d6020938362015f46565b81010312620009e2575191856200dfbd565b3d91506200e44e565b6080516200e4869162015f46565b6080516200034657816200df2f565b6080516200e4a39162015f46565b6080516200034657816200de9f565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200eaeb575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200eaa7575b6200e5d9915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200ea6d575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a578791608051916200ea2f575b506200e72f906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200e9f2575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200e7bf816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200e9b7575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200e995575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6200e9b19060203d602011620011865762001177818362015f46565b62008fd7565b60209197506200e8869295508493506200e9e29060603d606011620009a65762000993818362015f46565b949196909498925092506200e82e565b9091506020813d6020116200ea26575b816200ea116020938362015f46565b81010312620009e25751906200e7bf6200e774565b3d91506200ea02565b9150506020813d6020116200ea64575b816200ea4e6020938362015f46565b81010312620009e2575186906200e72f6200e6b7565b3d91506200ea3f565b9095506020813d6020116200ea9e575b816200ea8c6020938362015f46565b81010312620009e2575194866200e674565b3d91506200ea7d565b506020813d6020116200eae2575b816200eac46020938362015f46565b8101031262000346576200eadc6200e5d99162015f88565b6200e5cd565b3d91506200eab5565b6080516200eaf99162015f46565b6080516200034657806200e573565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200f49d575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200f459575b6200ec2f915062015f97565b908160320291603283040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481895afa9384156200092a57608051946200f41f575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a57608051916200f3e7575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818a5afa9081156200092a57888587938693608051916200f3a0575b50620006839492620006836200ede09593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225490604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528260048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805198899889946200f370575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a5788918a91608051916200f32f575b506200ef0b90620006836040519384928c8c8b602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57608051926200f2f2575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200ef9b816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a576080519788948594906200f2c2575b50823b1562000346576040517f358a8f480000000000000000000000000000000000000000000000000000000081526080805173ffffffffffffffffffffffffffffffffffffffff93841660048401529390921660248201526044810188905260648101889052615678608482015260a4810189905260c481018b90525f60e4820181905261010482015260ff8d811661012483015261014482018d905261016482018890528a166101848201526101a481018590526101c481018690529051909283916101e4918391905af180156200092a576200f2a5575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b6080516200f2b39162015f46565b6080516200034657896200f0dd565b91985093506200f2e591925060603d606011620009a65762000993818362015f46565b9291979092938c6200f003565b9091506020813d6020116200f326575b816200f3116020938362015f46565b81010312620009e25751906200ef9b6200ef50565b3d91506200f302565b925050506020813d6020116200f367575b816200f34f6020938362015f46565b81010312620009e257886200ef0b899251906200ee93565b3d91506200f340565b91995092506200f39391975060603d606011620009a65762000993818362015f46565b9791989097928a6200ee4d565b9450505050506020813d6020116200f3de575b816200f3c26020938362015f46565b81010312620009e257518490839089908690620006836200ed5c565b3d91506200f3b3565b90506020813d6020116200f416575b816200f4056020938362015f46565b81010312620009e25751876200ed0e565b3d91506200f3f6565b9093506020813d6020116200f450575b816200f43e6020938362015f46565b81010312620009e2575192866200eccc565b3d91506200f42f565b506020813d6020116200f494575b816200f4766020938362015f46565b8101031262000346576200f48e6200ec2f9162015f88565b6200ec23565b3d91506200f467565b6080516200f4ab9162015f46565b6080516200034657806200ebc9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200faae575b506064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481845afa9384156200092a57608051946200fa74575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578491608051916200fa38575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff97881691810191909152951660608601525f6080860181905261123460a087015260c08601939093524660e0860152610100850187905261012085018390526101408501929092526004936200f6c881610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200f9fb575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200f755816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519283928392906200f9d1575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2c5211c60000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200f9b4575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a0152602489015260805160448901526112346064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200f9c29162015f46565b6080516200034657856200f856565b915092506200f9f2915060603d606011620009a65762000993818362015f46565b9192856200f7c1565b9091506020813d6020116200fa2f575b816200fa1a6020938362015f46565b81010312620009e25751906200f7556200f70a565b3d91506200fa0b565b9150506020813d6020116200fa6b575b816200fa576020938362015f46565b81010312620009e25751839060206200f649565b3d91506200fa48565b9093506020813d6020116200faa5575b816200fa936020938362015f46565b81010312620009e2575192846200f606565b3d91506200fa84565b6080516200fabc9162015f46565b6080516200034657806200f57b565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200fe61575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481865afa9384156200092a57608051946200fe22575b5083826200fc269262016879565b92909193602073ffffffffffffffffffffffffffffffffffffffff815416916044604051809481937f095ea7b30000000000000000000000000000000000000000000000000000000083526080515060048301526802fb474098f67c00006024830152608051905af180156200092a576200fe00575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526802b5e3af16b188000060448901526156786064890152608488015260a4870152674563918244f4000060c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620031c957506024602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa80156200092a57608051906200318e57620021409150620169a6565b6200fe1c9060203d602011620011865762001177818362015f46565b6200fc9c565b909193506020813d6020116200fe58575b816200fe426020938362015f46565b81010312620009e2575192906200fc266200fc18565b3d91506200fe33565b6080516200fe6f9162015f46565b6080516200034657806200fb8c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601b546200febe8162015ff6565b906200fece604051928362015f46565b808252602082019081601b608051527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1608051915b8383106200ffb557848660405191829160208301906020845251809152604083019060408160051b8501019291608051905b8282106200ff4557505050500390f35b919360206200ffa4827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836200ff93835160408452604084019062015d66565b920151908481840391015262015da9565b96019201920185949391926200ff35565b600260206001926040516200ffca8162015f29565b6200ffd5866201600f565b81526200ffe48587016201612d565b838201528152019201920191906200ff03565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620109a3575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906201095f575b6201011e915062015f97565b908160320291603283040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff60215416906040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481885afa9081156200092a576080519162010927575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a5760805191620108ef575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481875afa9081156200092a5787898793899360805191620108a8575b5062000683949262000683620102ce9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225496604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528860048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519586938492906201087b575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818d5afa9081156200092a5784878b938a936080519162010834575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff8089169282019290925294166060850152608084019490945261567860a084015260c08301919091524660e08301526101008201525f610120820181905261014082015260049190620103fc81610160810162000683565b51902060208b604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620107f7575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201048b816062810162000683565b5190206040519a7fe341eaa4000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260608a604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a57608051996080519b60805198620107c7575b50813b156200034657604051927fd505accf0000000000000000000000000000000000000000000000000000000084526004840152602483015288604483015283606483015260ff881660848301528260a48301528460c48301528160e48160805193608051905af180156200092a57620107aa575b5073ffffffffffffffffffffffffffffffffffffffff602054169473ffffffffffffffffffffffffffffffffffffffff60215416906040519a7f70a08231000000000000000000000000000000000000000000000000000000008c528260048d015260208c6024818b5afa9b8c156200092a576080519c62010770575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c5261567860048d015260208c6024818c5afa9b8c156200092a576080519c62010736575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1696873b1562000346578b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62003b1c9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b909b506020813d60201162010767575b81620107556020938362015f46565b81010312620009e257519a8d62010634565b3d915062010746565b909b506020813d602011620107a1575b816201078f6020938362015f46565b81010312620009e257519a8c620105e9565b3d915062010780565b608051620107b89162015f46565b6080516200034657896201056c565b919a509650620107ea919a5060603d606011620009a65762000993818362015f46565b9a9199909a968c620104f6565b9091506020813d6020116201082b575b81620108166020938362015f46565b81010312620009e25751906201048b62010440565b3d915062010807565b9450505050506020813d60201162010872575b81620108566020938362015f46565b81010312620009e2575188908790859088906200068362010383565b3d915062010847565b915092506201089d91955060603d606011620009a65762000993818362015f46565b919591928a6201033b565b9450505050506020813d602011620108e6575b81620108ca6020938362015f46565b81010312620009e257518490869088908a90620006836201024a565b3d9150620108bb565b90506020813d6020116201091e575b816201090d6020938362015f46565b81010312620009e2575187620101fc565b3d9150620108fe565b90506020813d60201162010956575b81620109456020938362015f46565b81010312620009e2575186620101ba565b3d915062010936565b506020813d6020116201099a575b816201097c6020938362015f46565b810103126200034657620109946201011e9162015f88565b62010112565b3d91506201096d565b608051620109b19162015f46565b608051620003465780620100b8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a576201137a575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576201135d575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252806004830152602082602481875afa9182156200092a576080519262011323575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a5760805192620112e9575b5060405190602082019260805150835260408201528560608201526302faf080608082015261567860a08201528360c08201524660e082015282610100820152624c4b40610120820152619999610140820152610140815262010c7d6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a5760805192620112ac575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262010d0d816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805194859384936201127f575b50604051907f095ea7b30000000000000000000000000000000000000000000000000000000082526080515060048201526303473bc060248201526020816044816080518b5af180156200092a576201125d575b5073ffffffffffffffffffffffffffffffffffffffff6021541691604051937f70a082310000000000000000000000000000000000000000000000000000000085528360048601526020856024818b5afa9485156200092a576080519562011223575b50604051957f70a0823100000000000000000000000000000000000000000000000000000000875261567860048801526020876024818c5afa9687156200092a5760805197620111e9575b50604051977f70a0823100000000000000000000000000000000000000000000000000000000895261999960048a01526020896024818d5afa9889156200092a5760805199620111af575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1694853b15620003465760ff92604051977f3525916f0000000000000000000000000000000000000000000000000000000089526080515060048901528b60248901526302faf08060448901526156786064890152608488015260a4870152624c4b4060c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a5762011192575b5073ffffffffffffffffffffffffffffffffffffffff6021541690604051917f70a082310000000000000000000000000000000000000000000000000000000083526004830152602082602481885afa9182156200092a576080519262011158575b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcb8c440810190811162000a64576201101a9162016b42565b604051927f70a082310000000000000000000000000000000000000000000000000000000084526156786004850152602084602481845afa9384156200092a57608051946201111e575b506302faf080820180921162000a64576201108460209260249562016b42565b604051938480927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa9182156200092a5760805192620110e4575b50624c4b40810180911162000a6457620021409162016b42565b9091506020813d60201162011115575b81620111036020938362015f46565b81010312620009e257519082620110ca565b3d9150620110f4565b9093506020813d6020116201114f575b816201113d6020938362015f46565b81010312620009e25751928462011064565b3d91506201112e565b9091506020813d60201162011189575b81620111776020938362015f46565b81010312620009e25751908562010fe3565b3d915062011168565b608051620111a09162015f46565b60805162000346578462010f81565b9098506020813d602011620111e0575b81620111ce6020938362015f46565b81010312620009e25751978a62010ec6565b3d9150620111bf565b9096506020813d6020116201121a575b81620112086020938362015f46565b81010312620009e25751958962010e7b565b3d9150620111f9565b9094506020813d60201162011254575b81620112426020938362015f46565b81010312620009e25751938862010e30565b3d915062011233565b620112799060203d602011620011865762001177818362015f46565b62010dcd565b9195509250620112a1915060603d606011620009a65762000993818362015f46565b919490928762010d79565b9091506020813d602011620112e0575b81620112cb6020938362015f46565b81010312620009e257519062010d0d62010cc2565b3d9150620112bc565b9091506020813d6020116201131a575b81620113086020938362015f46565b81010312620009e25751908662010c17565b3d9150620112f9565b9091506020813d60201162011354575b81620113426020938362015f46565b81010312620009e25751908562010bd4565b3d915062011333565b6080516201136b9162015f46565b60805162000346578162010b48565b608051620113889162015f46565b60805162000346578162010ab8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927ff39610400000000000000000000000000000000000000000000000000000000082525afa9081156200092a5760805191620114fd575b507f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98103620114565760805180f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f7c84c69b00000000000000000000000000000000000000000000000000000000825260048201527f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c9602482015260805181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a571562000907576080516200091b9162015f46565b90506020813d6020116201152c575b816201151b6020938362015f46565b81010312620009e257518162011427565b3d91506201150c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762011d7e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062011d3a575b6201165c915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452846004850152602084602481865afa9384156200092a576080519462011d00575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162011cc8575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528660048201526020816024818b5afa9081156200092a57879185916080519162011c87575b50916201180991620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902094604051957fe341eaa400000000000000000000000000000000000000000000000000000000875264098765432160048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051978897889662011c57575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57859289916080519162011c14575b506004959262000683602095936201193b938b6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262011bd7575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620119c8816062810162000683565b51902092604051937fe341eaa400000000000000000000000000000000000000000000000000000000855264098765432160048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051948591829190620075125750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b9091506020813d60201162011c0b575b8162011bf66020938362015f46565b81010312620009e2575190620119c86201197d565b3d915062011be7565b93505050926020823d60201162011c4e575b8162011c356020938362015f46565b81010312620009e25790519092849188906004620118be565b3d915062011c26565b919850945062011c7a91965060603d606011620009a65762000993818362015f46565b9691979096948962011877565b925050506020813d60201162011cbf575b8162011ca76020938362015f46565b81010312620009e25751869084906201180962011785565b3d915062011c98565b90506020813d60201162011cf7575b8162011ce66020938362015f46565b81010312620009e257518762011739565b3d915062011cd7565b9093506020813d60201162011d31575b8162011d1f6020938362015f46565b81010312620009e257519286620116f7565b3d915062011d10565b506020813d60201162011d75575b8162011d576020938362015f46565b81010312620003465762011d6f6201165c9162015f88565b62011650565b3d915062011d48565b60805162011d8c9162015f46565b608051620003465780620115f6565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff60215416604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206017549182815201906017608051527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15906080515b81811062011e785762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162011e5d565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206018549182815201906018608051527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e906080515b81811062011f2d5762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162011f12565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620125a3575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c166024602073ffffffffffffffffffffffffffffffffffffffff6021541692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528660048301525afa9081156200092a57608051916201256b575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a576080519262012531575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528960048301525afa80156200092a57869160805191620124f3575b5091620121f991620015bd620006839462000683604051938492680340aad21b3b6fffff60208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5784608051946080519360805195620124bc575b5062012277918391620165e9565b949093737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7719991e0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576201249f575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d0152680340aad21b3b6fffff60648d015261567860848d015260a48c015260c48b0152678ac7230489e8000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620124ad9162015f46565b6080516200034657886201230e565b62012277929650620124e491955083945060603d606011620009a65762000993818362015f46565b94919690949591509162012269565b9150506020813d60201162012528575b81620125126020938362015f46565b81010312620009e257518590620121f96201216c565b3d915062012503565b9091506020813d60201162012562575b81620125506020938362015f46565b81010312620009e25751908562012105565b3d915062012541565b90506020813d6020116201259a575b81620125896020938362015f46565b81010312620009e2575183620120a7565b3d91506201257a565b608051620125b19162015f46565b6080516200034657806201201b565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762012c6e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062012c2a575b620126e7915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a576080519162012bf2575b5073ffffffffffffffffffffffffffffffffffffffff60215416604051906020820192608051508352604082015283606082015282608082015261567860a08201528560c08201524660e08201526103e76101008201526080516101208201526080516101408201526101408152620127de6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a576080519262012bb5575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201286e816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805194859485949062012b7a575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018390529060209082908180604481015b0391608051905af180156200092a5762012b58575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762012b3b575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526044880152615678606488015260848701526103e760a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162012b499162015f46565b608051620003465785620129dd565b62012b749060203d602011620011865762001177818362015f46565b62012948565b62012933929650602091955083945062012ba59060603d606011620009a65762000993818362015f46565b95919790959692509250620128db565b9091506020813d60201162012be9575b8162012bd46020938362015f46565b81010312620009e25751906201286e62012823565b3d915062012bc5565b90506020813d60201162012c21575b8162012c106020938362015f46565b81010312620009e257518562012762565b3d915062012c01565b506020813d60201162012c65575b8162012c476020938362015f46565b81010312620003465762012c5f620126e79162015f88565b620126db565b3d915062012c38565b60805162012c7c9162015f46565b60805162000346578062012681565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013543575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620134ff575b62012db2915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652816004870152602086602481865afa9586156200092a5760805196620134c5575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019181831162000a64576040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a57608051916201348d575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528260048201526020816024818b5afa9081156200092a5786918891608051916201344c575b509162012f8a91620015bd6200068394620006836040519384928c60208501978c89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225490604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a576080519889978895906201341c575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5787928b8e9260805192620133d5575b50926200068360209593620130bd93600499966040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262013398575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201314a816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a57608051918291829162013370575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013353575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff602054169a893b1562000346576040519c8d9b8c9a8b9a7f358a8f48000000000000000000000000000000000000000000000000000000008c526080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b608051620133619162015f46565b60805162000346578a62013220565b91505062013390915060603d606011620009a65762000993818362015f46565b918a620131b1565b9091506020813d602011620133cc575b81620133b76020938362015f46565b81010312620009e25751906201314a620130ff565b3d9150620133a8565b9450505050926020823d60201162013413575b81620133f76020938362015f46565b81010312620009e2579051909286918c908b6200068362013040565b3d9150620133e8565b91995096506201343f91935060603d606011620009a65762000993818362015f46565b9391989093968b62012ff8565b925050506020813d60201162013484575b816201346c6020938362015f46565b81010312620009e257518590879062012f8a62012f06565b3d91506201345d565b90506020813d602011620134bc575b81620134ab6020938362015f46565b81010312620009e257518862012eba565b3d91506201349c565b9095506020813d602011620134f6575b81620134e46020938362015f46565b81010312620009e25751948662012e4c565b3d9150620134d5565b506020813d6020116201353a575b816201351c6020938362015f46565b8101031262000346576201353462012db29162015f88565b62012da6565b3d91506201350d565b608051620135519162015f46565b60805162000346578062012d4c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601e54620135a08162015ff6565b90620135b0604051928362015f46565b808252602082019081601e608051527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350608051915b8383106201370d57848660405191829160208301906020845251809152604083019060408160051b8501019291608051905b8282106201362757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401926080515b828110620136c1575050505050602080600192960192019201859493919262013617565b9091929394602080620136ff837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08760019603018952895162015d66565b97019501939291016201369d565b6040516201371b8162015f29565b825473ffffffffffffffffffffffffffffffffffffffff168152600183018054620137468162015ff6565b9162013756604051938462015f46565b81835260208301906080515260206080512090608051905b83821062013796575050505060019282602092836002950152815201920192019190620135e5565b600160208192620137a7866201600f565b8152019301910190916201376e565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013e86575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062013e42575b620138dd915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a576080519662013e08575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5787916080519162013dca575b5062013a33906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262013d8d575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262013ac3816062810162000683565b519020604051907fe341eaa400000000000000000000000000000000000000000000000000000000825264098765432160048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805193608051926080519762013d52575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a5762013d30575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b62013d4c9060203d602011620011865762001177818362015f46565b62013ba1565b602091975062013b8c92955084935062013d7d9060603d606011620009a65762000993818362015f46565b9491969094989250925062013b34565b9091506020813d60201162013dc1575b8162013dac6020938362015f46565b81010312620009e257519062013ac362013a78565b3d915062013d9d565b9150506020813d60201162013dff575b8162013de96020938362015f46565b81010312620009e25751869062013a33620139bb565b3d915062013dda565b9095506020813d60201162013e39575b8162013e276020938362015f46565b81010312620009e25751948662013978565b3d915062013e18565b506020813d60201162013e7d575b8162013e5f6020938362015f46565b81010312620003465762013e77620138dd9162015f88565b620138d1565b3d915062013e50565b60805162013e949162015f46565b60805162000346578062013877565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014899575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062014855575b62013fca915062015f97565b908160320291603283040362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062014811575b62014026915062015f97565b90600582810204820362000a645762014043826005028462015fc3565b92610e1042019384421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481865afa9384156200092a5760805194620147d7575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a57608051916201479f575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528360048201526020816024818b5afa9081156200092a576080519162014764575b50620141dd620006839162000683620015bd8d60405192839160208301958a8d8d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209160225496604051937fe341eaa40000000000000000000000000000000000000000000000000000000085528860048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805195869586949162014734575b50604051927ff3961040000000000000000000000000000000000000000000000000000000008452602084600481865afa9182156200092a57898b938f8f9760805192620146ed575b5060408051602081810194855273ffffffffffffffffffffffffffffffffffffffff96871692820192909252949095166060850152608084019590955261567860a084015260c08301949094524660e083015261010082015260059094026101208501525f6101408501526004939091906201431581610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620146b0575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620143a2816062810162000683565b519020604051977fe341eaa400000000000000000000000000000000000000000000000000000000895260048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9788156200092a5760805198899889979162014680575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014663575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169a73ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff60205416998d3b15620003465760ff9a8b9760405160e0527f358a8f480000000000000000000000000000000000000000000000000000000060e05152608051506101e460e0515050600460e0510152602460e0510152604460e0510152606460e0510152615678608460e051015260a460e051015260c460e051015260050260e460e051015260805161010460e05101521661012460e051015261014460e051015261016460e05101521661018460e05101526101a460e05101526101c460e0510152608051906101e460e0519160e05190608051905af180156200092a576201464457737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6201465460805160e05162015f46565b60805115620021405760805180fd5b608051620146719162015f46565b60805162000346578b6201449f565b9196509850620146a391975060603d606011620009a65762000993818362015f46565b9791959097988b6201440a565b9091506020813d602011620146e4575b81620146cf6020938362015f46565b81010312620009e2575190620143a262014357565b3d9150620146c0565b955050505093506020823d6020116201472b575b81620147106020938362015f46565b81010312620009e25790518b938a92918a908f602062014294565b3d915062014701565b91935095506201475791945060603d606011620009a65762000993818362015f46565b9491929094958c6201424b565b90506020813d60201162014796575b81620147826020938362015f46565b81010312620009e25751620141dd62014159565b3d915062014773565b90506020813d602011620147ce575b81620147bd6020938362015f46565b81010312620009e257518962014111565b3d9150620147ae565b9093506020813d60201162014808575b81620147f66020938362015f46565b81010312620009e257519288620140cf565b3d9150620147e7565b506020813d6020116201484c575b816201482e6020938362015f46565b81010312620003465762014846620140269162015f88565b6201401a565b3d91506201481f565b506020813d60201162014890575b81620148726020938362015f46565b8101031262000346576201488a62013fca9162015f88565b62013fbe565b3d915062014863565b608051620148a79162015f46565b60805162000346578062013f64565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206016549182815201906016608051527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289906080515b8181106201493e5762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162014923565b62015394565b34620009e2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e25773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f06447d5600000000000000000000000000000000000000000000000000000000825260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620150cc57620150b5575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062015071575b62014a92915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552806004860152602085602481865afa9485156200092a576080519562015037575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5786916080519162014ff9575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292861660608401526080830184905261567860a084015260c083018890524660e08401526101008301919091525f6101208301526199996101408301529062014be981610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262014fbc575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262014c79816062810162000683565b5190209160225492604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a5760805194859485939162014f82575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a5762014f60575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014f43575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff602154169673ffffffffffffffffffffffffffffffffffffffff6020541693873b15620003465760ff94604051997f3525916f000000000000000000000000000000000000000000000000000000008b526080515060048b015260248a015260448901526156786064890152608488015260a487015260805160c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162014f519162015f46565b60805162000346578662014de8565b62014f7c9060203d602011620011865762001177818362015f46565b62014d53565b602091965084955062014d3e92935062014fad9060603d606011620009a65762000993818362015f46565b97909691949350915062014ce6565b9091506020813d60201162014ff0575b8162014fdb6020938362015f46565b81010312620009e257519062014c7962014c2e565b3d915062014fcc565b9150506020813d6020116201502e575b81620150186020938362015f46565b81010312620009e25751859062014be962014b70565b3d915062015009565b9094506020813d60201162015068575b81620150566020938362015f46565b81010312620009e25751938662014b2d565b3d915062015047565b506020813d602011620150ac575b816201508e6020938362015f46565b810103126200034657620150a662014a929162015f88565b62014a86565b3d91506201507f565b5f620150c19162015f46565b5f6080528062014a2c565b6040513d5f823e3d90fd5b34620009e2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e257610e2980820182811067ffffffffffffffff8211176201536757829162016bc8833903905ff08015620150cc577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f5560405161185480820182811067ffffffffffffffff82111762015367578291620179f1833903905ff08015620150cc5773ffffffffffffffffffffffffffffffffffffffff16807fffffffffffffffffffffffff0000000000000000000000000000000000000000602054161760205573ffffffffffffffffffffffffffffffffffffffff602154166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481865afa8015620150cc575f9062015323575b6201524c915062015f97565b806103e802906103e8820403620152f6576040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff929092166004830152602482015290602090829060449082905f905af18015620150cc57620152d0915f91620152d2575b506201655f565b005b620152ef915060203d602011620011865762001177818362015f46565b82620152c9565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b506020813d6020116201535e575b81620153406020938362015f46565b81010312620009e257620153586201524c9162015f88565b62015240565b3d915062015331565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b34620009e2575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e25773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f06447d5600000000000000000000000000000000000000000000000000000000825260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620150cc5762015cff575b5073ffffffffffffffffffffffffffffffffffffffff60205416906040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481865afa801562015ab357829062015cb7575b620154b5915062015f97565b806032029060328204810362015c8a57610e1042019182421162015c5d5773ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe000000000000000000000000000000000000000000000000000000000083528060048401526020836024818b5afa92831562015b9d57879362015c23575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818c5afa90811562015af857908491899162015be5575b506201560b90620006836040519384928b8a89602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818c5afa91821562015af857889262015ba8575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262015699816062810162000683565b5190209360225494604051957fe341eaa400000000000000000000000000000000000000000000000000000000875260048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa91821562015b9d5787918896899462015b6b575b5060640298858a046002148615171562015b3e576040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019990995296978897602090829060449082908c905af1801562015af85762015b1c575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541673ffffffffffffffffffffffffffffffffffffffff6020541690823b1562015ad7576040517f3525916f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152911660248201526044810186905261567860648201526084810188905260a481018590525f60c4820181905260e482015260ff831661010482015261012481018790526101448101849052908890829061016490829084905af190811562015af857889162015b03575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562015af4576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe000000000000000000000000000000000000000000000000000000006004820152878160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562015af857889162015adb575b505073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541693853b1562015ad7578997889462015a1a936040519b8c9a8b998a987f3525916f000000000000000000000000000000000000000000000000000000008a5260048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b03925af1801562015ab35762015abe575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562015ab057806040517f90c5013b000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562015ab35762015a9c5750f35b8162015aa89162015f46565b62015ab05780f35b80fd5b6040513d84823e3d90fd5b8162015aca9162015f46565b62015ab057805f62015a2b565b8980fd5b8162015ae79162015f46565b62015af457865f6201591e565b8680fd5b6040513d8a823e3d90fd5b8162015b0f9162015f46565b62015af457865f62015887565b62015b389060203d602011620011865762001177818362015f46565b62015782565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90935062015b909196506064925060603d606011620009a65762000993818362015f46565b9691929096939062015703565b6040513d89823e3d90fd5b9091506020813d60201162015bdc575b8162015bc76020938362015f46565b81010312620009e2575190620156996201564e565b3d915062015bb8565b9150506020813d60201162015c1a575b8162015c046020938362015f46565b81010312620009e2575183906201560b62015593565b3d915062015bf5565b9092506020813d60201162015c54575b8162015c426020938362015f46565b81010312620009e25751915f62015550565b3d915062015c33565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b506020813d60201162015cf6575b8162015cd46020938362015f46565b8101031262015cf25762015cec620154b59162015f88565b620154a9565b5080fd5b3d915062015cc5565b62015d0d91505f9062015f46565b5f5f62015450565b60206040818301928281528451809452019201905f5b81811062015d395750505090565b825173ffffffffffffffffffffffffffffffffffffffff1684526020938401939092019160010162015d2b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b81811062015dc75750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010162015db9565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062015e3357505050505090565b909192939460208062015e71837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895162015d66565b9701930193019193929062015e23565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062015eb457505050505090565b909192939460208062015f19837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff81511684520151918185820152019062015da9565b9701930193019193929062015ea4565b6040810190811067ffffffffffffffff8211176201536757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176201536757604052565b519060ff82168203620009e257565b60ff16604d8111620152f657600a0a90565b90816020910312620009e257518015158103620009e25790565b91908201809211620152f657565b90816060910312620009e25762015fe88162015f88565b916040602083015192015190565b67ffffffffffffffff8111620153675760051b60200190565b90604051915f8154908160011c926001831692831562016114575b602085108414620160e7578487528693908115620160a557506001146201605d575b506201605b9250038362015f46565b565b90505f9291925260205f20905f915b818310620160885750509060206201605b928201015f6201604c565b60209193508060019154838589010152019101909184926201606c565b602093506201605b9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6201604c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936201602a565b91908203918211620152f657565b90604051918281549182825260208201905f5260205f20925f905b80600783011062016357576201605b94549181811062016320575b818110620162e9575b818110620162b2575b8181106201627b575b81811062016244575b8181106201620d575b818110620161d7575b10620161a9575b50038362015f46565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f620161a0565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b16815201930162016199565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b16815201930162016190565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b16815201930162016187565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b1681520193016201617e565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b16815201930162016175565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b1681520193016201616c565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b16815201930162016163565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e082015201940192018592939162016148565b602081830312620009e25780519067ffffffffffffffff8211620009e2570181601f82011215620009e25780519067ffffffffffffffff82116201536757604051926201645b601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018562015f46565b82845260208383010111620009e257815f9260208093018386015e8301015290565b60085460ff16156201648e57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115620150cc575f9162016527575b50151590565b90506020813d60201162016556575b81620165456020938362015f46565b81010312620009e257515f62016521565b3d915062016536565b1580620165695750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f0c9fd5810000000000000000000000000000000000000000000000000000000082521560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b5f6201605b9162015f46565b919073ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa908115620150cc575f9162016838575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff98891691810191909152961660608701526802b5e3af16b1880000608087015261567860a087015260c08601939093524660e0860152610100850191909152678ac7230489e80000610120850152619999610140850152600493620166d581610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa918215620150cc575f92620167fb575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262016760816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115620150cc575f5f935f93620167cf575b50929190565b91935050620167f0915060603d606011620009a65762000993818362015f46565b929092915f620167c9565b9091506020813d6020116201682f575b816201681a6020938362015f46565b81010312620009e25751906201676062016715565b3d91506201680b565b90506020949194813d60201162016870575b81620168596020938362015f46565b81010312620009e25751909390620166d562016647565b3d91506201684a565b919073ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa908115620150cc575f9162016965575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff98891691810191909152961660608701526802b5e3af16b1880000608087015261567860a087015260c08601939093524660e0860152610100850191909152674563918244f40000610120850152619999610140850152600493620166d581610160810162000683565b90506020949194813d6020116201699d575b81620169866020938362015f46565b81010312620009e25751909390620166d5620168d7565b3d915062016977565b674563918244f400008103620169b95750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152674563918244f4000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b8062016a435750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b6001810362016ac85750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b9080820362016b4f575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051917f98296c54000000000000000000000000000000000000000000000000000000008352600483015260248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd575056fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033610160604052346104c6576040516100186040826104ca565b600a8152602081016926b7b1b5902a37b5b2b760b11b81526040519061003f6040836104ca565b600a82526926b7b1b5902a37b5b2b760b11b6020830152604051926100656040856104ca565b60038452624d544b60e81b6020850152604051936100846040866104ca565b60018552603160f81b60208601908152845190946001600160401b0382116103c95760035490600182811c921680156104bc575b60208310146103ab5781601f84931161044e575b50602090601f83116001146103e8575f926103dd575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103c95760045490600182811c921680156103bf575b60208310146103ab5781601f84931161033d575b50602090601f83116001146102d7575f926102cc575b50508160011b915f199060031b1c1916176004555b610162816104ed565b6101205261016f84610674565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526101d860c0826104ca565b5190206080523060c05233156102b95760025469d3c21bcecceda100000081018091116102a557600255335f525f60205260405f2069d3c21bcecceda1000000815401905560405169d3c21bcecceda100000081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a36040516110a790816107ad823960805181610cec015260a05181610da9015260c05181610cbd015260e05181610d3b01526101005181610d610152610120518161048f015261014051816104b80152f35b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b015190505f80610144565b60045f9081528281209350601f198516905b818110610325575090846001959493921061030d575b505050811b01600455610159565b01515f1960f88460031b161c191690555f80806102ff565b929360206001819287860151815501950193016102e9565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106103a1575b90601f859493920160051c01905b818110610393575061012e565b5f8155849350600101610386565b9091508190610378565b634e487b7160e01b5f52602260045260245ffd5b91607f169161011a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100e2565b60035f9081528281209350601f198516905b818110610436575090846001959493921061041e575b505050811b016003556100f7565b01515f1960f88460031b161c191690555f8080610410565b929360206001819287860151815501950193016103fa565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106104b2575b90601f859493920160051c01905b8181106104a457506100cc565b5f8155849350600101610497565b9091508190610489565b91607f16916100b8565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103c957604052565b908151602081105f14610567575090601f815111610527576020815191015160208210610518571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116103c957600554600181811c9116801561066a575b60208210146103ab57601f8111610637575b50602092601f82116001146105d657928192935f926105cb575b50508160011b915f199060031b1c19161760055560ff90565b015190505f806105b2565b601f1982169360055f52805f20915f5b86811061061f5750836001959610610607575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f80806105f9565b919260206001819286850151815501940192016105e6565b60055f52601f60205f20910160051c810190601f830160051c015b81811061065f5750610598565b5f8155600101610652565b90607f1690610586565b908151602081105f1461069f575090601f815111610527576020815191015160208210610518571790565b6001600160401b0381116103c957600654600181811c911680156107a2575b60208210146103ab57601f811161076f575b50602092601f821160011461070e57928192935f92610703575b50508160011b915f199060031b1c19161760065560ff90565b015190505f806106ea565b601f1982169360065f52805f20915f5b868110610757575083600195961061073f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610731565b9192602060018192868501518155019401920161071e565b60065f52601f60205f20910160051c810190601f830160051c015b81811061079757506106d0565b5f815560010161078a565b90607f16906106be56fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146108dc57508063095ea7b31461089857806318160ddd1461085d57806323b872dd146106c9578063313ce567146106905780633644e5151461065057806370a08231146105ee5780637ecebe001461058b57806384b0196e1461045957806395d89b411461033b578063a9059cbb146102ec578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e26109df565b73ffffffffffffffffffffffffffffffffffffffff6100ff610a02565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101726109df565b61017a610a02565b604435906064359260843560ff81168103610137578442116102c05761027b61027273ffffffffffffffffffffffffffffffffffffffff9283851697885f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b6040840152878a1660608401528a608084015260a083015260c082015260c0815261022560e082610b16565b519020610230610ca6565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220610eff565b90929192610f99565b16848103610290575061028e9350610dcf565b005b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b847f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306103266109df565b6024359033610b84565b602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60045461037981610a25565b808452906001811690811561041757506001146103b9575b6103b5836103a181850382610b16565b60405191829160208352602083019061099c565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106103fd575090915081016020016103a1610391565b9192600181602092548385880101520191019092916103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103a19050610391565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761052f6104b37f0000000000000000000000000000000000000000000000000000000000000000610e4c565b6104dc7f0000000000000000000000000000000000000000000000000000000000000000610ec8565b602061053d604051926104ef8385610b16565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e087019061099c565b90858203604087015261099c565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061057457505050500390f35b835185528695509381019392810192600101610565565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6105d76109df565b165f526007602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61063a6109df565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020610688610ca6565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160128152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576107006109df565b610708610a02565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610784575b506103309350610b84565b8381106108295784156107fd5733156107d157610330945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610779565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306108d26109df565b6024359033610dcf565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f60035461091781610a25565b8084529060018116908115610417575060011461093e576103b5836103a181850382610b16565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610982575090915081016020016103a1610391565b91926001816020925483858801015201910190929161096a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90600182811c92168015610a6c575b6020831014610a3f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610a34565b5f9291815491610a8583610a25565b8083529260018116908115610ada5750600114610aa157505050565b5f9081526020812093945091925b838310610ac0575060209250010190565b600181602092949394548385870101520191019190610aaf565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b5757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c7a5773ffffffffffffffffffffffffffffffffffffffff16918215610c4e57815f525f60205260405f2054818110610c1c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610da6575b15610d0e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610da060c082610b16565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610ce5565b73ffffffffffffffffffffffffffffffffffffffff169081156107fd5773ffffffffffffffffffffffffffffffffffffffff169182156107d15760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610eab5760ff811690601f8211610e835760405191610e70604084610b16565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610ec581610ebe816005610a76565b0382610b16565b90565b60ff8114610eec5760ff811690601f8211610e835760405191610e70604084610b16565b50604051610ec581610ebe816006610a76565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f8e579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610f83575f5173ffffffffffffffffffffffffffffffffffffffff811615610f7957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156110445780610fab575050565b60018103610fdb577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361100f57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146110195750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212202eaf8d700913bffd8b4934f8b853d9665e68ca4ec536d49359eed7bb1628075364736f6c634300081e003360803461018357601f610c1538819003918201601f19168301916001600160401b038311848410176101875780849260209460405283398101031261018357516100495f5461019b565b601f811161013c575b507f4e6f6e2d5374616e6461726420546f6b656e00000000000000000000000000245f556001546100829061019b565b601f81116100f4575b506006621394d560ea1b01600155600660ff19600254161760025580600355335f5260046020528060405f20556040519081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610a4190816101d48239f35b60015f52601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6908101905b818110610131575061008b565b5f8155600101610124565b5f8052601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563908101905b8181106101785750610052565b5f815560010161016b565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b90600182811c921680156101c9575b60208310146101b557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101aa56fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461079e578063095ea7b3146106fb57806318160ddd146106c057806323b872dd1461051d578063313ce567146104df57806340c10f191461043957806370a08231146103d657806395d89b41146101e1578063a9059cbb146101175763dd62ed3e14610087575f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576100be610919565b73ffffffffffffffffffffffffffffffffffffffff6100db61093c565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135761014e610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600460205261017f8360405f2054101561095f565b335f52600460205260405f206101968482546109c4565b90551690815f52600460205260405f206101b18282546109fe565b90556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f600154908160011c600183169283156103cc575b60208210841461039f57818552849390811561033f57506001146102c5575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60015f90815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b81831061032357505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b60209193508060019154838588010152019101909183926102ef565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610246565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610227565b346101135760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135773ffffffffffffffffffffffffffffffffffffffff610422610919565b165f526004602052602060405f2054604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610470610919565b5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff602435946104b9866003546109fe565b600355169384845260048252604084206104d48282546109fe565b9055604051908152a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357602060ff60025416604051908152f35b346101135760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610554610919565b61055c61093c565b73ffffffffffffffffffffffffffffffffffffffff604435921690815f52600460205261058f8360405f2054101561095f565b815f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528260405f20541061066257602073ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526004835260405f206106118782546109c4565b90551693845f526004825260405f2061062b8282546109fe565b9055835f526005825260405f2073ffffffffffffffffffffffffffffffffffffffff33165f52825260405f206104d48282546109c4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e6365000000000000000000006044820152fd5b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576020600354604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610732610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f5f54908160011c600183169283156108c7575b60208210841461039f57818552849390811561033f575060011461084f575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b5f80805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106108ab57505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b6020919350806001915483858801015201910190918392610877565b90607f16906107e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b1561096657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152fd5b919082039182116109d157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082018092116109d15756fea2646970667358221220bc55045891b519b0b5f8315ee228d5b1d217d0df546e371d3a4b30023541a0b764736f6c634300081e0033a2646970667358221220010ee7b53d583fe2d911c1394ce38c6f4ea6a88675a68222bcecb92d21ae101364736f6c634300081e0033","sourceMap":"830:78201:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1279:28;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;24618:4;830:78201;;336:42:2;24604:19:63;;;;830:78201;;24604:19;830:78201;24604:19;;830:78201;24604:19;;830:78201;;;;24604:19;830:78201;;;336:42:2;24604:19:63;;;;;;;;830:78201;;;;;;;;;24705:16;;830:78201;24705:16;830:78201;24705:16;;;;;;;;830:78201;;24705:16;;;830:78201;24699:22;;;;:::i;:::-;830:78201;;24694:2;830:78201;;24694:2;830:78201;;;;;24768:1;24750:15;2030:14:2;24750:15:63;;;2030:14:2;;;830:78201:63;24795:10;2030:14:2;;;830:78201:63;;24618:4;830:78201;;;;;24795:23;830:78201;24795:23;;;830:78201;24795:23;;830:78201;;24795:23;24604:19;24795:23;;;;;;;;;830:78201;;24795:23;;;830:78201;;;;24901:35;830:78201;24901:35;;830:78201;24901:35;830:78201;24901:35;;;;;;;;;830:78201;;24901:35;;;830:78201;;;;;;;;;24873:342;;;;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;25089:13;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;24873:342;;;;;;:::i;:::-;830:78201;24850:375;;830:78201;;;25291:29;;;;830:78201;25291:29;;;;;;;;;830:78201;;25291:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;25262:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;25262:71;830:78201;2030:14:2;;;25262:71:63;;24873:342;25262:71;;;;;;:::i;:::-;830:78201;25252:82;;25386:14;2030::2;830:78201:63;;;25378:31;830:78201;25378:31;;830:78201;25378:31;;830:78201;24604:19;2030:14:2;;830:78201:63;;25378:31;;;336:42:2;25378:31:63;;;;;;;830:78201;;;;;;;25378:31;;830:78201;25420:69;336:42:2;25420:69:63;;;;830:78201;;;25420:69;;25436:52;830:78201;25420:69;;830:78201;;;;24604:19;830:78201;;336:42:2;25420:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;24795:10;2030:14:2;;;830:78201:63;;;24618:4;830:78201;;;;;;;25499:112;;;;;;830:78201;;;;25499:112;830:78201;25499:112;;-1:-1:-1;;830:78201:63;;25499:112;;830:78201;24604:19;830:78201;;;25378:31;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;25499:112;830:78201;;;;;;25499:112;;;;;;;;;830:78201;25621:14;336:42:2;25621:14:63;;;;830:78201;;;25621:14;;830:78201;;;;;;336:42:2;25621:14:63;;;;;;;;830:78201;;;;;25621:14;830:78201;;25621:14;;;:::i;:::-;830:78201;;;;25621:14;;;;830:78201;;;;;;;;;;25499:112;830:78201;;25499:112;;;:::i;:::-;830:78201;;;;25499:112;;;25420:69;830:78201;;25420:69;;;:::i;:::-;830:78201;;;;25420:69;;;25378:31;;;;;;;;830:78201;25378:31;830:78201;25378:31;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;25291:29;;;;830:78201;25291:29;;830:78201;25291:29;;;;;;2030:14:2;25291:29:63;;;:::i;:::-;;;2030:14:2;;;;;;25262:71:63;25291:29;;2030:14:2;-1:-1:-1;830:78201:63;;25291:29;;;-1:-1:-1;25291:29:63;;24901:35;;;830:78201;24901:35;;830:78201;24901:35;;;;;;2030:14:2;24901:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;24901:35;;;;;-1:-1:-1;24901:35:63;;24795:23;;;;830:78201;24795:23;;830:78201;24795:23;;;;;;2030:14:2;24795:23:63;;;:::i;:::-;;;2030:14:2;;;;;24795:23:63;;;;;;;-1:-1:-1;24795:23:63;;2030:14:2;830:78201:63;;;;;;;24604:19;830:78201;;;24705:16;;830:78201;24705:16;;830:78201;24705:16;;;;;;830:78201;24705:16;;;:::i;:::-;;;830:78201;;;;;24699:22;830:78201;;:::i;:::-;24705:16;;;;;-1:-1:-1;24705:16:63;;24604:19;830:78201;;24604:19;;;:::i;:::-;830:78201;;;;24604:19;;;830:78201;;;;;;;;;;;;;71140:4;830:78201;;336:42:2;71126:19:63;;;;830:78201;;71126:19;830:78201;71126:19;;830:78201;71126:19;;830:78201;;;;71126:19;830:78201;;;336:42:2;71126:19:63;;;;;;;;830:78201;;;;;;;;;71233:16;;830:78201;71233:16;830:78201;71233:16;;;;;;;;830:78201;;71233:16;;;830:78201;71227:22;;;;:::i;:::-;830:78201;;71222:2;830:78201;;71222:2;830:78201;;;;;;;;71289:16;;830:78201;71289:16;830:78201;71289:16;;;;;;;;830:78201;;71289:16;;;830:78201;71283:22;;;;:::i;:::-;830:78201;;71279:1;830:78201;;71279:1;830:78201;;;;;71375:4;71357:15;2030:14:2;71357:15:63;;;2030:14:2;;;830:78201:63;71405:10;2030:14:2;;;830:78201:63;;;71140:4;830:78201;;;;;71405:23;830:78201;71405:23;;;830:78201;71405:23;;830:78201;;71405:23;71126:19;71405:23;;;;;;;;;830:78201;;71405:23;;;830:78201;;;;;71511:35;;830:78201;71511:35;830:78201;71511:35;;;;;;;;830:78201;;;;71511:35;;;830:78201;-1:-1:-1;830:78201:63;;;;71483:341;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;71699:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;2030:14:2;;;830:78201:63;71483:341;;830:78201;2030:14:2;;;71483:341:63;2030:14:2;71483:341:63;830:78201;71460:374;;830:78201;;71901:29;830:78201;71901:29;;830:78201;71901:29;830:78201;71901:29;;;;;;;;;830:78201;;71901:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;71872:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;71872:71;830:78201;2030:14:2;;;71872:71:63;2030:14:2;71872:71:63;830:78201;71862:82;;2030:14:2;71996::63;2030::2;830:78201:63;;;71988:31;830:78201;71988:31;;830:78201;71988:31;;830:78201;71126:19;2030:14:2;;830:78201:63;71988:31;;;;336:42:2;71988:31:63;;;;;;;830:78201;;;;;;;;71988:31;;830:78201;72065:18;72030:54;72065:18;830:78201;72065:18;;;;;:::i;:::-;830:78201;;;72030:54;;830:78201;;;;;72030:54;;830:78201;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;72030:54;;830:78201;;;72030:54;;;;;;;;;830:78201;72095:69;336:42:2;72095:69:63;;;;830:78201;;;72095:69;;72111:52;830:78201;72095:69;;830:78201;;;;71126:19;830:78201;;336:42:2;72095:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;71405:10;2030:14:2;;;830:78201:63;;;71140:4;830:78201;;;;;;;72174:142;;;;;;830:78201;;;;72174:142;830:78201;72174:142;;-1:-1:-1;;2030:14:2;830:78201:63;72174:142;;830:78201;71126:19;2030:14:2;;830:78201:63;71988:31;2030:14:2;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;2030:14:2;;;830:78201:63;;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;;72174:142;830:78201;;;;;;72174:142;;;;;;;;;72327:14;336:42:2;72327:14:63;;;;830:78201;;;72327:14;;830:78201;;;;;;336:42:2;72327:14:63;;;;;;;;830:78201;;;;72095:69;830:78201;;72095:69;;;:::i;:::-;830:78201;;;;72095:69;;;72030:54;;;830:78201;72030:54;830:78201;72030:54;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;71988:31;;;;;830:78201;71988:31;;72030:54;71988:31;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;71988:31:63;;;;;71901:29;;;;830:78201;71901:29;;830:78201;71901:29;;;;;;2030:14:2;71901:29:63;;;:::i;:::-;;;2030:14:2;;;;;;71872:71:63;71901:29;;;;;-1:-1:-1;71901:29:63;;71511:35;;;;830:78201;71511:35;;830:78201;71511:35;;;;;;2030:14:2;71511:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;71483:341:63;71511:35;;;;;-1:-1:-1;71511:35:63;;71405:23;;;;830:78201;71405:23;;830:78201;71405:23;;;;;;2030:14:2;71405:23:63;;;:::i;:::-;;;2030:14:2;;;;;71405:23:63;;;;;;;-1:-1:-1;71405:23:63;;71289:16;;830:78201;71289:16;;830:78201;71289:16;;;;;;830:78201;71289:16;;;:::i;:::-;;;830:78201;;;;;71283:22;830:78201;;:::i;:::-;71289:16;;;;;-1:-1:-1;71289:16:63;;71233;;830:78201;71233:16;;830:78201;71233:16;;;;;;830:78201;71233:16;;;:::i;:::-;;;830:78201;;;;;71227:22;830:78201;;:::i;:::-;71233:16;;;;;-1:-1:-1;71233:16:63;;71126:19;830:78201;;71126:19;;;:::i;:::-;830:78201;;;;71126:19;;;830:78201;;;;;;;;;;;;;68198:4;830:78201;;336:42:2;68184:19:63;;;;830:78201;;68184:19;830:78201;68184:19;;830:78201;68184:19;;830:78201;;;;68184:19;830:78201;;;336:42:2;68184:19:63;;;;;;;;830:78201;68342:15;68360:7;68342:15;2030:14:2;68342:15:63;;2030:14:2;;;830:78201:63;68393:10;2030:14:2;;;830:78201:63;68184:19;830:78201;;68198:4;830:78201;;;;;68393:23;;;;830:78201;68393:23;;;830:78201;68393:23;;830:78201;68393:23;;;;;;;830:78201;;68393:23;;;830:78201;-1:-1:-1;830:78201:63;;;;;;69349:24;;830:78201;;;;;;;;;;69349:24;;;;;;;-1:-1:-1;;69349:24:63;;;830:78201;2030:14:2;68184:19:63;830:78201;;68393:10;2030:14:2;;;830:78201:63;;;;69693:19;;;;830:78201;69693:19;;;830:78201;69693:19;;830:78201;69693:19;;;;;;-1:-1:-1;;;;69693:19:63;;;830:78201;;;69287:513;830:78201;69422:346;69287:513;830:78201;69422:346;830:78201;;69422:346;;;2030:14:2;830:78201:63;69422:346;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;69422:346;830:78201;69391:395;;830:78201;;69287:513;;;830:78201;69287:513;;;;2030:14:2;;;;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;69287:513:63;830:78201;69264:546;;69835:14;2030::2;830:78201:63;;;69827:29;830:78201;69827:29;;830:78201;69827:29;;830:78201;68184:19;2030:14:2;;830:78201:63;69827:29;;;;336:42:2;69827:29:63;;;;;;;-1:-1:-1;;;;;;;;;69827:29:63;;;830:78201;69820:36;68543:73;69820:36;;;68543:73;:::i;:::-;68627:69;;;336:42:2;68627:69:63;;;;830:78201;;;68627:69;;68643:52;830:78201;68627:69;;830:78201;;;;68184:19;830:78201;;336:42:2;68627:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;68393:10;2030:14:2;;;830:78201:63;;;68198:4;830:78201;;;;;;;68706:338;;;;;;830:78201;;;;;;;;68706:338;;830:78201;68706:338;;-1:-1:-1;;830:78201:63;68706:338;830:78201;68184:19;830:78201;;;68227:5;69827:29;830:78201;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;68256:5;830:78201;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;68706:338;830:78201;;;;;;68706:338;;;;;;;;;69054:14;336:42:2;69054:14:63;;;;830:78201;;;69054:14;;830:78201;;;;;;336:42:2;69054:14:63;;;;;;;;830:78201;;;;68627:69;830:78201;;68627:69;;;:::i;:::-;830:78201;;;;68627:69;;;69827:29;68543:73;69827:29;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;69693:19;;;;830:78201;69693:19;;830:78201;69693:19;;;;;;2030:14:2;69693:19:63;;;:::i;:::-;;;2030:14:2;;;;;;;69287:513:63;69693:19;;;;;-1:-1:-1;69693:19:63;;69349:24;;;;830:78201;69349:24;;830:78201;69349:24;;;;;;2030:14:2;69349:24:63;;;:::i;:::-;;;2030:14:2;;;;;69349:24:63;;;;;;;-1:-1:-1;69349:24:63;;68393:23;;;830:78201;68393:23;;830:78201;68393:23;;;;;;2030:14:2;68393:23:63;;;:::i;:::-;;;2030:14:2;;;;;68393:23:63;;;;;;-1:-1:-1;68393:23:63;;68184:19;830:78201;;68184:19;;;:::i;:::-;830:78201;;;;68184:19;;;830:78201;;;;;;;;;;;;;;;;2723:18:9;830:78201:63;;;;;;;2723:18:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;58936:43;;;;;;;;;;;;;;830:78201;58936:43;;;;;;58961:17;830:78201;;58936:43;;830:78201;;;58936:43;;;;;830:78201;;;59051:4;830:78201;;59025:47;;;;;830:78201;;59025:47;830:78201;59025:47;;830:78201;59025:47;;830:78201;59057:14;830:78201;;;;;;;59025:47;830:78201;;;59025:47;;;;;;;;;830:78201;;;59051:4;830:78201;;336:42:2;59083:19:63;;;;830:78201;;59083:19;830:78201;59083:19;;830:78201;59083:19;;830:78201;;;;;;;;336:42:2;59083:19:63;;;;;;;;830:78201;59249:15;59267:4;59249:15;2030:14:2;59249:15:63;;2030:14:2;;;830:78201:63;59297:10;2030:14:2;;;830:78201:63;;;59051:4;830:78201;;;;;59297:23;830:78201;59297:23;;;830:78201;59297:23;;830:78201;;59297:23;830:78201;59297:23;;;;;;;;;830:78201;;59297:23;;;830:78201;;;;;59403:35;;830:78201;59403:35;830:78201;59403:35;;;;;;;;830:78201;;;;59403:35;;;830:78201;-1:-1:-1;830:78201:63;;;;59375:353;;830:78201;;;;;;;;;;;;;;;;;;;;;65440:12;830:78201;;;;;;;;;;;;;;;59602:13;830:78201;;;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;59375:353;;830:78201;;;;59375:353;830:78201;59375:353;830:78201;59352:386;;830:78201;;59805:29;830:78201;59805:29;;830:78201;59805:29;830:78201;59805:29;;;;;;;;;830:78201;;59805:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;59776:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;59776:71;830:78201;2030:14:2;;;59776:71:63;2030:14:2;59776:71:63;830:78201;59766:82;;59900:14;2030::2;830:78201:63;;;59892:31;830:78201;59892:31;;830:78201;59892:31;;830:78201;;2030:14:2;;830:78201:63;59892:31;;59025:47;59892:31;336:42:2;59892:31:63;;;;;;;830:78201;;;;;;;;59892:31;;;830:78201;;;;59993:53;830:78201;59993:53;;830:78201;59993:53;;830:78201;59179:12;830:78201;;;;;;59025:47;830:78201;;;59993:53;;;;;;;;;830:78201;;;59051:4;830:78201;;;;;60081:32;830:78201;60081:32;;;830:78201;60081:32;;830:78201;;60081:32;830:78201;60081:32;;;;;;;;;830:78201;;60081:32;;;830:78201;;;;60149:41;830:78201;60149:41;;59145:6;830:78201;60149:41;;830:78201;;60149:41;830:78201;60149:41;;;;;;;;;830:78201;;60149:41;;;830:78201;2030:14:2;830:78201:63;59297:10;2030:14:2;;;830:78201:63;60288:145;;;;;;830:78201;;60288:145;830:78201;;;60288:145;;;;;;;830:78201;60288:145;;830:78201;;60288:145;830:78201;60288:145;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;65440:12;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;60288:145;;830:78201;;;60288:145;;;;;;;;;830:78201;;;59051:4;830:78201;;;;;60498:32;830:78201;60498:32;;830:78201;60498:32;;830:78201;;60498:32;830:78201;60498:32;;;;;;;;;830:78201;;60498:32;;;830:78201;;;;;;;;;;60532:22;830:78201;60532:22;830:78201;60532:22;;:::i;:::-;830:78201;;60574:41;;;;830:78201;60574:41;;59145:6;830:78201;60574:41;;830:78201;60574:41;;;;;;;830:78201;;60574:41;;;830:78201;2030:14:2;59179:12:63;2030:14:2;;;;;;;60617:24:63;;;:::i;:::-;336:42:2;60653:14:63;;;;830:78201;;;60653:14;;830:78201;;;;;;336:42:2;60653:14:63;;;;;;;;830:78201;;;;60574:41;;;;830:78201;60574:41;;830:78201;60574:41;;;;;;2030:14:2;60574:41:63;;;:::i;:::-;;;2030:14:2;;;;;60574:41:63;;;;;;;-1:-1:-1;60574:41:63;;60498:32;;;;830:78201;60498:32;;830:78201;60498:32;;;;;;2030:14:2;60498:32:63;;;:::i;:::-;;;2030:14:2;;;;;60498:32:63;;;;;;;-1:-1:-1;60498:32:63;;60288:145;830:78201;;60288:145;;;:::i;:::-;830:78201;;;;60288:145;;;60149:41;;;;830:78201;60149:41;;830:78201;60149:41;;;;;;2030:14:2;60149:41:63;;;:::i;:::-;;;2030:14:2;;;;;60149:41:63;;;;;;;-1:-1:-1;60149:41:63;;60081:32;;;;830:78201;60081:32;;830:78201;60081:32;;;;;;2030:14:2;60081:32:63;;;:::i;:::-;;;2030:14:2;;;;;60081:32:63;;;;;;;-1:-1:-1;60081:32:63;;59993:53;;;830:78201;59993:53;830:78201;59993:53;;;;;;;:::i;:::-;;;59892:31;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;59805:29;;;;830:78201;59805:29;;830:78201;59805:29;;;;;;2030:14:2;59805:29:63;;;:::i;:::-;;;2030:14:2;;;;;;59776:71:63;59805:29;;;;;-1:-1:-1;59805:29:63;;59403:35;;;;830:78201;59403:35;;830:78201;59403:35;;;;;;2030:14:2;59403:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;59375:353:63;59403:35;;;;;-1:-1:-1;59403:35:63;;59297:23;;;;830:78201;59297:23;;830:78201;59297:23;;;;;;2030:14:2;59297:23:63;;;:::i;:::-;;;2030:14:2;;;;;59297:23:63;;;;;;;-1:-1:-1;59297:23:63;;59083:19;830:78201;;59083:19;;;:::i;:::-;830:78201;;;;59083:19;;;59025:47;830:78201;;59025:47;;;:::i;:::-;830:78201;;;;59025:47;;;58936:43;830:78201;;;;;;;;;;;;;;;;;;;;;;;;42260:4;830:78201;;336:42:2;42246:19:63;;;;830:78201;;42246:19;830:78201;42246:19;;830:78201;42246:19;;830:78201;;;;42246:19;830:78201;;;336:42:2;42246:19:63;;;;;;;;830:78201;;;;;;;;;42352:16;;830:78201;42352:16;830:78201;42352:16;;;;;;;;830:78201;;42352:16;;;830:78201;42346:22;;;;:::i;:::-;830:78201;;42341:2;830:78201;;42341:2;830:78201;;;;;;;;;;;;;;42458:3;42440:15;2030:14:2;42440:15:63;;2030:14:2;;;830:78201:63;42487:10;2030:14:2;;;830:78201:63;;;42260:4;830:78201;;;;;42487:23;830:78201;42487:23;;;830:78201;42487:23;;830:78201;;42487:23;42246:19;42487:23;;;;;;;;;830:78201;;42487:23;;;830:78201;;;;;42627:24;;830:78201;42627:24;830:78201;42627:24;;;;;;;;;830:78201;;42627:24;;;830:78201;;;;;42970:18;;;830:78201;42970:18;;830:78201;;42970:18;42246:19;42970:18;;;;;;;;830:78201;;;;42970:18;;;830:78201;;42565:511;830:78201;42565:511;830:78201;42700:344;830:78201;42700:344;830:78201;;;42700:344;;;;830:78201;42700:344;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;42565:511;830:78201;42542:544;;2030:14:2;43157::63;2030::2;830:78201:63;;;43149:35;830:78201;43149:35;;;830:78201;43149:35;;830:78201;42246:19;2030:14:2;;830:78201:63;43149:35;;;;336:42:2;43149:35:63;;;;;;;830:78201;;;;;;;;43149:35;;830:78201;;;;43267:35;830:78201;43267:35;;830:78201;43267:35;830:78201;43267:35;;;;;;;;;830:78201;;43267:35;;;830:78201;;;;;;;;;43239:342;;;;-1:-1:-1;;;830:78201:63;;;;;;;43149:35;830:78201;;;;;;;;;;;;;;;;;;43455:13;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;43239:342;;;;;;:::i;:::-;830:78201;43216:375;;830:78201;;;43663:29;;;;830:78201;43663:29;;;;;;;;;830:78201;;43663:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;43634:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;43634:71;830:78201;2030:14:2;;;43634:71:63;2030:14:2;43634:71:63;830:78201;43624:82;;830:78201;;43759:37;830:78201;43759:37;;830:78201;43759:37;;830:78201;42246:19;2030:14:2;;830:78201:63;43149:35;43759:37;43149:35;43759:37;336:42:2;43759:37:63;;;;;;;830:78201;;;;;;;;43759:37;;830:78201;43807:17;336:42:2;43807:17:63;;;;830:78201;;;43807:17;;830:78201;;;;;;336:42:2;43807:17:63;;;;;;;;830:78201;2030:14:2;830:78201:63;42487:10;2030:14:2;;;830:78201:63;;;42260:4;830:78201;;;;;;;43834:362;;;;;830:78201;;43834:362;830:78201;43834:362;;-1:-1:-1;;830:78201:63;;;43834:362;830:78201;42246:19;830:78201;;;43149:35;830:78201;;;42458:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;43834:362;;;;;;;;;;;44206:14;336:42:2;44206:14:63;;;;830:78201;;;44206:14;;830:78201;;;;;;336:42:2;44206:14:63;;;;;;;;830:78201;;;;43807:17;830:78201;;43807:17;;;:::i;:::-;830:78201;;;;43807:17;;;43759:37;;;;;;;;;;43149:35;43759:37;43149:35;43759:37;;;;;;;:::i;:::-;;;;;;;;;;43663:29;;;;830:78201;43663:29;;830:78201;43663:29;;;;;;2030:14:2;43663:29:63;;;:::i;:::-;;;2030:14:2;;;;;;43634:71:63;43663:29;;;;;-1:-1:-1;43663:29:63;;43267:35;;;830:78201;43267:35;;830:78201;43267:35;;;;;;2030:14:2;43267:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;43267:35;;;;;-1:-1:-1;43267:35:63;;43149;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;42970:18;;;;830:78201;42970:18;;830:78201;42970:18;;;;;;2030:14:2;42970:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;42565:511:63;42970:18;;;;;-1:-1:-1;42970:18:63;;42627:24;;;830:78201;42627:24;;830:78201;42627:24;;;;;;2030:14:2;42627:24:63;;;:::i;:::-;;;2030:14:2;;;;;42627:24:63;;;;;;-1:-1:-1;42627:24:63;;42487:23;;;;830:78201;42487:23;;830:78201;42487:23;;;;;;2030:14:2;42487:23:63;;;:::i;:::-;;;2030:14:2;;;;;42487:23:63;;;;;;;-1:-1:-1;42487:23:63;;42352:16;;830:78201;42352:16;;830:78201;42352:16;;;;;;830:78201;42352:16;;;:::i;:::-;;;830:78201;;;;;42346:22;830:78201;;:::i;:::-;42352:16;;;;;-1:-1:-1;42352:16:63;;42246:19;830:78201;;42246:19;;;:::i;:::-;830:78201;;;;42246:19;;;830:78201;;;;;;;;;;;;;22347:4;830:78201;;336:42:2;22333:19:63;;;;830:78201;;22333:19;830:78201;22333:19;;830:78201;22333:19;;830:78201;;;;22333:19;830:78201;;;336:42:2;22333:19:63;;;;;;;;830:78201;22433:15;22451:7;22433:15;2030:14:2;22433:15:63;;2030:14:2;;;830:78201:63;22485:10;2030:14:2;;;830:78201:63;;22347:4;830:78201;;;;22485:23;830:78201;22485:23;;;830:78201;22485:23;;830:78201;;22485:23;22333:19;22485:23;;;;;;;;;830:78201;;22485:23;;;830:78201;-1:-1:-1;830:78201:63;;;;;;69349:24;;830:78201;;;;;;;;;;69349:24;;;;;;;-1:-1:-1;;69349:24:63;;;830:78201;2030:14:2;22333:19:63;830:78201;;22485:10;2030:14:2;;;830:78201:63;;;;69693:19;;;;830:78201;69693:19;;;830:78201;69693:19;;830:78201;69693:19;;;;;;-1:-1:-1;;;;69693:19:63;;;830:78201;;;69287:513;830:78201;69422:346;69287:513;830:78201;69422:346;830:78201;;69422:346;;;2030:14:2;830:78201:63;69422:346;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;69287:513;830:78201;69264:546;;2030:14:2;69835::63;2030::2;830:78201:63;;;69827:29;830:78201;69827:29;;830:78201;69827:29;;830:78201;22333:19;2030:14:2;;830:78201:63;69827:29;;;;336:42:2;69827:29:63;;;;;;;-1:-1:-1;;;;;;;;69827:29:63;;830:78201;69820:36;22635:74;;;;;:::i;:::-;830:78201;;;;;;;;;22720:339;;;;;;830:78201;;;;;;;;22720:339;;830:78201;22720:339;;-1:-1:-1;;830:78201:63;22720:339;830:78201;22333:19;830:78201;;;22377:5;69827:29;830:78201;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;22406:4;830:78201;;;;22701:6;830:78201;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;22720:339;830:78201;;;;;;22720:339;;;;;;;;;830:78201;;22333:19;830:78201;;;;;;;23079:32;;;;830:78201;23079:32;;22701:6;830:78201;23079:32;;830:78201;23079:32;;;;;;830:78201;;23079:32;;;830:78201;23113:3;;;;:::i;23079:32::-;;830:78201;23079:32;;830:78201;23079:32;;;;;;2030:14:2;23079:32:63;;;:::i;:::-;;;2030:14:2;;;;23113:3:63;2030:14:2;;23079:32:63;;;;;-1:-1:-1;23079:32:63;;22720:339;830:78201;;22720:339;;;:::i;:::-;830:78201;;;;22720:339;;;69827:29;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;69693:19;;;;830:78201;69693:19;;830:78201;69693:19;;;;;;2030:14:2;69693:19:63;;;:::i;:::-;;;2030:14:2;;;;;;;69287:513:63;69693:19;;;;;-1:-1:-1;69693:19:63;;69349:24;;;;830:78201;69349:24;;830:78201;69349:24;;;;;;2030:14:2;69349:24:63;;;:::i;:::-;;;2030:14:2;;;;;69349:24:63;;;;;;;-1:-1:-1;69349:24:63;;22485:23;;;;830:78201;22485:23;;830:78201;22485:23;;;;;;2030:14:2;22485:23:63;;;:::i;:::-;;;2030:14:2;;;;;22485:23:63;;;;;;;-1:-1:-1;22485:23:63;;22333:19;830:78201;;22333:19;;;:::i;:::-;830:78201;;;;22333:19;;;830:78201;;;;;;;;;;;;;35880:10;2030:14:2;;;830:78201:63;;;35880:20;830:78201;35880:20;;830:78201;;;;;35880:20;;;;;;;;830:78201;;35880:20;;;830:78201;-1:-1:-1;830:78201:63;;;;;;;:::i;:::-;;;;;;;;;;5141:24:4;;;;830:78201:63;;;;;5141:24:4;;;;;830:78201:63;5141:24:4;;;830:78201:63;5141:24:4;;830:78201:63;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5141:24:4;;830:78201:63;5141:24:4;;;;;;;;;;830:78201:63;;;;5141:24:4;830:78201:63;;;;;;;;;35880:20;;;;;830:78201;;;35880:20;;;;;;:::i;:::-;;;;;:::i;:::-;;;;830:78201;;;;;;;;;;;;;1924:4;830:78201;;336:42:2;1910:19:63;;;;830:78201;;1910:19;830:78201;1910:19;;830:78201;1910:19;;830:78201;;;;1910:19;830:78201;;;336:42:2;1910:19:63;;;;;;;;830:78201;;;;;;;;;2017:16;;830:78201;2017:16;830:78201;2017:16;;;;;;;;830:78201;;2017:16;;;830:78201;2011:22;;;;:::i;:::-;830:78201;2006:2;830:78201;;2006:2;830:78201;;;;;2080:4;2062:15;2030:14:2;2062:15:63;;;2030:14:2;;;830:78201:63;2110:10;2030:14:2;;;830:78201:63;;;1924:4;830:78201;;;;;;2110:23;;;830:78201;2110:23;;830:78201;;2110:23;1910:19;2110:23;;;;;;;;;830:78201;;2110:23;;;830:78201;;;;;2285:24;;830:78201;2285:24;830:78201;2285:24;;;;;;;;;830:78201;;2285:24;;;830:78201;;;;;2622:18;;;830:78201;2622:18;;830:78201;;2622:18;1910:19;2622:18;;;;;;;;;830:78201;;;;;;;;2622:18;;;830:78201;;2223:505;830:78201;;2358:338;2223:505;830:78201;;2358:338;830:78201;;;2358:338;;;830:78201;2358:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;2223:505;830:78201;2200:538;;2030:14:2;2809::63;2030::2;830:78201:63;;;2801:35;830:78201;2801:35;;;830:78201;2801:35;;830:78201;1910:19;2030:14:2;;830:78201:63;2801:35;;;;336:42:2;2801:35:63;;;;;;;830:78201;;;;;;;;2801:35;;;830:78201;;;;;2954:35;;830:78201;2954:35;830:78201;2954:35;;;;;;;;;830:78201;;;;;;;;2954:35;;;830:78201;;2926:342;830:78201;;2926:342;830:78201;;;2926:342;;;830:78201;2926:342;;3142:13;;;2926:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;2926:342;830:78201;2903:375;;830:78201;;3351:29;830:78201;3351:29;;830:78201;3351:29;830:78201;3351:29;;;;;;;;;830:78201;;3351:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;3322:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;3322:71;830:78201;2030:14:2;;;3322:71:63;2030:14:2;3322:71:63;830:78201;3312:82;;830:78201;;3448:37;830:78201;3448:37;;830:78201;3448:37;;830:78201;1910:19;2030:14:2;;830:78201:63;2801:35;3448:37;2801:35;3448:37;336:42:2;3448:37:63;;;;;;830:78201;;;;;;;;3448:37;;830:78201;;;;3558:21;830:78201;3558:21;;;830:78201;3558:21;;830:78201;;3558:21;1910:19;3558:21;;;;;;;;;830:78201;;3558:21;;;830:78201;-1:-1:-1;830:78201:63;;;3619:30;;1972:6;830:78201;3619:30;;830:78201;;;;;1910:19;830:78201;3619:30;;;;;;;;830:78201;;3619:30;;;830:78201;3698:440;;;;;;830:78201;;;;3698:440;;;;;;;830:78201;3698:440;;830:78201;;;3698:440;830:78201;3698:440;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;3698:440;;830:78201;;;3698:440;;;;;;;;;830:78201;;;;;;;;1924:4;830:78201;;;;;4208:21;830:78201;4208:21;;830:78201;4208:21;;830:78201;;4208:21;1910:19;4208:21;;;;;;;;;830:78201;;4208:21;;;830:78201;;;;1910:19;830:78201;;;4268:30;;;;830:78201;4268:30;;1972:6;830:78201;4268:30;;830:78201;4268:30;;;;;;;830:78201;;4268:30;;;830:78201;4336:26;;;;;;4402:28;4336:26;4402:28;4336:26;;:::i;:::-;;;:::i;:::-;4402:28;:::i;4268:30::-;;;;;;830:78201;4268:30;;830:78201;4268:30;;;;;;2030:14:2;4268:30:63;;;:::i;:::-;;;2030:14:2;;;;;;4268:30:63;;2030:14:2;;4336:26:63;4268:30;;;;;-1:-1:-1;4268:30:63;;4208:21;;;830:78201;4208:21;;830:78201;4208:21;;;;;;2030:14:2;4208:21:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;4208:21;;;;;-1:-1:-1;4208:21:63;;3698:440;830:78201;;3698:440;;;:::i;:::-;830:78201;;;;3698:440;;;3619:30;;;;830:78201;3619:30;;830:78201;3619:30;;;;;;2030:14:2;3619:30:63;;;:::i;:::-;;;2030:14:2;;;;;3619:30:63;;;;;;;-1:-1:-1;3619:30:63;;3558:21;;;830:78201;3558:21;;830:78201;3558:21;;;;;;2030:14:2;3558:21:63;;;:::i;:::-;;;2030:14:2;;;;830:78201:63;2030:14:2;;3558:21:63;;;;;;-1:-1:-1;3558:21:63;;3448:37;;;;;;;;2801:35;3448:37;2801:35;3448:37;;;;;;;:::i;:::-;;;;;;;;3351:29;;;;830:78201;3351:29;;830:78201;3351:29;;;;;;2030:14:2;3351:29:63;;;:::i;:::-;;;2030:14:2;;;;;;3322:71:63;3351:29;;;;;-1:-1:-1;3351:29:63;;2954:35;;;;;;;830:78201;2954:35;;830:78201;2954:35;;;;;;2030:14:2;2954:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;2926:342:63;2954:35;;;;;-1:-1:-1;2954:35:63;;2801;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2622:18;;;;;;;830:78201;2622:18;;830:78201;2622:18;;;;;;2030:14:2;2622:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;2358:338:63;2622:18;;;;;-1:-1:-1;2622:18:63;;2285:24;;;830:78201;2285:24;;830:78201;2285:24;;;;;;2030:14:2;2285:24:63;;;:::i;:::-;;;2030:14:2;;;;;2285:24:63;;;;;;-1:-1:-1;2285:24:63;;2110:23;;;830:78201;2110:23;;830:78201;2110:23;;;;;;2030:14:2;2110:23:63;;;:::i;:::-;;;2030:14:2;;;;;2110:23:63;;;;;;-1:-1:-1;2110:23:63;;2017:16;;830:78201;2017:16;;830:78201;2017:16;;;;;;830:78201;2017:16;;;:::i;:::-;;;830:78201;;;;;2011:22;830:78201;;:::i;:::-;2017:16;;;;;-1:-1:-1;2017:16:63;;1910:19;830:78201;;1910:19;;;:::i;:::-;830:78201;;;;1910:19;;;830:78201;;;;;;;;;;;;1807:33;830:78201;1815:10;2030:14:2;;;830:78201:63;1807:33;;;:::i;830:78201::-;;;;;;;;;;;;;49753:4;830:78201;;336:42:2;49739:19:63;;;;830:78201;;49739:19;830:78201;49739:19;;830:78201;49739:19;;830:78201;;;;49739:19;830:78201;;;336:42:2;49739:19:63;;;;;;;;830:78201;;;;;;;;;49846:16;;830:78201;49846:16;830:78201;49846:16;;;;;;;;830:78201;;49846:16;;;830:78201;49840:22;;;;:::i;:::-;830:78201;49835:2;830:78201;;49835:2;830:78201;;;;;49909:4;49891:15;2030:14:2;49891:15:63;;;2030:14:2;;;830:78201:63;49939:10;2030:14:2;;;830:78201:63;;;49753:4;830:78201;;;;;49939:23;830:78201;49939:23;;;830:78201;49939:23;;830:78201;;49939:23;49739:19;49939:23;;;;;;;;;830:78201;;49939:23;;;830:78201;;;;;50079:24;;830:78201;50079:24;830:78201;50079:24;;;;;;;;;830:78201;;50079:24;;;830:78201;;;;;50416:18;;;830:78201;50416:18;;830:78201;;50416:18;49739:19;50416:18;;;;;;;;;830:78201;;;;;;;;50416:18;;;830:78201;;50017:505;830:78201;;50152:338;50017:505;830:78201;;50152:338;830:78201;;;50152:338;;;830:78201;50152:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;50017:505;830:78201;49994:538;;2030:14:2;50603::63;2030::2;830:78201:63;;;50595:35;830:78201;50595:35;;;830:78201;50595:35;;830:78201;49739:19;2030:14:2;;830:78201:63;50595:35;;;;336:42:2;50595:35:63;;;;;;;830:78201;;;;;;;50595:35;;830:78201;;;;;50713:35;;830:78201;50713:35;830:78201;50713:35;;;;;;;;;830:78201;;;;;;;;50713:35;;;830:78201;;50685:342;830:78201;;50685:342;830:78201;;;50685:342;;;;830:78201;50685:342;;50901:13;;50685:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;50685:342;830:78201;50662:375;;830:78201;;51109:29;830:78201;51109:29;;830:78201;51109:29;830:78201;51109:29;;;;;;;;;830:78201;;51109:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;51080:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;51080:71;830:78201;2030:14:2;;;51080:71:63;2030:14:2;51080:71:63;830:78201;51070:82;;830:78201;;51205:37;830:78201;51205:37;;830:78201;51205:37;;830:78201;49739:19;2030:14:2;;830:78201:63;50595:35;51205:37;50595:35;51205:37;336:42:2;51205:37:63;;;;;;;830:78201;;;;;;;;51205:37;;;830:78201;51290:356;;;;;;830:78201;;;51290:356;;830:78201;;;;;;;;51290:356;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;51290:356;;;;;;;;830:78201;2030:14:2;830:78201:63;49939:10;2030:14:2;;;830:78201:63;;;49753:4;830:78201;;;;;51790:23;830:78201;51790:23;;;830:78201;51790:23;;830:78201;;51790:23;49739:19;51790:23;;;;;;;;;830:78201;;51790:23;;;830:78201;;;;;;;;;51930:24;830:78201;51930:24;;830:78201;51930:24;830:78201;51930:24;;;;;;;;;830:78201;;51930:24;;;830:78201;;;;49739:19;830:78201;;;52267:18;;;;830:78201;52267:18;;;830:78201;52267:18;;830:78201;52267:18;;;;;;;830:78201;;;;;;52267:18;;;830:78201;;51868:522;830:78201;;52003:355;51868:522;830:78201;;52003:355;830:78201;;;52003:355;;;830:78201;52003:355;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;51868:522;830:78201;51845:555;;2030:14:2;50603::63;2030::2;830:78201:63;;;52466:36;830:78201;52466:36;;830:78201;52466:36;;830:78201;49739:19;2030:14:2;;830:78201:63;50595:35;52466:36;50595:35;52466:36;336:42:2;52466:36:63;;;;;;;830:78201;;;;;;;52466:36;;830:78201;52609:71;336:42:2;52609:71:63;;;;830:78201;;;52609:71;;52625:54;830:78201;52609:71;;830:78201;;;;49739:19;830:78201;;336:42:2;52609:71:63;;;;;;;;830:78201;2030:14:2;830:78201:63;49939:10;2030:14:2;;;830:78201:63;;;49753:4;830:78201;;;;;;;52690:360;;;;;;830:78201;;52690:360;;;;;;;830:78201;52690:360;;830:78201;;;52690:360;830:78201;52690:360;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;52690:360;;830:78201;;;52690:360;;;;;;;;;53061:14;336:42:2;53061:14:63;;;;830:78201;;;53061:14;;830:78201;;;;;;336:42:2;53061:14:63;;;;;;;;830:78201;;;;52609:71;830:78201;;52609:71;;;:::i;:::-;830:78201;;;;52609:71;;;52466:36;;;;;;;;;50595:35;52466:36;50595:35;52466:36;;;;;;;:::i;:::-;;;;;;;;52267:18;;;;;;830:78201;52267:18;;830:78201;52267:18;;;;;;2030:14:2;52267:18:63;;;:::i;:::-;;;2030:14:2;;;;;;52267:18:63;;2030:14:2;;;;51868:522:63;52267:18;;;;;-1:-1:-1;52267:18:63;;51930:24;;;;;830:78201;51930:24;;830:78201;51930:24;;;;;;2030:14:2;51930:24:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;51930:24;;;;;-1:-1:-1;51930:24:63;;51790:23;;;;830:78201;51790:23;;830:78201;51790:23;;;;;;2030:14:2;51790:23:63;;;:::i;:::-;;;2030:14:2;;;;;51790:23:63;;;;;;;-1:-1:-1;51790:23:63;;51290:356;830:78201;;51290:356;;;:::i;:::-;830:78201;;;;51290:356;;;51205:37;;;;;;;;;;50595:35;51205:37;50595:35;51205:37;;;;;;;:::i;:::-;;;;;;;;;;51109:29;;;;830:78201;51109:29;;830:78201;51109:29;;;;;;2030:14:2;51109:29:63;;;:::i;:::-;;;2030:14:2;;;;;;51080:71:63;51109:29;;;;;-1:-1:-1;51109:29:63;;50713:35;;;;;;;830:78201;50713:35;;830:78201;50713:35;;;;;;2030:14:2;50713:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;50685:342:63;50713:35;;;;;-1:-1:-1;50713:35:63;;50595;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;50416:18;;;;;;;830:78201;50416:18;;830:78201;50416:18;;;;;;2030:14:2;50416:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;50152:338:63;50416:18;;;;;-1:-1:-1;50416:18:63;;50079:24;;;830:78201;50079:24;;830:78201;50079:24;;;;;;2030:14:2;50079:24:63;;;:::i;:::-;;;2030:14:2;;;;;50079:24:63;;;;;;-1:-1:-1;50079:24:63;;49939:23;;;;830:78201;49939:23;;830:78201;49939:23;;;;;;2030:14:2;49939:23:63;;;:::i;:::-;;;2030:14:2;;;;;49939:23:63;;;;;;;-1:-1:-1;49939:23:63;;49846:16;;830:78201;49846:16;;830:78201;49846:16;;;;;;830:78201;49846:16;;;:::i;:::-;;;830:78201;;;;;49840:22;830:78201;;:::i;:::-;49846:16;;;;;-1:-1:-1;49846:16:63;;49739:19;830:78201;;49739:19;;;:::i;:::-;830:78201;;;;49739:19;;;830:78201;;;;;;;;;;;;;38807:4;830:78201;;336:42:2;38793:19:63;;;;830:78201;;38793:19;830:78201;38793:19;;830:78201;38793:19;;830:78201;;;;38793:19;830:78201;;;336:42:2;38793:19:63;;;;;;;;830:78201;;;;;;;;;38900:16;;830:78201;38900:16;830:78201;38900:16;;;;;;;;830:78201;;38900:16;;;830:78201;38894:22;;;;:::i;:::-;830:78201;38889:2;830:78201;;38889:2;830:78201;;;;;;38945:15;830:78201;38945:15;;830:78201;;;;;39009:10;2030:14:2;;;830:78201:63;;;38807:4;830:78201;;;;;39009:23;830:78201;39009:23;;;830:78201;39009:23;;830:78201;;39009:23;38793:19;39009:23;;;;;;;;;830:78201;;39009:23;;;830:78201;;;;;39149:24;;830:78201;39149:24;830:78201;39149:24;;;;;;;;;830:78201;;39149:24;;;830:78201;;;;;39486:18;;;830:78201;39486:18;;830:78201;;39486:18;38793:19;39486:18;;;;;;;;;830:78201;;;;;;;;39486:18;;;830:78201;;39087:505;830:78201;;39222:338;39087:505;830:78201;;39222:338;830:78201;;;39222:338;;;830:78201;39222:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;39087:505;830:78201;39064:538;;2030:14:2;39673::63;2030::2;830:78201:63;;;39665:35;830:78201;39665:35;;;830:78201;39665:35;;830:78201;38793:19;2030:14:2;;830:78201:63;39665:35;;;;336:42:2;39665:35:63;;;;;;;830:78201;;;;;;;39665:35;;830:78201;;;;39783:35;830:78201;39783:35;;830:78201;39783:35;830:78201;39783:35;;;;;;;;;830:78201;;;;;;39783:35;;;830:78201;;;;;39755:342;830:78201;;;39755:342;830:78201;;;;39755:342;;;;;;39971:13;;39755:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;39755:342;830:78201;39732:375;;830:78201;;;40179:29;;;;830:78201;40179:29;;;;;;;;;830:78201;;40179:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;40150:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;40150:71;830:78201;2030:14:2;;;40150:71:63;2030:14:2;40150:71:63;830:78201;40140:82;;830:78201;;40275:37;830:78201;40275:37;;830:78201;40275:37;;830:78201;38793:19;2030:14:2;;830:78201:63;39665:35;40275:37;39665:35;40275:37;336:42:2;40275:37:63;;;;;;830:78201;;;;;;;;40275:37;;830:78201;40323:62;336:42:2;40323:62:63;;;;830:78201;;;40323:62;;40339:45;830:78201;40323:62;;830:78201;;;;38793:19;830:78201;;336:42:2;40323:62:63;;;;;;;;2030:14:2;830:78201:63;39009:10;2030:14:2;;;830:78201:63;;;38807:4;830:78201;;;;;;;40395:356;;;;;;830:78201;;40395:356;;;;;;;830:78201;40395:356;;830:78201;;;40395:356;830:78201;40395:356;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;40275:37;;;;;;;;39665:35;40275:37;39665:35;40275:37;;;;;;;:::i;:::-;;;;;;;;40179:29;;;;830:78201;40179:29;;830:78201;40179:29;;;;;;2030:14:2;40179:29:63;;;:::i;:::-;;;2030:14:2;;;;;;40150:71:63;40179:29;;;;;-1:-1:-1;40179:29:63;;39783:35;;;;;;830:78201;39783:35;;830:78201;39783:35;;;;;;2030:14:2;39783:35:63;;;:::i;:::-;;;2030:14:2;;;;;;39783:35:63;;2030:14:2;;;;830:78201:63;39783:35;;;;;-1:-1:-1;39783:35:63;;39665;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;39486:18;;;;;;;830:78201;39486:18;;830:78201;39486:18;;;;;;2030:14:2;39486:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;39222:338:63;39486:18;;;;;-1:-1:-1;39486:18:63;;39149:24;;;830:78201;39149:24;;830:78201;39149:24;;;;;;2030:14:2;39149:24:63;;;:::i;:::-;;;2030:14:2;;;;;39149:24:63;;;;;;-1:-1:-1;39149:24:63;;39009:23;;;;830:78201;39009:23;;830:78201;39009:23;;;;;;2030:14:2;39009:23:63;;;:::i;:::-;;;2030:14:2;;;;;39009:23:63;;;;;;;-1:-1:-1;39009:23:63;;38900:16;;830:78201;38900:16;;830:78201;38900:16;;;;;;830:78201;38900:16;;;:::i;:::-;;;830:78201;;;;;38894:22;830:78201;;:::i;:::-;38900:16;;;;;-1:-1:-1;38900:16:63;;38793:19;830:78201;;38793:19;;;:::i;:::-;830:78201;;;;38793:19;;;830:78201;;;;;;;;;;;;;18322:4;830:78201;;336:42:2;18308:19:63;;;;830:78201;;18308:19;830:78201;18308:19;;830:78201;18308:19;;830:78201;;;;18308:19;830:78201;;;336:42:2;18308:19:63;;;;;;;;830:78201;;;;;;;;;18415:16;;830:78201;18415:16;830:78201;18415:16;;;;;;;;830:78201;;18415:16;;;830:78201;18409:22;;;;:::i;:::-;830:78201;18404:2;830:78201;;18404:2;830:78201;;;;;18478:4;18460:15;2030:14:2;18460:15:63;;;2030:14:2;;;830:78201:63;18555:10;2030:14:2;;;830:78201:63;;;18322:4;830:78201;;;;;18555:23;830:78201;18555:23;;;830:78201;18555:23;;830:78201;;18555:23;18308:19;18555:23;;;;;;;;;830:78201;;18555:23;;;830:78201;;;;;18696:24;;830:78201;18696:24;830:78201;18696:24;;;;;;;;;830:78201;;18696:24;;;830:78201;;;;;19033:18;;;830:78201;19033:18;;830:78201;;19033:18;18308:19;19033:18;;;;;;;;830:78201;;;;19033:18;;;830:78201;;18634:505;830:78201;18634:505;830:78201;18769:338;830:78201;18769:338;830:78201;;;18769:338;;;;830:78201;18769:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;18634:505;830:78201;18611:538;;2030:14:2;19223::63;2030::2;830:78201:63;;;19215:36;830:78201;19215:36;;;830:78201;19215:36;;830:78201;18308:19;2030:14:2;;830:78201:63;19215:36;;;;336:42:2;19215:36:63;;;;;;;830:78201;;;;;;;;19215:36;;830:78201;;;;;19335:35;;830:78201;19335:35;830:78201;19335:35;;;;;;;;;830:78201;;;;;;;;19335:35;;;830:78201;;19307:343;830:78201;;19307:343;830:78201;;;19307:343;;;830:78201;19307:343;;19523:13;;;19307:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;19307:343;830:78201;19284:376;;830:78201;;19734:29;830:78201;19734:29;;830:78201;19734:29;830:78201;19734:29;;;;;;;;;830:78201;;19734:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;19705:72;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;19705:72;830:78201;2030:14:2;;;19705:72:63;2030:14:2;19705:72:63;830:78201;19695:83;;830:78201;;19835:38;830:78201;19835:38;;830:78201;19835:38;;830:78201;18308:19;2030:14:2;;830:78201:63;19215:36;19835:38;19215:36;19835:38;336:42:2;19835:38:63;;;;;;;830:78201;;;;;;;19835:38;;830:78201;19884:363;;;;;;830:78201;;;;;;19884:363;;;;;;;830:78201;19884:363;;830:78201;;;19884:363;830:78201;19884:363;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;19884:363;;830:78201;;;19884:363;;;;;;;;;830:78201;;;;;;;;18322:4;830:78201;;2030:14:2;830:78201:63;18555:10;2030:14:2;;;830:78201:63;;;;;20307:42;;830:78201;20307:42;;;;;830:78201;20307:42;;830:78201;;;;;;;;;;;;;;;;;;;20307:42;;;;;;;;;;830:78201;;20307:42;;;830:78201;20298:55;;;;:::i;:::-;830:78201;;20427:23;830:78201;20427:23;;;830:78201;20427:23;;830:78201;;20427:23;18308:19;20427:23;;;;;;;;;830:78201;;20427:23;;;830:78201;;;;;20568:24;;830:78201;20568:24;830:78201;20568:24;;;;;;;;;830:78201;;20568:24;;;830:78201;;;;;20905:18;;;830:78201;20905:18;;830:78201;;20905:18;18308:19;20905:18;;;;;;;;;830:78201;;;;;;20905:18;;;830:78201;;;20506:505;830:78201;20641:338;20506:505;830:78201;20641:338;830:78201;;20641:338;;;;;830:78201;20641:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;20506:505;830:78201;20483:538;;2030:14:2;19223::63;2030::2;830:78201:63;;21087:36;830:78201;21087:36;;;830:78201;21087:36;;830:78201;18308:19;2030:14:2;;830:78201:63;19215:36;21087;19215;21087;336:42:2;21087:36:63;;;;;;;830:78201;;;;;;;;21087:36;;830:78201;;;;;21207:35;;830:78201;21207:35;830:78201;21207:35;;;;;;;;;830:78201;;;;;;21207:35;;;830:78201;-1:-1:-1;830:78201:63;;;;21179:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19523:13;830:78201;;;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;21179:343;;830:78201;;;;21179:343;830:78201;21179:343;830:78201;21156:376;;830:78201;;21606:29;830:78201;21606:29;;830:78201;21606:29;830:78201;21606:29;;;;;;;;;830:78201;;21606:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;21577:72;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;21577:72;830:78201;2030:14:2;;;21577:72:63;2030:14:2;21577:72:63;830:78201;21567:83;;830:78201;;21707:38;830:78201;21707:38;;830:78201;21707:38;;830:78201;18308:19;2030:14:2;;830:78201:63;19215:36;21707:38;19215:36;21707:38;336:42:2;21707:38:63;;;;;;;830:78201;;;;;;;;21707:38;;830:78201;21756:363;;;;;;830:78201;;21756:363;;;;;;;830:78201;21756:363;;830:78201;;;21756:363;830:78201;21756:363;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;21756:363;;830:78201;;;21756:363;;;;;;;;;830:78201;-1:-1:-1;830:78201:63;;;18322:4;830:78201;18555:10;2030:14:2;830:78201:63;;;22139:42;;830:78201;;;;;22139:42;;830:78201;2030:14:2;;;;;830:78201:63;;;;;;;;;;;;;;;22139:42;;;;;;830:78201;;22139:42;;;830:78201;22130:55;;;;:::i;22139:42::-;;830:78201;22139:42;;830:78201;22139:42;;;;;;2030:14:2;22139:42:63;;;:::i;:::-;;;2030:14:2;;;;22130:55:63;2030:14:2;;22139:42:63;;;;;-1:-1:-1;22139:42:63;;21756:363;830:78201;;21756:363;;;:::i;:::-;830:78201;;;;21756:363;;;21707:38;;;;;;;;;19215:36;21707:38;19215:36;21707:38;;;;;;;:::i;:::-;;;;;;;;21606:29;;;;830:78201;21606:29;;830:78201;21606:29;;;;;;2030:14:2;21606:29:63;;;:::i;:::-;;;2030:14:2;;;;;;21577:72:63;21606:29;;;;;-1:-1:-1;21606:29:63;;21207:35;;;;;830:78201;21207:35;;830:78201;21207:35;;;;;;2030:14:2;21207:35:63;;;:::i;:::-;;;2030:14:2;;;;;21179:343:63;2030:14:2;;;21207:35:63;;;;;;-1:-1:-1;21207:35:63;;21087:36;;;;;;;;19215;21087;19215;21087;;;;;;;:::i;:::-;;;;;;;20905:18;;;;;830:78201;20905:18;;830:78201;20905:18;;;;;;2030:14:2;20905:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;20506:505:63;20905:18;;;;;-1:-1:-1;20905:18:63;;20568:24;;;830:78201;20568:24;;830:78201;20568:24;;;;;;2030:14:2;20568:24:63;;;:::i;:::-;;;2030:14:2;;;;;20568:24:63;;;;;;-1:-1:-1;20568:24:63;;20427:23;;;;830:78201;20427:23;;830:78201;20427:23;;;;;;2030:14:2;20427:23:63;;;:::i;:::-;;;2030:14:2;;;;;20427:23:63;;;;;;;-1:-1:-1;20427:23:63;;20307:42;;830:78201;20307:42;;830:78201;20307:42;;;;;;2030:14:2;20307:42:63;;;:::i;:::-;;;2030:14:2;;;;20298:55:63;2030:14:2;;20307:42:63;;;;;-1:-1:-1;20307:42:63;;19884:363;830:78201;;19884:363;;;:::i;:::-;830:78201;;;;19884:363;;;19835:38;;;;;;;19215:36;19835:38;19215:36;19835:38;;;;;;;:::i;:::-;;;;;19734:29;;;;830:78201;19734:29;;830:78201;19734:29;;;;;;2030:14:2;19734:29:63;;;:::i;:::-;;;2030:14:2;;;;;;19705:72:63;19734:29;;;;;-1:-1:-1;19734:29:63;;19335:35;;;;;;;830:78201;19335:35;;830:78201;19335:35;;;;;;2030:14:2;19335:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;19307:343:63;19335:35;;;;;-1:-1:-1;19335:35:63;;19215:36;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;19033:18;;;;830:78201;19033:18;;830:78201;19033:18;;;;;;2030:14:2;19033:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;18634:505:63;19033:18;;;;;-1:-1:-1;19033:18:63;;18696:24;;;830:78201;18696:24;;830:78201;18696:24;;;;;;2030:14:2;18696:24:63;;;:::i;:::-;;;2030:14:2;;;;;18696:24:63;;;;;;-1:-1:-1;18696:24:63;;18555:23;;;;830:78201;18555:23;;830:78201;18555:23;;;;;;2030:14:2;18555:23:63;;;:::i;:::-;;;2030:14:2;;;;;18555:23:63;;;;;;;-1:-1:-1;18555:23:63;;18415:16;;830:78201;18415:16;;830:78201;18415:16;;;;;;830:78201;18415:16;;;:::i;:::-;;;830:78201;;;;;18409:22;830:78201;;:::i;:::-;18415:16;;;;;-1:-1:-1;18415:16:63;;18308:19;830:78201;;18308:19;;;:::i;:::-;830:78201;;;;18308:19;;;830:78201;;;;;;;;;;;;;47596:4;830:78201;;336:42:2;47582:19:63;;;;830:78201;;47582:19;830:78201;47582:19;;830:78201;47582:19;;830:78201;;;;47582:19;830:78201;;;336:42:2;47582:19:63;;;;;;;;830:78201;;;;;;;;;47689:16;;830:78201;47689:16;830:78201;47689:16;;;;;;;;830:78201;;47689:16;;;830:78201;47683:22;;;;:::i;:::-;830:78201;47678:2;830:78201;;47678:2;830:78201;;;;;47752:4;47734:15;2030:14:2;47734:15:63;;;2030:14:2;;;830:78201:63;47782:10;2030:14:2;;;830:78201:63;;47596:4;830:78201;;;;;47782:23;830:78201;47782:23;;;830:78201;47782:23;;830:78201;;47782:23;47582:19;47782:23;;;;;;;;;830:78201;;47782:23;;;830:78201;;;;;48020:24;;830:78201;48020:24;830:78201;48020:24;;;;;;;;;830:78201;;48020:24;;;830:78201;;;;;48357:18;;;830:78201;48357:18;;830:78201;;48357:18;47582:19;48357:18;;;;;;;;;830:78201;;;;;;48357:18;;;830:78201;;;47958:505;830:78201;48093:338;47958:505;830:78201;48093:338;830:78201;;48093:338;;;;;830:78201;48093:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;47958:505;830:78201;47935:538;;2030:14:2;48544::63;2030::2;830:78201:63;;;48536:35;830:78201;48536:35;;830:78201;48536:35;;830:78201;47582:19;2030:14:2;;830:78201:63;48536:35;;;;336:42:2;48536:35:63;;;;;;;830:78201;;;;;;;48536:35;;830:78201;;;;48654:35;830:78201;48654:35;;830:78201;48654:35;830:78201;48654:35;;;;;;;;;830:78201;;;;;;48654:35;;;830:78201;;;;;48626:342;830:78201;;;48626:342;830:78201;;;;48626:342;;;;;;48842:13;;48626:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;48626:342;830:78201;48603:375;;830:78201;;;49050:29;;;;830:78201;49050:29;;;;;;;;;830:78201;;49050:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;49021:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;49021:71;830:78201;2030:14:2;;;49021:71:63;2030:14:2;49021:71:63;830:78201;49011:82;;830:78201;;;49146:38;830:78201;49146:38;;47892:11;830:78201;49146:38;;830:78201;47582:19;2030:14:2;;830:78201:63;48536:35;49146:38;48536:35;49146:38;336:42:2;49146:38:63;;;;;;830:78201;;;;;;;;49146:38;;49195:71;336:42:2;49195:71:63;;;;830:78201;;;49195:71;;49211:54;830:78201;49195:71;;830:78201;;;;47582:19;830:78201;;336:42:2;49195:71:63;;;;;;;;2030:14:2;830:78201:63;47782:10;2030:14:2;;;830:78201:63;;;47596:4;830:78201;;;;;;;49276:356;;;;;;830:78201;;49276:356;;;;;;;830:78201;49276:356;;830:78201;;;49276:356;830:78201;49276:356;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;49146:38;;;;;;;;48536:35;49146:38;48536:35;49146:38;;;;;;;:::i;:::-;;;;;;;;49050:29;;;;830:78201;49050:29;;830:78201;49050:29;;;;;;2030:14:2;49050:29:63;;;:::i;:::-;;;2030:14:2;;;;;;49021:71:63;49050:29;;;;;-1:-1:-1;49050:29:63;;48654:35;;;;;;830:78201;48654:35;;830:78201;48654:35;;;;;;2030:14:2;48654:35:63;;;:::i;:::-;;;2030:14:2;;;;;;48654:35:63;;2030:14:2;;;;830:78201:63;48654:35;;;;;-1:-1:-1;48654:35:63;;48536;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;48357:18;;;;;830:78201;48357:18;;830:78201;48357:18;;;;;;2030:14:2;48357:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;47958:505:63;48357:18;;;;;-1:-1:-1;48357:18:63;;48020:24;;;830:78201;48020:24;;830:78201;48020:24;;;;;;2030:14:2;48020:24:63;;;:::i;:::-;;;2030:14:2;;;;;48020:24:63;;;;;;-1:-1:-1;48020:24:63;;47782:23;;;;830:78201;47782:23;;830:78201;47782:23;;;;;;2030:14:2;47782:23:63;;;:::i;:::-;;;2030:14:2;;;;;47782:23:63;;;;;;;-1:-1:-1;47782:23:63;;47689:16;;830:78201;47689:16;;830:78201;47689:16;;;;;;830:78201;47689:16;;;:::i;:::-;;;830:78201;;;;;47683:22;830:78201;;:::i;:::-;47689:16;;;;;-1:-1:-1;47689:16:63;;47582:19;830:78201;;47582:19;;;:::i;:::-;830:78201;;;;47582:19;;;830:78201;;;;;;;;;;;;;7387:4;830:78201;;336:42:2;7373:19:63;;;;830:78201;;7373:19;830:78201;7373:19;;830:78201;7373:19;;830:78201;;;;7373:19;830:78201;;;336:42:2;7373:19:63;;;;;;;;830:78201;;;;;;;;;7480:16;;830:78201;7480:16;830:78201;7480:16;;;;;;;;830:78201;;7480:16;;;830:78201;7474:22;;;;:::i;:::-;830:78201;7469:2;830:78201;;7469:2;830:78201;;;;;;7525:15;830:78201;7525:15;;830:78201;;;;;7581:10;2030:14:2;;;830:78201:63;;;7387:4;830:78201;;;;;7581:23;830:78201;7581:23;;;830:78201;7581:23;;830:78201;;7581:23;7373:19;7581:23;;;;;;;;;830:78201;;7581:23;;;830:78201;;;;;7756:24;;830:78201;7756:24;830:78201;7756:24;;;;;;;;;830:78201;;7756:24;;;830:78201;;;;;8093:18;;;830:78201;8093:18;;830:78201;;8093:18;7373:19;8093:18;;;;;;;;;830:78201;;;;;;;;8093:18;;;830:78201;;7694:505;830:78201;;7829:338;7694:505;830:78201;;7829:338;830:78201;;;7829:338;;;830:78201;7829:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;7694:505;830:78201;7671:538;;2030:14:2;8280::63;2030::2;830:78201:63;;;8272:35;830:78201;8272:35;;;830:78201;8272:35;;830:78201;7373:19;2030:14:2;;830:78201:63;8272:35;;;;336:42:2;8272:35:63;;;;;;;830:78201;;;;;;;8272:35;;830:78201;;;;8425:35;830:78201;8425:35;;830:78201;8425:35;830:78201;8425:35;;;;;;;;;830:78201;;;;;;8425:35;;;830:78201;;;;;8397:342;830:78201;;;8397:342;830:78201;;;;8397:342;;;;;;8613:13;;8397:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;8397:342;830:78201;8374:375;;830:78201;;;8822:29;;;;830:78201;8822:29;;;;;;;;;830:78201;;8822:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;8793:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;8793:71;830:78201;2030:14:2;;;8793:71:63;2030:14:2;8793:71:63;830:78201;8783:82;;830:78201;;8919:37;830:78201;8919:37;;830:78201;8919:37;;830:78201;7373:19;2030:14:2;;830:78201:63;8272:35;8919:37;8272:35;8919:37;336:42:2;8919:37:63;;;;;;830:78201;;;;;;;;8919:37;;830:78201;8967:17;336:42:2;8967:17:63;;;;830:78201;;;8967:17;;830:78201;;;;;;336:42:2;8967:17:63;;;;;;;;2030:14:2;830:78201:63;7581:10;2030:14:2;;;830:78201:63;;;7387:4;830:78201;;;;;;;8994:440;;;;;;830:78201;;8994:440;;;;;;;830:78201;8994:440;;830:78201;;;8994:440;830:78201;8994:440;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;8919:37;;;;;;;;8272:35;8919:37;8272:35;8919:37;;;;;;;:::i;:::-;;;;;;;;8822:29;;;;830:78201;8822:29;;830:78201;8822:29;;;;;;2030:14:2;8822:29:63;;;:::i;:::-;;;2030:14:2;;;;;;8793:71:63;8822:29;;;;;-1:-1:-1;8822:29:63;;8425:35;;;;;;830:78201;8425:35;;830:78201;8425:35;;;;;;2030:14:2;8425:35:63;;;:::i;:::-;;;2030:14:2;;;;;;8425:35:63;;2030:14:2;;;;830:78201:63;8425:35;;;;;-1:-1:-1;8425:35:63;;8272;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;8093:18;;;;;;;830:78201;8093:18;;830:78201;8093:18;;;;;;2030:14:2;8093:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;7829:338:63;8093:18;;;;;-1:-1:-1;8093:18:63;;7756:24;;;830:78201;7756:24;;830:78201;7756:24;;;;;;2030:14:2;7756:24:63;;;:::i;:::-;;;2030:14:2;;;;;7756:24:63;;;;;;-1:-1:-1;7756:24:63;;7581:23;;;;830:78201;7581:23;;830:78201;7581:23;;;;;;2030:14:2;7581:23:63;;;:::i;:::-;;;2030:14:2;;;;;7581:23:63;;;;;;;-1:-1:-1;7581:23:63;;7480:16;;830:78201;7480:16;;830:78201;7480:16;;;;;;830:78201;7480:16;;;:::i;:::-;;;830:78201;;;;;7474:22;830:78201;;:::i;:::-;7480:16;;;;;-1:-1:-1;7480:16:63;;7373:19;830:78201;;7373:19;;;:::i;:::-;830:78201;;;;7373:19;;;830:78201;;;;;;;;;;;;;11764:4;830:78201;;336:42:2;11750:19:63;;;;830:78201;;11750:19;830:78201;11750:19;;830:78201;11750:19;;830:78201;;;;11750:19;830:78201;;;336:42:2;11750:19:63;;;;;;;;830:78201;;;;;;;;;11905:16;;830:78201;11905:16;830:78201;11905:16;;;;;;;;830:78201;;11905:16;;;830:78201;11899:22;;;;:::i;:::-;;;11894:2;830:78201;;;;;;;;;;;;;11961:16;;830:78201;11961:16;830:78201;11961:16;;;;;;;;830:78201;;11961:16;;;830:78201;11955:22;;;;:::i;:::-;830:78201;11951:1;830:78201;;;;;;;;12009:18;830:78201;11951:1;830:78201;;;11894:2;830:78201;12009:18;:::i;:::-;;;12074:4;12056:15;2030:14:2;12056:15:63;2030:14:2;;;830:78201:63;12104:10;2030:14:2;;;830:78201:63;;;11764:4;830:78201;;;;;12104:23;830:78201;12104:23;;;830:78201;12104:23;;830:78201;;12104:23;11750:19;12104:23;;;;;;;;;830:78201;;12104:23;;;830:78201;;;;;12312:24;;830:78201;12312:24;830:78201;12312:24;;;;;;;;;830:78201;;12312:24;;;830:78201;;;;;12654:18;;;830:78201;12654:18;;830:78201;;12654:18;11750:19;12654:18;;;;;;;;;830:78201;;12654:18;;;830:78201;-1:-1:-1;830:78201:63;;;12385:343;;;74860:95;830:78201;12385:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12056:15;12074:4;2030:14:2;830:78201:63;;;;12250:510;;;;12385:343;;830:78201;;;;12250:510;830:78201;12250:510;830:78201;12227:543;;2030:14:2;12841::63;2030::2;830:78201:63;;;12833:35;830:78201;12833:35;;;830:78201;12833:35;;830:78201;11750:19;2030:14:2;;830:78201:63;12833:35;;;;336:42:2;12833:35:63;;;;;;;830:78201;;;;;;;;12833:35;;;830:78201;;;;;12986:35;;830:78201;12986:35;830:78201;12986:35;;;;;;;;;830:78201;;12986:35;;;830:78201;;;;;12958:323;;-1:-1:-1;;;2030:14:2;830:78201:63;;2030:14:2;830:78201:63;2030:14:2;;830:78201:63;2030:14:2;12833:35:63;2030:14:2;;830:78201:63;;;11894:2;830:78201;2030:14:2;;;830:78201:63;11812:6;2030:14:2;;;830:78201:63;12074:4;12056:15;2030:14:2;;;;830:78201:63;13174:13;830:78201;2030:14:2;;830:78201:63;2030:14:2;;;;830:78201:63;;11951:1;830:78201;2030:14:2;;;830:78201:63;11860:6;2030:14:2;;;830:78201:63;2030:14:2;12958:323:63;;;;;;:::i;:::-;830:78201;12935:356;;830:78201;;13364:29;830:78201;13364:29;;830:78201;13364:29;830:78201;13364:29;;;;;;;;;830:78201;;13364:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;13335:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;13335:71;830:78201;2030:14:2;;;13335:71:63;2030:14:2;13335:71:63;830:78201;13325:82;;830:78201;;13461:37;830:78201;13461:37;;830:78201;13461:37;;830:78201;11750:19;2030:14:2;;830:78201:63;12833:35;13461:37;12833:35;13461:37;336:42:2;13461:37:63;;;;;;;11750:19;830:78201;;;;;;;;;13461:37;;;830:78201;;;;;;13571:21;;;;830:78201;13571:21;;;830:78201;13571:21;;830:78201;13571:21;;;;;;;830:78201;;13571:21;;;830:78201;;;;13632:30;;11812:6;830:78201;13632:30;;830:78201;;-1:-1:-1;830:78201:63;;11750:19;830:78201;13632:30;;;;;;;;830:78201;;13632:30;;;830:78201;;;;13708:29;830:78201;13708:29;;11860:6;830:78201;13708:29;;830:78201;;13708:29;11750:19;13708:29;;;;;;;;;830:78201;;13708:29;;;830:78201;13831:425;;;;;;830:78201;;;;;;13831:425;830:78201;13831:425;;-1:-1:-1;;830:78201:63;;13831:425;;830:78201;11750:19;830:78201;;;;;11894:2;830:78201;12833:35;830:78201;;;;;;;;;11812:6;830:78201;;;;12074:4;12056:15;2030:14:2;830:78201:63;;;;;;;;;11951:1;830:78201;;;;;11860:6;830:78201;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;13831:425;830:78201;;;;;;13831:425;;;;;;;;;830:78201;;;;;;;;11764:4;830:78201;;;;;14326:21;830:78201;14326:21;;830:78201;14326:21;;830:78201;;14326:21;11750:19;14326:21;;;;;;;;;830:78201;;14326:21;;;830:78201;;;;14386:30;830:78201;14386:30;;11812:6;830:78201;14386:30;;830:78201;;14386:30;11750:19;14386:30;;;;;;;;;830:78201;;14386:30;;;830:78201;;;11750:19;830:78201;;;14461:29;;;;830:78201;14461:29;;11860:6;830:78201;14461:29;;830:78201;14461:29;;;;;;;830:78201;;14461:29;;;830:78201;14528:31;;14599:28;;14528:31;;14673:37;14528:31;;14673:37;14528:31;;;;;;;:::i;:::-;830:78201;;11894:2;830:78201;14599:28;;:::i;:::-;11951:1;830:78201;14673:37;;:::i;14461:29::-;;;;;;;;830:78201;14461:29;;830:78201;14461:29;;;;;;2030:14:2;14461:29:63;;;:::i;:::-;;;2030:14:2;;;;;;;14461:29:63;;;;;;2030:14:2;14599:28:63;14461:29;;;;;-1:-1:-1;14461:29:63;;14386:30;;;;830:78201;14386:30;;830:78201;14386:30;;;;;;2030:14:2;14386:30:63;;;:::i;:::-;;;2030:14:2;;;;;;14386:30:63;;830:78201;14386:30;;;;;-1:-1:-1;14386:30:63;;14326:21;;;;830:78201;14326:21;;830:78201;14326:21;;;;;;2030:14:2;14326:21:63;;;:::i;:::-;;;2030:14:2;;;;;14326:21:63;;;;;;;-1:-1:-1;14326:21:63;;13831:425;830:78201;;13831:425;;;:::i;:::-;830:78201;;;;13831:425;;;13708:29;;;;830:78201;13708:29;;830:78201;13708:29;;;;;;2030:14:2;13708:29:63;;;:::i;:::-;;;2030:14:2;;;;;13708:29:63;;;;;;;-1:-1:-1;13708:29:63;;13632:30;;;;830:78201;13632:30;;830:78201;13632:30;;;;;;2030:14:2;13632:30:63;;;:::i;:::-;;;2030:14:2;;;;;13632:30:63;;;;;;;-1:-1:-1;13632:30:63;;13571:21;;;830:78201;13571:21;;830:78201;13571:21;;;;;;2030:14:2;13571:21:63;;;:::i;:::-;;;2030:14:2;;;;830:78201:63;2030:14:2;;13571:21:63;;;;;;-1:-1:-1;13571:21:63;;13461:37;;;;;;;;;12833:35;13461:37;12833:35;13461:37;;;;;;;:::i;:::-;;;;;;;;13364:29;;;;830:78201;13364:29;;830:78201;13364:29;;;;;;2030:14:2;13364:29:63;;;:::i;:::-;;;2030:14:2;;;;;;13335:71:63;13364:29;;;;;-1:-1:-1;13364:29:63;;12986:35;;;830:78201;12986:35;;830:78201;12986:35;;;;;;2030:14:2;12986:35:63;;;:::i;:::-;;;2030:14:2;;;;;12986:35:63;;;;;;-1:-1:-1;12986:35:63;;12833;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;12654:18;;;830:78201;12654:18;;830:78201;12654:18;;;;;;2030:14:2;12654:18:63;;;:::i;:::-;;;2030:14:2;;;;;12250:510:63;12654:18;;;;;-1:-1:-1;12654:18:63;;12312:24;;;830:78201;12312:24;;830:78201;12312:24;;;;;;2030:14:2;12312:24:63;;;:::i;:::-;;;2030:14:2;;;;;12312:24:63;;;;;;-1:-1:-1;12312:24:63;;12104:23;;;;830:78201;12104:23;;830:78201;12104:23;;;;;;2030:14:2;12104:23:63;;;:::i;:::-;;;2030:14:2;;;;;12104:23:63;;;;;;;-1:-1:-1;12104:23:63;;11961:16;;830:78201;11961:16;;830:78201;11961:16;;;;;;830:78201;11961:16;;;:::i;:::-;;;830:78201;;;;;11955:22;830:78201;;:::i;:::-;11961:16;;;;;-1:-1:-1;11961:16:63;;11905;;830:78201;11905:16;;830:78201;11905:16;;;;;;830:78201;11905:16;;;:::i;:::-;;;830:78201;;;;;11899:22;830:78201;;:::i;:::-;11905:16;;;;;-1:-1:-1;11905:16:63;;11750:19;830:78201;;11750:19;;;:::i;:::-;830:78201;;;;11750:19;;;830:78201;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2575:18:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2575:18:9;-1:-1:-1;;830:78201:63;;-1:-1:-1;;830:78201:63;-1:-1:-1;;830:78201:63;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;63493:43;;;;;;;;;;;;;;830:78201;63493:43;;;;;;63518:17;830:78201;;63493:43;;830:78201;;;63493:43;;;;;830:78201;;;63612:4;830:78201;;63586:45;;;;;830:78201;;63586:45;830:78201;63586:45;;830:78201;63586:45;;830:78201;63618:12;830:78201;;;;;;;63586:45;830:78201;;;63586:45;;;;;;;;;830:78201;;;63612:4;830:78201;;336:42:2;63642:19:63;;;;830:78201;;63642:19;830:78201;63642:19;;830:78201;63642:19;;830:78201;;;;;;;;336:42:2;63642:19:63;;;;;;;;830:78201;63802:15;63820:4;63802:15;2030:14:2;63802:15:63;;;2030:14:2;;;830:78201:63;63850:10;2030:14:2;;;830:78201:63;;63612:4;830:78201;;;;;63850:23;830:78201;63850:23;;;830:78201;63850:23;;830:78201;;63850:23;830:78201;63850:23;;;;;;;;;830:78201;;63850:23;;;830:78201;;;;63956:35;830:78201;63956:35;;830:78201;63956:35;830:78201;63956:35;;;;;;;;;830:78201;;63956:35;;;830:78201;;;;63928:324;830:78201;63928:324;;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;63738:13;830:78201;;;;;;;;;;;;;;64155:13;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;63928:324;;;;;;:::i;:::-;830:78201;63905:357;;830:78201;;64329:29;830:78201;64329:29;;830:78201;64329:29;830:78201;64329:29;;;;;;;;;830:78201;;64329:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;64300:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;64300:71;830:78201;2030:14:2;;;64300:71:63;2030:14:2;64300:71:63;830:78201;64290:82;;2030:14:2;64424::63;2030::2;830:78201:63;;;64416:31;830:78201;64416:31;;830:78201;64416:31;;830:78201;;2030:14:2;;830:78201:63;;64416:31;63586:45;64416:31;336:42:2;64416:31:63;;;;;;;830:78201;;;;;;;;64416:31;;830:78201;;;;64458:53;830:78201;64458:53;;830:78201;64458:53;;830:78201;63738:13;830:78201;;;;;;63586:45;830:78201;;;64458:53;;;;;;;;;830:78201;64585:39;336:42:2;64585:39:63;;;;830:78201;;;64585:39;;830:78201;;64585:39;;830:78201;;;;;;;63586:45;830:78201;;;;;;64585:39;830:78201;;336:42:2;64585:39:63;;;;;;;;830:78201;2030:14:2;830:78201:63;63850:10;2030:14:2;;;830:78201:63;;;63612:4;830:78201;;64634:145;;;;;;830:78201;;;;64634:145;830:78201;64634:145;;-1:-1:-1;;830:78201:63;;64634:145;;830:78201;;;;;63738:13;63586:45;830:78201;;;;64585:39;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;64634:145;830:78201;;;;;;64634:145;;;;;;;;;64790:14;336:42:2;64790:14:63;;;;830:78201;;;64790:14;;830:78201;;;;;;336:42:2;64790:14:63;;;;;;;;830:78201;;;;64585:39;830:78201;;64585:39;;;:::i;:::-;830:78201;;;;64585:39;;;64458:53;;;830:78201;64458:53;830:78201;64458:53;;;;;;;:::i;:::-;;;64416:31;;;;;;;;;830:78201;64416:31;830:78201;64416:31;;;;;;;:::i;:::-;;;;;;;;;64329:29;;;;830:78201;64329:29;;830:78201;64329:29;;;;;;2030:14:2;64329:29:63;;;:::i;:::-;;;2030:14:2;;;;;;64300:71:63;64329:29;;;;;-1:-1:-1;64329:29:63;;63956:35;;;;830:78201;63956:35;;830:78201;63956:35;;;;;;2030:14:2;63956:35:63;;;:::i;:::-;;;2030:14:2;;;;;63956:35:63;;;;;;;-1:-1:-1;63956:35:63;;63850:23;;;;830:78201;63850:23;;830:78201;63850:23;;;;;;2030:14:2;63850:23:63;;;:::i;:::-;;;2030:14:2;;;;;63850:23:63;;;;;;;-1:-1:-1;63850:23:63;;63642:19;830:78201;;63642:19;;;:::i;:::-;830:78201;;;;63642:19;;;63586:45;830:78201;;63586:45;;;:::i;:::-;830:78201;;;;63586:45;;;830:78201;;;;;;;;;;;;;32025:4;830:78201;;336:42:2;32011:19:63;;;;830:78201;;32011:19;830:78201;32011:19;;830:78201;32011:19;;830:78201;;;;32011:19;830:78201;;;336:42:2;32011:19:63;;;;;;;;830:78201;;;;;;;;;32118:16;;830:78201;32118:16;830:78201;32118:16;;;;;;;;830:78201;;32118:16;;;830:78201;32112:22;;;;:::i;:::-;830:78201;;32107:2;830:78201;;32107:2;830:78201;;;;;;32163:15;830:78201;32163:15;830:78201;;;;;32227:10;2030:14:2;;;830:78201:63;;32025:4;830:78201;;;;;32227:23;830:78201;32227:23;;;830:78201;32227:23;;830:78201;;32227:23;32011:19;32227:23;;;;;;;;;830:78201;;32227:23;;;830:78201;;;;;32333:35;;830:78201;32333:35;830:78201;32333:35;;;;;;;;830:78201;;;;32333:35;;;830:78201;;32305:342;830:78201;32305:342;830:78201;;32305:342;;;;;;830:78201;32305:342;;32521:13;;32305:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;32305:342;830:78201;32282:375;;830:78201;;32723:29;830:78201;32723:29;;830:78201;32723:29;830:78201;32723:29;;;;;;;;;830:78201;;32723:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;32694:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;32694:71;830:78201;2030:14:2;;;32694:71:63;2030:14:2;32694:71:63;830:78201;32684:82;;32818:14;2030::2;830:78201:63;;;32810:31;830:78201;32810:31;;830:78201;32810:31;;830:78201;32011:19;2030:14:2;;830:78201:63;32810:31;;;;336:42:2;32810:31:63;;;;;;;830:78201;;;;;;;;32810:31;;;830:78201;-1:-1:-1;830:78201:63;;;32852:42;;830:78201;;;;;32852:42;;830:78201;;;;;;;;;;;;;;;;;32852:42;;830:78201;;;32852:42;;;;;;;;;830:78201;32905:62;336:42:2;32905:62:63;;;;830:78201;;;32905:62;;32921:45;830:78201;32905:62;;830:78201;;;;32011:19;830:78201;;336:42:2;32905:62:63;;;;;;;;830:78201;2030:14:2;830:78201:63;32227:10;2030:14:2;;;830:78201:63;;;32025:4;830:78201;;;;;;;32977:112;;;;;;;830:78201;;;32977:112;;;;;;;830:78201;32977:112;;830:78201;;32977:112;830:78201;32977:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;32905:62;830:78201;;32905:62;;;:::i;:::-;830:78201;;;;32905:62;;;32852:42;;;830:78201;32852:42;830:78201;32852:42;;;;;;;:::i;:::-;;;32810:31;830:78201;32810:31;;;32852:42;32810:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;32723:29;;;;830:78201;32723:29;;830:78201;32723:29;;;;;;2030:14:2;32723:29:63;;;:::i;:::-;;;2030:14:2;;;;;;32694:71:63;32723:29;;;;;-1:-1:-1;32723:29:63;;32333:35;;;;830:78201;32333:35;;830:78201;32333:35;;;;;;2030:14:2;32333:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;32305:342:63;32333:35;;;;;-1:-1:-1;32333:35:63;;32227:23;;;;830:78201;32227:23;;830:78201;32227:23;;;;;;2030:14:2;32227:23:63;;;:::i;:::-;;;2030:14:2;;;;;32227:23:63;;;;;;;-1:-1:-1;32227:23:63;;32118:16;;830:78201;32118:16;;830:78201;32118:16;;;;;;830:78201;32118:16;;;:::i;:::-;;;830:78201;;;;;32112:22;830:78201;;:::i;:::-;32118:16;;;;;-1:-1:-1;32118:16:63;;32011:19;830:78201;;32011:19;;;:::i;:::-;830:78201;;;;32011:19;;;830:78201;;;;;;;;;;;;2876:18:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2876:18:9;830:78201:63;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26845:4;830:78201;;336:42:2;26831:19:63;;;;830:78201;;26831:19;830:78201;26831:19;;830:78201;26831:19;;830:78201;;;;26831:19;830:78201;;;336:42:2;26831:19:63;;;;;;;;830:78201;26972:15;26990:3;26972:15;2030:14:2;26972:15:63;;2030:14:2;;;830:78201:63;27019:10;2030:14:2;;;830:78201:63;;26845:4;830:78201;;;;;27019:23;830:78201;27019:23;;;830:78201;27019:23;;830:78201;;27019:23;26831:19;27019:23;;;;;;;;;830:78201;;27019:23;;;830:78201;;;;;;;;;;27159:24;;830:78201;27159:24;830:78201;27159:24;;;;;;;;;830:78201;;27159:24;;;830:78201;;;;;27496:18;;;830:78201;27496:18;;830:78201;;27496:18;26831:19;27496:18;;;;;;;;;830:78201;;27496:18;;;830:78201;;27097:505;;830:78201;;;;27232:338;;-1:-1:-1;;;830:78201:63;27268:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;27232:338;;;830:78201;27232:338;;:::i;27097:505::-;830:78201;27074:538;;27683:14;2030::2;830:78201:63;;;27675:35;830:78201;27675:35;;;830:78201;27675:35;;830:78201;26831:19;2030:14:2;;830:78201:63;;27675:35;;;336:42:2;27675:35:63;;;;;;;830:78201;;;;;;;;27675:35;;830:78201;;;;27793:35;830:78201;27793:35;;830:78201;27793:35;830:78201;27793:35;;;;;;;;;830:78201;;;;;;27793:35;;;830:78201;;;;;27765:342;830:78201;;;27765:342;830:78201;;;27765:342;;;;;;27981:13;;27765:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;27765:342;830:78201;27742:375;;830:78201;;;28189:29;;;;830:78201;28189:29;;;;;;;;;830:78201;;28189:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;28160:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;28160:71;830:78201;2030:14:2;;;28160:71:63;2030:14:2;28160:71:63;830:78201;28150:82;;830:78201;;28285:37;830:78201;28285:37;;830:78201;28285:37;;830:78201;26831:19;2030:14:2;;830:78201:63;;28285:37;27675:35;28285:37;336:42:2;28285:37:63;;;;;;;830:78201;;;;;;;;28285:37;;830:78201;28333:62;336:42:2;28333:62:63;;;;830:78201;;;28333:62;;28349:45;830:78201;28333:62;;830:78201;;;;26831:19;830:78201;;336:42:2;28333:62:63;;;;;;;;830:78201;2030:14:2;830:78201:63;27019:10;2030:14:2;;;830:78201:63;;;26845:4;830:78201;;;;;;;28405:356;;;;;;830:78201;;;;;;;;28405:356;;830:78201;28405:356;;-1:-1:-1;;830:78201:63;28405:356;830:78201;26831:19;830:78201;;;;;27675:35;830:78201;;;;;26990:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;28405:356;830:78201;;;;;;28405:356;;;;;;;;;28772:14;336:42:2;28772:14:63;;;;830:78201;;;28772:14;;830:78201;;;;;;336:42:2;28772:14:63;;;;;;;;830:78201;;;;28333:62;830:78201;;28333:62;;;:::i;:::-;830:78201;;;;28333:62;;;28285:37;;;;;;;;;830:78201;28285:37;830:78201;28285:37;;;;;;;:::i;:::-;;;;;;;;28189:29;;;;830:78201;28189:29;;830:78201;28189:29;;;;;;2030:14:2;28189:29:63;;;:::i;:::-;;;2030:14:2;;;;;;28160:71:63;28189:29;;;;;-1:-1:-1;28189:29:63;;27793:35;;;;;;830:78201;27793:35;;830:78201;27793:35;;;;;;2030:14:2;27793:35:63;;;:::i;:::-;;;2030:14:2;;;;;;27793:35:63;;2030:14:2;;;;830:78201:63;27793:35;;;;;-1:-1:-1;27793:35:63;;27675;;;;;;;;;;830:78201;27675:35;830:78201;27675:35;;;;;;;:::i;:::-;;;;;;;;;;27496:18;;;830:78201;27496:18;;830:78201;27496:18;;;;;;2030:14:2;27496:18:63;;;:::i;:::-;;;2030:14:2;;;;;27097:505:63;27496:18;;;;;-1:-1:-1;27496:18:63;;27159:24;;;830:78201;27159:24;;830:78201;27159:24;;;;;;2030:14:2;27159:24:63;;;:::i;:::-;;;2030:14:2;;;;;27159:24:63;;;;;;-1:-1:-1;27159:24:63;;27019:23;;;;830:78201;27019:23;;830:78201;27019:23;;;;;;2030:14:2;27019:23:63;;;:::i;:::-;;;2030:14:2;;;;;27019:23:63;;;;;;;-1:-1:-1;27019:23:63;;26831:19;830:78201;;26831:19;;;:::i;:::-;830:78201;;;;26831:19;;;830:78201;;;;;;;;;;;;;44312:4;830:78201;;336:42:2;44298:19:63;;;;830:78201;;44298:19;830:78201;44298:19;;830:78201;44298:19;;830:78201;;;;44298:19;830:78201;;;336:42:2;44298:19:63;;;;;;;;830:78201;;;;;;;;;44405:16;;830:78201;44405:16;830:78201;44405:16;;;;;;;;830:78201;;44405:16;;;830:78201;44399:22;;;;:::i;:::-;830:78201;44394:2;830:78201;;44394:2;830:78201;;;;;44468:4;44450:15;2030:14:2;44450:15:63;;2030:14:2;;;830:78201:63;44498:10;2030:14:2;;;830:78201:63;;44312:4;830:78201;;;;;44498:23;830:78201;44498:23;;;830:78201;44498:23;;830:78201;;44498:23;44298:19;44498:23;;;;;;;;;830:78201;;44498:23;;;830:78201;;;;44604:35;830:78201;44604:35;;830:78201;44604:35;830:78201;44604:35;;;;;;;;;830:78201;;;;;;44604:35;;;830:78201;;;;;44576:342;830:78201;;;44576:342;830:78201;;;;44576:342;;;;;;44792:13;;44576:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;44576:342;830:78201;44553:375;;830:78201;;;44994:29;;;;830:78201;44994:29;;;;;;;;;830:78201;;44994:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;44965:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;44965:71;830:78201;2030:14:2;;;44965:71:63;2030:14:2;44965:71:63;830:78201;44955:82;;45089:14;2030::2;830:78201:63;;;45081:31;830:78201;45081:31;;830:78201;45081:31;;830:78201;44298:19;2030:14:2;;830:78201:63;45081:31;;;;336:42:2;45081:31:63;;;;;;;830:78201;;;;;;;45081:31;;830:78201;45184:17;336:42:2;45184:17:63;;;;830:78201;;;45184:17;;830:78201;;;;;;336:42:2;45184:17:63;;;;;;;;2030:14:2;830:78201:63;44498:10;2030:14:2;;;830:78201:63;;;44312:4;830:78201;;;;;;;45211:112;;;;;;;830:78201;;;45211:112;;;;;;;830:78201;45211:112;;830:78201;;45211:112;830:78201;45211:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;45081:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;44994:29;;;;830:78201;44994:29;;830:78201;44994:29;;;;;;2030:14:2;44994:29:63;;;:::i;:::-;;;2030:14:2;;;;;;44965:71:63;44994:29;;;;;-1:-1:-1;44994:29:63;;44604:35;;;;;;830:78201;44604:35;;830:78201;44604:35;;;;;;2030:14:2;44604:35:63;;;:::i;:::-;;;2030:14:2;;;;;;44604:35:63;;2030:14:2;;;;830:78201:63;44604:35;;;;;-1:-1:-1;44604:35:63;;44498:23;;;;830:78201;44498:23;;830:78201;44498:23;;;;;;2030:14:2;44498:23:63;;;:::i;:::-;;;2030:14:2;;;;;44498:23:63;;;;;;;-1:-1:-1;44498:23:63;;44405:16;;830:78201;44405:16;;830:78201;44405:16;;;;;;830:78201;44405:16;;;:::i;:::-;;;830:78201;;;;;44399:22;830:78201;;:::i;:::-;44405:16;;;;;-1:-1:-1;44405:16:63;;44298:19;830:78201;;44298:19;;;:::i;:::-;830:78201;;;;44298:19;;;830:78201;;;;;;;;;;;;;;1233:40;830:78201;;;;;;;;;;;;;;;;;;;;;;;29992:4;830:78201;;336:42:2;29978:19:63;;;;830:78201;;29978:19;830:78201;29978:19;;830:78201;29978:19;;830:78201;;;;29978:19;830:78201;;;336:42:2;29978:19:63;;;;;;;;830:78201;;;;;;;;;30085:16;;830:78201;30085:16;830:78201;30085:16;;;;;;;;830:78201;;30085:16;;;830:78201;30079:22;;;;:::i;:::-;830:78201;30074:2;830:78201;;30074:2;830:78201;;;;;30148:3;30130:15;2030:14:2;30130:15:63;;;2030:14:2;;;830:78201:63;30177:10;2030:14:2;;;830:78201:63;;;29992:4;830:78201;;;;;30177:23;830:78201;30177:23;;;830:78201;30177:23;;830:78201;;30177:23;29978:19;30177:23;;;;;;;;;830:78201;;30177:23;;;830:78201;;;;30317:24;830:78201;30317:24;;830:78201;30317:24;830:78201;30317:24;;;;;;;;;830:78201;;30317:24;;;830:78201;;;29978:19;830:78201;;;30654:18;;;;830:78201;30654:18;;;830:78201;30654:18;;830:78201;30654:18;;;;;;;830:78201;;;;;;30654:18;;;830:78201;;;30255:505;830:78201;30390:338;30255:505;830:78201;30390:338;830:78201;;30390:338;;;;830:78201;30390:338;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;30255:505;830:78201;30232:538;;2030:14:2;30841::63;2030::2;830:78201:63;;;30833:35;830:78201;30833:35;;;830:78201;30833:35;;830:78201;29978:19;2030:14:2;;830:78201:63;30833:35;;;;336:42:2;30833:35:63;;;;;;;830:78201;;;;;;;30833:35;;830:78201;;;;;30951:35;;830:78201;30951:35;830:78201;30951:35;;;;;;;;830:78201;;;;30951:35;;;830:78201;;;;;30923:338;830:78201;;30923:338;830:78201;;30923:338;;;;;;;;31135:13;;30923:338;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;30923:338;830:78201;30900:371;;830:78201;;;31343:29;;;;830:78201;31343:29;;;;;;;;;830:78201;;31343:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;31314:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;31314:71;830:78201;2030:14:2;;;31314:71:63;2030:14:2;31314:71:63;830:78201;31304:82;;830:78201;;31439:37;830:78201;31439:37;;830:78201;31439:37;;830:78201;29978:19;2030:14:2;;830:78201:63;30833:35;31439:37;30833:35;31439:37;336:42:2;31439:37:63;;;;;;;830:78201;;;;;;;;31439:37;;830:78201;31487:61;336:42:2;31487:61:63;;;;830:78201;;;31487:61;;31503:44;830:78201;31487:61;;830:78201;;;;29978:19;830:78201;;336:42:2;31487:61:63;;;;;;;;830:78201;2030:14:2;830:78201:63;30177:10;2030:14:2;;;830:78201:63;;;29992:4;830:78201;;31558:352;;;;;;830:78201;;;;;30833:35;830:78201;;31558:352;;;830:78201;31558:352;;-1:-1:-1;;830:78201:63;;31558:352;;830:78201;;;29978:19;830:78201;;;;;30148:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;31558:352;830:78201;;;;;;31558:352;;;;;;;;;31921:14;336:42:2;31921:14:63;;;;830:78201;;;31921:14;;830:78201;;;;;;336:42:2;31921:14:63;;;;;;;;830:78201;;;;31487:61;830:78201;;31487:61;;;:::i;:::-;830:78201;;;;31487:61;;;31439:37;;;;;;;;;;30833:35;31439:37;30833:35;31439:37;;;;;;;:::i;:::-;;;;;;;;;;31343:29;;;;830:78201;31343:29;;830:78201;31343:29;;;;;;2030:14:2;31343:29:63;;;:::i;:::-;;;2030:14:2;;;;;;31314:71:63;31343:29;;;;;-1:-1:-1;31343:29:63;;30951:35;;;;830:78201;30951:35;;830:78201;30951:35;;;;;;2030:14:2;30951:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;30951:35;;;;;-1:-1:-1;30951:35:63;;30833;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;30654:18;;;;;830:78201;30654:18;;830:78201;30654:18;;;;;;2030:14:2;30654:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;30255:505:63;30654:18;;;;;-1:-1:-1;30654:18:63;;30317:24;;;;830:78201;30317:24;;830:78201;30317:24;;;;;;2030:14:2;30317:24:63;;;:::i;:::-;;;2030:14:2;;;;;;830:78201:63;30317:24;;;;;-1:-1:-1;30317:24:63;;30177:23;;;;830:78201;30177:23;;830:78201;30177:23;;;;;;2030:14:2;30177:23:63;;;:::i;:::-;;;2030:14:2;;;;;30177:23:63;;;;;;;-1:-1:-1;30177:23:63;;30085:16;;830:78201;30085:16;;830:78201;30085:16;;;;;;830:78201;30085:16;;;:::i;:::-;;;830:78201;;;;;30079:22;830:78201;;:::i;:::-;30085:16;;;;;-1:-1:-1;30085:16:63;;29978:19;830:78201;;29978:19;;;:::i;:::-;830:78201;;;;29978:19;;;830:78201;;;;;;;;;;;;;40868:4;830:78201;;336:42:2;40854:19:63;;;;830:78201;;40854:19;830:78201;40854:19;;830:78201;40854:19;;830:78201;;;;40854:19;830:78201;;;336:42:2;40854:19:63;;;;;;;;830:78201;;;;;;;;;40960:16;;830:78201;40960:16;830:78201;40960:16;;;;;;;;830:78201;;40960:16;;;830:78201;40954:22;;;;:::i;:::-;830:78201;;40949:2;830:78201;;40949:2;830:78201;;;;;41023:2;41005:15;2030:14:2;41005:15:63;;2030:14:2;;;830:78201:63;41051:10;2030:14:2;;;830:78201:63;;40868:4;830:78201;;;;;41051:23;830:78201;41051:23;;;830:78201;41051:23;;830:78201;;41051:23;40854:19;41051:23;;;;;;;;;830:78201;;41051:23;;;830:78201;;;;41157:35;830:78201;41157:35;;830:78201;41157:35;830:78201;41157:35;;;;;;;;;830:78201;;41157:35;;;830:78201;;;;41129:342;830:78201;41129:342;;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;41345:13;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;41129:342;;;;;;:::i;:::-;830:78201;41106:375;;830:78201;;41547:29;830:78201;41547:29;;830:78201;41547:29;830:78201;41547:29;;;;;;;;;830:78201;;41547:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;41518:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;41518:71;830:78201;2030:14:2;;;41518:71:63;2030:14:2;41518:71:63;830:78201;41508:82;;41642:14;2030::2;830:78201:63;;;41634:31;830:78201;41634:31;;830:78201;41634:31;;830:78201;40854:19;2030:14:2;;830:78201:63;;41634:31;;;336:42:2;41634:31:63;;;;;;;830:78201;;;;;;;;41634:31;;;830:78201;-1:-1:-1;830:78201:63;;;41676:42;;830:78201;;;;;41676:42;;830:78201;;;;;;;;;;;;;;;;;41676:42;;830:78201;;;41676:42;;;;;;;;;830:78201;2030:14:2;830:78201:63;41051:10;2030:14:2;;;830:78201:63;;40868:4;830:78201;;;;;;41729:112;;;;;830:78201;;;41729:112;;830:78201;;;;;;;41729:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;;;;41729:112;830:78201;;;41729:112;;;;;;;;;830:78201;41947:61;336:42:2;41947:61:63;;;;830:78201;;;41947:61;;41963:44;830:78201;41947:61;;830:78201;;;;40854:19;830:78201;;336:42:2;41947:61:63;;;;;;;;830:78201;2030:14:2;830:78201:63;41051:10;2030:14:2;;;830:78201:63;;;40868:4;830:78201;;;;;;;42018:112;;;;;;;830:78201;;;42018:112;;;;;;;830:78201;42018:112;;830:78201;;42018:112;830:78201;42018:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;41947:61;830:78201;;41947:61;;;:::i;:::-;830:78201;;;;41947:61;;;41729:112;830:78201;;41729:112;;;:::i;:::-;830:78201;;;;41729:112;;;41676:42;;;830:78201;41676:42;830:78201;41676:42;;;;;;;:::i;:::-;;;41634:31;830:78201;41634:31;;;41676:42;41634:31;;;;;;;;830:78201;41634:31;830:78201;41634:31;;;;;;;:::i;:::-;;;;;;;;;;;;;41547:29;;;;830:78201;41547:29;;830:78201;41547:29;;;;;;2030:14:2;41547:29:63;;;:::i;:::-;;;2030:14:2;;;;;;41518:71:63;41547:29;;;;;-1:-1:-1;41547:29:63;;41157:35;;;;830:78201;41157:35;;830:78201;41157:35;;;;;;2030:14:2;41157:35:63;;;:::i;:::-;;;2030:14:2;;;;;41157:35:63;;;;;;;-1:-1:-1;41157:35:63;;41051:23;;;;830:78201;41051:23;;830:78201;41051:23;;;;;;2030:14:2;41051:23:63;;;:::i;:::-;;;2030:14:2;;;;;41051:23:63;;;;;;;-1:-1:-1;41051:23:63;;40960:16;;830:78201;40960:16;;830:78201;40960:16;;;;;;830:78201;40960:16;;;:::i;:::-;;;830:78201;;;;;40954:22;830:78201;;:::i;:::-;40960:16;;;;;-1:-1:-1;40960:16:63;;40854:19;830:78201;;40854:19;;;:::i;:::-;830:78201;;;;40854:19;;;830:78201;;;;;;;;;;;;;24028:10;2030:14:2;;;830:78201:63;24020:33;;;;;:::i;:::-;830:78201;;;;;;;;;;;:::i;:::-;;;;;;;;24253:42;830:78201;;;;24329:20;;830:78201;;24329:20;830:78201;24329:20;;;;;;;;;830:78201;;;;;;;24329:20;;;830:78201;;;;;;;24313:38;830:78201;;24112:321;;;;830:78201;24140:95;830:78201;;;;;;;;;;24369:13;830:78201;;;;;;;;;;24112:321;;;;;;:::i;:::-;830:78201;24089:354;;830:78201;;;24462:29;;;;830:78201;24462:29;;;;;;;;;830:78201;;24462:29;;;830:78201;4445:13:4;;;;4441:68;;830:78201:63;;;;4441:68:4;830:78201:63;4474:24:4;;;;830:78201:63;;4474:24:4;830:78201:63;4474:24:4;;830:78201:63;4474:24:4;;830:78201:63;;;;;-1:-1:-1;;4474:24:4;;;830:78201:63;4474:24:4;;;;;;;;;;4441:68;;;;;4474:24;-1:-1:-1;;4474:24:4;;;:::i;:::-;830:78201:63;;;;4474:24:4;;;24462:29:63;;;;830:78201;24462:29;;830:78201;24462:29;;;;;;2030:14:2;24462:29:63;;;:::i;:::-;;;2030:14:2;;;;;24462:29:63;;;;;;;-1:-1:-1;24462:29:63;;;830:78201;;;;;;;;;;24329:20;;;;;830:78201;;;24329:20;;;;;;:::i;:::-;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;3653:18:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3653:18:9;830:78201:63;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14894:4;830:78201;;336:42:2;14880:19:63;;;;830:78201;;14880:19;830:78201;14880:19;;830:78201;14880:19;;830:78201;;;;14880:19;830:78201;;;336:42:2;14880:19:63;;;;;;;;830:78201;;;;;;;;;14987:16;;830:78201;14987:16;830:78201;14987:16;;;;;;;;830:78201;;14987:16;;;830:78201;14981:22;;;;:::i;:::-;830:78201;;14976:2;830:78201;;14976:2;830:78201;;;;;15050:4;15032:15;2030:14:2;15032:15:63;;;2030:14:2;;;830:78201:63;15183:10;2030:14:2;;;830:78201:63;;;14894:4;830:78201;;;;;15183:23;830:78201;15183:23;;;830:78201;15183:23;;830:78201;;15183:23;14880:19;15183:23;;;;;;;;;830:78201;;15183:23;;;830:78201;;;;;15323:24;;830:78201;15323:24;830:78201;15323:24;;;;;;;;;830:78201;;15323:24;;;830:78201;;;;;15666:18;;;830:78201;15666:18;;830:78201;;15666:18;14880:19;15666:18;;;;;;;;830:78201;;;;15666:18;;;830:78201;;15261:511;830:78201;15261:511;830:78201;15396:344;830:78201;15396:344;830:78201;;;15396:344;;;;830:78201;15396:344;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;15261:511;830:78201;15238:544;;2030:14:2;15853::63;2030::2;830:78201:63;;;15845:35;830:78201;15845:35;;;830:78201;15845:35;;830:78201;14880:19;2030:14:2;;830:78201:63;15845:35;;;;336:42:2;15845:35:63;;;;;;;830:78201;;;;;;;;15845:35;;830:78201;;;;;15964:35;;830:78201;15964:35;830:78201;15964:35;;;;;;;;;830:78201;;;;;;;;15964:35;;;830:78201;;15936:343;830:78201;;15936:343;830:78201;;;15936:343;;;830:78201;15936:343;;16152:13;;;15936:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;15936:343;830:78201;15913:376;;830:78201;;16363:29;830:78201;16363:29;;830:78201;16363:29;830:78201;16363:29;;;;;;;;;830:78201;;16363:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;16334:72;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;16334:72;830:78201;2030:14:2;;;16334:72:63;2030:14:2;16334:72:63;830:78201;16324:83;;830:78201;;16464:38;830:78201;16464:38;;830:78201;16464:38;;830:78201;14880:19;2030:14:2;;830:78201:63;15845:35;16464:38;15845:35;16464:38;336:42:2;16464:38:63;;;;;;;830:78201;;;;;;;16464:38;;830:78201;16513:366;;;;;;830:78201;;;;;;16513:366;;;;;;;830:78201;16513:366;;830:78201;;;16513:366;830:78201;16513:366;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;16513:366;;830:78201;;;16513:366;;;;;;;;;830:78201;;;;;;;14894:4;830:78201;;2030:14:2;830:78201:63;15183:10;2030:14:2;;;830:78201:63;;;;;16939:42;;830:78201;16939:42;;;;;830:78201;16939:42;;830:78201;;;;;;;;;;;;;;;;;;;16939:42;;;;;;;;;;830:78201;;16939:42;;;830:78201;16930:55;;;;:::i;:::-;830:78201;;17054:23;830:78201;17054:23;;;830:78201;17054:23;;830:78201;;17054:23;14880:19;17054:23;;;;;;;;;830:78201;;17054:23;;;830:78201;17087:19;;;;:::i;:::-;830:78201;;;17190:35;;830:78201;17190:35;830:78201;17190:35;;;;;;;;;830:78201;;17190:35;;;830:78201;-1:-1:-1;830:78201:63;;;;17162:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16152:13;830:78201;;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;17162:343;830:78201;;;;17162:343;830:78201;17162:343;830:78201;17139:376;;830:78201;;17589:29;830:78201;17589:29;;830:78201;17589:29;830:78201;17589:29;;;;;;;;;830:78201;;17589:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;17560:72;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;17560:72;830:78201;2030:14:2;;;17560:72:63;2030:14:2;17560:72:63;830:78201;17550:83;;15853:14;2030::2;830:78201:63;;;17690:38;830:78201;17690:38;;830:78201;17690:38;;830:78201;14880:19;2030:14:2;;830:78201:63;15845:35;17690:38;15845:35;17690:38;336:42:2;17690:38:63;;;;;;;830:78201;;;;;;;;17690:38;;830:78201;;;;17763:21;830:78201;17763:21;;830:78201;17763:21;;830:78201;;17763:21;14880:19;17763:21;;;;;;;;;830:78201;;;;17763:21;;;830:78201;-1:-1:-1;830:78201:63;;;17882:42;;830:78201;;;;;;17882:42;;830:78201;;;;;;;;;;;;;;;;;;;17882:42;;;;;;;;830:78201;2030:14:2;830:78201:63;15183:10;2030:14:2;;;830:78201:63;;;14894:4;830:78201;;;;;;;17935:147;;;;;;830:78201;;17935:147;830:78201;;;17935:147;;;;;;;830:78201;17935:147;;830:78201;;17935:147;830:78201;17935:147;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;17935:147;;830:78201;;;17935:147;;;;;;;;;830:78201;;;;;;;;;14894:4;830:78201;;14880:19;830:78201;;18102:21;;;;830:78201;18102:21;;830:78201;18102:21;;830:78201;18102:21;;;;;;;830:78201;;18102:21;;;830:78201;18125:22;;;;;;:::i;18102:21::-;;;;830:78201;18102:21;;830:78201;18102:21;;;;;;2030:14:2;18102:21:63;;;:::i;:::-;;;2030:14:2;;;;;;18125:22:63;18102:21;;;;;-1:-1:-1;18102:21:63;;17935:147;830:78201;;17935:147;;;:::i;:::-;830:78201;;;;17935:147;;;17882:42;;;830:78201;17882:42;830:78201;17882:42;;;;;;;:::i;:::-;;;17763:21;;;;;830:78201;17763:21;;830:78201;17763:21;;;;;;2030:14:2;17763:21:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;830:78201:63;17763:21;;;;;-1:-1:-1;17763:21:63;;17690:38;;;;;;;;;15845:35;17690:38;15845:35;17690:38;;;;;;;:::i;:::-;;;;;;;;;17589:29;;;;830:78201;17589:29;;830:78201;17589:29;;;;;;2030:14:2;17589:29:63;;;:::i;:::-;;;2030:14:2;;;;;;17560:72:63;17589:29;;;;;-1:-1:-1;17589:29:63;;17190:35;;;830:78201;17190:35;;830:78201;17190:35;;;;;;2030:14:2;17190:35:63;;;:::i;:::-;;;2030:14:2;;;;;17190:35:63;;;;;;-1:-1:-1;17190:35:63;;17054:23;;;;830:78201;17054:23;;830:78201;17054:23;;;;;;2030:14:2;17054:23:63;;;:::i;:::-;;;2030:14:2;;;;;17054:23:63;;;;;;;-1:-1:-1;17054:23:63;;16939:42;;830:78201;16939:42;;830:78201;16939:42;;;;;;2030:14:2;16939:42:63;;;:::i;:::-;;;2030:14:2;;;;16930:55:63;2030:14:2;;16939:42:63;;;;;-1:-1:-1;16939:42:63;;16513:366;830:78201;;16513:366;;;:::i;:::-;830:78201;;;;16513:366;;;16464:38;;;;;;;15845:35;16464:38;15845:35;16464:38;;;;;;;:::i;:::-;;;;;16363:29;;;;830:78201;16363:29;;830:78201;16363:29;;;;;;2030:14:2;16363:29:63;;;:::i;:::-;;;2030:14:2;;;;;;16334:72:63;16363:29;;;;;-1:-1:-1;16363:29:63;;15964:35;;;;;;;830:78201;15964:35;;830:78201;15964:35;;;;;;2030:14:2;15964:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;15936:343:63;15964:35;;;;;-1:-1:-1;15964:35:63;;15845;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;15666:18;;;;830:78201;15666:18;;830:78201;15666:18;;;;;;2030:14:2;15666:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;15261:511:63;15666:18;;;;;-1:-1:-1;15666:18:63;;15323:24;;;830:78201;15323:24;;830:78201;15323:24;;;;;;2030:14:2;15323:24:63;;;:::i;:::-;;;2030:14:2;;;;;15323:24:63;;;;;;-1:-1:-1;15323:24:63;;15183:23;;;;830:78201;15183:23;;830:78201;15183:23;;;;;;2030:14:2;15183:23:63;;;:::i;:::-;;;2030:14:2;;;;;15183:23:63;;;;;;;-1:-1:-1;15183:23:63;;14987:16;;830:78201;14987:16;;830:78201;14987:16;;;;;;830:78201;14987:16;;;:::i;:::-;;;830:78201;;;;;14981:22;830:78201;;:::i;:::-;14987:16;;;;;-1:-1:-1;14987:16:63;;14880:19;830:78201;;14880:19;;;:::i;:::-;830:78201;;;;14880:19;;;830:78201;;;;;;;;;;;;;28879:4;830:78201;;336:42:2;28865:19:63;;;;830:78201;;28865:19;830:78201;28865:19;;830:78201;28865:19;;830:78201;;;;28865:19;830:78201;;;336:42:2;28865:19:63;;;;;;;;830:78201;;;;;;;;;;28972:16;;;;830:78201;28972:16;;;;;;;;830:78201;;28972:16;;;830:78201;28966:22;;;;:::i;:::-;830:78201;28961:2;830:78201;;28961:2;830:78201;;;;;29035:3;29017:15;2030:14:2;29017:15:63;;;2030:14:2;;;830:78201:63;29064:10;2030:14:2;;;830:78201:63;;;28879:4;830:78201;;;;29064:23;830:78201;29064:23;;;830:78201;29064:23;;830:78201;;29064:23;28865:19;29064:23;;;;;;;;;830:78201;;29064:23;;;830:78201;;;;;29170:35;;830:78201;29170:35;830:78201;29170:35;;;;;;;;830:78201;;;;29170:35;;;830:78201;;;;;29142:338;830:78201;;29142:338;830:78201;;29142:338;;;;;;;;29354:13;;29142:338;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;29142:338;830:78201;29119:371;;830:78201;;;29556:29;;;;830:78201;29556:29;;;;;;;;;830:78201;;29556:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;29527:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;29527:71;830:78201;2030:14:2;;;29527:71:63;2030:14:2;29527:71:63;830:78201;29517:82;;29651:14;2030::2;830:78201:63;;;29643:31;830:78201;29643:31;;830:78201;29643:31;;830:78201;28865:19;2030:14:2;;830:78201:63;29643:31;;;;336:42:2;29643:31:63;;;;;;;830:78201;;;;;;;29643:31;;830:78201;29685:61;336:42:2;29685:61:63;;;;830:78201;;;29685:61;;29701:44;830:78201;29685:61;;830:78201;;;;28865:19;830:78201;;336:42:2;29685:61:63;;;;;;;;830:78201;2030:14:2;830:78201:63;29064:10;2030:14:2;;;830:78201:63;;;28879:4;830:78201;;29756:108;;;;;;830:78201;;;;29756:108;830:78201;29756:108;;-1:-1:-1;;830:78201:63;;29756:108;;830:78201;;;28865:19;830:78201;;;29643:31;830:78201;;;;29035:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;29756:108;830:78201;;;;;;29756:108;;;;;;;;;29875:14;336:42:2;29875:14:63;;;;830:78201;;;29875:14;;830:78201;;;;;;336:42:2;29875:14:63;;;;;;;;830:78201;;;;29685:61;830:78201;;29685:61;;;:::i;:::-;830:78201;;;;29685:61;;;29643:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;29556:29;;;;830:78201;29556:29;;830:78201;29556:29;;;;;;2030:14:2;29556:29:63;;;:::i;:::-;;;2030:14:2;;;;;;29527:71:63;29556:29;;;;;-1:-1:-1;29556:29:63;;29170:35;;;;830:78201;29170:35;;830:78201;29170:35;;;;;;2030:14:2;29170:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;29170:35;;;;;-1:-1:-1;29170:35:63;;29064:23;;;;830:78201;29064:23;;830:78201;29064:23;;;;;;2030:14:2;29064:23:63;;;:::i;:::-;;;2030:14:2;;;;;29064:23:63;;;;;;;-1:-1:-1;29064:23:63;;28972:16;;830:78201;28972:16;;830:78201;28972:16;;;;;;830:78201;28972:16;;;:::i;:::-;;;830:78201;;;;;28966:22;830:78201;;:::i;:::-;28972:16;;;;;-1:-1:-1;28972:16:63;;28865:19;830:78201;;28865:19;;;:::i;:::-;830:78201;;;;28865:19;;;830:78201;;;;;;;;;;;;;1361:43;830:78201;;;;;;;;;;;;;;;;;;;3162:18:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3162:18:9;-1:-1:-1;;830:78201:63;;-1:-1:-1;;830:78201:63;-1:-1:-1;;830:78201:63;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;76804:4;830:78201;;336:42:2;76790:19:63;;;;830:78201;;76790:19;830:78201;76790:19;;830:78201;76790:19;;830:78201;;;;76790:19;830:78201;;;336:42:2;76790:19:63;;;;;;;;830:78201;;;;;;;;;76971:16;;830:78201;76971:16;830:78201;76971:16;;;;;;;;830:78201;;76971:16;;;830:78201;76965:22;;;;:::i;:::-;830:78201;;76960:2;830:78201;;76960:2;830:78201;;;;;77082:4;77064:15;2030:14:2;77064:15:63;;;2030:14:2;;;830:78201:63;77112:10;2030:14:2;;;830:78201:63;;76804:4;830:78201;;;;;77112:23;830:78201;77112:23;;;830:78201;77112:23;;830:78201;;77112:23;76790:19;77112:23;;;;;;;;;830:78201;;77112:23;;;830:78201;;;;;77316:24;;830:78201;77316:24;830:78201;77316:24;;;;;;;;;830:78201;;77316:24;;;830:78201;;;;;77653:18;;;830:78201;77653:18;;830:78201;;77653:18;76790:19;77653:18;;;;;;;;830:78201;;;;77653:18;;;830:78201;;77254:505;830:78201;77254:505;830:78201;77389:338;830:78201;77389:338;830:78201;;;77389:338;;;;830:78201;77389:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;77254:505;830:78201;77231:538;;77840:14;2030::2;830:78201:63;;;77832:35;830:78201;77832:35;;;830:78201;77832:35;;830:78201;76790:19;2030:14:2;;830:78201:63;77832:35;;;;336:42:2;77832:35:63;;;;;;;830:78201;;;;;;;;77832:35;;830:78201;;;;77985:35;830:78201;77985:35;;830:78201;77985:35;830:78201;77985:35;;;;;;;;;830:78201;;;;;;;77985:35;;;830:78201;;;77957:323;830:78201;;;77957:323;830:78201;;;;;;77957:323;;;;;;78173:13;;77957:323;;2030:14:2;830:78201:63;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;830:78201:63;2030:14:2;77957:323:63;830:78201;77934:356;;830:78201;;;78363:29;;;;830:78201;78363:29;;;;;;;;;830:78201;;78363:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;78334:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;78334:71;830:78201;2030:14:2;;;78334:71:63;2030:14:2;78334:71:63;830:78201;78324:82;;830:78201;;78459:37;830:78201;78459:37;;830:78201;78459:37;;830:78201;76790:19;2030:14:2;;830:78201:63;77832:35;78459:37;77832:35;78459:37;336:42:2;78459:37:63;;;;;;;830:78201;;;;;;;;78459:37;;830:78201;78507:69;336:42:2;78507:69:63;;;;830:78201;;;78507:69;;78523:52;830:78201;78507:69;;830:78201;;;;76790:19;830:78201;;336:42:2;78507:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;77112:10;2030:14:2;;;830:78201:63;;;76804:4;830:78201;;;;;;;78586:411;;;;;830:78201;;78586:411;830:78201;78586:411;;-1:-1:-1;;830:78201:63;;78586:411;;830:78201;76790:19;830:78201;;;;77832:35;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;78586:411;;;;;;;;;;;79008:14;336:42:2;79008:14:63;;;;830:78201;;;79008:14;;830:78201;;;;;;336:42:2;79008:14:63;;;;;;;;830:78201;;;;78507:69;830:78201;;78507:69;;;:::i;:::-;830:78201;;;;78507:69;;;78459:37;;;;;;;;;;77832:35;78459:37;77832:35;78459:37;;;;;;;:::i;:::-;;;;;;;;;;78363:29;;;;830:78201;78363:29;;830:78201;78363:29;;;;;;2030:14:2;78363:29:63;;;:::i;:::-;;;2030:14:2;;;;;;78334:71:63;78363:29;;;;;-1:-1:-1;78363:29:63;;77985:35;;;;;;;830:78201;77985:35;;830:78201;77985:35;;;;;;2030:14:2;77985:35:63;;;:::i;:::-;;;2030:14:2;;;;;;77985:35:63;;2030:14:2;;;;;77957:323:63;77985:35;;;;;-1:-1:-1;77985:35:63;;77832;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;77653:18;;;;830:78201;77653:18;;830:78201;77653:18;;;;;;2030:14:2;77653:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;77254:505:63;77653:18;;;;;-1:-1:-1;77653:18:63;;77316:24;;;830:78201;77316:24;;830:78201;77316:24;;;;;;2030:14:2;77316:24:63;;;:::i;:::-;;;2030:14:2;;;;;77316:24:63;;;;;;-1:-1:-1;77316:24:63;;77112:23;;;;830:78201;77112:23;;830:78201;77112:23;;;;;;2030:14:2;77112:23:63;;;:::i;:::-;;;2030:14:2;;;;;77112:23:63;;;;;;;-1:-1:-1;77112:23:63;;76971:16;;830:78201;76971:16;;830:78201;76971:16;;;;;;830:78201;76971:16;;;:::i;:::-;;;830:78201;;;;;76965:22;830:78201;;:::i;:::-;76971:16;;;;;-1:-1:-1;76971:16:63;;76790:19;830:78201;;76790:19;;;:::i;:::-;830:78201;;;;76790:19;;;830:78201;;;;;;;;;;;;;36361:4;830:78201;;336:42:2;36347:19:63;;;;830:78201;;36347:19;830:78201;36347:19;;830:78201;36347:19;;830:78201;;;;36347:19;830:78201;;;336:42:2;36347:19:63;;;;;;;;830:78201;;;;;;;;;36454:16;;830:78201;36454:16;830:78201;36454:16;;;;;;;;830:78201;;36454:16;;;830:78201;36448:22;;;;:::i;:::-;830:78201;;36443:2;830:78201;;36443:2;830:78201;;;;;36517:4;36499:15;2030:14:2;36499:15:63;;2030:14:2;;;830:78201:63;36554:10;2030:14:2;;;830:78201:63;;36361:4;830:78201;;;;;36554:23;830:78201;36554:23;;;830:78201;36554:23;;830:78201;;36554:23;36347:19;36554:23;;;;;;;;;830:78201;;36554:23;;;830:78201;36587:24;;;;:::i;:::-;830:78201;;;36694:35;;830:78201;36694:35;830:78201;36694:35;;;;;;;;830:78201;;;;36694:35;;;830:78201;;36666:348;830:78201;36666:348;830:78201;;36666:348;;;;;;830:78201;36666:348;;36882:13;;36666:348;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;36666:348;830:78201;36643:381;;830:78201;;37090:29;830:78201;37090:29;;830:78201;37090:29;830:78201;37090:29;;;;;;;;;830:78201;;37090:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;37061:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;37061:71;830:78201;2030:14:2;;;37061:71:63;2030:14:2;37061:71:63;830:78201;37051:82;;37185:14;2030::2;830:78201:63;;;37177:31;830:78201;37177:31;;830:78201;37177:31;;830:78201;36347:19;2030:14:2;;830:78201:63;37177:31;;;;336:42:2;37177:31:63;;;;;;;830:78201;;;;;;;;37177:31;;;830:78201;-1:-1:-1;830:78201:63;;;37219:42;;830:78201;;;;;37219:42;;830:78201;;;;;;;;;;;;;;;;;37219:42;;830:78201;;;37219:42;;;;;;;;;830:78201;2030:14:2;830:78201:63;36554:10;2030:14:2;;;830:78201:63;;;36361:4;830:78201;;;;;;;37271:140;;;;;;;830:78201;;;37271:140;;;;;;;830:78201;37271:140;;830:78201;;37271:140;830:78201;37271:140;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;37271:140;;830:78201;;;37271:140;;;;;;;;;830:78201;2030:14:2;830:78201:63;36554:10;2030:14:2;;;830:78201:63;;;36361:4;830:78201;;36347:19;830:78201;;37443:23;;;;830:78201;37443:23;;830:78201;37443:23;;830:78201;37443:23;;;;;;830:78201;;37443:23;;;830:78201;37476:23;;;;:::i;37443:::-;;830:78201;37443:23;;830:78201;37443:23;;;;;;2030:14:2;37443:23:63;;;:::i;:::-;;;2030:14:2;;;;37476:23:63;2030:14:2;;37443:23:63;;;;;-1:-1:-1;37443:23:63;;37271:140;830:78201;;37271:140;;;:::i;:::-;830:78201;;;;37271:140;;;37219:42;;;830:78201;37219:42;830:78201;37219:42;;;;;;;:::i;:::-;;;37177:31;830:78201;37177:31;;;37219:42;37177:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;37090:29;;;;830:78201;37090:29;;830:78201;37090:29;;;;;;2030:14:2;37090:29:63;;;:::i;:::-;;;2030:14:2;;;;;;37061:71:63;37090:29;;;;;-1:-1:-1;37090:29:63;;36694:35;;;;830:78201;36694:35;;830:78201;36694:35;;;;;;2030:14:2;36694:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;36666:348:63;36694:35;;;;;-1:-1:-1;36694:35:63;;36554:23;;;;830:78201;36554:23;;830:78201;36554:23;;;;;;2030:14:2;36554:23:63;;;:::i;:::-;;;2030:14:2;;;;;36554:23:63;;;;;;;-1:-1:-1;36554:23:63;;36454:16;;830:78201;36454:16;;830:78201;36454:16;;;;;;830:78201;36454:16;;;:::i;:::-;;;830:78201;;;;;36448:22;830:78201;;:::i;:::-;36454:16;;;;;-1:-1:-1;36454:16:63;;36347:19;830:78201;;36347:19;;;:::i;:::-;830:78201;;;;36347:19;;;830:78201;;;;;;;;;;;;;;65197:43;;;;;;;;;;;;;;830:78201;65197:43;;;;;;65222:17;830:78201;;65197:43;;830:78201;;;65197:43;;;;;830:78201;;;65312:4;830:78201;;65286:47;;;;;830:78201;;65286:47;830:78201;65286:47;;830:78201;65286:47;;830:78201;65318:14;830:78201;;;;;;;65286:47;830:78201;;;65286:47;;;;;;;;;830:78201;;;65312:4;830:78201;;336:42:2;65344:19:63;;;;830:78201;;65344:19;830:78201;65344:19;;830:78201;65344:19;;830:78201;;;;;;;;336:42:2;65344:19:63;;;;;;;;830:78201;65481:15;65499:4;65481:15;2030:14:2;65481:15:63;;;2030:14:2;;;830:78201:63;65529:10;2030:14:2;;;830:78201:63;;;65312:4;830:78201;;;;;65529:23;830:78201;65529:23;;;830:78201;65529:23;;830:78201;;65529:23;830:78201;65529:23;;;;;;;;;830:78201;;65529:23;;;830:78201;;;;;65635:35;;830:78201;65635:35;830:78201;65635:35;;;;;;;;830:78201;;;;65635:35;;;830:78201;-1:-1:-1;830:78201:63;;;;65607:324;;830:78201;;;;;;;;;;;;;;;;;;;;;65440:12;830:78201;;;;;;;;;;;;;;;65834:13;830:78201;;;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;65607:324;;830:78201;;;;65607:324;830:78201;65607:324;830:78201;65584:357;;830:78201;;66008:29;830:78201;66008:29;;830:78201;66008:29;830:78201;66008:29;;;;;;;;;830:78201;;66008:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;65979:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;65979:71;830:78201;2030:14:2;;;65979:71:63;2030:14:2;65979:71:63;830:78201;65969:82;;2030:14:2;66103::63;2030::2;830:78201:63;;;66095:31;830:78201;66095:31;;830:78201;66095:31;;830:78201;;2030:14:2;;830:78201:63;66095:31;;65286:47;66095:31;336:42:2;66095:31:63;;;;;;;830:78201;;;;;;;;66095:31;;830:78201;;;;66180:57;830:78201;66180:57;;-1:-1:-1;;830:78201:63;;66180:57;;830:78201;;;;;;;;65286:47;830:78201;;;66180:57;;;;;;;;;830:78201;66307:41;336:42:2;66307:41:63;;;;830:78201;;;66307:41;;830:78201;;66307:41;;830:78201;;;;;;;65286:47;830:78201;;;;;;66307:41;830:78201;;336:42:2;66307:41:63;;;;;;;;830:78201;2030:14:2;830:78201:63;65529:10;2030:14:2;;;830:78201:63;;;65312:4;830:78201;;66358:145;;;;;;;830:78201;;;66358:145;;;;;;;830:78201;66358:145;;830:78201;;66358:145;830:78201;66358:145;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;65440:12;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;66307:41;830:78201;;66307:41;;;:::i;:::-;830:78201;;;;66307:41;;;66180:57;;;830:78201;66180:57;830:78201;66180:57;;;;;;;:::i;:::-;;;66095:31;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;66008:29;;;;830:78201;66008:29;;830:78201;66008:29;;;;;;2030:14:2;66008:29:63;;;:::i;:::-;;;2030:14:2;;;;;;65979:71:63;66008:29;;;;;-1:-1:-1;66008:29:63;;65635:35;;;;830:78201;65635:35;;830:78201;65635:35;;;;;;2030:14:2;65635:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;65607:324:63;65635:35;;;;;-1:-1:-1;65635:35:63;;65529:23;;;;830:78201;65529:23;;830:78201;65529:23;;;;;;2030:14:2;65529:23:63;;;:::i;:::-;;;2030:14:2;;;;;65529:23:63;;;;;;;-1:-1:-1;65529:23:63;;65344:19;830:78201;;65344:19;;;:::i;:::-;830:78201;;;;65344:19;;;65286:47;830:78201;;65286:47;;;:::i;:::-;830:78201;;;;65286:47;;;830:78201;;;;;;;;;;;;;57214:4;830:78201;;336:42:2;57200:19:63;;;;830:78201;;57200:19;830:78201;57200:19;;830:78201;57200:19;;830:78201;;;;57200:19;830:78201;;;336:42:2;57200:19:63;;;;;;;;830:78201;;;;;;;;;57307:16;;830:78201;57307:16;830:78201;57307:16;;;;;;;;830:78201;;57307:16;;;830:78201;57301:22;;;;:::i;:::-;830:78201;;57296:2;830:78201;;57296:2;830:78201;;;;;57370:4;57352:15;2030:14:2;57352:15:63;;2030:14:2;;;830:78201:63;57400:10;2030:14:2;;;830:78201:63;;57214:4;830:78201;;;;;57400:23;830:78201;57400:23;;;830:78201;57400:23;;830:78201;;57400:23;57200:19;57400:23;;;;;;;;;830:78201;;57400:23;;;830:78201;;;;;57506:35;;830:78201;57506:35;830:78201;57506:35;;;;;;;;830:78201;;;;57506:35;;;830:78201;;57478:342;830:78201;57478:342;830:78201;;57478:342;;;;;;830:78201;57478:342;;57694:13;;57478:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;57478:342;830:78201;57455:375;;830:78201;;57903:29;830:78201;57903:29;;830:78201;57903:29;830:78201;57903:29;;;;;;;;;830:78201;;57903:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;57874:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;57874:71;830:78201;2030:14:2;;;57874:71:63;2030:14:2;57874:71:63;830:78201;57864:82;;58008:14;2030::2;830:78201:63;;;58000:37;830:78201;58000:37;;830:78201;58000:37;;830:78201;57200:19;2030:14:2;;830:78201:63;58000:37;;;;336:42:2;58000:37:63;;;;;;;830:78201;;;;;;;;58000:37;;;830:78201;-1:-1:-1;830:78201:63;;;58048:42;;830:78201;;;;;58048:42;;830:78201;;;;;;;;;;;;;;;;;58048:42;;830:78201;;;58048:42;;;;;;;;;2030:14:2;830:78201:63;57400:10;2030:14:2;;;830:78201:63;;;57214:4;830:78201;;;;;;;58174:143;;;;;;;830:78201;;;58174:143;;;;;;;830:78201;58174:143;;830:78201;;58174:143;830:78201;58174:143;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;58048:42;;;830:78201;58048:42;830:78201;58048:42;;;;;;;:::i;:::-;;;58000:37;830:78201;58000:37;;;58048:42;58000:37;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;57903:29;;;;830:78201;57903:29;;830:78201;57903:29;;;;;;2030:14:2;57903:29:63;;;:::i;:::-;;;2030:14:2;;;;;;57874:71:63;57903:29;;;;;-1:-1:-1;57903:29:63;;57506:35;;;;830:78201;57506:35;;830:78201;57506:35;;;;;;2030:14:2;57506:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;57478:342:63;57506:35;;;;;-1:-1:-1;57506:35:63;;57400:23;;;;830:78201;57400:23;;830:78201;57400:23;;;;;;2030:14:2;57400:23:63;;;:::i;:::-;;;2030:14:2;;;;;57400:23:63;;;;;;;-1:-1:-1;57400:23:63;;57307:16;;830:78201;57307:16;;830:78201;57307:16;;;;;;830:78201;57307:16;;;:::i;:::-;;;830:78201;;;;;57301:22;830:78201;;:::i;:::-;57307:16;;;;;-1:-1:-1;57307:16:63;;57200:19;830:78201;;57200:19;;;:::i;:::-;830:78201;;;;57200:19;;;830:78201;;;;;;;;;;;;;53180:4;830:78201;;336:42:2;53166:19:63;;;;830:78201;;53166:19;830:78201;53166:19;;830:78201;53166:19;;830:78201;;;;53166:19;830:78201;;;336:42:2;53166:19:63;;;;;;;;830:78201;;;;;;;;;53273:16;;830:78201;53273:16;830:78201;53273:16;;;;;;;;830:78201;;53273:16;;;830:78201;53267:22;;;;:::i;:::-;830:78201;;53262:2;830:78201;;53262:2;830:78201;;;;;53336:4;53318:15;2030:14:2;53318:15:63;;;2030:14:2;;;830:78201:63;53366:10;2030:14:2;;;830:78201:63;;;53180:4;830:78201;;;;;53366:23;830:78201;53366:23;;;830:78201;53366:23;;830:78201;;53366:23;53166:19;53366:23;;;;;;;;;830:78201;;53366:23;;;830:78201;;;;;53506:24;;830:78201;53506:24;830:78201;53506:24;;;;;;;;;830:78201;;53506:24;;;830:78201;;;;;53843:18;;;830:78201;53843:18;;830:78201;;53843:18;53166:19;53843:18;;;;;;;;;830:78201;;;;;;;;53843:18;;;830:78201;;53444:505;830:78201;;53579:338;53444:505;830:78201;;53579:338;830:78201;;;53579:338;;;830:78201;53579:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;53444:505;830:78201;53421:538;;2030:14:2;54030::63;2030::2;830:78201:63;;;54022:35;830:78201;54022:35;;;830:78201;54022:35;;830:78201;53166:19;2030:14:2;;830:78201:63;54022:35;;;;336:42:2;54022:35:63;;;;;;;830:78201;;;;;;;54022:35;;830:78201;;;;;54140:35;;830:78201;54140:35;830:78201;54140:35;;;;;;;;;830:78201;;;;;;54140:35;;;830:78201;;54112:342;830:78201;54112:342;830:78201;;54112:342;;;;;;830:78201;54112:342;;54328:13;;54112:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;54112:342;830:78201;54089:375;;830:78201;;54537:29;830:78201;54537:29;;830:78201;54537:29;830:78201;54537:29;;;;;;;;;830:78201;;54537:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;54508:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;54508:71;830:78201;2030:14:2;;;54508:71:63;2030:14:2;54508:71:63;830:78201;54498:82;;830:78201;;54634:37;830:78201;54634:37;;830:78201;54634:37;;830:78201;53166:19;2030:14:2;;830:78201:63;54022:35;54634:37;54022:35;54634:37;336:42:2;54634:37:63;;;;;;;830:78201;;;;;;;;54634:37;;830:78201;54719:356;;;;;;830:78201;;;54719:356;;830:78201;;;;;;;;54719:356;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;54719:356;;;;;;;;830:78201;55186:61;336:42:2;55186:61:63;;;;830:78201;;;55186:61;;55202:44;830:78201;55186:61;;830:78201;;;;53166:19;830:78201;;336:42:2;55186:61:63;;;;;;;;2030:14:2;830:78201:63;53366:10;2030:14:2;;;830:78201:63;;;53180:4;830:78201;;;;;;;55257:356;;;;;;830:78201;;55257:356;;;;;;;830:78201;55257:356;;830:78201;;;55257:356;830:78201;55257:356;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;54719:356;830:78201;;54719:356;;;:::i;:::-;830:78201;;;;54719:356;;;54634:37;;;;;;;;;;54022:35;54634:37;54022:35;54634:37;;;;;;;:::i;:::-;;;;;;;;;;54537:29;;;;830:78201;54537:29;;830:78201;54537:29;;;;;;2030:14:2;54537:29:63;;;:::i;:::-;;;2030:14:2;;;;;;54508:71:63;54537:29;;;;;-1:-1:-1;54537:29:63;;54140:35;;;;;830:78201;54140:35;;830:78201;54140:35;;;;;;2030:14:2;54140:35:63;;;:::i;:::-;;;2030:14:2;;;;;54112:342:63;2030:14:2;;;54140:35:63;;;;;;-1:-1:-1;54140:35:63;;54022;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;53843:18;;;;;;;830:78201;53843:18;;830:78201;53843:18;;;;;;2030:14:2;53843:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;53579:338:63;53843:18;;;;;-1:-1:-1;53843:18:63;;53506:24;;;830:78201;53506:24;;830:78201;53506:24;;;;;;2030:14:2;53506:24:63;;;:::i;:::-;;;2030:14:2;;;;;53506:24:63;;;;;;-1:-1:-1;53506:24:63;;53366:23;;;;830:78201;53366:23;;830:78201;53366:23;;;;;;2030:14:2;53366:23:63;;;:::i;:::-;;;2030:14:2;;;;;53366:23:63;;;;;;;-1:-1:-1;53366:23:63;;53273:16;;830:78201;53273:16;;830:78201;53273:16;;;;;;830:78201;53273:16;;;:::i;:::-;;;830:78201;;;;;53267:22;830:78201;;:::i;:::-;53273:16;;;;;-1:-1:-1;53273:16:63;;53166:19;830:78201;;53166:19;;;:::i;:::-;830:78201;;;;53166:19;;;830:78201;;;;;;;;;;;;;25731:4;830:78201;;336:42:2;25717:19:63;;;;830:78201;;25717:19;830:78201;25717:19;;830:78201;25717:19;;830:78201;;;;25717:19;830:78201;;;336:42:2;25717:19:63;;;;;;;;830:78201;25858:15;25876:3;25858:15;2030:14:2;25858:15:63;;2030:14:2;;;830:78201:63;25905:10;2030:14:2;;;830:78201:63;;;25731:4;830:78201;;;;25905:23;830:78201;25905:23;;;830:78201;25905:23;;830:78201;;25905:23;25717:19;25905:23;;;;;;;;;830:78201;;25905:23;;;830:78201;;;;;26011:35;;830:78201;26011:35;830:78201;26011:35;;;;;;;;830:78201;;;;26011:35;;;830:78201;-1:-1:-1;830:78201:63;;;;;;25983:342;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26199:13;830:78201;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;;;;;;25983:342;830:78201;;;;25983:342;830:78201;25983:342;830:78201;25960:375;;830:78201;;;26401:29;;;;830:78201;26401:29;;;;;;;;;830:78201;;26401:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;26372:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;26372:71;830:78201;2030:14:2;;;26372:71:63;2030:14:2;26372:71:63;830:78201;26362:82;;26496:14;2030::2;830:78201:63;;;26488:31;830:78201;26488:31;;830:78201;26488:31;;830:78201;25717:19;2030:14:2;;830:78201:63;26488:31;;;;336:42:2;26488:31:63;;;;;;;830:78201;;;;;;;;26488:31;;830:78201;26530:62;336:42:2;26530:62:63;;;;830:78201;;;26530:62;;26546:45;830:78201;26530:62;;830:78201;;;;25717:19;830:78201;;336:42:2;26530:62:63;;;;;;;;830:78201;2030:14:2;830:78201:63;25905:10;2030:14:2;;;830:78201:63;;;25731:4;830:78201;;;;;;;26602:112;;;;;;830:78201;;;;26602:112;830:78201;26602:112;;-1:-1:-1;;830:78201:63;;26602:112;;830:78201;25717:19;830:78201;;;;;26488:31;830:78201;;;;25876:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;26602:112;830:78201;;;;;;26602:112;;;;;;;;;26725:14;336:42:2;26725:14:63;;;;830:78201;;;26725:14;;830:78201;;;;;;336:42:2;26725:14:63;;;;;;;;830:78201;;;;26530:62;830:78201;;26530:62;;;:::i;:::-;830:78201;;;;26530:62;;;26488:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;26401:29;;;;830:78201;26401:29;;830:78201;26401:29;;;;;;2030:14:2;26401:29:63;;;:::i;:::-;;;2030:14:2;;;;;;26372:71:63;26401:29;;;;;-1:-1:-1;26401:29:63;;26011:35;;;;830:78201;26011:35;;830:78201;26011:35;;;;;;2030:14:2;26011:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;26011:35;;;;;-1:-1:-1;26011:35:63;;25905:23;;;;830:78201;25905:23;;830:78201;25905:23;;;;;;2030:14:2;25905:23:63;;;:::i;:::-;;;2030:14:2;;;;;25905:23:63;;;;;;;-1:-1:-1;25905:23:63;;25717:19;830:78201;;25717:19;;;:::i;:::-;830:78201;;;;25717:19;;;830:78201;;;;;;;;;;;;;23295:4;830:78201;;336:42:2;23281:19:63;;;;830:78201;;23281:19;830:78201;23281:19;;830:78201;23281:19;;830:78201;;;;23281:19;830:78201;;;336:42:2;23281:19:63;;;;;;;;830:78201;23381:15;23399:7;23381:15;2030:14:2;23381:15:63;;2030:14:2;;;830:78201:63;23432:10;2030:14:2;;;830:78201:63;;23295:4;830:78201;;;;;23432:23;830:78201;23432:23;;;830:78201;23432:23;;830:78201;;23432:23;23281:19;23432:23;;;;;;;;;830:78201;;23432:23;;;830:78201;23503:73;;;;;;:::i;:::-;830:78201;;;;;;;;;;23587:45;830:78201;;23587:45;;;;830:78201;23587:45;;-1:-1:-1;;830:78201:63;;23587:45;;830:78201;2030:14:2;23281:19:63;830:78201;;;;;23587:45;;;;;;;;;830:78201;2030:14:2;830:78201:63;23432:10;2030:14:2;;;830:78201:63;;;23295:4;830:78201;;;;;;;23643:137;;;;;;830:78201;;;;23643:137;830:78201;23643:137;;-1:-1:-1;;2030:14:2;830:78201:63;23643:137;;830:78201;23281:19;2030:14:2;;830:78201:63;23325:5;23587:45;2030:14:2;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;23354:4;2030:14:2;;;830:78201:63;23568:6;2030:14:2;;;830:78201:63;;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;;23643:137;830:78201;;;;;;23643:137;;;;;;;;;830:78201;23281:19;830:78201;;;;;;;23800:32;;;;830:78201;23800:32;;23568:6;830:78201;23800:32;;830:78201;23800:32;;;;;;830:78201;;23800:32;;;23834:3;;;;:::i;23587:45::-;;;830:78201;23587:45;830:78201;23587:45;;;;;;;:::i;:::-;;;23432:23;;;;;830:78201;23432:23;;830:78201;23432:23;;;;;;2030:14:2;23432:23:63;;;:::i;:::-;;;2030:14:2;;;;;;;23503:73:63;23432:23;;;;;-1:-1:-1;23432:23:63;;23281:19;830:78201;;23281:19;;;:::i;:::-;830:78201;;;;23281:19;;;830:78201;;;;;;;;;;;;3346:26:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;3346:26:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4555:4;830:78201;;336:42:2;4541:19:63;;;;830:78201;;4541:19;830:78201;4541:19;;830:78201;4541:19;;830:78201;;;;4541:19;830:78201;;;336:42:2;4541:19:63;;;;;;;;830:78201;;;;;;;;;4648:16;;830:78201;4648:16;830:78201;4648:16;;;;;;;;830:78201;;4648:16;;;830:78201;4642:22;;;;:::i;:::-;830:78201;;4637:2;830:78201;;4637:2;830:78201;;;;;4711:4;4693:15;2030:14:2;4693:15:63;;;2030:14:2;;;830:78201:63;4741:10;2030:14:2;;;830:78201:63;;;4555:4;830:78201;;;;;;4741:23;;;830:78201;4741:23;;830:78201;;4741:23;4541:19;4741:23;;;;;;;;;830:78201;;4741:23;;;830:78201;;;;;4916:24;;830:78201;4916:24;830:78201;4916:24;;;;;;;;;830:78201;;4916:24;;;830:78201;;;;;5253:18;;;830:78201;5253:18;;830:78201;;5253:18;4541:19;5253:18;;;;;;;;;830:78201;;;;;;;;5253:18;;;830:78201;;4854:505;830:78201;;4989:338;4854:505;830:78201;;4989:338;830:78201;;;4989:338;;;830:78201;4989:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;4854:505;830:78201;4831:538;;5440:14;2030::2;830:78201:63;;;5432:35;830:78201;5432:35;;;830:78201;5432:35;;830:78201;4541:19;2030:14:2;;830:78201:63;5432:35;;;;336:42:2;5432:35:63;;;;;;;830:78201;;;;;;;;5432:35;;830:78201;;;;;5585:35;;830:78201;5585:35;830:78201;5585:35;;;;;;;;;830:78201;;;;;;;;5585:35;;;830:78201;-1:-1:-1;830:78201:63;;;;5557:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5773:13;830:78201;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;;;5557:342;;830:78201;;;;5557:342;830:78201;5557:342;830:78201;5534:375;;830:78201;;;;5982:29;;;;830:78201;5982:29;;;;;;;;;830:78201;;5982:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;5953:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;5953:71;830:78201;2030:14:2;;;5953:71:63;2030:14:2;5953:71:63;830:78201;5943:82;;830:78201;;6079:37;830:78201;6079:37;;830:78201;6079:37;;830:78201;4541:19;2030:14:2;;830:78201:63;5432:35;6079:37;5432:35;6079:37;336:42:2;6079:37:63;;;;;;;830:78201;;;;;;;;6079:37;;;830:78201;6202:84;;;;;;830:78201;;6202:84;830:78201;6202:84;;830:78201;6202:84;;830:78201;4541:19;830:78201;;;;5432:35;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;6202:84;830:78201;;;;;;6202:84;;;;;;;;;830:78201;;;;;;;;4555:4;830:78201;;;;;6359:21;830:78201;6359:21;;;830:78201;6359:21;;830:78201;;6359:21;4541:19;6359:21;;;;;;;;;830:78201;;6359:21;;;830:78201;;;;6420:30;830:78201;6420:30;;4603:6;830:78201;6420:30;;830:78201;;6420:30;4541:19;6420:30;;;;;;;;;830:78201;;6420:30;;;830:78201;2030:14:2;830:78201:63;4741:10;2030:14:2;;;830:78201:63;6539:440;;;;;;830:78201;;;;6539:440;;;;;;;830:78201;6539:440;;830:78201;;;6539:440;830:78201;6539:440;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;6420:30;;;;830:78201;6420:30;;830:78201;6420:30;;;;;;2030:14:2;6420:30:63;;;:::i;:::-;;;2030:14:2;;;;;6420:30:63;;;;;;;-1:-1:-1;6420:30:63;;6359:21;;;;830:78201;6359:21;;830:78201;6359:21;;;;;;2030:14:2;6359:21:63;;;:::i;:::-;;;2030:14:2;;;;;6359:21:63;;;;;;;-1:-1:-1;6359:21:63;;6202:84;830:78201;;6202:84;;;:::i;:::-;830:78201;;;;6202:84;;;6079:37;;;;;;;;;;5432:35;6079:37;5432:35;6079:37;;;;;;;:::i;:::-;;;;;;;;;;5982:29;;;;830:78201;5982:29;;830:78201;5982:29;;;;;;2030:14:2;5982:29:63;;;:::i;:::-;;;2030:14:2;;;;;;5953:71:63;5982:29;;;;;-1:-1:-1;5982:29:63;;5585:35;;;;;;;830:78201;5585:35;;830:78201;5585:35;;;;;;2030:14:2;5585:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;5557:342:63;5585:35;;;;;-1:-1:-1;5585:35:63;;5432;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;5253:18;;;;;;;830:78201;5253:18;;830:78201;5253:18;;;;;;2030:14:2;5253:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;4989:338:63;5253:18;;;;;-1:-1:-1;5253:18:63;;4916:24;;;830:78201;4916:24;;830:78201;4916:24;;;;;;2030:14:2;4916:24:63;;;:::i;:::-;;;2030:14:2;;;;;4916:24:63;;;;;;-1:-1:-1;4916:24:63;;4741:23;;;830:78201;4741:23;;830:78201;4741:23;;;;;;2030:14:2;4741:23:63;;;:::i;:::-;;;2030:14:2;;;;;4741:23:63;;;;;;-1:-1:-1;4741:23:63;;4648:16;;830:78201;4648:16;;830:78201;4648:16;;;;;;830:78201;4648:16;;;:::i;:::-;;;830:78201;;;;;4642:22;830:78201;;:::i;:::-;4648:16;;;;;-1:-1:-1;4648:16:63;;4541:19;830:78201;;4541:19;;;:::i;:::-;830:78201;;;;4541:19;;;830:78201;;;;;;;;;;;;;;61033:43;;;;;;;;;;;;;;830:78201;61033:43;;;;;;61058:17;830:78201;;61033:43;;830:78201;;;61033:43;;;;;830:78201;;;61148:4;830:78201;;61122:47;;;;;830:78201;;61122:47;830:78201;61122:47;;830:78201;61122:47;;830:78201;61154:14;830:78201;;;;;;;61122:47;830:78201;;;61122:47;;;;;;;;;830:78201;;;61148:4;830:78201;;336:42:2;61180:19:63;;;;830:78201;;61180:19;830:78201;61180:19;;830:78201;61180:19;;830:78201;;;;;;;;336:42:2;61180:19:63;;;;;;;;830:78201;61501:15;61519:4;61501:15;2030:14:2;61501:15:63;;2030:14:2;;;830:78201:63;61549:10;2030:14:2;;;830:78201:63;;;61148:4;830:78201;;;;61549:23;830:78201;61549:23;;;830:78201;61549:23;;830:78201;;61549:23;830:78201;61549:23;;;;;;;;;830:78201;;61549:23;;;830:78201;;;;61655:35;830:78201;61655:35;;830:78201;61655:35;830:78201;61655:35;;;;;;;;;830:78201;;61655:35;;;830:78201;;;;61627:334;830:78201;61627:334;;-1:-1:-1;;;2030:14:2;830:78201:63;;;2030:14:2;;830:78201:63;2030:14:2;;;;830:78201:63;61324:12;2030:14:2;;;830:78201:63;61242:6;2030:14:2;;;830:78201:63;2030:14:2;;;;830:78201:63;61854:13;830:78201;2030:14:2;;830:78201:63;2030:14:2;;;;830:78201:63;61395:11;2030:14:2;;;830:78201:63;61290:6;2030:14:2;;;830:78201:63;2030:14:2;61627:334:63;;;;;;:::i;:::-;830:78201;61604:367;;830:78201;;62038:29;830:78201;62038:29;;830:78201;62038:29;830:78201;62038:29;;;;;;;;;830:78201;;62038:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;62009:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;62009:71;830:78201;2030:14:2;;;62009:71:63;2030:14:2;62009:71:63;830:78201;61999:82;;2030:14:2;62133::63;2030::2;830:78201:63;;;62125:31;830:78201;62125:31;;830:78201;62125:31;;830:78201;;2030:14:2;;830:78201:63;2030:14:2;62125:31:63;61122:47;62125:31;336:42:2;62125:31:63;;;;;;;830:78201;;;;;;;62125:31;;830:78201;;;;62247:58;830:78201;62247:58;;-1:-1:-1;;830:78201:63;;62247:58;;830:78201;2030:14:2;830:78201:63;;;;;;61122:47;830:78201;;;62247:58;;;;;;;;;830:78201;;;61148:4;830:78201;;;;;62340:32;830:78201;62340:32;;;830:78201;62340:32;;830:78201;;62340:32;830:78201;62340:32;;;;;;;;;830:78201;;62340:32;;;830:78201;;;;62408:41;830:78201;62408:41;;61242:6;830:78201;62408:41;;830:78201;;62408:41;830:78201;62408:41;;;;;;;;;830:78201;;62408:41;;;830:78201;;;;62491:40;830:78201;62491:40;;61290:6;830:78201;62491:40;;830:78201;;62491:40;830:78201;62491:40;;;;;;;;;830:78201;;62491:40;;;830:78201;2030:14:2;830:78201:63;61549:10;2030:14:2;;;830:78201:63;62607:155;;;;;;830:78201;;;;62607:155;830:78201;62607:155;;-1:-1:-1;;2030:14:2;830:78201:63;62607:155;;830:78201;2030:14:2;830:78201:63;2030:14:2;;830:78201:63;61324:12;61122:47;2030:14:2;;830:78201:63;61242:6;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;61395:11;2030:14:2;;;830:78201:63;61290:6;2030:14:2;;;830:78201:63;;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;;62607:155;830:78201;;;;;;62607:155;;;;;;;;;830:78201;;;61148:4;830:78201;;;;;62831:32;830:78201;62831:32;;830:78201;62831:32;;830:78201;;62831:32;830:78201;62831:32;;;;;;;;;830:78201;;62831:32;;;830:78201;-1:-1:-1;830:78201:63;;;;;;;;62865:27;;;:::i;:::-;830:78201;;62912:41;830:78201;62912:41;;61242:6;830:78201;62912:41;;830:78201;;62912:41;830:78201;62912:41;;;;;;;;;830:78201;;62912:41;;;830:78201;2030:14:2;61324:12:63;2030:14:2;;;;;;;62955:24:63;830:78201;62955:24;830:78201;62955:24;;:::i;:::-;830:78201;;62999:40;;;;830:78201;62999:40;;61290:6;830:78201;62999:40;;830:78201;62999:40;;;;;;;830:78201;;62999:40;;;830:78201;2030:14:2;61395:11:63;2030:14:2;;;;;;;63041:33:63;;;:::i;62999:40::-;;;;830:78201;62999:40;;830:78201;62999:40;;;;;;2030:14:2;62999:40:63;;;:::i;:::-;;;2030:14:2;;;;;62999:40:63;;;;;;;-1:-1:-1;62999:40:63;;62912:41;;;;830:78201;62912:41;;830:78201;62912:41;;;;;;2030:14:2;62912:41:63;;;:::i;:::-;;;2030:14:2;;;;;62912:41:63;;;;;;;-1:-1:-1;62912:41:63;;62831:32;;;;830:78201;62831:32;;830:78201;62831:32;;;;;;2030:14:2;62831:32:63;;;:::i;:::-;;;2030:14:2;;;;;62831:32:63;;;;;;;-1:-1:-1;62831:32:63;;62607:155;830:78201;;62607:155;;;:::i;:::-;830:78201;;;;62607:155;;;62491:40;;;;830:78201;62491:40;;830:78201;62491:40;;;;;;2030:14:2;62491:40:63;;;:::i;:::-;;;2030:14:2;;;;;62491:40:63;;;;;;;-1:-1:-1;62491:40:63;;62408:41;;;;830:78201;62408:41;;830:78201;62408:41;;;;;;2030:14:2;62408:41:63;;;:::i;:::-;;;2030:14:2;;;;;62408:41:63;;;;;;;-1:-1:-1;62408:41:63;;62340:32;;;;830:78201;62340:32;;830:78201;62340:32;;;;;;2030:14:2;62340:32:63;;;:::i;:::-;;;2030:14:2;;;;;62340:32:63;;;;;;;-1:-1:-1;62340:32:63;;62247:58;;;830:78201;62247:58;830:78201;62247:58;;;;;;;:::i;:::-;;;62125:31;;;;;;;;;2030:14:2;62125:31:63;2030:14:2;62125:31:63;;;;;;;:::i;:::-;;;;;;;;62038:29;;;;830:78201;62038:29;;830:78201;62038:29;;;;;;2030:14:2;62038:29:63;;;:::i;:::-;;;2030:14:2;;;;;;62009:71:63;62038:29;;;;;-1:-1:-1;62038:29:63;;61655:35;;;;830:78201;61655:35;;830:78201;61655:35;;;;;;2030:14:2;61655:35:63;;;:::i;:::-;;;2030:14:2;;;;;61655:35:63;;;;;;;-1:-1:-1;61655:35:63;;61549:23;;;;830:78201;61549:23;;830:78201;61549:23;;;;;;2030:14:2;61549:23:63;;;:::i;:::-;;;2030:14:2;;;;;61549:23:63;;;;;;;-1:-1:-1;61549:23:63;;61180:19;830:78201;;61180:19;;;:::i;:::-;830:78201;;;;61180:19;;;61122:47;830:78201;;61122:47;;;:::i;:::-;830:78201;;;;61122:47;;;830:78201;;;;;;;;;;;;;36223:35;830:78201;36223:10;2030:14:2;;;830:78201:63;;;36223:35;;;;830:78201;36223:35;;;;;;;;;830:78201;;36223:35;;;830:78201;4445:13:4;36006:198:63;4445:13:4;;4441:68;;830:78201:63;;;;4441:68:4;830:78201:63;4474:24:4;;;;830:78201:63;;4474:24:4;830:78201:63;4474:24:4;;830:78201:63;4474:24:4;;830:78201:63;36006:198;830:78201;;;;-1:-1:-1;;4474:24:4;;;830:78201:63;4474:24:4;;;;;;;4441:68;4474:24;-1:-1:-1;;4474:24:4;;;:::i;36223:35:63:-;;;;;;;;;;;;;2030:14:2;36223:35:63;;;:::i;:::-;;;2030:14:2;;;;;36223:35:63;;;;;;-1:-1:-1;36223:35:63;;830:78201;;;;;;;;;;;;;9558:4;830:78201;;336:42:2;9544:19:63;;;;830:78201;;9544:19;830:78201;9544:19;;830:78201;9544:19;;830:78201;;;;9544:19;830:78201;;;336:42:2;9544:19:63;;;;;;;;830:78201;;;;;;;;;9651:16;;830:78201;9651:16;830:78201;9651:16;;;;;;;;830:78201;;9651:16;;;830:78201;9645:22;;;;:::i;:::-;830:78201;9640:2;830:78201;;9640:2;830:78201;;;;;9714:4;9696:15;2030:14:2;9696:15:63;;;2030:14:2;;;830:78201:63;9744:10;2030:14:2;;;830:78201:63;;9558:4;830:78201;;;;;9744:23;830:78201;9744:23;;;830:78201;9744:23;;830:78201;;9744:23;9544:19;9744:23;;;;;;;;;830:78201;;9744:23;;;830:78201;;;;;9979:24;;830:78201;9979:24;830:78201;9979:24;;;;;;;;;830:78201;;9979:24;;;830:78201;;;;;10316:18;;;830:78201;10316:18;;830:78201;;10316:18;9544:19;10316:18;;;;;;;;;830:78201;;;;;;10316:18;;;830:78201;;;9917:505;830:78201;10052:338;9917:505;830:78201;10052:338;830:78201;;10052:338;;;;;830:78201;10052:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;9917:505;830:78201;9894:538;;830:78201;;;10495:36;830:78201;10495:36;;9851:11;830:78201;10495:36;;830:78201;9544:19;2030:14:2;;830:78201:63;10495:36;;;;336:42:2;10495:36:63;;;;;;;830:78201;;;;;;;10495:36;;830:78201;;;;10649:35;830:78201;10649:35;;830:78201;10649:35;830:78201;10649:35;;;;;;;;;830:78201;;;;;;10649:35;;;830:78201;;;;;10621:342;830:78201;;;10621:342;830:78201;;;;10621:342;;;;;;10837:13;;10621:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;10621:342;830:78201;10598:375;;830:78201;;;11046:29;;;;830:78201;11046:29;;;;;;;;;830:78201;;11046:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;11017:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;11017:71;830:78201;2030:14:2;;;11017:71:63;2030:14:2;11017:71:63;830:78201;11007:82;;830:78201;;;11143:38;830:78201;11143:38;;9851:11;830:78201;11143:38;;830:78201;9544:19;2030:14:2;;830:78201:63;10495:36;11143:38;10495:36;11143:38;336:42:2;11143:38:63;;;;;;830:78201;;;;;;;;11143:38;;11192:17;336:42:2;11192:17:63;;;;830:78201;;;11192:17;;830:78201;;;;;;336:42:2;11192:17:63;;;;;;;;2030:14:2;830:78201:63;9744:10;2030:14:2;;;830:78201:63;;;9558:4;830:78201;;;;;;;11219:440;;;;;;830:78201;;11219:440;;;;;;;830:78201;11219:440;;830:78201;;;11219:440;830:78201;11219:440;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;11046:29;;;;830:78201;11046:29;;830:78201;11046:29;;;;;;2030:14:2;11046:29:63;;;:::i;:::-;;;2030:14:2;;;;;;11017:71:63;11046:29;;;;;-1:-1:-1;11046:29:63;;10649:35;;;;;;830:78201;10649:35;;830:78201;10649:35;;;;;;2030:14:2;10649:35:63;;;:::i;:::-;;;2030:14:2;;;;;;10649:35:63;;2030:14:2;;;;830:78201:63;10649:35;;;;;-1:-1:-1;10649:35:63;;10495:36;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;10316:18;;;;;830:78201;10316:18;;830:78201;10316:18;;;;;;2030:14:2;10316:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;9917:505:63;10316:18;;;;;-1:-1:-1;10316:18:63;;9979:24;;;830:78201;9979:24;;830:78201;9979:24;;;;;;2030:14:2;9979:24:63;;;:::i;:::-;;;2030:14:2;;;;;9979:24:63;;;;;;-1:-1:-1;9979:24:63;;9744:23;;;;830:78201;9744:23;;830:78201;9744:23;;;;;;2030:14:2;9744:23:63;;;:::i;:::-;;;2030:14:2;;;;;9744:23:63;;;;;;;-1:-1:-1;9744:23:63;;9651:16;;830:78201;9651:16;;830:78201;9651:16;;;;;;830:78201;9651:16;;;:::i;:::-;;;830:78201;;;;;9645:22;830:78201;;:::i;:::-;9651:16;;;;;-1:-1:-1;9651:16:63;;9544:19;830:78201;;9544:19;;;:::i;:::-;830:78201;;;;9544:19;;;830:78201;;;;;;;;;;;;;;1313:42;830:78201;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;830:78201:63;;;;;;;3501:18:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;830:78201:63;;;;;;;3794:16:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;67046:4;830:78201;;336:42:2;67032:19:63;;;;830:78201;;67032:19;830:78201;67032:19;;830:78201;67032:19;;830:78201;;;;67032:19;830:78201;;;336:42:2;67032:19:63;;;;;;;;830:78201;67196:15;67214:7;67196:15;2030:14:2;67196:15:63;;2030:14:2;;;830:78201:63;67247:10;2030:14:2;;;830:78201:63;67032:19;830:78201;;67046:4;830:78201;;;;;67247:23;;;;830:78201;67247:23;;;830:78201;67247:23;;830:78201;67247:23;;;;;;;830:78201;;67247:23;;;830:78201;-1:-1:-1;830:78201:63;;;;;;69349:24;;830:78201;;;;;;;;;;69349:24;;;;;;;-1:-1:-1;;69349:24:63;;;830:78201;2030:14:2;67032:19:63;830:78201;;67247:10;2030:14:2;;;830:78201:63;;;;69693:19;;;;830:78201;69693:19;;;830:78201;69693:19;;830:78201;69693:19;;;;;;-1:-1:-1;;;;69693:19:63;;;830:78201;;;69287:513;830:78201;69422:346;69287:513;830:78201;69422:346;830:78201;;69422:346;;;830:78201;;69422:346;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;69287:513;830:78201;69264:546;;69835:14;2030::2;830:78201:63;;;69827:29;830:78201;69827:29;;830:78201;69827:29;;830:78201;67032:19;2030:14:2;;830:78201:63;69827:29;;;;336:42:2;69827:29:63;;;;;;;-1:-1:-1;;;;;;;;;69827:29:63;;;830:78201;69820:36;67397:73;69820:36;;;67397:73;:::i;:::-;67481:69;;;336:42:2;67481:69:63;;;;830:78201;;;67481:69;;67497:52;830:78201;67481:69;;830:78201;;;;67032:19;830:78201;;336:42:2;67481:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;67247:10;2030:14:2;;;830:78201:63;;;67046:4;830:78201;;;;;;;67560:338;;;;;;830:78201;;;;;;;;67560:338;;830:78201;67560:338;;-1:-1:-1;;830:78201:63;67560:338;830:78201;67032:19;830:78201;;;67075:5;69827:29;830:78201;;;;;;;;;;;;;;;;;;;;;67104:5;830:78201;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;67560:338;830:78201;;;;;;67560:338;;;;;;;;;67908:14;336:42:2;67908:14:63;;;;830:78201;;;67908:14;;830:78201;;;;;;336:42:2;67908:14:63;;;;;;;;830:78201;;;;67481:69;830:78201;;67481:69;;;:::i;:::-;830:78201;;;;67481:69;;;69827:29;67397:73;69827:29;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;69693:19;;;;830:78201;69693:19;;830:78201;69693:19;;;;;;2030:14:2;69693:19:63;;;:::i;:::-;;;2030:14:2;;;;;;;69287:513:63;69693:19;;;;;-1:-1:-1;69693:19:63;;69349:24;;;;830:78201;69349:24;;830:78201;69349:24;;;;;;2030:14:2;69349:24:63;;;:::i;:::-;;;2030:14:2;;;;;69349:24:63;;;;;;;-1:-1:-1;69349:24:63;;67247:23;;;830:78201;67247:23;;830:78201;67247:23;;;;;;2030:14:2;67247:23:63;;;:::i;:::-;;;2030:14:2;;;;;67247:23:63;;;;;;-1:-1:-1;67247:23:63;;67032:19;830:78201;;67032:19;;;:::i;:::-;830:78201;;;;67032:19;;;830:78201;;;;;;;;;;;;;37603:4;830:78201;;336:42:2;37589:19:63;;;;830:78201;;37589:19;830:78201;37589:19;;830:78201;37589:19;;830:78201;;;;37589:19;830:78201;;;336:42:2;37589:19:63;;;;;;;;830:78201;;;;;;;;;37696:16;;830:78201;37696:16;830:78201;37696:16;;;;;;;;830:78201;;37696:16;;;830:78201;37690:22;;;;:::i;:::-;830:78201;37685:2;830:78201;;37685:2;830:78201;;;;;37759:4;37741:15;2030:14:2;37741:15:63;;;2030:14:2;;;830:78201:63;37895:10;2030:14:2;;;830:78201:63;;;;;37895:35;;830:78201;37895:35;830:78201;37895:35;;;;;;;;;830:78201;;37895:35;;;830:78201;;;37603:4;830:78201;;;;37867:347;830:78201;37867:347;;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;38083:13;830:78201;;;;37794:3;830:78201;;;;;;;;;2030:14:2;830:78201:63;;;;;;;37867:347;;;;;;:::i;:::-;830:78201;37844:380;;830:78201;;38290:29;830:78201;38290:29;;830:78201;38290:29;830:78201;38290:29;;;;;;;;;830:78201;;38290:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;38261:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;38261:71;830:78201;2030:14:2;;;38261:71:63;2030:14:2;38261:71:63;830:78201;38251:82;;2030:14:2;38385::63;2030::2;830:78201:63;;;38377:31;830:78201;38377:31;;830:78201;38377:31;;830:78201;37589:19;2030:14:2;;830:78201:63;;38377:31;;;336:42:2;38377:31:63;;;;;;;830:78201;;;;;;;;38377:31;;830:78201;-1:-1:-1;830:78201:63;;;38419:42;;830:78201;;;;;38419:42;;830:78201;;;;;;;;;;;;;;;;;38419:42;;830:78201;;;38419:42;;;;;;;;;830:78201;38472:61;336:42:2;38472:61:63;;;;830:78201;;;38472:61;;38488:44;830:78201;38472:61;;830:78201;;;;37589:19;830:78201;;336:42:2;38472:61:63;;;;;;;;830:78201;2030:14:2;830:78201:63;37895:10;2030:14:2;;;830:78201:63;;;37603:4;830:78201;;;;;;;38543:139;;;;;;830:78201;;;;38543:139;830:78201;38543:139;;-1:-1:-1;;830:78201:63;;38543:139;;830:78201;37589:19;830:78201;;;38377:31;830:78201;;;;;;;;;;;;37794:3;830:78201;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;38543:139;830:78201;;;;;;38543:139;;;;;;;;;38693:14;336:42:2;38693:14:63;;;;830:78201;;;38693:14;;830:78201;;;;;;336:42:2;38693:14:63;;;;;;;;830:78201;;;;38472:61;830:78201;;38472:61;;;:::i;:::-;830:78201;;;;38472:61;;;38419:42;;;830:78201;38419:42;830:78201;38419:42;;;;;;;:::i;:::-;;;38377:31;38419:42;38377:31;;;830:78201;38377:31;;;;;;;;830:78201;38377:31;830:78201;38377:31;;;;;;;:::i;:::-;;;;;;;;;;;;;38290:29;;;;830:78201;38290:29;;830:78201;38290:29;;;;;;2030:14:2;38290:29:63;;;:::i;:::-;;;2030:14:2;;;;;;38261:71:63;38290:29;;;;;-1:-1:-1;38290:29:63;;37895:35;;;830:78201;37895:35;;830:78201;37895:35;;;;;;2030:14:2;37895:35:63;;;:::i;:::-;;;2030:14:2;;;;;37895:35:63;;;;;;-1:-1:-1;37895:35:63;;37696:16;;830:78201;37696:16;;830:78201;37696:16;;;;;;830:78201;37696:16;;;:::i;:::-;;;830:78201;;;;;37690:22;830:78201;;:::i;:::-;37696:16;;;;;-1:-1:-1;37696:16:63;;37589:19;830:78201;;37589:19;;;:::i;:::-;830:78201;;;;37589:19;;;830:78201;;;;;;;;;;;;;45450:4;830:78201;;336:42:2;45436:19:63;;;;830:78201;;45436:19;830:78201;45436:19;;830:78201;45436:19;;830:78201;;;;45436:19;830:78201;;;336:42:2;45436:19:63;;;;;;;;830:78201;;;;;;;;;45543:16;;830:78201;45543:16;830:78201;45543:16;;;;;;;;830:78201;;45543:16;;;830:78201;45537:22;;;;:::i;:::-;830:78201;;45532:2;830:78201;;45532:2;830:78201;;;;;45606:4;45588:15;2030:14:2;45588:15:63;;2030:14:2;;;830:78201:63;45636:10;2030:14:2;;;830:78201:63;;45450:4;830:78201;;;;45636:23;830:78201;45636:23;;;830:78201;45636:23;;830:78201;;45636:23;45436:19;45636:23;;;;;;;;;830:78201;;45636:23;;;830:78201;;;;;;;;;;;;;;45906:24;;830:78201;45906:24;830:78201;45906:24;;;;;;;;;830:78201;;45906:24;;;830:78201;;;;;46249:18;;;830:78201;46249:18;;830:78201;;46249:18;45436:19;46249:18;;;;;;;;;830:78201;;;;;;46249:18;;;830:78201;;;45844:511;830:78201;45979:344;45844:511;830:78201;45979:344;830:78201;;45979:344;;;;830:78201;45979:344;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;45844:511;830:78201;45821:544;;2030:14:2;46436::63;2030::2;830:78201:63;;;46428:35;830:78201;46428:35;;;830:78201;46428:35;;830:78201;45436:19;2030:14:2;;830:78201:63;46428:35;;;;336:42:2;46428:35:63;;;;;;;830:78201;;;;;;;;46428:35;;830:78201;;;;46546:35;830:78201;46546:35;;830:78201;46546:35;830:78201;46546:35;;;;;;;;;830:78201;;;;;;;46546:35;;;830:78201;;;46518:342;830:78201;;;46518:342;830:78201;;;;;;46518:342;;;;;;46734:13;;46518:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;46518:342;830:78201;46495:375;;830:78201;;;46942:29;;;;830:78201;46942:29;;;;;;;;;830:78201;;46942:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;46913:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;46913:71;830:78201;2030:14:2;;;46913:71:63;2030:14:2;46913:71:63;830:78201;46903:82;;830:78201;;47038:37;830:78201;47038:37;;830:78201;47038:37;;830:78201;45436:19;2030:14:2;;830:78201:63;46428:35;47038:37;46428:35;47038:37;336:42:2;47038:37:63;;;;;;;830:78201;;;;;;;47038:37;;830:78201;47086:17;336:42:2;47086:17:63;;;;830:78201;;;47086:17;;830:78201;;;;;;336:42:2;47086:17:63;;;;;;;;830:78201;2030:14:2;830:78201:63;45636:10;2030:14:2;;;830:78201:63;;;45450:4;830:78201;;;;;;;47113:362;;;;;;830:78201;;47113:362;;;;;;;830:78201;47113:362;;830:78201;;47113:362;830:78201;47113:362;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;47086:17;830:78201;;47086:17;;;:::i;:::-;830:78201;;;;47086:17;;;47038:37;;;;;;;46428:35;47038:37;46428:35;47038:37;;;;;;;:::i;:::-;;;;;46942:29;;;;830:78201;46942:29;;830:78201;46942:29;;;;;;2030:14:2;46942:29:63;;;:::i;:::-;;;2030:14:2;;;;;;46913:71:63;46942:29;;;;;-1:-1:-1;46942:29:63;;46546:35;;;;;;;830:78201;46546:35;;830:78201;46546:35;;;;;;2030:14:2;46546:35:63;;;:::i;:::-;;;2030:14:2;;;;;;46546:35:63;;2030:14:2;;;;;46518:342:63;46546:35;;;;;-1:-1:-1;46546:35:63;;46428;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;46249:18;;;;;830:78201;46249:18;;830:78201;46249:18;;;;;;2030:14:2;46249:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;45844:511:63;46249:18;;;;;-1:-1:-1;46249:18:63;;45906:24;;;830:78201;45906:24;;830:78201;45906:24;;;;;;2030:14:2;45906:24:63;;;:::i;:::-;;;2030:14:2;;;;;45906:24:63;;;;;;-1:-1:-1;45906:24:63;;45636:23;;;;830:78201;45636:23;;830:78201;45636:23;;;;;;2030:14:2;45636:23:63;;;:::i;:::-;;;2030:14:2;;;;;45636:23:63;;;;;;;-1:-1:-1;45636:23:63;;45543:16;;830:78201;45543:16;;830:78201;45543:16;;;;;;830:78201;45543:16;;;:::i;:::-;;;830:78201;;;;;45537:22;830:78201;;:::i;:::-;45543:16;;;;;-1:-1:-1;45543:16:63;;45436:19;830:78201;;45436:19;;;:::i;:::-;830:78201;;;;45436:19;;;830:78201;;;;;;;;;;;;3948:19:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;3948:19:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;830:78201:63;;-1:-1:-1;;830:78201:63;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;33200:4;830:78201;;336:42:2;33186:19:63;;;;830:78201;;33186:19;830:78201;33186:19;;830:78201;33186:19;;830:78201;;;;33186:19;830:78201;;;336:42:2;33186:19:63;;;;;;;;830:78201;;;;;;;;;33293:16;;830:78201;33293:16;830:78201;33293:16;;;;;;;;830:78201;;33293:16;;;830:78201;33287:22;;;;:::i;:::-;830:78201;;33282:2;830:78201;;33282:2;830:78201;;;;;33356:4;33338:15;2030:14:2;33338:15:63;;2030:14:2;;;830:78201:63;33386:10;2030:14:2;;;830:78201:63;;33200:4;830:78201;;;;;33386:23;830:78201;33386:23;;;830:78201;33386:23;;830:78201;;33386:23;33186:19;33386:23;;;;;;;;;830:78201;;33386:23;;;830:78201;;;;;33590:35;;830:78201;33590:35;830:78201;33590:35;;;;;;;;830:78201;;;;33590:35;;;830:78201;;33562:342;830:78201;33562:342;830:78201;;33562:342;;;;;;830:78201;33562:342;;33778:13;;33562:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;33562:342;830:78201;33539:375;;830:78201;;33980:29;830:78201;33980:29;;830:78201;33980:29;830:78201;33980:29;;;;;;;;;830:78201;;33980:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;33951:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;33951:71;830:78201;2030:14:2;;;33951:71:63;2030:14:2;33951:71:63;830:78201;33941:82;;830:78201;;34067:32;830:78201;34067:32;;33496:11;830:78201;34067:32;;830:78201;33186:19;2030:14:2;;830:78201:63;34067:32;;;;336:42:2;34067:32:63;;;;;;;830:78201;;;;;;;;34067:32;;;830:78201;-1:-1:-1;830:78201:63;;;34110:42;;830:78201;;;;;34110:42;;830:78201;;;;;;;;;;;;;;;;;34110:42;;830:78201;;;34110:42;;;;;;;;;830:78201;34163:71;336:42:2;34163:71:63;;;;830:78201;;;34163:71;;34179:54;830:78201;34163:71;;830:78201;;;;33186:19;830:78201;;336:42:2;34163:71:63;;;;;;;;2030:14:2;830:78201:63;33386:10;2030:14:2;;;830:78201:63;;;33200:4;830:78201;;;;;;;34244:112;;;;;;;830:78201;;;34244:112;;;;;;;830:78201;34244:112;;830:78201;;34244:112;830:78201;34244:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;34110:42;;;830:78201;34110:42;830:78201;34110:42;;;;;;;:::i;:::-;;;34067:32;830:78201;34067:32;;;34110:42;34067:32;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;33980:29;;;;830:78201;33980:29;;830:78201;33980:29;;;;;;2030:14:2;33980:29:63;;;:::i;:::-;;;2030:14:2;;;;;;33951:71:63;33980:29;;;;;-1:-1:-1;33980:29:63;;33590:35;;;;830:78201;33590:35;;830:78201;33590:35;;;;;;2030:14:2;33590:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;33562:342:63;33590:35;;;;;-1:-1:-1;33590:35:63;;33386:23;;;;830:78201;33386:23;;830:78201;33386:23;;;;;;2030:14:2;33386:23:63;;;:::i;:::-;;;2030:14:2;;;;;33386:23:63;;;;;;;-1:-1:-1;33386:23:63;;33293:16;;830:78201;33293:16;;830:78201;33293:16;;;;;;830:78201;33293:16;;;:::i;:::-;;;830:78201;;;;;33287:22;830:78201;;:::i;:::-;33293:16;;;;;-1:-1:-1;33293:16:63;;33186:19;830:78201;;33186:19;;;:::i;:::-;830:78201;;;;33186:19;;;830:78201;;;;;;;;;;;;;74228:4;830:78201;;336:42:2;74214:19:63;;;;830:78201;;74214:19;830:78201;74214:19;;830:78201;74214:19;;830:78201;;;;74214:19;830:78201;;;336:42:2;74214:19:63;;;;;;;;830:78201;;;;;;;;;74321:16;;830:78201;74321:16;830:78201;74321:16;;;;;;;;830:78201;;74321:16;;;830:78201;74315:22;;;;:::i;:::-;830:78201;;74310:2;830:78201;;74310:2;830:78201;;;;;;;;74377:16;;830:78201;74377:16;830:78201;74377:16;;;;;;;;830:78201;;74377:16;;;830:78201;74371:22;;;;:::i;:::-;830:78201;74367:1;830:78201;;;;;;;;74448:18;830:78201;74367:1;830:78201;74448:18;;:::i;:::-;74495:15;74513:4;74495:15;2030:14:2;74495:15:63;;;2030:14:2;;;830:78201:63;74543:10;2030:14:2;;;830:78201:63;;74228:4;830:78201;;;;74543:23;830:78201;74543:23;;;830:78201;74543:23;;830:78201;;74543:23;74214:19;74543:23;;;;;;;;;830:78201;;74543:23;;;830:78201;;;;;74751:24;;830:78201;74751:24;830:78201;74751:24;;;;;;;;;830:78201;;74751:24;;;830:78201;;;;;75093:18;;;830:78201;75093:18;;830:78201;;75093:18;74214:19;75093:18;;;;;;;;;830:78201;;75093:18;;;830:78201;;74689:510;;830:78201;74824:343;;830:78201;;;74824:343;;;830:78201;74824:343;;;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;74689:510;830:78201;74666:543;;2030:14:2;75280::63;2030::2;830:78201:63;;;75272:35;830:78201;75272:35;;;830:78201;75272:35;;830:78201;74214:19;2030:14:2;;830:78201:63;75272:35;;;;336:42:2;75272:35:63;;;;;;;830:78201;;;;;;;;75272:35;;830:78201;;;;75425:35;830:78201;75425:35;;830:78201;75425:35;830:78201;75425:35;;;;;;;;;830:78201;;;;;;;;75425:35;;;830:78201;-1:-1:-1;830:78201:63;;;;75397:341;;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;75613:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;74367:1;830:78201;;;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;;;;;75397:341;;830:78201;2030:14:2;;;75397:341:63;2030:14:2;75397:341:63;830:78201;75374:374;;830:78201;;;75821:29;;;;830:78201;75821:29;;;;;;;;;830:78201;;75821:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;75792:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;75792:71;830:78201;2030:14:2;;;75792:71:63;2030:14:2;75792:71:63;830:78201;75782:82;;830:78201;;75917:37;830:78201;75917:37;;830:78201;75917:37;;830:78201;74214:19;2030:14:2;;830:78201:63;75272:35;75917:37;75272:35;75917:37;336:42:2;75917:37:63;;;;;;;830:78201;;;;;;;;75917:37;;830:78201;75965:69;336:42:2;75965:69:63;;;;830:78201;;;75965:69;;75981:52;830:78201;75965:69;;830:78201;;;;74214:19;830:78201;;336:42:2;75965:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;74543:10;2030:14:2;;;830:78201:63;;;74228:4;830:78201;;;;;;;76044:389;;;;;;830:78201;;;;;;76044:389;;830:78201;76044:389;;;-1:-1:-1;;76044:389:63;830:78201;76044:389;;830:78201;;;76044:389;;;830:78201;74214:19;76044:389;;830:78201;;75272:35;76044:389;;830:78201;;;76044:389;;830:78201;;;;76044:389;;830:78201;;;76044:389;;830:78201;;;76044:389;;830:78201;;74367:1;830:78201;;76044:389;;830:78201;;;;;76044:389;;830:78201;;;;76044:389;;830:78201;2030:14:2;830:78201:63;76044:389;;830:78201;;;76044:389;;830:78201;;;;76044:389;;830:78201;2030:14:2;830:78201:63;76044:389;;830:78201;;;76044:389;;830:78201;;;;76044:389;;;;;;;830:78201;;;76044:389;;;;;;;;;336:42:2;76444:14:63;;;;830:78201;;;76444:14;;830:78201;;;;;;336:42:2;76444:14:63;;;;;;;;830:78201;;;;76044:389;;830:78201;;76044:389;;;:::i;:::-;830:78201;;;76044:389;830:78201;;;;;75965:69;830:78201;;75965:69;;;:::i;:::-;830:78201;;;;75965:69;;;75917:37;;;;;;;;;;75272:35;75917:37;75272:35;75917:37;;;;;;;:::i;:::-;;;;;;;;;;75821:29;;;;830:78201;75821:29;;830:78201;75821:29;;;;;;2030:14:2;75821:29:63;;;:::i;:::-;;;2030:14:2;;;;;;75792:71:63;75821:29;;;;;-1:-1:-1;75821:29:63;;75425:35;;;;;;;;830:78201;75425:35;;830:78201;75425:35;;;;;;2030:14:2;75425:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;;830:78201:63;75425:35;;;;;-1:-1:-1;75425:35:63;;75272;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;75093:18;;;830:78201;75093:18;;830:78201;75093:18;;;;;;2030:14:2;75093:18:63;;;:::i;:::-;;;2030:14:2;;;;;74689:510:63;75093:18;;;;;-1:-1:-1;75093:18:63;;74751:24;;;830:78201;74751:24;;830:78201;74751:24;;;;;;2030:14:2;74751:24:63;;;:::i;:::-;;;2030:14:2;;;;;74751:24:63;;;;;;-1:-1:-1;74751:24:63;;74543:23;;;;830:78201;74543:23;;830:78201;74543:23;;;;;;2030:14:2;74543:23:63;;;:::i;:::-;;;2030:14:2;;;;;74543:23:63;;;;;;;-1:-1:-1;74543:23:63;;74377:16;;830:78201;74377:16;;830:78201;74377:16;;;;;;830:78201;74377:16;;;:::i;:::-;;;830:78201;;;;;74371:22;830:78201;;:::i;:::-;74377:16;;;;;-1:-1:-1;74377:16:63;;74321;;830:78201;74321:16;;830:78201;74321:16;;;;;;830:78201;74321:16;;;:::i;:::-;;;830:78201;;;;;74315:22;830:78201;;:::i;:::-;74321:16;;;;;-1:-1:-1;74321:16:63;;74214:19;830:78201;;74214:19;;;:::i;:::-;830:78201;;;;74214:19;;;830:78201;;;;;;;;;;;;;;;;3018:16:9;830:78201:63;;;;;;;3018:16:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;72667:4;830:78201;;336:42:2;72653:19:63;;;;830:78201;;72653:19;830:78201;72653:19;;830:78201;72653:19;;830:78201;;72653:19;;;;336:42:2;72653:19:63;;;;;;;;830:78201;;;;;;;;;72834:16;;830:78201;72834:16;830:78201;72834:16;;;;;;;;830:78201;;72834:16;;;830:78201;72828:22;;;;:::i;:::-;830:78201;72823:2;830:78201;;72823:2;830:78201;;;;;72945:4;72927:15;2030:14:2;72927:15:63;;;2030:14:2;;;830:78201:63;72975:10;2030:14:2;;;830:78201:63;;72667:4;830:78201;;;;;72975:23;830:78201;72975:23;;;830:78201;72975:23;;830:78201;;72975:23;72653:19;72975:23;;;;;;;;;830:78201;;72975:23;;;830:78201;;;;;73081:35;;830:78201;73081:35;830:78201;73081:35;;;;;;;;830:78201;;;;73081:35;;;830:78201;-1:-1:-1;830:78201:63;;;;73053:323;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;73269:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;-1:-1:-1;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;73053:323;;830:78201;2030:14:2;;;73053:323:63;2030:14:2;73053:323:63;830:78201;73030:356;;830:78201;;73453:29;830:78201;73453:29;;830:78201;73453:29;830:78201;73453:29;;;;;;;;;830:78201;;73453:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;73424:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;73424:71;830:78201;2030:14:2;;;73424:71:63;2030:14:2;73424:71:63;830:78201;73414:82;;2030:14:2;73548::63;2030::2;830:78201:63;;;73540:31;830:78201;73540:31;;830:78201;73540:31;;830:78201;72653:19;2030:14:2;;830:78201:63;73540:31;;;;336:42:2;73540:31:63;;;;;;;830:78201;;;;;;;;73540:31;;830:78201;-1:-1:-1;830:78201:63;;;73582:42;;830:78201;;;;;73582:42;;830:78201;;;;;;;;;;;;;;;;;73582:42;;830:78201;;;73582:42;;;;;;;;;830:78201;73635:69;336:42:2;73635:69:63;;;;830:78201;;;73635:69;;73651:52;830:78201;73635:69;;830:78201;;;;72653:19;830:78201;;336:42:2;73635:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;72975:10;2030:14:2;;;830:78201:63;;;72667:4;830:78201;;;;;;;73714:144;;;;;;830:78201;;;;73714:144;830:78201;73714:144;;-1:-1:-1;;2030:14:2;830:78201:63;73714:144;;830:78201;72653:19;2030:14:2;;830:78201:63;73540:31;2030:14:2;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;;73714:144;830:78201;;;;;;73714:144;;;;;;;;;73869:14;336:42:2;73869:14:63;;;;830:78201;;;73869:14;;830:78201;;;;;;336:42:2;73869:14:63;;;;;;;;830:78201;;;;73635:69;830:78201;;73635:69;;;:::i;:::-;830:78201;;;;73635:69;;;73582:42;;;830:78201;73582:42;830:78201;73582:42;;;;;;;:::i;:::-;;;73540:31;830:78201;73540:31;;;;;;73582:42;73540:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;73540:31:63;-1:-1:-1;73540:31:63;;73453:29;;;;830:78201;73453:29;;830:78201;73453:29;;;;;;2030:14:2;73453:29:63;;;:::i;:::-;;;2030:14:2;;;;;;73424:71:63;73453:29;;;;;-1:-1:-1;73453:29:63;;73081:35;;;;830:78201;73081:35;;830:78201;73081:35;;;;;;2030:14:2;73081:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;73053:323:63;73081:35;;;;;-1:-1:-1;73081:35:63;;72975:23;;;;830:78201;72975:23;;830:78201;72975:23;;;;;;2030:14:2;72975:23:63;;;:::i;:::-;;;2030:14:2;;;;;72975:23:63;;;;;;;-1:-1:-1;72975:23:63;;72834:16;;830:78201;72834:16;;830:78201;72834:16;;;;;;830:78201;72834:16;;;:::i;:::-;;;830:78201;;;;;72828:22;830:78201;;:::i;:::-;72834:16;;;;;-1:-1:-1;72834:16:63;;72653:19;830:78201;72653:19;;;:::i;:::-;830:78201;;;72653:19;;;;830:78201;;;;;;;;;;;;;;;;;;;;1458:28;;;;;;;;;;;;;;;;;;;;830:78201;1458:28;;;;;830:78201;;1445:41;830:78201;;;;;;;;1445:41;830:78201;;;1504:21;;;;;;;1458:28;1504:21;;;;;;;;;;;;830:78201;1504:21;;;;;830:78201;;;;1496:29;830:78201;;;1496:29;830:78201;;1622:4;830:78201;;;;;1641:16;;1496:29;1641:16;830:78201;1641:16;;;;;;;;830:78201;1641:16;;;830:78201;1635:22;;;;:::i;:::-;830:78201;1628:4;830:78201;;1628:4;830:78201;;;;;;;;1607:51;;830:78201;;;;;;1607:51;;830:78201;;;;;;1496:29;;830:78201;;;;;;-1:-1:-1;;1607:51:63;;;;;;;;830:78201;1607:51;;;830:78201;1607:51;;:::i;:::-;830:78201;1607:51;;;;1496:29;1607:51;1496:29;1607:51;;;;;;;:::i;:::-;;;;830:78201;;;;;;;;;;1641:16;;1496:29;1641:16;;1496:29;1641:16;;;;;;1496:29;1641:16;;;:::i;:::-;;;830:78201;;;;;1635:22;830:78201;;:::i;:::-;1641:16;;;;;-1:-1:-1;1641:16:63;;1504:21;830:78201;;;;;;;;;;;;;;;;;;;;;;55733:4;830:78201;;336:42:2;55719:19:63;;;;830:78201;;55719:19;830:78201;55719:19;;;;;830:78201;;55719:19;;;;336:42:2;55719:19:63;;;;;;;;830:78201;;;;;;;;;;55826:16;;830:78201;55826:16;55719:19;55826:16;;;;;;;;;;;;830:78201;55820:22;;;;:::i;:::-;830:78201;55815:2;830:78201;;55815:2;830:78201;;;;;;55889:4;55871:15;2030:14:2;55871:15:63;;;2030:14:2;;;830:78201:63;55919:10;2030:14:2;;;830:78201:63;;;55733:4;830:78201;;;;;55919:23;830:78201;55919:23;;;55719:19;55919:23;;830:78201;;55919:23;55719:19;55919:23;;;;;;;;;;;;;830:78201;;;;;56025:35;;830:78201;56025:35;55719:19;56025:35;;;;;;;;;;;;;;;;830:78201;;55997:342;830:78201;55997:342;830:78201;;55997:342;;;;;;830:78201;55997:342;;56213:13;;55997:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;55997:342;830:78201;55974:375;;830:78201;;56422:29;830:78201;56422:29;;830:78201;56422:29;55719:19;56422:29;;;;;;;;;;;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;56393:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;56393:71;830:78201;2030:14:2;;;56393:71:63;2030:14:2;56393:71:63;830:78201;56383:82;;2030:14:2;56527::63;2030::2;830:78201:63;;;56519:37;830:78201;56519:37;;55719:19;56519:37;;830:78201;55719:19;2030:14:2;;830:78201:63;56519:37;;;;336:42:2;56519:37:63;;;;;;;;-1:-1:-1;;;;56519:37:63;;;830:78201;;;;;;;;56611:1;830:78201;;;;;;;;;;56567:46;;830:78201;;;;;55719:19;56567:46;;830:78201;;;;;;;;;;;;;;;;;;;;;;56567:46;;;;;;;;830:78201;2030:14:2;830:78201:63;55919:10;2030:14:2;;;830:78201:63;;55733:4;830:78201;;;;;;56661:143;;;;;;830:78201;;;56661:143;;830:78201;;;;55719:19;56661:143;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;56661:143;;;;;;;;;;;830:78201;56894:61;;336:42:2;56894:61:63;;;;830:78201;;;56894:61;;56910:44;55719:19;56894:61;;830:78201;56894:61;;55719:19;56894:61;;336:42:2;56894:61:63;;;;;;;;;;;830:78201;2030:14:2;;830:78201:63;55919:10;2030:14:2;;;830:78201:63;;;55733:4;830:78201;;;;;;;56965:143;;;;;;830:78201;;;;56965:143;830:78201;;;56965:143;;;;;;;830:78201;56965:143;;55719:19;56965:143;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;56965:143;;;;;;;;;;;830:78201;57119:14;;336:42:2;57119:14:63;;;;830:78201;;;;57119:14;;;;55719:19;57119:14;;336:42:2;57119:14:63;;;;;;;;830:78201;;57119:14;;;;;:::i;:::-;830:78201;;57119:14;830:78201;;;;57119:14;830:78201;;;;;;;;;56965:143;;;;;:::i;:::-;830:78201;;56965:143;;;;;830:78201;;;56894:61;;;;;:::i;:::-;830:78201;;56894:61;;;;830:78201;;;;56894:61;830:78201;;;;;;;;;56661:143;;;;;:::i;:::-;830:78201;;56661:143;;;;56567:46;;;830:78201;56567:46;830:78201;56567:46;;;;;;;:::i;:::-;;;830:78201;55719:19;830:78201;;;;;55719:19;830:78201;;56519:37;;;;;;;;830:78201;56519:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;830:78201;;;;;;;;;56422:29;;;;830:78201;56422:29;;830:78201;56422:29;;;;;;2030:14:2;56422:29:63;;;:::i;:::-;;;2030:14:2;;;;;;56393:71:63;56422:29;;;;;-1:-1:-1;56422:29:63;;56025:35;;;;830:78201;56025:35;;830:78201;56025:35;;;;;;2030:14:2;56025:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;55997:342:63;56025:35;;;;;-1:-1:-1;56025:35:63;;55919:23;;;;830:78201;55919:23;;830:78201;55919:23;;;;;;2030:14:2;55919:23:63;;;:::i;:::-;;;2030:14:2;;;;;55919:23:63;;;;;;;-1:-1:-1;55919:23:63;;2030:14:2;55719:19:63;830:78201;;;;;55719:19;830:78201;;;55719:19;830:78201;;;;;55719:19;830:78201;;55826:16;;830:78201;55826:16;;830:78201;55826:16;;;;;;830:78201;55826:16;;;:::i;:::-;;;830:78201;;;;;55820:22;830:78201;;:::i;:::-;55826:16;;830:78201;;;;55826:16;;;-1:-1:-1;55826:16:63;;55719:19;;;;830:78201;55719:19;;:::i;:::-;830:78201;55719:19;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;2030:14:2:-;;;;;;;;;;:::o;:::-;;;;;;;;;830:78201:63;;;:::i;:::-;2030:14:2;;;;;;;;;;:::o;830:78201:63:-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;830:78201:63;;;;;-1:-1:-1;830:78201:63;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;-1:-1:-1;830:78201:63;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;:::o;1306:195:4:-;1365:7;830:78201:63;;;;;;1395:4:4;1388:11;:::o;1361:134::-;830:78201:63;;;1437:33:4;;830:78201:63;1437:33:4;;;830:78201:63;192:59:4;1255:17;;;830:78201:63;1255:17:4;1437:33;;;830:78201:63;1437:33:4;;;;;;;830:78201:63;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;2030:14:2;1437:33:4;;;:::i;:::-;;;2030:14:2;;;;;1437:33:4;;;;;;-1:-1:-1;1437:33:4;;1764:124;1831:5;1827:55;;;1764:124;:::o;1827:55::-;830:78201:63;1852:19:4;;;;830:78201:63;;1852:19:4;830:78201:63;1852:19:4;;830:78201:63;1852:19:4;;;830:78201:63;-1:-1:-1;1852:19:4;;;830:78201:63;1852:19:4;;;;;;;;1764:124;:::o;1852:19::-;-1:-1:-1;1852:19:4;;;:::i;69869:752:63:-;;;830:78201;70184:10;2030:14:2;;;830:78201:63;;;;;70184:35;;;;;;;;;;;;;;-1:-1:-1;70184:35:63;;;69869:752;-1:-1:-1;70184:35:63;830:78201;;;;;70156:297;;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;2030:14:2;;;830:78201:63;67075:5;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;70355:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;67104:5;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;70184:35;;70156:297;830:78201;2030:14:2;;;70156:297:63;2030:14:2;70156:297:63;830:78201;70133:330;;830:78201;;;70529:29;;;;830:78201;70529:29;;;;;;;;;-1:-1:-1;70529:29:63;;;69869:752;-1:-1:-1;830:78201:63;;2030:14:2;70184:35:63;70500:65;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;70500:65;830:78201;2030:14:2;;;70500:65:63;2030:14:2;70500:65:63;830:78201;70490:76;;2030:14:2;70591::63;2030::2;830:78201:63;;;70583:31;830:78201;70583:31;;70184:35;70583:31;;830:78201;2030:14:2;;;830:78201:63;70583:31;;;;336:42:2;70583:31:63;;;;;;;-1:-1:-1;;;;70583:31:63;;;69869:752;70576:38;;;69869:752;:::o;70583:31::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;70529:29;;;;70184:35;70529:29;;70184:35;70529:29;;;;;;2030:14:2;70529:29:63;;;:::i;:::-;;;2030:14:2;;;;;;70500:65:63;70529:29;;;;;-1:-1:-1;70529:29:63;;70184:35;;;;;;;;;;;;;;;;2030:14:2;70184:35:63;;;:::i;:::-;;;2030:14:2;;;;;70184:35:63;;2030:14:2;70156:297:63;70184:35;;;;;-1:-1:-1;70184:35:63;;69869:752;;;830:78201;70184:10;2030:14:2;;;830:78201:63;;;;;70184:35;;;;;;;;;;;;;;-1:-1:-1;70184:35:63;;;69869:752;-1:-1:-1;70184:35:63;830:78201;;;;;70156:297;;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;2030:14:2;;;830:78201:63;23325:5;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;70355:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;23354:4;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;70184:35;;70156:297;830:78201;2030:14:2;;;70156:297:63;2030:14:2;70184:35:63;;;;;;;;;;;;;;;;2030:14:2;70184:35:63;;;:::i;:::-;;;2030:14:2;;;;;70184:35:63;;2030:14:2;70156:297:63;70184:35;;;;;-1:-1:-1;70184:35:63;;2664:153:4;23354:4:63;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;830:78201:63;2776:24:4;;;;830:78201:63;;2776:24:4;830:78201:63;2776:24:4;;;;;830:78201:63;23354:4;830:78201;;;;-1:-1:-1;2776:24:4;;;830:78201:63;2776:24:4;;;;;;;;2664:153;:::o;:::-;2747:13;2743:68;;2664:153;:::o;2743:68::-;830:78201:63;2776:24:4;;;;830:78201:63;;2776:24:4;830:78201:63;2776:24:4;;;;;830:78201:63;;;;;;;2776:24:4;;;830:78201:63;2776:24:4;;;;;;;;2664:153;:::o;:::-;37497:1:63;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;830:78201:63;2776:24:4;;;;830:78201:63;;2776:24:4;830:78201:63;2776:24:4;;;;;830:78201:63;37497:1;830:78201;;;;-1:-1:-1;2776:24:4;;;830:78201:63;2776:24:4;;;;;;;;2664:153;:::o;:::-;;2747:13;;;2743:68;;2664:153;;:::o;2743:68::-;830:78201:63;2776:24:4;;;;830:78201:63;;2776:24:4;830:78201:63;2776:24:4;;;;;830:78201:63;;;;;-1:-1:-1;2776:24:4;;;830:78201:63;2776:24:4;;;;;;;;2664:153;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","entrypoint()":"a65d69d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAssemblyCodeExecution()":"7747c190","testConstructor()":"c2e9f2e4","testConstructorAndDomainSeparator()":"942c6c0d","testDepositToIntentAlreadyUsed()":"1e3f2fae","testDepositToIntentCannotReuseDigest()":"9750a94e","testDepositToIntentExpiredDeadline()":"b320b495","testDepositToIntentReentrancyProtection()":"19835737","testDepositToIntentRequiresNonZeroAmount()":"6d74fac8","testDepositToIntentRequiresValidToken()":"8db1cdf8","testDepositToIntentTransferFromFails()":"a9d98231","testDepositToIntentWithFeeAmountButNoCollector_Reverts()":"f56af20a","testDepositToIntentWithFeeCollectorButNoAmount_Reverts()":"0c266cdb","testDepositToIntentWithPermitAlreadyUsed()":"c13acba0","testDepositToIntentWithPermitExpiredDeadline()":"c0aa967b","testDepositToIntentWithPermitReentrancyProtection()":"774345cd","testDepositToIntentWithPermitRequiresNonZeroAmount()":"ac315011","testDepositToIntentWithPermitRequiresPermitAmount()":"d4942166","testDepositToIntentWithPermitRequiresValidToken()":"9eed73d6","testDepositToIntentWithPermitTransferFromFails()":"2bce844d","testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts()":"218171d7","testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts()":"80839499","testDepositToIntentWithPermitWrongSigner()":"be4671ef","testDepositToIntentWithoutPermit_RequiresIntentAddress()":"fa5e8102","testDepositToIntentWrongSigner()":"22b7bf5e","testDepositToIntent_WithNonStandardERC20AndFee_Success()":"567902d9","testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts()":"7806d8ab","testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts()":"b47752d1","testDepositToIntent_WithNonStandardERC20_Success()":"d7284b70","testExactApprovalFlow()":"be7d0b2f","testExecuteIntentWithFee()":"bbaaf0a8","testExecuteIntentWithPermit()":"c30fff97","testExecuteIntentWithPermitExpired()":"bdc1b59c","testExecuteIntentWithPermitInvalidSignature()":"51a82aa0","testExecuteIntentWithPermit_permit_frontrun()":"572a59b9","testFeeCollectorReceivesFees()":"cde7e487","testFeeCollectorReceivesFeesWithoutPermit()":"69ad3c6a","testInfiniteApprovalFlow()":"901dc0e2","testIntentTypehashConstant()":"55544ac0","testInvalidNonceReverts()":"2ce7f6c8","testNonceIncrementsOnDeposit()":"804b1836","testPermitAmountExcessiveWithFee()":"ef45a94b","testPermitAmountInsufficientWithFee()":"3532ecd5","testVersionConstant()":"ccf56346","token()":"fc0c546a","user()":"4f8632ba","userPrivateKey()":"8cb2b6bf"}}}},"test/TrailsRouter.t.sol":{"AlwaysFailingMulticall3":{"abi":[{"type":"function","name":"aggregate3","inputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"AlwaysFailingMulticall3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346015576101ef908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146100e057506382ad56cb14610032575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc5760043567ffffffffffffffff81116100dc5761007c903690600401610188565b505060646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc576004359067ffffffffffffffff82116100dc5761012d6064923690600401610188565b50507f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b9181601f840112156100dc5782359167ffffffffffffffff83116100dc576020808501948460051b0101116100dc5756fea26469706673582212204d26cfde5cf533afcf5b242bdb62c0cf77307a2a708acad8504413957621ea4564736f6c634300081e0033","sourceMap":"2049:305:64:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146100e057506382ad56cb14610032575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc5760043567ffffffffffffffff81116100dc5761007c903690600401610188565b505060646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc576004359067ffffffffffffffff82116100dc5761012d6064923690600401610188565b50507f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b9181601f840112156100dc5782359167ffffffffffffffff83116100dc576020808501948460051b0101116100dc5756fea26469706673582212204d26cfde5cf533afcf5b242bdb62c0cf77307a2a708acad8504413957621ea4564736f6c634300081e0033","sourceMap":"2049:305:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;2305:40;2049:305;2305:40;;;2049:305;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2305:40;2049:305;;2305:40;;;2049:305;;2305:40;;2049:305;;;;;;;;;;;2305:40;2049:305;;;;;;;;;;;;;;;;;;;;;2305:40;2049:305;;;;;;:::i;:::-;2305:40;;;;;2049:305;;2305:40;;2049:305;;;;;;;;;;;2305:40;2049:305;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71"}}},"FailingToken":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"setShouldFail","inputs":[{"name":"_shouldFail","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shouldFail","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_shouldFail\",\"type\":\"bool\"}],\"name\":\"setShouldFail\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shouldFail\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"FailingToken\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60806040523461032457604080519081016001600160401b03811182821017610237576040908152600d82526c2330b4b634b733902a37b5b2b760991b602083015280519081016001600160401b038111828210176102375760405260048152631190525360e21b602082015281516001600160401b03811161023757600354600181811c9116801561031a575b602082101461021957601f81116102b7575b50602092601f821160011461025657928192935f9261024b575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161023757600454600181811c9116801561022d575b602082101461021957601f81116101b6575b50602091601f8211600114610156579181925f9261014b575b50508160011b915f199060031b1c1916176004555b601260ff196005541617600555604051610b5c90816103298239f35b015190505f8061011a565b601f1982169260045f52805f20915f5b85811061019e57508360019510610186575b505050811b0160045561012f565b01515f1960f88460031b161c191690555f8080610178565b91926020600181928685015181550194019201610166565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061020f575b601f0160051c01905b8181106102045750610101565b5f81556001016101f7565b90915081906101ee565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b9565b601f1982169360035f52805f20915f5b86811061029f5750836001959610610287575b505050811b016003556100ce565b01515f1960f88460031b161c191690555f8080610279565b91926020600181928685015181550194019201610266565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610310575b601f0160051c01905b818110610305575061009f565b5f81556001016102f8565b90915081906102ef565b90607f169061008d565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461075d57508063095ea7b31461065857806318160ddd1461061d57806323b872dd146105c6578063313ce5671461058857806340c10f1914610489578063678d22041461044657806370a08231146103e457806395d89b41146101f1578063a5aa5c121461017f578063a9059cbb146101305763dd62ed3e146100a0575f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576100d76108d6565b73ffffffffffffffffffffffffffffffffffffffff6100f46108f9565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761017461016a6108d6565b6024359033610a30565b602060405160018152f35b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760043580151580910361012c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006005549260081b169116176005555f80f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576040515f600454908160011c600183169283156103da575b6020821084146103ad57818552849390811561034d57506001146102d3575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061033157505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b60209193508060019154838588010152019101909183926102fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610256565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610237565b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5773ffffffffffffffffffffffffffffffffffffffff6104306108d6565b165f525f602052602060405f2054604051908152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055460081c166040519015158152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576104c06108d6565b73ffffffffffffffffffffffffffffffffffffffff16602435811561055c576002549080820180921161052f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055416604051908152f35b3461012c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760206106136106026108d6565b61060a6108f9565b6044359161091c565b6040519015158152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576020600254604051908152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761068f6108d6565b6024359033156107315773ffffffffffffffffffffffffffffffffffffffff1690811561070557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c575f600354908160011c60018316928315610884575b6020821084146103ad57818552849390811561034d575060011461080a575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061086857505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b6020919350806001915483858801015201910190918392610834565b90607f16906107a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b919060ff60055460081c16610a295773ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106109a8575b506109a39350610a30565b600190565b8381106109f5578415610731573315610705576109a3945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390555f610998565b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b5050505f90565b73ffffffffffffffffffffffffffffffffffffffff16908115610afa5773ffffffffffffffffffffffffffffffffffffffff1691821561055c57815f525f60205260405f2054818110610ac857817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220d7f1f600d0f138887292c901e64abf40dd2e578eb54d0d61232b738a9f4d9e8564736f6c634300081e0033","sourceMap":"1339:447:64:-:0;;;;;;;;;;;;-1:-1:-1;;;;;1339:447:64;;;;;;;;;;;;;;;-1:-1:-1;;;1339:447:64;;;;;;;;;-1:-1:-1;;;;;1339:447:64;;;;;;;;;;;;;-1:-1:-1;;;1339:447:64;;;;;;-1:-1:-1;;;;;1339:447:64;;;;1648:13:28;1339:447:64;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;1648:13:28;1339:447:64;;;;;1648:13:28;1339:447:64;;;;-1:-1:-1;;;;;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;1648:13:28;1339:447:64;;;;;;;;1458:2;1339:447;;473:21:68;1339:447:64;;;473:21:68;1339:447:64;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;1648:13:28;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;1648:13:28;1339:447:64;;;;;;;;;;1648:13:28;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461075d57508063095ea7b31461065857806318160ddd1461061d57806323b872dd146105c6578063313ce5671461058857806340c10f1914610489578063678d22041461044657806370a08231146103e457806395d89b41146101f1578063a5aa5c121461017f578063a9059cbb146101305763dd62ed3e146100a0575f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576100d76108d6565b73ffffffffffffffffffffffffffffffffffffffff6100f46108f9565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761017461016a6108d6565b6024359033610a30565b602060405160018152f35b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760043580151580910361012c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006005549260081b169116176005555f80f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576040515f600454908160011c600183169283156103da575b6020821084146103ad57818552849390811561034d57506001146102d3575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061033157505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b60209193508060019154838588010152019101909183926102fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610256565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610237565b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5773ffffffffffffffffffffffffffffffffffffffff6104306108d6565b165f525f602052602060405f2054604051908152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055460081c166040519015158152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576104c06108d6565b73ffffffffffffffffffffffffffffffffffffffff16602435811561055c576002549080820180921161052f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055416604051908152f35b3461012c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760206106136106026108d6565b61060a6108f9565b6044359161091c565b6040519015158152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576020600254604051908152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761068f6108d6565b6024359033156107315773ffffffffffffffffffffffffffffffffffffffff1690811561070557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c575f600354908160011c60018316928315610884575b6020821084146103ad57818552849390811561034d575060011461080a575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061086857505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b6020919350806001915483858801015201910190918392610834565b90607f16906107a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b919060ff60055460081c16610a295773ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106109a8575b506109a39350610a30565b600190565b8381106109f5578415610731573315610705576109a3945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390555f610998565b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b5050505f90565b73ffffffffffffffffffffffffffffffffffffffff16908115610afa5773ffffffffffffffffffffffffffffffffffffffff1691821561055c57815f525f60205260405f2054818110610ac857817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220d7f1f600d0f138887292c901e64abf40dd2e578eb54d0d61232b738a9f4d9e8564736f6c634300081e0033","sourceMap":"1339:447:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3561:11:28;1339:447:64;;;;;;3561:27:28;1339:447:64;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;3388:5:28;1339:447:64;;:::i;:::-;;;735:10:35;;3388:5:28;:::i;:::-;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1530:24;1339:447;;;;;;;;1530:24;1339:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;-1:-1:-1;;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:22;1339:447;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;7432:21:28;;7428:91;;6137:21;1339:447:64;;;;;;;;;;;6987:25:28;1339:447:64;;;6137:21:28;1339:447:64;;;;;;;;;;;;;;;;;;;;;6987:25:28;1339:447:64;;;;;;;;;;;7428:91:28;7476:32;1339:447:64;7476:32:28;1339:447:64;;;;;7476:32:28;1339:447:64;;;;;;;;;;;;;581:9:68;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2881:12:28;1339:447:64;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;735:10:35;;9719:19:28;9715:89;;1339:447:64;;9817:21:28;;;9813:90;;735:10:35;1339:447:64;;;;;;;;;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;9991:31:28;1339:447:64;735:10:35;9991:31:28;;1339:447:64;;;;;;;9813:90:28;9861:31;1339:447:64;9861:31:28;1339:447:64;;;;;9861:31:28;9715:89;9761:32;1339:447:64;9761:32:28;1339:447:64;;;;;9761:32:28;1339:447:64;;;;;;;;;;;;1837:5:28;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:28;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;-1:-1:-1;;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;1567:217::-;;;1339:447;1676:10;1339:447;;;;1672:53;;1339:447;;;;;;;3561:11:28;1339:447:64;;;;;;735:10:35;1339:447:64;-1:-1:-1;1339:447:64;;;;-1:-1:-1;1339:447:64;;10505:17:28;10486:36;;10482:309;;1567:217:64;4890:5:28;;;;;:::i;:::-;3561:11;1567:217:64;:::o;10482:309:28:-;10542:24;;;10538:130;;9719:19;;9715:89;;735:10:35;9817:21:28;9813:90;;4890:5;1339:447:64;;;3561:11:28;1339:447:64;;;;;;735:10:35;1339:447:64;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;10482:309:28;;;10538:130;10593:60;;;1339:447:64;10593:60:28;735:10:35;10593:60:28;1339:447:64;;;;;;;10593:60:28;1672:53:64;1702:12;;;1339:447;1702:12;:::o;5297:300:28:-;1339:447:64;;5380:18:28;;;5376:86;;1339:447:64;;5475:16:28;;;5471:86;;1339:447:64;5396:1:28;1339:447:64;5396:1:28;1339:447:64;;;5396:1:28;1339:447:64;;6244:19:28;;;6240:115;;1339:447:64;6987:25:28;1339:447:64;;;;5396:1:28;1339:447:64;5396:1:28;1339:447:64;;;;5396:1:28;1339:447:64;;;5396:1:28;1339:447:64;5396:1:28;1339:447:64;;;5396:1:28;1339:447:64;;;;;;;;;;;;6987:25:28;5297:300::o;6240:115::-;6290:50;;5396:1;6290:50;;1339:447:64;;;;;;5396:1:28;6290:50;5376:86;5421:30;5396:1;5421:30;5396:1;5421:30;1339:447:64;;5396:1:28;5421:30","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","setShouldFail(bool)":"a5aa5c12","shouldFail()":"678d2204","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}},"MockTarget":{"abi":[{"type":"constructor","inputs":[{"name":"_token","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deposit","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setShouldRevert","inputs":[{"name":"_shouldRevert","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shouldRevert","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_shouldRevert\",\"type\":\"bool\"}],\"name\":\"setShouldRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shouldRevert\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"MockTarget\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608034607f57601f6104a038819003918201601f19168301916001600160401b03831184841017608357808492602094604052833981010312607f57516001600160a01b0381168103607f5760018054610100600160a81b03191660089290921b610100600160a81b031691909117905560405161040890816100988239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081636813d787146103655781636e553f651461012557508063829a86d9146100eb578063d3072d82146100ab5763fc0c546a14610053575f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602073ffffffffffffffffffffffffffffffffffffffff60015460081c16604051908152f35b5f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602060ff600154166040519015158152f35b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a75760205f54604051908152f35b346100a75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004359060243573ffffffffffffffffffffffffffffffffffffffff8116036100a7576001549060ff8216610309575073ffffffffffffffffffffffffffffffffffffffff90825f5560081c1690816101a957005b5f91606460209260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845233600485015230602485015260448401525af19081156102fe575f91610262575b501561020457005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433230207472616e7366657246726f6d206661696c6564000000000000006044820152fd5b905060203d6020116102f7575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff8211176102ca576020918391604052810103126100a7575180151581036100a757816101fc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b503d61026f565b6040513d5f823e3d90fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fd5b346100a75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004358015158091036100a75760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600154169116176001555f80f3fea2646970667358221220743a172d6fb225dce39c03b6fc94b2006c3c5313ca5971aef4fd0a39b136f4e464736f6c634300081e0033","sourceMap":"2356:645:64:-:0;;;;;;;;;;;;;-1:-1:-1;;2356:645:64;;;;-1:-1:-1;;;;;2356:645:64;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2356:645:64;;;;;;2510:25;2356:645;;-1:-1:-1;;;;;;2356:645:64;;;;;;-1:-1:-1;;;;;2356:645:64;;;;;;;;;;;;;;;;;-1:-1:-1;2356:645:64;;;;;;-1:-1:-1;2356:645:64;;;;;-1:-1:-1;2356:645:64","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c9081636813d787146103655781636e553f651461012557508063829a86d9146100eb578063d3072d82146100ab5763fc0c546a14610053575f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602073ffffffffffffffffffffffffffffffffffffffff60015460081c16604051908152f35b5f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602060ff600154166040519015158152f35b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a75760205f54604051908152f35b346100a75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004359060243573ffffffffffffffffffffffffffffffffffffffff8116036100a7576001549060ff8216610309575073ffffffffffffffffffffffffffffffffffffffff90825f5560081c1690816101a957005b5f91606460209260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845233600485015230602485015260448401525af19081156102fe575f91610262575b501561020457005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433230207472616e7366657246726f6d206661696c6564000000000000006044820152fd5b905060203d6020116102f7575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff8211176102ca576020918391604052810103126100a7575180151581036100a757816101fc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b503d61026f565b6040513d5f823e3d90fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fd5b346100a75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004358015158091036100a75760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600154169116176001555f80f3fea2646970667358221220743a172d6fb225dce39c03b6fc94b2006c3c5313ca5971aef4fd0a39b136f4e464736f6c634300081e0033","sourceMap":"2356:645:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2443:22;2356:645;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:24;2356:645;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2761:43;;2356:645;;;;;;;;;2847:28;;2843:150;;2356:645;2843:150;2356:645;;2899:53;2356:645;;;;2899:53;;;;;2356:645;2899:53;;2918:10;2356:645;2899:53;;2356:645;2938:4;2356:645;;;;;;;;2899:53;;;;;;;2356:645;2899:53;;;2843:150;2356:645;;;;;;2899:53;2356:645;;;;;;;;;;;;;;;;;;;;;2899:53;;;2356:645;2899:53;2356:645;2899:53;;;;2356:645;;;;;;;;;;;;;;;;;;;;;;2899:53;;2356:645;;;;;;;;;;;;2899:53;;;2356:645;;;;;;;;;;2899:53;;;;;;2356:645;;;;;;;;;2761:43;2779:25;;;;;2356:645;;2779:25;;2356:645;;;;;;;;;;;2779:25;2356:645;;;;;;;;;;;;;;;;;;;;;;;2612:28;2356:645;;;;;2612:28;2356:645;;;","linkReferences":{}},"methodIdentifiers":{"deposit(uint256,address)":"6e553f65","lastAmount()":"829a86d9","setShouldRevert(bool)":"6813d787","shouldRevert()":"d3072d82","token()":"fc0c546a"}}},"MockTargetETH":{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"depositEth","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"lastAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"receivedEth","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setShouldRevert","inputs":[{"name":"_shouldRevert","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shouldRevert","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"depositEth\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receivedEth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_shouldRevert\",\"type\":\"bool\"}],\"name\":\"setShouldRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shouldRevert\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"MockTargetETH\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234601557610275908161001a8239f35b5f80fdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816346f6b4e114610185575080636813d78714610118578063829a86d9146100de578063d3072d821461009e5763f5632ab41461005f575f61000f565b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a576020600154604051908152f35b5f80fd5b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a57602060ff600254166040519015158152f35b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760205f54604051908152f35b3461009a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760043580151580910361009a5760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254169116176002555f80f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760243573ffffffffffffffffffffffffffffffffffffffff81160361009a5760ff600254166101e3576004355f5534600155005b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fdfea264697066735822122042cb4c7788d7f1fd3d3695bef8c3a2fd1390f82e50a41ddf02c4e8b37123a46264736f6c634300081e0033","sourceMap":"3003:504:64:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816346f6b4e114610185575080636813d78714610118578063829a86d9146100de578063d3072d821461009e5763f5632ab41461005f575f61000f565b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a576020600154604051908152f35b5f80fd5b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a57602060ff600254166040519015158152f35b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760205f54604051908152f35b3461009a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760043580151580910361009a5760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254169116176002555f80f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760243573ffffffffffffffffffffffffffffffffffffffff81160361009a5760ff600254166101e3576004355f5534600155005b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fdfea264697066735822122042cb4c7788d7f1fd3d3695bef8c3a2fd1390f82e50a41ddf02c4e8b37123a46264736f6c634300081e0033","sourceMap":"3003:504:64:-:0;;;;;;;;;;-1:-1:-1;3003:504:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3063:26;3003:504;;;;;;;;;;;;;;;;;;;;;;;;3095:24;3003:504;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3190:28;3003:504;;;;;3190:28;3003:504;;;;;;;;;;;;;;;;;;;;;3362:12;3003:504;;3358:43;;3003:504;;;;3454:9;3003:504;;;3358:43;3376:25;;;;;3003:504;;3376:25;;3003:504;;;;;;;;;;;3376:25","linkReferences":{}},"methodIdentifiers":{"depositEth(uint256,address)":"46f6b4e1","lastAmount()":"829a86d9","receivedEth()":"f5632ab4","setShouldRevert(bool)":"6813d787","shouldRevert()":"d3072d82"}}},"MockWallet":{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"delegateCallBalanceInjector","inputs":[{"name":"router","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"router","type":"address","internalType":"address"},{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"startingGas","type":"uint256","internalType":"uint256"},{"name":"callIndex","type":"uint256","internalType":"uint256"},{"name":"numCalls","type":"uint256","internalType":"uint256"},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"innerCallData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"delegateCallBalanceInjector\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"innerCallData\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"MockWallet\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460155761043e908161001a8239f35b5f80fdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80631827c8ae1461017d576344c3b4270361000e5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017957610066610269565b60243573ffffffffffffffffffffffffffffffffffffffff8116809103610179576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610179576064359167ffffffffffffffff8311610179575f936101596100d086953690600401610334565b9161011d60405193849260208401967f5b5e65160000000000000000000000000000000000000000000000000000000088526024850152604484015260a0606484015260c483019061037a565b608435608483015260a43560a4830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b51915af46101656103d9565b90610175604051928392836103bd565b0390f35b5f80fd5b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610179576101af610269565b60c43567ffffffffffffffff8111610179575f916101d283923690600401610334565b6040516101598161023d60208201947f4c4e814c000000000000000000000000000000000000000000000000000000008652602435602484015260443560448401526064356064840152608435608484015260a43560a484015260c060c484015260e483019061037a565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017957565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cd57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116102cd57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101795780359061034b826102fa565b92610359604051948561028c565b8284526020838301011161017957815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6040906103d6939215158152816020820152019061037a565b90565b3d15610403573d906103ea826102fa565b916103f8604051938461028c565b82523d5f602084013e565b60609056fea26469706673582212208f8cd33435e9ba924d0905f84e9acaebbe71d9215aac9cc72e2c9b7ffe3106c364736f6c634300081e0033","sourceMap":"3509:1195:64:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80631827c8ae1461017d576344c3b4270361000e5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017957610066610269565b60243573ffffffffffffffffffffffffffffffffffffffff8116809103610179576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610179576064359167ffffffffffffffff8311610179575f936101596100d086953690600401610334565b9161011d60405193849260208401967f5b5e65160000000000000000000000000000000000000000000000000000000088526024850152604484015260a0606484015260c483019061037a565b608435608483015260a43560a4830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b51915af46101656103d9565b90610175604051928392836103bd565b0390f35b5f80fd5b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610179576101af610269565b60c43567ffffffffffffffff8111610179575f916101d283923690600401610334565b6040516101598161023d60208201947f4c4e814c000000000000000000000000000000000000000000000000000000008652602435602484015260443560448401526064356064840152608435608484015260a43560a484015260c060c484015260e483019061037a565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017957565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cd57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116102cd57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101795780359061034b826102fa565b92610359604051948561028c565b8284526020838301011161017957815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6040906103d6939215158152816020820152019061037a565b90565b3d15610403573d906103ea826102fa565b916103f8604051938461028c565b82523d5f602084013e565b60609056fea26469706673582212208f8cd33435e9ba924d0905f84e9acaebbe71d9215aac9cc72e2c9b7ffe3106c364736f6c634300081e0033","sourceMap":"3509:1195:64:-:0;;;;;;;;;-1:-1:-1;3509:1195:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3830:153;3509:1195;;;;;;;;:::i;:::-;;;;;3830:153;;;3509:1195;3830:153;;;;;;3509:1195;3830:153;;3509:1195;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3830:153;;;;;;;;:::i;:::-;4000:25;;;;;;:::i;:::-;3509:1195;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;4360:258;;3509:1195;;4360:258;;;;;;3509:1195;;;4360:258;;3509:1195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4360:258;;;;;;;;:::i;3509:1195::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;3509:1195:64;;;;;-1:-1:-1;3509:1195:64;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3509:1195:64;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3509:1195:64;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;3509:1195:64;;;;:::o;:::-;;;:::o","linkReferences":{}},"methodIdentifiers":{"delegateCallBalanceInjector(address,address,address,bytes,uint256,bytes32)":"44c3b427","handleSequenceDelegateCall(address,bytes32,uint256,uint256,uint256,uint256,bytes)":"1827c8ae"}}},"RevertingReceiver":{"abi":[{"type":"receive","stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"RevertingReceiver\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460135760c5908160188239f35b5f80fdfe6080806040523615600e575f80fd5b807f08c379a00000000000000000000000000000000000000000000000000000000060849252602060048201526024808201527f526576657274696e6752656365697665723a20726576657274206f6e2072656360448201527f65697665000000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ca498d30cad9a909a47a4edbbee81be87963eac164101dcb5079346e9be9b95c64736f6c634300081e0033","sourceMap":"1854:125:64:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040523615600e575f80fd5b807f08c379a00000000000000000000000000000000000000000000000000000000060849252602060048201526024808201527f526576657274696e6752656365697665723a20726576657274206f6e2072656360448201527f65697665000000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ca498d30cad9a909a47a4edbbee81be87963eac164101dcb5079346e9be9b95c64736f6c634300081e0033","sourceMap":"1854:125:64:-:0;;;;;;;;;;;;1924:46;;;;;1854:125;1924:46;;;1854:125;;;;;;;;;;;;;;;;1924:46","linkReferences":{}}}},"TrailsRouterTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"holder","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testDelegateCallWithETH","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecute_WithFailingMulticall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testHandleSequenceDelegateCall_InjectAndCall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testHandleSequenceDelegateCall_RefundAndSweep","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testHandleSequenceDelegateCall_Sweep","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testHandleSequenceDelegateCall_ValidateOpHashAndSweep","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testIncorrectValueValidation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectAndCall_NoReplacementNeeded","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectAndCall_WithReplacement","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectAndCall_WithTokenZeroBalance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectAndCall_WithZeroBalance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithETH_TargetCallFails","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithETH_ZeroBalance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithToken_IncorrectValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithToken_TargetCallFails","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithToken_ZeroBalance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testNativeTransferFailure","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRefundAndSweep_FullRefund","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRefundAndSweep_PartialRefundERC20","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRefundAndSweep_ZeroRefundAmount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevertWhen_injectAndCall_NoValueAvailable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevertWhen_injectAndCall_UnexpectedValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevertWhen_injectSweepAndCall_InsufficientAllowance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevertWhen_injectSweepAndCall_NoValueAvailable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSweepAndCallETH","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testValidateOpHashAndSweep_WithoutSentinel","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_Execute_FromContract_ShouldPreserveContractAsSender","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_Execute_FromEOA_ShouldPreserveEOAAsSender","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_Execute_WithMultipleCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_Multicall3Address_IsCorrect","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"test_ReceiveETH_ShouldAcceptETH","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_allCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_firstOfMultipleCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_lastOfMultipleCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_middleOfMultipleCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_singleCall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_execute_withETH_allowFailure_true","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_pullAmountAndExecute_InsufficientAllowance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_pullAndExecute_InsufficientAllowance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_pullAndExecute_allowFailure_true","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_amount_offset_out_of_bounds","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_direct_sweep_reverts_not_delegatecall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_dispatches_to_sweep_native","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_invalid_selector_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_native_transfer_failed","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_no_tokens_to_pull","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_no_tokens_to_sweep","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_placeholder_mismatch","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithETH_IncorrectValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithETH_ShouldTransferAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithToken_IncorrectValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithToken_ShouldTransferAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithValidToken_ShouldTransferAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithETH_NoEthSent","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithETH_ShouldTransferAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithFailingMulticall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithToken_IncorrectValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithValidToken_ShouldTransferFullBalanceAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_refundAndSweep_erc20_partialRefund","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_refundAndSweep_native_partialRefund","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_success_sentinel_not_set","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_sweep_erc20Token","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_sweep_nativeToken","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_validateOpHashAndSweep_native_success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_validateOpHashAndSweep_native_success_tstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ActualRefund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"expected","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actual","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BalanceInjectorCall","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"placeholder","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amountReplaced","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOffset","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"result","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Refund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RefundAndSweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"refundRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"refundAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sweepRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"actualRefund","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"remaining","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Sweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"ActualRefund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReplaced\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"BalanceInjectorCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"refundRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sweepRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualRefund\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"name\":\"RefundAndSweep\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Sweep\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"holder\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDelegateCallWithETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecute_WithFailingMulticall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHandleSequenceDelegateCall_InjectAndCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHandleSequenceDelegateCall_RefundAndSweep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHandleSequenceDelegateCall_Sweep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHandleSequenceDelegateCall_ValidateOpHashAndSweep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testIncorrectValueValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectAndCall_NoReplacementNeeded\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectAndCall_WithReplacement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectAndCall_WithTokenZeroBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectAndCall_WithZeroBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithETH_TargetCallFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithETH_ZeroBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithToken_IncorrectValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithToken_TargetCallFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithToken_ZeroBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testNativeTransferFailure\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRefundAndSweep_FullRefund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRefundAndSweep_PartialRefundERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRefundAndSweep_ZeroRefundAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevertWhen_injectAndCall_NoValueAvailable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevertWhen_injectAndCall_UnexpectedValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevertWhen_injectSweepAndCall_InsufficientAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevertWhen_injectSweepAndCall_NoValueAvailable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSweepAndCallETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testValidateOpHashAndSweep_WithoutSentinel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Execute_FromContract_ShouldPreserveContractAsSender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Execute_FromEOA_ShouldPreserveEOAAsSender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Execute_WithMultipleCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Multicall3Address_IsCorrect\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_ReceiveETH_ShouldAcceptETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_allCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_firstOfMultipleCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_lastOfMultipleCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_middleOfMultipleCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_singleCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_execute_withETH_allowFailure_true\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_pullAmountAndExecute_InsufficientAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_pullAndExecute_InsufficientAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_pullAndExecute_allowFailure_true\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_amount_offset_out_of_bounds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_direct_sweep_reverts_not_delegatecall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_dispatches_to_sweep_native\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_invalid_selector_reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_native_transfer_failed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_no_tokens_to_pull\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_no_tokens_to_sweep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_placeholder_mismatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithETH_IncorrectValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithETH_ShouldTransferAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithToken_IncorrectValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithToken_ShouldTransferAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithValidToken_ShouldTransferAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithETH_NoEthSent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithETH_ShouldTransferAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithFailingMulticall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithToken_IncorrectValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithValidToken_ShouldTransferFullBalanceAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_refundAndSweep_erc20_partialRefund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_refundAndSweep_native_partialRefund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_success_sentinel_not_set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_sweep_erc20Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_sweep_nativeToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_validateOpHashAndSweep_native_success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_validateOpHashAndSweep_native_success_tstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"test_RevertWhen_allowFailure_true_allCalls()\":{\"details\":\"Verifies that validation catches the first allowFailure=true at index 0\"},\"test_RevertWhen_allowFailure_true_firstOfMultipleCalls()\":{\"details\":\"Verifies that validation catches allowFailure=true at index 0\"},\"test_RevertWhen_allowFailure_true_lastOfMultipleCalls()\":{\"details\":\"Verifies that validation catches allowFailure=true at index 2\"},\"test_RevertWhen_allowFailure_true_middleOfMultipleCalls()\":{\"details\":\"Verifies that validation catches allowFailure=true at index 1\"},\"test_RevertWhen_allowFailure_true_singleCall()\":{\"details\":\"Validates the fix for SEQ-3 - preventing silent execution failures\"},\"test_RevertWhen_execute_withETH_allowFailure_true()\":{\"details\":\"Ensures the validation applies to all execution paths\"},\"test_RevertWhen_pullAndExecute_allowFailure_true()\":{\"details\":\"Ensures the validation applies to pullAndExecute as well\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"test_RevertWhen_allowFailure_true_allCalls()\":{\"notice\":\"Test that pullAmountAndExecute reverts when all calls have allowFailure=true\"},\"test_RevertWhen_allowFailure_true_firstOfMultipleCalls()\":{\"notice\":\"Test that pullAmountAndExecute reverts when allowFailure is true in the first of multiple calls\"},\"test_RevertWhen_allowFailure_true_lastOfMultipleCalls()\":{\"notice\":\"Test that pullAmountAndExecute reverts when allowFailure is true in the last of multiple calls\"},\"test_RevertWhen_allowFailure_true_middleOfMultipleCalls()\":{\"notice\":\"Test that pullAmountAndExecute reverts when allowFailure is true in the middle of multiple calls\"},\"test_RevertWhen_allowFailure_true_singleCall()\":{\"notice\":\"Test that pullAmountAndExecute reverts when allowFailure is true for a single call\"},\"test_RevertWhen_execute_withETH_allowFailure_true()\":{\"notice\":\"Test that execute with ETH validates allowFailure flag\"},\"test_RevertWhen_pullAndExecute_allowFailure_true()\":{\"notice\":\"Test that pullAndExecute also validates allowFailure flag\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"TrailsRouterTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523461017d57600160ff19600c541617600c55600160ff19601f541617601f556040810181811060018060401b038211176101c3576040526004815260208101633ab9b2b960e11b81526040516020810190600483835e5f6024820152600481526100706024826101d7565b5190206040519063ffa1864960e01b82526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610172575f91610181575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561017d575f906064604051809481936318caf8e360e31b835260018060a01b031696876004840152604060248401525180918160448501528484015e8181018301859052601f01601f1916810103018183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561017257610162575b50602680546001600160a01b0319169190911790556040516201743d9081620001fb8239f35b5f61016c916101d7565b5f61013c565b6040513d5f823e3d90fd5b5f80fd5b90506020813d6020116101bb575b8161019c602093836101d7565b8101031261017d57516001600160a01b038116810361017d575f6100b1565b3d915061018f565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176101c35760405256fe6080604052600436101562000012575f80fd5b5f3560e01c806302b69a3714620005c057806304731fb914620005ba57806304cb302414620005b45780630604a0cb14620005ae5780630865907314620005a85780630a9254e414620005a257806313f8beab146200059c5780631535e0ce146200059657806317adc5c414620005905780631857a380146200058a5780631ed7831c14620005845780632091fcb0146200057e57806323e58c8f146200057857806328c7572114620005725780632ade3880146200056c5780632b463e8e14620005665780632d13f423146200056057806330410d2a146200055a578063374d67c3146200055457806337688a55146200054e578063383a925914620005485780633a0beca914620005425780633e1637cf146200053c5780633e5e3c2314620005365780633f7286f4146200053057806341fe9ff4146200052a57806346798b95146200052457806346ee204d146200051e57806350486ba7146200051857806350bbb7a1146200051257806353485062146200050c5780635415a4b014620005065780635457e5bb14620005005780636349dbdb14620004fa57806366d003ac14620004f457806366d9a9a014620004ee5780636dda3c0514620004e85780636ddcc7c514620004e257806373fda24c14620004dc57806375f50bfe14620004d65780637ab42cd314620004d05780637b936a8414620004ca5780637fc4fcce14620004c457806385226c8114620004be578063870d769314620004b8578063879c640314620004525780638c4978ed14620004b2578063904745ef14620004ac578063916a17c614620004a6578063924f1c3214620004a0578063a3b85699146200049a578063a4cacf381462000494578063a4f48230146200048e578063a92b31ce1462000488578063ad2b6d461462000482578063aebb1844146200047c578063b0464fdc1462000476578063b07e16371462000470578063b3a1bcc3146200046a578063b5508aa91462000464578063ba414fa6146200045e578063bcb512781462000458578063bdb9d9801462000452578063bf627174146200044c578063c38159451462000446578063ce6a24721462000440578063d372fdb4146200043a578063d7bf14101462000434578063dc41cc0d146200042e578063e20c9f711462000428578063e534155d1462000422578063e702a118146200041c578063e78db6201462000416578063ed90149e1462000410578063ee40d604146200040a578063ee6afeda1462000404578063f0ce406414620003fe578063f1b7f01f14620003f8578063f7aa752d14620003f2578063f7ccd7e414620003ec5763fa7626d414620003e6575f80fd5b6200ecaf565b6200ea73565b6200e730565b6200e4a8565b6200e0c2565b6200debb565b6200d9df565b6200d806565b6200d6bc565b6200d3a4565b6200d351565b6200d2a2565b6200d14b565b6200cc68565b6200ca38565b6200c7f6565b6200c677565b6200c328565b6200999e565b6200bfda565b6200bf94565b6200bedf565b6200bd1f565b6200b822565b6200b73e565b6200afef565b6200accf565b6200aa98565b6200a8fd565b6200a5ad565b6200a3ff565b6200a2f4565b6200a210565b6200a005565b62009dbf565b62009546565b62009491565b62009237565b62008f31565b62008b28565b62008900565b62008645565b6200848d565b62008010565b62007f39565b62007dec565b62007c24565b62007b19565b62007433565b620071d2565b62006dba565b62006a20565b6200692f565b620063b0565b62006215565b62006166565b620060b7565b62005cca565b62005758565b62005445565b62004f22565b62004c8c565b620048c9565b620045f7565b620043e0565b620042fc565b62003f0a565b62003c79565b62003867565b620037a7565b620033d4565b6200301b565b620029e0565b6200260a565b62001c97565b62001796565b62001066565b62000cb2565b62000a95565b620005d5565b5f910312620005d157565b5f80fd5b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620006426200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482018190529091602090839060249082905afa91821562000a1b575f9262000a58575b506200079d90620007ca620006bc6200ee1f565b620006e06200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200071a6024826200ed75565b62000744620007286200edd2565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b5f602083015260408201526200075a826200efd0565b5262000766816200efd0565b506040519384917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018452836200ed75565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762000a40575b50620008e06200088162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f6044820152606481019390935282608481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200093692604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f9262000a21575b50601f546200098d9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620009b16200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b03925af1801562000a1b57620009fa57005b62000a19903d805f833e62000a1081836200ed75565b8101906200f165565b005b6200edc7565b8062000a328462000a39936200ed75565b80620005c6565b5f62000965565b8062000a325f62000a51936200ed75565b5f62000854565b6200079d91925062000a859060203d60201162000a8d575b62000a7c81836200ed75565b8101906200edb7565b9190620006a8565b503d62000a70565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162000b639162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576200079d9062000b81620006bc6200ee1f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6920aa0f000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b57620009e8935f9362000c94575b5073ffffffffffffffffffffffffffffffffffffffff8362000c5b62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b92604051968795869485937f7a7eeb4f00000000000000000000000000000000000000000000000000000000855216600484016200f2be565b8062000a328562000ca5936200ed75565b5f62000c1c565b6200ecf1565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200104e575b5062000e6b62000e9862000da66200ee1f565b62000dca6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262000e046024826200ed75565b62000e12620007286200edd2565b5f6020830152604082015262000e28826200efd0565b5262000e34816200efd0565b506040519283917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826200ed75565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f9262000fab9262001036575b50601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937fa9baaaf5000000000000000000000000000000000000000000000000000000008352600483016200f2ed565b03925af1801562000a1b576200101a575b62000fef62000fe862000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b316201015f565b62000a196200101360265473ffffffffffffffffffffffffffffffffffffffff1690565b31620101ed565b62001030903d805f833e62000a1081836200ed75565b62000fbc565b8062000a328562001047936200ed75565b5f62000f4c565b8062000a325f6200105f936200ed75565b5f62000d93565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620010ba6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152681043561a88293000006024820152905f908290604490829084905af1801562000a1b576200177e575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620011b460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762001766575b5061030173ffffffffffffffffffffffffffffffffffffffff620012186200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae6040518062001256819068068155a43676e00000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620012c460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200174e575b50620013106200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026809c2007651b2500000917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff604051921691806200136b86829190602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620013d960048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762001736575b50620014256200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026103016040517fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff8516918062001496888291906040606084019368068155a43676e00000815268068155a43676e0000060208201520152565b0390a4620014c1620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4784226e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff929092166004830152610301602483015268068155a43676e00000604483015261030260648301525f908290608490829084905af1801562000a1b576200171e575b506200156b6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b90620015e160206200159260275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015291829081906024820190565b0381865afa801562000a1b5762001601915f91620016fa575b506201015f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526103016004820152602081602481865afa801562000a1b5762001653915f91620016d6575b5062010281565b602060405180937f70a082310000000000000000000000000000000000000000000000000000000082528180620016936004820190610302602083019252565b03915afa801562000a1b5762000a19925f91620016b2575b5062010687565b620016cf915060203d60201162000a8d5762000a7c81836200ed75565b83620016ab565b620016f3915060203d60201162000a8d5762000a7c81836200ed75565b846200164c565b62001717915060203d60201162000a8d5762000a7c81836200ed75565b84620015fa565b8062000a325f6200172f936200ed75565b8162001546565b8062000a325f62001747936200ed75565b8162001400565b8062000a325f6200175f936200ed75565b80620012eb565b8062000a325f62001777936200ed75565b80620011db565b8062000a325f6200178f936200ed75565b8062001148565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620018649162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac5783620018d091849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b57803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762001c7f575b50620019c260206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152683635c9adc5dea00000602482015291829081906044820190565b03815f865af1801562000a1b5762001c4b575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262001a3c816064810162000e6b565b73ffffffffffffffffffffffffffffffffffffffff62001a7962000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b931692803b15620005d15762001ac55f929183926040519485809481937fc5e5153b0000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b03925af1801562000a1b5762001c33575b506040517f829a86d9000000000000000000000000000000000000000000000000000000008152602081600481865afa801562000a1b5762001b21915f9162001bed575b5062010317565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529160208380602481015b0381855afa91821562000a1b5762001b7e60209362001bcf955f9162001c1157506201015f565b60405180809581947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03915afa801562000a1b5762000a19915f9162001bed575062010317565b62001c0a915060203d60201162000a8d5762000a7c81836200ed75565b5f62001b1a565b62001c2c9150853d871162000a8d5762000a7c81836200ed75565b5f620015fa565b8062000a325f62001c44936200ed75565b5f62001ad6565b62001c719060203d60201162001c77575b62001c6881836200ed75565b8101906200f3b4565b620019d5565b503d62001c5c565b8062000a325f62001c90936200ed75565b5f62001935565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040516107c180820182811067ffffffffffffffff82111762000cac578291620120ee833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff62001d1891166200f4e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62001d6e91604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025f2575b506040516122c48082019082821067ffffffffffffffff83111762000cac57829162001dde91620128af843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff0801562000a1b5762001e35907fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f55565b60405160a980820182811067ffffffffffffffff82111762000cac57829162014b73833903905ff0801562000a1b5762001eaa9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055565b604051610e0d8082019180831067ffffffffffffffff84111762000cac578062001f4962010e4194848684399060608252600960608301527f4d6f636b546f6b656e0000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f4d544b000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5762001f9a9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006021541617602155565b604051610e8580820182811067ffffffffffffffff82111762000cac57829162014c1c833903905ff0801562000a1b57620020109073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006022541617602255565b604051610e6080820182811067ffffffffffffffff82111762000cac57829162015aa1833903905ff0801562000a1b57620020869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006023541617602355565b6040519181830183811067ffffffffffffffff82111762000cac5783926200211d9284399060608252600660608301527f53696d706c650000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f534d50000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b57604051906104a09081830183811067ffffffffffffffff82111762000cac5773ffffffffffffffffffffffffffffffffffffffff6200218892859462011c4e86391673ffffffffffffffffffffffffffffffffffffffff16815260200190565b03905ff0801562000a1b57620021d99073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006024541617602455565b60405161028f80820182811067ffffffffffffffff82111762000cac57829162016901833903905ff0801562000a1b576200224f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006025541617602555565b6200228161babe7fffffffffffffffffffffffff00000000000000000000000000000000000000006027541617602755565b620022b260017fffffffffffffffffffffffff00000000000000000000000000000000000000006028541617602855565b60275473ffffffffffffffffffffffffffffffffffffffff16620022fd620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762002356915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025da575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152678ac7230489e8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025c2575b50620024546200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152683635c9adc5dea000006024820152905f908290604490829084905af1801562000a1b57620025aa575b50620025076200062960225473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152683635c9adc5dea000006024820152905f908290818381604481015b03925af1801562000a1b576200259957005b8062000a325f62000a19936200ed75565b8062000a325f620025bb936200ed75565b80620024e2565b8062000a325f620025d3936200ed75565b5f6200242f565b8062000a325f620025eb936200ed75565b5f6200237d565b8062000a325f62002603936200ed75565b5f62001d95565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620029c8575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200275760048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620029b0575b506104025f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab760405180620027bf81906729a2241af62c0000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200282d60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762002998575b506104026104015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea60405180620028a481906729a2241af62c0000604060608401935f81525f60208201520152565b0390a4620028cf620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200292b6004820190610402606060808401935f815261040160208201525f60408201520152565b03925af1801562000a1b5762002980575b6200296462000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62002972610401316201015f565b62000a1961040231620103ad565b8062000a325f62002991936200ed75565b5f6200293c565b8062000a325f620029a9936200ed75565b5f62002854565b8062000a325f620029c1936200ed75565b5f6200277e565b8062000a325f620029d9936200ed75565b5f620026eb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762002a346200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b5762003003575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762002feb575b505f602062002c1a62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b601f5462002bb99060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6040519485809481937f095ea7b300000000000000000000000000000000000000000000000000000000835260048301602068056bc75e2d631000009193929373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801562000a1b5762002fc9575b5062000e6b62002dcf62002c3e6200eea1565b62002c626200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002c9c6024826200ed75565b62002ca66200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262002cd7836200efd0565b5262002ce3826200efd0565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002d1e6024826200ed75565b62002d286200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262002d58836200efe4565b5262002d64826200efe4565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002d9f6024826200ed75565b62002dad620007286200edd2565b5f6020830152604082015262002dc3826200eff5565b5262000e34816200eff5565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f60248201529062002e0e82604481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62002e6492604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762002f16925f9262002fb1575b50601f5462002ebb9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62002edf6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f50b565b03925af1801562000a1b5762002f95575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f90c5013b0000000000000000000000000000000000000000000000000000000081525f8160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200259957005b62002fab903d805f833e62000a1081836200ed75565b62002f27565b8062000a328462002fc2936200ed75565b8362002e93565b62002fe59060203d60201162001c775762001c6881836200ed75565b62002c2b565b8062000a325f62002ffc936200ed75565b8062002b66565b8062000a325f62003014936200ed75565b8062002ac2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620030556200f48f565b60405161020980820182811067ffffffffffffffff82111762000cac57829162016b90833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff16620030a6816200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620030fd92604051809481927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200315592620033bc575b5062003147620031396200f48f565b60208151910120916200f4e1565b602081519101209062010715565b62000e6b6200316762000da66200ee1f565b62000e6b620032136040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152601e60208201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265000060408201520190565b6040519283917fa932c97a000000000000000000000000000000000000000000000000000000006020840152602483016200f0ba565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200326991604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f928392620032f892620033a4575b50601f54620032c19060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937f09c5eabe000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b03925af1801562000a1b5762003388575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200336091604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200259957005b6200339e903d805f833e62000a1081836200ed75565b62003309565b8062000a3285620033b5936200ed75565b5f62003299565b8062000a325f620033cd936200ed75565b5f6200312a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620034286200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200373e575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003726575b505f60206200358662002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762003704575b5062000e6b620036c4620035aa6200eea1565b620035ce6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620036086024826200ed75565b620036126200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262003642836200efd0565b526200364e826200efd0565b506040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620036896024826200ed75565b620036936200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262002d58836200efe4565b6040517fae701fc4000000000000000000000000000000000000000000000000000000006020820152600160248201529062002e0e82604481016200079d565b620037209060203d60201162001c775762001c6881836200ed75565b62003597565b8062000a325f62003737936200ed75565b806200355a565b8062000a325f6200374f936200ed75565b80620034b6565b60206040818301928281528451809452019201905f5b8181106200377a5750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016200376c565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b8181106200383a57620038368562003829818703826200ed75565b6040519182918262003756565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200380e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620038a16200f48f565b60405161020980820182811067ffffffffffffffff82111762000cac57829162016b90833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff620038f291166200f4e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200394891604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003c61575b5062000e6b6200398262000da66200ee1f565b620039a66200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b90813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815230600482015268056bc75e2d631000006024820152915f908390604490829084905af191821562000a1b575f9262003c49575b50602062003abb62003a336200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b601f5462003a5a9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6040519586809481937f095ea7b300000000000000000000000000000000000000000000000000000000835260048301602068056bc75e2d631000009193929373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af191821562000a1b576200079d9262003c27575b5062003b7b6040517f08c379a000000000000000000000000000000000000000000000000000000000602082015262003b458162000e6b6024820160609060208152601e60208201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265000060408201520190565b6040519384917fa932c97a000000000000000000000000000000000000000000000000000000006020840152602483016200f0ba565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62003bd192604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620032f8925f9262000a215750601f546200098d9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62003c439060203d60201162001c775762001c6881836200ed75565b62003ad2565b8062000a328462003c5a936200ed75565b5f62003a08565b8062000a325f62003c72936200ed75565b5f6200396f565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162003d479162010e4184399060608252600460608301527f5a65726f00000000000000000000000000000000000000000000000000000000608083015260a06020830152600460a08301527f5a45524f0000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201525f60448201529062003db782606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003ef2575b50601f5462003e719060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62003e956200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b90803b15620005d15773ffffffffffffffffffffffffffffffffffffffff5f809462002587604051978896879586947fc5e5153b00000000000000000000000000000000000000000000000000000000865216600485016200f3cb565b8062000a325f62003f03936200ed75565b5f62003e49565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262003fa0816064810162000e6b565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004187575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8180602481015b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200416f575b50601f54620041039060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b90620041286200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92836040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62004180936200ed75565b5f620040db565b8062000a325f62004198936200ed75565b5f62004043565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b8282106200421557505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b828110620042b05750505050506020806001929601920192019092919593949562004205565b9091929394602080620042ee837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0876001960301895289516200419f565b97019501939291016200428a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601e546200433a816200ee06565b906200434a60405192836200ed75565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b838310620043915760405180620038368782620041e2565b60026020600192604051620043a6816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff8654168152620043cd8587016200f654565b8382015281520192019201919062004379565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620044346200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b604051906104a08083019183831067ffffffffffffffff84111762000cac578392620044809262011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57620044956200f6b1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4daf251f000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f938493620045df575b5082620045546200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92620045d06200457d6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200f6ee565b51925af15062000a196200f73b565b8062000a3285620045f0936200ed75565b5f6200452e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200468d816064810162000e6b565b620046b16200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f6813d787000000000000000000000000000000000000000000000000000000008252818381620046f860048201906001602083019252565b03925af1801562000a1b57620048b1575b5062000e6b620047806040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152600f60208201527f546172676574207265766572746564000000000000000000000000000000000060408201520190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620047d691604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004899575b50601f54620048259060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906200484a6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92670de0b6b3a76400006040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f620048aa936200ed75565b5f620047fd565b8062000a325f620048c2936200ed75565b5f62004709565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620049979162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362004a0391849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762004c74575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262004b00816064810162000e6b565b73ffffffffffffffffffffffffffffffffffffffff62004b3d620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b931692803b15620005d15762004b895f929183926040519485809481937f5b5e65160000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b03925af1801562000a1b5762004c5c575b50604051917f829a86d9000000000000000000000000000000000000000000000000000000008352602083600481845afa92831562000a1b5762001b579362004beb915f9162001bed575062010317565b602062004c0d60275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015293849081906024820190565b8062000a325f62004c6d936200ed75565b5f62004b9a565b8062000a325f62004c85936200ed75565b5f62004a99565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262004d22816064810162000e6b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004f0a575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8180602481015b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004ef2575b5062004e86620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9062004eab6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92836040518096819582947f5b5e6516000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62004f03936200ed75565b5f62004e5d565b8062000a325f62004f1b936200ed75565b5f62004dc5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200542d575b505f60206200502162002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200540b575b5062000e6b62005110620050456200f76f565b620050696200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620050a36024826200ed75565b620050b1620007286200ede5565b5f60208301525f60408301526060820152620050cd826200efd0565b52620050d9816200efd0565b506040519283917f174dea71000000000000000000000000000000000000000000000000000000006020840152602483016200f7f6565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620053f3575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620053db575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015290620052b382606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200530992604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f92620053c3575b50601f54620053609060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620053846200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b670de0b6b3a76400006040518096819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b8062000a3284620053d4936200ed75565b5f62005338565b8062000a325f620053ec936200ed75565b5f62005265565b8062000a325f62005404936200ed75565b5f620051c1565b620054279060203d60201162001c775762001c6881836200ed75565b62005032565b8062000a325f6200543e936200ed75565b5f62004ff5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620054996200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152670de0b6b3a76400006024820152905f908290604490829084905af1801562000a1b5762005740575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200555d816064810162000e6b565b62000e6b620055f16200558d62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f6044820152670de0b6b3a764000060648201529182906084820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200564791604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005728575b50601f54620056969060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b90620056bb6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b90620056e06200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b92803b15620005d15762002587935f8094604051968795869485937fc5e5153b000000000000000000000000000000000000000000000000000000008552600485016200f3cb565b8062000a325f62005739936200ed75565b5f6200566e565b8062000a325f62005751936200ed75565b5f620054f6565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620057b6620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62010780565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005cb2575b5062000e6b620059666040516020810190620058d28162000e6b84907fdf6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e602060408401937f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e281520152565b519020604051928391602083016044917f7f0000000000000000000000000000000000000000000000000000000000000082526001808301527f7f00000000000000000000000000000000000000000000000000000000000000602183015260228201527f5d0000000000000000000000000000000000000000000000000000000000000060428201525f60438201520190565b62005992620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b90620059b360275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762005a0b915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005c9a575b5062005a7e5f8080808062005a606200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b5af162005a6c6200f73b565b5062005a776200f8b4565b9062010817565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762005aef915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005c82575b5062000e6b62005b9c62005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f60248201819052604482015273ffffffffffffffffffffffffffffffffffffffff90911660648201529182906084820190565b62005bc4620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f8f1565b03925af1801562000a1b5762005c6a575b62005c4262000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62000a19620010136200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a325f62005c7b936200ed75565b8062005c1a565b8062000a325f62005c93936200ed75565b5f62005b16565b8062000a325f62005cab936200ed75565b5f62005a32565b8062000a325f62005cc3936200ed75565b5f62005867565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762005d1e6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200609f575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006087575b505f602062005e7c62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762006065575b5062000e6b6200602562005ea06200eea1565b62005ec46200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262005efe6024826200ed75565b62005f086200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262005f38836200efd0565b5262005f44826200efd0565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262005f7f6024826200ed75565b62005f896200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262005fb9836200efe4565b5262005fc5826200efe4565b506040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620060006024826200ed75565b6200600e620007286200edd2565b60016020830152604082015262002dc3826200eff5565b6040517fae701fc4000000000000000000000000000000000000000000000000000000006020820152600260248201529062002e0e82604481016200079d565b620060819060203d60201162001c775762001c6881836200ed75565b62005e8d565b8062000a325f62006098936200ed75565b8062005e50565b8062000a325f620060b0936200ed75565b8062005dac565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b8181106200613957620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200611e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b818110620061e857620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201620061cd565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200624f6200fa15565b6040517ffbdc73010000000000000000000000000000000000000000000000000000000060208201527fdeadbeef000000000000000000000000000000000000000000000000000000006024820152620062ad816044810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200630391604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006398575b5062006353620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200258788600483016200f942565b8062000a325f620063a9936200ed75565b5f6200632a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762006408620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006917575b507f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fda7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa5800560205262000e6b6200659e60405f20604051928391602083016044917f7f0000000000000000000000000000000000000000000000000000000000000082526001808301527f7f00000000000000000000000000000000000000000000000000000000000000602183015260228201527f5d0000000000000000000000000000000000000000000000000000000000000060428201525f60438201520190565b620065ca620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b90620065eb60275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762006643915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068ff575b50620066985f8080808062005a606200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762006709915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068e7575b5062000e6b6200675962005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620067c460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068cf575b5073ffffffffffffffffffffffffffffffffffffffff6200682160285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200685f8190670de0b6b3a7640000602083019252565b0390a36200688a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f973565b8062000a325f620068e0936200ed75565b5f620067eb565b8062000a325f620068f8936200ed75565b5f62006730565b8062000a325f62006910936200ed75565b5f6200666a565b8062000a325f62006928936200ed75565b5f620064b9565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1575f80620009e862000e6b620069f9620069776200ee1f565b6200699b6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620069d56024826200ed75565b620069e3620007286200edd2565b866020830152604082015262000e28826200efd0565b601f54620032c19060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262006ab6816064810162000e6b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006da2575b5060275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006d8a575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015262006c58816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62006cae91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006d72575b5062006cfe620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9062006d236200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92670de0b6b3a76400006040518096819582947f5b5e6516000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62006d83936200ed75565b5f62006cd5565b8062000a325f62006d9b936200ed75565b5f62006c0b565b8062000a325f62006db3936200ed75565b5f62006b67565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162006e889162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362006ef491849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57813b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183875af1801562000a1b57620071ba575b5062006f8760206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b03815f875af1801562000a1b5762007198575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201526101236044820152916200702a83606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018552846200ed75565b6040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015262007076816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620070cc91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007180575b50601f546200711b9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b803b15620005d15773ffffffffffffffffffffffffffffffffffffffff670de0b6b3a76400005f9462002587604051978896879586947fc5e5153b0000000000000000000000000000000000000000000000000000000086521690600485016200f3cb565b8062000a325f62007191936200ed75565b5f620070f3565b620071b49060203d60201162001c775762001c6881836200ed75565b62006f9a565b8062000a325f620071cb936200ed75565b5f62006f58565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405160dd80820182811067ffffffffffffffff82111762000cac57829162016d99833903905ff0801562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200741b575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ff4b3b1bc0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007403575b506200739e620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff939093166024820152919082908183816044810162002587565b8062000a325f62007414936200ed75565b5f62007375565b8062000a325f6200742c936200ed75565b5f620072e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620074876200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152681043561a88293000006024820152905f908290604490829084905af1801562000a1b5762007b01575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200758160048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ae9575b5061030173ffffffffffffffffffffffffffffffffffffffff620075e56200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf8560405180620076328190681043561a8829300000602060408401936815af1d78b58c40000081520152565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620076a060048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ad1575b5061030173ffffffffffffffffffffffffffffffffffffffff620077046200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae60405180620077428190681043561a8829300000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620077b060048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ab9575b50620077fc6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026103016040517fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff851691806200786c81905f604060608401936815af1d78b58c4000008152681043561a882930000060208201520152565b0390a462007897620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4784226e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015261030160248201526815af1d78b58c40000060448201526103026064820152905f908290608490829084905af1801562000a1b5762007aa1575b50620079406200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6200796660206200159260275473ffffffffffffffffffffffffffffffffffffffff1690565b0381855afa801562000a1b5762007985915f9162007a7d57506201015f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526103016004820152602081602481855afa801562000a1b57620079d7915f9162007a59575b5062010441565b602060405180927f70a08231000000000000000000000000000000000000000000000000000000008252818062007a176004820190610302602083019252565b03915afa801562000a1b5762000a19915f9162007a3557506201015f565b62007a52915060203d60201162000a8d5762000a7c81836200ed75565b82620015fa565b62007a76915060203d60201162000a8d5762000a7c81836200ed75565b83620079d0565b62007a9a915060203d60201162000a8d5762000a7c81836200ed75565b83620015fa565b8062000a325f62007ab2936200ed75565b806200791b565b8062000a325f62007aca936200ed75565b80620077d7565b8062000a325f62007ae2936200ed75565b80620076c7565b8062000a325f62007afa936200ed75565b80620075a8565b8062000a325f62007b12936200ed75565b8062007515565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262007baf816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f81806024810162004e36565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762007c6862007c626200fa52565b62010d01565b5062007c736200ee1f565b62007c976200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262007cd16024826200ed75565b62007cdf620007286200edd2565b5f6020830152604082015262007cf5826200efd0565b5262007d01816200efd0565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762000e6b620069f9620009e8925f95869562007dd457506040519283917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b8062000a328762007de5936200ed75565b5f62000e34565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602073ffffffffffffffffffffffffffffffffffffffff60285416604051908152f35b90602080835192838152019201905f5b81811062007e5d5750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010162007e4f565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062007ec957505050505090565b909192939460208062007f29837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951908362007f1883516040845260408401906200419f565b920151908481840391015262007e3f565b9701930193019193929062007eb9565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601b5462007f77816200ee06565b9062007f8760405192836200ed75565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b83831062007fce576040518062003836878262007e96565b6002602060019260405162007fe3816200ed1e565b62007fee866200f548565b815262007ffd8587016200fa8f565b8382015281520192019201919062007fb6565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620080de9162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac57836200814a91849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b57803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762008475575b50620081de60206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b03815f865af1801562000a1b5762008453575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448083019190915281529173ffffffffffffffffffffffffffffffffffffffff90620082736064856200ed75565b1691823b15620005d1576040517f6813d787000000000000000000000000000000000000000000000000000000008152600160048201525f8160248183885af1801562000a1b576200843b575b5062000e6b620083376040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152600f60208201527f546172676574207265766572746564000000000000000000000000000000000060408201520190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200838d91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762008423575b50601f54620083dc9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b803b15620005d15762002587935f8094604051968795869485937fc5e5153b000000000000000000000000000000000000000000000000000000008552600485016200f3cb565b8062000a325f62008434936200ed75565b5f620083b4565b8062000a325f6200844c936200ed75565b5f620082c0565b6200846f9060203d60201162001c775762001c6881836200ed75565b620081f1565b8062000a325f62008486936200ed75565b5f620081af565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b62008552620084cf6200ee1f565b620084f36200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200852d6024826200ed75565b6200853b620007286200edd2565b60016020830152604082015262000e28826200efd0565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f602482015262008590816044810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620085e691604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f92620009e892620010365750601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620087139162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac57836200877f91849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57604051917f6e553f65000000000000000000000000000000000000000000000000000000006020840152620087d28362006ffd60248201905f60206040840193606481520152565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f9485948592620088e8575b50620045d0620088946200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9462000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200fe4f565b8062000a3284620088f9936200ed75565b5f6200886b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620089546200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b5762008b10575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762008af8575b505f602062008ab262002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762008ad6575b5062000e6b62002dcf620084cf6200ee1f565b62008af29060203d60201162001c775762001c6881836200ed75565b62008ac3565b8062000a325f62008b09936200ed75565b8062008a86565b8062000a325f62008b21936200ed75565b80620089e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162008bf69162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362008c6291849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762008f19575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201529162008d60836064810162006ffd565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828062008dcc60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b5773ffffffffffffffffffffffffffffffffffffffff9262008f01575b50169182827f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d916040518062008e8d8160c0907fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef8152683635c9adc5dea000006020820152600460408201526001606082015260a060808201525f60a08201520190565b0390a362008eb8620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d15762004b895f929183926040519485809481937f5b5e65160000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b8062000a325f62008f12936200ed75565b5f62008e0a565b8062000a325f62008f2a936200ed75565b5f62008cf8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200921f575b5062000e6b620090916200903b60285473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fb8dc491b0000000000000000000000000000000000000000000000000000000060208201525f602482015273ffffffffffffffffffffffffffffffffffffffff90911660448201529182906064820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620090fc60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009207575b5073ffffffffffffffffffffffffffffffffffffffff6200915960285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab760405180620091978190670de0b6b3a7640000602083019252565b0390a3620091c2620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f942565b8062000a325f62009218936200ed75565b5f62009123565b8062000a325f62009230936200ed75565b5f62009012565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200928b6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b620092af6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f43f7ed76000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f938493620093f8575b508262000e6b620045d0620093766200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee12600000000000000000000000000000000000000000000000000000000602082019081527fb30d459a6b00a49186844b25c929ca3bb6dacc26a607cc6fd07c1cd084247c5e602483015273ffffffffffffffffffffffffffffffffffffffff9687166044830152959096166064870152949182906084820190565b8062000a328562009409936200ed75565b5f62009348565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200944357505050505090565b909192939460208062009481837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516200419f565b9701930193019193929062009433565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601a54620094cf816200ee06565b90620094df60405192836200ed75565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831062009526576040518062003836878262009410565b60016020819262009537856200f548565b8152019201920191906200950e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009986575b505f60206200964562002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762009964575b5062000e6b62009669620050456200f76f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200994c575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009934575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a76400006044820152906200980c82606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200986292604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f926200991c575b50601f54620098b99060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620098dd6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b670de0b6b3a76400006040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f314565b8062000a32846200992d936200ed75565b5f62009891565b8062000a325f62009945936200ed75565b5f620097be565b8062000a325f6200995d936200ed75565b5f6200971a565b620099809060203d60201162001c775762001c6881836200ed75565b62009656565b8062000a325f62009997936200ed75565b5f62009619565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009da7575b505f602062009a9d62002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762009d85575b5062000e6b62009ac162000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1690737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762009bf0925f9262009d6d575b50601f5462009b959060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62009bb96200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f314565b03925af1801562000a1b5762009d51575b5062009ca362009c2a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b602062009c5462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015292839081906024820190565b0381845afa90811562000a1b5762009cca60209262001bcf945f9162009d3657506201015f565b60265473ffffffffffffffffffffffffffffffffffffffff165b9060405180809581947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b62001c2c9150843d861162000a8d5762000a7c81836200ed75565b62009d67903d805f833e62000a1081836200ed75565b62009c01565b8062000a328462009d7e936200ed75565b5f62009b6d565b62009da19060203d60201162001c775762001c6881836200ed75565b62009aae565b8062000a325f62009db8936200ed75565b5f62009a71565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762009e136200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b604051906104a08083019183831067ffffffffffffffff84111762000cac57839262009e5f9262011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b576040517f6e553f65000000000000000000000000000000000000000000000000000000006020820152631234567860248201525f60448201529062009eb382606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fcc00c48a000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f93849362009fed575b508262009f716200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92620045d062009f9a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200fe97565b8062000a328562009ffe936200ed75565b5f62009f4b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200a150575b6200a1245f808080670de0b6b3a76400006200a11162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b5af16200a11d6200f73b565b5062010888565b62000a196200101362000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b8062000a325f6200a161936200ed75565b5f6200a0d8565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200a19b57505050505090565b90919293946020806200a200837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff81511684520151918185820152019062007e3f565b970193019301919392906200a18b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601d546200a24e816200ee06565b906200a25e60405192836200ed75565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106200a2a557604051806200383687826200a168565b600260206001926040516200a2ba816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff86541681526200a2e18587016200fa8f565b838201528152019201920191906200a28d565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200a38a816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f818060248101620040b4565b34620005d1575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927fc2add59d0000000000000000000000000000000000000000000000000000000082525afa90811562000a1b575f916200a577575b5073ca11bde05977b3631167028862be2a173976ca1173ffffffffffffffffffffffffffffffffffffffff8216036200a4c3575080f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f515361f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91909116600482015273ca11bde05977b3631167028862be2a173976ca1160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b576200a569575080f35b62000a1991505f906200ed75565b6200a59e915060203d6020116200a5a5575b6200a59581836200ed75565b8101906200fed8565b5f6200a48c565b503d6200a589565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200a6016200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200a8e5575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200a8cd575b505f60206200a75f62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200a8ab575b5062000e6b6200a783620084cf6200ee1f565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f6024820152906200a7c282604481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200a81892604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762002f16925f926200a893575b50601f546200a86f9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620009b16200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a32846200a8a4936200ed75565b836200a847565b6200a8c79060203d60201162001c775762001c6881836200ed75565b6200a770565b8062000a325f6200a8de936200ed75565b806200a733565b8062000a325f6200a8f6936200ed75565b806200a68f565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200a93f62000da66200ee1f565b6040517fb25102da000000000000000000000000000000000000000000000000000000006020820152671bc16d674ec800006024820152670de0b6b3a764000060448201526200a993816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200a9e991604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f92620009e8926200aa80575b50601f546200aa499060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937fa9baaaf5000000000000000000000000000000000000000000000000000000008352600483016200f352565b8062000a32856200aa91936200ed75565b5f6200aa21565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200acb7575b5062000e6b6200ab8c62000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f9262000fab926200ac9f575b50601f546200ac689060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937f7a7eeb4f000000000000000000000000000000000000000000000000000000008352600483016200f2a5565b8062000a32856200acb0936200ed75565b5f6200ac40565b8062000a325f6200acc8936200ed75565b5f6200ab79565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200afd7575b506040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200ae17816064810162000e6b565b6200ae796200ae3f6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b6040519384927f5b5e6516000000000000000000000000000000000000000000000000000000006020850152602484016200f434565b6200aea1620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200aee688600483016200f942565b03925af1801562000a1b576200afbf575b506200af2062000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b600460206200af486200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b6200af548131620101ed565b604051928380927f829a86d90000000000000000000000000000000000000000000000000000000082525afa801562000a1b5762000a19915f916200af9b575b50620101ed565b6200afb8915060203d60201162000a8d5762000a7c81836200ed75565b826200af94565b8062000a325f6200afd0936200ed75565b806200aef7565b8062000a325f6200afe8936200ed75565b5f6200adb0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200b047620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b726575b5060405160208101906200b15b8162000e6b84907f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd81371602060408401937f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e281520152565b5190206200b18a620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60275473ffffffffffffffffffffffffffffffffffffffff1660405160a580820182811067ffffffffffffffff82111762000cac57829162016e76833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff6200b1f391166200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576200b24c915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b70e575b506200b2f75f806200b29e6200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517ff71f7a25000000000000000000000000000000000000000000000000000000006020820190815260248201889052600160448301529083906200b2e9816064810162000e6b565b51925af162005a6c6200f73b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576200b368915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b6f6575b5062000e6b6200b3b862005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200b42360048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b6de575b5073ffffffffffffffffffffffffffffffffffffffff6200b48060285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200b4be8190670de0b6b3a7640000602083019252565b0390a36200b4e9620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576200b5305f929183926040519485809481937f4c4e814c000000000000000000000000000000000000000000000000000000008352600483016200f9c4565b03925af1801562000a1b576200b6c6575b506200b5bf60206200b56860275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101949094529291829081906044820190565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b5762000a1992620006296200b600926200b6a3945f916200b6a957506201015f565b6200b60c81316201015f565b6200b634620010136200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd813716020527f9c7c9f298611b7d8667b6eb576567d73156e4ea63376919907aa1295a2fd9a9e90620109d2565b620104d7565b62001c2c915060203d60201162000a8d5762000a7c81836200ed75565b8062000a325f6200b6d7936200ed75565b5f6200b541565b8062000a325f6200b6ef936200ed75565b5f6200b44a565b8062000a325f6200b707936200ed75565b5f6200b38f565b8062000a325f6200b71f936200ed75565b5f6200b273565b8062000a325f6200b737936200ed75565b5f6200b0f8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601c546200b77c816200ee06565b906200b78c60405192836200ed75565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106200b7d357604051806200383687826200a168565b600260206001926040516200b7e8816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff86541681526200b80f8587016200fa8f565b838201528152019201920191906200b7bb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200b8766200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820181905291602090829060249082905afa90811562000a1b575f916200bcfb575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200ba14926200bce3575b506020816200b9946200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b601f546200b9bb9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b5f6040518097819582947f095ea7b3000000000000000000000000000000000000000000000000000000008452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af191821562000a1b576200079d926200bcc1575b506200ba3a620006bc6200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1691737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9390931660048401525f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b576200bb69935f926200bca9575b50601f546200bb0e9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6200bb326200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518097819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b03925af191821562000a1b576200bbcf926200bc8d575b506200bba56200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b602062004c0d62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b0381845afa90811562000a1b576200bbf66020926200bc4b955f9162009d3657506201015f565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015293849190829081906024820190565b03915afa801562000a1b5762000a19925f916200bc69575062010687565b6200bc86915060203d60201162000a8d5762000a7c81836200ed75565b5f620016ab565b6200bca3903d805f833e62000a1081836200ed75565b6200bb80565b8062000a32846200bcba936200ed75565b5f6200bae6565b6200bcdd9060203d60201162001c775762001c6881836200ed75565b6200ba2b565b8062000a325f6200bcf4936200ed75565b5f6200b96c565b6200bd18915060203d60201162000a8d5762000a7c81836200ed75565b5f6200b8db565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200bd6162000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200bec7575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f928392620009e8926200ac9f5750601f546200ac689060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200bed8936200ed75565b5f6200be04565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576019546200bf1d816200ee06565b906200bf2d60405192836200ed75565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106200bf74576040518062003836878262009410565b6001602081926200bf85856200f548565b8152019201920191906200bf5c565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760206200bfd06200ff06565b6040519015158152f35b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac5782916200c0a89162010e4184399060608252600460608301527f5a65726f00000000000000000000000000000000000000000000000000000000608083015260a06020830152600460a08301527f5a45524f0000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201525f6044820152906200c11882606481016200079d565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c310575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c2f8575b506200c277620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200c29b6200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b90803b15620005d15773ffffffffffffffffffffffffffffffffffffffff5f809462002587604051978896879586947f5b5e651600000000000000000000000000000000000000000000000000000000865216600485016200f3cb565b8062000a325f6200c309936200ed75565b5f6200c24e565b8062000a325f6200c321936200ed75565b5f6200c1bb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c65f575b506200c42e6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b31737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200c49a60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c647575b5060285473ffffffffffffffffffffffffffffffffffffffff16906040515f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff851692806200c5318190670de0b6b3a7640000602083019252565b0390a36200c55c620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff94909416602482015292908390604490829084905af190811562000a1b5762000a19926200c629926200c62f575b506200c5fa6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b316200c62362000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200f379565b620101ed565b8062000a325f6200c640936200ed75565b5f6200c5d5565b8062000a325f6200c658936200ed75565b5f6200c4c1565b8062000a325f6200c670936200ed75565b5f6200c409565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c7de575b50601f546200c7619060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b60285473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff84166024830152909182908183816044810162002587565b8062000a325f6200c7ef936200ed75565b5f6200c739565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200c83862000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1690737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200079d926200ca20575b506200c9746200c90f62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f604482015268056bc75e2d6310000060648201529283906084820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200c9ca92604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f9262009d6d5750601f5462009b959060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200ca31936200ed75565b5f6200c8e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200cc50575b506040517f4784226e0000000000000000000000000000000000000000000000000000000060208201525f60248201526105016044820152670de0b6b3a7640000606482015261050260848201526200cb768160a4810162000e6b565b6200cb9e620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200cbe388600483016200f942565b03925af1801562000a1b576200cc38575b6200cc1c62000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200cc2a61050131620101ed565b62000a19610502316201055d565b8062000a325f6200cc49936200ed75565b806200cbf4565b8062000a325f6200cc61936200ed75565b5f6200cb19565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200ccbc6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200d133575b506200cd9460206200cd756200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60285473ffffffffffffffffffffffffffffffffffffffff1662009ce4565b03915afa90811562000a1b575f916200d10f575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200ce1460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d0f7575b506200ce606200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b906200ce8160285473ffffffffffffffffffffffffffffffffffffffff1690565b9160405173ffffffffffffffffffffffffffffffffffffffff8416907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff841691806200ceef819068056bc75e2d63100000602083019252565b0390a36200cf1a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92833b15620005d1576040517fb8dc491b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152915f908390604490829084905af191821562000a1b576200cfd6926200d0df575b506200cfb36200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b90602062004c0d60285473ffffffffffffffffffffffffffffffffffffffff1690565b0381855afa91821562000a1b576200d066935f936200d0b8575b506020906200d01460275473ffffffffffffffffffffffffffffffffffffffff1690565b9060405180809781947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03915afa91821562000a1b576200c6236200d08e9362000a19955f916200d09457506201015f565b620105f1565b6200d0b1915060203d60201162000a8d5762000a7c81836200ed75565b86620015fa565b60209193506200d0d790823d841162000a8d5762000a7c81836200ed75565b92906200cff0565b8062000a325f6200d0f0936200ed75565b826200cf8e565b8062000a325f6200d108936200ed75565b816200ce3b565b6200d12c915060203d60201162000a8d5762000a7c81836200ed75565b816200cda8565b8062000a325f6200d144936200ed75565b806200cd4a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1575f80620009e862000e6b620069f96200d1936200ef22565b6200d1b76200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200d1f16024826200ed75565b6200d1fb6200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529087602083015260408201526200d22b836200efd0565b526200d237826200efd0565b506040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200d2726024826200ed75565b6200d280620007286200edd2565b86602083015260408201526200d296826200efe4565b5262000e34816200efe4565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b8181106200d32457620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200d309565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602073ffffffffffffffffffffffffffffffffffffffff60275416604051908152f35b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405161045880820182811067ffffffffffffffff82111762000cac57829162016f1b833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152671bc16d674ec8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d6a4575b506040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201526101236044820152906200d51882606481016200079d565b5f6200d54162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6200d5656200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b906200d59f60405195869384937f44c3b4270000000000000000000000000000000000000000000000000000000085526004850162010013565b038183855af191821562000a1b576004926200d5c8915f916200d67c575b5062005a7762010082565b60206200d5ee6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b604051938480927f829a86d90000000000000000000000000000000000000000000000000000000082525afa91821562000a1b5762000a19926200d646915f916200d658575b506200d63f620100bf565b9062010bb3565b316200d65162010122565b9062010c7a565b6200d675915060203d60201162000a8d5762000a7c81836200ed75565b5f6200d634565b6200d69c91503d805f833e6200d69381836200ed75565b8101906200ffd8565b505f6200d5bd565b8062000a325f6200d6b5936200ed75565b5f6200d4b0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d7ee575b5062000e6b6200d7c66200903b60285473ffffffffffffffffffffffffffffffffffffffff1690565b620091c2620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a325f6200d7ff936200ed75565b5f6200d79d565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200d85a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b6200d87e6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f43f7ed76000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f9384936200d9c7575b508262000e6b620045d06200d9456200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee12600000000000000000000000000000000000000000000000000000000602082019081527f4c383bae8897cd5b4ac6de30be57e2e818a5b6a4a77c60122b7b50a8e81c727f602483015273ffffffffffffffffffffffffffffffffffffffff9687166044830152959096166064870152949182906084820190565b8062000a32856200d9d8936200ed75565b5f6200d917565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200dea3575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200db2c60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de8b575b506101015f7ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae604051806200db948190670de0b6b3a7640000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200dc0260048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de73575b506101025f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200dc6a8190671bc16d674ec80000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200dcd860048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de5b575b506101026101015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea604051806200dd5f8190671bc16d674ec8000060406060840193670de0b6b3a76400008152670de0b6b3a764000060208201520152565b0390a46200dd8a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200ddee6004820190610102606060808401935f81526101016020820152670de0b6b3a764000060408201520152565b03925af1801562000a1b576200de43575b6200de2762000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200de3561010131620101ed565b62000a19610102316201055d565b8062000a325f6200de54936200ed75565b5f6200ddff565b8062000a325f6200de6c936200ed75565b5f6200dcff565b8062000a325f6200de84936200ed75565b5f6200dc29565b8062000a325f6200de9c936200ed75565b5f6200db53565b8062000a325f6200deb4936200ed75565b5f6200dac0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200defd62000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e0aa575b506040517fb25102da000000000000000000000000000000000000000000000000000000006020820152670de0b6b3a764000060248201526706f05b59d3b2000060448201526200dff5816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200e04b91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576706f05b59d3b20000925f92620009e892620010365750601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200e0bb936200ed75565b5f6200dfa0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e490575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200e20f60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e478575b506102015f7ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae604051806200e27781906729a2241af62c0000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200e2e560048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e460575b506102026102015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea604051806200e36481905f604060608401936729a2241af62c000081526729a2241af62c000060208201520152565b0390a46200e38f620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200e3f36004820190610202606060808401935f815261020160208201526729a2241af62c000060408201520152565b03925af1801562000a1b576200e448575b6200e42c62000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200e43a61020131620103ad565b62000a19610202316201015f565b8062000a325f6200e459936200ed75565b5f6200e404565b8062000a325f6200e471936200ed75565b5f6200e30c565b8062000a325f6200e489936200ed75565b5f6200e236565b8062000a325f6200e4a1936200ed75565b5f6200e1a3565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405160dd80820182811067ffffffffffffffff82111762000cac57829162016d99833903905ff0801562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e718575b506200e5e1620010136200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ff4b3b1bc000000000000000000000000000000000000000000000000000000006004820152905f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b575f9283926200e700575b506200e69e6200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fb8dc491b00000000000000000000000000000000000000000000000000000000602082019081525f602483015273ffffffffffffffffffffffffffffffffffffffff90931660448201529091908390620045d0816064810162000e6b565b8062000a32846200e711936200ed75565b5f6200e679565b8062000a325f6200e729936200ed75565b5f6200e5b8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200e7846200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200ea5b575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200ea43575b505f60206200e8e262002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200ea21575b5062000e6b62002dcf6200e9066200eea1565b6200e92a6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200e9646024826200ed75565b6200e96e6200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152906001602083015260408201526200e99f836200efd0565b526200e9ab826200efd0565b506040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200e9e66024826200ed75565b6200e9f06200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262005fb9836200efe4565b6200ea3d9060203d60201162001c775762001c6881836200ed75565b6200e8f3565b8062000a325f6200ea54936200ed75565b806200e8b6565b8062000a325f6200ea6c936200ed75565b806200e812565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200eb09816064810162000e6b565b601f546200eb309060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906200eb556200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d1576200eba4925f92670de0b6b3a76400006040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b03925af1801562000a1b576200ec97575b506200ebda6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f829a86d9000000000000000000000000000000000000000000000000000000008152602081600481855afa801562000a1b576200ec23915f916200ec735750620101ed565b604051907ff5632ab4000000000000000000000000000000000000000000000000000000008252602082600481845afa91821562000a1b5762000a199262001013915f916200ec735750620101ed565b6200ec90915060203d60201162000a8d5762000a7c81836200ed75565b5f6200af94565b8062000a325f6200eca8936200ed75565b5f6200ebb5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111762000cac57604052565b6060810190811067ffffffffffffffff82111762000cac57604052565b6080810190811067ffffffffffffffff82111762000cac57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111762000cac57604052565b90816020910312620005d1575190565b6040513d5f823e3d90fd5b604051906200ede36060836200ed75565b565b604051906200ede36080836200ed75565b906200ede360405192836200ed75565b67ffffffffffffffff811162000cac5760051b60200190565b6040805191906200ee3190836200ed75565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200ee6360016200ee06565b01905f5b8281106200ee7457505050565b6020906040516200ee85816200ed3b565b5f81525f8382015260606040820152828285010152016200ee67565b604051906200eeb26080836200ed75565b60038252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200eee460036200ee06565b01905f5b8281106200eef557505050565b6020906040516200ef06816200ed3b565b5f81525f8382015260606040820152828285010152016200eee8565b604051906200ef336060836200ed75565b60028252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200ef6560026200ee06565b01905f5b8281106200ef7657505050565b6020906040516200ef87816200ed3b565b5f81525f8382015260606040820152828285010152016200ef69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156200efde5760200190565b6200efa3565b8051600110156200efde5760400190565b8051600210156200efde5760600190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200f03957505050505090565b90919293946020806200f0aa837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752606060408b5173ffffffffffffffffffffffffffffffffffffffff81511684528581015115158685015201519181604082015201906200419f565b970193019301919392906200f029565b9060206200f0cd9281815201906200419f565b90565b51908115158203620005d157565b67ffffffffffffffff811162000cac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620005d1578051906200f133826200f0de565b926200f14360405194856200ed75565b82845260208383010111620005d157815f9260208093018386015e8301015290565b602081830312620005d15780519067ffffffffffffffff8211620005d157019080601f83011215620005d1578151916200f19f836200ee06565b926200f1af60405194856200ed75565b80845260208085019160051b83010191838311620005d15760208101915b8383106200f1dd57505050505090565b825167ffffffffffffffff8111620005d15782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08388030112620005d157604051906200f22e826200ed1e565b6200f23c602084016200f0d0565b825260408301519167ffffffffffffffff8311620005d1576200f268886020809695819601016200f119565b838201528152019201916200f1cd565b9060406200f0cd9273ca11bde05977b3631167028862be2a173976ca11815281602082015201906200419f565b9060406200f0cd925f815281602082015201906200419f565b60409073ffffffffffffffffffffffffffffffffffffffff6200f0cd949316815281602082015201906200419f565b9060606200f0cd925f8152670de0b6b3a7640000602082015281604082015201906200419f565b60609073ffffffffffffffffffffffffffffffffffffffff6200f0cd949316815268056bc75e2d63100000602082015281604082015201906200419f565b9060606200f0cd925f8152671bc16d674ec80000602082015281604082015201906200419f565b919082039182116200f38757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90816020910312620005d1576200f0cd906200f0d0565b93926200f4289073ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef948160809516885216602087015260a0604087015260a08601906200419f565b93600460608201520152565b92916200f42860809173ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef945f885216602087015260a0604087015260a08601906200419f565b73ca11bde05977b3631167028862be2a173976ca113b906200f4b1826200f0de565b916200f4c160405193846200ed75565b8083525f6020840173ca11bde05977b3631167028862be2a173976ca113c565b90813b5f6200f4f0826200f0de565b936200f50060405195866200ed75565b82855260208501903c565b60609073ffffffffffffffffffffffffffffffffffffffff6200f0cd9493168152678ac7230489e80000602082015281604082015201906200419f565b90604051915f8154908160011c92600183169081156200f649575b6020851082146200f61c57848752869360208501929081156200f5de57506001146200f59a575b50506200ede3925003836200ed75565b6200f5aa9192505f5260205f2090565b905f915b8483106200f5c657506200ede39350015f806200f58a565b8054828401528693506020909201916001016200f5ae565b90506200ede3959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f806200f58a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936200f563565b9081546200f662816200ee06565b926200f67260405194856200ed75565b81845260208401905f5260205f205f915b8383106200f6915750505050565b6001602081926200f6a2856200f548565b8152019201920191906200f683565b604051906200f6c26040836200ed75565b600482527f12345678000000000000000000000000000000000000000000000000000000006020830152565b93926200f72f9073ffffffffffffffffffffffffffffffffffffffff63deadbeef948160809516885216602087015260a0604087015260a08601906200419f565b93602460608201520152565b3d156200f76a573d906200f74f826200f0de565b916200f75f60405193846200ed75565b82523d5f602084013e565b606090565b6040805191906200f78190836200ed75565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200f7b360016200ee06565b01905f5b8281106200f7c457505050565b6020906040516200f7d5816200ed58565b5f81525f838201525f6040820152606080820152828285010152016200f7b7565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200f82957505050505090565b90919293946020806200f8a4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752608060608b5173ffffffffffffffffffffffffffffffffffffffff8151168452858101511515868501526040810151604085015201519181606082015201906200419f565b970193019301919392906200f819565b604051906200f8c56040836200ed75565b601182527f7473746f726520736574206661696c65640000000000000000000000000000006020830152565b9060c06200f0cd927fdf6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e81525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd925f81525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd927fda7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa5800581525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd927f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd8137181525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b604051906200fa266040836200ed75565b600482527fdeadbeef000000000000000000000000000000000000000000000000000000006020830152565b604051906200fa636040836200ed75565b600382527f656f6100000000000000000000000000000000000000000000000000000000006020830152565b604051815480825290929183906200faae60208301915f5260205f2090565b925f905b8060078301106200fcce576200ede39454918181106200fc90575b8181106200fc58575b8181106200fc20575b8181106200fbe8575b8181106200fbb0575b8181106200fb78575b8181106200fb41575b106200fb13575b5003836200ed75565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6200fb0a565b602083811b7fffffffff0000000000000000000000000000000000000000000000000000000016855290936001910193016200fb03565b604083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fafa565b606083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200faf1565b608083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fae8565b60a083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fadf565b60c083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fad6565b926020816200fcc56001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b0193016200facd565b9160089193506101006001916200fe4087546200fd0f838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b0194019201859293916200fab2565b93926200fe8c9073ffffffffffffffffffffffffffffffffffffffff5f948160809516885216602087015260a0604087015260a08601906200419f565b938260608201520152565b93926200f4289073ffffffffffffffffffffffffffffffffffffffff63deadbeef948160809516885216602087015260a0604087015260a08601906200419f565b90816020910312620005d1575173ffffffffffffffffffffffffffffffffffffffff81168103620005d15790565b60085460ff16156200ff1757600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811562000a1b575f916200ffb4575b50151590565b6200ffd1915060203d60201162000a8d5762000a7c81836200ed75565b5f6200ffae565b919091604081840312620005d1576200fff1816200f0d0565b92602082015167ffffffffffffffff8111620005d1576200f0cd92016200f119565b9392620100769073ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef948160a0951688525f602089015216604087015260c0606087015260c08601906200419f565b93600460808201520152565b60405190620100936040836200ed75565b601b82527f44656c656761746563616c6c2073686f756c64207375636365656400000000006020830152565b60405190620100d06060836200ed75565b602a82527f54482062616c616e6365000000000000000000000000000000000000000000006040837f5461726765742073686f756c6420726563656976652077616c6c65742773204560208201520152565b60405190620101336040836200ed75565b601c82527f57616c6c65742073686f756c6420626520737765707420656d707479000000006020830152565b80620101685750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b5f6200ede3916200ed75565b670de0b6b3a76400008103620102005750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152670de0b6b3a764000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b68068155a43676e000008103620102955750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c54000000000000000000000000000000000000000000000000000000008252600482015268068155a43676e0000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b683635c9adc5dea0000081036201032b5750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152683635c9adc5dea0000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b6729a2241af62c00008103620103c05750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201526729a2241af62c000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b681043561a88293000008103620104555750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152681043561a882930000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b60018103620104e35750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b671bc16d674ec800008103620105705750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152671bc16d674ec8000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b68056bc75e2d631000008103620106055750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c54000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b81810362010693575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f98296c54000000000000000000000000000000000000000000000000000000008152600481019190915260248101919091525f8180604481015b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b81810362010721575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f7c84c69b000000000000000000000000000000000000000000000000000000008152600481019190915260248101919091525f818060448101620106ed565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f6024820152600160448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620101e15750565b158062010822575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157620106ed915f9160405193849283927fa34edc030000000000000000000000000000000000000000000000000000000084521560048401526040602484015260448301906200419f565b1580620108925750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f0c9fd5810000000000000000000000000000000000000000000000000000000082521560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b156201090e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f746c6f6164206661696c656400000000000000000000000000000000000000006044820152fd5b156201097457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f746c6f61642072657475726e656420696e73756666696369656e7420646174616044820152fd5b620109dd816200f4e1565b91609590620109ef602083016200edf6565b91808352620173736020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62010a5392604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835287600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b575f92839262010b9b575b5060405162010ac28162000e6b60208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b5190845afa62010ad16200f73b565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010b2a935f9160405195869283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b576200f0cd9362010b639262010b83575b5062010906565b62010b736020825110156201096c565b602080825183010191016200edb7565b8062000a325f62010b94936200ed75565b5f62010b5c565b8062000a328462010bac936200ed75565b5f62010a7f565b671bc16d674ec80000810362010bc7575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010c3a915f9160405193849283927f88b44c850000000000000000000000000000000000000000000000000000000084526004840152671bc16d674ec8000060248401526060604484015260648301906200419f565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b5762010c625750565b8062010c705f80936200ed75565b800312620005d157565b8062010c84575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157620106ed915f9160405193849283927f88b44c8500000000000000000000000000000000000000000000000000000000845260048401528460248401526060604484015260648301906200419f565b805191908290602001825e015f815290565b90604051602081019062010d1b8162000e6b848762010cef565b51902090604051927fffa186490000000000000000000000000000000000000000000000000000000084526020848062010d5d86600483019190602083019252565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa93841562000a1b575f9462010e1a575b5083737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010de0915f9160405193849283927fc657c718000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762010e095750565b8062000a325f6200ede3936200ed75565b62010e3891945060203d6020116200a5a5576200a59581836200ed75565b925f62010d8656fe60806040523461033057610e0d8038038061001981610334565b9283398101906060818303126103305780516001600160401b0381116103305782610045918301610359565b60208201519092906001600160401b03811161033057604091610069918401610359565b91015160ff81168091036103305782516001600160401b03811161024157600354600181811c91168015610326575b602082101461022357601f81116102c3575b506020601f821160011461026057819293945f92610255575b50508160011b915f199060031b1c1916176003555b81516001600160401b03811161024157600454600181811c91168015610237575b602082101461022357601f81116101c0575b50602092601f821160011461015f57928192935f92610154575b50508160011b915f199060031b1c1916176004555b60ff196005541617600555604051610a6290816103ab8239f35b015190505f80610125565b601f1982169360045f52805f20915f5b8681106101a85750836001959610610190575b505050811b0160045561013a565b01515f1960f88460031b161c191690555f8080610182565b9192602060018192868501518155019401920161016f565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610219575b601f0160051c01905b81811061020e575061010b565b5f8155600101610201565b90915081906101f8565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100f9565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100c3565b601f1982169060035f52805f20915f5b8181106102ab57509583600195969710610293575b505050811b016003556100d8565b01515f1960f88460031b161c191690555f8080610285565b9192602060018192868b015181550194019201610270565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061031c575b601f0160051c01905b81811061031157506100aa565b5f8155600101610304565b90915081906102fb565b90607f1690610098565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761024157604052565b81601f82011215610330578051906001600160401b03821161024157610388601f8301601f1916602001610334565b928284526020838301011161033057815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461077757508063095ea7b3146106ca57806318160ddd1461068f57806323b872dd146104fb578063313ce567146104bd57806340c10f19146103be57806370a082311461035c57806395d89b4114610169578063a9059cbb1461011a5763dd62ed3e1461008a575f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576100c16108f0565b73ffffffffffffffffffffffffffffffffffffffff6100de610913565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165761015e6101546108f0565b6024359033610936565b602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576040515f600454908160011c60018316928315610352575b6020821084146103255781855284939081156102c5575060011461024b575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102a957505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b6020919350806001915483858801015201910190918392610275565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506101ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101af565b346101165760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165773ffffffffffffffffffffffffffffffffffffffff6103a86108f0565b165f525f602052602060405f2054604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576103f56108f0565b73ffffffffffffffffffffffffffffffffffffffff16602435811561049157600254908082018092116104645760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011657602060ff60055416604051908152f35b346101165760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576105326108f0565b61053a610913565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106105b6575b5061015e9350610936565b83811061065b57841561062f5733156106035761015e945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846105ab565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576020600254604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576107016108f0565b60243590331561062f5773ffffffffffffffffffffffffffffffffffffffff1690811561060357335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116575f600354908160011c6001831692831561089e575b6020821084146103255781855284939081156102c55750600114610824575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061088257505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b602091935080600191548385880101520191019091839261084e565b90607f16906107ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b73ffffffffffffffffffffffffffffffffffffffff16908115610a005773ffffffffffffffffffffffffffffffffffffffff1691821561049157815f525f60205260405f20548181106109ce57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220cebe9d271f663eb56aba81c7274ebae25e1a809741756e03a398137806df3e1964736f6c634300081e0033608034607f57601f6104a038819003918201601f19168301916001600160401b03831184841017608357808492602094604052833981010312607f57516001600160a01b0381168103607f5760018054610100600160a81b03191660089290921b610100600160a81b031691909117905560405161040890816100988239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081636813d787146103655781636e553f651461012557508063829a86d9146100eb578063d3072d82146100ab5763fc0c546a14610053575f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602073ffffffffffffffffffffffffffffffffffffffff60015460081c16604051908152f35b5f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602060ff600154166040519015158152f35b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a75760205f54604051908152f35b346100a75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004359060243573ffffffffffffffffffffffffffffffffffffffff8116036100a7576001549060ff8216610309575073ffffffffffffffffffffffffffffffffffffffff90825f5560081c1690816101a957005b5f91606460209260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845233600485015230602485015260448401525af19081156102fe575f91610262575b501561020457005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433230207472616e7366657246726f6d206661696c6564000000000000006044820152fd5b905060203d6020116102f7575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff8211176102ca576020918391604052810103126100a7575180151581036100a757816101fc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b503d61026f565b6040513d5f823e3d90fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fd5b346100a75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004358015158091036100a75760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600154169116176001555f80f3fea2646970667358221220743a172d6fb225dce39c03b6fc94b2006c3c5313ca5971aef4fd0a39b136f4e464736f6c634300081e0033608080604052346015576107a7908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146102ee57508063678d2204146102af57806382ad56cb146100b75763a5aa5c1214610048575f80fd5b346100b35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b3576004358015158091036100b35760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54169116175f555f80f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610101903690600401610449565b60ff5f54166102505790610114826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301915b8481101561023e578060051b820135838112156100b35782016101c260205f8061016785610658565b816101756040880188610679565b9190826040519384928337810182815203925af1926101926106ca565b9361019b61053f565b90159485158252838201526101b0868a610723565b526101bb8589610723565b5001610764565b159081610236575b506101d75760010161013e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606490fd5b9050866101ca565b6040518061024c868261047a565b0390f35b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b346100b3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b357602060ff5f54166040519015158152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610338903690600401610449565b909160ff5f54166103ed57509061034e826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181360301915b8481101561023e578060051b820135838112156100b35782016103d060205f806103a185610658565b6103ae6060870187610679565b90816040519283928337810184815203916040880135905af1926101926106ca565b1590816103e5575b506101d757600101610378565b9050866103d8565b7f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b9181601f840112156100b35782359167ffffffffffffffff83116100b3576020808501948460051b0101116100b357565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106104ac57505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f858286010152011601019701930193019193929061049d565b604051906040820182811067ffffffffffffffff82111761055f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761055f57604052565b67ffffffffffffffff811161055f5760051b60200190565b906105fa6105f5836105d0565b61058c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061062882946105d0565b01905f5b82811061063857505050565b60209061064361053f565b5f81526060838201528282850101520161062c565b3573ffffffffffffffffffffffffffffffffffffffff811681036100b35790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100b3570180359067ffffffffffffffff82116100b3576020019181360383136100b357565b3d1561071e573d9067ffffffffffffffff821161055f5761071260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161058c565b9182523d5f602084013e565b606090565b80518210156107375760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3580151581036100b3579056fea2646970667358221220d15ba587833d285de2ae313b5bc0b60766daf63461a11d37ec63afc45d49b39d64736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033608080604052346013576091908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c635e01eb5a146023575f80fd5b346057575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605757602090338152f35b5f80fdfea26469706673582212205f55ad5e47296d566efef322f8f119c6af20cacbd4f659718157eeac617e410164736f6c634300081e003360806040523461032457604080519081016001600160401b03811182821017610237576040908152600d82526c2330b4b634b733902a37b5b2b760991b602083015280519081016001600160401b038111828210176102375760405260048152631190525360e21b602082015281516001600160401b03811161023757600354600181811c9116801561031a575b602082101461021957601f81116102b7575b50602092601f821160011461025657928192935f9261024b575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161023757600454600181811c9116801561022d575b602082101461021957601f81116101b6575b50602091601f8211600114610156579181925f9261014b575b50508160011b915f199060031b1c1916176004555b601260ff196005541617600555604051610b5c90816103298239f35b015190505f8061011a565b601f1982169260045f52805f20915f5b85811061019e57508360019510610186575b505050811b0160045561012f565b01515f1960f88460031b161c191690555f8080610178565b91926020600181928685015181550194019201610166565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061020f575b601f0160051c01905b8181106102045750610101565b5f81556001016101f7565b90915081906101ee565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b9565b601f1982169360035f52805f20915f5b86811061029f5750836001959610610287575b505050811b016003556100ce565b01515f1960f88460031b161c191690555f8080610279565b91926020600181928685015181550194019201610266565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610310575b601f0160051c01905b818110610305575061009f565b5f81556001016102f8565b90915081906102ef565b90607f169061008d565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461075d57508063095ea7b31461065857806318160ddd1461061d57806323b872dd146105c6578063313ce5671461058857806340c10f1914610489578063678d22041461044657806370a08231146103e457806395d89b41146101f1578063a5aa5c121461017f578063a9059cbb146101305763dd62ed3e146100a0575f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576100d76108d6565b73ffffffffffffffffffffffffffffffffffffffff6100f46108f9565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761017461016a6108d6565b6024359033610a30565b602060405160018152f35b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760043580151580910361012c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006005549260081b169116176005555f80f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576040515f600454908160011c600183169283156103da575b6020821084146103ad57818552849390811561034d57506001146102d3575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061033157505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b60209193508060019154838588010152019101909183926102fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610256565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610237565b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5773ffffffffffffffffffffffffffffffffffffffff6104306108d6565b165f525f602052602060405f2054604051908152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055460081c166040519015158152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576104c06108d6565b73ffffffffffffffffffffffffffffffffffffffff16602435811561055c576002549080820180921161052f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055416604051908152f35b3461012c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760206106136106026108d6565b61060a6108f9565b6044359161091c565b6040519015158152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576020600254604051908152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761068f6108d6565b6024359033156107315773ffffffffffffffffffffffffffffffffffffffff1690811561070557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c575f600354908160011c60018316928315610884575b6020821084146103ad57818552849390811561034d575060011461080a575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061086857505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b6020919350806001915483858801015201910190918392610834565b90607f16906107a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b919060ff60055460081c16610a295773ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106109a8575b506109a39350610a30565b600190565b8381106109f5578415610731573315610705576109a3945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390555f610998565b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b5050505f90565b73ffffffffffffffffffffffffffffffffffffffff16908115610afa5773ffffffffffffffffffffffffffffffffffffffff1691821561055c57815f525f60205260405f2054818110610ac857817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220d7f1f600d0f138887292c901e64abf40dd2e578eb54d0d61232b738a9f4d9e8564736f6c634300081e003360806040523461031357604080519081016001600160401b03811182821017610226576040908152600982526845524332304d6f636b60b81b602083015280519081016001600160401b038111828210176102265760405260048152634532304d60e01b602082015281516001600160401b03811161022657600354600181811c91168015610309575b602082101461020857601f81116102a6575b50602092601f821160011461024557928192935f9261023a575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161022657600454600181811c9116801561021c575b602082101461020857601f81116101a5575b50602091601f8211600114610145579181925f9261013a575b50508160011b915f199060031b1c1916176004555b604051610b4890816103188239f35b015190505f80610116565b601f1982169260045f52805f20915f5b85811061018d57508360019510610175575b505050811b0160045561012b565b01515f1960f88460031b161c191690555f8080610167565b91926020600181928685015181550194019201610155565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106101fe575b601f0160051c01905b8181106101f357506100fd565b5f81556001016101e6565b90915081906101dd565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100eb565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b5565b601f1982169360035f52805f20915f5b86811061028e5750836001959610610276575b505050811b016003556100ca565b01515f1960f88460031b161c191690555f8080610268565b91926020600181928685015181550194019201610255565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106102ff575b601f0160051c01905b8181106102f4575061009b565b5f81556001016102e7565b90915081906102de565b90607f1690610089565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461088957508063095ea7b3146107dc57806318160ddd146107a157806323b872dd1461060d578063313ce567146105d457806340c10f19146104d557806370a082311461047357806395d89b41146102805780639dc29fac14610174578063a9059cbb146101255763dd62ed3e14610095575f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576100cc610a02565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a25565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761016961015f610a02565b6024359033610a48565b602060405160018152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576101ab610a02565b73ffffffffffffffffffffffffffffffffffffffff6024359116801561025457805f525f60205260405f2054828110610222576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576040515f600454908160011c60018316928315610469575b60208210841461043c5781855284939081156103dc5750600114610362575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103c057505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b602091935080600191548385880101520191019091839261038c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506102e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906102c6565b346101215760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215773ffffffffffffffffffffffffffffffffffffffff6104bf610a02565b165f525f602052602060405f2054604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761050c610a02565b73ffffffffffffffffffffffffffffffffffffffff1660243581156105a8576002549080820180921161057b5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157602060405160128152f35b346101215760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610644610a02565b61064c610a25565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106106c8575b506101699350610a48565b83811061076d57841561074157331561071557610169945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846106bd565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576020600254604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610813610a02565b6024359033156107415773ffffffffffffffffffffffffffffffffffffffff1690811561071557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121575f600354908160011c600183169283156109b0575b60208210841461043c5781855284939081156103dc5750600114610936575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061099457505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b6020919350806001915483858801015201910190918392610960565b90607f16906108cc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b73ffffffffffffffffffffffffffffffffffffffff169081156102545773ffffffffffffffffffffffffffffffffffffffff169182156105a857815f525f60205260405f2054818110610ae057817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea264697066735822122016731caeee7fdd0b7f2f8e0381983d3089fc82963bcb4d2a37da85a078dfcb3064736f6c634300081e003360808060405234601557610275908161001a8239f35b5f80fdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816346f6b4e114610185575080636813d78714610118578063829a86d9146100de578063d3072d821461009e5763f5632ab41461005f575f61000f565b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a576020600154604051908152f35b5f80fd5b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a57602060ff600254166040519015158152f35b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760205f54604051908152f35b3461009a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760043580151580910361009a5760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254169116176002555f80f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760243573ffffffffffffffffffffffffffffffffffffffff81160361009a5760ff600254166101e3576004355f5534600155005b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fdfea264697066735822122042cb4c7788d7f1fd3d3695bef8c3a2fd1390f82e50a41ddf02c4e8b37123a46264736f6c634300081e0033608080604052346015576101ef908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146100e057506382ad56cb14610032575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc5760043567ffffffffffffffff81116100dc5761007c903690600401610188565b505060646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc576004359067ffffffffffffffff82116100dc5761012d6064923690600401610188565b50507f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b9181601f840112156100dc5782359167ffffffffffffffff83116100dc576020808501948460051b0101116100dc5756fea26469706673582212204d26cfde5cf533afcf5b242bdb62c0cf77307a2a708acad8504413957621ea4564736f6c634300081e00336080806040523460135760c5908160188239f35b5f80fdfe6080806040523615600e575f80fd5b807f08c379a00000000000000000000000000000000000000000000000000000000060849252602060048201526024808201527f526576657274696e6752656365697665723a20726576657274206f6e2072656360448201527f65697665000000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ca498d30cad9a909a47a4edbbee81be87963eac164101dcb5079346e9be9b95c64736f6c634300081e003360808060405234601357608d908160188239f35b5f80fdfe6004361015600b575f80fd5b5f3560e01c63f71f7a2514601d575f80fd5b3460535760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126053576024356004355d005b5f80fdfea26469706673582212205c3478906b70ed217cacaeb0f98254718dfc00d76a73c3f166ed1357b7f7af5364736f6c634300081e00336080806040523460155761043e908161001a8239f35b5f80fdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80631827c8ae1461017d576344c3b4270361000e5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017957610066610269565b60243573ffffffffffffffffffffffffffffffffffffffff8116809103610179576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610179576064359167ffffffffffffffff8311610179575f936101596100d086953690600401610334565b9161011d60405193849260208401967f5b5e65160000000000000000000000000000000000000000000000000000000088526024850152604484015260a0606484015260c483019061037a565b608435608483015260a43560a4830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b51915af46101656103d9565b90610175604051928392836103bd565b0390f35b5f80fd5b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610179576101af610269565b60c43567ffffffffffffffff8111610179575f916101d283923690600401610334565b6040516101598161023d60208201947f4c4e814c000000000000000000000000000000000000000000000000000000008652602435602484015260443560448401526064356064840152608435608484015260a43560a484015260c060c484015260e483019061037a565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017957565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cd57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116102cd57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101795780359061034b826102fa565b92610359604051948561028c565b8284526020838301011161017957815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6040906103d6939215158152816020820152019061037a565b90565b3d15610403573d906103ea826102fa565b916103f8604051938461028c565b82523d5f602084013e565b60609056fea26469706673582212208f8cd33435e9ba924d0905f84e9acaebbe71d9215aac9cc72e2c9b7ffe3106c364736f6c634300081e003360808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033a2646970667358221220d12060e3f84111021a59b6013c49733e15c4b359a21944ac0cd504e3417e1ba464736f6c634300081e0033","sourceMap":"4886:54789:64:-:0;;;;;;;3200:4:5;4886:54789:64;;3200:4:5;4886:54789:64;;;3200:4:5;4886:54789:64;3200:4:5;4886:54789:64;;1087:4:16;4886:54789:64;;;1087:4:16;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4886:54789:64;;;;;20624:22:6;;4886:54789:64;;;;;;;;;;;20624:22:6;;;;;;:::i;:::-;4886:54789:64;20614:33:6;;4886:54789:64;;291:59:6;;;;20665:19;;4886:54789:64;20665:19:6;;291:59;4886:54789:64;20665:19:6;20624:22;20665:19;4886:54789:64;20665:19:6;;;;;;;4886:54789:64;20665:19:6;;;-1:-1:-1;20694:20:6;4886:54789:64;20694:20:6;;;;4886:54789:64;;291:59:6;4886:54789:64;;291:59:6;;;;;;;20694:20;;4886:54789:64;;;;;;20694:20:6;;4886:54789:64;20694:20:6;;291:59;4886:54789:64;20624:22:6;291:59;;;4886:54789:64;291:59:6;;;;;;;;;;4886:54789:64;;;;;;;;;1087:4:16;4886:54789:64;-1:-1:-1;;4886:54789:64;291:59:6;;20694:20;;;4886:54789:64;;20694:20:6;;;;;;;;-1:-1:-1;;5388:16:64;4886:54789;;-1:-1:-1;;;;;;4886:54789:64;;;;;;;;;;;;;;;;20694:20:6;4886:54789:64;20694:20:6;;;:::i;:::-;4886:54789:64;20694:20:6;;;4886:54789:64;;291:59:6;4886:54789:64;291:59:6;;;;;20694:20;4886:54789:64;;;20665:19:6;;;4886:54789:64;20665:19:6;;4886:54789:64;20665:19:6;;;;;;4886:54789:64;20665:19:6;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;4886:54789:64;;291:59:6;;;;20665:19;;;;;;-1:-1:-1;20665:19:6;;4886:54789:64;;;;;;;;;;;;;;;;;-1:-1:-1;;4886:54789:64;;;;-1:-1:-1;;;;;4886:54789:64;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436101562000012575f80fd5b5f3560e01c806302b69a3714620005c057806304731fb914620005ba57806304cb302414620005b45780630604a0cb14620005ae5780630865907314620005a85780630a9254e414620005a257806313f8beab146200059c5780631535e0ce146200059657806317adc5c414620005905780631857a380146200058a5780631ed7831c14620005845780632091fcb0146200057e57806323e58c8f146200057857806328c7572114620005725780632ade3880146200056c5780632b463e8e14620005665780632d13f423146200056057806330410d2a146200055a578063374d67c3146200055457806337688a55146200054e578063383a925914620005485780633a0beca914620005425780633e1637cf146200053c5780633e5e3c2314620005365780633f7286f4146200053057806341fe9ff4146200052a57806346798b95146200052457806346ee204d146200051e57806350486ba7146200051857806350bbb7a1146200051257806353485062146200050c5780635415a4b014620005065780635457e5bb14620005005780636349dbdb14620004fa57806366d003ac14620004f457806366d9a9a014620004ee5780636dda3c0514620004e85780636ddcc7c514620004e257806373fda24c14620004dc57806375f50bfe14620004d65780637ab42cd314620004d05780637b936a8414620004ca5780637fc4fcce14620004c457806385226c8114620004be578063870d769314620004b8578063879c640314620004525780638c4978ed14620004b2578063904745ef14620004ac578063916a17c614620004a6578063924f1c3214620004a0578063a3b85699146200049a578063a4cacf381462000494578063a4f48230146200048e578063a92b31ce1462000488578063ad2b6d461462000482578063aebb1844146200047c578063b0464fdc1462000476578063b07e16371462000470578063b3a1bcc3146200046a578063b5508aa91462000464578063ba414fa6146200045e578063bcb512781462000458578063bdb9d9801462000452578063bf627174146200044c578063c38159451462000446578063ce6a24721462000440578063d372fdb4146200043a578063d7bf14101462000434578063dc41cc0d146200042e578063e20c9f711462000428578063e534155d1462000422578063e702a118146200041c578063e78db6201462000416578063ed90149e1462000410578063ee40d604146200040a578063ee6afeda1462000404578063f0ce406414620003fe578063f1b7f01f14620003f8578063f7aa752d14620003f2578063f7ccd7e414620003ec5763fa7626d414620003e6575f80fd5b6200ecaf565b6200ea73565b6200e730565b6200e4a8565b6200e0c2565b6200debb565b6200d9df565b6200d806565b6200d6bc565b6200d3a4565b6200d351565b6200d2a2565b6200d14b565b6200cc68565b6200ca38565b6200c7f6565b6200c677565b6200c328565b6200999e565b6200bfda565b6200bf94565b6200bedf565b6200bd1f565b6200b822565b6200b73e565b6200afef565b6200accf565b6200aa98565b6200a8fd565b6200a5ad565b6200a3ff565b6200a2f4565b6200a210565b6200a005565b62009dbf565b62009546565b62009491565b62009237565b62008f31565b62008b28565b62008900565b62008645565b6200848d565b62008010565b62007f39565b62007dec565b62007c24565b62007b19565b62007433565b620071d2565b62006dba565b62006a20565b6200692f565b620063b0565b62006215565b62006166565b620060b7565b62005cca565b62005758565b62005445565b62004f22565b62004c8c565b620048c9565b620045f7565b620043e0565b620042fc565b62003f0a565b62003c79565b62003867565b620037a7565b620033d4565b6200301b565b620029e0565b6200260a565b62001c97565b62001796565b62001066565b62000cb2565b62000a95565b620005d5565b5f910312620005d157565b5f80fd5b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620006426200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482018190529091602090839060249082905afa91821562000a1b575f9262000a58575b506200079d90620007ca620006bc6200ee1f565b620006e06200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200071a6024826200ed75565b62000744620007286200edd2565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b5f602083015260408201526200075a826200efd0565b5262000766816200efd0565b506040519384917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018452836200ed75565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762000a40575b50620008e06200088162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f6044820152606481019390935282608481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200093692604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f9262000a21575b50601f546200098d9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620009b16200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b03925af1801562000a1b57620009fa57005b62000a19903d805f833e62000a1081836200ed75565b8101906200f165565b005b6200edc7565b8062000a328462000a39936200ed75565b80620005c6565b5f62000965565b8062000a325f62000a51936200ed75565b5f62000854565b6200079d91925062000a859060203d60201162000a8d575b62000a7c81836200ed75565b8101906200edb7565b9190620006a8565b503d62000a70565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162000b639162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576200079d9062000b81620006bc6200ee1f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6920aa0f000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b57620009e8935f9362000c94575b5073ffffffffffffffffffffffffffffffffffffffff8362000c5b62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b92604051968795869485937f7a7eeb4f00000000000000000000000000000000000000000000000000000000855216600484016200f2be565b8062000a328562000ca5936200ed75565b5f62000c1c565b6200ecf1565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200104e575b5062000e6b62000e9862000da66200ee1f565b62000dca6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262000e046024826200ed75565b62000e12620007286200edd2565b5f6020830152604082015262000e28826200efd0565b5262000e34816200efd0565b506040519283917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826200ed75565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f9262000fab9262001036575b50601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937fa9baaaf5000000000000000000000000000000000000000000000000000000008352600483016200f2ed565b03925af1801562000a1b576200101a575b62000fef62000fe862000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b316201015f565b62000a196200101360265473ffffffffffffffffffffffffffffffffffffffff1690565b31620101ed565b62001030903d805f833e62000a1081836200ed75565b62000fbc565b8062000a328562001047936200ed75565b5f62000f4c565b8062000a325f6200105f936200ed75565b5f62000d93565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620010ba6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152681043561a88293000006024820152905f908290604490829084905af1801562000a1b576200177e575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620011b460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762001766575b5061030173ffffffffffffffffffffffffffffffffffffffff620012186200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae6040518062001256819068068155a43676e00000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620012c460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200174e575b50620013106200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026809c2007651b2500000917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff604051921691806200136b86829190602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620013d960048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762001736575b50620014256200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026103016040517fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff8516918062001496888291906040606084019368068155a43676e00000815268068155a43676e0000060208201520152565b0390a4620014c1620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4784226e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff929092166004830152610301602483015268068155a43676e00000604483015261030260648301525f908290608490829084905af1801562000a1b576200171e575b506200156b6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b90620015e160206200159260275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015291829081906024820190565b0381865afa801562000a1b5762001601915f91620016fa575b506201015f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526103016004820152602081602481865afa801562000a1b5762001653915f91620016d6575b5062010281565b602060405180937f70a082310000000000000000000000000000000000000000000000000000000082528180620016936004820190610302602083019252565b03915afa801562000a1b5762000a19925f91620016b2575b5062010687565b620016cf915060203d60201162000a8d5762000a7c81836200ed75565b83620016ab565b620016f3915060203d60201162000a8d5762000a7c81836200ed75565b846200164c565b62001717915060203d60201162000a8d5762000a7c81836200ed75565b84620015fa565b8062000a325f6200172f936200ed75565b8162001546565b8062000a325f62001747936200ed75565b8162001400565b8062000a325f6200175f936200ed75565b80620012eb565b8062000a325f62001777936200ed75565b80620011db565b8062000a325f6200178f936200ed75565b8062001148565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620018649162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac5783620018d091849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b57803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762001c7f575b50620019c260206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152683635c9adc5dea00000602482015291829081906044820190565b03815f865af1801562000a1b5762001c4b575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262001a3c816064810162000e6b565b73ffffffffffffffffffffffffffffffffffffffff62001a7962000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b931692803b15620005d15762001ac55f929183926040519485809481937fc5e5153b0000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b03925af1801562000a1b5762001c33575b506040517f829a86d9000000000000000000000000000000000000000000000000000000008152602081600481865afa801562000a1b5762001b21915f9162001bed575b5062010317565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529160208380602481015b0381855afa91821562000a1b5762001b7e60209362001bcf955f9162001c1157506201015f565b60405180809581947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03915afa801562000a1b5762000a19915f9162001bed575062010317565b62001c0a915060203d60201162000a8d5762000a7c81836200ed75565b5f62001b1a565b62001c2c9150853d871162000a8d5762000a7c81836200ed75565b5f620015fa565b8062000a325f62001c44936200ed75565b5f62001ad6565b62001c719060203d60201162001c77575b62001c6881836200ed75565b8101906200f3b4565b620019d5565b503d62001c5c565b8062000a325f62001c90936200ed75565b5f62001935565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040516107c180820182811067ffffffffffffffff82111762000cac578291620120ee833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff62001d1891166200f4e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62001d6e91604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025f2575b506040516122c48082019082821067ffffffffffffffff83111762000cac57829162001dde91620128af843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff0801562000a1b5762001e35907fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f55565b60405160a980820182811067ffffffffffffffff82111762000cac57829162014b73833903905ff0801562000a1b5762001eaa9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055565b604051610e0d8082019180831067ffffffffffffffff84111762000cac578062001f4962010e4194848684399060608252600960608301527f4d6f636b546f6b656e0000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f4d544b000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5762001f9a9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006021541617602155565b604051610e8580820182811067ffffffffffffffff82111762000cac57829162014c1c833903905ff0801562000a1b57620020109073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006022541617602255565b604051610e6080820182811067ffffffffffffffff82111762000cac57829162015aa1833903905ff0801562000a1b57620020869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006023541617602355565b6040519181830183811067ffffffffffffffff82111762000cac5783926200211d9284399060608252600660608301527f53696d706c650000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f534d50000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b57604051906104a09081830183811067ffffffffffffffff82111762000cac5773ffffffffffffffffffffffffffffffffffffffff6200218892859462011c4e86391673ffffffffffffffffffffffffffffffffffffffff16815260200190565b03905ff0801562000a1b57620021d99073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006024541617602455565b60405161028f80820182811067ffffffffffffffff82111762000cac57829162016901833903905ff0801562000a1b576200224f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006025541617602555565b6200228161babe7fffffffffffffffffffffffff00000000000000000000000000000000000000006027541617602755565b620022b260017fffffffffffffffffffffffff00000000000000000000000000000000000000006028541617602855565b60275473ffffffffffffffffffffffffffffffffffffffff16620022fd620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762002356915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025da575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152678ac7230489e8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025c2575b50620024546200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152683635c9adc5dea000006024820152905f908290604490829084905af1801562000a1b57620025aa575b50620025076200062960225473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152683635c9adc5dea000006024820152905f908290818381604481015b03925af1801562000a1b576200259957005b8062000a325f62000a19936200ed75565b8062000a325f620025bb936200ed75565b80620024e2565b8062000a325f620025d3936200ed75565b5f6200242f565b8062000a325f620025eb936200ed75565b5f6200237d565b8062000a325f62002603936200ed75565b5f62001d95565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620029c8575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200275760048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620029b0575b506104025f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab760405180620027bf81906729a2241af62c0000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200282d60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762002998575b506104026104015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea60405180620028a481906729a2241af62c0000604060608401935f81525f60208201520152565b0390a4620028cf620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200292b6004820190610402606060808401935f815261040160208201525f60408201520152565b03925af1801562000a1b5762002980575b6200296462000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62002972610401316201015f565b62000a1961040231620103ad565b8062000a325f62002991936200ed75565b5f6200293c565b8062000a325f620029a9936200ed75565b5f62002854565b8062000a325f620029c1936200ed75565b5f6200277e565b8062000a325f620029d9936200ed75565b5f620026eb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762002a346200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b5762003003575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762002feb575b505f602062002c1a62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b601f5462002bb99060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6040519485809481937f095ea7b300000000000000000000000000000000000000000000000000000000835260048301602068056bc75e2d631000009193929373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801562000a1b5762002fc9575b5062000e6b62002dcf62002c3e6200eea1565b62002c626200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002c9c6024826200ed75565b62002ca66200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262002cd7836200efd0565b5262002ce3826200efd0565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002d1e6024826200ed75565b62002d286200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262002d58836200efe4565b5262002d64826200efe4565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002d9f6024826200ed75565b62002dad620007286200edd2565b5f6020830152604082015262002dc3826200eff5565b5262000e34816200eff5565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f60248201529062002e0e82604481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62002e6492604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762002f16925f9262002fb1575b50601f5462002ebb9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62002edf6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f50b565b03925af1801562000a1b5762002f95575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f90c5013b0000000000000000000000000000000000000000000000000000000081525f8160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200259957005b62002fab903d805f833e62000a1081836200ed75565b62002f27565b8062000a328462002fc2936200ed75565b8362002e93565b62002fe59060203d60201162001c775762001c6881836200ed75565b62002c2b565b8062000a325f62002ffc936200ed75565b8062002b66565b8062000a325f62003014936200ed75565b8062002ac2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620030556200f48f565b60405161020980820182811067ffffffffffffffff82111762000cac57829162016b90833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff16620030a6816200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620030fd92604051809481927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200315592620033bc575b5062003147620031396200f48f565b60208151910120916200f4e1565b602081519101209062010715565b62000e6b6200316762000da66200ee1f565b62000e6b620032136040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152601e60208201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265000060408201520190565b6040519283917fa932c97a000000000000000000000000000000000000000000000000000000006020840152602483016200f0ba565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200326991604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f928392620032f892620033a4575b50601f54620032c19060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937f09c5eabe000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b03925af1801562000a1b5762003388575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200336091604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200259957005b6200339e903d805f833e62000a1081836200ed75565b62003309565b8062000a3285620033b5936200ed75565b5f62003299565b8062000a325f620033cd936200ed75565b5f6200312a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620034286200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200373e575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003726575b505f60206200358662002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762003704575b5062000e6b620036c4620035aa6200eea1565b620035ce6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620036086024826200ed75565b620036126200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262003642836200efd0565b526200364e826200efd0565b506040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620036896024826200ed75565b620036936200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262002d58836200efe4565b6040517fae701fc4000000000000000000000000000000000000000000000000000000006020820152600160248201529062002e0e82604481016200079d565b620037209060203d60201162001c775762001c6881836200ed75565b62003597565b8062000a325f62003737936200ed75565b806200355a565b8062000a325f6200374f936200ed75565b80620034b6565b60206040818301928281528451809452019201905f5b8181106200377a5750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016200376c565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b8181106200383a57620038368562003829818703826200ed75565b6040519182918262003756565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200380e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620038a16200f48f565b60405161020980820182811067ffffffffffffffff82111762000cac57829162016b90833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff620038f291166200f4e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200394891604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003c61575b5062000e6b6200398262000da66200ee1f565b620039a66200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b90813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815230600482015268056bc75e2d631000006024820152915f908390604490829084905af191821562000a1b575f9262003c49575b50602062003abb62003a336200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b601f5462003a5a9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6040519586809481937f095ea7b300000000000000000000000000000000000000000000000000000000835260048301602068056bc75e2d631000009193929373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af191821562000a1b576200079d9262003c27575b5062003b7b6040517f08c379a000000000000000000000000000000000000000000000000000000000602082015262003b458162000e6b6024820160609060208152601e60208201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265000060408201520190565b6040519384917fa932c97a000000000000000000000000000000000000000000000000000000006020840152602483016200f0ba565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62003bd192604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620032f8925f9262000a215750601f546200098d9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62003c439060203d60201162001c775762001c6881836200ed75565b62003ad2565b8062000a328462003c5a936200ed75565b5f62003a08565b8062000a325f62003c72936200ed75565b5f6200396f565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162003d479162010e4184399060608252600460608301527f5a65726f00000000000000000000000000000000000000000000000000000000608083015260a06020830152600460a08301527f5a45524f0000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201525f60448201529062003db782606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003ef2575b50601f5462003e719060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62003e956200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b90803b15620005d15773ffffffffffffffffffffffffffffffffffffffff5f809462002587604051978896879586947fc5e5153b00000000000000000000000000000000000000000000000000000000865216600485016200f3cb565b8062000a325f62003f03936200ed75565b5f62003e49565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262003fa0816064810162000e6b565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004187575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8180602481015b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200416f575b50601f54620041039060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b90620041286200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92836040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62004180936200ed75565b5f620040db565b8062000a325f62004198936200ed75565b5f62004043565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b8282106200421557505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b828110620042b05750505050506020806001929601920192019092919593949562004205565b9091929394602080620042ee837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0876001960301895289516200419f565b97019501939291016200428a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601e546200433a816200ee06565b906200434a60405192836200ed75565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b838310620043915760405180620038368782620041e2565b60026020600192604051620043a6816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff8654168152620043cd8587016200f654565b8382015281520192019201919062004379565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620044346200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b604051906104a08083019183831067ffffffffffffffff84111762000cac578392620044809262011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57620044956200f6b1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4daf251f000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f938493620045df575b5082620045546200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92620045d06200457d6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200f6ee565b51925af15062000a196200f73b565b8062000a3285620045f0936200ed75565b5f6200452e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200468d816064810162000e6b565b620046b16200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f6813d787000000000000000000000000000000000000000000000000000000008252818381620046f860048201906001602083019252565b03925af1801562000a1b57620048b1575b5062000e6b620047806040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152600f60208201527f546172676574207265766572746564000000000000000000000000000000000060408201520190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620047d691604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004899575b50601f54620048259060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906200484a6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92670de0b6b3a76400006040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f620048aa936200ed75565b5f620047fd565b8062000a325f620048c2936200ed75565b5f62004709565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620049979162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362004a0391849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762004c74575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262004b00816064810162000e6b565b73ffffffffffffffffffffffffffffffffffffffff62004b3d620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b931692803b15620005d15762004b895f929183926040519485809481937f5b5e65160000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b03925af1801562000a1b5762004c5c575b50604051917f829a86d9000000000000000000000000000000000000000000000000000000008352602083600481845afa92831562000a1b5762001b579362004beb915f9162001bed575062010317565b602062004c0d60275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015293849081906024820190565b8062000a325f62004c6d936200ed75565b5f62004b9a565b8062000a325f62004c85936200ed75565b5f62004a99565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262004d22816064810162000e6b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004f0a575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8180602481015b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004ef2575b5062004e86620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9062004eab6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92836040518096819582947f5b5e6516000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62004f03936200ed75565b5f62004e5d565b8062000a325f62004f1b936200ed75565b5f62004dc5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200542d575b505f60206200502162002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200540b575b5062000e6b62005110620050456200f76f565b620050696200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620050a36024826200ed75565b620050b1620007286200ede5565b5f60208301525f60408301526060820152620050cd826200efd0565b52620050d9816200efd0565b506040519283917f174dea71000000000000000000000000000000000000000000000000000000006020840152602483016200f7f6565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620053f3575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620053db575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015290620052b382606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200530992604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f92620053c3575b50601f54620053609060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620053846200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b670de0b6b3a76400006040518096819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b8062000a3284620053d4936200ed75565b5f62005338565b8062000a325f620053ec936200ed75565b5f62005265565b8062000a325f62005404936200ed75565b5f620051c1565b620054279060203d60201162001c775762001c6881836200ed75565b62005032565b8062000a325f6200543e936200ed75565b5f62004ff5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620054996200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152670de0b6b3a76400006024820152905f908290604490829084905af1801562000a1b5762005740575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200555d816064810162000e6b565b62000e6b620055f16200558d62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f6044820152670de0b6b3a764000060648201529182906084820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200564791604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005728575b50601f54620056969060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b90620056bb6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b90620056e06200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b92803b15620005d15762002587935f8094604051968795869485937fc5e5153b000000000000000000000000000000000000000000000000000000008552600485016200f3cb565b8062000a325f62005739936200ed75565b5f6200566e565b8062000a325f62005751936200ed75565b5f620054f6565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620057b6620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62010780565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005cb2575b5062000e6b620059666040516020810190620058d28162000e6b84907fdf6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e602060408401937f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e281520152565b519020604051928391602083016044917f7f0000000000000000000000000000000000000000000000000000000000000082526001808301527f7f00000000000000000000000000000000000000000000000000000000000000602183015260228201527f5d0000000000000000000000000000000000000000000000000000000000000060428201525f60438201520190565b62005992620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b90620059b360275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762005a0b915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005c9a575b5062005a7e5f8080808062005a606200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b5af162005a6c6200f73b565b5062005a776200f8b4565b9062010817565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762005aef915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005c82575b5062000e6b62005b9c62005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f60248201819052604482015273ffffffffffffffffffffffffffffffffffffffff90911660648201529182906084820190565b62005bc4620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f8f1565b03925af1801562000a1b5762005c6a575b62005c4262000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62000a19620010136200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a325f62005c7b936200ed75565b8062005c1a565b8062000a325f62005c93936200ed75565b5f62005b16565b8062000a325f62005cab936200ed75565b5f62005a32565b8062000a325f62005cc3936200ed75565b5f62005867565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762005d1e6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200609f575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006087575b505f602062005e7c62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762006065575b5062000e6b6200602562005ea06200eea1565b62005ec46200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262005efe6024826200ed75565b62005f086200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262005f38836200efd0565b5262005f44826200efd0565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262005f7f6024826200ed75565b62005f896200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262005fb9836200efe4565b5262005fc5826200efe4565b506040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620060006024826200ed75565b6200600e620007286200edd2565b60016020830152604082015262002dc3826200eff5565b6040517fae701fc4000000000000000000000000000000000000000000000000000000006020820152600260248201529062002e0e82604481016200079d565b620060819060203d60201162001c775762001c6881836200ed75565b62005e8d565b8062000a325f62006098936200ed75565b8062005e50565b8062000a325f620060b0936200ed75565b8062005dac565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b8181106200613957620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200611e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b818110620061e857620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201620061cd565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200624f6200fa15565b6040517ffbdc73010000000000000000000000000000000000000000000000000000000060208201527fdeadbeef000000000000000000000000000000000000000000000000000000006024820152620062ad816044810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200630391604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006398575b5062006353620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200258788600483016200f942565b8062000a325f620063a9936200ed75565b5f6200632a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762006408620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006917575b507f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fda7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa5800560205262000e6b6200659e60405f20604051928391602083016044917f7f0000000000000000000000000000000000000000000000000000000000000082526001808301527f7f00000000000000000000000000000000000000000000000000000000000000602183015260228201527f5d0000000000000000000000000000000000000000000000000000000000000060428201525f60438201520190565b620065ca620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b90620065eb60275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762006643915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068ff575b50620066985f8080808062005a606200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762006709915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068e7575b5062000e6b6200675962005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620067c460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068cf575b5073ffffffffffffffffffffffffffffffffffffffff6200682160285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200685f8190670de0b6b3a7640000602083019252565b0390a36200688a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f973565b8062000a325f620068e0936200ed75565b5f620067eb565b8062000a325f620068f8936200ed75565b5f62006730565b8062000a325f62006910936200ed75565b5f6200666a565b8062000a325f62006928936200ed75565b5f620064b9565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1575f80620009e862000e6b620069f9620069776200ee1f565b6200699b6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620069d56024826200ed75565b620069e3620007286200edd2565b866020830152604082015262000e28826200efd0565b601f54620032c19060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262006ab6816064810162000e6b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006da2575b5060275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006d8a575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015262006c58816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62006cae91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006d72575b5062006cfe620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9062006d236200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92670de0b6b3a76400006040518096819582947f5b5e6516000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62006d83936200ed75565b5f62006cd5565b8062000a325f62006d9b936200ed75565b5f62006c0b565b8062000a325f62006db3936200ed75565b5f62006b67565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162006e889162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362006ef491849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57813b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183875af1801562000a1b57620071ba575b5062006f8760206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b03815f875af1801562000a1b5762007198575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201526101236044820152916200702a83606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018552846200ed75565b6040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015262007076816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620070cc91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007180575b50601f546200711b9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b803b15620005d15773ffffffffffffffffffffffffffffffffffffffff670de0b6b3a76400005f9462002587604051978896879586947fc5e5153b0000000000000000000000000000000000000000000000000000000086521690600485016200f3cb565b8062000a325f62007191936200ed75565b5f620070f3565b620071b49060203d60201162001c775762001c6881836200ed75565b62006f9a565b8062000a325f620071cb936200ed75565b5f62006f58565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405160dd80820182811067ffffffffffffffff82111762000cac57829162016d99833903905ff0801562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200741b575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ff4b3b1bc0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007403575b506200739e620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff939093166024820152919082908183816044810162002587565b8062000a325f62007414936200ed75565b5f62007375565b8062000a325f6200742c936200ed75565b5f620072e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620074876200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152681043561a88293000006024820152905f908290604490829084905af1801562000a1b5762007b01575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200758160048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ae9575b5061030173ffffffffffffffffffffffffffffffffffffffff620075e56200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf8560405180620076328190681043561a8829300000602060408401936815af1d78b58c40000081520152565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620076a060048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ad1575b5061030173ffffffffffffffffffffffffffffffffffffffff620077046200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae60405180620077428190681043561a8829300000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620077b060048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ab9575b50620077fc6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026103016040517fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff851691806200786c81905f604060608401936815af1d78b58c4000008152681043561a882930000060208201520152565b0390a462007897620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4784226e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015261030160248201526815af1d78b58c40000060448201526103026064820152905f908290608490829084905af1801562000a1b5762007aa1575b50620079406200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6200796660206200159260275473ffffffffffffffffffffffffffffffffffffffff1690565b0381855afa801562000a1b5762007985915f9162007a7d57506201015f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526103016004820152602081602481855afa801562000a1b57620079d7915f9162007a59575b5062010441565b602060405180927f70a08231000000000000000000000000000000000000000000000000000000008252818062007a176004820190610302602083019252565b03915afa801562000a1b5762000a19915f9162007a3557506201015f565b62007a52915060203d60201162000a8d5762000a7c81836200ed75565b82620015fa565b62007a76915060203d60201162000a8d5762000a7c81836200ed75565b83620079d0565b62007a9a915060203d60201162000a8d5762000a7c81836200ed75565b83620015fa565b8062000a325f62007ab2936200ed75565b806200791b565b8062000a325f62007aca936200ed75565b80620077d7565b8062000a325f62007ae2936200ed75565b80620076c7565b8062000a325f62007afa936200ed75565b80620075a8565b8062000a325f62007b12936200ed75565b8062007515565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262007baf816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f81806024810162004e36565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762007c6862007c626200fa52565b62010d01565b5062007c736200ee1f565b62007c976200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262007cd16024826200ed75565b62007cdf620007286200edd2565b5f6020830152604082015262007cf5826200efd0565b5262007d01816200efd0565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762000e6b620069f9620009e8925f95869562007dd457506040519283917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b8062000a328762007de5936200ed75565b5f62000e34565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602073ffffffffffffffffffffffffffffffffffffffff60285416604051908152f35b90602080835192838152019201905f5b81811062007e5d5750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010162007e4f565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062007ec957505050505090565b909192939460208062007f29837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951908362007f1883516040845260408401906200419f565b920151908481840391015262007e3f565b9701930193019193929062007eb9565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601b5462007f77816200ee06565b9062007f8760405192836200ed75565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b83831062007fce576040518062003836878262007e96565b6002602060019260405162007fe3816200ed1e565b62007fee866200f548565b815262007ffd8587016200fa8f565b8382015281520192019201919062007fb6565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620080de9162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac57836200814a91849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b57803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762008475575b50620081de60206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b03815f865af1801562000a1b5762008453575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448083019190915281529173ffffffffffffffffffffffffffffffffffffffff90620082736064856200ed75565b1691823b15620005d1576040517f6813d787000000000000000000000000000000000000000000000000000000008152600160048201525f8160248183885af1801562000a1b576200843b575b5062000e6b620083376040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152600f60208201527f546172676574207265766572746564000000000000000000000000000000000060408201520190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200838d91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762008423575b50601f54620083dc9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b803b15620005d15762002587935f8094604051968795869485937fc5e5153b000000000000000000000000000000000000000000000000000000008552600485016200f3cb565b8062000a325f62008434936200ed75565b5f620083b4565b8062000a325f6200844c936200ed75565b5f620082c0565b6200846f9060203d60201162001c775762001c6881836200ed75565b620081f1565b8062000a325f62008486936200ed75565b5f620081af565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b62008552620084cf6200ee1f565b620084f36200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200852d6024826200ed75565b6200853b620007286200edd2565b60016020830152604082015262000e28826200efd0565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f602482015262008590816044810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620085e691604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f92620009e892620010365750601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620087139162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac57836200877f91849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57604051917f6e553f65000000000000000000000000000000000000000000000000000000006020840152620087d28362006ffd60248201905f60206040840193606481520152565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f9485948592620088e8575b50620045d0620088946200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9462000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200fe4f565b8062000a3284620088f9936200ed75565b5f6200886b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620089546200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b5762008b10575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762008af8575b505f602062008ab262002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762008ad6575b5062000e6b62002dcf620084cf6200ee1f565b62008af29060203d60201162001c775762001c6881836200ed75565b62008ac3565b8062000a325f62008b09936200ed75565b8062008a86565b8062000a325f62008b21936200ed75565b80620089e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162008bf69162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362008c6291849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762008f19575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201529162008d60836064810162006ffd565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828062008dcc60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b5773ffffffffffffffffffffffffffffffffffffffff9262008f01575b50169182827f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d916040518062008e8d8160c0907fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef8152683635c9adc5dea000006020820152600460408201526001606082015260a060808201525f60a08201520190565b0390a362008eb8620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d15762004b895f929183926040519485809481937f5b5e65160000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b8062000a325f62008f12936200ed75565b5f62008e0a565b8062000a325f62008f2a936200ed75565b5f62008cf8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200921f575b5062000e6b620090916200903b60285473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fb8dc491b0000000000000000000000000000000000000000000000000000000060208201525f602482015273ffffffffffffffffffffffffffffffffffffffff90911660448201529182906064820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620090fc60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009207575b5073ffffffffffffffffffffffffffffffffffffffff6200915960285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab760405180620091978190670de0b6b3a7640000602083019252565b0390a3620091c2620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f942565b8062000a325f62009218936200ed75565b5f62009123565b8062000a325f62009230936200ed75565b5f62009012565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200928b6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b620092af6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f43f7ed76000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f938493620093f8575b508262000e6b620045d0620093766200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee12600000000000000000000000000000000000000000000000000000000602082019081527fb30d459a6b00a49186844b25c929ca3bb6dacc26a607cc6fd07c1cd084247c5e602483015273ffffffffffffffffffffffffffffffffffffffff9687166044830152959096166064870152949182906084820190565b8062000a328562009409936200ed75565b5f62009348565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200944357505050505090565b909192939460208062009481837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516200419f565b9701930193019193929062009433565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601a54620094cf816200ee06565b90620094df60405192836200ed75565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831062009526576040518062003836878262009410565b60016020819262009537856200f548565b8152019201920191906200950e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009986575b505f60206200964562002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762009964575b5062000e6b62009669620050456200f76f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200994c575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009934575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a76400006044820152906200980c82606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200986292604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f926200991c575b50601f54620098b99060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620098dd6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b670de0b6b3a76400006040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f314565b8062000a32846200992d936200ed75565b5f62009891565b8062000a325f62009945936200ed75565b5f620097be565b8062000a325f6200995d936200ed75565b5f6200971a565b620099809060203d60201162001c775762001c6881836200ed75565b62009656565b8062000a325f62009997936200ed75565b5f62009619565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009da7575b505f602062009a9d62002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762009d85575b5062000e6b62009ac162000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1690737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762009bf0925f9262009d6d575b50601f5462009b959060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62009bb96200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f314565b03925af1801562000a1b5762009d51575b5062009ca362009c2a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b602062009c5462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015292839081906024820190565b0381845afa90811562000a1b5762009cca60209262001bcf945f9162009d3657506201015f565b60265473ffffffffffffffffffffffffffffffffffffffff165b9060405180809581947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b62001c2c9150843d861162000a8d5762000a7c81836200ed75565b62009d67903d805f833e62000a1081836200ed75565b62009c01565b8062000a328462009d7e936200ed75565b5f62009b6d565b62009da19060203d60201162001c775762001c6881836200ed75565b62009aae565b8062000a325f62009db8936200ed75565b5f62009a71565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762009e136200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b604051906104a08083019183831067ffffffffffffffff84111762000cac57839262009e5f9262011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b576040517f6e553f65000000000000000000000000000000000000000000000000000000006020820152631234567860248201525f60448201529062009eb382606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fcc00c48a000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f93849362009fed575b508262009f716200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92620045d062009f9a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200fe97565b8062000a328562009ffe936200ed75565b5f62009f4b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200a150575b6200a1245f808080670de0b6b3a76400006200a11162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b5af16200a11d6200f73b565b5062010888565b62000a196200101362000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b8062000a325f6200a161936200ed75565b5f6200a0d8565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200a19b57505050505090565b90919293946020806200a200837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff81511684520151918185820152019062007e3f565b970193019301919392906200a18b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601d546200a24e816200ee06565b906200a25e60405192836200ed75565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106200a2a557604051806200383687826200a168565b600260206001926040516200a2ba816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff86541681526200a2e18587016200fa8f565b838201528152019201920191906200a28d565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200a38a816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f818060248101620040b4565b34620005d1575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927fc2add59d0000000000000000000000000000000000000000000000000000000082525afa90811562000a1b575f916200a577575b5073ca11bde05977b3631167028862be2a173976ca1173ffffffffffffffffffffffffffffffffffffffff8216036200a4c3575080f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f515361f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91909116600482015273ca11bde05977b3631167028862be2a173976ca1160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b576200a569575080f35b62000a1991505f906200ed75565b6200a59e915060203d6020116200a5a5575b6200a59581836200ed75565b8101906200fed8565b5f6200a48c565b503d6200a589565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200a6016200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200a8e5575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200a8cd575b505f60206200a75f62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200a8ab575b5062000e6b6200a783620084cf6200ee1f565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f6024820152906200a7c282604481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200a81892604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762002f16925f926200a893575b50601f546200a86f9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620009b16200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a32846200a8a4936200ed75565b836200a847565b6200a8c79060203d60201162001c775762001c6881836200ed75565b6200a770565b8062000a325f6200a8de936200ed75565b806200a733565b8062000a325f6200a8f6936200ed75565b806200a68f565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200a93f62000da66200ee1f565b6040517fb25102da000000000000000000000000000000000000000000000000000000006020820152671bc16d674ec800006024820152670de0b6b3a764000060448201526200a993816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200a9e991604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f92620009e8926200aa80575b50601f546200aa499060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937fa9baaaf5000000000000000000000000000000000000000000000000000000008352600483016200f352565b8062000a32856200aa91936200ed75565b5f6200aa21565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200acb7575b5062000e6b6200ab8c62000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f9262000fab926200ac9f575b50601f546200ac689060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937f7a7eeb4f000000000000000000000000000000000000000000000000000000008352600483016200f2a5565b8062000a32856200acb0936200ed75565b5f6200ac40565b8062000a325f6200acc8936200ed75565b5f6200ab79565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200afd7575b506040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200ae17816064810162000e6b565b6200ae796200ae3f6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b6040519384927f5b5e6516000000000000000000000000000000000000000000000000000000006020850152602484016200f434565b6200aea1620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200aee688600483016200f942565b03925af1801562000a1b576200afbf575b506200af2062000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b600460206200af486200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b6200af548131620101ed565b604051928380927f829a86d90000000000000000000000000000000000000000000000000000000082525afa801562000a1b5762000a19915f916200af9b575b50620101ed565b6200afb8915060203d60201162000a8d5762000a7c81836200ed75565b826200af94565b8062000a325f6200afd0936200ed75565b806200aef7565b8062000a325f6200afe8936200ed75565b5f6200adb0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200b047620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b726575b5060405160208101906200b15b8162000e6b84907f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd81371602060408401937f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e281520152565b5190206200b18a620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60275473ffffffffffffffffffffffffffffffffffffffff1660405160a580820182811067ffffffffffffffff82111762000cac57829162016e76833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff6200b1f391166200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576200b24c915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b70e575b506200b2f75f806200b29e6200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517ff71f7a25000000000000000000000000000000000000000000000000000000006020820190815260248201889052600160448301529083906200b2e9816064810162000e6b565b51925af162005a6c6200f73b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576200b368915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b6f6575b5062000e6b6200b3b862005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200b42360048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b6de575b5073ffffffffffffffffffffffffffffffffffffffff6200b48060285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200b4be8190670de0b6b3a7640000602083019252565b0390a36200b4e9620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576200b5305f929183926040519485809481937f4c4e814c000000000000000000000000000000000000000000000000000000008352600483016200f9c4565b03925af1801562000a1b576200b6c6575b506200b5bf60206200b56860275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101949094529291829081906044820190565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b5762000a1992620006296200b600926200b6a3945f916200b6a957506201015f565b6200b60c81316201015f565b6200b634620010136200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd813716020527f9c7c9f298611b7d8667b6eb576567d73156e4ea63376919907aa1295a2fd9a9e90620109d2565b620104d7565b62001c2c915060203d60201162000a8d5762000a7c81836200ed75565b8062000a325f6200b6d7936200ed75565b5f6200b541565b8062000a325f6200b6ef936200ed75565b5f6200b44a565b8062000a325f6200b707936200ed75565b5f6200b38f565b8062000a325f6200b71f936200ed75565b5f6200b273565b8062000a325f6200b737936200ed75565b5f6200b0f8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601c546200b77c816200ee06565b906200b78c60405192836200ed75565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106200b7d357604051806200383687826200a168565b600260206001926040516200b7e8816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff86541681526200b80f8587016200fa8f565b838201528152019201920191906200b7bb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200b8766200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820181905291602090829060249082905afa90811562000a1b575f916200bcfb575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200ba14926200bce3575b506020816200b9946200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b601f546200b9bb9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b5f6040518097819582947f095ea7b3000000000000000000000000000000000000000000000000000000008452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af191821562000a1b576200079d926200bcc1575b506200ba3a620006bc6200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1691737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9390931660048401525f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b576200bb69935f926200bca9575b50601f546200bb0e9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6200bb326200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518097819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b03925af191821562000a1b576200bbcf926200bc8d575b506200bba56200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b602062004c0d62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b0381845afa90811562000a1b576200bbf66020926200bc4b955f9162009d3657506201015f565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015293849190829081906024820190565b03915afa801562000a1b5762000a19925f916200bc69575062010687565b6200bc86915060203d60201162000a8d5762000a7c81836200ed75565b5f620016ab565b6200bca3903d805f833e62000a1081836200ed75565b6200bb80565b8062000a32846200bcba936200ed75565b5f6200bae6565b6200bcdd9060203d60201162001c775762001c6881836200ed75565b6200ba2b565b8062000a325f6200bcf4936200ed75565b5f6200b96c565b6200bd18915060203d60201162000a8d5762000a7c81836200ed75565b5f6200b8db565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200bd6162000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200bec7575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f928392620009e8926200ac9f5750601f546200ac689060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200bed8936200ed75565b5f6200be04565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576019546200bf1d816200ee06565b906200bf2d60405192836200ed75565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106200bf74576040518062003836878262009410565b6001602081926200bf85856200f548565b8152019201920191906200bf5c565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760206200bfd06200ff06565b6040519015158152f35b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac5782916200c0a89162010e4184399060608252600460608301527f5a65726f00000000000000000000000000000000000000000000000000000000608083015260a06020830152600460a08301527f5a45524f0000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201525f6044820152906200c11882606481016200079d565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c310575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c2f8575b506200c277620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200c29b6200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b90803b15620005d15773ffffffffffffffffffffffffffffffffffffffff5f809462002587604051978896879586947f5b5e651600000000000000000000000000000000000000000000000000000000865216600485016200f3cb565b8062000a325f6200c309936200ed75565b5f6200c24e565b8062000a325f6200c321936200ed75565b5f6200c1bb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c65f575b506200c42e6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b31737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200c49a60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c647575b5060285473ffffffffffffffffffffffffffffffffffffffff16906040515f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff851692806200c5318190670de0b6b3a7640000602083019252565b0390a36200c55c620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff94909416602482015292908390604490829084905af190811562000a1b5762000a19926200c629926200c62f575b506200c5fa6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b316200c62362000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200f379565b620101ed565b8062000a325f6200c640936200ed75565b5f6200c5d5565b8062000a325f6200c658936200ed75565b5f6200c4c1565b8062000a325f6200c670936200ed75565b5f6200c409565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c7de575b50601f546200c7619060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b60285473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff84166024830152909182908183816044810162002587565b8062000a325f6200c7ef936200ed75565b5f6200c739565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200c83862000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1690737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200079d926200ca20575b506200c9746200c90f62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f604482015268056bc75e2d6310000060648201529283906084820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200c9ca92604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f9262009d6d5750601f5462009b959060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200ca31936200ed75565b5f6200c8e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200cc50575b506040517f4784226e0000000000000000000000000000000000000000000000000000000060208201525f60248201526105016044820152670de0b6b3a7640000606482015261050260848201526200cb768160a4810162000e6b565b6200cb9e620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200cbe388600483016200f942565b03925af1801562000a1b576200cc38575b6200cc1c62000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200cc2a61050131620101ed565b62000a19610502316201055d565b8062000a325f6200cc49936200ed75565b806200cbf4565b8062000a325f6200cc61936200ed75565b5f6200cb19565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200ccbc6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200d133575b506200cd9460206200cd756200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60285473ffffffffffffffffffffffffffffffffffffffff1662009ce4565b03915afa90811562000a1b575f916200d10f575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200ce1460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d0f7575b506200ce606200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b906200ce8160285473ffffffffffffffffffffffffffffffffffffffff1690565b9160405173ffffffffffffffffffffffffffffffffffffffff8416907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff841691806200ceef819068056bc75e2d63100000602083019252565b0390a36200cf1a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92833b15620005d1576040517fb8dc491b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152915f908390604490829084905af191821562000a1b576200cfd6926200d0df575b506200cfb36200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b90602062004c0d60285473ffffffffffffffffffffffffffffffffffffffff1690565b0381855afa91821562000a1b576200d066935f936200d0b8575b506020906200d01460275473ffffffffffffffffffffffffffffffffffffffff1690565b9060405180809781947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03915afa91821562000a1b576200c6236200d08e9362000a19955f916200d09457506201015f565b620105f1565b6200d0b1915060203d60201162000a8d5762000a7c81836200ed75565b86620015fa565b60209193506200d0d790823d841162000a8d5762000a7c81836200ed75565b92906200cff0565b8062000a325f6200d0f0936200ed75565b826200cf8e565b8062000a325f6200d108936200ed75565b816200ce3b565b6200d12c915060203d60201162000a8d5762000a7c81836200ed75565b816200cda8565b8062000a325f6200d144936200ed75565b806200cd4a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1575f80620009e862000e6b620069f96200d1936200ef22565b6200d1b76200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200d1f16024826200ed75565b6200d1fb6200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529087602083015260408201526200d22b836200efd0565b526200d237826200efd0565b506040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200d2726024826200ed75565b6200d280620007286200edd2565b86602083015260408201526200d296826200efe4565b5262000e34816200efe4565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b8181106200d32457620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200d309565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602073ffffffffffffffffffffffffffffffffffffffff60275416604051908152f35b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405161045880820182811067ffffffffffffffff82111762000cac57829162016f1b833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152671bc16d674ec8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d6a4575b506040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201526101236044820152906200d51882606481016200079d565b5f6200d54162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6200d5656200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b906200d59f60405195869384937f44c3b4270000000000000000000000000000000000000000000000000000000085526004850162010013565b038183855af191821562000a1b576004926200d5c8915f916200d67c575b5062005a7762010082565b60206200d5ee6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b604051938480927f829a86d90000000000000000000000000000000000000000000000000000000082525afa91821562000a1b5762000a19926200d646915f916200d658575b506200d63f620100bf565b9062010bb3565b316200d65162010122565b9062010c7a565b6200d675915060203d60201162000a8d5762000a7c81836200ed75565b5f6200d634565b6200d69c91503d805f833e6200d69381836200ed75565b8101906200ffd8565b505f6200d5bd565b8062000a325f6200d6b5936200ed75565b5f6200d4b0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d7ee575b5062000e6b6200d7c66200903b60285473ffffffffffffffffffffffffffffffffffffffff1690565b620091c2620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a325f6200d7ff936200ed75565b5f6200d79d565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200d85a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b6200d87e6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f43f7ed76000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f9384936200d9c7575b508262000e6b620045d06200d9456200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee12600000000000000000000000000000000000000000000000000000000602082019081527f4c383bae8897cd5b4ac6de30be57e2e818a5b6a4a77c60122b7b50a8e81c727f602483015273ffffffffffffffffffffffffffffffffffffffff9687166044830152959096166064870152949182906084820190565b8062000a32856200d9d8936200ed75565b5f6200d917565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200dea3575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200db2c60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de8b575b506101015f7ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae604051806200db948190670de0b6b3a7640000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200dc0260048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de73575b506101025f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200dc6a8190671bc16d674ec80000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200dcd860048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de5b575b506101026101015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea604051806200dd5f8190671bc16d674ec8000060406060840193670de0b6b3a76400008152670de0b6b3a764000060208201520152565b0390a46200dd8a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200ddee6004820190610102606060808401935f81526101016020820152670de0b6b3a764000060408201520152565b03925af1801562000a1b576200de43575b6200de2762000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200de3561010131620101ed565b62000a19610102316201055d565b8062000a325f6200de54936200ed75565b5f6200ddff565b8062000a325f6200de6c936200ed75565b5f6200dcff565b8062000a325f6200de84936200ed75565b5f6200dc29565b8062000a325f6200de9c936200ed75565b5f6200db53565b8062000a325f6200deb4936200ed75565b5f6200dac0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200defd62000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e0aa575b506040517fb25102da000000000000000000000000000000000000000000000000000000006020820152670de0b6b3a764000060248201526706f05b59d3b2000060448201526200dff5816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200e04b91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576706f05b59d3b20000925f92620009e892620010365750601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200e0bb936200ed75565b5f6200dfa0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e490575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200e20f60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e478575b506102015f7ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae604051806200e27781906729a2241af62c0000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200e2e560048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e460575b506102026102015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea604051806200e36481905f604060608401936729a2241af62c000081526729a2241af62c000060208201520152565b0390a46200e38f620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200e3f36004820190610202606060808401935f815261020160208201526729a2241af62c000060408201520152565b03925af1801562000a1b576200e448575b6200e42c62000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200e43a61020131620103ad565b62000a19610202316201015f565b8062000a325f6200e459936200ed75565b5f6200e404565b8062000a325f6200e471936200ed75565b5f6200e30c565b8062000a325f6200e489936200ed75565b5f6200e236565b8062000a325f6200e4a1936200ed75565b5f6200e1a3565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405160dd80820182811067ffffffffffffffff82111762000cac57829162016d99833903905ff0801562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e718575b506200e5e1620010136200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ff4b3b1bc000000000000000000000000000000000000000000000000000000006004820152905f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b575f9283926200e700575b506200e69e6200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fb8dc491b00000000000000000000000000000000000000000000000000000000602082019081525f602483015273ffffffffffffffffffffffffffffffffffffffff90931660448201529091908390620045d0816064810162000e6b565b8062000a32846200e711936200ed75565b5f6200e679565b8062000a325f6200e729936200ed75565b5f6200e5b8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200e7846200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200ea5b575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200ea43575b505f60206200e8e262002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200ea21575b5062000e6b62002dcf6200e9066200eea1565b6200e92a6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200e9646024826200ed75565b6200e96e6200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152906001602083015260408201526200e99f836200efd0565b526200e9ab826200efd0565b506040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200e9e66024826200ed75565b6200e9f06200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262005fb9836200efe4565b6200ea3d9060203d60201162001c775762001c6881836200ed75565b6200e8f3565b8062000a325f6200ea54936200ed75565b806200e8b6565b8062000a325f6200ea6c936200ed75565b806200e812565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200eb09816064810162000e6b565b601f546200eb309060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906200eb556200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d1576200eba4925f92670de0b6b3a76400006040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b03925af1801562000a1b576200ec97575b506200ebda6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f829a86d9000000000000000000000000000000000000000000000000000000008152602081600481855afa801562000a1b576200ec23915f916200ec735750620101ed565b604051907ff5632ab4000000000000000000000000000000000000000000000000000000008252602082600481845afa91821562000a1b5762000a199262001013915f916200ec735750620101ed565b6200ec90915060203d60201162000a8d5762000a7c81836200ed75565b5f6200af94565b8062000a325f6200eca8936200ed75565b5f6200ebb5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111762000cac57604052565b6060810190811067ffffffffffffffff82111762000cac57604052565b6080810190811067ffffffffffffffff82111762000cac57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111762000cac57604052565b90816020910312620005d1575190565b6040513d5f823e3d90fd5b604051906200ede36060836200ed75565b565b604051906200ede36080836200ed75565b906200ede360405192836200ed75565b67ffffffffffffffff811162000cac5760051b60200190565b6040805191906200ee3190836200ed75565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200ee6360016200ee06565b01905f5b8281106200ee7457505050565b6020906040516200ee85816200ed3b565b5f81525f8382015260606040820152828285010152016200ee67565b604051906200eeb26080836200ed75565b60038252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200eee460036200ee06565b01905f5b8281106200eef557505050565b6020906040516200ef06816200ed3b565b5f81525f8382015260606040820152828285010152016200eee8565b604051906200ef336060836200ed75565b60028252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200ef6560026200ee06565b01905f5b8281106200ef7657505050565b6020906040516200ef87816200ed3b565b5f81525f8382015260606040820152828285010152016200ef69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156200efde5760200190565b6200efa3565b8051600110156200efde5760400190565b8051600210156200efde5760600190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200f03957505050505090565b90919293946020806200f0aa837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752606060408b5173ffffffffffffffffffffffffffffffffffffffff81511684528581015115158685015201519181604082015201906200419f565b970193019301919392906200f029565b9060206200f0cd9281815201906200419f565b90565b51908115158203620005d157565b67ffffffffffffffff811162000cac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620005d1578051906200f133826200f0de565b926200f14360405194856200ed75565b82845260208383010111620005d157815f9260208093018386015e8301015290565b602081830312620005d15780519067ffffffffffffffff8211620005d157019080601f83011215620005d1578151916200f19f836200ee06565b926200f1af60405194856200ed75565b80845260208085019160051b83010191838311620005d15760208101915b8383106200f1dd57505050505090565b825167ffffffffffffffff8111620005d15782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08388030112620005d157604051906200f22e826200ed1e565b6200f23c602084016200f0d0565b825260408301519167ffffffffffffffff8311620005d1576200f268886020809695819601016200f119565b838201528152019201916200f1cd565b9060406200f0cd9273ca11bde05977b3631167028862be2a173976ca11815281602082015201906200419f565b9060406200f0cd925f815281602082015201906200419f565b60409073ffffffffffffffffffffffffffffffffffffffff6200f0cd949316815281602082015201906200419f565b9060606200f0cd925f8152670de0b6b3a7640000602082015281604082015201906200419f565b60609073ffffffffffffffffffffffffffffffffffffffff6200f0cd949316815268056bc75e2d63100000602082015281604082015201906200419f565b9060606200f0cd925f8152671bc16d674ec80000602082015281604082015201906200419f565b919082039182116200f38757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90816020910312620005d1576200f0cd906200f0d0565b93926200f4289073ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef948160809516885216602087015260a0604087015260a08601906200419f565b93600460608201520152565b92916200f42860809173ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef945f885216602087015260a0604087015260a08601906200419f565b73ca11bde05977b3631167028862be2a173976ca113b906200f4b1826200f0de565b916200f4c160405193846200ed75565b8083525f6020840173ca11bde05977b3631167028862be2a173976ca113c565b90813b5f6200f4f0826200f0de565b936200f50060405195866200ed75565b82855260208501903c565b60609073ffffffffffffffffffffffffffffffffffffffff6200f0cd9493168152678ac7230489e80000602082015281604082015201906200419f565b90604051915f8154908160011c92600183169081156200f649575b6020851082146200f61c57848752869360208501929081156200f5de57506001146200f59a575b50506200ede3925003836200ed75565b6200f5aa9192505f5260205f2090565b905f915b8483106200f5c657506200ede39350015f806200f58a565b8054828401528693506020909201916001016200f5ae565b90506200ede3959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f806200f58a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936200f563565b9081546200f662816200ee06565b926200f67260405194856200ed75565b81845260208401905f5260205f205f915b8383106200f6915750505050565b6001602081926200f6a2856200f548565b8152019201920191906200f683565b604051906200f6c26040836200ed75565b600482527f12345678000000000000000000000000000000000000000000000000000000006020830152565b93926200f72f9073ffffffffffffffffffffffffffffffffffffffff63deadbeef948160809516885216602087015260a0604087015260a08601906200419f565b93602460608201520152565b3d156200f76a573d906200f74f826200f0de565b916200f75f60405193846200ed75565b82523d5f602084013e565b606090565b6040805191906200f78190836200ed75565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200f7b360016200ee06565b01905f5b8281106200f7c457505050565b6020906040516200f7d5816200ed58565b5f81525f838201525f6040820152606080820152828285010152016200f7b7565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200f82957505050505090565b90919293946020806200f8a4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752608060608b5173ffffffffffffffffffffffffffffffffffffffff8151168452858101511515868501526040810151604085015201519181606082015201906200419f565b970193019301919392906200f819565b604051906200f8c56040836200ed75565b601182527f7473746f726520736574206661696c65640000000000000000000000000000006020830152565b9060c06200f0cd927fdf6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e81525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd925f81525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd927fda7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa5800581525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd927f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd8137181525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b604051906200fa266040836200ed75565b600482527fdeadbeef000000000000000000000000000000000000000000000000000000006020830152565b604051906200fa636040836200ed75565b600382527f656f6100000000000000000000000000000000000000000000000000000000006020830152565b604051815480825290929183906200faae60208301915f5260205f2090565b925f905b8060078301106200fcce576200ede39454918181106200fc90575b8181106200fc58575b8181106200fc20575b8181106200fbe8575b8181106200fbb0575b8181106200fb78575b8181106200fb41575b106200fb13575b5003836200ed75565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6200fb0a565b602083811b7fffffffff0000000000000000000000000000000000000000000000000000000016855290936001910193016200fb03565b604083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fafa565b606083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200faf1565b608083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fae8565b60a083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fadf565b60c083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fad6565b926020816200fcc56001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b0193016200facd565b9160089193506101006001916200fe4087546200fd0f838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b0194019201859293916200fab2565b93926200fe8c9073ffffffffffffffffffffffffffffffffffffffff5f948160809516885216602087015260a0604087015260a08601906200419f565b938260608201520152565b93926200f4289073ffffffffffffffffffffffffffffffffffffffff63deadbeef948160809516885216602087015260a0604087015260a08601906200419f565b90816020910312620005d1575173ffffffffffffffffffffffffffffffffffffffff81168103620005d15790565b60085460ff16156200ff1757600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811562000a1b575f916200ffb4575b50151590565b6200ffd1915060203d60201162000a8d5762000a7c81836200ed75565b5f6200ffae565b919091604081840312620005d1576200fff1816200f0d0565b92602082015167ffffffffffffffff8111620005d1576200f0cd92016200f119565b9392620100769073ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef948160a0951688525f602089015216604087015260c0606087015260c08601906200419f565b93600460808201520152565b60405190620100936040836200ed75565b601b82527f44656c656761746563616c6c2073686f756c64207375636365656400000000006020830152565b60405190620100d06060836200ed75565b602a82527f54482062616c616e6365000000000000000000000000000000000000000000006040837f5461726765742073686f756c6420726563656976652077616c6c65742773204560208201520152565b60405190620101336040836200ed75565b601c82527f57616c6c65742073686f756c6420626520737765707420656d707479000000006020830152565b80620101685750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b5f6200ede3916200ed75565b670de0b6b3a76400008103620102005750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152670de0b6b3a764000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b68068155a43676e000008103620102955750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c54000000000000000000000000000000000000000000000000000000008252600482015268068155a43676e0000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b683635c9adc5dea0000081036201032b5750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152683635c9adc5dea0000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b6729a2241af62c00008103620103c05750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201526729a2241af62c000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b681043561a88293000008103620104555750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152681043561a882930000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b60018103620104e35750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b671bc16d674ec800008103620105705750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152671bc16d674ec8000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b68056bc75e2d631000008103620106055750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c54000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b81810362010693575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f98296c54000000000000000000000000000000000000000000000000000000008152600481019190915260248101919091525f8180604481015b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b81810362010721575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f7c84c69b000000000000000000000000000000000000000000000000000000008152600481019190915260248101919091525f818060448101620106ed565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f6024820152600160448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620101e15750565b158062010822575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157620106ed915f9160405193849283927fa34edc030000000000000000000000000000000000000000000000000000000084521560048401526040602484015260448301906200419f565b1580620108925750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f0c9fd5810000000000000000000000000000000000000000000000000000000082521560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b156201090e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f746c6f6164206661696c656400000000000000000000000000000000000000006044820152fd5b156201097457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f746c6f61642072657475726e656420696e73756666696369656e7420646174616044820152fd5b620109dd816200f4e1565b91609590620109ef602083016200edf6565b91808352620173736020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62010a5392604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835287600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b575f92839262010b9b575b5060405162010ac28162000e6b60208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b5190845afa62010ad16200f73b565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010b2a935f9160405195869283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b576200f0cd9362010b639262010b83575b5062010906565b62010b736020825110156201096c565b602080825183010191016200edb7565b8062000a325f62010b94936200ed75565b5f62010b5c565b8062000a328462010bac936200ed75565b5f62010a7f565b671bc16d674ec80000810362010bc7575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010c3a915f9160405193849283927f88b44c850000000000000000000000000000000000000000000000000000000084526004840152671bc16d674ec8000060248401526060604484015260648301906200419f565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b5762010c625750565b8062010c705f80936200ed75565b800312620005d157565b8062010c84575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157620106ed915f9160405193849283927f88b44c8500000000000000000000000000000000000000000000000000000000845260048401528460248401526060604484015260648301906200419f565b805191908290602001825e015f815290565b90604051602081019062010d1b8162000e6b848762010cef565b51902090604051927fffa186490000000000000000000000000000000000000000000000000000000084526020848062010d5d86600483019190602083019252565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa93841562000a1b575f9462010e1a575b5083737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010de0915f9160405193849283927fc657c718000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762010e095750565b8062000a325f6200ede3936200ed75565b62010e3891945060203d6020116200a5a5576200a59581836200ed75565b925f62010d8656fe60806040523461033057610e0d8038038061001981610334565b9283398101906060818303126103305780516001600160401b0381116103305782610045918301610359565b60208201519092906001600160401b03811161033057604091610069918401610359565b91015160ff81168091036103305782516001600160401b03811161024157600354600181811c91168015610326575b602082101461022357601f81116102c3575b506020601f821160011461026057819293945f92610255575b50508160011b915f199060031b1c1916176003555b81516001600160401b03811161024157600454600181811c91168015610237575b602082101461022357601f81116101c0575b50602092601f821160011461015f57928192935f92610154575b50508160011b915f199060031b1c1916176004555b60ff196005541617600555604051610a6290816103ab8239f35b015190505f80610125565b601f1982169360045f52805f20915f5b8681106101a85750836001959610610190575b505050811b0160045561013a565b01515f1960f88460031b161c191690555f8080610182565b9192602060018192868501518155019401920161016f565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610219575b601f0160051c01905b81811061020e575061010b565b5f8155600101610201565b90915081906101f8565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100f9565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100c3565b601f1982169060035f52805f20915f5b8181106102ab57509583600195969710610293575b505050811b016003556100d8565b01515f1960f88460031b161c191690555f8080610285565b9192602060018192868b015181550194019201610270565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061031c575b601f0160051c01905b81811061031157506100aa565b5f8155600101610304565b90915081906102fb565b90607f1690610098565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761024157604052565b81601f82011215610330578051906001600160401b03821161024157610388601f8301601f1916602001610334565b928284526020838301011161033057815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461077757508063095ea7b3146106ca57806318160ddd1461068f57806323b872dd146104fb578063313ce567146104bd57806340c10f19146103be57806370a082311461035c57806395d89b4114610169578063a9059cbb1461011a5763dd62ed3e1461008a575f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576100c16108f0565b73ffffffffffffffffffffffffffffffffffffffff6100de610913565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165761015e6101546108f0565b6024359033610936565b602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576040515f600454908160011c60018316928315610352575b6020821084146103255781855284939081156102c5575060011461024b575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102a957505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b6020919350806001915483858801015201910190918392610275565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506101ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101af565b346101165760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165773ffffffffffffffffffffffffffffffffffffffff6103a86108f0565b165f525f602052602060405f2054604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576103f56108f0565b73ffffffffffffffffffffffffffffffffffffffff16602435811561049157600254908082018092116104645760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011657602060ff60055416604051908152f35b346101165760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576105326108f0565b61053a610913565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106105b6575b5061015e9350610936565b83811061065b57841561062f5733156106035761015e945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846105ab565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576020600254604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576107016108f0565b60243590331561062f5773ffffffffffffffffffffffffffffffffffffffff1690811561060357335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116575f600354908160011c6001831692831561089e575b6020821084146103255781855284939081156102c55750600114610824575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061088257505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b602091935080600191548385880101520191019091839261084e565b90607f16906107ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b73ffffffffffffffffffffffffffffffffffffffff16908115610a005773ffffffffffffffffffffffffffffffffffffffff1691821561049157815f525f60205260405f20548181106109ce57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220cebe9d271f663eb56aba81c7274ebae25e1a809741756e03a398137806df3e1964736f6c634300081e0033608034607f57601f6104a038819003918201601f19168301916001600160401b03831184841017608357808492602094604052833981010312607f57516001600160a01b0381168103607f5760018054610100600160a81b03191660089290921b610100600160a81b031691909117905560405161040890816100988239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081636813d787146103655781636e553f651461012557508063829a86d9146100eb578063d3072d82146100ab5763fc0c546a14610053575f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602073ffffffffffffffffffffffffffffffffffffffff60015460081c16604051908152f35b5f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602060ff600154166040519015158152f35b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a75760205f54604051908152f35b346100a75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004359060243573ffffffffffffffffffffffffffffffffffffffff8116036100a7576001549060ff8216610309575073ffffffffffffffffffffffffffffffffffffffff90825f5560081c1690816101a957005b5f91606460209260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845233600485015230602485015260448401525af19081156102fe575f91610262575b501561020457005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433230207472616e7366657246726f6d206661696c6564000000000000006044820152fd5b905060203d6020116102f7575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff8211176102ca576020918391604052810103126100a7575180151581036100a757816101fc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b503d61026f565b6040513d5f823e3d90fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fd5b346100a75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004358015158091036100a75760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600154169116176001555f80f3fea2646970667358221220743a172d6fb225dce39c03b6fc94b2006c3c5313ca5971aef4fd0a39b136f4e464736f6c634300081e0033608080604052346015576107a7908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146102ee57508063678d2204146102af57806382ad56cb146100b75763a5aa5c1214610048575f80fd5b346100b35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b3576004358015158091036100b35760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54169116175f555f80f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610101903690600401610449565b60ff5f54166102505790610114826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301915b8481101561023e578060051b820135838112156100b35782016101c260205f8061016785610658565b816101756040880188610679565b9190826040519384928337810182815203925af1926101926106ca565b9361019b61053f565b90159485158252838201526101b0868a610723565b526101bb8589610723565b5001610764565b159081610236575b506101d75760010161013e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606490fd5b9050866101ca565b6040518061024c868261047a565b0390f35b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b346100b3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b357602060ff5f54166040519015158152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610338903690600401610449565b909160ff5f54166103ed57509061034e826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181360301915b8481101561023e578060051b820135838112156100b35782016103d060205f806103a185610658565b6103ae6060870187610679565b90816040519283928337810184815203916040880135905af1926101926106ca565b1590816103e5575b506101d757600101610378565b9050866103d8565b7f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b9181601f840112156100b35782359167ffffffffffffffff83116100b3576020808501948460051b0101116100b357565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106104ac57505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f858286010152011601019701930193019193929061049d565b604051906040820182811067ffffffffffffffff82111761055f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761055f57604052565b67ffffffffffffffff811161055f5760051b60200190565b906105fa6105f5836105d0565b61058c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061062882946105d0565b01905f5b82811061063857505050565b60209061064361053f565b5f81526060838201528282850101520161062c565b3573ffffffffffffffffffffffffffffffffffffffff811681036100b35790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100b3570180359067ffffffffffffffff82116100b3576020019181360383136100b357565b3d1561071e573d9067ffffffffffffffff821161055f5761071260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161058c565b9182523d5f602084013e565b606090565b80518210156107375760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3580151581036100b3579056fea2646970667358221220d15ba587833d285de2ae313b5bc0b60766daf63461a11d37ec63afc45d49b39d64736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033608080604052346013576091908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c635e01eb5a146023575f80fd5b346057575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605757602090338152f35b5f80fdfea26469706673582212205f55ad5e47296d566efef322f8f119c6af20cacbd4f659718157eeac617e410164736f6c634300081e003360806040523461032457604080519081016001600160401b03811182821017610237576040908152600d82526c2330b4b634b733902a37b5b2b760991b602083015280519081016001600160401b038111828210176102375760405260048152631190525360e21b602082015281516001600160401b03811161023757600354600181811c9116801561031a575b602082101461021957601f81116102b7575b50602092601f821160011461025657928192935f9261024b575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161023757600454600181811c9116801561022d575b602082101461021957601f81116101b6575b50602091601f8211600114610156579181925f9261014b575b50508160011b915f199060031b1c1916176004555b601260ff196005541617600555604051610b5c90816103298239f35b015190505f8061011a565b601f1982169260045f52805f20915f5b85811061019e57508360019510610186575b505050811b0160045561012f565b01515f1960f88460031b161c191690555f8080610178565b91926020600181928685015181550194019201610166565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061020f575b601f0160051c01905b8181106102045750610101565b5f81556001016101f7565b90915081906101ee565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b9565b601f1982169360035f52805f20915f5b86811061029f5750836001959610610287575b505050811b016003556100ce565b01515f1960f88460031b161c191690555f8080610279565b91926020600181928685015181550194019201610266565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610310575b601f0160051c01905b818110610305575061009f565b5f81556001016102f8565b90915081906102ef565b90607f169061008d565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461075d57508063095ea7b31461065857806318160ddd1461061d57806323b872dd146105c6578063313ce5671461058857806340c10f1914610489578063678d22041461044657806370a08231146103e457806395d89b41146101f1578063a5aa5c121461017f578063a9059cbb146101305763dd62ed3e146100a0575f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576100d76108d6565b73ffffffffffffffffffffffffffffffffffffffff6100f46108f9565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761017461016a6108d6565b6024359033610a30565b602060405160018152f35b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760043580151580910361012c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006005549260081b169116176005555f80f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576040515f600454908160011c600183169283156103da575b6020821084146103ad57818552849390811561034d57506001146102d3575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061033157505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b60209193508060019154838588010152019101909183926102fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610256565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610237565b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5773ffffffffffffffffffffffffffffffffffffffff6104306108d6565b165f525f602052602060405f2054604051908152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055460081c166040519015158152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576104c06108d6565b73ffffffffffffffffffffffffffffffffffffffff16602435811561055c576002549080820180921161052f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055416604051908152f35b3461012c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760206106136106026108d6565b61060a6108f9565b6044359161091c565b6040519015158152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576020600254604051908152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761068f6108d6565b6024359033156107315773ffffffffffffffffffffffffffffffffffffffff1690811561070557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c575f600354908160011c60018316928315610884575b6020821084146103ad57818552849390811561034d575060011461080a575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061086857505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b6020919350806001915483858801015201910190918392610834565b90607f16906107a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b919060ff60055460081c16610a295773ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106109a8575b506109a39350610a30565b600190565b8381106109f5578415610731573315610705576109a3945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390555f610998565b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b5050505f90565b73ffffffffffffffffffffffffffffffffffffffff16908115610afa5773ffffffffffffffffffffffffffffffffffffffff1691821561055c57815f525f60205260405f2054818110610ac857817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220d7f1f600d0f138887292c901e64abf40dd2e578eb54d0d61232b738a9f4d9e8564736f6c634300081e003360806040523461031357604080519081016001600160401b03811182821017610226576040908152600982526845524332304d6f636b60b81b602083015280519081016001600160401b038111828210176102265760405260048152634532304d60e01b602082015281516001600160401b03811161022657600354600181811c91168015610309575b602082101461020857601f81116102a6575b50602092601f821160011461024557928192935f9261023a575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161022657600454600181811c9116801561021c575b602082101461020857601f81116101a5575b50602091601f8211600114610145579181925f9261013a575b50508160011b915f199060031b1c1916176004555b604051610b4890816103188239f35b015190505f80610116565b601f1982169260045f52805f20915f5b85811061018d57508360019510610175575b505050811b0160045561012b565b01515f1960f88460031b161c191690555f8080610167565b91926020600181928685015181550194019201610155565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106101fe575b601f0160051c01905b8181106101f357506100fd565b5f81556001016101e6565b90915081906101dd565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100eb565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b5565b601f1982169360035f52805f20915f5b86811061028e5750836001959610610276575b505050811b016003556100ca565b01515f1960f88460031b161c191690555f8080610268565b91926020600181928685015181550194019201610255565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106102ff575b601f0160051c01905b8181106102f4575061009b565b5f81556001016102e7565b90915081906102de565b90607f1690610089565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461088957508063095ea7b3146107dc57806318160ddd146107a157806323b872dd1461060d578063313ce567146105d457806340c10f19146104d557806370a082311461047357806395d89b41146102805780639dc29fac14610174578063a9059cbb146101255763dd62ed3e14610095575f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576100cc610a02565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a25565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761016961015f610a02565b6024359033610a48565b602060405160018152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576101ab610a02565b73ffffffffffffffffffffffffffffffffffffffff6024359116801561025457805f525f60205260405f2054828110610222576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576040515f600454908160011c60018316928315610469575b60208210841461043c5781855284939081156103dc5750600114610362575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103c057505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b602091935080600191548385880101520191019091839261038c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506102e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906102c6565b346101215760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215773ffffffffffffffffffffffffffffffffffffffff6104bf610a02565b165f525f602052602060405f2054604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761050c610a02565b73ffffffffffffffffffffffffffffffffffffffff1660243581156105a8576002549080820180921161057b5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157602060405160128152f35b346101215760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610644610a02565b61064c610a25565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106106c8575b506101699350610a48565b83811061076d57841561074157331561071557610169945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846106bd565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576020600254604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610813610a02565b6024359033156107415773ffffffffffffffffffffffffffffffffffffffff1690811561071557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121575f600354908160011c600183169283156109b0575b60208210841461043c5781855284939081156103dc5750600114610936575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061099457505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b6020919350806001915483858801015201910190918392610960565b90607f16906108cc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b73ffffffffffffffffffffffffffffffffffffffff169081156102545773ffffffffffffffffffffffffffffffffffffffff169182156105a857815f525f60205260405f2054818110610ae057817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea264697066735822122016731caeee7fdd0b7f2f8e0381983d3089fc82963bcb4d2a37da85a078dfcb3064736f6c634300081e003360808060405234601557610275908161001a8239f35b5f80fdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816346f6b4e114610185575080636813d78714610118578063829a86d9146100de578063d3072d821461009e5763f5632ab41461005f575f61000f565b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a576020600154604051908152f35b5f80fd5b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a57602060ff600254166040519015158152f35b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760205f54604051908152f35b3461009a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760043580151580910361009a5760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254169116176002555f80f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760243573ffffffffffffffffffffffffffffffffffffffff81160361009a5760ff600254166101e3576004355f5534600155005b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fdfea264697066735822122042cb4c7788d7f1fd3d3695bef8c3a2fd1390f82e50a41ddf02c4e8b37123a46264736f6c634300081e0033608080604052346015576101ef908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146100e057506382ad56cb14610032575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc5760043567ffffffffffffffff81116100dc5761007c903690600401610188565b505060646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc576004359067ffffffffffffffff82116100dc5761012d6064923690600401610188565b50507f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b9181601f840112156100dc5782359167ffffffffffffffff83116100dc576020808501948460051b0101116100dc5756fea26469706673582212204d26cfde5cf533afcf5b242bdb62c0cf77307a2a708acad8504413957621ea4564736f6c634300081e00336080806040523460135760c5908160188239f35b5f80fdfe6080806040523615600e575f80fd5b807f08c379a00000000000000000000000000000000000000000000000000000000060849252602060048201526024808201527f526576657274696e6752656365697665723a20726576657274206f6e2072656360448201527f65697665000000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ca498d30cad9a909a47a4edbbee81be87963eac164101dcb5079346e9be9b95c64736f6c634300081e003360808060405234601357608d908160188239f35b5f80fdfe6004361015600b575f80fd5b5f3560e01c63f71f7a2514601d575f80fd5b3460535760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126053576024356004355d005b5f80fdfea26469706673582212205c3478906b70ed217cacaeb0f98254718dfc00d76a73c3f166ed1357b7f7af5364736f6c634300081e00336080806040523460155761043e908161001a8239f35b5f80fdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80631827c8ae1461017d576344c3b4270361000e5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017957610066610269565b60243573ffffffffffffffffffffffffffffffffffffffff8116809103610179576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610179576064359167ffffffffffffffff8311610179575f936101596100d086953690600401610334565b9161011d60405193849260208401967f5b5e65160000000000000000000000000000000000000000000000000000000088526024850152604484015260a0606484015260c483019061037a565b608435608483015260a43560a4830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b51915af46101656103d9565b90610175604051928392836103bd565b0390f35b5f80fd5b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610179576101af610269565b60c43567ffffffffffffffff8111610179575f916101d283923690600401610334565b6040516101598161023d60208201947f4c4e814c000000000000000000000000000000000000000000000000000000008652602435602484015260443560448401526064356064840152608435608484015260a43560a484015260c060c484015260e483019061037a565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017957565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cd57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116102cd57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101795780359061034b826102fa565b92610359604051948561028c565b8284526020838301011161017957815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6040906103d6939215158152816020820152019061037a565b90565b3d15610403573d906103ea826102fa565b916103f8604051938461028c565b82523d5f602084013e565b60609056fea26469706673582212208f8cd33435e9ba924d0905f84e9acaebbe71d9215aac9cc72e2c9b7ffe3106c364736f6c634300081e003360808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033a2646970667358221220d12060e3f84111021a59b6013c49733e15c4b359a21944ac0cd504e3417e1ba464736f6c634300081e0033","sourceMap":"4886:54789:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;12349:19;4886:54789;12349:9;4886:54789;;;;;;;;;;12349:19;12369:4;4886:54789;;;;12349:25;;4886:54789;;;;;12349:25;;4886:54789;;;;;12349:25;;4886:54789;;;;;;12349:25;;;;;;;4886:54789;12349:25;;;4886:54789;12420:26;12639:68;12420:26;12639:68;12420:26;;:::i;:::-;12507:15;4886:54789;12349:25;4886:54789;;;;;12507:15;4886:54789;;12555:38;12349:25;12555:38;;;4886:54789;12555:38;;;;;;:::i;:::-;12467:137;4886:54789;;:::i;:::-;;;;;;;;12467:137;4886:54789;12349:25;12467:137;;4886:54789;;12467:137;;4886:54789;12456:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;12639:68;;;;12349:25;12639:68;;;12555:38;12639:68;;;:::i;:::-;;12555:38;12639:68;;;;;;:::i;:::-;336:42:2;12718:14:64;;;;4886:54789;;;12718:14;;4886:54789;;;;;;12718:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;12718:14:64;;;;;;;;4886:54789;2030:14:2;12771:105:64;12844:15;2030:14:2;12852:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;12844:15:64;4886:54789;;12794:48;12349:25;12771:105;;;4886:54789;;;;12555:38;12771:105;;4886:54789;-1:-1:-1;2030:14:2;;;;;;;;;;;4886:54789:64;2030:14:2;;;12771:105:64;2030:14:2;12771:105:64;336:42:2;12742:144:64;;;;4886:54789;12742:144;4886:54789;;;12742:144;;;;4886:54789;12742:144;;4886:54789;12742:144;;;:::i;:::-;;;;336:42:2;12742:144:64;;;;;;;12896:51;12742:144;4886:54789;12742:144;;;4886:54789;-1:-1:-1;12852:6:64;2030:14:2;12896:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;12896:21:64;12918:18;4886:54789;12349:9;4886:54789;;;;;12918:18;4886:54789;;;12896:51;;;;;;4886:54789;12896:51;;4886:54789;12896:51;;;:::i;:::-;;;;;;;;;;;4886:54789;12896:51;;;;;4886:54789;12896:51;;;;;;:::i;:::-;;;;;:::i;:::-;4886:54789;12896:51;;:::i;12742:144::-;;;;;;;:::i;:::-;;;:::i;:::-;;;;12718:14;;;4886:54789;12718:14;;;:::i;:::-;;;;12349:25;12639:68;12349:25;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;4886:54789;;;;;;;;;;;;;26542:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;26542:32;;;4886:54789;26542:32;;;;;26969:68;26751:26;26969:68;26751:26;;:::i;26969:68::-;336:42:2;27048:53:64;;;;4886:54789;;;27048:53;;27064:36;4886:54789;27048:53;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;27048:53:64;;;;;;;27111:38;27048:53;4886:54789;27048:53;;;4886:54789;2030:14:2;4886:54789:64;2030:14:2;27111:21:64;2030:14:2;27111:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;27111:21:64;4886:54789;;;27111:38;;;;;;;4886:54789;27111:38;;4886:54789;;27111:38;;;:::i;27048:53::-;;;;;;;:::i;:::-;;;;26542:32;;:::i;4886:54789::-;;;;;;;;;;;31833:4;4886:54789;;;336:42:2;31825:24:64;;;;4886:54789;;;31825:24;;4886:54789;;;;;;31825:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;31825:24:64;;;;;;;;4886:54789;31895:26;32114:68;;31895:26;;:::i;:::-;31982:15;4886:54789;31990:6;4886:54789;;;;;31982:15;4886:54789;;32030:38;31990:6;32030:38;;;4886:54789;32030:38;;;;;;:::i;:::-;31942:137;4886:54789;;:::i;31942:137::-;4886:54789;31990:6;31942:137;;4886:54789;;31942:137;;4886:54789;31931:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;32114:68;;;;31990:6;32114:68;;;32030:38;32114:68;;;:::i;:::-;;32030:38;32114:68;;;;;;:::i;:::-;31833:4;4886:54789;;;336:42:2;32193:14:64;;;;4886:54789;;;32193:14;;4886:54789;;;;;;32193:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;32193:14:64;;;;;;31808:7;32193:14;4886:54789;32193:14;32217:78;32193:14;;;4886:54789;-1:-1:-1;32217:6:64;2030:14:2;32217:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;32217:27:64;4886:54789;;;32217:78;;;;;;4886:54789;32217:78;;4886:54789;32217:78;;;:::i;:::-;;;;;;;;;;;4886:54789;32378:36;32387:15;2030:14:2;32217:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;32387:15:64;:23;32378:36;:::i;:::-;32517:9;4886:54789;31833:4;4886:54789;;;;;;32503:12;32517:9;:::i;32217:78::-;;;;;4886:54789;32217:78;;;;;;:::i;:::-;;;32193:14;;;;;;;:::i;:::-;;;;31825:24;;;4886:54789;31825:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;20397:10;4886:54789;20397:5;4886:54789;;;;;20397:10;20408:6;4886:54789;;;20397:26;;;;;;4886:54789;;;20397:26;;4886:54789;;;;20397:26;;4886:54789;20340:10;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;20397:26:64;;;;;;;;4886:54789;20434:39;336:42:2;20434:39:64;;;;4886:54789;;;20434:39;;4886:54789;20434:39;;;4886:54789;20434:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;20434:39;;;;336:42:2;20434:39:64;;;;;;;;4886:54789;;20257:5;4886:54789;20495:14;4886:54789;20397:5;4886:54789;;;;;20495:14;4886:54789;20488:47;4886:54789;;20488:47;;;4886:54789;20377:10;4886:54789;;;2030:14:2;;4886:54789:64;20488:47;;;;336:42:2;20545:39:64;;;;4886:54789;;;20545:39;;4886:54789;20545:39;;;4886:54789;20545:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;20545:39;;;;336:42:2;20545:39:64;;;;;;;;4886:54789;;20605:14;4886:54789;20397:5;4886:54789;;;;;20605:14;20306:5;4886:54789;;20599:54;4886:54789;;;;;20599:54;;;;;4886:54789;;;;;2030:14:2;;4886:54789:64;20599:54;;;;336:42:2;20663:39:64;;;;4886:54789;;;20663:39;;4886:54789;20663:39;;;4886:54789;20663:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;20663:39;;;;336:42:2;20663:39:64;;;;;;;;4886:54789;;20732:14;4886:54789;20397:5;4886:54789;;;;;20732:14;20306:5;20257;4886:54789;;20717:96;4886:54789;;;20717:96;;;;;4886:54789;;;;;;2030:14:2;20377:10:64;2030:14:2;;20377:10:64;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;20717:96;;;;20824:35;:20;4886:54789;20408:6;4886:54789;;;;;20824:35;:92;;;;;4886:54789;;;20824:92;;4886:54789;;;;;;20824:92;;4886:54789;;;;;;20377:10;4886:54789;;;2030:14:2;4886:54789:64;;;;;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;20824:92:64;;;;;;;;4886:54789;;20936:15;4886:54789;20397:5;4886:54789;;;;;20936:15;4886:54789;20936:23;;4886:54789;20408:6;4886:54789;;;;;;;;;20936:23;;4886:54789;;;;;20936:23;;4886:54789;;;;;;;;;;;20936:23;;;;;;;;;;20927:36;20936:23;4886:54789;20936:23;;;4886:54789;20927:36;;:::i;:::-;4886:54789;;;20982:32;;4886:54789;;20982:32;;4886:54789;20936:23;4886:54789;;;20982:32;;;;;;;21016:6;20982:32;4886:54789;20982:32;;;4886:54789;21016:6;;:::i;:::-;20936:23;4886:54789;;21042:31;;4886:54789;21042:31;;;;;4886:54789;21042:31;;4886:54789;;;;;;;;21042:31;;;;;;;;;21075:15;21042:31;4886:54789;21042:31;;;4886:54789;21075:15;;:::i;21042:31::-;;;;20936:23;21042:31;20936:23;21042:31;;;;;;;:::i;:::-;;;;20982:32;;;;20936:23;20982:32;20936:23;20982:32;;;;;;;:::i;:::-;;;;20936:23;;;;;;;;;;;;;;:::i;:::-;;;;20824:92;;;4886:54789;20824:92;;;:::i;:::-;;;;20663:39;;;4886:54789;20663:39;;;:::i;:::-;;;;20545;;;4886:54789;20545:39;;;:::i;:::-;;;;20434;;;4886:54789;20434:39;;;:::i;:::-;;;;20397:26;;;4886:54789;20397:26;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;13670:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;13670:32;;;4886:54789;13670:32;;;;;4886:54789;;;;13736:34;;;;;;;13670:32;13736:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;13736:34;;;4886:54789;13736:34;;;;;;13821:43;;;;;4886:54789;;;13821:43;;13844:4;4886:54789;13821:43;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;13821:43:64;;;;;;;;;4886:54789;2030:14:2;13874:48:64;;13892:15;2030:14:2;13900:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;13892:15:64;4886:54789;;;13874:48;;4886:54789;;;;;13874:48;;4886:54789;13804:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;;;13874:48;;;4886:54789;13874:48;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;13957:80;13874:48;13957:80;;;5515:66;13957:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;13957:80;4886:54789;5515:66;;;13957:80;5515:66;13957:80;4886:54789;14048:25;2030:14:2;13900:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;14048:25:64;4886:54789;;14048:92;;;;;;;4886:54789;;;;;;;14048:92;;;;;;4886:54789;14048:92;;;;4886:54789;14048:92;;;:::i;:::-;;;;;;;;;;;4886:54789;;;;;14160:23;;13874:48;14160:23;4886:54789;14160:23;;;;;;;;14185:12;14160:23;4886:54789;14160:23;;;4886:54789;14185:12;;:::i;:::-;4886:54789;;;14217:34;;13844:4;4886:54789;14217:34;;4886:54789;;13874:48;4886:54789;;;;;14217:34;;;;;;;;;;;14208:47;13874:48;14217:34;14274:40;14217:34;4886:54789;14217:34;;;14208:47;;:::i;:::-;4886:54789;;14274:40;;;;;4886:54789;14274:40;;4886:54789;14274:40;;4886:54789;;;;;;;;;;;;14274:40;;;;;;;;;14316:12;14274:40;4886:54789;14274:40;;;14316:12;;:::i;14274:40::-;;;;13874:48;14274:40;13874:48;14274:40;;;;;;;:::i;:::-;;;;14217:34;;;;;;;;;;;;;;:::i;:::-;;;;14048:92;;;4886:54789;14048:92;;;:::i;:::-;;;;13874:48;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;13821:43;;;4886:54789;13821:43;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;6983:20;;;;;;;;;;;;;;;;;;;;4886:54789;6983:20;;;;;4886:54789;7065:28;4886:54789;;7065:28;:::i;:::-;336:42:2;7013:81:64;;;;4886:54789;7013:81;4886:54789;;;7013:81;;;;4886:54789;7013:81;;4886:54789;7013:81;;;:::i;:::-;;;;336:42:2;7013:81:64;;;;;;;;4886:54789;;;;7114:60;;;;;;;;6983:20;7114:60;;;;;;;;;;;;7021:42;4886:54789;;;;;;7114:60;;;4886:54789;7114:60;;;;;7105:69;;4886:54789;;7105:69;4886:54789;;;;;;;;7105:69;4886:54789;;7105:69;4886:54789;;7193:22;;;;;;;6983:20;7193:22;;;;;;;;;;;;4886:54789;7193:22;;;;;7184:31;;4886:54789;;;7184:31;4886:54789;;;7184:31;4886:54789;;7184:31;4886:54789;;7237:37;;;;;;;;6983:20;7237:37;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7271:2;4886:54789;;;;;;2030:14:2;4886:54789:64;7237:37;;;4886:54789;7237:37;;;;;7225:49;;4886:54789;;;7225:49;4886:54789;;;7225:49;4886:54789;;7225:49;4886:54789;;7299:18;;;;;;;6983:20;7299:18;;;;;;;;;;;;4886:54789;7299:18;;;;;7284:33;;4886:54789;;;7284:33;4886:54789;;;7284:33;4886:54789;;7284:33;4886:54789;;7335:15;;;;;;;6983:20;7335:15;;;;;;;;;;;;4886:54789;7335:15;;;;;7327:23;;4886:54789;;;7327:23;4886:54789;;;7327:23;4886:54789;;7327:23;4886:54789;;7431:34;;;;;;;6983:20;7431:34;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7271:2;4886:54789;;;;;;2030:14:2;4886:54789:64;7431:34;;;4886:54789;7431:34;;;;;4886:54789;;7484:36;;;;;;;;;6983:20;7484:36;;;;;4886:54789;7484:36;;;;;;;4886:54789;;;;;;;;;7484:36;;;4886:54789;7484:36;;;;;7475:45;;4886:54789;;;7475:45;4886:54789;;;7475:45;4886:54789;;7475:45;4886:54789;;7542:19;;;;;;;6983:20;7542:19;;;;;;;;;;;;4886:54789;7542:19;;;;;7530:31;;4886:54789;;;7530:31;4886:54789;;;7530:31;4886:54789;;7530:31;7572:33;4886:54789;;7572:33;4886:54789;;;7572:33;4886:54789;;7572:33;7615;4886:54789;;7615:33;4886:54789;;;7615:33;4886:54789;;7615:33;7572;4886:54789;;;7769:20;:15;2030:14:2;7105:69:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;7769:15:64;:20;:::i;:::-;7753:37;336:42:2;7753:37:64;;;;;4886:54789;;;;;7753:37;;;;;4886:54789;7753:37;;4886:54789;7753:37;;;:::i;:::-;;;;336:42:2;7753:37:64;;;;;;;;4886:54789;-1:-1:-1;7809:4:64;4886:54789;;;336:42:2;7801:23:64;;;;4886:54789;;;7801:23;;4886:54789;;;;;;7801:23;;4886:54789;7815:8;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;7801:23:64;;;;;;;;4886:54789;;7834:14;4886:54789;7225:49;4886:54789;;;;;7834:14;7809:4;4886:54789;;;7834:29;;;;;;4886:54789;;;7834:29;;4886:54789;;;;7834:29;;4886:54789;13804:7;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;7834:29:64;;;;;;;;4886:54789;;7873:17;4886:54789;7284:33;4886:54789;;;;;7873:17;7809:4;4886:54789;;;7873:32;;;;;;4886:54789;;;7873:32;;4886:54789;;;;7873:32;;4886:54789;13804:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;;;;7873:32;;;;;;;;;;;4886:54789;7873:32;;;4886:54789;7873:32;;;:::i;7834:29::-;;;4886:54789;7834:29;;;:::i;:::-;;;;7801:23;;;4886:54789;7801:23;;;:::i;:::-;;;;7753:37;;;4886:54789;7753:37;;;:::i;:::-;;;;7013:81;;;4886:54789;7013:81;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;42896:6;4886:54789;;;336:42:2;42888:23:64;;;;4886:54789;;;42888:23;;4886:54789;;;;;;42888:23;;4886:54789;42834:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;42888:23:64;;;;;;;;4886:54789;42922:39;336:42:2;42922:39:64;;;;4886:54789;;;42922:39;;4886:54789;42922:39;;;4886:54789;42922:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;42922:39;;;;336:42:2;42922:39:64;;;;;;;;4886:54789;;42800:5;4886:54789;42976:41;4886:54789;;42976:41;;;4886:54789;42834:7;4886:54789;;;2030:14:2;;4886:54789:64;42976:41;;;;336:42:2;43027:39:64;;;;4886:54789;;;43027:39;;4886:54789;43027:39;;;4886:54789;43027:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;43027:39;;;;336:42:2;43027:39:64;;;;;;;;4886:54789;;42800:5;42751;4886:54789;43081:87;4886:54789;;43081:87;;;4886:54789;42834:7;4886:54789;;;;2030:14:2;4886:54789:64;2030:14:2;;4886:54789:64;;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;43081:87;;;;43179:35;:20;4886:54789;42896:6;4886:54789;;;;;43179:35;:97;;;;;4886:54789;;;43179:97;;4886:54789;43179:97;;;;;;4886:54789;43179:97;;4886:54789;;;;;;;;;;;;;;;;;;;2030:14:2;4886:54789:64;;;43179:97;;;;;;;;;;;4886:54789;43287:27;43296:14;4886:54789;42896:6;4886:54789;;;;;43287:27;43324:36;42751:5;43333:23;43324:36;:::i;:::-;43403:6;42800:5;43379:22;43403:6;:::i;43179:97::-;;;4886:54789;43179:97;;;:::i;:::-;;;;43027:39;;;4886:54789;43027:39;;;:::i;:::-;;;;42922;;;4886:54789;42922:39;;;:::i;:::-;;;;42888:23;;;4886:54789;42888:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;52219:10;4886:54789;52219:5;4886:54789;;;;;52219:10;52230:4;4886:54789;;;52219:27;;;;;;4886:54789;;;52219:27;;4886:54789;;;;52219:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;52219:27:64;;;;;;;;4886:54789;-1:-1:-1;52230:4:64;4886:54789;;;336:42:2;52256:19:64;;;;4886:54789;;;52256:19;;4886:54789;;;;;;52256:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;52256:19:64;;;;;;;;4886:54789;;;52285:41;;:13;4886:54789;52219:5;4886:54789;;;;;52285:13;52307:6;2030:14:2;52299:15:64;;2030:14:2;;4886:54789:64;;2030:14:2;;52299:15:64;4886:54789;;52285:41;;;;;;4886:54789;52285:41;;4886:54789;52285:41;;4886:54789;36509:6;4886:54789;;;;;;;;;;;;;2030:14:2;4886:54789:64;52285:41;;;;;;;;;;;4886:54789;52447:26;53033:68;;52447:26;;:::i;:::-;52534:15;4886:54789;52285:41;4886:54789;;;;;52534:15;4886:54789;;52633:38;52285:41;52633:38;;;4886:54789;52633:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;52494:188;52577:4;52285:41;52494:188;;4886:54789;;52494:188;;4886:54789;52483:199;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;52633:38;52285:41;52791:38;;;4886:54789;52791:38;;;52633;52791;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;52703:137;4886:54789;52285:41;52703:137;;4886:54789;;52703:137;;4886:54789;52692:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;52633:38;52285:41;52949:38;;;4886:54789;52949:38;;;52633;52949;;:::i;:::-;52861:137;4886:54789;;:::i;52861:137::-;4886:54789;52285:41;52861:137;;4886:54789;;52861:137;;4886:54789;52850:148;;;:::i;:::-;;;;;:::i;53033:68::-;4886:54789;;53223:45;52285:41;53200:72;;;4886:54789;52633:38;53200:72;;2030:14:2;4886:54789:64;53200:72;4886:54789;;;;53200:72;4886:54789;53200:72;336:42:2;53184:89:64;;;;4886:54789;53184:89;4886:54789;;;53184:89;;;;4886:54789;53184:89;;4886:54789;53184:89;;;:::i;:::-;;;;336:42:2;53184:89:64;;;;;;;53283:63;53184:89;4886:54789;53184:89;;;4886:54789;-1:-1:-1;52307:6:64;2030:14:2;53283:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;53283:27:64;53311:14;4886:54789;52219:5;4886:54789;;;;;53311:14;4886:54789;;;53283:63;;;;;;4886:54789;53283:63;;4886:54789;53283:63;;;:::i;:::-;;;;;;;;;;;4886:54789;53357:14;336:42:2;53357:14:64;;;;4886:54789;;;53357:14;;4886:54789;53357:14;4886:54789;53357:14;;336:42:2;53357:14:64;;;;;;;;4886:54789;53283:63;;;;;4886:54789;53283:63;;;;;;:::i;:::-;;;53184:89;;;;;;;:::i;:::-;;;;52285:41;;;;;;;;;;;;;:::i;:::-;;;52256:19;;;4886:54789;52256:19;;;:::i;:::-;;;;52219:27;;;4886:54789;52219:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;35223:47;;:::i;:::-;4886:54789;;35414:29;;;;;;;;;;;;;;;;;;;;4886:54789;35414:29;;;;;4886:54789;;35505:30;;;:::i;:::-;35453:83;336:42:2;35453:83:64;;;;4886:54789;35453:83;4886:54789;;;35453:83;;;;4886:54789;35453:83;;4886:54789;35453:83;;;:::i;:::-;;;;336:42:2;35453:83:64;;;;;;;35650:41;35453:83;;;4886:54789;35600:47;35660:30;35600:47;;:::i;:::-;4886:54789;;;;;35590:58;35660:30;;:::i;:::-;4886:54789;;;;;35650:41;;;:::i;:::-;35957:68;;35738:26;;:::i;35957:68::-;36065:184;;4886:54789;;36161:74;4886:54789;36161:74;;;;;;35873:38;36161:74;;4886:54789;;;;;;;;;;;;;;;;;;36161:74;4886:54789;;36065:184;;;36105:38;4886:54789;36065:184;;;35873:38;36065:184;;;:::i;:::-;336:42:2;36036:223:64;;;;4886:54789;36036:223;4886:54789;;;36036:223;;;;4886:54789;36036:223;;4886:54789;36036:223;;;:::i;:::-;;;;336:42:2;36036:223:64;;;;;;4886:54789;36036:223;;;36269:24;36036:223;;;4886:54789;-1:-1:-1;36269:6:64;2030:14:2;36269::64;;2030::2;;4886:54789:64;;2030:14:2;;36269::64;4886:54789;;;36269:24;;;;;;4886:54789;36269:24;;4886:54789;36269:24;;;:::i;:::-;;;;;;;;;;;4886:54789;36337:65;336:42:2;36337:65:64;;;;4886:54789;36337:65;4886:54789;;;36337:65;;;;4886:54789;36337:65;;4886:54789;36337:65;;;:::i;:::-;;;;336:42:2;36337:65:64;;;;;;;;4886:54789;36269:24;;;;;4886:54789;36269:24;;;;;;:::i;:::-;;;36036:223;;;;;;;:::i;:::-;;;;35453:83;;;4886:54789;35453:83;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;53670:10;4886:54789;53670:5;4886:54789;;;;;53670:10;53681:4;4886:54789;;;53670:27;;;;;;4886:54789;;;53670:27;;4886:54789;;;;53670:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;53670:27:64;;;;;;;;4886:54789;-1:-1:-1;53681:4:64;4886:54789;;;336:42:2;53707:19:64;;;;4886:54789;;;53707:19;;4886:54789;;;;;;53707:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;53707:19:64;;;;;;;;4886:54789;;;53736:41;;:13;4886:54789;53670:5;4886:54789;;;;;53736:41;;;;;;;;;;;4886:54789;53899:26;54485:68;;53899:26;;:::i;:::-;53986:15;4886:54789;53736:41;4886:54789;;;;;53986:15;4886:54789;;54034:38;53736:41;54034:38;;;4886:54789;54034:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;53946:137;4886:54789;53736:41;53946:137;;4886:54789;;53946:137;;4886:54789;53935:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;54034:38;53736:41;54243:38;;;4886:54789;54243:38;;;54034;54243;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;54104:188;52577:4;53736:41;54104:188;;4886:54789;;54104:188;;4886:54789;54093:199;;;:::i;54485:68::-;4886:54789;;54675:45;53736:41;54652:72;;;39736:4;54034:38;54652:72;;4886:54789;;54652:72;4886:54789;;;;54652:72;4886:54789;53736:41;;;;;;;;;;;;;:::i;:::-;;;53707:19;;;4886:54789;53707:19;;;:::i;:::-;;;;53670:27;;;4886:54789;53670:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;4886:54789:64;;;;;;;3018:16:9;4886:54789:64;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36594:47;;:::i;:::-;4886:54789;;36785:29;;;;;;;;;;;;;;;;;;;;4886:54789;36785:29;;;;;4886:54789;36876:30;4886:54789;;36876:30;:::i;:::-;336:42:2;36824:83:64;;;;4886:54789;36824:83;4886:54789;;;36824:83;;;;4886:54789;36824:83;;4886:54789;36824:83;;;:::i;:::-;;;;336:42:2;36824:83:64;;;;;;;;4886:54789;36953:26;37172:68;;36953:26;;:::i;37172:68::-;37334:14;4886:54789;37334:9;4886:54789;;;;;37334:14;:45;;;;;;4886:54789;;;37334:45;;37357:4;4886:54789;37334:45;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;37334:45:64;;;;;;;4886:54789;37334:45;;;4886:54789;;37048:6;37389:50;:17;4886:54789;37334:9;4886:54789;;;;;37389:17;37415:6;2030:14:2;37407:15:64;;2030:14:2;;4886:54789:64;;2030:14:2;;37407:15:64;4886:54789;;37389:50;;;;;;4886:54789;37389:50;;4886:54789;37389:50;;4886:54789;36509:6;4886:54789;;;;;;;;;;;;;2030:14:2;4886:54789:64;37389:50;;;;;;;;;;37479:184;37389:50;;;4886:54789;;37479:184;4886:54789;;37575:74;37048:6;37575:74;;;;;;37088:38;37575:74;;4886:54789;;;;;;;;;;;;;;;;;;37575:74;4886:54789;;37479:184;;;37519:38;37048:6;37479:184;;;37088:38;37479:184;;;:::i;:::-;336:42:2;37450:223:64;;;;4886:54789;37450:223;4886:54789;;;37450:223;;;;4886:54789;37450:223;;4886:54789;37450:223;;;:::i;:::-;;;;336:42:2;37450:223:64;;;;;;;37683:51;37450:223;4886:54789;37450:223;;;-1:-1:-1;37415:6:64;2030:14:2;37683:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;37389:50:64;;;37048:6;37389:50;37048:6;37389:50;;;;;;;:::i;:::-;;;37334:45;;;;;;;:::i;:::-;;;;36824:83;;;4886:54789;36824:83;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;38311:33;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38341:2;4886:54789;;;;;;2030:14:2;4886:54789:64;38311:33;;;4886:54789;38311:33;;;;;4886:54789;;38378:76;;;;;5515:66;38378:76;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;38378:76;4886:54789;5515:66;;;38378:76;5515:66;38378:76;336:42:2;38465:54:64;;;;4886:54789;;;38465:54;;38481:37;4886:54789;38465:54;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;38465:54:64;;;;;;;;4886:54789;-1:-1:-1;38529:6:64;2030:14:2;38529:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;38529:25:64;38575:15;4886:54789;38378:76;4886:54789;;;;;38575:15;38529:88;;;;;;4886:54789;;;;38529:88;4886:54789;;38529:88;;;;;;;4886:54789;38529:88;;4886:54789;;38529:88;;;:::i;38465:54::-;;;4886:54789;38465:54;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;16233:83;;;;;5515:66;16233:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;16233:83;4886:54789;5515:66;;;16233:83;5515:66;16233:83;16336:4;4886:54789;;;336:42:2;16327:14:64;;;;4886:54789;;;16327:14;;4886:54789;;;;;;16327:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;16327:14:64;;;;;;;;4886:54789;16351:55;336:42:2;16351:55:64;;;;4886:54789;;;16351:55;;16367:38;4886:54789;16351:55;;4886:54789;;;;;;;16351:55;;;;336:42:2;16351:55:64;;;;;;;;4886:54789;-1:-1:-1;16416:6:64;2030:14:2;16416:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;16416:25:64;4886:54789;16464:18;4886:54789;16472:9;4886:54789;;;;;16464:18;16416:93;;;;;;;4886:54789;;;;;;16416:93;;;;;;4886:54789;16416:93;;4886:54789;16416:93;;;:::i;16351:55::-;;;4886:54789;16351:55;;;:::i;:::-;;;;16327:14;;;4886:54789;16327:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;3948:19:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3948:19:9;4886:54789:64;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;27902:18;4886:54789;27910:9;4886:54789;;;;;27902:18;4886:54789;;27887:34;;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;27887:34;;;4886:54789;27887:34;;;;;4886:54789;;:::i;:::-;28193:62;336:42:2;28193:62:64;;;;4886:54789;;;28193:62;;28209:45;4886:54789;28193:62;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;28193:62:64;;;;;;;4886:54789;28193:62;;;;;4886:54789;;;28347:11;4886:54789;28347:6;4886:54789;;;;;28347:11;4886:54789;28372:258;28459:18;4886:54789;27910:9;4886:54789;;;;;28459:18;28372:258;4886:54789;;28372:258;;;4886:54789;28372:258;;;;4886:54789;28372:258;;4886:54789;28372:258;28121:2;28372:258;;;:::i;:::-;28347:293;;;;;;;:::i;28193:62::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;39586:83;;;;;5515:66;39586:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;39586:83;4886:54789;5515:66;;;39586:83;5515:66;39586:83;39710:25;4886:54789;39710:9;4886:54789;;;;;39710:25;:31;;;;;4886:54789;;;39710:31;;4886:54789;39710:31;;;;;;4886:54789;39710:31;;4886:54789;39736:4;4886:54789;;;;;;39710:31;;;;;;;;;;;4886:54789;;39781:153;;4886:54789;;39861:59;39586:83;39861:59;;;;;;39586:83;39861:59;;4886:54789;;;;;;;;;;;;;;;;;;39781:153;336:42:2;39752:192:64;;;;4886:54789;39752:192;4886:54789;;;39752:192;;;;4886:54789;39752:192;;4886:54789;39752:192;;;:::i;:::-;;;;336:42:2;39752:192:64;;;;;;;;4886:54789;-1:-1:-1;39954:6:64;2030:14:2;39954:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;39954:25:64;4886:54789;40010:18;4886:54789;39710:9;4886:54789;;;;;40010:18;39954:101;;;;;;;4886:54789;;;39544:7;4886:54789;;39954:101;;;;;;4886:54789;39954:101;;4886:54789;39954:101;;;:::i;39752:192::-;;;4886:54789;39752:192;;;:::i;:::-;;;;39710:31;;;4886:54789;39710:31;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;46858:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;46858:32;;;4886:54789;46858:32;;;;;4886:54789;;;;46924:34;;;;;;;46858:32;46924:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;46924:34;;;4886:54789;46924:34;;;;;;47024:6;4886:54789;;;47009:36;;;;;4886:54789;;;47009:36;;4886:54789;;;;;;47009:36;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;47009:36:64;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;47147:80;;;;;5515:66;47147:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;47147:80;4886:54789;5515:66;;;47147:80;5515:66;47147:80;4886:54789;47395:34;:20;4886:54789;47024:6;4886:54789;;;;;47395:34;4886:54789;;47395:112;;;;;;;4886:54789;;;;;;;47395:112;;;;;;4886:54789;47395:112;;;;4886:54789;47395:112;;;:::i;:::-;;;;;;;;;;;4886:54789;;;;47527:23;4886:54789;47527:23;;47147:80;47527:23;4886:54789;47527:23;;;;;;;;;47617:27;47527:23;47552:12;47527:23;4886:54789;47527:23;;;47552:12;;:::i;:::-;47147:80;4886:54789;47024:6;4886:54789;;;;;;;;;47617:27;;4886:54789;;;;;47617:27;;4886:54789;;;;;;;;;;;47395:112;;;4886:54789;47395:112;;;:::i;:::-;;;;47009:36;;;4886:54789;47009:36;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;38716:83;;;;;5515:66;38716:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;38716:83;4886:54789;5515:66;;;38716:83;5515:66;38716:83;38819:6;4886:54789;;;336:42:2;38810:16:64;;;;4886:54789;;;38810:16;;4886:54789;;;;;;38810:16;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;38810:16:64;;;;;;;;4886:54789;38836:55;336:42:2;38836:55:64;;;;4886:54789;;;38836:55;;16367:38;4886:54789;38836:55;;4886:54789;;;;;;;38836:55;;;;336:42:2;38836:55:64;;;;;;;;4886:54789;;38901:34;:20;4886:54789;38819:6;4886:54789;;;;;38901:34;4886:54789;38948:18;4886:54789;38956:9;4886:54789;;;;;38948:18;38901:92;;;;;;;4886:54789;;;;;;38901:92;;;;;;4886:54789;38901:92;;4886:54789;38901:92;;;:::i;38836:55::-;;;4886:54789;38836:55;;;:::i;:::-;;;;38810:16;;;4886:54789;38810:16;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;30998:4;4886:54789;;;336:42:2;30989:14:64;;;;4886:54789;;;30989:14;;4886:54789;;;;;;30989:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;30989:14:64;;;;;;;;4886:54789;;;31013:50;;:17;4886:54789;31013:9;4886:54789;;;;;31013:50;;;;;;;;;;;4886:54789;31114:31;31353:81;;31114:31;;:::i;:::-;31211:15;4886:54789;31013:50;4886:54789;;;;;31211:15;4886:54789;;31269:38;31013:50;31269:38;;;4886:54789;31269:38;;;;;;:::i;:::-;31166:152;4886:54789;;:::i;31166:152::-;4886:54789;31013:50;31166:152;;4886:54789;;;31166:152;;4886:54789;31166:152;;;4886:54789;31155:163;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;31353:81;;;;31013:50;31353:81;;;31269:38;31353:81;;;:::i;:::-;30998:4;4886:54789;;;336:42:2;31445:29:64;;;;4886:54789;;;31445:29;;4886:54789;;;;;;31445:29;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;31445:29:64;;;;;;;;4886:54789;-1:-1:-1;30998:4:64;4886:54789;;;336:42:2;31484:14:64;;;;4886:54789;;;31484:14;;4886:54789;;;;;;31484:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;31484:14:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;31547:36;31013:50;31524:79;;;4886:54789;31269:38;31524:79;;2030:14:2;30971:7:64;4886:54789;;;2030:14:2;4886:54789:64;31524:79;4886:54789;;;;31524:79;4886:54789;31524:79;336:42:2;31508:96:64;;;;4886:54789;31508:96;4886:54789;;;31508:96;;;;4886:54789;31508:96;;4886:54789;31508:96;;;:::i;:::-;;;;336:42:2;31508:96:64;;;;;;;31614:74;31508:96;4886:54789;31508:96;;;4886:54789;-1:-1:-1;31039:6:64;2030:14:2;31614:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;31614:21:64;31659:18;4886:54789;31013:9;4886:54789;;;;;31659:18;30971:7;4886:54789;;31614:74;;;;;;4886:54789;31614:74;;4886:54789;31614:74;;;:::i;31508:96::-;;;;;;;:::i;:::-;;;;31484:14;;;4886:54789;31484:14;;;:::i;:::-;;;;31445:29;;;4886:54789;31445:29;;;:::i;:::-;;;;31013:50;;;;;;;;;;;;;:::i;:::-;;;30989:14;;;4886:54789;30989:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;15715:14;4886:54789;15715:9;4886:54789;;;;;15715:14;:38;;;;;4886:54789;;;15715:38;;15738:4;4886:54789;15715:38;;4886:54789;31808:7;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;15715:38:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;15788:80;;;;;5515:66;15788:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;15788:80;4886:54789;5515:66;;;15788:80;5515:66;15788:80;15908:101;;15981:15;2030:14:2;15989:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;15981:15:64;4886:54789;;15931:48;15788:80;15908:101;;;4886:54789;;;;15788:80;15908:101;;4886:54789;-1:-1:-1;2030:14:2;;;;15701:4:64;2030:14:2;;;;4886:54789:64;;;2030:14:2;;;;;15908:101:64;336:42:2;15879:140:64;;;;4886:54789;15879:140;4886:54789;;;15879:140;;;;4886:54789;15879:140;;4886:54789;15879:140;;;:::i;:::-;;;;336:42:2;15879:140:64;;;;;;;;4886:54789;-1:-1:-1;15989:6:64;2030:14:2;16029:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;16029:25:64;4886:54789;16055:18;4886:54789;15715:9;4886:54789;;;;;16055:18;4886:54789;16075:15;4886:54789;15788:80;4886:54789;;;;;16075:15;16029:88;;;;;;;4886:54789;;;;;;16029:88;;;;;;;4886:54789;16029:88;;4886:54789;16029:88;;;:::i;15879:140::-;;;4886:54789;15879:140;;;:::i;:::-;;;;15715:38;;;4886:54789;15715:38;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;45878:28;;4886:54789;45899:6;4886:54789;;;;;45878:28;;:::i;:::-;45899:6;4886:54789;;;336:42:2;45979:24:64;;;;4886:54789;;;45979:24;;4886:54789;;;;;;45979:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;45979:24:64;;;;;;;;4886:54789;;46137:78;;4886:54789;;46063:34;;;;;;;;5621:48;45934:35;5621:48;;;;2030:14:2;5621:48:64;2030:14:2;;5621:48:64;2030:14:2;5621:48:64;46063:34;4886:54789;46053:45;;4886:54789;;46137:78;;;46063:34;46137:78;;5713:19;;;;;5729:1;5713:19;;;2030:14:2;5713:19:64;;;;;;;;2030:14:2;5713:19:64;;;;;-1:-1:-1;5713:19:64;;;;;;;46137:78;46252:20;:15;2030:14:2;46260:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;46252:20:64;4886:54789;;45899:6;4886:54789;;;;;;336:42:2;46282:30:64;;;;;4886:54789;;;;;46282:30;;;;;4886:54789;46282:30;;4886:54789;46282:30;;;:::i;:::-;;;;336:42:2;46282:30:64;;;;;;;;4886:54789;;46360:35;4886:54789;;;;;46335:11;4886:54789;45899:6;4886:54789;;;;;46335:11;:15;;;;:::i;:::-;;5713:19;;:::i;:::-;46360:35;;:::i;:::-;45899:6;4886:54789;;;336:42:2;46405:27:64;;;;;4886:54789;;;;;46405:27;;;;;4886:54789;46405:27;;4886:54789;46405:27;;;:::i;:::-;;;;336:42:2;46405:27:64;;;;;;;;4886:54789;;46480:97;;4886:54789;46567:9;4886:54789;;;;;;;;;46063:34;46480:97;;;4886:54789;46480:97;;;2030:14:2;;;5713:19:64;;;4886:54789;;;;;5713:19;;;4886:54789;;;;5713:19;;;;;46480:97;46588:54;:27;4886:54789;45899:6;4886:54789;;;;;46588:54;:85;;;;;4886:54789;;;46588:85;;4886:54789;;;;;;;;46588:85;4886:54789;;46588:85;;;:::i;:::-;;;;;;;;;;;4886:54789;46684:27;46693:14;4886:54789;45899:6;4886:54789;;;;;46684:27;46721:36;46730:17;4886:54789;46567:9;4886:54789;;;;;46588:85;;;4886:54789;46588:85;;;:::i;:::-;;;;46405:27;;;4886:54789;46405:27;;;:::i;:::-;;;;46282:30;;;4886:54789;46282:30;;;:::i;:::-;;;;45979:24;;;4886:54789;45979:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;55118:10;4886:54789;55118:5;4886:54789;;;;;55118:10;55129:4;4886:54789;;;55118:27;;;;;;4886:54789;;;55118:27;;4886:54789;;;;55118:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;55118:27:64;;;;;;;;4886:54789;-1:-1:-1;55129:4:64;4886:54789;;;336:42:2;55155:19:64;;;;4886:54789;;;55155:19;;4886:54789;;;;;;55155:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;55155:19:64;;;;;;;;4886:54789;;;55184:41;;:13;4886:54789;55118:5;4886:54789;;;;;55184:41;;;;;;;;;;;4886:54789;55345:26;55931:68;;55345:26;;:::i;:::-;55432:15;4886:54789;55184:41;4886:54789;;;;;55432:15;4886:54789;;55480:38;55184:41;55480:38;;;4886:54789;55480:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;55392:137;4886:54789;55184:41;55392:137;;4886:54789;;55392:137;;4886:54789;55381:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;55480:38;55184:41;55638:38;;;4886:54789;55638:38;;;55480;55638;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;55550:137;4886:54789;55184:41;55550:137;;4886:54789;;55550:137;;4886:54789;55539:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;55480:38;55184:41;55847:38;;;4886:54789;55847:38;;;55480;55847;;:::i;:::-;55708:188;4886:54789;;:::i;55708:188::-;52577:4;55184:41;55708:188;;4886:54789;;55708:188;;4886:54789;55697:199;;;:::i;55931:68::-;4886:54789;;56121:45;55184:41;56098:72;;;55703:1;55480:38;56098:72;;2030:14:2;4886:54789:64;56098:72;4886:54789;;;;56098:72;4886:54789;55184:41;;;;;;;;;;;;;:::i;:::-;;;55155:19;;;4886:54789;55155:19;;;:::i;:::-;;;;55118:27;;;4886:54789;55118:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;3794:16:9;4886:54789:64;;;;;;;3794:16:9;4886:54789:64;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;4886:54789:64;;;;;;;3501:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;25027:46;25004:90;;;;4886:54789;25004:90;;;4886:54789;25004:90;4886:54789;;;;25004:90;4886:54789;25004:90;336:42:2;24988:107:64;;;;4886:54789;24988:107;4886:54789;;;24988:107;;;;4886:54789;24988:107;;4886:54789;24988:107;;;:::i;:::-;;;;336:42:2;24988:107:64;;;;;;;;4886:54789;;25105:54;:27;4886:54789;25125:6;4886:54789;;;;;25105:54;:84;;;;;4886:54789;;;25105:84;;4886:54789;;;;;;;;25105:84;4886:54789;;25105:84;;;:::i;24988:107::-;;;4886:54789;24988:107;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;21245:28;;4886:54789;21266:6;4886:54789;;;;;21245:28;21266:6;4886:54789;;;336:42:2;21336:24:64;;;;4886:54789;;;21336:24;;4886:54789;;;;;;21336:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;21336:24:64;;;;;;;;4886:54789;21515:131;5621:48;4886:54789;21515:131;21301:25;21515:131;;21833:231;;4886:54789;;21515:131;4886:54789;;21833:231;;;21515:131;21833:231;;5713:19;;;;;5729:1;5713:19;;;2030:14:2;5713:19:64;;;;;;;;2030:14:2;5713:19:64;;;;;-1:-1:-1;5713:19:64;;;;;;;21833:231;22101:20;:15;2030:14:2;22109:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;22101:20:64;4886:54789;;21266:6;4886:54789;;;;;;336:42:2;22131:30:64;;;;;4886:54789;;;;;22131:30;;;;;4886:54789;22131:30;;4886:54789;22131:30;;;:::i;:::-;;;;336:42:2;22131:30:64;;;;;;;;4886:54789;;22209:35;4886:54789;;;;;22184:11;4886:54789;21266:6;4886:54789;;;;;22209:35;21266:6;4886:54789;;;336:42:2;22254:27:64;;;;;4886:54789;;;;;22254:27;;;;;4886:54789;22254:27;;4886:54789;22254:27;;;:::i;:::-;;;;336:42:2;22254:27:64;;;;;;;;4886:54789;;22324:103;;4886:54789;22417:9;4886:54789;;;;;22324:103;336:42:2;22437:39:64;;;;4886:54789;;;22437:39;;4886:54789;22437:39;;;4886:54789;22437:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;22437:39;;;;336:42:2;22437:39:64;;;;;;;;4886:54789;;;;22417:9;4886:54789;;;;;;;;22491:37;4886:54789;;22491:37;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;22491:37;;;;22538:54;:27;4886:54789;21266:6;4886:54789;;;;;22538:54;:80;;;;;4886:54789;;;22538:80;;4886:54789;;;;;;;;22538:80;4886:54789;;22538:80;;;:::i;22437:39::-;;;4886:54789;22437:39;;;:::i;:::-;;;;22254:27;;;4886:54789;22254:27;;;:::i;:::-;;;;22131:30;;;4886:54789;22131:30;;;:::i;:::-;;;;21336:24;;;4886:54789;21336:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;8739:26;9036:24;8958:68;;8739:26;;:::i;:::-;8826:15;4886:54789;8834:6;4886:54789;;;;;8826:15;4886:54789;;8874:38;8834:6;8874:38;;;4886:54789;8874:38;;;;;;:::i;:::-;8786:137;4886:54789;;:::i;8786:137::-;;8834:6;8786:137;;4886:54789;;8786:137;;4886:54789;8775:148;;;:::i;8958:68::-;9036:6;2030:14:2;9036::64;;2030::2;;4886:54789:64;;2030:14:2;;4886:54789:64;;;;;;;;;;;;;17319:83;;;;;5515:66;17319:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;17319:83;4886:54789;5515:66;;;17319:83;5515:66;17319:83;17421:6;4886:54789;;;336:42:2;17413:24:64;;;;4886:54789;;;17413:24;;4886:54789;;;;;;17413:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;17413:24:64;;;;;;;;4886:54789;-1:-1:-1;17421:6:64;4886:54789;;;336:42:2;17447:16:64;;;;4886:54789;;;17447:16;;4886:54789;;;;;;17447:16;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;17447:16:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;17512:36;17319:83;17489:72;;;4886:54789;17319:83;17489:72;;2030:14:2;30971:7:64;4886:54789;;;2030:14:2;17489:72:64;4886:54789;;;;17489:72;4886:54789;17489:72;336:42:2;17473:89:64;;;;4886:54789;17473:89;4886:54789;;;17473:89;;;;4886:54789;17473:89;;4886:54789;17473:89;;;:::i;:::-;;;;336:42:2;17473:89:64;;;;;;;;4886:54789;;17572:34;:20;4886:54789;17421:6;4886:54789;;;;;17572:34;4886:54789;17635:18;4886:54789;17643:9;4886:54789;;;;;17635:18;17572:108;;;;;;;4886:54789;;;17429:7;4886:54789;;17572:108;;;;;;4886:54789;17572:108;;4886:54789;17572:108;;;:::i;17473:89::-;;;4886:54789;17473:89;;;:::i;:::-;;;;17447:16;;;4886:54789;17447:16;;;:::i;:::-;;;;17413:24;;;4886:54789;17413:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;14440:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;14440:32;;;4886:54789;14440:32;;;;;4886:54789;;;;14506:34;;;;;;;14440:32;14506:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;14506:34;;;4886:54789;14506:34;;;;;14633:43;;;;;4886:54789;;;14633:43;;14656:4;4886:54789;14633:43;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;14633:43:64;;;;;;;;;4886:54789;2030:14:2;14686:48:64;;14704:15;2030:14:2;14712:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;14686:48:64;;;4886:54789;14686:48;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;14769:80;14686:48;14769:80;;;5515:66;14769:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;14769:80;4886:54789;5515:66;;;14769:80;;;;;;;;;:::i;:::-;4886:54789;;14899:36;14686:48;14876:79;;;4886:54789;14769:80;14876:79;;2030:14:2;30971:7:64;4886:54789;;;2030:14:2;14876:79:64;4886:54789;;;;14876:79;4886:54789;14876:79;336:42:2;14860:96:64;;;;4886:54789;14860:96;4886:54789;;;14860:96;;;;4886:54789;14860:96;;4886:54789;14860:96;;;:::i;:::-;;;;336:42:2;14860:96:64;;;;;;;;4886:54789;-1:-1:-1;14712:6:64;2030:14:2;14966:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;14966:25:64;:137;;;;;4886:54789;14616:7;4886:54789;;14966:137;4886:54789;;14966:137;;;;;;;4886:54789;14966:137;;4886:54789;14966:137;4886:54789;14966:137;;;:::i;14860:96::-;;;4886:54789;14860:96;;;:::i;:::-;;;;14686:48;;;;;;;;;;;;;:::i;:::-;;;14633:43;;;4886:54789;14633:43;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;49627:23;;;;;;;;;;;;;;;;;;;;4886:54789;49627:23;;;;;49669:6;4886:54789;;;336:42:2;49661:24:64;;;;4886:54789;;;49661:24;;4886:54789;;;;;;49661:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;49661:24:64;;;;;;;;4886:54789;49788:59;336:42:2;49788:59:64;;;;4886:54789;;;49788:59;;49804:42;4886:54789;49788:59;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;49788:59:64;;;;;;;;4886:54789;;49857:26;:20;4886:54789;49669:6;4886:54789;;;;;49857:26;:66;;;;;4886:54789;;;49857:66;;4886:54789;;49857:66;;4886:54789;;;;;;;;;;;;;;;;;;;;;;49857:66;4886:54789;49788:59;;;4886:54789;49788:59;;;:::i;:::-;;;;49661:24;;;4886:54789;49661:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;41908:10;4886:54789;41908:5;4886:54789;;;;;41908:10;41919:6;4886:54789;;;41908:26;;;;;;4886:54789;;;41908:26;;4886:54789;;;;41908:26;;4886:54789;20340:10;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;41908:26:64;;;;;;;;4886:54789;41945:39;336:42:2;41945:39:64;;;;4886:54789;;;41945:39;;4886:54789;41945:39;;;4886:54789;41945:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;41945:39;;;;336:42:2;41945:39:64;;;;;;;;4886:54789;;41736:5;4886:54789;42012:14;4886:54789;41908:5;4886:54789;;;;;42012:14;4886:54789;41999:70;4886:54789;;41999:70;;;4886:54789;41819:10;4886:54789;;;;2030:14:2;41865:10:64;2030:14:2;;4886:54789:64;2030:14:2;4886:54789:64;41999:70;;;;336:42:2;42079:39:64;;;;4886:54789;;;42079:39;;4886:54789;42079:39;;;4886:54789;42079:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;42079:39;;;;336:42:2;42079:39:64;;;;;;;;4886:54789;;41736:5;4886:54789;42140:14;4886:54789;41908:5;4886:54789;;;;;42140:14;4886:54789;42133:47;4886:54789;;42133:47;;;4886:54789;41819:10;4886:54789;;;2030:14:2;;4886:54789:64;42133:47;;;;336:42:2;42222:39:64;;;;4886:54789;;;42222:39;;4886:54789;42222:39;;;4886:54789;42222:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;42222:39;;;;336:42:2;42222:39:64;;;;;;;;4886:54789;;42291:14;4886:54789;41908:5;4886:54789;;;;;42291:14;41785:5;41736;4886:54789;;42276:91;4886:54789;;;42276:91;;;;4886:54789;;;;;;2030:14:2;41865:10:64;2030:14:2;;41819:10:64;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;42276:91;;;;42378:35;:20;4886:54789;41919:6;4886:54789;;;;;42378:35;:101;;;;;4886:54789;;;42378:101;;4886:54789;;;;42378:101;;4886:54789;;;;;;41865:10;4886:54789;;;2030:14:2;4886:54789:64;;;;;;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;42378:101:64;;;;;;;;4886:54789;;42499:15;4886:54789;41908:5;4886:54789;;;;;42499:15;:23;;4886:54789;41919:6;4886:54789;;;;;42499:23;;;;;;;;;;42490:36;42499:23;4886:54789;42499:23;;;42490:36;;:::i;:::-;4886:54789;;;42545:32;;4886:54789;;42545:32;;4886:54789;42499:23;4886:54789;;;42545:32;;;;;;;42579:6;42545:32;4886:54789;42545:32;;;4886:54789;42579:6;;:::i;:::-;42499:23;4886:54789;;42605:31;;4886:54789;42605:31;;;;;4886:54789;42605:31;;4886:54789;;;;;;;;42605:31;;;;;;;;;42596:44;42605:31;4886:54789;42605:31;;;42596:44;;:::i;42605:31::-;;;;42499:23;42605:31;42499:23;42605:31;;;;;;;:::i;:::-;;;;42545:32;;;;42499:23;42545:32;42499:23;42545:32;;;;;;;:::i;:::-;;;;42499:23;;;;;;;;;;;;;;:::i;:::-;;;;42378:101;;;4886:54789;42378:101;;;:::i;:::-;;;;42222:39;;;4886:54789;42222:39;;;:::i;:::-;;;;42079;;;4886:54789;42079:39;;;:::i;:::-;;;;41945;;;4886:54789;41945:39;;;:::i;:::-;;;;41908:26;;;4886:54789;41908:26;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;17791:83;;;;;5515:66;17791:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;17791:83;4886:54789;5515:66;;;17791:83;5515:66;17791:83;336:42:2;17885:55:64;;;;4886:54789;;;17885:55;;16367:38;4886:54789;17885:55;;4886:54789;;;;;;;17885:55;4886:54789;;;;;;;;;;;;20858:20:6;4886:54789:64;;:::i;:::-;20858:20:6;:::i;:::-;8262:26:64;;;:::i;:::-;8349:15;4886:54789;8357:6;4886:54789;;;;;8349:15;4886:54789;;8397:38;8357:6;8397:38;;;4886:54789;8397:38;;;;;;:::i;:::-;8309:137;4886:54789;;:::i;8309:137::-;4886:54789;8357:6;8309:137;;4886:54789;;8309:137;;4886:54789;8298:148;;;:::i;:::-;;;;;:::i;:::-;;336:42:2;8457:13:64;;;;4886:54789;;;8457:13;;4886:54789;;;;;;8457:13;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;8457:13:64;;;;;;;8504:68;;8582:24;8457:13;4886:54789;8457:13;;;;;4886:54789;;;8504:68;;;;8357:6;8504:68;;;8397:38;8504:68;;;:::i;8457:13::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;5445:32;4886:54789;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3346:26:9;4886:54789:64;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40167:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;40167:32;;;4886:54789;40167:32;;;;;4886:54789;;;;40233:34;;;;;;;40167:32;40233:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;40233:34;;;4886:54789;40233:34;;;;;;40318:43;;;;;4886:54789;;;40318:43;;40341:4;4886:54789;40318:43;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;40318:43:64;;;;;;;;;4886:54789;2030:14:2;40371:48:64;;40389:15;2030:14:2;40397:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;40371:48:64;;;4886:54789;40371:48;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;40454:80;40371:48;40454:80;;;5515:66;40454:80;;;2030:14:2;4886:54789:64;5515:66;;;;4886:54789;;;;40454:80;;4886:54789;;;40454:80;5515:66;4886:54789;40454:80;:::i;:::-;4886:54789;40575:32;;;;;;4886:54789;;;40575:32;;39736:4;4886:54789;40575:32;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;40575:32:64;;;;;;;;;4886:54789;;40647:153;;4886:54789;;40727:59;40371:48;40727:59;;;;;;40454:80;40727:59;;4886:54789;;;;;;;;;;;;;;;;;;40647:153;336:42:2;40618:192:64;;;;4886:54789;40618:192;4886:54789;;;40618:192;;;;4886:54789;40618:192;;4886:54789;40618:192;;;:::i;:::-;;;;336:42:2;40618:192:64;;;;;;;;4886:54789;-1:-1:-1;40397:6:64;2030:14:2;40820:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;40820:25:64;:92;;;;;;4886:54789;;;;;;40820:92;;;;;;;4886:54789;40820:92;;4886:54789;40820:92;;;:::i;40618:192::-;;;4886:54789;40618:192;;;:::i;:::-;;;;40575:32;;;4886:54789;40575:32;;;:::i;:::-;;;;40371:48;;;;;;;;;;;;;:::i;:::-;;;40318:43;;;4886:54789;40318:43;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;59342:68;;59072:26;;:::i;:::-;59159:15;4886:54789;59167:6;4886:54789;;;;;59159:15;4886:54789;;59258:38;59167:6;59258:38;;;4886:54789;59258:38;;;;;;:::i;:::-;59119:188;4886:54789;;:::i;59119:188::-;52577:4;59167:6;59119:188;;4886:54789;;59119:188;;4886:54789;59108:199;;;:::i;59342:68::-;4886:54789;;59532:45;59167:6;59509:72;;;4886:54789;59258:38;59509:72;;2030:14:2;59509:72:64;4886:54789;;;;59509:72;4886:54789;59509:72;336:42:2;59493:89:64;;;;4886:54789;59493:89;4886:54789;;;59493:89;;;;4886:54789;59493:89;;4886:54789;59493:89;;;:::i;:::-;;;;336:42:2;59493:89:64;;;;;;59627:7;59493:89;4886:54789;59493:89;59592:74;59493:89;;;-1:-1:-1;59592:6:64;2030:14:2;59592:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;4886:54789:64;;;;;;;;;;;;;27238:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;27238:32;;;4886:54789;27238:32;;;;;4886:54789;;;;27342:30;;;;;;;27238:32;27342:30;;;;;;;;;;;;;4886:54789;;;;;;;;;;27342:30;;;4886:54789;27342:30;;;;;4886:54789;;27406:68;4886:54789;27406:68;;;;;;;;;;4886:54789;;;;;;2030:14:2;27458:3:64;2030:14:2;;4886:54789:64;;;27406:68;336:42:2;27485:54:64;;;;4886:54789;;;27485:54;;38481:37;4886:54789;27485:54;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;27485:54:64;;;;;;4886:54789;27485:54;;;;;;;4886:54789;;27656:106;27631:11;4886:54789;27631:6;4886:54789;;;;;27631:11;4886:54789;27656:106;4886:54789;;27656:106;;;4886:54789;27406:68;27656:106;;;4886:54789;27656:106;;4886:54789;27656:106;27406:68;27656:106;;;:::i;27485:54::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;51092:10;4886:54789;51092:5;4886:54789;;;;;51092:10;51103:4;4886:54789;;;51092:27;;;;;;4886:54789;;;51092:27;;4886:54789;;;;51092:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;51092:27:64;;;;;;;;4886:54789;-1:-1:-1;51103:4:64;4886:54789;;;336:42:2;51129:19:64;;;;4886:54789;;;51129:19;;4886:54789;;;;;;51129:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;51129:19:64;;;;;;;;4886:54789;;;51158:41;;:13;4886:54789;51092:5;4886:54789;;;;;51158:41;;;;;;;;;;;4886:54789;51314:26;51584:68;;51314:26;;:::i;51158:41::-;;;;;;;;;;;;;:::i;:::-;;;51129:19;;;4886:54789;51129:19;;;:::i;:::-;;;;51092:27;;;4886:54789;51092:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;47819:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;47819:32;;;4886:54789;47819:32;;;;;4886:54789;;;;47885:34;;;;;;;47819:32;47885:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;47885:34;;;4886:54789;47885:34;;;;;;47985:6;4886:54789;;;47970:36;;;;;4886:54789;;;47970:36;;4886:54789;;;;;;47970:36;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;47970:36:64;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;48041:80;;;;;5515:66;48041:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;48041:80;4886:54789;5515:66;;;48041:80;5515:66;48041:80;336:42:2;48209:39:64;;;;4886:54789;;48209:39;4886:54789;48209:39;;4886:54789;48209:39;;;4886:54789;48209:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;48209:39;;;;336:42:2;48209:39:64;;;;;;;4886:54789;48209:39;;;4886:54789;;;;;;48263:133;4886:54789;;48263:133;;;4886:54789;;5515:66;2030:14:2;;47953:7:64;4886:54789;;;2030:14:2;4886:54789:64;;;;2030:14:2;48223:4:64;4886:54789;;;;;;;;;;;;;;;;;48263:133;;;;48407:34;:20;4886:54789;47985:6;4886:54789;;;;;48407:34;:112;;;;;;4886:54789;;;;;;;48407:112;;;;;;4886:54789;48407:112;;;;4886:54789;48407:112;;;:::i;48209:39::-;;;4886:54789;48209:39;;;:::i;:::-;;;;47970:36;;;4886:54789;47970:36;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;24447:6;4886:54789;;;336:42:2;24439:23:64;;;;4886:54789;;;24439:23;;4886:54789;;;;;;24439:23;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;24439:23:64;;;;;;;;4886:54789;;24493:74;;4886:54789;24557:9;4886:54789;;;;;;;;24516:27;24493:74;;;;4886:54789;24493:74;;;4886:54789;;;;;;;;;;;;;;;;;24493:74;336:42:2;24578:39:64;;;;4886:54789;;;24578:39;;4886:54789;24578:39;;;4886:54789;24578:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;24578:39;;;;336:42:2;24578:39:64;;;;;;;;4886:54789;;;;24557:9;4886:54789;;;;;;;;24632:36;4886:54789;;24632:36;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;24632:36;;;;24679:54;:27;4886:54789;24447:6;4886:54789;;;;;24679:54;:84;;;;;4886:54789;;;24679:84;;4886:54789;;;;;;;;24679:84;4886:54789;;24679:84;;;:::i;24578:39::-;;;4886:54789;24578:39;;;:::i;:::-;;;;24439:23;;;4886:54789;24439:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;26096:18;4886:54789;26104:9;4886:54789;;;;;26096:18;26124:33;4886:54789;26148:9;4886:54789;;;;;26124:33;26168:60;336:42:2;26168:60:64;;;;4886:54789;;;26168:60;;26184:43;4886:54789;26168:60;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;26168:60:64;;;;;;;4886:54789;26168:60;;;;;4886:54789;;;26344:92;;26332:11;4886:54789;26332:6;4886:54789;;;;;26332:11;4886:54789;;;26344:92;;;;;;26043:27;26344:92;;;2030:14:2;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;26168:60;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;34369:4;4886:54789;;;336:42:2;34360:14:64;;;;4886:54789;;;34360:14;;4886:54789;;;;;;34360:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;34360:14:64;;;;;;;;4886:54789;;;34384:50;;:17;4886:54789;34384:9;4886:54789;;;;;34384:50;;;;;;;;;;;4886:54789;34485:31;34724:81;;34485:31;;:::i;34724:81::-;34369:4;4886:54789;;;336:42:2;34816:29:64;;;;4886:54789;;;34816:29;;4886:54789;;;;;;34816:29;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;34816:29:64;;;;;;;;4886:54789;-1:-1:-1;34369:4:64;4886:54789;;;336:42:2;34855:14:64;;;;4886:54789;;;34855:14;;4886:54789;;;;;;34855:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;34855:14:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;34918:36;34384:50;34895:79;;;4886:54789;34640:38;34895:79;;2030:14:2;30971:7:64;4886:54789;;;2030:14:2;4886:54789:64;34895:79;4886:54789;;;;34895:79;4886:54789;34895:79;336:42:2;34879:96:64;;;;4886:54789;34879:96;4886:54789;;;34879:96;;;;4886:54789;34879:96;;4886:54789;34879:96;;;:::i;:::-;;;;336:42:2;34879:96:64;;;;;;;34985;34879;4886:54789;34879:96;;;4886:54789;-1:-1:-1;34410:6:64;2030:14:2;34985:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;34985:27:64;35036:18;4886:54789;34384:9;4886:54789;;;;;35036:18;34342:7;4886:54789;;34985:96;;;;;;4886:54789;34985:96;;4886:54789;34985:96;;;:::i;34879:::-;;;;;;;:::i;:::-;;;;34855:14;;;4886:54789;34855:14;;;:::i;:::-;;;;34816:29;;;4886:54789;34816:29;;;:::i;:::-;;;;34384:50;;;;;;;;;;;;;:::i;:::-;;;34360:14;;;4886:54789;34360:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;9804:4;4886:54789;;;336:42:2;9795:14:64;;;;4886:54789;;;9795:14;;4886:54789;;;;;9795:14;;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;9795:14:64;;;;;;;;4886:54789;;;9819:50;;:17;4886:54789;9819:9;4886:54789;;;;;9819:50;;;;;;;;;;;4886:54789;9915:26;10134:68;;9915:26;;:::i;10134:68::-;9804:4;4886:54789;;;10213:14;336:42:2;10213:14:64;;;;4886:54789;;;10213:14;;4886:54789;;;;;9795:14;10213;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;10213:14:64;;;;;;;10237:73;10213:14;4886:54789;10213:14;;;4886:54789;-1:-1:-1;9845:6:64;2030:14:2;10237:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;10237:27:64;10265:18;4886:54789;9819:9;4886:54789;;;;;10265:18;4886:54789;;;10237:73;;;;;;4886:54789;10237:73;;9795:14;10237:73;;;:::i;:::-;;;;;;;;;;;4886:54789;;10402:36;:19;4886:54789;9819:9;4886:54789;;;;;10402:19;9819:50;10422:15;2030:14:2;9845:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;10422:15:64;4886:54789;;;10402:36;;4886:54789;;;;9795:14;10402:36;;4886:54789;;;;;;;;;;;10402:36;;;;;;;;;;;10393:49;9819:50;10402:36;10536:25;10402:36;4886:54789;10402:36;;;10393:49;;:::i;:::-;9804:4;4886:54789;;;;;;;10536:25;;;;;4886:54789;10536:25;;9795:14;10536:25;;4886:54789;;;;;;;;;;;;10402:36;;;;;;;;;;;;;;:::i;10237:73::-;;;;;4886:54789;10237:73;;;;;;:::i;:::-;;;10213:14;;;;;;;:::i;:::-;;;;9819:50;;;;;;;;;;;;;:::i;:::-;;;9795:14;;;4886:54789;9795:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;28763:18;4886:54789;28771:9;4886:54789;;;;;28763:18;4886:54789;;28748:34;;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;28748:34;;;4886:54789;28748:34;;;;;4886:54789;;;28999:81;;;;28885:10;28999:81;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;28999:81;4886:54789;5515:66;;;28999:81;5515:66;28999:81;336:42:2;29091:58:64;;;;4886:54789;;;29091:58;;29107:41;4886:54789;29091:58;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;29091:58:64;;;;;;;4886:54789;29091:58;;;;;4886:54789;;;29241:11;4886:54789;29241:6;4886:54789;;;;;29241:11;4886:54789;29266:158;29337:18;4886:54789;28771:9;4886:54789;;;;;29337:18;29266:158;4886:54789;;29266:158;;;4886:54789;28999:81;29266:158;;;4886:54789;29266:158;;4886:54789;29266:158;28999:81;29266:158;;;:::i;29091:58::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;13071:4;4886:54789;;;336:42:2;13062:14:64;;;;4886:54789;;;13062:14;;4886:54789;;;;;;13062:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;13062:14:64;;;;;;;;4886:54789;13171:7;4886:54789;2030:14:2;;;13044:7:64;13104:15;2030:14:2;13112:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;13104:15:64;:46;;;;:::i;:::-;;13171:7;:::i;:::-;13224:13;13199:15;2030:14:2;13112:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;13062::64;;;4886:54789;13062:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3653:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37951:83;;;;;5515:66;37951:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;37951:83;4886:54789;5515:66;;;37951:83;5515:66;37951:83;336:42:2;38045:55:64;;;;4886:54789;;;38045:55;;16367:38;4886:54789;38045:55;;4886:54789;;;;;;;38045:55;4886:54789;;;;;;;;;;;;;;13326:19;4886:54789;13326:6;2030:14:2;;;4886:54789:64;;;13326:19;;;;4886:54789;13326:19;;;;;;;;;4886:54789;13326:19;;;4886:54789;;13347:42;4886:54789;;;4103:13:4;4099:68;;4886:54789:64;;;4099:68:4;4886:54789:64;4132:24:4;;;;4886:54789:64;;;4132:24:4;;4886:54789:64;;;;;;4132:24:4;;4886:54789:64;13347:42;4886:54789;;;;-1:-1:-1;4886:54789:64;;;;4132:24:4;;;;;;;;4886:54789:64;;;4132:24:4;;;;4886:54789:64;4132:24:4;;:::i;13326:19:64:-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;4886:54789;;;;;;;;;;;57953:10;4886:54789;57953:5;4886:54789;;;;;57953:10;57964:4;4886:54789;;;57953:27;;;;;;4886:54789;;;57953:27;;4886:54789;;;;57953:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;57953:27:64;;;;;;;;4886:54789;-1:-1:-1;57964:4:64;4886:54789;;;336:42:2;57990:19:64;;;;4886:54789;;;57990:19;;4886:54789;;;;;;57990:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;57990:19:64;;;;;;;;4886:54789;;;58019:41;;:13;4886:54789;57953:5;4886:54789;;;;;58019:41;;;;;;;;;;;4886:54789;58154:26;58424:68;;58154:26;;:::i;58424:68::-;4886:54789;;58614:45;58019:41;58591:72;;;4886:54789;58340:38;58591:72;;2030:14:2;4886:54789:64;58591:72;4886:54789;;;;58591:72;4886:54789;58591:72;336:42:2;58575:89:64;;;;4886:54789;58575:89;4886:54789;;;58575:89;;;;4886:54789;58575:89;;4886:54789;58575:89;;;:::i;:::-;;;;336:42:2;58575:89:64;;;;;;;58674:47;58575:89;4886:54789;58575:89;;;4886:54789;-1:-1:-1;58041:6:64;2030:14:2;58674:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;58674:21:64;58696:14;4886:54789;57953:5;4886:54789;;;;;58575:89;;;;;;;:::i;:::-;;;;58019:41;;;;;;;;;;;;;:::i;:::-;;;57990:19;;;4886:54789;57990:19;;;:::i;:::-;;;;57953:27;;;4886:54789;57953:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;50328:68;;50109:26;;:::i;50328:68::-;4886:54789;;50446:36;50204:6;50423:88;;;50018:7;50244:38;50423:88;;2030:14:2;50056:7:64;4886:54789;;;2030:14:2;50423:88:64;4886:54789;;;;50423:88;4886:54789;50423:88;336:42:2;50407:105:64;;;;4886:54789;50407:105;4886:54789;;;50407:105;;;;4886:54789;50407:105;;4886:54789;50407:105;;;:::i;:::-;;;;336:42:2;50407:105:64;;;;;;50056:7;50407:105;4886:54789;50407:105;50522:84;50407:105;;;4886:54789;-1:-1:-1;50522:6:64;2030:14:2;50522:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;50522:27:64;4886:54789;;;50522:84;;;;;;4886:54789;50522:84;;4886:54789;50522:84;;;:::i;50407:105::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;29590:4;4886:54789;;;336:42:2;29582:24:64;;;;4886:54789;;;29582:24;;4886:54789;;;;;;29582:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;29582:24:64;;;;;;;;4886:54789;29652:26;29871:68;;29652:26;;:::i;29871:68::-;29590:4;4886:54789;;;336:42:2;29950:14:64;;;;4886:54789;;;29950:14;;4886:54789;;;;;;29950:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;29950:14:64;;;;;;29565:7;29950:14;4886:54789;29950:14;29974:61;29950:14;;;4886:54789;-1:-1:-1;29974:6:64;2030:14:2;29974:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;29974:21:64;4886:54789;;;29974:61;;;;;;4886:54789;29974:61;;4886:54789;29974:61;;;:::i;29950:14::-;;;;;;;:::i;:::-;;;;29582:24;;;4886:54789;29582:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;44070:6;4886:54789;;;336:42:2;44062:26:64;;;;4886:54789;;;44062:26;;4886:54789;;;;;;44062:26;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;44062:26:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;44123:83;;;;;5515:66;44123:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;44123:83;4886:54789;5515:66;;;44123:83;5515:66;44123:83;44241:142;44320:18;4886:54789;44328:9;4886:54789;;;;;44320:18;44241:142;4886:54789;;44241:142;;;4886:54789;44123:83;44241:142;;;44123:83;44241:142;;;:::i;:::-;44394:54;:27;4886:54789;44070:6;4886:54789;;;;;44394:54;:89;;;;;4886:54789;;;44394:89;;4886:54789;;;;;;;;44394:89;4886:54789;;44394:89;;;:::i;:::-;;;;;;;;;;;4886:54789;;44494:27;44503:14;4886:54789;44070:6;4886:54789;;;;;44494:27;4886:54789;44123:83;44540:18;4886:54789;44328:9;4886:54789;;;;;44540:18;44568:9;44540:26;;44568:9;:::i;:::-;4886:54789;;44597:22;;;;4886:54789;44597:22;;;;;;;;44621:9;44597:22;4886:54789;44597:22;;;4886:54789;44621:9;;:::i;44597:22::-;;;;44123:83;44597:22;44123:83;44597:22;;;;;;;:::i;:::-;;;;44394:89;;;4886:54789;44394:89;;;:::i;:::-;;;;44062:26;;;4886:54789;44062:26;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;22863:28;;4886:54789;22884:6;4886:54789;;;;;22863:28;22884:6;4886:54789;;;336:42:2;22980:24:64;;;;4886:54789;;;22980:24;;4886:54789;;;;;;22980:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;22980:24:64;;;;;;;;4886:54789;;;;23129:34;;;;;;;;5621:48;22938:32;5621:48;;;;2030:14:2;5621:48:64;2030:14:2;;5621:48:64;2030:14:2;5621:48:64;23129:34;4886:54789;23119:45;;23200:20;:15;2030:14:2;23208:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;23200:20:64;22884:6;4886:54789;;;;;23254:18;;;;;;;;;;;;;;;;;;;;4886:54789;23254:18;;;;;4886:54789;23246:32;4886:54789;;23246:32;:::i;:::-;23230:49;336:42:2;23230:49:64;;;;;4886:54789;;;;;23230:49;;;;;4886:54789;23230:49;;4886:54789;23230:49;;;:::i;:::-;;;;336:42:2;23230:49:64;;;;;;;;4886:54789;;23400:35;4886:54789;;23302:11;4886:54789;22884:6;4886:54789;;;;;23302:11;4886:54789;;23337:25;23129:34;23314:75;;;;;;;;2030:14:2;;;5729:1:64;5621:48;;;2030:14:2;23314:75:64;;;;4886:54789;5621:48;;;23314:75;5621:48;23314:75;23302:88;;;;;;:::i;23400:35::-;22884:6;4886:54789;;;336:42:2;23445:27:64;;;;;4886:54789;;;;;23445:27;;;;;4886:54789;23445:27;;4886:54789;23445:27;;;:::i;:::-;;;;336:42:2;23445:27:64;;;;;;;;4886:54789;;23555:103;;4886:54789;23648:9;4886:54789;;;;;23555:103;336:42:2;23668:39:64;;;;4886:54789;;;23668:39;;4886:54789;23668:39;;;4886:54789;23668:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;23668:39;;;;336:42:2;23668:39:64;;;;;;;;4886:54789;;;;23648:9;4886:54789;;;;;;;;23722:37;4886:54789;;23722:37;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;23722:37;;;;23769:54;:27;4886:54789;22884:6;4886:54789;;;;;23769:54;:80;;;;;;4886:54789;;;;;;;23769:80;;;;;;4886:54789;23769:80;;4886:54789;23769:80;;;:::i;:::-;;;;;;;;;;;4886:54789;;23960:21;23129:34;4886:54789;22884:6;4886:54789;;;;;;;;;23960:21;;4886:54789;;;;23960:21;;4886:54789;;;;2030:14:2;;;;4886:54789:64;;;;;;;;;;;23960:21;;;336:42:2;23960:21:64;;;;;;24273:31;23960:21;23992:20;24031:14;23960:21;24213:32;23960:21;4886:54789;23960:21;;;23992:20;;:::i;24031:14::-;24022:27;24031:14;;24022:27;:::i;:::-;24059:36;24068:17;4886:54789;23648:9;4886:54789;;;;;24059:36;5621:48;983:133:62;;22938:32:64;983:133:62;;;24213:32:64;;:::i;:::-;24273:31;:::i;23960:21::-;;;;23129:34;23960:21;23129:34;23960:21;;;;;;;:::i;23769:80::-;;;4886:54789;23769:80;;;:::i;:::-;;;;23668:39;;;4886:54789;23668:39;;;:::i;:::-;;;;23445:27;;;4886:54789;23445:27;;;:::i;:::-;;;;23230:49;;;4886:54789;23230:49;;;:::i;:::-;;;;22980:24;;;4886:54789;22980:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;2876:18:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2876:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;11434:19;4886:54789;11434:9;4886:54789;;;;;11434:19;11454:4;4886:54789;;;;11434:25;;4886:54789;;;;;11434:25;;4886:54789;;;;11434:25;;4886:54789;;;;;;11434:25;;;;;;;4886:54789;11434:25;;;4886:54789;11470:14;336:42:2;11470:14:64;;;;4886:54789;;;11470:14;;4886:54789;;;;;;11470:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;11470:14:64;;;;;;;11494:47;11470:14;;;4886:54789;;11434:25;4886:54789;11494:17;4886:54789;11434:9;4886:54789;;;;;11494:17;11520:6;2030:14:2;11512:15:64;;2030:14:2;;4886:54789:64;;2030:14:2;;11512:15:64;4886:54789;;;11494:47;;;;;;4886:54789;11494:47;;4886:54789;11494:47;;4886:54789;;;;;;;;;;;;;;;2030:14:2;4886:54789:64;11494:47;;;;;;;;;;11806:68;11494:47;;;4886:54789;11587:26;11806:68;11587:26;;:::i;11806:68::-;11454:4;4886:54789;;;11885:14;336:42:2;11885:14:64;;;;4886:54789;;;11885:14;;4886:54789;;;;;;11885:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;11885:14:64;;;;;;;11909:51;11885:14;4886:54789;11885:14;;;4886:54789;-1:-1:-1;11520:6:64;2030:14:2;11909:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;11909:21:64;11931:18;4886:54789;11434:9;4886:54789;;;;;11931:18;4886:54789;;;11909:51;;;;;;4886:54789;11909:51;;4886:54789;11909:51;;;:::i;:::-;;;;;;;;;;12060:36;11909:51;;;4886:54789;;12060:19;4886:54789;11434:9;4886:54789;;;;;12060:19;11434:25;12080:15;2030:14:2;11520:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;12060:36:64;;;;;;;;;;;12051:49;11434:25;12060:36;12194:25;12060:36;4886:54789;12060:36;;;12051:49;;:::i;:::-;11454:4;4886:54789;;;;12194:25;;4886:54789;;;;;12194:25;;4886:54789;;;;;;;;;;;;;;12194:25;;;;;;;;;12221:11;12194:25;4886:54789;12194:25;;;12221:11;;:::i;12194:25::-;;;;11434;12194;11434;12194;;;;;;;:::i;:::-;;;;11909:51;;;;;4886:54789;11909:51;;;;;;:::i;:::-;;;11885:14;;;;;;;:::i;:::-;;;;11494:47;;;11434:25;11494:47;11434:25;11494:47;;;;;;;:::i;:::-;;;11470:14;;;4886:54789;11470:14;;;:::i;:::-;;;;11434:25;;;;;;;;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;30608:68;;30389:26;;:::i;30608:68::-;30696:4;4886:54789;;;336:42:2;30687:14:64;;;;4886:54789;;;30687:14;;4886:54789;;;;;;30687:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;30687:14:64;;;;;;;;4886:54789;30711:55;336:42:2;30711:55:64;;;;4886:54789;;;30711:55;;16367:38;4886:54789;30711:55;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;30711:55:64;;;;;;4886:54789;30711:55;;;30776:43;30711:55;;;-1:-1:-1;30776:6:64;2030:14:2;30776:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;30687::64;;;4886:54789;30687:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;2575:18:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;39095:33;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38341:2;4886:54789;;;;;;2030:14:2;4886:54789:64;39095:33;;;4886:54789;39095:33;;;;;4886:54789;;39162:76;;;;;5515:66;39162:76;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;39162:76;4886:54789;5515:66;;;39162:76;5515:66;39162:76;39258:6;4886:54789;;;336:42:2;39249:16:64;;;;4886:54789;;;39249:16;;4886:54789;;;;;;39249:16;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;39249:16:64;;;;;;;;4886:54789;39275:54;336:42:2;39275:54:64;;;;4886:54789;;;39275:54;;38481:37;4886:54789;39275:54;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;39275:54:64;;;;;;;;4886:54789;;39339:34;:20;4886:54789;39258:6;4886:54789;;;;;39339:34;39394:15;4886:54789;39162:76;4886:54789;;;;;39394:15;39339:97;;;;;;4886:54789;;;;39339:97;4886:54789;;39339:97;;;;;;;4886:54789;39339:97;;4886:54789;;39339:97;;;:::i;39275:54::-;;;4886:54789;39275:54;;;:::i;:::-;;;;39249:16;;;4886:54789;39249:16;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;18338:6;4886:54789;;;336:42:2;18330:23:64;;;;4886:54789;;;18330:23;;4886:54789;;;;;;18330:23;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;18330:23:64;;;;;;;;4886:54789;;18397:17;4886:54789;18397:9;4886:54789;;;;;18397:17;;336:42:2;18425:39:64;;;;4886:54789;;;18425:39;;4886:54789;18425:39;;;4886:54789;18425:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;18425:39;;;;336:42:2;18425:39:64;;;;;;;;4886:54789;-1:-1:-1;18397:9:64;4886:54789;;;;;;;18479:36;4886:54789;;;18479:36;;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;18479:36;;;;18525:26;:20;4886:54789;18338:6;4886:54789;;;;;18525:26;:49;;;;;4886:54789;;;18525:49;;4886:54789;;18525:49;;4886:54789;;;;;;;;;;;;;;;;;;;;;;18525:49;;;;;;;18738:6;18525:49;18690:46;18525:49;;;4886:54789;;18616:17;4886:54789;18397:9;4886:54789;;;;;18616:17;;18644:27;18653:14;4886:54789;18338:6;4886:54789;;;;;18644:27;18690:46;:::i;:::-;18738:6;:::i;18525:49::-;;;4886:54789;18525:49;;;:::i;:::-;;;;18425:39;;;4886:54789;18425:39;;;:::i;:::-;;;;18330:23;;;4886:54789;18330:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;336:42:2;25273:59:64;;;;4886:54789;;;25273:59;;25289:42;4886:54789;25273:59;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;25273:59:64;;;;;;;;4886:54789;-1:-1:-1;25342:6:64;2030:14:2;25342:12:64;;2030:14:2;;4886:54789:64;;2030:14:2;;25342:12:64;25367:9;4886:54789;;;25342:35;;;;;;4886:54789;;;25342:35;;4886:54789;;25342:35;;4886:54789;;;;;;;;;;;;;;;;;;;;25342:35;4886:54789;25273:59;;;4886:54789;25273:59;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;10967:68;;10748:26;;:::i;10967:68::-;11055:4;4886:54789;;;11046:14;336:42:2;11046:14:64;;;;4886:54789;;;11046:14;;4886:54789;;;;;;11046:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;11046:14:64;;;;;;;11099:108;11046:14;;;4886:54789;2030:14:2;11099:108:64;11172:15;2030:14:2;11180:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;11172:15:64;4886:54789;;11122:48;10843:6;11099:108;;;4886:54789;;;;10883:38;11099:108;;4886:54789;-1:-1:-1;2030:14:2;;;;10696:6:64;2030:14:2;;;;4886:54789:64;;;2030:14:2;;;;;11099:108:64;336:42:2;11070:147:64;;;;4886:54789;11070:147;4886:54789;;;11070:147;;;;4886:54789;11070:147;;4886:54789;11070:147;;;:::i;:::-;;;;336:42:2;11070:147:64;;;;;;;11227:73;11070:147;4886:54789;11070:147;;;-1:-1:-1;11180:6:64;2030:14:2;11227:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;11046::64;;;4886:54789;11046:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;45282:6;4886:54789;;;336:42:2;45274:23:64;;;;4886:54789;;;45274:23;;4886:54789;;;;;;45274:23;;4886:54789;42834:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;45274:23:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;;45333:139;;;;4886:54789;45333:139;;;4886:54789;;;;;;45438:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;45333:139;4886:54789;;;;45333:139;4886:54789;45333:139;45483:54;:27;4886:54789;45282:6;4886:54789;;;;;45483:54;:89;;;;;4886:54789;;;45483:89;;4886:54789;;;;;;;;45483:89;4886:54789;;45483:89;;;:::i;:::-;;;;;;;;;;;4886:54789;45583:27;45592:14;4886:54789;45282:6;4886:54789;;;;;45583:27;45620:42;45174:5;45629:23;45620:42;:::i;:::-;45672:41;45223:5;45681:22;45672:41;:::i;45483:89::-;;;4886:54789;45483:89;;;:::i;:::-;;;;45274:23;;;4886:54789;45274:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;18845:10;4886:54789;18845:5;4886:54789;;;;;18845:10;18856:6;4886:54789;;;18845:26;;;;;;4886:54789;;;18845:26;;4886:54789;;;;18845:26;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;18845:26:64;;;;;;;;4886:54789;;18914:26;;:15;4886:54789;18845:5;4886:54789;;;;;18914:15;18930:9;4886:54789;;;;;18914:26;;;;;;;;;;4886:54789;18914:26;;;4886:54789;18951:39;336:42:2;18951:39:64;;;;4886:54789;;;18951:39;;4886:54789;18951:39;;;4886:54789;18951:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;18951:39;;;;336:42:2;18951:39:64;;;;;;;;4886:54789;;19011:14;4886:54789;18845:5;4886:54789;;;;;19011:14;4886:54789;;18930:9;4886:54789;;;;;;;;;;;;;19005:40;4886:54789;;;19005:40;;;;4886:54789;18825:10;4886:54789;;;2030:14:2;;4886:54789:64;19005:40;;;;19055:26;:20;4886:54789;18856:6;4886:54789;;;;;19055:26;:53;;;;;;4886:54789;;;19055:53;;4886:54789;;;;;19055:53;;4886:54789;;;;;;;;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;19055:53:64;;;;;;;19150:26;19055:53;;;4886:54789;;19150:15;4886:54789;18845:5;4886:54789;;;;;19150:15;4886:54789;18914:26;4886:54789;18930:9;4886:54789;;;;;19150:26;;;;;;;;;;;19196:23;19150:26;4886:54789;19150:26;;;4886:54789;;18914:26;4886:54789;;18856:6;4886:54789;;;;;;;;;19196:23;;;;;4886:54789;19196:23;;4886:54789;19196:23;;4886:54789;;;;;;;;;;;;19196:23;;;;;;;;;;19187:36;19242:46;19196:23;19290:6;19196:23;4886:54789;19196:23;;;19187:36;;:::i;19242:46::-;19290:6;:::i;19196:23::-;;;;18914:26;19196:23;18914:26;19196:23;;;;;;;:::i;:::-;;;;19150:26;18914;19150;;;;;;;;;;;;;;;:::i;:::-;;;;;19055:53;;;4886:54789;19055:53;;;:::i;:::-;;;;18951:39;;;4886:54789;18951:39;;;:::i;:::-;;;;18914:26;;;;;;;;;;;;;;:::i;:::-;;;;18845;;;4886:54789;18845:26;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;9167:26;9622:24;9544:68;;9167:26;;:::i;:::-;9254:15;4886:54789;9262:6;4886:54789;;;;;9254:15;4886:54789;;9302:38;9262:6;9302:38;;;4886:54789;9302:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;9214:137;;9262:6;9214:137;;4886:54789;;9214:137;;4886:54789;9203:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;9302:38;9262:6;9460:38;;;4886:54789;9460:38;;;9302;9460;;:::i;:::-;9372:137;4886:54789;;:::i;9372:137::-;;9262:6;9372:137;;4886:54789;;9372:137;;4886:54789;9361:148;;;:::i;:::-;;;;;:::i;4886:54789::-;;;;;;;;;;;;;;;2723:18:9;4886:54789:64;;;;;;;2723:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5410:29;4886:54789;;;;;;;;;;;;;;;;;;;;;16594:16;;;;;;;;;;;;;;;;;;;;4886:54789;16594:16;;;;;4886:54789;;336:42:2;16658:35:64;;;;4886:54789;;;16658:35;;4886:54789;;;;16658:35;;4886:54789;16641:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;16658:35:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;16728:83;;;;;5515:66;16728:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;16728:83;4886:54789;5515:66;;;16728:83;5515:66;16728:83;4886:54789;16888:15;2030:14:2;16896:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;16888:15:64;16917:18;4886:54789;16925:9;4886:54789;;;;;16917:18;4886:54789;16840:131;4886:54789;;16840:131;;;;;4886:54789;16840:131;;4886:54789;16840:131;;;:::i;:::-;;;;;;;;;;;;4886:54789;16840:131;16982:50;16840:131;4886:54789;16840:131;;;4886:54789;;;;:::i;16982:50::-;16728:83;17051:20;4886:54789;16925:9;4886:54789;;;;;17051:20;4886:54789;;17051:22;;;;4886:54789;17051:22;;;;;;;;;17141:68;17051:22;17042:89;17051:22;4886:54789;17051:22;;;4886:54789;;;;:::i;:::-;17042:89;;:::i;:::-;17150:23;4886:54789;;:::i;:::-;17141:68;;:::i;17051:22::-;;;;16728:83;17051:22;16728:83;17051:22;;;;;;;:::i;:::-;;;;16840:131;;;;;;4886:54789;16840:131;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;16658:35;;;4886:54789;16658:35;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;44751:6;4886:54789;;;336:42:2;44743:23:64;;;;4886:54789;;;44743:23;;4886:54789;;;;;;44743:23;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;44743:23:64;;;;;;;;4886:54789;;44802:68;;4886:54789;44860:9;4886:54789;;;;;44802:68;44881:54;:27;4886:54789;44751:6;4886:54789;;;;;44743:23;;;4886:54789;44743:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;43581:18;4886:54789;43589:9;4886:54789;;;;;43581:18;43609:33;4886:54789;43633:9;4886:54789;;;;;43609:33;43653:60;336:42:2;43653:60:64;;;;4886:54789;;;43653:60;;26184:43;4886:54789;43653:60;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;43653:60:64;;;;;;;4886:54789;43653:60;;;;;4886:54789;;;43829:92;;43817:11;4886:54789;43817:6;4886:54789;;;;;43817:11;4886:54789;;;43829:92;;;;;;43511:44;43829:92;;;2030:14:2;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;43653:60;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;19521:6;4886:54789;;;336:42:2;19513:23:64;;;;4886:54789;;;19513:23;;4886:54789;;;;;;19513:23;;4886:54789;42834:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;19513:23:64;;;;;;;;4886:54789;19547:39;336:42:2;19547:39:64;;;;4886:54789;;;19547:39;;4886:54789;19547:39;;;4886:54789;19547:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;19547:39;;;;336:42:2;19547:39:64;;;;;;;;4886:54789;;19413:5;4886:54789;19601:44;4886:54789;;19601:44;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;19601:44;;;;336:42:2;19655:39:64;;;;4886:54789;;;19655:39;;4886:54789;19655:39;;;4886:54789;19655:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;19655:39;;;;336:42:2;19655:39:64;;;;;;;;4886:54789;;19462:5;4886:54789;19709:42;4886:54789;;19709:42;;;4886:54789;19743:7;4886:54789;;;2030:14:2;;4886:54789:64;19709:42;;;;336::2;19761:39:64;;;;4886:54789;;;19761:39;;4886:54789;19761:39;;;4886:54789;19761:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;19761:39;;;;336:42:2;19761:39:64;;;;;;;;4886:54789;;19462:5;19413;4886:54789;19815:86;4886:54789;;19815:86;;;4886:54789;19743:7;4886:54789;;;;2030:14:2;19637:7:64;2030:14:2;;19637:7:64;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;19815:86;;;;19912:35;:20;4886:54789;19521:6;4886:54789;;;;;19912:35;:89;;;;;4886:54789;;;19912:89;;4886:54789;19912:89;;;;;;4886:54789;19912:89;;4886:54789;;;;;;;;;;;;;;;19637:7;4886:54789;;;2030:14:2;4886:54789:64;;;19912:89;;;;;;;;;;;4886:54789;20012:27;20021:14;4886:54789;19521:6;4886:54789;;;;;20012:27;20049:42;19413:5;20058:23;20049:42;:::i;:::-;20101:41;19462:5;20110:22;20101:41;:::i;19912:89::-;;;4886:54789;19912:89;;;:::i;:::-;;;;19761:39;;;4886:54789;19761:39;;;:::i;:::-;;;;19655;;;4886:54789;19655:39;;;:::i;:::-;;;;19547;;;4886:54789;19547:39;;;:::i;:::-;;;;19513:23;;;4886:54789;19513:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;32954:68;;32735:26;;:::i;32954:68::-;33042:4;4886:54789;;;336:42:2;33033:14:64;;;;4886:54789;;;33033:14;;4886:54789;;;;;;33033:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;33033:14:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;33096:36;32830:6;33073:88;;;32642:7;32870:38;33073:88;;2030:14:2;32680:9:64;4886:54789;;;2030:14:2;33073:88:64;4886:54789;;;;33073:88;4886:54789;33073:88;336:42:2;33057:105:64;;;;4886:54789;33057:105;4886:54789;;;33057:105;;;;4886:54789;33057:105;;4886:54789;33057:105;;;:::i;:::-;;;;336:42:2;33057:105:64;;;;;;32680:9;33057:105;4886:54789;33057:105;33172:84;33057:105;;;-1:-1:-1;33172:6:64;2030:14:2;33172:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;33033::64;;;4886:54789;33033:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;41125:6;4886:54789;;;336:42:2;41117:23:64;;;;4886:54789;;;41117:23;;4886:54789;;;;;;41117:23;;4886:54789;42834:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;41117:23:64;;;;;;;;4886:54789;41151:39;336:42:2;41151:39:64;;;;4886:54789;;;41151:39;;4886:54789;41151:39;;;4886:54789;41151:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;41151:39;;;;336:42:2;41151:39:64;;;;;;;;4886:54789;;41017:5;4886:54789;41205:43;4886:54789;;41205:43;;;4886:54789;42834:7;4886:54789;;;2030:14:2;;4886:54789:64;41205:43;;;;336:42:2;41258:39:64;;;;4886:54789;;;41258:39;;4886:54789;41258:39;;;4886:54789;41258:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;41258:39;;;;336:42:2;41258:39:64;;;;;;;;4886:54789;;41066:5;41017;4886:54789;41312:78;4886:54789;;41312:78;;;4886:54789;;;;;;2030:14:2;41100:7:64;2030:14:2;;41100:7:64;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;41312:78;;;;41401:35;:20;4886:54789;41125:6;4886:54789;;;;;41401:35;:88;;;;;4886:54789;;;41401:88;;4886:54789;41401:88;;;;;;4886:54789;41401:88;;4886:54789;;;;;;;;;;;;;;;41100:7;4886:54789;;;2030:14:2;4886:54789:64;;;41401:88;;;;;;;;;;;4886:54789;41500:27;41509:14;4886:54789;41125:6;4886:54789;;;;;41500:27;41571:6;41017:5;41546:23;41571:6;:::i;:::-;41588:35;41066:5;41597:22;41588:35;:::i;41401:88::-;;;4886:54789;41401:88;;;:::i;:::-;;;;41258:39;;;4886:54789;41258:39;;;:::i;:::-;;;;41151;;;4886:54789;41151:39;;;:::i;:::-;;;;41117:23;;;4886:54789;41117:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;25484:23;;;;;;;;;;;;;;;;;;;;4886:54789;25484:23;;;;;25567:6;4886:54789;;;336:42:2;25559:24:64;;;;4886:54789;;;25559:24;;4886:54789;;;;;;25559:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;25559:24:64;;;;;;;;4886:54789;;25627:33;25636:14;4886:54789;25567:6;4886:54789;;;;;25627:33;336:42:2;25671:59:64;;;;4886:54789;;;25671:59;;49804:42;4886:54789;25671:59;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;25671:59:64;;;;;;;4886:54789;25671:59;;;;;4886:54789;;25840:11;4886:54789;25567:6;4886:54789;;;;;25840:11;4886:54789;;;25852:85;;;;;;4886:54789;25852:85;;;4886:54789;;;;;;;;;;;25852:85;4886:54789;;25852:85;4886:54789;;;;25852:85;4886:54789;25671:59;;;;;;;:::i;:::-;;;;25559:24;;;4886:54789;25559:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;56545:10;4886:54789;56545:5;4886:54789;;;;;56545:10;56556:4;4886:54789;;;56545:27;;;;;;4886:54789;;;56545:27;;4886:54789;;;;56545:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;56545:27:64;;;;;;;;4886:54789;-1:-1:-1;56556:4:64;4886:54789;;;336:42:2;56582:19:64;;;;4886:54789;;;56582:19;;4886:54789;;;;;;56582:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;56582:19:64;;;;;;;;4886:54789;;;56611:41;;:13;4886:54789;56545:5;4886:54789;;;;;56611:41;;;;;;;;;;;4886:54789;56764:26;57348:68;;56764:26;;:::i;:::-;56851:15;4886:54789;56611:41;4886:54789;;;;;56851:15;4886:54789;;56950:38;56611:41;56950:38;;;4886:54789;56950:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;56811:188;52577:4;56611:41;56811:188;;4886:54789;;56811:188;;4886:54789;56800:199;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;56950:38;56611:41;57107:38;;;4886:54789;57107:38;;;56950;57107;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;57020:136;52577:4;56611:41;57020:136;;4886:54789;;57020:136;;4886:54789;57009:147;;;:::i;56611:41::-;;;;;;;;;;;;;:::i;:::-;;;56582:19;;;4886:54789;56582:19;;;:::i;:::-;;;;56545:27;;;4886:54789;56545:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;15226:83;;;;;5515:66;15226:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;15226:83;4886:54789;5515:66;;;15226:83;5515:66;15226:83;15320:6;2030:14:2;15320:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;15320:25:64;4886:54789;15376:18;4886:54789;15384:9;4886:54789;;;;;15376:18;15320:101;;;;;;;4886:54789;;;15184:7;4886:54789;;15320:101;;;;;;4886:54789;15320:101;;4886:54789;15320:101;;;:::i;:::-;;;;;;;;;;;4886:54789;;15441:20;4886:54789;15384:9;4886:54789;;;;;15441:20;4886:54789;;;15441:22;;15226:83;15441:22;4886:54789;15441:22;;;;;;;;15465:9;15441:22;4886:54789;15441:22;;;15465:9;;:::i;:::-;4886:54789;;15494:23;4886:54789;15494:23;;15226:83;15494:23;4886:54789;15494:23;;;;;;;;;15576:9;15494:23;15519:9;15494:23;4886:54789;15494:23;;;15519:9;;:::i;15494:23::-;;;;15226:83;15494:23;15226:83;15494:23;;;;;;;:::i;:::-;;;;15320:101;;;4886:54789;15320:101;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;1065:26:16;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;12444:1;4886:54789;;;;;12444:1;4886:54789;:::i;:::-;;;-1:-1:-1;4886:54789:64;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;52471:1;4886:54789;;;;;52471:1;4886:54789;:::i;:::-;;;-1:-1:-1;4886:54789:64;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9191:1;4886:54789;;;;;9191:1;4886:54789;:::i;:::-;;;-1:-1:-1;4886:54789:64;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;52577:4;4886:54789;;;;;;;:::o;:::-;;;52856:1;4886:54789;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2030:14:2;;;;;;;;;;;:::i;:::-;;:::o;:::-;;4886:54789:64;;;;2030:14:2;;;;:::o;:::-;;;;;;4886:54789:64;;;;2030:14:2;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;4886:54789:64;;;;;;;:::i;:::-;2030:14:2;;;;;;;;;;;;-1:-1:-1;2030:14:2;;;;;;;;4886:54789:64;;;;;2030:14:2;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4886:54789:64;;;;;;;:::i;:::-;2030:14:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;4886:54789:64;2030:14:2;;;;;;;;4886:54789:64;;;;;;:::i;:::-;2030:14:2;;;;;:::i;:::-;;;4886:54789:64;2030:14:2;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7021:42:64;4886:54789;;2030:14:2;;;;;;;;:::i;:::-;;;;;4886:54789:64;;;2030:14:2;;;;;;;;:::i;:::-;;;4886:54789:64;2030:14:2;;;4886:54789:64;;;2030:14:2;;;;;;;;:::i;4886:54789:64:-;;;;;;;;31808:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;:::i;:::-;;;;;;;;;;34301:6;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;:::i;:::-;;;;;;;;50018:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;2030:14:2;;;:::i;5515:66:64:-;;;;;4886:54789;5515:66;;;;;4886:54789;;;;5515:66;;;4886:54789;5515:66;;;;;;;;;;:::i;:::-;;4886:54789;5515:66;;;2030:14:2;5515:66:64;2030:14:2;5515:66:64:o;:::-;;;;;;4886:54789;5515:66;;4886:54789;;;;5515:66;;;4886:54789;5515:66;;;;;;;;;;:::i;4886:54789::-;35223:42;4886:54789;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;4886:54789:64;;;35223:42;4886:54789;:::o;:::-;;;;-1:-1:-1;4886:54789:64;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;53327:8;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;:::i;:::-;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;-1:-1:-1;4886:54789:64;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;28604:10;4886:54789;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;28121:2;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64:o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;4886:54789:64;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;:::i;:::-;31143:1;4886:54789;;;;;31143:1;4886:54789;:::i;:::-;;;-1:-1:-1;4886:54789:64;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;4886:54789:64;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5713:19;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;5713:19;4886:54789;;5713:19;4886:54789;5713:19;;;:::o;:::-;;;;;45934:35;2030:14:2;;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;5713:19:64;;;;;;;;:::i;:::-;;;;;4886:54789;2030:14:2;;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;5713:19:64;;;;;;;;:::i;:::-;;;;;21301:25;2030:14:2;;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;5713:19:64;;;;;;;;:::i;:::-;;;;;22938:32;2030:14:2;;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;5713:19:64;;;;;;;;:::i;4886:54789::-;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;:::-;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64:o;:::-;;;;;;28953:10;4886:54789;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;1306:195:4:-;1365:7;4886:54789:64;;;;;;1395:4:4;1388:11;:::o;1361:134::-;4886:54789:64;;;1437:33:4;;;;;;;;192:59;1255:17;;;;4886:54789:64;;;;1255:17:4;2030:14:2;1437:33:4;;4886:54789:64;1437:33:4;;;;;;;4886:54789:64;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;;;;;;;;;;;;:::i;:::-;;;;4886:54789:64;;;;;;;;;;;2030:14:2;;;:::i;:::-;4886:54789:64;;;;;;;;;;;;;;:::i;:::-;;;;;;5515:66;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64:o;:::-;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;2030:14:2;4886:54789:64;;;;;:::o;:::-;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;2664:153:4:-;2747:13;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;4886:54789:64;5621:48;;;2030:14:2;4886:54789:64;2776:24:4;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;2776:24::-;4886:54789:64;2776:24:4;;;:::i;2664:153::-;31808:7:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;31808:7:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;20377:10:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;20377:10:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;13804:7:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;13804:7:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;42834:7:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;42834:7:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;41819:10:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;41819:10:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;5729:1:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;5729:1:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;45705:7:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;45705:7:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;18825:10:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;18825:10:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;2747:13;;;2743:68;;2664:153;;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;;2776:24:4;;;;;2030:14:2;;;;5621:48:64;;;2030:14:2;;;;2776:24:4;4886:54789:64;;5621:48;;;2776:24:4;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;4362:::-;4445:13;;;4441:68;;4362:153;;:::o;4441:68::-;4886:54789:64;4474:24:4;;;;4886:54789:64;;;4474:24:4;;;;;2030:14:2;;;;5621:48:64;;;2030:14:2;;;;4474:24:4;4886:54789:64;;5621:48;;;4474:24:4;5621:48:64;1480:121:76;4886:54789:64;1534:60:76;;;;4886:54789:64;;;1534:60:76;4886:54789:64;1534:60:76;;4886:54789:64;1534:60:76;;;4886:54789:64;1374:1:76;1358:19;;;2030:14:2;1590:1:76;1358:19;;;2030:14:2;1374:1:76;1534:60;;;;4886:54789:64;1534:60:76;;;;;;;;1480:121;:::o;1894:148:4:-;1980:5;1976:60;;;1894:148;;:::o;1976:60::-;4886:54789:64;2001:24:4;;;;4886:54789:64;;-1:-1:-1;4886:54789:64;;;2001:24:4;;;;;4886:54789:64;2001:24:4;;4886:54789:64;2001:24:4;;;4886:54789:64;;;;;;;;;;;:::i;1764:124:4:-;1831:5;1827:55;;;1764:124;:::o;1827:55::-;4886:54789:64;1852:19:4;;;;4886:54789:64;;1852:19:4;4886:54789:64;1852:19:4;;4886:54789:64;1852:19:4;;;4886:54789:64;-1:-1:-1;1852:19:4;;;4886:54789:64;1852:19:4;;;;;;;;1764:124;:::o;4886:54789:64:-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;2659:655:76;2777:11;;;:::i;:::-;2906:30;;;;;;;;:::i;:::-;;;;;;;;;;4886:54789:64;2888:49:76;;;;;;4886:54789:64;;;2888:49:76;;;;4886:54789:64;2888:49:76;;;;;;;:::i;:::-;;;;4886:54789:64;2888:49:76;;;;;;;;;;;;;2659:655;4886:54789:64;;;2996:55:76;;;2906:30;2996:55;;;3019:25;2996:55;;;;;4886:54789:64;;;;;2030:14:2;;4886:54789:64;2996:55:76;2978:74;;;;;;;:::i;:::-;3123:31;4886:54789:64;3123:31:76;;;;;4886:54789:64;2888:49:76;4886:54789:64;;;3123:31:76;;;;;4886:54789:64;3123:31:76;;2888:49;3123:31;;;:::i;:::-;;;;4886:54789:64;3123:31:76;;;;;;;3281:26;3123:31;3165:27;3123:31;;;2659:655;3165:27;;:::i;:::-;3202:61;2906:30;4886:54789:64;;3210:16:76;;3202:61;:::i;:::-;2906:30;4886:54789:64;;;3281:26:76;;;;;;:::i;3123:31::-;;;2888:49;3123:31;;;:::i;:::-;;;;2888:49;;;;;;;:::i;:::-;;;;2823:177:4;16641:7:64;2925:13:4;;2921:73;;2823:177;;:::o;2921:73::-;4886:54789:64;2954:29:4;;;;4886:54789:64;;-1:-1:-1;4886:54789:64;;;2954:29:4;;;;;4886:54789:64;2954:29:4;;;;;2030:14:2;16641:7:64;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;;;:::i;:::-;2954:29:4;;4886:54789:64;2954:29:4;;;;;;;;2823:177;:::o;2954:29::-;;;-1:-1:-1;2954:29:4;;;:::i;:::-;4886:54789:64;;;;;2664:153:4:o;2823:177::-;2925:13;2921:73;;2823:177;;:::o;2921:73::-;4886:54789:64;2954:29:4;;;;4886:54789:64;;;;;;2954:29:4;;;;;4886:54789:64;2954:29:4;;;;;2030:14:2;4886:54789:64;;;;2030:14:2;4886:54789:64;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;20479:242:6:-;;4886:54789:64;;20624:22:6;;;4886:54789:64;20624:22:6;4886:54789:64;;;;;:::i;20624:22:6:-;4886:54789:64;20614:33:6;;4886:54789:64;;;20665:19:6;4886:54789:64;20665:19:6;;20624:22;20665:19;;;;;;;4886:54789:64;;;;;2030:14:2;;4886:54789:64;20665:19:6;;;4886:54789:64;20665:19:6;;;;;;;-1:-1:-1;20665:19:6;;;20479:242;20658:26;;4886:54789:64;20694:20:6;;;;;4886:54789:64;-1:-1:-1;4886:54789:64;;;20694:20:6;;;;;4886:54789:64;20694:20:6;;20665:19;20694:20;;;:::i;:::-;;;;4886:54789:64;20694:20:6;;;;;;;;20479:242;:::o;20694:20::-;;;-1:-1:-1;20694:20:6;;;:::i;20665:19::-;;;;;20624:22;20665:19;20624:22;20665:19;;;;;;;:::i;:::-;;;;","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","holder()":"e534155d","recipient()":"66d003ac","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testDelegateCallWithETH()":"e702a118","testExecute_WithFailingMulticall()":"17adc5c4","testHandleSequenceDelegateCall_InjectAndCall()":"ad2b6d46","testHandleSequenceDelegateCall_RefundAndSweep()":"d372fdb4","testHandleSequenceDelegateCall_Sweep()":"e78db620","testHandleSequenceDelegateCall_ValidateOpHashAndSweep()":"3a0beca9","testIncorrectValueValidation()":"a4f48230","testInjectAndCall_NoReplacementNeeded()":"30410d2a","testInjectAndCall_WithReplacement()":"7ab42cd3","testInjectAndCall_WithTokenZeroBalance()":"bcb51278","testInjectAndCall_WithZeroBalance()":"374d67c3","testInjectSweepAndCall()":"08659073","testInjectSweepAndCall_WithETH_TargetCallFails()":"2d13f423","testInjectSweepAndCall_WithETH_ZeroBalance()":"924f1c32","testInjectSweepAndCall_WithToken_IncorrectValue()":"50bbb7a1","testInjectSweepAndCall_WithToken_TargetCallFails()":"6dda3c05","testInjectSweepAndCall_WithToken_ZeroBalance()":"23e58c8f","testNativeTransferFailure()":"53485062","testRefundAndSweep_FullRefund()":"f0ce4064","testRefundAndSweep_PartialRefundERC20()":"5415a4b0","testRefundAndSweep_ZeroRefundAmount()":"13f8beab","testRevertWhen_injectAndCall_NoValueAvailable()":"5457e5bb","testRevertWhen_injectAndCall_UnexpectedValue()":"50486ba7","testRevertWhen_injectSweepAndCall_InsufficientAllowance()":"383a9259","testRevertWhen_injectSweepAndCall_NoValueAvailable()":"28c75721","testSweepAndCallETH()":"f7ccd7e4","testValidateOpHashAndSweep_WithoutSentinel()":"ed90149e","test_Execute_FromContract_ShouldPreserveContractAsSender()":"46ee204d","test_Execute_FromEOA_ShouldPreserveEOAAsSender()":"6349dbdb","test_Execute_WithMultipleCalls()":"dc41cc0d","test_Multicall3Address_IsCorrect()":"a3b85699","test_ReceiveETH_ShouldAcceptETH()":"904745ef","test_RevertWhen_allowFailure_true_allCalls()":"f7aa752d","test_RevertWhen_allowFailure_true_firstOfMultipleCalls()":"1535e0ce","test_RevertWhen_allowFailure_true_lastOfMultipleCalls()":"3e1637cf","test_RevertWhen_allowFailure_true_middleOfMultipleCalls()":"1857a380","test_RevertWhen_allowFailure_true_singleCall()":"75f50bfe","test_RevertWhen_execute_withETH_allowFailure_true()":"6ddcc7c5","test_RevertWhen_pullAmountAndExecute_InsufficientAllowance()":"ce6a2472","test_RevertWhen_pullAndExecute_InsufficientAllowance()":"02b69a37","test_RevertWhen_pullAndExecute_allowFailure_true()":"a4cacf38","test_amount_offset_out_of_bounds()":"2b463e8e","test_direct_sweep_reverts_not_delegatecall()":"c3815945","test_handleSequenceDelegateCall_dispatches_to_sweep_native()":"7b936a84","test_handleSequenceDelegateCall_invalid_selector_reverts()":"41fe9ff4","test_native_transfer_failed()":"f1b7f01f","test_no_tokens_to_pull()":"04731fb9","test_no_tokens_to_sweep()":"73fda24c","test_placeholder_mismatch()":"8c4978ed","test_pullAmountAndExecute_WithETH_IncorrectValue()":"ee6afeda","test_pullAmountAndExecute_WithETH_ShouldTransferAndExecute()":"04cb3024","test_pullAmountAndExecute_WithToken_IncorrectValue()":"870d7693","test_pullAmountAndExecute_WithToken_ShouldTransferAndExecute()":"bdb9d980","test_pullAmountAndExecute_WithValidToken_ShouldTransferAndExecute()":"879c6403","test_pullAndExecute_WithETH_NoEthSent()":"b3a1bcc3","test_pullAndExecute_WithETH_ShouldTransferAndExecute()":"a92b31ce","test_pullAndExecute_WithFailingMulticall()":"2091fcb0","test_pullAndExecute_WithToken_IncorrectValue()":"37688a55","test_pullAndExecute_WithValidToken_ShouldTransferFullBalanceAndExecute()":"b07e1637","test_refundAndSweep_erc20_partialRefund()":"0604a0cb","test_refundAndSweep_native_partialRefund()":"ee40d604","test_success_sentinel_not_set()":"7fc4fcce","test_sweep_erc20Token()":"d7bf1410","test_sweep_nativeToken()":"bf627174","test_validateOpHashAndSweep_native_success()":"46798b95","test_validateOpHashAndSweep_native_success_tstore()":"aebb1844"}}}},"test/TrailsRouterShim.t.sol":{"CustomErrorRouter":{"abi":[{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"triggerCustomError","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"error","name":"CustomRouterError","inputs":[{"name":"message","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"CustomRouterError\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"triggerCustomError\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"CustomErrorRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460155761056e908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763f9ab70b91461002f575f80fd5b610244565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760043567ffffffffffffffff811161017b573660238201121561017b57806004013567ffffffffffffffff811161017b576024820191602436918360051b01011161017b576100ac8161037e565b915f5b8281106100c857604051806100c4868261017f565b0390f35b5f8060406100d784878761041b565b01356100f16100e785888861041b565b6060810190610460565b90610101604051809381936104b1565b0391305af161010e6104be565b906101176102fd565b811515815282602082015261012c8488610517565b526101378387610517565b50610155610151602061014b86898961041b565b0161052b565b1590565b9081610172575b5061016a57506001016100af565b602081519101fd5b9050158661015c565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101b157505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101a2565b3461017b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760646040517f4b54191000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f637573746f6d206572726f72206d6573736167650000000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff82111761031d57604052565b6102d0565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761031d57604052565b67ffffffffffffffff811161031d5760051b60200190565b9061039061038b83610366565b610322565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103be8294610366565b01905f5b8281106103ce57505050565b6020906103d96102fd565b5f8152606083820152828285010152016103c2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561045b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818136030182121561017b570190565b6103ee565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561017b570180359067ffffffffffffffff821161017b5760200191813603831361017b57565b908092918237015f815290565b3d15610512573d9067ffffffffffffffff821161031d5761050660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610322565b9182523d5f602084013e565b606090565b805182101561045b5760209160051b010190565b35801515810361017b579056fea26469706673582212200d1a5716e82c4abc099a979292b9647389cf2959a98a4fd8cdf7d0d750d237e264736f6c634300081e0033","sourceMap":"4167:978:65:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763f9ab70b91461002f575f80fd5b610244565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760043567ffffffffffffffff811161017b573660238201121561017b57806004013567ffffffffffffffff811161017b576024820191602436918360051b01011161017b576100ac8161037e565b915f5b8281106100c857604051806100c4868261017f565b0390f35b5f8060406100d784878761041b565b01356100f16100e785888861041b565b6060810190610460565b90610101604051809381936104b1565b0391305af161010e6104be565b906101176102fd565b811515815282602082015261012c8488610517565b526101378387610517565b50610155610151602061014b86898961041b565b0161052b565b1590565b9081610172575b5061016a57506001016100af565b602081519101fd5b9050158661015c565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101b157505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101a2565b3461017b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760646040517f4b54191000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f637573746f6d206572726f72206d6573736167650000000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff82111761031d57604052565b6102d0565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761031d57604052565b67ffffffffffffffff811161031d5760051b60200190565b9061039061038b83610366565b610322565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103be8294610366565b01905f5b8281106103ce57505050565b6020906103d96102fd565b5f8152606083820152828285010152016103c2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561045b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818136030182121561017b570190565b6103ee565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561017b570180359067ffffffffffffffff821161017b5760200191813603831361017b57565b908092918237015f815290565b3d15610512573d9067ffffffffffffffff821161031d5761050660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610322565b9182523d5f602084013e565b606090565b805182101561045b5760209160051b010190565b35801515810361017b579056fea26469706673582212200d1a5716e82c4abc099a979292b9647389cf2959a98a4fd8cdf7d0d750d237e264736f6c634300081e0033","sourceMap":"4167:978:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4443:38;;;:::i;:::-;4497:13;4167:978;4512:16;;;;;;4167:978;;;;;;;:::i;:::-;;;;4530:3;4167:978;4610:8;4167:978;4610:8;;;;;:::i;:::-;:14;4167:978;4626:17;:8;;;;;:::i;:::-;:17;;;;;:::i;:::-;4167:978;;;;;;;;;:::i;:::-;4584:60;4592:4;;4584:60;;;;:::i;:::-;4167:978;;;:::i;:::-;;;;;;4671:32;4167:978;4671:32;;4167:978;4658:45;;;;:::i;:::-;;;;;;:::i;:::-;;4790:22;4791:21;4167:978;4791:8;;;;;:::i;:::-;:21;;:::i;:::-;4790:22;;4167:978;4790:22;:34;;;;4530:3;4786:201;;;4530:3;4167:978;;4497:13;;4786:201;4167:978;4892:81;;;;;4790:34;4816:8;;;4790:34;;;4167:978;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5095:41;4167:978;;5095:41;;;4167:978;;5095:41;;4167:978;;;;;;;;;;;5095:41;4167:978;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;4167:978:65;;;;;;;;;:::o;:::-;;;;;:::i;:::-;-1:-1:-1;4167:978:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;4167:978:65;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","triggerCustomError()":"f9ab70b9"}}},"IMockDelegatedExtension":{"abi":[{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"startingGas","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"},{"name":"numCalls","type":"uint256","internalType":"uint256"},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Minimal interface for delegated entrypoint used by tests\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"IMockDelegatedExtension\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c"}}},"MockAggregate3Router":{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"event","name":"Forwarded","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Forwarded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Mock router that implements aggregate3Value and forwards calls to targets\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"MockAggregate3Router\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346015576105c8908161001a8239f35b5f80fdfe6080604052600436101561001e575b361561001c5761001c61055b565b005b5f3560e01c63174dea710361000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101be5760043567ffffffffffffffff81116101be57366023820112156101be57806004013567ffffffffffffffff81116101be576024820191602436918360051b0101116101be576100a581610335565b915f5b8281106100f8576100f4846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100e5363483610510565b0390a2604051918291826101c2565b0390f35b5f8061010d6101088487876103d2565b610417565b604061011a8588886103d2565b013561013461012a8689896103d2565b6060810190610438565b919061014560405180948193610489565b03925af1610151610496565b9061015a6102b4565b811515815282602082015261016f84886104ef565b5261017a83876104ef565b50610198610194602061018e8689896103d2565b01610503565b1590565b90816101b5575b506101ad57506001016100a8565b602081519101fd5b9050155f61019f565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101f457505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff8211176102d457604052565b610287565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff8211176102d457604052565b67ffffffffffffffff81116102d45760051b60200190565b906103476103428361031d565b6102d9565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610375829461031d565b01905f5b82811061038557505050565b6020906103906102b4565b5f815260608382015282828501015201610379565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104125760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101be570190565b6103a5565b3573ffffffffffffffffffffffffffffffffffffffff811681036101be5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101be570180359067ffffffffffffffff82116101be576020019181360383136101be57565b908092918237015f815290565b3d156104ea573d9067ffffffffffffffff82116102d4576104de60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f850116016102d9565b9182523d5f602084013e565b606090565b80518210156104125760209160051b010190565b3580151581036101be5790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f8582860101520116010190565b6040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133918061058d363483610510565b0390a256fea2646970667358221220d523db1de27e64b0527069ded5375b764da9b81933e31adb6a59815680bde21364736f6c634300081e0033","sourceMap":"1603:1223:65:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436101561001e575b361561001c5761001c61055b565b005b5f3560e01c63174dea710361000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101be5760043567ffffffffffffffff81116101be57366023820112156101be57806004013567ffffffffffffffff81116101be576024820191602436918360051b0101116101be576100a581610335565b915f5b8281106100f8576100f4846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100e5363483610510565b0390a2604051918291826101c2565b0390f35b5f8061010d6101088487876103d2565b610417565b604061011a8588886103d2565b013561013461012a8689896103d2565b6060810190610438565b919061014560405180948193610489565b03925af1610151610496565b9061015a6102b4565b811515815282602082015261016f84886104ef565b5261017a83876104ef565b50610198610194602061018e8689896103d2565b01610503565b1590565b90816101b5575b506101ad57506001016100a8565b602081519101fd5b9050155f61019f565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101f457505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff8211176102d457604052565b610287565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff8211176102d457604052565b67ffffffffffffffff81116102d45760051b60200190565b906103476103428361031d565b6102d9565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610375829461031d565b01905f5b82811061038557505050565b6020906103906102b4565b5f815260608382015282828501015201610379565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104125760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101be570190565b6103a5565b3573ffffffffffffffffffffffffffffffffffffffff811681036101be5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101be570180359067ffffffffffffffff82116101be576020019181360383136101be57565b908092918237015f815290565b3d156104ea573d9067ffffffffffffffff82116102d4576104de60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f850116016102d9565b9182523d5f602084013e565b606090565b80518210156104125760209160051b010190565b3580151581036101be5790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f8582860101520116010190565b6040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133918061058d363483610510565b0390a256fea2646970667358221220d523db1de27e64b0527069ded5375b764da9b81933e31adb6a59815680bde21364736f6c634300081e0033","sourceMap":"1603:1223:65:-:0;;;;;;;;;-1:-1:-1;1603:1223:65;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2088:38;;;:::i;:::-;2142:13;1603:1223;2157:16;;;;;;1603:1223;;;;2750:42;2760:10;1603:1223;;2750:42;1603:1223;2772:9;2750:42;;:::i;:::-;;;;1603:1223;;;;;;;:::i;:::-;;;;2175:3;1603:1223;2229:8;:15;:8;;;;;:::i;:::-;:15;:::i;:::-;1603:1223;2257:8;;;;;:::i;:::-;:14;1603:1223;2273:17;:8;;;;;:::i;:::-;:17;;;;;:::i;:::-;1603:1223;;;;;;;;;;:::i;:::-;2229:62;;;;;;:::i;:::-;1603:1223;;;:::i;:::-;;;;;;2318:32;1603:1223;2318:32;;1603:1223;2305:45;;;;:::i;:::-;;;;;;:::i;:::-;;2437:22;2438:21;1603:1223;2438:8;;;;;:::i;:::-;:21;;:::i;:::-;2437:22;;1603:1223;2437:22;:34;;;;2175:3;2433:201;;;2175:3;1603:1223;;2142:13;;2433:201;1603:1223;2539:81;;;;;2437:34;2463:8;;;2437:34;;;1603:1223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1603:1223:65;;;;;;;;;:::o;:::-;;;;;:::i;:::-;-1:-1:-1;1603:1223:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;1603:1223:65;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1745:140::-;1603:1223;;1836:42;1846:10;1869:8;;1836:42;1869:8;1858:9;1836:42;;:::i;:::-;;;;1745:140::o","linkReferences":{}},"methodIdentifiers":{"aggregate3Value((address,bool,uint256,bytes)[])":"174dea71"}}},"MockRouter":{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"Forwarded","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Forwarded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Mock router that emits events and supports receiving value\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"MockRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561127d90816100348239f35b5f80fdfe60808060405260043610156100c7575b50361561008c5760405134815260406020820152366040820152365f60608301375f606036830101527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133916060817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190a2005b604051348152604060208201525f60408201527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4160603392a2005b5f3560e01c9081631ed7831c14610a6e575080632ade3880146108405780633e5e3c23146107985780633f7286f4146106f057806366d9a9a01461059357806385226c81146104ea578063916a17c614610414578063b0464fdc1461033e578063b5508aa914610295578063ba414fa614610253578063e20c9f711461019b5763fa7626d414610157575f61000f565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602060ff601f54166040519015158152f35b5f80fd5b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110610227576102238561021781870382610d63565b60405191829182610b12565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610200565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602061028b611163565b6040519015158152f35b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610197576019546102cf81610da4565b906102dd6040519283610d63565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061032157604051806102238782610bf9565b60016020819261033085610dbc565b81520192019201919061030c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601c5461037881610da4565b906103866040519283610d63565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106103ca57604051806102238782610c76565b600260206001926040516103dd81610d1a565b73ffffffffffffffffffffffffffffffffffffffff8654168152610402858701610ebf565b838201528152019201920191906103b5565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601d5461044e81610da4565b9061045c6040519283610d63565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106104a057604051806102238782610c76565b600260206001926040516104b381610d1a565b73ffffffffffffffffffffffffffffffffffffffff86541681526104d8858701610ebf565b8382015281520192019201919061048b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601a5461052481610da4565b906105326040519283610d63565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061057657604051806102238782610bf9565b60016020819261058585610dbc565b815201920192019190610561565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601b546105cd81610da4565b906105db6040519283610d63565b808252602082019081601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b8383106106b557848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061064a57505050500390f35b919360206106a5827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836106958351604084526040840190610b61565b9201519084818403910152610ba4565b960192019201859493919261063b565b600260206001926040516106c881610d1a565b6106d186610dbc565b81526106de858701610ebf565b8382015281520192019201919061060c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061076c576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610755565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610814576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016107fd565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601e5461087a81610da4565b906108886040519283610d63565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106109d657848660405191829160208301906020845251809152604083019060408160051b85010192915f905b8282106108f757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061098d57505050505060208060019296019201920185949391926108e8565b90919293946020806109c9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610b61565b970195019392910161096b565b6040516109e281610d1a565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610a0b81610da4565b91610a196040519384610d63565b81835260208301905f5260205f20905f905b838210610a515750505050600192826020928360029501528152019201920191906108b9565b600160208192610a6086610dbc565b815201930191019091610a2b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610ae6576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610acf565b60206040818301928281528451809452019201905f5b818110610b355750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610b28565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110610bc15750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610bb4565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610c2b57505050505090565b9091929394602080610c67837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610b61565b97019301930191939290610c1c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610ca857505050505090565b9091929394602080610d0b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610ba4565b97019301930191939290610c99565b6040810190811067ffffffffffffffff821117610d3657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d3657604052565b67ffffffffffffffff8111610d365760051b60200190565b90604051915f8154908160011c9260018316928315610eb5575b602085108414610e88578487528693908115610e485750600114610e04575b50610e0292500383610d63565b565b90505f9291925260205f20905f915b818310610e2c575050906020610e02928201015f610df5565b6020919350806001915483858901015201910190918492610e13565b60209350610e029592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f610df5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693610dd6565b90604051918281549182825260208201905f5260205f20925f905b8060078301106110d657610e029454918181106110a0575b81811061106a575b818110611034575b818110610ffe575b818110610fc8575b818110610f92575b818110610f5d575b10610f30575b500383610d63565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f610f28565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301610f22565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301610f1a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301610f12565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301610f0a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301610f02565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301610efa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301610ef2565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391610eda565b60085460ff161561117357600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561123c575f9161120a575b50151590565b90506020813d602011611234575b8161122560209383610d63565b8101031261019757515f611204565b3d9150611218565b6040513d5f823e3d90fdfea26469706673582212206e9642ec453e986d63884812fd70441be020e85e83d9366b4f5b108bab7b726264736f6c634300081e0033","sourceMap":"1225:293:65:-:0;;;;;;;3200:4:5;1225:293:65;;3200:4:5;1225:293:65;;;3200:4:5;1225:293:65;3200:4:5;1225:293:65;;1087:4:16;1225:293:65;;;1087:4:16;1225:293:65;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156100c7575b50361561008c5760405134815260406020820152366040820152365f60608301375f606036830101527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133916060817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190a2005b604051348152604060208201525f60408201527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4160603392a2005b5f3560e01c9081631ed7831c14610a6e575080632ade3880146108405780633e5e3c23146107985780633f7286f4146106f057806366d9a9a01461059357806385226c81146104ea578063916a17c614610414578063b0464fdc1461033e578063b5508aa914610295578063ba414fa614610253578063e20c9f711461019b5763fa7626d414610157575f61000f565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602060ff601f54166040519015158152f35b5f80fd5b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110610227576102238561021781870382610d63565b60405191829182610b12565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610200565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602061028b611163565b6040519015158152f35b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610197576019546102cf81610da4565b906102dd6040519283610d63565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061032157604051806102238782610bf9565b60016020819261033085610dbc565b81520192019201919061030c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601c5461037881610da4565b906103866040519283610d63565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106103ca57604051806102238782610c76565b600260206001926040516103dd81610d1a565b73ffffffffffffffffffffffffffffffffffffffff8654168152610402858701610ebf565b838201528152019201920191906103b5565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601d5461044e81610da4565b9061045c6040519283610d63565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106104a057604051806102238782610c76565b600260206001926040516104b381610d1a565b73ffffffffffffffffffffffffffffffffffffffff86541681526104d8858701610ebf565b8382015281520192019201919061048b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601a5461052481610da4565b906105326040519283610d63565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061057657604051806102238782610bf9565b60016020819261058585610dbc565b815201920192019190610561565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601b546105cd81610da4565b906105db6040519283610d63565b808252602082019081601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b8383106106b557848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061064a57505050500390f35b919360206106a5827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836106958351604084526040840190610b61565b9201519084818403910152610ba4565b960192019201859493919261063b565b600260206001926040516106c881610d1a565b6106d186610dbc565b81526106de858701610ebf565b8382015281520192019201919061060c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061076c576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610755565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610814576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016107fd565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601e5461087a81610da4565b906108886040519283610d63565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106109d657848660405191829160208301906020845251809152604083019060408160051b85010192915f905b8282106108f757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061098d57505050505060208060019296019201920185949391926108e8565b90919293946020806109c9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610b61565b970195019392910161096b565b6040516109e281610d1a565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610a0b81610da4565b91610a196040519384610d63565b81835260208301905f5260205f20905f905b838210610a515750505050600192826020928360029501528152019201920191906108b9565b600160208192610a6086610dbc565b815201930191019091610a2b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610ae6576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610acf565b60206040818301928281528451809452019201905f5b818110610b355750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610b28565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110610bc15750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610bb4565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610c2b57505050505090565b9091929394602080610c67837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610b61565b97019301930191939290610c1c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610ca857505050505090565b9091929394602080610d0b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610ba4565b97019301930191939290610c99565b6040810190811067ffffffffffffffff821117610d3657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d3657604052565b67ffffffffffffffff8111610d365760051b60200190565b90604051915f8154908160011c9260018316928315610eb5575b602085108414610e88578487528693908115610e485750600114610e04575b50610e0292500383610d63565b565b90505f9291925260205f20905f915b818310610e2c575050906020610e02928201015f610df5565b6020919350806001915483858901015201910190918492610e13565b60209350610e029592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f610df5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693610dd6565b90604051918281549182825260208201905f5260205f20925f905b8060078301106110d657610e029454918181106110a0575b81811061106a575b818110611034575b818110610ffe575b818110610fc8575b818110610f92575b818110610f5d575b10610f30575b500383610d63565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f610f28565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301610f22565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301610f1a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301610f12565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301610f0a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301610f02565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301610efa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301610ef2565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391610eda565b60085460ff161561117357600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561123c575f9161120a575b50151590565b90506020813d602011611234575b8161122560209383610d63565b8101031261019757515f611204565b3d9150611218565b6040513d5f823e3d90fdfea26469706673582212206e9642ec453e986d63884812fd70441be020e85e83d9366b4f5b108bab7b726264736f6c634300081e0033","sourceMap":"1225:293:65:-:0;;;;;;;;;;-1:-1:-1;1225:293:65;;;;;;;1395:9;1255:17:4;;1225:293:65;;;;;;;;;;;1406:8;1225:293;;;;1406:8;1225:293;;;;;;1373:42;1383:10;1225:293;;;;;;;;;;1373:42;;;;1225:293;;;;1492:9;1255:17:4;;1225:293:65;;;;;-1:-1:-1;1225:293:65;;;;1470:39;;1480:10;1470:39;;1225:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2723:18:9;1225:293:65;;;;;;;2723:18:9;1225:293:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;2575:18:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;1225:293:65;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2876:18:9;1225:293:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3653:18:9;1225:293:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;1225:293:65;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;3346:26:9;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;1225:293:65;;;;;;;3501:18:9;1225:293:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;1225:293:65;;;;;;;3794:16:9;1225:293:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;3948:19:9;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;1225:293:65;;;;;;;;3018:16:9;1225:293:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;1225:293:65;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;1225:293:65;;;;;-1:-1:-1;1225:293:65;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1225:293:65;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1225:293:65;;-1:-1:-1;1225:293:65;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1306:195:4;1365:7;1225:293:65;;;;;;1395:4:4;1388:11;:::o;1361:134::-;1225:293:65;;;1437:33:4;;1225:293:65;1437:33:4;;;1225:293:65;192:59:4;1255:17;;;;;1437:33;;;1225:293:65;1437:33:4;;;;;;;1225:293:65;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;1255:17;1437:33;;;:::i;:::-;;;1255:17;;;;;1437:33;;;;;;-1:-1:-1;1437:33:4;;;1225:293:65;;1255:17:4;1225:293:65;1255:17:4;;;;","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}},"MockRouterReturningData":{"abi":[{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"returnTestData","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"event","name":"Forwarded","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Forwarded\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"returnTestData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"MockRouterReturningData\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234601557610610908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763ad1cd6531461002f575f80fd5b610289565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b25760043567ffffffffffffffff81116101b257366023820112156101b257806004013567ffffffffffffffff81116101b2576024820191602436918360051b0101116101b2576100ac816103b6565b915f5b8281106100ff576100fb846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100ec36348361058f565b0390a2604051918291826101f9565b0390f35b5f80604061010e84878761046e565b013561012861011e85888861046e565b60608101906104b3565b9061013860405180938193610504565b0391305af1610145610511565b9061014e61038d565b8115158152826020820152610163848861056e565b5261016e838761056e565b5061018c610188602061018286898961046e565b01610582565b1590565b90816101a9575b506101a157506001016100af565b602081519101fd5b90501586610193565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061022b57505050505090565b909192939460208061027a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b51805115158452015191818582015201906101b6565b9701930193019193929061021c565b346101b2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b2576100fb604051602a6020820152604080820152600960608201527f746573742064617461000000000000000000000000000000000000000000000060808201526080815261030660a082610347565b6040519182916020835260208301906101b6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761038857604052565b61031a565b6040519061039c604083610347565b565b67ffffffffffffffff81116103885760051b60200190565b906103c08261039e565b6103cd6040519182610347565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103fb829461039e565b015f5b81811061040a57505050565b60405190604082019180831067ffffffffffffffff841117610388576020926040525f8152606083820152828286010152016103fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104ae5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101b2570190565b610441565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b2570180359067ffffffffffffffff82116101b2576020019181360383136101b257565b908092918237015f815290565b3d15610569573d9067ffffffffffffffff8211610388576040519161055e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610347565b82523d5f602084013e565b606090565b80518210156104ae5760209160051b010190565b3580151581036101b25790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f858286010152011601019056fea2646970667358221220c59aa3424424cfeec0bf827ec6d7e662b84755b5519b5b538c16de4ef8d4521564736f6c634300081e0033","sourceMap":"3033:1132:65:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763ad1cd6531461002f575f80fd5b610289565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b25760043567ffffffffffffffff81116101b257366023820112156101b257806004013567ffffffffffffffff81116101b2576024820191602436918360051b0101116101b2576100ac816103b6565b915f5b8281106100ff576100fb846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100ec36348361058f565b0390a2604051918291826101f9565b0390f35b5f80604061010e84878761046e565b013561012861011e85888861046e565b60608101906104b3565b9061013860405180938193610504565b0391305af1610145610511565b9061014e61038d565b8115158152826020820152610163848861056e565b5261016e838761056e565b5061018c610188602061018286898961046e565b01610582565b1590565b90816101a9575b506101a157506001016100af565b602081519101fd5b90501586610193565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061022b57505050505090565b909192939460208061027a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b51805115158452015191818582015201906101b6565b9701930193019193929061021c565b346101b2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b2576100fb604051602a6020820152604080820152600960608201527f746573742064617461000000000000000000000000000000000000000000000060808201526080815261030660a082610347565b6040519182916020835260208301906101b6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761038857604052565b61031a565b6040519061039c604083610347565b565b67ffffffffffffffff81116103885760051b60200190565b906103c08261039e565b6103cd6040519182610347565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103fb829461039e565b015f5b81811061040a57505050565b60405190604082019180831067ffffffffffffffff841117610388576020926040525f8152606083820152828286010152016103fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104ae5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101b2570190565b610441565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b2570180359067ffffffffffffffff82116101b2576020019181360383136101b257565b908092918237015f815290565b3d15610569573d9067ffffffffffffffff8211610388576040519161055e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610347565b82523d5f602084013e565b606090565b80518210156104ae5760209160051b010190565b3580151581036101b25790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f858286010152011601019056fea2646970667358221220c59aa3424424cfeec0bf827ec6d7e662b84755b5519b5b538c16de4ef8d4521564736f6c634300081e0033","sourceMap":"3033:1132:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3340:38;;;:::i;:::-;3394:13;3033:1132;3409:16;;;;;;3033:1132;;;;3960:42;3970:10;3033:1132;;3960:42;3033:1132;3982:9;3960:42;;:::i;:::-;;;;3033:1132;;;;;;;:::i;:::-;;;;3427:3;3033:1132;3507:8;3033:1132;3507:8;;;;;:::i;:::-;:14;3033:1132;3523:17;:8;;;;;:::i;:::-;:17;;;;;:::i;:::-;3033:1132;;;;;;;;;:::i;:::-;3481:60;3489:4;;3481:60;;;;:::i;:::-;3033:1132;;;:::i;:::-;;;;;;3568:32;3033:1132;3568:32;;3033:1132;3555:45;;;;:::i;:::-;;;;;;:::i;:::-;;3687:22;3688:21;3033:1132;3688:8;;;;;:::i;:::-;:21;;:::i;:::-;3687:22;;3033:1132;3687:22;:34;;;;3427:3;3683:201;;;3427:3;3033:1132;;3394:13;;3683:201;3033:1132;3789:81;;;;;3687:34;3713:8;;;3687:34;;;3033:1132;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3033:1132:65;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;4139:2;4120:36;;;3033:1132;;;;;;;;;;;;;;;;;4120:36;;;;;;:::i;:::-;3033:1132;;;;;4120:36;3033:1132;;4120:36;3033:1132;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;-1:-1:-1;3033:1132:65;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3033:1132:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;3033:1132:65;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","returnTestData()":"ad1cd653"}}},"RevertingRouter":{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"error","name":"AlwaysRevert","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"AlwaysRevert\",\"type\":\"error\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"Mock router that always reverts with encoded data\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"RevertingRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460135760a6908160188239f35b5f80fdfe608060408190527feac126da00000000000000000000000000000000000000000000000000000000815260206084523660a48190525f60c4375f604436830101526044817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190fdfea2646970667358221220273dfcfb923236d3aa32365e85451abad55691092551dc6ede6009157e09daa764736f6c634300081e0033","sourceMap":"2887:144:65:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060408190527feac126da00000000000000000000000000000000000000000000000000000000815260206084523660a48190525f60c4375f604436830101526044817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190fdfea2646970667358221220273dfcfb923236d3aa32365e85451abad55691092551dc6ede6009157e09daa764736f6c634300081e0033","sourceMap":"2887:144:65:-:0;;;;;3000:22;;;2887:144;3000:22;2887:144;3013:8;2887:144;;;;3013:8;2887:144;;3013:8;2887:144;3013:8;2887:144;;;;;3013:8;2887:144;;3013:8;2887:144;;;;3000:22;;;","linkReferences":{}}}},"TrailsRouterShimTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testConstructorValidation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testForwardToRouterReturnValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRouterAddressImmutable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_constructor_revert_zeroRouter","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_forwards_and_sets_sentinel_sstore_inactive","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_forwards_and_sets_sentinel_tstore_active","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_router_revert_bubbles_as_RouterCallFailed","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_sets_sentinel_with_sstore_when_no_tstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_sets_sentinel_with_tstore_when_supported","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_direct_handleSequenceDelegateCall_reverts_not_delegatecall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_forwardToRouter_return_data_handling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_forwardToRouter_revert_with_custom_error","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_allows_arbitrary_selector","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_empty_calldata","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_large_calldata","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_max_call_value","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_with_eth_value","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_zero_call_value","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_sentinel_setting_with_different_op_hashes","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Forwarded","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Forwarded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testConstructorValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testForwardToRouterReturnValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRouterAddressImmutable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_constructor_revert_zeroRouter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_forwards_and_sets_sentinel_sstore_inactive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_forwards_and_sets_sentinel_tstore_active\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_router_revert_bubbles_as_RouterCallFailed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_sets_sentinel_with_sstore_when_no_tstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_sets_sentinel_with_tstore_when_supported\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_direct_handleSequenceDelegateCall_reverts_not_delegatecall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_forwardToRouter_return_data_handling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_forwardToRouter_revert_with_custom_error\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_allows_arbitrary_selector\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_empty_calldata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_large_calldata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_max_call_value\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_with_eth_value\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_zero_call_value\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_sentinel_setting_with_different_op_hashes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"TrailsRouterShimTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561a10090816100348239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806306b133691461020f5780630a9254e41461020a5780630f59cebe1461020557806313b0f5cd146101b55780631ed7831c146102005780632ade3880146101fb5780633403533a146101f65780633e5e3c23146101f15780633f7286f4146101ec57806346c5bb8b146101e75780634c57e12e146101e2578063568ec6fd146101dd578063610b4369146101d85780636450514c146101d357806366d9a9a0146101ce5780636f2afb84146101c95780637ee2aaa5146101c457806385226c81146101bf578063916a17c6146101ba57806396bfd8de146101b5578063a009a77a146101b0578063b0464fdc146101ab578063b5508aa9146101a6578063b953254e146101a1578063ba414fa61461019c578063cf7e694714610197578063d2d18ff514610192578063dc420e101461018d578063dfab5b2014610188578063e20c9f7114610183578063f679951d1461017e5763fa7626d414610179575f80fd5b613cd8565b613ca2565b613bfa565b61399d565b613829565b61358d565b613280565b61323e565b613109565b613060565b612f8a565b612f23565b610d06565b612e4d565b612d00565b612a63565b612799565b6126d2565b612483565b612158565b611f2b565b611b78565b6114e3565b61143b565b611393565b611148565b611072565b610e63565b6107bb565b610540565b610222565b5f91031261021e57565b5f80fd5b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405161058880820182811067ffffffffffffffff82111761053b5782916156bd833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b57836102db918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff6103049116613e22565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f61035791604051809381927fb4d6c78200000000000000000000000000000000000000000000000000000000835260048301613e48565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610536575f806104736104ad61047361049f61051a987fffffffff000000000000000000000000000000000000000000000000000000009860209861051c575b506103bc613ea9565b906040517ff9ab70b9000000000000000000000000000000000000000000000000000000008a820152600481526103f4602482613d88565b61041b6103ff613dc9565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b878a830152876040830152606082015261043482613fd1565b5261043e81613fd1565b506040519283917f174dea71000000000000000000000000000000000000000000000000000000008a84015260248301613fe3565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613d88565b60405192839187830161409d565b6040516104e781610473878201947f4c4e814c0000000000000000000000000000000000000000000000000000000086526024830161412e565b51908261beef5af16105096104fa6141fb565b9161050361422a565b90614d41565b015116610514614265565b90614dcf565b005b8061052a8861053093613d88565b80610214565b5f6103b3565b613d45565b613d18565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040516112b180820182811067ffffffffffffffff82111761053b5782916163d9833903905ff08015610536576105e09073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055565b61061b61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b604051906107948083019183831067ffffffffffffffff84111761053b57839261066492615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff08015610536576106b9907fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f55565b6106ea61beef7fffffffffffffffffffffffff00000000000000000000000000000000000000006021541617602155565b60215473ffffffffffffffffffffffffffffffffffffffff1661073161072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610787915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610536576107ad57005b8061052a5f61051a93613d88565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5761081361080e61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b614ebd565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f602482018190528160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cf2575b506109925f806104736109186104736109096108d4613f28565b6040519283917f174dea7100000000000000000000000000000000000000000000000000000000602084015260248301613fe3565b6040519283916020830161409d565b61093a61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b90826040516109778161047360208201957f4c4e814c0000000000000000000000000000000000000000000000000000000087526024830161415d565b51925af16109836141fb565b5061098c6142c6565b90614f50565b6109bb61072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff166040516122c48082019082821067ffffffffffffffff83111761053b578291610a199161768a843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff610a429116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610a98915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cde575b5060215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cca575b506040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f6024820181905260448201526101126064820152610bb88160848101610473565b610bdd61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e57610c215f929183926040519485809481937f4c4e814c0000000000000000000000000000000000000000000000000000000083526004830161415d565b03925af1801561053657610cb6575b5060215473ffffffffffffffffffffffffffffffffffffffff16610c55815b31614faf565b610c616101123161502d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610787915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b8061052a5f610cc493613d88565b5f610c30565b8061052a5f610cd893613d88565b5f610b6c565b8061052a5f610cec93613d88565b5f610abd565b8061052a5f610d0093613d88565b5f6108ba565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f1df13ab50000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610e00575b506040516107948082019082821067ffffffffffffffff83111761053b578291610df591615c4584395f815260200190565b03905ff01561053657005b8061052a5f610e0e93613d88565b5f610dc3565b60206040818301928281528451809452019201905f5b818110610e375750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610e2a565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610eef57610eeb85610edf81870382613d88565b60405191829182610e14565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ec8565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b828210610f9057505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061102957505050505060208060019296019201920190929195939495610f81565b9091929394602080611065837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610f1b565b9701950193929101611005565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601e546110ac81613e91565b906110ba6040519283613d88565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106110fe5760405180610eeb8782610f5e565b6002602060019260405161111181613d50565b73ffffffffffffffffffffffffffffffffffffffff86541681526111368587016145d9565b838201528152019201920191906110e9565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040517fe13a7716000000000000000000000000000000000000000000000000000000006020820152600481526111ae602482613d88565b60405161062a80820182811067ffffffffffffffff82111761053b57829161994e833903905ff0801561053657604051906107949081830183811067ffffffffffffffff82111761053b5773ffffffffffffffffffffffffffffffffffffffff611238928594615c4586391673ffffffffffffffffffffffffffffffffffffffff16815260200190565b03905ff0801561053657611284611258926040519384916020830161409d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283613d88565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152905f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af19182156105365773ffffffffffffffffffffffffffffffffffffffff9261137f575b5016803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838161136f8860048301614301565b03925af18015610536576107ad57005b8061052a5f61138d93613d88565b5f61132b565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b81811061140f57610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016113f8565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b8181106114b757610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114a0565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5761153661080e61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b64575b506104736116b76115f3613ea9565b61161561060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fdce1d5ba000000000000000000000000000000000000000000000000000000006020820152607b60248201526116528160448101610473565b61165d6103ff613dc9565b5f60208301525f6040830152606082015261167782613fd1565b5261168181613fd1565b506040519283917f174dea7100000000000000000000000000000000000000000000000000000000602084015260248301613fe3565b604051906116cc8261125883602083016140b9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061173560048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576117e19261060292611b50575b5060215473ffffffffffffffffffffffffffffffffffffffff165b907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff8616948261462e565b0390a273ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816118238860048301614350565b03925af1801561053657611b3c575b5061185c61072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff166040516122c48082019082821067ffffffffffffffff83111761053b5782916118ba9161768a843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff6118e39116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57611939915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b28575b5060215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b14575b506040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f6024820181905260448201526101116064820152611a598160848101610473565b611a7e61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e57611ac25f929183926040519485809481937f4c4e814c00000000000000000000000000000000000000000000000000000000835260048301614350565b03925af1801561053657611b00575b5060215473ffffffffffffffffffffffffffffffffffffffff16611af481610c4f565b610c616101113161502d565b8061052a5f611b0e93613d88565b81611ad1565b8061052a5f611b2293613d88565b81611a0d565b8061052a5f611b3693613d88565b8161195e565b8061052a5f611b4a93613d88565b80611832565b8061052a5f611b5e93613d88565b5f611763565b8061052a5f611b7293613d88565b5f6115e4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57611bd0611bcb61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b61513f565b610473611c3e610473610909611be4613ea9565b611c0661060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fe236188c00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b611c6361060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381611ca5886004830161439f565b03925af1801561053657611f17575b50610473611d23610473610909611cc9613ea9565b611ceb61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f1599887400000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b611d4861060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381611d8a88600483016143ee565b03925af1801561053657611f03575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c60205261051a7f015c485266916cf8070d38a17c9ebdfb2a224c35c6fe95b4cb7c4faa018b1caf7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd1036020527f92ea692a4df4dade52fc9401b46f0d63f071ce87fd5d1c4a0bd89cb15dae49cc611ef3611ead8373ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b16615464565b611eee611ee88473ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b916150bd565b6150bd565b611efb6146a3565b911415614f50565b8061052a5f611f1193613d88565b80611d99565b8061052a5f611f2593613d88565b80611cb4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57611f82611bcb610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f602482018190528160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657612144575b6120a15f806104736120426104736109096108d4613f28565b61206461060260215473ffffffffffffffffffffffffffffffffffffffff1690565b90826040516109778161047360208201957f4c4e814c000000000000000000000000000000000000000000000000000000008752602483016141ac565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f760205261051a611eee7f098d22cf1afe6c7889c69864d8d32660017deb034f638ca10a0bf30b2ede9f615b73ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b8061052a5f61215293613d88565b5f612029565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105365761246f575b506104736122b561225b613ea9565b61227d61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f1942bbba00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906122ca8261125883602083016140d8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061233360048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576123c2926106029261245b575b5060215473ffffffffffffffffffffffffffffffffffffffff16907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff8616948261464d565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381612404886004830161412e565b03925af1801561053657612447575b61051a61243861060260215473ffffffffffffffffffffffffffffffffffffffff1690565b316124416146de565b906155bf565b8061052a5f61245593613d88565b80612413565b8061052a5f61246993613d88565b5f612361565b8061052a5f61247d93613d88565b5f61224c565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040516112b180820182811067ffffffffffffffff82111761053b5782916163d9833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b578361253c918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811561053657602073ffffffffffffffffffffffffffffffffffffffff926004604051809581937f32fe7b26000000000000000000000000000000000000000000000000000000008352165afa9081156105365761051a925f926125af575b506125a9614745565b91615630565b6125d291925060203d6020116125d9575b6125ca8183613d88565b810190614719565b905f6125a0565b503d6125c0565b90602080835192838152019201905f5b8181106125fd5750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016125f0565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061266757505050505090565b90919293946020806126c3837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895190836126b38351604084526040840190610f1b565b92015190848184039101526125e0565b97019301930191939290612658565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601b5461270c81613e91565b9061271a6040519283613d88565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b83831061275e5760405180610eeb8782612635565b6002602060019260405161277181613d50565b61277a866144db565b8152612787858701614780565b83820152815201920192019190612749565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576127f0611bcb610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657612a4f575b506104736128ad6115f3613ea9565b604051906128c28261125883602083016140b9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061292b60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576129779261060292611b50575060215473ffffffffffffffffffffffffffffffffffffffff1661177e565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816129b9886004830161443d565b03925af1801561053657612a3b575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fb9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d60205261051a611eee7f3e6f172d815bc63b7199b0e0fb78ef6420d6c89bd5f83a9cfe3b0aad0ccb9c8e612110565b8061052a5f612a4993613d88565b806129c8565b8061052a5f612a5d93613d88565b5f61289e565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57612a99614b28565b5f5b8151811015612ae1576001907fff0000000000000000000000000000000000000000000000000000000000000060f882901b165f1a612ada8285614b7b565b5301612a9b565b610473612b1f83612af0613ea9565b90612b1361060260205473ffffffffffffffffffffffffffffffffffffffff1690565b9061165d6103ff613dc9565b60405190612b3482611258836020830161409d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f8280612b9d60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657612c2d9261060292612c6f575b5060215473ffffffffffffffffffffffffffffffffffffffff165b907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff86169482614b8c565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838161136f886004830161412e565b8061052a5f612c7d93613d88565b84612bcb565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310612cb557505050505090565b9091929394602080612cf1837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610f1b565b97019301930191939290612ca6565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601a54612d3a81613e91565b90612d486040519283613d88565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310612d8c5760405180610eeb8782612c83565b600160208192612d9b856144db565b815201920192019190612d77565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310612ddb57505050505090565b9091929394602080612e3e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906125e0565b97019301930191939290612dcc565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601d54612e8781613e91565b90612e956040519283613d88565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b838310612ed95760405180610eeb8782612da9565b60026020600192604051612eec81613d50565b73ffffffffffffffffffffffffffffffffffffffff8654168152612f11858701614780565b83820152815201920192019190612ec4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57610473612f656104736109096108d4613f28565b612c2d61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601c54612fc481613e91565b90612fd26040519283613d88565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106130165760405180610eeb8782612da9565b6002602060019260405161302981613d50565b73ffffffffffffffffffffffffffffffffffffffff865416815261304e858701614780565b83820152815201920192019190613001565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760195461309a81613e91565b906130a86040519283613d88565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106130ec5760405180610eeb8782612c83565b6001602081926130fb856144db565b8152019201920191906130d7565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576104736131756040517f7ddeef2400000000000000000000000000000000000000000000000000000000602082015260048152610909602482613d88565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105365761322a575b50601f54612c2d9060081c73ffffffffffffffffffffffffffffffffffffffff16610602565b8061052a5f61323893613d88565b5f613204565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576020613276614bb2565b6040519015158152f35b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152671bc16d674ec8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657613579575b506104736133c561336b613ea9565b61338d61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f4185f8eb00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906133da82611258836020830161410f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061344360048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576134d29261060292613565575b5060215473ffffffffffffffffffffffffffffffffffffffff16907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff86169482614684565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381613514886004830161412e565b03925af1801561053657613551575b61051a61354861060260215473ffffffffffffffffffffffffffffffffffffffff1690565b31612441614c8c565b8061052a5f61355f93613d88565b80613523565b8061052a5f61357393613d88565b5f613471565b8061052a5f61358793613d88565b5f61335c565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405161062a80820182811067ffffffffffffffff82111761053b57829161994e833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b5783613646918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff61366f9116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6136c392604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835260048301613e48565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af19182156105365761090961373a926104739261047395613815575b50613701613ea9565b906040517fad1cd65300000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b61beef3b1561021e575f61377b91604051809381927f4c4e814c0000000000000000000000000000000000000000000000000000000083526004830161448c565b03818361beef5af1801561053657613801575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d60205261051a611eee7f9f55752416deca12a403f03a26e5f135cd3a3d9b0b7df67d93199e0e309fece661529d565b8061052a5f61380f93613d88565b5f61378e565b8061052a5f61382393613d88565b5f6136f8565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576104736138bf613865613ea9565b61388761060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f8269267900000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906138d482611258836020830161409d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061393d60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657612c2d9261060292613989575060215473ffffffffffffffffffffffffffffffffffffffff16612be6565b8061052a5f61399793613d88565b5f612bcb565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405160be80820182811067ffffffffffffffff82111761053b578291619f78833903905ff0801561053657613a3873ffffffffffffffffffffffffffffffffffffffff613a3161060260205473ffffffffffffffffffffffffffffffffffffffff1690565b9216613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57613a8e915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657613be6575b61051a7fffffffff0000000000000000000000000000000000000000000000000000000060205f80610473613b7961047361049f613aef613ea9565b613b10610602895473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f73ee93b3000000000000000000000000000000000000000000000000000000008a82015260206024820152600160448201527f780000000000000000000000000000000000000000000000000000000000000060648201526103f48160848101610473565b613b9b61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b9082604051613bd781610473898201957f4c4e814c0000000000000000000000000000000000000000000000000000000087526024830161412e565b51925af16105096104fa6141fb565b8061052a5f613bf493613d88565b5f613ab3565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110613c7657610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201613c5f565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576138bf614ced565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b6040810190811067ffffffffffffffff82111761053b57604052565b6080810190811067ffffffffffffffff82111761053b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761053b57604052565b60405190613dd8608083613d88565b565b90613dd86040519283613d88565b67ffffffffffffffff811161053b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b90813b5f613e2f82613de8565b93613e3d6040519586613d88565b82855260208501903c565b906040613e619261beef81528160208201520190610f1b565b90565b60409073ffffffffffffffffffffffffffffffffffffffff613e6194931681528160208201520190610f1b565b67ffffffffffffffff811161053b5760051b60200190565b604080519190613eb99083613d88565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613ee96001613e91565b01905f5b828110613ef957505050565b602090604051613f0881613d6c565b5f81525f838201525f604082015260608082015282828501015201613eed565b60405190613f37602083613d88565b5f8252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613f655f613e91565b01905f5b828110613f7557505050565b602090604051613f8481613d6c565b5f81525f838201525f604082015260608082015282828501015201613f69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b805115613fde5760200190565b613fa4565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061401557505050505090565b909192939460208061408e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752608060608b5173ffffffffffffffffffffffffffffffffffffffff815116845285810151151586850152604081015160408501520151918160608201520190610f1b565b97019301930191939290614006565b919060206140b45f92604086526040860190610f1b565b930152565b919060206140b4670de0b6b3a764000092604086526040860190610f1b565b919060206140b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92604086526040860190610f1b565b919060206140b4671bc16d674ec8000092604086526040860190610f1b565b9060c0613e61925f81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927fad78c51bb2447e821ec2d2adfffc8040ced904f32aa00b704dfd691b63ac3cbb81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f781525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b3d15614225573d9061420c82613de8565b9161421a6040519384613d88565b82523d5f602084013e565b606090565b60405190614239604083613d88565b601282527f63616c6c2073686f756c642072657665727400000000000000000000000000006020830152565b60405190614274606083613d88565b602282527f6f720000000000000000000000000000000000000000000000000000000000006040837f657870656374656420526f7574657243616c6c4661696c65642073656c65637460208201520152565b604051906142d5604083613d88565b601b82527f64656c656761746563616c6c2073686f756c64207375636365656400000000006020830152565b9060c0613e61927f76a5b9f52c8775bdd3d429e8900b377fb7fbc9190926d09c38b15b4c5fcb9cf881525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f86b84c7be296d7d45c6ea729bf036c2608390b8e70d7112a057ec2351d2d790f81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd10381525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927fb9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b90604051915f8154908160011c92600183169081156145cf575b6020851082146145a257848752869360208501929081156145665750600114614527575b5050613dd892500383613d88565b6145369192505f5260205f2090565b905f915b84831061454f5750613dd89350015f80614519565b80548284015286935060209092019160010161453a565b9050613dd8959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f80614519565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936144f5565b9081546145e581613e91565b926145f36040519485613d88565b81845260208401905f5260205f205f915b8383106146115750505050565b600160208192614620856144db565b815201920192019190614604565b906040613e6192670de0b6b3a764000081528160208201520190610f1b565b906040613e61927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81528160208201520190610f1b565b906040613e6192671bc16d674ec8000081528160208201520190610f1b565b604051906146b2604083613d88565b601982527f736c6f74732073686f756c6420626520646966666572656e74000000000000006020830152565b604051906146ed604083613d88565b601f82527f686f6c6465722073686f756c6420686176652073656e7420616c6c20455448006020830152565b9081602091031261021e575173ffffffffffffffffffffffffffffffffffffffff8116810361021e5790565b60405190614754604083613d88565b601e82527f524f555445522073686f756c642062652073657420636f72726563746c7900006020830152565b6040518154808252909291839061479e60208301915f5260205f2090565b925f905b8060078301106149aa57613dd894549181811061496e575b818110614937575b818110614900575b8181106148c9575b818110614892575b81811061485b575b818110614825575b106147f8575b500383613d88565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6147f0565b602083811b7fffffffff0000000000000000000000000000000000000000000000000000000016855290936001910193016147ea565b604083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147e2565b606083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147da565b608083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147d2565b60a083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147ca565b60c083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147c2565b926020816149a26001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b0193016147ba565b916008919350610100600191614b1a87546149e9838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b0194019201859293916147a2565b6040516127109190612740614b3d8183613d88565b83825267ffffffffffffffff82941161053b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00190369060200137565b908151811015613fde570160200190565b906040613e61925f81528160208201520190610f1b565b9081602091031261021e575190565b60085460ff1615614bc257600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610536575f91614c5d575b50151590565b614c7f915060203d602011614c85575b614c778183613d88565b810190614ba3565b5f614c57565b503d614c6d565b60405190614c9b606083613d88565b602582527f6f757465720000000000000000000000000000000000000000000000000000006040837f686f6c6465722073686f756c6420686176652073656e742045544820746f207260208201520152565b60405190614cfc604083613d88565b600482527fdeadbeef000000000000000000000000000000000000000000000000000000006020830152565b604090613e619392151581528160208201520190610f1b565b80614d4a575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927f7ba0480900000000000000000000000000000000000000000000000000000000845260048401614d28565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b5f613dd891613d88565b7f0ef439b9000000000000000000000000000000000000000000000000000000008103614dfa575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614e82915f9160405193849283927fc1fa1ed000000000000000000000000000000000000000000000000000000000845260048401527f0ef439b9000000000000000000000000000000000000000000000000000000006024840152606060448401526064830190610f1b565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614ea85750565b80614eb45f8093613d88565b80031261021e57565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e5773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f60248201525f60448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657614dc55750565b8015614f5a575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927fa34edc0300000000000000000000000000000000000000000000000000000000845260048401614d28565b80614fb75750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b670de0b6b3a7640000810361503f5750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152670de0b6b3a764000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b600181036150c85750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e5773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f6024820152600160448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657614dc55750565b156151da57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f746c6f6164206661696c656400000000000000000000000000000000000000006044820152fd5b1561523f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f746c6f61642072657475726e656420696e73756666696369656e7420646174616044820152fd5b6152a861beef613e22565b906095906152b860208301613dda565b9180835261a0366020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f61531a92604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835261beef60048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536575f928392615450575b506040516153858161047360208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b519061beef5afa6153946141fb565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6153eb93604051809581927fb4d6c78200000000000000000000000000000000000000000000000000000000835261beef60048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657613e619361541f9261543c575b506151d3565b61542d602082511015615238565b60208082518301019101614ba3565b8061052a5f61544a93613d88565b5f615419565b8061052a8461545e93613d88565b5f615344565b61546d81613e22565b9160959061547d60208301613dda565b9180835261a0366020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6154dd92604051809481927fb4d6c7820000000000000000000000000000000000000000000000000000000083528760048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536575f9283926155ab575b506040516155488161047360208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b5190845afa6155556141fb565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576153eb935f9160405195869283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b8061052a846155b993613d88565b5f615507565b806155c8575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927f88b44c850000000000000000000000000000000000000000000000000000000084526004840152846024840152606060448401526064830190610f1b565b73ffffffffffffffffffffffffffffffffffffffff908116911680820361565657505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f91614e8260405194859384937f2f2769d100000000000000000000000000000000000000000000000000000000855260048501526024840152606060448401526064830190610f1b56fe6080806040523460155761056e908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763f9ab70b91461002f575f80fd5b610244565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760043567ffffffffffffffff811161017b573660238201121561017b57806004013567ffffffffffffffff811161017b576024820191602436918360051b01011161017b576100ac8161037e565b915f5b8281106100c857604051806100c4868261017f565b0390f35b5f8060406100d784878761041b565b01356100f16100e785888861041b565b6060810190610460565b90610101604051809381936104b1565b0391305af161010e6104be565b906101176102fd565b811515815282602082015261012c8488610517565b526101378387610517565b50610155610151602061014b86898961041b565b0161052b565b1590565b9081610172575b5061016a57506001016100af565b602081519101fd5b9050158661015c565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101b157505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101a2565b3461017b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760646040517f4b54191000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f637573746f6d206572726f72206d6573736167650000000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff82111761031d57604052565b6102d0565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761031d57604052565b67ffffffffffffffff811161031d5760051b60200190565b9061039061038b83610366565b610322565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103be8294610366565b01905f5b8281106103ce57505050565b6020906103d96102fd565b5f8152606083820152828285010152016103c2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561045b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818136030182121561017b570190565b6103ee565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561017b570180359067ffffffffffffffff821161017b5760200191813603831361017b57565b908092918237015f815290565b3d15610512573d9067ffffffffffffffff821161031d5761050660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610322565b9182523d5f602084013e565b606090565b805182101561045b5760209160051b010190565b35801515810361017b579056fea26469706673582212200d1a5716e82c4abc099a979292b9647389cf2959a98a4fd8cdf7d0d750d237e264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e003360808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561127d90816100348239f35b5f80fdfe60808060405260043610156100c7575b50361561008c5760405134815260406020820152366040820152365f60608301375f606036830101527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133916060817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190a2005b604051348152604060208201525f60408201527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4160603392a2005b5f3560e01c9081631ed7831c14610a6e575080632ade3880146108405780633e5e3c23146107985780633f7286f4146106f057806366d9a9a01461059357806385226c81146104ea578063916a17c614610414578063b0464fdc1461033e578063b5508aa914610295578063ba414fa614610253578063e20c9f711461019b5763fa7626d414610157575f61000f565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602060ff601f54166040519015158152f35b5f80fd5b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110610227576102238561021781870382610d63565b60405191829182610b12565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610200565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602061028b611163565b6040519015158152f35b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610197576019546102cf81610da4565b906102dd6040519283610d63565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061032157604051806102238782610bf9565b60016020819261033085610dbc565b81520192019201919061030c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601c5461037881610da4565b906103866040519283610d63565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106103ca57604051806102238782610c76565b600260206001926040516103dd81610d1a565b73ffffffffffffffffffffffffffffffffffffffff8654168152610402858701610ebf565b838201528152019201920191906103b5565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601d5461044e81610da4565b9061045c6040519283610d63565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106104a057604051806102238782610c76565b600260206001926040516104b381610d1a565b73ffffffffffffffffffffffffffffffffffffffff86541681526104d8858701610ebf565b8382015281520192019201919061048b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601a5461052481610da4565b906105326040519283610d63565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061057657604051806102238782610bf9565b60016020819261058585610dbc565b815201920192019190610561565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601b546105cd81610da4565b906105db6040519283610d63565b808252602082019081601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b8383106106b557848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061064a57505050500390f35b919360206106a5827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836106958351604084526040840190610b61565b9201519084818403910152610ba4565b960192019201859493919261063b565b600260206001926040516106c881610d1a565b6106d186610dbc565b81526106de858701610ebf565b8382015281520192019201919061060c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061076c576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610755565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610814576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016107fd565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601e5461087a81610da4565b906108886040519283610d63565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106109d657848660405191829160208301906020845251809152604083019060408160051b85010192915f905b8282106108f757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061098d57505050505060208060019296019201920185949391926108e8565b90919293946020806109c9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610b61565b970195019392910161096b565b6040516109e281610d1a565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610a0b81610da4565b91610a196040519384610d63565b81835260208301905f5260205f20905f905b838210610a515750505050600192826020928360029501528152019201920191906108b9565b600160208192610a6086610dbc565b815201930191019091610a2b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610ae6576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610acf565b60206040818301928281528451809452019201905f5b818110610b355750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610b28565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110610bc15750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610bb4565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610c2b57505050505090565b9091929394602080610c67837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610b61565b97019301930191939290610c1c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610ca857505050505090565b9091929394602080610d0b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610ba4565b97019301930191939290610c99565b6040810190811067ffffffffffffffff821117610d3657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d3657604052565b67ffffffffffffffff8111610d365760051b60200190565b90604051915f8154908160011c9260018316928315610eb5575b602085108414610e88578487528693908115610e485750600114610e04575b50610e0292500383610d63565b565b90505f9291925260205f20905f915b818310610e2c575050906020610e02928201015f610df5565b6020919350806001915483858901015201910190918492610e13565b60209350610e029592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f610df5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693610dd6565b90604051918281549182825260208201905f5260205f20925f905b8060078301106110d657610e029454918181106110a0575b81811061106a575b818110611034575b818110610ffe575b818110610fc8575b818110610f92575b818110610f5d575b10610f30575b500383610d63565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f610f28565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301610f22565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301610f1a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301610f12565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301610f0a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301610f02565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301610efa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301610ef2565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391610eda565b60085460ff161561117357600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561123c575f9161120a575b50151590565b90506020813d602011611234575b8161122560209383610d63565b8101031261019757515f611204565b3d9150611218565b6040513d5f823e3d90fdfea26469706673582212206e9642ec453e986d63884812fd70441be020e85e83d9366b4f5b108bab7b726264736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e003360808060405234601557610610908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763ad1cd6531461002f575f80fd5b610289565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b25760043567ffffffffffffffff81116101b257366023820112156101b257806004013567ffffffffffffffff81116101b2576024820191602436918360051b0101116101b2576100ac816103b6565b915f5b8281106100ff576100fb846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100ec36348361058f565b0390a2604051918291826101f9565b0390f35b5f80604061010e84878761046e565b013561012861011e85888861046e565b60608101906104b3565b9061013860405180938193610504565b0391305af1610145610511565b9061014e61038d565b8115158152826020820152610163848861056e565b5261016e838761056e565b5061018c610188602061018286898961046e565b01610582565b1590565b90816101a9575b506101a157506001016100af565b602081519101fd5b90501586610193565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061022b57505050505090565b909192939460208061027a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b51805115158452015191818582015201906101b6565b9701930193019193929061021c565b346101b2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b2576100fb604051602a6020820152604080820152600960608201527f746573742064617461000000000000000000000000000000000000000000000060808201526080815261030660a082610347565b6040519182916020835260208301906101b6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761038857604052565b61031a565b6040519061039c604083610347565b565b67ffffffffffffffff81116103885760051b60200190565b906103c08261039e565b6103cd6040519182610347565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103fb829461039e565b015f5b81811061040a57505050565b60405190604082019180831067ffffffffffffffff841117610388576020926040525f8152606083820152828286010152016103fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104ae5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101b2570190565b610441565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b2570180359067ffffffffffffffff82116101b2576020019181360383136101b257565b908092918237015f815290565b3d15610569573d9067ffffffffffffffff8211610388576040519161055e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610347565b82523d5f602084013e565b606090565b80518210156104ae5760209160051b010190565b3580151581036101b25790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f858286010152011601019056fea2646970667358221220c59aa3424424cfeec0bf827ec6d7e662b84755b5519b5b538c16de4ef8d4521564736f6c634300081e00336080806040523460135760a6908160188239f35b5f80fdfe608060408190527feac126da00000000000000000000000000000000000000000000000000000000815260206084523660a48190525f60c4375f604436830101526044817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190fdfea2646970667358221220273dfcfb923236d3aa32365e85451abad55691092551dc6ede6009157e09daa764736f6c634300081e003360808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033a26469706673582212209c9711046c29a7dd2af18db40e4ea1be3cd6a16b0a569e405202fc5f417515d664736f6c634300081e0033","sourceMap":"5326:19666:65:-:0;;;;;;;3200:4:5;5326:19666:65;;3200:4:5;5326:19666:65;;;3200:4:5;5326:19666:65;3200:4:5;5326:19666:65;;1087:4:16;5326:19666:65;;;1087:4:16;5326:19666:65;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c806306b133691461020f5780630a9254e41461020a5780630f59cebe1461020557806313b0f5cd146101b55780631ed7831c146102005780632ade3880146101fb5780633403533a146101f65780633e5e3c23146101f15780633f7286f4146101ec57806346c5bb8b146101e75780634c57e12e146101e2578063568ec6fd146101dd578063610b4369146101d85780636450514c146101d357806366d9a9a0146101ce5780636f2afb84146101c95780637ee2aaa5146101c457806385226c81146101bf578063916a17c6146101ba57806396bfd8de146101b5578063a009a77a146101b0578063b0464fdc146101ab578063b5508aa9146101a6578063b953254e146101a1578063ba414fa61461019c578063cf7e694714610197578063d2d18ff514610192578063dc420e101461018d578063dfab5b2014610188578063e20c9f7114610183578063f679951d1461017e5763fa7626d414610179575f80fd5b613cd8565b613ca2565b613bfa565b61399d565b613829565b61358d565b613280565b61323e565b613109565b613060565b612f8a565b612f23565b610d06565b612e4d565b612d00565b612a63565b612799565b6126d2565b612483565b612158565b611f2b565b611b78565b6114e3565b61143b565b611393565b611148565b611072565b610e63565b6107bb565b610540565b610222565b5f91031261021e57565b5f80fd5b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405161058880820182811067ffffffffffffffff82111761053b5782916156bd833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b57836102db918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff6103049116613e22565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f61035791604051809381927fb4d6c78200000000000000000000000000000000000000000000000000000000835260048301613e48565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610536575f806104736104ad61047361049f61051a987fffffffff000000000000000000000000000000000000000000000000000000009860209861051c575b506103bc613ea9565b906040517ff9ab70b9000000000000000000000000000000000000000000000000000000008a820152600481526103f4602482613d88565b61041b6103ff613dc9565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b878a830152876040830152606082015261043482613fd1565b5261043e81613fd1565b506040519283917f174dea71000000000000000000000000000000000000000000000000000000008a84015260248301613fe3565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613d88565b60405192839187830161409d565b6040516104e781610473878201947f4c4e814c0000000000000000000000000000000000000000000000000000000086526024830161412e565b51908261beef5af16105096104fa6141fb565b9161050361422a565b90614d41565b015116610514614265565b90614dcf565b005b8061052a8861053093613d88565b80610214565b5f6103b3565b613d45565b613d18565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040516112b180820182811067ffffffffffffffff82111761053b5782916163d9833903905ff08015610536576105e09073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055565b61061b61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b604051906107948083019183831067ffffffffffffffff84111761053b57839261066492615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff08015610536576106b9907fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f55565b6106ea61beef7fffffffffffffffffffffffff00000000000000000000000000000000000000006021541617602155565b60215473ffffffffffffffffffffffffffffffffffffffff1661073161072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610787915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610536576107ad57005b8061052a5f61051a93613d88565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5761081361080e61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b614ebd565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f602482018190528160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cf2575b506109925f806104736109186104736109096108d4613f28565b6040519283917f174dea7100000000000000000000000000000000000000000000000000000000602084015260248301613fe3565b6040519283916020830161409d565b61093a61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b90826040516109778161047360208201957f4c4e814c0000000000000000000000000000000000000000000000000000000087526024830161415d565b51925af16109836141fb565b5061098c6142c6565b90614f50565b6109bb61072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff166040516122c48082019082821067ffffffffffffffff83111761053b578291610a199161768a843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff610a429116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610a98915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cde575b5060215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cca575b506040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f6024820181905260448201526101126064820152610bb88160848101610473565b610bdd61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e57610c215f929183926040519485809481937f4c4e814c0000000000000000000000000000000000000000000000000000000083526004830161415d565b03925af1801561053657610cb6575b5060215473ffffffffffffffffffffffffffffffffffffffff16610c55815b31614faf565b610c616101123161502d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610787915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b8061052a5f610cc493613d88565b5f610c30565b8061052a5f610cd893613d88565b5f610b6c565b8061052a5f610cec93613d88565b5f610abd565b8061052a5f610d0093613d88565b5f6108ba565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f1df13ab50000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610e00575b506040516107948082019082821067ffffffffffffffff83111761053b578291610df591615c4584395f815260200190565b03905ff01561053657005b8061052a5f610e0e93613d88565b5f610dc3565b60206040818301928281528451809452019201905f5b818110610e375750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610e2a565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610eef57610eeb85610edf81870382613d88565b60405191829182610e14565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ec8565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b828210610f9057505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061102957505050505060208060019296019201920190929195939495610f81565b9091929394602080611065837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610f1b565b9701950193929101611005565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601e546110ac81613e91565b906110ba6040519283613d88565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106110fe5760405180610eeb8782610f5e565b6002602060019260405161111181613d50565b73ffffffffffffffffffffffffffffffffffffffff86541681526111368587016145d9565b838201528152019201920191906110e9565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040517fe13a7716000000000000000000000000000000000000000000000000000000006020820152600481526111ae602482613d88565b60405161062a80820182811067ffffffffffffffff82111761053b57829161994e833903905ff0801561053657604051906107949081830183811067ffffffffffffffff82111761053b5773ffffffffffffffffffffffffffffffffffffffff611238928594615c4586391673ffffffffffffffffffffffffffffffffffffffff16815260200190565b03905ff0801561053657611284611258926040519384916020830161409d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283613d88565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152905f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af19182156105365773ffffffffffffffffffffffffffffffffffffffff9261137f575b5016803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838161136f8860048301614301565b03925af18015610536576107ad57005b8061052a5f61138d93613d88565b5f61132b565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b81811061140f57610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016113f8565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b8181106114b757610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114a0565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5761153661080e61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b64575b506104736116b76115f3613ea9565b61161561060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fdce1d5ba000000000000000000000000000000000000000000000000000000006020820152607b60248201526116528160448101610473565b61165d6103ff613dc9565b5f60208301525f6040830152606082015261167782613fd1565b5261168181613fd1565b506040519283917f174dea7100000000000000000000000000000000000000000000000000000000602084015260248301613fe3565b604051906116cc8261125883602083016140b9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061173560048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576117e19261060292611b50575b5060215473ffffffffffffffffffffffffffffffffffffffff165b907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff8616948261462e565b0390a273ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816118238860048301614350565b03925af1801561053657611b3c575b5061185c61072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff166040516122c48082019082821067ffffffffffffffff83111761053b5782916118ba9161768a843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff6118e39116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57611939915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b28575b5060215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b14575b506040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f6024820181905260448201526101116064820152611a598160848101610473565b611a7e61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e57611ac25f929183926040519485809481937f4c4e814c00000000000000000000000000000000000000000000000000000000835260048301614350565b03925af1801561053657611b00575b5060215473ffffffffffffffffffffffffffffffffffffffff16611af481610c4f565b610c616101113161502d565b8061052a5f611b0e93613d88565b81611ad1565b8061052a5f611b2293613d88565b81611a0d565b8061052a5f611b3693613d88565b8161195e565b8061052a5f611b4a93613d88565b80611832565b8061052a5f611b5e93613d88565b5f611763565b8061052a5f611b7293613d88565b5f6115e4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57611bd0611bcb61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b61513f565b610473611c3e610473610909611be4613ea9565b611c0661060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fe236188c00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b611c6361060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381611ca5886004830161439f565b03925af1801561053657611f17575b50610473611d23610473610909611cc9613ea9565b611ceb61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f1599887400000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b611d4861060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381611d8a88600483016143ee565b03925af1801561053657611f03575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c60205261051a7f015c485266916cf8070d38a17c9ebdfb2a224c35c6fe95b4cb7c4faa018b1caf7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd1036020527f92ea692a4df4dade52fc9401b46f0d63f071ce87fd5d1c4a0bd89cb15dae49cc611ef3611ead8373ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b16615464565b611eee611ee88473ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b916150bd565b6150bd565b611efb6146a3565b911415614f50565b8061052a5f611f1193613d88565b80611d99565b8061052a5f611f2593613d88565b80611cb4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57611f82611bcb610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f602482018190528160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657612144575b6120a15f806104736120426104736109096108d4613f28565b61206461060260215473ffffffffffffffffffffffffffffffffffffffff1690565b90826040516109778161047360208201957f4c4e814c000000000000000000000000000000000000000000000000000000008752602483016141ac565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f760205261051a611eee7f098d22cf1afe6c7889c69864d8d32660017deb034f638ca10a0bf30b2ede9f615b73ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b8061052a5f61215293613d88565b5f612029565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105365761246f575b506104736122b561225b613ea9565b61227d61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f1942bbba00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906122ca8261125883602083016140d8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061233360048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576123c2926106029261245b575b5060215473ffffffffffffffffffffffffffffffffffffffff16907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff8616948261464d565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381612404886004830161412e565b03925af1801561053657612447575b61051a61243861060260215473ffffffffffffffffffffffffffffffffffffffff1690565b316124416146de565b906155bf565b8061052a5f61245593613d88565b80612413565b8061052a5f61246993613d88565b5f612361565b8061052a5f61247d93613d88565b5f61224c565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040516112b180820182811067ffffffffffffffff82111761053b5782916163d9833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b578361253c918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811561053657602073ffffffffffffffffffffffffffffffffffffffff926004604051809581937f32fe7b26000000000000000000000000000000000000000000000000000000008352165afa9081156105365761051a925f926125af575b506125a9614745565b91615630565b6125d291925060203d6020116125d9575b6125ca8183613d88565b810190614719565b905f6125a0565b503d6125c0565b90602080835192838152019201905f5b8181106125fd5750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016125f0565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061266757505050505090565b90919293946020806126c3837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895190836126b38351604084526040840190610f1b565b92015190848184039101526125e0565b97019301930191939290612658565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601b5461270c81613e91565b9061271a6040519283613d88565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b83831061275e5760405180610eeb8782612635565b6002602060019260405161277181613d50565b61277a866144db565b8152612787858701614780565b83820152815201920192019190612749565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576127f0611bcb610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657612a4f575b506104736128ad6115f3613ea9565b604051906128c28261125883602083016140b9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061292b60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576129779261060292611b50575060215473ffffffffffffffffffffffffffffffffffffffff1661177e565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816129b9886004830161443d565b03925af1801561053657612a3b575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fb9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d60205261051a611eee7f3e6f172d815bc63b7199b0e0fb78ef6420d6c89bd5f83a9cfe3b0aad0ccb9c8e612110565b8061052a5f612a4993613d88565b806129c8565b8061052a5f612a5d93613d88565b5f61289e565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57612a99614b28565b5f5b8151811015612ae1576001907fff0000000000000000000000000000000000000000000000000000000000000060f882901b165f1a612ada8285614b7b565b5301612a9b565b610473612b1f83612af0613ea9565b90612b1361060260205473ffffffffffffffffffffffffffffffffffffffff1690565b9061165d6103ff613dc9565b60405190612b3482611258836020830161409d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f8280612b9d60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657612c2d9261060292612c6f575b5060215473ffffffffffffffffffffffffffffffffffffffff165b907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff86169482614b8c565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838161136f886004830161412e565b8061052a5f612c7d93613d88565b84612bcb565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310612cb557505050505090565b9091929394602080612cf1837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610f1b565b97019301930191939290612ca6565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601a54612d3a81613e91565b90612d486040519283613d88565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310612d8c5760405180610eeb8782612c83565b600160208192612d9b856144db565b815201920192019190612d77565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310612ddb57505050505090565b9091929394602080612e3e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906125e0565b97019301930191939290612dcc565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601d54612e8781613e91565b90612e956040519283613d88565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b838310612ed95760405180610eeb8782612da9565b60026020600192604051612eec81613d50565b73ffffffffffffffffffffffffffffffffffffffff8654168152612f11858701614780565b83820152815201920192019190612ec4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57610473612f656104736109096108d4613f28565b612c2d61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601c54612fc481613e91565b90612fd26040519283613d88565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106130165760405180610eeb8782612da9565b6002602060019260405161302981613d50565b73ffffffffffffffffffffffffffffffffffffffff865416815261304e858701614780565b83820152815201920192019190613001565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760195461309a81613e91565b906130a86040519283613d88565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106130ec5760405180610eeb8782612c83565b6001602081926130fb856144db565b8152019201920191906130d7565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576104736131756040517f7ddeef2400000000000000000000000000000000000000000000000000000000602082015260048152610909602482613d88565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105365761322a575b50601f54612c2d9060081c73ffffffffffffffffffffffffffffffffffffffff16610602565b8061052a5f61323893613d88565b5f613204565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576020613276614bb2565b6040519015158152f35b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152671bc16d674ec8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657613579575b506104736133c561336b613ea9565b61338d61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f4185f8eb00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906133da82611258836020830161410f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061344360048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576134d29261060292613565575b5060215473ffffffffffffffffffffffffffffffffffffffff16907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff86169482614684565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381613514886004830161412e565b03925af1801561053657613551575b61051a61354861060260215473ffffffffffffffffffffffffffffffffffffffff1690565b31612441614c8c565b8061052a5f61355f93613d88565b80613523565b8061052a5f61357393613d88565b5f613471565b8061052a5f61358793613d88565b5f61335c565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405161062a80820182811067ffffffffffffffff82111761053b57829161994e833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b5783613646918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff61366f9116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6136c392604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835260048301613e48565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af19182156105365761090961373a926104739261047395613815575b50613701613ea9565b906040517fad1cd65300000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b61beef3b1561021e575f61377b91604051809381927f4c4e814c0000000000000000000000000000000000000000000000000000000083526004830161448c565b03818361beef5af1801561053657613801575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d60205261051a611eee7f9f55752416deca12a403f03a26e5f135cd3a3d9b0b7df67d93199e0e309fece661529d565b8061052a5f61380f93613d88565b5f61378e565b8061052a5f61382393613d88565b5f6136f8565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576104736138bf613865613ea9565b61388761060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f8269267900000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906138d482611258836020830161409d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061393d60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657612c2d9261060292613989575060215473ffffffffffffffffffffffffffffffffffffffff16612be6565b8061052a5f61399793613d88565b5f612bcb565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405160be80820182811067ffffffffffffffff82111761053b578291619f78833903905ff0801561053657613a3873ffffffffffffffffffffffffffffffffffffffff613a3161060260205473ffffffffffffffffffffffffffffffffffffffff1690565b9216613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57613a8e915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657613be6575b61051a7fffffffff0000000000000000000000000000000000000000000000000000000060205f80610473613b7961047361049f613aef613ea9565b613b10610602895473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f73ee93b3000000000000000000000000000000000000000000000000000000008a82015260206024820152600160448201527f780000000000000000000000000000000000000000000000000000000000000060648201526103f48160848101610473565b613b9b61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b9082604051613bd781610473898201957f4c4e814c0000000000000000000000000000000000000000000000000000000087526024830161412e565b51925af16105096104fa6141fb565b8061052a5f613bf493613d88565b5f613ab3565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110613c7657610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201613c5f565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576138bf614ced565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b6040810190811067ffffffffffffffff82111761053b57604052565b6080810190811067ffffffffffffffff82111761053b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761053b57604052565b60405190613dd8608083613d88565b565b90613dd86040519283613d88565b67ffffffffffffffff811161053b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b90813b5f613e2f82613de8565b93613e3d6040519586613d88565b82855260208501903c565b906040613e619261beef81528160208201520190610f1b565b90565b60409073ffffffffffffffffffffffffffffffffffffffff613e6194931681528160208201520190610f1b565b67ffffffffffffffff811161053b5760051b60200190565b604080519190613eb99083613d88565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613ee96001613e91565b01905f5b828110613ef957505050565b602090604051613f0881613d6c565b5f81525f838201525f604082015260608082015282828501015201613eed565b60405190613f37602083613d88565b5f8252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613f655f613e91565b01905f5b828110613f7557505050565b602090604051613f8481613d6c565b5f81525f838201525f604082015260608082015282828501015201613f69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b805115613fde5760200190565b613fa4565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061401557505050505090565b909192939460208061408e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752608060608b5173ffffffffffffffffffffffffffffffffffffffff815116845285810151151586850152604081015160408501520151918160608201520190610f1b565b97019301930191939290614006565b919060206140b45f92604086526040860190610f1b565b930152565b919060206140b4670de0b6b3a764000092604086526040860190610f1b565b919060206140b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92604086526040860190610f1b565b919060206140b4671bc16d674ec8000092604086526040860190610f1b565b9060c0613e61925f81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927fad78c51bb2447e821ec2d2adfffc8040ced904f32aa00b704dfd691b63ac3cbb81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f781525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b3d15614225573d9061420c82613de8565b9161421a6040519384613d88565b82523d5f602084013e565b606090565b60405190614239604083613d88565b601282527f63616c6c2073686f756c642072657665727400000000000000000000000000006020830152565b60405190614274606083613d88565b602282527f6f720000000000000000000000000000000000000000000000000000000000006040837f657870656374656420526f7574657243616c6c4661696c65642073656c65637460208201520152565b604051906142d5604083613d88565b601b82527f64656c656761746563616c6c2073686f756c64207375636365656400000000006020830152565b9060c0613e61927f76a5b9f52c8775bdd3d429e8900b377fb7fbc9190926d09c38b15b4c5fcb9cf881525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f86b84c7be296d7d45c6ea729bf036c2608390b8e70d7112a057ec2351d2d790f81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd10381525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927fb9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b90604051915f8154908160011c92600183169081156145cf575b6020851082146145a257848752869360208501929081156145665750600114614527575b5050613dd892500383613d88565b6145369192505f5260205f2090565b905f915b84831061454f5750613dd89350015f80614519565b80548284015286935060209092019160010161453a565b9050613dd8959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f80614519565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936144f5565b9081546145e581613e91565b926145f36040519485613d88565b81845260208401905f5260205f205f915b8383106146115750505050565b600160208192614620856144db565b815201920192019190614604565b906040613e6192670de0b6b3a764000081528160208201520190610f1b565b906040613e61927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81528160208201520190610f1b565b906040613e6192671bc16d674ec8000081528160208201520190610f1b565b604051906146b2604083613d88565b601982527f736c6f74732073686f756c6420626520646966666572656e74000000000000006020830152565b604051906146ed604083613d88565b601f82527f686f6c6465722073686f756c6420686176652073656e7420616c6c20455448006020830152565b9081602091031261021e575173ffffffffffffffffffffffffffffffffffffffff8116810361021e5790565b60405190614754604083613d88565b601e82527f524f555445522073686f756c642062652073657420636f72726563746c7900006020830152565b6040518154808252909291839061479e60208301915f5260205f2090565b925f905b8060078301106149aa57613dd894549181811061496e575b818110614937575b818110614900575b8181106148c9575b818110614892575b81811061485b575b818110614825575b106147f8575b500383613d88565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6147f0565b602083811b7fffffffff0000000000000000000000000000000000000000000000000000000016855290936001910193016147ea565b604083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147e2565b606083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147da565b608083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147d2565b60a083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147ca565b60c083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147c2565b926020816149a26001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b0193016147ba565b916008919350610100600191614b1a87546149e9838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b0194019201859293916147a2565b6040516127109190612740614b3d8183613d88565b83825267ffffffffffffffff82941161053b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00190369060200137565b908151811015613fde570160200190565b906040613e61925f81528160208201520190610f1b565b9081602091031261021e575190565b60085460ff1615614bc257600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610536575f91614c5d575b50151590565b614c7f915060203d602011614c85575b614c778183613d88565b810190614ba3565b5f614c57565b503d614c6d565b60405190614c9b606083613d88565b602582527f6f757465720000000000000000000000000000000000000000000000000000006040837f686f6c6465722073686f756c6420686176652073656e742045544820746f207260208201520152565b60405190614cfc604083613d88565b600482527fdeadbeef000000000000000000000000000000000000000000000000000000006020830152565b604090613e619392151581528160208201520190610f1b565b80614d4a575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927f7ba0480900000000000000000000000000000000000000000000000000000000845260048401614d28565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b5f613dd891613d88565b7f0ef439b9000000000000000000000000000000000000000000000000000000008103614dfa575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614e82915f9160405193849283927fc1fa1ed000000000000000000000000000000000000000000000000000000000845260048401527f0ef439b9000000000000000000000000000000000000000000000000000000006024840152606060448401526064830190610f1b565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614ea85750565b80614eb45f8093613d88565b80031261021e57565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e5773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f60248201525f60448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657614dc55750565b8015614f5a575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927fa34edc0300000000000000000000000000000000000000000000000000000000845260048401614d28565b80614fb75750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b670de0b6b3a7640000810361503f5750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152670de0b6b3a764000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b600181036150c85750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e5773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f6024820152600160448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657614dc55750565b156151da57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f746c6f6164206661696c656400000000000000000000000000000000000000006044820152fd5b1561523f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f746c6f61642072657475726e656420696e73756666696369656e7420646174616044820152fd5b6152a861beef613e22565b906095906152b860208301613dda565b9180835261a0366020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f61531a92604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835261beef60048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536575f928392615450575b506040516153858161047360208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b519061beef5afa6153946141fb565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6153eb93604051809581927fb4d6c78200000000000000000000000000000000000000000000000000000000835261beef60048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657613e619361541f9261543c575b506151d3565b61542d602082511015615238565b60208082518301019101614ba3565b8061052a5f61544a93613d88565b5f615419565b8061052a8461545e93613d88565b5f615344565b61546d81613e22565b9160959061547d60208301613dda565b9180835261a0366020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6154dd92604051809481927fb4d6c7820000000000000000000000000000000000000000000000000000000083528760048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536575f9283926155ab575b506040516155488161047360208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b5190845afa6155556141fb565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576153eb935f9160405195869283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b8061052a846155b993613d88565b5f615507565b806155c8575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927f88b44c850000000000000000000000000000000000000000000000000000000084526004840152846024840152606060448401526064830190610f1b565b73ffffffffffffffffffffffffffffffffffffffff908116911680820361565657505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f91614e8260405194859384937f2f2769d100000000000000000000000000000000000000000000000000000000855260048501526024840152606060448401526064830190610f1b56fe6080806040523460155761056e908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763f9ab70b91461002f575f80fd5b610244565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760043567ffffffffffffffff811161017b573660238201121561017b57806004013567ffffffffffffffff811161017b576024820191602436918360051b01011161017b576100ac8161037e565b915f5b8281106100c857604051806100c4868261017f565b0390f35b5f8060406100d784878761041b565b01356100f16100e785888861041b565b6060810190610460565b90610101604051809381936104b1565b0391305af161010e6104be565b906101176102fd565b811515815282602082015261012c8488610517565b526101378387610517565b50610155610151602061014b86898961041b565b0161052b565b1590565b9081610172575b5061016a57506001016100af565b602081519101fd5b9050158661015c565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101b157505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101a2565b3461017b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760646040517f4b54191000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f637573746f6d206572726f72206d6573736167650000000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff82111761031d57604052565b6102d0565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761031d57604052565b67ffffffffffffffff811161031d5760051b60200190565b9061039061038b83610366565b610322565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103be8294610366565b01905f5b8281106103ce57505050565b6020906103d96102fd565b5f8152606083820152828285010152016103c2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561045b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818136030182121561017b570190565b6103ee565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561017b570180359067ffffffffffffffff821161017b5760200191813603831361017b57565b908092918237015f815290565b3d15610512573d9067ffffffffffffffff821161031d5761050660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610322565b9182523d5f602084013e565b606090565b805182101561045b5760209160051b010190565b35801515810361017b579056fea26469706673582212200d1a5716e82c4abc099a979292b9647389cf2959a98a4fd8cdf7d0d750d237e264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e003360808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561127d90816100348239f35b5f80fdfe60808060405260043610156100c7575b50361561008c5760405134815260406020820152366040820152365f60608301375f606036830101527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133916060817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190a2005b604051348152604060208201525f60408201527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4160603392a2005b5f3560e01c9081631ed7831c14610a6e575080632ade3880146108405780633e5e3c23146107985780633f7286f4146106f057806366d9a9a01461059357806385226c81146104ea578063916a17c614610414578063b0464fdc1461033e578063b5508aa914610295578063ba414fa614610253578063e20c9f711461019b5763fa7626d414610157575f61000f565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602060ff601f54166040519015158152f35b5f80fd5b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110610227576102238561021781870382610d63565b60405191829182610b12565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610200565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602061028b611163565b6040519015158152f35b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610197576019546102cf81610da4565b906102dd6040519283610d63565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061032157604051806102238782610bf9565b60016020819261033085610dbc565b81520192019201919061030c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601c5461037881610da4565b906103866040519283610d63565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106103ca57604051806102238782610c76565b600260206001926040516103dd81610d1a565b73ffffffffffffffffffffffffffffffffffffffff8654168152610402858701610ebf565b838201528152019201920191906103b5565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601d5461044e81610da4565b9061045c6040519283610d63565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106104a057604051806102238782610c76565b600260206001926040516104b381610d1a565b73ffffffffffffffffffffffffffffffffffffffff86541681526104d8858701610ebf565b8382015281520192019201919061048b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601a5461052481610da4565b906105326040519283610d63565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061057657604051806102238782610bf9565b60016020819261058585610dbc565b815201920192019190610561565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601b546105cd81610da4565b906105db6040519283610d63565b808252602082019081601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b8383106106b557848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061064a57505050500390f35b919360206106a5827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836106958351604084526040840190610b61565b9201519084818403910152610ba4565b960192019201859493919261063b565b600260206001926040516106c881610d1a565b6106d186610dbc565b81526106de858701610ebf565b8382015281520192019201919061060c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061076c576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610755565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610814576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016107fd565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601e5461087a81610da4565b906108886040519283610d63565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106109d657848660405191829160208301906020845251809152604083019060408160051b85010192915f905b8282106108f757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061098d57505050505060208060019296019201920185949391926108e8565b90919293946020806109c9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610b61565b970195019392910161096b565b6040516109e281610d1a565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610a0b81610da4565b91610a196040519384610d63565b81835260208301905f5260205f20905f905b838210610a515750505050600192826020928360029501528152019201920191906108b9565b600160208192610a6086610dbc565b815201930191019091610a2b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610ae6576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610acf565b60206040818301928281528451809452019201905f5b818110610b355750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610b28565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110610bc15750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610bb4565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610c2b57505050505090565b9091929394602080610c67837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610b61565b97019301930191939290610c1c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610ca857505050505090565b9091929394602080610d0b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610ba4565b97019301930191939290610c99565b6040810190811067ffffffffffffffff821117610d3657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d3657604052565b67ffffffffffffffff8111610d365760051b60200190565b90604051915f8154908160011c9260018316928315610eb5575b602085108414610e88578487528693908115610e485750600114610e04575b50610e0292500383610d63565b565b90505f9291925260205f20905f915b818310610e2c575050906020610e02928201015f610df5565b6020919350806001915483858901015201910190918492610e13565b60209350610e029592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f610df5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693610dd6565b90604051918281549182825260208201905f5260205f20925f905b8060078301106110d657610e029454918181106110a0575b81811061106a575b818110611034575b818110610ffe575b818110610fc8575b818110610f92575b818110610f5d575b10610f30575b500383610d63565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f610f28565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301610f22565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301610f1a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301610f12565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301610f0a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301610f02565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301610efa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301610ef2565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391610eda565b60085460ff161561117357600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561123c575f9161120a575b50151590565b90506020813d602011611234575b8161122560209383610d63565b8101031261019757515f611204565b3d9150611218565b6040513d5f823e3d90fdfea26469706673582212206e9642ec453e986d63884812fd70441be020e85e83d9366b4f5b108bab7b726264736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e003360808060405234601557610610908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763ad1cd6531461002f575f80fd5b610289565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b25760043567ffffffffffffffff81116101b257366023820112156101b257806004013567ffffffffffffffff81116101b2576024820191602436918360051b0101116101b2576100ac816103b6565b915f5b8281106100ff576100fb846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100ec36348361058f565b0390a2604051918291826101f9565b0390f35b5f80604061010e84878761046e565b013561012861011e85888861046e565b60608101906104b3565b9061013860405180938193610504565b0391305af1610145610511565b9061014e61038d565b8115158152826020820152610163848861056e565b5261016e838761056e565b5061018c610188602061018286898961046e565b01610582565b1590565b90816101a9575b506101a157506001016100af565b602081519101fd5b90501586610193565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061022b57505050505090565b909192939460208061027a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b51805115158452015191818582015201906101b6565b9701930193019193929061021c565b346101b2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b2576100fb604051602a6020820152604080820152600960608201527f746573742064617461000000000000000000000000000000000000000000000060808201526080815261030660a082610347565b6040519182916020835260208301906101b6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761038857604052565b61031a565b6040519061039c604083610347565b565b67ffffffffffffffff81116103885760051b60200190565b906103c08261039e565b6103cd6040519182610347565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103fb829461039e565b015f5b81811061040a57505050565b60405190604082019180831067ffffffffffffffff841117610388576020926040525f8152606083820152828286010152016103fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104ae5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101b2570190565b610441565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b2570180359067ffffffffffffffff82116101b2576020019181360383136101b257565b908092918237015f815290565b3d15610569573d9067ffffffffffffffff8211610388576040519161055e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610347565b82523d5f602084013e565b606090565b80518210156104ae5760209160051b010190565b3580151581036101b25790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f858286010152011601019056fea2646970667358221220c59aa3424424cfeec0bf827ec6d7e662b84755b5519b5b538c16de4ef8d4521564736f6c634300081e00336080806040523460135760a6908160188239f35b5f80fdfe608060408190527feac126da00000000000000000000000000000000000000000000000000000000815260206084523660a48190525f60c4375f604436830101526044817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190fdfea2646970667358221220273dfcfb923236d3aa32365e85451abad55691092551dc6ede6009157e09daa764736f6c634300081e003360808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033a26469706673582212209c9711046c29a7dd2af18db40e4ea1be3cd6a16b0a569e405202fc5f417515d664736f6c634300081e0033","sourceMap":"5326:19666:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;20643:23;;;;;;;;;;;;;;;;;;;;5326:19666;20643:23;;;;;5326:19666;;;;20715:48;;;;;;;20643:23;20715:48;;;;;;;;;;;;;5326:19666;;;;;;;;;;20715:48;;;5326:19666;20715:48;;;;;5326:19666;20857:33;5326:19666;;20857:33;:::i;:::-;336:42:2;20837:54:65;;;;5326:19666;20837:54;5326:19666;;;20837:54;;;;2030:14:2;20837:54:65;;5326:19666;20837:54;;;:::i;:::-;;;;336:42:2;20837:54:65;;;;;;5326:19666;20837:54;21346:38;;21242:67;;21798:95;20837:54;5326:19666;20837:54;21144:47;20837:54;;;5326:19666;20942:31;;;:::i;:::-;5326:19666;;;21144:47;;;;;5326:19666;21144:47;;;;;;:::i;:::-;20994:208;2030:14:2;;:::i;:::-;5326:19666:65;;;;2030:14:2;;;20994:208:65;;;;;2030:14:2;20994:208:65;5326:19666;20994:208;;2030:14:2;20994:208:65;;;2030:14:2;20983:219:65;;;:::i;:::-;;;;;:::i;:::-;;5326:19666;;21242:67;;;21265:36;21242:67;;;;21144:47;21242:67;;;:::i;:::-;;21144:47;21242:67;;;;;;:::i;:::-;5326:19666;;21346:38;;;;;;;:::i;:::-;5326:19666;;21480:158;;;;;;;21524:59;21480:158;;21144:47;21480:158;;;:::i;:::-;21425:227;;;20819:6;21425:227;;21663:37;21425:227;;:::i;:::-;2030:14:2;;;:::i;:::-;21663:37:65;;:::i;:::-;21730:59;;5326:19666;2030:14:2;;:::i;:::-;21798:95:65;;:::i;:::-;5326:19666;20837:54;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;20715:48::-;;:::i;5326:19666::-;;;;;;;;;;;;;5976:16;;;;;;;;;;;;;;;;;;;;5326:19666;5976:16;;;;;5967:25;;5326:19666;;;5967:25;5326:19666;;;5967:25;5326:19666;;5967:25;6034:15;5326:19666;5967:25;5326:19666;;;;;;;;;;6034:15;5326:19666;;6013:37;;;;;;;;;5976:16;6013:37;;;;;;;;;;;;5326:19666;;;;;;;;;;6013:37;;;5326:19666;6013:37;;;;;6002:48;;5326:19666;;6002:48;5326:19666;;;;;;;;6002:48;5326:19666;;6002:48;6060:33;5326:19666;;6060:33;5326:19666;;;6060:33;5326:19666;;6060:33;;5326:19666;;;6203:22;:17;5326:19666;6002:48;5326:19666;;;;;;;;6203:17;:22;:::i;:::-;6187:39;336:42:2;6187:39:65;;;;;5326:19666;;;;;6187:39;;;;;2030:14:2;6187:39:65;;5326:19666;6187:39;;;:::i;:::-;;;;336:42:2;6187:39:65;;;;;;;;5326:19666;6187:39;;;5326:19666;6187:39;;;:::i;5326:19666::-;;;;;;;;;;;11623:30;;5326:19666;11646:6;5326:19666;;;;;11623:30;;:::i;:::-;11646:6;5326:19666;;;336:42:2;11714:18:65;;;;5326:19666;;2030:14:2;11714:18:65;;5326:19666;;;;;;11714:18;;2030:14:2;-1:-1:-1;5326:19666:65;;;2030:14:2;;;5326:19666:65;;;-1:-1:-1;336:42:2;11714:18:65;;;;;;;;5326:19666;11869:31;12346:45;5326:19666;11869:31;12065:29;;11961:67;;11869:31;;:::i;:::-;5326:19666;;11961:67;;;11984:36;11961:67;;;;;;;;:::i;:::-;5326:19666;;12065:29;;;11961:67;12065:29;;;:::i;:::-;12117:15;5326:19666;11646:6;5326:19666;;;;;12117:15;5326:19666;;;;12168:154;;;11961:67;12168:154;;;12212:59;12168:154;;11961:67;12168:154;;;:::i;:::-;12117:219;;;;;;:::i;:::-;;5326:19666;;:::i;:::-;12346:45;;:::i;:::-;12482:22;:17;5326:19666;12490:8;5326:19666;;;;;;;;12482:22;11646:6;5326:19666;;;;;12538:60;;;;;;;;;;;;;;;;;;;;;12555:42;5326:19666;;;;;;12538:60;;;5326:19666;12538:60;;;;;5326:19666;12530:74;5326:19666;;12530:74;:::i;:::-;12514:91;336:42:2;12514:91:65;;;;;5326:19666;;;;;12514:91;;;;;2030:14:2;12514:91:65;;5326:19666;12514:91;;;:::i;:::-;;;;336:42:2;12514:91:65;;;;;;;;5326:19666;-1:-1:-1;11646:6:65;5326:19666;;;336:42:2;12676:24:65;;;;5326:19666;;2030:14:2;12676:24:65;;5326:19666;;;;;;12676:24;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;12676:24:65;;;;;;;;5326:19666;-1:-1:-1;5326:19666:65;;12765:44;11961:67;12742:103;;;5326:19666;11961:67;12742:103;;2030:14:2;;;5326:19666:65;;;;;;;;;12742:103;5326:19666;;;;12742:103;5326:19666;12742:103;12855:58;:31;5326:19666;11646:6;5326:19666;;;;;12855:58;:84;;;;;;5326:19666;;;;;;;12855:84;;;;;;12212:59;12855:84;;5326:19666;12855:84;;;:::i;:::-;;;;;;;;;;;5326:19666;-1:-1:-1;11646:6:65;5326:19666;;;12949:27;5326:19666;12958:14;;12949:27;:::i;:::-;12986:36;12659:5;12995:17;12986:36;:::i;:::-;336:42:2;13032:25:65;;;;;5326:19666;;;;;13032:25;;;;;2030:14:2;13032:25:65;;5326:19666;13032:25;;;:::i;12855:84::-;;;5326:19666;12855:84;;;:::i;:::-;;;;12676:24;;;5326:19666;12676:24;;;:::i;:::-;;;;12514:91;;;5326:19666;12514:91;;;:::i;:::-;;;;11714:18;;;5326:19666;11714:18;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;336:42:2;6486:60:65;;;;5326:19666;;2030:14:2;6486:60:65;;6502:43;6486:60;;;5326:19666;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;6486:60:65;;;;;;;;5326:19666;;;;6556:32;;;;;;;;;;;;;;;;;;;;;5326:19666;;;;;;;6556:32;;;5326:19666;6556:32;;;;5326:19666;6486:60;;;5326:19666;6486:60;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;5326:19666:65;;;;;;;3018:16:9;5326:19666:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;3948:19:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;3948:19:9;5326:19666:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;;;;2030:14:2;;5326:19666:65;;;;;:::i;:::-;;;;2030:14:2;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;24390:39;;;;;5326:19666;24390:39;;;;;;:::i;:::-;5326:19666;;24523:29;;;;;;;;;;;;;;;;;;;;5326:19666;24523:29;;;;;5326:19666;;24586:46;;;;;;;;;24523:29;24586:46;;;;;5326:19666;24586:46;;;;;;;5326:19666;;;;;;;;;24586:46;;;5326:19666;24586:46;;;;;24752:32;;5326:19666;;;24752:32;;;24390:39;24752:32;;;:::i;:::-;;24390:39;24752:32;;;;;;:::i;:::-;336:42:2;24852:59:65;;;;5326:19666;;2030:14:2;24852:59:65;;24868:42;5326:19666;24852:59;;5326:19666;;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;24852:59:65;;;;;;;5326:19666;24852:59;;;5326:19666;;;24921:62;;;;;5326:19666;;2030:14:2;24921:62:65;;5326:19666;;;;;;;;24921:62;5326:19666;;24921:62;;;:::i;:::-;;;;;;;;;;;5326:19666;24852:59;;;5326:19666;24852:59;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;;3794:16:9;5326:19666:65;;;;;;;3794:16:9;5326:19666:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;5326:19666:65;;;;;;;3501:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8550:30;;5326:19666;8573:6;5326:19666;;;;;8550:30;8573:6;5326:19666;;;336:42:2;8719:26:65;;;;5326:19666;;2030:14:2;8719:26:65;;5326:19666;;;;;;8719:26;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;8719:26:65;;;;;;;;5326:19666;8875:31;9176:67;;8875:31;;:::i;:::-;8972:15;5326:19666;8980:6;5326:19666;;;;;8972:15;5326:19666;;9066:59;8980:6;9066:59;;;9120:3;9066:59;;;2030:14:2;9066:59:65;5326:19666;;;;9066:59;5326:19666;9066:59;8927:209;2030:14:2;;:::i;8927:209:65:-;5326:19666;8980:6;8927:209;;2030:14:2;5326:19666:65;;8927:209;;2030:14:2;8927:209:65;;;2030:14:2;8916:220:65;;;:::i;:::-;;;;;:::i;:::-;;5326:19666;;9176:67;;;9199:36;8980:6;9176:67;;;9066:59;9176:67;;;:::i;:::-;5326:19666;;9280:37;;;;;8980:6;9280:37;;;:::i;:::-;336:42:2;9328:37:65;;;;5326:19666;;9328:37;2030:14:2;9328:37:65;;5326:19666;9328:37;;;5326:19666;9328:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;9328:37;;;;336:42:2;9328:37:65;;;;;;;9492:58;9328:37;9492:31;9328:37;;;5326:19666;-1:-1:-1;8573:6:65;5326:19666;;;;;9380:65;5326:19666;;;9380:65;5326:19666;;;9380:65;;;:::i;:::-;;;;5326:19666;;;;9492:58;:91;;;;;5326:19666;;2030:14:2;9492:91:65;;5326:19666;;;;;;;;9492:91;5326:19666;;9492:91;;;:::i;:::-;;;;;;;;;;;5326:19666;;9712:22;:17;5326:19666;9720:8;5326:19666;;;;;;;;9712:22;8573:6;5326:19666;;;;;9768:60;;;;;;;;;;;;;;;;;;;;;12555:42;5326:19666;;;;;;9768:60;;;5326:19666;9768:60;;;;;5326:19666;9760:74;5326:19666;;9760:74;:::i;:::-;9744:91;336:42:2;9744:91:65;;;;;5326:19666;;;;;9744:91;;;;;2030:14:2;9744:91:65;;5326:19666;9744:91;;;:::i;:::-;;;;336:42:2;9744:91:65;;;;;;;;5326:19666;-1:-1:-1;8573:6:65;5326:19666;;;336:42:2;9907:26:65;;;;5326:19666;;2030:14:2;9907:26:65;;5326:19666;;;;;;9907:26;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;9907:26:65;;;;;;;;5326:19666;-1:-1:-1;5326:19666:65;;9998:44;8980:6;9975:103;;;5326:19666;9066:59;9975:103;;2030:14:2;;;5326:19666:65;;;;;;;;;9975:103;5326:19666;;;;9975:103;5326:19666;9975:103;10088:58;:31;5326:19666;8573:6;5326:19666;;;;;10088:58;:84;;;;;;5326:19666;;;;;;;10088:84;;;;;;2030:14:2;10088:84:65;;5326:19666;10088:84;;;:::i;:::-;;;;;;;;;;;5326:19666;-1:-1:-1;8573:6:65;5326:19666;;;10182:27;5326:19666;10191:14;5326:19666;10182:27;10247:9;9890:5;10228:17;10247:9;:::i;10088:84::-;;;5326:19666;10088:84;;;:::i;:::-;;;;9907:26;;;5326:19666;9907:26;;;:::i;:::-;;;;9744:91;;;5326:19666;9744:91;;;:::i;:::-;;;;9492;;;5326:19666;9492:91;;;:::i;:::-;;;;9328:37;;;5326:19666;9328:37;;;:::i;:::-;;;;8719:26;;;5326:19666;8719:26;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;21981:28;;5326:19666;22002:6;5326:19666;;;;;21981:28;;:::i;:::-;22520:39;;22414:68;;22172:31;;:::i;:::-;22270:15;5326:19666;22278:6;5326:19666;;;;;22270:15;5326:19666;;22328:34;22278:6;22328:34;;;5326:19666;22328:34;;;;;;:::i;22520:39::-;22569:58;:31;5326:19666;22002:6;5326:19666;;;;;22569:58;:93;;;;;5326:19666;;2030:14:2;22569:93:65;;5326:19666;;;;;;;;22569:93;5326:19666;;22569:93;;;:::i;:::-;;;;;;;;;;;5326:19666;22737:31;23085:39;;22979:68;;22737:31;;:::i;:::-;22835:15;5326:19666;22278:6;5326:19666;;;;;22835:15;5326:19666;;22893:34;22278:6;22893:34;;;5326:19666;22893:34;;;22328;22893;;:::i;23085:39::-;23134:58;:31;5326:19666;22002:6;5326:19666;;;;;23134:58;:93;;;;;5326:19666;;2030:14:2;23134:93:65;;5326:19666;;;;;;;;23134:93;5326:19666;;23134:93;;;:::i;:::-;;;;;;;;;;;5326:19666;479:48:62;983:133;;22038:16:65;983:133:62;;23672:55:65;983:133:62;479:48;983:133;;22082:16:65;983:133:62;;;23630:31:65;23426:42;5326:19666;;;22002:6;5326:19666;;;;;;;23426:42;:::i;:::-;23569:31;23497:42;5326:19666;;;22002:6;5326:19666;;;;;23497:42;23569:31;;:::i;:::-;23630;:::i;:::-;573:10:62;;:::i;:::-;23683:14:65;;;23672:55;:::i;23134:93::-;;;5326:19666;23134:93;;;:::i;:::-;;;;22569;;;5326:19666;22569:93;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;10494:17;;5326:19666;10502:8;5326:19666;;;;;;;;10494:17;10581:6;5326:19666;;;336:42:2;10573:18:65;;;;5326:19666;;2030:14:2;10573:18:65;;5326:19666;;;;;;10573:18;;2030:14:2;-1:-1:-1;5326:19666:65;;;2030:14:2;;;5326:19666:65;;;-1:-1:-1;336:42:2;10573:18:65;;;;;;;;5326:19666;11205:45;5326:19666;10728:31;10924:29;;10820:67;;10728:31;;:::i;10924:29::-;10976:15;5326:19666;10581:6;5326:19666;;;;;10976:15;5326:19666;;;;11027:154;;;10820:67;11027:154;;;11071:59;11027:154;;10820:67;11027:154;;;:::i;11205:45::-;479:48:62;983:133;;10539:24:65;983:133:62;;11436:31:65;11367:41;983:133:62;11302:37:65;5326:19666;;10581:6;5326:19666;;;;;10573:18;;;5326:19666;10573:18;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;18389:6;5326:19666;;;336:42:2;18381:25:65;;;;5326:19666;;2030:14:2;18381:25:65;;5326:19666;;;;;;18381:25;;2030:14:2;18354:17:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;18381:25:65;;;;;;;;5326:19666;18457:31;18742:67;;18457:31;;:::i;:::-;18554:15;5326:19666;18562:6;5326:19666;;;;;18554:15;5326:19666;;18648:43;18562:6;18648:43;;;5326:19666;18648:43;;;;;;:::i;18742:67::-;5326:19666;;18846:36;;;;;18562:6;18846:36;;;:::i;:::-;336:42:2;18893:37:65;;;;5326:19666;;18893:37;2030:14:2;18893:37:65;;5326:19666;18893:37;;;5326:19666;18893:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;18893:37;;;;336:42:2;18893:37:65;;;;;;;19020:58;18893:37;19020:31;18893:37;;;5326:19666;-1:-1:-1;18389:6:65;5326:19666;;;;18945:64;5326:19666;;;18945:64;5326:19666;;;18945:64;;;:::i;19020:58::-;:95;;;;;5326:19666;;2030:14:2;19020:95:65;;5326:19666;;;;;;;;19020:95;5326:19666;;19020:95;;;:::i;:::-;;;;;;;;;;;5326:19666;19126:62;19135:14;5326:19666;18389:6;5326:19666;;;;;19135:14;;5326:19666;;:::i;:::-;19126:62;;:::i;19020:95::-;;;5326:19666;19020:95;;;:::i;:::-;;;;18893:37;;;5326:19666;18893:37;;;:::i;:::-;;;;18381:25;;;5326:19666;18381:25;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;23824:16;;;;;;;;;;;;;;;;;;;;5326:19666;23824:16;;;;;5326:19666;;;;23875:32;;;;;;;23824:16;23875:32;;;;;;;;;;;;;5326:19666;;;;;;;;;;23875:32;;;5326:19666;23875:32;;;;;;23927:13;5326:19666;;;;;23927:13;;;;2030:14:2;23927:13:65;;5326:19666;23927:13;;;;;;;23918:69;23927:13;5326:19666;23927:13;;;5326:19666;;;;:::i;:::-;23918:69;;:::i;23927:13::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;5326:19666;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;3346:26:9;5326:19666:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;;;:::i;:::-;2030:14:2;;5326:19666:65;;;;;:::i;:::-;;;;2030:14:2;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;7137:17;;5326:19666;7145:8;5326:19666;;;;;;;;7137:17;7302:6;5326:19666;;;336:42:2;7294:26:65;;;;5326:19666;;2030:14:2;7294:26:65;;5326:19666;;;;;;7294:26;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;7294:26:65;;;;;;;;5326:19666;7450:31;7751:67;;7450:31;;:::i;7751:67::-;5326:19666;;7855:37;;;;;7555:6;7855:37;;;:::i;:::-;336:42:2;7903:37:65;;;;5326:19666;;7903:37;2030:14:2;7903:37:65;;5326:19666;7903:37;;;5326:19666;7903:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;7903:37;;;;336:42:2;7903:37:65;;;;;;;8067:58;7903:37;8067:31;7903:37;;;-1:-1:-1;7302:6:65;5326:19666;;;;;8067:58;:91;;;;;5326:19666;;2030:14:2;8067:91:65;;5326:19666;;;;;;;;8067:91;5326:19666;;8067:91;;;:::i;:::-;;;;;;;;;;;5326:19666;479:48:62;983:133;;7220:27:65;983:133:62;;8346:31:65;8277:41;983:133:62;8212:37:65;780:342:62;8067:91:65;;;5326:19666;8067:91;;;:::i;:::-;;;;7294:26;;;5326:19666;7294:26;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;16063:16;;:::i;:::-;5326:19666;16131:3;5326:19666;;16109:20;;;;;5326:19666;;;;;;;;;16295:37;;;;;:::i;:::-;;5326:19666;16094:13;;16109:20;16586:67;;16109:20;16393:31;;:::i;:::-;5326:19666;16477:15;5326:19666;16485:6;5326:19666;;;;;16477:15;2030:14:2;16445:101:65;2030:14:2;;:::i;16586:67:65:-;16445:101;5326:19666;16690:38;;;;;16485:6;16690:38;;;:::i;:::-;336:42:2;16739:37:65;;;;16445:101;5326:19666;16739:37;2030:14:2;16739:37:65;;5326:19666;16739:37;;;5326:19666;16739:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;16739:37;;;;336:42:2;16739:37:65;;;;;;;16859:58;16739:37;16859:31;16739:37;;;16089:254;-1:-1:-1;16822:6:65;5326:19666;;;;;16791:57;16445:101;5326:19666;;16791:57;5326:19666;;;16791:57;;;:::i;16859:58::-;:95;;;;;16445:101;5326:19666;2030:14:2;16859:95:65;;5326:19666;;;;;;;;16859:95;5326:19666;;16859:95;;;:::i;16739:37::-;;;5326:19666;16739:37;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;3162:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;3653:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;;;;2030:14:2;;5326:19666:65;;;;;:::i;:::-;;;;2030:14:2;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;15728:38;;15624:67;;15553:31;;:::i;15728:38::-;15777:58;:31;5326:19666;15801:6;5326:19666;;;;;;;;;;;;;;;;2876:18:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;2876:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;;;;2030:14:2;;5326:19666:65;;;;;:::i;:::-;;;;2030:14:2;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;2575:18:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;2575:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6781:20;;5326:19666;;6714:37;;;;;5326:19666;6714:37;;;;;;:::i;6781:20::-;336:42:2;6811:59:65;;;;5326:19666;;2030:14:2;6811:59:65;;24868:42;5326:19666;6811:59;;5326:19666;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;6811:59:65;;;;;;;;5326:19666;-1:-1:-1;6880:8:65;5326:19666;6880:35;;5326:19666;;;;;;6811:59;;;5326:19666;6811:59;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;14596:6;5326:19666;;;336:42:2;14588:26:65;;;;5326:19666;;2030:14:2;14588:26:65;;5326:19666;;;;;;14588:26;;2030:14:2;14571:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;14588:26:65;;;;;;;;5326:19666;14665:31;14910:67;;14665:31;;:::i;:::-;14762:15;5326:19666;14770:6;5326:19666;;;;;14762:15;5326:19666;;14820:39;14770:6;14820:39;;;5326:19666;14820:39;;;;;;:::i;14910:67::-;5326:19666;;15014:37;;;;;14770:6;15014:37;;;:::i;:::-;336:42:2;15062:37:65;;;;5326:19666;;15062:37;2030:14:2;15062:37:65;;5326:19666;15062:37;;;5326:19666;15062:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;15062:37;;;;336:42:2;15062:37:65;;;;;;;15190:58;15062:37;15190:31;15062:37;;;5326:19666;-1:-1:-1;14596:6:65;5326:19666;;;;15114:65;5326:19666;;;15114:65;5326:19666;;;15114:65;;;:::i;15190:58::-;:95;;;;;5326:19666;;2030:14:2;15190:95:65;;5326:19666;;;;;;;;15190:95;5326:19666;;15190:95;;;:::i;:::-;;;;;;;;;;;5326:19666;15296:68;15305:14;5326:19666;14596:6;5326:19666;;;;;15305:14;;5326:19666;;:::i;15190:95::-;;;5326:19666;15190:95;;;:::i;:::-;;;;15062:37;;;5326:19666;15062:37;;;:::i;:::-;;;;14588:26;;;5326:19666;14588:26;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;19366:29;;;;;;;;;;;;;;;;;;;;5326:19666;19366:29;;;;;5326:19666;;;;19448:46;;;;;;;19366:29;19448:46;;;;;;;;;;;;;5326:19666;;;;;;;;;;19448:46;;;5326:19666;19448:46;;;;;5326:19666;19588:37;5326:19666;;19588:37;:::i;:::-;19568:58;336:42:2;19568:58:65;;;;5326:19666;19568:58;5326:19666;;;19568:58;;;;2030:14:2;19568:58:65;;5326:19666;19568:58;;;:::i;:::-;;;;336:42:2;19568:58:65;;;;;;;19971:67;20075:38;19568:58;19971:67;19568:58;20075:38;19568:58;;;5326:19666;19677:31;;;:::i;:::-;5326:19666;;;19877:43;;;;;5326:19666;19877:43;;;;;;:::i;20075:38::-;19550:6;20184:99;;;;5326:19666;20184:99;5326:19666;;;20184:99;;;;2030:14:2;20184:99:65;;5326:19666;20184:99;;;:::i;:::-;;;;19550:6;20184:99;;;;;;;;5326:19666;479:48:62;983:133;;20145:29:65;983:133:62;;20486:31:65;20413:45;983:133:62;20413:45:65;:::i;20184:99::-;;;5326:19666;20184:99;;;:::i;:::-;;;;19568:58;;;5326:19666;19568:58;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;17329:67;;17083:31;;:::i;:::-;17180:15;5326:19666;17188:6;5326:19666;;;;;17180:15;5326:19666;;17238:40;17188:6;17238:40;;;5326:19666;17238:40;;;;;;:::i;17329:67::-;5326:19666;;17433:38;;;;;17188:6;17433:38;;;:::i;:::-;336:42:2;17482:37:65;;;;5326:19666;;17482:37;2030:14:2;17482:37:65;;5326:19666;17482:37;;;5326:19666;17482:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;17482:37;;;;336:42:2;17482:37:65;;;;;;;17602:58;17482:37;17602:31;17482:37;;;-1:-1:-1;17565:6:65;5326:19666;;;;;17482:37;;;5326:19666;17482:37;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;13266:21;;;;;;;;;;;;;;;;;;;;5326:19666;13266:21;;;;;13322:23;5326:19666;13305:15;5326:19666;13313:6;5326:19666;;;;;13305:15;5326:19666;;13322:23;:::i;:::-;13297:49;336:42:2;13297:49:65;;;;;5326:19666;;;;;13297:49;;;;;2030:14:2;13297:49:65;;5326:19666;13297:49;;;:::i;:::-;;;;336:42:2;13297:49:65;;;;;;;;5326:19666;14368:95;5326:19666;13313:6;5326:19666;13465:31;13855:29;;13751:67;;13465:31;;:::i;:::-;13562:15;5326:19666;;;;;;;13562:15;5326:19666;;13656:44;;;;;5326:19666;13656:44;;;5326:19666;;;;;;;;;;;13656:44;5326:19666;;;;13656:44;5326:19666;13855:29;14000:15;5326:19666;14008:6;5326:19666;;;;;14000:15;5326:19666;;;;14051:158;;;;;;;14095:59;14051:158;;13656:44;14051:158;;;:::i;:::-;14000:223;;;;14233:37;14000:223;;:::i;13297:49::-;;;5326:19666;13297:49;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;;2723:18:9;5326:19666:65;;;;;;;2723:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1065:26:16;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;5326:19666:65;2030:14:2;;;;;;;;;;;5326:19666:65;2030:14:2;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;5326:19666:65;;2030:14:2;5326:19666:65;;2030:14:2;;;;;;;;;;;;;:::o;:::-;5326:19666:65;;2030:14:2;;;;;:::i;:::-;:::o;:::-;;;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;;;5326:19666:65;;;;2030:14:2;;;:::o;:::-;;;;-1:-1:-1;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;5326:19666:65;2030:14:2;;;;;;;;;;:::i;:::-;;:::o;:::-;;;5326:19666:65;2030:14:2;;;5326:19666:65;2030:14:2;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;5326:19666:65;;;;2030:14:2;;5326:19666:65;2030:14:2;:::i;:::-;20971:1:65;2030:14:2;;;;;20971:1:65;2030:14:2;:::i;:::-;;;-1:-1:-1;2030:14:2;;;;;;;;;:::o;:::-;;5326:19666:65;;;2030:14:2;;;:::i;:::-;-1:-1:-1;2030:14:2;;-1:-1:-1;2030:14:2;;;;-1:-1:-1;5326:19666:65;2030:14:2;;;;;;;;;;;;;;;;;;5326:19666:65;;;2030:14:2;;5326:19666:65;2030:14:2;:::i;:::-;5326:19666:65;2030:14:2;;;;;5326:19666:65;2030:14:2;:::i;:::-;;;5326:19666:65;2030:14:2;;;;;;;;;:::o;:::-;;5326:19666:65;;;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;2030:14:2;;;;5326:19666:65;;2030:14:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;5326:19666:65;;2030:14:2;;;;;;:::o;:::-;;:::i;:::-;;;;;;;5326:19666:65;;;;;;;;2030:14:2;;5326:19666:65;2030:14:2;;;;;;5326:19666:65;;2030:14:2;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;5326:19666:65;2030:14:2;;5326:19666:65;;;2030:14:2;;;;5326:19666:65;;2030:14:2;;;5326:19666:65;;2030:14:2;;;5326:19666:65;2030:14:2;;;;;;;;;;;;;;:::i;:::-;5326:19666:65;;2030:14:2;;;;;;;;;;;;;;;5326:19666:65;2030:14:2;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;8702:7:65;2030:14:2;;;;;;;;;:::i;:::-;;;;;18354:17:65;2030:14:2;;;;;;;;;:::i;:::-;;;;;14571:7:65;2030:14:2;;;;;;;;;:::i;:::-;;;;;5326:19666:65;2030:14:2;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;;;;;;;;;:::i;:::-;;;;;11680:24:65;2030:14:2;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;;;;;;;;;:::i;:::-;;;;;10539:24:65;2030:14:2;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;-1:-1:-1;2030:14:2;;;;:::o;:::-;;;:::o;:::-;;5326:19666:65;2030:14:2;;;;;:::i;:::-;;;;;5326:19666:65;2030:14:2;;;:::o;:::-;5326:19666:65;;2030:14:2;;;;;:::i;:::-;;;;;5326:19666:65;2030:14:2;;;;;;;;:::o;5326:19666:65:-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;;:::o;:::-;;;;;24811:30;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;8645:27;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;22038:16;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;22082:16;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;7220:27;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;20145:29;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;;-1:-1:-1;5326:19666:65;;-1:-1:-1;5326:19666:65;-1:-1:-1;5326:19666:65;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;8702:7;2030:14:2;;5326:19666:65;;;;;;;;:::i;:::-;;;;;18354:17;2030:14:2;;5326:19666:65;;;;;;;;:::i;:::-;;;;;14571:7;2030:14:2;;5326:19666:65;;;;;;;;:::i;573:10:62:-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;573:10:62;2030:14:2;;573:10:62;5326:19666:65;573:10:62;;;:::o;5326:19666:65:-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;5326:19666:65;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;;5326:19666:65;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;2030:14:2;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;5326:19666:65;;;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;2030:14:2;;;5326:19666:65;;;;;;;;;;;;;;;;;;;16073:5;;;2030:14:2;;;5326:19666:65;2030:14:2;:::i;:::-;;;;;5326:19666:65;;2030:14:2;;;5326:19666:65;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;2030:14:2;;5326:19666:65;;;;;;;;:::i;1255:17:4:-;;;;;;;;;;;:::o;1306:195::-;1365:7;5326:19666:65;;;;;;1395:4:4;1388:11;:::o;1361:134::-;5326:19666:65;;2030:14:2;1437:33:4;;;;;;;;192:59;1255:17;;;;5326:19666:65;;;;1255:17:4;2030:14:2;1437:33:4;;5326:19666:65;1437:33:4;;;;;;;2030:14:2;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;5326:19666:65;;;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;:::o;:::-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;2179:149:4:-;;2262:60;;2179:149;;:::o;2262:60::-;5326:19666:65;2286:25:4;;;;;5326:19666:65;2286:25:4;5326:19666:65;;;2286:25:4;;;;;2030:14:2;2286:25:4;;;;;;:::i;:::-;;;5326:19666:65;2286:25:4;;;;;;;;2179:149;:::o;2286:25::-;;;;;:::i;4521:177::-;5326:19666:65;4623:13:4;;4619:73;;4521:177;;:::o;4619:73::-;5326:19666:65;4652:29:4;;;;5326:19666:65;;-1:-1:-1;5326:19666:65;;;4652:29:4;;;;;2030:14:2;4652:29:4;;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;;;:::i;:::-;4652:29:4;;5326:19666:65;4652:29:4;;;;;;;;4521:177;:::o;4652:29::-;;;-1:-1:-1;4652:29:4;;;:::i;:::-;5326:19666:65;;;;;2179:149:4:o;1705:123:76:-;5326:19666:65;1761:60:76;;;;5326:19666:65;;;1761:60:76;2030:14:2;1761:60:76;;5326:19666:65;1761:60:76;;;5326:19666:65;1374:1:76;1358:19;;;2030:14:2;1374:1:76;1358:19;;;2030:14:2;1374:1:76;1761:60;;;;5326:19666:65;1761:60:76;;;;;;;;1705:123;:::o;1894:148:4:-;1980:5;;1976:60;;1894:148;;:::o;1976:60::-;5326:19666:65;2001:24:4;;;;;5326:19666:65;2001:24:4;5326:19666:65;;;2001:24:4;;;;;2030:14:2;2001:24:4;;;;;;:::i;2664:153::-;2747:13;2743:68;;2664:153;:::o;2743:68::-;5326:19666:65;2776:24:4;;;;5326:19666:65;;2776:24:4;2030:14:2;2776:24:4;;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;2776:24:4;;;5326:19666:65;2776:24:4;;;;;;;;2664:153;:::o;:::-;12692:7:65;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;5326:19666:65;2776:24:4;;;;5326:19666:65;;2776:24:4;2030:14:2;2776:24:4;;;;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;2776:24:4;;;5326:19666:65;2776:24:4;;;;;;;;2664:153;:::o;:::-;22201:1:65;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;5326:19666:65;2776:24:4;;;;5326:19666:65;;2776:24:4;2030:14:2;2776:24:4;;;;;2030:14:2;22201:1:65;5326:19666;;;2030:14:2;-1:-1:-1;2776:24:4;;;5326:19666:65;2776:24:4;;;;;;;;2664:153;:::o;1480:121:76:-;5326:19666:65;1534:60:76;;;;5326:19666:65;;;1534:60:76;2030:14:2;1534:60:76;;5326:19666:65;1534:60:76;;;5326:19666:65;1374:1:76;1358:19;;;2030:14:2;1590:1:76;1358:19;;;2030:14:2;1374:1:76;1534:60;;;;5326:19666:65;1534:60:76;;;;;;;;1480:121;:::o;5326:19666:65:-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;2659:655:76;2777:11;5326:19666:65;2777:11:76;:::i;:::-;2906:30;;;;;;;;:::i;:::-;;;;;;;;;;5326:19666:65;2888:49:76;;;;;;5326:19666:65;;;2888:49:76;;;;2030:14:2;2888:49:76;;5326:19666:65;2888:49:76;;;;:::i;:::-;;;;5326:19666:65;2888:49:76;;;;;;;;;;;;;2659:655;5326:19666:65;;;2996:55:76;;;2906:30;2996:55;;;3019:25;2996:55;;;;;5326:19666:65;;;;;2030:14:2;;5326:19666:65;2996:55:76;2978:74;;5326:19666:65;2978:74:76;;;;:::i;:::-;3123:31;5326:19666:65;3123:31:76;;;;2888:49;3123:31;5326:19666:65;;;3123:31:76;;;;2030:14:2;3123:31:76;;5326:19666:65;2888:49:76;3123:31;;;:::i;:::-;;;;5326:19666:65;3123:31:76;;;;;;;3281:26;3123:31;3165:27;3123:31;;;2659:655;3165:27;;:::i;:::-;3202:61;2906:30;5326:19666:65;;3210:16:76;;3202:61;:::i;:::-;2906:30;5326:19666:65;;;3281:26:76;;;;;;:::i;3123:31::-;;;2888:49;3123:31;;;:::i;:::-;;;;2888:49;;;;;;;:::i;:::-;;;;2659:655;2777:11;;;:::i;:::-;2906:30;;;;;;;;:::i;:::-;;;;;;;;;;5326:19666:65;2888:49:76;;;;;;5326:19666:65;;;2888:49:76;;;;2030:14:2;2888:49:76;;;;;;;:::i;:::-;;;;5326:19666:65;2888:49:76;;;;;;;;;;;;;2659:655;5326:19666:65;;;2996:55:76;;;2906:30;2996:55;;;3019:25;2996:55;;;;;5326:19666:65;;;;;2030:14:2;;5326:19666:65;2996:55:76;2978:74;;;;;;;:::i;:::-;3123:31;5326:19666:65;3123:31:76;;;;;5326:19666:65;2888:49:76;5326:19666:65;;;3123:31:76;;;;;2030:14:2;3123:31:76;;2888:49;3123:31;;;:::i;2888:49::-;;;;;;;:::i;:::-;;;;2823:177:4;2925:13;2921:73;;2823:177;;:::o;2921:73::-;5326:19666:65;2954:29:4;;;;5326:19666:65;;;;;;2954:29:4;;;;;2030:14:2;2954:29:4;;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;;;:::i;4179:177:4:-;5326:19666:65;;;;;;4281:13:4;;;4277:73;;4179:177;;;:::o;4277:73::-;5326:19666:65;4310:29:4;;;;-1:-1:-1;5326:19666:65;;;;4310:29:4;;;;;2030:14:2;4310:29:4;;;;;5326:19666:65;;;;;;;;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testConstructorValidation()":"96bfd8de","testForwardToRouterReturnValue()":"3403533a","testRouterAddressImmutable()":"6450514c","test_constructor_revert_zeroRouter()":"13b0f5cd","test_delegatecall_forwards_and_sets_sentinel_sstore_inactive()":"46c5bb8b","test_delegatecall_forwards_and_sets_sentinel_tstore_active()":"6f2afb84","test_delegatecall_router_revert_bubbles_as_RouterCallFailed()":"dfab5b20","test_delegatecall_sets_sentinel_with_sstore_when_no_tstore()":"0f59cebe","test_delegatecall_sets_sentinel_with_tstore_when_supported()":"568ec6fd","test_direct_handleSequenceDelegateCall_reverts_not_delegatecall()":"b953254e","test_forwardToRouter_return_data_handling()":"d2d18ff5","test_forwardToRouter_revert_with_custom_error()":"06b13369","test_handleSequenceDelegateCall_allows_arbitrary_selector()":"f679951d","test_handleSequenceDelegateCall_empty_calldata()":"a009a77a","test_handleSequenceDelegateCall_large_calldata()":"7ee2aaa5","test_handleSequenceDelegateCall_max_call_value()":"610b4369","test_handleSequenceDelegateCall_with_eth_value()":"cf7e6947","test_handleSequenceDelegateCall_zero_call_value()":"dc420e10","test_sentinel_setting_with_different_op_hashes()":"4c57e12e"}}}},"test/guards/DelegatecallGuard.t.sol":{"DelegatecallGuardTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testOnlyDelegatecallInternalFunction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSelfImmutableVariable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_context_succeeds","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_nested_context","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_direct_call_reverts_NotDelegateCall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_multiple_delegatecall_guards","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_onlyDelegatecall_modifier_usage","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_self_address_immutable","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"event","name":"Ping","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Ping\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyDelegatecallInternalFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSelfImmutableVariable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_context_succeeds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_nested_context\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_direct_call_reverts_NotDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_multiple_delegatecall_guards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_onlyDelegatecall_modifier_usage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_self_address_immutable\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"DelegatecallGuardTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f55612e6490816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816308a9ea2714611915575080630a9254e4146118015780631ed7831c146117585780632ade38801461152c5780633e5e3c23146114835780633f7286f4146113da57806366d9a9a01461127f5780637a12a470146111495780637cb7b5b514610d3c5780638445e79f14610b4257806385226c8114610a9a578063916a17c6146109c5578063b0464fdc146108f0578063b5508aa914610848578063b786767b146106a2578063ba414fa61461065f578063ba75552914610581578063d617152b146102b8578063e20c9f71146101ff578063eff34a17146101485763fa7626d414610105575f80fd5b3461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557602060ff601f54166040519015158152f35b80fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576101fc73ffffffffffffffffffffffffffffffffffffffff601f5460081c161515604051906101a7606083611dea565b602382527f6775617264656420636f6e74726163742073686f756c64206265206465706c6f60208301527f79656400000000000000000000000000000000000000000000000000000000006040830152612371565b80f35b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061028c576102888561027c81870382611dea565b60405191829182611bc6565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610265565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405161024b8082019082821067ffffffffffffffff831117610554579082916129b68339039082f0801561051a5760405161022e8082019082821067ffffffffffffffff831117610527579180918593612c018339039082f091821561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c20000000000000000000000000000000000000000000000000000000081528281806103b060048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f5783916104f6575b5050602473ffffffffffffffffffffffffffffffffffffffff917ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1838360405196879586947fc06d936d000000000000000000000000000000000000000000000000000000008652166004850152165af180156104eb576101fc9183916104c8575b5060405190610473606083611dea565b602282527f6e65737465642064656c656761746563616c6c2073686f756c6420737563636560208301527f65640000000000000000000000000000000000000000000000000000000000006040830152612371565b6104e491503d8085833e6104dc8183611dea565b810190612224565b505f610463565b6040513d84823e3d90fd5b8161050091611dea565b61050b57815f6103d8565b5080fd5b6040513d85823e3d90fd5b50604051903d90823e3d90fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a576101fc9073ffffffffffffffffffffffffffffffffffffffff60405191610607606084611dea565b602f83527f5f53454c462073686f756c6420626520696e697469616c697a656420746f206360208401527f6f6e7472616374206164647265737300000000000000000000000000000000006040840152161515612371565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576020610698612298565b6040519015158152f35b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405190610190918281019281841067ffffffffffffffff85111761081b578293829161254c8339039082f0801561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610803576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391610806575b505073ffffffffffffffffffffffffffffffffffffffff16803b15610803578180916004604051809481937fd35ec4200000000000000000000000000000000000000000000000000000000083525af180156104eb576107f25750f35b816107fc91611dea565b6101455780f35b50fd5b8161081091611dea565b61080357815f610795565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760195461088381611e65565b916108916040519384611dea565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106108d357604051806102888782611cad565b6001602081926108e285611e7d565b8152019201920191906108be565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601c5461092b81611e65565b916109396040519384611dea565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831061097b57604051806102888782611d2a565b6002602060019260405161098e81611dce565b73ffffffffffffffffffffffffffffffffffffffff86541681526109b3858701611f80565b83820152815201920192019190610966565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601d54610a0081611e65565b91610a0e6040519384611dea565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610a5057604051806102888782611d2a565b60026020600192604051610a6381611dce565b73ffffffffffffffffffffffffffffffffffffffff8654168152610a88858701611f80565b83820152815201920192019190610a3b565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601a54610ad581611e65565b91610ae36040519384611dea565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610b2557604051806102888782611cad565b600160208192610b3485611e7d565b815201920192019190610b10565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561014557806040517f491cc7c2000000000000000000000000000000000000000000000000000000008152818180610bda60048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156104eb57610d27575b50507ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1808073ffffffffffffffffffffffffffffffffffffffff60205416602473ffffffffffffffffffffffffffffffffffffffff601f5460081c1660405194859384927fe8d1bd0a00000000000000000000000000000000000000000000000000000000845260048401525af180156104eb576101fc918391610d0c575b5060405190610cb7606083611dea565b602882527f64656c656761746563616c6c2d636f6e746578742070696e672073686f756c6460208301527f20737563636565640000000000000000000000000000000000000000000000006040830152612371565b610d2091503d8085833e6104dc8183611dea565b505f610ca7565b81610d3191611dea565b61014557805f610bff565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a576040516102da8082019082821067ffffffffffffffff8311176105275791809185936126dc8339039082f091821561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c2000000000000000000000000000000000000000000000000000000008152828180610e3460048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391611134575b50507ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1818073ffffffffffffffffffffffffffffffffffffffff60205416602473ffffffffffffffffffffffffffffffffffffffff601f5460081c1660405194859384927fe8d1bd0a00000000000000000000000000000000000000000000000000000000845260048401525af1801561050f57610f69918491611119575b5060405190610f14606083611dea565b603282527f6669727374206775617264656420636f6e74726163742064656c65676174656360208301527f616c6c2073686f756c64207375636365656400000000000000000000000000006040830152612371565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c2000000000000000000000000000000000000000000000000000000008152828180610fd160048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391611104575b5050602473ffffffffffffffffffffffffffffffffffffffff917ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1838360405196879586947fe8d1bd0a000000000000000000000000000000000000000000000000000000008652166004850152165af180156104eb576101fc9183916110e9575b5060405190611094606083611dea565b603382527f7365636f6e64206775617264656420636f6e74726163742064656c656761746560208301527f63616c6c2073686f756c642073756363656564000000000000000000000000006040830152612371565b6110fd91503d8085833e6104dc8183611dea565b505f611084565b8161110e91611dea565b61050b57815f610ff9565b61112d91503d8086833e6104dc8183611dea565b505f610f04565b8161113e91611dea565b61050b57815f610e5c565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561014557806040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156104eb5761126a575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610803578180916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af180156104eb576107f25750f35b8161127491611dea565b61014557805f611208565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601b546112ba81611e65565b6112c76040519182611dea565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b83831061139f57868587604051928392602084019060208552518091526040840160408260051b8601019392905b82821061133457505050500390f35b9193602061138f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060019597998495030186528851908361137f8351604084526040840190611c15565b9201519084818403910152611c58565b9601920192018594939192611325565b600260206001926040516113b281611dce565b6113bb86611e7d565b81526113c8858701611f80565b838201528152019201920191906112f7565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b818110611457576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611440565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b818110611500576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114e9565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601e5461156781611e65565b6115746040519182611dea565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106116c25786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106115e05786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110611679575050505050602080600192970193019301909286959492936115d3565b90919293946020806116b5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611c15565b9701950193929101611655565b6040516116ce81611dce565b73ffffffffffffffffffffffffffffffffffffffff83541681526001830180546116f781611e65565b916117056040519384611dea565b8183528a526020808b20908b9084015b83821061173b5750505050600192826020928360029501528152019201920191906115a4565b60016020819261174a86611e7d565b815201930191019091611715565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106117d5576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016117be565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f556040516102da8082019082821067ffffffffffffffff831117610554579082916126dc8339039082f0801561051a5773ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000602054161760205580f35b905034611b95575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611b955761013d80820182811067ffffffffffffffff821117611b9957829161240f833903905ff08015611b8a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611b95576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015611b8a57611b61575b5073ffffffffffffffffffffffffffffffffffffffff16803b1561050b57816040517fd35ec420000000000000000000000000000000000000000000000000000000008152818160048183875af180156104eb57611b4c575b50806101fc9273ffffffffffffffffffffffffffffffffffffffff60205416908260405160208101927f69583088000000000000000000000000000000000000000000000000000000008452602482015260248152611ab7604482611dea565b51925af13d15611b47573d611acb81611e2b565b90611ad96040519283611dea565b81528360203d92013e5b60405190611af2606083611dea565b602982527f64656c656761746563616c6c2077697468206d6f6469666965722073686f756c60208301527f64207375636365656400000000000000000000000000000000000000000000006040830152612371565b611ae3565b611b57828092611dea565b610145575f611a57565b611b6e9192505f90611dea565b5f9073ffffffffffffffffffffffffffffffffffffffff6119fe565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611be95750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611bdc565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611c755750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611c68565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611cdf57505050505090565b9091929394602080611d1b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611c15565b97019301930191939290611cd0565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611d5c57505050505090565b9091929394602080611dbf837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611c58565b97019301930191939290611d4d565b6040810190811067ffffffffffffffff821117611b9957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b9957604052565b67ffffffffffffffff8111611b9957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b67ffffffffffffffff8111611b995760051b60200190565b90604051915f8154908160011c9260018316928315611f76575b602085108414611f49578487528693908115611f095750600114611ec5575b50611ec392500383611dea565b565b90505f9291925260205f20905f915b818310611eed575050906020611ec3928201015f611eb6565b6020919350806001915483858901015201910190918492611ed4565b60209350611ec39592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f611eb6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693611e97565b90604051918281549182825260208201905f5260205f20925f905b80600783011061219757611ec3945491818110612161575b81811061212b575b8181106120f5575b8181106120bf575b818110612089575b818110612053575b81811061201e575b10611ff1575b500383611dea565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611fe9565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611fe3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611fdb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611fd3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611fcb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611fc3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611fbb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611fb3565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f9b565b9190604083820312611b955782518015158103611b95579260208101519067ffffffffffffffff8211611b95570181601f82011215611b955780519061226982611e2b565b926122776040519485611dea565b82845260208383010111611b9557815f9260208093018386015e8301015290565b60085460ff16156122a857600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115611b8a575f9161233f575b50151590565b90506020813d602011612369575b8161235a60209383611dea565b81010312611b9557515f612339565b3d915061234d565b158061237b575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611b95576123de915f9160405193849283927fa34edc03000000000000000000000000000000000000000000000000000000008452156004840152604060248401526044830190611c15565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611b8a576124045750565b5f611ec391611dea56fe60a0806040523460215730608052610117908161002682396080518160660152f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c63d35ec420146023575f80fd5b3460dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260dd5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301460b55760207f92c92f88c68fad537bf0d0ade54b81ea40eff183b4669adc1dde382843528a8291338152a1005b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea264697066735822122093902daa4a7192805599432e9259ea96623a01b9007364f0e00f74e6b5648c2664736f6c634300081e003360a080604052346021573060805261016a908161002682396080518160e40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635c36b1861461006b5763d35ec4201461002f575f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100656100cd565b005b5f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100a16100cd565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a1005b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301461010c57565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212203ae5728baaef18dacb923881e9025972d6dbb6f8719559d85f5dbff74fe053bd64736f6c634300081e0033608080604052346015576102c0908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816369583088146100e2575063e8d1bd0a14610032575f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de5760043573ffffffffffffffffffffffffffffffffffffffff811681036100de575f809160405160208101907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b51915af46100ca61022d565b906100da6040519283928361016d565b0390f35b5f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de576004359073ffffffffffffffffffffffffffffffffffffffff821682036100de575f91816020849301907fd35ec420000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093151585526040828601528051918291826040880152018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761020057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610285573d9067ffffffffffffffff8211610200576040519161027a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846101bf565b82523d5f602084013e565b60609056fea26469706673582212207a1d3e24d2c760615416d9a38d707e1084fe8ae0a0ce1d06e2997a2e761093ba64736f6c634300081e003360a0806040523460225730608052610224908161002782396080518161019e0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c806338e6876a1461009657635c36b18614610030575f80fd5b3461009357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009357610066610187565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a180f35b80fd5b50346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043573ffffffffffffffffffffffffffffffffffffffff8116809103610183576100ef610187565b803b15610183575f80916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af1801561017857610135575080f35b905067ffffffffffffffff811161014b57604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630146101c657565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212204edfba9cc5572eda4370e6b05e1522ff46d012c7cf13c804fb44abff5df9637264736f6c634300081e003360808060405234601557610214908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63c06d936d14610025575f80fd5b346101995760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610199576004359073ffffffffffffffffffffffffffffffffffffffff82168203610199575f91816020849301907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100b060248261019d565b51915af43d15610190573d9067ffffffffffffffff8211610163576060906040519261010460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018561019d565b83523d5f602085013e5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020604051958694151585526040828601528051918291826040880152018686015e5f85828601015201168101030190f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060809161010e565b5f80fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101635760405256fea264697066735822122005ed76b9c4137267389d7214b641e6f01b5406c3fc2dc2385c5b8d15d0e5f12764736f6c634300081e0033a2646970667358221220a0c146c31c97b1c8b1afe150c60515f1c2954e53951aa488e1965c83487cc3f164736f6c634300081e0033","sourceMap":"2305:4272:66:-:0;;;;;;;3200:4:5;2305:4272:66;;3200:4:5;2305:4272:66;;;3200:4:5;2305:4272:66;3200:4:5;2305:4272:66;;1087:4:16;2305:4272:66;;;1087:4:16;2305:4272:66;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c90816308a9ea2714611915575080630a9254e4146118015780631ed7831c146117585780632ade38801461152c5780633e5e3c23146114835780633f7286f4146113da57806366d9a9a01461127f5780637a12a470146111495780637cb7b5b514610d3c5780638445e79f14610b4257806385226c8114610a9a578063916a17c6146109c5578063b0464fdc146108f0578063b5508aa914610848578063b786767b146106a2578063ba414fa61461065f578063ba75552914610581578063d617152b146102b8578063e20c9f71146101ff578063eff34a17146101485763fa7626d414610105575f80fd5b3461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557602060ff601f54166040519015158152f35b80fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576101fc73ffffffffffffffffffffffffffffffffffffffff601f5460081c161515604051906101a7606083611dea565b602382527f6775617264656420636f6e74726163742073686f756c64206265206465706c6f60208301527f79656400000000000000000000000000000000000000000000000000000000006040830152612371565b80f35b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061028c576102888561027c81870382611dea565b60405191829182611bc6565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610265565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405161024b8082019082821067ffffffffffffffff831117610554579082916129b68339039082f0801561051a5760405161022e8082019082821067ffffffffffffffff831117610527579180918593612c018339039082f091821561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c20000000000000000000000000000000000000000000000000000000081528281806103b060048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f5783916104f6575b5050602473ffffffffffffffffffffffffffffffffffffffff917ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1838360405196879586947fc06d936d000000000000000000000000000000000000000000000000000000008652166004850152165af180156104eb576101fc9183916104c8575b5060405190610473606083611dea565b602282527f6e65737465642064656c656761746563616c6c2073686f756c6420737563636560208301527f65640000000000000000000000000000000000000000000000000000000000006040830152612371565b6104e491503d8085833e6104dc8183611dea565b810190612224565b505f610463565b6040513d84823e3d90fd5b8161050091611dea565b61050b57815f6103d8565b5080fd5b6040513d85823e3d90fd5b50604051903d90823e3d90fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a576101fc9073ffffffffffffffffffffffffffffffffffffffff60405191610607606084611dea565b602f83527f5f53454c462073686f756c6420626520696e697469616c697a656420746f206360208401527f6f6e7472616374206164647265737300000000000000000000000000000000006040840152161515612371565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576020610698612298565b6040519015158152f35b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405190610190918281019281841067ffffffffffffffff85111761081b578293829161254c8339039082f0801561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610803576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391610806575b505073ffffffffffffffffffffffffffffffffffffffff16803b15610803578180916004604051809481937fd35ec4200000000000000000000000000000000000000000000000000000000083525af180156104eb576107f25750f35b816107fc91611dea565b6101455780f35b50fd5b8161081091611dea565b61080357815f610795565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760195461088381611e65565b916108916040519384611dea565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106108d357604051806102888782611cad565b6001602081926108e285611e7d565b8152019201920191906108be565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601c5461092b81611e65565b916109396040519384611dea565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831061097b57604051806102888782611d2a565b6002602060019260405161098e81611dce565b73ffffffffffffffffffffffffffffffffffffffff86541681526109b3858701611f80565b83820152815201920192019190610966565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601d54610a0081611e65565b91610a0e6040519384611dea565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610a5057604051806102888782611d2a565b60026020600192604051610a6381611dce565b73ffffffffffffffffffffffffffffffffffffffff8654168152610a88858701611f80565b83820152815201920192019190610a3b565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601a54610ad581611e65565b91610ae36040519384611dea565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610b2557604051806102888782611cad565b600160208192610b3485611e7d565b815201920192019190610b10565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561014557806040517f491cc7c2000000000000000000000000000000000000000000000000000000008152818180610bda60048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156104eb57610d27575b50507ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1808073ffffffffffffffffffffffffffffffffffffffff60205416602473ffffffffffffffffffffffffffffffffffffffff601f5460081c1660405194859384927fe8d1bd0a00000000000000000000000000000000000000000000000000000000845260048401525af180156104eb576101fc918391610d0c575b5060405190610cb7606083611dea565b602882527f64656c656761746563616c6c2d636f6e746578742070696e672073686f756c6460208301527f20737563636565640000000000000000000000000000000000000000000000006040830152612371565b610d2091503d8085833e6104dc8183611dea565b505f610ca7565b81610d3191611dea565b61014557805f610bff565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a576040516102da8082019082821067ffffffffffffffff8311176105275791809185936126dc8339039082f091821561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c2000000000000000000000000000000000000000000000000000000008152828180610e3460048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391611134575b50507ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1818073ffffffffffffffffffffffffffffffffffffffff60205416602473ffffffffffffffffffffffffffffffffffffffff601f5460081c1660405194859384927fe8d1bd0a00000000000000000000000000000000000000000000000000000000845260048401525af1801561050f57610f69918491611119575b5060405190610f14606083611dea565b603282527f6669727374206775617264656420636f6e74726163742064656c65676174656360208301527f616c6c2073686f756c64207375636365656400000000000000000000000000006040830152612371565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c2000000000000000000000000000000000000000000000000000000008152828180610fd160048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391611104575b5050602473ffffffffffffffffffffffffffffffffffffffff917ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1838360405196879586947fe8d1bd0a000000000000000000000000000000000000000000000000000000008652166004850152165af180156104eb576101fc9183916110e9575b5060405190611094606083611dea565b603382527f7365636f6e64206775617264656420636f6e74726163742064656c656761746560208301527f63616c6c2073686f756c642073756363656564000000000000000000000000006040830152612371565b6110fd91503d8085833e6104dc8183611dea565b505f611084565b8161110e91611dea565b61050b57815f610ff9565b61112d91503d8086833e6104dc8183611dea565b505f610f04565b8161113e91611dea565b61050b57815f610e5c565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561014557806040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156104eb5761126a575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610803578180916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af180156104eb576107f25750f35b8161127491611dea565b61014557805f611208565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601b546112ba81611e65565b6112c76040519182611dea565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b83831061139f57868587604051928392602084019060208552518091526040840160408260051b8601019392905b82821061133457505050500390f35b9193602061138f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060019597998495030186528851908361137f8351604084526040840190611c15565b9201519084818403910152611c58565b9601920192018594939192611325565b600260206001926040516113b281611dce565b6113bb86611e7d565b81526113c8858701611f80565b838201528152019201920191906112f7565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b818110611457576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611440565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b818110611500576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114e9565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601e5461156781611e65565b6115746040519182611dea565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106116c25786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106115e05786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110611679575050505050602080600192970193019301909286959492936115d3565b90919293946020806116b5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611c15565b9701950193929101611655565b6040516116ce81611dce565b73ffffffffffffffffffffffffffffffffffffffff83541681526001830180546116f781611e65565b916117056040519384611dea565b8183528a526020808b20908b9084015b83821061173b5750505050600192826020928360029501528152019201920191906115a4565b60016020819261174a86611e7d565b815201930191019091611715565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106117d5576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016117be565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f556040516102da8082019082821067ffffffffffffffff831117610554579082916126dc8339039082f0801561051a5773ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000602054161760205580f35b905034611b95575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611b955761013d80820182811067ffffffffffffffff821117611b9957829161240f833903905ff08015611b8a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611b95576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015611b8a57611b61575b5073ffffffffffffffffffffffffffffffffffffffff16803b1561050b57816040517fd35ec420000000000000000000000000000000000000000000000000000000008152818160048183875af180156104eb57611b4c575b50806101fc9273ffffffffffffffffffffffffffffffffffffffff60205416908260405160208101927f69583088000000000000000000000000000000000000000000000000000000008452602482015260248152611ab7604482611dea565b51925af13d15611b47573d611acb81611e2b565b90611ad96040519283611dea565b81528360203d92013e5b60405190611af2606083611dea565b602982527f64656c656761746563616c6c2077697468206d6f6469666965722073686f756c60208301527f64207375636365656400000000000000000000000000000000000000000000006040830152612371565b611ae3565b611b57828092611dea565b610145575f611a57565b611b6e9192505f90611dea565b5f9073ffffffffffffffffffffffffffffffffffffffff6119fe565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611be95750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611bdc565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611c755750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611c68565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611cdf57505050505090565b9091929394602080611d1b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611c15565b97019301930191939290611cd0565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611d5c57505050505090565b9091929394602080611dbf837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611c58565b97019301930191939290611d4d565b6040810190811067ffffffffffffffff821117611b9957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b9957604052565b67ffffffffffffffff8111611b9957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b67ffffffffffffffff8111611b995760051b60200190565b90604051915f8154908160011c9260018316928315611f76575b602085108414611f49578487528693908115611f095750600114611ec5575b50611ec392500383611dea565b565b90505f9291925260205f20905f915b818310611eed575050906020611ec3928201015f611eb6565b6020919350806001915483858901015201910190918492611ed4565b60209350611ec39592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f611eb6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693611e97565b90604051918281549182825260208201905f5260205f20925f905b80600783011061219757611ec3945491818110612161575b81811061212b575b8181106120f5575b8181106120bf575b818110612089575b818110612053575b81811061201e575b10611ff1575b500383611dea565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611fe9565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611fe3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611fdb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611fd3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611fcb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611fc3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611fbb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611fb3565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f9b565b9190604083820312611b955782518015158103611b95579260208101519067ffffffffffffffff8211611b95570181601f82011215611b955780519061226982611e2b565b926122776040519485611dea565b82845260208383010111611b9557815f9260208093018386015e8301015290565b60085460ff16156122a857600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115611b8a575f9161233f575b50151590565b90506020813d602011612369575b8161235a60209383611dea565b81010312611b9557515f612339565b3d915061234d565b158061237b575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611b95576123de915f9160405193849283927fa34edc03000000000000000000000000000000000000000000000000000000008452156004840152604060248401526044830190611c15565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611b8a576124045750565b5f611ec391611dea56fe60a0806040523460215730608052610117908161002682396080518160660152f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c63d35ec420146023575f80fd5b3460dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260dd5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301460b55760207f92c92f88c68fad537bf0d0ade54b81ea40eff183b4669adc1dde382843528a8291338152a1005b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea264697066735822122093902daa4a7192805599432e9259ea96623a01b9007364f0e00f74e6b5648c2664736f6c634300081e003360a080604052346021573060805261016a908161002682396080518160e40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635c36b1861461006b5763d35ec4201461002f575f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100656100cd565b005b5f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100a16100cd565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a1005b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301461010c57565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212203ae5728baaef18dacb923881e9025972d6dbb6f8719559d85f5dbff74fe053bd64736f6c634300081e0033608080604052346015576102c0908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816369583088146100e2575063e8d1bd0a14610032575f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de5760043573ffffffffffffffffffffffffffffffffffffffff811681036100de575f809160405160208101907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b51915af46100ca61022d565b906100da6040519283928361016d565b0390f35b5f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de576004359073ffffffffffffffffffffffffffffffffffffffff821682036100de575f91816020849301907fd35ec420000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093151585526040828601528051918291826040880152018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761020057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610285573d9067ffffffffffffffff8211610200576040519161027a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846101bf565b82523d5f602084013e565b60609056fea26469706673582212207a1d3e24d2c760615416d9a38d707e1084fe8ae0a0ce1d06e2997a2e761093ba64736f6c634300081e003360a0806040523460225730608052610224908161002782396080518161019e0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c806338e6876a1461009657635c36b18614610030575f80fd5b3461009357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009357610066610187565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a180f35b80fd5b50346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043573ffffffffffffffffffffffffffffffffffffffff8116809103610183576100ef610187565b803b15610183575f80916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af1801561017857610135575080f35b905067ffffffffffffffff811161014b57604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630146101c657565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212204edfba9cc5572eda4370e6b05e1522ff46d012c7cf13c804fb44abff5df9637264736f6c634300081e003360808060405234601557610214908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63c06d936d14610025575f80fd5b346101995760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610199576004359073ffffffffffffffffffffffffffffffffffffffff82168203610199575f91816020849301907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100b060248261019d565b51915af43d15610190573d9067ffffffffffffffff8211610163576060906040519261010460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018561019d565b83523d5f602085013e5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020604051958694151585526040828601528051918291826040880152018686015e5f85828601015201168101030190f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060809161010e565b5f80fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101635760405256fea264697066735822122005ed76b9c4137267389d7214b641e6f01b5406c3fc2dc2385c5b8d15d0e5f12764736f6c634300081e0033a2646970667358221220a0c146c31c97b1c8b1afe150c60515f1c2954e53951aa488e1965c83487cc3f164736f6c634300081e0033","sourceMap":"2305:4272:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;3722:81;2305:4272;3741:7;2305:4272;;;;3733:30;;2305:4272;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;3722:81;:::i;:::-;2305:4272;;;;;;;;;;;;;;;;;;;2723:18:9;2305:4272:66;;;;;;;2723:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5286:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;2305:4272;;5347:20;;;;;;;;5286:23;5347:20;;;;;;;;;;;;;;;;;;;;;;336:42:2;5378:39:66;;;;2305:4272;;2030:14:2;5378:39:66;;;;;;2305:4272;5378:39;;2305:4272;4698:4;2305:4272;;;;;;;;;;;;;;;;;;;;;5378:39;;;;336:42:2;5378:39:66;;;;;;;;;;;2305:4272;;;5486:42;2305:4272;;5432:31;2030:14:2;2305:4272:66;;5457:4;2305:4272;;5432:31;2305:4272;;;;5486:42;;;;;2030:14:2;5486:42:66;;2305:4272;;5486:42;;2305:4272;;5486:42;;;;;;5538:52;5486:42;;;;;2305:4272;2030:14:2;2305:4272:66;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;5538:52;:::i;5486:42::-;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;2305:4272;;;;;;;;;5378:39;;;;;:::i;:::-;2305:4272;;5378:39;;;;2305:4272;;;;5378:39;2305:4272;;;;;;;;;5347:20;2305:4272;;;;;;;;;;;5347:20;2305:4272;;;;;;;;;5286:23;2305:4272;;;;;;;;;;;;;;;;;;;;;;;5831:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;6037:95;2030:14:2;2305:4272:66;;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;;6048:32;;6037:95;:::i;2305:4272::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6234:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;6344:59:66;;;;2305:4272;;2030:14:2;6344:59:66;;6360:42;2305:4272;6344:59;;2305:4272;6344:59;;;;;336:42:2;6344:59:66;;;;;;;;;;;2305:4272;;;;;6413:27;;;;;2305:4272;;;;;;6413:27;;;;2030:14:2;6413:27:66;;;;;;;;;;2305:4272;;6413:27;;;;;:::i;:::-;2305:4272;;6413:27;2305:4272;6413:27;2305:4272;;6344:59;;;;;:::i;:::-;2305:4272;;6344:59;;;;6234:17;2305:4272;;;;;;;;;;;;;;;;;;;;;2575:18:9;2305:4272:66;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;2575:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;2305:4272:66;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;2876:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;2305:4272:66;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;3653:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;2305:4272:66;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;3162:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;3305:39:66;;;;2305:4272;;;2030:14:2;3305:39:66;;;;;;2305:4272;3305:39;;2305:4272;4698:4;2305:4272;;;;;;;;;;;;;;;;;;;;;3305:39;;;;336:42:2;3305:39:66;;;;;;;;2305:4272;;;3359:31;2030:14:2;2305:4272:66;;3384:4;2305:4272;;3359:31;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;3413:31;2305:4272;3435:7;2305:4272;;;;;;3413:31;;;;;2030:14:2;3413:31:66;;2305:4272;3413:31;;2305:4272;3413:31;;;;;;3454:58;3413:31;;;;;2305:4272;2030:14:2;2305:4272:66;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;3454:58;:::i;3413:31::-;;;;;;;;;;;;;:::i;:::-;;;;;3305:39;;;;;:::i;:::-;2305:4272;;3305:39;;;;2305:4272;;;;;;;;;;;;;;4573:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;2305:4272;;4617:14;;;;;;;;4573:17;4617:14;;;;;;;;;;;;;;;;;;;;;;336:42:2;4684:39:66;;;;2305:4272;;2030:14:2;4684:39:66;;;;;;2305:4272;4684:39;;2305:4272;4698:4;2305:4272;;;;;;;;;;;;;;;;;;;;;4684:39;;;;336:42:2;4684:39:66;;;;;;;;;;;2305:4272;;;4738:31;2030:14:2;2305:4272:66;;4763:4;2305:4272;;4738:31;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;4793:31;2305:4272;4815:7;2305:4272;;;;;;4793:31;;;;;2030:14:2;4793:31:66;;2305:4272;4793:31;;2305:4272;4793:31;;;;;;4834:69;4793:31;;;;;2305:4272;2030:14:2;2305:4272:66;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;4834:69;:::i;:::-;336:42:2;4914:39:66;;;;2305:4272;;2030:14:2;4914:39:66;;;;;;2305:4272;4914:39;;2305:4272;4698:4;2305:4272;;;;;;;;;;;;;;;;;;;;;4914:39;;;;336:42:2;4914:39:66;;;;;;;;;;;2305:4272;;;4793:31;2305:4272;;4738:31;2030:14:2;2305:4272:66;;4763:4;2305:4272;;4968:31;2305:4272;;;;5023:33;;;;;2030:14:2;5023:33:66;;2305:4272;;5023:33;;2305:4272;;5023:33;;;;;;5066:70;5023:33;;;;;2305:4272;2030:14:2;2305:4272:66;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;5066:70;:::i;5023:33::-;;;;;;;;;;;;;:::i;:::-;;;;;4914:39;;;;;:::i;:::-;2305:4272;;4914:39;;;;4793:31;;;;;;;;;;;;;:::i;:::-;;;;;4684:39;;;;;:::i;:::-;2305:4272;;4684:39;;;;2305:4272;;;;;;;;;;;;336:42:2;3146:59:66;;;;2305:4272;;;2030:14:2;3146:59:66;;3162:42;2305:4272;3146:59;;2305:4272;3146:59;;;;;336:42:2;3146:59:66;;;;;;;;2305:4272;;;3215:7;2305:4272;;;;3215:14;;;;;2305:4272;;;;;;3215:14;;;;2030::2;3215::66;;;;;;;;;;2305:4272;;3146:59;;;;;:::i;:::-;2305:4272;;3146:59;;;;2305:4272;;;;;;;;;;;;3346:26:9;2305:4272:66;;;;:::i;:::-;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;3346:26:9;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2030:14:2;;;:::i;:::-;2305:4272:66;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;2305:4272:66;;;;;;;3501:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;2305:4272:66;;;;;;;3794:16:9;2305:4272:66;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;2305:4272:66;;;;:::i;:::-;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;3948:19:9;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;2305:4272:66;;;;;;;3018:16:9;2305:4272:66;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2832:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;2305:4272;;2822:27;2305:4272;;;;;;;;2822:27;2305:4272;;;2866:14;;;;;;;;2832:17;2866:14;;;;;;;;;;;;;;;;;;;2305:4272;;;2859:21;2305:4272;;;2859:21;2305:4272;;;;;;;;;;;;;;;;3991:29;;;;;;;;;;;;;;;;;;;;2305:4272;3991:29;;;;;336:42:2;4068:59:66;;;;2305:4272;;2030:14:2;4068:59:66;;4084:42;2305:4272;4068:59;;2305:4272;;4068:59;;;;336:42:2;4068:59:66;;;;;;;;2305:4272;;;;4137:30;;;;;2305:4272;;;2030:14:2;4137:30:66;;;;2305:4272;4137:30;;;;;;;;;;;2305:4272;2030:14:2;;4357:59:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;2030:14:2;4262:84:66;;;4285:37;4262:84;;4068:59;4262:84;;2305:4272;4068:59;4262:84;;;;;;:::i;:::-;4243:104;;;;2030:14:2;;;;;;;;:::i;:::-;2305:4272:66;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;;;;;;;;;;2305:4272:66;;2030:14:2;;;;;:::i;:::-;;;;;;;;;;2305:4272:66;2030:14:2;;;4357:59:66;:::i;2030:14:2:-;;;4137:30:66;;;;;;:::i;:::-;2305:4272;;4137:30;;;4068:59;;;;;2305:4272;4068:59;;:::i;:::-;2305:4272;;;4068:59;;;2305:4272;;;;;;;;;4068:59;2305:4272;;;3991:29;2305:4272;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2030:14:2;2305:4272:66;2030:14:2;;;;;;;;;;;2305:4272:66;2030:14:2;:::o;:::-;;2305:4272:66;;2030:14:2;2305:4272:66;;2030:14:2;;;;;;;;;;;;;:::o;:::-;;;;;;2305:4272:66;;;;2030:14:2;;;:::o;2305:4272:66:-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;2305:4272:66;;;;;-1:-1:-1;2305:4272:66;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;-1:-1:-1;2305:4272:66;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;;;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;;;2305:4272:66;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;2305:4272:66;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;:::o;1306:195:4:-;1365:7;2305:4272:66;;;;;;1395:4:4;1388:11;:::o;1361:134::-;2305:4272:66;;2030:14:2;1437:33:4;;2305:4272:66;1437:33:4;;;2305:4272:66;192:59:4;1255:17;;;;;1437:33;;;2305:4272:66;1437:33:4;;;;;;;2305:4272:66;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;1255:17;1437:33;;;:::i;:::-;;;1255:17;;;;;1437:33;;;;;;-1:-1:-1;1437:33:4;;1894:148;1980:5;1976:60;;;1894:148;;:::o;1976:60::-;2305:4272:66;2001:24:4;;;;2305:4272:66;;-1:-1:-1;2305:4272:66;;;2001:24:4;;;;;2030:14:2;2001:24:4;;2305:4272:66;2001:24:4;;;2305:4272:66;;;;;;;;;;;:::i;:::-;2001:24:4;;2305:4272:66;2001:24:4;;;;;;;;1894:148;:::o;2001:24::-;-1:-1:-1;2001:24:4;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testOnlyDelegatecallInternalFunction()":"b786767b","testSelfImmutableVariable()":"ba755529","test_delegatecall_context_succeeds()":"8445e79f","test_delegatecall_nested_context()":"d617152b","test_direct_call_reverts_NotDelegateCall()":"7a12a470","test_multiple_delegatecall_guards()":"7cb7b5b5","test_onlyDelegatecall_modifier_usage()":"08a9ea27","test_self_address_immutable()":"eff34a17"}}},"MockGuarded":{"abi":[{"type":"function","name":"guardedFunction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ping","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Ping","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"NotDelegateCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Ping\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"guardedFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ping\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Minimal contract using DelegatecallGuard\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockGuarded\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60a080604052346021573060805261016a908161002682396080518160e40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635c36b1861461006b5763d35ec4201461002f575f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100656100cd565b005b5f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100a16100cd565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a1005b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301461010c57565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212203ae5728baaef18dacb923881e9025972d6dbb6f8719559d85f5dbff74fe053bd64736f6c634300081e0033","sourceMap":"399:287:66:-:0;;;;;;;784:4:57;776:13;;399:287:66;;;;;;776:13:57;399:287:66;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c80635c36b1861461006b5763d35ec4201461002f575f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100656100cd565b005b5f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100a16100cd565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a1005b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301461010c57565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212203ae5728baaef18dacb923881e9025972d6dbb6f8719559d85f5dbff74fe053bd64736f6c634300081e0033","sourceMap":"399:287:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:75:57;;:::i;:::-;399:287:66;;;;;;;;;;;;;;;;1057:75:57;;:::i;:::-;537:16:66;399:287;;;542:10;399:287;;537:16;399:287;1386:112:57;399:287:66;1460:5:57;399:287:66;1451:4:57;1443:22;1439:52;;1386:112::o;1439:52::-;1474:17;;;;;","linkReferences":{},"immutableReferences":{"51119":[{"start":228,"length":32}]}},"methodIdentifiers":{"guardedFunction()":"d35ec420","ping()":"5c36b186"}}},"MockGuardedModifierTest":{"abi":[{"type":"function","name":"guardedFunction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ModifierTest","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"NotDelegateCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ModifierTest\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"guardedFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract that tests the onlyDelegatecall modifier\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockGuardedModifierTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60a0806040523460215730608052610117908161002682396080518160660152f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c63d35ec420146023575f80fd5b3460dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260dd5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301460b55760207f92c92f88c68fad537bf0d0ade54b81ea40eff183b4669adc1dde382843528a8291338152a1005b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea264697066735822122093902daa4a7192805599432e9259ea96623a01b9007364f0e00f74e6b5648c2664736f6c634300081e0033","sourceMap":"1211:202:66:-:0;;;;;;;784:4:57;776:13;;1211:202:66;;;;;;776:13:57;1211:202:66;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156011575f80fd5b5f3560e01c63d35ec420146023575f80fd5b3460dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260dd5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301460b55760207f92c92f88c68fad537bf0d0ade54b81ea40eff183b4669adc1dde382843528a8291338152a1005b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea264697066735822122093902daa4a7192805599432e9259ea96623a01b9007364f0e00f74e6b5648c2664736f6c634300081e0033","sourceMap":"1211:202:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1460:5:57;1211:202:66;1451:4:57;1443:22;1439:52;;1211:202:66;1380:24;1393:10;;1211:202;;1380:24;1211:202;1439:52:57;1474:17;1211:202:66;1474:17:57;1211:202:66;;1474:17:57;1211:202:66;;;","linkReferences":{},"immutableReferences":{"51119":[{"start":102,"length":32}]}},"methodIdentifiers":{"guardedFunction()":"d35ec420"}}},"MockHost":{"abi":[{"type":"function","name":"callGuardedFunction","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"ok","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"callPing","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"ok","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"callGuardedFunction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ok\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"callPing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ok\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Host that can delegatecall into a target\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockHost\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346015576102c0908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816369583088146100e2575063e8d1bd0a14610032575f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de5760043573ffffffffffffffffffffffffffffffffffffffff811681036100de575f809160405160208101907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b51915af46100ca61022d565b906100da6040519283928361016d565b0390f35b5f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de576004359073ffffffffffffffffffffffffffffffffffffffff821682036100de575f91816020849301907fd35ec420000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093151585526040828601528051918291826040880152018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761020057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610285573d9067ffffffffffffffff8211610200576040519161027a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846101bf565b82523d5f602084013e565b60609056fea26469706673582212207a1d3e24d2c760615416d9a38d707e1084fe8ae0a0ce1d06e2997a2e761093ba64736f6c634300081e0033","sourceMap":"738:412:66:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816369583088146100e2575063e8d1bd0a14610032575f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de5760043573ffffffffffffffffffffffffffffffffffffffff811681036100de575f809160405160208101907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b51915af46100ca61022d565b906100da6040519283928361016d565b0390f35b5f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de576004359073ffffffffffffffffffffffffffffffffffffffff821682036100de575f91816020849301907fd35ec420000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093151585526040828601528051918291826040880152018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761020057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610285573d9067ffffffffffffffff8211610200576040519161027a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846101bf565b82523d5f602084013e565b60609056fea26469706673582212207a1d3e24d2c760615416d9a38d707e1084fe8ae0a0ce1d06e2997a2e761093ba64736f6c634300081e0033","sourceMap":"738:412:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;878:49;;;901:25;878:49;;738:412;878:49;;;;;;:::i;:::-;858:70;;;;;;:::i;:::-;738:412;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1068:72;;738:412;1068:72;;;;1091:48;1068:72;;738:412;1068:72;;;;;;:::i;738:412::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;738:412:66;;;;;-1:-1:-1;738:412:66;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;738:412:66;;;;:::o;:::-;;;:::o","linkReferences":{}},"methodIdentifiers":{"callGuardedFunction(address)":"69583088","callPing(address)":"e8d1bd0a"}}},"MockNestedGuarded":{"abi":[{"type":"function","name":"callOther","inputs":[{"name":"other","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ping","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Ping","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"NotDelegateCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Ping\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"other\",\"type\":\"address\"}],\"name\":\"callOther\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ping\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract that tests the nested delegatecall context\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockNestedGuarded\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60a0806040523460225730608052610224908161002782396080518161019e0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c806338e6876a1461009657635c36b18614610030575f80fd5b3461009357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009357610066610187565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a180f35b80fd5b50346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043573ffffffffffffffffffffffffffffffffffffffff8116809103610183576100ef610187565b803b15610183575f80916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af1801561017857610135575080f35b905067ffffffffffffffff811161014b57604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630146101c657565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212204edfba9cc5572eda4370e6b05e1522ff46d012c7cf13c804fb44abff5df9637264736f6c634300081e0033","sourceMap":"1476:277:66:-:0;;;;;;;784:4:57;776:13;;1476:277:66;;;;;;776:13:57;1476:277:66;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f5f3560e01c806338e6876a1461009657635c36b18614610030575f80fd5b3461009357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009357610066610187565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a180f35b80fd5b50346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043573ffffffffffffffffffffffffffffffffffffffff8116809103610183576100ef610187565b803b15610183575f80916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af1801561017857610135575080f35b905067ffffffffffffffff811161014b57604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630146101c657565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212204edfba9cc5572eda4370e6b05e1522ff46d012c7cf13c804fb44abff5df9637264736f6c634300081e0033","sourceMap":"1476:277:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:75:57;;:::i;:::-;1620:16:66;1476:277;;;1625:10;1476:277;;1620:16;1476:277;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:75:57;;:::i;:::-;1719:25:66;;;;;1476:277;;;;;;1719:25;;;;1476:277;1719:25;;;;;;;;;;1476:277;;;1719:25;1476:277;;;;;;;;;;;;;;;;;;;;1719:25;1476:277;;;;;;;;;1719:25;1476:277;;;1386:112:57;1476:277:66;1460:5:57;1476:277:66;1451:4:57;1443:22;1439:52;;1386:112::o;1439:52::-;1474:17;;;;;","linkReferences":{},"immutableReferences":{"51119":[{"start":414,"length":32}]}},"methodIdentifiers":{"callOther(address)":"38e6876a","ping()":"5c36b186"}}},"MockNestedHost":{"abi":[{"type":"function","name":"callNestedPing","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"ok","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"callNestedPing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ok\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Host that can delegatecall into a target\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockNestedHost\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234601557610214908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63c06d936d14610025575f80fd5b346101995760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610199576004359073ffffffffffffffffffffffffffffffffffffffff82168203610199575f91816020849301907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100b060248261019d565b51915af43d15610190573d9067ffffffffffffffff8211610163576060906040519261010460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018561019d565b83523d5f602085013e5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020604051958694151585526040828601528051918291826040880152018686015e5f85828601015201168101030190f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060809161010e565b5f80fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101635760405256fea264697066735822122005ed76b9c4137267389d7214b641e6f01b5406c3fc2dc2385c5b8d15d0e5f12764736f6c634300081e0033","sourceMap":"1805:318:66:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c63c06d936d14610025575f80fd5b346101995760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610199576004359073ffffffffffffffffffffffffffffffffffffffff82168203610199575f91816020849301907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100b060248261019d565b51915af43d15610190573d9067ffffffffffffffff8211610163576060906040519261010460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018561019d565b83523d5f602085013e5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020604051958694151585526040828601528051918291826040880152018686015e5f85828601015201168101030190f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060809161010e565b5f80fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101635760405256fea264697066735822122005ed76b9c4137267389d7214b641e6f01b5406c3fc2dc2385c5b8d15d0e5f12764736f6c634300081e0033","sourceMap":"1805:318:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2058:55;;1805:318;2058:55;;;;2081:31;2058:55;;1805:318;2058:55;;;;;;:::i;:::-;2038:76;;;;1805:318;;;;;;;;;;;;;;;;;;2058:55;1805:318;;;;;;;:::i;:::-;;;;;;;;;;2058:55;1805:318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2058:55;1805:318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"callNestedPing(address)":"c06d936d"}}}},"test/libraries/TrailsSentinelLib.t.sol":{"TrailsSentinelLibTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_Constants_DoNotChange","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SentinelNamespace_Computation","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SentinelNamespace_Constant","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_AssemblyCorrectness","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_Computation","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_Deterministic","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_DifferentOpHashes","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_MaxOpHash","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_UsesCorrectNamespace","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_VariousOpHashes","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_ZeroOpHash","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessValue_Constant","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessValue_IsOne","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Constants_DoNotChange\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SentinelNamespace_Computation\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SentinelNamespace_Constant\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_AssemblyCorrectness\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_Computation\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_Deterministic\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_DifferentOpHashes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_MaxOpHash\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_UsesCorrectNamespace\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_VariousOpHashes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_ZeroOpHash\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessValue_Constant\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessValue_IsOne\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/libraries/TrailsSentinelLib.t.sol\":\"TrailsSentinelLibTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/libraries/TrailsSentinelLib.t.sol\":{\"keccak256\":\"0xeebe67a974f2619cf9d42905aa75b4bf5ea44b96131b0cbfacc94d692545ca78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://054e7967e47fec7a5772693d062648248e43edd1fe07ff6a65a5614eddeee1c7\",\"dweb:/ipfs/QmSbDFkjydm1hzy451jg6g84zjwXBywSgWTZ4rF8hgkhCf\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f556120eb90816100348239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063164459b3146101955780631d89301f146101905780631ed7831c1461018b5780632ade3880146101865780633517e09c1461018157806339ec829a1461017c5780633e5e3c23146101775780633f7286f4146101725780634b3ce4b11461016d57806362e0bb511461013657806366d9a9a0146101685780637bb3227b14610163578063842374491461013657806385226c811461015e578063916a17c614610159578063ac67dd2714610154578063b0464fdc1461014f578063b5508aa91461014a578063ba414fa614610145578063d12f554714610136578063e03e2e4914610140578063e20c9f711461013b578063e8b7545314610136578063fa35c5cf146101315763fa7626d41461012c575f80fd5b611784565b611686565b610c00565b6115de565b61149b565b611459565b6113b0565b6112da565b611217565b611141565b610ff4565b610de9565b610d22565b610b21565b610a79565b6109d1565b6108d3565b6107f5565b61071f565b610510565b6103c3565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576101cb61186b565b7f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c6101f5826118d8565b527f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd103610220826118ea565b526040517f636f6d706c65780000000000000000000000000000000000000000000000000060208201908152607b60278301526d012300000000000000000000000060478301529061029d81605b81015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611812565b5190206102a9826118fa565b5260405160208101906102dc816102718460349063499602d281526d012300000000000000000000000060208201520190565b5190206102e88261190a565b52670123456789abcdef6102fb8261191a565b5261030461186b565b905f5b815181101561035f578061034e6103206001938561192a565b517f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b610358828661192a565b5201610307565b825f5b81518110156103bd576103748161193e565b82518110156103b45791600180936103ab61038f858561192a565b5161039a838661192a565b5114156103a5611979565b90611fa5565b01909250610374565b50600101610362565b005b5f80fd5b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f1cdce19456de24d02b98e3fdcf912be874a55d99273cc83e9279f237f08e3dbe6020526040516103bd907f3c3fbb410133fa4d98ca71d05836ed722d170618762bad48b95f7e00d876db6d8061046c606084611812565b602b83527f53616d65206f70486173682073686f756c6420616c776179732070726f64756360208401527f652073616d6520736c6f740000000000000000000000000000000000000000006040840152612042565b60206040818301928281528451809452019201905f5b8181106104e45750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016104d7565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b81811061059c576105988561058c81870382611812565b604051918291826104c1565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610575565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b82821061063d57505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b8281106106d65750505050506020806001929601920192019092919593949561062e565b9091929394602080610712837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0876001960301895289516105c8565b97019501939291016106b2565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601e5461075981611853565b906107676040519283611812565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106107ab5760405180610598878261060b565b600260206001926040516107be816117f1565b73ffffffffffffffffffffffffffffffffffffffff86541681526107e3858701611ab4565b83820152815201920192019190610796565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f9bf2e3460a05ef93fa9a9fc761aece816d1ce5b763c93d6103711b2702685abb6020526040516103bd90600161087e606083611812565b603182527f446966666572656e74206f704861736865732073686f756c642070726f64756360208301527f6520646966666572656e7420736c6f74730000000000000000000000000000006040830152611fa5565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6020526040516103bd907f28558a6497a11f1c22f9e573c4f39e19660cb659670a636a30670215569de03a8061097c606084611812565b602483527f4d6178206f70486173682073686f756c642070726f647563652076616c69642060208401527f736c6f74000000000000000000000000000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610a4d576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610a36565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b818110610af5576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ade565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f9081526020526040516103bd907f8c482a5ad7a80c50455462b3e40e5897d37c766668921d4567acbeeed989fdce80610bab606084611812565b602583527f5a65726f206f70486173682073686f756c642070726f647563652076616c696460208401527f20736c6f740000000000000000000000000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57005b90602080835192838152019201905f5b818110610c4d5750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610c40565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610cb757505050505090565b9091929394602080610d13837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289519083610d0383516040845260408401906105c8565b9201519084818403910152610c30565b97019301930191939290610ca8565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601b54610d5c81611853565b90610d6a6040519283611812565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b838310610dae57604051806105988782610c85565b60026020600192604051610dc1816117f1565b610dca866119b4565b8152610dd7858701611b09565b83820152815201920192019190610d99565b346103bf575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405160208101907f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e282527f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658604082015260408152610e78606082611812565b5190207f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb6586020527f8bc4560a80f52e027bfb8305f87a4f3e9ac19a53014e75884aa4a9eaa79b843f90808203610eef578280f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf57604051917f98296c54000000000000000000000000000000000000000000000000000000008352600483015260248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610f7257610f6657808280f35b6103bd91505f90611812565b611ec0565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610fa957505050505090565b9091929394602080610fe5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516105c8565b97019301930191939290610f9a565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601a5461102e81611853565b9061103c6040519283611812565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061108057604051806105988782610f77565b60016020819261108f856119b4565b81520192019201919061106b565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106110cf57505050505090565b9091929394602080611132837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610c30565b970193019301919392906110c0565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601d5461117b81611853565b906111896040519283611812565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106111cd5760405180610598878261109d565b600260206001926040516111e0816117f1565b73ffffffffffffffffffffffffffffffffffffffff8654168152611205858701611b09565b838201528152019201920191906111b8565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f535543434553535f56414c55452073686f756c642062652031000000000000006020604051611276604082611812565b6019815201527f65787065637465642076616c7565000000000000000000000000000000000000604080516112ac606082611812565b602e81527f53454e54494e454c5f4e414d4553504143452073686f756c64206d617463682060208201520152005b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601c5461131481611853565b906113226040519283611812565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106113665760405180610598878261109d565b60026020600192604051611379816117f1565b73ffffffffffffffffffffffffffffffffffffffff865416815261139e858701611b09565b83820152815201920192019190611351565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576019546113ea81611853565b906113f86040519283611812565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061143c57604051806105988782610f77565b60016020819261144b856119b4565b815201920192019190611427565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576020611491611ecb565b6040519015158152f35b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fe24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d86020526103bd60405f2060405160208101907f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e282527fe24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d8604082015260408152611577606082611812565b51902060405191611589606084611812565b603983527f417373656d626c792073686f756c64206d6174636820536f6c6964697479206b60208401527f656363616b323536286162692e656e636f6465282e2e2e2929000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b81811061165a576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611643565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fa320a816c8d42d84af520a292270c2e7a5b618f471a2d9e4a8d944dd7269a32d6020526040516103bd907f04fd39a599b345dbca5f46dcc9bd6edba4983aea9ffad23913be839be421fc2e8061172f606084611812565b603083527f536c6f7420636f6d7075746174696f6e2073686f756c64206d61746368206d6160208401527f6e75616c2063616c63756c6174696f6e000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761180d57604052565b6117c4565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761180d57604052565b67ffffffffffffffff811161180d5760051b60200190565b60405160c0919061187c8382611812565b60058152917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001366020840137565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156118e55760200190565b6118ab565b8051600110156118e55760400190565b8051600210156118e55760600190565b8051600310156118e55760800190565b8051600410156118e55760a00190565b80518210156118e55760209160051b010190565b906001820180921161194c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60405190611988604083611812565b601a82527f416c6c20736c6f74732073686f756c6420626520756e697175650000000000006020830152565b90604051915f8154908160011c9260018316908115611aaa575b602085108214611a7d5784875286936020850192908115611a415750600114611a02575b5050611a0092500383611812565b565b611a119192505f5260205f2090565b905f915b848310611a2a5750611a009350015f806119f2565b805482840152869350602090920191600101611a15565b9050611a00959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f806119f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936119ce565b908154611ac081611853565b92611ace6040519485611812565b81845260208401905f5260205f205f915b838310611aec5750505050565b600160208192611afb856119b4565b815201920192019190611adf565b60405181548082529092918390611b2760208301915f5260205f2090565b925f905b806007830110611d3357611a00945491818110611cf7575b818110611cc0575b818110611c89575b818110611c52575b818110611c1b575b818110611be4575b818110611bae575b10611b81575b500383611812565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611b79565b602083811b7fffffffff000000000000000000000000000000000000000000000000000000001685529093600191019301611b73565b604083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b6b565b606083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b63565b608083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b5b565b60a083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b53565b60c083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b4b565b92602081611d2b6001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b019301611b43565b916008919350610100600191611ea38754611d72838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b019401920185929391611b2b565b908160209103126103bf575190565b6040513d5f823e3d90fd5b60085460ff1615611edb57600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610f72575f91611f76575b50151590565b611f98915060203d602011611f9e575b611f908183611812565b810190611eb1565b5f611f70565b503d611f86565b1580611faf575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf57612012915f9160405193849283927fa34edc030000000000000000000000000000000000000000000000000000000084521560048401526040602484015260448301906105c8565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610f72576120385750565b5f611a0091611812565b9080820361204f57505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf575f9161201260405194859384937f88b44c85000000000000000000000000000000000000000000000000000000008552600485015260248401526060604484015260648301906105c856fea26469706673582212203cb6db1b44ce4c6459205b2a2c6aa7b731d09e3c83618482108796e37f157dda64736f6c634300081e0033","sourceMap":"350:6119:67:-:0;;;;;;;3200:4:5;350:6119:67;;3200:4:5;350:6119:67;;;3200:4:5;350:6119:67;3200:4:5;350:6119:67;;1087:4:16;350:6119:67;;;1087:4:16;350:6119:67;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c8063164459b3146101955780631d89301f146101905780631ed7831c1461018b5780632ade3880146101865780633517e09c1461018157806339ec829a1461017c5780633e5e3c23146101775780633f7286f4146101725780634b3ce4b11461016d57806362e0bb511461013657806366d9a9a0146101685780637bb3227b14610163578063842374491461013657806385226c811461015e578063916a17c614610159578063ac67dd2714610154578063b0464fdc1461014f578063b5508aa91461014a578063ba414fa614610145578063d12f554714610136578063e03e2e4914610140578063e20c9f711461013b578063e8b7545314610136578063fa35c5cf146101315763fa7626d41461012c575f80fd5b611784565b611686565b610c00565b6115de565b61149b565b611459565b6113b0565b6112da565b611217565b611141565b610ff4565b610de9565b610d22565b610b21565b610a79565b6109d1565b6108d3565b6107f5565b61071f565b610510565b6103c3565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576101cb61186b565b7f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c6101f5826118d8565b527f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd103610220826118ea565b526040517f636f6d706c65780000000000000000000000000000000000000000000000000060208201908152607b60278301526d012300000000000000000000000060478301529061029d81605b81015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611812565b5190206102a9826118fa565b5260405160208101906102dc816102718460349063499602d281526d012300000000000000000000000060208201520190565b5190206102e88261190a565b52670123456789abcdef6102fb8261191a565b5261030461186b565b905f5b815181101561035f578061034e6103206001938561192a565b517f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b610358828661192a565b5201610307565b825f5b81518110156103bd576103748161193e565b82518110156103b45791600180936103ab61038f858561192a565b5161039a838661192a565b5114156103a5611979565b90611fa5565b01909250610374565b50600101610362565b005b5f80fd5b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f1cdce19456de24d02b98e3fdcf912be874a55d99273cc83e9279f237f08e3dbe6020526040516103bd907f3c3fbb410133fa4d98ca71d05836ed722d170618762bad48b95f7e00d876db6d8061046c606084611812565b602b83527f53616d65206f70486173682073686f756c6420616c776179732070726f64756360208401527f652073616d6520736c6f740000000000000000000000000000000000000000006040840152612042565b60206040818301928281528451809452019201905f5b8181106104e45750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016104d7565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b81811061059c576105988561058c81870382611812565b604051918291826104c1565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610575565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b82821061063d57505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b8281106106d65750505050506020806001929601920192019092919593949561062e565b9091929394602080610712837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0876001960301895289516105c8565b97019501939291016106b2565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601e5461075981611853565b906107676040519283611812565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106107ab5760405180610598878261060b565b600260206001926040516107be816117f1565b73ffffffffffffffffffffffffffffffffffffffff86541681526107e3858701611ab4565b83820152815201920192019190610796565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f9bf2e3460a05ef93fa9a9fc761aece816d1ce5b763c93d6103711b2702685abb6020526040516103bd90600161087e606083611812565b603182527f446966666572656e74206f704861736865732073686f756c642070726f64756360208301527f6520646966666572656e7420736c6f74730000000000000000000000000000006040830152611fa5565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6020526040516103bd907f28558a6497a11f1c22f9e573c4f39e19660cb659670a636a30670215569de03a8061097c606084611812565b602483527f4d6178206f70486173682073686f756c642070726f647563652076616c69642060208401527f736c6f74000000000000000000000000000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610a4d576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610a36565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b818110610af5576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ade565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f9081526020526040516103bd907f8c482a5ad7a80c50455462b3e40e5897d37c766668921d4567acbeeed989fdce80610bab606084611812565b602583527f5a65726f206f70486173682073686f756c642070726f647563652076616c696460208401527f20736c6f740000000000000000000000000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57005b90602080835192838152019201905f5b818110610c4d5750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610c40565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610cb757505050505090565b9091929394602080610d13837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289519083610d0383516040845260408401906105c8565b9201519084818403910152610c30565b97019301930191939290610ca8565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601b54610d5c81611853565b90610d6a6040519283611812565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b838310610dae57604051806105988782610c85565b60026020600192604051610dc1816117f1565b610dca866119b4565b8152610dd7858701611b09565b83820152815201920192019190610d99565b346103bf575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405160208101907f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e282527f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658604082015260408152610e78606082611812565b5190207f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb6586020527f8bc4560a80f52e027bfb8305f87a4f3e9ac19a53014e75884aa4a9eaa79b843f90808203610eef578280f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf57604051917f98296c54000000000000000000000000000000000000000000000000000000008352600483015260248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610f7257610f6657808280f35b6103bd91505f90611812565b611ec0565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610fa957505050505090565b9091929394602080610fe5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516105c8565b97019301930191939290610f9a565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601a5461102e81611853565b9061103c6040519283611812565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061108057604051806105988782610f77565b60016020819261108f856119b4565b81520192019201919061106b565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106110cf57505050505090565b9091929394602080611132837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610c30565b970193019301919392906110c0565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601d5461117b81611853565b906111896040519283611812565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106111cd5760405180610598878261109d565b600260206001926040516111e0816117f1565b73ffffffffffffffffffffffffffffffffffffffff8654168152611205858701611b09565b838201528152019201920191906111b8565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f535543434553535f56414c55452073686f756c642062652031000000000000006020604051611276604082611812565b6019815201527f65787065637465642076616c7565000000000000000000000000000000000000604080516112ac606082611812565b602e81527f53454e54494e454c5f4e414d4553504143452073686f756c64206d617463682060208201520152005b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601c5461131481611853565b906113226040519283611812565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106113665760405180610598878261109d565b60026020600192604051611379816117f1565b73ffffffffffffffffffffffffffffffffffffffff865416815261139e858701611b09565b83820152815201920192019190611351565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576019546113ea81611853565b906113f86040519283611812565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061143c57604051806105988782610f77565b60016020819261144b856119b4565b815201920192019190611427565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576020611491611ecb565b6040519015158152f35b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fe24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d86020526103bd60405f2060405160208101907f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e282527fe24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d8604082015260408152611577606082611812565b51902060405191611589606084611812565b603983527f417373656d626c792073686f756c64206d6174636820536f6c6964697479206b60208401527f656363616b323536286162692e656e636f6465282e2e2e2929000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b81811061165a576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611643565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fa320a816c8d42d84af520a292270c2e7a5b618f471a2d9e4a8d944dd7269a32d6020526040516103bd907f04fd39a599b345dbca5f46dcc9bd6edba4983aea9ffad23913be839be421fc2e8061172f606084611812565b603083527f536c6f7420636f6d7075746174696f6e2073686f756c64206d61746368206d6160208401527f6e75616c2063616c63756c6174696f6e000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761180d57604052565b6117c4565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761180d57604052565b67ffffffffffffffff811161180d5760051b60200190565b60405160c0919061187c8382611812565b60058152917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001366020840137565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156118e55760200190565b6118ab565b8051600110156118e55760400190565b8051600210156118e55760600190565b8051600310156118e55760800190565b8051600410156118e55760a00190565b80518210156118e55760209160051b010190565b906001820180921161194c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60405190611988604083611812565b601a82527f416c6c20736c6f74732073686f756c6420626520756e697175650000000000006020830152565b90604051915f8154908160011c9260018316908115611aaa575b602085108214611a7d5784875286936020850192908115611a415750600114611a02575b5050611a0092500383611812565b565b611a119192505f5260205f2090565b905f915b848310611a2a5750611a009350015f806119f2565b805482840152869350602090920191600101611a15565b9050611a00959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f806119f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936119ce565b908154611ac081611853565b92611ace6040519485611812565b81845260208401905f5260205f205f915b838310611aec5750505050565b600160208192611afb856119b4565b815201920192019190611adf565b60405181548082529092918390611b2760208301915f5260205f2090565b925f905b806007830110611d3357611a00945491818110611cf7575b818110611cc0575b818110611c89575b818110611c52575b818110611c1b575b818110611be4575b818110611bae575b10611b81575b500383611812565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611b79565b602083811b7fffffffff000000000000000000000000000000000000000000000000000000001685529093600191019301611b73565b604083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b6b565b606083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b63565b608083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b5b565b60a083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b53565b60c083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b4b565b92602081611d2b6001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b019301611b43565b916008919350610100600191611ea38754611d72838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b019401920185929391611b2b565b908160209103126103bf575190565b6040513d5f823e3d90fd5b60085460ff1615611edb57600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610f72575f91611f76575b50151590565b611f98915060203d602011611f9e575b611f908183611812565b810190611eb1565b5f611f70565b503d611f86565b1580611faf575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf57612012915f9160405193849283927fa34edc030000000000000000000000000000000000000000000000000000000084521560048401526040602484015260448301906105c8565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610f72576120385750565b5f611a0091611812565b9080820361204f57505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf575f9161201260405194859384937f88b44c85000000000000000000000000000000000000000000000000000000008552600485015260248401526060604484015260648301906105c856fea26469706673582212203cb6db1b44ce4c6459205b2a2c6aa7b731d09e3c83618482108796e37f157dda64736f6c634300081e0033","sourceMap":"350:6119:67:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;3428:16;;:::i;:::-;3468;3454:30;;;:::i;:::-;350:6119;3508:16;3494:30;;;:::i;:::-;350:6119;;;;3558:57;;;350:6119;;;3594:3;350:6119;;;;;;;;;3558:57;;350:6119;;;;3558:57;;;;;;;;;:::i;:::-;350:6119;3548:68;;3534:82;;;:::i;:::-;350:6119;;;3558:57;3650:53;;;;;;;350:6119;;3675:10;350:6119;;;;;;;;;;3650:53;350:6119;3640:64;;3626:78;;;:::i;:::-;350:6119;3744:17;3714:49;;;:::i;:::-;350:6119;3799:16;;:::i;:::-;3830:13;350:6119;3866:3;350:6119;;3845:19;;;;;3926:11;3896:42;3926:11;3503:1;3926:11;;;:::i;:::-;350:6119;479:48:62;983:133;;;;;;;780:342;;3896:42:67;3885:53;;;;:::i;:::-;350:6119;;3830:13;;3845:19;;350:6119;4038:3;350:6119;;4020:16;;;;;4074:5;;;:::i;:::-;350:6119;;4081:16;;;;;4133:8;3503:1;4133:8;;4122:62;4133:8;;;;:::i;:::-;350:6119;4145:8;;;;:::i;:::-;350:6119;4133:20;;350:6119;;:::i;:::-;4122:62;;:::i;:::-;350:6119;4062:17;;;;;4081:16;;3503:1;350:6119;4005:13;;4020:16;350:6119;;;;;;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;1381:27:67;983:133:62;;;350:6119:67;1545:69;;983:133:62;;350:6119:67;;;;:::i;:::-;;;;;983:133:62;350:6119:67;;;;983:133:62;350:6119:67;;;1545:69;:::i;350:6119::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;350:6119:67;;;;;;;3018:16:9;350:6119:67;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;3948:19:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3948:19:9;350:6119:67;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;1045:23:67;983:133:62;;;350:6119:67;1208:79;;1219:14;350:6119;;;;:::i;:::-;;;;;983:133:62;350:6119:67;;;;983:133:62;350:6119:67;;;1208:79;:::i;350:6119::-;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;2866:17:67;983:133:62;;;350:6119:67;3253:68;;983:133:62;;350:6119:67;;;;:::i;:::-;479:48:62;350:6119:67;;479:48:62;983:133;479:48;;;;983:133;479:48;;;3253:68:67;:::i;350:6119::-;;;;;;;;;;;;;;;3794:16:9;350:6119:67;;;;;;;3794:16:9;350:6119:67;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;350:6119:67;;;;;;;3501:18:9;350:6119:67;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;;;;;;350:6119:67;2699:69;;983:133:62;;350:6119:67;;;;:::i;:::-;;;;;983:133:62;350:6119:67;;;;983:133:62;350:6119:67;;;2699:69;:::i;350:6119::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3346:26:9;350:6119:67;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6211:56;;;350:6119;479:48:62;350:6119:67;;6098:17;350:6119;;;;;6211:56;;;;;;:::i;:::-;350:6119;6201:67;;479:48:62;350:6119:67;983:133:62;6098:17:67;6211:56;983:133:62;;;2747:13:4;;;2743:68;;350:6119:67;;;2743:68:4;350:6119:67;2776:24:4;;;;350:6119:67;;2776:24:4;350:6119:67;2776:24:4;;;;;350:6119:67;;;;;;2776:24:4;;;350:6119:67;2776:24:4;;;;;;;;2743:68;350:6119:67;;;2776:24:4;;;;350:6119:67;2776:24:4;;:::i;:::-;;:::i;350:6119:67:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;350:6119:67;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3653:18:9;350:6119:67;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2876:18:9;350:6119:67;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;2575:18:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;350:6119:67;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;4406:26:67;983:133:62;;4738:97:67;983:133:62;350:6119:67;983:133:62;;350:6119:67;983:133:62;4696:29:67;;350:6119;479:48:62;350:6119:67;;4406:26;983:133:62;350:6119:67;;;983:133:62;4696:29:67;;;;;;:::i;:::-;350:6119;4686:40;;350:6119;;;;;;;:::i;:::-;;;;;983:133:62;350:6119:67;;;;983:133:62;350:6119:67;;;4738:97;:::i;350:6119::-;;;;;;;;;;;;;;;2723:18:9;350:6119:67;;;;;;;2723:18:9;350:6119:67;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;479:48:62;350:6119:67;1874:138;1706:20;1874:138;;;350:6119;2143:86;;1874:138;;350:6119;;;;:::i;:::-;;;;;1874:138;350:6119;;;;1874:138;350:6119;;;2143:86;:::i;350:6119::-;;;;;;;;;;;;;1065:26:16;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;3442:1;350:6119;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;3503:1;350:6119;;;;;;;:::o;:::-;;;3543:1;350:6119;;;;;;;:::o;:::-;;;3635:1;350:6119;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;3503:1;350:6119;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;350:6119:67;;-1:-1:-1;350:6119:67;-1:-1:-1;350:6119:67;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1255:17:4;;;;;;;;;;;:::o;:::-;350:6119:67;;1255:17:4;;;;;;;1306:195;1365:7;350:6119:67;;;;;;1395:4:4;1388:11;:::o;1361:134::-;350:6119:67;;;1437:33:4;;;;;;;;192:59;1255:17;;;;350:6119:67;;;;1255:17:4;350:6119:67;1437:33:4;;350:6119:67;1437:33:4;;;;;;;479:48:62;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1894:148;1980:5;1976:60;;;1894:148;;:::o;1976:60::-;350:6119:67;2001:24:4;;;;350:6119:67;;-1:-1:-1;350:6119:67;;;2001:24:4;;;;;350:6119:67;2001:24:4;;350:6119:67;2001:24:4;;;350:6119:67;;;;;;;;;;;:::i;:::-;2001:24:4;;350:6119:67;2001:24:4;;;;;;;;1894:148;:::o;2001:24::-;-1:-1:-1;2001:24:4;;;:::i;2823:177::-;;2925:13;;;2921:73;;2823:177;;;:::o;2921:73::-;350:6119:67;2954:29:4;;;;-1:-1:-1;350:6119:67;;;;2954:29:4;;;;;350:6119:67;2954:29:4;;;;;350:6119:67;;;;;;;;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_Constants_DoNotChange()":"ac67dd27","test_SentinelNamespace_Computation()":"62e0bb51","test_SentinelNamespace_Constant()":"d12f5547","test_SuccessSlot_AssemblyCorrectness()":"e03e2e49","test_SuccessSlot_Computation()":"fa35c5cf","test_SuccessSlot_Deterministic()":"1d89301f","test_SuccessSlot_DifferentOpHashes()":"3517e09c","test_SuccessSlot_MaxOpHash()":"39ec829a","test_SuccessSlot_UsesCorrectNamespace()":"7bb3227b","test_SuccessSlot_VariousOpHashes()":"164459b3","test_SuccessSlot_ZeroOpHash()":"4b3ce4b1","test_SuccessValue_Constant()":"84237449","test_SuccessValue_IsOne()":"e8b75453"}}}},"test/mocks/MockERC20.sol":{"MockERC20":{"abi":[{"type":"constructor","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60806040523461033057610e0d8038038061001981610334565b9283398101906060818303126103305780516001600160401b0381116103305782610045918301610359565b60208201519092906001600160401b03811161033057604091610069918401610359565b91015160ff81168091036103305782516001600160401b03811161024157600354600181811c91168015610326575b602082101461022357601f81116102c3575b506020601f821160011461026057819293945f92610255575b50508160011b915f199060031b1c1916176003555b81516001600160401b03811161024157600454600181811c91168015610237575b602082101461022357601f81116101c0575b50602092601f821160011461015f57928192935f92610154575b50508160011b915f199060031b1c1916176004555b60ff196005541617600555604051610a6290816103ab8239f35b015190505f80610125565b601f1982169360045f52805f20915f5b8681106101a85750836001959610610190575b505050811b0160045561013a565b01515f1960f88460031b161c191690555f8080610182565b9192602060018192868501518155019401920161016f565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610219575b601f0160051c01905b81811061020e575061010b565b5f8155600101610201565b90915081906101f8565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100f9565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100c3565b601f1982169060035f52805f20915f5b8181106102ab57509583600195969710610293575b505050811b016003556100d8565b01515f1960f88460031b161c191690555f8080610285565b9192602060018192868b015181550194019201610270565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061031c575b601f0160051c01905b81811061031157506100aa565b5f8155600101610304565b90915081906102fb565b90607f1690610098565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761024157604052565b81601f82011215610330578051906001600160401b03821161024157610388601f8301601f1916602001610334565b928284526020838301011161033057815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461077757508063095ea7b3146106ca57806318160ddd1461068f57806323b872dd146104fb578063313ce567146104bd57806340c10f19146103be57806370a082311461035c57806395d89b4114610169578063a9059cbb1461011a5763dd62ed3e1461008a575f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576100c16108f0565b73ffffffffffffffffffffffffffffffffffffffff6100de610913565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165761015e6101546108f0565b6024359033610936565b602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576040515f600454908160011c60018316928315610352575b6020821084146103255781855284939081156102c5575060011461024b575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102a957505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b6020919350806001915483858801015201910190918392610275565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506101ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101af565b346101165760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165773ffffffffffffffffffffffffffffffffffffffff6103a86108f0565b165f525f602052602060405f2054604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576103f56108f0565b73ffffffffffffffffffffffffffffffffffffffff16602435811561049157600254908082018092116104645760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011657602060ff60055416604051908152f35b346101165760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576105326108f0565b61053a610913565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106105b6575b5061015e9350610936565b83811061065b57841561062f5733156106035761015e945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846105ab565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576020600254604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576107016108f0565b60243590331561062f5773ffffffffffffffffffffffffffffffffffffffff1690811561060357335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116575f600354908160011c6001831692831561089e575b6020821084146103255781855284939081156102c55750600114610824575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061088257505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b602091935080600191548385880101520191019091839261084e565b90607f16906107ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b73ffffffffffffffffffffffffffffffffffffffff16908115610a005773ffffffffffffffffffffffffffffffffffffffff1691821561049157815f525f60205260405f20548181106109ce57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220cebe9d271f663eb56aba81c7274ebae25e1a809741756e03a398137806df3e1964736f6c634300081e0033","sourceMap":"308:380:68:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;308:380:68;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;308:380:68;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;308:380:68;;;;1648:13:28;308:380:68;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;1648:13:28;308:380:68;;;;;1648:13:28;308:380:68;;;;-1:-1:-1;;;;;308:380:68;;;;1671:17:28;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;1648:13:28;308:380:68;;;;;1671:17:28;308:380:68;;;;473:21;308:380;;;473:21;308:380;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;1671:17:28;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;1671:17:28;308:380:68;;;;;;;;;;1648:13:28;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:28;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;-1:-1:-1;308:380:68;;1671:17:28;308:380:68;;-1:-1:-1;308:380:68;;;;;;;;;;;;-1:-1:-1;308:380:68;;1671:17:28;308:380:68;;-1:-1:-1;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;;;;;;1648:13:28;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;308:380:68;;;;;;;;;;1648:13:28;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;-1:-1:-1;;308:380:68;;;-1:-1:-1;;;;;308:380:68;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;308:380:68;;;;;;;;-1:-1:-1;;308:380:68;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461077757508063095ea7b3146106ca57806318160ddd1461068f57806323b872dd146104fb578063313ce567146104bd57806340c10f19146103be57806370a082311461035c57806395d89b4114610169578063a9059cbb1461011a5763dd62ed3e1461008a575f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576100c16108f0565b73ffffffffffffffffffffffffffffffffffffffff6100de610913565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165761015e6101546108f0565b6024359033610936565b602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576040515f600454908160011c60018316928315610352575b6020821084146103255781855284939081156102c5575060011461024b575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102a957505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b6020919350806001915483858801015201910190918392610275565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506101ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101af565b346101165760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165773ffffffffffffffffffffffffffffffffffffffff6103a86108f0565b165f525f602052602060405f2054604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576103f56108f0565b73ffffffffffffffffffffffffffffffffffffffff16602435811561049157600254908082018092116104645760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011657602060ff60055416604051908152f35b346101165760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576105326108f0565b61053a610913565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106105b6575b5061015e9350610936565b83811061065b57841561062f5733156106035761015e945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846105ab565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576020600254604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576107016108f0565b60243590331561062f5773ffffffffffffffffffffffffffffffffffffffff1690811561060357335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116575f600354908160011c6001831692831561089e575b6020821084146103255781855284939081156102c55750600114610824575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061088257505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b602091935080600191548385880101520191019091839261084e565b90607f16906107ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b73ffffffffffffffffffffffffffffffffffffffff16908115610a005773ffffffffffffffffffffffffffffffffffffffff1691821561049157815f525f60205260405f20548181106109ce57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220cebe9d271f663eb56aba81c7274ebae25e1a809741756e03a398137806df3e1964736f6c634300081e0033","sourceMap":"308:380:68:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3561:11:28;308:380:68;;;;;;3561:27:28;308:380:68;-1:-1:-1;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;3388:5:28;308:380:68;;:::i;:::-;;;735:10:35;;3388:5:28;:::i;:::-;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;-1:-1:-1;;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;7432:21:28;;7428:91;;6137:21;308:380:68;;;;;;;;;;;6987:25:28;308:380:68;;;6137:21:28;308:380:68;;;;;;;;;;;;;;;;;;;;;6987:25:28;308:380:68;;;;;;;;;;;7428:91:28;7476:32;308:380:68;7476:32:28;308:380:68;;;;;7476:32:28;308:380:68;;;;;;;;;;;;;581:9;308:380;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;735:10:35;308:380:68;-1:-1:-1;308:380:68;;;;-1:-1:-1;308:380:68;;10505:17:28;10486:36;;10482:309;;308:380:68;4890:5:28;;;;;:::i;10482:309::-;10542:24;;;10538:130;;9719:19;;9715:89;;735:10:35;9817:21:28;9813:90;;4890:5;308:380:68;;;;;;;;;;735:10:35;308:380:68;-1:-1:-1;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;10482:309:28;;;9813:90;9861:31;308:380:68;9861:31:28;308:380:68;;;;;9861:31:28;9715:89;9761:32;308:380:68;9761:32:28;308:380:68;;;;;9761:32:28;10538:130;10593:60;;;308:380:68;10593:60:28;735:10:35;308:380:68;;;;;;;;10593:60:28;308:380:68;;;;;;;;;;;;2881:12:28;308:380:68;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;735:10:35;;9719:19:28;9715:89;;308:380:68;;9817:21:28;;;9813:90;;735:10:35;308:380:68;;;;;;;;;-1:-1:-1;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;;;9991:31:28;308:380:68;735:10:35;9991:31:28;;308:380:68;;;;;;;;;;;;;;;;;;;1837:5:28;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:28;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;;;-1:-1:-1;;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;5297:300:28:-;308:380:68;;5380:18:28;;;5376:86;;308:380:68;;5475:16:28;;;5471:86;;308:380:68;5396:1:28;308:380:68;5396:1:28;308:380:68;;;5396:1:28;308:380:68;;6244:19:28;;;6240:115;;308:380:68;6987:25:28;308:380:68;;;;5396:1:28;308:380:68;5396:1:28;308:380:68;;;;5396:1:28;308:380:68;;;5396:1:28;308:380:68;5396:1:28;308:380:68;;;5396:1:28;308:380:68;;;;;;;;;;;;6987:25:28;5297:300::o;6240:115::-;6290:50;;5396:1;6290:50;;308:380:68;;;;;;5396:1:28;6290:50;5376:86;5421:30;5396:1;5421:30;5396:1;5421:30;308:380:68;;5396:1:28;5421:30","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"test/mocks/MockMulticall3.sol":{"MockMulticall3":{"abi":[{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"setShouldFail","inputs":[{"name":"_shouldFail","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shouldFail","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_shouldFail\",\"type\":\"bool\"}],\"name\":\"setShouldFail\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shouldFail\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockMulticall3.sol\":\"MockMulticall3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346015576107a7908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146102ee57508063678d2204146102af57806382ad56cb146100b75763a5aa5c1214610048575f80fd5b346100b35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b3576004358015158091036100b35760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54169116175f555f80f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610101903690600401610449565b60ff5f54166102505790610114826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301915b8481101561023e578060051b820135838112156100b35782016101c260205f8061016785610658565b816101756040880188610679565b9190826040519384928337810182815203925af1926101926106ca565b9361019b61053f565b90159485158252838201526101b0868a610723565b526101bb8589610723565b5001610764565b159081610236575b506101d75760010161013e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606490fd5b9050866101ca565b6040518061024c868261047a565b0390f35b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b346100b3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b357602060ff5f54166040519015158152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610338903690600401610449565b909160ff5f54166103ed57509061034e826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181360301915b8481101561023e578060051b820135838112156100b35782016103d060205f806103a185610658565b6103ae6060870187610679565b90816040519283928337810184815203916040880135905af1926101926106ca565b1590816103e5575b506101d757600101610378565b9050866103d8565b7f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b9181601f840112156100b35782359167ffffffffffffffff83116100b3576020808501948460051b0101116100b357565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106104ac57505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f858286010152011601019701930193019193929061049d565b604051906040820182811067ffffffffffffffff82111761055f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761055f57604052565b67ffffffffffffffff811161055f5760051b60200190565b906105fa6105f5836105d0565b61058c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061062882946105d0565b01905f5b82811061063857505050565b60209061064361053f565b5f81526060838201528282850101520161062c565b3573ffffffffffffffffffffffffffffffffffffffff811681036100b35790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100b3570180359067ffffffffffffffff82116100b3576020019181360383136100b357565b3d1561071e573d9067ffffffffffffffff821161055f5761071260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161058c565b9182523d5f602084013e565b606090565b80518210156107375760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3580151581036100b3579056fea2646970667358221220d15ba587833d285de2ae313b5bc0b60766daf63461a11d37ec63afc45d49b39d64736f6c634300081e0033","sourceMap":"299:1660:69:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146102ee57508063678d2204146102af57806382ad56cb146100b75763a5aa5c1214610048575f80fd5b346100b35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b3576004358015158091036100b35760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54169116175f555f80f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610101903690600401610449565b60ff5f54166102505790610114826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301915b8481101561023e578060051b820135838112156100b35782016101c260205f8061016785610658565b816101756040880188610679565b9190826040519384928337810182815203925af1926101926106ca565b9361019b61053f565b90159485158252838201526101b0868a610723565b526101bb8589610723565b5001610764565b159081610236575b506101d75760010161013e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606490fd5b9050866101ca565b6040518061024c868261047a565b0390f35b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b346100b3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b357602060ff5f54166040519015158152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610338903690600401610449565b909160ff5f54166103ed57509061034e826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181360301915b8481101561023e578060051b820135838112156100b35782016103d060205f806103a185610658565b6103ae6060870187610679565b90816040519283928337810184815203916040880135905af1926101926106ca565b1590816103e5575b506101d757600101610378565b9050866103d8565b7f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b9181601f840112156100b35782359167ffffffffffffffff83116100b3576020808501948460051b0101116100b357565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106104ac57505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f858286010152011601019701930193019193929061049d565b604051906040820182811067ffffffffffffffff82111761055f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761055f57604052565b67ffffffffffffffff811161055f5760051b60200190565b906105fa6105f5836105d0565b61058c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061062882946105d0565b01905f5b82811061063857505050565b60209061064361053f565b5f81526060838201528282850101520161062c565b3573ffffffffffffffffffffffffffffffffffffffff811681036100b35790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100b3570180359067ffffffffffffffff82116100b3576020019181360383136100b357565b3d1561071e573d9067ffffffffffffffff821161055f5761071260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161058c565b9182523d5f602084013e565b606090565b80518210156107375760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3580151581036100b3579056fea2646970667358221220d15ba587833d285de2ae313b5bc0b60766daf63461a11d37ec63afc45d49b39d64736f6c634300081e0033","sourceMap":"299:1660:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;618:81;;725:38;;;;:::i;:::-;778:13;299:1660;;;;;;;773:407;811:3;793:16;;;;;;299:1660;;;;;;;;;;;;;;1073:17;299:1660;;928:11;;;;:::i;:::-;945:13;;299:1660;945:13;;;;:::i;:::-;299:1660;;;;;;;;;;;;;;;928:31;;;;;;;:::i;:::-;299:1660;;;:::i;:::-;;;;;;;;992:62;;;299:1660;973:81;;;;:::i;:::-;;;;;;:::i;:::-;;1073:17;;:::i;:::-;1072:18;:30;;;;811:3;1068:102;;;299:1660;;778:13;;1068:102;299:1660;;1122:33;;;299:1660;;1122:33;;299:1660;;;;;;;;;;;;;1122:33;1072:30;;;;;;793:16;299:1660;;;;793:16;299:1660;;:::i;:::-;;;;618:81;299:1660;;648:40;;;299:1660;;648:40;;299:1660;;;;;;;;;;;;;1122:33;299:1660;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1365:81;;1472:38;;;;;:::i;:::-;1525:13;299:1660;;;;;;;1520:431;1558:3;1540:16;;;;;;299:1660;;;;;;;;;;;;;;1844:17;299:1660;;1680:11;;;;:::i;:::-;1716:13;;;;;;:::i;:::-;299:1660;;;;;;;;;;;;;;1680:50;1704:10;299:1660;1704:10;;299:1660;1680:50;;;;;;:::i;1844:17::-;1843:18;:30;;;;1558:3;1839:102;;;299:1660;;1525:13;;1843:30;;;;;;1365:81;1395:40;;;299:1660;;1395:40;;299:1660;;;;;;;;;;;;;1122:33;299:1660;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;299:1660:69;;;;;-1:-1:-1;299:1660:69;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;299:1660:69;;;;;;;;;:::o;:::-;;;;;:::i;:::-;-1:-1:-1;299:1660:69;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;299:1660:69;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","setShouldFail(bool)":"a5aa5c12","shouldFail()":"678d2204"}}}},"test/mocks/MockNonStandardERC20.sol":{"MockNonStandardERC20":{"abi":[{"type":"constructor","inputs":[{"name":"initialSupply","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Mimics tokens like USDT that don't follow the ERC20 standard strictly\",\"kind\":\"dev\",\"methods\":{\"transfer(address,uint256)\":{\"details\":\"This mimics USDT's behavior where transfer doesn't return a value\"},\"transferFrom(address,address,uint256)\":{\"details\":\"This mimics USDT's behavior where transferFrom doesn't return a value\"}},\"title\":\"MockNonStandardERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"approve(address,uint256)\":{\"notice\":\"Approve spender to spend tokens - DOES return a boolean (standard)\"},\"mint(address,uint256)\":{\"notice\":\"Mint tokens for testing\"},\"transfer(address,uint256)\":{\"notice\":\"Transfer tokens - DOES NOT RETURN A BOOLEAN (non-standard)\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Transfer tokens from one address to another - DOES NOT RETURN A BOOLEAN (non-standard)\"}},\"notice\":\"Mock ERC20 token that doesn't return boolean from transfer/transferFrom\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockNonStandardERC20.sol\":\"MockNonStandardERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"test/mocks/MockNonStandardERC20.sol\":{\"keccak256\":\"0xb6c02a6add0f642cd85c550be6ed86305a09cb9d01bd0b15070e50112e943fd9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e438e16d33b914174ab53a8317d45ccbaa009496f9349e219c522cb82dfe3987\",\"dweb:/ipfs/QmQQKgZhq7TFBirdYq7zRjo6KpWoS7DE6fgqqaugbsTnu8\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60803461018357601f610c1538819003918201601f19168301916001600160401b038311848410176101875780849260209460405283398101031261018357516100495f5461019b565b601f811161013c575b507f4e6f6e2d5374616e6461726420546f6b656e00000000000000000000000000245f556001546100829061019b565b601f81116100f4575b506006621394d560ea1b01600155600660ff19600254161760025580600355335f5260046020528060405f20556040519081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610a4190816101d48239f35b60015f52601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6908101905b818110610131575061008b565b5f8155600101610124565b5f8052601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563908101905b8181106101785750610052565b5f815560010161016b565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b90600182811c921680156101c9575b60208310146101b557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101aa56fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461079e578063095ea7b3146106fb57806318160ddd146106c057806323b872dd1461051d578063313ce567146104df57806340c10f191461043957806370a08231146103d657806395d89b41146101e1578063a9059cbb146101175763dd62ed3e14610087575f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576100be610919565b73ffffffffffffffffffffffffffffffffffffffff6100db61093c565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135761014e610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600460205261017f8360405f2054101561095f565b335f52600460205260405f206101968482546109c4565b90551690815f52600460205260405f206101b18282546109fe565b90556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f600154908160011c600183169283156103cc575b60208210841461039f57818552849390811561033f57506001146102c5575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60015f90815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b81831061032357505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b60209193508060019154838588010152019101909183926102ef565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610246565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610227565b346101135760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135773ffffffffffffffffffffffffffffffffffffffff610422610919565b165f526004602052602060405f2054604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610470610919565b5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff602435946104b9866003546109fe565b600355169384845260048252604084206104d48282546109fe565b9055604051908152a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357602060ff60025416604051908152f35b346101135760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610554610919565b61055c61093c565b73ffffffffffffffffffffffffffffffffffffffff604435921690815f52600460205261058f8360405f2054101561095f565b815f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528260405f20541061066257602073ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526004835260405f206106118782546109c4565b90551693845f526004825260405f2061062b8282546109fe565b9055835f526005825260405f2073ffffffffffffffffffffffffffffffffffffffff33165f52825260405f206104d48282546109c4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e6365000000000000000000006044820152fd5b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576020600354604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610732610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f5f54908160011c600183169283156108c7575b60208210841461039f57818552849390811561033f575060011461084f575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b5f80805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106108ab57505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b6020919350806001915483858801015201910190918392610877565b90607f16906107e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b1561096657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152fd5b919082039182116109d157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082018092116109d15756fea2646970667358221220bc55045891b519b0b5f8315ee228d5b1d217d0df546e371d3a4b30023541a0b764736f6c634300081e0033","sourceMap":"258:2288:70:-:0;;;;;;;;;;;;;-1:-1:-1;;258:2288:70;;;;-1:-1:-1;;;;;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;:::i;:::-;;;;;;-1:-1:-1;;258:2288:70;-1:-1:-1;258:2288:70;;;;;;:::i;:::-;;;;;;-1:-1:-1;258:2288:70;;-1:-1:-1;;;258:2288:70;;;;;;399:1;258:2288;;;399:1;258:2288;;;;813:10;-1:-1:-1;258:2288:70;803:9;258:2288;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;855:47:70;258:2288;813:10;855:47;;258:2288;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;258:2288:70;;;;;;-1:-1:-1;258:2288:70;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461079e578063095ea7b3146106fb57806318160ddd146106c057806323b872dd1461051d578063313ce567146104df57806340c10f191461043957806370a08231146103d657806395d89b41146101e1578063a9059cbb146101175763dd62ed3e14610087575f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576100be610919565b73ffffffffffffffffffffffffffffffffffffffff6100db61093c565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135761014e610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600460205261017f8360405f2054101561095f565b335f52600460205260405f206101968482546109c4565b90551690815f52600460205260405f206101b18282546109fe565b90556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f600154908160011c600183169283156103cc575b60208210841461039f57818552849390811561033f57506001146102c5575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60015f90815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b81831061032357505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b60209193508060019154838588010152019101909183926102ef565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610246565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610227565b346101135760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135773ffffffffffffffffffffffffffffffffffffffff610422610919565b165f526004602052602060405f2054604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610470610919565b5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff602435946104b9866003546109fe565b600355169384845260048252604084206104d48282546109fe565b9055604051908152a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357602060ff60025416604051908152f35b346101135760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610554610919565b61055c61093c565b73ffffffffffffffffffffffffffffffffffffffff604435921690815f52600460205261058f8360405f2054101561095f565b815f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528260405f20541061066257602073ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526004835260405f206106118782546109c4565b90551693845f526004825260405f2061062b8282546109fe565b9055835f526005825260405f2073ffffffffffffffffffffffffffffffffffffffff33165f52825260405f206104d48282546109c4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e6365000000000000000000006044820152fd5b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576020600354604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610732610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f5f54908160011c600183169283156108c7575b60208210841461039f57818552849390811561033f575060011461084f575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b5f80805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106108ab57505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b6020919350806001915483858801015201910190918392610877565b90607f16906107e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b1561096657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152fd5b919082039182116109d157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082018092116109d15756fea2646970667358221220bc55045891b519b0b5f8315ee228d5b1d217d0df546e371d3a4b30023541a0b764736f6c634300081e0033","sourceMap":"258:2288:70:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;489:64;258:2288;;;;;;489:64;258:2288;-1:-1:-1;258:2288:70;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;1163:10;;258:2288;;;;;1145:63;258:2288;;;;;1153:30;;1145:63;:::i;:::-;1163:10;258:2288;;;;;;;;1218:30;258:2288;;;1218:30;:::i;:::-;258:2288;;;;;;;;;;;;;1258:22;258:2288;;;1258:22;:::i;:::-;258:2288;;;;;;;1295:31;258:2288;1163:10;1295:31;;258:2288;;;;;;;;;;;;;;;341:28;258:2288;;;341:28;258:2288;341:28;258:2288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;341:28;258:2288;;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;;258:2288:70;;;;;;;;;;;;;341:28;258:2288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2505:32;258:2288;;;;;2436:21;258:2288;2436:21;258:2288;2436:21;:::i;:::-;;258:2288;;;;;;;;;;;;2467:23;258:2288;;;2467:23;:::i;:::-;258:2288;;;;;;;2505:32;258:2288;;;;;;;;;;;;;;375:25;258:2288;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;1667:57;258:2288;;;;;1675:24;;1667:57;:::i;:::-;258:2288;;;1742:9;258:2288;;;;;;1758:10;258:2288;-1:-1:-1;258:2288:70;;;;;-1:-1:-1;258:2288:70;;1742:36;258:2288;;;;1934:25;258:2288;;;;;;;;;;1816:24;258:2288;;;1816:24;:::i;:::-;258:2288;;;;;;;;;;;;;1850:22;258:2288;;;1850:22;:::i;:::-;258:2288;;;;;1742:9;258:2288;;;;;;1758:10;258:2288;-1:-1:-1;258:2288:70;;;;-1:-1:-1;258:2288:70;1882:36;258:2288;;;1882:36;:::i;258:2288::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;406:26;258:2288;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;2209:10;;258:2288;;2199:9;258:2288;;;;;;;;-1:-1:-1;258:2288:70;;;;;-1:-1:-1;258:2288:70;;;;;;;;2209:10;2252:36;258:2288;2209:10;2252:36;;258:2288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"test/mocks/MockSenderGetter.sol":{"MockSenderGetter":{"abi":[{"type":"function","name":"getSender","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockSenderGetter.sol\":\"MockSenderGetter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346013576091908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c635e01eb5a146023575f80fd5b346057575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605757602090338152f35b5f80fdfea26469706673582212205f55ad5e47296d566efef322f8f119c6af20cacbd4f659718157eeac617e410164736f6c634300081e0033","sourceMap":"238:121:71:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156011575f80fd5b5f3560e01c635e01eb5a146023575f80fd5b346057575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605757602090338152f35b5f80fdfea26469706673582212205f55ad5e47296d566efef322f8f119c6af20cacbd4f659718157eeac617e410164736f6c634300081e0033","sourceMap":"238:121:71:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:10;;238:121;;;;;;","linkReferences":{}},"methodIdentifiers":{"getSender()":"5e01eb5a"}}}},"test/script/TrailsIntentEntrypoint.s.t.sol":{"TrailsIntentEntrypointDeploymentTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_DeployIntentEntrypoint_SameAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployIntentEntrypoint_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployedIntentEntrypoint_HasCorrectConfiguration","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployIntentEntrypoint_SameAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployIntentEntrypoint_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployedIntentEntrypoint_HasCorrectConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/script/TrailsIntentEntrypoint.s.t.sol\":\"TrailsIntentEntrypointDeploymentTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"script/TrailsIntentEntrypoint.s.sol\":{\"keccak256\":\"0xab27ee8becdd50cf88ba1cf04e68cb6d80d49e380c6bed7a7eddcfec1c6b0a26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd629911a8a7ea1aba0c76f68fee808efeaf974d4e22963282656fdfb18ef4bb\",\"dweb:/ipfs/QmTn9Ldirnur8J79zp8ZUZNZJFgcPHHN8reqHpyMoSvqBh\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]},\"test/script/TrailsIntentEntrypoint.s.t.sol\":{\"keccak256\":\"0x617e672bbae4ae701fcc519e08c9ea3bb00b971a47cdf2fe35d61eafec42fe6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d66fe06d184db131a0134b1a7dd413058e91c3917f13e353937894e746cea032\",\"dweb:/ipfs/QmTpDfHPDLxg2K6DUCU7YSVPG7PFgJa7BBuU8X2p9pyCdB\"]},\"test/utils/Create2Utils.sol\":{\"keccak256\":\"0xe5b36a1cdb5827185a7948737c4f61eca071f949c6d7f57339ebaaaee948bbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63655eac25e4f37b069b136660b1585c8be05e749f6dd513ed9a763be83fcb9e\",\"dweb:/ipfs/QmdjR1QrAPUYN8LvsrGk2f1ZvVVfQ2aqPdKqmuSf8H1DpV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561503e90816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a9254e414611724575080631ed7831c1461167b578063207ed43d146113e65780632ade3880146111b25780633e5e3c23146111095780633f7286f41461106057806366d9a9a014610efd5780637ae061051461095857806385226c81146108a85780638cca1cf91461046e578063916a17c614610399578063b0464fdc146102c4578063b5508aa91461020d578063ba414fa6146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e81870382611d6a565b60405191829182611af5565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602061020361218c565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461024881611ece565b916102566040519384611d6a565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b838310610298576040518061019a8782611bdc565b6001602081926040516102b6816102af8189611dab565b0382611d6a565b815201920192019190610283565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c546102ff81611ece565b9161030d6040519384611d6a565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831061034f576040518061019a8782611c59565b6002602060019260405161036281611d4e565b73ffffffffffffffffffffffffffffffffffffffff8654168152610387858701611ee6565b8382015281520192019201919061033a565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d546103d481611ece565b916103e26040519384611d6a565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610424576040518061019a8782611c59565b6002602060019260405161043781611d4e565b73ffffffffffffffffffffffffffffffffffffffff865416815261045c858701611ee6565b8382015281520192019201919061040f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806104ee60048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610893575b505061051d612265565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156108345761087e575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610830578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561083457610869575b505073ffffffffffffffffffffffffffffffffffffffff1661066a813b151560405190610615606083611d6a565b603182527f4669727374206465706c6f796d656e743a20547261696c73496e74656e74456e60208301527f747279706f696e74206465706c6f796564000000000000000000000000000000604083015261230f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806106bb60048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610854575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156108345761083f575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610830578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156108345761081b575b50610818823b1515604051906107c3606083611d6a565b603882527f5365636f6e64206465706c6f796d656e743a20547261696c73496e74656e744560208301527f6e747279706f696e74207374696c6c206465706c6f7965640000000000000000604083015261230f565b80f35b8161082591611d6a565b61083057815f6107ac565b5080fd5b6040513d84823e3d90fd5b8161084991611d6a565b61083057815f61074c565b8161085e91611d6a565b61083057815f6106e0565b8161087391611d6a565b61083057815f6105e7565b8161088891611d6a565b61083057815f610587565b8161089d91611d6a565b61010e57805f610513565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a546108e381611ece565b916108f16040519384611d6a565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610933576040518061019a8782611bdc565b60016020819260405161094a816102af8189611dab565b81520192019201919061091e565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806109d860048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610ee8575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610ee5578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561083457610ed0575b505073ffffffffffffffffffffffffffffffffffffffff610a7c612265565b16610a92813b1515610a8c611e93565b9061230f565b6040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa8015610e91578390610e9c575b610b39915060405190610ae2606083611d6a565b602682527f446f6d61696e20736570617261746f722073686f756c6420626520696e69746960208301527f616c697a65640000000000000000000000000000000000000000000000000000604083015215156123b6565b6040517fffa1ad740000000000000000000000000000000000000000000000000000000081528281600481855afa908115610e91578391610db7575b5082604091825190610b878483611d6a565b600182527f310000000000000000000000000000000000000000000000000000000000000060208301528351610bbd8582611d6a565b601381527f56657273696f6e2073686f756c642062652031000000000000000000000000006020820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610db3578391610ca9610c4992610c79885196879586957f36f656d8000000000000000000000000000000000000000000000000000000008752606060048801526064870190611b44565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc868303016024870152611b44565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848303016044850152611b44565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610da957610d90575b505060206004928251938480927ff39610400000000000000000000000000000000000000000000000000000000082525afa8015610d86578390610d4e575b6108189250610d1d82519283611d6a565b601d82527f496e74656e742074797065686173682073686f756c6420626520736574000000602083015215156123b6565b506020823d602011610d7e575b81610d6860209383611d6a565b81010312610d7a576108189151610d0c565b5f80fd5b3d9150610d5b565b81513d85823e3d90fd5b81610d9a91611d6a565b610da557825f610ccd565b8280fd5b83513d84823e3d90fd5b8380fd5b90503d8084833e610dc88183611d6a565b810190602081830312610db35780519067ffffffffffffffff8211610e8d570181601f82011215610db357805167ffffffffffffffff8111610e6057908160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f889501160193610e3e6040519586611d6a565b81855260208284010111610da5578060208093018386015e830101525f610b75565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8480fd5b6040513d85823e3d90fd5b506020813d602011610ec8575b81610eb660209383611d6a565b81010312610d7a57610b399051610ace565b3d9150610ea9565b81610eda91611d6a565b61010e57805f610a5d565b50fd5b81610ef291611d6a565b61010e57805f6109fd565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b54610f3881611ece565b610f456040519182611d6a565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b83831061101d57868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610fb257505050500390f35b9193602061100d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610ffd8351604084526040840190611b44565b9201519084818403910152611b87565b9601920192018594939192610fa3565b6002602060019260405161103081611d4e565b604051611041816102af818a611dab565b815261104e858701611ee6565b83820152815201920192019190610f75565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b8181106110dd5761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016110c6565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b8181106111865761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920161116f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e546111ed81611ece565b6111fa6040519182611d6a565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106113485786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106112665786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b8281106112ff57505050505060208060019297019301930190928695949293611259565b909192939460208061133b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611b44565b97019501939291016112db565b60405161135481611d4e565b73ffffffffffffffffffffffffffffffffffffffff835416815260018301805461137d81611ece565b9161138b6040519384611d6a565b8183528a526020808b20908b9084015b8382106113c157505050506001928260209283600295015281520192019201919061122a565b6001602081926040516113d8816102af818a611dab565b81520193019101909161139b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061146660048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457611666575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457611651575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610ee5578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156108345761163c575b50506004602073ffffffffffffffffffffffffffffffffffffffff61157a612265565b1661158a813b1515610a8c611e93565b604051928380927f3644e5150000000000000000000000000000000000000000000000000000000082525afa8015610834578290611608575b6108189150604051906115d7604083611d6a565b601e82527f446f6d61696e20736570617261746f722073686f756c64206265207365740000602083015215156123b6565b506020813d602011611634575b8161162260209383611d6a565b81010312610d7a5761081890516115c3565b3d9150611615565b8161164691611d6a565b61010e57805f611557565b8161165b91611d6a565b61010e57805f6114f7565b8161167091611d6a565b61010e57805f61148b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106116f85761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016116e1565b905034610d7a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d7a57611dbc80820182811067ffffffffffffffff821117611ac8578291612424833903905ff080156119f8577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff806021556117f2602254611cfd565b601f8111611a66575b50608560225560225f527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51255602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156119f8575f90611a03575b73ffffffffffffffffffffffffffffffffffffffff915016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156119f8576119ea575080f35b6119f691505f90611d6a565b005b6040513d5f823e3d90fd5b506020813d602011611a5e575b81611a1d60209383611d6a565b81010312610d7a575173ffffffffffffffffffffffffffffffffffffffff81168103610d7a5773ffffffffffffffffffffffffffffffffffffffff90611927565b3d9150611a10565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b818110611abd57506117fb565b5f8155600101611ab0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611b185750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611b0b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611ba45750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611b97565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c0e57505050505090565b9091929394602080611c4a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611b44565b97019301930191939290611bff565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c8b57505050505090565b9091929394602080611cee837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611b87565b97019301930191939290611c7c565b90600182811c92168015611d44575b6020831014611d1757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611d0c565b6040810190811067ffffffffffffffff821117611ac857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ac857604052565b5f9291815491611dba83611cfd565b8083529260018116908115611e0f5750600114611dd657505050565b5f9081526020812093945091925b838310611df5575060209250010190565b600181602092949394548385870101520191019190611de4565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611e909160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611dab565b90565b60405190611ea2604083611d6a565b601b82527f456e747279706f696e742073686f756c64206861766520636f646500000000006020830152565b67ffffffffffffffff8111611ac85760051b60200190565b90604051918281549182825260208201905f5260205f20925f905b8060078301106120ff57611f579454918181106120c9575b818110612093575b81811061205d575b818110612027575b818110611ff1575b818110611fbb575b818110611f86575b10611f59575b500383611d6a565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611f4f565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611f49565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611f41565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611f39565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611f31565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611f29565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611f21565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611f19565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f01565b60085460ff161561219c57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156119f8575f91612233575b50151590565b90506020813d60201161225d575b8161224e60209383611d6a565b81010312610d7a57515f61222d565b3d9150612241565b73ffffffffffffffffffffffffffffffffffffffff610e2960405161228d6020830182611d6a565b81815260208101916141e0833951902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152612308607582611d6a565b5190201690565b15156001810361231d575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57612386915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611b44565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156119f8576123ac5750565b5f611f5791611d6a565b15806123c0575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57612386915f9160405193849283927fa34edc03000000000000000000000000000000000000000000000000000000008452156004840152604060248401526044830190611b4456fe608080604052346026576201000162ff00ff19600c541617600c55611d91908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c908163c04062261461007a575063f8ccbf4714610034575f80fd5b3461007757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261007757602060ff600c5460101c166040519015158152f35b80fd5b905034610c90575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c90577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610c85575f91610ce5575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610c85575f90610c94575b6101c59150604051610196604082610d17565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610dc8565b610e299082604051916101db6020850184610d17565b8383526020830193610f338539604051936101f7604086610d17565b601685527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610698575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526102c5607582610d17565b51902016936002853b11610647578461031691604051906102e7604083610d17565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610e6f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561064357604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c95761062e575b505060206103c891604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610d85565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156106235783916105d4575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c557826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c9576105b0575b505073ffffffffffffffffffffffffffffffffffffffff168103610552576002813b11156104f4576104f1905b60405161049c606082610d17565b602381527f547261696c73496e74656e74456e747279706f696e74206465706c6f7965642060208201527f61743a00000000000000000000000000000000000000000000000000000000006040820152610dc8565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b816105ba91610d17565b6105c557825f610461565b8280fd5b6040513d84823e3d90fd5b90506020813d60201161061b575b816105ef60209383610d17565b810103126105c5575173ffffffffffffffffffffffffffffffffffffffff811681036105c5575f6103f6565b3d91506105e2565b6040513d85823e3d90fd5b8161063891610d17565b6105c557825f610385565b5080fd5b8493506104f1949150610693925060405190610664604083610d17565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610e6f565b61048e565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610a1d575b5f8061073961077f6040516106d2604082610d17565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610d85565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa506040516107a36101a082610d17565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a1957836109ca91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610d85565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e5784916109f9575b5050610240565b81610a0391610d17565b6105c557825f6109f2565b6040513d86823e3d90fd5b8380fd5b9091505f80610a9d610ac9604051610a36604082610d17565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610d85565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c90576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610c8557610c70575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610c435786808080969594819482906657c084e5f3c00014610c3a575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f1156105c957737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c5576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e578491610c25575b50506106bc565b81610c2f91610d17565b6105c557825f610c1e565b506108fc610b96565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610c7d9195505f90610d17565b5f935f610b4d565b6040513d5f823e3d90fd5b5f80fd5b506020813d602011610cdd575b81610cae60209383610d17565b81010312610c90575173ffffffffffffffffffffffffffffffffffffffff81168103610c90576101c590610183565b3d9150610ca1565b90506020813d602011610d0f575b81610d0060209383610d17565b81010312610c9057515f61012c565b3d9150610cf3565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d5857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610e25610e585f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610d85565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50565b610e58610ecf915f9473ffffffffffffffffffffffffffffffffffffffff610eff87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610d85565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610d85565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d1756fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220fb54faff40f8d444e27e4a7c939db219bfaa3a95982c1885e28c7e9f1e0081bf64736f6c634300081e00336080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220093e8103c2a4097405bd859edba44a72145e604052ddfc57a1cc8c8d883769b764736f6c634300081e0033","sourceMap":"499:4261:72:-:0;;;;;;;3200:4:5;499:4261:72;;3200:4:5;499:4261:72;;;3200:4:5;499:4261:72;3200:4:5;499:4261:72;;1087:4:16;499:4261:72;;;1087:4:16;499:4261:72;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a9254e414611724575080631ed7831c1461167b578063207ed43d146113e65780632ade3880146111b25780633e5e3c23146111095780633f7286f41461106057806366d9a9a014610efd5780637ae061051461095857806385226c81146108a85780638cca1cf91461046e578063916a17c614610399578063b0464fdc146102c4578063b5508aa91461020d578063ba414fa6146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e81870382611d6a565b60405191829182611af5565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602061020361218c565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461024881611ece565b916102566040519384611d6a565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b838310610298576040518061019a8782611bdc565b6001602081926040516102b6816102af8189611dab565b0382611d6a565b815201920192019190610283565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c546102ff81611ece565b9161030d6040519384611d6a565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831061034f576040518061019a8782611c59565b6002602060019260405161036281611d4e565b73ffffffffffffffffffffffffffffffffffffffff8654168152610387858701611ee6565b8382015281520192019201919061033a565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d546103d481611ece565b916103e26040519384611d6a565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610424576040518061019a8782611c59565b6002602060019260405161043781611d4e565b73ffffffffffffffffffffffffffffffffffffffff865416815261045c858701611ee6565b8382015281520192019201919061040f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806104ee60048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610893575b505061051d612265565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156108345761087e575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610830578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561083457610869575b505073ffffffffffffffffffffffffffffffffffffffff1661066a813b151560405190610615606083611d6a565b603182527f4669727374206465706c6f796d656e743a20547261696c73496e74656e74456e60208301527f747279706f696e74206465706c6f796564000000000000000000000000000000604083015261230f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806106bb60048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610854575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156108345761083f575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610830578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156108345761081b575b50610818823b1515604051906107c3606083611d6a565b603882527f5365636f6e64206465706c6f796d656e743a20547261696c73496e74656e744560208301527f6e747279706f696e74207374696c6c206465706c6f7965640000000000000000604083015261230f565b80f35b8161082591611d6a565b61083057815f6107ac565b5080fd5b6040513d84823e3d90fd5b8161084991611d6a565b61083057815f61074c565b8161085e91611d6a565b61083057815f6106e0565b8161087391611d6a565b61083057815f6105e7565b8161088891611d6a565b61083057815f610587565b8161089d91611d6a565b61010e57805f610513565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a546108e381611ece565b916108f16040519384611d6a565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610933576040518061019a8782611bdc565b60016020819260405161094a816102af8189611dab565b81520192019201919061091e565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806109d860048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610ee8575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610ee5578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561083457610ed0575b505073ffffffffffffffffffffffffffffffffffffffff610a7c612265565b16610a92813b1515610a8c611e93565b9061230f565b6040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa8015610e91578390610e9c575b610b39915060405190610ae2606083611d6a565b602682527f446f6d61696e20736570617261746f722073686f756c6420626520696e69746960208301527f616c697a65640000000000000000000000000000000000000000000000000000604083015215156123b6565b6040517fffa1ad740000000000000000000000000000000000000000000000000000000081528281600481855afa908115610e91578391610db7575b5082604091825190610b878483611d6a565b600182527f310000000000000000000000000000000000000000000000000000000000000060208301528351610bbd8582611d6a565b601381527f56657273696f6e2073686f756c642062652031000000000000000000000000006020820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610db3578391610ca9610c4992610c79885196879586957f36f656d8000000000000000000000000000000000000000000000000000000008752606060048801526064870190611b44565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc868303016024870152611b44565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848303016044850152611b44565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610da957610d90575b505060206004928251938480927ff39610400000000000000000000000000000000000000000000000000000000082525afa8015610d86578390610d4e575b6108189250610d1d82519283611d6a565b601d82527f496e74656e742074797065686173682073686f756c6420626520736574000000602083015215156123b6565b506020823d602011610d7e575b81610d6860209383611d6a565b81010312610d7a576108189151610d0c565b5f80fd5b3d9150610d5b565b81513d85823e3d90fd5b81610d9a91611d6a565b610da557825f610ccd565b8280fd5b83513d84823e3d90fd5b8380fd5b90503d8084833e610dc88183611d6a565b810190602081830312610db35780519067ffffffffffffffff8211610e8d570181601f82011215610db357805167ffffffffffffffff8111610e6057908160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f889501160193610e3e6040519586611d6a565b81855260208284010111610da5578060208093018386015e830101525f610b75565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8480fd5b6040513d85823e3d90fd5b506020813d602011610ec8575b81610eb660209383611d6a565b81010312610d7a57610b399051610ace565b3d9150610ea9565b81610eda91611d6a565b61010e57805f610a5d565b50fd5b81610ef291611d6a565b61010e57805f6109fd565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b54610f3881611ece565b610f456040519182611d6a565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b83831061101d57868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610fb257505050500390f35b9193602061100d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610ffd8351604084526040840190611b44565b9201519084818403910152611b87565b9601920192018594939192610fa3565b6002602060019260405161103081611d4e565b604051611041816102af818a611dab565b815261104e858701611ee6565b83820152815201920192019190610f75565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b8181106110dd5761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016110c6565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b8181106111865761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920161116f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e546111ed81611ece565b6111fa6040519182611d6a565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106113485786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106112665786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b8281106112ff57505050505060208060019297019301930190928695949293611259565b909192939460208061133b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611b44565b97019501939291016112db565b60405161135481611d4e565b73ffffffffffffffffffffffffffffffffffffffff835416815260018301805461137d81611ece565b9161138b6040519384611d6a565b8183528a526020808b20908b9084015b8382106113c157505050506001928260209283600295015281520192019201919061122a565b6001602081926040516113d8816102af818a611dab565b81520193019101909161139b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061146660048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457611666575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457611651575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610ee5578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156108345761163c575b50506004602073ffffffffffffffffffffffffffffffffffffffff61157a612265565b1661158a813b1515610a8c611e93565b604051928380927f3644e5150000000000000000000000000000000000000000000000000000000082525afa8015610834578290611608575b6108189150604051906115d7604083611d6a565b601e82527f446f6d61696e20736570617261746f722073686f756c64206265207365740000602083015215156123b6565b506020813d602011611634575b8161162260209383611d6a565b81010312610d7a5761081890516115c3565b3d9150611615565b8161164691611d6a565b61010e57805f611557565b8161165b91611d6a565b61010e57805f6114f7565b8161167091611d6a565b61010e57805f61148b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106116f85761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016116e1565b905034610d7a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d7a57611dbc80820182811067ffffffffffffffff821117611ac8578291612424833903905ff080156119f8577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff806021556117f2602254611cfd565b601f8111611a66575b50608560225560225f527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51255602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156119f8575f90611a03575b73ffffffffffffffffffffffffffffffffffffffff915016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156119f8576119ea575080f35b6119f691505f90611d6a565b005b6040513d5f823e3d90fd5b506020813d602011611a5e575b81611a1d60209383611d6a565b81010312610d7a575173ffffffffffffffffffffffffffffffffffffffff81168103610d7a5773ffffffffffffffffffffffffffffffffffffffff90611927565b3d9150611a10565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b818110611abd57506117fb565b5f8155600101611ab0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611b185750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611b0b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611ba45750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611b97565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c0e57505050505090565b9091929394602080611c4a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611b44565b97019301930191939290611bff565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c8b57505050505090565b9091929394602080611cee837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611b87565b97019301930191939290611c7c565b90600182811c92168015611d44575b6020831014611d1757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611d0c565b6040810190811067ffffffffffffffff821117611ac857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ac857604052565b5f9291815491611dba83611cfd565b8083529260018116908115611e0f5750600114611dd657505050565b5f9081526020812093945091925b838310611df5575060209250010190565b600181602092949394548385870101520191019190611de4565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611e909160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611dab565b90565b60405190611ea2604083611d6a565b601b82527f456e747279706f696e742073686f756c64206861766520636f646500000000006020830152565b67ffffffffffffffff8111611ac85760051b60200190565b90604051918281549182825260208201905f5260205f20925f905b8060078301106120ff57611f579454918181106120c9575b818110612093575b81811061205d575b818110612027575b818110611ff1575b818110611fbb575b818110611f86575b10611f59575b500383611d6a565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611f4f565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611f49565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611f41565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611f39565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611f31565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611f29565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611f21565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611f19565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f01565b60085460ff161561219c57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156119f8575f91612233575b50151590565b90506020813d60201161225d575b8161224e60209383611d6a565b81010312610d7a57515f61222d565b3d9150612241565b73ffffffffffffffffffffffffffffffffffffffff610e2960405161228d6020830182611d6a565b81815260208101916141e0833951902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152612308607582611d6a565b5190201690565b15156001810361231d575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57612386915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611b44565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156119f8576123ac5750565b5f611f5791611d6a565b15806123c0575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57612386915f9160405193849283927fa34edc03000000000000000000000000000000000000000000000000000000008452156004840152604060248401526044830190611b4456fe608080604052346026576201000162ff00ff19600c541617600c55611d91908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c908163c04062261461007a575063f8ccbf4714610034575f80fd5b3461007757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261007757602060ff600c5460101c166040519015158152f35b80fd5b905034610c90575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c90577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610c85575f91610ce5575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610c85575f90610c94575b6101c59150604051610196604082610d17565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610dc8565b610e299082604051916101db6020850184610d17565b8383526020830193610f338539604051936101f7604086610d17565b601685527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610698575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526102c5607582610d17565b51902016936002853b11610647578461031691604051906102e7604083610d17565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610e6f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561064357604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c95761062e575b505060206103c891604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610d85565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156106235783916105d4575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c557826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c9576105b0575b505073ffffffffffffffffffffffffffffffffffffffff168103610552576002813b11156104f4576104f1905b60405161049c606082610d17565b602381527f547261696c73496e74656e74456e747279706f696e74206465706c6f7965642060208201527f61743a00000000000000000000000000000000000000000000000000000000006040820152610dc8565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b816105ba91610d17565b6105c557825f610461565b8280fd5b6040513d84823e3d90fd5b90506020813d60201161061b575b816105ef60209383610d17565b810103126105c5575173ffffffffffffffffffffffffffffffffffffffff811681036105c5575f6103f6565b3d91506105e2565b6040513d85823e3d90fd5b8161063891610d17565b6105c557825f610385565b5080fd5b8493506104f1949150610693925060405190610664604083610d17565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610e6f565b61048e565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610a1d575b5f8061073961077f6040516106d2604082610d17565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610d85565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa506040516107a36101a082610d17565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a1957836109ca91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610d85565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e5784916109f9575b5050610240565b81610a0391610d17565b6105c557825f6109f2565b6040513d86823e3d90fd5b8380fd5b9091505f80610a9d610ac9604051610a36604082610d17565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610d85565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c90576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610c8557610c70575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610c435786808080969594819482906657c084e5f3c00014610c3a575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f1156105c957737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c5576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e578491610c25575b50506106bc565b81610c2f91610d17565b6105c557825f610c1e565b506108fc610b96565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610c7d9195505f90610d17565b5f935f610b4d565b6040513d5f823e3d90fd5b5f80fd5b506020813d602011610cdd575b81610cae60209383610d17565b81010312610c90575173ffffffffffffffffffffffffffffffffffffffff81168103610c90576101c590610183565b3d9150610ca1565b90506020813d602011610d0f575b81610d0060209383610d17565b81010312610c9057515f61012c565b3d9150610cf3565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d5857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610e25610e585f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610d85565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50565b610e58610ecf915f9473ffffffffffffffffffffffffffffffffffffffff610eff87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610d85565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610d85565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d1756fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220fb54faff40f8d444e27e4a7c939db219bfaa3a95982c1885e28c7e9f1e0081bf64736f6c634300081e00336080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220093e8103c2a4097405bd859edba44a72145e604052ddfc57a1cc8c8d883769b764736f6c634300081e0033","sourceMap":"499:4261:72:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2723:18:9;499:4261:72;;;;;;;2723:18:9;499:4261:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;2030:14:2;;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2575:18:9;499:4261:72;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;499:4261:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;499:4261:72;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2876:18:9;499:4261:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;2030:14:2;;499:4261:72;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;499:4261:72;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3653:18:9;499:4261:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;2030:14:2;;499:4261:72;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;2935:40:72;;;;499:4261;;;2030:14:2;2935:40:72;;;;;;499:4261;2935:40;;;:::i;:::-;;;;336:42:2;2935:40:72;;;;;;;;499:4261;3056:33;;;;:::i;:::-;336:42:2;3128:15:72;;;;499:4261;;;2030:14:2;3128:15:72;;;;499:4261;3128:15;;336:42:2;3128:15:72;;;;;;;;499:4261;;;3153:13;499:4261;;;;3153:19;;;;;499:4261;;;;;;3153:19;;;;2030:14:2;3153:19:72;;;;;;;;;;499:4261;;;;;3226:100;3235:27;;:31;;499:4261;;;;;;;:::i;:::-;;;;;;;;;;;;;;3226:100;:::i;:::-;336:42:2;3393:40:72;;;;499:4261;;;2030:14:2;3393:40:72;;;;;;499:4261;3393:40;;;:::i;:::-;;;;336:42:2;3393:40:72;;;;;;;;499:4261;3523:15;;336:42:2;3523:15:72;;;;499:4261;;;2030:14:2;3523:15:72;;;;499:4261;3523:15;;336:42:2;3523:15:72;;;;;;;;499:4261;;;3153:13;499:4261;;;;3548:19;;;;;499:4261;;;;;;3548:19;;;;2030:14:2;3548:19:72;;;;;;;;;;499:4261;3658:27;3649:107;3658:27;;:31;;499:4261;;;;;;;:::i;:::-;;;;;;;;;;;;;;3649:107;:::i;:::-;499:4261;;3548:19;;;;;:::i;:::-;499:4261;;3548:19;;;;499:4261;;;;3548:19;499:4261;;;;;;;;;3523:15;;;;;:::i;:::-;499:4261;;3523:15;;;;3393:40;;;;;:::i;:::-;499:4261;;3393:40;;;;3153:19;;;;;:::i;:::-;499:4261;;3153:19;;;;3128:15;;;;;:::i;:::-;499:4261;;3128:15;;;;2935:40;;;;;:::i;:::-;499:4261;;2935:40;;;;499:4261;;;;;;;;;;;;3162:18:9;499:4261:72;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;499:4261:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;3851:40:72;;;;499:4261;;;2030:14:2;3851:40:72;;;;;;499:4261;3851:40;;;:::i;:::-;;;;336:42:2;3851:40:72;;;;;;;;499:4261;;;3931:13;499:4261;;;;3931:19;;;;;499:4261;;;;;;3931:19;;;;2030:14:2;3931:19:72;;;;;;;;;;499:4261;4041:33;;499:4261;4041:33;;:::i;:::-;499:4261;4224:82;4233:31;;:35;;499:4261;;:::i;:::-;4224:82;;:::i;:::-;499:4261;;2030:14:2;4410:29:72;;;;499:4261;4410:29;;;;;;;;;;;;499:4261;4449:83;499:4261;;;;;;;;;:::i;:::-;;;;;4410:29;499:4261;;;;;;;;4460:29;;4449:83;:::i;:::-;499:4261;;2030:14:2;4598:20:72;;;;499:4261;4598:20;;;;;;;;;;;;;499:4261;;;;;;;;;;;;:::i;:::-;4270:4;499:4261;;;4410:29;499:4261;;;;;;;;;:::i;:::-;;;;;4410:29;499:4261;;;336:42:2;5288:29:4;;;;499:4261:72;;;;;;;;5288:29:4;;;;;2030:14:2;5288:29:4;;499:4261:72;;5288:29:4;;499:4261:72;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;5288:29:4;;336:42:2;5288:29:4;;;;;;;;499:4261:72;;;4410:29;499:4261;;;;4668:35;;;;2030:14:2;4668:35:72;;;;;;;;;;;;499:4261;4657:94;499:4261;;;;;;;;:::i;:::-;;;;;4410:29;499:4261;;;4668:49;;4657:94;:::i;4668:35::-;;4410:29;4668:35;;4410:29;4668:35;;;;;;499:4261;4668:35;;;:::i;:::-;;;499:4261;;;;4657:94;499:4261;;4668:35;;499:4261;-1:-1:-1;499:4261:72;;4668:35;;;-1:-1:-1;4668:35:72;;;499:4261;;;;;;;;;5288:29:4;;;;;:::i;:::-;499:4261:72;;5288:29:4;;;;499:4261:72;;;;5288:29:4;499:4261:72;;;;;;;;;5288:29:4;499:4261:72;;;4598:20;;;;;;;;;;;;:::i;:::-;;;499:4261;4410:29;499:4261;;;;;;;;;;;;;;;;3931:13;499:4261;;;;;;;;;;;;;;;4410:29;499:4261;3931:13;499:4261;;;;;;;;;;;;:::i;:::-;;;;4410:29;499:4261;;;;;;;;4410:29;499:4261;;;;;;;;;;;4598:20;;;499:4261;;;;;;;;;;;;;;4598:20;499:4261;;;;;;;;;4410:29;;;;;;;;;;;;499:4261;4410:29;;;:::i;:::-;;;499:4261;;;;4449:83;499:4261;;4410:29;;;;;-1:-1:-1;4410:29:72;;3931:19;;;;;:::i;:::-;499:4261;;3931:19;;;;;499:4261;;3851:40;;;;;:::i;:::-;499:4261;;3851:40;;;;499:4261;;;;;;;;;;;;3346:26:9;499:4261:72;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3346:26:9;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;499:4261:72;;;;;;;3501:18:9;499:4261:72;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;499:4261:72;;;;;;;3794:16:9;499:4261:72;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;499:4261:72;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3948:19:9;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;;499:4261:72;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;2193:40:72;;;;499:4261;;;2030:14:2;2193:40:72;;;;;;499:4261;2193:40;;;:::i;:::-;;;;336:42:2;2193:40:72;;;;;;;;499:4261;2244:15;;336:42:2;2244:15:72;;;;499:4261;;;2030:14:2;2244:15:72;;;;499:4261;2244:15;;336:42:2;2244:15:72;;;;;;;;499:4261;;;2269:13;499:4261;;;;2269:19;;;;;499:4261;;;;;;2269:19;;;;2030:14:2;2269:19:72;;;;;;;;;;499:4261;2369:33;;499:4261;2740:29;499:4261;2369:33;;:::i;:::-;499:4261;2552:82;2561:31;;:35;;499:4261;;:::i;2552:82::-;499:4261;;2740:29;;;;2030:14:2;2740:29:72;;;;;;;;;;;;499:4261;2779:75;499:4261;;;;;;;;;:::i;:::-;;;;;2740:29;499:4261;;;2790:29;;2779:75;:::i;2740:29::-;;;;;;;;;;;;499:4261;2740:29;;;:::i;:::-;;;499:4261;;;;2779:75;499:4261;;2740:29;;;;;-1:-1:-1;2740:29:72;;2269:19;;;;;:::i;:::-;499:4261;;2269:19;;;;2244:15;;;;;:::i;:::-;499:4261;;2244:15;;;;2193:40;;;;;:::i;:::-;499:4261;;2193:40;;;;499:4261;;;;;;;;;;;;;;;;;3018:16:9;499:4261:72;;;;;;;3018:16:9;499:4261:72;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:34;;;;;;;;;;;;;;;;;;;;499:4261;1619:34;;;;;499:4261;;1603:50;499:4261;;;;;;;;1603:50;499:4261;1677:66;1663:80;499:4261;;1774:85;499:4261;;:::i;:::-;1603:50;499:4261;;;;;;;1774:85;499:4261;1774:85;499:4261;;;;;;;;;;;1663:80;2030:14:2;499:4261:72;;1881:20;2030:14:2;1881:20:72;;499:4261;1881:20;;2030:14:2;499:4261:72;1881:20;;;336:42:2;1881:20:72;;;;;;499:4261;1881:20;;;499:4261;;;;;2030:14:2;;499:4261:72;2030:14:2;;;499:4261:72;2030:14:2;336:42;1911:29:72;;;;499:4261;;1911:29;2030:14:2;1911:29:72;;499:4261;1911:29;;499:4261;1930:9;1881:20;2030:14:2;;;499:4261:72;1911:29;;;;336:42:2;1911:29:72;;;;;;;;499:4261;;;1911:29;;;;499:4261;1911:29;;:::i;:::-;499:4261;1911:29;499:4261;;;;;;;;;1881:20;;499:4261;1881:20;;499:4261;1881:20;;;;;;499:4261;1881:20;;;:::i;:::-;;;2030:14:2;;;;;499:4261:72;;;2030:14:2;;;;499:4261:72;1881:20;;;;;;-1:-1:-1;1881:20:72;;499:4261;1603:50;499:4261;;;;;;;;;;;;;;;;;;;;;;;1619:34;499:4261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;499:4261:72;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;499:4261:72;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;2030:14:2;499:4261:72;2030:14:2;;;;;;;;;;;499:4261:72;2030:14:2;:::o;:::-;;499:4261:72;;2030:14:2;499:4261:72;;2030:14:2;;;;;;;;;;;;;:::o;499:4261:72:-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;499:4261:72;;;;;;;;-1:-1:-1;499:4261:72;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;2218:14;499:4261;:::i;:::-;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;499:4261:72;;-1:-1:-1;499:4261:72;;-1:-1:-1;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;2030:14:2;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;;;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;;;499:4261:72;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;499:4261:72;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;;;;;;;;;;;;;;1306:195:4;1365:7;499:4261:72;;;;;;1395:4:4;1388:11;:::o;1361:134::-;499:4261:72;;2030:14:2;1437:33:4;;499:4261:72;1437:33:4;;;499:4261:72;192:59:4;1255:17;;;2030:14:2;1255:17:4;1437:33;;;499:4261:72;1437:33:4;;;;;;;499:4261:72;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;499:4261:72;1437:33:4;;;:::i;:::-;;;499:4261:72;;;;;1437:33:4;;;;;;-1:-1:-1;1437:33:4;;1160:227:72;499:4261;1309:41;499:4261;;;1309:41;;;499:4261;;:::i;:::-;1309:41;;;;;;;;;;499:4261;1143:19:75;;499:4261:72;;1309:41;1082:81:75;;107:42:1;499:4261:72;107:42:1;;;;;;;-1:-1:-1;107:42:1;;;2030:14:2;107:42:1;;;2030:14:2;107:42:1;1082:81:75;;;;;;:::i;:::-;499:4261:72;1072:92:75;;499:4261:72;1160:227;:::o;2487:171:4:-;499:4261:72;;2598:4;2583:13:4;;2579:73;;2487:171;;:::o;2579:73::-;499:4261:72;2612:29:4;;;;499:4261:72;;;;;;2612:29:4;;;;;2030:14:2;2612:29:4;;;;;499:4261:72;2598:4;499:4261;;;;;;;;;;;;;;:::i;:::-;2612:29:4;;499:4261:72;2612:29:4;;;;;;;;2487:171;:::o;2612:29::-;499:4261:72;2612:29:4;;;:::i;1894:148::-;1980:5;1976:60;;;1894:148;;:::o;1976:60::-;499:4261:72;2001:24:4;;;;499:4261:72;;-1:-1:-1;499:4261:72;;;2001:24:4;;;;;2030:14:2;2001:24:4;;499:4261:72;2001:24:4;;;499:4261:72;;;;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_DeployIntentEntrypoint_SameAddress()":"8cca1cf9","test_DeployIntentEntrypoint_Success()":"207ed43d","test_DeployedIntentEntrypoint_HasCorrectConfiguration()":"7ae06105"}}}},"test/script/TrailsRouter.s.t.sol":{"TrailsRouterDeploymentTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_DeployTrailsRouter_SameAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployTrailsRouter_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployedRouter_HasCorrectConfiguration","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployTrailsRouter_SameAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployTrailsRouter_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployedRouter_HasCorrectConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/script/TrailsRouter.s.t.sol\":\"TrailsRouterDeploymentTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"script/TrailsRouter.s.sol\":{\"keccak256\":\"0x7606dd601cd7f10ab9c9a94a1ff6d6bc7ae2d4edd220bb161d89adc07eff6d75\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bf0dfa40196e494e9f8cdbb795bdc6c9bda421e7938ff0ef90aa62f571525e\",\"dweb:/ipfs/QmaoLXskfyE4A27SkckeNG4Z2AVyEvn6g63XT91UDSQHUo\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/script/TrailsRouter.s.t.sol\":{\"keccak256\":\"0xa3f910d7388a6be567524cfba71f3166670dcfe0e47704c0f948a447592f89e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0750f7079ad4ccf0f9c5ba237810b45179ed58e51e936e76f1028bc603a4b26a\",\"dweb:/ipfs/QmVuvjtY4dFXxCicrbd1jTT8258Jp39syoBeChwWdc63Fb\"]},\"test/utils/Create2Utils.sol\":{\"keccak256\":\"0xe5b36a1cdb5827185a7948737c4f61eca071f949c6d7f57339ebaaaee948bbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63655eac25e4f37b069b136660b1585c8be05e749f6dd513ed9a763be83fcb9e\",\"dweb:/ipfs/QmdjR1QrAPUYN8LvsrGk2f1ZvVVfQ2aqPdKqmuSf8H1DpV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f556176b590816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816306fe3285146112f4575080630a9254e414610f1a5780631ed7831c14610e715780632ade388014610c3d5780633e5e3c2314610b945780633f7286f414610aeb57806366d9a9a01461098857806385226c81146108d85780638d211eee146106b6578063916a17c6146105e1578063b0464fdc1461050c578063b5508aa914610455578063ba414fa614610412578063dd79c8ae146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e8187038261197a565b60405191829182611729565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061024a60048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576103fd575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef576103da575b508080808073ffffffffffffffffffffffffffffffffffffffff6102f1611ec6565b16610307813b1515610301611db2565b90611ff1565b5af13d156103d1573d67ffffffffffffffff81116103a4576040516103a19291610359601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018361197a565b81528360203d92013e5b6040519061037260408361197a565b602082527f526f757465722073686f756c64206163636570742062617369632063616c6c736020830152611ff1565b80f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6103a190610363565b816103e49161197a565b61010e57805f6102cf565b6040513d84823e3d90fd5b50fd5b816104079161197a565b61010e57805f61026f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602061044b611ded565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461049081611af4565b9161049e604051938461197a565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106104e0576040518061019a8782611810565b6001602081926040516104fe816104f78189611a0c565b038261197a565b8152019201920191906104cb565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c5461054781611af4565b91610555604051938461197a565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610597576040518061019a878261188d565b600260206001926040516105aa81611931565b73ffffffffffffffffffffffffffffffffffffffff86541681526105cf858701611b0c565b83820152815201920192019190610582565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d5461061c81611af4565b9161062a604051938461197a565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b83831061066c576040518061019a878261188d565b6002602060019260405161067f81611931565b73ffffffffffffffffffffffffffffffffffffffff86541681526106a4858701611b0c565b83820152815201920192019190610657565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061073660048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576108c3575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576108ae575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef57610899575b506103a173ffffffffffffffffffffffffffffffffffffffff610848611ec6565b1661088e813b15156040519061085f60408361197a565b601f82527f547261696c73526f757465722073686f756c64206265206465706c6f796564006020830152611ff1565b3b1515610301611db2565b816108a39161197a565b61010e57805f610827565b816108b89161197a565b61010e57805f6107c7565b816108cd9161197a565b61010e57805f61075b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a5461091381611af4565b91610921604051938461197a565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610963576040518061019a8782611810565b60016020819260405161097a816104f78189611a0c565b81520192019201919061094e565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b546109c381611af4565b6109d0604051918261197a565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610aa857868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610a3d57505050500390f35b91936020610a98827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610a888351604084526040840190611778565b92015190848184039101526117bb565b9601920192018594939192610a2e565b60026020600192604051610abb81611931565b604051610acc816104f7818a611a0c565b8152610ad9858701611b0c565b83820152815201920192019190610a00565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b818110610b685761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610b51565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b818110610c115761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610bfa565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e54610c7881611af4565b610c85604051918261197a565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b838310610dd35786858760405192839260208401906020855251809152604084019160408260051b8601019392815b838310610cf15786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110610d8a57505050505060208060019297019301930190928695949293610ce4565b9091929394602080610dc6837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611778565b9701950193929101610d66565b604051610ddf81611931565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610e0881611af4565b91610e16604051938461197a565b8183528a526020808b20908b9084015b838210610e4c575050505060019282602092836002950152815201920192019190610cb5565b600160208192604051610e63816104f7818a611a0c565b815201930191019091610e26565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b818110610eee5761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ed7565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e576040516133238082019082821067ffffffffffffffff8311176112c7579082916120998339039082f080156112ba577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80602155610fec6022546119bb565b601f8111611258575b506085602255602281527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5125580602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156103ef5782906111f5575b73ffffffffffffffffffffffffffffffffffffffff915016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103fa57604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d631000006024820152818160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576111e45750f35b816111ee9161197a565b61010e5780f35b506020813d602011611250575b8161120f6020938361197a565b810103126103fa575173ffffffffffffffffffffffffffffffffffffffff811681036103fa5773ffffffffffffffffffffffffffffffffffffffff90611122565b3d9150611202565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b8181106112af5750610ff5565b8281556001016112a2565b50604051903d90823e3d90fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b905034611725575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261172557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611725577f3d5923ee0000000000000000000000000000000000000000000000000000000081525f818061137160048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561171a57611707575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116f2575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef576116dd575b505073ffffffffffffffffffffffffffffffffffffffff611480611ec6565b166114ec813b15156040519061149760608361197a565b602782527f4669727374206465706c6f796d656e743a20547261696c73526f75746572206460208301527f65706c6f796564000000000000000000000000000000000000000000000000006040830152611ff1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156116af57816040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061153d60048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116c8575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156116af57816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116b3575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156116af578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef5761169a575b506103a1823b15156040519061164560608361197a565b602e82527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465722060208301527f7374696c6c206465706c6f7965640000000000000000000000000000000000006040830152611ff1565b816116a49161197a565b6116af57815f61162e565b5080fd5b816116bd9161197a565b6116af57815f6115ce565b816116d29161197a565b6116af57815f611562565b816116e79161197a565b61010e57805f611461565b816116fc9161197a565b61010e57805f611401565b61171391505f9061197a565b5f5f611396565b6040513d5f823e3d90fd5b5f80fd5b60206040818301928281528451809452019201905f5b81811061174c5750505090565b825173ffffffffffffffffffffffffffffffffffffffff1684526020938401939092019160010161173f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b8181106117d85750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016117cb565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061184257505050505090565b909192939460208061187e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611778565b97019301930191939290611833565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106118bf57505050505090565b9091929394602080611922837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906117bb565b970193019301919392906118b0565b6040810190811067ffffffffffffffff82111761194d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761194d57604052565b90600182811c92168015611a02575b60208310146119d557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916119ca565b5f9291815491611a1b836119bb565b8083529260018116908115611a705750600114611a3757505050565b5f9081526020812093945091925b838310611a56575060209250010190565b600181602092949394548385870101520191019190611a45565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611af19160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611a0c565b90565b67ffffffffffffffff811161194d5760051b60200190565b90604051918281549182825260208201905f5260205f20925f905b806007830110611d2557611b7d945491818110611cef575b818110611cb9575b818110611c83575b818110611c4d575b818110611c17575b818110611be1575b818110611bac575b10611b7f575b50038361197a565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611b75565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611b6f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611b67565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611b5f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611b57565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611b4f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611b47565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611b3f565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611b27565b60405190611dc160408361197a565b601782527f526f757465722073686f756c64206861766520636f64650000000000000000006020830152565b60085460ff1615611dfd57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561171a575f91611e94575b50151590565b90506020813d602011611ebe575b81611eaf6020938361197a565b8101031261172557515f611e8e565b3d9150611ea2565b73ffffffffffffffffffffffffffffffffffffffff6122c460405190611eef602082018361197a565b80825260208201906153bc8239611f7c60405191602080840173ca11bde05977b3631167028862be2a173976ca118152818552611f2d60408661197a565b60405194859383850197518091895e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261197a565b51902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152611fea60758261197a565b5190201690565b151560018103611fff575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561172557612068915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611778565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561171a5761208e5750565b5f611b7d9161197a56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220d47ad8b09bfdf5822b67454b1b50c969851c637cbb2b87ec469d3db05f1899e064736f6c634300081e0033","sourceMap":"459:3906:73:-:0;;;;;;;3200:4:5;459:3906:73;;3200:4:5;459:3906:73;;;3200:4:5;459:3906:73;3200:4:5;459:3906:73;;1087:4:16;459:3906:73;;;1087:4:16;459:3906:73;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c90816306fe3285146112f4575080630a9254e414610f1a5780631ed7831c14610e715780632ade388014610c3d5780633e5e3c2314610b945780633f7286f414610aeb57806366d9a9a01461098857806385226c81146108d85780638d211eee146106b6578063916a17c6146105e1578063b0464fdc1461050c578063b5508aa914610455578063ba414fa614610412578063dd79c8ae146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e8187038261197a565b60405191829182611729565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061024a60048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576103fd575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef576103da575b508080808073ffffffffffffffffffffffffffffffffffffffff6102f1611ec6565b16610307813b1515610301611db2565b90611ff1565b5af13d156103d1573d67ffffffffffffffff81116103a4576040516103a19291610359601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018361197a565b81528360203d92013e5b6040519061037260408361197a565b602082527f526f757465722073686f756c64206163636570742062617369632063616c6c736020830152611ff1565b80f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6103a190610363565b816103e49161197a565b61010e57805f6102cf565b6040513d84823e3d90fd5b50fd5b816104079161197a565b61010e57805f61026f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602061044b611ded565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461049081611af4565b9161049e604051938461197a565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106104e0576040518061019a8782611810565b6001602081926040516104fe816104f78189611a0c565b038261197a565b8152019201920191906104cb565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c5461054781611af4565b91610555604051938461197a565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610597576040518061019a878261188d565b600260206001926040516105aa81611931565b73ffffffffffffffffffffffffffffffffffffffff86541681526105cf858701611b0c565b83820152815201920192019190610582565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d5461061c81611af4565b9161062a604051938461197a565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b83831061066c576040518061019a878261188d565b6002602060019260405161067f81611931565b73ffffffffffffffffffffffffffffffffffffffff86541681526106a4858701611b0c565b83820152815201920192019190610657565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061073660048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576108c3575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576108ae575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef57610899575b506103a173ffffffffffffffffffffffffffffffffffffffff610848611ec6565b1661088e813b15156040519061085f60408361197a565b601f82527f547261696c73526f757465722073686f756c64206265206465706c6f796564006020830152611ff1565b3b1515610301611db2565b816108a39161197a565b61010e57805f610827565b816108b89161197a565b61010e57805f6107c7565b816108cd9161197a565b61010e57805f61075b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a5461091381611af4565b91610921604051938461197a565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610963576040518061019a8782611810565b60016020819260405161097a816104f78189611a0c565b81520192019201919061094e565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b546109c381611af4565b6109d0604051918261197a565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610aa857868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610a3d57505050500390f35b91936020610a98827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610a888351604084526040840190611778565b92015190848184039101526117bb565b9601920192018594939192610a2e565b60026020600192604051610abb81611931565b604051610acc816104f7818a611a0c565b8152610ad9858701611b0c565b83820152815201920192019190610a00565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b818110610b685761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610b51565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b818110610c115761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610bfa565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e54610c7881611af4565b610c85604051918261197a565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b838310610dd35786858760405192839260208401906020855251809152604084019160408260051b8601019392815b838310610cf15786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110610d8a57505050505060208060019297019301930190928695949293610ce4565b9091929394602080610dc6837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611778565b9701950193929101610d66565b604051610ddf81611931565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610e0881611af4565b91610e16604051938461197a565b8183528a526020808b20908b9084015b838210610e4c575050505060019282602092836002950152815201920192019190610cb5565b600160208192604051610e63816104f7818a611a0c565b815201930191019091610e26565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b818110610eee5761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ed7565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e576040516133238082019082821067ffffffffffffffff8311176112c7579082916120998339039082f080156112ba577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80602155610fec6022546119bb565b601f8111611258575b506085602255602281527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5125580602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156103ef5782906111f5575b73ffffffffffffffffffffffffffffffffffffffff915016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103fa57604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d631000006024820152818160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576111e45750f35b816111ee9161197a565b61010e5780f35b506020813d602011611250575b8161120f6020938361197a565b810103126103fa575173ffffffffffffffffffffffffffffffffffffffff811681036103fa5773ffffffffffffffffffffffffffffffffffffffff90611122565b3d9150611202565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b8181106112af5750610ff5565b8281556001016112a2565b50604051903d90823e3d90fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b905034611725575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261172557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611725577f3d5923ee0000000000000000000000000000000000000000000000000000000081525f818061137160048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561171a57611707575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116f2575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef576116dd575b505073ffffffffffffffffffffffffffffffffffffffff611480611ec6565b166114ec813b15156040519061149760608361197a565b602782527f4669727374206465706c6f796d656e743a20547261696c73526f75746572206460208301527f65706c6f796564000000000000000000000000000000000000000000000000006040830152611ff1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156116af57816040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061153d60048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116c8575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156116af57816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116b3575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156116af578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef5761169a575b506103a1823b15156040519061164560608361197a565b602e82527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465722060208301527f7374696c6c206465706c6f7965640000000000000000000000000000000000006040830152611ff1565b816116a49161197a565b6116af57815f61162e565b5080fd5b816116bd9161197a565b6116af57815f6115ce565b816116d29161197a565b6116af57815f611562565b816116e79161197a565b61010e57805f611461565b816116fc9161197a565b61010e57805f611401565b61171391505f9061197a565b5f5f611396565b6040513d5f823e3d90fd5b5f80fd5b60206040818301928281528451809452019201905f5b81811061174c5750505090565b825173ffffffffffffffffffffffffffffffffffffffff1684526020938401939092019160010161173f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b8181106117d85750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016117cb565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061184257505050505090565b909192939460208061187e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611778565b97019301930191939290611833565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106118bf57505050505090565b9091929394602080611922837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906117bb565b970193019301919392906118b0565b6040810190811067ffffffffffffffff82111761194d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761194d57604052565b90600182811c92168015611a02575b60208310146119d557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916119ca565b5f9291815491611a1b836119bb565b8083529260018116908115611a705750600114611a3757505050565b5f9081526020812093945091925b838310611a56575060209250010190565b600181602092949394548385870101520191019190611a45565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611af19160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611a0c565b90565b67ffffffffffffffff811161194d5760051b60200190565b90604051918281549182825260208201905f5260205f20925f905b806007830110611d2557611b7d945491818110611cef575b818110611cb9575b818110611c83575b818110611c4d575b818110611c17575b818110611be1575b818110611bac575b10611b7f575b50038361197a565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611b75565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611b6f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611b67565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611b5f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611b57565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611b4f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611b47565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611b3f565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611b27565b60405190611dc160408361197a565b601782527f526f757465722073686f756c64206861766520636f64650000000000000000006020830152565b60085460ff1615611dfd57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561171a575f91611e94575b50151590565b90506020813d602011611ebe575b81611eaf6020938361197a565b8101031261172557515f611e8e565b3d9150611ea2565b73ffffffffffffffffffffffffffffffffffffffff6122c460405190611eef602082018361197a565b80825260208201906153bc8239611f7c60405191602080840173ca11bde05977b3631167028862be2a173976ca118152818552611f2d60408661197a565b60405194859383850197518091895e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261197a565b51902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152611fea60758261197a565b5190201690565b151560018103611fff575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561172557612068915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611778565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561171a5761208e5750565b5f611b7d9161197a56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220d47ad8b09bfdf5822b67454b1b50c969851c637cbb2b87ec469d3db05f1899e064736f6c634300081e0033","sourceMap":"459:3906:73:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2723:18:9;459:3906:73;;;;;;2030:14:2;2723:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;3674:40:73;;;;459:3906;;;2030:14:2;3674:40:73;;;;;;459:3906;3674:40;;;:::i;:::-;;;;336:42:2;3674:40:73;;;;;;;;459:3906;2030:14:2;459:3906:73;3754:13;2030:14:2;;;459:3906:73;3754:19;;;;;459:3906;;;;;;3754:19;;;;2030:14:2;3754:19:73;;;;;;;;;;459:3906;3861:23;;;;;459:3906;3861:23;;:::i;:::-;459:3906;4007:74;4016:27;;:31;;459:3906;;:::i;:::-;4007:74;;:::i;:::-;4263:24;;459:3906;;;;;2030:14:2;;;;;459:3906:73;;4297:59;;459:3906;2030:14:2;3754:13:73;459:3906;;;;2030:14:2;;459:3906:73;2030:14:2;:::i;:::-;;;459:3906:73;2030:14:2;459:3906:73;;;;;;;2030:14:2;;459:3906:73;2030:14:2;;:::i;:::-;459:3906:73;2030:14:2;;459:3906:73;;;;;4297:59;:::i;:::-;459:3906;;2030:14:2;;;;;;;459:3906:73;2030:14:2;;459:3906:73;4297:59;459:3906;;;3754:19;;;;;:::i;:::-;459:3906;;3754:19;;;;;459:3906;;2030:14:2;459:3906:73;;2030:14:2;;;;3754:19:73;459:3906;;3674:40;;;;;:::i;:::-;459:3906;;3674:40;;;;459:3906;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2575:18:9;459:3906:73;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;2575:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;459:3906:73;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;2876:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;459:3906:73;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;459:3906:73;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;3653:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;459:3906:73;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;2253:40:73;;;;459:3906;;;2030:14:2;2253:40:73;;;;;;459:3906;2253:40;;;:::i;:::-;;;;336:42:2;2253:40:73;;;;;;;;459:3906;2304:15;;336:42:2;2304:15:73;;;;459:3906;;;2030:14:2;2304:15:73;;;;459:3906;2304:15;;336:42:2;2304:15:73;;;;;;;;459:3906;2030:14:2;459:3906:73;2329:13;2030:14:2;;;459:3906:73;2329:19;;;;;459:3906;;;;;;2329:19;;;;2030:14:2;2329:19:73;;;;;;;;;;459:3906;2458:23;2693:74;459:3906;2458:23;;:::i;:::-;459:3906;2491:79;2500:24;;:28;;459:3906;;2030:14:2;;459:3906:73;2030:14:2;;:::i;:::-;2329:13:73;2030:14:2;;459:3906:73;;;;;2491:79;:::i;:::-;2702:27;:31;;459:3906;;:::i;2329:19::-;;;;;:::i;:::-;459:3906;;2329:19;;;;2304:15;;;;;:::i;:::-;459:3906;;2304:15;;;;2253:40;;;;;:::i;:::-;459:3906;;2253:40;;;;459:3906;;;;;;;;;;;;3162:18:9;459:3906:73;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;3162:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;459:3906:73;;;;:::i;:::-;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;3346:26:9;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2030:14:2;;;:::i;:::-;459:3906:73;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;459:3906:73;;;;;;2030:14:2;3501:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;459:3906:73;;;;;;2030:14:2;3794:16:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;459:3906:73;;;;:::i;:::-;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;3948:19:9;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;2030:14:2;;;:::i;:::-;459:3906:73;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;2030:14:2;;459:3906:73;2030:14:2;;;;;;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;459:3906:73;;;;;;2030:14:2;3018:16:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;459:3906;;1668:40;459:3906;;;;;;;;1668:40;459:3906;1732:66;1718:80;459:3906;;1829:85;459:3906;;:::i;:::-;1668:40;459:3906;;;;;;;1829:85;459:3906;1829:85;2030:14:2;;459:3906:73;2030:14:2;459:3906:73;;;;;;;;1718:80;459:3906;;;1936:20;2030:14:2;1936:20:73;;459:3906;1936:20;;459:3906;2030:14:2;1936:20:73;;;336:42:2;1936:20:73;;;;;;;;;;459:3906;;;;;;;2030:14:2;459:3906:73;;;2030:14:2;459:3906:73;336:42:2;1966:29:73;;;;459:3906;;1966:29;2030:14:2;1966:29:73;;459:3906;1966:29;;459:3906;1985:9;1936:20;459:3906;;;1966:29;;;;;336:42:2;1966:29:73;;;;;;;;459:3906;;1966:29;;;;;:::i;:::-;459:3906;;1966:29;459:3906;1936:20;;2030:14:2;1936:20:73;;2030:14:2;1936:20:73;;;;;;2030:14:2;1936:20:73;;;:::i;:::-;;;459:3906;;;;;;;;;;;;;1936:20;;;;;;-1:-1:-1;1936:20:73;;459:3906;1668:40;459:3906;;;2030:14:2;459:3906:73;;;;;;;;;;;;;;;;;;;1684:24;459:3906;;;2030:14:2;;;;;;;;1684:24:73;2030:14:2;;;;;;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;;;;;;336:42:2;2844:40:73;;;;2030:14:2;2844:40:73;;459:3906;2844:40;;;459:3906;2844:40;;;:::i;:::-;;;;336:42:2;2844:40:73;;;;;;;;459:3906;2923:15;336:42:2;2923:15:73;;;;459:3906;;;2030:14:2;2923:15:73;;;;459:3906;2923:15;;336:42:2;2923:15:73;;;;;;;;459:3906;2030:14:2;459:3906:73;2948:13;2030:14:2;;;459:3906:73;2948:19;;;;;459:3906;;;;;;2948:19;;;;2030:14:2;2948:19:73;;;;;;;;;;459:3906;3052:23;;459:3906;3052:23;;:::i;:::-;459:3906;3085:87;3094:24;;:28;;459:3906;;2030:14:2;;;;;:::i;:::-;;;;;;;;;;459:3906:73;2030:14:2;;;3085:87:73;:::i;:::-;336:42:2;3239:40:73;;;;459:3906;;;2030:14:2;3239:40:73;;;;;;459:3906;3239:40;;;:::i;:::-;;;;336:42:2;3239:40:73;;;;;;;;459:3906;3369:15;;336:42:2;3369:15:73;;;;459:3906;;;2030:14:2;3369:15:73;;;;459:3906;3369:15;;336:42:2;3369:15:73;;;;;;;;459:3906;2030:14:2;459:3906:73;2948:13;2030:14:2;;;459:3906:73;3394:19;;;;;459:3906;;;;;;3394:19;;;;2030:14:2;3394:19:73;;;;;;;;;;459:3906;3504:24;3495:94;3504:24;;:28;;459:3906;;2030:14:2;;;;;:::i;:::-;;;;;;;;;;459:3906:73;2030:14:2;;;3495:94:73;:::i;3394:19::-;;;;;:::i;:::-;459:3906;;3394:19;;;;459:3906;;;;3369:15;;;;;:::i;:::-;459:3906;;3369:15;;;;3239:40;;;;;:::i;:::-;459:3906;;3239:40;;;;2948:19;;;;;:::i;:::-;459:3906;;2948:19;;;;2923:15;;;;;:::i;:::-;459:3906;;2923:15;;;;2844:40;;;;459:3906;2844:40;;:::i;:::-;459:3906;2844:40;;;;459:3906;;2030:14:2;459:3906:73;2030:14:2;;;;;2844:40:73;459:3906;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;459:3906:73;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;459:3906:73;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2030:14:2;459:3906:73;2030:14:2;;;;;;;;;;;459:3906:73;2030:14:2;:::o;:::-;;-1:-1:-1;2030:14:2;;;;;-1:-1:-1;2030:14:2;;;459:3906:73;;2030:14:2;459:3906:73;;2030:14:2;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;459:3906:73;;;;2030:14:2;;;;;;;;459:3906:73;2030:14:2;459:3906:73;;;2030:14:2;;;:::o;:::-;-1:-1:-1;2030:14:2;;;459:3906:73;2030:14:2;;;;-1:-1:-1;2030:14:2;;;;;;;;;459:3906:73;2030:14:2;;;;;:::o;:::-;;;459:3906:73;2030:14:2;;;;;;;;;;;;;;;;;;;;;459:3906:73;2030:14:2;;;;;;;;;;459:3906:73;;;2030:14:2;;;;;;;;:::o;:::-;;;;;;;;;;;459:3906:73;2030:14:2;459:3906:73;;;2030:14:2;;459:3906:73;2030:14:2;;;;2869::73;2030::2;:::i;:::-;;:::o;459:3906:73:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2030:14:2;-1:-1:-1;2030:14:2;459:3906:73;-1:-1:-1;2030:14:2;459:3906:73;-1:-1:-1;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;2030:14:2;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;;;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;459:3906:73;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;;;;;;;;;;;;;;;2030:14:2;459:3906:73;2030:14:2;;;;;:::i;:::-;459:3906:73;2030:14:2;;459:3906:73;;;;;:::o;1306:195:4:-;1365:7;459:3906:73;;;;;;1395:4:4;1388:11;:::o;1361:134::-;459:3906:73;;2030:14:2;1437:33:4;;459:3906:73;1437:33:4;;;459:3906:73;192:59:4;1255:17;;;459:3906:73;1255:17:4;1437:33;;;459:3906:73;1437:33:4;;;;;;;459:3906:73;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;1255:17;1437:33;;;:::i;:::-;;;1255:17;;;;;1437:33;;;;;;-1:-1:-1;1437:33:4;;1100:352:73;459:3906;1297:31;459:3906;;1297:31;2030:14:2;1297:31:73;;;2030:14:2;;:::i;:::-;1297:31:73;;;;;;;;;;1280:73;459:3906;;1330:22;1297:31;1330:22;;;1204:42;459:3906;;1330:22;;;;459:3906;1330:22;;:::i;:::-;459:3906;;1280:73;;;;;;459:3906;;;;;;;;;;;;;-1:-1:-1;459:3906:73;;;;;;;;;-1:-1:-1;459:3906:73;;1280:73;1330:22;1280:73;;;;;;:::i;:::-;459:3906;1143:19:75;;459:3906:73;;1297:31;1082:81:75;;107:42:1;459:3906:73;107:42:1;;;;;;;-1:-1:-1;107:42:1;;;459:3906:73;107:42:1;;;459:3906:73;107:42:1;1082:81:75;;;;;;:::i;:::-;459:3906:73;1072:92:75;;459:3906:73;1100:352;:::o;2487:171:4:-;459:3906:73;;3124:4;2583:13:4;;2579:73;;2487:171;;:::o;2579:73::-;459:3906:73;2612:29:4;;;;459:3906:73;;;;;;2612:29:4;;;;;2030:14:2;2612:29:4;;;;;459:3906:73;3124:4;459:3906;;;;;;;;;;;;;;:::i;:::-;2612:29:4;;459:3906:73;2612:29:4;;;;;;;;2487:171;:::o;2612:29::-;459:3906:73;2612:29:4;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_DeployTrailsRouter_SameAddress()":"06fe3285","test_DeployTrailsRouter_Success()":"8d211eee","test_DeployedRouter_HasCorrectConfiguration()":"dd79c8ae"}}}},"test/script/TrailsRouterShim.s.t.sol":{"TrailsRouterShimDeploymentTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_DeployRouterShim_SameAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployRouterShim_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployedContract_HasCorrectConfiguration","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployRouterShim_SameAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployRouterShim_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployedContract_HasCorrectConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/script/TrailsRouterShim.s.t.sol\":\"TrailsRouterShimDeploymentTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"script/TrailsRouter.s.sol\":{\"keccak256\":\"0x7606dd601cd7f10ab9c9a94a1ff6d6bc7ae2d4edd220bb161d89adc07eff6d75\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bf0dfa40196e494e9f8cdbb795bdc6c9bda421e7938ff0ef90aa62f571525e\",\"dweb:/ipfs/QmaoLXskfyE4A27SkckeNG4Z2AVyEvn6g63XT91UDSQHUo\"]},\"script/TrailsRouterShim.s.sol\":{\"keccak256\":\"0x5fddb7fcbf18d9170ab378e72f0cee0309a45d11312f2a4dc596c02f63946cb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://114e9024098a8e773d843992f307884fa97b7d989ca3e0bc7d422f9e34274132\",\"dweb:/ipfs/QmWbJ2MhG5Gvx5DybvMmJJHpxLU5nXXTwsxxmhewqPs26u\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/script/TrailsRouterShim.s.t.sol\":{\"keccak256\":\"0xbe30db1ec8856679c7b8ce4883c3b4bc538d2f1b65e3f1d34200bd3df5a080c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://558c50ea9a2eb48a423ac3256ed7475ab25ed9cbfa36cf9123812410aeb37162\",\"dweb:/ipfs/QmWn1oXEnEvJNFmVwCyzFDyVrYoWxRws4GknExg6JXvWV2\"]},\"test/utils/Create2Utils.sol\":{\"keccak256\":\"0xe5b36a1cdb5827185a7948737c4f61eca071f949c6d7f57339ebaaaee948bbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63655eac25e4f37b069b136660b1585c8be05e749f6dd513ed9a763be83fcb9e\",\"dweb:/ipfs/QmdjR1QrAPUYN8LvsrGk2f1ZvVVfQ2aqPdKqmuSf8H1DpV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f55619cb690816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a9254e4146117d9575080631ed7831c146117305780632ade3880146114fc5780633e5e3c23146114535780633f7286f4146113aa5780634f16fadf14610e2a57806366d9a9a014610cc757806385226c8114610c17578063916a17c614610b42578063b0464fdc14610a6d578063b4092f6f146106b1578063b4ce81b5146102c4578063b5508aa91461020d578063ba414fa6146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e81870382611ddf565b60405191829182611b6a565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760206102036121f2565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461024881611e4c565b916102566040519384611ddf565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b838310610298576040518061019a8782611c51565b6001602081926040516102b6816102af8189611e64565b0382611ddf565b815201920192019190610283565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061034460048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156106645761069c575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457610687575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156106645761066f575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa8015610664576004918391610645575b506104d9813b1515604051906104aa604083611ddf565b601f82527f547261696c73526f757465722073686f756c64206265206465706c6f7965640060208301526122cb565b602073ffffffffffffffffffffffffffffffffffffffff6104f8612372565b16610563813b15156040519061050f606083611ddf565b603782527f547261696c73526f757465725368696d2073686f756c64206265206465706c6f858301527f796564206174206578706563746564206164647265737300000000000000000060408301526122cb565b604051938480927f32fe7b260000000000000000000000000000000000000000000000000000000082525afa90811561063a57610606928492610609575b50604051916105b1606084611ddf565b602783527f5368696d2073686f756c64206861766520636f727265637420726f757465722060208401527f6164647265737300000000000000000000000000000000000000000000000000604084015261246d565b80f35b61062c91925060203d602011610633575b6106248183611ddf565b810190611e20565b905f6105a1565b503d61061a565b6040513d85823e3d90fd5b61065e915060203d602011610633576106248183611ddf565b5f610493565b6040513d84823e3d90fd5b8161067991611ddf565b61010e57805f610435565b50fd5b8161069191611ddf565b61010e57805f6103d5565b816106a691611ddf565b61010e57805f610369565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061073160048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457610a58575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561066457610a43575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa908115610664578291610a24575b5073ffffffffffffffffffffffffffffffffffffffff610830612372565b1690604051917f32fe7b26000000000000000000000000000000000000000000000000000000008352602083600481845afa908115610a19576108de60209260049587916109fc575b50846040519161088a606084611ddf565b602b83527f5368696d2073686f756c64206861766520636f727265637420726f7574657220868401527f6164647265737320736574000000000000000000000000000000000000000000604084015261246d565b61093873ffffffffffffffffffffffffffffffffffffffff84163b15156040519061090a604083611ddf565b601782527f526f757465722073686f756c64206861766520636f6465000000000000000000858301526122cb565b604051938480927f32fe7b260000000000000000000000000000000000000000000000000000000082525afa90811561063a576106069284926109db575b5060405191610986606084611ddf565b603083527f5368696d2073686f756c642062652061626c6520746f2061636365737320697460208401527f7320726f75746572206164647265737300000000000000000000000000000000604084015261246d565b6109f591925060203d602011610633576106248183611ddf565b905f610976565b610a139150843d8611610633576106248183611ddf565b5f610879565b6040513d86823e3d90fd5b610a3d915060203d602011610633576106248183611ddf565b5f610812565b81610a4d91611ddf565b61010e57805f6107b6565b81610a6291611ddf565b61010e57805f610756565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c54610aa881611e4c565b91610ab66040519384611ddf565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610af8576040518061019a8782611cce565b60026020600192604051610b0b81611dc3565b73ffffffffffffffffffffffffffffffffffffffff8654168152610b30858701611f4c565b83820152815201920192019190610ae3565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d54610b7d81611e4c565b91610b8b6040519384611ddf565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610bcd576040518061019a8782611cce565b60026020600192604051610be081611dc3565b73ffffffffffffffffffffffffffffffffffffffff8654168152610c05858701611f4c565b83820152815201920192019190610bb8565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a54610c5281611e4c565b91610c606040519384611ddf565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610ca2576040518061019a8782611c51565b600160208192604051610cb9816102af8189611e64565b815201920192019190610c8d565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b54610d0281611e4c565b610d0f6040519182611ddf565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610de757868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610d7c57505050500390f35b91936020610dd7827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610dc78351604084526040840190611bb9565b9201519084818403910152611bfc565b9601920192018594939192610d6d565b60026020600192604051610dfa81611dc3565b604051610e0b816102af818a611e64565b8152610e18858701611f4c565b83820152815201920192019190610d3f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee000000000000000000000000000000000000000000000000000000008152818180610eaa60048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611395575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611380575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156106645761136b575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa90811561066457829161134c575b50611063813b15156040519061100e606083611ddf565b602782527f4669727374206465706c6f796d656e743a20547261696c73526f75746572206460208301527f65706c6f7965640000000000000000000000000000000000000000000000000060408301526122cb565b73ffffffffffffffffffffffffffffffffffffffff611080612372565b166110ec813b151560405190611097606083611ddf565b602b82527f4669727374206465706c6f796d656e743a20547261696c73526f75746572536860208301527f696d206465706c6f79656400000000000000000000000000000000000000000060408301526122cb565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561131a57826040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061113d60048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611337575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561131a57826040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611322575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b1561131e578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561066457611305575b505061129e610606923b151560405190611249606083611ddf565b602e82527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465722060208301527f7374696c6c206465706c6f79656400000000000000000000000000000000000060408301526122cb565b3b1515604051906112b0606083611ddf565b603282527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465725360208301527f68696d207374696c6c206465706c6f796564000000000000000000000000000060408301526122cb565b8161130f91611ddf565b61131a57825f61122e565b8280fd5b5080fd5b8161132c91611ddf565b61131a57825f6111ce565b8161134191611ddf565b61131a57825f611162565b611365915060203d602011610633576106248183611ddf565b5f610ff7565b8161137591611ddf565b61010e57805f610f9b565b8161138a91611ddf565b61010e57805f610f3b565b8161139f91611ddf565b61010e57805f610ecf565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b8181106114275761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611410565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b8181106114d05761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114b9565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e5461153781611e4c565b6115446040519182611ddf565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106116925786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106115b05786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110611649575050505050602080600192970193019301909286959492936115a3565b9091929394602080611685837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611bb9565b9701950193929101611625565b60405161169e81611dc3565b73ffffffffffffffffffffffffffffffffffffffff83541681526001830180546116c781611e4c565b916116d56040519384611ddf565b8183528a526020808b20908b9084015b83821061170b575050505060019282602092836002950152815201920192019190611574565b600160208192604051611722816102af818a611e64565b8152019301910190916116e5565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106117ad5761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611796565b905034611ab8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611ab857614ca080820182811067ffffffffffffffff821117611b3d578291612589833903905ff08015611aad577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff806021556118a7602254611d72565b601f8111611adb575b50608560225560225f527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51255602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611aad5773ffffffffffffffffffffffffffffffffffffffff915f91611abc575b5016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab857604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015611aad57611a9f575080f35b611aab91505f90611ddf565b005b6040513d5f823e3d90fd5b5f80fd5b611ad5915060203d602011610633576106248183611ddf565b5f6119f2565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b818110611b3257506118b0565b5f8155600101611b25565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611b8d5750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611b80565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611c195750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611c0c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c8357505050505090565b9091929394602080611cbf837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611bb9565b97019301930191939290611c74565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611d0057505050505090565b9091929394602080611d63837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611bfc565b97019301930191939290611cf1565b90600182811c92168015611db9575b6020831014611d8c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611d81565b6040810190811067ffffffffffffffff821117611b3d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b3d57604052565b90816020910312611ab8575173ffffffffffffffffffffffffffffffffffffffff81168103611ab85790565b67ffffffffffffffff8111611b3d5760051b60200190565b5f9291815491611e7383611d72565b8083529260018116908115611ec85750600114611e8f57505050565b5f9081526020812093945091925b838310611eae575060209250010190565b600181602092949394548385870101520191019190611e9d565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611f499160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611e64565b90565b90604051918281549182825260208201905f5260205f20925f905b80600783011061216557611fbd94549181811061212f575b8181106120f9575b8181106120c3575b81811061208d575b818110612057575b818110612021575b818110611fec575b10611fbf575b500383611ddf565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611fb5565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611faf565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611fa7565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611f9f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611f97565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611f8f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611f87565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611f7f565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f67565b60085460ff161561220257600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115611aad575f91612299575b50151590565b90506020813d6020116122c3575b816122b460209383611ddf565b81010312611ab857515f612293565b3d91506122a7565b1515600181036122d9575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab857612342915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611bb9565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611aad576123685750565b5f611fbd91611ddf565b611f4973ffffffffffffffffffffffffffffffffffffffff6124306122c461242b6040516123a36020840182611ddf565b82815260208101926179bd843960206040518181019073ca11bde05977b3631167028862be2a173976ca1182528281526123de604082611ddf565b6040519586945180918587015e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611ddf565b6124f9565b1661242b6107949160206040519161244a82860184611ddf565b8483528183019461722986396040518281019182528281526123de604082611ddf565b73ffffffffffffffffffffffffffffffffffffffff908116911680820361249357505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab8575f9161234260405194859384937f2f2769d100000000000000000000000000000000000000000000000000000000855260048501526024840152606060448401526064830190611bb9565b73ffffffffffffffffffffffffffffffffffffffff906020815191012060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152612581607582611ddf565b519020169056fe608080604052346026576201000162ff00ff19600c541617600c55614c75908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081633268cc5614610f1d57508063c0406226146100855763f8ccbf471461003f575f80fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257602060ff600c5460101c166040519015158152f35b80fd5b5034610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b576040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610e90575f91610eeb575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610e90576101d2915f91610ecc575b506040516101a3604082610f6e565b601181527f4465706c6f79657220416464726573733a000000000000000000000000000000602082015261101e565b60405161332380820182811067ffffffffffffffff821117610e9f578291611189833903905ff08015610e905773ffffffffffffffffffffffffffffffffffffffff16803b15610e9b576040517fc04062260000000000000000000000000000000000000000000000000000000081525f8160048183865af18015610e9057610e7b575b50602083916024604051809481937ff0c9a4290000000000000000000000000000000000000000000000000000000083528760048401525af180156107e45773ffffffffffffffffffffffffffffffffffffffff918491610e4c575b507fffffffffffffffffff0000000000000000000000000000000000000000ffffff76ffffffffffffffffffffffffffffffffffffffff000000600c549260181b1691161780600c5560181c1661034081604051610311604082610f6e565b601981527f547261696c73526f75746572206465706c6f7965642061743a00000000000000602082015261101e565b82610794926103cf604051946103596020820187610f6e565b80865260208601906144ac8239602060405195818701908152818752610380604088610f6e565b604051968793838501995180918b5e84019083820190888252519283915e0101848152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284610f6e565b604051936103de604086610f6e565b601085527f547261696c73526f757465725368696d000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610859575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526104ac607582610f6e565b51902016936002853b1161080857846104fd91604051906104ce604083610f6e565b600c82527f6465706c6f79696e6720746f000000000000000000000000000000000000000060208301526110c5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561080457604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a576107ef575b505060206105af91604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610fdb565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156107e4578391610795575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561078657826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b5576106b2905b604051610683604082610f6e565b601d81527f547261696c73526f757465725368696d206465706c6f7965642061743a000000602082015261101e565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b8161077b91610f6e565b61078657825f610648565b8280fd5b6040513d84823e3d90fd5b90506020813d6020116107dc575b816107b060209383610f6e565b81010312610786575173ffffffffffffffffffffffffffffffffffffffff81168103610786575f6105dd565b3d91506107a3565b6040513d85823e3d90fd5b816107f991610f6e565b61078657825f61056c565b5080fd5b8493506106b2949150610854925060405190610825604083610f6e565b601382527f616c7265616479206465706c6f79656420746f0000000000000000000000000060208301526110c5565b610675565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bde575b5f806108fa610940604051610893604082610f6e565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610fdb565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa506040516109646101a082610f6e565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bda5783610b8b91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fdb565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610bba575b5050610427565b81610bc491610f6e565b61078657825f610bb3565b6040513d86823e3d90fd5b8380fd5b9091505f80610c5e610c8a604051610bf7604082610f6e565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610fdb565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610e4857846040517fce817d47000000000000000000000000000000000000000000000000000000008152836004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610e33575b505073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e065786808080969594819482906657c084e5f3c00014610dfd575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561078a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610de8575b505061087d565b81610df291610f6e565b61078657825f610de1565b506108fc610d59565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b81610e3d91610f6e565b610e4857845f610d0f565b8480fd5b610e6e915060203d602011610e74575b610e668183610f6e565b810190610faf565b5f6102b2565b503d610e5c565b602093505f610e8991610f6e565b5f92610256565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ee5915060203d602011610e7457610e668183610f6e565b5f610194565b90506020813d602011610f15575b81610f0660209383610f6e565b81010312610e9b57515f610139565b3d9150610ef9565b34610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b5760209073ffffffffffffffffffffffffffffffffffffffff600c5460181c168152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e9f57604052565b90816020910312610e9b575173ffffffffffffffffffffffffffffffffffffffff81168103610e9b5790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61107b6110ae5f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610fdb565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50565b6110ae611125915f9473ffffffffffffffffffffffffffffffffffffffff61115587966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610fdb565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610fdb565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033a2646970667358221220911eb483696e66e4f4dbedb88971aa357ffdabd80a1819f2dec507042ee7b3ef64736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220484ae9e1d259f23b3cec0bad634f6b64569c30900d14b413f9eb170c22372ca564736f6c634300081e0033","sourceMap":"526:5437:74:-:0;;;;;;;3200:4:5;526:5437:74;;3200:4:5;526:5437:74;;;3200:4:5;526:5437:74;3200:4:5;526:5437:74;;1087:4:16;526:5437:74;;;1087:4:16;526:5437:74;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a9254e4146117d9575080631ed7831c146117305780632ade3880146114fc5780633e5e3c23146114535780633f7286f4146113aa5780634f16fadf14610e2a57806366d9a9a014610cc757806385226c8114610c17578063916a17c614610b42578063b0464fdc14610a6d578063b4092f6f146106b1578063b4ce81b5146102c4578063b5508aa91461020d578063ba414fa6146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e81870382611ddf565b60405191829182611b6a565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760206102036121f2565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461024881611e4c565b916102566040519384611ddf565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b838310610298576040518061019a8782611c51565b6001602081926040516102b6816102af8189611e64565b0382611ddf565b815201920192019190610283565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061034460048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156106645761069c575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457610687575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156106645761066f575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa8015610664576004918391610645575b506104d9813b1515604051906104aa604083611ddf565b601f82527f547261696c73526f757465722073686f756c64206265206465706c6f7965640060208301526122cb565b602073ffffffffffffffffffffffffffffffffffffffff6104f8612372565b16610563813b15156040519061050f606083611ddf565b603782527f547261696c73526f757465725368696d2073686f756c64206265206465706c6f858301527f796564206174206578706563746564206164647265737300000000000000000060408301526122cb565b604051938480927f32fe7b260000000000000000000000000000000000000000000000000000000082525afa90811561063a57610606928492610609575b50604051916105b1606084611ddf565b602783527f5368696d2073686f756c64206861766520636f727265637420726f757465722060208401527f6164647265737300000000000000000000000000000000000000000000000000604084015261246d565b80f35b61062c91925060203d602011610633575b6106248183611ddf565b810190611e20565b905f6105a1565b503d61061a565b6040513d85823e3d90fd5b61065e915060203d602011610633576106248183611ddf565b5f610493565b6040513d84823e3d90fd5b8161067991611ddf565b61010e57805f610435565b50fd5b8161069191611ddf565b61010e57805f6103d5565b816106a691611ddf565b61010e57805f610369565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061073160048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457610a58575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561066457610a43575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa908115610664578291610a24575b5073ffffffffffffffffffffffffffffffffffffffff610830612372565b1690604051917f32fe7b26000000000000000000000000000000000000000000000000000000008352602083600481845afa908115610a19576108de60209260049587916109fc575b50846040519161088a606084611ddf565b602b83527f5368696d2073686f756c64206861766520636f727265637420726f7574657220868401527f6164647265737320736574000000000000000000000000000000000000000000604084015261246d565b61093873ffffffffffffffffffffffffffffffffffffffff84163b15156040519061090a604083611ddf565b601782527f526f757465722073686f756c64206861766520636f6465000000000000000000858301526122cb565b604051938480927f32fe7b260000000000000000000000000000000000000000000000000000000082525afa90811561063a576106069284926109db575b5060405191610986606084611ddf565b603083527f5368696d2073686f756c642062652061626c6520746f2061636365737320697460208401527f7320726f75746572206164647265737300000000000000000000000000000000604084015261246d565b6109f591925060203d602011610633576106248183611ddf565b905f610976565b610a139150843d8611610633576106248183611ddf565b5f610879565b6040513d86823e3d90fd5b610a3d915060203d602011610633576106248183611ddf565b5f610812565b81610a4d91611ddf565b61010e57805f6107b6565b81610a6291611ddf565b61010e57805f610756565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c54610aa881611e4c565b91610ab66040519384611ddf565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610af8576040518061019a8782611cce565b60026020600192604051610b0b81611dc3565b73ffffffffffffffffffffffffffffffffffffffff8654168152610b30858701611f4c565b83820152815201920192019190610ae3565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d54610b7d81611e4c565b91610b8b6040519384611ddf565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610bcd576040518061019a8782611cce565b60026020600192604051610be081611dc3565b73ffffffffffffffffffffffffffffffffffffffff8654168152610c05858701611f4c565b83820152815201920192019190610bb8565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a54610c5281611e4c565b91610c606040519384611ddf565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610ca2576040518061019a8782611c51565b600160208192604051610cb9816102af8189611e64565b815201920192019190610c8d565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b54610d0281611e4c565b610d0f6040519182611ddf565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610de757868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610d7c57505050500390f35b91936020610dd7827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610dc78351604084526040840190611bb9565b9201519084818403910152611bfc565b9601920192018594939192610d6d565b60026020600192604051610dfa81611dc3565b604051610e0b816102af818a611e64565b8152610e18858701611f4c565b83820152815201920192019190610d3f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee000000000000000000000000000000000000000000000000000000008152818180610eaa60048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611395575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611380575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156106645761136b575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa90811561066457829161134c575b50611063813b15156040519061100e606083611ddf565b602782527f4669727374206465706c6f796d656e743a20547261696c73526f75746572206460208301527f65706c6f7965640000000000000000000000000000000000000000000000000060408301526122cb565b73ffffffffffffffffffffffffffffffffffffffff611080612372565b166110ec813b151560405190611097606083611ddf565b602b82527f4669727374206465706c6f796d656e743a20547261696c73526f75746572536860208301527f696d206465706c6f79656400000000000000000000000000000000000000000060408301526122cb565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561131a57826040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061113d60048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611337575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561131a57826040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611322575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b1561131e578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561066457611305575b505061129e610606923b151560405190611249606083611ddf565b602e82527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465722060208301527f7374696c6c206465706c6f79656400000000000000000000000000000000000060408301526122cb565b3b1515604051906112b0606083611ddf565b603282527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465725360208301527f68696d207374696c6c206465706c6f796564000000000000000000000000000060408301526122cb565b8161130f91611ddf565b61131a57825f61122e565b8280fd5b5080fd5b8161132c91611ddf565b61131a57825f6111ce565b8161134191611ddf565b61131a57825f611162565b611365915060203d602011610633576106248183611ddf565b5f610ff7565b8161137591611ddf565b61010e57805f610f9b565b8161138a91611ddf565b61010e57805f610f3b565b8161139f91611ddf565b61010e57805f610ecf565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b8181106114275761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611410565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b8181106114d05761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114b9565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e5461153781611e4c565b6115446040519182611ddf565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106116925786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106115b05786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110611649575050505050602080600192970193019301909286959492936115a3565b9091929394602080611685837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611bb9565b9701950193929101611625565b60405161169e81611dc3565b73ffffffffffffffffffffffffffffffffffffffff83541681526001830180546116c781611e4c565b916116d56040519384611ddf565b8183528a526020808b20908b9084015b83821061170b575050505060019282602092836002950152815201920192019190611574565b600160208192604051611722816102af818a611e64565b8152019301910190916116e5565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106117ad5761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611796565b905034611ab8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611ab857614ca080820182811067ffffffffffffffff821117611b3d578291612589833903905ff08015611aad577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff806021556118a7602254611d72565b601f8111611adb575b50608560225560225f527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51255602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611aad5773ffffffffffffffffffffffffffffffffffffffff915f91611abc575b5016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab857604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015611aad57611a9f575080f35b611aab91505f90611ddf565b005b6040513d5f823e3d90fd5b5f80fd5b611ad5915060203d602011610633576106248183611ddf565b5f6119f2565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b818110611b3257506118b0565b5f8155600101611b25565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611b8d5750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611b80565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611c195750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611c0c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c8357505050505090565b9091929394602080611cbf837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611bb9565b97019301930191939290611c74565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611d0057505050505090565b9091929394602080611d63837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611bfc565b97019301930191939290611cf1565b90600182811c92168015611db9575b6020831014611d8c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611d81565b6040810190811067ffffffffffffffff821117611b3d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b3d57604052565b90816020910312611ab8575173ffffffffffffffffffffffffffffffffffffffff81168103611ab85790565b67ffffffffffffffff8111611b3d5760051b60200190565b5f9291815491611e7383611d72565b8083529260018116908115611ec85750600114611e8f57505050565b5f9081526020812093945091925b838310611eae575060209250010190565b600181602092949394548385870101520191019190611e9d565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611f499160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611e64565b90565b90604051918281549182825260208201905f5260205f20925f905b80600783011061216557611fbd94549181811061212f575b8181106120f9575b8181106120c3575b81811061208d575b818110612057575b818110612021575b818110611fec575b10611fbf575b500383611ddf565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611fb5565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611faf565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611fa7565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611f9f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611f97565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611f8f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611f87565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611f7f565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f67565b60085460ff161561220257600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115611aad575f91612299575b50151590565b90506020813d6020116122c3575b816122b460209383611ddf565b81010312611ab857515f612293565b3d91506122a7565b1515600181036122d9575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab857612342915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611bb9565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611aad576123685750565b5f611fbd91611ddf565b611f4973ffffffffffffffffffffffffffffffffffffffff6124306122c461242b6040516123a36020840182611ddf565b82815260208101926179bd843960206040518181019073ca11bde05977b3631167028862be2a173976ca1182528281526123de604082611ddf565b6040519586945180918587015e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611ddf565b6124f9565b1661242b6107949160206040519161244a82860184611ddf565b8483528183019461722986396040518281019182528281526123de604082611ddf565b73ffffffffffffffffffffffffffffffffffffffff908116911680820361249357505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab8575f9161234260405194859384937f2f2769d100000000000000000000000000000000000000000000000000000000855260048501526024840152606060448401526064830190611bb9565b73ffffffffffffffffffffffffffffffffffffffff906020815191012060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152612581607582611ddf565b519020169056fe608080604052346026576201000162ff00ff19600c541617600c55614c75908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081633268cc5614610f1d57508063c0406226146100855763f8ccbf471461003f575f80fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257602060ff600c5460101c166040519015158152f35b80fd5b5034610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b576040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610e90575f91610eeb575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610e90576101d2915f91610ecc575b506040516101a3604082610f6e565b601181527f4465706c6f79657220416464726573733a000000000000000000000000000000602082015261101e565b60405161332380820182811067ffffffffffffffff821117610e9f578291611189833903905ff08015610e905773ffffffffffffffffffffffffffffffffffffffff16803b15610e9b576040517fc04062260000000000000000000000000000000000000000000000000000000081525f8160048183865af18015610e9057610e7b575b50602083916024604051809481937ff0c9a4290000000000000000000000000000000000000000000000000000000083528760048401525af180156107e45773ffffffffffffffffffffffffffffffffffffffff918491610e4c575b507fffffffffffffffffff0000000000000000000000000000000000000000ffffff76ffffffffffffffffffffffffffffffffffffffff000000600c549260181b1691161780600c5560181c1661034081604051610311604082610f6e565b601981527f547261696c73526f75746572206465706c6f7965642061743a00000000000000602082015261101e565b82610794926103cf604051946103596020820187610f6e565b80865260208601906144ac8239602060405195818701908152818752610380604088610f6e565b604051968793838501995180918b5e84019083820190888252519283915e0101848152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284610f6e565b604051936103de604086610f6e565b601085527f547261696c73526f757465725368696d000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610859575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526104ac607582610f6e565b51902016936002853b1161080857846104fd91604051906104ce604083610f6e565b600c82527f6465706c6f79696e6720746f000000000000000000000000000000000000000060208301526110c5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561080457604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a576107ef575b505060206105af91604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610fdb565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156107e4578391610795575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561078657826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b5576106b2905b604051610683604082610f6e565b601d81527f547261696c73526f757465725368696d206465706c6f7965642061743a000000602082015261101e565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b8161077b91610f6e565b61078657825f610648565b8280fd5b6040513d84823e3d90fd5b90506020813d6020116107dc575b816107b060209383610f6e565b81010312610786575173ffffffffffffffffffffffffffffffffffffffff81168103610786575f6105dd565b3d91506107a3565b6040513d85823e3d90fd5b816107f991610f6e565b61078657825f61056c565b5080fd5b8493506106b2949150610854925060405190610825604083610f6e565b601382527f616c7265616479206465706c6f79656420746f0000000000000000000000000060208301526110c5565b610675565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bde575b5f806108fa610940604051610893604082610f6e565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610fdb565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa506040516109646101a082610f6e565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bda5783610b8b91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fdb565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610bba575b5050610427565b81610bc491610f6e565b61078657825f610bb3565b6040513d86823e3d90fd5b8380fd5b9091505f80610c5e610c8a604051610bf7604082610f6e565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610fdb565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610e4857846040517fce817d47000000000000000000000000000000000000000000000000000000008152836004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610e33575b505073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e065786808080969594819482906657c084e5f3c00014610dfd575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561078a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610de8575b505061087d565b81610df291610f6e565b61078657825f610de1565b506108fc610d59565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b81610e3d91610f6e565b610e4857845f610d0f565b8480fd5b610e6e915060203d602011610e74575b610e668183610f6e565b810190610faf565b5f6102b2565b503d610e5c565b602093505f610e8991610f6e565b5f92610256565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ee5915060203d602011610e7457610e668183610f6e565b5f610194565b90506020813d602011610f15575b81610f0660209383610f6e565b81010312610e9b57515f610139565b3d9150610ef9565b34610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b5760209073ffffffffffffffffffffffffffffffffffffffff600c5460181c168152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e9f57604052565b90816020910312610e9b575173ffffffffffffffffffffffffffffffffffffffff81168103610e9b5790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61107b6110ae5f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610fdb565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50565b6110ae611125915f9473ffffffffffffffffffffffffffffffffffffffff61115587966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610fdb565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610fdb565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033a2646970667358221220911eb483696e66e4f4dbedb88971aa357ffdabd80a1819f2dec507042ee7b3ef64736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220484ae9e1d259f23b3cec0bad634f6b64569c30900d14b413f9eb170c22372ca564736f6c634300081e0033","sourceMap":"526:5437:74:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2723:18:9;526:5437:74;;;;;;;2723:18:9;526:5437:74;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;2030:14:2;;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2575:18:9;526:5437:74;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;526:5437:74;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;2681:40:74;;;;526:5437;;;2030:14:2;2681:40:74;;;;;;526:5437;2681:40;;;:::i;:::-;;;;336:42:2;2681:40:74;;;;;;;;526:5437;2732:15;;336:42:2;2732:15:74;;;;526:5437;;;2030:14:2;2732:15:74;;;;526:5437;2732:15;;336:42:2;2732:15:74;;;;;;;;526:5437;;;2757:13;526:5437;;;;2757:19;;;;;526:5437;;;;;;2757:19;;;;2030:14:2;2757:19:74;;;;;;;;;;526:5437;;;;2884:29;526:5437;2757:13;526:5437;;;;;;2884:29;;;;2030:14:2;2884:29:74;;;;;;;;526:5437;2884:29;;;;;526:5437;2977:30;2968:85;2977:30;;:34;;526:5437;;;;;;;:::i;:::-;2757:13;526:5437;;;2884:29;526:5437;;;2968:85;:::i;:::-;2884:29;526:5437;3171:21;;:::i;:::-;526:5437;3202:107;3211:28;;:32;;526:5437;;;;;;;:::i;:::-;;;;;;;;;;;;;;3202:107;:::i;:::-;526:5437;;3466:13;;;;2030:14:2;3466:13:74;;;;;;;;;3449:95;3466:13;;;;;526:5437;;;;;;;;;:::i;:::-;;;;;2884:29;526:5437;;;;;;;;3449:95;:::i;:::-;526:5437;;3466:13;;;;;2884:29;3466:13;2884:29;3466:13;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;526:5437;;;;;;;;;2884:29;;;;;;;;;;;;;;:::i;:::-;;;;;526:5437;;;;;;;;;2757:19;;;;;:::i;:::-;526:5437;;2757:19;;;;;526:5437;;2732:15;;;;;:::i;:::-;526:5437;;2732:15;;;;2681:40;;;;;:::i;:::-;526:5437;;2681:40;;;;526:5437;;;;;;;;;;;;336:42:2;4886:40:74;;;;526:5437;;;2030:14:2;4886:40:74;;;;;;526:5437;4886:40;;;:::i;:::-;;;;336:42:2;4886:40:74;;;;;;;;526:5437;;;4966:13;526:5437;;;;4966:19;;;;;526:5437;;;;;;4966:19;;;;2030:14:2;4966:19:74;;;;;;;;;;526:5437;;;;5073:29;526:5437;4966:13;526:5437;;;;;;5073:29;;;;2030:14:2;5073:29:74;;;;;;;;;;;;;526:5437;5147:21;526:5437;5147:21;;:::i;:::-;526:5437;;;;5403:13;2030:14:2;5403:13:74;;5073:29;5403:13;526:5437;5403:13;;;;;;;;;5386:99;5073:29;5403:13;526:5437;5403:13;;;;;526:5437;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;5386:99;:::i;:::-;5564:74;526:5437;;;5573:27;:31;;526:5437;;;;;;;:::i;:::-;;;;;;;;;5564:74;:::i;:::-;526:5437;;5834:13;;;;2030:14:2;5834:13:74;;;;;;;;;5858:96;5834:13;;;;;526:5437;;;;;;;;;:::i;:::-;;;;;5073:29;526:5437;;;;;;;;5858:96;:::i;5834:13::-;;;;;5073:29;5834:13;5073:29;5834:13;;;;;;;:::i;:::-;;;;;5403;;;;;;;;;;;;;;:::i;:::-;;;;;526:5437;;;;;;;;;5073:29;;;;;;;;;;;;;;:::i;:::-;;;;4966:19;;;;;:::i;:::-;526:5437;;4966:19;;;;4886:40;;;;;:::i;:::-;526:5437;;4886:40;;;;526:5437;;;;;;;;;;;;2876:18:9;526:5437:74;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2876:18:9;526:5437:74;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;2030:14:2;;526:5437:74;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;526:5437:74;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3653:18:9;526:5437:74;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;2030:14:2;;526:5437:74;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;526:5437:74;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;526:5437:74;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;526:5437:74;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3346:26:9;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;3619:40:74;;;;526:5437;;;2030:14:2;3619:40:74;;;;;;526:5437;3619:40;;;:::i;:::-;;;;336:42:2;3619:40:74;;;;;;;;526:5437;3698:15;;336:42:2;3698:15:74;;;;526:5437;;;2030:14:2;3698:15:74;;;;526:5437;3698:15;;336:42:2;3698:15:74;;;;;;;;526:5437;;;3723:13;526:5437;;;;3723:19;;;;;526:5437;;;;;;3723:19;;;;2030:14:2;3723:19:74;;;;;;;;;;526:5437;;;;3850:29;526:5437;3723:13;526:5437;;;;;;3850:29;;;;2030:14:2;3850:29:74;;;;;;;;;;;;;526:5437;3944:30;3935:93;3944:30;;:34;;526:5437;;;;;;;:::i;:::-;;;;;3850:29;526:5437;;;;;;;;3935:93;:::i;:::-;526:5437;4073:21;;:::i;:::-;526:5437;4104:95;4113:28;;:32;;526:5437;;;;;;;:::i;:::-;;;;;3850:29;526:5437;;;;;;;;4104:95;:::i;:::-;336:42:2;4266:40:74;;;;526:5437;;;2030:14:2;4266:40:74;;;;;;526:5437;4266:40;;;:::i;:::-;;;;336:42:2;4266:40:74;;;;;;;;526:5437;4396:15;;336:42:2;4396:15:74;;;;526:5437;;;2030:14:2;4396:15:74;;;;526:5437;4396:15;;336:42:2;4396:15:74;;;;;;;;526:5437;;;3723:13;526:5437;;;;4421:19;;;;;526:5437;;;;;;4421:19;;;;2030:14:2;4421:19:74;;;;;;;;;;526:5437;4534:30;;4525:100;4635:102;4534:30;;:34;;526:5437;;;;;;;:::i;:::-;;;;;3850:29;526:5437;;;;;;;;4525:100;:::i;:::-;4644:28;:32;;526:5437;;;;;;;:::i;:::-;;;;;3850:29;526:5437;;;;;;;;4635:102;:::i;4421:19::-;;;;;:::i;:::-;526:5437;;4421:19;;;;526:5437;;;;4421:19;526:5437;;;4396:15;;;;;:::i;:::-;526:5437;;4396:15;;;;4266:40;;;;;:::i;:::-;526:5437;;4266:40;;;;3850:29;;;;;;;;;;;;;;:::i;:::-;;;;3723:19;;;;;:::i;:::-;526:5437;;3723:19;;;;3698:15;;;;;:::i;:::-;526:5437;;3698:15;;;;3619:40;;;;;:::i;:::-;526:5437;;3619:40;;;;526:5437;;;;;;;;;;;;;;;;;3501:18:9;526:5437:74;;;;;;;3501:18:9;526:5437:74;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;526:5437:74;;;;;;;3794:16:9;526:5437:74;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;526:5437:74;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3948:19:9;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;;526:5437:74;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;526:5437:74;;;;;;;3018:16:9;526:5437:74;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2110:28;;;;;;;;;;;;;;;;;;;;526:5437;2110:28;;;;;526:5437;;2094:44;526:5437;;;;;;;;2094:44;526:5437;2162:66;2148:80;526:5437;;2259:85;526:5437;;:::i;:::-;2094:44;526:5437;;;;;;;2259:85;526:5437;2259:85;526:5437;;;;;;;;;;;2148:80;2030:14:2;526:5437:74;;2366:20;2030:14:2;2366:20:74;;526:5437;2366:20;;2030:14:2;526:5437:74;2366:20;;;336:42:2;2366:20:74;;;;;;526:5437;2366:20;526:5437;2366:20;;;526:5437;;;2030:14:2;;526:5437:74;2030:14:2;;;526:5437:74;2030:14:2;336:42;2396:29:74;;;;526:5437;;2396:29;2030:14:2;2396:29:74;;526:5437;2396:29;;526:5437;2415:9;2366:20;2030:14:2;;;526:5437:74;2396:29;;;;336:42:2;2396:29:74;;;;;;;;526:5437;;;2396:29;;;;526:5437;2396:29;;:::i;:::-;526:5437;2396:29;526:5437;;;;;;;;;2396:29;526:5437;;;2366:20;;;;526:5437;2366:20;526:5437;2366:20;;;;;;;:::i;:::-;;;;526:5437;2094:44;526:5437;;;;;;;;;;;;;;;;;;;;;;;2110:28;526:5437;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;526:5437:74;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;526:5437:74;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;2030:14:2;526:5437:74;2030:14:2;;;;;;;;;;;526:5437:74;2030:14:2;:::o;:::-;;526:5437:74;;2030:14:2;526:5437:74;;2030:14:2;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;526:5437:74;;;2030:14:2;;;;;:::o;526:5437:74:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;526:5437:74;;;;;;;;-1:-1:-1;526:5437:74;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;3644:14;526:5437;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;526:5437:74;;-1:-1:-1;526:5437:74;;-1:-1:-1;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;2030:14:2;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;;;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;;;526:5437:74;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;526:5437:74;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;;;;;;;;;;;;;;1306:195:4;1365:7;526:5437:74;;;;;;1395:4:4;1388:11;:::o;1361:134::-;526:5437:74;;2030:14:2;1437:33:4;;526:5437:74;1437:33:4;;;526:5437:74;192:59:4;1255:17;;;2030:14:2;1255:17:4;1437:33;;;526:5437:74;1437:33:4;;;;;;;526:5437:74;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;1255:17;1437:33;;;:::i;:::-;;;1255:17;;;;;1437:33;;;;;;-1:-1:-1;1437:33:4;;2487:171;526:5437:74;;3980:4;2583:13:4;;2579:73;;2487:171;;:::o;2579:73::-;526:5437:74;2612:29:4;;;;526:5437:74;;;;;;2612:29:4;;;;;2030:14:2;2612:29:4;;;;;526:5437:74;3980:4;526:5437;;;;;;;;;;;;;;:::i;:::-;2612:29:4;;526:5437:74;2612:29:4;;;;;;;;2487:171;:::o;2612:29::-;526:5437:74;2612:29:4;;;:::i;1535:343:74:-;1792:79;526:5437;1447:75;1374:31;1357:73;526:5437;;;1374:31;;;526:5437;;:::i;:::-;1374:31;;;;;;;;;;;526:5437;;1407:22;;;526:5437;1281:42;526:5437;;1407:22;;;;526:5437;1407:22;;:::i;:::-;526:5437;;;;;;1357:73;;;;;526:5437;;;;;;;;-1:-1:-1;526:5437:74;;;;;;;;;-1:-1:-1;526:5437:74;;1357:73;1407:22;1357:73;;;;;;:::i;:::-;1447:75;:::i;:::-;526:5437;1698:77;1715:35;526:5437;1374:31;526:5437;;1715:35;526:5437;1715:35;;;526:5437;;:::i;:::-;1715:35;;;;;;;;;;526:5437;;1752:22;;;526:5437;;;1752:22;;;;526:5437;1752:22;;:::i;4179:177:4:-;526:5437:74;;;;;;4281:13:4;;;4277:73;;4179:177;;;:::o;4277:73::-;526:5437:74;4310:29:4;;;;-1:-1:-1;526:5437:74;;;;4310:29:4;;;;;2030:14:2;4310:29:4;;;;;526:5437:74;;;;;;;;;;;;;;;:::i;801:425:75:-;526:5437:74;801:425:75;526:5437:74;;;;;1143:19:75;526:5437:74;;;1082:81:75;;107:42:1;526:5437:74;107:42:1;;;;;;;-1:-1:-1;107:42:1;;;2030:14:2;107:42:1;;;2030:14:2;107:42:1;1082:81:75;;;;;;:::i;:::-;526:5437:74;1072:92:75;;526:5437:74;801:425:75;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_DeployRouterShim_SameAddress()":"4f16fadf","test_DeployRouterShim_Success()":"b4ce81b5","test_DeployedContract_HasCorrectConfiguration()":"b4092f6f"}}}},"test/utils/Create2Utils.sol":{"Create2Utils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Create2 Address Calculation Utilities\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility functions for calculating CREATE2 addresses used in deployment tests\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/Create2Utils.sol\":\"Create2Utils\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"test/utils/Create2Utils.sol\":{\"keccak256\":\"0xe5b36a1cdb5827185a7948737c4f61eca071f949c6d7f57339ebaaaee948bbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63655eac25e4f37b069b136660b1585c8be05e749f6dd513ed9a763be83fcb9e\",\"dweb:/ipfs/QmdjR1QrAPUYN8LvsrGk2f1ZvVVfQ2aqPdKqmuSf8H1DpV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220da77ba0b21bc8fd09b57218bbd84020fb54a64c7a694c95527ea2a0af1ebd6e964736f6c634300081e0033","sourceMap":"454:1003:75:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220da77ba0b21bc8fd09b57218bbd84020fb54a64c7a694c95527ea2a0af1ebd6e964736f6c634300081e0033","sourceMap":"454:1003:75:-:0;;","linkReferences":{}}}}},"test/utils/TstoreUtils.sol":{"TstoreGetter":{"abi":[{"type":"function","name":"get","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"get\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Helper to probe tstore support by attempting a tload\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/TstoreUtils.sol\":\"TstoreGetter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346013576095908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033","sourceMap":"918:164:76:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033","sourceMap":"918:164:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1021:53;918:164;;;;;;","linkReferences":{}},"methodIdentifiers":{"get(bytes32)":"8eaa6ac0"}}},"TstoreMode":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/TstoreUtils.sol\":\"TstoreMode\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212204256c396b0785c6f167cc89310d2ff856d475c957cee8a87d67ebc6b791f972564736f6c634300081e0033","sourceMap":"1286:544:76:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea26469706673582212204256c396b0785c6f167cc89310d2ff856d475c957cee8a87d67ebc6b791f972564736f6c634300081e0033","sourceMap":"1286:544:76:-:0;;","linkReferences":{}}}},"TstoreRead":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utilities to read a transient storage slot from an arbitrary address by temporarily etching `TstoreGetter` bytecode at the target, performing a staticcall, and restoring the original code.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/TstoreUtils.sol\":\"TstoreRead\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220e71dae46ae5c7b125587835f3a4e15dbc1b53c4b24f3927ca1cc3dbf28c0069b64736f6c634300081e0033","sourceMap":"2255:1061:76:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220e71dae46ae5c7b125587835f3a4e15dbc1b53c4b24f3927ca1cc3dbf28c0069b64736f6c634300081e0033","sourceMap":"2255:1061:76:-:0;;","linkReferences":{}}}},"TstoreSetter":{"abi":[{"type":"function","name":"set","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Helper to write transient storage at a given slot\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/TstoreUtils.sol\":\"TstoreSetter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234601357608d908160188239f35b5f80fdfe6004361015600b575f80fd5b5f3560e01c63f71f7a2514601d575f80fd5b3460535760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126053576024356004355d005b5f80fdfea26469706673582212205c3478906b70ed217cacaeb0f98254718dfc00d76a73c3f166ed1357b7f7af5364736f6c634300081e0033","sourceMap":"702:149:76:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6004361015600b575f80fd5b5f3560e01c63f71f7a2514601d575f80fd5b3460535760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126053576024356004355d005b5f80fdfea26469706673582212205c3478906b70ed217cacaeb0f98254718dfc00d76a73c3f166ed1357b7f7af5364736f6c634300081e0033","sourceMap":"702:149:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:52;702:149;;;;","linkReferences":{}},"methodIdentifiers":{"set(bytes32,bytes32)":"f71f7a25"}}}}},"sources":{"lib/erc2470-libs/script/SingletonDeployer.s.sol":{"id":0,"ast":{"absolutePath":"lib/erc2470-libs/script/SingletonDeployer.s.sol","id":211,"exportedSymbols":{"DeploymentFailed":[14],"ISingletonFactory":[234],"SINGLETON_DEPLOY_COST":[221],"SINGLETON_DEPLOY_TX":[224],"SINGLETON_EOA_ADDR":[218],"SINGLETON_FACTORY_ADDR":[215],"Script":[335],"SingletonDeployer":[210],"console":[26795]},"nodeType":"SourceUnit","src":"39:2348:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"39:24:0","nodes":[],"literals":["solidity","^","0.8",".18"]},{"id":4,"nodeType":"ImportDirective","src":"65:53:0","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":211,"sourceUnit":336,"symbolAliases":[{"foreign":{"id":2,"name":"Script","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":335,"src":"73:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":3,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"81:7:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10,"nodeType":"ImportDirective","src":"120:173:0","nodes":[],"absolutePath":"lib/erc2470-libs/src/ISingletonFactory.sol","file":"../src/ISingletonFactory.sol","nameLocation":"-1:-1:-1","scope":211,"sourceUnit":235,"symbolAliases":[{"foreign":{"id":5,"name":"ISingletonFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"133:17:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":6,"name":"SINGLETON_DEPLOY_COST","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":221,"src":"156:21:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":7,"name":"SINGLETON_DEPLOY_TX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"183:19:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":8,"name":"SINGLETON_EOA_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"208:18:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":9,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"232:22:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14,"nodeType":"ErrorDefinition","src":"295:38:0","nodes":[],"errorSelector":"20631f91","name":"DeploymentFailed","nameLocation":"301:16:0","parameters":{"id":13,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12,"mutability":"mutable","name":"reason","nameLocation":"325:6:0","nodeType":"VariableDeclaration","scope":14,"src":"318:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11,"name":"string","nodeType":"ElementaryTypeName","src":"318:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"317:15:0"}},{"id":210,"nodeType":"ContractDefinition","src":"335:2051:0","nodes":[{"id":22,"nodeType":"VariableDeclaration","src":"387:96:0","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_FACTORY","nameLocation":"422:17:0","scope":210,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"},"typeName":{"id":18,"nodeType":"UserDefinedTypeName","pathNode":{"id":17,"name":"ISingletonFactory","nameLocations":["387:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":234,"src":"387:17:0"},"referencedDeclaration":234,"src":"387:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}},"value":{"arguments":[{"id":20,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"460:22:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":19,"name":"ISingletonFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"442:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISingletonFactory_$234_$","typeString":"type(contract ISingletonFactory)"}},"id":21,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"442:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}},"visibility":"private"},{"id":82,"nodeType":"FunctionDefinition","src":"490:695:0","nodes":[],"body":{"id":81,"nodeType":"Block","src":"556:629:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":27,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"570:22:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"593:4:0","memberName":"code","nodeType":"MemberAccess","src":"570:27:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":29,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"598:6:0","memberName":"length","nodeType":"MemberAccess","src":"570:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"32","id":30,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"608:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"570:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80,"nodeType":"IfStatement","src":"566:613:0","trueBody":{"id":79,"nodeType":"Block","src":"611:568:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32,"name":"SINGLETON_EOA_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"629:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"648:7:0","memberName":"balance","nodeType":"MemberAccess","src":"629:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":34,"name":"SINGLETON_DEPLOY_COST","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":221,"src":"658:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"629:50:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65,"nodeType":"IfStatement","src":"625:360:0","trueBody":{"id":64,"nodeType":"Block","src":"681:304:0","statements":[{"expression":{"arguments":[{"hexValue":"46756e64696e672053696e676c65746f6e20466163746f727920454f41","id":39,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"757:31:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bab685f44a9af38ef54570f6591f5907cdb3ea466a926e53c1f55c515623eca7","typeString":"literal_string \"Funding Singleton Factory EOA\""},"value":"Funding Singleton Factory EOA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bab685f44a9af38ef54570f6591f5907cdb3ea466a926e53c1f55c515623eca7","typeString":"literal_string \"Funding Singleton Factory EOA\""}],"expression":{"id":36,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"745:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":38,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"753:3:0","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19309,"src":"745:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":40,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"745:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41,"nodeType":"ExpressionStatement","src":"745:44:0"},{"expression":{"arguments":[{"id":45,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24,"src":"825:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":42,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"807:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":44,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"810:14:0","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15618,"src":"807:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":46,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"807:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47,"nodeType":"ExpressionStatement","src":"807:21:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53,"name":"SINGLETON_DEPLOY_COST","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":221,"src":"883:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":54,"name":"SINGLETON_EOA_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"907:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":55,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"926:7:0","memberName":"balance","nodeType":"MemberAccess","src":"907:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"883:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":50,"name":"SINGLETON_EOA_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"854:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"846:8:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":48,"name":"address","nodeType":"ElementaryTypeName","src":"846:8:0","stateMutability":"payable","typeDescriptions":{}}},"id":51,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"846:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":52,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"874:8:0","memberName":"transfer","nodeType":"MemberAccess","src":"846:36:0","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":57,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"846:88:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58,"nodeType":"ExpressionStatement","src":"846:88:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"952:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"955:13:0","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15622,"src":"952:16:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"952:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63,"nodeType":"ExpressionStatement","src":"952:18:0"}]}},{"expression":{"arguments":[{"hexValue":"4465706c6f79696e672053696e676c65746f6e20466163746f727920746f","id":69,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1050:32:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1fa069dae5923b8d603fe3368c6aa9f0a5f752e09e5aa33318399c02fc37b5a","typeString":"literal_string \"Deploying Singleton Factory to\""},"value":"Deploying Singleton Factory to"},{"id":70,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"1084:22:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1fa069dae5923b8d603fe3368c6aa9f0a5f752e09e5aa33318399c02fc37b5a","typeString":"literal_string \"Deploying Singleton Factory to\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"1038:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":68,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1046:3:0","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19490,"src":"1038:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":71,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1038:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72,"nodeType":"ExpressionStatement","src":"1038:69:0"},{"expression":{"arguments":[{"id":76,"name":"SINGLETON_DEPLOY_TX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"1148:19:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":73,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1121:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":75,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1124:23:0","memberName":"broadcastRawTransaction","nodeType":"MemberAccess","referencedDeclaration":15505,"src":"1121:26:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":77,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1121:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78,"nodeType":"ExpressionStatement","src":"1121:47:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deploySingletonFactoryIfNotAlready","nameLocation":"499:35:0","parameters":{"id":25,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24,"mutability":"mutable","name":"pk","nameLocation":"543:2:0","nodeType":"VariableDeclaration","scope":82,"src":"535:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23,"name":"uint256","nodeType":"ElementaryTypeName","src":"535:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"534:12:0"},"returnParameters":{"id":26,"nodeType":"ParameterList","parameters":[],"src":"556:0:0"},"scope":210,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":172,"nodeType":"FunctionDefinition","src":"1191:843:0","nodes":[],"body":{"id":171,"nodeType":"Block","src":"1343:691:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":96,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"1389:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95,"name":"_deploySingletonFactoryIfNotAlready","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82,"src":"1353:35:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":97,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1353:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98,"nodeType":"ExpressionStatement","src":"1353:39:0"},{"expression":{"id":104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1402:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":101,"name":"_initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86,"src":"1429:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":102,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88,"src":"1440:5:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":100,"name":"_singletonAddressOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"1409:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes memory,bytes32) pure returns (address)"}},"id":103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1402:44:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":105,"nodeType":"ExpressionStatement","src":"1402:44:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":106,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1460:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1465:4:0","memberName":"code","nodeType":"MemberAccess","src":"1460:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1470:6:0","memberName":"length","nodeType":"MemberAccess","src":"1460:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"32","id":109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1480:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1460:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":167,"nodeType":"Block","src":"1936:71:0","statements":[{"expression":{"arguments":[{"id":162,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"1962:4:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"616c7265616479206465706c6f79656420746f","id":163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1968:21:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf9383d27791117ac53ec65b71d68f520e6b4afe89117612b4fd82c19cf7c39d","typeString":"literal_string \"already deployed to\""},"value":"already deployed to"},{"id":164,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1991:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_cf9383d27791117ac53ec65b71d68f520e6b4afe89117612b4fd82c19cf7c39d","typeString":"literal_string \"already deployed to\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":159,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"1950:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1958:3:0","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":20106,"src":"1950:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,string memory,address) pure"}},"id":165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1950:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":166,"nodeType":"ExpressionStatement","src":"1950:46:0"}]},"id":168,"nodeType":"IfStatement","src":"1456:551:0","trueBody":{"id":158,"nodeType":"Block","src":"1483:447:0","statements":[{"expression":{"arguments":[{"id":114,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"1509:4:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"6465706c6f79696e6720746f","id":115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1515:14:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_75fb35d838fd2cea2162f561cbb43d1008f49822fa50470e75249d4f39521453","typeString":"literal_string \"deploying to\""},"value":"deploying to"},{"id":116,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1531:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_75fb35d838fd2cea2162f561cbb43d1008f49822fa50470e75249d4f39521453","typeString":"literal_string \"deploying to\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":111,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"1497:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1505:3:0","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":20106,"src":"1497:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,string memory,address) pure"}},"id":117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1497:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118,"nodeType":"ExpressionStatement","src":"1497:39:0"},{"expression":{"arguments":[{"id":122,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"1568:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":119,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1550:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1553:14:0","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15618,"src":"1550:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1550:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":124,"nodeType":"ExpressionStatement","src":"1550:21:0"},{"assignments":[126],"declarations":[{"constant":false,"id":126,"mutability":"mutable","name":"actualAddr","nameLocation":"1593:10:0","nodeType":"VariableDeclaration","scope":158,"src":"1585:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":125,"name":"address","nodeType":"ElementaryTypeName","src":"1585:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":132,"initialValue":{"arguments":[{"id":129,"name":"_initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86,"src":"1631:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":130,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88,"src":"1642:5:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":127,"name":"SINGLETON_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"1606:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}},"id":128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1624:6:0","memberName":"deploy","nodeType":"MemberAccess","referencedDeclaration":233,"src":"1606:24:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_payable_$","typeString":"function (bytes memory,bytes32) external returns (address payable)"}},"id":131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1606:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"1585:63:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":133,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1662:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1665:13:0","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15622,"src":"1662:16:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1662:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137,"nodeType":"ExpressionStatement","src":"1662:18:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":138,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1698:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":139,"name":"actualAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"1706:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1698:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":146,"nodeType":"IfStatement","src":"1694:109:0","trueBody":{"id":145,"nodeType":"Block","src":"1718:85:0","statements":[{"errorCall":{"arguments":[{"hexValue":"4465706c6f7965642061646472657373206d69736d61746368","id":142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1760:27:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3eefde99a1d8bd9619e5275745bdf066810b42815f24dca6fd1f93a642c7c3f6","typeString":"literal_string \"Deployed address mismatch\""},"value":"Deployed address mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3eefde99a1d8bd9619e5275745bdf066810b42815f24dca6fd1f93a642c7c3f6","typeString":"literal_string \"Deployed address mismatch\""}],"id":141,"name":"DeploymentFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"1743:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1743:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":144,"nodeType":"RevertStatement","src":"1736:52:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":147,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1820:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1825:4:0","memberName":"code","nodeType":"MemberAccess","src":"1820:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1830:6:0","memberName":"length","nodeType":"MemberAccess","src":"1820:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"32","id":150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1840:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1820:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":157,"nodeType":"IfStatement","src":"1816:104:0","trueBody":{"id":156,"nodeType":"Block","src":"1843:77:0","statements":[{"errorCall":{"arguments":[{"hexValue":"4465706c6f796d656e74206661696c6564","id":153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1885:19:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa2295279825fc5c1b0ee87bfb3d9f97e1f777c29c82f8d0a2e2fc2fa6c99dcb","typeString":"literal_string \"Deployment failed\""},"value":"Deployment failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa2295279825fc5c1b0ee87bfb3d9f97e1f777c29c82f8d0a2e2fc2fa6c99dcb","typeString":"literal_string \"Deployment failed\""}],"id":152,"name":"DeploymentFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"1868:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1868:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":155,"nodeType":"RevertStatement","src":"1861:44:0"}]}}]}},{"expression":{"id":169,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"2023:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":94,"id":170,"nodeType":"Return","src":"2016:11:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deployIfNotAlready","nameLocation":"1200:19:0","parameters":{"id":91,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84,"mutability":"mutable","name":"name","nameLocation":"1234:4:0","nodeType":"VariableDeclaration","scope":172,"src":"1220:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":83,"name":"string","nodeType":"ElementaryTypeName","src":"1220:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":86,"mutability":"mutable","name":"_initCode","nameLocation":"1253:9:0","nodeType":"VariableDeclaration","scope":172,"src":"1240:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85,"name":"bytes","nodeType":"ElementaryTypeName","src":"1240:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":88,"mutability":"mutable","name":"_salt","nameLocation":"1272:5:0","nodeType":"VariableDeclaration","scope":172,"src":"1264:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":87,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1264:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":90,"mutability":"mutable","name":"pk","nameLocation":"1287:2:0","nodeType":"VariableDeclaration","scope":172,"src":"1279:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89,"name":"uint256","nodeType":"ElementaryTypeName","src":"1279:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1219:71:0"},"returnParameters":{"id":94,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93,"mutability":"mutable","name":"addr","nameLocation":"1333:4:0","nodeType":"VariableDeclaration","scope":172,"src":"1325:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92,"name":"address","nodeType":"ElementaryTypeName","src":"1325:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1324:14:0"},"scope":210,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":209,"nodeType":"FunctionDefinition","src":"2040:344:0","nodes":[],"body":{"id":208,"nodeType":"Block","src":"2145:239:0","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2271:4:0","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2264:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":190,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2264:6:0","typeDescriptions":{}}},"id":193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2264:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":196,"name":"SINGLETON_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"2286:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}],"id":195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2278:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":194,"name":"address","nodeType":"ElementaryTypeName","src":"2278:7:0","typeDescriptions":{}}},"id":197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2278:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":198,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176,"src":"2306:5:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":200,"name":"_initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"2323:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":199,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2313:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2313:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":188,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2247:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2251:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"2247:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2247:87:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":187,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2237:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2237:98:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2208:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"2208:7:0","typeDescriptions":{}}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2208:145:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2183:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":183,"name":"uint160","nodeType":"ElementaryTypeName","src":"2183:7:0","typeDescriptions":{}}},"id":205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2183:184:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2162:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":181,"name":"address","nodeType":"ElementaryTypeName","src":"2162:7:0","typeDescriptions":{}}},"id":206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2162:215:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":180,"id":207,"nodeType":"Return","src":"2155:222:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_singletonAddressOf","nameLocation":"2049:19:0","parameters":{"id":177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":174,"mutability":"mutable","name":"_initCode","nameLocation":"2082:9:0","nodeType":"VariableDeclaration","scope":209,"src":"2069:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":173,"name":"bytes","nodeType":"ElementaryTypeName","src":"2069:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":176,"mutability":"mutable","name":"_salt","nameLocation":"2101:5:0","nodeType":"VariableDeclaration","scope":209,"src":"2093:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2093:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2068:39:0"},"returnParameters":{"id":180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":179,"mutability":"mutable","name":"addr","nameLocation":"2139:4:0","nodeType":"VariableDeclaration","scope":209,"src":"2131:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":178,"name":"address","nodeType":"ElementaryTypeName","src":"2131:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2130:14:0"},"scope":210,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":15,"name":"Script","nameLocations":["374:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":335,"src":"374:6:0"},"id":16,"nodeType":"InheritanceSpecifier","src":"374:6:0"}],"canonicalName":"SingletonDeployer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[210,335,13420,6247,4157,294,282],"name":"SingletonDeployer","nameLocation":"353:17:0","scope":211,"usedErrors":[],"usedEvents":[]}],"license":"UNLICENSED"}},"lib/erc2470-libs/src/ISingletonFactory.sol":{"id":1,"ast":{"absolutePath":"lib/erc2470-libs/src/ISingletonFactory.sol","id":235,"exportedSymbols":{"ISingletonFactory":[234],"SINGLETON_DEPLOY_COST":[221],"SINGLETON_DEPLOY_TX":[224],"SINGLETON_EOA_ADDR":[218],"SINGLETON_FACTORY_ADDR":[215]},"nodeType":"SourceUnit","src":"39:1177:1","nodes":[{"id":212,"nodeType":"PragmaDirective","src":"39:24:1","nodes":[],"literals":["solidity","^","0.8",".18"]},{"id":215,"nodeType":"VariableDeclaration","src":"65:84:1","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_FACTORY_ADDR","nameLocation":"82:22:1","scope":235,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":213,"name":"address","nodeType":"ElementaryTypeName","src":"65:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863653030343242383638333030303030643434413539303034446135344130303566666463663966","id":214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"107:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xce0042B868300000d44A59004Da54A005ffdcf9f"},"visibility":"internal"},{"id":218,"nodeType":"VariableDeclaration","src":"151:80:1","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_EOA_ADDR","nameLocation":"168:18:1","scope":235,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":216,"name":"address","nodeType":"ElementaryTypeName","src":"151:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307842623665303234623963464641434239343741373139393145333836363831423143643134373744","id":217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"189:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xBb6e024b9cFFACB947A71991E386681B1Cd1477D"},"visibility":"internal"},{"id":221,"nodeType":"VariableDeclaration","src":"233:53:1","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_DEPLOY_COST","nameLocation":"250:21:1","scope":235,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":219,"name":"uint256","nodeType":"ElementaryTypeName","src":"233:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"302e30323437","id":220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"274:12:1","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_24700000000000000_by_1","typeString":"int_const 24700000000000000"},"value":"0.0247"},"visibility":"internal"},{"id":224,"nodeType":"VariableDeclaration","src":"288:780:1","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_DEPLOY_TX","nameLocation":"303:19:1","scope":235,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":222,"name":"bytes","nodeType":"ElementaryTypeName","src":"288:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"hexValue":"f9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470","id":223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"329:739:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_803351deb6d745e91545a6a3e1c0ea3e9a6a02a1a4193b70edfcd2f40f71a01c","typeString":"literal_string hex\"f9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470\""}},"visibility":"internal"},{"id":234,"nodeType":"ContractDefinition","src":"1071:144:1","nodes":[{"id":233,"nodeType":"FunctionDefinition","src":"1105:108:1","nodes":[],"functionSelector":"4af63f02","implemented":false,"kind":"function","modifiers":[],"name":"deploy","nameLocation":"1114:6:1","parameters":{"id":229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":226,"mutability":"mutable","name":"_initCode","nameLocation":"1136:9:1","nodeType":"VariableDeclaration","scope":233,"src":"1121:24:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":225,"name":"bytes","nodeType":"ElementaryTypeName","src":"1121:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":228,"mutability":"mutable","name":"_salt","nameLocation":"1155:5:1","nodeType":"VariableDeclaration","scope":233,"src":"1147:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1147:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1120:41:1"},"returnParameters":{"id":232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":231,"mutability":"mutable","name":"createdContract","nameLocation":"1196:15:1","nodeType":"VariableDeclaration","scope":233,"src":"1180:31:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":230,"name":"address","nodeType":"ElementaryTypeName","src":"1180:15:1","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"1179:33:1"},"scope":234,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISingletonFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[234],"name":"ISingletonFactory","nameLocation":"1081:17:1","scope":235,"usedErrors":[],"usedEvents":[]}],"license":"UNLICENSED"}},"lib/forge-std/src/Base.sol":{"id":2,"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":295,"exportedSymbols":{"CommonBase":[282],"ScriptBase":[294],"StdStorage":[8581],"TestBase":[285],"Vm":[18679],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"32:2201:2","nodes":[{"id":236,"nodeType":"PragmaDirective","src":"32:31:2","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":238,"nodeType":"ImportDirective","src":"65:44:2","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":295,"sourceUnit":10539,"symbolAliases":[{"foreign":{"id":237,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"73:10:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":241,"nodeType":"ImportDirective","src":"110:36:2","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":295,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":239,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"118:2:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":240,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"122:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":282,"nodeType":"ContractDefinition","src":"148:1933:2","nodes":[{"id":245,"nodeType":"VariableDeclaration","src":"297:81:2","nodes":[],"constant":true,"documentation":{"id":242,"nodeType":"StructuredDocumentation","src":"183:109:2","text":"@dev Cheat code address.\n Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`."},"mutability":"constant","name":"VM_ADDRESS","nameLocation":"323:10:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":243,"name":"address","nodeType":"ElementaryTypeName","src":"297:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307837313039373039454366613931613830363236664633393839443638663637463562314444313244","id":244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"336:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"},"visibility":"internal"},{"id":249,"nodeType":"VariableDeclaration","src":"549:78:2","nodes":[],"constant":true,"documentation":{"id":246,"nodeType":"StructuredDocumentation","src":"385:159:2","text":"@dev console.sol and console2.sol work by executing a staticcall to this address.\n Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`."},"mutability":"constant","name":"CONSOLE","nameLocation":"575:7:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":247,"name":"address","nodeType":"ElementaryTypeName","src":"549:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"585:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":253,"nodeType":"VariableDeclaration","src":"760:86:2","nodes":[],"constant":true,"documentation":{"id":250,"nodeType":"StructuredDocumentation","src":"634:121:2","text":"@dev Used when deploying with create2.\n Taken from https://github.com/Arachnid/deterministic-deployment-proxy."},"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"786:15:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":251,"name":"address","nodeType":"ElementaryTypeName","src":"760:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"804:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":257,"nodeType":"VariableDeclaration","src":"1004:85:2","nodes":[],"constant":true,"documentation":{"id":254,"nodeType":"StructuredDocumentation","src":"853:146:2","text":"@dev The default address for tx.origin and msg.sender.\n Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`."},"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"1030:14:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":255,"name":"address","nodeType":"ElementaryTypeName","src":"1004:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307831383034633841423146313245366262663338393464343038336633336530373330396431663338","id":256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1047:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38"},"visibility":"internal"},{"id":261,"nodeType":"VariableDeclaration","src":"1371:92:2","nodes":[],"constant":true,"documentation":{"id":258,"nodeType":"StructuredDocumentation","src":"1096:270:2","text":"@dev The address of the first contract `CREATE`d by a running test contract.\n When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`."},"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1397:21:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":259,"name":"address","nodeType":"ElementaryTypeName","src":"1371:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1421:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":265,"nodeType":"VariableDeclaration","src":"1591:89:2","nodes":[],"constant":true,"documentation":{"id":262,"nodeType":"StructuredDocumentation","src":"1470:116:2","text":"@dev Deterministic deployment address of the Multicall3 contract.\n Taken from https://www.multicall3.com."},"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1617:18:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":263,"name":"address","nodeType":"ElementaryTypeName","src":"1591:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1638:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":269,"nodeType":"VariableDeclaration","src":"1734:130:2","nodes":[],"constant":true,"documentation":{"id":266,"nodeType":"StructuredDocumentation","src":"1687:42:2","text":"@dev The order of the secp256k1 curve."},"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1760:15:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":267,"name":"uint256","nodeType":"ElementaryTypeName","src":"1734:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1786:78:2","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"id":272,"nodeType":"VariableDeclaration","src":"1871:126:2","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1897:11:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":270,"name":"uint256","nodeType":"ElementaryTypeName","src":"1871:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1919:78:2","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":278,"nodeType":"VariableDeclaration","src":"2004:40:2","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"2025:2:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":274,"nodeType":"UserDefinedTypeName","pathNode":{"id":273,"name":"Vm","nameLocations":["2004:2:2"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"2004:2:2"},"referencedDeclaration":18679,"src":"2004:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"id":276,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":245,"src":"2033:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":275,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"2030:2:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2030:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"internal"},{"id":281,"nodeType":"VariableDeclaration","src":"2050:28:2","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"2070:8:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage"},"typeName":{"id":280,"nodeType":"UserDefinedTypeName","pathNode":{"id":279,"name":"StdStorage","nameLocations":["2050:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"2050:10:2"},"referencedDeclaration":8581,"src":"2050:10:2","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[282],"name":"CommonBase","nameLocation":"166:10:2","scope":295,"usedErrors":[],"usedEvents":[]},{"id":285,"nodeType":"ContractDefinition","src":"2083:43:2","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":283,"name":"CommonBase","nameLocations":["2113:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":282,"src":"2113:10:2"},"id":284,"nodeType":"InheritanceSpecifier","src":"2113:10:2"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[285,282],"name":"TestBase","nameLocation":"2101:8:2","scope":295,"usedErrors":[],"usedEvents":[]},{"id":294,"nodeType":"ContractDefinition","src":"2128:104:2","nodes":[{"id":293,"nodeType":"VariableDeclaration","src":"2177:52:2","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"2202:6:2","scope":294,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":289,"nodeType":"UserDefinedTypeName","pathNode":{"id":288,"name":"VmSafe","nameLocations":["2177:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"2177:6:2"},"referencedDeclaration":17608,"src":"2177:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":291,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":245,"src":"2218:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":290,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"2211:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2211:18:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":286,"name":"CommonBase","nameLocations":["2160:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":282,"src":"2160:10:2"},"id":287,"nodeType":"InheritanceSpecifier","src":"2160:10:2"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[294,282],"name":"ScriptBase","nameLocation":"2146:10:2","scope":295,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/Script.sol":{"id":3,"ast":{"absolutePath":"lib/forge-std/src/Script.sol","id":336,"exportedSymbols":{"Script":[335],"ScriptBase":[294],"StdChains":[4157],"StdCheatsSafe":[6247],"StdConstants":[7083],"StdStorage":[8581],"StdStyle":[11749],"StdUtils":[13420],"VmSafe":[17608],"console":[26795],"console2":[26795],"safeconsole":[40037],"stdJson":[8387],"stdMath":[8543],"stdStorageSafe":[9933]},"nodeType":"SourceUnit","src":"32:849:3","nodes":[{"id":296,"nodeType":"PragmaDirective","src":"32:31:3","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":298,"nodeType":"ImportDirective","src":"127:38:3","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":26796,"symbolAliases":[{"foreign":{"id":297,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"135:7:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":300,"nodeType":"ImportDirective","src":"166:40:3","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":26800,"symbolAliases":[{"foreign":{"id":299,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"174:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":302,"nodeType":"ImportDirective","src":"207:46:3","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":40038,"symbolAliases":[{"foreign":{"id":301,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40037,"src":"215:11:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":304,"nodeType":"ImportDirective","src":"254:42:3","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":4158,"symbolAliases":[{"foreign":{"id":303,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4157,"src":"262:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":306,"nodeType":"ImportDirective","src":"297:46:3","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":7043,"symbolAliases":[{"foreign":{"id":305,"name":"StdCheatsSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6247,"src":"305:13:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":308,"nodeType":"ImportDirective","src":"344:48:3","nodes":[],"absolutePath":"lib/forge-std/src/StdConstants.sol","file":"./StdConstants.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":7084,"symbolAliases":[{"foreign":{"id":307,"name":"StdConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"352:12:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":310,"nodeType":"ImportDirective","src":"393:38:3","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":8388,"symbolAliases":[{"foreign":{"id":309,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8387,"src":"401:7:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":312,"nodeType":"ImportDirective","src":"432:38:3","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":8544,"symbolAliases":[{"foreign":{"id":311,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8543,"src":"440:7:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":315,"nodeType":"ImportDirective","src":"471:60:3","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":10539,"symbolAliases":[{"foreign":{"id":313,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"479:10:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":314,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"491:14:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":317,"nodeType":"ImportDirective","src":"532:40:3","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":11750,"symbolAliases":[{"foreign":{"id":316,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11749,"src":"540:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":319,"nodeType":"ImportDirective","src":"573:40:3","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":13421,"symbolAliases":[{"foreign":{"id":318,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13420,"src":"581:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":321,"nodeType":"ImportDirective","src":"614:32:3","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":320,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"622:6:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":323,"nodeType":"ImportDirective","src":"668:38:3","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":295,"symbolAliases":[{"foreign":{"id":322,"name":"ScriptBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"676:10:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":335,"nodeType":"ContractDefinition","src":"725:155:3","nodes":[{"id":334,"nodeType":"VariableDeclaration","src":"849:28:3","nodes":[],"constant":false,"functionSelector":"f8ccbf47","mutability":"mutable","name":"IS_SCRIPT","nameLocation":"861:9:3","scope":335,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":332,"name":"bool","nodeType":"ElementaryTypeName","src":"849:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"873:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":324,"name":"ScriptBase","nameLocations":["753:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":294,"src":"753:10:3"},"id":325,"nodeType":"InheritanceSpecifier","src":"753:10:3"},{"baseName":{"id":326,"name":"StdChains","nameLocations":["765:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":4157,"src":"765:9:3"},"id":327,"nodeType":"InheritanceSpecifier","src":"765:9:3"},{"baseName":{"id":328,"name":"StdCheatsSafe","nameLocations":["776:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":6247,"src":"776:13:3"},"id":329,"nodeType":"InheritanceSpecifier","src":"776:13:3"},{"baseName":{"id":330,"name":"StdUtils","nameLocations":["791:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":13420,"src":"791:8:3"},"id":331,"nodeType":"InheritanceSpecifier","src":"791:8:3"}],"canonicalName":"Script","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[335,13420,6247,4157,294,282],"name":"Script","nameLocation":"743:6:3","scope":336,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdAssertions.sol":{"id":4,"ast":{"absolutePath":"lib/forge-std/src/StdAssertions.sol","id":3195,"exportedSymbols":{"StdAssertions":[3194],"Vm":[18679]},"nodeType":"SourceUnit","src":"32:25360:4","nodes":[{"id":337,"nodeType":"PragmaDirective","src":"32:31:4","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":338,"nodeType":"PragmaDirective","src":"64:33:4","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":340,"nodeType":"ImportDirective","src":"99:28:4","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":3195,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":339,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"107:2:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3194,"nodeType":"ContractDefinition","src":"129:25262:4","nodes":[{"id":357,"nodeType":"VariableDeclaration","src":"167:84:4","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"187:2:4","scope":3194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":342,"nodeType":"UserDefinedTypeName","pathNode":{"id":341,"name":"Vm","nameLocations":["167:2:4"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"167:2:4"},"referencedDeclaration":18679,"src":"167:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"229:17:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":350,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"219:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"219:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"211:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":348,"name":"uint256","nodeType":"ElementaryTypeName","src":"211:7:4","typeDescriptions":{}}},"id":353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"211:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"203:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":346,"name":"uint160","nodeType":"ElementaryTypeName","src":"203:7:4","typeDescriptions":{}}},"id":354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"203:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"195:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":344,"name":"address","nodeType":"ElementaryTypeName","src":"195:7:4","typeDescriptions":{}}},"id":355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"195:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":343,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"192:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"192:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":361,"nodeType":"EventDefinition","src":"258:18:4","nodes":[],"anonymous":false,"eventSelector":"41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","name":"log","nameLocation":"264:3:4","parameters":{"id":360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":359,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":361,"src":"268:6:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":358,"name":"string","nodeType":"ElementaryTypeName","src":"268:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"267:8:4"}},{"id":365,"nodeType":"EventDefinition","src":"281:18:4","nodes":[],"anonymous":false,"eventSelector":"e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4","name":"logs","nameLocation":"287:4:4","parameters":{"id":364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":365,"src":"292:5:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":362,"name":"bytes","nodeType":"ElementaryTypeName","src":"292:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"291:7:4"}},{"id":369,"nodeType":"EventDefinition","src":"305:27:4","nodes":[],"anonymous":false,"eventSelector":"7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3","name":"log_address","nameLocation":"311:11:4","parameters":{"id":368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":367,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":369,"src":"323:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":366,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"322:9:4"}},{"id":373,"nodeType":"EventDefinition","src":"337:27:4","nodes":[],"anonymous":false,"eventSelector":"e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3","name":"log_bytes32","nameLocation":"343:11:4","parameters":{"id":372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":371,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":373,"src":"355:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"354:9:4"}},{"id":377,"nodeType":"EventDefinition","src":"369:22:4","nodes":[],"anonymous":false,"eventSelector":"0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8","name":"log_int","nameLocation":"375:7:4","parameters":{"id":376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":375,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":377,"src":"383:6:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":374,"name":"int256","nodeType":"ElementaryTypeName","src":"383:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"382:8:4"}},{"id":381,"nodeType":"EventDefinition","src":"396:24:4","nodes":[],"anonymous":false,"eventSelector":"2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755","name":"log_uint","nameLocation":"402:8:4","parameters":{"id":380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":379,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":381,"src":"411:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":378,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"410:9:4"}},{"id":385,"nodeType":"EventDefinition","src":"425:23:4","nodes":[],"anonymous":false,"eventSelector":"23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20","name":"log_bytes","nameLocation":"431:9:4","parameters":{"id":384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":383,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":385,"src":"441:5:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":382,"name":"bytes","nodeType":"ElementaryTypeName","src":"441:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"440:7:4"}},{"id":389,"nodeType":"EventDefinition","src":"453:25:4","nodes":[],"anonymous":false,"eventSelector":"0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b","name":"log_string","nameLocation":"459:10:4","parameters":{"id":388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":387,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":389,"src":"470:6:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":386,"name":"string","nodeType":"ElementaryTypeName","src":"470:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"469:8:4"}},{"id":395,"nodeType":"EventDefinition","src":"484:49:4","nodes":[],"anonymous":false,"eventSelector":"9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f","name":"log_named_address","nameLocation":"490:17:4","parameters":{"id":394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":391,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"515:3:4","nodeType":"VariableDeclaration","scope":395,"src":"508:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":390,"name":"string","nodeType":"ElementaryTypeName","src":"508:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":393,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"528:3:4","nodeType":"VariableDeclaration","scope":395,"src":"520:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":392,"name":"address","nodeType":"ElementaryTypeName","src":"520:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"507:25:4"}},{"id":401,"nodeType":"EventDefinition","src":"538:49:4","nodes":[],"anonymous":false,"eventSelector":"afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99","name":"log_named_bytes32","nameLocation":"544:17:4","parameters":{"id":400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":397,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"569:3:4","nodeType":"VariableDeclaration","scope":401,"src":"562:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":396,"name":"string","nodeType":"ElementaryTypeName","src":"562:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":399,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"582:3:4","nodeType":"VariableDeclaration","scope":401,"src":"574:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":398,"name":"bytes32","nodeType":"ElementaryTypeName","src":"574:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"561:25:4"}},{"id":409,"nodeType":"EventDefinition","src":"592:70:4","nodes":[],"anonymous":false,"eventSelector":"5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95","name":"log_named_decimal_int","nameLocation":"598:21:4","parameters":{"id":408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":403,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"627:3:4","nodeType":"VariableDeclaration","scope":409,"src":"620:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":402,"name":"string","nodeType":"ElementaryTypeName","src":"620:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":405,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"639:3:4","nodeType":"VariableDeclaration","scope":409,"src":"632:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":404,"name":"int256","nodeType":"ElementaryTypeName","src":"632:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":407,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"652:8:4","nodeType":"VariableDeclaration","scope":409,"src":"644:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":406,"name":"uint256","nodeType":"ElementaryTypeName","src":"644:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"619:42:4"}},{"id":417,"nodeType":"EventDefinition","src":"667:72:4","nodes":[],"anonymous":false,"eventSelector":"eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b","name":"log_named_decimal_uint","nameLocation":"673:22:4","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":411,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"703:3:4","nodeType":"VariableDeclaration","scope":417,"src":"696:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":410,"name":"string","nodeType":"ElementaryTypeName","src":"696:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":413,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"716:3:4","nodeType":"VariableDeclaration","scope":417,"src":"708:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":412,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":415,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"729:8:4","nodeType":"VariableDeclaration","scope":417,"src":"721:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":414,"name":"uint256","nodeType":"ElementaryTypeName","src":"721:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"695:43:4"}},{"id":423,"nodeType":"EventDefinition","src":"744:44:4","nodes":[],"anonymous":false,"eventSelector":"2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168","name":"log_named_int","nameLocation":"750:13:4","parameters":{"id":422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":419,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"771:3:4","nodeType":"VariableDeclaration","scope":423,"src":"764:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":418,"name":"string","nodeType":"ElementaryTypeName","src":"764:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":421,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"783:3:4","nodeType":"VariableDeclaration","scope":423,"src":"776:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":420,"name":"int256","nodeType":"ElementaryTypeName","src":"776:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"763:24:4"}},{"id":429,"nodeType":"EventDefinition","src":"793:46:4","nodes":[],"anonymous":false,"eventSelector":"b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8","name":"log_named_uint","nameLocation":"799:14:4","parameters":{"id":428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":425,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"821:3:4","nodeType":"VariableDeclaration","scope":429,"src":"814:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":424,"name":"string","nodeType":"ElementaryTypeName","src":"814:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":427,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"834:3:4","nodeType":"VariableDeclaration","scope":429,"src":"826:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":426,"name":"uint256","nodeType":"ElementaryTypeName","src":"826:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"813:25:4"}},{"id":435,"nodeType":"EventDefinition","src":"844:45:4","nodes":[],"anonymous":false,"eventSelector":"d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18","name":"log_named_bytes","nameLocation":"850:15:4","parameters":{"id":434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":431,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"873:3:4","nodeType":"VariableDeclaration","scope":435,"src":"866:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":430,"name":"string","nodeType":"ElementaryTypeName","src":"866:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":433,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"884:3:4","nodeType":"VariableDeclaration","scope":435,"src":"878:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":432,"name":"bytes","nodeType":"ElementaryTypeName","src":"878:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"865:23:4"}},{"id":441,"nodeType":"EventDefinition","src":"894:47:4","nodes":[],"anonymous":false,"eventSelector":"280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583","name":"log_named_string","nameLocation":"900:16:4","parameters":{"id":440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":437,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"924:3:4","nodeType":"VariableDeclaration","scope":441,"src":"917:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":436,"name":"string","nodeType":"ElementaryTypeName","src":"917:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":439,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"936:3:4","nodeType":"VariableDeclaration","scope":441,"src":"929:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":438,"name":"string","nodeType":"ElementaryTypeName","src":"929:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"916:24:4"}},{"id":446,"nodeType":"EventDefinition","src":"947:31:4","nodes":[],"anonymous":false,"eventSelector":"fb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1","name":"log_array","nameLocation":"953:9:4","parameters":{"id":445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":444,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"973:3:4","nodeType":"VariableDeclaration","scope":446,"src":"963:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":442,"name":"uint256","nodeType":"ElementaryTypeName","src":"963:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":443,"nodeType":"ArrayTypeName","src":"963:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"962:15:4"}},{"id":451,"nodeType":"EventDefinition","src":"983:30:4","nodes":[],"anonymous":false,"eventSelector":"890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5","name":"log_array","nameLocation":"989:9:4","parameters":{"id":450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":449,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1008:3:4","nodeType":"VariableDeclaration","scope":451,"src":"999:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":447,"name":"int256","nodeType":"ElementaryTypeName","src":"999:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":448,"nodeType":"ArrayTypeName","src":"999:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"998:14:4"}},{"id":456,"nodeType":"EventDefinition","src":"1018:31:4","nodes":[],"anonymous":false,"eventSelector":"40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2","name":"log_array","nameLocation":"1024:9:4","parameters":{"id":455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":454,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1044:3:4","nodeType":"VariableDeclaration","scope":456,"src":"1034:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":452,"name":"address","nodeType":"ElementaryTypeName","src":"1034:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":453,"nodeType":"ArrayTypeName","src":"1034:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1033:15:4"}},{"id":463,"nodeType":"EventDefinition","src":"1054:49:4","nodes":[],"anonymous":false,"eventSelector":"00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb","name":"log_named_array","nameLocation":"1060:15:4","parameters":{"id":462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1083:3:4","nodeType":"VariableDeclaration","scope":463,"src":"1076:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":457,"name":"string","nodeType":"ElementaryTypeName","src":"1076:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":461,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1098:3:4","nodeType":"VariableDeclaration","scope":463,"src":"1088:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":459,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":460,"nodeType":"ArrayTypeName","src":"1088:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1075:27:4"}},{"id":470,"nodeType":"EventDefinition","src":"1108:48:4","nodes":[],"anonymous":false,"eventSelector":"a73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57","name":"log_named_array","nameLocation":"1114:15:4","parameters":{"id":469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":465,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1137:3:4","nodeType":"VariableDeclaration","scope":470,"src":"1130:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":464,"name":"string","nodeType":"ElementaryTypeName","src":"1130:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":468,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1151:3:4","nodeType":"VariableDeclaration","scope":470,"src":"1142:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":466,"name":"int256","nodeType":"ElementaryTypeName","src":"1142:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":467,"nodeType":"ArrayTypeName","src":"1142:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1129:26:4"}},{"id":477,"nodeType":"EventDefinition","src":"1161:49:4","nodes":[],"anonymous":false,"eventSelector":"3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd","name":"log_named_array","nameLocation":"1167:15:4","parameters":{"id":476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":472,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1190:3:4","nodeType":"VariableDeclaration","scope":477,"src":"1183:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":471,"name":"string","nodeType":"ElementaryTypeName","src":"1183:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":475,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1205:3:4","nodeType":"VariableDeclaration","scope":477,"src":"1195:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":473,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":474,"nodeType":"ArrayTypeName","src":"1195:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1182:27:4"}},{"id":483,"nodeType":"VariableDeclaration","src":"1216:56:4","nodes":[],"constant":true,"mutability":"constant","name":"FAILED_SLOT","nameLocation":"1241:11:4","scope":3194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1216:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"6661696c6564","id":481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1263:8:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1255:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1255:7:4","typeDescriptions":{}}},"id":482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1255:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":485,"nodeType":"VariableDeclaration","src":"1279:20:4","nodes":[],"constant":false,"mutability":"mutable","name":"_failed","nameLocation":"1292:7:4","scope":3194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":484,"name":"bool","nodeType":"ElementaryTypeName","src":"1279:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":511,"nodeType":"FunctionDefinition","src":"1306:195:4","nodes":[],"body":{"id":510,"nodeType":"Block","src":"1351:150:4","nodes":[],"statements":[{"condition":{"id":490,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":485,"src":"1365:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":508,"nodeType":"Block","src":"1416:79:4","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":498,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1453:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1445:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":496,"name":"address","nodeType":"ElementaryTypeName","src":"1445:7:4","typeDescriptions":{}}},"id":499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1445:11:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":500,"name":"FAILED_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":483,"src":"1458:11:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":494,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1437:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:4:4","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"1437:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1482:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1474:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1474:7:4","typeDescriptions":{}}},"id":505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1474:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1437:47:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":489,"id":507,"nodeType":"Return","src":"1430:54:4"}]},"id":509,"nodeType":"IfStatement","src":"1361:134:4","trueBody":{"id":493,"nodeType":"Block","src":"1374:36:4","statements":[{"expression":{"hexValue":"74727565","id":491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1395:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":489,"id":492,"nodeType":"Return","src":"1388:11:4"}]}}]},"functionSelector":"ba414fa6","implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1315:6:4","parameters":{"id":486,"nodeType":"ParameterList","parameters":[],"src":"1321:2:4"},"returnParameters":{"id":489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":511,"src":"1345:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":487,"name":"bool","nodeType":"ElementaryTypeName","src":"1345:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1344:6:4"},"scope":3194,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":536,"nodeType":"FunctionDefinition","src":"1507:129:4","nodes":[],"body":{"id":535,"nodeType":"Block","src":"1540:96:4","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":519,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1567:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}],"id":518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1559:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":517,"name":"address","nodeType":"ElementaryTypeName","src":"1559:7:4","typeDescriptions":{}}},"id":520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1559:11:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":521,"name":"FAILED_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":483,"src":"1572:11:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"31","id":526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1601:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1593:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":524,"name":"uint256","nodeType":"ElementaryTypeName","src":"1593:7:4","typeDescriptions":{}}},"id":527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1593:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1585:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1585:7:4","typeDescriptions":{}}},"id":528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1585:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":514,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1550:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1553:5:4","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"1550:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1550:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":530,"nodeType":"ExpressionStatement","src":"1550:55:4"},{"expression":{"id":533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":531,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":485,"src":"1615:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1625:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1615:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":534,"nodeType":"ExpressionStatement","src":"1615:14:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"1516:4:4","parameters":{"id":512,"nodeType":"ParameterList","parameters":[],"src":"1520:2:4"},"returnParameters":{"id":513,"nodeType":"ParameterList","parameters":[],"src":"1540:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":552,"nodeType":"FunctionDefinition","src":"1642:116:4","nodes":[],"body":{"id":551,"nodeType":"Block","src":"1696:62:4","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":541,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[536,552],"referencedDeclaration":536,"src":"1706:4:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1706:6:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":543,"nodeType":"ExpressionStatement","src":"1706:6:4"},{"expression":{"arguments":[{"hexValue":"66616c7365","id":547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1736:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":548,"name":"message","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":538,"src":"1743:7:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":544,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1722:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1725:10:4","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":16973,"src":"1722:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1722:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":550,"nodeType":"ExpressionStatement","src":"1722:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"1651:4:4","parameters":{"id":539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":538,"mutability":"mutable","name":"message","nameLocation":"1670:7:4","nodeType":"VariableDeclaration","scope":552,"src":"1656:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":537,"name":"string","nodeType":"ElementaryTypeName","src":"1656:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1655:23:4"},"returnParameters":{"id":540,"nodeType":"ParameterList","parameters":[],"src":"1696:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":568,"nodeType":"FunctionDefinition","src":"1764:124:4","nodes":[],"body":{"id":567,"nodeType":"Block","src":"1817:71:4","nodes":[],"statements":[{"condition":{"id":558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1831:5:4","subExpression":{"id":557,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":554,"src":"1832:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":566,"nodeType":"IfStatement","src":"1827:55:4","trueBody":{"id":565,"nodeType":"Block","src":"1838:44:4","statements":[{"expression":{"arguments":[{"id":562,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":554,"src":"1866:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":559,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1852:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1855:10:4","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":16965,"src":"1852:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1852:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":564,"nodeType":"ExpressionStatement","src":"1852:19:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1773:10:4","parameters":{"id":555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":554,"mutability":"mutable","name":"data","nameLocation":"1789:4:4","nodeType":"VariableDeclaration","scope":568,"src":"1784:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":553,"name":"bool","nodeType":"ElementaryTypeName","src":"1784:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1783:11:4"},"returnParameters":{"id":556,"nodeType":"ParameterList","parameters":[],"src":"1817:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":587,"nodeType":"FunctionDefinition","src":"1894:148:4","nodes":[],"body":{"id":586,"nodeType":"Block","src":"1966:76:4","nodes":[],"statements":[{"condition":{"id":576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1980:5:4","subExpression":{"id":575,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":570,"src":"1981:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":585,"nodeType":"IfStatement","src":"1976:60:4","trueBody":{"id":584,"nodeType":"Block","src":"1987:49:4","statements":[{"expression":{"arguments":[{"id":580,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":570,"src":"2015:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":581,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"2021:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":577,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2001:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2004:10:4","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":16973,"src":"2001:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2001:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":583,"nodeType":"ExpressionStatement","src":"2001:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1903:10:4","parameters":{"id":573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":570,"mutability":"mutable","name":"data","nameLocation":"1919:4:4","nodeType":"VariableDeclaration","scope":587,"src":"1914:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":569,"name":"bool","nodeType":"ElementaryTypeName","src":"1914:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":572,"mutability":"mutable","name":"err","nameLocation":"1939:3:4","nodeType":"VariableDeclaration","scope":587,"src":"1925:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":571,"name":"string","nodeType":"ElementaryTypeName","src":"1925:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1913:30:4"},"returnParameters":{"id":574,"nodeType":"ParameterList","parameters":[],"src":"1966:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":602,"nodeType":"FunctionDefinition","src":"2048:125:4","nodes":[],"body":{"id":601,"nodeType":"Block","src":"2102:71:4","nodes":[],"statements":[{"condition":{"id":592,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"2116:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":600,"nodeType":"IfStatement","src":"2112:55:4","trueBody":{"id":599,"nodeType":"Block","src":"2122:45:4","statements":[{"expression":{"arguments":[{"id":596,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"2151:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":593,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2136:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2139:11:4","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":16307,"src":"2136:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2136:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":598,"nodeType":"ExpressionStatement","src":"2136:20:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"2057:11:4","parameters":{"id":590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":589,"mutability":"mutable","name":"data","nameLocation":"2074:4:4","nodeType":"VariableDeclaration","scope":602,"src":"2069:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":588,"name":"bool","nodeType":"ElementaryTypeName","src":"2069:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2068:11:4"},"returnParameters":{"id":591,"nodeType":"ParameterList","parameters":[],"src":"2102:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":620,"nodeType":"FunctionDefinition","src":"2179:149:4","nodes":[],"body":{"id":619,"nodeType":"Block","src":"2252:76:4","nodes":[],"statements":[{"condition":{"id":609,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"2266:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":618,"nodeType":"IfStatement","src":"2262:60:4","trueBody":{"id":617,"nodeType":"Block","src":"2272:50:4","statements":[{"expression":{"arguments":[{"id":613,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"2301:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":614,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"2307:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":610,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2286:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2289:11:4","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":16315,"src":"2286:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2286:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":616,"nodeType":"ExpressionStatement","src":"2286:25:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"2188:11:4","parameters":{"id":607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":604,"mutability":"mutable","name":"data","nameLocation":"2205:4:4","nodeType":"VariableDeclaration","scope":620,"src":"2200:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":603,"name":"bool","nodeType":"ElementaryTypeName","src":"2200:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":606,"mutability":"mutable","name":"err","nameLocation":"2225:3:4","nodeType":"VariableDeclaration","scope":620,"src":"2211:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":605,"name":"string","nodeType":"ElementaryTypeName","src":"2211:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2199:30:4"},"returnParameters":{"id":608,"nodeType":"ParameterList","parameters":[],"src":"2252:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":640,"nodeType":"FunctionDefinition","src":"2334:147:4","nodes":[],"body":{"id":639,"nodeType":"Block","src":"2397:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":627,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":622,"src":"2411:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":628,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":624,"src":"2419:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2411:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":638,"nodeType":"IfStatement","src":"2407:68:4","trueBody":{"id":637,"nodeType":"Block","src":"2426:49:4","statements":[{"expression":{"arguments":[{"id":633,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":622,"src":"2452:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":634,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":624,"src":"2458:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":630,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2440:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2443:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16029,"src":"2440:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2440:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":636,"nodeType":"ExpressionStatement","src":"2440:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2343:8:4","parameters":{"id":625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":622,"mutability":"mutable","name":"left","nameLocation":"2357:4:4","nodeType":"VariableDeclaration","scope":640,"src":"2352:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":621,"name":"bool","nodeType":"ElementaryTypeName","src":"2352:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":624,"mutability":"mutable","name":"right","nameLocation":"2368:5:4","nodeType":"VariableDeclaration","scope":640,"src":"2363:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":623,"name":"bool","nodeType":"ElementaryTypeName","src":"2363:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2351:23:4"},"returnParameters":{"id":626,"nodeType":"ParameterList","parameters":[],"src":"2397:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":663,"nodeType":"FunctionDefinition","src":"2487:171:4","nodes":[],"body":{"id":662,"nodeType":"Block","src":"2569:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":649,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":642,"src":"2583:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":650,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":644,"src":"2591:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2583:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":661,"nodeType":"IfStatement","src":"2579:73:4","trueBody":{"id":660,"nodeType":"Block","src":"2598:54:4","statements":[{"expression":{"arguments":[{"id":655,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":642,"src":"2624:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":656,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":644,"src":"2630:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":657,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":646,"src":"2637:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":652,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2612:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2615:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16039,"src":"2612:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2612:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":659,"nodeType":"ExpressionStatement","src":"2612:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2496:8:4","parameters":{"id":647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":642,"mutability":"mutable","name":"left","nameLocation":"2510:4:4","nodeType":"VariableDeclaration","scope":663,"src":"2505:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":641,"name":"bool","nodeType":"ElementaryTypeName","src":"2505:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":644,"mutability":"mutable","name":"right","nameLocation":"2521:5:4","nodeType":"VariableDeclaration","scope":663,"src":"2516:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":643,"name":"bool","nodeType":"ElementaryTypeName","src":"2516:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":646,"mutability":"mutable","name":"err","nameLocation":"2542:3:4","nodeType":"VariableDeclaration","scope":663,"src":"2528:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":645,"name":"string","nodeType":"ElementaryTypeName","src":"2528:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2504:42:4"},"returnParameters":{"id":648,"nodeType":"ParameterList","parameters":[],"src":"2569:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":683,"nodeType":"FunctionDefinition","src":"2664:153:4","nodes":[],"body":{"id":682,"nodeType":"Block","src":"2733:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":670,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":665,"src":"2747:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":671,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"2755:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2747:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":681,"nodeType":"IfStatement","src":"2743:68:4","trueBody":{"id":680,"nodeType":"Block","src":"2762:49:4","statements":[{"expression":{"arguments":[{"id":676,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":665,"src":"2788:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":677,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"2794:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":673,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2776:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2779:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16149,"src":"2776:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2776:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":679,"nodeType":"ExpressionStatement","src":"2776:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2673:8:4","parameters":{"id":668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":665,"mutability":"mutable","name":"left","nameLocation":"2690:4:4","nodeType":"VariableDeclaration","scope":683,"src":"2682:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":664,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":667,"mutability":"mutable","name":"right","nameLocation":"2704:5:4","nodeType":"VariableDeclaration","scope":683,"src":"2696:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":666,"name":"uint256","nodeType":"ElementaryTypeName","src":"2696:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2681:29:4"},"returnParameters":{"id":669,"nodeType":"ParameterList","parameters":[],"src":"2733:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":706,"nodeType":"FunctionDefinition","src":"2823:177:4","nodes":[],"body":{"id":705,"nodeType":"Block","src":"2911:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":692,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"2925:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":693,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":687,"src":"2933:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2925:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":704,"nodeType":"IfStatement","src":"2921:73:4","trueBody":{"id":703,"nodeType":"Block","src":"2940:54:4","statements":[{"expression":{"arguments":[{"id":698,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"2966:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":699,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":687,"src":"2972:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":700,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":689,"src":"2979:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":695,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2954:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2957:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16247,"src":"2954:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2954:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":702,"nodeType":"ExpressionStatement","src":"2954:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2832:8:4","parameters":{"id":690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":685,"mutability":"mutable","name":"left","nameLocation":"2849:4:4","nodeType":"VariableDeclaration","scope":706,"src":"2841:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":684,"name":"uint256","nodeType":"ElementaryTypeName","src":"2841:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":687,"mutability":"mutable","name":"right","nameLocation":"2863:5:4","nodeType":"VariableDeclaration","scope":706,"src":"2855:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":686,"name":"uint256","nodeType":"ElementaryTypeName","src":"2855:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":689,"mutability":"mutable","name":"err","nameLocation":"2884:3:4","nodeType":"VariableDeclaration","scope":706,"src":"2870:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":688,"name":"string","nodeType":"ElementaryTypeName","src":"2870:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2840:48:4"},"returnParameters":{"id":691,"nodeType":"ParameterList","parameters":[],"src":"2911:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":724,"nodeType":"FunctionDefinition","src":"3006:152:4","nodes":[],"body":{"id":723,"nodeType":"Block","src":"3100:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":718,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":708,"src":"3129:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":719,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"3135:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":720,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":712,"src":"3142:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3110:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3113:15:4","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":15987,"src":"3110:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3110:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":722,"nodeType":"ExpressionStatement","src":"3110:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3015:15:4","parameters":{"id":713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":708,"mutability":"mutable","name":"left","nameLocation":"3039:4:4","nodeType":"VariableDeclaration","scope":724,"src":"3031:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":707,"name":"uint256","nodeType":"ElementaryTypeName","src":"3031:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":710,"mutability":"mutable","name":"right","nameLocation":"3053:5:4","nodeType":"VariableDeclaration","scope":724,"src":"3045:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":709,"name":"uint256","nodeType":"ElementaryTypeName","src":"3045:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":712,"mutability":"mutable","name":"decimals","nameLocation":"3068:8:4","nodeType":"VariableDeclaration","scope":724,"src":"3060:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":711,"name":"uint256","nodeType":"ElementaryTypeName","src":"3060:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3030:47:4"},"returnParameters":{"id":714,"nodeType":"ParameterList","parameters":[],"src":"3100:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":745,"nodeType":"FunctionDefinition","src":"3164:176:4","nodes":[],"body":{"id":744,"nodeType":"Block","src":"3277:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":738,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":726,"src":"3306:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":739,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"3312:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":740,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":730,"src":"3319:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":741,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":732,"src":"3329:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":735,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3287:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3290:15:4","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":15999,"src":"3287:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3287:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":743,"nodeType":"ExpressionStatement","src":"3287:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3173:15:4","parameters":{"id":733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":726,"mutability":"mutable","name":"left","nameLocation":"3197:4:4","nodeType":"VariableDeclaration","scope":745,"src":"3189:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":725,"name":"uint256","nodeType":"ElementaryTypeName","src":"3189:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"right","nameLocation":"3211:5:4","nodeType":"VariableDeclaration","scope":745,"src":"3203:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":727,"name":"uint256","nodeType":"ElementaryTypeName","src":"3203:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":730,"mutability":"mutable","name":"decimals","nameLocation":"3226:8:4","nodeType":"VariableDeclaration","scope":745,"src":"3218:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":729,"name":"uint256","nodeType":"ElementaryTypeName","src":"3218:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":732,"mutability":"mutable","name":"err","nameLocation":"3250:3:4","nodeType":"VariableDeclaration","scope":745,"src":"3236:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":731,"name":"string","nodeType":"ElementaryTypeName","src":"3236:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3188:66:4"},"returnParameters":{"id":734,"nodeType":"ParameterList","parameters":[],"src":"3277:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":765,"nodeType":"FunctionDefinition","src":"3346:151:4","nodes":[],"body":{"id":764,"nodeType":"Block","src":"3413:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":752,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"3427:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":753,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":749,"src":"3435:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3427:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":763,"nodeType":"IfStatement","src":"3423:68:4","trueBody":{"id":762,"nodeType":"Block","src":"3442:49:4","statements":[{"expression":{"arguments":[{"id":758,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"3468:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":759,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":749,"src":"3474:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":755,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3456:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3459:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16255,"src":"3456:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3456:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":761,"nodeType":"ExpressionStatement","src":"3456:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3355:8:4","parameters":{"id":750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":747,"mutability":"mutable","name":"left","nameLocation":"3371:4:4","nodeType":"VariableDeclaration","scope":765,"src":"3364:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":746,"name":"int256","nodeType":"ElementaryTypeName","src":"3364:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":749,"mutability":"mutable","name":"right","nameLocation":"3384:5:4","nodeType":"VariableDeclaration","scope":765,"src":"3377:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":748,"name":"int256","nodeType":"ElementaryTypeName","src":"3377:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3363:27:4"},"returnParameters":{"id":751,"nodeType":"ParameterList","parameters":[],"src":"3413:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":788,"nodeType":"FunctionDefinition","src":"3503:175:4","nodes":[],"body":{"id":787,"nodeType":"Block","src":"3589:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":774,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"3603:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":775,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":769,"src":"3611:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3603:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":786,"nodeType":"IfStatement","src":"3599:73:4","trueBody":{"id":785,"nodeType":"Block","src":"3618:54:4","statements":[{"expression":{"arguments":[{"id":780,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"3644:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":781,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":769,"src":"3650:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":782,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":771,"src":"3657:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":777,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3632:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3635:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16265,"src":"3632:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3632:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":784,"nodeType":"ExpressionStatement","src":"3632:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3512:8:4","parameters":{"id":772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":767,"mutability":"mutable","name":"left","nameLocation":"3528:4:4","nodeType":"VariableDeclaration","scope":788,"src":"3521:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":766,"name":"int256","nodeType":"ElementaryTypeName","src":"3521:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":769,"mutability":"mutable","name":"right","nameLocation":"3541:5:4","nodeType":"VariableDeclaration","scope":788,"src":"3534:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":768,"name":"int256","nodeType":"ElementaryTypeName","src":"3534:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":771,"mutability":"mutable","name":"err","nameLocation":"3562:3:4","nodeType":"VariableDeclaration","scope":788,"src":"3548:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":770,"name":"string","nodeType":"ElementaryTypeName","src":"3548:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3520:46:4"},"returnParameters":{"id":773,"nodeType":"ParameterList","parameters":[],"src":"3589:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":806,"nodeType":"FunctionDefinition","src":"3684:150:4","nodes":[],"body":{"id":805,"nodeType":"Block","src":"3776:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":800,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":790,"src":"3805:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":801,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":792,"src":"3811:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":802,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":794,"src":"3818:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":797,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3786:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3789:15:4","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16009,"src":"3786:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3786:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":804,"nodeType":"ExpressionStatement","src":"3786:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3693:15:4","parameters":{"id":795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":790,"mutability":"mutable","name":"left","nameLocation":"3716:4:4","nodeType":"VariableDeclaration","scope":806,"src":"3709:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":789,"name":"int256","nodeType":"ElementaryTypeName","src":"3709:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":792,"mutability":"mutable","name":"right","nameLocation":"3729:5:4","nodeType":"VariableDeclaration","scope":806,"src":"3722:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":791,"name":"int256","nodeType":"ElementaryTypeName","src":"3722:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":794,"mutability":"mutable","name":"decimals","nameLocation":"3744:8:4","nodeType":"VariableDeclaration","scope":806,"src":"3736:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":793,"name":"uint256","nodeType":"ElementaryTypeName","src":"3736:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3708:45:4"},"returnParameters":{"id":796,"nodeType":"ParameterList","parameters":[],"src":"3776:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":827,"nodeType":"FunctionDefinition","src":"3840:174:4","nodes":[],"body":{"id":826,"nodeType":"Block","src":"3951:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":820,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":808,"src":"3980:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":821,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"3986:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":822,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":812,"src":"3993:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":823,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":814,"src":"4003:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":817,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3961:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3964:15:4","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16021,"src":"3961:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3961:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":825,"nodeType":"ExpressionStatement","src":"3961:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3849:15:4","parameters":{"id":815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":808,"mutability":"mutable","name":"left","nameLocation":"3872:4:4","nodeType":"VariableDeclaration","scope":827,"src":"3865:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":807,"name":"int256","nodeType":"ElementaryTypeName","src":"3865:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":810,"mutability":"mutable","name":"right","nameLocation":"3885:5:4","nodeType":"VariableDeclaration","scope":827,"src":"3878:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":809,"name":"int256","nodeType":"ElementaryTypeName","src":"3878:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":812,"mutability":"mutable","name":"decimals","nameLocation":"3900:8:4","nodeType":"VariableDeclaration","scope":827,"src":"3892:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":811,"name":"uint256","nodeType":"ElementaryTypeName","src":"3892:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":814,"mutability":"mutable","name":"err","nameLocation":"3924:3:4","nodeType":"VariableDeclaration","scope":827,"src":"3910:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":813,"name":"string","nodeType":"ElementaryTypeName","src":"3910:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3864:64:4"},"returnParameters":{"id":816,"nodeType":"ParameterList","parameters":[],"src":"3951:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":847,"nodeType":"FunctionDefinition","src":"4020:153:4","nodes":[],"body":{"id":846,"nodeType":"Block","src":"4089:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":834,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"4103:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":835,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":831,"src":"4111:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4103:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":845,"nodeType":"IfStatement","src":"4099:68:4","trueBody":{"id":844,"nodeType":"Block","src":"4118:49:4","statements":[{"expression":{"arguments":[{"id":840,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"4144:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":841,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":831,"src":"4150:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":837,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4132:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4135:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16273,"src":"4132:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4132:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":843,"nodeType":"ExpressionStatement","src":"4132:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4029:8:4","parameters":{"id":832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":829,"mutability":"mutable","name":"left","nameLocation":"4046:4:4","nodeType":"VariableDeclaration","scope":847,"src":"4038:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":828,"name":"address","nodeType":"ElementaryTypeName","src":"4038:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":831,"mutability":"mutable","name":"right","nameLocation":"4060:5:4","nodeType":"VariableDeclaration","scope":847,"src":"4052:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":830,"name":"address","nodeType":"ElementaryTypeName","src":"4052:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4037:29:4"},"returnParameters":{"id":833,"nodeType":"ParameterList","parameters":[],"src":"4089:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":870,"nodeType":"FunctionDefinition","src":"4179:177:4","nodes":[],"body":{"id":869,"nodeType":"Block","src":"4267:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":856,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":849,"src":"4281:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":857,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":851,"src":"4289:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4281:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":868,"nodeType":"IfStatement","src":"4277:73:4","trueBody":{"id":867,"nodeType":"Block","src":"4296:54:4","statements":[{"expression":{"arguments":[{"id":862,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":849,"src":"4322:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":863,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":851,"src":"4328:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":864,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":853,"src":"4335:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":859,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4310:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4313:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16283,"src":"4310:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4310:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":866,"nodeType":"ExpressionStatement","src":"4310:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4188:8:4","parameters":{"id":854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":849,"mutability":"mutable","name":"left","nameLocation":"4205:4:4","nodeType":"VariableDeclaration","scope":870,"src":"4197:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":848,"name":"address","nodeType":"ElementaryTypeName","src":"4197:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":851,"mutability":"mutable","name":"right","nameLocation":"4219:5:4","nodeType":"VariableDeclaration","scope":870,"src":"4211:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":850,"name":"address","nodeType":"ElementaryTypeName","src":"4211:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":853,"mutability":"mutable","name":"err","nameLocation":"4240:3:4","nodeType":"VariableDeclaration","scope":870,"src":"4226:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":852,"name":"string","nodeType":"ElementaryTypeName","src":"4226:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4196:48:4"},"returnParameters":{"id":855,"nodeType":"ParameterList","parameters":[],"src":"4267:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":890,"nodeType":"FunctionDefinition","src":"4362:153:4","nodes":[],"body":{"id":889,"nodeType":"Block","src":"4431:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":877,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"4445:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":878,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":874,"src":"4453:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4445:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":888,"nodeType":"IfStatement","src":"4441:68:4","trueBody":{"id":887,"nodeType":"Block","src":"4460:49:4","statements":[{"expression":{"arguments":[{"id":883,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"4486:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":884,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":874,"src":"4492:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":880,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4474:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4477:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16291,"src":"4474:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4474:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":886,"nodeType":"ExpressionStatement","src":"4474:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4371:8:4","parameters":{"id":875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":872,"mutability":"mutable","name":"left","nameLocation":"4388:4:4","nodeType":"VariableDeclaration","scope":890,"src":"4380:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4380:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":874,"mutability":"mutable","name":"right","nameLocation":"4402:5:4","nodeType":"VariableDeclaration","scope":890,"src":"4394:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4394:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4379:29:4"},"returnParameters":{"id":876,"nodeType":"ParameterList","parameters":[],"src":"4431:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":913,"nodeType":"FunctionDefinition","src":"4521:177:4","nodes":[],"body":{"id":912,"nodeType":"Block","src":"4609:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":899,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":892,"src":"4623:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":900,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"4631:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4623:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":911,"nodeType":"IfStatement","src":"4619:73:4","trueBody":{"id":910,"nodeType":"Block","src":"4638:54:4","statements":[{"expression":{"arguments":[{"id":905,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":892,"src":"4664:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":906,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"4670:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":907,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":896,"src":"4677:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":902,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4652:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4655:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16301,"src":"4652:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4652:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":909,"nodeType":"ExpressionStatement","src":"4652:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4530:8:4","parameters":{"id":897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":892,"mutability":"mutable","name":"left","nameLocation":"4547:4:4","nodeType":"VariableDeclaration","scope":913,"src":"4539:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4539:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":894,"mutability":"mutable","name":"right","nameLocation":"4561:5:4","nodeType":"VariableDeclaration","scope":913,"src":"4553:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4553:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":896,"mutability":"mutable","name":"err","nameLocation":"4582:3:4","nodeType":"VariableDeclaration","scope":913,"src":"4568:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":895,"name":"string","nodeType":"ElementaryTypeName","src":"4568:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4538:48:4"},"returnParameters":{"id":898,"nodeType":"ParameterList","parameters":[],"src":"4609:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":933,"nodeType":"FunctionDefinition","src":"4704:155:4","nodes":[],"body":{"id":932,"nodeType":"Block","src":"4775:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":920,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":915,"src":"4789:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":921,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":917,"src":"4797:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4789:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":931,"nodeType":"IfStatement","src":"4785:68:4","trueBody":{"id":930,"nodeType":"Block","src":"4804:49:4","statements":[{"expression":{"arguments":[{"id":926,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":915,"src":"4830:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":927,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":917,"src":"4836:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":923,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4818:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4821:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16291,"src":"4818:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4818:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":929,"nodeType":"ExpressionStatement","src":"4818:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4713:10:4","parameters":{"id":918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":915,"mutability":"mutable","name":"left","nameLocation":"4732:4:4","nodeType":"VariableDeclaration","scope":933,"src":"4724:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4724:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":917,"mutability":"mutable","name":"right","nameLocation":"4746:5:4","nodeType":"VariableDeclaration","scope":933,"src":"4738:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4738:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4723:29:4"},"returnParameters":{"id":919,"nodeType":"ParameterList","parameters":[],"src":"4775:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":956,"nodeType":"FunctionDefinition","src":"4865:179:4","nodes":[],"body":{"id":955,"nodeType":"Block","src":"4955:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":942,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"4969:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":943,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":937,"src":"4977:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4969:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":954,"nodeType":"IfStatement","src":"4965:73:4","trueBody":{"id":953,"nodeType":"Block","src":"4984:54:4","statements":[{"expression":{"arguments":[{"id":948,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"5010:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":949,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":937,"src":"5016:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":950,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":939,"src":"5023:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":945,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4998:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5001:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16301,"src":"4998:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4998:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":952,"nodeType":"ExpressionStatement","src":"4998:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4874:10:4","parameters":{"id":940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":935,"mutability":"mutable","name":"left","nameLocation":"4893:4:4","nodeType":"VariableDeclaration","scope":956,"src":"4885:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4885:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":937,"mutability":"mutable","name":"right","nameLocation":"4907:5:4","nodeType":"VariableDeclaration","scope":956,"src":"4899:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4899:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":939,"mutability":"mutable","name":"err","nameLocation":"4928:3:4","nodeType":"VariableDeclaration","scope":956,"src":"4914:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":938,"name":"string","nodeType":"ElementaryTypeName","src":"4914:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4884:48:4"},"returnParameters":{"id":941,"nodeType":"ParameterList","parameters":[],"src":"4955:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":971,"nodeType":"FunctionDefinition","src":"5050:122:4","nodes":[],"body":{"id":970,"nodeType":"Block","src":"5131:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":966,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":958,"src":"5153:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":967,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":960,"src":"5159:5:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":963,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5141:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5144:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16047,"src":"5141:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5141:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":969,"nodeType":"ExpressionStatement","src":"5141:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5059:8:4","parameters":{"id":961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":958,"mutability":"mutable","name":"left","nameLocation":"5082:4:4","nodeType":"VariableDeclaration","scope":971,"src":"5068:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":957,"name":"string","nodeType":"ElementaryTypeName","src":"5068:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":960,"mutability":"mutable","name":"right","nameLocation":"5102:5:4","nodeType":"VariableDeclaration","scope":971,"src":"5088:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":959,"name":"string","nodeType":"ElementaryTypeName","src":"5088:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5067:41:4"},"returnParameters":{"id":962,"nodeType":"ParameterList","parameters":[],"src":"5131:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":989,"nodeType":"FunctionDefinition","src":"5178:146:4","nodes":[],"body":{"id":988,"nodeType":"Block","src":"5278:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":983,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"5300:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":984,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":975,"src":"5306:5:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":985,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"5313:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":980,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5288:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5291:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16057,"src":"5288:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) pure external"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5288:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":987,"nodeType":"ExpressionStatement","src":"5288:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5187:8:4","parameters":{"id":978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":973,"mutability":"mutable","name":"left","nameLocation":"5210:4:4","nodeType":"VariableDeclaration","scope":989,"src":"5196:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":972,"name":"string","nodeType":"ElementaryTypeName","src":"5196:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":975,"mutability":"mutable","name":"right","nameLocation":"5230:5:4","nodeType":"VariableDeclaration","scope":989,"src":"5216:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":974,"name":"string","nodeType":"ElementaryTypeName","src":"5216:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":977,"mutability":"mutable","name":"err","nameLocation":"5251:3:4","nodeType":"VariableDeclaration","scope":989,"src":"5237:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":976,"name":"string","nodeType":"ElementaryTypeName","src":"5237:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5195:60:4"},"returnParameters":{"id":979,"nodeType":"ParameterList","parameters":[],"src":"5278:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1004,"nodeType":"FunctionDefinition","src":"5330:120:4","nodes":[],"body":{"id":1003,"nodeType":"Block","src":"5409:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":999,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":991,"src":"5431:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1000,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"src":"5437:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":996,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5419:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5422:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16065,"src":"5419:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":1001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5419:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1002,"nodeType":"ExpressionStatement","src":"5419:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5339:8:4","parameters":{"id":994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":991,"mutability":"mutable","name":"left","nameLocation":"5361:4:4","nodeType":"VariableDeclaration","scope":1004,"src":"5348:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":990,"name":"bytes","nodeType":"ElementaryTypeName","src":"5348:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":993,"mutability":"mutable","name":"right","nameLocation":"5380:5:4","nodeType":"VariableDeclaration","scope":1004,"src":"5367:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":992,"name":"bytes","nodeType":"ElementaryTypeName","src":"5367:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5347:39:4"},"returnParameters":{"id":995,"nodeType":"ParameterList","parameters":[],"src":"5409:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1022,"nodeType":"FunctionDefinition","src":"5456:144:4","nodes":[],"body":{"id":1021,"nodeType":"Block","src":"5554:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1016,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1006,"src":"5576:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1017,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1008,"src":"5582:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1018,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1010,"src":"5589:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1013,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5564:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5567:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16075,"src":"5564:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure external"}},"id":1019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5564:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1020,"nodeType":"ExpressionStatement","src":"5564:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5465:8:4","parameters":{"id":1011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1006,"mutability":"mutable","name":"left","nameLocation":"5487:4:4","nodeType":"VariableDeclaration","scope":1022,"src":"5474:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1005,"name":"bytes","nodeType":"ElementaryTypeName","src":"5474:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1008,"mutability":"mutable","name":"right","nameLocation":"5506:5:4","nodeType":"VariableDeclaration","scope":1022,"src":"5493:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1007,"name":"bytes","nodeType":"ElementaryTypeName","src":"5493:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1010,"mutability":"mutable","name":"err","nameLocation":"5527:3:4","nodeType":"VariableDeclaration","scope":1022,"src":"5513:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1009,"name":"string","nodeType":"ElementaryTypeName","src":"5513:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5473:58:4"},"returnParameters":{"id":1012,"nodeType":"ParameterList","parameters":[],"src":"5554:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1039,"nodeType":"FunctionDefinition","src":"5606:122:4","nodes":[],"body":{"id":1038,"nodeType":"Block","src":"5687:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1034,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1025,"src":"5709:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1035,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1028,"src":"5715:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":1031,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5697:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5700:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16085,"src":"5697:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory) pure external"}},"id":1036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1037,"nodeType":"ExpressionStatement","src":"5697:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5615:8:4","parameters":{"id":1029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1025,"mutability":"mutable","name":"left","nameLocation":"5638:4:4","nodeType":"VariableDeclaration","scope":1039,"src":"5624:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1023,"name":"bool","nodeType":"ElementaryTypeName","src":"5624:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1024,"nodeType":"ArrayTypeName","src":"5624:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1028,"mutability":"mutable","name":"right","nameLocation":"5658:5:4","nodeType":"VariableDeclaration","scope":1039,"src":"5644:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1026,"name":"bool","nodeType":"ElementaryTypeName","src":"5644:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1027,"nodeType":"ArrayTypeName","src":"5644:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5623:41:4"},"returnParameters":{"id":1030,"nodeType":"ParameterList","parameters":[],"src":"5687:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1059,"nodeType":"FunctionDefinition","src":"5734:146:4","nodes":[],"body":{"id":1058,"nodeType":"Block","src":"5834:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1053,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1042,"src":"5856:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1054,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1045,"src":"5862:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1055,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"5869:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1050,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5844:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5847:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16097,"src":"5844:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory,string memory) pure external"}},"id":1056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5844:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1057,"nodeType":"ExpressionStatement","src":"5844:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5743:8:4","parameters":{"id":1048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1042,"mutability":"mutable","name":"left","nameLocation":"5766:4:4","nodeType":"VariableDeclaration","scope":1059,"src":"5752:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1040,"name":"bool","nodeType":"ElementaryTypeName","src":"5752:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1041,"nodeType":"ArrayTypeName","src":"5752:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1045,"mutability":"mutable","name":"right","nameLocation":"5786:5:4","nodeType":"VariableDeclaration","scope":1059,"src":"5772:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1043,"name":"bool","nodeType":"ElementaryTypeName","src":"5772:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1044,"nodeType":"ArrayTypeName","src":"5772:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1047,"mutability":"mutable","name":"err","nameLocation":"5807:3:4","nodeType":"VariableDeclaration","scope":1059,"src":"5793:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1046,"name":"string","nodeType":"ElementaryTypeName","src":"5793:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5751:60:4"},"returnParameters":{"id":1049,"nodeType":"ParameterList","parameters":[],"src":"5834:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1076,"nodeType":"FunctionDefinition","src":"5886:128:4","nodes":[],"body":{"id":1075,"nodeType":"Block","src":"5973:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1071,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1062,"src":"5995:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1072,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"6001:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":1068,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5983:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5986:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16107,"src":"5983:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory) pure external"}},"id":1073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5983:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1074,"nodeType":"ExpressionStatement","src":"5983:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5895:8:4","parameters":{"id":1066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1062,"mutability":"mutable","name":"left","nameLocation":"5921:4:4","nodeType":"VariableDeclaration","scope":1076,"src":"5904:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1060,"name":"uint256","nodeType":"ElementaryTypeName","src":"5904:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1061,"nodeType":"ArrayTypeName","src":"5904:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1065,"mutability":"mutable","name":"right","nameLocation":"5944:5:4","nodeType":"VariableDeclaration","scope":1076,"src":"5927:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1063,"name":"uint256","nodeType":"ElementaryTypeName","src":"5927:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1064,"nodeType":"ArrayTypeName","src":"5927:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5903:47:4"},"returnParameters":{"id":1067,"nodeType":"ParameterList","parameters":[],"src":"5973:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1096,"nodeType":"FunctionDefinition","src":"6020:152:4","nodes":[],"body":{"id":1095,"nodeType":"Block","src":"6126:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1090,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1079,"src":"6148:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1091,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1082,"src":"6154:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1092,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1084,"src":"6161:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1087,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6136:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6139:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16119,"src":"6136:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory,string memory) pure external"}},"id":1093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6136:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1094,"nodeType":"ExpressionStatement","src":"6136:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6029:8:4","parameters":{"id":1085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1079,"mutability":"mutable","name":"left","nameLocation":"6055:4:4","nodeType":"VariableDeclaration","scope":1096,"src":"6038:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1077,"name":"uint256","nodeType":"ElementaryTypeName","src":"6038:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1078,"nodeType":"ArrayTypeName","src":"6038:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1082,"mutability":"mutable","name":"right","nameLocation":"6078:5:4","nodeType":"VariableDeclaration","scope":1096,"src":"6061:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1080,"name":"uint256","nodeType":"ElementaryTypeName","src":"6061:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1081,"nodeType":"ArrayTypeName","src":"6061:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1084,"mutability":"mutable","name":"err","nameLocation":"6099:3:4","nodeType":"VariableDeclaration","scope":1096,"src":"6085:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1083,"name":"string","nodeType":"ElementaryTypeName","src":"6085:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6037:66:4"},"returnParameters":{"id":1086,"nodeType":"ParameterList","parameters":[],"src":"6126:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1113,"nodeType":"FunctionDefinition","src":"6178:126:4","nodes":[],"body":{"id":1112,"nodeType":"Block","src":"6263:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1108,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1099,"src":"6285:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1109,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1102,"src":"6291:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":1105,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6273:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6276:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16129,"src":"6273:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory) pure external"}},"id":1110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6273:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1111,"nodeType":"ExpressionStatement","src":"6273:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6187:8:4","parameters":{"id":1103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1099,"mutability":"mutable","name":"left","nameLocation":"6212:4:4","nodeType":"VariableDeclaration","scope":1113,"src":"6196:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1097,"name":"int256","nodeType":"ElementaryTypeName","src":"6196:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1098,"nodeType":"ArrayTypeName","src":"6196:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1102,"mutability":"mutable","name":"right","nameLocation":"6234:5:4","nodeType":"VariableDeclaration","scope":1113,"src":"6218:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1100,"name":"int256","nodeType":"ElementaryTypeName","src":"6218:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1101,"nodeType":"ArrayTypeName","src":"6218:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"6195:45:4"},"returnParameters":{"id":1104,"nodeType":"ParameterList","parameters":[],"src":"6263:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1133,"nodeType":"FunctionDefinition","src":"6310:150:4","nodes":[],"body":{"id":1132,"nodeType":"Block","src":"6414:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1127,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1116,"src":"6436:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1128,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1119,"src":"6442:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1129,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1121,"src":"6449:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1124,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6424:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6427:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16141,"src":"6424:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory,string memory) pure external"}},"id":1130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6424:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1131,"nodeType":"ExpressionStatement","src":"6424:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6319:8:4","parameters":{"id":1122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1116,"mutability":"mutable","name":"left","nameLocation":"6344:4:4","nodeType":"VariableDeclaration","scope":1133,"src":"6328:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1114,"name":"int256","nodeType":"ElementaryTypeName","src":"6328:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1115,"nodeType":"ArrayTypeName","src":"6328:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1119,"mutability":"mutable","name":"right","nameLocation":"6366:5:4","nodeType":"VariableDeclaration","scope":1133,"src":"6350:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1117,"name":"int256","nodeType":"ElementaryTypeName","src":"6350:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1118,"nodeType":"ArrayTypeName","src":"6350:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1121,"mutability":"mutable","name":"err","nameLocation":"6387:3:4","nodeType":"VariableDeclaration","scope":1133,"src":"6373:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1120,"name":"string","nodeType":"ElementaryTypeName","src":"6373:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6327:64:4"},"returnParameters":{"id":1123,"nodeType":"ParameterList","parameters":[],"src":"6414:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1150,"nodeType":"FunctionDefinition","src":"6466:128:4","nodes":[],"body":{"id":1149,"nodeType":"Block","src":"6553:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1145,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1136,"src":"6575:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1146,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1139,"src":"6581:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":1142,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6563:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6566:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16159,"src":"6563:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory) pure external"}},"id":1147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6563:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1148,"nodeType":"ExpressionStatement","src":"6563:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6475:8:4","parameters":{"id":1140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1136,"mutability":"mutable","name":"left","nameLocation":"6501:4:4","nodeType":"VariableDeclaration","scope":1150,"src":"6484:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1134,"name":"address","nodeType":"ElementaryTypeName","src":"6484:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1135,"nodeType":"ArrayTypeName","src":"6484:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1139,"mutability":"mutable","name":"right","nameLocation":"6524:5:4","nodeType":"VariableDeclaration","scope":1150,"src":"6507:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1137,"name":"address","nodeType":"ElementaryTypeName","src":"6507:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1138,"nodeType":"ArrayTypeName","src":"6507:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6483:47:4"},"returnParameters":{"id":1141,"nodeType":"ParameterList","parameters":[],"src":"6553:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1170,"nodeType":"FunctionDefinition","src":"6600:152:4","nodes":[],"body":{"id":1169,"nodeType":"Block","src":"6706:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1164,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1153,"src":"6728:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1165,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1156,"src":"6734:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1166,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1158,"src":"6741:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1161,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6716:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6719:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16171,"src":"6716:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory,string memory) pure external"}},"id":1167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6716:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1168,"nodeType":"ExpressionStatement","src":"6716:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6609:8:4","parameters":{"id":1159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1153,"mutability":"mutable","name":"left","nameLocation":"6635:4:4","nodeType":"VariableDeclaration","scope":1170,"src":"6618:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1151,"name":"address","nodeType":"ElementaryTypeName","src":"6618:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1152,"nodeType":"ArrayTypeName","src":"6618:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1156,"mutability":"mutable","name":"right","nameLocation":"6658:5:4","nodeType":"VariableDeclaration","scope":1170,"src":"6641:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1154,"name":"address","nodeType":"ElementaryTypeName","src":"6641:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1155,"nodeType":"ArrayTypeName","src":"6641:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1158,"mutability":"mutable","name":"err","nameLocation":"6679:3:4","nodeType":"VariableDeclaration","scope":1170,"src":"6665:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1157,"name":"string","nodeType":"ElementaryTypeName","src":"6665:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6617:66:4"},"returnParameters":{"id":1160,"nodeType":"ParameterList","parameters":[],"src":"6706:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1187,"nodeType":"FunctionDefinition","src":"6758:128:4","nodes":[],"body":{"id":1186,"nodeType":"Block","src":"6845:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1182,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1173,"src":"6867:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1183,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1176,"src":"6873:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":1179,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6855:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6858:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16181,"src":"6855:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory) pure external"}},"id":1184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6855:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1185,"nodeType":"ExpressionStatement","src":"6855:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6767:8:4","parameters":{"id":1177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1173,"mutability":"mutable","name":"left","nameLocation":"6793:4:4","nodeType":"VariableDeclaration","scope":1187,"src":"6776:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6776:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1172,"nodeType":"ArrayTypeName","src":"6776:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1176,"mutability":"mutable","name":"right","nameLocation":"6816:5:4","nodeType":"VariableDeclaration","scope":1187,"src":"6799:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6799:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1175,"nodeType":"ArrayTypeName","src":"6799:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6775:47:4"},"returnParameters":{"id":1178,"nodeType":"ParameterList","parameters":[],"src":"6845:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1207,"nodeType":"FunctionDefinition","src":"6892:152:4","nodes":[],"body":{"id":1206,"nodeType":"Block","src":"6998:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1201,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"7020:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1202,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1193,"src":"7026:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1203,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1195,"src":"7033:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1198,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7008:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7011:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16193,"src":"7008:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory,string memory) pure external"}},"id":1204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7008:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1205,"nodeType":"ExpressionStatement","src":"7008:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6901:8:4","parameters":{"id":1196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1190,"mutability":"mutable","name":"left","nameLocation":"6927:4:4","nodeType":"VariableDeclaration","scope":1207,"src":"6910:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6910:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1189,"nodeType":"ArrayTypeName","src":"6910:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1193,"mutability":"mutable","name":"right","nameLocation":"6950:5:4","nodeType":"VariableDeclaration","scope":1207,"src":"6933:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6933:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1192,"nodeType":"ArrayTypeName","src":"6933:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1195,"mutability":"mutable","name":"err","nameLocation":"6971:3:4","nodeType":"VariableDeclaration","scope":1207,"src":"6957:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1194,"name":"string","nodeType":"ElementaryTypeName","src":"6957:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6909:66:4"},"returnParameters":{"id":1197,"nodeType":"ParameterList","parameters":[],"src":"6998:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1224,"nodeType":"FunctionDefinition","src":"7050:126:4","nodes":[],"body":{"id":1223,"nodeType":"Block","src":"7135:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1219,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1210,"src":"7157:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1220,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1213,"src":"7163:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":1216,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7145:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7148:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16203,"src":"7145:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory) pure external"}},"id":1221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7145:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1222,"nodeType":"ExpressionStatement","src":"7145:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"7059:8:4","parameters":{"id":1214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1210,"mutability":"mutable","name":"left","nameLocation":"7084:4:4","nodeType":"VariableDeclaration","scope":1224,"src":"7068:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1208,"name":"string","nodeType":"ElementaryTypeName","src":"7068:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1209,"nodeType":"ArrayTypeName","src":"7068:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1213,"mutability":"mutable","name":"right","nameLocation":"7106:5:4","nodeType":"VariableDeclaration","scope":1224,"src":"7090:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1211,"name":"string","nodeType":"ElementaryTypeName","src":"7090:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1212,"nodeType":"ArrayTypeName","src":"7090:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"7067:45:4"},"returnParameters":{"id":1215,"nodeType":"ParameterList","parameters":[],"src":"7135:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1244,"nodeType":"FunctionDefinition","src":"7182:150:4","nodes":[],"body":{"id":1243,"nodeType":"Block","src":"7286:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1238,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1227,"src":"7308:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1239,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"7314:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1240,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1232,"src":"7321:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1235,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7296:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7299:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16215,"src":"7296:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory,string memory) pure external"}},"id":1241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7296:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1242,"nodeType":"ExpressionStatement","src":"7296:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"7191:8:4","parameters":{"id":1233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1227,"mutability":"mutable","name":"left","nameLocation":"7216:4:4","nodeType":"VariableDeclaration","scope":1244,"src":"7200:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1225,"name":"string","nodeType":"ElementaryTypeName","src":"7200:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1226,"nodeType":"ArrayTypeName","src":"7200:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1230,"mutability":"mutable","name":"right","nameLocation":"7238:5:4","nodeType":"VariableDeclaration","scope":1244,"src":"7222:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1228,"name":"string","nodeType":"ElementaryTypeName","src":"7222:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1229,"nodeType":"ArrayTypeName","src":"7222:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1232,"mutability":"mutable","name":"err","nameLocation":"7259:3:4","nodeType":"VariableDeclaration","scope":1244,"src":"7245:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1231,"name":"string","nodeType":"ElementaryTypeName","src":"7245:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7199:64:4"},"returnParameters":{"id":1234,"nodeType":"ParameterList","parameters":[],"src":"7286:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1261,"nodeType":"FunctionDefinition","src":"7338:124:4","nodes":[],"body":{"id":1260,"nodeType":"Block","src":"7421:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1256,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1247,"src":"7443:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1257,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1250,"src":"7449:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":1253,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7431:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7434:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16225,"src":"7431:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory) pure external"}},"id":1258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7431:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1259,"nodeType":"ExpressionStatement","src":"7431:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"7347:8:4","parameters":{"id":1251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1247,"mutability":"mutable","name":"left","nameLocation":"7371:4:4","nodeType":"VariableDeclaration","scope":1261,"src":"7356:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1245,"name":"bytes","nodeType":"ElementaryTypeName","src":"7356:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1246,"nodeType":"ArrayTypeName","src":"7356:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1250,"mutability":"mutable","name":"right","nameLocation":"7392:5:4","nodeType":"VariableDeclaration","scope":1261,"src":"7377:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1248,"name":"bytes","nodeType":"ElementaryTypeName","src":"7377:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1249,"nodeType":"ArrayTypeName","src":"7377:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"7355:43:4"},"returnParameters":{"id":1252,"nodeType":"ParameterList","parameters":[],"src":"7421:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1281,"nodeType":"FunctionDefinition","src":"7468:148:4","nodes":[],"body":{"id":1280,"nodeType":"Block","src":"7570:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1275,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1264,"src":"7592:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1276,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"7598:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1277,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1269,"src":"7605:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1272,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7580:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7583:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16237,"src":"7580:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory,string memory) pure external"}},"id":1278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7580:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1279,"nodeType":"ExpressionStatement","src":"7580:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"7477:8:4","parameters":{"id":1270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1264,"mutability":"mutable","name":"left","nameLocation":"7501:4:4","nodeType":"VariableDeclaration","scope":1281,"src":"7486:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1262,"name":"bytes","nodeType":"ElementaryTypeName","src":"7486:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1263,"nodeType":"ArrayTypeName","src":"7486:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1267,"mutability":"mutable","name":"right","nameLocation":"7522:5:4","nodeType":"VariableDeclaration","scope":1281,"src":"7507:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1265,"name":"bytes","nodeType":"ElementaryTypeName","src":"7507:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1266,"nodeType":"ArrayTypeName","src":"7507:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1269,"mutability":"mutable","name":"err","nameLocation":"7543:3:4","nodeType":"VariableDeclaration","scope":1281,"src":"7529:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1268,"name":"string","nodeType":"ElementaryTypeName","src":"7529:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7485:62:4"},"returnParameters":{"id":1271,"nodeType":"ParameterList","parameters":[],"src":"7570:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1294,"nodeType":"FunctionDefinition","src":"7643:111:4","nodes":[],"body":{"id":1293,"nodeType":"Block","src":"7716:38:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1289,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1283,"src":"7735:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1290,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"7741:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1288,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"7726:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7726:21:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1292,"nodeType":"ExpressionStatement","src":"7726:21:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqUint","nameLocation":"7652:12:4","parameters":{"id":1286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1283,"mutability":"mutable","name":"left","nameLocation":"7673:4:4","nodeType":"VariableDeclaration","scope":1294,"src":"7665:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1282,"name":"uint256","nodeType":"ElementaryTypeName","src":"7665:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1285,"mutability":"mutable","name":"right","nameLocation":"7687:5:4","nodeType":"VariableDeclaration","scope":1294,"src":"7679:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1284,"name":"uint256","nodeType":"ElementaryTypeName","src":"7679:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7664:29:4"},"returnParameters":{"id":1287,"nodeType":"ParameterList","parameters":[],"src":"7716:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1314,"nodeType":"FunctionDefinition","src":"7760:153:4","nodes":[],"body":{"id":1313,"nodeType":"Block","src":"7826:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1301,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1296,"src":"7840:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1302,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1298,"src":"7848:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7840:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1312,"nodeType":"IfStatement","src":"7836:71:4","trueBody":{"id":1311,"nodeType":"Block","src":"7855:52:4","statements":[{"expression":{"arguments":[{"id":1307,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1296,"src":"7884:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1308,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1298,"src":"7890:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":1304,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7869:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7872:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16687,"src":"7869:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":1309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7869:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1310,"nodeType":"ExpressionStatement","src":"7869:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7769:11:4","parameters":{"id":1299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1296,"mutability":"mutable","name":"left","nameLocation":"7786:4:4","nodeType":"VariableDeclaration","scope":1314,"src":"7781:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1295,"name":"bool","nodeType":"ElementaryTypeName","src":"7781:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1298,"mutability":"mutable","name":"right","nameLocation":"7797:5:4","nodeType":"VariableDeclaration","scope":1314,"src":"7792:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1297,"name":"bool","nodeType":"ElementaryTypeName","src":"7792:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7780:23:4"},"returnParameters":{"id":1300,"nodeType":"ParameterList","parameters":[],"src":"7826:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1337,"nodeType":"FunctionDefinition","src":"7919:177:4","nodes":[],"body":{"id":1336,"nodeType":"Block","src":"8004:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1323,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1316,"src":"8018:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1324,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1318,"src":"8026:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8018:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1335,"nodeType":"IfStatement","src":"8014:76:4","trueBody":{"id":1334,"nodeType":"Block","src":"8033:57:4","statements":[{"expression":{"arguments":[{"id":1329,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1316,"src":"8062:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1330,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1318,"src":"8068:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1331,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1320,"src":"8075:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1326,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8047:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8050:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16697,"src":"8047:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":1332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8047:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1333,"nodeType":"ExpressionStatement","src":"8047:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7928:11:4","parameters":{"id":1321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1316,"mutability":"mutable","name":"left","nameLocation":"7945:4:4","nodeType":"VariableDeclaration","scope":1337,"src":"7940:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1315,"name":"bool","nodeType":"ElementaryTypeName","src":"7940:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1318,"mutability":"mutable","name":"right","nameLocation":"7956:5:4","nodeType":"VariableDeclaration","scope":1337,"src":"7951:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1317,"name":"bool","nodeType":"ElementaryTypeName","src":"7951:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1320,"mutability":"mutable","name":"err","nameLocation":"7977:3:4","nodeType":"VariableDeclaration","scope":1337,"src":"7963:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1319,"name":"string","nodeType":"ElementaryTypeName","src":"7963:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7939:42:4"},"returnParameters":{"id":1322,"nodeType":"ParameterList","parameters":[],"src":"8004:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1357,"nodeType":"FunctionDefinition","src":"8102:159:4","nodes":[],"body":{"id":1356,"nodeType":"Block","src":"8174:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1344,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"src":"8188:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1345,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1341,"src":"8196:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8188:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1355,"nodeType":"IfStatement","src":"8184:71:4","trueBody":{"id":1354,"nodeType":"Block","src":"8203:52:4","statements":[{"expression":{"arguments":[{"id":1350,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"src":"8232:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1351,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1341,"src":"8238:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1347,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8217:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8220:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16807,"src":"8217:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8217:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1353,"nodeType":"ExpressionStatement","src":"8217:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8111:11:4","parameters":{"id":1342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1339,"mutability":"mutable","name":"left","nameLocation":"8131:4:4","nodeType":"VariableDeclaration","scope":1357,"src":"8123:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1338,"name":"uint256","nodeType":"ElementaryTypeName","src":"8123:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1341,"mutability":"mutable","name":"right","nameLocation":"8145:5:4","nodeType":"VariableDeclaration","scope":1357,"src":"8137:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1340,"name":"uint256","nodeType":"ElementaryTypeName","src":"8137:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8122:29:4"},"returnParameters":{"id":1343,"nodeType":"ParameterList","parameters":[],"src":"8174:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1380,"nodeType":"FunctionDefinition","src":"8267:183:4","nodes":[],"body":{"id":1379,"nodeType":"Block","src":"8358:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1366,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1359,"src":"8372:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1367,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1361,"src":"8380:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8372:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1378,"nodeType":"IfStatement","src":"8368:76:4","trueBody":{"id":1377,"nodeType":"Block","src":"8387:57:4","statements":[{"expression":{"arguments":[{"id":1372,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1359,"src":"8416:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1373,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1361,"src":"8422:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1374,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1363,"src":"8429:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1369,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8401:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8404:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16905,"src":"8401:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8401:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1376,"nodeType":"ExpressionStatement","src":"8401:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8276:11:4","parameters":{"id":1364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1359,"mutability":"mutable","name":"left","nameLocation":"8296:4:4","nodeType":"VariableDeclaration","scope":1380,"src":"8288:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1358,"name":"uint256","nodeType":"ElementaryTypeName","src":"8288:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1361,"mutability":"mutable","name":"right","nameLocation":"8310:5:4","nodeType":"VariableDeclaration","scope":1380,"src":"8302:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1360,"name":"uint256","nodeType":"ElementaryTypeName","src":"8302:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1363,"mutability":"mutable","name":"err","nameLocation":"8331:3:4","nodeType":"VariableDeclaration","scope":1380,"src":"8317:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1362,"name":"string","nodeType":"ElementaryTypeName","src":"8317:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8287:48:4"},"returnParameters":{"id":1365,"nodeType":"ParameterList","parameters":[],"src":"8358:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1398,"nodeType":"FunctionDefinition","src":"8456:158:4","nodes":[],"body":{"id":1397,"nodeType":"Block","src":"8553:61:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1392,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1382,"src":"8585:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1393,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1384,"src":"8591:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1394,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1386,"src":"8598:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1389,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8563:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8566:18:4","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16645,"src":"8563:21:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8563:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1396,"nodeType":"ExpressionStatement","src":"8563:44:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8465:18:4","parameters":{"id":1387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"left","nameLocation":"8492:4:4","nodeType":"VariableDeclaration","scope":1398,"src":"8484:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1381,"name":"uint256","nodeType":"ElementaryTypeName","src":"8484:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1384,"mutability":"mutable","name":"right","nameLocation":"8506:5:4","nodeType":"VariableDeclaration","scope":1398,"src":"8498:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1383,"name":"uint256","nodeType":"ElementaryTypeName","src":"8498:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1386,"mutability":"mutable","name":"decimals","nameLocation":"8521:8:4","nodeType":"VariableDeclaration","scope":1398,"src":"8513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1385,"name":"uint256","nodeType":"ElementaryTypeName","src":"8513:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8483:47:4"},"returnParameters":{"id":1388,"nodeType":"ParameterList","parameters":[],"src":"8553:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1419,"nodeType":"FunctionDefinition","src":"8620:210:4","nodes":[],"body":{"id":1418,"nodeType":"Block","src":"8764:66:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1412,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1400,"src":"8796:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1413,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1402,"src":"8802:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1414,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1404,"src":"8809:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1415,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1406,"src":"8819:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1409,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8774:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8777:18:4","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16657,"src":"8774:21:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":1416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8774:49:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1417,"nodeType":"ExpressionStatement","src":"8774:49:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8629:18:4","parameters":{"id":1407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1400,"mutability":"mutable","name":"left","nameLocation":"8656:4:4","nodeType":"VariableDeclaration","scope":1419,"src":"8648:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1399,"name":"uint256","nodeType":"ElementaryTypeName","src":"8648:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1402,"mutability":"mutable","name":"right","nameLocation":"8670:5:4","nodeType":"VariableDeclaration","scope":1419,"src":"8662:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1401,"name":"uint256","nodeType":"ElementaryTypeName","src":"8662:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1404,"mutability":"mutable","name":"decimals","nameLocation":"8685:8:4","nodeType":"VariableDeclaration","scope":1419,"src":"8677:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1403,"name":"uint256","nodeType":"ElementaryTypeName","src":"8677:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1406,"mutability":"mutable","name":"err","nameLocation":"8709:3:4","nodeType":"VariableDeclaration","scope":1419,"src":"8695:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1405,"name":"string","nodeType":"ElementaryTypeName","src":"8695:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8647:66:4"},"returnParameters":{"id":1408,"nodeType":"ParameterList","parameters":[],"src":"8764:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1439,"nodeType":"FunctionDefinition","src":"8836:157:4","nodes":[],"body":{"id":1438,"nodeType":"Block","src":"8906:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1426,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1421,"src":"8920:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1427,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1423,"src":"8928:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"8920:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1437,"nodeType":"IfStatement","src":"8916:71:4","trueBody":{"id":1436,"nodeType":"Block","src":"8935:52:4","statements":[{"expression":{"arguments":[{"id":1432,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1421,"src":"8964:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1433,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1423,"src":"8970:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1429,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8949:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8952:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16913,"src":"8949:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8949:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1435,"nodeType":"ExpressionStatement","src":"8949:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8845:11:4","parameters":{"id":1424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1421,"mutability":"mutable","name":"left","nameLocation":"8864:4:4","nodeType":"VariableDeclaration","scope":1439,"src":"8857:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1420,"name":"int256","nodeType":"ElementaryTypeName","src":"8857:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1423,"mutability":"mutable","name":"right","nameLocation":"8877:5:4","nodeType":"VariableDeclaration","scope":1439,"src":"8870:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1422,"name":"int256","nodeType":"ElementaryTypeName","src":"8870:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8856:27:4"},"returnParameters":{"id":1425,"nodeType":"ParameterList","parameters":[],"src":"8906:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1462,"nodeType":"FunctionDefinition","src":"8999:181:4","nodes":[],"body":{"id":1461,"nodeType":"Block","src":"9088:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1448,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1441,"src":"9102:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1449,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1443,"src":"9110:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9102:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1460,"nodeType":"IfStatement","src":"9098:76:4","trueBody":{"id":1459,"nodeType":"Block","src":"9117:57:4","statements":[{"expression":{"arguments":[{"id":1454,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1441,"src":"9146:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1455,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1443,"src":"9152:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1456,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1445,"src":"9159:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1451,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9131:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9134:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16923,"src":"9131:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9131:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1458,"nodeType":"ExpressionStatement","src":"9131:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9008:11:4","parameters":{"id":1446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1441,"mutability":"mutable","name":"left","nameLocation":"9027:4:4","nodeType":"VariableDeclaration","scope":1462,"src":"9020:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1440,"name":"int256","nodeType":"ElementaryTypeName","src":"9020:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1443,"mutability":"mutable","name":"right","nameLocation":"9040:5:4","nodeType":"VariableDeclaration","scope":1462,"src":"9033:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1442,"name":"int256","nodeType":"ElementaryTypeName","src":"9033:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1445,"mutability":"mutable","name":"err","nameLocation":"9061:3:4","nodeType":"VariableDeclaration","scope":1462,"src":"9047:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1444,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9019:46:4"},"returnParameters":{"id":1447,"nodeType":"ParameterList","parameters":[],"src":"9088:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1480,"nodeType":"FunctionDefinition","src":"9186:156:4","nodes":[],"body":{"id":1479,"nodeType":"Block","src":"9281:61:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1474,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1464,"src":"9313:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1475,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1466,"src":"9319:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1476,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1468,"src":"9326:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1471,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9291:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9294:18:4","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16667,"src":"9291:21:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9291:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1478,"nodeType":"ExpressionStatement","src":"9291:44:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"9195:18:4","parameters":{"id":1469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1464,"mutability":"mutable","name":"left","nameLocation":"9221:4:4","nodeType":"VariableDeclaration","scope":1480,"src":"9214:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1463,"name":"int256","nodeType":"ElementaryTypeName","src":"9214:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1466,"mutability":"mutable","name":"right","nameLocation":"9234:5:4","nodeType":"VariableDeclaration","scope":1480,"src":"9227:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1465,"name":"int256","nodeType":"ElementaryTypeName","src":"9227:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1468,"mutability":"mutable","name":"decimals","nameLocation":"9249:8:4","nodeType":"VariableDeclaration","scope":1480,"src":"9241:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1467,"name":"uint256","nodeType":"ElementaryTypeName","src":"9241:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9213:45:4"},"returnParameters":{"id":1470,"nodeType":"ParameterList","parameters":[],"src":"9281:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1501,"nodeType":"FunctionDefinition","src":"9348:180:4","nodes":[],"body":{"id":1500,"nodeType":"Block","src":"9462:66:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1494,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1482,"src":"9494:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1495,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1484,"src":"9500:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1496,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"9507:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1497,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1488,"src":"9517:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1491,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9472:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9475:18:4","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16679,"src":"9472:21:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":1498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9472:49:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1499,"nodeType":"ExpressionStatement","src":"9472:49:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"9357:18:4","parameters":{"id":1489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1482,"mutability":"mutable","name":"left","nameLocation":"9383:4:4","nodeType":"VariableDeclaration","scope":1501,"src":"9376:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1481,"name":"int256","nodeType":"ElementaryTypeName","src":"9376:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1484,"mutability":"mutable","name":"right","nameLocation":"9396:5:4","nodeType":"VariableDeclaration","scope":1501,"src":"9389:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1483,"name":"int256","nodeType":"ElementaryTypeName","src":"9389:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1486,"mutability":"mutable","name":"decimals","nameLocation":"9411:8:4","nodeType":"VariableDeclaration","scope":1501,"src":"9403:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1485,"name":"uint256","nodeType":"ElementaryTypeName","src":"9403:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1488,"mutability":"mutable","name":"err","nameLocation":"9435:3:4","nodeType":"VariableDeclaration","scope":1501,"src":"9421:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1487,"name":"string","nodeType":"ElementaryTypeName","src":"9421:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9375:64:4"},"returnParameters":{"id":1490,"nodeType":"ParameterList","parameters":[],"src":"9462:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1521,"nodeType":"FunctionDefinition","src":"9534:159:4","nodes":[],"body":{"id":1520,"nodeType":"Block","src":"9606:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1508,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1503,"src":"9620:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1509,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1505,"src":"9628:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9620:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1519,"nodeType":"IfStatement","src":"9616:71:4","trueBody":{"id":1518,"nodeType":"Block","src":"9635:52:4","statements":[{"expression":{"arguments":[{"id":1514,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1503,"src":"9664:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1515,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1505,"src":"9670:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1511,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9649:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9652:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16931,"src":"9649:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":1516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9649:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1517,"nodeType":"ExpressionStatement","src":"9649:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9543:11:4","parameters":{"id":1506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1503,"mutability":"mutable","name":"left","nameLocation":"9563:4:4","nodeType":"VariableDeclaration","scope":1521,"src":"9555:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1502,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1505,"mutability":"mutable","name":"right","nameLocation":"9577:5:4","nodeType":"VariableDeclaration","scope":1521,"src":"9569:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1504,"name":"address","nodeType":"ElementaryTypeName","src":"9569:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9554:29:4"},"returnParameters":{"id":1507,"nodeType":"ParameterList","parameters":[],"src":"9606:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1544,"nodeType":"FunctionDefinition","src":"9699:183:4","nodes":[],"body":{"id":1543,"nodeType":"Block","src":"9790:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1530,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"9804:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1531,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9812:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9804:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1542,"nodeType":"IfStatement","src":"9800:76:4","trueBody":{"id":1541,"nodeType":"Block","src":"9819:57:4","statements":[{"expression":{"arguments":[{"id":1536,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"9848:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1537,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9854:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1538,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1527,"src":"9861:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1533,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9833:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9836:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16941,"src":"9833:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":1539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9833:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1540,"nodeType":"ExpressionStatement","src":"9833:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9708:11:4","parameters":{"id":1528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1523,"mutability":"mutable","name":"left","nameLocation":"9728:4:4","nodeType":"VariableDeclaration","scope":1544,"src":"9720:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"9720:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1525,"mutability":"mutable","name":"right","nameLocation":"9742:5:4","nodeType":"VariableDeclaration","scope":1544,"src":"9734:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1524,"name":"address","nodeType":"ElementaryTypeName","src":"9734:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1527,"mutability":"mutable","name":"err","nameLocation":"9763:3:4","nodeType":"VariableDeclaration","scope":1544,"src":"9749:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1526,"name":"string","nodeType":"ElementaryTypeName","src":"9749:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9719:48:4"},"returnParameters":{"id":1529,"nodeType":"ParameterList","parameters":[],"src":"9790:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1564,"nodeType":"FunctionDefinition","src":"9888:159:4","nodes":[],"body":{"id":1563,"nodeType":"Block","src":"9960:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1551,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1546,"src":"9974:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1552,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1548,"src":"9982:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9974:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1562,"nodeType":"IfStatement","src":"9970:71:4","trueBody":{"id":1561,"nodeType":"Block","src":"9989:52:4","statements":[{"expression":{"arguments":[{"id":1557,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1546,"src":"10018:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1558,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1548,"src":"10024:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1554,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10003:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10006:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16949,"src":"10003:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":1559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10003:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1560,"nodeType":"ExpressionStatement","src":"10003:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9897:11:4","parameters":{"id":1549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1546,"mutability":"mutable","name":"left","nameLocation":"9917:4:4","nodeType":"VariableDeclaration","scope":1564,"src":"9909:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9909:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1548,"mutability":"mutable","name":"right","nameLocation":"9931:5:4","nodeType":"VariableDeclaration","scope":1564,"src":"9923:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9923:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9908:29:4"},"returnParameters":{"id":1550,"nodeType":"ParameterList","parameters":[],"src":"9960:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1587,"nodeType":"FunctionDefinition","src":"10053:183:4","nodes":[],"body":{"id":1586,"nodeType":"Block","src":"10144:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1573,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1566,"src":"10158:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1574,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1568,"src":"10166:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10158:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1585,"nodeType":"IfStatement","src":"10154:76:4","trueBody":{"id":1584,"nodeType":"Block","src":"10173:57:4","statements":[{"expression":{"arguments":[{"id":1579,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1566,"src":"10202:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1580,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1568,"src":"10208:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1581,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1570,"src":"10215:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1576,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10187:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10190:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16959,"src":"10187:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":1582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10187:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1583,"nodeType":"ExpressionStatement","src":"10187:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10062:11:4","parameters":{"id":1571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1566,"mutability":"mutable","name":"left","nameLocation":"10082:4:4","nodeType":"VariableDeclaration","scope":1587,"src":"10074:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10074:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1568,"mutability":"mutable","name":"right","nameLocation":"10096:5:4","nodeType":"VariableDeclaration","scope":1587,"src":"10088:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10088:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1570,"mutability":"mutable","name":"err","nameLocation":"10117:3:4","nodeType":"VariableDeclaration","scope":1587,"src":"10103:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1569,"name":"string","nodeType":"ElementaryTypeName","src":"10103:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10073:48:4"},"returnParameters":{"id":1572,"nodeType":"ParameterList","parameters":[],"src":"10144:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1607,"nodeType":"FunctionDefinition","src":"10242:161:4","nodes":[],"body":{"id":1606,"nodeType":"Block","src":"10316:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1594,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"10330:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1595,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"10338:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10330:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1605,"nodeType":"IfStatement","src":"10326:71:4","trueBody":{"id":1604,"nodeType":"Block","src":"10345:52:4","statements":[{"expression":{"arguments":[{"id":1600,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"10374:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1601,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"10380:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1597,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10359:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10362:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16949,"src":"10359:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":1602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10359:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1603,"nodeType":"ExpressionStatement","src":"10359:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"10251:13:4","parameters":{"id":1592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1589,"mutability":"mutable","name":"left","nameLocation":"10273:4:4","nodeType":"VariableDeclaration","scope":1607,"src":"10265:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1588,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1591,"mutability":"mutable","name":"right","nameLocation":"10287:5:4","nodeType":"VariableDeclaration","scope":1607,"src":"10279:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10279:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10264:29:4"},"returnParameters":{"id":1593,"nodeType":"ParameterList","parameters":[],"src":"10316:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1630,"nodeType":"FunctionDefinition","src":"10409:185:4","nodes":[],"body":{"id":1629,"nodeType":"Block","src":"10502:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1616,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1609,"src":"10516:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1617,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1611,"src":"10524:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10516:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1628,"nodeType":"IfStatement","src":"10512:76:4","trueBody":{"id":1627,"nodeType":"Block","src":"10531:57:4","statements":[{"expression":{"arguments":[{"id":1622,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1609,"src":"10560:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1623,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1611,"src":"10566:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1624,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1613,"src":"10573:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1619,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10545:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10548:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16959,"src":"10545:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":1625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10545:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1626,"nodeType":"ExpressionStatement","src":"10545:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"10418:13:4","parameters":{"id":1614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1609,"mutability":"mutable","name":"left","nameLocation":"10440:4:4","nodeType":"VariableDeclaration","scope":1630,"src":"10432:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10432:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1611,"mutability":"mutable","name":"right","nameLocation":"10454:5:4","nodeType":"VariableDeclaration","scope":1630,"src":"10446:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1610,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10446:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1613,"mutability":"mutable","name":"err","nameLocation":"10475:3:4","nodeType":"VariableDeclaration","scope":1630,"src":"10461:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1612,"name":"string","nodeType":"ElementaryTypeName","src":"10461:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10431:48:4"},"returnParameters":{"id":1615,"nodeType":"ParameterList","parameters":[],"src":"10502:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1645,"nodeType":"FunctionDefinition","src":"10600:128:4","nodes":[],"body":{"id":1644,"nodeType":"Block","src":"10684:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1640,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1632,"src":"10709:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1641,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1634,"src":"10715:5:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1637,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10694:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10697:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16705,"src":"10694:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":1642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10694:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1643,"nodeType":"ExpressionStatement","src":"10694:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10609:11:4","parameters":{"id":1635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1632,"mutability":"mutable","name":"left","nameLocation":"10635:4:4","nodeType":"VariableDeclaration","scope":1645,"src":"10621:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1631,"name":"string","nodeType":"ElementaryTypeName","src":"10621:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1634,"mutability":"mutable","name":"right","nameLocation":"10655:5:4","nodeType":"VariableDeclaration","scope":1645,"src":"10641:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1633,"name":"string","nodeType":"ElementaryTypeName","src":"10641:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10620:41:4"},"returnParameters":{"id":1636,"nodeType":"ParameterList","parameters":[],"src":"10684:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1663,"nodeType":"FunctionDefinition","src":"10734:152:4","nodes":[],"body":{"id":1662,"nodeType":"Block","src":"10837:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1657,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1647,"src":"10862:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1658,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1649,"src":"10868:5:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1659,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"10875:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1654,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10847:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10850:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16715,"src":"10847:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) pure external"}},"id":1660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10847:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1661,"nodeType":"ExpressionStatement","src":"10847:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10743:11:4","parameters":{"id":1652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1647,"mutability":"mutable","name":"left","nameLocation":"10769:4:4","nodeType":"VariableDeclaration","scope":1663,"src":"10755:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1646,"name":"string","nodeType":"ElementaryTypeName","src":"10755:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1649,"mutability":"mutable","name":"right","nameLocation":"10789:5:4","nodeType":"VariableDeclaration","scope":1663,"src":"10775:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1648,"name":"string","nodeType":"ElementaryTypeName","src":"10775:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1651,"mutability":"mutable","name":"err","nameLocation":"10810:3:4","nodeType":"VariableDeclaration","scope":1663,"src":"10796:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1650,"name":"string","nodeType":"ElementaryTypeName","src":"10796:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10754:60:4"},"returnParameters":{"id":1653,"nodeType":"ParameterList","parameters":[],"src":"10837:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1678,"nodeType":"FunctionDefinition","src":"10892:126:4","nodes":[],"body":{"id":1677,"nodeType":"Block","src":"10974:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1673,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1665,"src":"10999:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1674,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1667,"src":"11005:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1670,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10984:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10987:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16723,"src":"10984:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":1675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10984:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1676,"nodeType":"ExpressionStatement","src":"10984:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10901:11:4","parameters":{"id":1668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1665,"mutability":"mutable","name":"left","nameLocation":"10926:4:4","nodeType":"VariableDeclaration","scope":1678,"src":"10913:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1664,"name":"bytes","nodeType":"ElementaryTypeName","src":"10913:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1667,"mutability":"mutable","name":"right","nameLocation":"10945:5:4","nodeType":"VariableDeclaration","scope":1678,"src":"10932:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1666,"name":"bytes","nodeType":"ElementaryTypeName","src":"10932:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10912:39:4"},"returnParameters":{"id":1669,"nodeType":"ParameterList","parameters":[],"src":"10974:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1696,"nodeType":"FunctionDefinition","src":"11024:150:4","nodes":[],"body":{"id":1695,"nodeType":"Block","src":"11125:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1690,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1680,"src":"11150:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1691,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1682,"src":"11156:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1692,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1684,"src":"11163:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1687,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11135:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11138:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16733,"src":"11135:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure external"}},"id":1693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11135:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1694,"nodeType":"ExpressionStatement","src":"11135:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11033:11:4","parameters":{"id":1685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1680,"mutability":"mutable","name":"left","nameLocation":"11058:4:4","nodeType":"VariableDeclaration","scope":1696,"src":"11045:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1679,"name":"bytes","nodeType":"ElementaryTypeName","src":"11045:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1682,"mutability":"mutable","name":"right","nameLocation":"11077:5:4","nodeType":"VariableDeclaration","scope":1696,"src":"11064:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1681,"name":"bytes","nodeType":"ElementaryTypeName","src":"11064:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1684,"mutability":"mutable","name":"err","nameLocation":"11098:3:4","nodeType":"VariableDeclaration","scope":1696,"src":"11084:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1683,"name":"string","nodeType":"ElementaryTypeName","src":"11084:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11044:58:4"},"returnParameters":{"id":1686,"nodeType":"ParameterList","parameters":[],"src":"11125:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1713,"nodeType":"FunctionDefinition","src":"11180:128:4","nodes":[],"body":{"id":1712,"nodeType":"Block","src":"11264:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1708,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1699,"src":"11289:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1709,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1702,"src":"11295:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":1705,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11274:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11277:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16743,"src":"11274:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory) pure external"}},"id":1710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11274:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1711,"nodeType":"ExpressionStatement","src":"11274:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11189:11:4","parameters":{"id":1703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1699,"mutability":"mutable","name":"left","nameLocation":"11215:4:4","nodeType":"VariableDeclaration","scope":1713,"src":"11201:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1697,"name":"bool","nodeType":"ElementaryTypeName","src":"11201:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1698,"nodeType":"ArrayTypeName","src":"11201:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1702,"mutability":"mutable","name":"right","nameLocation":"11235:5:4","nodeType":"VariableDeclaration","scope":1713,"src":"11221:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1700,"name":"bool","nodeType":"ElementaryTypeName","src":"11221:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1701,"nodeType":"ArrayTypeName","src":"11221:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"11200:41:4"},"returnParameters":{"id":1704,"nodeType":"ParameterList","parameters":[],"src":"11264:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1733,"nodeType":"FunctionDefinition","src":"11314:152:4","nodes":[],"body":{"id":1732,"nodeType":"Block","src":"11417:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1727,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1716,"src":"11442:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1728,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1719,"src":"11448:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1729,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1721,"src":"11455:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1724,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11427:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11430:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16755,"src":"11427:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory,string memory) pure external"}},"id":1730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11427:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1731,"nodeType":"ExpressionStatement","src":"11427:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11323:11:4","parameters":{"id":1722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1716,"mutability":"mutable","name":"left","nameLocation":"11349:4:4","nodeType":"VariableDeclaration","scope":1733,"src":"11335:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1714,"name":"bool","nodeType":"ElementaryTypeName","src":"11335:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1715,"nodeType":"ArrayTypeName","src":"11335:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1719,"mutability":"mutable","name":"right","nameLocation":"11369:5:4","nodeType":"VariableDeclaration","scope":1733,"src":"11355:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1717,"name":"bool","nodeType":"ElementaryTypeName","src":"11355:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1718,"nodeType":"ArrayTypeName","src":"11355:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1721,"mutability":"mutable","name":"err","nameLocation":"11390:3:4","nodeType":"VariableDeclaration","scope":1733,"src":"11376:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1720,"name":"string","nodeType":"ElementaryTypeName","src":"11376:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11334:60:4"},"returnParameters":{"id":1723,"nodeType":"ParameterList","parameters":[],"src":"11417:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1750,"nodeType":"FunctionDefinition","src":"11472:134:4","nodes":[],"body":{"id":1749,"nodeType":"Block","src":"11562:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1745,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1736,"src":"11587:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1746,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1739,"src":"11593:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":1742,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11572:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11575:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16765,"src":"11572:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory) pure external"}},"id":1747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11572:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1748,"nodeType":"ExpressionStatement","src":"11572:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11481:11:4","parameters":{"id":1740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1736,"mutability":"mutable","name":"left","nameLocation":"11510:4:4","nodeType":"VariableDeclaration","scope":1750,"src":"11493:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1734,"name":"uint256","nodeType":"ElementaryTypeName","src":"11493:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ArrayTypeName","src":"11493:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1739,"mutability":"mutable","name":"right","nameLocation":"11533:5:4","nodeType":"VariableDeclaration","scope":1750,"src":"11516:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1737,"name":"uint256","nodeType":"ElementaryTypeName","src":"11516:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1738,"nodeType":"ArrayTypeName","src":"11516:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"11492:47:4"},"returnParameters":{"id":1741,"nodeType":"ParameterList","parameters":[],"src":"11562:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1770,"nodeType":"FunctionDefinition","src":"11612:158:4","nodes":[],"body":{"id":1769,"nodeType":"Block","src":"11721:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1764,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1753,"src":"11746:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1765,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1756,"src":"11752:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1766,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1758,"src":"11759:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1761,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11731:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11734:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16777,"src":"11731:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory,string memory) pure external"}},"id":1767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11731:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1768,"nodeType":"ExpressionStatement","src":"11731:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11621:11:4","parameters":{"id":1759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1753,"mutability":"mutable","name":"left","nameLocation":"11650:4:4","nodeType":"VariableDeclaration","scope":1770,"src":"11633:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1751,"name":"uint256","nodeType":"ElementaryTypeName","src":"11633:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1752,"nodeType":"ArrayTypeName","src":"11633:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1756,"mutability":"mutable","name":"right","nameLocation":"11673:5:4","nodeType":"VariableDeclaration","scope":1770,"src":"11656:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1754,"name":"uint256","nodeType":"ElementaryTypeName","src":"11656:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1755,"nodeType":"ArrayTypeName","src":"11656:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1758,"mutability":"mutable","name":"err","nameLocation":"11694:3:4","nodeType":"VariableDeclaration","scope":1770,"src":"11680:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1757,"name":"string","nodeType":"ElementaryTypeName","src":"11680:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11632:66:4"},"returnParameters":{"id":1760,"nodeType":"ParameterList","parameters":[],"src":"11721:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1787,"nodeType":"FunctionDefinition","src":"11776:132:4","nodes":[],"body":{"id":1786,"nodeType":"Block","src":"11864:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1782,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1773,"src":"11889:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1783,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1776,"src":"11895:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":1779,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11874:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11877:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16787,"src":"11874:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory) pure external"}},"id":1784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11874:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1785,"nodeType":"ExpressionStatement","src":"11874:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11785:11:4","parameters":{"id":1777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1773,"mutability":"mutable","name":"left","nameLocation":"11813:4:4","nodeType":"VariableDeclaration","scope":1787,"src":"11797:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1771,"name":"int256","nodeType":"ElementaryTypeName","src":"11797:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1772,"nodeType":"ArrayTypeName","src":"11797:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1776,"mutability":"mutable","name":"right","nameLocation":"11835:5:4","nodeType":"VariableDeclaration","scope":1787,"src":"11819:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1774,"name":"int256","nodeType":"ElementaryTypeName","src":"11819:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1775,"nodeType":"ArrayTypeName","src":"11819:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"11796:45:4"},"returnParameters":{"id":1778,"nodeType":"ParameterList","parameters":[],"src":"11864:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1807,"nodeType":"FunctionDefinition","src":"11914:156:4","nodes":[],"body":{"id":1806,"nodeType":"Block","src":"12021:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1801,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1790,"src":"12046:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1802,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1793,"src":"12052:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1803,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1795,"src":"12059:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1798,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12031:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12034:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16799,"src":"12031:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory,string memory) pure external"}},"id":1804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12031:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1805,"nodeType":"ExpressionStatement","src":"12031:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11923:11:4","parameters":{"id":1796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1790,"mutability":"mutable","name":"left","nameLocation":"11951:4:4","nodeType":"VariableDeclaration","scope":1807,"src":"11935:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1788,"name":"int256","nodeType":"ElementaryTypeName","src":"11935:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1789,"nodeType":"ArrayTypeName","src":"11935:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1793,"mutability":"mutable","name":"right","nameLocation":"11973:5:4","nodeType":"VariableDeclaration","scope":1807,"src":"11957:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1791,"name":"int256","nodeType":"ElementaryTypeName","src":"11957:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1792,"nodeType":"ArrayTypeName","src":"11957:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1795,"mutability":"mutable","name":"err","nameLocation":"11994:3:4","nodeType":"VariableDeclaration","scope":1807,"src":"11980:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1794,"name":"string","nodeType":"ElementaryTypeName","src":"11980:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11934:64:4"},"returnParameters":{"id":1797,"nodeType":"ParameterList","parameters":[],"src":"12021:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1824,"nodeType":"FunctionDefinition","src":"12076:134:4","nodes":[],"body":{"id":1823,"nodeType":"Block","src":"12166:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1819,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1810,"src":"12191:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1820,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1813,"src":"12197:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":1816,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12176:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12179:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16817,"src":"12176:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory) pure external"}},"id":1821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12176:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1822,"nodeType":"ExpressionStatement","src":"12176:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12085:11:4","parameters":{"id":1814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1810,"mutability":"mutable","name":"left","nameLocation":"12114:4:4","nodeType":"VariableDeclaration","scope":1824,"src":"12097:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1808,"name":"address","nodeType":"ElementaryTypeName","src":"12097:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1809,"nodeType":"ArrayTypeName","src":"12097:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1813,"mutability":"mutable","name":"right","nameLocation":"12137:5:4","nodeType":"VariableDeclaration","scope":1824,"src":"12120:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1811,"name":"address","nodeType":"ElementaryTypeName","src":"12120:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1812,"nodeType":"ArrayTypeName","src":"12120:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12096:47:4"},"returnParameters":{"id":1815,"nodeType":"ParameterList","parameters":[],"src":"12166:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1844,"nodeType":"FunctionDefinition","src":"12216:158:4","nodes":[],"body":{"id":1843,"nodeType":"Block","src":"12325:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1838,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1827,"src":"12350:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1839,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1830,"src":"12356:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1840,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1832,"src":"12363:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1835,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12335:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12338:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16829,"src":"12335:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory,string memory) pure external"}},"id":1841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12335:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1842,"nodeType":"ExpressionStatement","src":"12335:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12225:11:4","parameters":{"id":1833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1827,"mutability":"mutable","name":"left","nameLocation":"12254:4:4","nodeType":"VariableDeclaration","scope":1844,"src":"12237:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1825,"name":"address","nodeType":"ElementaryTypeName","src":"12237:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1826,"nodeType":"ArrayTypeName","src":"12237:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1830,"mutability":"mutable","name":"right","nameLocation":"12277:5:4","nodeType":"VariableDeclaration","scope":1844,"src":"12260:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1828,"name":"address","nodeType":"ElementaryTypeName","src":"12260:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1829,"nodeType":"ArrayTypeName","src":"12260:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1832,"mutability":"mutable","name":"err","nameLocation":"12298:3:4","nodeType":"VariableDeclaration","scope":1844,"src":"12284:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1831,"name":"string","nodeType":"ElementaryTypeName","src":"12284:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12236:66:4"},"returnParameters":{"id":1834,"nodeType":"ParameterList","parameters":[],"src":"12325:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1861,"nodeType":"FunctionDefinition","src":"12380:134:4","nodes":[],"body":{"id":1860,"nodeType":"Block","src":"12470:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1856,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1847,"src":"12495:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1857,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"12501:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":1853,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12480:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12483:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16839,"src":"12480:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory) pure external"}},"id":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12480:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1859,"nodeType":"ExpressionStatement","src":"12480:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12389:11:4","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1847,"mutability":"mutable","name":"left","nameLocation":"12418:4:4","nodeType":"VariableDeclaration","scope":1861,"src":"12401:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12401:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1846,"nodeType":"ArrayTypeName","src":"12401:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"right","nameLocation":"12441:5:4","nodeType":"VariableDeclaration","scope":1861,"src":"12424:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12424:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1849,"nodeType":"ArrayTypeName","src":"12424:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"12400:47:4"},"returnParameters":{"id":1852,"nodeType":"ParameterList","parameters":[],"src":"12470:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1881,"nodeType":"FunctionDefinition","src":"12520:158:4","nodes":[],"body":{"id":1880,"nodeType":"Block","src":"12629:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1875,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1864,"src":"12654:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1876,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1867,"src":"12660:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1877,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"12667:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12639:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12642:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16851,"src":"12639:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory,string memory) pure external"}},"id":1878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12639:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1879,"nodeType":"ExpressionStatement","src":"12639:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12529:11:4","parameters":{"id":1870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1864,"mutability":"mutable","name":"left","nameLocation":"12558:4:4","nodeType":"VariableDeclaration","scope":1881,"src":"12541:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12541:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1863,"nodeType":"ArrayTypeName","src":"12541:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1867,"mutability":"mutable","name":"right","nameLocation":"12581:5:4","nodeType":"VariableDeclaration","scope":1881,"src":"12564:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12564:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1866,"nodeType":"ArrayTypeName","src":"12564:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1869,"mutability":"mutable","name":"err","nameLocation":"12602:3:4","nodeType":"VariableDeclaration","scope":1881,"src":"12588:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1868,"name":"string","nodeType":"ElementaryTypeName","src":"12588:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12540:66:4"},"returnParameters":{"id":1871,"nodeType":"ParameterList","parameters":[],"src":"12629:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1898,"nodeType":"FunctionDefinition","src":"12684:132:4","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"12772:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1884,"src":"12797:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1894,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"12803:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":1890,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12782:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12785:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16861,"src":"12782:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory) pure external"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12782:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1896,"nodeType":"ExpressionStatement","src":"12782:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12693:11:4","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1884,"mutability":"mutable","name":"left","nameLocation":"12721:4:4","nodeType":"VariableDeclaration","scope":1898,"src":"12705:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1882,"name":"string","nodeType":"ElementaryTypeName","src":"12705:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1883,"nodeType":"ArrayTypeName","src":"12705:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"right","nameLocation":"12743:5:4","nodeType":"VariableDeclaration","scope":1898,"src":"12727:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1885,"name":"string","nodeType":"ElementaryTypeName","src":"12727:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1886,"nodeType":"ArrayTypeName","src":"12727:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"12704:45:4"},"returnParameters":{"id":1889,"nodeType":"ParameterList","parameters":[],"src":"12772:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1918,"nodeType":"FunctionDefinition","src":"12822:156:4","nodes":[],"body":{"id":1917,"nodeType":"Block","src":"12929:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1912,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"12954:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1913,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1904,"src":"12960:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1914,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1906,"src":"12967:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1909,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12939:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12942:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16873,"src":"12939:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory,string memory) pure external"}},"id":1915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12939:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1916,"nodeType":"ExpressionStatement","src":"12939:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12831:11:4","parameters":{"id":1907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"left","nameLocation":"12859:4:4","nodeType":"VariableDeclaration","scope":1918,"src":"12843:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1899,"name":"string","nodeType":"ElementaryTypeName","src":"12843:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1900,"nodeType":"ArrayTypeName","src":"12843:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1904,"mutability":"mutable","name":"right","nameLocation":"12881:5:4","nodeType":"VariableDeclaration","scope":1918,"src":"12865:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1902,"name":"string","nodeType":"ElementaryTypeName","src":"12865:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1903,"nodeType":"ArrayTypeName","src":"12865:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1906,"mutability":"mutable","name":"err","nameLocation":"12902:3:4","nodeType":"VariableDeclaration","scope":1918,"src":"12888:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1905,"name":"string","nodeType":"ElementaryTypeName","src":"12888:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12842:64:4"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"12929:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1935,"nodeType":"FunctionDefinition","src":"12984:130:4","nodes":[],"body":{"id":1934,"nodeType":"Block","src":"13070:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1930,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1921,"src":"13095:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1931,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"13101:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":1927,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13080:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13083:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16883,"src":"13080:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory) pure external"}},"id":1932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13080:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1933,"nodeType":"ExpressionStatement","src":"13080:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12993:11:4","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1921,"mutability":"mutable","name":"left","nameLocation":"13020:4:4","nodeType":"VariableDeclaration","scope":1935,"src":"13005:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1919,"name":"bytes","nodeType":"ElementaryTypeName","src":"13005:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1920,"nodeType":"ArrayTypeName","src":"13005:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1924,"mutability":"mutable","name":"right","nameLocation":"13041:5:4","nodeType":"VariableDeclaration","scope":1935,"src":"13026:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1922,"name":"bytes","nodeType":"ElementaryTypeName","src":"13026:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1923,"nodeType":"ArrayTypeName","src":"13026:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13004:43:4"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"13070:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1955,"nodeType":"FunctionDefinition","src":"13120:154:4","nodes":[],"body":{"id":1954,"nodeType":"Block","src":"13225:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1949,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1938,"src":"13250:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1950,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1941,"src":"13256:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1951,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1943,"src":"13263:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1946,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13235:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13238:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16895,"src":"13235:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory,string memory) pure external"}},"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13235:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1953,"nodeType":"ExpressionStatement","src":"13235:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"13129:11:4","parameters":{"id":1944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1938,"mutability":"mutable","name":"left","nameLocation":"13156:4:4","nodeType":"VariableDeclaration","scope":1955,"src":"13141:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1936,"name":"bytes","nodeType":"ElementaryTypeName","src":"13141:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1937,"nodeType":"ArrayTypeName","src":"13141:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1941,"mutability":"mutable","name":"right","nameLocation":"13177:5:4","nodeType":"VariableDeclaration","scope":1955,"src":"13162:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1939,"name":"bytes","nodeType":"ElementaryTypeName","src":"13162:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1940,"nodeType":"ArrayTypeName","src":"13162:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1943,"mutability":"mutable","name":"err","nameLocation":"13198:3:4","nodeType":"VariableDeclaration","scope":1955,"src":"13184:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1942,"name":"string","nodeType":"ElementaryTypeName","src":"13184:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13140:62:4"},"returnParameters":{"id":1945,"nodeType":"ParameterList","parameters":[],"src":"13225:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1975,"nodeType":"FunctionDefinition","src":"13280:153:4","nodes":[],"body":{"id":1974,"nodeType":"Block","src":"13349:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1962,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1957,"src":"13363:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1963,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1959,"src":"13371:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13363:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1973,"nodeType":"IfStatement","src":"13359:68:4","trueBody":{"id":1972,"nodeType":"Block","src":"13378:49:4","statements":[{"expression":{"arguments":[{"id":1968,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1957,"src":"13404:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1969,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1959,"src":"13410:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1965,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13392:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13395:8:4","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16607,"src":"13392:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13392:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1971,"nodeType":"ExpressionStatement","src":"13392:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"13289:8:4","parameters":{"id":1960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1957,"mutability":"mutable","name":"left","nameLocation":"13306:4:4","nodeType":"VariableDeclaration","scope":1975,"src":"13298:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1956,"name":"uint256","nodeType":"ElementaryTypeName","src":"13298:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1959,"mutability":"mutable","name":"right","nameLocation":"13320:5:4","nodeType":"VariableDeclaration","scope":1975,"src":"13312:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1958,"name":"uint256","nodeType":"ElementaryTypeName","src":"13312:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13297:29:4"},"returnParameters":{"id":1961,"nodeType":"ParameterList","parameters":[],"src":"13349:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1998,"nodeType":"FunctionDefinition","src":"13439:177:4","nodes":[],"body":{"id":1997,"nodeType":"Block","src":"13527:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1984,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1977,"src":"13541:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1985,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"13549:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13541:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1996,"nodeType":"IfStatement","src":"13537:73:4","trueBody":{"id":1995,"nodeType":"Block","src":"13556:54:4","statements":[{"expression":{"arguments":[{"id":1990,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1977,"src":"13582:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1991,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"13588:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1992,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1981,"src":"13595:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1987,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13570:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13573:8:4","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16617,"src":"13570:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13570:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1994,"nodeType":"ExpressionStatement","src":"13570:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"13448:8:4","parameters":{"id":1982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1977,"mutability":"mutable","name":"left","nameLocation":"13465:4:4","nodeType":"VariableDeclaration","scope":1998,"src":"13457:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1976,"name":"uint256","nodeType":"ElementaryTypeName","src":"13457:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1979,"mutability":"mutable","name":"right","nameLocation":"13479:5:4","nodeType":"VariableDeclaration","scope":1998,"src":"13471:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"13471:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1981,"mutability":"mutable","name":"err","nameLocation":"13500:3:4","nodeType":"VariableDeclaration","scope":1998,"src":"13486:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1980,"name":"string","nodeType":"ElementaryTypeName","src":"13486:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13456:48:4"},"returnParameters":{"id":1983,"nodeType":"ParameterList","parameters":[],"src":"13527:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2016,"nodeType":"FunctionDefinition","src":"13622:152:4","nodes":[],"body":{"id":2015,"nodeType":"Block","src":"13716:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2010,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2000,"src":"13745:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2011,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2002,"src":"13751:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2012,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2004,"src":"13758:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2007,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13726:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13729:15:4","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":16565,"src":"13726:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13726:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2014,"nodeType":"ExpressionStatement","src":"13726:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"13631:15:4","parameters":{"id":2005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2000,"mutability":"mutable","name":"left","nameLocation":"13655:4:4","nodeType":"VariableDeclaration","scope":2016,"src":"13647:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1999,"name":"uint256","nodeType":"ElementaryTypeName","src":"13647:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2002,"mutability":"mutable","name":"right","nameLocation":"13669:5:4","nodeType":"VariableDeclaration","scope":2016,"src":"13661:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2001,"name":"uint256","nodeType":"ElementaryTypeName","src":"13661:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2004,"mutability":"mutable","name":"decimals","nameLocation":"13684:8:4","nodeType":"VariableDeclaration","scope":2016,"src":"13676:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2003,"name":"uint256","nodeType":"ElementaryTypeName","src":"13676:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13646:47:4"},"returnParameters":{"id":2006,"nodeType":"ParameterList","parameters":[],"src":"13716:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2037,"nodeType":"FunctionDefinition","src":"13780:176:4","nodes":[],"body":{"id":2036,"nodeType":"Block","src":"13893:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2030,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2018,"src":"13922:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2031,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"13928:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2032,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2022,"src":"13935:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2033,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2024,"src":"13945:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2027,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13903:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13906:15:4","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":16577,"src":"13903:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13903:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2035,"nodeType":"ExpressionStatement","src":"13903:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"13789:15:4","parameters":{"id":2025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2018,"mutability":"mutable","name":"left","nameLocation":"13813:4:4","nodeType":"VariableDeclaration","scope":2037,"src":"13805:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2017,"name":"uint256","nodeType":"ElementaryTypeName","src":"13805:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2020,"mutability":"mutable","name":"right","nameLocation":"13827:5:4","nodeType":"VariableDeclaration","scope":2037,"src":"13819:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2019,"name":"uint256","nodeType":"ElementaryTypeName","src":"13819:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2022,"mutability":"mutable","name":"decimals","nameLocation":"13842:8:4","nodeType":"VariableDeclaration","scope":2037,"src":"13834:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2021,"name":"uint256","nodeType":"ElementaryTypeName","src":"13834:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2024,"mutability":"mutable","name":"err","nameLocation":"13866:3:4","nodeType":"VariableDeclaration","scope":2037,"src":"13852:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2023,"name":"string","nodeType":"ElementaryTypeName","src":"13852:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13804:66:4"},"returnParameters":{"id":2026,"nodeType":"ParameterList","parameters":[],"src":"13893:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2057,"nodeType":"FunctionDefinition","src":"13962:151:4","nodes":[],"body":{"id":2056,"nodeType":"Block","src":"14029:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2044,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2039,"src":"14043:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":2045,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2041,"src":"14051:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14043:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2055,"nodeType":"IfStatement","src":"14039:68:4","trueBody":{"id":2054,"nodeType":"Block","src":"14058:49:4","statements":[{"expression":{"arguments":[{"id":2050,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2039,"src":"14084:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2051,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2041,"src":"14090:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2047,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14072:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14075:8:4","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16625,"src":"14072:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14072:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2053,"nodeType":"ExpressionStatement","src":"14072:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"13971:8:4","parameters":{"id":2042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2039,"mutability":"mutable","name":"left","nameLocation":"13987:4:4","nodeType":"VariableDeclaration","scope":2057,"src":"13980:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2038,"name":"int256","nodeType":"ElementaryTypeName","src":"13980:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2041,"mutability":"mutable","name":"right","nameLocation":"14000:5:4","nodeType":"VariableDeclaration","scope":2057,"src":"13993:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2040,"name":"int256","nodeType":"ElementaryTypeName","src":"13993:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13979:27:4"},"returnParameters":{"id":2043,"nodeType":"ParameterList","parameters":[],"src":"14029:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2080,"nodeType":"FunctionDefinition","src":"14119:175:4","nodes":[],"body":{"id":2079,"nodeType":"Block","src":"14205:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2066,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2059,"src":"14219:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":2067,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2061,"src":"14227:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14219:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2078,"nodeType":"IfStatement","src":"14215:73:4","trueBody":{"id":2077,"nodeType":"Block","src":"14234:54:4","statements":[{"expression":{"arguments":[{"id":2072,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2059,"src":"14260:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2073,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2061,"src":"14266:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2074,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2063,"src":"14273:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2069,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14248:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14251:8:4","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16635,"src":"14248:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14248:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2076,"nodeType":"ExpressionStatement","src":"14248:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"14128:8:4","parameters":{"id":2064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2059,"mutability":"mutable","name":"left","nameLocation":"14144:4:4","nodeType":"VariableDeclaration","scope":2080,"src":"14137:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2058,"name":"int256","nodeType":"ElementaryTypeName","src":"14137:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2061,"mutability":"mutable","name":"right","nameLocation":"14157:5:4","nodeType":"VariableDeclaration","scope":2080,"src":"14150:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2060,"name":"int256","nodeType":"ElementaryTypeName","src":"14150:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2063,"mutability":"mutable","name":"err","nameLocation":"14178:3:4","nodeType":"VariableDeclaration","scope":2080,"src":"14164:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2062,"name":"string","nodeType":"ElementaryTypeName","src":"14164:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14136:46:4"},"returnParameters":{"id":2065,"nodeType":"ParameterList","parameters":[],"src":"14205:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2098,"nodeType":"FunctionDefinition","src":"14300:150:4","nodes":[],"body":{"id":2097,"nodeType":"Block","src":"14392:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2092,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"14421:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2093,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2084,"src":"14427:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2094,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14434:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2089,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14402:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14405:15:4","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":16587,"src":"14402:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14402:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2096,"nodeType":"ExpressionStatement","src":"14402:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"14309:15:4","parameters":{"id":2087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2082,"mutability":"mutable","name":"left","nameLocation":"14332:4:4","nodeType":"VariableDeclaration","scope":2098,"src":"14325:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2081,"name":"int256","nodeType":"ElementaryTypeName","src":"14325:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2084,"mutability":"mutable","name":"right","nameLocation":"14345:5:4","nodeType":"VariableDeclaration","scope":2098,"src":"14338:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2083,"name":"int256","nodeType":"ElementaryTypeName","src":"14338:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2086,"mutability":"mutable","name":"decimals","nameLocation":"14360:8:4","nodeType":"VariableDeclaration","scope":2098,"src":"14352:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2085,"name":"uint256","nodeType":"ElementaryTypeName","src":"14352:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14324:45:4"},"returnParameters":{"id":2088,"nodeType":"ParameterList","parameters":[],"src":"14392:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2119,"nodeType":"FunctionDefinition","src":"14456:174:4","nodes":[],"body":{"id":2118,"nodeType":"Block","src":"14567:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2112,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2100,"src":"14596:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2113,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2102,"src":"14602:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2114,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2104,"src":"14609:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2115,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2106,"src":"14619:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2109,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14577:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14580:15:4","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":16599,"src":"14577:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14577:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2117,"nodeType":"ExpressionStatement","src":"14577:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"14465:15:4","parameters":{"id":2107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2100,"mutability":"mutable","name":"left","nameLocation":"14488:4:4","nodeType":"VariableDeclaration","scope":2119,"src":"14481:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2099,"name":"int256","nodeType":"ElementaryTypeName","src":"14481:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2102,"mutability":"mutable","name":"right","nameLocation":"14501:5:4","nodeType":"VariableDeclaration","scope":2119,"src":"14494:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2101,"name":"int256","nodeType":"ElementaryTypeName","src":"14494:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2104,"mutability":"mutable","name":"decimals","nameLocation":"14516:8:4","nodeType":"VariableDeclaration","scope":2119,"src":"14508:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2103,"name":"uint256","nodeType":"ElementaryTypeName","src":"14508:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2106,"mutability":"mutable","name":"err","nameLocation":"14540:3:4","nodeType":"VariableDeclaration","scope":2119,"src":"14526:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2105,"name":"string","nodeType":"ElementaryTypeName","src":"14526:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14480:64:4"},"returnParameters":{"id":2108,"nodeType":"ParameterList","parameters":[],"src":"14567:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2139,"nodeType":"FunctionDefinition","src":"14636:153:4","nodes":[],"body":{"id":2138,"nodeType":"Block","src":"14705:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2126,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"14719:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":2127,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2123,"src":"14727:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14719:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2137,"nodeType":"IfStatement","src":"14715:68:4","trueBody":{"id":2136,"nodeType":"Block","src":"14734:49:4","statements":[{"expression":{"arguments":[{"id":2132,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"14760:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2133,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2123,"src":"14766:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2129,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14748:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14751:8:4","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":16447,"src":"14748:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14748:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2135,"nodeType":"ExpressionStatement","src":"14748:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"14645:8:4","parameters":{"id":2124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2121,"mutability":"mutable","name":"left","nameLocation":"14662:4:4","nodeType":"VariableDeclaration","scope":2139,"src":"14654:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2120,"name":"uint256","nodeType":"ElementaryTypeName","src":"14654:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2123,"mutability":"mutable","name":"right","nameLocation":"14676:5:4","nodeType":"VariableDeclaration","scope":2139,"src":"14668:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2122,"name":"uint256","nodeType":"ElementaryTypeName","src":"14668:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14653:29:4"},"returnParameters":{"id":2125,"nodeType":"ParameterList","parameters":[],"src":"14705:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2162,"nodeType":"FunctionDefinition","src":"14795:177:4","nodes":[],"body":{"id":2161,"nodeType":"Block","src":"14883:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2148,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"14897:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":2149,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2143,"src":"14905:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14897:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2160,"nodeType":"IfStatement","src":"14893:73:4","trueBody":{"id":2159,"nodeType":"Block","src":"14912:54:4","statements":[{"expression":{"arguments":[{"id":2154,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"14938:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2155,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2143,"src":"14944:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2156,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2145,"src":"14951:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2151,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14926:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14929:8:4","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":16457,"src":"14926:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14926:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2158,"nodeType":"ExpressionStatement","src":"14926:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"14804:8:4","parameters":{"id":2146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2141,"mutability":"mutable","name":"left","nameLocation":"14821:4:4","nodeType":"VariableDeclaration","scope":2162,"src":"14813:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2140,"name":"uint256","nodeType":"ElementaryTypeName","src":"14813:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2143,"mutability":"mutable","name":"right","nameLocation":"14835:5:4","nodeType":"VariableDeclaration","scope":2162,"src":"14827:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2142,"name":"uint256","nodeType":"ElementaryTypeName","src":"14827:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2145,"mutability":"mutable","name":"err","nameLocation":"14856:3:4","nodeType":"VariableDeclaration","scope":2162,"src":"14842:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2144,"name":"string","nodeType":"ElementaryTypeName","src":"14842:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14812:48:4"},"returnParameters":{"id":2147,"nodeType":"ParameterList","parameters":[],"src":"14883:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2180,"nodeType":"FunctionDefinition","src":"14978:152:4","nodes":[],"body":{"id":2179,"nodeType":"Block","src":"15072:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2174,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2164,"src":"15101:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2175,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2166,"src":"15107:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2176,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2168,"src":"15114:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2171,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15082:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15085:15:4","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":16405,"src":"15082:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15082:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2178,"nodeType":"ExpressionStatement","src":"15082:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"14987:15:4","parameters":{"id":2169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2164,"mutability":"mutable","name":"left","nameLocation":"15011:4:4","nodeType":"VariableDeclaration","scope":2180,"src":"15003:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2163,"name":"uint256","nodeType":"ElementaryTypeName","src":"15003:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2166,"mutability":"mutable","name":"right","nameLocation":"15025:5:4","nodeType":"VariableDeclaration","scope":2180,"src":"15017:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2165,"name":"uint256","nodeType":"ElementaryTypeName","src":"15017:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2168,"mutability":"mutable","name":"decimals","nameLocation":"15040:8:4","nodeType":"VariableDeclaration","scope":2180,"src":"15032:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2167,"name":"uint256","nodeType":"ElementaryTypeName","src":"15032:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15002:47:4"},"returnParameters":{"id":2170,"nodeType":"ParameterList","parameters":[],"src":"15072:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2201,"nodeType":"FunctionDefinition","src":"15136:176:4","nodes":[],"body":{"id":2200,"nodeType":"Block","src":"15249:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2194,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2182,"src":"15278:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2195,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2184,"src":"15284:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2196,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2186,"src":"15291:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2197,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2188,"src":"15301:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2191,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15259:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15262:15:4","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":16417,"src":"15259:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15259:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2199,"nodeType":"ExpressionStatement","src":"15259:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"15145:15:4","parameters":{"id":2189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2182,"mutability":"mutable","name":"left","nameLocation":"15169:4:4","nodeType":"VariableDeclaration","scope":2201,"src":"15161:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2181,"name":"uint256","nodeType":"ElementaryTypeName","src":"15161:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2184,"mutability":"mutable","name":"right","nameLocation":"15183:5:4","nodeType":"VariableDeclaration","scope":2201,"src":"15175:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2183,"name":"uint256","nodeType":"ElementaryTypeName","src":"15175:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2186,"mutability":"mutable","name":"decimals","nameLocation":"15198:8:4","nodeType":"VariableDeclaration","scope":2201,"src":"15190:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2185,"name":"uint256","nodeType":"ElementaryTypeName","src":"15190:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2188,"mutability":"mutable","name":"err","nameLocation":"15222:3:4","nodeType":"VariableDeclaration","scope":2201,"src":"15208:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2187,"name":"string","nodeType":"ElementaryTypeName","src":"15208:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15160:66:4"},"returnParameters":{"id":2190,"nodeType":"ParameterList","parameters":[],"src":"15249:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2221,"nodeType":"FunctionDefinition","src":"15318:151:4","nodes":[],"body":{"id":2220,"nodeType":"Block","src":"15385:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2208,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2203,"src":"15399:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":2209,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2205,"src":"15407:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"15399:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2219,"nodeType":"IfStatement","src":"15395:68:4","trueBody":{"id":2218,"nodeType":"Block","src":"15414:49:4","statements":[{"expression":{"arguments":[{"id":2214,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2203,"src":"15440:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2215,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2205,"src":"15446:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2211,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15428:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15431:8:4","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":16465,"src":"15428:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15428:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2217,"nodeType":"ExpressionStatement","src":"15428:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"15327:8:4","parameters":{"id":2206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2203,"mutability":"mutable","name":"left","nameLocation":"15343:4:4","nodeType":"VariableDeclaration","scope":2221,"src":"15336:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2202,"name":"int256","nodeType":"ElementaryTypeName","src":"15336:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2205,"mutability":"mutable","name":"right","nameLocation":"15356:5:4","nodeType":"VariableDeclaration","scope":2221,"src":"15349:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2204,"name":"int256","nodeType":"ElementaryTypeName","src":"15349:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"15335:27:4"},"returnParameters":{"id":2207,"nodeType":"ParameterList","parameters":[],"src":"15385:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2244,"nodeType":"FunctionDefinition","src":"15475:175:4","nodes":[],"body":{"id":2243,"nodeType":"Block","src":"15561:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2230,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2223,"src":"15575:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":2231,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2225,"src":"15583:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"15575:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2242,"nodeType":"IfStatement","src":"15571:73:4","trueBody":{"id":2241,"nodeType":"Block","src":"15590:54:4","statements":[{"expression":{"arguments":[{"id":2236,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2223,"src":"15616:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2237,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2225,"src":"15622:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2238,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2227,"src":"15629:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2233,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15604:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15607:8:4","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":16475,"src":"15604:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15604:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2240,"nodeType":"ExpressionStatement","src":"15604:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"15484:8:4","parameters":{"id":2228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2223,"mutability":"mutable","name":"left","nameLocation":"15500:4:4","nodeType":"VariableDeclaration","scope":2244,"src":"15493:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2222,"name":"int256","nodeType":"ElementaryTypeName","src":"15493:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2225,"mutability":"mutable","name":"right","nameLocation":"15513:5:4","nodeType":"VariableDeclaration","scope":2244,"src":"15506:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2224,"name":"int256","nodeType":"ElementaryTypeName","src":"15506:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2227,"mutability":"mutable","name":"err","nameLocation":"15534:3:4","nodeType":"VariableDeclaration","scope":2244,"src":"15520:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2226,"name":"string","nodeType":"ElementaryTypeName","src":"15520:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15492:46:4"},"returnParameters":{"id":2229,"nodeType":"ParameterList","parameters":[],"src":"15561:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2262,"nodeType":"FunctionDefinition","src":"15656:150:4","nodes":[],"body":{"id":2261,"nodeType":"Block","src":"15748:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2256,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2246,"src":"15777:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2257,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"15783:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2258,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"15790:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2253,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15758:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15761:15:4","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":16427,"src":"15758:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15758:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2260,"nodeType":"ExpressionStatement","src":"15758:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"15665:15:4","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2246,"mutability":"mutable","name":"left","nameLocation":"15688:4:4","nodeType":"VariableDeclaration","scope":2262,"src":"15681:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2245,"name":"int256","nodeType":"ElementaryTypeName","src":"15681:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2248,"mutability":"mutable","name":"right","nameLocation":"15701:5:4","nodeType":"VariableDeclaration","scope":2262,"src":"15694:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2247,"name":"int256","nodeType":"ElementaryTypeName","src":"15694:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"decimals","nameLocation":"15716:8:4","nodeType":"VariableDeclaration","scope":2262,"src":"15708:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2249,"name":"uint256","nodeType":"ElementaryTypeName","src":"15708:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15680:45:4"},"returnParameters":{"id":2252,"nodeType":"ParameterList","parameters":[],"src":"15748:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2283,"nodeType":"FunctionDefinition","src":"15812:174:4","nodes":[],"body":{"id":2282,"nodeType":"Block","src":"15923:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2276,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2264,"src":"15952:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2277,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2266,"src":"15958:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2278,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2268,"src":"15965:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2279,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2270,"src":"15975:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2273,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15933:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15936:15:4","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":16439,"src":"15933:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15933:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2281,"nodeType":"ExpressionStatement","src":"15933:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"15821:15:4","parameters":{"id":2271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2264,"mutability":"mutable","name":"left","nameLocation":"15844:4:4","nodeType":"VariableDeclaration","scope":2283,"src":"15837:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2263,"name":"int256","nodeType":"ElementaryTypeName","src":"15837:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2266,"mutability":"mutable","name":"right","nameLocation":"15857:5:4","nodeType":"VariableDeclaration","scope":2283,"src":"15850:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2265,"name":"int256","nodeType":"ElementaryTypeName","src":"15850:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2268,"mutability":"mutable","name":"decimals","nameLocation":"15872:8:4","nodeType":"VariableDeclaration","scope":2283,"src":"15864:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2267,"name":"uint256","nodeType":"ElementaryTypeName","src":"15864:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2270,"mutability":"mutable","name":"err","nameLocation":"15896:3:4","nodeType":"VariableDeclaration","scope":2283,"src":"15882:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2269,"name":"string","nodeType":"ElementaryTypeName","src":"15882:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15836:64:4"},"returnParameters":{"id":2272,"nodeType":"ParameterList","parameters":[],"src":"15923:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2303,"nodeType":"FunctionDefinition","src":"15992:152:4","nodes":[],"body":{"id":2302,"nodeType":"Block","src":"16061:83:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2290,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2285,"src":"16075:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2291,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2287,"src":"16082:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16075:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2301,"nodeType":"IfStatement","src":"16071:67:4","trueBody":{"id":2300,"nodeType":"Block","src":"16089:49:4","statements":[{"expression":{"arguments":[{"id":2296,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2285,"src":"16115:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2297,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2287,"src":"16121:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2293,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16103:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16106:8:4","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":16527,"src":"16103:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16103:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2299,"nodeType":"ExpressionStatement","src":"16103:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16001:8:4","parameters":{"id":2288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2285,"mutability":"mutable","name":"left","nameLocation":"16018:4:4","nodeType":"VariableDeclaration","scope":2303,"src":"16010:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2284,"name":"uint256","nodeType":"ElementaryTypeName","src":"16010:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2287,"mutability":"mutable","name":"right","nameLocation":"16032:5:4","nodeType":"VariableDeclaration","scope":2303,"src":"16024:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2286,"name":"uint256","nodeType":"ElementaryTypeName","src":"16024:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16009:29:4"},"returnParameters":{"id":2289,"nodeType":"ParameterList","parameters":[],"src":"16061:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2326,"nodeType":"FunctionDefinition","src":"16150:176:4","nodes":[],"body":{"id":2325,"nodeType":"Block","src":"16238:88:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2312,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2305,"src":"16252:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2313,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2307,"src":"16259:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16252:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2324,"nodeType":"IfStatement","src":"16248:72:4","trueBody":{"id":2323,"nodeType":"Block","src":"16266:54:4","statements":[{"expression":{"arguments":[{"id":2318,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2305,"src":"16292:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2319,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2307,"src":"16298:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2320,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2309,"src":"16305:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2315,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16280:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16283:8:4","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":16537,"src":"16280:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16280:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2322,"nodeType":"ExpressionStatement","src":"16280:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16159:8:4","parameters":{"id":2310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2305,"mutability":"mutable","name":"left","nameLocation":"16176:4:4","nodeType":"VariableDeclaration","scope":2326,"src":"16168:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2304,"name":"uint256","nodeType":"ElementaryTypeName","src":"16168:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2307,"mutability":"mutable","name":"right","nameLocation":"16190:5:4","nodeType":"VariableDeclaration","scope":2326,"src":"16182:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2306,"name":"uint256","nodeType":"ElementaryTypeName","src":"16182:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"err","nameLocation":"16211:3:4","nodeType":"VariableDeclaration","scope":2326,"src":"16197:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2308,"name":"string","nodeType":"ElementaryTypeName","src":"16197:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16167:48:4"},"returnParameters":{"id":2311,"nodeType":"ParameterList","parameters":[],"src":"16238:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2344,"nodeType":"FunctionDefinition","src":"16332:152:4","nodes":[],"body":{"id":2343,"nodeType":"Block","src":"16426:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2338,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2328,"src":"16455:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2339,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2330,"src":"16461:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2340,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2332,"src":"16468:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2335,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16436:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16439:15:4","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":16485,"src":"16436:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16436:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2342,"nodeType":"ExpressionStatement","src":"16436:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"16341:15:4","parameters":{"id":2333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2328,"mutability":"mutable","name":"left","nameLocation":"16365:4:4","nodeType":"VariableDeclaration","scope":2344,"src":"16357:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2327,"name":"uint256","nodeType":"ElementaryTypeName","src":"16357:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2330,"mutability":"mutable","name":"right","nameLocation":"16379:5:4","nodeType":"VariableDeclaration","scope":2344,"src":"16371:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2329,"name":"uint256","nodeType":"ElementaryTypeName","src":"16371:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2332,"mutability":"mutable","name":"decimals","nameLocation":"16394:8:4","nodeType":"VariableDeclaration","scope":2344,"src":"16386:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2331,"name":"uint256","nodeType":"ElementaryTypeName","src":"16386:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16356:47:4"},"returnParameters":{"id":2334,"nodeType":"ParameterList","parameters":[],"src":"16426:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2365,"nodeType":"FunctionDefinition","src":"16490:176:4","nodes":[],"body":{"id":2364,"nodeType":"Block","src":"16603:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2358,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2346,"src":"16632:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2359,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2348,"src":"16638:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2360,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"16645:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2361,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"16655:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2355,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16613:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16616:15:4","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":16497,"src":"16613:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16613:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2363,"nodeType":"ExpressionStatement","src":"16613:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"16499:15:4","parameters":{"id":2353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2346,"mutability":"mutable","name":"left","nameLocation":"16523:4:4","nodeType":"VariableDeclaration","scope":2365,"src":"16515:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2345,"name":"uint256","nodeType":"ElementaryTypeName","src":"16515:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2348,"mutability":"mutable","name":"right","nameLocation":"16537:5:4","nodeType":"VariableDeclaration","scope":2365,"src":"16529:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2347,"name":"uint256","nodeType":"ElementaryTypeName","src":"16529:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2350,"mutability":"mutable","name":"decimals","nameLocation":"16552:8:4","nodeType":"VariableDeclaration","scope":2365,"src":"16544:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2349,"name":"uint256","nodeType":"ElementaryTypeName","src":"16544:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2352,"mutability":"mutable","name":"err","nameLocation":"16576:3:4","nodeType":"VariableDeclaration","scope":2365,"src":"16562:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2351,"name":"string","nodeType":"ElementaryTypeName","src":"16562:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16514:66:4"},"returnParameters":{"id":2354,"nodeType":"ParameterList","parameters":[],"src":"16603:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2385,"nodeType":"FunctionDefinition","src":"16672:150:4","nodes":[],"body":{"id":2384,"nodeType":"Block","src":"16739:83:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2372,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2367,"src":"16753:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2373,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2369,"src":"16760:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"16753:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2383,"nodeType":"IfStatement","src":"16749:67:4","trueBody":{"id":2382,"nodeType":"Block","src":"16767:49:4","statements":[{"expression":{"arguments":[{"id":2378,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2367,"src":"16793:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2379,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2369,"src":"16799:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2375,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16781:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16784:8:4","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":16545,"src":"16781:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16781:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2381,"nodeType":"ExpressionStatement","src":"16781:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16681:8:4","parameters":{"id":2370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2367,"mutability":"mutable","name":"left","nameLocation":"16697:4:4","nodeType":"VariableDeclaration","scope":2385,"src":"16690:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2366,"name":"int256","nodeType":"ElementaryTypeName","src":"16690:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2369,"mutability":"mutable","name":"right","nameLocation":"16710:5:4","nodeType":"VariableDeclaration","scope":2385,"src":"16703:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2368,"name":"int256","nodeType":"ElementaryTypeName","src":"16703:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"16689:27:4"},"returnParameters":{"id":2371,"nodeType":"ParameterList","parameters":[],"src":"16739:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2408,"nodeType":"FunctionDefinition","src":"16828:174:4","nodes":[],"body":{"id":2407,"nodeType":"Block","src":"16914:88:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2394,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2387,"src":"16928:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2395,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2389,"src":"16935:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"16928:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2406,"nodeType":"IfStatement","src":"16924:72:4","trueBody":{"id":2405,"nodeType":"Block","src":"16942:54:4","statements":[{"expression":{"arguments":[{"id":2400,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2387,"src":"16968:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2401,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2389,"src":"16974:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2402,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2391,"src":"16981:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2397,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16956:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16959:8:4","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":16555,"src":"16956:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16956:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2404,"nodeType":"ExpressionStatement","src":"16956:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16837:8:4","parameters":{"id":2392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2387,"mutability":"mutable","name":"left","nameLocation":"16853:4:4","nodeType":"VariableDeclaration","scope":2408,"src":"16846:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2386,"name":"int256","nodeType":"ElementaryTypeName","src":"16846:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2389,"mutability":"mutable","name":"right","nameLocation":"16866:5:4","nodeType":"VariableDeclaration","scope":2408,"src":"16859:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2388,"name":"int256","nodeType":"ElementaryTypeName","src":"16859:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2391,"mutability":"mutable","name":"err","nameLocation":"16887:3:4","nodeType":"VariableDeclaration","scope":2408,"src":"16873:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2390,"name":"string","nodeType":"ElementaryTypeName","src":"16873:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16845:46:4"},"returnParameters":{"id":2393,"nodeType":"ParameterList","parameters":[],"src":"16914:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2426,"nodeType":"FunctionDefinition","src":"17008:150:4","nodes":[],"body":{"id":2425,"nodeType":"Block","src":"17100:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2420,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2410,"src":"17129:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2421,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2412,"src":"17135:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2422,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2414,"src":"17142:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2417,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17110:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17113:15:4","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":16507,"src":"17110:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17110:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2424,"nodeType":"ExpressionStatement","src":"17110:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"17017:15:4","parameters":{"id":2415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2410,"mutability":"mutable","name":"left","nameLocation":"17040:4:4","nodeType":"VariableDeclaration","scope":2426,"src":"17033:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2409,"name":"int256","nodeType":"ElementaryTypeName","src":"17033:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2412,"mutability":"mutable","name":"right","nameLocation":"17053:5:4","nodeType":"VariableDeclaration","scope":2426,"src":"17046:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2411,"name":"int256","nodeType":"ElementaryTypeName","src":"17046:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2414,"mutability":"mutable","name":"decimals","nameLocation":"17068:8:4","nodeType":"VariableDeclaration","scope":2426,"src":"17060:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2413,"name":"uint256","nodeType":"ElementaryTypeName","src":"17060:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17032:45:4"},"returnParameters":{"id":2416,"nodeType":"ParameterList","parameters":[],"src":"17100:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2447,"nodeType":"FunctionDefinition","src":"17164:174:4","nodes":[],"body":{"id":2446,"nodeType":"Block","src":"17275:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2440,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2428,"src":"17304:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2441,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2430,"src":"17310:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2442,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2432,"src":"17317:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2443,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2434,"src":"17327:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2437,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17285:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17288:15:4","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":16519,"src":"17285:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17285:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2445,"nodeType":"ExpressionStatement","src":"17285:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"17173:15:4","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"left","nameLocation":"17196:4:4","nodeType":"VariableDeclaration","scope":2447,"src":"17189:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2427,"name":"int256","nodeType":"ElementaryTypeName","src":"17189:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2430,"mutability":"mutable","name":"right","nameLocation":"17209:5:4","nodeType":"VariableDeclaration","scope":2447,"src":"17202:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2429,"name":"int256","nodeType":"ElementaryTypeName","src":"17202:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2432,"mutability":"mutable","name":"decimals","nameLocation":"17224:8:4","nodeType":"VariableDeclaration","scope":2447,"src":"17216:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2431,"name":"uint256","nodeType":"ElementaryTypeName","src":"17216:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2434,"mutability":"mutable","name":"err","nameLocation":"17248:3:4","nodeType":"VariableDeclaration","scope":2447,"src":"17234:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2433,"name":"string","nodeType":"ElementaryTypeName","src":"17234:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17188:64:4"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"17275:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2467,"nodeType":"FunctionDefinition","src":"17344:152:4","nodes":[],"body":{"id":2466,"nodeType":"Block","src":"17413:83:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2454,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"17427:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2455,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"17434:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17427:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2465,"nodeType":"IfStatement","src":"17423:67:4","trueBody":{"id":2464,"nodeType":"Block","src":"17441:49:4","statements":[{"expression":{"arguments":[{"id":2460,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"17467:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2461,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"17473:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2457,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17455:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17458:8:4","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":16367,"src":"17455:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2463,"nodeType":"ExpressionStatement","src":"17455:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"17353:8:4","parameters":{"id":2452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2449,"mutability":"mutable","name":"left","nameLocation":"17370:4:4","nodeType":"VariableDeclaration","scope":2467,"src":"17362:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2448,"name":"uint256","nodeType":"ElementaryTypeName","src":"17362:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2451,"mutability":"mutable","name":"right","nameLocation":"17384:5:4","nodeType":"VariableDeclaration","scope":2467,"src":"17376:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17376:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17361:29:4"},"returnParameters":{"id":2453,"nodeType":"ParameterList","parameters":[],"src":"17413:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2490,"nodeType":"FunctionDefinition","src":"17502:176:4","nodes":[],"body":{"id":2489,"nodeType":"Block","src":"17590:88:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2476,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2469,"src":"17604:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2477,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2471,"src":"17611:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17604:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2488,"nodeType":"IfStatement","src":"17600:72:4","trueBody":{"id":2487,"nodeType":"Block","src":"17618:54:4","statements":[{"expression":{"arguments":[{"id":2482,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2469,"src":"17644:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2483,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2471,"src":"17650:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2484,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2473,"src":"17657:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2479,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17632:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17635:8:4","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":16377,"src":"17632:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17632:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2486,"nodeType":"ExpressionStatement","src":"17632:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"17511:8:4","parameters":{"id":2474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2469,"mutability":"mutable","name":"left","nameLocation":"17528:4:4","nodeType":"VariableDeclaration","scope":2490,"src":"17520:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2468,"name":"uint256","nodeType":"ElementaryTypeName","src":"17520:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2471,"mutability":"mutable","name":"right","nameLocation":"17542:5:4","nodeType":"VariableDeclaration","scope":2490,"src":"17534:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2470,"name":"uint256","nodeType":"ElementaryTypeName","src":"17534:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2473,"mutability":"mutable","name":"err","nameLocation":"17563:3:4","nodeType":"VariableDeclaration","scope":2490,"src":"17549:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2472,"name":"string","nodeType":"ElementaryTypeName","src":"17549:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17519:48:4"},"returnParameters":{"id":2475,"nodeType":"ParameterList","parameters":[],"src":"17590:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2508,"nodeType":"FunctionDefinition","src":"17684:152:4","nodes":[],"body":{"id":2507,"nodeType":"Block","src":"17778:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2502,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2492,"src":"17807:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2503,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2494,"src":"17813:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2504,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2496,"src":"17820:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2499,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17788:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17791:15:4","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":16325,"src":"17788:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17788:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2506,"nodeType":"ExpressionStatement","src":"17788:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"17693:15:4","parameters":{"id":2497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2492,"mutability":"mutable","name":"left","nameLocation":"17717:4:4","nodeType":"VariableDeclaration","scope":2508,"src":"17709:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2491,"name":"uint256","nodeType":"ElementaryTypeName","src":"17709:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2494,"mutability":"mutable","name":"right","nameLocation":"17731:5:4","nodeType":"VariableDeclaration","scope":2508,"src":"17723:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2493,"name":"uint256","nodeType":"ElementaryTypeName","src":"17723:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2496,"mutability":"mutable","name":"decimals","nameLocation":"17746:8:4","nodeType":"VariableDeclaration","scope":2508,"src":"17738:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2495,"name":"uint256","nodeType":"ElementaryTypeName","src":"17738:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17708:47:4"},"returnParameters":{"id":2498,"nodeType":"ParameterList","parameters":[],"src":"17778:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2529,"nodeType":"FunctionDefinition","src":"17842:176:4","nodes":[],"body":{"id":2528,"nodeType":"Block","src":"17955:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2522,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2510,"src":"17984:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2523,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2512,"src":"17990:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2524,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2514,"src":"17997:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2525,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2516,"src":"18007:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2519,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17965:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17968:15:4","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":16337,"src":"17965:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17965:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2527,"nodeType":"ExpressionStatement","src":"17965:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"17851:15:4","parameters":{"id":2517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2510,"mutability":"mutable","name":"left","nameLocation":"17875:4:4","nodeType":"VariableDeclaration","scope":2529,"src":"17867:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2509,"name":"uint256","nodeType":"ElementaryTypeName","src":"17867:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2512,"mutability":"mutable","name":"right","nameLocation":"17889:5:4","nodeType":"VariableDeclaration","scope":2529,"src":"17881:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2511,"name":"uint256","nodeType":"ElementaryTypeName","src":"17881:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2514,"mutability":"mutable","name":"decimals","nameLocation":"17904:8:4","nodeType":"VariableDeclaration","scope":2529,"src":"17896:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2513,"name":"uint256","nodeType":"ElementaryTypeName","src":"17896:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2516,"mutability":"mutable","name":"err","nameLocation":"17928:3:4","nodeType":"VariableDeclaration","scope":2529,"src":"17914:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2515,"name":"string","nodeType":"ElementaryTypeName","src":"17914:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17866:66:4"},"returnParameters":{"id":2518,"nodeType":"ParameterList","parameters":[],"src":"17955:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2549,"nodeType":"FunctionDefinition","src":"18024:150:4","nodes":[],"body":{"id":2548,"nodeType":"Block","src":"18091:83:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2536,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2531,"src":"18105:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2537,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2533,"src":"18112:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18105:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2547,"nodeType":"IfStatement","src":"18101:67:4","trueBody":{"id":2546,"nodeType":"Block","src":"18119:49:4","statements":[{"expression":{"arguments":[{"id":2542,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2531,"src":"18145:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2543,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2533,"src":"18151:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18133:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18136:8:4","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":16385,"src":"18133:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18133:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2545,"nodeType":"ExpressionStatement","src":"18133:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"18033:8:4","parameters":{"id":2534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2531,"mutability":"mutable","name":"left","nameLocation":"18049:4:4","nodeType":"VariableDeclaration","scope":2549,"src":"18042:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2530,"name":"int256","nodeType":"ElementaryTypeName","src":"18042:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2533,"mutability":"mutable","name":"right","nameLocation":"18062:5:4","nodeType":"VariableDeclaration","scope":2549,"src":"18055:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2532,"name":"int256","nodeType":"ElementaryTypeName","src":"18055:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18041:27:4"},"returnParameters":{"id":2535,"nodeType":"ParameterList","parameters":[],"src":"18091:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2572,"nodeType":"FunctionDefinition","src":"18180:174:4","nodes":[],"body":{"id":2571,"nodeType":"Block","src":"18266:88:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2558,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2551,"src":"18280:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2559,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2553,"src":"18287:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18280:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2570,"nodeType":"IfStatement","src":"18276:72:4","trueBody":{"id":2569,"nodeType":"Block","src":"18294:54:4","statements":[{"expression":{"arguments":[{"id":2564,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2551,"src":"18320:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2565,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2553,"src":"18326:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2566,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2555,"src":"18333:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2561,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18308:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18311:8:4","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":16395,"src":"18308:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18308:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2568,"nodeType":"ExpressionStatement","src":"18308:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"18189:8:4","parameters":{"id":2556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"left","nameLocation":"18205:4:4","nodeType":"VariableDeclaration","scope":2572,"src":"18198:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2550,"name":"int256","nodeType":"ElementaryTypeName","src":"18198:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2553,"mutability":"mutable","name":"right","nameLocation":"18218:5:4","nodeType":"VariableDeclaration","scope":2572,"src":"18211:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2552,"name":"int256","nodeType":"ElementaryTypeName","src":"18211:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2555,"mutability":"mutable","name":"err","nameLocation":"18239:3:4","nodeType":"VariableDeclaration","scope":2572,"src":"18225:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2554,"name":"string","nodeType":"ElementaryTypeName","src":"18225:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18197:46:4"},"returnParameters":{"id":2557,"nodeType":"ParameterList","parameters":[],"src":"18266:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2590,"nodeType":"FunctionDefinition","src":"18360:150:4","nodes":[],"body":{"id":2589,"nodeType":"Block","src":"18452:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2584,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2574,"src":"18481:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2585,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2576,"src":"18487:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2586,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2578,"src":"18494:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2581,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18462:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18465:15:4","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":16347,"src":"18462:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18462:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2588,"nodeType":"ExpressionStatement","src":"18462:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"18369:15:4","parameters":{"id":2579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2574,"mutability":"mutable","name":"left","nameLocation":"18392:4:4","nodeType":"VariableDeclaration","scope":2590,"src":"18385:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2573,"name":"int256","nodeType":"ElementaryTypeName","src":"18385:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2576,"mutability":"mutable","name":"right","nameLocation":"18405:5:4","nodeType":"VariableDeclaration","scope":2590,"src":"18398:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2575,"name":"int256","nodeType":"ElementaryTypeName","src":"18398:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2578,"mutability":"mutable","name":"decimals","nameLocation":"18420:8:4","nodeType":"VariableDeclaration","scope":2590,"src":"18412:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2577,"name":"uint256","nodeType":"ElementaryTypeName","src":"18412:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18384:45:4"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[],"src":"18452:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2611,"nodeType":"FunctionDefinition","src":"18516:174:4","nodes":[],"body":{"id":2610,"nodeType":"Block","src":"18627:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2604,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2592,"src":"18656:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2605,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2594,"src":"18662:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2606,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2596,"src":"18669:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2607,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2598,"src":"18679:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2601,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18637:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18640:15:4","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":16359,"src":"18637:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18637:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2609,"nodeType":"ExpressionStatement","src":"18637:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"18525:15:4","parameters":{"id":2599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"left","nameLocation":"18548:4:4","nodeType":"VariableDeclaration","scope":2611,"src":"18541:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2591,"name":"int256","nodeType":"ElementaryTypeName","src":"18541:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2594,"mutability":"mutable","name":"right","nameLocation":"18561:5:4","nodeType":"VariableDeclaration","scope":2611,"src":"18554:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2593,"name":"int256","nodeType":"ElementaryTypeName","src":"18554:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2596,"mutability":"mutable","name":"decimals","nameLocation":"18576:8:4","nodeType":"VariableDeclaration","scope":2611,"src":"18568:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2595,"name":"uint256","nodeType":"ElementaryTypeName","src":"18568:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2598,"mutability":"mutable","name":"err","nameLocation":"18600:3:4","nodeType":"VariableDeclaration","scope":2611,"src":"18586:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2597,"name":"string","nodeType":"ElementaryTypeName","src":"18586:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18540:64:4"},"returnParameters":{"id":2600,"nodeType":"ParameterList","parameters":[],"src":"18627:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2629,"nodeType":"FunctionDefinition","src":"18696:156:4","nodes":[],"body":{"id":2628,"nodeType":"Block","src":"18792:60:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2623,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2613,"src":"18823:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2624,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2615,"src":"18829:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2625,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2617,"src":"18836:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2620,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18802:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18805:17:4","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15847,"src":"18802:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18802:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2627,"nodeType":"ExpressionStatement","src":"18802:43:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"18705:17:4","parameters":{"id":2618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2613,"mutability":"mutable","name":"left","nameLocation":"18731:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"18723:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2612,"name":"uint256","nodeType":"ElementaryTypeName","src":"18723:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2615,"mutability":"mutable","name":"right","nameLocation":"18745:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"18737:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2614,"name":"uint256","nodeType":"ElementaryTypeName","src":"18737:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2617,"mutability":"mutable","name":"maxDelta","nameLocation":"18760:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"18752:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2616,"name":"uint256","nodeType":"ElementaryTypeName","src":"18752:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18722:47:4"},"returnParameters":{"id":2619,"nodeType":"ParameterList","parameters":[],"src":"18792:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2650,"nodeType":"FunctionDefinition","src":"18858:208:4","nodes":[],"body":{"id":2649,"nodeType":"Block","src":"19001:65:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2643,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"19032:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2644,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2633,"src":"19038:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2645,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2635,"src":"19045:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2646,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2637,"src":"19055:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2640,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19011:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19014:17:4","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15859,"src":"19011:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19011:48:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2648,"nodeType":"ExpressionStatement","src":"19011:48:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"18867:17:4","parameters":{"id":2638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2631,"mutability":"mutable","name":"left","nameLocation":"18893:4:4","nodeType":"VariableDeclaration","scope":2650,"src":"18885:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2630,"name":"uint256","nodeType":"ElementaryTypeName","src":"18885:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2633,"mutability":"mutable","name":"right","nameLocation":"18907:5:4","nodeType":"VariableDeclaration","scope":2650,"src":"18899:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2632,"name":"uint256","nodeType":"ElementaryTypeName","src":"18899:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2635,"mutability":"mutable","name":"maxDelta","nameLocation":"18922:8:4","nodeType":"VariableDeclaration","scope":2650,"src":"18914:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2634,"name":"uint256","nodeType":"ElementaryTypeName","src":"18914:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2637,"mutability":"mutable","name":"err","nameLocation":"18946:3:4","nodeType":"VariableDeclaration","scope":2650,"src":"18932:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2636,"name":"string","nodeType":"ElementaryTypeName","src":"18932:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18884:66:4"},"returnParameters":{"id":2639,"nodeType":"ParameterList","parameters":[],"src":"19001:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2671,"nodeType":"FunctionDefinition","src":"19072:226:4","nodes":[],"body":{"id":2670,"nodeType":"Block","src":"19221:77:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2664,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2652,"src":"19259:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2665,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"19265:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2666,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2656,"src":"19272:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2667,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2658,"src":"19282:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2661,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19231:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19234:24:4","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15797,"src":"19231:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19231:60:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2669,"nodeType":"ExpressionStatement","src":"19231:60:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"19081:24:4","parameters":{"id":2659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2652,"mutability":"mutable","name":"left","nameLocation":"19114:4:4","nodeType":"VariableDeclaration","scope":2671,"src":"19106:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2651,"name":"uint256","nodeType":"ElementaryTypeName","src":"19106:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2654,"mutability":"mutable","name":"right","nameLocation":"19128:5:4","nodeType":"VariableDeclaration","scope":2671,"src":"19120:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2653,"name":"uint256","nodeType":"ElementaryTypeName","src":"19120:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2656,"mutability":"mutable","name":"maxDelta","nameLocation":"19143:8:4","nodeType":"VariableDeclaration","scope":2671,"src":"19135:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2655,"name":"uint256","nodeType":"ElementaryTypeName","src":"19135:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2658,"mutability":"mutable","name":"decimals","nameLocation":"19161:8:4","nodeType":"VariableDeclaration","scope":2671,"src":"19153:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2657,"name":"uint256","nodeType":"ElementaryTypeName","src":"19153:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19105:65:4"},"returnParameters":{"id":2660,"nodeType":"ParameterList","parameters":[],"src":"19221:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2695,"nodeType":"FunctionDefinition","src":"19304:268:4","nodes":[],"body":{"id":2694,"nodeType":"Block","src":"19490:82:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2687,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2673,"src":"19528:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2688,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2675,"src":"19534:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2689,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2677,"src":"19541:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2690,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2679,"src":"19551:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2691,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2681,"src":"19561:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2684,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19500:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19503:24:4","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15811,"src":"19500:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,string memory) pure external"}},"id":2692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19500:65:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2693,"nodeType":"ExpressionStatement","src":"19500:65:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"19313:24:4","parameters":{"id":2682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2673,"mutability":"mutable","name":"left","nameLocation":"19355:4:4","nodeType":"VariableDeclaration","scope":2695,"src":"19347:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2672,"name":"uint256","nodeType":"ElementaryTypeName","src":"19347:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2675,"mutability":"mutable","name":"right","nameLocation":"19377:5:4","nodeType":"VariableDeclaration","scope":2695,"src":"19369:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2674,"name":"uint256","nodeType":"ElementaryTypeName","src":"19369:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2677,"mutability":"mutable","name":"maxDelta","nameLocation":"19400:8:4","nodeType":"VariableDeclaration","scope":2695,"src":"19392:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2676,"name":"uint256","nodeType":"ElementaryTypeName","src":"19392:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2679,"mutability":"mutable","name":"decimals","nameLocation":"19426:8:4","nodeType":"VariableDeclaration","scope":2695,"src":"19418:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2678,"name":"uint256","nodeType":"ElementaryTypeName","src":"19418:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2681,"mutability":"mutable","name":"err","nameLocation":"19458:3:4","nodeType":"VariableDeclaration","scope":2695,"src":"19444:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2680,"name":"string","nodeType":"ElementaryTypeName","src":"19444:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19337:130:4"},"returnParameters":{"id":2683,"nodeType":"ParameterList","parameters":[],"src":"19490:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2713,"nodeType":"FunctionDefinition","src":"19578:154:4","nodes":[],"body":{"id":2712,"nodeType":"Block","src":"19672:60:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2707,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2697,"src":"19703:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2708,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2699,"src":"19709:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2709,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2701,"src":"19716:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19682:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19685:17:4","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15869,"src":"19682:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19682:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2711,"nodeType":"ExpressionStatement","src":"19682:43:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"19587:17:4","parameters":{"id":2702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"left","nameLocation":"19612:4:4","nodeType":"VariableDeclaration","scope":2713,"src":"19605:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2696,"name":"int256","nodeType":"ElementaryTypeName","src":"19605:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"right","nameLocation":"19625:5:4","nodeType":"VariableDeclaration","scope":2713,"src":"19618:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2698,"name":"int256","nodeType":"ElementaryTypeName","src":"19618:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2701,"mutability":"mutable","name":"maxDelta","nameLocation":"19640:8:4","nodeType":"VariableDeclaration","scope":2713,"src":"19632:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2700,"name":"uint256","nodeType":"ElementaryTypeName","src":"19632:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19604:45:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[],"src":"19672:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2734,"nodeType":"FunctionDefinition","src":"19738:178:4","nodes":[],"body":{"id":2733,"nodeType":"Block","src":"19851:65:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2727,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2715,"src":"19882:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2728,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2717,"src":"19888:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2729,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2719,"src":"19895:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2730,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2721,"src":"19905:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2724,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19861:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19864:17:4","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15881,"src":"19861:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19861:48:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2732,"nodeType":"ExpressionStatement","src":"19861:48:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"19747:17:4","parameters":{"id":2722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2715,"mutability":"mutable","name":"left","nameLocation":"19772:4:4","nodeType":"VariableDeclaration","scope":2734,"src":"19765:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2714,"name":"int256","nodeType":"ElementaryTypeName","src":"19765:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2717,"mutability":"mutable","name":"right","nameLocation":"19785:5:4","nodeType":"VariableDeclaration","scope":2734,"src":"19778:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2716,"name":"int256","nodeType":"ElementaryTypeName","src":"19778:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"maxDelta","nameLocation":"19800:8:4","nodeType":"VariableDeclaration","scope":2734,"src":"19792:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2718,"name":"uint256","nodeType":"ElementaryTypeName","src":"19792:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2721,"mutability":"mutable","name":"err","nameLocation":"19824:3:4","nodeType":"VariableDeclaration","scope":2734,"src":"19810:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2720,"name":"string","nodeType":"ElementaryTypeName","src":"19810:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19764:64:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[],"src":"19851:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2755,"nodeType":"FunctionDefinition","src":"19922:224:4","nodes":[],"body":{"id":2754,"nodeType":"Block","src":"20069:77:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2748,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2736,"src":"20107:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2749,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2738,"src":"20113:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2750,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2740,"src":"20120:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2751,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2742,"src":"20130:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2745,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"20079:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20082:24:4","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15823,"src":"20079:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20079:60:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2753,"nodeType":"ExpressionStatement","src":"20079:60:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"19931:24:4","parameters":{"id":2743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2736,"mutability":"mutable","name":"left","nameLocation":"19963:4:4","nodeType":"VariableDeclaration","scope":2755,"src":"19956:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2735,"name":"int256","nodeType":"ElementaryTypeName","src":"19956:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2738,"mutability":"mutable","name":"right","nameLocation":"19976:5:4","nodeType":"VariableDeclaration","scope":2755,"src":"19969:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2737,"name":"int256","nodeType":"ElementaryTypeName","src":"19969:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2740,"mutability":"mutable","name":"maxDelta","nameLocation":"19991:8:4","nodeType":"VariableDeclaration","scope":2755,"src":"19983:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2739,"name":"uint256","nodeType":"ElementaryTypeName","src":"19983:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2742,"mutability":"mutable","name":"decimals","nameLocation":"20009:8:4","nodeType":"VariableDeclaration","scope":2755,"src":"20001:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2741,"name":"uint256","nodeType":"ElementaryTypeName","src":"20001:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19955:63:4"},"returnParameters":{"id":2744,"nodeType":"ParameterList","parameters":[],"src":"20069:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2779,"nodeType":"FunctionDefinition","src":"20152:248:4","nodes":[],"body":{"id":2778,"nodeType":"Block","src":"20318:82:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2771,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"20356:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2772,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2759,"src":"20362:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2773,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2761,"src":"20369:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2774,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2763,"src":"20379:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2775,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2765,"src":"20389:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2768,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"20328:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20331:24:4","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15837,"src":"20328:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,uint256,string memory) pure external"}},"id":2776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20328:65:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2777,"nodeType":"ExpressionStatement","src":"20328:65:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"20161:24:4","parameters":{"id":2766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2757,"mutability":"mutable","name":"left","nameLocation":"20193:4:4","nodeType":"VariableDeclaration","scope":2779,"src":"20186:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2756,"name":"int256","nodeType":"ElementaryTypeName","src":"20186:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2759,"mutability":"mutable","name":"right","nameLocation":"20206:5:4","nodeType":"VariableDeclaration","scope":2779,"src":"20199:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2758,"name":"int256","nodeType":"ElementaryTypeName","src":"20199:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2761,"mutability":"mutable","name":"maxDelta","nameLocation":"20221:8:4","nodeType":"VariableDeclaration","scope":2779,"src":"20213:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2760,"name":"uint256","nodeType":"ElementaryTypeName","src":"20213:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2763,"mutability":"mutable","name":"decimals","nameLocation":"20239:8:4","nodeType":"VariableDeclaration","scope":2779,"src":"20231:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2762,"name":"uint256","nodeType":"ElementaryTypeName","src":"20231:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2765,"mutability":"mutable","name":"err","nameLocation":"20263:3:4","nodeType":"VariableDeclaration","scope":2779,"src":"20249:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2764,"name":"string","nodeType":"ElementaryTypeName","src":"20249:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20185:82:4"},"returnParameters":{"id":2767,"nodeType":"ParameterList","parameters":[],"src":"20318:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2797,"nodeType":"FunctionDefinition","src":"20406:256:4","nodes":[],"body":{"id":2796,"nodeType":"Block","src":"20595:67:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2791,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2781,"src":"20626:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2792,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2783,"src":"20632:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2793,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2785,"src":"20639:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2788,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"20605:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20608:17:4","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15943,"src":"20605:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20605:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2795,"nodeType":"ExpressionStatement","src":"20605:50:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"20415:17:4","parameters":{"id":2786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2781,"mutability":"mutable","name":"left","nameLocation":"20450:4:4","nodeType":"VariableDeclaration","scope":2797,"src":"20442:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2780,"name":"uint256","nodeType":"ElementaryTypeName","src":"20442:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2783,"mutability":"mutable","name":"right","nameLocation":"20472:5:4","nodeType":"VariableDeclaration","scope":2797,"src":"20464:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2782,"name":"uint256","nodeType":"ElementaryTypeName","src":"20464:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2785,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20495:15:4","nodeType":"VariableDeclaration","scope":2797,"src":"20487:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2784,"name":"uint256","nodeType":"ElementaryTypeName","src":"20487:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20432:140:4"},"returnParameters":{"id":2787,"nodeType":"ParameterList","parameters":[],"src":"20595:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2818,"nodeType":"FunctionDefinition","src":"20668:288:4","nodes":[],"body":{"id":2817,"nodeType":"Block","src":"20884:72:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2811,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2799,"src":"20915:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2812,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2801,"src":"20921:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2813,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2803,"src":"20928:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2814,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2805,"src":"20945:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2808,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"20894:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20897:17:4","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15955,"src":"20894:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20894:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2816,"nodeType":"ExpressionStatement","src":"20894:55:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"20677:17:4","parameters":{"id":2806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2799,"mutability":"mutable","name":"left","nameLocation":"20712:4:4","nodeType":"VariableDeclaration","scope":2818,"src":"20704:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2798,"name":"uint256","nodeType":"ElementaryTypeName","src":"20704:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2801,"mutability":"mutable","name":"right","nameLocation":"20734:5:4","nodeType":"VariableDeclaration","scope":2818,"src":"20726:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2800,"name":"uint256","nodeType":"ElementaryTypeName","src":"20726:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2803,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20757:15:4","nodeType":"VariableDeclaration","scope":2818,"src":"20749:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2802,"name":"uint256","nodeType":"ElementaryTypeName","src":"20749:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2805,"mutability":"mutable","name":"err","nameLocation":"20852:3:4","nodeType":"VariableDeclaration","scope":2818,"src":"20838:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2804,"name":"string","nodeType":"ElementaryTypeName","src":"20838:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20694:167:4"},"returnParameters":{"id":2807,"nodeType":"ParameterList","parameters":[],"src":"20884:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2839,"nodeType":"FunctionDefinition","src":"20962:306:4","nodes":[],"body":{"id":2838,"nodeType":"Block","src":"21184:84:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2832,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"21222:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2833,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2822,"src":"21228:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2834,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2824,"src":"21235:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2835,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2826,"src":"21252:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2829,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"21194:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21197:24:4","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15893,"src":"21194:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21194:67:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2837,"nodeType":"ExpressionStatement","src":"21194:67:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20971:24:4","parameters":{"id":2827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2820,"mutability":"mutable","name":"left","nameLocation":"21013:4:4","nodeType":"VariableDeclaration","scope":2839,"src":"21005:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2819,"name":"uint256","nodeType":"ElementaryTypeName","src":"21005:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2822,"mutability":"mutable","name":"right","nameLocation":"21035:5:4","nodeType":"VariableDeclaration","scope":2839,"src":"21027:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2821,"name":"uint256","nodeType":"ElementaryTypeName","src":"21027:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2824,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"21058:15:4","nodeType":"VariableDeclaration","scope":2839,"src":"21050:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2823,"name":"uint256","nodeType":"ElementaryTypeName","src":"21050:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2826,"mutability":"mutable","name":"decimals","nameLocation":"21147:8:4","nodeType":"VariableDeclaration","scope":2839,"src":"21139:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2825,"name":"uint256","nodeType":"ElementaryTypeName","src":"21139:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20995:166:4"},"returnParameters":{"id":2828,"nodeType":"ParameterList","parameters":[],"src":"21184:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2863,"nodeType":"FunctionDefinition","src":"21274:338:4","nodes":[],"body":{"id":2862,"nodeType":"Block","src":"21523:89:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2855,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"21561:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2856,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"21567:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2857,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"21574:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2858,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2847,"src":"21591:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2859,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2849,"src":"21601:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2852,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"21533:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21536:24:4","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15907,"src":"21533:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,string memory) pure external"}},"id":2860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21533:72:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2861,"nodeType":"ExpressionStatement","src":"21533:72:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"21283:24:4","parameters":{"id":2850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2841,"mutability":"mutable","name":"left","nameLocation":"21325:4:4","nodeType":"VariableDeclaration","scope":2863,"src":"21317:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2840,"name":"uint256","nodeType":"ElementaryTypeName","src":"21317:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2843,"mutability":"mutable","name":"right","nameLocation":"21347:5:4","nodeType":"VariableDeclaration","scope":2863,"src":"21339:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2842,"name":"uint256","nodeType":"ElementaryTypeName","src":"21339:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2845,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"21370:15:4","nodeType":"VariableDeclaration","scope":2863,"src":"21362:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2844,"name":"uint256","nodeType":"ElementaryTypeName","src":"21362:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2847,"mutability":"mutable","name":"decimals","nameLocation":"21459:8:4","nodeType":"VariableDeclaration","scope":2863,"src":"21451:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2846,"name":"uint256","nodeType":"ElementaryTypeName","src":"21451:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2849,"mutability":"mutable","name":"err","nameLocation":"21491:3:4","nodeType":"VariableDeclaration","scope":2863,"src":"21477:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2848,"name":"string","nodeType":"ElementaryTypeName","src":"21477:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21307:193:4"},"returnParameters":{"id":2851,"nodeType":"ParameterList","parameters":[],"src":"21523:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2881,"nodeType":"FunctionDefinition","src":"21618:168:4","nodes":[],"body":{"id":2880,"nodeType":"Block","src":"21719:67:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2875,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2865,"src":"21750:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2876,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2867,"src":"21756:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2877,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2869,"src":"21763:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"21729:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21732:17:4","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15965,"src":"21729:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21729:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2879,"nodeType":"ExpressionStatement","src":"21729:50:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"21627:17:4","parameters":{"id":2870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2865,"mutability":"mutable","name":"left","nameLocation":"21652:4:4","nodeType":"VariableDeclaration","scope":2881,"src":"21645:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2864,"name":"int256","nodeType":"ElementaryTypeName","src":"21645:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2867,"mutability":"mutable","name":"right","nameLocation":"21665:5:4","nodeType":"VariableDeclaration","scope":2881,"src":"21658:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2866,"name":"int256","nodeType":"ElementaryTypeName","src":"21658:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2869,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"21680:15:4","nodeType":"VariableDeclaration","scope":2881,"src":"21672:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2868,"name":"uint256","nodeType":"ElementaryTypeName","src":"21672:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21644:52:4"},"returnParameters":{"id":2871,"nodeType":"ParameterList","parameters":[],"src":"21719:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2902,"nodeType":"FunctionDefinition","src":"21792:286:4","nodes":[],"body":{"id":2901,"nodeType":"Block","src":"22006:72:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2895,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2883,"src":"22037:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2896,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2885,"src":"22043:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2897,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2887,"src":"22050:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2898,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2889,"src":"22067:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2892,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"22016:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22019:17:4","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15977,"src":"22016:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22016:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2900,"nodeType":"ExpressionStatement","src":"22016:55:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"21801:17:4","parameters":{"id":2890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2883,"mutability":"mutable","name":"left","nameLocation":"21835:4:4","nodeType":"VariableDeclaration","scope":2902,"src":"21828:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2882,"name":"int256","nodeType":"ElementaryTypeName","src":"21828:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2885,"mutability":"mutable","name":"right","nameLocation":"21856:5:4","nodeType":"VariableDeclaration","scope":2902,"src":"21849:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2884,"name":"int256","nodeType":"ElementaryTypeName","src":"21849:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2887,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"21879:15:4","nodeType":"VariableDeclaration","scope":2902,"src":"21871:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2886,"name":"uint256","nodeType":"ElementaryTypeName","src":"21871:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2889,"mutability":"mutable","name":"err","nameLocation":"21974:3:4","nodeType":"VariableDeclaration","scope":2902,"src":"21960:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2888,"name":"string","nodeType":"ElementaryTypeName","src":"21960:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21818:165:4"},"returnParameters":{"id":2891,"nodeType":"ParameterList","parameters":[],"src":"22006:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2923,"nodeType":"FunctionDefinition","src":"22084:304:4","nodes":[],"body":{"id":2922,"nodeType":"Block","src":"22304:84:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2916,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2904,"src":"22342:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2917,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2906,"src":"22348:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2918,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2908,"src":"22355:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2919,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2910,"src":"22372:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2913,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"22314:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22317:24:4","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15919,"src":"22314:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22314:67:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2921,"nodeType":"ExpressionStatement","src":"22314:67:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"22093:24:4","parameters":{"id":2911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2904,"mutability":"mutable","name":"left","nameLocation":"22134:4:4","nodeType":"VariableDeclaration","scope":2923,"src":"22127:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2903,"name":"int256","nodeType":"ElementaryTypeName","src":"22127:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2906,"mutability":"mutable","name":"right","nameLocation":"22155:5:4","nodeType":"VariableDeclaration","scope":2923,"src":"22148:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2905,"name":"int256","nodeType":"ElementaryTypeName","src":"22148:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2908,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"22178:15:4","nodeType":"VariableDeclaration","scope":2923,"src":"22170:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2907,"name":"uint256","nodeType":"ElementaryTypeName","src":"22170:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2910,"mutability":"mutable","name":"decimals","nameLocation":"22267:8:4","nodeType":"VariableDeclaration","scope":2923,"src":"22259:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2909,"name":"uint256","nodeType":"ElementaryTypeName","src":"22259:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22117:164:4"},"returnParameters":{"id":2912,"nodeType":"ParameterList","parameters":[],"src":"22304:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2947,"nodeType":"FunctionDefinition","src":"22394:336:4","nodes":[],"body":{"id":2946,"nodeType":"Block","src":"22641:89:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2939,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2925,"src":"22679:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2940,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2927,"src":"22685:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2941,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2929,"src":"22692:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2942,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2931,"src":"22709:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2943,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2933,"src":"22719:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2936,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"22651:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22654:24:4","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15933,"src":"22651:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,uint256,string memory) pure external"}},"id":2944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22651:72:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2945,"nodeType":"ExpressionStatement","src":"22651:72:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"22403:24:4","parameters":{"id":2934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2925,"mutability":"mutable","name":"left","nameLocation":"22444:4:4","nodeType":"VariableDeclaration","scope":2947,"src":"22437:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2924,"name":"int256","nodeType":"ElementaryTypeName","src":"22437:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2927,"mutability":"mutable","name":"right","nameLocation":"22465:5:4","nodeType":"VariableDeclaration","scope":2947,"src":"22458:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2926,"name":"int256","nodeType":"ElementaryTypeName","src":"22458:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2929,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"22488:15:4","nodeType":"VariableDeclaration","scope":2947,"src":"22480:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2928,"name":"uint256","nodeType":"ElementaryTypeName","src":"22480:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2931,"mutability":"mutable","name":"decimals","nameLocation":"22577:8:4","nodeType":"VariableDeclaration","scope":2947,"src":"22569:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2930,"name":"uint256","nodeType":"ElementaryTypeName","src":"22569:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2933,"mutability":"mutable","name":"err","nameLocation":"22609:3:4","nodeType":"VariableDeclaration","scope":2947,"src":"22595:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2932,"name":"string","nodeType":"ElementaryTypeName","src":"22595:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22427:191:4"},"returnParameters":{"id":2935,"nodeType":"ParameterList","parameters":[],"src":"22641:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2965,"nodeType":"FunctionDefinition","src":"22812:145:4","nodes":[],"body":{"id":2964,"nodeType":"Block","src":"22898:59:4","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2957,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2949,"src":"22925:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2956,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"22915:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22915:15:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":2960,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2951,"src":"22944:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2959,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"22934:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22934:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"22915:35:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2955,"id":2963,"nodeType":"Return","src":"22908:42:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"22821:8:4","parameters":{"id":2952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2949,"mutability":"mutable","name":"left","nameLocation":"22843:4:4","nodeType":"VariableDeclaration","scope":2965,"src":"22830:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2948,"name":"bytes","nodeType":"ElementaryTypeName","src":"22830:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2951,"mutability":"mutable","name":"right","nameLocation":"22862:5:4","nodeType":"VariableDeclaration","scope":2965,"src":"22849:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2950,"name":"bytes","nodeType":"ElementaryTypeName","src":"22849:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22829:39:4"},"returnParameters":{"id":2955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2954,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2965,"src":"22892:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2953,"name":"bool","nodeType":"ElementaryTypeName","src":"22892:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22891:6:4"},"scope":3194,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2978,"nodeType":"FunctionDefinition","src":"22963:118:4","nodes":[],"body":{"id":2977,"nodeType":"Block","src":"23043:38:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2973,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2967,"src":"23062:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2974,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"23068:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2972,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":1004,"src":"23053:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":2975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23053:21:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2976,"nodeType":"ExpressionStatement","src":"23053:21:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"22972:9:4","parameters":{"id":2970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2967,"mutability":"mutable","name":"left","nameLocation":"22995:4:4","nodeType":"VariableDeclaration","scope":2978,"src":"22982:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2966,"name":"bytes","nodeType":"ElementaryTypeName","src":"22982:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2969,"mutability":"mutable","name":"right","nameLocation":"23014:5:4","nodeType":"VariableDeclaration","scope":2978,"src":"23001:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2968,"name":"bytes","nodeType":"ElementaryTypeName","src":"23001:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22981:39:4"},"returnParameters":{"id":2971,"nodeType":"ParameterList","parameters":[],"src":"23043:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2994,"nodeType":"FunctionDefinition","src":"23087:142:4","nodes":[],"body":{"id":2993,"nodeType":"Block","src":"23186:43:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2988,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2980,"src":"23205:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2989,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2982,"src":"23211:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2990,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2984,"src":"23218:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2987,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":1022,"src":"23196:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":2991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23196:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2992,"nodeType":"ExpressionStatement","src":"23196:26:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"23096:9:4","parameters":{"id":2985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2980,"mutability":"mutable","name":"left","nameLocation":"23119:4:4","nodeType":"VariableDeclaration","scope":2994,"src":"23106:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2979,"name":"bytes","nodeType":"ElementaryTypeName","src":"23106:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2982,"mutability":"mutable","name":"right","nameLocation":"23138:5:4","nodeType":"VariableDeclaration","scope":2994,"src":"23125:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2981,"name":"bytes","nodeType":"ElementaryTypeName","src":"23125:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2984,"mutability":"mutable","name":"err","nameLocation":"23159:3:4","nodeType":"VariableDeclaration","scope":2994,"src":"23145:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2983,"name":"string","nodeType":"ElementaryTypeName","src":"23145:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23105:58:4"},"returnParameters":{"id":2986,"nodeType":"ParameterList","parameters":[],"src":"23186:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3007,"nodeType":"FunctionDefinition","src":"23235:124:4","nodes":[],"body":{"id":3006,"nodeType":"Block","src":"23318:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3002,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2996,"src":"23340:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3003,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2998,"src":"23346:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3001,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[1314,1337,1357,1380,1439,1462,1521,1544,1564,1587,1645,1663,1678,1696,1713,1733,1750,1770,1787,1807,1824,1844,1861,1881,1898,1918,1935,1955],"referencedDeclaration":1678,"src":"23328:11:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":3004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23328:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3005,"nodeType":"ExpressionStatement","src":"23328:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"23244:12:4","parameters":{"id":2999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2996,"mutability":"mutable","name":"left","nameLocation":"23270:4:4","nodeType":"VariableDeclaration","scope":3007,"src":"23257:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2995,"name":"bytes","nodeType":"ElementaryTypeName","src":"23257:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2998,"mutability":"mutable","name":"right","nameLocation":"23289:5:4","nodeType":"VariableDeclaration","scope":3007,"src":"23276:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2997,"name":"bytes","nodeType":"ElementaryTypeName","src":"23276:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23256:39:4"},"returnParameters":{"id":3000,"nodeType":"ParameterList","parameters":[],"src":"23318:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3023,"nodeType":"FunctionDefinition","src":"23365:148:4","nodes":[],"body":{"id":3022,"nodeType":"Block","src":"23467:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3017,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3009,"src":"23489:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3018,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"23495:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3019,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3013,"src":"23502:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3016,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[1314,1337,1357,1380,1439,1462,1521,1544,1564,1587,1645,1663,1678,1696,1713,1733,1750,1770,1787,1807,1824,1844,1861,1881,1898,1918,1935,1955],"referencedDeclaration":1696,"src":"23477:11:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":3020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23477:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3021,"nodeType":"ExpressionStatement","src":"23477:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"23374:12:4","parameters":{"id":3014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3009,"mutability":"mutable","name":"left","nameLocation":"23400:4:4","nodeType":"VariableDeclaration","scope":3023,"src":"23387:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3008,"name":"bytes","nodeType":"ElementaryTypeName","src":"23387:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3011,"mutability":"mutable","name":"right","nameLocation":"23419:5:4","nodeType":"VariableDeclaration","scope":3023,"src":"23406:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3010,"name":"bytes","nodeType":"ElementaryTypeName","src":"23406:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3013,"mutability":"mutable","name":"err","nameLocation":"23440:3:4","nodeType":"VariableDeclaration","scope":3023,"src":"23426:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3012,"name":"string","nodeType":"ElementaryTypeName","src":"23426:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23386:58:4"},"returnParameters":{"id":3015,"nodeType":"ParameterList","parameters":[],"src":"23467:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3041,"nodeType":"FunctionDefinition","src":"23519:176:4","nodes":[],"body":{"id":3040,"nodeType":"Block","src":"23622:73:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3033,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"23645:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3034,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3027,"src":"23653:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3035,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"23664:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3036,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"23672:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23683:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3032,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3041,3061,3081,3193],"referencedDeclaration":3193,"src":"23632:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":3038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23632:56:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3039,"nodeType":"ExpressionStatement","src":"23632:56:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"23528:12:4","parameters":{"id":3030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3025,"mutability":"mutable","name":"target","nameLocation":"23549:6:4","nodeType":"VariableDeclaration","scope":3041,"src":"23541:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3024,"name":"address","nodeType":"ElementaryTypeName","src":"23541:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3027,"mutability":"mutable","name":"callDataA","nameLocation":"23570:9:4","nodeType":"VariableDeclaration","scope":3041,"src":"23557:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3026,"name":"bytes","nodeType":"ElementaryTypeName","src":"23557:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3029,"mutability":"mutable","name":"callDataB","nameLocation":"23594:9:4","nodeType":"VariableDeclaration","scope":3041,"src":"23581:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3028,"name":"bytes","nodeType":"ElementaryTypeName","src":"23581:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23540:64:4"},"returnParameters":{"id":3031,"nodeType":"ParameterList","parameters":[],"src":"23622:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3061,"nodeType":"FunctionDefinition","src":"23701:216:4","nodes":[],"body":{"id":3060,"nodeType":"Block","src":"23842:75:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3053,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3043,"src":"23865:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3054,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3045,"src":"23874:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3055,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3047,"src":"23885:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3056,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3049,"src":"23894:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23905:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3052,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3041,3061,3081,3193],"referencedDeclaration":3193,"src":"23852:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":3058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23852:58:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3059,"nodeType":"ExpressionStatement","src":"23852:58:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"23710:12:4","parameters":{"id":3050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3043,"mutability":"mutable","name":"targetA","nameLocation":"23731:7:4","nodeType":"VariableDeclaration","scope":3061,"src":"23723:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3042,"name":"address","nodeType":"ElementaryTypeName","src":"23723:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3045,"mutability":"mutable","name":"callDataA","nameLocation":"23753:9:4","nodeType":"VariableDeclaration","scope":3061,"src":"23740:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3044,"name":"bytes","nodeType":"ElementaryTypeName","src":"23740:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3047,"mutability":"mutable","name":"targetB","nameLocation":"23772:7:4","nodeType":"VariableDeclaration","scope":3061,"src":"23764:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3046,"name":"address","nodeType":"ElementaryTypeName","src":"23764:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3049,"mutability":"mutable","name":"callDataB","nameLocation":"23794:9:4","nodeType":"VariableDeclaration","scope":3061,"src":"23781:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3048,"name":"bytes","nodeType":"ElementaryTypeName","src":"23781:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23722:82:4"},"returnParameters":{"id":3051,"nodeType":"ParameterList","parameters":[],"src":"23842:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3081,"nodeType":"FunctionDefinition","src":"23923:231:4","nodes":[],"body":{"id":3080,"nodeType":"Block","src":"24069:85:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3073,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3063,"src":"24092:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3074,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3065,"src":"24100:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3075,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3063,"src":"24111:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3076,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3067,"src":"24119:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3077,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3069,"src":"24130:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3072,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3041,3061,3081,3193],"referencedDeclaration":3193,"src":"24079:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":3078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24079:68:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3079,"nodeType":"ExpressionStatement","src":"24079:68:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"23932:12:4","parameters":{"id":3070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3063,"mutability":"mutable","name":"target","nameLocation":"23953:6:4","nodeType":"VariableDeclaration","scope":3081,"src":"23945:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3062,"name":"address","nodeType":"ElementaryTypeName","src":"23945:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3065,"mutability":"mutable","name":"callDataA","nameLocation":"23974:9:4","nodeType":"VariableDeclaration","scope":3081,"src":"23961:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3064,"name":"bytes","nodeType":"ElementaryTypeName","src":"23961:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3067,"mutability":"mutable","name":"callDataB","nameLocation":"23998:9:4","nodeType":"VariableDeclaration","scope":3081,"src":"23985:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3066,"name":"bytes","nodeType":"ElementaryTypeName","src":"23985:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3069,"mutability":"mutable","name":"strictRevertData","nameLocation":"24014:16:4","nodeType":"VariableDeclaration","scope":3081,"src":"24009:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3068,"name":"bool","nodeType":"ElementaryTypeName","src":"24009:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23944:87:4"},"returnParameters":{"id":3071,"nodeType":"ParameterList","parameters":[],"src":"24069:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3193,"nodeType":"FunctionDefinition","src":"24160:1229:4","nodes":[],"body":{"id":3192,"nodeType":"Block","src":"24350:1039:4","nodes":[],"statements":[{"assignments":[3095,3097],"declarations":[{"constant":false,"id":3095,"mutability":"mutable","name":"successA","nameLocation":"24366:8:4","nodeType":"VariableDeclaration","scope":3192,"src":"24361:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3094,"name":"bool","nodeType":"ElementaryTypeName","src":"24361:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3097,"mutability":"mutable","name":"returnDataA","nameLocation":"24389:11:4","nodeType":"VariableDeclaration","scope":3192,"src":"24376:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3096,"name":"bytes","nodeType":"ElementaryTypeName","src":"24376:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3105,"initialValue":{"arguments":[{"id":3103,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3085,"src":"24426:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3100,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3083,"src":"24412:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24404:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3098,"name":"address","nodeType":"ElementaryTypeName","src":"24404:7:4","typeDescriptions":{}}},"id":3101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24404:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24421:4:4","memberName":"call","nodeType":"MemberAccess","src":"24404:21:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24404:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"24360:76:4"},{"assignments":[3107,3109],"declarations":[{"constant":false,"id":3107,"mutability":"mutable","name":"successB","nameLocation":"24452:8:4","nodeType":"VariableDeclaration","scope":3192,"src":"24447:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3106,"name":"bool","nodeType":"ElementaryTypeName","src":"24447:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3109,"mutability":"mutable","name":"returnDataB","nameLocation":"24475:11:4","nodeType":"VariableDeclaration","scope":3192,"src":"24462:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3108,"name":"bytes","nodeType":"ElementaryTypeName","src":"24462:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3117,"initialValue":{"arguments":[{"id":3115,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"24512:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3112,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3087,"src":"24498:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24490:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3110,"name":"address","nodeType":"ElementaryTypeName","src":"24490:7:4","typeDescriptions":{}}},"id":3113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24507:4:4","memberName":"call","nodeType":"MemberAccess","src":"24490:21:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"24446:76:4"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3118,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"24537:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3119,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"24549:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24537:20:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3128,"nodeType":"IfStatement","src":"24533:120:4","trueBody":{"id":3127,"nodeType":"Block","src":"24559:94:4","statements":[{"expression":{"arguments":[{"id":3122,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"24582:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3123,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3109,"src":"24595:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c2072657475726e206461746120646f6573206e6f74206d61746368","id":3124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24608:33:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3c9e4317c8eebc5635871f467354820a216f046f0a61b2ded371c2d507a555f","typeString":"literal_string \"Call return data does not match\""},"value":"Call return data does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_f3c9e4317c8eebc5635871f467354820a216f046f0a61b2ded371c2d507a555f","typeString":"literal_string \"Call return data does not match\""}],"id":3121,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":1022,"src":"24573:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":3125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24573:69:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3126,"nodeType":"ExpressionStatement","src":"24573:69:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24667:9:4","subExpression":{"id":3129,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"24668:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24680:9:4","subExpression":{"id":3131,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"24681:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24667:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3134,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3091,"src":"24693:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24667:42:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3143,"nodeType":"IfStatement","src":"24663:142:4","trueBody":{"id":3142,"nodeType":"Block","src":"24711:94:4","statements":[{"expression":{"arguments":[{"id":3137,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"24734:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3138,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3109,"src":"24747:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c20726576657274206461746120646f6573206e6f74206d61746368","id":3139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24760:33:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_428332fc36b72ecad0a5d9bab5b9a568a85eeb20fd69ffcfbf4cf91598a0c858","typeString":"literal_string \"Call revert data does not match\""},"value":"Call revert data does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_428332fc36b72ecad0a5d9bab5b9a568a85eeb20fd69ffcfbf4cf91598a0c858","typeString":"literal_string \"Call revert data does not match\""}],"id":3136,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":1022,"src":"24725:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":3140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24725:69:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3141,"nodeType":"ExpressionStatement","src":"24725:69:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24819:9:4","subExpression":{"id":3144,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"24820:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3146,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"24832:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24819:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3167,"nodeType":"IfStatement","src":"24815:279:4","trueBody":{"id":3166,"nodeType":"Block","src":"24842:252:4","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24865:29:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""},"value":"Error: Calls were not equal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""}],"id":3148,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":361,"src":"24861:3:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24861:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3151,"nodeType":"EmitStatement","src":"24856:39:4"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c207265766572742064617461","id":3153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24930:25:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \" Left call revert data\""},"value":" Left call revert data"},{"id":3154,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"24957:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \" Left call revert data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3152,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"24914:15:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24914:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3156,"nodeType":"EmitStatement","src":"24909:60:4"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c2072657475726e2064617461","id":3158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25004:25:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},"value":" Right call return data"},{"id":3159,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3109,"src":"25031:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3157,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"24988:15:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24988:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3161,"nodeType":"EmitStatement","src":"24983:60:4"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":3163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25064:18:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""},"value":"assertion failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""}],"id":3162,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"25057:6:4","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":3164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25057:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3165,"nodeType":"ExpressionStatement","src":"25057:26:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3168,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"25108:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"25120:9:4","subExpression":{"id":3169,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"25121:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25108:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3191,"nodeType":"IfStatement","src":"25104:279:4","trueBody":{"id":3190,"nodeType":"Block","src":"25131:252:4","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25154:29:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""},"value":"Error: Calls were not equal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""}],"id":3172,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":361,"src":"25150:3:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25150:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3175,"nodeType":"EmitStatement","src":"25145:39:4"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c2072657475726e2064617461","id":3177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25219:25:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \" Left call return data\""},"value":" Left call return data"},{"id":3178,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"25246:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \" Left call return data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3176,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"25203:15:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25203:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3180,"nodeType":"EmitStatement","src":"25198:60:4"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c207265766572742064617461","id":3182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25293:25:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},"value":" Right call revert data"},{"id":3183,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3109,"src":"25320:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3181,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"25277:15:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25277:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3185,"nodeType":"EmitStatement","src":"25272:60:4"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":3187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25353:18:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""},"value":"assertion failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""}],"id":3186,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"25346:6:4","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":3188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25346:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3189,"nodeType":"ExpressionStatement","src":"25346:26:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"24169:12:4","parameters":{"id":3092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3083,"mutability":"mutable","name":"targetA","nameLocation":"24199:7:4","nodeType":"VariableDeclaration","scope":3193,"src":"24191:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3082,"name":"address","nodeType":"ElementaryTypeName","src":"24191:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3085,"mutability":"mutable","name":"callDataA","nameLocation":"24229:9:4","nodeType":"VariableDeclaration","scope":3193,"src":"24216:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3084,"name":"bytes","nodeType":"ElementaryTypeName","src":"24216:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3087,"mutability":"mutable","name":"targetB","nameLocation":"24256:7:4","nodeType":"VariableDeclaration","scope":3193,"src":"24248:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3086,"name":"address","nodeType":"ElementaryTypeName","src":"24248:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3089,"mutability":"mutable","name":"callDataB","nameLocation":"24286:9:4","nodeType":"VariableDeclaration","scope":3193,"src":"24273:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3088,"name":"bytes","nodeType":"ElementaryTypeName","src":"24273:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3091,"mutability":"mutable","name":"strictRevertData","nameLocation":"24310:16:4","nodeType":"VariableDeclaration","scope":3193,"src":"24305:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3090,"name":"bool","nodeType":"ElementaryTypeName","src":"24305:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24181:151:4"},"returnParameters":{"id":3093,"nodeType":"ParameterList","parameters":[],"src":"24350:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"StdAssertions","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[3194],"name":"StdAssertions","nameLocation":"147:13:4","scope":3195,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477]}],"license":"MIT"}},"lib/forge-std/src/StdChains.sol":{"id":5,"ast":{"absolutePath":"lib/forge-std/src/StdChains.sol","id":4158,"exportedSymbols":{"StdChains":[4157],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"32:14234:5","nodes":[{"id":3196,"nodeType":"PragmaDirective","src":"32:31:5","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3197,"nodeType":"PragmaDirective","src":"64:33:5","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":3199,"nodeType":"ImportDirective","src":"99:32:5","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":4158,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":3198,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"107:6:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4157,"nodeType":"ContractDefinition","src":"1933:12332:5","nodes":[{"id":3217,"nodeType":"VariableDeclaration","src":"1967:92:5","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1991:2:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":3202,"nodeType":"UserDefinedTypeName","pathNode":{"id":3201,"name":"VmSafe","nameLocations":["1967:6:5"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"1967:6:5"},"referencedDeclaration":17608,"src":"1967:6:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":3211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2037:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":3210,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2027:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2027:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2019:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3208,"name":"uint256","nodeType":"ElementaryTypeName","src":"2019:7:5","typeDescriptions":{}}},"id":3213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2019:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2011:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":3206,"name":"uint160","nodeType":"ElementaryTypeName","src":"2011:7:5","typeDescriptions":{}}},"id":3214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2011:46:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2003:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3204,"name":"address","nodeType":"ElementaryTypeName","src":"2003:7:5","typeDescriptions":{}}},"id":3215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2003:55:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3203,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"1996:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":3216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1996:63:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":3219,"nodeType":"VariableDeclaration","src":"2066:33:5","nodes":[],"constant":false,"mutability":"mutable","name":"stdChainsInitialized","nameLocation":"2079:20:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3218,"name":"bool","nodeType":"ElementaryTypeName","src":"2066:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":3226,"nodeType":"StructDefinition","src":"2106:93:5","nodes":[],"canonicalName":"StdChains.ChainData","members":[{"constant":false,"id":3221,"mutability":"mutable","name":"name","nameLocation":"2140:4:5","nodeType":"VariableDeclaration","scope":3226,"src":"2133:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3220,"name":"string","nodeType":"ElementaryTypeName","src":"2133:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3223,"mutability":"mutable","name":"chainId","nameLocation":"2162:7:5","nodeType":"VariableDeclaration","scope":3226,"src":"2154:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3222,"name":"uint256","nodeType":"ElementaryTypeName","src":"2154:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3225,"mutability":"mutable","name":"rpcUrl","nameLocation":"2186:6:5","nodeType":"VariableDeclaration","scope":3226,"src":"2179:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3224,"name":"string","nodeType":"ElementaryTypeName","src":"2179:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ChainData","nameLocation":"2113:9:5","scope":4157,"visibility":"public"},{"id":3235,"nodeType":"StructDefinition","src":"2205:598:5","nodes":[],"canonicalName":"StdChains.Chain","members":[{"constant":false,"id":3228,"mutability":"mutable","name":"name","nameLocation":"2262:4:5","nodeType":"VariableDeclaration","scope":3235,"src":"2255:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3227,"name":"string","nodeType":"ElementaryTypeName","src":"2255:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3230,"mutability":"mutable","name":"chainId","nameLocation":"2317:7:5","nodeType":"VariableDeclaration","scope":3235,"src":"2309:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3229,"name":"uint256","nodeType":"ElementaryTypeName","src":"2309:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3232,"mutability":"mutable","name":"chainAlias","nameLocation":"2417:10:5","nodeType":"VariableDeclaration","scope":3235,"src":"2410:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3231,"name":"string","nodeType":"ElementaryTypeName","src":"2410:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3234,"mutability":"mutable","name":"rpcUrl","nameLocation":"2790:6:5","nodeType":"VariableDeclaration","scope":3235,"src":"2783:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3233,"name":"string","nodeType":"ElementaryTypeName","src":"2783:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"2212:5:5","scope":4157,"visibility":"public"},{"id":3240,"nodeType":"VariableDeclaration","src":"2907:39:5","nodes":[],"constant":false,"mutability":"mutable","name":"chains","nameLocation":"2940:6:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"typeName":{"id":3239,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3236,"name":"string","nodeType":"ElementaryTypeName","src":"2915:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2907:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3238,"nodeType":"UserDefinedTypeName","pathNode":{"id":3237,"name":"Chain","nameLocations":["2925:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"2925:5:5"},"referencedDeclaration":3235,"src":"2925:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}}},"visibility":"private"},{"id":3244,"nodeType":"VariableDeclaration","src":"3012:48:5","nodes":[],"constant":false,"mutability":"mutable","name":"defaultRpcUrls","nameLocation":"3046:14:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"typeName":{"id":3243,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3241,"name":"string","nodeType":"ElementaryTypeName","src":"3020:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"3012:25:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3242,"name":"string","nodeType":"ElementaryTypeName","src":"3030:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":3248,"nodeType":"VariableDeclaration","src":"3109:44:5","nodes":[],"constant":false,"mutability":"mutable","name":"idToAlias","nameLocation":"3144:9:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":3247,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3245,"name":"uint256","nodeType":"ElementaryTypeName","src":"3117:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3109:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3246,"name":"string","nodeType":"ElementaryTypeName","src":"3128:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":3251,"nodeType":"VariableDeclaration","src":"3160:44:5","nodes":[],"constant":false,"mutability":"mutable","name":"fallbackToDefaultRpcUrls","nameLocation":"3173:24:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3249,"name":"bool","nodeType":"ElementaryTypeName","src":"3160:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":3250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3200:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"private"},{"id":3303,"nodeType":"FunctionDefinition","src":"3289:524:5","nodes":[],"body":{"id":3302,"nodeType":"Block","src":"3379:434:5","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3262,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3253,"src":"3403:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3397:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3260,"name":"bytes","nodeType":"ElementaryTypeName","src":"3397:5:5","typeDescriptions":{}}},"id":3263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3397:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3415:6:5","memberName":"length","nodeType":"MemberAccess","src":"3397:24:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3425:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3397:29:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":3267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3428:69:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""},"value":"StdChains getChain(string): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""}],"id":3259,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3389:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3389:109:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3269,"nodeType":"ExpressionStatement","src":"3389:109:5"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3270,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4119,"src":"3509:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3272,"nodeType":"ExpressionStatement","src":"3509:21:5"},{"expression":{"id":3277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3273,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"3540:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3274,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3240,"src":"3548:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3276,"indexExpression":{"id":3275,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3253,"src":"3555:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3548:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"3540:26:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3278,"nodeType":"ExpressionStatement","src":"3540:26:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3280,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"3597:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3603:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3230,"src":"3597:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3614:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3597:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022","id":3288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3653:49:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},"value":"StdChains getChain(string): Chain with alias \""},{"id":3289,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3253,"src":"3704:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22206e6f7420666f756e642e","id":3290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3716:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""},"value":"\" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""}],"expression":{"id":3286,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3636:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3640:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"3636:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3636:96:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3629:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3284,"name":"string","nodeType":"ElementaryTypeName","src":"3629:6:5","typeDescriptions":{}}},"id":3292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3629:104:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3279,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3576:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3576:167:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3294,"nodeType":"ExpressionStatement","src":"3576:167:5"},{"expression":{"id":3300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3295,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"3754:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3297,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3253,"src":"3788:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3298,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"3800:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":3296,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3711,"src":"3762:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$3235_memory_ptr_$returns$_t_struct$_Chain_$3235_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":3299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3762:44:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"3754:52:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3301,"nodeType":"ExpressionStatement","src":"3754:52:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3298:8:5","parameters":{"id":3254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3253,"mutability":"mutable","name":"chainAlias","nameLocation":"3321:10:5","nodeType":"VariableDeclaration","scope":3303,"src":"3307:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3252,"name":"string","nodeType":"ElementaryTypeName","src":"3307:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3306:26:5"},"returnParameters":{"id":3258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3257,"mutability":"mutable","name":"chain","nameLocation":"3372:5:5","nodeType":"VariableDeclaration","scope":3303,"src":"3359:18:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3256,"nodeType":"UserDefinedTypeName","pathNode":{"id":3255,"name":"Chain","nameLocations":["3359:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"3359:5:5"},"referencedDeclaration":3235,"src":"3359:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3358:20:5"},"scope":4157,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3360,"nodeType":"FunctionDefinition","src":"3819:541:5","nodes":[],"body":{"id":3359,"nodeType":"Block","src":"3900:460:5","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3312,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3305,"src":"3918:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3929:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3918:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e","id":3315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3932:52:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""},"value":"StdChains getChain(uint256): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""}],"id":3311,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3910:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3910:75:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3317,"nodeType":"ExpressionStatement","src":"3910:75:5"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3318,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4119,"src":"3995:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3320,"nodeType":"ExpressionStatement","src":"3995:21:5"},{"assignments":[3322],"declarations":[{"constant":false,"id":3322,"mutability":"mutable","name":"chainAlias","nameLocation":"4040:10:5","nodeType":"VariableDeclaration","scope":3359,"src":"4026:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3321,"name":"string","nodeType":"ElementaryTypeName","src":"4026:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3326,"initialValue":{"baseExpression":{"id":3323,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3248,"src":"4053:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3325,"indexExpression":{"id":3324,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3305,"src":"4063:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4053:18:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4026:45:5"},{"expression":{"id":3331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3327,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3309,"src":"4082:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3328,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3240,"src":"4090:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3330,"indexExpression":{"id":3329,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3322,"src":"4097:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4090:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"4082:26:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3332,"nodeType":"ExpressionStatement","src":"4082:26:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3334,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3309,"src":"4140:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4146:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3230,"src":"4140:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4157:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4140:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420","id":3342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4196:45:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},"value":"StdChains getChain(uint256): Chain with ID "},{"arguments":[{"id":3345,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3305,"src":"4255:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"4243:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4246:8:5","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"4243:11:5","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":3346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4243:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206e6f7420666f756e642e","id":3347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4265:13:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""},"value":" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""}],"expression":{"id":3340,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4179:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4183:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"4179:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4179:100:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4172:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3338,"name":"string","nodeType":"ElementaryTypeName","src":"4172:6:5","typeDescriptions":{}}},"id":3349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:108:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3333,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4119:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4119:171:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3351,"nodeType":"ExpressionStatement","src":"4119:171:5"},{"expression":{"id":3357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3352,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3309,"src":"4301:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3354,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3322,"src":"4335:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3355,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3309,"src":"4347:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":3353,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3711,"src":"4309:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$3235_memory_ptr_$returns$_t_struct$_Chain_$3235_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":3356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4309:44:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"4301:52:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3358,"nodeType":"ExpressionStatement","src":"4301:52:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3828:8:5","parameters":{"id":3306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3305,"mutability":"mutable","name":"chainId","nameLocation":"3845:7:5","nodeType":"VariableDeclaration","scope":3360,"src":"3837:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3304,"name":"uint256","nodeType":"ElementaryTypeName","src":"3837:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3836:17:5"},"returnParameters":{"id":3310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3309,"mutability":"mutable","name":"chain","nameLocation":"3893:5:5","nodeType":"VariableDeclaration","scope":3360,"src":"3880:18:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3308,"nodeType":"UserDefinedTypeName","pathNode":{"id":3307,"name":"Chain","nameLocations":["3880:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"3880:5:5"},"referencedDeclaration":3235,"src":"3880:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3879:20:5"},"scope":4157,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3470,"nodeType":"FunctionDefinition","src":"4431:1173:5","nodes":[],"body":{"id":3469,"nodeType":"Block","src":"4516:1088:5","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3371,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"4553:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4547:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3369,"name":"bytes","nodeType":"ElementaryTypeName","src":"4547:5:5","typeDescriptions":{}}},"id":3372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4565:6:5","memberName":"length","nodeType":"MemberAccess","src":"4547:24:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4575:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4547:29:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":3376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4590:79:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""},"value":"StdChains setChain(string,ChainData): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""}],"id":3368,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4526:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4526:153:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3378,"nodeType":"ExpressionStatement","src":"4526:153:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3380,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"4698:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4704:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"4698:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4715:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4698:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e2049442063616e6e6f7420626520302e","id":3384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4718:61:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""},"value":"StdChains setChain(string,ChainData): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""}],"id":3379,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4690:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4690:90:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3386,"nodeType":"ExpressionStatement","src":"4690:90:5"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3387,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4119,"src":"4791:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4791:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3389,"nodeType":"ExpressionStatement","src":"4791:21:5"},{"assignments":[3391],"declarations":[{"constant":false,"id":3391,"mutability":"mutable","name":"foundAlias","nameLocation":"4836:10:5","nodeType":"VariableDeclaration","scope":3469,"src":"4822:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3390,"name":"string","nodeType":"ElementaryTypeName","src":"4822:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3396,"initialValue":{"baseExpression":{"id":3392,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3248,"src":"4849:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3395,"indexExpression":{"expression":{"id":3393,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"4859:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4865:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"4859:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4849:24:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4822:51:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3400,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"4911:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4905:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3398,"name":"bytes","nodeType":"ElementaryTypeName","src":"4905:5:5","typeDescriptions":{}}},"id":3401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4905:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4923:6:5","memberName":"length","nodeType":"MemberAccess","src":"4905:24:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4933:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4905:29:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":3408,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"4954:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4948:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3406,"name":"bytes","nodeType":"ElementaryTypeName","src":"4948:5:5","typeDescriptions":{}}},"id":3409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4948:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3405,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4938:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4938:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":3414,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"4986:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4980:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3412,"name":"bytes","nodeType":"ElementaryTypeName","src":"4980:5:5","typeDescriptions":{}}},"id":3415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4980:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3411,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4970:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4970:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4938:60:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4905:93:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20494420","id":3423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5074:49:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},"value":"StdChains setChain(string,ChainData): Chain ID "},{"arguments":[{"expression":{"id":3426,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5157:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5163:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"5157:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3424,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"5145:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5148:8:5","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"5145:11:5","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":3428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5145:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20616c726561647920757365642062792022","id":3429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5193:21:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},"value":" already used by \""},{"id":3430,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"5236:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"222e","id":3431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5268:5:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""},"value":"\"."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""}],"expression":{"id":3421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5036:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5040:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"5036:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5036:255:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3420,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5012:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3419,"name":"string","nodeType":"ElementaryTypeName","src":"5012:6:5","typeDescriptions":{}}},"id":3433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5012:293:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3397,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4884:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4884:431:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3435,"nodeType":"ExpressionStatement","src":"4884:431:5"},{"assignments":[3437],"declarations":[{"constant":false,"id":3437,"mutability":"mutable","name":"oldChainId","nameLocation":"5334:10:5","nodeType":"VariableDeclaration","scope":3469,"src":"5326:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3436,"name":"uint256","nodeType":"ElementaryTypeName","src":"5326:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3442,"initialValue":{"expression":{"baseExpression":{"id":3438,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3240,"src":"5347:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3440,"indexExpression":{"id":3439,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"5354:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5347:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"id":3441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5366:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3230,"src":"5347:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5326:47:5"},{"expression":{"id":3446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5383:28:5","subExpression":{"baseExpression":{"id":3443,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3248,"src":"5390:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3445,"indexExpression":{"id":3444,"name":"oldChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"5400:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5390:21:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3447,"nodeType":"ExpressionStatement","src":"5383:28:5"},{"expression":{"id":3460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3448,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3240,"src":"5422:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3450,"indexExpression":{"id":3449,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"5429:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5422:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":3452,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5468:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5474:4:5","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":3221,"src":"5468:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3454,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5489:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5495:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"5489:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3456,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"5516:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3457,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5536:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5542:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3225,"src":"5536:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3451,"name":"Chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3235,"src":"5455:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Chain_$3235_storage_ptr_$","typeString":"type(struct StdChains.Chain storage pointer)"}},"id":3459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5462:4:5","5480:7:5","5504:10:5","5528:6:5"],"names":["name","chainId","chainAlias","rpcUrl"],"nodeType":"FunctionCall","src":"5455:95:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"5422:128:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"id":3461,"nodeType":"ExpressionStatement","src":"5422:128:5"},{"expression":{"id":3467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3462,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3248,"src":"5560:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3465,"indexExpression":{"expression":{"id":3463,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5570:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5576:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"5570:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5560:24:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3466,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"5587:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5560:37:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3468,"nodeType":"ExpressionStatement","src":"5560:37:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"4440:8:5","parameters":{"id":3366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3362,"mutability":"mutable","name":"chainAlias","nameLocation":"4463:10:5","nodeType":"VariableDeclaration","scope":3470,"src":"4449:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3361,"name":"string","nodeType":"ElementaryTypeName","src":"4449:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3365,"mutability":"mutable","name":"chain","nameLocation":"4492:5:5","nodeType":"VariableDeclaration","scope":3470,"src":"4475:22:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":3364,"nodeType":"UserDefinedTypeName","pathNode":{"id":3363,"name":"ChainData","nameLocations":["4475:9:5"],"nodeType":"IdentifierPath","referencedDeclaration":3226,"src":"4475:9:5"},"referencedDeclaration":3226,"src":"4475:9:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"4448:50:5"},"returnParameters":{"id":3367,"nodeType":"ParameterList","parameters":[],"src":"4516:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3491,"nodeType":"FunctionDefinition","src":"5675:195:5","nodes":[],"body":{"id":3490,"nodeType":"Block","src":"5756:114:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":3479,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3472,"src":"5775:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"expression":{"id":3481,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3475,"src":"5804:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5810:4:5","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":3228,"src":"5804:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3483,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3475,"src":"5825:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5831:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3230,"src":"5825:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":3485,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3475,"src":"5848:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5854:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"5848:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3480,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"5787:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5798:4:5","5816:7:5","5840:6:5"],"names":["name","chainId","rpcUrl"],"nodeType":"FunctionCall","src":"5787:75:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3478,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[3470,3491],"referencedDeclaration":3470,"src":"5766:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5766:97:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3489,"nodeType":"ExpressionStatement","src":"5766:97:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"5684:8:5","parameters":{"id":3476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3472,"mutability":"mutable","name":"chainAlias","nameLocation":"5707:10:5","nodeType":"VariableDeclaration","scope":3491,"src":"5693:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3471,"name":"string","nodeType":"ElementaryTypeName","src":"5693:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3475,"mutability":"mutable","name":"chain","nameLocation":"5732:5:5","nodeType":"VariableDeclaration","scope":3491,"src":"5719:18:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3474,"nodeType":"UserDefinedTypeName","pathNode":{"id":3473,"name":"Chain","nameLocations":["5719:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"5719:5:5"},"referencedDeclaration":3235,"src":"5719:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"5692:46:5"},"returnParameters":{"id":3477,"nodeType":"ParameterList","parameters":[],"src":"5756:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3568,"nodeType":"FunctionDefinition","src":"5876:451:5","nodes":[],"body":{"id":3567,"nodeType":"Block","src":"5950:377:5","nodes":[],"statements":[{"assignments":[3499],"declarations":[{"constant":false,"id":3499,"mutability":"mutable","name":"strb","nameLocation":"5973:4:5","nodeType":"VariableDeclaration","scope":3567,"src":"5960:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3498,"name":"bytes","nodeType":"ElementaryTypeName","src":"5960:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3504,"initialValue":{"arguments":[{"id":3502,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3493,"src":"5986:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5980:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3500,"name":"bytes","nodeType":"ElementaryTypeName","src":"5980:5:5","typeDescriptions":{}}},"id":3503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5980:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5960:30:5"},{"assignments":[3506],"declarations":[{"constant":false,"id":3506,"mutability":"mutable","name":"copy","nameLocation":"6013:4:5","nodeType":"VariableDeclaration","scope":3567,"src":"6000:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3505,"name":"bytes","nodeType":"ElementaryTypeName","src":"6000:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3512,"initialValue":{"arguments":[{"expression":{"id":3509,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3499,"src":"6030:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6035:6:5","memberName":"length","nodeType":"MemberAccess","src":"6030:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6020:9:5","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":3507,"name":"bytes","nodeType":"ElementaryTypeName","src":"6024:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":3511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6020:22:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6000:42:5"},{"body":{"id":3560,"nodeType":"Block","src":"6094:198:5","statements":[{"assignments":[3525],"declarations":[{"constant":false,"id":3525,"mutability":"mutable","name":"b","nameLocation":"6115:1:5","nodeType":"VariableDeclaration","scope":3560,"src":"6108:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":3524,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6108:6:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":3529,"initialValue":{"baseExpression":{"id":3526,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3499,"src":"6119:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3528,"indexExpression":{"id":3527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6124:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6119:7:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"6108:18:5"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3530,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6144:1:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783631","id":3531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6149:4:5","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"0x61"},"src":"6144:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3533,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6157:1:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783741","id":3534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6162:4:5","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"0x7A"},"src":"6157:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6144:22:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3558,"nodeType":"Block","src":"6238:44:5","statements":[{"expression":{"id":3556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3552,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3506,"src":"6256:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3554,"indexExpression":{"id":3553,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6261:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6256:7:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3555,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6266:1:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6256:11:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3557,"nodeType":"ExpressionStatement","src":"6256:11:5"}]},"id":3559,"nodeType":"IfStatement","src":"6140:142:5","trueBody":{"id":3551,"nodeType":"Block","src":"6168:64:5","statements":[{"expression":{"id":3549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3537,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3506,"src":"6186:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3539,"indexExpression":{"id":3538,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6191:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6186:7:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":3547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3544,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6209:1:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":3543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6203:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":3542,"name":"uint8","nodeType":"ElementaryTypeName","src":"6203:5:5","typeDescriptions":{}}},"id":3545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6203:8:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3332","id":3546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6214:2:5","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6203:13:5","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6196:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":3540,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6196:6:5","typeDescriptions":{}}},"id":3548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6196:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6186:31:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3550,"nodeType":"ExpressionStatement","src":"6186:31:5"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6072:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":3518,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3499,"src":"6076:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6081:6:5","memberName":"length","nodeType":"MemberAccess","src":"6076:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6072:15:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3561,"initializationExpression":{"assignments":[3514],"declarations":[{"constant":false,"id":3514,"mutability":"mutable","name":"i","nameLocation":"6065:1:5","nodeType":"VariableDeclaration","scope":3561,"src":"6057:9:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3513,"name":"uint256","nodeType":"ElementaryTypeName","src":"6057:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3516,"initialValue":{"hexValue":"30","id":3515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6069:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6057:13:5"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":3522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6089:3:5","subExpression":{"id":3521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6089:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3523,"nodeType":"ExpressionStatement","src":"6089:3:5"},"nodeType":"ForStatement","src":"6052:240:5"},{"expression":{"arguments":[{"id":3564,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3506,"src":"6315:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6308:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3562,"name":"string","nodeType":"ElementaryTypeName","src":"6308:6:5","typeDescriptions":{}}},"id":3565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6308:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3497,"id":3566,"nodeType":"Return","src":"6301:19:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_toUpper","nameLocation":"5885:8:5","parameters":{"id":3494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3493,"mutability":"mutable","name":"str","nameLocation":"5908:3:5","nodeType":"VariableDeclaration","scope":3568,"src":"5894:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3492,"name":"string","nodeType":"ElementaryTypeName","src":"5894:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5893:19:5"},"returnParameters":{"id":3497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3568,"src":"5935:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3495,"name":"string","nodeType":"ElementaryTypeName","src":"5935:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5934:15:5"},"scope":4157,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":3711,"nodeType":"FunctionDefinition","src":"6463:1725:5","nodes":[],"body":{"id":3710,"nodeType":"Block","src":"6608:1580:5","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3581,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"6628:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6634:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"6628:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6622:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3579,"name":"bytes","nodeType":"ElementaryTypeName","src":"6622:5:5","typeDescriptions":{}}},"id":3583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6622:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6642:6:5","memberName":"length","nodeType":"MemberAccess","src":"6622:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6652:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6622:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3707,"nodeType":"IfStatement","src":"6618:1542:5","trueBody":{"id":3706,"nodeType":"Block","src":"6655:1505:5","statements":[{"clauses":[{"block":{"id":3600,"nodeType":"Block","src":"6732:60:5","statements":[{"expression":{"id":3598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3594,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"6750:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6756:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"6750:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3597,"name":"configRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"6765:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6750:27:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3599,"nodeType":"ExpressionStatement","src":"6750:27:5"}]},"errorName":"","id":3601,"nodeType":"TryCatchClause","parameters":{"id":3593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3592,"mutability":"mutable","name":"configRpcUrl","nameLocation":"6718:12:5","nodeType":"VariableDeclaration","scope":3601,"src":"6704:26:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3591,"name":"string","nodeType":"ElementaryTypeName","src":"6704:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6703:28:5"},"src":"6695:97:5"},{"block":{"id":3703,"nodeType":"Block","src":"6818:1332:5","statements":[{"assignments":[3606],"declarations":[{"constant":false,"id":3606,"mutability":"mutable","name":"envName","nameLocation":"6850:7:5","nodeType":"VariableDeclaration","scope":3703,"src":"6836:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3605,"name":"string","nodeType":"ElementaryTypeName","src":"6836:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3617,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":3612,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"6893:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3611,"name":"_toUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3568,"src":"6884:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":3613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6884:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5f5250435f55524c","id":3614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6906:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""},"value":"_RPC_URL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""}],"expression":{"id":3609,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6867:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6871:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"6867:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6867:50:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6860:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3607,"name":"string","nodeType":"ElementaryTypeName","src":"6860:6:5","typeDescriptions":{}}},"id":3616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6860:58:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"6836:82:5"},{"condition":{"id":3618,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3251,"src":"6940:24:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3641,"nodeType":"Block","src":"7073:77:5","statements":[{"expression":{"id":3639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3632,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"7095:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7101:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"7095:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3637,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3606,"src":"7123:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3635,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"7110:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7113:9:5","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":14261,"src":"7110:12:5","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7110:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7095:36:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3640,"nodeType":"ExpressionStatement","src":"7095:36:5"}]},"id":3642,"nodeType":"IfStatement","src":"6936:214:5","trueBody":{"id":3631,"nodeType":"Block","src":"6966:101:5","statements":[{"expression":{"id":3629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3619,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"6988:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6994:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"6988:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3624,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3606,"src":"7012:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"baseExpression":{"id":3625,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3244,"src":"7021:14:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":3627,"indexExpression":{"id":3626,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"7036:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7021:26:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":3622,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"7003:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7006:5:5","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":14201,"src":"7003:8:5","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) view external returns (string memory)"}},"id":3628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7003:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6988:60:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3630,"nodeType":"ExpressionStatement","src":"6988:60:5"}]}},{"assignments":[3644],"declarations":[{"constant":false,"id":3644,"mutability":"mutable","name":"oldNotFoundError","nameLocation":"7365:16:5","nodeType":"VariableDeclaration","scope":3703,"src":"7352:29:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3643,"name":"bytes","nodeType":"ElementaryTypeName","src":"7352:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3657,"initialValue":{"arguments":[{"hexValue":"4368656174436f64654572726f72","id":3647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7428:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},"value":"CheatCodeError"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c20","id":3652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7470:18:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},"value":"invalid rpc url "},{"id":3653,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"7490:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3650,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7453:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7457:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"7453:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7453:48:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7446:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3648,"name":"string","nodeType":"ElementaryTypeName","src":"7446:6:5","typeDescriptions":{}}},"id":3655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7446:56:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3645,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7404:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7408:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7404:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":3656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7404:99:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7352:151:5"},{"assignments":[3659],"declarations":[{"constant":false,"id":3659,"mutability":"mutable","name":"newNotFoundError","nameLocation":"7534:16:5","nodeType":"VariableDeclaration","scope":3703,"src":"7521:29:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3658,"name":"bytes","nodeType":"ElementaryTypeName","src":"7521:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3672,"initialValue":{"arguments":[{"hexValue":"4368656174636f64654572726f7228737472696e6729","id":3662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7598:24:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_eeaa9e6f35c22929478456dd64e8453f06b33521fed71b747719abfbccbe6492","typeString":"literal_string \"CheatcodeError(string)\""},"value":"CheatcodeError(string)"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c3a20","id":3667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:19:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4888507059bbf849006832c209cb94797be8c857a4984252b438e37098512c6a","typeString":"literal_string \"invalid rpc url: \""},"value":"invalid rpc url: "},{"id":3668,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"7669:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4888507059bbf849006832c209cb94797be8c857a4984252b438e37098512c6a","typeString":"literal_string \"invalid rpc url: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3665,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7631:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7635:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"7631:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7631:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7624:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3663,"name":"string","nodeType":"ElementaryTypeName","src":"7624:6:5","typeDescriptions":{}}},"id":3670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7624:57:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eeaa9e6f35c22929478456dd64e8453f06b33521fed71b747719abfbccbe6492","typeString":"literal_string \"CheatcodeError(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7553:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7557:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7553:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":3671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7553:146:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7521:178:5"},{"assignments":[3674],"declarations":[{"constant":false,"id":3674,"mutability":"mutable","name":"errHash","nameLocation":"7725:7:5","nodeType":"VariableDeclaration","scope":3703,"src":"7717:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7717:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":3678,"initialValue":{"arguments":[{"id":3676,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3603,"src":"7745:3:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3675,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7735:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7735:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7717:32:5"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3679,"name":"errHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3674,"src":"7793:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3681,"name":"oldNotFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3644,"src":"7814:16:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3680,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7804:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7804:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7793:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3684,"name":"errHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3674,"src":"7835:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3686,"name":"newNotFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3659,"src":"7856:16:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3685,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7846:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7846:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7835:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7793:80:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3690,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7792:82:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3693,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"7908:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3694,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7914:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"7908:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7902:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3691,"name":"bytes","nodeType":"ElementaryTypeName","src":"7902:5:5","typeDescriptions":{}}},"id":3695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7902:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7922:6:5","memberName":"length","nodeType":"MemberAccess","src":"7902:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7932:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7902:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7792:141:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3702,"nodeType":"IfStatement","src":"7767:369:5","trueBody":{"id":3701,"nodeType":"Block","src":"7952:184:5","statements":[{"AST":{"nativeSrc":"8038:80:5","nodeType":"YulBlock","src":"8038:80:5","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"8075:2:5","nodeType":"YulLiteral","src":"8075:2:5","type":"","value":"32"},{"name":"err","nativeSrc":"8079:3:5","nodeType":"YulIdentifier","src":"8079:3:5"}],"functionName":{"name":"add","nativeSrc":"8071:3:5","nodeType":"YulIdentifier","src":"8071:3:5"},"nativeSrc":"8071:12:5","nodeType":"YulFunctionCall","src":"8071:12:5"},{"arguments":[{"name":"err","nativeSrc":"8091:3:5","nodeType":"YulIdentifier","src":"8091:3:5"}],"functionName":{"name":"mload","nativeSrc":"8085:5:5","nodeType":"YulIdentifier","src":"8085:5:5"},"nativeSrc":"8085:10:5","nodeType":"YulFunctionCall","src":"8085:10:5"}],"functionName":{"name":"revert","nativeSrc":"8064:6:5","nodeType":"YulIdentifier","src":"8064:6:5"},"nativeSrc":"8064:32:5","nodeType":"YulFunctionCall","src":"8064:32:5"},"nativeSrc":"8064:32:5","nodeType":"YulExpressionStatement","src":"8064:32:5"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":3603,"isOffset":false,"isSlot":false,"src":"8079:3:5","valueSize":1},{"declaration":3603,"isOffset":false,"isSlot":false,"src":"8091:3:5","valueSize":1}],"id":3700,"nodeType":"InlineAssembly","src":"8029:89:5"}]}}]},"errorName":"","id":3704,"nodeType":"TryCatchClause","parameters":{"id":3604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3603,"mutability":"mutable","name":"err","nameLocation":"6813:3:5","nodeType":"VariableDeclaration","scope":3704,"src":"6800:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3602,"name":"bytes","nodeType":"ElementaryTypeName","src":"6800:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6799:18:5"},"src":"6793:1357:5"}],"externalCall":{"arguments":[{"id":3589,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"6683:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3587,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"6673:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6676:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":17060,"src":"6673:9:5","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6673:21:5","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3705,"nodeType":"TryStatement","src":"6669:1481:5"}]}},{"expression":{"id":3708,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"8176:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"functionReturnParameters":3578,"id":3709,"nodeType":"Return","src":"8169:12:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChainWithUpdatedRpcUrl","nameLocation":"6472:25:5","parameters":{"id":3574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3570,"mutability":"mutable","name":"chainAlias","nameLocation":"6512:10:5","nodeType":"VariableDeclaration","scope":3711,"src":"6498:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3569,"name":"string","nodeType":"ElementaryTypeName","src":"6498:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3573,"mutability":"mutable","name":"chain","nameLocation":"6537:5:5","nodeType":"VariableDeclaration","scope":3711,"src":"6524:18:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3572,"nodeType":"UserDefinedTypeName","pathNode":{"id":3571,"name":"Chain","nameLocations":["6524:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"6524:5:5"},"referencedDeclaration":3235,"src":"6524:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6497:46:5"},"returnParameters":{"id":3578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3711,"src":"6590:12:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3576,"nodeType":"UserDefinedTypeName","pathNode":{"id":3575,"name":"Chain","nameLocations":["6590:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"6590:5:5"},"referencedDeclaration":3235,"src":"6590:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6589:14:5"},"scope":4157,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":3721,"nodeType":"FunctionDefinition","src":"8194:117:5","nodes":[],"body":{"id":3720,"nodeType":"Block","src":"8257:54:5","nodes":[],"statements":[{"expression":{"id":3718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3716,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3251,"src":"8267:24:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3717,"name":"useDefault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3713,"src":"8294:10:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8267:37:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3719,"nodeType":"ExpressionStatement","src":"8267:37:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setFallbackToDefaultRpcUrls","nameLocation":"8203:27:5","parameters":{"id":3714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3713,"mutability":"mutable","name":"useDefault","nameLocation":"8236:10:5","nodeType":"VariableDeclaration","scope":3721,"src":"8231:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3712,"name":"bool","nodeType":"ElementaryTypeName","src":"8231:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8230:17:5"},"returnParameters":{"id":3715,"nodeType":"ParameterList","parameters":[],"src":"8257:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":4119,"nodeType":"FunctionDefinition","src":"8317:5559:5","nodes":[],"body":{"id":4118,"nodeType":"Block","src":"8356:5520:5","nodes":[],"statements":[{"condition":{"id":3724,"name":"stdChainsInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3219,"src":"8370:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3726,"nodeType":"IfStatement","src":"8366:33:5","trueBody":{"functionReturnParameters":3723,"id":3725,"nodeType":"Return","src":"8392:7:5"}},{"expression":{"id":3729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3727,"name":"stdChainsInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3219,"src":"8409:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8432:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8409:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3730,"nodeType":"ExpressionStatement","src":"8409:27:5"},{"expression":{"arguments":[{"hexValue":"616e76696c","id":3732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8581:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},"value":"anvil"},{"arguments":[{"hexValue":"416e76696c","id":3734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8600:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},"value":"Anvil"},{"hexValue":"3331333337","id":3735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8609:5:5","typeDescriptions":{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},"value":"31337"},{"hexValue":"687474703a2f2f3132372e302e302e313a38353435","id":3736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8616:23:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""},"value":"http://127.0.0.1:8545"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""}],"id":3733,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"8590:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8590:50:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3731,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"8555:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8555:86:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3739,"nodeType":"ExpressionStatement","src":"8555:86:5"},{"expression":{"arguments":[{"hexValue":"6d61696e6e6574","id":3741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8677:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},"value":"mainnet"},{"arguments":[{"hexValue":"4d61696e6e6574","id":3743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8698:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},"value":"Mainnet"},{"hexValue":"31","id":3744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8709:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"68747470733a2f2f6574682e6c6c616d617270632e636f6d","id":3745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8712:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_411c24d116d5f5de112b5b4156059b8fdbbc19282a79184bf17a72a8fec93e2a","typeString":"literal_string \"https://eth.llamarpc.com\""},"value":"https://eth.llamarpc.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_411c24d116d5f5de112b5b4156059b8fdbbc19282a79184bf17a72a8fec93e2a","typeString":"literal_string \"https://eth.llamarpc.com\""}],"id":3742,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"8688:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8688:51:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3740,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"8651:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8651:89:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3748,"nodeType":"ExpressionStatement","src":"8651:89:5"},{"expression":{"arguments":[{"hexValue":"7365706f6c6961","id":3750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8789:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},"value":"sepolia"},{"arguments":[{"hexValue":"5365706f6c6961","id":3752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8810:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},"value":"Sepolia"},{"hexValue":"3131313535313131","id":3753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8821:8:5","typeDescriptions":{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},"value":"11155111"},{"hexValue":"68747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f6239373934616431646466383464666238633334643662623564636132303031","id":3754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8831:63:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_167447379e730a7d89231aec25edd721d4e0b02c818e31467228ef4a7c09810f","typeString":"literal_string \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""},"value":"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},{"typeIdentifier":"t_stringliteral_167447379e730a7d89231aec25edd721d4e0b02c818e31467228ef4a7c09810f","typeString":"literal_string \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""}],"id":3751,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"8800:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8800:95:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3749,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"8750:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8750:155:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3757,"nodeType":"ExpressionStatement","src":"8750:155:5"},{"expression":{"arguments":[{"hexValue":"686f6c65736b79","id":3759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8941:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_225ab7cecf443e288dc4894ee98610f8cbeaa4a3718c6f21ab130c706fc789a0","typeString":"literal_string \"holesky\""},"value":"holesky"},{"arguments":[{"hexValue":"486f6c65736b79","id":3761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8962:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8aa9e57bbfdbc36333797576aff48d01df8af373d958a7cf043bdc0117ce4b2f","typeString":"literal_string \"Holesky\""},"value":"Holesky"},{"hexValue":"3137303030","id":3762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8973:5:5","typeDescriptions":{"typeIdentifier":"t_rational_17000_by_1","typeString":"int_const 17000"},"value":"17000"},{"hexValue":"68747470733a2f2f7270632e686f6c65736b792e65746870616e64616f70732e696f","id":3763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8980:36:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7f02b0bd3afa86b1ed2e1c20ef09a4a86f096b37bcea73edd85b6f0d7974399","typeString":"literal_string \"https://rpc.holesky.ethpandaops.io\""},"value":"https://rpc.holesky.ethpandaops.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8aa9e57bbfdbc36333797576aff48d01df8af373d958a7cf043bdc0117ce4b2f","typeString":"literal_string \"Holesky\""},{"typeIdentifier":"t_rational_17000_by_1","typeString":"int_const 17000"},{"typeIdentifier":"t_stringliteral_e7f02b0bd3afa86b1ed2e1c20ef09a4a86f096b37bcea73edd85b6f0d7974399","typeString":"literal_string \"https://rpc.holesky.ethpandaops.io\""}],"id":3760,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"8952:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:65:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_225ab7cecf443e288dc4894ee98610f8cbeaa4a3718c6f21ab130c706fc789a0","typeString":"literal_string \"holesky\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3758,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"8915:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8915:103:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3766,"nodeType":"ExpressionStatement","src":"8915:103:5"},{"expression":{"arguments":[{"hexValue":"686f6f6469","id":3768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9054:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1555cc0b82398581166a8ac2edec622973f44b5cf266c8c66328fd55958e30c9","typeString":"literal_string \"hoodi\""},"value":"hoodi"},{"arguments":[{"hexValue":"486f6f6469","id":3770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9073:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9874302513726ffaff8c32078b1c27fb48b7dd64fae72faa08410655afc37e0","typeString":"literal_string \"Hoodi\""},"value":"Hoodi"},{"hexValue":"353630303438","id":3771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9082:6:5","typeDescriptions":{"typeIdentifier":"t_rational_560048_by_1","typeString":"int_const 560048"},"value":"560048"},{"hexValue":"68747470733a2f2f7270632e686f6f64692e65746870616e64616f70732e696f","id":3772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9090:34:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9614316eb163fa19c470a54a4ac254d43c38fd0d13b06fe5b4c51677242d8a4e","typeString":"literal_string \"https://rpc.hoodi.ethpandaops.io\""},"value":"https://rpc.hoodi.ethpandaops.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9874302513726ffaff8c32078b1c27fb48b7dd64fae72faa08410655afc37e0","typeString":"literal_string \"Hoodi\""},{"typeIdentifier":"t_rational_560048_by_1","typeString":"int_const 560048"},{"typeIdentifier":"t_stringliteral_9614316eb163fa19c470a54a4ac254d43c38fd0d13b06fe5b4c51677242d8a4e","typeString":"literal_string \"https://rpc.hoodi.ethpandaops.io\""}],"id":3769,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9063:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9063:62:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1555cc0b82398581166a8ac2edec622973f44b5cf266c8c66328fd55958e30c9","typeString":"literal_string \"hoodi\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3767,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9028:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9028:98:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3775,"nodeType":"ExpressionStatement","src":"9028:98:5"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d","id":3777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9162:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},"value":"optimism"},{"arguments":[{"hexValue":"4f7074696d69736d","id":3779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9184:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},"value":"Optimism"},{"hexValue":"3130","id":3780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9196:2:5","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f","id":3781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9200:29:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""},"value":"https://mainnet.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""}],"id":3778,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9174:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9174:56:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3776,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9136:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9136:95:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3784,"nodeType":"ExpressionStatement","src":"9136:95:5"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d5f7365706f6c6961","id":3786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9280:18:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b81bd4766608fc7dbedcd427f8ec9931a3fdfc6ca839a7cb742fea7b200d95e","typeString":"literal_string \"optimism_sepolia\""},"value":"optimism_sepolia"},{"arguments":[{"hexValue":"4f7074696d69736d205365706f6c6961","id":3788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9310:18:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4b5483d4d1690e6b8c441cf97a5dc0dbd350e5a7a13eae7c4892b5ce23a0143","typeString":"literal_string \"Optimism Sepolia\""},"value":"Optimism Sepolia"},{"hexValue":"3131313535343230","id":3789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9330:8:5","typeDescriptions":{"typeIdentifier":"t_rational_11155420_by_1","typeString":"int_const 11155420"},"value":"11155420"},{"hexValue":"68747470733a2f2f7365706f6c69612e6f7074696d69736d2e696f","id":3790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9340:29:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9637e6347106e6dff5406560d0751fa58cd1cbad2dbe2b9933bfff29a3398eca","typeString":"literal_string \"https://sepolia.optimism.io\""},"value":"https://sepolia.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4b5483d4d1690e6b8c441cf97a5dc0dbd350e5a7a13eae7c4892b5ce23a0143","typeString":"literal_string \"Optimism Sepolia\""},{"typeIdentifier":"t_rational_11155420_by_1","typeString":"int_const 11155420"},{"typeIdentifier":"t_stringliteral_9637e6347106e6dff5406560d0751fa58cd1cbad2dbe2b9933bfff29a3398eca","typeString":"literal_string \"https://sepolia.optimism.io\""}],"id":3787,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9300:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9300:70:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b81bd4766608fc7dbedcd427f8ec9931a3fdfc6ca839a7cb742fea7b200d95e","typeString":"literal_string \"optimism_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3785,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9241:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9241:139:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3793,"nodeType":"ExpressionStatement","src":"9241:139:5"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e65","id":3795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9416:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},"value":"arbitrum_one"},{"arguments":[{"hexValue":"417262697472756d204f6e65","id":3797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9442:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},"value":"Arbitrum One"},{"hexValue":"3432313631","id":3798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9458:5:5","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},{"hexValue":"68747470733a2f2f617262312e617262697472756d2e696f2f727063","id":3799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9465:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""},"value":"https://arb1.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""}],"id":3796,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9432:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9432:64:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3794,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9390:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9390:107:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3802,"nodeType":"ExpressionStatement","src":"9390:107:5"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e655f7365706f6c6961","id":3804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9546:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_26a1db5cffcc70784b9844e4c62ac247af8d01d7d77a3015f5a0ba29007cf771","typeString":"literal_string \"arbitrum_one_sepolia\""},"value":"arbitrum_one_sepolia"},{"arguments":[{"hexValue":"417262697472756d204f6e65205365706f6c6961","id":3806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9580:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_654cc796e821b4114751c4dea67fa0b307483fcd277683183f805d644727e1bd","typeString":"literal_string \"Arbitrum One Sepolia\""},"value":"Arbitrum One Sepolia"},{"hexValue":"343231363134","id":3807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9604:6:5","typeDescriptions":{"typeIdentifier":"t_rational_421614_by_1","typeString":"int_const 421614"},"value":"421614"},{"hexValue":"68747470733a2f2f7365706f6c69612d726f6c6c75702e617262697472756d2e696f2f727063","id":3808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9612:40:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_688e89820a952a5c42996d2164181a6293f1bd5425540e39328100c40b6ce79e","typeString":"literal_string \"https://sepolia-rollup.arbitrum.io/rpc\""},"value":"https://sepolia-rollup.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_654cc796e821b4114751c4dea67fa0b307483fcd277683183f805d644727e1bd","typeString":"literal_string \"Arbitrum One Sepolia\""},{"typeIdentifier":"t_rational_421614_by_1","typeString":"int_const 421614"},{"typeIdentifier":"t_stringliteral_688e89820a952a5c42996d2164181a6293f1bd5425540e39328100c40b6ce79e","typeString":"literal_string \"https://sepolia-rollup.arbitrum.io/rpc\""}],"id":3805,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9570:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9570:83:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26a1db5cffcc70784b9844e4c62ac247af8d01d7d77a3015f5a0ba29007cf771","typeString":"literal_string \"arbitrum_one_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3803,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9507:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9507:156:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3811,"nodeType":"ExpressionStatement","src":"9507:156:5"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6e6f7661","id":3813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9699:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},"value":"arbitrum_nova"},{"arguments":[{"hexValue":"417262697472756d204e6f7661","id":3815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9726:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},"value":"Arbitrum Nova"},{"hexValue":"3432313730","id":3816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9743:5:5","typeDescriptions":{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},"value":"42170"},{"hexValue":"68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063","id":3817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9750:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""},"value":"https://nova.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""}],"id":3814,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9716:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9716:65:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3812,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9673:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9673:109:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3820,"nodeType":"ExpressionStatement","src":"9673:109:5"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e","id":3822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9818:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},"value":"polygon"},{"arguments":[{"hexValue":"506f6c79676f6e","id":3824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9839:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},"value":"Polygon"},{"hexValue":"313337","id":3825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9850:3:5","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},{"hexValue":"68747470733a2f2f706f6c79676f6e2d7270632e636f6d","id":3826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9855:25:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""},"value":"https://polygon-rpc.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""}],"id":3823,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9829:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9829:52:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3821,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9792:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9792:90:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3829,"nodeType":"ExpressionStatement","src":"9792:90:5"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e5f616d6f79","id":3831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9931:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_99386ebe04f891bb96d67bac6a8c404b5f67fb13158954ea2c9e2362a932e070","typeString":"literal_string \"polygon_amoy\""},"value":"polygon_amoy"},{"arguments":[{"hexValue":"506f6c79676f6e20416d6f79","id":3833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9957:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_70d1ef84663b7252febfdf23a787d7e693d0b8647f0d6d014e089199f6cb2946","typeString":"literal_string \"Polygon Amoy\""},"value":"Polygon Amoy"},{"hexValue":"3830303032","id":3834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9973:5:5","typeDescriptions":{"typeIdentifier":"t_rational_80002_by_1","typeString":"int_const 80002"},"value":"80002"},{"hexValue":"68747470733a2f2f7270632d616d6f792e706f6c79676f6e2e746563686e6f6c6f6779","id":3835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9980:37:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2373c58e9dd62de041a01e2a45a8fce997a1bfaf90c1491c1a766e3d1cc947a6","typeString":"literal_string \"https://rpc-amoy.polygon.technology\""},"value":"https://rpc-amoy.polygon.technology"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70d1ef84663b7252febfdf23a787d7e693d0b8647f0d6d014e089199f6cb2946","typeString":"literal_string \"Polygon Amoy\""},{"typeIdentifier":"t_rational_80002_by_1","typeString":"int_const 80002"},{"typeIdentifier":"t_stringliteral_2373c58e9dd62de041a01e2a45a8fce997a1bfaf90c1491c1a766e3d1cc947a6","typeString":"literal_string \"https://rpc-amoy.polygon.technology\""}],"id":3832,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9947:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9947:71:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_99386ebe04f891bb96d67bac6a8c404b5f67fb13158954ea2c9e2362a932e070","typeString":"literal_string \"polygon_amoy\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3830,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9892:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9892:136:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3838,"nodeType":"ExpressionStatement","src":"9892:136:5"},{"expression":{"arguments":[{"hexValue":"6176616c616e636865","id":3840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10064:11:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},"value":"avalanche"},{"arguments":[{"hexValue":"4176616c616e636865","id":3842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10087:11:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},"value":"Avalanche"},{"hexValue":"3433313134","id":3843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10100:5:5","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},{"hexValue":"68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f727063","id":3844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10107:39:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""},"value":"https://api.avax.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""}],"id":3841,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10077:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10077:70:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3839,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10038:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10038:110:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3847,"nodeType":"ExpressionStatement","src":"10038:110:5"},{"expression":{"arguments":[{"hexValue":"6176616c616e6368655f66756a69","id":3849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10197:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},"value":"avalanche_fuji"},{"arguments":[{"hexValue":"4176616c616e6368652046756a69","id":3851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10225:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},"value":"Avalanche Fuji"},{"hexValue":"3433313133","id":3852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10243:5:5","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},{"hexValue":"68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f727063","id":3853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10250:44:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""},"value":"https://api.avax-test.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""}],"id":3850,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10215:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10215:80:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3848,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10158:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10158:147:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3856,"nodeType":"ExpressionStatement","src":"10158:147:5"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e","id":3858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10354:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},"value":"bnb_smart_chain"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e","id":3860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10383:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},"value":"BNB Smart Chain"},{"hexValue":"3536","id":3861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10402:2:5","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"hexValue":"68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267","id":3862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10406:35:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""},"value":"https://bsc-dataseed1.binance.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""}],"id":3859,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10373:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10373:69:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3857,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10315:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10315:137:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3865,"nodeType":"ExpressionStatement","src":"10315:137:5"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e5f746573746e6574","id":3867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10501:25:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},"value":"bnb_smart_chain_testnet"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e20546573746e6574","id":3869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10550:25:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},"value":"BNB Smart Chain Testnet"},{"hexValue":"3937","id":3870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10577:2:5","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"97"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c","id":3871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10581:41:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""},"value":"https://rpc.ankr.com/bsc_testnet_chapel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""}],"id":3868,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10540:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10540:83:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3866,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10462:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10462:171:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3874,"nodeType":"ExpressionStatement","src":"10462:171:5"},{"expression":{"arguments":[{"hexValue":"676e6f7369735f636861696e","id":3876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10669:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},"value":"gnosis_chain"},{"arguments":[{"hexValue":"476e6f73697320436861696e","id":3878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10695:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},"value":"Gnosis Chain"},{"hexValue":"313030","id":3879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10711:3:5","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"68747470733a2f2f7270632e676e6f736973636861696e2e636f6d","id":3880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10716:29:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""},"value":"https://rpc.gnosischain.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""}],"id":3877,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10685:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10685:61:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3875,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10643:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10643:104:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3883,"nodeType":"ExpressionStatement","src":"10643:104:5"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e6265616d","id":3885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10783:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_26aaddd9933ae745bc6e39b5e8962c0d0eef85597e0bdcb35ce7e0d96b84735d","typeString":"literal_string \"moonbeam\""},"value":"moonbeam"},{"arguments":[{"hexValue":"4d6f6f6e6265616d","id":3887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10805:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_99a49606e97aa9d58789783bd4cdfcc3ab4072167b449d1e303cb1135216531b","typeString":"literal_string \"Moonbeam\""},"value":"Moonbeam"},{"hexValue":"31323834","id":3888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10817:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1284_by_1","typeString":"int_const 1284"},"value":"1284"},{"hexValue":"68747470733a2f2f7270632e6170692e6d6f6f6e6265616d2e6e6574776f726b","id":3889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10823:34:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf5d37a68a82777d3f0adcdf64b39d98f1e820688e4ced698cd753bbd1e32191","typeString":"literal_string \"https://rpc.api.moonbeam.network\""},"value":"https://rpc.api.moonbeam.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_99a49606e97aa9d58789783bd4cdfcc3ab4072167b449d1e303cb1135216531b","typeString":"literal_string \"Moonbeam\""},{"typeIdentifier":"t_rational_1284_by_1","typeString":"int_const 1284"},{"typeIdentifier":"t_stringliteral_cf5d37a68a82777d3f0adcdf64b39d98f1e820688e4ced698cd753bbd1e32191","typeString":"literal_string \"https://rpc.api.moonbeam.network\""}],"id":3886,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10795:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10795:63:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26aaddd9933ae745bc6e39b5e8962c0d0eef85597e0bdcb35ce7e0d96b84735d","typeString":"literal_string \"moonbeam\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3884,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10757:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10757:102:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3892,"nodeType":"ExpressionStatement","src":"10757:102:5"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e7269766572","id":3894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10908:11:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2eb4cae4af32e190d8881d6d0a59016ff55092d3a70bcf6b321432516acfd74a","typeString":"literal_string \"moonriver\""},"value":"moonriver"},{"arguments":[{"hexValue":"4d6f6f6e7269766572","id":3896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10931:11:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d5ad77d0dd38eb7219d1087db2cb9c2440e3f70be3ee1567aa2329d21dad8a","typeString":"literal_string \"Moonriver\""},"value":"Moonriver"},{"hexValue":"31323835","id":3897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10944:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1285_by_1","typeString":"int_const 1285"},"value":"1285"},{"hexValue":"68747470733a2f2f7270632e6170692e6d6f6f6e72697665722e6d6f6f6e6265616d2e6e6574776f726b","id":3898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10950:44:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_cdf0715ef9b420dea4501d55a4c023de5bc6e2be267c3e3ec8345021a77f3e46","typeString":"literal_string \"https://rpc.api.moonriver.moonbeam.network\""},"value":"https://rpc.api.moonriver.moonbeam.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d5ad77d0dd38eb7219d1087db2cb9c2440e3f70be3ee1567aa2329d21dad8a","typeString":"literal_string \"Moonriver\""},{"typeIdentifier":"t_rational_1285_by_1","typeString":"int_const 1285"},{"typeIdentifier":"t_stringliteral_cdf0715ef9b420dea4501d55a4c023de5bc6e2be267c3e3ec8345021a77f3e46","typeString":"literal_string \"https://rpc.api.moonriver.moonbeam.network\""}],"id":3895,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10921:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10921:74:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2eb4cae4af32e190d8881d6d0a59016ff55092d3a70bcf6b321432516acfd74a","typeString":"literal_string \"moonriver\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3893,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10869:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10869:136:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3901,"nodeType":"ExpressionStatement","src":"10869:136:5"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e62617365","id":3903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11041:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccd05eb377a4954d8471e48341881dadc4d2a36094f09ce309d35b3b6204f44e","typeString":"literal_string \"moonbase\""},"value":"moonbase"},{"arguments":[{"hexValue":"4d6f6f6e62617365","id":3905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11063:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f3c53069778183912da77a05fe67c3d6edb208ffdf1ca0161d51543035e3c68","typeString":"literal_string \"Moonbase\""},"value":"Moonbase"},{"hexValue":"31323837","id":3906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11075:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1287_by_1","typeString":"int_const 1287"},"value":"1287"},{"hexValue":"68747470733a2f2f7270632e746573746e65742e6d6f6f6e6265616d2e6e6574776f726b","id":3907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11081:38:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_611da7a50d9bf940412b47209c78030562dd2047afcf97dad69e15217355b585","typeString":"literal_string \"https://rpc.testnet.moonbeam.network\""},"value":"https://rpc.testnet.moonbeam.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f3c53069778183912da77a05fe67c3d6edb208ffdf1ca0161d51543035e3c68","typeString":"literal_string \"Moonbase\""},{"typeIdentifier":"t_rational_1287_by_1","typeString":"int_const 1287"},{"typeIdentifier":"t_stringliteral_611da7a50d9bf940412b47209c78030562dd2047afcf97dad69e15217355b585","typeString":"literal_string \"https://rpc.testnet.moonbeam.network\""}],"id":3904,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11053:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:67:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccd05eb377a4954d8471e48341881dadc4d2a36094f09ce309d35b3b6204f44e","typeString":"literal_string \"moonbase\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3902,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11015:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11015:106:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3910,"nodeType":"ExpressionStatement","src":"11015:106:5"},{"expression":{"arguments":[{"hexValue":"626173655f7365706f6c6961","id":3912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11157:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_40f5ce1e060576e5bb027cec6e47b8e25f62225f6819b727a8b3b65f474b0579","typeString":"literal_string \"base_sepolia\""},"value":"base_sepolia"},{"arguments":[{"hexValue":"42617365205365706f6c6961","id":3914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11183:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4302f54daff87a391f27ad11679cb16c1ec4c4676bf1145291eff47852bb3951","typeString":"literal_string \"Base Sepolia\""},"value":"Base Sepolia"},{"hexValue":"3834353332","id":3915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11199:5:5","typeDescriptions":{"typeIdentifier":"t_rational_84532_by_1","typeString":"int_const 84532"},"value":"84532"},{"hexValue":"68747470733a2f2f7365706f6c69612e626173652e6f7267","id":3916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11206:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_64dd31038d7f53a8cfd73e6409052ea93b6797747302995b002ca2468e7a19f5","typeString":"literal_string \"https://sepolia.base.org\""},"value":"https://sepolia.base.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4302f54daff87a391f27ad11679cb16c1ec4c4676bf1145291eff47852bb3951","typeString":"literal_string \"Base Sepolia\""},{"typeIdentifier":"t_rational_84532_by_1","typeString":"int_const 84532"},{"typeIdentifier":"t_stringliteral_64dd31038d7f53a8cfd73e6409052ea93b6797747302995b002ca2468e7a19f5","typeString":"literal_string \"https://sepolia.base.org\""}],"id":3913,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11173:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11173:60:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40f5ce1e060576e5bb027cec6e47b8e25f62225f6819b727a8b3b65f474b0579","typeString":"literal_string \"base_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3911,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11131:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11131:103:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3919,"nodeType":"ExpressionStatement","src":"11131:103:5"},{"expression":{"arguments":[{"hexValue":"62617365","id":3921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11270:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f","typeString":"literal_string \"base\""},"value":"base"},{"arguments":[{"hexValue":"42617365","id":3923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11288:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ae0ac2f852a779a7f563e86fd9f7493133d36d105b67aa4ae634de521805c78","typeString":"literal_string \"Base\""},"value":"Base"},{"hexValue":"38343533","id":3924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11296:4:5","typeDescriptions":{"typeIdentifier":"t_rational_8453_by_1","typeString":"int_const 8453"},"value":"8453"},{"hexValue":"68747470733a2f2f6d61696e6e65742e626173652e6f7267","id":3925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11302:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7cada1c9191e2f8d595127a4d3f6fa90fd263d9c81f2466ebe2e780722f9202","typeString":"literal_string \"https://mainnet.base.org\""},"value":"https://mainnet.base.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ae0ac2f852a779a7f563e86fd9f7493133d36d105b67aa4ae634de521805c78","typeString":"literal_string \"Base\""},{"typeIdentifier":"t_rational_8453_by_1","typeString":"int_const 8453"},{"typeIdentifier":"t_stringliteral_a7cada1c9191e2f8d595127a4d3f6fa90fd263d9c81f2466ebe2e780722f9202","typeString":"literal_string \"https://mainnet.base.org\""}],"id":3922,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11278:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11278:51:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f","typeString":"literal_string \"base\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3920,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11244:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11244:86:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3928,"nodeType":"ExpressionStatement","src":"11244:86:5"},{"expression":{"arguments":[{"hexValue":"626c6173745f7365706f6c6961","id":3930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11366:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_994871fd85735b80fc101a7bc1ba23b652d20d656ed6bdf5b26d974bbe38a8ce","typeString":"literal_string \"blast_sepolia\""},"value":"blast_sepolia"},{"arguments":[{"hexValue":"426c617374205365706f6c6961","id":3932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11393:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_aca96c68944e335d2b1293b78f53b9df0a29846df8dce2ed5b0da1ae3cb18429","typeString":"literal_string \"Blast Sepolia\""},"value":"Blast Sepolia"},{"hexValue":"313638353837373733","id":3933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11410:9:5","typeDescriptions":{"typeIdentifier":"t_rational_168587773_by_1","typeString":"int_const 168587773"},"value":"168587773"},{"hexValue":"68747470733a2f2f7365706f6c69612e626c6173742e696f","id":3934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11421:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cf31ff7d880bc9630920378a25b6d66eee96794c2c50cb2d200ff7a0ce5768c","typeString":"literal_string \"https://sepolia.blast.io\""},"value":"https://sepolia.blast.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aca96c68944e335d2b1293b78f53b9df0a29846df8dce2ed5b0da1ae3cb18429","typeString":"literal_string \"Blast Sepolia\""},{"typeIdentifier":"t_rational_168587773_by_1","typeString":"int_const 168587773"},{"typeIdentifier":"t_stringliteral_1cf31ff7d880bc9630920378a25b6d66eee96794c2c50cb2d200ff7a0ce5768c","typeString":"literal_string \"https://sepolia.blast.io\""}],"id":3931,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11383:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11383:65:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_994871fd85735b80fc101a7bc1ba23b652d20d656ed6bdf5b26d974bbe38a8ce","typeString":"literal_string \"blast_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3929,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11340:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11340:109:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3937,"nodeType":"ExpressionStatement","src":"11340:109:5"},{"expression":{"arguments":[{"hexValue":"626c617374","id":3939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11485:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_edf839a6b71363a2663cc0c8ffcf15606693adcc9ca9c568aeb87895fd70b0ec","typeString":"literal_string \"blast\""},"value":"blast"},{"arguments":[{"hexValue":"426c617374","id":3941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11504:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b94971ac04d596524d45bcf53505c621ede60829afbe43ffb3789c8d10810a8","typeString":"literal_string \"Blast\""},"value":"Blast"},{"hexValue":"3831343537","id":3942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11513:5:5","typeDescriptions":{"typeIdentifier":"t_rational_81457_by_1","typeString":"int_const 81457"},"value":"81457"},{"hexValue":"68747470733a2f2f7270632e626c6173742e696f","id":3943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11520:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3358c4aeeee5f7c57914d7763a157022d948cd26527b58cb169c56b42ba12a8","typeString":"literal_string \"https://rpc.blast.io\""},"value":"https://rpc.blast.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b94971ac04d596524d45bcf53505c621ede60829afbe43ffb3789c8d10810a8","typeString":"literal_string \"Blast\""},{"typeIdentifier":"t_rational_81457_by_1","typeString":"int_const 81457"},{"typeIdentifier":"t_stringliteral_f3358c4aeeee5f7c57914d7763a157022d948cd26527b58cb169c56b42ba12a8","typeString":"literal_string \"https://rpc.blast.io\""}],"id":3940,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11494:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11494:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_edf839a6b71363a2663cc0c8ffcf15606693adcc9ca9c568aeb87895fd70b0ec","typeString":"literal_string \"blast\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3938,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11459:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11459:85:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3946,"nodeType":"ExpressionStatement","src":"11459:85:5"},{"expression":{"arguments":[{"hexValue":"66616e746f6d5f6f70657261","id":3948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11580:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_efab6b6b003f1806d03e940e3af2c8bdf94c0c15afcd0102f79e1131fb05c2d8","typeString":"literal_string \"fantom_opera\""},"value":"fantom_opera"},{"arguments":[{"hexValue":"46616e746f6d204f70657261","id":3950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11606:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_70e6474318e559e3d7232f43dcb4c49a66cb83d3b46f20c3c7348fba762247cd","typeString":"literal_string \"Fantom Opera\""},"value":"Fantom Opera"},{"hexValue":"323530","id":3951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11622:3:5","typeDescriptions":{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},"value":"250"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f66616e746f6d2f","id":3952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11627:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_86e240464e047cac971d5f86fa6a105c7a5200638459dd69bf187edaf36e1590","typeString":"literal_string \"https://rpc.ankr.com/fantom/\""},"value":"https://rpc.ankr.com/fantom/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70e6474318e559e3d7232f43dcb4c49a66cb83d3b46f20c3c7348fba762247cd","typeString":"literal_string \"Fantom Opera\""},{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},{"typeIdentifier":"t_stringliteral_86e240464e047cac971d5f86fa6a105c7a5200638459dd69bf187edaf36e1590","typeString":"literal_string \"https://rpc.ankr.com/fantom/\""}],"id":3949,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11596:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11596:62:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_efab6b6b003f1806d03e940e3af2c8bdf94c0c15afcd0102f79e1131fb05c2d8","typeString":"literal_string \"fantom_opera\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3947,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11554:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11554:105:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3955,"nodeType":"ExpressionStatement","src":"11554:105:5"},{"expression":{"arguments":[{"hexValue":"66616e746f6d5f6f706572615f746573746e6574","id":3957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11708:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e81f9053d1530b1141c62bc583685976f395bd82d5e5a191ca56bde88753243c","typeString":"literal_string \"fantom_opera_testnet\""},"value":"fantom_opera_testnet"},{"arguments":[{"hexValue":"46616e746f6d204f7065726120546573746e6574","id":3959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11742:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_774e6dd0df25c08862c1aba23c14a65527538bc21375c3b4779f0ab53c8a6387","typeString":"literal_string \"Fantom Opera Testnet\""},"value":"Fantom Opera Testnet"},{"hexValue":"34303032","id":3960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11766:4:5","typeDescriptions":{"typeIdentifier":"t_rational_4002_by_1","typeString":"int_const 4002"},"value":"4002"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f66616e746f6d5f746573746e65742f","id":3961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11772:38:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c2ee0e3736d2ffc13dc640036e456ff8581e9526282a3ebd5020acb016a2f0f","typeString":"literal_string \"https://rpc.ankr.com/fantom_testnet/\""},"value":"https://rpc.ankr.com/fantom_testnet/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_774e6dd0df25c08862c1aba23c14a65527538bc21375c3b4779f0ab53c8a6387","typeString":"literal_string \"Fantom Opera Testnet\""},{"typeIdentifier":"t_rational_4002_by_1","typeString":"int_const 4002"},{"typeIdentifier":"t_stringliteral_0c2ee0e3736d2ffc13dc640036e456ff8581e9526282a3ebd5020acb016a2f0f","typeString":"literal_string \"https://rpc.ankr.com/fantom_testnet/\""}],"id":3958,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11732:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11732:79:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e81f9053d1530b1141c62bc583685976f395bd82d5e5a191ca56bde88753243c","typeString":"literal_string \"fantom_opera_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3956,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11669:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11669:152:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3964,"nodeType":"ExpressionStatement","src":"11669:152:5"},{"expression":{"arguments":[{"hexValue":"6672617874616c","id":3966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11857:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_39520897016aaf0ab8e5bf7b0c72c0875359483112298e4b64220a3abfb31c1a","typeString":"literal_string \"fraxtal\""},"value":"fraxtal"},{"arguments":[{"hexValue":"4672617874616c","id":3968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11878:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_258a91ae779c05105302c0ca8434df9790a9dacc2a8d962203ef42cdff863a26","typeString":"literal_string \"Fraxtal\""},"value":"Fraxtal"},{"hexValue":"323532","id":3969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11889:3:5","typeDescriptions":{"typeIdentifier":"t_rational_252_by_1","typeString":"int_const 252"},"value":"252"},{"hexValue":"68747470733a2f2f7270632e667261782e636f6d","id":3970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11894:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b64bb600df7e2957113c841c567f3ce6aa968babbf2ca546497c7c808b6975e","typeString":"literal_string \"https://rpc.frax.com\""},"value":"https://rpc.frax.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_258a91ae779c05105302c0ca8434df9790a9dacc2a8d962203ef42cdff863a26","typeString":"literal_string \"Fraxtal\""},{"typeIdentifier":"t_rational_252_by_1","typeString":"int_const 252"},{"typeIdentifier":"t_stringliteral_1b64bb600df7e2957113c841c567f3ce6aa968babbf2ca546497c7c808b6975e","typeString":"literal_string \"https://rpc.frax.com\""}],"id":3967,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11868:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11868:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39520897016aaf0ab8e5bf7b0c72c0875359483112298e4b64220a3abfb31c1a","typeString":"literal_string \"fraxtal\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3965,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11831:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11831:87:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3973,"nodeType":"ExpressionStatement","src":"11831:87:5"},{"expression":{"arguments":[{"hexValue":"6672617874616c5f746573746e6574","id":3975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11954:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_25a8d3f8b42e5ee6eb46a7e906575c3f65c7d75f89e14d4f1980b180625cf40d","typeString":"literal_string \"fraxtal_testnet\""},"value":"fraxtal_testnet"},{"arguments":[{"hexValue":"4672617874616c20546573746e6574","id":3977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11983:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fd54ce348914a0de2945cd0a56373f7fc69c9aa205c9e9f7836ef06688a009","typeString":"literal_string \"Fraxtal Testnet\""},"value":"Fraxtal Testnet"},{"hexValue":"32353232","id":3978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12002:4:5","typeDescriptions":{"typeIdentifier":"t_rational_2522_by_1","typeString":"int_const 2522"},"value":"2522"},{"hexValue":"68747470733a2f2f7270632e746573746e65742e667261782e636f6d","id":3979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12008:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_12e6821fb9893e70ea8e6b012b4fcfb4682180e2d4c75ac5fb9c7e85c0a0d241","typeString":"literal_string \"https://rpc.testnet.frax.com\""},"value":"https://rpc.testnet.frax.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fd54ce348914a0de2945cd0a56373f7fc69c9aa205c9e9f7836ef06688a009","typeString":"literal_string \"Fraxtal Testnet\""},{"typeIdentifier":"t_rational_2522_by_1","typeString":"int_const 2522"},{"typeIdentifier":"t_stringliteral_12e6821fb9893e70ea8e6b012b4fcfb4682180e2d4c75ac5fb9c7e85c0a0d241","typeString":"literal_string \"https://rpc.testnet.frax.com\""}],"id":3976,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11973:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11973:66:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25a8d3f8b42e5ee6eb46a7e906575c3f65c7d75f89e14d4f1980b180625cf40d","typeString":"literal_string \"fraxtal_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3974,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11928:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11928:112:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3982,"nodeType":"ExpressionStatement","src":"11928:112:5"},{"expression":{"arguments":[{"hexValue":"62657261636861696e5f62617274696f5f746573746e6574","id":3984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12089:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1b25da3f610bf5b5175af87c49eb357a02eb70056225877297844a59fb4f4f8","typeString":"literal_string \"berachain_bartio_testnet\""},"value":"berachain_bartio_testnet"},{"arguments":[{"hexValue":"42657261636861696e2062417274696f20546573746e6574","id":3986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12127:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_b167f92573ac2bdc8409b33d6661c61294f1237898227341da2e3b368cb5bc05","typeString":"literal_string \"Berachain bArtio Testnet\""},"value":"Berachain bArtio Testnet"},{"hexValue":"3830303834","id":3987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12155:5:5","typeDescriptions":{"typeIdentifier":"t_rational_80084_by_1","typeString":"int_const 80084"},"value":"80084"},{"hexValue":"68747470733a2f2f62617274696f2e7270632e62657261636861696e2e636f6d","id":3988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12162:34:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_897c63542fb738805bf0d62cbd83a47219016d3e63992786094c0c012671bdaa","typeString":"literal_string \"https://bartio.rpc.berachain.com\""},"value":"https://bartio.rpc.berachain.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b167f92573ac2bdc8409b33d6661c61294f1237898227341da2e3b368cb5bc05","typeString":"literal_string \"Berachain bArtio Testnet\""},{"typeIdentifier":"t_rational_80084_by_1","typeString":"int_const 80084"},{"typeIdentifier":"t_stringliteral_897c63542fb738805bf0d62cbd83a47219016d3e63992786094c0c012671bdaa","typeString":"literal_string \"https://bartio.rpc.berachain.com\""}],"id":3985,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12117:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12117:80:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1b25da3f610bf5b5175af87c49eb357a02eb70056225877297844a59fb4f4f8","typeString":"literal_string \"berachain_bartio_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3983,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12050:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12050:157:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3991,"nodeType":"ExpressionStatement","src":"12050:157:5"},{"expression":{"arguments":[{"hexValue":"666c617265","id":3993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12243:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f18d3cef363ef3d9b2f893c01a845645821d99eb19f05a6a335a4ffcded27a57","typeString":"literal_string \"flare\""},"value":"flare"},{"arguments":[{"hexValue":"466c617265","id":3995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12262:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8548a93f9ff6cd6257dd7ca62095cb0e26ca88adfc7d9de9897d5f8b3422acc","typeString":"literal_string \"Flare\""},"value":"Flare"},{"hexValue":"3134","id":3996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12271:2:5","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"hexValue":"68747470733a2f2f666c6172652d6170692e666c6172652e6e6574776f726b2f6578742f432f727063","id":3997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12275:43:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8af3ebfbaaff92c3d7e36647eebca0601e026a34b8f2db5d800ab1b40bd8fe3","typeString":"literal_string \"https://flare-api.flare.network/ext/C/rpc\""},"value":"https://flare-api.flare.network/ext/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d8548a93f9ff6cd6257dd7ca62095cb0e26ca88adfc7d9de9897d5f8b3422acc","typeString":"literal_string \"Flare\""},{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},{"typeIdentifier":"t_stringliteral_d8af3ebfbaaff92c3d7e36647eebca0601e026a34b8f2db5d800ab1b40bd8fe3","typeString":"literal_string \"https://flare-api.flare.network/ext/C/rpc\""}],"id":3994,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12252:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12252:67:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f18d3cef363ef3d9b2f893c01a845645821d99eb19f05a6a335a4ffcded27a57","typeString":"literal_string \"flare\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3992,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12217:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12217:103:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4000,"nodeType":"ExpressionStatement","src":"12217:103:5"},{"expression":{"arguments":[{"hexValue":"666c6172655f636f73746f6e32","id":4002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12369:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5f9c1a8f191c1c83cb750d2196b8bf7e0aec4ee77ddcbdcee181bc95d559029","typeString":"literal_string \"flare_coston2\""},"value":"flare_coston2"},{"arguments":[{"hexValue":"466c61726520436f73746f6e32","id":4004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12396:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f8cb824946e5729c9a680a4578ad73e102e293c5883743909742a53d48d7046","typeString":"literal_string \"Flare Coston2\""},"value":"Flare Coston2"},{"hexValue":"313134","id":4005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12413:3:5","typeDescriptions":{"typeIdentifier":"t_rational_114_by_1","typeString":"int_const 114"},"value":"114"},{"hexValue":"68747470733a2f2f636f73746f6e322d6170692e666c6172652e6e6574776f726b2f6578742f432f727063","id":4006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12418:45:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3cb269ef22af0ba99bbdba566b50ef497d19b5fd15b9d3f08f3a579d7f3cb84","typeString":"literal_string \"https://coston2-api.flare.network/ext/C/rpc\""},"value":"https://coston2-api.flare.network/ext/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f8cb824946e5729c9a680a4578ad73e102e293c5883743909742a53d48d7046","typeString":"literal_string \"Flare Coston2\""},{"typeIdentifier":"t_rational_114_by_1","typeString":"int_const 114"},{"typeIdentifier":"t_stringliteral_c3cb269ef22af0ba99bbdba566b50ef497d19b5fd15b9d3f08f3a579d7f3cb84","typeString":"literal_string \"https://coston2-api.flare.network/ext/C/rpc\""}],"id":4003,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12386:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12386:78:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5f9c1a8f191c1c83cb750d2196b8bf7e0aec4ee77ddcbdcee181bc95d559029","typeString":"literal_string \"flare_coston2\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4001,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12330:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12330:144:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4009,"nodeType":"ExpressionStatement","src":"12330:144:5"},{"expression":{"arguments":[{"hexValue":"6d6f6465","id":4011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12511:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_93ad29622c7a43be4ba50a1e97ec04a11d86740d6e621d111f2e1b8ce170acae","typeString":"literal_string \"mode\""},"value":"mode"},{"arguments":[{"hexValue":"4d6f6465","id":4013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12529:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_b083c1fb3605071b501d7ccea5973ccb4daea9d66fc6201f9648679019164744","typeString":"literal_string \"Mode\""},"value":"Mode"},{"hexValue":"3334343433","id":4014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12537:5:5","typeDescriptions":{"typeIdentifier":"t_rational_34443_by_1","typeString":"int_const 34443"},"value":"34443"},{"hexValue":"68747470733a2f2f6d6f64652e647270632e6f7267","id":4015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12544:23:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_5507c21af74ffc4262ed1cccb692d29bdfe542934a89073f8df0ef6a8687bb99","typeString":"literal_string \"https://mode.drpc.org\""},"value":"https://mode.drpc.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b083c1fb3605071b501d7ccea5973ccb4daea9d66fc6201f9648679019164744","typeString":"literal_string \"Mode\""},{"typeIdentifier":"t_rational_34443_by_1","typeString":"int_const 34443"},{"typeIdentifier":"t_stringliteral_5507c21af74ffc4262ed1cccb692d29bdfe542934a89073f8df0ef6a8687bb99","typeString":"literal_string \"https://mode.drpc.org\""}],"id":4012,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12519:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12519:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_93ad29622c7a43be4ba50a1e97ec04a11d86740d6e621d111f2e1b8ce170acae","typeString":"literal_string \"mode\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4010,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12485:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:84:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4018,"nodeType":"ExpressionStatement","src":"12485:84:5"},{"expression":{"arguments":[{"hexValue":"6d6f64655f7365706f6c6961","id":4020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12605:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_615913243468d25d30af1a00c8c7c731015175e8162de72bfa2d4f0cf1f75615","typeString":"literal_string \"mode_sepolia\""},"value":"mode_sepolia"},{"arguments":[{"hexValue":"4d6f6465205365706f6c6961","id":4022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12631:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc042c0c71914faccd09a991413f304a784bf30676e686991b3266f0de1f77fd","typeString":"literal_string \"Mode Sepolia\""},"value":"Mode Sepolia"},{"hexValue":"393139","id":4023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12647:3:5","typeDescriptions":{"typeIdentifier":"t_rational_919_by_1","typeString":"int_const 919"},"value":"919"},{"hexValue":"68747470733a2f2f7365706f6c69612e6d6f64652e6e6574776f726b","id":4024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12652:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c46328c11a1a8b2fb9e9ca6e68a01ec4b52521e68ed7d83e4014987bf8ba76f","typeString":"literal_string \"https://sepolia.mode.network\""},"value":"https://sepolia.mode.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc042c0c71914faccd09a991413f304a784bf30676e686991b3266f0de1f77fd","typeString":"literal_string \"Mode Sepolia\""},{"typeIdentifier":"t_rational_919_by_1","typeString":"int_const 919"},{"typeIdentifier":"t_stringliteral_7c46328c11a1a8b2fb9e9ca6e68a01ec4b52521e68ed7d83e4014987bf8ba76f","typeString":"literal_string \"https://sepolia.mode.network\""}],"id":4021,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12621:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12621:62:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_615913243468d25d30af1a00c8c7c731015175e8162de72bfa2d4f0cf1f75615","typeString":"literal_string \"mode_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4019,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12579:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12579:105:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4027,"nodeType":"ExpressionStatement","src":"12579:105:5"},{"expression":{"arguments":[{"hexValue":"7a6f7261","id":4029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12721:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cd8441f092e5a18599b85f90db915274c2c2e41af27b6e4df466c9c091553d0","typeString":"literal_string \"zora\""},"value":"zora"},{"arguments":[{"hexValue":"5a6f7261","id":4031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12739:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_91beda2a71cae260ce24b7d0ba9253f7212b59cbe39b0f303ac34fac7c00047d","typeString":"literal_string \"Zora\""},"value":"Zora"},{"hexValue":"37373737373737","id":4032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12747:7:5","typeDescriptions":{"typeIdentifier":"t_rational_7777777_by_1","typeString":"int_const 7777777"},"value":"7777777"},{"hexValue":"68747470733a2f2f7a6f72612e647270632e6f7267","id":4033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12756:23:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_83756f94519c3d72802947d8ced23d2d44132e55bc08ebe2e7705a90896a8253","typeString":"literal_string \"https://zora.drpc.org\""},"value":"https://zora.drpc.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91beda2a71cae260ce24b7d0ba9253f7212b59cbe39b0f303ac34fac7c00047d","typeString":"literal_string \"Zora\""},{"typeIdentifier":"t_rational_7777777_by_1","typeString":"int_const 7777777"},{"typeIdentifier":"t_stringliteral_83756f94519c3d72802947d8ced23d2d44132e55bc08ebe2e7705a90896a8253","typeString":"literal_string \"https://zora.drpc.org\""}],"id":4030,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12729:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12729:51:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cd8441f092e5a18599b85f90db915274c2c2e41af27b6e4df466c9c091553d0","typeString":"literal_string \"zora\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4028,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12695:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12695:86:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4036,"nodeType":"ExpressionStatement","src":"12695:86:5"},{"expression":{"arguments":[{"hexValue":"7a6f72615f7365706f6c6961","id":4038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12830:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8730143b0b00fc2fcb9e8bb3d7ee42f220c40f670d47c89317ce107b768efbb6","typeString":"literal_string \"zora_sepolia\""},"value":"zora_sepolia"},{"arguments":[{"hexValue":"5a6f7261205365706f6c6961","id":4040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12856:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_daefb4bac2caa4d8c54d0dbe02e430895b0d45abea7ca560100ece36c8374662","typeString":"literal_string \"Zora Sepolia\""},"value":"Zora Sepolia"},{"hexValue":"393939393939393939","id":4041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12872:9:5","typeDescriptions":{"typeIdentifier":"t_rational_999999999_by_1","typeString":"int_const 999999999"},"value":"999999999"},{"hexValue":"68747470733a2f2f7365706f6c69612e7270632e7a6f72612e656e65726779","id":4042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12883:33:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d670a424d428055103ac32edd1b30a8f0b037b80f6dfe181938ef88e9a34e5c","typeString":"literal_string \"https://sepolia.rpc.zora.energy\""},"value":"https://sepolia.rpc.zora.energy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daefb4bac2caa4d8c54d0dbe02e430895b0d45abea7ca560100ece36c8374662","typeString":"literal_string \"Zora Sepolia\""},{"typeIdentifier":"t_rational_999999999_by_1","typeString":"int_const 999999999"},{"typeIdentifier":"t_stringliteral_8d670a424d428055103ac32edd1b30a8f0b037b80f6dfe181938ef88e9a34e5c","typeString":"literal_string \"https://sepolia.rpc.zora.energy\""}],"id":4039,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12846:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12846:71:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8730143b0b00fc2fcb9e8bb3d7ee42f220c40f670d47c89317ce107b768efbb6","typeString":"literal_string \"zora_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4037,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12791:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12791:136:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4045,"nodeType":"ExpressionStatement","src":"12791:136:5"},{"expression":{"arguments":[{"hexValue":"72616365","id":4047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12964:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ad2aa4c12d96722dfceb21f2268c3f1a6ca86b0ae708fb2fef212f0be618a04","typeString":"literal_string \"race\""},"value":"race"},{"arguments":[{"hexValue":"52616365","id":4049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12982:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_07f73149c5b0cbfa2a84e787fa37bcf27f364fb4bcda526bfa767820094a3480","typeString":"literal_string \"Race\""},"value":"Race"},{"hexValue":"36383035","id":4050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12990:4:5","typeDescriptions":{"typeIdentifier":"t_rational_6805_by_1","typeString":"int_const 6805"},"value":"6805"},{"hexValue":"68747470733a2f2f726163656d61696e6e65742e696f","id":4051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12996:24:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""},"value":"https://racemainnet.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07f73149c5b0cbfa2a84e787fa37bcf27f364fb4bcda526bfa767820094a3480","typeString":"literal_string \"Race\""},{"typeIdentifier":"t_rational_6805_by_1","typeString":"int_const 6805"},{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""}],"id":4048,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12972:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12972:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ad2aa4c12d96722dfceb21f2268c3f1a6ca86b0ae708fb2fef212f0be618a04","typeString":"literal_string \"race\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4046,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12938:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12938:84:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4054,"nodeType":"ExpressionStatement","src":"12938:84:5"},{"expression":{"arguments":[{"hexValue":"726163655f7365706f6c6961","id":4056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13058:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_14aedb5333da63e7f32927d4a2f4db1b2024a5457e27a26af4a133340a6f636e","typeString":"literal_string \"race_sepolia\""},"value":"race_sepolia"},{"arguments":[{"hexValue":"52616365205365706f6c6961","id":4058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13084:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_936668e281d29420bc428f3f1e6990ef0a6b4e2663ca1933b122d411c07e7fe9","typeString":"literal_string \"Race Sepolia\""},"value":"Race Sepolia"},{"hexValue":"36383036","id":4059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13100:4:5","typeDescriptions":{"typeIdentifier":"t_rational_6806_by_1","typeString":"int_const 6806"},"value":"6806"},{"hexValue":"68747470733a2f2f726163656d61696e6e65742e696f","id":4060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13106:24:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""},"value":"https://racemainnet.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_936668e281d29420bc428f3f1e6990ef0a6b4e2663ca1933b122d411c07e7fe9","typeString":"literal_string \"Race Sepolia\""},{"typeIdentifier":"t_rational_6806_by_1","typeString":"int_const 6806"},{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""}],"id":4057,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13074:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13074:57:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_14aedb5333da63e7f32927d4a2f4db1b2024a5457e27a26af4a133340a6f636e","typeString":"literal_string \"race_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4055,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13032:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13032:100:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4063,"nodeType":"ExpressionStatement","src":"13032:100:5"},{"expression":{"arguments":[{"hexValue":"6d6574616c","id":4065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13169:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_5aa9e9a91810a37381965e10e482ee971c45f0a345e483b98f2d30be02d66531","typeString":"literal_string \"metal\""},"value":"metal"},{"arguments":[{"hexValue":"4d6574616c","id":4067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13188:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_44806556e440d835a6556d2a21cd4d59f4c8280adda7f9588c822c3ac0710e16","typeString":"literal_string \"Metal\""},"value":"Metal"},{"hexValue":"31373530","id":4068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13197:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1750_by_1","typeString":"int_const 1750"},"value":"1750"},{"hexValue":"68747470733a2f2f6d6574616c6c322e647270632e6f7267","id":4069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13203:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b708eb96b733c0e63f0f8abd0882bb40c09b33bea4c96e69604f4f9485cc52","typeString":"literal_string \"https://metall2.drpc.org\""},"value":"https://metall2.drpc.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_44806556e440d835a6556d2a21cd4d59f4c8280adda7f9588c822c3ac0710e16","typeString":"literal_string \"Metal\""},{"typeIdentifier":"t_rational_1750_by_1","typeString":"int_const 1750"},{"typeIdentifier":"t_stringliteral_a5b708eb96b733c0e63f0f8abd0882bb40c09b33bea4c96e69604f4f9485cc52","typeString":"literal_string \"https://metall2.drpc.org\""}],"id":4066,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13178:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13178:52:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5aa9e9a91810a37381965e10e482ee971c45f0a345e483b98f2d30be02d66531","typeString":"literal_string \"metal\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4064,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13143:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13143:88:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4072,"nodeType":"ExpressionStatement","src":"13143:88:5"},{"expression":{"arguments":[{"hexValue":"6d6574616c5f7365706f6c6961","id":4074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13267:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4fa56e5554cc6d35f0585438cfaea3f09de71232dcc98626bab7cd13167260dd","typeString":"literal_string \"metal_sepolia\""},"value":"metal_sepolia"},{"arguments":[{"hexValue":"4d6574616c205365706f6c6961","id":4076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13294:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_678db06aa0e01ef48de85b845d0253ec9d349dbd394deef4f225eb46cea15ad7","typeString":"literal_string \"Metal Sepolia\""},"value":"Metal Sepolia"},{"hexValue":"31373430","id":4077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13311:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1740_by_1","typeString":"int_const 1740"},"value":"1740"},{"hexValue":"68747470733a2f2f746573746e65742e7270632e6d6574616c6c322e636f6d","id":4078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13317:33:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_50811606e12ae2091161f930288148c86d6408c2333ecd75b46b674515cef1e0","typeString":"literal_string \"https://testnet.rpc.metall2.com\""},"value":"https://testnet.rpc.metall2.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678db06aa0e01ef48de85b845d0253ec9d349dbd394deef4f225eb46cea15ad7","typeString":"literal_string \"Metal Sepolia\""},{"typeIdentifier":"t_rational_1740_by_1","typeString":"int_const 1740"},{"typeIdentifier":"t_stringliteral_50811606e12ae2091161f930288148c86d6408c2333ecd75b46b674515cef1e0","typeString":"literal_string \"https://testnet.rpc.metall2.com\""}],"id":4075,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13284:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13284:67:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4fa56e5554cc6d35f0585438cfaea3f09de71232dcc98626bab7cd13167260dd","typeString":"literal_string \"metal_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4073,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13241:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13241:111:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4081,"nodeType":"ExpressionStatement","src":"13241:111:5"},{"expression":{"arguments":[{"hexValue":"62696e617279","id":4083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13389:8:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_29b663aa319210a8ea1df752e4fba32b1df8d64dcd24815fae2aac3f4afc8e85","typeString":"literal_string \"binary\""},"value":"binary"},{"arguments":[{"hexValue":"42696e617279","id":4085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13409:8:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_016d658c935a4c4ebdb218d1bbdb9ec6616d456bd4575509224c2587e85f3ad4","typeString":"literal_string \"Binary\""},"value":"Binary"},{"hexValue":"363234","id":4086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13419:3:5","typeDescriptions":{"typeIdentifier":"t_rational_624_by_1","typeString":"int_const 624"},"value":"624"},{"hexValue":"68747470733a2f2f7270632e7a65726f2e74686562696e617279686f6c64696e67732e636f6d","id":4087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13424:40:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""},"value":"https://rpc.zero.thebinaryholdings.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_016d658c935a4c4ebdb218d1bbdb9ec6616d456bd4575509224c2587e85f3ad4","typeString":"literal_string \"Binary\""},{"typeIdentifier":"t_rational_624_by_1","typeString":"int_const 624"},{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""}],"id":4084,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13399:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13399:66:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_29b663aa319210a8ea1df752e4fba32b1df8d64dcd24815fae2aac3f4afc8e85","typeString":"literal_string \"binary\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4082,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13363:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13363:103:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4090,"nodeType":"ExpressionStatement","src":"13363:103:5"},{"expression":{"arguments":[{"hexValue":"62696e6172795f7365706f6c6961","id":4092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13515:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f42891460a8b750ed84d65191f6a8b0f8c2cf4579e838da4647883c473d38586","typeString":"literal_string \"binary_sepolia\""},"value":"binary_sepolia"},{"arguments":[{"hexValue":"42696e617279205365706f6c6961","id":4094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13543:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_304655cef9d2cd5f68dd5d8a176a4133b08ce153db3c75c0de816437115b4206","typeString":"literal_string \"Binary Sepolia\""},"value":"Binary Sepolia"},{"hexValue":"363235","id":4095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13561:3:5","typeDescriptions":{"typeIdentifier":"t_rational_625_by_1","typeString":"int_const 625"},"value":"625"},{"hexValue":"68747470733a2f2f7270632e7a65726f2e74686562696e617279686f6c64696e67732e636f6d","id":4096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13566:40:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""},"value":"https://rpc.zero.thebinaryholdings.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_304655cef9d2cd5f68dd5d8a176a4133b08ce153db3c75c0de816437115b4206","typeString":"literal_string \"Binary Sepolia\""},{"typeIdentifier":"t_rational_625_by_1","typeString":"int_const 625"},{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""}],"id":4093,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13533:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13533:74:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f42891460a8b750ed84d65191f6a8b0f8c2cf4579e838da4647883c473d38586","typeString":"literal_string \"binary_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4091,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13476:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13476:141:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4099,"nodeType":"ExpressionStatement","src":"13476:141:5"},{"expression":{"arguments":[{"hexValue":"6f726465726c79","id":4101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13654:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_95d85ced8adb371760e4b6437896a075632fbd6cefe699f8125a8bc1d9b19e5b","typeString":"literal_string \"orderly\""},"value":"orderly"},{"arguments":[{"hexValue":"4f726465726c79","id":4103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13675:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c1a3bdc74975983ef8e9e74f5ca7b15aa21f916bc5135b38332d4b395d83b437","typeString":"literal_string \"Orderly\""},"value":"Orderly"},{"hexValue":"323931","id":4104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13686:3:5","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"291"},{"hexValue":"68747470733a2f2f7270632e6f726465726c792e6e6574776f726b","id":4105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13691:29:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7f4cd4553e5162711fac16ca5e64dea931629c51f483779d8f760dda758d74b","typeString":"literal_string \"https://rpc.orderly.network\""},"value":"https://rpc.orderly.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c1a3bdc74975983ef8e9e74f5ca7b15aa21f916bc5135b38332d4b395d83b437","typeString":"literal_string \"Orderly\""},{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},{"typeIdentifier":"t_stringliteral_d7f4cd4553e5162711fac16ca5e64dea931629c51f483779d8f760dda758d74b","typeString":"literal_string \"https://rpc.orderly.network\""}],"id":4102,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13665:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13665:56:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95d85ced8adb371760e4b6437896a075632fbd6cefe699f8125a8bc1d9b19e5b","typeString":"literal_string \"orderly\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4100,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13628:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13628:94:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4108,"nodeType":"ExpressionStatement","src":"13628:94:5"},{"expression":{"arguments":[{"hexValue":"6f726465726c795f7365706f6c6961","id":4110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13771:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_22e6733aad9db6cb6b3609c584796619a207a3026748b338bd3e46539805584c","typeString":"literal_string \"orderly_sepolia\""},"value":"orderly_sepolia"},{"arguments":[{"hexValue":"4f726465726c79205365706f6c6961","id":4112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13800:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_615530907dc64bebc72ba912c0aed8fa593a2db7476908cce6c19274f068bdbb","typeString":"literal_string \"Orderly Sepolia\""},"value":"Orderly Sepolia"},{"hexValue":"34343630","id":4113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13819:4:5","typeDescriptions":{"typeIdentifier":"t_rational_4460_by_1","typeString":"int_const 4460"},"value":"4460"},{"hexValue":"68747470733a2f2f746573746e65742d7270632e6f726465726c792e6f7267","id":4114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13825:33:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_bce3cfac849d1fcfd1298517233abd947fa3fb019f8442b86dc92adc11eae29b","typeString":"literal_string \"https://testnet-rpc.orderly.org\""},"value":"https://testnet-rpc.orderly.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_615530907dc64bebc72ba912c0aed8fa593a2db7476908cce6c19274f068bdbb","typeString":"literal_string \"Orderly Sepolia\""},{"typeIdentifier":"t_rational_4460_by_1","typeString":"int_const 4460"},{"typeIdentifier":"t_stringliteral_bce3cfac849d1fcfd1298517233abd947fa3fb019f8442b86dc92adc11eae29b","typeString":"literal_string \"https://testnet-rpc.orderly.org\""}],"id":4111,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13790:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13790:69:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22e6733aad9db6cb6b3609c584796619a207a3026748b338bd3e46539805584c","typeString":"literal_string \"orderly_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4109,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13732:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13732:137:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4117,"nodeType":"ExpressionStatement","src":"13732:137:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"initializeStdChains","nameLocation":"8326:19:5","parameters":{"id":3722,"nodeType":"ParameterList","parameters":[],"src":"8345:2:5"},"returnParameters":{"id":3723,"nodeType":"ParameterList","parameters":[],"src":"8356:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":4156,"nodeType":"FunctionDefinition","src":"13958:305:5","nodes":[],"body":{"id":4155,"nodeType":"Block","src":"14051:212:5","nodes":[],"statements":[{"assignments":[4128],"declarations":[{"constant":false,"id":4128,"mutability":"mutable","name":"rpcUrl","nameLocation":"14075:6:5","nodeType":"VariableDeclaration","scope":4155,"src":"14061:20:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4127,"name":"string","nodeType":"ElementaryTypeName","src":"14061:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4131,"initialValue":{"expression":{"id":4129,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4124,"src":"14084:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":4130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14090:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3225,"src":"14084:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"14061:35:5"},{"expression":{"id":4136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4132,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3244,"src":"14106:14:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":4134,"indexExpression":{"id":4133,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4121,"src":"14121:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14106:26:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4135,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4128,"src":"14135:6:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14106:35:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":4137,"nodeType":"ExpressionStatement","src":"14106:35:5"},{"expression":{"id":4142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4138,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4124,"src":"14151:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":4140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14157:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3225,"src":"14151:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"","id":4141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14166:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"src":"14151:17:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4143,"nodeType":"ExpressionStatement","src":"14151:17:5"},{"expression":{"arguments":[{"id":4145,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4121,"src":"14187:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4146,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4124,"src":"14199:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4144,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[3470,3491],"referencedDeclaration":3470,"src":"14178:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14178:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4148,"nodeType":"ExpressionStatement","src":"14178:27:5"},{"expression":{"id":4153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4149,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4124,"src":"14215:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":4151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14221:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3225,"src":"14215:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4152,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4128,"src":"14230:6:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14215:21:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4154,"nodeType":"ExpressionStatement","src":"14215:21:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChainWithDefaultRpcUrl","nameLocation":"13967:25:5","parameters":{"id":4125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4121,"mutability":"mutable","name":"chainAlias","nameLocation":"14007:10:5","nodeType":"VariableDeclaration","scope":4156,"src":"13993:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4120,"name":"string","nodeType":"ElementaryTypeName","src":"13993:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4124,"mutability":"mutable","name":"chain","nameLocation":"14036:5:5","nodeType":"VariableDeclaration","scope":4156,"src":"14019:22:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":4123,"nodeType":"UserDefinedTypeName","pathNode":{"id":4122,"name":"ChainData","nameLocations":["14019:9:5"],"nodeType":"IdentifierPath","referencedDeclaration":3226,"src":"14019:9:5"},"referencedDeclaration":3226,"src":"14019:9:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"13992:50:5"},"returnParameters":{"id":4126,"nodeType":"ParameterList","parameters":[],"src":"14051:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdChains","contractDependencies":[],"contractKind":"contract","documentation":{"id":3200,"nodeType":"StructuredDocumentation","src":"133:1799:5","text":" StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n alias used in this contract, which can be found as the first argument to the\n `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function.\n There are two main ways to use this contract:\n 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n `setChain(string memory chainAlias, Chain memory chain)`\n 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n The first time either of those are used, chains are initialized with the default set of RPC URLs.\n This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n `defaultRpcUrls`.\n The `setChain` function is straightforward, and it simply saves off the given chain data.\n The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n we want to retrieve the RPC URL for `mainnet`:\n - If you have specified data with `setChain`, it will return that.\n - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it\n is valid (e.g. a URL is specified, or an environment variable is given and exists).\n - If neither of the above conditions is met, the default data is returned.\n Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults."},"fullyImplemented":true,"linearizedBaseContracts":[4157],"name":"StdChains","nameLocation":"1951:9:5","scope":4158,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdCheats.sol":{"id":6,"ast":{"absolutePath":"lib/forge-std/src/StdCheats.sol","id":7043,"exportedSymbols":{"StdCheats":[7042],"StdCheatsSafe":[6247],"StdStorage":[8581],"Vm":[18679],"console2":[26795],"stdStorage":[10538]},"nodeType":"SourceUnit","src":"32:31777:6","nodes":[{"id":4159,"nodeType":"PragmaDirective","src":"32:31:6","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":4160,"nodeType":"PragmaDirective","src":"65:33:6","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":4163,"nodeType":"ImportDirective","src":"100:56:6","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":7043,"sourceUnit":10539,"symbolAliases":[{"foreign":{"id":4161,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"108:10:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":4162,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10538,"src":"120:10:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4165,"nodeType":"ImportDirective","src":"157:40:6","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":7043,"sourceUnit":26800,"symbolAliases":[{"foreign":{"id":4164,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"165:8:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4167,"nodeType":"ImportDirective","src":"198:28:6","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":7043,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":4166,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"206:2:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6247,"nodeType":"ContractDefinition","src":"228:24272:6","nodes":[{"id":4184,"nodeType":"VariableDeclaration","src":"266:84:6","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"286:2:6","scope":6247,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":4169,"nodeType":"UserDefinedTypeName","pathNode":{"id":4168,"name":"Vm","nameLocations":["266:2:6"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"266:2:6"},"referencedDeclaration":18679,"src":"266:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":4178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"328:17:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":4177,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"318:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"318:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"310:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4175,"name":"uint256","nodeType":"ElementaryTypeName","src":"310:7:6","typeDescriptions":{}}},"id":4180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"310:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"302:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":4173,"name":"uint160","nodeType":"ElementaryTypeName","src":"302:7:6","typeDescriptions":{}}},"id":4181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"302:46:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":4172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"294:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4171,"name":"address","nodeType":"ElementaryTypeName","src":"294:7:6","typeDescriptions":{}}},"id":4182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"294:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4170,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"291:2:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":4183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"291:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":4187,"nodeType":"VariableDeclaration","src":"357:125:6","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"382:11:6","scope":6247,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4185,"name":"uint256","nodeType":"ElementaryTypeName","src":"357:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":4186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404:78:6","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"id":4189,"nodeType":"VariableDeclaration","src":"489:27:6","nodes":[],"constant":false,"mutability":"mutable","name":"gasMeteringOff","nameLocation":"502:14:6","scope":6247,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4188,"name":"bool","nodeType":"ElementaryTypeName","src":"489:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":4206,"nodeType":"StructDefinition","src":"761:325:6","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559","members":[{"constant":false,"id":4192,"mutability":"mutable","name":"arguments","nameLocation":"797:9:6","nodeType":"VariableDeclaration","scope":4206,"src":"788:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4190,"name":"string","nodeType":"ElementaryTypeName","src":"788:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4191,"nodeType":"ArrayTypeName","src":"788:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4194,"mutability":"mutable","name":"contractAddress","nameLocation":"824:15:6","nodeType":"VariableDeclaration","scope":4206,"src":"816:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4193,"name":"address","nodeType":"ElementaryTypeName","src":"816:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4196,"mutability":"mutable","name":"contractName","nameLocation":"856:12:6","nodeType":"VariableDeclaration","scope":4206,"src":"849:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4195,"name":"string","nodeType":"ElementaryTypeName","src":"849:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4198,"mutability":"mutable","name":"functionSig","nameLocation":"923:11:6","nodeType":"VariableDeclaration","scope":4206,"src":"916:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4197,"name":"string","nodeType":"ElementaryTypeName","src":"916:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4200,"mutability":"mutable","name":"hash","nameLocation":"952:4:6","nodeType":"VariableDeclaration","scope":4206,"src":"944:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"944:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4203,"mutability":"mutable","name":"txDetail","nameLocation":"1014:8:6","nodeType":"VariableDeclaration","scope":4206,"src":"998:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":4202,"nodeType":"UserDefinedTypeName","pathNode":{"id":4201,"name":"RawTx1559Detail","nameLocations":["998:15:6"],"nodeType":"IdentifierPath","referencedDeclaration":4225,"src":"998:15:6"},"referencedDeclaration":4225,"src":"998:15:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"},{"constant":false,"id":4205,"mutability":"mutable","name":"opcode","nameLocation":"1073:6:6","nodeType":"VariableDeclaration","scope":4206,"src":"1066:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4204,"name":"string","nodeType":"ElementaryTypeName","src":"1066:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"RawTx1559","nameLocation":"768:9:6","scope":6247,"visibility":"public"},{"id":4225,"nodeType":"StructDefinition","src":"1092:208:6","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559Detail","members":[{"constant":false,"id":4210,"mutability":"mutable","name":"accessList","nameLocation":"1138:10:6","nodeType":"VariableDeclaration","scope":4225,"src":"1125:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4208,"nodeType":"UserDefinedTypeName","pathNode":{"id":4207,"name":"AccessList","nameLocations":["1125:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4317,"src":"1125:10:6"},"referencedDeclaration":4317,"src":"1125:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4317_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4209,"nodeType":"ArrayTypeName","src":"1125:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4212,"mutability":"mutable","name":"data","nameLocation":"1164:4:6","nodeType":"VariableDeclaration","scope":4225,"src":"1158:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4211,"name":"bytes","nodeType":"ElementaryTypeName","src":"1158:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4214,"mutability":"mutable","name":"from","nameLocation":"1186:4:6","nodeType":"VariableDeclaration","scope":4225,"src":"1178:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4213,"name":"address","nodeType":"ElementaryTypeName","src":"1178:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4216,"mutability":"mutable","name":"gas","nameLocation":"1206:3:6","nodeType":"VariableDeclaration","scope":4225,"src":"1200:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4215,"name":"bytes","nodeType":"ElementaryTypeName","src":"1200:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4218,"mutability":"mutable","name":"nonce","nameLocation":"1225:5:6","nodeType":"VariableDeclaration","scope":4225,"src":"1219:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4217,"name":"bytes","nodeType":"ElementaryTypeName","src":"1219:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4220,"mutability":"mutable","name":"to","nameLocation":"1248:2:6","nodeType":"VariableDeclaration","scope":4225,"src":"1240:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4219,"name":"address","nodeType":"ElementaryTypeName","src":"1240:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4222,"mutability":"mutable","name":"txType","nameLocation":"1266:6:6","nodeType":"VariableDeclaration","scope":4225,"src":"1260:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4221,"name":"bytes","nodeType":"ElementaryTypeName","src":"1260:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4224,"mutability":"mutable","name":"value","nameLocation":"1288:5:6","nodeType":"VariableDeclaration","scope":4225,"src":"1282:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4223,"name":"bytes","nodeType":"ElementaryTypeName","src":"1282:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawTx1559Detail","nameLocation":"1099:15:6","scope":6247,"visibility":"public"},{"id":4242,"nodeType":"StructDefinition","src":"1306:215:6","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559","members":[{"constant":false,"id":4228,"mutability":"mutable","name":"arguments","nameLocation":"1339:9:6","nodeType":"VariableDeclaration","scope":4242,"src":"1330:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4226,"name":"string","nodeType":"ElementaryTypeName","src":"1330:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4227,"nodeType":"ArrayTypeName","src":"1330:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4230,"mutability":"mutable","name":"contractAddress","nameLocation":"1366:15:6","nodeType":"VariableDeclaration","scope":4242,"src":"1358:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4229,"name":"address","nodeType":"ElementaryTypeName","src":"1358:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4232,"mutability":"mutable","name":"contractName","nameLocation":"1398:12:6","nodeType":"VariableDeclaration","scope":4242,"src":"1391:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4231,"name":"string","nodeType":"ElementaryTypeName","src":"1391:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4234,"mutability":"mutable","name":"functionSig","nameLocation":"1427:11:6","nodeType":"VariableDeclaration","scope":4242,"src":"1420:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4233,"name":"string","nodeType":"ElementaryTypeName","src":"1420:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4236,"mutability":"mutable","name":"hash","nameLocation":"1456:4:6","nodeType":"VariableDeclaration","scope":4242,"src":"1448:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1448:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4239,"mutability":"mutable","name":"txDetail","nameLocation":"1483:8:6","nodeType":"VariableDeclaration","scope":4242,"src":"1470:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4238,"nodeType":"UserDefinedTypeName","pathNode":{"id":4237,"name":"Tx1559Detail","nameLocations":["1470:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":4261,"src":"1470:12:6"},"referencedDeclaration":4261,"src":"1470:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"},{"constant":false,"id":4241,"mutability":"mutable","name":"opcode","nameLocation":"1508:6:6","nodeType":"VariableDeclaration","scope":4242,"src":"1501:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4240,"name":"string","nodeType":"ElementaryTypeName","src":"1501:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Tx1559","nameLocation":"1313:6:6","scope":6247,"visibility":"public"},{"id":4261,"nodeType":"StructDefinition","src":"1527:213:6","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559Detail","members":[{"constant":false,"id":4246,"mutability":"mutable","name":"accessList","nameLocation":"1570:10:6","nodeType":"VariableDeclaration","scope":4261,"src":"1557:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4244,"nodeType":"UserDefinedTypeName","pathNode":{"id":4243,"name":"AccessList","nameLocations":["1557:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4317,"src":"1557:10:6"},"referencedDeclaration":4317,"src":"1557:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4317_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4245,"nodeType":"ArrayTypeName","src":"1557:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4248,"mutability":"mutable","name":"data","nameLocation":"1596:4:6","nodeType":"VariableDeclaration","scope":4261,"src":"1590:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4247,"name":"bytes","nodeType":"ElementaryTypeName","src":"1590:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4250,"mutability":"mutable","name":"from","nameLocation":"1618:4:6","nodeType":"VariableDeclaration","scope":4261,"src":"1610:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4249,"name":"address","nodeType":"ElementaryTypeName","src":"1610:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4252,"mutability":"mutable","name":"gas","nameLocation":"1640:3:6","nodeType":"VariableDeclaration","scope":4261,"src":"1632:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4251,"name":"uint256","nodeType":"ElementaryTypeName","src":"1632:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4254,"mutability":"mutable","name":"nonce","nameLocation":"1661:5:6","nodeType":"VariableDeclaration","scope":4261,"src":"1653:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4253,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4256,"mutability":"mutable","name":"to","nameLocation":"1684:2:6","nodeType":"VariableDeclaration","scope":4261,"src":"1676:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4255,"name":"address","nodeType":"ElementaryTypeName","src":"1676:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4258,"mutability":"mutable","name":"txType","nameLocation":"1704:6:6","nodeType":"VariableDeclaration","scope":4261,"src":"1696:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4257,"name":"uint256","nodeType":"ElementaryTypeName","src":"1696:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4260,"mutability":"mutable","name":"value","nameLocation":"1728:5:6","nodeType":"VariableDeclaration","scope":4261,"src":"1720:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4259,"name":"uint256","nodeType":"ElementaryTypeName","src":"1720:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Tx1559Detail","nameLocation":"1534:12:6","scope":6247,"visibility":"public"},{"id":4278,"nodeType":"StructDefinition","src":"1991:221:6","nodes":[],"canonicalName":"StdCheatsSafe.TxLegacy","members":[{"constant":false,"id":4264,"mutability":"mutable","name":"arguments","nameLocation":"2026:9:6","nodeType":"VariableDeclaration","scope":4278,"src":"2017:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4262,"name":"string","nodeType":"ElementaryTypeName","src":"2017:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4263,"nodeType":"ArrayTypeName","src":"2017:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4266,"mutability":"mutable","name":"contractAddress","nameLocation":"2053:15:6","nodeType":"VariableDeclaration","scope":4278,"src":"2045:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4265,"name":"address","nodeType":"ElementaryTypeName","src":"2045:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4268,"mutability":"mutable","name":"contractName","nameLocation":"2085:12:6","nodeType":"VariableDeclaration","scope":4278,"src":"2078:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4267,"name":"string","nodeType":"ElementaryTypeName","src":"2078:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4270,"mutability":"mutable","name":"functionSig","nameLocation":"2114:11:6","nodeType":"VariableDeclaration","scope":4278,"src":"2107:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4269,"name":"string","nodeType":"ElementaryTypeName","src":"2107:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4272,"mutability":"mutable","name":"hash","nameLocation":"2142:4:6","nodeType":"VariableDeclaration","scope":4278,"src":"2135:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4271,"name":"string","nodeType":"ElementaryTypeName","src":"2135:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4274,"mutability":"mutable","name":"opcode","nameLocation":"2163:6:6","nodeType":"VariableDeclaration","scope":4278,"src":"2156:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4273,"name":"string","nodeType":"ElementaryTypeName","src":"2156:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4277,"mutability":"mutable","name":"transaction","nameLocation":"2194:11:6","nodeType":"VariableDeclaration","scope":4278,"src":"2179:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$4311_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"},"typeName":{"id":4276,"nodeType":"UserDefinedTypeName","pathNode":{"id":4275,"name":"TxDetailLegacy","nameLocations":["2179:14:6"],"nodeType":"IdentifierPath","referencedDeclaration":4311,"src":"2179:14:6"},"referencedDeclaration":4311,"src":"2179:14:6","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$4311_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"}},"visibility":"internal"}],"name":"TxLegacy","nameLocation":"1998:8:6","scope":6247,"visibility":"public"},{"id":4311,"nodeType":"StructDefinition","src":"2218:366:6","nodes":[],"canonicalName":"StdCheatsSafe.TxDetailLegacy","members":[{"constant":false,"id":4282,"mutability":"mutable","name":"accessList","nameLocation":"2263:10:6","nodeType":"VariableDeclaration","scope":4311,"src":"2250:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4280,"nodeType":"UserDefinedTypeName","pathNode":{"id":4279,"name":"AccessList","nameLocations":["2250:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4317,"src":"2250:10:6"},"referencedDeclaration":4317,"src":"2250:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4317_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4281,"nodeType":"ArrayTypeName","src":"2250:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4284,"mutability":"mutable","name":"chainId","nameLocation":"2291:7:6","nodeType":"VariableDeclaration","scope":4311,"src":"2283:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4283,"name":"uint256","nodeType":"ElementaryTypeName","src":"2283:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4286,"mutability":"mutable","name":"data","nameLocation":"2314:4:6","nodeType":"VariableDeclaration","scope":4311,"src":"2308:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4285,"name":"bytes","nodeType":"ElementaryTypeName","src":"2308:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4288,"mutability":"mutable","name":"from","nameLocation":"2336:4:6","nodeType":"VariableDeclaration","scope":4311,"src":"2328:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4287,"name":"address","nodeType":"ElementaryTypeName","src":"2328:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4290,"mutability":"mutable","name":"gas","nameLocation":"2358:3:6","nodeType":"VariableDeclaration","scope":4311,"src":"2350:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4289,"name":"uint256","nodeType":"ElementaryTypeName","src":"2350:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4292,"mutability":"mutable","name":"gasPrice","nameLocation":"2379:8:6","nodeType":"VariableDeclaration","scope":4311,"src":"2371:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4291,"name":"uint256","nodeType":"ElementaryTypeName","src":"2371:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4294,"mutability":"mutable","name":"hash","nameLocation":"2405:4:6","nodeType":"VariableDeclaration","scope":4311,"src":"2397:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2397:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4296,"mutability":"mutable","name":"nonce","nameLocation":"2427:5:6","nodeType":"VariableDeclaration","scope":4311,"src":"2419:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4295,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4298,"mutability":"mutable","name":"opcode","nameLocation":"2449:6:6","nodeType":"VariableDeclaration","scope":4311,"src":"2442:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":4297,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2442:6:6","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":4300,"mutability":"mutable","name":"r","nameLocation":"2473:1:6","nodeType":"VariableDeclaration","scope":4311,"src":"2465:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2465:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4302,"mutability":"mutable","name":"s","nameLocation":"2492:1:6","nodeType":"VariableDeclaration","scope":4311,"src":"2484:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2484:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4304,"mutability":"mutable","name":"txType","nameLocation":"2511:6:6","nodeType":"VariableDeclaration","scope":4311,"src":"2503:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4303,"name":"uint256","nodeType":"ElementaryTypeName","src":"2503:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4306,"mutability":"mutable","name":"to","nameLocation":"2535:2:6","nodeType":"VariableDeclaration","scope":4311,"src":"2527:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4305,"name":"address","nodeType":"ElementaryTypeName","src":"2527:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4308,"mutability":"mutable","name":"v","nameLocation":"2553:1:6","nodeType":"VariableDeclaration","scope":4311,"src":"2547:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4307,"name":"uint8","nodeType":"ElementaryTypeName","src":"2547:5:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4310,"mutability":"mutable","name":"value","nameLocation":"2572:5:6","nodeType":"VariableDeclaration","scope":4311,"src":"2564:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4309,"name":"uint256","nodeType":"ElementaryTypeName","src":"2564:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TxDetailLegacy","nameLocation":"2225:14:6","scope":6247,"visibility":"public"},{"id":4317,"nodeType":"StructDefinition","src":"2590:87:6","nodes":[],"canonicalName":"StdCheatsSafe.AccessList","members":[{"constant":false,"id":4313,"mutability":"mutable","name":"accessAddress","nameLocation":"2626:13:6","nodeType":"VariableDeclaration","scope":4317,"src":"2618:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4312,"name":"address","nodeType":"ElementaryTypeName","src":"2618:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4316,"mutability":"mutable","name":"storageKeys","nameLocation":"2659:11:6","nodeType":"VariableDeclaration","scope":4317,"src":"2649:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2649:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4315,"nodeType":"ArrayTypeName","src":"2649:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AccessList","nameLocation":"2597:10:6","scope":6247,"visibility":"public"},{"id":4346,"nodeType":"StructDefinition","src":"2893:385:6","nodes":[],"canonicalName":"StdCheatsSafe.RawReceipt","members":[{"constant":false,"id":4319,"mutability":"mutable","name":"blockHash","nameLocation":"2929:9:6","nodeType":"VariableDeclaration","scope":4346,"src":"2921:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2921:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4321,"mutability":"mutable","name":"blockNumber","nameLocation":"2954:11:6","nodeType":"VariableDeclaration","scope":4346,"src":"2948:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4320,"name":"bytes","nodeType":"ElementaryTypeName","src":"2948:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4323,"mutability":"mutable","name":"contractAddress","nameLocation":"2983:15:6","nodeType":"VariableDeclaration","scope":4346,"src":"2975:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4322,"name":"address","nodeType":"ElementaryTypeName","src":"2975:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4325,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3014:17:6","nodeType":"VariableDeclaration","scope":4346,"src":"3008:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4324,"name":"bytes","nodeType":"ElementaryTypeName","src":"3008:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4327,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3047:17:6","nodeType":"VariableDeclaration","scope":4346,"src":"3041:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4326,"name":"bytes","nodeType":"ElementaryTypeName","src":"3041:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4329,"mutability":"mutable","name":"from","nameLocation":"3082:4:6","nodeType":"VariableDeclaration","scope":4346,"src":"3074:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4328,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4331,"mutability":"mutable","name":"gasUsed","nameLocation":"3102:7:6","nodeType":"VariableDeclaration","scope":4346,"src":"3096:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4330,"name":"bytes","nodeType":"ElementaryTypeName","src":"3096:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4335,"mutability":"mutable","name":"logs","nameLocation":"3135:4:6","nodeType":"VariableDeclaration","scope":4346,"src":"3119:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":4333,"nodeType":"UserDefinedTypeName","pathNode":{"id":4332,"name":"RawReceiptLog","nameLocations":["3119:13:6"],"nodeType":"IdentifierPath","referencedDeclaration":4443,"src":"3119:13:6"},"referencedDeclaration":4443,"src":"3119:13:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":4334,"nodeType":"ArrayTypeName","src":"3119:15:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":4337,"mutability":"mutable","name":"logsBloom","nameLocation":"3155:9:6","nodeType":"VariableDeclaration","scope":4346,"src":"3149:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4336,"name":"bytes","nodeType":"ElementaryTypeName","src":"3149:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4339,"mutability":"mutable","name":"status","nameLocation":"3180:6:6","nodeType":"VariableDeclaration","scope":4346,"src":"3174:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4338,"name":"bytes","nodeType":"ElementaryTypeName","src":"3174:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4341,"mutability":"mutable","name":"to","nameLocation":"3204:2:6","nodeType":"VariableDeclaration","scope":4346,"src":"3196:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4340,"name":"address","nodeType":"ElementaryTypeName","src":"3196:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4343,"mutability":"mutable","name":"transactionHash","nameLocation":"3224:15:6","nodeType":"VariableDeclaration","scope":4346,"src":"3216:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3216:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4345,"mutability":"mutable","name":"transactionIndex","nameLocation":"3255:16:6","nodeType":"VariableDeclaration","scope":4346,"src":"3249:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4344,"name":"bytes","nodeType":"ElementaryTypeName","src":"3249:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceipt","nameLocation":"2900:10:6","scope":6247,"visibility":"public"},{"id":4375,"nodeType":"StructDefinition","src":"3284:391:6","nodes":[],"canonicalName":"StdCheatsSafe.Receipt","members":[{"constant":false,"id":4348,"mutability":"mutable","name":"blockHash","nameLocation":"3317:9:6","nodeType":"VariableDeclaration","scope":4375,"src":"3309:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3309:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4350,"mutability":"mutable","name":"blockNumber","nameLocation":"3344:11:6","nodeType":"VariableDeclaration","scope":4375,"src":"3336:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4349,"name":"uint256","nodeType":"ElementaryTypeName","src":"3336:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4352,"mutability":"mutable","name":"contractAddress","nameLocation":"3373:15:6","nodeType":"VariableDeclaration","scope":4375,"src":"3365:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4351,"name":"address","nodeType":"ElementaryTypeName","src":"3365:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4354,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3406:17:6","nodeType":"VariableDeclaration","scope":4375,"src":"3398:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4353,"name":"uint256","nodeType":"ElementaryTypeName","src":"3398:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4356,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3441:17:6","nodeType":"VariableDeclaration","scope":4375,"src":"3433:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4355,"name":"uint256","nodeType":"ElementaryTypeName","src":"3433:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4358,"mutability":"mutable","name":"from","nameLocation":"3476:4:6","nodeType":"VariableDeclaration","scope":4375,"src":"3468:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4357,"name":"address","nodeType":"ElementaryTypeName","src":"3468:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4360,"mutability":"mutable","name":"gasUsed","nameLocation":"3498:7:6","nodeType":"VariableDeclaration","scope":4375,"src":"3490:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4359,"name":"uint256","nodeType":"ElementaryTypeName","src":"3490:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4364,"mutability":"mutable","name":"logs","nameLocation":"3528:4:6","nodeType":"VariableDeclaration","scope":4375,"src":"3515:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":4362,"nodeType":"UserDefinedTypeName","pathNode":{"id":4361,"name":"ReceiptLog","nameLocations":["3515:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4463,"src":"3515:10:6"},"referencedDeclaration":4463,"src":"3515:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":4363,"nodeType":"ArrayTypeName","src":"3515:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":4366,"mutability":"mutable","name":"logsBloom","nameLocation":"3548:9:6","nodeType":"VariableDeclaration","scope":4375,"src":"3542:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4365,"name":"bytes","nodeType":"ElementaryTypeName","src":"3542:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4368,"mutability":"mutable","name":"status","nameLocation":"3575:6:6","nodeType":"VariableDeclaration","scope":4375,"src":"3567:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4367,"name":"uint256","nodeType":"ElementaryTypeName","src":"3567:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4370,"mutability":"mutable","name":"to","nameLocation":"3599:2:6","nodeType":"VariableDeclaration","scope":4375,"src":"3591:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4369,"name":"address","nodeType":"ElementaryTypeName","src":"3591:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4372,"mutability":"mutable","name":"transactionHash","nameLocation":"3619:15:6","nodeType":"VariableDeclaration","scope":4375,"src":"3611:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3611:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4374,"mutability":"mutable","name":"transactionIndex","nameLocation":"3652:16:6","nodeType":"VariableDeclaration","scope":4375,"src":"3644:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4373,"name":"uint256","nodeType":"ElementaryTypeName","src":"3644:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Receipt","nameLocation":"3291:7:6","scope":6247,"visibility":"public"},{"id":4398,"nodeType":"StructDefinition","src":"3798:227:6","nodes":[],"canonicalName":"StdCheatsSafe.EIP1559ScriptArtifact","members":[{"constant":false,"id":4378,"mutability":"mutable","name":"libraries","nameLocation":"3846:9:6","nodeType":"VariableDeclaration","scope":4398,"src":"3837:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4376,"name":"string","nodeType":"ElementaryTypeName","src":"3837:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4377,"nodeType":"ArrayTypeName","src":"3837:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4380,"mutability":"mutable","name":"path","nameLocation":"3872:4:6","nodeType":"VariableDeclaration","scope":4398,"src":"3865:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4379,"name":"string","nodeType":"ElementaryTypeName","src":"3865:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4383,"mutability":"mutable","name":"pending","nameLocation":"3895:7:6","nodeType":"VariableDeclaration","scope":4398,"src":"3886:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4381,"name":"string","nodeType":"ElementaryTypeName","src":"3886:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4382,"nodeType":"ArrayTypeName","src":"3886:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4387,"mutability":"mutable","name":"receipts","nameLocation":"3922:8:6","nodeType":"VariableDeclaration","scope":4398,"src":"3912:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4385,"nodeType":"UserDefinedTypeName","pathNode":{"id":4384,"name":"Receipt","nameLocations":["3912:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"3912:7:6"},"referencedDeclaration":4375,"src":"3912:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4386,"nodeType":"ArrayTypeName","src":"3912:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"},{"constant":false,"id":4389,"mutability":"mutable","name":"timestamp","nameLocation":"3948:9:6","nodeType":"VariableDeclaration","scope":4398,"src":"3940:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4388,"name":"uint256","nodeType":"ElementaryTypeName","src":"3940:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4393,"mutability":"mutable","name":"transactions","nameLocation":"3976:12:6","nodeType":"VariableDeclaration","scope":4398,"src":"3967:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4391,"nodeType":"UserDefinedTypeName","pathNode":{"id":4390,"name":"Tx1559","nameLocations":["3967:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"3967:6:6"},"referencedDeclaration":4242,"src":"3967:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4392,"nodeType":"ArrayTypeName","src":"3967:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"},{"constant":false,"id":4397,"mutability":"mutable","name":"txReturns","nameLocation":"4009:9:6","nodeType":"VariableDeclaration","scope":4398,"src":"3998:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":4395,"nodeType":"UserDefinedTypeName","pathNode":{"id":4394,"name":"TxReturn","nameLocations":["3998:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":4468,"src":"3998:8:6"},"referencedDeclaration":4468,"src":"3998:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$4468_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":4396,"nodeType":"ArrayTypeName","src":"3998:10:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"}],"name":"EIP1559ScriptArtifact","nameLocation":"3805:21:6","scope":6247,"visibility":"public"},{"id":4421,"nodeType":"StructDefinition","src":"4031:236:6","nodes":[],"canonicalName":"StdCheatsSafe.RawEIP1559ScriptArtifact","members":[{"constant":false,"id":4401,"mutability":"mutable","name":"libraries","nameLocation":"4082:9:6","nodeType":"VariableDeclaration","scope":4421,"src":"4073:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4399,"name":"string","nodeType":"ElementaryTypeName","src":"4073:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4400,"nodeType":"ArrayTypeName","src":"4073:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4403,"mutability":"mutable","name":"path","nameLocation":"4108:4:6","nodeType":"VariableDeclaration","scope":4421,"src":"4101:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4402,"name":"string","nodeType":"ElementaryTypeName","src":"4101:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4406,"mutability":"mutable","name":"pending","nameLocation":"4131:7:6","nodeType":"VariableDeclaration","scope":4421,"src":"4122:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4404,"name":"string","nodeType":"ElementaryTypeName","src":"4122:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4405,"nodeType":"ArrayTypeName","src":"4122:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4410,"mutability":"mutable","name":"receipts","nameLocation":"4161:8:6","nodeType":"VariableDeclaration","scope":4421,"src":"4148:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":4408,"nodeType":"UserDefinedTypeName","pathNode":{"id":4407,"name":"RawReceipt","nameLocations":["4148:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"4148:10:6"},"referencedDeclaration":4346,"src":"4148:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":4409,"nodeType":"ArrayTypeName","src":"4148:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"},{"constant":false,"id":4414,"mutability":"mutable","name":"txReturns","nameLocation":"4190:9:6","nodeType":"VariableDeclaration","scope":4421,"src":"4179:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":4412,"nodeType":"UserDefinedTypeName","pathNode":{"id":4411,"name":"TxReturn","nameLocations":["4179:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":4468,"src":"4179:8:6"},"referencedDeclaration":4468,"src":"4179:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$4468_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":4413,"nodeType":"ArrayTypeName","src":"4179:10:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"},{"constant":false,"id":4416,"mutability":"mutable","name":"timestamp","nameLocation":"4217:9:6","nodeType":"VariableDeclaration","scope":4421,"src":"4209:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4415,"name":"uint256","nodeType":"ElementaryTypeName","src":"4209:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4420,"mutability":"mutable","name":"transactions","nameLocation":"4248:12:6","nodeType":"VariableDeclaration","scope":4421,"src":"4236:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4418,"nodeType":"UserDefinedTypeName","pathNode":{"id":4417,"name":"RawTx1559","nameLocations":["4236:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"4236:9:6"},"referencedDeclaration":4206,"src":"4236:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4419,"nodeType":"ArrayTypeName","src":"4236:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"name":"RawEIP1559ScriptArtifact","nameLocation":"4038:24:6","scope":6247,"visibility":"public"},{"id":4443,"nodeType":"StructDefinition","src":"4273:334:6","nodes":[],"canonicalName":"StdCheatsSafe.RawReceiptLog","members":[{"constant":false,"id":4423,"mutability":"mutable","name":"logAddress","nameLocation":"4344:10:6","nodeType":"VariableDeclaration","scope":4443,"src":"4336:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4422,"name":"address","nodeType":"ElementaryTypeName","src":"4336:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4425,"mutability":"mutable","name":"blockHash","nameLocation":"4372:9:6","nodeType":"VariableDeclaration","scope":4443,"src":"4364:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4364:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4427,"mutability":"mutable","name":"blockNumber","nameLocation":"4397:11:6","nodeType":"VariableDeclaration","scope":4443,"src":"4391:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4426,"name":"bytes","nodeType":"ElementaryTypeName","src":"4391:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4429,"mutability":"mutable","name":"data","nameLocation":"4424:4:6","nodeType":"VariableDeclaration","scope":4443,"src":"4418:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4428,"name":"bytes","nodeType":"ElementaryTypeName","src":"4418:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4431,"mutability":"mutable","name":"logIndex","nameLocation":"4444:8:6","nodeType":"VariableDeclaration","scope":4443,"src":"4438:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4430,"name":"bytes","nodeType":"ElementaryTypeName","src":"4438:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4433,"mutability":"mutable","name":"removed","nameLocation":"4467:7:6","nodeType":"VariableDeclaration","scope":4443,"src":"4462:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4432,"name":"bool","nodeType":"ElementaryTypeName","src":"4462:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4436,"mutability":"mutable","name":"topics","nameLocation":"4494:6:6","nodeType":"VariableDeclaration","scope":4443,"src":"4484:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4484:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4435,"nodeType":"ArrayTypeName","src":"4484:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":4438,"mutability":"mutable","name":"transactionHash","nameLocation":"4518:15:6","nodeType":"VariableDeclaration","scope":4443,"src":"4510:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4510:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4440,"mutability":"mutable","name":"transactionIndex","nameLocation":"4549:16:6","nodeType":"VariableDeclaration","scope":4443,"src":"4543:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4439,"name":"bytes","nodeType":"ElementaryTypeName","src":"4543:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4442,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4581:19:6","nodeType":"VariableDeclaration","scope":4443,"src":"4575:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4441,"name":"bytes","nodeType":"ElementaryTypeName","src":"4575:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceiptLog","nameLocation":"4280:13:6","scope":6247,"visibility":"public"},{"id":4463,"nodeType":"StructDefinition","src":"4613:306:6","nodes":[],"canonicalName":"StdCheatsSafe.ReceiptLog","members":[{"constant":false,"id":4445,"mutability":"mutable","name":"logAddress","nameLocation":"4681:10:6","nodeType":"VariableDeclaration","scope":4463,"src":"4673:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4444,"name":"address","nodeType":"ElementaryTypeName","src":"4673:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4447,"mutability":"mutable","name":"blockHash","nameLocation":"4709:9:6","nodeType":"VariableDeclaration","scope":4463,"src":"4701:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4701:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4449,"mutability":"mutable","name":"blockNumber","nameLocation":"4736:11:6","nodeType":"VariableDeclaration","scope":4463,"src":"4728:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4448,"name":"uint256","nodeType":"ElementaryTypeName","src":"4728:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4451,"mutability":"mutable","name":"data","nameLocation":"4763:4:6","nodeType":"VariableDeclaration","scope":4463,"src":"4757:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4450,"name":"bytes","nodeType":"ElementaryTypeName","src":"4757:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4453,"mutability":"mutable","name":"logIndex","nameLocation":"4785:8:6","nodeType":"VariableDeclaration","scope":4463,"src":"4777:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4452,"name":"uint256","nodeType":"ElementaryTypeName","src":"4777:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4456,"mutability":"mutable","name":"topics","nameLocation":"4813:6:6","nodeType":"VariableDeclaration","scope":4463,"src":"4803:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4803:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4455,"nodeType":"ArrayTypeName","src":"4803:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":4458,"mutability":"mutable","name":"transactionIndex","nameLocation":"4837:16:6","nodeType":"VariableDeclaration","scope":4463,"src":"4829:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4457,"name":"uint256","nodeType":"ElementaryTypeName","src":"4829:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4460,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4871:19:6","nodeType":"VariableDeclaration","scope":4463,"src":"4863:27:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4459,"name":"uint256","nodeType":"ElementaryTypeName","src":"4863:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4462,"mutability":"mutable","name":"removed","nameLocation":"4905:7:6","nodeType":"VariableDeclaration","scope":4463,"src":"4900:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4461,"name":"bool","nodeType":"ElementaryTypeName","src":"4900:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"ReceiptLog","nameLocation":"4620:10:6","scope":6247,"visibility":"public"},{"id":4468,"nodeType":"StructDefinition","src":"4925:74:6","nodes":[],"canonicalName":"StdCheatsSafe.TxReturn","members":[{"constant":false,"id":4465,"mutability":"mutable","name":"internalType","nameLocation":"4958:12:6","nodeType":"VariableDeclaration","scope":4468,"src":"4951:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4464,"name":"string","nodeType":"ElementaryTypeName","src":"4951:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4467,"mutability":"mutable","name":"value","nameLocation":"4987:5:6","nodeType":"VariableDeclaration","scope":4468,"src":"4980:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4466,"name":"string","nodeType":"ElementaryTypeName","src":"4980:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"TxReturn","nameLocation":"4932:8:6","scope":6247,"visibility":"public"},{"id":4473,"nodeType":"StructDefinition","src":"5005:65:6","nodes":[],"canonicalName":"StdCheatsSafe.Account","members":[{"constant":false,"id":4470,"mutability":"mutable","name":"addr","nameLocation":"5038:4:6","nodeType":"VariableDeclaration","scope":4473,"src":"5030:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4469,"name":"address","nodeType":"ElementaryTypeName","src":"5030:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4472,"mutability":"mutable","name":"key","nameLocation":"5060:3:6","nodeType":"VariableDeclaration","scope":4473,"src":"5052:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4471,"name":"uint256","nodeType":"ElementaryTypeName","src":"5052:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Account","nameLocation":"5012:7:6","scope":6247,"visibility":"public"},{"id":4479,"nodeType":"EnumDefinition","src":"5076:123:6","nodes":[],"canonicalName":"StdCheatsSafe.AddressType","members":[{"id":4474,"name":"Payable","nameLocation":"5103:7:6","nodeType":"EnumValue","src":"5103:7:6"},{"id":4475,"name":"NonPayable","nameLocation":"5120:10:6","nodeType":"EnumValue","src":"5120:10:6"},{"id":4476,"name":"ZeroAddress","nameLocation":"5140:11:6","nodeType":"EnumValue","src":"5140:11:6"},{"id":4477,"name":"Precompile","nameLocation":"5161:10:6","nodeType":"EnumValue","src":"5161:10:6"},{"id":4478,"name":"ForgeAddress","nameLocation":"5181:12:6","nodeType":"EnumValue","src":"5181:12:6"}],"name":"AddressType","nameLocation":"5081:11:6"},{"id":4564,"nodeType":"FunctionDefinition","src":"5292:903:6","nodes":[],"body":{"id":4563,"nodeType":"Block","src":"5373:822:6","nodes":[],"statements":[{"assignments":[4487],"declarations":[{"constant":false,"id":4487,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"5449:13:6","nodeType":"VariableDeclaration","scope":4563,"src":"5441:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4486,"name":"uint256","nodeType":"ElementaryTypeName","src":"5441:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4488,"nodeType":"VariableDeclarationStatement","src":"5441:21:6"},{"AST":{"nativeSrc":"5481:59:6","nodeType":"YulBlock","src":"5481:59:6","statements":[{"nativeSrc":"5495:35:6","nodeType":"YulAssignment","src":"5495:35:6","value":{"arguments":[{"name":"token","nativeSrc":"5524:5:6","nodeType":"YulIdentifier","src":"5524:5:6"}],"functionName":{"name":"extcodesize","nativeSrc":"5512:11:6","nodeType":"YulIdentifier","src":"5512:11:6"},"nativeSrc":"5512:18:6","nodeType":"YulFunctionCall","src":"5512:18:6"},"variableNames":[{"name":"tokenCodeSize","nativeSrc":"5495:13:6","nodeType":"YulIdentifier","src":"5495:13:6"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":4481,"isOffset":false,"isSlot":false,"src":"5524:5:6","valueSize":1},{"declaration":4487,"isOffset":false,"isSlot":false,"src":"5495:13:6","valueSize":1}],"id":4489,"nodeType":"InlineAssembly","src":"5472:68:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4491,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4487,"src":"5557:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5573:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5557:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53746443686561747320617373756d654e6f74426c61636b6c697374656428616464726573732c61646472657373293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":4494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5576:83:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff181fc90e0398988b2d16ac6106309afb26707604277f79174c19e18b9403ed","typeString":"literal_string \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\""},"value":"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ff181fc90e0398988b2d16ac6106309afb26707604277f79174c19e18b9403ed","typeString":"literal_string \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\""}],"id":4490,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"5549:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5549:111:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4496,"nodeType":"ExpressionStatement","src":"5549:111:6"},{"assignments":[4498],"declarations":[{"constant":false,"id":4498,"mutability":"mutable","name":"success","nameLocation":"5676:7:6","nodeType":"VariableDeclaration","scope":4563,"src":"5671:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4497,"name":"bool","nodeType":"ElementaryTypeName","src":"5671:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":4499,"nodeType":"VariableDeclarationStatement","src":"5671:12:6"},{"assignments":[4501],"declarations":[{"constant":false,"id":4501,"mutability":"mutable","name":"returnData","nameLocation":"5706:10:6","nodeType":"VariableDeclaration","scope":4563,"src":"5693:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4500,"name":"bytes","nodeType":"ElementaryTypeName","src":"5693:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4502,"nodeType":"VariableDeclarationStatement","src":"5693:23:6"},{"expression":{"id":4514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":4503,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"5799:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4504,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"5808:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":4505,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5798:21:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786665353735613837","id":4510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5862:10:6","typeDescriptions":{"typeIdentifier":"t_rational_4267137671_by_1","typeString":"int_const 4267137671"},"value":"0xfe575a87"},{"id":4511,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4483,"src":"5874:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4267137671_by_1","typeString":"int_const 4267137671"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4508,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5839:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5843:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"5839:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":4512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5839:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4506,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4481,"src":"5822:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5828:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"5822:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":4513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5822:58:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"5798:82:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4515,"nodeType":"ExpressionStatement","src":"5798:82:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5900:8:6","subExpression":{"id":4519,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"5901:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4523,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"5923:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5936:4:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":4524,"name":"bool","nodeType":"ElementaryTypeName","src":"5936:4:6","typeDescriptions":{}}}],"id":4526,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5935:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":4521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5912:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5916:6:6","memberName":"decode","nodeType":"MemberAccess","src":"5912:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5912:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":4528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5946:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5912:39:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5900:51:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4516,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"5890:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5893:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"5890:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5890:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4532,"nodeType":"ExpressionStatement","src":"5890:62:6"},{"expression":{"id":4544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":4533,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"6035:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4534,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"6044:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":4535,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6034:21:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786534376436303630","id":4540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6098:10:6","typeDescriptions":{"typeIdentifier":"t_rational_3833421920_by_1","typeString":"int_const 3833421920"},"value":"0xe47d6060"},{"id":4541,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4483,"src":"6110:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3833421920_by_1","typeString":"int_const 3833421920"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4538,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6075:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6079:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6075:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":4542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6075:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4536,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4481,"src":"6058:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6064:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"6058:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":4543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6058:58:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"6034:82:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4545,"nodeType":"ExpressionStatement","src":"6034:82:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6136:8:6","subExpression":{"id":4549,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"6137:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4553,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"6159:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6172:4:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":4554,"name":"bool","nodeType":"ElementaryTypeName","src":"6172:4:6","typeDescriptions":{}}}],"id":4556,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6171:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":4551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6148:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6152:6:6","memberName":"decode","nodeType":"MemberAccess","src":"6148:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6148:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":4558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6182:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"6148:39:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6136:51:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4546,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"6126:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6129:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"6126:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6126:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4562,"nodeType":"ExpressionStatement","src":"6126:62:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotBlacklisted","nameLocation":"5301:20:6","parameters":{"id":4484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4481,"mutability":"mutable","name":"token","nameLocation":"5330:5:6","nodeType":"VariableDeclaration","scope":4564,"src":"5322:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4480,"name":"address","nodeType":"ElementaryTypeName","src":"5322:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4483,"mutability":"mutable","name":"addr","nameLocation":"5345:4:6","nodeType":"VariableDeclaration","scope":4564,"src":"5337:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4482,"name":"address","nodeType":"ElementaryTypeName","src":"5337:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5321:29:6"},"returnParameters":{"id":4485,"nodeType":"ParameterList","parameters":[],"src":"5373:0:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4577,"nodeType":"FunctionDefinition","src":"6580:130:6","nodes":[],"body":{"id":4576,"nodeType":"Block","src":"6660:50:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4572,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4566,"src":"6691:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4573,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4568,"src":"6698:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4571,"name":"assumeNotBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4564,"src":"6670:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) view"}},"id":4574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4575,"nodeType":"ExpressionStatement","src":"6670:33:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNoBlacklisted","nameLocation":"6589:19:6","parameters":{"id":4569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4566,"mutability":"mutable","name":"token","nameLocation":"6617:5:6","nodeType":"VariableDeclaration","scope":4577,"src":"6609:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4565,"name":"address","nodeType":"ElementaryTypeName","src":"6609:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4568,"mutability":"mutable","name":"addr","nameLocation":"6632:4:6","nodeType":"VariableDeclaration","scope":4577,"src":"6624:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4567,"name":"address","nodeType":"ElementaryTypeName","src":"6624:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6608:29:6"},"returnParameters":{"id":4570,"nodeType":"ParameterList","parameters":[],"src":"6660:0:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4636,"nodeType":"FunctionDefinition","src":"6716:583:6","nodes":[],"body":{"id":4635,"nodeType":"Block","src":"6800:499:6","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4585,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"6814:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4586,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"6829:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6841:7:6","memberName":"Payable","nodeType":"MemberAccess","referencedDeclaration":4474,"src":"6829:19:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"6814:34:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4594,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"6907:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4595,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"6922:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6934:10:6","memberName":"NonPayable","nodeType":"MemberAccess","referencedDeclaration":4475,"src":"6922:22:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"6907:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4603,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"7000:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4604,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"7015:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7027:11:6","memberName":"ZeroAddress","nodeType":"MemberAccess","referencedDeclaration":4476,"src":"7015:23:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7000:38:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4612,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"7101:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4613,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"7116:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7128:10:6","memberName":"Precompile","nodeType":"MemberAccess","referencedDeclaration":4477,"src":"7116:22:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7101:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4621,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"7200:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4622,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"7215:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7227:12:6","memberName":"ForgeAddress","nodeType":"MemberAccess","referencedDeclaration":4478,"src":"7215:24:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7200:39:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4630,"nodeType":"IfStatement","src":"7196:97:6","trueBody":{"id":4629,"nodeType":"Block","src":"7241:52:6","statements":[{"expression":{"arguments":[{"id":4626,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"7277:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4625,"name":"assumeNotForgeAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5025,"src":"7255:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7255:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4628,"nodeType":"ExpressionStatement","src":"7255:27:6"}]}},"id":4631,"nodeType":"IfStatement","src":"7097:196:6","trueBody":{"id":4620,"nodeType":"Block","src":"7140:50:6","statements":[{"expression":{"arguments":[{"id":4617,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"7174:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4616,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[4857,5000],"referencedDeclaration":4857,"src":"7154:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7154:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4619,"nodeType":"ExpressionStatement","src":"7154:25:6"}]}},"id":4632,"nodeType":"IfStatement","src":"6996:297:6","trueBody":{"id":4611,"nodeType":"Block","src":"7040:51:6","statements":[{"expression":{"arguments":[{"id":4608,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"7075:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4607,"name":"assumeNotZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4845,"src":"7054:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7054:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4610,"nodeType":"ExpressionStatement","src":"7054:26:6"}]}},"id":4633,"nodeType":"IfStatement","src":"6903:390:6","trueBody":{"id":4602,"nodeType":"Block","src":"6946:44:6","statements":[{"expression":{"arguments":[{"id":4599,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"6974:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4598,"name":"assumePayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4813,"src":"6960:13:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6960:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4601,"nodeType":"ExpressionStatement","src":"6960:19:6"}]}},"id":4634,"nodeType":"IfStatement","src":"6810:483:6","trueBody":{"id":4593,"nodeType":"Block","src":"6850:47:6","statements":[{"expression":{"arguments":[{"id":4590,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"6881:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4589,"name":"assumeNotPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4828,"src":"6864:16:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6864:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4592,"nodeType":"ExpressionStatement","src":"6864:22:6"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"6725:18:6","parameters":{"id":4583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4579,"mutability":"mutable","name":"addr","nameLocation":"6752:4:6","nodeType":"VariableDeclaration","scope":4636,"src":"6744:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4578,"name":"address","nodeType":"ElementaryTypeName","src":"6744:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4582,"mutability":"mutable","name":"addressType","nameLocation":"6770:11:6","nodeType":"VariableDeclaration","scope":4636,"src":"6758:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4581,"nodeType":"UserDefinedTypeName","pathNode":{"id":4580,"name":"AddressType","nameLocations":["6758:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"6758:11:6"},"referencedDeclaration":4479,"src":"6758:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"6743:39:6"},"returnParameters":{"id":4584,"nodeType":"ParameterList","parameters":[],"src":"6800:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4658,"nodeType":"FunctionDefinition","src":"7305:214:6","nodes":[],"body":{"id":4657,"nodeType":"Block","src":"7416:103:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4648,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4638,"src":"7445:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4649,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4641,"src":"7451:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4647,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7426:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7426:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4651,"nodeType":"ExpressionStatement","src":"7426:38:6"},{"expression":{"arguments":[{"id":4653,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4638,"src":"7493:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4654,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4644,"src":"7499:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4652,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7474:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7474:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4656,"nodeType":"ExpressionStatement","src":"7474:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7314:18:6","parameters":{"id":4645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4638,"mutability":"mutable","name":"addr","nameLocation":"7341:4:6","nodeType":"VariableDeclaration","scope":4658,"src":"7333:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4637,"name":"address","nodeType":"ElementaryTypeName","src":"7333:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4641,"mutability":"mutable","name":"addressType1","nameLocation":"7359:12:6","nodeType":"VariableDeclaration","scope":4658,"src":"7347:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4640,"nodeType":"UserDefinedTypeName","pathNode":{"id":4639,"name":"AddressType","nameLocations":["7347:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7347:11:6"},"referencedDeclaration":4479,"src":"7347:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4644,"mutability":"mutable","name":"addressType2","nameLocation":"7385:12:6","nodeType":"VariableDeclaration","scope":4658,"src":"7373:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4643,"nodeType":"UserDefinedTypeName","pathNode":{"id":4642,"name":"AddressType","nameLocations":["7373:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7373:11:6"},"referencedDeclaration":4479,"src":"7373:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7332:66:6"},"returnParameters":{"id":4646,"nodeType":"ParameterList","parameters":[],"src":"7416:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4688,"nodeType":"FunctionDefinition","src":"7525:326:6","nodes":[],"body":{"id":4687,"nodeType":"Block","src":"7700:151:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4673,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4660,"src":"7729:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4674,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4663,"src":"7735:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4672,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7710:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7710:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4676,"nodeType":"ExpressionStatement","src":"7710:38:6"},{"expression":{"arguments":[{"id":4678,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4660,"src":"7777:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4679,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4666,"src":"7783:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4677,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7758:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7758:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4681,"nodeType":"ExpressionStatement","src":"7758:38:6"},{"expression":{"arguments":[{"id":4683,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4660,"src":"7825:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4684,"name":"addressType3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4669,"src":"7831:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4682,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7806:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7806:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4686,"nodeType":"ExpressionStatement","src":"7806:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7534:18:6","parameters":{"id":4670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4660,"mutability":"mutable","name":"addr","nameLocation":"7570:4:6","nodeType":"VariableDeclaration","scope":4688,"src":"7562:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4659,"name":"address","nodeType":"ElementaryTypeName","src":"7562:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4663,"mutability":"mutable","name":"addressType1","nameLocation":"7596:12:6","nodeType":"VariableDeclaration","scope":4688,"src":"7584:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4662,"nodeType":"UserDefinedTypeName","pathNode":{"id":4661,"name":"AddressType","nameLocations":["7584:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7584:11:6"},"referencedDeclaration":4479,"src":"7584:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4666,"mutability":"mutable","name":"addressType2","nameLocation":"7630:12:6","nodeType":"VariableDeclaration","scope":4688,"src":"7618:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4665,"nodeType":"UserDefinedTypeName","pathNode":{"id":4664,"name":"AddressType","nameLocations":["7618:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7618:11:6"},"referencedDeclaration":4479,"src":"7618:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4669,"mutability":"mutable","name":"addressType3","nameLocation":"7664:12:6","nodeType":"VariableDeclaration","scope":4688,"src":"7652:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4668,"nodeType":"UserDefinedTypeName","pathNode":{"id":4667,"name":"AddressType","nameLocations":["7652:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7652:11:6"},"referencedDeclaration":4479,"src":"7652:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7552:130:6"},"returnParameters":{"id":4671,"nodeType":"ParameterList","parameters":[],"src":"7700:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4726,"nodeType":"FunctionDefinition","src":"7857:408:6","nodes":[],"body":{"id":4725,"nodeType":"Block","src":"8066:199:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4706,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"8095:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4707,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"8101:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4705,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"8076:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4709,"nodeType":"ExpressionStatement","src":"8076:38:6"},{"expression":{"arguments":[{"id":4711,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"8143:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4712,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4696,"src":"8149:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4710,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"8124:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8124:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4714,"nodeType":"ExpressionStatement","src":"8124:38:6"},{"expression":{"arguments":[{"id":4716,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"8191:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4717,"name":"addressType3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"8197:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4715,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"8172:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8172:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4719,"nodeType":"ExpressionStatement","src":"8172:38:6"},{"expression":{"arguments":[{"id":4721,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"8239:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4722,"name":"addressType4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4702,"src":"8245:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4720,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"8220:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8220:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4724,"nodeType":"ExpressionStatement","src":"8220:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7866:18:6","parameters":{"id":4703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4690,"mutability":"mutable","name":"addr","nameLocation":"7902:4:6","nodeType":"VariableDeclaration","scope":4726,"src":"7894:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4689,"name":"address","nodeType":"ElementaryTypeName","src":"7894:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4693,"mutability":"mutable","name":"addressType1","nameLocation":"7928:12:6","nodeType":"VariableDeclaration","scope":4726,"src":"7916:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4692,"nodeType":"UserDefinedTypeName","pathNode":{"id":4691,"name":"AddressType","nameLocations":["7916:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7916:11:6"},"referencedDeclaration":4479,"src":"7916:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4696,"mutability":"mutable","name":"addressType2","nameLocation":"7962:12:6","nodeType":"VariableDeclaration","scope":4726,"src":"7950:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4695,"nodeType":"UserDefinedTypeName","pathNode":{"id":4694,"name":"AddressType","nameLocations":["7950:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7950:11:6"},"referencedDeclaration":4479,"src":"7950:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4699,"mutability":"mutable","name":"addressType3","nameLocation":"7996:12:6","nodeType":"VariableDeclaration","scope":4726,"src":"7984:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4698,"nodeType":"UserDefinedTypeName","pathNode":{"id":4697,"name":"AddressType","nameLocations":["7984:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7984:11:6"},"referencedDeclaration":4479,"src":"7984:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4702,"mutability":"mutable","name":"addressType4","nameLocation":"8030:12:6","nodeType":"VariableDeclaration","scope":4726,"src":"8018:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4701,"nodeType":"UserDefinedTypeName","pathNode":{"id":4700,"name":"AddressType","nameLocations":["8018:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"8018:11:6"},"referencedDeclaration":4479,"src":"8018:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7884:164:6"},"returnParameters":{"id":4704,"nodeType":"ParameterList","parameters":[],"src":"8066:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4799,"nodeType":"FunctionDefinition","src":"8611:592:6","nodes":[],"body":{"id":4798,"nodeType":"Block","src":"8668:535:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4734,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4728,"src":"8699:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8704:7:6","memberName":"balance","nodeType":"MemberAccess","src":"8699:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4736,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4187,"src":"8714:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8699:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f697350617961626c652861646472657373293a2042616c616e636520657175616c73206d61782075696e743235362c20736f2069742063616e6e6f74207265636569766520616e79206d6f72652066756e6473","id":4738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8739:96:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_445086840f6c2a82b4d334ff6858d2a67c3cf8d1872260417f6ce3ed4fefcee6","typeString":"literal_string \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\""},"value":"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_445086840f6c2a82b4d334ff6858d2a67c3cf8d1872260417f6ce3ed4fefcee6","typeString":"literal_string \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\""}],"id":4733,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"8678:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8678:167:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4740,"nodeType":"ExpressionStatement","src":"8678:167:6"},{"assignments":[4742],"declarations":[{"constant":false,"id":4742,"mutability":"mutable","name":"origBalanceTest","nameLocation":"8863:15:6","nodeType":"VariableDeclaration","scope":4798,"src":"8855:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4741,"name":"uint256","nodeType":"ElementaryTypeName","src":"8855:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4748,"initialValue":{"expression":{"arguments":[{"id":4745,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8889:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}],"id":4744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8881:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4743,"name":"address","nodeType":"ElementaryTypeName","src":"8881:7:6","typeDescriptions":{}}},"id":4746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8881:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8895:7:6","memberName":"balance","nodeType":"MemberAccess","src":"8881:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8855:47:6"},{"assignments":[4750],"declarations":[{"constant":false,"id":4750,"mutability":"mutable","name":"origBalanceAddr","nameLocation":"8920:15:6","nodeType":"VariableDeclaration","scope":4798,"src":"8912:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4749,"name":"uint256","nodeType":"ElementaryTypeName","src":"8912:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4756,"initialValue":{"expression":{"arguments":[{"id":4753,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4728,"src":"8946:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8938:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4751,"name":"address","nodeType":"ElementaryTypeName","src":"8938:7:6","typeDescriptions":{}}},"id":4754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8938:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8952:7:6","memberName":"balance","nodeType":"MemberAccess","src":"8938:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8912:47:6"},{"expression":{"arguments":[{"arguments":[{"id":4762,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8986:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}],"id":4761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8978:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4760,"name":"address","nodeType":"ElementaryTypeName","src":"8978:7:6","typeDescriptions":{}}},"id":4763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8978:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":4764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8993:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":4757,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"8970:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8973:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"8970:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":4765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8970:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4766,"nodeType":"ExpressionStatement","src":"8970:25:6"},{"assignments":[4768,null],"declarations":[{"constant":false,"id":4768,"mutability":"mutable","name":"success","nameLocation":"9011:7:6","nodeType":"VariableDeclaration","scope":4798,"src":"9006:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4767,"name":"bool","nodeType":"ElementaryTypeName","src":"9006:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":4778,"initialValue":{"arguments":[{"hexValue":"","id":4776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9052:2:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":4771,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4728,"src":"9031:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9023:8:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":4769,"name":"address","nodeType":"ElementaryTypeName","src":"9023:8:6","stateMutability":"payable","typeDescriptions":{}}},"id":4772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9023:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":4773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9037:4:6","memberName":"call","nodeType":"MemberAccess","src":"9023:18:6","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":4775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":4774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9049:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"src":"9023:28:6","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":4777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9023:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9005:50:6"},{"expression":{"arguments":[{"arguments":[{"id":4784,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9108:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}],"id":4783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9100:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4782,"name":"address","nodeType":"ElementaryTypeName","src":"9100:7:6","typeDescriptions":{}}},"id":4785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9100:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4786,"name":"origBalanceTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4742,"src":"9115:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4779,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9092:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9095:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"9092:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":4787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9092:39:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4788,"nodeType":"ExpressionStatement","src":"9092:39:6"},{"expression":{"arguments":[{"id":4792,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4728,"src":"9149:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4793,"name":"origBalanceAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4750,"src":"9155:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4789,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9141:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9144:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"9141:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":4794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9141:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4795,"nodeType":"ExpressionStatement","src":"9141:30:6"},{"expression":{"id":4796,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4768,"src":"9189:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4732,"id":4797,"nodeType":"Return","src":"9182:14:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isPayable","nameLocation":"8620:10:6","parameters":{"id":4729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4728,"mutability":"mutable","name":"addr","nameLocation":"8639:4:6","nodeType":"VariableDeclaration","scope":4799,"src":"8631:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4727,"name":"address","nodeType":"ElementaryTypeName","src":"8631:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8630:14:6"},"returnParameters":{"id":4732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4731,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4799,"src":"8662:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4730,"name":"bool","nodeType":"ElementaryTypeName","src":"8662:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8661:6:6"},"scope":6247,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":4813,"nodeType":"FunctionDefinition","src":"9454:98:6","nodes":[],"body":{"id":4812,"nodeType":"Block","src":"9508:44:6","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":4808,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4801,"src":"9539:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4807,"name":"_isPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4799,"src":"9528:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) returns (bool)"}},"id":4809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4804,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9518:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9521:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"9518:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9518:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4811,"nodeType":"ExpressionStatement","src":"9518:27:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumePayable","nameLocation":"9463:13:6","parameters":{"id":4802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4801,"mutability":"mutable","name":"addr","nameLocation":"9485:4:6","nodeType":"VariableDeclaration","scope":4813,"src":"9477:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4800,"name":"address","nodeType":"ElementaryTypeName","src":"9477:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9476:14:6"},"returnParameters":{"id":4803,"nodeType":"ParameterList","parameters":[],"src":"9508:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4828,"nodeType":"FunctionDefinition","src":"9558:102:6","nodes":[],"body":{"id":4827,"nodeType":"Block","src":"9615:45:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9635:17:6","subExpression":{"arguments":[{"id":4822,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4815,"src":"9647:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4821,"name":"_isPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4799,"src":"9636:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) returns (bool)"}},"id":4823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9636:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4818,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9625:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9628:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"9625:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9625:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4826,"nodeType":"ExpressionStatement","src":"9625:28:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPayable","nameLocation":"9567:16:6","parameters":{"id":4816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4815,"mutability":"mutable","name":"addr","nameLocation":"9592:4:6","nodeType":"VariableDeclaration","scope":4828,"src":"9584:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4814,"name":"address","nodeType":"ElementaryTypeName","src":"9584:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9583:14:6"},"returnParameters":{"id":4817,"nodeType":"ParameterList","parameters":[],"src":"9615:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4845,"nodeType":"FunctionDefinition","src":"9666:112:6","nodes":[],"body":{"id":4844,"nodeType":"Block","src":"9732:46:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4836,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4830,"src":"9752:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":4839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9768:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9760:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4837,"name":"address","nodeType":"ElementaryTypeName","src":"9760:7:6","typeDescriptions":{}}},"id":4840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9760:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9752:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4833,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9742:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9745:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"9742:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9742:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4843,"nodeType":"ExpressionStatement","src":"9742:29:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotZeroAddress","nameLocation":"9675:20:6","parameters":{"id":4831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4830,"mutability":"mutable","name":"addr","nameLocation":"9704:4:6","nodeType":"VariableDeclaration","scope":4845,"src":"9696:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4829,"name":"address","nodeType":"ElementaryTypeName","src":"9696:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9695:14:6"},"returnParameters":{"id":4832,"nodeType":"ParameterList","parameters":[],"src":"9732:0:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4857,"nodeType":"FunctionDefinition","src":"9784:123:6","nodes":[],"body":{"id":4856,"nodeType":"Block","src":"9849:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4851,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4847,"src":"9879:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":4852,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6246,"src":"9885:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":4853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9885:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4850,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[4857,5000],"referencedDeclaration":5000,"src":"9859:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":4854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9859:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4855,"nodeType":"ExpressionStatement","src":"9859:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPrecompile","nameLocation":"9793:19:6","parameters":{"id":4848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4847,"mutability":"mutable","name":"addr","nameLocation":"9821:4:6","nodeType":"VariableDeclaration","scope":4857,"src":"9813:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4846,"name":"address","nodeType":"ElementaryTypeName","src":"9813:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9812:14:6"},"returnParameters":{"id":4849,"nodeType":"ParameterList","parameters":[],"src":"9849:0:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5000,"nodeType":"FunctionDefinition","src":"9913:1807:6","nodes":[],"body":{"id":4999,"nodeType":"Block","src":"9995:1725:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4867,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10311:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307831","id":4870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10326:3:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":4869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10318:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4868,"name":"address","nodeType":"ElementaryTypeName","src":"10318:7:6","typeDescriptions":{}}},"id":4871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10318:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10311:19:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4873,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10334:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"30786666","id":4876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10349:4:6","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":4875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10341:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4874,"name":"address","nodeType":"ElementaryTypeName","src":"10341:7:6","typeDescriptions":{}}},"id":4877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10341:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10334:20:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10311:43:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4864,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"10301:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10304:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"10301:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10301:54:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4881,"nodeType":"ExpressionStatement","src":"10301:54:6"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4882,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"10405:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3130","id":4883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10416:2:6","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"10405:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4885,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"10422:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343230","id":4886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10433:3:6","typeDescriptions":{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},"value":"420"},"src":"10422:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10405:31:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4908,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"10754:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3432313631","id":4909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10765:5:6","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},"src":"10754:16:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4911,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"10774:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343231363133","id":4912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10785:6:6","typeDescriptions":{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},"value":"421613"},"src":"10774:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10754:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4934,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"11068:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313134","id":4935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11079:5:6","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},"src":"11068:16:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4937,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"11088:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313133","id":4938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11099:5:6","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},"src":"11088:16:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11068:36:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4996,"nodeType":"IfStatement","src":"11064:617:6","trueBody":{"id":4995,"nodeType":"Block","src":"11106:575:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4944,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11259:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030303030","id":4947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11274:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0100000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11266:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4945,"name":"address","nodeType":"ElementaryTypeName","src":"11266:7:6","typeDescriptions":{}}},"id":4948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11266:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11259:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4950,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11321:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030306666","id":4953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11336:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x01000000000000000000000000000000000000ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11328:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4951,"name":"address","nodeType":"ElementaryTypeName","src":"11328:7:6","typeDescriptions":{}}},"id":4954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11328:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11321:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11259:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4941,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11249:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11252:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"11249:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11249:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4958,"nodeType":"ExpressionStatement","src":"11249:131:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4962,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11404:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11419:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11411:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4963,"name":"address","nodeType":"ElementaryTypeName","src":"11411:7:6","typeDescriptions":{}}},"id":4966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11411:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11404:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4968,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11466:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030304646","id":4971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11481:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x02000000000000000000000000000000000000FF"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11473:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4969,"name":"address","nodeType":"ElementaryTypeName","src":"11473:7:6","typeDescriptions":{}}},"id":4972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11473:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11466:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11404:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4959,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11394:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11397:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"11394:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11394:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4976,"nodeType":"ExpressionStatement","src":"11394:131:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4980,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11549:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030303030","id":4983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11564:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0300000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11556:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4981,"name":"address","nodeType":"ElementaryTypeName","src":"11556:7:6","typeDescriptions":{}}},"id":4984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11556:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11549:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4986,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11611:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030304666","id":4989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11626:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x03000000000000000000000000000000000000Ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11618:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4987,"name":"address","nodeType":"ElementaryTypeName","src":"11618:7:6","typeDescriptions":{}}},"id":4990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11618:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11611:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11549:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4977,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11539:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11542:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"11539:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11539:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4994,"nodeType":"ExpressionStatement","src":"11539:131:6"}]}},"id":4997,"nodeType":"IfStatement","src":"10750:931:6","trueBody":{"id":4933,"nodeType":"Block","src":"10793:265:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4918,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10926:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303634","id":4921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10941:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000064"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10933:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4919,"name":"address","nodeType":"ElementaryTypeName","src":"10933:7:6","typeDescriptions":{}}},"id":4922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10933:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10926:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4924,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10988:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303638","id":4927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11003:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000068"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10995:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4925,"name":"address","nodeType":"ElementaryTypeName","src":"10995:7:6","typeDescriptions":{}}},"id":4928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10995:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10988:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10926:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4915,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"10916:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10919:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"10916:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10916:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4932,"nodeType":"ExpressionStatement","src":"10916:131:6"}]}},"id":4998,"nodeType":"IfStatement","src":"10401:1280:6","trueBody":{"id":4907,"nodeType":"Block","src":"10438:306:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4892,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10612:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10627:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10619:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4893,"name":"address","nodeType":"ElementaryTypeName","src":"10619:7:6","typeDescriptions":{}}},"id":4896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10619:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10612:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4898,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10674:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030383030","id":4901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10689:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000800"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10681:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4899,"name":"address","nodeType":"ElementaryTypeName","src":"10681:7:6","typeDescriptions":{}}},"id":4902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10681:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10674:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10612:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4889,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"10602:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10605:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"10602:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4906,"nodeType":"ExpressionStatement","src":"10602:131:6"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPrecompile","nameLocation":"9922:19:6","parameters":{"id":4862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4859,"mutability":"mutable","name":"addr","nameLocation":"9950:4:6","nodeType":"VariableDeclaration","scope":5000,"src":"9942:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4858,"name":"address","nodeType":"ElementaryTypeName","src":"9942:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4861,"mutability":"mutable","name":"chainId","nameLocation":"9964:7:6","nodeType":"VariableDeclaration","scope":5000,"src":"9956:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4860,"name":"uint256","nodeType":"ElementaryTypeName","src":"9956:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9941:31:6"},"returnParameters":{"id":4863,"nodeType":"ParameterList","parameters":[],"src":"9995:0:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5025,"nodeType":"FunctionDefinition","src":"11726:314:6","nodes":[],"body":{"id":5024,"nodeType":"Block","src":"11793:247:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5008,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5002,"src":"11880:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":5011,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11896:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}],"id":5010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11888:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5009,"name":"address","nodeType":"ElementaryTypeName","src":"11888:7:6","typeDescriptions":{}}},"id":5012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11888:11:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11880:19:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5014,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5002,"src":"11903:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":5015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11911:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"src":"11903:50:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11880:73:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5018,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5002,"src":"11973:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":5019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11981:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"src":"11973:50:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11880:143:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":5005,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11857:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11860:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"11857:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":5022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11857:176:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5023,"nodeType":"ExpressionStatement","src":"11857:176:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotForgeAddress","nameLocation":"11735:21:6","parameters":{"id":5003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5002,"mutability":"mutable","name":"addr","nameLocation":"11765:4:6","nodeType":"VariableDeclaration","scope":5025,"src":"11757:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5001,"name":"address","nodeType":"ElementaryTypeName","src":"11757:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11756:14:6"},"returnParameters":{"id":5004,"nodeType":"ParameterList","parameters":[],"src":"11793:0:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5055,"nodeType":"FunctionDefinition","src":"12046:300:6","nodes":[],"body":{"id":5054,"nodeType":"Block","src":"12111:235:6","nodes":[],"statements":[{"assignments":[5031],"declarations":[{"constant":false,"id":5031,"mutability":"mutable","name":"size","nameLocation":"12129:4:6","nodeType":"VariableDeclaration","scope":5054,"src":"12121:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5030,"name":"uint256","nodeType":"ElementaryTypeName","src":"12121:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5032,"nodeType":"VariableDeclarationStatement","src":"12121:12:6"},{"AST":{"nativeSrc":"12152:49:6","nodeType":"YulBlock","src":"12152:49:6","statements":[{"nativeSrc":"12166:25:6","nodeType":"YulAssignment","src":"12166:25:6","value":{"arguments":[{"name":"addr","nativeSrc":"12186:4:6","nodeType":"YulIdentifier","src":"12186:4:6"}],"functionName":{"name":"extcodesize","nativeSrc":"12174:11:6","nodeType":"YulIdentifier","src":"12174:11:6"},"nativeSrc":"12174:17:6","nodeType":"YulFunctionCall","src":"12174:17:6"},"variableNames":[{"name":"size","nativeSrc":"12166:4:6","nodeType":"YulIdentifier","src":"12166:4:6"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":5027,"isOffset":false,"isSlot":false,"src":"12186:4:6","valueSize":1},{"declaration":5031,"isOffset":false,"isSlot":false,"src":"12166:4:6","valueSize":1}],"id":5033,"nodeType":"InlineAssembly","src":"12143:58:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5037,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5031,"src":"12220:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12228:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12220:9:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":5034,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"12210:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12213:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"12210:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":5040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12210:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5041,"nodeType":"ExpressionStatement","src":"12210:20:6"},{"expression":{"arguments":[{"id":5043,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5027,"src":"12261:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5042,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[4857,5000],"referencedDeclaration":4857,"src":"12241:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":5044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12241:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5045,"nodeType":"ExpressionStatement","src":"12241:25:6"},{"expression":{"arguments":[{"id":5047,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5027,"src":"12297:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5046,"name":"assumeNotZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4845,"src":"12276:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":5048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12276:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5049,"nodeType":"ExpressionStatement","src":"12276:26:6"},{"expression":{"arguments":[{"id":5051,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5027,"src":"12334:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5050,"name":"assumeNotForgeAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5025,"src":"12312:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":5052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12312:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5053,"nodeType":"ExpressionStatement","src":"12312:27:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeUnusedAddress","nameLocation":"12055:19:6","parameters":{"id":5028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5027,"mutability":"mutable","name":"addr","nameLocation":"12083:4:6","nodeType":"VariableDeclaration","scope":5055,"src":"12075:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5026,"name":"address","nodeType":"ElementaryTypeName","src":"12075:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12074:14:6"},"returnParameters":{"id":5029,"nodeType":"ParameterList","parameters":[],"src":"12111:0:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5147,"nodeType":"FunctionDefinition","src":"12352:843:6","nodes":[],"body":{"id":5146,"nodeType":"Block","src":"12504:691:6","nodes":[],"statements":[{"assignments":[5064],"declarations":[{"constant":false,"id":5064,"mutability":"mutable","name":"data","nameLocation":"12528:4:6","nodeType":"VariableDeclaration","scope":5146,"src":"12514:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5063,"name":"string","nodeType":"ElementaryTypeName","src":"12514:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5069,"initialValue":{"arguments":[{"id":5067,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5057,"src":"12547:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5065,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"12535:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12538:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"12535:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12535:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"12514:38:6"},{"assignments":[5071],"declarations":[{"constant":false,"id":5071,"mutability":"mutable","name":"parsedData","nameLocation":"12575:10:6","nodeType":"VariableDeclaration","scope":5146,"src":"12562:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5070,"name":"bytes","nodeType":"ElementaryTypeName","src":"12562:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5076,"initialValue":{"arguments":[{"id":5074,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5064,"src":"12601:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5072,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"12588:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12591:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15218,"src":"12588:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure external returns (bytes memory)"}},"id":5075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12588:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12562:44:6"},{"assignments":[5079],"declarations":[{"constant":false,"id":5079,"mutability":"mutable","name":"rawArtifact","nameLocation":"12648:11:6","nodeType":"VariableDeclaration","scope":5146,"src":"12616:43:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"},"typeName":{"id":5078,"nodeType":"UserDefinedTypeName","pathNode":{"id":5077,"name":"RawEIP1559ScriptArtifact","nameLocations":["12616:24:6"],"nodeType":"IdentifierPath","referencedDeclaration":4421,"src":"12616:24:6"},"referencedDeclaration":4421,"src":"12616:24:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_storage_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"}},"visibility":"internal"}],"id":5086,"initialValue":{"arguments":[{"id":5082,"name":"parsedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5071,"src":"12673:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5083,"name":"RawEIP1559ScriptArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4421,"src":"12686:24:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4421_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"id":5084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12685:26:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4421_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4421_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}],"expression":{"id":5080,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12662:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12666:6:6","memberName":"decode","nodeType":"MemberAccess","src":"12662:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12662:50:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"nodeType":"VariableDeclarationStatement","src":"12616:96:6"},{"assignments":[5089],"declarations":[{"constant":false,"id":5089,"mutability":"mutable","name":"artifact","nameLocation":"12751:8:6","nodeType":"VariableDeclaration","scope":5146,"src":"12722:37:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":5088,"nodeType":"UserDefinedTypeName","pathNode":{"id":5087,"name":"EIP1559ScriptArtifact","nameLocations":["12722:21:6"],"nodeType":"IdentifierPath","referencedDeclaration":4398,"src":"12722:21:6"},"referencedDeclaration":4398,"src":"12722:21:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"id":5090,"nodeType":"VariableDeclarationStatement","src":"12722:37:6"},{"expression":{"id":5096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5091,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12769:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12778:9:6","memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":4378,"src":"12769:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5094,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12790:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12802:9:6","memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":4401,"src":"12790:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"12769:42:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5097,"nodeType":"ExpressionStatement","src":"12769:42:6"},{"expression":{"id":5103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5098,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12821:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12830:4:6","memberName":"path","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"12821:13:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5101,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12837:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12849:4:6","memberName":"path","nodeType":"MemberAccess","referencedDeclaration":4403,"src":"12837:16:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12821:32:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5104,"nodeType":"ExpressionStatement","src":"12821:32:6"},{"expression":{"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5105,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12863:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5107,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12872:9:6","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":4389,"src":"12863:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5108,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12884:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12896:9:6","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":4416,"src":"12884:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12863:42:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5111,"nodeType":"ExpressionStatement","src":"12863:42:6"},{"expression":{"id":5117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5112,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12915:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12924:7:6","memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":4383,"src":"12915:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5115,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12934:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12946:7:6","memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":4406,"src":"12934:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"12915:38:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5118,"nodeType":"ExpressionStatement","src":"12915:38:6"},{"expression":{"id":5124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5119,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12963:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12972:9:6","memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":4397,"src":"12963:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5122,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12984:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12996:9:6","memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":4414,"src":"12984:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"src":"12963:42:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"id":5125,"nodeType":"ExpressionStatement","src":"12963:42:6"},{"expression":{"id":5133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5126,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"13015:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13024:8:6","memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":4387,"src":"13015:17:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5130,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"13058:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13070:8:6","memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":4410,"src":"13058:20:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":5129,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5579,"src":"13035:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":5132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13035:44:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"src":"13015:64:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":5134,"nodeType":"ExpressionStatement","src":"13015:64:6"},{"expression":{"id":5142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5135,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"13089:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13098:12:6","memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":4393,"src":"13089:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5139,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"13138:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13150:12:6","memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":4420,"src":"13138:24:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":5138,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5196,"src":"13113:24:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":5141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13113:50:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"src":"13089:74:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":5143,"nodeType":"ExpressionStatement","src":"13089:74:6"},{"expression":{"id":5144,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"13180:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"functionReturnParameters":5062,"id":5145,"nodeType":"Return","src":"13173:15:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readEIP1559ScriptArtifact","nameLocation":"12361:25:6","parameters":{"id":5058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5057,"mutability":"mutable","name":"path","nameLocation":"12401:4:6","nodeType":"VariableDeclaration","scope":5147,"src":"12387:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5056,"name":"string","nodeType":"ElementaryTypeName","src":"12387:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12386:20:6"},"returnParameters":{"id":5062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5147,"src":"12470:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":5060,"nodeType":"UserDefinedTypeName","pathNode":{"id":5059,"name":"EIP1559ScriptArtifact","nameLocations":["12470:21:6"],"nodeType":"IdentifierPath","referencedDeclaration":4398,"src":"12470:21:6"},"referencedDeclaration":4398,"src":"12470:21:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"src":"12469:30:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5196,"nodeType":"FunctionDefinition","src":"13201:312:6","nodes":[],"body":{"id":5195,"nodeType":"Block","src":"13310:203:6","nodes":[],"statements":[{"assignments":[5162],"declarations":[{"constant":false,"id":5162,"mutability":"mutable","name":"txs","nameLocation":"13336:3:6","nodeType":"VariableDeclaration","scope":5195,"src":"13320:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":5160,"nodeType":"UserDefinedTypeName","pathNode":{"id":5159,"name":"Tx1559","nameLocations":["13320:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13320:6:6"},"referencedDeclaration":4242,"src":"13320:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":5161,"nodeType":"ArrayTypeName","src":"13320:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"id":5170,"initialValue":{"arguments":[{"expression":{"id":5167,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5151,"src":"13355:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13362:6:6","memberName":"length","nodeType":"MemberAccess","src":"13355:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13342:12:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"},"typeName":{"baseType":{"id":5164,"nodeType":"UserDefinedTypeName","pathNode":{"id":5163,"name":"Tx1559","nameLocations":["13346:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13346:6:6"},"referencedDeclaration":4242,"src":"13346:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":5165,"nodeType":"ArrayTypeName","src":"13346:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}}},"id":5169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13342:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13320:49:6"},{"body":{"id":5191,"nodeType":"Block","src":"13419:68:6","statements":[{"expression":{"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5181,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5162,"src":"13433:3:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":5183,"indexExpression":{"id":5182,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5172,"src":"13437:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13433:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":5185,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5151,"src":"13466:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":5187,"indexExpression":{"id":5186,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5172,"src":"13473:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13466:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":5184,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5256,"src":"13442:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$4206_memory_ptr_$returns$_t_struct$_Tx1559_$4242_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"src":"13433:43:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5190,"nodeType":"ExpressionStatement","src":"13433:43:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5174,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5172,"src":"13395:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5175,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5151,"src":"13399:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":5176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13406:6:6","memberName":"length","nodeType":"MemberAccess","src":"13399:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13395:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5192,"initializationExpression":{"assignments":[5172],"declarations":[{"constant":false,"id":5172,"mutability":"mutable","name":"i","nameLocation":"13392:1:6","nodeType":"VariableDeclaration","scope":5192,"src":"13384:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5171,"name":"uint256","nodeType":"ElementaryTypeName","src":"13384:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5173,"nodeType":"VariableDeclarationStatement","src":"13384:9:6"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13414:3:6","subExpression":{"id":5178,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5172,"src":"13414:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5180,"nodeType":"ExpressionStatement","src":"13414:3:6"},"nodeType":"ForStatement","src":"13379:108:6"},{"expression":{"id":5193,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5162,"src":"13503:3:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":5157,"id":5194,"nodeType":"Return","src":"13496:10:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559s","nameLocation":"13210:24:6","parameters":{"id":5152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5151,"mutability":"mutable","name":"rawTxs","nameLocation":"13254:6:6","nodeType":"VariableDeclaration","scope":5196,"src":"13235:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":5149,"nodeType":"UserDefinedTypeName","pathNode":{"id":5148,"name":"RawTx1559","nameLocations":["13235:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"13235:9:6"},"referencedDeclaration":4206,"src":"13235:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":5150,"nodeType":"ArrayTypeName","src":"13235:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"src":"13234:27:6"},"returnParameters":{"id":5157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5196,"src":"13293:15:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":5154,"nodeType":"UserDefinedTypeName","pathNode":{"id":5153,"name":"Tx1559","nameLocations":["13293:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13293:6:6"},"referencedDeclaration":4242,"src":"13293:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":5155,"nodeType":"ArrayTypeName","src":"13293:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"13292:17:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5256,"nodeType":"FunctionDefinition","src":"13519:488:6","nodes":[],"body":{"id":5255,"nodeType":"Block","src":"13622:385:6","nodes":[],"statements":[{"assignments":[5207],"declarations":[{"constant":false,"id":5207,"mutability":"mutable","name":"transaction","nameLocation":"13646:11:6","nodeType":"VariableDeclaration","scope":5255,"src":"13632:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":5206,"nodeType":"UserDefinedTypeName","pathNode":{"id":5205,"name":"Tx1559","nameLocations":["13632:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13632:6:6"},"referencedDeclaration":4242,"src":"13632:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"id":5208,"nodeType":"VariableDeclarationStatement","src":"13632:25:6"},{"expression":{"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5209,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13667:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13679:9:6","memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":4228,"src":"13667:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5212,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13691:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13697:9:6","memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":4192,"src":"13691:15:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"13667:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5215,"nodeType":"ExpressionStatement","src":"13667:39:6"},{"expression":{"id":5221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5216,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13716:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13728:12:6","memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":4232,"src":"13716:24:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5219,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13743:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:12:6","memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":4196,"src":"13743:18:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13716:45:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5222,"nodeType":"ExpressionStatement","src":"13716:45:6"},{"expression":{"id":5228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5223,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13771:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13783:11:6","memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":4234,"src":"13771:23:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5226,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13797:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5227,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13803:11:6","memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":4198,"src":"13797:17:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13771:43:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5229,"nodeType":"ExpressionStatement","src":"13771:43:6"},{"expression":{"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5230,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13824:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5232,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13836:4:6","memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":4236,"src":"13824:16:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5233,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13843:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13849:4:6","memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":4200,"src":"13843:10:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13824:29:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5236,"nodeType":"ExpressionStatement","src":"13824:29:6"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5237,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13863:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13875:8:6","memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":4239,"src":"13863:20:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5241,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13914:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13920:8:6","memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":4203,"src":"13914:14:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}],"id":5240,"name":"rawToConvertedEIP1559Detail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5336,"src":"13886:27:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559Detail_$4225_memory_ptr_$returns$_t_struct$_Tx1559Detail_$4261_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559Detail memory) pure returns (struct StdCheatsSafe.Tx1559Detail memory)"}},"id":5243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13886:43:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"src":"13863:66:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5245,"nodeType":"ExpressionStatement","src":"13863:66:6"},{"expression":{"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5246,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13939:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13951:6:6","memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":4241,"src":"13939:18:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5249,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13960:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13966:6:6","memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":4205,"src":"13960:12:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13939:33:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5252,"nodeType":"ExpressionStatement","src":"13939:33:6"},{"expression":{"id":5253,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13989:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":5204,"id":5254,"nodeType":"Return","src":"13982:18:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559","nameLocation":"13528:23:6","parameters":{"id":5200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5199,"mutability":"mutable","name":"rawTx","nameLocation":"13569:5:6","nodeType":"VariableDeclaration","scope":5256,"src":"13552:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":5198,"nodeType":"UserDefinedTypeName","pathNode":{"id":5197,"name":"RawTx1559","nameLocations":["13552:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"13552:9:6"},"referencedDeclaration":4206,"src":"13552:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"src":"13551:24:6"},"returnParameters":{"id":5204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5256,"src":"13607:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":5202,"nodeType":"UserDefinedTypeName","pathNode":{"id":5201,"name":"Tx1559","nameLocations":["13607:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13607:6:6"},"referencedDeclaration":4242,"src":"13607:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"13606:15:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5336,"nodeType":"FunctionDefinition","src":"14013:619:6","nodes":[],"body":{"id":5335,"nodeType":"Block","src":"14172:460:6","nodes":[],"statements":[{"assignments":[5267],"declarations":[{"constant":false,"id":5267,"mutability":"mutable","name":"txDetail","nameLocation":"14202:8:6","nodeType":"VariableDeclaration","scope":5335,"src":"14182:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":5266,"nodeType":"UserDefinedTypeName","pathNode":{"id":5265,"name":"Tx1559Detail","nameLocations":["14182:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":4261,"src":"14182:12:6"},"referencedDeclaration":4261,"src":"14182:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"id":5268,"nodeType":"VariableDeclarationStatement","src":"14182:28:6"},{"expression":{"id":5274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5269,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14220:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5271,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14229:4:6","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4248,"src":"14220:13:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5272,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14236:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14246:4:6","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4212,"src":"14236:14:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"14220:30:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5275,"nodeType":"ExpressionStatement","src":"14220:30:6"},{"expression":{"id":5281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5276,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14260:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14269:4:6","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4250,"src":"14260:13:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5279,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14276:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14286:4:6","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4214,"src":"14276:14:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14260:30:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5282,"nodeType":"ExpressionStatement","src":"14260:30:6"},{"expression":{"id":5288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5283,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14300:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14309:2:6","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4256,"src":"14300:11:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5286,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14314:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5287,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14324:2:6","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4220,"src":"14314:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14300:26:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5289,"nodeType":"ExpressionStatement","src":"14300:26:6"},{"expression":{"id":5297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5290,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14336:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5292,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14345:5:6","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"14336:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5294,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14366:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14376:5:6","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":4218,"src":"14366:15:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5293,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"14353:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14353:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14336:46:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5298,"nodeType":"ExpressionStatement","src":"14336:46:6"},{"expression":{"id":5306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5299,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14392:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14401:6:6","memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":4258,"src":"14392:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5303,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14423:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14433:6:6","memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":4222,"src":"14423:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5302,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"14410:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14410:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14392:48:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5307,"nodeType":"ExpressionStatement","src":"14392:48:6"},{"expression":{"id":5315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5308,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14450:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14459:5:6","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":4260,"src":"14450:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5312,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14480:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14490:5:6","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":4224,"src":"14480:15:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5311,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"14467:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14467:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14450:46:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5316,"nodeType":"ExpressionStatement","src":"14450:46:6"},{"expression":{"id":5324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5317,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14506:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14515:3:6","memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":4252,"src":"14506:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5321,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14534:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14544:3:6","memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":4216,"src":"14534:13:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5320,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"14521:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14521:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14506:42:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5325,"nodeType":"ExpressionStatement","src":"14506:42:6"},{"expression":{"id":5331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5326,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14558:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14567:10:6","memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":4246,"src":"14558:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5329,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14580:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14590:10:6","memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":4210,"src":"14580:20:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"src":"14558:42:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"id":5332,"nodeType":"ExpressionStatement","src":"14558:42:6"},{"expression":{"id":5333,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14617:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"functionReturnParameters":5264,"id":5334,"nodeType":"Return","src":"14610:15:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIP1559Detail","nameLocation":"14022:27:6","parameters":{"id":5260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5259,"mutability":"mutable","name":"rawDetail","nameLocation":"14073:9:6","nodeType":"VariableDeclaration","scope":5336,"src":"14050:32:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":5258,"nodeType":"UserDefinedTypeName","pathNode":{"id":5257,"name":"RawTx1559Detail","nameLocations":["14050:15:6"],"nodeType":"IdentifierPath","referencedDeclaration":4225,"src":"14050:15:6"},"referencedDeclaration":4225,"src":"14050:15:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"}],"src":"14049:34:6"},"returnParameters":{"id":5264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5336,"src":"14147:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":5262,"nodeType":"UserDefinedTypeName","pathNode":{"id":5261,"name":"Tx1559Detail","nameLocations":["14147:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":4261,"src":"14147:12:6"},"referencedDeclaration":4261,"src":"14147:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"src":"14146:21:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5378,"nodeType":"FunctionDefinition","src":"14638:363:6","nodes":[],"body":{"id":5377,"nodeType":"Block","src":"14727:274:6","nodes":[],"statements":[{"assignments":[5346],"declarations":[{"constant":false,"id":5346,"mutability":"mutable","name":"deployData","nameLocation":"14751:10:6","nodeType":"VariableDeclaration","scope":5377,"src":"14737:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5345,"name":"string","nodeType":"ElementaryTypeName","src":"14737:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5351,"initialValue":{"arguments":[{"id":5349,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5338,"src":"14776:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5347,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"14764:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14767:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"14764:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14764:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"14737:44:6"},{"assignments":[5353],"declarations":[{"constant":false,"id":5353,"mutability":"mutable","name":"parsedDeployData","nameLocation":"14804:16:6","nodeType":"VariableDeclaration","scope":5377,"src":"14791:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5352,"name":"bytes","nodeType":"ElementaryTypeName","src":"14791:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5359,"initialValue":{"arguments":[{"id":5356,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5346,"src":"14836:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e73","id":5357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14848:15:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""},"value":".transactions"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""}],"expression":{"id":5354,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"14823:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14826:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"14823:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":5358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14823:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14791:73:6"},{"assignments":[5364],"declarations":[{"constant":false,"id":5364,"mutability":"mutable","name":"rawTxs","nameLocation":"14893:6:6","nodeType":"VariableDeclaration","scope":5377,"src":"14874:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":5362,"nodeType":"UserDefinedTypeName","pathNode":{"id":5361,"name":"RawTx1559","nameLocations":["14874:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"14874:9:6"},"referencedDeclaration":4206,"src":"14874:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":5363,"nodeType":"ArrayTypeName","src":"14874:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"id":5372,"initialValue":{"arguments":[{"id":5367,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5353,"src":"14913:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":5368,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4206,"src":"14932:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$4206_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}},"id":5369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"14932:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"id":5370,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"14931:13:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}],"expression":{"id":5365,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14902:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14906:6:6","memberName":"decode","nodeType":"MemberAccess","src":"14902:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:43:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14874:71:6"},{"expression":{"arguments":[{"id":5374,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5364,"src":"14987:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":5373,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5196,"src":"14962:24:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":5375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14962:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":5344,"id":5376,"nodeType":"Return","src":"14955:39:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559s","nameLocation":"14647:11:6","parameters":{"id":5339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5338,"mutability":"mutable","name":"path","nameLocation":"14673:4:6","nodeType":"VariableDeclaration","scope":5378,"src":"14659:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5337,"name":"string","nodeType":"ElementaryTypeName","src":"14659:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14658:20:6"},"returnParameters":{"id":5344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5378,"src":"14710:15:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":5341,"nodeType":"UserDefinedTypeName","pathNode":{"id":5340,"name":"Tx1559","nameLocations":["14710:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"14710:6:6"},"referencedDeclaration":4242,"src":"14710:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":5342,"nodeType":"ArrayTypeName","src":"14710:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"14709:17:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5433,"nodeType":"FunctionDefinition","src":"15007:453:6","nodes":[],"body":{"id":5432,"nodeType":"Block","src":"15108:352:6","nodes":[],"statements":[{"assignments":[5389],"declarations":[{"constant":false,"id":5389,"mutability":"mutable","name":"deployData","nameLocation":"15132:10:6","nodeType":"VariableDeclaration","scope":5432,"src":"15118:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5388,"name":"string","nodeType":"ElementaryTypeName","src":"15118:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5394,"initialValue":{"arguments":[{"id":5392,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5380,"src":"15157:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5390,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15145:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15148:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"15145:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15145:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15118:44:6"},{"assignments":[5396],"declarations":[{"constant":false,"id":5396,"mutability":"mutable","name":"key","nameLocation":"15186:3:6","nodeType":"VariableDeclaration","scope":5432,"src":"15172:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5395,"name":"string","nodeType":"ElementaryTypeName","src":"15172:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5409,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e7472616e73616374696f6e735b","id":5401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15216:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},"value":".transactions["},{"arguments":[{"id":5404,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5382,"src":"15246:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5402,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15234:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15237:8:6","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"15234:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":5405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15234:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":5406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15254:3:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":5399,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15199:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15203:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"15199:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15199:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15192:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5397,"name":"string","nodeType":"ElementaryTypeName","src":"15192:6:6","typeDescriptions":{}}},"id":5408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15192:67:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15172:87:6"},{"assignments":[5411],"declarations":[{"constant":false,"id":5411,"mutability":"mutable","name":"parsedDeployData","nameLocation":"15282:16:6","nodeType":"VariableDeclaration","scope":5432,"src":"15269:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5410,"name":"bytes","nodeType":"ElementaryTypeName","src":"15269:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5417,"initialValue":{"arguments":[{"id":5414,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5389,"src":"15314:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5415,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5396,"src":"15326:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5412,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15301:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15304:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"15301:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":5416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15301:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15269:61:6"},{"assignments":[5420],"declarations":[{"constant":false,"id":5420,"mutability":"mutable","name":"rawTx","nameLocation":"15357:5:6","nodeType":"VariableDeclaration","scope":5432,"src":"15340:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":5419,"nodeType":"UserDefinedTypeName","pathNode":{"id":5418,"name":"RawTx1559","nameLocations":["15340:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"15340:9:6"},"referencedDeclaration":4206,"src":"15340:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"id":5427,"initialValue":{"arguments":[{"id":5423,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5411,"src":"15376:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5424,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4206,"src":"15395:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$4206_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"id":5425,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15394:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$4206_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$4206_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}],"expression":{"id":5421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15365:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15369:6:6","memberName":"decode","nodeType":"MemberAccess","src":"15365:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15365:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"nodeType":"VariableDeclarationStatement","src":"15340:66:6"},{"expression":{"arguments":[{"id":5429,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5420,"src":"15447:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":5428,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5256,"src":"15423:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$4206_memory_ptr_$returns$_t_struct$_Tx1559_$4242_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":5430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15423:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":5387,"id":5431,"nodeType":"Return","src":"15416:37:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559","nameLocation":"15016:10:6","parameters":{"id":5383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5380,"mutability":"mutable","name":"path","nameLocation":"15041:4:6","nodeType":"VariableDeclaration","scope":5433,"src":"15027:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5379,"name":"string","nodeType":"ElementaryTypeName","src":"15027:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5382,"mutability":"mutable","name":"index","nameLocation":"15055:5:6","nodeType":"VariableDeclaration","scope":5433,"src":"15047:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5381,"name":"uint256","nodeType":"ElementaryTypeName","src":"15047:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15026:35:6"},"returnParameters":{"id":5387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5433,"src":"15093:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":5385,"nodeType":"UserDefinedTypeName","pathNode":{"id":5384,"name":"Tx1559","nameLocations":["15093:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"15093:6:6"},"referencedDeclaration":4242,"src":"15093:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"15092:15:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5475,"nodeType":"FunctionDefinition","src":"15522:371:6","nodes":[],"body":{"id":5474,"nodeType":"Block","src":"15613:280:6","nodes":[],"statements":[{"assignments":[5443],"declarations":[{"constant":false,"id":5443,"mutability":"mutable","name":"deployData","nameLocation":"15637:10:6","nodeType":"VariableDeclaration","scope":5474,"src":"15623:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5442,"name":"string","nodeType":"ElementaryTypeName","src":"15623:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5448,"initialValue":{"arguments":[{"id":5446,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5435,"src":"15662:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5444,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15650:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15653:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"15650:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15650:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15623:44:6"},{"assignments":[5450],"declarations":[{"constant":false,"id":5450,"mutability":"mutable","name":"parsedDeployData","nameLocation":"15690:16:6","nodeType":"VariableDeclaration","scope":5474,"src":"15677:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5449,"name":"bytes","nodeType":"ElementaryTypeName","src":"15677:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5456,"initialValue":{"arguments":[{"id":5453,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5443,"src":"15722:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7265636569707473","id":5454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15734:11:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""},"value":".receipts"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""}],"expression":{"id":5451,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15709:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15712:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"15709:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":5455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15709:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15677:69:6"},{"assignments":[5461],"declarations":[{"constant":false,"id":5461,"mutability":"mutable","name":"rawReceipts","nameLocation":"15776:11:6","nodeType":"VariableDeclaration","scope":5474,"src":"15756:31:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":5459,"nodeType":"UserDefinedTypeName","pathNode":{"id":5458,"name":"RawReceipt","nameLocations":["15756:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"15756:10:6"},"referencedDeclaration":4346,"src":"15756:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":5460,"nodeType":"ArrayTypeName","src":"15756:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"id":5469,"initialValue":{"arguments":[{"id":5464,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5450,"src":"15801:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":5465,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4346,"src":"15820:10:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4346_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}},"id":5466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"15820:12:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"id":5467,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15819:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}],"expression":{"id":5462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15790:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15794:6:6","memberName":"decode","nodeType":"MemberAccess","src":"15790:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15790:44:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15756:78:6"},{"expression":{"arguments":[{"id":5471,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5461,"src":"15874:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":5470,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5579,"src":"15851:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":5472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15851:35:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":5441,"id":5473,"nodeType":"Return","src":"15844:42:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipts","nameLocation":"15531:12:6","parameters":{"id":5436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5435,"mutability":"mutable","name":"path","nameLocation":"15558:4:6","nodeType":"VariableDeclaration","scope":5475,"src":"15544:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5434,"name":"string","nodeType":"ElementaryTypeName","src":"15544:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15543:20:6"},"returnParameters":{"id":5441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5475,"src":"15595:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":5438,"nodeType":"UserDefinedTypeName","pathNode":{"id":5437,"name":"Receipt","nameLocations":["15595:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"15595:7:6"},"referencedDeclaration":4375,"src":"15595:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5439,"nodeType":"ArrayTypeName","src":"15595:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"15594:18:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5530,"nodeType":"FunctionDefinition","src":"15899:461:6","nodes":[],"body":{"id":5529,"nodeType":"Block","src":"16002:358:6","nodes":[],"statements":[{"assignments":[5486],"declarations":[{"constant":false,"id":5486,"mutability":"mutable","name":"deployData","nameLocation":"16026:10:6","nodeType":"VariableDeclaration","scope":5529,"src":"16012:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5485,"name":"string","nodeType":"ElementaryTypeName","src":"16012:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5491,"initialValue":{"arguments":[{"id":5489,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5477,"src":"16051:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5487,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"16039:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16042:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"16039:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16039:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"16012:44:6"},{"assignments":[5493],"declarations":[{"constant":false,"id":5493,"mutability":"mutable","name":"key","nameLocation":"16080:3:6","nodeType":"VariableDeclaration","scope":5529,"src":"16066:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5492,"name":"string","nodeType":"ElementaryTypeName","src":"16066:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5506,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e72656365697074735b","id":5498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16110:12:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},"value":".receipts["},{"arguments":[{"id":5501,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5479,"src":"16136:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5499,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"16124:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16127:8:6","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"16124:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":5502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16124:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":5503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16144:3:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":5496,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16093:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16097:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"16093:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16093:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16086:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5494,"name":"string","nodeType":"ElementaryTypeName","src":"16086:6:6","typeDescriptions":{}}},"id":5505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16086:63:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"16066:83:6"},{"assignments":[5508],"declarations":[{"constant":false,"id":5508,"mutability":"mutable","name":"parsedDeployData","nameLocation":"16172:16:6","nodeType":"VariableDeclaration","scope":5529,"src":"16159:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5507,"name":"bytes","nodeType":"ElementaryTypeName","src":"16159:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5514,"initialValue":{"arguments":[{"id":5511,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5486,"src":"16204:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5512,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5493,"src":"16216:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5509,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"16191:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16194:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"16191:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":5513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16191:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16159:61:6"},{"assignments":[5517],"declarations":[{"constant":false,"id":5517,"mutability":"mutable","name":"rawReceipt","nameLocation":"16248:10:6","nodeType":"VariableDeclaration","scope":5529,"src":"16230:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":5516,"nodeType":"UserDefinedTypeName","pathNode":{"id":5515,"name":"RawReceipt","nameLocations":["16230:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"16230:10:6"},"referencedDeclaration":4346,"src":"16230:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"id":5524,"initialValue":{"arguments":[{"id":5520,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5508,"src":"16272:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5521,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4346,"src":"16291:10:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4346_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"id":5522,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"16290:12:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4346_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4346_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}],"expression":{"id":5518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16261:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16265:6:6","memberName":"decode","nodeType":"MemberAccess","src":"16261:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16261:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"nodeType":"VariableDeclarationStatement","src":"16230:73:6"},{"expression":{"arguments":[{"id":5526,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5517,"src":"16342:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":5525,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5700,"src":"16320:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$4346_memory_ptr_$returns$_t_struct$_Receipt_$4375_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":5527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16320:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":5484,"id":5528,"nodeType":"Return","src":"16313:40:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipt","nameLocation":"15908:11:6","parameters":{"id":5480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5477,"mutability":"mutable","name":"path","nameLocation":"15934:4:6","nodeType":"VariableDeclaration","scope":5530,"src":"15920:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5476,"name":"string","nodeType":"ElementaryTypeName","src":"15920:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5479,"mutability":"mutable","name":"index","nameLocation":"15948:5:6","nodeType":"VariableDeclaration","scope":5530,"src":"15940:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5478,"name":"uint256","nodeType":"ElementaryTypeName","src":"15940:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15919:35:6"},"returnParameters":{"id":5484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5530,"src":"15986:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":5482,"nodeType":"UserDefinedTypeName","pathNode":{"id":5481,"name":"Receipt","nameLocations":["15986:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"15986:7:6"},"referencedDeclaration":4375,"src":"15986:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"15985:16:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5579,"nodeType":"FunctionDefinition","src":"16366:347:6","nodes":[],"body":{"id":5578,"nodeType":"Block","src":"16480:233:6","nodes":[],"statements":[{"assignments":[5545],"declarations":[{"constant":false,"id":5545,"mutability":"mutable","name":"receipts","nameLocation":"16507:8:6","nodeType":"VariableDeclaration","scope":5578,"src":"16490:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":5543,"nodeType":"UserDefinedTypeName","pathNode":{"id":5542,"name":"Receipt","nameLocations":["16490:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16490:7:6"},"referencedDeclaration":4375,"src":"16490:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5544,"nodeType":"ArrayTypeName","src":"16490:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"id":5553,"initialValue":{"arguments":[{"expression":{"id":5550,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5534,"src":"16532:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":5551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16544:6:6","memberName":"length","nodeType":"MemberAccess","src":"16532:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"16518:13:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"},"typeName":{"baseType":{"id":5547,"nodeType":"UserDefinedTypeName","pathNode":{"id":5546,"name":"Receipt","nameLocations":["16522:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16522:7:6"},"referencedDeclaration":4375,"src":"16522:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5548,"nodeType":"ArrayTypeName","src":"16522:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}}},"id":5552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16518:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16490:61:6"},{"body":{"id":5574,"nodeType":"Block","src":"16606:76:6","statements":[{"expression":{"id":5572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5564,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5545,"src":"16620:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":5566,"indexExpression":{"id":5565,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5555,"src":"16629:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16620:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":5568,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5534,"src":"16656:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":5570,"indexExpression":{"id":5569,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5555,"src":"16668:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16656:14:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":5567,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5700,"src":"16634:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$4346_memory_ptr_$returns$_t_struct$_Receipt_$4375_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":5571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16634:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"src":"16620:51:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5573,"nodeType":"ExpressionStatement","src":"16620:51:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5557,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5555,"src":"16577:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5558,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5534,"src":"16581:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":5559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16593:6:6","memberName":"length","nodeType":"MemberAccess","src":"16581:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16577:22:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5575,"initializationExpression":{"assignments":[5555],"declarations":[{"constant":false,"id":5555,"mutability":"mutable","name":"i","nameLocation":"16574:1:6","nodeType":"VariableDeclaration","scope":5575,"src":"16566:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5554,"name":"uint256","nodeType":"ElementaryTypeName","src":"16566:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5556,"nodeType":"VariableDeclarationStatement","src":"16566:9:6"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16601:3:6","subExpression":{"id":5561,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5555,"src":"16601:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5563,"nodeType":"ExpressionStatement","src":"16601:3:6"},"nodeType":"ForStatement","src":"16561:121:6"},{"expression":{"id":5576,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5545,"src":"16698:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":5540,"id":5577,"nodeType":"Return","src":"16691:15:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipts","nameLocation":"16375:22:6","parameters":{"id":5535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5534,"mutability":"mutable","name":"rawReceipts","nameLocation":"16418:11:6","nodeType":"VariableDeclaration","scope":5579,"src":"16398:31:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":5532,"nodeType":"UserDefinedTypeName","pathNode":{"id":5531,"name":"RawReceipt","nameLocations":["16398:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"16398:10:6"},"referencedDeclaration":4346,"src":"16398:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":5533,"nodeType":"ArrayTypeName","src":"16398:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"src":"16397:33:6"},"returnParameters":{"id":5540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5579,"src":"16462:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":5537,"nodeType":"UserDefinedTypeName","pathNode":{"id":5536,"name":"Receipt","nameLocations":["16462:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16462:7:6"},"referencedDeclaration":4375,"src":"16462:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5538,"nodeType":"ArrayTypeName","src":"16462:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"16461:18:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5700,"nodeType":"FunctionDefinition","src":"16719:962:6","nodes":[],"body":{"id":5699,"nodeType":"Block","src":"16827:854:6","nodes":[],"statements":[{"assignments":[5590],"declarations":[{"constant":false,"id":5590,"mutability":"mutable","name":"receipt","nameLocation":"16852:7:6","nodeType":"VariableDeclaration","scope":5699,"src":"16837:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":5589,"nodeType":"UserDefinedTypeName","pathNode":{"id":5588,"name":"Receipt","nameLocations":["16837:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16837:7:6"},"referencedDeclaration":4375,"src":"16837:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"id":5591,"nodeType":"VariableDeclarationStatement","src":"16837:22:6"},{"expression":{"id":5597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5592,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"16869:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5594,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16877:9:6","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4348,"src":"16869:17:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5595,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"16889:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16900:9:6","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4319,"src":"16889:20:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16869:40:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5598,"nodeType":"ExpressionStatement","src":"16869:40:6"},{"expression":{"id":5604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5599,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"16919:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16927:2:6","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4370,"src":"16919:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5602,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"16932:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16943:2:6","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4341,"src":"16932:13:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16919:26:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5605,"nodeType":"ExpressionStatement","src":"16919:26:6"},{"expression":{"id":5611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5606,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"16955:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5608,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16963:4:6","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4358,"src":"16955:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5609,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"16970:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5610,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16981:4:6","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4329,"src":"16970:15:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16955:30:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5612,"nodeType":"ExpressionStatement","src":"16955:30:6"},{"expression":{"id":5618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5613,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"16995:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17003:15:6","memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":4352,"src":"16995:23:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5616,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17021:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17032:15:6","memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":4323,"src":"17021:26:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16995:52:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5619,"nodeType":"ExpressionStatement","src":"16995:52:6"},{"expression":{"id":5627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5620,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17057:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17065:17:6","memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":4356,"src":"17057:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5624,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17098:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5625,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17109:17:6","memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":4327,"src":"17098:28:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5623,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17085:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17085:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17057:70:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5628,"nodeType":"ExpressionStatement","src":"17057:70:6"},{"expression":{"id":5636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5629,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17137:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17145:17:6","memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":4354,"src":"17137:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5633,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17178:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17189:17:6","memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":4325,"src":"17178:28:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5632,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17165:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17165:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17137:70:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5637,"nodeType":"ExpressionStatement","src":"17137:70:6"},{"expression":{"id":5645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5638,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17217:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17225:7:6","memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":4360,"src":"17217:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5642,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17248:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17259:7:6","memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":4331,"src":"17248:18:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5641,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17235:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17235:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17217:50:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5646,"nodeType":"ExpressionStatement","src":"17217:50:6"},{"expression":{"id":5654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5647,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17277:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17285:6:6","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":4368,"src":"17277:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5651,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17307:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17318:6:6","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":4339,"src":"17307:17:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5650,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17294:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17294:31:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17277:48:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5655,"nodeType":"ExpressionStatement","src":"17277:48:6"},{"expression":{"id":5663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5656,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17335:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17343:16:6","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4374,"src":"17335:24:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5660,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17375:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17386:16:6","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4345,"src":"17375:27:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5659,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17362:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17362:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17335:68:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5664,"nodeType":"ExpressionStatement","src":"17335:68:6"},{"expression":{"id":5672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5665,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17413:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17421:11:6","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4350,"src":"17413:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5669,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17448:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17459:11:6","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4321,"src":"17448:22:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5668,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17435:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17435:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17413:58:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5673,"nodeType":"ExpressionStatement","src":"17413:58:6"},{"expression":{"id":5681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5674,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17481:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5676,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17489:4:6","memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":4364,"src":"17481:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5678,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17522:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5679,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17533:4:6","memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":4335,"src":"17522:15:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}],"id":5677,"name":"rawToConvertedReceiptLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"17496:25:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceiptLog memory[] memory) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"}},"id":5680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17496:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"src":"17481:57:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5682,"nodeType":"ExpressionStatement","src":"17481:57:6"},{"expression":{"id":5688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5683,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17548:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5685,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17556:9:6","memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":4366,"src":"17548:17:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5686,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17568:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5687,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17579:9:6","memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":4337,"src":"17568:20:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"17548:40:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5689,"nodeType":"ExpressionStatement","src":"17548:40:6"},{"expression":{"id":5695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5690,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17598:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17606:15:6","memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":4372,"src":"17598:23:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5693,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17624:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5694,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17635:15:6","memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":4343,"src":"17624:26:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"17598:52:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5696,"nodeType":"ExpressionStatement","src":"17598:52:6"},{"expression":{"id":5697,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17667:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":5587,"id":5698,"nodeType":"Return","src":"17660:14:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipt","nameLocation":"16728:21:6","parameters":{"id":5583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5582,"mutability":"mutable","name":"rawReceipt","nameLocation":"16768:10:6","nodeType":"VariableDeclaration","scope":5700,"src":"16750:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":5581,"nodeType":"UserDefinedTypeName","pathNode":{"id":5580,"name":"RawReceipt","nameLocations":["16750:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"16750:10:6"},"referencedDeclaration":4346,"src":"16750:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"src":"16749:30:6"},"returnParameters":{"id":5587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5700,"src":"16811:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":5585,"nodeType":"UserDefinedTypeName","pathNode":{"id":5584,"name":"Receipt","nameLocations":["16811:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16811:7:6"},"referencedDeclaration":4375,"src":"16811:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"16810:16:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5837,"nodeType":"FunctionDefinition","src":"17687:873:6","nodes":[],"body":{"id":5836,"nodeType":"Block","src":"17842:718:6","nodes":[],"statements":[{"assignments":[5715],"declarations":[{"constant":false,"id":5715,"mutability":"mutable","name":"logs","nameLocation":"17872:4:6","nodeType":"VariableDeclaration","scope":5836,"src":"17852:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5713,"nodeType":"UserDefinedTypeName","pathNode":{"id":5712,"name":"ReceiptLog","nameLocations":["17852:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4463,"src":"17852:10:6"},"referencedDeclaration":4463,"src":"17852:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5714,"nodeType":"ArrayTypeName","src":"17852:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"id":5723,"initialValue":{"arguments":[{"expression":{"id":5720,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"17896:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17904:6:6","memberName":"length","nodeType":"MemberAccess","src":"17896:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17879:16:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"},"typeName":{"baseType":{"id":5717,"nodeType":"UserDefinedTypeName","pathNode":{"id":5716,"name":"ReceiptLog","nameLocations":["17883:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4463,"src":"17883:10:6"},"referencedDeclaration":4463,"src":"17883:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5718,"nodeType":"ArrayTypeName","src":"17883:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}}},"id":5722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17879:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17852:59:6"},{"body":{"id":5832,"nodeType":"Block","src":"17962:571:6","statements":[{"expression":{"id":5742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5734,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"17976:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5736,"indexExpression":{"id":5735,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"17981:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17976:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17984:10:6","memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":4445,"src":"17976:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5738,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"17997:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5740,"indexExpression":{"id":5739,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18005:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17997:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5741,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18008:10:6","memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":4423,"src":"17997:21:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17976:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5743,"nodeType":"ExpressionStatement","src":"17976:42:6"},{"expression":{"id":5752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5744,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18032:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5746,"indexExpression":{"id":5745,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18037:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18032:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5747,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18040:9:6","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4447,"src":"18032:17:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5748,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18052:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5750,"indexExpression":{"id":5749,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18060:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18052:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18063:9:6","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4425,"src":"18052:20:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18032:40:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5753,"nodeType":"ExpressionStatement","src":"18032:40:6"},{"expression":{"id":5764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5754,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18086:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5756,"indexExpression":{"id":5755,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18091:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18086:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5757,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18094:11:6","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4449,"src":"18086:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5759,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18121:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5761,"indexExpression":{"id":5760,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18129:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18121:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18132:11:6","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4427,"src":"18121:22:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5758,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"18108:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18108:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18086:58:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5765,"nodeType":"ExpressionStatement","src":"18086:58:6"},{"expression":{"id":5774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5766,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18158:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5768,"indexExpression":{"id":5767,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18163:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18158:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18166:4:6","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4451,"src":"18158:12:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5770,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18173:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5772,"indexExpression":{"id":5771,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18181:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18173:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18184:4:6","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4429,"src":"18173:15:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"18158:30:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5775,"nodeType":"ExpressionStatement","src":"18158:30:6"},{"expression":{"id":5786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5776,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18202:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5778,"indexExpression":{"id":5777,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18207:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18202:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5779,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18210:8:6","memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":4453,"src":"18202:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5781,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18234:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5783,"indexExpression":{"id":5782,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18242:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18234:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18245:8:6","memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":4431,"src":"18234:19:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5780,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"18221:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18221:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18202:52:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5787,"nodeType":"ExpressionStatement","src":"18202:52:6"},{"expression":{"id":5796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5788,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18268:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5790,"indexExpression":{"id":5789,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18273:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18268:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18276:6:6","memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":4456,"src":"18268:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5792,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18285:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5794,"indexExpression":{"id":5793,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18293:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18285:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18296:6:6","memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":4436,"src":"18285:17:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"18268:34:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5797,"nodeType":"ExpressionStatement","src":"18268:34:6"},{"expression":{"id":5808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5798,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18316:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5800,"indexExpression":{"id":5799,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18321:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18316:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18324:16:6","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4458,"src":"18316:24:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5803,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18356:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5805,"indexExpression":{"id":5804,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18364:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18356:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18367:16:6","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4440,"src":"18356:27:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5802,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"18343:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18343:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18316:68:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5809,"nodeType":"ExpressionStatement","src":"18316:68:6"},{"expression":{"id":5820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5810,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18398:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5812,"indexExpression":{"id":5811,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18403:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18398:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18406:19:6","memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":4460,"src":"18398:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5815,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18441:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5817,"indexExpression":{"id":5816,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18449:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18441:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5818,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18452:19:6","memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":4442,"src":"18441:30:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5814,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"18428:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18428:44:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18398:74:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5821,"nodeType":"ExpressionStatement","src":"18398:74:6"},{"expression":{"id":5830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5822,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18486:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5824,"indexExpression":{"id":5823,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18491:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18486:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5825,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18494:7:6","memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":4462,"src":"18486:15:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5826,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18504:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5828,"indexExpression":{"id":5827,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18512:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18504:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18515:7:6","memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":4433,"src":"18504:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18486:36:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5831,"nodeType":"ExpressionStatement","src":"18486:36:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5727,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"17937:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5728,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"17941:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17949:6:6","memberName":"length","nodeType":"MemberAccess","src":"17941:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17937:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5833,"initializationExpression":{"assignments":[5725],"declarations":[{"constant":false,"id":5725,"mutability":"mutable","name":"i","nameLocation":"17934:1:6","nodeType":"VariableDeclaration","scope":5833,"src":"17926:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5724,"name":"uint256","nodeType":"ElementaryTypeName","src":"17926:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5726,"nodeType":"VariableDeclarationStatement","src":"17926:9:6"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17957:3:6","subExpression":{"id":5731,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"17957:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5733,"nodeType":"ExpressionStatement","src":"17957:3:6"},"nodeType":"ForStatement","src":"17921:612:6"},{"expression":{"id":5834,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18549:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"functionReturnParameters":5710,"id":5835,"nodeType":"Return","src":"18542:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceiptLogs","nameLocation":"17696:25:6","parameters":{"id":5705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5704,"mutability":"mutable","name":"rawLogs","nameLocation":"17745:7:6","nodeType":"VariableDeclaration","scope":5837,"src":"17722:30:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":5702,"nodeType":"UserDefinedTypeName","pathNode":{"id":5701,"name":"RawReceiptLog","nameLocations":["17722:13:6"],"nodeType":"IdentifierPath","referencedDeclaration":4443,"src":"17722:13:6"},"referencedDeclaration":4443,"src":"17722:13:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":5703,"nodeType":"ArrayTypeName","src":"17722:15:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"}],"src":"17721:32:6"},"returnParameters":{"id":5710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5837,"src":"17817:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5707,"nodeType":"UserDefinedTypeName","pathNode":{"id":5706,"name":"ReceiptLog","nameLocations":["17817:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4463,"src":"17817:10:6"},"referencedDeclaration":4463,"src":"17817:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5708,"nodeType":"ArrayTypeName","src":"17817:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"src":"17816:21:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5869,"nodeType":"FunctionDefinition","src":"18720:416:6","nodes":[],"body":{"id":5868,"nodeType":"Block","src":"18819:317:6","nodes":[],"statements":[{"assignments":[5847],"declarations":[{"constant":false,"id":5847,"mutability":"mutable","name":"bytecode","nameLocation":"18842:8:6","nodeType":"VariableDeclaration","scope":5868,"src":"18829:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5846,"name":"bytes","nodeType":"ElementaryTypeName","src":"18829:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5856,"initialValue":{"arguments":[{"arguments":[{"id":5852,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5839,"src":"18881:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5850,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"18870:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18873:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"18870:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18870:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5854,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5841,"src":"18888:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5848,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18853:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18857:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"18853:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18853:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18829:64:6"},{"AST":{"nativeSrc":"18955:79:6","nodeType":"YulBlock","src":"18955:79:6","statements":[{"nativeSrc":"18969:55:6","nodeType":"YulAssignment","src":"18969:55:6","value":{"arguments":[{"kind":"number","nativeSrc":"18984:1:6","nodeType":"YulLiteral","src":"18984:1:6","type":"","value":"0"},{"arguments":[{"name":"bytecode","nativeSrc":"18991:8:6","nodeType":"YulIdentifier","src":"18991:8:6"},{"kind":"number","nativeSrc":"19001:4:6","nodeType":"YulLiteral","src":"19001:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18987:3:6","nodeType":"YulIdentifier","src":"18987:3:6"},"nativeSrc":"18987:19:6","nodeType":"YulFunctionCall","src":"18987:19:6"},{"arguments":[{"name":"bytecode","nativeSrc":"19014:8:6","nodeType":"YulIdentifier","src":"19014:8:6"}],"functionName":{"name":"mload","nativeSrc":"19008:5:6","nodeType":"YulIdentifier","src":"19008:5:6"},"nativeSrc":"19008:15:6","nodeType":"YulFunctionCall","src":"19008:15:6"}],"functionName":{"name":"create","nativeSrc":"18977:6:6","nodeType":"YulIdentifier","src":"18977:6:6"},"nativeSrc":"18977:47:6","nodeType":"YulFunctionCall","src":"18977:47:6"},"variableNames":[{"name":"addr","nativeSrc":"18969:4:6","nodeType":"YulIdentifier","src":"18969:4:6"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":5844,"isOffset":false,"isSlot":false,"src":"18969:4:6","valueSize":1},{"declaration":5847,"isOffset":false,"isSlot":false,"src":"18991:8:6","valueSize":1},{"declaration":5847,"isOffset":false,"isSlot":false,"src":"19014:8:6","valueSize":1}],"id":5857,"nodeType":"InlineAssembly","src":"18946:88:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5859,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5844,"src":"19052:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19068:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19060:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5860,"name":"address","nodeType":"ElementaryTypeName","src":"19060:7:6","typeDescriptions":{}}},"id":5863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19060:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19052:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e","id":5865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19072:56:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""}],"id":5858,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19044:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19044:85:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5867,"nodeType":"ExpressionStatement","src":"19044:85:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"18729:10:6","parameters":{"id":5842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5839,"mutability":"mutable","name":"what","nameLocation":"18754:4:6","nodeType":"VariableDeclaration","scope":5869,"src":"18740:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5838,"name":"string","nodeType":"ElementaryTypeName","src":"18740:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5841,"mutability":"mutable","name":"args","nameLocation":"18773:4:6","nodeType":"VariableDeclaration","scope":5869,"src":"18760:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5840,"name":"bytes","nodeType":"ElementaryTypeName","src":"18760:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18739:39:6"},"returnParameters":{"id":5845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5844,"mutability":"mutable","name":"addr","nameLocation":"18813:4:6","nodeType":"VariableDeclaration","scope":5869,"src":"18805:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5843,"name":"address","nodeType":"ElementaryTypeName","src":"18805:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18804:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5895,"nodeType":"FunctionDefinition","src":"19142:367:6","nodes":[],"body":{"id":5894,"nodeType":"Block","src":"19222:287:6","nodes":[],"statements":[{"assignments":[5877],"declarations":[{"constant":false,"id":5877,"mutability":"mutable","name":"bytecode","nameLocation":"19245:8:6","nodeType":"VariableDeclaration","scope":5894,"src":"19232:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5876,"name":"bytes","nodeType":"ElementaryTypeName","src":"19232:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5882,"initialValue":{"arguments":[{"id":5880,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5871,"src":"19267:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5878,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"19256:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19259:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"19256:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19256:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19232:40:6"},{"AST":{"nativeSrc":"19334:79:6","nodeType":"YulBlock","src":"19334:79:6","statements":[{"nativeSrc":"19348:55:6","nodeType":"YulAssignment","src":"19348:55:6","value":{"arguments":[{"kind":"number","nativeSrc":"19363:1:6","nodeType":"YulLiteral","src":"19363:1:6","type":"","value":"0"},{"arguments":[{"name":"bytecode","nativeSrc":"19370:8:6","nodeType":"YulIdentifier","src":"19370:8:6"},{"kind":"number","nativeSrc":"19380:4:6","nodeType":"YulLiteral","src":"19380:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19366:3:6","nodeType":"YulIdentifier","src":"19366:3:6"},"nativeSrc":"19366:19:6","nodeType":"YulFunctionCall","src":"19366:19:6"},{"arguments":[{"name":"bytecode","nativeSrc":"19393:8:6","nodeType":"YulIdentifier","src":"19393:8:6"}],"functionName":{"name":"mload","nativeSrc":"19387:5:6","nodeType":"YulIdentifier","src":"19387:5:6"},"nativeSrc":"19387:15:6","nodeType":"YulFunctionCall","src":"19387:15:6"}],"functionName":{"name":"create","nativeSrc":"19356:6:6","nodeType":"YulIdentifier","src":"19356:6:6"},"nativeSrc":"19356:47:6","nodeType":"YulFunctionCall","src":"19356:47:6"},"variableNames":[{"name":"addr","nativeSrc":"19348:4:6","nodeType":"YulIdentifier","src":"19348:4:6"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":5874,"isOffset":false,"isSlot":false,"src":"19348:4:6","valueSize":1},{"declaration":5877,"isOffset":false,"isSlot":false,"src":"19370:8:6","valueSize":1},{"declaration":5877,"isOffset":false,"isSlot":false,"src":"19393:8:6","valueSize":1}],"id":5883,"nodeType":"InlineAssembly","src":"19325:88:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5885,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5874,"src":"19431:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19447:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19439:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5886,"name":"address","nodeType":"ElementaryTypeName","src":"19439:7:6","typeDescriptions":{}}},"id":5889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19439:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19431:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e","id":5891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19451:50:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""},"value":"StdCheats deployCode(string): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""}],"id":5884,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19423:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19423:79:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5893,"nodeType":"ExpressionStatement","src":"19423:79:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"19151:10:6","parameters":{"id":5872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5871,"mutability":"mutable","name":"what","nameLocation":"19176:4:6","nodeType":"VariableDeclaration","scope":5895,"src":"19162:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5870,"name":"string","nodeType":"ElementaryTypeName","src":"19162:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19161:20:6"},"returnParameters":{"id":5875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5874,"mutability":"mutable","name":"addr","nameLocation":"19216:4:6","nodeType":"VariableDeclaration","scope":5895,"src":"19208:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5873,"name":"address","nodeType":"ElementaryTypeName","src":"19208:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19207:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5930,"nodeType":"FunctionDefinition","src":"19571:439:6","nodes":[],"body":{"id":5929,"nodeType":"Block","src":"19683:327:6","nodes":[],"statements":[{"assignments":[5908],"declarations":[{"constant":false,"id":5908,"mutability":"mutable","name":"bytecode","nameLocation":"19706:8:6","nodeType":"VariableDeclaration","scope":5929,"src":"19693:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5907,"name":"bytes","nodeType":"ElementaryTypeName","src":"19693:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5917,"initialValue":{"arguments":[{"arguments":[{"id":5913,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5898,"src":"19745:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5911,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"19734:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19737:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"19734:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19734:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5915,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5900,"src":"19752:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19717:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19721:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"19717:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19717:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19693:64:6"},{"AST":{"nativeSrc":"19819:81:6","nodeType":"YulBlock","src":"19819:81:6","statements":[{"nativeSrc":"19833:57:6","nodeType":"YulAssignment","src":"19833:57:6","value":{"arguments":[{"name":"val","nativeSrc":"19848:3:6","nodeType":"YulIdentifier","src":"19848:3:6"},{"arguments":[{"name":"bytecode","nativeSrc":"19857:8:6","nodeType":"YulIdentifier","src":"19857:8:6"},{"kind":"number","nativeSrc":"19867:4:6","nodeType":"YulLiteral","src":"19867:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19853:3:6","nodeType":"YulIdentifier","src":"19853:3:6"},"nativeSrc":"19853:19:6","nodeType":"YulFunctionCall","src":"19853:19:6"},{"arguments":[{"name":"bytecode","nativeSrc":"19880:8:6","nodeType":"YulIdentifier","src":"19880:8:6"}],"functionName":{"name":"mload","nativeSrc":"19874:5:6","nodeType":"YulIdentifier","src":"19874:5:6"},"nativeSrc":"19874:15:6","nodeType":"YulFunctionCall","src":"19874:15:6"}],"functionName":{"name":"create","nativeSrc":"19841:6:6","nodeType":"YulIdentifier","src":"19841:6:6"},"nativeSrc":"19841:49:6","nodeType":"YulFunctionCall","src":"19841:49:6"},"variableNames":[{"name":"addr","nativeSrc":"19833:4:6","nodeType":"YulIdentifier","src":"19833:4:6"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":5905,"isOffset":false,"isSlot":false,"src":"19833:4:6","valueSize":1},{"declaration":5908,"isOffset":false,"isSlot":false,"src":"19857:8:6","valueSize":1},{"declaration":5908,"isOffset":false,"isSlot":false,"src":"19880:8:6","valueSize":1},{"declaration":5902,"isOffset":false,"isSlot":false,"src":"19848:3:6","valueSize":1}],"id":5918,"nodeType":"InlineAssembly","src":"19810:90:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5920,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5905,"src":"19918:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19934:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19926:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5921,"name":"address","nodeType":"ElementaryTypeName","src":"19926:7:6","typeDescriptions":{}}},"id":5924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19926:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19918:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19938:64:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""}],"id":5919,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19910:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19910:93:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5928,"nodeType":"ExpressionStatement","src":"19910:93:6"}]},"documentation":{"id":5896,"nodeType":"StructuredDocumentation","src":"19515:51:6","text":"@dev deploy contract with value on construction"},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"19580:10:6","parameters":{"id":5903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5898,"mutability":"mutable","name":"what","nameLocation":"19605:4:6","nodeType":"VariableDeclaration","scope":5930,"src":"19591:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5897,"name":"string","nodeType":"ElementaryTypeName","src":"19591:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5900,"mutability":"mutable","name":"args","nameLocation":"19624:4:6","nodeType":"VariableDeclaration","scope":5930,"src":"19611:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5899,"name":"bytes","nodeType":"ElementaryTypeName","src":"19611:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":5902,"mutability":"mutable","name":"val","nameLocation":"19638:3:6","nodeType":"VariableDeclaration","scope":5930,"src":"19630:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5901,"name":"uint256","nodeType":"ElementaryTypeName","src":"19630:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19590:52:6"},"returnParameters":{"id":5906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5905,"mutability":"mutable","name":"addr","nameLocation":"19677:4:6","nodeType":"VariableDeclaration","scope":5930,"src":"19669:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5904,"name":"address","nodeType":"ElementaryTypeName","src":"19669:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19668:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5958,"nodeType":"FunctionDefinition","src":"20016:390:6","nodes":[],"body":{"id":5957,"nodeType":"Block","src":"20109:297:6","nodes":[],"statements":[{"assignments":[5940],"declarations":[{"constant":false,"id":5940,"mutability":"mutable","name":"bytecode","nameLocation":"20132:8:6","nodeType":"VariableDeclaration","scope":5957,"src":"20119:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5939,"name":"bytes","nodeType":"ElementaryTypeName","src":"20119:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5945,"initialValue":{"arguments":[{"id":5943,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5932,"src":"20154:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5941,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"20143:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20146:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"20143:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20143:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"20119:40:6"},{"AST":{"nativeSrc":"20221:81:6","nodeType":"YulBlock","src":"20221:81:6","statements":[{"nativeSrc":"20235:57:6","nodeType":"YulAssignment","src":"20235:57:6","value":{"arguments":[{"name":"val","nativeSrc":"20250:3:6","nodeType":"YulIdentifier","src":"20250:3:6"},{"arguments":[{"name":"bytecode","nativeSrc":"20259:8:6","nodeType":"YulIdentifier","src":"20259:8:6"},{"kind":"number","nativeSrc":"20269:4:6","nodeType":"YulLiteral","src":"20269:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"20255:3:6","nodeType":"YulIdentifier","src":"20255:3:6"},"nativeSrc":"20255:19:6","nodeType":"YulFunctionCall","src":"20255:19:6"},{"arguments":[{"name":"bytecode","nativeSrc":"20282:8:6","nodeType":"YulIdentifier","src":"20282:8:6"}],"functionName":{"name":"mload","nativeSrc":"20276:5:6","nodeType":"YulIdentifier","src":"20276:5:6"},"nativeSrc":"20276:15:6","nodeType":"YulFunctionCall","src":"20276:15:6"}],"functionName":{"name":"create","nativeSrc":"20243:6:6","nodeType":"YulIdentifier","src":"20243:6:6"},"nativeSrc":"20243:49:6","nodeType":"YulFunctionCall","src":"20243:49:6"},"variableNames":[{"name":"addr","nativeSrc":"20235:4:6","nodeType":"YulIdentifier","src":"20235:4:6"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":5937,"isOffset":false,"isSlot":false,"src":"20235:4:6","valueSize":1},{"declaration":5940,"isOffset":false,"isSlot":false,"src":"20259:8:6","valueSize":1},{"declaration":5940,"isOffset":false,"isSlot":false,"src":"20282:8:6","valueSize":1},{"declaration":5934,"isOffset":false,"isSlot":false,"src":"20250:3:6","valueSize":1}],"id":5946,"nodeType":"InlineAssembly","src":"20212:90:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5948,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5937,"src":"20320:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20336:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20328:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5949,"name":"address","nodeType":"ElementaryTypeName","src":"20328:7:6","typeDescriptions":{}}},"id":5952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20328:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20320:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20340:58:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""}],"id":5947,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20312:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20312:87:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5956,"nodeType":"ExpressionStatement","src":"20312:87:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"20025:10:6","parameters":{"id":5935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5932,"mutability":"mutable","name":"what","nameLocation":"20050:4:6","nodeType":"VariableDeclaration","scope":5958,"src":"20036:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5931,"name":"string","nodeType":"ElementaryTypeName","src":"20036:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5934,"mutability":"mutable","name":"val","nameLocation":"20064:3:6","nodeType":"VariableDeclaration","scope":5958,"src":"20056:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5933,"name":"uint256","nodeType":"ElementaryTypeName","src":"20056:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20035:33:6"},"returnParameters":{"id":5938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5937,"mutability":"mutable","name":"addr","nameLocation":"20103:4:6","nodeType":"VariableDeclaration","scope":5958,"src":"20095:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5936,"name":"address","nodeType":"ElementaryTypeName","src":"20095:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20094:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5994,"nodeType":"FunctionDefinition","src":"20479:242:6","nodes":[],"body":{"id":5993,"nodeType":"Block","src":"20583:138:6","nodes":[],"statements":[{"expression":{"id":5977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5967,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5965,"src":"20593:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":5973,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"20641:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5971,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20624:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20628:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"20624:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20624:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5970,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20614:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20614:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20606:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5968,"name":"uint256","nodeType":"ElementaryTypeName","src":"20606:7:6","typeDescriptions":{}}},"id":5976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20606:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20593:55:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5978,"nodeType":"ExpressionStatement","src":"20593:55:6"},{"expression":{"id":5984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5979,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5963,"src":"20658:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5982,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5965,"src":"20673:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5980,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"20665:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20668:4:6","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":14336,"src":"20665:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":5983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20665:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20658:26:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5985,"nodeType":"ExpressionStatement","src":"20658:26:6"},{"expression":{"arguments":[{"id":5989,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5963,"src":"20703:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5990,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"20709:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5986,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"20694:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20697:5:6","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":17457,"src":"20694:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":5991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20694:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5992,"nodeType":"ExpressionStatement","src":"20694:20:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddrAndKey","nameLocation":"20488:14:6","parameters":{"id":5961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5960,"mutability":"mutable","name":"name","nameLocation":"20517:4:6","nodeType":"VariableDeclaration","scope":5994,"src":"20503:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5959,"name":"string","nodeType":"ElementaryTypeName","src":"20503:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20502:20:6"},"returnParameters":{"id":5966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5963,"mutability":"mutable","name":"addr","nameLocation":"20557:4:6","nodeType":"VariableDeclaration","scope":5994,"src":"20549:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5962,"name":"address","nodeType":"ElementaryTypeName","src":"20549:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5965,"mutability":"mutable","name":"privateKey","nameLocation":"20571:10:6","nodeType":"VariableDeclaration","scope":5994,"src":"20563:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5964,"name":"uint256","nodeType":"ElementaryTypeName","src":"20563:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20548:34:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6009,"nodeType":"FunctionDefinition","src":"20760:125:6","nodes":[],"body":{"id":6008,"nodeType":"Block","src":"20838:47:6","nodes":[],"statements":[{"expression":{"id":6006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":6001,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5999,"src":"20849:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},null],"id":6002,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"20848:7:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$__$","typeString":"tuple(address,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":6004,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5996,"src":"20873:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":6003,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5994,"src":"20858:14:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":6005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20858:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"20848:30:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6007,"nodeType":"ExpressionStatement","src":"20848:30:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddr","nameLocation":"20769:8:6","parameters":{"id":5997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5996,"mutability":"mutable","name":"name","nameLocation":"20792:4:6","nodeType":"VariableDeclaration","scope":6009,"src":"20778:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5995,"name":"string","nodeType":"ElementaryTypeName","src":"20778:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20777:20:6"},"returnParameters":{"id":6000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5999,"mutability":"mutable","name":"addr","nameLocation":"20832:4:6","nodeType":"VariableDeclaration","scope":6009,"src":"20824:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5998,"name":"address","nodeType":"ElementaryTypeName","src":"20824:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20823:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6058,"nodeType":"FunctionDefinition","src":"21203:337:6","nodes":[],"body":{"id":6057,"nodeType":"Block","src":"21278:262:6","nodes":[],"statements":[{"assignments":[6017],"declarations":[{"constant":false,"id":6017,"mutability":"mutable","name":"currBalance","nameLocation":"21296:11:6","nodeType":"VariableDeclaration","scope":6057,"src":"21288:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6016,"name":"uint256","nodeType":"ElementaryTypeName","src":"21288:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6020,"initialValue":{"expression":{"id":6018,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6011,"src":"21310:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21314:7:6","memberName":"balance","nodeType":"MemberAccess","src":"21310:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21288:33:6"},{"expression":{"arguments":[{"id":6024,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6011,"src":"21339:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6025,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21344:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21348:6:6","memberName":"encode","nodeType":"MemberAccess","src":"21344:10:6","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21344:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6021,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21331:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21334:4:6","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"21331:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":6028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21331:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6029,"nodeType":"ExpressionStatement","src":"21331:26:6"},{"expression":{"arguments":[{"id":6033,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6011,"src":"21375:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":6034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21380:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":6030,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21367:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21370:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"21367:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21367:15:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6036,"nodeType":"ExpressionStatement","src":"21367:15:6"},{"expression":{"arguments":[{"id":6040,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6011,"src":"21406:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6037,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21392:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21395:10:6","memberName":"resetNonce","nodeType":"MemberAccess","referencedDeclaration":18023,"src":"21392:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21392:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6042,"nodeType":"ExpressionStatement","src":"21392:18:6"},{"assignments":[6044],"declarations":[{"constant":false,"id":6044,"mutability":"mutable","name":"beneficiaryBalance","nameLocation":"21429:18:6","nodeType":"VariableDeclaration","scope":6057,"src":"21421:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6043,"name":"uint256","nodeType":"ElementaryTypeName","src":"21421:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6047,"initialValue":{"expression":{"id":6045,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6013,"src":"21450:11:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21462:7:6","memberName":"balance","nodeType":"MemberAccess","src":"21450:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21421:48:6"},{"expression":{"arguments":[{"id":6051,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6013,"src":"21487:11:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6052,"name":"currBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6017,"src":"21500:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":6053,"name":"beneficiaryBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6044,"src":"21514:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21500:32:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6048,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21479:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21482:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"21479:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21479:54:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6056,"nodeType":"ExpressionStatement","src":"21479:54:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"destroyAccount","nameLocation":"21212:14:6","parameters":{"id":6014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6011,"mutability":"mutable","name":"who","nameLocation":"21235:3:6","nodeType":"VariableDeclaration","scope":6058,"src":"21227:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6010,"name":"address","nodeType":"ElementaryTypeName","src":"21227:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6013,"mutability":"mutable","name":"beneficiary","nameLocation":"21248:11:6","nodeType":"VariableDeclaration","scope":6058,"src":"21240:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6012,"name":"address","nodeType":"ElementaryTypeName","src":"21240:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21226:34:6"},"returnParameters":{"id":6015,"nodeType":"ParameterList","parameters":[],"src":"21278:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6078,"nodeType":"FunctionDefinition","src":"21638:158:6","nodes":[],"body":{"id":6077,"nodeType":"Block","src":"21729:67:6","nodes":[],"statements":[{"expression":{"id":6075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":6066,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6064,"src":"21740:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$4473_memory_ptr","typeString":"struct StdCheatsSafe.Account memory"}},"id":6068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21748:4:6","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":4470,"src":"21740:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":6069,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6064,"src":"21754:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$4473_memory_ptr","typeString":"struct StdCheatsSafe.Account memory"}},"id":6070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21762:3:6","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":4472,"src":"21754:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6071,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"21739:27:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":6073,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"21784:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":6072,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5994,"src":"21769:14:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":6074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21769:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"21739:50:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6076,"nodeType":"ExpressionStatement","src":"21739:50:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAccount","nameLocation":"21647:11:6","parameters":{"id":6061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6060,"mutability":"mutable","name":"name","nameLocation":"21673:4:6","nodeType":"VariableDeclaration","scope":6078,"src":"21659:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6059,"name":"string","nodeType":"ElementaryTypeName","src":"21659:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21658:20:6"},"returnParameters":{"id":6065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6064,"mutability":"mutable","name":"account","nameLocation":"21720:7:6","nodeType":"VariableDeclaration","scope":6078,"src":"21705:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$4473_memory_ptr","typeString":"struct StdCheatsSafe.Account"},"typeName":{"id":6063,"nodeType":"UserDefinedTypeName","pathNode":{"id":6062,"name":"Account","nameLocations":["21705:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4473,"src":"21705:7:6"},"referencedDeclaration":4473,"src":"21705:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$4473_storage_ptr","typeString":"struct StdCheatsSafe.Account"}},"visibility":"internal"}],"src":"21704:24:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6105,"nodeType":"FunctionDefinition","src":"21802:253:6","nodes":[],"body":{"id":6104,"nodeType":"Block","src":"21954:101:6","nodes":[],"statements":[{"expression":{"id":6095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6089,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6087,"src":"21964:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":6092,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"21990:8:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6093,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6082,"src":"22000:5:6","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":6090,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21977:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21980:9:6","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":13768,"src":"21977:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":6094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21977:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21964:42:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6096,"nodeType":"ExpressionStatement","src":"21964:42:6"},{"expression":{"id":6102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6097,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6085,"src":"22016:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":6100,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6087,"src":"22037:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6098,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"22022:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22025:11:6","memberName":"rememberKey","nodeType":"MemberAccess","referencedDeclaration":13824,"src":"22022:14:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) external returns (address)"}},"id":6101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22022:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22016:32:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6103,"nodeType":"ExpressionStatement","src":"22016:32:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deriveRememberKey","nameLocation":"21811:17:6","parameters":{"id":6083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6080,"mutability":"mutable","name":"mnemonic","nameLocation":"21843:8:6","nodeType":"VariableDeclaration","scope":6105,"src":"21829:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6079,"name":"string","nodeType":"ElementaryTypeName","src":"21829:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6082,"mutability":"mutable","name":"index","nameLocation":"21860:5:6","nodeType":"VariableDeclaration","scope":6105,"src":"21853:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":6081,"name":"uint32","nodeType":"ElementaryTypeName","src":"21853:6:6","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"21828:38:6"},"returnParameters":{"id":6088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6085,"mutability":"mutable","name":"who","nameLocation":"21925:3:6","nodeType":"VariableDeclaration","scope":6105,"src":"21917:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6084,"name":"address","nodeType":"ElementaryTypeName","src":"21917:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6087,"mutability":"mutable","name":"privateKey","nameLocation":"21938:10:6","nodeType":"VariableDeclaration","scope":6105,"src":"21930:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6086,"name":"uint256","nodeType":"ElementaryTypeName","src":"21930:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21916:33:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6139,"nodeType":"FunctionDefinition","src":"22061:253:6","nodes":[],"body":{"id":6138,"nodeType":"Block","src":"22130:184:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6113,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6107,"src":"22148:1:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22150:6:6","memberName":"length","nodeType":"MemberAccess","src":"22148:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":6115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22160:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"22148:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f6279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":6117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22164:57:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdCheats _bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":6112,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"22140:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22140:82:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6119,"nodeType":"ExpressionStatement","src":"22140:82:6"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":6126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22277:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":6127,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6107,"src":"22282:1:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22284:6:6","memberName":"length","nodeType":"MemberAccess","src":"22282:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22277:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"22267:9:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":6124,"name":"bytes","nodeType":"ElementaryTypeName","src":"22271:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":6130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22267:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6131,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6107,"src":"22293:1:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22250:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22254:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"22250:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22250:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22298:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6133,"name":"uint256","nodeType":"ElementaryTypeName","src":"22298:7:6","typeDescriptions":{}}}],"id":6135,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22297:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22239:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22243:6:6","memberName":"decode","nodeType":"MemberAccess","src":"22239:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22239:68:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6111,"id":6137,"nodeType":"Return","src":"22232:75:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bytesToUint","nameLocation":"22070:12:6","parameters":{"id":6108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6107,"mutability":"mutable","name":"b","nameLocation":"22096:1:6","nodeType":"VariableDeclaration","scope":6139,"src":"22083:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6106,"name":"bytes","nodeType":"ElementaryTypeName","src":"22083:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22082:16:6"},"returnParameters":{"id":6111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6139,"src":"22121:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6109,"name":"uint256","nodeType":"ElementaryTypeName","src":"22121:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22120:9:6"},"scope":6247,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":6160,"nodeType":"FunctionDefinition","src":"22320:160:6","nodes":[],"body":{"id":6159,"nodeType":"Block","src":"22382:98:6","nodes":[],"statements":[{"clauses":[{"block":{"id":6151,"nodeType":"Block","src":"22412:38:6","statements":[{"expression":{"id":6149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6147,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6142,"src":"22426:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":6148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22435:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"22426:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6150,"nodeType":"ExpressionStatement","src":"22426:13:6"}]},"errorName":"","id":6152,"nodeType":"TryCatchClause","src":"22412:38:6"},{"block":{"id":6156,"nodeType":"Block","src":"22472:2:6","statements":[]},"errorName":"","id":6157,"nodeType":"TryCatchClause","parameters":{"id":6155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6154,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6157,"src":"22458:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6153,"name":"bytes","nodeType":"ElementaryTypeName","src":"22458:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22457:14:6"},"src":"22451:23:6"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6144,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"22396:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22399:10:6","memberName":"activeFork","nodeType":"MemberAccess","referencedDeclaration":17625,"src":"22396:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":6146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22396:15:6","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6158,"nodeType":"TryStatement","src":"22392:82:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"isFork","nameLocation":"22329:6:6","parameters":{"id":6140,"nodeType":"ParameterList","parameters":[],"src":"22335:2:6"},"returnParameters":{"id":6143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6142,"mutability":"mutable","name":"status","nameLocation":"22374:6:6","nodeType":"VariableDeclaration","scope":6160,"src":"22369:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6141,"name":"bool","nodeType":"ElementaryTypeName","src":"22369:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22368:13:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":6169,"nodeType":"ModifierDefinition","src":"22486:84:6","nodes":[],"body":{"id":6168,"nodeType":"Block","src":"22513:57:6","nodes":[],"statements":[{"condition":{"id":6164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22527:9:6","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":6162,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6160,"src":"22528:6:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":6163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:8:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6167,"nodeType":"IfStatement","src":"22523:41:6","trueBody":{"id":6166,"nodeType":"Block","src":"22538:26:6","statements":[{"id":6165,"nodeType":"PlaceholderStatement","src":"22552:1:6"}]}}]},"name":"skipWhenForking","nameLocation":"22495:15:6","parameters":{"id":6161,"nodeType":"ParameterList","parameters":[],"src":"22510:2:6"},"virtual":false,"visibility":"internal"},{"id":6177,"nodeType":"ModifierDefinition","src":"22576:86:6","nodes":[],"body":{"id":6176,"nodeType":"Block","src":"22606:56:6","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":6171,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6160,"src":"22620:6:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":6172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22620:8:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6175,"nodeType":"IfStatement","src":"22616:40:6","trueBody":{"id":6174,"nodeType":"Block","src":"22630:26:6","statements":[{"id":6173,"nodeType":"PlaceholderStatement","src":"22644:1:6"}]}}]},"name":"skipWhenNotForking","nameLocation":"22585:18:6","parameters":{"id":6170,"nodeType":"ParameterList","parameters":[],"src":"22603:2:6"},"virtual":false,"visibility":"internal"},{"id":6207,"nodeType":"ModifierDefinition","src":"22668:884:6","nodes":[],"body":{"id":6206,"nodeType":"Block","src":"22693:859:6","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6179,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"22703:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22706:16:6","memberName":"pauseGasMetering","nodeType":"MemberAccess","referencedDeclaration":14504,"src":"22703:19:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22703:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6183,"nodeType":"ExpressionStatement","src":"22703:21:6"},{"assignments":[6185],"declarations":[{"constant":false,"id":6185,"mutability":"mutable","name":"gasStartedOff","nameLocation":"23267:13:6","nodeType":"VariableDeclaration","scope":6206,"src":"23262:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6184,"name":"bool","nodeType":"ElementaryTypeName","src":"23262:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6187,"initialValue":{"id":6186,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4189,"src":"23283:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"23262:35:6"},{"expression":{"id":6190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6188,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4189,"src":"23307:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":6189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23324:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"23307:21:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6191,"nodeType":"ExpressionStatement","src":"23307:21:6"},{"id":6192,"nodeType":"PlaceholderStatement","src":"23339:1:6"},{"condition":{"id":6194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23447:14:6","subExpression":{"id":6193,"name":"gasStartedOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6185,"src":"23448:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6205,"nodeType":"IfStatement","src":"23443:103:6","trueBody":{"id":6204,"nodeType":"Block","src":"23463:83:6","statements":[{"expression":{"id":6197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6195,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4189,"src":"23477:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":6196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23494:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"23477:22:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6198,"nodeType":"ExpressionStatement","src":"23477:22:6"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6199,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"23513:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23516:17:6","memberName":"resumeGasMetering","nodeType":"MemberAccess","referencedDeclaration":14520,"src":"23513:20:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23513:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6203,"nodeType":"ExpressionStatement","src":"23513:22:6"}]}}]},"name":"noGasMetering","nameLocation":"22677:13:6","parameters":{"id":6178,"nodeType":"ParameterList","parameters":[],"src":"22690:2:6"},"virtual":false,"visibility":"internal"},{"id":6219,"nodeType":"FunctionDefinition","src":"23916:276:6","nodes":[],"body":{"id":6218,"nodeType":"Block","src":"23979:213:6","nodes":[],"statements":[{"AST":{"nativeSrc":"24074:44:6","nodeType":"YulBlock","src":"24074:44:6","statements":[{"nativeSrc":"24088:20:6","nodeType":"YulAssignment","src":"24088:20:6","value":{"arguments":[],"functionName":{"name":"chainid","nativeSrc":"24099:7:6","nodeType":"YulIdentifier","src":"24099:7:6"},"nativeSrc":"24099:9:6","nodeType":"YulFunctionCall","src":"24099:9:6"},"variableNames":[{"name":"chainId","nativeSrc":"24088:7:6","nodeType":"YulIdentifier","src":"24088:7:6"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":6210,"isOffset":false,"isSlot":false,"src":"24088:7:6","valueSize":1}],"id":6212,"nodeType":"InlineAssembly","src":"24065:53:6"},{"expression":{"arguments":[{"id":6215,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24136:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}],"id":6214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24128:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6213,"name":"address","nodeType":"ElementaryTypeName","src":"24128:7:6","typeDescriptions":{}}},"id":6216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24128:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6217,"nodeType":"ExpressionStatement","src":"24128:13:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"23925:12:6","parameters":{"id":6208,"nodeType":"ParameterList","parameters":[],"src":"23937:2:6"},"returnParameters":{"id":6211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6210,"mutability":"mutable","name":"chainId","nameLocation":"23970:7:6","nodeType":"VariableDeclaration","scope":6219,"src":"23962:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6209,"name":"uint256","nodeType":"ElementaryTypeName","src":"23962:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23961:17:6"},"scope":6247,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":6246,"nodeType":"FunctionDefinition","src":"24198:300:6","nodes":[],"body":{"id":6245,"nodeType":"Block","src":"24261:237:6","nodes":[],"statements":[{"assignments":[6229],"declarations":[{"constant":false,"id":6229,"mutability":"mutable","name":"fnIn","nameLocation":"24314:4:6","nodeType":"VariableDeclaration","scope":6245,"src":"24271:47:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":6228,"nodeType":"FunctionTypeName","parameterTypes":{"id":6224,"nodeType":"ParameterList","parameters":[],"src":"24279:2:6"},"returnParameterTypes":{"id":6227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6228,"src":"24305:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6225,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24304:9:6"},"src":"24271:47:6","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":6231,"initialValue":{"id":6230,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6219,"src":"24321:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24271:62:6"},{"assignments":[6237],"declarations":[{"constant":false,"id":6237,"mutability":"mutable","name":"pureChainId","nameLocation":"24386:11:6","nodeType":"VariableDeclaration","scope":6245,"src":"24343:54:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":6236,"nodeType":"FunctionTypeName","parameterTypes":{"id":6232,"nodeType":"ParameterList","parameters":[],"src":"24351:2:6"},"returnParameterTypes":{"id":6235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6234,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6236,"src":"24377:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6233,"name":"uint256","nodeType":"ElementaryTypeName","src":"24377:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24376:9:6"},"src":"24343:54:6","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":6238,"nodeType":"VariableDeclarationStatement","src":"24343:54:6"},{"AST":{"nativeSrc":"24416:43:6","nodeType":"YulBlock","src":"24416:43:6","statements":[{"nativeSrc":"24430:19:6","nodeType":"YulAssignment","src":"24430:19:6","value":{"name":"fnIn","nativeSrc":"24445:4:6","nodeType":"YulIdentifier","src":"24445:4:6"},"variableNames":[{"name":"pureChainId","nativeSrc":"24430:11:6","nodeType":"YulIdentifier","src":"24430:11:6"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":6229,"isOffset":false,"isSlot":false,"src":"24445:4:6","valueSize":1},{"declaration":6237,"isOffset":false,"isSlot":false,"src":"24430:11:6","valueSize":1}],"id":6239,"nodeType":"InlineAssembly","src":"24407:52:6"},{"expression":{"id":6243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6240,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6222,"src":"24468:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":6241,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6237,"src":"24478:11:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":6242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24478:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24468:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6244,"nodeType":"ExpressionStatement","src":"24468:23:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"24207:12:6","parameters":{"id":6220,"nodeType":"ParameterList","parameters":[],"src":"24219:2:6"},"returnParameters":{"id":6223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6222,"mutability":"mutable","name":"chainId","nameLocation":"24252:7:6","nodeType":"VariableDeclaration","scope":6246,"src":"24244:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6221,"name":"uint256","nodeType":"ElementaryTypeName","src":"24244:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24243:17:6"},"scope":6247,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdCheatsSafe","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[6247],"name":"StdCheatsSafe","nameLocation":"246:13:6","scope":7043,"usedErrors":[],"usedEvents":[]},{"id":7042,"nodeType":"ContractDefinition","src":"24550:7258:6","nodes":[{"id":6253,"nodeType":"UsingForDirective","src":"24601:32:6","nodes":[],"global":false,"libraryName":{"id":6250,"name":"stdStorage","nameLocations":["24607:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":10538,"src":"24607:10:6"},"typeName":{"id":6252,"nodeType":"UserDefinedTypeName","pathNode":{"id":6251,"name":"StdStorage","nameLocations":["24622:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"24622:10:6"},"referencedDeclaration":8581,"src":"24622:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}}},{"id":6256,"nodeType":"VariableDeclaration","src":"24639:27:6","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"24658:8:6","scope":7042,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage"},"typeName":{"id":6255,"nodeType":"UserDefinedTypeName","pathNode":{"id":6254,"name":"StdStorage","nameLocations":["24639:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"24639:10:6"},"referencedDeclaration":8581,"src":"24639:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"private"},{"id":6273,"nodeType":"VariableDeclaration","src":"24672:84:6","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"24692:2:6","scope":7042,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":6258,"nodeType":"UserDefinedTypeName","pathNode":{"id":6257,"name":"Vm","nameLocations":["24672:2:6"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"24672:2:6"},"referencedDeclaration":18679,"src":"24672:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":6267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24734:17:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":6266,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24724:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24724:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24716:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6264,"name":"uint256","nodeType":"ElementaryTypeName","src":"24716:7:6","typeDescriptions":{}}},"id":6269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24716:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24708:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":6262,"name":"uint160","nodeType":"ElementaryTypeName","src":"24708:7:6","typeDescriptions":{}}},"id":6270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24708:46:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":6261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24700:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6260,"name":"address","nodeType":"ElementaryTypeName","src":"24700:7:6","typeDescriptions":{}}},"id":6271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24700:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6259,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"24697:2:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":6272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24697:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":6276,"nodeType":"VariableDeclaration","src":"24762:86:6","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"24787:16:6","scope":7042,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6274,"name":"address","nodeType":"ElementaryTypeName","src":"24762:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":6275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24806:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"id":6292,"nodeType":"FunctionDefinition","src":"24925:100:6","nodes":[],"body":{"id":6291,"nodeType":"Block","src":"24970:55:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6284,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"24988:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24991:17:6","memberName":"getBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":14371,"src":"24988:20:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":6286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24988:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":6287,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6278,"src":"25013:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24988:29:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6281,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"24980:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24983:4:6","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":18276,"src":"24980:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":6289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24980:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6290,"nodeType":"ExpressionStatement","src":"24980:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"skip","nameLocation":"24934:4:6","parameters":{"id":6279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6278,"mutability":"mutable","name":"time","nameLocation":"24947:4:6","nodeType":"VariableDeclaration","scope":6292,"src":"24939:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6277,"name":"uint256","nodeType":"ElementaryTypeName","src":"24939:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24938:14:6"},"returnParameters":{"id":6280,"nodeType":"ParameterList","parameters":[],"src":"24970:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6308,"nodeType":"FunctionDefinition","src":"25031:102:6","nodes":[],"body":{"id":6307,"nodeType":"Block","src":"25078:55:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6300,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25096:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25099:17:6","memberName":"getBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":14371,"src":"25096:20:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":6302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25096:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6303,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6294,"src":"25121:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25096:29:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6297,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25088:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25091:4:6","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":18276,"src":"25088:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":6305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25088:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6306,"nodeType":"ExpressionStatement","src":"25088:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rewind","nameLocation":"25040:6:6","parameters":{"id":6295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6294,"mutability":"mutable","name":"time","nameLocation":"25055:4:6","nodeType":"VariableDeclaration","scope":6308,"src":"25047:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6293,"name":"uint256","nodeType":"ElementaryTypeName","src":"25047:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25046:14:6"},"returnParameters":{"id":6296,"nodeType":"ParameterList","parameters":[],"src":"25078:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6329,"nodeType":"FunctionDefinition","src":"25196:124:6","nodes":[],"body":{"id":6328,"nodeType":"Block","src":"25246:74:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6316,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6310,"src":"25264:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":6319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25275:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":6318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25280:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25275:8:6","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":6313,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25256:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25259:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25256:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25256:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6321,"nodeType":"ExpressionStatement","src":"25256:28:6"},{"expression":{"arguments":[{"id":6325,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6310,"src":"25303:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6322,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25294:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25297:5:6","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"25294:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25294:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6327,"nodeType":"ExpressionStatement","src":"25294:19:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25205:4:6","parameters":{"id":6311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6310,"mutability":"mutable","name":"msgSender","nameLocation":"25218:9:6","nodeType":"VariableDeclaration","scope":6329,"src":"25210:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6309,"name":"address","nodeType":"ElementaryTypeName","src":"25210:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25209:19:6"},"returnParameters":{"id":6312,"nodeType":"ParameterList","parameters":[],"src":"25246:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6350,"nodeType":"FunctionDefinition","src":"25326:134:6","nodes":[],"body":{"id":6349,"nodeType":"Block","src":"25390:70:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6339,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6331,"src":"25408:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6340,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6333,"src":"25419:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6336,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25400:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25403:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25400:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25400:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6342,"nodeType":"ExpressionStatement","src":"25400:24:6"},{"expression":{"arguments":[{"id":6346,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6331,"src":"25443:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25434:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25437:5:6","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"25434:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25434:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6348,"nodeType":"ExpressionStatement","src":"25434:19:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25335:4:6","parameters":{"id":6334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6331,"mutability":"mutable","name":"msgSender","nameLocation":"25348:9:6","nodeType":"VariableDeclaration","scope":6350,"src":"25340:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6330,"name":"address","nodeType":"ElementaryTypeName","src":"25340:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6333,"mutability":"mutable","name":"give","nameLocation":"25367:4:6","nodeType":"VariableDeclaration","scope":6350,"src":"25359:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6332,"name":"uint256","nodeType":"ElementaryTypeName","src":"25359:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25339:33:6"},"returnParameters":{"id":6335,"nodeType":"ParameterList","parameters":[],"src":"25390:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6374,"nodeType":"FunctionDefinition","src":"25466:148:6","nodes":[],"body":{"id":6373,"nodeType":"Block","src":"25532:82:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6360,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6352,"src":"25550:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":6363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25561:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":6362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25566:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25561:8:6","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":6357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25542:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25545:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25542:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25542:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6365,"nodeType":"ExpressionStatement","src":"25542:28:6"},{"expression":{"arguments":[{"id":6369,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6352,"src":"25589:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6370,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6354,"src":"25600:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6366,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25580:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25583:5:6","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17976,"src":"25580:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25580:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6372,"nodeType":"ExpressionStatement","src":"25580:27:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25475:4:6","parameters":{"id":6355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6352,"mutability":"mutable","name":"msgSender","nameLocation":"25488:9:6","nodeType":"VariableDeclaration","scope":6374,"src":"25480:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6351,"name":"address","nodeType":"ElementaryTypeName","src":"25480:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6354,"mutability":"mutable","name":"origin","nameLocation":"25507:6:6","nodeType":"VariableDeclaration","scope":6374,"src":"25499:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6353,"name":"address","nodeType":"ElementaryTypeName","src":"25499:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25479:35:6"},"returnParameters":{"id":6356,"nodeType":"ParameterList","parameters":[],"src":"25532:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6398,"nodeType":"FunctionDefinition","src":"25620:158:6","nodes":[],"body":{"id":6397,"nodeType":"Block","src":"25700:78:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6386,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6376,"src":"25718:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6387,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6380,"src":"25729:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6383,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25710:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25713:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25710:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25710:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6389,"nodeType":"ExpressionStatement","src":"25710:24:6"},{"expression":{"arguments":[{"id":6393,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6376,"src":"25753:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6394,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6378,"src":"25764:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6390,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25744:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25747:5:6","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17976,"src":"25744:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25744:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6396,"nodeType":"ExpressionStatement","src":"25744:27:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25629:4:6","parameters":{"id":6381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6376,"mutability":"mutable","name":"msgSender","nameLocation":"25642:9:6","nodeType":"VariableDeclaration","scope":6398,"src":"25634:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6375,"name":"address","nodeType":"ElementaryTypeName","src":"25634:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6378,"mutability":"mutable","name":"origin","nameLocation":"25661:6:6","nodeType":"VariableDeclaration","scope":6398,"src":"25653:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6377,"name":"address","nodeType":"ElementaryTypeName","src":"25653:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6380,"mutability":"mutable","name":"give","nameLocation":"25677:4:6","nodeType":"VariableDeclaration","scope":6398,"src":"25669:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6379,"name":"uint256","nodeType":"ElementaryTypeName","src":"25669:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25633:49:6"},"returnParameters":{"id":6382,"nodeType":"ParameterList","parameters":[],"src":"25700:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6419,"nodeType":"FunctionDefinition","src":"25849:134:6","nodes":[],"body":{"id":6418,"nodeType":"Block","src":"25904:79:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6406,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6400,"src":"25922:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":6409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25933:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":6408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25938:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25933:8:6","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":6403,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25914:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25917:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25914:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25914:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6411,"nodeType":"ExpressionStatement","src":"25914:28:6"},{"expression":{"arguments":[{"id":6415,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6400,"src":"25966:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6412,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25952:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25955:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"25952:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25952:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6417,"nodeType":"ExpressionStatement","src":"25952:24:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"25858:9:6","parameters":{"id":6401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6400,"mutability":"mutable","name":"msgSender","nameLocation":"25876:9:6","nodeType":"VariableDeclaration","scope":6419,"src":"25868:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6399,"name":"address","nodeType":"ElementaryTypeName","src":"25868:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25867:19:6"},"returnParameters":{"id":6402,"nodeType":"ParameterList","parameters":[],"src":"25904:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6440,"nodeType":"FunctionDefinition","src":"25989:144:6","nodes":[],"body":{"id":6439,"nodeType":"Block","src":"26058:75:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6429,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"26076:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6430,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6423,"src":"26087:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6426,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26068:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26071:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"26068:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26068:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6432,"nodeType":"ExpressionStatement","src":"26068:24:6"},{"expression":{"arguments":[{"id":6436,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"26116:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6433,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26102:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26105:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"26102:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26102:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6438,"nodeType":"ExpressionStatement","src":"26102:24:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"25998:9:6","parameters":{"id":6424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6421,"mutability":"mutable","name":"msgSender","nameLocation":"26016:9:6","nodeType":"VariableDeclaration","scope":6440,"src":"26008:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6420,"name":"address","nodeType":"ElementaryTypeName","src":"26008:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6423,"mutability":"mutable","name":"give","nameLocation":"26035:4:6","nodeType":"VariableDeclaration","scope":6440,"src":"26027:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6422,"name":"uint256","nodeType":"ElementaryTypeName","src":"26027:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26007:33:6"},"returnParameters":{"id":6425,"nodeType":"ParameterList","parameters":[],"src":"26058:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6464,"nodeType":"FunctionDefinition","src":"26252:158:6","nodes":[],"body":{"id":6463,"nodeType":"Block","src":"26323:87:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6450,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6442,"src":"26341:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":6453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26352:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":6452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26357:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"26352:8:6","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":6447,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26333:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26336:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"26333:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26333:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6455,"nodeType":"ExpressionStatement","src":"26333:28:6"},{"expression":{"arguments":[{"id":6459,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6442,"src":"26385:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6460,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6444,"src":"26396:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6456,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26371:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26374:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18172,"src":"26371:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26371:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6462,"nodeType":"ExpressionStatement","src":"26371:32:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"26261:9:6","parameters":{"id":6445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6442,"mutability":"mutable","name":"msgSender","nameLocation":"26279:9:6","nodeType":"VariableDeclaration","scope":6464,"src":"26271:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6441,"name":"address","nodeType":"ElementaryTypeName","src":"26271:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6444,"mutability":"mutable","name":"origin","nameLocation":"26298:6:6","nodeType":"VariableDeclaration","scope":6464,"src":"26290:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6443,"name":"address","nodeType":"ElementaryTypeName","src":"26290:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26270:35:6"},"returnParameters":{"id":6446,"nodeType":"ParameterList","parameters":[],"src":"26323:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6488,"nodeType":"FunctionDefinition","src":"26416:168:6","nodes":[],"body":{"id":6487,"nodeType":"Block","src":"26501:83:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6476,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6466,"src":"26519:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6477,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6470,"src":"26530:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6473,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26511:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26514:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"26511:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26511:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6479,"nodeType":"ExpressionStatement","src":"26511:24:6"},{"expression":{"arguments":[{"id":6483,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6466,"src":"26559:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6484,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6468,"src":"26570:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6480,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26545:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26548:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18172,"src":"26545:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26545:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6486,"nodeType":"ExpressionStatement","src":"26545:32:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"26425:9:6","parameters":{"id":6471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6466,"mutability":"mutable","name":"msgSender","nameLocation":"26443:9:6","nodeType":"VariableDeclaration","scope":6488,"src":"26435:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6465,"name":"address","nodeType":"ElementaryTypeName","src":"26435:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6468,"mutability":"mutable","name":"origin","nameLocation":"26462:6:6","nodeType":"VariableDeclaration","scope":6488,"src":"26454:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6467,"name":"address","nodeType":"ElementaryTypeName","src":"26454:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6470,"mutability":"mutable","name":"give","nameLocation":"26478:4:6","nodeType":"VariableDeclaration","scope":6488,"src":"26470:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6469,"name":"uint256","nodeType":"ElementaryTypeName","src":"26470:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26434:49:6"},"returnParameters":{"id":6472,"nodeType":"ParameterList","parameters":[],"src":"26501:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6509,"nodeType":"FunctionDefinition","src":"26590:218:6","nodes":[],"body":{"id":6508,"nodeType":"Block","src":"26647:161:6","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"6368616e67655072616e6b20697320646570726563617465642e20506c656173652075736520766d2e73746172745072616e6b20696e73746561642e","id":6494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26680:62:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf508b7e551ac53ebc43878423035cd08b5a26a319837cc862ef3353a105823a","typeString":"literal_string \"changePrank is deprecated. Please use vm.startPrank instead.\""},"value":"changePrank is deprecated. Please use vm.startPrank instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf508b7e551ac53ebc43878423035cd08b5a26a319837cc862ef3353a105823a","typeString":"literal_string \"changePrank is deprecated. Please use vm.startPrank instead.\""}],"id":6493,"name":"console2_log_StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7041,"src":"26657:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":6495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26657:86:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6496,"nodeType":"ExpressionStatement","src":"26657:86:6"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6497,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26753:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26756:9:6","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"26753:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26753:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6501,"nodeType":"ExpressionStatement","src":"26753:14:6"},{"expression":{"arguments":[{"id":6505,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6490,"src":"26791:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6502,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26777:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26780:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"26777:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26777:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6507,"nodeType":"ExpressionStatement","src":"26777:24:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"26599:11:6","parameters":{"id":6491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6490,"mutability":"mutable","name":"msgSender","nameLocation":"26619:9:6","nodeType":"VariableDeclaration","scope":6509,"src":"26611:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6489,"name":"address","nodeType":"ElementaryTypeName","src":"26611:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26610:19:6"},"returnParameters":{"id":6492,"nodeType":"ParameterList","parameters":[],"src":"26647:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6529,"nodeType":"FunctionDefinition","src":"26814:150:6","nodes":[],"body":{"id":6528,"nodeType":"Block","src":"26889:75:6","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6516,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26899:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26902:9:6","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"26899:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26899:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6520,"nodeType":"ExpressionStatement","src":"26899:14:6"},{"expression":{"arguments":[{"id":6524,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6511,"src":"26937:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6525,"name":"txOrigin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6513,"src":"26948:8:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6521,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26923:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26926:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18172,"src":"26923:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26923:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6527,"nodeType":"ExpressionStatement","src":"26923:34:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"26823:11:6","parameters":{"id":6514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6511,"mutability":"mutable","name":"msgSender","nameLocation":"26843:9:6","nodeType":"VariableDeclaration","scope":6529,"src":"26835:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6510,"name":"address","nodeType":"ElementaryTypeName","src":"26835:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6513,"mutability":"mutable","name":"txOrigin","nameLocation":"26862:8:6","nodeType":"VariableDeclaration","scope":6529,"src":"26854:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6512,"name":"address","nodeType":"ElementaryTypeName","src":"26854:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26834:37:6"},"returnParameters":{"id":6515,"nodeType":"ParameterList","parameters":[],"src":"26889:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6544,"nodeType":"FunctionDefinition","src":"27055:91:6","nodes":[],"body":{"id":6543,"nodeType":"Block","src":"27112:34:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6539,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6531,"src":"27130:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6540,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6533,"src":"27134:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6536,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"27122:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27125:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"27122:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27122:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6542,"nodeType":"ExpressionStatement","src":"27122:17:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27064:4:6","parameters":{"id":6534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6531,"mutability":"mutable","name":"to","nameLocation":"27077:2:6","nodeType":"VariableDeclaration","scope":6544,"src":"27069:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6530,"name":"address","nodeType":"ElementaryTypeName","src":"27069:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6533,"mutability":"mutable","name":"give","nameLocation":"27089:4:6","nodeType":"VariableDeclaration","scope":6544,"src":"27081:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6532,"name":"uint256","nodeType":"ElementaryTypeName","src":"27081:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27068:26:6"},"returnParameters":{"id":6535,"nodeType":"ParameterList","parameters":[],"src":"27112:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6561,"nodeType":"FunctionDefinition","src":"27270:117:6","nodes":[],"body":{"id":6560,"nodeType":"Block","src":"27342:45:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6554,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6546,"src":"27357:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6555,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"27364:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6556,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6550,"src":"27368:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":6557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27374:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":6553,"name":"deal","nodeType":"Identifier","overloadedDeclarations":[6544,6561,6684],"referencedDeclaration":6684,"src":"27352:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":6558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27352:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6559,"nodeType":"ExpressionStatement","src":"27352:28:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27279:4:6","parameters":{"id":6551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6546,"mutability":"mutable","name":"token","nameLocation":"27292:5:6","nodeType":"VariableDeclaration","scope":6561,"src":"27284:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6545,"name":"address","nodeType":"ElementaryTypeName","src":"27284:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6548,"mutability":"mutable","name":"to","nameLocation":"27307:2:6","nodeType":"VariableDeclaration","scope":6561,"src":"27299:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6547,"name":"address","nodeType":"ElementaryTypeName","src":"27299:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6550,"mutability":"mutable","name":"give","nameLocation":"27319:4:6","nodeType":"VariableDeclaration","scope":6561,"src":"27311:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6549,"name":"uint256","nodeType":"ElementaryTypeName","src":"27311:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27283:41:6"},"returnParameters":{"id":6552,"nodeType":"ParameterList","parameters":[],"src":"27342:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6581,"nodeType":"FunctionDefinition","src":"27513:147:6","nodes":[],"body":{"id":6580,"nodeType":"Block","src":"27604:56:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6573,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6563,"src":"27626:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6574,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6565,"src":"27633:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6575,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6567,"src":"27637:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6576,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6569,"src":"27641:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":6577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27647:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":6572,"name":"dealERC1155","nodeType":"Identifier","overloadedDeclarations":[6581,6805],"referencedDeclaration":6805,"src":"27614:11:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,uint256,bool)"}},"id":6578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27614:39:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6579,"nodeType":"ExpressionStatement","src":"27614:39:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"27522:11:6","parameters":{"id":6570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6563,"mutability":"mutable","name":"token","nameLocation":"27542:5:6","nodeType":"VariableDeclaration","scope":6581,"src":"27534:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6562,"name":"address","nodeType":"ElementaryTypeName","src":"27534:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6565,"mutability":"mutable","name":"to","nameLocation":"27557:2:6","nodeType":"VariableDeclaration","scope":6581,"src":"27549:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6564,"name":"address","nodeType":"ElementaryTypeName","src":"27549:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6567,"mutability":"mutable","name":"id","nameLocation":"27569:2:6","nodeType":"VariableDeclaration","scope":6581,"src":"27561:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6566,"name":"uint256","nodeType":"ElementaryTypeName","src":"27561:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6569,"mutability":"mutable","name":"give","nameLocation":"27581:4:6","nodeType":"VariableDeclaration","scope":6581,"src":"27573:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6568,"name":"uint256","nodeType":"ElementaryTypeName","src":"27573:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27533:53:6"},"returnParameters":{"id":6571,"nodeType":"ParameterList","parameters":[],"src":"27604:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6684,"nodeType":"FunctionDefinition","src":"27666:837:6","nodes":[],"body":{"id":6683,"nodeType":"Block","src":"27751:752:6","nodes":[],"statements":[{"assignments":[null,6593],"declarations":[null,{"constant":false,"id":6593,"mutability":"mutable","name":"balData","nameLocation":"27808:7:6","nodeType":"VariableDeclaration","scope":6683,"src":"27795:20:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6592,"name":"bytes","nodeType":"ElementaryTypeName","src":"27795:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6602,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27859:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":6599,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6585,"src":"27871:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27836:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27840:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"27836:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27836:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6594,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"27819:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27825:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"27819:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27819:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"27792:83:6"},{"assignments":[6604],"declarations":[{"constant":false,"id":6604,"mutability":"mutable","name":"prevBal","nameLocation":"27893:7:6","nodeType":"VariableDeclaration","scope":6683,"src":"27885:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6603,"name":"uint256","nodeType":"ElementaryTypeName","src":"27885:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6612,"initialValue":{"arguments":[{"id":6607,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6593,"src":"27914:7:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27924:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6608,"name":"uint256","nodeType":"ElementaryTypeName","src":"27924:7:6","typeDescriptions":{}}}],"id":6610,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"27923:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6605,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27903:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27907:6:6","memberName":"decode","nodeType":"MemberAccess","src":"27903:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27903:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27885:48:6"},{"expression":{"arguments":[{"id":6625,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6587,"src":"28036:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6622,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6585,"src":"28018:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27997:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6616,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"27986:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6613,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"27970:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27979:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"27970:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27993:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"27970:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28009:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10067,"src":"27970:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28022:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"27970:65:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:71:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6627,"nodeType":"ExpressionStatement","src":"27970:71:6"},{"condition":{"id":6628,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6589,"src":"28087:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6682,"nodeType":"IfStatement","src":"28083:414:6","trueBody":{"id":6681,"nodeType":"Block","src":"28095:402:6","statements":[{"assignments":[null,6630],"declarations":[null,{"constant":false,"id":6630,"mutability":"mutable","name":"totSupData","nameLocation":"28125:10:6","nodeType":"VariableDeclaration","scope":6681,"src":"28112:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6629,"name":"bytes","nodeType":"ElementaryTypeName","src":"28112:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6638,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783138313630646464","id":6635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28179:10:6","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"id":6633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28156:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28160:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28156:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28156:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6631,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"28139:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28145:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"28139:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28139:52:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28109:82:6"},{"assignments":[6640],"declarations":[{"constant":false,"id":6640,"mutability":"mutable","name":"totSup","nameLocation":"28213:6:6","nodeType":"VariableDeclaration","scope":6681,"src":"28205:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6639,"name":"uint256","nodeType":"ElementaryTypeName","src":"28205:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6648,"initialValue":{"arguments":[{"id":6643,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6630,"src":"28233:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28246:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6644,"name":"uint256","nodeType":"ElementaryTypeName","src":"28246:7:6","typeDescriptions":{}}}],"id":6646,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28245:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6641,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28222:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28226:6:6","memberName":"decode","nodeType":"MemberAccess","src":"28222:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28222:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28205:50:6"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6649,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6587,"src":"28273:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6650,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6604,"src":"28280:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28273:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6667,"nodeType":"Block","src":"28354:59:6","statements":[{"expression":{"id":6665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6660,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6640,"src":"28372:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6661,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6587,"src":"28383:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6662,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6604,"src":"28390:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28383:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6664,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"28382:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28372:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6666,"nodeType":"ExpressionStatement","src":"28372:26:6"}]},"id":6668,"nodeType":"IfStatement","src":"28269:144:6","trueBody":{"id":6659,"nodeType":"Block","src":"28289:59:6","statements":[{"expression":{"id":6657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6652,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6640,"src":"28307:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6653,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6604,"src":"28318:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6654,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6587,"src":"28328:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28318:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6656,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"28317:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28307:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6658,"nodeType":"ExpressionStatement","src":"28307:26:6"}]}},{"expression":{"arguments":[{"id":6678,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6640,"src":"28479:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783138313630646464","id":6675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28453:10:6","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"arguments":[{"id":6672,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"28442:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6669,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"28426:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28435:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"28426:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28426:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28449:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"28426:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28426:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28465:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"28426:52:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28426:60:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6680,"nodeType":"ExpressionStatement","src":"28426:60:6"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27675:4:6","parameters":{"id":6590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6583,"mutability":"mutable","name":"token","nameLocation":"27688:5:6","nodeType":"VariableDeclaration","scope":6684,"src":"27680:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6582,"name":"address","nodeType":"ElementaryTypeName","src":"27680:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6585,"mutability":"mutable","name":"to","nameLocation":"27703:2:6","nodeType":"VariableDeclaration","scope":6684,"src":"27695:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6584,"name":"address","nodeType":"ElementaryTypeName","src":"27695:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6587,"mutability":"mutable","name":"give","nameLocation":"27715:4:6","nodeType":"VariableDeclaration","scope":6684,"src":"27707:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6586,"name":"uint256","nodeType":"ElementaryTypeName","src":"27707:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6589,"mutability":"mutable","name":"adjust","nameLocation":"27726:6:6","nodeType":"VariableDeclaration","scope":6684,"src":"27721:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6588,"name":"bool","nodeType":"ElementaryTypeName","src":"27721:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27679:54:6"},"returnParameters":{"id":6591,"nodeType":"ParameterList","parameters":[],"src":"27751:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6805,"nodeType":"FunctionDefinition","src":"28509:1070:6","nodes":[],"body":{"id":6804,"nodeType":"Block","src":"28613:966:6","nodes":[],"statements":[{"assignments":[null,6698],"declarations":[null,{"constant":false,"id":6698,"mutability":"mutable","name":"balData","nameLocation":"28670:7:6","nodeType":"VariableDeclaration","scope":6804,"src":"28657:20:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6697,"name":"bytes","nodeType":"ElementaryTypeName","src":"28657:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6708,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783030666464353865","id":6703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28721:10:6","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"},{"id":6704,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6688,"src":"28733:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6705,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6690,"src":"28737:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28698:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28702:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28698:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28698:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6699,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6686,"src":"28681:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28687:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"28681:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28681:60:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28654:87:6"},{"assignments":[6710],"declarations":[{"constant":false,"id":6710,"mutability":"mutable","name":"prevBal","nameLocation":"28759:7:6","nodeType":"VariableDeclaration","scope":6804,"src":"28751:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6709,"name":"uint256","nodeType":"ElementaryTypeName","src":"28751:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6718,"initialValue":{"arguments":[{"id":6713,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6698,"src":"28780:7:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28790:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6714,"name":"uint256","nodeType":"ElementaryTypeName","src":"28790:7:6","typeDescriptions":{}}}],"id":6716,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28789:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28769:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28773:6:6","memberName":"decode","nodeType":"MemberAccess","src":"28769:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28769:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28751:48:6"},{"expression":{"arguments":[{"id":6734,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6692,"src":"28915:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6731,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6690,"src":"28897:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6728,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6688,"src":"28884:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783030666464353865","id":6725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28863:10:6","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"}],"expression":{"arguments":[{"id":6722,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6686,"src":"28852:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6719,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"28836:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28845:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"28836:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28859:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"28836:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28875:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10067,"src":"28836:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28888:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10085,"src":"28836:60:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:64:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28901:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"28836:78:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:84:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6736,"nodeType":"ExpressionStatement","src":"28836:84:6"},{"condition":{"id":6737,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6694,"src":"28966:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6803,"nodeType":"IfStatement","src":"28962:611:6","trueBody":{"id":6802,"nodeType":"Block","src":"28974:599:6","statements":[{"assignments":[null,6739],"declarations":[null,{"constant":false,"id":6739,"mutability":"mutable","name":"totSupData","nameLocation":"29004:10:6","nodeType":"VariableDeclaration","scope":6802,"src":"28991:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6738,"name":"bytes","nodeType":"ElementaryTypeName","src":"28991:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6748,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30786264383562303339","id":6744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29058:10:6","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"},{"id":6745,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6690,"src":"29070:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29035:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29039:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29035:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29035:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6740,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6686,"src":"29018:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29024:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"29018:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29018:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28988:86:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6750,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6739,"src":"29113:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29124:6:6","memberName":"length","nodeType":"MemberAccess","src":"29113:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":6752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29134:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29113:22:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c75696e742c626f6f6c293a2074617267657420636f6e7472616374206973206e6f742045524331313535537570706c792e","id":6754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29153:87:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""},"value":"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""}],"id":6749,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"29088:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29088:166:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6756,"nodeType":"ExpressionStatement","src":"29088:166:6"},{"assignments":[6758],"declarations":[{"constant":false,"id":6758,"mutability":"mutable","name":"totSup","nameLocation":"29276:6:6","nodeType":"VariableDeclaration","scope":6802,"src":"29268:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6757,"name":"uint256","nodeType":"ElementaryTypeName","src":"29268:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6766,"initialValue":{"arguments":[{"id":6761,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6739,"src":"29296:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29309:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6762,"name":"uint256","nodeType":"ElementaryTypeName","src":"29309:7:6","typeDescriptions":{}}}],"id":6764,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"29308:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29285:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29289:6:6","memberName":"decode","nodeType":"MemberAccess","src":"29285:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29285:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29268:50:6"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6767,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6692,"src":"29336:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6768,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6710,"src":"29343:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29336:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6785,"nodeType":"Block","src":"29417:59:6","statements":[{"expression":{"id":6783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6778,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6758,"src":"29435:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6779,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6692,"src":"29446:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6780,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6710,"src":"29453:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29446:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6782,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29445:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29435:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6784,"nodeType":"ExpressionStatement","src":"29435:26:6"}]},"id":6786,"nodeType":"IfStatement","src":"29332:144:6","trueBody":{"id":6777,"nodeType":"Block","src":"29352:59:6","statements":[{"expression":{"id":6775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6770,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6758,"src":"29370:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6771,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6710,"src":"29381:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6772,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6692,"src":"29391:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29381:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6774,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29380:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29370:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6776,"nodeType":"ExpressionStatement","src":"29370:26:6"}]}},{"expression":{"arguments":[{"id":6799,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6758,"src":"29555:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6796,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6690,"src":"29537:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30786264383562303339","id":6793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29516:10:6","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"}],"expression":{"arguments":[{"id":6790,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6686,"src":"29505:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6787,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"29489:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6789,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29498:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"29489:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29512:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"29489:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29528:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10085,"src":"29489:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29541:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"29489:65:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:73:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6801,"nodeType":"ExpressionStatement","src":"29489:73:6"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"28518:11:6","parameters":{"id":6695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6686,"mutability":"mutable","name":"token","nameLocation":"28538:5:6","nodeType":"VariableDeclaration","scope":6805,"src":"28530:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6685,"name":"address","nodeType":"ElementaryTypeName","src":"28530:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6688,"mutability":"mutable","name":"to","nameLocation":"28553:2:6","nodeType":"VariableDeclaration","scope":6805,"src":"28545:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6687,"name":"address","nodeType":"ElementaryTypeName","src":"28545:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6690,"mutability":"mutable","name":"id","nameLocation":"28565:2:6","nodeType":"VariableDeclaration","scope":6805,"src":"28557:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6689,"name":"uint256","nodeType":"ElementaryTypeName","src":"28557:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6692,"mutability":"mutable","name":"give","nameLocation":"28577:4:6","nodeType":"VariableDeclaration","scope":6805,"src":"28569:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6691,"name":"uint256","nodeType":"ElementaryTypeName","src":"28569:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6694,"mutability":"mutable","name":"adjust","nameLocation":"28588:6:6","nodeType":"VariableDeclaration","scope":6805,"src":"28583:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6693,"name":"bool","nodeType":"ElementaryTypeName","src":"28583:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28529:66:6"},"returnParameters":{"id":6696,"nodeType":"ParameterList","parameters":[],"src":"28613:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6934,"nodeType":"FunctionDefinition","src":"29585:1139:6","nodes":[],"body":{"id":6933,"nodeType":"Block","src":"29661:1063:6","nodes":[],"statements":[{"assignments":[6815,6817],"declarations":[{"constant":false,"id":6815,"mutability":"mutable","name":"successMinted","nameLocation":"29746:13:6","nodeType":"VariableDeclaration","scope":6933,"src":"29741:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6814,"name":"bool","nodeType":"ElementaryTypeName","src":"29741:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6817,"mutability":"mutable","name":"ownerData","nameLocation":"29774:9:6","nodeType":"VariableDeclaration","scope":6933,"src":"29761:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6816,"name":"bytes","nodeType":"ElementaryTypeName","src":"29761:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6826,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783633353232313165","id":6822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29827:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"},{"id":6823,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6811,"src":"29839:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6820,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29804:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29808:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29804:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29804:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6818,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"29787:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29793:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"29787:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29787:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29740:103:6"},{"expression":{"arguments":[{"id":6828,"name":"successMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6815,"src":"29861:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c626f6f6c293a206964206e6f74206d696e7465642e","id":6829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29876:59:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""},"value":"StdCheats deal(address,address,uint,bool): id not minted."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""}],"id":6827,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"29853:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29853:83:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6831,"nodeType":"ExpressionStatement","src":"29853:83:6"},{"assignments":[null,6833],"declarations":[null,{"constant":false,"id":6833,"mutability":"mutable","name":"fromBalData","nameLocation":"30000:11:6","nodeType":"VariableDeclaration","scope":6933,"src":"29987:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6832,"name":"bytes","nodeType":"ElementaryTypeName","src":"29987:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6848,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30067:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"arguments":[{"id":6841,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6817,"src":"30090:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30102:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6842,"name":"address","nodeType":"ElementaryTypeName","src":"30102:7:6","typeDescriptions":{}}}],"id":6844,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30101:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30079:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30083:6:6","memberName":"decode","nodeType":"MemberAccess","src":"30079:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30079:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":6836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30044:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30048:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30044:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30044:68:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6834,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30027:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30033:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"30027:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30027:86:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29984:129:6"},{"assignments":[6850],"declarations":[{"constant":false,"id":6850,"mutability":"mutable","name":"fromPrevBal","nameLocation":"30131:11:6","nodeType":"VariableDeclaration","scope":6933,"src":"30123:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6849,"name":"uint256","nodeType":"ElementaryTypeName","src":"30123:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6858,"initialValue":{"arguments":[{"id":6853,"name":"fromBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6833,"src":"30156:11:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30170:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6854,"name":"uint256","nodeType":"ElementaryTypeName","src":"30170:7:6","typeDescriptions":{}}}],"id":6856,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30169:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6851,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30145:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30149:6:6","memberName":"decode","nodeType":"MemberAccess","src":"30145:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30145:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30123:56:6"},{"assignments":[null,6860],"declarations":[null,{"constant":false,"id":6860,"mutability":"mutable","name":"toBalData","nameLocation":"30246:9:6","nodeType":"VariableDeclaration","scope":6933,"src":"30233:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6859,"name":"bytes","nodeType":"ElementaryTypeName","src":"30233:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6869,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30299:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":6866,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6809,"src":"30311:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30276:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30280:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30276:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30276:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6861,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30259:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30265:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"30259:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30259:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"30230:85:6"},{"assignments":[6871],"declarations":[{"constant":false,"id":6871,"mutability":"mutable","name":"toPrevBal","nameLocation":"30333:9:6","nodeType":"VariableDeclaration","scope":6933,"src":"30325:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6870,"name":"uint256","nodeType":"ElementaryTypeName","src":"30325:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6879,"initialValue":{"arguments":[{"id":6874,"name":"toBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6860,"src":"30356:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30368:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6875,"name":"uint256","nodeType":"ElementaryTypeName","src":"30368:7:6","typeDescriptions":{}}}],"id":6877,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30367:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6872,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30345:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30349:6:6","memberName":"decode","nodeType":"MemberAccess","src":"30345:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30345:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30325:52:6"},{"expression":{"arguments":[{"id":6899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"30511:13:6","subExpression":{"id":6898,"name":"fromPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6850,"src":"30513:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":6891,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6817,"src":"30474:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30486:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6892,"name":"address","nodeType":"ElementaryTypeName","src":"30486:7:6","typeDescriptions":{}}}],"id":6894,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30485:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30463:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30467:6:6","memberName":"decode","nodeType":"MemberAccess","src":"30463:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30463:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30442:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6883,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30431:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6880,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"30415:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30424:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"30415:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30438:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"30415:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6888,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30454:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10067,"src":"30415:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:81:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30497:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"30415:95:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:110:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6901,"nodeType":"ExpressionStatement","src":"30415:110:6"},{"expression":{"arguments":[{"id":6915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"30601:11:6","subExpression":{"id":6914,"name":"toPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6871,"src":"30603:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6911,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6809,"src":"30583:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30562:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6905,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30551:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6902,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"30535:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30544:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"30535:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6907,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30558:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"30535:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30574:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10067,"src":"30535:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30587:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"30535:65:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:78:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6917,"nodeType":"ExpressionStatement","src":"30535:78:6"},{"expression":{"arguments":[{"id":6930,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6809,"src":"30714:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":6927,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6811,"src":"30696:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783633353232313165","id":6924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30675:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"}],"expression":{"arguments":[{"id":6921,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30664:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6918,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"30648:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30657:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"30648:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6923,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30671:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"30648:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30687:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10085,"src":"30648:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30700:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10190,"src":"30648:65:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address)"}},"id":6931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:69:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6932,"nodeType":"ExpressionStatement","src":"30648:69:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC721","nameLocation":"29594:10:6","parameters":{"id":6812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6807,"mutability":"mutable","name":"token","nameLocation":"29613:5:6","nodeType":"VariableDeclaration","scope":6934,"src":"29605:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6806,"name":"address","nodeType":"ElementaryTypeName","src":"29605:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6809,"mutability":"mutable","name":"to","nameLocation":"29628:2:6","nodeType":"VariableDeclaration","scope":6934,"src":"29620:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6808,"name":"address","nodeType":"ElementaryTypeName","src":"29620:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6811,"mutability":"mutable","name":"id","nameLocation":"29640:2:6","nodeType":"VariableDeclaration","scope":6934,"src":"29632:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6810,"name":"uint256","nodeType":"ElementaryTypeName","src":"29632:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29604:39:6"},"returnParameters":{"id":6813,"nodeType":"ParameterList","parameters":[],"src":"29661:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6949,"nodeType":"FunctionDefinition","src":"30730:123:6","nodes":[],"body":{"id":6948,"nodeType":"Block","src":"30804:49:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6942,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6936,"src":"30827:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":6943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30833:2:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"30","id":6944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30837:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":6945,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6938,"src":"30840:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6941,"name":"deployCodeTo","nodeType":"Identifier","overloadedDeclarations":[6949,6966,7019],"referencedDeclaration":7019,"src":"30814:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$__$","typeString":"function (string memory,bytes memory,uint256,address)"}},"id":6946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30814:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6947,"nodeType":"ExpressionStatement","src":"30814:32:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"30739:12:6","parameters":{"id":6939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6936,"mutability":"mutable","name":"what","nameLocation":"30766:4:6","nodeType":"VariableDeclaration","scope":6949,"src":"30752:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6935,"name":"string","nodeType":"ElementaryTypeName","src":"30752:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6938,"mutability":"mutable","name":"where","nameLocation":"30780:5:6","nodeType":"VariableDeclaration","scope":6949,"src":"30772:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6937,"name":"address","nodeType":"ElementaryTypeName","src":"30772:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30751:35:6"},"returnParameters":{"id":6940,"nodeType":"ParameterList","parameters":[],"src":"30804:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6966,"nodeType":"FunctionDefinition","src":"30859:144:6","nodes":[],"body":{"id":6965,"nodeType":"Block","src":"30952:51:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6959,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6951,"src":"30975:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6960,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6953,"src":"30981:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":6961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30987:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":6962,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6955,"src":"30990:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6958,"name":"deployCodeTo","nodeType":"Identifier","overloadedDeclarations":[6949,6966,7019],"referencedDeclaration":7019,"src":"30962:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$__$","typeString":"function (string memory,bytes memory,uint256,address)"}},"id":6963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30962:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6964,"nodeType":"ExpressionStatement","src":"30962:34:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"30868:12:6","parameters":{"id":6956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6951,"mutability":"mutable","name":"what","nameLocation":"30895:4:6","nodeType":"VariableDeclaration","scope":6966,"src":"30881:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6950,"name":"string","nodeType":"ElementaryTypeName","src":"30881:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6953,"mutability":"mutable","name":"args","nameLocation":"30914:4:6","nodeType":"VariableDeclaration","scope":6966,"src":"30901:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6952,"name":"bytes","nodeType":"ElementaryTypeName","src":"30901:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6955,"mutability":"mutable","name":"where","nameLocation":"30928:5:6","nodeType":"VariableDeclaration","scope":6966,"src":"30920:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6954,"name":"address","nodeType":"ElementaryTypeName","src":"30920:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30880:54:6"},"returnParameters":{"id":6957,"nodeType":"ParameterList","parameters":[],"src":"30952:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":7019,"nodeType":"FunctionDefinition","src":"31009:475:6","nodes":[],"body":{"id":7018,"nodeType":"Block","src":"31117:367:6","nodes":[],"statements":[{"assignments":[6978],"declarations":[{"constant":false,"id":6978,"mutability":"mutable","name":"creationCode","nameLocation":"31140:12:6","nodeType":"VariableDeclaration","scope":7018,"src":"31127:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6977,"name":"bytes","nodeType":"ElementaryTypeName","src":"31127:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6983,"initialValue":{"arguments":[{"id":6981,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6968,"src":"31166:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6979,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"31155:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31158:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"31155:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":6982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31155:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"31127:44:6"},{"expression":{"arguments":[{"id":6987,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6974,"src":"31189:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":6990,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6978,"src":"31213:12:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6991,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6970,"src":"31227:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6988,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31196:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31200:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"31196:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31196:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6984,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"31181:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31184:4:6","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"31181:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":6993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31181:52:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6994,"nodeType":"ExpressionStatement","src":"31181:52:6"},{"assignments":[6996,6998],"declarations":[{"constant":false,"id":6996,"mutability":"mutable","name":"success","nameLocation":"31249:7:6","nodeType":"VariableDeclaration","scope":7018,"src":"31244:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6995,"name":"bool","nodeType":"ElementaryTypeName","src":"31244:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6998,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"31271:15:6","nodeType":"VariableDeclaration","scope":7018,"src":"31258:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6997,"name":"bytes","nodeType":"ElementaryTypeName","src":"31258:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":7005,"initialValue":{"arguments":[{"hexValue":"","id":7003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31315:2:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":6999,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6974,"src":"31290:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31296:4:6","memberName":"call","nodeType":"MemberAccess","src":"31290:10:6","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":7002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":7001,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6972,"src":"31308:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"31290:24:6","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":7004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31290:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"31243:75:6"},{"expression":{"arguments":[{"id":7007,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6996,"src":"31336:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f6465546f28737472696e672c62797465732c75696e743235362c61646472657373293a204661696c656420746f206372656174652072756e74696d652062797465636f64652e","id":7008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31345:90:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b108e15dc33227f7dcfd1bb506d1d48e88a540eadf4c41cd675a882ac84a6d45","typeString":"literal_string \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\""},"value":"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b108e15dc33227f7dcfd1bb506d1d48e88a540eadf4c41cd675a882ac84a6d45","typeString":"literal_string \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\""}],"id":7006,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"31328:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31328:108:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7010,"nodeType":"ExpressionStatement","src":"31328:108:6"},{"expression":{"arguments":[{"id":7014,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6974,"src":"31454:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7015,"name":"runtimeBytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6998,"src":"31461:15:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":7011,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"31446:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":7013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31449:4:6","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"31446:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":7016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31446:31:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7017,"nodeType":"ExpressionStatement","src":"31446:31:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"31018:12:6","parameters":{"id":6975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6968,"mutability":"mutable","name":"what","nameLocation":"31045:4:6","nodeType":"VariableDeclaration","scope":7019,"src":"31031:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6967,"name":"string","nodeType":"ElementaryTypeName","src":"31031:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6970,"mutability":"mutable","name":"args","nameLocation":"31064:4:6","nodeType":"VariableDeclaration","scope":7019,"src":"31051:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6969,"name":"bytes","nodeType":"ElementaryTypeName","src":"31051:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6972,"mutability":"mutable","name":"value","nameLocation":"31078:5:6","nodeType":"VariableDeclaration","scope":7019,"src":"31070:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6971,"name":"uint256","nodeType":"ElementaryTypeName","src":"31070:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6974,"mutability":"mutable","name":"where","nameLocation":"31093:5:6","nodeType":"VariableDeclaration","scope":7019,"src":"31085:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6973,"name":"address","nodeType":"ElementaryTypeName","src":"31085:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31030:69:6"},"returnParameters":{"id":6976,"nodeType":"ParameterList","parameters":[],"src":"31117:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":7041,"nodeType":"FunctionDefinition","src":"31613:193:6","nodes":[],"body":{"id":7040,"nodeType":"Block","src":"31676:130:6","nodes":[],"statements":[{"assignments":[7025,null],"declarations":[{"constant":false,"id":7025,"mutability":"mutable","name":"status","nameLocation":"31692:6:6","nodeType":"VariableDeclaration","scope":7040,"src":"31687:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7024,"name":"bool","nodeType":"ElementaryTypeName","src":"31687:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":7037,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":7033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31764:13:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":7034,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7021,"src":"31779:2:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7031,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31740:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31744:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31740:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31740:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":7028,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6276,"src":"31711:16:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31703:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7026,"name":"address","nodeType":"ElementaryTypeName","src":"31703:7:6","typeDescriptions":{}}},"id":7029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31703:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31729:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"31703:36:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":7036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31703:80:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"31686:97:6"},{"expression":{"id":7038,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"31793:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7039,"nodeType":"ExpressionStatement","src":"31793:6:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdCheats","nameLocation":"31622:22:6","parameters":{"id":7022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7021,"mutability":"mutable","name":"p0","nameLocation":"31659:2:6","nodeType":"VariableDeclaration","scope":7041,"src":"31645:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7020,"name":"string","nodeType":"ElementaryTypeName","src":"31645:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31644:18:6"},"returnParameters":{"id":7023,"nodeType":"ParameterList","parameters":[],"src":"31676:0:6"},"scope":7042,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[{"baseName":{"id":6248,"name":"StdCheatsSafe","nameLocations":["24581:13:6"],"nodeType":"IdentifierPath","referencedDeclaration":6247,"src":"24581:13:6"},"id":6249,"nodeType":"InheritanceSpecifier","src":"24581:13:6"}],"canonicalName":"StdCheats","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[7042,6247],"name":"StdCheats","nameLocation":"24568:9:6","scope":7043,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdConstants.sol":{"id":7,"ast":{"absolutePath":"lib/forge-std/src/StdConstants.sol","id":7084,"exportedSymbols":{"IMulticall3":[26962],"StdConstants":[7083],"Vm":[18679]},"nodeType":"SourceUnit","src":"32:1835:7","nodes":[{"id":7044,"nodeType":"PragmaDirective","src":"32:31:7","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7046,"nodeType":"ImportDirective","src":"65:57:7","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":7084,"sourceUnit":26963,"symbolAliases":[{"foreign":{"id":7045,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"73:11:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7048,"nodeType":"ImportDirective","src":"123:28:7","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":7084,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":7047,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"131:2:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7083,"nodeType":"ContractDefinition","src":"153:1713:7","nodes":[{"id":7055,"nodeType":"VariableDeclaration","src":"294:72:7","nodes":[],"constant":true,"documentation":{"id":7049,"nodeType":"StructuredDocumentation","src":"180:109:7","text":"@dev Cheat code address.\n Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`."},"mutability":"constant","name":"VM","nameLocation":"315:2:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":7051,"nodeType":"UserDefinedTypeName","pathNode":{"id":7050,"name":"Vm","nameLocations":["294:2:7"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"294:2:7"},"referencedDeclaration":18679,"src":"294:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"hexValue":"307837313039373039454366613931613830363236664633393839443638663637463562314444313244","id":7053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"323:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7052,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"320:2:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":7054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"320:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"internal"},{"id":7059,"nodeType":"VariableDeclaration","src":"536:78:7","nodes":[],"constant":true,"documentation":{"id":7056,"nodeType":"StructuredDocumentation","src":"372:159:7","text":"@dev console.sol and console2.sol work by executing a staticcall to this address.\n Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`."},"mutability":"constant","name":"CONSOLE","nameLocation":"562:7:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7057,"name":"address","nodeType":"ElementaryTypeName","src":"536:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":7058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"572:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":7063,"nodeType":"VariableDeclaration","src":"746:86:7","nodes":[],"constant":true,"documentation":{"id":7060,"nodeType":"StructuredDocumentation","src":"620:121:7","text":"@dev Used when deploying with create2.\n Taken from https://github.com/Arachnid/deterministic-deployment-proxy."},"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"772:15:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7061,"name":"address","nodeType":"ElementaryTypeName","src":"746:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":7062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"790:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":7067,"nodeType":"VariableDeclaration","src":"989:85:7","nodes":[],"constant":true,"documentation":{"id":7064,"nodeType":"StructuredDocumentation","src":"838:146:7","text":"@dev The default address for tx.origin and msg.sender.\n Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`."},"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"1015:14:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7065,"name":"address","nodeType":"ElementaryTypeName","src":"989:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307831383034633841423146313245366262663338393464343038336633336530373330396431663338","id":7066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1032:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38"},"visibility":"internal"},{"id":7071,"nodeType":"VariableDeclaration","src":"1355:92:7","nodes":[],"constant":true,"documentation":{"id":7068,"nodeType":"StructuredDocumentation","src":"1080:270:7","text":"@dev The address of the first contract `CREATE`d by a running test contract.\n When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`."},"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1381:21:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7069,"name":"address","nodeType":"ElementaryTypeName","src":"1355:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":7070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1405:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":7078,"nodeType":"VariableDeclaration","src":"1574:106:7","nodes":[],"constant":true,"documentation":{"id":7072,"nodeType":"StructuredDocumentation","src":"1453:116:7","text":"@dev Deterministic deployment address of the Multicall3 contract.\n Taken from https://www.multicall3.com."},"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1604:18:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"},"typeName":{"id":7074,"nodeType":"UserDefinedTypeName","pathNode":{"id":7073,"name":"IMulticall3","nameLocations":["1574:11:7"],"nodeType":"IdentifierPath","referencedDeclaration":26962,"src":"1574:11:7"},"referencedDeclaration":26962,"src":"1574:11:7","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":7076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1637:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7075,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"1625:11:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$26962_$","typeString":"type(contract IMulticall3)"}},"id":7077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1625:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"visibility":"internal"},{"id":7082,"nodeType":"VariableDeclaration","src":"1733:130:7","nodes":[],"constant":true,"documentation":{"id":7079,"nodeType":"StructuredDocumentation","src":"1686:42:7","text":"@dev The order of the secp256k1 curve."},"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1759:15:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7080,"name":"uint256","nodeType":"ElementaryTypeName","src":"1733:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":7081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:78:7","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StdConstants","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7083],"name":"StdConstants","nameLocation":"161:12:7","scope":7084,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdError.sol":{"id":8,"ast":{"absolutePath":"lib/forge-std/src/StdError.sol","id":7150,"exportedSymbols":{"stdError":[7149]},"nodeType":"SourceUnit","src":"129:884:8","nodes":[{"id":7085,"nodeType":"PragmaDirective","src":"129:31:8","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7149,"nodeType":"ContractDefinition","src":"162:850:8","nodes":[{"id":7092,"nodeType":"VariableDeclaration","src":"185:86:8","nodes":[],"constant":true,"functionSelector":"10332977","mutability":"constant","name":"assertionError","nameLocation":"207:14:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7086,"name":"bytes","nodeType":"ElementaryTypeName","src":"185:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"248:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783031","id":7090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266:4:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":7087,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"224:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"228:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"224:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"224:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7099,"nodeType":"VariableDeclaration","src":"277:87:8","nodes":[],"constant":true,"functionSelector":"8995290f","mutability":"constant","name":"arithmeticError","nameLocation":"299:15:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7093,"name":"bytes","nodeType":"ElementaryTypeName","src":"277:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"341:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783131","id":7097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359:4:8","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"0x11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"}],"expression":{"id":7094,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"317:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"321:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"317:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7106,"nodeType":"VariableDeclaration","src":"370:85:8","nodes":[],"constant":true,"functionSelector":"fa784a44","mutability":"constant","name":"divisionError","nameLocation":"392:13:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7100,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"432:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783132","id":7104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"450:4:8","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"0x12"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"expression":{"id":7101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"408:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"412:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"408:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"408:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7113,"nodeType":"VariableDeclaration","src":"461:91:8","nodes":[],"constant":true,"functionSelector":"1de45560","mutability":"constant","name":"enumConversionError","nameLocation":"483:19:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7107,"name":"bytes","nodeType":"ElementaryTypeName","src":"461:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"529:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783231","id":7111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"547:4:8","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"0x21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"}],"expression":{"id":7108,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"505:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"509:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"505:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"505:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7120,"nodeType":"VariableDeclaration","src":"558:90:8","nodes":[],"constant":true,"functionSelector":"d160e4de","mutability":"constant","name":"encodeStorageError","nameLocation":"580:18:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7114,"name":"bytes","nodeType":"ElementaryTypeName","src":"558:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"625:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783232","id":7118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"643:4:8","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"}],"expression":{"id":7115,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"601:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"605:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"601:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"601:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7127,"nodeType":"VariableDeclaration","src":"654:80:8","nodes":[],"constant":true,"functionSelector":"b22dc54d","mutability":"constant","name":"popError","nameLocation":"676:8:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7121,"name":"bytes","nodeType":"ElementaryTypeName","src":"654:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"711:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783331","id":7125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"729:4:8","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"0x31"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"}],"expression":{"id":7122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"687:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"691:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"687:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"687:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7134,"nodeType":"VariableDeclaration","src":"740:85:8","nodes":[],"constant":true,"functionSelector":"05ee8612","mutability":"constant","name":"indexOOBError","nameLocation":"762:13:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7128,"name":"bytes","nodeType":"ElementaryTypeName","src":"740:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"802:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783332","id":7132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"820:4:8","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"0x32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"}],"expression":{"id":7129,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"778:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"782:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"778:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"778:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7141,"nodeType":"VariableDeclaration","src":"831:88:8","nodes":[],"constant":true,"functionSelector":"986c5f68","mutability":"constant","name":"memOverflowError","nameLocation":"853:16:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7135,"name":"bytes","nodeType":"ElementaryTypeName","src":"831:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"896:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783431","id":7139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"914:4:8","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"0x41"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"}],"expression":{"id":7136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"872:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"876:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"872:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"872:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7148,"nodeType":"VariableDeclaration","src":"925:84:8","nodes":[],"constant":true,"functionSelector":"b67689da","mutability":"constant","name":"zeroVarError","nameLocation":"947:12:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7142,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"986:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783531","id":7146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1004:4:8","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"0x51"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"}],"expression":{"id":7143,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"962:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"962:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"962:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"stdError","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7149],"name":"stdError","nameLocation":"170:8:8","scope":7150,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdInvariant.sol":{"id":9,"ast":{"absolutePath":"lib/forge-std/src/StdInvariant.sol","id":7444,"exportedSymbols":{"StdInvariant":[7443]},"nodeType":"SourceUnit","src":"32:3945:9","nodes":[{"id":7151,"nodeType":"PragmaDirective","src":"32:31:9","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7152,"nodeType":"PragmaDirective","src":"65:33:9","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":7443,"nodeType":"ContractDefinition","src":"100:3876:9","nodes":[{"id":7158,"nodeType":"StructDefinition","src":"137:77:9","nodes":[],"canonicalName":"StdInvariant.FuzzSelector","members":[{"constant":false,"id":7154,"mutability":"mutable","name":"addr","nameLocation":"175:4:9","nodeType":"VariableDeclaration","scope":7158,"src":"167:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7153,"name":"address","nodeType":"ElementaryTypeName","src":"167:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7157,"mutability":"mutable","name":"selectors","nameLocation":"198:9:9","nodeType":"VariableDeclaration","scope":7158,"src":"189:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":7155,"name":"bytes4","nodeType":"ElementaryTypeName","src":"189:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":7156,"nodeType":"ArrayTypeName","src":"189:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzSelector","nameLocation":"144:12:9","scope":7443,"visibility":"public"},{"id":7164,"nodeType":"StructDefinition","src":"220:88:9","nodes":[],"canonicalName":"StdInvariant.FuzzArtifactSelector","members":[{"constant":false,"id":7160,"mutability":"mutable","name":"artifact","nameLocation":"265:8:9","nodeType":"VariableDeclaration","scope":7164,"src":"258:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":7159,"name":"string","nodeType":"ElementaryTypeName","src":"258:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7163,"mutability":"mutable","name":"selectors","nameLocation":"292:9:9","nodeType":"VariableDeclaration","scope":7164,"src":"283:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":7161,"name":"bytes4","nodeType":"ElementaryTypeName","src":"283:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":7162,"nodeType":"ArrayTypeName","src":"283:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzArtifactSelector","nameLocation":"227:20:9","scope":7443,"visibility":"public"},{"id":7170,"nodeType":"StructDefinition","src":"314:78:9","nodes":[],"canonicalName":"StdInvariant.FuzzInterface","members":[{"constant":false,"id":7166,"mutability":"mutable","name":"addr","nameLocation":"353:4:9","nodeType":"VariableDeclaration","scope":7170,"src":"345:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7165,"name":"address","nodeType":"ElementaryTypeName","src":"345:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7169,"mutability":"mutable","name":"artifacts","nameLocation":"376:9:9","nodeType":"VariableDeclaration","scope":7170,"src":"367:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7167,"name":"string","nodeType":"ElementaryTypeName","src":"367:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7168,"nodeType":"ArrayTypeName","src":"367:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"name":"FuzzInterface","nameLocation":"321:13:9","scope":7443,"visibility":"public"},{"id":7173,"nodeType":"VariableDeclaration","src":"398:36:9","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedContracts","nameLocation":"416:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":7171,"name":"address","nodeType":"ElementaryTypeName","src":"398:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7172,"nodeType":"ArrayTypeName","src":"398:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":7176,"nodeType":"VariableDeclaration","src":"440:34:9","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedSenders","nameLocation":"458:16:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":7174,"name":"address","nodeType":"ElementaryTypeName","src":"440:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7175,"nodeType":"ArrayTypeName","src":"440:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":7179,"nodeType":"VariableDeclaration","src":"480:36:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedContracts","nameLocation":"498:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":7177,"name":"address","nodeType":"ElementaryTypeName","src":"480:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7178,"nodeType":"ArrayTypeName","src":"480:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":7182,"nodeType":"VariableDeclaration","src":"522:34:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSenders","nameLocation":"540:16:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":7180,"name":"address","nodeType":"ElementaryTypeName","src":"522:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7181,"nodeType":"ArrayTypeName","src":"522:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":7185,"nodeType":"VariableDeclaration","src":"563:35:9","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedArtifacts","nameLocation":"580:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":7183,"name":"string","nodeType":"ElementaryTypeName","src":"563:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7184,"nodeType":"ArrayTypeName","src":"563:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":7188,"nodeType":"VariableDeclaration","src":"604:35:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifacts","nameLocation":"621:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":7186,"name":"string","nodeType":"ElementaryTypeName","src":"604:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7187,"nodeType":"ArrayTypeName","src":"604:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":7192,"nodeType":"VariableDeclaration","src":"646:57:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifactSelectors","nameLocation":"677:26:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector[]"},"typeName":{"baseType":{"id":7190,"nodeType":"UserDefinedTypeName","pathNode":{"id":7189,"name":"FuzzArtifactSelector","nameLocations":["646:20:9"],"nodeType":"IdentifierPath","referencedDeclaration":7164,"src":"646:20:9"},"referencedDeclaration":7164,"src":"646:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"id":7191,"nodeType":"ArrayTypeName","src":"646:22:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"}},"visibility":"private"},{"id":7196,"nodeType":"VariableDeclaration","src":"710:41:9","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedSelectors","nameLocation":"733:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":7194,"nodeType":"UserDefinedTypeName","pathNode":{"id":7193,"name":"FuzzSelector","nameLocations":["710:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"710:12:9"},"referencedDeclaration":7158,"src":"710:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":7195,"nodeType":"ArrayTypeName","src":"710:14:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":7200,"nodeType":"VariableDeclaration","src":"757:41:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSelectors","nameLocation":"780:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":7198,"nodeType":"UserDefinedTypeName","pathNode":{"id":7197,"name":"FuzzSelector","nameLocations":["757:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"757:12:9"},"referencedDeclaration":7158,"src":"757:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":7199,"nodeType":"ArrayTypeName","src":"757:14:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":7204,"nodeType":"VariableDeclaration","src":"805:43:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedInterfaces","nameLocation":"829:19:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface[]"},"typeName":{"baseType":{"id":7202,"nodeType":"UserDefinedTypeName","pathNode":{"id":7201,"name":"FuzzInterface","nameLocations":["805:13:9"],"nodeType":"IdentifierPath","referencedDeclaration":7170,"src":"805:13:9"},"referencedDeclaration":7170,"src":"805:13:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"id":7203,"nodeType":"ArrayTypeName","src":"805:15:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzInterface[]"}},"visibility":"private"},{"id":7216,"nodeType":"FunctionDefinition","src":"933:126:9","nodes":[],"body":{"id":7215,"nodeType":"Block","src":"997:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7212,"name":"newExcludedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"1031:20:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7209,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7173,"src":"1007:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":7211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1026:4:9","memberName":"push","nodeType":"MemberAccess","src":"1007:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":7213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1007:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7214,"nodeType":"ExpressionStatement","src":"1007:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeContract","nameLocation":"942:15:9","parameters":{"id":7207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7206,"mutability":"mutable","name":"newExcludedContract_","nameLocation":"966:20:9","nodeType":"VariableDeclaration","scope":7216,"src":"958:28:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7205,"name":"address","nodeType":"ElementaryTypeName","src":"958:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"957:30:9"},"returnParameters":{"id":7208,"nodeType":"ParameterList","parameters":[],"src":"997:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7229,"nodeType":"FunctionDefinition","src":"1065:138:9","nodes":[],"body":{"id":7228,"nodeType":"Block","src":"1141:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7225,"name":"newExcludedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7219,"src":"1175:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":7222,"name":"_excludedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7196,"src":"1151:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":7224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1170:4:9","memberName":"push","nodeType":"MemberAccess","src":"1151:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$7158_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":7226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1151:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7227,"nodeType":"ExpressionStatement","src":"1151:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeSelector","nameLocation":"1074:15:9","parameters":{"id":7220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7219,"mutability":"mutable","name":"newExcludedSelector_","nameLocation":"1110:20:9","nodeType":"VariableDeclaration","scope":7229,"src":"1090:40:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":7218,"nodeType":"UserDefinedTypeName","pathNode":{"id":7217,"name":"FuzzSelector","nameLocations":["1090:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"1090:12:9"},"referencedDeclaration":7158,"src":"1090:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1089:42:9"},"returnParameters":{"id":7221,"nodeType":"ParameterList","parameters":[],"src":"1141:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7241,"nodeType":"FunctionDefinition","src":"1209:118:9","nodes":[],"body":{"id":7240,"nodeType":"Block","src":"1269:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7237,"name":"newExcludedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7231,"src":"1301:18:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7234,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7176,"src":"1279:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":7236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1296:4:9","memberName":"push","nodeType":"MemberAccess","src":"1279:21:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":7238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1279:41:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7239,"nodeType":"ExpressionStatement","src":"1279:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeSender","nameLocation":"1218:13:9","parameters":{"id":7232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7231,"mutability":"mutable","name":"newExcludedSender_","nameLocation":"1240:18:9","nodeType":"VariableDeclaration","scope":7241,"src":"1232:26:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7230,"name":"address","nodeType":"ElementaryTypeName","src":"1232:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1231:28:9"},"returnParameters":{"id":7233,"nodeType":"ParameterList","parameters":[],"src":"1269:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7253,"nodeType":"FunctionDefinition","src":"1333:132:9","nodes":[],"body":{"id":7252,"nodeType":"Block","src":"1403:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7249,"name":"newExcludedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7243,"src":"1437:20:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7246,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"1413:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":7248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1432:4:9","memberName":"push","nodeType":"MemberAccess","src":"1413:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":7250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7251,"nodeType":"ExpressionStatement","src":"1413:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifact","nameLocation":"1342:15:9","parameters":{"id":7244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7243,"mutability":"mutable","name":"newExcludedArtifact_","nameLocation":"1372:20:9","nodeType":"VariableDeclaration","scope":7253,"src":"1358:34:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7242,"name":"string","nodeType":"ElementaryTypeName","src":"1358:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1357:36:9"},"returnParameters":{"id":7245,"nodeType":"ParameterList","parameters":[],"src":"1403:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7265,"nodeType":"FunctionDefinition","src":"1471:131:9","nodes":[],"body":{"id":7264,"nodeType":"Block","src":"1540:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7261,"name":"newTargetedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7255,"src":"1574:20:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7258,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7188,"src":"1550:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":7260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1569:4:9","memberName":"push","nodeType":"MemberAccess","src":"1550:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":7262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1550:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7263,"nodeType":"ExpressionStatement","src":"1550:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifact","nameLocation":"1480:14:9","parameters":{"id":7256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7255,"mutability":"mutable","name":"newTargetedArtifact_","nameLocation":"1509:20:9","nodeType":"VariableDeclaration","scope":7265,"src":"1495:34:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7254,"name":"string","nodeType":"ElementaryTypeName","src":"1495:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1494:36:9"},"returnParameters":{"id":7257,"nodeType":"ParameterList","parameters":[],"src":"1540:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7278,"nodeType":"FunctionDefinition","src":"1608:177:9","nodes":[],"body":{"id":7277,"nodeType":"Block","src":"1707:78:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7274,"name":"newTargetedArtifactSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7268,"src":"1749:28:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory"}],"expression":{"id":7271,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7192,"src":"1717:26:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector storage ref[] storage ref"}},"id":7273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1744:4:9","memberName":"push","nodeType":"MemberAccess","src":"1717:31:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage_ptr_$_t_struct$_FuzzArtifactSelector_$7164_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzArtifactSelector storage ref[] storage pointer,struct StdInvariant.FuzzArtifactSelector storage ref)"}},"id":7275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1717:61:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7276,"nodeType":"ExpressionStatement","src":"1717:61:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelector","nameLocation":"1617:22:9","parameters":{"id":7269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7268,"mutability":"mutable","name":"newTargetedArtifactSelector_","nameLocation":"1668:28:9","nodeType":"VariableDeclaration","scope":7278,"src":"1640:56:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"},"typeName":{"id":7267,"nodeType":"UserDefinedTypeName","pathNode":{"id":7266,"name":"FuzzArtifactSelector","nameLocations":["1640:20:9"],"nodeType":"IdentifierPath","referencedDeclaration":7164,"src":"1640:20:9"},"referencedDeclaration":7164,"src":"1640:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"visibility":"internal"}],"src":"1639:58:9"},"returnParameters":{"id":7270,"nodeType":"ParameterList","parameters":[],"src":"1707:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7290,"nodeType":"FunctionDefinition","src":"1791:125:9","nodes":[],"body":{"id":7289,"nodeType":"Block","src":"1854:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7286,"name":"newTargetedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1888:20:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7283,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7179,"src":"1864:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":7285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1883:4:9","memberName":"push","nodeType":"MemberAccess","src":"1864:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":7287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1864:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7288,"nodeType":"ExpressionStatement","src":"1864:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetContract","nameLocation":"1800:14:9","parameters":{"id":7281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7280,"mutability":"mutable","name":"newTargetedContract_","nameLocation":"1823:20:9","nodeType":"VariableDeclaration","scope":7290,"src":"1815:28:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7279,"name":"address","nodeType":"ElementaryTypeName","src":"1815:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1814:30:9"},"returnParameters":{"id":7282,"nodeType":"ParameterList","parameters":[],"src":"1854:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7303,"nodeType":"FunctionDefinition","src":"1922:137:9","nodes":[],"body":{"id":7302,"nodeType":"Block","src":"1997:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7299,"name":"newTargetedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7293,"src":"2031:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":7296,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"2007:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":7298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2026:4:9","memberName":"push","nodeType":"MemberAccess","src":"2007:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$7158_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":7300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2007:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7301,"nodeType":"ExpressionStatement","src":"2007:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSelector","nameLocation":"1931:14:9","parameters":{"id":7294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7293,"mutability":"mutable","name":"newTargetedSelector_","nameLocation":"1966:20:9","nodeType":"VariableDeclaration","scope":7303,"src":"1946:40:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":7292,"nodeType":"UserDefinedTypeName","pathNode":{"id":7291,"name":"FuzzSelector","nameLocations":["1946:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"1946:12:9"},"referencedDeclaration":7158,"src":"1946:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1945:42:9"},"returnParameters":{"id":7295,"nodeType":"ParameterList","parameters":[],"src":"1997:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7315,"nodeType":"FunctionDefinition","src":"2065:117:9","nodes":[],"body":{"id":7314,"nodeType":"Block","src":"2124:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7311,"name":"newTargetedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7305,"src":"2156:18:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7308,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7182,"src":"2134:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":7310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2151:4:9","memberName":"push","nodeType":"MemberAccess","src":"2134:21:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":7312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:41:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7313,"nodeType":"ExpressionStatement","src":"2134:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSender","nameLocation":"2074:12:9","parameters":{"id":7306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7305,"mutability":"mutable","name":"newTargetedSender_","nameLocation":"2095:18:9","nodeType":"VariableDeclaration","scope":7315,"src":"2087:26:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7304,"name":"address","nodeType":"ElementaryTypeName","src":"2087:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2086:28:9"},"returnParameters":{"id":7307,"nodeType":"ParameterList","parameters":[],"src":"2124:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7328,"nodeType":"FunctionDefinition","src":"2188:142:9","nodes":[],"body":{"id":7327,"nodeType":"Block","src":"2266:64:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7324,"name":"newTargetedInterface_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7318,"src":"2301:21:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzInterface_$7170_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory"}],"expression":{"id":7321,"name":"_targetedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7204,"src":"2276:19:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface storage ref[] storage ref"}},"id":7323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2296:4:9","memberName":"push","nodeType":"MemberAccess","src":"2276:24:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage_ptr_$_t_struct$_FuzzInterface_$7170_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzInterface storage ref[] storage pointer,struct StdInvariant.FuzzInterface storage ref)"}},"id":7325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2276:47:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7326,"nodeType":"ExpressionStatement","src":"2276:47:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetInterface","nameLocation":"2197:15:9","parameters":{"id":7319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7318,"mutability":"mutable","name":"newTargetedInterface_","nameLocation":"2234:21:9","nodeType":"VariableDeclaration","scope":7328,"src":"2213:42:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_memory_ptr","typeString":"struct StdInvariant.FuzzInterface"},"typeName":{"id":7317,"nodeType":"UserDefinedTypeName","pathNode":{"id":7316,"name":"FuzzInterface","nameLocations":["2213:13:9"],"nodeType":"IdentifierPath","referencedDeclaration":7170,"src":"2213:13:9"},"referencedDeclaration":7170,"src":"2213:13:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"visibility":"internal"}],"src":"2212:44:9"},"returnParameters":{"id":7320,"nodeType":"ParameterList","parameters":[],"src":"2266:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7339,"nodeType":"FunctionDefinition","src":"2459:141:9","nodes":[],"body":{"id":7338,"nodeType":"Block","src":"2544:56:9","nodes":[],"statements":[{"expression":{"id":7336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7334,"name":"excludedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7332,"src":"2554:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7335,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"2575:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"2554:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":7337,"nodeType":"ExpressionStatement","src":"2554:39:9"}]},"functionSelector":"b5508aa9","implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifacts","nameLocation":"2468:16:9","parameters":{"id":7329,"nodeType":"ParameterList","parameters":[],"src":"2484:2:9"},"returnParameters":{"id":7333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7332,"mutability":"mutable","name":"excludedArtifacts_","nameLocation":"2524:18:9","nodeType":"VariableDeclaration","scope":7339,"src":"2508:34:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7330,"name":"string","nodeType":"ElementaryTypeName","src":"2508:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7331,"nodeType":"ArrayTypeName","src":"2508:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2507:36:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7350,"nodeType":"FunctionDefinition","src":"2606:142:9","nodes":[],"body":{"id":7349,"nodeType":"Block","src":"2692:56:9","nodes":[],"statements":[{"expression":{"id":7347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7345,"name":"excludedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7343,"src":"2702:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7346,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7173,"src":"2723:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2702:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7348,"nodeType":"ExpressionStatement","src":"2702:39:9"}]},"functionSelector":"e20c9f71","implemented":true,"kind":"function","modifiers":[],"name":"excludeContracts","nameLocation":"2615:16:9","parameters":{"id":7340,"nodeType":"ParameterList","parameters":[],"src":"2631:2:9"},"returnParameters":{"id":7344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7343,"mutability":"mutable","name":"excludedContracts_","nameLocation":"2672:18:9","nodeType":"VariableDeclaration","scope":7350,"src":"2655:35:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7341,"name":"address","nodeType":"ElementaryTypeName","src":"2655:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7342,"nodeType":"ArrayTypeName","src":"2655:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2654:37:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7362,"nodeType":"FunctionDefinition","src":"2754:147:9","nodes":[],"body":{"id":7361,"nodeType":"Block","src":"2845:56:9","nodes":[],"statements":[{"expression":{"id":7359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7357,"name":"excludedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"2855:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7358,"name":"_excludedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7196,"src":"2876:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"2855:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":7360,"nodeType":"ExpressionStatement","src":"2855:39:9"}]},"functionSelector":"b0464fdc","implemented":true,"kind":"function","modifiers":[],"name":"excludeSelectors","nameLocation":"2763:16:9","parameters":{"id":7351,"nodeType":"ParameterList","parameters":[],"src":"2779:2:9"},"returnParameters":{"id":7356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7355,"mutability":"mutable","name":"excludedSelectors_","nameLocation":"2825:18:9","nodeType":"VariableDeclaration","scope":7362,"src":"2803:40:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":7353,"nodeType":"UserDefinedTypeName","pathNode":{"id":7352,"name":"FuzzSelector","nameLocations":["2803:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"2803:12:9"},"referencedDeclaration":7158,"src":"2803:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":7354,"nodeType":"ArrayTypeName","src":"2803:14:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"2802:42:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7373,"nodeType":"FunctionDefinition","src":"2907:134:9","nodes":[],"body":{"id":7372,"nodeType":"Block","src":"2989:52:9","nodes":[],"statements":[{"expression":{"id":7370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7368,"name":"excludedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7366,"src":"2999:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7369,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7176,"src":"3018:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2999:35:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7371,"nodeType":"ExpressionStatement","src":"2999:35:9"}]},"functionSelector":"1ed7831c","implemented":true,"kind":"function","modifiers":[],"name":"excludeSenders","nameLocation":"2916:14:9","parameters":{"id":7363,"nodeType":"ParameterList","parameters":[],"src":"2930:2:9"},"returnParameters":{"id":7367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7366,"mutability":"mutable","name":"excludedSenders_","nameLocation":"2971:16:9","nodeType":"VariableDeclaration","scope":7373,"src":"2954:33:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7364,"name":"address","nodeType":"ElementaryTypeName","src":"2954:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7365,"nodeType":"ArrayTypeName","src":"2954:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2953:35:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7384,"nodeType":"FunctionDefinition","src":"3047:140:9","nodes":[],"body":{"id":7383,"nodeType":"Block","src":"3131:56:9","nodes":[],"statements":[{"expression":{"id":7381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7379,"name":"targetedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7377,"src":"3141:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7380,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7188,"src":"3162:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"3141:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":7382,"nodeType":"ExpressionStatement","src":"3141:39:9"}]},"functionSelector":"85226c81","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifacts","nameLocation":"3056:15:9","parameters":{"id":7374,"nodeType":"ParameterList","parameters":[],"src":"3071:2:9"},"returnParameters":{"id":7378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7377,"mutability":"mutable","name":"targetedArtifacts_","nameLocation":"3111:18:9","nodeType":"VariableDeclaration","scope":7384,"src":"3095:34:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7375,"name":"string","nodeType":"ElementaryTypeName","src":"3095:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7376,"nodeType":"ArrayTypeName","src":"3095:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"3094:36:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7396,"nodeType":"FunctionDefinition","src":"3193:186:9","nodes":[],"body":{"id":7395,"nodeType":"Block","src":"3307:72:9","nodes":[],"statements":[{"expression":{"id":7393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7391,"name":"targetedArtifactSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7389,"src":"3317:26:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7392,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7192,"src":"3346:26:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector storage ref[] storage ref"}},"src":"3317:55:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory[] memory"}},"id":7394,"nodeType":"ExpressionStatement","src":"3317:55:9"}]},"functionSelector":"66d9a9a0","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelectors","nameLocation":"3202:23:9","parameters":{"id":7385,"nodeType":"ParameterList","parameters":[],"src":"3225:2:9"},"returnParameters":{"id":7390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7389,"mutability":"mutable","name":"targetedArtifactSelectors_","nameLocation":"3279:26:9","nodeType":"VariableDeclaration","scope":7396,"src":"3249:56:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"},"typeName":{"baseType":{"id":7387,"nodeType":"UserDefinedTypeName","pathNode":{"id":7386,"name":"FuzzArtifactSelector","nameLocations":["3249:20:9"],"nodeType":"IdentifierPath","referencedDeclaration":7164,"src":"3249:20:9"},"referencedDeclaration":7164,"src":"3249:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"id":7388,"nodeType":"ArrayTypeName","src":"3249:22:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"}},"visibility":"internal"}],"src":"3248:58:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7407,"nodeType":"FunctionDefinition","src":"3385:141:9","nodes":[],"body":{"id":7406,"nodeType":"Block","src":"3470:56:9","nodes":[],"statements":[{"expression":{"id":7404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7402,"name":"targetedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7400,"src":"3480:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7403,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7179,"src":"3501:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3480:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7405,"nodeType":"ExpressionStatement","src":"3480:39:9"}]},"functionSelector":"3f7286f4","implemented":true,"kind":"function","modifiers":[],"name":"targetContracts","nameLocation":"3394:15:9","parameters":{"id":7397,"nodeType":"ParameterList","parameters":[],"src":"3409:2:9"},"returnParameters":{"id":7401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7400,"mutability":"mutable","name":"targetedContracts_","nameLocation":"3450:18:9","nodeType":"VariableDeclaration","scope":7407,"src":"3433:35:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7398,"name":"address","nodeType":"ElementaryTypeName","src":"3433:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7399,"nodeType":"ArrayTypeName","src":"3433:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3432:37:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7419,"nodeType":"FunctionDefinition","src":"3532:146:9","nodes":[],"body":{"id":7418,"nodeType":"Block","src":"3622:56:9","nodes":[],"statements":[{"expression":{"id":7416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7414,"name":"targetedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7412,"src":"3632:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7415,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"3653:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"3632:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":7417,"nodeType":"ExpressionStatement","src":"3632:39:9"}]},"functionSelector":"916a17c6","implemented":true,"kind":"function","modifiers":[],"name":"targetSelectors","nameLocation":"3541:15:9","parameters":{"id":7408,"nodeType":"ParameterList","parameters":[],"src":"3556:2:9"},"returnParameters":{"id":7413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7412,"mutability":"mutable","name":"targetedSelectors_","nameLocation":"3602:18:9","nodeType":"VariableDeclaration","scope":7419,"src":"3580:40:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":7410,"nodeType":"UserDefinedTypeName","pathNode":{"id":7409,"name":"FuzzSelector","nameLocations":["3580:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"3580:12:9"},"referencedDeclaration":7158,"src":"3580:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":7411,"nodeType":"ArrayTypeName","src":"3580:14:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"3579:42:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7430,"nodeType":"FunctionDefinition","src":"3684:133:9","nodes":[],"body":{"id":7429,"nodeType":"Block","src":"3765:52:9","nodes":[],"statements":[{"expression":{"id":7427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7425,"name":"targetedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7423,"src":"3775:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7426,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7182,"src":"3794:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3775:35:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7428,"nodeType":"ExpressionStatement","src":"3775:35:9"}]},"functionSelector":"3e5e3c23","implemented":true,"kind":"function","modifiers":[],"name":"targetSenders","nameLocation":"3693:13:9","parameters":{"id":7420,"nodeType":"ParameterList","parameters":[],"src":"3706:2:9"},"returnParameters":{"id":7424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7423,"mutability":"mutable","name":"targetedSenders_","nameLocation":"3747:16:9","nodeType":"VariableDeclaration","scope":7430,"src":"3730:33:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7421,"name":"address","nodeType":"ElementaryTypeName","src":"3730:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7422,"nodeType":"ArrayTypeName","src":"3730:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3729:35:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7442,"nodeType":"FunctionDefinition","src":"3823:151:9","nodes":[],"body":{"id":7441,"nodeType":"Block","src":"3916:58:9","nodes":[],"statements":[{"expression":{"id":7439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7437,"name":"targetedInterfaces_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7435,"src":"3926:19:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7438,"name":"_targetedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7204,"src":"3948:19:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface storage ref[] storage ref"}},"src":"3926:41:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory[] memory"}},"id":7440,"nodeType":"ExpressionStatement","src":"3926:41:9"}]},"functionSelector":"2ade3880","implemented":true,"kind":"function","modifiers":[],"name":"targetInterfaces","nameLocation":"3832:16:9","parameters":{"id":7431,"nodeType":"ParameterList","parameters":[],"src":"3848:2:9"},"returnParameters":{"id":7436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7435,"mutability":"mutable","name":"targetedInterfaces_","nameLocation":"3895:19:9","nodeType":"VariableDeclaration","scope":7442,"src":"3872:42:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface[]"},"typeName":{"baseType":{"id":7433,"nodeType":"UserDefinedTypeName","pathNode":{"id":7432,"name":"FuzzInterface","nameLocations":["3872:13:9"],"nodeType":"IdentifierPath","referencedDeclaration":7170,"src":"3872:13:9"},"referencedDeclaration":7170,"src":"3872:13:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"id":7434,"nodeType":"ArrayTypeName","src":"3872:15:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzInterface[]"}},"visibility":"internal"}],"src":"3871:44:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":true,"baseContracts":[],"canonicalName":"StdInvariant","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[7443],"name":"StdInvariant","nameLocation":"118:12:9","scope":7444,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdJson.sol":{"id":10,"ast":{"absolutePath":"lib/forge-std/src/StdJson.sol","id":8388,"exportedSymbols":{"VmSafe":[17608],"stdJson":[8387]},"nodeType":"SourceUnit","src":"32:9671:10","nodes":[{"id":7445,"nodeType":"PragmaDirective","src":"32:31:10","nodes":[],"literals":["solidity",">=","0.6",".0","<","0.9",".0"]},{"id":7446,"nodeType":"PragmaDirective","src":"65:33:10","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":7448,"nodeType":"ImportDirective","src":"100:32:10","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":8388,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":7447,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"108:6:10","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":8387,"nodeType":"ContractDefinition","src":"610:9092:10","nodes":[{"id":7465,"nodeType":"VariableDeclaration","src":"632:92:10","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"656:2:10","scope":8387,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":7450,"nodeType":"UserDefinedTypeName","pathNode":{"id":7449,"name":"VmSafe","nameLocations":["632:6:10"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"632:6:10"},"referencedDeclaration":17608,"src":"632:6:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":7459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"702:17:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":7458,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"692:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"692:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"684:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7456,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:10","typeDescriptions":{}}},"id":7461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"684:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"676:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":7454,"name":"uint160","nodeType":"ElementaryTypeName","src":"676:7:10","typeDescriptions":{}}},"id":7462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"676:46:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":7453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"668:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7452,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:10","typeDescriptions":{}}},"id":7463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"668:55:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7451,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"661:6:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":7464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"661:63:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":7481,"nodeType":"FunctionDefinition","src":"731:138:10","nodes":[],"body":{"id":7480,"nodeType":"Block","src":"818:51:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7476,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7467,"src":"852:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7477,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7469,"src":"858:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7474,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"835:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"838:13:10","memberName":"keyExistsJson","nodeType":"MemberAccess","referencedDeclaration":15018,"src":"835:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view external returns (bool)"}},"id":7478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"835:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7473,"id":7479,"nodeType":"Return","src":"828:34:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"740:9:10","parameters":{"id":7470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7467,"mutability":"mutable","name":"json","nameLocation":"764:4:10","nodeType":"VariableDeclaration","scope":7481,"src":"750:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7466,"name":"string","nodeType":"ElementaryTypeName","src":"750:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7469,"mutability":"mutable","name":"key","nameLocation":"784:3:10","nodeType":"VariableDeclaration","scope":7481,"src":"770:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7468,"name":"string","nodeType":"ElementaryTypeName","src":"770:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"749:39:10"},"returnParameters":{"id":7473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7481,"src":"812:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7471,"name":"bool","nodeType":"ElementaryTypeName","src":"812:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"811:6:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7497,"nodeType":"FunctionDefinition","src":"875:141:10","nodes":[],"body":{"id":7496,"nodeType":"Block","src":"969:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7492,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7483,"src":"999:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7493,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7485,"src":"1005:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7490,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"986:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"989:9:10","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"986:12:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":7494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"986:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":7489,"id":7495,"nodeType":"Return","src":"979:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"884:8:10","parameters":{"id":7486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7483,"mutability":"mutable","name":"json","nameLocation":"907:4:10","nodeType":"VariableDeclaration","scope":7497,"src":"893:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7482,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7485,"mutability":"mutable","name":"key","nameLocation":"927:3:10","nodeType":"VariableDeclaration","scope":7497,"src":"913:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7484,"name":"string","nodeType":"ElementaryTypeName","src":"913:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"892:39:10"},"returnParameters":{"id":7489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7497,"src":"955:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7487,"name":"bytes","nodeType":"ElementaryTypeName","src":"955:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"954:14:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7513,"nodeType":"FunctionDefinition","src":"1022:140:10","nodes":[],"body":{"id":7512,"nodeType":"Block","src":"1111:51:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7508,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7499,"src":"1145:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7509,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7501,"src":"1151:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1128:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1131:13:10","memberName":"parseJsonUint","nodeType":"MemberAccess","referencedDeclaration":15199,"src":"1128:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure external returns (uint256)"}},"id":7510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1128:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7505,"id":7511,"nodeType":"Return","src":"1121:34:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1031:8:10","parameters":{"id":7502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7499,"mutability":"mutable","name":"json","nameLocation":"1054:4:10","nodeType":"VariableDeclaration","scope":7513,"src":"1040:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7498,"name":"string","nodeType":"ElementaryTypeName","src":"1040:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7501,"mutability":"mutable","name":"key","nameLocation":"1074:3:10","nodeType":"VariableDeclaration","scope":7513,"src":"1060:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7500,"name":"string","nodeType":"ElementaryTypeName","src":"1060:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1039:39:10"},"returnParameters":{"id":7505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7513,"src":"1102:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7503,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1101:9:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7530,"nodeType":"FunctionDefinition","src":"1168:159:10","nodes":[],"body":{"id":7529,"nodeType":"Block","src":"1271:56:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7525,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7515,"src":"1310:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7526,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7517,"src":"1316:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7523,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1288:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1291:18:10","memberName":"parseJsonUintArray","nodeType":"MemberAccess","referencedDeclaration":15210,"src":"1288:21:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (uint256[] memory)"}},"id":7527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1288:32:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":7522,"id":7528,"nodeType":"Return","src":"1281:39:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1177:13:10","parameters":{"id":7518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7515,"mutability":"mutable","name":"json","nameLocation":"1205:4:10","nodeType":"VariableDeclaration","scope":7530,"src":"1191:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7514,"name":"string","nodeType":"ElementaryTypeName","src":"1191:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7517,"mutability":"mutable","name":"key","nameLocation":"1225:3:10","nodeType":"VariableDeclaration","scope":7530,"src":"1211:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7516,"name":"string","nodeType":"ElementaryTypeName","src":"1211:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1190:39:10"},"returnParameters":{"id":7522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7521,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7530,"src":"1253:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7519,"name":"uint256","nodeType":"ElementaryTypeName","src":"1253:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7520,"nodeType":"ArrayTypeName","src":"1253:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1252:18:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7546,"nodeType":"FunctionDefinition","src":"1333:137:10","nodes":[],"body":{"id":7545,"nodeType":"Block","src":"1420:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7541,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7532,"src":"1453:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7542,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7534,"src":"1459:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1437:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:12:10","memberName":"parseJsonInt","nodeType":"MemberAccess","referencedDeclaration":15112,"src":"1437:15:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure external returns (int256)"}},"id":7543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":7538,"id":7544,"nodeType":"Return","src":"1430:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1342:7:10","parameters":{"id":7535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7532,"mutability":"mutable","name":"json","nameLocation":"1364:4:10","nodeType":"VariableDeclaration","scope":7546,"src":"1350:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7531,"name":"string","nodeType":"ElementaryTypeName","src":"1350:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7534,"mutability":"mutable","name":"key","nameLocation":"1384:3:10","nodeType":"VariableDeclaration","scope":7546,"src":"1370:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7533,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1349:39:10"},"returnParameters":{"id":7538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7546,"src":"1412:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7536,"name":"int256","nodeType":"ElementaryTypeName","src":"1412:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1411:8:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7563,"nodeType":"FunctionDefinition","src":"1476:156:10","nodes":[],"body":{"id":7562,"nodeType":"Block","src":"1577:55:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7558,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7548,"src":"1615:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7559,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7550,"src":"1621:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7556,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1594:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:17:10","memberName":"parseJsonIntArray","nodeType":"MemberAccess","referencedDeclaration":15123,"src":"1594:20:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (int256[] memory)"}},"id":7560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:31:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":7555,"id":7561,"nodeType":"Return","src":"1587:38:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1485:12:10","parameters":{"id":7551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7548,"mutability":"mutable","name":"json","nameLocation":"1512:4:10","nodeType":"VariableDeclaration","scope":7563,"src":"1498:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7547,"name":"string","nodeType":"ElementaryTypeName","src":"1498:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7550,"mutability":"mutable","name":"key","nameLocation":"1532:3:10","nodeType":"VariableDeclaration","scope":7563,"src":"1518:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7549,"name":"string","nodeType":"ElementaryTypeName","src":"1518:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1497:39:10"},"returnParameters":{"id":7555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7563,"src":"1560:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7552,"name":"int256","nodeType":"ElementaryTypeName","src":"1560:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7553,"nodeType":"ArrayTypeName","src":"1560:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1559:17:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7579,"nodeType":"FunctionDefinition","src":"1638:146:10","nodes":[],"body":{"id":7578,"nodeType":"Block","src":"1730:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7574,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7565,"src":"1767:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7575,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7567,"src":"1773:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7572,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1747:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1750:16:10","memberName":"parseJsonBytes32","nodeType":"MemberAccess","referencedDeclaration":15080,"src":"1747:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure external returns (bytes32)"}},"id":7576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1747:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7571,"id":7577,"nodeType":"Return","src":"1740:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1647:11:10","parameters":{"id":7568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7565,"mutability":"mutable","name":"json","nameLocation":"1673:4:10","nodeType":"VariableDeclaration","scope":7579,"src":"1659:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7564,"name":"string","nodeType":"ElementaryTypeName","src":"1659:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7567,"mutability":"mutable","name":"key","nameLocation":"1693:3:10","nodeType":"VariableDeclaration","scope":7579,"src":"1679:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7566,"name":"string","nodeType":"ElementaryTypeName","src":"1679:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1658:39:10"},"returnParameters":{"id":7571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7570,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7579,"src":"1721:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1721:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1720:9:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7596,"nodeType":"FunctionDefinition","src":"1790:165:10","nodes":[],"body":{"id":7595,"nodeType":"Block","src":"1896:59:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7591,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7581,"src":"1938:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7592,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7583,"src":"1944:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7589,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1913:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1916:21:10","memberName":"parseJsonBytes32Array","nodeType":"MemberAccess","referencedDeclaration":15091,"src":"1913:24:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes32[] memory)"}},"id":7593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1913:35:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":7588,"id":7594,"nodeType":"Return","src":"1906:42:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1799:16:10","parameters":{"id":7584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7581,"mutability":"mutable","name":"json","nameLocation":"1830:4:10","nodeType":"VariableDeclaration","scope":7596,"src":"1816:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7580,"name":"string","nodeType":"ElementaryTypeName","src":"1816:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7583,"mutability":"mutable","name":"key","nameLocation":"1850:3:10","nodeType":"VariableDeclaration","scope":7596,"src":"1836:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7582,"name":"string","nodeType":"ElementaryTypeName","src":"1836:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1815:39:10"},"returnParameters":{"id":7588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7596,"src":"1878:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1878:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7586,"nodeType":"ArrayTypeName","src":"1878:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1877:18:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7612,"nodeType":"FunctionDefinition","src":"1961:150:10","nodes":[],"body":{"id":7611,"nodeType":"Block","src":"2058:53:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7607,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7598,"src":"2094:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7608,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7600,"src":"2100:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7605,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2075:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2078:15:10","memberName":"parseJsonString","nodeType":"MemberAccess","referencedDeclaration":15144,"src":"2075:18:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory)"}},"id":7609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2075:29:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7604,"id":7610,"nodeType":"Return","src":"2068:36:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"1970:10:10","parameters":{"id":7601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7598,"mutability":"mutable","name":"json","nameLocation":"1995:4:10","nodeType":"VariableDeclaration","scope":7612,"src":"1981:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7597,"name":"string","nodeType":"ElementaryTypeName","src":"1981:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7600,"mutability":"mutable","name":"key","nameLocation":"2015:3:10","nodeType":"VariableDeclaration","scope":7612,"src":"2001:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7599,"name":"string","nodeType":"ElementaryTypeName","src":"2001:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1980:39:10"},"returnParameters":{"id":7604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7612,"src":"2043:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7602,"name":"string","nodeType":"ElementaryTypeName","src":"2043:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2042:15:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7629,"nodeType":"FunctionDefinition","src":"2117:162:10","nodes":[],"body":{"id":7628,"nodeType":"Block","src":"2221:58:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7624,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7614,"src":"2262:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7625,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7616,"src":"2268:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7622,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2238:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2241:20:10","memberName":"parseJsonStringArray","nodeType":"MemberAccess","referencedDeclaration":15155,"src":"2238:23:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":7626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2238:34:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":7621,"id":7627,"nodeType":"Return","src":"2231:41:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2126:15:10","parameters":{"id":7617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7614,"mutability":"mutable","name":"json","nameLocation":"2156:4:10","nodeType":"VariableDeclaration","scope":7629,"src":"2142:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7613,"name":"string","nodeType":"ElementaryTypeName","src":"2142:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7616,"mutability":"mutable","name":"key","nameLocation":"2176:3:10","nodeType":"VariableDeclaration","scope":7629,"src":"2162:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7615,"name":"string","nodeType":"ElementaryTypeName","src":"2162:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2141:39:10"},"returnParameters":{"id":7621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7629,"src":"2204:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7618,"name":"string","nodeType":"ElementaryTypeName","src":"2204:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7619,"nodeType":"ArrayTypeName","src":"2204:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2203:17:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7645,"nodeType":"FunctionDefinition","src":"2285:146:10","nodes":[],"body":{"id":7644,"nodeType":"Block","src":"2377:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7640,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7631,"src":"2414:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7641,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7633,"src":"2420:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7638,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2394:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2397:16:10","memberName":"parseJsonAddress","nodeType":"MemberAccess","referencedDeclaration":15028,"src":"2394:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure external returns (address)"}},"id":7642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7637,"id":7643,"nodeType":"Return","src":"2387:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2294:11:10","parameters":{"id":7634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7631,"mutability":"mutable","name":"json","nameLocation":"2320:4:10","nodeType":"VariableDeclaration","scope":7645,"src":"2306:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7630,"name":"string","nodeType":"ElementaryTypeName","src":"2306:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7633,"mutability":"mutable","name":"key","nameLocation":"2340:3:10","nodeType":"VariableDeclaration","scope":7645,"src":"2326:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7632,"name":"string","nodeType":"ElementaryTypeName","src":"2326:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2305:39:10"},"returnParameters":{"id":7637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7645,"src":"2368:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7635,"name":"address","nodeType":"ElementaryTypeName","src":"2368:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2367:9:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7662,"nodeType":"FunctionDefinition","src":"2437:165:10","nodes":[],"body":{"id":7661,"nodeType":"Block","src":"2543:59:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7657,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7647,"src":"2585:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7658,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7649,"src":"2591:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7655,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2560:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2563:21:10","memberName":"parseJsonAddressArray","nodeType":"MemberAccess","referencedDeclaration":15039,"src":"2560:24:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (address[] memory)"}},"id":7659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2560:35:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":7654,"id":7660,"nodeType":"Return","src":"2553:42:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2446:16:10","parameters":{"id":7650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7647,"mutability":"mutable","name":"json","nameLocation":"2477:4:10","nodeType":"VariableDeclaration","scope":7662,"src":"2463:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7646,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7649,"mutability":"mutable","name":"key","nameLocation":"2497:3:10","nodeType":"VariableDeclaration","scope":7662,"src":"2483:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7648,"name":"string","nodeType":"ElementaryTypeName","src":"2483:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2462:39:10"},"returnParameters":{"id":7654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7662,"src":"2525:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7651,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7652,"nodeType":"ArrayTypeName","src":"2525:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2524:18:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7678,"nodeType":"FunctionDefinition","src":"2608:137:10","nodes":[],"body":{"id":7677,"nodeType":"Block","src":"2694:51:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7673,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7664,"src":"2728:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7674,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7666,"src":"2734:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7671,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2711:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2714:13:10","memberName":"parseJsonBool","nodeType":"MemberAccess","referencedDeclaration":15049,"src":"2711:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure external returns (bool)"}},"id":7675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7670,"id":7676,"nodeType":"Return","src":"2704:34:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2617:8:10","parameters":{"id":7667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7664,"mutability":"mutable","name":"json","nameLocation":"2640:4:10","nodeType":"VariableDeclaration","scope":7678,"src":"2626:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7663,"name":"string","nodeType":"ElementaryTypeName","src":"2626:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7666,"mutability":"mutable","name":"key","nameLocation":"2660:3:10","nodeType":"VariableDeclaration","scope":7678,"src":"2646:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7665,"name":"string","nodeType":"ElementaryTypeName","src":"2646:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2625:39:10"},"returnParameters":{"id":7670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7669,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7678,"src":"2688:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7668,"name":"bool","nodeType":"ElementaryTypeName","src":"2688:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2687:6:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7695,"nodeType":"FunctionDefinition","src":"2751:156:10","nodes":[],"body":{"id":7694,"nodeType":"Block","src":"2851:56:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7690,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7680,"src":"2890:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7691,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7682,"src":"2896:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7688,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2868:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2871:18:10","memberName":"parseJsonBoolArray","nodeType":"MemberAccess","referencedDeclaration":15060,"src":"2868:21:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bool[] memory)"}},"id":7692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:32:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":7687,"id":7693,"nodeType":"Return","src":"2861:39:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2760:13:10","parameters":{"id":7683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7680,"mutability":"mutable","name":"json","nameLocation":"2788:4:10","nodeType":"VariableDeclaration","scope":7695,"src":"2774:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7679,"name":"string","nodeType":"ElementaryTypeName","src":"2774:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7682,"mutability":"mutable","name":"key","nameLocation":"2808:3:10","nodeType":"VariableDeclaration","scope":7695,"src":"2794:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7681,"name":"string","nodeType":"ElementaryTypeName","src":"2794:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2773:39:10"},"returnParameters":{"id":7687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7695,"src":"2836:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7684,"name":"bool","nodeType":"ElementaryTypeName","src":"2836:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7685,"nodeType":"ArrayTypeName","src":"2836:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2835:15:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7711,"nodeType":"FunctionDefinition","src":"2913:147:10","nodes":[],"body":{"id":7710,"nodeType":"Block","src":"3008:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7706,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7697,"src":"3043:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7707,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7699,"src":"3049:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"3025:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3028:14:10","memberName":"parseJsonBytes","nodeType":"MemberAccess","referencedDeclaration":15070,"src":"3025:17:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":7708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":7703,"id":7709,"nodeType":"Return","src":"3018:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2922:9:10","parameters":{"id":7700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7697,"mutability":"mutable","name":"json","nameLocation":"2946:4:10","nodeType":"VariableDeclaration","scope":7711,"src":"2932:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7696,"name":"string","nodeType":"ElementaryTypeName","src":"2932:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7699,"mutability":"mutable","name":"key","nameLocation":"2966:3:10","nodeType":"VariableDeclaration","scope":7711,"src":"2952:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7698,"name":"string","nodeType":"ElementaryTypeName","src":"2952:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2931:39:10"},"returnParameters":{"id":7703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7711,"src":"2994:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7701,"name":"bytes","nodeType":"ElementaryTypeName","src":"2994:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2993:14:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7728,"nodeType":"FunctionDefinition","src":"3066:159:10","nodes":[],"body":{"id":7727,"nodeType":"Block","src":"3168:57:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7723,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7713,"src":"3208:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7724,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7715,"src":"3214:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7721,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"3185:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3188:19:10","memberName":"parseJsonBytesArray","nodeType":"MemberAccess","referencedDeclaration":15102,"src":"3185:22:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory[] memory)"}},"id":7725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3185:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":7720,"id":7726,"nodeType":"Return","src":"3178:40:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3075:14:10","parameters":{"id":7716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7713,"mutability":"mutable","name":"json","nameLocation":"3104:4:10","nodeType":"VariableDeclaration","scope":7728,"src":"3090:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7712,"name":"string","nodeType":"ElementaryTypeName","src":"3090:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7715,"mutability":"mutable","name":"key","nameLocation":"3124:3:10","nodeType":"VariableDeclaration","scope":7728,"src":"3110:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7714,"name":"string","nodeType":"ElementaryTypeName","src":"3110:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3089:39:10"},"returnParameters":{"id":7720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7728,"src":"3152:14:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7717,"name":"bytes","nodeType":"ElementaryTypeName","src":"3152:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7718,"nodeType":"ArrayTypeName","src":"3152:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3151:16:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7751,"nodeType":"FunctionDefinition","src":"3231:194:10","nodes":[],"body":{"id":7750,"nodeType":"Block","src":"3344:81:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7740,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"3371:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7741,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7732,"src":"3377:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7739,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"3361:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3361:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7747,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7734,"src":"3406:12:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3361:57:10","trueExpression":{"arguments":[{"id":7744,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"3393:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7745,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7732,"src":"3399:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7743,"name":"readUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7513,"src":"3384:8:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":7746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7738,"id":7749,"nodeType":"Return","src":"3354:64:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintOr","nameLocation":"3240:10:10","parameters":{"id":7735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7730,"mutability":"mutable","name":"json","nameLocation":"3265:4:10","nodeType":"VariableDeclaration","scope":7751,"src":"3251:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7729,"name":"string","nodeType":"ElementaryTypeName","src":"3251:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7732,"mutability":"mutable","name":"key","nameLocation":"3285:3:10","nodeType":"VariableDeclaration","scope":7751,"src":"3271:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7731,"name":"string","nodeType":"ElementaryTypeName","src":"3271:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7734,"mutability":"mutable","name":"defaultValue","nameLocation":"3298:12:10","nodeType":"VariableDeclaration","scope":7751,"src":"3290:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7733,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3250:61:10"},"returnParameters":{"id":7738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7737,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7751,"src":"3335:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7736,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3334:9:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7776,"nodeType":"FunctionDefinition","src":"3431:250:10","nodes":[],"body":{"id":7775,"nodeType":"Block","src":"3595:86:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7765,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7753,"src":"3622:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7766,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7755,"src":"3628:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7764,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"3612:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3612:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7772,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7758,"src":"3662:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":7773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3612:62:10","trueExpression":{"arguments":[{"id":7769,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7753,"src":"3649:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7770,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7755,"src":"3655:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7768,"name":"readUintArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7530,"src":"3635:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256[] memory)"}},"id":7771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":7763,"id":7774,"nodeType":"Return","src":"3605:69:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArrayOr","nameLocation":"3440:15:10","parameters":{"id":7759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7753,"mutability":"mutable","name":"json","nameLocation":"3470:4:10","nodeType":"VariableDeclaration","scope":7776,"src":"3456:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7752,"name":"string","nodeType":"ElementaryTypeName","src":"3456:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7755,"mutability":"mutable","name":"key","nameLocation":"3490:3:10","nodeType":"VariableDeclaration","scope":7776,"src":"3476:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7754,"name":"string","nodeType":"ElementaryTypeName","src":"3476:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7758,"mutability":"mutable","name":"defaultValue","nameLocation":"3512:12:10","nodeType":"VariableDeclaration","scope":7776,"src":"3495:29:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7756,"name":"uint256","nodeType":"ElementaryTypeName","src":"3495:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7757,"nodeType":"ArrayTypeName","src":"3495:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3455:70:10"},"returnParameters":{"id":7763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7762,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7776,"src":"3573:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7760,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7761,"nodeType":"ArrayTypeName","src":"3573:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3572:18:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7799,"nodeType":"FunctionDefinition","src":"3687:190:10","nodes":[],"body":{"id":7798,"nodeType":"Block","src":"3797:80:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7788,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7778,"src":"3824:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7789,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7780,"src":"3830:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7787,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"3814:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3814:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7795,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7782,"src":"3858:12:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3814:56:10","trueExpression":{"arguments":[{"id":7792,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7778,"src":"3845:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7793,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7780,"src":"3851:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7791,"name":"readInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7546,"src":"3837:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure returns (int256)"}},"id":7794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":7786,"id":7797,"nodeType":"Return","src":"3807:63:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntOr","nameLocation":"3696:9:10","parameters":{"id":7783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7778,"mutability":"mutable","name":"json","nameLocation":"3720:4:10","nodeType":"VariableDeclaration","scope":7799,"src":"3706:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7777,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7780,"mutability":"mutable","name":"key","nameLocation":"3740:3:10","nodeType":"VariableDeclaration","scope":7799,"src":"3726:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7779,"name":"string","nodeType":"ElementaryTypeName","src":"3726:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7782,"mutability":"mutable","name":"defaultValue","nameLocation":"3752:12:10","nodeType":"VariableDeclaration","scope":7799,"src":"3745:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7781,"name":"int256","nodeType":"ElementaryTypeName","src":"3745:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3705:60:10"},"returnParameters":{"id":7786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7785,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7799,"src":"3789:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7784,"name":"int256","nodeType":"ElementaryTypeName","src":"3789:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3788:8:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7824,"nodeType":"FunctionDefinition","src":"3883:246:10","nodes":[],"body":{"id":7823,"nodeType":"Block","src":"4044:85:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7813,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7801,"src":"4071:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7814,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7803,"src":"4077:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7812,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"4061:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7820,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7806,"src":"4110:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"id":7821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4061:61:10","trueExpression":{"arguments":[{"id":7817,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7801,"src":"4097:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7818,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7803,"src":"4103:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7816,"name":"readIntArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7563,"src":"4084:12:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (int256[] memory)"}},"id":7819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":7811,"id":7822,"nodeType":"Return","src":"4054:68:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArrayOr","nameLocation":"3892:14:10","parameters":{"id":7807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7801,"mutability":"mutable","name":"json","nameLocation":"3921:4:10","nodeType":"VariableDeclaration","scope":7824,"src":"3907:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7800,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7803,"mutability":"mutable","name":"key","nameLocation":"3941:3:10","nodeType":"VariableDeclaration","scope":7824,"src":"3927:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7802,"name":"string","nodeType":"ElementaryTypeName","src":"3927:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7806,"mutability":"mutable","name":"defaultValue","nameLocation":"3962:12:10","nodeType":"VariableDeclaration","scope":7824,"src":"3946:28:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7804,"name":"int256","nodeType":"ElementaryTypeName","src":"3946:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7805,"nodeType":"ArrayTypeName","src":"3946:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"3906:69:10"},"returnParameters":{"id":7811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7824,"src":"4023:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7808,"name":"int256","nodeType":"ElementaryTypeName","src":"4023:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7809,"nodeType":"ArrayTypeName","src":"4023:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4022:17:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7847,"nodeType":"FunctionDefinition","src":"4135:228:10","nodes":[],"body":{"id":7846,"nodeType":"Block","src":"4279:84:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7836,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7826,"src":"4306:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7837,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7828,"src":"4312:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7835,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"4296:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7843,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7830,"src":"4344:12:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4296:60:10","trueExpression":{"arguments":[{"id":7840,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7826,"src":"4331:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7841,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7828,"src":"4337:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7839,"name":"readBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7579,"src":"4319:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure returns (bytes32)"}},"id":7842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7834,"id":7845,"nodeType":"Return","src":"4289:67:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Or","nameLocation":"4144:13:10","parameters":{"id":7831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7826,"mutability":"mutable","name":"json","nameLocation":"4172:4:10","nodeType":"VariableDeclaration","scope":7847,"src":"4158:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7825,"name":"string","nodeType":"ElementaryTypeName","src":"4158:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7828,"mutability":"mutable","name":"key","nameLocation":"4192:3:10","nodeType":"VariableDeclaration","scope":7847,"src":"4178:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7827,"name":"string","nodeType":"ElementaryTypeName","src":"4178:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7830,"mutability":"mutable","name":"defaultValue","nameLocation":"4205:12:10","nodeType":"VariableDeclaration","scope":7847,"src":"4197:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4197:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4157:61:10"},"returnParameters":{"id":7834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7847,"src":"4266:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4266:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4265:9:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7872,"nodeType":"FunctionDefinition","src":"4369:256:10","nodes":[],"body":{"id":7871,"nodeType":"Block","src":"4536:89:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7861,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7849,"src":"4563:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7862,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7851,"src":"4569:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7860,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"4553:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7868,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7854,"src":"4606:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4553:65:10","trueExpression":{"arguments":[{"id":7865,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7849,"src":"4593:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7866,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7851,"src":"4599:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7864,"name":"readBytes32Array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7596,"src":"4576:16:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes32[] memory)"}},"id":7867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":7859,"id":7870,"nodeType":"Return","src":"4546:72:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32ArrayOr","nameLocation":"4378:18:10","parameters":{"id":7855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7849,"mutability":"mutable","name":"json","nameLocation":"4411:4:10","nodeType":"VariableDeclaration","scope":7872,"src":"4397:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7848,"name":"string","nodeType":"ElementaryTypeName","src":"4397:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7851,"mutability":"mutable","name":"key","nameLocation":"4431:3:10","nodeType":"VariableDeclaration","scope":7872,"src":"4417:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7850,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7854,"mutability":"mutable","name":"defaultValue","nameLocation":"4453:12:10","nodeType":"VariableDeclaration","scope":7872,"src":"4436:29:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4436:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7853,"nodeType":"ArrayTypeName","src":"4436:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4396:70:10"},"returnParameters":{"id":7859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7872,"src":"4514:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4514:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7857,"nodeType":"ArrayTypeName","src":"4514:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4513:18:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7895,"nodeType":"FunctionDefinition","src":"4631:238:10","nodes":[],"body":{"id":7894,"nodeType":"Block","src":"4786:83:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7884,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7874,"src":"4813:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7885,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7876,"src":"4819:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7883,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"4803:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7891,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7878,"src":"4850:12:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":7892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4803:59:10","trueExpression":{"arguments":[{"id":7888,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7874,"src":"4837:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7889,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7876,"src":"4843:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7887,"name":"readString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7612,"src":"4826:10:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":7890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:21:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7882,"id":7893,"nodeType":"Return","src":"4796:66:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringOr","nameLocation":"4640:12:10","parameters":{"id":7879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7874,"mutability":"mutable","name":"json","nameLocation":"4667:4:10","nodeType":"VariableDeclaration","scope":7895,"src":"4653:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7873,"name":"string","nodeType":"ElementaryTypeName","src":"4653:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7876,"mutability":"mutable","name":"key","nameLocation":"4687:3:10","nodeType":"VariableDeclaration","scope":7895,"src":"4673:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7875,"name":"string","nodeType":"ElementaryTypeName","src":"4673:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7878,"mutability":"mutable","name":"defaultValue","nameLocation":"4706:12:10","nodeType":"VariableDeclaration","scope":7895,"src":"4692:26:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7877,"name":"string","nodeType":"ElementaryTypeName","src":"4692:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4652:67:10"},"returnParameters":{"id":7882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7881,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7895,"src":"4767:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7880,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7920,"nodeType":"FunctionDefinition","src":"4875:252:10","nodes":[],"body":{"id":7919,"nodeType":"Block","src":"5039:88:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7909,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7897,"src":"5066:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7910,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7899,"src":"5072:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7908,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5056:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7916,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7902,"src":"5108:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":7917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5056:64:10","trueExpression":{"arguments":[{"id":7913,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7897,"src":"5095:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7914,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7899,"src":"5101:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7912,"name":"readStringArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7629,"src":"5079:15:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory[] memory)"}},"id":7915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5079:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":7907,"id":7918,"nodeType":"Return","src":"5049:71:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArrayOr","nameLocation":"4884:17:10","parameters":{"id":7903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7897,"mutability":"mutable","name":"json","nameLocation":"4916:4:10","nodeType":"VariableDeclaration","scope":7920,"src":"4902:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7896,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7899,"mutability":"mutable","name":"key","nameLocation":"4936:3:10","nodeType":"VariableDeclaration","scope":7920,"src":"4922:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7898,"name":"string","nodeType":"ElementaryTypeName","src":"4922:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7902,"mutability":"mutable","name":"defaultValue","nameLocation":"4957:12:10","nodeType":"VariableDeclaration","scope":7920,"src":"4941:28:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7900,"name":"string","nodeType":"ElementaryTypeName","src":"4941:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7901,"nodeType":"ArrayTypeName","src":"4941:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:69:10"},"returnParameters":{"id":7907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7920,"src":"5018:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7904,"name":"string","nodeType":"ElementaryTypeName","src":"5018:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7905,"nodeType":"ArrayTypeName","src":"5018:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5017:17:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7943,"nodeType":"FunctionDefinition","src":"5133:228:10","nodes":[],"body":{"id":7942,"nodeType":"Block","src":"5277:84:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7932,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7922,"src":"5304:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7933,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7924,"src":"5310:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7931,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5294:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5294:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7939,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7926,"src":"5342:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5294:60:10","trueExpression":{"arguments":[{"id":7936,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7922,"src":"5329:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7937,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7924,"src":"5335:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7935,"name":"readAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7645,"src":"5317:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":7938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5317:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7930,"id":7941,"nodeType":"Return","src":"5287:67:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressOr","nameLocation":"5142:13:10","parameters":{"id":7927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7922,"mutability":"mutable","name":"json","nameLocation":"5170:4:10","nodeType":"VariableDeclaration","scope":7943,"src":"5156:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7921,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7924,"mutability":"mutable","name":"key","nameLocation":"5190:3:10","nodeType":"VariableDeclaration","scope":7943,"src":"5176:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7923,"name":"string","nodeType":"ElementaryTypeName","src":"5176:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7926,"mutability":"mutable","name":"defaultValue","nameLocation":"5203:12:10","nodeType":"VariableDeclaration","scope":7943,"src":"5195:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7925,"name":"address","nodeType":"ElementaryTypeName","src":"5195:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5155:61:10"},"returnParameters":{"id":7930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7943,"src":"5264:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7928,"name":"address","nodeType":"ElementaryTypeName","src":"5264:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5263:9:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7968,"nodeType":"FunctionDefinition","src":"5367:256:10","nodes":[],"body":{"id":7967,"nodeType":"Block","src":"5534:89:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7957,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"5561:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7958,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"5567:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7956,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5551:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7964,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7950,"src":"5604:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5551:65:10","trueExpression":{"arguments":[{"id":7961,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"5591:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7962,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"5597:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7960,"name":"readAddressArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7662,"src":"5574:16:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":7963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":7955,"id":7966,"nodeType":"Return","src":"5544:72:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArrayOr","nameLocation":"5376:18:10","parameters":{"id":7951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7945,"mutability":"mutable","name":"json","nameLocation":"5409:4:10","nodeType":"VariableDeclaration","scope":7968,"src":"5395:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7944,"name":"string","nodeType":"ElementaryTypeName","src":"5395:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7947,"mutability":"mutable","name":"key","nameLocation":"5429:3:10","nodeType":"VariableDeclaration","scope":7968,"src":"5415:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7946,"name":"string","nodeType":"ElementaryTypeName","src":"5415:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7950,"mutability":"mutable","name":"defaultValue","nameLocation":"5451:12:10","nodeType":"VariableDeclaration","scope":7968,"src":"5434:29:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7948,"name":"address","nodeType":"ElementaryTypeName","src":"5434:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7949,"nodeType":"ArrayTypeName","src":"5434:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5394:70:10"},"returnParameters":{"id":7955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7954,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7968,"src":"5512:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7952,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7953,"nodeType":"ArrayTypeName","src":"5512:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5511:18:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7991,"nodeType":"FunctionDefinition","src":"5629:188:10","nodes":[],"body":{"id":7990,"nodeType":"Block","src":"5736:81:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7980,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7970,"src":"5763:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7981,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7972,"src":"5769:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7979,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5753:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7987,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7974,"src":"5798:12:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5753:57:10","trueExpression":{"arguments":[{"id":7984,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7970,"src":"5785:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7985,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7972,"src":"5791:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7983,"name":"readBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7678,"src":"5776:8:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":7986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5776:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7978,"id":7989,"nodeType":"Return","src":"5746:64:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolOr","nameLocation":"5638:10:10","parameters":{"id":7975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7970,"mutability":"mutable","name":"json","nameLocation":"5663:4:10","nodeType":"VariableDeclaration","scope":7991,"src":"5649:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7969,"name":"string","nodeType":"ElementaryTypeName","src":"5649:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7972,"mutability":"mutable","name":"key","nameLocation":"5683:3:10","nodeType":"VariableDeclaration","scope":7991,"src":"5669:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7971,"name":"string","nodeType":"ElementaryTypeName","src":"5669:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7974,"mutability":"mutable","name":"defaultValue","nameLocation":"5693:12:10","nodeType":"VariableDeclaration","scope":7991,"src":"5688:17:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7973,"name":"bool","nodeType":"ElementaryTypeName","src":"5688:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5648:58:10"},"returnParameters":{"id":7978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7991,"src":"5730:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7976,"name":"bool","nodeType":"ElementaryTypeName","src":"5730:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5729:6:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8016,"nodeType":"FunctionDefinition","src":"5823:244:10","nodes":[],"body":{"id":8015,"nodeType":"Block","src":"5981:86:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":8005,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7993,"src":"6008:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8006,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7995,"src":"6014:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8004,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5998:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":8007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8012,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7998,"src":"6048:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":8013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5998:62:10","trueExpression":{"arguments":[{"id":8009,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7993,"src":"6035:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8010,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7995,"src":"6041:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8008,"name":"readBoolArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7695,"src":"6021:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool[] memory)"}},"id":8011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":8003,"id":8014,"nodeType":"Return","src":"5991:69:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArrayOr","nameLocation":"5832:15:10","parameters":{"id":7999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7993,"mutability":"mutable","name":"json","nameLocation":"5862:4:10","nodeType":"VariableDeclaration","scope":8016,"src":"5848:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7992,"name":"string","nodeType":"ElementaryTypeName","src":"5848:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7995,"mutability":"mutable","name":"key","nameLocation":"5882:3:10","nodeType":"VariableDeclaration","scope":8016,"src":"5868:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7994,"name":"string","nodeType":"ElementaryTypeName","src":"5868:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7998,"mutability":"mutable","name":"defaultValue","nameLocation":"5901:12:10","nodeType":"VariableDeclaration","scope":8016,"src":"5887:26:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7996,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7997,"nodeType":"ArrayTypeName","src":"5887:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5847:67:10"},"returnParameters":{"id":8003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8016,"src":"5962:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":8000,"name":"bool","nodeType":"ElementaryTypeName","src":"5962:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8001,"nodeType":"ArrayTypeName","src":"5962:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5961:15:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8039,"nodeType":"FunctionDefinition","src":"6073:234:10","nodes":[],"body":{"id":8038,"nodeType":"Block","src":"6225:82:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":8028,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8018,"src":"6252:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8029,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8020,"src":"6258:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8027,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"6242:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":8030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8035,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8022,"src":"6288:12:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6242:58:10","trueExpression":{"arguments":[{"id":8032,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8018,"src":"6275:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8033,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8020,"src":"6281:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8031,"name":"readBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7711,"src":"6265:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory)"}},"id":8034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6265:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8026,"id":8037,"nodeType":"Return","src":"6235:65:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesOr","nameLocation":"6082:11:10","parameters":{"id":8023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8018,"mutability":"mutable","name":"json","nameLocation":"6108:4:10","nodeType":"VariableDeclaration","scope":8039,"src":"6094:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8017,"name":"string","nodeType":"ElementaryTypeName","src":"6094:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8020,"mutability":"mutable","name":"key","nameLocation":"6128:3:10","nodeType":"VariableDeclaration","scope":8039,"src":"6114:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8019,"name":"string","nodeType":"ElementaryTypeName","src":"6114:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8022,"mutability":"mutable","name":"defaultValue","nameLocation":"6146:12:10","nodeType":"VariableDeclaration","scope":8039,"src":"6133:25:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8021,"name":"bytes","nodeType":"ElementaryTypeName","src":"6133:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6093:66:10"},"returnParameters":{"id":8026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8025,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8039,"src":"6207:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8024,"name":"bytes","nodeType":"ElementaryTypeName","src":"6207:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6206:14:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8064,"nodeType":"FunctionDefinition","src":"6313:248:10","nodes":[],"body":{"id":8063,"nodeType":"Block","src":"6474:87:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":8053,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8041,"src":"6501:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8054,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6507:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8052,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"6491:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":8055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8060,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8046,"src":"6542:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":8061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6491:63:10","trueExpression":{"arguments":[{"id":8057,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8041,"src":"6529:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8058,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6535:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8056,"name":"readBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7728,"src":"6514:14:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory[] memory)"}},"id":8059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6514:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":8051,"id":8062,"nodeType":"Return","src":"6484:70:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArrayOr","nameLocation":"6322:16:10","parameters":{"id":8047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8041,"mutability":"mutable","name":"json","nameLocation":"6353:4:10","nodeType":"VariableDeclaration","scope":8064,"src":"6339:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8040,"name":"string","nodeType":"ElementaryTypeName","src":"6339:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8043,"mutability":"mutable","name":"key","nameLocation":"6373:3:10","nodeType":"VariableDeclaration","scope":8064,"src":"6359:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8042,"name":"string","nodeType":"ElementaryTypeName","src":"6359:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8046,"mutability":"mutable","name":"defaultValue","nameLocation":"6393:12:10","nodeType":"VariableDeclaration","scope":8064,"src":"6378:27:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":8044,"name":"bytes","nodeType":"ElementaryTypeName","src":"6378:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":8045,"nodeType":"ArrayTypeName","src":"6378:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6338:68:10"},"returnParameters":{"id":8051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8050,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8064,"src":"6454:14:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":8048,"name":"bytes","nodeType":"ElementaryTypeName","src":"6454:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":8049,"nodeType":"ArrayTypeName","src":"6454:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6453:16:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8080,"nodeType":"FunctionDefinition","src":"6567:162:10","nodes":[],"body":{"id":8079,"nodeType":"Block","src":"6668:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8075,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8066,"src":"6702:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8076,"name":"rootObject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8068,"src":"6711:10:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8073,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"6685:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6688:13:10","memberName":"serializeJson","nodeType":"MemberAccess","referencedDeclaration":15363,"src":"6685:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":8077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8072,"id":8078,"nodeType":"Return","src":"6678:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6576:9:10","parameters":{"id":8069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8066,"mutability":"mutable","name":"jsonKey","nameLocation":"6600:7:10","nodeType":"VariableDeclaration","scope":8080,"src":"6586:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8065,"name":"string","nodeType":"ElementaryTypeName","src":"6586:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8068,"mutability":"mutable","name":"rootObject","nameLocation":"6623:10:10","nodeType":"VariableDeclaration","scope":8080,"src":"6609:24:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8067,"name":"string","nodeType":"ElementaryTypeName","src":"6609:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6585:49:10"},"returnParameters":{"id":8072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8080,"src":"6653:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8070,"name":"string","nodeType":"ElementaryTypeName","src":"6653:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6652:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8099,"nodeType":"FunctionDefinition","src":"6735:167:10","nodes":[],"body":{"id":8098,"nodeType":"Block","src":"6841:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8093,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8082,"src":"6875:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8094,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8084,"src":"6884:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8095,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8086,"src":"6889:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8091,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"6858:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6861:13:10","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":15265,"src":"6858:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) external returns (string memory)"}},"id":8096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6858:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8090,"id":8097,"nodeType":"Return","src":"6851:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6744:9:10","parameters":{"id":8087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8082,"mutability":"mutable","name":"jsonKey","nameLocation":"6768:7:10","nodeType":"VariableDeclaration","scope":8099,"src":"6754:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8081,"name":"string","nodeType":"ElementaryTypeName","src":"6754:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8084,"mutability":"mutable","name":"key","nameLocation":"6791:3:10","nodeType":"VariableDeclaration","scope":8099,"src":"6777:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8083,"name":"string","nodeType":"ElementaryTypeName","src":"6777:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8086,"mutability":"mutable","name":"value","nameLocation":"6801:5:10","nodeType":"VariableDeclaration","scope":8099,"src":"6796:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8085,"name":"bool","nodeType":"ElementaryTypeName","src":"6796:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6753:54:10"},"returnParameters":{"id":8090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8099,"src":"6826:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8088,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6825:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8119,"nodeType":"FunctionDefinition","src":"6908:196:10","nodes":[],"body":{"id":8118,"nodeType":"Block","src":"7043:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8113,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8101,"src":"7077:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8114,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8103,"src":"7086:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8115,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8106,"src":"7091:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":8111,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7060:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7063:13:10","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":15278,"src":"7060:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool[] memory) external returns (string memory)"}},"id":8116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7060:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8110,"id":8117,"nodeType":"Return","src":"7053:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6917:9:10","parameters":{"id":8107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8101,"mutability":"mutable","name":"jsonKey","nameLocation":"6941:7:10","nodeType":"VariableDeclaration","scope":8119,"src":"6927:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8100,"name":"string","nodeType":"ElementaryTypeName","src":"6927:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8103,"mutability":"mutable","name":"key","nameLocation":"6964:3:10","nodeType":"VariableDeclaration","scope":8119,"src":"6950:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8102,"name":"string","nodeType":"ElementaryTypeName","src":"6950:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8106,"mutability":"mutable","name":"value","nameLocation":"6983:5:10","nodeType":"VariableDeclaration","scope":8119,"src":"6969:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":8104,"name":"bool","nodeType":"ElementaryTypeName","src":"6969:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8105,"nodeType":"ArrayTypeName","src":"6969:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"6926:63:10"},"returnParameters":{"id":8110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8119,"src":"7024:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8108,"name":"string","nodeType":"ElementaryTypeName","src":"7024:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7023:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8138,"nodeType":"FunctionDefinition","src":"7110:170:10","nodes":[],"body":{"id":8137,"nodeType":"Block","src":"7219:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8132,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8121,"src":"7253:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8133,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8123,"src":"7262:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8134,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8125,"src":"7267:5:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8130,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7236:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7239:13:10","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":15436,"src":"7236:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256) external returns (string memory)"}},"id":8135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7236:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8129,"id":8136,"nodeType":"Return","src":"7229:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7119:9:10","parameters":{"id":8126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8121,"mutability":"mutable","name":"jsonKey","nameLocation":"7143:7:10","nodeType":"VariableDeclaration","scope":8138,"src":"7129:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8120,"name":"string","nodeType":"ElementaryTypeName","src":"7129:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8123,"mutability":"mutable","name":"key","nameLocation":"7166:3:10","nodeType":"VariableDeclaration","scope":8138,"src":"7152:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8122,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8125,"mutability":"mutable","name":"value","nameLocation":"7179:5:10","nodeType":"VariableDeclaration","scope":8138,"src":"7171:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8124,"name":"uint256","nodeType":"ElementaryTypeName","src":"7171:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7128:57:10"},"returnParameters":{"id":8129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8138,"src":"7204:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8127,"name":"string","nodeType":"ElementaryTypeName","src":"7204:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7203:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8158,"nodeType":"FunctionDefinition","src":"7286:199:10","nodes":[],"body":{"id":8157,"nodeType":"Block","src":"7424:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8152,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8140,"src":"7458:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8153,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8142,"src":"7467:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8154,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8145,"src":"7472:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":8150,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7441:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:13:10","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":15449,"src":"7441:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256[] memory) external returns (string memory)"}},"id":8155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8149,"id":8156,"nodeType":"Return","src":"7434:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7295:9:10","parameters":{"id":8146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8140,"mutability":"mutable","name":"jsonKey","nameLocation":"7319:7:10","nodeType":"VariableDeclaration","scope":8158,"src":"7305:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8139,"name":"string","nodeType":"ElementaryTypeName","src":"7305:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8142,"mutability":"mutable","name":"key","nameLocation":"7342:3:10","nodeType":"VariableDeclaration","scope":8158,"src":"7328:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8141,"name":"string","nodeType":"ElementaryTypeName","src":"7328:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8145,"mutability":"mutable","name":"value","nameLocation":"7364:5:10","nodeType":"VariableDeclaration","scope":8158,"src":"7347:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":8143,"name":"uint256","nodeType":"ElementaryTypeName","src":"7347:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8144,"nodeType":"ArrayTypeName","src":"7347:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7304:66:10"},"returnParameters":{"id":8149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8148,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8158,"src":"7405:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8147,"name":"string","nodeType":"ElementaryTypeName","src":"7405:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7404:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8177,"nodeType":"FunctionDefinition","src":"7491:168:10","nodes":[],"body":{"id":8176,"nodeType":"Block","src":"7599:60:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8171,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8160,"src":"7632:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8172,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8162,"src":"7641:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8173,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8164,"src":"7646:5:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":8169,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7616:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7619:12:10","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":15340,"src":"7616:15:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256) external returns (string memory)"}},"id":8174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8168,"id":8175,"nodeType":"Return","src":"7609:43:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7500:9:10","parameters":{"id":8165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8160,"mutability":"mutable","name":"jsonKey","nameLocation":"7524:7:10","nodeType":"VariableDeclaration","scope":8177,"src":"7510:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8159,"name":"string","nodeType":"ElementaryTypeName","src":"7510:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8162,"mutability":"mutable","name":"key","nameLocation":"7547:3:10","nodeType":"VariableDeclaration","scope":8177,"src":"7533:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8161,"name":"string","nodeType":"ElementaryTypeName","src":"7533:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8164,"mutability":"mutable","name":"value","nameLocation":"7559:5:10","nodeType":"VariableDeclaration","scope":8177,"src":"7552:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8163,"name":"int256","nodeType":"ElementaryTypeName","src":"7552:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7509:56:10"},"returnParameters":{"id":8168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8167,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8177,"src":"7584:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8166,"name":"string","nodeType":"ElementaryTypeName","src":"7584:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7583:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8197,"nodeType":"FunctionDefinition","src":"7665:197:10","nodes":[],"body":{"id":8196,"nodeType":"Block","src":"7802:60:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8191,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8179,"src":"7835:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8192,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8181,"src":"7844:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8193,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8184,"src":"7849:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":8189,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7819:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7822:12:10","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":15353,"src":"7819:15:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256[] memory) external returns (string memory)"}},"id":8194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7819:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8188,"id":8195,"nodeType":"Return","src":"7812:43:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7674:9:10","parameters":{"id":8185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8179,"mutability":"mutable","name":"jsonKey","nameLocation":"7698:7:10","nodeType":"VariableDeclaration","scope":8197,"src":"7684:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8178,"name":"string","nodeType":"ElementaryTypeName","src":"7684:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8181,"mutability":"mutable","name":"key","nameLocation":"7721:3:10","nodeType":"VariableDeclaration","scope":8197,"src":"7707:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8180,"name":"string","nodeType":"ElementaryTypeName","src":"7707:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8184,"mutability":"mutable","name":"value","nameLocation":"7742:5:10","nodeType":"VariableDeclaration","scope":8197,"src":"7726:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":8182,"name":"int256","nodeType":"ElementaryTypeName","src":"7726:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":8183,"nodeType":"ArrayTypeName","src":"7726:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"7683:65:10"},"returnParameters":{"id":8188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8197,"src":"7783:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8186,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7782:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8216,"nodeType":"FunctionDefinition","src":"7868:173:10","nodes":[],"body":{"id":8215,"nodeType":"Block","src":"7977:64:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8210,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8199,"src":"8014:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8211,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8201,"src":"8023:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8212,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8203,"src":"8028:5:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8208,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7994:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7997:16:10","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":15240,"src":"7994:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address) external returns (string memory)"}},"id":8213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7994:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8207,"id":8214,"nodeType":"Return","src":"7987:47:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7877:9:10","parameters":{"id":8204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8199,"mutability":"mutable","name":"jsonKey","nameLocation":"7901:7:10","nodeType":"VariableDeclaration","scope":8216,"src":"7887:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8198,"name":"string","nodeType":"ElementaryTypeName","src":"7887:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8201,"mutability":"mutable","name":"key","nameLocation":"7924:3:10","nodeType":"VariableDeclaration","scope":8216,"src":"7910:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8200,"name":"string","nodeType":"ElementaryTypeName","src":"7910:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8203,"mutability":"mutable","name":"value","nameLocation":"7937:5:10","nodeType":"VariableDeclaration","scope":8216,"src":"7929:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8202,"name":"address","nodeType":"ElementaryTypeName","src":"7929:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7886:57:10"},"returnParameters":{"id":8207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8216,"src":"7962:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8205,"name":"string","nodeType":"ElementaryTypeName","src":"7962:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7961:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8236,"nodeType":"FunctionDefinition","src":"8047:202:10","nodes":[],"body":{"id":8235,"nodeType":"Block","src":"8185:64:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8230,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8218,"src":"8222:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8231,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8220,"src":"8231:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8232,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8223,"src":"8236:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":8228,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8202:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8205:16:10","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":15253,"src":"8202:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address[] memory) external returns (string memory)"}},"id":8233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8227,"id":8234,"nodeType":"Return","src":"8195:47:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8056:9:10","parameters":{"id":8224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8218,"mutability":"mutable","name":"jsonKey","nameLocation":"8080:7:10","nodeType":"VariableDeclaration","scope":8236,"src":"8066:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8217,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8220,"mutability":"mutable","name":"key","nameLocation":"8103:3:10","nodeType":"VariableDeclaration","scope":8236,"src":"8089:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8219,"name":"string","nodeType":"ElementaryTypeName","src":"8089:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8223,"mutability":"mutable","name":"value","nameLocation":"8125:5:10","nodeType":"VariableDeclaration","scope":8236,"src":"8108:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":8221,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8222,"nodeType":"ArrayTypeName","src":"8108:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8065:66:10"},"returnParameters":{"id":8227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8236,"src":"8166:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8225,"name":"string","nodeType":"ElementaryTypeName","src":"8166:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8165:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8255,"nodeType":"FunctionDefinition","src":"8255:173:10","nodes":[],"body":{"id":8254,"nodeType":"Block","src":"8364:64:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8249,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8238,"src":"8401:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8250,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8240,"src":"8410:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8251,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8242,"src":"8415:5:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8247,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8381:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8384:16:10","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":15290,"src":"8381:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32) external returns (string memory)"}},"id":8252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8381:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8246,"id":8253,"nodeType":"Return","src":"8374:47:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8264:9:10","parameters":{"id":8243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8238,"mutability":"mutable","name":"jsonKey","nameLocation":"8288:7:10","nodeType":"VariableDeclaration","scope":8255,"src":"8274:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8237,"name":"string","nodeType":"ElementaryTypeName","src":"8274:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8240,"mutability":"mutable","name":"key","nameLocation":"8311:3:10","nodeType":"VariableDeclaration","scope":8255,"src":"8297:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8239,"name":"string","nodeType":"ElementaryTypeName","src":"8297:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8242,"mutability":"mutable","name":"value","nameLocation":"8324:5:10","nodeType":"VariableDeclaration","scope":8255,"src":"8316:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8273:57:10"},"returnParameters":{"id":8246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8255,"src":"8349:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8244,"name":"string","nodeType":"ElementaryTypeName","src":"8349:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8348:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8275,"nodeType":"FunctionDefinition","src":"8434:202:10","nodes":[],"body":{"id":8274,"nodeType":"Block","src":"8572:64:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8269,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8257,"src":"8609:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8270,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8259,"src":"8618:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8271,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8262,"src":"8623:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":8267,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8589:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8592:16:10","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":15303,"src":"8589:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32[] memory) external returns (string memory)"}},"id":8272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8589:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8266,"id":8273,"nodeType":"Return","src":"8582:47:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8443:9:10","parameters":{"id":8263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8257,"mutability":"mutable","name":"jsonKey","nameLocation":"8467:7:10","nodeType":"VariableDeclaration","scope":8275,"src":"8453:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8256,"name":"string","nodeType":"ElementaryTypeName","src":"8453:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8259,"mutability":"mutable","name":"key","nameLocation":"8490:3:10","nodeType":"VariableDeclaration","scope":8275,"src":"8476:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8258,"name":"string","nodeType":"ElementaryTypeName","src":"8476:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8262,"mutability":"mutable","name":"value","nameLocation":"8512:5:10","nodeType":"VariableDeclaration","scope":8275,"src":"8495:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8495:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8261,"nodeType":"ArrayTypeName","src":"8495:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8452:66:10"},"returnParameters":{"id":8266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8275,"src":"8553:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8264,"name":"string","nodeType":"ElementaryTypeName","src":"8553:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8552:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8294,"nodeType":"FunctionDefinition","src":"8642:176:10","nodes":[],"body":{"id":8293,"nodeType":"Block","src":"8756:62:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8288,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8277,"src":"8791:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8289,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8279,"src":"8800:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8290,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8281,"src":"8805:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8773:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8776:14:10","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":15315,"src":"8773:17:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory) external returns (string memory)"}},"id":8291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8773:38:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8285,"id":8292,"nodeType":"Return","src":"8766:45:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8651:9:10","parameters":{"id":8282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8277,"mutability":"mutable","name":"jsonKey","nameLocation":"8675:7:10","nodeType":"VariableDeclaration","scope":8294,"src":"8661:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8276,"name":"string","nodeType":"ElementaryTypeName","src":"8661:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8279,"mutability":"mutable","name":"key","nameLocation":"8698:3:10","nodeType":"VariableDeclaration","scope":8294,"src":"8684:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8278,"name":"string","nodeType":"ElementaryTypeName","src":"8684:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8281,"mutability":"mutable","name":"value","nameLocation":"8716:5:10","nodeType":"VariableDeclaration","scope":8294,"src":"8703:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8280,"name":"bytes","nodeType":"ElementaryTypeName","src":"8703:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8660:62:10"},"returnParameters":{"id":8285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8294,"src":"8741:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8283,"name":"string","nodeType":"ElementaryTypeName","src":"8741:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8740:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8314,"nodeType":"FunctionDefinition","src":"8824:198:10","nodes":[],"body":{"id":8313,"nodeType":"Block","src":"8960:62:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8308,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8296,"src":"8995:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8309,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8298,"src":"9004:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8310,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8301,"src":"9009:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":8306,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8977:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:14:10","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":15328,"src":"8977:17:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory[] memory) external returns (string memory)"}},"id":8311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:38:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8305,"id":8312,"nodeType":"Return","src":"8970:45:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8833:9:10","parameters":{"id":8302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8296,"mutability":"mutable","name":"jsonKey","nameLocation":"8857:7:10","nodeType":"VariableDeclaration","scope":8314,"src":"8843:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8295,"name":"string","nodeType":"ElementaryTypeName","src":"8843:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8298,"mutability":"mutable","name":"key","nameLocation":"8880:3:10","nodeType":"VariableDeclaration","scope":8314,"src":"8866:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8297,"name":"string","nodeType":"ElementaryTypeName","src":"8866:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8301,"mutability":"mutable","name":"value","nameLocation":"8900:5:10","nodeType":"VariableDeclaration","scope":8314,"src":"8885:20:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":8299,"name":"bytes","nodeType":"ElementaryTypeName","src":"8885:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":8300,"nodeType":"ArrayTypeName","src":"8885:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"8842:64:10"},"returnParameters":{"id":8305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8304,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8314,"src":"8941:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8303,"name":"string","nodeType":"ElementaryTypeName","src":"8941:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8940:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8333,"nodeType":"FunctionDefinition","src":"9028:198:10","nodes":[],"body":{"id":8332,"nodeType":"Block","src":"9163:63:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8327,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8316,"src":"9199:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8328,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8318,"src":"9208:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8329,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8320,"src":"9213:5:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8325,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9180:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9183:15:10","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":15399,"src":"9180:18:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) external returns (string memory)"}},"id":8330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9180:39:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8324,"id":8331,"nodeType":"Return","src":"9173:46:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9037:9:10","parameters":{"id":8321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8316,"mutability":"mutable","name":"jsonKey","nameLocation":"9061:7:10","nodeType":"VariableDeclaration","scope":8333,"src":"9047:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8315,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8318,"mutability":"mutable","name":"key","nameLocation":"9084:3:10","nodeType":"VariableDeclaration","scope":8333,"src":"9070:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8317,"name":"string","nodeType":"ElementaryTypeName","src":"9070:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8320,"mutability":"mutable","name":"value","nameLocation":"9103:5:10","nodeType":"VariableDeclaration","scope":8333,"src":"9089:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8319,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9046:63:10"},"returnParameters":{"id":8324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8333,"src":"9144:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8322,"name":"string","nodeType":"ElementaryTypeName","src":"9144:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9143:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8353,"nodeType":"FunctionDefinition","src":"9232:200:10","nodes":[],"body":{"id":8352,"nodeType":"Block","src":"9369:63:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8347,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8335,"src":"9405:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8348,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8337,"src":"9414:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8349,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8340,"src":"9419:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":8345,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9386:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9389:15:10","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":15412,"src":"9386:18:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory[] memory) external returns (string memory)"}},"id":8350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:39:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8344,"id":8351,"nodeType":"Return","src":"9379:46:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9241:9:10","parameters":{"id":8341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8335,"mutability":"mutable","name":"jsonKey","nameLocation":"9265:7:10","nodeType":"VariableDeclaration","scope":8353,"src":"9251:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8334,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8337,"mutability":"mutable","name":"key","nameLocation":"9288:3:10","nodeType":"VariableDeclaration","scope":8353,"src":"9274:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8336,"name":"string","nodeType":"ElementaryTypeName","src":"9274:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8340,"mutability":"mutable","name":"value","nameLocation":"9309:5:10","nodeType":"VariableDeclaration","scope":8353,"src":"9293:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":8338,"name":"string","nodeType":"ElementaryTypeName","src":"9293:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":8339,"nodeType":"ArrayTypeName","src":"9293:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"9250:65:10"},"returnParameters":{"id":8344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8353,"src":"9350:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8342,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8368,"nodeType":"FunctionDefinition","src":"9438:111:10","nodes":[],"body":{"id":8367,"nodeType":"Block","src":"9505:44:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8363,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8355,"src":"9528:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8364,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8357,"src":"9537:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8360,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9515:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9518:9:10","memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":15457,"src":"9515:12:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":8365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9515:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8366,"nodeType":"ExpressionStatement","src":"9515:27:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9447:5:10","parameters":{"id":8358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8355,"mutability":"mutable","name":"jsonKey","nameLocation":"9467:7:10","nodeType":"VariableDeclaration","scope":8368,"src":"9453:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8354,"name":"string","nodeType":"ElementaryTypeName","src":"9453:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8357,"mutability":"mutable","name":"path","nameLocation":"9490:4:10","nodeType":"VariableDeclaration","scope":8368,"src":"9476:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8356,"name":"string","nodeType":"ElementaryTypeName","src":"9476:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9452:43:10"},"returnParameters":{"id":8359,"nodeType":"ParameterList","parameters":[],"src":"9505:0:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8386,"nodeType":"FunctionDefinition","src":"9555:145:10","nodes":[],"body":{"id":8385,"nodeType":"Block","src":"9646:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8380,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8370,"src":"9669:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8381,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8372,"src":"9678:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8382,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8374,"src":"9684:8:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9656:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9659:9:10","memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":15467,"src":"9656:12:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) external"}},"id":8383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9656:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8384,"nodeType":"ExpressionStatement","src":"9656:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9564:5:10","parameters":{"id":8375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8370,"mutability":"mutable","name":"jsonKey","nameLocation":"9584:7:10","nodeType":"VariableDeclaration","scope":8386,"src":"9570:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8369,"name":"string","nodeType":"ElementaryTypeName","src":"9570:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8372,"mutability":"mutable","name":"path","nameLocation":"9607:4:10","nodeType":"VariableDeclaration","scope":8386,"src":"9593:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8371,"name":"string","nodeType":"ElementaryTypeName","src":"9593:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8374,"mutability":"mutable","name":"valueKey","nameLocation":"9627:8:10","nodeType":"VariableDeclaration","scope":8386,"src":"9613:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8373,"name":"string","nodeType":"ElementaryTypeName","src":"9613:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9569:67:10"},"returnParameters":{"id":8376,"nodeType":"ParameterList","parameters":[],"src":"9646:0:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdJson","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[8387],"name":"stdJson","nameLocation":"618:7:10","scope":8388,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdMath.sol":{"id":11,"ast":{"absolutePath":"lib/forge-std/src/StdMath.sol","id":8544,"exportedSymbols":{"stdMath":[8543]},"nodeType":"SourceUnit","src":"32:1567:11","nodes":[{"id":8389,"nodeType":"PragmaDirective","src":"32:31:11","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":8543,"nodeType":"ContractDefinition","src":"65:1533:11","nodes":[{"id":8393,"nodeType":"VariableDeclaration","src":"87:115:11","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN","nameLocation":"111:10:11","scope":8543,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8390,"name":"int256","nodeType":"ElementaryTypeName","src":"87:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"id":8392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"124:78:11","subExpression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":8391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125:77:11","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const -578...(70 digits omitted)...9968"}},"visibility":"private"},{"id":8419,"nodeType":"FunctionDefinition","src":"209:306:11","nodes":[],"body":{"id":8418,"nodeType":"Block","src":"264:251:11","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8400,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8395,"src":"342:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":8401,"name":"INT256_MIN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8393,"src":"347:10:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"342:15:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8406,"nodeType":"IfStatement","src":"338:130:11","trueBody":{"id":8405,"nodeType":"Block","src":"359:109:11","statements":[{"expression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":8403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"380:77:11","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"functionReturnParameters":8399,"id":8404,"nodeType":"Return","src":"373:84:11"}]}},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8409,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8395,"src":"493:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":8410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"497:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"493:5:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"505:2:11","subExpression":{"id":8413,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8395,"src":"506:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":8415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"493:14:11","trueExpression":{"id":8412,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8395,"src":"501:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8407,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:11","typeDescriptions":{}}},"id":8416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8399,"id":8417,"nodeType":"Return","src":"478:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"218:3:11","parameters":{"id":8396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8395,"mutability":"mutable","name":"a","nameLocation":"229:1:11","nodeType":"VariableDeclaration","scope":8419,"src":"222:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8394,"name":"int256","nodeType":"ElementaryTypeName","src":"222:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"221:10:11"},"returnParameters":{"id":8399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8419,"src":"255:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8397,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"254:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8440,"nodeType":"FunctionDefinition","src":"521:114:11","nodes":[],"body":{"id":8439,"nodeType":"Block","src":"590:45:11","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8428,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8421,"src":"607:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":8429,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8423,"src":"611:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"607:5:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8434,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8423,"src":"623:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":8435,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8421,"src":"627:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"623:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"607:21:11","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8431,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8421,"src":"615:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":8432,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8423,"src":"619:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"615:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8427,"id":8438,"nodeType":"Return","src":"600:28:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"530:5:11","parameters":{"id":8424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8421,"mutability":"mutable","name":"a","nameLocation":"544:1:11","nodeType":"VariableDeclaration","scope":8440,"src":"536:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8420,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8423,"mutability":"mutable","name":"b","nameLocation":"555:1:11","nodeType":"VariableDeclaration","scope":8440,"src":"547:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8422,"name":"uint256","nodeType":"ElementaryTypeName","src":"547:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"535:22:11"},"returnParameters":{"id":8427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8440,"src":"581:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8425,"name":"uint256","nodeType":"ElementaryTypeName","src":"581:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8476,"nodeType":"FunctionDefinition","src":"641:352:11","nodes":[],"body":{"id":8475,"nodeType":"Block","src":"708:285:11","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8449,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8442,"src":"847:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":8450,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8444,"src":"851:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"847:5:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8452,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"846:7:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":8454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"856:2:11","subExpression":{"hexValue":"31","id":8453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"857:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"src":"846:12:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8466,"nodeType":"IfStatement","src":"842:71:11","trueBody":{"id":8465,"nodeType":"Block","src":"860:53:11","statements":[{"expression":{"arguments":[{"arguments":[{"id":8458,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8442,"src":"891:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8457,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"887:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":8461,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8444,"src":"899:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8460,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"895:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"895:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8456,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[8440,8476],"referencedDeclaration":8440,"src":"881:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":8463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:21:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8448,"id":8464,"nodeType":"Return","src":"874:28:11"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":8468,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8442,"src":"975:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8467,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"971:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"971:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":8471,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8444,"src":"984:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8470,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"980:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"980:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"971:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8448,"id":8474,"nodeType":"Return","src":"964:22:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"650:5:11","parameters":{"id":8445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8442,"mutability":"mutable","name":"a","nameLocation":"663:1:11","nodeType":"VariableDeclaration","scope":8476,"src":"656:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8441,"name":"int256","nodeType":"ElementaryTypeName","src":"656:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8444,"mutability":"mutable","name":"b","nameLocation":"673:1:11","nodeType":"VariableDeclaration","scope":8476,"src":"666:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8443,"name":"int256","nodeType":"ElementaryTypeName","src":"666:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"655:20:11"},"returnParameters":{"id":8448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8476,"src":"699:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8446,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8506,"nodeType":"FunctionDefinition","src":"999:279:11","nodes":[],"body":{"id":8505,"nodeType":"Block","src":"1075:203:11","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8486,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8480,"src":"1129:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1134:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1129:6:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7374644d6174682070657263656e7444656c74612875696e743235362c75696e74323536293a2044697669736f72206973207a65726f","id":8489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1137:56:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3cfa9dfe7939c429b009573d5efd85227e70ffa62529c58bbeb5e316af00f07","typeString":"literal_string \"stdMath percentDelta(uint256,uint256): Divisor is zero\""},"value":"stdMath percentDelta(uint256,uint256): Divisor is zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3cfa9dfe7939c429b009573d5efd85227e70ffa62529c58bbeb5e316af00f07","typeString":"literal_string \"stdMath percentDelta(uint256,uint256): Divisor is zero\""}],"id":8485,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1121:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1121:73:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8491,"nodeType":"ExpressionStatement","src":"1121:73:11"},{"assignments":[8493],"declarations":[{"constant":false,"id":8493,"mutability":"mutable","name":"absDelta","nameLocation":"1212:8:11","nodeType":"VariableDeclaration","scope":8505,"src":"1204:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8492,"name":"uint256","nodeType":"ElementaryTypeName","src":"1204:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8498,"initialValue":{"arguments":[{"id":8495,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8478,"src":"1229:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8496,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8480,"src":"1232:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8494,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[8440,8476],"referencedDeclaration":8440,"src":"1223:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":8497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1223:11:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1204:30:11"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8499,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8493,"src":"1252:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":8500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1263:4:11","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1252:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":8502,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8480,"src":"1270:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1252:19:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8484,"id":8504,"nodeType":"Return","src":"1245:26:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1008:12:11","parameters":{"id":8481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8478,"mutability":"mutable","name":"a","nameLocation":"1029:1:11","nodeType":"VariableDeclaration","scope":8506,"src":"1021:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8477,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8480,"mutability":"mutable","name":"b","nameLocation":"1040:1:11","nodeType":"VariableDeclaration","scope":8506,"src":"1032:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8479,"name":"uint256","nodeType":"ElementaryTypeName","src":"1032:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:22:11"},"returnParameters":{"id":8484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8506,"src":"1066:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8482,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8542,"nodeType":"FunctionDefinition","src":"1284:312:11","nodes":[],"body":{"id":8541,"nodeType":"Block","src":"1358:238:11","nodes":[],"statements":[{"assignments":[8516],"declarations":[{"constant":false,"id":8516,"mutability":"mutable","name":"absDelta","nameLocation":"1376:8:11","nodeType":"VariableDeclaration","scope":8541,"src":"1368:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8515,"name":"uint256","nodeType":"ElementaryTypeName","src":"1368:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8521,"initialValue":{"arguments":[{"id":8518,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8508,"src":"1393:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8519,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8510,"src":"1396:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8517,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[8440,8476],"referencedDeclaration":8476,"src":"1387:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":8520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1387:11:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1368:30:11"},{"assignments":[8523],"declarations":[{"constant":false,"id":8523,"mutability":"mutable","name":"absB","nameLocation":"1416:4:11","nodeType":"VariableDeclaration","scope":8541,"src":"1408:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8522,"name":"uint256","nodeType":"ElementaryTypeName","src":"1408:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8527,"initialValue":{"arguments":[{"id":8525,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8510,"src":"1427:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8524,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"1423:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1423:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1408:21:11"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8529,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8523,"src":"1483:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1491:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1483:9:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7374644d6174682070657263656e7444656c746128696e743235362c696e74323536293a2044697669736f72206973207a65726f","id":8532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1494:54:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_870ddc4158d2c8f7321f577c47c801a13cf4c2ce0749fd81171066ace516e540","typeString":"literal_string \"stdMath percentDelta(int256,int256): Divisor is zero\""},"value":"stdMath percentDelta(int256,int256): Divisor is zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_870ddc4158d2c8f7321f577c47c801a13cf4c2ce0749fd81171066ace516e540","typeString":"literal_string \"stdMath percentDelta(int256,int256): Divisor is zero\""}],"id":8528,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1475:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1475:74:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8534,"nodeType":"ExpressionStatement","src":"1475:74:11"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8535,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8516,"src":"1567:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":8536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1578:4:11","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1567:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":8538,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8523,"src":"1585:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1567:22:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8514,"id":8540,"nodeType":"Return","src":"1560:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1293:12:11","parameters":{"id":8511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8508,"mutability":"mutable","name":"a","nameLocation":"1313:1:11","nodeType":"VariableDeclaration","scope":8542,"src":"1306:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8507,"name":"int256","nodeType":"ElementaryTypeName","src":"1306:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8510,"mutability":"mutable","name":"b","nameLocation":"1323:1:11","nodeType":"VariableDeclaration","scope":8542,"src":"1316:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8509,"name":"int256","nodeType":"ElementaryTypeName","src":"1316:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1305:20:11"},"returnParameters":{"id":8514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8542,"src":"1349:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8512,"name":"uint256","nodeType":"ElementaryTypeName","src":"1349:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1348:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdMath","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[8543],"name":"stdMath","nameLocation":"73:7:11","scope":8544,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdStorage.sol":{"id":12,"ast":{"absolutePath":"lib/forge-std/src/StdStorage.sol","id":10539,"exportedSymbols":{"FindData":[8556],"StdStorage":[8581],"Vm":[18679],"stdStorage":[10538],"stdStorageSafe":[9933]},"nodeType":"SourceUnit","src":"32:17805:12","nodes":[{"id":8545,"nodeType":"PragmaDirective","src":"32:31:12","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":8547,"nodeType":"ImportDirective","src":"65:28:12","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":10539,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":8546,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"73:2:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":8556,"nodeType":"StructDefinition","src":"95:102:12","nodes":[],"canonicalName":"FindData","members":[{"constant":false,"id":8549,"mutability":"mutable","name":"slot","nameLocation":"125:4:12","nodeType":"VariableDeclaration","scope":8556,"src":"117:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8548,"name":"uint256","nodeType":"ElementaryTypeName","src":"117:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8551,"mutability":"mutable","name":"offsetLeft","nameLocation":"143:10:12","nodeType":"VariableDeclaration","scope":8556,"src":"135:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8550,"name":"uint256","nodeType":"ElementaryTypeName","src":"135:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8553,"mutability":"mutable","name":"offsetRight","nameLocation":"167:11:12","nodeType":"VariableDeclaration","scope":8556,"src":"159:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8552,"name":"uint256","nodeType":"ElementaryTypeName","src":"159:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8555,"mutability":"mutable","name":"found","nameLocation":"189:5:12","nodeType":"VariableDeclaration","scope":8556,"src":"184:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8554,"name":"bool","nodeType":"ElementaryTypeName","src":"184:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"FindData","nameLocation":"102:8:12","scope":10539,"visibility":"public"},{"id":8581,"nodeType":"StructDefinition","src":"199:249:12","nodes":[],"canonicalName":"StdStorage","members":[{"constant":false,"id":8565,"mutability":"mutable","name":"finds","nameLocation":"291:5:12","nodeType":"VariableDeclaration","scope":8581,"src":"223:73:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"typeName":{"id":8564,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8557,"name":"address","nodeType":"ElementaryTypeName","src":"231:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"223:67:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8563,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8558,"name":"bytes4","nodeType":"ElementaryTypeName","src":"250:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"242:47:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8562,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"260:28:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8561,"nodeType":"UserDefinedTypeName","pathNode":{"id":8560,"name":"FindData","nameLocations":["279:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"279:8:12"},"referencedDeclaration":8556,"src":"279:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}}}}},"visibility":"internal"},{"constant":false,"id":8568,"mutability":"mutable","name":"_keys","nameLocation":"312:5:12","nodeType":"VariableDeclaration","scope":8581,"src":"302:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8567,"nodeType":"ArrayTypeName","src":"302:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":8570,"mutability":"mutable","name":"_sig","nameLocation":"330:4:12","nodeType":"VariableDeclaration","scope":8581,"src":"323:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8569,"name":"bytes4","nodeType":"ElementaryTypeName","src":"323:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":8572,"mutability":"mutable","name":"_depth","nameLocation":"348:6:12","nodeType":"VariableDeclaration","scope":8581,"src":"340:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8571,"name":"uint256","nodeType":"ElementaryTypeName","src":"340:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8574,"mutability":"mutable","name":"_target","nameLocation":"368:7:12","nodeType":"VariableDeclaration","scope":8581,"src":"360:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8573,"name":"address","nodeType":"ElementaryTypeName","src":"360:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8576,"mutability":"mutable","name":"_set","nameLocation":"389:4:12","nodeType":"VariableDeclaration","scope":8581,"src":"381:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8578,"mutability":"mutable","name":"_enable_packed_slots","nameLocation":"404:20:12","nodeType":"VariableDeclaration","scope":8581,"src":"399:25:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8577,"name":"bool","nodeType":"ElementaryTypeName","src":"399:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8580,"mutability":"mutable","name":"_calldata","nameLocation":"436:9:12","nodeType":"VariableDeclaration","scope":8581,"src":"430:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":8579,"name":"bytes","nodeType":"ElementaryTypeName","src":"430:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"StdStorage","nameLocation":"206:10:12","scope":10539,"visibility":"public"},{"id":9933,"nodeType":"ContractDefinition","src":"450:12303:12","nodes":[{"id":8591,"nodeType":"EventDefinition","src":"479:74:12","nodes":[],"anonymous":false,"eventSelector":"9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed","name":"SlotFound","nameLocation":"485:9:12","parameters":{"id":8590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8583,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"503:3:12","nodeType":"VariableDeclaration","scope":8591,"src":"495:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8582,"name":"address","nodeType":"ElementaryTypeName","src":"495:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8585,"indexed":false,"mutability":"mutable","name":"fsig","nameLocation":"515:4:12","nodeType":"VariableDeclaration","scope":8591,"src":"508:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8584,"name":"bytes4","nodeType":"ElementaryTypeName","src":"508:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":8587,"indexed":false,"mutability":"mutable","name":"keysHash","nameLocation":"529:8:12","nodeType":"VariableDeclaration","scope":8591,"src":"521:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"521:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8589,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"547:4:12","nodeType":"VariableDeclaration","scope":8591,"src":"539:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8588,"name":"uint256","nodeType":"ElementaryTypeName","src":"539:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"494:58:12"}},{"id":8597,"nodeType":"EventDefinition","src":"558:54:12","nodes":[],"anonymous":false,"eventSelector":"080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5","name":"WARNING_UninitedSlot","nameLocation":"564:20:12","parameters":{"id":8596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8593,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"593:3:12","nodeType":"VariableDeclaration","scope":8597,"src":"585:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8592,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8595,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"606:4:12","nodeType":"VariableDeclaration","scope":8597,"src":"598:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8594,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"584:27:12"}},{"id":8614,"nodeType":"VariableDeclaration","src":"618:84:12","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"638:2:12","scope":9933,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":8599,"nodeType":"UserDefinedTypeName","pathNode":{"id":8598,"name":"Vm","nameLocations":["618:2:12"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"618:2:12"},"referencedDeclaration":18679,"src":"618:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":8608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"680:17:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":8607,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"670:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"670:28:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"662:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8605,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:12","typeDescriptions":{}}},"id":8610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"662:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"654:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8603,"name":"uint160","nodeType":"ElementaryTypeName","src":"654:7:12","typeDescriptions":{}}},"id":8611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"654:46:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"646:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8601,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:12","typeDescriptions":{}}},"id":8612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"646:55:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8600,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"643:2:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":8613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"643:59:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":8617,"nodeType":"VariableDeclaration","src":"708:109:12","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"725:11:12","scope":9933,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8615,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":8616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"739:78:12","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":8635,"nodeType":"FunctionDefinition","src":"824:123:12","nodes":[],"body":{"id":8634,"nodeType":"Block","src":"891:56:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":8629,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"931:6:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"925:5:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":8627,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:12","typeDescriptions":{}}},"id":8630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"925:13:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8626,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"915:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"915:24:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"908:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":8624,"name":"bytes4","nodeType":"ElementaryTypeName","src":"908:6:12","typeDescriptions":{}}},"id":8632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"908:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":8623,"id":8633,"nodeType":"Return","src":"901:39:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"833:4:12","parameters":{"id":8620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8619,"mutability":"mutable","name":"sigStr","nameLocation":"852:6:12","nodeType":"VariableDeclaration","scope":8635,"src":"838:20:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8618,"name":"string","nodeType":"ElementaryTypeName","src":"838:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"837:22:12"},"returnParameters":{"id":8623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8635,"src":"883:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8621,"name":"bytes4","nodeType":"ElementaryTypeName","src":"883:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"882:8:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8660,"nodeType":"FunctionDefinition","src":"953:236:12","nodes":[],"body":{"id":8659,"nodeType":"Block","src":"1038:151:12","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":8643,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"1052:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8644,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1057:9:12","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8580,"src":"1052:14:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":8645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1067:6:12","memberName":"length","nodeType":"MemberAccess","src":"1052:21:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":8646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1052:26:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":8657,"nodeType":"Block","src":"1137:46:12","statements":[{"expression":{"expression":{"id":8654,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"1158:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1163:9:12","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8580,"src":"1158:14:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"functionReturnParameters":8642,"id":8656,"nodeType":"Return","src":"1151:21:12"}]},"id":8658,"nodeType":"IfStatement","src":"1048:135:12","trueBody":{"id":8653,"nodeType":"Block","src":"1080:51:12","statements":[{"expression":{"arguments":[{"expression":{"id":8649,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"1109:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1114:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"1109:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}],"id":8648,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9856,"src":"1101:7:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":8651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1101:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8642,"id":8652,"nodeType":"Return","src":"1094:26:12"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"getCallParams","nameLocation":"962:13:12","parameters":{"id":8639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8638,"mutability":"mutable","name":"self","nameLocation":"995:4:12","nodeType":"VariableDeclaration","scope":8660,"src":"976:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8637,"nodeType":"UserDefinedTypeName","pathNode":{"id":8636,"name":"StdStorage","nameLocations":["976:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"976:10:12"},"referencedDeclaration":8581,"src":"976:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"975:25:12"},"returnParameters":{"id":8642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8660,"src":"1024:12:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8640,"name":"bytes","nodeType":"ElementaryTypeName","src":"1024:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1023:14:12"},"scope":9933,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8706,"nodeType":"FunctionDefinition","src":"1251:339:12","nodes":[],"body":{"id":8705,"nodeType":"Block","src":"1334:256:12","nodes":[],"statements":[{"assignments":[8671],"declarations":[{"constant":false,"id":8671,"mutability":"mutable","name":"cd","nameLocation":"1357:2:12","nodeType":"VariableDeclaration","scope":8705,"src":"1344:15:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8670,"name":"bytes","nodeType":"ElementaryTypeName","src":"1344:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8680,"initialValue":{"arguments":[{"expression":{"id":8674,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8663,"src":"1379:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1384:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"1379:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":8677,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8663,"src":"1404:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8676,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8660,"src":"1390:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":8678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1390:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8672,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1362:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1366:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"1362:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1362:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1344:66:12"},{"assignments":[8682,8684],"declarations":[{"constant":false,"id":8682,"mutability":"mutable","name":"success","nameLocation":"1426:7:12","nodeType":"VariableDeclaration","scope":8705,"src":"1421:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8681,"name":"bool","nodeType":"ElementaryTypeName","src":"1421:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8684,"mutability":"mutable","name":"rdat","nameLocation":"1448:4:12","nodeType":"VariableDeclaration","scope":8705,"src":"1435:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8683,"name":"bytes","nodeType":"ElementaryTypeName","src":"1435:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8690,"initialValue":{"arguments":[{"id":8688,"name":"cd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8671,"src":"1480:2:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"id":8685,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8663,"src":"1456:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8686,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1461:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"1456:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1469:10:12","memberName":"staticcall","nodeType":"MemberAccess","src":"1456:23:12","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":8689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1456:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1420:63:12"},{"assignments":[8692],"declarations":[{"constant":false,"id":8692,"mutability":"mutable","name":"result","nameLocation":"1501:6:12","nodeType":"VariableDeclaration","scope":8705,"src":"1493:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1493:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8700,"initialValue":{"arguments":[{"id":8694,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8684,"src":"1525:4:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":8695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1531:2:12","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":8696,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8663,"src":"1536:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1541:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"1536:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1531:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8693,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9815,"src":"1510:14:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":8699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1510:38:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1493:55:12"},{"expression":{"components":[{"id":8701,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8682,"src":"1567:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8702,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8692,"src":"1576:6:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":8703,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1566:17:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"functionReturnParameters":8669,"id":8704,"nodeType":"Return","src":"1559:24:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"callTarget","nameLocation":"1260:10:12","parameters":{"id":8664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8663,"mutability":"mutable","name":"self","nameLocation":"1290:4:12","nodeType":"VariableDeclaration","scope":8706,"src":"1271:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8662,"nodeType":"UserDefinedTypeName","pathNode":{"id":8661,"name":"StdStorage","nameLocations":["1271:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"1271:10:12"},"referencedDeclaration":8581,"src":"1271:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"1270:25:12"},"returnParameters":{"id":8669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8706,"src":"1319:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8665,"name":"bool","nodeType":"ElementaryTypeName","src":"1319:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8668,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8706,"src":"1325:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1325:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1318:15:12"},"scope":9933,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8784,"nodeType":"FunctionDefinition","src":"1847:546:12","nodes":[],"body":{"id":8783,"nodeType":"Block","src":"1940:453:12","nodes":[],"statements":[{"assignments":[8717],"declarations":[{"constant":false,"id":8717,"mutability":"mutable","name":"prevSlotValue","nameLocation":"1958:13:12","nodeType":"VariableDeclaration","scope":8783,"src":"1950:21:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1950:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8724,"initialValue":{"arguments":[{"expression":{"id":8720,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"1982:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1987:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"1982:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8722,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8711,"src":"1996:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8718,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"1974:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1977:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"1974:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1974:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1950:51:12"},{"assignments":[8726,8728],"declarations":[{"constant":false,"id":8726,"mutability":"mutable","name":"success","nameLocation":"2017:7:12","nodeType":"VariableDeclaration","scope":8783,"src":"2012:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8725,"name":"bool","nodeType":"ElementaryTypeName","src":"2012:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8728,"mutability":"mutable","name":"prevReturnValue","nameLocation":"2034:15:12","nodeType":"VariableDeclaration","scope":8783,"src":"2026:23:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2026:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8732,"initialValue":{"arguments":[{"id":8730,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"2064:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8729,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"2053:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2053:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2011:58:12"},{"assignments":[8734],"declarations":[{"constant":false,"id":8734,"mutability":"mutable","name":"testVal","nameLocation":"2088:7:12","nodeType":"VariableDeclaration","scope":8783,"src":"2080:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2080:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8750,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8735,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8728,"src":"2098:15:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2125:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2117:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8736,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2117:7:12","typeDescriptions":{}}},"id":8739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2117:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2098:29:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30","id":8747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2153:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2153:7:12","typeDescriptions":{}}},"id":8748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2153:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2098:65:12","trueExpression":{"arguments":[{"id":8743,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8617,"src":"2138:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2130:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2130:7:12","typeDescriptions":{}}},"id":8744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2130:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2080:83:12"},{"expression":{"arguments":[{"expression":{"id":8754,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"2182:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2187:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"2182:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8756,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8711,"src":"2196:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8757,"name":"testVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8734,"src":"2202:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8751,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"2173:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2176:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"2173:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8759,"nodeType":"ExpressionStatement","src":"2173:37:12"},{"assignments":[null,8761],"declarations":[null,{"constant":false,"id":8761,"mutability":"mutable","name":"newReturnValue","nameLocation":"2232:14:12","nodeType":"VariableDeclaration","scope":8783,"src":"2224:22:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2224:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8765,"initialValue":{"arguments":[{"id":8763,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"2261:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8762,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"2250:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2250:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2221:45:12"},{"expression":{"arguments":[{"expression":{"id":8769,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"2286:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2291:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"2286:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8771,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8711,"src":"2300:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8772,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8717,"src":"2306:13:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8766,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"2277:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2280:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"2277:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2277:43:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8774,"nodeType":"ExpressionStatement","src":"2277:43:12"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8775,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8726,"src":"2339:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8776,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8728,"src":"2351:15:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8777,"name":"newReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8761,"src":"2370:14:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2351:33:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":8779,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2350:35:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2339:46:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":8781,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2338:48:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8715,"id":8782,"nodeType":"Return","src":"2331:55:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSlotMutatesCall","nameLocation":"1856:20:12","parameters":{"id":8712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8709,"mutability":"mutable","name":"self","nameLocation":"1896:4:12","nodeType":"VariableDeclaration","scope":8784,"src":"1877:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8708,"nodeType":"UserDefinedTypeName","pathNode":{"id":8707,"name":"StdStorage","nameLocations":["1877:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"1877:10:12"},"referencedDeclaration":8581,"src":"1877:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8711,"mutability":"mutable","name":"slot","nameLocation":"1910:4:12","nodeType":"VariableDeclaration","scope":8784,"src":"1902:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1902:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1876:39:12"},"returnParameters":{"id":8715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8784,"src":"1934:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8713,"name":"bool","nodeType":"ElementaryTypeName","src":"1934:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1933:6:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8866,"nodeType":"FunctionDefinition","src":"2556:514:12","nodes":[],"body":{"id":8865,"nodeType":"Block","src":"2659:411:12","nodes":[],"statements":[{"body":{"id":8859,"nodeType":"Block","src":"2718:319:12","statements":[{"assignments":[8809],"declarations":[{"constant":false,"id":8809,"mutability":"mutable","name":"valueToPut","nameLocation":"2740:10:12","nodeType":"VariableDeclaration","scope":8859,"src":"2732:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8808,"name":"uint256","nodeType":"ElementaryTypeName","src":"2732:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8823,"initialValue":{"condition":{"id":8810,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8791,"src":"2753:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":8818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2785:1:12","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":8819,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"2790:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2785:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8821,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2784:13:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2753:44:12","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":8811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2761:1:12","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323535","id":8812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2767:3:12","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":8813,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"2773:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2767:12:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8815,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2766:14:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2761:19:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8817,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2760:21:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2732:65:12"},{"expression":{"arguments":[{"expression":{"id":8827,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8787,"src":"2820:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2825:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"2820:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8829,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8789,"src":"2834:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":8832,"name":"valueToPut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8809,"src":"2848:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2840:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2840:7:12","typeDescriptions":{}}},"id":8833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2840:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8824,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"2811:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"2811:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2811:49:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8835,"nodeType":"ExpressionStatement","src":"2811:49:12"},{"assignments":[8837,8839],"declarations":[{"constant":false,"id":8837,"mutability":"mutable","name":"success","nameLocation":"2881:7:12","nodeType":"VariableDeclaration","scope":8859,"src":"2876:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8836,"name":"bool","nodeType":"ElementaryTypeName","src":"2876:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8839,"mutability":"mutable","name":"data","nameLocation":"2898:4:12","nodeType":"VariableDeclaration","scope":8859,"src":"2890:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2890:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8843,"initialValue":{"arguments":[{"id":8841,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8787,"src":"2917:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8840,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"2906:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2906:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2875:47:12"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8844,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8837,"src":"2941:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":8847,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8839,"src":"2961:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2953:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8845,"name":"uint256","nodeType":"ElementaryTypeName","src":"2953:7:12","typeDescriptions":{}}},"id":8848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2953:13:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":8849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2969:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2953:17:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":8851,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2952:19:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2941:30:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8858,"nodeType":"IfStatement","src":"2937:90:12","trueBody":{"id":8857,"nodeType":"Block","src":"2973:54:12","statements":[{"expression":{"components":[{"hexValue":"74727565","id":8853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2999:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":8854,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"3005:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8855,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2998:14:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":8797,"id":8856,"nodeType":"Return","src":"2991:21:12"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8802,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"2694:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"323536","id":8803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2703:3:12","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"2694:12:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8860,"initializationExpression":{"assignments":[8799],"declarations":[{"constant":false,"id":8799,"mutability":"mutable","name":"offset","nameLocation":"2682:6:12","nodeType":"VariableDeclaration","scope":8860,"src":"2674:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8798,"name":"uint256","nodeType":"ElementaryTypeName","src":"2674:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8801,"initialValue":{"hexValue":"30","id":8800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2691:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2674:18:12"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":8806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2708:8:12","subExpression":{"id":8805,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"2708:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8807,"nodeType":"ExpressionStatement","src":"2708:8:12"},"nodeType":"ForStatement","src":"2669:368:12"},{"expression":{"components":[{"hexValue":"66616c7365","id":8861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3054:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":8862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3061:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":8863,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3053:10:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":8797,"id":8864,"nodeType":"Return","src":"3046:17:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"findOffset","nameLocation":"2565:10:12","parameters":{"id":8792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8787,"mutability":"mutable","name":"self","nameLocation":"2595:4:12","nodeType":"VariableDeclaration","scope":8866,"src":"2576:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8786,"nodeType":"UserDefinedTypeName","pathNode":{"id":8785,"name":"StdStorage","nameLocations":["2576:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"2576:10:12"},"referencedDeclaration":8581,"src":"2576:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8789,"mutability":"mutable","name":"slot","nameLocation":"2609:4:12","nodeType":"VariableDeclaration","scope":8866,"src":"2601:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2601:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8791,"mutability":"mutable","name":"left","nameLocation":"2620:4:12","nodeType":"VariableDeclaration","scope":8866,"src":"2615:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8790,"name":"bool","nodeType":"ElementaryTypeName","src":"2615:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2575:50:12"},"returnParameters":{"id":8797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8866,"src":"2644:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8793,"name":"bool","nodeType":"ElementaryTypeName","src":"2644:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8796,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8866,"src":"2650:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8795,"name":"uint256","nodeType":"ElementaryTypeName","src":"2650:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2643:15:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8926,"nodeType":"FunctionDefinition","src":"3076:534:12","nodes":[],"body":{"id":8925,"nodeType":"Block","src":"3178:432:12","nodes":[],"statements":[{"assignments":[8881],"declarations":[{"constant":false,"id":8881,"mutability":"mutable","name":"prevSlotValue","nameLocation":"3196:13:12","nodeType":"VariableDeclaration","scope":8925,"src":"3188:21:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3188:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8888,"initialValue":{"arguments":[{"expression":{"id":8884,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8869,"src":"3220:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3225:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"3220:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8886,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8871,"src":"3234:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8882,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"3212:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3215:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"3212:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3188:51:12"},{"assignments":[8890,8892],"declarations":[{"constant":false,"id":8890,"mutability":"mutable","name":"foundLeft","nameLocation":"3256:9:12","nodeType":"VariableDeclaration","scope":8925,"src":"3251:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8889,"name":"bool","nodeType":"ElementaryTypeName","src":"3251:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8892,"mutability":"mutable","name":"offsetLeft","nameLocation":"3275:10:12","nodeType":"VariableDeclaration","scope":8925,"src":"3267:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8891,"name":"uint256","nodeType":"ElementaryTypeName","src":"3267:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8898,"initialValue":{"arguments":[{"id":8894,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8869,"src":"3300:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8895,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8871,"src":"3306:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":8896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3312:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8893,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8866,"src":"3289:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":8897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3289:28:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3250:67:12"},{"assignments":[8900,8902],"declarations":[{"constant":false,"id":8900,"mutability":"mutable","name":"foundRight","nameLocation":"3333:10:12","nodeType":"VariableDeclaration","scope":8925,"src":"3328:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8899,"name":"bool","nodeType":"ElementaryTypeName","src":"3328:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8902,"mutability":"mutable","name":"offsetRight","nameLocation":"3353:11:12","nodeType":"VariableDeclaration","scope":8925,"src":"3345:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8901,"name":"uint256","nodeType":"ElementaryTypeName","src":"3345:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8908,"initialValue":{"arguments":[{"id":8904,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8869,"src":"3379:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8905,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8871,"src":"3385:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"66616c7365","id":8906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3391:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8903,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8866,"src":"3368:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":8907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3368:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3327:70:12"},{"expression":{"arguments":[{"expression":{"id":8912,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8869,"src":"3502:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3507:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"3502:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8914,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8871,"src":"3516:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8915,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8881,"src":"3522:13:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8909,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"3493:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3496:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"3493:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3493:43:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8917,"nodeType":"ExpressionStatement","src":"3493:43:12"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8918,"name":"foundLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8890,"src":"3554:9:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":8919,"name":"foundRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8900,"src":"3567:10:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3554:23:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8921,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8892,"src":"3579:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8922,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8902,"src":"3591:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8923,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3553:50:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"functionReturnParameters":8879,"id":8924,"nodeType":"Return","src":"3546:57:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"findOffsets","nameLocation":"3085:11:12","parameters":{"id":8872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8869,"mutability":"mutable","name":"self","nameLocation":"3116:4:12","nodeType":"VariableDeclaration","scope":8926,"src":"3097:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8868,"nodeType":"UserDefinedTypeName","pathNode":{"id":8867,"name":"StdStorage","nameLocations":["3097:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"3097:10:12"},"referencedDeclaration":8581,"src":"3097:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8871,"mutability":"mutable","name":"slot","nameLocation":"3130:4:12","nodeType":"VariableDeclaration","scope":8926,"src":"3122:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3122:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3096:39:12"},"returnParameters":{"id":8879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8926,"src":"3154:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8873,"name":"bool","nodeType":"ElementaryTypeName","src":"3154:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8926,"src":"3160:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8875,"name":"uint256","nodeType":"ElementaryTypeName","src":"3160:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8878,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8926,"src":"3169:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8877,"name":"uint256","nodeType":"ElementaryTypeName","src":"3169:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3153:24:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8941,"nodeType":"FunctionDefinition","src":"3616:115:12","nodes":[],"body":{"id":8940,"nodeType":"Block","src":"3691:40:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":8936,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8929,"src":"3713:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":8937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3719:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8935,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8941,9242],"referencedDeclaration":9242,"src":"3708:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":8938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3708:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"functionReturnParameters":8934,"id":8939,"nodeType":"Return","src":"3701:23:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"3625:4:12","parameters":{"id":8930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8929,"mutability":"mutable","name":"self","nameLocation":"3649:4:12","nodeType":"VariableDeclaration","scope":8941,"src":"3630:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8928,"nodeType":"UserDefinedTypeName","pathNode":{"id":8927,"name":"StdStorage","nameLocations":["3630:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"3630:10:12"},"referencedDeclaration":8581,"src":"3630:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"3629:25:12"},"returnParameters":{"id":8934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8941,"src":"3673:16:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"},"typeName":{"id":8932,"nodeType":"UserDefinedTypeName","pathNode":{"id":8931,"name":"FindData","nameLocations":["3673:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"3673:8:12"},"referencedDeclaration":8556,"src":"3673:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"3672:18:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9242,"nodeType":"FunctionDefinition","src":"4245:2492:12","nodes":[],"body":{"id":9241,"nodeType":"Block","src":"4333:2404:12","nodes":[],"statements":[{"assignments":[8954],"declarations":[{"constant":false,"id":8954,"mutability":"mutable","name":"who","nameLocation":"4351:3:12","nodeType":"VariableDeclaration","scope":9241,"src":"4343:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8953,"name":"address","nodeType":"ElementaryTypeName","src":"4343:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":8957,"initialValue":{"expression":{"id":8955,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4357:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4362:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"4357:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4343:26:12"},{"assignments":[8959],"declarations":[{"constant":false,"id":8959,"mutability":"mutable","name":"fsig","nameLocation":"4386:4:12","nodeType":"VariableDeclaration","scope":9241,"src":"4379:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8958,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4379:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":8962,"initialValue":{"expression":{"id":8960,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4393:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4398:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"4393:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4379:23:12"},{"assignments":[8964],"declarations":[{"constant":false,"id":8964,"mutability":"mutable","name":"field_depth","nameLocation":"4420:11:12","nodeType":"VariableDeclaration","scope":9241,"src":"4412:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8963,"name":"uint256","nodeType":"ElementaryTypeName","src":"4412:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8967,"initialValue":{"expression":{"id":8965,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4434:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4439:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"4434:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4412:33:12"},{"assignments":[8969],"declarations":[{"constant":false,"id":8969,"mutability":"mutable","name":"params","nameLocation":"4468:6:12","nodeType":"VariableDeclaration","scope":9241,"src":"4455:19:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8968,"name":"bytes","nodeType":"ElementaryTypeName","src":"4455:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8973,"initialValue":{"arguments":[{"id":8971,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4491:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8970,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8660,"src":"4477:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":8972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4477:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4455:41:12"},{"condition":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8974,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4547:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4552:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"4547:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":8977,"indexExpression":{"id":8976,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"4558:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4547:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":8979,"indexExpression":{"id":8978,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"4563:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4547:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":8987,"indexExpression":{"arguments":[{"arguments":[{"id":8983,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"4596:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8984,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"4604:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4579:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4583:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"4579:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4579:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8980,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4569:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4569:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4547:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"id":8988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4619:5:12","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":8555,"src":"4547:77:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9012,"nodeType":"IfStatement","src":"4543:255:12","trueBody":{"id":9011,"nodeType":"Block","src":"4626:172:12","statements":[{"condition":{"id":8989,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8947,"src":"4644:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8995,"nodeType":"IfStatement","src":"4640:56:12","trueBody":{"id":8994,"nodeType":"Block","src":"4652:44:12","statements":[{"expression":{"arguments":[{"id":8991,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4676:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8990,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9887,"src":"4670:5:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":8992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4670:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8993,"nodeType":"ExpressionStatement","src":"4670:11:12"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8996,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4716:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4721:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"4716:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":8999,"indexExpression":{"id":8998,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"4727:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4716:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9001,"indexExpression":{"id":9000,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"4732:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4716:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9009,"indexExpression":{"arguments":[{"arguments":[{"id":9005,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"4765:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9006,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"4773:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9003,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4748:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4752:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"4748:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4748:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9002,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4738:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4738:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4716:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":8952,"id":9010,"nodeType":"Return","src":"4709:78:12"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9013,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"4807:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4810:6:12","memberName":"record","nodeType":"MemberAccess","referencedDeclaration":14508,"src":"4807:9:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":9016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4807:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9017,"nodeType":"ExpressionStatement","src":"4807:11:12"},{"assignments":[null,9019],"declarations":[null,{"constant":false,"id":9019,"mutability":"mutable","name":"callResult","nameLocation":"4839:10:12","nodeType":"VariableDeclaration","scope":9241,"src":"4831:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4831:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9023,"initialValue":{"arguments":[{"id":9021,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4864:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9020,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"4853:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":9022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4853:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"4828:41:12"},{"assignments":[9028,null],"declarations":[{"constant":false,"id":9028,"mutability":"mutable","name":"reads","nameLocation":"4897:5:12","nodeType":"VariableDeclaration","scope":9241,"src":"4880:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":9026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4880:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9027,"nodeType":"ArrayTypeName","src":"4880:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},null],"id":9036,"initialValue":{"arguments":[{"arguments":[{"id":9033,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"4927:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4919:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9031,"name":"address","nodeType":"ElementaryTypeName","src":"4919:7:12","typeDescriptions":{}}},"id":9034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4919:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9029,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"4907:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4910:8:12","memberName":"accesses","nodeType":"MemberAccess","referencedDeclaration":14328,"src":"4907:11:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) view external returns (bytes32[] memory,bytes32[] memory)"}},"id":9035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4907:25:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"tuple(bytes32[] memory,bytes32[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"4879:53:12"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9037,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"4947:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4953:6:12","memberName":"length","nodeType":"MemberAccess","src":"4947:12:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4963:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4947:17:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9198,"nodeType":"Block","src":"5071:1332:12","statements":[{"body":{"id":9196,"nodeType":"Block","src":"5127:1266:12","statements":[{"assignments":[9056],"declarations":[{"constant":false,"id":9056,"mutability":"mutable","name":"prev","nameLocation":"5153:4:12","nodeType":"VariableDeclaration","scope":9196,"src":"5145:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5145:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9064,"initialValue":{"arguments":[{"id":9059,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"5168:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":9060,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5173:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9062,"indexExpression":{"id":9061,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5179:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5173:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9057,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"5160:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5163:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"5160:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":9063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5160:22:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5145:37:12"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9065,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9056,"src":"5204:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":9068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5220:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":9067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5212:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5212:7:12","typeDescriptions":{}}},"id":9069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5212:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5204:18:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9082,"nodeType":"IfStatement","src":"5200:114:12","trueBody":{"id":9081,"nodeType":"Block","src":"5224:90:12","statements":[{"eventCall":{"arguments":[{"id":9072,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"5272:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":9075,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5285:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9077,"indexExpression":{"id":9076,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5291:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5285:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5277:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9073,"name":"uint256","nodeType":"ElementaryTypeName","src":"5277:7:12","typeDescriptions":{}}},"id":9078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5277:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9071,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8597,"src":"5251:20:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":9079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5251:44:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9080,"nodeType":"EmitStatement","src":"5246:49:12"}]}},{"condition":{"id":9089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5336:37:12","subExpression":{"arguments":[{"id":9084,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"5358:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":9085,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5364:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9087,"indexExpression":{"id":9086,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5370:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5364:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9083,"name":"checkSlotMutatesCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8784,"src":"5337:20:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool)"}},"id":9088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5337:36:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9092,"nodeType":"IfStatement","src":"5332:92:12","trueBody":{"id":9091,"nodeType":"Block","src":"5375:49:12","statements":[{"id":9090,"nodeType":"Continue","src":"5397:8:12"}]}},{"assignments":[9094,9096],"declarations":[{"constant":false,"id":9094,"mutability":"mutable","name":"offsetLeft","nameLocation":"5451:10:12","nodeType":"VariableDeclaration","scope":9196,"src":"5443:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9093,"name":"uint256","nodeType":"ElementaryTypeName","src":"5443:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9096,"mutability":"mutable","name":"offsetRight","nameLocation":"5471:11:12","nodeType":"VariableDeclaration","scope":9196,"src":"5463:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9095,"name":"uint256","nodeType":"ElementaryTypeName","src":"5463:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9100,"initialValue":{"components":[{"hexValue":"30","id":9097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5487:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":9098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5490:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":9099,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5486:6:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"nodeType":"VariableDeclarationStatement","src":"5442:50:12"},{"condition":{"expression":{"id":9101,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"5515:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5520:20:12","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8578,"src":"5515:25:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9124,"nodeType":"IfStatement","src":"5511:256:12","trueBody":{"id":9123,"nodeType":"Block","src":"5542:225:12","statements":[{"assignments":[9104],"declarations":[{"constant":false,"id":9104,"mutability":"mutable","name":"found","nameLocation":"5569:5:12","nodeType":"VariableDeclaration","scope":9123,"src":"5564:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9103,"name":"bool","nodeType":"ElementaryTypeName","src":"5564:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9105,"nodeType":"VariableDeclarationStatement","src":"5564:10:12"},{"expression":{"id":9116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9106,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9104,"src":"5597:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9107,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9094,"src":"5604:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9108,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9096,"src":"5616:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9109,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5596:32:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9111,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"5643:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":9112,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5649:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9114,"indexExpression":{"id":9113,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5655:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5649:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9110,"name":"findOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8926,"src":"5631:11:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool,uint256,uint256)"}},"id":9115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5631:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"src":"5596:62:12","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9117,"nodeType":"ExpressionStatement","src":"5596:62:12"},{"condition":{"id":9119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5684:6:12","subExpression":{"id":9118,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9104,"src":"5685:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9122,"nodeType":"IfStatement","src":"5680:69:12","trueBody":{"id":9121,"nodeType":"Block","src":"5692:57:12","statements":[{"id":9120,"nodeType":"Continue","src":"5718:8:12"}]}}]}},{"assignments":[9126],"declarations":[{"constant":false,"id":9126,"mutability":"mutable","name":"curVal","nameLocation":"5887:6:12","nodeType":"VariableDeclaration","scope":9196,"src":"5879:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9125,"name":"uint256","nodeType":"ElementaryTypeName","src":"5879:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9139,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9129,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9056,"src":"5905:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5897:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9127,"name":"uint256","nodeType":"ElementaryTypeName","src":"5897:7:12","typeDescriptions":{}}},"id":9130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5897:13:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"id":9132,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9094,"src":"5930:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9133,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9096,"src":"5942:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9131,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"5913:16:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5913:41:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5897:57:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5896:59:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":9137,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9096,"src":"5959:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5896:74:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5879:91:12"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9142,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"6001:10:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5993:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9140,"name":"uint256","nodeType":"ElementaryTypeName","src":"5993:7:12","typeDescriptions":{}}},"id":9143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5993:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":9144,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9126,"src":"6016:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5993:29:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9148,"nodeType":"IfStatement","src":"5989:84:12","trueBody":{"id":9147,"nodeType":"Block","src":"6024:49:12","statements":[{"id":9146,"nodeType":"Continue","src":"6046:8:12"}]}},{"eventCall":{"arguments":[{"id":9150,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"6106:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9151,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"6111:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":9155,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"6144:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9156,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"6152:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9153,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6127:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6131:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"6127:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6127:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9152,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6117:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6117:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":9161,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"6175:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9163,"indexExpression":{"id":9162,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"6181:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6175:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6167:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9159,"name":"uint256","nodeType":"ElementaryTypeName","src":"6167:7:12","typeDescriptions":{}}},"id":9164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6167:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9149,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8591,"src":"6096:9:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":9165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6096:89:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9166,"nodeType":"EmitStatement","src":"6091:94:12"},{"expression":{"id":9193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":9167,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"6203:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6208:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"6203:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":9179,"indexExpression":{"id":9169,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"6214:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6203:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9180,"indexExpression":{"id":9170,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"6219:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6203:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9181,"indexExpression":{"arguments":[{"arguments":[{"id":9174,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"6252:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9175,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"6260:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9172,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6235:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6239:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"6235:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6235:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9171,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6225:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6225:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6203:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"baseExpression":{"id":9185,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"6314:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9187,"indexExpression":{"id":9186,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"6320:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6314:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6306:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9183,"name":"uint256","nodeType":"ElementaryTypeName","src":"6306:7:12","typeDescriptions":{}}},"id":9188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6306:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9189,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9094,"src":"6325:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9190,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9096,"src":"6337:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":9191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6350:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9182,"name":"FindData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8556,"src":"6297:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"type(struct FindData storage pointer)"}},"id":9192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6297:58:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_memory_ptr","typeString":"struct FindData memory"}},"src":"6203:152:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"id":9194,"nodeType":"ExpressionStatement","src":"6203:152:12"},{"id":9195,"nodeType":"Break","src":"6373:5:12"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"5116:3:12","subExpression":{"id":9051,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5118:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":9053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5123:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5116:8:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9197,"initializationExpression":{"assignments":[9047],"declarations":[{"constant":false,"id":9047,"mutability":"mutable","name":"i","nameLocation":"5098:1:12","nodeType":"VariableDeclaration","scope":9197,"src":"5090:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9046,"name":"uint256","nodeType":"ElementaryTypeName","src":"5090:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9050,"initialValue":{"expression":{"id":9048,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5102:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5108:6:12","memberName":"length","nodeType":"MemberAccess","src":"5102:12:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5090:24:12"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"5085:1308:12"}]},"id":9199,"nodeType":"IfStatement","src":"4943:1460:12","trueBody":{"id":9045,"nodeType":"Block","src":"4966:99:12","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e","id":9042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4987:66:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""},"value":"stdStorage find(StdStorage): No storage use detected for target."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""}],"id":9041,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4980:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4980:74:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9044,"nodeType":"ExpressionStatement","src":"4980:74:12"}]}},{"expression":{"arguments":[{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":9201,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"6434:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6439:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"6434:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":9204,"indexExpression":{"id":9203,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"6445:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6434:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9206,"indexExpression":{"id":9205,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"6450:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6434:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9214,"indexExpression":{"arguments":[{"arguments":[{"id":9210,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"6483:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9211,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"6491:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9208,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6466:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6470:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"6466:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6466:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9207,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6456:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6456:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6434:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"id":9215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6506:5:12","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":8555,"src":"6434:77:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e","id":9216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6525:49:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""},"value":"stdStorage find(StdStorage): Slot(s) not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""}],"id":9200,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6413:7:12","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6413:171:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9218,"nodeType":"ExpressionStatement","src":"6413:171:12"},{"condition":{"id":9219,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8947,"src":"6599:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9225,"nodeType":"IfStatement","src":"6595:48:12","trueBody":{"id":9224,"nodeType":"Block","src":"6607:36:12","statements":[{"expression":{"arguments":[{"id":9221,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"6627:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9220,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9887,"src":"6621:5:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":9222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6621:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9223,"nodeType":"ExpressionStatement","src":"6621:11:12"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":9226,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"6659:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9227,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6664:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"6659:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":9229,"indexExpression":{"id":9228,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"6670:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6659:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9231,"indexExpression":{"id":9230,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"6675:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6659:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9239,"indexExpression":{"arguments":[{"arguments":[{"id":9235,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"6708:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9236,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"6716:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9233,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6691:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6695:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"6691:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6691:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9232,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6681:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6681:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6659:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":8952,"id":9240,"nodeType":"Return","src":"6652:78:12"}]},"documentation":{"id":8942,"nodeType":"StructuredDocumentation","src":"3737:129:12","text":"@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against"},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"4254:4:12","parameters":{"id":8948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8945,"mutability":"mutable","name":"self","nameLocation":"4278:4:12","nodeType":"VariableDeclaration","scope":9242,"src":"4259:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8944,"nodeType":"UserDefinedTypeName","pathNode":{"id":8943,"name":"StdStorage","nameLocations":["4259:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"4259:10:12"},"referencedDeclaration":8581,"src":"4259:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8947,"mutability":"mutable","name":"_clear","nameLocation":"4289:6:12","nodeType":"VariableDeclaration","scope":9242,"src":"4284:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8946,"name":"bool","nodeType":"ElementaryTypeName","src":"4284:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4258:38:12"},"returnParameters":{"id":8952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8951,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9242,"src":"4315:16:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"},"typeName":{"id":8950,"nodeType":"UserDefinedTypeName","pathNode":{"id":8949,"name":"FindData","nameLocations":["4315:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"4315:8:12"},"referencedDeclaration":8556,"src":"4315:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"4314:18:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9262,"nodeType":"FunctionDefinition","src":"6743:156:12","nodes":[],"body":{"id":9261,"nodeType":"Block","src":"6839:60:12","nodes":[],"statements":[{"expression":{"id":9257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9253,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9245,"src":"6849:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6854:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"6849:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9256,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9247,"src":"6864:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6849:22:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9258,"nodeType":"ExpressionStatement","src":"6849:22:12"},{"expression":{"id":9259,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9245,"src":"6888:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9252,"id":9260,"nodeType":"Return","src":"6881:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"6752:6:12","parameters":{"id":9248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9245,"mutability":"mutable","name":"self","nameLocation":"6778:4:12","nodeType":"VariableDeclaration","scope":9262,"src":"6759:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9244,"nodeType":"UserDefinedTypeName","pathNode":{"id":9243,"name":"StdStorage","nameLocations":["6759:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"6759:10:12"},"referencedDeclaration":8581,"src":"6759:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9247,"mutability":"mutable","name":"_target","nameLocation":"6792:7:12","nodeType":"VariableDeclaration","scope":9262,"src":"6784:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9246,"name":"address","nodeType":"ElementaryTypeName","src":"6784:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6758:42:12"},"returnParameters":{"id":9252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9251,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9262,"src":"6819:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9250,"nodeType":"UserDefinedTypeName","pathNode":{"id":9249,"name":"StdStorage","nameLocations":["6819:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"6819:10:12"},"referencedDeclaration":8581,"src":"6819:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6818:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9282,"nodeType":"FunctionDefinition","src":"6905:143:12","nodes":[],"body":{"id":9281,"nodeType":"Block","src":"6994:54:12","nodes":[],"statements":[{"expression":{"id":9277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9273,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9265,"src":"7004:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7009:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"7004:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9276,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9267,"src":"7016:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7004:16:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":9278,"nodeType":"ExpressionStatement","src":"7004:16:12"},{"expression":{"id":9279,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9265,"src":"7037:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9272,"id":9280,"nodeType":"Return","src":"7030:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"6914:3:12","parameters":{"id":9268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9265,"mutability":"mutable","name":"self","nameLocation":"6937:4:12","nodeType":"VariableDeclaration","scope":9282,"src":"6918:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9264,"nodeType":"UserDefinedTypeName","pathNode":{"id":9263,"name":"StdStorage","nameLocations":["6918:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"6918:10:12"},"referencedDeclaration":8581,"src":"6918:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9267,"mutability":"mutable","name":"_sig","nameLocation":"6950:4:12","nodeType":"VariableDeclaration","scope":9282,"src":"6943:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":9266,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6943:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6917:38:12"},"returnParameters":{"id":9272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9282,"src":"6974:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9270,"nodeType":"UserDefinedTypeName","pathNode":{"id":9269,"name":"StdStorage","nameLocations":["6974:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"6974:10:12"},"referencedDeclaration":8581,"src":"6974:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6973:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9304,"nodeType":"FunctionDefinition","src":"7054:156:12","nodes":[],"body":{"id":9303,"nodeType":"Block","src":"7150:60:12","nodes":[],"statements":[{"expression":{"id":9299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9293,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9285,"src":"7160:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7165:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"7160:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9297,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9287,"src":"7177:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9296,"name":"sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8635,"src":"7172:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":9298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7172:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7160:22:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":9300,"nodeType":"ExpressionStatement","src":"7160:22:12"},{"expression":{"id":9301,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9285,"src":"7199:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9292,"id":9302,"nodeType":"Return","src":"7192:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"7063:3:12","parameters":{"id":9288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9285,"mutability":"mutable","name":"self","nameLocation":"7086:4:12","nodeType":"VariableDeclaration","scope":9304,"src":"7067:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9284,"nodeType":"UserDefinedTypeName","pathNode":{"id":9283,"name":"StdStorage","nameLocations":["7067:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7067:10:12"},"referencedDeclaration":8581,"src":"7067:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9287,"mutability":"mutable","name":"_sig","nameLocation":"7106:4:12","nodeType":"VariableDeclaration","scope":9304,"src":"7092:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9286,"name":"string","nodeType":"ElementaryTypeName","src":"7092:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7066:45:12"},"returnParameters":{"id":9292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9291,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9304,"src":"7130:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9290,"nodeType":"UserDefinedTypeName","pathNode":{"id":9289,"name":"StdStorage","nameLocations":["7130:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7130:10:12"},"referencedDeclaration":8581,"src":"7130:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7129:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9324,"nodeType":"FunctionDefinition","src":"7216:174:12","nodes":[],"body":{"id":9323,"nodeType":"Block","src":"7326:64:12","nodes":[],"statements":[{"expression":{"id":9319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9315,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9307,"src":"7336:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7341:9:12","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8580,"src":"7336:14:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9318,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9309,"src":"7353:9:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"7336:26:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":9320,"nodeType":"ExpressionStatement","src":"7336:26:12"},{"expression":{"id":9321,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9307,"src":"7379:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9314,"id":9322,"nodeType":"Return","src":"7372:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"7225:13:12","parameters":{"id":9310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9307,"mutability":"mutable","name":"self","nameLocation":"7258:4:12","nodeType":"VariableDeclaration","scope":9324,"src":"7239:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9306,"nodeType":"UserDefinedTypeName","pathNode":{"id":9305,"name":"StdStorage","nameLocations":["7239:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7239:10:12"},"referencedDeclaration":8581,"src":"7239:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9309,"mutability":"mutable","name":"_calldata","nameLocation":"7277:9:12","nodeType":"VariableDeclaration","scope":9324,"src":"7264:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9308,"name":"bytes","nodeType":"ElementaryTypeName","src":"7264:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7238:49:12"},"returnParameters":{"id":9314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9313,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9324,"src":"7306:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9312,"nodeType":"UserDefinedTypeName","pathNode":{"id":9311,"name":"StdStorage","nameLocations":["7306:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7306:10:12"},"referencedDeclaration":8581,"src":"7306:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7305:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9355,"nodeType":"FunctionDefinition","src":"7396:179:12","nodes":[],"body":{"id":9354,"nodeType":"Block","src":"7490:85:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":9346,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9329,"src":"7540:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7532:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":9344,"name":"uint160","nodeType":"ElementaryTypeName","src":"7532:7:12","typeDescriptions":{}}},"id":9347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7532:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7524:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9342,"name":"uint256","nodeType":"ElementaryTypeName","src":"7524:7:12","typeDescriptions":{}}},"id":9348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7524:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7516:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7516:7:12","typeDescriptions":{}}},"id":9349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7516:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":9335,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9327,"src":"7500:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7505:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"7500:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":9339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7511:4:12","memberName":"push","nodeType":"MemberAccess","src":"7500:15:12","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":9350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7500:47:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9351,"nodeType":"ExpressionStatement","src":"7500:47:12"},{"expression":{"id":9352,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9327,"src":"7564:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9334,"id":9353,"nodeType":"Return","src":"7557:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7405:8:12","parameters":{"id":9330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9327,"mutability":"mutable","name":"self","nameLocation":"7433:4:12","nodeType":"VariableDeclaration","scope":9355,"src":"7414:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9326,"nodeType":"UserDefinedTypeName","pathNode":{"id":9325,"name":"StdStorage","nameLocations":["7414:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7414:10:12"},"referencedDeclaration":8581,"src":"7414:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9329,"mutability":"mutable","name":"who","nameLocation":"7447:3:12","nodeType":"VariableDeclaration","scope":9355,"src":"7439:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9328,"name":"address","nodeType":"ElementaryTypeName","src":"7439:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7413:38:12"},"returnParameters":{"id":9334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9333,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9355,"src":"7470:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9332,"nodeType":"UserDefinedTypeName","pathNode":{"id":9331,"name":"StdStorage","nameLocations":["7470:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7470:10:12"},"referencedDeclaration":8581,"src":"7470:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7469:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9380,"nodeType":"FunctionDefinition","src":"7581:161:12","nodes":[],"body":{"id":9379,"nodeType":"Block","src":"7675:67:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9373,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9360,"src":"7709:3:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7701:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7701:7:12","typeDescriptions":{}}},"id":9374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7701:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":9366,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9358,"src":"7685:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7690:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"7685:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":9370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7696:4:12","memberName":"push","nodeType":"MemberAccess","src":"7685:15:12","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":9375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7685:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9376,"nodeType":"ExpressionStatement","src":"7685:29:12"},{"expression":{"id":9377,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9358,"src":"7731:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9365,"id":9378,"nodeType":"Return","src":"7724:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7590:8:12","parameters":{"id":9361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9358,"mutability":"mutable","name":"self","nameLocation":"7618:4:12","nodeType":"VariableDeclaration","scope":9380,"src":"7599:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9357,"nodeType":"UserDefinedTypeName","pathNode":{"id":9356,"name":"StdStorage","nameLocations":["7599:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7599:10:12"},"referencedDeclaration":8581,"src":"7599:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9360,"mutability":"mutable","name":"amt","nameLocation":"7632:3:12","nodeType":"VariableDeclaration","scope":9380,"src":"7624:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9359,"name":"uint256","nodeType":"ElementaryTypeName","src":"7624:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7598:38:12"},"returnParameters":{"id":9365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9364,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9380,"src":"7655:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9363,"nodeType":"UserDefinedTypeName","pathNode":{"id":9362,"name":"StdStorage","nameLocations":["7655:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7655:10:12"},"referencedDeclaration":8581,"src":"7655:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7654:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9402,"nodeType":"FunctionDefinition","src":"7748:152:12","nodes":[],"body":{"id":9401,"nodeType":"Block","src":"7842:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":9396,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9385,"src":"7868:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":9391,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9383,"src":"7852:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7857:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"7852:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":9395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7863:4:12","memberName":"push","nodeType":"MemberAccess","src":"7852:15:12","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":9397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7852:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9398,"nodeType":"ExpressionStatement","src":"7852:20:12"},{"expression":{"id":9399,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9383,"src":"7889:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9390,"id":9400,"nodeType":"Return","src":"7882:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7757:8:12","parameters":{"id":9386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9383,"mutability":"mutable","name":"self","nameLocation":"7785:4:12","nodeType":"VariableDeclaration","scope":9402,"src":"7766:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9382,"nodeType":"UserDefinedTypeName","pathNode":{"id":9381,"name":"StdStorage","nameLocations":["7766:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7766:10:12"},"referencedDeclaration":8581,"src":"7766:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9385,"mutability":"mutable","name":"key","nameLocation":"7799:3:12","nodeType":"VariableDeclaration","scope":9402,"src":"7791:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7791:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7765:38:12"},"returnParameters":{"id":9390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9402,"src":"7822:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9388,"nodeType":"UserDefinedTypeName","pathNode":{"id":9387,"name":"StdStorage","nameLocations":["7822:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7822:10:12"},"referencedDeclaration":8581,"src":"7822:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7821:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9420,"nodeType":"FunctionDefinition","src":"7906:162:12","nodes":[],"body":{"id":9419,"nodeType":"Block","src":"7998:70:12","nodes":[],"statements":[{"expression":{"id":9415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9411,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9405,"src":"8008:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8013:20:12","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8578,"src":"8008:25:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":9414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8036:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8008:32:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9416,"nodeType":"ExpressionStatement","src":"8008:32:12"},{"expression":{"id":9417,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9405,"src":"8057:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9410,"id":9418,"nodeType":"Return","src":"8050:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"7915:19:12","parameters":{"id":9406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9405,"mutability":"mutable","name":"self","nameLocation":"7954:4:12","nodeType":"VariableDeclaration","scope":9420,"src":"7935:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9404,"nodeType":"UserDefinedTypeName","pathNode":{"id":9403,"name":"StdStorage","nameLocations":["7935:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7935:10:12"},"referencedDeclaration":8581,"src":"7935:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7934:25:12"},"returnParameters":{"id":9410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9409,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9420,"src":"7978:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9408,"nodeType":"UserDefinedTypeName","pathNode":{"id":9407,"name":"StdStorage","nameLocations":["7978:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7978:10:12"},"referencedDeclaration":8581,"src":"7978:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7977:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9440,"nodeType":"FunctionDefinition","src":"8074:152:12","nodes":[],"body":{"id":9439,"nodeType":"Block","src":"8168:58:12","nodes":[],"statements":[{"expression":{"id":9435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9431,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9423,"src":"8178:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8183:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"8178:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9434,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9425,"src":"8192:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8178:20:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9436,"nodeType":"ExpressionStatement","src":"8178:20:12"},{"expression":{"id":9437,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9423,"src":"8215:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9430,"id":9438,"nodeType":"Return","src":"8208:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"8083:5:12","parameters":{"id":9426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9423,"mutability":"mutable","name":"self","nameLocation":"8108:4:12","nodeType":"VariableDeclaration","scope":9440,"src":"8089:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9422,"nodeType":"UserDefinedTypeName","pathNode":{"id":9421,"name":"StdStorage","nameLocations":["8089:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8089:10:12"},"referencedDeclaration":8581,"src":"8089:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9425,"mutability":"mutable","name":"_depth","nameLocation":"8122:6:12","nodeType":"VariableDeclaration","scope":9440,"src":"8114:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9424,"name":"uint256","nodeType":"ElementaryTypeName","src":"8114:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8088:41:12"},"returnParameters":{"id":9430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9440,"src":"8148:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9428,"nodeType":"UserDefinedTypeName","pathNode":{"id":9427,"name":"StdStorage","nameLocations":["8148:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8148:10:12"},"referencedDeclaration":8581,"src":"8148:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8147:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9497,"nodeType":"FunctionDefinition","src":"8232:364:12","nodes":[],"body":{"id":9496,"nodeType":"Block","src":"8302:294:12","nodes":[],"statements":[{"assignments":[9450],"declarations":[{"constant":false,"id":9450,"mutability":"mutable","name":"data","nameLocation":"8329:4:12","nodeType":"VariableDeclaration","scope":9496,"src":"8312:21:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"},"typeName":{"id":9449,"nodeType":"UserDefinedTypeName","pathNode":{"id":9448,"name":"FindData","nameLocations":["8312:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"8312:8:12"},"referencedDeclaration":8556,"src":"8312:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":9455,"initialValue":{"arguments":[{"id":9452,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9443,"src":"8341:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":9453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8347:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9451,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8941,9242],"referencedDeclaration":9242,"src":"8336:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8336:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8312:41:12"},{"assignments":[9457],"declarations":[{"constant":false,"id":9457,"mutability":"mutable","name":"mask","nameLocation":"8371:4:12","nodeType":"VariableDeclaration","scope":9496,"src":"8363:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9456,"name":"uint256","nodeType":"ElementaryTypeName","src":"8363:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9464,"initialValue":{"arguments":[{"expression":{"id":9459,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"8395:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8400:10:12","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8551,"src":"8395:15:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":9461,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"8412:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9462,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8417:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"8412:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9458,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"8378:16:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8378:51:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8363:66:12"},{"assignments":[9466],"declarations":[{"constant":false,"id":9466,"mutability":"mutable","name":"value","nameLocation":"8447:5:12","nodeType":"VariableDeclaration","scope":9496,"src":"8439:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9465,"name":"uint256","nodeType":"ElementaryTypeName","src":"8439:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9486,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":9471,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9443,"src":"8472:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8477:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"8472:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":9475,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"8494:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8499:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"8494:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8486:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8486:7:12","typeDescriptions":{}}},"id":9477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8486:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9469,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"8464:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8467:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"8464:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":9478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8464:41:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8456:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9467,"name":"uint256","nodeType":"ElementaryTypeName","src":"8456:7:12","typeDescriptions":{}}},"id":9479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8456:50:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":9480,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9457,"src":"8509:4:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8456:57:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9482,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8455:59:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"expression":{"id":9483,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"8518:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8523:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"8518:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8455:79:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8439:95:12"},{"expression":{"arguments":[{"id":9488,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9443,"src":"8550:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9487,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9887,"src":"8544:5:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":9489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8544:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9490,"nodeType":"ExpressionStatement","src":"8544:11:12"},{"expression":{"arguments":[{"id":9493,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9466,"src":"8583:5:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9491,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8572:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8576:6:12","memberName":"encode","nodeType":"MemberAccess","src":"8572:10:12","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8572:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":9447,"id":9495,"nodeType":"Return","src":"8565:24:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"8241:4:12","parameters":{"id":9444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9443,"mutability":"mutable","name":"self","nameLocation":"8265:4:12","nodeType":"VariableDeclaration","scope":9497,"src":"8246:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9442,"nodeType":"UserDefinedTypeName","pathNode":{"id":9441,"name":"StdStorage","nameLocations":["8246:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8246:10:12"},"referencedDeclaration":8581,"src":"8246:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8245:25:12"},"returnParameters":{"id":9447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9497,"src":"8288:12:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9445,"name":"bytes","nodeType":"ElementaryTypeName","src":"8288:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8287:14:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":9516,"nodeType":"FunctionDefinition","src":"8602:131:12","nodes":[],"body":{"id":9515,"nodeType":"Block","src":"8676:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9508,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9500,"src":"8709:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9507,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9497,"src":"8704:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8704:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8717:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8717:7:12","typeDescriptions":{}}}],"id":9512,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8716:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":9505,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8693:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8697:6:12","memberName":"decode","nodeType":"MemberAccess","src":"8693:10:12","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8693:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9504,"id":9514,"nodeType":"Return","src":"8686:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"8611:12:12","parameters":{"id":9501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9500,"mutability":"mutable","name":"self","nameLocation":"8643:4:12","nodeType":"VariableDeclaration","scope":9516,"src":"8624:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9499,"nodeType":"UserDefinedTypeName","pathNode":{"id":9498,"name":"StdStorage","nameLocations":["8624:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8624:10:12"},"referencedDeclaration":8581,"src":"8624:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8623:25:12"},"returnParameters":{"id":9504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9516,"src":"8667:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8667:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8666:9:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9547,"nodeType":"FunctionDefinition","src":"8739:279:12","nodes":[],"body":{"id":9546,"nodeType":"Block","src":"8807:211:12","nodes":[],"statements":[{"assignments":[9525],"declarations":[{"constant":false,"id":9525,"mutability":"mutable","name":"v","nameLocation":"8824:1:12","nodeType":"VariableDeclaration","scope":9546,"src":"8817:8:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9524,"name":"int256","nodeType":"ElementaryTypeName","src":"8817:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":9529,"initialValue":{"arguments":[{"id":9527,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9519,"src":"8837:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9526,"name":"read_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9604,"src":"8828:8:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":9528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8828:14:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"8817:25:12"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":9532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9530,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"8856:1:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8861:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8856:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9535,"nodeType":"IfStatement","src":"8852:24:12","trueBody":{"expression":{"hexValue":"66616c7365","id":9533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8871:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":9523,"id":9534,"nodeType":"Return","src":"8864:12:12"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":9538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9536,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"8890:1:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":9537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8895:1:12","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8890:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9541,"nodeType":"IfStatement","src":"8886:23:12","trueBody":{"expression":{"hexValue":"74727565","id":9539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8905:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":9523,"id":9540,"nodeType":"Return","src":"8898:11:12"}},{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e","id":9543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8926:84:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""},"value":"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""}],"id":9542,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"8919:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8919:92:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9545,"nodeType":"ExpressionStatement","src":"8919:92:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"8748:9:12","parameters":{"id":9520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9519,"mutability":"mutable","name":"self","nameLocation":"8777:4:12","nodeType":"VariableDeclaration","scope":9547,"src":"8758:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9518,"nodeType":"UserDefinedTypeName","pathNode":{"id":9517,"name":"StdStorage","nameLocations":["8758:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8758:10:12"},"referencedDeclaration":8581,"src":"8758:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8757:25:12"},"returnParameters":{"id":9523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9547,"src":"8801:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9521,"name":"bool","nodeType":"ElementaryTypeName","src":"8801:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8800:6:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9566,"nodeType":"FunctionDefinition","src":"9024:131:12","nodes":[],"body":{"id":9565,"nodeType":"Block","src":"9098:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9558,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9550,"src":"9131:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9557,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9497,"src":"9126:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9126:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9139:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9560,"name":"address","nodeType":"ElementaryTypeName","src":"9139:7:12","typeDescriptions":{}}}],"id":9562,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9138:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":9555,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9115:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9119:6:12","memberName":"decode","nodeType":"MemberAccess","src":"9115:10:12","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9115:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":9554,"id":9564,"nodeType":"Return","src":"9108:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"9033:12:12","parameters":{"id":9551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9550,"mutability":"mutable","name":"self","nameLocation":"9065:4:12","nodeType":"VariableDeclaration","scope":9566,"src":"9046:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9549,"nodeType":"UserDefinedTypeName","pathNode":{"id":9548,"name":"StdStorage","nameLocations":["9046:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"9046:10:12"},"referencedDeclaration":8581,"src":"9046:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9045:25:12"},"returnParameters":{"id":9554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9566,"src":"9089:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9552,"name":"address","nodeType":"ElementaryTypeName","src":"9089:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9088:9:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9585,"nodeType":"FunctionDefinition","src":"9161:128:12","nodes":[],"body":{"id":9584,"nodeType":"Block","src":"9232:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9577,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9569,"src":"9265:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9576,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9497,"src":"9260:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9260:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9273:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9579,"name":"uint256","nodeType":"ElementaryTypeName","src":"9273:7:12","typeDescriptions":{}}}],"id":9581,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9272:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":9574,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9249:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9253:6:12","memberName":"decode","nodeType":"MemberAccess","src":"9249:10:12","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9249:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9573,"id":9583,"nodeType":"Return","src":"9242:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"9170:9:12","parameters":{"id":9570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9569,"mutability":"mutable","name":"self","nameLocation":"9199:4:12","nodeType":"VariableDeclaration","scope":9585,"src":"9180:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9568,"nodeType":"UserDefinedTypeName","pathNode":{"id":9567,"name":"StdStorage","nameLocations":["9180:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"9180:10:12"},"referencedDeclaration":8581,"src":"9180:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9179:25:12"},"returnParameters":{"id":9573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9585,"src":"9223:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9571,"name":"uint256","nodeType":"ElementaryTypeName","src":"9223:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9222:9:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9604,"nodeType":"FunctionDefinition","src":"9295:125:12","nodes":[],"body":{"id":9603,"nodeType":"Block","src":"9364:56:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9596,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9588,"src":"9397:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9595,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9497,"src":"9392:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9392:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9405:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":9598,"name":"int256","nodeType":"ElementaryTypeName","src":"9405:6:12","typeDescriptions":{}}}],"id":9600,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9404:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"expression":{"id":9593,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9381:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9385:6:12","memberName":"decode","nodeType":"MemberAccess","src":"9381:10:12","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9381:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":9592,"id":9602,"nodeType":"Return","src":"9374:39:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"9304:8:12","parameters":{"id":9589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9588,"mutability":"mutable","name":"self","nameLocation":"9332:4:12","nodeType":"VariableDeclaration","scope":9604,"src":"9313:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9587,"nodeType":"UserDefinedTypeName","pathNode":{"id":9586,"name":"StdStorage","nameLocations":["9313:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"9313:10:12"},"referencedDeclaration":8581,"src":"9313:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9312:25:12"},"returnParameters":{"id":9592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9591,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9604,"src":"9356:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9590,"name":"int256","nodeType":"ElementaryTypeName","src":"9356:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9355:8:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9670,"nodeType":"FunctionDefinition","src":"9426:621:12","nodes":[],"body":{"id":9669,"nodeType":"Block","src":"9503:544:12","nodes":[],"statements":[{"assignments":[9615],"declarations":[{"constant":false,"id":9615,"mutability":"mutable","name":"who","nameLocation":"9521:3:12","nodeType":"VariableDeclaration","scope":9669,"src":"9513:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9614,"name":"address","nodeType":"ElementaryTypeName","src":"9513:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":9618,"initialValue":{"expression":{"id":9616,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9607,"src":"9527:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9532:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"9527:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9513:26:12"},{"assignments":[9620],"declarations":[{"constant":false,"id":9620,"mutability":"mutable","name":"field_depth","nameLocation":"9557:11:12","nodeType":"VariableDeclaration","scope":9669,"src":"9549:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9619,"name":"uint256","nodeType":"ElementaryTypeName","src":"9549:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9623,"initialValue":{"expression":{"id":9621,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9607,"src":"9571:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9576:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"9571:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9549:33:12"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9624,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"9592:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9595:21:12","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":14556,"src":"9592:24:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":9627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9592:26:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9628,"nodeType":"ExpressionStatement","src":"9592:26:12"},{"assignments":[9630],"declarations":[{"constant":false,"id":9630,"mutability":"mutable","name":"child","nameLocation":"9636:5:12","nodeType":"VariableDeclaration","scope":9669,"src":"9628:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9629,"name":"uint256","nodeType":"ElementaryTypeName","src":"9628:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9638,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9632,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9607,"src":"9649:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":9633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9655:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9631,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8941,9242],"referencedDeclaration":9242,"src":"9644:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9644:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9661:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"9644:21:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9636,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9620,"src":"9668:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9644:35:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9628:51:12"},{"assignments":[9640,9642,9644],"declarations":[{"constant":false,"id":9640,"mutability":"mutable","name":"found","nameLocation":"9695:5:12","nodeType":"VariableDeclaration","scope":9669,"src":"9690:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9639,"name":"bool","nodeType":"ElementaryTypeName","src":"9690:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9642,"mutability":"mutable","name":"key","nameLocation":"9710:3:12","nodeType":"VariableDeclaration","scope":9669,"src":"9702:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9702:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9644,"mutability":"mutable","name":"parent_slot","nameLocation":"9723:11:12","nodeType":"VariableDeclaration","scope":9669,"src":"9715:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9715:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9653,"initialValue":{"arguments":[{"id":9647,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9615,"src":"9766:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9650,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9630,"src":"9779:5:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9771:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9771:7:12","typeDescriptions":{}}},"id":9651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9771:14:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9645,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"9738:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9741:24:12","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":14397,"src":"9738:27:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bool,bytes32,bytes32)"}},"id":9652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9738:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"9689:97:12"},{"condition":{"id":9655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9800:6:12","subExpression":{"id":9654,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9640,"src":"9801:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9661,"nodeType":"IfStatement","src":"9796:201:12","trueBody":{"id":9660,"nodeType":"Block","src":"9808:189:12","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":9657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9846:126:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""},"value":"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""}],"id":9656,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9822:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9822:164:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9659,"nodeType":"ExpressionStatement","src":"9822:164:12"}]}},{"expression":{"components":[{"arguments":[{"id":9664,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9644,"src":"10022:11:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10014:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9662,"name":"uint256","nodeType":"ElementaryTypeName","src":"10014:7:12","typeDescriptions":{}}},"id":9665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10014:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9666,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9642,"src":"10036:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":9667,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10013:27:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":9613,"id":9668,"nodeType":"Return","src":"10006:34:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"9435:6:12","parameters":{"id":9608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9607,"mutability":"mutable","name":"self","nameLocation":"9461:4:12","nodeType":"VariableDeclaration","scope":9670,"src":"9442:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9606,"nodeType":"UserDefinedTypeName","pathNode":{"id":9605,"name":"StdStorage","nameLocations":["9442:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"9442:10:12"},"referencedDeclaration":8581,"src":"9442:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9441:25:12"},"returnParameters":{"id":9613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9610,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9670,"src":"9485:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9609,"name":"uint256","nodeType":"ElementaryTypeName","src":"9485:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9670,"src":"9494:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9494:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9484:18:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9759,"nodeType":"FunctionDefinition","src":"10053:813:12","nodes":[],"body":{"id":9758,"nodeType":"Block","src":"10119:747:12","nodes":[],"statements":[{"assignments":[9679],"declarations":[{"constant":false,"id":9679,"mutability":"mutable","name":"who","nameLocation":"10137:3:12","nodeType":"VariableDeclaration","scope":9758,"src":"10129:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9678,"name":"address","nodeType":"ElementaryTypeName","src":"10129:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":9682,"initialValue":{"expression":{"id":9680,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9673,"src":"10143:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10148:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"10143:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10129:26:12"},{"assignments":[9684],"declarations":[{"constant":false,"id":9684,"mutability":"mutable","name":"field_depth","nameLocation":"10173:11:12","nodeType":"VariableDeclaration","scope":9758,"src":"10165:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9683,"name":"uint256","nodeType":"ElementaryTypeName","src":"10165:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9687,"initialValue":{"expression":{"id":9685,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9673,"src":"10187:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9686,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10192:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"10187:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10165:33:12"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9688,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"10208:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10211:21:12","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":14556,"src":"10208:24:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":9691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10208:26:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9692,"nodeType":"ExpressionStatement","src":"10208:26:12"},{"assignments":[9694],"declarations":[{"constant":false,"id":9694,"mutability":"mutable","name":"child","nameLocation":"10252:5:12","nodeType":"VariableDeclaration","scope":9758,"src":"10244:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9693,"name":"uint256","nodeType":"ElementaryTypeName","src":"10244:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9702,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9696,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9673,"src":"10265:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":9697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10271:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9695,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8941,9242],"referencedDeclaration":9242,"src":"10260:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10260:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9699,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10277:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"10260:21:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9700,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9684,"src":"10284:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10260:35:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10244:51:12"},{"assignments":[9704],"declarations":[{"constant":false,"id":9704,"mutability":"mutable","name":"found","nameLocation":"10310:5:12","nodeType":"VariableDeclaration","scope":9758,"src":"10305:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9703,"name":"bool","nodeType":"ElementaryTypeName","src":"10305:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9705,"nodeType":"VariableDeclarationStatement","src":"10305:10:12"},{"assignments":[9707],"declarations":[{"constant":false,"id":9707,"mutability":"mutable","name":"root_slot","nameLocation":"10333:9:12","nodeType":"VariableDeclaration","scope":9758,"src":"10325:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10325:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9708,"nodeType":"VariableDeclarationStatement","src":"10325:17:12"},{"assignments":[9710],"declarations":[{"constant":false,"id":9710,"mutability":"mutable","name":"parent_slot","nameLocation":"10360:11:12","nodeType":"VariableDeclaration","scope":9758,"src":"10352:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10352:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9711,"nodeType":"VariableDeclarationStatement","src":"10352:19:12"},{"expression":{"id":9723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9712,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9704,"src":"10382:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":9713,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9710,"src":"10390:11:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":9714,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10381:21:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9717,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9679,"src":"10433:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9720,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9694,"src":"10446:5:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10438:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10438:7:12","typeDescriptions":{}}},"id":9721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10438:14:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"10405:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10408:24:12","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":14397,"src":"10405:27:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bool,bytes32,bytes32)"}},"id":9722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10405:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10381:72:12","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9724,"nodeType":"ExpressionStatement","src":"10381:72:12"},{"condition":{"id":9726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10467:6:12","subExpression":{"id":9725,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9704,"src":"10468:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9732,"nodeType":"IfStatement","src":"10463:201:12","trueBody":{"id":9731,"nodeType":"Block","src":"10475:189:12","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":9728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10513:126:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""},"value":"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""}],"id":9727,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"10489:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10489:164:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9730,"nodeType":"ExpressionStatement","src":"10489:164:12"}]}},{"body":{"id":9751,"nodeType":"Block","src":"10687:138:12","statements":[{"expression":{"id":9736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9734,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"10701:9:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9735,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9710,"src":"10713:11:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10701:23:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9737,"nodeType":"ExpressionStatement","src":"10701:23:12"},{"expression":{"id":9749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9738,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9704,"src":"10739:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":9739,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9710,"src":"10747:11:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":9740,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10738:21:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9743,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9679,"src":"10790:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9746,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"10803:9:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10795:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10795:7:12","typeDescriptions":{}}},"id":9747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10795:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9741,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"10762:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10765:24:12","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":14397,"src":"10762:27:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bool,bytes32,bytes32)"}},"id":9748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10762:52:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10738:76:12","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9750,"nodeType":"ExpressionStatement","src":"10738:76:12"}]},"condition":{"id":9733,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9704,"src":"10680:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9752,"nodeType":"WhileStatement","src":"10673:152:12"},{"expression":{"arguments":[{"id":9755,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"10849:9:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10841:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9753,"name":"uint256","nodeType":"ElementaryTypeName","src":"10841:7:12","typeDescriptions":{}}},"id":9756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10841:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9677,"id":9757,"nodeType":"Return","src":"10834:25:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"10062:4:12","parameters":{"id":9674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9673,"mutability":"mutable","name":"self","nameLocation":"10086:4:12","nodeType":"VariableDeclaration","scope":9759,"src":"10067:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9672,"nodeType":"UserDefinedTypeName","pathNode":{"id":9671,"name":"StdStorage","nameLocations":["10067:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"10067:10:12"},"referencedDeclaration":8581,"src":"10067:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10066:25:12"},"returnParameters":{"id":9677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9676,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9759,"src":"10110:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9675,"name":"uint256","nodeType":"ElementaryTypeName","src":"10110:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10109:9:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9815,"nodeType":"FunctionDefinition","src":"10872:304:12","nodes":[],"body":{"id":9814,"nodeType":"Block","src":"10959:217:12","nodes":[],"statements":[{"assignments":[9769],"declarations":[{"constant":false,"id":9769,"mutability":"mutable","name":"out","nameLocation":"10977:3:12","nodeType":"VariableDeclaration","scope":9814,"src":"10969:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10969:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9770,"nodeType":"VariableDeclarationStatement","src":"10969:11:12"},{"assignments":[9772],"declarations":[{"constant":false,"id":9772,"mutability":"mutable","name":"max","nameLocation":"10999:3:12","nodeType":"VariableDeclaration","scope":9814,"src":"10991:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9771,"name":"uint256","nodeType":"ElementaryTypeName","src":"10991:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9781,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9773,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9761,"src":"11005:1:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11007:6:12","memberName":"length","nodeType":"MemberAccess","src":"11005:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":9775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11016:2:12","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11005:13:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":9778,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9761,"src":"11026:1:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11028:6:12","memberName":"length","nodeType":"MemberAccess","src":"11026:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11005:29:12","trueExpression":{"hexValue":"3332","id":9777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11021:2:12","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10991:43:12"},{"body":{"id":9810,"nodeType":"Block","src":"11078:72:12","statements":[{"expression":{"id":9808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9792,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9769,"src":"11092:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":9801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":9795,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9761,"src":"11107:1:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9799,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9796,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9763,"src":"11109:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":9797,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9783,"src":"11118:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11109:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11107:13:12","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":9800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11123:4:12","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"11107:20:12","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":9794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11099:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11099:7:12","typeDescriptions":{}}},"id":9802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11099:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9803,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9783,"src":"11133:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":9804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11137:1:12","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11133:5:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9806,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11132:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11099:40:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11092:47:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9809,"nodeType":"ExpressionStatement","src":"11092:47:12"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9786,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9783,"src":"11064:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9787,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9772,"src":"11068:3:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11064:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9811,"initializationExpression":{"assignments":[9783],"declarations":[{"constant":false,"id":9783,"mutability":"mutable","name":"i","nameLocation":"11057:1:12","nodeType":"VariableDeclaration","scope":9811,"src":"11049:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9782,"name":"uint256","nodeType":"ElementaryTypeName","src":"11049:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9785,"initialValue":{"hexValue":"30","id":9784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11061:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11049:13:12"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":9790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11073:3:12","subExpression":{"id":9789,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9783,"src":"11073:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9791,"nodeType":"ExpressionStatement","src":"11073:3:12"},"nodeType":"ForStatement","src":"11044:106:12"},{"expression":{"id":9812,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9769,"src":"11166:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9767,"id":9813,"nodeType":"Return","src":"11159:10:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"10881:14:12","parameters":{"id":9764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9761,"mutability":"mutable","name":"b","nameLocation":"10909:1:12","nodeType":"VariableDeclaration","scope":9815,"src":"10896:14:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9760,"name":"bytes","nodeType":"ElementaryTypeName","src":"10896:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9763,"mutability":"mutable","name":"offset","nameLocation":"10920:6:12","nodeType":"VariableDeclaration","scope":9815,"src":"10912:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9762,"name":"uint256","nodeType":"ElementaryTypeName","src":"10912:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10895:32:12"},"returnParameters":{"id":9767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9815,"src":"10950:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10950:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10949:9:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":9856,"nodeType":"FunctionDefinition","src":"11182:393:12","nodes":[],"body":{"id":9855,"nodeType":"Block","src":"11255:320:12","nodes":[],"statements":[{"assignments":[9824],"declarations":[{"constant":false,"id":9824,"mutability":"mutable","name":"result","nameLocation":"11278:6:12","nodeType":"VariableDeclaration","scope":9855,"src":"11265:19:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9823,"name":"bytes","nodeType":"ElementaryTypeName","src":"11265:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9832,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9827,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9818,"src":"11297:1:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11299:6:12","memberName":"length","nodeType":"MemberAccess","src":"11297:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":9829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11308:2:12","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11297:13:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11287:9:12","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":9825,"name":"bytes","nodeType":"ElementaryTypeName","src":"11291:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":9831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11287:24:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11265:46:12"},{"body":{"id":9851,"nodeType":"Block","src":"11360:185:12","statements":[{"assignments":[9845],"declarations":[{"constant":false,"id":9845,"mutability":"mutable","name":"k","nameLocation":"11382:1:12","nodeType":"VariableDeclaration","scope":9851,"src":"11374:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11374:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9849,"initialValue":{"baseExpression":{"id":9846,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9818,"src":"11386:1:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9848,"indexExpression":{"id":9847,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9834,"src":"11388:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11386:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11374:16:12"},{"AST":{"nativeSrc":"11460:75:12","nodeType":"YulBlock","src":"11460:75:12","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"11489:6:12","nodeType":"YulIdentifier","src":"11489:6:12"},{"arguments":[{"kind":"number","nativeSrc":"11501:2:12","nodeType":"YulLiteral","src":"11501:2:12","type":"","value":"32"},{"arguments":[{"kind":"number","nativeSrc":"11509:2:12","nodeType":"YulLiteral","src":"11509:2:12","type":"","value":"32"},{"name":"i","nativeSrc":"11513:1:12","nodeType":"YulIdentifier","src":"11513:1:12"}],"functionName":{"name":"mul","nativeSrc":"11505:3:12","nodeType":"YulIdentifier","src":"11505:3:12"},"nativeSrc":"11505:10:12","nodeType":"YulFunctionCall","src":"11505:10:12"}],"functionName":{"name":"add","nativeSrc":"11497:3:12","nodeType":"YulIdentifier","src":"11497:3:12"},"nativeSrc":"11497:19:12","nodeType":"YulFunctionCall","src":"11497:19:12"}],"functionName":{"name":"add","nativeSrc":"11485:3:12","nodeType":"YulIdentifier","src":"11485:3:12"},"nativeSrc":"11485:32:12","nodeType":"YulFunctionCall","src":"11485:32:12"},{"name":"k","nativeSrc":"11519:1:12","nodeType":"YulIdentifier","src":"11519:1:12"}],"functionName":{"name":"mstore","nativeSrc":"11478:6:12","nodeType":"YulIdentifier","src":"11478:6:12"},"nativeSrc":"11478:43:12","nodeType":"YulFunctionCall","src":"11478:43:12"},"nativeSrc":"11478:43:12","nodeType":"YulExpressionStatement","src":"11478:43:12"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":9834,"isOffset":false,"isSlot":false,"src":"11513:1:12","valueSize":1},{"declaration":9845,"isOffset":false,"isSlot":false,"src":"11519:1:12","valueSize":1},{"declaration":9824,"isOffset":false,"isSlot":false,"src":"11489:6:12","valueSize":1}],"id":9850,"nodeType":"InlineAssembly","src":"11451:84:12"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9834,"src":"11341:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":9838,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9818,"src":"11345:1:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11347:6:12","memberName":"length","nodeType":"MemberAccess","src":"11345:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11341:12:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9852,"initializationExpression":{"assignments":[9834],"declarations":[{"constant":false,"id":9834,"mutability":"mutable","name":"i","nameLocation":"11334:1:12","nodeType":"VariableDeclaration","scope":9852,"src":"11326:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9833,"name":"uint256","nodeType":"ElementaryTypeName","src":"11326:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9836,"initialValue":{"hexValue":"30","id":9835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11338:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11326:13:12"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":9842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11355:3:12","subExpression":{"id":9841,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9834,"src":"11355:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9843,"nodeType":"ExpressionStatement","src":"11355:3:12"},"nodeType":"ForStatement","src":"11321:224:12"},{"expression":{"id":9853,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9824,"src":"11562:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":9822,"id":9854,"nodeType":"Return","src":"11555:13:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"11191:7:12","parameters":{"id":9819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9818,"mutability":"mutable","name":"b","nameLocation":"11216:1:12","nodeType":"VariableDeclaration","scope":9856,"src":"11199:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":9816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11199:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9817,"nodeType":"ArrayTypeName","src":"11199:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11198:20:12"},"returnParameters":{"id":9822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9821,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9856,"src":"11241:12:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9820,"name":"bytes","nodeType":"ElementaryTypeName","src":"11241:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11240:14:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":9887,"nodeType":"FunctionDefinition","src":"11581:239:12","nodes":[],"body":{"id":9886,"nodeType":"Block","src":"11630:190:12","nodes":[],"statements":[{"expression":{"id":9864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11640:19:12","subExpression":{"expression":{"id":9862,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11647:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9863,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11652:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"11647:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9865,"nodeType":"ExpressionStatement","src":"11640:19:12"},{"expression":{"id":9868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11669:16:12","subExpression":{"expression":{"id":9866,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11676:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9867,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11681:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"11676:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9869,"nodeType":"ExpressionStatement","src":"11669:16:12"},{"expression":{"id":9872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11695:17:12","subExpression":{"expression":{"id":9870,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11702:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11707:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"11702:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9873,"nodeType":"ExpressionStatement","src":"11695:17:12"},{"expression":{"id":9876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11722:18:12","subExpression":{"expression":{"id":9874,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11729:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11734:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"11729:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9877,"nodeType":"ExpressionStatement","src":"11722:18:12"},{"expression":{"id":9880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11750:32:12","subExpression":{"expression":{"id":9878,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11757:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9879,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11762:20:12","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8578,"src":"11757:25:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9881,"nodeType":"ExpressionStatement","src":"11750:32:12"},{"expression":{"id":9884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11792:21:12","subExpression":{"expression":{"id":9882,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11799:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9883,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11804:9:12","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8580,"src":"11799:14:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9885,"nodeType":"ExpressionStatement","src":"11792:21:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"11590:5:12","parameters":{"id":9860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9859,"mutability":"mutable","name":"self","nameLocation":"11615:4:12","nodeType":"VariableDeclaration","scope":9887,"src":"11596:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9858,"nodeType":"UserDefinedTypeName","pathNode":{"id":9857,"name":"StdStorage","nameLocations":["11596:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"11596:10:12"},"referencedDeclaration":8581,"src":"11596:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"11595:25:12"},"returnParameters":{"id":9861,"nodeType":"ParameterList","parameters":[],"src":"11630:0:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9898,"nodeType":"FunctionDefinition","src":"12013:376:12","nodes":[],"body":{"id":9897,"nodeType":"Block","src":"12117:272:12","nodes":[],"statements":[{"AST":{"nativeSrc":"12279:104:12","nodeType":"YulBlock","src":"12279:104:12","statements":[{"nativeSrc":"12293:80:12","nodeType":"YulAssignment","src":"12293:80:12","value":{"arguments":[{"name":"offsetRight","nativeSrc":"12305:11:12","nodeType":"YulIdentifier","src":"12305:11:12"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12330:3:12","nodeType":"YulLiteral","src":"12330:3:12","type":"","value":"256"},{"arguments":[{"name":"offsetRight","nativeSrc":"12339:11:12","nodeType":"YulIdentifier","src":"12339:11:12"},{"name":"offsetLeft","nativeSrc":"12352:10:12","nodeType":"YulIdentifier","src":"12352:10:12"}],"functionName":{"name":"add","nativeSrc":"12335:3:12","nodeType":"YulIdentifier","src":"12335:3:12"},"nativeSrc":"12335:28:12","nodeType":"YulFunctionCall","src":"12335:28:12"}],"functionName":{"name":"sub","nativeSrc":"12326:3:12","nodeType":"YulIdentifier","src":"12326:3:12"},"nativeSrc":"12326:38:12","nodeType":"YulFunctionCall","src":"12326:38:12"},{"kind":"number","nativeSrc":"12366:1:12","nodeType":"YulLiteral","src":"12366:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"12322:3:12","nodeType":"YulIdentifier","src":"12322:3:12"},"nativeSrc":"12322:46:12","nodeType":"YulFunctionCall","src":"12322:46:12"},{"kind":"number","nativeSrc":"12370:1:12","nodeType":"YulLiteral","src":"12370:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"12318:3:12","nodeType":"YulIdentifier","src":"12318:3:12"},"nativeSrc":"12318:54:12","nodeType":"YulFunctionCall","src":"12318:54:12"}],"functionName":{"name":"shl","nativeSrc":"12301:3:12","nodeType":"YulIdentifier","src":"12301:3:12"},"nativeSrc":"12301:72:12","nodeType":"YulFunctionCall","src":"12301:72:12"},"variableNames":[{"name":"mask","nativeSrc":"12293:4:12","nodeType":"YulIdentifier","src":"12293:4:12"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":9894,"isOffset":false,"isSlot":false,"src":"12293:4:12","valueSize":1},{"declaration":9889,"isOffset":false,"isSlot":false,"src":"12352:10:12","valueSize":1},{"declaration":9891,"isOffset":false,"isSlot":false,"src":"12305:11:12","valueSize":1},{"declaration":9891,"isOffset":false,"isSlot":false,"src":"12339:11:12","valueSize":1}],"id":9896,"nodeType":"InlineAssembly","src":"12270:113:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getMaskByOffsets","nameLocation":"12022:16:12","parameters":{"id":9892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9889,"mutability":"mutable","name":"offsetLeft","nameLocation":"12047:10:12","nodeType":"VariableDeclaration","scope":9898,"src":"12039:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9888,"name":"uint256","nodeType":"ElementaryTypeName","src":"12039:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9891,"mutability":"mutable","name":"offsetRight","nameLocation":"12067:11:12","nodeType":"VariableDeclaration","scope":9898,"src":"12059:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9890,"name":"uint256","nodeType":"ElementaryTypeName","src":"12059:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12038:41:12"},"returnParameters":{"id":9895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9894,"mutability":"mutable","name":"mask","nameLocation":"12111:4:12","nodeType":"VariableDeclaration","scope":9898,"src":"12103:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9893,"name":"uint256","nodeType":"ElementaryTypeName","src":"12103:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:14:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9932,"nodeType":"FunctionDefinition","src":"12451:300:12","nodes":[],"body":{"id":9931,"nodeType":"Block","src":"12626:125:12","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9915,"name":"curValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9900,"src":"12660:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12652:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9913,"name":"uint256","nodeType":"ElementaryTypeName","src":"12652:7:12","typeDescriptions":{}}},"id":9916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12652:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":9921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"12672:42:12","subExpression":{"arguments":[{"id":9918,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9904,"src":"12690:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9919,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9906,"src":"12702:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9917,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"12673:16:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12673:41:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12652:62:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9923,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12651:64:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9924,"name":"varValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9902,"src":"12719:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":9925,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9906,"src":"12731:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12719:23:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9927,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12718:25:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12651:92:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12643:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12643:7:12","typeDescriptions":{}}},"id":9929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12643:101:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9910,"id":9930,"nodeType":"Return","src":"12636:108:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getUpdatedSlotValue","nameLocation":"12460:19:12","parameters":{"id":9907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9900,"mutability":"mutable","name":"curValue","nameLocation":"12488:8:12","nodeType":"VariableDeclaration","scope":9932,"src":"12480:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12480:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9902,"mutability":"mutable","name":"varValue","nameLocation":"12506:8:12","nodeType":"VariableDeclaration","scope":9932,"src":"12498:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9901,"name":"uint256","nodeType":"ElementaryTypeName","src":"12498:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9904,"mutability":"mutable","name":"offsetLeft","nameLocation":"12524:10:12","nodeType":"VariableDeclaration","scope":9932,"src":"12516:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9903,"name":"uint256","nodeType":"ElementaryTypeName","src":"12516:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9906,"mutability":"mutable","name":"offsetRight","nameLocation":"12544:11:12","nodeType":"VariableDeclaration","scope":9932,"src":"12536:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9905,"name":"uint256","nodeType":"ElementaryTypeName","src":"12536:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12479:77:12"},"returnParameters":{"id":9910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9909,"mutability":"mutable","name":"newValue","nameLocation":"12612:8:12","nodeType":"VariableDeclaration","scope":9932,"src":"12604:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12604:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12603:18:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorageSafe","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[9933],"name":"stdStorageSafe","nameLocation":"458:14:12","scope":10539,"usedErrors":[],"usedEvents":[8591,8597]},{"id":10538,"nodeType":"ContractDefinition","src":"12755:5081:12","nodes":[{"id":9950,"nodeType":"VariableDeclaration","src":"12780:84:12","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"12800:2:12","scope":10538,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":9935,"nodeType":"UserDefinedTypeName","pathNode":{"id":9934,"name":"Vm","nameLocations":["12780:2:12"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"12780:2:12"},"referencedDeclaration":18679,"src":"12780:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":9944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12842:17:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":9943,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12832:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12832:28:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12824:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9941,"name":"uint256","nodeType":"ElementaryTypeName","src":"12824:7:12","typeDescriptions":{}}},"id":9946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12824:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12816:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":9939,"name":"uint160","nodeType":"ElementaryTypeName","src":"12816:7:12","typeDescriptions":{}}},"id":9947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12816:46:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12808:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9937,"name":"address","nodeType":"ElementaryTypeName","src":"12808:7:12","typeDescriptions":{}}},"id":9948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12808:55:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9936,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"12805:2:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":9949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12805:59:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":9963,"nodeType":"FunctionDefinition","src":"12871:118:12","nodes":[],"body":{"id":9962,"nodeType":"Block","src":"12938:51:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":9959,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9952,"src":"12975:6:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9957,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"12955:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":9958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12970:4:12","memberName":"sigs","nodeType":"MemberAccess","referencedDeclaration":8635,"src":"12955:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":9960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12955:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":9956,"id":9961,"nodeType":"Return","src":"12948:34:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"12880:4:12","parameters":{"id":9953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9952,"mutability":"mutable","name":"sigStr","nameLocation":"12899:6:12","nodeType":"VariableDeclaration","scope":9963,"src":"12885:20:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9951,"name":"string","nodeType":"ElementaryTypeName","src":"12885:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12884:22:12"},"returnParameters":{"id":9956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9963,"src":"12930:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":9954,"name":"bytes4","nodeType":"ElementaryTypeName","src":"12930:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"12929:8:12"},"scope":10538,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9977,"nodeType":"FunctionDefinition","src":"12995:106:12","nodes":[],"body":{"id":9976,"nodeType":"Block","src":"13061:40:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":9972,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9966,"src":"13083:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":9973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13089:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9971,"name":"find","nodeType":"Identifier","overloadedDeclarations":[9977,9995],"referencedDeclaration":9995,"src":"13078:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":9974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13078:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9970,"id":9975,"nodeType":"Return","src":"13071:23:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13004:4:12","parameters":{"id":9967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9966,"mutability":"mutable","name":"self","nameLocation":"13028:4:12","nodeType":"VariableDeclaration","scope":9977,"src":"13009:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9965,"nodeType":"UserDefinedTypeName","pathNode":{"id":9964,"name":"StdStorage","nameLocations":["13009:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13009:10:12"},"referencedDeclaration":8581,"src":"13009:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13008:25:12"},"returnParameters":{"id":9970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9977,"src":"13052:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9968,"name":"uint256","nodeType":"ElementaryTypeName","src":"13052:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13051:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9995,"nodeType":"FunctionDefinition","src":"13107:141:12","nodes":[],"body":{"id":9994,"nodeType":"Block","src":"13186:62:12","nodes":[],"statements":[{"expression":{"expression":{"arguments":[{"id":9989,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9980,"src":"13223:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9990,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"13229:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9987,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13203:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":9988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13218:4:12","memberName":"find","nodeType":"MemberAccess","referencedDeclaration":9242,"src":"13203:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13203:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13237:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"13203:38:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9986,"id":9993,"nodeType":"Return","src":"13196:45:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13116:4:12","parameters":{"id":9983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9980,"mutability":"mutable","name":"self","nameLocation":"13140:4:12","nodeType":"VariableDeclaration","scope":9995,"src":"13121:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9979,"nodeType":"UserDefinedTypeName","pathNode":{"id":9978,"name":"StdStorage","nameLocations":["13121:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13121:10:12"},"referencedDeclaration":8581,"src":"13121:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9982,"mutability":"mutable","name":"_clear","nameLocation":"13151:6:12","nodeType":"VariableDeclaration","scope":9995,"src":"13146:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9981,"name":"bool","nodeType":"ElementaryTypeName","src":"13146:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13120:38:12"},"returnParameters":{"id":9986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9995,"src":"13177:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9984,"name":"uint256","nodeType":"ElementaryTypeName","src":"13177:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13176:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10013,"nodeType":"FunctionDefinition","src":"13254:156:12","nodes":[],"body":{"id":10012,"nodeType":"Block","src":"13350:60:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10008,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9998,"src":"13389:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10009,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10000,"src":"13395:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10006,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13367:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13382:6:12","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":9262,"src":"13367:21:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":10010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13367:36:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10005,"id":10011,"nodeType":"Return","src":"13360:43:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"13263:6:12","parameters":{"id":10001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9998,"mutability":"mutable","name":"self","nameLocation":"13289:4:12","nodeType":"VariableDeclaration","scope":10013,"src":"13270:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9997,"nodeType":"UserDefinedTypeName","pathNode":{"id":9996,"name":"StdStorage","nameLocations":["13270:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13270:10:12"},"referencedDeclaration":8581,"src":"13270:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10000,"mutability":"mutable","name":"_target","nameLocation":"13303:7:12","nodeType":"VariableDeclaration","scope":10013,"src":"13295:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9999,"name":"address","nodeType":"ElementaryTypeName","src":"13295:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13269:42:12"},"returnParameters":{"id":10005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10013,"src":"13330:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10003,"nodeType":"UserDefinedTypeName","pathNode":{"id":10002,"name":"StdStorage","nameLocations":["13330:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13330:10:12"},"referencedDeclaration":8581,"src":"13330:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13329:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10031,"nodeType":"FunctionDefinition","src":"13416:143:12","nodes":[],"body":{"id":10030,"nodeType":"Block","src":"13505:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10026,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10016,"src":"13541:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10027,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10018,"src":"13547:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":10024,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13522:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13537:3:12","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9282,"src":"13522:18:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":10028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13522:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10023,"id":10029,"nodeType":"Return","src":"13515:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13425:3:12","parameters":{"id":10019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10016,"mutability":"mutable","name":"self","nameLocation":"13448:4:12","nodeType":"VariableDeclaration","scope":10031,"src":"13429:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10015,"nodeType":"UserDefinedTypeName","pathNode":{"id":10014,"name":"StdStorage","nameLocations":["13429:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13429:10:12"},"referencedDeclaration":8581,"src":"13429:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10018,"mutability":"mutable","name":"_sig","nameLocation":"13461:4:12","nodeType":"VariableDeclaration","scope":10031,"src":"13454:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":10017,"name":"bytes4","nodeType":"ElementaryTypeName","src":"13454:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"13428:38:12"},"returnParameters":{"id":10023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10022,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10031,"src":"13485:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10021,"nodeType":"UserDefinedTypeName","pathNode":{"id":10020,"name":"StdStorage","nameLocations":["13485:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13485:10:12"},"referencedDeclaration":8581,"src":"13485:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13484:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10049,"nodeType":"FunctionDefinition","src":"13565:150:12","nodes":[],"body":{"id":10048,"nodeType":"Block","src":"13661:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10044,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10034,"src":"13697:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10045,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10036,"src":"13703:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10042,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13678:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13693:3:12","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9304,"src":"13678:18:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)"}},"id":10046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13678:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10041,"id":10047,"nodeType":"Return","src":"13671:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13574:3:12","parameters":{"id":10037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10034,"mutability":"mutable","name":"self","nameLocation":"13597:4:12","nodeType":"VariableDeclaration","scope":10049,"src":"13578:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10033,"nodeType":"UserDefinedTypeName","pathNode":{"id":10032,"name":"StdStorage","nameLocations":["13578:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13578:10:12"},"referencedDeclaration":8581,"src":"13578:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10036,"mutability":"mutable","name":"_sig","nameLocation":"13617:4:12","nodeType":"VariableDeclaration","scope":10049,"src":"13603:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10035,"name":"string","nodeType":"ElementaryTypeName","src":"13603:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13577:45:12"},"returnParameters":{"id":10041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10040,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10049,"src":"13641:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10039,"nodeType":"UserDefinedTypeName","pathNode":{"id":10038,"name":"StdStorage","nameLocations":["13641:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13641:10:12"},"referencedDeclaration":8581,"src":"13641:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13640:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10067,"nodeType":"FunctionDefinition","src":"13721:152:12","nodes":[],"body":{"id":10066,"nodeType":"Block","src":"13815:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10062,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10052,"src":"13856:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10063,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10054,"src":"13862:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10060,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13832:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13847:8:12","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9355,"src":"13832:23:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":10064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13832:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10059,"id":10065,"nodeType":"Return","src":"13825:41:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13730:8:12","parameters":{"id":10055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10052,"mutability":"mutable","name":"self","nameLocation":"13758:4:12","nodeType":"VariableDeclaration","scope":10067,"src":"13739:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10051,"nodeType":"UserDefinedTypeName","pathNode":{"id":10050,"name":"StdStorage","nameLocations":["13739:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13739:10:12"},"referencedDeclaration":8581,"src":"13739:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10054,"mutability":"mutable","name":"who","nameLocation":"13772:3:12","nodeType":"VariableDeclaration","scope":10067,"src":"13764:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10053,"name":"address","nodeType":"ElementaryTypeName","src":"13764:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13738:38:12"},"returnParameters":{"id":10059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10058,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10067,"src":"13795:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10057,"nodeType":"UserDefinedTypeName","pathNode":{"id":10056,"name":"StdStorage","nameLocations":["13795:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13795:10:12"},"referencedDeclaration":8581,"src":"13795:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13794:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10085,"nodeType":"FunctionDefinition","src":"13879:152:12","nodes":[],"body":{"id":10084,"nodeType":"Block","src":"13973:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10080,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"14014:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10081,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"14020:3:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10078,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13990:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14005:8:12","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9380,"src":"13990:23:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":10082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13990:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10077,"id":10083,"nodeType":"Return","src":"13983:41:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13888:8:12","parameters":{"id":10073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10070,"mutability":"mutable","name":"self","nameLocation":"13916:4:12","nodeType":"VariableDeclaration","scope":10085,"src":"13897:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10069,"nodeType":"UserDefinedTypeName","pathNode":{"id":10068,"name":"StdStorage","nameLocations":["13897:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13897:10:12"},"referencedDeclaration":8581,"src":"13897:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10072,"mutability":"mutable","name":"amt","nameLocation":"13930:3:12","nodeType":"VariableDeclaration","scope":10085,"src":"13922:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10071,"name":"uint256","nodeType":"ElementaryTypeName","src":"13922:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13896:38:12"},"returnParameters":{"id":10077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10085,"src":"13953:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10075,"nodeType":"UserDefinedTypeName","pathNode":{"id":10074,"name":"StdStorage","nameLocations":["13953:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13953:10:12"},"referencedDeclaration":8581,"src":"13953:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13952:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10103,"nodeType":"FunctionDefinition","src":"14037:152:12","nodes":[],"body":{"id":10102,"nodeType":"Block","src":"14131:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10098,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10088,"src":"14172:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10099,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10090,"src":"14178:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10096,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14148:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14163:8:12","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9402,"src":"14148:23:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)"}},"id":10100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14148:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10095,"id":10101,"nodeType":"Return","src":"14141:41:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"14046:8:12","parameters":{"id":10091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10088,"mutability":"mutable","name":"self","nameLocation":"14074:4:12","nodeType":"VariableDeclaration","scope":10103,"src":"14055:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10087,"nodeType":"UserDefinedTypeName","pathNode":{"id":10086,"name":"StdStorage","nameLocations":["14055:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14055:10:12"},"referencedDeclaration":8581,"src":"14055:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10090,"mutability":"mutable","name":"key","nameLocation":"14088:3:12","nodeType":"VariableDeclaration","scope":10103,"src":"14080:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14080:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14054:38:12"},"returnParameters":{"id":10095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10103,"src":"14111:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10093,"nodeType":"UserDefinedTypeName","pathNode":{"id":10092,"name":"StdStorage","nameLocations":["14111:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14111:10:12"},"referencedDeclaration":8581,"src":"14111:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14110:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10121,"nodeType":"FunctionDefinition","src":"14195:179:12","nodes":[],"body":{"id":10120,"nodeType":"Block","src":"14305:69:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10116,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10106,"src":"14351:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10117,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10108,"src":"14357:9:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10114,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14322:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14337:13:12","memberName":"with_calldata","nodeType":"MemberAccess","referencedDeclaration":9324,"src":"14322:28:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes memory) returns (struct StdStorage storage pointer)"}},"id":10118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14322:45:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10113,"id":10119,"nodeType":"Return","src":"14315:52:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"14204:13:12","parameters":{"id":10109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10106,"mutability":"mutable","name":"self","nameLocation":"14237:4:12","nodeType":"VariableDeclaration","scope":10121,"src":"14218:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10105,"nodeType":"UserDefinedTypeName","pathNode":{"id":10104,"name":"StdStorage","nameLocations":["14218:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14218:10:12"},"referencedDeclaration":8581,"src":"14218:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10108,"mutability":"mutable","name":"_calldata","nameLocation":"14256:9:12","nodeType":"VariableDeclaration","scope":10121,"src":"14243:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10107,"name":"bytes","nodeType":"ElementaryTypeName","src":"14243:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14217:49:12"},"returnParameters":{"id":10113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10121,"src":"14285:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10111,"nodeType":"UserDefinedTypeName","pathNode":{"id":10110,"name":"StdStorage","nameLocations":["14285:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14285:10:12"},"referencedDeclaration":8581,"src":"14285:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14284:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10136,"nodeType":"FunctionDefinition","src":"14380:156:12","nodes":[],"body":{"id":10135,"nodeType":"Block","src":"14472:64:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10132,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10124,"src":"14524:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10130,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14489:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14504:19:12","memberName":"enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":9420,"src":"14489:34:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (struct StdStorage storage pointer)"}},"id":10133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14489:40:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10129,"id":10134,"nodeType":"Return","src":"14482:47:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"14389:19:12","parameters":{"id":10125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10124,"mutability":"mutable","name":"self","nameLocation":"14428:4:12","nodeType":"VariableDeclaration","scope":10136,"src":"14409:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10123,"nodeType":"UserDefinedTypeName","pathNode":{"id":10122,"name":"StdStorage","nameLocations":["14409:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14409:10:12"},"referencedDeclaration":8581,"src":"14409:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14408:25:12"},"returnParameters":{"id":10129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10136,"src":"14452:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10127,"nodeType":"UserDefinedTypeName","pathNode":{"id":10126,"name":"StdStorage","nameLocations":["14452:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14452:10:12"},"referencedDeclaration":8581,"src":"14452:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14451:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10154,"nodeType":"FunctionDefinition","src":"14542:152:12","nodes":[],"body":{"id":10153,"nodeType":"Block","src":"14636:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10149,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10139,"src":"14674:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10150,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10141,"src":"14680:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10147,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14653:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14668:5:12","memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":9440,"src":"14653:20:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":10151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14653:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10146,"id":10152,"nodeType":"Return","src":"14646:41:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"14551:5:12","parameters":{"id":10142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10139,"mutability":"mutable","name":"self","nameLocation":"14576:4:12","nodeType":"VariableDeclaration","scope":10154,"src":"14557:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10138,"nodeType":"UserDefinedTypeName","pathNode":{"id":10137,"name":"StdStorage","nameLocations":["14557:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14557:10:12"},"referencedDeclaration":8581,"src":"14557:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10141,"mutability":"mutable","name":"_depth","nameLocation":"14590:6:12","nodeType":"VariableDeclaration","scope":10154,"src":"14582:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10140,"name":"uint256","nodeType":"ElementaryTypeName","src":"14582:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14556:41:12"},"returnParameters":{"id":10146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10154,"src":"14616:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10144,"nodeType":"UserDefinedTypeName","pathNode":{"id":10143,"name":"StdStorage","nameLocations":["14616:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14616:10:12"},"referencedDeclaration":8581,"src":"14616:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14615:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10167,"nodeType":"FunctionDefinition","src":"14700:92:12","nodes":[],"body":{"id":10166,"nodeType":"Block","src":"14749:43:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10163,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"14780:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10160,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14759:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14774:5:12","memberName":"clear","nodeType":"MemberAccess","referencedDeclaration":9887,"src":"14759:20:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":10164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14759:26:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10165,"nodeType":"ExpressionStatement","src":"14759:26:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"14709:5:12","parameters":{"id":10158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10157,"mutability":"mutable","name":"self","nameLocation":"14734:4:12","nodeType":"VariableDeclaration","scope":10167,"src":"14715:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10156,"nodeType":"UserDefinedTypeName","pathNode":{"id":10155,"name":"StdStorage","nameLocations":["14715:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14715:10:12"},"referencedDeclaration":8581,"src":"14715:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14714:25:12"},"returnParameters":{"id":10159,"nodeType":"ParameterList","parameters":[],"src":"14749:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10190,"nodeType":"FunctionDefinition","src":"14798:138:12","nodes":[],"body":{"id":10189,"nodeType":"Block","src":"14868:68:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10176,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10170,"src":"14892:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"arguments":[{"id":10183,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10172,"src":"14922:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14914:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10181,"name":"uint160","nodeType":"ElementaryTypeName","src":"14914:7:12","typeDescriptions":{}}},"id":10184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14914:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":10180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14906:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10179,"name":"uint256","nodeType":"ElementaryTypeName","src":"14906:7:12","typeDescriptions":{}}},"id":10185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14906:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14898:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14898:7:12","typeDescriptions":{}}},"id":10186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14898:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10175,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[10190,10207,10245,10437],"referencedDeclaration":10437,"src":"14878:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":10187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14878:51:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10188,"nodeType":"ExpressionStatement","src":"14878:51:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14807:13:12","parameters":{"id":10173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10170,"mutability":"mutable","name":"self","nameLocation":"14840:4:12","nodeType":"VariableDeclaration","scope":10190,"src":"14821:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10169,"nodeType":"UserDefinedTypeName","pathNode":{"id":10168,"name":"StdStorage","nameLocations":["14821:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14821:10:12"},"referencedDeclaration":8581,"src":"14821:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10172,"mutability":"mutable","name":"who","nameLocation":"14854:3:12","nodeType":"VariableDeclaration","scope":10190,"src":"14846:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10171,"name":"address","nodeType":"ElementaryTypeName","src":"14846:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14820:38:12"},"returnParameters":{"id":10174,"nodeType":"ParameterList","parameters":[],"src":"14868:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10207,"nodeType":"FunctionDefinition","src":"14942:120:12","nodes":[],"body":{"id":10206,"nodeType":"Block","src":"15012:50:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10199,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10193,"src":"15036:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"id":10202,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10195,"src":"15050:3:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15042:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15042:7:12","typeDescriptions":{}}},"id":10203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15042:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10198,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[10190,10207,10245,10437],"referencedDeclaration":10437,"src":"15022:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":10204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15022:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10205,"nodeType":"ExpressionStatement","src":"15022:33:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14951:13:12","parameters":{"id":10196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10193,"mutability":"mutable","name":"self","nameLocation":"14984:4:12","nodeType":"VariableDeclaration","scope":10207,"src":"14965:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10192,"nodeType":"UserDefinedTypeName","pathNode":{"id":10191,"name":"StdStorage","nameLocations":["14965:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14965:10:12"},"referencedDeclaration":8581,"src":"14965:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10195,"mutability":"mutable","name":"amt","nameLocation":"14998:3:12","nodeType":"VariableDeclaration","scope":10207,"src":"14990:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10194,"name":"uint256","nodeType":"ElementaryTypeName","src":"14990:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14964:38:12"},"returnParameters":{"id":10197,"nodeType":"ParameterList","parameters":[],"src":"15012:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10227,"nodeType":"FunctionDefinition","src":"15068:132:12","nodes":[],"body":{"id":10226,"nodeType":"Block","src":"15141:59:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10216,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10210,"src":"15165:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"id":10221,"name":"val","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10212,"src":"15187:3:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15179:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10219,"name":"uint256","nodeType":"ElementaryTypeName","src":"15179:7:12","typeDescriptions":{}}},"id":10222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15179:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15171:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15171:7:12","typeDescriptions":{}}},"id":10223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15171:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10215,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[10190,10207,10245,10437],"referencedDeclaration":10437,"src":"15151:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":10224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15151:42:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10225,"nodeType":"ExpressionStatement","src":"15151:42:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write_int","nameLocation":"15077:17:12","parameters":{"id":10213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10210,"mutability":"mutable","name":"self","nameLocation":"15114:4:12","nodeType":"VariableDeclaration","scope":10227,"src":"15095:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10209,"nodeType":"UserDefinedTypeName","pathNode":{"id":10208,"name":"StdStorage","nameLocations":["15095:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"15095:10:12"},"referencedDeclaration":8581,"src":"15095:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10212,"mutability":"mutable","name":"val","nameLocation":"15127:3:12","nodeType":"VariableDeclaration","scope":10227,"src":"15120:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10211,"name":"int256","nodeType":"ElementaryTypeName","src":"15120:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"15094:37:12"},"returnParameters":{"id":10214,"nodeType":"ParameterList","parameters":[],"src":"15141:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10245,"nodeType":"FunctionDefinition","src":"15206:222:12","nodes":[],"body":{"id":10244,"nodeType":"Block","src":"15275:153:12","nodes":[],"statements":[{"assignments":[10236],"declarations":[{"constant":false,"id":10236,"mutability":"mutable","name":"t","nameLocation":"15293:1:12","nodeType":"VariableDeclaration","scope":10244,"src":"15285:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15285:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10237,"nodeType":"VariableDeclarationStatement","src":"15285:9:12"},{"AST":{"nativeSrc":"15356:34:12","nodeType":"YulBlock","src":"15356:34:12","statements":[{"nativeSrc":"15370:10:12","nodeType":"YulAssignment","src":"15370:10:12","value":{"name":"write","nativeSrc":"15375:5:12","nodeType":"YulIdentifier","src":"15375:5:12"},"variableNames":[{"name":"t","nativeSrc":"15370:1:12","nodeType":"YulIdentifier","src":"15370:1:12"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":10236,"isOffset":false,"isSlot":false,"src":"15370:1:12","valueSize":1},{"declaration":10232,"isOffset":false,"isSlot":false,"src":"15375:5:12","valueSize":1}],"id":10238,"nodeType":"InlineAssembly","src":"15347:43:12"},{"expression":{"arguments":[{"id":10240,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10230,"src":"15413:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10241,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10236,"src":"15419:1:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10239,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[10190,10207,10245,10437],"referencedDeclaration":10437,"src":"15399:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":10242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15399:22:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10243,"nodeType":"ExpressionStatement","src":"15399:22:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15215:13:12","parameters":{"id":10233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10230,"mutability":"mutable","name":"self","nameLocation":"15248:4:12","nodeType":"VariableDeclaration","scope":10245,"src":"15229:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10229,"nodeType":"UserDefinedTypeName","pathNode":{"id":10228,"name":"StdStorage","nameLocations":["15229:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"15229:10:12"},"referencedDeclaration":8581,"src":"15229:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10232,"mutability":"mutable","name":"write","nameLocation":"15259:5:12","nodeType":"VariableDeclaration","scope":10245,"src":"15254:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10231,"name":"bool","nodeType":"ElementaryTypeName","src":"15254:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15228:37:12"},"returnParameters":{"id":10234,"nodeType":"ParameterList","parameters":[],"src":"15275:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10437,"nodeType":"FunctionDefinition","src":"15434:1484:12","nodes":[],"body":{"id":10436,"nodeType":"Block","src":"15504:1414:12","nodes":[],"statements":[{"assignments":[10254],"declarations":[{"constant":false,"id":10254,"mutability":"mutable","name":"who","nameLocation":"15522:3:12","nodeType":"VariableDeclaration","scope":10436,"src":"15514:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10253,"name":"address","nodeType":"ElementaryTypeName","src":"15514:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":10257,"initialValue":{"expression":{"id":10255,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15528:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15533:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"15528:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15514:26:12"},{"assignments":[10259],"declarations":[{"constant":false,"id":10259,"mutability":"mutable","name":"fsig","nameLocation":"15557:4:12","nodeType":"VariableDeclaration","scope":10436,"src":"15550:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":10258,"name":"bytes4","nodeType":"ElementaryTypeName","src":"15550:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":10262,"initialValue":{"expression":{"id":10260,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15564:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15569:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"15564:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"15550:23:12"},{"assignments":[10264],"declarations":[{"constant":false,"id":10264,"mutability":"mutable","name":"field_depth","nameLocation":"15591:11:12","nodeType":"VariableDeclaration","scope":10436,"src":"15583:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10263,"name":"uint256","nodeType":"ElementaryTypeName","src":"15583:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10267,"initialValue":{"expression":{"id":10265,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15605:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15610:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"15605:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15583:33:12"},{"assignments":[10269],"declarations":[{"constant":false,"id":10269,"mutability":"mutable","name":"params","nameLocation":"15639:6:12","nodeType":"VariableDeclaration","scope":10436,"src":"15626:19:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10268,"name":"bytes","nodeType":"ElementaryTypeName","src":"15626:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10274,"initialValue":{"arguments":[{"id":10272,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15677:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10270,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"15648:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15663:13:12","memberName":"getCallParams","nodeType":"MemberAccess","referencedDeclaration":8660,"src":"15648:28:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":10273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15648:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15626:56:12"},{"condition":{"id":10290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15697:78:12","subExpression":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":10275,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15698:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15703:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"15698:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":10278,"indexExpression":{"id":10277,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"15709:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15698:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":10280,"indexExpression":{"id":10279,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"15714:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15698:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":10288,"indexExpression":{"arguments":[{"arguments":[{"id":10284,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10269,"src":"15747:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":10285,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10264,"src":"15755:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10282,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15730:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15734:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"15730:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15730:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10281,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15720:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15720:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15698:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"id":10289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15770:5:12","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":8555,"src":"15698:77:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10297,"nodeType":"IfStatement","src":"15693:126:12","trueBody":{"id":10296,"nodeType":"Block","src":"15777:42:12","statements":[{"expression":{"arguments":[{"id":10292,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15796:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":10293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15802:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":10291,"name":"find","nodeType":"Identifier","overloadedDeclarations":[9977,9995],"referencedDeclaration":9995,"src":"15791:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":10294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15791:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10295,"nodeType":"ExpressionStatement","src":"15791:17:12"}]}},{"assignments":[10300],"declarations":[{"constant":false,"id":10300,"mutability":"mutable","name":"data","nameLocation":"15845:4:12","nodeType":"VariableDeclaration","scope":10436,"src":"15828:21:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"},"typeName":{"id":10299,"nodeType":"UserDefinedTypeName","pathNode":{"id":10298,"name":"FindData","nameLocations":["15828:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"15828:8:12"},"referencedDeclaration":8556,"src":"15828:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":10315,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":10301,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15852:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10302,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15857:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"15852:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":10304,"indexExpression":{"id":10303,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"15863:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15852:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":10306,"indexExpression":{"id":10305,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"15868:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15852:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":10314,"indexExpression":{"arguments":[{"arguments":[{"id":10310,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10269,"src":"15901:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":10311,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10264,"src":"15909:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10308,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15884:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15888:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"15884:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15884:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10307,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15874:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15874:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15852:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15828:95:12"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10316,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"15938:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15943:10:12","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8551,"src":"15938:15:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":10318,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"15956:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15961:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"15956:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15938:34:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10321,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15937:36:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":10322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15976:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15937:40:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10359,"nodeType":"IfStatement","src":"15933:460:12","trueBody":{"id":10358,"nodeType":"Block","src":"15979:414:12","statements":[{"assignments":[10325],"declarations":[{"constant":false,"id":10325,"mutability":"mutable","name":"maxVal","nameLocation":"16001:6:12","nodeType":"VariableDeclaration","scope":10358,"src":"15993:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10324,"name":"uint256","nodeType":"ElementaryTypeName","src":"15993:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10337,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":10326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16010:1:12","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":10327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16016:3:12","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10328,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16023:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16028:10:12","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8551,"src":"16023:15:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":10330,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16041:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16046:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"16041:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16023:34:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10333,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16022:36:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16016:42:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10335,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16015:44:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16010:49:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15993:66:12"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10341,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10250,"src":"16106:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16098:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10339,"name":"uint256","nodeType":"ElementaryTypeName","src":"16098:7:12","typeDescriptions":{}}},"id":10342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16098:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10343,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10325,"src":"16113:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16098:21:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e2057652063616e2774206669742076616c75652067726561746572207468616e20","id":10349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16207:76:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6d0684ad88a5416aef2586056893899c6c8e834933c68e4c91239ee0856a523","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \""},"value":"stdStorage find(StdStorage): Packed slot. We can't fit value greater than "},{"arguments":[{"id":10352,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10325,"src":"16321:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10350,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9950,"src":"16309:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":10351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16312:8:12","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"16309:11:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16309:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6d0684ad88a5416aef2586056893899c6c8e834933c68e4c91239ee0856a523","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10347,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16165:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16169:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"16165:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16165:185:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16137:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10345,"name":"string","nodeType":"ElementaryTypeName","src":"16137:6:12","typeDescriptions":{}}},"id":10355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:231:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10338,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"16073:7:12","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16073:309:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10357,"nodeType":"ExpressionStatement","src":"16073:309:12"}]}},{"assignments":[10361],"declarations":[{"constant":false,"id":10361,"mutability":"mutable","name":"curVal","nameLocation":"16410:6:12","nodeType":"VariableDeclaration","scope":10436,"src":"16402:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10360,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16402:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10371,"initialValue":{"arguments":[{"id":10364,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"16427:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":10367,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16440:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16445:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"16440:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16432:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16432:7:12","typeDescriptions":{}}},"id":10369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16432:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10362,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9950,"src":"16419:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":10363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16422:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"16419:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":10370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16419:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16402:49:12"},{"assignments":[10373],"declarations":[{"constant":false,"id":10373,"mutability":"mutable","name":"valToSet","nameLocation":"16469:8:12","nodeType":"VariableDeclaration","scope":10436,"src":"16461:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16461:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10386,"initialValue":{"arguments":[{"id":10376,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10361,"src":"16515:6:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":10379,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10250,"src":"16531:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16523:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10377,"name":"uint256","nodeType":"ElementaryTypeName","src":"16523:7:12","typeDescriptions":{}}},"id":10380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16523:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10381,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16537:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10382,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16542:10:12","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8551,"src":"16537:15:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10383,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16554:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16559:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"16554:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10374,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"16480:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16495:19:12","memberName":"getUpdatedSlotValue","nodeType":"MemberAccess","referencedDeclaration":9932,"src":"16480:34:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes32,uint256,uint256,uint256) pure returns (bytes32)"}},"id":10385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16480:91:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16461:110:12"},{"expression":{"arguments":[{"id":10390,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"16591:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":10393,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16604:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16609:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"16604:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16596:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16596:7:12","typeDescriptions":{}}},"id":10395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16596:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10396,"name":"valToSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10373,"src":"16616:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10387,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9950,"src":"16582:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":10389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16585:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"16582:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":10397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16582:43:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10398,"nodeType":"ExpressionStatement","src":"16582:43:12"},{"assignments":[10400,10402],"declarations":[{"constant":false,"id":10400,"mutability":"mutable","name":"success","nameLocation":"16642:7:12","nodeType":"VariableDeclaration","scope":10436,"src":"16637:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10399,"name":"bool","nodeType":"ElementaryTypeName","src":"16637:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10402,"mutability":"mutable","name":"callResult","nameLocation":"16659:10:12","nodeType":"VariableDeclaration","scope":10436,"src":"16651:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16651:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10407,"initialValue":{"arguments":[{"id":10405,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"16699:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10403,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"16673:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16688:10:12","memberName":"callTarget","nodeType":"MemberAccess","referencedDeclaration":8706,"src":"16673:25:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":10406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16673:31:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"16636:68:12"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16719:8:12","subExpression":{"id":10408,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10400,"src":"16720:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":10412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10410,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10402,"src":"16731:10:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":10411,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10250,"src":"16745:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16731:17:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16719:29:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10431,"nodeType":"IfStatement","src":"16715:176:12","trueBody":{"id":10430,"nodeType":"Block","src":"16750:141:12","statements":[{"expression":{"arguments":[{"id":10417,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"16773:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":10420,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16786:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16791:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"16786:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16778:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16778:7:12","typeDescriptions":{}}},"id":10422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16778:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10423,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10361,"src":"16798:6:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10414,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9950,"src":"16764:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":10416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16767:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"16764:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":10424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16764:41:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10425,"nodeType":"ExpressionStatement","src":"16764:41:12"},{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204661696c656420746f2077726974652076616c75652e","id":10427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16826:53:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_b553baf150cfdb312beff968f03edcd3b801a9113d8bc19cff4e03b1eab07b61","typeString":"literal_string \"stdStorage find(StdStorage): Failed to write value.\""},"value":"stdStorage find(StdStorage): Failed to write value."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b553baf150cfdb312beff968f03edcd3b801a9113d8bc19cff4e03b1eab07b61","typeString":"literal_string \"stdStorage find(StdStorage): Failed to write value.\""}],"id":10426,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16819:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":10428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16819:61:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10429,"nodeType":"ExpressionStatement","src":"16819:61:12"}]}},{"expression":{"arguments":[{"id":10433,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"16906:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":10432,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10167,"src":"16900:5:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":10434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16900:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10435,"nodeType":"ExpressionStatement","src":"16900:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15443:13:12","parameters":{"id":10251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10248,"mutability":"mutable","name":"self","nameLocation":"15476:4:12","nodeType":"VariableDeclaration","scope":10437,"src":"15457:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10247,"nodeType":"UserDefinedTypeName","pathNode":{"id":10246,"name":"StdStorage","nameLocations":["15457:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"15457:10:12"},"referencedDeclaration":8581,"src":"15457:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10250,"mutability":"mutable","name":"set","nameLocation":"15490:3:12","nodeType":"VariableDeclaration","scope":10437,"src":"15482:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15482:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15456:38:12"},"returnParameters":{"id":10252,"nodeType":"ParameterList","parameters":[],"src":"15504:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10451,"nodeType":"FunctionDefinition","src":"16924:131:12","nodes":[],"body":{"id":10450,"nodeType":"Block","src":"16998:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10447,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10440,"src":"17043:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10445,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17015:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17030:12:12","memberName":"read_bytes32","nodeType":"MemberAccess","referencedDeclaration":9516,"src":"17015:27:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (bytes32)"}},"id":10448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17015:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10444,"id":10449,"nodeType":"Return","src":"17008:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"16933:12:12","parameters":{"id":10441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10440,"mutability":"mutable","name":"self","nameLocation":"16965:4:12","nodeType":"VariableDeclaration","scope":10451,"src":"16946:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10439,"nodeType":"UserDefinedTypeName","pathNode":{"id":10438,"name":"StdStorage","nameLocations":["16946:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"16946:10:12"},"referencedDeclaration":8581,"src":"16946:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"16945:25:12"},"returnParameters":{"id":10444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10451,"src":"16989:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16989:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16988:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10465,"nodeType":"FunctionDefinition","src":"17061:122:12","nodes":[],"body":{"id":10464,"nodeType":"Block","src":"17129:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10461,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10454,"src":"17171:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10459,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17146:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17161:9:12","memberName":"read_bool","nodeType":"MemberAccess","referencedDeclaration":9547,"src":"17146:24:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer) returns (bool)"}},"id":10462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17146:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10458,"id":10463,"nodeType":"Return","src":"17139:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"17070:9:12","parameters":{"id":10455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10454,"mutability":"mutable","name":"self","nameLocation":"17099:4:12","nodeType":"VariableDeclaration","scope":10465,"src":"17080:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10453,"nodeType":"UserDefinedTypeName","pathNode":{"id":10452,"name":"StdStorage","nameLocations":["17080:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17080:10:12"},"referencedDeclaration":8581,"src":"17080:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17079:25:12"},"returnParameters":{"id":10458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10465,"src":"17123:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10456,"name":"bool","nodeType":"ElementaryTypeName","src":"17123:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17122:6:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10479,"nodeType":"FunctionDefinition","src":"17189:131:12","nodes":[],"body":{"id":10478,"nodeType":"Block","src":"17263:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10475,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10468,"src":"17308:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10473,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17280:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17295:12:12","memberName":"read_address","nodeType":"MemberAccess","referencedDeclaration":9566,"src":"17280:27:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_address_$","typeString":"function (struct StdStorage storage pointer) returns (address)"}},"id":10476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10472,"id":10477,"nodeType":"Return","src":"17273:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"17198:12:12","parameters":{"id":10469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10468,"mutability":"mutable","name":"self","nameLocation":"17230:4:12","nodeType":"VariableDeclaration","scope":10479,"src":"17211:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10467,"nodeType":"UserDefinedTypeName","pathNode":{"id":10466,"name":"StdStorage","nameLocations":["17211:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17211:10:12"},"referencedDeclaration":8581,"src":"17211:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17210:25:12"},"returnParameters":{"id":10472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10479,"src":"17254:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10470,"name":"address","nodeType":"ElementaryTypeName","src":"17254:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17253:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10493,"nodeType":"FunctionDefinition","src":"17326:125:12","nodes":[],"body":{"id":10492,"nodeType":"Block","src":"17397:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10489,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10482,"src":"17439:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10487,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17414:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17429:9:12","memberName":"read_uint","nodeType":"MemberAccess","referencedDeclaration":9585,"src":"17414:24:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":10490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17414:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10486,"id":10491,"nodeType":"Return","src":"17407:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"17335:9:12","parameters":{"id":10483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10482,"mutability":"mutable","name":"self","nameLocation":"17364:4:12","nodeType":"VariableDeclaration","scope":10493,"src":"17345:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10481,"nodeType":"UserDefinedTypeName","pathNode":{"id":10480,"name":"StdStorage","nameLocations":["17345:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17345:10:12"},"referencedDeclaration":8581,"src":"17345:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17344:25:12"},"returnParameters":{"id":10486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10493,"src":"17388:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10484,"name":"uint256","nodeType":"ElementaryTypeName","src":"17388:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17387:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10507,"nodeType":"FunctionDefinition","src":"17457:122:12","nodes":[],"body":{"id":10506,"nodeType":"Block","src":"17526:53:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10503,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10496,"src":"17567:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10501,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17543:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17558:8:12","memberName":"read_int","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"17543:23:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":10504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17543:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":10500,"id":10505,"nodeType":"Return","src":"17536:36:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"17466:8:12","parameters":{"id":10497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10496,"mutability":"mutable","name":"self","nameLocation":"17494:4:12","nodeType":"VariableDeclaration","scope":10507,"src":"17475:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10495,"nodeType":"UserDefinedTypeName","pathNode":{"id":10494,"name":"StdStorage","nameLocations":["17475:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17475:10:12"},"referencedDeclaration":8581,"src":"17475:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17474:25:12"},"returnParameters":{"id":10500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10507,"src":"17518:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10498,"name":"int256","nodeType":"ElementaryTypeName","src":"17518:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17517:8:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10523,"nodeType":"FunctionDefinition","src":"17585:128:12","nodes":[],"body":{"id":10522,"nodeType":"Block","src":"17662:51:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10519,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10510,"src":"17701:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10517,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17679:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17694:6:12","memberName":"parent","nodeType":"MemberAccess","referencedDeclaration":9670,"src":"17679:21:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_uint256_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (uint256,bytes32)"}},"id":10520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17679:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":10516,"id":10521,"nodeType":"Return","src":"17672:34:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"17594:6:12","parameters":{"id":10511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10510,"mutability":"mutable","name":"self","nameLocation":"17620:4:12","nodeType":"VariableDeclaration","scope":10523,"src":"17601:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10509,"nodeType":"UserDefinedTypeName","pathNode":{"id":10508,"name":"StdStorage","nameLocations":["17601:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17601:10:12"},"referencedDeclaration":8581,"src":"17601:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17600:25:12"},"returnParameters":{"id":10516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10523,"src":"17644:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10512,"name":"uint256","nodeType":"ElementaryTypeName","src":"17644:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10515,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10523,"src":"17653:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17653:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17643:18:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10537,"nodeType":"FunctionDefinition","src":"17719:115:12","nodes":[],"body":{"id":10536,"nodeType":"Block","src":"17785:49:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10533,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10526,"src":"17822:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10531,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17802:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17817:4:12","memberName":"root","nodeType":"MemberAccess","referencedDeclaration":9759,"src":"17802:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":10534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17802:25:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10530,"id":10535,"nodeType":"Return","src":"17795:32:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"17728:4:12","parameters":{"id":10527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10526,"mutability":"mutable","name":"self","nameLocation":"17752:4:12","nodeType":"VariableDeclaration","scope":10537,"src":"17733:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10525,"nodeType":"UserDefinedTypeName","pathNode":{"id":10524,"name":"StdStorage","nameLocations":["17733:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17733:10:12"},"referencedDeclaration":8581,"src":"17733:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17732:25:12"},"returnParameters":{"id":10530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10529,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10537,"src":"17776:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10528,"name":"uint256","nodeType":"ElementaryTypeName","src":"17776:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17775:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorage","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[10538],"name":"stdStorage","nameLocation":"12763:10:12","scope":10539,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdStyle.sol":{"id":13,"ast":{"absolutePath":"lib/forge-std/src/StdStyle.sol","id":11750,"exportedSymbols":{"StdStyle":[11749],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"32:10430:13","nodes":[{"id":10540,"nodeType":"PragmaDirective","src":"32:32:13","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":10542,"nodeType":"ImportDirective","src":"66:32:13","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":11750,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":10541,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"74:6:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11749,"nodeType":"ContractDefinition","src":"100:10361:13","nodes":[{"id":10559,"nodeType":"VariableDeclaration","src":"123:92:13","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"147:2:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":10544,"nodeType":"UserDefinedTypeName","pathNode":{"id":10543,"name":"VmSafe","nameLocations":["123:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"123:6:13"},"referencedDeclaration":17608,"src":"123:6:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":10553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"193:17:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":10552,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"183:9:13","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"183:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"175:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10550,"name":"uint256","nodeType":"ElementaryTypeName","src":"175:7:13","typeDescriptions":{}}},"id":10555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"175:37:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"167:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10548,"name":"uint160","nodeType":"ElementaryTypeName","src":"167:7:13","typeDescriptions":{}}},"id":10556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"167:46:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":10547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"159:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10546,"name":"address","nodeType":"ElementaryTypeName","src":"159:7:13","typeDescriptions":{}}},"id":10557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"159:55:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10545,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"152:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":10558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"152:63:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":10562,"nodeType":"VariableDeclaration","src":"222:34:13","nodes":[],"constant":true,"mutability":"constant","name":"RED","nameLocation":"238:3:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10560,"name":"string","nodeType":"ElementaryTypeName","src":"222:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39316d","id":10561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"244:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_e865f62b1188865fdbe08fdbe8546369f5c78a8f677a27514aadc154b4263c18","typeString":"literal_string hex\"1b5b39316d\""},"value":"\u001b[91m"},"visibility":"internal"},{"id":10565,"nodeType":"VariableDeclaration","src":"262:36:13","nodes":[],"constant":true,"mutability":"constant","name":"GREEN","nameLocation":"278:5:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10563,"name":"string","nodeType":"ElementaryTypeName","src":"262:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39326d","id":10564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"286:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_250c6c79af2fd59b948ba31b977e669524bbf27faba009961b135f1635e1e32b","typeString":"literal_string hex\"1b5b39326d\""},"value":"\u001b[92m"},"visibility":"internal"},{"id":10568,"nodeType":"VariableDeclaration","src":"304:37:13","nodes":[],"constant":true,"mutability":"constant","name":"YELLOW","nameLocation":"320:6:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10566,"name":"string","nodeType":"ElementaryTypeName","src":"304:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39336d","id":10567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"329:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_801b445b8c4f71d86cf740b8fd9f85e172d35421144725dd58fed362de2e6cf5","typeString":"literal_string hex\"1b5b39336d\""},"value":"\u001b[93m"},"visibility":"internal"},{"id":10571,"nodeType":"VariableDeclaration","src":"347:35:13","nodes":[],"constant":true,"mutability":"constant","name":"BLUE","nameLocation":"363:4:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10569,"name":"string","nodeType":"ElementaryTypeName","src":"347:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39346d","id":10570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"370:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_66ecf2e89553c52e360a74737e5e4e3d15e4d08217c17497ca50efb90c95d593","typeString":"literal_string hex\"1b5b39346d\""},"value":"\u001b[94m"},"visibility":"internal"},{"id":10574,"nodeType":"VariableDeclaration","src":"388:38:13","nodes":[],"constant":true,"mutability":"constant","name":"MAGENTA","nameLocation":"404:7:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10572,"name":"string","nodeType":"ElementaryTypeName","src":"388:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39356d","id":10573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"414:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81cf1fd9bcd2b49f14457c6168490b5ff507c85cc3778934da8235d270d6b5b","typeString":"literal_string hex\"1b5b39356d\""},"value":"\u001b[95m"},"visibility":"internal"},{"id":10577,"nodeType":"VariableDeclaration","src":"432:35:13","nodes":[],"constant":true,"mutability":"constant","name":"CYAN","nameLocation":"448:4:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10575,"name":"string","nodeType":"ElementaryTypeName","src":"432:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39366d","id":10576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"455:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_f73c74e3aa04446480bd18c1b857a46321f6d66d2bfb703d52333566c779447b","typeString":"literal_string hex\"1b5b39366d\""},"value":"\u001b[96m"},"visibility":"internal"},{"id":10580,"nodeType":"VariableDeclaration","src":"473:34:13","nodes":[],"constant":true,"mutability":"constant","name":"BOLD","nameLocation":"489:4:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10578,"name":"string","nodeType":"ElementaryTypeName","src":"473:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b316d","id":10579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"496:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_b25b1471c5d449346ad6b37b501b2d5911d6e2bad13ad71d09cdfa3d3b140a17","typeString":"literal_string hex\"1b5b316d\""},"value":"\u001b[1m"},"visibility":"internal"},{"id":10583,"nodeType":"VariableDeclaration","src":"513:33:13","nodes":[],"constant":true,"mutability":"constant","name":"DIM","nameLocation":"529:3:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10581,"name":"string","nodeType":"ElementaryTypeName","src":"513:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b326d","id":10582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"535:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f556fa434add49eadfa043e74ff00496b89a16068544c1118ec19f5d8603d51","typeString":"literal_string hex\"1b5b326d\""},"value":"\u001b[2m"},"visibility":"internal"},{"id":10586,"nodeType":"VariableDeclaration","src":"552:36:13","nodes":[],"constant":true,"mutability":"constant","name":"ITALIC","nameLocation":"568:6:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10584,"name":"string","nodeType":"ElementaryTypeName","src":"552:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b336d","id":10585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"577:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_3889f2814cfbcc60c7a881028023c05aed4a6dae60be0df554f690b1f4e7411f","typeString":"literal_string hex\"1b5b336d\""},"value":"\u001b[3m"},"visibility":"internal"},{"id":10589,"nodeType":"VariableDeclaration","src":"594:39:13","nodes":[],"constant":true,"mutability":"constant","name":"UNDERLINE","nameLocation":"610:9:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10587,"name":"string","nodeType":"ElementaryTypeName","src":"594:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b346d","id":10588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"622:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_48cbbbbdbcd789b35edf67deaad6f96f406603d9181318ca90ef32f90fedb5bb","typeString":"literal_string hex\"1b5b346d\""},"value":"\u001b[4m"},"visibility":"internal"},{"id":10592,"nodeType":"VariableDeclaration","src":"639:37:13","nodes":[],"constant":true,"mutability":"constant","name":"INVERSE","nameLocation":"655:7:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10590,"name":"string","nodeType":"ElementaryTypeName","src":"639:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b376d","id":10591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"665:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_963e08c830a620b3640a99ac46ac6850f28c8f20be064518b3acc7016c3e286e","typeString":"literal_string hex\"1b5b376d\""},"value":"\u001b[7m"},"visibility":"internal"},{"id":10595,"nodeType":"VariableDeclaration","src":"682:35:13","nodes":[],"constant":true,"mutability":"constant","name":"RESET","nameLocation":"698:5:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10593,"name":"string","nodeType":"ElementaryTypeName","src":"682:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b306d","id":10594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"706:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_289c700ce2c600d61adfc66f83b41c26150052f3ea6c772e582ea6afd03d1949","typeString":"literal_string hex\"1b5b306d\""},"value":"\u001b[0m"},"visibility":"internal"},{"id":10615,"nodeType":"FunctionDefinition","src":"724:167:13","nodes":[],"body":{"id":10614,"nodeType":"Block","src":"823:68:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10608,"name":"style","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10597,"src":"864:5:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10609,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10599,"src":"871:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10610,"name":"RESET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10595,"src":"877:5:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10606,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"847:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"851:12:13","memberName":"encodePacked","nodeType":"MemberAccess","src":"847:16:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"847:36:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"840:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10604,"name":"string","nodeType":"ElementaryTypeName","src":"840:6:13","typeDescriptions":{}}},"id":10612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"840:44:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10603,"id":10613,"nodeType":"Return","src":"833:51:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"styleConcat","nameLocation":"733:11:13","parameters":{"id":10600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10597,"mutability":"mutable","name":"style","nameLocation":"759:5:13","nodeType":"VariableDeclaration","scope":10615,"src":"745:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10596,"name":"string","nodeType":"ElementaryTypeName","src":"745:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10599,"mutability":"mutable","name":"self","nameLocation":"780:4:13","nodeType":"VariableDeclaration","scope":10615,"src":"766:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10598,"name":"string","nodeType":"ElementaryTypeName","src":"766:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"744:41:13"},"returnParameters":{"id":10603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10602,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10615,"src":"808:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10601,"name":"string","nodeType":"ElementaryTypeName","src":"808:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"807:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":10628,"nodeType":"FunctionDefinition","src":"897:117:13","nodes":[],"body":{"id":10627,"nodeType":"Block","src":"968:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":10623,"name":"RED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10562,"src":"997:3:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10624,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10617,"src":"1002:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10622,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"985:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"985:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10621,"id":10626,"nodeType":"Return","src":"978:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"906:3:13","parameters":{"id":10618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10617,"mutability":"mutable","name":"self","nameLocation":"924:4:13","nodeType":"VariableDeclaration","scope":10628,"src":"910:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10616,"name":"string","nodeType":"ElementaryTypeName","src":"910:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"909:20:13"},"returnParameters":{"id":10621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10628,"src":"953:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10619,"name":"string","nodeType":"ElementaryTypeName","src":"953:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"952:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10643,"nodeType":"FunctionDefinition","src":"1020:111:13","nodes":[],"body":{"id":10642,"nodeType":"Block","src":"1085:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10638,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10630,"src":"1118:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10636,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1106:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1109:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"1106:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1106:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10635,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1102:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1102:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10634,"id":10641,"nodeType":"Return","src":"1095:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1029:3:13","parameters":{"id":10631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10630,"mutability":"mutable","name":"self","nameLocation":"1041:4:13","nodeType":"VariableDeclaration","scope":10643,"src":"1033:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10629,"name":"uint256","nodeType":"ElementaryTypeName","src":"1033:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1032:14:13"},"returnParameters":{"id":10634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10633,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10643,"src":"1070:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10632,"name":"string","nodeType":"ElementaryTypeName","src":"1070:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1069:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10658,"nodeType":"FunctionDefinition","src":"1137:110:13","nodes":[],"body":{"id":10657,"nodeType":"Block","src":"1201:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10653,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10645,"src":"1234:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10651,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1222:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1225:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"1222:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1222:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10650,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1218:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1218:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10649,"id":10656,"nodeType":"Return","src":"1211:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1146:3:13","parameters":{"id":10646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10645,"mutability":"mutable","name":"self","nameLocation":"1157:4:13","nodeType":"VariableDeclaration","scope":10658,"src":"1150:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10644,"name":"int256","nodeType":"ElementaryTypeName","src":"1150:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1149:13:13"},"returnParameters":{"id":10649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10648,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10658,"src":"1186:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10647,"name":"string","nodeType":"ElementaryTypeName","src":"1186:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1185:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10673,"nodeType":"FunctionDefinition","src":"1253:111:13","nodes":[],"body":{"id":10672,"nodeType":"Block","src":"1318:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10668,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10660,"src":"1351:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10666,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1339:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1342:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"1339:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1339:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10665,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1335:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1335:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10664,"id":10671,"nodeType":"Return","src":"1328:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1262:3:13","parameters":{"id":10661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10660,"mutability":"mutable","name":"self","nameLocation":"1274:4:13","nodeType":"VariableDeclaration","scope":10673,"src":"1266:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10659,"name":"address","nodeType":"ElementaryTypeName","src":"1266:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1265:14:13"},"returnParameters":{"id":10664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10673,"src":"1303:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10662,"name":"string","nodeType":"ElementaryTypeName","src":"1303:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1302:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10688,"nodeType":"FunctionDefinition","src":"1370:108:13","nodes":[],"body":{"id":10687,"nodeType":"Block","src":"1432:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10683,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10675,"src":"1465:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10681,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1453:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1456:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"1453:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1453:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10680,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1449:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1449:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10679,"id":10686,"nodeType":"Return","src":"1442:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1379:3:13","parameters":{"id":10676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10675,"mutability":"mutable","name":"self","nameLocation":"1388:4:13","nodeType":"VariableDeclaration","scope":10688,"src":"1383:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10674,"name":"bool","nodeType":"ElementaryTypeName","src":"1383:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1382:11:13"},"returnParameters":{"id":10679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10688,"src":"1417:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10677,"name":"string","nodeType":"ElementaryTypeName","src":"1417:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1416:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10703,"nodeType":"FunctionDefinition","src":"1484:121:13","nodes":[],"body":{"id":10702,"nodeType":"Block","src":"1559:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10698,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10690,"src":"1592:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10696,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1580:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1583:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"1580:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1580:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10695,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1576:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1576:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10694,"id":10701,"nodeType":"Return","src":"1569:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes","nameLocation":"1493:8:13","parameters":{"id":10691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10690,"mutability":"mutable","name":"self","nameLocation":"1515:4:13","nodeType":"VariableDeclaration","scope":10703,"src":"1502:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10689,"name":"bytes","nodeType":"ElementaryTypeName","src":"1502:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1501:19:13"},"returnParameters":{"id":10694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10703,"src":"1544:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10692,"name":"string","nodeType":"ElementaryTypeName","src":"1544:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1543:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10718,"nodeType":"FunctionDefinition","src":"1611:118:13","nodes":[],"body":{"id":10717,"nodeType":"Block","src":"1683:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10713,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10705,"src":"1716:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10711,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1704:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1707:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"1704:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1704:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10710,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1700:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1700:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10709,"id":10716,"nodeType":"Return","src":"1693:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes32","nameLocation":"1620:10:13","parameters":{"id":10706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10705,"mutability":"mutable","name":"self","nameLocation":"1639:4:13","nodeType":"VariableDeclaration","scope":10718,"src":"1631:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1631:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1630:14:13"},"returnParameters":{"id":10709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10708,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10718,"src":"1668:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10707,"name":"string","nodeType":"ElementaryTypeName","src":"1668:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1667:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10731,"nodeType":"FunctionDefinition","src":"1735:121:13","nodes":[],"body":{"id":10730,"nodeType":"Block","src":"1808:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":10726,"name":"GREEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10565,"src":"1837:5:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10727,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10720,"src":"1844:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10725,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"1825:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1825:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10724,"id":10729,"nodeType":"Return","src":"1818:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1744:5:13","parameters":{"id":10721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10720,"mutability":"mutable","name":"self","nameLocation":"1764:4:13","nodeType":"VariableDeclaration","scope":10731,"src":"1750:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10719,"name":"string","nodeType":"ElementaryTypeName","src":"1750:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1749:20:13"},"returnParameters":{"id":10724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10731,"src":"1793:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10722,"name":"string","nodeType":"ElementaryTypeName","src":"1793:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1792:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10746,"nodeType":"FunctionDefinition","src":"1862:115:13","nodes":[],"body":{"id":10745,"nodeType":"Block","src":"1929:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10741,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10733,"src":"1964:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10739,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1952:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1955:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"1952:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1952:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10738,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"1946:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1946:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10737,"id":10744,"nodeType":"Return","src":"1939:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1871:5:13","parameters":{"id":10734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10733,"mutability":"mutable","name":"self","nameLocation":"1885:4:13","nodeType":"VariableDeclaration","scope":10746,"src":"1877:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10732,"name":"uint256","nodeType":"ElementaryTypeName","src":"1877:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1876:14:13"},"returnParameters":{"id":10737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10736,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10746,"src":"1914:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10735,"name":"string","nodeType":"ElementaryTypeName","src":"1914:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1913:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10761,"nodeType":"FunctionDefinition","src":"1983:114:13","nodes":[],"body":{"id":10760,"nodeType":"Block","src":"2049:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10756,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10748,"src":"2084:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10754,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2072:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2075:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"2072:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2072:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10753,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2066:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2066:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10752,"id":10759,"nodeType":"Return","src":"2059:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1992:5:13","parameters":{"id":10749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10748,"mutability":"mutable","name":"self","nameLocation":"2005:4:13","nodeType":"VariableDeclaration","scope":10761,"src":"1998:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10747,"name":"int256","nodeType":"ElementaryTypeName","src":"1998:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1997:13:13"},"returnParameters":{"id":10752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10761,"src":"2034:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10750,"name":"string","nodeType":"ElementaryTypeName","src":"2034:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2033:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10776,"nodeType":"FunctionDefinition","src":"2103:115:13","nodes":[],"body":{"id":10775,"nodeType":"Block","src":"2170:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10771,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10763,"src":"2205:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10769,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2193:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2196:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"2193:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2193:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10768,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2187:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2187:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10767,"id":10774,"nodeType":"Return","src":"2180:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2112:5:13","parameters":{"id":10764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10763,"mutability":"mutable","name":"self","nameLocation":"2126:4:13","nodeType":"VariableDeclaration","scope":10776,"src":"2118:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10762,"name":"address","nodeType":"ElementaryTypeName","src":"2118:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2117:14:13"},"returnParameters":{"id":10767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10776,"src":"2155:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10765,"name":"string","nodeType":"ElementaryTypeName","src":"2155:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2154:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10791,"nodeType":"FunctionDefinition","src":"2224:112:13","nodes":[],"body":{"id":10790,"nodeType":"Block","src":"2288:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10786,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10778,"src":"2323:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10784,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2311:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2314:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"2311:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2311:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10783,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2305:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2305:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10782,"id":10789,"nodeType":"Return","src":"2298:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2233:5:13","parameters":{"id":10779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10778,"mutability":"mutable","name":"self","nameLocation":"2244:4:13","nodeType":"VariableDeclaration","scope":10791,"src":"2239:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10777,"name":"bool","nodeType":"ElementaryTypeName","src":"2239:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2238:11:13"},"returnParameters":{"id":10782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10791,"src":"2273:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10780,"name":"string","nodeType":"ElementaryTypeName","src":"2273:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2272:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10806,"nodeType":"FunctionDefinition","src":"2342:125:13","nodes":[],"body":{"id":10805,"nodeType":"Block","src":"2419:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10801,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10793,"src":"2454:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10799,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2442:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2445:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"2442:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2442:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10798,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2436:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2436:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10797,"id":10804,"nodeType":"Return","src":"2429:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes","nameLocation":"2351:10:13","parameters":{"id":10794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10793,"mutability":"mutable","name":"self","nameLocation":"2375:4:13","nodeType":"VariableDeclaration","scope":10806,"src":"2362:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10792,"name":"bytes","nodeType":"ElementaryTypeName","src":"2362:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2361:19:13"},"returnParameters":{"id":10797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10796,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10806,"src":"2404:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10795,"name":"string","nodeType":"ElementaryTypeName","src":"2404:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2403:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10821,"nodeType":"FunctionDefinition","src":"2473:122:13","nodes":[],"body":{"id":10820,"nodeType":"Block","src":"2547:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10816,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10808,"src":"2582:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2570:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2573:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"2570:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2570:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10813,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2564:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2564:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10812,"id":10819,"nodeType":"Return","src":"2557:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes32","nameLocation":"2482:12:13","parameters":{"id":10809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10808,"mutability":"mutable","name":"self","nameLocation":"2503:4:13","nodeType":"VariableDeclaration","scope":10821,"src":"2495:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2495:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2494:14:13"},"returnParameters":{"id":10812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10811,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10821,"src":"2532:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10810,"name":"string","nodeType":"ElementaryTypeName","src":"2532:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2531:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10834,"nodeType":"FunctionDefinition","src":"2601:123:13","nodes":[],"body":{"id":10833,"nodeType":"Block","src":"2675:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":10829,"name":"YELLOW","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10568,"src":"2704:6:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10830,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10823,"src":"2712:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10828,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"2692:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2692:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10827,"id":10832,"nodeType":"Return","src":"2685:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2610:6:13","parameters":{"id":10824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10823,"mutability":"mutable","name":"self","nameLocation":"2631:4:13","nodeType":"VariableDeclaration","scope":10834,"src":"2617:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10822,"name":"string","nodeType":"ElementaryTypeName","src":"2617:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2616:20:13"},"returnParameters":{"id":10827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10826,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10834,"src":"2660:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10825,"name":"string","nodeType":"ElementaryTypeName","src":"2660:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2659:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10849,"nodeType":"FunctionDefinition","src":"2730:117:13","nodes":[],"body":{"id":10848,"nodeType":"Block","src":"2798:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10844,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10836,"src":"2834:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10842,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2822:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2825:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"2822:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2822:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10841,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"2815:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2815:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10840,"id":10847,"nodeType":"Return","src":"2808:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2739:6:13","parameters":{"id":10837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10836,"mutability":"mutable","name":"self","nameLocation":"2754:4:13","nodeType":"VariableDeclaration","scope":10849,"src":"2746:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10835,"name":"uint256","nodeType":"ElementaryTypeName","src":"2746:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2745:14:13"},"returnParameters":{"id":10840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10849,"src":"2783:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10838,"name":"string","nodeType":"ElementaryTypeName","src":"2783:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2782:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10864,"nodeType":"FunctionDefinition","src":"2853:116:13","nodes":[],"body":{"id":10863,"nodeType":"Block","src":"2920:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10859,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10851,"src":"2956:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10857,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2944:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2947:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"2944:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2944:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10856,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"2937:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2937:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10855,"id":10862,"nodeType":"Return","src":"2930:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2862:6:13","parameters":{"id":10852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10851,"mutability":"mutable","name":"self","nameLocation":"2876:4:13","nodeType":"VariableDeclaration","scope":10864,"src":"2869:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10850,"name":"int256","nodeType":"ElementaryTypeName","src":"2869:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2868:13:13"},"returnParameters":{"id":10855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10854,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10864,"src":"2905:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10853,"name":"string","nodeType":"ElementaryTypeName","src":"2905:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2904:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10879,"nodeType":"FunctionDefinition","src":"2975:117:13","nodes":[],"body":{"id":10878,"nodeType":"Block","src":"3043:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10874,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10866,"src":"3079:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3067:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3070:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"3067:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3067:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10871,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"3060:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3060:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10870,"id":10877,"nodeType":"Return","src":"3053:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2984:6:13","parameters":{"id":10867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10866,"mutability":"mutable","name":"self","nameLocation":"2999:4:13","nodeType":"VariableDeclaration","scope":10879,"src":"2991:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10865,"name":"address","nodeType":"ElementaryTypeName","src":"2991:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2990:14:13"},"returnParameters":{"id":10870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10879,"src":"3028:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10868,"name":"string","nodeType":"ElementaryTypeName","src":"3028:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3027:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10894,"nodeType":"FunctionDefinition","src":"3098:114:13","nodes":[],"body":{"id":10893,"nodeType":"Block","src":"3163:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10889,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10881,"src":"3199:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10887,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3187:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3190:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"3187:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3187:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10886,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"3180:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3180:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10885,"id":10892,"nodeType":"Return","src":"3173:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"3107:6:13","parameters":{"id":10882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10881,"mutability":"mutable","name":"self","nameLocation":"3119:4:13","nodeType":"VariableDeclaration","scope":10894,"src":"3114:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10880,"name":"bool","nodeType":"ElementaryTypeName","src":"3114:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3113:11:13"},"returnParameters":{"id":10885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10894,"src":"3148:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10883,"name":"string","nodeType":"ElementaryTypeName","src":"3148:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3147:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10909,"nodeType":"FunctionDefinition","src":"3218:127:13","nodes":[],"body":{"id":10908,"nodeType":"Block","src":"3296:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10904,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10896,"src":"3332:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10902,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3320:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3323:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"3320:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3320:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10901,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"3313:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3313:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10900,"id":10907,"nodeType":"Return","src":"3306:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes","nameLocation":"3227:11:13","parameters":{"id":10897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10896,"mutability":"mutable","name":"self","nameLocation":"3252:4:13","nodeType":"VariableDeclaration","scope":10909,"src":"3239:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10895,"name":"bytes","nodeType":"ElementaryTypeName","src":"3239:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3238:19:13"},"returnParameters":{"id":10900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10899,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10909,"src":"3281:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10898,"name":"string","nodeType":"ElementaryTypeName","src":"3281:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3280:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10924,"nodeType":"FunctionDefinition","src":"3351:124:13","nodes":[],"body":{"id":10923,"nodeType":"Block","src":"3426:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10919,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10911,"src":"3462:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10917,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3450:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3453:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"3450:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3450:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10916,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"3443:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3443:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10915,"id":10922,"nodeType":"Return","src":"3436:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes32","nameLocation":"3360:13:13","parameters":{"id":10912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10911,"mutability":"mutable","name":"self","nameLocation":"3382:4:13","nodeType":"VariableDeclaration","scope":10924,"src":"3374:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3374:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3373:14:13"},"returnParameters":{"id":10915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10914,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10924,"src":"3411:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10913,"name":"string","nodeType":"ElementaryTypeName","src":"3411:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3410:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10937,"nodeType":"FunctionDefinition","src":"3481:119:13","nodes":[],"body":{"id":10936,"nodeType":"Block","src":"3553:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":10932,"name":"BLUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10571,"src":"3582:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10933,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10926,"src":"3588:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10931,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"3570:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10930,"id":10935,"nodeType":"Return","src":"3563:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3490:4:13","parameters":{"id":10927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10926,"mutability":"mutable","name":"self","nameLocation":"3509:4:13","nodeType":"VariableDeclaration","scope":10937,"src":"3495:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10925,"name":"string","nodeType":"ElementaryTypeName","src":"3495:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3494:20:13"},"returnParameters":{"id":10930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10937,"src":"3538:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10928,"name":"string","nodeType":"ElementaryTypeName","src":"3538:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3537:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10952,"nodeType":"FunctionDefinition","src":"3606:113:13","nodes":[],"body":{"id":10951,"nodeType":"Block","src":"3672:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10947,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10939,"src":"3706:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10945,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3694:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3697:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"3694:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3694:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10944,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"3689:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3689:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10943,"id":10950,"nodeType":"Return","src":"3682:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3615:4:13","parameters":{"id":10940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10939,"mutability":"mutable","name":"self","nameLocation":"3628:4:13","nodeType":"VariableDeclaration","scope":10952,"src":"3620:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10938,"name":"uint256","nodeType":"ElementaryTypeName","src":"3620:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3619:14:13"},"returnParameters":{"id":10943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10942,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10952,"src":"3657:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10941,"name":"string","nodeType":"ElementaryTypeName","src":"3657:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3656:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10967,"nodeType":"FunctionDefinition","src":"3725:112:13","nodes":[],"body":{"id":10966,"nodeType":"Block","src":"3790:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10962,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10954,"src":"3824:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10960,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3812:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3815:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"3812:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3812:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10959,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"3807:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3807:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10958,"id":10965,"nodeType":"Return","src":"3800:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3734:4:13","parameters":{"id":10955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10954,"mutability":"mutable","name":"self","nameLocation":"3746:4:13","nodeType":"VariableDeclaration","scope":10967,"src":"3739:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10953,"name":"int256","nodeType":"ElementaryTypeName","src":"3739:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3738:13:13"},"returnParameters":{"id":10958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10967,"src":"3775:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10956,"name":"string","nodeType":"ElementaryTypeName","src":"3775:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3774:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10982,"nodeType":"FunctionDefinition","src":"3843:113:13","nodes":[],"body":{"id":10981,"nodeType":"Block","src":"3909:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10977,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10969,"src":"3943:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10975,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3931:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3934:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"3931:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3931:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10974,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"3926:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3926:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10973,"id":10980,"nodeType":"Return","src":"3919:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3852:4:13","parameters":{"id":10970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10969,"mutability":"mutable","name":"self","nameLocation":"3865:4:13","nodeType":"VariableDeclaration","scope":10982,"src":"3857:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10968,"name":"address","nodeType":"ElementaryTypeName","src":"3857:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3856:14:13"},"returnParameters":{"id":10973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10972,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10982,"src":"3894:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10971,"name":"string","nodeType":"ElementaryTypeName","src":"3894:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3893:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10997,"nodeType":"FunctionDefinition","src":"3962:110:13","nodes":[],"body":{"id":10996,"nodeType":"Block","src":"4025:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10992,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10984,"src":"4059:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10990,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4047:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4050:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"4047:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10989,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"4042:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4042:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10988,"id":10995,"nodeType":"Return","src":"4035:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3971:4:13","parameters":{"id":10985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10984,"mutability":"mutable","name":"self","nameLocation":"3981:4:13","nodeType":"VariableDeclaration","scope":10997,"src":"3976:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10983,"name":"bool","nodeType":"ElementaryTypeName","src":"3976:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3975:11:13"},"returnParameters":{"id":10988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10997,"src":"4010:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10986,"name":"string","nodeType":"ElementaryTypeName","src":"4010:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4009:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11012,"nodeType":"FunctionDefinition","src":"4078:123:13","nodes":[],"body":{"id":11011,"nodeType":"Block","src":"4154:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11007,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10999,"src":"4188:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11005,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4176:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4179:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"4176:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4176:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11004,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"4171:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4171:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11003,"id":11010,"nodeType":"Return","src":"4164:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes","nameLocation":"4087:9:13","parameters":{"id":11000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10999,"mutability":"mutable","name":"self","nameLocation":"4110:4:13","nodeType":"VariableDeclaration","scope":11012,"src":"4097:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10998,"name":"bytes","nodeType":"ElementaryTypeName","src":"4097:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4096:19:13"},"returnParameters":{"id":11003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11012,"src":"4139:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11001,"name":"string","nodeType":"ElementaryTypeName","src":"4139:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4138:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11027,"nodeType":"FunctionDefinition","src":"4207:120:13","nodes":[],"body":{"id":11026,"nodeType":"Block","src":"4280:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11022,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11014,"src":"4314:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11020,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4302:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4305:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"4302:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4302:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11019,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"4297:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11018,"id":11025,"nodeType":"Return","src":"4290:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes32","nameLocation":"4216:11:13","parameters":{"id":11015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11014,"mutability":"mutable","name":"self","nameLocation":"4236:4:13","nodeType":"VariableDeclaration","scope":11027,"src":"4228:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4228:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4227:14:13"},"returnParameters":{"id":11018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11017,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11027,"src":"4265:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11016,"name":"string","nodeType":"ElementaryTypeName","src":"4265:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4264:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11040,"nodeType":"FunctionDefinition","src":"4333:125:13","nodes":[],"body":{"id":11039,"nodeType":"Block","src":"4408:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11035,"name":"MAGENTA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10574,"src":"4437:7:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11036,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11029,"src":"4446:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11034,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"4425:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4425:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11033,"id":11038,"nodeType":"Return","src":"4418:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4342:7:13","parameters":{"id":11030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11029,"mutability":"mutable","name":"self","nameLocation":"4364:4:13","nodeType":"VariableDeclaration","scope":11040,"src":"4350:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11028,"name":"string","nodeType":"ElementaryTypeName","src":"4350:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4349:20:13"},"returnParameters":{"id":11033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11032,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11040,"src":"4393:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11031,"name":"string","nodeType":"ElementaryTypeName","src":"4393:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4392:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11055,"nodeType":"FunctionDefinition","src":"4464:119:13","nodes":[],"body":{"id":11054,"nodeType":"Block","src":"4533:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11050,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11042,"src":"4570:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11048,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4558:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4561:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"4558:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4558:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11047,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"4550:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4550:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11046,"id":11053,"nodeType":"Return","src":"4543:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4473:7:13","parameters":{"id":11043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11042,"mutability":"mutable","name":"self","nameLocation":"4489:4:13","nodeType":"VariableDeclaration","scope":11055,"src":"4481:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11041,"name":"uint256","nodeType":"ElementaryTypeName","src":"4481:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4480:14:13"},"returnParameters":{"id":11046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11055,"src":"4518:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11044,"name":"string","nodeType":"ElementaryTypeName","src":"4518:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4517:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11070,"nodeType":"FunctionDefinition","src":"4589:118:13","nodes":[],"body":{"id":11069,"nodeType":"Block","src":"4657:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11065,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11057,"src":"4694:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11063,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4682:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"4682:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4682:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11062,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"4674:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4674:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11061,"id":11068,"nodeType":"Return","src":"4667:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4598:7:13","parameters":{"id":11058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11057,"mutability":"mutable","name":"self","nameLocation":"4613:4:13","nodeType":"VariableDeclaration","scope":11070,"src":"4606:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11056,"name":"int256","nodeType":"ElementaryTypeName","src":"4606:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4605:13:13"},"returnParameters":{"id":11061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11070,"src":"4642:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11059,"name":"string","nodeType":"ElementaryTypeName","src":"4642:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4641:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11085,"nodeType":"FunctionDefinition","src":"4713:119:13","nodes":[],"body":{"id":11084,"nodeType":"Block","src":"4782:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11080,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11072,"src":"4819:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11078,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4807:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4810:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"4807:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4807:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11077,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"4799:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4799:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11076,"id":11083,"nodeType":"Return","src":"4792:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4722:7:13","parameters":{"id":11073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11072,"mutability":"mutable","name":"self","nameLocation":"4738:4:13","nodeType":"VariableDeclaration","scope":11085,"src":"4730:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11071,"name":"address","nodeType":"ElementaryTypeName","src":"4730:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4729:14:13"},"returnParameters":{"id":11076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11075,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11085,"src":"4767:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11074,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11100,"nodeType":"FunctionDefinition","src":"4838:116:13","nodes":[],"body":{"id":11099,"nodeType":"Block","src":"4904:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11095,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11087,"src":"4941:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11093,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4929:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4932:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"4929:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4929:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11092,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"4921:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4921:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11091,"id":11098,"nodeType":"Return","src":"4914:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4847:7:13","parameters":{"id":11088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11087,"mutability":"mutable","name":"self","nameLocation":"4860:4:13","nodeType":"VariableDeclaration","scope":11100,"src":"4855:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11086,"name":"bool","nodeType":"ElementaryTypeName","src":"4855:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4854:11:13"},"returnParameters":{"id":11091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11100,"src":"4889:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11089,"name":"string","nodeType":"ElementaryTypeName","src":"4889:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4888:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11115,"nodeType":"FunctionDefinition","src":"4960:129:13","nodes":[],"body":{"id":11114,"nodeType":"Block","src":"5039:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11110,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11102,"src":"5076:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11108,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5064:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5067:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"5064:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5064:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11107,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"5056:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11106,"id":11113,"nodeType":"Return","src":"5049:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes","nameLocation":"4969:12:13","parameters":{"id":11103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11102,"mutability":"mutable","name":"self","nameLocation":"4995:4:13","nodeType":"VariableDeclaration","scope":11115,"src":"4982:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11101,"name":"bytes","nodeType":"ElementaryTypeName","src":"4982:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4981:19:13"},"returnParameters":{"id":11106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11115,"src":"5024:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11104,"name":"string","nodeType":"ElementaryTypeName","src":"5024:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5023:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11130,"nodeType":"FunctionDefinition","src":"5095:126:13","nodes":[],"body":{"id":11129,"nodeType":"Block","src":"5171:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11125,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11117,"src":"5208:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11123,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5196:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5199:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"5196:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5196:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11122,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"5188:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5188:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11121,"id":11128,"nodeType":"Return","src":"5181:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes32","nameLocation":"5104:14:13","parameters":{"id":11118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11117,"mutability":"mutable","name":"self","nameLocation":"5127:4:13","nodeType":"VariableDeclaration","scope":11130,"src":"5119:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5119:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5118:14:13"},"returnParameters":{"id":11121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11130,"src":"5156:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11119,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5155:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11143,"nodeType":"FunctionDefinition","src":"5227:119:13","nodes":[],"body":{"id":11142,"nodeType":"Block","src":"5299:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11138,"name":"CYAN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10577,"src":"5328:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11139,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11132,"src":"5334:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11137,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"5316:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5316:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11136,"id":11141,"nodeType":"Return","src":"5309:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5236:4:13","parameters":{"id":11133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11132,"mutability":"mutable","name":"self","nameLocation":"5255:4:13","nodeType":"VariableDeclaration","scope":11143,"src":"5241:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11131,"name":"string","nodeType":"ElementaryTypeName","src":"5241:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5240:20:13"},"returnParameters":{"id":11136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11135,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11143,"src":"5284:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11134,"name":"string","nodeType":"ElementaryTypeName","src":"5284:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5283:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11158,"nodeType":"FunctionDefinition","src":"5352:113:13","nodes":[],"body":{"id":11157,"nodeType":"Block","src":"5418:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11153,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11145,"src":"5452:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11151,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5440:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5443:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"5440:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11150,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5435:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5435:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11149,"id":11156,"nodeType":"Return","src":"5428:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5361:4:13","parameters":{"id":11146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11145,"mutability":"mutable","name":"self","nameLocation":"5374:4:13","nodeType":"VariableDeclaration","scope":11158,"src":"5366:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11144,"name":"uint256","nodeType":"ElementaryTypeName","src":"5366:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5365:14:13"},"returnParameters":{"id":11149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11148,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11158,"src":"5403:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11147,"name":"string","nodeType":"ElementaryTypeName","src":"5403:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5402:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11173,"nodeType":"FunctionDefinition","src":"5471:112:13","nodes":[],"body":{"id":11172,"nodeType":"Block","src":"5536:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11168,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11160,"src":"5570:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11166,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5558:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5561:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"5558:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5558:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11165,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5553:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5553:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11164,"id":11171,"nodeType":"Return","src":"5546:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5480:4:13","parameters":{"id":11161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11160,"mutability":"mutable","name":"self","nameLocation":"5492:4:13","nodeType":"VariableDeclaration","scope":11173,"src":"5485:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11159,"name":"int256","nodeType":"ElementaryTypeName","src":"5485:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"5484:13:13"},"returnParameters":{"id":11164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11173,"src":"5521:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11162,"name":"string","nodeType":"ElementaryTypeName","src":"5521:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5520:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11188,"nodeType":"FunctionDefinition","src":"5589:113:13","nodes":[],"body":{"id":11187,"nodeType":"Block","src":"5655:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11183,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11175,"src":"5689:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11181,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5677:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5680:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"5677:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5677:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11180,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5672:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5672:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11179,"id":11186,"nodeType":"Return","src":"5665:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5598:4:13","parameters":{"id":11176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11175,"mutability":"mutable","name":"self","nameLocation":"5611:4:13","nodeType":"VariableDeclaration","scope":11188,"src":"5603:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11174,"name":"address","nodeType":"ElementaryTypeName","src":"5603:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5602:14:13"},"returnParameters":{"id":11179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11178,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11188,"src":"5640:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11177,"name":"string","nodeType":"ElementaryTypeName","src":"5640:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5639:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11203,"nodeType":"FunctionDefinition","src":"5708:110:13","nodes":[],"body":{"id":11202,"nodeType":"Block","src":"5771:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11198,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11190,"src":"5805:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11196,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5793:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5796:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"5793:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5793:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11195,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5788:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5788:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11194,"id":11201,"nodeType":"Return","src":"5781:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5717:4:13","parameters":{"id":11191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11190,"mutability":"mutable","name":"self","nameLocation":"5727:4:13","nodeType":"VariableDeclaration","scope":11203,"src":"5722:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11189,"name":"bool","nodeType":"ElementaryTypeName","src":"5722:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5721:11:13"},"returnParameters":{"id":11194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11203,"src":"5756:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11192,"name":"string","nodeType":"ElementaryTypeName","src":"5756:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5755:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11218,"nodeType":"FunctionDefinition","src":"5824:123:13","nodes":[],"body":{"id":11217,"nodeType":"Block","src":"5900:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11213,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11205,"src":"5934:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11211,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5922:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5925:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"5922:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5922:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11210,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5917:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11209,"id":11216,"nodeType":"Return","src":"5910:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes","nameLocation":"5833:9:13","parameters":{"id":11206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11205,"mutability":"mutable","name":"self","nameLocation":"5856:4:13","nodeType":"VariableDeclaration","scope":11218,"src":"5843:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11204,"name":"bytes","nodeType":"ElementaryTypeName","src":"5843:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5842:19:13"},"returnParameters":{"id":11209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11218,"src":"5885:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11207,"name":"string","nodeType":"ElementaryTypeName","src":"5885:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5884:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11233,"nodeType":"FunctionDefinition","src":"5953:120:13","nodes":[],"body":{"id":11232,"nodeType":"Block","src":"6026:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11228,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11220,"src":"6060:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11226,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6048:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6051:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"6048:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6048:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11225,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"6043:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6043:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11224,"id":11231,"nodeType":"Return","src":"6036:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes32","nameLocation":"5962:11:13","parameters":{"id":11221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11220,"mutability":"mutable","name":"self","nameLocation":"5982:4:13","nodeType":"VariableDeclaration","scope":11233,"src":"5974:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5973:14:13"},"returnParameters":{"id":11224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11233,"src":"6011:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11222,"name":"string","nodeType":"ElementaryTypeName","src":"6011:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6010:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11246,"nodeType":"FunctionDefinition","src":"6079:119:13","nodes":[],"body":{"id":11245,"nodeType":"Block","src":"6151:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11241,"name":"BOLD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"6180:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11242,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11235,"src":"6186:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11240,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"6168:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6168:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11239,"id":11244,"nodeType":"Return","src":"6161:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6088:4:13","parameters":{"id":11236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11235,"mutability":"mutable","name":"self","nameLocation":"6107:4:13","nodeType":"VariableDeclaration","scope":11246,"src":"6093:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11234,"name":"string","nodeType":"ElementaryTypeName","src":"6093:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6092:20:13"},"returnParameters":{"id":11239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11246,"src":"6136:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11237,"name":"string","nodeType":"ElementaryTypeName","src":"6136:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6135:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11261,"nodeType":"FunctionDefinition","src":"6204:113:13","nodes":[],"body":{"id":11260,"nodeType":"Block","src":"6270:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11256,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11248,"src":"6304:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11254,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6292:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6295:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"6292:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6292:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11253,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6287:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6287:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11252,"id":11259,"nodeType":"Return","src":"6280:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6213:4:13","parameters":{"id":11249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11248,"mutability":"mutable","name":"self","nameLocation":"6226:4:13","nodeType":"VariableDeclaration","scope":11261,"src":"6218:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11247,"name":"uint256","nodeType":"ElementaryTypeName","src":"6218:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6217:14:13"},"returnParameters":{"id":11252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11251,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11261,"src":"6255:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11250,"name":"string","nodeType":"ElementaryTypeName","src":"6255:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6254:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11276,"nodeType":"FunctionDefinition","src":"6323:112:13","nodes":[],"body":{"id":11275,"nodeType":"Block","src":"6388:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11271,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11263,"src":"6422:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11269,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6410:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6413:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"6410:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6410:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11268,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6405:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6405:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11267,"id":11274,"nodeType":"Return","src":"6398:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6332:4:13","parameters":{"id":11264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11263,"mutability":"mutable","name":"self","nameLocation":"6344:4:13","nodeType":"VariableDeclaration","scope":11276,"src":"6337:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11262,"name":"int256","nodeType":"ElementaryTypeName","src":"6337:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6336:13:13"},"returnParameters":{"id":11267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11276,"src":"6373:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11265,"name":"string","nodeType":"ElementaryTypeName","src":"6373:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6372:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11291,"nodeType":"FunctionDefinition","src":"6441:113:13","nodes":[],"body":{"id":11290,"nodeType":"Block","src":"6507:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11286,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11278,"src":"6541:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11284,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6529:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6532:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"6529:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6529:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11283,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6524:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6524:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11282,"id":11289,"nodeType":"Return","src":"6517:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6450:4:13","parameters":{"id":11279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11278,"mutability":"mutable","name":"self","nameLocation":"6463:4:13","nodeType":"VariableDeclaration","scope":11291,"src":"6455:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11277,"name":"address","nodeType":"ElementaryTypeName","src":"6455:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6454:14:13"},"returnParameters":{"id":11282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11291,"src":"6492:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11280,"name":"string","nodeType":"ElementaryTypeName","src":"6492:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6491:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11306,"nodeType":"FunctionDefinition","src":"6560:110:13","nodes":[],"body":{"id":11305,"nodeType":"Block","src":"6623:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11301,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11293,"src":"6657:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11299,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6645:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6648:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"6645:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6645:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11298,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6640:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6640:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11297,"id":11304,"nodeType":"Return","src":"6633:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6569:4:13","parameters":{"id":11294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11293,"mutability":"mutable","name":"self","nameLocation":"6579:4:13","nodeType":"VariableDeclaration","scope":11306,"src":"6574:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11292,"name":"bool","nodeType":"ElementaryTypeName","src":"6574:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6573:11:13"},"returnParameters":{"id":11297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11296,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11306,"src":"6608:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11295,"name":"string","nodeType":"ElementaryTypeName","src":"6608:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6607:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11321,"nodeType":"FunctionDefinition","src":"6676:123:13","nodes":[],"body":{"id":11320,"nodeType":"Block","src":"6752:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11316,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11308,"src":"6786:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11314,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6774:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6777:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"6774:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6774:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11313,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6769:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6769:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11312,"id":11319,"nodeType":"Return","src":"6762:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes","nameLocation":"6685:9:13","parameters":{"id":11309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11308,"mutability":"mutable","name":"self","nameLocation":"6708:4:13","nodeType":"VariableDeclaration","scope":11321,"src":"6695:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11307,"name":"bytes","nodeType":"ElementaryTypeName","src":"6695:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6694:19:13"},"returnParameters":{"id":11312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11321,"src":"6737:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11310,"name":"string","nodeType":"ElementaryTypeName","src":"6737:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6736:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11336,"nodeType":"FunctionDefinition","src":"6805:120:13","nodes":[],"body":{"id":11335,"nodeType":"Block","src":"6878:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11331,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11323,"src":"6912:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11329,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6900:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6903:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"6900:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6900:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11328,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6895:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6895:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11327,"id":11334,"nodeType":"Return","src":"6888:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes32","nameLocation":"6814:11:13","parameters":{"id":11324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11323,"mutability":"mutable","name":"self","nameLocation":"6834:4:13","nodeType":"VariableDeclaration","scope":11336,"src":"6826:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6826:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6825:14:13"},"returnParameters":{"id":11327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11326,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11336,"src":"6863:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11325,"name":"string","nodeType":"ElementaryTypeName","src":"6863:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6862:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11349,"nodeType":"FunctionDefinition","src":"6931:117:13","nodes":[],"body":{"id":11348,"nodeType":"Block","src":"7002:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11344,"name":"DIM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10583,"src":"7031:3:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11345,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11338,"src":"7036:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11343,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"7019:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7019:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11342,"id":11347,"nodeType":"Return","src":"7012:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"6940:3:13","parameters":{"id":11339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11338,"mutability":"mutable","name":"self","nameLocation":"6958:4:13","nodeType":"VariableDeclaration","scope":11349,"src":"6944:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11337,"name":"string","nodeType":"ElementaryTypeName","src":"6944:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6943:20:13"},"returnParameters":{"id":11342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11341,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11349,"src":"6987:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11340,"name":"string","nodeType":"ElementaryTypeName","src":"6987:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6986:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11364,"nodeType":"FunctionDefinition","src":"7054:111:13","nodes":[],"body":{"id":11363,"nodeType":"Block","src":"7119:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11359,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11351,"src":"7152:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7140:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7143:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"7140:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7140:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11356,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7136:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7136:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11355,"id":11362,"nodeType":"Return","src":"7129:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7063:3:13","parameters":{"id":11352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11351,"mutability":"mutable","name":"self","nameLocation":"7075:4:13","nodeType":"VariableDeclaration","scope":11364,"src":"7067:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11350,"name":"uint256","nodeType":"ElementaryTypeName","src":"7067:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7066:14:13"},"returnParameters":{"id":11355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11364,"src":"7104:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11353,"name":"string","nodeType":"ElementaryTypeName","src":"7104:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7103:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11379,"nodeType":"FunctionDefinition","src":"7171:110:13","nodes":[],"body":{"id":11378,"nodeType":"Block","src":"7235:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11374,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11366,"src":"7268:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11372,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7256:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7259:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"7256:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7256:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11371,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7252:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7252:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11370,"id":11377,"nodeType":"Return","src":"7245:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7180:3:13","parameters":{"id":11367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11366,"mutability":"mutable","name":"self","nameLocation":"7191:4:13","nodeType":"VariableDeclaration","scope":11379,"src":"7184:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11365,"name":"int256","nodeType":"ElementaryTypeName","src":"7184:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7183:13:13"},"returnParameters":{"id":11370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11379,"src":"7220:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11368,"name":"string","nodeType":"ElementaryTypeName","src":"7220:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7219:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11394,"nodeType":"FunctionDefinition","src":"7287:111:13","nodes":[],"body":{"id":11393,"nodeType":"Block","src":"7352:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11389,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11381,"src":"7385:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11387,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7373:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7376:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"7373:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7373:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11386,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7369:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7369:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11385,"id":11392,"nodeType":"Return","src":"7362:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7296:3:13","parameters":{"id":11382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11381,"mutability":"mutable","name":"self","nameLocation":"7308:4:13","nodeType":"VariableDeclaration","scope":11394,"src":"7300:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11380,"name":"address","nodeType":"ElementaryTypeName","src":"7300:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7299:14:13"},"returnParameters":{"id":11385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11394,"src":"7337:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11383,"name":"string","nodeType":"ElementaryTypeName","src":"7337:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7336:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11409,"nodeType":"FunctionDefinition","src":"7404:108:13","nodes":[],"body":{"id":11408,"nodeType":"Block","src":"7466:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11404,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11396,"src":"7499:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11402,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7487:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7490:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"7487:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7487:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11401,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7483:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7483:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11400,"id":11407,"nodeType":"Return","src":"7476:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7413:3:13","parameters":{"id":11397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11396,"mutability":"mutable","name":"self","nameLocation":"7422:4:13","nodeType":"VariableDeclaration","scope":11409,"src":"7417:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11395,"name":"bool","nodeType":"ElementaryTypeName","src":"7417:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7416:11:13"},"returnParameters":{"id":11400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11399,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11409,"src":"7451:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11398,"name":"string","nodeType":"ElementaryTypeName","src":"7451:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7450:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11424,"nodeType":"FunctionDefinition","src":"7518:121:13","nodes":[],"body":{"id":11423,"nodeType":"Block","src":"7593:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11419,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11411,"src":"7626:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11417,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7614:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7617:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"7614:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7614:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11416,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7610:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7610:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11415,"id":11422,"nodeType":"Return","src":"7603:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes","nameLocation":"7527:8:13","parameters":{"id":11412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11411,"mutability":"mutable","name":"self","nameLocation":"7549:4:13","nodeType":"VariableDeclaration","scope":11424,"src":"7536:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11410,"name":"bytes","nodeType":"ElementaryTypeName","src":"7536:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7535:19:13"},"returnParameters":{"id":11415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11424,"src":"7578:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11413,"name":"string","nodeType":"ElementaryTypeName","src":"7578:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7577:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11439,"nodeType":"FunctionDefinition","src":"7645:118:13","nodes":[],"body":{"id":11438,"nodeType":"Block","src":"7717:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11434,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11426,"src":"7750:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11432,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7738:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7741:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"7738:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7738:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11431,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7734:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7734:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11430,"id":11437,"nodeType":"Return","src":"7727:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes32","nameLocation":"7654:10:13","parameters":{"id":11427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11426,"mutability":"mutable","name":"self","nameLocation":"7673:4:13","nodeType":"VariableDeclaration","scope":11439,"src":"7665:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7665:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7664:14:13"},"returnParameters":{"id":11430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11439,"src":"7702:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11428,"name":"string","nodeType":"ElementaryTypeName","src":"7702:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7701:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11452,"nodeType":"FunctionDefinition","src":"7769:123:13","nodes":[],"body":{"id":11451,"nodeType":"Block","src":"7843:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11447,"name":"ITALIC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10586,"src":"7872:6:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11448,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11441,"src":"7880:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11446,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"7860:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7860:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11445,"id":11450,"nodeType":"Return","src":"7853:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7778:6:13","parameters":{"id":11442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11441,"mutability":"mutable","name":"self","nameLocation":"7799:4:13","nodeType":"VariableDeclaration","scope":11452,"src":"7785:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11440,"name":"string","nodeType":"ElementaryTypeName","src":"7785:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7784:20:13"},"returnParameters":{"id":11445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11444,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11452,"src":"7828:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11443,"name":"string","nodeType":"ElementaryTypeName","src":"7828:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7827:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11467,"nodeType":"FunctionDefinition","src":"7898:117:13","nodes":[],"body":{"id":11466,"nodeType":"Block","src":"7966:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11462,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11454,"src":"8002:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11460,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7990:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7993:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"7990:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11459,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"7983:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7983:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11458,"id":11465,"nodeType":"Return","src":"7976:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7907:6:13","parameters":{"id":11455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11454,"mutability":"mutable","name":"self","nameLocation":"7922:4:13","nodeType":"VariableDeclaration","scope":11467,"src":"7914:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11453,"name":"uint256","nodeType":"ElementaryTypeName","src":"7914:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7913:14:13"},"returnParameters":{"id":11458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11467,"src":"7951:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11456,"name":"string","nodeType":"ElementaryTypeName","src":"7951:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7950:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11482,"nodeType":"FunctionDefinition","src":"8021:116:13","nodes":[],"body":{"id":11481,"nodeType":"Block","src":"8088:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11477,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11469,"src":"8124:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11475,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8112:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8115:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"8112:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8112:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11474,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8105:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8105:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11473,"id":11480,"nodeType":"Return","src":"8098:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8030:6:13","parameters":{"id":11470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11469,"mutability":"mutable","name":"self","nameLocation":"8044:4:13","nodeType":"VariableDeclaration","scope":11482,"src":"8037:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11468,"name":"int256","nodeType":"ElementaryTypeName","src":"8037:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8036:13:13"},"returnParameters":{"id":11473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11482,"src":"8073:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11471,"name":"string","nodeType":"ElementaryTypeName","src":"8073:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8072:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11497,"nodeType":"FunctionDefinition","src":"8143:117:13","nodes":[],"body":{"id":11496,"nodeType":"Block","src":"8211:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11492,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11484,"src":"8247:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11490,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8235:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8238:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"8235:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8235:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11489,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8228:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8228:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11488,"id":11495,"nodeType":"Return","src":"8221:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8152:6:13","parameters":{"id":11485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11484,"mutability":"mutable","name":"self","nameLocation":"8167:4:13","nodeType":"VariableDeclaration","scope":11497,"src":"8159:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11483,"name":"address","nodeType":"ElementaryTypeName","src":"8159:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8158:14:13"},"returnParameters":{"id":11488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11497,"src":"8196:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11486,"name":"string","nodeType":"ElementaryTypeName","src":"8196:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8195:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11512,"nodeType":"FunctionDefinition","src":"8266:114:13","nodes":[],"body":{"id":11511,"nodeType":"Block","src":"8331:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11507,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11499,"src":"8367:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11505,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8355:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8358:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"8355:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8355:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11504,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8348:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8348:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11503,"id":11510,"nodeType":"Return","src":"8341:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8275:6:13","parameters":{"id":11500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11499,"mutability":"mutable","name":"self","nameLocation":"8287:4:13","nodeType":"VariableDeclaration","scope":11512,"src":"8282:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11498,"name":"bool","nodeType":"ElementaryTypeName","src":"8282:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8281:11:13"},"returnParameters":{"id":11503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11512,"src":"8316:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11501,"name":"string","nodeType":"ElementaryTypeName","src":"8316:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8315:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11527,"nodeType":"FunctionDefinition","src":"8386:127:13","nodes":[],"body":{"id":11526,"nodeType":"Block","src":"8464:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11522,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11514,"src":"8500:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11520,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8488:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8491:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"8488:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8488:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11519,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8481:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8481:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11518,"id":11525,"nodeType":"Return","src":"8474:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes","nameLocation":"8395:11:13","parameters":{"id":11515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11514,"mutability":"mutable","name":"self","nameLocation":"8420:4:13","nodeType":"VariableDeclaration","scope":11527,"src":"8407:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11513,"name":"bytes","nodeType":"ElementaryTypeName","src":"8407:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8406:19:13"},"returnParameters":{"id":11518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11517,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11527,"src":"8449:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11516,"name":"string","nodeType":"ElementaryTypeName","src":"8449:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8448:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11542,"nodeType":"FunctionDefinition","src":"8519:124:13","nodes":[],"body":{"id":11541,"nodeType":"Block","src":"8594:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11537,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11529,"src":"8630:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11535,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8618:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8621:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"8618:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8618:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11534,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8611:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8611:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11533,"id":11540,"nodeType":"Return","src":"8604:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes32","nameLocation":"8528:13:13","parameters":{"id":11530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11529,"mutability":"mutable","name":"self","nameLocation":"8550:4:13","nodeType":"VariableDeclaration","scope":11542,"src":"8542:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8542:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8541:14:13"},"returnParameters":{"id":11533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11542,"src":"8579:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11531,"name":"string","nodeType":"ElementaryTypeName","src":"8579:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8578:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11555,"nodeType":"FunctionDefinition","src":"8649:129:13","nodes":[],"body":{"id":11554,"nodeType":"Block","src":"8726:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11550,"name":"UNDERLINE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10589,"src":"8755:9:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11551,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11544,"src":"8766:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11549,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"8743:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8743:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11548,"id":11553,"nodeType":"Return","src":"8736:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8658:9:13","parameters":{"id":11545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11544,"mutability":"mutable","name":"self","nameLocation":"8682:4:13","nodeType":"VariableDeclaration","scope":11555,"src":"8668:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11543,"name":"string","nodeType":"ElementaryTypeName","src":"8668:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8667:20:13"},"returnParameters":{"id":11548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11547,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11555,"src":"8711:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11546,"name":"string","nodeType":"ElementaryTypeName","src":"8711:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8710:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11570,"nodeType":"FunctionDefinition","src":"8784:123:13","nodes":[],"body":{"id":11569,"nodeType":"Block","src":"8855:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11565,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11557,"src":"8894:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11563,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8882:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8885:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"8882:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8882:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11562,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"8872:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8872:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11561,"id":11568,"nodeType":"Return","src":"8865:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8793:9:13","parameters":{"id":11558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11557,"mutability":"mutable","name":"self","nameLocation":"8811:4:13","nodeType":"VariableDeclaration","scope":11570,"src":"8803:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11556,"name":"uint256","nodeType":"ElementaryTypeName","src":"8803:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8802:14:13"},"returnParameters":{"id":11561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11570,"src":"8840:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11559,"name":"string","nodeType":"ElementaryTypeName","src":"8840:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8839:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11585,"nodeType":"FunctionDefinition","src":"8913:122:13","nodes":[],"body":{"id":11584,"nodeType":"Block","src":"8983:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11580,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11572,"src":"9022:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11578,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9010:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9013:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"9010:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9010:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11577,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9000:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11576,"id":11583,"nodeType":"Return","src":"8993:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8922:9:13","parameters":{"id":11573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11572,"mutability":"mutable","name":"self","nameLocation":"8939:4:13","nodeType":"VariableDeclaration","scope":11585,"src":"8932:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11571,"name":"int256","nodeType":"ElementaryTypeName","src":"8932:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8931:13:13"},"returnParameters":{"id":11576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11575,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11585,"src":"8968:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11574,"name":"string","nodeType":"ElementaryTypeName","src":"8968:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8967:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11600,"nodeType":"FunctionDefinition","src":"9041:123:13","nodes":[],"body":{"id":11599,"nodeType":"Block","src":"9112:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11595,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11587,"src":"9151:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11593,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9139:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9142:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"9139:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9139:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11592,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9129:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9129:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11591,"id":11598,"nodeType":"Return","src":"9122:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9050:9:13","parameters":{"id":11588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11587,"mutability":"mutable","name":"self","nameLocation":"9068:4:13","nodeType":"VariableDeclaration","scope":11600,"src":"9060:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11586,"name":"address","nodeType":"ElementaryTypeName","src":"9060:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9059:14:13"},"returnParameters":{"id":11591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11600,"src":"9097:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11589,"name":"string","nodeType":"ElementaryTypeName","src":"9097:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9096:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11615,"nodeType":"FunctionDefinition","src":"9170:120:13","nodes":[],"body":{"id":11614,"nodeType":"Block","src":"9238:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11610,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11602,"src":"9277:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11608,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9265:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9268:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"9265:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9265:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11607,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9255:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9255:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11606,"id":11613,"nodeType":"Return","src":"9248:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9179:9:13","parameters":{"id":11603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11602,"mutability":"mutable","name":"self","nameLocation":"9194:4:13","nodeType":"VariableDeclaration","scope":11615,"src":"9189:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11601,"name":"bool","nodeType":"ElementaryTypeName","src":"9189:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9188:11:13"},"returnParameters":{"id":11606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11605,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11615,"src":"9223:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11604,"name":"string","nodeType":"ElementaryTypeName","src":"9223:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9222:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11630,"nodeType":"FunctionDefinition","src":"9296:133:13","nodes":[],"body":{"id":11629,"nodeType":"Block","src":"9377:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11625,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11617,"src":"9416:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11623,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9404:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9407:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"9404:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9404:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11622,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9394:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9394:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11621,"id":11628,"nodeType":"Return","src":"9387:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes","nameLocation":"9305:14:13","parameters":{"id":11618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11617,"mutability":"mutable","name":"self","nameLocation":"9333:4:13","nodeType":"VariableDeclaration","scope":11630,"src":"9320:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11616,"name":"bytes","nodeType":"ElementaryTypeName","src":"9320:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9319:19:13"},"returnParameters":{"id":11621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11630,"src":"9362:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11619,"name":"string","nodeType":"ElementaryTypeName","src":"9362:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9361:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11645,"nodeType":"FunctionDefinition","src":"9435:130:13","nodes":[],"body":{"id":11644,"nodeType":"Block","src":"9513:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11640,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11632,"src":"9552:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11638,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9540:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9543:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"9540:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9540:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11637,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9530:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9530:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11636,"id":11643,"nodeType":"Return","src":"9523:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes32","nameLocation":"9444:16:13","parameters":{"id":11633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11632,"mutability":"mutable","name":"self","nameLocation":"9469:4:13","nodeType":"VariableDeclaration","scope":11645,"src":"9461:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9461:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9460:14:13"},"returnParameters":{"id":11636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11645,"src":"9498:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11634,"name":"string","nodeType":"ElementaryTypeName","src":"9498:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9497:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11658,"nodeType":"FunctionDefinition","src":"9571:125:13","nodes":[],"body":{"id":11657,"nodeType":"Block","src":"9646:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11653,"name":"INVERSE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10592,"src":"9675:7:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11654,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11647,"src":"9684:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11652,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"9663:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9663:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11651,"id":11656,"nodeType":"Return","src":"9656:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9580:7:13","parameters":{"id":11648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11647,"mutability":"mutable","name":"self","nameLocation":"9602:4:13","nodeType":"VariableDeclaration","scope":11658,"src":"9588:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11646,"name":"string","nodeType":"ElementaryTypeName","src":"9588:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9587:20:13"},"returnParameters":{"id":11651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11650,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11658,"src":"9631:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11649,"name":"string","nodeType":"ElementaryTypeName","src":"9631:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9630:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11673,"nodeType":"FunctionDefinition","src":"9702:119:13","nodes":[],"body":{"id":11672,"nodeType":"Block","src":"9771:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11668,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11660,"src":"9808:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11666,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9796:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9799:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"9796:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9796:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11665,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"9788:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9788:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11664,"id":11671,"nodeType":"Return","src":"9781:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9711:7:13","parameters":{"id":11661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11660,"mutability":"mutable","name":"self","nameLocation":"9727:4:13","nodeType":"VariableDeclaration","scope":11673,"src":"9719:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11659,"name":"uint256","nodeType":"ElementaryTypeName","src":"9719:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9718:14:13"},"returnParameters":{"id":11664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11673,"src":"9756:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11662,"name":"string","nodeType":"ElementaryTypeName","src":"9756:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9755:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11688,"nodeType":"FunctionDefinition","src":"9827:118:13","nodes":[],"body":{"id":11687,"nodeType":"Block","src":"9895:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11683,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11675,"src":"9932:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11681,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9920:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9923:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"9920:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9920:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11680,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"9912:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9912:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11679,"id":11686,"nodeType":"Return","src":"9905:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9836:7:13","parameters":{"id":11676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11675,"mutability":"mutable","name":"self","nameLocation":"9851:4:13","nodeType":"VariableDeclaration","scope":11688,"src":"9844:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11674,"name":"int256","nodeType":"ElementaryTypeName","src":"9844:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9843:13:13"},"returnParameters":{"id":11679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11688,"src":"9880:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11677,"name":"string","nodeType":"ElementaryTypeName","src":"9880:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9879:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11703,"nodeType":"FunctionDefinition","src":"9951:119:13","nodes":[],"body":{"id":11702,"nodeType":"Block","src":"10020:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11698,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"10057:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11696,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"10045:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10048:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"10045:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10045:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11695,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"10037:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10037:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11694,"id":11701,"nodeType":"Return","src":"10030:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9960:7:13","parameters":{"id":11691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11690,"mutability":"mutable","name":"self","nameLocation":"9976:4:13","nodeType":"VariableDeclaration","scope":11703,"src":"9968:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11689,"name":"address","nodeType":"ElementaryTypeName","src":"9968:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9967:14:13"},"returnParameters":{"id":11694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11703,"src":"10005:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11692,"name":"string","nodeType":"ElementaryTypeName","src":"10005:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10004:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11718,"nodeType":"FunctionDefinition","src":"10076:116:13","nodes":[],"body":{"id":11717,"nodeType":"Block","src":"10142:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11713,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11705,"src":"10179:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11711,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"10167:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10170:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"10167:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10167:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11710,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"10159:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10159:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11709,"id":11716,"nodeType":"Return","src":"10152:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"10085:7:13","parameters":{"id":11706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11705,"mutability":"mutable","name":"self","nameLocation":"10098:4:13","nodeType":"VariableDeclaration","scope":11718,"src":"10093:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11704,"name":"bool","nodeType":"ElementaryTypeName","src":"10093:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10092:11:13"},"returnParameters":{"id":11709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11708,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11718,"src":"10127:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11707,"name":"string","nodeType":"ElementaryTypeName","src":"10127:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10126:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11733,"nodeType":"FunctionDefinition","src":"10198:129:13","nodes":[],"body":{"id":11732,"nodeType":"Block","src":"10277:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11728,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11720,"src":"10314:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11726,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"10302:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10305:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"10302:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10302:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11725,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"10294:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10294:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11724,"id":11731,"nodeType":"Return","src":"10287:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes","nameLocation":"10207:12:13","parameters":{"id":11721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11720,"mutability":"mutable","name":"self","nameLocation":"10233:4:13","nodeType":"VariableDeclaration","scope":11733,"src":"10220:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11719,"name":"bytes","nodeType":"ElementaryTypeName","src":"10220:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10219:19:13"},"returnParameters":{"id":11724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11733,"src":"10262:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11722,"name":"string","nodeType":"ElementaryTypeName","src":"10262:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10261:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11748,"nodeType":"FunctionDefinition","src":"10333:126:13","nodes":[],"body":{"id":11747,"nodeType":"Block","src":"10409:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11743,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11735,"src":"10446:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11741,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"10434:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10437:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"10434:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10434:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11740,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"10426:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10426:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11739,"id":11746,"nodeType":"Return","src":"10419:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes32","nameLocation":"10342:14:13","parameters":{"id":11736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11735,"mutability":"mutable","name":"self","nameLocation":"10365:4:13","nodeType":"VariableDeclaration","scope":11748,"src":"10357:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10357:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10356:14:13"},"returnParameters":{"id":11739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11748,"src":"10394:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11737,"name":"string","nodeType":"ElementaryTypeName","src":"10394:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10393:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StdStyle","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[11749],"name":"StdStyle","nameLocation":"108:8:13","scope":11750,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdToml.sol":{"id":14,"ast":{"absolutePath":"lib/forge-std/src/StdToml.sol","id":12694,"exportedSymbols":{"VmSafe":[17608],"stdToml":[12693]},"nodeType":"SourceUnit","src":"32:9671:14","nodes":[{"id":11751,"nodeType":"PragmaDirective","src":"32:31:14","nodes":[],"literals":["solidity",">=","0.6",".0","<","0.9",".0"]},{"id":11752,"nodeType":"PragmaDirective","src":"65:33:14","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":11754,"nodeType":"ImportDirective","src":"100:32:14","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":12694,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":11753,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"108:6:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12693,"nodeType":"ContractDefinition","src":"610:9092:14","nodes":[{"id":11771,"nodeType":"VariableDeclaration","src":"632:92:14","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"656:2:14","scope":12693,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":11756,"nodeType":"UserDefinedTypeName","pathNode":{"id":11755,"name":"VmSafe","nameLocations":["632:6:14"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"632:6:14"},"referencedDeclaration":17608,"src":"632:6:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":11765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"702:17:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":11764,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"692:9:14","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"692:28:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"684:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11762,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:14","typeDescriptions":{}}},"id":11767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"684:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"676:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11760,"name":"uint160","nodeType":"ElementaryTypeName","src":"676:7:14","typeDescriptions":{}}},"id":11768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"676:46:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"668:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11758,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:14","typeDescriptions":{}}},"id":11769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"668:55:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11757,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"661:6:14","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":11770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"661:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":11787,"nodeType":"FunctionDefinition","src":"731:138:14","nodes":[],"body":{"id":11786,"nodeType":"Block","src":"818:51:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11782,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11773,"src":"852:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11783,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11775,"src":"858:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11780,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"835:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"838:13:14","memberName":"keyExistsToml","nodeType":"MemberAccess","referencedDeclaration":17093,"src":"835:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view external returns (bool)"}},"id":11784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"835:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11779,"id":11785,"nodeType":"Return","src":"828:34:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"740:9:14","parameters":{"id":11776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11773,"mutability":"mutable","name":"toml","nameLocation":"764:4:14","nodeType":"VariableDeclaration","scope":11787,"src":"750:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11772,"name":"string","nodeType":"ElementaryTypeName","src":"750:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11775,"mutability":"mutable","name":"key","nameLocation":"784:3:14","nodeType":"VariableDeclaration","scope":11787,"src":"770:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11774,"name":"string","nodeType":"ElementaryTypeName","src":"770:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"749:39:14"},"returnParameters":{"id":11779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11787,"src":"812:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11777,"name":"bool","nodeType":"ElementaryTypeName","src":"812:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"811:6:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11803,"nodeType":"FunctionDefinition","src":"875:141:14","nodes":[],"body":{"id":11802,"nodeType":"Block","src":"969:47:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11798,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11789,"src":"999:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11799,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11791,"src":"1005:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11796,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"986:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"989:9:14","memberName":"parseToml","nodeType":"MemberAccess","referencedDeclaration":17303,"src":"986:12:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":11800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"986:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11795,"id":11801,"nodeType":"Return","src":"979:30:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"884:8:14","parameters":{"id":11792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11789,"mutability":"mutable","name":"toml","nameLocation":"907:4:14","nodeType":"VariableDeclaration","scope":11803,"src":"893:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11788,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11791,"mutability":"mutable","name":"key","nameLocation":"927:3:14","nodeType":"VariableDeclaration","scope":11803,"src":"913:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11790,"name":"string","nodeType":"ElementaryTypeName","src":"913:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"892:39:14"},"returnParameters":{"id":11795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11803,"src":"955:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11793,"name":"bytes","nodeType":"ElementaryTypeName","src":"955:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"954:14:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11819,"nodeType":"FunctionDefinition","src":"1022:140:14","nodes":[],"body":{"id":11818,"nodeType":"Block","src":"1111:51:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11814,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11805,"src":"1145:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11815,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11807,"src":"1151:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11812,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1128:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1131:13:14","memberName":"parseTomlUint","nodeType":"MemberAccess","referencedDeclaration":17274,"src":"1128:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure external returns (uint256)"}},"id":11816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1128:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11811,"id":11817,"nodeType":"Return","src":"1121:34:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1031:8:14","parameters":{"id":11808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11805,"mutability":"mutable","name":"toml","nameLocation":"1054:4:14","nodeType":"VariableDeclaration","scope":11819,"src":"1040:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11804,"name":"string","nodeType":"ElementaryTypeName","src":"1040:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11807,"mutability":"mutable","name":"key","nameLocation":"1074:3:14","nodeType":"VariableDeclaration","scope":11819,"src":"1060:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11806,"name":"string","nodeType":"ElementaryTypeName","src":"1060:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1039:39:14"},"returnParameters":{"id":11811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11819,"src":"1102:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11809,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1101:9:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11836,"nodeType":"FunctionDefinition","src":"1168:159:14","nodes":[],"body":{"id":11835,"nodeType":"Block","src":"1271:56:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11831,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11821,"src":"1310:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11832,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11823,"src":"1316:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11829,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1288:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1291:18:14","memberName":"parseTomlUintArray","nodeType":"MemberAccess","referencedDeclaration":17285,"src":"1288:21:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (uint256[] memory)"}},"id":11833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1288:32:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":11828,"id":11834,"nodeType":"Return","src":"1281:39:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1177:13:14","parameters":{"id":11824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11821,"mutability":"mutable","name":"toml","nameLocation":"1205:4:14","nodeType":"VariableDeclaration","scope":11836,"src":"1191:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11820,"name":"string","nodeType":"ElementaryTypeName","src":"1191:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11823,"mutability":"mutable","name":"key","nameLocation":"1225:3:14","nodeType":"VariableDeclaration","scope":11836,"src":"1211:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11822,"name":"string","nodeType":"ElementaryTypeName","src":"1211:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1190:39:14"},"returnParameters":{"id":11828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11836,"src":"1253:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11825,"name":"uint256","nodeType":"ElementaryTypeName","src":"1253:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11826,"nodeType":"ArrayTypeName","src":"1253:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1252:18:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11852,"nodeType":"FunctionDefinition","src":"1333:137:14","nodes":[],"body":{"id":11851,"nodeType":"Block","src":"1420:50:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11847,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11838,"src":"1453:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11848,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11840,"src":"1459:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11845,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1437:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:12:14","memberName":"parseTomlInt","nodeType":"MemberAccess","referencedDeclaration":17187,"src":"1437:15:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure external returns (int256)"}},"id":11849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:26:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":11844,"id":11850,"nodeType":"Return","src":"1430:33:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1342:7:14","parameters":{"id":11841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11838,"mutability":"mutable","name":"toml","nameLocation":"1364:4:14","nodeType":"VariableDeclaration","scope":11852,"src":"1350:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11837,"name":"string","nodeType":"ElementaryTypeName","src":"1350:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11840,"mutability":"mutable","name":"key","nameLocation":"1384:3:14","nodeType":"VariableDeclaration","scope":11852,"src":"1370:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11839,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1349:39:14"},"returnParameters":{"id":11844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11852,"src":"1412:6:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11842,"name":"int256","nodeType":"ElementaryTypeName","src":"1412:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1411:8:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11869,"nodeType":"FunctionDefinition","src":"1476:156:14","nodes":[],"body":{"id":11868,"nodeType":"Block","src":"1577:55:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11864,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11854,"src":"1615:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11865,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11856,"src":"1621:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11862,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1594:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:17:14","memberName":"parseTomlIntArray","nodeType":"MemberAccess","referencedDeclaration":17198,"src":"1594:20:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (int256[] memory)"}},"id":11866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:31:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":11861,"id":11867,"nodeType":"Return","src":"1587:38:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1485:12:14","parameters":{"id":11857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11854,"mutability":"mutable","name":"toml","nameLocation":"1512:4:14","nodeType":"VariableDeclaration","scope":11869,"src":"1498:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11853,"name":"string","nodeType":"ElementaryTypeName","src":"1498:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11856,"mutability":"mutable","name":"key","nameLocation":"1532:3:14","nodeType":"VariableDeclaration","scope":11869,"src":"1518:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11855,"name":"string","nodeType":"ElementaryTypeName","src":"1518:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1497:39:14"},"returnParameters":{"id":11861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11869,"src":"1560:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11858,"name":"int256","nodeType":"ElementaryTypeName","src":"1560:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11859,"nodeType":"ArrayTypeName","src":"1560:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1559:17:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11885,"nodeType":"FunctionDefinition","src":"1638:146:14","nodes":[],"body":{"id":11884,"nodeType":"Block","src":"1730:54:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11880,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11871,"src":"1767:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11881,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11873,"src":"1773:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11878,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1747:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1750:16:14","memberName":"parseTomlBytes32","nodeType":"MemberAccess","referencedDeclaration":17155,"src":"1747:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure external returns (bytes32)"}},"id":11882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1747:30:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":11877,"id":11883,"nodeType":"Return","src":"1740:37:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1647:11:14","parameters":{"id":11874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11871,"mutability":"mutable","name":"toml","nameLocation":"1673:4:14","nodeType":"VariableDeclaration","scope":11885,"src":"1659:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11870,"name":"string","nodeType":"ElementaryTypeName","src":"1659:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11873,"mutability":"mutable","name":"key","nameLocation":"1693:3:14","nodeType":"VariableDeclaration","scope":11885,"src":"1679:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11872,"name":"string","nodeType":"ElementaryTypeName","src":"1679:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1658:39:14"},"returnParameters":{"id":11877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11885,"src":"1721:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1721:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1720:9:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11902,"nodeType":"FunctionDefinition","src":"1790:165:14","nodes":[],"body":{"id":11901,"nodeType":"Block","src":"1896:59:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11897,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11887,"src":"1938:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11898,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11889,"src":"1944:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11895,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1913:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1916:21:14","memberName":"parseTomlBytes32Array","nodeType":"MemberAccess","referencedDeclaration":17166,"src":"1913:24:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes32[] memory)"}},"id":11899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1913:35:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":11894,"id":11900,"nodeType":"Return","src":"1906:42:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1799:16:14","parameters":{"id":11890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11887,"mutability":"mutable","name":"toml","nameLocation":"1830:4:14","nodeType":"VariableDeclaration","scope":11902,"src":"1816:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11886,"name":"string","nodeType":"ElementaryTypeName","src":"1816:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11889,"mutability":"mutable","name":"key","nameLocation":"1850:3:14","nodeType":"VariableDeclaration","scope":11902,"src":"1836:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11888,"name":"string","nodeType":"ElementaryTypeName","src":"1836:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1815:39:14"},"returnParameters":{"id":11894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11893,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11902,"src":"1878:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1878:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11892,"nodeType":"ArrayTypeName","src":"1878:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1877:18:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11918,"nodeType":"FunctionDefinition","src":"1961:150:14","nodes":[],"body":{"id":11917,"nodeType":"Block","src":"2058:53:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11913,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11904,"src":"2094:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11914,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11906,"src":"2100:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11911,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2075:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2078:15:14","memberName":"parseTomlString","nodeType":"MemberAccess","referencedDeclaration":17219,"src":"2075:18:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory)"}},"id":11915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2075:29:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11910,"id":11916,"nodeType":"Return","src":"2068:36:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"1970:10:14","parameters":{"id":11907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11904,"mutability":"mutable","name":"toml","nameLocation":"1995:4:14","nodeType":"VariableDeclaration","scope":11918,"src":"1981:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11903,"name":"string","nodeType":"ElementaryTypeName","src":"1981:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11906,"mutability":"mutable","name":"key","nameLocation":"2015:3:14","nodeType":"VariableDeclaration","scope":11918,"src":"2001:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11905,"name":"string","nodeType":"ElementaryTypeName","src":"2001:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1980:39:14"},"returnParameters":{"id":11910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11918,"src":"2043:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11908,"name":"string","nodeType":"ElementaryTypeName","src":"2043:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2042:15:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11935,"nodeType":"FunctionDefinition","src":"2117:162:14","nodes":[],"body":{"id":11934,"nodeType":"Block","src":"2221:58:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11930,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11920,"src":"2262:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11931,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11922,"src":"2268:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11928,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2238:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2241:20:14","memberName":"parseTomlStringArray","nodeType":"MemberAccess","referencedDeclaration":17230,"src":"2238:23:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":11932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2238:34:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":11927,"id":11933,"nodeType":"Return","src":"2231:41:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2126:15:14","parameters":{"id":11923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11920,"mutability":"mutable","name":"toml","nameLocation":"2156:4:14","nodeType":"VariableDeclaration","scope":11935,"src":"2142:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11919,"name":"string","nodeType":"ElementaryTypeName","src":"2142:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11922,"mutability":"mutable","name":"key","nameLocation":"2176:3:14","nodeType":"VariableDeclaration","scope":11935,"src":"2162:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11921,"name":"string","nodeType":"ElementaryTypeName","src":"2162:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2141:39:14"},"returnParameters":{"id":11927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11935,"src":"2204:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11924,"name":"string","nodeType":"ElementaryTypeName","src":"2204:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11925,"nodeType":"ArrayTypeName","src":"2204:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2203:17:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11951,"nodeType":"FunctionDefinition","src":"2285:146:14","nodes":[],"body":{"id":11950,"nodeType":"Block","src":"2377:54:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11946,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11937,"src":"2414:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11947,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11939,"src":"2420:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11944,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2394:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2397:16:14","memberName":"parseTomlAddress","nodeType":"MemberAccess","referencedDeclaration":17103,"src":"2394:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure external returns (address)"}},"id":11948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:30:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":11943,"id":11949,"nodeType":"Return","src":"2387:37:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2294:11:14","parameters":{"id":11940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11937,"mutability":"mutable","name":"toml","nameLocation":"2320:4:14","nodeType":"VariableDeclaration","scope":11951,"src":"2306:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11936,"name":"string","nodeType":"ElementaryTypeName","src":"2306:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11939,"mutability":"mutable","name":"key","nameLocation":"2340:3:14","nodeType":"VariableDeclaration","scope":11951,"src":"2326:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11938,"name":"string","nodeType":"ElementaryTypeName","src":"2326:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2305:39:14"},"returnParameters":{"id":11943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11942,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11951,"src":"2368:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11941,"name":"address","nodeType":"ElementaryTypeName","src":"2368:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2367:9:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11968,"nodeType":"FunctionDefinition","src":"2437:165:14","nodes":[],"body":{"id":11967,"nodeType":"Block","src":"2543:59:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11963,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11953,"src":"2585:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11964,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11955,"src":"2591:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11961,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2560:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2563:21:14","memberName":"parseTomlAddressArray","nodeType":"MemberAccess","referencedDeclaration":17114,"src":"2560:24:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (address[] memory)"}},"id":11965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2560:35:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":11960,"id":11966,"nodeType":"Return","src":"2553:42:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2446:16:14","parameters":{"id":11956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11953,"mutability":"mutable","name":"toml","nameLocation":"2477:4:14","nodeType":"VariableDeclaration","scope":11968,"src":"2463:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11952,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11955,"mutability":"mutable","name":"key","nameLocation":"2497:3:14","nodeType":"VariableDeclaration","scope":11968,"src":"2483:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11954,"name":"string","nodeType":"ElementaryTypeName","src":"2483:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2462:39:14"},"returnParameters":{"id":11960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11959,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11968,"src":"2525:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11957,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11958,"nodeType":"ArrayTypeName","src":"2525:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2524:18:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11984,"nodeType":"FunctionDefinition","src":"2608:137:14","nodes":[],"body":{"id":11983,"nodeType":"Block","src":"2694:51:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11979,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"2728:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11980,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11972,"src":"2734:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11977,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2711:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2714:13:14","memberName":"parseTomlBool","nodeType":"MemberAccess","referencedDeclaration":17124,"src":"2711:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure external returns (bool)"}},"id":11981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11976,"id":11982,"nodeType":"Return","src":"2704:34:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2617:8:14","parameters":{"id":11973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11970,"mutability":"mutable","name":"toml","nameLocation":"2640:4:14","nodeType":"VariableDeclaration","scope":11984,"src":"2626:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11969,"name":"string","nodeType":"ElementaryTypeName","src":"2626:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11972,"mutability":"mutable","name":"key","nameLocation":"2660:3:14","nodeType":"VariableDeclaration","scope":11984,"src":"2646:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11971,"name":"string","nodeType":"ElementaryTypeName","src":"2646:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2625:39:14"},"returnParameters":{"id":11976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11975,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11984,"src":"2688:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11974,"name":"bool","nodeType":"ElementaryTypeName","src":"2688:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2687:6:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12001,"nodeType":"FunctionDefinition","src":"2751:156:14","nodes":[],"body":{"id":12000,"nodeType":"Block","src":"2851:56:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11996,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11986,"src":"2890:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11997,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11988,"src":"2896:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11994,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2868:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2871:18:14","memberName":"parseTomlBoolArray","nodeType":"MemberAccess","referencedDeclaration":17135,"src":"2868:21:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bool[] memory)"}},"id":11998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:32:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":11993,"id":11999,"nodeType":"Return","src":"2861:39:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2760:13:14","parameters":{"id":11989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11986,"mutability":"mutable","name":"toml","nameLocation":"2788:4:14","nodeType":"VariableDeclaration","scope":12001,"src":"2774:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11985,"name":"string","nodeType":"ElementaryTypeName","src":"2774:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11988,"mutability":"mutable","name":"key","nameLocation":"2808:3:14","nodeType":"VariableDeclaration","scope":12001,"src":"2794:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11987,"name":"string","nodeType":"ElementaryTypeName","src":"2794:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2773:39:14"},"returnParameters":{"id":11993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11992,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12001,"src":"2836:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11990,"name":"bool","nodeType":"ElementaryTypeName","src":"2836:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11991,"nodeType":"ArrayTypeName","src":"2836:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2835:15:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12017,"nodeType":"FunctionDefinition","src":"2913:147:14","nodes":[],"body":{"id":12016,"nodeType":"Block","src":"3008:52:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12012,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12003,"src":"3043:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12013,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12005,"src":"3049:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12010,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"3025:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3028:14:14","memberName":"parseTomlBytes","nodeType":"MemberAccess","referencedDeclaration":17145,"src":"3025:17:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":12014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:28:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12009,"id":12015,"nodeType":"Return","src":"3018:35:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2922:9:14","parameters":{"id":12006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12003,"mutability":"mutable","name":"toml","nameLocation":"2946:4:14","nodeType":"VariableDeclaration","scope":12017,"src":"2932:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12002,"name":"string","nodeType":"ElementaryTypeName","src":"2932:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12005,"mutability":"mutable","name":"key","nameLocation":"2966:3:14","nodeType":"VariableDeclaration","scope":12017,"src":"2952:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12004,"name":"string","nodeType":"ElementaryTypeName","src":"2952:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2931:39:14"},"returnParameters":{"id":12009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12008,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12017,"src":"2994:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12007,"name":"bytes","nodeType":"ElementaryTypeName","src":"2994:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2993:14:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12034,"nodeType":"FunctionDefinition","src":"3066:159:14","nodes":[],"body":{"id":12033,"nodeType":"Block","src":"3168:57:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12029,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12019,"src":"3208:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12030,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12021,"src":"3214:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12027,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"3185:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3188:19:14","memberName":"parseTomlBytesArray","nodeType":"MemberAccess","referencedDeclaration":17177,"src":"3185:22:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory[] memory)"}},"id":12031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3185:33:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":12026,"id":12032,"nodeType":"Return","src":"3178:40:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3075:14:14","parameters":{"id":12022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12019,"mutability":"mutable","name":"toml","nameLocation":"3104:4:14","nodeType":"VariableDeclaration","scope":12034,"src":"3090:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12018,"name":"string","nodeType":"ElementaryTypeName","src":"3090:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12021,"mutability":"mutable","name":"key","nameLocation":"3124:3:14","nodeType":"VariableDeclaration","scope":12034,"src":"3110:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12020,"name":"string","nodeType":"ElementaryTypeName","src":"3110:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3089:39:14"},"returnParameters":{"id":12026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12025,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12034,"src":"3152:14:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12023,"name":"bytes","nodeType":"ElementaryTypeName","src":"3152:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12024,"nodeType":"ArrayTypeName","src":"3152:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3151:16:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12057,"nodeType":"FunctionDefinition","src":"3231:194:14","nodes":[],"body":{"id":12056,"nodeType":"Block","src":"3344:81:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12046,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"3371:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12047,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12038,"src":"3377:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12045,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"3361:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3361:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12053,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12040,"src":"3406:12:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3361:57:14","trueExpression":{"arguments":[{"id":12050,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"3393:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12051,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12038,"src":"3399:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12049,"name":"readUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11819,"src":"3384:8:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":12052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12044,"id":12055,"nodeType":"Return","src":"3354:64:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintOr","nameLocation":"3240:10:14","parameters":{"id":12041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12036,"mutability":"mutable","name":"toml","nameLocation":"3265:4:14","nodeType":"VariableDeclaration","scope":12057,"src":"3251:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12035,"name":"string","nodeType":"ElementaryTypeName","src":"3251:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12038,"mutability":"mutable","name":"key","nameLocation":"3285:3:14","nodeType":"VariableDeclaration","scope":12057,"src":"3271:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12037,"name":"string","nodeType":"ElementaryTypeName","src":"3271:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12040,"mutability":"mutable","name":"defaultValue","nameLocation":"3298:12:14","nodeType":"VariableDeclaration","scope":12057,"src":"3290:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12039,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3250:61:14"},"returnParameters":{"id":12044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12043,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12057,"src":"3335:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12042,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3334:9:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12082,"nodeType":"FunctionDefinition","src":"3431:250:14","nodes":[],"body":{"id":12081,"nodeType":"Block","src":"3595:86:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12071,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12059,"src":"3622:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12072,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3628:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12070,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"3612:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3612:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12078,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12064,"src":"3662:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3612:62:14","trueExpression":{"arguments":[{"id":12075,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12059,"src":"3649:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12076,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3655:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12074,"name":"readUintArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11836,"src":"3635:13:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256[] memory)"}},"id":12077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":12069,"id":12080,"nodeType":"Return","src":"3605:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArrayOr","nameLocation":"3440:15:14","parameters":{"id":12065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12059,"mutability":"mutable","name":"toml","nameLocation":"3470:4:14","nodeType":"VariableDeclaration","scope":12082,"src":"3456:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12058,"name":"string","nodeType":"ElementaryTypeName","src":"3456:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12061,"mutability":"mutable","name":"key","nameLocation":"3490:3:14","nodeType":"VariableDeclaration","scope":12082,"src":"3476:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12060,"name":"string","nodeType":"ElementaryTypeName","src":"3476:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12064,"mutability":"mutable","name":"defaultValue","nameLocation":"3512:12:14","nodeType":"VariableDeclaration","scope":12082,"src":"3495:29:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12062,"name":"uint256","nodeType":"ElementaryTypeName","src":"3495:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12063,"nodeType":"ArrayTypeName","src":"3495:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3455:70:14"},"returnParameters":{"id":12069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12082,"src":"3573:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12066,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12067,"nodeType":"ArrayTypeName","src":"3573:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3572:18:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12105,"nodeType":"FunctionDefinition","src":"3687:190:14","nodes":[],"body":{"id":12104,"nodeType":"Block","src":"3797:80:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12094,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12084,"src":"3824:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12095,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12086,"src":"3830:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12093,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"3814:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3814:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12101,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12088,"src":"3858:12:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3814:56:14","trueExpression":{"arguments":[{"id":12098,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12084,"src":"3845:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12099,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12086,"src":"3851:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12097,"name":"readInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11852,"src":"3837:7:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure returns (int256)"}},"id":12100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":12092,"id":12103,"nodeType":"Return","src":"3807:63:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntOr","nameLocation":"3696:9:14","parameters":{"id":12089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12084,"mutability":"mutable","name":"toml","nameLocation":"3720:4:14","nodeType":"VariableDeclaration","scope":12105,"src":"3706:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12083,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12086,"mutability":"mutable","name":"key","nameLocation":"3740:3:14","nodeType":"VariableDeclaration","scope":12105,"src":"3726:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12085,"name":"string","nodeType":"ElementaryTypeName","src":"3726:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12088,"mutability":"mutable","name":"defaultValue","nameLocation":"3752:12:14","nodeType":"VariableDeclaration","scope":12105,"src":"3745:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12087,"name":"int256","nodeType":"ElementaryTypeName","src":"3745:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3705:60:14"},"returnParameters":{"id":12092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12105,"src":"3789:6:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12090,"name":"int256","nodeType":"ElementaryTypeName","src":"3789:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3788:8:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12130,"nodeType":"FunctionDefinition","src":"3883:246:14","nodes":[],"body":{"id":12129,"nodeType":"Block","src":"4044:85:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12119,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12107,"src":"4071:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12120,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12109,"src":"4077:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12118,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"4061:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12126,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12112,"src":"4110:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"id":12127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4061:61:14","trueExpression":{"arguments":[{"id":12123,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12107,"src":"4097:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12124,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12109,"src":"4103:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12122,"name":"readIntArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11869,"src":"4084:12:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (int256[] memory)"}},"id":12125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":12117,"id":12128,"nodeType":"Return","src":"4054:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArrayOr","nameLocation":"3892:14:14","parameters":{"id":12113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12107,"mutability":"mutable","name":"toml","nameLocation":"3921:4:14","nodeType":"VariableDeclaration","scope":12130,"src":"3907:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12106,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12109,"mutability":"mutable","name":"key","nameLocation":"3941:3:14","nodeType":"VariableDeclaration","scope":12130,"src":"3927:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12108,"name":"string","nodeType":"ElementaryTypeName","src":"3927:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12112,"mutability":"mutable","name":"defaultValue","nameLocation":"3962:12:14","nodeType":"VariableDeclaration","scope":12130,"src":"3946:28:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12110,"name":"int256","nodeType":"ElementaryTypeName","src":"3946:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12111,"nodeType":"ArrayTypeName","src":"3946:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"3906:69:14"},"returnParameters":{"id":12117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12130,"src":"4023:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12114,"name":"int256","nodeType":"ElementaryTypeName","src":"4023:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12115,"nodeType":"ArrayTypeName","src":"4023:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4022:17:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12153,"nodeType":"FunctionDefinition","src":"4135:228:14","nodes":[],"body":{"id":12152,"nodeType":"Block","src":"4279:84:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12142,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12132,"src":"4306:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12143,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12134,"src":"4312:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12141,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"4296:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12149,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12136,"src":"4344:12:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4296:60:14","trueExpression":{"arguments":[{"id":12146,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12132,"src":"4331:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12147,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12134,"src":"4337:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12145,"name":"readBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11885,"src":"4319:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure returns (bytes32)"}},"id":12148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:22:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12140,"id":12151,"nodeType":"Return","src":"4289:67:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Or","nameLocation":"4144:13:14","parameters":{"id":12137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12132,"mutability":"mutable","name":"toml","nameLocation":"4172:4:14","nodeType":"VariableDeclaration","scope":12153,"src":"4158:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12131,"name":"string","nodeType":"ElementaryTypeName","src":"4158:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12134,"mutability":"mutable","name":"key","nameLocation":"4192:3:14","nodeType":"VariableDeclaration","scope":12153,"src":"4178:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12133,"name":"string","nodeType":"ElementaryTypeName","src":"4178:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12136,"mutability":"mutable","name":"defaultValue","nameLocation":"4205:12:14","nodeType":"VariableDeclaration","scope":12153,"src":"4197:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4197:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4157:61:14"},"returnParameters":{"id":12140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12153,"src":"4266:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4266:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4265:9:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12178,"nodeType":"FunctionDefinition","src":"4369:256:14","nodes":[],"body":{"id":12177,"nodeType":"Block","src":"4536:89:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12167,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12155,"src":"4563:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12168,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12157,"src":"4569:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12166,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"4553:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12174,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12160,"src":"4606:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":12175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4553:65:14","trueExpression":{"arguments":[{"id":12171,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12155,"src":"4593:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12172,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12157,"src":"4599:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12170,"name":"readBytes32Array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11902,"src":"4576:16:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes32[] memory)"}},"id":12173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":12165,"id":12176,"nodeType":"Return","src":"4546:72:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32ArrayOr","nameLocation":"4378:18:14","parameters":{"id":12161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12155,"mutability":"mutable","name":"toml","nameLocation":"4411:4:14","nodeType":"VariableDeclaration","scope":12178,"src":"4397:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12154,"name":"string","nodeType":"ElementaryTypeName","src":"4397:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12157,"mutability":"mutable","name":"key","nameLocation":"4431:3:14","nodeType":"VariableDeclaration","scope":12178,"src":"4417:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12156,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12160,"mutability":"mutable","name":"defaultValue","nameLocation":"4453:12:14","nodeType":"VariableDeclaration","scope":12178,"src":"4436:29:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4436:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12159,"nodeType":"ArrayTypeName","src":"4436:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4396:70:14"},"returnParameters":{"id":12165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12164,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12178,"src":"4514:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4514:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12163,"nodeType":"ArrayTypeName","src":"4514:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4513:18:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12201,"nodeType":"FunctionDefinition","src":"4631:238:14","nodes":[],"body":{"id":12200,"nodeType":"Block","src":"4786:83:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12190,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12180,"src":"4813:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12191,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12182,"src":"4819:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12189,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"4803:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12197,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12184,"src":"4850:12:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":12198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4803:59:14","trueExpression":{"arguments":[{"id":12194,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12180,"src":"4837:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12195,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12182,"src":"4843:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12193,"name":"readString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11918,"src":"4826:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":12196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:21:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12188,"id":12199,"nodeType":"Return","src":"4796:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringOr","nameLocation":"4640:12:14","parameters":{"id":12185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12180,"mutability":"mutable","name":"toml","nameLocation":"4667:4:14","nodeType":"VariableDeclaration","scope":12201,"src":"4653:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12179,"name":"string","nodeType":"ElementaryTypeName","src":"4653:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12182,"mutability":"mutable","name":"key","nameLocation":"4687:3:14","nodeType":"VariableDeclaration","scope":12201,"src":"4673:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12181,"name":"string","nodeType":"ElementaryTypeName","src":"4673:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12184,"mutability":"mutable","name":"defaultValue","nameLocation":"4706:12:14","nodeType":"VariableDeclaration","scope":12201,"src":"4692:26:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12183,"name":"string","nodeType":"ElementaryTypeName","src":"4692:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4652:67:14"},"returnParameters":{"id":12188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12201,"src":"4767:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12186,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12226,"nodeType":"FunctionDefinition","src":"4875:252:14","nodes":[],"body":{"id":12225,"nodeType":"Block","src":"5039:88:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12215,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12203,"src":"5066:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12216,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12205,"src":"5072:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12214,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5056:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12222,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12208,"src":"5108:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":12223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5056:64:14","trueExpression":{"arguments":[{"id":12219,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12203,"src":"5095:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12220,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12205,"src":"5101:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12218,"name":"readStringArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11935,"src":"5079:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory[] memory)"}},"id":12221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5079:26:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":12213,"id":12224,"nodeType":"Return","src":"5049:71:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArrayOr","nameLocation":"4884:17:14","parameters":{"id":12209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12203,"mutability":"mutable","name":"toml","nameLocation":"4916:4:14","nodeType":"VariableDeclaration","scope":12226,"src":"4902:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12202,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12205,"mutability":"mutable","name":"key","nameLocation":"4936:3:14","nodeType":"VariableDeclaration","scope":12226,"src":"4922:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12204,"name":"string","nodeType":"ElementaryTypeName","src":"4922:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12208,"mutability":"mutable","name":"defaultValue","nameLocation":"4957:12:14","nodeType":"VariableDeclaration","scope":12226,"src":"4941:28:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12206,"name":"string","nodeType":"ElementaryTypeName","src":"4941:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12207,"nodeType":"ArrayTypeName","src":"4941:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:69:14"},"returnParameters":{"id":12213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12226,"src":"5018:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12210,"name":"string","nodeType":"ElementaryTypeName","src":"5018:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12211,"nodeType":"ArrayTypeName","src":"5018:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5017:17:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12249,"nodeType":"FunctionDefinition","src":"5133:228:14","nodes":[],"body":{"id":12248,"nodeType":"Block","src":"5277:84:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12238,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12228,"src":"5304:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12239,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12230,"src":"5310:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12237,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5294:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5294:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12245,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12232,"src":"5342:12:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5294:60:14","trueExpression":{"arguments":[{"id":12242,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12228,"src":"5329:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12243,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12230,"src":"5335:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12241,"name":"readAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11951,"src":"5317:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":12244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5317:22:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":12236,"id":12247,"nodeType":"Return","src":"5287:67:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressOr","nameLocation":"5142:13:14","parameters":{"id":12233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12228,"mutability":"mutable","name":"toml","nameLocation":"5170:4:14","nodeType":"VariableDeclaration","scope":12249,"src":"5156:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12227,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12230,"mutability":"mutable","name":"key","nameLocation":"5190:3:14","nodeType":"VariableDeclaration","scope":12249,"src":"5176:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12229,"name":"string","nodeType":"ElementaryTypeName","src":"5176:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12232,"mutability":"mutable","name":"defaultValue","nameLocation":"5203:12:14","nodeType":"VariableDeclaration","scope":12249,"src":"5195:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12231,"name":"address","nodeType":"ElementaryTypeName","src":"5195:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5155:61:14"},"returnParameters":{"id":12236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12249,"src":"5264:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12234,"name":"address","nodeType":"ElementaryTypeName","src":"5264:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5263:9:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12274,"nodeType":"FunctionDefinition","src":"5367:256:14","nodes":[],"body":{"id":12273,"nodeType":"Block","src":"5534:89:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12263,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12251,"src":"5561:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12264,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12253,"src":"5567:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12262,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5551:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12270,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"5604:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":12271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5551:65:14","trueExpression":{"arguments":[{"id":12267,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12251,"src":"5591:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12268,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12253,"src":"5597:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12266,"name":"readAddressArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11968,"src":"5574:16:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":12269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":12261,"id":12272,"nodeType":"Return","src":"5544:72:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArrayOr","nameLocation":"5376:18:14","parameters":{"id":12257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12251,"mutability":"mutable","name":"toml","nameLocation":"5409:4:14","nodeType":"VariableDeclaration","scope":12274,"src":"5395:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12250,"name":"string","nodeType":"ElementaryTypeName","src":"5395:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12253,"mutability":"mutable","name":"key","nameLocation":"5429:3:14","nodeType":"VariableDeclaration","scope":12274,"src":"5415:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12252,"name":"string","nodeType":"ElementaryTypeName","src":"5415:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12256,"mutability":"mutable","name":"defaultValue","nameLocation":"5451:12:14","nodeType":"VariableDeclaration","scope":12274,"src":"5434:29:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12254,"name":"address","nodeType":"ElementaryTypeName","src":"5434:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12255,"nodeType":"ArrayTypeName","src":"5434:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5394:70:14"},"returnParameters":{"id":12261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12274,"src":"5512:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12258,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12259,"nodeType":"ArrayTypeName","src":"5512:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5511:18:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12297,"nodeType":"FunctionDefinition","src":"5629:188:14","nodes":[],"body":{"id":12296,"nodeType":"Block","src":"5736:81:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12286,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12276,"src":"5763:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12287,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12278,"src":"5769:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12285,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5753:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12293,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12280,"src":"5798:12:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5753:57:14","trueExpression":{"arguments":[{"id":12290,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12276,"src":"5785:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12291,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12278,"src":"5791:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12289,"name":"readBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11984,"src":"5776:8:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":12292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5776:19:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12284,"id":12295,"nodeType":"Return","src":"5746:64:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolOr","nameLocation":"5638:10:14","parameters":{"id":12281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12276,"mutability":"mutable","name":"toml","nameLocation":"5663:4:14","nodeType":"VariableDeclaration","scope":12297,"src":"5649:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12275,"name":"string","nodeType":"ElementaryTypeName","src":"5649:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12278,"mutability":"mutable","name":"key","nameLocation":"5683:3:14","nodeType":"VariableDeclaration","scope":12297,"src":"5669:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12277,"name":"string","nodeType":"ElementaryTypeName","src":"5669:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12280,"mutability":"mutable","name":"defaultValue","nameLocation":"5693:12:14","nodeType":"VariableDeclaration","scope":12297,"src":"5688:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12279,"name":"bool","nodeType":"ElementaryTypeName","src":"5688:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5648:58:14"},"returnParameters":{"id":12284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12297,"src":"5730:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12282,"name":"bool","nodeType":"ElementaryTypeName","src":"5730:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5729:6:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12322,"nodeType":"FunctionDefinition","src":"5823:244:14","nodes":[],"body":{"id":12321,"nodeType":"Block","src":"5981:86:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12311,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12299,"src":"6008:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12312,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12301,"src":"6014:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12310,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5998:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12318,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12304,"src":"6048:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":12319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5998:62:14","trueExpression":{"arguments":[{"id":12315,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12299,"src":"6035:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12316,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12301,"src":"6041:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12314,"name":"readBoolArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12001,"src":"6021:13:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool[] memory)"}},"id":12317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":12309,"id":12320,"nodeType":"Return","src":"5991:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArrayOr","nameLocation":"5832:15:14","parameters":{"id":12305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12299,"mutability":"mutable","name":"toml","nameLocation":"5862:4:14","nodeType":"VariableDeclaration","scope":12322,"src":"5848:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12298,"name":"string","nodeType":"ElementaryTypeName","src":"5848:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12301,"mutability":"mutable","name":"key","nameLocation":"5882:3:14","nodeType":"VariableDeclaration","scope":12322,"src":"5868:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12300,"name":"string","nodeType":"ElementaryTypeName","src":"5868:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12304,"mutability":"mutable","name":"defaultValue","nameLocation":"5901:12:14","nodeType":"VariableDeclaration","scope":12322,"src":"5887:26:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12302,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12303,"nodeType":"ArrayTypeName","src":"5887:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5847:67:14"},"returnParameters":{"id":12309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12322,"src":"5962:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12306,"name":"bool","nodeType":"ElementaryTypeName","src":"5962:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12307,"nodeType":"ArrayTypeName","src":"5962:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5961:15:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12345,"nodeType":"FunctionDefinition","src":"6073:234:14","nodes":[],"body":{"id":12344,"nodeType":"Block","src":"6225:82:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12334,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12324,"src":"6252:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12335,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12326,"src":"6258:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12333,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"6242:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12341,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12328,"src":"6288:12:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6242:58:14","trueExpression":{"arguments":[{"id":12338,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12324,"src":"6275:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12339,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12326,"src":"6281:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12337,"name":"readBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12017,"src":"6265:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory)"}},"id":12340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6265:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12332,"id":12343,"nodeType":"Return","src":"6235:65:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesOr","nameLocation":"6082:11:14","parameters":{"id":12329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12324,"mutability":"mutable","name":"toml","nameLocation":"6108:4:14","nodeType":"VariableDeclaration","scope":12345,"src":"6094:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12323,"name":"string","nodeType":"ElementaryTypeName","src":"6094:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12326,"mutability":"mutable","name":"key","nameLocation":"6128:3:14","nodeType":"VariableDeclaration","scope":12345,"src":"6114:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12325,"name":"string","nodeType":"ElementaryTypeName","src":"6114:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12328,"mutability":"mutable","name":"defaultValue","nameLocation":"6146:12:14","nodeType":"VariableDeclaration","scope":12345,"src":"6133:25:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12327,"name":"bytes","nodeType":"ElementaryTypeName","src":"6133:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6093:66:14"},"returnParameters":{"id":12332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12345,"src":"6207:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12330,"name":"bytes","nodeType":"ElementaryTypeName","src":"6207:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6206:14:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12370,"nodeType":"FunctionDefinition","src":"6313:248:14","nodes":[],"body":{"id":12369,"nodeType":"Block","src":"6474:87:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12359,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"6501:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12360,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12349,"src":"6507:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12358,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"6491:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12366,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12352,"src":"6542:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":12367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6491:63:14","trueExpression":{"arguments":[{"id":12363,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"6529:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12364,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12349,"src":"6535:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12362,"name":"readBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12034,"src":"6514:14:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory[] memory)"}},"id":12365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6514:25:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":12357,"id":12368,"nodeType":"Return","src":"6484:70:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArrayOr","nameLocation":"6322:16:14","parameters":{"id":12353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12347,"mutability":"mutable","name":"toml","nameLocation":"6353:4:14","nodeType":"VariableDeclaration","scope":12370,"src":"6339:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12346,"name":"string","nodeType":"ElementaryTypeName","src":"6339:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12349,"mutability":"mutable","name":"key","nameLocation":"6373:3:14","nodeType":"VariableDeclaration","scope":12370,"src":"6359:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12348,"name":"string","nodeType":"ElementaryTypeName","src":"6359:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12352,"mutability":"mutable","name":"defaultValue","nameLocation":"6393:12:14","nodeType":"VariableDeclaration","scope":12370,"src":"6378:27:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12350,"name":"bytes","nodeType":"ElementaryTypeName","src":"6378:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12351,"nodeType":"ArrayTypeName","src":"6378:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6338:68:14"},"returnParameters":{"id":12357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12370,"src":"6454:14:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12354,"name":"bytes","nodeType":"ElementaryTypeName","src":"6454:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12355,"nodeType":"ArrayTypeName","src":"6454:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6453:16:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12386,"nodeType":"FunctionDefinition","src":"6567:162:14","nodes":[],"body":{"id":12385,"nodeType":"Block","src":"6668:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12381,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12372,"src":"6702:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12382,"name":"rootObject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12374,"src":"6711:10:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12379,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"6685:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6688:13:14","memberName":"serializeJson","nodeType":"MemberAccess","referencedDeclaration":15363,"src":"6685:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":12383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12378,"id":12384,"nodeType":"Return","src":"6678:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6576:9:14","parameters":{"id":12375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12372,"mutability":"mutable","name":"jsonKey","nameLocation":"6600:7:14","nodeType":"VariableDeclaration","scope":12386,"src":"6586:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12371,"name":"string","nodeType":"ElementaryTypeName","src":"6586:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12374,"mutability":"mutable","name":"rootObject","nameLocation":"6623:10:14","nodeType":"VariableDeclaration","scope":12386,"src":"6609:24:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12373,"name":"string","nodeType":"ElementaryTypeName","src":"6609:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6585:49:14"},"returnParameters":{"id":12378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12386,"src":"6653:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12376,"name":"string","nodeType":"ElementaryTypeName","src":"6653:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6652:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12405,"nodeType":"FunctionDefinition","src":"6735:167:14","nodes":[],"body":{"id":12404,"nodeType":"Block","src":"6841:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12399,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12388,"src":"6875:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12400,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12390,"src":"6884:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12401,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12392,"src":"6889:5:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12397,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"6858:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6861:13:14","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":15265,"src":"6858:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) external returns (string memory)"}},"id":12402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6858:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12396,"id":12403,"nodeType":"Return","src":"6851:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6744:9:14","parameters":{"id":12393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12388,"mutability":"mutable","name":"jsonKey","nameLocation":"6768:7:14","nodeType":"VariableDeclaration","scope":12405,"src":"6754:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12387,"name":"string","nodeType":"ElementaryTypeName","src":"6754:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12390,"mutability":"mutable","name":"key","nameLocation":"6791:3:14","nodeType":"VariableDeclaration","scope":12405,"src":"6777:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12389,"name":"string","nodeType":"ElementaryTypeName","src":"6777:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12392,"mutability":"mutable","name":"value","nameLocation":"6801:5:14","nodeType":"VariableDeclaration","scope":12405,"src":"6796:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12391,"name":"bool","nodeType":"ElementaryTypeName","src":"6796:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6753:54:14"},"returnParameters":{"id":12396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12405,"src":"6826:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12394,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6825:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12425,"nodeType":"FunctionDefinition","src":"6908:196:14","nodes":[],"body":{"id":12424,"nodeType":"Block","src":"7043:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12419,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12407,"src":"7077:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12420,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"7086:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12421,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12412,"src":"7091:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":12417,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7060:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7063:13:14","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":15278,"src":"7060:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool[] memory) external returns (string memory)"}},"id":12422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7060:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12416,"id":12423,"nodeType":"Return","src":"7053:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6917:9:14","parameters":{"id":12413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12407,"mutability":"mutable","name":"jsonKey","nameLocation":"6941:7:14","nodeType":"VariableDeclaration","scope":12425,"src":"6927:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12406,"name":"string","nodeType":"ElementaryTypeName","src":"6927:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12409,"mutability":"mutable","name":"key","nameLocation":"6964:3:14","nodeType":"VariableDeclaration","scope":12425,"src":"6950:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12408,"name":"string","nodeType":"ElementaryTypeName","src":"6950:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12412,"mutability":"mutable","name":"value","nameLocation":"6983:5:14","nodeType":"VariableDeclaration","scope":12425,"src":"6969:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12410,"name":"bool","nodeType":"ElementaryTypeName","src":"6969:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12411,"nodeType":"ArrayTypeName","src":"6969:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"6926:63:14"},"returnParameters":{"id":12416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12425,"src":"7024:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12414,"name":"string","nodeType":"ElementaryTypeName","src":"7024:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7023:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12444,"nodeType":"FunctionDefinition","src":"7110:170:14","nodes":[],"body":{"id":12443,"nodeType":"Block","src":"7219:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12438,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"7253:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12439,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12429,"src":"7262:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12440,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12431,"src":"7267:5:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12436,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7236:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7239:13:14","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":15436,"src":"7236:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256) external returns (string memory)"}},"id":12441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7236:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12435,"id":12442,"nodeType":"Return","src":"7229:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7119:9:14","parameters":{"id":12432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12427,"mutability":"mutable","name":"jsonKey","nameLocation":"7143:7:14","nodeType":"VariableDeclaration","scope":12444,"src":"7129:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12426,"name":"string","nodeType":"ElementaryTypeName","src":"7129:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12429,"mutability":"mutable","name":"key","nameLocation":"7166:3:14","nodeType":"VariableDeclaration","scope":12444,"src":"7152:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12428,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12431,"mutability":"mutable","name":"value","nameLocation":"7179:5:14","nodeType":"VariableDeclaration","scope":12444,"src":"7171:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12430,"name":"uint256","nodeType":"ElementaryTypeName","src":"7171:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7128:57:14"},"returnParameters":{"id":12435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12434,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12444,"src":"7204:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12433,"name":"string","nodeType":"ElementaryTypeName","src":"7204:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7203:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12464,"nodeType":"FunctionDefinition","src":"7286:199:14","nodes":[],"body":{"id":12463,"nodeType":"Block","src":"7424:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12458,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12446,"src":"7458:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12459,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12448,"src":"7467:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12460,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12451,"src":"7472:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":12456,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7441:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:13:14","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":15449,"src":"7441:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256[] memory) external returns (string memory)"}},"id":12461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12455,"id":12462,"nodeType":"Return","src":"7434:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7295:9:14","parameters":{"id":12452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12446,"mutability":"mutable","name":"jsonKey","nameLocation":"7319:7:14","nodeType":"VariableDeclaration","scope":12464,"src":"7305:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12445,"name":"string","nodeType":"ElementaryTypeName","src":"7305:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12448,"mutability":"mutable","name":"key","nameLocation":"7342:3:14","nodeType":"VariableDeclaration","scope":12464,"src":"7328:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12447,"name":"string","nodeType":"ElementaryTypeName","src":"7328:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12451,"mutability":"mutable","name":"value","nameLocation":"7364:5:14","nodeType":"VariableDeclaration","scope":12464,"src":"7347:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12449,"name":"uint256","nodeType":"ElementaryTypeName","src":"7347:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12450,"nodeType":"ArrayTypeName","src":"7347:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7304:66:14"},"returnParameters":{"id":12455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12464,"src":"7405:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12453,"name":"string","nodeType":"ElementaryTypeName","src":"7405:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7404:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12483,"nodeType":"FunctionDefinition","src":"7491:168:14","nodes":[],"body":{"id":12482,"nodeType":"Block","src":"7599:60:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12477,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12466,"src":"7632:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12478,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12468,"src":"7641:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12479,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12470,"src":"7646:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":12475,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7616:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7619:12:14","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":15340,"src":"7616:15:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256) external returns (string memory)"}},"id":12480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:36:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12474,"id":12481,"nodeType":"Return","src":"7609:43:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7500:9:14","parameters":{"id":12471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12466,"mutability":"mutable","name":"jsonKey","nameLocation":"7524:7:14","nodeType":"VariableDeclaration","scope":12483,"src":"7510:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12465,"name":"string","nodeType":"ElementaryTypeName","src":"7510:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12468,"mutability":"mutable","name":"key","nameLocation":"7547:3:14","nodeType":"VariableDeclaration","scope":12483,"src":"7533:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12467,"name":"string","nodeType":"ElementaryTypeName","src":"7533:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12470,"mutability":"mutable","name":"value","nameLocation":"7559:5:14","nodeType":"VariableDeclaration","scope":12483,"src":"7552:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12469,"name":"int256","nodeType":"ElementaryTypeName","src":"7552:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7509:56:14"},"returnParameters":{"id":12474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12473,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12483,"src":"7584:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12472,"name":"string","nodeType":"ElementaryTypeName","src":"7584:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7583:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12503,"nodeType":"FunctionDefinition","src":"7665:197:14","nodes":[],"body":{"id":12502,"nodeType":"Block","src":"7802:60:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12497,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12485,"src":"7835:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12498,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12487,"src":"7844:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12499,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12490,"src":"7849:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":12495,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7819:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7822:12:14","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":15353,"src":"7819:15:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256[] memory) external returns (string memory)"}},"id":12500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7819:36:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12494,"id":12501,"nodeType":"Return","src":"7812:43:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7674:9:14","parameters":{"id":12491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12485,"mutability":"mutable","name":"jsonKey","nameLocation":"7698:7:14","nodeType":"VariableDeclaration","scope":12503,"src":"7684:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12484,"name":"string","nodeType":"ElementaryTypeName","src":"7684:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12487,"mutability":"mutable","name":"key","nameLocation":"7721:3:14","nodeType":"VariableDeclaration","scope":12503,"src":"7707:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12486,"name":"string","nodeType":"ElementaryTypeName","src":"7707:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12490,"mutability":"mutable","name":"value","nameLocation":"7742:5:14","nodeType":"VariableDeclaration","scope":12503,"src":"7726:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12488,"name":"int256","nodeType":"ElementaryTypeName","src":"7726:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12489,"nodeType":"ArrayTypeName","src":"7726:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"7683:65:14"},"returnParameters":{"id":12494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12503,"src":"7783:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12492,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7782:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12522,"nodeType":"FunctionDefinition","src":"7868:173:14","nodes":[],"body":{"id":12521,"nodeType":"Block","src":"7977:64:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12516,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12505,"src":"8014:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12517,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12507,"src":"8023:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12518,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12509,"src":"8028:5:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12514,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7994:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7997:16:14","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":15240,"src":"7994:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address) external returns (string memory)"}},"id":12519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7994:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12513,"id":12520,"nodeType":"Return","src":"7987:47:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7877:9:14","parameters":{"id":12510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12505,"mutability":"mutable","name":"jsonKey","nameLocation":"7901:7:14","nodeType":"VariableDeclaration","scope":12522,"src":"7887:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12504,"name":"string","nodeType":"ElementaryTypeName","src":"7887:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12507,"mutability":"mutable","name":"key","nameLocation":"7924:3:14","nodeType":"VariableDeclaration","scope":12522,"src":"7910:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12506,"name":"string","nodeType":"ElementaryTypeName","src":"7910:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12509,"mutability":"mutable","name":"value","nameLocation":"7937:5:14","nodeType":"VariableDeclaration","scope":12522,"src":"7929:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12508,"name":"address","nodeType":"ElementaryTypeName","src":"7929:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7886:57:14"},"returnParameters":{"id":12513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12522,"src":"7962:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12511,"name":"string","nodeType":"ElementaryTypeName","src":"7962:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7961:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12542,"nodeType":"FunctionDefinition","src":"8047:202:14","nodes":[],"body":{"id":12541,"nodeType":"Block","src":"8185:64:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12536,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12524,"src":"8222:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12537,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12526,"src":"8231:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12538,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12529,"src":"8236:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":12534,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8202:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8205:16:14","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":15253,"src":"8202:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address[] memory) external returns (string memory)"}},"id":12539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12533,"id":12540,"nodeType":"Return","src":"8195:47:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8056:9:14","parameters":{"id":12530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12524,"mutability":"mutable","name":"jsonKey","nameLocation":"8080:7:14","nodeType":"VariableDeclaration","scope":12542,"src":"8066:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12523,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12526,"mutability":"mutable","name":"key","nameLocation":"8103:3:14","nodeType":"VariableDeclaration","scope":12542,"src":"8089:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12525,"name":"string","nodeType":"ElementaryTypeName","src":"8089:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12529,"mutability":"mutable","name":"value","nameLocation":"8125:5:14","nodeType":"VariableDeclaration","scope":12542,"src":"8108:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12527,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12528,"nodeType":"ArrayTypeName","src":"8108:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8065:66:14"},"returnParameters":{"id":12533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12542,"src":"8166:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12531,"name":"string","nodeType":"ElementaryTypeName","src":"8166:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8165:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12561,"nodeType":"FunctionDefinition","src":"8255:173:14","nodes":[],"body":{"id":12560,"nodeType":"Block","src":"8364:64:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12555,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12544,"src":"8401:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12556,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12546,"src":"8410:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12557,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12548,"src":"8415:5:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12553,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8381:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8384:16:14","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":15290,"src":"8381:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32) external returns (string memory)"}},"id":12558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8381:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12552,"id":12559,"nodeType":"Return","src":"8374:47:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8264:9:14","parameters":{"id":12549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12544,"mutability":"mutable","name":"jsonKey","nameLocation":"8288:7:14","nodeType":"VariableDeclaration","scope":12561,"src":"8274:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12543,"name":"string","nodeType":"ElementaryTypeName","src":"8274:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12546,"mutability":"mutable","name":"key","nameLocation":"8311:3:14","nodeType":"VariableDeclaration","scope":12561,"src":"8297:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12545,"name":"string","nodeType":"ElementaryTypeName","src":"8297:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12548,"mutability":"mutable","name":"value","nameLocation":"8324:5:14","nodeType":"VariableDeclaration","scope":12561,"src":"8316:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8273:57:14"},"returnParameters":{"id":12552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12561,"src":"8349:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12550,"name":"string","nodeType":"ElementaryTypeName","src":"8349:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8348:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12581,"nodeType":"FunctionDefinition","src":"8434:202:14","nodes":[],"body":{"id":12580,"nodeType":"Block","src":"8572:64:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12575,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12563,"src":"8609:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12576,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12565,"src":"8618:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12577,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12568,"src":"8623:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12573,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8589:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8592:16:14","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":15303,"src":"8589:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32[] memory) external returns (string memory)"}},"id":12578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8589:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12572,"id":12579,"nodeType":"Return","src":"8582:47:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8443:9:14","parameters":{"id":12569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12563,"mutability":"mutable","name":"jsonKey","nameLocation":"8467:7:14","nodeType":"VariableDeclaration","scope":12581,"src":"8453:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12562,"name":"string","nodeType":"ElementaryTypeName","src":"8453:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12565,"mutability":"mutable","name":"key","nameLocation":"8490:3:14","nodeType":"VariableDeclaration","scope":12581,"src":"8476:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12564,"name":"string","nodeType":"ElementaryTypeName","src":"8476:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12568,"mutability":"mutable","name":"value","nameLocation":"8512:5:14","nodeType":"VariableDeclaration","scope":12581,"src":"8495:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8495:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12567,"nodeType":"ArrayTypeName","src":"8495:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8452:66:14"},"returnParameters":{"id":12572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12581,"src":"8553:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12570,"name":"string","nodeType":"ElementaryTypeName","src":"8553:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8552:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12600,"nodeType":"FunctionDefinition","src":"8642:176:14","nodes":[],"body":{"id":12599,"nodeType":"Block","src":"8756:62:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12594,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12583,"src":"8791:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12595,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12585,"src":"8800:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12596,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12587,"src":"8805:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12592,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8773:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8776:14:14","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":15315,"src":"8773:17:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory) external returns (string memory)"}},"id":12597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8773:38:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12591,"id":12598,"nodeType":"Return","src":"8766:45:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8651:9:14","parameters":{"id":12588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12583,"mutability":"mutable","name":"jsonKey","nameLocation":"8675:7:14","nodeType":"VariableDeclaration","scope":12600,"src":"8661:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12582,"name":"string","nodeType":"ElementaryTypeName","src":"8661:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12585,"mutability":"mutable","name":"key","nameLocation":"8698:3:14","nodeType":"VariableDeclaration","scope":12600,"src":"8684:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12584,"name":"string","nodeType":"ElementaryTypeName","src":"8684:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12587,"mutability":"mutable","name":"value","nameLocation":"8716:5:14","nodeType":"VariableDeclaration","scope":12600,"src":"8703:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12586,"name":"bytes","nodeType":"ElementaryTypeName","src":"8703:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8660:62:14"},"returnParameters":{"id":12591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12600,"src":"8741:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12589,"name":"string","nodeType":"ElementaryTypeName","src":"8741:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8740:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12620,"nodeType":"FunctionDefinition","src":"8824:198:14","nodes":[],"body":{"id":12619,"nodeType":"Block","src":"8960:62:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12614,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12602,"src":"8995:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12615,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12604,"src":"9004:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12616,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12607,"src":"9009:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":12612,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8977:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:14:14","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":15328,"src":"8977:17:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory[] memory) external returns (string memory)"}},"id":12617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:38:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12611,"id":12618,"nodeType":"Return","src":"8970:45:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8833:9:14","parameters":{"id":12608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12602,"mutability":"mutable","name":"jsonKey","nameLocation":"8857:7:14","nodeType":"VariableDeclaration","scope":12620,"src":"8843:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12601,"name":"string","nodeType":"ElementaryTypeName","src":"8843:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12604,"mutability":"mutable","name":"key","nameLocation":"8880:3:14","nodeType":"VariableDeclaration","scope":12620,"src":"8866:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12603,"name":"string","nodeType":"ElementaryTypeName","src":"8866:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12607,"mutability":"mutable","name":"value","nameLocation":"8900:5:14","nodeType":"VariableDeclaration","scope":12620,"src":"8885:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12605,"name":"bytes","nodeType":"ElementaryTypeName","src":"8885:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12606,"nodeType":"ArrayTypeName","src":"8885:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"8842:64:14"},"returnParameters":{"id":12611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12610,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12620,"src":"8941:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12609,"name":"string","nodeType":"ElementaryTypeName","src":"8941:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8940:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12639,"nodeType":"FunctionDefinition","src":"9028:198:14","nodes":[],"body":{"id":12638,"nodeType":"Block","src":"9163:63:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12633,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12622,"src":"9199:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12634,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12624,"src":"9208:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12635,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12626,"src":"9213:5:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12631,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"9180:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9183:15:14","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":15399,"src":"9180:18:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) external returns (string memory)"}},"id":12636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9180:39:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12630,"id":12637,"nodeType":"Return","src":"9173:46:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9037:9:14","parameters":{"id":12627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12622,"mutability":"mutable","name":"jsonKey","nameLocation":"9061:7:14","nodeType":"VariableDeclaration","scope":12639,"src":"9047:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12621,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12624,"mutability":"mutable","name":"key","nameLocation":"9084:3:14","nodeType":"VariableDeclaration","scope":12639,"src":"9070:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12623,"name":"string","nodeType":"ElementaryTypeName","src":"9070:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12626,"mutability":"mutable","name":"value","nameLocation":"9103:5:14","nodeType":"VariableDeclaration","scope":12639,"src":"9089:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12625,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9046:63:14"},"returnParameters":{"id":12630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12639,"src":"9144:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12628,"name":"string","nodeType":"ElementaryTypeName","src":"9144:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9143:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12659,"nodeType":"FunctionDefinition","src":"9232:200:14","nodes":[],"body":{"id":12658,"nodeType":"Block","src":"9369:63:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12653,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12641,"src":"9405:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12654,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12643,"src":"9414:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12655,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12646,"src":"9419:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":12651,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"9386:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9389:15:14","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":15412,"src":"9386:18:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory[] memory) external returns (string memory)"}},"id":12656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:39:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12650,"id":12657,"nodeType":"Return","src":"9379:46:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9241:9:14","parameters":{"id":12647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12641,"mutability":"mutable","name":"jsonKey","nameLocation":"9265:7:14","nodeType":"VariableDeclaration","scope":12659,"src":"9251:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12640,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12643,"mutability":"mutable","name":"key","nameLocation":"9288:3:14","nodeType":"VariableDeclaration","scope":12659,"src":"9274:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12642,"name":"string","nodeType":"ElementaryTypeName","src":"9274:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12646,"mutability":"mutable","name":"value","nameLocation":"9309:5:14","nodeType":"VariableDeclaration","scope":12659,"src":"9293:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12644,"name":"string","nodeType":"ElementaryTypeName","src":"9293:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12645,"nodeType":"ArrayTypeName","src":"9293:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"9250:65:14"},"returnParameters":{"id":12650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12659,"src":"9350:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12648,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12674,"nodeType":"FunctionDefinition","src":"9438:111:14","nodes":[],"body":{"id":12673,"nodeType":"Block","src":"9505:44:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12669,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12661,"src":"9528:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12670,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12663,"src":"9537:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12666,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"9515:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9518:9:14","memberName":"writeToml","nodeType":"MemberAccess","referencedDeclaration":17311,"src":"9515:12:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":12671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9515:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12672,"nodeType":"ExpressionStatement","src":"9515:27:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9447:5:14","parameters":{"id":12664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12661,"mutability":"mutable","name":"jsonKey","nameLocation":"9467:7:14","nodeType":"VariableDeclaration","scope":12674,"src":"9453:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12660,"name":"string","nodeType":"ElementaryTypeName","src":"9453:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12663,"mutability":"mutable","name":"path","nameLocation":"9490:4:14","nodeType":"VariableDeclaration","scope":12674,"src":"9476:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12662,"name":"string","nodeType":"ElementaryTypeName","src":"9476:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9452:43:14"},"returnParameters":{"id":12665,"nodeType":"ParameterList","parameters":[],"src":"9505:0:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12692,"nodeType":"FunctionDefinition","src":"9555:145:14","nodes":[],"body":{"id":12691,"nodeType":"Block","src":"9646:54:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12686,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12676,"src":"9669:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12687,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12678,"src":"9678:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12688,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12680,"src":"9684:8:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12683,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"9656:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9659:9:14","memberName":"writeToml","nodeType":"MemberAccess","referencedDeclaration":17321,"src":"9656:12:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) external"}},"id":12689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9656:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12690,"nodeType":"ExpressionStatement","src":"9656:37:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9564:5:14","parameters":{"id":12681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12676,"mutability":"mutable","name":"jsonKey","nameLocation":"9584:7:14","nodeType":"VariableDeclaration","scope":12692,"src":"9570:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12675,"name":"string","nodeType":"ElementaryTypeName","src":"9570:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12678,"mutability":"mutable","name":"path","nameLocation":"9607:4:14","nodeType":"VariableDeclaration","scope":12692,"src":"9593:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12677,"name":"string","nodeType":"ElementaryTypeName","src":"9593:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12680,"mutability":"mutable","name":"valueKey","nameLocation":"9627:8:14","nodeType":"VariableDeclaration","scope":12692,"src":"9613:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12679,"name":"string","nodeType":"ElementaryTypeName","src":"9613:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9569:67:14"},"returnParameters":{"id":12682,"nodeType":"ParameterList","parameters":[],"src":"9646:0:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdToml","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[12693],"name":"stdToml","nameLocation":"618:7:14","scope":12694,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdUtils.sol":{"id":15,"ast":{"absolutePath":"lib/forge-std/src/StdUtils.sol","id":13421,"exportedSymbols":{"IMulticall3":[26962],"StdUtils":[13420],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"32:9867:15","nodes":[{"id":12695,"nodeType":"PragmaDirective","src":"32:31:15","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":12696,"nodeType":"PragmaDirective","src":"65:33:15","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":12698,"nodeType":"ImportDirective","src":"100:57:15","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":13421,"sourceUnit":26963,"symbolAliases":[{"foreign":{"id":12697,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"108:11:15","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12700,"nodeType":"ImportDirective","src":"158:32:15","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":13421,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":12699,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"166:6:15","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13420,"nodeType":"ContractDefinition","src":"192:9706:15","nodes":[{"id":12706,"nodeType":"VariableDeclaration","src":"435:96:15","nodes":[],"constant":true,"mutability":"constant","name":"multicall","nameLocation":"464:9:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"},"typeName":{"id":12702,"nodeType":"UserDefinedTypeName","pathNode":{"id":12701,"name":"IMulticall3","nameLocations":["435:11:15"],"nodeType":"IdentifierPath","referencedDeclaration":26962,"src":"435:11:15"},"referencedDeclaration":26962,"src":"435:11:15","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":12704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"488:42:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12703,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"476:11:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$26962_$","typeString":"type(contract IMulticall3)"}},"id":12705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"476:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"visibility":"private"},{"id":12723,"nodeType":"VariableDeclaration","src":"537:92:15","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"561:2:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":12708,"nodeType":"UserDefinedTypeName","pathNode":{"id":12707,"name":"VmSafe","nameLocations":["537:6:15"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"537:6:15"},"referencedDeclaration":17608,"src":"537:6:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":12717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"607:17:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":12716,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"597:9:15","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"597:28:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"589:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12714,"name":"uint256","nodeType":"ElementaryTypeName","src":"589:7:15","typeDescriptions":{}}},"id":12719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"589:37:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"581:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":12712,"name":"uint160","nodeType":"ElementaryTypeName","src":"581:7:15","typeDescriptions":{}}},"id":12720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"581:46:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":12711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"573:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12710,"name":"address","nodeType":"ElementaryTypeName","src":"573:7:15","typeDescriptions":{}}},"id":12721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"573:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12709,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"566:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":12722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"566:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":12726,"nodeType":"VariableDeclaration","src":"635:86:15","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"660:16:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12724,"name":"address","nodeType":"ElementaryTypeName","src":"635:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":12725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"679:42:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"id":12729,"nodeType":"VariableDeclaration","src":"727:127:15","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN_ABS","nameLocation":"752:14:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12727,"name":"uint256","nodeType":"ElementaryTypeName","src":"727:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":12728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"777:77:15","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"visibility":"private"},{"id":12732,"nodeType":"VariableDeclaration","src":"860:129:15","nodes":[],"constant":true,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"885:15:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12730,"name":"uint256","nodeType":"ElementaryTypeName","src":"860:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":12731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"911:78:15","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"private"},{"id":12735,"nodeType":"VariableDeclaration","src":"995:125:15","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1020:11:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12733,"name":"uint256","nodeType":"ElementaryTypeName","src":"995:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":12734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:78:15","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"id":12738,"nodeType":"VariableDeclaration","src":"1239:85:15","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"1264:15:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12736,"name":"address","nodeType":"ElementaryTypeName","src":"1239:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":12737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1282:42:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"private"},{"id":12868,"nodeType":"FunctionDefinition","src":"1546:1263:15","nodes":[],"body":{"id":12867,"nodeType":"Block","src":"1646:1163:15","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12750,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"1664:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12751,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"1671:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1664:10:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":12753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1676:64:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""},"value":"StdUtils bound(uint256,uint256,uint256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""}],"id":12749,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1656:7:15","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1656:85:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12755,"nodeType":"ExpressionStatement","src":"1656:85:15"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12756,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"1970:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":12757,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"1975:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1970:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12759,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"1982:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12760,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"1987:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1982:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1970:20:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12765,"nodeType":"IfStatement","src":"1966:34:15","trueBody":{"expression":{"id":12763,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"1999:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12764,"nodeType":"Return","src":"1992:8:15"}},{"assignments":[12767],"declarations":[{"constant":false,"id":12767,"mutability":"mutable","name":"size","nameLocation":"2019:4:15","nodeType":"VariableDeclaration","scope":12867,"src":"2011:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12766,"name":"uint256","nodeType":"ElementaryTypeName","src":"2011:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12773,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12768,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2026:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12769,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2032:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2026:9:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":12771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2038:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2026:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2011:28:15"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12774,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2229:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"33","id":12775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2234:1:15","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2229:6:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12777,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"2239:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":12778,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2246:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2239:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2229:18:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12785,"nodeType":"IfStatement","src":"2225:38:15","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12781,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2256:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12782,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2262:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2256:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12784,"nodeType":"Return","src":"2249:14:15"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12786,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2277:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":12787,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"2282:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"33","id":12788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2296:1:15","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2282:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2277:20:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12791,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"2301:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12792,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"2308:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12793,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2322:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2308:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2301:22:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2277:46:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12804,"nodeType":"IfStatement","src":"2273:82:15","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12797,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2332:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12798,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"2339:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12799,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2353:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2339:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12801,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2338:17:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2332:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12803,"nodeType":"Return","src":"2325:30:15"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12805,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2455:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":12806,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2459:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2455:7:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12835,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2634:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12836,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2638:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2634:7:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12865,"nodeType":"IfStatement","src":"2630:173:15","trueBody":{"id":12864,"nodeType":"Block","src":"2643:160:15","statements":[{"assignments":[12839],"declarations":[{"constant":false,"id":12839,"mutability":"mutable","name":"diff","nameLocation":"2665:4:15","nodeType":"VariableDeclaration","scope":12864,"src":"2657:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12838,"name":"uint256","nodeType":"ElementaryTypeName","src":"2657:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12843,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12840,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2672:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12841,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2678:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2672:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2657:22:15"},{"assignments":[12845],"declarations":[{"constant":false,"id":12845,"mutability":"mutable","name":"rem","nameLocation":"2701:3:15","nodeType":"VariableDeclaration","scope":12864,"src":"2693:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12844,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12849,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12846,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12839,"src":"2707:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":12847,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"2714:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2707:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2693:25:15"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12850,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12845,"src":"2736:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2743:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2736:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12855,"nodeType":"IfStatement","src":"2732:24:15","trueBody":{"expression":{"id":12853,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2753:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12854,"nodeType":"Return","src":"2746:10:15"}},{"expression":{"id":12862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12856,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12747,"src":"2770:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12857,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2779:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12858,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12845,"src":"2785:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2779:9:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":12860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2791:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2779:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2770:22:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12863,"nodeType":"ExpressionStatement","src":"2770:22:15"}]}},"id":12866,"nodeType":"IfStatement","src":"2451:352:15","trueBody":{"id":12834,"nodeType":"Block","src":"2464:160:15","statements":[{"assignments":[12809],"declarations":[{"constant":false,"id":12809,"mutability":"mutable","name":"diff","nameLocation":"2486:4:15","nodeType":"VariableDeclaration","scope":12834,"src":"2478:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12808,"name":"uint256","nodeType":"ElementaryTypeName","src":"2478:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12813,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12810,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2493:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12811,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2497:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2493:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2478:22:15"},{"assignments":[12815],"declarations":[{"constant":false,"id":12815,"mutability":"mutable","name":"rem","nameLocation":"2522:3:15","nodeType":"VariableDeclaration","scope":12834,"src":"2514:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12814,"name":"uint256","nodeType":"ElementaryTypeName","src":"2514:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12819,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12816,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12809,"src":"2528:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":12817,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"2535:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2528:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2514:25:15"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12820,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12815,"src":"2557:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2564:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2557:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12825,"nodeType":"IfStatement","src":"2553:24:15","trueBody":{"expression":{"id":12823,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2574:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12824,"nodeType":"Return","src":"2567:10:15"}},{"expression":{"id":12832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12826,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12747,"src":"2591:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12827,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2600:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12828,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12815,"src":"2606:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2600:9:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2612:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2600:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2591:22:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12833,"nodeType":"ExpressionStatement","src":"2591:22:15"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"1555:6:15","parameters":{"id":12745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12740,"mutability":"mutable","name":"x","nameLocation":"1570:1:15","nodeType":"VariableDeclaration","scope":12868,"src":"1562:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12739,"name":"uint256","nodeType":"ElementaryTypeName","src":"1562:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12742,"mutability":"mutable","name":"min","nameLocation":"1581:3:15","nodeType":"VariableDeclaration","scope":12868,"src":"1573:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12741,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12744,"mutability":"mutable","name":"max","nameLocation":"1594:3:15","nodeType":"VariableDeclaration","scope":12868,"src":"1586:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12743,"name":"uint256","nodeType":"ElementaryTypeName","src":"1586:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1561:37:15"},"returnParameters":{"id":12748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12747,"mutability":"mutable","name":"result","nameLocation":"1638:6:15","nodeType":"VariableDeclaration","scope":12868,"src":"1630:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12746,"name":"uint256","nodeType":"ElementaryTypeName","src":"1630:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1629:16:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12893,"nodeType":"FunctionDefinition","src":"2815:199:15","nodes":[],"body":{"id":12892,"nodeType":"Block","src":"2914:100:15","nodes":[],"statements":[{"expression":{"id":12885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12879,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12877,"src":"2924:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12881,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12870,"src":"2940:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12882,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12872,"src":"2943:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12883,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12874,"src":"2948:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12880,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12868,13015],"referencedDeclaration":12868,"src":"2933:6:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":12884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2933:19:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2924:28:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12886,"nodeType":"ExpressionStatement","src":"2924:28:15"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":12888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2984:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"id":12889,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12877,"src":"3000:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12887,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13402,"src":"2962:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":12890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2962:45:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12891,"nodeType":"ExpressionStatement","src":"2962:45:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2824:5:15","parameters":{"id":12875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12870,"mutability":"mutable","name":"x","nameLocation":"2838:1:15","nodeType":"VariableDeclaration","scope":12893,"src":"2830:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12869,"name":"uint256","nodeType":"ElementaryTypeName","src":"2830:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12872,"mutability":"mutable","name":"min","nameLocation":"2849:3:15","nodeType":"VariableDeclaration","scope":12893,"src":"2841:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12871,"name":"uint256","nodeType":"ElementaryTypeName","src":"2841:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12874,"mutability":"mutable","name":"max","nameLocation":"2862:3:15","nodeType":"VariableDeclaration","scope":12893,"src":"2854:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12873,"name":"uint256","nodeType":"ElementaryTypeName","src":"2854:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2829:37:15"},"returnParameters":{"id":12878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12877,"mutability":"mutable","name":"result","nameLocation":"2906:6:15","nodeType":"VariableDeclaration","scope":12893,"src":"2898:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12876,"name":"uint256","nodeType":"ElementaryTypeName","src":"2898:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2897:16:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13015,"nodeType":"FunctionDefinition","src":"3020:1145:15","nodes":[],"body":{"id":13014,"nodeType":"Block","src":"3116:1049:15","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12905,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12897,"src":"3134:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12906,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12899,"src":"3141:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3134:10:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":12908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3146:61:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""},"value":"StdUtils bound(int256,int256,int256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""}],"id":12904,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3126:7:15","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3126:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12910,"nodeType":"ExpressionStatement","src":"3126:82:15"},{"assignments":[12912],"declarations":[{"constant":false,"id":12912,"mutability":"mutable","name":"_x","nameLocation":"3644:2:15","nodeType":"VariableDeclaration","scope":13014,"src":"3636:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12911,"name":"uint256","nodeType":"ElementaryTypeName","src":"3636:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12934,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12913,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12895,"src":"3649:1:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":12914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3653:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3649:5:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12928,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12895,"src":"3703:1:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3695:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12926,"name":"uint256","nodeType":"ElementaryTypeName","src":"3695:7:15","typeDescriptions":{}}},"id":12929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3695:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12930,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3708:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3695:27:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12932,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3694:29:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3649:74:15","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12916,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3658:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3675:11:15","subExpression":{"arguments":[{"id":12919,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12895,"src":"3684:1:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3676:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12917,"name":"uint256","nodeType":"ElementaryTypeName","src":"3676:7:15","typeDescriptions":{}}},"id":12920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3676:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3658:28:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3689:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3658:32:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12925,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3657:34:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3636:87:15"},{"assignments":[12936],"declarations":[{"constant":false,"id":12936,"mutability":"mutable","name":"_min","nameLocation":"3741:4:15","nodeType":"VariableDeclaration","scope":13014,"src":"3733:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12935,"name":"uint256","nodeType":"ElementaryTypeName","src":"3733:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12958,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12937,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12897,"src":"3748:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":12938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3748:7:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12952,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12897,"src":"3806:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3798:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12950,"name":"uint256","nodeType":"ElementaryTypeName","src":"3798:7:15","typeDescriptions":{}}},"id":12953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3798:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12954,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3813:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3798:29:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12956,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3797:31:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3748:80:15","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12940,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3759:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3776:13:15","subExpression":{"arguments":[{"id":12943,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12897,"src":"3785:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3777:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12941,"name":"uint256","nodeType":"ElementaryTypeName","src":"3777:7:15","typeDescriptions":{}}},"id":12944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3777:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3759:30:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3792:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3759:34:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3758:36:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3733:95:15"},{"assignments":[12960],"declarations":[{"constant":false,"id":12960,"mutability":"mutable","name":"_max","nameLocation":"3846:4:15","nodeType":"VariableDeclaration","scope":13014,"src":"3838:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12959,"name":"uint256","nodeType":"ElementaryTypeName","src":"3838:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12982,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12961,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12899,"src":"3853:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":12962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3859:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3853:7:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12976,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12899,"src":"3911:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3903:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12974,"name":"uint256","nodeType":"ElementaryTypeName","src":"3903:7:15","typeDescriptions":{}}},"id":12977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3903:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12978,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3918:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3903:29:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12980,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3902:31:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3853:80:15","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12964,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3864:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3881:13:15","subExpression":{"arguments":[{"id":12967,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12899,"src":"3890:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3882:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12965,"name":"uint256","nodeType":"ElementaryTypeName","src":"3882:7:15","typeDescriptions":{}}},"id":12968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3882:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3864:30:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3897:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3864:34:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12973,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3863:36:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3838:95:15"},{"assignments":[12984],"declarations":[{"constant":false,"id":12984,"mutability":"mutable","name":"y","nameLocation":"3952:1:15","nodeType":"VariableDeclaration","scope":13014,"src":"3944:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12983,"name":"uint256","nodeType":"ElementaryTypeName","src":"3944:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12990,"initialValue":{"arguments":[{"id":12986,"name":"_x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12912,"src":"3963:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12987,"name":"_min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12936,"src":"3967:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12988,"name":"_max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12960,"src":"3973:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12985,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12868,13015],"referencedDeclaration":12868,"src":"3956:6:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":12989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3956:22:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3944:34:15"},{"expression":{"id":13012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12991,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12902,"src":"4066:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12992,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12984,"src":"4075:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12993,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"4079:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4075:18:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13007,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12984,"src":"4139:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":13008,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"4143:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4139:18:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4132:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":13005,"name":"int256","nodeType":"ElementaryTypeName","src":"4132:6:15","typeDescriptions":{}}},"id":13010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4132:26:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4075:83:15","trueExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"4103:21:15","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12997,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"4105:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12998,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12984,"src":"4122:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4105:18:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":13000,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4104:20:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":13002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4127:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4103:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4096:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":12995,"name":"int256","nodeType":"ElementaryTypeName","src":"4096:6:15","typeDescriptions":{}}},"id":13004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4096:33:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4066:92:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13013,"nodeType":"ExpressionStatement","src":"4066:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"3029:6:15","parameters":{"id":12900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12895,"mutability":"mutable","name":"x","nameLocation":"3043:1:15","nodeType":"VariableDeclaration","scope":13015,"src":"3036:8:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12894,"name":"int256","nodeType":"ElementaryTypeName","src":"3036:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":12897,"mutability":"mutable","name":"min","nameLocation":"3053:3:15","nodeType":"VariableDeclaration","scope":13015,"src":"3046:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12896,"name":"int256","nodeType":"ElementaryTypeName","src":"3046:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":12899,"mutability":"mutable","name":"max","nameLocation":"3065:3:15","nodeType":"VariableDeclaration","scope":13015,"src":"3058:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12898,"name":"int256","nodeType":"ElementaryTypeName","src":"3058:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3035:34:15"},"returnParameters":{"id":12903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12902,"mutability":"mutable","name":"result","nameLocation":"3108:6:15","nodeType":"VariableDeclaration","scope":13015,"src":"3101:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12901,"name":"int256","nodeType":"ElementaryTypeName","src":"3101:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3100:15:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13043,"nodeType":"FunctionDefinition","src":"4171:208:15","nodes":[],"body":{"id":13042,"nodeType":"Block","src":"4266:113:15","nodes":[],"statements":[{"expression":{"id":13032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13026,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13024,"src":"4276:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13028,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13017,"src":"4292:1:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":13029,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13019,"src":"4295:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":13030,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13021,"src":"4300:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":13027,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12868,13015],"referencedDeclaration":13015,"src":"4285:6:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) pure returns (int256)"}},"id":13031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4285:19:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4276:28:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13033,"nodeType":"ExpressionStatement","src":"4276:28:15"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":13035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4336:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"arguments":[{"id":13038,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13024,"src":"4364:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":13036,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"4352:2:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":13037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4355:8:15","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"4352:11:15","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":13039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4352:19:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":13034,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13419,"src":"4314:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":13040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4314:58:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13041,"nodeType":"ExpressionStatement","src":"4314:58:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"4180:5:15","parameters":{"id":13022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13017,"mutability":"mutable","name":"x","nameLocation":"4193:1:15","nodeType":"VariableDeclaration","scope":13043,"src":"4186:8:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13016,"name":"int256","nodeType":"ElementaryTypeName","src":"4186:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13019,"mutability":"mutable","name":"min","nameLocation":"4203:3:15","nodeType":"VariableDeclaration","scope":13043,"src":"4196:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13018,"name":"int256","nodeType":"ElementaryTypeName","src":"4196:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13021,"mutability":"mutable","name":"max","nameLocation":"4215:3:15","nodeType":"VariableDeclaration","scope":13043,"src":"4208:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13020,"name":"int256","nodeType":"ElementaryTypeName","src":"4208:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4185:34:15"},"returnParameters":{"id":13025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13024,"mutability":"mutable","name":"result","nameLocation":"4258:6:15","nodeType":"VariableDeclaration","scope":13043,"src":"4251:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13023,"name":"int256","nodeType":"ElementaryTypeName","src":"4251:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4250:15:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13061,"nodeType":"FunctionDefinition","src":"4385:160:15","nodes":[],"body":{"id":13060,"nodeType":"Block","src":"4477:68:15","nodes":[],"statements":[{"expression":{"id":13058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13050,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13048,"src":"4487:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13052,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13045,"src":"4503:10:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":13053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4515:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":13054,"name":"SECP256K1_ORDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12732,"src":"4518:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":13055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4536:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4518:19:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13051,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12868,13015],"referencedDeclaration":12868,"src":"4496:6:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":13057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4496:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4487:51:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13059,"nodeType":"ExpressionStatement","src":"4487:51:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boundPrivateKey","nameLocation":"4394:15:15","parameters":{"id":13046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13045,"mutability":"mutable","name":"privateKey","nameLocation":"4418:10:15","nodeType":"VariableDeclaration","scope":13061,"src":"4410:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13044,"name":"uint256","nodeType":"ElementaryTypeName","src":"4410:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4409:20:15"},"returnParameters":{"id":13049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13048,"mutability":"mutable","name":"result","nameLocation":"4469:6:15","nodeType":"VariableDeclaration","scope":13061,"src":"4461:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13047,"name":"uint256","nodeType":"ElementaryTypeName","src":"4461:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:16:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13095,"nodeType":"FunctionDefinition","src":"4551:259:15","nodes":[],"body":{"id":13094,"nodeType":"Block","src":"4628:182:15","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":13069,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13063,"src":"4646:1:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":13070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4648:6:15","memberName":"length","nodeType":"MemberAccess","src":"4646:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":13071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4658:2:15","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"4646:14:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c73206279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":13073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4662:55:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdUtils bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":13068,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4638:7:15","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4638:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13075,"nodeType":"ExpressionStatement","src":"4638:80:15"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":13082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4773:2:15","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":13083,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13063,"src":"4778:1:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":13084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4780:6:15","memberName":"length","nodeType":"MemberAccess","src":"4778:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4773:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4763:9:15","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":13080,"name":"bytes","nodeType":"ElementaryTypeName","src":"4767:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":13086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4763:24:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":13087,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13063,"src":"4789:1:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":13078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4746:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4750:12:15","memberName":"encodePacked","nodeType":"MemberAccess","src":"4746:16:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4746:45:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":13090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4794:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13089,"name":"uint256","nodeType":"ElementaryTypeName","src":"4794:7:15","typeDescriptions":{}}}],"id":13091,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4793:9:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":13076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4735:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4739:6:15","memberName":"decode","nodeType":"MemberAccess","src":"4735:10:15","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":13092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4735:68:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13067,"id":13093,"nodeType":"Return","src":"4728:75:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToUint","nameLocation":"4560:11:15","parameters":{"id":13064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13063,"mutability":"mutable","name":"b","nameLocation":"4585:1:15","nodeType":"VariableDeclaration","scope":13095,"src":"4572:14:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13062,"name":"bytes","nodeType":"ElementaryTypeName","src":"4572:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4571:16:15"},"returnParameters":{"id":13067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13095,"src":"4619:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13065,"name":"uint256","nodeType":"ElementaryTypeName","src":"4619:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4618:9:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13116,"nodeType":"FunctionDefinition","src":"4919:281:15","nodes":[],"body":{"id":13115,"nodeType":"Block","src":"5022:178:15","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"636f6d707574654372656174654164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d707574654372656174654164647265737320696e73746561642e","id":13106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5054:81:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7269602979e7efe0cf2435fd830893923e4ac6d12c1b6834ce0c3cdb39769052","typeString":"literal_string \"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead.\""},"value":"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7269602979e7efe0cf2435fd830893923e4ac6d12c1b6834ce0c3cdb39769052","typeString":"literal_string \"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead.\""}],"id":13105,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13385,"src":"5032:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":13107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5032:104:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13108,"nodeType":"ExpressionStatement","src":"5032:104:15"},{"expression":{"arguments":[{"id":13111,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13098,"src":"5177:8:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13112,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13100,"src":"5187:5:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13109,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"5153:2:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":13110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5156:20:15","memberName":"computeCreateAddress","nodeType":"MemberAccess","referencedDeclaration":17377,"src":"5153:23:15","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) pure external returns (address)"}},"id":13113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5153:40:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13104,"id":13114,"nodeType":"Return","src":"5146:47:15"}]},"documentation":{"id":13096,"nodeType":"StructuredDocumentation","src":"4816:98:15","text":"@dev Compute the address a contract will be deployed at for a given deployer address and nonce"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"4928:20:15","parameters":{"id":13101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13098,"mutability":"mutable","name":"deployer","nameLocation":"4957:8:15","nodeType":"VariableDeclaration","scope":13116,"src":"4949:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13097,"name":"address","nodeType":"ElementaryTypeName","src":"4949:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13100,"mutability":"mutable","name":"nonce","nameLocation":"4975:5:15","nodeType":"VariableDeclaration","scope":13116,"src":"4967:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13099,"name":"uint256","nodeType":"ElementaryTypeName","src":"4967:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4948:33:15"},"returnParameters":{"id":13104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13116,"src":"5013:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13102,"name":"address","nodeType":"ElementaryTypeName","src":"5013:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5012:9:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13139,"nodeType":"FunctionDefinition","src":"5206:355:15","nodes":[],"body":{"id":13138,"nodeType":"Block","src":"5367:194:15","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"636f6d70757465437265617465324164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d70757465437265617465324164647265737320696e73746561642e","id":13128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5399:83:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""},"value":"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""}],"id":13127,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13385,"src":"5377:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":13129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5377:106:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13130,"nodeType":"ExpressionStatement","src":"5377:106:15"},{"expression":{"arguments":[{"id":13133,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13118,"src":"5525:4:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":13134,"name":"initcodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13120,"src":"5531:12:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":13135,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13122,"src":"5545:8:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13131,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"5500:2:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":13132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5503:21:15","memberName":"computeCreate2Address","nodeType":"MemberAccess","referencedDeclaration":17357,"src":"5500:24:15","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$","typeString":"function (bytes32,bytes32,address) pure external returns (address)"}},"id":13136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5500:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13126,"id":13137,"nodeType":"Return","src":"5493:61:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"5215:21:15","parameters":{"id":13123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13118,"mutability":"mutable","name":"salt","nameLocation":"5245:4:15","nodeType":"VariableDeclaration","scope":13139,"src":"5237:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5237:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13120,"mutability":"mutable","name":"initcodeHash","nameLocation":"5259:12:15","nodeType":"VariableDeclaration","scope":13139,"src":"5251:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5251:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13122,"mutability":"mutable","name":"deployer","nameLocation":"5281:8:15","nodeType":"VariableDeclaration","scope":13139,"src":"5273:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13121,"name":"address","nodeType":"ElementaryTypeName","src":"5273:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5236:54:15"},"returnParameters":{"id":13126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13125,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13139,"src":"5354:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13124,"name":"address","nodeType":"ElementaryTypeName","src":"5354:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5353:9:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13160,"nodeType":"FunctionDefinition","src":"5670:283:15","nodes":[],"body":{"id":13159,"nodeType":"Block","src":"5769:184:15","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"636f6d70757465437265617465324164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d70757465437265617465324164647265737320696e73746561642e","id":13150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5801:83:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""},"value":"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""}],"id":13149,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13385,"src":"5779:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":13151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5779:106:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13152,"nodeType":"ExpressionStatement","src":"5779:106:15"},{"expression":{"arguments":[{"id":13155,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13142,"src":"5927:4:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":13156,"name":"initCodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13144,"src":"5933:12:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":13153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"5902:2:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":13154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5905:21:15","memberName":"computeCreate2Address","nodeType":"MemberAccess","referencedDeclaration":17367,"src":"5902:24:15","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,bytes32) pure external returns (address)"}},"id":13157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5902:44:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13148,"id":13158,"nodeType":"Return","src":"5895:51:15"}]},"documentation":{"id":13140,"nodeType":"StructuredDocumentation","src":"5567:98:15","text":"@dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"5679:21:15","parameters":{"id":13145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13142,"mutability":"mutable","name":"salt","nameLocation":"5709:4:15","nodeType":"VariableDeclaration","scope":13160,"src":"5701:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5701:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13144,"mutability":"mutable","name":"initCodeHash","nameLocation":"5723:12:15","nodeType":"VariableDeclaration","scope":13160,"src":"5715:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5715:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5700:36:15"},"returnParameters":{"id":13148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13147,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13160,"src":"5760:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13146,"name":"address","nodeType":"ElementaryTypeName","src":"5760:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5759:9:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13174,"nodeType":"FunctionDefinition","src":"6177:135:15","nodes":[],"body":{"id":13173,"nodeType":"Block","src":"6258:54:15","nodes":[],"statements":[{"expression":{"arguments":[{"id":13169,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13163,"src":"6288:12:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"","id":13170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6302:2:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":13168,"name":"hashInitCode","nodeType":"Identifier","overloadedDeclarations":[13174,13193],"referencedDeclaration":13193,"src":"6275:12:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory,bytes memory) pure returns (bytes32)"}},"id":13171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6275:30:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":13167,"id":13172,"nodeType":"Return","src":"6268:37:15"}]},"documentation":{"id":13161,"nodeType":"StructuredDocumentation","src":"5959:213:15","text":"@dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"6186:12:15","parameters":{"id":13164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13163,"mutability":"mutable","name":"creationCode","nameLocation":"6212:12:15","nodeType":"VariableDeclaration","scope":13174,"src":"6199:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13162,"name":"bytes","nodeType":"ElementaryTypeName","src":"6199:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6198:27:15"},"returnParameters":{"id":13167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13166,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13174,"src":"6249:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6249:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6248:9:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13193,"nodeType":"FunctionDefinition","src":"6585:171:15","nodes":[],"body":{"id":13192,"nodeType":"Block","src":"6685:71:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":13187,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13177,"src":"6729:12:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":13188,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13179,"src":"6743:4:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":13185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6712:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6716:12:15","memberName":"encodePacked","nodeType":"MemberAccess","src":"6712:16:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6712:36:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13184,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6702:9:15","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6702:47:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":13183,"id":13191,"nodeType":"Return","src":"6695:54:15"}]},"documentation":{"id":13175,"nodeType":"StructuredDocumentation","src":"6318:262:15","text":"@dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n @param args the ABI-encoded arguments to the constructor of C"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"6594:12:15","parameters":{"id":13180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13177,"mutability":"mutable","name":"creationCode","nameLocation":"6620:12:15","nodeType":"VariableDeclaration","scope":13193,"src":"6607:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13176,"name":"bytes","nodeType":"ElementaryTypeName","src":"6607:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13179,"mutability":"mutable","name":"args","nameLocation":"6647:4:15","nodeType":"VariableDeclaration","scope":13193,"src":"6634:17:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13178,"name":"bytes","nodeType":"ElementaryTypeName","src":"6634:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6606:46:15"},"returnParameters":{"id":13183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13182,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13193,"src":"6676:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6676:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6675:9:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13307,"nodeType":"FunctionDefinition","src":"6867:1124:15","nodes":[],"body":{"id":13306,"nodeType":"Block","src":"7017:974:15","nodes":[],"statements":[{"assignments":[13205],"declarations":[{"constant":false,"id":13205,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"7035:13:15","nodeType":"VariableDeclaration","scope":13306,"src":"7027:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13204,"name":"uint256","nodeType":"ElementaryTypeName","src":"7027:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13206,"nodeType":"VariableDeclarationStatement","src":"7027:21:15"},{"AST":{"nativeSrc":"7067:59:15","nodeType":"YulBlock","src":"7067:59:15","statements":[{"nativeSrc":"7081:35:15","nodeType":"YulAssignment","src":"7081:35:15","value":{"arguments":[{"name":"token","nativeSrc":"7110:5:15","nodeType":"YulIdentifier","src":"7110:5:15"}],"functionName":{"name":"extcodesize","nativeSrc":"7098:11:15","nodeType":"YulIdentifier","src":"7098:11:15"},"nativeSrc":"7098:18:15","nodeType":"YulFunctionCall","src":"7098:18:15"},"variableNames":[{"name":"tokenCodeSize","nativeSrc":"7081:13:15","nodeType":"YulIdentifier","src":"7081:13:15"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":13195,"isOffset":false,"isSlot":false,"src":"7110:5:15","valueSize":1},{"declaration":13205,"isOffset":false,"isSlot":false,"src":"7081:13:15","valueSize":1}],"id":13207,"nodeType":"InlineAssembly","src":"7058:68:15"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13209,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13205,"src":"7143:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":13210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7159:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7143:17:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320676574546f6b656e42616c616e63657328616464726573732c616464726573735b5d293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":13212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7162:80:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""},"value":"StdUtils getTokenBalances(address,address[]): Token address is not a contract."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""}],"id":13208,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7135:7:15","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7135:108:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13214,"nodeType":"ExpressionStatement","src":"7135:108:15"},{"assignments":[13216],"declarations":[{"constant":false,"id":13216,"mutability":"mutable","name":"length","nameLocation":"7318:6:15","nodeType":"VariableDeclaration","scope":13306,"src":"7310:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13215,"name":"uint256","nodeType":"ElementaryTypeName","src":"7310:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13219,"initialValue":{"expression":{"id":13217,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13198,"src":"7327:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":13218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7337:6:15","memberName":"length","nodeType":"MemberAccess","src":"7327:16:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7310:33:15"},{"assignments":[13225],"declarations":[{"constant":false,"id":13225,"mutability":"mutable","name":"calls","nameLocation":"7379:5:15","nodeType":"VariableDeclaration","scope":13306,"src":"7353:31:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":13223,"nodeType":"UserDefinedTypeName","pathNode":{"id":13222,"name":"IMulticall3.Call","nameLocations":["7353:11:15","7365:4:15"],"nodeType":"IdentifierPath","referencedDeclaration":26807,"src":"7353:16:15"},"referencedDeclaration":26807,"src":"7353:16:15","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":13224,"nodeType":"ArrayTypeName","src":"7353:18:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"id":13232,"initialValue":{"arguments":[{"id":13230,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"7410:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7387:22:15","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call memory[] memory)"},"typeName":{"baseType":{"id":13227,"nodeType":"UserDefinedTypeName","pathNode":{"id":13226,"name":"IMulticall3.Call","nameLocations":["7391:11:15","7403:4:15"],"nodeType":"IdentifierPath","referencedDeclaration":26807,"src":"7391:16:15"},"referencedDeclaration":26807,"src":"7391:16:15","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":13228,"nodeType":"ArrayTypeName","src":"7391:18:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}}},"id":13231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7387:30:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7353:64:15"},{"body":{"id":13260,"nodeType":"Block","src":"7464:189:15","statements":[{"expression":{"id":13258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":13243,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13225,"src":"7536:5:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"id":13245,"indexExpression":{"id":13244,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"7542:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7536:8:15","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13248,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13195,"src":"7573:5:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783730613038323331","id":13251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7613:10:15","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"components":[{"baseExpression":{"id":13252,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13198,"src":"7626:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":13254,"indexExpression":{"id":13253,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"7636:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7626:12:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":13255,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7625:14:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13249,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7590:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7594:18:15","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7590:22:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":13256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7590:50:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":13246,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"7547:11:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$26962_$","typeString":"type(contract IMulticall3)"}},"id":13247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7559:4:15","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":26807,"src":"7547:16:15","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$26807_storage_ptr_$","typeString":"type(struct IMulticall3.Call storage pointer)"}},"id":13257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7565:6:15","7580:8:15"],"names":["target","callData"],"nodeType":"FunctionCall","src":"7547:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"src":"7536:106:15","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"id":13259,"nodeType":"ExpressionStatement","src":"7536:106:15"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13237,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"7447:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":13238,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"7451:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7447:10:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13261,"initializationExpression":{"assignments":[13234],"declarations":[{"constant":false,"id":13234,"mutability":"mutable","name":"i","nameLocation":"7440:1:15","nodeType":"VariableDeclaration","scope":13261,"src":"7432:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13233,"name":"uint256","nodeType":"ElementaryTypeName","src":"7432:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13236,"initialValue":{"hexValue":"30","id":13235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7444:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7432:13:15"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":13241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7459:3:15","subExpression":{"id":13240,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"7461:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13242,"nodeType":"ExpressionStatement","src":"7459:3:15"},"nodeType":"ForStatement","src":"7427:226:15"},{"assignments":[null,13266],"declarations":[null,{"constant":false,"id":13266,"mutability":"mutable","name":"returnData","nameLocation":"7717:10:15","nodeType":"VariableDeclaration","scope":13306,"src":"7702:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13264,"name":"bytes","nodeType":"ElementaryTypeName","src":"7702:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13265,"nodeType":"ArrayTypeName","src":"7702:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":13271,"initialValue":{"arguments":[{"id":13269,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13225,"src":"7751:5:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}],"expression":{"id":13267,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12706,"src":"7731:9:15","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"id":13268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7741:9:15","memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":26840,"src":"7731:19:15","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct IMulticall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":13270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7731:26:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"7699:58:15"},{"expression":{"id":13278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13272,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13202,"src":"7831:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13276,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"7856:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7842:13:15","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":13273,"name":"uint256","nodeType":"ElementaryTypeName","src":"7846:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13274,"nodeType":"ArrayTypeName","src":"7846:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":13277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7842:21:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"7831:32:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":13279,"nodeType":"ExpressionStatement","src":"7831:32:15"},{"body":{"id":13304,"nodeType":"Block","src":"7910:75:15","statements":[{"expression":{"id":13302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":13290,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13202,"src":"7924:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":13292,"indexExpression":{"id":13291,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"7933:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7924:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":13295,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13266,"src":"7949:10:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":13297,"indexExpression":{"id":13296,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"7960:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7949:13:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":13299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7965:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13298,"name":"uint256","nodeType":"ElementaryTypeName","src":"7965:7:15","typeDescriptions":{}}}],"id":13300,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7964:9:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":13293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7938:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7942:6:15","memberName":"decode","nodeType":"MemberAccess","src":"7938:10:15","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":13301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7938:36:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7924:50:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13303,"nodeType":"ExpressionStatement","src":"7924:50:15"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13284,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"7893:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":13285,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"7897:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7893:10:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13305,"initializationExpression":{"assignments":[13281],"declarations":[{"constant":false,"id":13281,"mutability":"mutable","name":"i","nameLocation":"7886:1:15","nodeType":"VariableDeclaration","scope":13305,"src":"7878:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13280,"name":"uint256","nodeType":"ElementaryTypeName","src":"7878:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13283,"initialValue":{"hexValue":"30","id":13282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7890:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7878:13:15"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":13288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7905:3:15","subExpression":{"id":13287,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"7907:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13289,"nodeType":"ExpressionStatement","src":"7905:3:15"},"nodeType":"ForStatement","src":"7873:112:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getTokenBalances","nameLocation":"6876:16:15","parameters":{"id":13199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13195,"mutability":"mutable","name":"token","nameLocation":"6901:5:15","nodeType":"VariableDeclaration","scope":13307,"src":"6893:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13194,"name":"address","nodeType":"ElementaryTypeName","src":"6893:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13198,"mutability":"mutable","name":"addresses","nameLocation":"6925:9:15","nodeType":"VariableDeclaration","scope":13307,"src":"6908:26:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13196,"name":"address","nodeType":"ElementaryTypeName","src":"6908:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13197,"nodeType":"ArrayTypeName","src":"6908:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6892:43:15"},"returnParameters":{"id":13203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13202,"mutability":"mutable","name":"balances","nameLocation":"7003:8:15","nodeType":"VariableDeclaration","scope":13307,"src":"6986:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13200,"name":"uint256","nodeType":"ElementaryTypeName","src":"6986:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13201,"nodeType":"ArrayTypeName","src":"6986:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6985:27:15"},"scope":13420,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":13326,"nodeType":"FunctionDefinition","src":"8211:144:15","nodes":[],"body":{"id":13325,"nodeType":"Block","src":"8294:61:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":13320,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13309,"src":"8335:10:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8327:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13318,"name":"uint256","nodeType":"ElementaryTypeName","src":"8327:7:15","typeDescriptions":{}}},"id":13321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8327:19:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8319:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":13316,"name":"uint160","nodeType":"ElementaryTypeName","src":"8319:7:15","typeDescriptions":{}}},"id":13322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8319:28:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":13315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8311:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13314,"name":"address","nodeType":"ElementaryTypeName","src":"8311:7:15","typeDescriptions":{}}},"id":13323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8311:37:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13313,"id":13324,"nodeType":"Return","src":"8304:44:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"addressFromLast20Bytes","nameLocation":"8220:22:15","parameters":{"id":13310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13309,"mutability":"mutable","name":"bytesValue","nameLocation":"8251:10:15","nodeType":"VariableDeclaration","scope":13326,"src":"8243:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8243:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8242:20:15"},"returnParameters":{"id":13313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13326,"src":"8285:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13311,"name":"address","nodeType":"ElementaryTypeName","src":"8285:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8284:9:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":13343,"nodeType":"FunctionDefinition","src":"8650:235:15","nodes":[],"body":{"id":13342,"nodeType":"Block","src":"8823:62:15","nodes":[],"statements":[{"AST":{"nativeSrc":"8842:37:15","nodeType":"YulBlock","src":"8842:37:15","statements":[{"nativeSrc":"8856:13:15","nodeType":"YulAssignment","src":"8856:13:15","value":{"name":"fnIn","nativeSrc":"8865:4:15","nodeType":"YulIdentifier","src":"8865:4:15"},"variableNames":[{"name":"fnOut","nativeSrc":"8856:5:15","nodeType":"YulIdentifier","src":"8856:5:15"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":13332,"isOffset":false,"isSlot":false,"src":"8865:4:15","valueSize":1},{"declaration":13339,"isOffset":false,"isSlot":false,"src":"8856:5:15","valueSize":1}],"id":13341,"nodeType":"InlineAssembly","src":"8833:46:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_castLogPayloadViewToPure","nameLocation":"8659:25:15","parameters":{"id":13333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13332,"mutability":"mutable","name":"fnIn","nameLocation":"8722:4:15","nodeType":"VariableDeclaration","scope":13343,"src":"8685:41:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":13331,"nodeType":"FunctionTypeName","parameterTypes":{"id":13329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13331,"src":"8694:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13327,"name":"bytes","nodeType":"ElementaryTypeName","src":"8694:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8693:14:15"},"returnParameterTypes":{"id":13330,"nodeType":"ParameterList","parameters":[],"src":"8722:0:15"},"src":"8685:41:15","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"8684:43:15"},"returnParameters":{"id":13340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13339,"mutability":"mutable","name":"fnOut","nameLocation":"8812:5:15","nodeType":"VariableDeclaration","scope":13343,"src":"8775:42:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":13338,"nodeType":"FunctionTypeName","parameterTypes":{"id":13336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13335,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13338,"src":"8784:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13334,"name":"bytes","nodeType":"ElementaryTypeName","src":"8784:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8783:14:15"},"returnParameterTypes":{"id":13337,"nodeType":"ParameterList","parameters":[],"src":"8812:0:15"},"src":"8775:42:15","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"8774:44:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13355,"nodeType":"FunctionDefinition","src":"8891:133:15","nodes":[],"body":{"id":13354,"nodeType":"Block","src":"8952:72:15","nodes":[],"statements":[{"expression":{"arguments":[{"id":13351,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13345,"src":"9009:7:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":13349,"name":"_sendLogPayloadView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13371,"src":"8988:19:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}],"id":13348,"name":"_castLogPayloadViewToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13343,"src":"8962:25:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_view$_t_bytes_memory_ptr_$returns$__$_$returns$_t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$_$","typeString":"function (function (bytes memory) view) pure returns (function (bytes memory) pure)"}},"id":13350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8962:46:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8962:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13353,"nodeType":"ExpressionStatement","src":"8962:55:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"8900:15:15","parameters":{"id":13346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13345,"mutability":"mutable","name":"payload","nameLocation":"8929:7:15","nodeType":"VariableDeclaration","scope":13355,"src":"8916:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13344,"name":"bytes","nodeType":"ElementaryTypeName","src":"8916:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8915:22:15"},"returnParameters":{"id":13347,"nodeType":"ParameterList","parameters":[],"src":"8952:0:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13371,"nodeType":"FunctionDefinition","src":"9030:381:15","nodes":[],"body":{"id":13370,"nodeType":"Block","src":"9094:317:15","nodes":[],"statements":[{"assignments":[13361],"declarations":[{"constant":false,"id":13361,"mutability":"mutable","name":"payloadLength","nameLocation":"9112:13:15","nodeType":"VariableDeclaration","scope":13370,"src":"9104:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13360,"name":"uint256","nodeType":"ElementaryTypeName","src":"9104:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13364,"initialValue":{"expression":{"id":13362,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13357,"src":"9128:7:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":13363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9136:6:15","memberName":"length","nodeType":"MemberAccess","src":"9128:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9104:38:15"},{"assignments":[13366],"declarations":[{"constant":false,"id":13366,"mutability":"mutable","name":"consoleAddress","nameLocation":"9160:14:15","nodeType":"VariableDeclaration","scope":13370,"src":"9152:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13365,"name":"address","nodeType":"ElementaryTypeName","src":"9152:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":13368,"initialValue":{"id":13367,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"9177:16:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9152:41:15"},{"AST":{"nativeSrc":"9255:150:15","nodeType":"YulBlock","src":"9255:150:15","statements":[{"nativeSrc":"9269:36:15","nodeType":"YulVariableDeclaration","src":"9269:36:15","value":{"arguments":[{"name":"payload","nativeSrc":"9293:7:15","nodeType":"YulIdentifier","src":"9293:7:15"},{"kind":"number","nativeSrc":"9302:2:15","nodeType":"YulLiteral","src":"9302:2:15","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9289:3:15","nodeType":"YulIdentifier","src":"9289:3:15"},"nativeSrc":"9289:16:15","nodeType":"YulFunctionCall","src":"9289:16:15"},"variables":[{"name":"payloadStart","nativeSrc":"9273:12:15","nodeType":"YulTypedName","src":"9273:12:15","type":""}]},{"nativeSrc":"9318:77:15","nodeType":"YulVariableDeclaration","src":"9318:77:15","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"9338:3:15","nodeType":"YulIdentifier","src":"9338:3:15"},"nativeSrc":"9338:5:15","nodeType":"YulFunctionCall","src":"9338:5:15"},{"name":"consoleAddress","nativeSrc":"9345:14:15","nodeType":"YulIdentifier","src":"9345:14:15"},{"name":"payloadStart","nativeSrc":"9361:12:15","nodeType":"YulIdentifier","src":"9361:12:15"},{"name":"payloadLength","nativeSrc":"9375:13:15","nodeType":"YulIdentifier","src":"9375:13:15"},{"kind":"number","nativeSrc":"9390:1:15","nodeType":"YulLiteral","src":"9390:1:15","type":"","value":"0"},{"kind":"number","nativeSrc":"9393:1:15","nodeType":"YulLiteral","src":"9393:1:15","type":"","value":"0"}],"functionName":{"name":"staticcall","nativeSrc":"9327:10:15","nodeType":"YulIdentifier","src":"9327:10:15"},"nativeSrc":"9327:68:15","nodeType":"YulFunctionCall","src":"9327:68:15"},"variables":[{"name":"r","nativeSrc":"9322:1:15","nodeType":"YulTypedName","src":"9322:1:15","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":13366,"isOffset":false,"isSlot":false,"src":"9345:14:15","valueSize":1},{"declaration":13357,"isOffset":false,"isSlot":false,"src":"9293:7:15","valueSize":1},{"declaration":13361,"isOffset":false,"isSlot":false,"src":"9375:13:15","valueSize":1}],"id":13369,"nodeType":"InlineAssembly","src":"9246:159:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadView","nameLocation":"9039:19:15","parameters":{"id":13358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13357,"mutability":"mutable","name":"payload","nameLocation":"9072:7:15","nodeType":"VariableDeclaration","scope":13371,"src":"9059:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13356,"name":"bytes","nodeType":"ElementaryTypeName","src":"9059:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9058:22:15"},"returnParameters":{"id":13359,"nodeType":"ParameterList","parameters":[],"src":"9094:0:15"},"scope":13420,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":13385,"nodeType":"FunctionDefinition","src":"9417:138:15","nodes":[],"body":{"id":13384,"nodeType":"Block","src":"9479:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":13379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9529:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":13380,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13373,"src":"9544:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13377,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9505:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9509:19:15","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9505:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9505:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13376,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13355,"src":"9489:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9489:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13383,"nodeType":"ExpressionStatement","src":"9489:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"9426:21:15","parameters":{"id":13374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13373,"mutability":"mutable","name":"p0","nameLocation":"9462:2:15","nodeType":"VariableDeclaration","scope":13385,"src":"9448:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13372,"name":"string","nodeType":"ElementaryTypeName","src":"9448:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9447:18:15"},"returnParameters":{"id":13375,"nodeType":"ParameterList","parameters":[],"src":"9479:0:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":13402,"nodeType":"FunctionDefinition","src":"9561:162:15","nodes":[],"body":{"id":13401,"nodeType":"Block","src":"9635:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":13395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9685:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":13396,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13387,"src":"9708:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13397,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13389,"src":"9712:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9661:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9665:19:15","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9661:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9661:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13392,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13355,"src":"9645:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9645:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13400,"nodeType":"ExpressionStatement","src":"9645:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"9570:21:15","parameters":{"id":13390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13387,"mutability":"mutable","name":"p0","nameLocation":"9606:2:15","nodeType":"VariableDeclaration","scope":13402,"src":"9592:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13386,"name":"string","nodeType":"ElementaryTypeName","src":"9592:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13389,"mutability":"mutable","name":"p1","nameLocation":"9618:2:15","nodeType":"VariableDeclaration","scope":13402,"src":"9610:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13388,"name":"uint256","nodeType":"ElementaryTypeName","src":"9610:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9591:30:15"},"returnParameters":{"id":13391,"nodeType":"ParameterList","parameters":[],"src":"9635:0:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":13419,"nodeType":"FunctionDefinition","src":"9729:167:15","nodes":[],"body":{"id":13418,"nodeType":"Block","src":"9809:87:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":13412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9859:20:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":13413,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13404,"src":"9881:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13414,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13406,"src":"9885:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13410,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9835:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9839:19:15","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9835:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9835:53:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13409,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13355,"src":"9819:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9819:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13417,"nodeType":"ExpressionStatement","src":"9819:70:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"9738:21:15","parameters":{"id":13407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13404,"mutability":"mutable","name":"p0","nameLocation":"9774:2:15","nodeType":"VariableDeclaration","scope":13419,"src":"9760:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13403,"name":"string","nodeType":"ElementaryTypeName","src":"9760:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13406,"mutability":"mutable","name":"p1","nameLocation":"9792:2:15","nodeType":"VariableDeclaration","scope":13419,"src":"9778:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13405,"name":"string","nodeType":"ElementaryTypeName","src":"9778:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9759:36:15"},"returnParameters":{"id":13408,"nodeType":"ParameterList","parameters":[],"src":"9809:0:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdUtils","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[13420],"name":"StdUtils","nameLocation":"210:8:15","scope":13421,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/Test.sol":{"id":16,"ast":{"absolutePath":"lib/forge-std/src/Test.sol","id":13475,"exportedSymbols":{"StdAssertions":[3194],"StdChains":[4157],"StdCheats":[7042],"StdConstants":[7083],"StdInvariant":[7443],"StdStorage":[8581],"StdStyle":[11749],"StdUtils":[13420],"Test":[13474],"TestBase":[285],"Vm":[18679],"console":[26795],"console2":[26795],"safeconsole":[40037],"stdError":[7149],"stdJson":[8387],"stdMath":[8543],"stdStorage":[10538],"stdToml":[12693]},"nodeType":"SourceUnit","src":"32:1063:16","nodes":[{"id":13422,"nodeType":"PragmaDirective","src":"32:31:16","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":13423,"nodeType":"PragmaDirective","src":"65:33:16","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":13425,"nodeType":"ImportDirective","src":"160:38:16","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":26796,"symbolAliases":[{"foreign":{"id":13424,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"168:7:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13427,"nodeType":"ImportDirective","src":"199:40:16","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":26800,"symbolAliases":[{"foreign":{"id":13426,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"207:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13429,"nodeType":"ImportDirective","src":"240:46:16","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":40038,"symbolAliases":[{"foreign":{"id":13428,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40037,"src":"248:11:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13431,"nodeType":"ImportDirective","src":"287:50:16","nodes":[],"absolutePath":"lib/forge-std/src/StdAssertions.sol","file":"./StdAssertions.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":3195,"symbolAliases":[{"foreign":{"id":13430,"name":"StdAssertions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3194,"src":"295:13:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13433,"nodeType":"ImportDirective","src":"338:42:16","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":4158,"symbolAliases":[{"foreign":{"id":13432,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4157,"src":"346:9:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13435,"nodeType":"ImportDirective","src":"381:42:16","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":7043,"symbolAliases":[{"foreign":{"id":13434,"name":"StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7042,"src":"389:9:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13437,"nodeType":"ImportDirective","src":"424:48:16","nodes":[],"absolutePath":"lib/forge-std/src/StdConstants.sol","file":"./StdConstants.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":7084,"symbolAliases":[{"foreign":{"id":13436,"name":"StdConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"432:12:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13439,"nodeType":"ImportDirective","src":"473:40:16","nodes":[],"absolutePath":"lib/forge-std/src/StdError.sol","file":"./StdError.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":7150,"symbolAliases":[{"foreign":{"id":13438,"name":"stdError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7149,"src":"481:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13441,"nodeType":"ImportDirective","src":"514:48:16","nodes":[],"absolutePath":"lib/forge-std/src/StdInvariant.sol","file":"./StdInvariant.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":7444,"symbolAliases":[{"foreign":{"id":13440,"name":"StdInvariant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7443,"src":"522:12:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13443,"nodeType":"ImportDirective","src":"563:38:16","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":8388,"symbolAliases":[{"foreign":{"id":13442,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8387,"src":"571:7:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13445,"nodeType":"ImportDirective","src":"602:38:16","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":8544,"symbolAliases":[{"foreign":{"id":13444,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8543,"src":"610:7:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13448,"nodeType":"ImportDirective","src":"641:56:16","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":10539,"symbolAliases":[{"foreign":{"id":13446,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"649:10:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":13447,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10538,"src":"661:10:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13450,"nodeType":"ImportDirective","src":"698:40:16","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":11750,"symbolAliases":[{"foreign":{"id":13449,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11749,"src":"706:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13452,"nodeType":"ImportDirective","src":"739:38:16","nodes":[],"absolutePath":"lib/forge-std/src/StdToml.sol","file":"./StdToml.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":12694,"symbolAliases":[{"foreign":{"id":13451,"name":"stdToml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12693,"src":"747:7:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13454,"nodeType":"ImportDirective","src":"778:40:16","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":13421,"symbolAliases":[{"foreign":{"id":13453,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13420,"src":"786:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13456,"nodeType":"ImportDirective","src":"819:28:16","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":13455,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"827:2:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13458,"nodeType":"ImportDirective","src":"869:36:16","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":295,"symbolAliases":[{"foreign":{"id":13457,"name":"TestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":285,"src":"877:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13474,"nodeType":"ContractDefinition","src":"922:172:16","nodes":[{"id":13473,"nodeType":"VariableDeclaration","src":"1065:26:16","nodes":[],"constant":false,"functionSelector":"fa7626d4","mutability":"mutable","name":"IS_TEST","nameLocation":"1077:7:16","scope":13474,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13471,"name":"bool","nodeType":"ElementaryTypeName","src":"1065:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":13472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1087:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":13459,"name":"TestBase","nameLocations":["948:8:16"],"nodeType":"IdentifierPath","referencedDeclaration":285,"src":"948:8:16"},"id":13460,"nodeType":"InheritanceSpecifier","src":"948:8:16"},{"baseName":{"id":13461,"name":"StdAssertions","nameLocations":["958:13:16"],"nodeType":"IdentifierPath","referencedDeclaration":3194,"src":"958:13:16"},"id":13462,"nodeType":"InheritanceSpecifier","src":"958:13:16"},{"baseName":{"id":13463,"name":"StdChains","nameLocations":["973:9:16"],"nodeType":"IdentifierPath","referencedDeclaration":4157,"src":"973:9:16"},"id":13464,"nodeType":"InheritanceSpecifier","src":"973:9:16"},{"baseName":{"id":13465,"name":"StdCheats","nameLocations":["984:9:16"],"nodeType":"IdentifierPath","referencedDeclaration":7042,"src":"984:9:16"},"id":13466,"nodeType":"InheritanceSpecifier","src":"984:9:16"},{"baseName":{"id":13467,"name":"StdInvariant","nameLocations":["995:12:16"],"nodeType":"IdentifierPath","referencedDeclaration":7443,"src":"995:12:16"},"id":13468,"nodeType":"InheritanceSpecifier","src":"995:12:16"},{"baseName":{"id":13469,"name":"StdUtils","nameLocations":["1009:8:16"],"nodeType":"IdentifierPath","referencedDeclaration":13420,"src":"1009:8:16"},"id":13470,"nodeType":"InheritanceSpecifier","src":"1009:8:16"}],"canonicalName":"Test","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[13474,13420,7443,7042,6247,4157,3194,285,282],"name":"Test","nameLocation":"940:4:16","scope":13475,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477]}],"license":"MIT"}},"lib/forge-std/src/Vm.sol":{"id":17,"ast":{"absolutePath":"lib/forge-std/src/Vm.sol","id":18680,"exportedSymbols":{"Vm":[18679],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"117:131664:17","nodes":[{"id":13476,"nodeType":"PragmaDirective","src":"117:31:17","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":13477,"nodeType":"PragmaDirective","src":"149:33:17","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":17608,"nodeType":"ContractDefinition","src":"409:104606:17","nodes":[{"id":13485,"nodeType":"EnumDefinition","src":"529:533:17","nodes":[],"canonicalName":"VmSafe.CallerMode","documentation":{"id":13479,"nodeType":"StructuredDocumentation","src":"432:92:17","text":"A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`."},"members":[{"id":13480,"name":"None","nameLocation":"610:4:17","nodeType":"EnumValue","src":"610:4:17"},{"id":13481,"name":"Broadcast","nameLocation":"714:9:17","nodeType":"EnumValue","src":"714:9:17"},{"id":13482,"name":"RecurrentBroadcast","nameLocation":"829:18:17","nodeType":"EnumValue","src":"829:18:17"},{"id":13483,"name":"Prank","nameLocation":"939:5:17","nodeType":"EnumValue","src":"939:5:17"},{"id":13484,"name":"RecurrentPrank","nameLocation":"1042:14:17","nodeType":"EnumValue","src":"1042:14:17"}],"name":"CallerMode","nameLocation":"534:10:17"},{"id":13498,"nodeType":"EnumDefinition","src":"1118:791:17","nodes":[],"canonicalName":"VmSafe.AccountAccessKind","documentation":{"id":13486,"nodeType":"StructuredDocumentation","src":"1068:45:17","text":"The kind of account access that occurred."},"members":[{"id":13487,"name":"Call","nameLocation":"1186:4:17","nodeType":"EnumValue","src":"1186:4:17"},{"id":13488,"name":"DelegateCall","nameLocation":"1252:12:17","nodeType":"EnumValue","src":"1252:12:17"},{"id":13489,"name":"CallCode","nameLocation":"1322:8:17","nodeType":"EnumValue","src":"1322:8:17"},{"id":13490,"name":"StaticCall","nameLocation":"1390:10:17","nodeType":"EnumValue","src":"1390:10:17"},{"id":13491,"name":"Create","nameLocation":"1446:6:17","nodeType":"EnumValue","src":"1446:6:17"},{"id":13492,"name":"SelfDestruct","nameLocation":"1505:12:17","nodeType":"EnumValue","src":"1505:12:17"},{"id":13493,"name":"Resume","nameLocation":"1644:6:17","nodeType":"EnumValue","src":"1644:6:17"},{"id":13494,"name":"Balance","nameLocation":"1703:7:17","nodeType":"EnumValue","src":"1703:7:17"},{"id":13495,"name":"Extcodesize","nameLocation":"1764:11:17","nodeType":"EnumValue","src":"1764:11:17"},{"id":13496,"name":"Extcodehash","nameLocation":"1829:11:17","nodeType":"EnumValue","src":"1829:11:17"},{"id":13497,"name":"Extcodecopy","nameLocation":"1892:11:17","nodeType":"EnumValue","src":"1892:11:17"}],"name":"AccountAccessKind","nameLocation":"1123:17:17"},{"id":13509,"nodeType":"EnumDefinition","src":"1949:683:17","nodes":[],"canonicalName":"VmSafe.ForgeContext","documentation":{"id":13499,"nodeType":"StructuredDocumentation","src":"1915:29:17","text":"Forge execution contexts."},"members":[{"id":13500,"name":"TestGroup","nameLocation":"2047:9:17","nodeType":"EnumValue","src":"2047:9:17"},{"id":13501,"name":"Test","nameLocation":"2109:4:17","nodeType":"EnumValue","src":"2109:4:17"},{"id":13502,"name":"Coverage","nameLocation":"2170:8:17","nodeType":"EnumValue","src":"2170:8:17"},{"id":13503,"name":"Snapshot","nameLocation":"2235:8:17","nodeType":"EnumValue","src":"2235:8:17"},{"id":13504,"name":"ScriptGroup","nameLocation":"2327:11:17","nodeType":"EnumValue","src":"2327:11:17"},{"id":13505,"name":"ScriptDryRun","nameLocation":"2393:12:17","nodeType":"EnumValue","src":"2393:12:17"},{"id":13506,"name":"ScriptBroadcast","nameLocation":"2472:15:17","nodeType":"EnumValue","src":"2472:15:17"},{"id":13507,"name":"ScriptResume","nameLocation":"2551:12:17","nodeType":"EnumValue","src":"2551:12:17"},{"id":13508,"name":"Unknown","nameLocation":"2619:7:17","nodeType":"EnumValue","src":"2619:7:17"}],"name":"ForgeContext","nameLocation":"1954:12:17"},{"id":13514,"nodeType":"EnumDefinition","src":"2696:208:17","nodes":[],"canonicalName":"VmSafe.BroadcastTxType","documentation":{"id":13510,"nodeType":"StructuredDocumentation","src":"2638:53:17","text":"The transaction type (`txType`) of the broadcast."},"members":[{"id":13511,"name":"Call","nameLocation":"2770:4:17","nodeType":"EnumValue","src":"2770:4:17"},{"id":13512,"name":"Create","nameLocation":"2829:6:17","nodeType":"EnumValue","src":"2829:6:17"},{"id":13513,"name":"Create2","nameLocation":"2891:7:17","nodeType":"EnumValue","src":"2891:7:17"}],"name":"BroadcastTxType","nameLocation":"2701:15:17"},{"id":13523,"nodeType":"StructDefinition","src":"2966:237:17","nodes":[],"canonicalName":"VmSafe.Log","documentation":{"id":13515,"nodeType":"StructuredDocumentation","src":"2910:51:17","text":"An Ethereum log. Returned by `getRecordedLogs`."},"members":[{"constant":false,"id":13518,"mutability":"mutable","name":"topics","nameLocation":"3064:6:17","nodeType":"VariableDeclaration","scope":13523,"src":"3054:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3054:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13517,"nodeType":"ArrayTypeName","src":"3054:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13520,"mutability":"mutable","name":"data","nameLocation":"3122:4:17","nodeType":"VariableDeclaration","scope":13523,"src":"3116:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13519,"name":"bytes","nodeType":"ElementaryTypeName","src":"3116:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13522,"mutability":"mutable","name":"emitter","nameLocation":"3189:7:17","nodeType":"VariableDeclaration","scope":13523,"src":"3181:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13521,"name":"address","nodeType":"ElementaryTypeName","src":"3181:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"2973:3:17","scope":17608,"visibility":"public"},{"id":13529,"nodeType":"StructDefinition","src":"3272:119:17","nodes":[],"canonicalName":"VmSafe.Rpc","documentation":{"id":13524,"nodeType":"StructuredDocumentation","src":"3209:58:17","text":"An RPC URL and its alias. Returned by `rpcUrlStructs`."},"members":[{"constant":false,"id":13526,"mutability":"mutable","name":"key","nameLocation":"3337:3:17","nodeType":"VariableDeclaration","scope":13529,"src":"3330:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13525,"name":"string","nodeType":"ElementaryTypeName","src":"3330:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13528,"mutability":"mutable","name":"url","nameLocation":"3381:3:17","nodeType":"VariableDeclaration","scope":13529,"src":"3374:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13527,"name":"string","nodeType":"ElementaryTypeName","src":"3374:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"3279:3:17","scope":17608,"visibility":"public"},{"id":13550,"nodeType":"StructDefinition","src":"3451:615:17","nodes":[],"canonicalName":"VmSafe.EthGetLogs","documentation":{"id":13530,"nodeType":"StructuredDocumentation","src":"3397:49:17","text":"An RPC log object. Returned by `eth_getLogs`."},"members":[{"constant":false,"id":13532,"mutability":"mutable","name":"emitter","nameLocation":"3532:7:17","nodeType":"VariableDeclaration","scope":13550,"src":"3524:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13531,"name":"address","nodeType":"ElementaryTypeName","src":"3524:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13535,"mutability":"mutable","name":"topics","nameLocation":"3626:6:17","nodeType":"VariableDeclaration","scope":13550,"src":"3616:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3616:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13534,"nodeType":"ArrayTypeName","src":"3616:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13537,"mutability":"mutable","name":"data","nameLocation":"3684:4:17","nodeType":"VariableDeclaration","scope":13550,"src":"3678:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13536,"name":"bytes","nodeType":"ElementaryTypeName","src":"3678:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13539,"mutability":"mutable","name":"blockHash","nameLocation":"3733:9:17","nodeType":"VariableDeclaration","scope":13550,"src":"3725:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3725:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13541,"mutability":"mutable","name":"blockNumber","nameLocation":"3788:11:17","nodeType":"VariableDeclaration","scope":13550,"src":"3781:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13540,"name":"uint64","nodeType":"ElementaryTypeName","src":"3781:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13543,"mutability":"mutable","name":"transactionHash","nameLocation":"3850:15:17","nodeType":"VariableDeclaration","scope":13550,"src":"3842:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3842:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13545,"mutability":"mutable","name":"transactionIndex","nameLocation":"3929:16:17","nodeType":"VariableDeclaration","scope":13550,"src":"3922:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13544,"name":"uint64","nodeType":"ElementaryTypeName","src":"3922:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13547,"mutability":"mutable","name":"logIndex","nameLocation":"3989:8:17","nodeType":"VariableDeclaration","scope":13550,"src":"3981:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13546,"name":"uint256","nodeType":"ElementaryTypeName","src":"3981:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13549,"mutability":"mutable","name":"removed","nameLocation":"4052:7:17","nodeType":"VariableDeclaration","scope":13550,"src":"4047:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13548,"name":"bool","nodeType":"ElementaryTypeName","src":"4047:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"EthGetLogs","nameLocation":"3458:10:17","scope":17608,"visibility":"public"},{"id":13562,"nodeType":"StructDefinition","src":"4142:334:17","nodes":[],"canonicalName":"VmSafe.DirEntry","documentation":{"id":13551,"nodeType":"StructuredDocumentation","src":"4072:65:17","text":"A single entry in a directory listing. Returned by `readDir`."},"members":[{"constant":false,"id":13553,"mutability":"mutable","name":"errorMessage","nameLocation":"4213:12:17","nodeType":"VariableDeclaration","scope":13562,"src":"4206:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13552,"name":"string","nodeType":"ElementaryTypeName","src":"4206:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13555,"mutability":"mutable","name":"path","nameLocation":"4276:4:17","nodeType":"VariableDeclaration","scope":13562,"src":"4269:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13554,"name":"string","nodeType":"ElementaryTypeName","src":"4269:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13557,"mutability":"mutable","name":"depth","nameLocation":"4332:5:17","nodeType":"VariableDeclaration","scope":13562,"src":"4325:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13556,"name":"uint64","nodeType":"ElementaryTypeName","src":"4325:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13559,"mutability":"mutable","name":"isDir","nameLocation":"4397:5:17","nodeType":"VariableDeclaration","scope":13562,"src":"4392:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13558,"name":"bool","nodeType":"ElementaryTypeName","src":"4392:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13561,"mutability":"mutable","name":"isSymlink","nameLocation":"4460:9:17","nodeType":"VariableDeclaration","scope":13562,"src":"4455:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13560,"name":"bool","nodeType":"ElementaryTypeName","src":"4455:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"DirEntry","nameLocation":"4149:8:17","scope":17608,"visibility":"public"},{"id":13578,"nodeType":"StructDefinition","src":"4706:599:17","nodes":[],"canonicalName":"VmSafe.FsMetadata","documentation":{"id":13563,"nodeType":"StructuredDocumentation","src":"4482:219:17","text":"Metadata information about a file.\n This structure is returned from the `fsMetadata` function and represents known\n metadata about a file such as its permissions, size, modification\n times, etc."},"members":[{"constant":false,"id":13565,"mutability":"mutable","name":"isDir","nameLocation":"4792:5:17","nodeType":"VariableDeclaration","scope":13578,"src":"4787:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13564,"name":"bool","nodeType":"ElementaryTypeName","src":"4787:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13567,"mutability":"mutable","name":"isSymlink","nameLocation":"4863:9:17","nodeType":"VariableDeclaration","scope":13578,"src":"4858:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13566,"name":"bool","nodeType":"ElementaryTypeName","src":"4858:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13569,"mutability":"mutable","name":"length","nameLocation":"4955:6:17","nodeType":"VariableDeclaration","scope":13578,"src":"4947:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13568,"name":"uint256","nodeType":"ElementaryTypeName","src":"4947:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13571,"mutability":"mutable","name":"readOnly","nameLocation":"5046:8:17","nodeType":"VariableDeclaration","scope":13578,"src":"5041:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13570,"name":"bool","nodeType":"ElementaryTypeName","src":"5041:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13573,"mutability":"mutable","name":"modified","nameLocation":"5135:8:17","nodeType":"VariableDeclaration","scope":13578,"src":"5127:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13572,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13575,"mutability":"mutable","name":"accessed","nameLocation":"5211:8:17","nodeType":"VariableDeclaration","scope":13578,"src":"5203:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13574,"name":"uint256","nodeType":"ElementaryTypeName","src":"5203:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13577,"mutability":"mutable","name":"created","nameLocation":"5291:7:17","nodeType":"VariableDeclaration","scope":13578,"src":"5283:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5283:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"4713:10:17","scope":17608,"visibility":"public"},{"id":13588,"nodeType":"StructDefinition","src":"5359:277:17","nodes":[],"canonicalName":"VmSafe.Wallet","documentation":{"id":13579,"nodeType":"StructuredDocumentation","src":"5311:43:17","text":"A wallet with a public and private key."},"members":[{"constant":false,"id":13581,"mutability":"mutable","name":"addr","nameLocation":"5424:4:17","nodeType":"VariableDeclaration","scope":13588,"src":"5416:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13580,"name":"address","nodeType":"ElementaryTypeName","src":"5416:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13583,"mutability":"mutable","name":"publicKeyX","nameLocation":"5486:10:17","nodeType":"VariableDeclaration","scope":13588,"src":"5478:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13582,"name":"uint256","nodeType":"ElementaryTypeName","src":"5478:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13585,"mutability":"mutable","name":"publicKeyY","nameLocation":"5554:10:17","nodeType":"VariableDeclaration","scope":13588,"src":"5546:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13584,"name":"uint256","nodeType":"ElementaryTypeName","src":"5546:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13587,"mutability":"mutable","name":"privateKey","nameLocation":"5619:10:17","nodeType":"VariableDeclaration","scope":13588,"src":"5611:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13586,"name":"uint256","nodeType":"ElementaryTypeName","src":"5611:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Wallet","nameLocation":"5366:6:17","scope":17608,"visibility":"public"},{"id":13596,"nodeType":"StructDefinition","src":"5681:213:17","nodes":[],"canonicalName":"VmSafe.FfiResult","documentation":{"id":13589,"nodeType":"StructuredDocumentation","src":"5642:34:17","text":"The result of a `tryFfi` call."},"members":[{"constant":false,"id":13591,"mutability":"mutable","name":"exitCode","nameLocation":"5752:8:17","nodeType":"VariableDeclaration","scope":13596,"src":"5746:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":13590,"name":"int32","nodeType":"ElementaryTypeName","src":"5746:5:17","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":13593,"mutability":"mutable","name":"stdout","nameLocation":"5829:6:17","nodeType":"VariableDeclaration","scope":13596,"src":"5823:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13592,"name":"bytes","nodeType":"ElementaryTypeName","src":"5823:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13595,"mutability":"mutable","name":"stderr","nameLocation":"5881:6:17","nodeType":"VariableDeclaration","scope":13596,"src":"5875:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13594,"name":"bytes","nodeType":"ElementaryTypeName","src":"5875:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"FfiResult","nameLocation":"5688:9:17","scope":17608,"visibility":"public"},{"id":13602,"nodeType":"StructDefinition","src":"5943:184:17","nodes":[],"canonicalName":"VmSafe.ChainInfo","documentation":{"id":13597,"nodeType":"StructuredDocumentation","src":"5900:38:17","text":"Information on the chain and fork."},"members":[{"constant":false,"id":13599,"mutability":"mutable","name":"forkId","nameLocation":"6044:6:17","nodeType":"VariableDeclaration","scope":13602,"src":"6036:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13598,"name":"uint256","nodeType":"ElementaryTypeName","src":"6036:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13601,"mutability":"mutable","name":"chainId","nameLocation":"6113:7:17","nodeType":"VariableDeclaration","scope":13602,"src":"6105:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13600,"name":"uint256","nodeType":"ElementaryTypeName","src":"6105:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ChainInfo","nameLocation":"5950:9:17","scope":17608,"visibility":"public"},{"id":13612,"nodeType":"StructDefinition","src":"6173:302:17","nodes":[],"canonicalName":"VmSafe.Chain","documentation":{"id":13603,"nodeType":"StructuredDocumentation","src":"6133:35:17","text":"Information about a blockchain."},"members":[{"constant":false,"id":13605,"mutability":"mutable","name":"name","nameLocation":"6230:4:17","nodeType":"VariableDeclaration","scope":13612,"src":"6223:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13604,"name":"string","nodeType":"ElementaryTypeName","src":"6223:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13607,"mutability":"mutable","name":"chainId","nameLocation":"6285:7:17","nodeType":"VariableDeclaration","scope":13612,"src":"6277:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13606,"name":"uint256","nodeType":"ElementaryTypeName","src":"6277:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13609,"mutability":"mutable","name":"chainAlias","nameLocation":"6385:10:17","nodeType":"VariableDeclaration","scope":13612,"src":"6378:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13608,"name":"string","nodeType":"ElementaryTypeName","src":"6378:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13611,"mutability":"mutable","name":"rpcUrl","nameLocation":"6462:6:17","nodeType":"VariableDeclaration","scope":13612,"src":"6455:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13610,"name":"string","nodeType":"ElementaryTypeName","src":"6455:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"6180:5:17","scope":17608,"visibility":"public"},{"id":13648,"nodeType":"StructDefinition","src":"6536:1992:17","nodes":[],"canonicalName":"VmSafe.AccountAccess","documentation":{"id":13613,"nodeType":"StructuredDocumentation","src":"6481:50:17","text":"The result of a `stopAndReturnStateDiff` call."},"members":[{"constant":false,"id":13616,"mutability":"mutable","name":"chainInfo","nameLocation":"6628:9:17","nodeType":"VariableDeclaration","scope":13648,"src":"6618:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$13602_storage_ptr","typeString":"struct VmSafe.ChainInfo"},"typeName":{"id":13615,"nodeType":"UserDefinedTypeName","pathNode":{"id":13614,"name":"ChainInfo","nameLocations":["6618:9:17"],"nodeType":"IdentifierPath","referencedDeclaration":13602,"src":"6618:9:17"},"referencedDeclaration":13602,"src":"6618:9:17","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$13602_storage_ptr","typeString":"struct VmSafe.ChainInfo"}},"visibility":"internal"},{"constant":false,"id":13619,"mutability":"mutable","name":"kind","nameLocation":"7091:4:17","nodeType":"VariableDeclaration","scope":13648,"src":"7073:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$13498","typeString":"enum VmSafe.AccountAccessKind"},"typeName":{"id":13618,"nodeType":"UserDefinedTypeName","pathNode":{"id":13617,"name":"AccountAccessKind","nameLocations":["7073:17:17"],"nodeType":"IdentifierPath","referencedDeclaration":13498,"src":"7073:17:17"},"referencedDeclaration":13498,"src":"7073:17:17","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$13498","typeString":"enum VmSafe.AccountAccessKind"}},"visibility":"internal"},{"constant":false,"id":13621,"mutability":"mutable","name":"account","nameLocation":"7268:7:17","nodeType":"VariableDeclaration","scope":13648,"src":"7260:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13620,"name":"address","nodeType":"ElementaryTypeName","src":"7260:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13623,"mutability":"mutable","name":"accessor","nameLocation":"7331:8:17","nodeType":"VariableDeclaration","scope":13648,"src":"7323:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13622,"name":"address","nodeType":"ElementaryTypeName","src":"7323:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13625,"mutability":"mutable","name":"initialized","nameLocation":"7542:11:17","nodeType":"VariableDeclaration","scope":13648,"src":"7537:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13624,"name":"bool","nodeType":"ElementaryTypeName","src":"7537:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13627,"mutability":"mutable","name":"oldBalance","nameLocation":"7628:10:17","nodeType":"VariableDeclaration","scope":13648,"src":"7620:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13626,"name":"uint256","nodeType":"ElementaryTypeName","src":"7620:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13629,"mutability":"mutable","name":"newBalance","nameLocation":"7803:10:17","nodeType":"VariableDeclaration","scope":13648,"src":"7795:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13628,"name":"uint256","nodeType":"ElementaryTypeName","src":"7795:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13631,"mutability":"mutable","name":"deployedCode","nameLocation":"7880:12:17","nodeType":"VariableDeclaration","scope":13648,"src":"7874:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13630,"name":"bytes","nodeType":"ElementaryTypeName","src":"7874:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13633,"mutability":"mutable","name":"value","nameLocation":"7964:5:17","nodeType":"VariableDeclaration","scope":13648,"src":"7956:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13632,"name":"uint256","nodeType":"ElementaryTypeName","src":"7956:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13635,"mutability":"mutable","name":"data","nameLocation":"8038:4:17","nodeType":"VariableDeclaration","scope":13648,"src":"8032:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13634,"name":"bytes","nodeType":"ElementaryTypeName","src":"8032:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13637,"mutability":"mutable","name":"reverted","nameLocation":"8133:8:17","nodeType":"VariableDeclaration","scope":13648,"src":"8128:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13636,"name":"bool","nodeType":"ElementaryTypeName","src":"8128:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13641,"mutability":"mutable","name":"storageAccesses","nameLocation":"8255:15:17","nodeType":"VariableDeclaration","scope":13648,"src":"8239:31:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13662_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"},"typeName":{"baseType":{"id":13639,"nodeType":"UserDefinedTypeName","pathNode":{"id":13638,"name":"StorageAccess","nameLocations":["8239:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":13662,"src":"8239:13:17"},"referencedDeclaration":13662,"src":"8239:13:17","typeDescriptions":{"typeIdentifier":"t_struct$_StorageAccess_$13662_storage_ptr","typeString":"struct VmSafe.StorageAccess"}},"id":13640,"nodeType":"ArrayTypeName","src":"8239:15:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13662_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"}},"visibility":"internal"},{"constant":false,"id":13643,"mutability":"mutable","name":"depth","nameLocation":"8361:5:17","nodeType":"VariableDeclaration","scope":13648,"src":"8354:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13642,"name":"uint64","nodeType":"ElementaryTypeName","src":"8354:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13645,"mutability":"mutable","name":"oldNonce","nameLocation":"8438:8:17","nodeType":"VariableDeclaration","scope":13648,"src":"8431:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13644,"name":"uint64","nodeType":"ElementaryTypeName","src":"8431:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13647,"mutability":"mutable","name":"newNonce","nameLocation":"8513:8:17","nodeType":"VariableDeclaration","scope":13648,"src":"8506:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13646,"name":"uint64","nodeType":"ElementaryTypeName","src":"8506:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"AccountAccess","nameLocation":"6543:13:17","scope":17608,"visibility":"public"},{"id":13662,"nodeType":"StructDefinition","src":"8590:425:17","nodes":[],"canonicalName":"VmSafe.StorageAccess","documentation":{"id":13649,"nodeType":"StructuredDocumentation","src":"8534:51:17","text":"The storage accessed during an `AccountAccess`."},"members":[{"constant":false,"id":13651,"mutability":"mutable","name":"account","nameLocation":"8680:7:17","nodeType":"VariableDeclaration","scope":13662,"src":"8672:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13650,"name":"address","nodeType":"ElementaryTypeName","src":"8672:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13653,"mutability":"mutable","name":"slot","nameLocation":"8744:4:17","nodeType":"VariableDeclaration","scope":13662,"src":"8736:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8736:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13655,"mutability":"mutable","name":"isWrite","nameLocation":"8801:7:17","nodeType":"VariableDeclaration","scope":13662,"src":"8796:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13654,"name":"bool","nodeType":"ElementaryTypeName","src":"8796:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13657,"mutability":"mutable","name":"previousValue","nameLocation":"8869:13:17","nodeType":"VariableDeclaration","scope":13662,"src":"8861:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8861:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13659,"mutability":"mutable","name":"newValue","nameLocation":"8938:8:17","nodeType":"VariableDeclaration","scope":13662,"src":"8930:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8930:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13661,"mutability":"mutable","name":"reverted","nameLocation":"9000:8:17","nodeType":"VariableDeclaration","scope":13662,"src":"8995:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13660,"name":"bool","nodeType":"ElementaryTypeName","src":"8995:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"StorageAccess","nameLocation":"8597:13:17","scope":17608,"visibility":"public"},{"id":13674,"nodeType":"StructDefinition","src":"9066:458:17","nodes":[],"canonicalName":"VmSafe.Gas","documentation":{"id":13663,"nodeType":"StructuredDocumentation","src":"9021:40:17","text":"Gas used. Returned by `lastCallGas`."},"members":[{"constant":false,"id":13665,"mutability":"mutable","name":"gasLimit","nameLocation":"9132:8:17","nodeType":"VariableDeclaration","scope":13674,"src":"9125:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13664,"name":"uint64","nodeType":"ElementaryTypeName","src":"9125:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13667,"mutability":"mutable","name":"gasTotalUsed","nameLocation":"9188:12:17","nodeType":"VariableDeclaration","scope":13674,"src":"9181:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13666,"name":"uint64","nodeType":"ElementaryTypeName","src":"9181:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13669,"mutability":"mutable","name":"gasMemoryUsed","nameLocation":"9369:13:17","nodeType":"VariableDeclaration","scope":13674,"src":"9362:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13668,"name":"uint64","nodeType":"ElementaryTypeName","src":"9362:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13671,"mutability":"mutable","name":"gasRefunded","nameLocation":"9437:11:17","nodeType":"VariableDeclaration","scope":13674,"src":"9431:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":13670,"name":"int64","nodeType":"ElementaryTypeName","src":"9431:5:17","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":13673,"mutability":"mutable","name":"gasRemaining","nameLocation":"9505:12:17","nodeType":"VariableDeclaration","scope":13674,"src":"9498:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13672,"name":"uint64","nodeType":"ElementaryTypeName","src":"9498:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"Gas","nameLocation":"9073:3:17","scope":17608,"visibility":"public"},{"id":13689,"nodeType":"StructDefinition","src":"9587:848:17","nodes":[],"canonicalName":"VmSafe.DebugStep","documentation":{"id":13675,"nodeType":"StructuredDocumentation","src":"9530:52:17","text":"The result of the `stopDebugTraceRecording` call"},"members":[{"constant":false,"id":13678,"mutability":"mutable","name":"stack","nameLocation":"9816:5:17","nodeType":"VariableDeclaration","scope":13689,"src":"9806:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13676,"name":"uint256","nodeType":"ElementaryTypeName","src":"9806:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13677,"nodeType":"ArrayTypeName","src":"9806:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13680,"mutability":"mutable","name":"memoryInput","nameLocation":"10120:11:17","nodeType":"VariableDeclaration","scope":13689,"src":"10114:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13679,"name":"bytes","nodeType":"ElementaryTypeName","src":"10114:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13682,"mutability":"mutable","name":"opcode","nameLocation":"10188:6:17","nodeType":"VariableDeclaration","scope":13689,"src":"10182:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13681,"name":"uint8","nodeType":"ElementaryTypeName","src":"10182:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13684,"mutability":"mutable","name":"depth","nameLocation":"10250:5:17","nodeType":"VariableDeclaration","scope":13689,"src":"10243:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13683,"name":"uint64","nodeType":"ElementaryTypeName","src":"10243:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13686,"mutability":"mutable","name":"isOutOfGas","nameLocation":"10328:10:17","nodeType":"VariableDeclaration","scope":13689,"src":"10323:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13685,"name":"bool","nodeType":"ElementaryTypeName","src":"10323:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13688,"mutability":"mutable","name":"contractAddr","nameLocation":"10416:12:17","nodeType":"VariableDeclaration","scope":13689,"src":"10408:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13687,"name":"address","nodeType":"ElementaryTypeName","src":"10408:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"DebugStep","nameLocation":"9594:9:17","scope":17608,"visibility":"public"},{"id":13702,"nodeType":"StructDefinition","src":"10495:600:17","nodes":[],"canonicalName":"VmSafe.BroadcastTxSummary","documentation":{"id":13690,"nodeType":"StructuredDocumentation","src":"10441:49:17","text":"Represents a transaction's broadcast details."},"members":[{"constant":false,"id":13692,"mutability":"mutable","name":"txHash","nameLocation":"10599:6:17","nodeType":"VariableDeclaration","scope":13702,"src":"10591:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10591:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13695,"mutability":"mutable","name":"txType","nameLocation":"10704:6:17","nodeType":"VariableDeclaration","scope":13702,"src":"10688:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13514","typeString":"enum VmSafe.BroadcastTxType"},"typeName":{"id":13694,"nodeType":"UserDefinedTypeName","pathNode":{"id":13693,"name":"BroadcastTxType","nameLocations":["10688:15:17"],"nodeType":"IdentifierPath","referencedDeclaration":13514,"src":"10688:15:17"},"referencedDeclaration":13514,"src":"10688:15:17","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13514","typeString":"enum VmSafe.BroadcastTxType"}},"visibility":"internal"},{"constant":false,"id":13697,"mutability":"mutable","name":"contractAddress","nameLocation":"10890:15:17","nodeType":"VariableDeclaration","scope":13702,"src":"10882:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13696,"name":"address","nodeType":"ElementaryTypeName","src":"10882:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13699,"mutability":"mutable","name":"blockNumber","nameLocation":"10977:11:17","nodeType":"VariableDeclaration","scope":13702,"src":"10970:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13698,"name":"uint64","nodeType":"ElementaryTypeName","src":"10970:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13701,"mutability":"mutable","name":"success","nameLocation":"11081:7:17","nodeType":"VariableDeclaration","scope":13702,"src":"11076:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13700,"name":"bool","nodeType":"ElementaryTypeName","src":"11076:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"BroadcastTxSummary","nameLocation":"10502:18:17","scope":17608,"visibility":"public"},{"id":13714,"nodeType":"StructDefinition","src":"11206:605:17","nodes":[],"canonicalName":"VmSafe.SignedDelegation","documentation":{"id":13703,"nodeType":"StructuredDocumentation","src":"11101:100:17","text":"Holds a signed EIP-7702 authorization for an authority account to delegate to an implementation."},"members":[{"constant":false,"id":13705,"mutability":"mutable","name":"v","nameLocation":"11317:1:17","nodeType":"VariableDeclaration","scope":13714,"src":"11311:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13704,"name":"uint8","nodeType":"ElementaryTypeName","src":"11311:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13707,"mutability":"mutable","name":"r","nameLocation":"11380:1:17","nodeType":"VariableDeclaration","scope":13714,"src":"11372:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11372:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13709,"mutability":"mutable","name":"s","nameLocation":"11444:1:17","nodeType":"VariableDeclaration","scope":13714,"src":"11436:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13708,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11436:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13711,"mutability":"mutable","name":"nonce","nameLocation":"11616:5:17","nodeType":"VariableDeclaration","scope":13714,"src":"11609:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13710,"name":"uint64","nodeType":"ElementaryTypeName","src":"11609:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13713,"mutability":"mutable","name":"implementation","nameLocation":"11790:14:17","nodeType":"VariableDeclaration","scope":13714,"src":"11782:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13712,"name":"address","nodeType":"ElementaryTypeName","src":"11782:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"SignedDelegation","nameLocation":"11213:16:17","scope":17608,"visibility":"public"},{"id":13722,"nodeType":"StructDefinition","src":"12060:373:17","nodes":[],"canonicalName":"VmSafe.PotentialRevert","documentation":{"id":13715,"nodeType":"StructuredDocumentation","src":"11817:238:17","text":"Represents a \"potential\" revert reason from a single subsequent call when using `vm.assumeNoReverts`.\n Reverts that match will result in a FOUNDRY::ASSUME rejection, whereas unmatched reverts will be surfaced\n as normal."},"members":[{"constant":false,"id":13717,"mutability":"mutable","name":"reverter","nameLocation":"12196:8:17","nodeType":"VariableDeclaration","scope":13722,"src":"12188:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13716,"name":"address","nodeType":"ElementaryTypeName","src":"12188:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13719,"mutability":"mutable","name":"partialMatch","nameLocation":"12332:12:17","nodeType":"VariableDeclaration","scope":13722,"src":"12327:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13718,"name":"bool","nodeType":"ElementaryTypeName","src":"12327:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13721,"mutability":"mutable","name":"revertData","nameLocation":"12416:10:17","nodeType":"VariableDeclaration","scope":13722,"src":"12410:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13720,"name":"bytes","nodeType":"ElementaryTypeName","src":"12410:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"PotentialRevert","nameLocation":"12067:15:17","scope":17608,"visibility":"public"},{"id":13729,"nodeType":"StructDefinition","src":"12477:191:17","nodes":[],"canonicalName":"VmSafe.AccessListItem","documentation":{"id":13723,"nodeType":"StructuredDocumentation","src":"12439:33:17","text":"An EIP-2930 access list item."},"members":[{"constant":false,"id":13725,"mutability":"mutable","name":"target","nameLocation":"12568:6:17","nodeType":"VariableDeclaration","scope":13729,"src":"12560:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13724,"name":"address","nodeType":"ElementaryTypeName","src":"12560:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13728,"mutability":"mutable","name":"storageKeys","nameLocation":"12650:11:17","nodeType":"VariableDeclaration","scope":13729,"src":"12640:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12640:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13727,"nodeType":"ArrayTypeName","src":"12640:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AccessListItem","nameLocation":"12484:14:17","scope":17608,"visibility":"public"},{"id":13738,"nodeType":"FunctionDefinition","src":"12811:91:17","nodes":[],"documentation":{"id":13730,"nodeType":"StructuredDocumentation","src":"12707:99:17","text":"Derives a private key from the name, labels the account with that name, and returns the wallet."},"functionSelector":"7404f1d2","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"12820:12:17","parameters":{"id":13733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13732,"mutability":"mutable","name":"walletLabel","nameLocation":"12849:11:17","nodeType":"VariableDeclaration","scope":13738,"src":"12833:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13731,"name":"string","nodeType":"ElementaryTypeName","src":"12833:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12832:29:17"},"returnParameters":{"id":13737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13736,"mutability":"mutable","name":"wallet","nameLocation":"12894:6:17","nodeType":"VariableDeclaration","scope":13738,"src":"12880:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13735,"nodeType":"UserDefinedTypeName","pathNode":{"id":13734,"name":"Wallet","nameLocations":["12880:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"12880:6:17"},"referencedDeclaration":13588,"src":"12880:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"12879:22:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13747,"nodeType":"FunctionDefinition","src":"12980:82:17","nodes":[],"documentation":{"id":13739,"nodeType":"StructuredDocumentation","src":"12908:67:17","text":"Generates a wallet from the private key and returns the wallet."},"functionSelector":"7a675bb6","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"12989:12:17","parameters":{"id":13742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13741,"mutability":"mutable","name":"privateKey","nameLocation":"13010:10:17","nodeType":"VariableDeclaration","scope":13747,"src":"13002:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13740,"name":"uint256","nodeType":"ElementaryTypeName","src":"13002:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13001:20:17"},"returnParameters":{"id":13746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13745,"mutability":"mutable","name":"wallet","nameLocation":"13054:6:17","nodeType":"VariableDeclaration","scope":13747,"src":"13040:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13744,"nodeType":"UserDefinedTypeName","pathNode":{"id":13743,"name":"Wallet","nameLocations":["13040:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"13040:6:17"},"referencedDeclaration":13588,"src":"13040:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"13039:22:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13758,"nodeType":"FunctionDefinition","src":"13176:111:17","nodes":[],"documentation":{"id":13748,"nodeType":"StructuredDocumentation","src":"13068:103:17","text":"Generates a wallet from the private key, labels the account with that name, and returns the wallet."},"functionSelector":"ed7c5462","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"13185:12:17","parameters":{"id":13753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13750,"mutability":"mutable","name":"privateKey","nameLocation":"13206:10:17","nodeType":"VariableDeclaration","scope":13758,"src":"13198:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13749,"name":"uint256","nodeType":"ElementaryTypeName","src":"13198:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13752,"mutability":"mutable","name":"walletLabel","nameLocation":"13234:11:17","nodeType":"VariableDeclaration","scope":13758,"src":"13218:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13751,"name":"string","nodeType":"ElementaryTypeName","src":"13218:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13197:49:17"},"returnParameters":{"id":13757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13756,"mutability":"mutable","name":"wallet","nameLocation":"13279:6:17","nodeType":"VariableDeclaration","scope":13758,"src":"13265:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13755,"nodeType":"UserDefinedTypeName","pathNode":{"id":13754,"name":"Wallet","nameLocations":["13265:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"13265:6:17"},"referencedDeclaration":13588,"src":"13265:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"13264:22:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13768,"nodeType":"FunctionDefinition","src":"13435:102:17","nodes":[],"documentation":{"id":13759,"nodeType":"StructuredDocumentation","src":"13293:137:17","text":"Derive a private key from a provided mnemonic string (or mnemonic file path)\n at the derivation path `m/44'/60'/0'/0/{index}`."},"functionSelector":"6229498b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"13444:9:17","parameters":{"id":13764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13761,"mutability":"mutable","name":"mnemonic","nameLocation":"13470:8:17","nodeType":"VariableDeclaration","scope":13768,"src":"13454:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13760,"name":"string","nodeType":"ElementaryTypeName","src":"13454:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13763,"mutability":"mutable","name":"index","nameLocation":"13487:5:17","nodeType":"VariableDeclaration","scope":13768,"src":"13480:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13762,"name":"uint32","nodeType":"ElementaryTypeName","src":"13480:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13453:40:17"},"returnParameters":{"id":13767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13766,"mutability":"mutable","name":"privateKey","nameLocation":"13525:10:17","nodeType":"VariableDeclaration","scope":13768,"src":"13517:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13765,"name":"uint256","nodeType":"ElementaryTypeName","src":"13517:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13516:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13780,"nodeType":"FunctionDefinition","src":"13666:158:17","nodes":[],"documentation":{"id":13769,"nodeType":"StructuredDocumentation","src":"13543:118:17","text":"Derive a private key from a provided mnemonic string (or mnemonic file path)\n at `{derivationPath}{index}`."},"functionSelector":"6bcb2c1b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"13675:9:17","parameters":{"id":13776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13771,"mutability":"mutable","name":"mnemonic","nameLocation":"13701:8:17","nodeType":"VariableDeclaration","scope":13780,"src":"13685:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13770,"name":"string","nodeType":"ElementaryTypeName","src":"13685:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13773,"mutability":"mutable","name":"derivationPath","nameLocation":"13727:14:17","nodeType":"VariableDeclaration","scope":13780,"src":"13711:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13772,"name":"string","nodeType":"ElementaryTypeName","src":"13711:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13775,"mutability":"mutable","name":"index","nameLocation":"13750:5:17","nodeType":"VariableDeclaration","scope":13780,"src":"13743:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13774,"name":"uint32","nodeType":"ElementaryTypeName","src":"13743:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13684:72:17"},"returnParameters":{"id":13779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13778,"mutability":"mutable","name":"privateKey","nameLocation":"13812:10:17","nodeType":"VariableDeclaration","scope":13780,"src":"13804:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13777,"name":"uint256","nodeType":"ElementaryTypeName","src":"13804:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13803:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13792,"nodeType":"FunctionDefinition","src":"13998:152:17","nodes":[],"documentation":{"id":13781,"nodeType":"StructuredDocumentation","src":"13830:163:17","text":"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language\n at the derivation path `m/44'/60'/0'/0/{index}`."},"functionSelector":"32c8176d","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"14007:9:17","parameters":{"id":13788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13783,"mutability":"mutable","name":"mnemonic","nameLocation":"14033:8:17","nodeType":"VariableDeclaration","scope":13792,"src":"14017:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13782,"name":"string","nodeType":"ElementaryTypeName","src":"14017:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13785,"mutability":"mutable","name":"index","nameLocation":"14050:5:17","nodeType":"VariableDeclaration","scope":13792,"src":"14043:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13784,"name":"uint32","nodeType":"ElementaryTypeName","src":"14043:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":13787,"mutability":"mutable","name":"language","nameLocation":"14073:8:17","nodeType":"VariableDeclaration","scope":13792,"src":"14057:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13786,"name":"string","nodeType":"ElementaryTypeName","src":"14057:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14016:66:17"},"returnParameters":{"id":13791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13790,"mutability":"mutable","name":"privateKey","nameLocation":"14138:10:17","nodeType":"VariableDeclaration","scope":13792,"src":"14130:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13789,"name":"uint256","nodeType":"ElementaryTypeName","src":"14130:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14129:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13806,"nodeType":"FunctionDefinition","src":"14305:184:17","nodes":[],"documentation":{"id":13793,"nodeType":"StructuredDocumentation","src":"14156:144:17","text":"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language\n at `{derivationPath}{index}`."},"functionSelector":"29233b1f","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"14314:9:17","parameters":{"id":13802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13795,"mutability":"mutable","name":"mnemonic","nameLocation":"14340:8:17","nodeType":"VariableDeclaration","scope":13806,"src":"14324:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13794,"name":"string","nodeType":"ElementaryTypeName","src":"14324:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13797,"mutability":"mutable","name":"derivationPath","nameLocation":"14366:14:17","nodeType":"VariableDeclaration","scope":13806,"src":"14350:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13796,"name":"string","nodeType":"ElementaryTypeName","src":"14350:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13799,"mutability":"mutable","name":"index","nameLocation":"14389:5:17","nodeType":"VariableDeclaration","scope":13806,"src":"14382:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13798,"name":"uint32","nodeType":"ElementaryTypeName","src":"14382:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":13801,"mutability":"mutable","name":"language","nameLocation":"14412:8:17","nodeType":"VariableDeclaration","scope":13806,"src":"14396:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13800,"name":"string","nodeType":"ElementaryTypeName","src":"14396:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14323:98:17"},"returnParameters":{"id":13805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13804,"mutability":"mutable","name":"privateKey","nameLocation":"14477:10:17","nodeType":"VariableDeclaration","scope":13806,"src":"14469:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13803,"name":"uint256","nodeType":"ElementaryTypeName","src":"14469:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14468:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13816,"nodeType":"FunctionDefinition","src":"14564:106:17","nodes":[],"documentation":{"id":13807,"nodeType":"StructuredDocumentation","src":"14495:64:17","text":"Derives secp256r1 public key from the provided `privateKey`."},"functionSelector":"c453949e","implemented":false,"kind":"function","modifiers":[],"name":"publicKeyP256","nameLocation":"14573:13:17","parameters":{"id":13810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13809,"mutability":"mutable","name":"privateKey","nameLocation":"14595:10:17","nodeType":"VariableDeclaration","scope":13816,"src":"14587:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13808,"name":"uint256","nodeType":"ElementaryTypeName","src":"14587:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14586:20:17"},"returnParameters":{"id":13815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13812,"mutability":"mutable","name":"publicKeyX","nameLocation":"14638:10:17","nodeType":"VariableDeclaration","scope":13816,"src":"14630:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13811,"name":"uint256","nodeType":"ElementaryTypeName","src":"14630:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13814,"mutability":"mutable","name":"publicKeyY","nameLocation":"14658:10:17","nodeType":"VariableDeclaration","scope":13816,"src":"14650:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13813,"name":"uint256","nodeType":"ElementaryTypeName","src":"14650:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14629:40:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13824,"nodeType":"FunctionDefinition","src":"14754:76:17","nodes":[],"documentation":{"id":13817,"nodeType":"StructuredDocumentation","src":"14676:73:17","text":"Adds a private key to the local forge wallet and returns the address."},"functionSelector":"22100064","implemented":false,"kind":"function","modifiers":[],"name":"rememberKey","nameLocation":"14763:11:17","parameters":{"id":13820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13819,"mutability":"mutable","name":"privateKey","nameLocation":"14783:10:17","nodeType":"VariableDeclaration","scope":13824,"src":"14775:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13818,"name":"uint256","nodeType":"ElementaryTypeName","src":"14775:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14774:20:17"},"returnParameters":{"id":13823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13822,"mutability":"mutable","name":"keyAddr","nameLocation":"14821:7:17","nodeType":"VariableDeclaration","scope":13824,"src":"14813:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13821,"name":"address","nodeType":"ElementaryTypeName","src":"14813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14812:17:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13837,"nodeType":"FunctionDefinition","src":"15063:155:17","nodes":[],"documentation":{"id":13825,"nodeType":"StructuredDocumentation","src":"14836:222:17","text":"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`.\n The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"functionSelector":"97cb9189","implemented":false,"kind":"function","modifiers":[],"name":"rememberKeys","nameLocation":"15072:12:17","parameters":{"id":13832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13827,"mutability":"mutable","name":"mnemonic","nameLocation":"15101:8:17","nodeType":"VariableDeclaration","scope":13837,"src":"15085:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13826,"name":"string","nodeType":"ElementaryTypeName","src":"15085:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13829,"mutability":"mutable","name":"derivationPath","nameLocation":"15127:14:17","nodeType":"VariableDeclaration","scope":13837,"src":"15111:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13828,"name":"string","nodeType":"ElementaryTypeName","src":"15111:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13831,"mutability":"mutable","name":"count","nameLocation":"15150:5:17","nodeType":"VariableDeclaration","scope":13837,"src":"15143:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13830,"name":"uint32","nodeType":"ElementaryTypeName","src":"15143:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15084:72:17"},"returnParameters":{"id":13836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13835,"mutability":"mutable","name":"keyAddrs","nameLocation":"15208:8:17","nodeType":"VariableDeclaration","scope":13837,"src":"15191:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13833,"name":"address","nodeType":"ElementaryTypeName","src":"15191:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13834,"nodeType":"ArrayTypeName","src":"15191:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15190:27:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13852,"nodeType":"FunctionDefinition","src":"15477:203:17","nodes":[],"documentation":{"id":13838,"nodeType":"StructuredDocumentation","src":"15224:248:17","text":"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`.\n The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"functionSelector":"f8d58eaf","implemented":false,"kind":"function","modifiers":[],"name":"rememberKeys","nameLocation":"15486:12:17","parameters":{"id":13847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13840,"mutability":"mutable","name":"mnemonic","nameLocation":"15524:8:17","nodeType":"VariableDeclaration","scope":13852,"src":"15508:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13839,"name":"string","nodeType":"ElementaryTypeName","src":"15508:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13842,"mutability":"mutable","name":"derivationPath","nameLocation":"15558:14:17","nodeType":"VariableDeclaration","scope":13852,"src":"15542:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13841,"name":"string","nodeType":"ElementaryTypeName","src":"15542:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13844,"mutability":"mutable","name":"language","nameLocation":"15598:8:17","nodeType":"VariableDeclaration","scope":13852,"src":"15582:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13843,"name":"string","nodeType":"ElementaryTypeName","src":"15582:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13846,"mutability":"mutable","name":"count","nameLocation":"15623:5:17","nodeType":"VariableDeclaration","scope":13852,"src":"15616:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13845,"name":"uint32","nodeType":"ElementaryTypeName","src":"15616:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15498:136:17"},"returnParameters":{"id":13851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13850,"mutability":"mutable","name":"keyAddrs","nameLocation":"15670:8:17","nodeType":"VariableDeclaration","scope":13852,"src":"15653:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13848,"name":"address","nodeType":"ElementaryTypeName","src":"15653:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13849,"nodeType":"ArrayTypeName","src":"15653:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15652:27:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13865,"nodeType":"FunctionDefinition","src":"15959:102:17","nodes":[],"documentation":{"id":13853,"nodeType":"StructuredDocumentation","src":"15686:268:17","text":"Signs data with a `Wallet`.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes."},"functionSelector":"3d0e292f","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"15968:11:17","parameters":{"id":13859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13856,"mutability":"mutable","name":"wallet","nameLocation":"15996:6:17","nodeType":"VariableDeclaration","scope":13865,"src":"15980:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13855,"nodeType":"UserDefinedTypeName","pathNode":{"id":13854,"name":"Wallet","nameLocations":["15980:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"15980:6:17"},"referencedDeclaration":13588,"src":"15980:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":13858,"mutability":"mutable","name":"digest","nameLocation":"16012:6:17","nodeType":"VariableDeclaration","scope":13865,"src":"16004:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16004:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15979:40:17"},"returnParameters":{"id":13864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13861,"mutability":"mutable","name":"r","nameLocation":"16046:1:17","nodeType":"VariableDeclaration","scope":13865,"src":"16038:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16038:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13863,"mutability":"mutable","name":"vs","nameLocation":"16057:2:17","nodeType":"VariableDeclaration","scope":13865,"src":"16049:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16049:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16037:23:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13877,"nodeType":"FunctionDefinition","src":"16372:103:17","nodes":[],"documentation":{"id":13866,"nodeType":"StructuredDocumentation","src":"16067:300:17","text":"Signs `digest` with `privateKey` using the secp256k1 curve.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes."},"functionSelector":"cc2a781f","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"16381:11:17","parameters":{"id":13871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13868,"mutability":"mutable","name":"privateKey","nameLocation":"16401:10:17","nodeType":"VariableDeclaration","scope":13877,"src":"16393:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13867,"name":"uint256","nodeType":"ElementaryTypeName","src":"16393:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13870,"mutability":"mutable","name":"digest","nameLocation":"16421:6:17","nodeType":"VariableDeclaration","scope":13877,"src":"16413:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16413:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16392:36:17"},"returnParameters":{"id":13876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13873,"mutability":"mutable","name":"r","nameLocation":"16460:1:17","nodeType":"VariableDeclaration","scope":13877,"src":"16452:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16452:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13875,"mutability":"mutable","name":"vs","nameLocation":"16471:2:17","nodeType":"VariableDeclaration","scope":13877,"src":"16463:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16463:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16451:23:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13887,"nodeType":"FunctionDefinition","src":"17151:83:17","nodes":[],"documentation":{"id":13878,"nodeType":"StructuredDocumentation","src":"16481:665:17","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes.\n If `--sender` is provided, the signer with provided address is used, otherwise,\n if exactly one signer is provided to the script, that signer is used.\n Raises error if signer passed through `--sender` does not match any unlocked signers or\n if `--sender` is not provided and not exactly one signer is passed to the script."},"functionSelector":"a282dc4b","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"17160:11:17","parameters":{"id":13881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13880,"mutability":"mutable","name":"digest","nameLocation":"17180:6:17","nodeType":"VariableDeclaration","scope":13887,"src":"17172:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17172:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17171:16:17"},"returnParameters":{"id":13886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13883,"mutability":"mutable","name":"r","nameLocation":"17219:1:17","nodeType":"VariableDeclaration","scope":13887,"src":"17211:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17211:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13885,"mutability":"mutable","name":"vs","nameLocation":"17230:2:17","nodeType":"VariableDeclaration","scope":13887,"src":"17222:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17222:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17210:23:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13899,"nodeType":"FunctionDefinition","src":"17648:99:17","nodes":[],"documentation":{"id":13888,"nodeType":"StructuredDocumentation","src":"17240:403:17","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes.\n Raises error if none of the signers passed into the script have provided address."},"functionSelector":"8e2f97bf","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"17657:11:17","parameters":{"id":13893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13890,"mutability":"mutable","name":"signer","nameLocation":"17677:6:17","nodeType":"VariableDeclaration","scope":13899,"src":"17669:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13889,"name":"address","nodeType":"ElementaryTypeName","src":"17669:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13892,"mutability":"mutable","name":"digest","nameLocation":"17693:6:17","nodeType":"VariableDeclaration","scope":13899,"src":"17685:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17685:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17668:32:17"},"returnParameters":{"id":13898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13895,"mutability":"mutable","name":"r","nameLocation":"17732:1:17","nodeType":"VariableDeclaration","scope":13899,"src":"17724:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17724:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13897,"mutability":"mutable","name":"vs","nameLocation":"17743:2:17","nodeType":"VariableDeclaration","scope":13899,"src":"17735:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17735:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17723:23:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13911,"nodeType":"FunctionDefinition","src":"17821:99:17","nodes":[],"documentation":{"id":13900,"nodeType":"StructuredDocumentation","src":"17753:63:17","text":"Signs `digest` with `privateKey` using the secp256r1 curve."},"functionSelector":"83211b40","implemented":false,"kind":"function","modifiers":[],"name":"signP256","nameLocation":"17830:8:17","parameters":{"id":13905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13902,"mutability":"mutable","name":"privateKey","nameLocation":"17847:10:17","nodeType":"VariableDeclaration","scope":13911,"src":"17839:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13901,"name":"uint256","nodeType":"ElementaryTypeName","src":"17839:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13904,"mutability":"mutable","name":"digest","nameLocation":"17867:6:17","nodeType":"VariableDeclaration","scope":13911,"src":"17859:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17859:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17838:36:17"},"returnParameters":{"id":13910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13907,"mutability":"mutable","name":"r","nameLocation":"17906:1:17","nodeType":"VariableDeclaration","scope":13911,"src":"17898:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17898:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13909,"mutability":"mutable","name":"s","nameLocation":"17917:1:17","nodeType":"VariableDeclaration","scope":13911,"src":"17909:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17909:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17897:22:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13927,"nodeType":"FunctionDefinition","src":"18105:158:17","nodes":[],"documentation":{"id":13912,"nodeType":"StructuredDocumentation","src":"17926:174:17","text":"Signs `digest` with `privateKey` on the secp256k1 curve, using the given `nonce`\n as the raw ephemeral k value in ECDSA (instead of deriving it deterministically)."},"functionSelector":"2012783a","implemented":false,"kind":"function","modifiers":[],"name":"signWithNonceUnsafe","nameLocation":"18114:19:17","parameters":{"id":13919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13914,"mutability":"mutable","name":"privateKey","nameLocation":"18142:10:17","nodeType":"VariableDeclaration","scope":13927,"src":"18134:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13913,"name":"uint256","nodeType":"ElementaryTypeName","src":"18134:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13916,"mutability":"mutable","name":"digest","nameLocation":"18162:6:17","nodeType":"VariableDeclaration","scope":13927,"src":"18154:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18154:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13918,"mutability":"mutable","name":"nonce","nameLocation":"18178:5:17","nodeType":"VariableDeclaration","scope":13927,"src":"18170:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13917,"name":"uint256","nodeType":"ElementaryTypeName","src":"18170:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18133:51:17"},"returnParameters":{"id":13926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13921,"mutability":"mutable","name":"v","nameLocation":"18238:1:17","nodeType":"VariableDeclaration","scope":13927,"src":"18232:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13920,"name":"uint8","nodeType":"ElementaryTypeName","src":"18232:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13923,"mutability":"mutable","name":"r","nameLocation":"18249:1:17","nodeType":"VariableDeclaration","scope":13927,"src":"18241:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18241:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13925,"mutability":"mutable","name":"s","nameLocation":"18260:1:17","nodeType":"VariableDeclaration","scope":13927,"src":"18252:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18252:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18231:31:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13942,"nodeType":"FunctionDefinition","src":"18305:103:17","nodes":[],"documentation":{"id":13928,"nodeType":"StructuredDocumentation","src":"18269:31:17","text":"Signs data with a `Wallet`."},"functionSelector":"b25c5a25","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"18314:4:17","parameters":{"id":13934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13931,"mutability":"mutable","name":"wallet","nameLocation":"18335:6:17","nodeType":"VariableDeclaration","scope":13942,"src":"18319:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13930,"nodeType":"UserDefinedTypeName","pathNode":{"id":13929,"name":"Wallet","nameLocations":["18319:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"18319:6:17"},"referencedDeclaration":13588,"src":"18319:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":13933,"mutability":"mutable","name":"digest","nameLocation":"18351:6:17","nodeType":"VariableDeclaration","scope":13942,"src":"18343:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18343:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18318:40:17"},"returnParameters":{"id":13941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13936,"mutability":"mutable","name":"v","nameLocation":"18383:1:17","nodeType":"VariableDeclaration","scope":13942,"src":"18377:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13935,"name":"uint8","nodeType":"ElementaryTypeName","src":"18377:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13938,"mutability":"mutable","name":"r","nameLocation":"18394:1:17","nodeType":"VariableDeclaration","scope":13942,"src":"18386:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18386:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13940,"mutability":"mutable","name":"s","nameLocation":"18405:1:17","nodeType":"VariableDeclaration","scope":13942,"src":"18397:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18397:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18376:31:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13956,"nodeType":"FunctionDefinition","src":"18482:104:17","nodes":[],"documentation":{"id":13943,"nodeType":"StructuredDocumentation","src":"18414:63:17","text":"Signs `digest` with `privateKey` using the secp256k1 curve."},"functionSelector":"e341eaa4","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"18491:4:17","parameters":{"id":13948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13945,"mutability":"mutable","name":"privateKey","nameLocation":"18504:10:17","nodeType":"VariableDeclaration","scope":13956,"src":"18496:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13944,"name":"uint256","nodeType":"ElementaryTypeName","src":"18496:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13947,"mutability":"mutable","name":"digest","nameLocation":"18524:6:17","nodeType":"VariableDeclaration","scope":13956,"src":"18516:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18516:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18495:36:17"},"returnParameters":{"id":13955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13950,"mutability":"mutable","name":"v","nameLocation":"18561:1:17","nodeType":"VariableDeclaration","scope":13956,"src":"18555:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13949,"name":"uint8","nodeType":"ElementaryTypeName","src":"18555:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13952,"mutability":"mutable","name":"r","nameLocation":"18572:1:17","nodeType":"VariableDeclaration","scope":13956,"src":"18564:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18564:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13954,"mutability":"mutable","name":"s","nameLocation":"18583:1:17","nodeType":"VariableDeclaration","scope":13956,"src":"18575:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18575:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18554:31:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13968,"nodeType":"FunctionDefinition","src":"19025:84:17","nodes":[],"documentation":{"id":13957,"nodeType":"StructuredDocumentation","src":"18592:428:17","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n If `--sender` is provided, the signer with provided address is used, otherwise,\n if exactly one signer is provided to the script, that signer is used.\n Raises error if signer passed through `--sender` does not match any unlocked signers or\n if `--sender` is not provided and not exactly one signer is passed to the script."},"functionSelector":"799cd333","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"19034:4:17","parameters":{"id":13960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13959,"mutability":"mutable","name":"digest","nameLocation":"19047:6:17","nodeType":"VariableDeclaration","scope":13968,"src":"19039:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19038:16:17"},"returnParameters":{"id":13967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13962,"mutability":"mutable","name":"v","nameLocation":"19084:1:17","nodeType":"VariableDeclaration","scope":13968,"src":"19078:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13961,"name":"uint8","nodeType":"ElementaryTypeName","src":"19078:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13964,"mutability":"mutable","name":"r","nameLocation":"19095:1:17","nodeType":"VariableDeclaration","scope":13968,"src":"19087:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19087:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13966,"mutability":"mutable","name":"s","nameLocation":"19106:1:17","nodeType":"VariableDeclaration","scope":13968,"src":"19098:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19098:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19077:31:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13982,"nodeType":"FunctionDefinition","src":"19286:100:17","nodes":[],"documentation":{"id":13969,"nodeType":"StructuredDocumentation","src":"19115:166:17","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Raises error if none of the signers passed into the script have provided address."},"functionSelector":"8c1aa205","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"19295:4:17","parameters":{"id":13974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13971,"mutability":"mutable","name":"signer","nameLocation":"19308:6:17","nodeType":"VariableDeclaration","scope":13982,"src":"19300:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13970,"name":"address","nodeType":"ElementaryTypeName","src":"19300:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13973,"mutability":"mutable","name":"digest","nameLocation":"19324:6:17","nodeType":"VariableDeclaration","scope":13982,"src":"19316:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19316:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19299:32:17"},"returnParameters":{"id":13981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13976,"mutability":"mutable","name":"v","nameLocation":"19361:1:17","nodeType":"VariableDeclaration","scope":13982,"src":"19355:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13975,"name":"uint8","nodeType":"ElementaryTypeName","src":"19355:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13978,"mutability":"mutable","name":"r","nameLocation":"19372:1:17","nodeType":"VariableDeclaration","scope":13982,"src":"19364:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19364:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13980,"mutability":"mutable","name":"s","nameLocation":"19383:1:17","nodeType":"VariableDeclaration","scope":13982,"src":"19375:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19375:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19354:31:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13990,"nodeType":"FunctionDefinition","src":"19573:80:17","nodes":[],"documentation":{"id":13983,"nodeType":"StructuredDocumentation","src":"19430:138:17","text":"Gets the environment variable `name` and parses it as `address`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"350d56bf","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"19582:10:17","parameters":{"id":13986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13985,"mutability":"mutable","name":"name","nameLocation":"19609:4:17","nodeType":"VariableDeclaration","scope":13990,"src":"19593:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13984,"name":"string","nodeType":"ElementaryTypeName","src":"19593:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19592:22:17"},"returnParameters":{"id":13989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13988,"mutability":"mutable","name":"value","nameLocation":"19646:5:17","nodeType":"VariableDeclaration","scope":13990,"src":"19638:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13987,"name":"address","nodeType":"ElementaryTypeName","src":"19638:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19637:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14001,"nodeType":"FunctionDefinition","src":"19836:112:17","nodes":[],"documentation":{"id":13991,"nodeType":"StructuredDocumentation","src":"19659:172:17","text":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"ad31b9fa","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"19845:10:17","parameters":{"id":13996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13993,"mutability":"mutable","name":"name","nameLocation":"19872:4:17","nodeType":"VariableDeclaration","scope":14001,"src":"19856:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13992,"name":"string","nodeType":"ElementaryTypeName","src":"19856:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13995,"mutability":"mutable","name":"delim","nameLocation":"19894:5:17","nodeType":"VariableDeclaration","scope":14001,"src":"19878:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13994,"name":"string","nodeType":"ElementaryTypeName","src":"19878:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19855:45:17"},"returnParameters":{"id":14000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13999,"mutability":"mutable","name":"value","nameLocation":"19941:5:17","nodeType":"VariableDeclaration","scope":14001,"src":"19924:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13997,"name":"address","nodeType":"ElementaryTypeName","src":"19924:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13998,"nodeType":"ArrayTypeName","src":"19924:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"19923:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14009,"nodeType":"FunctionDefinition","src":"20094:74:17","nodes":[],"documentation":{"id":14002,"nodeType":"StructuredDocumentation","src":"19954:135:17","text":"Gets the environment variable `name` and parses it as `bool`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"7ed1ec7d","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"20103:7:17","parameters":{"id":14005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14004,"mutability":"mutable","name":"name","nameLocation":"20127:4:17","nodeType":"VariableDeclaration","scope":14009,"src":"20111:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14003,"name":"string","nodeType":"ElementaryTypeName","src":"20111:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20110:22:17"},"returnParameters":{"id":14008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14007,"mutability":"mutable","name":"value","nameLocation":"20161:5:17","nodeType":"VariableDeclaration","scope":14009,"src":"20156:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14006,"name":"bool","nodeType":"ElementaryTypeName","src":"20156:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20155:12:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14020,"nodeType":"FunctionDefinition","src":"20348:106:17","nodes":[],"documentation":{"id":14010,"nodeType":"StructuredDocumentation","src":"20174:169:17","text":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"aaaddeaf","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"20357:7:17","parameters":{"id":14015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14012,"mutability":"mutable","name":"name","nameLocation":"20381:4:17","nodeType":"VariableDeclaration","scope":14020,"src":"20365:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14011,"name":"string","nodeType":"ElementaryTypeName","src":"20365:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14014,"mutability":"mutable","name":"delim","nameLocation":"20403:5:17","nodeType":"VariableDeclaration","scope":14020,"src":"20387:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14013,"name":"string","nodeType":"ElementaryTypeName","src":"20387:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20364:45:17"},"returnParameters":{"id":14019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14018,"mutability":"mutable","name":"value","nameLocation":"20447:5:17","nodeType":"VariableDeclaration","scope":14020,"src":"20433:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14016,"name":"bool","nodeType":"ElementaryTypeName","src":"20433:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14017,"nodeType":"ArrayTypeName","src":"20433:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"20432:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14028,"nodeType":"FunctionDefinition","src":"20603:80:17","nodes":[],"documentation":{"id":14021,"nodeType":"StructuredDocumentation","src":"20460:138:17","text":"Gets the environment variable `name` and parses it as `bytes32`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"97949042","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"20612:10:17","parameters":{"id":14024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14023,"mutability":"mutable","name":"name","nameLocation":"20639:4:17","nodeType":"VariableDeclaration","scope":14028,"src":"20623:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14022,"name":"string","nodeType":"ElementaryTypeName","src":"20623:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20622:22:17"},"returnParameters":{"id":14027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14026,"mutability":"mutable","name":"value","nameLocation":"20676:5:17","nodeType":"VariableDeclaration","scope":14028,"src":"20668:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20668:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20667:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14039,"nodeType":"FunctionDefinition","src":"20866:112:17","nodes":[],"documentation":{"id":14029,"nodeType":"StructuredDocumentation","src":"20689:172:17","text":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"5af231c1","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"20875:10:17","parameters":{"id":14034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14031,"mutability":"mutable","name":"name","nameLocation":"20902:4:17","nodeType":"VariableDeclaration","scope":14039,"src":"20886:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14030,"name":"string","nodeType":"ElementaryTypeName","src":"20886:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14033,"mutability":"mutable","name":"delim","nameLocation":"20924:5:17","nodeType":"VariableDeclaration","scope":14039,"src":"20908:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14032,"name":"string","nodeType":"ElementaryTypeName","src":"20908:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20885:45:17"},"returnParameters":{"id":14038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14037,"mutability":"mutable","name":"value","nameLocation":"20971:5:17","nodeType":"VariableDeclaration","scope":14039,"src":"20954:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20954:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14036,"nodeType":"ArrayTypeName","src":"20954:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"20953:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14047,"nodeType":"FunctionDefinition","src":"21125:83:17","nodes":[],"documentation":{"id":14040,"nodeType":"StructuredDocumentation","src":"20984:136:17","text":"Gets the environment variable `name` and parses it as `bytes`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"4d7baf06","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"21134:8:17","parameters":{"id":14043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14042,"mutability":"mutable","name":"name","nameLocation":"21159:4:17","nodeType":"VariableDeclaration","scope":14047,"src":"21143:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14041,"name":"string","nodeType":"ElementaryTypeName","src":"21143:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21142:22:17"},"returnParameters":{"id":14046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14045,"mutability":"mutable","name":"value","nameLocation":"21201:5:17","nodeType":"VariableDeclaration","scope":14047,"src":"21188:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14044,"name":"bytes","nodeType":"ElementaryTypeName","src":"21188:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21187:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14058,"nodeType":"FunctionDefinition","src":"21389:108:17","nodes":[],"documentation":{"id":14048,"nodeType":"StructuredDocumentation","src":"21214:170:17","text":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"ddc2651b","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"21398:8:17","parameters":{"id":14053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14050,"mutability":"mutable","name":"name","nameLocation":"21423:4:17","nodeType":"VariableDeclaration","scope":14058,"src":"21407:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14049,"name":"string","nodeType":"ElementaryTypeName","src":"21407:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14052,"mutability":"mutable","name":"delim","nameLocation":"21445:5:17","nodeType":"VariableDeclaration","scope":14058,"src":"21429:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14051,"name":"string","nodeType":"ElementaryTypeName","src":"21429:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21406:45:17"},"returnParameters":{"id":14057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14056,"mutability":"mutable","name":"value","nameLocation":"21490:5:17","nodeType":"VariableDeclaration","scope":14058,"src":"21475:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14054,"name":"bytes","nodeType":"ElementaryTypeName","src":"21475:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14055,"nodeType":"ArrayTypeName","src":"21475:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"21474:22:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14066,"nodeType":"FunctionDefinition","src":"21599:77:17","nodes":[],"documentation":{"id":14059,"nodeType":"StructuredDocumentation","src":"21503:91:17","text":"Gets the environment variable `name` and returns true if it exists, else returns false."},"functionSelector":"ce8365f9","implemented":false,"kind":"function","modifiers":[],"name":"envExists","nameLocation":"21608:9:17","parameters":{"id":14062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14061,"mutability":"mutable","name":"name","nameLocation":"21634:4:17","nodeType":"VariableDeclaration","scope":14066,"src":"21618:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14060,"name":"string","nodeType":"ElementaryTypeName","src":"21618:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21617:22:17"},"returnParameters":{"id":14065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14064,"mutability":"mutable","name":"result","nameLocation":"21668:6:17","nodeType":"VariableDeclaration","scope":14066,"src":"21663:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14063,"name":"bool","nodeType":"ElementaryTypeName","src":"21663:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21662:13:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14074,"nodeType":"FunctionDefinition","src":"21824:75:17","nodes":[],"documentation":{"id":14067,"nodeType":"StructuredDocumentation","src":"21682:137:17","text":"Gets the environment variable `name` and parses it as `int256`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"892a0c61","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"21833:6:17","parameters":{"id":14070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14069,"mutability":"mutable","name":"name","nameLocation":"21856:4:17","nodeType":"VariableDeclaration","scope":14074,"src":"21840:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14068,"name":"string","nodeType":"ElementaryTypeName","src":"21840:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21839:22:17"},"returnParameters":{"id":14073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14072,"mutability":"mutable","name":"value","nameLocation":"21892:5:17","nodeType":"VariableDeclaration","scope":14074,"src":"21885:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14071,"name":"int256","nodeType":"ElementaryTypeName","src":"21885:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21884:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14085,"nodeType":"FunctionDefinition","src":"22081:107:17","nodes":[],"documentation":{"id":14075,"nodeType":"StructuredDocumentation","src":"21905:171:17","text":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"42181150","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"22090:6:17","parameters":{"id":14080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14077,"mutability":"mutable","name":"name","nameLocation":"22113:4:17","nodeType":"VariableDeclaration","scope":14085,"src":"22097:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14076,"name":"string","nodeType":"ElementaryTypeName","src":"22097:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14079,"mutability":"mutable","name":"delim","nameLocation":"22135:5:17","nodeType":"VariableDeclaration","scope":14085,"src":"22119:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14078,"name":"string","nodeType":"ElementaryTypeName","src":"22119:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22096:45:17"},"returnParameters":{"id":14084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14083,"mutability":"mutable","name":"value","nameLocation":"22181:5:17","nodeType":"VariableDeclaration","scope":14085,"src":"22165:21:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14081,"name":"int256","nodeType":"ElementaryTypeName","src":"22165:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14082,"nodeType":"ArrayTypeName","src":"22165:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"22164:23:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14095,"nodeType":"FunctionDefinition","src":"22379:91:17","nodes":[],"documentation":{"id":14086,"nodeType":"StructuredDocumentation","src":"22194:180:17","text":"Gets the environment variable `name` and parses it as `bool`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"4777f3cf","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22388:5:17","parameters":{"id":14091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14088,"mutability":"mutable","name":"name","nameLocation":"22410:4:17","nodeType":"VariableDeclaration","scope":14095,"src":"22394:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14087,"name":"string","nodeType":"ElementaryTypeName","src":"22394:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14090,"mutability":"mutable","name":"defaultValue","nameLocation":"22421:12:17","nodeType":"VariableDeclaration","scope":14095,"src":"22416:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14089,"name":"bool","nodeType":"ElementaryTypeName","src":"22416:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22393:41:17"},"returnParameters":{"id":14094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14093,"mutability":"mutable","name":"value","nameLocation":"22463:5:17","nodeType":"VariableDeclaration","scope":14095,"src":"22458:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14092,"name":"bool","nodeType":"ElementaryTypeName","src":"22458:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22457:12:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14105,"nodeType":"FunctionDefinition","src":"22664:97:17","nodes":[],"documentation":{"id":14096,"nodeType":"StructuredDocumentation","src":"22476:183:17","text":"Gets the environment variable `name` and parses it as `uint256`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"5e97348f","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22673:5:17","parameters":{"id":14101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14098,"mutability":"mutable","name":"name","nameLocation":"22695:4:17","nodeType":"VariableDeclaration","scope":14105,"src":"22679:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14097,"name":"string","nodeType":"ElementaryTypeName","src":"22679:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14100,"mutability":"mutable","name":"defaultValue","nameLocation":"22709:12:17","nodeType":"VariableDeclaration","scope":14105,"src":"22701:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14099,"name":"uint256","nodeType":"ElementaryTypeName","src":"22701:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22678:44:17"},"returnParameters":{"id":14104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14103,"mutability":"mutable","name":"value","nameLocation":"22754:5:17","nodeType":"VariableDeclaration","scope":14105,"src":"22746:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14102,"name":"uint256","nodeType":"ElementaryTypeName","src":"22746:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22745:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14119,"nodeType":"FunctionDefinition","src":"22989:164:17","nodes":[],"documentation":{"id":14106,"nodeType":"StructuredDocumentation","src":"22767:217:17","text":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"c74e9deb","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22998:5:17","parameters":{"id":14114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14108,"mutability":"mutable","name":"name","nameLocation":"23020:4:17","nodeType":"VariableDeclaration","scope":14119,"src":"23004:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14107,"name":"string","nodeType":"ElementaryTypeName","src":"23004:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14110,"mutability":"mutable","name":"delim","nameLocation":"23042:5:17","nodeType":"VariableDeclaration","scope":14119,"src":"23026:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14109,"name":"string","nodeType":"ElementaryTypeName","src":"23026:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14113,"mutability":"mutable","name":"defaultValue","nameLocation":"23068:12:17","nodeType":"VariableDeclaration","scope":14119,"src":"23049:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14111,"name":"address","nodeType":"ElementaryTypeName","src":"23049:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14112,"nodeType":"ArrayTypeName","src":"23049:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23003:78:17"},"returnParameters":{"id":14118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14117,"mutability":"mutable","name":"value","nameLocation":"23146:5:17","nodeType":"VariableDeclaration","scope":14119,"src":"23129:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14115,"name":"address","nodeType":"ElementaryTypeName","src":"23129:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14116,"nodeType":"ArrayTypeName","src":"23129:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23128:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14133,"nodeType":"FunctionDefinition","src":"23381:164:17","nodes":[],"documentation":{"id":14120,"nodeType":"StructuredDocumentation","src":"23159:217:17","text":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"2281f367","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"23390:5:17","parameters":{"id":14128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14122,"mutability":"mutable","name":"name","nameLocation":"23412:4:17","nodeType":"VariableDeclaration","scope":14133,"src":"23396:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14121,"name":"string","nodeType":"ElementaryTypeName","src":"23396:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14124,"mutability":"mutable","name":"delim","nameLocation":"23434:5:17","nodeType":"VariableDeclaration","scope":14133,"src":"23418:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14123,"name":"string","nodeType":"ElementaryTypeName","src":"23418:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14127,"mutability":"mutable","name":"defaultValue","nameLocation":"23460:12:17","nodeType":"VariableDeclaration","scope":14133,"src":"23441:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23441:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14126,"nodeType":"ArrayTypeName","src":"23441:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"23395:78:17"},"returnParameters":{"id":14132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14131,"mutability":"mutable","name":"value","nameLocation":"23538:5:17","nodeType":"VariableDeclaration","scope":14133,"src":"23521:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23521:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14130,"nodeType":"ArrayTypeName","src":"23521:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"23520:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14147,"nodeType":"FunctionDefinition","src":"23772:162:17","nodes":[],"documentation":{"id":14134,"nodeType":"StructuredDocumentation","src":"23551:216:17","text":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"859216bc","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"23781:5:17","parameters":{"id":14142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14136,"mutability":"mutable","name":"name","nameLocation":"23803:4:17","nodeType":"VariableDeclaration","scope":14147,"src":"23787:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14135,"name":"string","nodeType":"ElementaryTypeName","src":"23787:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14138,"mutability":"mutable","name":"delim","nameLocation":"23825:5:17","nodeType":"VariableDeclaration","scope":14147,"src":"23809:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14137,"name":"string","nodeType":"ElementaryTypeName","src":"23809:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14141,"mutability":"mutable","name":"defaultValue","nameLocation":"23850:12:17","nodeType":"VariableDeclaration","scope":14147,"src":"23832:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14139,"name":"string","nodeType":"ElementaryTypeName","src":"23832:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14140,"nodeType":"ArrayTypeName","src":"23832:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"23786:77:17"},"returnParameters":{"id":14146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14145,"mutability":"mutable","name":"value","nameLocation":"23927:5:17","nodeType":"VariableDeclaration","scope":14147,"src":"23911:21:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14143,"name":"string","nodeType":"ElementaryTypeName","src":"23911:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14144,"nodeType":"ArrayTypeName","src":"23911:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"23910:23:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14161,"nodeType":"FunctionDefinition","src":"24160:160:17","nodes":[],"documentation":{"id":14148,"nodeType":"StructuredDocumentation","src":"23940:215:17","text":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"64bc3e64","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24169:5:17","parameters":{"id":14156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14150,"mutability":"mutable","name":"name","nameLocation":"24191:4:17","nodeType":"VariableDeclaration","scope":14161,"src":"24175:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14149,"name":"string","nodeType":"ElementaryTypeName","src":"24175:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14152,"mutability":"mutable","name":"delim","nameLocation":"24213:5:17","nodeType":"VariableDeclaration","scope":14161,"src":"24197:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14151,"name":"string","nodeType":"ElementaryTypeName","src":"24197:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14155,"mutability":"mutable","name":"defaultValue","nameLocation":"24237:12:17","nodeType":"VariableDeclaration","scope":14161,"src":"24220:29:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14153,"name":"bytes","nodeType":"ElementaryTypeName","src":"24220:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14154,"nodeType":"ArrayTypeName","src":"24220:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"24174:76:17"},"returnParameters":{"id":14160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14159,"mutability":"mutable","name":"value","nameLocation":"24313:5:17","nodeType":"VariableDeclaration","scope":14161,"src":"24298:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14157,"name":"bytes","nodeType":"ElementaryTypeName","src":"24298:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14158,"nodeType":"ArrayTypeName","src":"24298:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"24297:22:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14171,"nodeType":"FunctionDefinition","src":"24513:95:17","nodes":[],"documentation":{"id":14162,"nodeType":"StructuredDocumentation","src":"24326:182:17","text":"Gets the environment variable `name` and parses it as `int256`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"bbcb713e","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24522:5:17","parameters":{"id":14167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14164,"mutability":"mutable","name":"name","nameLocation":"24544:4:17","nodeType":"VariableDeclaration","scope":14171,"src":"24528:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14163,"name":"string","nodeType":"ElementaryTypeName","src":"24528:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14166,"mutability":"mutable","name":"defaultValue","nameLocation":"24557:12:17","nodeType":"VariableDeclaration","scope":14171,"src":"24550:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14165,"name":"int256","nodeType":"ElementaryTypeName","src":"24550:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24527:43:17"},"returnParameters":{"id":14170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14169,"mutability":"mutable","name":"value","nameLocation":"24601:5:17","nodeType":"VariableDeclaration","scope":14171,"src":"24594:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14168,"name":"int256","nodeType":"ElementaryTypeName","src":"24594:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24593:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14181,"nodeType":"FunctionDefinition","src":"24802:97:17","nodes":[],"documentation":{"id":14172,"nodeType":"StructuredDocumentation","src":"24614:183:17","text":"Gets the environment variable `name` and parses it as `address`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"561fe540","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24811:5:17","parameters":{"id":14177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14174,"mutability":"mutable","name":"name","nameLocation":"24833:4:17","nodeType":"VariableDeclaration","scope":14181,"src":"24817:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14173,"name":"string","nodeType":"ElementaryTypeName","src":"24817:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14176,"mutability":"mutable","name":"defaultValue","nameLocation":"24847:12:17","nodeType":"VariableDeclaration","scope":14181,"src":"24839:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14175,"name":"address","nodeType":"ElementaryTypeName","src":"24839:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24816:44:17"},"returnParameters":{"id":14180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14179,"mutability":"mutable","name":"value","nameLocation":"24892:5:17","nodeType":"VariableDeclaration","scope":14181,"src":"24884:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14178,"name":"address","nodeType":"ElementaryTypeName","src":"24884:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24883:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14191,"nodeType":"FunctionDefinition","src":"25093:97:17","nodes":[],"documentation":{"id":14182,"nodeType":"StructuredDocumentation","src":"24905:183:17","text":"Gets the environment variable `name` and parses it as `bytes32`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"b4a85892","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"25102:5:17","parameters":{"id":14187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14184,"mutability":"mutable","name":"name","nameLocation":"25124:4:17","nodeType":"VariableDeclaration","scope":14191,"src":"25108:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14183,"name":"string","nodeType":"ElementaryTypeName","src":"25108:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14186,"mutability":"mutable","name":"defaultValue","nameLocation":"25138:12:17","nodeType":"VariableDeclaration","scope":14191,"src":"25130:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25130:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"25107:44:17"},"returnParameters":{"id":14190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14189,"mutability":"mutable","name":"value","nameLocation":"25183:5:17","nodeType":"VariableDeclaration","scope":14191,"src":"25175:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25175:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"25174:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14201,"nodeType":"FunctionDefinition","src":"25383:111:17","nodes":[],"documentation":{"id":14192,"nodeType":"StructuredDocumentation","src":"25196:182:17","text":"Gets the environment variable `name` and parses it as `string`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"d145736c","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"25392:5:17","parameters":{"id":14197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14194,"mutability":"mutable","name":"name","nameLocation":"25414:4:17","nodeType":"VariableDeclaration","scope":14201,"src":"25398:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14193,"name":"string","nodeType":"ElementaryTypeName","src":"25398:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14196,"mutability":"mutable","name":"defaultValue","nameLocation":"25436:12:17","nodeType":"VariableDeclaration","scope":14201,"src":"25420:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14195,"name":"string","nodeType":"ElementaryTypeName","src":"25420:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25397:52:17"},"returnParameters":{"id":14200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14199,"mutability":"mutable","name":"value","nameLocation":"25487:5:17","nodeType":"VariableDeclaration","scope":14201,"src":"25473:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14198,"name":"string","nodeType":"ElementaryTypeName","src":"25473:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25472:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14211,"nodeType":"FunctionDefinition","src":"25686:109:17","nodes":[],"documentation":{"id":14202,"nodeType":"StructuredDocumentation","src":"25500:181:17","text":"Gets the environment variable `name` and parses it as `bytes`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"b3e47705","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"25695:5:17","parameters":{"id":14207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14204,"mutability":"mutable","name":"name","nameLocation":"25717:4:17","nodeType":"VariableDeclaration","scope":14211,"src":"25701:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14203,"name":"string","nodeType":"ElementaryTypeName","src":"25701:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14206,"mutability":"mutable","name":"defaultValue","nameLocation":"25738:12:17","nodeType":"VariableDeclaration","scope":14211,"src":"25723:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14205,"name":"bytes","nodeType":"ElementaryTypeName","src":"25723:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25700:51:17"},"returnParameters":{"id":14210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14209,"mutability":"mutable","name":"value","nameLocation":"25788:5:17","nodeType":"VariableDeclaration","scope":14211,"src":"25775:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14208,"name":"bytes","nodeType":"ElementaryTypeName","src":"25775:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25774:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14225,"nodeType":"FunctionDefinition","src":"26020:158:17","nodes":[],"documentation":{"id":14212,"nodeType":"StructuredDocumentation","src":"25801:214:17","text":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"eb85e83b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"26029:5:17","parameters":{"id":14220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14214,"mutability":"mutable","name":"name","nameLocation":"26051:4:17","nodeType":"VariableDeclaration","scope":14225,"src":"26035:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14213,"name":"string","nodeType":"ElementaryTypeName","src":"26035:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14216,"mutability":"mutable","name":"delim","nameLocation":"26073:5:17","nodeType":"VariableDeclaration","scope":14225,"src":"26057:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14215,"name":"string","nodeType":"ElementaryTypeName","src":"26057:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14219,"mutability":"mutable","name":"defaultValue","nameLocation":"26096:12:17","nodeType":"VariableDeclaration","scope":14225,"src":"26080:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14217,"name":"bool","nodeType":"ElementaryTypeName","src":"26080:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14218,"nodeType":"ArrayTypeName","src":"26080:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"26034:75:17"},"returnParameters":{"id":14224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14223,"mutability":"mutable","name":"value","nameLocation":"26171:5:17","nodeType":"VariableDeclaration","scope":14225,"src":"26157:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14221,"name":"bool","nodeType":"ElementaryTypeName","src":"26157:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14222,"nodeType":"ArrayTypeName","src":"26157:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"26156:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14239,"nodeType":"FunctionDefinition","src":"26406:164:17","nodes":[],"documentation":{"id":14226,"nodeType":"StructuredDocumentation","src":"26184:217:17","text":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"74318528","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"26415:5:17","parameters":{"id":14234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14228,"mutability":"mutable","name":"name","nameLocation":"26437:4:17","nodeType":"VariableDeclaration","scope":14239,"src":"26421:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14227,"name":"string","nodeType":"ElementaryTypeName","src":"26421:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14230,"mutability":"mutable","name":"delim","nameLocation":"26459:5:17","nodeType":"VariableDeclaration","scope":14239,"src":"26443:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14229,"name":"string","nodeType":"ElementaryTypeName","src":"26443:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14233,"mutability":"mutable","name":"defaultValue","nameLocation":"26485:12:17","nodeType":"VariableDeclaration","scope":14239,"src":"26466:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14231,"name":"uint256","nodeType":"ElementaryTypeName","src":"26466:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14232,"nodeType":"ArrayTypeName","src":"26466:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"26420:78:17"},"returnParameters":{"id":14238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14237,"mutability":"mutable","name":"value","nameLocation":"26563:5:17","nodeType":"VariableDeclaration","scope":14239,"src":"26546:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14235,"name":"uint256","nodeType":"ElementaryTypeName","src":"26546:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14236,"nodeType":"ArrayTypeName","src":"26546:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"26545:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14253,"nodeType":"FunctionDefinition","src":"26797:162:17","nodes":[],"documentation":{"id":14240,"nodeType":"StructuredDocumentation","src":"26576:216:17","text":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"4700d74b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"26806:5:17","parameters":{"id":14248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14242,"mutability":"mutable","name":"name","nameLocation":"26828:4:17","nodeType":"VariableDeclaration","scope":14253,"src":"26812:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14241,"name":"string","nodeType":"ElementaryTypeName","src":"26812:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14244,"mutability":"mutable","name":"delim","nameLocation":"26850:5:17","nodeType":"VariableDeclaration","scope":14253,"src":"26834:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14243,"name":"string","nodeType":"ElementaryTypeName","src":"26834:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14247,"mutability":"mutable","name":"defaultValue","nameLocation":"26875:12:17","nodeType":"VariableDeclaration","scope":14253,"src":"26857:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14245,"name":"int256","nodeType":"ElementaryTypeName","src":"26857:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14246,"nodeType":"ArrayTypeName","src":"26857:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"26811:77:17"},"returnParameters":{"id":14252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14251,"mutability":"mutable","name":"value","nameLocation":"26952:5:17","nodeType":"VariableDeclaration","scope":14253,"src":"26936:21:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14249,"name":"int256","nodeType":"ElementaryTypeName","src":"26936:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14250,"nodeType":"ArrayTypeName","src":"26936:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"26935:23:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14261,"nodeType":"FunctionDefinition","src":"27107:85:17","nodes":[],"documentation":{"id":14254,"nodeType":"StructuredDocumentation","src":"26965:137:17","text":"Gets the environment variable `name` and parses it as `string`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"f877cb19","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"27116:9:17","parameters":{"id":14257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14256,"mutability":"mutable","name":"name","nameLocation":"27142:4:17","nodeType":"VariableDeclaration","scope":14261,"src":"27126:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14255,"name":"string","nodeType":"ElementaryTypeName","src":"27126:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27125:22:17"},"returnParameters":{"id":14260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14259,"mutability":"mutable","name":"value","nameLocation":"27185:5:17","nodeType":"VariableDeclaration","scope":14261,"src":"27171:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14258,"name":"string","nodeType":"ElementaryTypeName","src":"27171:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27170:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14272,"nodeType":"FunctionDefinition","src":"27374:110:17","nodes":[],"documentation":{"id":14262,"nodeType":"StructuredDocumentation","src":"27198:171:17","text":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"14b02bc9","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"27383:9:17","parameters":{"id":14267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14264,"mutability":"mutable","name":"name","nameLocation":"27409:4:17","nodeType":"VariableDeclaration","scope":14272,"src":"27393:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14263,"name":"string","nodeType":"ElementaryTypeName","src":"27393:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14266,"mutability":"mutable","name":"delim","nameLocation":"27431:5:17","nodeType":"VariableDeclaration","scope":14272,"src":"27415:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14265,"name":"string","nodeType":"ElementaryTypeName","src":"27415:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27392:45:17"},"returnParameters":{"id":14271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14270,"mutability":"mutable","name":"value","nameLocation":"27477:5:17","nodeType":"VariableDeclaration","scope":14272,"src":"27461:21:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14268,"name":"string","nodeType":"ElementaryTypeName","src":"27461:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14269,"nodeType":"ArrayTypeName","src":"27461:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"27460:23:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14280,"nodeType":"FunctionDefinition","src":"27633:77:17","nodes":[],"documentation":{"id":14273,"nodeType":"StructuredDocumentation","src":"27490:138:17","text":"Gets the environment variable `name` and parses it as `uint256`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"c1978d1f","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"27642:7:17","parameters":{"id":14276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14275,"mutability":"mutable","name":"name","nameLocation":"27666:4:17","nodeType":"VariableDeclaration","scope":14280,"src":"27650:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14274,"name":"string","nodeType":"ElementaryTypeName","src":"27650:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27649:22:17"},"returnParameters":{"id":14279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14278,"mutability":"mutable","name":"value","nameLocation":"27703:5:17","nodeType":"VariableDeclaration","scope":14280,"src":"27695:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14277,"name":"uint256","nodeType":"ElementaryTypeName","src":"27695:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27694:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14291,"nodeType":"FunctionDefinition","src":"27893:109:17","nodes":[],"documentation":{"id":14281,"nodeType":"StructuredDocumentation","src":"27716:172:17","text":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"f3dec099","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"27902:7:17","parameters":{"id":14286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14283,"mutability":"mutable","name":"name","nameLocation":"27926:4:17","nodeType":"VariableDeclaration","scope":14291,"src":"27910:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14282,"name":"string","nodeType":"ElementaryTypeName","src":"27910:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14285,"mutability":"mutable","name":"delim","nameLocation":"27948:5:17","nodeType":"VariableDeclaration","scope":14291,"src":"27932:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14284,"name":"string","nodeType":"ElementaryTypeName","src":"27932:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27909:45:17"},"returnParameters":{"id":14290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14289,"mutability":"mutable","name":"value","nameLocation":"27995:5:17","nodeType":"VariableDeclaration","scope":14291,"src":"27978:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14287,"name":"uint256","nodeType":"ElementaryTypeName","src":"27978:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14288,"nodeType":"ArrayTypeName","src":"27978:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"27977:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14300,"nodeType":"FunctionDefinition","src":"28079:77:17","nodes":[],"documentation":{"id":14292,"nodeType":"StructuredDocumentation","src":"28008:66:17","text":"Returns true if `forge` command was executed in given context."},"functionSelector":"64af255d","implemented":false,"kind":"function","modifiers":[],"name":"isContext","nameLocation":"28088:9:17","parameters":{"id":14296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14295,"mutability":"mutable","name":"context","nameLocation":"28111:7:17","nodeType":"VariableDeclaration","scope":14300,"src":"28098:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$13509","typeString":"enum VmSafe.ForgeContext"},"typeName":{"id":14294,"nodeType":"UserDefinedTypeName","pathNode":{"id":14293,"name":"ForgeContext","nameLocations":["28098:12:17"],"nodeType":"IdentifierPath","referencedDeclaration":13509,"src":"28098:12:17"},"referencedDeclaration":13509,"src":"28098:12:17","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$13509","typeString":"enum VmSafe.ForgeContext"}},"visibility":"internal"}],"src":"28097:22:17"},"returnParameters":{"id":14299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14298,"mutability":"mutable","name":"result","nameLocation":"28148:6:17","nodeType":"VariableDeclaration","scope":14300,"src":"28143:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14297,"name":"bool","nodeType":"ElementaryTypeName","src":"28143:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28142:13:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14308,"nodeType":"FunctionDefinition","src":"28234:76:17","nodes":[],"documentation":{"id":14301,"nodeType":"StructuredDocumentation","src":"28162:67:17","text":"Resolves the env variable placeholders of a given input string."},"functionSelector":"ddd2128d","implemented":false,"kind":"function","modifiers":[],"name":"resolveEnv","nameLocation":"28243:10:17","parameters":{"id":14304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14303,"mutability":"mutable","name":"input","nameLocation":"28270:5:17","nodeType":"VariableDeclaration","scope":14308,"src":"28254:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14302,"name":"string","nodeType":"ElementaryTypeName","src":"28254:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28253:23:17"},"returnParameters":{"id":14307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14308,"src":"28295:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14305,"name":"string","nodeType":"ElementaryTypeName","src":"28295:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28294:15:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14316,"nodeType":"FunctionDefinition","src":"28352:70:17","nodes":[],"documentation":{"id":14309,"nodeType":"StructuredDocumentation","src":"28316:31:17","text":"Sets environment variables."},"functionSelector":"3d5923ee","implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"28361:6:17","parameters":{"id":14314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14311,"mutability":"mutable","name":"name","nameLocation":"28384:4:17","nodeType":"VariableDeclaration","scope":14316,"src":"28368:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14310,"name":"string","nodeType":"ElementaryTypeName","src":"28368:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14313,"mutability":"mutable","name":"value","nameLocation":"28406:5:17","nodeType":"VariableDeclaration","scope":14316,"src":"28390:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14312,"name":"string","nodeType":"ElementaryTypeName","src":"28390:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28367:45:17"},"returnParameters":{"id":14315,"nodeType":"ParameterList","parameters":[],"src":"28421:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14328,"nodeType":"FunctionDefinition","src":"28554:114:17","nodes":[],"documentation":{"id":14317,"nodeType":"StructuredDocumentation","src":"28458:91:17","text":"Gets all accessed reads and write slot from a `vm.record` session, for a given address."},"functionSelector":"65bc9481","implemented":false,"kind":"function","modifiers":[],"name":"accesses","nameLocation":"28563:8:17","parameters":{"id":14320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14319,"mutability":"mutable","name":"target","nameLocation":"28580:6:17","nodeType":"VariableDeclaration","scope":14328,"src":"28572:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14318,"name":"address","nodeType":"ElementaryTypeName","src":"28572:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28571:16:17"},"returnParameters":{"id":14327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14323,"mutability":"mutable","name":"readSlots","nameLocation":"28628:9:17","nodeType":"VariableDeclaration","scope":14328,"src":"28611:26:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28611:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14322,"nodeType":"ArrayTypeName","src":"28611:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14326,"mutability":"mutable","name":"writeSlots","nameLocation":"28656:10:17","nodeType":"VariableDeclaration","scope":14328,"src":"28639:27:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28639:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14325,"nodeType":"ArrayTypeName","src":"28639:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"28610:57:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14336,"nodeType":"FunctionDefinition","src":"28724:74:17","nodes":[],"documentation":{"id":14329,"nodeType":"StructuredDocumentation","src":"28674:45:17","text":"Gets the address for a given private key."},"functionSelector":"ffa18649","implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"28733:4:17","parameters":{"id":14332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14331,"mutability":"mutable","name":"privateKey","nameLocation":"28746:10:17","nodeType":"VariableDeclaration","scope":14336,"src":"28738:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14330,"name":"uint256","nodeType":"ElementaryTypeName","src":"28738:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28737:20:17"},"returnParameters":{"id":14335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14334,"mutability":"mutable","name":"keyAddr","nameLocation":"28789:7:17","nodeType":"VariableDeclaration","scope":14336,"src":"28781:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14333,"name":"address","nodeType":"ElementaryTypeName","src":"28781:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28780:17:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14353,"nodeType":"FunctionDefinition","src":"28861:173:17","nodes":[],"documentation":{"id":14337,"nodeType":"StructuredDocumentation","src":"28804:52:17","text":"Gets all the logs according to specified filter."},"functionSelector":"35e1349b","implemented":false,"kind":"function","modifiers":[],"name":"eth_getLogs","nameLocation":"28870:11:17","parameters":{"id":14347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14339,"mutability":"mutable","name":"fromBlock","nameLocation":"28890:9:17","nodeType":"VariableDeclaration","scope":14353,"src":"28882:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14338,"name":"uint256","nodeType":"ElementaryTypeName","src":"28882:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14341,"mutability":"mutable","name":"toBlock","nameLocation":"28909:7:17","nodeType":"VariableDeclaration","scope":14353,"src":"28901:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14340,"name":"uint256","nodeType":"ElementaryTypeName","src":"28901:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14343,"mutability":"mutable","name":"target","nameLocation":"28926:6:17","nodeType":"VariableDeclaration","scope":14353,"src":"28918:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14342,"name":"address","nodeType":"ElementaryTypeName","src":"28918:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14346,"mutability":"mutable","name":"topics","nameLocation":"28953:6:17","nodeType":"VariableDeclaration","scope":14353,"src":"28934:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28934:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14345,"nodeType":"ArrayTypeName","src":"28934:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"28881:79:17"},"returnParameters":{"id":14352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14351,"mutability":"mutable","name":"logs","nameLocation":"29028:4:17","nodeType":"VariableDeclaration","scope":14353,"src":"29008:24:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$13550_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.EthGetLogs[]"},"typeName":{"baseType":{"id":14349,"nodeType":"UserDefinedTypeName","pathNode":{"id":14348,"name":"EthGetLogs","nameLocations":["29008:10:17"],"nodeType":"IdentifierPath","referencedDeclaration":13550,"src":"29008:10:17"},"referencedDeclaration":13550,"src":"29008:10:17","typeDescriptions":{"typeIdentifier":"t_struct$_EthGetLogs_$13550_storage_ptr","typeString":"struct VmSafe.EthGetLogs"}},"id":14350,"nodeType":"ArrayTypeName","src":"29008:12:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$13550_storage_$dyn_storage_ptr","typeString":"struct VmSafe.EthGetLogs[]"}},"visibility":"internal"}],"src":"29007:26:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14359,"nodeType":"FunctionDefinition","src":"29371:70:17","nodes":[],"documentation":{"id":14354,"nodeType":"StructuredDocumentation","src":"29040:326:17","text":"Gets the current `block.blobbasefee`.\n You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"1f6d6ef7","implemented":false,"kind":"function","modifiers":[],"name":"getBlobBaseFee","nameLocation":"29380:14:17","parameters":{"id":14355,"nodeType":"ParameterList","parameters":[],"src":"29394:2:17"},"returnParameters":{"id":14358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14357,"mutability":"mutable","name":"blobBaseFee","nameLocation":"29428:11:17","nodeType":"VariableDeclaration","scope":14359,"src":"29420:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14356,"name":"uint256","nodeType":"ElementaryTypeName","src":"29420:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29419:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14365,"nodeType":"FunctionDefinition","src":"29756:65:17","nodes":[],"documentation":{"id":14360,"nodeType":"StructuredDocumentation","src":"29447:304:17","text":"Gets the current `block.number`.\n You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"29765:14:17","parameters":{"id":14361,"nodeType":"ParameterList","parameters":[],"src":"29779:2:17"},"returnParameters":{"id":14364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14363,"mutability":"mutable","name":"height","nameLocation":"29813:6:17","nodeType":"VariableDeclaration","scope":14365,"src":"29805:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14362,"name":"uint256","nodeType":"ElementaryTypeName","src":"29805:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29804:16:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14371,"nodeType":"FunctionDefinition","src":"30145:71:17","nodes":[],"documentation":{"id":14366,"nodeType":"StructuredDocumentation","src":"29827:313:17","text":"Gets the current `block.timestamp`.\n You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"796b89b9","implemented":false,"kind":"function","modifiers":[],"name":"getBlockTimestamp","nameLocation":"30154:17:17","parameters":{"id":14367,"nodeType":"ParameterList","parameters":[],"src":"30171:2:17"},"returnParameters":{"id":14370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14369,"mutability":"mutable","name":"timestamp","nameLocation":"30205:9:17","nodeType":"VariableDeclaration","scope":14371,"src":"30197:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14368,"name":"uint256","nodeType":"ElementaryTypeName","src":"30197:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30196:19:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14377,"nodeType":"FunctionDefinition","src":"30609:67:17","nodes":[],"documentation":{"id":14372,"nodeType":"StructuredDocumentation","src":"30222:382:17","text":"Gets the current `block.chainid` of the currently selected environment.\n You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed\n to be constant across a transaction, and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"30618:10:17","parameters":{"id":14373,"nodeType":"ParameterList","parameters":[],"src":"30628:2:17"},"returnParameters":{"id":14376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14375,"mutability":"mutable","name":"blockChainId","nameLocation":"30662:12:17","nodeType":"VariableDeclaration","scope":14377,"src":"30654:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14374,"name":"uint256","nodeType":"ElementaryTypeName","src":"30654:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30653:22:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14383,"nodeType":"FunctionDefinition","src":"30824:67:17","nodes":[],"documentation":{"id":14378,"nodeType":"StructuredDocumentation","src":"30682:137:17","text":"Returns the test or script execution evm version.\n **Note:** The execution evm version is not the same as the compilation one."},"functionSelector":"aa2bb222","implemented":false,"kind":"function","modifiers":[],"name":"getEvmVersion","nameLocation":"30833:13:17","parameters":{"id":14379,"nodeType":"ParameterList","parameters":[],"src":"30846:2:17"},"returnParameters":{"id":14382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14381,"mutability":"mutable","name":"evm","nameLocation":"30886:3:17","nodeType":"VariableDeclaration","scope":14383,"src":"30872:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14380,"name":"string","nodeType":"ElementaryTypeName","src":"30872:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30871:19:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14397,"nodeType":"FunctionDefinition","src":"30984:159:17","nodes":[],"documentation":{"id":14384,"nodeType":"StructuredDocumentation","src":"30897:82:17","text":"Gets the map key and parent of a mapping at a given slot, for a given address."},"functionSelector":"876e24e6","implemented":false,"kind":"function","modifiers":[],"name":"getMappingKeyAndParentOf","nameLocation":"30993:24:17","parameters":{"id":14389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14386,"mutability":"mutable","name":"target","nameLocation":"31026:6:17","nodeType":"VariableDeclaration","scope":14397,"src":"31018:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14385,"name":"address","nodeType":"ElementaryTypeName","src":"31018:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14388,"mutability":"mutable","name":"elementSlot","nameLocation":"31042:11:17","nodeType":"VariableDeclaration","scope":14397,"src":"31034:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31034:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31017:37:17"},"returnParameters":{"id":14396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14391,"mutability":"mutable","name":"found","nameLocation":"31107:5:17","nodeType":"VariableDeclaration","scope":14397,"src":"31102:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14390,"name":"bool","nodeType":"ElementaryTypeName","src":"31102:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14393,"mutability":"mutable","name":"key","nameLocation":"31122:3:17","nodeType":"VariableDeclaration","scope":14397,"src":"31114:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31114:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14395,"mutability":"mutable","name":"parent","nameLocation":"31135:6:17","nodeType":"VariableDeclaration","scope":14397,"src":"31127:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31127:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31101:41:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14407,"nodeType":"FunctionDefinition","src":"31240:102:17","nodes":[],"documentation":{"id":14398,"nodeType":"StructuredDocumentation","src":"31149:86:17","text":"Gets the number of elements in the mapping at the given slot, for a given address."},"functionSelector":"2f2fd63f","implemented":false,"kind":"function","modifiers":[],"name":"getMappingLength","nameLocation":"31249:16:17","parameters":{"id":14403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14400,"mutability":"mutable","name":"target","nameLocation":"31274:6:17","nodeType":"VariableDeclaration","scope":14407,"src":"31266:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14399,"name":"address","nodeType":"ElementaryTypeName","src":"31266:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14402,"mutability":"mutable","name":"mappingSlot","nameLocation":"31290:11:17","nodeType":"VariableDeclaration","scope":14407,"src":"31282:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31282:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31265:37:17"},"returnParameters":{"id":14406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14405,"mutability":"mutable","name":"length","nameLocation":"31334:6:17","nodeType":"VariableDeclaration","scope":14407,"src":"31326:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14404,"name":"uint256","nodeType":"ElementaryTypeName","src":"31326:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31325:16:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14419,"nodeType":"FunctionDefinition","src":"31546:114:17","nodes":[],"documentation":{"id":14408,"nodeType":"StructuredDocumentation","src":"31348:193:17","text":"Gets the elements at index idx of the mapping at the given slot, for a given address. The\n index must be less than the length of the mapping (i.e. the number of keys in the mapping)."},"functionSelector":"ebc73ab4","implemented":false,"kind":"function","modifiers":[],"name":"getMappingSlotAt","nameLocation":"31555:16:17","parameters":{"id":14415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14410,"mutability":"mutable","name":"target","nameLocation":"31580:6:17","nodeType":"VariableDeclaration","scope":14419,"src":"31572:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14409,"name":"address","nodeType":"ElementaryTypeName","src":"31572:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14412,"mutability":"mutable","name":"mappingSlot","nameLocation":"31596:11:17","nodeType":"VariableDeclaration","scope":14419,"src":"31588:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31588:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14414,"mutability":"mutable","name":"idx","nameLocation":"31617:3:17","nodeType":"VariableDeclaration","scope":14419,"src":"31609:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14413,"name":"uint256","nodeType":"ElementaryTypeName","src":"31609:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31571:50:17"},"returnParameters":{"id":14418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14417,"mutability":"mutable","name":"value","nameLocation":"31653:5:17","nodeType":"VariableDeclaration","scope":14419,"src":"31645:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31645:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31644:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14427,"nodeType":"FunctionDefinition","src":"31704:72:17","nodes":[],"documentation":{"id":14420,"nodeType":"StructuredDocumentation","src":"31666:33:17","text":"Gets the nonce of an account."},"functionSelector":"2d0335ab","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"31713:8:17","parameters":{"id":14423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14422,"mutability":"mutable","name":"account","nameLocation":"31730:7:17","nodeType":"VariableDeclaration","scope":14427,"src":"31722:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14421,"name":"address","nodeType":"ElementaryTypeName","src":"31722:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31721:17:17"},"returnParameters":{"id":14426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14425,"mutability":"mutable","name":"nonce","nameLocation":"31769:5:17","nodeType":"VariableDeclaration","scope":14427,"src":"31762:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14424,"name":"uint64","nodeType":"ElementaryTypeName","src":"31762:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"31761:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14436,"nodeType":"FunctionDefinition","src":"31819:79:17","nodes":[],"documentation":{"id":14428,"nodeType":"StructuredDocumentation","src":"31782:32:17","text":"Get the nonce of a `Wallet`."},"functionSelector":"a5748aad","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"31828:8:17","parameters":{"id":14432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14431,"mutability":"mutable","name":"wallet","nameLocation":"31853:6:17","nodeType":"VariableDeclaration","scope":14436,"src":"31837:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":14430,"nodeType":"UserDefinedTypeName","pathNode":{"id":14429,"name":"Wallet","nameLocations":["31837:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"31837:6:17"},"referencedDeclaration":13588,"src":"31837:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"31836:24:17"},"returnParameters":{"id":14435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14434,"mutability":"mutable","name":"nonce","nameLocation":"31891:5:17","nodeType":"VariableDeclaration","scope":14436,"src":"31884:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14433,"name":"uint64","nodeType":"ElementaryTypeName","src":"31884:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"31883:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14444,"nodeType":"FunctionDefinition","src":"32062:95:17","nodes":[],"documentation":{"id":14437,"nodeType":"StructuredDocumentation","src":"31904:153:17","text":"Gets the RLP encoded block header for a given block number.\n Returns the block header in the same format as `cast block --raw`."},"functionSelector":"2c667606","implemented":false,"kind":"function","modifiers":[],"name":"getRawBlockHeader","nameLocation":"32071:17:17","parameters":{"id":14440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14439,"mutability":"mutable","name":"blockNumber","nameLocation":"32097:11:17","nodeType":"VariableDeclaration","scope":14444,"src":"32089:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14438,"name":"uint256","nodeType":"ElementaryTypeName","src":"32089:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32088:21:17"},"returnParameters":{"id":14443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14442,"mutability":"mutable","name":"rlpHeader","nameLocation":"32146:9:17","nodeType":"VariableDeclaration","scope":14444,"src":"32133:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14441,"name":"bytes","nodeType":"ElementaryTypeName","src":"32133:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32132:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14452,"nodeType":"FunctionDefinition","src":"32199:69:17","nodes":[],"documentation":{"id":14445,"nodeType":"StructuredDocumentation","src":"32163:31:17","text":"Gets all the recorded logs."},"functionSelector":"191553a4","implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"32208:15:17","parameters":{"id":14446,"nodeType":"ParameterList","parameters":[],"src":"32223:2:17"},"returnParameters":{"id":14451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14450,"mutability":"mutable","name":"logs","nameLocation":"32262:4:17","nodeType":"VariableDeclaration","scope":14452,"src":"32249:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13523_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":14448,"nodeType":"UserDefinedTypeName","pathNode":{"id":14447,"name":"Log","nameLocations":["32249:3:17"],"nodeType":"IdentifierPath","referencedDeclaration":13523,"src":"32249:3:17"},"referencedDeclaration":13523,"src":"32249:3:17","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$13523_storage_ptr","typeString":"struct VmSafe.Log"}},"id":14449,"nodeType":"ArrayTypeName","src":"32249:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13523_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"32248:19:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14458,"nodeType":"FunctionDefinition","src":"32353:67:17","nodes":[],"documentation":{"id":14453,"nodeType":"StructuredDocumentation","src":"32274:74:17","text":"Returns state diffs from current `vm.startStateDiffRecording` session."},"functionSelector":"80df01cc","implemented":false,"kind":"function","modifiers":[],"name":"getStateDiff","nameLocation":"32362:12:17","parameters":{"id":14454,"nodeType":"ParameterList","parameters":[],"src":"32374:2:17"},"returnParameters":{"id":14457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14456,"mutability":"mutable","name":"diff","nameLocation":"32414:4:17","nodeType":"VariableDeclaration","scope":14458,"src":"32400:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14455,"name":"string","nodeType":"ElementaryTypeName","src":"32400:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32399:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14464,"nodeType":"FunctionDefinition","src":"32521:71:17","nodes":[],"documentation":{"id":14459,"nodeType":"StructuredDocumentation","src":"32426:90:17","text":"Returns state diffs from current `vm.startStateDiffRecording` session, in json format."},"functionSelector":"f54fe009","implemented":false,"kind":"function","modifiers":[],"name":"getStateDiffJson","nameLocation":"32530:16:17","parameters":{"id":14460,"nodeType":"ParameterList","parameters":[],"src":"32546:2:17"},"returnParameters":{"id":14463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14462,"mutability":"mutable","name":"diff","nameLocation":"32586:4:17","nodeType":"VariableDeclaration","scope":14464,"src":"32572:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14461,"name":"string","nodeType":"ElementaryTypeName","src":"32572:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32571:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14472,"nodeType":"FunctionDefinition","src":"32692:93:17","nodes":[],"documentation":{"id":14465,"nodeType":"StructuredDocumentation","src":"32598:89:17","text":"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session"},"functionSelector":"2899b1d0","implemented":false,"kind":"function","modifiers":[],"name":"getStorageAccesses","nameLocation":"32701:18:17","parameters":{"id":14466,"nodeType":"ParameterList","parameters":[],"src":"32719:2:17"},"returnParameters":{"id":14471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14470,"mutability":"mutable","name":"storageAccesses","nameLocation":"32768:15:17","nodeType":"VariableDeclaration","scope":14472,"src":"32745:38:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13662_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.StorageAccess[]"},"typeName":{"baseType":{"id":14468,"nodeType":"UserDefinedTypeName","pathNode":{"id":14467,"name":"StorageAccess","nameLocations":["32745:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":13662,"src":"32745:13:17"},"referencedDeclaration":13662,"src":"32745:13:17","typeDescriptions":{"typeIdentifier":"t_struct$_StorageAccess_$13662_storage_ptr","typeString":"struct VmSafe.StorageAccess"}},"id":14469,"nodeType":"ArrayTypeName","src":"32745:15:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13662_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"}},"visibility":"internal"}],"src":"32744:40:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14483,"nodeType":"FunctionDefinition","src":"32869:142:17","nodes":[],"documentation":{"id":14473,"nodeType":"StructuredDocumentation","src":"32791:73:17","text":"Returns an array of storage slots occupied by the specified variable."},"functionSelector":"efa136d9","implemented":false,"kind":"function","modifiers":[],"name":"getStorageSlots","nameLocation":"32878:15:17","parameters":{"id":14478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14475,"mutability":"mutable","name":"target","nameLocation":"32902:6:17","nodeType":"VariableDeclaration","scope":14483,"src":"32894:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14474,"name":"address","nodeType":"ElementaryTypeName","src":"32894:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14477,"mutability":"mutable","name":"variableName","nameLocation":"32926:12:17","nodeType":"VariableDeclaration","scope":14483,"src":"32910:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14476,"name":"string","nodeType":"ElementaryTypeName","src":"32910:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32893:46:17"},"returnParameters":{"id":14482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14481,"mutability":"mutable","name":"slots","nameLocation":"33004:5:17","nodeType":"VariableDeclaration","scope":14483,"src":"32987:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14479,"name":"uint256","nodeType":"ElementaryTypeName","src":"32987:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14480,"nodeType":"ArrayTypeName","src":"32987:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"32986:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14490,"nodeType":"FunctionDefinition","src":"33089:62:17","nodes":[],"documentation":{"id":14484,"nodeType":"StructuredDocumentation","src":"33017:67:17","text":"Gets the gas used in the last call from the callee perspective."},"functionSelector":"2b589b28","implemented":false,"kind":"function","modifiers":[],"name":"lastCallGas","nameLocation":"33098:11:17","parameters":{"id":14485,"nodeType":"ParameterList","parameters":[],"src":"33109:2:17"},"returnParameters":{"id":14489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14488,"mutability":"mutable","name":"gas","nameLocation":"33146:3:17","nodeType":"VariableDeclaration","scope":14490,"src":"33135:14:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$13674_memory_ptr","typeString":"struct VmSafe.Gas"},"typeName":{"id":14487,"nodeType":"UserDefinedTypeName","pathNode":{"id":14486,"name":"Gas","nameLocations":["33135:3:17"],"nodeType":"IdentifierPath","referencedDeclaration":13674,"src":"33135:3:17"},"referencedDeclaration":13674,"src":"33135:3:17","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$13674_storage_ptr","typeString":"struct VmSafe.Gas"}},"visibility":"internal"}],"src":"33134:16:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14500,"nodeType":"FunctionDefinition","src":"33203:81:17","nodes":[],"documentation":{"id":14491,"nodeType":"StructuredDocumentation","src":"33157:41:17","text":"Loads a storage slot from an address."},"functionSelector":"667f9d70","implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"33212:4:17","parameters":{"id":14496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14493,"mutability":"mutable","name":"target","nameLocation":"33225:6:17","nodeType":"VariableDeclaration","scope":14500,"src":"33217:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14492,"name":"address","nodeType":"ElementaryTypeName","src":"33217:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14495,"mutability":"mutable","name":"slot","nameLocation":"33241:4:17","nodeType":"VariableDeclaration","scope":14500,"src":"33233:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33233:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"33216:30:17"},"returnParameters":{"id":14499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14498,"mutability":"mutable","name":"data","nameLocation":"33278:4:17","nodeType":"VariableDeclaration","scope":14500,"src":"33270:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33270:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"33269:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14504,"nodeType":"FunctionDefinition","src":"33375:37:17","nodes":[],"documentation":{"id":14501,"nodeType":"StructuredDocumentation","src":"33290:80:17","text":"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."},"functionSelector":"d1a5b36f","implemented":false,"kind":"function","modifiers":[],"name":"pauseGasMetering","nameLocation":"33384:16:17","parameters":{"id":14502,"nodeType":"ParameterList","parameters":[],"src":"33400:2:17"},"returnParameters":{"id":14503,"nodeType":"ParameterList","parameters":[],"src":"33411:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14508,"nodeType":"FunctionDefinition","src":"33572:27:17","nodes":[],"documentation":{"id":14505,"nodeType":"StructuredDocumentation","src":"33418:149:17","text":"Records all storage reads and writes. Use `accesses` to get the recorded data.\n Subsequent calls to `record` will clear the previous data."},"functionSelector":"266cf109","implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"33581:6:17","parameters":{"id":14506,"nodeType":"ParameterList","parameters":[],"src":"33587:2:17"},"returnParameters":{"id":14507,"nodeType":"ParameterList","parameters":[],"src":"33598:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14512,"nodeType":"FunctionDefinition","src":"33646:31:17","nodes":[],"documentation":{"id":14509,"nodeType":"StructuredDocumentation","src":"33605:36:17","text":"Record all the transaction logs."},"functionSelector":"41af2f52","implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"33655:10:17","parameters":{"id":14510,"nodeType":"ParameterList","parameters":[],"src":"33665:2:17"},"returnParameters":{"id":14511,"nodeType":"ParameterList","parameters":[],"src":"33676:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14516,"nodeType":"FunctionDefinition","src":"33748:37:17","nodes":[],"documentation":{"id":14513,"nodeType":"StructuredDocumentation","src":"33683:60:17","text":"Reset gas metering (i.e. gas usage is set to gas limit)."},"functionSelector":"be367dd3","implemented":false,"kind":"function","modifiers":[],"name":"resetGasMetering","nameLocation":"33757:16:17","parameters":{"id":14514,"nodeType":"ParameterList","parameters":[],"src":"33773:2:17"},"returnParameters":{"id":14515,"nodeType":"ParameterList","parameters":[],"src":"33784:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14520,"nodeType":"FunctionDefinition","src":"33875:38:17","nodes":[],"documentation":{"id":14517,"nodeType":"StructuredDocumentation","src":"33791:79:17","text":"Resumes gas metering (i.e. gas usage is counted again). Noop if already on."},"functionSelector":"2bcd50e0","implemented":false,"kind":"function","modifiers":[],"name":"resumeGasMetering","nameLocation":"33884:17:17","parameters":{"id":14518,"nodeType":"ParameterList","parameters":[],"src":"33901:2:17"},"returnParameters":{"id":14519,"nodeType":"ParameterList","parameters":[],"src":"33912:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14530,"nodeType":"FunctionDefinition","src":"33990:98:17","nodes":[],"documentation":{"id":14521,"nodeType":"StructuredDocumentation","src":"33919:66:17","text":"Performs an Ethereum JSON-RPC request to the current fork URL."},"functionSelector":"1206c8a8","implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"33999:3:17","parameters":{"id":14526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14523,"mutability":"mutable","name":"method","nameLocation":"34019:6:17","nodeType":"VariableDeclaration","scope":14530,"src":"34003:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14522,"name":"string","nodeType":"ElementaryTypeName","src":"34003:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14525,"mutability":"mutable","name":"params","nameLocation":"34043:6:17","nodeType":"VariableDeclaration","scope":14530,"src":"34027:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14524,"name":"string","nodeType":"ElementaryTypeName","src":"34027:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34002:48:17"},"returnParameters":{"id":14529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14528,"mutability":"mutable","name":"data","nameLocation":"34082:4:17","nodeType":"VariableDeclaration","scope":14530,"src":"34069:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14527,"name":"bytes","nodeType":"ElementaryTypeName","src":"34069:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34068:19:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14542,"nodeType":"FunctionDefinition","src":"34163:142:17","nodes":[],"documentation":{"id":14531,"nodeType":"StructuredDocumentation","src":"34094:64:17","text":"Performs an Ethereum JSON-RPC request to the given endpoint."},"functionSelector":"0199a220","implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"34172:3:17","parameters":{"id":14538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14533,"mutability":"mutable","name":"urlOrAlias","nameLocation":"34192:10:17","nodeType":"VariableDeclaration","scope":14542,"src":"34176:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14532,"name":"string","nodeType":"ElementaryTypeName","src":"34176:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14535,"mutability":"mutable","name":"method","nameLocation":"34220:6:17","nodeType":"VariableDeclaration","scope":14542,"src":"34204:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14534,"name":"string","nodeType":"ElementaryTypeName","src":"34204:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14537,"mutability":"mutable","name":"params","nameLocation":"34244:6:17","nodeType":"VariableDeclaration","scope":14542,"src":"34228:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14536,"name":"string","nodeType":"ElementaryTypeName","src":"34228:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34175:76:17"},"returnParameters":{"id":14541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14540,"mutability":"mutable","name":"data","nameLocation":"34299:4:17","nodeType":"VariableDeclaration","scope":14542,"src":"34286:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14539,"name":"bytes","nodeType":"ElementaryTypeName","src":"34286:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34285:19:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14548,"nodeType":"FunctionDefinition","src":"34480:53:17","nodes":[],"documentation":{"id":14543,"nodeType":"StructuredDocumentation","src":"34311:164:17","text":"Set the exact test or script execution evm version, e.g. `berlin`, `cancun`.\n **Note:** The execution evm version is not the same as the compilation one."},"functionSelector":"43179f5a","implemented":false,"kind":"function","modifiers":[],"name":"setEvmVersion","nameLocation":"34489:13:17","parameters":{"id":14546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14545,"mutability":"mutable","name":"evm","nameLocation":"34519:3:17","nodeType":"VariableDeclaration","scope":14548,"src":"34503:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14544,"name":"string","nodeType":"ElementaryTypeName","src":"34503:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34502:21:17"},"returnParameters":{"id":14547,"nodeType":"ParameterList","parameters":[],"src":"34532:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14552,"nodeType":"FunctionDefinition","src":"34587:45:17","nodes":[],"documentation":{"id":14549,"nodeType":"StructuredDocumentation","src":"34539:43:17","text":"Records the debug trace during the run."},"functionSelector":"419c8832","implemented":false,"kind":"function","modifiers":[],"name":"startDebugTraceRecording","nameLocation":"34596:24:17","parameters":{"id":14550,"nodeType":"ParameterList","parameters":[],"src":"34620:2:17"},"returnParameters":{"id":14551,"nodeType":"ParameterList","parameters":[],"src":"34631:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14556,"nodeType":"FunctionDefinition","src":"34700:42:17","nodes":[],"documentation":{"id":14553,"nodeType":"StructuredDocumentation","src":"34638:57:17","text":"Starts recording all map SSTOREs for later retrieval."},"functionSelector":"3e9705c0","implemented":false,"kind":"function","modifiers":[],"name":"startMappingRecording","nameLocation":"34709:21:17","parameters":{"id":14554,"nodeType":"ParameterList","parameters":[],"src":"34730:2:17"},"returnParameters":{"id":14555,"nodeType":"ParameterList","parameters":[],"src":"34741:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14560,"nodeType":"FunctionDefinition","src":"34886:44:17","nodes":[],"documentation":{"id":14557,"nodeType":"StructuredDocumentation","src":"34748:133:17","text":"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order,\n along with the context of the calls"},"functionSelector":"cf22e3c9","implemented":false,"kind":"function","modifiers":[],"name":"startStateDiffRecording","nameLocation":"34895:23:17","parameters":{"id":14558,"nodeType":"ParameterList","parameters":[],"src":"34918:2:17"},"returnParameters":{"id":14559,"nodeType":"ParameterList","parameters":[],"src":"34929:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14568,"nodeType":"FunctionDefinition","src":"35009:87:17","nodes":[],"documentation":{"id":14561,"nodeType":"StructuredDocumentation","src":"34936:68:17","text":"Stop debug trace recording and returns the recorded debug trace."},"functionSelector":"ced398a2","implemented":false,"kind":"function","modifiers":[],"name":"stopAndReturnDebugTraceRecording","nameLocation":"35018:32:17","parameters":{"id":14562,"nodeType":"ParameterList","parameters":[],"src":"35050:2:17"},"returnParameters":{"id":14567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14566,"mutability":"mutable","name":"step","nameLocation":"35090:4:17","nodeType":"VariableDeclaration","scope":14568,"src":"35071:23:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DebugStep_$13689_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DebugStep[]"},"typeName":{"baseType":{"id":14564,"nodeType":"UserDefinedTypeName","pathNode":{"id":14563,"name":"DebugStep","nameLocations":["35071:9:17"],"nodeType":"IdentifierPath","referencedDeclaration":13689,"src":"35071:9:17"},"referencedDeclaration":13689,"src":"35071:9:17","typeDescriptions":{"typeIdentifier":"t_struct$_DebugStep_$13689_storage_ptr","typeString":"struct VmSafe.DebugStep"}},"id":14565,"nodeType":"ArrayTypeName","src":"35071:11:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DebugStep_$13689_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DebugStep[]"}},"visibility":"internal"}],"src":"35070:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14576,"nodeType":"FunctionDefinition","src":"35204:92:17","nodes":[],"documentation":{"id":14569,"nodeType":"StructuredDocumentation","src":"35102:97:17","text":"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."},"functionSelector":"aa5cf90e","implemented":false,"kind":"function","modifiers":[],"name":"stopAndReturnStateDiff","nameLocation":"35213:22:17","parameters":{"id":14570,"nodeType":"ParameterList","parameters":[],"src":"35235:2:17"},"returnParameters":{"id":14575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14574,"mutability":"mutable","name":"accountAccesses","nameLocation":"35279:15:17","nodeType":"VariableDeclaration","scope":14576,"src":"35256:38:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$13648_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.AccountAccess[]"},"typeName":{"baseType":{"id":14572,"nodeType":"UserDefinedTypeName","pathNode":{"id":14571,"name":"AccountAccess","nameLocations":["35256:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":13648,"src":"35256:13:17"},"referencedDeclaration":13648,"src":"35256:13:17","typeDescriptions":{"typeIdentifier":"t_struct$_AccountAccess_$13648_storage_ptr","typeString":"struct VmSafe.AccountAccess"}},"id":14573,"nodeType":"ArrayTypeName","src":"35256:15:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$13648_storage_$dyn_storage_ptr","typeString":"struct VmSafe.AccountAccess[]"}},"visibility":"internal"}],"src":"35255:40:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14580,"nodeType":"FunctionDefinition","src":"35392:41:17","nodes":[],"documentation":{"id":14577,"nodeType":"StructuredDocumentation","src":"35302:85:17","text":"Stops recording all map SSTOREs for later retrieval and clears the recorded data."},"functionSelector":"0d4aae9b","implemented":false,"kind":"function","modifiers":[],"name":"stopMappingRecording","nameLocation":"35401:20:17","parameters":{"id":14578,"nodeType":"ParameterList","parameters":[],"src":"35421:2:17"},"returnParameters":{"id":14579,"nodeType":"ParameterList","parameters":[],"src":"35432:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14584,"nodeType":"FunctionDefinition","src":"35489:31:17","nodes":[],"documentation":{"id":14581,"nodeType":"StructuredDocumentation","src":"35439:45:17","text":"Stops recording storage reads and writes."},"functionSelector":"996be76d","implemented":false,"kind":"function","modifiers":[],"name":"stopRecord","nameLocation":"35498:10:17","parameters":{"id":14582,"nodeType":"ParameterList","parameters":[],"src":"35508:2:17"},"returnParameters":{"id":14583,"nodeType":"ParameterList","parameters":[],"src":"35519:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14590,"nodeType":"FunctionDefinition","src":"35719:50:17","nodes":[],"documentation":{"id":14585,"nodeType":"StructuredDocumentation","src":"35563:151:17","text":"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n `path` is relative to the project root."},"functionSelector":"48c3241f","implemented":false,"kind":"function","modifiers":[],"name":"closeFile","nameLocation":"35728:9:17","parameters":{"id":14588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14587,"mutability":"mutable","name":"path","nameLocation":"35754:4:17","nodeType":"VariableDeclaration","scope":14590,"src":"35738:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14586,"name":"string","nodeType":"ElementaryTypeName","src":"35738:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35737:22:17"},"returnParameters":{"id":14589,"nodeType":"ParameterList","parameters":[],"src":"35768:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14600,"nodeType":"FunctionDefinition","src":"36084:93:17","nodes":[],"documentation":{"id":14591,"nodeType":"StructuredDocumentation","src":"35775:304:17","text":"Copies the contents of one file to another. This function will **overwrite** the contents of `to`.\n On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`.\n Both `from` and `to` are relative to the project root."},"functionSelector":"a54a87d8","implemented":false,"kind":"function","modifiers":[],"name":"copyFile","nameLocation":"36093:8:17","parameters":{"id":14596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14593,"mutability":"mutable","name":"from","nameLocation":"36118:4:17","nodeType":"VariableDeclaration","scope":14600,"src":"36102:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14592,"name":"string","nodeType":"ElementaryTypeName","src":"36102:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14595,"mutability":"mutable","name":"to","nameLocation":"36140:2:17","nodeType":"VariableDeclaration","scope":14600,"src":"36124:18:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14594,"name":"string","nodeType":"ElementaryTypeName","src":"36124:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36101:42:17"},"returnParameters":{"id":14599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14598,"mutability":"mutable","name":"copied","nameLocation":"36169:6:17","nodeType":"VariableDeclaration","scope":14600,"src":"36162:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14597,"name":"uint64","nodeType":"ElementaryTypeName","src":"36162:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"36161:15:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14608,"nodeType":"FunctionDefinition","src":"36582:66:17","nodes":[],"documentation":{"id":14601,"nodeType":"StructuredDocumentation","src":"36183:394:17","text":"Creates a new, empty directory at the provided path.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - User lacks permissions to modify `path`.\n - A parent of the given path doesn't exist and `recursive` is false.\n - `path` already exists and `recursive` is false.\n `path` is relative to the project root."},"functionSelector":"168b64d3","implemented":false,"kind":"function","modifiers":[],"name":"createDir","nameLocation":"36591:9:17","parameters":{"id":14606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14603,"mutability":"mutable","name":"path","nameLocation":"36617:4:17","nodeType":"VariableDeclaration","scope":14608,"src":"36601:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14602,"name":"string","nodeType":"ElementaryTypeName","src":"36601:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14605,"mutability":"mutable","name":"recursive","nameLocation":"36628:9:17","nodeType":"VariableDeclaration","scope":14608,"src":"36623:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14604,"name":"bool","nodeType":"ElementaryTypeName","src":"36623:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36600:38:17"},"returnParameters":{"id":14607,"nodeType":"ParameterList","parameters":[],"src":"36647:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14616,"nodeType":"FunctionDefinition","src":"36878:93:17","nodes":[],"documentation":{"id":14609,"nodeType":"StructuredDocumentation","src":"36654:219:17","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"9a8325a0","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"36887:10:17","parameters":{"id":14612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14611,"mutability":"mutable","name":"artifactPath","nameLocation":"36914:12:17","nodeType":"VariableDeclaration","scope":14616,"src":"36898:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14610,"name":"string","nodeType":"ElementaryTypeName","src":"36898:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36897:30:17"},"returnParameters":{"id":14615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14614,"mutability":"mutable","name":"deployedAddress","nameLocation":"36954:15:17","nodeType":"VariableDeclaration","scope":14616,"src":"36946:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14613,"name":"address","nodeType":"ElementaryTypeName","src":"36946:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36945:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14626,"nodeType":"FunctionDefinition","src":"37265:141:17","nodes":[],"documentation":{"id":14617,"nodeType":"StructuredDocumentation","src":"36977:283:17","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments."},"functionSelector":"29ce9dde","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"37274:10:17","parameters":{"id":14622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14619,"mutability":"mutable","name":"artifactPath","nameLocation":"37301:12:17","nodeType":"VariableDeclaration","scope":14626,"src":"37285:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14618,"name":"string","nodeType":"ElementaryTypeName","src":"37285:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14621,"mutability":"mutable","name":"constructorArgs","nameLocation":"37330:15:17","nodeType":"VariableDeclaration","scope":14626,"src":"37315:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14620,"name":"bytes","nodeType":"ElementaryTypeName","src":"37315:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"37284:62:17"},"returnParameters":{"id":14625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14624,"mutability":"mutable","name":"deployedAddress","nameLocation":"37389:15:17","nodeType":"VariableDeclaration","scope":14626,"src":"37381:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14623,"name":"address","nodeType":"ElementaryTypeName","src":"37381:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37380:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14636,"nodeType":"FunctionDefinition","src":"37678:108:17","nodes":[],"documentation":{"id":14627,"nodeType":"StructuredDocumentation","src":"37412:261:17","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts `msg.value`."},"functionSelector":"0af6a701","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"37687:10:17","parameters":{"id":14632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14629,"mutability":"mutable","name":"artifactPath","nameLocation":"37714:12:17","nodeType":"VariableDeclaration","scope":14636,"src":"37698:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14628,"name":"string","nodeType":"ElementaryTypeName","src":"37698:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14631,"mutability":"mutable","name":"value","nameLocation":"37736:5:17","nodeType":"VariableDeclaration","scope":14636,"src":"37728:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14630,"name":"uint256","nodeType":"ElementaryTypeName","src":"37728:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37697:45:17"},"returnParameters":{"id":14635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14634,"mutability":"mutable","name":"deployedAddress","nameLocation":"37769:15:17","nodeType":"VariableDeclaration","scope":14636,"src":"37761:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14633,"name":"address","nodeType":"ElementaryTypeName","src":"37761:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37760:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14648,"nodeType":"FunctionDefinition","src":"38096:156:17","nodes":[],"documentation":{"id":14637,"nodeType":"StructuredDocumentation","src":"37792:299:17","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments and `msg.value`."},"functionSelector":"ff5d64e4","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"38105:10:17","parameters":{"id":14644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14639,"mutability":"mutable","name":"artifactPath","nameLocation":"38132:12:17","nodeType":"VariableDeclaration","scope":14648,"src":"38116:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14638,"name":"string","nodeType":"ElementaryTypeName","src":"38116:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14641,"mutability":"mutable","name":"constructorArgs","nameLocation":"38161:15:17","nodeType":"VariableDeclaration","scope":14648,"src":"38146:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14640,"name":"bytes","nodeType":"ElementaryTypeName","src":"38146:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14643,"mutability":"mutable","name":"value","nameLocation":"38186:5:17","nodeType":"VariableDeclaration","scope":14648,"src":"38178:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14642,"name":"uint256","nodeType":"ElementaryTypeName","src":"38178:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38115:77:17"},"returnParameters":{"id":14647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14646,"mutability":"mutable","name":"deployedAddress","nameLocation":"38235:15:17","nodeType":"VariableDeclaration","scope":14648,"src":"38227:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14645,"name":"address","nodeType":"ElementaryTypeName","src":"38227:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38226:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14658,"nodeType":"FunctionDefinition","src":"38506:107:17","nodes":[],"documentation":{"id":14649,"nodeType":"StructuredDocumentation","src":"38258:243:17","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"17ab1d79","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"38515:10:17","parameters":{"id":14654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14651,"mutability":"mutable","name":"artifactPath","nameLocation":"38542:12:17","nodeType":"VariableDeclaration","scope":14658,"src":"38526:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14650,"name":"string","nodeType":"ElementaryTypeName","src":"38526:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14653,"mutability":"mutable","name":"salt","nameLocation":"38564:4:17","nodeType":"VariableDeclaration","scope":14658,"src":"38556:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38556:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38525:44:17"},"returnParameters":{"id":14657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14656,"mutability":"mutable","name":"deployedAddress","nameLocation":"38596:15:17","nodeType":"VariableDeclaration","scope":14658,"src":"38588:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14655,"name":"address","nodeType":"ElementaryTypeName","src":"38588:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38587:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14670,"nodeType":"FunctionDefinition","src":"38931:155:17","nodes":[],"documentation":{"id":14659,"nodeType":"StructuredDocumentation","src":"38619:307:17","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments."},"functionSelector":"016155bf","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"38940:10:17","parameters":{"id":14666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14661,"mutability":"mutable","name":"artifactPath","nameLocation":"38967:12:17","nodeType":"VariableDeclaration","scope":14670,"src":"38951:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14660,"name":"string","nodeType":"ElementaryTypeName","src":"38951:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14663,"mutability":"mutable","name":"constructorArgs","nameLocation":"38996:15:17","nodeType":"VariableDeclaration","scope":14670,"src":"38981:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14662,"name":"bytes","nodeType":"ElementaryTypeName","src":"38981:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14665,"mutability":"mutable","name":"salt","nameLocation":"39021:4:17","nodeType":"VariableDeclaration","scope":14670,"src":"39013:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39013:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38950:76:17"},"returnParameters":{"id":14669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14668,"mutability":"mutable","name":"deployedAddress","nameLocation":"39069:15:17","nodeType":"VariableDeclaration","scope":14670,"src":"39061:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14667,"name":"address","nodeType":"ElementaryTypeName","src":"39061:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39060:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14682,"nodeType":"FunctionDefinition","src":"39382:138:17","nodes":[],"documentation":{"id":14671,"nodeType":"StructuredDocumentation","src":"39092:285:17","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts `msg.value`."},"functionSelector":"002cb687","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"39391:10:17","parameters":{"id":14678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14673,"mutability":"mutable","name":"artifactPath","nameLocation":"39418:12:17","nodeType":"VariableDeclaration","scope":14682,"src":"39402:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14672,"name":"string","nodeType":"ElementaryTypeName","src":"39402:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14675,"mutability":"mutable","name":"value","nameLocation":"39440:5:17","nodeType":"VariableDeclaration","scope":14682,"src":"39432:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14674,"name":"uint256","nodeType":"ElementaryTypeName","src":"39432:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14677,"mutability":"mutable","name":"salt","nameLocation":"39455:4:17","nodeType":"VariableDeclaration","scope":14682,"src":"39447:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39447:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"39401:59:17"},"returnParameters":{"id":14681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14680,"mutability":"mutable","name":"deployedAddress","nameLocation":"39503:15:17","nodeType":"VariableDeclaration","scope":14682,"src":"39495:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14679,"name":"address","nodeType":"ElementaryTypeName","src":"39495:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39494:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14696,"nodeType":"FunctionDefinition","src":"39854:170:17","nodes":[],"documentation":{"id":14683,"nodeType":"StructuredDocumentation","src":"39526:323:17","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments and `msg.value`."},"functionSelector":"3aa773ea","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"39863:10:17","parameters":{"id":14692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14685,"mutability":"mutable","name":"artifactPath","nameLocation":"39890:12:17","nodeType":"VariableDeclaration","scope":14696,"src":"39874:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14684,"name":"string","nodeType":"ElementaryTypeName","src":"39874:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14687,"mutability":"mutable","name":"constructorArgs","nameLocation":"39919:15:17","nodeType":"VariableDeclaration","scope":14696,"src":"39904:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14686,"name":"bytes","nodeType":"ElementaryTypeName","src":"39904:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14689,"mutability":"mutable","name":"value","nameLocation":"39944:5:17","nodeType":"VariableDeclaration","scope":14696,"src":"39936:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14688,"name":"uint256","nodeType":"ElementaryTypeName","src":"39936:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14691,"mutability":"mutable","name":"salt","nameLocation":"39959:4:17","nodeType":"VariableDeclaration","scope":14696,"src":"39951:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39951:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"39873:91:17"},"returnParameters":{"id":14695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14694,"mutability":"mutable","name":"deployedAddress","nameLocation":"40007:15:17","nodeType":"VariableDeclaration","scope":14696,"src":"39999:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14693,"name":"address","nodeType":"ElementaryTypeName","src":"39999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39998:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14704,"nodeType":"FunctionDefinition","src":"40119:74:17","nodes":[],"documentation":{"id":14697,"nodeType":"StructuredDocumentation","src":"40030:84:17","text":"Returns true if the given path points to an existing entity, else returns false."},"functionSelector":"261a323e","implemented":false,"kind":"function","modifiers":[],"name":"exists","nameLocation":"40128:6:17","parameters":{"id":14700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14699,"mutability":"mutable","name":"path","nameLocation":"40151:4:17","nodeType":"VariableDeclaration","scope":14704,"src":"40135:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14698,"name":"string","nodeType":"ElementaryTypeName","src":"40135:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40134:22:17"},"returnParameters":{"id":14703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14702,"mutability":"mutable","name":"result","nameLocation":"40185:6:17","nodeType":"VariableDeclaration","scope":14704,"src":"40180:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14701,"name":"bool","nodeType":"ElementaryTypeName","src":"40180:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40179:13:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14713,"nodeType":"FunctionDefinition","src":"40258:84:17","nodes":[],"documentation":{"id":14705,"nodeType":"StructuredDocumentation","src":"40199:54:17","text":"Performs a foreign function call via the terminal."},"functionSelector":"89160467","implemented":false,"kind":"function","modifiers":[],"name":"ffi","nameLocation":"40267:3:17","parameters":{"id":14709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14708,"mutability":"mutable","name":"commandInput","nameLocation":"40289:12:17","nodeType":"VariableDeclaration","scope":14713,"src":"40271:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14706,"name":"string","nodeType":"ElementaryTypeName","src":"40271:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14707,"nodeType":"ArrayTypeName","src":"40271:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"40270:32:17"},"returnParameters":{"id":14712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14711,"mutability":"mutable","name":"result","nameLocation":"40334:6:17","nodeType":"VariableDeclaration","scope":14713,"src":"40321:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14710,"name":"bytes","nodeType":"ElementaryTypeName","src":"40321:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40320:21:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14722,"nodeType":"FunctionDefinition","src":"40441:93:17","nodes":[],"documentation":{"id":14714,"nodeType":"StructuredDocumentation","src":"40348:88:17","text":"Given a path, query the file system to get information about a file, directory, etc."},"functionSelector":"af368a08","implemented":false,"kind":"function","modifiers":[],"name":"fsMetadata","nameLocation":"40450:10:17","parameters":{"id":14717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14716,"mutability":"mutable","name":"path","nameLocation":"40477:4:17","nodeType":"VariableDeclaration","scope":14722,"src":"40461:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14715,"name":"string","nodeType":"ElementaryTypeName","src":"40461:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40460:22:17"},"returnParameters":{"id":14721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14720,"mutability":"mutable","name":"metadata","nameLocation":"40524:8:17","nodeType":"VariableDeclaration","scope":14722,"src":"40506:26:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$13578_memory_ptr","typeString":"struct VmSafe.FsMetadata"},"typeName":{"id":14719,"nodeType":"UserDefinedTypeName","pathNode":{"id":14718,"name":"FsMetadata","nameLocations":["40506:10:17"],"nodeType":"IdentifierPath","referencedDeclaration":13578,"src":"40506:10:17"},"referencedDeclaration":13578,"src":"40506:10:17","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$13578_storage_ptr","typeString":"struct VmSafe.FsMetadata"}},"visibility":"internal"}],"src":"40505:28:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14730,"nodeType":"FunctionDefinition","src":"40603:95:17","nodes":[],"documentation":{"id":14723,"nodeType":"StructuredDocumentation","src":"40540:58:17","text":"Gets the artifact path from code (aka. creation code)."},"functionSelector":"eb74848c","implemented":false,"kind":"function","modifiers":[],"name":"getArtifactPathByCode","nameLocation":"40612:21:17","parameters":{"id":14726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14725,"mutability":"mutable","name":"code","nameLocation":"40649:4:17","nodeType":"VariableDeclaration","scope":14730,"src":"40634:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14724,"name":"bytes","nodeType":"ElementaryTypeName","src":"40634:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40633:21:17"},"returnParameters":{"id":14729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14728,"mutability":"mutable","name":"path","nameLocation":"40692:4:17","nodeType":"VariableDeclaration","scope":14730,"src":"40678:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14727,"name":"string","nodeType":"ElementaryTypeName","src":"40678:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40677:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14738,"nodeType":"FunctionDefinition","src":"40775:111:17","nodes":[],"documentation":{"id":14731,"nodeType":"StructuredDocumentation","src":"40704:66:17","text":"Gets the artifact path from deployed code (aka. runtime code)."},"functionSelector":"6d853ba5","implemented":false,"kind":"function","modifiers":[],"name":"getArtifactPathByDeployedCode","nameLocation":"40784:29:17","parameters":{"id":14734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14733,"mutability":"mutable","name":"deployedCode","nameLocation":"40829:12:17","nodeType":"VariableDeclaration","scope":14738,"src":"40814:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14732,"name":"bytes","nodeType":"ElementaryTypeName","src":"40814:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40813:29:17"},"returnParameters":{"id":14737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14736,"mutability":"mutable","name":"path","nameLocation":"40880:4:17","nodeType":"VariableDeclaration","scope":14738,"src":"40866:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14735,"name":"string","nodeType":"ElementaryTypeName","src":"40866:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40865:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14752,"nodeType":"FunctionDefinition","src":"41181:166:17","nodes":[],"documentation":{"id":14739,"nodeType":"StructuredDocumentation","src":"40892:284:17","text":"Returns the most recent broadcast for the given contract on `chainId` matching `txType`.\n For example:\n The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`.\n The most recent call can be fetched by passing `txType` as `CALL`."},"functionSelector":"3dc90cb3","implemented":false,"kind":"function","modifiers":[],"name":"getBroadcast","nameLocation":"41190:12:17","parameters":{"id":14747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14741,"mutability":"mutable","name":"contractName","nameLocation":"41219:12:17","nodeType":"VariableDeclaration","scope":14752,"src":"41203:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14740,"name":"string","nodeType":"ElementaryTypeName","src":"41203:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14743,"mutability":"mutable","name":"chainId","nameLocation":"41240:7:17","nodeType":"VariableDeclaration","scope":14752,"src":"41233:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14742,"name":"uint64","nodeType":"ElementaryTypeName","src":"41233:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":14746,"mutability":"mutable","name":"txType","nameLocation":"41265:6:17","nodeType":"VariableDeclaration","scope":14752,"src":"41249:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13514","typeString":"enum VmSafe.BroadcastTxType"},"typeName":{"id":14745,"nodeType":"UserDefinedTypeName","pathNode":{"id":14744,"name":"BroadcastTxType","nameLocations":["41249:15:17"],"nodeType":"IdentifierPath","referencedDeclaration":13514,"src":"41249:15:17"},"referencedDeclaration":13514,"src":"41249:15:17","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13514","typeString":"enum VmSafe.BroadcastTxType"}},"visibility":"internal"}],"src":"41202:70:17"},"returnParameters":{"id":14751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14750,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14752,"src":"41320:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BroadcastTxSummary_$13702_memory_ptr","typeString":"struct VmSafe.BroadcastTxSummary"},"typeName":{"id":14749,"nodeType":"UserDefinedTypeName","pathNode":{"id":14748,"name":"BroadcastTxSummary","nameLocations":["41320:18:17"],"nodeType":"IdentifierPath","referencedDeclaration":13702,"src":"41320:18:17"},"referencedDeclaration":13702,"src":"41320:18:17","typeDescriptions":{"typeIdentifier":"t_struct$_BroadcastTxSummary_$13702_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary"}},"visibility":"internal"}],"src":"41319:27:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14767,"nodeType":"FunctionDefinition","src":"41606:169:17","nodes":[],"documentation":{"id":14753,"nodeType":"StructuredDocumentation","src":"41353:248:17","text":"Returns all broadcasts for the given contract on `chainId` with the specified `txType`.\n Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."},"functionSelector":"f7afe919","implemented":false,"kind":"function","modifiers":[],"name":"getBroadcasts","nameLocation":"41615:13:17","parameters":{"id":14761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14755,"mutability":"mutable","name":"contractName","nameLocation":"41645:12:17","nodeType":"VariableDeclaration","scope":14767,"src":"41629:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14754,"name":"string","nodeType":"ElementaryTypeName","src":"41629:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14757,"mutability":"mutable","name":"chainId","nameLocation":"41666:7:17","nodeType":"VariableDeclaration","scope":14767,"src":"41659:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14756,"name":"uint64","nodeType":"ElementaryTypeName","src":"41659:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":14760,"mutability":"mutable","name":"txType","nameLocation":"41691:6:17","nodeType":"VariableDeclaration","scope":14767,"src":"41675:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13514","typeString":"enum VmSafe.BroadcastTxType"},"typeName":{"id":14759,"nodeType":"UserDefinedTypeName","pathNode":{"id":14758,"name":"BroadcastTxType","nameLocations":["41675:15:17"],"nodeType":"IdentifierPath","referencedDeclaration":13514,"src":"41675:15:17"},"referencedDeclaration":13514,"src":"41675:15:17","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13514","typeString":"enum VmSafe.BroadcastTxType"}},"visibility":"internal"}],"src":"41628:70:17"},"returnParameters":{"id":14766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14765,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14767,"src":"41746:27:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BroadcastTxSummary_$13702_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.BroadcastTxSummary[]"},"typeName":{"baseType":{"id":14763,"nodeType":"UserDefinedTypeName","pathNode":{"id":14762,"name":"BroadcastTxSummary","nameLocations":["41746:18:17"],"nodeType":"IdentifierPath","referencedDeclaration":13702,"src":"41746:18:17"},"referencedDeclaration":13702,"src":"41746:18:17","typeDescriptions":{"typeIdentifier":"t_struct$_BroadcastTxSummary_$13702_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary"}},"id":14764,"nodeType":"ArrayTypeName","src":"41746:20:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BroadcastTxSummary_$13702_storage_$dyn_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary[]"}},"visibility":"internal"}],"src":"41745:29:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14779,"nodeType":"FunctionDefinition","src":"42006:145:17","nodes":[],"documentation":{"id":14768,"nodeType":"StructuredDocumentation","src":"41781:220:17","text":"Returns all broadcasts for the given contract on `chainId`.\n Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."},"functionSelector":"f2fa4a26","implemented":false,"kind":"function","modifiers":[],"name":"getBroadcasts","nameLocation":"42015:13:17","parameters":{"id":14773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14770,"mutability":"mutable","name":"contractName","nameLocation":"42045:12:17","nodeType":"VariableDeclaration","scope":14779,"src":"42029:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14769,"name":"string","nodeType":"ElementaryTypeName","src":"42029:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14772,"mutability":"mutable","name":"chainId","nameLocation":"42066:7:17","nodeType":"VariableDeclaration","scope":14779,"src":"42059:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14771,"name":"uint64","nodeType":"ElementaryTypeName","src":"42059:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"42028:46:17"},"returnParameters":{"id":14778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14779,"src":"42122:27:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BroadcastTxSummary_$13702_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.BroadcastTxSummary[]"},"typeName":{"baseType":{"id":14775,"nodeType":"UserDefinedTypeName","pathNode":{"id":14774,"name":"BroadcastTxSummary","nameLocations":["42122:18:17"],"nodeType":"IdentifierPath","referencedDeclaration":13702,"src":"42122:18:17"},"referencedDeclaration":13702,"src":"42122:18:17","typeDescriptions":{"typeIdentifier":"t_struct$_BroadcastTxSummary_$13702_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary"}},"id":14776,"nodeType":"ArrayTypeName","src":"42122:20:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BroadcastTxSummary_$13702_storage_$dyn_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary[]"}},"visibility":"internal"}],"src":"42121:29:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14787,"nodeType":"FunctionDefinition","src":"42389:101:17","nodes":[],"documentation":{"id":14780,"nodeType":"StructuredDocumentation","src":"42157:227:17","text":"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"8d1cc925","implemented":false,"kind":"function","modifiers":[],"name":"getCode","nameLocation":"42398:7:17","parameters":{"id":14783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14782,"mutability":"mutable","name":"artifactPath","nameLocation":"42422:12:17","nodeType":"VariableDeclaration","scope":14787,"src":"42406:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14781,"name":"string","nodeType":"ElementaryTypeName","src":"42406:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42405:30:17"},"returnParameters":{"id":14786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14785,"mutability":"mutable","name":"creationBytecode","nameLocation":"42472:16:17","nodeType":"VariableDeclaration","scope":14787,"src":"42459:29:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14784,"name":"bytes","nodeType":"ElementaryTypeName","src":"42459:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"42458:31:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14795,"nodeType":"FunctionDefinition","src":"42728:108:17","nodes":[],"documentation":{"id":14788,"nodeType":"StructuredDocumentation","src":"42496:227:17","text":"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"3ebf73b4","implemented":false,"kind":"function","modifiers":[],"name":"getDeployedCode","nameLocation":"42737:15:17","parameters":{"id":14791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14790,"mutability":"mutable","name":"artifactPath","nameLocation":"42769:12:17","nodeType":"VariableDeclaration","scope":14795,"src":"42753:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14789,"name":"string","nodeType":"ElementaryTypeName","src":"42753:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42752:30:17"},"returnParameters":{"id":14794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14793,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"42819:15:17","nodeType":"VariableDeclaration","scope":14795,"src":"42806:28:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14792,"name":"bytes","nodeType":"ElementaryTypeName","src":"42806:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"42805:30:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14803,"nodeType":"FunctionDefinition","src":"42912:101:17","nodes":[],"documentation":{"id":14796,"nodeType":"StructuredDocumentation","src":"42842:65:17","text":"Returns the most recent deployment for the current `chainId`."},"functionSelector":"a8091d97","implemented":false,"kind":"function","modifiers":[],"name":"getDeployment","nameLocation":"42921:13:17","parameters":{"id":14799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14798,"mutability":"mutable","name":"contractName","nameLocation":"42951:12:17","nodeType":"VariableDeclaration","scope":14803,"src":"42935:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14797,"name":"string","nodeType":"ElementaryTypeName","src":"42935:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42934:30:17"},"returnParameters":{"id":14802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14801,"mutability":"mutable","name":"deployedAddress","nameLocation":"42996:15:17","nodeType":"VariableDeclaration","scope":14803,"src":"42988:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14800,"name":"address","nodeType":"ElementaryTypeName","src":"42988:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42987:25:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14813,"nodeType":"FunctionDefinition","src":"43098:141:17","nodes":[],"documentation":{"id":14804,"nodeType":"StructuredDocumentation","src":"43019:74:17","text":"Returns the most recent deployment for the given contract on `chainId`"},"functionSelector":"0debd5d6","implemented":false,"kind":"function","modifiers":[],"name":"getDeployment","nameLocation":"43107:13:17","parameters":{"id":14809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14806,"mutability":"mutable","name":"contractName","nameLocation":"43137:12:17","nodeType":"VariableDeclaration","scope":14813,"src":"43121:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14805,"name":"string","nodeType":"ElementaryTypeName","src":"43121:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14808,"mutability":"mutable","name":"chainId","nameLocation":"43158:7:17","nodeType":"VariableDeclaration","scope":14813,"src":"43151:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14807,"name":"uint64","nodeType":"ElementaryTypeName","src":"43151:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"43120:46:17"},"returnParameters":{"id":14812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14811,"mutability":"mutable","name":"deployedAddress","nameLocation":"43222:15:17","nodeType":"VariableDeclaration","scope":14813,"src":"43214:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14810,"name":"address","nodeType":"ElementaryTypeName","src":"43214:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43213:25:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14824,"nodeType":"FunctionDefinition","src":"43508:153:17","nodes":[],"documentation":{"id":14814,"nodeType":"StructuredDocumentation","src":"43245:258:17","text":"Returns all deployments for the given contract on `chainId`\n Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber.\n The most recent deployment is the first element, and the oldest is the last."},"functionSelector":"74e133dd","implemented":false,"kind":"function","modifiers":[],"name":"getDeployments","nameLocation":"43517:14:17","parameters":{"id":14819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14816,"mutability":"mutable","name":"contractName","nameLocation":"43548:12:17","nodeType":"VariableDeclaration","scope":14824,"src":"43532:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14815,"name":"string","nodeType":"ElementaryTypeName","src":"43532:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14818,"mutability":"mutable","name":"chainId","nameLocation":"43569:7:17","nodeType":"VariableDeclaration","scope":14824,"src":"43562:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14817,"name":"uint64","nodeType":"ElementaryTypeName","src":"43562:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"43531:46:17"},"returnParameters":{"id":14823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14822,"mutability":"mutable","name":"deployedAddresses","nameLocation":"43642:17:17","nodeType":"VariableDeclaration","scope":14824,"src":"43625:34:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14820,"name":"address","nodeType":"ElementaryTypeName","src":"43625:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14821,"nodeType":"ArrayTypeName","src":"43625:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"43624:36:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14832,"nodeType":"FunctionDefinition","src":"43767:73:17","nodes":[],"documentation":{"id":14825,"nodeType":"StructuredDocumentation","src":"43667:95:17","text":"Returns true if the path exists on disk and is pointing at a directory, else returns false."},"functionSelector":"7d15d019","implemented":false,"kind":"function","modifiers":[],"name":"isDir","nameLocation":"43776:5:17","parameters":{"id":14828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14827,"mutability":"mutable","name":"path","nameLocation":"43798:4:17","nodeType":"VariableDeclaration","scope":14832,"src":"43782:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14826,"name":"string","nodeType":"ElementaryTypeName","src":"43782:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43781:22:17"},"returnParameters":{"id":14831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14830,"mutability":"mutable","name":"result","nameLocation":"43832:6:17","nodeType":"VariableDeclaration","scope":14832,"src":"43827:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14829,"name":"bool","nodeType":"ElementaryTypeName","src":"43827:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43826:13:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14840,"nodeType":"FunctionDefinition","src":"43949:74:17","nodes":[],"documentation":{"id":14833,"nodeType":"StructuredDocumentation","src":"43846:98:17","text":"Returns true if the path exists on disk and is pointing at a regular file, else returns false."},"functionSelector":"e0eb04d4","implemented":false,"kind":"function","modifiers":[],"name":"isFile","nameLocation":"43958:6:17","parameters":{"id":14836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14835,"mutability":"mutable","name":"path","nameLocation":"43981:4:17","nodeType":"VariableDeclaration","scope":14840,"src":"43965:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14834,"name":"string","nodeType":"ElementaryTypeName","src":"43965:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43964:22:17"},"returnParameters":{"id":14839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14838,"mutability":"mutable","name":"result","nameLocation":"44015:6:17","nodeType":"VariableDeclaration","scope":14840,"src":"44010:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14837,"name":"bool","nodeType":"ElementaryTypeName","src":"44010:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44009:13:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14846,"nodeType":"FunctionDefinition","src":"44079:66:17","nodes":[],"documentation":{"id":14841,"nodeType":"StructuredDocumentation","src":"44029:45:17","text":"Get the path of the current project root."},"functionSelector":"d930a0e6","implemented":false,"kind":"function","modifiers":[],"name":"projectRoot","nameLocation":"44088:11:17","parameters":{"id":14842,"nodeType":"ParameterList","parameters":[],"src":"44099:2:17"},"returnParameters":{"id":14845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14844,"mutability":"mutable","name":"path","nameLocation":"44139:4:17","nodeType":"VariableDeclaration","scope":14846,"src":"44125:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14843,"name":"string","nodeType":"ElementaryTypeName","src":"44125:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44124:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14854,"nodeType":"FunctionDefinition","src":"44212:83:17","nodes":[],"documentation":{"id":14847,"nodeType":"StructuredDocumentation","src":"44151:56:17","text":"Prompts the user for a string value in the terminal."},"functionSelector":"47eaf474","implemented":false,"kind":"function","modifiers":[],"name":"prompt","nameLocation":"44221:6:17","parameters":{"id":14850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14849,"mutability":"mutable","name":"promptText","nameLocation":"44244:10:17","nodeType":"VariableDeclaration","scope":14854,"src":"44228:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14848,"name":"string","nodeType":"ElementaryTypeName","src":"44228:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44227:28:17"},"returnParameters":{"id":14853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14852,"mutability":"mutable","name":"input","nameLocation":"44288:5:17","nodeType":"VariableDeclaration","scope":14854,"src":"44274:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14851,"name":"string","nodeType":"ElementaryTypeName","src":"44274:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44273:21:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14862,"nodeType":"FunctionDefinition","src":"44358:78:17","nodes":[],"documentation":{"id":14855,"nodeType":"StructuredDocumentation","src":"44301:52:17","text":"Prompts the user for an address in the terminal."},"functionSelector":"62ee05f4","implemented":false,"kind":"function","modifiers":[],"name":"promptAddress","nameLocation":"44367:13:17","parameters":{"id":14858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14857,"mutability":"mutable","name":"promptText","nameLocation":"44397:10:17","nodeType":"VariableDeclaration","scope":14862,"src":"44381:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14856,"name":"string","nodeType":"ElementaryTypeName","src":"44381:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44380:28:17"},"returnParameters":{"id":14861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14862,"src":"44427:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14859,"name":"address","nodeType":"ElementaryTypeName","src":"44427:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44426:9:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14870,"nodeType":"FunctionDefinition","src":"44510:89:17","nodes":[],"documentation":{"id":14863,"nodeType":"StructuredDocumentation","src":"44442:63:17","text":"Prompts the user for a hidden string value in the terminal."},"functionSelector":"1e279d41","implemented":false,"kind":"function","modifiers":[],"name":"promptSecret","nameLocation":"44519:12:17","parameters":{"id":14866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14865,"mutability":"mutable","name":"promptText","nameLocation":"44548:10:17","nodeType":"VariableDeclaration","scope":14870,"src":"44532:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14864,"name":"string","nodeType":"ElementaryTypeName","src":"44532:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44531:28:17"},"returnParameters":{"id":14869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14868,"mutability":"mutable","name":"input","nameLocation":"44592:5:17","nodeType":"VariableDeclaration","scope":14870,"src":"44578:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14867,"name":"string","nodeType":"ElementaryTypeName","src":"44578:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44577:21:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14878,"nodeType":"FunctionDefinition","src":"44679:81:17","nodes":[],"documentation":{"id":14871,"nodeType":"StructuredDocumentation","src":"44605:69:17","text":"Prompts the user for hidden uint256 in the terminal (usually pk)."},"functionSelector":"69ca02b7","implemented":false,"kind":"function","modifiers":[],"name":"promptSecretUint","nameLocation":"44688:16:17","parameters":{"id":14874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14873,"mutability":"mutable","name":"promptText","nameLocation":"44721:10:17","nodeType":"VariableDeclaration","scope":14878,"src":"44705:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14872,"name":"string","nodeType":"ElementaryTypeName","src":"44705:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44704:28:17"},"returnParameters":{"id":14877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14878,"src":"44751:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14875,"name":"uint256","nodeType":"ElementaryTypeName","src":"44751:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44750:9:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14886,"nodeType":"FunctionDefinition","src":"44820:75:17","nodes":[],"documentation":{"id":14879,"nodeType":"StructuredDocumentation","src":"44766:49:17","text":"Prompts the user for uint256 in the terminal."},"functionSelector":"652fd489","implemented":false,"kind":"function","modifiers":[],"name":"promptUint","nameLocation":"44829:10:17","parameters":{"id":14882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14881,"mutability":"mutable","name":"promptText","nameLocation":"44856:10:17","nodeType":"VariableDeclaration","scope":14886,"src":"44840:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14880,"name":"string","nodeType":"ElementaryTypeName","src":"44840:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44839:28:17"},"returnParameters":{"id":14885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14886,"src":"44886:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14883,"name":"uint256","nodeType":"ElementaryTypeName","src":"44886:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44885:9:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14896,"nodeType":"FunctionDefinition","src":"45143:89:17","nodes":[],"documentation":{"id":14887,"nodeType":"StructuredDocumentation","src":"44901:237:17","text":"Reads the directory at the given path recursively, up to `maxDepth`.\n `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned.\n Follows symbolic links if `followLinks` is true."},"functionSelector":"c4bc59e0","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"45152:7:17","parameters":{"id":14890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14889,"mutability":"mutable","name":"path","nameLocation":"45176:4:17","nodeType":"VariableDeclaration","scope":14896,"src":"45160:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14888,"name":"string","nodeType":"ElementaryTypeName","src":"45160:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45159:22:17"},"returnParameters":{"id":14895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14894,"mutability":"mutable","name":"entries","nameLocation":"45223:7:17","nodeType":"VariableDeclaration","scope":14896,"src":"45205:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13562_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":14892,"nodeType":"UserDefinedTypeName","pathNode":{"id":14891,"name":"DirEntry","nameLocations":["45205:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":13562,"src":"45205:8:17"},"referencedDeclaration":13562,"src":"45205:8:17","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$13562_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":14893,"nodeType":"ArrayTypeName","src":"45205:10:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13562_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"45204:27:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14908,"nodeType":"FunctionDefinition","src":"45269:106:17","nodes":[],"documentation":{"id":14897,"nodeType":"StructuredDocumentation","src":"45238:26:17","text":"See `readDir(string)`."},"functionSelector":"1497876c","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"45278:7:17","parameters":{"id":14902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14899,"mutability":"mutable","name":"path","nameLocation":"45302:4:17","nodeType":"VariableDeclaration","scope":14908,"src":"45286:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14898,"name":"string","nodeType":"ElementaryTypeName","src":"45286:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14901,"mutability":"mutable","name":"maxDepth","nameLocation":"45315:8:17","nodeType":"VariableDeclaration","scope":14908,"src":"45308:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14900,"name":"uint64","nodeType":"ElementaryTypeName","src":"45308:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"45285:39:17"},"returnParameters":{"id":14907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14906,"mutability":"mutable","name":"entries","nameLocation":"45366:7:17","nodeType":"VariableDeclaration","scope":14908,"src":"45348:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13562_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":14904,"nodeType":"UserDefinedTypeName","pathNode":{"id":14903,"name":"DirEntry","nameLocations":["45348:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":13562,"src":"45348:8:17"},"referencedDeclaration":13562,"src":"45348:8:17","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$13562_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":14905,"nodeType":"ArrayTypeName","src":"45348:10:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13562_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"45347:27:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14922,"nodeType":"FunctionDefinition","src":"45412:148:17","nodes":[],"documentation":{"id":14909,"nodeType":"StructuredDocumentation","src":"45381:26:17","text":"See `readDir(string)`."},"functionSelector":"8102d70d","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"45421:7:17","parameters":{"id":14916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14911,"mutability":"mutable","name":"path","nameLocation":"45445:4:17","nodeType":"VariableDeclaration","scope":14922,"src":"45429:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14910,"name":"string","nodeType":"ElementaryTypeName","src":"45429:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14913,"mutability":"mutable","name":"maxDepth","nameLocation":"45458:8:17","nodeType":"VariableDeclaration","scope":14922,"src":"45451:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14912,"name":"uint64","nodeType":"ElementaryTypeName","src":"45451:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":14915,"mutability":"mutable","name":"followLinks","nameLocation":"45473:11:17","nodeType":"VariableDeclaration","scope":14922,"src":"45468:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14914,"name":"bool","nodeType":"ElementaryTypeName","src":"45468:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45428:57:17"},"returnParameters":{"id":14921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14920,"mutability":"mutable","name":"entries","nameLocation":"45551:7:17","nodeType":"VariableDeclaration","scope":14922,"src":"45533:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13562_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":14918,"nodeType":"UserDefinedTypeName","pathNode":{"id":14917,"name":"DirEntry","nameLocations":["45533:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":13562,"src":"45533:8:17"},"referencedDeclaration":13562,"src":"45533:8:17","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$13562_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":14919,"nodeType":"ArrayTypeName","src":"45533:10:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13562_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"45532:27:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14930,"nodeType":"FunctionDefinition","src":"45658:83:17","nodes":[],"documentation":{"id":14923,"nodeType":"StructuredDocumentation","src":"45566:87:17","text":"Reads the entire content of file to string. `path` is relative to the project root."},"functionSelector":"60f9bb11","implemented":false,"kind":"function","modifiers":[],"name":"readFile","nameLocation":"45667:8:17","parameters":{"id":14926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14925,"mutability":"mutable","name":"path","nameLocation":"45692:4:17","nodeType":"VariableDeclaration","scope":14930,"src":"45676:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14924,"name":"string","nodeType":"ElementaryTypeName","src":"45676:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45675:22:17"},"returnParameters":{"id":14929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14928,"mutability":"mutable","name":"data","nameLocation":"45735:4:17","nodeType":"VariableDeclaration","scope":14930,"src":"45721:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14927,"name":"string","nodeType":"ElementaryTypeName","src":"45721:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45720:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14938,"nodeType":"FunctionDefinition","src":"45839:88:17","nodes":[],"documentation":{"id":14931,"nodeType":"StructuredDocumentation","src":"45747:87:17","text":"Reads the entire content of file as binary. `path` is relative to the project root."},"functionSelector":"16ed7bc4","implemented":false,"kind":"function","modifiers":[],"name":"readFileBinary","nameLocation":"45848:14:17","parameters":{"id":14934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14933,"mutability":"mutable","name":"path","nameLocation":"45879:4:17","nodeType":"VariableDeclaration","scope":14938,"src":"45863:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14932,"name":"string","nodeType":"ElementaryTypeName","src":"45863:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45862:22:17"},"returnParameters":{"id":14937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14936,"mutability":"mutable","name":"data","nameLocation":"45921:4:17","nodeType":"VariableDeclaration","scope":14938,"src":"45908:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14935,"name":"bytes","nodeType":"ElementaryTypeName","src":"45908:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45907:19:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14946,"nodeType":"FunctionDefinition","src":"45976:83:17","nodes":[],"documentation":{"id":14939,"nodeType":"StructuredDocumentation","src":"45933:38:17","text":"Reads next line of file to string."},"functionSelector":"70f55728","implemented":false,"kind":"function","modifiers":[],"name":"readLine","nameLocation":"45985:8:17","parameters":{"id":14942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14941,"mutability":"mutable","name":"path","nameLocation":"46010:4:17","nodeType":"VariableDeclaration","scope":14946,"src":"45994:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14940,"name":"string","nodeType":"ElementaryTypeName","src":"45994:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45993:22:17"},"returnParameters":{"id":14945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14944,"mutability":"mutable","name":"line","nameLocation":"46053:4:17","nodeType":"VariableDeclaration","scope":14946,"src":"46039:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14943,"name":"string","nodeType":"ElementaryTypeName","src":"46039:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46038:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14954,"nodeType":"FunctionDefinition","src":"46318:93:17","nodes":[],"documentation":{"id":14947,"nodeType":"StructuredDocumentation","src":"46065:248:17","text":"Reads a symbolic link, returning the path that the link points to.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - `path` is not a symbolic link.\n - `path` does not exist."},"functionSelector":"9f5684a2","implemented":false,"kind":"function","modifiers":[],"name":"readLink","nameLocation":"46327:8:17","parameters":{"id":14950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14949,"mutability":"mutable","name":"linkPath","nameLocation":"46352:8:17","nodeType":"VariableDeclaration","scope":14954,"src":"46336:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14948,"name":"string","nodeType":"ElementaryTypeName","src":"46336:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46335:26:17"},"returnParameters":{"id":14953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14952,"mutability":"mutable","name":"targetPath","nameLocation":"46399:10:17","nodeType":"VariableDeclaration","scope":14954,"src":"46385:24:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14951,"name":"string","nodeType":"ElementaryTypeName","src":"46385:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46384:26:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14962,"nodeType":"FunctionDefinition","src":"46801:66:17","nodes":[],"documentation":{"id":14955,"nodeType":"StructuredDocumentation","src":"46417:379:17","text":"Removes a directory at the provided path.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - `path` doesn't exist.\n - `path` isn't a directory.\n - User lacks permissions to modify `path`.\n - The directory is not empty and `recursive` is false.\n `path` is relative to the project root."},"functionSelector":"45c62011","implemented":false,"kind":"function","modifiers":[],"name":"removeDir","nameLocation":"46810:9:17","parameters":{"id":14960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14957,"mutability":"mutable","name":"path","nameLocation":"46836:4:17","nodeType":"VariableDeclaration","scope":14962,"src":"46820:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14956,"name":"string","nodeType":"ElementaryTypeName","src":"46820:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14959,"mutability":"mutable","name":"recursive","nameLocation":"46847:9:17","nodeType":"VariableDeclaration","scope":14962,"src":"46842:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14958,"name":"bool","nodeType":"ElementaryTypeName","src":"46842:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46819:38:17"},"returnParameters":{"id":14961,"nodeType":"ParameterList","parameters":[],"src":"46866:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14968,"nodeType":"FunctionDefinition","src":"47200:51:17","nodes":[],"documentation":{"id":14963,"nodeType":"StructuredDocumentation","src":"46873:322:17","text":"Removes a file from the filesystem.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - `path` points to a directory.\n - The file doesn't exist.\n - The user lacks permissions to remove the file.\n `path` is relative to the project root."},"functionSelector":"f1afe04d","implemented":false,"kind":"function","modifiers":[],"name":"removeFile","nameLocation":"47209:10:17","parameters":{"id":14966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14965,"mutability":"mutable","name":"path","nameLocation":"47236:4:17","nodeType":"VariableDeclaration","scope":14968,"src":"47220:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14964,"name":"string","nodeType":"ElementaryTypeName","src":"47220:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47219:22:17"},"returnParameters":{"id":14967,"nodeType":"ParameterList","parameters":[],"src":"47250:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14978,"nodeType":"FunctionDefinition","src":"47358:91:17","nodes":[],"documentation":{"id":14969,"nodeType":"StructuredDocumentation","src":"47257:96:17","text":"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr."},"functionSelector":"f45c1ce7","implemented":false,"kind":"function","modifiers":[],"name":"tryFfi","nameLocation":"47367:6:17","parameters":{"id":14973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14972,"mutability":"mutable","name":"commandInput","nameLocation":"47392:12:17","nodeType":"VariableDeclaration","scope":14978,"src":"47374:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14970,"name":"string","nodeType":"ElementaryTypeName","src":"47374:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14971,"nodeType":"ArrayTypeName","src":"47374:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"47373:32:17"},"returnParameters":{"id":14977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14976,"mutability":"mutable","name":"result","nameLocation":"47441:6:17","nodeType":"VariableDeclaration","scope":14978,"src":"47424:23:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13596_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":14975,"nodeType":"UserDefinedTypeName","pathNode":{"id":14974,"name":"FfiResult","nameLocations":["47424:9:17"],"nodeType":"IdentifierPath","referencedDeclaration":13596,"src":"47424:9:17"},"referencedDeclaration":13596,"src":"47424:9:17","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13596_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"src":"47423:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14984,"nodeType":"FunctionDefinition","src":"47514:65:17","nodes":[],"documentation":{"id":14979,"nodeType":"StructuredDocumentation","src":"47455:54:17","text":"Returns the time since unix epoch in milliseconds."},"functionSelector":"625387dc","implemented":false,"kind":"function","modifiers":[],"name":"unixTime","nameLocation":"47523:8:17","parameters":{"id":14980,"nodeType":"ParameterList","parameters":[],"src":"47531:2:17"},"returnParameters":{"id":14983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14982,"mutability":"mutable","name":"milliseconds","nameLocation":"47565:12:17","nodeType":"VariableDeclaration","scope":14984,"src":"47557:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14981,"name":"uint256","nodeType":"ElementaryTypeName","src":"47557:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47556:22:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14992,"nodeType":"FunctionDefinition","src":"47748:72:17","nodes":[],"documentation":{"id":14985,"nodeType":"StructuredDocumentation","src":"47585:158:17","text":"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.\n `path` is relative to the project root."},"functionSelector":"897e0a97","implemented":false,"kind":"function","modifiers":[],"name":"writeFile","nameLocation":"47757:9:17","parameters":{"id":14990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14987,"mutability":"mutable","name":"path","nameLocation":"47783:4:17","nodeType":"VariableDeclaration","scope":14992,"src":"47767:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14986,"name":"string","nodeType":"ElementaryTypeName","src":"47767:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14989,"mutability":"mutable","name":"data","nameLocation":"47805:4:17","nodeType":"VariableDeclaration","scope":14992,"src":"47789:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14988,"name":"string","nodeType":"ElementaryTypeName","src":"47789:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47766:44:17"},"returnParameters":{"id":14991,"nodeType":"ParameterList","parameters":[],"src":"47819:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15000,"nodeType":"FunctionDefinition","src":"47998:77:17","nodes":[],"documentation":{"id":14993,"nodeType":"StructuredDocumentation","src":"47826:167:17","text":"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.\n `path` is relative to the project root."},"functionSelector":"1f21fc80","implemented":false,"kind":"function","modifiers":[],"name":"writeFileBinary","nameLocation":"48007:15:17","parameters":{"id":14998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14995,"mutability":"mutable","name":"path","nameLocation":"48039:4:17","nodeType":"VariableDeclaration","scope":15000,"src":"48023:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14994,"name":"string","nodeType":"ElementaryTypeName","src":"48023:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14997,"mutability":"mutable","name":"data","nameLocation":"48060:4:17","nodeType":"VariableDeclaration","scope":15000,"src":"48045:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14996,"name":"bytes","nodeType":"ElementaryTypeName","src":"48045:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48022:43:17"},"returnParameters":{"id":14999,"nodeType":"ParameterList","parameters":[],"src":"48074:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15008,"nodeType":"FunctionDefinition","src":"48196:72:17","nodes":[],"documentation":{"id":15001,"nodeType":"StructuredDocumentation","src":"48081:110:17","text":"Writes line to file, creating a file if it does not exist.\n `path` is relative to the project root."},"functionSelector":"619d897f","implemented":false,"kind":"function","modifiers":[],"name":"writeLine","nameLocation":"48205:9:17","parameters":{"id":15006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15003,"mutability":"mutable","name":"path","nameLocation":"48231:4:17","nodeType":"VariableDeclaration","scope":15008,"src":"48215:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15002,"name":"string","nodeType":"ElementaryTypeName","src":"48215:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15005,"mutability":"mutable","name":"data","nameLocation":"48253:4:17","nodeType":"VariableDeclaration","scope":15008,"src":"48237:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15004,"name":"string","nodeType":"ElementaryTypeName","src":"48237:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48214:44:17"},"returnParameters":{"id":15007,"nodeType":"ParameterList","parameters":[],"src":"48267:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15018,"nodeType":"FunctionDefinition","src":"48354:95:17","nodes":[],"documentation":{"id":15009,"nodeType":"StructuredDocumentation","src":"48305:44:17","text":"Checks if `key` exists in a JSON object."},"functionSelector":"db4235f6","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsJson","nameLocation":"48363:13:17","parameters":{"id":15014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15011,"mutability":"mutable","name":"json","nameLocation":"48393:4:17","nodeType":"VariableDeclaration","scope":15018,"src":"48377:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15010,"name":"string","nodeType":"ElementaryTypeName","src":"48377:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15013,"mutability":"mutable","name":"key","nameLocation":"48415:3:17","nodeType":"VariableDeclaration","scope":15018,"src":"48399:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15012,"name":"string","nodeType":"ElementaryTypeName","src":"48399:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48376:43:17"},"returnParameters":{"id":15017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15018,"src":"48443:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15015,"name":"bool","nodeType":"ElementaryTypeName","src":"48443:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48442:6:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15028,"nodeType":"FunctionDefinition","src":"48530:101:17","nodes":[],"documentation":{"id":15019,"nodeType":"StructuredDocumentation","src":"48455:70:17","text":"Parses a string of JSON data at `key` and coerces it to `address`."},"functionSelector":"1e19e657","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddress","nameLocation":"48539:16:17","parameters":{"id":15024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15021,"mutability":"mutable","name":"json","nameLocation":"48572:4:17","nodeType":"VariableDeclaration","scope":15028,"src":"48556:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15020,"name":"string","nodeType":"ElementaryTypeName","src":"48556:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15023,"mutability":"mutable","name":"key","nameLocation":"48594:3:17","nodeType":"VariableDeclaration","scope":15028,"src":"48578:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15022,"name":"string","nodeType":"ElementaryTypeName","src":"48578:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48555:43:17"},"returnParameters":{"id":15027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15028,"src":"48622:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15025,"name":"address","nodeType":"ElementaryTypeName","src":"48622:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48621:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15039,"nodeType":"FunctionDefinition","src":"48714:139:17","nodes":[],"documentation":{"id":15029,"nodeType":"StructuredDocumentation","src":"48637:72:17","text":"Parses a string of JSON data at `key` and coerces it to `address[]`."},"functionSelector":"2fce7883","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddressArray","nameLocation":"48723:21:17","parameters":{"id":15034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15031,"mutability":"mutable","name":"json","nameLocation":"48761:4:17","nodeType":"VariableDeclaration","scope":15039,"src":"48745:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15030,"name":"string","nodeType":"ElementaryTypeName","src":"48745:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15033,"mutability":"mutable","name":"key","nameLocation":"48783:3:17","nodeType":"VariableDeclaration","scope":15039,"src":"48767:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15032,"name":"string","nodeType":"ElementaryTypeName","src":"48767:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48744:43:17"},"returnParameters":{"id":15038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15039,"src":"48835:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15035,"name":"address","nodeType":"ElementaryTypeName","src":"48835:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15036,"nodeType":"ArrayTypeName","src":"48835:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"48834:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15049,"nodeType":"FunctionDefinition","src":"48931:95:17","nodes":[],"documentation":{"id":15040,"nodeType":"StructuredDocumentation","src":"48859:67:17","text":"Parses a string of JSON data at `key` and coerces it to `bool`."},"functionSelector":"9f86dc91","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBool","nameLocation":"48940:13:17","parameters":{"id":15045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15042,"mutability":"mutable","name":"json","nameLocation":"48970:4:17","nodeType":"VariableDeclaration","scope":15049,"src":"48954:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15041,"name":"string","nodeType":"ElementaryTypeName","src":"48954:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15044,"mutability":"mutable","name":"key","nameLocation":"48992:3:17","nodeType":"VariableDeclaration","scope":15049,"src":"48976:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15043,"name":"string","nodeType":"ElementaryTypeName","src":"48976:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48953:43:17"},"returnParameters":{"id":15048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15047,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15049,"src":"49020:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15046,"name":"bool","nodeType":"ElementaryTypeName","src":"49020:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49019:6:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15060,"nodeType":"FunctionDefinition","src":"49106:109:17","nodes":[],"documentation":{"id":15050,"nodeType":"StructuredDocumentation","src":"49032:69:17","text":"Parses a string of JSON data at `key` and coerces it to `bool[]`."},"functionSelector":"91f3b94f","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBoolArray","nameLocation":"49115:18:17","parameters":{"id":15055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15052,"mutability":"mutable","name":"json","nameLocation":"49150:4:17","nodeType":"VariableDeclaration","scope":15060,"src":"49134:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15051,"name":"string","nodeType":"ElementaryTypeName","src":"49134:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15054,"mutability":"mutable","name":"key","nameLocation":"49172:3:17","nodeType":"VariableDeclaration","scope":15060,"src":"49156:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15053,"name":"string","nodeType":"ElementaryTypeName","src":"49156:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49133:43:17"},"returnParameters":{"id":15059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15058,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15060,"src":"49200:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15056,"name":"bool","nodeType":"ElementaryTypeName","src":"49200:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15057,"nodeType":"ArrayTypeName","src":"49200:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"49199:15:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15070,"nodeType":"FunctionDefinition","src":"49294:104:17","nodes":[],"documentation":{"id":15061,"nodeType":"StructuredDocumentation","src":"49221:68:17","text":"Parses a string of JSON data at `key` and coerces it to `bytes`."},"functionSelector":"fd921be8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes","nameLocation":"49303:14:17","parameters":{"id":15066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15063,"mutability":"mutable","name":"json","nameLocation":"49334:4:17","nodeType":"VariableDeclaration","scope":15070,"src":"49318:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15062,"name":"string","nodeType":"ElementaryTypeName","src":"49318:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15065,"mutability":"mutable","name":"key","nameLocation":"49356:3:17","nodeType":"VariableDeclaration","scope":15070,"src":"49340:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15064,"name":"string","nodeType":"ElementaryTypeName","src":"49340:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49317:43:17"},"returnParameters":{"id":15069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15070,"src":"49384:12:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15067,"name":"bytes","nodeType":"ElementaryTypeName","src":"49384:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49383:14:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15080,"nodeType":"FunctionDefinition","src":"49479:101:17","nodes":[],"documentation":{"id":15071,"nodeType":"StructuredDocumentation","src":"49404:70:17","text":"Parses a string of JSON data at `key` and coerces it to `bytes32`."},"functionSelector":"1777e59d","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32","nameLocation":"49488:16:17","parameters":{"id":15076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15073,"mutability":"mutable","name":"json","nameLocation":"49521:4:17","nodeType":"VariableDeclaration","scope":15080,"src":"49505:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15072,"name":"string","nodeType":"ElementaryTypeName","src":"49505:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15075,"mutability":"mutable","name":"key","nameLocation":"49543:3:17","nodeType":"VariableDeclaration","scope":15080,"src":"49527:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15074,"name":"string","nodeType":"ElementaryTypeName","src":"49527:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49504:43:17"},"returnParameters":{"id":15079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15078,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15080,"src":"49571:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49571:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"49570:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15091,"nodeType":"FunctionDefinition","src":"49663:139:17","nodes":[],"documentation":{"id":15081,"nodeType":"StructuredDocumentation","src":"49586:72:17","text":"Parses a string of JSON data at `key` and coerces it to `bytes32[]`."},"functionSelector":"91c75bc3","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32Array","nameLocation":"49672:21:17","parameters":{"id":15086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15083,"mutability":"mutable","name":"json","nameLocation":"49710:4:17","nodeType":"VariableDeclaration","scope":15091,"src":"49694:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15082,"name":"string","nodeType":"ElementaryTypeName","src":"49694:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15085,"mutability":"mutable","name":"key","nameLocation":"49732:3:17","nodeType":"VariableDeclaration","scope":15091,"src":"49716:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15084,"name":"string","nodeType":"ElementaryTypeName","src":"49716:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49693:43:17"},"returnParameters":{"id":15090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15091,"src":"49784:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49784:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15088,"nodeType":"ArrayTypeName","src":"49784:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"49783:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15102,"nodeType":"FunctionDefinition","src":"49883:111:17","nodes":[],"documentation":{"id":15092,"nodeType":"StructuredDocumentation","src":"49808:70:17","text":"Parses a string of JSON data at `key` and coerces it to `bytes[]`."},"functionSelector":"6631aa99","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytesArray","nameLocation":"49892:19:17","parameters":{"id":15097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15094,"mutability":"mutable","name":"json","nameLocation":"49928:4:17","nodeType":"VariableDeclaration","scope":15102,"src":"49912:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15093,"name":"string","nodeType":"ElementaryTypeName","src":"49912:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15096,"mutability":"mutable","name":"key","nameLocation":"49950:3:17","nodeType":"VariableDeclaration","scope":15102,"src":"49934:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15095,"name":"string","nodeType":"ElementaryTypeName","src":"49934:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49911:43:17"},"returnParameters":{"id":15101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15100,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15102,"src":"49978:14:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15098,"name":"bytes","nodeType":"ElementaryTypeName","src":"49978:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15099,"nodeType":"ArrayTypeName","src":"49978:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"49977:16:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15112,"nodeType":"FunctionDefinition","src":"50074:96:17","nodes":[],"documentation":{"id":15103,"nodeType":"StructuredDocumentation","src":"50000:69:17","text":"Parses a string of JSON data at `key` and coerces it to `int256`."},"functionSelector":"7b048ccd","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonInt","nameLocation":"50083:12:17","parameters":{"id":15108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15105,"mutability":"mutable","name":"json","nameLocation":"50112:4:17","nodeType":"VariableDeclaration","scope":15112,"src":"50096:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15104,"name":"string","nodeType":"ElementaryTypeName","src":"50096:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15107,"mutability":"mutable","name":"key","nameLocation":"50134:3:17","nodeType":"VariableDeclaration","scope":15112,"src":"50118:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15106,"name":"string","nodeType":"ElementaryTypeName","src":"50118:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50095:43:17"},"returnParameters":{"id":15111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15112,"src":"50162:6:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15109,"name":"int256","nodeType":"ElementaryTypeName","src":"50162:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"50161:8:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15123,"nodeType":"FunctionDefinition","src":"50252:110:17","nodes":[],"documentation":{"id":15113,"nodeType":"StructuredDocumentation","src":"50176:71:17","text":"Parses a string of JSON data at `key` and coerces it to `int256[]`."},"functionSelector":"9983c28a","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonIntArray","nameLocation":"50261:17:17","parameters":{"id":15118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15115,"mutability":"mutable","name":"json","nameLocation":"50295:4:17","nodeType":"VariableDeclaration","scope":15123,"src":"50279:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15114,"name":"string","nodeType":"ElementaryTypeName","src":"50279:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15117,"mutability":"mutable","name":"key","nameLocation":"50317:3:17","nodeType":"VariableDeclaration","scope":15123,"src":"50301:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15116,"name":"string","nodeType":"ElementaryTypeName","src":"50301:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50278:43:17"},"returnParameters":{"id":15122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15123,"src":"50345:15:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15119,"name":"int256","nodeType":"ElementaryTypeName","src":"50345:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15120,"nodeType":"ArrayTypeName","src":"50345:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"50344:17:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15134,"nodeType":"FunctionDefinition","src":"50427:111:17","nodes":[],"documentation":{"id":15124,"nodeType":"StructuredDocumentation","src":"50368:54:17","text":"Returns an array of all the keys in a JSON object."},"functionSelector":"213e4198","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonKeys","nameLocation":"50436:13:17","parameters":{"id":15129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15126,"mutability":"mutable","name":"json","nameLocation":"50466:4:17","nodeType":"VariableDeclaration","scope":15134,"src":"50450:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15125,"name":"string","nodeType":"ElementaryTypeName","src":"50450:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15128,"mutability":"mutable","name":"key","nameLocation":"50488:3:17","nodeType":"VariableDeclaration","scope":15134,"src":"50472:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15127,"name":"string","nodeType":"ElementaryTypeName","src":"50472:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50449:43:17"},"returnParameters":{"id":15133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15132,"mutability":"mutable","name":"keys","nameLocation":"50532:4:17","nodeType":"VariableDeclaration","scope":15134,"src":"50516:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15130,"name":"string","nodeType":"ElementaryTypeName","src":"50516:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15131,"nodeType":"ArrayTypeName","src":"50516:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"50515:22:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15144,"nodeType":"FunctionDefinition","src":"50618:106:17","nodes":[],"documentation":{"id":15135,"nodeType":"StructuredDocumentation","src":"50544:69:17","text":"Parses a string of JSON data at `key` and coerces it to `string`."},"functionSelector":"49c4fac8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonString","nameLocation":"50627:15:17","parameters":{"id":15140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15137,"mutability":"mutable","name":"json","nameLocation":"50659:4:17","nodeType":"VariableDeclaration","scope":15144,"src":"50643:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15136,"name":"string","nodeType":"ElementaryTypeName","src":"50643:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15139,"mutability":"mutable","name":"key","nameLocation":"50681:3:17","nodeType":"VariableDeclaration","scope":15144,"src":"50665:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15138,"name":"string","nodeType":"ElementaryTypeName","src":"50665:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50642:43:17"},"returnParameters":{"id":15143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15144,"src":"50709:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15141,"name":"string","nodeType":"ElementaryTypeName","src":"50709:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50708:15:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15155,"nodeType":"FunctionDefinition","src":"50806:113:17","nodes":[],"documentation":{"id":15145,"nodeType":"StructuredDocumentation","src":"50730:71:17","text":"Parses a string of JSON data at `key` and coerces it to `string[]`."},"functionSelector":"498fdcf4","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonStringArray","nameLocation":"50815:20:17","parameters":{"id":15150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15147,"mutability":"mutable","name":"json","nameLocation":"50852:4:17","nodeType":"VariableDeclaration","scope":15155,"src":"50836:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15146,"name":"string","nodeType":"ElementaryTypeName","src":"50836:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15149,"mutability":"mutable","name":"key","nameLocation":"50874:3:17","nodeType":"VariableDeclaration","scope":15155,"src":"50858:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15148,"name":"string","nodeType":"ElementaryTypeName","src":"50858:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50835:43:17"},"returnParameters":{"id":15154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15155,"src":"50902:15:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15151,"name":"string","nodeType":"ElementaryTypeName","src":"50902:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15152,"nodeType":"ArrayTypeName","src":"50902:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"50901:17:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15167,"nodeType":"FunctionDefinition","src":"51036:165:17","nodes":[],"documentation":{"id":15156,"nodeType":"StructuredDocumentation","src":"50925:106:17","text":"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`."},"functionSelector":"0175d535","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonTypeArray","nameLocation":"51045:18:17","parameters":{"id":15163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15158,"mutability":"mutable","name":"json","nameLocation":"51080:4:17","nodeType":"VariableDeclaration","scope":15167,"src":"51064:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15157,"name":"string","nodeType":"ElementaryTypeName","src":"51064:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15160,"mutability":"mutable","name":"key","nameLocation":"51102:3:17","nodeType":"VariableDeclaration","scope":15167,"src":"51086:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15159,"name":"string","nodeType":"ElementaryTypeName","src":"51086:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15162,"mutability":"mutable","name":"typeDescription","nameLocation":"51123:15:17","nodeType":"VariableDeclaration","scope":15167,"src":"51107:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15161,"name":"string","nodeType":"ElementaryTypeName","src":"51107:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51063:76:17"},"returnParameters":{"id":15166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15167,"src":"51187:12:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15164,"name":"bytes","nodeType":"ElementaryTypeName","src":"51187:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"51186:14:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15177,"nodeType":"FunctionDefinition","src":"51303:139:17","nodes":[],"documentation":{"id":15168,"nodeType":"StructuredDocumentation","src":"51207:91:17","text":"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`."},"functionSelector":"a9da313b","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonType","nameLocation":"51312:13:17","parameters":{"id":15173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15170,"mutability":"mutable","name":"json","nameLocation":"51342:4:17","nodeType":"VariableDeclaration","scope":15177,"src":"51326:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15169,"name":"string","nodeType":"ElementaryTypeName","src":"51326:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15172,"mutability":"mutable","name":"typeDescription","nameLocation":"51364:15:17","nodeType":"VariableDeclaration","scope":15177,"src":"51348:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15171,"name":"string","nodeType":"ElementaryTypeName","src":"51348:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51325:55:17"},"returnParameters":{"id":15176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15175,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15177,"src":"51428:12:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15174,"name":"bytes","nodeType":"ElementaryTypeName","src":"51428:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"51427:14:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15189,"nodeType":"FunctionDefinition","src":"51553:160:17","nodes":[],"documentation":{"id":15178,"nodeType":"StructuredDocumentation","src":"51448:100:17","text":"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`."},"functionSelector":"e3f5ae33","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonType","nameLocation":"51562:13:17","parameters":{"id":15185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15180,"mutability":"mutable","name":"json","nameLocation":"51592:4:17","nodeType":"VariableDeclaration","scope":15189,"src":"51576:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15179,"name":"string","nodeType":"ElementaryTypeName","src":"51576:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15182,"mutability":"mutable","name":"key","nameLocation":"51614:3:17","nodeType":"VariableDeclaration","scope":15189,"src":"51598:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15181,"name":"string","nodeType":"ElementaryTypeName","src":"51598:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15184,"mutability":"mutable","name":"typeDescription","nameLocation":"51635:15:17","nodeType":"VariableDeclaration","scope":15189,"src":"51619:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15183,"name":"string","nodeType":"ElementaryTypeName","src":"51619:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51575:76:17"},"returnParameters":{"id":15188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15189,"src":"51699:12:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15186,"name":"bytes","nodeType":"ElementaryTypeName","src":"51699:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"51698:14:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15199,"nodeType":"FunctionDefinition","src":"51794:98:17","nodes":[],"documentation":{"id":15190,"nodeType":"StructuredDocumentation","src":"51719:70:17","text":"Parses a string of JSON data at `key` and coerces it to `uint256`."},"functionSelector":"addde2b6","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUint","nameLocation":"51803:13:17","parameters":{"id":15195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15192,"mutability":"mutable","name":"json","nameLocation":"51833:4:17","nodeType":"VariableDeclaration","scope":15199,"src":"51817:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15191,"name":"string","nodeType":"ElementaryTypeName","src":"51817:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15194,"mutability":"mutable","name":"key","nameLocation":"51855:3:17","nodeType":"VariableDeclaration","scope":15199,"src":"51839:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15193,"name":"string","nodeType":"ElementaryTypeName","src":"51839:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51816:43:17"},"returnParameters":{"id":15198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15197,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15199,"src":"51883:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15196,"name":"uint256","nodeType":"ElementaryTypeName","src":"51883:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51882:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15210,"nodeType":"FunctionDefinition","src":"51975:112:17","nodes":[],"documentation":{"id":15200,"nodeType":"StructuredDocumentation","src":"51898:72:17","text":"Parses a string of JSON data at `key` and coerces it to `uint256[]`."},"functionSelector":"522074ab","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUintArray","nameLocation":"51984:18:17","parameters":{"id":15205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15202,"mutability":"mutable","name":"json","nameLocation":"52019:4:17","nodeType":"VariableDeclaration","scope":15210,"src":"52003:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15201,"name":"string","nodeType":"ElementaryTypeName","src":"52003:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15204,"mutability":"mutable","name":"key","nameLocation":"52041:3:17","nodeType":"VariableDeclaration","scope":15210,"src":"52025:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15203,"name":"string","nodeType":"ElementaryTypeName","src":"52025:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52002:43:17"},"returnParameters":{"id":15209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15210,"src":"52069:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15206,"name":"uint256","nodeType":"ElementaryTypeName","src":"52069:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15207,"nodeType":"ArrayTypeName","src":"52069:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"52068:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15218,"nodeType":"FunctionDefinition","src":"52128:93:17","nodes":[],"documentation":{"id":15211,"nodeType":"StructuredDocumentation","src":"52093:30:17","text":"ABI-encodes a JSON object."},"functionSelector":"6a82600a","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"52137:9:17","parameters":{"id":15214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15213,"mutability":"mutable","name":"json","nameLocation":"52163:4:17","nodeType":"VariableDeclaration","scope":15218,"src":"52147:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15212,"name":"string","nodeType":"ElementaryTypeName","src":"52147:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52146:22:17"},"returnParameters":{"id":15217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15216,"mutability":"mutable","name":"abiEncodedData","nameLocation":"52205:14:17","nodeType":"VariableDeclaration","scope":15218,"src":"52192:27:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15215,"name":"bytes","nodeType":"ElementaryTypeName","src":"52192:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"52191:29:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15228,"nodeType":"FunctionDefinition","src":"52271:114:17","nodes":[],"documentation":{"id":15219,"nodeType":"StructuredDocumentation","src":"52227:39:17","text":"ABI-encodes a JSON object at `key`."},"functionSelector":"85940ef1","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"52280:9:17","parameters":{"id":15224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15221,"mutability":"mutable","name":"json","nameLocation":"52306:4:17","nodeType":"VariableDeclaration","scope":15228,"src":"52290:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15220,"name":"string","nodeType":"ElementaryTypeName","src":"52290:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15223,"mutability":"mutable","name":"key","nameLocation":"52328:3:17","nodeType":"VariableDeclaration","scope":15228,"src":"52312:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15222,"name":"string","nodeType":"ElementaryTypeName","src":"52312:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52289:43:17"},"returnParameters":{"id":15227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15226,"mutability":"mutable","name":"abiEncodedData","nameLocation":"52369:14:17","nodeType":"VariableDeclaration","scope":15228,"src":"52356:27:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15225,"name":"bytes","nodeType":"ElementaryTypeName","src":"52356:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"52355:29:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15240,"nodeType":"FunctionDefinition","src":"52420:148:17","nodes":[],"documentation":{"id":15229,"nodeType":"StructuredDocumentation","src":"52391:24:17","text":"See `serializeJson`."},"functionSelector":"972c6062","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"52429:16:17","parameters":{"id":15236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15231,"mutability":"mutable","name":"objectKey","nameLocation":"52462:9:17","nodeType":"VariableDeclaration","scope":15240,"src":"52446:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15230,"name":"string","nodeType":"ElementaryTypeName","src":"52446:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15233,"mutability":"mutable","name":"valueKey","nameLocation":"52489:8:17","nodeType":"VariableDeclaration","scope":15240,"src":"52473:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15232,"name":"string","nodeType":"ElementaryTypeName","src":"52473:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15235,"mutability":"mutable","name":"value","nameLocation":"52507:5:17","nodeType":"VariableDeclaration","scope":15240,"src":"52499:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15234,"name":"address","nodeType":"ElementaryTypeName","src":"52499:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52445:68:17"},"returnParameters":{"id":15239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15238,"mutability":"mutable","name":"json","nameLocation":"52562:4:17","nodeType":"VariableDeclaration","scope":15240,"src":"52548:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15237,"name":"string","nodeType":"ElementaryTypeName","src":"52548:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52547:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15253,"nodeType":"FunctionDefinition","src":"52603:160:17","nodes":[],"documentation":{"id":15241,"nodeType":"StructuredDocumentation","src":"52574:24:17","text":"See `serializeJson`."},"functionSelector":"1e356e1a","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"52612:16:17","parameters":{"id":15249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15243,"mutability":"mutable","name":"objectKey","nameLocation":"52645:9:17","nodeType":"VariableDeclaration","scope":15253,"src":"52629:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15242,"name":"string","nodeType":"ElementaryTypeName","src":"52629:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15245,"mutability":"mutable","name":"valueKey","nameLocation":"52672:8:17","nodeType":"VariableDeclaration","scope":15253,"src":"52656:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15244,"name":"string","nodeType":"ElementaryTypeName","src":"52656:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15248,"mutability":"mutable","name":"values","nameLocation":"52701:6:17","nodeType":"VariableDeclaration","scope":15253,"src":"52682:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15246,"name":"address","nodeType":"ElementaryTypeName","src":"52682:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15247,"nodeType":"ArrayTypeName","src":"52682:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"52628:80:17"},"returnParameters":{"id":15252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15251,"mutability":"mutable","name":"json","nameLocation":"52757:4:17","nodeType":"VariableDeclaration","scope":15253,"src":"52743:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15250,"name":"string","nodeType":"ElementaryTypeName","src":"52743:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52742:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15265,"nodeType":"FunctionDefinition","src":"52798:142:17","nodes":[],"documentation":{"id":15254,"nodeType":"StructuredDocumentation","src":"52769:24:17","text":"See `serializeJson`."},"functionSelector":"ac22e971","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"52807:13:17","parameters":{"id":15261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15256,"mutability":"mutable","name":"objectKey","nameLocation":"52837:9:17","nodeType":"VariableDeclaration","scope":15265,"src":"52821:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15255,"name":"string","nodeType":"ElementaryTypeName","src":"52821:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15258,"mutability":"mutable","name":"valueKey","nameLocation":"52864:8:17","nodeType":"VariableDeclaration","scope":15265,"src":"52848:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15257,"name":"string","nodeType":"ElementaryTypeName","src":"52848:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15260,"mutability":"mutable","name":"value","nameLocation":"52879:5:17","nodeType":"VariableDeclaration","scope":15265,"src":"52874:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15259,"name":"bool","nodeType":"ElementaryTypeName","src":"52874:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52820:65:17"},"returnParameters":{"id":15264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15263,"mutability":"mutable","name":"json","nameLocation":"52934:4:17","nodeType":"VariableDeclaration","scope":15265,"src":"52920:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15262,"name":"string","nodeType":"ElementaryTypeName","src":"52920:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52919:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15278,"nodeType":"FunctionDefinition","src":"52975:154:17","nodes":[],"documentation":{"id":15266,"nodeType":"StructuredDocumentation","src":"52946:24:17","text":"See `serializeJson`."},"functionSelector":"92925aa1","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"52984:13:17","parameters":{"id":15274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15268,"mutability":"mutable","name":"objectKey","nameLocation":"53014:9:17","nodeType":"VariableDeclaration","scope":15278,"src":"52998:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15267,"name":"string","nodeType":"ElementaryTypeName","src":"52998:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15270,"mutability":"mutable","name":"valueKey","nameLocation":"53041:8:17","nodeType":"VariableDeclaration","scope":15278,"src":"53025:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15269,"name":"string","nodeType":"ElementaryTypeName","src":"53025:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15273,"mutability":"mutable","name":"values","nameLocation":"53067:6:17","nodeType":"VariableDeclaration","scope":15278,"src":"53051:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15271,"name":"bool","nodeType":"ElementaryTypeName","src":"53051:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15272,"nodeType":"ArrayTypeName","src":"53051:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"52997:77:17"},"returnParameters":{"id":15277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15276,"mutability":"mutable","name":"json","nameLocation":"53123:4:17","nodeType":"VariableDeclaration","scope":15278,"src":"53109:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15275,"name":"string","nodeType":"ElementaryTypeName","src":"53109:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53108:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15290,"nodeType":"FunctionDefinition","src":"53164:148:17","nodes":[],"documentation":{"id":15279,"nodeType":"StructuredDocumentation","src":"53135:24:17","text":"See `serializeJson`."},"functionSelector":"2d812b44","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"53173:16:17","parameters":{"id":15286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15281,"mutability":"mutable","name":"objectKey","nameLocation":"53206:9:17","nodeType":"VariableDeclaration","scope":15290,"src":"53190:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15280,"name":"string","nodeType":"ElementaryTypeName","src":"53190:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15283,"mutability":"mutable","name":"valueKey","nameLocation":"53233:8:17","nodeType":"VariableDeclaration","scope":15290,"src":"53217:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15282,"name":"string","nodeType":"ElementaryTypeName","src":"53217:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15285,"mutability":"mutable","name":"value","nameLocation":"53251:5:17","nodeType":"VariableDeclaration","scope":15290,"src":"53243:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53243:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"53189:68:17"},"returnParameters":{"id":15289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15288,"mutability":"mutable","name":"json","nameLocation":"53306:4:17","nodeType":"VariableDeclaration","scope":15290,"src":"53292:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15287,"name":"string","nodeType":"ElementaryTypeName","src":"53292:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53291:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15303,"nodeType":"FunctionDefinition","src":"53347:160:17","nodes":[],"documentation":{"id":15291,"nodeType":"StructuredDocumentation","src":"53318:24:17","text":"See `serializeJson`."},"functionSelector":"201e43e2","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"53356:16:17","parameters":{"id":15299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15293,"mutability":"mutable","name":"objectKey","nameLocation":"53389:9:17","nodeType":"VariableDeclaration","scope":15303,"src":"53373:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15292,"name":"string","nodeType":"ElementaryTypeName","src":"53373:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15295,"mutability":"mutable","name":"valueKey","nameLocation":"53416:8:17","nodeType":"VariableDeclaration","scope":15303,"src":"53400:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15294,"name":"string","nodeType":"ElementaryTypeName","src":"53400:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15298,"mutability":"mutable","name":"values","nameLocation":"53445:6:17","nodeType":"VariableDeclaration","scope":15303,"src":"53426:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53426:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15297,"nodeType":"ArrayTypeName","src":"53426:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"53372:80:17"},"returnParameters":{"id":15302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15301,"mutability":"mutable","name":"json","nameLocation":"53501:4:17","nodeType":"VariableDeclaration","scope":15303,"src":"53487:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15300,"name":"string","nodeType":"ElementaryTypeName","src":"53487:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53486:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15315,"nodeType":"FunctionDefinition","src":"53542:153:17","nodes":[],"documentation":{"id":15304,"nodeType":"StructuredDocumentation","src":"53513:24:17","text":"See `serializeJson`."},"functionSelector":"f21d52c7","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"53551:14:17","parameters":{"id":15311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15306,"mutability":"mutable","name":"objectKey","nameLocation":"53582:9:17","nodeType":"VariableDeclaration","scope":15315,"src":"53566:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15305,"name":"string","nodeType":"ElementaryTypeName","src":"53566:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15308,"mutability":"mutable","name":"valueKey","nameLocation":"53609:8:17","nodeType":"VariableDeclaration","scope":15315,"src":"53593:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15307,"name":"string","nodeType":"ElementaryTypeName","src":"53593:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15310,"mutability":"mutable","name":"value","nameLocation":"53634:5:17","nodeType":"VariableDeclaration","scope":15315,"src":"53619:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15309,"name":"bytes","nodeType":"ElementaryTypeName","src":"53619:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"53565:75:17"},"returnParameters":{"id":15314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15313,"mutability":"mutable","name":"json","nameLocation":"53689:4:17","nodeType":"VariableDeclaration","scope":15315,"src":"53675:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15312,"name":"string","nodeType":"ElementaryTypeName","src":"53675:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53674:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15328,"nodeType":"FunctionDefinition","src":"53730:156:17","nodes":[],"documentation":{"id":15316,"nodeType":"StructuredDocumentation","src":"53701:24:17","text":"See `serializeJson`."},"functionSelector":"9884b232","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"53739:14:17","parameters":{"id":15324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15318,"mutability":"mutable","name":"objectKey","nameLocation":"53770:9:17","nodeType":"VariableDeclaration","scope":15328,"src":"53754:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15317,"name":"string","nodeType":"ElementaryTypeName","src":"53754:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15320,"mutability":"mutable","name":"valueKey","nameLocation":"53797:8:17","nodeType":"VariableDeclaration","scope":15328,"src":"53781:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15319,"name":"string","nodeType":"ElementaryTypeName","src":"53781:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15323,"mutability":"mutable","name":"values","nameLocation":"53824:6:17","nodeType":"VariableDeclaration","scope":15328,"src":"53807:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15321,"name":"bytes","nodeType":"ElementaryTypeName","src":"53807:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15322,"nodeType":"ArrayTypeName","src":"53807:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"53753:78:17"},"returnParameters":{"id":15327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15326,"mutability":"mutable","name":"json","nameLocation":"53880:4:17","nodeType":"VariableDeclaration","scope":15328,"src":"53866:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15325,"name":"string","nodeType":"ElementaryTypeName","src":"53866:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53865:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15340,"nodeType":"FunctionDefinition","src":"53921:143:17","nodes":[],"documentation":{"id":15329,"nodeType":"StructuredDocumentation","src":"53892:24:17","text":"See `serializeJson`."},"functionSelector":"3f33db60","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"53930:12:17","parameters":{"id":15336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15331,"mutability":"mutable","name":"objectKey","nameLocation":"53959:9:17","nodeType":"VariableDeclaration","scope":15340,"src":"53943:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15330,"name":"string","nodeType":"ElementaryTypeName","src":"53943:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15333,"mutability":"mutable","name":"valueKey","nameLocation":"53986:8:17","nodeType":"VariableDeclaration","scope":15340,"src":"53970:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15332,"name":"string","nodeType":"ElementaryTypeName","src":"53970:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15335,"mutability":"mutable","name":"value","nameLocation":"54003:5:17","nodeType":"VariableDeclaration","scope":15340,"src":"53996:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15334,"name":"int256","nodeType":"ElementaryTypeName","src":"53996:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"53942:67:17"},"returnParameters":{"id":15339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15338,"mutability":"mutable","name":"json","nameLocation":"54058:4:17","nodeType":"VariableDeclaration","scope":15340,"src":"54044:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15337,"name":"string","nodeType":"ElementaryTypeName","src":"54044:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54043:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15353,"nodeType":"FunctionDefinition","src":"54099:155:17","nodes":[],"documentation":{"id":15341,"nodeType":"StructuredDocumentation","src":"54070:24:17","text":"See `serializeJson`."},"functionSelector":"7676e127","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"54108:12:17","parameters":{"id":15349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15343,"mutability":"mutable","name":"objectKey","nameLocation":"54137:9:17","nodeType":"VariableDeclaration","scope":15353,"src":"54121:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15342,"name":"string","nodeType":"ElementaryTypeName","src":"54121:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15345,"mutability":"mutable","name":"valueKey","nameLocation":"54164:8:17","nodeType":"VariableDeclaration","scope":15353,"src":"54148:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15344,"name":"string","nodeType":"ElementaryTypeName","src":"54148:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15348,"mutability":"mutable","name":"values","nameLocation":"54192:6:17","nodeType":"VariableDeclaration","scope":15353,"src":"54174:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15346,"name":"int256","nodeType":"ElementaryTypeName","src":"54174:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15347,"nodeType":"ArrayTypeName","src":"54174:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"54120:79:17"},"returnParameters":{"id":15352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15351,"mutability":"mutable","name":"json","nameLocation":"54248:4:17","nodeType":"VariableDeclaration","scope":15353,"src":"54234:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15350,"name":"string","nodeType":"ElementaryTypeName","src":"54234:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54233:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15363,"nodeType":"FunctionDefinition","src":"54451:111:17","nodes":[],"documentation":{"id":15354,"nodeType":"StructuredDocumentation","src":"54260:186:17","text":"Serializes a key and value to a JSON object stored in-memory that can be later written to a file.\n Returns the stringified version of the specific JSON file up to that moment."},"functionSelector":"9b3358b0","implemented":false,"kind":"function","modifiers":[],"name":"serializeJson","nameLocation":"54460:13:17","parameters":{"id":15359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15356,"mutability":"mutable","name":"objectKey","nameLocation":"54490:9:17","nodeType":"VariableDeclaration","scope":15363,"src":"54474:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15355,"name":"string","nodeType":"ElementaryTypeName","src":"54474:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15358,"mutability":"mutable","name":"value","nameLocation":"54517:5:17","nodeType":"VariableDeclaration","scope":15363,"src":"54501:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15357,"name":"string","nodeType":"ElementaryTypeName","src":"54501:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54473:50:17"},"returnParameters":{"id":15362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15361,"mutability":"mutable","name":"json","nameLocation":"54556:4:17","nodeType":"VariableDeclaration","scope":15363,"src":"54542:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15360,"name":"string","nodeType":"ElementaryTypeName","src":"54542:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54541:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15373,"nodeType":"FunctionDefinition","src":"54597:149:17","nodes":[],"documentation":{"id":15364,"nodeType":"StructuredDocumentation","src":"54568:24:17","text":"See `serializeJson`."},"functionSelector":"6d4f96a6","implemented":false,"kind":"function","modifiers":[],"name":"serializeJsonType","nameLocation":"54606:17:17","parameters":{"id":15369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15366,"mutability":"mutable","name":"typeDescription","nameLocation":"54640:15:17","nodeType":"VariableDeclaration","scope":15373,"src":"54624:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15365,"name":"string","nodeType":"ElementaryTypeName","src":"54624:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15368,"mutability":"mutable","name":"value","nameLocation":"54672:5:17","nodeType":"VariableDeclaration","scope":15373,"src":"54657:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15367,"name":"bytes","nodeType":"ElementaryTypeName","src":"54657:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"54623:55:17"},"returnParameters":{"id":15372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15371,"mutability":"mutable","name":"json","nameLocation":"54740:4:17","nodeType":"VariableDeclaration","scope":15373,"src":"54726:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15370,"name":"string","nodeType":"ElementaryTypeName","src":"54726:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54725:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15387,"nodeType":"FunctionDefinition","src":"54781:211:17","nodes":[],"documentation":{"id":15374,"nodeType":"StructuredDocumentation","src":"54752:24:17","text":"See `serializeJson`."},"functionSelector":"6f93bccb","implemented":false,"kind":"function","modifiers":[],"name":"serializeJsonType","nameLocation":"54790:17:17","parameters":{"id":15383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15376,"mutability":"mutable","name":"objectKey","nameLocation":"54833:9:17","nodeType":"VariableDeclaration","scope":15387,"src":"54817:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15375,"name":"string","nodeType":"ElementaryTypeName","src":"54817:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15378,"mutability":"mutable","name":"valueKey","nameLocation":"54868:8:17","nodeType":"VariableDeclaration","scope":15387,"src":"54852:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15377,"name":"string","nodeType":"ElementaryTypeName","src":"54852:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15380,"mutability":"mutable","name":"typeDescription","nameLocation":"54902:15:17","nodeType":"VariableDeclaration","scope":15387,"src":"54886:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15379,"name":"string","nodeType":"ElementaryTypeName","src":"54886:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15382,"mutability":"mutable","name":"value","nameLocation":"54942:5:17","nodeType":"VariableDeclaration","scope":15387,"src":"54927:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15381,"name":"bytes","nodeType":"ElementaryTypeName","src":"54927:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"54807:146:17"},"returnParameters":{"id":15386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15385,"mutability":"mutable","name":"json","nameLocation":"54986:4:17","nodeType":"VariableDeclaration","scope":15387,"src":"54972:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15384,"name":"string","nodeType":"ElementaryTypeName","src":"54972:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54971:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15399,"nodeType":"FunctionDefinition","src":"55027:155:17","nodes":[],"documentation":{"id":15388,"nodeType":"StructuredDocumentation","src":"54998:24:17","text":"See `serializeJson`."},"functionSelector":"88da6d35","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"55036:15:17","parameters":{"id":15395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15390,"mutability":"mutable","name":"objectKey","nameLocation":"55068:9:17","nodeType":"VariableDeclaration","scope":15399,"src":"55052:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15389,"name":"string","nodeType":"ElementaryTypeName","src":"55052:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15392,"mutability":"mutable","name":"valueKey","nameLocation":"55095:8:17","nodeType":"VariableDeclaration","scope":15399,"src":"55079:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15391,"name":"string","nodeType":"ElementaryTypeName","src":"55079:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15394,"mutability":"mutable","name":"value","nameLocation":"55121:5:17","nodeType":"VariableDeclaration","scope":15399,"src":"55105:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15393,"name":"string","nodeType":"ElementaryTypeName","src":"55105:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55051:76:17"},"returnParameters":{"id":15398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15397,"mutability":"mutable","name":"json","nameLocation":"55176:4:17","nodeType":"VariableDeclaration","scope":15399,"src":"55162:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15396,"name":"string","nodeType":"ElementaryTypeName","src":"55162:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55161:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15412,"nodeType":"FunctionDefinition","src":"55217:158:17","nodes":[],"documentation":{"id":15400,"nodeType":"StructuredDocumentation","src":"55188:24:17","text":"See `serializeJson`."},"functionSelector":"561cd6f3","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"55226:15:17","parameters":{"id":15408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15402,"mutability":"mutable","name":"objectKey","nameLocation":"55258:9:17","nodeType":"VariableDeclaration","scope":15412,"src":"55242:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15401,"name":"string","nodeType":"ElementaryTypeName","src":"55242:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15404,"mutability":"mutable","name":"valueKey","nameLocation":"55285:8:17","nodeType":"VariableDeclaration","scope":15412,"src":"55269:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15403,"name":"string","nodeType":"ElementaryTypeName","src":"55269:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15407,"mutability":"mutable","name":"values","nameLocation":"55313:6:17","nodeType":"VariableDeclaration","scope":15412,"src":"55295:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15405,"name":"string","nodeType":"ElementaryTypeName","src":"55295:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15406,"nodeType":"ArrayTypeName","src":"55295:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"55241:79:17"},"returnParameters":{"id":15411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15410,"mutability":"mutable","name":"json","nameLocation":"55369:4:17","nodeType":"VariableDeclaration","scope":15412,"src":"55355:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15409,"name":"string","nodeType":"ElementaryTypeName","src":"55355:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55354:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15424,"nodeType":"FunctionDefinition","src":"55410:150:17","nodes":[],"documentation":{"id":15413,"nodeType":"StructuredDocumentation","src":"55381:24:17","text":"See `serializeJson`."},"functionSelector":"ae5a2ae8","implemented":false,"kind":"function","modifiers":[],"name":"serializeUintToHex","nameLocation":"55419:18:17","parameters":{"id":15420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15415,"mutability":"mutable","name":"objectKey","nameLocation":"55454:9:17","nodeType":"VariableDeclaration","scope":15424,"src":"55438:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15414,"name":"string","nodeType":"ElementaryTypeName","src":"55438:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15417,"mutability":"mutable","name":"valueKey","nameLocation":"55481:8:17","nodeType":"VariableDeclaration","scope":15424,"src":"55465:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15416,"name":"string","nodeType":"ElementaryTypeName","src":"55465:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15419,"mutability":"mutable","name":"value","nameLocation":"55499:5:17","nodeType":"VariableDeclaration","scope":15424,"src":"55491:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15418,"name":"uint256","nodeType":"ElementaryTypeName","src":"55491:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55437:68:17"},"returnParameters":{"id":15423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15422,"mutability":"mutable","name":"json","nameLocation":"55554:4:17","nodeType":"VariableDeclaration","scope":15424,"src":"55540:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15421,"name":"string","nodeType":"ElementaryTypeName","src":"55540:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55539:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15436,"nodeType":"FunctionDefinition","src":"55595:145:17","nodes":[],"documentation":{"id":15425,"nodeType":"StructuredDocumentation","src":"55566:24:17","text":"See `serializeJson`."},"functionSelector":"129e9002","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"55604:13:17","parameters":{"id":15432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15427,"mutability":"mutable","name":"objectKey","nameLocation":"55634:9:17","nodeType":"VariableDeclaration","scope":15436,"src":"55618:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15426,"name":"string","nodeType":"ElementaryTypeName","src":"55618:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15429,"mutability":"mutable","name":"valueKey","nameLocation":"55661:8:17","nodeType":"VariableDeclaration","scope":15436,"src":"55645:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15428,"name":"string","nodeType":"ElementaryTypeName","src":"55645:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15431,"mutability":"mutable","name":"value","nameLocation":"55679:5:17","nodeType":"VariableDeclaration","scope":15436,"src":"55671:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15430,"name":"uint256","nodeType":"ElementaryTypeName","src":"55671:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55617:68:17"},"returnParameters":{"id":15435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15434,"mutability":"mutable","name":"json","nameLocation":"55734:4:17","nodeType":"VariableDeclaration","scope":15436,"src":"55720:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15433,"name":"string","nodeType":"ElementaryTypeName","src":"55720:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55719:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15449,"nodeType":"FunctionDefinition","src":"55775:157:17","nodes":[],"documentation":{"id":15437,"nodeType":"StructuredDocumentation","src":"55746:24:17","text":"See `serializeJson`."},"functionSelector":"fee9a469","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"55784:13:17","parameters":{"id":15445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15439,"mutability":"mutable","name":"objectKey","nameLocation":"55814:9:17","nodeType":"VariableDeclaration","scope":15449,"src":"55798:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15438,"name":"string","nodeType":"ElementaryTypeName","src":"55798:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15441,"mutability":"mutable","name":"valueKey","nameLocation":"55841:8:17","nodeType":"VariableDeclaration","scope":15449,"src":"55825:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15440,"name":"string","nodeType":"ElementaryTypeName","src":"55825:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15444,"mutability":"mutable","name":"values","nameLocation":"55870:6:17","nodeType":"VariableDeclaration","scope":15449,"src":"55851:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15442,"name":"uint256","nodeType":"ElementaryTypeName","src":"55851:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15443,"nodeType":"ArrayTypeName","src":"55851:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"55797:80:17"},"returnParameters":{"id":15448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15447,"mutability":"mutable","name":"json","nameLocation":"55926:4:17","nodeType":"VariableDeclaration","scope":15449,"src":"55912:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15446,"name":"string","nodeType":"ElementaryTypeName","src":"55912:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55911:20:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15457,"nodeType":"FunctionDefinition","src":"56032:72:17","nodes":[],"documentation":{"id":15450,"nodeType":"StructuredDocumentation","src":"55938:89:17","text":"Write a serialized JSON object to a file. If the file exists, it will be overwritten."},"functionSelector":"e23cd19f","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"56041:9:17","parameters":{"id":15455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15452,"mutability":"mutable","name":"json","nameLocation":"56067:4:17","nodeType":"VariableDeclaration","scope":15457,"src":"56051:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15451,"name":"string","nodeType":"ElementaryTypeName","src":"56051:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15454,"mutability":"mutable","name":"path","nameLocation":"56089:4:17","nodeType":"VariableDeclaration","scope":15457,"src":"56073:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15453,"name":"string","nodeType":"ElementaryTypeName","src":"56073:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56050:44:17"},"returnParameters":{"id":15456,"nodeType":"ParameterList","parameters":[],"src":"56103:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15467,"nodeType":"FunctionDefinition","src":"56407:98:17","nodes":[],"documentation":{"id":15458,"nodeType":"StructuredDocumentation","src":"56110:292:17","text":"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = \n This is useful to replace a specific value of a JSON file, without having to parse the entire thing.\n This cheatcode will create new keys if they didn't previously exist."},"functionSelector":"35d6ad46","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"56416:9:17","parameters":{"id":15465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15460,"mutability":"mutable","name":"json","nameLocation":"56442:4:17","nodeType":"VariableDeclaration","scope":15467,"src":"56426:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15459,"name":"string","nodeType":"ElementaryTypeName","src":"56426:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15462,"mutability":"mutable","name":"path","nameLocation":"56464:4:17","nodeType":"VariableDeclaration","scope":15467,"src":"56448:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15461,"name":"string","nodeType":"ElementaryTypeName","src":"56448:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15464,"mutability":"mutable","name":"valueKey","nameLocation":"56486:8:17","nodeType":"VariableDeclaration","scope":15467,"src":"56470:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15463,"name":"string","nodeType":"ElementaryTypeName","src":"56470:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56425:70:17"},"returnParameters":{"id":15466,"nodeType":"ParameterList","parameters":[],"src":"56504:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15477,"nodeType":"FunctionDefinition","src":"56667:91:17","nodes":[],"documentation":{"id":15468,"nodeType":"StructuredDocumentation","src":"56511:151:17","text":"Checks if `key` exists in a JSON object\n `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions."},"functionSelector":"528a683c","implemented":false,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"56676:9:17","parameters":{"id":15473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15470,"mutability":"mutable","name":"json","nameLocation":"56702:4:17","nodeType":"VariableDeclaration","scope":15477,"src":"56686:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15469,"name":"string","nodeType":"ElementaryTypeName","src":"56686:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15472,"mutability":"mutable","name":"key","nameLocation":"56724:3:17","nodeType":"VariableDeclaration","scope":15477,"src":"56708:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15471,"name":"string","nodeType":"ElementaryTypeName","src":"56708:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56685:43:17"},"returnParameters":{"id":15476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15477,"src":"56752:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15474,"name":"bool","nodeType":"ElementaryTypeName","src":"56752:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56751:6:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15483,"nodeType":"FunctionDefinition","src":"56849:50:17","nodes":[],"documentation":{"id":15478,"nodeType":"StructuredDocumentation","src":"56800:44:17","text":"Attach an EIP-4844 blob to the next call"},"functionSelector":"10cb385c","implemented":false,"kind":"function","modifiers":[],"name":"attachBlob","nameLocation":"56858:10:17","parameters":{"id":15481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15480,"mutability":"mutable","name":"blob","nameLocation":"56884:4:17","nodeType":"VariableDeclaration","scope":15483,"src":"56869:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15479,"name":"bytes","nodeType":"ElementaryTypeName","src":"56869:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"56868:21:17"},"returnParameters":{"id":15482,"nodeType":"ParameterList","parameters":[],"src":"56898:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15490,"nodeType":"FunctionDefinition","src":"56964:79:17","nodes":[],"documentation":{"id":15484,"nodeType":"StructuredDocumentation","src":"56905:54:17","text":"Designate the next call as an EIP-7702 transaction"},"functionSelector":"14ae3519","implemented":false,"kind":"function","modifiers":[],"name":"attachDelegation","nameLocation":"56973:16:17","parameters":{"id":15488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15487,"mutability":"mutable","name":"signedDelegation","nameLocation":"57016:16:17","nodeType":"VariableDeclaration","scope":15490,"src":"56990:42:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_calldata_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":15486,"nodeType":"UserDefinedTypeName","pathNode":{"id":15485,"name":"SignedDelegation","nameLocations":["56990:16:17"],"nodeType":"IdentifierPath","referencedDeclaration":13714,"src":"56990:16:17"},"referencedDeclaration":13714,"src":"56990:16:17","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"56989:44:17"},"returnParameters":{"id":15489,"nodeType":"ParameterList","parameters":[],"src":"57042:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15499,"nodeType":"FunctionDefinition","src":"57145:96:17","nodes":[],"documentation":{"id":15491,"nodeType":"StructuredDocumentation","src":"57049:91:17","text":"Designate the next call as an EIP-7702 transaction, with optional cross-chain validity."},"functionSelector":"f4460d34","implemented":false,"kind":"function","modifiers":[],"name":"attachDelegation","nameLocation":"57154:16:17","parameters":{"id":15497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15494,"mutability":"mutable","name":"signedDelegation","nameLocation":"57197:16:17","nodeType":"VariableDeclaration","scope":15499,"src":"57171:42:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_calldata_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":15493,"nodeType":"UserDefinedTypeName","pathNode":{"id":15492,"name":"SignedDelegation","nameLocations":["57171:16:17"],"nodeType":"IdentifierPath","referencedDeclaration":13714,"src":"57171:16:17"},"referencedDeclaration":13714,"src":"57171:16:17","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"},{"constant":false,"id":15496,"mutability":"mutable","name":"crossChain","nameLocation":"57220:10:17","nodeType":"VariableDeclaration","scope":15499,"src":"57215:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15495,"name":"bool","nodeType":"ElementaryTypeName","src":"57215:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57170:61:17"},"returnParameters":{"id":15498,"nodeType":"ParameterList","parameters":[],"src":"57240:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15505,"nodeType":"FunctionDefinition","src":"57316:63:17","nodes":[],"documentation":{"id":15500,"nodeType":"StructuredDocumentation","src":"57247:64:17","text":"Takes a signed transaction and broadcasts it to the network."},"functionSelector":"8c0c72e0","implemented":false,"kind":"function","modifiers":[],"name":"broadcastRawTransaction","nameLocation":"57325:23:17","parameters":{"id":15503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15502,"mutability":"mutable","name":"data","nameLocation":"57364:4:17","nodeType":"VariableDeclaration","scope":15505,"src":"57349:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15501,"name":"bytes","nodeType":"ElementaryTypeName","src":"57349:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"57348:21:17"},"returnParameters":{"id":15504,"nodeType":"ParameterList","parameters":[],"src":"57378:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15509,"nodeType":"FunctionDefinition","src":"57882:30:17","nodes":[],"documentation":{"id":15506,"nodeType":"StructuredDocumentation","src":"57385:492:17","text":"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain.\n Broadcasting address is determined by checking the following in order:\n 1. If `--sender` argument was provided, that address is used.\n 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"functionSelector":"afc98040","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"57891:9:17","parameters":{"id":15507,"nodeType":"ParameterList","parameters":[],"src":"57900:2:17"},"returnParameters":{"id":15508,"nodeType":"ParameterList","parameters":[],"src":"57911:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15515,"nodeType":"FunctionDefinition","src":"58082:44:17","nodes":[],"documentation":{"id":15510,"nodeType":"StructuredDocumentation","src":"57918:159:17","text":"Has the next call (at this call depth only) create a transaction with the address provided\n as the sender that can later be signed and sent onchain."},"functionSelector":"e6962cdb","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"58091:9:17","parameters":{"id":15513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15512,"mutability":"mutable","name":"signer","nameLocation":"58109:6:17","nodeType":"VariableDeclaration","scope":15515,"src":"58101:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15511,"name":"address","nodeType":"ElementaryTypeName","src":"58101:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58100:16:17"},"returnParameters":{"id":15514,"nodeType":"ParameterList","parameters":[],"src":"58125:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15521,"nodeType":"FunctionDefinition","src":"58300:48:17","nodes":[],"documentation":{"id":15516,"nodeType":"StructuredDocumentation","src":"58132:163:17","text":"Has the next call (at this call depth only) create a transaction with the private key\n provided as the sender that can later be signed and sent onchain."},"functionSelector":"f67a965b","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"58309:9:17","parameters":{"id":15519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15518,"mutability":"mutable","name":"privateKey","nameLocation":"58327:10:17","nodeType":"VariableDeclaration","scope":15521,"src":"58319:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15517,"name":"uint256","nodeType":"ElementaryTypeName","src":"58319:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58318:20:17"},"returnParameters":{"id":15520,"nodeType":"ParameterList","parameters":[],"src":"58347:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15528,"nodeType":"FunctionDefinition","src":"58437:71:17","nodes":[],"documentation":{"id":15522,"nodeType":"StructuredDocumentation","src":"58354:78:17","text":"Returns addresses of available unlocked wallets in the script environment."},"functionSelector":"db7a4605","implemented":false,"kind":"function","modifiers":[],"name":"getWallets","nameLocation":"58446:10:17","parameters":{"id":15523,"nodeType":"ParameterList","parameters":[],"src":"58456:2:17"},"returnParameters":{"id":15527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15526,"mutability":"mutable","name":"wallets","nameLocation":"58499:7:17","nodeType":"VariableDeclaration","scope":15528,"src":"58482:24:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15524,"name":"address","nodeType":"ElementaryTypeName","src":"58482:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15525,"nodeType":"ArrayTypeName","src":"58482:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"58481:26:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15539,"nodeType":"FunctionDefinition","src":"58608:153:17","nodes":[],"documentation":{"id":15529,"nodeType":"StructuredDocumentation","src":"58514:89:17","text":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction"},"functionSelector":"c7fa7288","implemented":false,"kind":"function","modifiers":[],"name":"signAndAttachDelegation","nameLocation":"58617:23:17","parameters":{"id":15534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15531,"mutability":"mutable","name":"implementation","nameLocation":"58649:14:17","nodeType":"VariableDeclaration","scope":15539,"src":"58641:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15530,"name":"address","nodeType":"ElementaryTypeName","src":"58641:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15533,"mutability":"mutable","name":"privateKey","nameLocation":"58673:10:17","nodeType":"VariableDeclaration","scope":15539,"src":"58665:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15532,"name":"uint256","nodeType":"ElementaryTypeName","src":"58665:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58640:44:17"},"returnParameters":{"id":15538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15537,"mutability":"mutable","name":"signedDelegation","nameLocation":"58743:16:17","nodeType":"VariableDeclaration","scope":15539,"src":"58719:40:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":15536,"nodeType":"UserDefinedTypeName","pathNode":{"id":15535,"name":"SignedDelegation","nameLocations":["58719:16:17"],"nodeType":"IdentifierPath","referencedDeclaration":13714,"src":"58719:16:17"},"referencedDeclaration":13714,"src":"58719:16:17","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"58718:42:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15552,"nodeType":"FunctionDefinition","src":"58880:167:17","nodes":[],"documentation":{"id":15540,"nodeType":"StructuredDocumentation","src":"58767:108:17","text":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce"},"functionSelector":"cde3e5be","implemented":false,"kind":"function","modifiers":[],"name":"signAndAttachDelegation","nameLocation":"58889:23:17","parameters":{"id":15547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15542,"mutability":"mutable","name":"implementation","nameLocation":"58921:14:17","nodeType":"VariableDeclaration","scope":15552,"src":"58913:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15541,"name":"address","nodeType":"ElementaryTypeName","src":"58913:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15544,"mutability":"mutable","name":"privateKey","nameLocation":"58945:10:17","nodeType":"VariableDeclaration","scope":15552,"src":"58937:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15543,"name":"uint256","nodeType":"ElementaryTypeName","src":"58937:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15546,"mutability":"mutable","name":"nonce","nameLocation":"58964:5:17","nodeType":"VariableDeclaration","scope":15552,"src":"58957:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15545,"name":"uint64","nodeType":"ElementaryTypeName","src":"58957:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"58912:58:17"},"returnParameters":{"id":15551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15550,"mutability":"mutable","name":"signedDelegation","nameLocation":"59029:16:17","nodeType":"VariableDeclaration","scope":15552,"src":"59005:40:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":15549,"nodeType":"UserDefinedTypeName","pathNode":{"id":15548,"name":"SignedDelegation","nameLocations":["59005:16:17"],"nodeType":"IdentifierPath","referencedDeclaration":13714,"src":"59005:16:17"},"referencedDeclaration":13714,"src":"59005:16:17","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"59004:42:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15565,"nodeType":"FunctionDefinition","src":"59184:170:17","nodes":[],"documentation":{"id":15553,"nodeType":"StructuredDocumentation","src":"59053:126:17","text":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity."},"functionSelector":"d936e146","implemented":false,"kind":"function","modifiers":[],"name":"signAndAttachDelegation","nameLocation":"59193:23:17","parameters":{"id":15560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15555,"mutability":"mutable","name":"implementation","nameLocation":"59225:14:17","nodeType":"VariableDeclaration","scope":15565,"src":"59217:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15554,"name":"address","nodeType":"ElementaryTypeName","src":"59217:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15557,"mutability":"mutable","name":"privateKey","nameLocation":"59249:10:17","nodeType":"VariableDeclaration","scope":15565,"src":"59241:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15556,"name":"uint256","nodeType":"ElementaryTypeName","src":"59241:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15559,"mutability":"mutable","name":"crossChain","nameLocation":"59266:10:17","nodeType":"VariableDeclaration","scope":15565,"src":"59261:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15558,"name":"bool","nodeType":"ElementaryTypeName","src":"59261:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59216:61:17"},"returnParameters":{"id":15564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15563,"mutability":"mutable","name":"signedDelegation","nameLocation":"59336:16:17","nodeType":"VariableDeclaration","scope":15565,"src":"59312:40:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":15562,"nodeType":"UserDefinedTypeName","pathNode":{"id":15561,"name":"SignedDelegation","nameLocations":["59312:16:17"],"nodeType":"IdentifierPath","referencedDeclaration":13714,"src":"59312:16:17"},"referencedDeclaration":13714,"src":"59312:16:17","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"59311:42:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15576,"nodeType":"FunctionDefinition","src":"59414:144:17","nodes":[],"documentation":{"id":15566,"nodeType":"StructuredDocumentation","src":"59360:49:17","text":"Sign an EIP-7702 authorization for delegation"},"functionSelector":"5b593c7b","implemented":false,"kind":"function","modifiers":[],"name":"signDelegation","nameLocation":"59423:14:17","parameters":{"id":15571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15568,"mutability":"mutable","name":"implementation","nameLocation":"59446:14:17","nodeType":"VariableDeclaration","scope":15576,"src":"59438:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15567,"name":"address","nodeType":"ElementaryTypeName","src":"59438:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15570,"mutability":"mutable","name":"privateKey","nameLocation":"59470:10:17","nodeType":"VariableDeclaration","scope":15576,"src":"59462:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15569,"name":"uint256","nodeType":"ElementaryTypeName","src":"59462:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59437:44:17"},"returnParameters":{"id":15575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15574,"mutability":"mutable","name":"signedDelegation","nameLocation":"59540:16:17","nodeType":"VariableDeclaration","scope":15576,"src":"59516:40:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":15573,"nodeType":"UserDefinedTypeName","pathNode":{"id":15572,"name":"SignedDelegation","nameLocations":["59516:16:17"],"nodeType":"IdentifierPath","referencedDeclaration":13714,"src":"59516:16:17"},"referencedDeclaration":13714,"src":"59516:16:17","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"59515:42:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15589,"nodeType":"FunctionDefinition","src":"59637:158:17","nodes":[],"documentation":{"id":15577,"nodeType":"StructuredDocumentation","src":"59564:68:17","text":"Sign an EIP-7702 authorization for delegation for specific nonce"},"functionSelector":"ceba2ec3","implemented":false,"kind":"function","modifiers":[],"name":"signDelegation","nameLocation":"59646:14:17","parameters":{"id":15584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15579,"mutability":"mutable","name":"implementation","nameLocation":"59669:14:17","nodeType":"VariableDeclaration","scope":15589,"src":"59661:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15578,"name":"address","nodeType":"ElementaryTypeName","src":"59661:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15581,"mutability":"mutable","name":"privateKey","nameLocation":"59693:10:17","nodeType":"VariableDeclaration","scope":15589,"src":"59685:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15580,"name":"uint256","nodeType":"ElementaryTypeName","src":"59685:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15583,"mutability":"mutable","name":"nonce","nameLocation":"59712:5:17","nodeType":"VariableDeclaration","scope":15589,"src":"59705:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15582,"name":"uint64","nodeType":"ElementaryTypeName","src":"59705:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"59660:58:17"},"returnParameters":{"id":15588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15587,"mutability":"mutable","name":"signedDelegation","nameLocation":"59777:16:17","nodeType":"VariableDeclaration","scope":15589,"src":"59753:40:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":15586,"nodeType":"UserDefinedTypeName","pathNode":{"id":15585,"name":"SignedDelegation","nameLocations":["59753:16:17"],"nodeType":"IdentifierPath","referencedDeclaration":13714,"src":"59753:16:17"},"referencedDeclaration":13714,"src":"59753:16:17","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"59752:42:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15602,"nodeType":"FunctionDefinition","src":"59892:161:17","nodes":[],"documentation":{"id":15590,"nodeType":"StructuredDocumentation","src":"59801:86:17","text":"Sign an EIP-7702 authorization for delegation, with optional cross-chain validity."},"functionSelector":"cdd7563d","implemented":false,"kind":"function","modifiers":[],"name":"signDelegation","nameLocation":"59901:14:17","parameters":{"id":15597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15592,"mutability":"mutable","name":"implementation","nameLocation":"59924:14:17","nodeType":"VariableDeclaration","scope":15602,"src":"59916:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15591,"name":"address","nodeType":"ElementaryTypeName","src":"59916:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15594,"mutability":"mutable","name":"privateKey","nameLocation":"59948:10:17","nodeType":"VariableDeclaration","scope":15602,"src":"59940:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15593,"name":"uint256","nodeType":"ElementaryTypeName","src":"59940:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15596,"mutability":"mutable","name":"crossChain","nameLocation":"59965:10:17","nodeType":"VariableDeclaration","scope":15602,"src":"59960:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15595,"name":"bool","nodeType":"ElementaryTypeName","src":"59960:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59915:61:17"},"returnParameters":{"id":15601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15600,"mutability":"mutable","name":"signedDelegation","nameLocation":"60035:16:17","nodeType":"VariableDeclaration","scope":15602,"src":"60011:40:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":15599,"nodeType":"UserDefinedTypeName","pathNode":{"id":15598,"name":"SignedDelegation","nameLocations":["60011:16:17"],"nodeType":"IdentifierPath","referencedDeclaration":13714,"src":"60011:16:17"},"referencedDeclaration":13714,"src":"60011:16:17","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13714_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"60010:42:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15606,"nodeType":"FunctionDefinition","src":"60563:35:17","nodes":[],"documentation":{"id":15603,"nodeType":"StructuredDocumentation","src":"60059:499:17","text":"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain.\n Broadcasting address is determined by checking the following in order:\n 1. If `--sender` argument was provided, that address is used.\n 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"functionSelector":"7fb5297f","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"60572:14:17","parameters":{"id":15604,"nodeType":"ParameterList","parameters":[],"src":"60586:2:17"},"returnParameters":{"id":15605,"nodeType":"ParameterList","parameters":[],"src":"60597:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15612,"nodeType":"FunctionDefinition","src":"60760:49:17","nodes":[],"documentation":{"id":15607,"nodeType":"StructuredDocumentation","src":"60604:151:17","text":"Has all subsequent calls (at this call depth only) create transactions with the address\n provided that can later be signed and sent onchain."},"functionSelector":"7fec2a8d","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"60769:14:17","parameters":{"id":15610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15609,"mutability":"mutable","name":"signer","nameLocation":"60792:6:17","nodeType":"VariableDeclaration","scope":15612,"src":"60784:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15608,"name":"address","nodeType":"ElementaryTypeName","src":"60784:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60783:16:17"},"returnParameters":{"id":15611,"nodeType":"ParameterList","parameters":[],"src":"60808:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15618,"nodeType":"FunctionDefinition","src":"60975:53:17","nodes":[],"documentation":{"id":15613,"nodeType":"StructuredDocumentation","src":"60815:155:17","text":"Has all subsequent calls (at this call depth only) create transactions with the private key\n provided that can later be signed and sent onchain."},"functionSelector":"ce817d47","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"60984:14:17","parameters":{"id":15616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15615,"mutability":"mutable","name":"privateKey","nameLocation":"61007:10:17","nodeType":"VariableDeclaration","scope":15618,"src":"60999:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15614,"name":"uint256","nodeType":"ElementaryTypeName","src":"60999:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60998:20:17"},"returnParameters":{"id":15617,"nodeType":"ParameterList","parameters":[],"src":"61027:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15622,"nodeType":"FunctionDefinition","src":"61081:34:17","nodes":[],"documentation":{"id":15619,"nodeType":"StructuredDocumentation","src":"61034:42:17","text":"Stops collecting onchain transactions."},"functionSelector":"76eadd36","implemented":false,"kind":"function","modifiers":[],"name":"stopBroadcast","nameLocation":"61090:13:17","parameters":{"id":15620,"nodeType":"ParameterList","parameters":[],"src":"61103:2:17"},"returnParameters":{"id":15621,"nodeType":"ParameterList","parameters":[],"src":"61114:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15632,"nodeType":"FunctionDefinition","src":"61227:103:17","nodes":[],"documentation":{"id":15623,"nodeType":"StructuredDocumentation","src":"61154:68:17","text":"Returns true if `search` is found in `subject`, false otherwise."},"functionSelector":"3fb18aec","implemented":false,"kind":"function","modifiers":[],"name":"contains","nameLocation":"61236:8:17","parameters":{"id":15628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15625,"mutability":"mutable","name":"subject","nameLocation":"61261:7:17","nodeType":"VariableDeclaration","scope":15632,"src":"61245:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15624,"name":"string","nodeType":"ElementaryTypeName","src":"61245:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15627,"mutability":"mutable","name":"search","nameLocation":"61286:6:17","nodeType":"VariableDeclaration","scope":15632,"src":"61270:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15626,"name":"string","nodeType":"ElementaryTypeName","src":"61270:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61244:49:17"},"returnParameters":{"id":15631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15630,"mutability":"mutable","name":"result","nameLocation":"61322:6:17","nodeType":"VariableDeclaration","scope":15632,"src":"61317:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15629,"name":"bool","nodeType":"ElementaryTypeName","src":"61317:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61316:13:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15642,"nodeType":"FunctionDefinition","src":"61546:93:17","nodes":[],"documentation":{"id":15633,"nodeType":"StructuredDocumentation","src":"61336:205:17","text":"Returns the index of the first occurrence of a `key` in an `input` string.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found.\n Returns 0 in case of an empty `key`."},"functionSelector":"8a0807b7","implemented":false,"kind":"function","modifiers":[],"name":"indexOf","nameLocation":"61555:7:17","parameters":{"id":15638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15635,"mutability":"mutable","name":"input","nameLocation":"61579:5:17","nodeType":"VariableDeclaration","scope":15642,"src":"61563:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15634,"name":"string","nodeType":"ElementaryTypeName","src":"61563:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15637,"mutability":"mutable","name":"key","nameLocation":"61602:3:17","nodeType":"VariableDeclaration","scope":15642,"src":"61586:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15636,"name":"string","nodeType":"ElementaryTypeName","src":"61586:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61562:44:17"},"returnParameters":{"id":15641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15642,"src":"61630:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15639,"name":"uint256","nodeType":"ElementaryTypeName","src":"61630:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61629:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15650,"nodeType":"FunctionDefinition","src":"61698:100:17","nodes":[],"documentation":{"id":15643,"nodeType":"StructuredDocumentation","src":"61645:48:17","text":"Parses the given `string` into an `address`."},"functionSelector":"c6ce059d","implemented":false,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"61707:12:17","parameters":{"id":15646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15645,"mutability":"mutable","name":"stringifiedValue","nameLocation":"61736:16:17","nodeType":"VariableDeclaration","scope":15650,"src":"61720:32:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15644,"name":"string","nodeType":"ElementaryTypeName","src":"61720:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61719:34:17"},"returnParameters":{"id":15649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15648,"mutability":"mutable","name":"parsedValue","nameLocation":"61785:11:17","nodeType":"VariableDeclaration","scope":15650,"src":"61777:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15647,"name":"address","nodeType":"ElementaryTypeName","src":"61777:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61776:21:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15658,"nodeType":"FunctionDefinition","src":"61853:94:17","nodes":[],"documentation":{"id":15651,"nodeType":"StructuredDocumentation","src":"61804:44:17","text":"Parses the given `string` into a `bool`."},"functionSelector":"974ef924","implemented":false,"kind":"function","modifiers":[],"name":"parseBool","nameLocation":"61862:9:17","parameters":{"id":15654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15653,"mutability":"mutable","name":"stringifiedValue","nameLocation":"61888:16:17","nodeType":"VariableDeclaration","scope":15658,"src":"61872:32:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15652,"name":"string","nodeType":"ElementaryTypeName","src":"61872:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61871:34:17"},"returnParameters":{"id":15657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15656,"mutability":"mutable","name":"parsedValue","nameLocation":"61934:11:17","nodeType":"VariableDeclaration","scope":15658,"src":"61929:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15655,"name":"bool","nodeType":"ElementaryTypeName","src":"61929:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61928:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15666,"nodeType":"FunctionDefinition","src":"62001:103:17","nodes":[],"documentation":{"id":15659,"nodeType":"StructuredDocumentation","src":"61953:43:17","text":"Parses the given `string` into `bytes`."},"functionSelector":"8f5d232d","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes","nameLocation":"62010:10:17","parameters":{"id":15662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15661,"mutability":"mutable","name":"stringifiedValue","nameLocation":"62037:16:17","nodeType":"VariableDeclaration","scope":15666,"src":"62021:32:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15660,"name":"string","nodeType":"ElementaryTypeName","src":"62021:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62020:34:17"},"returnParameters":{"id":15665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15664,"mutability":"mutable","name":"parsedValue","nameLocation":"62091:11:17","nodeType":"VariableDeclaration","scope":15666,"src":"62078:24:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15663,"name":"bytes","nodeType":"ElementaryTypeName","src":"62078:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"62077:26:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15674,"nodeType":"FunctionDefinition","src":"62162:100:17","nodes":[],"documentation":{"id":15667,"nodeType":"StructuredDocumentation","src":"62110:47:17","text":"Parses the given `string` into a `bytes32`."},"functionSelector":"087e6e81","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes32","nameLocation":"62171:12:17","parameters":{"id":15670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15669,"mutability":"mutable","name":"stringifiedValue","nameLocation":"62200:16:17","nodeType":"VariableDeclaration","scope":15674,"src":"62184:32:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15668,"name":"string","nodeType":"ElementaryTypeName","src":"62184:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62183:34:17"},"returnParameters":{"id":15673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15672,"mutability":"mutable","name":"parsedValue","nameLocation":"62249:11:17","nodeType":"VariableDeclaration","scope":15674,"src":"62241:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"62241:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"62240:21:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15682,"nodeType":"FunctionDefinition","src":"62319:95:17","nodes":[],"documentation":{"id":15675,"nodeType":"StructuredDocumentation","src":"62268:46:17","text":"Parses the given `string` into a `int256`."},"functionSelector":"42346c5e","implemented":false,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"62328:8:17","parameters":{"id":15678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15677,"mutability":"mutable","name":"stringifiedValue","nameLocation":"62353:16:17","nodeType":"VariableDeclaration","scope":15682,"src":"62337:32:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15676,"name":"string","nodeType":"ElementaryTypeName","src":"62337:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62336:34:17"},"returnParameters":{"id":15681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15680,"mutability":"mutable","name":"parsedValue","nameLocation":"62401:11:17","nodeType":"VariableDeclaration","scope":15682,"src":"62394:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15679,"name":"int256","nodeType":"ElementaryTypeName","src":"62394:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"62393:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15690,"nodeType":"FunctionDefinition","src":"62472:97:17","nodes":[],"documentation":{"id":15683,"nodeType":"StructuredDocumentation","src":"62420:47:17","text":"Parses the given `string` into a `uint256`."},"functionSelector":"fa91454d","implemented":false,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"62481:9:17","parameters":{"id":15686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15685,"mutability":"mutable","name":"stringifiedValue","nameLocation":"62507:16:17","nodeType":"VariableDeclaration","scope":15690,"src":"62491:32:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15684,"name":"string","nodeType":"ElementaryTypeName","src":"62491:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62490:34:17"},"returnParameters":{"id":15689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15688,"mutability":"mutable","name":"parsedValue","nameLocation":"62556:11:17","nodeType":"VariableDeclaration","scope":15690,"src":"62548:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15687,"name":"uint256","nodeType":"ElementaryTypeName","src":"62548:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62547:21:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15702,"nodeType":"FunctionDefinition","src":"62647:151:17","nodes":[],"documentation":{"id":15691,"nodeType":"StructuredDocumentation","src":"62575:67:17","text":"Replaces occurrences of `from` in the given `string` with `to`."},"functionSelector":"e00ad03e","implemented":false,"kind":"function","modifiers":[],"name":"replace","nameLocation":"62656:7:17","parameters":{"id":15698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15693,"mutability":"mutable","name":"input","nameLocation":"62680:5:17","nodeType":"VariableDeclaration","scope":15702,"src":"62664:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15692,"name":"string","nodeType":"ElementaryTypeName","src":"62664:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15695,"mutability":"mutable","name":"from","nameLocation":"62703:4:17","nodeType":"VariableDeclaration","scope":15702,"src":"62687:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15694,"name":"string","nodeType":"ElementaryTypeName","src":"62687:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15697,"mutability":"mutable","name":"to","nameLocation":"62725:2:17","nodeType":"VariableDeclaration","scope":15702,"src":"62709:18:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15696,"name":"string","nodeType":"ElementaryTypeName","src":"62709:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62663:65:17"},"returnParameters":{"id":15701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15700,"mutability":"mutable","name":"output","nameLocation":"62790:6:17","nodeType":"VariableDeclaration","scope":15702,"src":"62776:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15699,"name":"string","nodeType":"ElementaryTypeName","src":"62776:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62775:22:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15713,"nodeType":"FunctionDefinition","src":"62891:113:17","nodes":[],"documentation":{"id":15703,"nodeType":"StructuredDocumentation","src":"62804:82:17","text":"Splits the given `string` into an array of strings divided by the `delimiter`."},"functionSelector":"8bb75533","implemented":false,"kind":"function","modifiers":[],"name":"split","nameLocation":"62900:5:17","parameters":{"id":15708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15705,"mutability":"mutable","name":"input","nameLocation":"62922:5:17","nodeType":"VariableDeclaration","scope":15713,"src":"62906:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15704,"name":"string","nodeType":"ElementaryTypeName","src":"62906:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15707,"mutability":"mutable","name":"delimiter","nameLocation":"62945:9:17","nodeType":"VariableDeclaration","scope":15713,"src":"62929:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15706,"name":"string","nodeType":"ElementaryTypeName","src":"62929:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62905:50:17"},"returnParameters":{"id":15712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15711,"mutability":"mutable","name":"outputs","nameLocation":"62995:7:17","nodeType":"VariableDeclaration","scope":15713,"src":"62979:23:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15709,"name":"string","nodeType":"ElementaryTypeName","src":"62979:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15710,"nodeType":"ArrayTypeName","src":"62979:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"62978:25:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15721,"nodeType":"FunctionDefinition","src":"63066:89:17","nodes":[],"documentation":{"id":15714,"nodeType":"StructuredDocumentation","src":"63010:51:17","text":"Converts the given `string` value to Lowercase."},"functionSelector":"50bb0884","implemented":false,"kind":"function","modifiers":[],"name":"toLowercase","nameLocation":"63075:11:17","parameters":{"id":15717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15716,"mutability":"mutable","name":"input","nameLocation":"63103:5:17","nodeType":"VariableDeclaration","scope":15721,"src":"63087:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15715,"name":"string","nodeType":"ElementaryTypeName","src":"63087:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63086:23:17"},"returnParameters":{"id":15720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15719,"mutability":"mutable","name":"output","nameLocation":"63147:6:17","nodeType":"VariableDeclaration","scope":15721,"src":"63133:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15718,"name":"string","nodeType":"ElementaryTypeName","src":"63133:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63132:22:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15729,"nodeType":"FunctionDefinition","src":"63209:88:17","nodes":[],"documentation":{"id":15722,"nodeType":"StructuredDocumentation","src":"63161:43:17","text":"Converts the given value to a `string`."},"functionSelector":"56ca623e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"63218:8:17","parameters":{"id":15725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15724,"mutability":"mutable","name":"value","nameLocation":"63235:5:17","nodeType":"VariableDeclaration","scope":15729,"src":"63227:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15723,"name":"address","nodeType":"ElementaryTypeName","src":"63227:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63226:15:17"},"returnParameters":{"id":15728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15727,"mutability":"mutable","name":"stringifiedValue","nameLocation":"63279:16:17","nodeType":"VariableDeclaration","scope":15729,"src":"63265:30:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15726,"name":"string","nodeType":"ElementaryTypeName","src":"63265:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63264:32:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15737,"nodeType":"FunctionDefinition","src":"63351:95:17","nodes":[],"documentation":{"id":15730,"nodeType":"StructuredDocumentation","src":"63303:43:17","text":"Converts the given value to a `string`."},"functionSelector":"71aad10d","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"63360:8:17","parameters":{"id":15733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15732,"mutability":"mutable","name":"value","nameLocation":"63384:5:17","nodeType":"VariableDeclaration","scope":15737,"src":"63369:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15731,"name":"bytes","nodeType":"ElementaryTypeName","src":"63369:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"63368:22:17"},"returnParameters":{"id":15736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15735,"mutability":"mutable","name":"stringifiedValue","nameLocation":"63428:16:17","nodeType":"VariableDeclaration","scope":15737,"src":"63414:30:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15734,"name":"string","nodeType":"ElementaryTypeName","src":"63414:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63413:32:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15745,"nodeType":"FunctionDefinition","src":"63500:88:17","nodes":[],"documentation":{"id":15738,"nodeType":"StructuredDocumentation","src":"63452:43:17","text":"Converts the given value to a `string`."},"functionSelector":"b11a19e8","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"63509:8:17","parameters":{"id":15741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15740,"mutability":"mutable","name":"value","nameLocation":"63526:5:17","nodeType":"VariableDeclaration","scope":15745,"src":"63518:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63518:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"63517:15:17"},"returnParameters":{"id":15744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15743,"mutability":"mutable","name":"stringifiedValue","nameLocation":"63570:16:17","nodeType":"VariableDeclaration","scope":15745,"src":"63556:30:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15742,"name":"string","nodeType":"ElementaryTypeName","src":"63556:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63555:32:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15753,"nodeType":"FunctionDefinition","src":"63642:85:17","nodes":[],"documentation":{"id":15746,"nodeType":"StructuredDocumentation","src":"63594:43:17","text":"Converts the given value to a `string`."},"functionSelector":"71dce7da","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"63651:8:17","parameters":{"id":15749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15748,"mutability":"mutable","name":"value","nameLocation":"63665:5:17","nodeType":"VariableDeclaration","scope":15753,"src":"63660:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15747,"name":"bool","nodeType":"ElementaryTypeName","src":"63660:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63659:12:17"},"returnParameters":{"id":15752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15751,"mutability":"mutable","name":"stringifiedValue","nameLocation":"63709:16:17","nodeType":"VariableDeclaration","scope":15753,"src":"63695:30:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15750,"name":"string","nodeType":"ElementaryTypeName","src":"63695:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63694:32:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15761,"nodeType":"FunctionDefinition","src":"63781:88:17","nodes":[],"documentation":{"id":15754,"nodeType":"StructuredDocumentation","src":"63733:43:17","text":"Converts the given value to a `string`."},"functionSelector":"6900a3ae","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"63790:8:17","parameters":{"id":15757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15756,"mutability":"mutable","name":"value","nameLocation":"63807:5:17","nodeType":"VariableDeclaration","scope":15761,"src":"63799:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15755,"name":"uint256","nodeType":"ElementaryTypeName","src":"63799:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63798:15:17"},"returnParameters":{"id":15760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15759,"mutability":"mutable","name":"stringifiedValue","nameLocation":"63851:16:17","nodeType":"VariableDeclaration","scope":15761,"src":"63837:30:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15758,"name":"string","nodeType":"ElementaryTypeName","src":"63837:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63836:32:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15769,"nodeType":"FunctionDefinition","src":"63923:87:17","nodes":[],"documentation":{"id":15762,"nodeType":"StructuredDocumentation","src":"63875:43:17","text":"Converts the given value to a `string`."},"functionSelector":"a322c40e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"63932:8:17","parameters":{"id":15765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15764,"mutability":"mutable","name":"value","nameLocation":"63948:5:17","nodeType":"VariableDeclaration","scope":15769,"src":"63941:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15763,"name":"int256","nodeType":"ElementaryTypeName","src":"63941:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"63940:14:17"},"returnParameters":{"id":15768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15767,"mutability":"mutable","name":"stringifiedValue","nameLocation":"63992:16:17","nodeType":"VariableDeclaration","scope":15769,"src":"63978:30:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15766,"name":"string","nodeType":"ElementaryTypeName","src":"63978:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63977:32:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15777,"nodeType":"FunctionDefinition","src":"64072:89:17","nodes":[],"documentation":{"id":15770,"nodeType":"StructuredDocumentation","src":"64016:51:17","text":"Converts the given `string` value to Uppercase."},"functionSelector":"074ae3d7","implemented":false,"kind":"function","modifiers":[],"name":"toUppercase","nameLocation":"64081:11:17","parameters":{"id":15773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15772,"mutability":"mutable","name":"input","nameLocation":"64109:5:17","nodeType":"VariableDeclaration","scope":15777,"src":"64093:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15771,"name":"string","nodeType":"ElementaryTypeName","src":"64093:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64092:23:17"},"returnParameters":{"id":15776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15775,"mutability":"mutable","name":"output","nameLocation":"64153:6:17","nodeType":"VariableDeclaration","scope":15777,"src":"64139:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15774,"name":"string","nodeType":"ElementaryTypeName","src":"64139:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64138:22:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15785,"nodeType":"FunctionDefinition","src":"64244:82:17","nodes":[],"documentation":{"id":15778,"nodeType":"StructuredDocumentation","src":"64167:72:17","text":"Trims leading and trailing whitespace from the given `string` value."},"functionSelector":"b2dad155","implemented":false,"kind":"function","modifiers":[],"name":"trim","nameLocation":"64253:4:17","parameters":{"id":15781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15780,"mutability":"mutable","name":"input","nameLocation":"64274:5:17","nodeType":"VariableDeclaration","scope":15785,"src":"64258:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15779,"name":"string","nodeType":"ElementaryTypeName","src":"64258:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64257:23:17"},"returnParameters":{"id":15784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15783,"mutability":"mutable","name":"output","nameLocation":"64318:6:17","nodeType":"VariableDeclaration","scope":15785,"src":"64304:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15782,"name":"string","nodeType":"ElementaryTypeName","src":"64304:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64303:22:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15797,"nodeType":"FunctionDefinition","src":"64521:113:17","nodes":[],"documentation":{"id":15786,"nodeType":"StructuredDocumentation","src":"64366:150:17","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message."},"functionSelector":"045c55ce","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"64530:24:17","parameters":{"id":15795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15788,"mutability":"mutable","name":"left","nameLocation":"64563:4:17","nodeType":"VariableDeclaration","scope":15797,"src":"64555:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15787,"name":"uint256","nodeType":"ElementaryTypeName","src":"64555:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15790,"mutability":"mutable","name":"right","nameLocation":"64577:5:17","nodeType":"VariableDeclaration","scope":15797,"src":"64569:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15789,"name":"uint256","nodeType":"ElementaryTypeName","src":"64569:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15792,"mutability":"mutable","name":"maxDelta","nameLocation":"64592:8:17","nodeType":"VariableDeclaration","scope":15797,"src":"64584:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15791,"name":"uint256","nodeType":"ElementaryTypeName","src":"64584:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15794,"mutability":"mutable","name":"decimals","nameLocation":"64610:8:17","nodeType":"VariableDeclaration","scope":15797,"src":"64602:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15793,"name":"uint256","nodeType":"ElementaryTypeName","src":"64602:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64554:65:17"},"returnParameters":{"id":15796,"nodeType":"ParameterList","parameters":[],"src":"64633:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15811,"nodeType":"FunctionDefinition","src":"64849:182:17","nodes":[],"documentation":{"id":15798,"nodeType":"StructuredDocumentation","src":"64640:204:17","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"60429eb2","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"64858:24:17","parameters":{"id":15809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15800,"mutability":"mutable","name":"left","nameLocation":"64900:4:17","nodeType":"VariableDeclaration","scope":15811,"src":"64892:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15799,"name":"uint256","nodeType":"ElementaryTypeName","src":"64892:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15802,"mutability":"mutable","name":"right","nameLocation":"64922:5:17","nodeType":"VariableDeclaration","scope":15811,"src":"64914:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15801,"name":"uint256","nodeType":"ElementaryTypeName","src":"64914:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15804,"mutability":"mutable","name":"maxDelta","nameLocation":"64945:8:17","nodeType":"VariableDeclaration","scope":15811,"src":"64937:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15803,"name":"uint256","nodeType":"ElementaryTypeName","src":"64937:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15806,"mutability":"mutable","name":"decimals","nameLocation":"64971:8:17","nodeType":"VariableDeclaration","scope":15811,"src":"64963:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15805,"name":"uint256","nodeType":"ElementaryTypeName","src":"64963:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15808,"mutability":"mutable","name":"error","nameLocation":"65005:5:17","nodeType":"VariableDeclaration","scope":15811,"src":"64989:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15807,"name":"string","nodeType":"ElementaryTypeName","src":"64989:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64882:134:17"},"returnParameters":{"id":15810,"nodeType":"ParameterList","parameters":[],"src":"65030:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15823,"nodeType":"FunctionDefinition","src":"65191:111:17","nodes":[],"documentation":{"id":15812,"nodeType":"StructuredDocumentation","src":"65037:149:17","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message."},"functionSelector":"3d5bc8bc","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"65200:24:17","parameters":{"id":15821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15814,"mutability":"mutable","name":"left","nameLocation":"65232:4:17","nodeType":"VariableDeclaration","scope":15823,"src":"65225:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15813,"name":"int256","nodeType":"ElementaryTypeName","src":"65225:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15816,"mutability":"mutable","name":"right","nameLocation":"65245:5:17","nodeType":"VariableDeclaration","scope":15823,"src":"65238:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15815,"name":"int256","nodeType":"ElementaryTypeName","src":"65238:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15818,"mutability":"mutable","name":"maxDelta","nameLocation":"65260:8:17","nodeType":"VariableDeclaration","scope":15823,"src":"65252:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15817,"name":"uint256","nodeType":"ElementaryTypeName","src":"65252:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15820,"mutability":"mutable","name":"decimals","nameLocation":"65278:8:17","nodeType":"VariableDeclaration","scope":15823,"src":"65270:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15819,"name":"uint256","nodeType":"ElementaryTypeName","src":"65270:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65224:63:17"},"returnParameters":{"id":15822,"nodeType":"ParameterList","parameters":[],"src":"65301:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15837,"nodeType":"FunctionDefinition","src":"65516:180:17","nodes":[],"documentation":{"id":15824,"nodeType":"StructuredDocumentation","src":"65308:203:17","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"6a5066d4","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"65525:24:17","parameters":{"id":15835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15826,"mutability":"mutable","name":"left","nameLocation":"65566:4:17","nodeType":"VariableDeclaration","scope":15837,"src":"65559:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15825,"name":"int256","nodeType":"ElementaryTypeName","src":"65559:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15828,"mutability":"mutable","name":"right","nameLocation":"65587:5:17","nodeType":"VariableDeclaration","scope":15837,"src":"65580:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15827,"name":"int256","nodeType":"ElementaryTypeName","src":"65580:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15830,"mutability":"mutable","name":"maxDelta","nameLocation":"65610:8:17","nodeType":"VariableDeclaration","scope":15837,"src":"65602:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15829,"name":"uint256","nodeType":"ElementaryTypeName","src":"65602:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15832,"mutability":"mutable","name":"decimals","nameLocation":"65636:8:17","nodeType":"VariableDeclaration","scope":15837,"src":"65628:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15831,"name":"uint256","nodeType":"ElementaryTypeName","src":"65628:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15834,"mutability":"mutable","name":"error","nameLocation":"65670:5:17","nodeType":"VariableDeclaration","scope":15837,"src":"65654:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15833,"name":"string","nodeType":"ElementaryTypeName","src":"65654:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65549:132:17"},"returnParameters":{"id":15836,"nodeType":"ParameterList","parameters":[],"src":"65695:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15847,"nodeType":"FunctionDefinition","src":"65800:88:17","nodes":[],"documentation":{"id":15838,"nodeType":"StructuredDocumentation","src":"65702:93:17","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`."},"functionSelector":"16d207c6","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"65809:17:17","parameters":{"id":15845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15840,"mutability":"mutable","name":"left","nameLocation":"65835:4:17","nodeType":"VariableDeclaration","scope":15847,"src":"65827:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15839,"name":"uint256","nodeType":"ElementaryTypeName","src":"65827:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15842,"mutability":"mutable","name":"right","nameLocation":"65849:5:17","nodeType":"VariableDeclaration","scope":15847,"src":"65841:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15841,"name":"uint256","nodeType":"ElementaryTypeName","src":"65841:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15844,"mutability":"mutable","name":"maxDelta","nameLocation":"65864:8:17","nodeType":"VariableDeclaration","scope":15847,"src":"65856:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15843,"name":"uint256","nodeType":"ElementaryTypeName","src":"65856:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65826:47:17"},"returnParameters":{"id":15846,"nodeType":"ParameterList","parameters":[],"src":"65887:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15859,"nodeType":"FunctionDefinition","src":"66054:111:17","nodes":[],"documentation":{"id":15848,"nodeType":"StructuredDocumentation","src":"65894:155:17","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n Includes error message into revert string on failure."},"functionSelector":"f710b062","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"66063:17:17","parameters":{"id":15857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15850,"mutability":"mutable","name":"left","nameLocation":"66089:4:17","nodeType":"VariableDeclaration","scope":15859,"src":"66081:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15849,"name":"uint256","nodeType":"ElementaryTypeName","src":"66081:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15852,"mutability":"mutable","name":"right","nameLocation":"66103:5:17","nodeType":"VariableDeclaration","scope":15859,"src":"66095:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15851,"name":"uint256","nodeType":"ElementaryTypeName","src":"66095:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15854,"mutability":"mutable","name":"maxDelta","nameLocation":"66118:8:17","nodeType":"VariableDeclaration","scope":15859,"src":"66110:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15853,"name":"uint256","nodeType":"ElementaryTypeName","src":"66110:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15856,"mutability":"mutable","name":"error","nameLocation":"66144:5:17","nodeType":"VariableDeclaration","scope":15859,"src":"66128:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15855,"name":"string","nodeType":"ElementaryTypeName","src":"66128:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66080:70:17"},"returnParameters":{"id":15858,"nodeType":"ParameterList","parameters":[],"src":"66164:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15869,"nodeType":"FunctionDefinition","src":"66268:86:17","nodes":[],"documentation":{"id":15860,"nodeType":"StructuredDocumentation","src":"66171:92:17","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`."},"functionSelector":"240f839d","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"66277:17:17","parameters":{"id":15867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15862,"mutability":"mutable","name":"left","nameLocation":"66302:4:17","nodeType":"VariableDeclaration","scope":15869,"src":"66295:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15861,"name":"int256","nodeType":"ElementaryTypeName","src":"66295:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15864,"mutability":"mutable","name":"right","nameLocation":"66315:5:17","nodeType":"VariableDeclaration","scope":15869,"src":"66308:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15863,"name":"int256","nodeType":"ElementaryTypeName","src":"66308:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15866,"mutability":"mutable","name":"maxDelta","nameLocation":"66330:8:17","nodeType":"VariableDeclaration","scope":15869,"src":"66322:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15865,"name":"uint256","nodeType":"ElementaryTypeName","src":"66322:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66294:45:17"},"returnParameters":{"id":15868,"nodeType":"ParameterList","parameters":[],"src":"66353:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15881,"nodeType":"FunctionDefinition","src":"66519:109:17","nodes":[],"documentation":{"id":15870,"nodeType":"StructuredDocumentation","src":"66360:154:17","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n Includes error message into revert string on failure."},"functionSelector":"8289e621","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"66528:17:17","parameters":{"id":15879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15872,"mutability":"mutable","name":"left","nameLocation":"66553:4:17","nodeType":"VariableDeclaration","scope":15881,"src":"66546:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15871,"name":"int256","nodeType":"ElementaryTypeName","src":"66546:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15874,"mutability":"mutable","name":"right","nameLocation":"66566:5:17","nodeType":"VariableDeclaration","scope":15881,"src":"66559:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15873,"name":"int256","nodeType":"ElementaryTypeName","src":"66559:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15876,"mutability":"mutable","name":"maxDelta","nameLocation":"66581:8:17","nodeType":"VariableDeclaration","scope":15881,"src":"66573:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15875,"name":"uint256","nodeType":"ElementaryTypeName","src":"66573:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15878,"mutability":"mutable","name":"error","nameLocation":"66607:5:17","nodeType":"VariableDeclaration","scope":15881,"src":"66591:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15877,"name":"string","nodeType":"ElementaryTypeName","src":"66591:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66545:68:17"},"returnParameters":{"id":15880,"nodeType":"ParameterList","parameters":[],"src":"66627:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15893,"nodeType":"FunctionDefinition","src":"66899:136:17","nodes":[],"documentation":{"id":15882,"nodeType":"StructuredDocumentation","src":"66634:260:17","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message."},"functionSelector":"21ed2977","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"66908:24:17","parameters":{"id":15891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15884,"mutability":"mutable","name":"left","nameLocation":"66941:4:17","nodeType":"VariableDeclaration","scope":15893,"src":"66933:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15883,"name":"uint256","nodeType":"ElementaryTypeName","src":"66933:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15886,"mutability":"mutable","name":"right","nameLocation":"66955:5:17","nodeType":"VariableDeclaration","scope":15893,"src":"66947:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15885,"name":"uint256","nodeType":"ElementaryTypeName","src":"66947:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15888,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"66970:15:17","nodeType":"VariableDeclaration","scope":15893,"src":"66962:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15887,"name":"uint256","nodeType":"ElementaryTypeName","src":"66962:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15890,"mutability":"mutable","name":"decimals","nameLocation":"66995:8:17","nodeType":"VariableDeclaration","scope":15893,"src":"66987:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15889,"name":"uint256","nodeType":"ElementaryTypeName","src":"66987:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66932:72:17"},"returnParameters":{"id":15892,"nodeType":"ParameterList","parameters":[],"src":"67034:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15907,"nodeType":"FunctionDefinition","src":"67360:189:17","nodes":[],"documentation":{"id":15894,"nodeType":"StructuredDocumentation","src":"67041:314:17","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"82d6c8fd","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"67369:24:17","parameters":{"id":15905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15896,"mutability":"mutable","name":"left","nameLocation":"67411:4:17","nodeType":"VariableDeclaration","scope":15907,"src":"67403:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15895,"name":"uint256","nodeType":"ElementaryTypeName","src":"67403:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15898,"mutability":"mutable","name":"right","nameLocation":"67433:5:17","nodeType":"VariableDeclaration","scope":15907,"src":"67425:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15897,"name":"uint256","nodeType":"ElementaryTypeName","src":"67425:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15900,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"67456:15:17","nodeType":"VariableDeclaration","scope":15907,"src":"67448:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15899,"name":"uint256","nodeType":"ElementaryTypeName","src":"67448:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15902,"mutability":"mutable","name":"decimals","nameLocation":"67489:8:17","nodeType":"VariableDeclaration","scope":15907,"src":"67481:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15901,"name":"uint256","nodeType":"ElementaryTypeName","src":"67481:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15904,"mutability":"mutable","name":"error","nameLocation":"67523:5:17","nodeType":"VariableDeclaration","scope":15907,"src":"67507:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15903,"name":"string","nodeType":"ElementaryTypeName","src":"67507:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67393:141:17"},"returnParameters":{"id":15906,"nodeType":"ParameterList","parameters":[],"src":"67548:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15919,"nodeType":"FunctionDefinition","src":"67819:134:17","nodes":[],"documentation":{"id":15908,"nodeType":"StructuredDocumentation","src":"67555:259:17","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message."},"functionSelector":"abbf21cc","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"67828:24:17","parameters":{"id":15917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15910,"mutability":"mutable","name":"left","nameLocation":"67860:4:17","nodeType":"VariableDeclaration","scope":15919,"src":"67853:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15909,"name":"int256","nodeType":"ElementaryTypeName","src":"67853:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15912,"mutability":"mutable","name":"right","nameLocation":"67873:5:17","nodeType":"VariableDeclaration","scope":15919,"src":"67866:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15911,"name":"int256","nodeType":"ElementaryTypeName","src":"67866:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15914,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"67888:15:17","nodeType":"VariableDeclaration","scope":15919,"src":"67880:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15913,"name":"uint256","nodeType":"ElementaryTypeName","src":"67880:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15916,"mutability":"mutable","name":"decimals","nameLocation":"67913:8:17","nodeType":"VariableDeclaration","scope":15919,"src":"67905:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15915,"name":"uint256","nodeType":"ElementaryTypeName","src":"67905:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67852:70:17"},"returnParameters":{"id":15918,"nodeType":"ParameterList","parameters":[],"src":"67952:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15933,"nodeType":"FunctionDefinition","src":"68277:187:17","nodes":[],"documentation":{"id":15920,"nodeType":"StructuredDocumentation","src":"67959:313:17","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"fccc11c4","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"68286:24:17","parameters":{"id":15931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15922,"mutability":"mutable","name":"left","nameLocation":"68327:4:17","nodeType":"VariableDeclaration","scope":15933,"src":"68320:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15921,"name":"int256","nodeType":"ElementaryTypeName","src":"68320:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15924,"mutability":"mutable","name":"right","nameLocation":"68348:5:17","nodeType":"VariableDeclaration","scope":15933,"src":"68341:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15923,"name":"int256","nodeType":"ElementaryTypeName","src":"68341:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15926,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"68371:15:17","nodeType":"VariableDeclaration","scope":15933,"src":"68363:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15925,"name":"uint256","nodeType":"ElementaryTypeName","src":"68363:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15928,"mutability":"mutable","name":"decimals","nameLocation":"68404:8:17","nodeType":"VariableDeclaration","scope":15933,"src":"68396:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15927,"name":"uint256","nodeType":"ElementaryTypeName","src":"68396:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15930,"mutability":"mutable","name":"error","nameLocation":"68438:5:17","nodeType":"VariableDeclaration","scope":15933,"src":"68422:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15929,"name":"string","nodeType":"ElementaryTypeName","src":"68422:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68310:139:17"},"returnParameters":{"id":15932,"nodeType":"ParameterList","parameters":[],"src":"68463:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15943,"nodeType":"FunctionDefinition","src":"68678:95:17","nodes":[],"documentation":{"id":15934,"nodeType":"StructuredDocumentation","src":"68470:203:17","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"functionSelector":"8cf25ef4","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"68687:17:17","parameters":{"id":15941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15936,"mutability":"mutable","name":"left","nameLocation":"68713:4:17","nodeType":"VariableDeclaration","scope":15943,"src":"68705:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15935,"name":"uint256","nodeType":"ElementaryTypeName","src":"68705:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15938,"mutability":"mutable","name":"right","nameLocation":"68727:5:17","nodeType":"VariableDeclaration","scope":15943,"src":"68719:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15937,"name":"uint256","nodeType":"ElementaryTypeName","src":"68719:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15940,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"68742:15:17","nodeType":"VariableDeclaration","scope":15943,"src":"68734:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15939,"name":"uint256","nodeType":"ElementaryTypeName","src":"68734:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68704:54:17"},"returnParameters":{"id":15942,"nodeType":"ParameterList","parameters":[],"src":"68772:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15955,"nodeType":"FunctionDefinition","src":"69049:134:17","nodes":[],"documentation":{"id":15944,"nodeType":"StructuredDocumentation","src":"68779:265:17","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Includes error message into revert string on failure."},"functionSelector":"1ecb7d33","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"69058:17:17","parameters":{"id":15953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15946,"mutability":"mutable","name":"left","nameLocation":"69084:4:17","nodeType":"VariableDeclaration","scope":15955,"src":"69076:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15945,"name":"uint256","nodeType":"ElementaryTypeName","src":"69076:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15948,"mutability":"mutable","name":"right","nameLocation":"69098:5:17","nodeType":"VariableDeclaration","scope":15955,"src":"69090:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15947,"name":"uint256","nodeType":"ElementaryTypeName","src":"69090:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15950,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"69113:15:17","nodeType":"VariableDeclaration","scope":15955,"src":"69105:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15949,"name":"uint256","nodeType":"ElementaryTypeName","src":"69105:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15952,"mutability":"mutable","name":"error","nameLocation":"69146:5:17","nodeType":"VariableDeclaration","scope":15955,"src":"69130:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15951,"name":"string","nodeType":"ElementaryTypeName","src":"69130:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69075:77:17"},"returnParameters":{"id":15954,"nodeType":"ParameterList","parameters":[],"src":"69182:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15965,"nodeType":"FunctionDefinition","src":"69396:93:17","nodes":[],"documentation":{"id":15956,"nodeType":"StructuredDocumentation","src":"69189:202:17","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"functionSelector":"fea2d14f","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"69405:17:17","parameters":{"id":15963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15958,"mutability":"mutable","name":"left","nameLocation":"69430:4:17","nodeType":"VariableDeclaration","scope":15965,"src":"69423:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15957,"name":"int256","nodeType":"ElementaryTypeName","src":"69423:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15960,"mutability":"mutable","name":"right","nameLocation":"69443:5:17","nodeType":"VariableDeclaration","scope":15965,"src":"69436:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15959,"name":"int256","nodeType":"ElementaryTypeName","src":"69436:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15962,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"69458:15:17","nodeType":"VariableDeclaration","scope":15965,"src":"69450:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15961,"name":"uint256","nodeType":"ElementaryTypeName","src":"69450:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"69422:52:17"},"returnParameters":{"id":15964,"nodeType":"ParameterList","parameters":[],"src":"69488:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15977,"nodeType":"FunctionDefinition","src":"69764:132:17","nodes":[],"documentation":{"id":15966,"nodeType":"StructuredDocumentation","src":"69495:264:17","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Includes error message into revert string on failure."},"functionSelector":"ef277d72","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"69773:17:17","parameters":{"id":15975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15968,"mutability":"mutable","name":"left","nameLocation":"69798:4:17","nodeType":"VariableDeclaration","scope":15977,"src":"69791:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15967,"name":"int256","nodeType":"ElementaryTypeName","src":"69791:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15970,"mutability":"mutable","name":"right","nameLocation":"69811:5:17","nodeType":"VariableDeclaration","scope":15977,"src":"69804:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15969,"name":"int256","nodeType":"ElementaryTypeName","src":"69804:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15972,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"69826:15:17","nodeType":"VariableDeclaration","scope":15977,"src":"69818:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15971,"name":"uint256","nodeType":"ElementaryTypeName","src":"69818:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15974,"mutability":"mutable","name":"error","nameLocation":"69859:5:17","nodeType":"VariableDeclaration","scope":15977,"src":"69843:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15973,"name":"string","nodeType":"ElementaryTypeName","src":"69843:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69790:75:17"},"returnParameters":{"id":15976,"nodeType":"ParameterList","parameters":[],"src":"69895:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15987,"nodeType":"FunctionDefinition","src":"70005:86:17","nodes":[],"documentation":{"id":15978,"nodeType":"StructuredDocumentation","src":"69902:98:17","text":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message."},"functionSelector":"27af7d9c","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"70014:15:17","parameters":{"id":15985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15980,"mutability":"mutable","name":"left","nameLocation":"70038:4:17","nodeType":"VariableDeclaration","scope":15987,"src":"70030:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15979,"name":"uint256","nodeType":"ElementaryTypeName","src":"70030:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15982,"mutability":"mutable","name":"right","nameLocation":"70052:5:17","nodeType":"VariableDeclaration","scope":15987,"src":"70044:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15981,"name":"uint256","nodeType":"ElementaryTypeName","src":"70044:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15984,"mutability":"mutable","name":"decimals","nameLocation":"70067:8:17","nodeType":"VariableDeclaration","scope":15987,"src":"70059:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15983,"name":"uint256","nodeType":"ElementaryTypeName","src":"70059:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"70029:47:17"},"returnParameters":{"id":15986,"nodeType":"ParameterList","parameters":[],"src":"70090:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15999,"nodeType":"FunctionDefinition","src":"70262:109:17","nodes":[],"documentation":{"id":15988,"nodeType":"StructuredDocumentation","src":"70097:160:17","text":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"d0cbbdef","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"70271:15:17","parameters":{"id":15997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15990,"mutability":"mutable","name":"left","nameLocation":"70295:4:17","nodeType":"VariableDeclaration","scope":15999,"src":"70287:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15989,"name":"uint256","nodeType":"ElementaryTypeName","src":"70287:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15992,"mutability":"mutable","name":"right","nameLocation":"70309:5:17","nodeType":"VariableDeclaration","scope":15999,"src":"70301:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15991,"name":"uint256","nodeType":"ElementaryTypeName","src":"70301:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15994,"mutability":"mutable","name":"decimals","nameLocation":"70324:8:17","nodeType":"VariableDeclaration","scope":15999,"src":"70316:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15993,"name":"uint256","nodeType":"ElementaryTypeName","src":"70316:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15996,"mutability":"mutable","name":"error","nameLocation":"70350:5:17","nodeType":"VariableDeclaration","scope":15999,"src":"70334:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15995,"name":"string","nodeType":"ElementaryTypeName","src":"70334:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70286:70:17"},"returnParameters":{"id":15998,"nodeType":"ParameterList","parameters":[],"src":"70370:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16009,"nodeType":"FunctionDefinition","src":"70479:84:17","nodes":[],"documentation":{"id":16000,"nodeType":"StructuredDocumentation","src":"70377:97:17","text":"Asserts that two `int256` values are equal, formatting them with decimals in failure message."},"functionSelector":"48016c04","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"70488:15:17","parameters":{"id":16007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16002,"mutability":"mutable","name":"left","nameLocation":"70511:4:17","nodeType":"VariableDeclaration","scope":16009,"src":"70504:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16001,"name":"int256","nodeType":"ElementaryTypeName","src":"70504:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16004,"mutability":"mutable","name":"right","nameLocation":"70524:5:17","nodeType":"VariableDeclaration","scope":16009,"src":"70517:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16003,"name":"int256","nodeType":"ElementaryTypeName","src":"70517:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16006,"mutability":"mutable","name":"decimals","nameLocation":"70539:8:17","nodeType":"VariableDeclaration","scope":16009,"src":"70531:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16005,"name":"uint256","nodeType":"ElementaryTypeName","src":"70531:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"70503:45:17"},"returnParameters":{"id":16008,"nodeType":"ParameterList","parameters":[],"src":"70562:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16021,"nodeType":"FunctionDefinition","src":"70733:107:17","nodes":[],"documentation":{"id":16010,"nodeType":"StructuredDocumentation","src":"70569:159:17","text":"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"7e77b0c5","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"70742:15:17","parameters":{"id":16019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16012,"mutability":"mutable","name":"left","nameLocation":"70765:4:17","nodeType":"VariableDeclaration","scope":16021,"src":"70758:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16011,"name":"int256","nodeType":"ElementaryTypeName","src":"70758:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16014,"mutability":"mutable","name":"right","nameLocation":"70778:5:17","nodeType":"VariableDeclaration","scope":16021,"src":"70771:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16013,"name":"int256","nodeType":"ElementaryTypeName","src":"70771:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16016,"mutability":"mutable","name":"decimals","nameLocation":"70793:8:17","nodeType":"VariableDeclaration","scope":16021,"src":"70785:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16015,"name":"uint256","nodeType":"ElementaryTypeName","src":"70785:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16018,"mutability":"mutable","name":"error","nameLocation":"70819:5:17","nodeType":"VariableDeclaration","scope":16021,"src":"70803:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16017,"name":"string","nodeType":"ElementaryTypeName","src":"70803:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70757:68:17"},"returnParameters":{"id":16020,"nodeType":"ParameterList","parameters":[],"src":"70839:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16029,"nodeType":"FunctionDefinition","src":"70896:55:17","nodes":[],"documentation":{"id":16022,"nodeType":"StructuredDocumentation","src":"70846:45:17","text":"Asserts that two `bool` values are equal."},"functionSelector":"f7fe3477","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"70905:8:17","parameters":{"id":16027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16024,"mutability":"mutable","name":"left","nameLocation":"70919:4:17","nodeType":"VariableDeclaration","scope":16029,"src":"70914:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16023,"name":"bool","nodeType":"ElementaryTypeName","src":"70914:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16026,"mutability":"mutable","name":"right","nameLocation":"70930:5:17","nodeType":"VariableDeclaration","scope":16029,"src":"70925:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16025,"name":"bool","nodeType":"ElementaryTypeName","src":"70925:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"70913:23:17"},"returnParameters":{"id":16028,"nodeType":"ParameterList","parameters":[],"src":"70950:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16039,"nodeType":"FunctionDefinition","src":"71064:78:17","nodes":[],"documentation":{"id":16030,"nodeType":"StructuredDocumentation","src":"70957:102:17","text":"Asserts that two `bool` values are equal and includes error message into revert string on failure."},"functionSelector":"4db19e7e","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71073:8:17","parameters":{"id":16037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16032,"mutability":"mutable","name":"left","nameLocation":"71087:4:17","nodeType":"VariableDeclaration","scope":16039,"src":"71082:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16031,"name":"bool","nodeType":"ElementaryTypeName","src":"71082:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16034,"mutability":"mutable","name":"right","nameLocation":"71098:5:17","nodeType":"VariableDeclaration","scope":16039,"src":"71093:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16033,"name":"bool","nodeType":"ElementaryTypeName","src":"71093:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16036,"mutability":"mutable","name":"error","nameLocation":"71121:5:17","nodeType":"VariableDeclaration","scope":16039,"src":"71105:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16035,"name":"string","nodeType":"ElementaryTypeName","src":"71105:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71081:46:17"},"returnParameters":{"id":16038,"nodeType":"ParameterList","parameters":[],"src":"71141:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16047,"nodeType":"FunctionDefinition","src":"71200:77:17","nodes":[],"documentation":{"id":16040,"nodeType":"StructuredDocumentation","src":"71148:47:17","text":"Asserts that two `string` values are equal."},"functionSelector":"f320d963","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71209:8:17","parameters":{"id":16045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16042,"mutability":"mutable","name":"left","nameLocation":"71234:4:17","nodeType":"VariableDeclaration","scope":16047,"src":"71218:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16041,"name":"string","nodeType":"ElementaryTypeName","src":"71218:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16044,"mutability":"mutable","name":"right","nameLocation":"71256:5:17","nodeType":"VariableDeclaration","scope":16047,"src":"71240:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16043,"name":"string","nodeType":"ElementaryTypeName","src":"71240:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71217:45:17"},"returnParameters":{"id":16046,"nodeType":"ParameterList","parameters":[],"src":"71276:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16057,"nodeType":"FunctionDefinition","src":"71392:100:17","nodes":[],"documentation":{"id":16048,"nodeType":"StructuredDocumentation","src":"71283:104:17","text":"Asserts that two `string` values are equal and includes error message into revert string on failure."},"functionSelector":"36f656d8","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71401:8:17","parameters":{"id":16055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16050,"mutability":"mutable","name":"left","nameLocation":"71426:4:17","nodeType":"VariableDeclaration","scope":16057,"src":"71410:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16049,"name":"string","nodeType":"ElementaryTypeName","src":"71410:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16052,"mutability":"mutable","name":"right","nameLocation":"71448:5:17","nodeType":"VariableDeclaration","scope":16057,"src":"71432:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16051,"name":"string","nodeType":"ElementaryTypeName","src":"71432:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16054,"mutability":"mutable","name":"error","nameLocation":"71471:5:17","nodeType":"VariableDeclaration","scope":16057,"src":"71455:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16053,"name":"string","nodeType":"ElementaryTypeName","src":"71455:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71409:68:17"},"returnParameters":{"id":16056,"nodeType":"ParameterList","parameters":[],"src":"71491:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16065,"nodeType":"FunctionDefinition","src":"71549:75:17","nodes":[],"documentation":{"id":16058,"nodeType":"StructuredDocumentation","src":"71498:46:17","text":"Asserts that two `bytes` values are equal."},"functionSelector":"97624631","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71558:8:17","parameters":{"id":16063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16060,"mutability":"mutable","name":"left","nameLocation":"71582:4:17","nodeType":"VariableDeclaration","scope":16065,"src":"71567:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16059,"name":"bytes","nodeType":"ElementaryTypeName","src":"71567:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16062,"mutability":"mutable","name":"right","nameLocation":"71603:5:17","nodeType":"VariableDeclaration","scope":16065,"src":"71588:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16061,"name":"bytes","nodeType":"ElementaryTypeName","src":"71588:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"71566:43:17"},"returnParameters":{"id":16064,"nodeType":"ParameterList","parameters":[],"src":"71623:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16075,"nodeType":"FunctionDefinition","src":"71738:98:17","nodes":[],"documentation":{"id":16066,"nodeType":"StructuredDocumentation","src":"71630:103:17","text":"Asserts that two `bytes` values are equal and includes error message into revert string on failure."},"functionSelector":"e24fed00","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71747:8:17","parameters":{"id":16073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16068,"mutability":"mutable","name":"left","nameLocation":"71771:4:17","nodeType":"VariableDeclaration","scope":16075,"src":"71756:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16067,"name":"bytes","nodeType":"ElementaryTypeName","src":"71756:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16070,"mutability":"mutable","name":"right","nameLocation":"71792:5:17","nodeType":"VariableDeclaration","scope":16075,"src":"71777:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16069,"name":"bytes","nodeType":"ElementaryTypeName","src":"71777:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16072,"mutability":"mutable","name":"error","nameLocation":"71815:5:17","nodeType":"VariableDeclaration","scope":16075,"src":"71799:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16071,"name":"string","nodeType":"ElementaryTypeName","src":"71799:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71755:66:17"},"returnParameters":{"id":16074,"nodeType":"ParameterList","parameters":[],"src":"71835:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16085,"nodeType":"FunctionDefinition","src":"71902:77:17","nodes":[],"documentation":{"id":16076,"nodeType":"StructuredDocumentation","src":"71842:55:17","text":"Asserts that two arrays of `bool` values are equal."},"functionSelector":"707df785","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71911:8:17","parameters":{"id":16083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16079,"mutability":"mutable","name":"left","nameLocation":"71936:4:17","nodeType":"VariableDeclaration","scope":16085,"src":"71920:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16077,"name":"bool","nodeType":"ElementaryTypeName","src":"71920:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16078,"nodeType":"ArrayTypeName","src":"71920:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":16082,"mutability":"mutable","name":"right","nameLocation":"71958:5:17","nodeType":"VariableDeclaration","scope":16085,"src":"71942:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16080,"name":"bool","nodeType":"ElementaryTypeName","src":"71942:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16081,"nodeType":"ArrayTypeName","src":"71942:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"71919:45:17"},"returnParameters":{"id":16084,"nodeType":"ParameterList","parameters":[],"src":"71978:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16097,"nodeType":"FunctionDefinition","src":"72102:100:17","nodes":[],"documentation":{"id":16086,"nodeType":"StructuredDocumentation","src":"71985:112:17","text":"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure."},"functionSelector":"e48a8f8d","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"72111:8:17","parameters":{"id":16095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16089,"mutability":"mutable","name":"left","nameLocation":"72136:4:17","nodeType":"VariableDeclaration","scope":16097,"src":"72120:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16087,"name":"bool","nodeType":"ElementaryTypeName","src":"72120:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16088,"nodeType":"ArrayTypeName","src":"72120:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":16092,"mutability":"mutable","name":"right","nameLocation":"72158:5:17","nodeType":"VariableDeclaration","scope":16097,"src":"72142:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16090,"name":"bool","nodeType":"ElementaryTypeName","src":"72142:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16091,"nodeType":"ArrayTypeName","src":"72142:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":16094,"mutability":"mutable","name":"error","nameLocation":"72181:5:17","nodeType":"VariableDeclaration","scope":16097,"src":"72165:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16093,"name":"string","nodeType":"ElementaryTypeName","src":"72165:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72119:68:17"},"returnParameters":{"id":16096,"nodeType":"ParameterList","parameters":[],"src":"72201:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16107,"nodeType":"FunctionDefinition","src":"72270:83:17","nodes":[],"documentation":{"id":16098,"nodeType":"StructuredDocumentation","src":"72208:57:17","text":"Asserts that two arrays of `uint256 values are equal."},"functionSelector":"975d5a12","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"72279:8:17","parameters":{"id":16105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16101,"mutability":"mutable","name":"left","nameLocation":"72307:4:17","nodeType":"VariableDeclaration","scope":16107,"src":"72288:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16099,"name":"uint256","nodeType":"ElementaryTypeName","src":"72288:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16100,"nodeType":"ArrayTypeName","src":"72288:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16104,"mutability":"mutable","name":"right","nameLocation":"72332:5:17","nodeType":"VariableDeclaration","scope":16107,"src":"72313:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16102,"name":"uint256","nodeType":"ElementaryTypeName","src":"72313:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16103,"nodeType":"ArrayTypeName","src":"72313:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"72287:51:17"},"returnParameters":{"id":16106,"nodeType":"ParameterList","parameters":[],"src":"72352:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16119,"nodeType":"FunctionDefinition","src":"72479:106:17","nodes":[],"documentation":{"id":16108,"nodeType":"StructuredDocumentation","src":"72359:115:17","text":"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure."},"functionSelector":"5d18c73a","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"72488:8:17","parameters":{"id":16117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16111,"mutability":"mutable","name":"left","nameLocation":"72516:4:17","nodeType":"VariableDeclaration","scope":16119,"src":"72497:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16109,"name":"uint256","nodeType":"ElementaryTypeName","src":"72497:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16110,"nodeType":"ArrayTypeName","src":"72497:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16114,"mutability":"mutable","name":"right","nameLocation":"72541:5:17","nodeType":"VariableDeclaration","scope":16119,"src":"72522:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16112,"name":"uint256","nodeType":"ElementaryTypeName","src":"72522:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16113,"nodeType":"ArrayTypeName","src":"72522:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16116,"mutability":"mutable","name":"error","nameLocation":"72564:5:17","nodeType":"VariableDeclaration","scope":16119,"src":"72548:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16115,"name":"string","nodeType":"ElementaryTypeName","src":"72548:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72496:74:17"},"returnParameters":{"id":16118,"nodeType":"ParameterList","parameters":[],"src":"72584:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16129,"nodeType":"FunctionDefinition","src":"72653:81:17","nodes":[],"documentation":{"id":16120,"nodeType":"StructuredDocumentation","src":"72591:57:17","text":"Asserts that two arrays of `int256` values are equal."},"functionSelector":"711043ac","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"72662:8:17","parameters":{"id":16127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16123,"mutability":"mutable","name":"left","nameLocation":"72689:4:17","nodeType":"VariableDeclaration","scope":16129,"src":"72671:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16121,"name":"int256","nodeType":"ElementaryTypeName","src":"72671:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16122,"nodeType":"ArrayTypeName","src":"72671:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":16126,"mutability":"mutable","name":"right","nameLocation":"72713:5:17","nodeType":"VariableDeclaration","scope":16129,"src":"72695:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16124,"name":"int256","nodeType":"ElementaryTypeName","src":"72695:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16125,"nodeType":"ArrayTypeName","src":"72695:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"72670:49:17"},"returnParameters":{"id":16128,"nodeType":"ParameterList","parameters":[],"src":"72733:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16141,"nodeType":"FunctionDefinition","src":"72859:104:17","nodes":[],"documentation":{"id":16130,"nodeType":"StructuredDocumentation","src":"72740:114:17","text":"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure."},"functionSelector":"191f1b30","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"72868:8:17","parameters":{"id":16139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16133,"mutability":"mutable","name":"left","nameLocation":"72895:4:17","nodeType":"VariableDeclaration","scope":16141,"src":"72877:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16131,"name":"int256","nodeType":"ElementaryTypeName","src":"72877:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16132,"nodeType":"ArrayTypeName","src":"72877:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":16136,"mutability":"mutable","name":"right","nameLocation":"72919:5:17","nodeType":"VariableDeclaration","scope":16141,"src":"72901:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16134,"name":"int256","nodeType":"ElementaryTypeName","src":"72901:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16135,"nodeType":"ArrayTypeName","src":"72901:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":16138,"mutability":"mutable","name":"error","nameLocation":"72942:5:17","nodeType":"VariableDeclaration","scope":16141,"src":"72926:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16137,"name":"string","nodeType":"ElementaryTypeName","src":"72926:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72876:72:17"},"returnParameters":{"id":16140,"nodeType":"ParameterList","parameters":[],"src":"72962:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16149,"nodeType":"FunctionDefinition","src":"73022:61:17","nodes":[],"documentation":{"id":16142,"nodeType":"StructuredDocumentation","src":"72969:48:17","text":"Asserts that two `uint256` values are equal."},"functionSelector":"98296c54","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"73031:8:17","parameters":{"id":16147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16144,"mutability":"mutable","name":"left","nameLocation":"73048:4:17","nodeType":"VariableDeclaration","scope":16149,"src":"73040:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16143,"name":"uint256","nodeType":"ElementaryTypeName","src":"73040:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16146,"mutability":"mutable","name":"right","nameLocation":"73062:5:17","nodeType":"VariableDeclaration","scope":16149,"src":"73054:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16145,"name":"uint256","nodeType":"ElementaryTypeName","src":"73054:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73039:29:17"},"returnParameters":{"id":16148,"nodeType":"ParameterList","parameters":[],"src":"73082:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16159,"nodeType":"FunctionDefinition","src":"73152:83:17","nodes":[],"documentation":{"id":16150,"nodeType":"StructuredDocumentation","src":"73089:58:17","text":"Asserts that two arrays of `address` values are equal."},"functionSelector":"3868ac34","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"73161:8:17","parameters":{"id":16157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16153,"mutability":"mutable","name":"left","nameLocation":"73189:4:17","nodeType":"VariableDeclaration","scope":16159,"src":"73170:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16151,"name":"address","nodeType":"ElementaryTypeName","src":"73170:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16152,"nodeType":"ArrayTypeName","src":"73170:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":16156,"mutability":"mutable","name":"right","nameLocation":"73214:5:17","nodeType":"VariableDeclaration","scope":16159,"src":"73195:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16154,"name":"address","nodeType":"ElementaryTypeName","src":"73195:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16155,"nodeType":"ArrayTypeName","src":"73195:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"73169:51:17"},"returnParameters":{"id":16158,"nodeType":"ParameterList","parameters":[],"src":"73234:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16171,"nodeType":"FunctionDefinition","src":"73361:106:17","nodes":[],"documentation":{"id":16160,"nodeType":"StructuredDocumentation","src":"73241:115:17","text":"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure."},"functionSelector":"3e9173c5","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"73370:8:17","parameters":{"id":16169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16163,"mutability":"mutable","name":"left","nameLocation":"73398:4:17","nodeType":"VariableDeclaration","scope":16171,"src":"73379:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16161,"name":"address","nodeType":"ElementaryTypeName","src":"73379:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16162,"nodeType":"ArrayTypeName","src":"73379:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":16166,"mutability":"mutable","name":"right","nameLocation":"73423:5:17","nodeType":"VariableDeclaration","scope":16171,"src":"73404:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16164,"name":"address","nodeType":"ElementaryTypeName","src":"73404:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16165,"nodeType":"ArrayTypeName","src":"73404:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":16168,"mutability":"mutable","name":"error","nameLocation":"73446:5:17","nodeType":"VariableDeclaration","scope":16171,"src":"73430:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16167,"name":"string","nodeType":"ElementaryTypeName","src":"73430:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73378:74:17"},"returnParameters":{"id":16170,"nodeType":"ParameterList","parameters":[],"src":"73466:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16181,"nodeType":"FunctionDefinition","src":"73536:83:17","nodes":[],"documentation":{"id":16172,"nodeType":"StructuredDocumentation","src":"73473:58:17","text":"Asserts that two arrays of `bytes32` values are equal."},"functionSelector":"0cc9ee84","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"73545:8:17","parameters":{"id":16179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16175,"mutability":"mutable","name":"left","nameLocation":"73573:4:17","nodeType":"VariableDeclaration","scope":16181,"src":"73554:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73554:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16174,"nodeType":"ArrayTypeName","src":"73554:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":16178,"mutability":"mutable","name":"right","nameLocation":"73598:5:17","nodeType":"VariableDeclaration","scope":16181,"src":"73579:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73579:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16177,"nodeType":"ArrayTypeName","src":"73579:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"73553:51:17"},"returnParameters":{"id":16180,"nodeType":"ParameterList","parameters":[],"src":"73618:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16193,"nodeType":"FunctionDefinition","src":"73745:106:17","nodes":[],"documentation":{"id":16182,"nodeType":"StructuredDocumentation","src":"73625:115:17","text":"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure."},"functionSelector":"e03e9177","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"73754:8:17","parameters":{"id":16191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16185,"mutability":"mutable","name":"left","nameLocation":"73782:4:17","nodeType":"VariableDeclaration","scope":16193,"src":"73763:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73763:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16184,"nodeType":"ArrayTypeName","src":"73763:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":16188,"mutability":"mutable","name":"right","nameLocation":"73807:5:17","nodeType":"VariableDeclaration","scope":16193,"src":"73788:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73788:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16187,"nodeType":"ArrayTypeName","src":"73788:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":16190,"mutability":"mutable","name":"error","nameLocation":"73830:5:17","nodeType":"VariableDeclaration","scope":16193,"src":"73814:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16189,"name":"string","nodeType":"ElementaryTypeName","src":"73814:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73762:74:17"},"returnParameters":{"id":16192,"nodeType":"ParameterList","parameters":[],"src":"73850:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16203,"nodeType":"FunctionDefinition","src":"73919:81:17","nodes":[],"documentation":{"id":16194,"nodeType":"StructuredDocumentation","src":"73857:57:17","text":"Asserts that two arrays of `string` values are equal."},"functionSelector":"cf1c049c","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"73928:8:17","parameters":{"id":16201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16197,"mutability":"mutable","name":"left","nameLocation":"73955:4:17","nodeType":"VariableDeclaration","scope":16203,"src":"73937:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16195,"name":"string","nodeType":"ElementaryTypeName","src":"73937:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16196,"nodeType":"ArrayTypeName","src":"73937:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":16200,"mutability":"mutable","name":"right","nameLocation":"73979:5:17","nodeType":"VariableDeclaration","scope":16203,"src":"73961:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16198,"name":"string","nodeType":"ElementaryTypeName","src":"73961:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16199,"nodeType":"ArrayTypeName","src":"73961:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"73936:49:17"},"returnParameters":{"id":16202,"nodeType":"ParameterList","parameters":[],"src":"73999:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16215,"nodeType":"FunctionDefinition","src":"74125:104:17","nodes":[],"documentation":{"id":16204,"nodeType":"StructuredDocumentation","src":"74006:114:17","text":"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure."},"functionSelector":"eff6b27d","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"74134:8:17","parameters":{"id":16213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16207,"mutability":"mutable","name":"left","nameLocation":"74161:4:17","nodeType":"VariableDeclaration","scope":16215,"src":"74143:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16205,"name":"string","nodeType":"ElementaryTypeName","src":"74143:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16206,"nodeType":"ArrayTypeName","src":"74143:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":16210,"mutability":"mutable","name":"right","nameLocation":"74185:5:17","nodeType":"VariableDeclaration","scope":16215,"src":"74167:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16208,"name":"string","nodeType":"ElementaryTypeName","src":"74167:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16209,"nodeType":"ArrayTypeName","src":"74167:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":16212,"mutability":"mutable","name":"error","nameLocation":"74208:5:17","nodeType":"VariableDeclaration","scope":16215,"src":"74192:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16211,"name":"string","nodeType":"ElementaryTypeName","src":"74192:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74142:72:17"},"returnParameters":{"id":16214,"nodeType":"ParameterList","parameters":[],"src":"74228:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16225,"nodeType":"FunctionDefinition","src":"74296:79:17","nodes":[],"documentation":{"id":16216,"nodeType":"StructuredDocumentation","src":"74235:56:17","text":"Asserts that two arrays of `bytes` values are equal."},"functionSelector":"e5fb9b4a","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"74305:8:17","parameters":{"id":16223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16219,"mutability":"mutable","name":"left","nameLocation":"74331:4:17","nodeType":"VariableDeclaration","scope":16225,"src":"74314:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16217,"name":"bytes","nodeType":"ElementaryTypeName","src":"74314:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16218,"nodeType":"ArrayTypeName","src":"74314:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":16222,"mutability":"mutable","name":"right","nameLocation":"74354:5:17","nodeType":"VariableDeclaration","scope":16225,"src":"74337:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16220,"name":"bytes","nodeType":"ElementaryTypeName","src":"74337:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16221,"nodeType":"ArrayTypeName","src":"74337:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"74313:47:17"},"returnParameters":{"id":16224,"nodeType":"ParameterList","parameters":[],"src":"74374:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16237,"nodeType":"FunctionDefinition","src":"74499:102:17","nodes":[],"documentation":{"id":16226,"nodeType":"StructuredDocumentation","src":"74381:113:17","text":"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure."},"functionSelector":"f413f0b6","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"74508:8:17","parameters":{"id":16235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16229,"mutability":"mutable","name":"left","nameLocation":"74534:4:17","nodeType":"VariableDeclaration","scope":16237,"src":"74517:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16227,"name":"bytes","nodeType":"ElementaryTypeName","src":"74517:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16228,"nodeType":"ArrayTypeName","src":"74517:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":16232,"mutability":"mutable","name":"right","nameLocation":"74557:5:17","nodeType":"VariableDeclaration","scope":16237,"src":"74540:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16230,"name":"bytes","nodeType":"ElementaryTypeName","src":"74540:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16231,"nodeType":"ArrayTypeName","src":"74540:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":16234,"mutability":"mutable","name":"error","nameLocation":"74580:5:17","nodeType":"VariableDeclaration","scope":16237,"src":"74564:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16233,"name":"string","nodeType":"ElementaryTypeName","src":"74564:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74516:70:17"},"returnParameters":{"id":16236,"nodeType":"ParameterList","parameters":[],"src":"74600:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16247,"nodeType":"FunctionDefinition","src":"74717:84:17","nodes":[],"documentation":{"id":16238,"nodeType":"StructuredDocumentation","src":"74607:105:17","text":"Asserts that two `uint256` values are equal and includes error message into revert string on failure."},"functionSelector":"88b44c85","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"74726:8:17","parameters":{"id":16245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16240,"mutability":"mutable","name":"left","nameLocation":"74743:4:17","nodeType":"VariableDeclaration","scope":16247,"src":"74735:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16239,"name":"uint256","nodeType":"ElementaryTypeName","src":"74735:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16242,"mutability":"mutable","name":"right","nameLocation":"74757:5:17","nodeType":"VariableDeclaration","scope":16247,"src":"74749:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16241,"name":"uint256","nodeType":"ElementaryTypeName","src":"74749:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16244,"mutability":"mutable","name":"error","nameLocation":"74780:5:17","nodeType":"VariableDeclaration","scope":16247,"src":"74764:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16243,"name":"string","nodeType":"ElementaryTypeName","src":"74764:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74734:52:17"},"returnParameters":{"id":16246,"nodeType":"ParameterList","parameters":[],"src":"74800:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16255,"nodeType":"FunctionDefinition","src":"74859:59:17","nodes":[],"documentation":{"id":16248,"nodeType":"StructuredDocumentation","src":"74807:47:17","text":"Asserts that two `int256` values are equal."},"functionSelector":"fe74f05b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"74868:8:17","parameters":{"id":16253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16250,"mutability":"mutable","name":"left","nameLocation":"74884:4:17","nodeType":"VariableDeclaration","scope":16255,"src":"74877:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16249,"name":"int256","nodeType":"ElementaryTypeName","src":"74877:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16252,"mutability":"mutable","name":"right","nameLocation":"74897:5:17","nodeType":"VariableDeclaration","scope":16255,"src":"74890:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16251,"name":"int256","nodeType":"ElementaryTypeName","src":"74890:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"74876:27:17"},"returnParameters":{"id":16254,"nodeType":"ParameterList","parameters":[],"src":"74917:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16265,"nodeType":"FunctionDefinition","src":"75033:82:17","nodes":[],"documentation":{"id":16256,"nodeType":"StructuredDocumentation","src":"74924:104:17","text":"Asserts that two `int256` values are equal and includes error message into revert string on failure."},"functionSelector":"714a2f13","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"75042:8:17","parameters":{"id":16263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16258,"mutability":"mutable","name":"left","nameLocation":"75058:4:17","nodeType":"VariableDeclaration","scope":16265,"src":"75051:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16257,"name":"int256","nodeType":"ElementaryTypeName","src":"75051:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16260,"mutability":"mutable","name":"right","nameLocation":"75071:5:17","nodeType":"VariableDeclaration","scope":16265,"src":"75064:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16259,"name":"int256","nodeType":"ElementaryTypeName","src":"75064:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16262,"mutability":"mutable","name":"error","nameLocation":"75094:5:17","nodeType":"VariableDeclaration","scope":16265,"src":"75078:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16261,"name":"string","nodeType":"ElementaryTypeName","src":"75078:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75050:50:17"},"returnParameters":{"id":16264,"nodeType":"ParameterList","parameters":[],"src":"75114:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16273,"nodeType":"FunctionDefinition","src":"75174:61:17","nodes":[],"documentation":{"id":16266,"nodeType":"StructuredDocumentation","src":"75121:48:17","text":"Asserts that two `address` values are equal."},"functionSelector":"515361f6","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"75183:8:17","parameters":{"id":16271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16268,"mutability":"mutable","name":"left","nameLocation":"75200:4:17","nodeType":"VariableDeclaration","scope":16273,"src":"75192:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16267,"name":"address","nodeType":"ElementaryTypeName","src":"75192:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16270,"mutability":"mutable","name":"right","nameLocation":"75214:5:17","nodeType":"VariableDeclaration","scope":16273,"src":"75206:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16269,"name":"address","nodeType":"ElementaryTypeName","src":"75206:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"75191:29:17"},"returnParameters":{"id":16272,"nodeType":"ParameterList","parameters":[],"src":"75234:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16283,"nodeType":"FunctionDefinition","src":"75351:84:17","nodes":[],"documentation":{"id":16274,"nodeType":"StructuredDocumentation","src":"75241:105:17","text":"Asserts that two `address` values are equal and includes error message into revert string on failure."},"functionSelector":"2f2769d1","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"75360:8:17","parameters":{"id":16281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16276,"mutability":"mutable","name":"left","nameLocation":"75377:4:17","nodeType":"VariableDeclaration","scope":16283,"src":"75369:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16275,"name":"address","nodeType":"ElementaryTypeName","src":"75369:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16278,"mutability":"mutable","name":"right","nameLocation":"75391:5:17","nodeType":"VariableDeclaration","scope":16283,"src":"75383:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16277,"name":"address","nodeType":"ElementaryTypeName","src":"75383:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16280,"mutability":"mutable","name":"error","nameLocation":"75414:5:17","nodeType":"VariableDeclaration","scope":16283,"src":"75398:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16279,"name":"string","nodeType":"ElementaryTypeName","src":"75398:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75368:52:17"},"returnParameters":{"id":16282,"nodeType":"ParameterList","parameters":[],"src":"75434:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16291,"nodeType":"FunctionDefinition","src":"75494:61:17","nodes":[],"documentation":{"id":16284,"nodeType":"StructuredDocumentation","src":"75441:48:17","text":"Asserts that two `bytes32` values are equal."},"functionSelector":"7c84c69b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"75503:8:17","parameters":{"id":16289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16286,"mutability":"mutable","name":"left","nameLocation":"75520:4:17","nodeType":"VariableDeclaration","scope":16291,"src":"75512:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75512:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16288,"mutability":"mutable","name":"right","nameLocation":"75534:5:17","nodeType":"VariableDeclaration","scope":16291,"src":"75526:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75526:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"75511:29:17"},"returnParameters":{"id":16290,"nodeType":"ParameterList","parameters":[],"src":"75554:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16301,"nodeType":"FunctionDefinition","src":"75671:84:17","nodes":[],"documentation":{"id":16292,"nodeType":"StructuredDocumentation","src":"75561:105:17","text":"Asserts that two `bytes32` values are equal and includes error message into revert string on failure."},"functionSelector":"c1fa1ed0","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"75680:8:17","parameters":{"id":16299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16294,"mutability":"mutable","name":"left","nameLocation":"75697:4:17","nodeType":"VariableDeclaration","scope":16301,"src":"75689:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75689:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16296,"mutability":"mutable","name":"right","nameLocation":"75711:5:17","nodeType":"VariableDeclaration","scope":16301,"src":"75703:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75703:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16298,"mutability":"mutable","name":"error","nameLocation":"75734:5:17","nodeType":"VariableDeclaration","scope":16301,"src":"75718:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16297,"name":"string","nodeType":"ElementaryTypeName","src":"75718:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75688:52:17"},"returnParameters":{"id":16300,"nodeType":"ParameterList","parameters":[],"src":"75754:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16307,"nodeType":"FunctionDefinition","src":"75812:51:17","nodes":[],"documentation":{"id":16302,"nodeType":"StructuredDocumentation","src":"75761:46:17","text":"Asserts that the given condition is false."},"functionSelector":"a5982885","implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"75821:11:17","parameters":{"id":16305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16304,"mutability":"mutable","name":"condition","nameLocation":"75838:9:17","nodeType":"VariableDeclaration","scope":16307,"src":"75833:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16303,"name":"bool","nodeType":"ElementaryTypeName","src":"75833:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"75832:16:17"},"returnParameters":{"id":16306,"nodeType":"ParameterList","parameters":[],"src":"75862:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16315,"nodeType":"FunctionDefinition","src":"75977:74:17","nodes":[],"documentation":{"id":16308,"nodeType":"StructuredDocumentation","src":"75869:103:17","text":"Asserts that the given condition is false and includes error message into revert string on failure."},"functionSelector":"7ba04809","implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"75986:11:17","parameters":{"id":16313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16310,"mutability":"mutable","name":"condition","nameLocation":"76003:9:17","nodeType":"VariableDeclaration","scope":16315,"src":"75998:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16309,"name":"bool","nodeType":"ElementaryTypeName","src":"75998:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16312,"mutability":"mutable","name":"error","nameLocation":"76030:5:17","nodeType":"VariableDeclaration","scope":16315,"src":"76014:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16311,"name":"string","nodeType":"ElementaryTypeName","src":"76014:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75997:39:17"},"returnParameters":{"id":16314,"nodeType":"ParameterList","parameters":[],"src":"76050:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16325,"nodeType":"FunctionDefinition","src":"76212:86:17","nodes":[],"documentation":{"id":16316,"nodeType":"StructuredDocumentation","src":"76057:150:17","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"3d1fe08a","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"76221:15:17","parameters":{"id":16323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16318,"mutability":"mutable","name":"left","nameLocation":"76245:4:17","nodeType":"VariableDeclaration","scope":16325,"src":"76237:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16317,"name":"uint256","nodeType":"ElementaryTypeName","src":"76237:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16320,"mutability":"mutable","name":"right","nameLocation":"76259:5:17","nodeType":"VariableDeclaration","scope":16325,"src":"76251:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16319,"name":"uint256","nodeType":"ElementaryTypeName","src":"76251:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16322,"mutability":"mutable","name":"decimals","nameLocation":"76274:8:17","nodeType":"VariableDeclaration","scope":16325,"src":"76266:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16321,"name":"uint256","nodeType":"ElementaryTypeName","src":"76266:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76236:47:17"},"returnParameters":{"id":16324,"nodeType":"ParameterList","parameters":[],"src":"76297:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16337,"nodeType":"FunctionDefinition","src":"76513:109:17","nodes":[],"documentation":{"id":16326,"nodeType":"StructuredDocumentation","src":"76304:204:17","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"8bff9133","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"76522:15:17","parameters":{"id":16335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16328,"mutability":"mutable","name":"left","nameLocation":"76546:4:17","nodeType":"VariableDeclaration","scope":16337,"src":"76538:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16327,"name":"uint256","nodeType":"ElementaryTypeName","src":"76538:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16330,"mutability":"mutable","name":"right","nameLocation":"76560:5:17","nodeType":"VariableDeclaration","scope":16337,"src":"76552:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16329,"name":"uint256","nodeType":"ElementaryTypeName","src":"76552:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16332,"mutability":"mutable","name":"decimals","nameLocation":"76575:8:17","nodeType":"VariableDeclaration","scope":16337,"src":"76567:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16331,"name":"uint256","nodeType":"ElementaryTypeName","src":"76567:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16334,"mutability":"mutable","name":"error","nameLocation":"76601:5:17","nodeType":"VariableDeclaration","scope":16337,"src":"76585:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16333,"name":"string","nodeType":"ElementaryTypeName","src":"76585:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76537:70:17"},"returnParameters":{"id":16336,"nodeType":"ParameterList","parameters":[],"src":"76621:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16347,"nodeType":"FunctionDefinition","src":"76782:84:17","nodes":[],"documentation":{"id":16338,"nodeType":"StructuredDocumentation","src":"76628:149:17","text":"Compares two `int256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"dc28c0f1","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"76791:15:17","parameters":{"id":16345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16340,"mutability":"mutable","name":"left","nameLocation":"76814:4:17","nodeType":"VariableDeclaration","scope":16347,"src":"76807:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16339,"name":"int256","nodeType":"ElementaryTypeName","src":"76807:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16342,"mutability":"mutable","name":"right","nameLocation":"76827:5:17","nodeType":"VariableDeclaration","scope":16347,"src":"76820:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16341,"name":"int256","nodeType":"ElementaryTypeName","src":"76820:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16344,"mutability":"mutable","name":"decimals","nameLocation":"76842:8:17","nodeType":"VariableDeclaration","scope":16347,"src":"76834:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16343,"name":"uint256","nodeType":"ElementaryTypeName","src":"76834:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76806:45:17"},"returnParameters":{"id":16346,"nodeType":"ParameterList","parameters":[],"src":"76865:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16359,"nodeType":"FunctionDefinition","src":"77080:107:17","nodes":[],"documentation":{"id":16348,"nodeType":"StructuredDocumentation","src":"76872:203:17","text":"Compares two `int256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"5df93c9b","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"77089:15:17","parameters":{"id":16357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16350,"mutability":"mutable","name":"left","nameLocation":"77112:4:17","nodeType":"VariableDeclaration","scope":16359,"src":"77105:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16349,"name":"int256","nodeType":"ElementaryTypeName","src":"77105:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16352,"mutability":"mutable","name":"right","nameLocation":"77125:5:17","nodeType":"VariableDeclaration","scope":16359,"src":"77118:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16351,"name":"int256","nodeType":"ElementaryTypeName","src":"77118:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16354,"mutability":"mutable","name":"decimals","nameLocation":"77140:8:17","nodeType":"VariableDeclaration","scope":16359,"src":"77132:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16353,"name":"uint256","nodeType":"ElementaryTypeName","src":"77132:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16356,"mutability":"mutable","name":"error","nameLocation":"77166:5:17","nodeType":"VariableDeclaration","scope":16359,"src":"77150:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16355,"name":"string","nodeType":"ElementaryTypeName","src":"77150:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77104:68:17"},"returnParameters":{"id":16358,"nodeType":"ParameterList","parameters":[],"src":"77186:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16367,"nodeType":"FunctionDefinition","src":"77291:61:17","nodes":[],"documentation":{"id":16360,"nodeType":"StructuredDocumentation","src":"77193:93:17","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second."},"functionSelector":"a8d4d1d9","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"77300:8:17","parameters":{"id":16365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16362,"mutability":"mutable","name":"left","nameLocation":"77317:4:17","nodeType":"VariableDeclaration","scope":16367,"src":"77309:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16361,"name":"uint256","nodeType":"ElementaryTypeName","src":"77309:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16364,"mutability":"mutable","name":"right","nameLocation":"77331:5:17","nodeType":"VariableDeclaration","scope":16367,"src":"77323:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16363,"name":"uint256","nodeType":"ElementaryTypeName","src":"77323:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77308:29:17"},"returnParameters":{"id":16366,"nodeType":"ParameterList","parameters":[],"src":"77351:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16377,"nodeType":"FunctionDefinition","src":"77518:84:17","nodes":[],"documentation":{"id":16368,"nodeType":"StructuredDocumentation","src":"77358:155:17","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"e25242c0","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"77527:8:17","parameters":{"id":16375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16370,"mutability":"mutable","name":"left","nameLocation":"77544:4:17","nodeType":"VariableDeclaration","scope":16377,"src":"77536:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16369,"name":"uint256","nodeType":"ElementaryTypeName","src":"77536:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16372,"mutability":"mutable","name":"right","nameLocation":"77558:5:17","nodeType":"VariableDeclaration","scope":16377,"src":"77550:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16371,"name":"uint256","nodeType":"ElementaryTypeName","src":"77550:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16374,"mutability":"mutable","name":"error","nameLocation":"77581:5:17","nodeType":"VariableDeclaration","scope":16377,"src":"77565:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16373,"name":"string","nodeType":"ElementaryTypeName","src":"77565:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77535:52:17"},"returnParameters":{"id":16376,"nodeType":"ParameterList","parameters":[],"src":"77601:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16385,"nodeType":"FunctionDefinition","src":"77705:59:17","nodes":[],"documentation":{"id":16378,"nodeType":"StructuredDocumentation","src":"77608:92:17","text":"Compares two `int256` values. Expects first value to be greater than or equal to second."},"functionSelector":"0a30b771","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"77714:8:17","parameters":{"id":16383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16380,"mutability":"mutable","name":"left","nameLocation":"77730:4:17","nodeType":"VariableDeclaration","scope":16385,"src":"77723:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16379,"name":"int256","nodeType":"ElementaryTypeName","src":"77723:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16382,"mutability":"mutable","name":"right","nameLocation":"77743:5:17","nodeType":"VariableDeclaration","scope":16385,"src":"77736:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16381,"name":"int256","nodeType":"ElementaryTypeName","src":"77736:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"77722:27:17"},"returnParameters":{"id":16384,"nodeType":"ParameterList","parameters":[],"src":"77763:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16395,"nodeType":"FunctionDefinition","src":"77929:82:17","nodes":[],"documentation":{"id":16386,"nodeType":"StructuredDocumentation","src":"77770:154:17","text":"Compares two `int256` values. Expects first value to be greater than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"a84328dd","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"77938:8:17","parameters":{"id":16393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16388,"mutability":"mutable","name":"left","nameLocation":"77954:4:17","nodeType":"VariableDeclaration","scope":16395,"src":"77947:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16387,"name":"int256","nodeType":"ElementaryTypeName","src":"77947:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16390,"mutability":"mutable","name":"right","nameLocation":"77967:5:17","nodeType":"VariableDeclaration","scope":16395,"src":"77960:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16389,"name":"int256","nodeType":"ElementaryTypeName","src":"77960:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16392,"mutability":"mutable","name":"error","nameLocation":"77990:5:17","nodeType":"VariableDeclaration","scope":16395,"src":"77974:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16391,"name":"string","nodeType":"ElementaryTypeName","src":"77974:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77946:50:17"},"returnParameters":{"id":16394,"nodeType":"ParameterList","parameters":[],"src":"78010:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16405,"nodeType":"FunctionDefinition","src":"78160:86:17","nodes":[],"documentation":{"id":16396,"nodeType":"StructuredDocumentation","src":"78017:138:17","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message."},"functionSelector":"eccd2437","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"78169:15:17","parameters":{"id":16403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16398,"mutability":"mutable","name":"left","nameLocation":"78193:4:17","nodeType":"VariableDeclaration","scope":16405,"src":"78185:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16397,"name":"uint256","nodeType":"ElementaryTypeName","src":"78185:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16400,"mutability":"mutable","name":"right","nameLocation":"78207:5:17","nodeType":"VariableDeclaration","scope":16405,"src":"78199:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16399,"name":"uint256","nodeType":"ElementaryTypeName","src":"78199:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16402,"mutability":"mutable","name":"decimals","nameLocation":"78222:8:17","nodeType":"VariableDeclaration","scope":16405,"src":"78214:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16401,"name":"uint256","nodeType":"ElementaryTypeName","src":"78214:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78184:47:17"},"returnParameters":{"id":16404,"nodeType":"ParameterList","parameters":[],"src":"78245:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16417,"nodeType":"FunctionDefinition","src":"78449:109:17","nodes":[],"documentation":{"id":16406,"nodeType":"StructuredDocumentation","src":"78252:192:17","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"64949a8d","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"78458:15:17","parameters":{"id":16415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16408,"mutability":"mutable","name":"left","nameLocation":"78482:4:17","nodeType":"VariableDeclaration","scope":16417,"src":"78474:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16407,"name":"uint256","nodeType":"ElementaryTypeName","src":"78474:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16410,"mutability":"mutable","name":"right","nameLocation":"78496:5:17","nodeType":"VariableDeclaration","scope":16417,"src":"78488:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16409,"name":"uint256","nodeType":"ElementaryTypeName","src":"78488:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16412,"mutability":"mutable","name":"decimals","nameLocation":"78511:8:17","nodeType":"VariableDeclaration","scope":16417,"src":"78503:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16411,"name":"uint256","nodeType":"ElementaryTypeName","src":"78503:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16414,"mutability":"mutable","name":"error","nameLocation":"78537:5:17","nodeType":"VariableDeclaration","scope":16417,"src":"78521:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16413,"name":"string","nodeType":"ElementaryTypeName","src":"78521:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"78473:70:17"},"returnParameters":{"id":16416,"nodeType":"ParameterList","parameters":[],"src":"78557:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16427,"nodeType":"FunctionDefinition","src":"78706:84:17","nodes":[],"documentation":{"id":16418,"nodeType":"StructuredDocumentation","src":"78564:137:17","text":"Compares two `int256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message."},"functionSelector":"78611f0e","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"78715:15:17","parameters":{"id":16425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16420,"mutability":"mutable","name":"left","nameLocation":"78738:4:17","nodeType":"VariableDeclaration","scope":16427,"src":"78731:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16419,"name":"int256","nodeType":"ElementaryTypeName","src":"78731:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16422,"mutability":"mutable","name":"right","nameLocation":"78751:5:17","nodeType":"VariableDeclaration","scope":16427,"src":"78744:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16421,"name":"int256","nodeType":"ElementaryTypeName","src":"78744:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16424,"mutability":"mutable","name":"decimals","nameLocation":"78766:8:17","nodeType":"VariableDeclaration","scope":16427,"src":"78758:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16423,"name":"uint256","nodeType":"ElementaryTypeName","src":"78758:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78730:45:17"},"returnParameters":{"id":16426,"nodeType":"ParameterList","parameters":[],"src":"78789:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16439,"nodeType":"FunctionDefinition","src":"78992:107:17","nodes":[],"documentation":{"id":16428,"nodeType":"StructuredDocumentation","src":"78796:191:17","text":"Compares two `int256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"04a5c7ab","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"79001:15:17","parameters":{"id":16437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16430,"mutability":"mutable","name":"left","nameLocation":"79024:4:17","nodeType":"VariableDeclaration","scope":16439,"src":"79017:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16429,"name":"int256","nodeType":"ElementaryTypeName","src":"79017:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16432,"mutability":"mutable","name":"right","nameLocation":"79037:5:17","nodeType":"VariableDeclaration","scope":16439,"src":"79030:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16431,"name":"int256","nodeType":"ElementaryTypeName","src":"79030:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16434,"mutability":"mutable","name":"decimals","nameLocation":"79052:8:17","nodeType":"VariableDeclaration","scope":16439,"src":"79044:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16433,"name":"uint256","nodeType":"ElementaryTypeName","src":"79044:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16436,"mutability":"mutable","name":"error","nameLocation":"79078:5:17","nodeType":"VariableDeclaration","scope":16439,"src":"79062:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16435,"name":"string","nodeType":"ElementaryTypeName","src":"79062:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79016:68:17"},"returnParameters":{"id":16438,"nodeType":"ParameterList","parameters":[],"src":"79098:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16447,"nodeType":"FunctionDefinition","src":"79191:61:17","nodes":[],"documentation":{"id":16440,"nodeType":"StructuredDocumentation","src":"79105:81:17","text":"Compares two `uint256` values. Expects first value to be greater than second."},"functionSelector":"db07fcd2","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"79200:8:17","parameters":{"id":16445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16442,"mutability":"mutable","name":"left","nameLocation":"79217:4:17","nodeType":"VariableDeclaration","scope":16447,"src":"79209:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16441,"name":"uint256","nodeType":"ElementaryTypeName","src":"79209:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16444,"mutability":"mutable","name":"right","nameLocation":"79231:5:17","nodeType":"VariableDeclaration","scope":16447,"src":"79223:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16443,"name":"uint256","nodeType":"ElementaryTypeName","src":"79223:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79208:29:17"},"returnParameters":{"id":16446,"nodeType":"ParameterList","parameters":[],"src":"79251:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16457,"nodeType":"FunctionDefinition","src":"79406:84:17","nodes":[],"documentation":{"id":16448,"nodeType":"StructuredDocumentation","src":"79258:143:17","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Includes error message into revert string on failure."},"functionSelector":"d9a3c4d2","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"79415:8:17","parameters":{"id":16455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16450,"mutability":"mutable","name":"left","nameLocation":"79432:4:17","nodeType":"VariableDeclaration","scope":16457,"src":"79424:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16449,"name":"uint256","nodeType":"ElementaryTypeName","src":"79424:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16452,"mutability":"mutable","name":"right","nameLocation":"79446:5:17","nodeType":"VariableDeclaration","scope":16457,"src":"79438:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16451,"name":"uint256","nodeType":"ElementaryTypeName","src":"79438:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16454,"mutability":"mutable","name":"error","nameLocation":"79469:5:17","nodeType":"VariableDeclaration","scope":16457,"src":"79453:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16453,"name":"string","nodeType":"ElementaryTypeName","src":"79453:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79423:52:17"},"returnParameters":{"id":16456,"nodeType":"ParameterList","parameters":[],"src":"79489:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16465,"nodeType":"FunctionDefinition","src":"79581:59:17","nodes":[],"documentation":{"id":16458,"nodeType":"StructuredDocumentation","src":"79496:80:17","text":"Compares two `int256` values. Expects first value to be greater than second."},"functionSelector":"5a362d45","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"79590:8:17","parameters":{"id":16463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16460,"mutability":"mutable","name":"left","nameLocation":"79606:4:17","nodeType":"VariableDeclaration","scope":16465,"src":"79599:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16459,"name":"int256","nodeType":"ElementaryTypeName","src":"79599:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16462,"mutability":"mutable","name":"right","nameLocation":"79619:5:17","nodeType":"VariableDeclaration","scope":16465,"src":"79612:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16461,"name":"int256","nodeType":"ElementaryTypeName","src":"79612:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"79598:27:17"},"returnParameters":{"id":16464,"nodeType":"ParameterList","parameters":[],"src":"79639:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16475,"nodeType":"FunctionDefinition","src":"79793:82:17","nodes":[],"documentation":{"id":16466,"nodeType":"StructuredDocumentation","src":"79646:142:17","text":"Compares two `int256` values. Expects first value to be greater than second.\n Includes error message into revert string on failure."},"functionSelector":"f8d33b9b","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"79802:8:17","parameters":{"id":16473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16468,"mutability":"mutable","name":"left","nameLocation":"79818:4:17","nodeType":"VariableDeclaration","scope":16475,"src":"79811:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16467,"name":"int256","nodeType":"ElementaryTypeName","src":"79811:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16470,"mutability":"mutable","name":"right","nameLocation":"79831:5:17","nodeType":"VariableDeclaration","scope":16475,"src":"79824:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16469,"name":"int256","nodeType":"ElementaryTypeName","src":"79824:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16472,"mutability":"mutable","name":"error","nameLocation":"79854:5:17","nodeType":"VariableDeclaration","scope":16475,"src":"79838:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16471,"name":"string","nodeType":"ElementaryTypeName","src":"79838:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79810:50:17"},"returnParameters":{"id":16474,"nodeType":"ParameterList","parameters":[],"src":"79874:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16485,"nodeType":"FunctionDefinition","src":"80033:86:17","nodes":[],"documentation":{"id":16476,"nodeType":"StructuredDocumentation","src":"79881:147:17","text":"Compares two `uint256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"c304aab7","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"80042:15:17","parameters":{"id":16483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16478,"mutability":"mutable","name":"left","nameLocation":"80066:4:17","nodeType":"VariableDeclaration","scope":16485,"src":"80058:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16477,"name":"uint256","nodeType":"ElementaryTypeName","src":"80058:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16480,"mutability":"mutable","name":"right","nameLocation":"80080:5:17","nodeType":"VariableDeclaration","scope":16485,"src":"80072:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16479,"name":"uint256","nodeType":"ElementaryTypeName","src":"80072:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16482,"mutability":"mutable","name":"decimals","nameLocation":"80095:8:17","nodeType":"VariableDeclaration","scope":16485,"src":"80087:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16481,"name":"uint256","nodeType":"ElementaryTypeName","src":"80087:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"80057:47:17"},"returnParameters":{"id":16484,"nodeType":"ParameterList","parameters":[],"src":"80118:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16497,"nodeType":"FunctionDefinition","src":"80331:109:17","nodes":[],"documentation":{"id":16486,"nodeType":"StructuredDocumentation","src":"80125:201:17","text":"Compares two `uint256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"7fefbbe0","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"80340:15:17","parameters":{"id":16495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16488,"mutability":"mutable","name":"left","nameLocation":"80364:4:17","nodeType":"VariableDeclaration","scope":16497,"src":"80356:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16487,"name":"uint256","nodeType":"ElementaryTypeName","src":"80356:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16490,"mutability":"mutable","name":"right","nameLocation":"80378:5:17","nodeType":"VariableDeclaration","scope":16497,"src":"80370:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16489,"name":"uint256","nodeType":"ElementaryTypeName","src":"80370:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16492,"mutability":"mutable","name":"decimals","nameLocation":"80393:8:17","nodeType":"VariableDeclaration","scope":16497,"src":"80385:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16491,"name":"uint256","nodeType":"ElementaryTypeName","src":"80385:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16494,"mutability":"mutable","name":"error","nameLocation":"80419:5:17","nodeType":"VariableDeclaration","scope":16497,"src":"80403:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16493,"name":"string","nodeType":"ElementaryTypeName","src":"80403:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"80355:70:17"},"returnParameters":{"id":16496,"nodeType":"ParameterList","parameters":[],"src":"80439:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16507,"nodeType":"FunctionDefinition","src":"80597:84:17","nodes":[],"documentation":{"id":16498,"nodeType":"StructuredDocumentation","src":"80446:146:17","text":"Compares two `int256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"11d1364a","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"80606:15:17","parameters":{"id":16505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16500,"mutability":"mutable","name":"left","nameLocation":"80629:4:17","nodeType":"VariableDeclaration","scope":16507,"src":"80622:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16499,"name":"int256","nodeType":"ElementaryTypeName","src":"80622:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16502,"mutability":"mutable","name":"right","nameLocation":"80642:5:17","nodeType":"VariableDeclaration","scope":16507,"src":"80635:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16501,"name":"int256","nodeType":"ElementaryTypeName","src":"80635:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16504,"mutability":"mutable","name":"decimals","nameLocation":"80657:8:17","nodeType":"VariableDeclaration","scope":16507,"src":"80649:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16503,"name":"uint256","nodeType":"ElementaryTypeName","src":"80649:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"80621:45:17"},"returnParameters":{"id":16506,"nodeType":"ParameterList","parameters":[],"src":"80680:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16519,"nodeType":"FunctionDefinition","src":"80892:107:17","nodes":[],"documentation":{"id":16508,"nodeType":"StructuredDocumentation","src":"80687:200:17","text":"Compares two `int256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"aa5cf788","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"80901:15:17","parameters":{"id":16517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16510,"mutability":"mutable","name":"left","nameLocation":"80924:4:17","nodeType":"VariableDeclaration","scope":16519,"src":"80917:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16509,"name":"int256","nodeType":"ElementaryTypeName","src":"80917:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16512,"mutability":"mutable","name":"right","nameLocation":"80937:5:17","nodeType":"VariableDeclaration","scope":16519,"src":"80930:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16511,"name":"int256","nodeType":"ElementaryTypeName","src":"80930:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16514,"mutability":"mutable","name":"decimals","nameLocation":"80952:8:17","nodeType":"VariableDeclaration","scope":16519,"src":"80944:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16513,"name":"uint256","nodeType":"ElementaryTypeName","src":"80944:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16516,"mutability":"mutable","name":"error","nameLocation":"80978:5:17","nodeType":"VariableDeclaration","scope":16519,"src":"80962:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16515,"name":"string","nodeType":"ElementaryTypeName","src":"80962:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"80916:68:17"},"returnParameters":{"id":16518,"nodeType":"ParameterList","parameters":[],"src":"80998:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16527,"nodeType":"FunctionDefinition","src":"81100:61:17","nodes":[],"documentation":{"id":16520,"nodeType":"StructuredDocumentation","src":"81005:90:17","text":"Compares two `uint256` values. Expects first value to be less than or equal to second."},"functionSelector":"8466f415","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"81109:8:17","parameters":{"id":16525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16522,"mutability":"mutable","name":"left","nameLocation":"81126:4:17","nodeType":"VariableDeclaration","scope":16527,"src":"81118:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16521,"name":"uint256","nodeType":"ElementaryTypeName","src":"81118:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16524,"mutability":"mutable","name":"right","nameLocation":"81140:5:17","nodeType":"VariableDeclaration","scope":16527,"src":"81132:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16523,"name":"uint256","nodeType":"ElementaryTypeName","src":"81132:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"81117:29:17"},"returnParameters":{"id":16526,"nodeType":"ParameterList","parameters":[],"src":"81160:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16537,"nodeType":"FunctionDefinition","src":"81324:84:17","nodes":[],"documentation":{"id":16528,"nodeType":"StructuredDocumentation","src":"81167:152:17","text":"Compares two `uint256` values. Expects first value to be less than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"d17d4b0d","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"81333:8:17","parameters":{"id":16535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16530,"mutability":"mutable","name":"left","nameLocation":"81350:4:17","nodeType":"VariableDeclaration","scope":16537,"src":"81342:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16529,"name":"uint256","nodeType":"ElementaryTypeName","src":"81342:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16532,"mutability":"mutable","name":"right","nameLocation":"81364:5:17","nodeType":"VariableDeclaration","scope":16537,"src":"81356:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16531,"name":"uint256","nodeType":"ElementaryTypeName","src":"81356:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16534,"mutability":"mutable","name":"error","nameLocation":"81387:5:17","nodeType":"VariableDeclaration","scope":16537,"src":"81371:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16533,"name":"string","nodeType":"ElementaryTypeName","src":"81371:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81341:52:17"},"returnParameters":{"id":16536,"nodeType":"ParameterList","parameters":[],"src":"81407:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16545,"nodeType":"FunctionDefinition","src":"81508:59:17","nodes":[],"documentation":{"id":16538,"nodeType":"StructuredDocumentation","src":"81414:89:17","text":"Compares two `int256` values. Expects first value to be less than or equal to second."},"functionSelector":"95fd154e","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"81517:8:17","parameters":{"id":16543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16540,"mutability":"mutable","name":"left","nameLocation":"81533:4:17","nodeType":"VariableDeclaration","scope":16545,"src":"81526:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16539,"name":"int256","nodeType":"ElementaryTypeName","src":"81526:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16542,"mutability":"mutable","name":"right","nameLocation":"81546:5:17","nodeType":"VariableDeclaration","scope":16545,"src":"81539:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16541,"name":"int256","nodeType":"ElementaryTypeName","src":"81539:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"81525:27:17"},"returnParameters":{"id":16544,"nodeType":"ParameterList","parameters":[],"src":"81566:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16555,"nodeType":"FunctionDefinition","src":"81729:82:17","nodes":[],"documentation":{"id":16546,"nodeType":"StructuredDocumentation","src":"81573:151:17","text":"Compares two `int256` values. Expects first value to be less than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"4dfe692c","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"81738:8:17","parameters":{"id":16553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16548,"mutability":"mutable","name":"left","nameLocation":"81754:4:17","nodeType":"VariableDeclaration","scope":16555,"src":"81747:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16547,"name":"int256","nodeType":"ElementaryTypeName","src":"81747:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16550,"mutability":"mutable","name":"right","nameLocation":"81767:5:17","nodeType":"VariableDeclaration","scope":16555,"src":"81760:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16549,"name":"int256","nodeType":"ElementaryTypeName","src":"81760:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16552,"mutability":"mutable","name":"error","nameLocation":"81790:5:17","nodeType":"VariableDeclaration","scope":16555,"src":"81774:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16551,"name":"string","nodeType":"ElementaryTypeName","src":"81774:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81746:50:17"},"returnParameters":{"id":16554,"nodeType":"ParameterList","parameters":[],"src":"81810:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16565,"nodeType":"FunctionDefinition","src":"81957:86:17","nodes":[],"documentation":{"id":16556,"nodeType":"StructuredDocumentation","src":"81817:135:17","text":"Compares two `uint256` values. Expects first value to be less than second.\n Formats values with decimals in failure message."},"functionSelector":"2077337e","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"81966:15:17","parameters":{"id":16563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16558,"mutability":"mutable","name":"left","nameLocation":"81990:4:17","nodeType":"VariableDeclaration","scope":16565,"src":"81982:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16557,"name":"uint256","nodeType":"ElementaryTypeName","src":"81982:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16560,"mutability":"mutable","name":"right","nameLocation":"82004:5:17","nodeType":"VariableDeclaration","scope":16565,"src":"81996:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16559,"name":"uint256","nodeType":"ElementaryTypeName","src":"81996:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16562,"mutability":"mutable","name":"decimals","nameLocation":"82019:8:17","nodeType":"VariableDeclaration","scope":16565,"src":"82011:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16561,"name":"uint256","nodeType":"ElementaryTypeName","src":"82011:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"81981:47:17"},"returnParameters":{"id":16564,"nodeType":"ParameterList","parameters":[],"src":"82042:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16577,"nodeType":"FunctionDefinition","src":"82243:109:17","nodes":[],"documentation":{"id":16566,"nodeType":"StructuredDocumentation","src":"82049:189:17","text":"Compares two `uint256` values. Expects first value to be less than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"a972d037","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"82252:15:17","parameters":{"id":16575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16568,"mutability":"mutable","name":"left","nameLocation":"82276:4:17","nodeType":"VariableDeclaration","scope":16577,"src":"82268:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16567,"name":"uint256","nodeType":"ElementaryTypeName","src":"82268:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16570,"mutability":"mutable","name":"right","nameLocation":"82290:5:17","nodeType":"VariableDeclaration","scope":16577,"src":"82282:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16569,"name":"uint256","nodeType":"ElementaryTypeName","src":"82282:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16572,"mutability":"mutable","name":"decimals","nameLocation":"82305:8:17","nodeType":"VariableDeclaration","scope":16577,"src":"82297:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16571,"name":"uint256","nodeType":"ElementaryTypeName","src":"82297:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16574,"mutability":"mutable","name":"error","nameLocation":"82331:5:17","nodeType":"VariableDeclaration","scope":16577,"src":"82315:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16573,"name":"string","nodeType":"ElementaryTypeName","src":"82315:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"82267:70:17"},"returnParameters":{"id":16576,"nodeType":"ParameterList","parameters":[],"src":"82351:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16587,"nodeType":"FunctionDefinition","src":"82497:84:17","nodes":[],"documentation":{"id":16578,"nodeType":"StructuredDocumentation","src":"82358:134:17","text":"Compares two `int256` values. Expects first value to be less than second.\n Formats values with decimals in failure message."},"functionSelector":"dbe8d88b","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"82506:15:17","parameters":{"id":16585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16580,"mutability":"mutable","name":"left","nameLocation":"82529:4:17","nodeType":"VariableDeclaration","scope":16587,"src":"82522:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16579,"name":"int256","nodeType":"ElementaryTypeName","src":"82522:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16582,"mutability":"mutable","name":"right","nameLocation":"82542:5:17","nodeType":"VariableDeclaration","scope":16587,"src":"82535:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16581,"name":"int256","nodeType":"ElementaryTypeName","src":"82535:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16584,"mutability":"mutable","name":"decimals","nameLocation":"82557:8:17","nodeType":"VariableDeclaration","scope":16587,"src":"82549:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16583,"name":"uint256","nodeType":"ElementaryTypeName","src":"82549:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"82521:45:17"},"returnParameters":{"id":16586,"nodeType":"ParameterList","parameters":[],"src":"82580:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16599,"nodeType":"FunctionDefinition","src":"82780:107:17","nodes":[],"documentation":{"id":16588,"nodeType":"StructuredDocumentation","src":"82587:188:17","text":"Compares two `int256` values. Expects first value to be less than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"40f0b4e0","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"82789:15:17","parameters":{"id":16597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16590,"mutability":"mutable","name":"left","nameLocation":"82812:4:17","nodeType":"VariableDeclaration","scope":16599,"src":"82805:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16589,"name":"int256","nodeType":"ElementaryTypeName","src":"82805:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16592,"mutability":"mutable","name":"right","nameLocation":"82825:5:17","nodeType":"VariableDeclaration","scope":16599,"src":"82818:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16591,"name":"int256","nodeType":"ElementaryTypeName","src":"82818:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16594,"mutability":"mutable","name":"decimals","nameLocation":"82840:8:17","nodeType":"VariableDeclaration","scope":16599,"src":"82832:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16593,"name":"uint256","nodeType":"ElementaryTypeName","src":"82832:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16596,"mutability":"mutable","name":"error","nameLocation":"82866:5:17","nodeType":"VariableDeclaration","scope":16599,"src":"82850:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16595,"name":"string","nodeType":"ElementaryTypeName","src":"82850:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"82804:68:17"},"returnParameters":{"id":16598,"nodeType":"ParameterList","parameters":[],"src":"82886:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16607,"nodeType":"FunctionDefinition","src":"82976:61:17","nodes":[],"documentation":{"id":16600,"nodeType":"StructuredDocumentation","src":"82893:78:17","text":"Compares two `uint256` values. Expects first value to be less than second."},"functionSelector":"b12fc005","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"82985:8:17","parameters":{"id":16605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16602,"mutability":"mutable","name":"left","nameLocation":"83002:4:17","nodeType":"VariableDeclaration","scope":16607,"src":"82994:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16601,"name":"uint256","nodeType":"ElementaryTypeName","src":"82994:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16604,"mutability":"mutable","name":"right","nameLocation":"83016:5:17","nodeType":"VariableDeclaration","scope":16607,"src":"83008:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16603,"name":"uint256","nodeType":"ElementaryTypeName","src":"83008:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"82993:29:17"},"returnParameters":{"id":16606,"nodeType":"ParameterList","parameters":[],"src":"83036:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16617,"nodeType":"FunctionDefinition","src":"83188:84:17","nodes":[],"documentation":{"id":16608,"nodeType":"StructuredDocumentation","src":"83043:140:17","text":"Compares two `uint256` values. Expects first value to be less than second.\n Includes error message into revert string on failure."},"functionSelector":"65d5c135","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"83197:8:17","parameters":{"id":16615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16610,"mutability":"mutable","name":"left","nameLocation":"83214:4:17","nodeType":"VariableDeclaration","scope":16617,"src":"83206:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16609,"name":"uint256","nodeType":"ElementaryTypeName","src":"83206:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16612,"mutability":"mutable","name":"right","nameLocation":"83228:5:17","nodeType":"VariableDeclaration","scope":16617,"src":"83220:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16611,"name":"uint256","nodeType":"ElementaryTypeName","src":"83220:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16614,"mutability":"mutable","name":"error","nameLocation":"83251:5:17","nodeType":"VariableDeclaration","scope":16617,"src":"83235:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16613,"name":"string","nodeType":"ElementaryTypeName","src":"83235:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"83205:52:17"},"returnParameters":{"id":16616,"nodeType":"ParameterList","parameters":[],"src":"83271:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16625,"nodeType":"FunctionDefinition","src":"83360:59:17","nodes":[],"documentation":{"id":16618,"nodeType":"StructuredDocumentation","src":"83278:77:17","text":"Compares two `int256` values. Expects first value to be less than second."},"functionSelector":"3e914080","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"83369:8:17","parameters":{"id":16623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16620,"mutability":"mutable","name":"left","nameLocation":"83385:4:17","nodeType":"VariableDeclaration","scope":16625,"src":"83378:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16619,"name":"int256","nodeType":"ElementaryTypeName","src":"83378:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16622,"mutability":"mutable","name":"right","nameLocation":"83398:5:17","nodeType":"VariableDeclaration","scope":16625,"src":"83391:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16621,"name":"int256","nodeType":"ElementaryTypeName","src":"83391:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"83377:27:17"},"returnParameters":{"id":16624,"nodeType":"ParameterList","parameters":[],"src":"83418:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16635,"nodeType":"FunctionDefinition","src":"83569:82:17","nodes":[],"documentation":{"id":16626,"nodeType":"StructuredDocumentation","src":"83425:139:17","text":"Compares two `int256` values. Expects first value to be less than second.\n Includes error message into revert string on failure."},"functionSelector":"9ff531e3","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"83578:8:17","parameters":{"id":16633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16628,"mutability":"mutable","name":"left","nameLocation":"83594:4:17","nodeType":"VariableDeclaration","scope":16635,"src":"83587:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16627,"name":"int256","nodeType":"ElementaryTypeName","src":"83587:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16630,"mutability":"mutable","name":"right","nameLocation":"83607:5:17","nodeType":"VariableDeclaration","scope":16635,"src":"83600:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16629,"name":"int256","nodeType":"ElementaryTypeName","src":"83600:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16632,"mutability":"mutable","name":"error","nameLocation":"83630:5:17","nodeType":"VariableDeclaration","scope":16635,"src":"83614:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16631,"name":"string","nodeType":"ElementaryTypeName","src":"83614:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"83586:50:17"},"returnParameters":{"id":16634,"nodeType":"ParameterList","parameters":[],"src":"83650:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16645,"nodeType":"FunctionDefinition","src":"83764:89:17","nodes":[],"documentation":{"id":16636,"nodeType":"StructuredDocumentation","src":"83657:102:17","text":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message."},"functionSelector":"669efca7","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"83773:18:17","parameters":{"id":16643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16638,"mutability":"mutable","name":"left","nameLocation":"83800:4:17","nodeType":"VariableDeclaration","scope":16645,"src":"83792:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16637,"name":"uint256","nodeType":"ElementaryTypeName","src":"83792:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16640,"mutability":"mutable","name":"right","nameLocation":"83814:5:17","nodeType":"VariableDeclaration","scope":16645,"src":"83806:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16639,"name":"uint256","nodeType":"ElementaryTypeName","src":"83806:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16642,"mutability":"mutable","name":"decimals","nameLocation":"83829:8:17","nodeType":"VariableDeclaration","scope":16645,"src":"83821:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16641,"name":"uint256","nodeType":"ElementaryTypeName","src":"83821:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83791:47:17"},"returnParameters":{"id":16644,"nodeType":"ParameterList","parameters":[],"src":"83852:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16657,"nodeType":"FunctionDefinition","src":"84028:112:17","nodes":[],"documentation":{"id":16646,"nodeType":"StructuredDocumentation","src":"83859:164:17","text":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"f5a55558","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"84037:18:17","parameters":{"id":16655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16648,"mutability":"mutable","name":"left","nameLocation":"84064:4:17","nodeType":"VariableDeclaration","scope":16657,"src":"84056:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16647,"name":"uint256","nodeType":"ElementaryTypeName","src":"84056:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16650,"mutability":"mutable","name":"right","nameLocation":"84078:5:17","nodeType":"VariableDeclaration","scope":16657,"src":"84070:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16649,"name":"uint256","nodeType":"ElementaryTypeName","src":"84070:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16652,"mutability":"mutable","name":"decimals","nameLocation":"84093:8:17","nodeType":"VariableDeclaration","scope":16657,"src":"84085:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16651,"name":"uint256","nodeType":"ElementaryTypeName","src":"84085:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16654,"mutability":"mutable","name":"error","nameLocation":"84119:5:17","nodeType":"VariableDeclaration","scope":16657,"src":"84103:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16653,"name":"string","nodeType":"ElementaryTypeName","src":"84103:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"84055:70:17"},"returnParameters":{"id":16656,"nodeType":"ParameterList","parameters":[],"src":"84139:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16667,"nodeType":"FunctionDefinition","src":"84252:87:17","nodes":[],"documentation":{"id":16658,"nodeType":"StructuredDocumentation","src":"84146:101:17","text":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message."},"functionSelector":"14e75680","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"84261:18:17","parameters":{"id":16665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16660,"mutability":"mutable","name":"left","nameLocation":"84287:4:17","nodeType":"VariableDeclaration","scope":16667,"src":"84280:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16659,"name":"int256","nodeType":"ElementaryTypeName","src":"84280:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16662,"mutability":"mutable","name":"right","nameLocation":"84300:5:17","nodeType":"VariableDeclaration","scope":16667,"src":"84293:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16661,"name":"int256","nodeType":"ElementaryTypeName","src":"84293:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16664,"mutability":"mutable","name":"decimals","nameLocation":"84315:8:17","nodeType":"VariableDeclaration","scope":16667,"src":"84307:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16663,"name":"uint256","nodeType":"ElementaryTypeName","src":"84307:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"84279:45:17"},"returnParameters":{"id":16666,"nodeType":"ParameterList","parameters":[],"src":"84338:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16679,"nodeType":"FunctionDefinition","src":"84513:110:17","nodes":[],"documentation":{"id":16668,"nodeType":"StructuredDocumentation","src":"84345:163:17","text":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"33949f0b","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"84522:18:17","parameters":{"id":16677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16670,"mutability":"mutable","name":"left","nameLocation":"84548:4:17","nodeType":"VariableDeclaration","scope":16679,"src":"84541:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16669,"name":"int256","nodeType":"ElementaryTypeName","src":"84541:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16672,"mutability":"mutable","name":"right","nameLocation":"84561:5:17","nodeType":"VariableDeclaration","scope":16679,"src":"84554:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16671,"name":"int256","nodeType":"ElementaryTypeName","src":"84554:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16674,"mutability":"mutable","name":"decimals","nameLocation":"84576:8:17","nodeType":"VariableDeclaration","scope":16679,"src":"84568:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16673,"name":"uint256","nodeType":"ElementaryTypeName","src":"84568:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16676,"mutability":"mutable","name":"error","nameLocation":"84602:5:17","nodeType":"VariableDeclaration","scope":16679,"src":"84586:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16675,"name":"string","nodeType":"ElementaryTypeName","src":"84586:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"84540:68:17"},"returnParameters":{"id":16678,"nodeType":"ParameterList","parameters":[],"src":"84622:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16687,"nodeType":"FunctionDefinition","src":"84683:58:17","nodes":[],"documentation":{"id":16680,"nodeType":"StructuredDocumentation","src":"84629:49:17","text":"Asserts that two `bool` values are not equal."},"functionSelector":"236e4d66","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"84692:11:17","parameters":{"id":16685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16682,"mutability":"mutable","name":"left","nameLocation":"84709:4:17","nodeType":"VariableDeclaration","scope":16687,"src":"84704:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16681,"name":"bool","nodeType":"ElementaryTypeName","src":"84704:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16684,"mutability":"mutable","name":"right","nameLocation":"84720:5:17","nodeType":"VariableDeclaration","scope":16687,"src":"84715:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16683,"name":"bool","nodeType":"ElementaryTypeName","src":"84715:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"84703:23:17"},"returnParameters":{"id":16686,"nodeType":"ParameterList","parameters":[],"src":"84740:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16697,"nodeType":"FunctionDefinition","src":"84858:81:17","nodes":[],"documentation":{"id":16688,"nodeType":"StructuredDocumentation","src":"84747:106:17","text":"Asserts that two `bool` values are not equal and includes error message into revert string on failure."},"functionSelector":"1091a261","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"84867:11:17","parameters":{"id":16695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16690,"mutability":"mutable","name":"left","nameLocation":"84884:4:17","nodeType":"VariableDeclaration","scope":16697,"src":"84879:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16689,"name":"bool","nodeType":"ElementaryTypeName","src":"84879:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16692,"mutability":"mutable","name":"right","nameLocation":"84895:5:17","nodeType":"VariableDeclaration","scope":16697,"src":"84890:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16691,"name":"bool","nodeType":"ElementaryTypeName","src":"84890:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16694,"mutability":"mutable","name":"error","nameLocation":"84918:5:17","nodeType":"VariableDeclaration","scope":16697,"src":"84902:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16693,"name":"string","nodeType":"ElementaryTypeName","src":"84902:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"84878:46:17"},"returnParameters":{"id":16696,"nodeType":"ParameterList","parameters":[],"src":"84938:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16705,"nodeType":"FunctionDefinition","src":"85001:80:17","nodes":[],"documentation":{"id":16698,"nodeType":"StructuredDocumentation","src":"84945:51:17","text":"Asserts that two `string` values are not equal."},"functionSelector":"6a8237b3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85010:11:17","parameters":{"id":16703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16700,"mutability":"mutable","name":"left","nameLocation":"85038:4:17","nodeType":"VariableDeclaration","scope":16705,"src":"85022:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16699,"name":"string","nodeType":"ElementaryTypeName","src":"85022:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16702,"mutability":"mutable","name":"right","nameLocation":"85060:5:17","nodeType":"VariableDeclaration","scope":16705,"src":"85044:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16701,"name":"string","nodeType":"ElementaryTypeName","src":"85044:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"85021:45:17"},"returnParameters":{"id":16704,"nodeType":"ParameterList","parameters":[],"src":"85080:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16715,"nodeType":"FunctionDefinition","src":"85200:103:17","nodes":[],"documentation":{"id":16706,"nodeType":"StructuredDocumentation","src":"85087:108:17","text":"Asserts that two `string` values are not equal and includes error message into revert string on failure."},"functionSelector":"78bdcea7","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85209:11:17","parameters":{"id":16713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16708,"mutability":"mutable","name":"left","nameLocation":"85237:4:17","nodeType":"VariableDeclaration","scope":16715,"src":"85221:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16707,"name":"string","nodeType":"ElementaryTypeName","src":"85221:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16710,"mutability":"mutable","name":"right","nameLocation":"85259:5:17","nodeType":"VariableDeclaration","scope":16715,"src":"85243:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16709,"name":"string","nodeType":"ElementaryTypeName","src":"85243:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16712,"mutability":"mutable","name":"error","nameLocation":"85282:5:17","nodeType":"VariableDeclaration","scope":16715,"src":"85266:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16711,"name":"string","nodeType":"ElementaryTypeName","src":"85266:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"85220:68:17"},"returnParameters":{"id":16714,"nodeType":"ParameterList","parameters":[],"src":"85302:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16723,"nodeType":"FunctionDefinition","src":"85364:78:17","nodes":[],"documentation":{"id":16716,"nodeType":"StructuredDocumentation","src":"85309:50:17","text":"Asserts that two `bytes` values are not equal."},"functionSelector":"3cf78e28","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85373:11:17","parameters":{"id":16721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16718,"mutability":"mutable","name":"left","nameLocation":"85400:4:17","nodeType":"VariableDeclaration","scope":16723,"src":"85385:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16717,"name":"bytes","nodeType":"ElementaryTypeName","src":"85385:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16720,"mutability":"mutable","name":"right","nameLocation":"85421:5:17","nodeType":"VariableDeclaration","scope":16723,"src":"85406:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16719,"name":"bytes","nodeType":"ElementaryTypeName","src":"85406:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"85384:43:17"},"returnParameters":{"id":16722,"nodeType":"ParameterList","parameters":[],"src":"85441:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16733,"nodeType":"FunctionDefinition","src":"85560:101:17","nodes":[],"documentation":{"id":16724,"nodeType":"StructuredDocumentation","src":"85448:107:17","text":"Asserts that two `bytes` values are not equal and includes error message into revert string on failure."},"functionSelector":"9507540e","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85569:11:17","parameters":{"id":16731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16726,"mutability":"mutable","name":"left","nameLocation":"85596:4:17","nodeType":"VariableDeclaration","scope":16733,"src":"85581:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16725,"name":"bytes","nodeType":"ElementaryTypeName","src":"85581:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16728,"mutability":"mutable","name":"right","nameLocation":"85617:5:17","nodeType":"VariableDeclaration","scope":16733,"src":"85602:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16727,"name":"bytes","nodeType":"ElementaryTypeName","src":"85602:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16730,"mutability":"mutable","name":"error","nameLocation":"85640:5:17","nodeType":"VariableDeclaration","scope":16733,"src":"85624:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16729,"name":"string","nodeType":"ElementaryTypeName","src":"85624:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"85580:66:17"},"returnParameters":{"id":16732,"nodeType":"ParameterList","parameters":[],"src":"85660:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16743,"nodeType":"FunctionDefinition","src":"85731:80:17","nodes":[],"documentation":{"id":16734,"nodeType":"StructuredDocumentation","src":"85667:59:17","text":"Asserts that two arrays of `bool` values are not equal."},"functionSelector":"286fafea","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85740:11:17","parameters":{"id":16741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16737,"mutability":"mutable","name":"left","nameLocation":"85768:4:17","nodeType":"VariableDeclaration","scope":16743,"src":"85752:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16735,"name":"bool","nodeType":"ElementaryTypeName","src":"85752:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16736,"nodeType":"ArrayTypeName","src":"85752:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":16740,"mutability":"mutable","name":"right","nameLocation":"85790:5:17","nodeType":"VariableDeclaration","scope":16743,"src":"85774:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16738,"name":"bool","nodeType":"ElementaryTypeName","src":"85774:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16739,"nodeType":"ArrayTypeName","src":"85774:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"85751:45:17"},"returnParameters":{"id":16742,"nodeType":"ParameterList","parameters":[],"src":"85810:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16755,"nodeType":"FunctionDefinition","src":"85938:103:17","nodes":[],"documentation":{"id":16744,"nodeType":"StructuredDocumentation","src":"85817:116:17","text":"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure."},"functionSelector":"62c6f9fb","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85947:11:17","parameters":{"id":16753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16747,"mutability":"mutable","name":"left","nameLocation":"85975:4:17","nodeType":"VariableDeclaration","scope":16755,"src":"85959:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16745,"name":"bool","nodeType":"ElementaryTypeName","src":"85959:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16746,"nodeType":"ArrayTypeName","src":"85959:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":16750,"mutability":"mutable","name":"right","nameLocation":"85997:5:17","nodeType":"VariableDeclaration","scope":16755,"src":"85981:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16748,"name":"bool","nodeType":"ElementaryTypeName","src":"85981:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16749,"nodeType":"ArrayTypeName","src":"85981:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":16752,"mutability":"mutable","name":"error","nameLocation":"86020:5:17","nodeType":"VariableDeclaration","scope":16755,"src":"86004:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16751,"name":"string","nodeType":"ElementaryTypeName","src":"86004:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"85958:68:17"},"returnParameters":{"id":16754,"nodeType":"ParameterList","parameters":[],"src":"86040:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16765,"nodeType":"FunctionDefinition","src":"86114:86:17","nodes":[],"documentation":{"id":16756,"nodeType":"StructuredDocumentation","src":"86047:62:17","text":"Asserts that two arrays of `uint256` values are not equal."},"functionSelector":"56f29cba","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"86123:11:17","parameters":{"id":16763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16759,"mutability":"mutable","name":"left","nameLocation":"86154:4:17","nodeType":"VariableDeclaration","scope":16765,"src":"86135:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16757,"name":"uint256","nodeType":"ElementaryTypeName","src":"86135:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16758,"nodeType":"ArrayTypeName","src":"86135:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16762,"mutability":"mutable","name":"right","nameLocation":"86179:5:17","nodeType":"VariableDeclaration","scope":16765,"src":"86160:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16760,"name":"uint256","nodeType":"ElementaryTypeName","src":"86160:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16761,"nodeType":"ArrayTypeName","src":"86160:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"86134:51:17"},"returnParameters":{"id":16764,"nodeType":"ParameterList","parameters":[],"src":"86199:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16777,"nodeType":"FunctionDefinition","src":"86330:109:17","nodes":[],"documentation":{"id":16766,"nodeType":"StructuredDocumentation","src":"86206:119:17","text":"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure."},"functionSelector":"9a7fbd8f","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"86339:11:17","parameters":{"id":16775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16769,"mutability":"mutable","name":"left","nameLocation":"86370:4:17","nodeType":"VariableDeclaration","scope":16777,"src":"86351:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16767,"name":"uint256","nodeType":"ElementaryTypeName","src":"86351:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16768,"nodeType":"ArrayTypeName","src":"86351:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16772,"mutability":"mutable","name":"right","nameLocation":"86395:5:17","nodeType":"VariableDeclaration","scope":16777,"src":"86376:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16770,"name":"uint256","nodeType":"ElementaryTypeName","src":"86376:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16771,"nodeType":"ArrayTypeName","src":"86376:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16774,"mutability":"mutable","name":"error","nameLocation":"86418:5:17","nodeType":"VariableDeclaration","scope":16777,"src":"86402:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16773,"name":"string","nodeType":"ElementaryTypeName","src":"86402:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"86350:74:17"},"returnParameters":{"id":16776,"nodeType":"ParameterList","parameters":[],"src":"86438:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16787,"nodeType":"FunctionDefinition","src":"86511:84:17","nodes":[],"documentation":{"id":16778,"nodeType":"StructuredDocumentation","src":"86445:61:17","text":"Asserts that two arrays of `int256` values are not equal."},"functionSelector":"0b72f4ef","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"86520:11:17","parameters":{"id":16785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16781,"mutability":"mutable","name":"left","nameLocation":"86550:4:17","nodeType":"VariableDeclaration","scope":16787,"src":"86532:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16779,"name":"int256","nodeType":"ElementaryTypeName","src":"86532:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16780,"nodeType":"ArrayTypeName","src":"86532:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":16784,"mutability":"mutable","name":"right","nameLocation":"86574:5:17","nodeType":"VariableDeclaration","scope":16787,"src":"86556:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16782,"name":"int256","nodeType":"ElementaryTypeName","src":"86556:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16783,"nodeType":"ArrayTypeName","src":"86556:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"86531:49:17"},"returnParameters":{"id":16786,"nodeType":"ParameterList","parameters":[],"src":"86594:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16799,"nodeType":"FunctionDefinition","src":"86724:107:17","nodes":[],"documentation":{"id":16788,"nodeType":"StructuredDocumentation","src":"86601:118:17","text":"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure."},"functionSelector":"d3977322","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"86733:11:17","parameters":{"id":16797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16791,"mutability":"mutable","name":"left","nameLocation":"86763:4:17","nodeType":"VariableDeclaration","scope":16799,"src":"86745:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16789,"name":"int256","nodeType":"ElementaryTypeName","src":"86745:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16790,"nodeType":"ArrayTypeName","src":"86745:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":16794,"mutability":"mutable","name":"right","nameLocation":"86787:5:17","nodeType":"VariableDeclaration","scope":16799,"src":"86769:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16792,"name":"int256","nodeType":"ElementaryTypeName","src":"86769:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16793,"nodeType":"ArrayTypeName","src":"86769:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":16796,"mutability":"mutable","name":"error","nameLocation":"86810:5:17","nodeType":"VariableDeclaration","scope":16799,"src":"86794:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16795,"name":"string","nodeType":"ElementaryTypeName","src":"86794:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"86744:72:17"},"returnParameters":{"id":16798,"nodeType":"ParameterList","parameters":[],"src":"86830:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16807,"nodeType":"FunctionDefinition","src":"86894:64:17","nodes":[],"documentation":{"id":16800,"nodeType":"StructuredDocumentation","src":"86837:52:17","text":"Asserts that two `uint256` values are not equal."},"functionSelector":"b7909320","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"86903:11:17","parameters":{"id":16805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16802,"mutability":"mutable","name":"left","nameLocation":"86923:4:17","nodeType":"VariableDeclaration","scope":16807,"src":"86915:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16801,"name":"uint256","nodeType":"ElementaryTypeName","src":"86915:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16804,"mutability":"mutable","name":"right","nameLocation":"86937:5:17","nodeType":"VariableDeclaration","scope":16807,"src":"86929:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16803,"name":"uint256","nodeType":"ElementaryTypeName","src":"86929:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86914:29:17"},"returnParameters":{"id":16806,"nodeType":"ParameterList","parameters":[],"src":"86957:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16817,"nodeType":"FunctionDefinition","src":"87031:86:17","nodes":[],"documentation":{"id":16808,"nodeType":"StructuredDocumentation","src":"86964:62:17","text":"Asserts that two arrays of `address` values are not equal."},"functionSelector":"46d0b252","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"87040:11:17","parameters":{"id":16815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16811,"mutability":"mutable","name":"left","nameLocation":"87071:4:17","nodeType":"VariableDeclaration","scope":16817,"src":"87052:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16809,"name":"address","nodeType":"ElementaryTypeName","src":"87052:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16810,"nodeType":"ArrayTypeName","src":"87052:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":16814,"mutability":"mutable","name":"right","nameLocation":"87096:5:17","nodeType":"VariableDeclaration","scope":16817,"src":"87077:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16812,"name":"address","nodeType":"ElementaryTypeName","src":"87077:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16813,"nodeType":"ArrayTypeName","src":"87077:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"87051:51:17"},"returnParameters":{"id":16816,"nodeType":"ParameterList","parameters":[],"src":"87116:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16829,"nodeType":"FunctionDefinition","src":"87247:109:17","nodes":[],"documentation":{"id":16818,"nodeType":"StructuredDocumentation","src":"87123:119:17","text":"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure."},"functionSelector":"72c7e0b5","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"87256:11:17","parameters":{"id":16827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16821,"mutability":"mutable","name":"left","nameLocation":"87287:4:17","nodeType":"VariableDeclaration","scope":16829,"src":"87268:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16819,"name":"address","nodeType":"ElementaryTypeName","src":"87268:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16820,"nodeType":"ArrayTypeName","src":"87268:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":16824,"mutability":"mutable","name":"right","nameLocation":"87312:5:17","nodeType":"VariableDeclaration","scope":16829,"src":"87293:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16822,"name":"address","nodeType":"ElementaryTypeName","src":"87293:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16823,"nodeType":"ArrayTypeName","src":"87293:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":16826,"mutability":"mutable","name":"error","nameLocation":"87335:5:17","nodeType":"VariableDeclaration","scope":16829,"src":"87319:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16825,"name":"string","nodeType":"ElementaryTypeName","src":"87319:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"87267:74:17"},"returnParameters":{"id":16828,"nodeType":"ParameterList","parameters":[],"src":"87355:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16839,"nodeType":"FunctionDefinition","src":"87429:86:17","nodes":[],"documentation":{"id":16830,"nodeType":"StructuredDocumentation","src":"87362:62:17","text":"Asserts that two arrays of `bytes32` values are not equal."},"functionSelector":"0603ea68","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"87438:11:17","parameters":{"id":16837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16833,"mutability":"mutable","name":"left","nameLocation":"87469:4:17","nodeType":"VariableDeclaration","scope":16839,"src":"87450:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87450:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16832,"nodeType":"ArrayTypeName","src":"87450:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":16836,"mutability":"mutable","name":"right","nameLocation":"87494:5:17","nodeType":"VariableDeclaration","scope":16839,"src":"87475:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87475:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16835,"nodeType":"ArrayTypeName","src":"87475:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"87449:51:17"},"returnParameters":{"id":16838,"nodeType":"ParameterList","parameters":[],"src":"87514:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16851,"nodeType":"FunctionDefinition","src":"87645:109:17","nodes":[],"documentation":{"id":16840,"nodeType":"StructuredDocumentation","src":"87521:119:17","text":"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure."},"functionSelector":"b873634c","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"87654:11:17","parameters":{"id":16849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16843,"mutability":"mutable","name":"left","nameLocation":"87685:4:17","nodeType":"VariableDeclaration","scope":16851,"src":"87666:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87666:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16842,"nodeType":"ArrayTypeName","src":"87666:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":16846,"mutability":"mutable","name":"right","nameLocation":"87710:5:17","nodeType":"VariableDeclaration","scope":16851,"src":"87691:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87691:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16845,"nodeType":"ArrayTypeName","src":"87691:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":16848,"mutability":"mutable","name":"error","nameLocation":"87733:5:17","nodeType":"VariableDeclaration","scope":16851,"src":"87717:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16847,"name":"string","nodeType":"ElementaryTypeName","src":"87717:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"87665:74:17"},"returnParameters":{"id":16850,"nodeType":"ParameterList","parameters":[],"src":"87753:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16861,"nodeType":"FunctionDefinition","src":"87826:84:17","nodes":[],"documentation":{"id":16852,"nodeType":"StructuredDocumentation","src":"87760:61:17","text":"Asserts that two arrays of `string` values are not equal."},"functionSelector":"bdfacbe8","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"87835:11:17","parameters":{"id":16859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16855,"mutability":"mutable","name":"left","nameLocation":"87865:4:17","nodeType":"VariableDeclaration","scope":16861,"src":"87847:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16853,"name":"string","nodeType":"ElementaryTypeName","src":"87847:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16854,"nodeType":"ArrayTypeName","src":"87847:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":16858,"mutability":"mutable","name":"right","nameLocation":"87889:5:17","nodeType":"VariableDeclaration","scope":16861,"src":"87871:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16856,"name":"string","nodeType":"ElementaryTypeName","src":"87871:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16857,"nodeType":"ArrayTypeName","src":"87871:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"87846:49:17"},"returnParameters":{"id":16860,"nodeType":"ParameterList","parameters":[],"src":"87909:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16873,"nodeType":"FunctionDefinition","src":"88039:107:17","nodes":[],"documentation":{"id":16862,"nodeType":"StructuredDocumentation","src":"87916:118:17","text":"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure."},"functionSelector":"b67187f3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"88048:11:17","parameters":{"id":16871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16865,"mutability":"mutable","name":"left","nameLocation":"88078:4:17","nodeType":"VariableDeclaration","scope":16873,"src":"88060:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16863,"name":"string","nodeType":"ElementaryTypeName","src":"88060:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16864,"nodeType":"ArrayTypeName","src":"88060:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":16868,"mutability":"mutable","name":"right","nameLocation":"88102:5:17","nodeType":"VariableDeclaration","scope":16873,"src":"88084:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16866,"name":"string","nodeType":"ElementaryTypeName","src":"88084:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16867,"nodeType":"ArrayTypeName","src":"88084:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":16870,"mutability":"mutable","name":"error","nameLocation":"88125:5:17","nodeType":"VariableDeclaration","scope":16873,"src":"88109:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16869,"name":"string","nodeType":"ElementaryTypeName","src":"88109:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"88059:72:17"},"returnParameters":{"id":16872,"nodeType":"ParameterList","parameters":[],"src":"88145:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16883,"nodeType":"FunctionDefinition","src":"88217:82:17","nodes":[],"documentation":{"id":16874,"nodeType":"StructuredDocumentation","src":"88152:60:17","text":"Asserts that two arrays of `bytes` values are not equal."},"functionSelector":"edecd035","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"88226:11:17","parameters":{"id":16881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16877,"mutability":"mutable","name":"left","nameLocation":"88255:4:17","nodeType":"VariableDeclaration","scope":16883,"src":"88238:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16875,"name":"bytes","nodeType":"ElementaryTypeName","src":"88238:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16876,"nodeType":"ArrayTypeName","src":"88238:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":16880,"mutability":"mutable","name":"right","nameLocation":"88278:5:17","nodeType":"VariableDeclaration","scope":16883,"src":"88261:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16878,"name":"bytes","nodeType":"ElementaryTypeName","src":"88261:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16879,"nodeType":"ArrayTypeName","src":"88261:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"88237:47:17"},"returnParameters":{"id":16882,"nodeType":"ParameterList","parameters":[],"src":"88298:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16895,"nodeType":"FunctionDefinition","src":"88427:105:17","nodes":[],"documentation":{"id":16884,"nodeType":"StructuredDocumentation","src":"88305:117:17","text":"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure."},"functionSelector":"1dcd1f68","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"88436:11:17","parameters":{"id":16893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16887,"mutability":"mutable","name":"left","nameLocation":"88465:4:17","nodeType":"VariableDeclaration","scope":16895,"src":"88448:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16885,"name":"bytes","nodeType":"ElementaryTypeName","src":"88448:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16886,"nodeType":"ArrayTypeName","src":"88448:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":16890,"mutability":"mutable","name":"right","nameLocation":"88488:5:17","nodeType":"VariableDeclaration","scope":16895,"src":"88471:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16888,"name":"bytes","nodeType":"ElementaryTypeName","src":"88471:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16889,"nodeType":"ArrayTypeName","src":"88471:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":16892,"mutability":"mutable","name":"error","nameLocation":"88511:5:17","nodeType":"VariableDeclaration","scope":16895,"src":"88495:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16891,"name":"string","nodeType":"ElementaryTypeName","src":"88495:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"88447:70:17"},"returnParameters":{"id":16894,"nodeType":"ParameterList","parameters":[],"src":"88531:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16905,"nodeType":"FunctionDefinition","src":"88652:87:17","nodes":[],"documentation":{"id":16896,"nodeType":"StructuredDocumentation","src":"88538:109:17","text":"Asserts that two `uint256` values are not equal and includes error message into revert string on failure."},"functionSelector":"98f9bdbd","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"88661:11:17","parameters":{"id":16903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16898,"mutability":"mutable","name":"left","nameLocation":"88681:4:17","nodeType":"VariableDeclaration","scope":16905,"src":"88673:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16897,"name":"uint256","nodeType":"ElementaryTypeName","src":"88673:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16900,"mutability":"mutable","name":"right","nameLocation":"88695:5:17","nodeType":"VariableDeclaration","scope":16905,"src":"88687:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16899,"name":"uint256","nodeType":"ElementaryTypeName","src":"88687:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16902,"mutability":"mutable","name":"error","nameLocation":"88718:5:17","nodeType":"VariableDeclaration","scope":16905,"src":"88702:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16901,"name":"string","nodeType":"ElementaryTypeName","src":"88702:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"88672:52:17"},"returnParameters":{"id":16904,"nodeType":"ParameterList","parameters":[],"src":"88738:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16913,"nodeType":"FunctionDefinition","src":"88801:62:17","nodes":[],"documentation":{"id":16906,"nodeType":"StructuredDocumentation","src":"88745:51:17","text":"Asserts that two `int256` values are not equal."},"functionSelector":"f4c004e3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"88810:11:17","parameters":{"id":16911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16908,"mutability":"mutable","name":"left","nameLocation":"88829:4:17","nodeType":"VariableDeclaration","scope":16913,"src":"88822:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16907,"name":"int256","nodeType":"ElementaryTypeName","src":"88822:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16910,"mutability":"mutable","name":"right","nameLocation":"88842:5:17","nodeType":"VariableDeclaration","scope":16913,"src":"88835:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16909,"name":"int256","nodeType":"ElementaryTypeName","src":"88835:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"88821:27:17"},"returnParameters":{"id":16912,"nodeType":"ParameterList","parameters":[],"src":"88862:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16923,"nodeType":"FunctionDefinition","src":"88982:85:17","nodes":[],"documentation":{"id":16914,"nodeType":"StructuredDocumentation","src":"88869:108:17","text":"Asserts that two `int256` values are not equal and includes error message into revert string on failure."},"functionSelector":"4724c5b9","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"88991:11:17","parameters":{"id":16921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16916,"mutability":"mutable","name":"left","nameLocation":"89010:4:17","nodeType":"VariableDeclaration","scope":16923,"src":"89003:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16915,"name":"int256","nodeType":"ElementaryTypeName","src":"89003:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16918,"mutability":"mutable","name":"right","nameLocation":"89023:5:17","nodeType":"VariableDeclaration","scope":16923,"src":"89016:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16917,"name":"int256","nodeType":"ElementaryTypeName","src":"89016:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16920,"mutability":"mutable","name":"error","nameLocation":"89046:5:17","nodeType":"VariableDeclaration","scope":16923,"src":"89030:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16919,"name":"string","nodeType":"ElementaryTypeName","src":"89030:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"89002:50:17"},"returnParameters":{"id":16922,"nodeType":"ParameterList","parameters":[],"src":"89066:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16931,"nodeType":"FunctionDefinition","src":"89130:64:17","nodes":[],"documentation":{"id":16924,"nodeType":"StructuredDocumentation","src":"89073:52:17","text":"Asserts that two `address` values are not equal."},"functionSelector":"b12e1694","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"89139:11:17","parameters":{"id":16929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16926,"mutability":"mutable","name":"left","nameLocation":"89159:4:17","nodeType":"VariableDeclaration","scope":16931,"src":"89151:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16925,"name":"address","nodeType":"ElementaryTypeName","src":"89151:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16928,"mutability":"mutable","name":"right","nameLocation":"89173:5:17","nodeType":"VariableDeclaration","scope":16931,"src":"89165:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16927,"name":"address","nodeType":"ElementaryTypeName","src":"89165:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"89150:29:17"},"returnParameters":{"id":16930,"nodeType":"ParameterList","parameters":[],"src":"89193:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16941,"nodeType":"FunctionDefinition","src":"89314:87:17","nodes":[],"documentation":{"id":16932,"nodeType":"StructuredDocumentation","src":"89200:109:17","text":"Asserts that two `address` values are not equal and includes error message into revert string on failure."},"functionSelector":"8775a591","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"89323:11:17","parameters":{"id":16939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16934,"mutability":"mutable","name":"left","nameLocation":"89343:4:17","nodeType":"VariableDeclaration","scope":16941,"src":"89335:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16933,"name":"address","nodeType":"ElementaryTypeName","src":"89335:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16936,"mutability":"mutable","name":"right","nameLocation":"89357:5:17","nodeType":"VariableDeclaration","scope":16941,"src":"89349:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16935,"name":"address","nodeType":"ElementaryTypeName","src":"89349:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16938,"mutability":"mutable","name":"error","nameLocation":"89380:5:17","nodeType":"VariableDeclaration","scope":16941,"src":"89364:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16937,"name":"string","nodeType":"ElementaryTypeName","src":"89364:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"89334:52:17"},"returnParameters":{"id":16940,"nodeType":"ParameterList","parameters":[],"src":"89400:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16949,"nodeType":"FunctionDefinition","src":"89464:64:17","nodes":[],"documentation":{"id":16942,"nodeType":"StructuredDocumentation","src":"89407:52:17","text":"Asserts that two `bytes32` values are not equal."},"functionSelector":"898e83fc","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"89473:11:17","parameters":{"id":16947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16944,"mutability":"mutable","name":"left","nameLocation":"89493:4:17","nodeType":"VariableDeclaration","scope":16949,"src":"89485:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89485:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16946,"mutability":"mutable","name":"right","nameLocation":"89507:5:17","nodeType":"VariableDeclaration","scope":16949,"src":"89499:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89499:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"89484:29:17"},"returnParameters":{"id":16948,"nodeType":"ParameterList","parameters":[],"src":"89527:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16959,"nodeType":"FunctionDefinition","src":"89648:87:17","nodes":[],"documentation":{"id":16950,"nodeType":"StructuredDocumentation","src":"89534:109:17","text":"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure."},"functionSelector":"b2332f51","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"89657:11:17","parameters":{"id":16957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16952,"mutability":"mutable","name":"left","nameLocation":"89677:4:17","nodeType":"VariableDeclaration","scope":16959,"src":"89669:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89669:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16954,"mutability":"mutable","name":"right","nameLocation":"89691:5:17","nodeType":"VariableDeclaration","scope":16959,"src":"89683:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89683:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16956,"mutability":"mutable","name":"error","nameLocation":"89714:5:17","nodeType":"VariableDeclaration","scope":16959,"src":"89698:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16955,"name":"string","nodeType":"ElementaryTypeName","src":"89698:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"89668:52:17"},"returnParameters":{"id":16958,"nodeType":"ParameterList","parameters":[],"src":"89734:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16965,"nodeType":"FunctionDefinition","src":"89791:50:17","nodes":[],"documentation":{"id":16960,"nodeType":"StructuredDocumentation","src":"89741:45:17","text":"Asserts that the given condition is true."},"functionSelector":"0c9fd581","implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"89800:10:17","parameters":{"id":16963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16962,"mutability":"mutable","name":"condition","nameLocation":"89816:9:17","nodeType":"VariableDeclaration","scope":16965,"src":"89811:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16961,"name":"bool","nodeType":"ElementaryTypeName","src":"89811:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"89810:16:17"},"returnParameters":{"id":16964,"nodeType":"ParameterList","parameters":[],"src":"89840:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16973,"nodeType":"FunctionDefinition","src":"89954:73:17","nodes":[],"documentation":{"id":16966,"nodeType":"StructuredDocumentation","src":"89847:102:17","text":"Asserts that the given condition is true and includes error message into revert string on failure."},"functionSelector":"a34edc03","implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"89963:10:17","parameters":{"id":16971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16968,"mutability":"mutable","name":"condition","nameLocation":"89979:9:17","nodeType":"VariableDeclaration","scope":16973,"src":"89974:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16967,"name":"bool","nodeType":"ElementaryTypeName","src":"89974:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16970,"mutability":"mutable","name":"error","nameLocation":"90006:5:17","nodeType":"VariableDeclaration","scope":16973,"src":"89990:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16969,"name":"string","nodeType":"ElementaryTypeName","src":"89990:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"89973:39:17"},"returnParameters":{"id":16972,"nodeType":"ParameterList","parameters":[],"src":"90026:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16979,"nodeType":"FunctionDefinition","src":"90122:46:17","nodes":[],"documentation":{"id":16974,"nodeType":"StructuredDocumentation","src":"90033:84:17","text":"If the condition is false, discard this run's fuzz inputs and generate new ones."},"functionSelector":"4c63e562","implemented":false,"kind":"function","modifiers":[],"name":"assume","nameLocation":"90131:6:17","parameters":{"id":16977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16976,"mutability":"mutable","name":"condition","nameLocation":"90143:9:17","nodeType":"VariableDeclaration","scope":16979,"src":"90138:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16975,"name":"bool","nodeType":"ElementaryTypeName","src":"90138:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"90137:16:17"},"returnParameters":{"id":16978,"nodeType":"ParameterList","parameters":[],"src":"90167:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16983,"nodeType":"FunctionDefinition","src":"90258:40:17","nodes":[],"documentation":{"id":16980,"nodeType":"StructuredDocumentation","src":"90174:79:17","text":"Discard this run's fuzz inputs and generate new ones if next call reverted."},"functionSelector":"285b366a","implemented":false,"kind":"function","modifiers":[],"name":"assumeNoRevert","nameLocation":"90267:14:17","parameters":{"id":16981,"nodeType":"ParameterList","parameters":[],"src":"90281:2:17"},"returnParameters":{"id":16982,"nodeType":"ParameterList","parameters":[],"src":"90297:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16990,"nodeType":"FunctionDefinition","src":"90424:80:17","nodes":[],"documentation":{"id":16984,"nodeType":"StructuredDocumentation","src":"90304:115:17","text":"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters."},"functionSelector":"d8591eeb","implemented":false,"kind":"function","modifiers":[],"name":"assumeNoRevert","nameLocation":"90433:14:17","parameters":{"id":16988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16987,"mutability":"mutable","name":"potentialRevert","nameLocation":"90473:15:17","nodeType":"VariableDeclaration","scope":16990,"src":"90448:40:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PotentialRevert_$13722_calldata_ptr","typeString":"struct VmSafe.PotentialRevert"},"typeName":{"id":16986,"nodeType":"UserDefinedTypeName","pathNode":{"id":16985,"name":"PotentialRevert","nameLocations":["90448:15:17"],"nodeType":"IdentifierPath","referencedDeclaration":13722,"src":"90448:15:17"},"referencedDeclaration":13722,"src":"90448:15:17","typeDescriptions":{"typeIdentifier":"t_struct$_PotentialRevert_$13722_storage_ptr","typeString":"struct VmSafe.PotentialRevert"}},"visibility":"internal"}],"src":"90447:42:17"},"returnParameters":{"id":16989,"nodeType":"ParameterList","parameters":[],"src":"90503:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16998,"nodeType":"FunctionDefinition","src":"90641:83:17","nodes":[],"documentation":{"id":16991,"nodeType":"StructuredDocumentation","src":"90510:126:17","text":"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters."},"functionSelector":"8a4592cc","implemented":false,"kind":"function","modifiers":[],"name":"assumeNoRevert","nameLocation":"90650:14:17","parameters":{"id":16996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16995,"mutability":"mutable","name":"potentialReverts","nameLocation":"90692:16:17","nodeType":"VariableDeclaration","scope":16998,"src":"90665:43:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PotentialRevert_$13722_calldata_ptr_$dyn_calldata_ptr","typeString":"struct VmSafe.PotentialRevert[]"},"typeName":{"baseType":{"id":16993,"nodeType":"UserDefinedTypeName","pathNode":{"id":16992,"name":"PotentialRevert","nameLocations":["90665:15:17"],"nodeType":"IdentifierPath","referencedDeclaration":13722,"src":"90665:15:17"},"referencedDeclaration":13722,"src":"90665:15:17","typeDescriptions":{"typeIdentifier":"t_struct$_PotentialRevert_$13722_storage_ptr","typeString":"struct VmSafe.PotentialRevert"}},"id":16994,"nodeType":"ArrayTypeName","src":"90665:17:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PotentialRevert_$13722_storage_$dyn_storage_ptr","typeString":"struct VmSafe.PotentialRevert[]"}},"visibility":"internal"}],"src":"90664:45:17"},"returnParameters":{"id":16997,"nodeType":"ParameterList","parameters":[],"src":"90723:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17004,"nodeType":"FunctionDefinition","src":"90786:56:17","nodes":[],"documentation":{"id":16999,"nodeType":"StructuredDocumentation","src":"90730:51:17","text":"Writes a breakpoint to jump to in the debugger."},"functionSelector":"f0259e92","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"90795:10:17","parameters":{"id":17002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17001,"mutability":"mutable","name":"char","nameLocation":"90822:4:17","nodeType":"VariableDeclaration","scope":17004,"src":"90806:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17000,"name":"string","nodeType":"ElementaryTypeName","src":"90806:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"90805:22:17"},"returnParameters":{"id":17003,"nodeType":"ParameterList","parameters":[],"src":"90841:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17012,"nodeType":"FunctionDefinition","src":"90916:68:17","nodes":[],"documentation":{"id":17005,"nodeType":"StructuredDocumentation","src":"90848:63:17","text":"Writes a conditional breakpoint to jump to in the debugger."},"functionSelector":"f7d39a8d","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"90925:10:17","parameters":{"id":17010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17007,"mutability":"mutable","name":"char","nameLocation":"90952:4:17","nodeType":"VariableDeclaration","scope":17012,"src":"90936:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17006,"name":"string","nodeType":"ElementaryTypeName","src":"90936:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17009,"mutability":"mutable","name":"value","nameLocation":"90963:5:17","nodeType":"VariableDeclaration","scope":17012,"src":"90958:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17008,"name":"bool","nodeType":"ElementaryTypeName","src":"90958:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"90935:34:17"},"returnParameters":{"id":17011,"nodeType":"ParameterList","parameters":[],"src":"90983:0:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17020,"nodeType":"FunctionDefinition","src":"91230:85:17","nodes":[],"documentation":{"id":17013,"nodeType":"StructuredDocumentation","src":"90990:235:17","text":"Returns true if the current Foundry version is greater than or equal to the given version.\n The given version string must be in the format `major.minor.patch`.\n This is equivalent to `foundryVersionCmp(version) >= 0`."},"functionSelector":"6248be1f","implemented":false,"kind":"function","modifiers":[],"name":"foundryVersionAtLeast","nameLocation":"91239:21:17","parameters":{"id":17016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17015,"mutability":"mutable","name":"version","nameLocation":"91277:7:17","nodeType":"VariableDeclaration","scope":17020,"src":"91261:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17014,"name":"string","nodeType":"ElementaryTypeName","src":"91261:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"91260:25:17"},"returnParameters":{"id":17019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17020,"src":"91309:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17017,"name":"bool","nodeType":"ElementaryTypeName","src":"91309:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"91308:6:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17028,"nodeType":"FunctionDefinition","src":"91922:83:17","nodes":[],"documentation":{"id":17021,"nodeType":"StructuredDocumentation","src":"91321:596:17","text":"Compares the current Foundry version with the given version string.\n The given version string must be in the format `major.minor.patch`.\n Returns:\n -1 if current Foundry version is less than the given version\n 0 if current Foundry version equals the given version\n 1 if current Foundry version is greater than the given version\n This result can then be used with a comparison operator against `0`.\n For example, to check if the current Foundry version is greater than or equal to `1.0.0`:\n `if (foundryVersionCmp(\"1.0.0\") >= 0) { ... }`"},"functionSelector":"ca7b0a09","implemented":false,"kind":"function","modifiers":[],"name":"foundryVersionCmp","nameLocation":"91931:17:17","parameters":{"id":17024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17023,"mutability":"mutable","name":"version","nameLocation":"91965:7:17","nodeType":"VariableDeclaration","scope":17028,"src":"91949:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17022,"name":"string","nodeType":"ElementaryTypeName","src":"91949:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"91948:25:17"},"returnParameters":{"id":17027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17028,"src":"91997:6:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17025,"name":"int256","nodeType":"ElementaryTypeName","src":"91997:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"91996:8:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17037,"nodeType":"FunctionDefinition","src":"92061:89:17","nodes":[],"documentation":{"id":17029,"nodeType":"StructuredDocumentation","src":"92011:45:17","text":"Returns a Chain struct for specific alias"},"functionSelector":"4cc1c2bb","implemented":false,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"92070:8:17","parameters":{"id":17032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17031,"mutability":"mutable","name":"chainAlias","nameLocation":"92095:10:17","nodeType":"VariableDeclaration","scope":17037,"src":"92079:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17030,"name":"string","nodeType":"ElementaryTypeName","src":"92079:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92078:28:17"},"returnParameters":{"id":17036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17035,"mutability":"mutable","name":"chain","nameLocation":"92143:5:17","nodeType":"VariableDeclaration","scope":17037,"src":"92130:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$13612_memory_ptr","typeString":"struct VmSafe.Chain"},"typeName":{"id":17034,"nodeType":"UserDefinedTypeName","pathNode":{"id":17033,"name":"Chain","nameLocations":["92130:5:17"],"nodeType":"IdentifierPath","referencedDeclaration":13612,"src":"92130:5:17"},"referencedDeclaration":13612,"src":"92130:5:17","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$13612_storage_ptr","typeString":"struct VmSafe.Chain"}},"visibility":"internal"}],"src":"92129:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17046,"nodeType":"FunctionDefinition","src":"92208:78:17","nodes":[],"documentation":{"id":17038,"nodeType":"StructuredDocumentation","src":"92156:47:17","text":"Returns a Chain struct for specific chainId"},"functionSelector":"b6791ad4","implemented":false,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"92217:8:17","parameters":{"id":17041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17040,"mutability":"mutable","name":"chainId","nameLocation":"92234:7:17","nodeType":"VariableDeclaration","scope":17046,"src":"92226:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17039,"name":"uint256","nodeType":"ElementaryTypeName","src":"92226:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"92225:17:17"},"returnParameters":{"id":17045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17044,"mutability":"mutable","name":"chain","nameLocation":"92279:5:17","nodeType":"VariableDeclaration","scope":17046,"src":"92266:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$13612_memory_ptr","typeString":"struct VmSafe.Chain"},"typeName":{"id":17043,"nodeType":"UserDefinedTypeName","pathNode":{"id":17042,"name":"Chain","nameLocations":["92266:5:17"],"nodeType":"IdentifierPath","referencedDeclaration":13612,"src":"92266:5:17"},"referencedDeclaration":13612,"src":"92266:5:17","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$13612_storage_ptr","typeString":"struct VmSafe.Chain"}},"visibility":"internal"}],"src":"92265:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17052,"nodeType":"FunctionDefinition","src":"92721:75:17","nodes":[],"documentation":{"id":17047,"nodeType":"StructuredDocumentation","src":"92292:424:17","text":"Returns the Foundry version.\n Format: -+..\n Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug\n Note: Build timestamps may vary slightly across platforms due to separate CI jobs.\n For reliable version comparisons, use UNIX format (e.g., >= 1700000000)\n to compare timestamps while ignoring minor time differences."},"functionSelector":"ea991bb5","implemented":false,"kind":"function","modifiers":[],"name":"getFoundryVersion","nameLocation":"92730:17:17","parameters":{"id":17048,"nodeType":"ParameterList","parameters":[],"src":"92747:2:17"},"returnParameters":{"id":17051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17050,"mutability":"mutable","name":"version","nameLocation":"92787:7:17","nodeType":"VariableDeclaration","scope":17052,"src":"92773:21:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17049,"name":"string","nodeType":"ElementaryTypeName","src":"92773:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92772:23:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17060,"nodeType":"FunctionDefinition","src":"92851:85:17","nodes":[],"documentation":{"id":17053,"nodeType":"StructuredDocumentation","src":"92802:44:17","text":"Returns the RPC url for the given alias."},"functionSelector":"975a6ce9","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrl","nameLocation":"92860:6:17","parameters":{"id":17056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17055,"mutability":"mutable","name":"rpcAlias","nameLocation":"92883:8:17","nodeType":"VariableDeclaration","scope":17060,"src":"92867:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17054,"name":"string","nodeType":"ElementaryTypeName","src":"92867:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92866:26:17"},"returnParameters":{"id":17059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17058,"mutability":"mutable","name":"json","nameLocation":"92930:4:17","nodeType":"VariableDeclaration","scope":17060,"src":"92916:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17057,"name":"string","nodeType":"ElementaryTypeName","src":"92916:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92915:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17068,"nodeType":"FunctionDefinition","src":"93001:67:17","nodes":[],"documentation":{"id":17061,"nodeType":"StructuredDocumentation","src":"92942:54:17","text":"Returns all rpc urls and their aliases as structs."},"functionSelector":"9d2ad72a","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrlStructs","nameLocation":"93010:13:17","parameters":{"id":17062,"nodeType":"ParameterList","parameters":[],"src":"93023:2:17"},"returnParameters":{"id":17067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17066,"mutability":"mutable","name":"urls","nameLocation":"93062:4:17","nodeType":"VariableDeclaration","scope":17068,"src":"93049:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$13529_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Rpc[]"},"typeName":{"baseType":{"id":17064,"nodeType":"UserDefinedTypeName","pathNode":{"id":17063,"name":"Rpc","nameLocations":["93049:3:17"],"nodeType":"IdentifierPath","referencedDeclaration":13529,"src":"93049:3:17"},"referencedDeclaration":13529,"src":"93049:3:17","typeDescriptions":{"typeIdentifier":"t_struct$_Rpc_$13529_storage_ptr","typeString":"struct VmSafe.Rpc"}},"id":17065,"nodeType":"ArrayTypeName","src":"93049:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$13529_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Rpc[]"}},"visibility":"internal"}],"src":"93048:19:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17077,"nodeType":"FunctionDefinition","src":"93139:67:17","nodes":[],"documentation":{"id":17069,"nodeType":"StructuredDocumentation","src":"93074:60:17","text":"Returns all rpc urls and their aliases `[alias, url][]`."},"functionSelector":"a85a8418","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrls","nameLocation":"93148:7:17","parameters":{"id":17070,"nodeType":"ParameterList","parameters":[],"src":"93155:2:17"},"returnParameters":{"id":17076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17075,"mutability":"mutable","name":"urls","nameLocation":"93200:4:17","nodeType":"VariableDeclaration","scope":17077,"src":"93181:23:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr","typeString":"string[2][]"},"typeName":{"baseType":{"baseType":{"id":17071,"name":"string","nodeType":"ElementaryTypeName","src":"93181:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17073,"length":{"hexValue":"32","id":17072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"93188:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"93181:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$2_storage_ptr","typeString":"string[2]"}},"id":17074,"nodeType":"ArrayTypeName","src":"93181:11:17","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr","typeString":"string[2][]"}},"visibility":"internal"}],"src":"93180:25:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17083,"nodeType":"FunctionDefinition","src":"93287:42:17","nodes":[],"documentation":{"id":17078,"nodeType":"StructuredDocumentation","src":"93212:70:17","text":"Suspends execution of the main thread for `duration` milliseconds."},"functionSelector":"fa9d8713","implemented":false,"kind":"function","modifiers":[],"name":"sleep","nameLocation":"93296:5:17","parameters":{"id":17081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17080,"mutability":"mutable","name":"duration","nameLocation":"93310:8:17","nodeType":"VariableDeclaration","scope":17083,"src":"93302:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17079,"name":"uint256","nodeType":"ElementaryTypeName","src":"93302:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"93301:18:17"},"returnParameters":{"id":17082,"nodeType":"ParameterList","parameters":[],"src":"93328:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17093,"nodeType":"FunctionDefinition","src":"93414:95:17","nodes":[],"documentation":{"id":17084,"nodeType":"StructuredDocumentation","src":"93366:43:17","text":"Checks if `key` exists in a TOML table."},"functionSelector":"600903ad","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsToml","nameLocation":"93423:13:17","parameters":{"id":17089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17086,"mutability":"mutable","name":"toml","nameLocation":"93453:4:17","nodeType":"VariableDeclaration","scope":17093,"src":"93437:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17085,"name":"string","nodeType":"ElementaryTypeName","src":"93437:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17088,"mutability":"mutable","name":"key","nameLocation":"93475:3:17","nodeType":"VariableDeclaration","scope":17093,"src":"93459:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17087,"name":"string","nodeType":"ElementaryTypeName","src":"93459:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"93436:43:17"},"returnParameters":{"id":17092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17093,"src":"93503:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17090,"name":"bool","nodeType":"ElementaryTypeName","src":"93503:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"93502:6:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17103,"nodeType":"FunctionDefinition","src":"93590:101:17","nodes":[],"documentation":{"id":17094,"nodeType":"StructuredDocumentation","src":"93515:70:17","text":"Parses a string of TOML data at `key` and coerces it to `address`."},"functionSelector":"65e7c844","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlAddress","nameLocation":"93599:16:17","parameters":{"id":17099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17096,"mutability":"mutable","name":"toml","nameLocation":"93632:4:17","nodeType":"VariableDeclaration","scope":17103,"src":"93616:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17095,"name":"string","nodeType":"ElementaryTypeName","src":"93616:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17098,"mutability":"mutable","name":"key","nameLocation":"93654:3:17","nodeType":"VariableDeclaration","scope":17103,"src":"93638:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17097,"name":"string","nodeType":"ElementaryTypeName","src":"93638:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"93615:43:17"},"returnParameters":{"id":17102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17101,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17103,"src":"93682:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17100,"name":"address","nodeType":"ElementaryTypeName","src":"93682:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"93681:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17114,"nodeType":"FunctionDefinition","src":"93774:139:17","nodes":[],"documentation":{"id":17104,"nodeType":"StructuredDocumentation","src":"93697:72:17","text":"Parses a string of TOML data at `key` and coerces it to `address[]`."},"functionSelector":"65c428e7","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlAddressArray","nameLocation":"93783:21:17","parameters":{"id":17109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17106,"mutability":"mutable","name":"toml","nameLocation":"93821:4:17","nodeType":"VariableDeclaration","scope":17114,"src":"93805:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17105,"name":"string","nodeType":"ElementaryTypeName","src":"93805:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17108,"mutability":"mutable","name":"key","nameLocation":"93843:3:17","nodeType":"VariableDeclaration","scope":17114,"src":"93827:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17107,"name":"string","nodeType":"ElementaryTypeName","src":"93827:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"93804:43:17"},"returnParameters":{"id":17113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17114,"src":"93895:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":17110,"name":"address","nodeType":"ElementaryTypeName","src":"93895:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17111,"nodeType":"ArrayTypeName","src":"93895:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"93894:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17124,"nodeType":"FunctionDefinition","src":"93991:95:17","nodes":[],"documentation":{"id":17115,"nodeType":"StructuredDocumentation","src":"93919:67:17","text":"Parses a string of TOML data at `key` and coerces it to `bool`."},"functionSelector":"d30dced6","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBool","nameLocation":"94000:13:17","parameters":{"id":17120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17117,"mutability":"mutable","name":"toml","nameLocation":"94030:4:17","nodeType":"VariableDeclaration","scope":17124,"src":"94014:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17116,"name":"string","nodeType":"ElementaryTypeName","src":"94014:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17119,"mutability":"mutable","name":"key","nameLocation":"94052:3:17","nodeType":"VariableDeclaration","scope":17124,"src":"94036:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17118,"name":"string","nodeType":"ElementaryTypeName","src":"94036:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"94013:43:17"},"returnParameters":{"id":17123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17124,"src":"94080:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17121,"name":"bool","nodeType":"ElementaryTypeName","src":"94080:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"94079:6:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17135,"nodeType":"FunctionDefinition","src":"94166:109:17","nodes":[],"documentation":{"id":17125,"nodeType":"StructuredDocumentation","src":"94092:69:17","text":"Parses a string of TOML data at `key` and coerces it to `bool[]`."},"functionSelector":"127cfe9a","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBoolArray","nameLocation":"94175:18:17","parameters":{"id":17130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17127,"mutability":"mutable","name":"toml","nameLocation":"94210:4:17","nodeType":"VariableDeclaration","scope":17135,"src":"94194:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17126,"name":"string","nodeType":"ElementaryTypeName","src":"94194:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17129,"mutability":"mutable","name":"key","nameLocation":"94232:3:17","nodeType":"VariableDeclaration","scope":17135,"src":"94216:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17128,"name":"string","nodeType":"ElementaryTypeName","src":"94216:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"94193:43:17"},"returnParameters":{"id":17134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17135,"src":"94260:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":17131,"name":"bool","nodeType":"ElementaryTypeName","src":"94260:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17132,"nodeType":"ArrayTypeName","src":"94260:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"94259:15:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17145,"nodeType":"FunctionDefinition","src":"94354:104:17","nodes":[],"documentation":{"id":17136,"nodeType":"StructuredDocumentation","src":"94281:68:17","text":"Parses a string of TOML data at `key` and coerces it to `bytes`."},"functionSelector":"d77bfdb9","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes","nameLocation":"94363:14:17","parameters":{"id":17141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17138,"mutability":"mutable","name":"toml","nameLocation":"94394:4:17","nodeType":"VariableDeclaration","scope":17145,"src":"94378:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17137,"name":"string","nodeType":"ElementaryTypeName","src":"94378:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17140,"mutability":"mutable","name":"key","nameLocation":"94416:3:17","nodeType":"VariableDeclaration","scope":17145,"src":"94400:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17139,"name":"string","nodeType":"ElementaryTypeName","src":"94400:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"94377:43:17"},"returnParameters":{"id":17144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17145,"src":"94444:12:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17142,"name":"bytes","nodeType":"ElementaryTypeName","src":"94444:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"94443:14:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17155,"nodeType":"FunctionDefinition","src":"94539:101:17","nodes":[],"documentation":{"id":17146,"nodeType":"StructuredDocumentation","src":"94464:70:17","text":"Parses a string of TOML data at `key` and coerces it to `bytes32`."},"functionSelector":"8e214810","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes32","nameLocation":"94548:16:17","parameters":{"id":17151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17148,"mutability":"mutable","name":"toml","nameLocation":"94581:4:17","nodeType":"VariableDeclaration","scope":17155,"src":"94565:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17147,"name":"string","nodeType":"ElementaryTypeName","src":"94565:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17150,"mutability":"mutable","name":"key","nameLocation":"94603:3:17","nodeType":"VariableDeclaration","scope":17155,"src":"94587:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17149,"name":"string","nodeType":"ElementaryTypeName","src":"94587:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"94564:43:17"},"returnParameters":{"id":17154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17155,"src":"94631:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"94631:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"94630:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17166,"nodeType":"FunctionDefinition","src":"94723:139:17","nodes":[],"documentation":{"id":17156,"nodeType":"StructuredDocumentation","src":"94646:72:17","text":"Parses a string of TOML data at `key` and coerces it to `bytes32[]`."},"functionSelector":"3e716f81","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes32Array","nameLocation":"94732:21:17","parameters":{"id":17161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17158,"mutability":"mutable","name":"toml","nameLocation":"94770:4:17","nodeType":"VariableDeclaration","scope":17166,"src":"94754:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17157,"name":"string","nodeType":"ElementaryTypeName","src":"94754:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17160,"mutability":"mutable","name":"key","nameLocation":"94792:3:17","nodeType":"VariableDeclaration","scope":17166,"src":"94776:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17159,"name":"string","nodeType":"ElementaryTypeName","src":"94776:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"94753:43:17"},"returnParameters":{"id":17165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17164,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17166,"src":"94844:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"94844:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17163,"nodeType":"ArrayTypeName","src":"94844:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"94843:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17177,"nodeType":"FunctionDefinition","src":"94943:111:17","nodes":[],"documentation":{"id":17167,"nodeType":"StructuredDocumentation","src":"94868:70:17","text":"Parses a string of TOML data at `key` and coerces it to `bytes[]`."},"functionSelector":"b197c247","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytesArray","nameLocation":"94952:19:17","parameters":{"id":17172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17169,"mutability":"mutable","name":"toml","nameLocation":"94988:4:17","nodeType":"VariableDeclaration","scope":17177,"src":"94972:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17168,"name":"string","nodeType":"ElementaryTypeName","src":"94972:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17171,"mutability":"mutable","name":"key","nameLocation":"95010:3:17","nodeType":"VariableDeclaration","scope":17177,"src":"94994:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17170,"name":"string","nodeType":"ElementaryTypeName","src":"94994:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"94971:43:17"},"returnParameters":{"id":17176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17175,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17177,"src":"95038:14:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":17173,"name":"bytes","nodeType":"ElementaryTypeName","src":"95038:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":17174,"nodeType":"ArrayTypeName","src":"95038:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"95037:16:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17187,"nodeType":"FunctionDefinition","src":"95134:96:17","nodes":[],"documentation":{"id":17178,"nodeType":"StructuredDocumentation","src":"95060:69:17","text":"Parses a string of TOML data at `key` and coerces it to `int256`."},"functionSelector":"c1350739","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlInt","nameLocation":"95143:12:17","parameters":{"id":17183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17180,"mutability":"mutable","name":"toml","nameLocation":"95172:4:17","nodeType":"VariableDeclaration","scope":17187,"src":"95156:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17179,"name":"string","nodeType":"ElementaryTypeName","src":"95156:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17182,"mutability":"mutable","name":"key","nameLocation":"95194:3:17","nodeType":"VariableDeclaration","scope":17187,"src":"95178:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17181,"name":"string","nodeType":"ElementaryTypeName","src":"95178:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"95155:43:17"},"returnParameters":{"id":17186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17187,"src":"95222:6:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17184,"name":"int256","nodeType":"ElementaryTypeName","src":"95222:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"95221:8:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17198,"nodeType":"FunctionDefinition","src":"95312:110:17","nodes":[],"documentation":{"id":17188,"nodeType":"StructuredDocumentation","src":"95236:71:17","text":"Parses a string of TOML data at `key` and coerces it to `int256[]`."},"functionSelector":"d3522ae6","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlIntArray","nameLocation":"95321:17:17","parameters":{"id":17193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17190,"mutability":"mutable","name":"toml","nameLocation":"95355:4:17","nodeType":"VariableDeclaration","scope":17198,"src":"95339:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17189,"name":"string","nodeType":"ElementaryTypeName","src":"95339:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17192,"mutability":"mutable","name":"key","nameLocation":"95377:3:17","nodeType":"VariableDeclaration","scope":17198,"src":"95361:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17191,"name":"string","nodeType":"ElementaryTypeName","src":"95361:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"95338:43:17"},"returnParameters":{"id":17197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17198,"src":"95405:15:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":17194,"name":"int256","nodeType":"ElementaryTypeName","src":"95405:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":17195,"nodeType":"ArrayTypeName","src":"95405:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"95404:17:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17209,"nodeType":"FunctionDefinition","src":"95486:111:17","nodes":[],"documentation":{"id":17199,"nodeType":"StructuredDocumentation","src":"95428:53:17","text":"Returns an array of all the keys in a TOML table."},"functionSelector":"812a44b2","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlKeys","nameLocation":"95495:13:17","parameters":{"id":17204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17201,"mutability":"mutable","name":"toml","nameLocation":"95525:4:17","nodeType":"VariableDeclaration","scope":17209,"src":"95509:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17200,"name":"string","nodeType":"ElementaryTypeName","src":"95509:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17203,"mutability":"mutable","name":"key","nameLocation":"95547:3:17","nodeType":"VariableDeclaration","scope":17209,"src":"95531:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17202,"name":"string","nodeType":"ElementaryTypeName","src":"95531:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"95508:43:17"},"returnParameters":{"id":17208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17207,"mutability":"mutable","name":"keys","nameLocation":"95591:4:17","nodeType":"VariableDeclaration","scope":17209,"src":"95575:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":17205,"name":"string","nodeType":"ElementaryTypeName","src":"95575:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17206,"nodeType":"ArrayTypeName","src":"95575:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"95574:22:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17219,"nodeType":"FunctionDefinition","src":"95677:106:17","nodes":[],"documentation":{"id":17210,"nodeType":"StructuredDocumentation","src":"95603:69:17","text":"Parses a string of TOML data at `key` and coerces it to `string`."},"functionSelector":"8bb8dd43","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlString","nameLocation":"95686:15:17","parameters":{"id":17215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17212,"mutability":"mutable","name":"toml","nameLocation":"95718:4:17","nodeType":"VariableDeclaration","scope":17219,"src":"95702:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17211,"name":"string","nodeType":"ElementaryTypeName","src":"95702:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17214,"mutability":"mutable","name":"key","nameLocation":"95740:3:17","nodeType":"VariableDeclaration","scope":17219,"src":"95724:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17213,"name":"string","nodeType":"ElementaryTypeName","src":"95724:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"95701:43:17"},"returnParameters":{"id":17218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17219,"src":"95768:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17216,"name":"string","nodeType":"ElementaryTypeName","src":"95768:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"95767:15:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17230,"nodeType":"FunctionDefinition","src":"95865:113:17","nodes":[],"documentation":{"id":17220,"nodeType":"StructuredDocumentation","src":"95789:71:17","text":"Parses a string of TOML data at `key` and coerces it to `string[]`."},"functionSelector":"9f629281","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlStringArray","nameLocation":"95874:20:17","parameters":{"id":17225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17222,"mutability":"mutable","name":"toml","nameLocation":"95911:4:17","nodeType":"VariableDeclaration","scope":17230,"src":"95895:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17221,"name":"string","nodeType":"ElementaryTypeName","src":"95895:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17224,"mutability":"mutable","name":"key","nameLocation":"95933:3:17","nodeType":"VariableDeclaration","scope":17230,"src":"95917:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17223,"name":"string","nodeType":"ElementaryTypeName","src":"95917:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"95894:43:17"},"returnParameters":{"id":17229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17230,"src":"95961:15:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":17226,"name":"string","nodeType":"ElementaryTypeName","src":"95961:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17227,"nodeType":"ArrayTypeName","src":"95961:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"95960:17:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17242,"nodeType":"FunctionDefinition","src":"96095:165:17","nodes":[],"documentation":{"id":17231,"nodeType":"StructuredDocumentation","src":"95984:106:17","text":"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`."},"functionSelector":"49be3743","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlTypeArray","nameLocation":"96104:18:17","parameters":{"id":17238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17233,"mutability":"mutable","name":"toml","nameLocation":"96139:4:17","nodeType":"VariableDeclaration","scope":17242,"src":"96123:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17232,"name":"string","nodeType":"ElementaryTypeName","src":"96123:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17235,"mutability":"mutable","name":"key","nameLocation":"96161:3:17","nodeType":"VariableDeclaration","scope":17242,"src":"96145:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17234,"name":"string","nodeType":"ElementaryTypeName","src":"96145:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17237,"mutability":"mutable","name":"typeDescription","nameLocation":"96182:15:17","nodeType":"VariableDeclaration","scope":17242,"src":"96166:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17236,"name":"string","nodeType":"ElementaryTypeName","src":"96166:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"96122:76:17"},"returnParameters":{"id":17241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17242,"src":"96246:12:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17239,"name":"bytes","nodeType":"ElementaryTypeName","src":"96246:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"96245:14:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17252,"nodeType":"FunctionDefinition","src":"96362:139:17","nodes":[],"documentation":{"id":17243,"nodeType":"StructuredDocumentation","src":"96266:91:17","text":"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`."},"functionSelector":"47fa5e11","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlType","nameLocation":"96371:13:17","parameters":{"id":17248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17245,"mutability":"mutable","name":"toml","nameLocation":"96401:4:17","nodeType":"VariableDeclaration","scope":17252,"src":"96385:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17244,"name":"string","nodeType":"ElementaryTypeName","src":"96385:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17247,"mutability":"mutable","name":"typeDescription","nameLocation":"96423:15:17","nodeType":"VariableDeclaration","scope":17252,"src":"96407:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17246,"name":"string","nodeType":"ElementaryTypeName","src":"96407:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"96384:55:17"},"returnParameters":{"id":17251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17252,"src":"96487:12:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17249,"name":"bytes","nodeType":"ElementaryTypeName","src":"96487:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"96486:14:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17264,"nodeType":"FunctionDefinition","src":"96612:160:17","nodes":[],"documentation":{"id":17253,"nodeType":"StructuredDocumentation","src":"96507:100:17","text":"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`."},"functionSelector":"f9fa5cdb","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlType","nameLocation":"96621:13:17","parameters":{"id":17260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17255,"mutability":"mutable","name":"toml","nameLocation":"96651:4:17","nodeType":"VariableDeclaration","scope":17264,"src":"96635:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17254,"name":"string","nodeType":"ElementaryTypeName","src":"96635:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17257,"mutability":"mutable","name":"key","nameLocation":"96673:3:17","nodeType":"VariableDeclaration","scope":17264,"src":"96657:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17256,"name":"string","nodeType":"ElementaryTypeName","src":"96657:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17259,"mutability":"mutable","name":"typeDescription","nameLocation":"96694:15:17","nodeType":"VariableDeclaration","scope":17264,"src":"96678:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17258,"name":"string","nodeType":"ElementaryTypeName","src":"96678:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"96634:76:17"},"returnParameters":{"id":17263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17262,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17264,"src":"96758:12:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17261,"name":"bytes","nodeType":"ElementaryTypeName","src":"96758:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"96757:14:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17274,"nodeType":"FunctionDefinition","src":"96853:98:17","nodes":[],"documentation":{"id":17265,"nodeType":"StructuredDocumentation","src":"96778:70:17","text":"Parses a string of TOML data at `key` and coerces it to `uint256`."},"functionSelector":"cc7b0487","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlUint","nameLocation":"96862:13:17","parameters":{"id":17270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17267,"mutability":"mutable","name":"toml","nameLocation":"96892:4:17","nodeType":"VariableDeclaration","scope":17274,"src":"96876:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17266,"name":"string","nodeType":"ElementaryTypeName","src":"96876:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17269,"mutability":"mutable","name":"key","nameLocation":"96914:3:17","nodeType":"VariableDeclaration","scope":17274,"src":"96898:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17268,"name":"string","nodeType":"ElementaryTypeName","src":"96898:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"96875:43:17"},"returnParameters":{"id":17273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17272,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17274,"src":"96942:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17271,"name":"uint256","nodeType":"ElementaryTypeName","src":"96942:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96941:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17285,"nodeType":"FunctionDefinition","src":"97034:112:17","nodes":[],"documentation":{"id":17275,"nodeType":"StructuredDocumentation","src":"96957:72:17","text":"Parses a string of TOML data at `key` and coerces it to `uint256[]`."},"functionSelector":"b5df27c8","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlUintArray","nameLocation":"97043:18:17","parameters":{"id":17280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17277,"mutability":"mutable","name":"toml","nameLocation":"97078:4:17","nodeType":"VariableDeclaration","scope":17285,"src":"97062:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17276,"name":"string","nodeType":"ElementaryTypeName","src":"97062:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17279,"mutability":"mutable","name":"key","nameLocation":"97100:3:17","nodeType":"VariableDeclaration","scope":17285,"src":"97084:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17278,"name":"string","nodeType":"ElementaryTypeName","src":"97084:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"97061:43:17"},"returnParameters":{"id":17284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17285,"src":"97128:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17281,"name":"uint256","nodeType":"ElementaryTypeName","src":"97128:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17282,"nodeType":"ArrayTypeName","src":"97128:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"97127:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17293,"nodeType":"FunctionDefinition","src":"97186:93:17","nodes":[],"documentation":{"id":17286,"nodeType":"StructuredDocumentation","src":"97152:29:17","text":"ABI-encodes a TOML table."},"functionSelector":"592151f0","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"97195:9:17","parameters":{"id":17289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17288,"mutability":"mutable","name":"toml","nameLocation":"97221:4:17","nodeType":"VariableDeclaration","scope":17293,"src":"97205:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17287,"name":"string","nodeType":"ElementaryTypeName","src":"97205:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"97204:22:17"},"returnParameters":{"id":17292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17291,"mutability":"mutable","name":"abiEncodedData","nameLocation":"97263:14:17","nodeType":"VariableDeclaration","scope":17293,"src":"97250:27:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17290,"name":"bytes","nodeType":"ElementaryTypeName","src":"97250:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"97249:29:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17303,"nodeType":"FunctionDefinition","src":"97328:114:17","nodes":[],"documentation":{"id":17294,"nodeType":"StructuredDocumentation","src":"97285:38:17","text":"ABI-encodes a TOML table at `key`."},"functionSelector":"37736e08","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"97337:9:17","parameters":{"id":17299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17296,"mutability":"mutable","name":"toml","nameLocation":"97363:4:17","nodeType":"VariableDeclaration","scope":17303,"src":"97347:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17295,"name":"string","nodeType":"ElementaryTypeName","src":"97347:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17298,"mutability":"mutable","name":"key","nameLocation":"97385:3:17","nodeType":"VariableDeclaration","scope":17303,"src":"97369:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17297,"name":"string","nodeType":"ElementaryTypeName","src":"97369:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"97346:43:17"},"returnParameters":{"id":17302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17301,"mutability":"mutable","name":"abiEncodedData","nameLocation":"97426:14:17","nodeType":"VariableDeclaration","scope":17303,"src":"97413:27:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17300,"name":"bytes","nodeType":"ElementaryTypeName","src":"97413:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"97412:29:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17311,"nodeType":"FunctionDefinition","src":"97535:72:17","nodes":[],"documentation":{"id":17304,"nodeType":"StructuredDocumentation","src":"97448:82:17","text":"Takes serialized JSON, converts to TOML and write a serialized TOML to a file."},"functionSelector":"c0865ba7","implemented":false,"kind":"function","modifiers":[],"name":"writeToml","nameLocation":"97544:9:17","parameters":{"id":17309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17306,"mutability":"mutable","name":"json","nameLocation":"97570:4:17","nodeType":"VariableDeclaration","scope":17311,"src":"97554:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17305,"name":"string","nodeType":"ElementaryTypeName","src":"97554:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17308,"mutability":"mutable","name":"path","nameLocation":"97592:4:17","nodeType":"VariableDeclaration","scope":17311,"src":"97576:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17307,"name":"string","nodeType":"ElementaryTypeName","src":"97576:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"97553:44:17"},"returnParameters":{"id":17310,"nodeType":"ParameterList","parameters":[],"src":"97606:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17321,"nodeType":"FunctionDefinition","src":"97953:98:17","nodes":[],"documentation":{"id":17312,"nodeType":"StructuredDocumentation","src":"97613:335:17","text":"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = \n This is useful to replace a specific value of a TOML file, without having to parse the entire thing.\n This cheatcode will create new keys if they didn't previously exist."},"functionSelector":"51ac6a33","implemented":false,"kind":"function","modifiers":[],"name":"writeToml","nameLocation":"97962:9:17","parameters":{"id":17319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17314,"mutability":"mutable","name":"json","nameLocation":"97988:4:17","nodeType":"VariableDeclaration","scope":17321,"src":"97972:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17313,"name":"string","nodeType":"ElementaryTypeName","src":"97972:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17316,"mutability":"mutable","name":"path","nameLocation":"98010:4:17","nodeType":"VariableDeclaration","scope":17321,"src":"97994:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17315,"name":"string","nodeType":"ElementaryTypeName","src":"97994:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17318,"mutability":"mutable","name":"valueKey","nameLocation":"98032:8:17","nodeType":"VariableDeclaration","scope":17321,"src":"98016:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17317,"name":"string","nodeType":"ElementaryTypeName","src":"98016:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"97971:70:17"},"returnParameters":{"id":17320,"nodeType":"ParameterList","parameters":[],"src":"98050:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17333,"nodeType":"FunctionDefinition","src":"98185:90:17","nodes":[],"documentation":{"id":17322,"nodeType":"StructuredDocumentation","src":"98093:87:17","text":"Returns an uint256 value bounded in given range and different from the current one."},"functionSelector":"5a6c1eed","implemented":false,"kind":"function","modifiers":[],"name":"bound","nameLocation":"98194:5:17","parameters":{"id":17329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17324,"mutability":"mutable","name":"current","nameLocation":"98208:7:17","nodeType":"VariableDeclaration","scope":17333,"src":"98200:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17323,"name":"uint256","nodeType":"ElementaryTypeName","src":"98200:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17326,"mutability":"mutable","name":"min","nameLocation":"98225:3:17","nodeType":"VariableDeclaration","scope":17333,"src":"98217:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17325,"name":"uint256","nodeType":"ElementaryTypeName","src":"98217:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17328,"mutability":"mutable","name":"max","nameLocation":"98238:3:17","nodeType":"VariableDeclaration","scope":17333,"src":"98230:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17327,"name":"uint256","nodeType":"ElementaryTypeName","src":"98230:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"98199:43:17"},"returnParameters":{"id":17332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17333,"src":"98266:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17330,"name":"uint256","nodeType":"ElementaryTypeName","src":"98266:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"98265:9:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17345,"nodeType":"FunctionDefinition","src":"98372:86:17","nodes":[],"documentation":{"id":17334,"nodeType":"StructuredDocumentation","src":"98281:86:17","text":"Returns an int256 value bounded in given range and different from the current one."},"functionSelector":"8f48fc07","implemented":false,"kind":"function","modifiers":[],"name":"bound","nameLocation":"98381:5:17","parameters":{"id":17341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17336,"mutability":"mutable","name":"current","nameLocation":"98394:7:17","nodeType":"VariableDeclaration","scope":17345,"src":"98387:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17335,"name":"int256","nodeType":"ElementaryTypeName","src":"98387:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":17338,"mutability":"mutable","name":"min","nameLocation":"98410:3:17","nodeType":"VariableDeclaration","scope":17345,"src":"98403:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17337,"name":"int256","nodeType":"ElementaryTypeName","src":"98403:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":17340,"mutability":"mutable","name":"max","nameLocation":"98422:3:17","nodeType":"VariableDeclaration","scope":17345,"src":"98415:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17339,"name":"int256","nodeType":"ElementaryTypeName","src":"98415:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"98386:40:17"},"returnParameters":{"id":17344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17345,"src":"98450:6:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17342,"name":"int256","nodeType":"ElementaryTypeName","src":"98450:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"98449:8:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17357,"nodeType":"FunctionDefinition","src":"98561:141:17","nodes":[],"documentation":{"id":17346,"nodeType":"StructuredDocumentation","src":"98464:92:17","text":"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer."},"functionSelector":"d323826a","implemented":false,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"98570:21:17","parameters":{"id":17353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17348,"mutability":"mutable","name":"salt","nameLocation":"98600:4:17","nodeType":"VariableDeclaration","scope":17357,"src":"98592:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"98592:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":17350,"mutability":"mutable","name":"initCodeHash","nameLocation":"98614:12:17","nodeType":"VariableDeclaration","scope":17357,"src":"98606:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"98606:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":17352,"mutability":"mutable","name":"deployer","nameLocation":"98636:8:17","nodeType":"VariableDeclaration","scope":17357,"src":"98628:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17351,"name":"address","nodeType":"ElementaryTypeName","src":"98628:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"98591:54:17"},"returnParameters":{"id":17356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17355,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17357,"src":"98693:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17354,"name":"address","nodeType":"ElementaryTypeName","src":"98693:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"98692:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17367,"nodeType":"FunctionDefinition","src":"98807:99:17","nodes":[],"documentation":{"id":17358,"nodeType":"StructuredDocumentation","src":"98708:94:17","text":"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer."},"functionSelector":"890c283b","implemented":false,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"98816:21:17","parameters":{"id":17363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17360,"mutability":"mutable","name":"salt","nameLocation":"98846:4:17","nodeType":"VariableDeclaration","scope":17367,"src":"98838:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"98838:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":17362,"mutability":"mutable","name":"initCodeHash","nameLocation":"98860:12:17","nodeType":"VariableDeclaration","scope":17367,"src":"98852:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"98852:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"98837:36:17"},"returnParameters":{"id":17366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17365,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17367,"src":"98897:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17364,"name":"address","nodeType":"ElementaryTypeName","src":"98897:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"98896:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17377,"nodeType":"FunctionDefinition","src":"99011:95:17","nodes":[],"documentation":{"id":17368,"nodeType":"StructuredDocumentation","src":"98912:94:17","text":"Compute the address a contract will be deployed at for a given deployer address and nonce."},"functionSelector":"74637a7a","implemented":false,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"99020:20:17","parameters":{"id":17373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17370,"mutability":"mutable","name":"deployer","nameLocation":"99049:8:17","nodeType":"VariableDeclaration","scope":17377,"src":"99041:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17369,"name":"address","nodeType":"ElementaryTypeName","src":"99041:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17372,"mutability":"mutable","name":"nonce","nameLocation":"99067:5:17","nodeType":"VariableDeclaration","scope":17377,"src":"99059:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17371,"name":"uint256","nodeType":"ElementaryTypeName","src":"99059:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"99040:33:17"},"returnParameters":{"id":17376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17375,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17377,"src":"99097:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17374,"name":"address","nodeType":"ElementaryTypeName","src":"99097:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"99096:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17385,"nodeType":"FunctionDefinition","src":"99199:56:17","nodes":[],"documentation":{"id":17378,"nodeType":"StructuredDocumentation","src":"99112:82:17","text":"Utility cheatcode to copy storage of `from` contract to another `to` contract."},"functionSelector":"203dac0d","implemented":false,"kind":"function","modifiers":[],"name":"copyStorage","nameLocation":"99208:11:17","parameters":{"id":17383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17380,"mutability":"mutable","name":"from","nameLocation":"99228:4:17","nodeType":"VariableDeclaration","scope":17385,"src":"99220:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17379,"name":"address","nodeType":"ElementaryTypeName","src":"99220:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17382,"mutability":"mutable","name":"to","nameLocation":"99242:2:17","nodeType":"VariableDeclaration","scope":17385,"src":"99234:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17381,"name":"address","nodeType":"ElementaryTypeName","src":"99234:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"99219:26:17"},"returnParameters":{"id":17384,"nodeType":"ParameterList","parameters":[],"src":"99254:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17395,"nodeType":"FunctionDefinition","src":"99850:160:17","nodes":[],"documentation":{"id":17386,"nodeType":"StructuredDocumentation","src":"99261:584:17","text":"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data.\n Supports 2 different inputs:\n 1. Name of the type (i.e. \"PermitSingle\"):\n * requires previous binding generation with `forge bind-json`.\n * bindings will be retrieved from the path configured in `foundry.toml`.\n 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\").\n * Note: the cheatcode will use the canonical type even if the input is malformated\n with the wrong order of elements or with extra whitespaces."},"functionSelector":"aedeaebc","implemented":false,"kind":"function","modifiers":[],"name":"eip712HashStruct","nameLocation":"99859:16:17","parameters":{"id":17391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17388,"mutability":"mutable","name":"typeNameOrDefinition","nameLocation":"99892:20:17","nodeType":"VariableDeclaration","scope":17395,"src":"99876:36:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17387,"name":"string","nodeType":"ElementaryTypeName","src":"99876:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17390,"mutability":"mutable","name":"abiEncodedData","nameLocation":"99929:14:17","nodeType":"VariableDeclaration","scope":17395,"src":"99914:29:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17389,"name":"bytes","nodeType":"ElementaryTypeName","src":"99914:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"99875:69:17"},"returnParameters":{"id":17394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17393,"mutability":"mutable","name":"typeHash","nameLocation":"100000:8:17","nodeType":"VariableDeclaration","scope":17395,"src":"99992:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99992:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"99991:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17407,"nodeType":"FunctionDefinition","src":"100430:178:17","nodes":[],"documentation":{"id":17396,"nodeType":"StructuredDocumentation","src":"100016:409:17","text":"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data.\n Requires previous binding generation with `forge bind-json`.\n Params:\n * `bindingsPath`: path where the output of `forge bind-json` is stored.\n * `typeName`: Name of the type (i.e. \"PermitSingle\").\n * `abiEncodedData`: ABI-encoded data for the struct that is being hashed."},"functionSelector":"6d06c57c","implemented":false,"kind":"function","modifiers":[],"name":"eip712HashStruct","nameLocation":"100439:16:17","parameters":{"id":17403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17398,"mutability":"mutable","name":"bindingsPath","nameLocation":"100472:12:17","nodeType":"VariableDeclaration","scope":17407,"src":"100456:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17397,"name":"string","nodeType":"ElementaryTypeName","src":"100456:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17400,"mutability":"mutable","name":"typeName","nameLocation":"100502:8:17","nodeType":"VariableDeclaration","scope":17407,"src":"100486:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17399,"name":"string","nodeType":"ElementaryTypeName","src":"100486:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17402,"mutability":"mutable","name":"abiEncodedData","nameLocation":"100527:14:17","nodeType":"VariableDeclaration","scope":17407,"src":"100512:29:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17401,"name":"bytes","nodeType":"ElementaryTypeName","src":"100512:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"100455:87:17"},"returnParameters":{"id":17406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17405,"mutability":"mutable","name":"typeHash","nameLocation":"100598:8:17","nodeType":"VariableDeclaration","scope":17407,"src":"100590:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100590:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"100589:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17415,"nodeType":"FunctionDefinition","src":"101173:103:17","nodes":[],"documentation":{"id":17408,"nodeType":"StructuredDocumentation","src":"100614:554:17","text":"Generates the hash of the canonical EIP-712 type representation.\n Supports 2 different inputs:\n 1. Name of the type (i.e. \"Transaction\"):\n * requires previous binding generation with `forge bind-json`.\n * bindings will be retrieved from the path configured in `foundry.toml`.\n 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\").\n * Note: the cheatcode will output the canonical type even if the input is malformated\n with the wrong order of elements or with extra whitespaces."},"functionSelector":"6792e9e2","implemented":false,"kind":"function","modifiers":[],"name":"eip712HashType","nameLocation":"101182:14:17","parameters":{"id":17411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17410,"mutability":"mutable","name":"typeNameOrDefinition","nameLocation":"101213:20:17","nodeType":"VariableDeclaration","scope":17415,"src":"101197:36:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17409,"name":"string","nodeType":"ElementaryTypeName","src":"101197:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"101196:38:17"},"returnParameters":{"id":17414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17413,"mutability":"mutable","name":"typeHash","nameLocation":"101266:8:17","nodeType":"VariableDeclaration","scope":17415,"src":"101258:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101258:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"101257:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17425,"nodeType":"FunctionDefinition","src":"101581:145:17","nodes":[],"documentation":{"id":17416,"nodeType":"StructuredDocumentation","src":"101282:294:17","text":"Generates the hash of the canonical EIP-712 type representation.\n Requires previous binding generation with `forge bind-json`.\n Params:\n * `bindingsPath`: path where the output of `forge bind-json` is stored.\n * `typeName`: Name of the type (i.e. \"Transaction\")."},"functionSelector":"18fb6406","implemented":false,"kind":"function","modifiers":[],"name":"eip712HashType","nameLocation":"101590:14:17","parameters":{"id":17421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17418,"mutability":"mutable","name":"bindingsPath","nameLocation":"101621:12:17","nodeType":"VariableDeclaration","scope":17425,"src":"101605:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17417,"name":"string","nodeType":"ElementaryTypeName","src":"101605:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17420,"mutability":"mutable","name":"typeName","nameLocation":"101651:8:17","nodeType":"VariableDeclaration","scope":17425,"src":"101635:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17419,"name":"string","nodeType":"ElementaryTypeName","src":"101635:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"101604:56:17"},"returnParameters":{"id":17424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17423,"mutability":"mutable","name":"typeHash","nameLocation":"101716:8:17","nodeType":"VariableDeclaration","scope":17425,"src":"101708:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101708:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"101707:18:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17433,"nodeType":"FunctionDefinition","src":"101834:94:17","nodes":[],"documentation":{"id":17426,"nodeType":"StructuredDocumentation","src":"101732:97:17","text":"Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard."},"functionSelector":"ea25e615","implemented":false,"kind":"function","modifiers":[],"name":"eip712HashTypedData","nameLocation":"101843:19:17","parameters":{"id":17429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17428,"mutability":"mutable","name":"jsonData","nameLocation":"101879:8:17","nodeType":"VariableDeclaration","scope":17433,"src":"101863:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17427,"name":"string","nodeType":"ElementaryTypeName","src":"101863:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"101862:26:17"},"returnParameters":{"id":17432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17431,"mutability":"mutable","name":"digest","nameLocation":"101920:6:17","nodeType":"VariableDeclaration","scope":17433,"src":"101912:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17430,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101912:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"101911:16:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17441,"nodeType":"FunctionDefinition","src":"101984:75:17","nodes":[],"documentation":{"id":17434,"nodeType":"StructuredDocumentation","src":"101934:45:17","text":"Returns ENS namehash for provided string."},"functionSelector":"8c374c65","implemented":false,"kind":"function","modifiers":[],"name":"ensNamehash","nameLocation":"101993:11:17","parameters":{"id":17437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17436,"mutability":"mutable","name":"name","nameLocation":"102021:4:17","nodeType":"VariableDeclaration","scope":17441,"src":"102005:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17435,"name":"string","nodeType":"ElementaryTypeName","src":"102005:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"102004:22:17"},"returnParameters":{"id":17440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17441,"src":"102050:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17438,"name":"bytes32","nodeType":"ElementaryTypeName","src":"102050:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"102049:9:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17449,"nodeType":"FunctionDefinition","src":"102115:86:17","nodes":[],"documentation":{"id":17442,"nodeType":"StructuredDocumentation","src":"102065:45:17","text":"Gets the label for the specified address."},"functionSelector":"28a249b0","implemented":false,"kind":"function","modifiers":[],"name":"getLabel","nameLocation":"102124:8:17","parameters":{"id":17445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17444,"mutability":"mutable","name":"account","nameLocation":"102141:7:17","nodeType":"VariableDeclaration","scope":17449,"src":"102133:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17443,"name":"address","nodeType":"ElementaryTypeName","src":"102133:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"102132:17:17"},"returnParameters":{"id":17448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17447,"mutability":"mutable","name":"currentLabel","nameLocation":"102187:12:17","nodeType":"VariableDeclaration","scope":17449,"src":"102173:26:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17446,"name":"string","nodeType":"ElementaryTypeName","src":"102173:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"102172:28:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17457,"nodeType":"FunctionDefinition","src":"102249:67:17","nodes":[],"documentation":{"id":17450,"nodeType":"StructuredDocumentation","src":"102207:37:17","text":"Labels an address in call traces."},"functionSelector":"c657c718","implemented":false,"kind":"function","modifiers":[],"name":"label","nameLocation":"102258:5:17","parameters":{"id":17455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17452,"mutability":"mutable","name":"account","nameLocation":"102272:7:17","nodeType":"VariableDeclaration","scope":17457,"src":"102264:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17451,"name":"address","nodeType":"ElementaryTypeName","src":"102264:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17454,"mutability":"mutable","name":"newLabel","nameLocation":"102297:8:17","nodeType":"VariableDeclaration","scope":17457,"src":"102281:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17453,"name":"string","nodeType":"ElementaryTypeName","src":"102281:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"102263:43:17"},"returnParameters":{"id":17456,"nodeType":"ParameterList","parameters":[],"src":"102315:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17461,"nodeType":"FunctionDefinition","src":"102471:38:17","nodes":[],"documentation":{"id":17458,"nodeType":"StructuredDocumentation","src":"102322:144:17","text":"Pauses collection of call traces. Useful in cases when you want to skip tracing of\n complex calls which are not useful for debugging."},"functionSelector":"c94d1f90","implemented":false,"kind":"function","modifiers":[],"name":"pauseTracing","nameLocation":"102480:12:17","parameters":{"id":17459,"nodeType":"ParameterList","parameters":[],"src":"102492:2:17"},"returnParameters":{"id":17460,"nodeType":"ParameterList","parameters":[],"src":"102508:0:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17467,"nodeType":"FunctionDefinition","src":"102551:57:17","nodes":[],"documentation":{"id":17462,"nodeType":"StructuredDocumentation","src":"102515:31:17","text":"Returns a random `address`."},"functionSelector":"d5bee9f5","implemented":false,"kind":"function","modifiers":[],"name":"randomAddress","nameLocation":"102560:13:17","parameters":{"id":17463,"nodeType":"ParameterList","parameters":[],"src":"102573:2:17"},"returnParameters":{"id":17466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17467,"src":"102599:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17464,"name":"address","nodeType":"ElementaryTypeName","src":"102599:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"102598:9:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17473,"nodeType":"FunctionDefinition","src":"102647:51:17","nodes":[],"documentation":{"id":17468,"nodeType":"StructuredDocumentation","src":"102614:28:17","text":"Returns a random `bool`."},"functionSelector":"cdc126bd","implemented":false,"kind":"function","modifiers":[],"name":"randomBool","nameLocation":"102656:10:17","parameters":{"id":17469,"nodeType":"ParameterList","parameters":[],"src":"102666:2:17"},"returnParameters":{"id":17472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17473,"src":"102692:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17470,"name":"bool","nodeType":"ElementaryTypeName","src":"102692:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"102691:6:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17481,"nodeType":"FunctionDefinition","src":"102767:71:17","nodes":[],"documentation":{"id":17474,"nodeType":"StructuredDocumentation","src":"102704:58:17","text":"Returns a random byte array value of the given length."},"functionSelector":"6c5d32a9","implemented":false,"kind":"function","modifiers":[],"name":"randomBytes","nameLocation":"102776:11:17","parameters":{"id":17477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17476,"mutability":"mutable","name":"len","nameLocation":"102796:3:17","nodeType":"VariableDeclaration","scope":17481,"src":"102788:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17475,"name":"uint256","nodeType":"ElementaryTypeName","src":"102788:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"102787:13:17"},"returnParameters":{"id":17480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17479,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17481,"src":"102824:12:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17478,"name":"bytes","nodeType":"ElementaryTypeName","src":"102824:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"102823:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17487,"nodeType":"FunctionDefinition","src":"102904:55:17","nodes":[],"documentation":{"id":17482,"nodeType":"StructuredDocumentation","src":"102844:55:17","text":"Returns a random fixed-size byte array of length 4."},"functionSelector":"9b7cd579","implemented":false,"kind":"function","modifiers":[],"name":"randomBytes4","nameLocation":"102913:12:17","parameters":{"id":17483,"nodeType":"ParameterList","parameters":[],"src":"102925:2:17"},"returnParameters":{"id":17486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17487,"src":"102951:6:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17484,"name":"bytes4","nodeType":"ElementaryTypeName","src":"102951:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"102950:8:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17493,"nodeType":"FunctionDefinition","src":"103025:55:17","nodes":[],"documentation":{"id":17488,"nodeType":"StructuredDocumentation","src":"102965:55:17","text":"Returns a random fixed-size byte array of length 8."},"functionSelector":"0497b0a5","implemented":false,"kind":"function","modifiers":[],"name":"randomBytes8","nameLocation":"103034:12:17","parameters":{"id":17489,"nodeType":"ParameterList","parameters":[],"src":"103046:2:17"},"returnParameters":{"id":17492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17493,"src":"103072:6:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":17490,"name":"bytes8","nodeType":"ElementaryTypeName","src":"103072:6:17","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"103071:8:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17499,"nodeType":"FunctionDefinition","src":"103127:52:17","nodes":[],"documentation":{"id":17494,"nodeType":"StructuredDocumentation","src":"103086:36:17","text":"Returns a random `int256` value."},"functionSelector":"111f1202","implemented":false,"kind":"function","modifiers":[],"name":"randomInt","nameLocation":"103136:9:17","parameters":{"id":17495,"nodeType":"ParameterList","parameters":[],"src":"103145:2:17"},"returnParameters":{"id":17498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17497,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17499,"src":"103171:6:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17496,"name":"int256","nodeType":"ElementaryTypeName","src":"103171:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"103170:8:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17507,"nodeType":"FunctionDefinition","src":"103240:64:17","nodes":[],"documentation":{"id":17500,"nodeType":"StructuredDocumentation","src":"103185:50:17","text":"Returns a random `int256` value of given bits."},"functionSelector":"12845966","implemented":false,"kind":"function","modifiers":[],"name":"randomInt","nameLocation":"103249:9:17","parameters":{"id":17503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17502,"mutability":"mutable","name":"bits","nameLocation":"103267:4:17","nodeType":"VariableDeclaration","scope":17507,"src":"103259:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17501,"name":"uint256","nodeType":"ElementaryTypeName","src":"103259:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"103258:14:17"},"returnParameters":{"id":17506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17507,"src":"103296:6:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17504,"name":"int256","nodeType":"ElementaryTypeName","src":"103296:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"103295:8:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17513,"nodeType":"FunctionDefinition","src":"103350:54:17","nodes":[],"documentation":{"id":17508,"nodeType":"StructuredDocumentation","src":"103310:35:17","text":"Returns a random uint256 value."},"functionSelector":"25124730","implemented":false,"kind":"function","modifiers":[],"name":"randomUint","nameLocation":"103359:10:17","parameters":{"id":17509,"nodeType":"ParameterList","parameters":[],"src":"103369:2:17"},"returnParameters":{"id":17512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17511,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17513,"src":"103395:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17510,"name":"uint256","nodeType":"ElementaryTypeName","src":"103395:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"103394:9:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17523,"nodeType":"FunctionDefinition","src":"103488:78:17","nodes":[],"documentation":{"id":17514,"nodeType":"StructuredDocumentation","src":"103410:73:17","text":"Returns random uint256 value between the provided range (=min..=max)."},"functionSelector":"d61b051b","implemented":false,"kind":"function","modifiers":[],"name":"randomUint","nameLocation":"103497:10:17","parameters":{"id":17519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17516,"mutability":"mutable","name":"min","nameLocation":"103516:3:17","nodeType":"VariableDeclaration","scope":17523,"src":"103508:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17515,"name":"uint256","nodeType":"ElementaryTypeName","src":"103508:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17518,"mutability":"mutable","name":"max","nameLocation":"103529:3:17","nodeType":"VariableDeclaration","scope":17523,"src":"103521:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17517,"name":"uint256","nodeType":"ElementaryTypeName","src":"103521:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"103507:26:17"},"returnParameters":{"id":17522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17521,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17523,"src":"103557:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17520,"name":"uint256","nodeType":"ElementaryTypeName","src":"103557:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"103556:9:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17531,"nodeType":"FunctionDefinition","src":"103628:66:17","nodes":[],"documentation":{"id":17524,"nodeType":"StructuredDocumentation","src":"103572:51:17","text":"Returns a random `uint256` value of given bits."},"functionSelector":"cf81e69c","implemented":false,"kind":"function","modifiers":[],"name":"randomUint","nameLocation":"103637:10:17","parameters":{"id":17527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17526,"mutability":"mutable","name":"bits","nameLocation":"103656:4:17","nodeType":"VariableDeclaration","scope":17531,"src":"103648:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17525,"name":"uint256","nodeType":"ElementaryTypeName","src":"103648:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"103647:14:17"},"returnParameters":{"id":17530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17529,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17531,"src":"103685:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17528,"name":"uint256","nodeType":"ElementaryTypeName","src":"103685:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"103684:9:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17535,"nodeType":"FunctionDefinition","src":"103744:39:17","nodes":[],"documentation":{"id":17532,"nodeType":"StructuredDocumentation","src":"103700:39:17","text":"Unpauses collection of call traces."},"functionSelector":"72a09ccb","implemented":false,"kind":"function","modifiers":[],"name":"resumeTracing","nameLocation":"103753:13:17","parameters":{"id":17533,"nodeType":"ParameterList","parameters":[],"src":"103766:2:17"},"returnParameters":{"id":17534,"nodeType":"ParameterList","parameters":[],"src":"103782:0:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17541,"nodeType":"FunctionDefinition","src":"103866:54:17","nodes":[],"documentation":{"id":17536,"nodeType":"StructuredDocumentation","src":"103789:72:17","text":"Utility cheatcode to set arbitrary storage for given target address."},"functionSelector":"e1631837","implemented":false,"kind":"function","modifiers":[],"name":"setArbitraryStorage","nameLocation":"103875:19:17","parameters":{"id":17539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17538,"mutability":"mutable","name":"target","nameLocation":"103903:6:17","nodeType":"VariableDeclaration","scope":17541,"src":"103895:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17537,"name":"address","nodeType":"ElementaryTypeName","src":"103895:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"103894:16:17"},"returnParameters":{"id":17540,"nodeType":"ParameterList","parameters":[],"src":"103919:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17549,"nodeType":"FunctionDefinition","src":"104073:70:17","nodes":[],"documentation":{"id":17542,"nodeType":"StructuredDocumentation","src":"103926:142:17","text":"Utility cheatcode to set arbitrary storage for given target address and overwrite\n any storage slots that have been previously set."},"functionSelector":"d3ec2a0b","implemented":false,"kind":"function","modifiers":[],"name":"setArbitraryStorage","nameLocation":"104082:19:17","parameters":{"id":17547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17544,"mutability":"mutable","name":"target","nameLocation":"104110:6:17","nodeType":"VariableDeclaration","scope":17549,"src":"104102:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17543,"name":"address","nodeType":"ElementaryTypeName","src":"104102:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17546,"mutability":"mutable","name":"overwrite","nameLocation":"104123:9:17","nodeType":"VariableDeclaration","scope":17549,"src":"104118:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17545,"name":"bool","nodeType":"ElementaryTypeName","src":"104118:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"104101:32:17"},"returnParameters":{"id":17548,"nodeType":"ParameterList","parameters":[],"src":"104142:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17555,"nodeType":"FunctionDefinition","src":"104171:40:17","nodes":[],"documentation":{"id":17550,"nodeType":"StructuredDocumentation","src":"104149:17:17","text":"Set RNG seed."},"functionSelector":"c32a50f9","implemented":false,"kind":"function","modifiers":[],"name":"setSeed","nameLocation":"104180:7:17","parameters":{"id":17553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17552,"mutability":"mutable","name":"seed","nameLocation":"104196:4:17","nodeType":"VariableDeclaration","scope":17555,"src":"104188:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17551,"name":"uint256","nodeType":"ElementaryTypeName","src":"104188:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"104187:14:17"},"returnParameters":{"id":17554,"nodeType":"ParameterList","parameters":[],"src":"104210:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17565,"nodeType":"FunctionDefinition","src":"104253:79:17","nodes":[],"documentation":{"id":17556,"nodeType":"StructuredDocumentation","src":"104217:31:17","text":"Randomly shuffles an array."},"functionSelector":"54f1469c","implemented":false,"kind":"function","modifiers":[],"name":"shuffle","nameLocation":"104262:7:17","parameters":{"id":17560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17559,"mutability":"mutable","name":"array","nameLocation":"104289:5:17","nodeType":"VariableDeclaration","scope":17565,"src":"104270:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17557,"name":"uint256","nodeType":"ElementaryTypeName","src":"104270:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17558,"nodeType":"ArrayTypeName","src":"104270:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"104269:26:17"},"returnParameters":{"id":17564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17563,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17565,"src":"104314:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17561,"name":"uint256","nodeType":"ElementaryTypeName","src":"104314:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17562,"nodeType":"ArrayTypeName","src":"104314:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"104313:18:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17575,"nodeType":"FunctionDefinition","src":"104381:76:17","nodes":[],"documentation":{"id":17566,"nodeType":"StructuredDocumentation","src":"104338:38:17","text":"Sorts an array in ascending order."},"functionSelector":"9ec8b026","implemented":false,"kind":"function","modifiers":[],"name":"sort","nameLocation":"104390:4:17","parameters":{"id":17570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17569,"mutability":"mutable","name":"array","nameLocation":"104414:5:17","nodeType":"VariableDeclaration","scope":17575,"src":"104395:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17567,"name":"uint256","nodeType":"ElementaryTypeName","src":"104395:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17568,"nodeType":"ArrayTypeName","src":"104395:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"104394:26:17"},"returnParameters":{"id":17574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17575,"src":"104439:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17571,"name":"uint256","nodeType":"ElementaryTypeName","src":"104439:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17572,"nodeType":"ArrayTypeName","src":"104439:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"104438:18:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17583,"nodeType":"FunctionDefinition","src":"104518:80:17","nodes":[],"documentation":{"id":17576,"nodeType":"StructuredDocumentation","src":"104463:50:17","text":"Encodes a `bytes` value to a base64url string."},"functionSelector":"c8bd0e4a","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"104527:11:17","parameters":{"id":17579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17578,"mutability":"mutable","name":"data","nameLocation":"104554:4:17","nodeType":"VariableDeclaration","scope":17583,"src":"104539:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17577,"name":"bytes","nodeType":"ElementaryTypeName","src":"104539:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"104538:21:17"},"returnParameters":{"id":17582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17581,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17583,"src":"104583:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17580,"name":"string","nodeType":"ElementaryTypeName","src":"104583:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"104582:15:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17591,"nodeType":"FunctionDefinition","src":"104660:81:17","nodes":[],"documentation":{"id":17584,"nodeType":"StructuredDocumentation","src":"104604:51:17","text":"Encodes a `string` value to a base64url string."},"functionSelector":"ae3165b3","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"104669:11:17","parameters":{"id":17587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17586,"mutability":"mutable","name":"data","nameLocation":"104697:4:17","nodeType":"VariableDeclaration","scope":17591,"src":"104681:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17585,"name":"string","nodeType":"ElementaryTypeName","src":"104681:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"104680:22:17"},"returnParameters":{"id":17590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17589,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17591,"src":"104726:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17588,"name":"string","nodeType":"ElementaryTypeName","src":"104726:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"104725:15:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17599,"nodeType":"FunctionDefinition","src":"104799:77:17","nodes":[],"documentation":{"id":17592,"nodeType":"StructuredDocumentation","src":"104747:47:17","text":"Encodes a `bytes` value to a base64 string."},"functionSelector":"a5cbfe65","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"104808:8:17","parameters":{"id":17595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17594,"mutability":"mutable","name":"data","nameLocation":"104832:4:17","nodeType":"VariableDeclaration","scope":17599,"src":"104817:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17593,"name":"bytes","nodeType":"ElementaryTypeName","src":"104817:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"104816:21:17"},"returnParameters":{"id":17598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17599,"src":"104861:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17596,"name":"string","nodeType":"ElementaryTypeName","src":"104861:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"104860:15:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":17607,"nodeType":"FunctionDefinition","src":"104935:78:17","nodes":[],"documentation":{"id":17600,"nodeType":"StructuredDocumentation","src":"104882:48:17","text":"Encodes a `string` value to a base64 string."},"functionSelector":"3f8be2c8","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"104944:8:17","parameters":{"id":17603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17602,"mutability":"mutable","name":"data","nameLocation":"104969:4:17","nodeType":"VariableDeclaration","scope":17607,"src":"104953:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17601,"name":"string","nodeType":"ElementaryTypeName","src":"104953:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"104952:22:17"},"returnParameters":{"id":17606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17605,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17607,"src":"104998:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17604,"name":"string","nodeType":"ElementaryTypeName","src":"104998:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"104997:15:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"VmSafe","contractDependencies":[],"contractKind":"interface","documentation":{"id":13478,"nodeType":"StructuredDocumentation","src":"184:225:17","text":"The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may\n result in Script simulations differing from on-chain execution. It is recommended to only use\n these cheats in scripts."},"fullyImplemented":false,"linearizedBaseContracts":[17608],"name":"VmSafe","nameLocation":"419:6:17","scope":18680,"usedErrors":[],"usedEvents":[]},{"id":18679,"nodeType":"ContractDefinition","src":"105188:26592:17","nodes":[{"id":17619,"nodeType":"FunctionDefinition","src":"105337:63:17","nodes":[],"documentation":{"id":17612,"nodeType":"StructuredDocumentation","src":"105247:85:17","text":"Utility cheatcode to set an EIP-2930 access list for all subsequent transactions."},"functionSelector":"743e4cb7","implemented":false,"kind":"function","modifiers":[],"name":"accessList","nameLocation":"105346:10:17","parameters":{"id":17617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17616,"mutability":"mutable","name":"access","nameLocation":"105383:6:17","nodeType":"VariableDeclaration","scope":17619,"src":"105357:32:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessListItem_$13729_calldata_ptr_$dyn_calldata_ptr","typeString":"struct VmSafe.AccessListItem[]"},"typeName":{"baseType":{"id":17614,"nodeType":"UserDefinedTypeName","pathNode":{"id":17613,"name":"AccessListItem","nameLocations":["105357:14:17"],"nodeType":"IdentifierPath","referencedDeclaration":13729,"src":"105357:14:17"},"referencedDeclaration":13729,"src":"105357:14:17","typeDescriptions":{"typeIdentifier":"t_struct$_AccessListItem_$13729_storage_ptr","typeString":"struct VmSafe.AccessListItem"}},"id":17615,"nodeType":"ArrayTypeName","src":"105357:16:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessListItem_$13729_storage_$dyn_storage_ptr","typeString":"struct VmSafe.AccessListItem[]"}},"visibility":"internal"}],"src":"105356:34:17"},"returnParameters":{"id":17618,"nodeType":"ParameterList","parameters":[],"src":"105399:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17625,"nodeType":"FunctionDefinition","src":"105507:61:17","nodes":[],"documentation":{"id":17620,"nodeType":"StructuredDocumentation","src":"105406:96:17","text":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."},"functionSelector":"2f103f22","implemented":false,"kind":"function","modifiers":[],"name":"activeFork","nameLocation":"105516:10:17","parameters":{"id":17621,"nodeType":"ParameterList","parameters":[],"src":"105526:2:17"},"returnParameters":{"id":17624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17623,"mutability":"mutable","name":"forkId","nameLocation":"105560:6:17","nodeType":"VariableDeclaration","scope":17625,"src":"105552:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17622,"name":"uint256","nodeType":"ElementaryTypeName","src":"105552:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"105551:16:17"},"scope":18679,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17631,"nodeType":"FunctionDefinition","src":"105652:51:17","nodes":[],"documentation":{"id":17626,"nodeType":"StructuredDocumentation","src":"105574:73:17","text":"In forking mode, explicitly grant the given address cheatcode access."},"functionSelector":"ea060291","implemented":false,"kind":"function","modifiers":[],"name":"allowCheatcodes","nameLocation":"105661:15:17","parameters":{"id":17629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17628,"mutability":"mutable","name":"account","nameLocation":"105685:7:17","nodeType":"VariableDeclaration","scope":17631,"src":"105677:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17627,"name":"address","nodeType":"ElementaryTypeName","src":"105677:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"105676:17:17"},"returnParameters":{"id":17630,"nodeType":"ParameterList","parameters":[],"src":"105702:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17637,"nodeType":"FunctionDefinition","src":"105742:54:17","nodes":[],"documentation":{"id":17632,"nodeType":"StructuredDocumentation","src":"105709:28:17","text":"Sets `block.blobbasefee`"},"functionSelector":"6d315d7e","implemented":false,"kind":"function","modifiers":[],"name":"blobBaseFee","nameLocation":"105751:11:17","parameters":{"id":17635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17634,"mutability":"mutable","name":"newBlobBaseFee","nameLocation":"105771:14:17","nodeType":"VariableDeclaration","scope":17637,"src":"105763:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17633,"name":"uint256","nodeType":"ElementaryTypeName","src":"105763:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"105762:24:17"},"returnParameters":{"id":17636,"nodeType":"ParameterList","parameters":[],"src":"105795:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17644,"nodeType":"FunctionDefinition","src":"105963:56:17","nodes":[],"documentation":{"id":17638,"nodeType":"StructuredDocumentation","src":"105802:156:17","text":"Sets the blobhashes in the transaction.\n Not available on EVM versions before Cancun.\n If used on unsupported EVM versions it will revert."},"functionSelector":"129de7eb","implemented":false,"kind":"function","modifiers":[],"name":"blobhashes","nameLocation":"105972:10:17","parameters":{"id":17642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17641,"mutability":"mutable","name":"hashes","nameLocation":"106002:6:17","nodeType":"VariableDeclaration","scope":17644,"src":"105983:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"105983:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17640,"nodeType":"ArrayTypeName","src":"105983:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"105982:27:17"},"returnParameters":{"id":17643,"nodeType":"ParameterList","parameters":[],"src":"106018:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17650,"nodeType":"FunctionDefinition","src":"106055:46:17","nodes":[],"documentation":{"id":17645,"nodeType":"StructuredDocumentation","src":"106025:25:17","text":"Sets `block.chainid`."},"functionSelector":"4049ddd2","implemented":false,"kind":"function","modifiers":[],"name":"chainId","nameLocation":"106064:7:17","parameters":{"id":17648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17647,"mutability":"mutable","name":"newChainId","nameLocation":"106080:10:17","nodeType":"VariableDeclaration","scope":17650,"src":"106072:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17646,"name":"uint256","nodeType":"ElementaryTypeName","src":"106072:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"106071:20:17"},"returnParameters":{"id":17649,"nodeType":"ParameterList","parameters":[],"src":"106100:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17654,"nodeType":"FunctionDefinition","src":"106140:37:17","nodes":[],"documentation":{"id":17651,"nodeType":"StructuredDocumentation","src":"106107:28:17","text":"Clears all mocked calls."},"functionSelector":"3fdf4e15","implemented":false,"kind":"function","modifiers":[],"name":"clearMockedCalls","nameLocation":"106149:16:17","parameters":{"id":17652,"nodeType":"ParameterList","parameters":[],"src":"106165:2:17"},"returnParameters":{"id":17653,"nodeType":"ParameterList","parameters":[],"src":"106176:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17662,"nodeType":"FunctionDefinition","src":"106299:63:17","nodes":[],"documentation":{"id":17655,"nodeType":"StructuredDocumentation","src":"106183:111:17","text":"Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state."},"functionSelector":"533d61c9","implemented":false,"kind":"function","modifiers":[],"name":"cloneAccount","nameLocation":"106308:12:17","parameters":{"id":17660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17657,"mutability":"mutable","name":"source","nameLocation":"106329:6:17","nodeType":"VariableDeclaration","scope":17662,"src":"106321:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17656,"name":"address","nodeType":"ElementaryTypeName","src":"106321:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17659,"mutability":"mutable","name":"target","nameLocation":"106345:6:17","nodeType":"VariableDeclaration","scope":17662,"src":"106337:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17658,"name":"address","nodeType":"ElementaryTypeName","src":"106337:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"106320:32:17"},"returnParameters":{"id":17661,"nodeType":"ParameterList","parameters":[],"src":"106361:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17668,"nodeType":"FunctionDefinition","src":"106399:48:17","nodes":[],"documentation":{"id":17663,"nodeType":"StructuredDocumentation","src":"106368:26:17","text":"Sets `block.coinbase`."},"functionSelector":"ff483c54","implemented":false,"kind":"function","modifiers":[],"name":"coinbase","nameLocation":"106408:8:17","parameters":{"id":17666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17665,"mutability":"mutable","name":"newCoinbase","nameLocation":"106425:11:17","nodeType":"VariableDeclaration","scope":17668,"src":"106417:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17664,"name":"address","nodeType":"ElementaryTypeName","src":"106417:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"106416:21:17"},"returnParameters":{"id":17667,"nodeType":"ParameterList","parameters":[],"src":"106446:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17674,"nodeType":"FunctionDefinition","src":"106524:39:17","nodes":[],"documentation":{"id":17669,"nodeType":"StructuredDocumentation","src":"106453:66:17","text":"Marks the slots of an account and the account address as cold."},"functionSelector":"40ff9f21","implemented":false,"kind":"function","modifiers":[],"name":"cool","nameLocation":"106533:4:17","parameters":{"id":17672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17671,"mutability":"mutable","name":"target","nameLocation":"106546:6:17","nodeType":"VariableDeclaration","scope":17674,"src":"106538:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17670,"name":"address","nodeType":"ElementaryTypeName","src":"106538:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"106537:16:17"},"returnParameters":{"id":17673,"nodeType":"ParameterList","parameters":[],"src":"106562:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17682,"nodeType":"FunctionDefinition","src":"106660:57:17","nodes":[],"documentation":{"id":17675,"nodeType":"StructuredDocumentation","src":"106569:86:17","text":"Utility cheatcode to mark specific storage slot as cold, simulating no prior read."},"functionSelector":"8c78e654","implemented":false,"kind":"function","modifiers":[],"name":"coolSlot","nameLocation":"106669:8:17","parameters":{"id":17680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17677,"mutability":"mutable","name":"target","nameLocation":"106686:6:17","nodeType":"VariableDeclaration","scope":17682,"src":"106678:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17676,"name":"address","nodeType":"ElementaryTypeName","src":"106678:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17679,"mutability":"mutable","name":"slot","nameLocation":"106702:4:17","nodeType":"VariableDeclaration","scope":17682,"src":"106694:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106694:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"106677:30:17"},"returnParameters":{"id":17681,"nodeType":"ParameterList","parameters":[],"src":"106716:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17690,"nodeType":"FunctionDefinition","src":"106837:82:17","nodes":[],"documentation":{"id":17683,"nodeType":"StructuredDocumentation","src":"106723:109:17","text":"Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork."},"functionSelector":"31ba3498","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"106846:10:17","parameters":{"id":17686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17685,"mutability":"mutable","name":"urlOrAlias","nameLocation":"106873:10:17","nodeType":"VariableDeclaration","scope":17690,"src":"106857:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17684,"name":"string","nodeType":"ElementaryTypeName","src":"106857:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"106856:28:17"},"returnParameters":{"id":17689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17688,"mutability":"mutable","name":"forkId","nameLocation":"106911:6:17","nodeType":"VariableDeclaration","scope":17690,"src":"106903:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17687,"name":"uint256","nodeType":"ElementaryTypeName","src":"106903:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"106902:16:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17700,"nodeType":"FunctionDefinition","src":"107026:103:17","nodes":[],"documentation":{"id":17691,"nodeType":"StructuredDocumentation","src":"106925:96:17","text":"Creates a new fork with the given endpoint and block and returns the identifier of the fork."},"functionSelector":"6ba3ba2b","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"107035:10:17","parameters":{"id":17696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17693,"mutability":"mutable","name":"urlOrAlias","nameLocation":"107062:10:17","nodeType":"VariableDeclaration","scope":17700,"src":"107046:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17692,"name":"string","nodeType":"ElementaryTypeName","src":"107046:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17695,"mutability":"mutable","name":"blockNumber","nameLocation":"107082:11:17","nodeType":"VariableDeclaration","scope":17700,"src":"107074:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17694,"name":"uint256","nodeType":"ElementaryTypeName","src":"107074:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"107045:49:17"},"returnParameters":{"id":17699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17698,"mutability":"mutable","name":"forkId","nameLocation":"107121:6:17","nodeType":"VariableDeclaration","scope":17700,"src":"107113:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17697,"name":"uint256","nodeType":"ElementaryTypeName","src":"107113:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"107112:16:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17710,"nodeType":"FunctionDefinition","src":"107354:98:17","nodes":[],"documentation":{"id":17701,"nodeType":"StructuredDocumentation","src":"107135:214:17","text":"Creates a new fork with the given endpoint and at the block the given transaction was mined in,\n replays all transaction mined in the block before the transaction, and returns the identifier of the fork."},"functionSelector":"7ca29682","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"107363:10:17","parameters":{"id":17706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17703,"mutability":"mutable","name":"urlOrAlias","nameLocation":"107390:10:17","nodeType":"VariableDeclaration","scope":17710,"src":"107374:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17702,"name":"string","nodeType":"ElementaryTypeName","src":"107374:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17705,"mutability":"mutable","name":"txHash","nameLocation":"107410:6:17","nodeType":"VariableDeclaration","scope":17710,"src":"107402:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107402:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"107373:44:17"},"returnParameters":{"id":17709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17708,"mutability":"mutable","name":"forkId","nameLocation":"107444:6:17","nodeType":"VariableDeclaration","scope":17710,"src":"107436:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17707,"name":"uint256","nodeType":"ElementaryTypeName","src":"107436:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"107435:16:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17718,"nodeType":"FunctionDefinition","src":"107587:88:17","nodes":[],"documentation":{"id":17711,"nodeType":"StructuredDocumentation","src":"107458:124:17","text":"Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork."},"functionSelector":"98680034","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"107596:16:17","parameters":{"id":17714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17713,"mutability":"mutable","name":"urlOrAlias","nameLocation":"107629:10:17","nodeType":"VariableDeclaration","scope":17718,"src":"107613:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17712,"name":"string","nodeType":"ElementaryTypeName","src":"107613:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"107612:28:17"},"returnParameters":{"id":17717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17716,"mutability":"mutable","name":"forkId","nameLocation":"107667:6:17","nodeType":"VariableDeclaration","scope":17718,"src":"107659:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17715,"name":"uint256","nodeType":"ElementaryTypeName","src":"107659:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"107658:16:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17728,"nodeType":"FunctionDefinition","src":"107799:109:17","nodes":[],"documentation":{"id":17719,"nodeType":"StructuredDocumentation","src":"107681:113:17","text":"Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork."},"functionSelector":"71ee464d","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"107808:16:17","parameters":{"id":17724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17721,"mutability":"mutable","name":"urlOrAlias","nameLocation":"107841:10:17","nodeType":"VariableDeclaration","scope":17728,"src":"107825:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17720,"name":"string","nodeType":"ElementaryTypeName","src":"107825:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17723,"mutability":"mutable","name":"blockNumber","nameLocation":"107861:11:17","nodeType":"VariableDeclaration","scope":17728,"src":"107853:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17722,"name":"uint256","nodeType":"ElementaryTypeName","src":"107853:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"107824:49:17"},"returnParameters":{"id":17727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17726,"mutability":"mutable","name":"forkId","nameLocation":"107900:6:17","nodeType":"VariableDeclaration","scope":17728,"src":"107892:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17725,"name":"uint256","nodeType":"ElementaryTypeName","src":"107892:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"107891:16:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17738,"nodeType":"FunctionDefinition","src":"108144:104:17","nodes":[],"documentation":{"id":17729,"nodeType":"StructuredDocumentation","src":"107914:225:17","text":"Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in,\n replays all transaction mined in the block before the transaction, returns the identifier of the fork."},"functionSelector":"84d52b7a","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"108153:16:17","parameters":{"id":17734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17731,"mutability":"mutable","name":"urlOrAlias","nameLocation":"108186:10:17","nodeType":"VariableDeclaration","scope":17738,"src":"108170:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17730,"name":"string","nodeType":"ElementaryTypeName","src":"108170:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17733,"mutability":"mutable","name":"txHash","nameLocation":"108206:6:17","nodeType":"VariableDeclaration","scope":17738,"src":"108198:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"108198:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"108169:44:17"},"returnParameters":{"id":17737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17736,"mutability":"mutable","name":"forkId","nameLocation":"108240:6:17","nodeType":"VariableDeclaration","scope":17738,"src":"108232:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17735,"name":"uint256","nodeType":"ElementaryTypeName","src":"108232:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"108231:16:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17746,"nodeType":"FunctionDefinition","src":"108288:60:17","nodes":[],"documentation":{"id":17739,"nodeType":"StructuredDocumentation","src":"108254:29:17","text":"Sets an address' balance."},"functionSelector":"c88a5e6d","implemented":false,"kind":"function","modifiers":[],"name":"deal","nameLocation":"108297:4:17","parameters":{"id":17744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17741,"mutability":"mutable","name":"account","nameLocation":"108310:7:17","nodeType":"VariableDeclaration","scope":17746,"src":"108302:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17740,"name":"address","nodeType":"ElementaryTypeName","src":"108302:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17743,"mutability":"mutable","name":"newBalance","nameLocation":"108327:10:17","nodeType":"VariableDeclaration","scope":17746,"src":"108319:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17742,"name":"uint256","nodeType":"ElementaryTypeName","src":"108319:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"108301:37:17"},"returnParameters":{"id":17745,"nodeType":"ParameterList","parameters":[],"src":"108347:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17754,"nodeType":"FunctionDefinition","src":"108586:81:17","nodes":[],"documentation":{"id":17747,"nodeType":"StructuredDocumentation","src":"108354:227:17","text":"Removes the snapshot with the given ID created by `snapshot`.\n Takes the snapshot ID to delete.\n Returns `true` if the snapshot was successfully deleted.\n Returns `false` if the snapshot does not exist."},"functionSelector":"08d6b37a","implemented":false,"kind":"function","modifiers":[],"name":"deleteStateSnapshot","nameLocation":"108595:19:17","parameters":{"id":17750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17749,"mutability":"mutable","name":"snapshotId","nameLocation":"108623:10:17","nodeType":"VariableDeclaration","scope":17754,"src":"108615:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17748,"name":"uint256","nodeType":"ElementaryTypeName","src":"108615:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"108614:20:17"},"returnParameters":{"id":17753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17752,"mutability":"mutable","name":"success","nameLocation":"108658:7:17","nodeType":"VariableDeclaration","scope":17754,"src":"108653:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17751,"name":"bool","nodeType":"ElementaryTypeName","src":"108653:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"108652:14:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17758,"nodeType":"FunctionDefinition","src":"108739:41:17","nodes":[],"documentation":{"id":17755,"nodeType":"StructuredDocumentation","src":"108673:61:17","text":"Removes _all_ snapshots previously created by `snapshot`."},"functionSelector":"e0933c74","implemented":false,"kind":"function","modifiers":[],"name":"deleteStateSnapshots","nameLocation":"108748:20:17","parameters":{"id":17756,"nodeType":"ParameterList","parameters":[],"src":"108768:2:17"},"returnParameters":{"id":17757,"nodeType":"ParameterList","parameters":[],"src":"108779:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17764,"nodeType":"FunctionDefinition","src":"108956:52:17","nodes":[],"documentation":{"id":17759,"nodeType":"StructuredDocumentation","src":"108786:165:17","text":"Sets `block.difficulty`.\n Not available on EVM versions from Paris onwards. Use `prevrandao` instead.\n Reverts if used on unsupported EVM versions."},"functionSelector":"46cc92d9","implemented":false,"kind":"function","modifiers":[],"name":"difficulty","nameLocation":"108965:10:17","parameters":{"id":17762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17761,"mutability":"mutable","name":"newDifficulty","nameLocation":"108984:13:17","nodeType":"VariableDeclaration","scope":17764,"src":"108976:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17760,"name":"uint256","nodeType":"ElementaryTypeName","src":"108976:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"108975:23:17"},"returnParameters":{"id":17763,"nodeType":"ParameterList","parameters":[],"src":"109007:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17770,"nodeType":"FunctionDefinition","src":"109067:61:17","nodes":[],"documentation":{"id":17765,"nodeType":"StructuredDocumentation","src":"109014:48:17","text":"Dump a genesis JSON file's `allocs` to disk."},"functionSelector":"709ecd3f","implemented":false,"kind":"function","modifiers":[],"name":"dumpState","nameLocation":"109076:9:17","parameters":{"id":17768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17767,"mutability":"mutable","name":"pathToStateJson","nameLocation":"109102:15:17","nodeType":"VariableDeclaration","scope":17770,"src":"109086:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17766,"name":"string","nodeType":"ElementaryTypeName","src":"109086:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"109085:33:17"},"returnParameters":{"id":17769,"nodeType":"ParameterList","parameters":[],"src":"109127:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17778,"nodeType":"FunctionDefinition","src":"109165:74:17","nodes":[],"documentation":{"id":17771,"nodeType":"StructuredDocumentation","src":"109134:26:17","text":"Sets an address' code."},"functionSelector":"b4d6c782","implemented":false,"kind":"function","modifiers":[],"name":"etch","nameLocation":"109174:4:17","parameters":{"id":17776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17773,"mutability":"mutable","name":"target","nameLocation":"109187:6:17","nodeType":"VariableDeclaration","scope":17778,"src":"109179:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17772,"name":"address","nodeType":"ElementaryTypeName","src":"109179:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17775,"mutability":"mutable","name":"newRuntimeBytecode","nameLocation":"109210:18:17","nodeType":"VariableDeclaration","scope":17778,"src":"109195:33:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17774,"name":"bytes","nodeType":"ElementaryTypeName","src":"109195:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"109178:51:17"},"returnParameters":{"id":17777,"nodeType":"ParameterList","parameters":[],"src":"109238:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17784,"nodeType":"FunctionDefinition","src":"109275:42:17","nodes":[],"documentation":{"id":17779,"nodeType":"StructuredDocumentation","src":"109245:25:17","text":"Sets `block.basefee`."},"functionSelector":"39b37ab0","implemented":false,"kind":"function","modifiers":[],"name":"fee","nameLocation":"109284:3:17","parameters":{"id":17782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17781,"mutability":"mutable","name":"newBasefee","nameLocation":"109296:10:17","nodeType":"VariableDeclaration","scope":17784,"src":"109288:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17780,"name":"uint256","nodeType":"ElementaryTypeName","src":"109288:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"109287:20:17"},"returnParameters":{"id":17783,"nodeType":"ParameterList","parameters":[],"src":"109316:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17791,"nodeType":"FunctionDefinition","src":"109495:73:17","nodes":[],"documentation":{"id":17785,"nodeType":"StructuredDocumentation","src":"109323:167:17","text":"Gets the blockhashes from the current transaction.\n Not available on EVM versions before Cancun.\n If used on unsupported EVM versions it will revert."},"functionSelector":"f56ff18b","implemented":false,"kind":"function","modifiers":[],"name":"getBlobhashes","nameLocation":"109504:13:17","parameters":{"id":17786,"nodeType":"ParameterList","parameters":[],"src":"109517:2:17"},"returnParameters":{"id":17790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17789,"mutability":"mutable","name":"hashes","nameLocation":"109560:6:17","nodeType":"VariableDeclaration","scope":17791,"src":"109543:23:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109543:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17788,"nodeType":"ArrayTypeName","src":"109543:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"109542:25:17"},"scope":18679,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17799,"nodeType":"FunctionDefinition","src":"109635:79:17","nodes":[],"documentation":{"id":17792,"nodeType":"StructuredDocumentation","src":"109574:56:17","text":"Returns true if the account is marked as persistent."},"functionSelector":"d92d8efd","implemented":false,"kind":"function","modifiers":[],"name":"isPersistent","nameLocation":"109644:12:17","parameters":{"id":17795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17794,"mutability":"mutable","name":"account","nameLocation":"109665:7:17","nodeType":"VariableDeclaration","scope":17799,"src":"109657:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17793,"name":"address","nodeType":"ElementaryTypeName","src":"109657:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"109656:17:17"},"returnParameters":{"id":17798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17797,"mutability":"mutable","name":"persistent","nameLocation":"109702:10:17","nodeType":"VariableDeclaration","scope":17799,"src":"109697:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17796,"name":"bool","nodeType":"ElementaryTypeName","src":"109697:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"109696:17:17"},"scope":18679,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17805,"nodeType":"FunctionDefinition","src":"109794:63:17","nodes":[],"documentation":{"id":17800,"nodeType":"StructuredDocumentation","src":"109720:69:17","text":"Load a genesis JSON file's `allocs` into the in-memory EVM state."},"functionSelector":"b3a056d7","implemented":false,"kind":"function","modifiers":[],"name":"loadAllocs","nameLocation":"109803:10:17","parameters":{"id":17803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17802,"mutability":"mutable","name":"pathToAllocsJson","nameLocation":"109830:16:17","nodeType":"VariableDeclaration","scope":17805,"src":"109814:32:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17801,"name":"string","nodeType":"ElementaryTypeName","src":"109814:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"109813:34:17"},"returnParameters":{"id":17804,"nodeType":"ParameterList","parameters":[],"src":"109856:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17811,"nodeType":"FunctionDefinition","src":"110060:50:17","nodes":[],"documentation":{"id":17806,"nodeType":"StructuredDocumentation","src":"109863:192:17","text":"Marks that the account(s) should use persistent storage across fork swaps in a multifork setup\n Meaning, changes made to the state of this account will be kept when switching forks."},"functionSelector":"57e22dde","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"110069:14:17","parameters":{"id":17809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17808,"mutability":"mutable","name":"account","nameLocation":"110092:7:17","nodeType":"VariableDeclaration","scope":17811,"src":"110084:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17807,"name":"address","nodeType":"ElementaryTypeName","src":"110084:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"110083:17:17"},"returnParameters":{"id":17810,"nodeType":"ParameterList","parameters":[],"src":"110109:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17819,"nodeType":"FunctionDefinition","src":"110155:69:17","nodes":[],"documentation":{"id":17812,"nodeType":"StructuredDocumentation","src":"110116:34:17","text":"See `makePersistent(address)`."},"functionSelector":"4074e0a8","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"110164:14:17","parameters":{"id":17817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17814,"mutability":"mutable","name":"account0","nameLocation":"110187:8:17","nodeType":"VariableDeclaration","scope":17819,"src":"110179:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17813,"name":"address","nodeType":"ElementaryTypeName","src":"110179:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17816,"mutability":"mutable","name":"account1","nameLocation":"110205:8:17","nodeType":"VariableDeclaration","scope":17819,"src":"110197:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17815,"name":"address","nodeType":"ElementaryTypeName","src":"110197:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"110178:36:17"},"returnParameters":{"id":17818,"nodeType":"ParameterList","parameters":[],"src":"110223:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17829,"nodeType":"FunctionDefinition","src":"110269:87:17","nodes":[],"documentation":{"id":17820,"nodeType":"StructuredDocumentation","src":"110230:34:17","text":"See `makePersistent(address)`."},"functionSelector":"efb77a75","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"110278:14:17","parameters":{"id":17827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17822,"mutability":"mutable","name":"account0","nameLocation":"110301:8:17","nodeType":"VariableDeclaration","scope":17829,"src":"110293:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17821,"name":"address","nodeType":"ElementaryTypeName","src":"110293:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17824,"mutability":"mutable","name":"account1","nameLocation":"110319:8:17","nodeType":"VariableDeclaration","scope":17829,"src":"110311:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17823,"name":"address","nodeType":"ElementaryTypeName","src":"110311:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17826,"mutability":"mutable","name":"account2","nameLocation":"110337:8:17","nodeType":"VariableDeclaration","scope":17829,"src":"110329:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17825,"name":"address","nodeType":"ElementaryTypeName","src":"110329:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"110292:54:17"},"returnParameters":{"id":17828,"nodeType":"ParameterList","parameters":[],"src":"110355:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17836,"nodeType":"FunctionDefinition","src":"110401:62:17","nodes":[],"documentation":{"id":17830,"nodeType":"StructuredDocumentation","src":"110362:34:17","text":"See `makePersistent(address)`."},"functionSelector":"1d9e269e","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"110410:14:17","parameters":{"id":17834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17833,"mutability":"mutable","name":"accounts","nameLocation":"110444:8:17","nodeType":"VariableDeclaration","scope":17836,"src":"110425:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":17831,"name":"address","nodeType":"ElementaryTypeName","src":"110425:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17832,"nodeType":"ArrayTypeName","src":"110425:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"110424:29:17"},"returnParameters":{"id":17835,"nodeType":"ParameterList","parameters":[],"src":"110462:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17846,"nodeType":"FunctionDefinition","src":"110534:97:17","nodes":[],"documentation":{"id":17837,"nodeType":"StructuredDocumentation","src":"110469:60:17","text":"Reverts a call to an address with specified revert data."},"functionSelector":"dbaad147","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"110543:14:17","parameters":{"id":17844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17839,"mutability":"mutable","name":"callee","nameLocation":"110566:6:17","nodeType":"VariableDeclaration","scope":17846,"src":"110558:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17838,"name":"address","nodeType":"ElementaryTypeName","src":"110558:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17841,"mutability":"mutable","name":"data","nameLocation":"110589:4:17","nodeType":"VariableDeclaration","scope":17846,"src":"110574:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17840,"name":"bytes","nodeType":"ElementaryTypeName","src":"110574:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17843,"mutability":"mutable","name":"revertData","nameLocation":"110610:10:17","nodeType":"VariableDeclaration","scope":17846,"src":"110595:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17842,"name":"bytes","nodeType":"ElementaryTypeName","src":"110595:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"110557:64:17"},"returnParameters":{"id":17845,"nodeType":"ParameterList","parameters":[],"src":"110630:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17858,"nodeType":"FunctionDefinition","src":"110731:123:17","nodes":[],"documentation":{"id":17847,"nodeType":"StructuredDocumentation","src":"110637:89:17","text":"Reverts a call to an address with a specific `msg.value`, with specified revert data."},"functionSelector":"d23cd037","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"110740:14:17","parameters":{"id":17856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17849,"mutability":"mutable","name":"callee","nameLocation":"110763:6:17","nodeType":"VariableDeclaration","scope":17858,"src":"110755:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17848,"name":"address","nodeType":"ElementaryTypeName","src":"110755:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17851,"mutability":"mutable","name":"msgValue","nameLocation":"110779:8:17","nodeType":"VariableDeclaration","scope":17858,"src":"110771:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17850,"name":"uint256","nodeType":"ElementaryTypeName","src":"110771:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17853,"mutability":"mutable","name":"data","nameLocation":"110804:4:17","nodeType":"VariableDeclaration","scope":17858,"src":"110789:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17852,"name":"bytes","nodeType":"ElementaryTypeName","src":"110789:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17855,"mutability":"mutable","name":"revertData","nameLocation":"110825:10:17","nodeType":"VariableDeclaration","scope":17858,"src":"110810:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17854,"name":"bytes","nodeType":"ElementaryTypeName","src":"110810:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"110754:82:17"},"returnParameters":{"id":17857,"nodeType":"ParameterList","parameters":[],"src":"110853:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17868,"nodeType":"FunctionDefinition","src":"111067:89:17","nodes":[],"documentation":{"id":17859,"nodeType":"StructuredDocumentation","src":"110860:202:17","text":"Reverts a call to an address with specified revert data.\n Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"functionSelector":"2dfba5df","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"111076:14:17","parameters":{"id":17866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17861,"mutability":"mutable","name":"callee","nameLocation":"111099:6:17","nodeType":"VariableDeclaration","scope":17868,"src":"111091:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17860,"name":"address","nodeType":"ElementaryTypeName","src":"111091:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17863,"mutability":"mutable","name":"data","nameLocation":"111114:4:17","nodeType":"VariableDeclaration","scope":17868,"src":"111107:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17862,"name":"bytes4","nodeType":"ElementaryTypeName","src":"111107:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17865,"mutability":"mutable","name":"revertData","nameLocation":"111135:10:17","nodeType":"VariableDeclaration","scope":17868,"src":"111120:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17864,"name":"bytes","nodeType":"ElementaryTypeName","src":"111120:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"111090:56:17"},"returnParameters":{"id":17867,"nodeType":"ParameterList","parameters":[],"src":"111155:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17880,"nodeType":"FunctionDefinition","src":"111398:107:17","nodes":[],"documentation":{"id":17869,"nodeType":"StructuredDocumentation","src":"111162:231:17","text":"Reverts a call to an address with a specific `msg.value`, with specified revert data.\n Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"functionSelector":"596c8f04","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"111407:14:17","parameters":{"id":17878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17871,"mutability":"mutable","name":"callee","nameLocation":"111430:6:17","nodeType":"VariableDeclaration","scope":17880,"src":"111422:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17870,"name":"address","nodeType":"ElementaryTypeName","src":"111422:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17873,"mutability":"mutable","name":"msgValue","nameLocation":"111446:8:17","nodeType":"VariableDeclaration","scope":17880,"src":"111438:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17872,"name":"uint256","nodeType":"ElementaryTypeName","src":"111438:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17875,"mutability":"mutable","name":"data","nameLocation":"111463:4:17","nodeType":"VariableDeclaration","scope":17880,"src":"111456:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17874,"name":"bytes4","nodeType":"ElementaryTypeName","src":"111456:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17877,"mutability":"mutable","name":"revertData","nameLocation":"111484:10:17","nodeType":"VariableDeclaration","scope":17880,"src":"111469:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17876,"name":"bytes","nodeType":"ElementaryTypeName","src":"111469:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"111421:74:17"},"returnParameters":{"id":17879,"nodeType":"ParameterList","parameters":[],"src":"111504:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17890,"nodeType":"FunctionDefinition","src":"111765:91:17","nodes":[],"documentation":{"id":17881,"nodeType":"StructuredDocumentation","src":"111511:249:17","text":"Mocks a call to an address, returning specified data.\n Calldata can either be strict or a partial match, e.g. if you only\n pass a Solidity selector to the expected calldata, then the entire Solidity\n function will be mocked."},"functionSelector":"b96213e4","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"111774:8:17","parameters":{"id":17888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17883,"mutability":"mutable","name":"callee","nameLocation":"111791:6:17","nodeType":"VariableDeclaration","scope":17890,"src":"111783:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17882,"name":"address","nodeType":"ElementaryTypeName","src":"111783:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17885,"mutability":"mutable","name":"data","nameLocation":"111814:4:17","nodeType":"VariableDeclaration","scope":17890,"src":"111799:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17884,"name":"bytes","nodeType":"ElementaryTypeName","src":"111799:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17887,"mutability":"mutable","name":"returnData","nameLocation":"111835:10:17","nodeType":"VariableDeclaration","scope":17890,"src":"111820:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17886,"name":"bytes","nodeType":"ElementaryTypeName","src":"111820:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"111782:64:17"},"returnParameters":{"id":17889,"nodeType":"ParameterList","parameters":[],"src":"111855:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17902,"nodeType":"FunctionDefinition","src":"112031:109:17","nodes":[],"documentation":{"id":17891,"nodeType":"StructuredDocumentation","src":"111862:164:17","text":"Mocks a call to an address with a specific `msg.value`, returning specified data.\n Calldata match takes precedence over `msg.value` in case of ambiguity."},"functionSelector":"81409b91","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"112040:8:17","parameters":{"id":17900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17893,"mutability":"mutable","name":"callee","nameLocation":"112057:6:17","nodeType":"VariableDeclaration","scope":17902,"src":"112049:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17892,"name":"address","nodeType":"ElementaryTypeName","src":"112049:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17895,"mutability":"mutable","name":"msgValue","nameLocation":"112073:8:17","nodeType":"VariableDeclaration","scope":17902,"src":"112065:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17894,"name":"uint256","nodeType":"ElementaryTypeName","src":"112065:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17897,"mutability":"mutable","name":"data","nameLocation":"112098:4:17","nodeType":"VariableDeclaration","scope":17902,"src":"112083:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17896,"name":"bytes","nodeType":"ElementaryTypeName","src":"112083:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17899,"mutability":"mutable","name":"returnData","nameLocation":"112119:10:17","nodeType":"VariableDeclaration","scope":17902,"src":"112104:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17898,"name":"bytes","nodeType":"ElementaryTypeName","src":"112104:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"112048:82:17"},"returnParameters":{"id":17901,"nodeType":"ParameterList","parameters":[],"src":"112139:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17912,"nodeType":"FunctionDefinition","src":"112542:83:17","nodes":[],"documentation":{"id":17903,"nodeType":"StructuredDocumentation","src":"112146:391:17","text":"Mocks a call to an address, returning specified data.\n Calldata can either be strict or a partial match, e.g. if you only\n pass a Solidity selector to the expected calldata, then the entire Solidity\n function will be mocked.\n Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"functionSelector":"08e0c537","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"112551:8:17","parameters":{"id":17910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17905,"mutability":"mutable","name":"callee","nameLocation":"112568:6:17","nodeType":"VariableDeclaration","scope":17912,"src":"112560:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17904,"name":"address","nodeType":"ElementaryTypeName","src":"112560:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17907,"mutability":"mutable","name":"data","nameLocation":"112583:4:17","nodeType":"VariableDeclaration","scope":17912,"src":"112576:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17906,"name":"bytes4","nodeType":"ElementaryTypeName","src":"112576:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17909,"mutability":"mutable","name":"returnData","nameLocation":"112604:10:17","nodeType":"VariableDeclaration","scope":17912,"src":"112589:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17908,"name":"bytes","nodeType":"ElementaryTypeName","src":"112589:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"112559:56:17"},"returnParameters":{"id":17911,"nodeType":"ParameterList","parameters":[],"src":"112624:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17924,"nodeType":"FunctionDefinition","src":"112942:101:17","nodes":[],"documentation":{"id":17913,"nodeType":"StructuredDocumentation","src":"112631:306:17","text":"Mocks a call to an address with a specific `msg.value`, returning specified data.\n Calldata match takes precedence over `msg.value` in case of ambiguity.\n Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"functionSelector":"e7b36a3d","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"112951:8:17","parameters":{"id":17922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17915,"mutability":"mutable","name":"callee","nameLocation":"112968:6:17","nodeType":"VariableDeclaration","scope":17924,"src":"112960:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17914,"name":"address","nodeType":"ElementaryTypeName","src":"112960:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17917,"mutability":"mutable","name":"msgValue","nameLocation":"112984:8:17","nodeType":"VariableDeclaration","scope":17924,"src":"112976:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17916,"name":"uint256","nodeType":"ElementaryTypeName","src":"112976:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17919,"mutability":"mutable","name":"data","nameLocation":"113001:4:17","nodeType":"VariableDeclaration","scope":17924,"src":"112994:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17918,"name":"bytes4","nodeType":"ElementaryTypeName","src":"112994:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17921,"mutability":"mutable","name":"returnData","nameLocation":"113022:10:17","nodeType":"VariableDeclaration","scope":17924,"src":"113007:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17920,"name":"bytes","nodeType":"ElementaryTypeName","src":"113007:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"112959:74:17"},"returnParameters":{"id":17923,"nodeType":"ParameterList","parameters":[],"src":"113042:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17935,"nodeType":"FunctionDefinition","src":"113133:94:17","nodes":[],"documentation":{"id":17925,"nodeType":"StructuredDocumentation","src":"113049:79:17","text":"Mocks multiple calls to an address, returning specified data for each call."},"functionSelector":"5c5c3de9","implemented":false,"kind":"function","modifiers":[],"name":"mockCalls","nameLocation":"113142:9:17","parameters":{"id":17933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17927,"mutability":"mutable","name":"callee","nameLocation":"113160:6:17","nodeType":"VariableDeclaration","scope":17935,"src":"113152:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17926,"name":"address","nodeType":"ElementaryTypeName","src":"113152:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17929,"mutability":"mutable","name":"data","nameLocation":"113183:4:17","nodeType":"VariableDeclaration","scope":17935,"src":"113168:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17928,"name":"bytes","nodeType":"ElementaryTypeName","src":"113168:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17932,"mutability":"mutable","name":"returnData","nameLocation":"113206:10:17","nodeType":"VariableDeclaration","scope":17935,"src":"113189:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":17930,"name":"bytes","nodeType":"ElementaryTypeName","src":"113189:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":17931,"nodeType":"ArrayTypeName","src":"113189:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"113151:66:17"},"returnParameters":{"id":17934,"nodeType":"ParameterList","parameters":[],"src":"113226:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17948,"nodeType":"FunctionDefinition","src":"113345:112:17","nodes":[],"documentation":{"id":17936,"nodeType":"StructuredDocumentation","src":"113233:107:17","text":"Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call."},"functionSelector":"08bcbae1","implemented":false,"kind":"function","modifiers":[],"name":"mockCalls","nameLocation":"113354:9:17","parameters":{"id":17946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17938,"mutability":"mutable","name":"callee","nameLocation":"113372:6:17","nodeType":"VariableDeclaration","scope":17948,"src":"113364:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17937,"name":"address","nodeType":"ElementaryTypeName","src":"113364:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17940,"mutability":"mutable","name":"msgValue","nameLocation":"113388:8:17","nodeType":"VariableDeclaration","scope":17948,"src":"113380:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17939,"name":"uint256","nodeType":"ElementaryTypeName","src":"113380:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17942,"mutability":"mutable","name":"data","nameLocation":"113413:4:17","nodeType":"VariableDeclaration","scope":17948,"src":"113398:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17941,"name":"bytes","nodeType":"ElementaryTypeName","src":"113398:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17945,"mutability":"mutable","name":"returnData","nameLocation":"113436:10:17","nodeType":"VariableDeclaration","scope":17948,"src":"113419:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":17943,"name":"bytes","nodeType":"ElementaryTypeName","src":"113419:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":17944,"nodeType":"ArrayTypeName","src":"113419:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"113363:84:17"},"returnParameters":{"id":17947,"nodeType":"ParameterList","parameters":[],"src":"113456:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17958,"nodeType":"FunctionDefinition","src":"113963:84:17","nodes":[],"documentation":{"id":17949,"nodeType":"StructuredDocumentation","src":"113463:495:17","text":"Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls\n `target` with the same calldata. This functionality is similar to a delegate call made to\n `target` contract from `callee`.\n Can be used to substitute a call to a function with another implementation that captures\n the primary logic of the original function but is easier to reason about.\n If calldata is not a strict match then partial match by selector is attempted."},"functionSelector":"adf84d21","implemented":false,"kind":"function","modifiers":[],"name":"mockFunction","nameLocation":"113972:12:17","parameters":{"id":17956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17951,"mutability":"mutable","name":"callee","nameLocation":"113993:6:17","nodeType":"VariableDeclaration","scope":17958,"src":"113985:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17950,"name":"address","nodeType":"ElementaryTypeName","src":"113985:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17953,"mutability":"mutable","name":"target","nameLocation":"114009:6:17","nodeType":"VariableDeclaration","scope":17958,"src":"114001:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17952,"name":"address","nodeType":"ElementaryTypeName","src":"114001:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17955,"mutability":"mutable","name":"data","nameLocation":"114032:4:17","nodeType":"VariableDeclaration","scope":17958,"src":"114017:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17954,"name":"bytes","nodeType":"ElementaryTypeName","src":"114017:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"113984:53:17"},"returnParameters":{"id":17957,"nodeType":"ParameterList","parameters":[],"src":"114046:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17962,"nodeType":"FunctionDefinition","src":"114145:33:17","nodes":[],"documentation":{"id":17959,"nodeType":"StructuredDocumentation","src":"114053:87:17","text":"Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode."},"functionSelector":"238ad778","implemented":false,"kind":"function","modifiers":[],"name":"noAccessList","nameLocation":"114154:12:17","parameters":{"id":17960,"nodeType":"ParameterList","parameters":[],"src":"114166:2:17"},"returnParameters":{"id":17961,"nodeType":"ParameterList","parameters":[],"src":"114177:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17968,"nodeType":"FunctionDefinition","src":"114253:43:17","nodes":[],"documentation":{"id":17963,"nodeType":"StructuredDocumentation","src":"114184:64:17","text":"Sets the *next* call's `msg.sender` to be the input address."},"functionSelector":"ca669fa7","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"114262:5:17","parameters":{"id":17966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17965,"mutability":"mutable","name":"msgSender","nameLocation":"114276:9:17","nodeType":"VariableDeclaration","scope":17968,"src":"114268:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17964,"name":"address","nodeType":"ElementaryTypeName","src":"114268:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"114267:19:17"},"returnParameters":{"id":17967,"nodeType":"ParameterList","parameters":[],"src":"114295:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17976,"nodeType":"FunctionDefinition","src":"114415:61:17","nodes":[],"documentation":{"id":17969,"nodeType":"StructuredDocumentation","src":"114302:108:17","text":"Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input."},"functionSelector":"47e50cce","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"114424:5:17","parameters":{"id":17974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17971,"mutability":"mutable","name":"msgSender","nameLocation":"114438:9:17","nodeType":"VariableDeclaration","scope":17976,"src":"114430:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17970,"name":"address","nodeType":"ElementaryTypeName","src":"114430:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17973,"mutability":"mutable","name":"txOrigin","nameLocation":"114457:8:17","nodeType":"VariableDeclaration","scope":17976,"src":"114449:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17972,"name":"address","nodeType":"ElementaryTypeName","src":"114449:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"114429:37:17"},"returnParameters":{"id":17975,"nodeType":"ParameterList","parameters":[],"src":"114475:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17984,"nodeType":"FunctionDefinition","src":"114560:62:17","nodes":[],"documentation":{"id":17977,"nodeType":"StructuredDocumentation","src":"114482:73:17","text":"Sets the *next* delegate call's `msg.sender` to be the input address."},"functionSelector":"a7f8bf5c","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"114569:5:17","parameters":{"id":17982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17979,"mutability":"mutable","name":"msgSender","nameLocation":"114583:9:17","nodeType":"VariableDeclaration","scope":17984,"src":"114575:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17978,"name":"address","nodeType":"ElementaryTypeName","src":"114575:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17981,"mutability":"mutable","name":"delegateCall","nameLocation":"114599:12:17","nodeType":"VariableDeclaration","scope":17984,"src":"114594:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17980,"name":"bool","nodeType":"ElementaryTypeName","src":"114594:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"114574:38:17"},"returnParameters":{"id":17983,"nodeType":"ParameterList","parameters":[],"src":"114621:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17994,"nodeType":"FunctionDefinition","src":"114750:80:17","nodes":[],"documentation":{"id":17985,"nodeType":"StructuredDocumentation","src":"114628:117:17","text":"Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input."},"functionSelector":"7d73d042","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"114759:5:17","parameters":{"id":17992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17987,"mutability":"mutable","name":"msgSender","nameLocation":"114773:9:17","nodeType":"VariableDeclaration","scope":17994,"src":"114765:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17986,"name":"address","nodeType":"ElementaryTypeName","src":"114765:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17989,"mutability":"mutable","name":"txOrigin","nameLocation":"114792:8:17","nodeType":"VariableDeclaration","scope":17994,"src":"114784:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17988,"name":"address","nodeType":"ElementaryTypeName","src":"114784:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17991,"mutability":"mutable","name":"delegateCall","nameLocation":"114807:12:17","nodeType":"VariableDeclaration","scope":17994,"src":"114802:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17990,"name":"bool","nodeType":"ElementaryTypeName","src":"114802:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"114764:56:17"},"returnParameters":{"id":17993,"nodeType":"ParameterList","parameters":[],"src":"114829:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18000,"nodeType":"FunctionDefinition","src":"115007:52:17","nodes":[],"documentation":{"id":17995,"nodeType":"StructuredDocumentation","src":"114836:166:17","text":"Sets `block.prevrandao`.\n Not available on EVM versions before Paris. Use `difficulty` instead.\n If used on unsupported EVM versions it will revert."},"functionSelector":"3b925549","implemented":false,"kind":"function","modifiers":[],"name":"prevrandao","nameLocation":"115016:10:17","parameters":{"id":17998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17997,"mutability":"mutable","name":"newPrevrandao","nameLocation":"115035:13:17","nodeType":"VariableDeclaration","scope":18000,"src":"115027:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115027:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"115026:23:17"},"returnParameters":{"id":17999,"nodeType":"ParameterList","parameters":[],"src":"115058:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18006,"nodeType":"FunctionDefinition","src":"115236:52:17","nodes":[],"documentation":{"id":18001,"nodeType":"StructuredDocumentation","src":"115065:166:17","text":"Sets `block.prevrandao`.\n Not available on EVM versions before Paris. Use `difficulty` instead.\n If used on unsupported EVM versions it will revert."},"functionSelector":"9cb1c0d4","implemented":false,"kind":"function","modifiers":[],"name":"prevrandao","nameLocation":"115245:10:17","parameters":{"id":18004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18003,"mutability":"mutable","name":"newPrevrandao","nameLocation":"115264:13:17","nodeType":"VariableDeclaration","scope":18006,"src":"115256:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18002,"name":"uint256","nodeType":"ElementaryTypeName","src":"115256:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"115255:23:17"},"returnParameters":{"id":18005,"nodeType":"ParameterList","parameters":[],"src":"115287:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18017,"nodeType":"FunctionDefinition","src":"115416:106:17","nodes":[],"documentation":{"id":18007,"nodeType":"StructuredDocumentation","src":"115294:117:17","text":"Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification."},"functionSelector":"4ad0bac9","implemented":false,"kind":"function","modifiers":[],"name":"readCallers","nameLocation":"115425:11:17","parameters":{"id":18008,"nodeType":"ParameterList","parameters":[],"src":"115436:2:17"},"returnParameters":{"id":18016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18011,"mutability":"mutable","name":"callerMode","nameLocation":"115473:10:17","nodeType":"VariableDeclaration","scope":18017,"src":"115462:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$13485","typeString":"enum VmSafe.CallerMode"},"typeName":{"id":18010,"nodeType":"UserDefinedTypeName","pathNode":{"id":18009,"name":"CallerMode","nameLocations":["115462:10:17"],"nodeType":"IdentifierPath","referencedDeclaration":13485,"src":"115462:10:17"},"referencedDeclaration":13485,"src":"115462:10:17","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$13485","typeString":"enum VmSafe.CallerMode"}},"visibility":"internal"},{"constant":false,"id":18013,"mutability":"mutable","name":"msgSender","nameLocation":"115493:9:17","nodeType":"VariableDeclaration","scope":18017,"src":"115485:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18012,"name":"address","nodeType":"ElementaryTypeName","src":"115485:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18015,"mutability":"mutable","name":"txOrigin","nameLocation":"115512:8:17","nodeType":"VariableDeclaration","scope":18017,"src":"115504:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18014,"name":"address","nodeType":"ElementaryTypeName","src":"115504:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"115461:60:17"},"scope":18679,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":18023,"nodeType":"FunctionDefinition","src":"115610:46:17","nodes":[],"documentation":{"id":18018,"nodeType":"StructuredDocumentation","src":"115528:77:17","text":"Resets the nonce of an account to 0 for EOAs and 1 for contract accounts."},"functionSelector":"1c72346d","implemented":false,"kind":"function","modifiers":[],"name":"resetNonce","nameLocation":"115619:10:17","parameters":{"id":18021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18020,"mutability":"mutable","name":"account","nameLocation":"115638:7:17","nodeType":"VariableDeclaration","scope":18023,"src":"115630:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18019,"name":"address","nodeType":"ElementaryTypeName","src":"115630:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"115629:17:17"},"returnParameters":{"id":18022,"nodeType":"ParameterList","parameters":[],"src":"115655:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18031,"nodeType":"FunctionDefinition","src":"116004:75:17","nodes":[],"documentation":{"id":18024,"nodeType":"StructuredDocumentation","src":"115662:337:17","text":"Revert the state of the EVM to a previous snapshot\n Takes the snapshot ID to revert to.\n Returns `true` if the snapshot was successfully reverted.\n Returns `false` if the snapshot does not exist.\n **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`."},"functionSelector":"c2527405","implemented":false,"kind":"function","modifiers":[],"name":"revertToState","nameLocation":"116013:13:17","parameters":{"id":18027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18026,"mutability":"mutable","name":"snapshotId","nameLocation":"116035:10:17","nodeType":"VariableDeclaration","scope":18031,"src":"116027:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18025,"name":"uint256","nodeType":"ElementaryTypeName","src":"116027:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"116026:20:17"},"returnParameters":{"id":18030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18029,"mutability":"mutable","name":"success","nameLocation":"116070:7:17","nodeType":"VariableDeclaration","scope":18031,"src":"116065:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18028,"name":"bool","nodeType":"ElementaryTypeName","src":"116065:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"116064:14:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18039,"nodeType":"FunctionDefinition","src":"116362:84:17","nodes":[],"documentation":{"id":18032,"nodeType":"StructuredDocumentation","src":"116085:272:17","text":"Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots\n Takes the snapshot ID to revert to.\n Returns `true` if the snapshot was successfully reverted and deleted.\n Returns `false` if the snapshot does not exist."},"functionSelector":"3a1985dc","implemented":false,"kind":"function","modifiers":[],"name":"revertToStateAndDelete","nameLocation":"116371:22:17","parameters":{"id":18035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18034,"mutability":"mutable","name":"snapshotId","nameLocation":"116402:10:17","nodeType":"VariableDeclaration","scope":18039,"src":"116394:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18033,"name":"uint256","nodeType":"ElementaryTypeName","src":"116394:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"116393:20:17"},"returnParameters":{"id":18038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18037,"mutability":"mutable","name":"success","nameLocation":"116437:7:17","nodeType":"VariableDeclaration","scope":18039,"src":"116432:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18036,"name":"bool","nodeType":"ElementaryTypeName","src":"116432:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"116431:14:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18045,"nodeType":"FunctionDefinition","src":"116543:52:17","nodes":[],"documentation":{"id":18040,"nodeType":"StructuredDocumentation","src":"116452:86:17","text":"Revokes persistent status from the address, previously added via `makePersistent`."},"functionSelector":"997a0222","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"116552:16:17","parameters":{"id":18043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18042,"mutability":"mutable","name":"account","nameLocation":"116577:7:17","nodeType":"VariableDeclaration","scope":18045,"src":"116569:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18041,"name":"address","nodeType":"ElementaryTypeName","src":"116569:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"116568:17:17"},"returnParameters":{"id":18044,"nodeType":"ParameterList","parameters":[],"src":"116594:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18052,"nodeType":"FunctionDefinition","src":"116642:64:17","nodes":[],"documentation":{"id":18046,"nodeType":"StructuredDocumentation","src":"116601:36:17","text":"See `revokePersistent(address)`."},"functionSelector":"3ce969e6","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"116651:16:17","parameters":{"id":18050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18049,"mutability":"mutable","name":"accounts","nameLocation":"116687:8:17","nodeType":"VariableDeclaration","scope":18052,"src":"116668:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":18047,"name":"address","nodeType":"ElementaryTypeName","src":"116668:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":18048,"nodeType":"ArrayTypeName","src":"116668:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"116667:29:17"},"returnParameters":{"id":18051,"nodeType":"ParameterList","parameters":[],"src":"116705:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18058,"nodeType":"FunctionDefinition","src":"116741:42:17","nodes":[],"documentation":{"id":18053,"nodeType":"StructuredDocumentation","src":"116712:24:17","text":"Sets `block.height`."},"functionSelector":"1f7b4f30","implemented":false,"kind":"function","modifiers":[],"name":"roll","nameLocation":"116750:4:17","parameters":{"id":18056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18055,"mutability":"mutable","name":"newHeight","nameLocation":"116763:9:17","nodeType":"VariableDeclaration","scope":18058,"src":"116755:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18054,"name":"uint256","nodeType":"ElementaryTypeName","src":"116755:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"116754:19:17"},"returnParameters":{"id":18057,"nodeType":"ParameterList","parameters":[],"src":"116782:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18064,"nodeType":"FunctionDefinition","src":"116922:48:17","nodes":[],"documentation":{"id":18059,"nodeType":"StructuredDocumentation","src":"116789:128:17","text":"Updates the currently active fork to given block number\n This is similar to `roll` but for the currently active fork."},"functionSelector":"d9bbf3a1","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"116931:8:17","parameters":{"id":18062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18061,"mutability":"mutable","name":"blockNumber","nameLocation":"116948:11:17","nodeType":"VariableDeclaration","scope":18064,"src":"116940:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18060,"name":"uint256","nodeType":"ElementaryTypeName","src":"116940:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"116939:21:17"},"returnParameters":{"id":18063,"nodeType":"ParameterList","parameters":[],"src":"116969:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18070,"nodeType":"FunctionDefinition","src":"117185:43:17","nodes":[],"documentation":{"id":18065,"nodeType":"StructuredDocumentation","src":"116976:204:17","text":"Updates the currently active fork to given transaction. This will `rollFork` with the number\n of the block the transaction was mined in and replays all transaction mined before it in the block."},"functionSelector":"0f29772b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"117194:8:17","parameters":{"id":18068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18067,"mutability":"mutable","name":"txHash","nameLocation":"117211:6:17","nodeType":"VariableDeclaration","scope":18070,"src":"117203:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117203:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"117202:16:17"},"returnParameters":{"id":18069,"nodeType":"ParameterList","parameters":[],"src":"117227:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18078,"nodeType":"FunctionDefinition","src":"117288:64:17","nodes":[],"documentation":{"id":18071,"nodeType":"StructuredDocumentation","src":"117234:49:17","text":"Updates the given fork to given block number."},"functionSelector":"d74c83a4","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"117297:8:17","parameters":{"id":18076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18073,"mutability":"mutable","name":"forkId","nameLocation":"117314:6:17","nodeType":"VariableDeclaration","scope":18078,"src":"117306:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18072,"name":"uint256","nodeType":"ElementaryTypeName","src":"117306:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18075,"mutability":"mutable","name":"blockNumber","nameLocation":"117330:11:17","nodeType":"VariableDeclaration","scope":18078,"src":"117322:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18074,"name":"uint256","nodeType":"ElementaryTypeName","src":"117322:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"117305:37:17"},"returnParameters":{"id":18077,"nodeType":"ParameterList","parameters":[],"src":"117351:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18086,"nodeType":"FunctionDefinition","src":"117488:59:17","nodes":[],"documentation":{"id":18079,"nodeType":"StructuredDocumentation","src":"117358:125:17","text":"Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block."},"functionSelector":"f2830f7b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"117497:8:17","parameters":{"id":18084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18081,"mutability":"mutable","name":"forkId","nameLocation":"117514:6:17","nodeType":"VariableDeclaration","scope":18086,"src":"117506:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18080,"name":"uint256","nodeType":"ElementaryTypeName","src":"117506:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18083,"mutability":"mutable","name":"txHash","nameLocation":"117530:6:17","nodeType":"VariableDeclaration","scope":18086,"src":"117522:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117522:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"117505:32:17"},"returnParameters":{"id":18085,"nodeType":"ParameterList","parameters":[],"src":"117546:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18092,"nodeType":"FunctionDefinition","src":"117660:45:17","nodes":[],"documentation":{"id":18087,"nodeType":"StructuredDocumentation","src":"117553:102:17","text":"Takes a fork identifier created by `createFork` and sets the corresponding forked state as active."},"functionSelector":"9ebf6827","implemented":false,"kind":"function","modifiers":[],"name":"selectFork","nameLocation":"117669:10:17","parameters":{"id":18090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18089,"mutability":"mutable","name":"forkId","nameLocation":"117688:6:17","nodeType":"VariableDeclaration","scope":18092,"src":"117680:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18088,"name":"uint256","nodeType":"ElementaryTypeName","src":"117680:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"117679:16:17"},"returnParameters":{"id":18091,"nodeType":"ParameterList","parameters":[],"src":"117704:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18100,"nodeType":"FunctionDefinition","src":"117855:71:17","nodes":[],"documentation":{"id":18093,"nodeType":"StructuredDocumentation","src":"117711:139:17","text":"Set blockhash for the current block.\n It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`."},"functionSelector":"5314b54a","implemented":false,"kind":"function","modifiers":[],"name":"setBlockhash","nameLocation":"117864:12:17","parameters":{"id":18098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18095,"mutability":"mutable","name":"blockNumber","nameLocation":"117885:11:17","nodeType":"VariableDeclaration","scope":18100,"src":"117877:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18094,"name":"uint256","nodeType":"ElementaryTypeName","src":"117877:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18097,"mutability":"mutable","name":"blockHash","nameLocation":"117906:9:17","nodeType":"VariableDeclaration","scope":18100,"src":"117898:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117898:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"117876:40:17"},"returnParameters":{"id":18099,"nodeType":"ParameterList","parameters":[],"src":"117925:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18108,"nodeType":"FunctionDefinition","src":"118024:61:17","nodes":[],"documentation":{"id":18101,"nodeType":"StructuredDocumentation","src":"117932:87:17","text":"Sets the nonce of an account. Must be higher than the current nonce of the account."},"functionSelector":"f8e18b57","implemented":false,"kind":"function","modifiers":[],"name":"setNonce","nameLocation":"118033:8:17","parameters":{"id":18106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18103,"mutability":"mutable","name":"account","nameLocation":"118050:7:17","nodeType":"VariableDeclaration","scope":18108,"src":"118042:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18102,"name":"address","nodeType":"ElementaryTypeName","src":"118042:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18105,"mutability":"mutable","name":"newNonce","nameLocation":"118066:8:17","nodeType":"VariableDeclaration","scope":18108,"src":"118059:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18104,"name":"uint64","nodeType":"ElementaryTypeName","src":"118059:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"118041:34:17"},"returnParameters":{"id":18107,"nodeType":"ParameterList","parameters":[],"src":"118084:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18116,"nodeType":"FunctionDefinition","src":"118151:67:17","nodes":[],"documentation":{"id":18109,"nodeType":"StructuredDocumentation","src":"118091:55:17","text":"Sets the nonce of an account to an arbitrary value."},"functionSelector":"9b67b21c","implemented":false,"kind":"function","modifiers":[],"name":"setNonceUnsafe","nameLocation":"118160:14:17","parameters":{"id":18114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18111,"mutability":"mutable","name":"account","nameLocation":"118183:7:17","nodeType":"VariableDeclaration","scope":18116,"src":"118175:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18110,"name":"address","nodeType":"ElementaryTypeName","src":"118175:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18113,"mutability":"mutable","name":"newNonce","nameLocation":"118199:8:17","nodeType":"VariableDeclaration","scope":18116,"src":"118192:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18112,"name":"uint64","nodeType":"ElementaryTypeName","src":"118192:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"118174:34:17"},"returnParameters":{"id":18115,"nodeType":"ParameterList","parameters":[],"src":"118217:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18124,"nodeType":"FunctionDefinition","src":"118317:86:17","nodes":[],"documentation":{"id":18117,"nodeType":"StructuredDocumentation","src":"118224:88:17","text":"Snapshot capture the gas usage of the last call by name from the callee perspective."},"functionSelector":"dd9fca12","implemented":false,"kind":"function","modifiers":[],"name":"snapshotGasLastCall","nameLocation":"118326:19:17","parameters":{"id":18120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18119,"mutability":"mutable","name":"name","nameLocation":"118362:4:17","nodeType":"VariableDeclaration","scope":18124,"src":"118346:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18118,"name":"string","nodeType":"ElementaryTypeName","src":"118346:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"118345:22:17"},"returnParameters":{"id":18123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18122,"mutability":"mutable","name":"gasUsed","nameLocation":"118394:7:17","nodeType":"VariableDeclaration","scope":18124,"src":"118386:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18121,"name":"uint256","nodeType":"ElementaryTypeName","src":"118386:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"118385:17:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18134,"nodeType":"FunctionDefinition","src":"118513:109:17","nodes":[],"documentation":{"id":18125,"nodeType":"StructuredDocumentation","src":"118409:99:17","text":"Snapshot capture the gas usage of the last call by name in a group from the callee perspective."},"functionSelector":"200c6772","implemented":false,"kind":"function","modifiers":[],"name":"snapshotGasLastCall","nameLocation":"118522:19:17","parameters":{"id":18130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18127,"mutability":"mutable","name":"group","nameLocation":"118558:5:17","nodeType":"VariableDeclaration","scope":18134,"src":"118542:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18126,"name":"string","nodeType":"ElementaryTypeName","src":"118542:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18129,"mutability":"mutable","name":"name","nameLocation":"118581:4:17","nodeType":"VariableDeclaration","scope":18134,"src":"118565:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18128,"name":"string","nodeType":"ElementaryTypeName","src":"118565:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"118541:45:17"},"returnParameters":{"id":18133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18132,"mutability":"mutable","name":"gasUsed","nameLocation":"118613:7:17","nodeType":"VariableDeclaration","scope":18134,"src":"118605:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18131,"name":"uint256","nodeType":"ElementaryTypeName","src":"118605:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"118604:17:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18140,"nodeType":"FunctionDefinition","src":"118782:63:17","nodes":[],"documentation":{"id":18135,"nodeType":"StructuredDocumentation","src":"118628:149:17","text":"Snapshot the current state of the evm.\n Returns the ID of the snapshot that was created.\n To revert a snapshot use `revertToState`."},"functionSelector":"9cd23835","implemented":false,"kind":"function","modifiers":[],"name":"snapshotState","nameLocation":"118791:13:17","parameters":{"id":18136,"nodeType":"ParameterList","parameters":[],"src":"118804:2:17"},"returnParameters":{"id":18139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18138,"mutability":"mutable","name":"snapshotId","nameLocation":"118833:10:17","nodeType":"VariableDeclaration","scope":18140,"src":"118825:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18137,"name":"uint256","nodeType":"ElementaryTypeName","src":"118825:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"118824:20:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18148,"nodeType":"FunctionDefinition","src":"118972:69:17","nodes":[],"documentation":{"id":18141,"nodeType":"StructuredDocumentation","src":"118851:116:17","text":"Snapshot capture an arbitrary numerical value by name.\n The group name is derived from the contract name."},"functionSelector":"51db805a","implemented":false,"kind":"function","modifiers":[],"name":"snapshotValue","nameLocation":"118981:13:17","parameters":{"id":18146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18143,"mutability":"mutable","name":"name","nameLocation":"119011:4:17","nodeType":"VariableDeclaration","scope":18148,"src":"118995:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18142,"name":"string","nodeType":"ElementaryTypeName","src":"118995:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18145,"mutability":"mutable","name":"value","nameLocation":"119025:5:17","nodeType":"VariableDeclaration","scope":18148,"src":"119017:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18144,"name":"uint256","nodeType":"ElementaryTypeName","src":"119017:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"118994:37:17"},"returnParameters":{"id":18147,"nodeType":"ParameterList","parameters":[],"src":"119040:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18158,"nodeType":"FunctionDefinition","src":"119121:92:17","nodes":[],"documentation":{"id":18149,"nodeType":"StructuredDocumentation","src":"119047:69:17","text":"Snapshot capture an arbitrary numerical value by name in a group."},"functionSelector":"6d2b27d8","implemented":false,"kind":"function","modifiers":[],"name":"snapshotValue","nameLocation":"119130:13:17","parameters":{"id":18156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18151,"mutability":"mutable","name":"group","nameLocation":"119160:5:17","nodeType":"VariableDeclaration","scope":18158,"src":"119144:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18150,"name":"string","nodeType":"ElementaryTypeName","src":"119144:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18153,"mutability":"mutable","name":"name","nameLocation":"119183:4:17","nodeType":"VariableDeclaration","scope":18158,"src":"119167:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18152,"name":"string","nodeType":"ElementaryTypeName","src":"119167:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18155,"mutability":"mutable","name":"value","nameLocation":"119197:5:17","nodeType":"VariableDeclaration","scope":18158,"src":"119189:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18154,"name":"uint256","nodeType":"ElementaryTypeName","src":"119189:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"119143:60:17"},"returnParameters":{"id":18157,"nodeType":"ParameterList","parameters":[],"src":"119212:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18164,"nodeType":"FunctionDefinition","src":"119320:48:17","nodes":[],"documentation":{"id":18159,"nodeType":"StructuredDocumentation","src":"119219:96:17","text":"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called."},"functionSelector":"06447d56","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"119329:10:17","parameters":{"id":18162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18161,"mutability":"mutable","name":"msgSender","nameLocation":"119348:9:17","nodeType":"VariableDeclaration","scope":18164,"src":"119340:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18160,"name":"address","nodeType":"ElementaryTypeName","src":"119340:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"119339:19:17"},"returnParameters":{"id":18163,"nodeType":"ParameterList","parameters":[],"src":"119367:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18172,"nodeType":"FunctionDefinition","src":"119519:66:17","nodes":[],"documentation":{"id":18165,"nodeType":"StructuredDocumentation","src":"119374:140:17","text":"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input."},"functionSelector":"45b56078","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"119528:10:17","parameters":{"id":18170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18167,"mutability":"mutable","name":"msgSender","nameLocation":"119547:9:17","nodeType":"VariableDeclaration","scope":18172,"src":"119539:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18166,"name":"address","nodeType":"ElementaryTypeName","src":"119539:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18169,"mutability":"mutable","name":"txOrigin","nameLocation":"119566:8:17","nodeType":"VariableDeclaration","scope":18172,"src":"119558:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18168,"name":"address","nodeType":"ElementaryTypeName","src":"119558:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"119538:37:17"},"returnParameters":{"id":18171,"nodeType":"ParameterList","parameters":[],"src":"119584:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18180,"nodeType":"FunctionDefinition","src":"119701:67:17","nodes":[],"documentation":{"id":18173,"nodeType":"StructuredDocumentation","src":"119591:105:17","text":"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called."},"functionSelector":"1cc0b435","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"119710:10:17","parameters":{"id":18178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18175,"mutability":"mutable","name":"msgSender","nameLocation":"119729:9:17","nodeType":"VariableDeclaration","scope":18180,"src":"119721:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18174,"name":"address","nodeType":"ElementaryTypeName","src":"119721:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18177,"mutability":"mutable","name":"delegateCall","nameLocation":"119745:12:17","nodeType":"VariableDeclaration","scope":18180,"src":"119740:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18176,"name":"bool","nodeType":"ElementaryTypeName","src":"119740:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"119720:38:17"},"returnParameters":{"id":18179,"nodeType":"ParameterList","parameters":[],"src":"119767:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18190,"nodeType":"FunctionDefinition","src":"119928:85:17","nodes":[],"documentation":{"id":18181,"nodeType":"StructuredDocumentation","src":"119774:149:17","text":"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input."},"functionSelector":"4eb859b5","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"119937:10:17","parameters":{"id":18188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18183,"mutability":"mutable","name":"msgSender","nameLocation":"119956:9:17","nodeType":"VariableDeclaration","scope":18190,"src":"119948:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18182,"name":"address","nodeType":"ElementaryTypeName","src":"119948:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18185,"mutability":"mutable","name":"txOrigin","nameLocation":"119975:8:17","nodeType":"VariableDeclaration","scope":18190,"src":"119967:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18184,"name":"address","nodeType":"ElementaryTypeName","src":"119967:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18187,"mutability":"mutable","name":"delegateCall","nameLocation":"119990:12:17","nodeType":"VariableDeclaration","scope":18190,"src":"119985:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18186,"name":"bool","nodeType":"ElementaryTypeName","src":"119985:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"119947:56:17"},"returnParameters":{"id":18189,"nodeType":"ParameterList","parameters":[],"src":"120012:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18196,"nodeType":"FunctionDefinition","src":"120144:57:17","nodes":[],"documentation":{"id":18191,"nodeType":"StructuredDocumentation","src":"120019:120:17","text":"Start a snapshot capture of the current gas usage by name.\n The group name is derived from the contract name."},"functionSelector":"3cad9d7b","implemented":false,"kind":"function","modifiers":[],"name":"startSnapshotGas","nameLocation":"120153:16:17","parameters":{"id":18194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18193,"mutability":"mutable","name":"name","nameLocation":"120186:4:17","nodeType":"VariableDeclaration","scope":18196,"src":"120170:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18192,"name":"string","nodeType":"ElementaryTypeName","src":"120170:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"120169:22:17"},"returnParameters":{"id":18195,"nodeType":"ParameterList","parameters":[],"src":"120200:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18204,"nodeType":"FunctionDefinition","src":"120285:80:17","nodes":[],"documentation":{"id":18197,"nodeType":"StructuredDocumentation","src":"120207:73:17","text":"Start a snapshot capture of the current gas usage by name in a group."},"functionSelector":"6cd0cc53","implemented":false,"kind":"function","modifiers":[],"name":"startSnapshotGas","nameLocation":"120294:16:17","parameters":{"id":18202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18199,"mutability":"mutable","name":"group","nameLocation":"120327:5:17","nodeType":"VariableDeclaration","scope":18204,"src":"120311:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18198,"name":"string","nodeType":"ElementaryTypeName","src":"120311:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18201,"mutability":"mutable","name":"name","nameLocation":"120350:4:17","nodeType":"VariableDeclaration","scope":18204,"src":"120334:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18200,"name":"string","nodeType":"ElementaryTypeName","src":"120334:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"120310:45:17"},"returnParameters":{"id":18203,"nodeType":"ParameterList","parameters":[],"src":"120364:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18208,"nodeType":"FunctionDefinition","src":"120440:30:17","nodes":[],"documentation":{"id":18205,"nodeType":"StructuredDocumentation","src":"120371:64:17","text":"Resets subsequent calls' `msg.sender` to be `address(this)`."},"functionSelector":"90c5013b","implemented":false,"kind":"function","modifiers":[],"name":"stopPrank","nameLocation":"120449:9:17","parameters":{"id":18206,"nodeType":"ParameterList","parameters":[],"src":"120458:2:17"},"returnParameters":{"id":18207,"nodeType":"ParameterList","parameters":[],"src":"120469:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18214,"nodeType":"FunctionDefinition","src":"120594:62:17","nodes":[],"documentation":{"id":18209,"nodeType":"StructuredDocumentation","src":"120476:113:17","text":"Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start."},"functionSelector":"f6402eda","implemented":false,"kind":"function","modifiers":[],"name":"stopSnapshotGas","nameLocation":"120603:15:17","parameters":{"id":18210,"nodeType":"ParameterList","parameters":[],"src":"120618:2:17"},"returnParameters":{"id":18213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18212,"mutability":"mutable","name":"gasUsed","nameLocation":"120647:7:17","nodeType":"VariableDeclaration","scope":18214,"src":"120639:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18211,"name":"uint256","nodeType":"ElementaryTypeName","src":"120639:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"120638:17:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18222,"nodeType":"FunctionDefinition","src":"120828:82:17","nodes":[],"documentation":{"id":18215,"nodeType":"StructuredDocumentation","src":"120662:161:17","text":"Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start.\n The group name is derived from the contract name."},"functionSelector":"773b2805","implemented":false,"kind":"function","modifiers":[],"name":"stopSnapshotGas","nameLocation":"120837:15:17","parameters":{"id":18218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18217,"mutability":"mutable","name":"name","nameLocation":"120869:4:17","nodeType":"VariableDeclaration","scope":18222,"src":"120853:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18216,"name":"string","nodeType":"ElementaryTypeName","src":"120853:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"120852:22:17"},"returnParameters":{"id":18221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18220,"mutability":"mutable","name":"gasUsed","nameLocation":"120901:7:17","nodeType":"VariableDeclaration","scope":18222,"src":"120893:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18219,"name":"uint256","nodeType":"ElementaryTypeName","src":"120893:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"120892:17:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18232,"nodeType":"FunctionDefinition","src":"121035:105:17","nodes":[],"documentation":{"id":18223,"nodeType":"StructuredDocumentation","src":"120916:114:17","text":"Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start."},"functionSelector":"0c9db707","implemented":false,"kind":"function","modifiers":[],"name":"stopSnapshotGas","nameLocation":"121044:15:17","parameters":{"id":18228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18225,"mutability":"mutable","name":"group","nameLocation":"121076:5:17","nodeType":"VariableDeclaration","scope":18232,"src":"121060:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18224,"name":"string","nodeType":"ElementaryTypeName","src":"121060:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18227,"mutability":"mutable","name":"name","nameLocation":"121099:4:17","nodeType":"VariableDeclaration","scope":18232,"src":"121083:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18226,"name":"string","nodeType":"ElementaryTypeName","src":"121083:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"121059:45:17"},"returnParameters":{"id":18231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18230,"mutability":"mutable","name":"gasUsed","nameLocation":"121131:7:17","nodeType":"VariableDeclaration","scope":18232,"src":"121123:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18229,"name":"uint256","nodeType":"ElementaryTypeName","src":"121123:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"121122:17:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18242,"nodeType":"FunctionDefinition","src":"121198:69:17","nodes":[],"documentation":{"id":18233,"nodeType":"StructuredDocumentation","src":"121146:47:17","text":"Stores a value to an address' storage slot."},"functionSelector":"70ca10bb","implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"121207:5:17","parameters":{"id":18240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18235,"mutability":"mutable","name":"target","nameLocation":"121221:6:17","nodeType":"VariableDeclaration","scope":18242,"src":"121213:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18234,"name":"address","nodeType":"ElementaryTypeName","src":"121213:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18237,"mutability":"mutable","name":"slot","nameLocation":"121237:4:17","nodeType":"VariableDeclaration","scope":18242,"src":"121229:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121229:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18239,"mutability":"mutable","name":"value","nameLocation":"121251:5:17","nodeType":"VariableDeclaration","scope":18242,"src":"121243:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121243:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"121212:45:17"},"returnParameters":{"id":18241,"nodeType":"ParameterList","parameters":[],"src":"121266:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18248,"nodeType":"FunctionDefinition","src":"121370:43:17","nodes":[],"documentation":{"id":18243,"nodeType":"StructuredDocumentation","src":"121273:92:17","text":"Fetches the given transaction from the active fork and executes it on the current state."},"functionSelector":"be646da1","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"121379:8:17","parameters":{"id":18246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18245,"mutability":"mutable","name":"txHash","nameLocation":"121396:6:17","nodeType":"VariableDeclaration","scope":18248,"src":"121388:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121388:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"121387:16:17"},"returnParameters":{"id":18247,"nodeType":"ParameterList","parameters":[],"src":"121412:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18256,"nodeType":"FunctionDefinition","src":"121515:59:17","nodes":[],"documentation":{"id":18249,"nodeType":"StructuredDocumentation","src":"121419:91:17","text":"Fetches the given transaction from the given fork and executes it on the current state."},"functionSelector":"4d8abc4b","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"121524:8:17","parameters":{"id":18254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18251,"mutability":"mutable","name":"forkId","nameLocation":"121541:6:17","nodeType":"VariableDeclaration","scope":18256,"src":"121533:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18250,"name":"uint256","nodeType":"ElementaryTypeName","src":"121533:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18253,"mutability":"mutable","name":"txHash","nameLocation":"121557:6:17","nodeType":"VariableDeclaration","scope":18256,"src":"121549:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121549:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"121532:32:17"},"returnParameters":{"id":18255,"nodeType":"ParameterList","parameters":[],"src":"121573:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18262,"nodeType":"FunctionDefinition","src":"121608:50:17","nodes":[],"documentation":{"id":18257,"nodeType":"StructuredDocumentation","src":"121580:23:17","text":"Sets `tx.gasprice`."},"functionSelector":"48f50c0f","implemented":false,"kind":"function","modifiers":[],"name":"txGasPrice","nameLocation":"121617:10:17","parameters":{"id":18260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18259,"mutability":"mutable","name":"newGasPrice","nameLocation":"121636:11:17","nodeType":"VariableDeclaration","scope":18262,"src":"121628:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18258,"name":"uint256","nodeType":"ElementaryTypeName","src":"121628:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"121627:21:17"},"returnParameters":{"id":18261,"nodeType":"ParameterList","parameters":[],"src":"121657:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18270,"nodeType":"FunctionDefinition","src":"121754:57:17","nodes":[],"documentation":{"id":18263,"nodeType":"StructuredDocumentation","src":"121664:85:17","text":"Utility cheatcode to mark specific storage slot as warm, simulating a prior read."},"functionSelector":"b23184cf","implemented":false,"kind":"function","modifiers":[],"name":"warmSlot","nameLocation":"121763:8:17","parameters":{"id":18268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18265,"mutability":"mutable","name":"target","nameLocation":"121780:6:17","nodeType":"VariableDeclaration","scope":18270,"src":"121772:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18264,"name":"address","nodeType":"ElementaryTypeName","src":"121772:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18267,"mutability":"mutable","name":"slot","nameLocation":"121796:4:17","nodeType":"VariableDeclaration","scope":18270,"src":"121788:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121788:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"121771:30:17"},"returnParameters":{"id":18269,"nodeType":"ParameterList","parameters":[],"src":"121810:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18276,"nodeType":"FunctionDefinition","src":"121849:45:17","nodes":[],"documentation":{"id":18271,"nodeType":"StructuredDocumentation","src":"121817:27:17","text":"Sets `block.timestamp`."},"functionSelector":"e5d6bf02","implemented":false,"kind":"function","modifiers":[],"name":"warp","nameLocation":"121858:4:17","parameters":{"id":18274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18273,"mutability":"mutable","name":"newTimestamp","nameLocation":"121871:12:17","nodeType":"VariableDeclaration","scope":18276,"src":"121863:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18272,"name":"uint256","nodeType":"ElementaryTypeName","src":"121863:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"121862:22:17"},"returnParameters":{"id":18275,"nodeType":"ParameterList","parameters":[],"src":"121893:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18284,"nodeType":"FunctionDefinition","src":"122019:76:17","nodes":[],"documentation":{"id":18277,"nodeType":"StructuredDocumentation","src":"121900:114:17","text":"`deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions."},"functionSelector":"a6368557","implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshot","nameLocation":"122028:14:17","parameters":{"id":18280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18279,"mutability":"mutable","name":"snapshotId","nameLocation":"122051:10:17","nodeType":"VariableDeclaration","scope":18284,"src":"122043:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18278,"name":"uint256","nodeType":"ElementaryTypeName","src":"122043:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"122042:20:17"},"returnParameters":{"id":18283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18282,"mutability":"mutable","name":"success","nameLocation":"122086:7:17","nodeType":"VariableDeclaration","scope":18284,"src":"122081:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18281,"name":"bool","nodeType":"ElementaryTypeName","src":"122081:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"122080:14:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18288,"nodeType":"FunctionDefinition","src":"122222:36:17","nodes":[],"documentation":{"id":18285,"nodeType":"StructuredDocumentation","src":"122101:116:17","text":"`deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions."},"functionSelector":"421ae469","implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshots","nameLocation":"122231:15:17","parameters":{"id":18286,"nodeType":"ParameterList","parameters":[],"src":"122246:2:17"},"returnParameters":{"id":18287,"nodeType":"ParameterList","parameters":[],"src":"122257:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18296,"nodeType":"FunctionDefinition","src":"122389:79:17","nodes":[],"documentation":{"id":18289,"nodeType":"StructuredDocumentation","src":"122264:120:17","text":"`revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions."},"functionSelector":"03e0aca9","implemented":false,"kind":"function","modifiers":[],"name":"revertToAndDelete","nameLocation":"122398:17:17","parameters":{"id":18292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18291,"mutability":"mutable","name":"snapshotId","nameLocation":"122424:10:17","nodeType":"VariableDeclaration","scope":18296,"src":"122416:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18290,"name":"uint256","nodeType":"ElementaryTypeName","src":"122416:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"122415:20:17"},"returnParameters":{"id":18295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18294,"mutability":"mutable","name":"success","nameLocation":"122459:7:17","nodeType":"VariableDeclaration","scope":18296,"src":"122454:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18293,"name":"bool","nodeType":"ElementaryTypeName","src":"122454:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"122453:14:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18304,"nodeType":"FunctionDefinition","src":"122581:70:17","nodes":[],"documentation":{"id":18297,"nodeType":"StructuredDocumentation","src":"122474:102:17","text":"`revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions."},"functionSelector":"44d7f0a4","implemented":false,"kind":"function","modifiers":[],"name":"revertTo","nameLocation":"122590:8:17","parameters":{"id":18300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18299,"mutability":"mutable","name":"snapshotId","nameLocation":"122607:10:17","nodeType":"VariableDeclaration","scope":18304,"src":"122599:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18298,"name":"uint256","nodeType":"ElementaryTypeName","src":"122599:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"122598:20:17"},"returnParameters":{"id":18303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18302,"mutability":"mutable","name":"success","nameLocation":"122642:7:17","nodeType":"VariableDeclaration","scope":18304,"src":"122637:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18301,"name":"bool","nodeType":"ElementaryTypeName","src":"122637:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"122636:14:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18310,"nodeType":"FunctionDefinition","src":"122764:58:17","nodes":[],"documentation":{"id":18305,"nodeType":"StructuredDocumentation","src":"122657:102:17","text":"`snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions."},"functionSelector":"9711715a","implemented":false,"kind":"function","modifiers":[],"name":"snapshot","nameLocation":"122773:8:17","parameters":{"id":18306,"nodeType":"ParameterList","parameters":[],"src":"122781:2:17"},"returnParameters":{"id":18309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18308,"mutability":"mutable","name":"snapshotId","nameLocation":"122810:10:17","nodeType":"VariableDeclaration","scope":18310,"src":"122802:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18307,"name":"uint256","nodeType":"ElementaryTypeName","src":"122802:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"122801:20:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18322,"nodeType":"FunctionDefinition","src":"122974:105:17","nodes":[],"documentation":{"id":18311,"nodeType":"StructuredDocumentation","src":"122862:107:17","text":"Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"functionSelector":"08e4e116","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"122983:16:17","parameters":{"id":18320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18313,"mutability":"mutable","name":"callee","nameLocation":"123008:6:17","nodeType":"VariableDeclaration","scope":18322,"src":"123000:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18312,"name":"address","nodeType":"ElementaryTypeName","src":"123000:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18315,"mutability":"mutable","name":"msgValue","nameLocation":"123024:8:17","nodeType":"VariableDeclaration","scope":18322,"src":"123016:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18314,"name":"uint256","nodeType":"ElementaryTypeName","src":"123016:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18317,"mutability":"mutable","name":"minGas","nameLocation":"123041:6:17","nodeType":"VariableDeclaration","scope":18322,"src":"123034:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18316,"name":"uint64","nodeType":"ElementaryTypeName","src":"123034:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18319,"mutability":"mutable","name":"data","nameLocation":"123064:4:17","nodeType":"VariableDeclaration","scope":18322,"src":"123049:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18318,"name":"bytes","nodeType":"ElementaryTypeName","src":"123049:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"122999:70:17"},"returnParameters":{"id":18321,"nodeType":"ParameterList","parameters":[],"src":"123078:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18336,"nodeType":"FunctionDefinition","src":"123212:127:17","nodes":[],"documentation":{"id":18323,"nodeType":"StructuredDocumentation","src":"123085:122:17","text":"Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"functionSelector":"e13a1834","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"123221:16:17","parameters":{"id":18334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18325,"mutability":"mutable","name":"callee","nameLocation":"123246:6:17","nodeType":"VariableDeclaration","scope":18336,"src":"123238:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18324,"name":"address","nodeType":"ElementaryTypeName","src":"123238:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18327,"mutability":"mutable","name":"msgValue","nameLocation":"123262:8:17","nodeType":"VariableDeclaration","scope":18336,"src":"123254:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18326,"name":"uint256","nodeType":"ElementaryTypeName","src":"123254:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18329,"mutability":"mutable","name":"minGas","nameLocation":"123279:6:17","nodeType":"VariableDeclaration","scope":18336,"src":"123272:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18328,"name":"uint64","nodeType":"ElementaryTypeName","src":"123272:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18331,"mutability":"mutable","name":"data","nameLocation":"123302:4:17","nodeType":"VariableDeclaration","scope":18336,"src":"123287:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18330,"name":"bytes","nodeType":"ElementaryTypeName","src":"123287:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18333,"mutability":"mutable","name":"count","nameLocation":"123315:5:17","nodeType":"VariableDeclaration","scope":18336,"src":"123308:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18332,"name":"uint64","nodeType":"ElementaryTypeName","src":"123308:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"123237:84:17"},"returnParameters":{"id":18335,"nodeType":"ParameterList","parameters":[],"src":"123338:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18344,"nodeType":"FunctionDefinition","src":"123471:66:17","nodes":[],"documentation":{"id":18337,"nodeType":"StructuredDocumentation","src":"123345:121:17","text":"Expects a call to an address with the specified calldata.\n Calldata can either be a strict or a partial match."},"functionSelector":"bd6af434","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"123480:10:17","parameters":{"id":18342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18339,"mutability":"mutable","name":"callee","nameLocation":"123499:6:17","nodeType":"VariableDeclaration","scope":18344,"src":"123491:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18338,"name":"address","nodeType":"ElementaryTypeName","src":"123491:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18341,"mutability":"mutable","name":"data","nameLocation":"123522:4:17","nodeType":"VariableDeclaration","scope":18344,"src":"123507:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18340,"name":"bytes","nodeType":"ElementaryTypeName","src":"123507:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"123490:37:17"},"returnParameters":{"id":18343,"nodeType":"ParameterList","parameters":[],"src":"123536:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18354,"nodeType":"FunctionDefinition","src":"123624:80:17","nodes":[],"documentation":{"id":18345,"nodeType":"StructuredDocumentation","src":"123543:76:17","text":"Expects given number of calls to an address with the specified calldata."},"functionSelector":"c1adbbff","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"123633:10:17","parameters":{"id":18352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18347,"mutability":"mutable","name":"callee","nameLocation":"123652:6:17","nodeType":"VariableDeclaration","scope":18354,"src":"123644:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18346,"name":"address","nodeType":"ElementaryTypeName","src":"123644:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18349,"mutability":"mutable","name":"data","nameLocation":"123675:4:17","nodeType":"VariableDeclaration","scope":18354,"src":"123660:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18348,"name":"bytes","nodeType":"ElementaryTypeName","src":"123660:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18351,"mutability":"mutable","name":"count","nameLocation":"123688:5:17","nodeType":"VariableDeclaration","scope":18354,"src":"123681:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18350,"name":"uint64","nodeType":"ElementaryTypeName","src":"123681:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"123643:51:17"},"returnParameters":{"id":18353,"nodeType":"ParameterList","parameters":[],"src":"123703:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18364,"nodeType":"FunctionDefinition","src":"123792:84:17","nodes":[],"documentation":{"id":18355,"nodeType":"StructuredDocumentation","src":"123710:77:17","text":"Expects a call to an address with the specified `msg.value` and calldata."},"functionSelector":"f30c7ba3","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"123801:10:17","parameters":{"id":18362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18357,"mutability":"mutable","name":"callee","nameLocation":"123820:6:17","nodeType":"VariableDeclaration","scope":18364,"src":"123812:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18356,"name":"address","nodeType":"ElementaryTypeName","src":"123812:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18359,"mutability":"mutable","name":"msgValue","nameLocation":"123836:8:17","nodeType":"VariableDeclaration","scope":18364,"src":"123828:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18358,"name":"uint256","nodeType":"ElementaryTypeName","src":"123828:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18361,"mutability":"mutable","name":"data","nameLocation":"123861:4:17","nodeType":"VariableDeclaration","scope":18364,"src":"123846:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18360,"name":"bytes","nodeType":"ElementaryTypeName","src":"123846:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"123811:55:17"},"returnParameters":{"id":18363,"nodeType":"ParameterList","parameters":[],"src":"123875:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18376,"nodeType":"FunctionDefinition","src":"123979:98:17","nodes":[],"documentation":{"id":18365,"nodeType":"StructuredDocumentation","src":"123882:92:17","text":"Expects given number of calls to an address with the specified `msg.value` and calldata."},"functionSelector":"a2b1a1ae","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"123988:10:17","parameters":{"id":18374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18367,"mutability":"mutable","name":"callee","nameLocation":"124007:6:17","nodeType":"VariableDeclaration","scope":18376,"src":"123999:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18366,"name":"address","nodeType":"ElementaryTypeName","src":"123999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18369,"mutability":"mutable","name":"msgValue","nameLocation":"124023:8:17","nodeType":"VariableDeclaration","scope":18376,"src":"124015:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18368,"name":"uint256","nodeType":"ElementaryTypeName","src":"124015:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18371,"mutability":"mutable","name":"data","nameLocation":"124048:4:17","nodeType":"VariableDeclaration","scope":18376,"src":"124033:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18370,"name":"bytes","nodeType":"ElementaryTypeName","src":"124033:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18373,"mutability":"mutable","name":"count","nameLocation":"124061:5:17","nodeType":"VariableDeclaration","scope":18376,"src":"124054:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18372,"name":"uint64","nodeType":"ElementaryTypeName","src":"124054:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"123998:69:17"},"returnParameters":{"id":18375,"nodeType":"ParameterList","parameters":[],"src":"124076:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18388,"nodeType":"FunctionDefinition","src":"124170:96:17","nodes":[],"documentation":{"id":18377,"nodeType":"StructuredDocumentation","src":"124083:82:17","text":"Expect a call to an address with the specified `msg.value`, gas, and calldata."},"functionSelector":"23361207","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"124179:10:17","parameters":{"id":18386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18379,"mutability":"mutable","name":"callee","nameLocation":"124198:6:17","nodeType":"VariableDeclaration","scope":18388,"src":"124190:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18378,"name":"address","nodeType":"ElementaryTypeName","src":"124190:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18381,"mutability":"mutable","name":"msgValue","nameLocation":"124214:8:17","nodeType":"VariableDeclaration","scope":18388,"src":"124206:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18380,"name":"uint256","nodeType":"ElementaryTypeName","src":"124206:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18383,"mutability":"mutable","name":"gas","nameLocation":"124231:3:17","nodeType":"VariableDeclaration","scope":18388,"src":"124224:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18382,"name":"uint64","nodeType":"ElementaryTypeName","src":"124224:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18385,"mutability":"mutable","name":"data","nameLocation":"124251:4:17","nodeType":"VariableDeclaration","scope":18388,"src":"124236:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18384,"name":"bytes","nodeType":"ElementaryTypeName","src":"124236:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"124189:67:17"},"returnParameters":{"id":18387,"nodeType":"ParameterList","parameters":[],"src":"124265:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18402,"nodeType":"FunctionDefinition","src":"124375:110:17","nodes":[],"documentation":{"id":18389,"nodeType":"StructuredDocumentation","src":"124272:98:17","text":"Expects given number of calls to an address with the specified `msg.value`, gas, and calldata."},"functionSelector":"65b7b7cc","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"124384:10:17","parameters":{"id":18400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18391,"mutability":"mutable","name":"callee","nameLocation":"124403:6:17","nodeType":"VariableDeclaration","scope":18402,"src":"124395:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18390,"name":"address","nodeType":"ElementaryTypeName","src":"124395:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18393,"mutability":"mutable","name":"msgValue","nameLocation":"124419:8:17","nodeType":"VariableDeclaration","scope":18402,"src":"124411:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18392,"name":"uint256","nodeType":"ElementaryTypeName","src":"124411:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18395,"mutability":"mutable","name":"gas","nameLocation":"124436:3:17","nodeType":"VariableDeclaration","scope":18402,"src":"124429:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18394,"name":"uint64","nodeType":"ElementaryTypeName","src":"124429:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18397,"mutability":"mutable","name":"data","nameLocation":"124456:4:17","nodeType":"VariableDeclaration","scope":18402,"src":"124441:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18396,"name":"bytes","nodeType":"ElementaryTypeName","src":"124441:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18399,"mutability":"mutable","name":"count","nameLocation":"124469:5:17","nodeType":"VariableDeclaration","scope":18402,"src":"124462:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18398,"name":"uint64","nodeType":"ElementaryTypeName","src":"124462:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"124394:81:17"},"returnParameters":{"id":18401,"nodeType":"ParameterList","parameters":[],"src":"124484:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18410,"nodeType":"FunctionDefinition","src":"124597:74:17","nodes":[],"documentation":{"id":18403,"nodeType":"StructuredDocumentation","src":"124491:101:17","text":"Expects the deployment of the specified bytecode by the specified address using the CREATE opcode"},"functionSelector":"73cdce36","implemented":false,"kind":"function","modifiers":[],"name":"expectCreate","nameLocation":"124606:12:17","parameters":{"id":18408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18405,"mutability":"mutable","name":"bytecode","nameLocation":"124634:8:17","nodeType":"VariableDeclaration","scope":18410,"src":"124619:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18404,"name":"bytes","nodeType":"ElementaryTypeName","src":"124619:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18407,"mutability":"mutable","name":"deployer","nameLocation":"124652:8:17","nodeType":"VariableDeclaration","scope":18410,"src":"124644:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18406,"name":"address","nodeType":"ElementaryTypeName","src":"124644:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"124618:43:17"},"returnParameters":{"id":18409,"nodeType":"ParameterList","parameters":[],"src":"124670:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18418,"nodeType":"FunctionDefinition","src":"124784:75:17","nodes":[],"documentation":{"id":18411,"nodeType":"StructuredDocumentation","src":"124677:102:17","text":"Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode"},"functionSelector":"ea54a472","implemented":false,"kind":"function","modifiers":[],"name":"expectCreate2","nameLocation":"124793:13:17","parameters":{"id":18416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18413,"mutability":"mutable","name":"bytecode","nameLocation":"124822:8:17","nodeType":"VariableDeclaration","scope":18418,"src":"124807:23:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18412,"name":"bytes","nodeType":"ElementaryTypeName","src":"124807:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18415,"mutability":"mutable","name":"deployer","nameLocation":"124840:8:17","nodeType":"VariableDeclaration","scope":18418,"src":"124832:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18414,"name":"address","nodeType":"ElementaryTypeName","src":"124832:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"124806:43:17"},"returnParameters":{"id":18417,"nodeType":"ParameterList","parameters":[],"src":"124858:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18432,"nodeType":"FunctionDefinition","src":"125218:134:17","nodes":[],"documentation":{"id":18419,"nodeType":"StructuredDocumentation","src":"124865:348:17","text":"Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data (as specified by the booleans)."},"functionSelector":"c948db5e","implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"125227:19:17","parameters":{"id":18430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18421,"mutability":"mutable","name":"checkTopic0","nameLocation":"125252:11:17","nodeType":"VariableDeclaration","scope":18432,"src":"125247:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18420,"name":"bool","nodeType":"ElementaryTypeName","src":"125247:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18423,"mutability":"mutable","name":"checkTopic1","nameLocation":"125270:11:17","nodeType":"VariableDeclaration","scope":18432,"src":"125265:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18422,"name":"bool","nodeType":"ElementaryTypeName","src":"125265:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18425,"mutability":"mutable","name":"checkTopic2","nameLocation":"125288:11:17","nodeType":"VariableDeclaration","scope":18432,"src":"125283:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18424,"name":"bool","nodeType":"ElementaryTypeName","src":"125283:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18427,"mutability":"mutable","name":"checkTopic3","nameLocation":"125306:11:17","nodeType":"VariableDeclaration","scope":18432,"src":"125301:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18426,"name":"bool","nodeType":"ElementaryTypeName","src":"125301:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18429,"mutability":"mutable","name":"checkData","nameLocation":"125324:9:17","nodeType":"VariableDeclaration","scope":18432,"src":"125319:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18428,"name":"bool","nodeType":"ElementaryTypeName","src":"125319:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"125246:88:17"},"returnParameters":{"id":18431,"nodeType":"ParameterList","parameters":[],"src":"125351:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18448,"nodeType":"FunctionDefinition","src":"125455:197:17","nodes":[],"documentation":{"id":18433,"nodeType":"StructuredDocumentation","src":"125358:92:17","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"71c95899","implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"125464:19:17","parameters":{"id":18446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18435,"mutability":"mutable","name":"checkTopic0","nameLocation":"125498:11:17","nodeType":"VariableDeclaration","scope":18448,"src":"125493:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18434,"name":"bool","nodeType":"ElementaryTypeName","src":"125493:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18437,"mutability":"mutable","name":"checkTopic1","nameLocation":"125524:11:17","nodeType":"VariableDeclaration","scope":18448,"src":"125519:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18436,"name":"bool","nodeType":"ElementaryTypeName","src":"125519:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18439,"mutability":"mutable","name":"checkTopic2","nameLocation":"125550:11:17","nodeType":"VariableDeclaration","scope":18448,"src":"125545:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18438,"name":"bool","nodeType":"ElementaryTypeName","src":"125545:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18441,"mutability":"mutable","name":"checkTopic3","nameLocation":"125576:11:17","nodeType":"VariableDeclaration","scope":18448,"src":"125571:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18440,"name":"bool","nodeType":"ElementaryTypeName","src":"125571:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18443,"mutability":"mutable","name":"checkData","nameLocation":"125602:9:17","nodeType":"VariableDeclaration","scope":18448,"src":"125597:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18442,"name":"bool","nodeType":"ElementaryTypeName","src":"125597:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18445,"mutability":"mutable","name":"emitter","nameLocation":"125629:7:17","nodeType":"VariableDeclaration","scope":18448,"src":"125621:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18444,"name":"address","nodeType":"ElementaryTypeName","src":"125621:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"125483:159:17"},"returnParameters":{"id":18447,"nodeType":"ParameterList","parameters":[],"src":"125651:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18452,"nodeType":"FunctionDefinition","src":"125942:40:17","nodes":[],"documentation":{"id":18449,"nodeType":"StructuredDocumentation","src":"125658:279:17","text":"Prepare an expected anonymous log with all topic and data checks enabled.\n Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data."},"functionSelector":"2e5f270c","implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"125951:19:17","parameters":{"id":18450,"nodeType":"ParameterList","parameters":[],"src":"125970:2:17"},"returnParameters":{"id":18451,"nodeType":"ParameterList","parameters":[],"src":"125981:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18458,"nodeType":"FunctionDefinition","src":"126085:55:17","nodes":[],"documentation":{"id":18453,"nodeType":"StructuredDocumentation","src":"125988:92:17","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"6fc68705","implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"126094:19:17","parameters":{"id":18456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18455,"mutability":"mutable","name":"emitter","nameLocation":"126122:7:17","nodeType":"VariableDeclaration","scope":18458,"src":"126114:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18454,"name":"address","nodeType":"ElementaryTypeName","src":"126114:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"126113:17:17"},"returnParameters":{"id":18457,"nodeType":"ParameterList","parameters":[],"src":"126139:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18470,"nodeType":"FunctionDefinition","src":"126479:99:17","nodes":[],"documentation":{"id":18459,"nodeType":"StructuredDocumentation","src":"126146:328:17","text":"Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n Call this function, then emit an event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data (as specified by the booleans)."},"functionSelector":"491cc7c2","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"126488:10:17","parameters":{"id":18468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18461,"mutability":"mutable","name":"checkTopic1","nameLocation":"126504:11:17","nodeType":"VariableDeclaration","scope":18470,"src":"126499:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18460,"name":"bool","nodeType":"ElementaryTypeName","src":"126499:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18463,"mutability":"mutable","name":"checkTopic2","nameLocation":"126522:11:17","nodeType":"VariableDeclaration","scope":18470,"src":"126517:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18462,"name":"bool","nodeType":"ElementaryTypeName","src":"126517:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18465,"mutability":"mutable","name":"checkTopic3","nameLocation":"126540:11:17","nodeType":"VariableDeclaration","scope":18470,"src":"126535:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18464,"name":"bool","nodeType":"ElementaryTypeName","src":"126535:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18467,"mutability":"mutable","name":"checkData","nameLocation":"126558:9:17","nodeType":"VariableDeclaration","scope":18470,"src":"126553:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18466,"name":"bool","nodeType":"ElementaryTypeName","src":"126553:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"126498:70:17"},"returnParameters":{"id":18469,"nodeType":"ParameterList","parameters":[],"src":"126577:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18484,"nodeType":"FunctionDefinition","src":"126681:124:17","nodes":[],"documentation":{"id":18471,"nodeType":"StructuredDocumentation","src":"126584:92:17","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"81bad6f3","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"126690:10:17","parameters":{"id":18482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18473,"mutability":"mutable","name":"checkTopic1","nameLocation":"126706:11:17","nodeType":"VariableDeclaration","scope":18484,"src":"126701:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18472,"name":"bool","nodeType":"ElementaryTypeName","src":"126701:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18475,"mutability":"mutable","name":"checkTopic2","nameLocation":"126724:11:17","nodeType":"VariableDeclaration","scope":18484,"src":"126719:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18474,"name":"bool","nodeType":"ElementaryTypeName","src":"126719:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18477,"mutability":"mutable","name":"checkTopic3","nameLocation":"126742:11:17","nodeType":"VariableDeclaration","scope":18484,"src":"126737:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18476,"name":"bool","nodeType":"ElementaryTypeName","src":"126737:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18479,"mutability":"mutable","name":"checkData","nameLocation":"126760:9:17","nodeType":"VariableDeclaration","scope":18484,"src":"126755:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18478,"name":"bool","nodeType":"ElementaryTypeName","src":"126755:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18481,"mutability":"mutable","name":"emitter","nameLocation":"126779:7:17","nodeType":"VariableDeclaration","scope":18484,"src":"126771:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18480,"name":"address","nodeType":"ElementaryTypeName","src":"126771:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"126700:87:17"},"returnParameters":{"id":18483,"nodeType":"ParameterList","parameters":[],"src":"126804:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18488,"nodeType":"FunctionDefinition","src":"127075:31:17","nodes":[],"documentation":{"id":18485,"nodeType":"StructuredDocumentation","src":"126811:259:17","text":"Prepare an expected log with all topic and data checks enabled.\n Call this function, then emit an event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data."},"functionSelector":"440ed10d","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"127084:10:17","parameters":{"id":18486,"nodeType":"ParameterList","parameters":[],"src":"127094:2:17"},"returnParameters":{"id":18487,"nodeType":"ParameterList","parameters":[],"src":"127105:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18494,"nodeType":"FunctionDefinition","src":"127209:46:17","nodes":[],"documentation":{"id":18489,"nodeType":"StructuredDocumentation","src":"127112:92:17","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"86b9620d","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"127218:10:17","parameters":{"id":18492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18491,"mutability":"mutable","name":"emitter","nameLocation":"127237:7:17","nodeType":"VariableDeclaration","scope":18494,"src":"127229:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18490,"name":"address","nodeType":"ElementaryTypeName","src":"127229:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"127228:17:17"},"returnParameters":{"id":18493,"nodeType":"ParameterList","parameters":[],"src":"127254:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18508,"nodeType":"FunctionDefinition","src":"127325:113:17","nodes":[],"documentation":{"id":18495,"nodeType":"StructuredDocumentation","src":"127261:59:17","text":"Expect a given number of logs with the provided topics."},"functionSelector":"5e1d1c33","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"127334:10:17","parameters":{"id":18506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18497,"mutability":"mutable","name":"checkTopic1","nameLocation":"127350:11:17","nodeType":"VariableDeclaration","scope":18508,"src":"127345:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18496,"name":"bool","nodeType":"ElementaryTypeName","src":"127345:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18499,"mutability":"mutable","name":"checkTopic2","nameLocation":"127368:11:17","nodeType":"VariableDeclaration","scope":18508,"src":"127363:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18498,"name":"bool","nodeType":"ElementaryTypeName","src":"127363:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18501,"mutability":"mutable","name":"checkTopic3","nameLocation":"127386:11:17","nodeType":"VariableDeclaration","scope":18508,"src":"127381:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18500,"name":"bool","nodeType":"ElementaryTypeName","src":"127381:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18503,"mutability":"mutable","name":"checkData","nameLocation":"127404:9:17","nodeType":"VariableDeclaration","scope":18508,"src":"127399:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18502,"name":"bool","nodeType":"ElementaryTypeName","src":"127399:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18505,"mutability":"mutable","name":"count","nameLocation":"127422:5:17","nodeType":"VariableDeclaration","scope":18508,"src":"127415:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18504,"name":"uint64","nodeType":"ElementaryTypeName","src":"127415:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"127344:84:17"},"returnParameters":{"id":18507,"nodeType":"ParameterList","parameters":[],"src":"127437:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18524,"nodeType":"FunctionDefinition","src":"127532:184:17","nodes":[],"documentation":{"id":18509,"nodeType":"StructuredDocumentation","src":"127444:83:17","text":"Expect a given number of logs from a specific emitter with the provided topics."},"functionSelector":"c339d02c","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"127541:10:17","parameters":{"id":18522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18511,"mutability":"mutable","name":"checkTopic1","nameLocation":"127566:11:17","nodeType":"VariableDeclaration","scope":18524,"src":"127561:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18510,"name":"bool","nodeType":"ElementaryTypeName","src":"127561:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18513,"mutability":"mutable","name":"checkTopic2","nameLocation":"127592:11:17","nodeType":"VariableDeclaration","scope":18524,"src":"127587:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18512,"name":"bool","nodeType":"ElementaryTypeName","src":"127587:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18515,"mutability":"mutable","name":"checkTopic3","nameLocation":"127618:11:17","nodeType":"VariableDeclaration","scope":18524,"src":"127613:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18514,"name":"bool","nodeType":"ElementaryTypeName","src":"127613:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18517,"mutability":"mutable","name":"checkData","nameLocation":"127644:9:17","nodeType":"VariableDeclaration","scope":18524,"src":"127639:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18516,"name":"bool","nodeType":"ElementaryTypeName","src":"127639:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18519,"mutability":"mutable","name":"emitter","nameLocation":"127671:7:17","nodeType":"VariableDeclaration","scope":18524,"src":"127663:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18518,"name":"address","nodeType":"ElementaryTypeName","src":"127663:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18521,"mutability":"mutable","name":"count","nameLocation":"127695:5:17","nodeType":"VariableDeclaration","scope":18524,"src":"127688:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18520,"name":"uint64","nodeType":"ElementaryTypeName","src":"127688:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"127551:155:17"},"returnParameters":{"id":18523,"nodeType":"ParameterList","parameters":[],"src":"127715:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18530,"nodeType":"FunctionDefinition","src":"127800:43:17","nodes":[],"documentation":{"id":18525,"nodeType":"StructuredDocumentation","src":"127722:73:17","text":"Expect a given number of logs with all topic and data checks enabled."},"functionSelector":"4c74a335","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"127809:10:17","parameters":{"id":18528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18527,"mutability":"mutable","name":"count","nameLocation":"127827:5:17","nodeType":"VariableDeclaration","scope":18530,"src":"127820:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18526,"name":"uint64","nodeType":"ElementaryTypeName","src":"127820:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"127819:14:17"},"returnParameters":{"id":18529,"nodeType":"ParameterList","parameters":[],"src":"127842:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18538,"nodeType":"FunctionDefinition","src":"127951:60:17","nodes":[],"documentation":{"id":18531,"nodeType":"StructuredDocumentation","src":"127849:97:17","text":"Expect a given number of logs from a specific emitter with all topic and data checks enabled."},"functionSelector":"b43aece3","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"127960:10:17","parameters":{"id":18536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18533,"mutability":"mutable","name":"emitter","nameLocation":"127979:7:17","nodeType":"VariableDeclaration","scope":18538,"src":"127971:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18532,"name":"address","nodeType":"ElementaryTypeName","src":"127971:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18535,"mutability":"mutable","name":"count","nameLocation":"127995:5:17","nodeType":"VariableDeclaration","scope":18538,"src":"127988:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18534,"name":"uint64","nodeType":"ElementaryTypeName","src":"127988:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"127970:31:17"},"returnParameters":{"id":18537,"nodeType":"ParameterList","parameters":[],"src":"128010:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18544,"nodeType":"FunctionDefinition","src":"128089:57:17","nodes":[],"documentation":{"id":18539,"nodeType":"StructuredDocumentation","src":"128017:67:17","text":"Expects an error on next call that starts with the revert data."},"functionSelector":"11fb5b9c","implemented":false,"kind":"function","modifiers":[],"name":"expectPartialRevert","nameLocation":"128098:19:17","parameters":{"id":18542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18541,"mutability":"mutable","name":"revertData","nameLocation":"128125:10:17","nodeType":"VariableDeclaration","scope":18544,"src":"128118:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18540,"name":"bytes4","nodeType":"ElementaryTypeName","src":"128118:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"128117:19:17"},"returnParameters":{"id":18543,"nodeType":"ParameterList","parameters":[],"src":"128145:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18552,"nodeType":"FunctionDefinition","src":"128245:75:17","nodes":[],"documentation":{"id":18545,"nodeType":"StructuredDocumentation","src":"128152:88:17","text":"Expects an error on next call to reverter address, that starts with the revert data."},"functionSelector":"51aa008a","implemented":false,"kind":"function","modifiers":[],"name":"expectPartialRevert","nameLocation":"128254:19:17","parameters":{"id":18550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18547,"mutability":"mutable","name":"revertData","nameLocation":"128281:10:17","nodeType":"VariableDeclaration","scope":18552,"src":"128274:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18546,"name":"bytes4","nodeType":"ElementaryTypeName","src":"128274:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":18549,"mutability":"mutable","name":"reverter","nameLocation":"128301:8:17","nodeType":"VariableDeclaration","scope":18552,"src":"128293:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18548,"name":"address","nodeType":"ElementaryTypeName","src":"128293:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"128273:37:17"},"returnParameters":{"id":18551,"nodeType":"ParameterList","parameters":[],"src":"128319:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18556,"nodeType":"FunctionDefinition","src":"128386:33:17","nodes":[],"documentation":{"id":18553,"nodeType":"StructuredDocumentation","src":"128326:55:17","text":"Expects an error on next call with any revert data."},"functionSelector":"f4844814","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"128395:12:17","parameters":{"id":18554,"nodeType":"ParameterList","parameters":[],"src":"128407:2:17"},"returnParameters":{"id":18555,"nodeType":"ParameterList","parameters":[],"src":"128418:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18562,"nodeType":"FunctionDefinition","src":"128501:50:17","nodes":[],"documentation":{"id":18557,"nodeType":"StructuredDocumentation","src":"128425:71:17","text":"Expects an error on next call that exactly matches the revert data."},"functionSelector":"c31eb0e0","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"128510:12:17","parameters":{"id":18560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18559,"mutability":"mutable","name":"revertData","nameLocation":"128530:10:17","nodeType":"VariableDeclaration","scope":18562,"src":"128523:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18558,"name":"bytes4","nodeType":"ElementaryTypeName","src":"128523:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"128522:19:17"},"returnParameters":{"id":18561,"nodeType":"ParameterList","parameters":[],"src":"128550:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18572,"nodeType":"FunctionDefinition","src":"128679:82:17","nodes":[],"documentation":{"id":18563,"nodeType":"StructuredDocumentation","src":"128557:117:17","text":"Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data."},"functionSelector":"b0762d73","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"128688:12:17","parameters":{"id":18570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18565,"mutability":"mutable","name":"revertData","nameLocation":"128708:10:17","nodeType":"VariableDeclaration","scope":18572,"src":"128701:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18564,"name":"bytes4","nodeType":"ElementaryTypeName","src":"128701:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":18567,"mutability":"mutable","name":"reverter","nameLocation":"128728:8:17","nodeType":"VariableDeclaration","scope":18572,"src":"128720:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18566,"name":"address","nodeType":"ElementaryTypeName","src":"128720:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18569,"mutability":"mutable","name":"count","nameLocation":"128745:5:17","nodeType":"VariableDeclaration","scope":18572,"src":"128738:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18568,"name":"uint64","nodeType":"ElementaryTypeName","src":"128738:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"128700:51:17"},"returnParameters":{"id":18571,"nodeType":"ParameterList","parameters":[],"src":"128760:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18582,"nodeType":"FunctionDefinition","src":"128897:90:17","nodes":[],"documentation":{"id":18573,"nodeType":"StructuredDocumentation","src":"128767:125:17","text":"Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data."},"functionSelector":"d345fb1f","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"128906:12:17","parameters":{"id":18580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18575,"mutability":"mutable","name":"revertData","nameLocation":"128934:10:17","nodeType":"VariableDeclaration","scope":18582,"src":"128919:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18574,"name":"bytes","nodeType":"ElementaryTypeName","src":"128919:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18577,"mutability":"mutable","name":"reverter","nameLocation":"128954:8:17","nodeType":"VariableDeclaration","scope":18582,"src":"128946:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18576,"name":"address","nodeType":"ElementaryTypeName","src":"128946:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18579,"mutability":"mutable","name":"count","nameLocation":"128971:5:17","nodeType":"VariableDeclaration","scope":18582,"src":"128964:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18578,"name":"uint64","nodeType":"ElementaryTypeName","src":"128964:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"128918:59:17"},"returnParameters":{"id":18581,"nodeType":"ParameterList","parameters":[],"src":"128986:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18588,"nodeType":"FunctionDefinition","src":"129069:58:17","nodes":[],"documentation":{"id":18583,"nodeType":"StructuredDocumentation","src":"128993:71:17","text":"Expects an error on next call that exactly matches the revert data."},"functionSelector":"f28dceb3","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"129078:12:17","parameters":{"id":18586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18585,"mutability":"mutable","name":"revertData","nameLocation":"129106:10:17","nodeType":"VariableDeclaration","scope":18588,"src":"129091:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18584,"name":"bytes","nodeType":"ElementaryTypeName","src":"129091:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"129090:27:17"},"returnParameters":{"id":18587,"nodeType":"ParameterList","parameters":[],"src":"129126:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18594,"nodeType":"FunctionDefinition","src":"129213:49:17","nodes":[],"documentation":{"id":18589,"nodeType":"StructuredDocumentation","src":"129133:75:17","text":"Expects an error with any revert data on next call to reverter address."},"functionSelector":"d814f38a","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"129222:12:17","parameters":{"id":18592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18591,"mutability":"mutable","name":"reverter","nameLocation":"129243:8:17","nodeType":"VariableDeclaration","scope":18594,"src":"129235:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18590,"name":"address","nodeType":"ElementaryTypeName","src":"129235:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"129234:18:17"},"returnParameters":{"id":18593,"nodeType":"ParameterList","parameters":[],"src":"129261:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18602,"nodeType":"FunctionDefinition","src":"129351:68:17","nodes":[],"documentation":{"id":18595,"nodeType":"StructuredDocumentation","src":"129268:78:17","text":"Expects an error from reverter address on next call, with any revert data."},"functionSelector":"260bc5de","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"129360:12:17","parameters":{"id":18600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18597,"mutability":"mutable","name":"revertData","nameLocation":"129380:10:17","nodeType":"VariableDeclaration","scope":18602,"src":"129373:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18596,"name":"bytes4","nodeType":"ElementaryTypeName","src":"129373:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":18599,"mutability":"mutable","name":"reverter","nameLocation":"129400:8:17","nodeType":"VariableDeclaration","scope":18602,"src":"129392:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18598,"name":"address","nodeType":"ElementaryTypeName","src":"129392:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"129372:37:17"},"returnParameters":{"id":18601,"nodeType":"ParameterList","parameters":[],"src":"129418:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18610,"nodeType":"FunctionDefinition","src":"129524:76:17","nodes":[],"documentation":{"id":18603,"nodeType":"StructuredDocumentation","src":"129425:94:17","text":"Expects an error from reverter address on next call, that exactly matches the revert data."},"functionSelector":"61ebcf12","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"129533:12:17","parameters":{"id":18608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18605,"mutability":"mutable","name":"revertData","nameLocation":"129561:10:17","nodeType":"VariableDeclaration","scope":18610,"src":"129546:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18604,"name":"bytes","nodeType":"ElementaryTypeName","src":"129546:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18607,"mutability":"mutable","name":"reverter","nameLocation":"129581:8:17","nodeType":"VariableDeclaration","scope":18610,"src":"129573:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18606,"name":"address","nodeType":"ElementaryTypeName","src":"129573:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"129545:45:17"},"returnParameters":{"id":18609,"nodeType":"ParameterList","parameters":[],"src":"129599:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18616,"nodeType":"FunctionDefinition","src":"129708:45:17","nodes":[],"documentation":{"id":18611,"nodeType":"StructuredDocumentation","src":"129606:97:17","text":"Expects a `count` number of reverts from the upcoming calls with any revert data or reverter."},"functionSelector":"4ee38244","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"129717:12:17","parameters":{"id":18614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18613,"mutability":"mutable","name":"count","nameLocation":"129737:5:17","nodeType":"VariableDeclaration","scope":18616,"src":"129730:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18612,"name":"uint64","nodeType":"ElementaryTypeName","src":"129730:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"129729:14:17"},"returnParameters":{"id":18615,"nodeType":"ParameterList","parameters":[],"src":"129752:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18624,"nodeType":"FunctionDefinition","src":"129855:64:17","nodes":[],"documentation":{"id":18617,"nodeType":"StructuredDocumentation","src":"129759:91:17","text":"Expects a `count` number of reverts from the upcoming calls that match the revert data."},"functionSelector":"e45ca72d","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"129864:12:17","parameters":{"id":18622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18619,"mutability":"mutable","name":"revertData","nameLocation":"129884:10:17","nodeType":"VariableDeclaration","scope":18624,"src":"129877:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18618,"name":"bytes4","nodeType":"ElementaryTypeName","src":"129877:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":18621,"mutability":"mutable","name":"count","nameLocation":"129903:5:17","nodeType":"VariableDeclaration","scope":18624,"src":"129896:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18620,"name":"uint64","nodeType":"ElementaryTypeName","src":"129896:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"129876:33:17"},"returnParameters":{"id":18623,"nodeType":"ParameterList","parameters":[],"src":"129918:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18632,"nodeType":"FunctionDefinition","src":"130029:72:17","nodes":[],"documentation":{"id":18625,"nodeType":"StructuredDocumentation","src":"129925:99:17","text":"Expects a `count` number of reverts from the upcoming calls that exactly match the revert data."},"functionSelector":"4994c273","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"130038:12:17","parameters":{"id":18630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18627,"mutability":"mutable","name":"revertData","nameLocation":"130066:10:17","nodeType":"VariableDeclaration","scope":18632,"src":"130051:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":18626,"name":"bytes","nodeType":"ElementaryTypeName","src":"130051:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18629,"mutability":"mutable","name":"count","nameLocation":"130085:5:17","nodeType":"VariableDeclaration","scope":18632,"src":"130078:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18628,"name":"uint64","nodeType":"ElementaryTypeName","src":"130078:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"130050:41:17"},"returnParameters":{"id":18631,"nodeType":"ParameterList","parameters":[],"src":"130100:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18640,"nodeType":"FunctionDefinition","src":"130202:63:17","nodes":[],"documentation":{"id":18633,"nodeType":"StructuredDocumentation","src":"130107:90:17","text":"Expects a `count` number of reverts from the upcoming calls from the reverter address."},"functionSelector":"1ff5f952","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"130211:12:17","parameters":{"id":18638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18635,"mutability":"mutable","name":"reverter","nameLocation":"130232:8:17","nodeType":"VariableDeclaration","scope":18640,"src":"130224:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18634,"name":"address","nodeType":"ElementaryTypeName","src":"130224:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18637,"mutability":"mutable","name":"count","nameLocation":"130249:5:17","nodeType":"VariableDeclaration","scope":18640,"src":"130242:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18636,"name":"uint64","nodeType":"ElementaryTypeName","src":"130242:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"130223:32:17"},"returnParameters":{"id":18639,"nodeType":"ParameterList","parameters":[],"src":"130264:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18648,"nodeType":"FunctionDefinition","src":"130494:59:17","nodes":[],"documentation":{"id":18641,"nodeType":"StructuredDocumentation","src":"130271:218:17","text":"Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the current subcontext. If any other\n memory is written to, the test will fail. Can be called multiple times to add more ranges to the set."},"functionSelector":"6d016688","implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemory","nameLocation":"130503:16:17","parameters":{"id":18646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18643,"mutability":"mutable","name":"min","nameLocation":"130527:3:17","nodeType":"VariableDeclaration","scope":18648,"src":"130520:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18642,"name":"uint64","nodeType":"ElementaryTypeName","src":"130520:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18645,"mutability":"mutable","name":"max","nameLocation":"130539:3:17","nodeType":"VariableDeclaration","scope":18648,"src":"130532:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18644,"name":"uint64","nodeType":"ElementaryTypeName","src":"130532:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"130519:24:17"},"returnParameters":{"id":18647,"nodeType":"ParameterList","parameters":[],"src":"130552:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18656,"nodeType":"FunctionDefinition","src":"130795:63:17","nodes":[],"documentation":{"id":18649,"nodeType":"StructuredDocumentation","src":"130559:231:17","text":"Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the next created subcontext.\n If any other memory is written to, the test will fail. Can be called multiple times to add more ranges\n to the set."},"functionSelector":"05838bf4","implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemoryCall","nameLocation":"130804:20:17","parameters":{"id":18654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18651,"mutability":"mutable","name":"min","nameLocation":"130832:3:17","nodeType":"VariableDeclaration","scope":18656,"src":"130825:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18650,"name":"uint64","nodeType":"ElementaryTypeName","src":"130825:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18653,"mutability":"mutable","name":"max","nameLocation":"130844:3:17","nodeType":"VariableDeclaration","scope":18656,"src":"130837:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18652,"name":"uint64","nodeType":"ElementaryTypeName","src":"130837:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"130824:24:17"},"returnParameters":{"id":18655,"nodeType":"ParameterList","parameters":[],"src":"130857:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18662,"nodeType":"FunctionDefinition","src":"130940:38:17","nodes":[],"documentation":{"id":18657,"nodeType":"StructuredDocumentation","src":"130864:71:17","text":"Marks a test as skipped. Must be called at the top level of a test."},"functionSelector":"dd82d13e","implemented":false,"kind":"function","modifiers":[],"name":"skip","nameLocation":"130949:4:17","parameters":{"id":18660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18659,"mutability":"mutable","name":"skipTest","nameLocation":"130959:8:17","nodeType":"VariableDeclaration","scope":18662,"src":"130954:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18658,"name":"bool","nodeType":"ElementaryTypeName","src":"130954:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"130953:15:17"},"returnParameters":{"id":18661,"nodeType":"ParameterList","parameters":[],"src":"130977:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18670,"nodeType":"FunctionDefinition","src":"131074:62:17","nodes":[],"documentation":{"id":18663,"nodeType":"StructuredDocumentation","src":"130984:85:17","text":"Marks a test as skipped with a reason. Must be called at the top level of a test."},"functionSelector":"c42a80a7","implemented":false,"kind":"function","modifiers":[],"name":"skip","nameLocation":"131083:4:17","parameters":{"id":18668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18665,"mutability":"mutable","name":"skipTest","nameLocation":"131093:8:17","nodeType":"VariableDeclaration","scope":18670,"src":"131088:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18664,"name":"bool","nodeType":"ElementaryTypeName","src":"131088:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18667,"mutability":"mutable","name":"reason","nameLocation":"131119:6:17","nodeType":"VariableDeclaration","scope":18670,"src":"131103:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18666,"name":"string","nodeType":"ElementaryTypeName","src":"131103:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"131087:39:17"},"returnParameters":{"id":18669,"nodeType":"ParameterList","parameters":[],"src":"131135:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18674,"nodeType":"FunctionDefinition","src":"131211:41:17","nodes":[],"documentation":{"id":18671,"nodeType":"StructuredDocumentation","src":"131142:64:17","text":"Stops all safe memory expectation in the current subcontext."},"functionSelector":"0956441b","implemented":false,"kind":"function","modifiers":[],"name":"stopExpectSafeMemory","nameLocation":"131220:20:17","parameters":{"id":18672,"nodeType":"ParameterList","parameters":[],"src":"131240:2:17"},"returnParameters":{"id":18673,"nodeType":"ParameterList","parameters":[],"src":"131251:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18678,"nodeType":"FunctionDefinition","src":"131740:38:17","nodes":[],"documentation":{"id":18675,"nodeType":"StructuredDocumentation","src":"131294:441:17","text":"Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer.\n This allows type-safe access to the initcode payload that would be used for contract creation.\n Example usage:\n vm.interceptInitcode();\n bytes memory initcode;\n try new MyContract(param1, param2) { assert(false); }\n catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }"},"functionSelector":"838653c7","implemented":false,"kind":"function","modifiers":[],"name":"interceptInitcode","nameLocation":"131749:17:17","parameters":{"id":18676,"nodeType":"ParameterList","parameters":[],"src":"131766:2:17"},"returnParameters":{"id":18677,"nodeType":"ParameterList","parameters":[],"src":"131777:0:17"},"scope":18679,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":17610,"name":"VmSafe","nameLocations":["105204:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"105204:6:17"},"id":17611,"nodeType":"InheritanceSpecifier","src":"105204:6:17"}],"canonicalName":"Vm","contractDependencies":[],"contractKind":"interface","documentation":{"id":17609,"nodeType":"StructuredDocumentation","src":"105017:171:17","text":"The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used\n in tests, but it is not recommended to use these cheats in scripts."},"fullyImplemented":false,"linearizedBaseContracts":[18679,17608],"name":"Vm","nameLocation":"105198:2:17","scope":18680,"usedErrors":[],"usedEvents":[]}],"license":"MIT OR Apache-2.0"}},"lib/forge-std/src/console.sol":{"id":18,"ast":{"absolutePath":"lib/forge-std/src/console.sol","id":26796,"exportedSymbols":{"console":[26795]},"nodeType":"SourceUnit","src":"32:69238:18","nodes":[{"id":18681,"nodeType":"PragmaDirective","src":"32:32:18","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":26795,"nodeType":"ContractDefinition","src":"66:69203:18","nodes":[{"id":18684,"nodeType":"VariableDeclaration","src":"88:85:18","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"105:15:18","scope":26795,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18682,"name":"address","nodeType":"ElementaryTypeName","src":"88:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":18683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131:42:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":18695,"nodeType":"FunctionDefinition","src":"180:463:18","nodes":[],"body":{"id":18694,"nodeType":"Block","src":"255:388:18","nodes":[],"statements":[{"assignments":[18690],"declarations":[{"constant":false,"id":18690,"mutability":"mutable","name":"consoleAddress","nameLocation":"273:14:18","nodeType":"VariableDeclaration","scope":18694,"src":"265:22:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18689,"name":"address","nodeType":"ElementaryTypeName","src":"265:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":18692,"initialValue":{"id":18691,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18684,"src":"290:15:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"265:40:18"},{"AST":{"nativeSrc":"367:270:18","nodeType":"YulBlock","src":"367:270:18","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"434:3:18","nodeType":"YulIdentifier","src":"434:3:18"},"nativeSrc":"434:5:18","nodeType":"YulFunctionCall","src":"434:5:18"},{"name":"consoleAddress","nativeSrc":"461:14:18","nodeType":"YulIdentifier","src":"461:14:18"},{"arguments":[{"name":"payload","nativeSrc":"501:7:18","nodeType":"YulIdentifier","src":"501:7:18"},{"kind":"number","nativeSrc":"510:2:18","nodeType":"YulLiteral","src":"510:2:18","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"497:3:18","nodeType":"YulIdentifier","src":"497:3:18"},"nativeSrc":"497:16:18","nodeType":"YulFunctionCall","src":"497:16:18"},{"arguments":[{"name":"payload","nativeSrc":"541:7:18","nodeType":"YulIdentifier","src":"541:7:18"}],"functionName":{"name":"mload","nativeSrc":"535:5:18","nodeType":"YulIdentifier","src":"535:5:18"},"nativeSrc":"535:14:18","nodeType":"YulFunctionCall","src":"535:14:18"},{"kind":"number","nativeSrc":"571:1:18","nodeType":"YulLiteral","src":"571:1:18","type":"","value":"0"},{"kind":"number","nativeSrc":"594:1:18","nodeType":"YulLiteral","src":"594:1:18","type":"","value":"0"}],"functionName":{"name":"staticcall","nativeSrc":"402:10:18","nodeType":"YulIdentifier","src":"402:10:18"},"nativeSrc":"402:211:18","nodeType":"YulFunctionCall","src":"402:211:18"}],"functionName":{"name":"pop","nativeSrc":"381:3:18","nodeType":"YulIdentifier","src":"381:3:18"},"nativeSrc":"381:246:18","nodeType":"YulFunctionCall","src":"381:246:18"},"nativeSrc":"381:246:18","nodeType":"YulExpressionStatement","src":"381:246:18"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":18690,"isOffset":false,"isSlot":false,"src":"461:14:18","valueSize":1},{"declaration":18686,"isOffset":false,"isSlot":false,"src":"501:7:18","valueSize":1},{"declaration":18686,"isOffset":false,"isSlot":false,"src":"541:7:18","valueSize":1}],"id":18693,"nodeType":"InlineAssembly","src":"358:279:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadImplementation","nameLocation":"189:29:18","parameters":{"id":18687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18686,"mutability":"mutable","name":"payload","nameLocation":"232:7:18","nodeType":"VariableDeclaration","scope":18695,"src":"219:20:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18685,"name":"bytes","nodeType":"ElementaryTypeName","src":"219:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"218:22:18"},"returnParameters":{"id":18688,"nodeType":"ParameterList","parameters":[],"src":"255:0:18"},"scope":26795,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18712,"nodeType":"FunctionDefinition","src":"649:196:18","nodes":[],"body":{"id":18711,"nodeType":"Block","src":"783:62:18","nodes":[],"statements":[{"AST":{"nativeSrc":"802:37:18","nodeType":"YulBlock","src":"802:37:18","statements":[{"nativeSrc":"816:13:18","nodeType":"YulAssignment","src":"816:13:18","value":{"name":"fnIn","nativeSrc":"825:4:18","nodeType":"YulIdentifier","src":"825:4:18"},"variableNames":[{"name":"fnOut","nativeSrc":"816:5:18","nodeType":"YulIdentifier","src":"816:5:18"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":18701,"isOffset":false,"isSlot":false,"src":"825:4:18","valueSize":1},{"declaration":18708,"isOffset":false,"isSlot":false,"src":"816:5:18","valueSize":1}],"id":18710,"nodeType":"InlineAssembly","src":"793:46:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_castToPure","nameLocation":"658:11:18","parameters":{"id":18702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18701,"mutability":"mutable","name":"fnIn","nameLocation":"714:4:18","nodeType":"VariableDeclaration","scope":18712,"src":"677:41:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":18700,"nodeType":"FunctionTypeName","parameterTypes":{"id":18698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18700,"src":"686:12:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18696,"name":"bytes","nodeType":"ElementaryTypeName","src":"686:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"685:14:18"},"returnParameterTypes":{"id":18699,"nodeType":"ParameterList","parameters":[],"src":"714:0:18"},"src":"677:41:18","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"669:55:18"},"returnParameters":{"id":18709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18708,"mutability":"mutable","name":"fnOut","nameLocation":"776:5:18","nodeType":"VariableDeclaration","scope":18712,"src":"748:33:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":18707,"nodeType":"FunctionTypeName","parameterTypes":{"id":18705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18707,"src":"757:12:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18703,"name":"bytes","nodeType":"ElementaryTypeName","src":"757:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"756:14:18"},"returnParameterTypes":{"id":18706,"nodeType":"ParameterList","parameters":[],"src":"776:0:18"},"src":"748:33:18","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"747:35:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18724,"nodeType":"FunctionDefinition","src":"851:129:18","nodes":[],"body":{"id":18723,"nodeType":"Block","src":"912:68:18","nodes":[],"statements":[{"expression":{"arguments":[{"id":18720,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18714,"src":"965:7:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":18718,"name":"_sendLogPayloadImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18695,"src":"934:29:18","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}],"id":18717,"name":"_castToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18712,"src":"922:11:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_view$_t_bytes_memory_ptr_$returns$__$_$returns$_t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$_$","typeString":"function (function (bytes memory) view) pure returns (function (bytes memory) pure)"}},"id":18719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:51:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18722,"nodeType":"ExpressionStatement","src":"922:51:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"860:15:18","parameters":{"id":18715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18714,"mutability":"mutable","name":"payload","nameLocation":"889:7:18","nodeType":"VariableDeclaration","scope":18724,"src":"876:20:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18713,"name":"bytes","nodeType":"ElementaryTypeName","src":"876:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"875:22:18"},"returnParameters":{"id":18716,"nodeType":"ParameterList","parameters":[],"src":"912:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18735,"nodeType":"FunctionDefinition","src":"986:95:18","nodes":[],"body":{"id":18734,"nodeType":"Block","src":"1015:66:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":18730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1065:7:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":18728,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1041:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1045:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1041:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1041:32:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18727,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"1025:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1025:49:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18733,"nodeType":"ExpressionStatement","src":"1025:49:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"995:3:18","parameters":{"id":18725,"nodeType":"ParameterList","parameters":[],"src":"998:2:18"},"returnParameters":{"id":18726,"nodeType":"ParameterList","parameters":[],"src":"1015:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18749,"nodeType":"FunctionDefinition","src":"1087:117:18","nodes":[],"body":{"id":18748,"nodeType":"Block","src":"1128:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":18743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1178:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":18744,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18737,"src":"1193:2:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":18741,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1154:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1158:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1154:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1154:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18740,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"1138:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1138:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18747,"nodeType":"ExpressionStatement","src":"1138:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"1096:6:18","parameters":{"id":18738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18737,"mutability":"mutable","name":"p0","nameLocation":"1110:2:18","nodeType":"VariableDeclaration","scope":18749,"src":"1103:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18736,"name":"int256","nodeType":"ElementaryTypeName","src":"1103:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1102:11:18"},"returnParameters":{"id":18739,"nodeType":"ParameterList","parameters":[],"src":"1128:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18763,"nodeType":"FunctionDefinition","src":"1210:120:18","nodes":[],"body":{"id":18762,"nodeType":"Block","src":"1253:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":18757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1303:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":18758,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18751,"src":"1319:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18755,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1279:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1283:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1279:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1279:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18754,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"1263:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1263:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18761,"nodeType":"ExpressionStatement","src":"1263:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"1219:7:18","parameters":{"id":18752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18751,"mutability":"mutable","name":"p0","nameLocation":"1235:2:18","nodeType":"VariableDeclaration","scope":18763,"src":"1227:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18750,"name":"uint256","nodeType":"ElementaryTypeName","src":"1227:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1226:12:18"},"returnParameters":{"id":18753,"nodeType":"ParameterList","parameters":[],"src":"1253:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18777,"nodeType":"FunctionDefinition","src":"1336:127:18","nodes":[],"body":{"id":18776,"nodeType":"Block","src":"1387:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":18771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1437:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":18772,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18765,"src":"1452:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1413:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1417:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1413:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18768,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"1397:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1397:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18775,"nodeType":"ExpressionStatement","src":"1397:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"1345:9:18","parameters":{"id":18766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18765,"mutability":"mutable","name":"p0","nameLocation":"1369:2:18","nodeType":"VariableDeclaration","scope":18777,"src":"1355:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18764,"name":"string","nodeType":"ElementaryTypeName","src":"1355:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1354:18:18"},"returnParameters":{"id":18767,"nodeType":"ParameterList","parameters":[],"src":"1387:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18791,"nodeType":"FunctionDefinition","src":"1469:114:18","nodes":[],"body":{"id":18790,"nodeType":"Block","src":"1509:74:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":18785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1559:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":18786,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18779,"src":"1572:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1535:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1539:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1535:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1535:40:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18782,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"1519:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1519:57:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18789,"nodeType":"ExpressionStatement","src":"1519:57:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1478:7:18","parameters":{"id":18780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18779,"mutability":"mutable","name":"p0","nameLocation":"1491:2:18","nodeType":"VariableDeclaration","scope":18791,"src":"1486:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18778,"name":"bool","nodeType":"ElementaryTypeName","src":"1486:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1485:9:18"},"returnParameters":{"id":18781,"nodeType":"ParameterList","parameters":[],"src":"1509:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18805,"nodeType":"FunctionDefinition","src":"1589:123:18","nodes":[],"body":{"id":18804,"nodeType":"Block","src":"1635:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":18799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1685:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":18800,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18793,"src":"1701:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18797,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1661:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1665:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1661:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1661:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18796,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"1645:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1645:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18803,"nodeType":"ExpressionStatement","src":"1645:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1598:10:18","parameters":{"id":18794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18793,"mutability":"mutable","name":"p0","nameLocation":"1617:2:18","nodeType":"VariableDeclaration","scope":18805,"src":"1609:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18792,"name":"address","nodeType":"ElementaryTypeName","src":"1609:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1608:12:18"},"returnParameters":{"id":18795,"nodeType":"ParameterList","parameters":[],"src":"1635:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18819,"nodeType":"FunctionDefinition","src":"1718:124:18","nodes":[],"body":{"id":18818,"nodeType":"Block","src":"1767:75:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":18813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1817:12:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":18814,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18807,"src":"1831:2:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":18811,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1793:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1797:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1793:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1793:41:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18810,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"1777:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1777:58:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18817,"nodeType":"ExpressionStatement","src":"1777:58:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1727:8:18","parameters":{"id":18808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18807,"mutability":"mutable","name":"p0","nameLocation":"1749:2:18","nodeType":"VariableDeclaration","scope":18819,"src":"1736:15:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18806,"name":"bytes","nodeType":"ElementaryTypeName","src":"1736:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1735:17:18"},"returnParameters":{"id":18809,"nodeType":"ParameterList","parameters":[],"src":"1767:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18833,"nodeType":"FunctionDefinition","src":"1848:120:18","nodes":[],"body":{"id":18832,"nodeType":"Block","src":"1892:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":18827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1942:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":18828,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18821,"src":"1957:2:18","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":18825,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1918:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1922:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1918:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18824,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"1902:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1902:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18831,"nodeType":"ExpressionStatement","src":"1902:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1857:9:18","parameters":{"id":18822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18821,"mutability":"mutable","name":"p0","nameLocation":"1874:2:18","nodeType":"VariableDeclaration","scope":18833,"src":"1867:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":18820,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1867:6:18","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1866:11:18"},"returnParameters":{"id":18823,"nodeType":"ParameterList","parameters":[],"src":"1892:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18847,"nodeType":"FunctionDefinition","src":"1974:120:18","nodes":[],"body":{"id":18846,"nodeType":"Block","src":"2018:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":18841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2068:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":18842,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18835,"src":"2083:2:18","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":18839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2044:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2048:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2044:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18838,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"2028:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2028:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18845,"nodeType":"ExpressionStatement","src":"2028:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"1983:9:18","parameters":{"id":18836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18835,"mutability":"mutable","name":"p0","nameLocation":"2000:2:18","nodeType":"VariableDeclaration","scope":18847,"src":"1993:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":18834,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1993:6:18","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"1992:11:18"},"returnParameters":{"id":18837,"nodeType":"ParameterList","parameters":[],"src":"2018:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18861,"nodeType":"FunctionDefinition","src":"2100:120:18","nodes":[],"body":{"id":18860,"nodeType":"Block","src":"2144:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":18855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2194:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":18856,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18849,"src":"2209:2:18","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":18853,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2170:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2174:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2170:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2170:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18852,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"2154:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18859,"nodeType":"ExpressionStatement","src":"2154:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"2109:9:18","parameters":{"id":18850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18849,"mutability":"mutable","name":"p0","nameLocation":"2126:2:18","nodeType":"VariableDeclaration","scope":18861,"src":"2119:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":18848,"name":"bytes3","nodeType":"ElementaryTypeName","src":"2119:6:18","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"2118:11:18"},"returnParameters":{"id":18851,"nodeType":"ParameterList","parameters":[],"src":"2144:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18875,"nodeType":"FunctionDefinition","src":"2226:120:18","nodes":[],"body":{"id":18874,"nodeType":"Block","src":"2270:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":18869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2320:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":18870,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18863,"src":"2335:2:18","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":18867,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2296:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2300:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2296:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2296:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18866,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"2280:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2280:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18873,"nodeType":"ExpressionStatement","src":"2280:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"2235:9:18","parameters":{"id":18864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18863,"mutability":"mutable","name":"p0","nameLocation":"2252:2:18","nodeType":"VariableDeclaration","scope":18875,"src":"2245:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18862,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2245:6:18","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2244:11:18"},"returnParameters":{"id":18865,"nodeType":"ParameterList","parameters":[],"src":"2270:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18889,"nodeType":"FunctionDefinition","src":"2352:120:18","nodes":[],"body":{"id":18888,"nodeType":"Block","src":"2396:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":18883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2446:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":18884,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18877,"src":"2461:2:18","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":18881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2422:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2426:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2422:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2422:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18880,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"2406:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2406:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18887,"nodeType":"ExpressionStatement","src":"2406:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"2361:9:18","parameters":{"id":18878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18877,"mutability":"mutable","name":"p0","nameLocation":"2378:2:18","nodeType":"VariableDeclaration","scope":18889,"src":"2371:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":18876,"name":"bytes5","nodeType":"ElementaryTypeName","src":"2371:6:18","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"2370:11:18"},"returnParameters":{"id":18879,"nodeType":"ParameterList","parameters":[],"src":"2396:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18903,"nodeType":"FunctionDefinition","src":"2478:120:18","nodes":[],"body":{"id":18902,"nodeType":"Block","src":"2522:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":18897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2572:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":18898,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18891,"src":"2587:2:18","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":18895,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2548:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2552:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2548:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2548:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18894,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"2532:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2532:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18901,"nodeType":"ExpressionStatement","src":"2532:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2487:9:18","parameters":{"id":18892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18891,"mutability":"mutable","name":"p0","nameLocation":"2504:2:18","nodeType":"VariableDeclaration","scope":18903,"src":"2497:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":18890,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2497:6:18","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2496:11:18"},"returnParameters":{"id":18893,"nodeType":"ParameterList","parameters":[],"src":"2522:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18917,"nodeType":"FunctionDefinition","src":"2604:120:18","nodes":[],"body":{"id":18916,"nodeType":"Block","src":"2648:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":18911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2698:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":18912,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18905,"src":"2713:2:18","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":18909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2674:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2678:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2674:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2674:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"2658:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2658:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18915,"nodeType":"ExpressionStatement","src":"2658:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2613:9:18","parameters":{"id":18906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18905,"mutability":"mutable","name":"p0","nameLocation":"2630:2:18","nodeType":"VariableDeclaration","scope":18917,"src":"2623:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":18904,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2623:6:18","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2622:11:18"},"returnParameters":{"id":18907,"nodeType":"ParameterList","parameters":[],"src":"2648:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18931,"nodeType":"FunctionDefinition","src":"2730:120:18","nodes":[],"body":{"id":18930,"nodeType":"Block","src":"2774:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":18925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2824:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":18926,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18919,"src":"2839:2:18","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":18923,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2800:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2804:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2800:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2800:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18922,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"2784:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2784:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18929,"nodeType":"ExpressionStatement","src":"2784:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2739:9:18","parameters":{"id":18920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18919,"mutability":"mutable","name":"p0","nameLocation":"2756:2:18","nodeType":"VariableDeclaration","scope":18931,"src":"2749:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":18918,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2749:6:18","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2748:11:18"},"returnParameters":{"id":18921,"nodeType":"ParameterList","parameters":[],"src":"2774:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18945,"nodeType":"FunctionDefinition","src":"2856:120:18","nodes":[],"body":{"id":18944,"nodeType":"Block","src":"2900:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":18939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2950:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":18940,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18933,"src":"2965:2:18","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":18937,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2926:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2930:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2926:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2926:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18936,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"2910:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2910:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18943,"nodeType":"ExpressionStatement","src":"2910:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2865:9:18","parameters":{"id":18934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18933,"mutability":"mutable","name":"p0","nameLocation":"2882:2:18","nodeType":"VariableDeclaration","scope":18945,"src":"2875:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":18932,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2875:6:18","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2874:11:18"},"returnParameters":{"id":18935,"nodeType":"ParameterList","parameters":[],"src":"2900:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18959,"nodeType":"FunctionDefinition","src":"2982:123:18","nodes":[],"body":{"id":18958,"nodeType":"Block","src":"3028:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":18953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3078:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":18954,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18947,"src":"3094:2:18","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":18951,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3054:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3058:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3054:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3054:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18950,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"3038:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3038:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18957,"nodeType":"ExpressionStatement","src":"3038:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"2991:10:18","parameters":{"id":18948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18947,"mutability":"mutable","name":"p0","nameLocation":"3010:2:18","nodeType":"VariableDeclaration","scope":18959,"src":"3002:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":18946,"name":"bytes10","nodeType":"ElementaryTypeName","src":"3002:7:18","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"3001:12:18"},"returnParameters":{"id":18949,"nodeType":"ParameterList","parameters":[],"src":"3028:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18973,"nodeType":"FunctionDefinition","src":"3111:123:18","nodes":[],"body":{"id":18972,"nodeType":"Block","src":"3157:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":18967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3207:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":18968,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18961,"src":"3223:2:18","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":18965,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3183:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3187:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3183:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3183:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18964,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"3167:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3167:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18971,"nodeType":"ExpressionStatement","src":"3167:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"3120:10:18","parameters":{"id":18962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18961,"mutability":"mutable","name":"p0","nameLocation":"3139:2:18","nodeType":"VariableDeclaration","scope":18973,"src":"3131:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":18960,"name":"bytes11","nodeType":"ElementaryTypeName","src":"3131:7:18","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"3130:12:18"},"returnParameters":{"id":18963,"nodeType":"ParameterList","parameters":[],"src":"3157:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18987,"nodeType":"FunctionDefinition","src":"3240:123:18","nodes":[],"body":{"id":18986,"nodeType":"Block","src":"3286:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":18981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3336:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":18982,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18975,"src":"3352:2:18","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":18979,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3312:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3316:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3312:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3312:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18978,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"3296:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3296:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18985,"nodeType":"ExpressionStatement","src":"3296:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"3249:10:18","parameters":{"id":18976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18975,"mutability":"mutable","name":"p0","nameLocation":"3268:2:18","nodeType":"VariableDeclaration","scope":18987,"src":"3260:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":18974,"name":"bytes12","nodeType":"ElementaryTypeName","src":"3260:7:18","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"3259:12:18"},"returnParameters":{"id":18977,"nodeType":"ParameterList","parameters":[],"src":"3286:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19001,"nodeType":"FunctionDefinition","src":"3369:123:18","nodes":[],"body":{"id":19000,"nodeType":"Block","src":"3415:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":18995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3465:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":18996,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18989,"src":"3481:2:18","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":18993,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3441:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3445:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3441:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3441:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18992,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"3425:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3425:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18999,"nodeType":"ExpressionStatement","src":"3425:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"3378:10:18","parameters":{"id":18990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18989,"mutability":"mutable","name":"p0","nameLocation":"3397:2:18","nodeType":"VariableDeclaration","scope":19001,"src":"3389:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":18988,"name":"bytes13","nodeType":"ElementaryTypeName","src":"3389:7:18","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"3388:12:18"},"returnParameters":{"id":18991,"nodeType":"ParameterList","parameters":[],"src":"3415:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19015,"nodeType":"FunctionDefinition","src":"3498:123:18","nodes":[],"body":{"id":19014,"nodeType":"Block","src":"3544:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":19009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3594:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":19010,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19003,"src":"3610:2:18","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":19007,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3570:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3574:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3570:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19006,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"3554:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3554:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19013,"nodeType":"ExpressionStatement","src":"3554:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3507:10:18","parameters":{"id":19004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19003,"mutability":"mutable","name":"p0","nameLocation":"3526:2:18","nodeType":"VariableDeclaration","scope":19015,"src":"3518:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":19002,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3518:7:18","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3517:12:18"},"returnParameters":{"id":19005,"nodeType":"ParameterList","parameters":[],"src":"3544:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19029,"nodeType":"FunctionDefinition","src":"3627:123:18","nodes":[],"body":{"id":19028,"nodeType":"Block","src":"3673:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":19023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3723:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":19024,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19017,"src":"3739:2:18","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":19021,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3699:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3703:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3699:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3699:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19020,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"3683:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3683:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19027,"nodeType":"ExpressionStatement","src":"3683:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3636:10:18","parameters":{"id":19018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19017,"mutability":"mutable","name":"p0","nameLocation":"3655:2:18","nodeType":"VariableDeclaration","scope":19029,"src":"3647:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":19016,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3647:7:18","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3646:12:18"},"returnParameters":{"id":19019,"nodeType":"ParameterList","parameters":[],"src":"3673:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19043,"nodeType":"FunctionDefinition","src":"3756:123:18","nodes":[],"body":{"id":19042,"nodeType":"Block","src":"3802:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":19037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3852:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":19038,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19031,"src":"3868:2:18","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":19035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3828:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3832:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3828:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3828:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19034,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"3812:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3812:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19041,"nodeType":"ExpressionStatement","src":"3812:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3765:10:18","parameters":{"id":19032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19031,"mutability":"mutable","name":"p0","nameLocation":"3784:2:18","nodeType":"VariableDeclaration","scope":19043,"src":"3776:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":19030,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3776:7:18","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3775:12:18"},"returnParameters":{"id":19033,"nodeType":"ParameterList","parameters":[],"src":"3802:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19057,"nodeType":"FunctionDefinition","src":"3885:123:18","nodes":[],"body":{"id":19056,"nodeType":"Block","src":"3931:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":19051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3981:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":19052,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19045,"src":"3997:2:18","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":19049,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3957:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3961:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3957:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3957:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19048,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"3941:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3941:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19055,"nodeType":"ExpressionStatement","src":"3941:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3894:10:18","parameters":{"id":19046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19045,"mutability":"mutable","name":"p0","nameLocation":"3913:2:18","nodeType":"VariableDeclaration","scope":19057,"src":"3905:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":19044,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3905:7:18","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3904:12:18"},"returnParameters":{"id":19047,"nodeType":"ParameterList","parameters":[],"src":"3931:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19071,"nodeType":"FunctionDefinition","src":"4014:123:18","nodes":[],"body":{"id":19070,"nodeType":"Block","src":"4060:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":19065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4110:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":19066,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19059,"src":"4126:2:18","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":19063,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4086:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4090:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4086:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4086:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19062,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"4070:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4070:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19069,"nodeType":"ExpressionStatement","src":"4070:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"4023:10:18","parameters":{"id":19060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19059,"mutability":"mutable","name":"p0","nameLocation":"4042:2:18","nodeType":"VariableDeclaration","scope":19071,"src":"4034:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":19058,"name":"bytes18","nodeType":"ElementaryTypeName","src":"4034:7:18","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"4033:12:18"},"returnParameters":{"id":19061,"nodeType":"ParameterList","parameters":[],"src":"4060:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19085,"nodeType":"FunctionDefinition","src":"4143:123:18","nodes":[],"body":{"id":19084,"nodeType":"Block","src":"4189:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":19079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4239:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":19080,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19073,"src":"4255:2:18","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":19077,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4215:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4219:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4215:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4215:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19076,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"4199:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4199:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19083,"nodeType":"ExpressionStatement","src":"4199:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"4152:10:18","parameters":{"id":19074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19073,"mutability":"mutable","name":"p0","nameLocation":"4171:2:18","nodeType":"VariableDeclaration","scope":19085,"src":"4163:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":19072,"name":"bytes19","nodeType":"ElementaryTypeName","src":"4163:7:18","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"4162:12:18"},"returnParameters":{"id":19075,"nodeType":"ParameterList","parameters":[],"src":"4189:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19099,"nodeType":"FunctionDefinition","src":"4272:123:18","nodes":[],"body":{"id":19098,"nodeType":"Block","src":"4318:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":19093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4368:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":19094,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19087,"src":"4384:2:18","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":19091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4344:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4348:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4344:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4344:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19090,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"4328:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4328:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19097,"nodeType":"ExpressionStatement","src":"4328:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"4281:10:18","parameters":{"id":19088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19087,"mutability":"mutable","name":"p0","nameLocation":"4300:2:18","nodeType":"VariableDeclaration","scope":19099,"src":"4292:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":19086,"name":"bytes20","nodeType":"ElementaryTypeName","src":"4292:7:18","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"4291:12:18"},"returnParameters":{"id":19089,"nodeType":"ParameterList","parameters":[],"src":"4318:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19113,"nodeType":"FunctionDefinition","src":"4401:123:18","nodes":[],"body":{"id":19112,"nodeType":"Block","src":"4447:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":19107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4497:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":19108,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19101,"src":"4513:2:18","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":19105,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4473:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4477:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4473:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4473:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19104,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"4457:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4457:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19111,"nodeType":"ExpressionStatement","src":"4457:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"4410:10:18","parameters":{"id":19102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19101,"mutability":"mutable","name":"p0","nameLocation":"4429:2:18","nodeType":"VariableDeclaration","scope":19113,"src":"4421:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":19100,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4421:7:18","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"4420:12:18"},"returnParameters":{"id":19103,"nodeType":"ParameterList","parameters":[],"src":"4447:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19127,"nodeType":"FunctionDefinition","src":"4530:123:18","nodes":[],"body":{"id":19126,"nodeType":"Block","src":"4576:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":19121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4626:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":19122,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19115,"src":"4642:2:18","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":19119,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4602:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4606:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4602:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4602:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19118,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"4586:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4586:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19125,"nodeType":"ExpressionStatement","src":"4586:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4539:10:18","parameters":{"id":19116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19115,"mutability":"mutable","name":"p0","nameLocation":"4558:2:18","nodeType":"VariableDeclaration","scope":19127,"src":"4550:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":19114,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4550:7:18","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4549:12:18"},"returnParameters":{"id":19117,"nodeType":"ParameterList","parameters":[],"src":"4576:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19141,"nodeType":"FunctionDefinition","src":"4659:123:18","nodes":[],"body":{"id":19140,"nodeType":"Block","src":"4705:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":19135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4755:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":19136,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19129,"src":"4771:2:18","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":19133,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4731:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4735:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4731:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4731:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19132,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"4715:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4715:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19139,"nodeType":"ExpressionStatement","src":"4715:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4668:10:18","parameters":{"id":19130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19129,"mutability":"mutable","name":"p0","nameLocation":"4687:2:18","nodeType":"VariableDeclaration","scope":19141,"src":"4679:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":19128,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4679:7:18","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4678:12:18"},"returnParameters":{"id":19131,"nodeType":"ParameterList","parameters":[],"src":"4705:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19155,"nodeType":"FunctionDefinition","src":"4788:123:18","nodes":[],"body":{"id":19154,"nodeType":"Block","src":"4834:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":19149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4884:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":19150,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19143,"src":"4900:2:18","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":19147,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4860:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4864:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4860:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4860:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19146,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"4844:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4844:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19153,"nodeType":"ExpressionStatement","src":"4844:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4797:10:18","parameters":{"id":19144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19143,"mutability":"mutable","name":"p0","nameLocation":"4816:2:18","nodeType":"VariableDeclaration","scope":19155,"src":"4808:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":19142,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4808:7:18","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4807:12:18"},"returnParameters":{"id":19145,"nodeType":"ParameterList","parameters":[],"src":"4834:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19169,"nodeType":"FunctionDefinition","src":"4917:123:18","nodes":[],"body":{"id":19168,"nodeType":"Block","src":"4963:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":19163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5013:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":19164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19157,"src":"5029:2:18","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":19161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4989:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4993:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4989:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4989:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"4973:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4973:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19167,"nodeType":"ExpressionStatement","src":"4973:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4926:10:18","parameters":{"id":19158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19157,"mutability":"mutable","name":"p0","nameLocation":"4945:2:18","nodeType":"VariableDeclaration","scope":19169,"src":"4937:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":19156,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4937:7:18","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4936:12:18"},"returnParameters":{"id":19159,"nodeType":"ParameterList","parameters":[],"src":"4963:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19183,"nodeType":"FunctionDefinition","src":"5046:123:18","nodes":[],"body":{"id":19182,"nodeType":"Block","src":"5092:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":19177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5142:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":19178,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19171,"src":"5158:2:18","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":19175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5118:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5122:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5118:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5118:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19174,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"5102:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5102:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19181,"nodeType":"ExpressionStatement","src":"5102:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"5055:10:18","parameters":{"id":19172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19171,"mutability":"mutable","name":"p0","nameLocation":"5074:2:18","nodeType":"VariableDeclaration","scope":19183,"src":"5066:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":19170,"name":"bytes26","nodeType":"ElementaryTypeName","src":"5066:7:18","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"5065:12:18"},"returnParameters":{"id":19173,"nodeType":"ParameterList","parameters":[],"src":"5092:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19197,"nodeType":"FunctionDefinition","src":"5175:123:18","nodes":[],"body":{"id":19196,"nodeType":"Block","src":"5221:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":19191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5271:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":19192,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19185,"src":"5287:2:18","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":19189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5247:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5251:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5247:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5247:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19188,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"5231:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5231:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19195,"nodeType":"ExpressionStatement","src":"5231:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"5184:10:18","parameters":{"id":19186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19185,"mutability":"mutable","name":"p0","nameLocation":"5203:2:18","nodeType":"VariableDeclaration","scope":19197,"src":"5195:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":19184,"name":"bytes27","nodeType":"ElementaryTypeName","src":"5195:7:18","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"5194:12:18"},"returnParameters":{"id":19187,"nodeType":"ParameterList","parameters":[],"src":"5221:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19211,"nodeType":"FunctionDefinition","src":"5304:123:18","nodes":[],"body":{"id":19210,"nodeType":"Block","src":"5350:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":19205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5400:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":19206,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19199,"src":"5416:2:18","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":19203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5376:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5380:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5376:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5376:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19202,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"5360:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5360:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19209,"nodeType":"ExpressionStatement","src":"5360:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"5313:10:18","parameters":{"id":19200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19199,"mutability":"mutable","name":"p0","nameLocation":"5332:2:18","nodeType":"VariableDeclaration","scope":19211,"src":"5324:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":19198,"name":"bytes28","nodeType":"ElementaryTypeName","src":"5324:7:18","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"5323:12:18"},"returnParameters":{"id":19201,"nodeType":"ParameterList","parameters":[],"src":"5350:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19225,"nodeType":"FunctionDefinition","src":"5433:123:18","nodes":[],"body":{"id":19224,"nodeType":"Block","src":"5479:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":19219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5529:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":19220,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19213,"src":"5545:2:18","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":19217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5505:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5509:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5505:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5505:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19216,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"5489:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5489:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19223,"nodeType":"ExpressionStatement","src":"5489:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5442:10:18","parameters":{"id":19214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19213,"mutability":"mutable","name":"p0","nameLocation":"5461:2:18","nodeType":"VariableDeclaration","scope":19225,"src":"5453:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":19212,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5453:7:18","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5452:12:18"},"returnParameters":{"id":19215,"nodeType":"ParameterList","parameters":[],"src":"5479:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19239,"nodeType":"FunctionDefinition","src":"5562:123:18","nodes":[],"body":{"id":19238,"nodeType":"Block","src":"5608:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":19233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5658:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":19234,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19227,"src":"5674:2:18","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":19231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5634:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5638:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5634:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5634:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19230,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"5618:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19237,"nodeType":"ExpressionStatement","src":"5618:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5571:10:18","parameters":{"id":19228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19227,"mutability":"mutable","name":"p0","nameLocation":"5590:2:18","nodeType":"VariableDeclaration","scope":19239,"src":"5582:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":19226,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5582:7:18","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5581:12:18"},"returnParameters":{"id":19229,"nodeType":"ParameterList","parameters":[],"src":"5608:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19253,"nodeType":"FunctionDefinition","src":"5691:123:18","nodes":[],"body":{"id":19252,"nodeType":"Block","src":"5737:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":19247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5787:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":19248,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19241,"src":"5803:2:18","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":19245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5763:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5767:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5763:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5763:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19244,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"5747:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5747:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19251,"nodeType":"ExpressionStatement","src":"5747:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5700:10:18","parameters":{"id":19242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19241,"mutability":"mutable","name":"p0","nameLocation":"5719:2:18","nodeType":"VariableDeclaration","scope":19253,"src":"5711:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":19240,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5711:7:18","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5710:12:18"},"returnParameters":{"id":19243,"nodeType":"ParameterList","parameters":[],"src":"5737:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19267,"nodeType":"FunctionDefinition","src":"5820:123:18","nodes":[],"body":{"id":19266,"nodeType":"Block","src":"5866:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":19261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5916:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":19262,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19255,"src":"5932:2:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":19259,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5892:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5896:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5892:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5892:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19258,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"5876:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19265,"nodeType":"ExpressionStatement","src":"5876:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5829:10:18","parameters":{"id":19256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19255,"mutability":"mutable","name":"p0","nameLocation":"5848:2:18","nodeType":"VariableDeclaration","scope":19267,"src":"5840:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5840:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5839:12:18"},"returnParameters":{"id":19257,"nodeType":"ParameterList","parameters":[],"src":"5866:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19281,"nodeType":"FunctionDefinition","src":"5949:116:18","nodes":[],"body":{"id":19280,"nodeType":"Block","src":"5988:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":19275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6038:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":19276,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19269,"src":"6054:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19273,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6014:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6018:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6014:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6014:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19272,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"5998:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19279,"nodeType":"ExpressionStatement","src":"5998:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5958:3:18","parameters":{"id":19270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19269,"mutability":"mutable","name":"p0","nameLocation":"5970:2:18","nodeType":"VariableDeclaration","scope":19281,"src":"5962:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19268,"name":"uint256","nodeType":"ElementaryTypeName","src":"5962:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5961:12:18"},"returnParameters":{"id":19271,"nodeType":"ParameterList","parameters":[],"src":"5988:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19295,"nodeType":"FunctionDefinition","src":"6071:114:18","nodes":[],"body":{"id":19294,"nodeType":"Block","src":"6109:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":19289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6159:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":19290,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19283,"src":"6174:2:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":19287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6135:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6139:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6135:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6135:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19286,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"6119:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6119:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19293,"nodeType":"ExpressionStatement","src":"6119:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6080:3:18","parameters":{"id":19284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19283,"mutability":"mutable","name":"p0","nameLocation":"6091:2:18","nodeType":"VariableDeclaration","scope":19295,"src":"6084:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":19282,"name":"int256","nodeType":"ElementaryTypeName","src":"6084:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6083:11:18"},"returnParameters":{"id":19285,"nodeType":"ParameterList","parameters":[],"src":"6109:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19309,"nodeType":"FunctionDefinition","src":"6191:121:18","nodes":[],"body":{"id":19308,"nodeType":"Block","src":"6236:76:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":19303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6286:13:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":19304,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19297,"src":"6301:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19301,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6262:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6266:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6262:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6262:42:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19300,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"6246:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6246:59:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19307,"nodeType":"ExpressionStatement","src":"6246:59:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6200:3:18","parameters":{"id":19298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19297,"mutability":"mutable","name":"p0","nameLocation":"6218:2:18","nodeType":"VariableDeclaration","scope":19309,"src":"6204:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19296,"name":"string","nodeType":"ElementaryTypeName","src":"6204:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6203:18:18"},"returnParameters":{"id":19299,"nodeType":"ParameterList","parameters":[],"src":"6236:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19323,"nodeType":"FunctionDefinition","src":"6318:110:18","nodes":[],"body":{"id":19322,"nodeType":"Block","src":"6354:74:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":19317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6404:11:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":19318,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19311,"src":"6417:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19315,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6380:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6384:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6380:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6380:40:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19314,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"6364:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6364:57:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19321,"nodeType":"ExpressionStatement","src":"6364:57:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6327:3:18","parameters":{"id":19312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19311,"mutability":"mutable","name":"p0","nameLocation":"6336:2:18","nodeType":"VariableDeclaration","scope":19323,"src":"6331:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19310,"name":"bool","nodeType":"ElementaryTypeName","src":"6331:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6330:9:18"},"returnParameters":{"id":19313,"nodeType":"ParameterList","parameters":[],"src":"6354:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19337,"nodeType":"FunctionDefinition","src":"6434:116:18","nodes":[],"body":{"id":19336,"nodeType":"Block","src":"6473:77:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":19331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6523:14:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":19332,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19325,"src":"6539:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6499:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6503:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6499:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6499:43:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19328,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"6483:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19335,"nodeType":"ExpressionStatement","src":"6483:60:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6443:3:18","parameters":{"id":19326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19325,"mutability":"mutable","name":"p0","nameLocation":"6455:2:18","nodeType":"VariableDeclaration","scope":19337,"src":"6447:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19324,"name":"address","nodeType":"ElementaryTypeName","src":"6447:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6446:12:18"},"returnParameters":{"id":19327,"nodeType":"ParameterList","parameters":[],"src":"6473:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19354,"nodeType":"FunctionDefinition","src":"6556:140:18","nodes":[],"body":{"id":19353,"nodeType":"Block","src":"6607:89:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e7432353629","id":19347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6657:22:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},"value":"log(uint256,uint256)"},{"id":19348,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19339,"src":"6681:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19349,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19341,"src":"6685:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19345,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6633:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6637:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6633:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6633:55:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19344,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"6617:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6617:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19352,"nodeType":"ExpressionStatement","src":"6617:72:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6565:3:18","parameters":{"id":19342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19339,"mutability":"mutable","name":"p0","nameLocation":"6577:2:18","nodeType":"VariableDeclaration","scope":19354,"src":"6569:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19338,"name":"uint256","nodeType":"ElementaryTypeName","src":"6569:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19341,"mutability":"mutable","name":"p1","nameLocation":"6589:2:18","nodeType":"VariableDeclaration","scope":19354,"src":"6581:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19340,"name":"uint256","nodeType":"ElementaryTypeName","src":"6581:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6568:24:18"},"returnParameters":{"id":19343,"nodeType":"ParameterList","parameters":[],"src":"6607:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19371,"nodeType":"FunctionDefinition","src":"6702:145:18","nodes":[],"body":{"id":19370,"nodeType":"Block","src":"6759:88:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e6729","id":19364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6809:21:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},"value":"log(uint256,string)"},{"id":19365,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19356,"src":"6832:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19366,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19358,"src":"6836:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6785:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6789:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6785:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6785:54:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19361,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"6769:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6769:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19369,"nodeType":"ExpressionStatement","src":"6769:71:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6711:3:18","parameters":{"id":19359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19356,"mutability":"mutable","name":"p0","nameLocation":"6723:2:18","nodeType":"VariableDeclaration","scope":19371,"src":"6715:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19355,"name":"uint256","nodeType":"ElementaryTypeName","src":"6715:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19358,"mutability":"mutable","name":"p1","nameLocation":"6741:2:18","nodeType":"VariableDeclaration","scope":19371,"src":"6727:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19357,"name":"string","nodeType":"ElementaryTypeName","src":"6727:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6714:30:18"},"returnParameters":{"id":19360,"nodeType":"ParameterList","parameters":[],"src":"6759:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19388,"nodeType":"FunctionDefinition","src":"6853:134:18","nodes":[],"body":{"id":19387,"nodeType":"Block","src":"6901:86:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c29","id":19381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6951:19:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},"value":"log(uint256,bool)"},{"id":19382,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19373,"src":"6972:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19383,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19375,"src":"6976:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19379,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6927:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6931:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6927:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6927:52:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19378,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"6911:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6911:69:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19386,"nodeType":"ExpressionStatement","src":"6911:69:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6862:3:18","parameters":{"id":19376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19373,"mutability":"mutable","name":"p0","nameLocation":"6874:2:18","nodeType":"VariableDeclaration","scope":19388,"src":"6866:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6866:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19375,"mutability":"mutable","name":"p1","nameLocation":"6883:2:18","nodeType":"VariableDeclaration","scope":19388,"src":"6878:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19374,"name":"bool","nodeType":"ElementaryTypeName","src":"6878:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6865:21:18"},"returnParameters":{"id":19377,"nodeType":"ParameterList","parameters":[],"src":"6901:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19405,"nodeType":"FunctionDefinition","src":"6993:140:18","nodes":[],"body":{"id":19404,"nodeType":"Block","src":"7044:89:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c6164647265737329","id":19398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7094:22:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},"value":"log(uint256,address)"},{"id":19399,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19390,"src":"7118:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19400,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19392,"src":"7122:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19396,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7070:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7074:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7070:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7070:55:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19395,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"7054:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7054:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19403,"nodeType":"ExpressionStatement","src":"7054:72:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7002:3:18","parameters":{"id":19393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19390,"mutability":"mutable","name":"p0","nameLocation":"7014:2:18","nodeType":"VariableDeclaration","scope":19405,"src":"7006:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19389,"name":"uint256","nodeType":"ElementaryTypeName","src":"7006:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19392,"mutability":"mutable","name":"p1","nameLocation":"7026:2:18","nodeType":"VariableDeclaration","scope":19405,"src":"7018:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19391,"name":"address","nodeType":"ElementaryTypeName","src":"7018:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7005:24:18"},"returnParameters":{"id":19394,"nodeType":"ParameterList","parameters":[],"src":"7044:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19422,"nodeType":"FunctionDefinition","src":"7139:145:18","nodes":[],"body":{"id":19421,"nodeType":"Block","src":"7196:88:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":19415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7246:21:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":19416,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19407,"src":"7269:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19417,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19409,"src":"7273:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19413,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7222:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7226:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7222:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7222:54:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19412,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"7206:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7206:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19420,"nodeType":"ExpressionStatement","src":"7206:71:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7148:3:18","parameters":{"id":19410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19407,"mutability":"mutable","name":"p0","nameLocation":"7166:2:18","nodeType":"VariableDeclaration","scope":19422,"src":"7152:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19406,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19409,"mutability":"mutable","name":"p1","nameLocation":"7178:2:18","nodeType":"VariableDeclaration","scope":19422,"src":"7170:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19408,"name":"uint256","nodeType":"ElementaryTypeName","src":"7170:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7151:30:18"},"returnParameters":{"id":19411,"nodeType":"ParameterList","parameters":[],"src":"7196:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19439,"nodeType":"FunctionDefinition","src":"7290:143:18","nodes":[],"body":{"id":19438,"nodeType":"Block","src":"7346:87:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c696e7432353629","id":19432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7396:20:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},"value":"log(string,int256)"},{"id":19433,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19424,"src":"7418:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19434,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19426,"src":"7422:2:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":19430,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7372:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7376:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7372:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7372:53:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19429,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"7356:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7356:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19437,"nodeType":"ExpressionStatement","src":"7356:70:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7299:3:18","parameters":{"id":19427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19424,"mutability":"mutable","name":"p0","nameLocation":"7317:2:18","nodeType":"VariableDeclaration","scope":19439,"src":"7303:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19423,"name":"string","nodeType":"ElementaryTypeName","src":"7303:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19426,"mutability":"mutable","name":"p1","nameLocation":"7328:2:18","nodeType":"VariableDeclaration","scope":19439,"src":"7321:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":19425,"name":"int256","nodeType":"ElementaryTypeName","src":"7321:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7302:29:18"},"returnParameters":{"id":19428,"nodeType":"ParameterList","parameters":[],"src":"7346:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19456,"nodeType":"FunctionDefinition","src":"7439:150:18","nodes":[],"body":{"id":19455,"nodeType":"Block","src":"7502:87:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":19449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7552:20:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":19450,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19441,"src":"7574:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19451,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19443,"src":"7578:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7528:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7532:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7528:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:53:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19446,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"7512:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7512:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19454,"nodeType":"ExpressionStatement","src":"7512:70:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7448:3:18","parameters":{"id":19444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19441,"mutability":"mutable","name":"p0","nameLocation":"7466:2:18","nodeType":"VariableDeclaration","scope":19456,"src":"7452:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19440,"name":"string","nodeType":"ElementaryTypeName","src":"7452:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19443,"mutability":"mutable","name":"p1","nameLocation":"7484:2:18","nodeType":"VariableDeclaration","scope":19456,"src":"7470:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19442,"name":"string","nodeType":"ElementaryTypeName","src":"7470:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7451:36:18"},"returnParameters":{"id":19445,"nodeType":"ParameterList","parameters":[],"src":"7502:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19473,"nodeType":"FunctionDefinition","src":"7595:139:18","nodes":[],"body":{"id":19472,"nodeType":"Block","src":"7649:85:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":19466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7699:18:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":19467,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19458,"src":"7719:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19468,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19460,"src":"7723:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19464,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7675:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7679:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7675:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7675:51:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19463,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"7659:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7659:68:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19471,"nodeType":"ExpressionStatement","src":"7659:68:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7604:3:18","parameters":{"id":19461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19458,"mutability":"mutable","name":"p0","nameLocation":"7622:2:18","nodeType":"VariableDeclaration","scope":19473,"src":"7608:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19457,"name":"string","nodeType":"ElementaryTypeName","src":"7608:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19460,"mutability":"mutable","name":"p1","nameLocation":"7631:2:18","nodeType":"VariableDeclaration","scope":19473,"src":"7626:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19459,"name":"bool","nodeType":"ElementaryTypeName","src":"7626:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7607:27:18"},"returnParameters":{"id":19462,"nodeType":"ParameterList","parameters":[],"src":"7649:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19490,"nodeType":"FunctionDefinition","src":"7740:145:18","nodes":[],"body":{"id":19489,"nodeType":"Block","src":"7797:88:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":19483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7847:21:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":19484,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19475,"src":"7870:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19485,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19477,"src":"7874:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19481,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7823:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7827:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7823:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7823:54:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19480,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"7807:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7807:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19488,"nodeType":"ExpressionStatement","src":"7807:71:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7749:3:18","parameters":{"id":19478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19475,"mutability":"mutable","name":"p0","nameLocation":"7767:2:18","nodeType":"VariableDeclaration","scope":19490,"src":"7753:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19474,"name":"string","nodeType":"ElementaryTypeName","src":"7753:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19477,"mutability":"mutable","name":"p1","nameLocation":"7779:2:18","nodeType":"VariableDeclaration","scope":19490,"src":"7771:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19476,"name":"address","nodeType":"ElementaryTypeName","src":"7771:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7752:30:18"},"returnParameters":{"id":19479,"nodeType":"ParameterList","parameters":[],"src":"7797:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19507,"nodeType":"FunctionDefinition","src":"7891:134:18","nodes":[],"body":{"id":19506,"nodeType":"Block","src":"7939:86:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7432353629","id":19500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7989:19:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},"value":"log(bool,uint256)"},{"id":19501,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19492,"src":"8010:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19502,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19494,"src":"8014:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7965:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7969:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7965:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7965:52:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"7949:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7949:69:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19505,"nodeType":"ExpressionStatement","src":"7949:69:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7900:3:18","parameters":{"id":19495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19492,"mutability":"mutable","name":"p0","nameLocation":"7909:2:18","nodeType":"VariableDeclaration","scope":19507,"src":"7904:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19491,"name":"bool","nodeType":"ElementaryTypeName","src":"7904:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19494,"mutability":"mutable","name":"p1","nameLocation":"7921:2:18","nodeType":"VariableDeclaration","scope":19507,"src":"7913:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19493,"name":"uint256","nodeType":"ElementaryTypeName","src":"7913:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7903:21:18"},"returnParameters":{"id":19496,"nodeType":"ParameterList","parameters":[],"src":"7939:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19524,"nodeType":"FunctionDefinition","src":"8031:139:18","nodes":[],"body":{"id":19523,"nodeType":"Block","src":"8085:85:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":19517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8135:18:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":19518,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19509,"src":"8155:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19519,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19511,"src":"8159:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19515,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8111:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8115:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8111:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8111:51:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19514,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"8095:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8095:68:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19522,"nodeType":"ExpressionStatement","src":"8095:68:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8040:3:18","parameters":{"id":19512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19509,"mutability":"mutable","name":"p0","nameLocation":"8049:2:18","nodeType":"VariableDeclaration","scope":19524,"src":"8044:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19508,"name":"bool","nodeType":"ElementaryTypeName","src":"8044:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19511,"mutability":"mutable","name":"p1","nameLocation":"8067:2:18","nodeType":"VariableDeclaration","scope":19524,"src":"8053:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19510,"name":"string","nodeType":"ElementaryTypeName","src":"8053:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8043:27:18"},"returnParameters":{"id":19513,"nodeType":"ParameterList","parameters":[],"src":"8085:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19541,"nodeType":"FunctionDefinition","src":"8176:128:18","nodes":[],"body":{"id":19540,"nodeType":"Block","src":"8221:83:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":19534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8271:16:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":19535,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19526,"src":"8289:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19536,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19528,"src":"8293:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19532,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8247:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8251:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8247:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8247:49:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19531,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"8231:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8231:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19539,"nodeType":"ExpressionStatement","src":"8231:66:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8185:3:18","parameters":{"id":19529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19526,"mutability":"mutable","name":"p0","nameLocation":"8194:2:18","nodeType":"VariableDeclaration","scope":19541,"src":"8189:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19525,"name":"bool","nodeType":"ElementaryTypeName","src":"8189:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19528,"mutability":"mutable","name":"p1","nameLocation":"8203:2:18","nodeType":"VariableDeclaration","scope":19541,"src":"8198:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19527,"name":"bool","nodeType":"ElementaryTypeName","src":"8198:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8188:18:18"},"returnParameters":{"id":19530,"nodeType":"ParameterList","parameters":[],"src":"8221:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19558,"nodeType":"FunctionDefinition","src":"8310:134:18","nodes":[],"body":{"id":19557,"nodeType":"Block","src":"8358:86:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":19551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8408:19:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":19552,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19543,"src":"8429:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19553,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19545,"src":"8433:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19549,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8384:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8388:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8384:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8384:52:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19548,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"8368:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8368:69:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19556,"nodeType":"ExpressionStatement","src":"8368:69:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8319:3:18","parameters":{"id":19546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19543,"mutability":"mutable","name":"p0","nameLocation":"8328:2:18","nodeType":"VariableDeclaration","scope":19558,"src":"8323:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19542,"name":"bool","nodeType":"ElementaryTypeName","src":"8323:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19545,"mutability":"mutable","name":"p1","nameLocation":"8340:2:18","nodeType":"VariableDeclaration","scope":19558,"src":"8332:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19544,"name":"address","nodeType":"ElementaryTypeName","src":"8332:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8322:21:18"},"returnParameters":{"id":19547,"nodeType":"ParameterList","parameters":[],"src":"8358:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19575,"nodeType":"FunctionDefinition","src":"8450:140:18","nodes":[],"body":{"id":19574,"nodeType":"Block","src":"8501:89:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7432353629","id":19568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8551:22:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},"value":"log(address,uint256)"},{"id":19569,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19560,"src":"8575:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19570,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19562,"src":"8579:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19566,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8527:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8531:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8527:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8527:55:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19565,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"8511:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8511:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19573,"nodeType":"ExpressionStatement","src":"8511:72:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8459:3:18","parameters":{"id":19563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19560,"mutability":"mutable","name":"p0","nameLocation":"8471:2:18","nodeType":"VariableDeclaration","scope":19575,"src":"8463:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19559,"name":"address","nodeType":"ElementaryTypeName","src":"8463:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19562,"mutability":"mutable","name":"p1","nameLocation":"8483:2:18","nodeType":"VariableDeclaration","scope":19575,"src":"8475:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19561,"name":"uint256","nodeType":"ElementaryTypeName","src":"8475:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8462:24:18"},"returnParameters":{"id":19564,"nodeType":"ParameterList","parameters":[],"src":"8501:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19592,"nodeType":"FunctionDefinition","src":"8596:145:18","nodes":[],"body":{"id":19591,"nodeType":"Block","src":"8653:88:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":19585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8703:21:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":19586,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19577,"src":"8726:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19587,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19579,"src":"8730:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19583,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8679:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8683:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8679:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8679:54:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19582,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"8663:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8663:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19590,"nodeType":"ExpressionStatement","src":"8663:71:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8605:3:18","parameters":{"id":19580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19577,"mutability":"mutable","name":"p0","nameLocation":"8617:2:18","nodeType":"VariableDeclaration","scope":19592,"src":"8609:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19576,"name":"address","nodeType":"ElementaryTypeName","src":"8609:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19579,"mutability":"mutable","name":"p1","nameLocation":"8635:2:18","nodeType":"VariableDeclaration","scope":19592,"src":"8621:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19578,"name":"string","nodeType":"ElementaryTypeName","src":"8621:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8608:30:18"},"returnParameters":{"id":19581,"nodeType":"ParameterList","parameters":[],"src":"8653:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19609,"nodeType":"FunctionDefinition","src":"8747:134:18","nodes":[],"body":{"id":19608,"nodeType":"Block","src":"8795:86:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":19602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8845:19:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":19603,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19594,"src":"8866:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19604,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19596,"src":"8870:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19600,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8821:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8825:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8821:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8821:52:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19599,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"8805:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8805:69:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19607,"nodeType":"ExpressionStatement","src":"8805:69:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8756:3:18","parameters":{"id":19597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19594,"mutability":"mutable","name":"p0","nameLocation":"8768:2:18","nodeType":"VariableDeclaration","scope":19609,"src":"8760:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19593,"name":"address","nodeType":"ElementaryTypeName","src":"8760:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19596,"mutability":"mutable","name":"p1","nameLocation":"8777:2:18","nodeType":"VariableDeclaration","scope":19609,"src":"8772:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19595,"name":"bool","nodeType":"ElementaryTypeName","src":"8772:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8759:21:18"},"returnParameters":{"id":19598,"nodeType":"ParameterList","parameters":[],"src":"8795:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19626,"nodeType":"FunctionDefinition","src":"8887:140:18","nodes":[],"body":{"id":19625,"nodeType":"Block","src":"8938:89:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":19619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8988:22:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":19620,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19611,"src":"9012:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19621,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19613,"src":"9016:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19617,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8964:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8968:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8964:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8964:55:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19616,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"8948:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8948:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19624,"nodeType":"ExpressionStatement","src":"8948:72:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8896:3:18","parameters":{"id":19614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19611,"mutability":"mutable","name":"p0","nameLocation":"8908:2:18","nodeType":"VariableDeclaration","scope":19626,"src":"8900:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19610,"name":"address","nodeType":"ElementaryTypeName","src":"8900:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19613,"mutability":"mutable","name":"p1","nameLocation":"8920:2:18","nodeType":"VariableDeclaration","scope":19626,"src":"8912:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19612,"name":"address","nodeType":"ElementaryTypeName","src":"8912:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8899:24:18"},"returnParameters":{"id":19615,"nodeType":"ParameterList","parameters":[],"src":"8938:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19646,"nodeType":"FunctionDefinition","src":"9033:164:18","nodes":[],"body":{"id":19645,"nodeType":"Block","src":"9096:101:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e7432353629","id":19638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9146:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256)"},{"id":19639,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19628,"src":"9178:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19640,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19630,"src":"9182:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19641,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19632,"src":"9186:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19636,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9122:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9126:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9122:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9122:67:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19635,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"9106:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9106:84:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19644,"nodeType":"ExpressionStatement","src":"9106:84:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9042:3:18","parameters":{"id":19633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19628,"mutability":"mutable","name":"p0","nameLocation":"9054:2:18","nodeType":"VariableDeclaration","scope":19646,"src":"9046:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19627,"name":"uint256","nodeType":"ElementaryTypeName","src":"9046:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19630,"mutability":"mutable","name":"p1","nameLocation":"9066:2:18","nodeType":"VariableDeclaration","scope":19646,"src":"9058:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19629,"name":"uint256","nodeType":"ElementaryTypeName","src":"9058:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19632,"mutability":"mutable","name":"p2","nameLocation":"9078:2:18","nodeType":"VariableDeclaration","scope":19646,"src":"9070:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19631,"name":"uint256","nodeType":"ElementaryTypeName","src":"9070:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9045:36:18"},"returnParameters":{"id":19634,"nodeType":"ParameterList","parameters":[],"src":"9096:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19666,"nodeType":"FunctionDefinition","src":"9203:169:18","nodes":[],"body":{"id":19665,"nodeType":"Block","src":"9272:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e6729","id":19658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9322:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},"value":"log(uint256,uint256,string)"},{"id":19659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19648,"src":"9353:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19650,"src":"9357:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19652,"src":"9361:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9298:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9302:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9298:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9298:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"9282:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9282:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19664,"nodeType":"ExpressionStatement","src":"9282:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9212:3:18","parameters":{"id":19653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19648,"mutability":"mutable","name":"p0","nameLocation":"9224:2:18","nodeType":"VariableDeclaration","scope":19666,"src":"9216:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19647,"name":"uint256","nodeType":"ElementaryTypeName","src":"9216:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19650,"mutability":"mutable","name":"p1","nameLocation":"9236:2:18","nodeType":"VariableDeclaration","scope":19666,"src":"9228:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19649,"name":"uint256","nodeType":"ElementaryTypeName","src":"9228:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19652,"mutability":"mutable","name":"p2","nameLocation":"9254:2:18","nodeType":"VariableDeclaration","scope":19666,"src":"9240:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19651,"name":"string","nodeType":"ElementaryTypeName","src":"9240:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9215:42:18"},"returnParameters":{"id":19654,"nodeType":"ParameterList","parameters":[],"src":"9272:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19686,"nodeType":"FunctionDefinition","src":"9378:158:18","nodes":[],"body":{"id":19685,"nodeType":"Block","src":"9438:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c29","id":19678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9488:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},"value":"log(uint256,uint256,bool)"},{"id":19679,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19668,"src":"9517:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19680,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19670,"src":"9521:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19681,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19672,"src":"9525:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19676,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9464:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9468:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9464:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9464:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19675,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"9448:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9448:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19684,"nodeType":"ExpressionStatement","src":"9448:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9387:3:18","parameters":{"id":19673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19668,"mutability":"mutable","name":"p0","nameLocation":"9399:2:18","nodeType":"VariableDeclaration","scope":19686,"src":"9391:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19667,"name":"uint256","nodeType":"ElementaryTypeName","src":"9391:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19670,"mutability":"mutable","name":"p1","nameLocation":"9411:2:18","nodeType":"VariableDeclaration","scope":19686,"src":"9403:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19669,"name":"uint256","nodeType":"ElementaryTypeName","src":"9403:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19672,"mutability":"mutable","name":"p2","nameLocation":"9420:2:18","nodeType":"VariableDeclaration","scope":19686,"src":"9415:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19671,"name":"bool","nodeType":"ElementaryTypeName","src":"9415:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9390:33:18"},"returnParameters":{"id":19674,"nodeType":"ParameterList","parameters":[],"src":"9438:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19706,"nodeType":"FunctionDefinition","src":"9542:164:18","nodes":[],"body":{"id":19705,"nodeType":"Block","src":"9605:101:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c6164647265737329","id":19698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9655:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},"value":"log(uint256,uint256,address)"},{"id":19699,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19688,"src":"9687:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19700,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19690,"src":"9691:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19701,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19692,"src":"9695:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19696,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9631:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9635:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9631:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9631:67:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19695,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"9615:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9615:84:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19704,"nodeType":"ExpressionStatement","src":"9615:84:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9551:3:18","parameters":{"id":19693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19688,"mutability":"mutable","name":"p0","nameLocation":"9563:2:18","nodeType":"VariableDeclaration","scope":19706,"src":"9555:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19687,"name":"uint256","nodeType":"ElementaryTypeName","src":"9555:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19690,"mutability":"mutable","name":"p1","nameLocation":"9575:2:18","nodeType":"VariableDeclaration","scope":19706,"src":"9567:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19689,"name":"uint256","nodeType":"ElementaryTypeName","src":"9567:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19692,"mutability":"mutable","name":"p2","nameLocation":"9587:2:18","nodeType":"VariableDeclaration","scope":19706,"src":"9579:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19691,"name":"address","nodeType":"ElementaryTypeName","src":"9579:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9554:36:18"},"returnParameters":{"id":19694,"nodeType":"ParameterList","parameters":[],"src":"9605:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19726,"nodeType":"FunctionDefinition","src":"9712:169:18","nodes":[],"body":{"id":19725,"nodeType":"Block","src":"9781:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e7432353629","id":19718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9831:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},"value":"log(uint256,string,uint256)"},{"id":19719,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19708,"src":"9862:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19720,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19710,"src":"9866:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19721,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19712,"src":"9870:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9807:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9811:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9807:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9807:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19715,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"9791:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9791:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19724,"nodeType":"ExpressionStatement","src":"9791:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9721:3:18","parameters":{"id":19713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19708,"mutability":"mutable","name":"p0","nameLocation":"9733:2:18","nodeType":"VariableDeclaration","scope":19726,"src":"9725:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19707,"name":"uint256","nodeType":"ElementaryTypeName","src":"9725:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19710,"mutability":"mutable","name":"p1","nameLocation":"9751:2:18","nodeType":"VariableDeclaration","scope":19726,"src":"9737:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19709,"name":"string","nodeType":"ElementaryTypeName","src":"9737:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19712,"mutability":"mutable","name":"p2","nameLocation":"9763:2:18","nodeType":"VariableDeclaration","scope":19726,"src":"9755:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19711,"name":"uint256","nodeType":"ElementaryTypeName","src":"9755:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9724:42:18"},"returnParameters":{"id":19714,"nodeType":"ParameterList","parameters":[],"src":"9781:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19746,"nodeType":"FunctionDefinition","src":"9887:174:18","nodes":[],"body":{"id":19745,"nodeType":"Block","src":"9962:99:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e6729","id":19738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10012:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},"value":"log(uint256,string,string)"},{"id":19739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19728,"src":"10042:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19730,"src":"10046:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19732,"src":"10050:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9988:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9992:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9988:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9988:65:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"9972:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9972:82:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19744,"nodeType":"ExpressionStatement","src":"9972:82:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9896:3:18","parameters":{"id":19733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19728,"mutability":"mutable","name":"p0","nameLocation":"9908:2:18","nodeType":"VariableDeclaration","scope":19746,"src":"9900:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19727,"name":"uint256","nodeType":"ElementaryTypeName","src":"9900:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19730,"mutability":"mutable","name":"p1","nameLocation":"9926:2:18","nodeType":"VariableDeclaration","scope":19746,"src":"9912:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19729,"name":"string","nodeType":"ElementaryTypeName","src":"9912:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19732,"mutability":"mutable","name":"p2","nameLocation":"9944:2:18","nodeType":"VariableDeclaration","scope":19746,"src":"9930:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19731,"name":"string","nodeType":"ElementaryTypeName","src":"9930:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9899:48:18"},"returnParameters":{"id":19734,"nodeType":"ParameterList","parameters":[],"src":"9962:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19766,"nodeType":"FunctionDefinition","src":"10067:163:18","nodes":[],"body":{"id":19765,"nodeType":"Block","src":"10133:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c29","id":19758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10183:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},"value":"log(uint256,string,bool)"},{"id":19759,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19748,"src":"10211:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19760,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19750,"src":"10215:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19761,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19752,"src":"10219:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19756,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10159:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10163:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10159:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10159:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19755,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"10143:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10143:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19764,"nodeType":"ExpressionStatement","src":"10143:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10076:3:18","parameters":{"id":19753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19748,"mutability":"mutable","name":"p0","nameLocation":"10088:2:18","nodeType":"VariableDeclaration","scope":19766,"src":"10080:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19747,"name":"uint256","nodeType":"ElementaryTypeName","src":"10080:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19750,"mutability":"mutable","name":"p1","nameLocation":"10106:2:18","nodeType":"VariableDeclaration","scope":19766,"src":"10092:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19749,"name":"string","nodeType":"ElementaryTypeName","src":"10092:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19752,"mutability":"mutable","name":"p2","nameLocation":"10115:2:18","nodeType":"VariableDeclaration","scope":19766,"src":"10110:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19751,"name":"bool","nodeType":"ElementaryTypeName","src":"10110:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10079:39:18"},"returnParameters":{"id":19754,"nodeType":"ParameterList","parameters":[],"src":"10133:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19786,"nodeType":"FunctionDefinition","src":"10236:169:18","nodes":[],"body":{"id":19785,"nodeType":"Block","src":"10305:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c6164647265737329","id":19778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10355:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},"value":"log(uint256,string,address)"},{"id":19779,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19768,"src":"10386:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19780,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19770,"src":"10390:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19781,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19772,"src":"10394:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10331:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10335:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10331:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10331:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19775,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"10315:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10315:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19784,"nodeType":"ExpressionStatement","src":"10315:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10245:3:18","parameters":{"id":19773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19768,"mutability":"mutable","name":"p0","nameLocation":"10257:2:18","nodeType":"VariableDeclaration","scope":19786,"src":"10249:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19767,"name":"uint256","nodeType":"ElementaryTypeName","src":"10249:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19770,"mutability":"mutable","name":"p1","nameLocation":"10275:2:18","nodeType":"VariableDeclaration","scope":19786,"src":"10261:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19769,"name":"string","nodeType":"ElementaryTypeName","src":"10261:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19772,"mutability":"mutable","name":"p2","nameLocation":"10287:2:18","nodeType":"VariableDeclaration","scope":19786,"src":"10279:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19771,"name":"address","nodeType":"ElementaryTypeName","src":"10279:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10248:42:18"},"returnParameters":{"id":19774,"nodeType":"ParameterList","parameters":[],"src":"10305:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19806,"nodeType":"FunctionDefinition","src":"10411:158:18","nodes":[],"body":{"id":19805,"nodeType":"Block","src":"10471:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e7432353629","id":19798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10521:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},"value":"log(uint256,bool,uint256)"},{"id":19799,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19788,"src":"10550:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19800,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19790,"src":"10554:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19801,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19792,"src":"10558:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10497:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10501:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10497:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10497:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19795,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"10481:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10481:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19804,"nodeType":"ExpressionStatement","src":"10481:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10420:3:18","parameters":{"id":19793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19788,"mutability":"mutable","name":"p0","nameLocation":"10432:2:18","nodeType":"VariableDeclaration","scope":19806,"src":"10424:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19787,"name":"uint256","nodeType":"ElementaryTypeName","src":"10424:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19790,"mutability":"mutable","name":"p1","nameLocation":"10441:2:18","nodeType":"VariableDeclaration","scope":19806,"src":"10436:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19789,"name":"bool","nodeType":"ElementaryTypeName","src":"10436:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19792,"mutability":"mutable","name":"p2","nameLocation":"10453:2:18","nodeType":"VariableDeclaration","scope":19806,"src":"10445:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19791,"name":"uint256","nodeType":"ElementaryTypeName","src":"10445:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10423:33:18"},"returnParameters":{"id":19794,"nodeType":"ParameterList","parameters":[],"src":"10471:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19826,"nodeType":"FunctionDefinition","src":"10575:163:18","nodes":[],"body":{"id":19825,"nodeType":"Block","src":"10641:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e6729","id":19818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10691:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},"value":"log(uint256,bool,string)"},{"id":19819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19808,"src":"10719:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19810,"src":"10723:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19821,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19812,"src":"10727:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10667:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10671:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10667:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10667:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"10651:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10651:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19824,"nodeType":"ExpressionStatement","src":"10651:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10584:3:18","parameters":{"id":19813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19808,"mutability":"mutable","name":"p0","nameLocation":"10596:2:18","nodeType":"VariableDeclaration","scope":19826,"src":"10588:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19807,"name":"uint256","nodeType":"ElementaryTypeName","src":"10588:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19810,"mutability":"mutable","name":"p1","nameLocation":"10605:2:18","nodeType":"VariableDeclaration","scope":19826,"src":"10600:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19809,"name":"bool","nodeType":"ElementaryTypeName","src":"10600:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19812,"mutability":"mutable","name":"p2","nameLocation":"10623:2:18","nodeType":"VariableDeclaration","scope":19826,"src":"10609:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19811,"name":"string","nodeType":"ElementaryTypeName","src":"10609:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10587:39:18"},"returnParameters":{"id":19814,"nodeType":"ParameterList","parameters":[],"src":"10641:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19846,"nodeType":"FunctionDefinition","src":"10744:152:18","nodes":[],"body":{"id":19845,"nodeType":"Block","src":"10801:95:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c29","id":19838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10851:24:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},"value":"log(uint256,bool,bool)"},{"id":19839,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19828,"src":"10877:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19840,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19830,"src":"10881:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19841,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19832,"src":"10885:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10827:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10831:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10827:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10827:61:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19835,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"10811:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10811:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19844,"nodeType":"ExpressionStatement","src":"10811:78:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10753:3:18","parameters":{"id":19833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19828,"mutability":"mutable","name":"p0","nameLocation":"10765:2:18","nodeType":"VariableDeclaration","scope":19846,"src":"10757:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19827,"name":"uint256","nodeType":"ElementaryTypeName","src":"10757:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19830,"mutability":"mutable","name":"p1","nameLocation":"10774:2:18","nodeType":"VariableDeclaration","scope":19846,"src":"10769:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19829,"name":"bool","nodeType":"ElementaryTypeName","src":"10769:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19832,"mutability":"mutable","name":"p2","nameLocation":"10783:2:18","nodeType":"VariableDeclaration","scope":19846,"src":"10778:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19831,"name":"bool","nodeType":"ElementaryTypeName","src":"10778:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10756:30:18"},"returnParameters":{"id":19834,"nodeType":"ParameterList","parameters":[],"src":"10801:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19866,"nodeType":"FunctionDefinition","src":"10902:158:18","nodes":[],"body":{"id":19865,"nodeType":"Block","src":"10962:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c6164647265737329","id":19858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11012:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},"value":"log(uint256,bool,address)"},{"id":19859,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19848,"src":"11041:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19860,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19850,"src":"11045:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19861,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19852,"src":"11049:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19856,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10988:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10992:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10988:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10988:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19855,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"10972:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10972:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19864,"nodeType":"ExpressionStatement","src":"10972:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10911:3:18","parameters":{"id":19853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19848,"mutability":"mutable","name":"p0","nameLocation":"10923:2:18","nodeType":"VariableDeclaration","scope":19866,"src":"10915:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19847,"name":"uint256","nodeType":"ElementaryTypeName","src":"10915:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19850,"mutability":"mutable","name":"p1","nameLocation":"10932:2:18","nodeType":"VariableDeclaration","scope":19866,"src":"10927:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19849,"name":"bool","nodeType":"ElementaryTypeName","src":"10927:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19852,"mutability":"mutable","name":"p2","nameLocation":"10944:2:18","nodeType":"VariableDeclaration","scope":19866,"src":"10936:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19851,"name":"address","nodeType":"ElementaryTypeName","src":"10936:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10914:33:18"},"returnParameters":{"id":19854,"nodeType":"ParameterList","parameters":[],"src":"10962:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19886,"nodeType":"FunctionDefinition","src":"11066:164:18","nodes":[],"body":{"id":19885,"nodeType":"Block","src":"11129:101:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e7432353629","id":19878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11179:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},"value":"log(uint256,address,uint256)"},{"id":19879,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19868,"src":"11211:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19880,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19870,"src":"11215:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19881,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19872,"src":"11219:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19876,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11155:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11159:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11155:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11155:67:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19875,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"11139:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11139:84:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19884,"nodeType":"ExpressionStatement","src":"11139:84:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11075:3:18","parameters":{"id":19873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19868,"mutability":"mutable","name":"p0","nameLocation":"11087:2:18","nodeType":"VariableDeclaration","scope":19886,"src":"11079:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19867,"name":"uint256","nodeType":"ElementaryTypeName","src":"11079:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19870,"mutability":"mutable","name":"p1","nameLocation":"11099:2:18","nodeType":"VariableDeclaration","scope":19886,"src":"11091:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19869,"name":"address","nodeType":"ElementaryTypeName","src":"11091:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19872,"mutability":"mutable","name":"p2","nameLocation":"11111:2:18","nodeType":"VariableDeclaration","scope":19886,"src":"11103:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19871,"name":"uint256","nodeType":"ElementaryTypeName","src":"11103:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11078:36:18"},"returnParameters":{"id":19874,"nodeType":"ParameterList","parameters":[],"src":"11129:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19906,"nodeType":"FunctionDefinition","src":"11236:169:18","nodes":[],"body":{"id":19905,"nodeType":"Block","src":"11305:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e6729","id":19898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11355:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},"value":"log(uint256,address,string)"},{"id":19899,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19888,"src":"11386:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19900,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19890,"src":"11390:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19901,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19892,"src":"11394:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11331:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11335:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11331:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11331:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"11315:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11315:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19904,"nodeType":"ExpressionStatement","src":"11315:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11245:3:18","parameters":{"id":19893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19888,"mutability":"mutable","name":"p0","nameLocation":"11257:2:18","nodeType":"VariableDeclaration","scope":19906,"src":"11249:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19887,"name":"uint256","nodeType":"ElementaryTypeName","src":"11249:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19890,"mutability":"mutable","name":"p1","nameLocation":"11269:2:18","nodeType":"VariableDeclaration","scope":19906,"src":"11261:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19889,"name":"address","nodeType":"ElementaryTypeName","src":"11261:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19892,"mutability":"mutable","name":"p2","nameLocation":"11287:2:18","nodeType":"VariableDeclaration","scope":19906,"src":"11273:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19891,"name":"string","nodeType":"ElementaryTypeName","src":"11273:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11248:42:18"},"returnParameters":{"id":19894,"nodeType":"ParameterList","parameters":[],"src":"11305:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19926,"nodeType":"FunctionDefinition","src":"11411:158:18","nodes":[],"body":{"id":19925,"nodeType":"Block","src":"11471:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c29","id":19918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11521:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},"value":"log(uint256,address,bool)"},{"id":19919,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19908,"src":"11550:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19920,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19910,"src":"11554:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19921,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19912,"src":"11558:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19916,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11497:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11501:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11497:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11497:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19915,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"11481:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11481:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19924,"nodeType":"ExpressionStatement","src":"11481:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11420:3:18","parameters":{"id":19913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19908,"mutability":"mutable","name":"p0","nameLocation":"11432:2:18","nodeType":"VariableDeclaration","scope":19926,"src":"11424:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19907,"name":"uint256","nodeType":"ElementaryTypeName","src":"11424:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19910,"mutability":"mutable","name":"p1","nameLocation":"11444:2:18","nodeType":"VariableDeclaration","scope":19926,"src":"11436:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19909,"name":"address","nodeType":"ElementaryTypeName","src":"11436:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19912,"mutability":"mutable","name":"p2","nameLocation":"11453:2:18","nodeType":"VariableDeclaration","scope":19926,"src":"11448:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19911,"name":"bool","nodeType":"ElementaryTypeName","src":"11448:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11423:33:18"},"returnParameters":{"id":19914,"nodeType":"ParameterList","parameters":[],"src":"11471:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19946,"nodeType":"FunctionDefinition","src":"11575:164:18","nodes":[],"body":{"id":19945,"nodeType":"Block","src":"11638:101:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c6164647265737329","id":19938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11688:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},"value":"log(uint256,address,address)"},{"id":19939,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19928,"src":"11720:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19940,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19930,"src":"11724:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19941,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19932,"src":"11728:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19936,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11664:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11668:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11664:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11664:67:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19935,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"11648:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11648:84:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19944,"nodeType":"ExpressionStatement","src":"11648:84:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11584:3:18","parameters":{"id":19933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19928,"mutability":"mutable","name":"p0","nameLocation":"11596:2:18","nodeType":"VariableDeclaration","scope":19946,"src":"11588:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19927,"name":"uint256","nodeType":"ElementaryTypeName","src":"11588:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19930,"mutability":"mutable","name":"p1","nameLocation":"11608:2:18","nodeType":"VariableDeclaration","scope":19946,"src":"11600:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19929,"name":"address","nodeType":"ElementaryTypeName","src":"11600:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19932,"mutability":"mutable","name":"p2","nameLocation":"11620:2:18","nodeType":"VariableDeclaration","scope":19946,"src":"11612:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19931,"name":"address","nodeType":"ElementaryTypeName","src":"11612:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11587:36:18"},"returnParameters":{"id":19934,"nodeType":"ParameterList","parameters":[],"src":"11638:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19966,"nodeType":"FunctionDefinition","src":"11745:169:18","nodes":[],"body":{"id":19965,"nodeType":"Block","src":"11814:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e7432353629","id":19958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11864:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},"value":"log(string,uint256,uint256)"},{"id":19959,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19948,"src":"11895:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19960,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19950,"src":"11899:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19961,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19952,"src":"11903:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19956,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11840:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11844:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11840:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11840:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19955,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"11824:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11824:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19964,"nodeType":"ExpressionStatement","src":"11824:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11754:3:18","parameters":{"id":19953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19948,"mutability":"mutable","name":"p0","nameLocation":"11772:2:18","nodeType":"VariableDeclaration","scope":19966,"src":"11758:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19947,"name":"string","nodeType":"ElementaryTypeName","src":"11758:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19950,"mutability":"mutable","name":"p1","nameLocation":"11784:2:18","nodeType":"VariableDeclaration","scope":19966,"src":"11776:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19949,"name":"uint256","nodeType":"ElementaryTypeName","src":"11776:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19952,"mutability":"mutable","name":"p2","nameLocation":"11796:2:18","nodeType":"VariableDeclaration","scope":19966,"src":"11788:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19951,"name":"uint256","nodeType":"ElementaryTypeName","src":"11788:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11757:42:18"},"returnParameters":{"id":19954,"nodeType":"ParameterList","parameters":[],"src":"11814:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19986,"nodeType":"FunctionDefinition","src":"11920:174:18","nodes":[],"body":{"id":19985,"nodeType":"Block","src":"11995:99:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e6729","id":19978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12045:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},"value":"log(string,uint256,string)"},{"id":19979,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19968,"src":"12075:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19980,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19970,"src":"12079:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19981,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19972,"src":"12083:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19976,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12021:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12025:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12021:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12021:65:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19975,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"12005:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:82:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19984,"nodeType":"ExpressionStatement","src":"12005:82:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11929:3:18","parameters":{"id":19973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19968,"mutability":"mutable","name":"p0","nameLocation":"11947:2:18","nodeType":"VariableDeclaration","scope":19986,"src":"11933:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19967,"name":"string","nodeType":"ElementaryTypeName","src":"11933:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19970,"mutability":"mutable","name":"p1","nameLocation":"11959:2:18","nodeType":"VariableDeclaration","scope":19986,"src":"11951:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19969,"name":"uint256","nodeType":"ElementaryTypeName","src":"11951:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19972,"mutability":"mutable","name":"p2","nameLocation":"11977:2:18","nodeType":"VariableDeclaration","scope":19986,"src":"11963:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19971,"name":"string","nodeType":"ElementaryTypeName","src":"11963:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11932:48:18"},"returnParameters":{"id":19974,"nodeType":"ParameterList","parameters":[],"src":"11995:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20006,"nodeType":"FunctionDefinition","src":"12100:163:18","nodes":[],"body":{"id":20005,"nodeType":"Block","src":"12166:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c29","id":19998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12216:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},"value":"log(string,uint256,bool)"},{"id":19999,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19988,"src":"12244:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20000,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19990,"src":"12248:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20001,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19992,"src":"12252:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19996,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12192:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12196:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12192:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12192:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19995,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"12176:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12176:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20004,"nodeType":"ExpressionStatement","src":"12176:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12109:3:18","parameters":{"id":19993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19988,"mutability":"mutable","name":"p0","nameLocation":"12127:2:18","nodeType":"VariableDeclaration","scope":20006,"src":"12113:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19987,"name":"string","nodeType":"ElementaryTypeName","src":"12113:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19990,"mutability":"mutable","name":"p1","nameLocation":"12139:2:18","nodeType":"VariableDeclaration","scope":20006,"src":"12131:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19989,"name":"uint256","nodeType":"ElementaryTypeName","src":"12131:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19992,"mutability":"mutable","name":"p2","nameLocation":"12148:2:18","nodeType":"VariableDeclaration","scope":20006,"src":"12143:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19991,"name":"bool","nodeType":"ElementaryTypeName","src":"12143:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12112:39:18"},"returnParameters":{"id":19994,"nodeType":"ParameterList","parameters":[],"src":"12166:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20026,"nodeType":"FunctionDefinition","src":"12269:169:18","nodes":[],"body":{"id":20025,"nodeType":"Block","src":"12338:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c6164647265737329","id":20018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12388:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},"value":"log(string,uint256,address)"},{"id":20019,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20008,"src":"12419:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20020,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20010,"src":"12423:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20021,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20012,"src":"12427:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20016,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12364:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12368:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12364:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12364:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20015,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"12348:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12348:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20024,"nodeType":"ExpressionStatement","src":"12348:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12278:3:18","parameters":{"id":20013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20008,"mutability":"mutable","name":"p0","nameLocation":"12296:2:18","nodeType":"VariableDeclaration","scope":20026,"src":"12282:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20007,"name":"string","nodeType":"ElementaryTypeName","src":"12282:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20010,"mutability":"mutable","name":"p1","nameLocation":"12308:2:18","nodeType":"VariableDeclaration","scope":20026,"src":"12300:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20009,"name":"uint256","nodeType":"ElementaryTypeName","src":"12300:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20012,"mutability":"mutable","name":"p2","nameLocation":"12320:2:18","nodeType":"VariableDeclaration","scope":20026,"src":"12312:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20011,"name":"address","nodeType":"ElementaryTypeName","src":"12312:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12281:42:18"},"returnParameters":{"id":20014,"nodeType":"ParameterList","parameters":[],"src":"12338:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20046,"nodeType":"FunctionDefinition","src":"12444:174:18","nodes":[],"body":{"id":20045,"nodeType":"Block","src":"12519:99:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7432353629","id":20038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12569:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},"value":"log(string,string,uint256)"},{"id":20039,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20028,"src":"12599:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20040,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20030,"src":"12603:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20041,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20032,"src":"12607:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20036,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12545:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12549:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12545:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12545:65:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20035,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"12529:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12529:82:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20044,"nodeType":"ExpressionStatement","src":"12529:82:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12453:3:18","parameters":{"id":20033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20028,"mutability":"mutable","name":"p0","nameLocation":"12471:2:18","nodeType":"VariableDeclaration","scope":20046,"src":"12457:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20027,"name":"string","nodeType":"ElementaryTypeName","src":"12457:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20030,"mutability":"mutable","name":"p1","nameLocation":"12489:2:18","nodeType":"VariableDeclaration","scope":20046,"src":"12475:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20029,"name":"string","nodeType":"ElementaryTypeName","src":"12475:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20032,"mutability":"mutable","name":"p2","nameLocation":"12501:2:18","nodeType":"VariableDeclaration","scope":20046,"src":"12493:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20031,"name":"uint256","nodeType":"ElementaryTypeName","src":"12493:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12456:48:18"},"returnParameters":{"id":20034,"nodeType":"ParameterList","parameters":[],"src":"12519:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20066,"nodeType":"FunctionDefinition","src":"12624:179:18","nodes":[],"body":{"id":20065,"nodeType":"Block","src":"12705:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":20058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12755:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":20059,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20048,"src":"12784:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20060,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20050,"src":"12788:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20061,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20052,"src":"12792:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20056,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12731:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12735:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12731:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12731:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"12715:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12715:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20064,"nodeType":"ExpressionStatement","src":"12715:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12633:3:18","parameters":{"id":20053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20048,"mutability":"mutable","name":"p0","nameLocation":"12651:2:18","nodeType":"VariableDeclaration","scope":20066,"src":"12637:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20047,"name":"string","nodeType":"ElementaryTypeName","src":"12637:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20050,"mutability":"mutable","name":"p1","nameLocation":"12669:2:18","nodeType":"VariableDeclaration","scope":20066,"src":"12655:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20049,"name":"string","nodeType":"ElementaryTypeName","src":"12655:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20052,"mutability":"mutable","name":"p2","nameLocation":"12687:2:18","nodeType":"VariableDeclaration","scope":20066,"src":"12673:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20051,"name":"string","nodeType":"ElementaryTypeName","src":"12673:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12636:54:18"},"returnParameters":{"id":20054,"nodeType":"ParameterList","parameters":[],"src":"12705:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20086,"nodeType":"FunctionDefinition","src":"12809:168:18","nodes":[],"body":{"id":20085,"nodeType":"Block","src":"12881:96:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":20078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12931:25:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":20079,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20068,"src":"12958:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20080,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20070,"src":"12962:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20081,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20072,"src":"12966:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12907:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12911:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12907:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12907:62:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"12891:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12891:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20084,"nodeType":"ExpressionStatement","src":"12891:79:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12818:3:18","parameters":{"id":20073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20068,"mutability":"mutable","name":"p0","nameLocation":"12836:2:18","nodeType":"VariableDeclaration","scope":20086,"src":"12822:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20067,"name":"string","nodeType":"ElementaryTypeName","src":"12822:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20070,"mutability":"mutable","name":"p1","nameLocation":"12854:2:18","nodeType":"VariableDeclaration","scope":20086,"src":"12840:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20069,"name":"string","nodeType":"ElementaryTypeName","src":"12840:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20072,"mutability":"mutable","name":"p2","nameLocation":"12863:2:18","nodeType":"VariableDeclaration","scope":20086,"src":"12858:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20071,"name":"bool","nodeType":"ElementaryTypeName","src":"12858:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12821:45:18"},"returnParameters":{"id":20074,"nodeType":"ParameterList","parameters":[],"src":"12881:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20106,"nodeType":"FunctionDefinition","src":"12983:174:18","nodes":[],"body":{"id":20105,"nodeType":"Block","src":"13058:99:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":20098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13108:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":20099,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20088,"src":"13138:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20100,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20090,"src":"13142:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20101,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20092,"src":"13146:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20096,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13084:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13088:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13084:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13084:65:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20095,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"13068:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13068:82:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20104,"nodeType":"ExpressionStatement","src":"13068:82:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12992:3:18","parameters":{"id":20093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20088,"mutability":"mutable","name":"p0","nameLocation":"13010:2:18","nodeType":"VariableDeclaration","scope":20106,"src":"12996:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20087,"name":"string","nodeType":"ElementaryTypeName","src":"12996:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20090,"mutability":"mutable","name":"p1","nameLocation":"13028:2:18","nodeType":"VariableDeclaration","scope":20106,"src":"13014:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20089,"name":"string","nodeType":"ElementaryTypeName","src":"13014:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20092,"mutability":"mutable","name":"p2","nameLocation":"13040:2:18","nodeType":"VariableDeclaration","scope":20106,"src":"13032:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20091,"name":"address","nodeType":"ElementaryTypeName","src":"13032:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12995:48:18"},"returnParameters":{"id":20094,"nodeType":"ParameterList","parameters":[],"src":"13058:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20126,"nodeType":"FunctionDefinition","src":"13163:163:18","nodes":[],"body":{"id":20125,"nodeType":"Block","src":"13229:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7432353629","id":20118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13279:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},"value":"log(string,bool,uint256)"},{"id":20119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20108,"src":"13307:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20110,"src":"13311:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20112,"src":"13315:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13255:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13259:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13255:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13255:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"13239:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13239:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20124,"nodeType":"ExpressionStatement","src":"13239:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13172:3:18","parameters":{"id":20113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20108,"mutability":"mutable","name":"p0","nameLocation":"13190:2:18","nodeType":"VariableDeclaration","scope":20126,"src":"13176:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20107,"name":"string","nodeType":"ElementaryTypeName","src":"13176:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20110,"mutability":"mutable","name":"p1","nameLocation":"13199:2:18","nodeType":"VariableDeclaration","scope":20126,"src":"13194:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20109,"name":"bool","nodeType":"ElementaryTypeName","src":"13194:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20112,"mutability":"mutable","name":"p2","nameLocation":"13211:2:18","nodeType":"VariableDeclaration","scope":20126,"src":"13203:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20111,"name":"uint256","nodeType":"ElementaryTypeName","src":"13203:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13175:39:18"},"returnParameters":{"id":20114,"nodeType":"ParameterList","parameters":[],"src":"13229:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20146,"nodeType":"FunctionDefinition","src":"13332:168:18","nodes":[],"body":{"id":20145,"nodeType":"Block","src":"13404:96:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":20138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13454:25:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":20139,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20128,"src":"13481:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20140,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20130,"src":"13485:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20141,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20132,"src":"13489:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13430:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13434:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13430:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13430:62:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20135,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"13414:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13414:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20144,"nodeType":"ExpressionStatement","src":"13414:79:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13341:3:18","parameters":{"id":20133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20128,"mutability":"mutable","name":"p0","nameLocation":"13359:2:18","nodeType":"VariableDeclaration","scope":20146,"src":"13345:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20127,"name":"string","nodeType":"ElementaryTypeName","src":"13345:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20130,"mutability":"mutable","name":"p1","nameLocation":"13368:2:18","nodeType":"VariableDeclaration","scope":20146,"src":"13363:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20129,"name":"bool","nodeType":"ElementaryTypeName","src":"13363:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20132,"mutability":"mutable","name":"p2","nameLocation":"13386:2:18","nodeType":"VariableDeclaration","scope":20146,"src":"13372:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20131,"name":"string","nodeType":"ElementaryTypeName","src":"13372:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13344:45:18"},"returnParameters":{"id":20134,"nodeType":"ParameterList","parameters":[],"src":"13404:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20166,"nodeType":"FunctionDefinition","src":"13506:157:18","nodes":[],"body":{"id":20165,"nodeType":"Block","src":"13569:94:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":20158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13619:23:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":20159,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20148,"src":"13644:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20160,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20150,"src":"13648:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20161,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20152,"src":"13652:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13595:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13599:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13595:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13595:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"13579:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13579:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20164,"nodeType":"ExpressionStatement","src":"13579:77:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13515:3:18","parameters":{"id":20153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20148,"mutability":"mutable","name":"p0","nameLocation":"13533:2:18","nodeType":"VariableDeclaration","scope":20166,"src":"13519:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20147,"name":"string","nodeType":"ElementaryTypeName","src":"13519:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20150,"mutability":"mutable","name":"p1","nameLocation":"13542:2:18","nodeType":"VariableDeclaration","scope":20166,"src":"13537:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20149,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20152,"mutability":"mutable","name":"p2","nameLocation":"13551:2:18","nodeType":"VariableDeclaration","scope":20166,"src":"13546:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20151,"name":"bool","nodeType":"ElementaryTypeName","src":"13546:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13518:36:18"},"returnParameters":{"id":20154,"nodeType":"ParameterList","parameters":[],"src":"13569:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20186,"nodeType":"FunctionDefinition","src":"13669:163:18","nodes":[],"body":{"id":20185,"nodeType":"Block","src":"13735:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":20178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13785:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":20179,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20168,"src":"13813:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20180,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20170,"src":"13817:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20181,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20172,"src":"13821:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13761:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13765:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13761:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13761:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"13745:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13745:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20184,"nodeType":"ExpressionStatement","src":"13745:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13678:3:18","parameters":{"id":20173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20168,"mutability":"mutable","name":"p0","nameLocation":"13696:2:18","nodeType":"VariableDeclaration","scope":20186,"src":"13682:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20167,"name":"string","nodeType":"ElementaryTypeName","src":"13682:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20170,"mutability":"mutable","name":"p1","nameLocation":"13705:2:18","nodeType":"VariableDeclaration","scope":20186,"src":"13700:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20169,"name":"bool","nodeType":"ElementaryTypeName","src":"13700:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20172,"mutability":"mutable","name":"p2","nameLocation":"13717:2:18","nodeType":"VariableDeclaration","scope":20186,"src":"13709:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20171,"name":"address","nodeType":"ElementaryTypeName","src":"13709:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13681:39:18"},"returnParameters":{"id":20174,"nodeType":"ParameterList","parameters":[],"src":"13735:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20206,"nodeType":"FunctionDefinition","src":"13838:169:18","nodes":[],"body":{"id":20205,"nodeType":"Block","src":"13907:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7432353629","id":20198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13957:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},"value":"log(string,address,uint256)"},{"id":20199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20188,"src":"13988:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20190,"src":"13992:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20192,"src":"13996:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13933:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13937:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13933:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13933:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"13917:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13917:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20204,"nodeType":"ExpressionStatement","src":"13917:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13847:3:18","parameters":{"id":20193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20188,"mutability":"mutable","name":"p0","nameLocation":"13865:2:18","nodeType":"VariableDeclaration","scope":20206,"src":"13851:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20187,"name":"string","nodeType":"ElementaryTypeName","src":"13851:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20190,"mutability":"mutable","name":"p1","nameLocation":"13877:2:18","nodeType":"VariableDeclaration","scope":20206,"src":"13869:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20189,"name":"address","nodeType":"ElementaryTypeName","src":"13869:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20192,"mutability":"mutable","name":"p2","nameLocation":"13889:2:18","nodeType":"VariableDeclaration","scope":20206,"src":"13881:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20191,"name":"uint256","nodeType":"ElementaryTypeName","src":"13881:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13850:42:18"},"returnParameters":{"id":20194,"nodeType":"ParameterList","parameters":[],"src":"13907:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20226,"nodeType":"FunctionDefinition","src":"14013:174:18","nodes":[],"body":{"id":20225,"nodeType":"Block","src":"14088:99:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":20218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14138:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":20219,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20208,"src":"14168:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20220,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20210,"src":"14172:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20221,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20212,"src":"14176:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20216,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14114:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14118:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14114:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14114:65:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20215,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"14098:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14098:82:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20224,"nodeType":"ExpressionStatement","src":"14098:82:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14022:3:18","parameters":{"id":20213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20208,"mutability":"mutable","name":"p0","nameLocation":"14040:2:18","nodeType":"VariableDeclaration","scope":20226,"src":"14026:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20207,"name":"string","nodeType":"ElementaryTypeName","src":"14026:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20210,"mutability":"mutable","name":"p1","nameLocation":"14052:2:18","nodeType":"VariableDeclaration","scope":20226,"src":"14044:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20209,"name":"address","nodeType":"ElementaryTypeName","src":"14044:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20212,"mutability":"mutable","name":"p2","nameLocation":"14070:2:18","nodeType":"VariableDeclaration","scope":20226,"src":"14056:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20211,"name":"string","nodeType":"ElementaryTypeName","src":"14056:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14025:48:18"},"returnParameters":{"id":20214,"nodeType":"ParameterList","parameters":[],"src":"14088:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20246,"nodeType":"FunctionDefinition","src":"14193:163:18","nodes":[],"body":{"id":20245,"nodeType":"Block","src":"14259:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":20238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14309:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":20239,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20228,"src":"14337:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20240,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20230,"src":"14341:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20241,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20232,"src":"14345:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14285:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14289:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14285:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14285:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"14269:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14269:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20244,"nodeType":"ExpressionStatement","src":"14269:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14202:3:18","parameters":{"id":20233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20228,"mutability":"mutable","name":"p0","nameLocation":"14220:2:18","nodeType":"VariableDeclaration","scope":20246,"src":"14206:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20227,"name":"string","nodeType":"ElementaryTypeName","src":"14206:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20230,"mutability":"mutable","name":"p1","nameLocation":"14232:2:18","nodeType":"VariableDeclaration","scope":20246,"src":"14224:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20229,"name":"address","nodeType":"ElementaryTypeName","src":"14224:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20232,"mutability":"mutable","name":"p2","nameLocation":"14241:2:18","nodeType":"VariableDeclaration","scope":20246,"src":"14236:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20231,"name":"bool","nodeType":"ElementaryTypeName","src":"14236:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14205:39:18"},"returnParameters":{"id":20234,"nodeType":"ParameterList","parameters":[],"src":"14259:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20266,"nodeType":"FunctionDefinition","src":"14362:169:18","nodes":[],"body":{"id":20265,"nodeType":"Block","src":"14431:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":20258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14481:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":20259,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20248,"src":"14512:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20260,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20250,"src":"14516:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20261,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20252,"src":"14520:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14457:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14461:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14457:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20255,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"14441:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14441:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20264,"nodeType":"ExpressionStatement","src":"14441:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14371:3:18","parameters":{"id":20253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20248,"mutability":"mutable","name":"p0","nameLocation":"14389:2:18","nodeType":"VariableDeclaration","scope":20266,"src":"14375:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20247,"name":"string","nodeType":"ElementaryTypeName","src":"14375:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20250,"mutability":"mutable","name":"p1","nameLocation":"14401:2:18","nodeType":"VariableDeclaration","scope":20266,"src":"14393:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20249,"name":"address","nodeType":"ElementaryTypeName","src":"14393:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20252,"mutability":"mutable","name":"p2","nameLocation":"14413:2:18","nodeType":"VariableDeclaration","scope":20266,"src":"14405:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20251,"name":"address","nodeType":"ElementaryTypeName","src":"14405:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14374:42:18"},"returnParameters":{"id":20254,"nodeType":"ParameterList","parameters":[],"src":"14431:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20286,"nodeType":"FunctionDefinition","src":"14537:158:18","nodes":[],"body":{"id":20285,"nodeType":"Block","src":"14597:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e7432353629","id":20278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14647:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},"value":"log(bool,uint256,uint256)"},{"id":20279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20268,"src":"14676:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20270,"src":"14680:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20272,"src":"14684:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14623:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14627:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14623:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14623:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"14607:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14607:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20284,"nodeType":"ExpressionStatement","src":"14607:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14546:3:18","parameters":{"id":20273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20268,"mutability":"mutable","name":"p0","nameLocation":"14555:2:18","nodeType":"VariableDeclaration","scope":20286,"src":"14550:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20267,"name":"bool","nodeType":"ElementaryTypeName","src":"14550:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20270,"mutability":"mutable","name":"p1","nameLocation":"14567:2:18","nodeType":"VariableDeclaration","scope":20286,"src":"14559:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20269,"name":"uint256","nodeType":"ElementaryTypeName","src":"14559:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20272,"mutability":"mutable","name":"p2","nameLocation":"14579:2:18","nodeType":"VariableDeclaration","scope":20286,"src":"14571:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20271,"name":"uint256","nodeType":"ElementaryTypeName","src":"14571:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14549:33:18"},"returnParameters":{"id":20274,"nodeType":"ParameterList","parameters":[],"src":"14597:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20306,"nodeType":"FunctionDefinition","src":"14701:163:18","nodes":[],"body":{"id":20305,"nodeType":"Block","src":"14767:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e6729","id":20298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14817:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},"value":"log(bool,uint256,string)"},{"id":20299,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20288,"src":"14845:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20300,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20290,"src":"14849:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20301,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20292,"src":"14853:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14793:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14797:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14793:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14793:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20295,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"14777:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14777:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20304,"nodeType":"ExpressionStatement","src":"14777:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14710:3:18","parameters":{"id":20293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20288,"mutability":"mutable","name":"p0","nameLocation":"14719:2:18","nodeType":"VariableDeclaration","scope":20306,"src":"14714:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20287,"name":"bool","nodeType":"ElementaryTypeName","src":"14714:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20290,"mutability":"mutable","name":"p1","nameLocation":"14731:2:18","nodeType":"VariableDeclaration","scope":20306,"src":"14723:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20289,"name":"uint256","nodeType":"ElementaryTypeName","src":"14723:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20292,"mutability":"mutable","name":"p2","nameLocation":"14749:2:18","nodeType":"VariableDeclaration","scope":20306,"src":"14735:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20291,"name":"string","nodeType":"ElementaryTypeName","src":"14735:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14713:39:18"},"returnParameters":{"id":20294,"nodeType":"ParameterList","parameters":[],"src":"14767:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20326,"nodeType":"FunctionDefinition","src":"14870:152:18","nodes":[],"body":{"id":20325,"nodeType":"Block","src":"14927:95:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c29","id":20318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14977:24:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},"value":"log(bool,uint256,bool)"},{"id":20319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20308,"src":"15003:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20320,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20310,"src":"15007:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20321,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20312,"src":"15011:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14953:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14957:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14953:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14953:61:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"14937:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14937:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20324,"nodeType":"ExpressionStatement","src":"14937:78:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14879:3:18","parameters":{"id":20313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20308,"mutability":"mutable","name":"p0","nameLocation":"14888:2:18","nodeType":"VariableDeclaration","scope":20326,"src":"14883:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20307,"name":"bool","nodeType":"ElementaryTypeName","src":"14883:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20310,"mutability":"mutable","name":"p1","nameLocation":"14900:2:18","nodeType":"VariableDeclaration","scope":20326,"src":"14892:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20309,"name":"uint256","nodeType":"ElementaryTypeName","src":"14892:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20312,"mutability":"mutable","name":"p2","nameLocation":"14909:2:18","nodeType":"VariableDeclaration","scope":20326,"src":"14904:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20311,"name":"bool","nodeType":"ElementaryTypeName","src":"14904:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14882:30:18"},"returnParameters":{"id":20314,"nodeType":"ParameterList","parameters":[],"src":"14927:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20346,"nodeType":"FunctionDefinition","src":"15028:158:18","nodes":[],"body":{"id":20345,"nodeType":"Block","src":"15088:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c6164647265737329","id":20338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15138:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},"value":"log(bool,uint256,address)"},{"id":20339,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20328,"src":"15167:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20340,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20330,"src":"15171:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20341,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20332,"src":"15175:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20336,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15114:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15118:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15114:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15114:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20335,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"15098:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15098:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20344,"nodeType":"ExpressionStatement","src":"15098:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15037:3:18","parameters":{"id":20333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20328,"mutability":"mutable","name":"p0","nameLocation":"15046:2:18","nodeType":"VariableDeclaration","scope":20346,"src":"15041:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20327,"name":"bool","nodeType":"ElementaryTypeName","src":"15041:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20330,"mutability":"mutable","name":"p1","nameLocation":"15058:2:18","nodeType":"VariableDeclaration","scope":20346,"src":"15050:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20329,"name":"uint256","nodeType":"ElementaryTypeName","src":"15050:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20332,"mutability":"mutable","name":"p2","nameLocation":"15070:2:18","nodeType":"VariableDeclaration","scope":20346,"src":"15062:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20331,"name":"address","nodeType":"ElementaryTypeName","src":"15062:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15040:33:18"},"returnParameters":{"id":20334,"nodeType":"ParameterList","parameters":[],"src":"15088:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20366,"nodeType":"FunctionDefinition","src":"15192:163:18","nodes":[],"body":{"id":20365,"nodeType":"Block","src":"15258:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7432353629","id":20358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15308:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},"value":"log(bool,string,uint256)"},{"id":20359,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20348,"src":"15336:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20360,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20350,"src":"15340:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20361,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20352,"src":"15344:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15284:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15288:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15284:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15284:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"15268:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15268:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20364,"nodeType":"ExpressionStatement","src":"15268:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15201:3:18","parameters":{"id":20353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20348,"mutability":"mutable","name":"p0","nameLocation":"15210:2:18","nodeType":"VariableDeclaration","scope":20366,"src":"15205:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20347,"name":"bool","nodeType":"ElementaryTypeName","src":"15205:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20350,"mutability":"mutable","name":"p1","nameLocation":"15228:2:18","nodeType":"VariableDeclaration","scope":20366,"src":"15214:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20349,"name":"string","nodeType":"ElementaryTypeName","src":"15214:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20352,"mutability":"mutable","name":"p2","nameLocation":"15240:2:18","nodeType":"VariableDeclaration","scope":20366,"src":"15232:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20351,"name":"uint256","nodeType":"ElementaryTypeName","src":"15232:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15204:39:18"},"returnParameters":{"id":20354,"nodeType":"ParameterList","parameters":[],"src":"15258:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20386,"nodeType":"FunctionDefinition","src":"15361:168:18","nodes":[],"body":{"id":20385,"nodeType":"Block","src":"15433:96:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":20378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15483:25:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":20379,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20368,"src":"15510:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20380,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20370,"src":"15514:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20381,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20372,"src":"15518:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20376,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15459:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15463:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15459:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15459:62:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20375,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"15443:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15443:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20384,"nodeType":"ExpressionStatement","src":"15443:79:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15370:3:18","parameters":{"id":20373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20368,"mutability":"mutable","name":"p0","nameLocation":"15379:2:18","nodeType":"VariableDeclaration","scope":20386,"src":"15374:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20367,"name":"bool","nodeType":"ElementaryTypeName","src":"15374:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20370,"mutability":"mutable","name":"p1","nameLocation":"15397:2:18","nodeType":"VariableDeclaration","scope":20386,"src":"15383:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20369,"name":"string","nodeType":"ElementaryTypeName","src":"15383:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20372,"mutability":"mutable","name":"p2","nameLocation":"15415:2:18","nodeType":"VariableDeclaration","scope":20386,"src":"15401:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20371,"name":"string","nodeType":"ElementaryTypeName","src":"15401:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15373:45:18"},"returnParameters":{"id":20374,"nodeType":"ParameterList","parameters":[],"src":"15433:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20406,"nodeType":"FunctionDefinition","src":"15535:157:18","nodes":[],"body":{"id":20405,"nodeType":"Block","src":"15598:94:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":20398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15648:23:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":20399,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20388,"src":"15673:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20400,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20390,"src":"15677:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20401,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20392,"src":"15681:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20396,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15624:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15628:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15624:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15624:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20395,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"15608:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15608:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20404,"nodeType":"ExpressionStatement","src":"15608:77:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15544:3:18","parameters":{"id":20393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20388,"mutability":"mutable","name":"p0","nameLocation":"15553:2:18","nodeType":"VariableDeclaration","scope":20406,"src":"15548:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20387,"name":"bool","nodeType":"ElementaryTypeName","src":"15548:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20390,"mutability":"mutable","name":"p1","nameLocation":"15571:2:18","nodeType":"VariableDeclaration","scope":20406,"src":"15557:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20389,"name":"string","nodeType":"ElementaryTypeName","src":"15557:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20392,"mutability":"mutable","name":"p2","nameLocation":"15580:2:18","nodeType":"VariableDeclaration","scope":20406,"src":"15575:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20391,"name":"bool","nodeType":"ElementaryTypeName","src":"15575:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15547:36:18"},"returnParameters":{"id":20394,"nodeType":"ParameterList","parameters":[],"src":"15598:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20426,"nodeType":"FunctionDefinition","src":"15698:163:18","nodes":[],"body":{"id":20425,"nodeType":"Block","src":"15764:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":20418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15814:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":20419,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20408,"src":"15842:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20420,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20410,"src":"15846:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20421,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20412,"src":"15850:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15790:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15794:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15790:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15790:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20415,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"15774:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15774:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20424,"nodeType":"ExpressionStatement","src":"15774:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15707:3:18","parameters":{"id":20413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20408,"mutability":"mutable","name":"p0","nameLocation":"15716:2:18","nodeType":"VariableDeclaration","scope":20426,"src":"15711:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20407,"name":"bool","nodeType":"ElementaryTypeName","src":"15711:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20410,"mutability":"mutable","name":"p1","nameLocation":"15734:2:18","nodeType":"VariableDeclaration","scope":20426,"src":"15720:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20409,"name":"string","nodeType":"ElementaryTypeName","src":"15720:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20412,"mutability":"mutable","name":"p2","nameLocation":"15746:2:18","nodeType":"VariableDeclaration","scope":20426,"src":"15738:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20411,"name":"address","nodeType":"ElementaryTypeName","src":"15738:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15710:39:18"},"returnParameters":{"id":20414,"nodeType":"ParameterList","parameters":[],"src":"15764:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20446,"nodeType":"FunctionDefinition","src":"15867:152:18","nodes":[],"body":{"id":20445,"nodeType":"Block","src":"15924:95:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7432353629","id":20438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15974:24:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},"value":"log(bool,bool,uint256)"},{"id":20439,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20428,"src":"16000:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20440,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20430,"src":"16004:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20441,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20432,"src":"16008:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15950:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15954:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15950:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15950:61:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"15934:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15934:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20444,"nodeType":"ExpressionStatement","src":"15934:78:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15876:3:18","parameters":{"id":20433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20428,"mutability":"mutable","name":"p0","nameLocation":"15885:2:18","nodeType":"VariableDeclaration","scope":20446,"src":"15880:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20427,"name":"bool","nodeType":"ElementaryTypeName","src":"15880:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20430,"mutability":"mutable","name":"p1","nameLocation":"15894:2:18","nodeType":"VariableDeclaration","scope":20446,"src":"15889:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20429,"name":"bool","nodeType":"ElementaryTypeName","src":"15889:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20432,"mutability":"mutable","name":"p2","nameLocation":"15906:2:18","nodeType":"VariableDeclaration","scope":20446,"src":"15898:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20431,"name":"uint256","nodeType":"ElementaryTypeName","src":"15898:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15879:30:18"},"returnParameters":{"id":20434,"nodeType":"ParameterList","parameters":[],"src":"15924:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20466,"nodeType":"FunctionDefinition","src":"16025:157:18","nodes":[],"body":{"id":20465,"nodeType":"Block","src":"16088:94:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":20458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16138:23:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":20459,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20448,"src":"16163:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20460,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20450,"src":"16167:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20461,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20452,"src":"16171:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20456,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16114:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16118:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16114:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16114:60:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20455,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"16098:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16098:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20464,"nodeType":"ExpressionStatement","src":"16098:77:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16034:3:18","parameters":{"id":20453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20448,"mutability":"mutable","name":"p0","nameLocation":"16043:2:18","nodeType":"VariableDeclaration","scope":20466,"src":"16038:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20447,"name":"bool","nodeType":"ElementaryTypeName","src":"16038:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20450,"mutability":"mutable","name":"p1","nameLocation":"16052:2:18","nodeType":"VariableDeclaration","scope":20466,"src":"16047:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20449,"name":"bool","nodeType":"ElementaryTypeName","src":"16047:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20452,"mutability":"mutable","name":"p2","nameLocation":"16070:2:18","nodeType":"VariableDeclaration","scope":20466,"src":"16056:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20451,"name":"string","nodeType":"ElementaryTypeName","src":"16056:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16037:36:18"},"returnParameters":{"id":20454,"nodeType":"ParameterList","parameters":[],"src":"16088:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20486,"nodeType":"FunctionDefinition","src":"16188:146:18","nodes":[],"body":{"id":20485,"nodeType":"Block","src":"16242:92:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":20478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16292:21:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":20479,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20468,"src":"16315:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20480,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20470,"src":"16319:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20481,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20472,"src":"16323:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20476,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16268:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16272:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16268:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16268:58:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20475,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"16252:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16252:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20484,"nodeType":"ExpressionStatement","src":"16252:75:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16197:3:18","parameters":{"id":20473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20468,"mutability":"mutable","name":"p0","nameLocation":"16206:2:18","nodeType":"VariableDeclaration","scope":20486,"src":"16201:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20467,"name":"bool","nodeType":"ElementaryTypeName","src":"16201:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20470,"mutability":"mutable","name":"p1","nameLocation":"16215:2:18","nodeType":"VariableDeclaration","scope":20486,"src":"16210:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20469,"name":"bool","nodeType":"ElementaryTypeName","src":"16210:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20472,"mutability":"mutable","name":"p2","nameLocation":"16224:2:18","nodeType":"VariableDeclaration","scope":20486,"src":"16219:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20471,"name":"bool","nodeType":"ElementaryTypeName","src":"16219:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16200:27:18"},"returnParameters":{"id":20474,"nodeType":"ParameterList","parameters":[],"src":"16242:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20506,"nodeType":"FunctionDefinition","src":"16340:152:18","nodes":[],"body":{"id":20505,"nodeType":"Block","src":"16397:95:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":20498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16447:24:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":20499,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20488,"src":"16473:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20500,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20490,"src":"16477:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20501,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20492,"src":"16481:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20496,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16423:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16427:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16423:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16423:61:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20495,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"16407:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16407:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20504,"nodeType":"ExpressionStatement","src":"16407:78:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16349:3:18","parameters":{"id":20493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20488,"mutability":"mutable","name":"p0","nameLocation":"16358:2:18","nodeType":"VariableDeclaration","scope":20506,"src":"16353:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20487,"name":"bool","nodeType":"ElementaryTypeName","src":"16353:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20490,"mutability":"mutable","name":"p1","nameLocation":"16367:2:18","nodeType":"VariableDeclaration","scope":20506,"src":"16362:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20489,"name":"bool","nodeType":"ElementaryTypeName","src":"16362:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20492,"mutability":"mutable","name":"p2","nameLocation":"16379:2:18","nodeType":"VariableDeclaration","scope":20506,"src":"16371:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20491,"name":"address","nodeType":"ElementaryTypeName","src":"16371:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16352:30:18"},"returnParameters":{"id":20494,"nodeType":"ParameterList","parameters":[],"src":"16397:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20526,"nodeType":"FunctionDefinition","src":"16498:158:18","nodes":[],"body":{"id":20525,"nodeType":"Block","src":"16558:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7432353629","id":20518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16608:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},"value":"log(bool,address,uint256)"},{"id":20519,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20508,"src":"16637:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20520,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20510,"src":"16641:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20521,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20512,"src":"16645:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16584:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16588:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16584:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16584:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"16568:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16568:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20524,"nodeType":"ExpressionStatement","src":"16568:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16507:3:18","parameters":{"id":20513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20508,"mutability":"mutable","name":"p0","nameLocation":"16516:2:18","nodeType":"VariableDeclaration","scope":20526,"src":"16511:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20507,"name":"bool","nodeType":"ElementaryTypeName","src":"16511:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20510,"mutability":"mutable","name":"p1","nameLocation":"16528:2:18","nodeType":"VariableDeclaration","scope":20526,"src":"16520:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20509,"name":"address","nodeType":"ElementaryTypeName","src":"16520:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20512,"mutability":"mutable","name":"p2","nameLocation":"16540:2:18","nodeType":"VariableDeclaration","scope":20526,"src":"16532:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20511,"name":"uint256","nodeType":"ElementaryTypeName","src":"16532:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16510:33:18"},"returnParameters":{"id":20514,"nodeType":"ParameterList","parameters":[],"src":"16558:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20546,"nodeType":"FunctionDefinition","src":"16662:163:18","nodes":[],"body":{"id":20545,"nodeType":"Block","src":"16728:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":20538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16778:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":20539,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20528,"src":"16806:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20540,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20530,"src":"16810:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20541,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20532,"src":"16814:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20536,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16754:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16758:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16754:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16754:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20535,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"16738:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16738:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20544,"nodeType":"ExpressionStatement","src":"16738:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16671:3:18","parameters":{"id":20533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20528,"mutability":"mutable","name":"p0","nameLocation":"16680:2:18","nodeType":"VariableDeclaration","scope":20546,"src":"16675:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20527,"name":"bool","nodeType":"ElementaryTypeName","src":"16675:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20530,"mutability":"mutable","name":"p1","nameLocation":"16692:2:18","nodeType":"VariableDeclaration","scope":20546,"src":"16684:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20529,"name":"address","nodeType":"ElementaryTypeName","src":"16684:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20532,"mutability":"mutable","name":"p2","nameLocation":"16710:2:18","nodeType":"VariableDeclaration","scope":20546,"src":"16696:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20531,"name":"string","nodeType":"ElementaryTypeName","src":"16696:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16674:39:18"},"returnParameters":{"id":20534,"nodeType":"ParameterList","parameters":[],"src":"16728:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20566,"nodeType":"FunctionDefinition","src":"16831:152:18","nodes":[],"body":{"id":20565,"nodeType":"Block","src":"16888:95:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":20558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16938:24:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":20559,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20548,"src":"16964:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20560,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20550,"src":"16968:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20561,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20552,"src":"16972:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20556,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16914:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16918:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16914:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16914:61:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20555,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"16898:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16898:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20564,"nodeType":"ExpressionStatement","src":"16898:78:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16840:3:18","parameters":{"id":20553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20548,"mutability":"mutable","name":"p0","nameLocation":"16849:2:18","nodeType":"VariableDeclaration","scope":20566,"src":"16844:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20547,"name":"bool","nodeType":"ElementaryTypeName","src":"16844:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20550,"mutability":"mutable","name":"p1","nameLocation":"16861:2:18","nodeType":"VariableDeclaration","scope":20566,"src":"16853:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20549,"name":"address","nodeType":"ElementaryTypeName","src":"16853:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20552,"mutability":"mutable","name":"p2","nameLocation":"16870:2:18","nodeType":"VariableDeclaration","scope":20566,"src":"16865:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20551,"name":"bool","nodeType":"ElementaryTypeName","src":"16865:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16843:30:18"},"returnParameters":{"id":20554,"nodeType":"ParameterList","parameters":[],"src":"16888:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20586,"nodeType":"FunctionDefinition","src":"16989:158:18","nodes":[],"body":{"id":20585,"nodeType":"Block","src":"17049:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":20578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17099:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":20579,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20568,"src":"17128:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20580,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20570,"src":"17132:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20581,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20572,"src":"17136:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17075:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17079:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17075:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17075:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"17059:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17059:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20584,"nodeType":"ExpressionStatement","src":"17059:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16998:3:18","parameters":{"id":20573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20568,"mutability":"mutable","name":"p0","nameLocation":"17007:2:18","nodeType":"VariableDeclaration","scope":20586,"src":"17002:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20567,"name":"bool","nodeType":"ElementaryTypeName","src":"17002:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20570,"mutability":"mutable","name":"p1","nameLocation":"17019:2:18","nodeType":"VariableDeclaration","scope":20586,"src":"17011:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20569,"name":"address","nodeType":"ElementaryTypeName","src":"17011:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20572,"mutability":"mutable","name":"p2","nameLocation":"17031:2:18","nodeType":"VariableDeclaration","scope":20586,"src":"17023:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20571,"name":"address","nodeType":"ElementaryTypeName","src":"17023:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17001:33:18"},"returnParameters":{"id":20574,"nodeType":"ParameterList","parameters":[],"src":"17049:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20606,"nodeType":"FunctionDefinition","src":"17153:164:18","nodes":[],"body":{"id":20605,"nodeType":"Block","src":"17216:101:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e7432353629","id":20598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17266:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},"value":"log(address,uint256,uint256)"},{"id":20599,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20588,"src":"17298:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20600,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20590,"src":"17302:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20601,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20592,"src":"17306:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17242:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17246:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17242:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17242:67:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20595,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"17226:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17226:84:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20604,"nodeType":"ExpressionStatement","src":"17226:84:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17162:3:18","parameters":{"id":20593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20588,"mutability":"mutable","name":"p0","nameLocation":"17174:2:18","nodeType":"VariableDeclaration","scope":20606,"src":"17166:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20587,"name":"address","nodeType":"ElementaryTypeName","src":"17166:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20590,"mutability":"mutable","name":"p1","nameLocation":"17186:2:18","nodeType":"VariableDeclaration","scope":20606,"src":"17178:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20589,"name":"uint256","nodeType":"ElementaryTypeName","src":"17178:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20592,"mutability":"mutable","name":"p2","nameLocation":"17198:2:18","nodeType":"VariableDeclaration","scope":20606,"src":"17190:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20591,"name":"uint256","nodeType":"ElementaryTypeName","src":"17190:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17165:36:18"},"returnParameters":{"id":20594,"nodeType":"ParameterList","parameters":[],"src":"17216:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20626,"nodeType":"FunctionDefinition","src":"17323:169:18","nodes":[],"body":{"id":20625,"nodeType":"Block","src":"17392:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e6729","id":20618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17442:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},"value":"log(address,uint256,string)"},{"id":20619,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20608,"src":"17473:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20620,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20610,"src":"17477:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20621,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20612,"src":"17481:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20616,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17418:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17422:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17418:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20615,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"17402:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17402:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20624,"nodeType":"ExpressionStatement","src":"17402:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17332:3:18","parameters":{"id":20613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20608,"mutability":"mutable","name":"p0","nameLocation":"17344:2:18","nodeType":"VariableDeclaration","scope":20626,"src":"17336:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20607,"name":"address","nodeType":"ElementaryTypeName","src":"17336:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20610,"mutability":"mutable","name":"p1","nameLocation":"17356:2:18","nodeType":"VariableDeclaration","scope":20626,"src":"17348:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20609,"name":"uint256","nodeType":"ElementaryTypeName","src":"17348:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20612,"mutability":"mutable","name":"p2","nameLocation":"17374:2:18","nodeType":"VariableDeclaration","scope":20626,"src":"17360:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20611,"name":"string","nodeType":"ElementaryTypeName","src":"17360:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17335:42:18"},"returnParameters":{"id":20614,"nodeType":"ParameterList","parameters":[],"src":"17392:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20646,"nodeType":"FunctionDefinition","src":"17498:158:18","nodes":[],"body":{"id":20645,"nodeType":"Block","src":"17558:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c29","id":20638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17608:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},"value":"log(address,uint256,bool)"},{"id":20639,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20628,"src":"17637:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20640,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20630,"src":"17641:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20641,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20632,"src":"17645:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20636,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17584:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17588:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17584:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17584:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20635,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"17568:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17568:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20644,"nodeType":"ExpressionStatement","src":"17568:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17507:3:18","parameters":{"id":20633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20628,"mutability":"mutable","name":"p0","nameLocation":"17519:2:18","nodeType":"VariableDeclaration","scope":20646,"src":"17511:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20627,"name":"address","nodeType":"ElementaryTypeName","src":"17511:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20630,"mutability":"mutable","name":"p1","nameLocation":"17531:2:18","nodeType":"VariableDeclaration","scope":20646,"src":"17523:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20629,"name":"uint256","nodeType":"ElementaryTypeName","src":"17523:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20632,"mutability":"mutable","name":"p2","nameLocation":"17540:2:18","nodeType":"VariableDeclaration","scope":20646,"src":"17535:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20631,"name":"bool","nodeType":"ElementaryTypeName","src":"17535:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17510:33:18"},"returnParameters":{"id":20634,"nodeType":"ParameterList","parameters":[],"src":"17558:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20666,"nodeType":"FunctionDefinition","src":"17662:164:18","nodes":[],"body":{"id":20665,"nodeType":"Block","src":"17725:101:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c6164647265737329","id":20658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17775:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},"value":"log(address,uint256,address)"},{"id":20659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20648,"src":"17807:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20650,"src":"17811:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20652,"src":"17815:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17751:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17755:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17751:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17751:67:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"17735:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17735:84:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20664,"nodeType":"ExpressionStatement","src":"17735:84:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17671:3:18","parameters":{"id":20653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20648,"mutability":"mutable","name":"p0","nameLocation":"17683:2:18","nodeType":"VariableDeclaration","scope":20666,"src":"17675:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20647,"name":"address","nodeType":"ElementaryTypeName","src":"17675:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20650,"mutability":"mutable","name":"p1","nameLocation":"17695:2:18","nodeType":"VariableDeclaration","scope":20666,"src":"17687:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20649,"name":"uint256","nodeType":"ElementaryTypeName","src":"17687:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20652,"mutability":"mutable","name":"p2","nameLocation":"17707:2:18","nodeType":"VariableDeclaration","scope":20666,"src":"17699:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20651,"name":"address","nodeType":"ElementaryTypeName","src":"17699:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17674:36:18"},"returnParameters":{"id":20654,"nodeType":"ParameterList","parameters":[],"src":"17725:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20686,"nodeType":"FunctionDefinition","src":"17832:169:18","nodes":[],"body":{"id":20685,"nodeType":"Block","src":"17901:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7432353629","id":20678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17951:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},"value":"log(address,string,uint256)"},{"id":20679,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20668,"src":"17982:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20680,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20670,"src":"17986:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20681,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20672,"src":"17990:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20676,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17927:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17931:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17927:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17927:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20675,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"17911:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17911:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20684,"nodeType":"ExpressionStatement","src":"17911:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17841:3:18","parameters":{"id":20673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20668,"mutability":"mutable","name":"p0","nameLocation":"17853:2:18","nodeType":"VariableDeclaration","scope":20686,"src":"17845:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20667,"name":"address","nodeType":"ElementaryTypeName","src":"17845:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20670,"mutability":"mutable","name":"p1","nameLocation":"17871:2:18","nodeType":"VariableDeclaration","scope":20686,"src":"17857:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20669,"name":"string","nodeType":"ElementaryTypeName","src":"17857:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20672,"mutability":"mutable","name":"p2","nameLocation":"17883:2:18","nodeType":"VariableDeclaration","scope":20686,"src":"17875:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20671,"name":"uint256","nodeType":"ElementaryTypeName","src":"17875:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17844:42:18"},"returnParameters":{"id":20674,"nodeType":"ParameterList","parameters":[],"src":"17901:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20706,"nodeType":"FunctionDefinition","src":"18007:174:18","nodes":[],"body":{"id":20705,"nodeType":"Block","src":"18082:99:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":20698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18132:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":20699,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20688,"src":"18162:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20700,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20690,"src":"18166:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20701,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20692,"src":"18170:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20696,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18108:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18112:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18108:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18108:65:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20695,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"18092:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18092:82:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20704,"nodeType":"ExpressionStatement","src":"18092:82:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18016:3:18","parameters":{"id":20693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20688,"mutability":"mutable","name":"p0","nameLocation":"18028:2:18","nodeType":"VariableDeclaration","scope":20706,"src":"18020:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20687,"name":"address","nodeType":"ElementaryTypeName","src":"18020:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20690,"mutability":"mutable","name":"p1","nameLocation":"18046:2:18","nodeType":"VariableDeclaration","scope":20706,"src":"18032:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20689,"name":"string","nodeType":"ElementaryTypeName","src":"18032:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20692,"mutability":"mutable","name":"p2","nameLocation":"18064:2:18","nodeType":"VariableDeclaration","scope":20706,"src":"18050:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20691,"name":"string","nodeType":"ElementaryTypeName","src":"18050:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18019:48:18"},"returnParameters":{"id":20694,"nodeType":"ParameterList","parameters":[],"src":"18082:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20726,"nodeType":"FunctionDefinition","src":"18187:163:18","nodes":[],"body":{"id":20725,"nodeType":"Block","src":"18253:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":20718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18303:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":20719,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20708,"src":"18331:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20720,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20710,"src":"18335:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20721,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20712,"src":"18339:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18279:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18283:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18279:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18279:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20715,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"18263:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18263:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20724,"nodeType":"ExpressionStatement","src":"18263:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18196:3:18","parameters":{"id":20713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20708,"mutability":"mutable","name":"p0","nameLocation":"18208:2:18","nodeType":"VariableDeclaration","scope":20726,"src":"18200:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20707,"name":"address","nodeType":"ElementaryTypeName","src":"18200:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20710,"mutability":"mutable","name":"p1","nameLocation":"18226:2:18","nodeType":"VariableDeclaration","scope":20726,"src":"18212:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20709,"name":"string","nodeType":"ElementaryTypeName","src":"18212:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20712,"mutability":"mutable","name":"p2","nameLocation":"18235:2:18","nodeType":"VariableDeclaration","scope":20726,"src":"18230:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20711,"name":"bool","nodeType":"ElementaryTypeName","src":"18230:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18199:39:18"},"returnParameters":{"id":20714,"nodeType":"ParameterList","parameters":[],"src":"18253:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20746,"nodeType":"FunctionDefinition","src":"18356:169:18","nodes":[],"body":{"id":20745,"nodeType":"Block","src":"18425:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":20738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18475:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":20739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20728,"src":"18506:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20730,"src":"18510:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20732,"src":"18514:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18451:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18455:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18451:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18451:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"18435:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18435:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20744,"nodeType":"ExpressionStatement","src":"18435:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18365:3:18","parameters":{"id":20733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20728,"mutability":"mutable","name":"p0","nameLocation":"18377:2:18","nodeType":"VariableDeclaration","scope":20746,"src":"18369:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20727,"name":"address","nodeType":"ElementaryTypeName","src":"18369:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20730,"mutability":"mutable","name":"p1","nameLocation":"18395:2:18","nodeType":"VariableDeclaration","scope":20746,"src":"18381:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20729,"name":"string","nodeType":"ElementaryTypeName","src":"18381:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20732,"mutability":"mutable","name":"p2","nameLocation":"18407:2:18","nodeType":"VariableDeclaration","scope":20746,"src":"18399:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20731,"name":"address","nodeType":"ElementaryTypeName","src":"18399:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18368:42:18"},"returnParameters":{"id":20734,"nodeType":"ParameterList","parameters":[],"src":"18425:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20766,"nodeType":"FunctionDefinition","src":"18531:158:18","nodes":[],"body":{"id":20765,"nodeType":"Block","src":"18591:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7432353629","id":20758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18641:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},"value":"log(address,bool,uint256)"},{"id":20759,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20748,"src":"18670:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20760,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20750,"src":"18674:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20761,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20752,"src":"18678:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20756,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18617:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18621:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18617:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18617:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20755,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"18601:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18601:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20764,"nodeType":"ExpressionStatement","src":"18601:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18540:3:18","parameters":{"id":20753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20748,"mutability":"mutable","name":"p0","nameLocation":"18552:2:18","nodeType":"VariableDeclaration","scope":20766,"src":"18544:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20747,"name":"address","nodeType":"ElementaryTypeName","src":"18544:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20750,"mutability":"mutable","name":"p1","nameLocation":"18561:2:18","nodeType":"VariableDeclaration","scope":20766,"src":"18556:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20749,"name":"bool","nodeType":"ElementaryTypeName","src":"18556:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20752,"mutability":"mutable","name":"p2","nameLocation":"18573:2:18","nodeType":"VariableDeclaration","scope":20766,"src":"18565:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20751,"name":"uint256","nodeType":"ElementaryTypeName","src":"18565:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18543:33:18"},"returnParameters":{"id":20754,"nodeType":"ParameterList","parameters":[],"src":"18591:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20786,"nodeType":"FunctionDefinition","src":"18695:163:18","nodes":[],"body":{"id":20785,"nodeType":"Block","src":"18761:97:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":20778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18811:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":20779,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20768,"src":"18839:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20780,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20770,"src":"18843:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20781,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20772,"src":"18847:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18787:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18791:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18787:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18787:63:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20775,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"18771:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18771:80:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20784,"nodeType":"ExpressionStatement","src":"18771:80:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18704:3:18","parameters":{"id":20773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20768,"mutability":"mutable","name":"p0","nameLocation":"18716:2:18","nodeType":"VariableDeclaration","scope":20786,"src":"18708:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20767,"name":"address","nodeType":"ElementaryTypeName","src":"18708:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20770,"mutability":"mutable","name":"p1","nameLocation":"18725:2:18","nodeType":"VariableDeclaration","scope":20786,"src":"18720:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20769,"name":"bool","nodeType":"ElementaryTypeName","src":"18720:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20772,"mutability":"mutable","name":"p2","nameLocation":"18743:2:18","nodeType":"VariableDeclaration","scope":20786,"src":"18729:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20771,"name":"string","nodeType":"ElementaryTypeName","src":"18729:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18707:39:18"},"returnParameters":{"id":20774,"nodeType":"ParameterList","parameters":[],"src":"18761:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20806,"nodeType":"FunctionDefinition","src":"18864:152:18","nodes":[],"body":{"id":20805,"nodeType":"Block","src":"18921:95:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":20798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18971:24:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":20799,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20788,"src":"18997:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20800,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20790,"src":"19001:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20801,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20792,"src":"19005:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18947:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18951:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18947:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18947:61:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20795,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"18931:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18931:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20804,"nodeType":"ExpressionStatement","src":"18931:78:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18873:3:18","parameters":{"id":20793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20788,"mutability":"mutable","name":"p0","nameLocation":"18885:2:18","nodeType":"VariableDeclaration","scope":20806,"src":"18877:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20787,"name":"address","nodeType":"ElementaryTypeName","src":"18877:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20790,"mutability":"mutable","name":"p1","nameLocation":"18894:2:18","nodeType":"VariableDeclaration","scope":20806,"src":"18889:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20789,"name":"bool","nodeType":"ElementaryTypeName","src":"18889:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20792,"mutability":"mutable","name":"p2","nameLocation":"18903:2:18","nodeType":"VariableDeclaration","scope":20806,"src":"18898:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20791,"name":"bool","nodeType":"ElementaryTypeName","src":"18898:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18876:30:18"},"returnParameters":{"id":20794,"nodeType":"ParameterList","parameters":[],"src":"18921:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20826,"nodeType":"FunctionDefinition","src":"19022:158:18","nodes":[],"body":{"id":20825,"nodeType":"Block","src":"19082:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":20818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19132:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":20819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20808,"src":"19161:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20810,"src":"19165:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20821,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20812,"src":"19169:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19108:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19112:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19108:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19108:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"19092:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19092:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20824,"nodeType":"ExpressionStatement","src":"19092:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19031:3:18","parameters":{"id":20813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20808,"mutability":"mutable","name":"p0","nameLocation":"19043:2:18","nodeType":"VariableDeclaration","scope":20826,"src":"19035:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20807,"name":"address","nodeType":"ElementaryTypeName","src":"19035:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20810,"mutability":"mutable","name":"p1","nameLocation":"19052:2:18","nodeType":"VariableDeclaration","scope":20826,"src":"19047:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20809,"name":"bool","nodeType":"ElementaryTypeName","src":"19047:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20812,"mutability":"mutable","name":"p2","nameLocation":"19064:2:18","nodeType":"VariableDeclaration","scope":20826,"src":"19056:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20811,"name":"address","nodeType":"ElementaryTypeName","src":"19056:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19034:33:18"},"returnParameters":{"id":20814,"nodeType":"ParameterList","parameters":[],"src":"19082:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20846,"nodeType":"FunctionDefinition","src":"19186:164:18","nodes":[],"body":{"id":20845,"nodeType":"Block","src":"19249:101:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7432353629","id":20838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19299:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},"value":"log(address,address,uint256)"},{"id":20839,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20828,"src":"19331:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20840,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20830,"src":"19335:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20841,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20832,"src":"19339:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19275:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19279:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19275:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19275:67:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20835,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"19259:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19259:84:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20844,"nodeType":"ExpressionStatement","src":"19259:84:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19195:3:18","parameters":{"id":20833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20828,"mutability":"mutable","name":"p0","nameLocation":"19207:2:18","nodeType":"VariableDeclaration","scope":20846,"src":"19199:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20827,"name":"address","nodeType":"ElementaryTypeName","src":"19199:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20830,"mutability":"mutable","name":"p1","nameLocation":"19219:2:18","nodeType":"VariableDeclaration","scope":20846,"src":"19211:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20829,"name":"address","nodeType":"ElementaryTypeName","src":"19211:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20832,"mutability":"mutable","name":"p2","nameLocation":"19231:2:18","nodeType":"VariableDeclaration","scope":20846,"src":"19223:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20831,"name":"uint256","nodeType":"ElementaryTypeName","src":"19223:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19198:36:18"},"returnParameters":{"id":20834,"nodeType":"ParameterList","parameters":[],"src":"19249:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20866,"nodeType":"FunctionDefinition","src":"19356:169:18","nodes":[],"body":{"id":20865,"nodeType":"Block","src":"19425:100:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":20858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19475:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":20859,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20848,"src":"19506:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20860,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20850,"src":"19510:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20861,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20852,"src":"19514:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20856,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19451:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19455:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19451:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19451:66:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20855,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"19435:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19435:83:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20864,"nodeType":"ExpressionStatement","src":"19435:83:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19365:3:18","parameters":{"id":20853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20848,"mutability":"mutable","name":"p0","nameLocation":"19377:2:18","nodeType":"VariableDeclaration","scope":20866,"src":"19369:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20847,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20850,"mutability":"mutable","name":"p1","nameLocation":"19389:2:18","nodeType":"VariableDeclaration","scope":20866,"src":"19381:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20849,"name":"address","nodeType":"ElementaryTypeName","src":"19381:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20852,"mutability":"mutable","name":"p2","nameLocation":"19407:2:18","nodeType":"VariableDeclaration","scope":20866,"src":"19393:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20851,"name":"string","nodeType":"ElementaryTypeName","src":"19393:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19368:42:18"},"returnParameters":{"id":20854,"nodeType":"ParameterList","parameters":[],"src":"19425:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20886,"nodeType":"FunctionDefinition","src":"19531:158:18","nodes":[],"body":{"id":20885,"nodeType":"Block","src":"19591:98:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":20878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19641:27:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":20879,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20868,"src":"19670:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20880,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20870,"src":"19674:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20881,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20872,"src":"19678:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20876,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19617:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19621:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19617:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19617:64:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20875,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"19601:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19601:81:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20884,"nodeType":"ExpressionStatement","src":"19601:81:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19540:3:18","parameters":{"id":20873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20868,"mutability":"mutable","name":"p0","nameLocation":"19552:2:18","nodeType":"VariableDeclaration","scope":20886,"src":"19544:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20867,"name":"address","nodeType":"ElementaryTypeName","src":"19544:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20870,"mutability":"mutable","name":"p1","nameLocation":"19564:2:18","nodeType":"VariableDeclaration","scope":20886,"src":"19556:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20869,"name":"address","nodeType":"ElementaryTypeName","src":"19556:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20872,"mutability":"mutable","name":"p2","nameLocation":"19573:2:18","nodeType":"VariableDeclaration","scope":20886,"src":"19568:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20871,"name":"bool","nodeType":"ElementaryTypeName","src":"19568:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19543:33:18"},"returnParameters":{"id":20874,"nodeType":"ParameterList","parameters":[],"src":"19591:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20906,"nodeType":"FunctionDefinition","src":"19695:164:18","nodes":[],"body":{"id":20905,"nodeType":"Block","src":"19758:101:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":20898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19808:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":20899,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20888,"src":"19840:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20900,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20890,"src":"19844:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20901,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20892,"src":"19848:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19784:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19788:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19784:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19784:67:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"19768:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19768:84:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20904,"nodeType":"ExpressionStatement","src":"19768:84:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19704:3:18","parameters":{"id":20893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20888,"mutability":"mutable","name":"p0","nameLocation":"19716:2:18","nodeType":"VariableDeclaration","scope":20906,"src":"19708:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20887,"name":"address","nodeType":"ElementaryTypeName","src":"19708:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20890,"mutability":"mutable","name":"p1","nameLocation":"19728:2:18","nodeType":"VariableDeclaration","scope":20906,"src":"19720:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20889,"name":"address","nodeType":"ElementaryTypeName","src":"19720:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20892,"mutability":"mutable","name":"p2","nameLocation":"19740:2:18","nodeType":"VariableDeclaration","scope":20906,"src":"19732:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20891,"name":"address","nodeType":"ElementaryTypeName","src":"19732:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19707:36:18"},"returnParameters":{"id":20894,"nodeType":"ParameterList","parameters":[],"src":"19758:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20929,"nodeType":"FunctionDefinition","src":"19865:188:18","nodes":[],"body":{"id":20928,"nodeType":"Block","src":"19940:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629","id":20920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19990:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256,uint256)"},{"id":20921,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20908,"src":"20030:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20922,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20910,"src":"20034:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20923,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20912,"src":"20038:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20924,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20914,"src":"20042:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20918,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19966:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19970:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19966:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19966:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20917,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"19950:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19950:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20927,"nodeType":"ExpressionStatement","src":"19950:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19874:3:18","parameters":{"id":20915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20908,"mutability":"mutable","name":"p0","nameLocation":"19886:2:18","nodeType":"VariableDeclaration","scope":20929,"src":"19878:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20907,"name":"uint256","nodeType":"ElementaryTypeName","src":"19878:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20910,"mutability":"mutable","name":"p1","nameLocation":"19898:2:18","nodeType":"VariableDeclaration","scope":20929,"src":"19890:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20909,"name":"uint256","nodeType":"ElementaryTypeName","src":"19890:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20912,"mutability":"mutable","name":"p2","nameLocation":"19910:2:18","nodeType":"VariableDeclaration","scope":20929,"src":"19902:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20911,"name":"uint256","nodeType":"ElementaryTypeName","src":"19902:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20914,"mutability":"mutable","name":"p3","nameLocation":"19922:2:18","nodeType":"VariableDeclaration","scope":20929,"src":"19914:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20913,"name":"uint256","nodeType":"ElementaryTypeName","src":"19914:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19877:48:18"},"returnParameters":{"id":20916,"nodeType":"ParameterList","parameters":[],"src":"19940:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20952,"nodeType":"FunctionDefinition","src":"20059:193:18","nodes":[],"body":{"id":20951,"nodeType":"Block","src":"20140:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729","id":20943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20190:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},"value":"log(uint256,uint256,uint256,string)"},{"id":20944,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20931,"src":"20229:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20945,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20933,"src":"20233:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20946,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20935,"src":"20237:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20947,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20937,"src":"20241:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20941,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20166:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20170:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20166:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20166:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20940,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"20150:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20150:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20950,"nodeType":"ExpressionStatement","src":"20150:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20068:3:18","parameters":{"id":20938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20931,"mutability":"mutable","name":"p0","nameLocation":"20080:2:18","nodeType":"VariableDeclaration","scope":20952,"src":"20072:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20930,"name":"uint256","nodeType":"ElementaryTypeName","src":"20072:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20933,"mutability":"mutable","name":"p1","nameLocation":"20092:2:18","nodeType":"VariableDeclaration","scope":20952,"src":"20084:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20932,"name":"uint256","nodeType":"ElementaryTypeName","src":"20084:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20935,"mutability":"mutable","name":"p2","nameLocation":"20104:2:18","nodeType":"VariableDeclaration","scope":20952,"src":"20096:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20934,"name":"uint256","nodeType":"ElementaryTypeName","src":"20096:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20937,"mutability":"mutable","name":"p3","nameLocation":"20122:2:18","nodeType":"VariableDeclaration","scope":20952,"src":"20108:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20936,"name":"string","nodeType":"ElementaryTypeName","src":"20108:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20071:54:18"},"returnParameters":{"id":20939,"nodeType":"ParameterList","parameters":[],"src":"20140:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20975,"nodeType":"FunctionDefinition","src":"20258:182:18","nodes":[],"body":{"id":20974,"nodeType":"Block","src":"20330:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29","id":20966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20380:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},"value":"log(uint256,uint256,uint256,bool)"},{"id":20967,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20954,"src":"20417:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20968,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20956,"src":"20421:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20969,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20958,"src":"20425:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20970,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20960,"src":"20429:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20964,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20356:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20360:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20356:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20963,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"20340:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20340:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20973,"nodeType":"ExpressionStatement","src":"20340:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20267:3:18","parameters":{"id":20961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20954,"mutability":"mutable","name":"p0","nameLocation":"20279:2:18","nodeType":"VariableDeclaration","scope":20975,"src":"20271:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20953,"name":"uint256","nodeType":"ElementaryTypeName","src":"20271:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20956,"mutability":"mutable","name":"p1","nameLocation":"20291:2:18","nodeType":"VariableDeclaration","scope":20975,"src":"20283:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20955,"name":"uint256","nodeType":"ElementaryTypeName","src":"20283:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20958,"mutability":"mutable","name":"p2","nameLocation":"20303:2:18","nodeType":"VariableDeclaration","scope":20975,"src":"20295:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20957,"name":"uint256","nodeType":"ElementaryTypeName","src":"20295:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20960,"mutability":"mutable","name":"p3","nameLocation":"20312:2:18","nodeType":"VariableDeclaration","scope":20975,"src":"20307:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20959,"name":"bool","nodeType":"ElementaryTypeName","src":"20307:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20270:45:18"},"returnParameters":{"id":20962,"nodeType":"ParameterList","parameters":[],"src":"20330:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20998,"nodeType":"FunctionDefinition","src":"20446:188:18","nodes":[],"body":{"id":20997,"nodeType":"Block","src":"20521:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329","id":20989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20571:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},"value":"log(uint256,uint256,uint256,address)"},{"id":20990,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20977,"src":"20611:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20991,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20979,"src":"20615:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20992,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20981,"src":"20619:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20993,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20983,"src":"20623:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20987,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20547:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20551:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20547:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20547:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20986,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"20531:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20531:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20996,"nodeType":"ExpressionStatement","src":"20531:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20455:3:18","parameters":{"id":20984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20977,"mutability":"mutable","name":"p0","nameLocation":"20467:2:18","nodeType":"VariableDeclaration","scope":20998,"src":"20459:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20976,"name":"uint256","nodeType":"ElementaryTypeName","src":"20459:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20979,"mutability":"mutable","name":"p1","nameLocation":"20479:2:18","nodeType":"VariableDeclaration","scope":20998,"src":"20471:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20978,"name":"uint256","nodeType":"ElementaryTypeName","src":"20471:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20981,"mutability":"mutable","name":"p2","nameLocation":"20491:2:18","nodeType":"VariableDeclaration","scope":20998,"src":"20483:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20980,"name":"uint256","nodeType":"ElementaryTypeName","src":"20483:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20983,"mutability":"mutable","name":"p3","nameLocation":"20503:2:18","nodeType":"VariableDeclaration","scope":20998,"src":"20495:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20982,"name":"address","nodeType":"ElementaryTypeName","src":"20495:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20458:48:18"},"returnParameters":{"id":20985,"nodeType":"ParameterList","parameters":[],"src":"20521:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21021,"nodeType":"FunctionDefinition","src":"20640:193:18","nodes":[],"body":{"id":21020,"nodeType":"Block","src":"20721:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629","id":21012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20771:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},"value":"log(uint256,uint256,string,uint256)"},{"id":21013,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21000,"src":"20810:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21014,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21002,"src":"20814:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21015,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21004,"src":"20818:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21016,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21006,"src":"20822:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21010,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20747:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20751:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20747:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20747:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21009,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"20731:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20731:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21019,"nodeType":"ExpressionStatement","src":"20731:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20649:3:18","parameters":{"id":21007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21000,"mutability":"mutable","name":"p0","nameLocation":"20661:2:18","nodeType":"VariableDeclaration","scope":21021,"src":"20653:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20999,"name":"uint256","nodeType":"ElementaryTypeName","src":"20653:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21002,"mutability":"mutable","name":"p1","nameLocation":"20673:2:18","nodeType":"VariableDeclaration","scope":21021,"src":"20665:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21001,"name":"uint256","nodeType":"ElementaryTypeName","src":"20665:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21004,"mutability":"mutable","name":"p2","nameLocation":"20691:2:18","nodeType":"VariableDeclaration","scope":21021,"src":"20677:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21003,"name":"string","nodeType":"ElementaryTypeName","src":"20677:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21006,"mutability":"mutable","name":"p3","nameLocation":"20703:2:18","nodeType":"VariableDeclaration","scope":21021,"src":"20695:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21005,"name":"uint256","nodeType":"ElementaryTypeName","src":"20695:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20652:54:18"},"returnParameters":{"id":21008,"nodeType":"ParameterList","parameters":[],"src":"20721:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21044,"nodeType":"FunctionDefinition","src":"20839:198:18","nodes":[],"body":{"id":21043,"nodeType":"Block","src":"20926:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729","id":21035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20976:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},"value":"log(uint256,uint256,string,string)"},{"id":21036,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21023,"src":"21014:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21037,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21025,"src":"21018:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21038,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21027,"src":"21022:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21039,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21029,"src":"21026:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20952:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20956:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20952:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20952:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21032,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"20936:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20936:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21042,"nodeType":"ExpressionStatement","src":"20936:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20848:3:18","parameters":{"id":21030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21023,"mutability":"mutable","name":"p0","nameLocation":"20860:2:18","nodeType":"VariableDeclaration","scope":21044,"src":"20852:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21022,"name":"uint256","nodeType":"ElementaryTypeName","src":"20852:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21025,"mutability":"mutable","name":"p1","nameLocation":"20872:2:18","nodeType":"VariableDeclaration","scope":21044,"src":"20864:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21024,"name":"uint256","nodeType":"ElementaryTypeName","src":"20864:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21027,"mutability":"mutable","name":"p2","nameLocation":"20890:2:18","nodeType":"VariableDeclaration","scope":21044,"src":"20876:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21026,"name":"string","nodeType":"ElementaryTypeName","src":"20876:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21029,"mutability":"mutable","name":"p3","nameLocation":"20908:2:18","nodeType":"VariableDeclaration","scope":21044,"src":"20894:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21028,"name":"string","nodeType":"ElementaryTypeName","src":"20894:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20851:60:18"},"returnParameters":{"id":21031,"nodeType":"ParameterList","parameters":[],"src":"20926:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21067,"nodeType":"FunctionDefinition","src":"21043:187:18","nodes":[],"body":{"id":21066,"nodeType":"Block","src":"21121:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29","id":21058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21171:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},"value":"log(uint256,uint256,string,bool)"},{"id":21059,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21046,"src":"21207:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21060,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21048,"src":"21211:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21061,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21050,"src":"21215:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21062,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21052,"src":"21219:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21056,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21147:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21151:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21147:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21147:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"21131:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21131:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21065,"nodeType":"ExpressionStatement","src":"21131:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21052:3:18","parameters":{"id":21053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21046,"mutability":"mutable","name":"p0","nameLocation":"21064:2:18","nodeType":"VariableDeclaration","scope":21067,"src":"21056:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21045,"name":"uint256","nodeType":"ElementaryTypeName","src":"21056:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21048,"mutability":"mutable","name":"p1","nameLocation":"21076:2:18","nodeType":"VariableDeclaration","scope":21067,"src":"21068:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21047,"name":"uint256","nodeType":"ElementaryTypeName","src":"21068:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21050,"mutability":"mutable","name":"p2","nameLocation":"21094:2:18","nodeType":"VariableDeclaration","scope":21067,"src":"21080:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21049,"name":"string","nodeType":"ElementaryTypeName","src":"21080:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21052,"mutability":"mutable","name":"p3","nameLocation":"21103:2:18","nodeType":"VariableDeclaration","scope":21067,"src":"21098:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21051,"name":"bool","nodeType":"ElementaryTypeName","src":"21098:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21055:51:18"},"returnParameters":{"id":21054,"nodeType":"ParameterList","parameters":[],"src":"21121:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21090,"nodeType":"FunctionDefinition","src":"21236:193:18","nodes":[],"body":{"id":21089,"nodeType":"Block","src":"21317:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329","id":21081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21367:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},"value":"log(uint256,uint256,string,address)"},{"id":21082,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21069,"src":"21406:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21083,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21071,"src":"21410:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21084,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21073,"src":"21414:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21085,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21075,"src":"21418:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21343:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21347:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21343:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21343:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21078,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"21327:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21088,"nodeType":"ExpressionStatement","src":"21327:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21245:3:18","parameters":{"id":21076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21069,"mutability":"mutable","name":"p0","nameLocation":"21257:2:18","nodeType":"VariableDeclaration","scope":21090,"src":"21249:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21068,"name":"uint256","nodeType":"ElementaryTypeName","src":"21249:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21071,"mutability":"mutable","name":"p1","nameLocation":"21269:2:18","nodeType":"VariableDeclaration","scope":21090,"src":"21261:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21070,"name":"uint256","nodeType":"ElementaryTypeName","src":"21261:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21073,"mutability":"mutable","name":"p2","nameLocation":"21287:2:18","nodeType":"VariableDeclaration","scope":21090,"src":"21273:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21072,"name":"string","nodeType":"ElementaryTypeName","src":"21273:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21075,"mutability":"mutable","name":"p3","nameLocation":"21299:2:18","nodeType":"VariableDeclaration","scope":21090,"src":"21291:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21074,"name":"address","nodeType":"ElementaryTypeName","src":"21291:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21248:54:18"},"returnParameters":{"id":21077,"nodeType":"ParameterList","parameters":[],"src":"21317:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21113,"nodeType":"FunctionDefinition","src":"21435:182:18","nodes":[],"body":{"id":21112,"nodeType":"Block","src":"21507:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629","id":21104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21557:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},"value":"log(uint256,uint256,bool,uint256)"},{"id":21105,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21092,"src":"21594:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21106,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21094,"src":"21598:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21107,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21096,"src":"21602:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21108,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21098,"src":"21606:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21533:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21537:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21533:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21533:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21101,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"21517:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21517:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21111,"nodeType":"ExpressionStatement","src":"21517:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21444:3:18","parameters":{"id":21099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21092,"mutability":"mutable","name":"p0","nameLocation":"21456:2:18","nodeType":"VariableDeclaration","scope":21113,"src":"21448:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21091,"name":"uint256","nodeType":"ElementaryTypeName","src":"21448:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21094,"mutability":"mutable","name":"p1","nameLocation":"21468:2:18","nodeType":"VariableDeclaration","scope":21113,"src":"21460:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21093,"name":"uint256","nodeType":"ElementaryTypeName","src":"21460:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21096,"mutability":"mutable","name":"p2","nameLocation":"21477:2:18","nodeType":"VariableDeclaration","scope":21113,"src":"21472:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21095,"name":"bool","nodeType":"ElementaryTypeName","src":"21472:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21098,"mutability":"mutable","name":"p3","nameLocation":"21489:2:18","nodeType":"VariableDeclaration","scope":21113,"src":"21481:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21097,"name":"uint256","nodeType":"ElementaryTypeName","src":"21481:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21447:45:18"},"returnParameters":{"id":21100,"nodeType":"ParameterList","parameters":[],"src":"21507:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21136,"nodeType":"FunctionDefinition","src":"21623:187:18","nodes":[],"body":{"id":21135,"nodeType":"Block","src":"21701:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729","id":21127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21751:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},"value":"log(uint256,uint256,bool,string)"},{"id":21128,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21115,"src":"21787:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21129,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21117,"src":"21791:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21130,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21119,"src":"21795:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21131,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21121,"src":"21799:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21727:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21731:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21727:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21727:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21124,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"21711:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21711:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21134,"nodeType":"ExpressionStatement","src":"21711:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21632:3:18","parameters":{"id":21122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21115,"mutability":"mutable","name":"p0","nameLocation":"21644:2:18","nodeType":"VariableDeclaration","scope":21136,"src":"21636:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21114,"name":"uint256","nodeType":"ElementaryTypeName","src":"21636:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21117,"mutability":"mutable","name":"p1","nameLocation":"21656:2:18","nodeType":"VariableDeclaration","scope":21136,"src":"21648:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21116,"name":"uint256","nodeType":"ElementaryTypeName","src":"21648:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21119,"mutability":"mutable","name":"p2","nameLocation":"21665:2:18","nodeType":"VariableDeclaration","scope":21136,"src":"21660:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21118,"name":"bool","nodeType":"ElementaryTypeName","src":"21660:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21121,"mutability":"mutable","name":"p3","nameLocation":"21683:2:18","nodeType":"VariableDeclaration","scope":21136,"src":"21669:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21120,"name":"string","nodeType":"ElementaryTypeName","src":"21669:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21635:51:18"},"returnParameters":{"id":21123,"nodeType":"ParameterList","parameters":[],"src":"21701:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21159,"nodeType":"FunctionDefinition","src":"21816:176:18","nodes":[],"body":{"id":21158,"nodeType":"Block","src":"21885:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29","id":21150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21935:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},"value":"log(uint256,uint256,bool,bool)"},{"id":21151,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21138,"src":"21969:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21152,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21140,"src":"21973:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21153,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21142,"src":"21977:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21154,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21144,"src":"21981:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21911:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21915:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21911:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21911:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"21895:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21895:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21157,"nodeType":"ExpressionStatement","src":"21895:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21825:3:18","parameters":{"id":21145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21138,"mutability":"mutable","name":"p0","nameLocation":"21837:2:18","nodeType":"VariableDeclaration","scope":21159,"src":"21829:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21137,"name":"uint256","nodeType":"ElementaryTypeName","src":"21829:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21140,"mutability":"mutable","name":"p1","nameLocation":"21849:2:18","nodeType":"VariableDeclaration","scope":21159,"src":"21841:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21139,"name":"uint256","nodeType":"ElementaryTypeName","src":"21841:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21142,"mutability":"mutable","name":"p2","nameLocation":"21858:2:18","nodeType":"VariableDeclaration","scope":21159,"src":"21853:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21141,"name":"bool","nodeType":"ElementaryTypeName","src":"21853:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21144,"mutability":"mutable","name":"p3","nameLocation":"21867:2:18","nodeType":"VariableDeclaration","scope":21159,"src":"21862:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21143,"name":"bool","nodeType":"ElementaryTypeName","src":"21862:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21828:42:18"},"returnParameters":{"id":21146,"nodeType":"ParameterList","parameters":[],"src":"21885:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21182,"nodeType":"FunctionDefinition","src":"21998:182:18","nodes":[],"body":{"id":21181,"nodeType":"Block","src":"22070:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329","id":21173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22120:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},"value":"log(uint256,uint256,bool,address)"},{"id":21174,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21161,"src":"22157:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21175,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21163,"src":"22161:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21176,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21165,"src":"22165:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21177,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21167,"src":"22169:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22096:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22100:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22096:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22096:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21170,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"22080:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22080:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21180,"nodeType":"ExpressionStatement","src":"22080:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22007:3:18","parameters":{"id":21168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21161,"mutability":"mutable","name":"p0","nameLocation":"22019:2:18","nodeType":"VariableDeclaration","scope":21182,"src":"22011:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21160,"name":"uint256","nodeType":"ElementaryTypeName","src":"22011:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21163,"mutability":"mutable","name":"p1","nameLocation":"22031:2:18","nodeType":"VariableDeclaration","scope":21182,"src":"22023:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21162,"name":"uint256","nodeType":"ElementaryTypeName","src":"22023:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21165,"mutability":"mutable","name":"p2","nameLocation":"22040:2:18","nodeType":"VariableDeclaration","scope":21182,"src":"22035:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21164,"name":"bool","nodeType":"ElementaryTypeName","src":"22035:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21167,"mutability":"mutable","name":"p3","nameLocation":"22052:2:18","nodeType":"VariableDeclaration","scope":21182,"src":"22044:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21166,"name":"address","nodeType":"ElementaryTypeName","src":"22044:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22010:45:18"},"returnParameters":{"id":21169,"nodeType":"ParameterList","parameters":[],"src":"22070:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21205,"nodeType":"FunctionDefinition","src":"22186:188:18","nodes":[],"body":{"id":21204,"nodeType":"Block","src":"22261:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629","id":21196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22311:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},"value":"log(uint256,uint256,address,uint256)"},{"id":21197,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21184,"src":"22351:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21198,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21186,"src":"22355:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21199,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21188,"src":"22359:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21200,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21190,"src":"22363:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21194,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22287:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22291:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22287:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22287:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21193,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"22271:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22271:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21203,"nodeType":"ExpressionStatement","src":"22271:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22195:3:18","parameters":{"id":21191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21184,"mutability":"mutable","name":"p0","nameLocation":"22207:2:18","nodeType":"VariableDeclaration","scope":21205,"src":"22199:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21183,"name":"uint256","nodeType":"ElementaryTypeName","src":"22199:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21186,"mutability":"mutable","name":"p1","nameLocation":"22219:2:18","nodeType":"VariableDeclaration","scope":21205,"src":"22211:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21185,"name":"uint256","nodeType":"ElementaryTypeName","src":"22211:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21188,"mutability":"mutable","name":"p2","nameLocation":"22231:2:18","nodeType":"VariableDeclaration","scope":21205,"src":"22223:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21187,"name":"address","nodeType":"ElementaryTypeName","src":"22223:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21190,"mutability":"mutable","name":"p3","nameLocation":"22243:2:18","nodeType":"VariableDeclaration","scope":21205,"src":"22235:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21189,"name":"uint256","nodeType":"ElementaryTypeName","src":"22235:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22198:48:18"},"returnParameters":{"id":21192,"nodeType":"ParameterList","parameters":[],"src":"22261:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21228,"nodeType":"FunctionDefinition","src":"22380:193:18","nodes":[],"body":{"id":21227,"nodeType":"Block","src":"22461:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729","id":21219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22511:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},"value":"log(uint256,uint256,address,string)"},{"id":21220,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21207,"src":"22550:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21221,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21209,"src":"22554:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21222,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21211,"src":"22558:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21223,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21213,"src":"22562:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22487:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22491:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22487:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22487:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21216,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"22471:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22471:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21226,"nodeType":"ExpressionStatement","src":"22471:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22389:3:18","parameters":{"id":21214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21207,"mutability":"mutable","name":"p0","nameLocation":"22401:2:18","nodeType":"VariableDeclaration","scope":21228,"src":"22393:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21206,"name":"uint256","nodeType":"ElementaryTypeName","src":"22393:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21209,"mutability":"mutable","name":"p1","nameLocation":"22413:2:18","nodeType":"VariableDeclaration","scope":21228,"src":"22405:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21208,"name":"uint256","nodeType":"ElementaryTypeName","src":"22405:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21211,"mutability":"mutable","name":"p2","nameLocation":"22425:2:18","nodeType":"VariableDeclaration","scope":21228,"src":"22417:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21210,"name":"address","nodeType":"ElementaryTypeName","src":"22417:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21213,"mutability":"mutable","name":"p3","nameLocation":"22443:2:18","nodeType":"VariableDeclaration","scope":21228,"src":"22429:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21212,"name":"string","nodeType":"ElementaryTypeName","src":"22429:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22392:54:18"},"returnParameters":{"id":21215,"nodeType":"ParameterList","parameters":[],"src":"22461:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21251,"nodeType":"FunctionDefinition","src":"22579:182:18","nodes":[],"body":{"id":21250,"nodeType":"Block","src":"22651:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29","id":21242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22701:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},"value":"log(uint256,uint256,address,bool)"},{"id":21243,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21230,"src":"22738:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21244,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21232,"src":"22742:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21245,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21234,"src":"22746:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21246,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21236,"src":"22750:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21240,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22677:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22681:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22677:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22677:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21239,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"22661:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22661:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21249,"nodeType":"ExpressionStatement","src":"22661:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22588:3:18","parameters":{"id":21237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21230,"mutability":"mutable","name":"p0","nameLocation":"22600:2:18","nodeType":"VariableDeclaration","scope":21251,"src":"22592:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21229,"name":"uint256","nodeType":"ElementaryTypeName","src":"22592:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21232,"mutability":"mutable","name":"p1","nameLocation":"22612:2:18","nodeType":"VariableDeclaration","scope":21251,"src":"22604:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21231,"name":"uint256","nodeType":"ElementaryTypeName","src":"22604:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21234,"mutability":"mutable","name":"p2","nameLocation":"22624:2:18","nodeType":"VariableDeclaration","scope":21251,"src":"22616:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21233,"name":"address","nodeType":"ElementaryTypeName","src":"22616:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21236,"mutability":"mutable","name":"p3","nameLocation":"22633:2:18","nodeType":"VariableDeclaration","scope":21251,"src":"22628:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21235,"name":"bool","nodeType":"ElementaryTypeName","src":"22628:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22591:45:18"},"returnParameters":{"id":21238,"nodeType":"ParameterList","parameters":[],"src":"22651:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21274,"nodeType":"FunctionDefinition","src":"22767:188:18","nodes":[],"body":{"id":21273,"nodeType":"Block","src":"22842:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329","id":21265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22892:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},"value":"log(uint256,uint256,address,address)"},{"id":21266,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21253,"src":"22932:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21267,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21255,"src":"22936:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21268,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21257,"src":"22940:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21269,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21259,"src":"22944:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21263,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22868:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22872:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22868:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22868:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21262,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"22852:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22852:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21272,"nodeType":"ExpressionStatement","src":"22852:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22776:3:18","parameters":{"id":21260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21253,"mutability":"mutable","name":"p0","nameLocation":"22788:2:18","nodeType":"VariableDeclaration","scope":21274,"src":"22780:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21252,"name":"uint256","nodeType":"ElementaryTypeName","src":"22780:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21255,"mutability":"mutable","name":"p1","nameLocation":"22800:2:18","nodeType":"VariableDeclaration","scope":21274,"src":"22792:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21254,"name":"uint256","nodeType":"ElementaryTypeName","src":"22792:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21257,"mutability":"mutable","name":"p2","nameLocation":"22812:2:18","nodeType":"VariableDeclaration","scope":21274,"src":"22804:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21256,"name":"address","nodeType":"ElementaryTypeName","src":"22804:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21259,"mutability":"mutable","name":"p3","nameLocation":"22824:2:18","nodeType":"VariableDeclaration","scope":21274,"src":"22816:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21258,"name":"address","nodeType":"ElementaryTypeName","src":"22816:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22779:48:18"},"returnParameters":{"id":21261,"nodeType":"ParameterList","parameters":[],"src":"22842:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21297,"nodeType":"FunctionDefinition","src":"22961:193:18","nodes":[],"body":{"id":21296,"nodeType":"Block","src":"23042:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629","id":21288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23092:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},"value":"log(uint256,string,uint256,uint256)"},{"id":21289,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21276,"src":"23131:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21290,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21278,"src":"23135:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21291,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21280,"src":"23139:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21292,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21282,"src":"23143:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21286,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23068:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23072:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23068:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23068:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21285,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"23052:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23052:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21295,"nodeType":"ExpressionStatement","src":"23052:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22970:3:18","parameters":{"id":21283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21276,"mutability":"mutable","name":"p0","nameLocation":"22982:2:18","nodeType":"VariableDeclaration","scope":21297,"src":"22974:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21275,"name":"uint256","nodeType":"ElementaryTypeName","src":"22974:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21278,"mutability":"mutable","name":"p1","nameLocation":"23000:2:18","nodeType":"VariableDeclaration","scope":21297,"src":"22986:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21277,"name":"string","nodeType":"ElementaryTypeName","src":"22986:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21280,"mutability":"mutable","name":"p2","nameLocation":"23012:2:18","nodeType":"VariableDeclaration","scope":21297,"src":"23004:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21279,"name":"uint256","nodeType":"ElementaryTypeName","src":"23004:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21282,"mutability":"mutable","name":"p3","nameLocation":"23024:2:18","nodeType":"VariableDeclaration","scope":21297,"src":"23016:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21281,"name":"uint256","nodeType":"ElementaryTypeName","src":"23016:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22973:54:18"},"returnParameters":{"id":21284,"nodeType":"ParameterList","parameters":[],"src":"23042:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21320,"nodeType":"FunctionDefinition","src":"23160:198:18","nodes":[],"body":{"id":21319,"nodeType":"Block","src":"23247:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729","id":21311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23297:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},"value":"log(uint256,string,uint256,string)"},{"id":21312,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21299,"src":"23335:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21313,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21301,"src":"23339:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21314,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21303,"src":"23343:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21315,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21305,"src":"23347:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21309,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23273:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23277:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23273:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23273:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21308,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"23257:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23257:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21318,"nodeType":"ExpressionStatement","src":"23257:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23169:3:18","parameters":{"id":21306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21299,"mutability":"mutable","name":"p0","nameLocation":"23181:2:18","nodeType":"VariableDeclaration","scope":21320,"src":"23173:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21298,"name":"uint256","nodeType":"ElementaryTypeName","src":"23173:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21301,"mutability":"mutable","name":"p1","nameLocation":"23199:2:18","nodeType":"VariableDeclaration","scope":21320,"src":"23185:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21300,"name":"string","nodeType":"ElementaryTypeName","src":"23185:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21303,"mutability":"mutable","name":"p2","nameLocation":"23211:2:18","nodeType":"VariableDeclaration","scope":21320,"src":"23203:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21302,"name":"uint256","nodeType":"ElementaryTypeName","src":"23203:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21305,"mutability":"mutable","name":"p3","nameLocation":"23229:2:18","nodeType":"VariableDeclaration","scope":21320,"src":"23215:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21304,"name":"string","nodeType":"ElementaryTypeName","src":"23215:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23172:60:18"},"returnParameters":{"id":21307,"nodeType":"ParameterList","parameters":[],"src":"23247:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21343,"nodeType":"FunctionDefinition","src":"23364:187:18","nodes":[],"body":{"id":21342,"nodeType":"Block","src":"23442:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29","id":21334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23492:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},"value":"log(uint256,string,uint256,bool)"},{"id":21335,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21322,"src":"23528:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21336,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21324,"src":"23532:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21337,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21326,"src":"23536:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21338,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21328,"src":"23540:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21332,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23468:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23472:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23468:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23468:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21331,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"23452:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23452:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21341,"nodeType":"ExpressionStatement","src":"23452:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23373:3:18","parameters":{"id":21329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21322,"mutability":"mutable","name":"p0","nameLocation":"23385:2:18","nodeType":"VariableDeclaration","scope":21343,"src":"23377:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21321,"name":"uint256","nodeType":"ElementaryTypeName","src":"23377:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21324,"mutability":"mutable","name":"p1","nameLocation":"23403:2:18","nodeType":"VariableDeclaration","scope":21343,"src":"23389:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21323,"name":"string","nodeType":"ElementaryTypeName","src":"23389:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21326,"mutability":"mutable","name":"p2","nameLocation":"23415:2:18","nodeType":"VariableDeclaration","scope":21343,"src":"23407:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21325,"name":"uint256","nodeType":"ElementaryTypeName","src":"23407:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21328,"mutability":"mutable","name":"p3","nameLocation":"23424:2:18","nodeType":"VariableDeclaration","scope":21343,"src":"23419:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21327,"name":"bool","nodeType":"ElementaryTypeName","src":"23419:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23376:51:18"},"returnParameters":{"id":21330,"nodeType":"ParameterList","parameters":[],"src":"23442:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21366,"nodeType":"FunctionDefinition","src":"23557:193:18","nodes":[],"body":{"id":21365,"nodeType":"Block","src":"23638:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329","id":21357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23688:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},"value":"log(uint256,string,uint256,address)"},{"id":21358,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21345,"src":"23727:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21359,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21347,"src":"23731:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21360,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21349,"src":"23735:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21361,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21351,"src":"23739:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21355,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23664:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23668:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23664:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23664:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21354,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"23648:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23648:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21364,"nodeType":"ExpressionStatement","src":"23648:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23566:3:18","parameters":{"id":21352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21345,"mutability":"mutable","name":"p0","nameLocation":"23578:2:18","nodeType":"VariableDeclaration","scope":21366,"src":"23570:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21344,"name":"uint256","nodeType":"ElementaryTypeName","src":"23570:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21347,"mutability":"mutable","name":"p1","nameLocation":"23596:2:18","nodeType":"VariableDeclaration","scope":21366,"src":"23582:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21346,"name":"string","nodeType":"ElementaryTypeName","src":"23582:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21349,"mutability":"mutable","name":"p2","nameLocation":"23608:2:18","nodeType":"VariableDeclaration","scope":21366,"src":"23600:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21348,"name":"uint256","nodeType":"ElementaryTypeName","src":"23600:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21351,"mutability":"mutable","name":"p3","nameLocation":"23620:2:18","nodeType":"VariableDeclaration","scope":21366,"src":"23612:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21350,"name":"address","nodeType":"ElementaryTypeName","src":"23612:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23569:54:18"},"returnParameters":{"id":21353,"nodeType":"ParameterList","parameters":[],"src":"23638:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21389,"nodeType":"FunctionDefinition","src":"23756:198:18","nodes":[],"body":{"id":21388,"nodeType":"Block","src":"23843:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629","id":21380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23893:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},"value":"log(uint256,string,string,uint256)"},{"id":21381,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21368,"src":"23931:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21382,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21370,"src":"23935:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21383,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21372,"src":"23939:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21384,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21374,"src":"23943:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23869:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23873:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23869:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23869:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"23853:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23853:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21387,"nodeType":"ExpressionStatement","src":"23853:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23765:3:18","parameters":{"id":21375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21368,"mutability":"mutable","name":"p0","nameLocation":"23777:2:18","nodeType":"VariableDeclaration","scope":21389,"src":"23769:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21367,"name":"uint256","nodeType":"ElementaryTypeName","src":"23769:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21370,"mutability":"mutable","name":"p1","nameLocation":"23795:2:18","nodeType":"VariableDeclaration","scope":21389,"src":"23781:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21369,"name":"string","nodeType":"ElementaryTypeName","src":"23781:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21372,"mutability":"mutable","name":"p2","nameLocation":"23813:2:18","nodeType":"VariableDeclaration","scope":21389,"src":"23799:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21371,"name":"string","nodeType":"ElementaryTypeName","src":"23799:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21374,"mutability":"mutable","name":"p3","nameLocation":"23825:2:18","nodeType":"VariableDeclaration","scope":21389,"src":"23817:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21373,"name":"uint256","nodeType":"ElementaryTypeName","src":"23817:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23768:60:18"},"returnParameters":{"id":21376,"nodeType":"ParameterList","parameters":[],"src":"23843:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21412,"nodeType":"FunctionDefinition","src":"23960:203:18","nodes":[],"body":{"id":21411,"nodeType":"Block","src":"24053:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729","id":21403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24103:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},"value":"log(uint256,string,string,string)"},{"id":21404,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21391,"src":"24140:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21405,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21393,"src":"24144:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21406,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21395,"src":"24148:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21407,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21397,"src":"24152:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24079:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24083:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24079:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24079:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21400,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"24063:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24063:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21410,"nodeType":"ExpressionStatement","src":"24063:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23969:3:18","parameters":{"id":21398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21391,"mutability":"mutable","name":"p0","nameLocation":"23981:2:18","nodeType":"VariableDeclaration","scope":21412,"src":"23973:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21390,"name":"uint256","nodeType":"ElementaryTypeName","src":"23973:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21393,"mutability":"mutable","name":"p1","nameLocation":"23999:2:18","nodeType":"VariableDeclaration","scope":21412,"src":"23985:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21392,"name":"string","nodeType":"ElementaryTypeName","src":"23985:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21395,"mutability":"mutable","name":"p2","nameLocation":"24017:2:18","nodeType":"VariableDeclaration","scope":21412,"src":"24003:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21394,"name":"string","nodeType":"ElementaryTypeName","src":"24003:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21397,"mutability":"mutable","name":"p3","nameLocation":"24035:2:18","nodeType":"VariableDeclaration","scope":21412,"src":"24021:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21396,"name":"string","nodeType":"ElementaryTypeName","src":"24021:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23972:66:18"},"returnParameters":{"id":21399,"nodeType":"ParameterList","parameters":[],"src":"24053:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21435,"nodeType":"FunctionDefinition","src":"24169:192:18","nodes":[],"body":{"id":21434,"nodeType":"Block","src":"24253:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29","id":21426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24303:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},"value":"log(uint256,string,string,bool)"},{"id":21427,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21414,"src":"24338:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21428,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21416,"src":"24342:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21429,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21418,"src":"24346:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21430,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21420,"src":"24350:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21424,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24279:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24283:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24279:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24279:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21423,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"24263:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24263:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21433,"nodeType":"ExpressionStatement","src":"24263:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24178:3:18","parameters":{"id":21421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21414,"mutability":"mutable","name":"p0","nameLocation":"24190:2:18","nodeType":"VariableDeclaration","scope":21435,"src":"24182:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21413,"name":"uint256","nodeType":"ElementaryTypeName","src":"24182:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21416,"mutability":"mutable","name":"p1","nameLocation":"24208:2:18","nodeType":"VariableDeclaration","scope":21435,"src":"24194:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21415,"name":"string","nodeType":"ElementaryTypeName","src":"24194:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21418,"mutability":"mutable","name":"p2","nameLocation":"24226:2:18","nodeType":"VariableDeclaration","scope":21435,"src":"24212:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21417,"name":"string","nodeType":"ElementaryTypeName","src":"24212:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21420,"mutability":"mutable","name":"p3","nameLocation":"24235:2:18","nodeType":"VariableDeclaration","scope":21435,"src":"24230:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21419,"name":"bool","nodeType":"ElementaryTypeName","src":"24230:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24181:57:18"},"returnParameters":{"id":21422,"nodeType":"ParameterList","parameters":[],"src":"24253:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21458,"nodeType":"FunctionDefinition","src":"24367:198:18","nodes":[],"body":{"id":21457,"nodeType":"Block","src":"24454:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329","id":21449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24504:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},"value":"log(uint256,string,string,address)"},{"id":21450,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21437,"src":"24542:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21451,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21439,"src":"24546:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21452,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21441,"src":"24550:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21453,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21443,"src":"24554:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24480:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24484:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24480:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24480:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21446,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"24464:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24464:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21456,"nodeType":"ExpressionStatement","src":"24464:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24376:3:18","parameters":{"id":21444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21437,"mutability":"mutable","name":"p0","nameLocation":"24388:2:18","nodeType":"VariableDeclaration","scope":21458,"src":"24380:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21436,"name":"uint256","nodeType":"ElementaryTypeName","src":"24380:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21439,"mutability":"mutable","name":"p1","nameLocation":"24406:2:18","nodeType":"VariableDeclaration","scope":21458,"src":"24392:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21438,"name":"string","nodeType":"ElementaryTypeName","src":"24392:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21441,"mutability":"mutable","name":"p2","nameLocation":"24424:2:18","nodeType":"VariableDeclaration","scope":21458,"src":"24410:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21440,"name":"string","nodeType":"ElementaryTypeName","src":"24410:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21443,"mutability":"mutable","name":"p3","nameLocation":"24436:2:18","nodeType":"VariableDeclaration","scope":21458,"src":"24428:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21442,"name":"address","nodeType":"ElementaryTypeName","src":"24428:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24379:60:18"},"returnParameters":{"id":21445,"nodeType":"ParameterList","parameters":[],"src":"24454:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21481,"nodeType":"FunctionDefinition","src":"24571:187:18","nodes":[],"body":{"id":21480,"nodeType":"Block","src":"24649:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629","id":21472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24699:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},"value":"log(uint256,string,bool,uint256)"},{"id":21473,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21460,"src":"24735:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21474,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21462,"src":"24739:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21475,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21464,"src":"24743:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21476,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21466,"src":"24747:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21470,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24675:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24679:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24675:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24675:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21469,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"24659:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24659:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21479,"nodeType":"ExpressionStatement","src":"24659:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24580:3:18","parameters":{"id":21467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21460,"mutability":"mutable","name":"p0","nameLocation":"24592:2:18","nodeType":"VariableDeclaration","scope":21481,"src":"24584:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21459,"name":"uint256","nodeType":"ElementaryTypeName","src":"24584:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21462,"mutability":"mutable","name":"p1","nameLocation":"24610:2:18","nodeType":"VariableDeclaration","scope":21481,"src":"24596:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21461,"name":"string","nodeType":"ElementaryTypeName","src":"24596:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21464,"mutability":"mutable","name":"p2","nameLocation":"24619:2:18","nodeType":"VariableDeclaration","scope":21481,"src":"24614:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21463,"name":"bool","nodeType":"ElementaryTypeName","src":"24614:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21466,"mutability":"mutable","name":"p3","nameLocation":"24631:2:18","nodeType":"VariableDeclaration","scope":21481,"src":"24623:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21465,"name":"uint256","nodeType":"ElementaryTypeName","src":"24623:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24583:51:18"},"returnParameters":{"id":21468,"nodeType":"ParameterList","parameters":[],"src":"24649:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21504,"nodeType":"FunctionDefinition","src":"24764:192:18","nodes":[],"body":{"id":21503,"nodeType":"Block","src":"24848:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729","id":21495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24898:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},"value":"log(uint256,string,bool,string)"},{"id":21496,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21483,"src":"24933:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21497,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21485,"src":"24937:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21498,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21487,"src":"24941:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21499,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21489,"src":"24945:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24874:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24878:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24874:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24874:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21492,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"24858:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24858:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21502,"nodeType":"ExpressionStatement","src":"24858:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24773:3:18","parameters":{"id":21490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21483,"mutability":"mutable","name":"p0","nameLocation":"24785:2:18","nodeType":"VariableDeclaration","scope":21504,"src":"24777:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21482,"name":"uint256","nodeType":"ElementaryTypeName","src":"24777:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21485,"mutability":"mutable","name":"p1","nameLocation":"24803:2:18","nodeType":"VariableDeclaration","scope":21504,"src":"24789:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21484,"name":"string","nodeType":"ElementaryTypeName","src":"24789:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21487,"mutability":"mutable","name":"p2","nameLocation":"24812:2:18","nodeType":"VariableDeclaration","scope":21504,"src":"24807:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21486,"name":"bool","nodeType":"ElementaryTypeName","src":"24807:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21489,"mutability":"mutable","name":"p3","nameLocation":"24830:2:18","nodeType":"VariableDeclaration","scope":21504,"src":"24816:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21488,"name":"string","nodeType":"ElementaryTypeName","src":"24816:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24776:57:18"},"returnParameters":{"id":21491,"nodeType":"ParameterList","parameters":[],"src":"24848:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21527,"nodeType":"FunctionDefinition","src":"24962:181:18","nodes":[],"body":{"id":21526,"nodeType":"Block","src":"25037:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29","id":21518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25087:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},"value":"log(uint256,string,bool,bool)"},{"id":21519,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21506,"src":"25120:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21520,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21508,"src":"25124:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21521,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21510,"src":"25128:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21522,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21512,"src":"25132:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25063:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25067:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25063:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25063:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"25047:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25047:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21525,"nodeType":"ExpressionStatement","src":"25047:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24971:3:18","parameters":{"id":21513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21506,"mutability":"mutable","name":"p0","nameLocation":"24983:2:18","nodeType":"VariableDeclaration","scope":21527,"src":"24975:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21505,"name":"uint256","nodeType":"ElementaryTypeName","src":"24975:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21508,"mutability":"mutable","name":"p1","nameLocation":"25001:2:18","nodeType":"VariableDeclaration","scope":21527,"src":"24987:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21507,"name":"string","nodeType":"ElementaryTypeName","src":"24987:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21510,"mutability":"mutable","name":"p2","nameLocation":"25010:2:18","nodeType":"VariableDeclaration","scope":21527,"src":"25005:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21509,"name":"bool","nodeType":"ElementaryTypeName","src":"25005:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21512,"mutability":"mutable","name":"p3","nameLocation":"25019:2:18","nodeType":"VariableDeclaration","scope":21527,"src":"25014:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21511,"name":"bool","nodeType":"ElementaryTypeName","src":"25014:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24974:48:18"},"returnParameters":{"id":21514,"nodeType":"ParameterList","parameters":[],"src":"25037:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21550,"nodeType":"FunctionDefinition","src":"25149:187:18","nodes":[],"body":{"id":21549,"nodeType":"Block","src":"25227:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329","id":21541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25277:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},"value":"log(uint256,string,bool,address)"},{"id":21542,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21529,"src":"25313:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21543,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21531,"src":"25317:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21544,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21533,"src":"25321:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21545,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21535,"src":"25325:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21539,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25253:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25257:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25253:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25253:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21538,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"25237:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25237:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21548,"nodeType":"ExpressionStatement","src":"25237:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25158:3:18","parameters":{"id":21536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21529,"mutability":"mutable","name":"p0","nameLocation":"25170:2:18","nodeType":"VariableDeclaration","scope":21550,"src":"25162:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21528,"name":"uint256","nodeType":"ElementaryTypeName","src":"25162:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21531,"mutability":"mutable","name":"p1","nameLocation":"25188:2:18","nodeType":"VariableDeclaration","scope":21550,"src":"25174:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21530,"name":"string","nodeType":"ElementaryTypeName","src":"25174:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21533,"mutability":"mutable","name":"p2","nameLocation":"25197:2:18","nodeType":"VariableDeclaration","scope":21550,"src":"25192:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21532,"name":"bool","nodeType":"ElementaryTypeName","src":"25192:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21535,"mutability":"mutable","name":"p3","nameLocation":"25209:2:18","nodeType":"VariableDeclaration","scope":21550,"src":"25201:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21534,"name":"address","nodeType":"ElementaryTypeName","src":"25201:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25161:51:18"},"returnParameters":{"id":21537,"nodeType":"ParameterList","parameters":[],"src":"25227:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21573,"nodeType":"FunctionDefinition","src":"25342:193:18","nodes":[],"body":{"id":21572,"nodeType":"Block","src":"25423:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629","id":21564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25473:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},"value":"log(uint256,string,address,uint256)"},{"id":21565,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21552,"src":"25512:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21566,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21554,"src":"25516:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21567,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21556,"src":"25520:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21568,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21558,"src":"25524:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21562,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25449:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25453:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25449:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25449:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21561,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"25433:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25433:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21571,"nodeType":"ExpressionStatement","src":"25433:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25351:3:18","parameters":{"id":21559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21552,"mutability":"mutable","name":"p0","nameLocation":"25363:2:18","nodeType":"VariableDeclaration","scope":21573,"src":"25355:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21551,"name":"uint256","nodeType":"ElementaryTypeName","src":"25355:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21554,"mutability":"mutable","name":"p1","nameLocation":"25381:2:18","nodeType":"VariableDeclaration","scope":21573,"src":"25367:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21553,"name":"string","nodeType":"ElementaryTypeName","src":"25367:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21556,"mutability":"mutable","name":"p2","nameLocation":"25393:2:18","nodeType":"VariableDeclaration","scope":21573,"src":"25385:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21555,"name":"address","nodeType":"ElementaryTypeName","src":"25385:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21558,"mutability":"mutable","name":"p3","nameLocation":"25405:2:18","nodeType":"VariableDeclaration","scope":21573,"src":"25397:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21557,"name":"uint256","nodeType":"ElementaryTypeName","src":"25397:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25354:54:18"},"returnParameters":{"id":21560,"nodeType":"ParameterList","parameters":[],"src":"25423:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21596,"nodeType":"FunctionDefinition","src":"25541:198:18","nodes":[],"body":{"id":21595,"nodeType":"Block","src":"25628:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729","id":21587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25678:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},"value":"log(uint256,string,address,string)"},{"id":21588,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21575,"src":"25716:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21589,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21577,"src":"25720:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21590,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21579,"src":"25724:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21591,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21581,"src":"25728:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21585,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25654:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25658:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25654:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25654:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21584,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"25638:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25638:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21594,"nodeType":"ExpressionStatement","src":"25638:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25550:3:18","parameters":{"id":21582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21575,"mutability":"mutable","name":"p0","nameLocation":"25562:2:18","nodeType":"VariableDeclaration","scope":21596,"src":"25554:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21574,"name":"uint256","nodeType":"ElementaryTypeName","src":"25554:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21577,"mutability":"mutable","name":"p1","nameLocation":"25580:2:18","nodeType":"VariableDeclaration","scope":21596,"src":"25566:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21576,"name":"string","nodeType":"ElementaryTypeName","src":"25566:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21579,"mutability":"mutable","name":"p2","nameLocation":"25592:2:18","nodeType":"VariableDeclaration","scope":21596,"src":"25584:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21578,"name":"address","nodeType":"ElementaryTypeName","src":"25584:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21581,"mutability":"mutable","name":"p3","nameLocation":"25610:2:18","nodeType":"VariableDeclaration","scope":21596,"src":"25596:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21580,"name":"string","nodeType":"ElementaryTypeName","src":"25596:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25553:60:18"},"returnParameters":{"id":21583,"nodeType":"ParameterList","parameters":[],"src":"25628:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21619,"nodeType":"FunctionDefinition","src":"25745:187:18","nodes":[],"body":{"id":21618,"nodeType":"Block","src":"25823:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29","id":21610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25873:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},"value":"log(uint256,string,address,bool)"},{"id":21611,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21598,"src":"25909:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21612,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21600,"src":"25913:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21613,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21602,"src":"25917:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21614,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21604,"src":"25921:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21608,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25849:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25853:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25849:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25849:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21607,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"25833:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25833:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21617,"nodeType":"ExpressionStatement","src":"25833:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25754:3:18","parameters":{"id":21605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21598,"mutability":"mutable","name":"p0","nameLocation":"25766:2:18","nodeType":"VariableDeclaration","scope":21619,"src":"25758:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21597,"name":"uint256","nodeType":"ElementaryTypeName","src":"25758:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21600,"mutability":"mutable","name":"p1","nameLocation":"25784:2:18","nodeType":"VariableDeclaration","scope":21619,"src":"25770:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21599,"name":"string","nodeType":"ElementaryTypeName","src":"25770:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21602,"mutability":"mutable","name":"p2","nameLocation":"25796:2:18","nodeType":"VariableDeclaration","scope":21619,"src":"25788:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21601,"name":"address","nodeType":"ElementaryTypeName","src":"25788:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21604,"mutability":"mutable","name":"p3","nameLocation":"25805:2:18","nodeType":"VariableDeclaration","scope":21619,"src":"25800:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21603,"name":"bool","nodeType":"ElementaryTypeName","src":"25800:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25757:51:18"},"returnParameters":{"id":21606,"nodeType":"ParameterList","parameters":[],"src":"25823:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21642,"nodeType":"FunctionDefinition","src":"25938:193:18","nodes":[],"body":{"id":21641,"nodeType":"Block","src":"26019:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329","id":21633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26069:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},"value":"log(uint256,string,address,address)"},{"id":21634,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21621,"src":"26108:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21635,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21623,"src":"26112:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21636,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21625,"src":"26116:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21637,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21627,"src":"26120:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21631,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26045:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26049:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26045:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26045:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21630,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"26029:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26029:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21640,"nodeType":"ExpressionStatement","src":"26029:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25947:3:18","parameters":{"id":21628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21621,"mutability":"mutable","name":"p0","nameLocation":"25959:2:18","nodeType":"VariableDeclaration","scope":21642,"src":"25951:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21620,"name":"uint256","nodeType":"ElementaryTypeName","src":"25951:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21623,"mutability":"mutable","name":"p1","nameLocation":"25977:2:18","nodeType":"VariableDeclaration","scope":21642,"src":"25963:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21622,"name":"string","nodeType":"ElementaryTypeName","src":"25963:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21625,"mutability":"mutable","name":"p2","nameLocation":"25989:2:18","nodeType":"VariableDeclaration","scope":21642,"src":"25981:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21624,"name":"address","nodeType":"ElementaryTypeName","src":"25981:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21627,"mutability":"mutable","name":"p3","nameLocation":"26001:2:18","nodeType":"VariableDeclaration","scope":21642,"src":"25993:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21626,"name":"address","nodeType":"ElementaryTypeName","src":"25993:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25950:54:18"},"returnParameters":{"id":21629,"nodeType":"ParameterList","parameters":[],"src":"26019:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21665,"nodeType":"FunctionDefinition","src":"26137:182:18","nodes":[],"body":{"id":21664,"nodeType":"Block","src":"26209:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629","id":21656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26259:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},"value":"log(uint256,bool,uint256,uint256)"},{"id":21657,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21644,"src":"26296:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21658,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21646,"src":"26300:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21659,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21648,"src":"26304:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21660,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21650,"src":"26308:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21654,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26235:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26239:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26235:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26235:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21653,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"26219:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26219:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21663,"nodeType":"ExpressionStatement","src":"26219:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26146:3:18","parameters":{"id":21651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21644,"mutability":"mutable","name":"p0","nameLocation":"26158:2:18","nodeType":"VariableDeclaration","scope":21665,"src":"26150:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21643,"name":"uint256","nodeType":"ElementaryTypeName","src":"26150:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21646,"mutability":"mutable","name":"p1","nameLocation":"26167:2:18","nodeType":"VariableDeclaration","scope":21665,"src":"26162:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21645,"name":"bool","nodeType":"ElementaryTypeName","src":"26162:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21648,"mutability":"mutable","name":"p2","nameLocation":"26179:2:18","nodeType":"VariableDeclaration","scope":21665,"src":"26171:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21647,"name":"uint256","nodeType":"ElementaryTypeName","src":"26171:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21650,"mutability":"mutable","name":"p3","nameLocation":"26191:2:18","nodeType":"VariableDeclaration","scope":21665,"src":"26183:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21649,"name":"uint256","nodeType":"ElementaryTypeName","src":"26183:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26149:45:18"},"returnParameters":{"id":21652,"nodeType":"ParameterList","parameters":[],"src":"26209:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21688,"nodeType":"FunctionDefinition","src":"26325:187:18","nodes":[],"body":{"id":21687,"nodeType":"Block","src":"26403:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729","id":21679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26453:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},"value":"log(uint256,bool,uint256,string)"},{"id":21680,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21667,"src":"26489:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21681,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21669,"src":"26493:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21682,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21671,"src":"26497:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21683,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21673,"src":"26501:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21677,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26429:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26433:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26429:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26429:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21676,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"26413:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26413:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21686,"nodeType":"ExpressionStatement","src":"26413:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26334:3:18","parameters":{"id":21674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21667,"mutability":"mutable","name":"p0","nameLocation":"26346:2:18","nodeType":"VariableDeclaration","scope":21688,"src":"26338:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21666,"name":"uint256","nodeType":"ElementaryTypeName","src":"26338:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21669,"mutability":"mutable","name":"p1","nameLocation":"26355:2:18","nodeType":"VariableDeclaration","scope":21688,"src":"26350:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21668,"name":"bool","nodeType":"ElementaryTypeName","src":"26350:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21671,"mutability":"mutable","name":"p2","nameLocation":"26367:2:18","nodeType":"VariableDeclaration","scope":21688,"src":"26359:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21670,"name":"uint256","nodeType":"ElementaryTypeName","src":"26359:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21673,"mutability":"mutable","name":"p3","nameLocation":"26385:2:18","nodeType":"VariableDeclaration","scope":21688,"src":"26371:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21672,"name":"string","nodeType":"ElementaryTypeName","src":"26371:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26337:51:18"},"returnParameters":{"id":21675,"nodeType":"ParameterList","parameters":[],"src":"26403:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21711,"nodeType":"FunctionDefinition","src":"26518:176:18","nodes":[],"body":{"id":21710,"nodeType":"Block","src":"26587:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29","id":21702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26637:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},"value":"log(uint256,bool,uint256,bool)"},{"id":21703,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21690,"src":"26671:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21704,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21692,"src":"26675:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21705,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21694,"src":"26679:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21706,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21696,"src":"26683:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21700,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26613:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26617:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26613:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26613:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21699,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"26597:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26597:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21709,"nodeType":"ExpressionStatement","src":"26597:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26527:3:18","parameters":{"id":21697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21690,"mutability":"mutable","name":"p0","nameLocation":"26539:2:18","nodeType":"VariableDeclaration","scope":21711,"src":"26531:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21689,"name":"uint256","nodeType":"ElementaryTypeName","src":"26531:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21692,"mutability":"mutable","name":"p1","nameLocation":"26548:2:18","nodeType":"VariableDeclaration","scope":21711,"src":"26543:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21691,"name":"bool","nodeType":"ElementaryTypeName","src":"26543:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21694,"mutability":"mutable","name":"p2","nameLocation":"26560:2:18","nodeType":"VariableDeclaration","scope":21711,"src":"26552:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21693,"name":"uint256","nodeType":"ElementaryTypeName","src":"26552:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21696,"mutability":"mutable","name":"p3","nameLocation":"26569:2:18","nodeType":"VariableDeclaration","scope":21711,"src":"26564:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21695,"name":"bool","nodeType":"ElementaryTypeName","src":"26564:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26530:42:18"},"returnParameters":{"id":21698,"nodeType":"ParameterList","parameters":[],"src":"26587:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21734,"nodeType":"FunctionDefinition","src":"26700:182:18","nodes":[],"body":{"id":21733,"nodeType":"Block","src":"26772:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329","id":21725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26822:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},"value":"log(uint256,bool,uint256,address)"},{"id":21726,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21713,"src":"26859:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21727,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21715,"src":"26863:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21728,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21717,"src":"26867:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21729,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21719,"src":"26871:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21723,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26798:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26802:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26798:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26798:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21722,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"26782:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26782:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21732,"nodeType":"ExpressionStatement","src":"26782:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26709:3:18","parameters":{"id":21720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21713,"mutability":"mutable","name":"p0","nameLocation":"26721:2:18","nodeType":"VariableDeclaration","scope":21734,"src":"26713:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21712,"name":"uint256","nodeType":"ElementaryTypeName","src":"26713:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21715,"mutability":"mutable","name":"p1","nameLocation":"26730:2:18","nodeType":"VariableDeclaration","scope":21734,"src":"26725:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21714,"name":"bool","nodeType":"ElementaryTypeName","src":"26725:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21717,"mutability":"mutable","name":"p2","nameLocation":"26742:2:18","nodeType":"VariableDeclaration","scope":21734,"src":"26734:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21716,"name":"uint256","nodeType":"ElementaryTypeName","src":"26734:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21719,"mutability":"mutable","name":"p3","nameLocation":"26754:2:18","nodeType":"VariableDeclaration","scope":21734,"src":"26746:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21718,"name":"address","nodeType":"ElementaryTypeName","src":"26746:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26712:45:18"},"returnParameters":{"id":21721,"nodeType":"ParameterList","parameters":[],"src":"26772:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21757,"nodeType":"FunctionDefinition","src":"26888:187:18","nodes":[],"body":{"id":21756,"nodeType":"Block","src":"26966:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629","id":21748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27016:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},"value":"log(uint256,bool,string,uint256)"},{"id":21749,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21736,"src":"27052:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21750,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21738,"src":"27056:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21751,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21740,"src":"27060:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21752,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21742,"src":"27064:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21746,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26992:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26996:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26992:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26992:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21745,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"26976:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26976:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21755,"nodeType":"ExpressionStatement","src":"26976:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26897:3:18","parameters":{"id":21743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21736,"mutability":"mutable","name":"p0","nameLocation":"26909:2:18","nodeType":"VariableDeclaration","scope":21757,"src":"26901:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21735,"name":"uint256","nodeType":"ElementaryTypeName","src":"26901:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21738,"mutability":"mutable","name":"p1","nameLocation":"26918:2:18","nodeType":"VariableDeclaration","scope":21757,"src":"26913:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21737,"name":"bool","nodeType":"ElementaryTypeName","src":"26913:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21740,"mutability":"mutable","name":"p2","nameLocation":"26936:2:18","nodeType":"VariableDeclaration","scope":21757,"src":"26922:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21739,"name":"string","nodeType":"ElementaryTypeName","src":"26922:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21742,"mutability":"mutable","name":"p3","nameLocation":"26948:2:18","nodeType":"VariableDeclaration","scope":21757,"src":"26940:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21741,"name":"uint256","nodeType":"ElementaryTypeName","src":"26940:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26900:51:18"},"returnParameters":{"id":21744,"nodeType":"ParameterList","parameters":[],"src":"26966:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21780,"nodeType":"FunctionDefinition","src":"27081:192:18","nodes":[],"body":{"id":21779,"nodeType":"Block","src":"27165:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729","id":21771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27215:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},"value":"log(uint256,bool,string,string)"},{"id":21772,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21759,"src":"27250:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21773,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21761,"src":"27254:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21774,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21763,"src":"27258:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21775,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21765,"src":"27262:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27191:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27195:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27191:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27191:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21768,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"27175:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27175:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21778,"nodeType":"ExpressionStatement","src":"27175:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27090:3:18","parameters":{"id":21766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21759,"mutability":"mutable","name":"p0","nameLocation":"27102:2:18","nodeType":"VariableDeclaration","scope":21780,"src":"27094:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21758,"name":"uint256","nodeType":"ElementaryTypeName","src":"27094:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21761,"mutability":"mutable","name":"p1","nameLocation":"27111:2:18","nodeType":"VariableDeclaration","scope":21780,"src":"27106:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21760,"name":"bool","nodeType":"ElementaryTypeName","src":"27106:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21763,"mutability":"mutable","name":"p2","nameLocation":"27129:2:18","nodeType":"VariableDeclaration","scope":21780,"src":"27115:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21762,"name":"string","nodeType":"ElementaryTypeName","src":"27115:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21765,"mutability":"mutable","name":"p3","nameLocation":"27147:2:18","nodeType":"VariableDeclaration","scope":21780,"src":"27133:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21764,"name":"string","nodeType":"ElementaryTypeName","src":"27133:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27093:57:18"},"returnParameters":{"id":21767,"nodeType":"ParameterList","parameters":[],"src":"27165:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21803,"nodeType":"FunctionDefinition","src":"27279:181:18","nodes":[],"body":{"id":21802,"nodeType":"Block","src":"27354:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29","id":21794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27404:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},"value":"log(uint256,bool,string,bool)"},{"id":21795,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21782,"src":"27437:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21796,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21784,"src":"27441:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21797,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21786,"src":"27445:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21798,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21788,"src":"27449:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21792,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27380:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27384:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27380:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27380:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21791,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"27364:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27364:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21801,"nodeType":"ExpressionStatement","src":"27364:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27288:3:18","parameters":{"id":21789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21782,"mutability":"mutable","name":"p0","nameLocation":"27300:2:18","nodeType":"VariableDeclaration","scope":21803,"src":"27292:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21781,"name":"uint256","nodeType":"ElementaryTypeName","src":"27292:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21784,"mutability":"mutable","name":"p1","nameLocation":"27309:2:18","nodeType":"VariableDeclaration","scope":21803,"src":"27304:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21783,"name":"bool","nodeType":"ElementaryTypeName","src":"27304:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21786,"mutability":"mutable","name":"p2","nameLocation":"27327:2:18","nodeType":"VariableDeclaration","scope":21803,"src":"27313:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21785,"name":"string","nodeType":"ElementaryTypeName","src":"27313:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21788,"mutability":"mutable","name":"p3","nameLocation":"27336:2:18","nodeType":"VariableDeclaration","scope":21803,"src":"27331:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21787,"name":"bool","nodeType":"ElementaryTypeName","src":"27331:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27291:48:18"},"returnParameters":{"id":21790,"nodeType":"ParameterList","parameters":[],"src":"27354:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21826,"nodeType":"FunctionDefinition","src":"27466:187:18","nodes":[],"body":{"id":21825,"nodeType":"Block","src":"27544:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329","id":21817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27594:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},"value":"log(uint256,bool,string,address)"},{"id":21818,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21805,"src":"27630:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21819,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21807,"src":"27634:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21820,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21809,"src":"27638:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21821,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21811,"src":"27642:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21815,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27570:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27574:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27570:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27570:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21814,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"27554:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27554:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21824,"nodeType":"ExpressionStatement","src":"27554:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27475:3:18","parameters":{"id":21812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21805,"mutability":"mutable","name":"p0","nameLocation":"27487:2:18","nodeType":"VariableDeclaration","scope":21826,"src":"27479:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21804,"name":"uint256","nodeType":"ElementaryTypeName","src":"27479:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21807,"mutability":"mutable","name":"p1","nameLocation":"27496:2:18","nodeType":"VariableDeclaration","scope":21826,"src":"27491:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21806,"name":"bool","nodeType":"ElementaryTypeName","src":"27491:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21809,"mutability":"mutable","name":"p2","nameLocation":"27514:2:18","nodeType":"VariableDeclaration","scope":21826,"src":"27500:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21808,"name":"string","nodeType":"ElementaryTypeName","src":"27500:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21811,"mutability":"mutable","name":"p3","nameLocation":"27526:2:18","nodeType":"VariableDeclaration","scope":21826,"src":"27518:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21810,"name":"address","nodeType":"ElementaryTypeName","src":"27518:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27478:51:18"},"returnParameters":{"id":21813,"nodeType":"ParameterList","parameters":[],"src":"27544:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21849,"nodeType":"FunctionDefinition","src":"27659:176:18","nodes":[],"body":{"id":21848,"nodeType":"Block","src":"27728:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629","id":21840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27778:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},"value":"log(uint256,bool,bool,uint256)"},{"id":21841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21828,"src":"27812:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21830,"src":"27816:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21843,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21832,"src":"27820:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21844,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21834,"src":"27824:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27754:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27758:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27754:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27754:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"27738:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27738:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21847,"nodeType":"ExpressionStatement","src":"27738:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27668:3:18","parameters":{"id":21835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21828,"mutability":"mutable","name":"p0","nameLocation":"27680:2:18","nodeType":"VariableDeclaration","scope":21849,"src":"27672:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21827,"name":"uint256","nodeType":"ElementaryTypeName","src":"27672:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21830,"mutability":"mutable","name":"p1","nameLocation":"27689:2:18","nodeType":"VariableDeclaration","scope":21849,"src":"27684:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21829,"name":"bool","nodeType":"ElementaryTypeName","src":"27684:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21832,"mutability":"mutable","name":"p2","nameLocation":"27698:2:18","nodeType":"VariableDeclaration","scope":21849,"src":"27693:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21831,"name":"bool","nodeType":"ElementaryTypeName","src":"27693:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21834,"mutability":"mutable","name":"p3","nameLocation":"27710:2:18","nodeType":"VariableDeclaration","scope":21849,"src":"27702:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21833,"name":"uint256","nodeType":"ElementaryTypeName","src":"27702:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27671:42:18"},"returnParameters":{"id":21836,"nodeType":"ParameterList","parameters":[],"src":"27728:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21872,"nodeType":"FunctionDefinition","src":"27841:181:18","nodes":[],"body":{"id":21871,"nodeType":"Block","src":"27916:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729","id":21863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27966:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},"value":"log(uint256,bool,bool,string)"},{"id":21864,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21851,"src":"27999:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21865,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21853,"src":"28003:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21866,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21855,"src":"28007:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21867,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21857,"src":"28011:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27942:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27946:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27942:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27942:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21860,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"27926:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27926:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21870,"nodeType":"ExpressionStatement","src":"27926:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27850:3:18","parameters":{"id":21858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21851,"mutability":"mutable","name":"p0","nameLocation":"27862:2:18","nodeType":"VariableDeclaration","scope":21872,"src":"27854:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21850,"name":"uint256","nodeType":"ElementaryTypeName","src":"27854:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21853,"mutability":"mutable","name":"p1","nameLocation":"27871:2:18","nodeType":"VariableDeclaration","scope":21872,"src":"27866:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21852,"name":"bool","nodeType":"ElementaryTypeName","src":"27866:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21855,"mutability":"mutable","name":"p2","nameLocation":"27880:2:18","nodeType":"VariableDeclaration","scope":21872,"src":"27875:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21854,"name":"bool","nodeType":"ElementaryTypeName","src":"27875:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21857,"mutability":"mutable","name":"p3","nameLocation":"27898:2:18","nodeType":"VariableDeclaration","scope":21872,"src":"27884:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21856,"name":"string","nodeType":"ElementaryTypeName","src":"27884:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27853:48:18"},"returnParameters":{"id":21859,"nodeType":"ParameterList","parameters":[],"src":"27916:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21895,"nodeType":"FunctionDefinition","src":"28028:170:18","nodes":[],"body":{"id":21894,"nodeType":"Block","src":"28094:104:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29","id":21886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28144:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},"value":"log(uint256,bool,bool,bool)"},{"id":21887,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21874,"src":"28175:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21888,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21876,"src":"28179:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21889,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21878,"src":"28183:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21890,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21880,"src":"28187:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28120:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28124:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28120:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28120:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21883,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"28104:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28104:87:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21893,"nodeType":"ExpressionStatement","src":"28104:87:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28037:3:18","parameters":{"id":21881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21874,"mutability":"mutable","name":"p0","nameLocation":"28049:2:18","nodeType":"VariableDeclaration","scope":21895,"src":"28041:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21873,"name":"uint256","nodeType":"ElementaryTypeName","src":"28041:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21876,"mutability":"mutable","name":"p1","nameLocation":"28058:2:18","nodeType":"VariableDeclaration","scope":21895,"src":"28053:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21875,"name":"bool","nodeType":"ElementaryTypeName","src":"28053:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21878,"mutability":"mutable","name":"p2","nameLocation":"28067:2:18","nodeType":"VariableDeclaration","scope":21895,"src":"28062:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21877,"name":"bool","nodeType":"ElementaryTypeName","src":"28062:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21880,"mutability":"mutable","name":"p3","nameLocation":"28076:2:18","nodeType":"VariableDeclaration","scope":21895,"src":"28071:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21879,"name":"bool","nodeType":"ElementaryTypeName","src":"28071:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28040:39:18"},"returnParameters":{"id":21882,"nodeType":"ParameterList","parameters":[],"src":"28094:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21918,"nodeType":"FunctionDefinition","src":"28204:176:18","nodes":[],"body":{"id":21917,"nodeType":"Block","src":"28273:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329","id":21909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28323:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},"value":"log(uint256,bool,bool,address)"},{"id":21910,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21897,"src":"28357:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21911,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21899,"src":"28361:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21912,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21901,"src":"28365:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21913,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21903,"src":"28369:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21907,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28299:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28303:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28299:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28299:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21906,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"28283:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28283:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21916,"nodeType":"ExpressionStatement","src":"28283:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28213:3:18","parameters":{"id":21904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21897,"mutability":"mutable","name":"p0","nameLocation":"28225:2:18","nodeType":"VariableDeclaration","scope":21918,"src":"28217:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21896,"name":"uint256","nodeType":"ElementaryTypeName","src":"28217:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21899,"mutability":"mutable","name":"p1","nameLocation":"28234:2:18","nodeType":"VariableDeclaration","scope":21918,"src":"28229:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21898,"name":"bool","nodeType":"ElementaryTypeName","src":"28229:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21901,"mutability":"mutable","name":"p2","nameLocation":"28243:2:18","nodeType":"VariableDeclaration","scope":21918,"src":"28238:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21900,"name":"bool","nodeType":"ElementaryTypeName","src":"28238:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21903,"mutability":"mutable","name":"p3","nameLocation":"28255:2:18","nodeType":"VariableDeclaration","scope":21918,"src":"28247:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21902,"name":"address","nodeType":"ElementaryTypeName","src":"28247:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28216:42:18"},"returnParameters":{"id":21905,"nodeType":"ParameterList","parameters":[],"src":"28273:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21941,"nodeType":"FunctionDefinition","src":"28386:182:18","nodes":[],"body":{"id":21940,"nodeType":"Block","src":"28458:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629","id":21932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28508:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},"value":"log(uint256,bool,address,uint256)"},{"id":21933,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21920,"src":"28545:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21934,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21922,"src":"28549:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21935,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21924,"src":"28553:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21936,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21926,"src":"28557:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21930,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28484:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28488:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28484:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28484:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21929,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"28468:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28468:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21939,"nodeType":"ExpressionStatement","src":"28468:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28395:3:18","parameters":{"id":21927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21920,"mutability":"mutable","name":"p0","nameLocation":"28407:2:18","nodeType":"VariableDeclaration","scope":21941,"src":"28399:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21919,"name":"uint256","nodeType":"ElementaryTypeName","src":"28399:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21922,"mutability":"mutable","name":"p1","nameLocation":"28416:2:18","nodeType":"VariableDeclaration","scope":21941,"src":"28411:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21921,"name":"bool","nodeType":"ElementaryTypeName","src":"28411:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21924,"mutability":"mutable","name":"p2","nameLocation":"28428:2:18","nodeType":"VariableDeclaration","scope":21941,"src":"28420:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21923,"name":"address","nodeType":"ElementaryTypeName","src":"28420:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21926,"mutability":"mutable","name":"p3","nameLocation":"28440:2:18","nodeType":"VariableDeclaration","scope":21941,"src":"28432:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21925,"name":"uint256","nodeType":"ElementaryTypeName","src":"28432:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28398:45:18"},"returnParameters":{"id":21928,"nodeType":"ParameterList","parameters":[],"src":"28458:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21964,"nodeType":"FunctionDefinition","src":"28574:187:18","nodes":[],"body":{"id":21963,"nodeType":"Block","src":"28652:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729","id":21955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28702:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},"value":"log(uint256,bool,address,string)"},{"id":21956,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21943,"src":"28738:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21957,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21945,"src":"28742:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21958,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21947,"src":"28746:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21959,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21949,"src":"28750:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21953,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28678:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28682:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28678:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28678:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21952,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"28662:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28662:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21962,"nodeType":"ExpressionStatement","src":"28662:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28583:3:18","parameters":{"id":21950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21943,"mutability":"mutable","name":"p0","nameLocation":"28595:2:18","nodeType":"VariableDeclaration","scope":21964,"src":"28587:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21942,"name":"uint256","nodeType":"ElementaryTypeName","src":"28587:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21945,"mutability":"mutable","name":"p1","nameLocation":"28604:2:18","nodeType":"VariableDeclaration","scope":21964,"src":"28599:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21944,"name":"bool","nodeType":"ElementaryTypeName","src":"28599:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21947,"mutability":"mutable","name":"p2","nameLocation":"28616:2:18","nodeType":"VariableDeclaration","scope":21964,"src":"28608:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21946,"name":"address","nodeType":"ElementaryTypeName","src":"28608:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21949,"mutability":"mutable","name":"p3","nameLocation":"28634:2:18","nodeType":"VariableDeclaration","scope":21964,"src":"28620:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21948,"name":"string","nodeType":"ElementaryTypeName","src":"28620:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28586:51:18"},"returnParameters":{"id":21951,"nodeType":"ParameterList","parameters":[],"src":"28652:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21987,"nodeType":"FunctionDefinition","src":"28767:176:18","nodes":[],"body":{"id":21986,"nodeType":"Block","src":"28836:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29","id":21978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28886:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},"value":"log(uint256,bool,address,bool)"},{"id":21979,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21966,"src":"28920:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21980,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21968,"src":"28924:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21981,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21970,"src":"28928:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21982,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21972,"src":"28932:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21976,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28862:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28866:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28862:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28862:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21975,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"28846:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28846:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21985,"nodeType":"ExpressionStatement","src":"28846:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28776:3:18","parameters":{"id":21973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21966,"mutability":"mutable","name":"p0","nameLocation":"28788:2:18","nodeType":"VariableDeclaration","scope":21987,"src":"28780:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21965,"name":"uint256","nodeType":"ElementaryTypeName","src":"28780:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21968,"mutability":"mutable","name":"p1","nameLocation":"28797:2:18","nodeType":"VariableDeclaration","scope":21987,"src":"28792:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21967,"name":"bool","nodeType":"ElementaryTypeName","src":"28792:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21970,"mutability":"mutable","name":"p2","nameLocation":"28809:2:18","nodeType":"VariableDeclaration","scope":21987,"src":"28801:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21969,"name":"address","nodeType":"ElementaryTypeName","src":"28801:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21972,"mutability":"mutable","name":"p3","nameLocation":"28818:2:18","nodeType":"VariableDeclaration","scope":21987,"src":"28813:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21971,"name":"bool","nodeType":"ElementaryTypeName","src":"28813:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28779:42:18"},"returnParameters":{"id":21974,"nodeType":"ParameterList","parameters":[],"src":"28836:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22010,"nodeType":"FunctionDefinition","src":"28949:182:18","nodes":[],"body":{"id":22009,"nodeType":"Block","src":"29021:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329","id":22001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29071:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},"value":"log(uint256,bool,address,address)"},{"id":22002,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21989,"src":"29108:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22003,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21991,"src":"29112:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22004,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21993,"src":"29116:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22005,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21995,"src":"29120:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21999,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29047:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29051:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29047:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29047:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21998,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"29031:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29031:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22008,"nodeType":"ExpressionStatement","src":"29031:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28958:3:18","parameters":{"id":21996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21989,"mutability":"mutable","name":"p0","nameLocation":"28970:2:18","nodeType":"VariableDeclaration","scope":22010,"src":"28962:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21988,"name":"uint256","nodeType":"ElementaryTypeName","src":"28962:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21991,"mutability":"mutable","name":"p1","nameLocation":"28979:2:18","nodeType":"VariableDeclaration","scope":22010,"src":"28974:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21990,"name":"bool","nodeType":"ElementaryTypeName","src":"28974:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21993,"mutability":"mutable","name":"p2","nameLocation":"28991:2:18","nodeType":"VariableDeclaration","scope":22010,"src":"28983:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21992,"name":"address","nodeType":"ElementaryTypeName","src":"28983:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21995,"mutability":"mutable","name":"p3","nameLocation":"29003:2:18","nodeType":"VariableDeclaration","scope":22010,"src":"28995:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21994,"name":"address","nodeType":"ElementaryTypeName","src":"28995:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28961:45:18"},"returnParameters":{"id":21997,"nodeType":"ParameterList","parameters":[],"src":"29021:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22033,"nodeType":"FunctionDefinition","src":"29137:188:18","nodes":[],"body":{"id":22032,"nodeType":"Block","src":"29212:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629","id":22024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29262:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},"value":"log(uint256,address,uint256,uint256)"},{"id":22025,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22012,"src":"29302:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22026,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22014,"src":"29306:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22027,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22016,"src":"29310:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22028,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22018,"src":"29314:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29238:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29242:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29238:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29238:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"29222:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29222:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22031,"nodeType":"ExpressionStatement","src":"29222:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29146:3:18","parameters":{"id":22019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22012,"mutability":"mutable","name":"p0","nameLocation":"29158:2:18","nodeType":"VariableDeclaration","scope":22033,"src":"29150:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22011,"name":"uint256","nodeType":"ElementaryTypeName","src":"29150:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22014,"mutability":"mutable","name":"p1","nameLocation":"29170:2:18","nodeType":"VariableDeclaration","scope":22033,"src":"29162:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22013,"name":"address","nodeType":"ElementaryTypeName","src":"29162:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22016,"mutability":"mutable","name":"p2","nameLocation":"29182:2:18","nodeType":"VariableDeclaration","scope":22033,"src":"29174:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22015,"name":"uint256","nodeType":"ElementaryTypeName","src":"29174:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22018,"mutability":"mutable","name":"p3","nameLocation":"29194:2:18","nodeType":"VariableDeclaration","scope":22033,"src":"29186:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22017,"name":"uint256","nodeType":"ElementaryTypeName","src":"29186:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29149:48:18"},"returnParameters":{"id":22020,"nodeType":"ParameterList","parameters":[],"src":"29212:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22056,"nodeType":"FunctionDefinition","src":"29331:193:18","nodes":[],"body":{"id":22055,"nodeType":"Block","src":"29412:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729","id":22047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29462:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},"value":"log(uint256,address,uint256,string)"},{"id":22048,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22035,"src":"29501:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22049,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22037,"src":"29505:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22050,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22039,"src":"29509:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22051,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22041,"src":"29513:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22045,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29438:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29442:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29438:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29438:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22044,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"29422:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29422:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22054,"nodeType":"ExpressionStatement","src":"29422:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29340:3:18","parameters":{"id":22042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22035,"mutability":"mutable","name":"p0","nameLocation":"29352:2:18","nodeType":"VariableDeclaration","scope":22056,"src":"29344:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22034,"name":"uint256","nodeType":"ElementaryTypeName","src":"29344:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22037,"mutability":"mutable","name":"p1","nameLocation":"29364:2:18","nodeType":"VariableDeclaration","scope":22056,"src":"29356:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22036,"name":"address","nodeType":"ElementaryTypeName","src":"29356:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22039,"mutability":"mutable","name":"p2","nameLocation":"29376:2:18","nodeType":"VariableDeclaration","scope":22056,"src":"29368:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22038,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22041,"mutability":"mutable","name":"p3","nameLocation":"29394:2:18","nodeType":"VariableDeclaration","scope":22056,"src":"29380:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22040,"name":"string","nodeType":"ElementaryTypeName","src":"29380:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29343:54:18"},"returnParameters":{"id":22043,"nodeType":"ParameterList","parameters":[],"src":"29412:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22079,"nodeType":"FunctionDefinition","src":"29530:182:18","nodes":[],"body":{"id":22078,"nodeType":"Block","src":"29602:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29","id":22070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29652:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},"value":"log(uint256,address,uint256,bool)"},{"id":22071,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22058,"src":"29689:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22072,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22060,"src":"29693:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22073,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22062,"src":"29697:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22074,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22064,"src":"29701:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22068,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29628:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29632:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29628:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29628:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22067,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"29612:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29612:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22077,"nodeType":"ExpressionStatement","src":"29612:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29539:3:18","parameters":{"id":22065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22058,"mutability":"mutable","name":"p0","nameLocation":"29551:2:18","nodeType":"VariableDeclaration","scope":22079,"src":"29543:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22057,"name":"uint256","nodeType":"ElementaryTypeName","src":"29543:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22060,"mutability":"mutable","name":"p1","nameLocation":"29563:2:18","nodeType":"VariableDeclaration","scope":22079,"src":"29555:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22059,"name":"address","nodeType":"ElementaryTypeName","src":"29555:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22062,"mutability":"mutable","name":"p2","nameLocation":"29575:2:18","nodeType":"VariableDeclaration","scope":22079,"src":"29567:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22061,"name":"uint256","nodeType":"ElementaryTypeName","src":"29567:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22064,"mutability":"mutable","name":"p3","nameLocation":"29584:2:18","nodeType":"VariableDeclaration","scope":22079,"src":"29579:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22063,"name":"bool","nodeType":"ElementaryTypeName","src":"29579:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29542:45:18"},"returnParameters":{"id":22066,"nodeType":"ParameterList","parameters":[],"src":"29602:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22102,"nodeType":"FunctionDefinition","src":"29718:188:18","nodes":[],"body":{"id":22101,"nodeType":"Block","src":"29793:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329","id":22093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29843:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},"value":"log(uint256,address,uint256,address)"},{"id":22094,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22081,"src":"29883:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22095,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22083,"src":"29887:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22096,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22085,"src":"29891:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22097,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22087,"src":"29895:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29819:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29823:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29819:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29819:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22090,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"29803:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29803:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22100,"nodeType":"ExpressionStatement","src":"29803:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29727:3:18","parameters":{"id":22088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22081,"mutability":"mutable","name":"p0","nameLocation":"29739:2:18","nodeType":"VariableDeclaration","scope":22102,"src":"29731:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22080,"name":"uint256","nodeType":"ElementaryTypeName","src":"29731:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22083,"mutability":"mutable","name":"p1","nameLocation":"29751:2:18","nodeType":"VariableDeclaration","scope":22102,"src":"29743:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22082,"name":"address","nodeType":"ElementaryTypeName","src":"29743:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22085,"mutability":"mutable","name":"p2","nameLocation":"29763:2:18","nodeType":"VariableDeclaration","scope":22102,"src":"29755:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22084,"name":"uint256","nodeType":"ElementaryTypeName","src":"29755:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22087,"mutability":"mutable","name":"p3","nameLocation":"29775:2:18","nodeType":"VariableDeclaration","scope":22102,"src":"29767:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22086,"name":"address","nodeType":"ElementaryTypeName","src":"29767:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29730:48:18"},"returnParameters":{"id":22089,"nodeType":"ParameterList","parameters":[],"src":"29793:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22125,"nodeType":"FunctionDefinition","src":"29912:193:18","nodes":[],"body":{"id":22124,"nodeType":"Block","src":"29993:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629","id":22116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30043:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},"value":"log(uint256,address,string,uint256)"},{"id":22117,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22104,"src":"30082:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22118,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22106,"src":"30086:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22119,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22108,"src":"30090:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22120,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22110,"src":"30094:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22114,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30019:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30023:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30019:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30019:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22113,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"30003:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30003:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22123,"nodeType":"ExpressionStatement","src":"30003:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29921:3:18","parameters":{"id":22111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22104,"mutability":"mutable","name":"p0","nameLocation":"29933:2:18","nodeType":"VariableDeclaration","scope":22125,"src":"29925:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22103,"name":"uint256","nodeType":"ElementaryTypeName","src":"29925:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22106,"mutability":"mutable","name":"p1","nameLocation":"29945:2:18","nodeType":"VariableDeclaration","scope":22125,"src":"29937:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22105,"name":"address","nodeType":"ElementaryTypeName","src":"29937:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22108,"mutability":"mutable","name":"p2","nameLocation":"29963:2:18","nodeType":"VariableDeclaration","scope":22125,"src":"29949:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22107,"name":"string","nodeType":"ElementaryTypeName","src":"29949:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22110,"mutability":"mutable","name":"p3","nameLocation":"29975:2:18","nodeType":"VariableDeclaration","scope":22125,"src":"29967:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22109,"name":"uint256","nodeType":"ElementaryTypeName","src":"29967:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29924:54:18"},"returnParameters":{"id":22112,"nodeType":"ParameterList","parameters":[],"src":"29993:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22148,"nodeType":"FunctionDefinition","src":"30111:198:18","nodes":[],"body":{"id":22147,"nodeType":"Block","src":"30198:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729","id":22139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30248:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},"value":"log(uint256,address,string,string)"},{"id":22140,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22127,"src":"30286:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22141,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22129,"src":"30290:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22142,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22131,"src":"30294:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22143,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22133,"src":"30298:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22137,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30224:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30228:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30224:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30224:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22136,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"30208:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30208:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22146,"nodeType":"ExpressionStatement","src":"30208:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30120:3:18","parameters":{"id":22134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22127,"mutability":"mutable","name":"p0","nameLocation":"30132:2:18","nodeType":"VariableDeclaration","scope":22148,"src":"30124:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22126,"name":"uint256","nodeType":"ElementaryTypeName","src":"30124:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22129,"mutability":"mutable","name":"p1","nameLocation":"30144:2:18","nodeType":"VariableDeclaration","scope":22148,"src":"30136:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22128,"name":"address","nodeType":"ElementaryTypeName","src":"30136:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22131,"mutability":"mutable","name":"p2","nameLocation":"30162:2:18","nodeType":"VariableDeclaration","scope":22148,"src":"30148:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22130,"name":"string","nodeType":"ElementaryTypeName","src":"30148:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22133,"mutability":"mutable","name":"p3","nameLocation":"30180:2:18","nodeType":"VariableDeclaration","scope":22148,"src":"30166:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22132,"name":"string","nodeType":"ElementaryTypeName","src":"30166:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30123:60:18"},"returnParameters":{"id":22135,"nodeType":"ParameterList","parameters":[],"src":"30198:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22171,"nodeType":"FunctionDefinition","src":"30315:187:18","nodes":[],"body":{"id":22170,"nodeType":"Block","src":"30393:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29","id":22162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30443:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},"value":"log(uint256,address,string,bool)"},{"id":22163,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22150,"src":"30479:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22164,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22152,"src":"30483:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22165,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22154,"src":"30487:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22166,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22156,"src":"30491:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22160,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30419:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30423:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30419:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30419:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22159,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"30403:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30403:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22169,"nodeType":"ExpressionStatement","src":"30403:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30324:3:18","parameters":{"id":22157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22150,"mutability":"mutable","name":"p0","nameLocation":"30336:2:18","nodeType":"VariableDeclaration","scope":22171,"src":"30328:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22149,"name":"uint256","nodeType":"ElementaryTypeName","src":"30328:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22152,"mutability":"mutable","name":"p1","nameLocation":"30348:2:18","nodeType":"VariableDeclaration","scope":22171,"src":"30340:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22151,"name":"address","nodeType":"ElementaryTypeName","src":"30340:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22154,"mutability":"mutable","name":"p2","nameLocation":"30366:2:18","nodeType":"VariableDeclaration","scope":22171,"src":"30352:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22153,"name":"string","nodeType":"ElementaryTypeName","src":"30352:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22156,"mutability":"mutable","name":"p3","nameLocation":"30375:2:18","nodeType":"VariableDeclaration","scope":22171,"src":"30370:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22155,"name":"bool","nodeType":"ElementaryTypeName","src":"30370:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30327:51:18"},"returnParameters":{"id":22158,"nodeType":"ParameterList","parameters":[],"src":"30393:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22194,"nodeType":"FunctionDefinition","src":"30508:193:18","nodes":[],"body":{"id":22193,"nodeType":"Block","src":"30589:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329","id":22185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30639:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},"value":"log(uint256,address,string,address)"},{"id":22186,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22173,"src":"30678:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22187,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22175,"src":"30682:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22188,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22177,"src":"30686:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22189,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22179,"src":"30690:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22183,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30615:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30619:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30615:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30615:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22182,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"30599:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30599:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22192,"nodeType":"ExpressionStatement","src":"30599:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30517:3:18","parameters":{"id":22180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22173,"mutability":"mutable","name":"p0","nameLocation":"30529:2:18","nodeType":"VariableDeclaration","scope":22194,"src":"30521:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22172,"name":"uint256","nodeType":"ElementaryTypeName","src":"30521:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22175,"mutability":"mutable","name":"p1","nameLocation":"30541:2:18","nodeType":"VariableDeclaration","scope":22194,"src":"30533:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22174,"name":"address","nodeType":"ElementaryTypeName","src":"30533:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22177,"mutability":"mutable","name":"p2","nameLocation":"30559:2:18","nodeType":"VariableDeclaration","scope":22194,"src":"30545:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22176,"name":"string","nodeType":"ElementaryTypeName","src":"30545:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22179,"mutability":"mutable","name":"p3","nameLocation":"30571:2:18","nodeType":"VariableDeclaration","scope":22194,"src":"30563:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22178,"name":"address","nodeType":"ElementaryTypeName","src":"30563:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30520:54:18"},"returnParameters":{"id":22181,"nodeType":"ParameterList","parameters":[],"src":"30589:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22217,"nodeType":"FunctionDefinition","src":"30707:182:18","nodes":[],"body":{"id":22216,"nodeType":"Block","src":"30779:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629","id":22208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30829:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},"value":"log(uint256,address,bool,uint256)"},{"id":22209,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22196,"src":"30866:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22210,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22198,"src":"30870:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22211,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22200,"src":"30874:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22212,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22202,"src":"30878:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22206,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30805:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30809:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30805:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30805:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22205,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"30789:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30789:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22215,"nodeType":"ExpressionStatement","src":"30789:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30716:3:18","parameters":{"id":22203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22196,"mutability":"mutable","name":"p0","nameLocation":"30728:2:18","nodeType":"VariableDeclaration","scope":22217,"src":"30720:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22195,"name":"uint256","nodeType":"ElementaryTypeName","src":"30720:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22198,"mutability":"mutable","name":"p1","nameLocation":"30740:2:18","nodeType":"VariableDeclaration","scope":22217,"src":"30732:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22197,"name":"address","nodeType":"ElementaryTypeName","src":"30732:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22200,"mutability":"mutable","name":"p2","nameLocation":"30749:2:18","nodeType":"VariableDeclaration","scope":22217,"src":"30744:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22199,"name":"bool","nodeType":"ElementaryTypeName","src":"30744:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22202,"mutability":"mutable","name":"p3","nameLocation":"30761:2:18","nodeType":"VariableDeclaration","scope":22217,"src":"30753:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22201,"name":"uint256","nodeType":"ElementaryTypeName","src":"30753:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30719:45:18"},"returnParameters":{"id":22204,"nodeType":"ParameterList","parameters":[],"src":"30779:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22240,"nodeType":"FunctionDefinition","src":"30895:187:18","nodes":[],"body":{"id":22239,"nodeType":"Block","src":"30973:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729","id":22231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31023:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},"value":"log(uint256,address,bool,string)"},{"id":22232,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22219,"src":"31059:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22233,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22221,"src":"31063:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22234,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22223,"src":"31067:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22235,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22225,"src":"31071:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22229,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30999:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31003:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30999:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30999:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22228,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"30983:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30983:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22238,"nodeType":"ExpressionStatement","src":"30983:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30904:3:18","parameters":{"id":22226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22219,"mutability":"mutable","name":"p0","nameLocation":"30916:2:18","nodeType":"VariableDeclaration","scope":22240,"src":"30908:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22218,"name":"uint256","nodeType":"ElementaryTypeName","src":"30908:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22221,"mutability":"mutable","name":"p1","nameLocation":"30928:2:18","nodeType":"VariableDeclaration","scope":22240,"src":"30920:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22220,"name":"address","nodeType":"ElementaryTypeName","src":"30920:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22223,"mutability":"mutable","name":"p2","nameLocation":"30937:2:18","nodeType":"VariableDeclaration","scope":22240,"src":"30932:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22222,"name":"bool","nodeType":"ElementaryTypeName","src":"30932:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22225,"mutability":"mutable","name":"p3","nameLocation":"30955:2:18","nodeType":"VariableDeclaration","scope":22240,"src":"30941:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22224,"name":"string","nodeType":"ElementaryTypeName","src":"30941:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30907:51:18"},"returnParameters":{"id":22227,"nodeType":"ParameterList","parameters":[],"src":"30973:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22263,"nodeType":"FunctionDefinition","src":"31088:176:18","nodes":[],"body":{"id":22262,"nodeType":"Block","src":"31157:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29","id":22254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31207:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},"value":"log(uint256,address,bool,bool)"},{"id":22255,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22242,"src":"31241:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22256,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22244,"src":"31245:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22257,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22246,"src":"31249:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22258,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22248,"src":"31253:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22252,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31183:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31187:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31183:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31183:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22251,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"31167:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31167:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22261,"nodeType":"ExpressionStatement","src":"31167:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31097:3:18","parameters":{"id":22249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22242,"mutability":"mutable","name":"p0","nameLocation":"31109:2:18","nodeType":"VariableDeclaration","scope":22263,"src":"31101:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22241,"name":"uint256","nodeType":"ElementaryTypeName","src":"31101:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22244,"mutability":"mutable","name":"p1","nameLocation":"31121:2:18","nodeType":"VariableDeclaration","scope":22263,"src":"31113:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22243,"name":"address","nodeType":"ElementaryTypeName","src":"31113:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22246,"mutability":"mutable","name":"p2","nameLocation":"31130:2:18","nodeType":"VariableDeclaration","scope":22263,"src":"31125:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22245,"name":"bool","nodeType":"ElementaryTypeName","src":"31125:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22248,"mutability":"mutable","name":"p3","nameLocation":"31139:2:18","nodeType":"VariableDeclaration","scope":22263,"src":"31134:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22247,"name":"bool","nodeType":"ElementaryTypeName","src":"31134:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31100:42:18"},"returnParameters":{"id":22250,"nodeType":"ParameterList","parameters":[],"src":"31157:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22286,"nodeType":"FunctionDefinition","src":"31270:182:18","nodes":[],"body":{"id":22285,"nodeType":"Block","src":"31342:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329","id":22277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31392:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},"value":"log(uint256,address,bool,address)"},{"id":22278,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22265,"src":"31429:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22279,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22267,"src":"31433:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22280,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22269,"src":"31437:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22281,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22271,"src":"31441:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22275,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31368:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31372:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31368:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31368:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22274,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"31352:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31352:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22284,"nodeType":"ExpressionStatement","src":"31352:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31279:3:18","parameters":{"id":22272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22265,"mutability":"mutable","name":"p0","nameLocation":"31291:2:18","nodeType":"VariableDeclaration","scope":22286,"src":"31283:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22264,"name":"uint256","nodeType":"ElementaryTypeName","src":"31283:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22267,"mutability":"mutable","name":"p1","nameLocation":"31303:2:18","nodeType":"VariableDeclaration","scope":22286,"src":"31295:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22266,"name":"address","nodeType":"ElementaryTypeName","src":"31295:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22269,"mutability":"mutable","name":"p2","nameLocation":"31312:2:18","nodeType":"VariableDeclaration","scope":22286,"src":"31307:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22268,"name":"bool","nodeType":"ElementaryTypeName","src":"31307:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22271,"mutability":"mutable","name":"p3","nameLocation":"31324:2:18","nodeType":"VariableDeclaration","scope":22286,"src":"31316:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22270,"name":"address","nodeType":"ElementaryTypeName","src":"31316:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31282:45:18"},"returnParameters":{"id":22273,"nodeType":"ParameterList","parameters":[],"src":"31342:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22309,"nodeType":"FunctionDefinition","src":"31458:188:18","nodes":[],"body":{"id":22308,"nodeType":"Block","src":"31533:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629","id":22300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31583:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},"value":"log(uint256,address,address,uint256)"},{"id":22301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22288,"src":"31623:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22290,"src":"31627:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22292,"src":"31631:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22304,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22294,"src":"31635:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31559:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31563:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31559:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31559:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"31543:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31543:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22307,"nodeType":"ExpressionStatement","src":"31543:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31467:3:18","parameters":{"id":22295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22288,"mutability":"mutable","name":"p0","nameLocation":"31479:2:18","nodeType":"VariableDeclaration","scope":22309,"src":"31471:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22287,"name":"uint256","nodeType":"ElementaryTypeName","src":"31471:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22290,"mutability":"mutable","name":"p1","nameLocation":"31491:2:18","nodeType":"VariableDeclaration","scope":22309,"src":"31483:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22289,"name":"address","nodeType":"ElementaryTypeName","src":"31483:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22292,"mutability":"mutable","name":"p2","nameLocation":"31503:2:18","nodeType":"VariableDeclaration","scope":22309,"src":"31495:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22291,"name":"address","nodeType":"ElementaryTypeName","src":"31495:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22294,"mutability":"mutable","name":"p3","nameLocation":"31515:2:18","nodeType":"VariableDeclaration","scope":22309,"src":"31507:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22293,"name":"uint256","nodeType":"ElementaryTypeName","src":"31507:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31470:48:18"},"returnParameters":{"id":22296,"nodeType":"ParameterList","parameters":[],"src":"31533:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22332,"nodeType":"FunctionDefinition","src":"31652:193:18","nodes":[],"body":{"id":22331,"nodeType":"Block","src":"31733:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729","id":22323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31783:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},"value":"log(uint256,address,address,string)"},{"id":22324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22311,"src":"31822:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22325,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22313,"src":"31826:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22326,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22315,"src":"31830:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22327,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22317,"src":"31834:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31759:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31763:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31759:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31759:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"31743:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31743:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22330,"nodeType":"ExpressionStatement","src":"31743:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31661:3:18","parameters":{"id":22318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22311,"mutability":"mutable","name":"p0","nameLocation":"31673:2:18","nodeType":"VariableDeclaration","scope":22332,"src":"31665:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22310,"name":"uint256","nodeType":"ElementaryTypeName","src":"31665:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22313,"mutability":"mutable","name":"p1","nameLocation":"31685:2:18","nodeType":"VariableDeclaration","scope":22332,"src":"31677:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22312,"name":"address","nodeType":"ElementaryTypeName","src":"31677:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22315,"mutability":"mutable","name":"p2","nameLocation":"31697:2:18","nodeType":"VariableDeclaration","scope":22332,"src":"31689:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22314,"name":"address","nodeType":"ElementaryTypeName","src":"31689:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22317,"mutability":"mutable","name":"p3","nameLocation":"31715:2:18","nodeType":"VariableDeclaration","scope":22332,"src":"31701:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22316,"name":"string","nodeType":"ElementaryTypeName","src":"31701:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31664:54:18"},"returnParameters":{"id":22319,"nodeType":"ParameterList","parameters":[],"src":"31733:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22355,"nodeType":"FunctionDefinition","src":"31851:182:18","nodes":[],"body":{"id":22354,"nodeType":"Block","src":"31923:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29","id":22346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31973:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},"value":"log(uint256,address,address,bool)"},{"id":22347,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22334,"src":"32010:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22348,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22336,"src":"32014:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22349,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22338,"src":"32018:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22350,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22340,"src":"32022:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22344,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31949:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31953:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31949:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31949:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22343,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"31933:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31933:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22353,"nodeType":"ExpressionStatement","src":"31933:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31860:3:18","parameters":{"id":22341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22334,"mutability":"mutable","name":"p0","nameLocation":"31872:2:18","nodeType":"VariableDeclaration","scope":22355,"src":"31864:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22333,"name":"uint256","nodeType":"ElementaryTypeName","src":"31864:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22336,"mutability":"mutable","name":"p1","nameLocation":"31884:2:18","nodeType":"VariableDeclaration","scope":22355,"src":"31876:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22335,"name":"address","nodeType":"ElementaryTypeName","src":"31876:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22338,"mutability":"mutable","name":"p2","nameLocation":"31896:2:18","nodeType":"VariableDeclaration","scope":22355,"src":"31888:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22337,"name":"address","nodeType":"ElementaryTypeName","src":"31888:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22340,"mutability":"mutable","name":"p3","nameLocation":"31905:2:18","nodeType":"VariableDeclaration","scope":22355,"src":"31900:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22339,"name":"bool","nodeType":"ElementaryTypeName","src":"31900:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31863:45:18"},"returnParameters":{"id":22342,"nodeType":"ParameterList","parameters":[],"src":"31923:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22378,"nodeType":"FunctionDefinition","src":"32039:188:18","nodes":[],"body":{"id":22377,"nodeType":"Block","src":"32114:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329","id":22369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32164:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},"value":"log(uint256,address,address,address)"},{"id":22370,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22357,"src":"32204:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22371,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22359,"src":"32208:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22372,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22361,"src":"32212:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22373,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22363,"src":"32216:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22367,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32140:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32144:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32140:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32140:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22366,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"32124:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32124:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22376,"nodeType":"ExpressionStatement","src":"32124:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32048:3:18","parameters":{"id":22364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22357,"mutability":"mutable","name":"p0","nameLocation":"32060:2:18","nodeType":"VariableDeclaration","scope":22378,"src":"32052:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22356,"name":"uint256","nodeType":"ElementaryTypeName","src":"32052:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22359,"mutability":"mutable","name":"p1","nameLocation":"32072:2:18","nodeType":"VariableDeclaration","scope":22378,"src":"32064:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22358,"name":"address","nodeType":"ElementaryTypeName","src":"32064:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22361,"mutability":"mutable","name":"p2","nameLocation":"32084:2:18","nodeType":"VariableDeclaration","scope":22378,"src":"32076:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22360,"name":"address","nodeType":"ElementaryTypeName","src":"32076:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22363,"mutability":"mutable","name":"p3","nameLocation":"32096:2:18","nodeType":"VariableDeclaration","scope":22378,"src":"32088:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22362,"name":"address","nodeType":"ElementaryTypeName","src":"32088:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32051:48:18"},"returnParameters":{"id":22365,"nodeType":"ParameterList","parameters":[],"src":"32114:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22401,"nodeType":"FunctionDefinition","src":"32233:193:18","nodes":[],"body":{"id":22400,"nodeType":"Block","src":"32314:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629","id":22392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32364:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},"value":"log(string,uint256,uint256,uint256)"},{"id":22393,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22380,"src":"32403:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22394,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22382,"src":"32407:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22395,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22384,"src":"32411:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22396,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22386,"src":"32415:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22390,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32340:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32344:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32340:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32340:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22389,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"32324:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32324:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22399,"nodeType":"ExpressionStatement","src":"32324:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32242:3:18","parameters":{"id":22387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22380,"mutability":"mutable","name":"p0","nameLocation":"32260:2:18","nodeType":"VariableDeclaration","scope":22401,"src":"32246:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22379,"name":"string","nodeType":"ElementaryTypeName","src":"32246:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22382,"mutability":"mutable","name":"p1","nameLocation":"32272:2:18","nodeType":"VariableDeclaration","scope":22401,"src":"32264:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22381,"name":"uint256","nodeType":"ElementaryTypeName","src":"32264:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22384,"mutability":"mutable","name":"p2","nameLocation":"32284:2:18","nodeType":"VariableDeclaration","scope":22401,"src":"32276:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22383,"name":"uint256","nodeType":"ElementaryTypeName","src":"32276:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22386,"mutability":"mutable","name":"p3","nameLocation":"32296:2:18","nodeType":"VariableDeclaration","scope":22401,"src":"32288:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22385,"name":"uint256","nodeType":"ElementaryTypeName","src":"32288:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32245:54:18"},"returnParameters":{"id":22388,"nodeType":"ParameterList","parameters":[],"src":"32314:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22424,"nodeType":"FunctionDefinition","src":"32432:198:18","nodes":[],"body":{"id":22423,"nodeType":"Block","src":"32519:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729","id":22415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32569:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},"value":"log(string,uint256,uint256,string)"},{"id":22416,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22403,"src":"32607:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22417,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22405,"src":"32611:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22418,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22407,"src":"32615:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22419,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22409,"src":"32619:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22413,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32545:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32549:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32545:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32545:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22412,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"32529:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32529:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22422,"nodeType":"ExpressionStatement","src":"32529:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32441:3:18","parameters":{"id":22410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22403,"mutability":"mutable","name":"p0","nameLocation":"32459:2:18","nodeType":"VariableDeclaration","scope":22424,"src":"32445:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22402,"name":"string","nodeType":"ElementaryTypeName","src":"32445:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22405,"mutability":"mutable","name":"p1","nameLocation":"32471:2:18","nodeType":"VariableDeclaration","scope":22424,"src":"32463:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22404,"name":"uint256","nodeType":"ElementaryTypeName","src":"32463:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22407,"mutability":"mutable","name":"p2","nameLocation":"32483:2:18","nodeType":"VariableDeclaration","scope":22424,"src":"32475:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22406,"name":"uint256","nodeType":"ElementaryTypeName","src":"32475:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22409,"mutability":"mutable","name":"p3","nameLocation":"32501:2:18","nodeType":"VariableDeclaration","scope":22424,"src":"32487:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22408,"name":"string","nodeType":"ElementaryTypeName","src":"32487:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32444:60:18"},"returnParameters":{"id":22411,"nodeType":"ParameterList","parameters":[],"src":"32519:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22447,"nodeType":"FunctionDefinition","src":"32636:187:18","nodes":[],"body":{"id":22446,"nodeType":"Block","src":"32714:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29","id":22438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32764:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},"value":"log(string,uint256,uint256,bool)"},{"id":22439,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22426,"src":"32800:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22440,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22428,"src":"32804:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22441,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22430,"src":"32808:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22442,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22432,"src":"32812:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32740:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32744:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32740:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32740:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"32724:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32724:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22445,"nodeType":"ExpressionStatement","src":"32724:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32645:3:18","parameters":{"id":22433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22426,"mutability":"mutable","name":"p0","nameLocation":"32663:2:18","nodeType":"VariableDeclaration","scope":22447,"src":"32649:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22425,"name":"string","nodeType":"ElementaryTypeName","src":"32649:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22428,"mutability":"mutable","name":"p1","nameLocation":"32675:2:18","nodeType":"VariableDeclaration","scope":22447,"src":"32667:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22427,"name":"uint256","nodeType":"ElementaryTypeName","src":"32667:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22430,"mutability":"mutable","name":"p2","nameLocation":"32687:2:18","nodeType":"VariableDeclaration","scope":22447,"src":"32679:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22429,"name":"uint256","nodeType":"ElementaryTypeName","src":"32679:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22432,"mutability":"mutable","name":"p3","nameLocation":"32696:2:18","nodeType":"VariableDeclaration","scope":22447,"src":"32691:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22431,"name":"bool","nodeType":"ElementaryTypeName","src":"32691:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32648:51:18"},"returnParameters":{"id":22434,"nodeType":"ParameterList","parameters":[],"src":"32714:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22470,"nodeType":"FunctionDefinition","src":"32829:193:18","nodes":[],"body":{"id":22469,"nodeType":"Block","src":"32910:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329","id":22461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32960:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},"value":"log(string,uint256,uint256,address)"},{"id":22462,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22449,"src":"32999:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22463,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22451,"src":"33003:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22464,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22453,"src":"33007:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22465,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22455,"src":"33011:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22459,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32936:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32940:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32936:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32936:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22458,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"32920:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32920:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22468,"nodeType":"ExpressionStatement","src":"32920:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32838:3:18","parameters":{"id":22456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22449,"mutability":"mutable","name":"p0","nameLocation":"32856:2:18","nodeType":"VariableDeclaration","scope":22470,"src":"32842:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22448,"name":"string","nodeType":"ElementaryTypeName","src":"32842:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22451,"mutability":"mutable","name":"p1","nameLocation":"32868:2:18","nodeType":"VariableDeclaration","scope":22470,"src":"32860:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22450,"name":"uint256","nodeType":"ElementaryTypeName","src":"32860:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22453,"mutability":"mutable","name":"p2","nameLocation":"32880:2:18","nodeType":"VariableDeclaration","scope":22470,"src":"32872:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22452,"name":"uint256","nodeType":"ElementaryTypeName","src":"32872:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22455,"mutability":"mutable","name":"p3","nameLocation":"32892:2:18","nodeType":"VariableDeclaration","scope":22470,"src":"32884:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22454,"name":"address","nodeType":"ElementaryTypeName","src":"32884:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32841:54:18"},"returnParameters":{"id":22457,"nodeType":"ParameterList","parameters":[],"src":"32910:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22493,"nodeType":"FunctionDefinition","src":"33028:198:18","nodes":[],"body":{"id":22492,"nodeType":"Block","src":"33115:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629","id":22484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33165:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},"value":"log(string,uint256,string,uint256)"},{"id":22485,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22472,"src":"33203:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22486,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22474,"src":"33207:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22487,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22476,"src":"33211:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22488,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22478,"src":"33215:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22482,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33141:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33145:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33141:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33141:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22481,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"33125:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33125:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22491,"nodeType":"ExpressionStatement","src":"33125:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33037:3:18","parameters":{"id":22479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22472,"mutability":"mutable","name":"p0","nameLocation":"33055:2:18","nodeType":"VariableDeclaration","scope":22493,"src":"33041:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22471,"name":"string","nodeType":"ElementaryTypeName","src":"33041:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22474,"mutability":"mutable","name":"p1","nameLocation":"33067:2:18","nodeType":"VariableDeclaration","scope":22493,"src":"33059:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22473,"name":"uint256","nodeType":"ElementaryTypeName","src":"33059:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22476,"mutability":"mutable","name":"p2","nameLocation":"33085:2:18","nodeType":"VariableDeclaration","scope":22493,"src":"33071:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22475,"name":"string","nodeType":"ElementaryTypeName","src":"33071:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22478,"mutability":"mutable","name":"p3","nameLocation":"33097:2:18","nodeType":"VariableDeclaration","scope":22493,"src":"33089:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22477,"name":"uint256","nodeType":"ElementaryTypeName","src":"33089:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33040:60:18"},"returnParameters":{"id":22480,"nodeType":"ParameterList","parameters":[],"src":"33115:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22516,"nodeType":"FunctionDefinition","src":"33232:203:18","nodes":[],"body":{"id":22515,"nodeType":"Block","src":"33325:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729","id":22507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33375:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},"value":"log(string,uint256,string,string)"},{"id":22508,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22495,"src":"33412:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22509,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22497,"src":"33416:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22510,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22499,"src":"33420:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22511,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22501,"src":"33424:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22505,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33351:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33355:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33351:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33351:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22504,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"33335:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33335:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22514,"nodeType":"ExpressionStatement","src":"33335:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33241:3:18","parameters":{"id":22502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22495,"mutability":"mutable","name":"p0","nameLocation":"33259:2:18","nodeType":"VariableDeclaration","scope":22516,"src":"33245:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22494,"name":"string","nodeType":"ElementaryTypeName","src":"33245:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22497,"mutability":"mutable","name":"p1","nameLocation":"33271:2:18","nodeType":"VariableDeclaration","scope":22516,"src":"33263:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22496,"name":"uint256","nodeType":"ElementaryTypeName","src":"33263:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22499,"mutability":"mutable","name":"p2","nameLocation":"33289:2:18","nodeType":"VariableDeclaration","scope":22516,"src":"33275:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22498,"name":"string","nodeType":"ElementaryTypeName","src":"33275:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22501,"mutability":"mutable","name":"p3","nameLocation":"33307:2:18","nodeType":"VariableDeclaration","scope":22516,"src":"33293:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22500,"name":"string","nodeType":"ElementaryTypeName","src":"33293:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33244:66:18"},"returnParameters":{"id":22503,"nodeType":"ParameterList","parameters":[],"src":"33325:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22539,"nodeType":"FunctionDefinition","src":"33441:192:18","nodes":[],"body":{"id":22538,"nodeType":"Block","src":"33525:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29","id":22530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33575:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},"value":"log(string,uint256,string,bool)"},{"id":22531,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22518,"src":"33610:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22532,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22520,"src":"33614:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22533,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22522,"src":"33618:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22534,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22524,"src":"33622:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22528,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33551:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33555:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33551:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33551:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22527,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"33535:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33535:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22537,"nodeType":"ExpressionStatement","src":"33535:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33450:3:18","parameters":{"id":22525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22518,"mutability":"mutable","name":"p0","nameLocation":"33468:2:18","nodeType":"VariableDeclaration","scope":22539,"src":"33454:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22517,"name":"string","nodeType":"ElementaryTypeName","src":"33454:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22520,"mutability":"mutable","name":"p1","nameLocation":"33480:2:18","nodeType":"VariableDeclaration","scope":22539,"src":"33472:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22519,"name":"uint256","nodeType":"ElementaryTypeName","src":"33472:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22522,"mutability":"mutable","name":"p2","nameLocation":"33498:2:18","nodeType":"VariableDeclaration","scope":22539,"src":"33484:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22521,"name":"string","nodeType":"ElementaryTypeName","src":"33484:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22524,"mutability":"mutable","name":"p3","nameLocation":"33507:2:18","nodeType":"VariableDeclaration","scope":22539,"src":"33502:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22523,"name":"bool","nodeType":"ElementaryTypeName","src":"33502:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33453:57:18"},"returnParameters":{"id":22526,"nodeType":"ParameterList","parameters":[],"src":"33525:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22562,"nodeType":"FunctionDefinition","src":"33639:198:18","nodes":[],"body":{"id":22561,"nodeType":"Block","src":"33726:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329","id":22553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33776:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},"value":"log(string,uint256,string,address)"},{"id":22554,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22541,"src":"33814:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22555,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22543,"src":"33818:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22556,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22545,"src":"33822:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22557,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22547,"src":"33826:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33752:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33756:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33752:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33752:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22550,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"33736:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33736:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22560,"nodeType":"ExpressionStatement","src":"33736:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33648:3:18","parameters":{"id":22548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22541,"mutability":"mutable","name":"p0","nameLocation":"33666:2:18","nodeType":"VariableDeclaration","scope":22562,"src":"33652:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22540,"name":"string","nodeType":"ElementaryTypeName","src":"33652:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22543,"mutability":"mutable","name":"p1","nameLocation":"33678:2:18","nodeType":"VariableDeclaration","scope":22562,"src":"33670:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22542,"name":"uint256","nodeType":"ElementaryTypeName","src":"33670:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22545,"mutability":"mutable","name":"p2","nameLocation":"33696:2:18","nodeType":"VariableDeclaration","scope":22562,"src":"33682:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22544,"name":"string","nodeType":"ElementaryTypeName","src":"33682:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22547,"mutability":"mutable","name":"p3","nameLocation":"33708:2:18","nodeType":"VariableDeclaration","scope":22562,"src":"33700:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22546,"name":"address","nodeType":"ElementaryTypeName","src":"33700:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33651:60:18"},"returnParameters":{"id":22549,"nodeType":"ParameterList","parameters":[],"src":"33726:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22585,"nodeType":"FunctionDefinition","src":"33843:187:18","nodes":[],"body":{"id":22584,"nodeType":"Block","src":"33921:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629","id":22576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33971:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},"value":"log(string,uint256,bool,uint256)"},{"id":22577,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22564,"src":"34007:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22578,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22566,"src":"34011:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22579,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22568,"src":"34015:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22580,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22570,"src":"34019:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22574,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33947:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33951:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33947:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33947:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22573,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"33931:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33931:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22583,"nodeType":"ExpressionStatement","src":"33931:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33852:3:18","parameters":{"id":22571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22564,"mutability":"mutable","name":"p0","nameLocation":"33870:2:18","nodeType":"VariableDeclaration","scope":22585,"src":"33856:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22563,"name":"string","nodeType":"ElementaryTypeName","src":"33856:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22566,"mutability":"mutable","name":"p1","nameLocation":"33882:2:18","nodeType":"VariableDeclaration","scope":22585,"src":"33874:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22565,"name":"uint256","nodeType":"ElementaryTypeName","src":"33874:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22568,"mutability":"mutable","name":"p2","nameLocation":"33891:2:18","nodeType":"VariableDeclaration","scope":22585,"src":"33886:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22567,"name":"bool","nodeType":"ElementaryTypeName","src":"33886:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22570,"mutability":"mutable","name":"p3","nameLocation":"33903:2:18","nodeType":"VariableDeclaration","scope":22585,"src":"33895:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22569,"name":"uint256","nodeType":"ElementaryTypeName","src":"33895:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33855:51:18"},"returnParameters":{"id":22572,"nodeType":"ParameterList","parameters":[],"src":"33921:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22608,"nodeType":"FunctionDefinition","src":"34036:192:18","nodes":[],"body":{"id":22607,"nodeType":"Block","src":"34120:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729","id":22599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34170:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},"value":"log(string,uint256,bool,string)"},{"id":22600,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22587,"src":"34205:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22601,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22589,"src":"34209:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22602,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22591,"src":"34213:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22603,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22593,"src":"34217:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22597,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34146:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34150:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34146:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34146:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22596,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"34130:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34130:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22606,"nodeType":"ExpressionStatement","src":"34130:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34045:3:18","parameters":{"id":22594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22587,"mutability":"mutable","name":"p0","nameLocation":"34063:2:18","nodeType":"VariableDeclaration","scope":22608,"src":"34049:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22586,"name":"string","nodeType":"ElementaryTypeName","src":"34049:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22589,"mutability":"mutable","name":"p1","nameLocation":"34075:2:18","nodeType":"VariableDeclaration","scope":22608,"src":"34067:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22588,"name":"uint256","nodeType":"ElementaryTypeName","src":"34067:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22591,"mutability":"mutable","name":"p2","nameLocation":"34084:2:18","nodeType":"VariableDeclaration","scope":22608,"src":"34079:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22590,"name":"bool","nodeType":"ElementaryTypeName","src":"34079:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22593,"mutability":"mutable","name":"p3","nameLocation":"34102:2:18","nodeType":"VariableDeclaration","scope":22608,"src":"34088:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22592,"name":"string","nodeType":"ElementaryTypeName","src":"34088:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34048:57:18"},"returnParameters":{"id":22595,"nodeType":"ParameterList","parameters":[],"src":"34120:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22631,"nodeType":"FunctionDefinition","src":"34234:181:18","nodes":[],"body":{"id":22630,"nodeType":"Block","src":"34309:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29","id":22622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34359:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},"value":"log(string,uint256,bool,bool)"},{"id":22623,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22610,"src":"34392:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22624,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22612,"src":"34396:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22625,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22614,"src":"34400:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22626,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22616,"src":"34404:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22620,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34335:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34339:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34335:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34335:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22619,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"34319:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34319:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22629,"nodeType":"ExpressionStatement","src":"34319:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34243:3:18","parameters":{"id":22617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22610,"mutability":"mutable","name":"p0","nameLocation":"34261:2:18","nodeType":"VariableDeclaration","scope":22631,"src":"34247:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22609,"name":"string","nodeType":"ElementaryTypeName","src":"34247:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22612,"mutability":"mutable","name":"p1","nameLocation":"34273:2:18","nodeType":"VariableDeclaration","scope":22631,"src":"34265:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22611,"name":"uint256","nodeType":"ElementaryTypeName","src":"34265:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22614,"mutability":"mutable","name":"p2","nameLocation":"34282:2:18","nodeType":"VariableDeclaration","scope":22631,"src":"34277:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22613,"name":"bool","nodeType":"ElementaryTypeName","src":"34277:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22616,"mutability":"mutable","name":"p3","nameLocation":"34291:2:18","nodeType":"VariableDeclaration","scope":22631,"src":"34286:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22615,"name":"bool","nodeType":"ElementaryTypeName","src":"34286:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34246:48:18"},"returnParameters":{"id":22618,"nodeType":"ParameterList","parameters":[],"src":"34309:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22654,"nodeType":"FunctionDefinition","src":"34421:187:18","nodes":[],"body":{"id":22653,"nodeType":"Block","src":"34499:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329","id":22645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34549:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},"value":"log(string,uint256,bool,address)"},{"id":22646,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22633,"src":"34585:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22647,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22635,"src":"34589:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22648,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22637,"src":"34593:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22649,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22639,"src":"34597:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22643,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34525:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34529:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34525:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34525:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22642,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"34509:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34509:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22652,"nodeType":"ExpressionStatement","src":"34509:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34430:3:18","parameters":{"id":22640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22633,"mutability":"mutable","name":"p0","nameLocation":"34448:2:18","nodeType":"VariableDeclaration","scope":22654,"src":"34434:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22632,"name":"string","nodeType":"ElementaryTypeName","src":"34434:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22635,"mutability":"mutable","name":"p1","nameLocation":"34460:2:18","nodeType":"VariableDeclaration","scope":22654,"src":"34452:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22634,"name":"uint256","nodeType":"ElementaryTypeName","src":"34452:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22637,"mutability":"mutable","name":"p2","nameLocation":"34469:2:18","nodeType":"VariableDeclaration","scope":22654,"src":"34464:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22636,"name":"bool","nodeType":"ElementaryTypeName","src":"34464:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22639,"mutability":"mutable","name":"p3","nameLocation":"34481:2:18","nodeType":"VariableDeclaration","scope":22654,"src":"34473:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22638,"name":"address","nodeType":"ElementaryTypeName","src":"34473:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34433:51:18"},"returnParameters":{"id":22641,"nodeType":"ParameterList","parameters":[],"src":"34499:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22677,"nodeType":"FunctionDefinition","src":"34614:193:18","nodes":[],"body":{"id":22676,"nodeType":"Block","src":"34695:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629","id":22668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34745:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},"value":"log(string,uint256,address,uint256)"},{"id":22669,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22656,"src":"34784:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22670,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22658,"src":"34788:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22671,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22660,"src":"34792:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22672,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22662,"src":"34796:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22666,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34721:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34725:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34721:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34721:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22665,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"34705:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34705:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22675,"nodeType":"ExpressionStatement","src":"34705:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34623:3:18","parameters":{"id":22663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22656,"mutability":"mutable","name":"p0","nameLocation":"34641:2:18","nodeType":"VariableDeclaration","scope":22677,"src":"34627:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22655,"name":"string","nodeType":"ElementaryTypeName","src":"34627:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22658,"mutability":"mutable","name":"p1","nameLocation":"34653:2:18","nodeType":"VariableDeclaration","scope":22677,"src":"34645:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22657,"name":"uint256","nodeType":"ElementaryTypeName","src":"34645:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22660,"mutability":"mutable","name":"p2","nameLocation":"34665:2:18","nodeType":"VariableDeclaration","scope":22677,"src":"34657:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22659,"name":"address","nodeType":"ElementaryTypeName","src":"34657:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22662,"mutability":"mutable","name":"p3","nameLocation":"34677:2:18","nodeType":"VariableDeclaration","scope":22677,"src":"34669:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22661,"name":"uint256","nodeType":"ElementaryTypeName","src":"34669:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34626:54:18"},"returnParameters":{"id":22664,"nodeType":"ParameterList","parameters":[],"src":"34695:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22700,"nodeType":"FunctionDefinition","src":"34813:198:18","nodes":[],"body":{"id":22699,"nodeType":"Block","src":"34900:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729","id":22691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34950:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},"value":"log(string,uint256,address,string)"},{"id":22692,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22679,"src":"34988:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22693,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22681,"src":"34992:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22694,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22683,"src":"34996:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22695,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22685,"src":"35000:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22689,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34926:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34930:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34926:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34926:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22688,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"34910:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34910:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22698,"nodeType":"ExpressionStatement","src":"34910:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34822:3:18","parameters":{"id":22686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22679,"mutability":"mutable","name":"p0","nameLocation":"34840:2:18","nodeType":"VariableDeclaration","scope":22700,"src":"34826:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22678,"name":"string","nodeType":"ElementaryTypeName","src":"34826:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22681,"mutability":"mutable","name":"p1","nameLocation":"34852:2:18","nodeType":"VariableDeclaration","scope":22700,"src":"34844:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22680,"name":"uint256","nodeType":"ElementaryTypeName","src":"34844:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22683,"mutability":"mutable","name":"p2","nameLocation":"34864:2:18","nodeType":"VariableDeclaration","scope":22700,"src":"34856:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22682,"name":"address","nodeType":"ElementaryTypeName","src":"34856:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22685,"mutability":"mutable","name":"p3","nameLocation":"34882:2:18","nodeType":"VariableDeclaration","scope":22700,"src":"34868:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22684,"name":"string","nodeType":"ElementaryTypeName","src":"34868:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34825:60:18"},"returnParameters":{"id":22687,"nodeType":"ParameterList","parameters":[],"src":"34900:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22723,"nodeType":"FunctionDefinition","src":"35017:187:18","nodes":[],"body":{"id":22722,"nodeType":"Block","src":"35095:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29","id":22714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35145:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},"value":"log(string,uint256,address,bool)"},{"id":22715,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22702,"src":"35181:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22716,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22704,"src":"35185:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22717,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22706,"src":"35189:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22718,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22708,"src":"35193:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22712,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35121:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35125:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35121:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35121:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22711,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"35105:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35105:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22721,"nodeType":"ExpressionStatement","src":"35105:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35026:3:18","parameters":{"id":22709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22702,"mutability":"mutable","name":"p0","nameLocation":"35044:2:18","nodeType":"VariableDeclaration","scope":22723,"src":"35030:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22701,"name":"string","nodeType":"ElementaryTypeName","src":"35030:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22704,"mutability":"mutable","name":"p1","nameLocation":"35056:2:18","nodeType":"VariableDeclaration","scope":22723,"src":"35048:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22703,"name":"uint256","nodeType":"ElementaryTypeName","src":"35048:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22706,"mutability":"mutable","name":"p2","nameLocation":"35068:2:18","nodeType":"VariableDeclaration","scope":22723,"src":"35060:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22705,"name":"address","nodeType":"ElementaryTypeName","src":"35060:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22708,"mutability":"mutable","name":"p3","nameLocation":"35077:2:18","nodeType":"VariableDeclaration","scope":22723,"src":"35072:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22707,"name":"bool","nodeType":"ElementaryTypeName","src":"35072:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35029:51:18"},"returnParameters":{"id":22710,"nodeType":"ParameterList","parameters":[],"src":"35095:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22746,"nodeType":"FunctionDefinition","src":"35210:193:18","nodes":[],"body":{"id":22745,"nodeType":"Block","src":"35291:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329","id":22737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35341:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},"value":"log(string,uint256,address,address)"},{"id":22738,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22725,"src":"35380:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22739,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22727,"src":"35384:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22740,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22729,"src":"35388:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22741,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22731,"src":"35392:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22735,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35317:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35321:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35317:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35317:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22734,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"35301:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35301:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22744,"nodeType":"ExpressionStatement","src":"35301:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35219:3:18","parameters":{"id":22732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22725,"mutability":"mutable","name":"p0","nameLocation":"35237:2:18","nodeType":"VariableDeclaration","scope":22746,"src":"35223:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22724,"name":"string","nodeType":"ElementaryTypeName","src":"35223:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22727,"mutability":"mutable","name":"p1","nameLocation":"35249:2:18","nodeType":"VariableDeclaration","scope":22746,"src":"35241:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22726,"name":"uint256","nodeType":"ElementaryTypeName","src":"35241:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22729,"mutability":"mutable","name":"p2","nameLocation":"35261:2:18","nodeType":"VariableDeclaration","scope":22746,"src":"35253:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22728,"name":"address","nodeType":"ElementaryTypeName","src":"35253:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22731,"mutability":"mutable","name":"p3","nameLocation":"35273:2:18","nodeType":"VariableDeclaration","scope":22746,"src":"35265:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22730,"name":"address","nodeType":"ElementaryTypeName","src":"35265:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35222:54:18"},"returnParameters":{"id":22733,"nodeType":"ParameterList","parameters":[],"src":"35291:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22769,"nodeType":"FunctionDefinition","src":"35409:198:18","nodes":[],"body":{"id":22768,"nodeType":"Block","src":"35496:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629","id":22760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35546:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},"value":"log(string,string,uint256,uint256)"},{"id":22761,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22748,"src":"35584:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22762,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22750,"src":"35588:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22763,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22752,"src":"35592:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22764,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22754,"src":"35596:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35522:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35526:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35522:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35522:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"35506:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35506:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22767,"nodeType":"ExpressionStatement","src":"35506:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35418:3:18","parameters":{"id":22755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22748,"mutability":"mutable","name":"p0","nameLocation":"35436:2:18","nodeType":"VariableDeclaration","scope":22769,"src":"35422:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22747,"name":"string","nodeType":"ElementaryTypeName","src":"35422:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22750,"mutability":"mutable","name":"p1","nameLocation":"35454:2:18","nodeType":"VariableDeclaration","scope":22769,"src":"35440:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22749,"name":"string","nodeType":"ElementaryTypeName","src":"35440:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22752,"mutability":"mutable","name":"p2","nameLocation":"35466:2:18","nodeType":"VariableDeclaration","scope":22769,"src":"35458:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22751,"name":"uint256","nodeType":"ElementaryTypeName","src":"35458:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22754,"mutability":"mutable","name":"p3","nameLocation":"35478:2:18","nodeType":"VariableDeclaration","scope":22769,"src":"35470:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22753,"name":"uint256","nodeType":"ElementaryTypeName","src":"35470:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35421:60:18"},"returnParameters":{"id":22756,"nodeType":"ParameterList","parameters":[],"src":"35496:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22792,"nodeType":"FunctionDefinition","src":"35613:203:18","nodes":[],"body":{"id":22791,"nodeType":"Block","src":"35706:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729","id":22783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35756:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},"value":"log(string,string,uint256,string)"},{"id":22784,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22771,"src":"35793:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22785,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22773,"src":"35797:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22786,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22775,"src":"35801:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22787,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22777,"src":"35805:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35732:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35736:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35732:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35732:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"35716:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35716:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22790,"nodeType":"ExpressionStatement","src":"35716:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35622:3:18","parameters":{"id":22778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22771,"mutability":"mutable","name":"p0","nameLocation":"35640:2:18","nodeType":"VariableDeclaration","scope":22792,"src":"35626:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22770,"name":"string","nodeType":"ElementaryTypeName","src":"35626:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22773,"mutability":"mutable","name":"p1","nameLocation":"35658:2:18","nodeType":"VariableDeclaration","scope":22792,"src":"35644:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22772,"name":"string","nodeType":"ElementaryTypeName","src":"35644:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22775,"mutability":"mutable","name":"p2","nameLocation":"35670:2:18","nodeType":"VariableDeclaration","scope":22792,"src":"35662:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22774,"name":"uint256","nodeType":"ElementaryTypeName","src":"35662:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22777,"mutability":"mutable","name":"p3","nameLocation":"35688:2:18","nodeType":"VariableDeclaration","scope":22792,"src":"35674:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22776,"name":"string","nodeType":"ElementaryTypeName","src":"35674:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35625:66:18"},"returnParameters":{"id":22779,"nodeType":"ParameterList","parameters":[],"src":"35706:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22815,"nodeType":"FunctionDefinition","src":"35822:192:18","nodes":[],"body":{"id":22814,"nodeType":"Block","src":"35906:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29","id":22806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35956:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},"value":"log(string,string,uint256,bool)"},{"id":22807,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22794,"src":"35991:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22808,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22796,"src":"35995:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22809,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22798,"src":"35999:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22810,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22800,"src":"36003:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35932:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35936:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35932:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35932:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"35916:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35916:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22813,"nodeType":"ExpressionStatement","src":"35916:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35831:3:18","parameters":{"id":22801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22794,"mutability":"mutable","name":"p0","nameLocation":"35849:2:18","nodeType":"VariableDeclaration","scope":22815,"src":"35835:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22793,"name":"string","nodeType":"ElementaryTypeName","src":"35835:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22796,"mutability":"mutable","name":"p1","nameLocation":"35867:2:18","nodeType":"VariableDeclaration","scope":22815,"src":"35853:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22795,"name":"string","nodeType":"ElementaryTypeName","src":"35853:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22798,"mutability":"mutable","name":"p2","nameLocation":"35879:2:18","nodeType":"VariableDeclaration","scope":22815,"src":"35871:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22797,"name":"uint256","nodeType":"ElementaryTypeName","src":"35871:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22800,"mutability":"mutable","name":"p3","nameLocation":"35888:2:18","nodeType":"VariableDeclaration","scope":22815,"src":"35883:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22799,"name":"bool","nodeType":"ElementaryTypeName","src":"35883:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35834:57:18"},"returnParameters":{"id":22802,"nodeType":"ParameterList","parameters":[],"src":"35906:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22838,"nodeType":"FunctionDefinition","src":"36020:198:18","nodes":[],"body":{"id":22837,"nodeType":"Block","src":"36107:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329","id":22829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36157:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},"value":"log(string,string,uint256,address)"},{"id":22830,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22817,"src":"36195:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22831,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22819,"src":"36199:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22832,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22821,"src":"36203:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22833,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22823,"src":"36207:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22827,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36133:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36137:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36133:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36133:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22826,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"36117:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36117:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22836,"nodeType":"ExpressionStatement","src":"36117:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36029:3:18","parameters":{"id":22824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22817,"mutability":"mutable","name":"p0","nameLocation":"36047:2:18","nodeType":"VariableDeclaration","scope":22838,"src":"36033:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22816,"name":"string","nodeType":"ElementaryTypeName","src":"36033:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22819,"mutability":"mutable","name":"p1","nameLocation":"36065:2:18","nodeType":"VariableDeclaration","scope":22838,"src":"36051:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22818,"name":"string","nodeType":"ElementaryTypeName","src":"36051:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22821,"mutability":"mutable","name":"p2","nameLocation":"36077:2:18","nodeType":"VariableDeclaration","scope":22838,"src":"36069:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22820,"name":"uint256","nodeType":"ElementaryTypeName","src":"36069:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22823,"mutability":"mutable","name":"p3","nameLocation":"36089:2:18","nodeType":"VariableDeclaration","scope":22838,"src":"36081:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22822,"name":"address","nodeType":"ElementaryTypeName","src":"36081:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36032:60:18"},"returnParameters":{"id":22825,"nodeType":"ParameterList","parameters":[],"src":"36107:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22861,"nodeType":"FunctionDefinition","src":"36224:203:18","nodes":[],"body":{"id":22860,"nodeType":"Block","src":"36317:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629","id":22852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36367:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},"value":"log(string,string,string,uint256)"},{"id":22853,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22840,"src":"36404:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22854,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22842,"src":"36408:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22855,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22844,"src":"36412:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22856,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22846,"src":"36416:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36343:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36347:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36343:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36343:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22849,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"36327:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36327:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22859,"nodeType":"ExpressionStatement","src":"36327:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36233:3:18","parameters":{"id":22847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22840,"mutability":"mutable","name":"p0","nameLocation":"36251:2:18","nodeType":"VariableDeclaration","scope":22861,"src":"36237:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22839,"name":"string","nodeType":"ElementaryTypeName","src":"36237:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22842,"mutability":"mutable","name":"p1","nameLocation":"36269:2:18","nodeType":"VariableDeclaration","scope":22861,"src":"36255:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22841,"name":"string","nodeType":"ElementaryTypeName","src":"36255:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22844,"mutability":"mutable","name":"p2","nameLocation":"36287:2:18","nodeType":"VariableDeclaration","scope":22861,"src":"36273:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22843,"name":"string","nodeType":"ElementaryTypeName","src":"36273:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22846,"mutability":"mutable","name":"p3","nameLocation":"36299:2:18","nodeType":"VariableDeclaration","scope":22861,"src":"36291:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22845,"name":"uint256","nodeType":"ElementaryTypeName","src":"36291:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36236:66:18"},"returnParameters":{"id":22848,"nodeType":"ParameterList","parameters":[],"src":"36317:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22884,"nodeType":"FunctionDefinition","src":"36433:208:18","nodes":[],"body":{"id":22883,"nodeType":"Block","src":"36532:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":22875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36582:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":22876,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22863,"src":"36618:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22877,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22865,"src":"36622:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22878,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22867,"src":"36626:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22879,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22869,"src":"36630:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22873,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36558:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36562:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36558:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36558:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22872,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"36542:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36542:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22882,"nodeType":"ExpressionStatement","src":"36542:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36442:3:18","parameters":{"id":22870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22863,"mutability":"mutable","name":"p0","nameLocation":"36460:2:18","nodeType":"VariableDeclaration","scope":22884,"src":"36446:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22862,"name":"string","nodeType":"ElementaryTypeName","src":"36446:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22865,"mutability":"mutable","name":"p1","nameLocation":"36478:2:18","nodeType":"VariableDeclaration","scope":22884,"src":"36464:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22864,"name":"string","nodeType":"ElementaryTypeName","src":"36464:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22867,"mutability":"mutable","name":"p2","nameLocation":"36496:2:18","nodeType":"VariableDeclaration","scope":22884,"src":"36482:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22866,"name":"string","nodeType":"ElementaryTypeName","src":"36482:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22869,"mutability":"mutable","name":"p3","nameLocation":"36514:2:18","nodeType":"VariableDeclaration","scope":22884,"src":"36500:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22868,"name":"string","nodeType":"ElementaryTypeName","src":"36500:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36445:72:18"},"returnParameters":{"id":22871,"nodeType":"ParameterList","parameters":[],"src":"36532:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22907,"nodeType":"FunctionDefinition","src":"36647:197:18","nodes":[],"body":{"id":22906,"nodeType":"Block","src":"36737:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":22898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36787:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":22899,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22886,"src":"36821:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22900,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22888,"src":"36825:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22901,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22890,"src":"36829:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22902,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22892,"src":"36833:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36763:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36767:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36763:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36763:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"36747:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36747:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22905,"nodeType":"ExpressionStatement","src":"36747:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36656:3:18","parameters":{"id":22893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22886,"mutability":"mutable","name":"p0","nameLocation":"36674:2:18","nodeType":"VariableDeclaration","scope":22907,"src":"36660:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22885,"name":"string","nodeType":"ElementaryTypeName","src":"36660:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22888,"mutability":"mutable","name":"p1","nameLocation":"36692:2:18","nodeType":"VariableDeclaration","scope":22907,"src":"36678:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22887,"name":"string","nodeType":"ElementaryTypeName","src":"36678:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22890,"mutability":"mutable","name":"p2","nameLocation":"36710:2:18","nodeType":"VariableDeclaration","scope":22907,"src":"36696:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22889,"name":"string","nodeType":"ElementaryTypeName","src":"36696:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22892,"mutability":"mutable","name":"p3","nameLocation":"36719:2:18","nodeType":"VariableDeclaration","scope":22907,"src":"36714:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22891,"name":"bool","nodeType":"ElementaryTypeName","src":"36714:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36659:63:18"},"returnParameters":{"id":22894,"nodeType":"ParameterList","parameters":[],"src":"36737:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22930,"nodeType":"FunctionDefinition","src":"36850:203:18","nodes":[],"body":{"id":22929,"nodeType":"Block","src":"36943:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":22921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36993:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":22922,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22909,"src":"37030:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22923,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22911,"src":"37034:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22924,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22913,"src":"37038:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22925,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22915,"src":"37042:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22919,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36969:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36973:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36969:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36969:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22918,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"36953:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36953:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22928,"nodeType":"ExpressionStatement","src":"36953:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36859:3:18","parameters":{"id":22916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22909,"mutability":"mutable","name":"p0","nameLocation":"36877:2:18","nodeType":"VariableDeclaration","scope":22930,"src":"36863:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22908,"name":"string","nodeType":"ElementaryTypeName","src":"36863:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22911,"mutability":"mutable","name":"p1","nameLocation":"36895:2:18","nodeType":"VariableDeclaration","scope":22930,"src":"36881:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22910,"name":"string","nodeType":"ElementaryTypeName","src":"36881:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22913,"mutability":"mutable","name":"p2","nameLocation":"36913:2:18","nodeType":"VariableDeclaration","scope":22930,"src":"36899:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22912,"name":"string","nodeType":"ElementaryTypeName","src":"36899:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22915,"mutability":"mutable","name":"p3","nameLocation":"36925:2:18","nodeType":"VariableDeclaration","scope":22930,"src":"36917:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22914,"name":"address","nodeType":"ElementaryTypeName","src":"36917:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36862:66:18"},"returnParameters":{"id":22917,"nodeType":"ParameterList","parameters":[],"src":"36943:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22953,"nodeType":"FunctionDefinition","src":"37059:192:18","nodes":[],"body":{"id":22952,"nodeType":"Block","src":"37143:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629","id":22944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37193:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},"value":"log(string,string,bool,uint256)"},{"id":22945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22932,"src":"37228:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22934,"src":"37232:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22947,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22936,"src":"37236:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22948,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22938,"src":"37240:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37169:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37173:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37169:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37169:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"37153:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37153:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22951,"nodeType":"ExpressionStatement","src":"37153:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37068:3:18","parameters":{"id":22939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22932,"mutability":"mutable","name":"p0","nameLocation":"37086:2:18","nodeType":"VariableDeclaration","scope":22953,"src":"37072:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22931,"name":"string","nodeType":"ElementaryTypeName","src":"37072:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22934,"mutability":"mutable","name":"p1","nameLocation":"37104:2:18","nodeType":"VariableDeclaration","scope":22953,"src":"37090:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22933,"name":"string","nodeType":"ElementaryTypeName","src":"37090:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22936,"mutability":"mutable","name":"p2","nameLocation":"37113:2:18","nodeType":"VariableDeclaration","scope":22953,"src":"37108:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22935,"name":"bool","nodeType":"ElementaryTypeName","src":"37108:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22938,"mutability":"mutable","name":"p3","nameLocation":"37125:2:18","nodeType":"VariableDeclaration","scope":22953,"src":"37117:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22937,"name":"uint256","nodeType":"ElementaryTypeName","src":"37117:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37071:57:18"},"returnParameters":{"id":22940,"nodeType":"ParameterList","parameters":[],"src":"37143:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22976,"nodeType":"FunctionDefinition","src":"37257:197:18","nodes":[],"body":{"id":22975,"nodeType":"Block","src":"37347:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":22967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37397:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":22968,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22955,"src":"37431:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22969,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22957,"src":"37435:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22970,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22959,"src":"37439:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22971,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22961,"src":"37443:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22965,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37373:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37377:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37373:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37373:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22964,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"37357:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37357:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22974,"nodeType":"ExpressionStatement","src":"37357:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37266:3:18","parameters":{"id":22962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22955,"mutability":"mutable","name":"p0","nameLocation":"37284:2:18","nodeType":"VariableDeclaration","scope":22976,"src":"37270:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22954,"name":"string","nodeType":"ElementaryTypeName","src":"37270:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22957,"mutability":"mutable","name":"p1","nameLocation":"37302:2:18","nodeType":"VariableDeclaration","scope":22976,"src":"37288:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22956,"name":"string","nodeType":"ElementaryTypeName","src":"37288:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22959,"mutability":"mutable","name":"p2","nameLocation":"37311:2:18","nodeType":"VariableDeclaration","scope":22976,"src":"37306:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22958,"name":"bool","nodeType":"ElementaryTypeName","src":"37306:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22961,"mutability":"mutable","name":"p3","nameLocation":"37329:2:18","nodeType":"VariableDeclaration","scope":22976,"src":"37315:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22960,"name":"string","nodeType":"ElementaryTypeName","src":"37315:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37269:63:18"},"returnParameters":{"id":22963,"nodeType":"ParameterList","parameters":[],"src":"37347:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22999,"nodeType":"FunctionDefinition","src":"37460:186:18","nodes":[],"body":{"id":22998,"nodeType":"Block","src":"37541:105:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":22990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37591:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":22991,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22978,"src":"37623:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22992,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22980,"src":"37627:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22993,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22982,"src":"37631:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22994,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22984,"src":"37635:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22988,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37567:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37571:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37567:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37567:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22987,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"37551:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37551:88:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22997,"nodeType":"ExpressionStatement","src":"37551:88:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37469:3:18","parameters":{"id":22985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22978,"mutability":"mutable","name":"p0","nameLocation":"37487:2:18","nodeType":"VariableDeclaration","scope":22999,"src":"37473:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22977,"name":"string","nodeType":"ElementaryTypeName","src":"37473:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22980,"mutability":"mutable","name":"p1","nameLocation":"37505:2:18","nodeType":"VariableDeclaration","scope":22999,"src":"37491:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22979,"name":"string","nodeType":"ElementaryTypeName","src":"37491:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22982,"mutability":"mutable","name":"p2","nameLocation":"37514:2:18","nodeType":"VariableDeclaration","scope":22999,"src":"37509:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22981,"name":"bool","nodeType":"ElementaryTypeName","src":"37509:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22984,"mutability":"mutable","name":"p3","nameLocation":"37523:2:18","nodeType":"VariableDeclaration","scope":22999,"src":"37518:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22983,"name":"bool","nodeType":"ElementaryTypeName","src":"37518:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37472:54:18"},"returnParameters":{"id":22986,"nodeType":"ParameterList","parameters":[],"src":"37541:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23022,"nodeType":"FunctionDefinition","src":"37652:192:18","nodes":[],"body":{"id":23021,"nodeType":"Block","src":"37736:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":23013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37786:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":23014,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23001,"src":"37821:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23015,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23003,"src":"37825:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23016,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23005,"src":"37829:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23017,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23007,"src":"37833:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23011,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37762:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37766:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37762:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37762:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23010,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"37746:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37746:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23020,"nodeType":"ExpressionStatement","src":"37746:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37661:3:18","parameters":{"id":23008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23001,"mutability":"mutable","name":"p0","nameLocation":"37679:2:18","nodeType":"VariableDeclaration","scope":23022,"src":"37665:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23000,"name":"string","nodeType":"ElementaryTypeName","src":"37665:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23003,"mutability":"mutable","name":"p1","nameLocation":"37697:2:18","nodeType":"VariableDeclaration","scope":23022,"src":"37683:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23002,"name":"string","nodeType":"ElementaryTypeName","src":"37683:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23005,"mutability":"mutable","name":"p2","nameLocation":"37706:2:18","nodeType":"VariableDeclaration","scope":23022,"src":"37701:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23004,"name":"bool","nodeType":"ElementaryTypeName","src":"37701:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23007,"mutability":"mutable","name":"p3","nameLocation":"37718:2:18","nodeType":"VariableDeclaration","scope":23022,"src":"37710:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23006,"name":"address","nodeType":"ElementaryTypeName","src":"37710:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37664:57:18"},"returnParameters":{"id":23009,"nodeType":"ParameterList","parameters":[],"src":"37736:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23045,"nodeType":"FunctionDefinition","src":"37850:198:18","nodes":[],"body":{"id":23044,"nodeType":"Block","src":"37937:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629","id":23036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37987:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},"value":"log(string,string,address,uint256)"},{"id":23037,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23024,"src":"38025:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23038,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23026,"src":"38029:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23039,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23028,"src":"38033:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23040,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23030,"src":"38037:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23034,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37963:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37967:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37963:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37963:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23033,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"37947:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37947:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23043,"nodeType":"ExpressionStatement","src":"37947:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37859:3:18","parameters":{"id":23031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23024,"mutability":"mutable","name":"p0","nameLocation":"37877:2:18","nodeType":"VariableDeclaration","scope":23045,"src":"37863:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23023,"name":"string","nodeType":"ElementaryTypeName","src":"37863:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23026,"mutability":"mutable","name":"p1","nameLocation":"37895:2:18","nodeType":"VariableDeclaration","scope":23045,"src":"37881:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23025,"name":"string","nodeType":"ElementaryTypeName","src":"37881:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23028,"mutability":"mutable","name":"p2","nameLocation":"37907:2:18","nodeType":"VariableDeclaration","scope":23045,"src":"37899:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23027,"name":"address","nodeType":"ElementaryTypeName","src":"37899:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23030,"mutability":"mutable","name":"p3","nameLocation":"37919:2:18","nodeType":"VariableDeclaration","scope":23045,"src":"37911:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23029,"name":"uint256","nodeType":"ElementaryTypeName","src":"37911:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37862:60:18"},"returnParameters":{"id":23032,"nodeType":"ParameterList","parameters":[],"src":"37937:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23068,"nodeType":"FunctionDefinition","src":"38054:203:18","nodes":[],"body":{"id":23067,"nodeType":"Block","src":"38147:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":23059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38197:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":23060,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23047,"src":"38234:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23061,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23049,"src":"38238:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23062,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23051,"src":"38242:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23063,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23053,"src":"38246:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23057,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38173:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38177:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38173:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38173:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23056,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"38157:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38157:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23066,"nodeType":"ExpressionStatement","src":"38157:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38063:3:18","parameters":{"id":23054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23047,"mutability":"mutable","name":"p0","nameLocation":"38081:2:18","nodeType":"VariableDeclaration","scope":23068,"src":"38067:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23046,"name":"string","nodeType":"ElementaryTypeName","src":"38067:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23049,"mutability":"mutable","name":"p1","nameLocation":"38099:2:18","nodeType":"VariableDeclaration","scope":23068,"src":"38085:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23048,"name":"string","nodeType":"ElementaryTypeName","src":"38085:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23051,"mutability":"mutable","name":"p2","nameLocation":"38111:2:18","nodeType":"VariableDeclaration","scope":23068,"src":"38103:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23050,"name":"address","nodeType":"ElementaryTypeName","src":"38103:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23053,"mutability":"mutable","name":"p3","nameLocation":"38129:2:18","nodeType":"VariableDeclaration","scope":23068,"src":"38115:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23052,"name":"string","nodeType":"ElementaryTypeName","src":"38115:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38066:66:18"},"returnParameters":{"id":23055,"nodeType":"ParameterList","parameters":[],"src":"38147:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23091,"nodeType":"FunctionDefinition","src":"38263:192:18","nodes":[],"body":{"id":23090,"nodeType":"Block","src":"38347:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":23082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38397:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":23083,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23070,"src":"38432:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23084,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23072,"src":"38436:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23085,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23074,"src":"38440:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23086,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23076,"src":"38444:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23080,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38373:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38377:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38373:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38373:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23079,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"38357:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38357:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23089,"nodeType":"ExpressionStatement","src":"38357:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38272:3:18","parameters":{"id":23077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23070,"mutability":"mutable","name":"p0","nameLocation":"38290:2:18","nodeType":"VariableDeclaration","scope":23091,"src":"38276:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23069,"name":"string","nodeType":"ElementaryTypeName","src":"38276:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23072,"mutability":"mutable","name":"p1","nameLocation":"38308:2:18","nodeType":"VariableDeclaration","scope":23091,"src":"38294:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23071,"name":"string","nodeType":"ElementaryTypeName","src":"38294:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23074,"mutability":"mutable","name":"p2","nameLocation":"38320:2:18","nodeType":"VariableDeclaration","scope":23091,"src":"38312:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23073,"name":"address","nodeType":"ElementaryTypeName","src":"38312:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23076,"mutability":"mutable","name":"p3","nameLocation":"38329:2:18","nodeType":"VariableDeclaration","scope":23091,"src":"38324:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23075,"name":"bool","nodeType":"ElementaryTypeName","src":"38324:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38275:57:18"},"returnParameters":{"id":23078,"nodeType":"ParameterList","parameters":[],"src":"38347:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23114,"nodeType":"FunctionDefinition","src":"38461:198:18","nodes":[],"body":{"id":23113,"nodeType":"Block","src":"38548:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":23105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38598:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":23106,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23093,"src":"38636:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23107,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23095,"src":"38640:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23108,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23097,"src":"38644:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23109,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23099,"src":"38648:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23103,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38574:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38578:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38574:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38574:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23102,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"38558:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38558:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23112,"nodeType":"ExpressionStatement","src":"38558:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38470:3:18","parameters":{"id":23100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23093,"mutability":"mutable","name":"p0","nameLocation":"38488:2:18","nodeType":"VariableDeclaration","scope":23114,"src":"38474:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23092,"name":"string","nodeType":"ElementaryTypeName","src":"38474:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23095,"mutability":"mutable","name":"p1","nameLocation":"38506:2:18","nodeType":"VariableDeclaration","scope":23114,"src":"38492:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23094,"name":"string","nodeType":"ElementaryTypeName","src":"38492:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23097,"mutability":"mutable","name":"p2","nameLocation":"38518:2:18","nodeType":"VariableDeclaration","scope":23114,"src":"38510:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23096,"name":"address","nodeType":"ElementaryTypeName","src":"38510:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23099,"mutability":"mutable","name":"p3","nameLocation":"38530:2:18","nodeType":"VariableDeclaration","scope":23114,"src":"38522:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23098,"name":"address","nodeType":"ElementaryTypeName","src":"38522:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38473:60:18"},"returnParameters":{"id":23101,"nodeType":"ParameterList","parameters":[],"src":"38548:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23137,"nodeType":"FunctionDefinition","src":"38665:187:18","nodes":[],"body":{"id":23136,"nodeType":"Block","src":"38743:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629","id":23128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38793:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},"value":"log(string,bool,uint256,uint256)"},{"id":23129,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23116,"src":"38829:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23130,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23118,"src":"38833:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23131,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23120,"src":"38837:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23132,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23122,"src":"38841:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38769:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38773:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38769:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38769:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23125,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"38753:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38753:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23135,"nodeType":"ExpressionStatement","src":"38753:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38674:3:18","parameters":{"id":23123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23116,"mutability":"mutable","name":"p0","nameLocation":"38692:2:18","nodeType":"VariableDeclaration","scope":23137,"src":"38678:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23115,"name":"string","nodeType":"ElementaryTypeName","src":"38678:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23118,"mutability":"mutable","name":"p1","nameLocation":"38701:2:18","nodeType":"VariableDeclaration","scope":23137,"src":"38696:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23117,"name":"bool","nodeType":"ElementaryTypeName","src":"38696:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23120,"mutability":"mutable","name":"p2","nameLocation":"38713:2:18","nodeType":"VariableDeclaration","scope":23137,"src":"38705:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23119,"name":"uint256","nodeType":"ElementaryTypeName","src":"38705:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23122,"mutability":"mutable","name":"p3","nameLocation":"38725:2:18","nodeType":"VariableDeclaration","scope":23137,"src":"38717:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23121,"name":"uint256","nodeType":"ElementaryTypeName","src":"38717:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38677:51:18"},"returnParameters":{"id":23124,"nodeType":"ParameterList","parameters":[],"src":"38743:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23160,"nodeType":"FunctionDefinition","src":"38858:192:18","nodes":[],"body":{"id":23159,"nodeType":"Block","src":"38942:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729","id":23151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38992:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},"value":"log(string,bool,uint256,string)"},{"id":23152,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23139,"src":"39027:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23153,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23141,"src":"39031:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23154,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23143,"src":"39035:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23155,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23145,"src":"39039:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23149,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38968:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38972:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38968:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38968:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23148,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"38952:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38952:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23158,"nodeType":"ExpressionStatement","src":"38952:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38867:3:18","parameters":{"id":23146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23139,"mutability":"mutable","name":"p0","nameLocation":"38885:2:18","nodeType":"VariableDeclaration","scope":23160,"src":"38871:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23138,"name":"string","nodeType":"ElementaryTypeName","src":"38871:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23141,"mutability":"mutable","name":"p1","nameLocation":"38894:2:18","nodeType":"VariableDeclaration","scope":23160,"src":"38889:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23140,"name":"bool","nodeType":"ElementaryTypeName","src":"38889:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23143,"mutability":"mutable","name":"p2","nameLocation":"38906:2:18","nodeType":"VariableDeclaration","scope":23160,"src":"38898:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23142,"name":"uint256","nodeType":"ElementaryTypeName","src":"38898:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23145,"mutability":"mutable","name":"p3","nameLocation":"38924:2:18","nodeType":"VariableDeclaration","scope":23160,"src":"38910:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23144,"name":"string","nodeType":"ElementaryTypeName","src":"38910:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38870:57:18"},"returnParameters":{"id":23147,"nodeType":"ParameterList","parameters":[],"src":"38942:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23183,"nodeType":"FunctionDefinition","src":"39056:181:18","nodes":[],"body":{"id":23182,"nodeType":"Block","src":"39131:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29","id":23174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39181:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},"value":"log(string,bool,uint256,bool)"},{"id":23175,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23162,"src":"39214:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23176,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23164,"src":"39218:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23177,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23166,"src":"39222:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23178,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23168,"src":"39226:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23172,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39157:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39161:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39157:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39157:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23171,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"39141:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39141:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23181,"nodeType":"ExpressionStatement","src":"39141:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39065:3:18","parameters":{"id":23169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23162,"mutability":"mutable","name":"p0","nameLocation":"39083:2:18","nodeType":"VariableDeclaration","scope":23183,"src":"39069:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23161,"name":"string","nodeType":"ElementaryTypeName","src":"39069:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23164,"mutability":"mutable","name":"p1","nameLocation":"39092:2:18","nodeType":"VariableDeclaration","scope":23183,"src":"39087:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23163,"name":"bool","nodeType":"ElementaryTypeName","src":"39087:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23166,"mutability":"mutable","name":"p2","nameLocation":"39104:2:18","nodeType":"VariableDeclaration","scope":23183,"src":"39096:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23165,"name":"uint256","nodeType":"ElementaryTypeName","src":"39096:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23168,"mutability":"mutable","name":"p3","nameLocation":"39113:2:18","nodeType":"VariableDeclaration","scope":23183,"src":"39108:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23167,"name":"bool","nodeType":"ElementaryTypeName","src":"39108:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39068:48:18"},"returnParameters":{"id":23170,"nodeType":"ParameterList","parameters":[],"src":"39131:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23206,"nodeType":"FunctionDefinition","src":"39243:187:18","nodes":[],"body":{"id":23205,"nodeType":"Block","src":"39321:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329","id":23197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39371:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},"value":"log(string,bool,uint256,address)"},{"id":23198,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23185,"src":"39407:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23199,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23187,"src":"39411:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23200,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23189,"src":"39415:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23201,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23191,"src":"39419:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23195,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39347:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39351:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39347:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39347:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23194,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"39331:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39331:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23204,"nodeType":"ExpressionStatement","src":"39331:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39252:3:18","parameters":{"id":23192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23185,"mutability":"mutable","name":"p0","nameLocation":"39270:2:18","nodeType":"VariableDeclaration","scope":23206,"src":"39256:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23184,"name":"string","nodeType":"ElementaryTypeName","src":"39256:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23187,"mutability":"mutable","name":"p1","nameLocation":"39279:2:18","nodeType":"VariableDeclaration","scope":23206,"src":"39274:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23186,"name":"bool","nodeType":"ElementaryTypeName","src":"39274:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23189,"mutability":"mutable","name":"p2","nameLocation":"39291:2:18","nodeType":"VariableDeclaration","scope":23206,"src":"39283:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23188,"name":"uint256","nodeType":"ElementaryTypeName","src":"39283:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23191,"mutability":"mutable","name":"p3","nameLocation":"39303:2:18","nodeType":"VariableDeclaration","scope":23206,"src":"39295:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23190,"name":"address","nodeType":"ElementaryTypeName","src":"39295:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39255:51:18"},"returnParameters":{"id":23193,"nodeType":"ParameterList","parameters":[],"src":"39321:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23229,"nodeType":"FunctionDefinition","src":"39436:192:18","nodes":[],"body":{"id":23228,"nodeType":"Block","src":"39520:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629","id":23220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39570:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},"value":"log(string,bool,string,uint256)"},{"id":23221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23208,"src":"39605:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23210,"src":"39609:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23212,"src":"39613:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23224,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23214,"src":"39617:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39546:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39550:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39546:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39546:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"39530:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39530:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23227,"nodeType":"ExpressionStatement","src":"39530:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39445:3:18","parameters":{"id":23215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23208,"mutability":"mutable","name":"p0","nameLocation":"39463:2:18","nodeType":"VariableDeclaration","scope":23229,"src":"39449:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23207,"name":"string","nodeType":"ElementaryTypeName","src":"39449:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23210,"mutability":"mutable","name":"p1","nameLocation":"39472:2:18","nodeType":"VariableDeclaration","scope":23229,"src":"39467:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23209,"name":"bool","nodeType":"ElementaryTypeName","src":"39467:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23212,"mutability":"mutable","name":"p2","nameLocation":"39490:2:18","nodeType":"VariableDeclaration","scope":23229,"src":"39476:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23211,"name":"string","nodeType":"ElementaryTypeName","src":"39476:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23214,"mutability":"mutable","name":"p3","nameLocation":"39502:2:18","nodeType":"VariableDeclaration","scope":23229,"src":"39494:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23213,"name":"uint256","nodeType":"ElementaryTypeName","src":"39494:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39448:57:18"},"returnParameters":{"id":23216,"nodeType":"ParameterList","parameters":[],"src":"39520:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23252,"nodeType":"FunctionDefinition","src":"39634:197:18","nodes":[],"body":{"id":23251,"nodeType":"Block","src":"39724:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":23243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39774:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":23244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"39808:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23245,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23233,"src":"39812:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23246,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23235,"src":"39816:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23247,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23237,"src":"39820:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39750:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39754:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39750:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39750:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"39734:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39734:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23250,"nodeType":"ExpressionStatement","src":"39734:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39643:3:18","parameters":{"id":23238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23231,"mutability":"mutable","name":"p0","nameLocation":"39661:2:18","nodeType":"VariableDeclaration","scope":23252,"src":"39647:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23230,"name":"string","nodeType":"ElementaryTypeName","src":"39647:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23233,"mutability":"mutable","name":"p1","nameLocation":"39670:2:18","nodeType":"VariableDeclaration","scope":23252,"src":"39665:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23232,"name":"bool","nodeType":"ElementaryTypeName","src":"39665:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23235,"mutability":"mutable","name":"p2","nameLocation":"39688:2:18","nodeType":"VariableDeclaration","scope":23252,"src":"39674:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23234,"name":"string","nodeType":"ElementaryTypeName","src":"39674:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23237,"mutability":"mutable","name":"p3","nameLocation":"39706:2:18","nodeType":"VariableDeclaration","scope":23252,"src":"39692:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23236,"name":"string","nodeType":"ElementaryTypeName","src":"39692:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39646:63:18"},"returnParameters":{"id":23239,"nodeType":"ParameterList","parameters":[],"src":"39724:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23275,"nodeType":"FunctionDefinition","src":"39837:186:18","nodes":[],"body":{"id":23274,"nodeType":"Block","src":"39918:105:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":23266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39968:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":23267,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23254,"src":"40000:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23268,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23256,"src":"40004:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23269,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23258,"src":"40008:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23270,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23260,"src":"40012:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23264,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39944:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39948:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39944:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39944:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23263,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"39928:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39928:88:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23273,"nodeType":"ExpressionStatement","src":"39928:88:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39846:3:18","parameters":{"id":23261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23254,"mutability":"mutable","name":"p0","nameLocation":"39864:2:18","nodeType":"VariableDeclaration","scope":23275,"src":"39850:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23253,"name":"string","nodeType":"ElementaryTypeName","src":"39850:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23256,"mutability":"mutable","name":"p1","nameLocation":"39873:2:18","nodeType":"VariableDeclaration","scope":23275,"src":"39868:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23255,"name":"bool","nodeType":"ElementaryTypeName","src":"39868:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23258,"mutability":"mutable","name":"p2","nameLocation":"39891:2:18","nodeType":"VariableDeclaration","scope":23275,"src":"39877:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23257,"name":"string","nodeType":"ElementaryTypeName","src":"39877:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23260,"mutability":"mutable","name":"p3","nameLocation":"39900:2:18","nodeType":"VariableDeclaration","scope":23275,"src":"39895:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23259,"name":"bool","nodeType":"ElementaryTypeName","src":"39895:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39849:54:18"},"returnParameters":{"id":23262,"nodeType":"ParameterList","parameters":[],"src":"39918:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23298,"nodeType":"FunctionDefinition","src":"40029:192:18","nodes":[],"body":{"id":23297,"nodeType":"Block","src":"40113:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":23289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40163:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":23290,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23277,"src":"40198:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23291,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23279,"src":"40202:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23292,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23281,"src":"40206:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23293,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23283,"src":"40210:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40139:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40143:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40139:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40139:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23286,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"40123:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40123:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23296,"nodeType":"ExpressionStatement","src":"40123:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40038:3:18","parameters":{"id":23284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23277,"mutability":"mutable","name":"p0","nameLocation":"40056:2:18","nodeType":"VariableDeclaration","scope":23298,"src":"40042:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23276,"name":"string","nodeType":"ElementaryTypeName","src":"40042:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23279,"mutability":"mutable","name":"p1","nameLocation":"40065:2:18","nodeType":"VariableDeclaration","scope":23298,"src":"40060:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23278,"name":"bool","nodeType":"ElementaryTypeName","src":"40060:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23281,"mutability":"mutable","name":"p2","nameLocation":"40083:2:18","nodeType":"VariableDeclaration","scope":23298,"src":"40069:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23280,"name":"string","nodeType":"ElementaryTypeName","src":"40069:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23283,"mutability":"mutable","name":"p3","nameLocation":"40095:2:18","nodeType":"VariableDeclaration","scope":23298,"src":"40087:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23282,"name":"address","nodeType":"ElementaryTypeName","src":"40087:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40041:57:18"},"returnParameters":{"id":23285,"nodeType":"ParameterList","parameters":[],"src":"40113:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23321,"nodeType":"FunctionDefinition","src":"40227:181:18","nodes":[],"body":{"id":23320,"nodeType":"Block","src":"40302:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629","id":23312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40352:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},"value":"log(string,bool,bool,uint256)"},{"id":23313,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23300,"src":"40385:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23314,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23302,"src":"40389:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23315,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23304,"src":"40393:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23316,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23306,"src":"40397:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23310,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40328:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40332:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40328:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40328:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23309,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"40312:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40312:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23319,"nodeType":"ExpressionStatement","src":"40312:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40236:3:18","parameters":{"id":23307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23300,"mutability":"mutable","name":"p0","nameLocation":"40254:2:18","nodeType":"VariableDeclaration","scope":23321,"src":"40240:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23299,"name":"string","nodeType":"ElementaryTypeName","src":"40240:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23302,"mutability":"mutable","name":"p1","nameLocation":"40263:2:18","nodeType":"VariableDeclaration","scope":23321,"src":"40258:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23301,"name":"bool","nodeType":"ElementaryTypeName","src":"40258:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23304,"mutability":"mutable","name":"p2","nameLocation":"40272:2:18","nodeType":"VariableDeclaration","scope":23321,"src":"40267:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23303,"name":"bool","nodeType":"ElementaryTypeName","src":"40267:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23306,"mutability":"mutable","name":"p3","nameLocation":"40284:2:18","nodeType":"VariableDeclaration","scope":23321,"src":"40276:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23305,"name":"uint256","nodeType":"ElementaryTypeName","src":"40276:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40239:48:18"},"returnParameters":{"id":23308,"nodeType":"ParameterList","parameters":[],"src":"40302:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23344,"nodeType":"FunctionDefinition","src":"40414:186:18","nodes":[],"body":{"id":23343,"nodeType":"Block","src":"40495:105:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":23335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40545:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":23336,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23323,"src":"40577:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23337,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23325,"src":"40581:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23338,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23327,"src":"40585:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23339,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23329,"src":"40589:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23333,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40521:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40525:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40521:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40521:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23332,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"40505:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40505:88:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23342,"nodeType":"ExpressionStatement","src":"40505:88:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40423:3:18","parameters":{"id":23330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23323,"mutability":"mutable","name":"p0","nameLocation":"40441:2:18","nodeType":"VariableDeclaration","scope":23344,"src":"40427:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23322,"name":"string","nodeType":"ElementaryTypeName","src":"40427:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23325,"mutability":"mutable","name":"p1","nameLocation":"40450:2:18","nodeType":"VariableDeclaration","scope":23344,"src":"40445:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23324,"name":"bool","nodeType":"ElementaryTypeName","src":"40445:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23327,"mutability":"mutable","name":"p2","nameLocation":"40459:2:18","nodeType":"VariableDeclaration","scope":23344,"src":"40454:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23326,"name":"bool","nodeType":"ElementaryTypeName","src":"40454:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23329,"mutability":"mutable","name":"p3","nameLocation":"40477:2:18","nodeType":"VariableDeclaration","scope":23344,"src":"40463:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23328,"name":"string","nodeType":"ElementaryTypeName","src":"40463:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40426:54:18"},"returnParameters":{"id":23331,"nodeType":"ParameterList","parameters":[],"src":"40495:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23367,"nodeType":"FunctionDefinition","src":"40606:175:18","nodes":[],"body":{"id":23366,"nodeType":"Block","src":"40678:103:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":23358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40728:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":23359,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23346,"src":"40758:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23360,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23348,"src":"40762:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23361,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23350,"src":"40766:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23362,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23352,"src":"40770:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40704:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40708:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40704:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40704:69:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"40688:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40688:86:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23365,"nodeType":"ExpressionStatement","src":"40688:86:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40615:3:18","parameters":{"id":23353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23346,"mutability":"mutable","name":"p0","nameLocation":"40633:2:18","nodeType":"VariableDeclaration","scope":23367,"src":"40619:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23345,"name":"string","nodeType":"ElementaryTypeName","src":"40619:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23348,"mutability":"mutable","name":"p1","nameLocation":"40642:2:18","nodeType":"VariableDeclaration","scope":23367,"src":"40637:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23347,"name":"bool","nodeType":"ElementaryTypeName","src":"40637:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23350,"mutability":"mutable","name":"p2","nameLocation":"40651:2:18","nodeType":"VariableDeclaration","scope":23367,"src":"40646:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23349,"name":"bool","nodeType":"ElementaryTypeName","src":"40646:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23352,"mutability":"mutable","name":"p3","nameLocation":"40660:2:18","nodeType":"VariableDeclaration","scope":23367,"src":"40655:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23351,"name":"bool","nodeType":"ElementaryTypeName","src":"40655:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40618:45:18"},"returnParameters":{"id":23354,"nodeType":"ParameterList","parameters":[],"src":"40678:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23390,"nodeType":"FunctionDefinition","src":"40787:181:18","nodes":[],"body":{"id":23389,"nodeType":"Block","src":"40862:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":23381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40912:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":23382,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23369,"src":"40945:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23383,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23371,"src":"40949:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23384,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23373,"src":"40953:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23385,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23375,"src":"40957:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23379,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40888:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40892:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40888:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40888:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23378,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"40872:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40872:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23388,"nodeType":"ExpressionStatement","src":"40872:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40796:3:18","parameters":{"id":23376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23369,"mutability":"mutable","name":"p0","nameLocation":"40814:2:18","nodeType":"VariableDeclaration","scope":23390,"src":"40800:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23368,"name":"string","nodeType":"ElementaryTypeName","src":"40800:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23371,"mutability":"mutable","name":"p1","nameLocation":"40823:2:18","nodeType":"VariableDeclaration","scope":23390,"src":"40818:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23370,"name":"bool","nodeType":"ElementaryTypeName","src":"40818:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23373,"mutability":"mutable","name":"p2","nameLocation":"40832:2:18","nodeType":"VariableDeclaration","scope":23390,"src":"40827:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23372,"name":"bool","nodeType":"ElementaryTypeName","src":"40827:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23375,"mutability":"mutable","name":"p3","nameLocation":"40844:2:18","nodeType":"VariableDeclaration","scope":23390,"src":"40836:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23374,"name":"address","nodeType":"ElementaryTypeName","src":"40836:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40799:48:18"},"returnParameters":{"id":23377,"nodeType":"ParameterList","parameters":[],"src":"40862:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23413,"nodeType":"FunctionDefinition","src":"40974:187:18","nodes":[],"body":{"id":23412,"nodeType":"Block","src":"41052:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629","id":23404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41102:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},"value":"log(string,bool,address,uint256)"},{"id":23405,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23392,"src":"41138:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23406,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23394,"src":"41142:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23407,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23396,"src":"41146:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23408,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23398,"src":"41150:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41078:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41082:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41078:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41078:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"41062:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41062:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23411,"nodeType":"ExpressionStatement","src":"41062:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40983:3:18","parameters":{"id":23399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23392,"mutability":"mutable","name":"p0","nameLocation":"41001:2:18","nodeType":"VariableDeclaration","scope":23413,"src":"40987:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23391,"name":"string","nodeType":"ElementaryTypeName","src":"40987:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23394,"mutability":"mutable","name":"p1","nameLocation":"41010:2:18","nodeType":"VariableDeclaration","scope":23413,"src":"41005:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23393,"name":"bool","nodeType":"ElementaryTypeName","src":"41005:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23396,"mutability":"mutable","name":"p2","nameLocation":"41022:2:18","nodeType":"VariableDeclaration","scope":23413,"src":"41014:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23395,"name":"address","nodeType":"ElementaryTypeName","src":"41014:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23398,"mutability":"mutable","name":"p3","nameLocation":"41034:2:18","nodeType":"VariableDeclaration","scope":23413,"src":"41026:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23397,"name":"uint256","nodeType":"ElementaryTypeName","src":"41026:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40986:51:18"},"returnParameters":{"id":23400,"nodeType":"ParameterList","parameters":[],"src":"41052:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23436,"nodeType":"FunctionDefinition","src":"41167:192:18","nodes":[],"body":{"id":23435,"nodeType":"Block","src":"41251:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":23427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41301:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":23428,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23415,"src":"41336:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23429,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23417,"src":"41340:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23430,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23419,"src":"41344:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23431,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23421,"src":"41348:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23425,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41277:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41281:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41277:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41277:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23424,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"41261:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41261:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23434,"nodeType":"ExpressionStatement","src":"41261:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41176:3:18","parameters":{"id":23422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23415,"mutability":"mutable","name":"p0","nameLocation":"41194:2:18","nodeType":"VariableDeclaration","scope":23436,"src":"41180:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23414,"name":"string","nodeType":"ElementaryTypeName","src":"41180:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23417,"mutability":"mutable","name":"p1","nameLocation":"41203:2:18","nodeType":"VariableDeclaration","scope":23436,"src":"41198:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23416,"name":"bool","nodeType":"ElementaryTypeName","src":"41198:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23419,"mutability":"mutable","name":"p2","nameLocation":"41215:2:18","nodeType":"VariableDeclaration","scope":23436,"src":"41207:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23418,"name":"address","nodeType":"ElementaryTypeName","src":"41207:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23421,"mutability":"mutable","name":"p3","nameLocation":"41233:2:18","nodeType":"VariableDeclaration","scope":23436,"src":"41219:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23420,"name":"string","nodeType":"ElementaryTypeName","src":"41219:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41179:57:18"},"returnParameters":{"id":23423,"nodeType":"ParameterList","parameters":[],"src":"41251:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23459,"nodeType":"FunctionDefinition","src":"41365:181:18","nodes":[],"body":{"id":23458,"nodeType":"Block","src":"41440:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":23450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41490:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":23451,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23438,"src":"41523:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23452,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23440,"src":"41527:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23453,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23442,"src":"41531:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23454,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23444,"src":"41535:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23448,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41466:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41470:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41466:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41466:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23447,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"41450:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41450:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23457,"nodeType":"ExpressionStatement","src":"41450:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41374:3:18","parameters":{"id":23445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23438,"mutability":"mutable","name":"p0","nameLocation":"41392:2:18","nodeType":"VariableDeclaration","scope":23459,"src":"41378:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23437,"name":"string","nodeType":"ElementaryTypeName","src":"41378:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23440,"mutability":"mutable","name":"p1","nameLocation":"41401:2:18","nodeType":"VariableDeclaration","scope":23459,"src":"41396:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23439,"name":"bool","nodeType":"ElementaryTypeName","src":"41396:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23442,"mutability":"mutable","name":"p2","nameLocation":"41413:2:18","nodeType":"VariableDeclaration","scope":23459,"src":"41405:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23441,"name":"address","nodeType":"ElementaryTypeName","src":"41405:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23444,"mutability":"mutable","name":"p3","nameLocation":"41422:2:18","nodeType":"VariableDeclaration","scope":23459,"src":"41417:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23443,"name":"bool","nodeType":"ElementaryTypeName","src":"41417:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41377:48:18"},"returnParameters":{"id":23446,"nodeType":"ParameterList","parameters":[],"src":"41440:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23482,"nodeType":"FunctionDefinition","src":"41552:187:18","nodes":[],"body":{"id":23481,"nodeType":"Block","src":"41630:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":23473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41680:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":23474,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23461,"src":"41716:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23475,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23463,"src":"41720:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23476,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23465,"src":"41724:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23477,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23467,"src":"41728:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23471,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41656:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41660:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41656:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41656:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23470,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"41640:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41640:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23480,"nodeType":"ExpressionStatement","src":"41640:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41561:3:18","parameters":{"id":23468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23461,"mutability":"mutable","name":"p0","nameLocation":"41579:2:18","nodeType":"VariableDeclaration","scope":23482,"src":"41565:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23460,"name":"string","nodeType":"ElementaryTypeName","src":"41565:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23463,"mutability":"mutable","name":"p1","nameLocation":"41588:2:18","nodeType":"VariableDeclaration","scope":23482,"src":"41583:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23462,"name":"bool","nodeType":"ElementaryTypeName","src":"41583:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23465,"mutability":"mutable","name":"p2","nameLocation":"41600:2:18","nodeType":"VariableDeclaration","scope":23482,"src":"41592:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23464,"name":"address","nodeType":"ElementaryTypeName","src":"41592:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23467,"mutability":"mutable","name":"p3","nameLocation":"41612:2:18","nodeType":"VariableDeclaration","scope":23482,"src":"41604:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23466,"name":"address","nodeType":"ElementaryTypeName","src":"41604:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41564:51:18"},"returnParameters":{"id":23469,"nodeType":"ParameterList","parameters":[],"src":"41630:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23505,"nodeType":"FunctionDefinition","src":"41745:193:18","nodes":[],"body":{"id":23504,"nodeType":"Block","src":"41826:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629","id":23496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41876:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},"value":"log(string,address,uint256,uint256)"},{"id":23497,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23484,"src":"41915:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23498,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23486,"src":"41919:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23499,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23488,"src":"41923:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23500,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23490,"src":"41927:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23494,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41852:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41856:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41852:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41852:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23493,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"41836:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41836:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23503,"nodeType":"ExpressionStatement","src":"41836:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41754:3:18","parameters":{"id":23491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23484,"mutability":"mutable","name":"p0","nameLocation":"41772:2:18","nodeType":"VariableDeclaration","scope":23505,"src":"41758:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23483,"name":"string","nodeType":"ElementaryTypeName","src":"41758:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23486,"mutability":"mutable","name":"p1","nameLocation":"41784:2:18","nodeType":"VariableDeclaration","scope":23505,"src":"41776:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23485,"name":"address","nodeType":"ElementaryTypeName","src":"41776:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23488,"mutability":"mutable","name":"p2","nameLocation":"41796:2:18","nodeType":"VariableDeclaration","scope":23505,"src":"41788:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23487,"name":"uint256","nodeType":"ElementaryTypeName","src":"41788:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23490,"mutability":"mutable","name":"p3","nameLocation":"41808:2:18","nodeType":"VariableDeclaration","scope":23505,"src":"41800:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23489,"name":"uint256","nodeType":"ElementaryTypeName","src":"41800:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41757:54:18"},"returnParameters":{"id":23492,"nodeType":"ParameterList","parameters":[],"src":"41826:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23528,"nodeType":"FunctionDefinition","src":"41944:198:18","nodes":[],"body":{"id":23527,"nodeType":"Block","src":"42031:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729","id":23519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42081:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},"value":"log(string,address,uint256,string)"},{"id":23520,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23507,"src":"42119:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23521,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23509,"src":"42123:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23522,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23511,"src":"42127:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23523,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23513,"src":"42131:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23517,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42057:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42061:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42057:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42057:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23516,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"42041:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42041:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23526,"nodeType":"ExpressionStatement","src":"42041:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41953:3:18","parameters":{"id":23514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23507,"mutability":"mutable","name":"p0","nameLocation":"41971:2:18","nodeType":"VariableDeclaration","scope":23528,"src":"41957:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23506,"name":"string","nodeType":"ElementaryTypeName","src":"41957:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23509,"mutability":"mutable","name":"p1","nameLocation":"41983:2:18","nodeType":"VariableDeclaration","scope":23528,"src":"41975:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23508,"name":"address","nodeType":"ElementaryTypeName","src":"41975:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23511,"mutability":"mutable","name":"p2","nameLocation":"41995:2:18","nodeType":"VariableDeclaration","scope":23528,"src":"41987:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23510,"name":"uint256","nodeType":"ElementaryTypeName","src":"41987:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23513,"mutability":"mutable","name":"p3","nameLocation":"42013:2:18","nodeType":"VariableDeclaration","scope":23528,"src":"41999:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23512,"name":"string","nodeType":"ElementaryTypeName","src":"41999:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41956:60:18"},"returnParameters":{"id":23515,"nodeType":"ParameterList","parameters":[],"src":"42031:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23551,"nodeType":"FunctionDefinition","src":"42148:187:18","nodes":[],"body":{"id":23550,"nodeType":"Block","src":"42226:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29","id":23542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42276:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},"value":"log(string,address,uint256,bool)"},{"id":23543,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23530,"src":"42312:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23544,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23532,"src":"42316:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23545,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23534,"src":"42320:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23546,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23536,"src":"42324:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23540,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42252:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42256:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42252:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42252:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"42236:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42236:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23549,"nodeType":"ExpressionStatement","src":"42236:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42157:3:18","parameters":{"id":23537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23530,"mutability":"mutable","name":"p0","nameLocation":"42175:2:18","nodeType":"VariableDeclaration","scope":23551,"src":"42161:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23529,"name":"string","nodeType":"ElementaryTypeName","src":"42161:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23532,"mutability":"mutable","name":"p1","nameLocation":"42187:2:18","nodeType":"VariableDeclaration","scope":23551,"src":"42179:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23531,"name":"address","nodeType":"ElementaryTypeName","src":"42179:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23534,"mutability":"mutable","name":"p2","nameLocation":"42199:2:18","nodeType":"VariableDeclaration","scope":23551,"src":"42191:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23533,"name":"uint256","nodeType":"ElementaryTypeName","src":"42191:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23536,"mutability":"mutable","name":"p3","nameLocation":"42208:2:18","nodeType":"VariableDeclaration","scope":23551,"src":"42203:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23535,"name":"bool","nodeType":"ElementaryTypeName","src":"42203:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42160:51:18"},"returnParameters":{"id":23538,"nodeType":"ParameterList","parameters":[],"src":"42226:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23574,"nodeType":"FunctionDefinition","src":"42341:193:18","nodes":[],"body":{"id":23573,"nodeType":"Block","src":"42422:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329","id":23565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42472:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},"value":"log(string,address,uint256,address)"},{"id":23566,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23553,"src":"42511:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23567,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23555,"src":"42515:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23568,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23557,"src":"42519:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23569,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23559,"src":"42523:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23563,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42448:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42452:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42448:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42448:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23562,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"42432:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42432:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23572,"nodeType":"ExpressionStatement","src":"42432:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42350:3:18","parameters":{"id":23560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23553,"mutability":"mutable","name":"p0","nameLocation":"42368:2:18","nodeType":"VariableDeclaration","scope":23574,"src":"42354:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23552,"name":"string","nodeType":"ElementaryTypeName","src":"42354:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23555,"mutability":"mutable","name":"p1","nameLocation":"42380:2:18","nodeType":"VariableDeclaration","scope":23574,"src":"42372:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23554,"name":"address","nodeType":"ElementaryTypeName","src":"42372:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23557,"mutability":"mutable","name":"p2","nameLocation":"42392:2:18","nodeType":"VariableDeclaration","scope":23574,"src":"42384:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23556,"name":"uint256","nodeType":"ElementaryTypeName","src":"42384:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23559,"mutability":"mutable","name":"p3","nameLocation":"42404:2:18","nodeType":"VariableDeclaration","scope":23574,"src":"42396:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23558,"name":"address","nodeType":"ElementaryTypeName","src":"42396:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42353:54:18"},"returnParameters":{"id":23561,"nodeType":"ParameterList","parameters":[],"src":"42422:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23597,"nodeType":"FunctionDefinition","src":"42540:198:18","nodes":[],"body":{"id":23596,"nodeType":"Block","src":"42627:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629","id":23588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42677:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},"value":"log(string,address,string,uint256)"},{"id":23589,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23576,"src":"42715:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23590,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23578,"src":"42719:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23591,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23580,"src":"42723:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23592,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23582,"src":"42727:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23586,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42653:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42657:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42653:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42653:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23585,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"42637:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42637:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23595,"nodeType":"ExpressionStatement","src":"42637:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42549:3:18","parameters":{"id":23583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23576,"mutability":"mutable","name":"p0","nameLocation":"42567:2:18","nodeType":"VariableDeclaration","scope":23597,"src":"42553:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23575,"name":"string","nodeType":"ElementaryTypeName","src":"42553:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23578,"mutability":"mutable","name":"p1","nameLocation":"42579:2:18","nodeType":"VariableDeclaration","scope":23597,"src":"42571:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23577,"name":"address","nodeType":"ElementaryTypeName","src":"42571:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23580,"mutability":"mutable","name":"p2","nameLocation":"42597:2:18","nodeType":"VariableDeclaration","scope":23597,"src":"42583:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23579,"name":"string","nodeType":"ElementaryTypeName","src":"42583:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23582,"mutability":"mutable","name":"p3","nameLocation":"42609:2:18","nodeType":"VariableDeclaration","scope":23597,"src":"42601:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23581,"name":"uint256","nodeType":"ElementaryTypeName","src":"42601:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42552:60:18"},"returnParameters":{"id":23584,"nodeType":"ParameterList","parameters":[],"src":"42627:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23620,"nodeType":"FunctionDefinition","src":"42744:203:18","nodes":[],"body":{"id":23619,"nodeType":"Block","src":"42837:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":23611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42887:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":23612,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23599,"src":"42924:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23613,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23601,"src":"42928:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23614,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23603,"src":"42932:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23615,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23605,"src":"42936:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23609,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42863:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42867:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42863:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42863:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23608,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"42847:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42847:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23618,"nodeType":"ExpressionStatement","src":"42847:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42753:3:18","parameters":{"id":23606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23599,"mutability":"mutable","name":"p0","nameLocation":"42771:2:18","nodeType":"VariableDeclaration","scope":23620,"src":"42757:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23598,"name":"string","nodeType":"ElementaryTypeName","src":"42757:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23601,"mutability":"mutable","name":"p1","nameLocation":"42783:2:18","nodeType":"VariableDeclaration","scope":23620,"src":"42775:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23600,"name":"address","nodeType":"ElementaryTypeName","src":"42775:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23603,"mutability":"mutable","name":"p2","nameLocation":"42801:2:18","nodeType":"VariableDeclaration","scope":23620,"src":"42787:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23602,"name":"string","nodeType":"ElementaryTypeName","src":"42787:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23605,"mutability":"mutable","name":"p3","nameLocation":"42819:2:18","nodeType":"VariableDeclaration","scope":23620,"src":"42805:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23604,"name":"string","nodeType":"ElementaryTypeName","src":"42805:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42756:66:18"},"returnParameters":{"id":23607,"nodeType":"ParameterList","parameters":[],"src":"42837:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23643,"nodeType":"FunctionDefinition","src":"42953:192:18","nodes":[],"body":{"id":23642,"nodeType":"Block","src":"43037:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":23634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43087:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":23635,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23622,"src":"43122:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23636,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23624,"src":"43126:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23637,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23626,"src":"43130:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23638,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23628,"src":"43134:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23632,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43063:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43067:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43063:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43063:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23631,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"43047:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43047:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23641,"nodeType":"ExpressionStatement","src":"43047:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42962:3:18","parameters":{"id":23629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23622,"mutability":"mutable","name":"p0","nameLocation":"42980:2:18","nodeType":"VariableDeclaration","scope":23643,"src":"42966:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23621,"name":"string","nodeType":"ElementaryTypeName","src":"42966:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23624,"mutability":"mutable","name":"p1","nameLocation":"42992:2:18","nodeType":"VariableDeclaration","scope":23643,"src":"42984:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23623,"name":"address","nodeType":"ElementaryTypeName","src":"42984:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23626,"mutability":"mutable","name":"p2","nameLocation":"43010:2:18","nodeType":"VariableDeclaration","scope":23643,"src":"42996:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23625,"name":"string","nodeType":"ElementaryTypeName","src":"42996:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23628,"mutability":"mutable","name":"p3","nameLocation":"43019:2:18","nodeType":"VariableDeclaration","scope":23643,"src":"43014:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23627,"name":"bool","nodeType":"ElementaryTypeName","src":"43014:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42965:57:18"},"returnParameters":{"id":23630,"nodeType":"ParameterList","parameters":[],"src":"43037:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23666,"nodeType":"FunctionDefinition","src":"43151:198:18","nodes":[],"body":{"id":23665,"nodeType":"Block","src":"43238:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":23657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43288:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":23658,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23645,"src":"43326:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23659,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23647,"src":"43330:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23660,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23649,"src":"43334:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23661,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23651,"src":"43338:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43264:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43268:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43264:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43264:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23654,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"43248:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43248:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23664,"nodeType":"ExpressionStatement","src":"43248:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43160:3:18","parameters":{"id":23652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23645,"mutability":"mutable","name":"p0","nameLocation":"43178:2:18","nodeType":"VariableDeclaration","scope":23666,"src":"43164:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23644,"name":"string","nodeType":"ElementaryTypeName","src":"43164:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23647,"mutability":"mutable","name":"p1","nameLocation":"43190:2:18","nodeType":"VariableDeclaration","scope":23666,"src":"43182:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23646,"name":"address","nodeType":"ElementaryTypeName","src":"43182:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23649,"mutability":"mutable","name":"p2","nameLocation":"43208:2:18","nodeType":"VariableDeclaration","scope":23666,"src":"43194:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23648,"name":"string","nodeType":"ElementaryTypeName","src":"43194:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23651,"mutability":"mutable","name":"p3","nameLocation":"43220:2:18","nodeType":"VariableDeclaration","scope":23666,"src":"43212:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23650,"name":"address","nodeType":"ElementaryTypeName","src":"43212:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43163:60:18"},"returnParameters":{"id":23653,"nodeType":"ParameterList","parameters":[],"src":"43238:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23689,"nodeType":"FunctionDefinition","src":"43355:187:18","nodes":[],"body":{"id":23688,"nodeType":"Block","src":"43433:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629","id":23680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43483:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},"value":"log(string,address,bool,uint256)"},{"id":23681,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23668,"src":"43519:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23682,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23670,"src":"43523:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23683,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23672,"src":"43527:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23684,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23674,"src":"43531:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43459:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43463:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43459:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43459:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"43443:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43443:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23687,"nodeType":"ExpressionStatement","src":"43443:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43364:3:18","parameters":{"id":23675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23668,"mutability":"mutable","name":"p0","nameLocation":"43382:2:18","nodeType":"VariableDeclaration","scope":23689,"src":"43368:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23667,"name":"string","nodeType":"ElementaryTypeName","src":"43368:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23670,"mutability":"mutable","name":"p1","nameLocation":"43394:2:18","nodeType":"VariableDeclaration","scope":23689,"src":"43386:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23669,"name":"address","nodeType":"ElementaryTypeName","src":"43386:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23672,"mutability":"mutable","name":"p2","nameLocation":"43403:2:18","nodeType":"VariableDeclaration","scope":23689,"src":"43398:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23671,"name":"bool","nodeType":"ElementaryTypeName","src":"43398:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23674,"mutability":"mutable","name":"p3","nameLocation":"43415:2:18","nodeType":"VariableDeclaration","scope":23689,"src":"43407:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23673,"name":"uint256","nodeType":"ElementaryTypeName","src":"43407:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43367:51:18"},"returnParameters":{"id":23676,"nodeType":"ParameterList","parameters":[],"src":"43433:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23712,"nodeType":"FunctionDefinition","src":"43548:192:18","nodes":[],"body":{"id":23711,"nodeType":"Block","src":"43632:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":23703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43682:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":23704,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23691,"src":"43717:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23705,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23693,"src":"43721:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23706,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23695,"src":"43725:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23707,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23697,"src":"43729:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43658:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43662:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43658:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43658:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23700,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"43642:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43642:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23710,"nodeType":"ExpressionStatement","src":"43642:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43557:3:18","parameters":{"id":23698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23691,"mutability":"mutable","name":"p0","nameLocation":"43575:2:18","nodeType":"VariableDeclaration","scope":23712,"src":"43561:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23690,"name":"string","nodeType":"ElementaryTypeName","src":"43561:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23693,"mutability":"mutable","name":"p1","nameLocation":"43587:2:18","nodeType":"VariableDeclaration","scope":23712,"src":"43579:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23692,"name":"address","nodeType":"ElementaryTypeName","src":"43579:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23695,"mutability":"mutable","name":"p2","nameLocation":"43596:2:18","nodeType":"VariableDeclaration","scope":23712,"src":"43591:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23694,"name":"bool","nodeType":"ElementaryTypeName","src":"43591:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23697,"mutability":"mutable","name":"p3","nameLocation":"43614:2:18","nodeType":"VariableDeclaration","scope":23712,"src":"43600:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23696,"name":"string","nodeType":"ElementaryTypeName","src":"43600:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43560:57:18"},"returnParameters":{"id":23699,"nodeType":"ParameterList","parameters":[],"src":"43632:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23735,"nodeType":"FunctionDefinition","src":"43746:181:18","nodes":[],"body":{"id":23734,"nodeType":"Block","src":"43821:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":23726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43871:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":23727,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23714,"src":"43904:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23728,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23716,"src":"43908:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23729,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23718,"src":"43912:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23730,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23720,"src":"43916:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23724,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43847:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43851:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43847:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43847:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23723,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"43831:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43831:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23733,"nodeType":"ExpressionStatement","src":"43831:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43755:3:18","parameters":{"id":23721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23714,"mutability":"mutable","name":"p0","nameLocation":"43773:2:18","nodeType":"VariableDeclaration","scope":23735,"src":"43759:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23713,"name":"string","nodeType":"ElementaryTypeName","src":"43759:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23716,"mutability":"mutable","name":"p1","nameLocation":"43785:2:18","nodeType":"VariableDeclaration","scope":23735,"src":"43777:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23715,"name":"address","nodeType":"ElementaryTypeName","src":"43777:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23718,"mutability":"mutable","name":"p2","nameLocation":"43794:2:18","nodeType":"VariableDeclaration","scope":23735,"src":"43789:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23717,"name":"bool","nodeType":"ElementaryTypeName","src":"43789:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23720,"mutability":"mutable","name":"p3","nameLocation":"43803:2:18","nodeType":"VariableDeclaration","scope":23735,"src":"43798:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23719,"name":"bool","nodeType":"ElementaryTypeName","src":"43798:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43758:48:18"},"returnParameters":{"id":23722,"nodeType":"ParameterList","parameters":[],"src":"43821:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23758,"nodeType":"FunctionDefinition","src":"43933:187:18","nodes":[],"body":{"id":23757,"nodeType":"Block","src":"44011:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":23749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44061:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":23750,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23737,"src":"44097:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23751,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23739,"src":"44101:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23752,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23741,"src":"44105:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23753,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23743,"src":"44109:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23747,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44037:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44041:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44037:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44037:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23746,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"44021:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44021:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23756,"nodeType":"ExpressionStatement","src":"44021:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43942:3:18","parameters":{"id":23744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23737,"mutability":"mutable","name":"p0","nameLocation":"43960:2:18","nodeType":"VariableDeclaration","scope":23758,"src":"43946:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23736,"name":"string","nodeType":"ElementaryTypeName","src":"43946:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23739,"mutability":"mutable","name":"p1","nameLocation":"43972:2:18","nodeType":"VariableDeclaration","scope":23758,"src":"43964:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23738,"name":"address","nodeType":"ElementaryTypeName","src":"43964:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23741,"mutability":"mutable","name":"p2","nameLocation":"43981:2:18","nodeType":"VariableDeclaration","scope":23758,"src":"43976:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23740,"name":"bool","nodeType":"ElementaryTypeName","src":"43976:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23743,"mutability":"mutable","name":"p3","nameLocation":"43993:2:18","nodeType":"VariableDeclaration","scope":23758,"src":"43985:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23742,"name":"address","nodeType":"ElementaryTypeName","src":"43985:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43945:51:18"},"returnParameters":{"id":23745,"nodeType":"ParameterList","parameters":[],"src":"44011:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23781,"nodeType":"FunctionDefinition","src":"44126:193:18","nodes":[],"body":{"id":23780,"nodeType":"Block","src":"44207:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629","id":23772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44257:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},"value":"log(string,address,address,uint256)"},{"id":23773,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23760,"src":"44296:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23774,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23762,"src":"44300:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23775,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23764,"src":"44304:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23776,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23766,"src":"44308:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23770,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44233:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44237:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44233:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44233:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23769,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"44217:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44217:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23779,"nodeType":"ExpressionStatement","src":"44217:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44135:3:18","parameters":{"id":23767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23760,"mutability":"mutable","name":"p0","nameLocation":"44153:2:18","nodeType":"VariableDeclaration","scope":23781,"src":"44139:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23759,"name":"string","nodeType":"ElementaryTypeName","src":"44139:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23762,"mutability":"mutable","name":"p1","nameLocation":"44165:2:18","nodeType":"VariableDeclaration","scope":23781,"src":"44157:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23761,"name":"address","nodeType":"ElementaryTypeName","src":"44157:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23764,"mutability":"mutable","name":"p2","nameLocation":"44177:2:18","nodeType":"VariableDeclaration","scope":23781,"src":"44169:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23763,"name":"address","nodeType":"ElementaryTypeName","src":"44169:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23766,"mutability":"mutable","name":"p3","nameLocation":"44189:2:18","nodeType":"VariableDeclaration","scope":23781,"src":"44181:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23765,"name":"uint256","nodeType":"ElementaryTypeName","src":"44181:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44138:54:18"},"returnParameters":{"id":23768,"nodeType":"ParameterList","parameters":[],"src":"44207:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23804,"nodeType":"FunctionDefinition","src":"44325:198:18","nodes":[],"body":{"id":23803,"nodeType":"Block","src":"44412:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":23795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44462:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":23796,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23783,"src":"44500:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23797,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23785,"src":"44504:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23798,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23787,"src":"44508:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23799,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23789,"src":"44512:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23793,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44438:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44442:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44438:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44438:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23792,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"44422:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44422:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23802,"nodeType":"ExpressionStatement","src":"44422:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44334:3:18","parameters":{"id":23790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23783,"mutability":"mutable","name":"p0","nameLocation":"44352:2:18","nodeType":"VariableDeclaration","scope":23804,"src":"44338:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23782,"name":"string","nodeType":"ElementaryTypeName","src":"44338:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23785,"mutability":"mutable","name":"p1","nameLocation":"44364:2:18","nodeType":"VariableDeclaration","scope":23804,"src":"44356:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23784,"name":"address","nodeType":"ElementaryTypeName","src":"44356:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23787,"mutability":"mutable","name":"p2","nameLocation":"44376:2:18","nodeType":"VariableDeclaration","scope":23804,"src":"44368:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23786,"name":"address","nodeType":"ElementaryTypeName","src":"44368:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23789,"mutability":"mutable","name":"p3","nameLocation":"44394:2:18","nodeType":"VariableDeclaration","scope":23804,"src":"44380:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23788,"name":"string","nodeType":"ElementaryTypeName","src":"44380:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44337:60:18"},"returnParameters":{"id":23791,"nodeType":"ParameterList","parameters":[],"src":"44412:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23827,"nodeType":"FunctionDefinition","src":"44529:187:18","nodes":[],"body":{"id":23826,"nodeType":"Block","src":"44607:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":23818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44657:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":23819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23806,"src":"44693:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23808,"src":"44697:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23821,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23810,"src":"44701:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23822,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23812,"src":"44705:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44633:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44637:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44633:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44633:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"44617:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44617:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23825,"nodeType":"ExpressionStatement","src":"44617:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44538:3:18","parameters":{"id":23813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23806,"mutability":"mutable","name":"p0","nameLocation":"44556:2:18","nodeType":"VariableDeclaration","scope":23827,"src":"44542:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23805,"name":"string","nodeType":"ElementaryTypeName","src":"44542:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23808,"mutability":"mutable","name":"p1","nameLocation":"44568:2:18","nodeType":"VariableDeclaration","scope":23827,"src":"44560:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23807,"name":"address","nodeType":"ElementaryTypeName","src":"44560:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23810,"mutability":"mutable","name":"p2","nameLocation":"44580:2:18","nodeType":"VariableDeclaration","scope":23827,"src":"44572:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23809,"name":"address","nodeType":"ElementaryTypeName","src":"44572:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23812,"mutability":"mutable","name":"p3","nameLocation":"44589:2:18","nodeType":"VariableDeclaration","scope":23827,"src":"44584:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23811,"name":"bool","nodeType":"ElementaryTypeName","src":"44584:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44541:51:18"},"returnParameters":{"id":23814,"nodeType":"ParameterList","parameters":[],"src":"44607:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23850,"nodeType":"FunctionDefinition","src":"44722:193:18","nodes":[],"body":{"id":23849,"nodeType":"Block","src":"44803:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":23841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44853:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":23842,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23829,"src":"44892:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23843,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23831,"src":"44896:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23844,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23833,"src":"44900:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23845,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23835,"src":"44904:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44829:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44833:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44829:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44829:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23838,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"44813:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44813:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23848,"nodeType":"ExpressionStatement","src":"44813:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44731:3:18","parameters":{"id":23836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23829,"mutability":"mutable","name":"p0","nameLocation":"44749:2:18","nodeType":"VariableDeclaration","scope":23850,"src":"44735:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23828,"name":"string","nodeType":"ElementaryTypeName","src":"44735:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23831,"mutability":"mutable","name":"p1","nameLocation":"44761:2:18","nodeType":"VariableDeclaration","scope":23850,"src":"44753:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23830,"name":"address","nodeType":"ElementaryTypeName","src":"44753:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23833,"mutability":"mutable","name":"p2","nameLocation":"44773:2:18","nodeType":"VariableDeclaration","scope":23850,"src":"44765:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23832,"name":"address","nodeType":"ElementaryTypeName","src":"44765:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23835,"mutability":"mutable","name":"p3","nameLocation":"44785:2:18","nodeType":"VariableDeclaration","scope":23850,"src":"44777:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23834,"name":"address","nodeType":"ElementaryTypeName","src":"44777:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44734:54:18"},"returnParameters":{"id":23837,"nodeType":"ParameterList","parameters":[],"src":"44803:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23873,"nodeType":"FunctionDefinition","src":"44921:182:18","nodes":[],"body":{"id":23872,"nodeType":"Block","src":"44993:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629","id":23864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45043:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},"value":"log(bool,uint256,uint256,uint256)"},{"id":23865,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23852,"src":"45080:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23866,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23854,"src":"45084:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23867,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23856,"src":"45088:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23868,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23858,"src":"45092:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45019:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45023:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45019:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45019:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23861,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"45003:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45003:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23871,"nodeType":"ExpressionStatement","src":"45003:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44930:3:18","parameters":{"id":23859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23852,"mutability":"mutable","name":"p0","nameLocation":"44939:2:18","nodeType":"VariableDeclaration","scope":23873,"src":"44934:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23851,"name":"bool","nodeType":"ElementaryTypeName","src":"44934:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23854,"mutability":"mutable","name":"p1","nameLocation":"44951:2:18","nodeType":"VariableDeclaration","scope":23873,"src":"44943:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23853,"name":"uint256","nodeType":"ElementaryTypeName","src":"44943:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23856,"mutability":"mutable","name":"p2","nameLocation":"44963:2:18","nodeType":"VariableDeclaration","scope":23873,"src":"44955:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23855,"name":"uint256","nodeType":"ElementaryTypeName","src":"44955:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23858,"mutability":"mutable","name":"p3","nameLocation":"44975:2:18","nodeType":"VariableDeclaration","scope":23873,"src":"44967:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23857,"name":"uint256","nodeType":"ElementaryTypeName","src":"44967:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44933:45:18"},"returnParameters":{"id":23860,"nodeType":"ParameterList","parameters":[],"src":"44993:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23896,"nodeType":"FunctionDefinition","src":"45109:187:18","nodes":[],"body":{"id":23895,"nodeType":"Block","src":"45187:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729","id":23887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45237:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},"value":"log(bool,uint256,uint256,string)"},{"id":23888,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23875,"src":"45273:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23889,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23877,"src":"45277:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23890,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23879,"src":"45281:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23891,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23881,"src":"45285:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23885,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45213:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45217:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45213:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45213:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23884,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"45197:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45197:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23894,"nodeType":"ExpressionStatement","src":"45197:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45118:3:18","parameters":{"id":23882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23875,"mutability":"mutable","name":"p0","nameLocation":"45127:2:18","nodeType":"VariableDeclaration","scope":23896,"src":"45122:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23874,"name":"bool","nodeType":"ElementaryTypeName","src":"45122:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23877,"mutability":"mutable","name":"p1","nameLocation":"45139:2:18","nodeType":"VariableDeclaration","scope":23896,"src":"45131:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23876,"name":"uint256","nodeType":"ElementaryTypeName","src":"45131:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23879,"mutability":"mutable","name":"p2","nameLocation":"45151:2:18","nodeType":"VariableDeclaration","scope":23896,"src":"45143:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23878,"name":"uint256","nodeType":"ElementaryTypeName","src":"45143:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23881,"mutability":"mutable","name":"p3","nameLocation":"45169:2:18","nodeType":"VariableDeclaration","scope":23896,"src":"45155:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23880,"name":"string","nodeType":"ElementaryTypeName","src":"45155:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45121:51:18"},"returnParameters":{"id":23883,"nodeType":"ParameterList","parameters":[],"src":"45187:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23919,"nodeType":"FunctionDefinition","src":"45302:176:18","nodes":[],"body":{"id":23918,"nodeType":"Block","src":"45371:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29","id":23910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45421:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},"value":"log(bool,uint256,uint256,bool)"},{"id":23911,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23898,"src":"45455:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23912,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23900,"src":"45459:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23913,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23902,"src":"45463:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23914,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23904,"src":"45467:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45397:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45401:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45397:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45397:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23907,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"45381:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45381:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23917,"nodeType":"ExpressionStatement","src":"45381:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45311:3:18","parameters":{"id":23905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23898,"mutability":"mutable","name":"p0","nameLocation":"45320:2:18","nodeType":"VariableDeclaration","scope":23919,"src":"45315:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23897,"name":"bool","nodeType":"ElementaryTypeName","src":"45315:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23900,"mutability":"mutable","name":"p1","nameLocation":"45332:2:18","nodeType":"VariableDeclaration","scope":23919,"src":"45324:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23899,"name":"uint256","nodeType":"ElementaryTypeName","src":"45324:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23902,"mutability":"mutable","name":"p2","nameLocation":"45344:2:18","nodeType":"VariableDeclaration","scope":23919,"src":"45336:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23901,"name":"uint256","nodeType":"ElementaryTypeName","src":"45336:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23904,"mutability":"mutable","name":"p3","nameLocation":"45353:2:18","nodeType":"VariableDeclaration","scope":23919,"src":"45348:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23903,"name":"bool","nodeType":"ElementaryTypeName","src":"45348:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45314:42:18"},"returnParameters":{"id":23906,"nodeType":"ParameterList","parameters":[],"src":"45371:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23942,"nodeType":"FunctionDefinition","src":"45484:182:18","nodes":[],"body":{"id":23941,"nodeType":"Block","src":"45556:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329","id":23933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45606:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},"value":"log(bool,uint256,uint256,address)"},{"id":23934,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23921,"src":"45643:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23935,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23923,"src":"45647:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23936,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23925,"src":"45651:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23937,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23927,"src":"45655:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23931,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45582:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45586:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45582:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45582:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23930,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"45566:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45566:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23940,"nodeType":"ExpressionStatement","src":"45566:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45493:3:18","parameters":{"id":23928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23921,"mutability":"mutable","name":"p0","nameLocation":"45502:2:18","nodeType":"VariableDeclaration","scope":23942,"src":"45497:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23920,"name":"bool","nodeType":"ElementaryTypeName","src":"45497:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23923,"mutability":"mutable","name":"p1","nameLocation":"45514:2:18","nodeType":"VariableDeclaration","scope":23942,"src":"45506:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23922,"name":"uint256","nodeType":"ElementaryTypeName","src":"45506:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23925,"mutability":"mutable","name":"p2","nameLocation":"45526:2:18","nodeType":"VariableDeclaration","scope":23942,"src":"45518:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23924,"name":"uint256","nodeType":"ElementaryTypeName","src":"45518:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23927,"mutability":"mutable","name":"p3","nameLocation":"45538:2:18","nodeType":"VariableDeclaration","scope":23942,"src":"45530:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23926,"name":"address","nodeType":"ElementaryTypeName","src":"45530:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45496:45:18"},"returnParameters":{"id":23929,"nodeType":"ParameterList","parameters":[],"src":"45556:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23965,"nodeType":"FunctionDefinition","src":"45672:187:18","nodes":[],"body":{"id":23964,"nodeType":"Block","src":"45750:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629","id":23956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45800:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},"value":"log(bool,uint256,string,uint256)"},{"id":23957,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23944,"src":"45836:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23958,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23946,"src":"45840:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23959,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23948,"src":"45844:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23960,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23950,"src":"45848:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23954,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45776:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45780:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45776:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45776:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23953,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"45760:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45760:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23963,"nodeType":"ExpressionStatement","src":"45760:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45681:3:18","parameters":{"id":23951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23944,"mutability":"mutable","name":"p0","nameLocation":"45690:2:18","nodeType":"VariableDeclaration","scope":23965,"src":"45685:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23943,"name":"bool","nodeType":"ElementaryTypeName","src":"45685:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23946,"mutability":"mutable","name":"p1","nameLocation":"45702:2:18","nodeType":"VariableDeclaration","scope":23965,"src":"45694:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23945,"name":"uint256","nodeType":"ElementaryTypeName","src":"45694:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23948,"mutability":"mutable","name":"p2","nameLocation":"45720:2:18","nodeType":"VariableDeclaration","scope":23965,"src":"45706:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23947,"name":"string","nodeType":"ElementaryTypeName","src":"45706:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23950,"mutability":"mutable","name":"p3","nameLocation":"45732:2:18","nodeType":"VariableDeclaration","scope":23965,"src":"45724:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23949,"name":"uint256","nodeType":"ElementaryTypeName","src":"45724:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45684:51:18"},"returnParameters":{"id":23952,"nodeType":"ParameterList","parameters":[],"src":"45750:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23988,"nodeType":"FunctionDefinition","src":"45865:192:18","nodes":[],"body":{"id":23987,"nodeType":"Block","src":"45949:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729","id":23979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45999:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},"value":"log(bool,uint256,string,string)"},{"id":23980,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23967,"src":"46034:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23981,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23969,"src":"46038:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23982,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23971,"src":"46042:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23983,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23973,"src":"46046:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23977,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45975:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45979:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45975:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45975:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23976,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"45959:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45959:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23986,"nodeType":"ExpressionStatement","src":"45959:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45874:3:18","parameters":{"id":23974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23967,"mutability":"mutable","name":"p0","nameLocation":"45883:2:18","nodeType":"VariableDeclaration","scope":23988,"src":"45878:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23966,"name":"bool","nodeType":"ElementaryTypeName","src":"45878:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23969,"mutability":"mutable","name":"p1","nameLocation":"45895:2:18","nodeType":"VariableDeclaration","scope":23988,"src":"45887:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23968,"name":"uint256","nodeType":"ElementaryTypeName","src":"45887:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23971,"mutability":"mutable","name":"p2","nameLocation":"45913:2:18","nodeType":"VariableDeclaration","scope":23988,"src":"45899:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23970,"name":"string","nodeType":"ElementaryTypeName","src":"45899:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23973,"mutability":"mutable","name":"p3","nameLocation":"45931:2:18","nodeType":"VariableDeclaration","scope":23988,"src":"45917:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23972,"name":"string","nodeType":"ElementaryTypeName","src":"45917:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45877:57:18"},"returnParameters":{"id":23975,"nodeType":"ParameterList","parameters":[],"src":"45949:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24011,"nodeType":"FunctionDefinition","src":"46063:181:18","nodes":[],"body":{"id":24010,"nodeType":"Block","src":"46138:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29","id":24002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46188:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},"value":"log(bool,uint256,string,bool)"},{"id":24003,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23990,"src":"46221:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24004,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23992,"src":"46225:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24005,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23994,"src":"46229:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24006,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23996,"src":"46233:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24000,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46164:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46168:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46164:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46164:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23999,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"46148:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46148:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24009,"nodeType":"ExpressionStatement","src":"46148:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46072:3:18","parameters":{"id":23997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23990,"mutability":"mutable","name":"p0","nameLocation":"46081:2:18","nodeType":"VariableDeclaration","scope":24011,"src":"46076:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23989,"name":"bool","nodeType":"ElementaryTypeName","src":"46076:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23992,"mutability":"mutable","name":"p1","nameLocation":"46093:2:18","nodeType":"VariableDeclaration","scope":24011,"src":"46085:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23991,"name":"uint256","nodeType":"ElementaryTypeName","src":"46085:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23994,"mutability":"mutable","name":"p2","nameLocation":"46111:2:18","nodeType":"VariableDeclaration","scope":24011,"src":"46097:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23993,"name":"string","nodeType":"ElementaryTypeName","src":"46097:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23996,"mutability":"mutable","name":"p3","nameLocation":"46120:2:18","nodeType":"VariableDeclaration","scope":24011,"src":"46115:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23995,"name":"bool","nodeType":"ElementaryTypeName","src":"46115:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46075:48:18"},"returnParameters":{"id":23998,"nodeType":"ParameterList","parameters":[],"src":"46138:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24034,"nodeType":"FunctionDefinition","src":"46250:187:18","nodes":[],"body":{"id":24033,"nodeType":"Block","src":"46328:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329","id":24025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46378:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},"value":"log(bool,uint256,string,address)"},{"id":24026,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24013,"src":"46414:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24027,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24015,"src":"46418:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24028,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24017,"src":"46422:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24029,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24019,"src":"46426:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46354:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46358:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46354:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46354:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24022,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"46338:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46338:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24032,"nodeType":"ExpressionStatement","src":"46338:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46259:3:18","parameters":{"id":24020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24013,"mutability":"mutable","name":"p0","nameLocation":"46268:2:18","nodeType":"VariableDeclaration","scope":24034,"src":"46263:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24012,"name":"bool","nodeType":"ElementaryTypeName","src":"46263:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24015,"mutability":"mutable","name":"p1","nameLocation":"46280:2:18","nodeType":"VariableDeclaration","scope":24034,"src":"46272:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24014,"name":"uint256","nodeType":"ElementaryTypeName","src":"46272:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24017,"mutability":"mutable","name":"p2","nameLocation":"46298:2:18","nodeType":"VariableDeclaration","scope":24034,"src":"46284:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24016,"name":"string","nodeType":"ElementaryTypeName","src":"46284:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24019,"mutability":"mutable","name":"p3","nameLocation":"46310:2:18","nodeType":"VariableDeclaration","scope":24034,"src":"46302:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24018,"name":"address","nodeType":"ElementaryTypeName","src":"46302:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46262:51:18"},"returnParameters":{"id":24021,"nodeType":"ParameterList","parameters":[],"src":"46328:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24057,"nodeType":"FunctionDefinition","src":"46443:176:18","nodes":[],"body":{"id":24056,"nodeType":"Block","src":"46512:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629","id":24048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46562:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},"value":"log(bool,uint256,bool,uint256)"},{"id":24049,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24036,"src":"46596:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24050,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24038,"src":"46600:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24051,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24040,"src":"46604:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24052,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24042,"src":"46608:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46538:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46542:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46538:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46538:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24045,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"46522:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46522:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24055,"nodeType":"ExpressionStatement","src":"46522:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46452:3:18","parameters":{"id":24043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24036,"mutability":"mutable","name":"p0","nameLocation":"46461:2:18","nodeType":"VariableDeclaration","scope":24057,"src":"46456:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24035,"name":"bool","nodeType":"ElementaryTypeName","src":"46456:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24038,"mutability":"mutable","name":"p1","nameLocation":"46473:2:18","nodeType":"VariableDeclaration","scope":24057,"src":"46465:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24037,"name":"uint256","nodeType":"ElementaryTypeName","src":"46465:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24040,"mutability":"mutable","name":"p2","nameLocation":"46482:2:18","nodeType":"VariableDeclaration","scope":24057,"src":"46477:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24039,"name":"bool","nodeType":"ElementaryTypeName","src":"46477:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24042,"mutability":"mutable","name":"p3","nameLocation":"46494:2:18","nodeType":"VariableDeclaration","scope":24057,"src":"46486:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24041,"name":"uint256","nodeType":"ElementaryTypeName","src":"46486:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46455:42:18"},"returnParameters":{"id":24044,"nodeType":"ParameterList","parameters":[],"src":"46512:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24080,"nodeType":"FunctionDefinition","src":"46625:181:18","nodes":[],"body":{"id":24079,"nodeType":"Block","src":"46700:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729","id":24071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46750:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},"value":"log(bool,uint256,bool,string)"},{"id":24072,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24059,"src":"46783:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24073,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24061,"src":"46787:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24074,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24063,"src":"46791:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24075,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24065,"src":"46795:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24069,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46726:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46730:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46726:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46726:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24068,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"46710:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46710:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24078,"nodeType":"ExpressionStatement","src":"46710:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46634:3:18","parameters":{"id":24066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24059,"mutability":"mutable","name":"p0","nameLocation":"46643:2:18","nodeType":"VariableDeclaration","scope":24080,"src":"46638:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24058,"name":"bool","nodeType":"ElementaryTypeName","src":"46638:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24061,"mutability":"mutable","name":"p1","nameLocation":"46655:2:18","nodeType":"VariableDeclaration","scope":24080,"src":"46647:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24060,"name":"uint256","nodeType":"ElementaryTypeName","src":"46647:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24063,"mutability":"mutable","name":"p2","nameLocation":"46664:2:18","nodeType":"VariableDeclaration","scope":24080,"src":"46659:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24062,"name":"bool","nodeType":"ElementaryTypeName","src":"46659:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24065,"mutability":"mutable","name":"p3","nameLocation":"46682:2:18","nodeType":"VariableDeclaration","scope":24080,"src":"46668:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24064,"name":"string","nodeType":"ElementaryTypeName","src":"46668:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46637:48:18"},"returnParameters":{"id":24067,"nodeType":"ParameterList","parameters":[],"src":"46700:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24103,"nodeType":"FunctionDefinition","src":"46812:170:18","nodes":[],"body":{"id":24102,"nodeType":"Block","src":"46878:104:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29","id":24094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46928:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},"value":"log(bool,uint256,bool,bool)"},{"id":24095,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24082,"src":"46959:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24096,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24084,"src":"46963:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24097,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24086,"src":"46967:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24098,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24088,"src":"46971:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46904:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46908:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46904:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46904:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24091,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"46888:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46888:87:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24101,"nodeType":"ExpressionStatement","src":"46888:87:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46821:3:18","parameters":{"id":24089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24082,"mutability":"mutable","name":"p0","nameLocation":"46830:2:18","nodeType":"VariableDeclaration","scope":24103,"src":"46825:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24081,"name":"bool","nodeType":"ElementaryTypeName","src":"46825:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24084,"mutability":"mutable","name":"p1","nameLocation":"46842:2:18","nodeType":"VariableDeclaration","scope":24103,"src":"46834:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24083,"name":"uint256","nodeType":"ElementaryTypeName","src":"46834:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24086,"mutability":"mutable","name":"p2","nameLocation":"46851:2:18","nodeType":"VariableDeclaration","scope":24103,"src":"46846:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24085,"name":"bool","nodeType":"ElementaryTypeName","src":"46846:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24088,"mutability":"mutable","name":"p3","nameLocation":"46860:2:18","nodeType":"VariableDeclaration","scope":24103,"src":"46855:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24087,"name":"bool","nodeType":"ElementaryTypeName","src":"46855:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46824:39:18"},"returnParameters":{"id":24090,"nodeType":"ParameterList","parameters":[],"src":"46878:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24126,"nodeType":"FunctionDefinition","src":"46988:176:18","nodes":[],"body":{"id":24125,"nodeType":"Block","src":"47057:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329","id":24117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47107:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},"value":"log(bool,uint256,bool,address)"},{"id":24118,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24105,"src":"47141:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24119,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24107,"src":"47145:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24120,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24109,"src":"47149:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24121,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24111,"src":"47153:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24115,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47083:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47087:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47083:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47083:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24114,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"47067:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47067:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24124,"nodeType":"ExpressionStatement","src":"47067:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46997:3:18","parameters":{"id":24112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24105,"mutability":"mutable","name":"p0","nameLocation":"47006:2:18","nodeType":"VariableDeclaration","scope":24126,"src":"47001:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24104,"name":"bool","nodeType":"ElementaryTypeName","src":"47001:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24107,"mutability":"mutable","name":"p1","nameLocation":"47018:2:18","nodeType":"VariableDeclaration","scope":24126,"src":"47010:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24106,"name":"uint256","nodeType":"ElementaryTypeName","src":"47010:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24109,"mutability":"mutable","name":"p2","nameLocation":"47027:2:18","nodeType":"VariableDeclaration","scope":24126,"src":"47022:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24108,"name":"bool","nodeType":"ElementaryTypeName","src":"47022:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24111,"mutability":"mutable","name":"p3","nameLocation":"47039:2:18","nodeType":"VariableDeclaration","scope":24126,"src":"47031:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24110,"name":"address","nodeType":"ElementaryTypeName","src":"47031:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47000:42:18"},"returnParameters":{"id":24113,"nodeType":"ParameterList","parameters":[],"src":"47057:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24149,"nodeType":"FunctionDefinition","src":"47170:182:18","nodes":[],"body":{"id":24148,"nodeType":"Block","src":"47242:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629","id":24140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47292:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},"value":"log(bool,uint256,address,uint256)"},{"id":24141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24128,"src":"47329:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24130,"src":"47333:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24132,"src":"47337:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24144,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24134,"src":"47341:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47268:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47272:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47268:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47268:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"47252:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47252:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24147,"nodeType":"ExpressionStatement","src":"47252:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47179:3:18","parameters":{"id":24135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24128,"mutability":"mutable","name":"p0","nameLocation":"47188:2:18","nodeType":"VariableDeclaration","scope":24149,"src":"47183:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24127,"name":"bool","nodeType":"ElementaryTypeName","src":"47183:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24130,"mutability":"mutable","name":"p1","nameLocation":"47200:2:18","nodeType":"VariableDeclaration","scope":24149,"src":"47192:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24129,"name":"uint256","nodeType":"ElementaryTypeName","src":"47192:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24132,"mutability":"mutable","name":"p2","nameLocation":"47212:2:18","nodeType":"VariableDeclaration","scope":24149,"src":"47204:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24131,"name":"address","nodeType":"ElementaryTypeName","src":"47204:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24134,"mutability":"mutable","name":"p3","nameLocation":"47224:2:18","nodeType":"VariableDeclaration","scope":24149,"src":"47216:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24133,"name":"uint256","nodeType":"ElementaryTypeName","src":"47216:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47182:45:18"},"returnParameters":{"id":24136,"nodeType":"ParameterList","parameters":[],"src":"47242:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24172,"nodeType":"FunctionDefinition","src":"47358:187:18","nodes":[],"body":{"id":24171,"nodeType":"Block","src":"47436:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729","id":24163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47486:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},"value":"log(bool,uint256,address,string)"},{"id":24164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24151,"src":"47522:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24165,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24153,"src":"47526:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24166,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24155,"src":"47530:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24167,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24157,"src":"47534:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47462:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47466:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47462:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47462:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"47446:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47446:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24170,"nodeType":"ExpressionStatement","src":"47446:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47367:3:18","parameters":{"id":24158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24151,"mutability":"mutable","name":"p0","nameLocation":"47376:2:18","nodeType":"VariableDeclaration","scope":24172,"src":"47371:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24150,"name":"bool","nodeType":"ElementaryTypeName","src":"47371:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24153,"mutability":"mutable","name":"p1","nameLocation":"47388:2:18","nodeType":"VariableDeclaration","scope":24172,"src":"47380:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24152,"name":"uint256","nodeType":"ElementaryTypeName","src":"47380:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24155,"mutability":"mutable","name":"p2","nameLocation":"47400:2:18","nodeType":"VariableDeclaration","scope":24172,"src":"47392:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24154,"name":"address","nodeType":"ElementaryTypeName","src":"47392:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24157,"mutability":"mutable","name":"p3","nameLocation":"47418:2:18","nodeType":"VariableDeclaration","scope":24172,"src":"47404:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24156,"name":"string","nodeType":"ElementaryTypeName","src":"47404:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47370:51:18"},"returnParameters":{"id":24159,"nodeType":"ParameterList","parameters":[],"src":"47436:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24195,"nodeType":"FunctionDefinition","src":"47551:176:18","nodes":[],"body":{"id":24194,"nodeType":"Block","src":"47620:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29","id":24186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47670:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},"value":"log(bool,uint256,address,bool)"},{"id":24187,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24174,"src":"47704:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24188,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24176,"src":"47708:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24189,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24178,"src":"47712:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24190,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24180,"src":"47716:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24184,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47646:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47650:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47646:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47646:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24183,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"47630:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47630:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24193,"nodeType":"ExpressionStatement","src":"47630:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47560:3:18","parameters":{"id":24181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24174,"mutability":"mutable","name":"p0","nameLocation":"47569:2:18","nodeType":"VariableDeclaration","scope":24195,"src":"47564:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24173,"name":"bool","nodeType":"ElementaryTypeName","src":"47564:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24176,"mutability":"mutable","name":"p1","nameLocation":"47581:2:18","nodeType":"VariableDeclaration","scope":24195,"src":"47573:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24175,"name":"uint256","nodeType":"ElementaryTypeName","src":"47573:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24178,"mutability":"mutable","name":"p2","nameLocation":"47593:2:18","nodeType":"VariableDeclaration","scope":24195,"src":"47585:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24177,"name":"address","nodeType":"ElementaryTypeName","src":"47585:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24180,"mutability":"mutable","name":"p3","nameLocation":"47602:2:18","nodeType":"VariableDeclaration","scope":24195,"src":"47597:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24179,"name":"bool","nodeType":"ElementaryTypeName","src":"47597:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47563:42:18"},"returnParameters":{"id":24182,"nodeType":"ParameterList","parameters":[],"src":"47620:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24218,"nodeType":"FunctionDefinition","src":"47733:182:18","nodes":[],"body":{"id":24217,"nodeType":"Block","src":"47805:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329","id":24209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47855:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},"value":"log(bool,uint256,address,address)"},{"id":24210,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24197,"src":"47892:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24211,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24199,"src":"47896:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24212,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24201,"src":"47900:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24213,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24203,"src":"47904:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24207,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47831:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47835:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47831:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47831:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24206,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"47815:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47815:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24216,"nodeType":"ExpressionStatement","src":"47815:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47742:3:18","parameters":{"id":24204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24197,"mutability":"mutable","name":"p0","nameLocation":"47751:2:18","nodeType":"VariableDeclaration","scope":24218,"src":"47746:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24196,"name":"bool","nodeType":"ElementaryTypeName","src":"47746:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24199,"mutability":"mutable","name":"p1","nameLocation":"47763:2:18","nodeType":"VariableDeclaration","scope":24218,"src":"47755:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24198,"name":"uint256","nodeType":"ElementaryTypeName","src":"47755:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24201,"mutability":"mutable","name":"p2","nameLocation":"47775:2:18","nodeType":"VariableDeclaration","scope":24218,"src":"47767:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24200,"name":"address","nodeType":"ElementaryTypeName","src":"47767:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24203,"mutability":"mutable","name":"p3","nameLocation":"47787:2:18","nodeType":"VariableDeclaration","scope":24218,"src":"47779:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24202,"name":"address","nodeType":"ElementaryTypeName","src":"47779:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47745:45:18"},"returnParameters":{"id":24205,"nodeType":"ParameterList","parameters":[],"src":"47805:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24241,"nodeType":"FunctionDefinition","src":"47921:187:18","nodes":[],"body":{"id":24240,"nodeType":"Block","src":"47999:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629","id":24232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48049:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},"value":"log(bool,string,uint256,uint256)"},{"id":24233,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24220,"src":"48085:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24234,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24222,"src":"48089:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24235,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24224,"src":"48093:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24236,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24226,"src":"48097:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24230,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48025:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48029:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48025:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48025:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24229,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"48009:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48009:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24239,"nodeType":"ExpressionStatement","src":"48009:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47930:3:18","parameters":{"id":24227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24220,"mutability":"mutable","name":"p0","nameLocation":"47939:2:18","nodeType":"VariableDeclaration","scope":24241,"src":"47934:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24219,"name":"bool","nodeType":"ElementaryTypeName","src":"47934:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24222,"mutability":"mutable","name":"p1","nameLocation":"47957:2:18","nodeType":"VariableDeclaration","scope":24241,"src":"47943:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24221,"name":"string","nodeType":"ElementaryTypeName","src":"47943:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24224,"mutability":"mutable","name":"p2","nameLocation":"47969:2:18","nodeType":"VariableDeclaration","scope":24241,"src":"47961:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24223,"name":"uint256","nodeType":"ElementaryTypeName","src":"47961:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24226,"mutability":"mutable","name":"p3","nameLocation":"47981:2:18","nodeType":"VariableDeclaration","scope":24241,"src":"47973:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24225,"name":"uint256","nodeType":"ElementaryTypeName","src":"47973:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47933:51:18"},"returnParameters":{"id":24228,"nodeType":"ParameterList","parameters":[],"src":"47999:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24264,"nodeType":"FunctionDefinition","src":"48114:192:18","nodes":[],"body":{"id":24263,"nodeType":"Block","src":"48198:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729","id":24255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48248:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},"value":"log(bool,string,uint256,string)"},{"id":24256,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24243,"src":"48283:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24257,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24245,"src":"48287:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24258,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24247,"src":"48291:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24259,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24249,"src":"48295:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24253,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48224:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48228:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48224:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48224:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24252,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"48208:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48208:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24262,"nodeType":"ExpressionStatement","src":"48208:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48123:3:18","parameters":{"id":24250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24243,"mutability":"mutable","name":"p0","nameLocation":"48132:2:18","nodeType":"VariableDeclaration","scope":24264,"src":"48127:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24242,"name":"bool","nodeType":"ElementaryTypeName","src":"48127:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24245,"mutability":"mutable","name":"p1","nameLocation":"48150:2:18","nodeType":"VariableDeclaration","scope":24264,"src":"48136:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24244,"name":"string","nodeType":"ElementaryTypeName","src":"48136:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24247,"mutability":"mutable","name":"p2","nameLocation":"48162:2:18","nodeType":"VariableDeclaration","scope":24264,"src":"48154:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24246,"name":"uint256","nodeType":"ElementaryTypeName","src":"48154:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24249,"mutability":"mutable","name":"p3","nameLocation":"48180:2:18","nodeType":"VariableDeclaration","scope":24264,"src":"48166:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24248,"name":"string","nodeType":"ElementaryTypeName","src":"48166:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48126:57:18"},"returnParameters":{"id":24251,"nodeType":"ParameterList","parameters":[],"src":"48198:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24287,"nodeType":"FunctionDefinition","src":"48312:181:18","nodes":[],"body":{"id":24286,"nodeType":"Block","src":"48387:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29","id":24278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48437:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},"value":"log(bool,string,uint256,bool)"},{"id":24279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24266,"src":"48470:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24268,"src":"48474:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24270,"src":"48478:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24282,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24272,"src":"48482:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48413:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48417:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48413:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48413:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"48397:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48397:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24285,"nodeType":"ExpressionStatement","src":"48397:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48321:3:18","parameters":{"id":24273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24266,"mutability":"mutable","name":"p0","nameLocation":"48330:2:18","nodeType":"VariableDeclaration","scope":24287,"src":"48325:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24265,"name":"bool","nodeType":"ElementaryTypeName","src":"48325:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24268,"mutability":"mutable","name":"p1","nameLocation":"48348:2:18","nodeType":"VariableDeclaration","scope":24287,"src":"48334:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24267,"name":"string","nodeType":"ElementaryTypeName","src":"48334:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24270,"mutability":"mutable","name":"p2","nameLocation":"48360:2:18","nodeType":"VariableDeclaration","scope":24287,"src":"48352:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24269,"name":"uint256","nodeType":"ElementaryTypeName","src":"48352:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24272,"mutability":"mutable","name":"p3","nameLocation":"48369:2:18","nodeType":"VariableDeclaration","scope":24287,"src":"48364:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24271,"name":"bool","nodeType":"ElementaryTypeName","src":"48364:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48324:48:18"},"returnParameters":{"id":24274,"nodeType":"ParameterList","parameters":[],"src":"48387:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24310,"nodeType":"FunctionDefinition","src":"48499:187:18","nodes":[],"body":{"id":24309,"nodeType":"Block","src":"48577:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329","id":24301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48627:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},"value":"log(bool,string,uint256,address)"},{"id":24302,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24289,"src":"48663:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24303,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24291,"src":"48667:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24304,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24293,"src":"48671:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24305,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24295,"src":"48675:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24299,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48603:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48607:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48603:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48603:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24298,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"48587:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48587:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24308,"nodeType":"ExpressionStatement","src":"48587:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48508:3:18","parameters":{"id":24296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24289,"mutability":"mutable","name":"p0","nameLocation":"48517:2:18","nodeType":"VariableDeclaration","scope":24310,"src":"48512:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24288,"name":"bool","nodeType":"ElementaryTypeName","src":"48512:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24291,"mutability":"mutable","name":"p1","nameLocation":"48535:2:18","nodeType":"VariableDeclaration","scope":24310,"src":"48521:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24290,"name":"string","nodeType":"ElementaryTypeName","src":"48521:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24293,"mutability":"mutable","name":"p2","nameLocation":"48547:2:18","nodeType":"VariableDeclaration","scope":24310,"src":"48539:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24292,"name":"uint256","nodeType":"ElementaryTypeName","src":"48539:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24295,"mutability":"mutable","name":"p3","nameLocation":"48559:2:18","nodeType":"VariableDeclaration","scope":24310,"src":"48551:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24294,"name":"address","nodeType":"ElementaryTypeName","src":"48551:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48511:51:18"},"returnParameters":{"id":24297,"nodeType":"ParameterList","parameters":[],"src":"48577:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24333,"nodeType":"FunctionDefinition","src":"48692:192:18","nodes":[],"body":{"id":24332,"nodeType":"Block","src":"48776:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629","id":24324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48826:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},"value":"log(bool,string,string,uint256)"},{"id":24325,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24312,"src":"48861:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24326,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24314,"src":"48865:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24327,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24316,"src":"48869:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24328,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24318,"src":"48873:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24322,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48802:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48806:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48802:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48802:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"48786:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48786:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24331,"nodeType":"ExpressionStatement","src":"48786:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48701:3:18","parameters":{"id":24319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24312,"mutability":"mutable","name":"p0","nameLocation":"48710:2:18","nodeType":"VariableDeclaration","scope":24333,"src":"48705:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24311,"name":"bool","nodeType":"ElementaryTypeName","src":"48705:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24314,"mutability":"mutable","name":"p1","nameLocation":"48728:2:18","nodeType":"VariableDeclaration","scope":24333,"src":"48714:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24313,"name":"string","nodeType":"ElementaryTypeName","src":"48714:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24316,"mutability":"mutable","name":"p2","nameLocation":"48746:2:18","nodeType":"VariableDeclaration","scope":24333,"src":"48732:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24315,"name":"string","nodeType":"ElementaryTypeName","src":"48732:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24318,"mutability":"mutable","name":"p3","nameLocation":"48758:2:18","nodeType":"VariableDeclaration","scope":24333,"src":"48750:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24317,"name":"uint256","nodeType":"ElementaryTypeName","src":"48750:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48704:57:18"},"returnParameters":{"id":24320,"nodeType":"ParameterList","parameters":[],"src":"48776:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24356,"nodeType":"FunctionDefinition","src":"48890:197:18","nodes":[],"body":{"id":24355,"nodeType":"Block","src":"48980:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":24347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49030:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":24348,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24335,"src":"49064:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24349,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24337,"src":"49068:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24350,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24339,"src":"49072:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24351,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24341,"src":"49076:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24345,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49006:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49010:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49006:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49006:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24344,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"48990:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48990:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24354,"nodeType":"ExpressionStatement","src":"48990:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48899:3:18","parameters":{"id":24342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24335,"mutability":"mutable","name":"p0","nameLocation":"48908:2:18","nodeType":"VariableDeclaration","scope":24356,"src":"48903:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24334,"name":"bool","nodeType":"ElementaryTypeName","src":"48903:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24337,"mutability":"mutable","name":"p1","nameLocation":"48926:2:18","nodeType":"VariableDeclaration","scope":24356,"src":"48912:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24336,"name":"string","nodeType":"ElementaryTypeName","src":"48912:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24339,"mutability":"mutable","name":"p2","nameLocation":"48944:2:18","nodeType":"VariableDeclaration","scope":24356,"src":"48930:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24338,"name":"string","nodeType":"ElementaryTypeName","src":"48930:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24341,"mutability":"mutable","name":"p3","nameLocation":"48962:2:18","nodeType":"VariableDeclaration","scope":24356,"src":"48948:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24340,"name":"string","nodeType":"ElementaryTypeName","src":"48948:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48902:63:18"},"returnParameters":{"id":24343,"nodeType":"ParameterList","parameters":[],"src":"48980:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24379,"nodeType":"FunctionDefinition","src":"49093:186:18","nodes":[],"body":{"id":24378,"nodeType":"Block","src":"49174:105:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":24370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49224:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":24371,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24358,"src":"49256:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24372,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24360,"src":"49260:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24373,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24362,"src":"49264:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24374,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24364,"src":"49268:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49200:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49204:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49200:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49200:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24367,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"49184:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49184:88:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24377,"nodeType":"ExpressionStatement","src":"49184:88:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49102:3:18","parameters":{"id":24365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24358,"mutability":"mutable","name":"p0","nameLocation":"49111:2:18","nodeType":"VariableDeclaration","scope":24379,"src":"49106:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24357,"name":"bool","nodeType":"ElementaryTypeName","src":"49106:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24360,"mutability":"mutable","name":"p1","nameLocation":"49129:2:18","nodeType":"VariableDeclaration","scope":24379,"src":"49115:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24359,"name":"string","nodeType":"ElementaryTypeName","src":"49115:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24362,"mutability":"mutable","name":"p2","nameLocation":"49147:2:18","nodeType":"VariableDeclaration","scope":24379,"src":"49133:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24361,"name":"string","nodeType":"ElementaryTypeName","src":"49133:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24364,"mutability":"mutable","name":"p3","nameLocation":"49156:2:18","nodeType":"VariableDeclaration","scope":24379,"src":"49151:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24363,"name":"bool","nodeType":"ElementaryTypeName","src":"49151:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49105:54:18"},"returnParameters":{"id":24366,"nodeType":"ParameterList","parameters":[],"src":"49174:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24402,"nodeType":"FunctionDefinition","src":"49285:192:18","nodes":[],"body":{"id":24401,"nodeType":"Block","src":"49369:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":24393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49419:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":24394,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24381,"src":"49454:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24395,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24383,"src":"49458:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24396,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24385,"src":"49462:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24397,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24387,"src":"49466:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24391,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49395:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49399:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49395:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49395:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24390,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"49379:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49379:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24400,"nodeType":"ExpressionStatement","src":"49379:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49294:3:18","parameters":{"id":24388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24381,"mutability":"mutable","name":"p0","nameLocation":"49303:2:18","nodeType":"VariableDeclaration","scope":24402,"src":"49298:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24380,"name":"bool","nodeType":"ElementaryTypeName","src":"49298:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24383,"mutability":"mutable","name":"p1","nameLocation":"49321:2:18","nodeType":"VariableDeclaration","scope":24402,"src":"49307:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24382,"name":"string","nodeType":"ElementaryTypeName","src":"49307:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24385,"mutability":"mutable","name":"p2","nameLocation":"49339:2:18","nodeType":"VariableDeclaration","scope":24402,"src":"49325:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24384,"name":"string","nodeType":"ElementaryTypeName","src":"49325:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24387,"mutability":"mutable","name":"p3","nameLocation":"49351:2:18","nodeType":"VariableDeclaration","scope":24402,"src":"49343:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24386,"name":"address","nodeType":"ElementaryTypeName","src":"49343:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49297:57:18"},"returnParameters":{"id":24389,"nodeType":"ParameterList","parameters":[],"src":"49369:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24425,"nodeType":"FunctionDefinition","src":"49483:181:18","nodes":[],"body":{"id":24424,"nodeType":"Block","src":"49558:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629","id":24416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49608:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},"value":"log(bool,string,bool,uint256)"},{"id":24417,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24404,"src":"49641:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24418,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24406,"src":"49645:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24419,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24408,"src":"49649:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24420,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24410,"src":"49653:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49584:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49588:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49584:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49584:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24413,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"49568:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49568:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24423,"nodeType":"ExpressionStatement","src":"49568:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49492:3:18","parameters":{"id":24411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24404,"mutability":"mutable","name":"p0","nameLocation":"49501:2:18","nodeType":"VariableDeclaration","scope":24425,"src":"49496:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24403,"name":"bool","nodeType":"ElementaryTypeName","src":"49496:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24406,"mutability":"mutable","name":"p1","nameLocation":"49519:2:18","nodeType":"VariableDeclaration","scope":24425,"src":"49505:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24405,"name":"string","nodeType":"ElementaryTypeName","src":"49505:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24408,"mutability":"mutable","name":"p2","nameLocation":"49528:2:18","nodeType":"VariableDeclaration","scope":24425,"src":"49523:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24407,"name":"bool","nodeType":"ElementaryTypeName","src":"49523:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24410,"mutability":"mutable","name":"p3","nameLocation":"49540:2:18","nodeType":"VariableDeclaration","scope":24425,"src":"49532:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24409,"name":"uint256","nodeType":"ElementaryTypeName","src":"49532:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49495:48:18"},"returnParameters":{"id":24412,"nodeType":"ParameterList","parameters":[],"src":"49558:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24448,"nodeType":"FunctionDefinition","src":"49670:186:18","nodes":[],"body":{"id":24447,"nodeType":"Block","src":"49751:105:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":24439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49801:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":24440,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24427,"src":"49833:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24441,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24429,"src":"49837:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24442,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24431,"src":"49841:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24443,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24433,"src":"49845:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24437,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49777:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49781:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49777:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49777:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24436,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"49761:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49761:88:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24446,"nodeType":"ExpressionStatement","src":"49761:88:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49679:3:18","parameters":{"id":24434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24427,"mutability":"mutable","name":"p0","nameLocation":"49688:2:18","nodeType":"VariableDeclaration","scope":24448,"src":"49683:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24426,"name":"bool","nodeType":"ElementaryTypeName","src":"49683:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24429,"mutability":"mutable","name":"p1","nameLocation":"49706:2:18","nodeType":"VariableDeclaration","scope":24448,"src":"49692:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24428,"name":"string","nodeType":"ElementaryTypeName","src":"49692:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24431,"mutability":"mutable","name":"p2","nameLocation":"49715:2:18","nodeType":"VariableDeclaration","scope":24448,"src":"49710:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24430,"name":"bool","nodeType":"ElementaryTypeName","src":"49710:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24433,"mutability":"mutable","name":"p3","nameLocation":"49733:2:18","nodeType":"VariableDeclaration","scope":24448,"src":"49719:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24432,"name":"string","nodeType":"ElementaryTypeName","src":"49719:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49682:54:18"},"returnParameters":{"id":24435,"nodeType":"ParameterList","parameters":[],"src":"49751:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24471,"nodeType":"FunctionDefinition","src":"49862:175:18","nodes":[],"body":{"id":24470,"nodeType":"Block","src":"49934:103:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":24462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49984:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":24463,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24450,"src":"50014:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24464,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24452,"src":"50018:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24465,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24454,"src":"50022:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24466,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24456,"src":"50026:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49960:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49964:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49960:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49960:69:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24459,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"49944:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49944:86:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24469,"nodeType":"ExpressionStatement","src":"49944:86:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49871:3:18","parameters":{"id":24457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24450,"mutability":"mutable","name":"p0","nameLocation":"49880:2:18","nodeType":"VariableDeclaration","scope":24471,"src":"49875:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24449,"name":"bool","nodeType":"ElementaryTypeName","src":"49875:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24452,"mutability":"mutable","name":"p1","nameLocation":"49898:2:18","nodeType":"VariableDeclaration","scope":24471,"src":"49884:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24451,"name":"string","nodeType":"ElementaryTypeName","src":"49884:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24454,"mutability":"mutable","name":"p2","nameLocation":"49907:2:18","nodeType":"VariableDeclaration","scope":24471,"src":"49902:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24453,"name":"bool","nodeType":"ElementaryTypeName","src":"49902:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24456,"mutability":"mutable","name":"p3","nameLocation":"49916:2:18","nodeType":"VariableDeclaration","scope":24471,"src":"49911:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24455,"name":"bool","nodeType":"ElementaryTypeName","src":"49911:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49874:45:18"},"returnParameters":{"id":24458,"nodeType":"ParameterList","parameters":[],"src":"49934:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24494,"nodeType":"FunctionDefinition","src":"50043:181:18","nodes":[],"body":{"id":24493,"nodeType":"Block","src":"50118:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":24485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50168:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":24486,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24473,"src":"50201:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24487,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24475,"src":"50205:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24488,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24477,"src":"50209:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24489,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24479,"src":"50213:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24483,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50144:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50148:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50144:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50144:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24482,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"50128:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50128:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24492,"nodeType":"ExpressionStatement","src":"50128:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50052:3:18","parameters":{"id":24480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24473,"mutability":"mutable","name":"p0","nameLocation":"50061:2:18","nodeType":"VariableDeclaration","scope":24494,"src":"50056:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24472,"name":"bool","nodeType":"ElementaryTypeName","src":"50056:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24475,"mutability":"mutable","name":"p1","nameLocation":"50079:2:18","nodeType":"VariableDeclaration","scope":24494,"src":"50065:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24474,"name":"string","nodeType":"ElementaryTypeName","src":"50065:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24477,"mutability":"mutable","name":"p2","nameLocation":"50088:2:18","nodeType":"VariableDeclaration","scope":24494,"src":"50083:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24476,"name":"bool","nodeType":"ElementaryTypeName","src":"50083:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24479,"mutability":"mutable","name":"p3","nameLocation":"50100:2:18","nodeType":"VariableDeclaration","scope":24494,"src":"50092:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24478,"name":"address","nodeType":"ElementaryTypeName","src":"50092:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50055:48:18"},"returnParameters":{"id":24481,"nodeType":"ParameterList","parameters":[],"src":"50118:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24517,"nodeType":"FunctionDefinition","src":"50230:187:18","nodes":[],"body":{"id":24516,"nodeType":"Block","src":"50308:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629","id":24508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50358:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},"value":"log(bool,string,address,uint256)"},{"id":24509,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24496,"src":"50394:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24510,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24498,"src":"50398:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24511,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24500,"src":"50402:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24512,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24502,"src":"50406:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50334:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50338:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50334:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50334:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"50318:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50318:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24515,"nodeType":"ExpressionStatement","src":"50318:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50239:3:18","parameters":{"id":24503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24496,"mutability":"mutable","name":"p0","nameLocation":"50248:2:18","nodeType":"VariableDeclaration","scope":24517,"src":"50243:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24495,"name":"bool","nodeType":"ElementaryTypeName","src":"50243:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24498,"mutability":"mutable","name":"p1","nameLocation":"50266:2:18","nodeType":"VariableDeclaration","scope":24517,"src":"50252:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24497,"name":"string","nodeType":"ElementaryTypeName","src":"50252:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24500,"mutability":"mutable","name":"p2","nameLocation":"50278:2:18","nodeType":"VariableDeclaration","scope":24517,"src":"50270:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24499,"name":"address","nodeType":"ElementaryTypeName","src":"50270:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24502,"mutability":"mutable","name":"p3","nameLocation":"50290:2:18","nodeType":"VariableDeclaration","scope":24517,"src":"50282:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24501,"name":"uint256","nodeType":"ElementaryTypeName","src":"50282:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50242:51:18"},"returnParameters":{"id":24504,"nodeType":"ParameterList","parameters":[],"src":"50308:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24540,"nodeType":"FunctionDefinition","src":"50423:192:18","nodes":[],"body":{"id":24539,"nodeType":"Block","src":"50507:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":24531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50557:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":24532,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24519,"src":"50592:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24533,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24521,"src":"50596:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24534,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24523,"src":"50600:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24535,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24525,"src":"50604:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24529,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50533:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50537:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50533:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50533:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24528,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"50517:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50517:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24538,"nodeType":"ExpressionStatement","src":"50517:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50432:3:18","parameters":{"id":24526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24519,"mutability":"mutable","name":"p0","nameLocation":"50441:2:18","nodeType":"VariableDeclaration","scope":24540,"src":"50436:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24518,"name":"bool","nodeType":"ElementaryTypeName","src":"50436:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24521,"mutability":"mutable","name":"p1","nameLocation":"50459:2:18","nodeType":"VariableDeclaration","scope":24540,"src":"50445:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24520,"name":"string","nodeType":"ElementaryTypeName","src":"50445:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24523,"mutability":"mutable","name":"p2","nameLocation":"50471:2:18","nodeType":"VariableDeclaration","scope":24540,"src":"50463:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24522,"name":"address","nodeType":"ElementaryTypeName","src":"50463:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24525,"mutability":"mutable","name":"p3","nameLocation":"50489:2:18","nodeType":"VariableDeclaration","scope":24540,"src":"50475:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24524,"name":"string","nodeType":"ElementaryTypeName","src":"50475:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50435:57:18"},"returnParameters":{"id":24527,"nodeType":"ParameterList","parameters":[],"src":"50507:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24563,"nodeType":"FunctionDefinition","src":"50621:181:18","nodes":[],"body":{"id":24562,"nodeType":"Block","src":"50696:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":24554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50746:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":24555,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24542,"src":"50779:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24556,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24544,"src":"50783:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24557,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24546,"src":"50787:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24558,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24548,"src":"50791:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24552,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50722:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50726:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50722:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50722:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24551,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"50706:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50706:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24561,"nodeType":"ExpressionStatement","src":"50706:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50630:3:18","parameters":{"id":24549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24542,"mutability":"mutable","name":"p0","nameLocation":"50639:2:18","nodeType":"VariableDeclaration","scope":24563,"src":"50634:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24541,"name":"bool","nodeType":"ElementaryTypeName","src":"50634:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24544,"mutability":"mutable","name":"p1","nameLocation":"50657:2:18","nodeType":"VariableDeclaration","scope":24563,"src":"50643:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24543,"name":"string","nodeType":"ElementaryTypeName","src":"50643:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24546,"mutability":"mutable","name":"p2","nameLocation":"50669:2:18","nodeType":"VariableDeclaration","scope":24563,"src":"50661:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24545,"name":"address","nodeType":"ElementaryTypeName","src":"50661:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24548,"mutability":"mutable","name":"p3","nameLocation":"50678:2:18","nodeType":"VariableDeclaration","scope":24563,"src":"50673:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24547,"name":"bool","nodeType":"ElementaryTypeName","src":"50673:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50633:48:18"},"returnParameters":{"id":24550,"nodeType":"ParameterList","parameters":[],"src":"50696:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24586,"nodeType":"FunctionDefinition","src":"50808:187:18","nodes":[],"body":{"id":24585,"nodeType":"Block","src":"50886:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":24577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50936:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":24578,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24565,"src":"50972:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24579,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24567,"src":"50976:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24580,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24569,"src":"50980:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24581,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24571,"src":"50984:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24575,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50912:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50916:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50912:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50912:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24574,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"50896:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50896:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24584,"nodeType":"ExpressionStatement","src":"50896:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50817:3:18","parameters":{"id":24572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24565,"mutability":"mutable","name":"p0","nameLocation":"50826:2:18","nodeType":"VariableDeclaration","scope":24586,"src":"50821:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24564,"name":"bool","nodeType":"ElementaryTypeName","src":"50821:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24567,"mutability":"mutable","name":"p1","nameLocation":"50844:2:18","nodeType":"VariableDeclaration","scope":24586,"src":"50830:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24566,"name":"string","nodeType":"ElementaryTypeName","src":"50830:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24569,"mutability":"mutable","name":"p2","nameLocation":"50856:2:18","nodeType":"VariableDeclaration","scope":24586,"src":"50848:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24568,"name":"address","nodeType":"ElementaryTypeName","src":"50848:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24571,"mutability":"mutable","name":"p3","nameLocation":"50868:2:18","nodeType":"VariableDeclaration","scope":24586,"src":"50860:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24570,"name":"address","nodeType":"ElementaryTypeName","src":"50860:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50820:51:18"},"returnParameters":{"id":24573,"nodeType":"ParameterList","parameters":[],"src":"50886:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24609,"nodeType":"FunctionDefinition","src":"51001:176:18","nodes":[],"body":{"id":24608,"nodeType":"Block","src":"51070:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629","id":24600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51120:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},"value":"log(bool,bool,uint256,uint256)"},{"id":24601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24588,"src":"51154:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24602,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24590,"src":"51158:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24603,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24592,"src":"51162:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24604,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24594,"src":"51166:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51096:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51100:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51096:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51096:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"51080:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51080:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24607,"nodeType":"ExpressionStatement","src":"51080:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51010:3:18","parameters":{"id":24595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24588,"mutability":"mutable","name":"p0","nameLocation":"51019:2:18","nodeType":"VariableDeclaration","scope":24609,"src":"51014:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24587,"name":"bool","nodeType":"ElementaryTypeName","src":"51014:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24590,"mutability":"mutable","name":"p1","nameLocation":"51028:2:18","nodeType":"VariableDeclaration","scope":24609,"src":"51023:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24589,"name":"bool","nodeType":"ElementaryTypeName","src":"51023:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24592,"mutability":"mutable","name":"p2","nameLocation":"51040:2:18","nodeType":"VariableDeclaration","scope":24609,"src":"51032:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24591,"name":"uint256","nodeType":"ElementaryTypeName","src":"51032:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24594,"mutability":"mutable","name":"p3","nameLocation":"51052:2:18","nodeType":"VariableDeclaration","scope":24609,"src":"51044:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24593,"name":"uint256","nodeType":"ElementaryTypeName","src":"51044:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51013:42:18"},"returnParameters":{"id":24596,"nodeType":"ParameterList","parameters":[],"src":"51070:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24632,"nodeType":"FunctionDefinition","src":"51183:181:18","nodes":[],"body":{"id":24631,"nodeType":"Block","src":"51258:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729","id":24623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51308:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},"value":"log(bool,bool,uint256,string)"},{"id":24624,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24611,"src":"51341:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24625,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24613,"src":"51345:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24626,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24615,"src":"51349:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24627,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24617,"src":"51353:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51284:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51288:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51284:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51284:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24620,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"51268:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51268:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24630,"nodeType":"ExpressionStatement","src":"51268:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51192:3:18","parameters":{"id":24618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24611,"mutability":"mutable","name":"p0","nameLocation":"51201:2:18","nodeType":"VariableDeclaration","scope":24632,"src":"51196:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24610,"name":"bool","nodeType":"ElementaryTypeName","src":"51196:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24613,"mutability":"mutable","name":"p1","nameLocation":"51210:2:18","nodeType":"VariableDeclaration","scope":24632,"src":"51205:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24612,"name":"bool","nodeType":"ElementaryTypeName","src":"51205:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24615,"mutability":"mutable","name":"p2","nameLocation":"51222:2:18","nodeType":"VariableDeclaration","scope":24632,"src":"51214:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24614,"name":"uint256","nodeType":"ElementaryTypeName","src":"51214:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24617,"mutability":"mutable","name":"p3","nameLocation":"51240:2:18","nodeType":"VariableDeclaration","scope":24632,"src":"51226:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24616,"name":"string","nodeType":"ElementaryTypeName","src":"51226:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51195:48:18"},"returnParameters":{"id":24619,"nodeType":"ParameterList","parameters":[],"src":"51258:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24655,"nodeType":"FunctionDefinition","src":"51370:170:18","nodes":[],"body":{"id":24654,"nodeType":"Block","src":"51436:104:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29","id":24646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51486:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},"value":"log(bool,bool,uint256,bool)"},{"id":24647,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24634,"src":"51517:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24648,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24636,"src":"51521:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24649,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24638,"src":"51525:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24650,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24640,"src":"51529:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24644,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51462:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51466:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51462:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51462:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24643,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"51446:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51446:87:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24653,"nodeType":"ExpressionStatement","src":"51446:87:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51379:3:18","parameters":{"id":24641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24634,"mutability":"mutable","name":"p0","nameLocation":"51388:2:18","nodeType":"VariableDeclaration","scope":24655,"src":"51383:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24633,"name":"bool","nodeType":"ElementaryTypeName","src":"51383:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24636,"mutability":"mutable","name":"p1","nameLocation":"51397:2:18","nodeType":"VariableDeclaration","scope":24655,"src":"51392:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24635,"name":"bool","nodeType":"ElementaryTypeName","src":"51392:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24638,"mutability":"mutable","name":"p2","nameLocation":"51409:2:18","nodeType":"VariableDeclaration","scope":24655,"src":"51401:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24637,"name":"uint256","nodeType":"ElementaryTypeName","src":"51401:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24640,"mutability":"mutable","name":"p3","nameLocation":"51418:2:18","nodeType":"VariableDeclaration","scope":24655,"src":"51413:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24639,"name":"bool","nodeType":"ElementaryTypeName","src":"51413:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51382:39:18"},"returnParameters":{"id":24642,"nodeType":"ParameterList","parameters":[],"src":"51436:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24678,"nodeType":"FunctionDefinition","src":"51546:176:18","nodes":[],"body":{"id":24677,"nodeType":"Block","src":"51615:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329","id":24669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51665:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},"value":"log(bool,bool,uint256,address)"},{"id":24670,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24657,"src":"51699:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24671,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24659,"src":"51703:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24672,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24661,"src":"51707:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24673,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24663,"src":"51711:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24667,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51641:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51645:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51641:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51641:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24666,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"51625:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51625:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24676,"nodeType":"ExpressionStatement","src":"51625:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51555:3:18","parameters":{"id":24664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24657,"mutability":"mutable","name":"p0","nameLocation":"51564:2:18","nodeType":"VariableDeclaration","scope":24678,"src":"51559:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24656,"name":"bool","nodeType":"ElementaryTypeName","src":"51559:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24659,"mutability":"mutable","name":"p1","nameLocation":"51573:2:18","nodeType":"VariableDeclaration","scope":24678,"src":"51568:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24658,"name":"bool","nodeType":"ElementaryTypeName","src":"51568:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24661,"mutability":"mutable","name":"p2","nameLocation":"51585:2:18","nodeType":"VariableDeclaration","scope":24678,"src":"51577:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24660,"name":"uint256","nodeType":"ElementaryTypeName","src":"51577:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24663,"mutability":"mutable","name":"p3","nameLocation":"51597:2:18","nodeType":"VariableDeclaration","scope":24678,"src":"51589:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24662,"name":"address","nodeType":"ElementaryTypeName","src":"51589:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51558:42:18"},"returnParameters":{"id":24665,"nodeType":"ParameterList","parameters":[],"src":"51615:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24701,"nodeType":"FunctionDefinition","src":"51728:181:18","nodes":[],"body":{"id":24700,"nodeType":"Block","src":"51803:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629","id":24692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51853:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},"value":"log(bool,bool,string,uint256)"},{"id":24693,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24680,"src":"51886:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24694,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24682,"src":"51890:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24695,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24684,"src":"51894:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24696,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24686,"src":"51898:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24690,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51829:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51833:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51829:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51829:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24689,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"51813:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51813:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24699,"nodeType":"ExpressionStatement","src":"51813:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51737:3:18","parameters":{"id":24687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24680,"mutability":"mutable","name":"p0","nameLocation":"51746:2:18","nodeType":"VariableDeclaration","scope":24701,"src":"51741:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24679,"name":"bool","nodeType":"ElementaryTypeName","src":"51741:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24682,"mutability":"mutable","name":"p1","nameLocation":"51755:2:18","nodeType":"VariableDeclaration","scope":24701,"src":"51750:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24681,"name":"bool","nodeType":"ElementaryTypeName","src":"51750:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24684,"mutability":"mutable","name":"p2","nameLocation":"51773:2:18","nodeType":"VariableDeclaration","scope":24701,"src":"51759:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24683,"name":"string","nodeType":"ElementaryTypeName","src":"51759:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24686,"mutability":"mutable","name":"p3","nameLocation":"51785:2:18","nodeType":"VariableDeclaration","scope":24701,"src":"51777:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24685,"name":"uint256","nodeType":"ElementaryTypeName","src":"51777:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51740:48:18"},"returnParameters":{"id":24688,"nodeType":"ParameterList","parameters":[],"src":"51803:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24724,"nodeType":"FunctionDefinition","src":"51915:186:18","nodes":[],"body":{"id":24723,"nodeType":"Block","src":"51996:105:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":24715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52046:30:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":24716,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24703,"src":"52078:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24717,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24705,"src":"52082:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24718,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24707,"src":"52086:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24719,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24709,"src":"52090:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24713,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52022:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52026:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52022:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52022:71:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24712,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"52006:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52006:88:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24722,"nodeType":"ExpressionStatement","src":"52006:88:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51924:3:18","parameters":{"id":24710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24703,"mutability":"mutable","name":"p0","nameLocation":"51933:2:18","nodeType":"VariableDeclaration","scope":24724,"src":"51928:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24702,"name":"bool","nodeType":"ElementaryTypeName","src":"51928:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24705,"mutability":"mutable","name":"p1","nameLocation":"51942:2:18","nodeType":"VariableDeclaration","scope":24724,"src":"51937:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24704,"name":"bool","nodeType":"ElementaryTypeName","src":"51937:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24707,"mutability":"mutable","name":"p2","nameLocation":"51960:2:18","nodeType":"VariableDeclaration","scope":24724,"src":"51946:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24706,"name":"string","nodeType":"ElementaryTypeName","src":"51946:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24709,"mutability":"mutable","name":"p3","nameLocation":"51978:2:18","nodeType":"VariableDeclaration","scope":24724,"src":"51964:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24708,"name":"string","nodeType":"ElementaryTypeName","src":"51964:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51927:54:18"},"returnParameters":{"id":24711,"nodeType":"ParameterList","parameters":[],"src":"51996:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24747,"nodeType":"FunctionDefinition","src":"52107:175:18","nodes":[],"body":{"id":24746,"nodeType":"Block","src":"52179:103:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":24738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52229:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":24739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24726,"src":"52259:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24728,"src":"52263:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24730,"src":"52267:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24742,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24732,"src":"52271:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52205:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52209:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52205:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52205:69:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"52189:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52189:86:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24745,"nodeType":"ExpressionStatement","src":"52189:86:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52116:3:18","parameters":{"id":24733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24726,"mutability":"mutable","name":"p0","nameLocation":"52125:2:18","nodeType":"VariableDeclaration","scope":24747,"src":"52120:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24725,"name":"bool","nodeType":"ElementaryTypeName","src":"52120:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24728,"mutability":"mutable","name":"p1","nameLocation":"52134:2:18","nodeType":"VariableDeclaration","scope":24747,"src":"52129:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24727,"name":"bool","nodeType":"ElementaryTypeName","src":"52129:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24730,"mutability":"mutable","name":"p2","nameLocation":"52152:2:18","nodeType":"VariableDeclaration","scope":24747,"src":"52138:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24729,"name":"string","nodeType":"ElementaryTypeName","src":"52138:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24732,"mutability":"mutable","name":"p3","nameLocation":"52161:2:18","nodeType":"VariableDeclaration","scope":24747,"src":"52156:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24731,"name":"bool","nodeType":"ElementaryTypeName","src":"52156:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52119:45:18"},"returnParameters":{"id":24734,"nodeType":"ParameterList","parameters":[],"src":"52179:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24770,"nodeType":"FunctionDefinition","src":"52288:181:18","nodes":[],"body":{"id":24769,"nodeType":"Block","src":"52363:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":24761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52413:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":24762,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24749,"src":"52446:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24763,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24751,"src":"52450:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24764,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24753,"src":"52454:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24765,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24755,"src":"52458:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52389:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52393:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52389:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52389:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24758,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"52373:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52373:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24768,"nodeType":"ExpressionStatement","src":"52373:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52297:3:18","parameters":{"id":24756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24749,"mutability":"mutable","name":"p0","nameLocation":"52306:2:18","nodeType":"VariableDeclaration","scope":24770,"src":"52301:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24748,"name":"bool","nodeType":"ElementaryTypeName","src":"52301:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24751,"mutability":"mutable","name":"p1","nameLocation":"52315:2:18","nodeType":"VariableDeclaration","scope":24770,"src":"52310:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24750,"name":"bool","nodeType":"ElementaryTypeName","src":"52310:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24753,"mutability":"mutable","name":"p2","nameLocation":"52333:2:18","nodeType":"VariableDeclaration","scope":24770,"src":"52319:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24752,"name":"string","nodeType":"ElementaryTypeName","src":"52319:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24755,"mutability":"mutable","name":"p3","nameLocation":"52345:2:18","nodeType":"VariableDeclaration","scope":24770,"src":"52337:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24754,"name":"address","nodeType":"ElementaryTypeName","src":"52337:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52300:48:18"},"returnParameters":{"id":24757,"nodeType":"ParameterList","parameters":[],"src":"52363:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24793,"nodeType":"FunctionDefinition","src":"52475:170:18","nodes":[],"body":{"id":24792,"nodeType":"Block","src":"52541:104:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629","id":24784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52591:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},"value":"log(bool,bool,bool,uint256)"},{"id":24785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24772,"src":"52622:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24774,"src":"52626:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24787,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24776,"src":"52630:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24788,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24778,"src":"52634:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52567:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52571:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52567:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52567:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"52551:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52551:87:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24791,"nodeType":"ExpressionStatement","src":"52551:87:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52484:3:18","parameters":{"id":24779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24772,"mutability":"mutable","name":"p0","nameLocation":"52493:2:18","nodeType":"VariableDeclaration","scope":24793,"src":"52488:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24771,"name":"bool","nodeType":"ElementaryTypeName","src":"52488:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24774,"mutability":"mutable","name":"p1","nameLocation":"52502:2:18","nodeType":"VariableDeclaration","scope":24793,"src":"52497:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24773,"name":"bool","nodeType":"ElementaryTypeName","src":"52497:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24776,"mutability":"mutable","name":"p2","nameLocation":"52511:2:18","nodeType":"VariableDeclaration","scope":24793,"src":"52506:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24775,"name":"bool","nodeType":"ElementaryTypeName","src":"52506:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24778,"mutability":"mutable","name":"p3","nameLocation":"52523:2:18","nodeType":"VariableDeclaration","scope":24793,"src":"52515:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24777,"name":"uint256","nodeType":"ElementaryTypeName","src":"52515:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52487:39:18"},"returnParameters":{"id":24780,"nodeType":"ParameterList","parameters":[],"src":"52541:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24816,"nodeType":"FunctionDefinition","src":"52651:175:18","nodes":[],"body":{"id":24815,"nodeType":"Block","src":"52723:103:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":24807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52773:28:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":24808,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24795,"src":"52803:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24809,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24797,"src":"52807:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24810,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24799,"src":"52811:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24811,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24801,"src":"52815:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52749:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52753:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52749:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52749:69:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24804,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"52733:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52733:86:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24814,"nodeType":"ExpressionStatement","src":"52733:86:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52660:3:18","parameters":{"id":24802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24795,"mutability":"mutable","name":"p0","nameLocation":"52669:2:18","nodeType":"VariableDeclaration","scope":24816,"src":"52664:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24794,"name":"bool","nodeType":"ElementaryTypeName","src":"52664:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24797,"mutability":"mutable","name":"p1","nameLocation":"52678:2:18","nodeType":"VariableDeclaration","scope":24816,"src":"52673:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24796,"name":"bool","nodeType":"ElementaryTypeName","src":"52673:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24799,"mutability":"mutable","name":"p2","nameLocation":"52687:2:18","nodeType":"VariableDeclaration","scope":24816,"src":"52682:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24798,"name":"bool","nodeType":"ElementaryTypeName","src":"52682:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24801,"mutability":"mutable","name":"p3","nameLocation":"52705:2:18","nodeType":"VariableDeclaration","scope":24816,"src":"52691:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24800,"name":"string","nodeType":"ElementaryTypeName","src":"52691:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52663:45:18"},"returnParameters":{"id":24803,"nodeType":"ParameterList","parameters":[],"src":"52723:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24839,"nodeType":"FunctionDefinition","src":"52832:164:18","nodes":[],"body":{"id":24838,"nodeType":"Block","src":"52895:101:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":24830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52945:26:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":24831,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24818,"src":"52973:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24832,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24820,"src":"52977:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24833,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24822,"src":"52981:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24834,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24824,"src":"52985:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24828,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52921:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52925:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52921:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52921:67:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24827,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"52905:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52905:84:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24837,"nodeType":"ExpressionStatement","src":"52905:84:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52841:3:18","parameters":{"id":24825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24818,"mutability":"mutable","name":"p0","nameLocation":"52850:2:18","nodeType":"VariableDeclaration","scope":24839,"src":"52845:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24817,"name":"bool","nodeType":"ElementaryTypeName","src":"52845:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24820,"mutability":"mutable","name":"p1","nameLocation":"52859:2:18","nodeType":"VariableDeclaration","scope":24839,"src":"52854:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24819,"name":"bool","nodeType":"ElementaryTypeName","src":"52854:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24822,"mutability":"mutable","name":"p2","nameLocation":"52868:2:18","nodeType":"VariableDeclaration","scope":24839,"src":"52863:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24821,"name":"bool","nodeType":"ElementaryTypeName","src":"52863:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24824,"mutability":"mutable","name":"p3","nameLocation":"52877:2:18","nodeType":"VariableDeclaration","scope":24839,"src":"52872:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24823,"name":"bool","nodeType":"ElementaryTypeName","src":"52872:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52844:36:18"},"returnParameters":{"id":24826,"nodeType":"ParameterList","parameters":[],"src":"52895:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24862,"nodeType":"FunctionDefinition","src":"53002:170:18","nodes":[],"body":{"id":24861,"nodeType":"Block","src":"53068:104:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":24853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53118:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":24854,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24841,"src":"53149:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24855,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24843,"src":"53153:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24856,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24845,"src":"53157:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24857,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24847,"src":"53161:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24851,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53094:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53098:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53094:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53094:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24850,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"53078:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53078:87:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24860,"nodeType":"ExpressionStatement","src":"53078:87:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53011:3:18","parameters":{"id":24848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24841,"mutability":"mutable","name":"p0","nameLocation":"53020:2:18","nodeType":"VariableDeclaration","scope":24862,"src":"53015:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24840,"name":"bool","nodeType":"ElementaryTypeName","src":"53015:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24843,"mutability":"mutable","name":"p1","nameLocation":"53029:2:18","nodeType":"VariableDeclaration","scope":24862,"src":"53024:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24842,"name":"bool","nodeType":"ElementaryTypeName","src":"53024:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24845,"mutability":"mutable","name":"p2","nameLocation":"53038:2:18","nodeType":"VariableDeclaration","scope":24862,"src":"53033:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24844,"name":"bool","nodeType":"ElementaryTypeName","src":"53033:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24847,"mutability":"mutable","name":"p3","nameLocation":"53050:2:18","nodeType":"VariableDeclaration","scope":24862,"src":"53042:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24846,"name":"address","nodeType":"ElementaryTypeName","src":"53042:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53014:39:18"},"returnParameters":{"id":24849,"nodeType":"ParameterList","parameters":[],"src":"53068:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24885,"nodeType":"FunctionDefinition","src":"53178:176:18","nodes":[],"body":{"id":24884,"nodeType":"Block","src":"53247:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629","id":24876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53297:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},"value":"log(bool,bool,address,uint256)"},{"id":24877,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24864,"src":"53331:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24878,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24866,"src":"53335:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24879,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24868,"src":"53339:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24880,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24870,"src":"53343:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53273:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53277:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53273:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53273:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24873,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"53257:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53257:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24883,"nodeType":"ExpressionStatement","src":"53257:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53187:3:18","parameters":{"id":24871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24864,"mutability":"mutable","name":"p0","nameLocation":"53196:2:18","nodeType":"VariableDeclaration","scope":24885,"src":"53191:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24863,"name":"bool","nodeType":"ElementaryTypeName","src":"53191:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24866,"mutability":"mutable","name":"p1","nameLocation":"53205:2:18","nodeType":"VariableDeclaration","scope":24885,"src":"53200:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24865,"name":"bool","nodeType":"ElementaryTypeName","src":"53200:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24868,"mutability":"mutable","name":"p2","nameLocation":"53217:2:18","nodeType":"VariableDeclaration","scope":24885,"src":"53209:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24867,"name":"address","nodeType":"ElementaryTypeName","src":"53209:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24870,"mutability":"mutable","name":"p3","nameLocation":"53229:2:18","nodeType":"VariableDeclaration","scope":24885,"src":"53221:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24869,"name":"uint256","nodeType":"ElementaryTypeName","src":"53221:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53190:42:18"},"returnParameters":{"id":24872,"nodeType":"ParameterList","parameters":[],"src":"53247:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24908,"nodeType":"FunctionDefinition","src":"53360:181:18","nodes":[],"body":{"id":24907,"nodeType":"Block","src":"53435:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":24899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53485:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":24900,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24887,"src":"53518:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24901,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24889,"src":"53522:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24902,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24891,"src":"53526:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24903,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24893,"src":"53530:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24897,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53461:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53465:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53461:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53461:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24896,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"53445:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53445:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24906,"nodeType":"ExpressionStatement","src":"53445:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53369:3:18","parameters":{"id":24894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24887,"mutability":"mutable","name":"p0","nameLocation":"53378:2:18","nodeType":"VariableDeclaration","scope":24908,"src":"53373:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24886,"name":"bool","nodeType":"ElementaryTypeName","src":"53373:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24889,"mutability":"mutable","name":"p1","nameLocation":"53387:2:18","nodeType":"VariableDeclaration","scope":24908,"src":"53382:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24888,"name":"bool","nodeType":"ElementaryTypeName","src":"53382:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24891,"mutability":"mutable","name":"p2","nameLocation":"53399:2:18","nodeType":"VariableDeclaration","scope":24908,"src":"53391:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24890,"name":"address","nodeType":"ElementaryTypeName","src":"53391:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24893,"mutability":"mutable","name":"p3","nameLocation":"53417:2:18","nodeType":"VariableDeclaration","scope":24908,"src":"53403:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24892,"name":"string","nodeType":"ElementaryTypeName","src":"53403:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53372:48:18"},"returnParameters":{"id":24895,"nodeType":"ParameterList","parameters":[],"src":"53435:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24931,"nodeType":"FunctionDefinition","src":"53547:170:18","nodes":[],"body":{"id":24930,"nodeType":"Block","src":"53613:104:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":24922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53663:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":24923,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24910,"src":"53694:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24924,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24912,"src":"53698:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24925,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24914,"src":"53702:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24926,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24916,"src":"53706:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24920,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53639:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53643:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53639:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53639:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24919,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"53623:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53623:87:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24929,"nodeType":"ExpressionStatement","src":"53623:87:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53556:3:18","parameters":{"id":24917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24910,"mutability":"mutable","name":"p0","nameLocation":"53565:2:18","nodeType":"VariableDeclaration","scope":24931,"src":"53560:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24909,"name":"bool","nodeType":"ElementaryTypeName","src":"53560:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24912,"mutability":"mutable","name":"p1","nameLocation":"53574:2:18","nodeType":"VariableDeclaration","scope":24931,"src":"53569:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24911,"name":"bool","nodeType":"ElementaryTypeName","src":"53569:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24914,"mutability":"mutable","name":"p2","nameLocation":"53586:2:18","nodeType":"VariableDeclaration","scope":24931,"src":"53578:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24913,"name":"address","nodeType":"ElementaryTypeName","src":"53578:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24916,"mutability":"mutable","name":"p3","nameLocation":"53595:2:18","nodeType":"VariableDeclaration","scope":24931,"src":"53590:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24915,"name":"bool","nodeType":"ElementaryTypeName","src":"53590:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53559:39:18"},"returnParameters":{"id":24918,"nodeType":"ParameterList","parameters":[],"src":"53613:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24954,"nodeType":"FunctionDefinition","src":"53723:176:18","nodes":[],"body":{"id":24953,"nodeType":"Block","src":"53792:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":24945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53842:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":24946,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24933,"src":"53876:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24947,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24935,"src":"53880:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24948,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24937,"src":"53884:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24949,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24939,"src":"53888:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53818:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53822:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53818:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53818:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24942,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"53802:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53802:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24952,"nodeType":"ExpressionStatement","src":"53802:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53732:3:18","parameters":{"id":24940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24933,"mutability":"mutable","name":"p0","nameLocation":"53741:2:18","nodeType":"VariableDeclaration","scope":24954,"src":"53736:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24932,"name":"bool","nodeType":"ElementaryTypeName","src":"53736:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24935,"mutability":"mutable","name":"p1","nameLocation":"53750:2:18","nodeType":"VariableDeclaration","scope":24954,"src":"53745:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24934,"name":"bool","nodeType":"ElementaryTypeName","src":"53745:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24937,"mutability":"mutable","name":"p2","nameLocation":"53762:2:18","nodeType":"VariableDeclaration","scope":24954,"src":"53754:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24936,"name":"address","nodeType":"ElementaryTypeName","src":"53754:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24939,"mutability":"mutable","name":"p3","nameLocation":"53774:2:18","nodeType":"VariableDeclaration","scope":24954,"src":"53766:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24938,"name":"address","nodeType":"ElementaryTypeName","src":"53766:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53735:42:18"},"returnParameters":{"id":24941,"nodeType":"ParameterList","parameters":[],"src":"53792:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24977,"nodeType":"FunctionDefinition","src":"53905:182:18","nodes":[],"body":{"id":24976,"nodeType":"Block","src":"53977:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629","id":24968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54027:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},"value":"log(bool,address,uint256,uint256)"},{"id":24969,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24956,"src":"54064:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24970,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24958,"src":"54068:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24971,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24960,"src":"54072:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24972,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24962,"src":"54076:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54003:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54007:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54003:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54003:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24965,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"53987:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53987:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24975,"nodeType":"ExpressionStatement","src":"53987:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53914:3:18","parameters":{"id":24963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24956,"mutability":"mutable","name":"p0","nameLocation":"53923:2:18","nodeType":"VariableDeclaration","scope":24977,"src":"53918:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24955,"name":"bool","nodeType":"ElementaryTypeName","src":"53918:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24958,"mutability":"mutable","name":"p1","nameLocation":"53935:2:18","nodeType":"VariableDeclaration","scope":24977,"src":"53927:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24957,"name":"address","nodeType":"ElementaryTypeName","src":"53927:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24960,"mutability":"mutable","name":"p2","nameLocation":"53947:2:18","nodeType":"VariableDeclaration","scope":24977,"src":"53939:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24959,"name":"uint256","nodeType":"ElementaryTypeName","src":"53939:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24962,"mutability":"mutable","name":"p3","nameLocation":"53959:2:18","nodeType":"VariableDeclaration","scope":24977,"src":"53951:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24961,"name":"uint256","nodeType":"ElementaryTypeName","src":"53951:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53917:45:18"},"returnParameters":{"id":24964,"nodeType":"ParameterList","parameters":[],"src":"53977:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25000,"nodeType":"FunctionDefinition","src":"54093:187:18","nodes":[],"body":{"id":24999,"nodeType":"Block","src":"54171:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729","id":24991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54221:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},"value":"log(bool,address,uint256,string)"},{"id":24992,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24979,"src":"54257:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24993,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24981,"src":"54261:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24994,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24983,"src":"54265:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24995,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24985,"src":"54269:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54197:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54201:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54197:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54197:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24988,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"54181:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54181:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24998,"nodeType":"ExpressionStatement","src":"54181:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54102:3:18","parameters":{"id":24986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24979,"mutability":"mutable","name":"p0","nameLocation":"54111:2:18","nodeType":"VariableDeclaration","scope":25000,"src":"54106:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24978,"name":"bool","nodeType":"ElementaryTypeName","src":"54106:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24981,"mutability":"mutable","name":"p1","nameLocation":"54123:2:18","nodeType":"VariableDeclaration","scope":25000,"src":"54115:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24980,"name":"address","nodeType":"ElementaryTypeName","src":"54115:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24983,"mutability":"mutable","name":"p2","nameLocation":"54135:2:18","nodeType":"VariableDeclaration","scope":25000,"src":"54127:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24982,"name":"uint256","nodeType":"ElementaryTypeName","src":"54127:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24985,"mutability":"mutable","name":"p3","nameLocation":"54153:2:18","nodeType":"VariableDeclaration","scope":25000,"src":"54139:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24984,"name":"string","nodeType":"ElementaryTypeName","src":"54139:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54105:51:18"},"returnParameters":{"id":24987,"nodeType":"ParameterList","parameters":[],"src":"54171:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25023,"nodeType":"FunctionDefinition","src":"54286:176:18","nodes":[],"body":{"id":25022,"nodeType":"Block","src":"54355:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29","id":25014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54405:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},"value":"log(bool,address,uint256,bool)"},{"id":25015,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25002,"src":"54439:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25016,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25004,"src":"54443:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25017,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25006,"src":"54447:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25018,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25008,"src":"54451:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25012,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54381:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54385:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54381:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54381:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25011,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"54365:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54365:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25021,"nodeType":"ExpressionStatement","src":"54365:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54295:3:18","parameters":{"id":25009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25002,"mutability":"mutable","name":"p0","nameLocation":"54304:2:18","nodeType":"VariableDeclaration","scope":25023,"src":"54299:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25001,"name":"bool","nodeType":"ElementaryTypeName","src":"54299:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25004,"mutability":"mutable","name":"p1","nameLocation":"54316:2:18","nodeType":"VariableDeclaration","scope":25023,"src":"54308:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25003,"name":"address","nodeType":"ElementaryTypeName","src":"54308:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25006,"mutability":"mutable","name":"p2","nameLocation":"54328:2:18","nodeType":"VariableDeclaration","scope":25023,"src":"54320:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25005,"name":"uint256","nodeType":"ElementaryTypeName","src":"54320:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25008,"mutability":"mutable","name":"p3","nameLocation":"54337:2:18","nodeType":"VariableDeclaration","scope":25023,"src":"54332:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25007,"name":"bool","nodeType":"ElementaryTypeName","src":"54332:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54298:42:18"},"returnParameters":{"id":25010,"nodeType":"ParameterList","parameters":[],"src":"54355:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25046,"nodeType":"FunctionDefinition","src":"54468:182:18","nodes":[],"body":{"id":25045,"nodeType":"Block","src":"54540:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329","id":25037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54590:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},"value":"log(bool,address,uint256,address)"},{"id":25038,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25025,"src":"54627:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25039,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25027,"src":"54631:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25040,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25029,"src":"54635:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25041,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25031,"src":"54639:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54566:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54570:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54566:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54566:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25034,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"54550:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54550:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25044,"nodeType":"ExpressionStatement","src":"54550:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54477:3:18","parameters":{"id":25032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25025,"mutability":"mutable","name":"p0","nameLocation":"54486:2:18","nodeType":"VariableDeclaration","scope":25046,"src":"54481:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25024,"name":"bool","nodeType":"ElementaryTypeName","src":"54481:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25027,"mutability":"mutable","name":"p1","nameLocation":"54498:2:18","nodeType":"VariableDeclaration","scope":25046,"src":"54490:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25026,"name":"address","nodeType":"ElementaryTypeName","src":"54490:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25029,"mutability":"mutable","name":"p2","nameLocation":"54510:2:18","nodeType":"VariableDeclaration","scope":25046,"src":"54502:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25028,"name":"uint256","nodeType":"ElementaryTypeName","src":"54502:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25031,"mutability":"mutable","name":"p3","nameLocation":"54522:2:18","nodeType":"VariableDeclaration","scope":25046,"src":"54514:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25030,"name":"address","nodeType":"ElementaryTypeName","src":"54514:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54480:45:18"},"returnParameters":{"id":25033,"nodeType":"ParameterList","parameters":[],"src":"54540:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25069,"nodeType":"FunctionDefinition","src":"54656:187:18","nodes":[],"body":{"id":25068,"nodeType":"Block","src":"54734:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629","id":25060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54784:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},"value":"log(bool,address,string,uint256)"},{"id":25061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25048,"src":"54820:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25050,"src":"54824:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25052,"src":"54828:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25064,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25054,"src":"54832:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54760:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54764:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54760:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54760:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"54744:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54744:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25067,"nodeType":"ExpressionStatement","src":"54744:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54665:3:18","parameters":{"id":25055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25048,"mutability":"mutable","name":"p0","nameLocation":"54674:2:18","nodeType":"VariableDeclaration","scope":25069,"src":"54669:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25047,"name":"bool","nodeType":"ElementaryTypeName","src":"54669:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25050,"mutability":"mutable","name":"p1","nameLocation":"54686:2:18","nodeType":"VariableDeclaration","scope":25069,"src":"54678:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25049,"name":"address","nodeType":"ElementaryTypeName","src":"54678:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25052,"mutability":"mutable","name":"p2","nameLocation":"54704:2:18","nodeType":"VariableDeclaration","scope":25069,"src":"54690:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25051,"name":"string","nodeType":"ElementaryTypeName","src":"54690:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25054,"mutability":"mutable","name":"p3","nameLocation":"54716:2:18","nodeType":"VariableDeclaration","scope":25069,"src":"54708:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25053,"name":"uint256","nodeType":"ElementaryTypeName","src":"54708:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54668:51:18"},"returnParameters":{"id":25056,"nodeType":"ParameterList","parameters":[],"src":"54734:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25092,"nodeType":"FunctionDefinition","src":"54849:192:18","nodes":[],"body":{"id":25091,"nodeType":"Block","src":"54933:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":25083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54983:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":25084,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25071,"src":"55018:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25085,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25073,"src":"55022:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25086,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25075,"src":"55026:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25087,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25077,"src":"55030:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54959:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54963:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54959:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54959:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25080,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"54943:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54943:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25090,"nodeType":"ExpressionStatement","src":"54943:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54858:3:18","parameters":{"id":25078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25071,"mutability":"mutable","name":"p0","nameLocation":"54867:2:18","nodeType":"VariableDeclaration","scope":25092,"src":"54862:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25070,"name":"bool","nodeType":"ElementaryTypeName","src":"54862:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25073,"mutability":"mutable","name":"p1","nameLocation":"54879:2:18","nodeType":"VariableDeclaration","scope":25092,"src":"54871:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25072,"name":"address","nodeType":"ElementaryTypeName","src":"54871:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25075,"mutability":"mutable","name":"p2","nameLocation":"54897:2:18","nodeType":"VariableDeclaration","scope":25092,"src":"54883:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25074,"name":"string","nodeType":"ElementaryTypeName","src":"54883:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25077,"mutability":"mutable","name":"p3","nameLocation":"54915:2:18","nodeType":"VariableDeclaration","scope":25092,"src":"54901:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25076,"name":"string","nodeType":"ElementaryTypeName","src":"54901:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54861:57:18"},"returnParameters":{"id":25079,"nodeType":"ParameterList","parameters":[],"src":"54933:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25115,"nodeType":"FunctionDefinition","src":"55047:181:18","nodes":[],"body":{"id":25114,"nodeType":"Block","src":"55122:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":25106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55172:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":25107,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25094,"src":"55205:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25108,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25096,"src":"55209:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25109,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25098,"src":"55213:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25110,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25100,"src":"55217:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25104,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55148:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55152:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55148:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55148:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25103,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"55132:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55132:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25113,"nodeType":"ExpressionStatement","src":"55132:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55056:3:18","parameters":{"id":25101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25094,"mutability":"mutable","name":"p0","nameLocation":"55065:2:18","nodeType":"VariableDeclaration","scope":25115,"src":"55060:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25093,"name":"bool","nodeType":"ElementaryTypeName","src":"55060:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25096,"mutability":"mutable","name":"p1","nameLocation":"55077:2:18","nodeType":"VariableDeclaration","scope":25115,"src":"55069:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25095,"name":"address","nodeType":"ElementaryTypeName","src":"55069:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25098,"mutability":"mutable","name":"p2","nameLocation":"55095:2:18","nodeType":"VariableDeclaration","scope":25115,"src":"55081:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25097,"name":"string","nodeType":"ElementaryTypeName","src":"55081:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25100,"mutability":"mutable","name":"p3","nameLocation":"55104:2:18","nodeType":"VariableDeclaration","scope":25115,"src":"55099:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25099,"name":"bool","nodeType":"ElementaryTypeName","src":"55099:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55059:48:18"},"returnParameters":{"id":25102,"nodeType":"ParameterList","parameters":[],"src":"55122:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25138,"nodeType":"FunctionDefinition","src":"55234:187:18","nodes":[],"body":{"id":25137,"nodeType":"Block","src":"55312:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":25129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55362:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":25130,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25117,"src":"55398:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25131,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25119,"src":"55402:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25132,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25121,"src":"55406:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25133,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25123,"src":"55410:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25127,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55338:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55342:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55338:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55338:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25126,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"55322:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55322:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25136,"nodeType":"ExpressionStatement","src":"55322:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55243:3:18","parameters":{"id":25124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25117,"mutability":"mutable","name":"p0","nameLocation":"55252:2:18","nodeType":"VariableDeclaration","scope":25138,"src":"55247:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25116,"name":"bool","nodeType":"ElementaryTypeName","src":"55247:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25119,"mutability":"mutable","name":"p1","nameLocation":"55264:2:18","nodeType":"VariableDeclaration","scope":25138,"src":"55256:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25118,"name":"address","nodeType":"ElementaryTypeName","src":"55256:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25121,"mutability":"mutable","name":"p2","nameLocation":"55282:2:18","nodeType":"VariableDeclaration","scope":25138,"src":"55268:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25120,"name":"string","nodeType":"ElementaryTypeName","src":"55268:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25123,"mutability":"mutable","name":"p3","nameLocation":"55294:2:18","nodeType":"VariableDeclaration","scope":25138,"src":"55286:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25122,"name":"address","nodeType":"ElementaryTypeName","src":"55286:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55246:51:18"},"returnParameters":{"id":25125,"nodeType":"ParameterList","parameters":[],"src":"55312:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25161,"nodeType":"FunctionDefinition","src":"55427:176:18","nodes":[],"body":{"id":25160,"nodeType":"Block","src":"55496:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629","id":25152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55546:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},"value":"log(bool,address,bool,uint256)"},{"id":25153,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25140,"src":"55580:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25154,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25142,"src":"55584:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25155,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25144,"src":"55588:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25156,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25146,"src":"55592:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25150,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55522:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55526:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55522:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55522:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25149,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"55506:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55506:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25159,"nodeType":"ExpressionStatement","src":"55506:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55436:3:18","parameters":{"id":25147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25140,"mutability":"mutable","name":"p0","nameLocation":"55445:2:18","nodeType":"VariableDeclaration","scope":25161,"src":"55440:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25139,"name":"bool","nodeType":"ElementaryTypeName","src":"55440:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25142,"mutability":"mutable","name":"p1","nameLocation":"55457:2:18","nodeType":"VariableDeclaration","scope":25161,"src":"55449:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25141,"name":"address","nodeType":"ElementaryTypeName","src":"55449:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25144,"mutability":"mutable","name":"p2","nameLocation":"55466:2:18","nodeType":"VariableDeclaration","scope":25161,"src":"55461:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25143,"name":"bool","nodeType":"ElementaryTypeName","src":"55461:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25146,"mutability":"mutable","name":"p3","nameLocation":"55478:2:18","nodeType":"VariableDeclaration","scope":25161,"src":"55470:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25145,"name":"uint256","nodeType":"ElementaryTypeName","src":"55470:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55439:42:18"},"returnParameters":{"id":25148,"nodeType":"ParameterList","parameters":[],"src":"55496:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25184,"nodeType":"FunctionDefinition","src":"55609:181:18","nodes":[],"body":{"id":25183,"nodeType":"Block","src":"55684:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":25175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55734:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":25176,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25163,"src":"55767:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25177,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25165,"src":"55771:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25178,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25167,"src":"55775:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25179,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25169,"src":"55779:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25173,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55710:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55714:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55710:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55710:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25172,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"55694:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55694:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25182,"nodeType":"ExpressionStatement","src":"55694:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55618:3:18","parameters":{"id":25170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25163,"mutability":"mutable","name":"p0","nameLocation":"55627:2:18","nodeType":"VariableDeclaration","scope":25184,"src":"55622:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25162,"name":"bool","nodeType":"ElementaryTypeName","src":"55622:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25165,"mutability":"mutable","name":"p1","nameLocation":"55639:2:18","nodeType":"VariableDeclaration","scope":25184,"src":"55631:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25164,"name":"address","nodeType":"ElementaryTypeName","src":"55631:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25167,"mutability":"mutable","name":"p2","nameLocation":"55648:2:18","nodeType":"VariableDeclaration","scope":25184,"src":"55643:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25166,"name":"bool","nodeType":"ElementaryTypeName","src":"55643:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25169,"mutability":"mutable","name":"p3","nameLocation":"55666:2:18","nodeType":"VariableDeclaration","scope":25184,"src":"55652:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25168,"name":"string","nodeType":"ElementaryTypeName","src":"55652:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55621:48:18"},"returnParameters":{"id":25171,"nodeType":"ParameterList","parameters":[],"src":"55684:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25207,"nodeType":"FunctionDefinition","src":"55796:170:18","nodes":[],"body":{"id":25206,"nodeType":"Block","src":"55862:104:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":25198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55912:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":25199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25186,"src":"55943:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25188,"src":"55947:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25190,"src":"55951:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25202,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25192,"src":"55955:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55888:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55892:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55888:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55888:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"55872:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55872:87:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25205,"nodeType":"ExpressionStatement","src":"55872:87:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55805:3:18","parameters":{"id":25193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25186,"mutability":"mutable","name":"p0","nameLocation":"55814:2:18","nodeType":"VariableDeclaration","scope":25207,"src":"55809:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25185,"name":"bool","nodeType":"ElementaryTypeName","src":"55809:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25188,"mutability":"mutable","name":"p1","nameLocation":"55826:2:18","nodeType":"VariableDeclaration","scope":25207,"src":"55818:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25187,"name":"address","nodeType":"ElementaryTypeName","src":"55818:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25190,"mutability":"mutable","name":"p2","nameLocation":"55835:2:18","nodeType":"VariableDeclaration","scope":25207,"src":"55830:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25189,"name":"bool","nodeType":"ElementaryTypeName","src":"55830:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25192,"mutability":"mutable","name":"p3","nameLocation":"55844:2:18","nodeType":"VariableDeclaration","scope":25207,"src":"55839:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25191,"name":"bool","nodeType":"ElementaryTypeName","src":"55839:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55808:39:18"},"returnParameters":{"id":25194,"nodeType":"ParameterList","parameters":[],"src":"55862:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25230,"nodeType":"FunctionDefinition","src":"55972:176:18","nodes":[],"body":{"id":25229,"nodeType":"Block","src":"56041:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":25221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56091:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":25222,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25209,"src":"56125:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25223,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25211,"src":"56129:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25224,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25213,"src":"56133:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25225,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25215,"src":"56137:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56067:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56071:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56067:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56067:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25218,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"56051:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56051:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25228,"nodeType":"ExpressionStatement","src":"56051:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55981:3:18","parameters":{"id":25216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25209,"mutability":"mutable","name":"p0","nameLocation":"55990:2:18","nodeType":"VariableDeclaration","scope":25230,"src":"55985:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25208,"name":"bool","nodeType":"ElementaryTypeName","src":"55985:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25211,"mutability":"mutable","name":"p1","nameLocation":"56002:2:18","nodeType":"VariableDeclaration","scope":25230,"src":"55994:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25210,"name":"address","nodeType":"ElementaryTypeName","src":"55994:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25213,"mutability":"mutable","name":"p2","nameLocation":"56011:2:18","nodeType":"VariableDeclaration","scope":25230,"src":"56006:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25212,"name":"bool","nodeType":"ElementaryTypeName","src":"56006:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25215,"mutability":"mutable","name":"p3","nameLocation":"56023:2:18","nodeType":"VariableDeclaration","scope":25230,"src":"56015:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25214,"name":"address","nodeType":"ElementaryTypeName","src":"56015:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55984:42:18"},"returnParameters":{"id":25217,"nodeType":"ParameterList","parameters":[],"src":"56041:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25253,"nodeType":"FunctionDefinition","src":"56154:182:18","nodes":[],"body":{"id":25252,"nodeType":"Block","src":"56226:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629","id":25244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56276:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},"value":"log(bool,address,address,uint256)"},{"id":25245,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25232,"src":"56313:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25246,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25234,"src":"56317:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25247,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25236,"src":"56321:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25248,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25238,"src":"56325:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25242,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56252:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56256:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56252:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56252:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"56236:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56236:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25251,"nodeType":"ExpressionStatement","src":"56236:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56163:3:18","parameters":{"id":25239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25232,"mutability":"mutable","name":"p0","nameLocation":"56172:2:18","nodeType":"VariableDeclaration","scope":25253,"src":"56167:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25231,"name":"bool","nodeType":"ElementaryTypeName","src":"56167:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25234,"mutability":"mutable","name":"p1","nameLocation":"56184:2:18","nodeType":"VariableDeclaration","scope":25253,"src":"56176:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25233,"name":"address","nodeType":"ElementaryTypeName","src":"56176:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25236,"mutability":"mutable","name":"p2","nameLocation":"56196:2:18","nodeType":"VariableDeclaration","scope":25253,"src":"56188:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25235,"name":"address","nodeType":"ElementaryTypeName","src":"56188:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25238,"mutability":"mutable","name":"p3","nameLocation":"56208:2:18","nodeType":"VariableDeclaration","scope":25253,"src":"56200:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25237,"name":"uint256","nodeType":"ElementaryTypeName","src":"56200:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56166:45:18"},"returnParameters":{"id":25240,"nodeType":"ParameterList","parameters":[],"src":"56226:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25276,"nodeType":"FunctionDefinition","src":"56342:187:18","nodes":[],"body":{"id":25275,"nodeType":"Block","src":"56420:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":25267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56470:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":25268,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25255,"src":"56506:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25269,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25257,"src":"56510:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25270,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25259,"src":"56514:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25271,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25261,"src":"56518:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25265,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56446:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56450:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56446:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56446:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25264,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"56430:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56430:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25274,"nodeType":"ExpressionStatement","src":"56430:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56351:3:18","parameters":{"id":25262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25255,"mutability":"mutable","name":"p0","nameLocation":"56360:2:18","nodeType":"VariableDeclaration","scope":25276,"src":"56355:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25254,"name":"bool","nodeType":"ElementaryTypeName","src":"56355:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25257,"mutability":"mutable","name":"p1","nameLocation":"56372:2:18","nodeType":"VariableDeclaration","scope":25276,"src":"56364:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25256,"name":"address","nodeType":"ElementaryTypeName","src":"56364:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25259,"mutability":"mutable","name":"p2","nameLocation":"56384:2:18","nodeType":"VariableDeclaration","scope":25276,"src":"56376:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25258,"name":"address","nodeType":"ElementaryTypeName","src":"56376:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25261,"mutability":"mutable","name":"p3","nameLocation":"56402:2:18","nodeType":"VariableDeclaration","scope":25276,"src":"56388:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25260,"name":"string","nodeType":"ElementaryTypeName","src":"56388:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56354:51:18"},"returnParameters":{"id":25263,"nodeType":"ParameterList","parameters":[],"src":"56420:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25299,"nodeType":"FunctionDefinition","src":"56535:176:18","nodes":[],"body":{"id":25298,"nodeType":"Block","src":"56604:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":25290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56654:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":25291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25278,"src":"56688:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25292,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25280,"src":"56692:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25293,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25282,"src":"56696:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25294,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25284,"src":"56700:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56630:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56634:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56630:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56630:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"56614:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56614:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25297,"nodeType":"ExpressionStatement","src":"56614:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56544:3:18","parameters":{"id":25285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25278,"mutability":"mutable","name":"p0","nameLocation":"56553:2:18","nodeType":"VariableDeclaration","scope":25299,"src":"56548:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25277,"name":"bool","nodeType":"ElementaryTypeName","src":"56548:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25280,"mutability":"mutable","name":"p1","nameLocation":"56565:2:18","nodeType":"VariableDeclaration","scope":25299,"src":"56557:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25279,"name":"address","nodeType":"ElementaryTypeName","src":"56557:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25282,"mutability":"mutable","name":"p2","nameLocation":"56577:2:18","nodeType":"VariableDeclaration","scope":25299,"src":"56569:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25281,"name":"address","nodeType":"ElementaryTypeName","src":"56569:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25284,"mutability":"mutable","name":"p3","nameLocation":"56586:2:18","nodeType":"VariableDeclaration","scope":25299,"src":"56581:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25283,"name":"bool","nodeType":"ElementaryTypeName","src":"56581:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56547:42:18"},"returnParameters":{"id":25286,"nodeType":"ParameterList","parameters":[],"src":"56604:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25322,"nodeType":"FunctionDefinition","src":"56717:182:18","nodes":[],"body":{"id":25321,"nodeType":"Block","src":"56789:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":25313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56839:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":25314,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25301,"src":"56876:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25315,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25303,"src":"56880:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25316,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25305,"src":"56884:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25317,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25307,"src":"56888:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56815:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56819:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56815:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56815:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25310,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"56799:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56799:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25320,"nodeType":"ExpressionStatement","src":"56799:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56726:3:18","parameters":{"id":25308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25301,"mutability":"mutable","name":"p0","nameLocation":"56735:2:18","nodeType":"VariableDeclaration","scope":25322,"src":"56730:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25300,"name":"bool","nodeType":"ElementaryTypeName","src":"56730:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25303,"mutability":"mutable","name":"p1","nameLocation":"56747:2:18","nodeType":"VariableDeclaration","scope":25322,"src":"56739:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25302,"name":"address","nodeType":"ElementaryTypeName","src":"56739:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25305,"mutability":"mutable","name":"p2","nameLocation":"56759:2:18","nodeType":"VariableDeclaration","scope":25322,"src":"56751:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25304,"name":"address","nodeType":"ElementaryTypeName","src":"56751:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25307,"mutability":"mutable","name":"p3","nameLocation":"56771:2:18","nodeType":"VariableDeclaration","scope":25322,"src":"56763:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25306,"name":"address","nodeType":"ElementaryTypeName","src":"56763:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56729:45:18"},"returnParameters":{"id":25309,"nodeType":"ParameterList","parameters":[],"src":"56789:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25345,"nodeType":"FunctionDefinition","src":"56905:188:18","nodes":[],"body":{"id":25344,"nodeType":"Block","src":"56980:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629","id":25336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57030:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},"value":"log(address,uint256,uint256,uint256)"},{"id":25337,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25324,"src":"57070:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25338,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25326,"src":"57074:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25339,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25328,"src":"57078:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25340,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25330,"src":"57082:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57006:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57010:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57006:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57006:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25333,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"56990:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56990:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25343,"nodeType":"ExpressionStatement","src":"56990:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56914:3:18","parameters":{"id":25331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25324,"mutability":"mutable","name":"p0","nameLocation":"56926:2:18","nodeType":"VariableDeclaration","scope":25345,"src":"56918:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25323,"name":"address","nodeType":"ElementaryTypeName","src":"56918:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25326,"mutability":"mutable","name":"p1","nameLocation":"56938:2:18","nodeType":"VariableDeclaration","scope":25345,"src":"56930:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25325,"name":"uint256","nodeType":"ElementaryTypeName","src":"56930:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25328,"mutability":"mutable","name":"p2","nameLocation":"56950:2:18","nodeType":"VariableDeclaration","scope":25345,"src":"56942:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25327,"name":"uint256","nodeType":"ElementaryTypeName","src":"56942:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25330,"mutability":"mutable","name":"p3","nameLocation":"56962:2:18","nodeType":"VariableDeclaration","scope":25345,"src":"56954:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25329,"name":"uint256","nodeType":"ElementaryTypeName","src":"56954:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56917:48:18"},"returnParameters":{"id":25332,"nodeType":"ParameterList","parameters":[],"src":"56980:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25368,"nodeType":"FunctionDefinition","src":"57099:193:18","nodes":[],"body":{"id":25367,"nodeType":"Block","src":"57180:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729","id":25359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57230:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},"value":"log(address,uint256,uint256,string)"},{"id":25360,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25347,"src":"57269:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25361,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25349,"src":"57273:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25362,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25351,"src":"57277:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25363,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25353,"src":"57281:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25357,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57206:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57210:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57206:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57206:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25356,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"57190:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57190:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25366,"nodeType":"ExpressionStatement","src":"57190:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57108:3:18","parameters":{"id":25354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25347,"mutability":"mutable","name":"p0","nameLocation":"57120:2:18","nodeType":"VariableDeclaration","scope":25368,"src":"57112:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25346,"name":"address","nodeType":"ElementaryTypeName","src":"57112:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25349,"mutability":"mutable","name":"p1","nameLocation":"57132:2:18","nodeType":"VariableDeclaration","scope":25368,"src":"57124:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25348,"name":"uint256","nodeType":"ElementaryTypeName","src":"57124:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25351,"mutability":"mutable","name":"p2","nameLocation":"57144:2:18","nodeType":"VariableDeclaration","scope":25368,"src":"57136:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25350,"name":"uint256","nodeType":"ElementaryTypeName","src":"57136:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25353,"mutability":"mutable","name":"p3","nameLocation":"57162:2:18","nodeType":"VariableDeclaration","scope":25368,"src":"57148:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25352,"name":"string","nodeType":"ElementaryTypeName","src":"57148:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57111:54:18"},"returnParameters":{"id":25355,"nodeType":"ParameterList","parameters":[],"src":"57180:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25391,"nodeType":"FunctionDefinition","src":"57298:182:18","nodes":[],"body":{"id":25390,"nodeType":"Block","src":"57370:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29","id":25382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57420:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},"value":"log(address,uint256,uint256,bool)"},{"id":25383,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25370,"src":"57457:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25384,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25372,"src":"57461:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25385,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25374,"src":"57465:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25386,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25376,"src":"57469:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25380,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57396:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57400:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57396:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57396:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25379,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"57380:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57380:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25389,"nodeType":"ExpressionStatement","src":"57380:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57307:3:18","parameters":{"id":25377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25370,"mutability":"mutable","name":"p0","nameLocation":"57319:2:18","nodeType":"VariableDeclaration","scope":25391,"src":"57311:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25369,"name":"address","nodeType":"ElementaryTypeName","src":"57311:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25372,"mutability":"mutable","name":"p1","nameLocation":"57331:2:18","nodeType":"VariableDeclaration","scope":25391,"src":"57323:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25371,"name":"uint256","nodeType":"ElementaryTypeName","src":"57323:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25374,"mutability":"mutable","name":"p2","nameLocation":"57343:2:18","nodeType":"VariableDeclaration","scope":25391,"src":"57335:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25373,"name":"uint256","nodeType":"ElementaryTypeName","src":"57335:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25376,"mutability":"mutable","name":"p3","nameLocation":"57352:2:18","nodeType":"VariableDeclaration","scope":25391,"src":"57347:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25375,"name":"bool","nodeType":"ElementaryTypeName","src":"57347:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57310:45:18"},"returnParameters":{"id":25378,"nodeType":"ParameterList","parameters":[],"src":"57370:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25414,"nodeType":"FunctionDefinition","src":"57486:188:18","nodes":[],"body":{"id":25413,"nodeType":"Block","src":"57561:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329","id":25405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57611:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},"value":"log(address,uint256,uint256,address)"},{"id":25406,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25393,"src":"57651:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25407,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25395,"src":"57655:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25408,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25397,"src":"57659:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25409,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25399,"src":"57663:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57587:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57591:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57587:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57587:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25402,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"57571:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57571:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25412,"nodeType":"ExpressionStatement","src":"57571:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57495:3:18","parameters":{"id":25400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25393,"mutability":"mutable","name":"p0","nameLocation":"57507:2:18","nodeType":"VariableDeclaration","scope":25414,"src":"57499:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25392,"name":"address","nodeType":"ElementaryTypeName","src":"57499:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25395,"mutability":"mutable","name":"p1","nameLocation":"57519:2:18","nodeType":"VariableDeclaration","scope":25414,"src":"57511:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25394,"name":"uint256","nodeType":"ElementaryTypeName","src":"57511:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25397,"mutability":"mutable","name":"p2","nameLocation":"57531:2:18","nodeType":"VariableDeclaration","scope":25414,"src":"57523:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25396,"name":"uint256","nodeType":"ElementaryTypeName","src":"57523:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25399,"mutability":"mutable","name":"p3","nameLocation":"57543:2:18","nodeType":"VariableDeclaration","scope":25414,"src":"57535:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25398,"name":"address","nodeType":"ElementaryTypeName","src":"57535:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57498:48:18"},"returnParameters":{"id":25401,"nodeType":"ParameterList","parameters":[],"src":"57561:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25437,"nodeType":"FunctionDefinition","src":"57680:193:18","nodes":[],"body":{"id":25436,"nodeType":"Block","src":"57761:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629","id":25428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57811:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},"value":"log(address,uint256,string,uint256)"},{"id":25429,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25416,"src":"57850:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25430,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25418,"src":"57854:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25431,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25420,"src":"57858:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25432,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25422,"src":"57862:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25426,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57787:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57791:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57787:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57787:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25425,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"57771:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57771:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25435,"nodeType":"ExpressionStatement","src":"57771:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57689:3:18","parameters":{"id":25423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25416,"mutability":"mutable","name":"p0","nameLocation":"57701:2:18","nodeType":"VariableDeclaration","scope":25437,"src":"57693:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25415,"name":"address","nodeType":"ElementaryTypeName","src":"57693:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25418,"mutability":"mutable","name":"p1","nameLocation":"57713:2:18","nodeType":"VariableDeclaration","scope":25437,"src":"57705:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25417,"name":"uint256","nodeType":"ElementaryTypeName","src":"57705:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25420,"mutability":"mutable","name":"p2","nameLocation":"57731:2:18","nodeType":"VariableDeclaration","scope":25437,"src":"57717:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25419,"name":"string","nodeType":"ElementaryTypeName","src":"57717:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25422,"mutability":"mutable","name":"p3","nameLocation":"57743:2:18","nodeType":"VariableDeclaration","scope":25437,"src":"57735:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25421,"name":"uint256","nodeType":"ElementaryTypeName","src":"57735:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57692:54:18"},"returnParameters":{"id":25424,"nodeType":"ParameterList","parameters":[],"src":"57761:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25460,"nodeType":"FunctionDefinition","src":"57879:198:18","nodes":[],"body":{"id":25459,"nodeType":"Block","src":"57966:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729","id":25451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58016:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},"value":"log(address,uint256,string,string)"},{"id":25452,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25439,"src":"58054:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25453,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25441,"src":"58058:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25454,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25443,"src":"58062:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25455,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25445,"src":"58066:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25449,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57992:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57996:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57992:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57992:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25448,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"57976:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57976:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25458,"nodeType":"ExpressionStatement","src":"57976:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57888:3:18","parameters":{"id":25446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25439,"mutability":"mutable","name":"p0","nameLocation":"57900:2:18","nodeType":"VariableDeclaration","scope":25460,"src":"57892:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25438,"name":"address","nodeType":"ElementaryTypeName","src":"57892:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25441,"mutability":"mutable","name":"p1","nameLocation":"57912:2:18","nodeType":"VariableDeclaration","scope":25460,"src":"57904:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25440,"name":"uint256","nodeType":"ElementaryTypeName","src":"57904:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25443,"mutability":"mutable","name":"p2","nameLocation":"57930:2:18","nodeType":"VariableDeclaration","scope":25460,"src":"57916:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25442,"name":"string","nodeType":"ElementaryTypeName","src":"57916:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25445,"mutability":"mutable","name":"p3","nameLocation":"57948:2:18","nodeType":"VariableDeclaration","scope":25460,"src":"57934:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25444,"name":"string","nodeType":"ElementaryTypeName","src":"57934:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57891:60:18"},"returnParameters":{"id":25447,"nodeType":"ParameterList","parameters":[],"src":"57966:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25483,"nodeType":"FunctionDefinition","src":"58083:187:18","nodes":[],"body":{"id":25482,"nodeType":"Block","src":"58161:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29","id":25474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58211:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},"value":"log(address,uint256,string,bool)"},{"id":25475,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25462,"src":"58247:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25476,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25464,"src":"58251:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25477,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25466,"src":"58255:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25478,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25468,"src":"58259:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25472,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58187:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58191:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58187:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58187:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"58171:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58171:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25481,"nodeType":"ExpressionStatement","src":"58171:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58092:3:18","parameters":{"id":25469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25462,"mutability":"mutable","name":"p0","nameLocation":"58104:2:18","nodeType":"VariableDeclaration","scope":25483,"src":"58096:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25461,"name":"address","nodeType":"ElementaryTypeName","src":"58096:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25464,"mutability":"mutable","name":"p1","nameLocation":"58116:2:18","nodeType":"VariableDeclaration","scope":25483,"src":"58108:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25463,"name":"uint256","nodeType":"ElementaryTypeName","src":"58108:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25466,"mutability":"mutable","name":"p2","nameLocation":"58134:2:18","nodeType":"VariableDeclaration","scope":25483,"src":"58120:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25465,"name":"string","nodeType":"ElementaryTypeName","src":"58120:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25468,"mutability":"mutable","name":"p3","nameLocation":"58143:2:18","nodeType":"VariableDeclaration","scope":25483,"src":"58138:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25467,"name":"bool","nodeType":"ElementaryTypeName","src":"58138:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58095:51:18"},"returnParameters":{"id":25470,"nodeType":"ParameterList","parameters":[],"src":"58161:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25506,"nodeType":"FunctionDefinition","src":"58276:193:18","nodes":[],"body":{"id":25505,"nodeType":"Block","src":"58357:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329","id":25497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58407:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},"value":"log(address,uint256,string,address)"},{"id":25498,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25485,"src":"58446:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25499,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25487,"src":"58450:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25500,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25489,"src":"58454:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25501,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25491,"src":"58458:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25495,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58383:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58387:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58383:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58383:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25494,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"58367:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58367:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25504,"nodeType":"ExpressionStatement","src":"58367:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58285:3:18","parameters":{"id":25492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25485,"mutability":"mutable","name":"p0","nameLocation":"58297:2:18","nodeType":"VariableDeclaration","scope":25506,"src":"58289:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25484,"name":"address","nodeType":"ElementaryTypeName","src":"58289:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25487,"mutability":"mutable","name":"p1","nameLocation":"58309:2:18","nodeType":"VariableDeclaration","scope":25506,"src":"58301:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25486,"name":"uint256","nodeType":"ElementaryTypeName","src":"58301:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25489,"mutability":"mutable","name":"p2","nameLocation":"58327:2:18","nodeType":"VariableDeclaration","scope":25506,"src":"58313:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25488,"name":"string","nodeType":"ElementaryTypeName","src":"58313:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25491,"mutability":"mutable","name":"p3","nameLocation":"58339:2:18","nodeType":"VariableDeclaration","scope":25506,"src":"58331:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25490,"name":"address","nodeType":"ElementaryTypeName","src":"58331:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58288:54:18"},"returnParameters":{"id":25493,"nodeType":"ParameterList","parameters":[],"src":"58357:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25529,"nodeType":"FunctionDefinition","src":"58475:182:18","nodes":[],"body":{"id":25528,"nodeType":"Block","src":"58547:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629","id":25520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58597:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},"value":"log(address,uint256,bool,uint256)"},{"id":25521,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25508,"src":"58634:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25522,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25510,"src":"58638:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25523,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25512,"src":"58642:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25524,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25514,"src":"58646:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58573:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58577:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58573:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58573:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"58557:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58557:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25527,"nodeType":"ExpressionStatement","src":"58557:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58484:3:18","parameters":{"id":25515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25508,"mutability":"mutable","name":"p0","nameLocation":"58496:2:18","nodeType":"VariableDeclaration","scope":25529,"src":"58488:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25507,"name":"address","nodeType":"ElementaryTypeName","src":"58488:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25510,"mutability":"mutable","name":"p1","nameLocation":"58508:2:18","nodeType":"VariableDeclaration","scope":25529,"src":"58500:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25509,"name":"uint256","nodeType":"ElementaryTypeName","src":"58500:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25512,"mutability":"mutable","name":"p2","nameLocation":"58517:2:18","nodeType":"VariableDeclaration","scope":25529,"src":"58512:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25511,"name":"bool","nodeType":"ElementaryTypeName","src":"58512:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25514,"mutability":"mutable","name":"p3","nameLocation":"58529:2:18","nodeType":"VariableDeclaration","scope":25529,"src":"58521:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25513,"name":"uint256","nodeType":"ElementaryTypeName","src":"58521:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58487:45:18"},"returnParameters":{"id":25516,"nodeType":"ParameterList","parameters":[],"src":"58547:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25552,"nodeType":"FunctionDefinition","src":"58663:187:18","nodes":[],"body":{"id":25551,"nodeType":"Block","src":"58741:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729","id":25543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58791:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},"value":"log(address,uint256,bool,string)"},{"id":25544,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25531,"src":"58827:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25545,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25533,"src":"58831:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25546,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25535,"src":"58835:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25547,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25537,"src":"58839:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58767:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58771:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58767:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58767:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25540,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"58751:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58751:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25550,"nodeType":"ExpressionStatement","src":"58751:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58672:3:18","parameters":{"id":25538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25531,"mutability":"mutable","name":"p0","nameLocation":"58684:2:18","nodeType":"VariableDeclaration","scope":25552,"src":"58676:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25530,"name":"address","nodeType":"ElementaryTypeName","src":"58676:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25533,"mutability":"mutable","name":"p1","nameLocation":"58696:2:18","nodeType":"VariableDeclaration","scope":25552,"src":"58688:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25532,"name":"uint256","nodeType":"ElementaryTypeName","src":"58688:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25535,"mutability":"mutable","name":"p2","nameLocation":"58705:2:18","nodeType":"VariableDeclaration","scope":25552,"src":"58700:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25534,"name":"bool","nodeType":"ElementaryTypeName","src":"58700:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25537,"mutability":"mutable","name":"p3","nameLocation":"58723:2:18","nodeType":"VariableDeclaration","scope":25552,"src":"58709:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25536,"name":"string","nodeType":"ElementaryTypeName","src":"58709:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58675:51:18"},"returnParameters":{"id":25539,"nodeType":"ParameterList","parameters":[],"src":"58741:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25575,"nodeType":"FunctionDefinition","src":"58856:176:18","nodes":[],"body":{"id":25574,"nodeType":"Block","src":"58925:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29","id":25566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58975:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},"value":"log(address,uint256,bool,bool)"},{"id":25567,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25554,"src":"59009:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25568,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25556,"src":"59013:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25569,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25558,"src":"59017:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25570,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25560,"src":"59021:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25564,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58951:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58955:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58951:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58951:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25563,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"58935:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58935:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25573,"nodeType":"ExpressionStatement","src":"58935:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58865:3:18","parameters":{"id":25561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25554,"mutability":"mutable","name":"p0","nameLocation":"58877:2:18","nodeType":"VariableDeclaration","scope":25575,"src":"58869:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25553,"name":"address","nodeType":"ElementaryTypeName","src":"58869:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25556,"mutability":"mutable","name":"p1","nameLocation":"58889:2:18","nodeType":"VariableDeclaration","scope":25575,"src":"58881:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25555,"name":"uint256","nodeType":"ElementaryTypeName","src":"58881:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25558,"mutability":"mutable","name":"p2","nameLocation":"58898:2:18","nodeType":"VariableDeclaration","scope":25575,"src":"58893:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25557,"name":"bool","nodeType":"ElementaryTypeName","src":"58893:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25560,"mutability":"mutable","name":"p3","nameLocation":"58907:2:18","nodeType":"VariableDeclaration","scope":25575,"src":"58902:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25559,"name":"bool","nodeType":"ElementaryTypeName","src":"58902:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58868:42:18"},"returnParameters":{"id":25562,"nodeType":"ParameterList","parameters":[],"src":"58925:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25598,"nodeType":"FunctionDefinition","src":"59038:182:18","nodes":[],"body":{"id":25597,"nodeType":"Block","src":"59110:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329","id":25589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59160:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},"value":"log(address,uint256,bool,address)"},{"id":25590,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25577,"src":"59197:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25591,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25579,"src":"59201:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25592,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25581,"src":"59205:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25593,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25583,"src":"59209:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59136:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59140:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59136:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59136:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25586,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"59120:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59120:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25596,"nodeType":"ExpressionStatement","src":"59120:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59047:3:18","parameters":{"id":25584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25577,"mutability":"mutable","name":"p0","nameLocation":"59059:2:18","nodeType":"VariableDeclaration","scope":25598,"src":"59051:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25576,"name":"address","nodeType":"ElementaryTypeName","src":"59051:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25579,"mutability":"mutable","name":"p1","nameLocation":"59071:2:18","nodeType":"VariableDeclaration","scope":25598,"src":"59063:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25578,"name":"uint256","nodeType":"ElementaryTypeName","src":"59063:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25581,"mutability":"mutable","name":"p2","nameLocation":"59080:2:18","nodeType":"VariableDeclaration","scope":25598,"src":"59075:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25580,"name":"bool","nodeType":"ElementaryTypeName","src":"59075:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25583,"mutability":"mutable","name":"p3","nameLocation":"59092:2:18","nodeType":"VariableDeclaration","scope":25598,"src":"59084:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25582,"name":"address","nodeType":"ElementaryTypeName","src":"59084:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59050:45:18"},"returnParameters":{"id":25585,"nodeType":"ParameterList","parameters":[],"src":"59110:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25621,"nodeType":"FunctionDefinition","src":"59226:188:18","nodes":[],"body":{"id":25620,"nodeType":"Block","src":"59301:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629","id":25612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59351:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},"value":"log(address,uint256,address,uint256)"},{"id":25613,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25600,"src":"59391:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25614,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25602,"src":"59395:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25615,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25604,"src":"59399:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25616,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25606,"src":"59403:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25610,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59327:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59331:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59327:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59327:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"59311:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59311:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25619,"nodeType":"ExpressionStatement","src":"59311:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59235:3:18","parameters":{"id":25607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25600,"mutability":"mutable","name":"p0","nameLocation":"59247:2:18","nodeType":"VariableDeclaration","scope":25621,"src":"59239:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25599,"name":"address","nodeType":"ElementaryTypeName","src":"59239:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25602,"mutability":"mutable","name":"p1","nameLocation":"59259:2:18","nodeType":"VariableDeclaration","scope":25621,"src":"59251:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25601,"name":"uint256","nodeType":"ElementaryTypeName","src":"59251:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25604,"mutability":"mutable","name":"p2","nameLocation":"59271:2:18","nodeType":"VariableDeclaration","scope":25621,"src":"59263:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25603,"name":"address","nodeType":"ElementaryTypeName","src":"59263:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25606,"mutability":"mutable","name":"p3","nameLocation":"59283:2:18","nodeType":"VariableDeclaration","scope":25621,"src":"59275:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25605,"name":"uint256","nodeType":"ElementaryTypeName","src":"59275:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59238:48:18"},"returnParameters":{"id":25608,"nodeType":"ParameterList","parameters":[],"src":"59301:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25644,"nodeType":"FunctionDefinition","src":"59420:193:18","nodes":[],"body":{"id":25643,"nodeType":"Block","src":"59501:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729","id":25635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59551:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},"value":"log(address,uint256,address,string)"},{"id":25636,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25623,"src":"59590:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25637,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25625,"src":"59594:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25638,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25627,"src":"59598:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25639,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25629,"src":"59602:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59527:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59531:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59527:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59527:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25632,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"59511:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59511:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25642,"nodeType":"ExpressionStatement","src":"59511:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59429:3:18","parameters":{"id":25630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25623,"mutability":"mutable","name":"p0","nameLocation":"59441:2:18","nodeType":"VariableDeclaration","scope":25644,"src":"59433:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25622,"name":"address","nodeType":"ElementaryTypeName","src":"59433:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25625,"mutability":"mutable","name":"p1","nameLocation":"59453:2:18","nodeType":"VariableDeclaration","scope":25644,"src":"59445:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25624,"name":"uint256","nodeType":"ElementaryTypeName","src":"59445:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25627,"mutability":"mutable","name":"p2","nameLocation":"59465:2:18","nodeType":"VariableDeclaration","scope":25644,"src":"59457:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25626,"name":"address","nodeType":"ElementaryTypeName","src":"59457:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25629,"mutability":"mutable","name":"p3","nameLocation":"59483:2:18","nodeType":"VariableDeclaration","scope":25644,"src":"59469:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25628,"name":"string","nodeType":"ElementaryTypeName","src":"59469:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59432:54:18"},"returnParameters":{"id":25631,"nodeType":"ParameterList","parameters":[],"src":"59501:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25667,"nodeType":"FunctionDefinition","src":"59619:182:18","nodes":[],"body":{"id":25666,"nodeType":"Block","src":"59691:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29","id":25658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59741:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},"value":"log(address,uint256,address,bool)"},{"id":25659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25646,"src":"59778:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25648,"src":"59782:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25650,"src":"59786:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25662,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25652,"src":"59790:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59717:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59721:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59717:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59717:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"59701:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59701:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25665,"nodeType":"ExpressionStatement","src":"59701:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59628:3:18","parameters":{"id":25653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25646,"mutability":"mutable","name":"p0","nameLocation":"59640:2:18","nodeType":"VariableDeclaration","scope":25667,"src":"59632:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25645,"name":"address","nodeType":"ElementaryTypeName","src":"59632:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25648,"mutability":"mutable","name":"p1","nameLocation":"59652:2:18","nodeType":"VariableDeclaration","scope":25667,"src":"59644:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25647,"name":"uint256","nodeType":"ElementaryTypeName","src":"59644:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25650,"mutability":"mutable","name":"p2","nameLocation":"59664:2:18","nodeType":"VariableDeclaration","scope":25667,"src":"59656:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25649,"name":"address","nodeType":"ElementaryTypeName","src":"59656:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25652,"mutability":"mutable","name":"p3","nameLocation":"59673:2:18","nodeType":"VariableDeclaration","scope":25667,"src":"59668:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25651,"name":"bool","nodeType":"ElementaryTypeName","src":"59668:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59631:45:18"},"returnParameters":{"id":25654,"nodeType":"ParameterList","parameters":[],"src":"59691:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25690,"nodeType":"FunctionDefinition","src":"59807:188:18","nodes":[],"body":{"id":25689,"nodeType":"Block","src":"59882:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329","id":25681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59932:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},"value":"log(address,uint256,address,address)"},{"id":25682,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25669,"src":"59972:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25683,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25671,"src":"59976:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25684,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25673,"src":"59980:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25685,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25675,"src":"59984:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25679,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59908:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59912:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59908:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59908:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25678,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"59892:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59892:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25688,"nodeType":"ExpressionStatement","src":"59892:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59816:3:18","parameters":{"id":25676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25669,"mutability":"mutable","name":"p0","nameLocation":"59828:2:18","nodeType":"VariableDeclaration","scope":25690,"src":"59820:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25668,"name":"address","nodeType":"ElementaryTypeName","src":"59820:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25671,"mutability":"mutable","name":"p1","nameLocation":"59840:2:18","nodeType":"VariableDeclaration","scope":25690,"src":"59832:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25670,"name":"uint256","nodeType":"ElementaryTypeName","src":"59832:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25673,"mutability":"mutable","name":"p2","nameLocation":"59852:2:18","nodeType":"VariableDeclaration","scope":25690,"src":"59844:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25672,"name":"address","nodeType":"ElementaryTypeName","src":"59844:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25675,"mutability":"mutable","name":"p3","nameLocation":"59864:2:18","nodeType":"VariableDeclaration","scope":25690,"src":"59856:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25674,"name":"address","nodeType":"ElementaryTypeName","src":"59856:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59819:48:18"},"returnParameters":{"id":25677,"nodeType":"ParameterList","parameters":[],"src":"59882:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25713,"nodeType":"FunctionDefinition","src":"60001:193:18","nodes":[],"body":{"id":25712,"nodeType":"Block","src":"60082:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629","id":25704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60132:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},"value":"log(address,string,uint256,uint256)"},{"id":25705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25692,"src":"60171:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25694,"src":"60175:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25707,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25696,"src":"60179:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25708,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25698,"src":"60183:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60108:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60112:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60108:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60108:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"60092:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60092:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25711,"nodeType":"ExpressionStatement","src":"60092:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60010:3:18","parameters":{"id":25699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25692,"mutability":"mutable","name":"p0","nameLocation":"60022:2:18","nodeType":"VariableDeclaration","scope":25713,"src":"60014:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25691,"name":"address","nodeType":"ElementaryTypeName","src":"60014:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25694,"mutability":"mutable","name":"p1","nameLocation":"60040:2:18","nodeType":"VariableDeclaration","scope":25713,"src":"60026:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25693,"name":"string","nodeType":"ElementaryTypeName","src":"60026:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25696,"mutability":"mutable","name":"p2","nameLocation":"60052:2:18","nodeType":"VariableDeclaration","scope":25713,"src":"60044:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25695,"name":"uint256","nodeType":"ElementaryTypeName","src":"60044:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25698,"mutability":"mutable","name":"p3","nameLocation":"60064:2:18","nodeType":"VariableDeclaration","scope":25713,"src":"60056:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25697,"name":"uint256","nodeType":"ElementaryTypeName","src":"60056:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60013:54:18"},"returnParameters":{"id":25700,"nodeType":"ParameterList","parameters":[],"src":"60082:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25736,"nodeType":"FunctionDefinition","src":"60200:198:18","nodes":[],"body":{"id":25735,"nodeType":"Block","src":"60287:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729","id":25727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60337:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},"value":"log(address,string,uint256,string)"},{"id":25728,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25715,"src":"60375:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25729,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25717,"src":"60379:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25730,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25719,"src":"60383:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25731,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25721,"src":"60387:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25725,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60313:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60317:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60313:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60313:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25724,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"60297:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60297:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25734,"nodeType":"ExpressionStatement","src":"60297:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60209:3:18","parameters":{"id":25722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25715,"mutability":"mutable","name":"p0","nameLocation":"60221:2:18","nodeType":"VariableDeclaration","scope":25736,"src":"60213:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25714,"name":"address","nodeType":"ElementaryTypeName","src":"60213:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25717,"mutability":"mutable","name":"p1","nameLocation":"60239:2:18","nodeType":"VariableDeclaration","scope":25736,"src":"60225:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25716,"name":"string","nodeType":"ElementaryTypeName","src":"60225:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25719,"mutability":"mutable","name":"p2","nameLocation":"60251:2:18","nodeType":"VariableDeclaration","scope":25736,"src":"60243:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25718,"name":"uint256","nodeType":"ElementaryTypeName","src":"60243:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25721,"mutability":"mutable","name":"p3","nameLocation":"60269:2:18","nodeType":"VariableDeclaration","scope":25736,"src":"60255:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25720,"name":"string","nodeType":"ElementaryTypeName","src":"60255:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60212:60:18"},"returnParameters":{"id":25723,"nodeType":"ParameterList","parameters":[],"src":"60287:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25759,"nodeType":"FunctionDefinition","src":"60404:187:18","nodes":[],"body":{"id":25758,"nodeType":"Block","src":"60482:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29","id":25750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60532:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},"value":"log(address,string,uint256,bool)"},{"id":25751,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25738,"src":"60568:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25752,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25740,"src":"60572:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25753,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25742,"src":"60576:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25754,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25744,"src":"60580:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25748,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60508:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60512:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60508:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60508:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25747,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"60492:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60492:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25757,"nodeType":"ExpressionStatement","src":"60492:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60413:3:18","parameters":{"id":25745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25738,"mutability":"mutable","name":"p0","nameLocation":"60425:2:18","nodeType":"VariableDeclaration","scope":25759,"src":"60417:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25737,"name":"address","nodeType":"ElementaryTypeName","src":"60417:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25740,"mutability":"mutable","name":"p1","nameLocation":"60443:2:18","nodeType":"VariableDeclaration","scope":25759,"src":"60429:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25739,"name":"string","nodeType":"ElementaryTypeName","src":"60429:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25742,"mutability":"mutable","name":"p2","nameLocation":"60455:2:18","nodeType":"VariableDeclaration","scope":25759,"src":"60447:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25741,"name":"uint256","nodeType":"ElementaryTypeName","src":"60447:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25744,"mutability":"mutable","name":"p3","nameLocation":"60464:2:18","nodeType":"VariableDeclaration","scope":25759,"src":"60459:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25743,"name":"bool","nodeType":"ElementaryTypeName","src":"60459:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60416:51:18"},"returnParameters":{"id":25746,"nodeType":"ParameterList","parameters":[],"src":"60482:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25782,"nodeType":"FunctionDefinition","src":"60597:193:18","nodes":[],"body":{"id":25781,"nodeType":"Block","src":"60678:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329","id":25773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60728:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},"value":"log(address,string,uint256,address)"},{"id":25774,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25761,"src":"60767:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25775,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25763,"src":"60771:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25776,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25765,"src":"60775:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25777,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25767,"src":"60779:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60704:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60708:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60704:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60704:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25770,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"60688:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60688:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25780,"nodeType":"ExpressionStatement","src":"60688:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60606:3:18","parameters":{"id":25768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25761,"mutability":"mutable","name":"p0","nameLocation":"60618:2:18","nodeType":"VariableDeclaration","scope":25782,"src":"60610:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25760,"name":"address","nodeType":"ElementaryTypeName","src":"60610:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25763,"mutability":"mutable","name":"p1","nameLocation":"60636:2:18","nodeType":"VariableDeclaration","scope":25782,"src":"60622:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25762,"name":"string","nodeType":"ElementaryTypeName","src":"60622:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25765,"mutability":"mutable","name":"p2","nameLocation":"60648:2:18","nodeType":"VariableDeclaration","scope":25782,"src":"60640:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25764,"name":"uint256","nodeType":"ElementaryTypeName","src":"60640:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25767,"mutability":"mutable","name":"p3","nameLocation":"60660:2:18","nodeType":"VariableDeclaration","scope":25782,"src":"60652:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25766,"name":"address","nodeType":"ElementaryTypeName","src":"60652:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60609:54:18"},"returnParameters":{"id":25769,"nodeType":"ParameterList","parameters":[],"src":"60678:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25805,"nodeType":"FunctionDefinition","src":"60796:198:18","nodes":[],"body":{"id":25804,"nodeType":"Block","src":"60883:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629","id":25796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60933:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},"value":"log(address,string,string,uint256)"},{"id":25797,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25784,"src":"60971:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25798,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25786,"src":"60975:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25799,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25788,"src":"60979:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25800,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25790,"src":"60983:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25794,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60909:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60913:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60909:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60909:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25793,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"60893:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60893:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25803,"nodeType":"ExpressionStatement","src":"60893:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60805:3:18","parameters":{"id":25791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25784,"mutability":"mutable","name":"p0","nameLocation":"60817:2:18","nodeType":"VariableDeclaration","scope":25805,"src":"60809:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25783,"name":"address","nodeType":"ElementaryTypeName","src":"60809:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25786,"mutability":"mutable","name":"p1","nameLocation":"60835:2:18","nodeType":"VariableDeclaration","scope":25805,"src":"60821:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25785,"name":"string","nodeType":"ElementaryTypeName","src":"60821:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25788,"mutability":"mutable","name":"p2","nameLocation":"60853:2:18","nodeType":"VariableDeclaration","scope":25805,"src":"60839:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25787,"name":"string","nodeType":"ElementaryTypeName","src":"60839:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25790,"mutability":"mutable","name":"p3","nameLocation":"60865:2:18","nodeType":"VariableDeclaration","scope":25805,"src":"60857:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25789,"name":"uint256","nodeType":"ElementaryTypeName","src":"60857:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60808:60:18"},"returnParameters":{"id":25792,"nodeType":"ParameterList","parameters":[],"src":"60883:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25828,"nodeType":"FunctionDefinition","src":"61000:203:18","nodes":[],"body":{"id":25827,"nodeType":"Block","src":"61093:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":25819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61143:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":25820,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25807,"src":"61180:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25821,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25809,"src":"61184:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25822,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25811,"src":"61188:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25823,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25813,"src":"61192:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61119:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61123:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61119:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61119:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25816,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"61103:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61103:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25826,"nodeType":"ExpressionStatement","src":"61103:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61009:3:18","parameters":{"id":25814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25807,"mutability":"mutable","name":"p0","nameLocation":"61021:2:18","nodeType":"VariableDeclaration","scope":25828,"src":"61013:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25806,"name":"address","nodeType":"ElementaryTypeName","src":"61013:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25809,"mutability":"mutable","name":"p1","nameLocation":"61039:2:18","nodeType":"VariableDeclaration","scope":25828,"src":"61025:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25808,"name":"string","nodeType":"ElementaryTypeName","src":"61025:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25811,"mutability":"mutable","name":"p2","nameLocation":"61057:2:18","nodeType":"VariableDeclaration","scope":25828,"src":"61043:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25810,"name":"string","nodeType":"ElementaryTypeName","src":"61043:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25813,"mutability":"mutable","name":"p3","nameLocation":"61075:2:18","nodeType":"VariableDeclaration","scope":25828,"src":"61061:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25812,"name":"string","nodeType":"ElementaryTypeName","src":"61061:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61012:66:18"},"returnParameters":{"id":25815,"nodeType":"ParameterList","parameters":[],"src":"61093:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25851,"nodeType":"FunctionDefinition","src":"61209:192:18","nodes":[],"body":{"id":25850,"nodeType":"Block","src":"61293:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":25842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61343:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":25843,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25830,"src":"61378:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25844,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25832,"src":"61382:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25845,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25834,"src":"61386:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25846,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25836,"src":"61390:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61319:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61323:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61319:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61319:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25839,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"61303:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61303:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25849,"nodeType":"ExpressionStatement","src":"61303:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61218:3:18","parameters":{"id":25837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25830,"mutability":"mutable","name":"p0","nameLocation":"61230:2:18","nodeType":"VariableDeclaration","scope":25851,"src":"61222:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25829,"name":"address","nodeType":"ElementaryTypeName","src":"61222:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25832,"mutability":"mutable","name":"p1","nameLocation":"61248:2:18","nodeType":"VariableDeclaration","scope":25851,"src":"61234:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25831,"name":"string","nodeType":"ElementaryTypeName","src":"61234:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25834,"mutability":"mutable","name":"p2","nameLocation":"61266:2:18","nodeType":"VariableDeclaration","scope":25851,"src":"61252:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25833,"name":"string","nodeType":"ElementaryTypeName","src":"61252:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25836,"mutability":"mutable","name":"p3","nameLocation":"61275:2:18","nodeType":"VariableDeclaration","scope":25851,"src":"61270:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25835,"name":"bool","nodeType":"ElementaryTypeName","src":"61270:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61221:57:18"},"returnParameters":{"id":25838,"nodeType":"ParameterList","parameters":[],"src":"61293:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25874,"nodeType":"FunctionDefinition","src":"61407:198:18","nodes":[],"body":{"id":25873,"nodeType":"Block","src":"61494:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":25865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61544:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":25866,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25853,"src":"61582:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25867,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25855,"src":"61586:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25868,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25857,"src":"61590:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25869,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25859,"src":"61594:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61520:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61524:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61520:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61520:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25862,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"61504:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61504:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25872,"nodeType":"ExpressionStatement","src":"61504:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61416:3:18","parameters":{"id":25860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25853,"mutability":"mutable","name":"p0","nameLocation":"61428:2:18","nodeType":"VariableDeclaration","scope":25874,"src":"61420:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25852,"name":"address","nodeType":"ElementaryTypeName","src":"61420:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25855,"mutability":"mutable","name":"p1","nameLocation":"61446:2:18","nodeType":"VariableDeclaration","scope":25874,"src":"61432:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25854,"name":"string","nodeType":"ElementaryTypeName","src":"61432:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25857,"mutability":"mutable","name":"p2","nameLocation":"61464:2:18","nodeType":"VariableDeclaration","scope":25874,"src":"61450:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25856,"name":"string","nodeType":"ElementaryTypeName","src":"61450:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25859,"mutability":"mutable","name":"p3","nameLocation":"61476:2:18","nodeType":"VariableDeclaration","scope":25874,"src":"61468:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25858,"name":"address","nodeType":"ElementaryTypeName","src":"61468:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61419:60:18"},"returnParameters":{"id":25861,"nodeType":"ParameterList","parameters":[],"src":"61494:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25897,"nodeType":"FunctionDefinition","src":"61611:187:18","nodes":[],"body":{"id":25896,"nodeType":"Block","src":"61689:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629","id":25888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61739:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},"value":"log(address,string,bool,uint256)"},{"id":25889,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25876,"src":"61775:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25890,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25878,"src":"61779:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25891,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25880,"src":"61783:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25892,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25882,"src":"61787:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25886,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61715:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61719:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61715:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61715:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25885,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"61699:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61699:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25895,"nodeType":"ExpressionStatement","src":"61699:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61620:3:18","parameters":{"id":25883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25876,"mutability":"mutable","name":"p0","nameLocation":"61632:2:18","nodeType":"VariableDeclaration","scope":25897,"src":"61624:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25875,"name":"address","nodeType":"ElementaryTypeName","src":"61624:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25878,"mutability":"mutable","name":"p1","nameLocation":"61650:2:18","nodeType":"VariableDeclaration","scope":25897,"src":"61636:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25877,"name":"string","nodeType":"ElementaryTypeName","src":"61636:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25880,"mutability":"mutable","name":"p2","nameLocation":"61659:2:18","nodeType":"VariableDeclaration","scope":25897,"src":"61654:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25879,"name":"bool","nodeType":"ElementaryTypeName","src":"61654:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25882,"mutability":"mutable","name":"p3","nameLocation":"61671:2:18","nodeType":"VariableDeclaration","scope":25897,"src":"61663:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25881,"name":"uint256","nodeType":"ElementaryTypeName","src":"61663:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61623:51:18"},"returnParameters":{"id":25884,"nodeType":"ParameterList","parameters":[],"src":"61689:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25920,"nodeType":"FunctionDefinition","src":"61804:192:18","nodes":[],"body":{"id":25919,"nodeType":"Block","src":"61888:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":25911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61938:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":25912,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25899,"src":"61973:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25913,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25901,"src":"61977:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25914,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25903,"src":"61981:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25915,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25905,"src":"61985:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61914:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61918:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61914:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61914:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"61898:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61898:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25918,"nodeType":"ExpressionStatement","src":"61898:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61813:3:18","parameters":{"id":25906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25899,"mutability":"mutable","name":"p0","nameLocation":"61825:2:18","nodeType":"VariableDeclaration","scope":25920,"src":"61817:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25898,"name":"address","nodeType":"ElementaryTypeName","src":"61817:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25901,"mutability":"mutable","name":"p1","nameLocation":"61843:2:18","nodeType":"VariableDeclaration","scope":25920,"src":"61829:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25900,"name":"string","nodeType":"ElementaryTypeName","src":"61829:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25903,"mutability":"mutable","name":"p2","nameLocation":"61852:2:18","nodeType":"VariableDeclaration","scope":25920,"src":"61847:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25902,"name":"bool","nodeType":"ElementaryTypeName","src":"61847:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25905,"mutability":"mutable","name":"p3","nameLocation":"61870:2:18","nodeType":"VariableDeclaration","scope":25920,"src":"61856:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25904,"name":"string","nodeType":"ElementaryTypeName","src":"61856:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61816:57:18"},"returnParameters":{"id":25907,"nodeType":"ParameterList","parameters":[],"src":"61888:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25943,"nodeType":"FunctionDefinition","src":"62002:181:18","nodes":[],"body":{"id":25942,"nodeType":"Block","src":"62077:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":25934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62127:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":25935,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25922,"src":"62160:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25936,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25924,"src":"62164:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25937,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25926,"src":"62168:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25938,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25928,"src":"62172:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25932,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62103:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62107:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62103:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62103:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25931,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"62087:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62087:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25941,"nodeType":"ExpressionStatement","src":"62087:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62011:3:18","parameters":{"id":25929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25922,"mutability":"mutable","name":"p0","nameLocation":"62023:2:18","nodeType":"VariableDeclaration","scope":25943,"src":"62015:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25921,"name":"address","nodeType":"ElementaryTypeName","src":"62015:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25924,"mutability":"mutable","name":"p1","nameLocation":"62041:2:18","nodeType":"VariableDeclaration","scope":25943,"src":"62027:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25923,"name":"string","nodeType":"ElementaryTypeName","src":"62027:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25926,"mutability":"mutable","name":"p2","nameLocation":"62050:2:18","nodeType":"VariableDeclaration","scope":25943,"src":"62045:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25925,"name":"bool","nodeType":"ElementaryTypeName","src":"62045:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25928,"mutability":"mutable","name":"p3","nameLocation":"62059:2:18","nodeType":"VariableDeclaration","scope":25943,"src":"62054:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25927,"name":"bool","nodeType":"ElementaryTypeName","src":"62054:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62014:48:18"},"returnParameters":{"id":25930,"nodeType":"ParameterList","parameters":[],"src":"62077:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25966,"nodeType":"FunctionDefinition","src":"62189:187:18","nodes":[],"body":{"id":25965,"nodeType":"Block","src":"62267:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":25957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62317:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":25958,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25945,"src":"62353:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25959,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25947,"src":"62357:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25960,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25949,"src":"62361:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25961,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25951,"src":"62365:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25955,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62293:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62297:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62293:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62293:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25954,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"62277:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62277:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25964,"nodeType":"ExpressionStatement","src":"62277:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62198:3:18","parameters":{"id":25952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25945,"mutability":"mutable","name":"p0","nameLocation":"62210:2:18","nodeType":"VariableDeclaration","scope":25966,"src":"62202:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25944,"name":"address","nodeType":"ElementaryTypeName","src":"62202:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25947,"mutability":"mutable","name":"p1","nameLocation":"62228:2:18","nodeType":"VariableDeclaration","scope":25966,"src":"62214:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25946,"name":"string","nodeType":"ElementaryTypeName","src":"62214:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25949,"mutability":"mutable","name":"p2","nameLocation":"62237:2:18","nodeType":"VariableDeclaration","scope":25966,"src":"62232:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25948,"name":"bool","nodeType":"ElementaryTypeName","src":"62232:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25951,"mutability":"mutable","name":"p3","nameLocation":"62249:2:18","nodeType":"VariableDeclaration","scope":25966,"src":"62241:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25950,"name":"address","nodeType":"ElementaryTypeName","src":"62241:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62201:51:18"},"returnParameters":{"id":25953,"nodeType":"ParameterList","parameters":[],"src":"62267:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25989,"nodeType":"FunctionDefinition","src":"62382:193:18","nodes":[],"body":{"id":25988,"nodeType":"Block","src":"62463:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629","id":25980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62513:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},"value":"log(address,string,address,uint256)"},{"id":25981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25968,"src":"62552:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25970,"src":"62556:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25972,"src":"62560:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25984,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25974,"src":"62564:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62489:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62493:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62489:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62489:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"62473:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62473:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25987,"nodeType":"ExpressionStatement","src":"62473:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62391:3:18","parameters":{"id":25975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25968,"mutability":"mutable","name":"p0","nameLocation":"62403:2:18","nodeType":"VariableDeclaration","scope":25989,"src":"62395:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25967,"name":"address","nodeType":"ElementaryTypeName","src":"62395:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25970,"mutability":"mutable","name":"p1","nameLocation":"62421:2:18","nodeType":"VariableDeclaration","scope":25989,"src":"62407:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25969,"name":"string","nodeType":"ElementaryTypeName","src":"62407:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25972,"mutability":"mutable","name":"p2","nameLocation":"62433:2:18","nodeType":"VariableDeclaration","scope":25989,"src":"62425:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25971,"name":"address","nodeType":"ElementaryTypeName","src":"62425:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25974,"mutability":"mutable","name":"p3","nameLocation":"62445:2:18","nodeType":"VariableDeclaration","scope":25989,"src":"62437:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25973,"name":"uint256","nodeType":"ElementaryTypeName","src":"62437:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62394:54:18"},"returnParameters":{"id":25976,"nodeType":"ParameterList","parameters":[],"src":"62463:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26012,"nodeType":"FunctionDefinition","src":"62581:198:18","nodes":[],"body":{"id":26011,"nodeType":"Block","src":"62668:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":26003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62718:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":26004,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25991,"src":"62756:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26005,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25993,"src":"62760:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26006,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25995,"src":"62764:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26007,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25997,"src":"62768:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62694:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62698:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62694:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62694:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"62678:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62678:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26010,"nodeType":"ExpressionStatement","src":"62678:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62590:3:18","parameters":{"id":25998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25991,"mutability":"mutable","name":"p0","nameLocation":"62602:2:18","nodeType":"VariableDeclaration","scope":26012,"src":"62594:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25990,"name":"address","nodeType":"ElementaryTypeName","src":"62594:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25993,"mutability":"mutable","name":"p1","nameLocation":"62620:2:18","nodeType":"VariableDeclaration","scope":26012,"src":"62606:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25992,"name":"string","nodeType":"ElementaryTypeName","src":"62606:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25995,"mutability":"mutable","name":"p2","nameLocation":"62632:2:18","nodeType":"VariableDeclaration","scope":26012,"src":"62624:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25994,"name":"address","nodeType":"ElementaryTypeName","src":"62624:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25997,"mutability":"mutable","name":"p3","nameLocation":"62650:2:18","nodeType":"VariableDeclaration","scope":26012,"src":"62636:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25996,"name":"string","nodeType":"ElementaryTypeName","src":"62636:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62593:60:18"},"returnParameters":{"id":25999,"nodeType":"ParameterList","parameters":[],"src":"62668:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26035,"nodeType":"FunctionDefinition","src":"62785:187:18","nodes":[],"body":{"id":26034,"nodeType":"Block","src":"62863:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":26026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62913:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":26027,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26014,"src":"62949:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26028,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26016,"src":"62953:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26029,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26018,"src":"62957:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26030,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26020,"src":"62961:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62889:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62893:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62889:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62889:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26023,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"62873:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62873:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26033,"nodeType":"ExpressionStatement","src":"62873:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62794:3:18","parameters":{"id":26021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26014,"mutability":"mutable","name":"p0","nameLocation":"62806:2:18","nodeType":"VariableDeclaration","scope":26035,"src":"62798:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26013,"name":"address","nodeType":"ElementaryTypeName","src":"62798:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26016,"mutability":"mutable","name":"p1","nameLocation":"62824:2:18","nodeType":"VariableDeclaration","scope":26035,"src":"62810:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26015,"name":"string","nodeType":"ElementaryTypeName","src":"62810:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26018,"mutability":"mutable","name":"p2","nameLocation":"62836:2:18","nodeType":"VariableDeclaration","scope":26035,"src":"62828:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26017,"name":"address","nodeType":"ElementaryTypeName","src":"62828:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26020,"mutability":"mutable","name":"p3","nameLocation":"62845:2:18","nodeType":"VariableDeclaration","scope":26035,"src":"62840:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26019,"name":"bool","nodeType":"ElementaryTypeName","src":"62840:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62797:51:18"},"returnParameters":{"id":26022,"nodeType":"ParameterList","parameters":[],"src":"62863:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26058,"nodeType":"FunctionDefinition","src":"62978:193:18","nodes":[],"body":{"id":26057,"nodeType":"Block","src":"63059:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":26049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63109:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":26050,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26037,"src":"63148:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26051,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26039,"src":"63152:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26052,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26041,"src":"63156:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26053,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26043,"src":"63160:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63085:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63089:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63085:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63085:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26046,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"63069:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63069:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26056,"nodeType":"ExpressionStatement","src":"63069:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62987:3:18","parameters":{"id":26044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26037,"mutability":"mutable","name":"p0","nameLocation":"62999:2:18","nodeType":"VariableDeclaration","scope":26058,"src":"62991:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26036,"name":"address","nodeType":"ElementaryTypeName","src":"62991:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26039,"mutability":"mutable","name":"p1","nameLocation":"63017:2:18","nodeType":"VariableDeclaration","scope":26058,"src":"63003:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26038,"name":"string","nodeType":"ElementaryTypeName","src":"63003:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26041,"mutability":"mutable","name":"p2","nameLocation":"63029:2:18","nodeType":"VariableDeclaration","scope":26058,"src":"63021:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26040,"name":"address","nodeType":"ElementaryTypeName","src":"63021:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26043,"mutability":"mutable","name":"p3","nameLocation":"63041:2:18","nodeType":"VariableDeclaration","scope":26058,"src":"63033:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26042,"name":"address","nodeType":"ElementaryTypeName","src":"63033:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62990:54:18"},"returnParameters":{"id":26045,"nodeType":"ParameterList","parameters":[],"src":"63059:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26081,"nodeType":"FunctionDefinition","src":"63177:182:18","nodes":[],"body":{"id":26080,"nodeType":"Block","src":"63249:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629","id":26072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63299:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},"value":"log(address,bool,uint256,uint256)"},{"id":26073,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26060,"src":"63336:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26074,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26062,"src":"63340:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26075,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26064,"src":"63344:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26076,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26066,"src":"63348:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63275:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63279:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63275:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63275:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26069,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"63259:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63259:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26079,"nodeType":"ExpressionStatement","src":"63259:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63186:3:18","parameters":{"id":26067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26060,"mutability":"mutable","name":"p0","nameLocation":"63198:2:18","nodeType":"VariableDeclaration","scope":26081,"src":"63190:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26059,"name":"address","nodeType":"ElementaryTypeName","src":"63190:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26062,"mutability":"mutable","name":"p1","nameLocation":"63207:2:18","nodeType":"VariableDeclaration","scope":26081,"src":"63202:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26061,"name":"bool","nodeType":"ElementaryTypeName","src":"63202:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26064,"mutability":"mutable","name":"p2","nameLocation":"63219:2:18","nodeType":"VariableDeclaration","scope":26081,"src":"63211:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26063,"name":"uint256","nodeType":"ElementaryTypeName","src":"63211:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26066,"mutability":"mutable","name":"p3","nameLocation":"63231:2:18","nodeType":"VariableDeclaration","scope":26081,"src":"63223:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26065,"name":"uint256","nodeType":"ElementaryTypeName","src":"63223:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63189:45:18"},"returnParameters":{"id":26068,"nodeType":"ParameterList","parameters":[],"src":"63249:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26104,"nodeType":"FunctionDefinition","src":"63365:187:18","nodes":[],"body":{"id":26103,"nodeType":"Block","src":"63443:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729","id":26095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63493:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},"value":"log(address,bool,uint256,string)"},{"id":26096,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26083,"src":"63529:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26097,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26085,"src":"63533:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26098,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26087,"src":"63537:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26099,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26089,"src":"63541:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26093,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63469:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63473:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63469:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63469:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26092,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"63453:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63453:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26102,"nodeType":"ExpressionStatement","src":"63453:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63374:3:18","parameters":{"id":26090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26083,"mutability":"mutable","name":"p0","nameLocation":"63386:2:18","nodeType":"VariableDeclaration","scope":26104,"src":"63378:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26082,"name":"address","nodeType":"ElementaryTypeName","src":"63378:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26085,"mutability":"mutable","name":"p1","nameLocation":"63395:2:18","nodeType":"VariableDeclaration","scope":26104,"src":"63390:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26084,"name":"bool","nodeType":"ElementaryTypeName","src":"63390:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26087,"mutability":"mutable","name":"p2","nameLocation":"63407:2:18","nodeType":"VariableDeclaration","scope":26104,"src":"63399:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26086,"name":"uint256","nodeType":"ElementaryTypeName","src":"63399:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26089,"mutability":"mutable","name":"p3","nameLocation":"63425:2:18","nodeType":"VariableDeclaration","scope":26104,"src":"63411:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26088,"name":"string","nodeType":"ElementaryTypeName","src":"63411:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63377:51:18"},"returnParameters":{"id":26091,"nodeType":"ParameterList","parameters":[],"src":"63443:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26127,"nodeType":"FunctionDefinition","src":"63558:176:18","nodes":[],"body":{"id":26126,"nodeType":"Block","src":"63627:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29","id":26118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63677:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},"value":"log(address,bool,uint256,bool)"},{"id":26119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26106,"src":"63711:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26108,"src":"63715:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26110,"src":"63719:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26122,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26112,"src":"63723:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63653:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63657:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63653:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63653:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"63637:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63637:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26125,"nodeType":"ExpressionStatement","src":"63637:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63567:3:18","parameters":{"id":26113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26106,"mutability":"mutable","name":"p0","nameLocation":"63579:2:18","nodeType":"VariableDeclaration","scope":26127,"src":"63571:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26105,"name":"address","nodeType":"ElementaryTypeName","src":"63571:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26108,"mutability":"mutable","name":"p1","nameLocation":"63588:2:18","nodeType":"VariableDeclaration","scope":26127,"src":"63583:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26107,"name":"bool","nodeType":"ElementaryTypeName","src":"63583:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26110,"mutability":"mutable","name":"p2","nameLocation":"63600:2:18","nodeType":"VariableDeclaration","scope":26127,"src":"63592:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26109,"name":"uint256","nodeType":"ElementaryTypeName","src":"63592:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26112,"mutability":"mutable","name":"p3","nameLocation":"63609:2:18","nodeType":"VariableDeclaration","scope":26127,"src":"63604:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26111,"name":"bool","nodeType":"ElementaryTypeName","src":"63604:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63570:42:18"},"returnParameters":{"id":26114,"nodeType":"ParameterList","parameters":[],"src":"63627:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26150,"nodeType":"FunctionDefinition","src":"63740:182:18","nodes":[],"body":{"id":26149,"nodeType":"Block","src":"63812:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329","id":26141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63862:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},"value":"log(address,bool,uint256,address)"},{"id":26142,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26129,"src":"63899:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26143,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26131,"src":"63903:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26144,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26133,"src":"63907:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26145,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26135,"src":"63911:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26139,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63838:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63842:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63838:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63838:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26138,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"63822:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63822:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26148,"nodeType":"ExpressionStatement","src":"63822:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63749:3:18","parameters":{"id":26136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26129,"mutability":"mutable","name":"p0","nameLocation":"63761:2:18","nodeType":"VariableDeclaration","scope":26150,"src":"63753:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26128,"name":"address","nodeType":"ElementaryTypeName","src":"63753:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26131,"mutability":"mutable","name":"p1","nameLocation":"63770:2:18","nodeType":"VariableDeclaration","scope":26150,"src":"63765:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26130,"name":"bool","nodeType":"ElementaryTypeName","src":"63765:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26133,"mutability":"mutable","name":"p2","nameLocation":"63782:2:18","nodeType":"VariableDeclaration","scope":26150,"src":"63774:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26132,"name":"uint256","nodeType":"ElementaryTypeName","src":"63774:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26135,"mutability":"mutable","name":"p3","nameLocation":"63794:2:18","nodeType":"VariableDeclaration","scope":26150,"src":"63786:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26134,"name":"address","nodeType":"ElementaryTypeName","src":"63786:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63752:45:18"},"returnParameters":{"id":26137,"nodeType":"ParameterList","parameters":[],"src":"63812:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26173,"nodeType":"FunctionDefinition","src":"63928:187:18","nodes":[],"body":{"id":26172,"nodeType":"Block","src":"64006:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629","id":26164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64056:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},"value":"log(address,bool,string,uint256)"},{"id":26165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26152,"src":"64092:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26154,"src":"64096:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26156,"src":"64100:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26168,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26158,"src":"64104:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64032:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64036:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64032:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64032:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"64016:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64016:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26171,"nodeType":"ExpressionStatement","src":"64016:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63937:3:18","parameters":{"id":26159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26152,"mutability":"mutable","name":"p0","nameLocation":"63949:2:18","nodeType":"VariableDeclaration","scope":26173,"src":"63941:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26151,"name":"address","nodeType":"ElementaryTypeName","src":"63941:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26154,"mutability":"mutable","name":"p1","nameLocation":"63958:2:18","nodeType":"VariableDeclaration","scope":26173,"src":"63953:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26153,"name":"bool","nodeType":"ElementaryTypeName","src":"63953:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26156,"mutability":"mutable","name":"p2","nameLocation":"63976:2:18","nodeType":"VariableDeclaration","scope":26173,"src":"63962:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26155,"name":"string","nodeType":"ElementaryTypeName","src":"63962:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26158,"mutability":"mutable","name":"p3","nameLocation":"63988:2:18","nodeType":"VariableDeclaration","scope":26173,"src":"63980:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26157,"name":"uint256","nodeType":"ElementaryTypeName","src":"63980:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63940:51:18"},"returnParameters":{"id":26160,"nodeType":"ParameterList","parameters":[],"src":"64006:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26196,"nodeType":"FunctionDefinition","src":"64121:192:18","nodes":[],"body":{"id":26195,"nodeType":"Block","src":"64205:108:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":26187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64255:33:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":26188,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26175,"src":"64290:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26189,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26177,"src":"64294:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26190,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26179,"src":"64298:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26191,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26181,"src":"64302:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64231:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64235:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64231:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64231:74:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26184,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"64215:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64215:91:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26194,"nodeType":"ExpressionStatement","src":"64215:91:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64130:3:18","parameters":{"id":26182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26175,"mutability":"mutable","name":"p0","nameLocation":"64142:2:18","nodeType":"VariableDeclaration","scope":26196,"src":"64134:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26174,"name":"address","nodeType":"ElementaryTypeName","src":"64134:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26177,"mutability":"mutable","name":"p1","nameLocation":"64151:2:18","nodeType":"VariableDeclaration","scope":26196,"src":"64146:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26176,"name":"bool","nodeType":"ElementaryTypeName","src":"64146:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26179,"mutability":"mutable","name":"p2","nameLocation":"64169:2:18","nodeType":"VariableDeclaration","scope":26196,"src":"64155:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26178,"name":"string","nodeType":"ElementaryTypeName","src":"64155:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26181,"mutability":"mutable","name":"p3","nameLocation":"64187:2:18","nodeType":"VariableDeclaration","scope":26196,"src":"64173:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26180,"name":"string","nodeType":"ElementaryTypeName","src":"64173:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64133:57:18"},"returnParameters":{"id":26183,"nodeType":"ParameterList","parameters":[],"src":"64205:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26219,"nodeType":"FunctionDefinition","src":"64319:181:18","nodes":[],"body":{"id":26218,"nodeType":"Block","src":"64394:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":26210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64444:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":26211,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26198,"src":"64477:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26212,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26200,"src":"64481:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26213,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26202,"src":"64485:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26214,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26204,"src":"64489:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26208,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64420:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64424:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64420:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64420:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26207,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"64404:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64404:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26217,"nodeType":"ExpressionStatement","src":"64404:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64328:3:18","parameters":{"id":26205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26198,"mutability":"mutable","name":"p0","nameLocation":"64340:2:18","nodeType":"VariableDeclaration","scope":26219,"src":"64332:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26197,"name":"address","nodeType":"ElementaryTypeName","src":"64332:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26200,"mutability":"mutable","name":"p1","nameLocation":"64349:2:18","nodeType":"VariableDeclaration","scope":26219,"src":"64344:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26199,"name":"bool","nodeType":"ElementaryTypeName","src":"64344:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26202,"mutability":"mutable","name":"p2","nameLocation":"64367:2:18","nodeType":"VariableDeclaration","scope":26219,"src":"64353:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26201,"name":"string","nodeType":"ElementaryTypeName","src":"64353:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26204,"mutability":"mutable","name":"p3","nameLocation":"64376:2:18","nodeType":"VariableDeclaration","scope":26219,"src":"64371:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26203,"name":"bool","nodeType":"ElementaryTypeName","src":"64371:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64331:48:18"},"returnParameters":{"id":26206,"nodeType":"ParameterList","parameters":[],"src":"64394:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26242,"nodeType":"FunctionDefinition","src":"64506:187:18","nodes":[],"body":{"id":26241,"nodeType":"Block","src":"64584:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":26233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64634:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":26234,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26221,"src":"64670:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26235,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26223,"src":"64674:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26236,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26225,"src":"64678:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26237,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26227,"src":"64682:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64610:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64614:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64610:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64610:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26230,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"64594:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64594:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26240,"nodeType":"ExpressionStatement","src":"64594:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64515:3:18","parameters":{"id":26228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26221,"mutability":"mutable","name":"p0","nameLocation":"64527:2:18","nodeType":"VariableDeclaration","scope":26242,"src":"64519:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26220,"name":"address","nodeType":"ElementaryTypeName","src":"64519:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26223,"mutability":"mutable","name":"p1","nameLocation":"64536:2:18","nodeType":"VariableDeclaration","scope":26242,"src":"64531:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26222,"name":"bool","nodeType":"ElementaryTypeName","src":"64531:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26225,"mutability":"mutable","name":"p2","nameLocation":"64554:2:18","nodeType":"VariableDeclaration","scope":26242,"src":"64540:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26224,"name":"string","nodeType":"ElementaryTypeName","src":"64540:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26227,"mutability":"mutable","name":"p3","nameLocation":"64566:2:18","nodeType":"VariableDeclaration","scope":26242,"src":"64558:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26226,"name":"address","nodeType":"ElementaryTypeName","src":"64558:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64518:51:18"},"returnParameters":{"id":26229,"nodeType":"ParameterList","parameters":[],"src":"64584:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26265,"nodeType":"FunctionDefinition","src":"64699:176:18","nodes":[],"body":{"id":26264,"nodeType":"Block","src":"64768:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629","id":26256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64818:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},"value":"log(address,bool,bool,uint256)"},{"id":26257,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26244,"src":"64852:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26258,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26246,"src":"64856:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26259,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26248,"src":"64860:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26260,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26250,"src":"64864:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26254,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64794:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64798:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64794:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64794:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26253,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"64778:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64778:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26263,"nodeType":"ExpressionStatement","src":"64778:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64708:3:18","parameters":{"id":26251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26244,"mutability":"mutable","name":"p0","nameLocation":"64720:2:18","nodeType":"VariableDeclaration","scope":26265,"src":"64712:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26243,"name":"address","nodeType":"ElementaryTypeName","src":"64712:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26246,"mutability":"mutable","name":"p1","nameLocation":"64729:2:18","nodeType":"VariableDeclaration","scope":26265,"src":"64724:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26245,"name":"bool","nodeType":"ElementaryTypeName","src":"64724:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26248,"mutability":"mutable","name":"p2","nameLocation":"64738:2:18","nodeType":"VariableDeclaration","scope":26265,"src":"64733:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26247,"name":"bool","nodeType":"ElementaryTypeName","src":"64733:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26250,"mutability":"mutable","name":"p3","nameLocation":"64750:2:18","nodeType":"VariableDeclaration","scope":26265,"src":"64742:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26249,"name":"uint256","nodeType":"ElementaryTypeName","src":"64742:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64711:42:18"},"returnParameters":{"id":26252,"nodeType":"ParameterList","parameters":[],"src":"64768:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26288,"nodeType":"FunctionDefinition","src":"64881:181:18","nodes":[],"body":{"id":26287,"nodeType":"Block","src":"64956:106:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":26279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65006:31:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":26280,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26267,"src":"65039:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26281,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26269,"src":"65043:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26282,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26271,"src":"65047:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26283,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26273,"src":"65051:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26277,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64982:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64986:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64982:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64982:72:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26276,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"64966:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64966:89:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26286,"nodeType":"ExpressionStatement","src":"64966:89:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64890:3:18","parameters":{"id":26274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26267,"mutability":"mutable","name":"p0","nameLocation":"64902:2:18","nodeType":"VariableDeclaration","scope":26288,"src":"64894:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26266,"name":"address","nodeType":"ElementaryTypeName","src":"64894:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26269,"mutability":"mutable","name":"p1","nameLocation":"64911:2:18","nodeType":"VariableDeclaration","scope":26288,"src":"64906:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26268,"name":"bool","nodeType":"ElementaryTypeName","src":"64906:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26271,"mutability":"mutable","name":"p2","nameLocation":"64920:2:18","nodeType":"VariableDeclaration","scope":26288,"src":"64915:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26270,"name":"bool","nodeType":"ElementaryTypeName","src":"64915:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26273,"mutability":"mutable","name":"p3","nameLocation":"64938:2:18","nodeType":"VariableDeclaration","scope":26288,"src":"64924:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26272,"name":"string","nodeType":"ElementaryTypeName","src":"64924:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64893:48:18"},"returnParameters":{"id":26275,"nodeType":"ParameterList","parameters":[],"src":"64956:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26311,"nodeType":"FunctionDefinition","src":"65068:170:18","nodes":[],"body":{"id":26310,"nodeType":"Block","src":"65134:104:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":26302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65184:29:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":26303,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26290,"src":"65215:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26304,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26292,"src":"65219:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26305,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26294,"src":"65223:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26306,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26296,"src":"65227:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26300,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65160:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65164:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65160:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65160:70:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26299,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"65144:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65144:87:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26309,"nodeType":"ExpressionStatement","src":"65144:87:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65077:3:18","parameters":{"id":26297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26290,"mutability":"mutable","name":"p0","nameLocation":"65089:2:18","nodeType":"VariableDeclaration","scope":26311,"src":"65081:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26289,"name":"address","nodeType":"ElementaryTypeName","src":"65081:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26292,"mutability":"mutable","name":"p1","nameLocation":"65098:2:18","nodeType":"VariableDeclaration","scope":26311,"src":"65093:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26291,"name":"bool","nodeType":"ElementaryTypeName","src":"65093:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26294,"mutability":"mutable","name":"p2","nameLocation":"65107:2:18","nodeType":"VariableDeclaration","scope":26311,"src":"65102:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26293,"name":"bool","nodeType":"ElementaryTypeName","src":"65102:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26296,"mutability":"mutable","name":"p3","nameLocation":"65116:2:18","nodeType":"VariableDeclaration","scope":26311,"src":"65111:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26295,"name":"bool","nodeType":"ElementaryTypeName","src":"65111:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65080:39:18"},"returnParameters":{"id":26298,"nodeType":"ParameterList","parameters":[],"src":"65134:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26334,"nodeType":"FunctionDefinition","src":"65244:176:18","nodes":[],"body":{"id":26333,"nodeType":"Block","src":"65313:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":26325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65363:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":26326,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26313,"src":"65397:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26327,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26315,"src":"65401:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26328,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26317,"src":"65405:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26329,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26319,"src":"65409:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26323,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65339:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65343:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65339:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65339:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26322,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"65323:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65323:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26332,"nodeType":"ExpressionStatement","src":"65323:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65253:3:18","parameters":{"id":26320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26313,"mutability":"mutable","name":"p0","nameLocation":"65265:2:18","nodeType":"VariableDeclaration","scope":26334,"src":"65257:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26312,"name":"address","nodeType":"ElementaryTypeName","src":"65257:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26315,"mutability":"mutable","name":"p1","nameLocation":"65274:2:18","nodeType":"VariableDeclaration","scope":26334,"src":"65269:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26314,"name":"bool","nodeType":"ElementaryTypeName","src":"65269:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26317,"mutability":"mutable","name":"p2","nameLocation":"65283:2:18","nodeType":"VariableDeclaration","scope":26334,"src":"65278:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26316,"name":"bool","nodeType":"ElementaryTypeName","src":"65278:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26319,"mutability":"mutable","name":"p3","nameLocation":"65295:2:18","nodeType":"VariableDeclaration","scope":26334,"src":"65287:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26318,"name":"address","nodeType":"ElementaryTypeName","src":"65287:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65256:42:18"},"returnParameters":{"id":26321,"nodeType":"ParameterList","parameters":[],"src":"65313:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26357,"nodeType":"FunctionDefinition","src":"65426:182:18","nodes":[],"body":{"id":26356,"nodeType":"Block","src":"65498:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629","id":26348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65548:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},"value":"log(address,bool,address,uint256)"},{"id":26349,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26336,"src":"65585:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26350,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26338,"src":"65589:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26351,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26340,"src":"65593:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26352,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26342,"src":"65597:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26346,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65524:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65528:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65524:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65524:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26345,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"65508:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65508:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26355,"nodeType":"ExpressionStatement","src":"65508:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65435:3:18","parameters":{"id":26343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26336,"mutability":"mutable","name":"p0","nameLocation":"65447:2:18","nodeType":"VariableDeclaration","scope":26357,"src":"65439:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26335,"name":"address","nodeType":"ElementaryTypeName","src":"65439:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26338,"mutability":"mutable","name":"p1","nameLocation":"65456:2:18","nodeType":"VariableDeclaration","scope":26357,"src":"65451:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26337,"name":"bool","nodeType":"ElementaryTypeName","src":"65451:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26340,"mutability":"mutable","name":"p2","nameLocation":"65468:2:18","nodeType":"VariableDeclaration","scope":26357,"src":"65460:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26339,"name":"address","nodeType":"ElementaryTypeName","src":"65460:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26342,"mutability":"mutable","name":"p3","nameLocation":"65480:2:18","nodeType":"VariableDeclaration","scope":26357,"src":"65472:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26341,"name":"uint256","nodeType":"ElementaryTypeName","src":"65472:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65438:45:18"},"returnParameters":{"id":26344,"nodeType":"ParameterList","parameters":[],"src":"65498:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26380,"nodeType":"FunctionDefinition","src":"65614:187:18","nodes":[],"body":{"id":26379,"nodeType":"Block","src":"65692:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":26371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65742:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":26372,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26359,"src":"65778:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26373,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26361,"src":"65782:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26374,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26363,"src":"65786:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26375,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26365,"src":"65790:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26369,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65718:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65722:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65718:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65718:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26368,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"65702:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65702:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26378,"nodeType":"ExpressionStatement","src":"65702:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65623:3:18","parameters":{"id":26366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26359,"mutability":"mutable","name":"p0","nameLocation":"65635:2:18","nodeType":"VariableDeclaration","scope":26380,"src":"65627:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26358,"name":"address","nodeType":"ElementaryTypeName","src":"65627:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26361,"mutability":"mutable","name":"p1","nameLocation":"65644:2:18","nodeType":"VariableDeclaration","scope":26380,"src":"65639:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26360,"name":"bool","nodeType":"ElementaryTypeName","src":"65639:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26363,"mutability":"mutable","name":"p2","nameLocation":"65656:2:18","nodeType":"VariableDeclaration","scope":26380,"src":"65648:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26362,"name":"address","nodeType":"ElementaryTypeName","src":"65648:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26365,"mutability":"mutable","name":"p3","nameLocation":"65674:2:18","nodeType":"VariableDeclaration","scope":26380,"src":"65660:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26364,"name":"string","nodeType":"ElementaryTypeName","src":"65660:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65626:51:18"},"returnParameters":{"id":26367,"nodeType":"ParameterList","parameters":[],"src":"65692:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26403,"nodeType":"FunctionDefinition","src":"65807:176:18","nodes":[],"body":{"id":26402,"nodeType":"Block","src":"65876:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":26394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65926:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":26395,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26382,"src":"65960:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26396,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26384,"src":"65964:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26397,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26386,"src":"65968:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26398,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26388,"src":"65972:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26392,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65902:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65906:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65902:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65902:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26391,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"65886:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65886:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26401,"nodeType":"ExpressionStatement","src":"65886:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65816:3:18","parameters":{"id":26389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26382,"mutability":"mutable","name":"p0","nameLocation":"65828:2:18","nodeType":"VariableDeclaration","scope":26403,"src":"65820:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26381,"name":"address","nodeType":"ElementaryTypeName","src":"65820:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26384,"mutability":"mutable","name":"p1","nameLocation":"65837:2:18","nodeType":"VariableDeclaration","scope":26403,"src":"65832:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26383,"name":"bool","nodeType":"ElementaryTypeName","src":"65832:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26386,"mutability":"mutable","name":"p2","nameLocation":"65849:2:18","nodeType":"VariableDeclaration","scope":26403,"src":"65841:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26385,"name":"address","nodeType":"ElementaryTypeName","src":"65841:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26388,"mutability":"mutable","name":"p3","nameLocation":"65858:2:18","nodeType":"VariableDeclaration","scope":26403,"src":"65853:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26387,"name":"bool","nodeType":"ElementaryTypeName","src":"65853:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65819:42:18"},"returnParameters":{"id":26390,"nodeType":"ParameterList","parameters":[],"src":"65876:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26426,"nodeType":"FunctionDefinition","src":"65989:182:18","nodes":[],"body":{"id":26425,"nodeType":"Block","src":"66061:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":26417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66111:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":26418,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26405,"src":"66148:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26419,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26407,"src":"66152:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26420,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26409,"src":"66156:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26421,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26411,"src":"66160:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26415,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66087:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66091:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66087:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66087:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26414,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"66071:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66071:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26424,"nodeType":"ExpressionStatement","src":"66071:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65998:3:18","parameters":{"id":26412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26405,"mutability":"mutable","name":"p0","nameLocation":"66010:2:18","nodeType":"VariableDeclaration","scope":26426,"src":"66002:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26404,"name":"address","nodeType":"ElementaryTypeName","src":"66002:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26407,"mutability":"mutable","name":"p1","nameLocation":"66019:2:18","nodeType":"VariableDeclaration","scope":26426,"src":"66014:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26406,"name":"bool","nodeType":"ElementaryTypeName","src":"66014:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26409,"mutability":"mutable","name":"p2","nameLocation":"66031:2:18","nodeType":"VariableDeclaration","scope":26426,"src":"66023:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26408,"name":"address","nodeType":"ElementaryTypeName","src":"66023:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26411,"mutability":"mutable","name":"p3","nameLocation":"66043:2:18","nodeType":"VariableDeclaration","scope":26426,"src":"66035:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26410,"name":"address","nodeType":"ElementaryTypeName","src":"66035:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66001:45:18"},"returnParameters":{"id":26413,"nodeType":"ParameterList","parameters":[],"src":"66061:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26449,"nodeType":"FunctionDefinition","src":"66177:188:18","nodes":[],"body":{"id":26448,"nodeType":"Block","src":"66252:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629","id":26440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66302:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},"value":"log(address,address,uint256,uint256)"},{"id":26441,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26428,"src":"66342:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26442,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26430,"src":"66346:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26443,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26432,"src":"66350:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26444,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26434,"src":"66354:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66278:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66282:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66278:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66278:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"66262:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66262:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26447,"nodeType":"ExpressionStatement","src":"66262:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66186:3:18","parameters":{"id":26435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26428,"mutability":"mutable","name":"p0","nameLocation":"66198:2:18","nodeType":"VariableDeclaration","scope":26449,"src":"66190:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26427,"name":"address","nodeType":"ElementaryTypeName","src":"66190:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26430,"mutability":"mutable","name":"p1","nameLocation":"66210:2:18","nodeType":"VariableDeclaration","scope":26449,"src":"66202:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26429,"name":"address","nodeType":"ElementaryTypeName","src":"66202:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26432,"mutability":"mutable","name":"p2","nameLocation":"66222:2:18","nodeType":"VariableDeclaration","scope":26449,"src":"66214:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26431,"name":"uint256","nodeType":"ElementaryTypeName","src":"66214:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26434,"mutability":"mutable","name":"p3","nameLocation":"66234:2:18","nodeType":"VariableDeclaration","scope":26449,"src":"66226:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26433,"name":"uint256","nodeType":"ElementaryTypeName","src":"66226:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66189:48:18"},"returnParameters":{"id":26436,"nodeType":"ParameterList","parameters":[],"src":"66252:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26472,"nodeType":"FunctionDefinition","src":"66371:193:18","nodes":[],"body":{"id":26471,"nodeType":"Block","src":"66452:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729","id":26463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66502:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},"value":"log(address,address,uint256,string)"},{"id":26464,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26451,"src":"66541:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26465,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26453,"src":"66545:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26466,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26455,"src":"66549:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26467,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26457,"src":"66553:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66478:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66482:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66478:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66478:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26460,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"66462:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66462:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26470,"nodeType":"ExpressionStatement","src":"66462:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66380:3:18","parameters":{"id":26458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26451,"mutability":"mutable","name":"p0","nameLocation":"66392:2:18","nodeType":"VariableDeclaration","scope":26472,"src":"66384:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26450,"name":"address","nodeType":"ElementaryTypeName","src":"66384:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26453,"mutability":"mutable","name":"p1","nameLocation":"66404:2:18","nodeType":"VariableDeclaration","scope":26472,"src":"66396:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26452,"name":"address","nodeType":"ElementaryTypeName","src":"66396:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26455,"mutability":"mutable","name":"p2","nameLocation":"66416:2:18","nodeType":"VariableDeclaration","scope":26472,"src":"66408:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26454,"name":"uint256","nodeType":"ElementaryTypeName","src":"66408:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26457,"mutability":"mutable","name":"p3","nameLocation":"66434:2:18","nodeType":"VariableDeclaration","scope":26472,"src":"66420:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26456,"name":"string","nodeType":"ElementaryTypeName","src":"66420:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66383:54:18"},"returnParameters":{"id":26459,"nodeType":"ParameterList","parameters":[],"src":"66452:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26495,"nodeType":"FunctionDefinition","src":"66570:182:18","nodes":[],"body":{"id":26494,"nodeType":"Block","src":"66642:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29","id":26486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66692:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},"value":"log(address,address,uint256,bool)"},{"id":26487,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26474,"src":"66729:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26488,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26476,"src":"66733:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26489,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26478,"src":"66737:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26490,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26480,"src":"66741:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66668:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66672:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66668:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66668:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26483,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"66652:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66652:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26493,"nodeType":"ExpressionStatement","src":"66652:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66579:3:18","parameters":{"id":26481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26474,"mutability":"mutable","name":"p0","nameLocation":"66591:2:18","nodeType":"VariableDeclaration","scope":26495,"src":"66583:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26473,"name":"address","nodeType":"ElementaryTypeName","src":"66583:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26476,"mutability":"mutable","name":"p1","nameLocation":"66603:2:18","nodeType":"VariableDeclaration","scope":26495,"src":"66595:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26475,"name":"address","nodeType":"ElementaryTypeName","src":"66595:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26478,"mutability":"mutable","name":"p2","nameLocation":"66615:2:18","nodeType":"VariableDeclaration","scope":26495,"src":"66607:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26477,"name":"uint256","nodeType":"ElementaryTypeName","src":"66607:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26480,"mutability":"mutable","name":"p3","nameLocation":"66624:2:18","nodeType":"VariableDeclaration","scope":26495,"src":"66619:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26479,"name":"bool","nodeType":"ElementaryTypeName","src":"66619:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66582:45:18"},"returnParameters":{"id":26482,"nodeType":"ParameterList","parameters":[],"src":"66642:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26518,"nodeType":"FunctionDefinition","src":"66758:188:18","nodes":[],"body":{"id":26517,"nodeType":"Block","src":"66833:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329","id":26509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66883:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},"value":"log(address,address,uint256,address)"},{"id":26510,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26497,"src":"66923:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26511,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26499,"src":"66927:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26512,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26501,"src":"66931:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26513,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26503,"src":"66935:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26507,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66859:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66863:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66859:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66859:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26506,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"66843:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66843:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26516,"nodeType":"ExpressionStatement","src":"66843:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66767:3:18","parameters":{"id":26504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26497,"mutability":"mutable","name":"p0","nameLocation":"66779:2:18","nodeType":"VariableDeclaration","scope":26518,"src":"66771:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26496,"name":"address","nodeType":"ElementaryTypeName","src":"66771:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26499,"mutability":"mutable","name":"p1","nameLocation":"66791:2:18","nodeType":"VariableDeclaration","scope":26518,"src":"66783:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26498,"name":"address","nodeType":"ElementaryTypeName","src":"66783:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26501,"mutability":"mutable","name":"p2","nameLocation":"66803:2:18","nodeType":"VariableDeclaration","scope":26518,"src":"66795:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26500,"name":"uint256","nodeType":"ElementaryTypeName","src":"66795:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26503,"mutability":"mutable","name":"p3","nameLocation":"66815:2:18","nodeType":"VariableDeclaration","scope":26518,"src":"66807:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26502,"name":"address","nodeType":"ElementaryTypeName","src":"66807:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66770:48:18"},"returnParameters":{"id":26505,"nodeType":"ParameterList","parameters":[],"src":"66833:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26541,"nodeType":"FunctionDefinition","src":"66952:193:18","nodes":[],"body":{"id":26540,"nodeType":"Block","src":"67033:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629","id":26532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67083:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},"value":"log(address,address,string,uint256)"},{"id":26533,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26520,"src":"67122:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26534,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26522,"src":"67126:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26535,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26524,"src":"67130:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26536,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26526,"src":"67134:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26530,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67059:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67063:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67059:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67059:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26529,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"67043:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67043:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26539,"nodeType":"ExpressionStatement","src":"67043:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66961:3:18","parameters":{"id":26527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26520,"mutability":"mutable","name":"p0","nameLocation":"66973:2:18","nodeType":"VariableDeclaration","scope":26541,"src":"66965:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26519,"name":"address","nodeType":"ElementaryTypeName","src":"66965:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26522,"mutability":"mutable","name":"p1","nameLocation":"66985:2:18","nodeType":"VariableDeclaration","scope":26541,"src":"66977:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26521,"name":"address","nodeType":"ElementaryTypeName","src":"66977:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26524,"mutability":"mutable","name":"p2","nameLocation":"67003:2:18","nodeType":"VariableDeclaration","scope":26541,"src":"66989:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26523,"name":"string","nodeType":"ElementaryTypeName","src":"66989:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26526,"mutability":"mutable","name":"p3","nameLocation":"67015:2:18","nodeType":"VariableDeclaration","scope":26541,"src":"67007:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26525,"name":"uint256","nodeType":"ElementaryTypeName","src":"67007:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66964:54:18"},"returnParameters":{"id":26528,"nodeType":"ParameterList","parameters":[],"src":"67033:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26564,"nodeType":"FunctionDefinition","src":"67151:198:18","nodes":[],"body":{"id":26563,"nodeType":"Block","src":"67238:111:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":26555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67288:36:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":26556,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26543,"src":"67326:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26557,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26545,"src":"67330:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26558,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26547,"src":"67334:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26559,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26549,"src":"67338:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26553,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67264:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67268:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67264:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67264:77:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26552,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"67248:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67248:94:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26562,"nodeType":"ExpressionStatement","src":"67248:94:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67160:3:18","parameters":{"id":26550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26543,"mutability":"mutable","name":"p0","nameLocation":"67172:2:18","nodeType":"VariableDeclaration","scope":26564,"src":"67164:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26542,"name":"address","nodeType":"ElementaryTypeName","src":"67164:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26545,"mutability":"mutable","name":"p1","nameLocation":"67184:2:18","nodeType":"VariableDeclaration","scope":26564,"src":"67176:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26544,"name":"address","nodeType":"ElementaryTypeName","src":"67176:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26547,"mutability":"mutable","name":"p2","nameLocation":"67202:2:18","nodeType":"VariableDeclaration","scope":26564,"src":"67188:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26546,"name":"string","nodeType":"ElementaryTypeName","src":"67188:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26549,"mutability":"mutable","name":"p3","nameLocation":"67220:2:18","nodeType":"VariableDeclaration","scope":26564,"src":"67206:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26548,"name":"string","nodeType":"ElementaryTypeName","src":"67206:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67163:60:18"},"returnParameters":{"id":26551,"nodeType":"ParameterList","parameters":[],"src":"67238:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26587,"nodeType":"FunctionDefinition","src":"67355:187:18","nodes":[],"body":{"id":26586,"nodeType":"Block","src":"67433:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":26578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67483:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":26579,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26566,"src":"67519:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26580,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26568,"src":"67523:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26581,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26570,"src":"67527:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26582,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26572,"src":"67531:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67459:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67463:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67459:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67459:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"67443:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67443:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26585,"nodeType":"ExpressionStatement","src":"67443:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67364:3:18","parameters":{"id":26573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26566,"mutability":"mutable","name":"p0","nameLocation":"67376:2:18","nodeType":"VariableDeclaration","scope":26587,"src":"67368:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26565,"name":"address","nodeType":"ElementaryTypeName","src":"67368:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26568,"mutability":"mutable","name":"p1","nameLocation":"67388:2:18","nodeType":"VariableDeclaration","scope":26587,"src":"67380:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26567,"name":"address","nodeType":"ElementaryTypeName","src":"67380:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26570,"mutability":"mutable","name":"p2","nameLocation":"67406:2:18","nodeType":"VariableDeclaration","scope":26587,"src":"67392:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26569,"name":"string","nodeType":"ElementaryTypeName","src":"67392:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26572,"mutability":"mutable","name":"p3","nameLocation":"67415:2:18","nodeType":"VariableDeclaration","scope":26587,"src":"67410:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26571,"name":"bool","nodeType":"ElementaryTypeName","src":"67410:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67367:51:18"},"returnParameters":{"id":26574,"nodeType":"ParameterList","parameters":[],"src":"67433:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26610,"nodeType":"FunctionDefinition","src":"67548:193:18","nodes":[],"body":{"id":26609,"nodeType":"Block","src":"67629:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":26601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67679:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":26602,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26589,"src":"67718:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26603,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26591,"src":"67722:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26604,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26593,"src":"67726:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26605,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26595,"src":"67730:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26599,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67655:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67659:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67655:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67655:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26598,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"67639:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67639:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26608,"nodeType":"ExpressionStatement","src":"67639:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67557:3:18","parameters":{"id":26596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26589,"mutability":"mutable","name":"p0","nameLocation":"67569:2:18","nodeType":"VariableDeclaration","scope":26610,"src":"67561:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26588,"name":"address","nodeType":"ElementaryTypeName","src":"67561:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26591,"mutability":"mutable","name":"p1","nameLocation":"67581:2:18","nodeType":"VariableDeclaration","scope":26610,"src":"67573:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26590,"name":"address","nodeType":"ElementaryTypeName","src":"67573:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26593,"mutability":"mutable","name":"p2","nameLocation":"67599:2:18","nodeType":"VariableDeclaration","scope":26610,"src":"67585:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26592,"name":"string","nodeType":"ElementaryTypeName","src":"67585:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26595,"mutability":"mutable","name":"p3","nameLocation":"67611:2:18","nodeType":"VariableDeclaration","scope":26610,"src":"67603:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26594,"name":"address","nodeType":"ElementaryTypeName","src":"67603:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"67560:54:18"},"returnParameters":{"id":26597,"nodeType":"ParameterList","parameters":[],"src":"67629:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26633,"nodeType":"FunctionDefinition","src":"67747:182:18","nodes":[],"body":{"id":26632,"nodeType":"Block","src":"67819:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629","id":26624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67869:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},"value":"log(address,address,bool,uint256)"},{"id":26625,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26612,"src":"67906:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26626,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26614,"src":"67910:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26627,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26616,"src":"67914:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26628,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26618,"src":"67918:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26622,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67845:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67849:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67845:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67845:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26621,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"67829:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67829:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26631,"nodeType":"ExpressionStatement","src":"67829:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67756:3:18","parameters":{"id":26619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26612,"mutability":"mutable","name":"p0","nameLocation":"67768:2:18","nodeType":"VariableDeclaration","scope":26633,"src":"67760:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26611,"name":"address","nodeType":"ElementaryTypeName","src":"67760:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26614,"mutability":"mutable","name":"p1","nameLocation":"67780:2:18","nodeType":"VariableDeclaration","scope":26633,"src":"67772:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26613,"name":"address","nodeType":"ElementaryTypeName","src":"67772:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26616,"mutability":"mutable","name":"p2","nameLocation":"67789:2:18","nodeType":"VariableDeclaration","scope":26633,"src":"67784:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26615,"name":"bool","nodeType":"ElementaryTypeName","src":"67784:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26618,"mutability":"mutable","name":"p3","nameLocation":"67801:2:18","nodeType":"VariableDeclaration","scope":26633,"src":"67793:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26617,"name":"uint256","nodeType":"ElementaryTypeName","src":"67793:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67759:45:18"},"returnParameters":{"id":26620,"nodeType":"ParameterList","parameters":[],"src":"67819:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26656,"nodeType":"FunctionDefinition","src":"67935:187:18","nodes":[],"body":{"id":26655,"nodeType":"Block","src":"68013:109:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":26647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68063:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":26648,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26635,"src":"68099:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26649,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26637,"src":"68103:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26650,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26639,"src":"68107:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26651,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26641,"src":"68111:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26645,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68039:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68043:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68039:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68039:75:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26644,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"68023:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68023:92:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26654,"nodeType":"ExpressionStatement","src":"68023:92:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67944:3:18","parameters":{"id":26642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26635,"mutability":"mutable","name":"p0","nameLocation":"67956:2:18","nodeType":"VariableDeclaration","scope":26656,"src":"67948:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26634,"name":"address","nodeType":"ElementaryTypeName","src":"67948:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26637,"mutability":"mutable","name":"p1","nameLocation":"67968:2:18","nodeType":"VariableDeclaration","scope":26656,"src":"67960:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26636,"name":"address","nodeType":"ElementaryTypeName","src":"67960:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26639,"mutability":"mutable","name":"p2","nameLocation":"67977:2:18","nodeType":"VariableDeclaration","scope":26656,"src":"67972:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26638,"name":"bool","nodeType":"ElementaryTypeName","src":"67972:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26641,"mutability":"mutable","name":"p3","nameLocation":"67995:2:18","nodeType":"VariableDeclaration","scope":26656,"src":"67981:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26640,"name":"string","nodeType":"ElementaryTypeName","src":"67981:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67947:51:18"},"returnParameters":{"id":26643,"nodeType":"ParameterList","parameters":[],"src":"68013:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26679,"nodeType":"FunctionDefinition","src":"68128:176:18","nodes":[],"body":{"id":26678,"nodeType":"Block","src":"68197:107:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":26670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68247:32:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":26671,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26658,"src":"68281:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26672,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26660,"src":"68285:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26673,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26662,"src":"68289:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26674,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26664,"src":"68293:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26668,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68223:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68227:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68223:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68223:73:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26667,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"68207:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68207:90:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26677,"nodeType":"ExpressionStatement","src":"68207:90:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68137:3:18","parameters":{"id":26665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26658,"mutability":"mutable","name":"p0","nameLocation":"68149:2:18","nodeType":"VariableDeclaration","scope":26679,"src":"68141:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26657,"name":"address","nodeType":"ElementaryTypeName","src":"68141:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26660,"mutability":"mutable","name":"p1","nameLocation":"68161:2:18","nodeType":"VariableDeclaration","scope":26679,"src":"68153:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26659,"name":"address","nodeType":"ElementaryTypeName","src":"68153:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26662,"mutability":"mutable","name":"p2","nameLocation":"68170:2:18","nodeType":"VariableDeclaration","scope":26679,"src":"68165:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26661,"name":"bool","nodeType":"ElementaryTypeName","src":"68165:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26664,"mutability":"mutable","name":"p3","nameLocation":"68179:2:18","nodeType":"VariableDeclaration","scope":26679,"src":"68174:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26663,"name":"bool","nodeType":"ElementaryTypeName","src":"68174:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68140:42:18"},"returnParameters":{"id":26666,"nodeType":"ParameterList","parameters":[],"src":"68197:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26702,"nodeType":"FunctionDefinition","src":"68310:182:18","nodes":[],"body":{"id":26701,"nodeType":"Block","src":"68382:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":26693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68432:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":26694,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26681,"src":"68469:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26695,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26683,"src":"68473:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26696,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26685,"src":"68477:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26697,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26687,"src":"68481:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26691,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68408:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68412:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68408:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68408:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26690,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"68392:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68392:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26700,"nodeType":"ExpressionStatement","src":"68392:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68319:3:18","parameters":{"id":26688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26681,"mutability":"mutable","name":"p0","nameLocation":"68331:2:18","nodeType":"VariableDeclaration","scope":26702,"src":"68323:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26680,"name":"address","nodeType":"ElementaryTypeName","src":"68323:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26683,"mutability":"mutable","name":"p1","nameLocation":"68343:2:18","nodeType":"VariableDeclaration","scope":26702,"src":"68335:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26682,"name":"address","nodeType":"ElementaryTypeName","src":"68335:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26685,"mutability":"mutable","name":"p2","nameLocation":"68352:2:18","nodeType":"VariableDeclaration","scope":26702,"src":"68347:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26684,"name":"bool","nodeType":"ElementaryTypeName","src":"68347:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26687,"mutability":"mutable","name":"p3","nameLocation":"68364:2:18","nodeType":"VariableDeclaration","scope":26702,"src":"68356:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26686,"name":"address","nodeType":"ElementaryTypeName","src":"68356:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68322:45:18"},"returnParameters":{"id":26689,"nodeType":"ParameterList","parameters":[],"src":"68382:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26725,"nodeType":"FunctionDefinition","src":"68498:188:18","nodes":[],"body":{"id":26724,"nodeType":"Block","src":"68573:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629","id":26716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68623:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},"value":"log(address,address,address,uint256)"},{"id":26717,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26704,"src":"68663:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26718,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26706,"src":"68667:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26719,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26708,"src":"68671:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26720,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26710,"src":"68675:2:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26714,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68599:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68603:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68599:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68599:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26713,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"68583:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68583:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26723,"nodeType":"ExpressionStatement","src":"68583:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68507:3:18","parameters":{"id":26711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26704,"mutability":"mutable","name":"p0","nameLocation":"68519:2:18","nodeType":"VariableDeclaration","scope":26725,"src":"68511:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26703,"name":"address","nodeType":"ElementaryTypeName","src":"68511:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26706,"mutability":"mutable","name":"p1","nameLocation":"68531:2:18","nodeType":"VariableDeclaration","scope":26725,"src":"68523:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26705,"name":"address","nodeType":"ElementaryTypeName","src":"68523:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26708,"mutability":"mutable","name":"p2","nameLocation":"68543:2:18","nodeType":"VariableDeclaration","scope":26725,"src":"68535:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26707,"name":"address","nodeType":"ElementaryTypeName","src":"68535:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26710,"mutability":"mutable","name":"p3","nameLocation":"68555:2:18","nodeType":"VariableDeclaration","scope":26725,"src":"68547:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26709,"name":"uint256","nodeType":"ElementaryTypeName","src":"68547:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68510:48:18"},"returnParameters":{"id":26712,"nodeType":"ParameterList","parameters":[],"src":"68573:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26748,"nodeType":"FunctionDefinition","src":"68692:193:18","nodes":[],"body":{"id":26747,"nodeType":"Block","src":"68773:112:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":26739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68823:37:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":26740,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26727,"src":"68862:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26741,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26729,"src":"68866:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26742,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26731,"src":"68870:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26743,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26733,"src":"68874:2:18","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26737,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68799:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68803:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68799:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68799:78:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26736,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"68783:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68783:95:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26746,"nodeType":"ExpressionStatement","src":"68783:95:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68701:3:18","parameters":{"id":26734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26727,"mutability":"mutable","name":"p0","nameLocation":"68713:2:18","nodeType":"VariableDeclaration","scope":26748,"src":"68705:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26726,"name":"address","nodeType":"ElementaryTypeName","src":"68705:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26729,"mutability":"mutable","name":"p1","nameLocation":"68725:2:18","nodeType":"VariableDeclaration","scope":26748,"src":"68717:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26728,"name":"address","nodeType":"ElementaryTypeName","src":"68717:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26731,"mutability":"mutable","name":"p2","nameLocation":"68737:2:18","nodeType":"VariableDeclaration","scope":26748,"src":"68729:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26730,"name":"address","nodeType":"ElementaryTypeName","src":"68729:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26733,"mutability":"mutable","name":"p3","nameLocation":"68755:2:18","nodeType":"VariableDeclaration","scope":26748,"src":"68741:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26732,"name":"string","nodeType":"ElementaryTypeName","src":"68741:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68704:54:18"},"returnParameters":{"id":26735,"nodeType":"ParameterList","parameters":[],"src":"68773:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26771,"nodeType":"FunctionDefinition","src":"68891:182:18","nodes":[],"body":{"id":26770,"nodeType":"Block","src":"68963:110:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":26762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69013:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":26763,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26750,"src":"69050:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26764,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26752,"src":"69054:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26765,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26754,"src":"69058:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26766,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26756,"src":"69062:2:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26760,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68989:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68993:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68989:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68989:76:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26759,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"68973:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68973:93:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26769,"nodeType":"ExpressionStatement","src":"68973:93:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68900:3:18","parameters":{"id":26757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26750,"mutability":"mutable","name":"p0","nameLocation":"68912:2:18","nodeType":"VariableDeclaration","scope":26771,"src":"68904:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26749,"name":"address","nodeType":"ElementaryTypeName","src":"68904:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26752,"mutability":"mutable","name":"p1","nameLocation":"68924:2:18","nodeType":"VariableDeclaration","scope":26771,"src":"68916:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26751,"name":"address","nodeType":"ElementaryTypeName","src":"68916:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26754,"mutability":"mutable","name":"p2","nameLocation":"68936:2:18","nodeType":"VariableDeclaration","scope":26771,"src":"68928:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26753,"name":"address","nodeType":"ElementaryTypeName","src":"68928:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26756,"mutability":"mutable","name":"p3","nameLocation":"68945:2:18","nodeType":"VariableDeclaration","scope":26771,"src":"68940:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26755,"name":"bool","nodeType":"ElementaryTypeName","src":"68940:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68903:45:18"},"returnParameters":{"id":26758,"nodeType":"ParameterList","parameters":[],"src":"68963:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26794,"nodeType":"FunctionDefinition","src":"69079:188:18","nodes":[],"body":{"id":26793,"nodeType":"Block","src":"69154:113:18","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":26785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69204:38:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":26786,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26773,"src":"69244:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26787,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26775,"src":"69248:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26788,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26777,"src":"69252:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26789,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26779,"src":"69256:2:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69180:3:18","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"69184:19:18","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69180:23:18","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69180:79:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26782,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"69164:15:18","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69164:96:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26792,"nodeType":"ExpressionStatement","src":"69164:96:18"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69088:3:18","parameters":{"id":26780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26773,"mutability":"mutable","name":"p0","nameLocation":"69100:2:18","nodeType":"VariableDeclaration","scope":26794,"src":"69092:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26772,"name":"address","nodeType":"ElementaryTypeName","src":"69092:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26775,"mutability":"mutable","name":"p1","nameLocation":"69112:2:18","nodeType":"VariableDeclaration","scope":26794,"src":"69104:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26774,"name":"address","nodeType":"ElementaryTypeName","src":"69104:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26777,"mutability":"mutable","name":"p2","nameLocation":"69124:2:18","nodeType":"VariableDeclaration","scope":26794,"src":"69116:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26776,"name":"address","nodeType":"ElementaryTypeName","src":"69116:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26779,"mutability":"mutable","name":"p3","nameLocation":"69136:2:18","nodeType":"VariableDeclaration","scope":26794,"src":"69128:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26778,"name":"address","nodeType":"ElementaryTypeName","src":"69128:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"69091:48:18"},"returnParameters":{"id":26781,"nodeType":"ParameterList","parameters":[],"src":"69154:0:18"},"scope":26795,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"console","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[26795],"name":"console","nameLocation":"74:7:18","scope":26796,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/console2.sol":{"id":19,"ast":{"absolutePath":"lib/forge-std/src/console2.sol","id":26800,"exportedSymbols":{"console2":[26795]},"nodeType":"SourceUnit","src":"32:85:19","nodes":[{"id":26797,"nodeType":"PragmaDirective","src":"32:32:19","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":26799,"nodeType":"ImportDirective","src":"66:50:19","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":26800,"sourceUnit":26796,"symbolAliases":[{"foreign":{"id":26798,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"74:7:19","typeDescriptions":{}},"local":"console2","nameLocation":"-1:-1:-1"}],"unitAlias":""}],"license":"MIT"}},"lib/forge-std/src/interfaces/IMulticall3.sol":{"id":20,"ast":{"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","id":26963,"exportedSymbols":{"IMulticall3":[26962]},"nodeType":"SourceUnit","src":"32:2153:20","nodes":[{"id":26801,"nodeType":"PragmaDirective","src":"32:31:20","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":26802,"nodeType":"PragmaDirective","src":"65:33:20","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":26962,"nodeType":"ContractDefinition","src":"100:2084:20","nodes":[{"id":26807,"nodeType":"StructDefinition","src":"128:67:20","nodes":[],"canonicalName":"IMulticall3.Call","members":[{"constant":false,"id":26804,"mutability":"mutable","name":"target","nameLocation":"158:6:20","nodeType":"VariableDeclaration","scope":26807,"src":"150:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26803,"name":"address","nodeType":"ElementaryTypeName","src":"150:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26806,"mutability":"mutable","name":"callData","nameLocation":"180:8:20","nodeType":"VariableDeclaration","scope":26807,"src":"174:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":26805,"name":"bytes","nodeType":"ElementaryTypeName","src":"174:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"135:4:20","scope":26962,"visibility":"public"},{"id":26814,"nodeType":"StructDefinition","src":"201:95:20","nodes":[],"canonicalName":"IMulticall3.Call3","members":[{"constant":false,"id":26809,"mutability":"mutable","name":"target","nameLocation":"232:6:20","nodeType":"VariableDeclaration","scope":26814,"src":"224:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26808,"name":"address","nodeType":"ElementaryTypeName","src":"224:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26811,"mutability":"mutable","name":"allowFailure","nameLocation":"253:12:20","nodeType":"VariableDeclaration","scope":26814,"src":"248:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26810,"name":"bool","nodeType":"ElementaryTypeName","src":"248:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26813,"mutability":"mutable","name":"callData","nameLocation":"281:8:20","nodeType":"VariableDeclaration","scope":26814,"src":"275:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":26812,"name":"bytes","nodeType":"ElementaryTypeName","src":"275:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"208:5:20","scope":26962,"visibility":"public"},{"id":26823,"nodeType":"StructDefinition","src":"302:123:20","nodes":[],"canonicalName":"IMulticall3.Call3Value","members":[{"constant":false,"id":26816,"mutability":"mutable","name":"target","nameLocation":"338:6:20","nodeType":"VariableDeclaration","scope":26823,"src":"330:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26815,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26818,"mutability":"mutable","name":"allowFailure","nameLocation":"359:12:20","nodeType":"VariableDeclaration","scope":26823,"src":"354:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26817,"name":"bool","nodeType":"ElementaryTypeName","src":"354:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26820,"mutability":"mutable","name":"value","nameLocation":"389:5:20","nodeType":"VariableDeclaration","scope":26823,"src":"381:13:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26819,"name":"uint256","nodeType":"ElementaryTypeName","src":"381:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26822,"mutability":"mutable","name":"callData","nameLocation":"410:8:20","nodeType":"VariableDeclaration","scope":26823,"src":"404:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":26821,"name":"bytes","nodeType":"ElementaryTypeName","src":"404:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"309:10:20","scope":26962,"visibility":"public"},{"id":26828,"nodeType":"StructDefinition","src":"431:69:20","nodes":[],"canonicalName":"IMulticall3.Result","members":[{"constant":false,"id":26825,"mutability":"mutable","name":"success","nameLocation":"460:7:20","nodeType":"VariableDeclaration","scope":26828,"src":"455:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26824,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26827,"mutability":"mutable","name":"returnData","nameLocation":"483:10:20","nodeType":"VariableDeclaration","scope":26828,"src":"477:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":26826,"name":"bytes","nodeType":"ElementaryTypeName","src":"477:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"438:6:20","scope":26962,"visibility":"public"},{"id":26840,"nodeType":"FunctionDefinition","src":"506:140:20","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"515:9:20","parameters":{"id":26833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26832,"mutability":"mutable","name":"calls","nameLocation":"541:5:20","nodeType":"VariableDeclaration","scope":26840,"src":"525:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":26830,"nodeType":"UserDefinedTypeName","pathNode":{"id":26829,"name":"Call","nameLocations":["525:4:20"],"nodeType":"IdentifierPath","referencedDeclaration":26807,"src":"525:4:20"},"referencedDeclaration":26807,"src":"525:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":26831,"nodeType":"ArrayTypeName","src":"525:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"524:23:20"},"returnParameters":{"id":26839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26835,"mutability":"mutable","name":"blockNumber","nameLocation":"606:11:20","nodeType":"VariableDeclaration","scope":26840,"src":"598:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26834,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26838,"mutability":"mutable","name":"returnData","nameLocation":"634:10:20","nodeType":"VariableDeclaration","scope":26840,"src":"619:25:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":26836,"name":"bytes","nodeType":"ElementaryTypeName","src":"619:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":26837,"nodeType":"ArrayTypeName","src":"619:7:20","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"597:48:20"},"scope":26962,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26851,"nodeType":"FunctionDefinition","src":"652:98:20","nodes":[],"functionSelector":"82ad56cb","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"661:10:20","parameters":{"id":26845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26844,"mutability":"mutable","name":"calls","nameLocation":"689:5:20","nodeType":"VariableDeclaration","scope":26851,"src":"672:22:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$26814_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":26842,"nodeType":"UserDefinedTypeName","pathNode":{"id":26841,"name":"Call3","nameLocations":["672:5:20"],"nodeType":"IdentifierPath","referencedDeclaration":26814,"src":"672:5:20"},"referencedDeclaration":26814,"src":"672:5:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$26814_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":26843,"nodeType":"ArrayTypeName","src":"672:7:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$26814_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"671:24:20"},"returnParameters":{"id":26850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26849,"mutability":"mutable","name":"returnData","nameLocation":"738:10:20","nodeType":"VariableDeclaration","scope":26851,"src":"722:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26847,"nodeType":"UserDefinedTypeName","pathNode":{"id":26846,"name":"Result","nameLocations":["722:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":26828,"src":"722:6:20"},"referencedDeclaration":26828,"src":"722:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26828_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26848,"nodeType":"ArrayTypeName","src":"722:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"721:28:20"},"scope":26962,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26862,"nodeType":"FunctionDefinition","src":"756:108:20","nodes":[],"functionSelector":"174dea71","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"765:15:20","parameters":{"id":26856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26855,"mutability":"mutable","name":"calls","nameLocation":"803:5:20","nodeType":"VariableDeclaration","scope":26862,"src":"781:27:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$26823_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":26853,"nodeType":"UserDefinedTypeName","pathNode":{"id":26852,"name":"Call3Value","nameLocations":["781:10:20"],"nodeType":"IdentifierPath","referencedDeclaration":26823,"src":"781:10:20"},"referencedDeclaration":26823,"src":"781:10:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$26823_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":26854,"nodeType":"ArrayTypeName","src":"781:12:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$26823_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"780:29:20"},"returnParameters":{"id":26861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26860,"mutability":"mutable","name":"returnData","nameLocation":"852:10:20","nodeType":"VariableDeclaration","scope":26862,"src":"836:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26858,"nodeType":"UserDefinedTypeName","pathNode":{"id":26857,"name":"Result","nameLocations":["836:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":26828,"src":"836:6:20"},"referencedDeclaration":26828,"src":"836:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26828_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26859,"nodeType":"ArrayTypeName","src":"836:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"835:28:20"},"scope":26962,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26877,"nodeType":"FunctionDefinition","src":"870:168:20","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"879:17:20","parameters":{"id":26867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26866,"mutability":"mutable","name":"calls","nameLocation":"913:5:20","nodeType":"VariableDeclaration","scope":26877,"src":"897:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":26864,"nodeType":"UserDefinedTypeName","pathNode":{"id":26863,"name":"Call","nameLocations":["897:4:20"],"nodeType":"IdentifierPath","referencedDeclaration":26807,"src":"897:4:20"},"referencedDeclaration":26807,"src":"897:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":26865,"nodeType":"ArrayTypeName","src":"897:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"896:23:20"},"returnParameters":{"id":26876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26869,"mutability":"mutable","name":"blockNumber","nameLocation":"978:11:20","nodeType":"VariableDeclaration","scope":26877,"src":"970:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26868,"name":"uint256","nodeType":"ElementaryTypeName","src":"970:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26871,"mutability":"mutable","name":"blockHash","nameLocation":"999:9:20","nodeType":"VariableDeclaration","scope":26877,"src":"991:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"991:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":26875,"mutability":"mutable","name":"returnData","nameLocation":"1026:10:20","nodeType":"VariableDeclaration","scope":26877,"src":"1010:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26873,"nodeType":"UserDefinedTypeName","pathNode":{"id":26872,"name":"Result","nameLocations":["1010:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":26828,"src":"1010:6:20"},"referencedDeclaration":26828,"src":"1010:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26828_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26874,"nodeType":"ArrayTypeName","src":"1010:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"969:68:20"},"scope":26962,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26882,"nodeType":"FunctionDefinition","src":"1044:62:20","nodes":[],"functionSelector":"3e64a696","implemented":false,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"1053:10:20","parameters":{"id":26878,"nodeType":"ParameterList","parameters":[],"src":"1063:2:20"},"returnParameters":{"id":26881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26880,"mutability":"mutable","name":"basefee","nameLocation":"1097:7:20","nodeType":"VariableDeclaration","scope":26882,"src":"1089:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26879,"name":"uint256","nodeType":"ElementaryTypeName","src":"1089:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1088:17:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26889,"nodeType":"FunctionDefinition","src":"1112:85:20","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1121:12:20","parameters":{"id":26885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26884,"mutability":"mutable","name":"blockNumber","nameLocation":"1142:11:20","nodeType":"VariableDeclaration","scope":26889,"src":"1134:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26883,"name":"uint256","nodeType":"ElementaryTypeName","src":"1134:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1133:21:20"},"returnParameters":{"id":26888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26887,"mutability":"mutable","name":"blockHash","nameLocation":"1186:9:20","nodeType":"VariableDeclaration","scope":26889,"src":"1178:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1178:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1177:19:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26894,"nodeType":"FunctionDefinition","src":"1203:70:20","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"1212:14:20","parameters":{"id":26890,"nodeType":"ParameterList","parameters":[],"src":"1226:2:20"},"returnParameters":{"id":26893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26892,"mutability":"mutable","name":"blockNumber","nameLocation":"1260:11:20","nodeType":"VariableDeclaration","scope":26894,"src":"1252:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26891,"name":"uint256","nodeType":"ElementaryTypeName","src":"1252:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1251:21:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26899,"nodeType":"FunctionDefinition","src":"1279:62:20","nodes":[],"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"1288:10:20","parameters":{"id":26895,"nodeType":"ParameterList","parameters":[],"src":"1298:2:20"},"returnParameters":{"id":26898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26897,"mutability":"mutable","name":"chainid","nameLocation":"1332:7:20","nodeType":"VariableDeclaration","scope":26899,"src":"1324:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26896,"name":"uint256","nodeType":"ElementaryTypeName","src":"1324:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1323:17:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26904,"nodeType":"FunctionDefinition","src":"1347:76:20","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1356:23:20","parameters":{"id":26900,"nodeType":"ParameterList","parameters":[],"src":"1379:2:20"},"returnParameters":{"id":26903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26902,"mutability":"mutable","name":"coinbase","nameLocation":"1413:8:20","nodeType":"VariableDeclaration","scope":26904,"src":"1405:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26901,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1404:18:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26909,"nodeType":"FunctionDefinition","src":"1429:80:20","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1438:25:20","parameters":{"id":26905,"nodeType":"ParameterList","parameters":[],"src":"1463:2:20"},"returnParameters":{"id":26908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26907,"mutability":"mutable","name":"difficulty","nameLocation":"1497:10:20","nodeType":"VariableDeclaration","scope":26909,"src":"1489:18:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26906,"name":"uint256","nodeType":"ElementaryTypeName","src":"1489:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1488:20:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26914,"nodeType":"FunctionDefinition","src":"1515:76:20","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1524:23:20","parameters":{"id":26910,"nodeType":"ParameterList","parameters":[],"src":"1547:2:20"},"returnParameters":{"id":26913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26912,"mutability":"mutable","name":"gaslimit","nameLocation":"1581:8:20","nodeType":"VariableDeclaration","scope":26914,"src":"1573:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26911,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1572:18:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26919,"nodeType":"FunctionDefinition","src":"1597:78:20","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1606:24:20","parameters":{"id":26915,"nodeType":"ParameterList","parameters":[],"src":"1630:2:20"},"returnParameters":{"id":26918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26917,"mutability":"mutable","name":"timestamp","nameLocation":"1664:9:20","nodeType":"VariableDeclaration","scope":26919,"src":"1656:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26916,"name":"uint256","nodeType":"ElementaryTypeName","src":"1656:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1655:19:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26926,"nodeType":"FunctionDefinition","src":"1681:77:20","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1690:13:20","parameters":{"id":26922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26921,"mutability":"mutable","name":"addr","nameLocation":"1712:4:20","nodeType":"VariableDeclaration","scope":26926,"src":"1704:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26920,"name":"address","nodeType":"ElementaryTypeName","src":"1704:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1703:14:20"},"returnParameters":{"id":26925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26924,"mutability":"mutable","name":"balance","nameLocation":"1749:7:20","nodeType":"VariableDeclaration","scope":26926,"src":"1741:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26923,"name":"uint256","nodeType":"ElementaryTypeName","src":"1741:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1740:17:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26931,"nodeType":"FunctionDefinition","src":"1764:70:20","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1773:16:20","parameters":{"id":26927,"nodeType":"ParameterList","parameters":[],"src":"1789:2:20"},"returnParameters":{"id":26930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26929,"mutability":"mutable","name":"blockHash","nameLocation":"1823:9:20","nodeType":"VariableDeclaration","scope":26931,"src":"1815:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1815:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1814:19:20"},"scope":26962,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26944,"nodeType":"FunctionDefinition","src":"1840:144:20","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1849:12:20","parameters":{"id":26938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26933,"mutability":"mutable","name":"requireSuccess","nameLocation":"1867:14:20","nodeType":"VariableDeclaration","scope":26944,"src":"1862:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26932,"name":"bool","nodeType":"ElementaryTypeName","src":"1862:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26937,"mutability":"mutable","name":"calls","nameLocation":"1899:5:20","nodeType":"VariableDeclaration","scope":26944,"src":"1883:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":26935,"nodeType":"UserDefinedTypeName","pathNode":{"id":26934,"name":"Call","nameLocations":["1883:4:20"],"nodeType":"IdentifierPath","referencedDeclaration":26807,"src":"1883:4:20"},"referencedDeclaration":26807,"src":"1883:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":26936,"nodeType":"ArrayTypeName","src":"1883:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1861:44:20"},"returnParameters":{"id":26943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26942,"mutability":"mutable","name":"returnData","nameLocation":"1972:10:20","nodeType":"VariableDeclaration","scope":26944,"src":"1956:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26940,"nodeType":"UserDefinedTypeName","pathNode":{"id":26939,"name":"Result","nameLocations":["1956:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":26828,"src":"1956:6:20"},"referencedDeclaration":26828,"src":"1956:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26828_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26941,"nodeType":"ArrayTypeName","src":"1956:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1955:28:20"},"scope":26962,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26961,"nodeType":"FunctionDefinition","src":"1990:192:20","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1999:20:20","parameters":{"id":26951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26946,"mutability":"mutable","name":"requireSuccess","nameLocation":"2025:14:20","nodeType":"VariableDeclaration","scope":26961,"src":"2020:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26945,"name":"bool","nodeType":"ElementaryTypeName","src":"2020:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26950,"mutability":"mutable","name":"calls","nameLocation":"2057:5:20","nodeType":"VariableDeclaration","scope":26961,"src":"2041:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":26948,"nodeType":"UserDefinedTypeName","pathNode":{"id":26947,"name":"Call","nameLocations":["2041:4:20"],"nodeType":"IdentifierPath","referencedDeclaration":26807,"src":"2041:4:20"},"referencedDeclaration":26807,"src":"2041:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":26949,"nodeType":"ArrayTypeName","src":"2041:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"2019:44:20"},"returnParameters":{"id":26960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26953,"mutability":"mutable","name":"blockNumber","nameLocation":"2122:11:20","nodeType":"VariableDeclaration","scope":26961,"src":"2114:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26952,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26955,"mutability":"mutable","name":"blockHash","nameLocation":"2143:9:20","nodeType":"VariableDeclaration","scope":26961,"src":"2135:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2135:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":26959,"mutability":"mutable","name":"returnData","nameLocation":"2170:10:20","nodeType":"VariableDeclaration","scope":26961,"src":"2154:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26957,"nodeType":"UserDefinedTypeName","pathNode":{"id":26956,"name":"Result","nameLocations":["2154:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":26828,"src":"2154:6:20"},"referencedDeclaration":26828,"src":"2154:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26828_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26958,"nodeType":"ArrayTypeName","src":"2154:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26828_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2113:68:20"},"scope":26962,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[26962],"name":"IMulticall3","nameLocation":"110:11:20","scope":26963,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/safeconsole.sol":{"id":21,"ast":{"absolutePath":"lib/forge-std/src/safeconsole.sol","id":40038,"exportedSymbols":{"safeconsole":[40037]},"nodeType":"SourceUnit","src":"32:427503:21","nodes":[{"id":26964,"nodeType":"PragmaDirective","src":"32:31:21","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":40037,"nodeType":"ContractDefinition","src":"163:427371:21","nodes":[{"id":26968,"nodeType":"VariableDeclaration","src":"189:98:21","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDR","nameLocation":"206:12:21","scope":40037,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26966,"name":"uint256","nodeType":"ElementaryTypeName","src":"189:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303030303036333646366537333646366336353265366336663637","id":26967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"221:66:21","typeDescriptions":{"typeIdentifier":"t_rational_120209876281281145568259943_by_1","typeString":"int_const 120209876281281145568259943"},"value":"0x000000000000000000000000000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":27001,"nodeType":"FunctionDefinition","src":"476:374:21","nodes":[],"body":{"id":27000,"nodeType":"Block","src":"544:306:21","nodes":[],"statements":[{"assignments":[26982],"declarations":[{"constant":false,"id":26982,"mutability":"mutable","name":"fnIn","nameLocation":"595:4:21","nodeType":"VariableDeclaration","scope":27000,"src":"554:45:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"},"typeName":{"id":26981,"nodeType":"FunctionTypeName","parameterTypes":{"id":26979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26981,"src":"563:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26975,"name":"uint256","nodeType":"ElementaryTypeName","src":"563:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26978,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26981,"src":"572:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26977,"name":"uint256","nodeType":"ElementaryTypeName","src":"572:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"562:18:21"},"returnParameterTypes":{"id":26980,"nodeType":"ParameterList","parameters":[],"src":"595:0:21"},"src":"554:45:21","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"},"visibility":"internal"},"visibility":"internal"}],"id":26984,"initialValue":{"id":26983,"name":"_sendLogPayloadView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27010,"src":"602:19:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"}},"nodeType":"VariableDeclarationStatement","src":"554:67:21"},{"assignments":[26992],"declarations":[{"constant":false,"id":26992,"mutability":"mutable","name":"pureSendLogPayload","nameLocation":"672:18:21","nodeType":"VariableDeclaration","scope":27000,"src":"631:59:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"},"typeName":{"id":26991,"nodeType":"FunctionTypeName","parameterTypes":{"id":26989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26986,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26991,"src":"640:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26985,"name":"uint256","nodeType":"ElementaryTypeName","src":"640:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26988,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26991,"src":"649:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26987,"name":"uint256","nodeType":"ElementaryTypeName","src":"649:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"639:18:21"},"returnParameterTypes":{"id":26990,"nodeType":"ParameterList","parameters":[],"src":"672:0:21"},"src":"631:59:21","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"},"visibility":"internal"},"visibility":"internal"}],"id":26993,"nodeType":"VariableDeclarationStatement","src":"631:59:21"},{"AST":{"nativeSrc":"752:50:21","nodeType":"YulBlock","src":"752:50:21","statements":[{"nativeSrc":"766:26:21","nodeType":"YulAssignment","src":"766:26:21","value":{"name":"fnIn","nativeSrc":"788:4:21","nodeType":"YulIdentifier","src":"788:4:21"},"variableNames":[{"name":"pureSendLogPayload","nativeSrc":"766:18:21","nodeType":"YulIdentifier","src":"766:18:21"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":26982,"isOffset":false,"isSlot":false,"src":"788:4:21","valueSize":1},{"declaration":26992,"isOffset":false,"isSlot":false,"src":"766:18:21","valueSize":1}],"id":26994,"nodeType":"InlineAssembly","src":"743:59:21"},{"expression":{"arguments":[{"id":26996,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26970,"src":"830:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26997,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26972,"src":"838:4:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26995,"name":"pureSendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26992,"src":"811:18:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"811:32:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26999,"nodeType":"ExpressionStatement","src":"811:32:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"485:15:21","parameters":{"id":26973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26970,"mutability":"mutable","name":"offset","nameLocation":"509:6:21","nodeType":"VariableDeclaration","scope":27001,"src":"501:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26969,"name":"uint256","nodeType":"ElementaryTypeName","src":"501:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26972,"mutability":"mutable","name":"size","nameLocation":"525:4:21","nodeType":"VariableDeclaration","scope":27001,"src":"517:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26971,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"500:30:21"},"returnParameters":{"id":26974,"nodeType":"ParameterList","parameters":[],"src":"544:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":27010,"nodeType":"FunctionDefinition","src":"856:224:21","nodes":[],"body":{"id":27009,"nodeType":"Block","src":"928:152:21","nodes":[],"statements":[{"AST":{"nativeSrc":"990:84:21","nodeType":"YulBlock","src":"990:84:21","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1019:3:21","nodeType":"YulIdentifier","src":"1019:3:21"},"nativeSrc":"1019:5:21","nodeType":"YulFunctionCall","src":"1019:5:21"},{"name":"CONSOLE_ADDR","nativeSrc":"1026:12:21","nodeType":"YulIdentifier","src":"1026:12:21"},{"name":"offset","nativeSrc":"1040:6:21","nodeType":"YulIdentifier","src":"1040:6:21"},{"name":"size","nativeSrc":"1048:4:21","nodeType":"YulIdentifier","src":"1048:4:21"},{"kind":"number","nativeSrc":"1054:3:21","nodeType":"YulLiteral","src":"1054:3:21","type":"","value":"0x0"},{"kind":"number","nativeSrc":"1059:3:21","nodeType":"YulLiteral","src":"1059:3:21","type":"","value":"0x0"}],"functionName":{"name":"staticcall","nativeSrc":"1008:10:21","nodeType":"YulIdentifier","src":"1008:10:21"},"nativeSrc":"1008:55:21","nodeType":"YulFunctionCall","src":"1008:55:21"}],"functionName":{"name":"pop","nativeSrc":"1004:3:21","nodeType":"YulIdentifier","src":"1004:3:21"},"nativeSrc":"1004:60:21","nodeType":"YulFunctionCall","src":"1004:60:21"},"nativeSrc":"1004:60:21","nodeType":"YulExpressionStatement","src":"1004:60:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":26968,"isOffset":false,"isSlot":false,"src":"1026:12:21","valueSize":1},{"declaration":27003,"isOffset":false,"isSlot":false,"src":"1040:6:21","valueSize":1},{"declaration":27005,"isOffset":false,"isSlot":false,"src":"1048:4:21","valueSize":1}],"id":27008,"nodeType":"InlineAssembly","src":"981:93:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadView","nameLocation":"865:19:21","parameters":{"id":27006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27003,"mutability":"mutable","name":"offset","nameLocation":"893:6:21","nodeType":"VariableDeclaration","scope":27010,"src":"885:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27002,"name":"uint256","nodeType":"ElementaryTypeName","src":"885:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27005,"mutability":"mutable","name":"size","nameLocation":"909:4:21","nodeType":"VariableDeclaration","scope":27010,"src":"901:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27004,"name":"uint256","nodeType":"ElementaryTypeName","src":"901:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"884:30:21"},"returnParameters":{"id":27007,"nodeType":"ParameterList","parameters":[],"src":"928:0:21"},"scope":40037,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":27050,"nodeType":"FunctionDefinition","src":"1086:397:21","nodes":[],"body":{"id":27049,"nodeType":"Block","src":"1171:312:21","nodes":[],"statements":[{"assignments":[27028],"declarations":[{"constant":false,"id":27028,"mutability":"mutable","name":"fnIn","nameLocation":"1231:4:21","nodeType":"VariableDeclaration","scope":27049,"src":"1181:54:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) view"},"typeName":{"id":27027,"nodeType":"FunctionTypeName","parameterTypes":{"id":27025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27020,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27027,"src":"1190:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27019,"name":"uint256","nodeType":"ElementaryTypeName","src":"1190:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27022,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27027,"src":"1199:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27021,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27027,"src":"1208:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27023,"name":"uint256","nodeType":"ElementaryTypeName","src":"1208:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1189:27:21"},"returnParameterTypes":{"id":27026,"nodeType":"ParameterList","parameters":[],"src":"1231:0:21"},"src":"1181:54:21","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) view"},"visibility":"internal"},"visibility":"internal"}],"id":27030,"initialValue":{"id":27029,"name":"_memcopyView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27061,"src":"1238:12:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) view"}},"nodeType":"VariableDeclarationStatement","src":"1181:69:21"},{"assignments":[27040],"declarations":[{"constant":false,"id":27040,"mutability":"mutable","name":"pureMemcopy","nameLocation":"1310:11:21","nodeType":"VariableDeclaration","scope":27049,"src":"1260:61:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"},"typeName":{"id":27039,"nodeType":"FunctionTypeName","parameterTypes":{"id":27037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27032,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27039,"src":"1269:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27031,"name":"uint256","nodeType":"ElementaryTypeName","src":"1269:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27034,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27039,"src":"1278:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27033,"name":"uint256","nodeType":"ElementaryTypeName","src":"1278:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27036,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27039,"src":"1287:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27035,"name":"uint256","nodeType":"ElementaryTypeName","src":"1287:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1268:27:21"},"returnParameterTypes":{"id":27038,"nodeType":"ParameterList","parameters":[],"src":"1310:0:21"},"src":"1260:61:21","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"},"visibility":"internal"},"visibility":"internal"}],"id":27041,"nodeType":"VariableDeclarationStatement","src":"1260:61:21"},{"AST":{"nativeSrc":"1383:43:21","nodeType":"YulBlock","src":"1383:43:21","statements":[{"nativeSrc":"1397:19:21","nodeType":"YulAssignment","src":"1397:19:21","value":{"name":"fnIn","nativeSrc":"1412:4:21","nodeType":"YulIdentifier","src":"1412:4:21"},"variableNames":[{"name":"pureMemcopy","nativeSrc":"1397:11:21","nodeType":"YulIdentifier","src":"1397:11:21"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27028,"isOffset":false,"isSlot":false,"src":"1412:4:21","valueSize":1},{"declaration":27040,"isOffset":false,"isSlot":false,"src":"1397:11:21","valueSize":1}],"id":27042,"nodeType":"InlineAssembly","src":"1374:52:21"},{"expression":{"arguments":[{"id":27044,"name":"fromOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27012,"src":"1447:10:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27045,"name":"toOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27014,"src":"1459:8:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27046,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27016,"src":"1469:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27043,"name":"pureMemcopy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27040,"src":"1435:11:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":27047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1435:41:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27048,"nodeType":"ExpressionStatement","src":"1435:41:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_memcopy","nameLocation":"1095:8:21","parameters":{"id":27017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27012,"mutability":"mutable","name":"fromOffset","nameLocation":"1112:10:21","nodeType":"VariableDeclaration","scope":27050,"src":"1104:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27011,"name":"uint256","nodeType":"ElementaryTypeName","src":"1104:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27014,"mutability":"mutable","name":"toOffset","nameLocation":"1132:8:21","nodeType":"VariableDeclaration","scope":27050,"src":"1124:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27013,"name":"uint256","nodeType":"ElementaryTypeName","src":"1124:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27016,"mutability":"mutable","name":"length","nameLocation":"1150:6:21","nodeType":"VariableDeclaration","scope":27050,"src":"1142:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27015,"name":"uint256","nodeType":"ElementaryTypeName","src":"1142:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1103:54:21"},"returnParameters":{"id":27018,"nodeType":"ParameterList","parameters":[],"src":"1171:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":27061,"nodeType":"FunctionDefinition","src":"1489:246:21","nodes":[],"body":{"id":27060,"nodeType":"Block","src":"1578:157:21","nodes":[],"statements":[{"AST":{"nativeSrc":"1640:89:21","nodeType":"YulBlock","src":"1640:89:21","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1669:3:21","nodeType":"YulIdentifier","src":"1669:3:21"},"nativeSrc":"1669:5:21","nodeType":"YulFunctionCall","src":"1669:5:21"},{"kind":"number","nativeSrc":"1676:3:21","nodeType":"YulLiteral","src":"1676:3:21","type":"","value":"0x4"},{"name":"fromOffset","nativeSrc":"1681:10:21","nodeType":"YulIdentifier","src":"1681:10:21"},{"name":"length","nativeSrc":"1693:6:21","nodeType":"YulIdentifier","src":"1693:6:21"},{"name":"toOffset","nativeSrc":"1701:8:21","nodeType":"YulIdentifier","src":"1701:8:21"},{"name":"length","nativeSrc":"1711:6:21","nodeType":"YulIdentifier","src":"1711:6:21"}],"functionName":{"name":"staticcall","nativeSrc":"1658:10:21","nodeType":"YulIdentifier","src":"1658:10:21"},"nativeSrc":"1658:60:21","nodeType":"YulFunctionCall","src":"1658:60:21"}],"functionName":{"name":"pop","nativeSrc":"1654:3:21","nodeType":"YulIdentifier","src":"1654:3:21"},"nativeSrc":"1654:65:21","nodeType":"YulFunctionCall","src":"1654:65:21"},"nativeSrc":"1654:65:21","nodeType":"YulExpressionStatement","src":"1654:65:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27052,"isOffset":false,"isSlot":false,"src":"1681:10:21","valueSize":1},{"declaration":27056,"isOffset":false,"isSlot":false,"src":"1693:6:21","valueSize":1},{"declaration":27056,"isOffset":false,"isSlot":false,"src":"1711:6:21","valueSize":1},{"declaration":27054,"isOffset":false,"isSlot":false,"src":"1701:8:21","valueSize":1}],"id":27059,"nodeType":"InlineAssembly","src":"1631:98:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_memcopyView","nameLocation":"1498:12:21","parameters":{"id":27057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27052,"mutability":"mutable","name":"fromOffset","nameLocation":"1519:10:21","nodeType":"VariableDeclaration","scope":27061,"src":"1511:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27051,"name":"uint256","nodeType":"ElementaryTypeName","src":"1511:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27054,"mutability":"mutable","name":"toOffset","nameLocation":"1539:8:21","nodeType":"VariableDeclaration","scope":27061,"src":"1531:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27053,"name":"uint256","nodeType":"ElementaryTypeName","src":"1531:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27056,"mutability":"mutable","name":"length","nameLocation":"1557:6:21","nodeType":"VariableDeclaration","scope":27061,"src":"1549:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27055,"name":"uint256","nodeType":"ElementaryTypeName","src":"1549:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1510:54:21"},"returnParameters":{"id":27058,"nodeType":"ParameterList","parameters":[],"src":"1578:0:21"},"scope":40037,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":27138,"nodeType":"FunctionDefinition","src":"1741:2088:21","nodes":[],"body":{"id":27137,"nodeType":"Block","src":"1806:2023:21","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27068,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27063,"src":"1820:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783630","id":27069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1830:4:21","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"0x60"},"src":"1820:14:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":27135,"nodeType":"Block","src":"2698:1125:21","statements":[{"assignments":[27093],"declarations":[{"constant":false,"id":27093,"mutability":"mutable","name":"m0","nameLocation":"2802:2:21","nodeType":"VariableDeclaration","scope":27135,"src":"2794:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2794:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27094,"nodeType":"VariableDeclarationStatement","src":"2794:10:21"},{"assignments":[27096],"declarations":[{"constant":false,"id":27096,"mutability":"mutable","name":"m1","nameLocation":"2826:2:21","nodeType":"VariableDeclaration","scope":27135,"src":"2818:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2818:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27097,"nodeType":"VariableDeclarationStatement","src":"2818:10:21"},{"assignments":[27099],"declarations":[{"constant":false,"id":27099,"mutability":"mutable","name":"m2","nameLocation":"2850:2:21","nodeType":"VariableDeclaration","scope":27135,"src":"2842:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2842:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27100,"nodeType":"VariableDeclarationStatement","src":"2842:10:21"},{"assignments":[27102],"declarations":[{"constant":false,"id":27102,"mutability":"mutable","name":"endOffset","nameLocation":"2874:9:21","nodeType":"VariableDeclaration","scope":27135,"src":"2866:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27101,"name":"uint256","nodeType":"ElementaryTypeName","src":"2866:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":27106,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27103,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27063,"src":"2886:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":27104,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27065,"src":"2895:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2886:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2866:35:21"},{"AST":{"nativeSrc":"2971:165:21","nodeType":"YulBlock","src":"2971:165:21","statements":[{"nativeSrc":"2989:33:21","nodeType":"YulAssignment","src":"2989:33:21","value":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3005:9:21","nodeType":"YulIdentifier","src":"3005:9:21"},{"kind":"number","nativeSrc":"3016:4:21","nodeType":"YulLiteral","src":"3016:4:21","type":"","value":"0x00"}],"functionName":{"name":"add","nativeSrc":"3001:3:21","nodeType":"YulIdentifier","src":"3001:3:21"},"nativeSrc":"3001:20:21","nodeType":"YulFunctionCall","src":"3001:20:21"}],"functionName":{"name":"mload","nativeSrc":"2995:5:21","nodeType":"YulIdentifier","src":"2995:5:21"},"nativeSrc":"2995:27:21","nodeType":"YulFunctionCall","src":"2995:27:21"},"variableNames":[{"name":"m0","nativeSrc":"2989:2:21","nodeType":"YulIdentifier","src":"2989:2:21"}]},{"nativeSrc":"3039:33:21","nodeType":"YulAssignment","src":"3039:33:21","value":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3055:9:21","nodeType":"YulIdentifier","src":"3055:9:21"},{"kind":"number","nativeSrc":"3066:4:21","nodeType":"YulLiteral","src":"3066:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3051:3:21","nodeType":"YulIdentifier","src":"3051:3:21"},"nativeSrc":"3051:20:21","nodeType":"YulFunctionCall","src":"3051:20:21"}],"functionName":{"name":"mload","nativeSrc":"3045:5:21","nodeType":"YulIdentifier","src":"3045:5:21"},"nativeSrc":"3045:27:21","nodeType":"YulFunctionCall","src":"3045:27:21"},"variableNames":[{"name":"m1","nativeSrc":"3039:2:21","nodeType":"YulIdentifier","src":"3039:2:21"}]},{"nativeSrc":"3089:33:21","nodeType":"YulAssignment","src":"3089:33:21","value":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3105:9:21","nodeType":"YulIdentifier","src":"3105:9:21"},{"kind":"number","nativeSrc":"3116:4:21","nodeType":"YulLiteral","src":"3116:4:21","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3101:3:21","nodeType":"YulIdentifier","src":"3101:3:21"},"nativeSrc":"3101:20:21","nodeType":"YulFunctionCall","src":"3101:20:21"}],"functionName":{"name":"mload","nativeSrc":"3095:5:21","nodeType":"YulIdentifier","src":"3095:5:21"},"nativeSrc":"3095:27:21","nodeType":"YulFunctionCall","src":"3095:27:21"},"variableNames":[{"name":"m2","nativeSrc":"3089:2:21","nodeType":"YulIdentifier","src":"3089:2:21"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27102,"isOffset":false,"isSlot":false,"src":"3005:9:21","valueSize":1},{"declaration":27102,"isOffset":false,"isSlot":false,"src":"3055:9:21","valueSize":1},{"declaration":27102,"isOffset":false,"isSlot":false,"src":"3105:9:21","valueSize":1},{"declaration":27093,"isOffset":false,"isSlot":false,"src":"2989:2:21","valueSize":1},{"declaration":27096,"isOffset":false,"isSlot":false,"src":"3039:2:21","valueSize":1},{"declaration":27099,"isOffset":false,"isSlot":false,"src":"3089:2:21","valueSize":1}],"id":27107,"nodeType":"InlineAssembly","src":"2962:174:21"},{"expression":{"arguments":[{"id":27109,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27063,"src":"3158:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27110,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27063,"src":"3166:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783630","id":27111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3175:4:21","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"0x60"},"src":"3166:13:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27113,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27065,"src":"3181:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27108,"name":"_memcopy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27050,"src":"3149:8:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":27114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3149:39:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27115,"nodeType":"ExpressionStatement","src":"3149:39:21"},{"AST":{"nativeSrc":"3258:212:21","nodeType":"YulBlock","src":"3258:212:21","statements":[{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3332:6:21","nodeType":"YulIdentifier","src":"3332:6:21"},{"kind":"number","nativeSrc":"3340:4:21","nodeType":"YulLiteral","src":"3340:4:21","type":"","value":"0x00"}],"functionName":{"name":"add","nativeSrc":"3328:3:21","nodeType":"YulIdentifier","src":"3328:3:21"},"nativeSrc":"3328:17:21","nodeType":"YulFunctionCall","src":"3328:17:21"},{"kind":"number","nativeSrc":"3347:10:21","nodeType":"YulLiteral","src":"3347:10:21","type":"","value":"0x0be77f56"}],"functionName":{"name":"mstore","nativeSrc":"3321:6:21","nodeType":"YulIdentifier","src":"3321:6:21"},"nativeSrc":"3321:37:21","nodeType":"YulFunctionCall","src":"3321:37:21"},"nativeSrc":"3321:37:21","nodeType":"YulExpressionStatement","src":"3321:37:21"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3386:6:21","nodeType":"YulIdentifier","src":"3386:6:21"},{"kind":"number","nativeSrc":"3394:4:21","nodeType":"YulLiteral","src":"3394:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3382:3:21","nodeType":"YulIdentifier","src":"3382:3:21"},"nativeSrc":"3382:17:21","nodeType":"YulFunctionCall","src":"3382:17:21"},{"kind":"number","nativeSrc":"3401:4:21","nodeType":"YulLiteral","src":"3401:4:21","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"3375:6:21","nodeType":"YulIdentifier","src":"3375:6:21"},"nativeSrc":"3375:31:21","nodeType":"YulFunctionCall","src":"3375:31:21"},"nativeSrc":"3375:31:21","nodeType":"YulExpressionStatement","src":"3375:31:21"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3434:6:21","nodeType":"YulIdentifier","src":"3434:6:21"},{"kind":"number","nativeSrc":"3442:4:21","nodeType":"YulLiteral","src":"3442:4:21","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3430:3:21","nodeType":"YulIdentifier","src":"3430:3:21"},"nativeSrc":"3430:17:21","nodeType":"YulFunctionCall","src":"3430:17:21"},{"name":"length","nativeSrc":"3449:6:21","nodeType":"YulIdentifier","src":"3449:6:21"}],"functionName":{"name":"mstore","nativeSrc":"3423:6:21","nodeType":"YulIdentifier","src":"3423:6:21"},"nativeSrc":"3423:33:21","nodeType":"YulFunctionCall","src":"3423:33:21"},"nativeSrc":"3423:33:21","nodeType":"YulExpressionStatement","src":"3423:33:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27065,"isOffset":false,"isSlot":false,"src":"3449:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"3332:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"3386:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"3434:6:21","valueSize":1}],"id":27116,"nodeType":"InlineAssembly","src":"3249:221:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27118,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27063,"src":"3499:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783163","id":27119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3508:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},"src":"3499:13:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27121,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27065,"src":"3514:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783434","id":27122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3523:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"},"src":"3514:13:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"3483:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3483:45:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27125,"nodeType":"ExpressionStatement","src":"3483:45:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27127,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27063,"src":"3551:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783630","id":27128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3560:4:21","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"0x60"},"src":"3551:13:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27130,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27063,"src":"3566:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27131,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27065,"src":"3574:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27126,"name":"_memcopy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27050,"src":"3542:8:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":27132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3542:39:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27133,"nodeType":"ExpressionStatement","src":"3542:39:21"},{"AST":{"nativeSrc":"3651:162:21","nodeType":"YulBlock","src":"3651:162:21","statements":[{"expression":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3680:9:21","nodeType":"YulIdentifier","src":"3680:9:21"},{"kind":"number","nativeSrc":"3691:4:21","nodeType":"YulLiteral","src":"3691:4:21","type":"","value":"0x00"}],"functionName":{"name":"add","nativeSrc":"3676:3:21","nodeType":"YulIdentifier","src":"3676:3:21"},"nativeSrc":"3676:20:21","nodeType":"YulFunctionCall","src":"3676:20:21"},{"name":"m0","nativeSrc":"3698:2:21","nodeType":"YulIdentifier","src":"3698:2:21"}],"functionName":{"name":"mstore","nativeSrc":"3669:6:21","nodeType":"YulIdentifier","src":"3669:6:21"},"nativeSrc":"3669:32:21","nodeType":"YulFunctionCall","src":"3669:32:21"},"nativeSrc":"3669:32:21","nodeType":"YulExpressionStatement","src":"3669:32:21"},{"expression":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3729:9:21","nodeType":"YulIdentifier","src":"3729:9:21"},{"kind":"number","nativeSrc":"3740:4:21","nodeType":"YulLiteral","src":"3740:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3725:3:21","nodeType":"YulIdentifier","src":"3725:3:21"},"nativeSrc":"3725:20:21","nodeType":"YulFunctionCall","src":"3725:20:21"},{"name":"m1","nativeSrc":"3747:2:21","nodeType":"YulIdentifier","src":"3747:2:21"}],"functionName":{"name":"mstore","nativeSrc":"3718:6:21","nodeType":"YulIdentifier","src":"3718:6:21"},"nativeSrc":"3718:32:21","nodeType":"YulFunctionCall","src":"3718:32:21"},"nativeSrc":"3718:32:21","nodeType":"YulExpressionStatement","src":"3718:32:21"},{"expression":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3778:9:21","nodeType":"YulIdentifier","src":"3778:9:21"},{"kind":"number","nativeSrc":"3789:4:21","nodeType":"YulLiteral","src":"3789:4:21","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3774:3:21","nodeType":"YulIdentifier","src":"3774:3:21"},"nativeSrc":"3774:20:21","nodeType":"YulFunctionCall","src":"3774:20:21"},{"name":"m2","nativeSrc":"3796:2:21","nodeType":"YulIdentifier","src":"3796:2:21"}],"functionName":{"name":"mstore","nativeSrc":"3767:6:21","nodeType":"YulIdentifier","src":"3767:6:21"},"nativeSrc":"3767:32:21","nodeType":"YulFunctionCall","src":"3767:32:21"},"nativeSrc":"3767:32:21","nodeType":"YulExpressionStatement","src":"3767:32:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27102,"isOffset":false,"isSlot":false,"src":"3680:9:21","valueSize":1},{"declaration":27102,"isOffset":false,"isSlot":false,"src":"3729:9:21","valueSize":1},{"declaration":27102,"isOffset":false,"isSlot":false,"src":"3778:9:21","valueSize":1},{"declaration":27093,"isOffset":false,"isSlot":false,"src":"3698:2:21","valueSize":1},{"declaration":27096,"isOffset":false,"isSlot":false,"src":"3747:2:21","valueSize":1},{"declaration":27099,"isOffset":false,"isSlot":false,"src":"3796:2:21","valueSize":1}],"id":27134,"nodeType":"InlineAssembly","src":"3642:171:21"}]},"id":27136,"nodeType":"IfStatement","src":"1816:2007:21","trueBody":{"id":27091,"nodeType":"Block","src":"1836:856:21","statements":[{"assignments":[27072],"declarations":[{"constant":false,"id":27072,"mutability":"mutable","name":"m0","nameLocation":"1928:2:21","nodeType":"VariableDeclaration","scope":27091,"src":"1920:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1920:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27073,"nodeType":"VariableDeclarationStatement","src":"1920:10:21"},{"assignments":[27075],"declarations":[{"constant":false,"id":27075,"mutability":"mutable","name":"m1","nameLocation":"1952:2:21","nodeType":"VariableDeclaration","scope":27091,"src":"1944:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1944:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27076,"nodeType":"VariableDeclarationStatement","src":"1944:10:21"},{"assignments":[27078],"declarations":[{"constant":false,"id":27078,"mutability":"mutable","name":"m2","nameLocation":"1976:2:21","nodeType":"VariableDeclaration","scope":27091,"src":"1968:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1968:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27079,"nodeType":"VariableDeclarationStatement","src":"1968:10:21"},{"AST":{"nativeSrc":"2048:353:21","nodeType":"YulBlock","src":"2048:353:21","statements":[{"nativeSrc":"2066:30:21","nodeType":"YulAssignment","src":"2066:30:21","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2082:6:21","nodeType":"YulIdentifier","src":"2082:6:21"},{"kind":"number","nativeSrc":"2090:4:21","nodeType":"YulLiteral","src":"2090:4:21","type":"","value":"0x60"}],"functionName":{"name":"sub","nativeSrc":"2078:3:21","nodeType":"YulIdentifier","src":"2078:3:21"},"nativeSrc":"2078:17:21","nodeType":"YulFunctionCall","src":"2078:17:21"}],"functionName":{"name":"mload","nativeSrc":"2072:5:21","nodeType":"YulIdentifier","src":"2072:5:21"},"nativeSrc":"2072:24:21","nodeType":"YulFunctionCall","src":"2072:24:21"},"variableNames":[{"name":"m0","nativeSrc":"2066:2:21","nodeType":"YulIdentifier","src":"2066:2:21"}]},{"nativeSrc":"2113:30:21","nodeType":"YulAssignment","src":"2113:30:21","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2129:6:21","nodeType":"YulIdentifier","src":"2129:6:21"},{"kind":"number","nativeSrc":"2137:4:21","nodeType":"YulLiteral","src":"2137:4:21","type":"","value":"0x40"}],"functionName":{"name":"sub","nativeSrc":"2125:3:21","nodeType":"YulIdentifier","src":"2125:3:21"},"nativeSrc":"2125:17:21","nodeType":"YulFunctionCall","src":"2125:17:21"}],"functionName":{"name":"mload","nativeSrc":"2119:5:21","nodeType":"YulIdentifier","src":"2119:5:21"},"nativeSrc":"2119:24:21","nodeType":"YulFunctionCall","src":"2119:24:21"},"variableNames":[{"name":"m1","nativeSrc":"2113:2:21","nodeType":"YulIdentifier","src":"2113:2:21"}]},{"nativeSrc":"2160:30:21","nodeType":"YulAssignment","src":"2160:30:21","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2176:6:21","nodeType":"YulIdentifier","src":"2176:6:21"},{"kind":"number","nativeSrc":"2184:4:21","nodeType":"YulLiteral","src":"2184:4:21","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"2172:3:21","nodeType":"YulIdentifier","src":"2172:3:21"},"nativeSrc":"2172:17:21","nodeType":"YulFunctionCall","src":"2172:17:21"}],"functionName":{"name":"mload","nativeSrc":"2166:5:21","nodeType":"YulIdentifier","src":"2166:5:21"},"nativeSrc":"2166:24:21","nodeType":"YulFunctionCall","src":"2166:24:21"},"variableNames":[{"name":"m2","nativeSrc":"2160:2:21","nodeType":"YulIdentifier","src":"2160:2:21"}]},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2263:6:21","nodeType":"YulIdentifier","src":"2263:6:21"},{"kind":"number","nativeSrc":"2271:4:21","nodeType":"YulLiteral","src":"2271:4:21","type":"","value":"0x60"}],"functionName":{"name":"sub","nativeSrc":"2259:3:21","nodeType":"YulIdentifier","src":"2259:3:21"},"nativeSrc":"2259:17:21","nodeType":"YulFunctionCall","src":"2259:17:21"},{"kind":"number","nativeSrc":"2278:10:21","nodeType":"YulLiteral","src":"2278:10:21","type":"","value":"0x0be77f56"}],"functionName":{"name":"mstore","nativeSrc":"2252:6:21","nodeType":"YulIdentifier","src":"2252:6:21"},"nativeSrc":"2252:37:21","nodeType":"YulFunctionCall","src":"2252:37:21"},"nativeSrc":"2252:37:21","nodeType":"YulExpressionStatement","src":"2252:37:21"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2317:6:21","nodeType":"YulIdentifier","src":"2317:6:21"},{"kind":"number","nativeSrc":"2325:4:21","nodeType":"YulLiteral","src":"2325:4:21","type":"","value":"0x40"}],"functionName":{"name":"sub","nativeSrc":"2313:3:21","nodeType":"YulIdentifier","src":"2313:3:21"},"nativeSrc":"2313:17:21","nodeType":"YulFunctionCall","src":"2313:17:21"},{"kind":"number","nativeSrc":"2332:4:21","nodeType":"YulLiteral","src":"2332:4:21","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"2306:6:21","nodeType":"YulIdentifier","src":"2306:6:21"},"nativeSrc":"2306:31:21","nodeType":"YulFunctionCall","src":"2306:31:21"},"nativeSrc":"2306:31:21","nodeType":"YulExpressionStatement","src":"2306:31:21"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2365:6:21","nodeType":"YulIdentifier","src":"2365:6:21"},{"kind":"number","nativeSrc":"2373:4:21","nodeType":"YulLiteral","src":"2373:4:21","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"2361:3:21","nodeType":"YulIdentifier","src":"2361:3:21"},"nativeSrc":"2361:17:21","nodeType":"YulFunctionCall","src":"2361:17:21"},{"name":"length","nativeSrc":"2380:6:21","nodeType":"YulIdentifier","src":"2380:6:21"}],"functionName":{"name":"mstore","nativeSrc":"2354:6:21","nodeType":"YulIdentifier","src":"2354:6:21"},"nativeSrc":"2354:33:21","nodeType":"YulFunctionCall","src":"2354:33:21"},"nativeSrc":"2354:33:21","nodeType":"YulExpressionStatement","src":"2354:33:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27065,"isOffset":false,"isSlot":false,"src":"2380:6:21","valueSize":1},{"declaration":27072,"isOffset":false,"isSlot":false,"src":"2066:2:21","valueSize":1},{"declaration":27075,"isOffset":false,"isSlot":false,"src":"2113:2:21","valueSize":1},{"declaration":27078,"isOffset":false,"isSlot":false,"src":"2160:2:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"2082:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"2129:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"2176:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"2263:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"2317:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"2365:6:21","valueSize":1}],"id":27080,"nodeType":"InlineAssembly","src":"2039:362:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27082,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27063,"src":"2430:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"30783434","id":27083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2439:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"},"src":"2430:13:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":27087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":27085,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27065,"src":"2445:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783434","id":27086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2454:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"},"src":"2445:13:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":27081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"2414:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2414:45:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27089,"nodeType":"ExpressionStatement","src":"2414:45:21"},{"AST":{"nativeSrc":"2529:153:21","nodeType":"YulBlock","src":"2529:153:21","statements":[{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2558:6:21","nodeType":"YulIdentifier","src":"2558:6:21"},{"kind":"number","nativeSrc":"2566:4:21","nodeType":"YulLiteral","src":"2566:4:21","type":"","value":"0x60"}],"functionName":{"name":"sub","nativeSrc":"2554:3:21","nodeType":"YulIdentifier","src":"2554:3:21"},"nativeSrc":"2554:17:21","nodeType":"YulFunctionCall","src":"2554:17:21"},{"name":"m0","nativeSrc":"2573:2:21","nodeType":"YulIdentifier","src":"2573:2:21"}],"functionName":{"name":"mstore","nativeSrc":"2547:6:21","nodeType":"YulIdentifier","src":"2547:6:21"},"nativeSrc":"2547:29:21","nodeType":"YulFunctionCall","src":"2547:29:21"},"nativeSrc":"2547:29:21","nodeType":"YulExpressionStatement","src":"2547:29:21"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2604:6:21","nodeType":"YulIdentifier","src":"2604:6:21"},{"kind":"number","nativeSrc":"2612:4:21","nodeType":"YulLiteral","src":"2612:4:21","type":"","value":"0x40"}],"functionName":{"name":"sub","nativeSrc":"2600:3:21","nodeType":"YulIdentifier","src":"2600:3:21"},"nativeSrc":"2600:17:21","nodeType":"YulFunctionCall","src":"2600:17:21"},{"name":"m1","nativeSrc":"2619:2:21","nodeType":"YulIdentifier","src":"2619:2:21"}],"functionName":{"name":"mstore","nativeSrc":"2593:6:21","nodeType":"YulIdentifier","src":"2593:6:21"},"nativeSrc":"2593:29:21","nodeType":"YulFunctionCall","src":"2593:29:21"},"nativeSrc":"2593:29:21","nodeType":"YulExpressionStatement","src":"2593:29:21"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2650:6:21","nodeType":"YulIdentifier","src":"2650:6:21"},{"kind":"number","nativeSrc":"2658:4:21","nodeType":"YulLiteral","src":"2658:4:21","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"2646:3:21","nodeType":"YulIdentifier","src":"2646:3:21"},"nativeSrc":"2646:17:21","nodeType":"YulFunctionCall","src":"2646:17:21"},{"name":"m2","nativeSrc":"2665:2:21","nodeType":"YulIdentifier","src":"2665:2:21"}],"functionName":{"name":"mstore","nativeSrc":"2639:6:21","nodeType":"YulIdentifier","src":"2639:6:21"},"nativeSrc":"2639:29:21","nodeType":"YulFunctionCall","src":"2639:29:21"},"nativeSrc":"2639:29:21","nodeType":"YulExpressionStatement","src":"2639:29:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27072,"isOffset":false,"isSlot":false,"src":"2573:2:21","valueSize":1},{"declaration":27075,"isOffset":false,"isSlot":false,"src":"2619:2:21","valueSize":1},{"declaration":27078,"isOffset":false,"isSlot":false,"src":"2665:2:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"2558:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"2604:6:21","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"2650:6:21","valueSize":1}],"id":27090,"nodeType":"InlineAssembly","src":"2520:162:21"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"logMemory","nameLocation":"1750:9:21","parameters":{"id":27066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27063,"mutability":"mutable","name":"offset","nameLocation":"1768:6:21","nodeType":"VariableDeclaration","scope":27138,"src":"1760:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27062,"name":"uint256","nodeType":"ElementaryTypeName","src":"1760:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27065,"mutability":"mutable","name":"length","nameLocation":"1784:6:21","nodeType":"VariableDeclaration","scope":27138,"src":"1776:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27064,"name":"uint256","nodeType":"ElementaryTypeName","src":"1776:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1759:32:21"},"returnParameters":{"id":27067,"nodeType":"ParameterList","parameters":[],"src":"1806:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27157,"nodeType":"FunctionDefinition","src":"3835:494:21","nodes":[],"body":{"id":27156,"nodeType":"Block","src":"3874:455:21","nodes":[],"statements":[{"assignments":[27144],"declarations":[{"constant":false,"id":27144,"mutability":"mutable","name":"m0","nameLocation":"3892:2:21","nodeType":"VariableDeclaration","scope":27156,"src":"3884:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3884:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27145,"nodeType":"VariableDeclarationStatement","src":"3884:10:21"},{"assignments":[27147],"declarations":[{"constant":false,"id":27147,"mutability":"mutable","name":"m1","nameLocation":"3912:2:21","nodeType":"VariableDeclaration","scope":27156,"src":"3904:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3904:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27148,"nodeType":"VariableDeclarationStatement","src":"3904:10:21"},{"AST":{"nativeSrc":"3976:180:21","nodeType":"YulBlock","src":"3976:180:21","statements":[{"nativeSrc":"3990:17:21","nodeType":"YulAssignment","src":"3990:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"4002:4:21","nodeType":"YulLiteral","src":"4002:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"3996:5:21","nodeType":"YulIdentifier","src":"3996:5:21"},"nativeSrc":"3996:11:21","nodeType":"YulFunctionCall","src":"3996:11:21"},"variableNames":[{"name":"m0","nativeSrc":"3990:2:21","nodeType":"YulIdentifier","src":"3990:2:21"}]},{"nativeSrc":"4020:17:21","nodeType":"YulAssignment","src":"4020:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"4032:4:21","nodeType":"YulLiteral","src":"4032:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"4026:5:21","nodeType":"YulIdentifier","src":"4026:5:21"},"nativeSrc":"4026:11:21","nodeType":"YulFunctionCall","src":"4026:11:21"},"variableNames":[{"name":"m1","nativeSrc":"4020:2:21","nodeType":"YulIdentifier","src":"4020:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4100:4:21","nodeType":"YulLiteral","src":"4100:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"4106:10:21","nodeType":"YulLiteral","src":"4106:10:21","type":"","value":"0x2c2ecbc2"}],"functionName":{"name":"mstore","nativeSrc":"4093:6:21","nodeType":"YulIdentifier","src":"4093:6:21"},"nativeSrc":"4093:24:21","nodeType":"YulFunctionCall","src":"4093:24:21"},"nativeSrc":"4093:24:21","nodeType":"YulExpressionStatement","src":"4093:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4137:4:21","nodeType":"YulLiteral","src":"4137:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"4143:2:21","nodeType":"YulIdentifier","src":"4143:2:21"}],"functionName":{"name":"mstore","nativeSrc":"4130:6:21","nodeType":"YulIdentifier","src":"4130:6:21"},"nativeSrc":"4130:16:21","nodeType":"YulFunctionCall","src":"4130:16:21"},"nativeSrc":"4130:16:21","nodeType":"YulExpressionStatement","src":"4130:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27144,"isOffset":false,"isSlot":false,"src":"3990:2:21","valueSize":1},{"declaration":27147,"isOffset":false,"isSlot":false,"src":"4020:2:21","valueSize":1},{"declaration":27140,"isOffset":false,"isSlot":false,"src":"4143:2:21","valueSize":1}],"id":27149,"nodeType":"InlineAssembly","src":"3967:189:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4181:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783234","id":27152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4187:4:21","typeDescriptions":{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"},"value":"0x24"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"}],"id":27150,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"4165:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4165:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27154,"nodeType":"ExpressionStatement","src":"4165:27:21"},{"AST":{"nativeSrc":"4254:69:21","nodeType":"YulBlock","src":"4254:69:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"4275:4:21","nodeType":"YulLiteral","src":"4275:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"4281:2:21","nodeType":"YulIdentifier","src":"4281:2:21"}],"functionName":{"name":"mstore","nativeSrc":"4268:6:21","nodeType":"YulIdentifier","src":"4268:6:21"},"nativeSrc":"4268:16:21","nodeType":"YulFunctionCall","src":"4268:16:21"},"nativeSrc":"4268:16:21","nodeType":"YulExpressionStatement","src":"4268:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4304:4:21","nodeType":"YulLiteral","src":"4304:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"4310:2:21","nodeType":"YulIdentifier","src":"4310:2:21"}],"functionName":{"name":"mstore","nativeSrc":"4297:6:21","nodeType":"YulIdentifier","src":"4297:6:21"},"nativeSrc":"4297:16:21","nodeType":"YulFunctionCall","src":"4297:16:21"},"nativeSrc":"4297:16:21","nodeType":"YulExpressionStatement","src":"4297:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27144,"isOffset":false,"isSlot":false,"src":"4281:2:21","valueSize":1},{"declaration":27147,"isOffset":false,"isSlot":false,"src":"4310:2:21","valueSize":1}],"id":27155,"nodeType":"InlineAssembly","src":"4245:78:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"3844:3:21","parameters":{"id":27141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27140,"mutability":"mutable","name":"p0","nameLocation":"3856:2:21","nodeType":"VariableDeclaration","scope":27157,"src":"3848:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27139,"name":"address","nodeType":"ElementaryTypeName","src":"3848:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3847:12:21"},"returnParameters":{"id":27142,"nodeType":"ParameterList","parameters":[],"src":"3874:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27176,"nodeType":"FunctionDefinition","src":"4335:488:21","nodes":[],"body":{"id":27175,"nodeType":"Block","src":"4371:452:21","nodes":[],"statements":[{"assignments":[27163],"declarations":[{"constant":false,"id":27163,"mutability":"mutable","name":"m0","nameLocation":"4389:2:21","nodeType":"VariableDeclaration","scope":27175,"src":"4381:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4381:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27164,"nodeType":"VariableDeclarationStatement","src":"4381:10:21"},{"assignments":[27166],"declarations":[{"constant":false,"id":27166,"mutability":"mutable","name":"m1","nameLocation":"4409:2:21","nodeType":"VariableDeclaration","scope":27175,"src":"4401:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4401:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27167,"nodeType":"VariableDeclarationStatement","src":"4401:10:21"},{"AST":{"nativeSrc":"4473:177:21","nodeType":"YulBlock","src":"4473:177:21","statements":[{"nativeSrc":"4487:17:21","nodeType":"YulAssignment","src":"4487:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"4499:4:21","nodeType":"YulLiteral","src":"4499:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"4493:5:21","nodeType":"YulIdentifier","src":"4493:5:21"},"nativeSrc":"4493:11:21","nodeType":"YulFunctionCall","src":"4493:11:21"},"variableNames":[{"name":"m0","nativeSrc":"4487:2:21","nodeType":"YulIdentifier","src":"4487:2:21"}]},{"nativeSrc":"4517:17:21","nodeType":"YulAssignment","src":"4517:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"4529:4:21","nodeType":"YulLiteral","src":"4529:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"4523:5:21","nodeType":"YulIdentifier","src":"4523:5:21"},"nativeSrc":"4523:11:21","nodeType":"YulFunctionCall","src":"4523:11:21"},"variableNames":[{"name":"m1","nativeSrc":"4517:2:21","nodeType":"YulIdentifier","src":"4517:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4594:4:21","nodeType":"YulLiteral","src":"4594:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"4600:10:21","nodeType":"YulLiteral","src":"4600:10:21","type":"","value":"0x32458eed"}],"functionName":{"name":"mstore","nativeSrc":"4587:6:21","nodeType":"YulIdentifier","src":"4587:6:21"},"nativeSrc":"4587:24:21","nodeType":"YulFunctionCall","src":"4587:24:21"},"nativeSrc":"4587:24:21","nodeType":"YulExpressionStatement","src":"4587:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4631:4:21","nodeType":"YulLiteral","src":"4631:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"4637:2:21","nodeType":"YulIdentifier","src":"4637:2:21"}],"functionName":{"name":"mstore","nativeSrc":"4624:6:21","nodeType":"YulIdentifier","src":"4624:6:21"},"nativeSrc":"4624:16:21","nodeType":"YulFunctionCall","src":"4624:16:21"},"nativeSrc":"4624:16:21","nodeType":"YulExpressionStatement","src":"4624:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27163,"isOffset":false,"isSlot":false,"src":"4487:2:21","valueSize":1},{"declaration":27166,"isOffset":false,"isSlot":false,"src":"4517:2:21","valueSize":1},{"declaration":27159,"isOffset":false,"isSlot":false,"src":"4637:2:21","valueSize":1}],"id":27168,"nodeType":"InlineAssembly","src":"4464:186:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4675:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783234","id":27171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4681:4:21","typeDescriptions":{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"},"value":"0x24"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"}],"id":27169,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"4659:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4659:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27173,"nodeType":"ExpressionStatement","src":"4659:27:21"},{"AST":{"nativeSrc":"4748:69:21","nodeType":"YulBlock","src":"4748:69:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"4769:4:21","nodeType":"YulLiteral","src":"4769:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"4775:2:21","nodeType":"YulIdentifier","src":"4775:2:21"}],"functionName":{"name":"mstore","nativeSrc":"4762:6:21","nodeType":"YulIdentifier","src":"4762:6:21"},"nativeSrc":"4762:16:21","nodeType":"YulFunctionCall","src":"4762:16:21"},"nativeSrc":"4762:16:21","nodeType":"YulExpressionStatement","src":"4762:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4798:4:21","nodeType":"YulLiteral","src":"4798:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"4804:2:21","nodeType":"YulIdentifier","src":"4804:2:21"}],"functionName":{"name":"mstore","nativeSrc":"4791:6:21","nodeType":"YulIdentifier","src":"4791:6:21"},"nativeSrc":"4791:16:21","nodeType":"YulFunctionCall","src":"4791:16:21"},"nativeSrc":"4791:16:21","nodeType":"YulExpressionStatement","src":"4791:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27163,"isOffset":false,"isSlot":false,"src":"4775:2:21","valueSize":1},{"declaration":27166,"isOffset":false,"isSlot":false,"src":"4804:2:21","valueSize":1}],"id":27174,"nodeType":"InlineAssembly","src":"4739:78:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"4344:3:21","parameters":{"id":27160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27159,"mutability":"mutable","name":"p0","nameLocation":"4353:2:21","nodeType":"VariableDeclaration","scope":27176,"src":"4348:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27158,"name":"bool","nodeType":"ElementaryTypeName","src":"4348:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4347:9:21"},"returnParameters":{"id":27161,"nodeType":"ParameterList","parameters":[],"src":"4371:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27195,"nodeType":"FunctionDefinition","src":"4829:494:21","nodes":[],"body":{"id":27194,"nodeType":"Block","src":"4868:455:21","nodes":[],"statements":[{"assignments":[27182],"declarations":[{"constant":false,"id":27182,"mutability":"mutable","name":"m0","nameLocation":"4886:2:21","nodeType":"VariableDeclaration","scope":27194,"src":"4878:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4878:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27183,"nodeType":"VariableDeclarationStatement","src":"4878:10:21"},{"assignments":[27185],"declarations":[{"constant":false,"id":27185,"mutability":"mutable","name":"m1","nameLocation":"4906:2:21","nodeType":"VariableDeclaration","scope":27194,"src":"4898:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4898:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27186,"nodeType":"VariableDeclarationStatement","src":"4898:10:21"},{"AST":{"nativeSrc":"4970:180:21","nodeType":"YulBlock","src":"4970:180:21","statements":[{"nativeSrc":"4984:17:21","nodeType":"YulAssignment","src":"4984:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"4996:4:21","nodeType":"YulLiteral","src":"4996:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"4990:5:21","nodeType":"YulIdentifier","src":"4990:5:21"},"nativeSrc":"4990:11:21","nodeType":"YulFunctionCall","src":"4990:11:21"},"variableNames":[{"name":"m0","nativeSrc":"4984:2:21","nodeType":"YulIdentifier","src":"4984:2:21"}]},{"nativeSrc":"5014:17:21","nodeType":"YulAssignment","src":"5014:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"5026:4:21","nodeType":"YulLiteral","src":"5026:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"5020:5:21","nodeType":"YulIdentifier","src":"5020:5:21"},"nativeSrc":"5020:11:21","nodeType":"YulFunctionCall","src":"5020:11:21"},"variableNames":[{"name":"m1","nativeSrc":"5014:2:21","nodeType":"YulIdentifier","src":"5014:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5094:4:21","nodeType":"YulLiteral","src":"5094:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"5100:10:21","nodeType":"YulLiteral","src":"5100:10:21","type":"","value":"0xf82c50f1"}],"functionName":{"name":"mstore","nativeSrc":"5087:6:21","nodeType":"YulIdentifier","src":"5087:6:21"},"nativeSrc":"5087:24:21","nodeType":"YulFunctionCall","src":"5087:24:21"},"nativeSrc":"5087:24:21","nodeType":"YulExpressionStatement","src":"5087:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5131:4:21","nodeType":"YulLiteral","src":"5131:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"5137:2:21","nodeType":"YulIdentifier","src":"5137:2:21"}],"functionName":{"name":"mstore","nativeSrc":"5124:6:21","nodeType":"YulIdentifier","src":"5124:6:21"},"nativeSrc":"5124:16:21","nodeType":"YulFunctionCall","src":"5124:16:21"},"nativeSrc":"5124:16:21","nodeType":"YulExpressionStatement","src":"5124:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27182,"isOffset":false,"isSlot":false,"src":"4984:2:21","valueSize":1},{"declaration":27185,"isOffset":false,"isSlot":false,"src":"5014:2:21","valueSize":1},{"declaration":27178,"isOffset":false,"isSlot":false,"src":"5137:2:21","valueSize":1}],"id":27187,"nodeType":"InlineAssembly","src":"4961:189:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5175:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783234","id":27190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5181:4:21","typeDescriptions":{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"},"value":"0x24"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"}],"id":27188,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"5159:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5159:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27192,"nodeType":"ExpressionStatement","src":"5159:27:21"},{"AST":{"nativeSrc":"5248:69:21","nodeType":"YulBlock","src":"5248:69:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5269:4:21","nodeType":"YulLiteral","src":"5269:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"5275:2:21","nodeType":"YulIdentifier","src":"5275:2:21"}],"functionName":{"name":"mstore","nativeSrc":"5262:6:21","nodeType":"YulIdentifier","src":"5262:6:21"},"nativeSrc":"5262:16:21","nodeType":"YulFunctionCall","src":"5262:16:21"},"nativeSrc":"5262:16:21","nodeType":"YulExpressionStatement","src":"5262:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5298:4:21","nodeType":"YulLiteral","src":"5298:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"5304:2:21","nodeType":"YulIdentifier","src":"5304:2:21"}],"functionName":{"name":"mstore","nativeSrc":"5291:6:21","nodeType":"YulIdentifier","src":"5291:6:21"},"nativeSrc":"5291:16:21","nodeType":"YulFunctionCall","src":"5291:16:21"},"nativeSrc":"5291:16:21","nodeType":"YulExpressionStatement","src":"5291:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27182,"isOffset":false,"isSlot":false,"src":"5275:2:21","valueSize":1},{"declaration":27185,"isOffset":false,"isSlot":false,"src":"5304:2:21","valueSize":1}],"id":27193,"nodeType":"InlineAssembly","src":"5239:78:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"4838:3:21","parameters":{"id":27179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27178,"mutability":"mutable","name":"p0","nameLocation":"4850:2:21","nodeType":"VariableDeclaration","scope":27195,"src":"4842:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27177,"name":"uint256","nodeType":"ElementaryTypeName","src":"4842:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4841:12:21"},"returnParameters":{"id":27180,"nodeType":"ParameterList","parameters":[],"src":"4868:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27220,"nodeType":"FunctionDefinition","src":"5329:1042:21","nodes":[],"body":{"id":27219,"nodeType":"Block","src":"5368:1003:21","nodes":[],"statements":[{"assignments":[27201],"declarations":[{"constant":false,"id":27201,"mutability":"mutable","name":"m0","nameLocation":"5386:2:21","nodeType":"VariableDeclaration","scope":27219,"src":"5378:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5378:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27202,"nodeType":"VariableDeclarationStatement","src":"5378:10:21"},{"assignments":[27204],"declarations":[{"constant":false,"id":27204,"mutability":"mutable","name":"m1","nameLocation":"5406:2:21","nodeType":"VariableDeclaration","scope":27219,"src":"5398:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27203,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5398:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27205,"nodeType":"VariableDeclarationStatement","src":"5398:10:21"},{"assignments":[27207],"declarations":[{"constant":false,"id":27207,"mutability":"mutable","name":"m2","nameLocation":"5426:2:21","nodeType":"VariableDeclaration","scope":27219,"src":"5418:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5418:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27208,"nodeType":"VariableDeclarationStatement","src":"5418:10:21"},{"assignments":[27210],"declarations":[{"constant":false,"id":27210,"mutability":"mutable","name":"m3","nameLocation":"5446:2:21","nodeType":"VariableDeclaration","scope":27219,"src":"5438:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5438:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27211,"nodeType":"VariableDeclarationStatement","src":"5438:10:21"},{"AST":{"nativeSrc":"5510:630:21","nodeType":"YulBlock","src":"5510:630:21","statements":[{"body":{"nativeSrc":"5553:313:21","nodeType":"YulBlock","src":"5553:313:21","statements":[{"nativeSrc":"5571:15:21","nodeType":"YulVariableDeclaration","src":"5571:15:21","value":{"kind":"number","nativeSrc":"5585:1:21","nodeType":"YulLiteral","src":"5585:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"5575:6:21","nodeType":"YulTypedName","src":"5575:6:21","type":""}]},{"body":{"nativeSrc":"5656:40:21","nodeType":"YulBlock","src":"5656:40:21","statements":[{"body":{"nativeSrc":"5685:9:21","nodeType":"YulBlock","src":"5685:9:21","statements":[{"nativeSrc":"5687:5:21","nodeType":"YulBreak","src":"5687:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"5673:6:21","nodeType":"YulIdentifier","src":"5673:6:21"},{"name":"w","nativeSrc":"5681:1:21","nodeType":"YulIdentifier","src":"5681:1:21"}],"functionName":{"name":"byte","nativeSrc":"5668:4:21","nodeType":"YulIdentifier","src":"5668:4:21"},"nativeSrc":"5668:15:21","nodeType":"YulFunctionCall","src":"5668:15:21"}],"functionName":{"name":"iszero","nativeSrc":"5661:6:21","nodeType":"YulIdentifier","src":"5661:6:21"},"nativeSrc":"5661:23:21","nodeType":"YulFunctionCall","src":"5661:23:21"},"nativeSrc":"5658:36:21","nodeType":"YulIf","src":"5658:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"5613:6:21","nodeType":"YulIdentifier","src":"5613:6:21"},{"kind":"number","nativeSrc":"5621:4:21","nodeType":"YulLiteral","src":"5621:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"5610:2:21","nodeType":"YulIdentifier","src":"5610:2:21"},"nativeSrc":"5610:16:21","nodeType":"YulFunctionCall","src":"5610:16:21"},"nativeSrc":"5603:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"5627:28:21","nodeType":"YulBlock","src":"5627:28:21","statements":[{"nativeSrc":"5629:24:21","nodeType":"YulAssignment","src":"5629:24:21","value":{"arguments":[{"name":"length","nativeSrc":"5643:6:21","nodeType":"YulIdentifier","src":"5643:6:21"},{"kind":"number","nativeSrc":"5651:1:21","nodeType":"YulLiteral","src":"5651:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"5639:3:21","nodeType":"YulIdentifier","src":"5639:3:21"},"nativeSrc":"5639:14:21","nodeType":"YulFunctionCall","src":"5639:14:21"},"variableNames":[{"name":"length","nativeSrc":"5629:6:21","nodeType":"YulIdentifier","src":"5629:6:21"}]}]},"pre":{"nativeSrc":"5607:2:21","nodeType":"YulBlock","src":"5607:2:21","statements":[]},"src":"5603:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"5720:3:21","nodeType":"YulIdentifier","src":"5720:3:21"},{"name":"length","nativeSrc":"5725:6:21","nodeType":"YulIdentifier","src":"5725:6:21"}],"functionName":{"name":"mstore","nativeSrc":"5713:6:21","nodeType":"YulIdentifier","src":"5713:6:21"},"nativeSrc":"5713:19:21","nodeType":"YulFunctionCall","src":"5713:19:21"},"nativeSrc":"5713:19:21","nodeType":"YulExpressionStatement","src":"5713:19:21"},{"nativeSrc":"5749:37:21","nodeType":"YulVariableDeclaration","src":"5749:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"5766:3:21","nodeType":"YulLiteral","src":"5766:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"5775:1:21","nodeType":"YulLiteral","src":"5775:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"5778:6:21","nodeType":"YulIdentifier","src":"5778:6:21"}],"functionName":{"name":"shl","nativeSrc":"5771:3:21","nodeType":"YulIdentifier","src":"5771:3:21"},"nativeSrc":"5771:14:21","nodeType":"YulFunctionCall","src":"5771:14:21"}],"functionName":{"name":"sub","nativeSrc":"5762:3:21","nodeType":"YulIdentifier","src":"5762:3:21"},"nativeSrc":"5762:24:21","nodeType":"YulFunctionCall","src":"5762:24:21"},"variables":[{"name":"shift","nativeSrc":"5753:5:21","nodeType":"YulTypedName","src":"5753:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"5814:3:21","nodeType":"YulIdentifier","src":"5814:3:21"},{"kind":"number","nativeSrc":"5819:4:21","nodeType":"YulLiteral","src":"5819:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5810:3:21","nodeType":"YulIdentifier","src":"5810:3:21"},"nativeSrc":"5810:14:21","nodeType":"YulFunctionCall","src":"5810:14:21"},{"arguments":[{"name":"shift","nativeSrc":"5830:5:21","nodeType":"YulIdentifier","src":"5830:5:21"},{"arguments":[{"name":"shift","nativeSrc":"5841:5:21","nodeType":"YulIdentifier","src":"5841:5:21"},{"name":"w","nativeSrc":"5848:1:21","nodeType":"YulIdentifier","src":"5848:1:21"}],"functionName":{"name":"shr","nativeSrc":"5837:3:21","nodeType":"YulIdentifier","src":"5837:3:21"},"nativeSrc":"5837:13:21","nodeType":"YulFunctionCall","src":"5837:13:21"}],"functionName":{"name":"shl","nativeSrc":"5826:3:21","nodeType":"YulIdentifier","src":"5826:3:21"},"nativeSrc":"5826:25:21","nodeType":"YulFunctionCall","src":"5826:25:21"}],"functionName":{"name":"mstore","nativeSrc":"5803:6:21","nodeType":"YulIdentifier","src":"5803:6:21"},"nativeSrc":"5803:49:21","nodeType":"YulFunctionCall","src":"5803:49:21"},"nativeSrc":"5803:49:21","nodeType":"YulExpressionStatement","src":"5803:49:21"}]},"name":"writeString","nativeSrc":"5524:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"5545:3:21","nodeType":"YulTypedName","src":"5545:3:21","type":""},{"name":"w","nativeSrc":"5550:1:21","nodeType":"YulTypedName","src":"5550:1:21","type":""}],"src":"5524:342:21"},{"nativeSrc":"5879:17:21","nodeType":"YulAssignment","src":"5879:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"5891:4:21","nodeType":"YulLiteral","src":"5891:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"5885:5:21","nodeType":"YulIdentifier","src":"5885:5:21"},"nativeSrc":"5885:11:21","nodeType":"YulFunctionCall","src":"5885:11:21"},"variableNames":[{"name":"m0","nativeSrc":"5879:2:21","nodeType":"YulIdentifier","src":"5879:2:21"}]},{"nativeSrc":"5909:17:21","nodeType":"YulAssignment","src":"5909:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"5921:4:21","nodeType":"YulLiteral","src":"5921:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"5915:5:21","nodeType":"YulIdentifier","src":"5915:5:21"},"nativeSrc":"5915:11:21","nodeType":"YulFunctionCall","src":"5915:11:21"},"variableNames":[{"name":"m1","nativeSrc":"5909:2:21","nodeType":"YulIdentifier","src":"5909:2:21"}]},{"nativeSrc":"5939:17:21","nodeType":"YulAssignment","src":"5939:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"5951:4:21","nodeType":"YulLiteral","src":"5951:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"5945:5:21","nodeType":"YulIdentifier","src":"5945:5:21"},"nativeSrc":"5945:11:21","nodeType":"YulFunctionCall","src":"5945:11:21"},"variableNames":[{"name":"m2","nativeSrc":"5939:2:21","nodeType":"YulIdentifier","src":"5939:2:21"}]},{"nativeSrc":"5969:17:21","nodeType":"YulAssignment","src":"5969:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"5981:4:21","nodeType":"YulLiteral","src":"5981:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"5975:5:21","nodeType":"YulIdentifier","src":"5975:5:21"},"nativeSrc":"5975:11:21","nodeType":"YulFunctionCall","src":"5975:11:21"},"variableNames":[{"name":"m3","nativeSrc":"5969:2:21","nodeType":"YulIdentifier","src":"5969:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6048:4:21","nodeType":"YulLiteral","src":"6048:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"6054:10:21","nodeType":"YulLiteral","src":"6054:10:21","type":"","value":"0x41304fac"}],"functionName":{"name":"mstore","nativeSrc":"6041:6:21","nodeType":"YulIdentifier","src":"6041:6:21"},"nativeSrc":"6041:24:21","nodeType":"YulFunctionCall","src":"6041:24:21"},"nativeSrc":"6041:24:21","nodeType":"YulExpressionStatement","src":"6041:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6085:4:21","nodeType":"YulLiteral","src":"6085:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"6091:4:21","nodeType":"YulLiteral","src":"6091:4:21","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"6078:6:21","nodeType":"YulIdentifier","src":"6078:6:21"},"nativeSrc":"6078:18:21","nodeType":"YulFunctionCall","src":"6078:18:21"},"nativeSrc":"6078:18:21","nodeType":"YulExpressionStatement","src":"6078:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6121:4:21","nodeType":"YulLiteral","src":"6121:4:21","type":"","value":"0x40"},{"name":"p0","nativeSrc":"6127:2:21","nodeType":"YulIdentifier","src":"6127:2:21"}],"functionName":{"name":"writeString","nativeSrc":"6109:11:21","nodeType":"YulIdentifier","src":"6109:11:21"},"nativeSrc":"6109:21:21","nodeType":"YulFunctionCall","src":"6109:21:21"},"nativeSrc":"6109:21:21","nodeType":"YulExpressionStatement","src":"6109:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27201,"isOffset":false,"isSlot":false,"src":"5879:2:21","valueSize":1},{"declaration":27204,"isOffset":false,"isSlot":false,"src":"5909:2:21","valueSize":1},{"declaration":27207,"isOffset":false,"isSlot":false,"src":"5939:2:21","valueSize":1},{"declaration":27210,"isOffset":false,"isSlot":false,"src":"5969:2:21","valueSize":1},{"declaration":27197,"isOffset":false,"isSlot":false,"src":"6127:2:21","valueSize":1}],"id":27212,"nodeType":"InlineAssembly","src":"5501:639:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6165:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6171:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27213,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"6149:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6149:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27217,"nodeType":"ExpressionStatement","src":"6149:27:21"},{"AST":{"nativeSrc":"6238:127:21","nodeType":"YulBlock","src":"6238:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6259:4:21","nodeType":"YulLiteral","src":"6259:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"6265:2:21","nodeType":"YulIdentifier","src":"6265:2:21"}],"functionName":{"name":"mstore","nativeSrc":"6252:6:21","nodeType":"YulIdentifier","src":"6252:6:21"},"nativeSrc":"6252:16:21","nodeType":"YulFunctionCall","src":"6252:16:21"},"nativeSrc":"6252:16:21","nodeType":"YulExpressionStatement","src":"6252:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6288:4:21","nodeType":"YulLiteral","src":"6288:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"6294:2:21","nodeType":"YulIdentifier","src":"6294:2:21"}],"functionName":{"name":"mstore","nativeSrc":"6281:6:21","nodeType":"YulIdentifier","src":"6281:6:21"},"nativeSrc":"6281:16:21","nodeType":"YulFunctionCall","src":"6281:16:21"},"nativeSrc":"6281:16:21","nodeType":"YulExpressionStatement","src":"6281:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6317:4:21","nodeType":"YulLiteral","src":"6317:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"6323:2:21","nodeType":"YulIdentifier","src":"6323:2:21"}],"functionName":{"name":"mstore","nativeSrc":"6310:6:21","nodeType":"YulIdentifier","src":"6310:6:21"},"nativeSrc":"6310:16:21","nodeType":"YulFunctionCall","src":"6310:16:21"},"nativeSrc":"6310:16:21","nodeType":"YulExpressionStatement","src":"6310:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6346:4:21","nodeType":"YulLiteral","src":"6346:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"6352:2:21","nodeType":"YulIdentifier","src":"6352:2:21"}],"functionName":{"name":"mstore","nativeSrc":"6339:6:21","nodeType":"YulIdentifier","src":"6339:6:21"},"nativeSrc":"6339:16:21","nodeType":"YulFunctionCall","src":"6339:16:21"},"nativeSrc":"6339:16:21","nodeType":"YulExpressionStatement","src":"6339:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27201,"isOffset":false,"isSlot":false,"src":"6265:2:21","valueSize":1},{"declaration":27204,"isOffset":false,"isSlot":false,"src":"6294:2:21","valueSize":1},{"declaration":27207,"isOffset":false,"isSlot":false,"src":"6323:2:21","valueSize":1},{"declaration":27210,"isOffset":false,"isSlot":false,"src":"6352:2:21","valueSize":1}],"id":27218,"nodeType":"InlineAssembly","src":"6229:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5338:3:21","parameters":{"id":27198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27197,"mutability":"mutable","name":"p0","nameLocation":"5350:2:21","nodeType":"VariableDeclaration","scope":27220,"src":"5342:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5342:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5341:12:21"},"returnParameters":{"id":27199,"nodeType":"ParameterList","parameters":[],"src":"5368:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27244,"nodeType":"FunctionDefinition","src":"6377:622:21","nodes":[],"body":{"id":27243,"nodeType":"Block","src":"6428:571:21","nodes":[],"statements":[{"assignments":[27228],"declarations":[{"constant":false,"id":27228,"mutability":"mutable","name":"m0","nameLocation":"6446:2:21","nodeType":"VariableDeclaration","scope":27243,"src":"6438:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6438:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27229,"nodeType":"VariableDeclarationStatement","src":"6438:10:21"},{"assignments":[27231],"declarations":[{"constant":false,"id":27231,"mutability":"mutable","name":"m1","nameLocation":"6466:2:21","nodeType":"VariableDeclaration","scope":27243,"src":"6458:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6458:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27232,"nodeType":"VariableDeclarationStatement","src":"6458:10:21"},{"assignments":[27234],"declarations":[{"constant":false,"id":27234,"mutability":"mutable","name":"m2","nameLocation":"6486:2:21","nodeType":"VariableDeclaration","scope":27243,"src":"6478:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6478:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27235,"nodeType":"VariableDeclarationStatement","src":"6478:10:21"},{"AST":{"nativeSrc":"6550:247:21","nodeType":"YulBlock","src":"6550:247:21","statements":[{"nativeSrc":"6564:17:21","nodeType":"YulAssignment","src":"6564:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"6576:4:21","nodeType":"YulLiteral","src":"6576:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"6570:5:21","nodeType":"YulIdentifier","src":"6570:5:21"},"nativeSrc":"6570:11:21","nodeType":"YulFunctionCall","src":"6570:11:21"},"variableNames":[{"name":"m0","nativeSrc":"6564:2:21","nodeType":"YulIdentifier","src":"6564:2:21"}]},{"nativeSrc":"6594:17:21","nodeType":"YulAssignment","src":"6594:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"6606:4:21","nodeType":"YulLiteral","src":"6606:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"6600:5:21","nodeType":"YulIdentifier","src":"6600:5:21"},"nativeSrc":"6600:11:21","nodeType":"YulFunctionCall","src":"6600:11:21"},"variableNames":[{"name":"m1","nativeSrc":"6594:2:21","nodeType":"YulIdentifier","src":"6594:2:21"}]},{"nativeSrc":"6624:17:21","nodeType":"YulAssignment","src":"6624:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"6636:4:21","nodeType":"YulLiteral","src":"6636:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6630:5:21","nodeType":"YulIdentifier","src":"6630:5:21"},"nativeSrc":"6630:11:21","nodeType":"YulFunctionCall","src":"6630:11:21"},"variableNames":[{"name":"m2","nativeSrc":"6624:2:21","nodeType":"YulIdentifier","src":"6624:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6712:4:21","nodeType":"YulLiteral","src":"6712:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"6718:10:21","nodeType":"YulLiteral","src":"6718:10:21","type":"","value":"0xdaf0d4aa"}],"functionName":{"name":"mstore","nativeSrc":"6705:6:21","nodeType":"YulIdentifier","src":"6705:6:21"},"nativeSrc":"6705:24:21","nodeType":"YulFunctionCall","src":"6705:24:21"},"nativeSrc":"6705:24:21","nodeType":"YulExpressionStatement","src":"6705:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6749:4:21","nodeType":"YulLiteral","src":"6749:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"6755:2:21","nodeType":"YulIdentifier","src":"6755:2:21"}],"functionName":{"name":"mstore","nativeSrc":"6742:6:21","nodeType":"YulIdentifier","src":"6742:6:21"},"nativeSrc":"6742:16:21","nodeType":"YulFunctionCall","src":"6742:16:21"},"nativeSrc":"6742:16:21","nodeType":"YulExpressionStatement","src":"6742:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6778:4:21","nodeType":"YulLiteral","src":"6778:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"6784:2:21","nodeType":"YulIdentifier","src":"6784:2:21"}],"functionName":{"name":"mstore","nativeSrc":"6771:6:21","nodeType":"YulIdentifier","src":"6771:6:21"},"nativeSrc":"6771:16:21","nodeType":"YulFunctionCall","src":"6771:16:21"},"nativeSrc":"6771:16:21","nodeType":"YulExpressionStatement","src":"6771:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27228,"isOffset":false,"isSlot":false,"src":"6564:2:21","valueSize":1},{"declaration":27231,"isOffset":false,"isSlot":false,"src":"6594:2:21","valueSize":1},{"declaration":27234,"isOffset":false,"isSlot":false,"src":"6624:2:21","valueSize":1},{"declaration":27222,"isOffset":false,"isSlot":false,"src":"6755:2:21","valueSize":1},{"declaration":27224,"isOffset":false,"isSlot":false,"src":"6784:2:21","valueSize":1}],"id":27236,"nodeType":"InlineAssembly","src":"6541:256:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6822:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":27239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6828:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":27237,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"6806:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6806:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27241,"nodeType":"ExpressionStatement","src":"6806:27:21"},{"AST":{"nativeSrc":"6895:98:21","nodeType":"YulBlock","src":"6895:98:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6916:4:21","nodeType":"YulLiteral","src":"6916:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"6922:2:21","nodeType":"YulIdentifier","src":"6922:2:21"}],"functionName":{"name":"mstore","nativeSrc":"6909:6:21","nodeType":"YulIdentifier","src":"6909:6:21"},"nativeSrc":"6909:16:21","nodeType":"YulFunctionCall","src":"6909:16:21"},"nativeSrc":"6909:16:21","nodeType":"YulExpressionStatement","src":"6909:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6945:4:21","nodeType":"YulLiteral","src":"6945:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"6951:2:21","nodeType":"YulIdentifier","src":"6951:2:21"}],"functionName":{"name":"mstore","nativeSrc":"6938:6:21","nodeType":"YulIdentifier","src":"6938:6:21"},"nativeSrc":"6938:16:21","nodeType":"YulFunctionCall","src":"6938:16:21"},"nativeSrc":"6938:16:21","nodeType":"YulExpressionStatement","src":"6938:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6974:4:21","nodeType":"YulLiteral","src":"6974:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"6980:2:21","nodeType":"YulIdentifier","src":"6980:2:21"}],"functionName":{"name":"mstore","nativeSrc":"6967:6:21","nodeType":"YulIdentifier","src":"6967:6:21"},"nativeSrc":"6967:16:21","nodeType":"YulFunctionCall","src":"6967:16:21"},"nativeSrc":"6967:16:21","nodeType":"YulExpressionStatement","src":"6967:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27228,"isOffset":false,"isSlot":false,"src":"6922:2:21","valueSize":1},{"declaration":27231,"isOffset":false,"isSlot":false,"src":"6951:2:21","valueSize":1},{"declaration":27234,"isOffset":false,"isSlot":false,"src":"6980:2:21","valueSize":1}],"id":27242,"nodeType":"InlineAssembly","src":"6886:107:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6386:3:21","parameters":{"id":27225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27222,"mutability":"mutable","name":"p0","nameLocation":"6398:2:21","nodeType":"VariableDeclaration","scope":27244,"src":"6390:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27221,"name":"address","nodeType":"ElementaryTypeName","src":"6390:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27224,"mutability":"mutable","name":"p1","nameLocation":"6410:2:21","nodeType":"VariableDeclaration","scope":27244,"src":"6402:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27223,"name":"address","nodeType":"ElementaryTypeName","src":"6402:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6389:24:21"},"returnParameters":{"id":27226,"nodeType":"ParameterList","parameters":[],"src":"6428:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27268,"nodeType":"FunctionDefinition","src":"7005:616:21","nodes":[],"body":{"id":27267,"nodeType":"Block","src":"7053:568:21","nodes":[],"statements":[{"assignments":[27252],"declarations":[{"constant":false,"id":27252,"mutability":"mutable","name":"m0","nameLocation":"7071:2:21","nodeType":"VariableDeclaration","scope":27267,"src":"7063:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7063:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27253,"nodeType":"VariableDeclarationStatement","src":"7063:10:21"},{"assignments":[27255],"declarations":[{"constant":false,"id":27255,"mutability":"mutable","name":"m1","nameLocation":"7091:2:21","nodeType":"VariableDeclaration","scope":27267,"src":"7083:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7083:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27256,"nodeType":"VariableDeclarationStatement","src":"7083:10:21"},{"assignments":[27258],"declarations":[{"constant":false,"id":27258,"mutability":"mutable","name":"m2","nameLocation":"7111:2:21","nodeType":"VariableDeclaration","scope":27267,"src":"7103:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7103:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27259,"nodeType":"VariableDeclarationStatement","src":"7103:10:21"},{"AST":{"nativeSrc":"7175:244:21","nodeType":"YulBlock","src":"7175:244:21","statements":[{"nativeSrc":"7189:17:21","nodeType":"YulAssignment","src":"7189:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"7201:4:21","nodeType":"YulLiteral","src":"7201:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"7195:5:21","nodeType":"YulIdentifier","src":"7195:5:21"},"nativeSrc":"7195:11:21","nodeType":"YulFunctionCall","src":"7195:11:21"},"variableNames":[{"name":"m0","nativeSrc":"7189:2:21","nodeType":"YulIdentifier","src":"7189:2:21"}]},{"nativeSrc":"7219:17:21","nodeType":"YulAssignment","src":"7219:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"7231:4:21","nodeType":"YulLiteral","src":"7231:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"7225:5:21","nodeType":"YulIdentifier","src":"7225:5:21"},"nativeSrc":"7225:11:21","nodeType":"YulFunctionCall","src":"7225:11:21"},"variableNames":[{"name":"m1","nativeSrc":"7219:2:21","nodeType":"YulIdentifier","src":"7219:2:21"}]},{"nativeSrc":"7249:17:21","nodeType":"YulAssignment","src":"7249:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"7261:4:21","nodeType":"YulLiteral","src":"7261:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"7255:5:21","nodeType":"YulIdentifier","src":"7255:5:21"},"nativeSrc":"7255:11:21","nodeType":"YulFunctionCall","src":"7255:11:21"},"variableNames":[{"name":"m2","nativeSrc":"7249:2:21","nodeType":"YulIdentifier","src":"7249:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7334:4:21","nodeType":"YulLiteral","src":"7334:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"7340:10:21","nodeType":"YulLiteral","src":"7340:10:21","type":"","value":"0x75b605d3"}],"functionName":{"name":"mstore","nativeSrc":"7327:6:21","nodeType":"YulIdentifier","src":"7327:6:21"},"nativeSrc":"7327:24:21","nodeType":"YulFunctionCall","src":"7327:24:21"},"nativeSrc":"7327:24:21","nodeType":"YulExpressionStatement","src":"7327:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7371:4:21","nodeType":"YulLiteral","src":"7371:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"7377:2:21","nodeType":"YulIdentifier","src":"7377:2:21"}],"functionName":{"name":"mstore","nativeSrc":"7364:6:21","nodeType":"YulIdentifier","src":"7364:6:21"},"nativeSrc":"7364:16:21","nodeType":"YulFunctionCall","src":"7364:16:21"},"nativeSrc":"7364:16:21","nodeType":"YulExpressionStatement","src":"7364:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7400:4:21","nodeType":"YulLiteral","src":"7400:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"7406:2:21","nodeType":"YulIdentifier","src":"7406:2:21"}],"functionName":{"name":"mstore","nativeSrc":"7393:6:21","nodeType":"YulIdentifier","src":"7393:6:21"},"nativeSrc":"7393:16:21","nodeType":"YulFunctionCall","src":"7393:16:21"},"nativeSrc":"7393:16:21","nodeType":"YulExpressionStatement","src":"7393:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27252,"isOffset":false,"isSlot":false,"src":"7189:2:21","valueSize":1},{"declaration":27255,"isOffset":false,"isSlot":false,"src":"7219:2:21","valueSize":1},{"declaration":27258,"isOffset":false,"isSlot":false,"src":"7249:2:21","valueSize":1},{"declaration":27246,"isOffset":false,"isSlot":false,"src":"7377:2:21","valueSize":1},{"declaration":27248,"isOffset":false,"isSlot":false,"src":"7406:2:21","valueSize":1}],"id":27260,"nodeType":"InlineAssembly","src":"7166:253:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7444:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":27263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7450:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":27261,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"7428:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7428:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27265,"nodeType":"ExpressionStatement","src":"7428:27:21"},{"AST":{"nativeSrc":"7517:98:21","nodeType":"YulBlock","src":"7517:98:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"7538:4:21","nodeType":"YulLiteral","src":"7538:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"7544:2:21","nodeType":"YulIdentifier","src":"7544:2:21"}],"functionName":{"name":"mstore","nativeSrc":"7531:6:21","nodeType":"YulIdentifier","src":"7531:6:21"},"nativeSrc":"7531:16:21","nodeType":"YulFunctionCall","src":"7531:16:21"},"nativeSrc":"7531:16:21","nodeType":"YulExpressionStatement","src":"7531:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7567:4:21","nodeType":"YulLiteral","src":"7567:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"7573:2:21","nodeType":"YulIdentifier","src":"7573:2:21"}],"functionName":{"name":"mstore","nativeSrc":"7560:6:21","nodeType":"YulIdentifier","src":"7560:6:21"},"nativeSrc":"7560:16:21","nodeType":"YulFunctionCall","src":"7560:16:21"},"nativeSrc":"7560:16:21","nodeType":"YulExpressionStatement","src":"7560:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7596:4:21","nodeType":"YulLiteral","src":"7596:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"7602:2:21","nodeType":"YulIdentifier","src":"7602:2:21"}],"functionName":{"name":"mstore","nativeSrc":"7589:6:21","nodeType":"YulIdentifier","src":"7589:6:21"},"nativeSrc":"7589:16:21","nodeType":"YulFunctionCall","src":"7589:16:21"},"nativeSrc":"7589:16:21","nodeType":"YulExpressionStatement","src":"7589:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27252,"isOffset":false,"isSlot":false,"src":"7544:2:21","valueSize":1},{"declaration":27255,"isOffset":false,"isSlot":false,"src":"7573:2:21","valueSize":1},{"declaration":27258,"isOffset":false,"isSlot":false,"src":"7602:2:21","valueSize":1}],"id":27266,"nodeType":"InlineAssembly","src":"7508:107:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7014:3:21","parameters":{"id":27249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27246,"mutability":"mutable","name":"p0","nameLocation":"7026:2:21","nodeType":"VariableDeclaration","scope":27268,"src":"7018:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27245,"name":"address","nodeType":"ElementaryTypeName","src":"7018:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27248,"mutability":"mutable","name":"p1","nameLocation":"7035:2:21","nodeType":"VariableDeclaration","scope":27268,"src":"7030:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27247,"name":"bool","nodeType":"ElementaryTypeName","src":"7030:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7017:21:21"},"returnParameters":{"id":27250,"nodeType":"ParameterList","parameters":[],"src":"7053:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27292,"nodeType":"FunctionDefinition","src":"7627:622:21","nodes":[],"body":{"id":27291,"nodeType":"Block","src":"7678:571:21","nodes":[],"statements":[{"assignments":[27276],"declarations":[{"constant":false,"id":27276,"mutability":"mutable","name":"m0","nameLocation":"7696:2:21","nodeType":"VariableDeclaration","scope":27291,"src":"7688:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7688:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27277,"nodeType":"VariableDeclarationStatement","src":"7688:10:21"},{"assignments":[27279],"declarations":[{"constant":false,"id":27279,"mutability":"mutable","name":"m1","nameLocation":"7716:2:21","nodeType":"VariableDeclaration","scope":27291,"src":"7708:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7708:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27280,"nodeType":"VariableDeclarationStatement","src":"7708:10:21"},{"assignments":[27282],"declarations":[{"constant":false,"id":27282,"mutability":"mutable","name":"m2","nameLocation":"7736:2:21","nodeType":"VariableDeclaration","scope":27291,"src":"7728:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7728:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27283,"nodeType":"VariableDeclarationStatement","src":"7728:10:21"},{"AST":{"nativeSrc":"7800:247:21","nodeType":"YulBlock","src":"7800:247:21","statements":[{"nativeSrc":"7814:17:21","nodeType":"YulAssignment","src":"7814:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"7826:4:21","nodeType":"YulLiteral","src":"7826:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"7820:5:21","nodeType":"YulIdentifier","src":"7820:5:21"},"nativeSrc":"7820:11:21","nodeType":"YulFunctionCall","src":"7820:11:21"},"variableNames":[{"name":"m0","nativeSrc":"7814:2:21","nodeType":"YulIdentifier","src":"7814:2:21"}]},{"nativeSrc":"7844:17:21","nodeType":"YulAssignment","src":"7844:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"7856:4:21","nodeType":"YulLiteral","src":"7856:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"7850:5:21","nodeType":"YulIdentifier","src":"7850:5:21"},"nativeSrc":"7850:11:21","nodeType":"YulFunctionCall","src":"7850:11:21"},"variableNames":[{"name":"m1","nativeSrc":"7844:2:21","nodeType":"YulIdentifier","src":"7844:2:21"}]},{"nativeSrc":"7874:17:21","nodeType":"YulAssignment","src":"7874:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"7886:4:21","nodeType":"YulLiteral","src":"7886:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"7880:5:21","nodeType":"YulIdentifier","src":"7880:5:21"},"nativeSrc":"7880:11:21","nodeType":"YulFunctionCall","src":"7880:11:21"},"variableNames":[{"name":"m2","nativeSrc":"7874:2:21","nodeType":"YulIdentifier","src":"7874:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7962:4:21","nodeType":"YulLiteral","src":"7962:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"7968:10:21","nodeType":"YulLiteral","src":"7968:10:21","type":"","value":"0x8309e8a8"}],"functionName":{"name":"mstore","nativeSrc":"7955:6:21","nodeType":"YulIdentifier","src":"7955:6:21"},"nativeSrc":"7955:24:21","nodeType":"YulFunctionCall","src":"7955:24:21"},"nativeSrc":"7955:24:21","nodeType":"YulExpressionStatement","src":"7955:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7999:4:21","nodeType":"YulLiteral","src":"7999:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"8005:2:21","nodeType":"YulIdentifier","src":"8005:2:21"}],"functionName":{"name":"mstore","nativeSrc":"7992:6:21","nodeType":"YulIdentifier","src":"7992:6:21"},"nativeSrc":"7992:16:21","nodeType":"YulFunctionCall","src":"7992:16:21"},"nativeSrc":"7992:16:21","nodeType":"YulExpressionStatement","src":"7992:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8028:4:21","nodeType":"YulLiteral","src":"8028:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"8034:2:21","nodeType":"YulIdentifier","src":"8034:2:21"}],"functionName":{"name":"mstore","nativeSrc":"8021:6:21","nodeType":"YulIdentifier","src":"8021:6:21"},"nativeSrc":"8021:16:21","nodeType":"YulFunctionCall","src":"8021:16:21"},"nativeSrc":"8021:16:21","nodeType":"YulExpressionStatement","src":"8021:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27276,"isOffset":false,"isSlot":false,"src":"7814:2:21","valueSize":1},{"declaration":27279,"isOffset":false,"isSlot":false,"src":"7844:2:21","valueSize":1},{"declaration":27282,"isOffset":false,"isSlot":false,"src":"7874:2:21","valueSize":1},{"declaration":27270,"isOffset":false,"isSlot":false,"src":"8005:2:21","valueSize":1},{"declaration":27272,"isOffset":false,"isSlot":false,"src":"8034:2:21","valueSize":1}],"id":27284,"nodeType":"InlineAssembly","src":"7791:256:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8072:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":27287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8078:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":27285,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"8056:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8056:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27289,"nodeType":"ExpressionStatement","src":"8056:27:21"},{"AST":{"nativeSrc":"8145:98:21","nodeType":"YulBlock","src":"8145:98:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8166:4:21","nodeType":"YulLiteral","src":"8166:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"8172:2:21","nodeType":"YulIdentifier","src":"8172:2:21"}],"functionName":{"name":"mstore","nativeSrc":"8159:6:21","nodeType":"YulIdentifier","src":"8159:6:21"},"nativeSrc":"8159:16:21","nodeType":"YulFunctionCall","src":"8159:16:21"},"nativeSrc":"8159:16:21","nodeType":"YulExpressionStatement","src":"8159:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8195:4:21","nodeType":"YulLiteral","src":"8195:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"8201:2:21","nodeType":"YulIdentifier","src":"8201:2:21"}],"functionName":{"name":"mstore","nativeSrc":"8188:6:21","nodeType":"YulIdentifier","src":"8188:6:21"},"nativeSrc":"8188:16:21","nodeType":"YulFunctionCall","src":"8188:16:21"},"nativeSrc":"8188:16:21","nodeType":"YulExpressionStatement","src":"8188:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8224:4:21","nodeType":"YulLiteral","src":"8224:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"8230:2:21","nodeType":"YulIdentifier","src":"8230:2:21"}],"functionName":{"name":"mstore","nativeSrc":"8217:6:21","nodeType":"YulIdentifier","src":"8217:6:21"},"nativeSrc":"8217:16:21","nodeType":"YulFunctionCall","src":"8217:16:21"},"nativeSrc":"8217:16:21","nodeType":"YulExpressionStatement","src":"8217:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27276,"isOffset":false,"isSlot":false,"src":"8172:2:21","valueSize":1},{"declaration":27279,"isOffset":false,"isSlot":false,"src":"8201:2:21","valueSize":1},{"declaration":27282,"isOffset":false,"isSlot":false,"src":"8230:2:21","valueSize":1}],"id":27290,"nodeType":"InlineAssembly","src":"8136:107:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7636:3:21","parameters":{"id":27273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27270,"mutability":"mutable","name":"p0","nameLocation":"7648:2:21","nodeType":"VariableDeclaration","scope":27292,"src":"7640:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27269,"name":"address","nodeType":"ElementaryTypeName","src":"7640:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27272,"mutability":"mutable","name":"p1","nameLocation":"7660:2:21","nodeType":"VariableDeclaration","scope":27292,"src":"7652:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27271,"name":"uint256","nodeType":"ElementaryTypeName","src":"7652:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7639:24:21"},"returnParameters":{"id":27274,"nodeType":"ParameterList","parameters":[],"src":"7678:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27322,"nodeType":"FunctionDefinition","src":"8255:1170:21","nodes":[],"body":{"id":27321,"nodeType":"Block","src":"8306:1119:21","nodes":[],"statements":[{"assignments":[27300],"declarations":[{"constant":false,"id":27300,"mutability":"mutable","name":"m0","nameLocation":"8324:2:21","nodeType":"VariableDeclaration","scope":27321,"src":"8316:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27301,"nodeType":"VariableDeclarationStatement","src":"8316:10:21"},{"assignments":[27303],"declarations":[{"constant":false,"id":27303,"mutability":"mutable","name":"m1","nameLocation":"8344:2:21","nodeType":"VariableDeclaration","scope":27321,"src":"8336:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8336:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27304,"nodeType":"VariableDeclarationStatement","src":"8336:10:21"},{"assignments":[27306],"declarations":[{"constant":false,"id":27306,"mutability":"mutable","name":"m2","nameLocation":"8364:2:21","nodeType":"VariableDeclaration","scope":27321,"src":"8356:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8356:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27307,"nodeType":"VariableDeclarationStatement","src":"8356:10:21"},{"assignments":[27309],"declarations":[{"constant":false,"id":27309,"mutability":"mutable","name":"m3","nameLocation":"8384:2:21","nodeType":"VariableDeclaration","scope":27321,"src":"8376:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8376:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27310,"nodeType":"VariableDeclarationStatement","src":"8376:10:21"},{"assignments":[27312],"declarations":[{"constant":false,"id":27312,"mutability":"mutable","name":"m4","nameLocation":"8404:2:21","nodeType":"VariableDeclaration","scope":27321,"src":"8396:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8396:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27313,"nodeType":"VariableDeclarationStatement","src":"8396:10:21"},{"AST":{"nativeSrc":"8468:697:21","nodeType":"YulBlock","src":"8468:697:21","statements":[{"body":{"nativeSrc":"8511:313:21","nodeType":"YulBlock","src":"8511:313:21","statements":[{"nativeSrc":"8529:15:21","nodeType":"YulVariableDeclaration","src":"8529:15:21","value":{"kind":"number","nativeSrc":"8543:1:21","nodeType":"YulLiteral","src":"8543:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"8533:6:21","nodeType":"YulTypedName","src":"8533:6:21","type":""}]},{"body":{"nativeSrc":"8614:40:21","nodeType":"YulBlock","src":"8614:40:21","statements":[{"body":{"nativeSrc":"8643:9:21","nodeType":"YulBlock","src":"8643:9:21","statements":[{"nativeSrc":"8645:5:21","nodeType":"YulBreak","src":"8645:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"8631:6:21","nodeType":"YulIdentifier","src":"8631:6:21"},{"name":"w","nativeSrc":"8639:1:21","nodeType":"YulIdentifier","src":"8639:1:21"}],"functionName":{"name":"byte","nativeSrc":"8626:4:21","nodeType":"YulIdentifier","src":"8626:4:21"},"nativeSrc":"8626:15:21","nodeType":"YulFunctionCall","src":"8626:15:21"}],"functionName":{"name":"iszero","nativeSrc":"8619:6:21","nodeType":"YulIdentifier","src":"8619:6:21"},"nativeSrc":"8619:23:21","nodeType":"YulFunctionCall","src":"8619:23:21"},"nativeSrc":"8616:36:21","nodeType":"YulIf","src":"8616:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"8571:6:21","nodeType":"YulIdentifier","src":"8571:6:21"},{"kind":"number","nativeSrc":"8579:4:21","nodeType":"YulLiteral","src":"8579:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"8568:2:21","nodeType":"YulIdentifier","src":"8568:2:21"},"nativeSrc":"8568:16:21","nodeType":"YulFunctionCall","src":"8568:16:21"},"nativeSrc":"8561:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"8585:28:21","nodeType":"YulBlock","src":"8585:28:21","statements":[{"nativeSrc":"8587:24:21","nodeType":"YulAssignment","src":"8587:24:21","value":{"arguments":[{"name":"length","nativeSrc":"8601:6:21","nodeType":"YulIdentifier","src":"8601:6:21"},{"kind":"number","nativeSrc":"8609:1:21","nodeType":"YulLiteral","src":"8609:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"8597:3:21","nodeType":"YulIdentifier","src":"8597:3:21"},"nativeSrc":"8597:14:21","nodeType":"YulFunctionCall","src":"8597:14:21"},"variableNames":[{"name":"length","nativeSrc":"8587:6:21","nodeType":"YulIdentifier","src":"8587:6:21"}]}]},"pre":{"nativeSrc":"8565:2:21","nodeType":"YulBlock","src":"8565:2:21","statements":[]},"src":"8561:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"8678:3:21","nodeType":"YulIdentifier","src":"8678:3:21"},{"name":"length","nativeSrc":"8683:6:21","nodeType":"YulIdentifier","src":"8683:6:21"}],"functionName":{"name":"mstore","nativeSrc":"8671:6:21","nodeType":"YulIdentifier","src":"8671:6:21"},"nativeSrc":"8671:19:21","nodeType":"YulFunctionCall","src":"8671:19:21"},"nativeSrc":"8671:19:21","nodeType":"YulExpressionStatement","src":"8671:19:21"},{"nativeSrc":"8707:37:21","nodeType":"YulVariableDeclaration","src":"8707:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"8724:3:21","nodeType":"YulLiteral","src":"8724:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"8733:1:21","nodeType":"YulLiteral","src":"8733:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"8736:6:21","nodeType":"YulIdentifier","src":"8736:6:21"}],"functionName":{"name":"shl","nativeSrc":"8729:3:21","nodeType":"YulIdentifier","src":"8729:3:21"},"nativeSrc":"8729:14:21","nodeType":"YulFunctionCall","src":"8729:14:21"}],"functionName":{"name":"sub","nativeSrc":"8720:3:21","nodeType":"YulIdentifier","src":"8720:3:21"},"nativeSrc":"8720:24:21","nodeType":"YulFunctionCall","src":"8720:24:21"},"variables":[{"name":"shift","nativeSrc":"8711:5:21","nodeType":"YulTypedName","src":"8711:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"8772:3:21","nodeType":"YulIdentifier","src":"8772:3:21"},{"kind":"number","nativeSrc":"8777:4:21","nodeType":"YulLiteral","src":"8777:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"8768:3:21","nodeType":"YulIdentifier","src":"8768:3:21"},"nativeSrc":"8768:14:21","nodeType":"YulFunctionCall","src":"8768:14:21"},{"arguments":[{"name":"shift","nativeSrc":"8788:5:21","nodeType":"YulIdentifier","src":"8788:5:21"},{"arguments":[{"name":"shift","nativeSrc":"8799:5:21","nodeType":"YulIdentifier","src":"8799:5:21"},{"name":"w","nativeSrc":"8806:1:21","nodeType":"YulIdentifier","src":"8806:1:21"}],"functionName":{"name":"shr","nativeSrc":"8795:3:21","nodeType":"YulIdentifier","src":"8795:3:21"},"nativeSrc":"8795:13:21","nodeType":"YulFunctionCall","src":"8795:13:21"}],"functionName":{"name":"shl","nativeSrc":"8784:3:21","nodeType":"YulIdentifier","src":"8784:3:21"},"nativeSrc":"8784:25:21","nodeType":"YulFunctionCall","src":"8784:25:21"}],"functionName":{"name":"mstore","nativeSrc":"8761:6:21","nodeType":"YulIdentifier","src":"8761:6:21"},"nativeSrc":"8761:49:21","nodeType":"YulFunctionCall","src":"8761:49:21"},"nativeSrc":"8761:49:21","nodeType":"YulExpressionStatement","src":"8761:49:21"}]},"name":"writeString","nativeSrc":"8482:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"8503:3:21","nodeType":"YulTypedName","src":"8503:3:21","type":""},{"name":"w","nativeSrc":"8508:1:21","nodeType":"YulTypedName","src":"8508:1:21","type":""}],"src":"8482:342:21"},{"nativeSrc":"8837:17:21","nodeType":"YulAssignment","src":"8837:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"8849:4:21","nodeType":"YulLiteral","src":"8849:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"8843:5:21","nodeType":"YulIdentifier","src":"8843:5:21"},"nativeSrc":"8843:11:21","nodeType":"YulFunctionCall","src":"8843:11:21"},"variableNames":[{"name":"m0","nativeSrc":"8837:2:21","nodeType":"YulIdentifier","src":"8837:2:21"}]},{"nativeSrc":"8867:17:21","nodeType":"YulAssignment","src":"8867:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"8879:4:21","nodeType":"YulLiteral","src":"8879:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"8873:5:21","nodeType":"YulIdentifier","src":"8873:5:21"},"nativeSrc":"8873:11:21","nodeType":"YulFunctionCall","src":"8873:11:21"},"variableNames":[{"name":"m1","nativeSrc":"8867:2:21","nodeType":"YulIdentifier","src":"8867:2:21"}]},{"nativeSrc":"8897:17:21","nodeType":"YulAssignment","src":"8897:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"8909:4:21","nodeType":"YulLiteral","src":"8909:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"8903:5:21","nodeType":"YulIdentifier","src":"8903:5:21"},"nativeSrc":"8903:11:21","nodeType":"YulFunctionCall","src":"8903:11:21"},"variableNames":[{"name":"m2","nativeSrc":"8897:2:21","nodeType":"YulIdentifier","src":"8897:2:21"}]},{"nativeSrc":"8927:17:21","nodeType":"YulAssignment","src":"8927:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"8939:4:21","nodeType":"YulLiteral","src":"8939:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"8933:5:21","nodeType":"YulIdentifier","src":"8933:5:21"},"nativeSrc":"8933:11:21","nodeType":"YulFunctionCall","src":"8933:11:21"},"variableNames":[{"name":"m3","nativeSrc":"8927:2:21","nodeType":"YulIdentifier","src":"8927:2:21"}]},{"nativeSrc":"8957:17:21","nodeType":"YulAssignment","src":"8957:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"8969:4:21","nodeType":"YulLiteral","src":"8969:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"8963:5:21","nodeType":"YulIdentifier","src":"8963:5:21"},"nativeSrc":"8963:11:21","nodeType":"YulFunctionCall","src":"8963:11:21"},"variableNames":[{"name":"m4","nativeSrc":"8957:2:21","nodeType":"YulIdentifier","src":"8957:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9044:4:21","nodeType":"YulLiteral","src":"9044:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"9050:10:21","nodeType":"YulLiteral","src":"9050:10:21","type":"","value":"0x759f86bb"}],"functionName":{"name":"mstore","nativeSrc":"9037:6:21","nodeType":"YulIdentifier","src":"9037:6:21"},"nativeSrc":"9037:24:21","nodeType":"YulFunctionCall","src":"9037:24:21"},"nativeSrc":"9037:24:21","nodeType":"YulExpressionStatement","src":"9037:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9081:4:21","nodeType":"YulLiteral","src":"9081:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"9087:2:21","nodeType":"YulIdentifier","src":"9087:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9074:6:21","nodeType":"YulIdentifier","src":"9074:6:21"},"nativeSrc":"9074:16:21","nodeType":"YulFunctionCall","src":"9074:16:21"},"nativeSrc":"9074:16:21","nodeType":"YulExpressionStatement","src":"9074:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9110:4:21","nodeType":"YulLiteral","src":"9110:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"9116:4:21","nodeType":"YulLiteral","src":"9116:4:21","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"9103:6:21","nodeType":"YulIdentifier","src":"9103:6:21"},"nativeSrc":"9103:18:21","nodeType":"YulFunctionCall","src":"9103:18:21"},"nativeSrc":"9103:18:21","nodeType":"YulExpressionStatement","src":"9103:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9146:4:21","nodeType":"YulLiteral","src":"9146:4:21","type":"","value":"0x60"},{"name":"p1","nativeSrc":"9152:2:21","nodeType":"YulIdentifier","src":"9152:2:21"}],"functionName":{"name":"writeString","nativeSrc":"9134:11:21","nodeType":"YulIdentifier","src":"9134:11:21"},"nativeSrc":"9134:21:21","nodeType":"YulFunctionCall","src":"9134:21:21"},"nativeSrc":"9134:21:21","nodeType":"YulExpressionStatement","src":"9134:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27300,"isOffset":false,"isSlot":false,"src":"8837:2:21","valueSize":1},{"declaration":27303,"isOffset":false,"isSlot":false,"src":"8867:2:21","valueSize":1},{"declaration":27306,"isOffset":false,"isSlot":false,"src":"8897:2:21","valueSize":1},{"declaration":27309,"isOffset":false,"isSlot":false,"src":"8927:2:21","valueSize":1},{"declaration":27312,"isOffset":false,"isSlot":false,"src":"8957:2:21","valueSize":1},{"declaration":27294,"isOffset":false,"isSlot":false,"src":"9087:2:21","valueSize":1},{"declaration":27296,"isOffset":false,"isSlot":false,"src":"9152:2:21","valueSize":1}],"id":27314,"nodeType":"InlineAssembly","src":"8459:706:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9190:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":27317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9196:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":27315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"9174:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9174:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27319,"nodeType":"ExpressionStatement","src":"9174:27:21"},{"AST":{"nativeSrc":"9263:156:21","nodeType":"YulBlock","src":"9263:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"9284:4:21","nodeType":"YulLiteral","src":"9284:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"9290:2:21","nodeType":"YulIdentifier","src":"9290:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9277:6:21","nodeType":"YulIdentifier","src":"9277:6:21"},"nativeSrc":"9277:16:21","nodeType":"YulFunctionCall","src":"9277:16:21"},"nativeSrc":"9277:16:21","nodeType":"YulExpressionStatement","src":"9277:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9313:4:21","nodeType":"YulLiteral","src":"9313:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"9319:2:21","nodeType":"YulIdentifier","src":"9319:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9306:6:21","nodeType":"YulIdentifier","src":"9306:6:21"},"nativeSrc":"9306:16:21","nodeType":"YulFunctionCall","src":"9306:16:21"},"nativeSrc":"9306:16:21","nodeType":"YulExpressionStatement","src":"9306:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9342:4:21","nodeType":"YulLiteral","src":"9342:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"9348:2:21","nodeType":"YulIdentifier","src":"9348:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9335:6:21","nodeType":"YulIdentifier","src":"9335:6:21"},"nativeSrc":"9335:16:21","nodeType":"YulFunctionCall","src":"9335:16:21"},"nativeSrc":"9335:16:21","nodeType":"YulExpressionStatement","src":"9335:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9371:4:21","nodeType":"YulLiteral","src":"9371:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"9377:2:21","nodeType":"YulIdentifier","src":"9377:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9364:6:21","nodeType":"YulIdentifier","src":"9364:6:21"},"nativeSrc":"9364:16:21","nodeType":"YulFunctionCall","src":"9364:16:21"},"nativeSrc":"9364:16:21","nodeType":"YulExpressionStatement","src":"9364:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9400:4:21","nodeType":"YulLiteral","src":"9400:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"9406:2:21","nodeType":"YulIdentifier","src":"9406:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9393:6:21","nodeType":"YulIdentifier","src":"9393:6:21"},"nativeSrc":"9393:16:21","nodeType":"YulFunctionCall","src":"9393:16:21"},"nativeSrc":"9393:16:21","nodeType":"YulExpressionStatement","src":"9393:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27300,"isOffset":false,"isSlot":false,"src":"9290:2:21","valueSize":1},{"declaration":27303,"isOffset":false,"isSlot":false,"src":"9319:2:21","valueSize":1},{"declaration":27306,"isOffset":false,"isSlot":false,"src":"9348:2:21","valueSize":1},{"declaration":27309,"isOffset":false,"isSlot":false,"src":"9377:2:21","valueSize":1},{"declaration":27312,"isOffset":false,"isSlot":false,"src":"9406:2:21","valueSize":1}],"id":27320,"nodeType":"InlineAssembly","src":"9254:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8264:3:21","parameters":{"id":27297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27294,"mutability":"mutable","name":"p0","nameLocation":"8276:2:21","nodeType":"VariableDeclaration","scope":27322,"src":"8268:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27293,"name":"address","nodeType":"ElementaryTypeName","src":"8268:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27296,"mutability":"mutable","name":"p1","nameLocation":"8288:2:21","nodeType":"VariableDeclaration","scope":27322,"src":"8280:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8280:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8267:24:21"},"returnParameters":{"id":27298,"nodeType":"ParameterList","parameters":[],"src":"8306:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27346,"nodeType":"FunctionDefinition","src":"9431:616:21","nodes":[],"body":{"id":27345,"nodeType":"Block","src":"9479:568:21","nodes":[],"statements":[{"assignments":[27330],"declarations":[{"constant":false,"id":27330,"mutability":"mutable","name":"m0","nameLocation":"9497:2:21","nodeType":"VariableDeclaration","scope":27345,"src":"9489:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9489:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27331,"nodeType":"VariableDeclarationStatement","src":"9489:10:21"},{"assignments":[27333],"declarations":[{"constant":false,"id":27333,"mutability":"mutable","name":"m1","nameLocation":"9517:2:21","nodeType":"VariableDeclaration","scope":27345,"src":"9509:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9509:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27334,"nodeType":"VariableDeclarationStatement","src":"9509:10:21"},{"assignments":[27336],"declarations":[{"constant":false,"id":27336,"mutability":"mutable","name":"m2","nameLocation":"9537:2:21","nodeType":"VariableDeclaration","scope":27345,"src":"9529:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9529:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27337,"nodeType":"VariableDeclarationStatement","src":"9529:10:21"},{"AST":{"nativeSrc":"9601:244:21","nodeType":"YulBlock","src":"9601:244:21","statements":[{"nativeSrc":"9615:17:21","nodeType":"YulAssignment","src":"9615:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"9627:4:21","nodeType":"YulLiteral","src":"9627:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"9621:5:21","nodeType":"YulIdentifier","src":"9621:5:21"},"nativeSrc":"9621:11:21","nodeType":"YulFunctionCall","src":"9621:11:21"},"variableNames":[{"name":"m0","nativeSrc":"9615:2:21","nodeType":"YulIdentifier","src":"9615:2:21"}]},{"nativeSrc":"9645:17:21","nodeType":"YulAssignment","src":"9645:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"9657:4:21","nodeType":"YulLiteral","src":"9657:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"9651:5:21","nodeType":"YulIdentifier","src":"9651:5:21"},"nativeSrc":"9651:11:21","nodeType":"YulFunctionCall","src":"9651:11:21"},"variableNames":[{"name":"m1","nativeSrc":"9645:2:21","nodeType":"YulIdentifier","src":"9645:2:21"}]},{"nativeSrc":"9675:17:21","nodeType":"YulAssignment","src":"9675:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"9687:4:21","nodeType":"YulLiteral","src":"9687:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"9681:5:21","nodeType":"YulIdentifier","src":"9681:5:21"},"nativeSrc":"9681:11:21","nodeType":"YulFunctionCall","src":"9681:11:21"},"variableNames":[{"name":"m2","nativeSrc":"9675:2:21","nodeType":"YulIdentifier","src":"9675:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9760:4:21","nodeType":"YulLiteral","src":"9760:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"9766:10:21","nodeType":"YulLiteral","src":"9766:10:21","type":"","value":"0x853c4849"}],"functionName":{"name":"mstore","nativeSrc":"9753:6:21","nodeType":"YulIdentifier","src":"9753:6:21"},"nativeSrc":"9753:24:21","nodeType":"YulFunctionCall","src":"9753:24:21"},"nativeSrc":"9753:24:21","nodeType":"YulExpressionStatement","src":"9753:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9797:4:21","nodeType":"YulLiteral","src":"9797:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"9803:2:21","nodeType":"YulIdentifier","src":"9803:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9790:6:21","nodeType":"YulIdentifier","src":"9790:6:21"},"nativeSrc":"9790:16:21","nodeType":"YulFunctionCall","src":"9790:16:21"},"nativeSrc":"9790:16:21","nodeType":"YulExpressionStatement","src":"9790:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9826:4:21","nodeType":"YulLiteral","src":"9826:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"9832:2:21","nodeType":"YulIdentifier","src":"9832:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9819:6:21","nodeType":"YulIdentifier","src":"9819:6:21"},"nativeSrc":"9819:16:21","nodeType":"YulFunctionCall","src":"9819:16:21"},"nativeSrc":"9819:16:21","nodeType":"YulExpressionStatement","src":"9819:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27330,"isOffset":false,"isSlot":false,"src":"9615:2:21","valueSize":1},{"declaration":27333,"isOffset":false,"isSlot":false,"src":"9645:2:21","valueSize":1},{"declaration":27336,"isOffset":false,"isSlot":false,"src":"9675:2:21","valueSize":1},{"declaration":27324,"isOffset":false,"isSlot":false,"src":"9803:2:21","valueSize":1},{"declaration":27326,"isOffset":false,"isSlot":false,"src":"9832:2:21","valueSize":1}],"id":27338,"nodeType":"InlineAssembly","src":"9592:253:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9870:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":27341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9876:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":27339,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"9854:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9854:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27343,"nodeType":"ExpressionStatement","src":"9854:27:21"},{"AST":{"nativeSrc":"9943:98:21","nodeType":"YulBlock","src":"9943:98:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"9964:4:21","nodeType":"YulLiteral","src":"9964:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"9970:2:21","nodeType":"YulIdentifier","src":"9970:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9957:6:21","nodeType":"YulIdentifier","src":"9957:6:21"},"nativeSrc":"9957:16:21","nodeType":"YulFunctionCall","src":"9957:16:21"},"nativeSrc":"9957:16:21","nodeType":"YulExpressionStatement","src":"9957:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9993:4:21","nodeType":"YulLiteral","src":"9993:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"9999:2:21","nodeType":"YulIdentifier","src":"9999:2:21"}],"functionName":{"name":"mstore","nativeSrc":"9986:6:21","nodeType":"YulIdentifier","src":"9986:6:21"},"nativeSrc":"9986:16:21","nodeType":"YulFunctionCall","src":"9986:16:21"},"nativeSrc":"9986:16:21","nodeType":"YulExpressionStatement","src":"9986:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10022:4:21","nodeType":"YulLiteral","src":"10022:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"10028:2:21","nodeType":"YulIdentifier","src":"10028:2:21"}],"functionName":{"name":"mstore","nativeSrc":"10015:6:21","nodeType":"YulIdentifier","src":"10015:6:21"},"nativeSrc":"10015:16:21","nodeType":"YulFunctionCall","src":"10015:16:21"},"nativeSrc":"10015:16:21","nodeType":"YulExpressionStatement","src":"10015:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27330,"isOffset":false,"isSlot":false,"src":"9970:2:21","valueSize":1},{"declaration":27333,"isOffset":false,"isSlot":false,"src":"9999:2:21","valueSize":1},{"declaration":27336,"isOffset":false,"isSlot":false,"src":"10028:2:21","valueSize":1}],"id":27344,"nodeType":"InlineAssembly","src":"9934:107:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9440:3:21","parameters":{"id":27327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27324,"mutability":"mutable","name":"p0","nameLocation":"9449:2:21","nodeType":"VariableDeclaration","scope":27346,"src":"9444:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27323,"name":"bool","nodeType":"ElementaryTypeName","src":"9444:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27326,"mutability":"mutable","name":"p1","nameLocation":"9461:2:21","nodeType":"VariableDeclaration","scope":27346,"src":"9453:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27325,"name":"address","nodeType":"ElementaryTypeName","src":"9453:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9443:21:21"},"returnParameters":{"id":27328,"nodeType":"ParameterList","parameters":[],"src":"9479:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27370,"nodeType":"FunctionDefinition","src":"10053:610:21","nodes":[],"body":{"id":27369,"nodeType":"Block","src":"10098:565:21","nodes":[],"statements":[{"assignments":[27354],"declarations":[{"constant":false,"id":27354,"mutability":"mutable","name":"m0","nameLocation":"10116:2:21","nodeType":"VariableDeclaration","scope":27369,"src":"10108:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10108:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27355,"nodeType":"VariableDeclarationStatement","src":"10108:10:21"},{"assignments":[27357],"declarations":[{"constant":false,"id":27357,"mutability":"mutable","name":"m1","nameLocation":"10136:2:21","nodeType":"VariableDeclaration","scope":27369,"src":"10128:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10128:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27358,"nodeType":"VariableDeclarationStatement","src":"10128:10:21"},{"assignments":[27360],"declarations":[{"constant":false,"id":27360,"mutability":"mutable","name":"m2","nameLocation":"10156:2:21","nodeType":"VariableDeclaration","scope":27369,"src":"10148:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10148:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27361,"nodeType":"VariableDeclarationStatement","src":"10148:10:21"},{"AST":{"nativeSrc":"10220:241:21","nodeType":"YulBlock","src":"10220:241:21","statements":[{"nativeSrc":"10234:17:21","nodeType":"YulAssignment","src":"10234:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"10246:4:21","nodeType":"YulLiteral","src":"10246:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"10240:5:21","nodeType":"YulIdentifier","src":"10240:5:21"},"nativeSrc":"10240:11:21","nodeType":"YulFunctionCall","src":"10240:11:21"},"variableNames":[{"name":"m0","nativeSrc":"10234:2:21","nodeType":"YulIdentifier","src":"10234:2:21"}]},{"nativeSrc":"10264:17:21","nodeType":"YulAssignment","src":"10264:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"10276:4:21","nodeType":"YulLiteral","src":"10276:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"10270:5:21","nodeType":"YulIdentifier","src":"10270:5:21"},"nativeSrc":"10270:11:21","nodeType":"YulFunctionCall","src":"10270:11:21"},"variableNames":[{"name":"m1","nativeSrc":"10264:2:21","nodeType":"YulIdentifier","src":"10264:2:21"}]},{"nativeSrc":"10294:17:21","nodeType":"YulAssignment","src":"10294:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"10306:4:21","nodeType":"YulLiteral","src":"10306:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"10300:5:21","nodeType":"YulIdentifier","src":"10300:5:21"},"nativeSrc":"10300:11:21","nodeType":"YulFunctionCall","src":"10300:11:21"},"variableNames":[{"name":"m2","nativeSrc":"10294:2:21","nodeType":"YulIdentifier","src":"10294:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10376:4:21","nodeType":"YulLiteral","src":"10376:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"10382:10:21","nodeType":"YulLiteral","src":"10382:10:21","type":"","value":"0x2a110e83"}],"functionName":{"name":"mstore","nativeSrc":"10369:6:21","nodeType":"YulIdentifier","src":"10369:6:21"},"nativeSrc":"10369:24:21","nodeType":"YulFunctionCall","src":"10369:24:21"},"nativeSrc":"10369:24:21","nodeType":"YulExpressionStatement","src":"10369:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10413:4:21","nodeType":"YulLiteral","src":"10413:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"10419:2:21","nodeType":"YulIdentifier","src":"10419:2:21"}],"functionName":{"name":"mstore","nativeSrc":"10406:6:21","nodeType":"YulIdentifier","src":"10406:6:21"},"nativeSrc":"10406:16:21","nodeType":"YulFunctionCall","src":"10406:16:21"},"nativeSrc":"10406:16:21","nodeType":"YulExpressionStatement","src":"10406:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10442:4:21","nodeType":"YulLiteral","src":"10442:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"10448:2:21","nodeType":"YulIdentifier","src":"10448:2:21"}],"functionName":{"name":"mstore","nativeSrc":"10435:6:21","nodeType":"YulIdentifier","src":"10435:6:21"},"nativeSrc":"10435:16:21","nodeType":"YulFunctionCall","src":"10435:16:21"},"nativeSrc":"10435:16:21","nodeType":"YulExpressionStatement","src":"10435:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27354,"isOffset":false,"isSlot":false,"src":"10234:2:21","valueSize":1},{"declaration":27357,"isOffset":false,"isSlot":false,"src":"10264:2:21","valueSize":1},{"declaration":27360,"isOffset":false,"isSlot":false,"src":"10294:2:21","valueSize":1},{"declaration":27348,"isOffset":false,"isSlot":false,"src":"10419:2:21","valueSize":1},{"declaration":27350,"isOffset":false,"isSlot":false,"src":"10448:2:21","valueSize":1}],"id":27362,"nodeType":"InlineAssembly","src":"10211:250:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10486:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":27365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10492:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":27363,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"10470:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10470:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27367,"nodeType":"ExpressionStatement","src":"10470:27:21"},{"AST":{"nativeSrc":"10559:98:21","nodeType":"YulBlock","src":"10559:98:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"10580:4:21","nodeType":"YulLiteral","src":"10580:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"10586:2:21","nodeType":"YulIdentifier","src":"10586:2:21"}],"functionName":{"name":"mstore","nativeSrc":"10573:6:21","nodeType":"YulIdentifier","src":"10573:6:21"},"nativeSrc":"10573:16:21","nodeType":"YulFunctionCall","src":"10573:16:21"},"nativeSrc":"10573:16:21","nodeType":"YulExpressionStatement","src":"10573:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10609:4:21","nodeType":"YulLiteral","src":"10609:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"10615:2:21","nodeType":"YulIdentifier","src":"10615:2:21"}],"functionName":{"name":"mstore","nativeSrc":"10602:6:21","nodeType":"YulIdentifier","src":"10602:6:21"},"nativeSrc":"10602:16:21","nodeType":"YulFunctionCall","src":"10602:16:21"},"nativeSrc":"10602:16:21","nodeType":"YulExpressionStatement","src":"10602:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10638:4:21","nodeType":"YulLiteral","src":"10638:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"10644:2:21","nodeType":"YulIdentifier","src":"10644:2:21"}],"functionName":{"name":"mstore","nativeSrc":"10631:6:21","nodeType":"YulIdentifier","src":"10631:6:21"},"nativeSrc":"10631:16:21","nodeType":"YulFunctionCall","src":"10631:16:21"},"nativeSrc":"10631:16:21","nodeType":"YulExpressionStatement","src":"10631:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27354,"isOffset":false,"isSlot":false,"src":"10586:2:21","valueSize":1},{"declaration":27357,"isOffset":false,"isSlot":false,"src":"10615:2:21","valueSize":1},{"declaration":27360,"isOffset":false,"isSlot":false,"src":"10644:2:21","valueSize":1}],"id":27368,"nodeType":"InlineAssembly","src":"10550:107:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10062:3:21","parameters":{"id":27351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27348,"mutability":"mutable","name":"p0","nameLocation":"10071:2:21","nodeType":"VariableDeclaration","scope":27370,"src":"10066:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27347,"name":"bool","nodeType":"ElementaryTypeName","src":"10066:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27350,"mutability":"mutable","name":"p1","nameLocation":"10080:2:21","nodeType":"VariableDeclaration","scope":27370,"src":"10075:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27349,"name":"bool","nodeType":"ElementaryTypeName","src":"10075:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10065:18:21"},"returnParameters":{"id":27352,"nodeType":"ParameterList","parameters":[],"src":"10098:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27394,"nodeType":"FunctionDefinition","src":"10669:616:21","nodes":[],"body":{"id":27393,"nodeType":"Block","src":"10717:568:21","nodes":[],"statements":[{"assignments":[27378],"declarations":[{"constant":false,"id":27378,"mutability":"mutable","name":"m0","nameLocation":"10735:2:21","nodeType":"VariableDeclaration","scope":27393,"src":"10727:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10727:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27379,"nodeType":"VariableDeclarationStatement","src":"10727:10:21"},{"assignments":[27381],"declarations":[{"constant":false,"id":27381,"mutability":"mutable","name":"m1","nameLocation":"10755:2:21","nodeType":"VariableDeclaration","scope":27393,"src":"10747:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10747:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27382,"nodeType":"VariableDeclarationStatement","src":"10747:10:21"},{"assignments":[27384],"declarations":[{"constant":false,"id":27384,"mutability":"mutable","name":"m2","nameLocation":"10775:2:21","nodeType":"VariableDeclaration","scope":27393,"src":"10767:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27383,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10767:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27385,"nodeType":"VariableDeclarationStatement","src":"10767:10:21"},{"AST":{"nativeSrc":"10839:244:21","nodeType":"YulBlock","src":"10839:244:21","statements":[{"nativeSrc":"10853:17:21","nodeType":"YulAssignment","src":"10853:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"10865:4:21","nodeType":"YulLiteral","src":"10865:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"10859:5:21","nodeType":"YulIdentifier","src":"10859:5:21"},"nativeSrc":"10859:11:21","nodeType":"YulFunctionCall","src":"10859:11:21"},"variableNames":[{"name":"m0","nativeSrc":"10853:2:21","nodeType":"YulIdentifier","src":"10853:2:21"}]},{"nativeSrc":"10883:17:21","nodeType":"YulAssignment","src":"10883:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"10895:4:21","nodeType":"YulLiteral","src":"10895:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"10889:5:21","nodeType":"YulIdentifier","src":"10889:5:21"},"nativeSrc":"10889:11:21","nodeType":"YulFunctionCall","src":"10889:11:21"},"variableNames":[{"name":"m1","nativeSrc":"10883:2:21","nodeType":"YulIdentifier","src":"10883:2:21"}]},{"nativeSrc":"10913:17:21","nodeType":"YulAssignment","src":"10913:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"10925:4:21","nodeType":"YulLiteral","src":"10925:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"10919:5:21","nodeType":"YulIdentifier","src":"10919:5:21"},"nativeSrc":"10919:11:21","nodeType":"YulFunctionCall","src":"10919:11:21"},"variableNames":[{"name":"m2","nativeSrc":"10913:2:21","nodeType":"YulIdentifier","src":"10913:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10998:4:21","nodeType":"YulLiteral","src":"10998:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"11004:10:21","nodeType":"YulLiteral","src":"11004:10:21","type":"","value":"0x399174d3"}],"functionName":{"name":"mstore","nativeSrc":"10991:6:21","nodeType":"YulIdentifier","src":"10991:6:21"},"nativeSrc":"10991:24:21","nodeType":"YulFunctionCall","src":"10991:24:21"},"nativeSrc":"10991:24:21","nodeType":"YulExpressionStatement","src":"10991:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11035:4:21","nodeType":"YulLiteral","src":"11035:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"11041:2:21","nodeType":"YulIdentifier","src":"11041:2:21"}],"functionName":{"name":"mstore","nativeSrc":"11028:6:21","nodeType":"YulIdentifier","src":"11028:6:21"},"nativeSrc":"11028:16:21","nodeType":"YulFunctionCall","src":"11028:16:21"},"nativeSrc":"11028:16:21","nodeType":"YulExpressionStatement","src":"11028:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11064:4:21","nodeType":"YulLiteral","src":"11064:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"11070:2:21","nodeType":"YulIdentifier","src":"11070:2:21"}],"functionName":{"name":"mstore","nativeSrc":"11057:6:21","nodeType":"YulIdentifier","src":"11057:6:21"},"nativeSrc":"11057:16:21","nodeType":"YulFunctionCall","src":"11057:16:21"},"nativeSrc":"11057:16:21","nodeType":"YulExpressionStatement","src":"11057:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27378,"isOffset":false,"isSlot":false,"src":"10853:2:21","valueSize":1},{"declaration":27381,"isOffset":false,"isSlot":false,"src":"10883:2:21","valueSize":1},{"declaration":27384,"isOffset":false,"isSlot":false,"src":"10913:2:21","valueSize":1},{"declaration":27372,"isOffset":false,"isSlot":false,"src":"11041:2:21","valueSize":1},{"declaration":27374,"isOffset":false,"isSlot":false,"src":"11070:2:21","valueSize":1}],"id":27386,"nodeType":"InlineAssembly","src":"10830:253:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11108:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":27389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11114:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":27387,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"11092:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11092:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27391,"nodeType":"ExpressionStatement","src":"11092:27:21"},{"AST":{"nativeSrc":"11181:98:21","nodeType":"YulBlock","src":"11181:98:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"11202:4:21","nodeType":"YulLiteral","src":"11202:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"11208:2:21","nodeType":"YulIdentifier","src":"11208:2:21"}],"functionName":{"name":"mstore","nativeSrc":"11195:6:21","nodeType":"YulIdentifier","src":"11195:6:21"},"nativeSrc":"11195:16:21","nodeType":"YulFunctionCall","src":"11195:16:21"},"nativeSrc":"11195:16:21","nodeType":"YulExpressionStatement","src":"11195:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11231:4:21","nodeType":"YulLiteral","src":"11231:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"11237:2:21","nodeType":"YulIdentifier","src":"11237:2:21"}],"functionName":{"name":"mstore","nativeSrc":"11224:6:21","nodeType":"YulIdentifier","src":"11224:6:21"},"nativeSrc":"11224:16:21","nodeType":"YulFunctionCall","src":"11224:16:21"},"nativeSrc":"11224:16:21","nodeType":"YulExpressionStatement","src":"11224:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11260:4:21","nodeType":"YulLiteral","src":"11260:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"11266:2:21","nodeType":"YulIdentifier","src":"11266:2:21"}],"functionName":{"name":"mstore","nativeSrc":"11253:6:21","nodeType":"YulIdentifier","src":"11253:6:21"},"nativeSrc":"11253:16:21","nodeType":"YulFunctionCall","src":"11253:16:21"},"nativeSrc":"11253:16:21","nodeType":"YulExpressionStatement","src":"11253:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27378,"isOffset":false,"isSlot":false,"src":"11208:2:21","valueSize":1},{"declaration":27381,"isOffset":false,"isSlot":false,"src":"11237:2:21","valueSize":1},{"declaration":27384,"isOffset":false,"isSlot":false,"src":"11266:2:21","valueSize":1}],"id":27392,"nodeType":"InlineAssembly","src":"11172:107:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10678:3:21","parameters":{"id":27375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27372,"mutability":"mutable","name":"p0","nameLocation":"10687:2:21","nodeType":"VariableDeclaration","scope":27394,"src":"10682:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27371,"name":"bool","nodeType":"ElementaryTypeName","src":"10682:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27374,"mutability":"mutable","name":"p1","nameLocation":"10699:2:21","nodeType":"VariableDeclaration","scope":27394,"src":"10691:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27373,"name":"uint256","nodeType":"ElementaryTypeName","src":"10691:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10681:21:21"},"returnParameters":{"id":27376,"nodeType":"ParameterList","parameters":[],"src":"10717:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27424,"nodeType":"FunctionDefinition","src":"11291:1164:21","nodes":[],"body":{"id":27423,"nodeType":"Block","src":"11339:1116:21","nodes":[],"statements":[{"assignments":[27402],"declarations":[{"constant":false,"id":27402,"mutability":"mutable","name":"m0","nameLocation":"11357:2:21","nodeType":"VariableDeclaration","scope":27423,"src":"11349:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11349:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27403,"nodeType":"VariableDeclarationStatement","src":"11349:10:21"},{"assignments":[27405],"declarations":[{"constant":false,"id":27405,"mutability":"mutable","name":"m1","nameLocation":"11377:2:21","nodeType":"VariableDeclaration","scope":27423,"src":"11369:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11369:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27406,"nodeType":"VariableDeclarationStatement","src":"11369:10:21"},{"assignments":[27408],"declarations":[{"constant":false,"id":27408,"mutability":"mutable","name":"m2","nameLocation":"11397:2:21","nodeType":"VariableDeclaration","scope":27423,"src":"11389:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27407,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11389:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27409,"nodeType":"VariableDeclarationStatement","src":"11389:10:21"},{"assignments":[27411],"declarations":[{"constant":false,"id":27411,"mutability":"mutable","name":"m3","nameLocation":"11417:2:21","nodeType":"VariableDeclaration","scope":27423,"src":"11409:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11409:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27412,"nodeType":"VariableDeclarationStatement","src":"11409:10:21"},{"assignments":[27414],"declarations":[{"constant":false,"id":27414,"mutability":"mutable","name":"m4","nameLocation":"11437:2:21","nodeType":"VariableDeclaration","scope":27423,"src":"11429:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11429:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27415,"nodeType":"VariableDeclarationStatement","src":"11429:10:21"},{"AST":{"nativeSrc":"11501:694:21","nodeType":"YulBlock","src":"11501:694:21","statements":[{"body":{"nativeSrc":"11544:313:21","nodeType":"YulBlock","src":"11544:313:21","statements":[{"nativeSrc":"11562:15:21","nodeType":"YulVariableDeclaration","src":"11562:15:21","value":{"kind":"number","nativeSrc":"11576:1:21","nodeType":"YulLiteral","src":"11576:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"11566:6:21","nodeType":"YulTypedName","src":"11566:6:21","type":""}]},{"body":{"nativeSrc":"11647:40:21","nodeType":"YulBlock","src":"11647:40:21","statements":[{"body":{"nativeSrc":"11676:9:21","nodeType":"YulBlock","src":"11676:9:21","statements":[{"nativeSrc":"11678:5:21","nodeType":"YulBreak","src":"11678:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"11664:6:21","nodeType":"YulIdentifier","src":"11664:6:21"},{"name":"w","nativeSrc":"11672:1:21","nodeType":"YulIdentifier","src":"11672:1:21"}],"functionName":{"name":"byte","nativeSrc":"11659:4:21","nodeType":"YulIdentifier","src":"11659:4:21"},"nativeSrc":"11659:15:21","nodeType":"YulFunctionCall","src":"11659:15:21"}],"functionName":{"name":"iszero","nativeSrc":"11652:6:21","nodeType":"YulIdentifier","src":"11652:6:21"},"nativeSrc":"11652:23:21","nodeType":"YulFunctionCall","src":"11652:23:21"},"nativeSrc":"11649:36:21","nodeType":"YulIf","src":"11649:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"11604:6:21","nodeType":"YulIdentifier","src":"11604:6:21"},{"kind":"number","nativeSrc":"11612:4:21","nodeType":"YulLiteral","src":"11612:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"11601:2:21","nodeType":"YulIdentifier","src":"11601:2:21"},"nativeSrc":"11601:16:21","nodeType":"YulFunctionCall","src":"11601:16:21"},"nativeSrc":"11594:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"11618:28:21","nodeType":"YulBlock","src":"11618:28:21","statements":[{"nativeSrc":"11620:24:21","nodeType":"YulAssignment","src":"11620:24:21","value":{"arguments":[{"name":"length","nativeSrc":"11634:6:21","nodeType":"YulIdentifier","src":"11634:6:21"},{"kind":"number","nativeSrc":"11642:1:21","nodeType":"YulLiteral","src":"11642:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"11630:3:21","nodeType":"YulIdentifier","src":"11630:3:21"},"nativeSrc":"11630:14:21","nodeType":"YulFunctionCall","src":"11630:14:21"},"variableNames":[{"name":"length","nativeSrc":"11620:6:21","nodeType":"YulIdentifier","src":"11620:6:21"}]}]},"pre":{"nativeSrc":"11598:2:21","nodeType":"YulBlock","src":"11598:2:21","statements":[]},"src":"11594:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"11711:3:21","nodeType":"YulIdentifier","src":"11711:3:21"},{"name":"length","nativeSrc":"11716:6:21","nodeType":"YulIdentifier","src":"11716:6:21"}],"functionName":{"name":"mstore","nativeSrc":"11704:6:21","nodeType":"YulIdentifier","src":"11704:6:21"},"nativeSrc":"11704:19:21","nodeType":"YulFunctionCall","src":"11704:19:21"},"nativeSrc":"11704:19:21","nodeType":"YulExpressionStatement","src":"11704:19:21"},{"nativeSrc":"11740:37:21","nodeType":"YulVariableDeclaration","src":"11740:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"11757:3:21","nodeType":"YulLiteral","src":"11757:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"11766:1:21","nodeType":"YulLiteral","src":"11766:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"11769:6:21","nodeType":"YulIdentifier","src":"11769:6:21"}],"functionName":{"name":"shl","nativeSrc":"11762:3:21","nodeType":"YulIdentifier","src":"11762:3:21"},"nativeSrc":"11762:14:21","nodeType":"YulFunctionCall","src":"11762:14:21"}],"functionName":{"name":"sub","nativeSrc":"11753:3:21","nodeType":"YulIdentifier","src":"11753:3:21"},"nativeSrc":"11753:24:21","nodeType":"YulFunctionCall","src":"11753:24:21"},"variables":[{"name":"shift","nativeSrc":"11744:5:21","nodeType":"YulTypedName","src":"11744:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"11805:3:21","nodeType":"YulIdentifier","src":"11805:3:21"},{"kind":"number","nativeSrc":"11810:4:21","nodeType":"YulLiteral","src":"11810:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"11801:3:21","nodeType":"YulIdentifier","src":"11801:3:21"},"nativeSrc":"11801:14:21","nodeType":"YulFunctionCall","src":"11801:14:21"},{"arguments":[{"name":"shift","nativeSrc":"11821:5:21","nodeType":"YulIdentifier","src":"11821:5:21"},{"arguments":[{"name":"shift","nativeSrc":"11832:5:21","nodeType":"YulIdentifier","src":"11832:5:21"},{"name":"w","nativeSrc":"11839:1:21","nodeType":"YulIdentifier","src":"11839:1:21"}],"functionName":{"name":"shr","nativeSrc":"11828:3:21","nodeType":"YulIdentifier","src":"11828:3:21"},"nativeSrc":"11828:13:21","nodeType":"YulFunctionCall","src":"11828:13:21"}],"functionName":{"name":"shl","nativeSrc":"11817:3:21","nodeType":"YulIdentifier","src":"11817:3:21"},"nativeSrc":"11817:25:21","nodeType":"YulFunctionCall","src":"11817:25:21"}],"functionName":{"name":"mstore","nativeSrc":"11794:6:21","nodeType":"YulIdentifier","src":"11794:6:21"},"nativeSrc":"11794:49:21","nodeType":"YulFunctionCall","src":"11794:49:21"},"nativeSrc":"11794:49:21","nodeType":"YulExpressionStatement","src":"11794:49:21"}]},"name":"writeString","nativeSrc":"11515:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"11536:3:21","nodeType":"YulTypedName","src":"11536:3:21","type":""},{"name":"w","nativeSrc":"11541:1:21","nodeType":"YulTypedName","src":"11541:1:21","type":""}],"src":"11515:342:21"},{"nativeSrc":"11870:17:21","nodeType":"YulAssignment","src":"11870:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"11882:4:21","nodeType":"YulLiteral","src":"11882:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"11876:5:21","nodeType":"YulIdentifier","src":"11876:5:21"},"nativeSrc":"11876:11:21","nodeType":"YulFunctionCall","src":"11876:11:21"},"variableNames":[{"name":"m0","nativeSrc":"11870:2:21","nodeType":"YulIdentifier","src":"11870:2:21"}]},{"nativeSrc":"11900:17:21","nodeType":"YulAssignment","src":"11900:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"11912:4:21","nodeType":"YulLiteral","src":"11912:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"11906:5:21","nodeType":"YulIdentifier","src":"11906:5:21"},"nativeSrc":"11906:11:21","nodeType":"YulFunctionCall","src":"11906:11:21"},"variableNames":[{"name":"m1","nativeSrc":"11900:2:21","nodeType":"YulIdentifier","src":"11900:2:21"}]},{"nativeSrc":"11930:17:21","nodeType":"YulAssignment","src":"11930:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"11942:4:21","nodeType":"YulLiteral","src":"11942:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"11936:5:21","nodeType":"YulIdentifier","src":"11936:5:21"},"nativeSrc":"11936:11:21","nodeType":"YulFunctionCall","src":"11936:11:21"},"variableNames":[{"name":"m2","nativeSrc":"11930:2:21","nodeType":"YulIdentifier","src":"11930:2:21"}]},{"nativeSrc":"11960:17:21","nodeType":"YulAssignment","src":"11960:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"11972:4:21","nodeType":"YulLiteral","src":"11972:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"11966:5:21","nodeType":"YulIdentifier","src":"11966:5:21"},"nativeSrc":"11966:11:21","nodeType":"YulFunctionCall","src":"11966:11:21"},"variableNames":[{"name":"m3","nativeSrc":"11960:2:21","nodeType":"YulIdentifier","src":"11960:2:21"}]},{"nativeSrc":"11990:17:21","nodeType":"YulAssignment","src":"11990:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"12002:4:21","nodeType":"YulLiteral","src":"12002:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"11996:5:21","nodeType":"YulIdentifier","src":"11996:5:21"},"nativeSrc":"11996:11:21","nodeType":"YulFunctionCall","src":"11996:11:21"},"variableNames":[{"name":"m4","nativeSrc":"11990:2:21","nodeType":"YulIdentifier","src":"11990:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12074:4:21","nodeType":"YulLiteral","src":"12074:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"12080:10:21","nodeType":"YulLiteral","src":"12080:10:21","type":"","value":"0x8feac525"}],"functionName":{"name":"mstore","nativeSrc":"12067:6:21","nodeType":"YulIdentifier","src":"12067:6:21"},"nativeSrc":"12067:24:21","nodeType":"YulFunctionCall","src":"12067:24:21"},"nativeSrc":"12067:24:21","nodeType":"YulExpressionStatement","src":"12067:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12111:4:21","nodeType":"YulLiteral","src":"12111:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"12117:2:21","nodeType":"YulIdentifier","src":"12117:2:21"}],"functionName":{"name":"mstore","nativeSrc":"12104:6:21","nodeType":"YulIdentifier","src":"12104:6:21"},"nativeSrc":"12104:16:21","nodeType":"YulFunctionCall","src":"12104:16:21"},"nativeSrc":"12104:16:21","nodeType":"YulExpressionStatement","src":"12104:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12140:4:21","nodeType":"YulLiteral","src":"12140:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"12146:4:21","nodeType":"YulLiteral","src":"12146:4:21","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"12133:6:21","nodeType":"YulIdentifier","src":"12133:6:21"},"nativeSrc":"12133:18:21","nodeType":"YulFunctionCall","src":"12133:18:21"},"nativeSrc":"12133:18:21","nodeType":"YulExpressionStatement","src":"12133:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12176:4:21","nodeType":"YulLiteral","src":"12176:4:21","type":"","value":"0x60"},{"name":"p1","nativeSrc":"12182:2:21","nodeType":"YulIdentifier","src":"12182:2:21"}],"functionName":{"name":"writeString","nativeSrc":"12164:11:21","nodeType":"YulIdentifier","src":"12164:11:21"},"nativeSrc":"12164:21:21","nodeType":"YulFunctionCall","src":"12164:21:21"},"nativeSrc":"12164:21:21","nodeType":"YulExpressionStatement","src":"12164:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27402,"isOffset":false,"isSlot":false,"src":"11870:2:21","valueSize":1},{"declaration":27405,"isOffset":false,"isSlot":false,"src":"11900:2:21","valueSize":1},{"declaration":27408,"isOffset":false,"isSlot":false,"src":"11930:2:21","valueSize":1},{"declaration":27411,"isOffset":false,"isSlot":false,"src":"11960:2:21","valueSize":1},{"declaration":27414,"isOffset":false,"isSlot":false,"src":"11990:2:21","valueSize":1},{"declaration":27396,"isOffset":false,"isSlot":false,"src":"12117:2:21","valueSize":1},{"declaration":27398,"isOffset":false,"isSlot":false,"src":"12182:2:21","valueSize":1}],"id":27416,"nodeType":"InlineAssembly","src":"11492:703:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12220:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":27419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12226:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":27417,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"12204:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12204:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27421,"nodeType":"ExpressionStatement","src":"12204:27:21"},{"AST":{"nativeSrc":"12293:156:21","nodeType":"YulBlock","src":"12293:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"12314:4:21","nodeType":"YulLiteral","src":"12314:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"12320:2:21","nodeType":"YulIdentifier","src":"12320:2:21"}],"functionName":{"name":"mstore","nativeSrc":"12307:6:21","nodeType":"YulIdentifier","src":"12307:6:21"},"nativeSrc":"12307:16:21","nodeType":"YulFunctionCall","src":"12307:16:21"},"nativeSrc":"12307:16:21","nodeType":"YulExpressionStatement","src":"12307:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12343:4:21","nodeType":"YulLiteral","src":"12343:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"12349:2:21","nodeType":"YulIdentifier","src":"12349:2:21"}],"functionName":{"name":"mstore","nativeSrc":"12336:6:21","nodeType":"YulIdentifier","src":"12336:6:21"},"nativeSrc":"12336:16:21","nodeType":"YulFunctionCall","src":"12336:16:21"},"nativeSrc":"12336:16:21","nodeType":"YulExpressionStatement","src":"12336:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12372:4:21","nodeType":"YulLiteral","src":"12372:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"12378:2:21","nodeType":"YulIdentifier","src":"12378:2:21"}],"functionName":{"name":"mstore","nativeSrc":"12365:6:21","nodeType":"YulIdentifier","src":"12365:6:21"},"nativeSrc":"12365:16:21","nodeType":"YulFunctionCall","src":"12365:16:21"},"nativeSrc":"12365:16:21","nodeType":"YulExpressionStatement","src":"12365:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12401:4:21","nodeType":"YulLiteral","src":"12401:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"12407:2:21","nodeType":"YulIdentifier","src":"12407:2:21"}],"functionName":{"name":"mstore","nativeSrc":"12394:6:21","nodeType":"YulIdentifier","src":"12394:6:21"},"nativeSrc":"12394:16:21","nodeType":"YulFunctionCall","src":"12394:16:21"},"nativeSrc":"12394:16:21","nodeType":"YulExpressionStatement","src":"12394:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12430:4:21","nodeType":"YulLiteral","src":"12430:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"12436:2:21","nodeType":"YulIdentifier","src":"12436:2:21"}],"functionName":{"name":"mstore","nativeSrc":"12423:6:21","nodeType":"YulIdentifier","src":"12423:6:21"},"nativeSrc":"12423:16:21","nodeType":"YulFunctionCall","src":"12423:16:21"},"nativeSrc":"12423:16:21","nodeType":"YulExpressionStatement","src":"12423:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27402,"isOffset":false,"isSlot":false,"src":"12320:2:21","valueSize":1},{"declaration":27405,"isOffset":false,"isSlot":false,"src":"12349:2:21","valueSize":1},{"declaration":27408,"isOffset":false,"isSlot":false,"src":"12378:2:21","valueSize":1},{"declaration":27411,"isOffset":false,"isSlot":false,"src":"12407:2:21","valueSize":1},{"declaration":27414,"isOffset":false,"isSlot":false,"src":"12436:2:21","valueSize":1}],"id":27422,"nodeType":"InlineAssembly","src":"12284:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11300:3:21","parameters":{"id":27399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27396,"mutability":"mutable","name":"p0","nameLocation":"11309:2:21","nodeType":"VariableDeclaration","scope":27424,"src":"11304:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27395,"name":"bool","nodeType":"ElementaryTypeName","src":"11304:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27398,"mutability":"mutable","name":"p1","nameLocation":"11321:2:21","nodeType":"VariableDeclaration","scope":27424,"src":"11313:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11313:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11303:21:21"},"returnParameters":{"id":27400,"nodeType":"ParameterList","parameters":[],"src":"11339:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27448,"nodeType":"FunctionDefinition","src":"12461:622:21","nodes":[],"body":{"id":27447,"nodeType":"Block","src":"12512:571:21","nodes":[],"statements":[{"assignments":[27432],"declarations":[{"constant":false,"id":27432,"mutability":"mutable","name":"m0","nameLocation":"12530:2:21","nodeType":"VariableDeclaration","scope":27447,"src":"12522:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12522:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27433,"nodeType":"VariableDeclarationStatement","src":"12522:10:21"},{"assignments":[27435],"declarations":[{"constant":false,"id":27435,"mutability":"mutable","name":"m1","nameLocation":"12550:2:21","nodeType":"VariableDeclaration","scope":27447,"src":"12542:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12542:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27436,"nodeType":"VariableDeclarationStatement","src":"12542:10:21"},{"assignments":[27438],"declarations":[{"constant":false,"id":27438,"mutability":"mutable","name":"m2","nameLocation":"12570:2:21","nodeType":"VariableDeclaration","scope":27447,"src":"12562:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12562:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27439,"nodeType":"VariableDeclarationStatement","src":"12562:10:21"},{"AST":{"nativeSrc":"12634:247:21","nodeType":"YulBlock","src":"12634:247:21","statements":[{"nativeSrc":"12648:17:21","nodeType":"YulAssignment","src":"12648:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"12660:4:21","nodeType":"YulLiteral","src":"12660:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"12654:5:21","nodeType":"YulIdentifier","src":"12654:5:21"},"nativeSrc":"12654:11:21","nodeType":"YulFunctionCall","src":"12654:11:21"},"variableNames":[{"name":"m0","nativeSrc":"12648:2:21","nodeType":"YulIdentifier","src":"12648:2:21"}]},{"nativeSrc":"12678:17:21","nodeType":"YulAssignment","src":"12678:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"12690:4:21","nodeType":"YulLiteral","src":"12690:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"12684:5:21","nodeType":"YulIdentifier","src":"12684:5:21"},"nativeSrc":"12684:11:21","nodeType":"YulFunctionCall","src":"12684:11:21"},"variableNames":[{"name":"m1","nativeSrc":"12678:2:21","nodeType":"YulIdentifier","src":"12678:2:21"}]},{"nativeSrc":"12708:17:21","nodeType":"YulAssignment","src":"12708:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"12720:4:21","nodeType":"YulLiteral","src":"12720:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"12714:5:21","nodeType":"YulIdentifier","src":"12714:5:21"},"nativeSrc":"12714:11:21","nodeType":"YulFunctionCall","src":"12714:11:21"},"variableNames":[{"name":"m2","nativeSrc":"12708:2:21","nodeType":"YulIdentifier","src":"12708:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12796:4:21","nodeType":"YulLiteral","src":"12796:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"12802:10:21","nodeType":"YulLiteral","src":"12802:10:21","type":"","value":"0x69276c86"}],"functionName":{"name":"mstore","nativeSrc":"12789:6:21","nodeType":"YulIdentifier","src":"12789:6:21"},"nativeSrc":"12789:24:21","nodeType":"YulFunctionCall","src":"12789:24:21"},"nativeSrc":"12789:24:21","nodeType":"YulExpressionStatement","src":"12789:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12833:4:21","nodeType":"YulLiteral","src":"12833:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"12839:2:21","nodeType":"YulIdentifier","src":"12839:2:21"}],"functionName":{"name":"mstore","nativeSrc":"12826:6:21","nodeType":"YulIdentifier","src":"12826:6:21"},"nativeSrc":"12826:16:21","nodeType":"YulFunctionCall","src":"12826:16:21"},"nativeSrc":"12826:16:21","nodeType":"YulExpressionStatement","src":"12826:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12862:4:21","nodeType":"YulLiteral","src":"12862:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"12868:2:21","nodeType":"YulIdentifier","src":"12868:2:21"}],"functionName":{"name":"mstore","nativeSrc":"12855:6:21","nodeType":"YulIdentifier","src":"12855:6:21"},"nativeSrc":"12855:16:21","nodeType":"YulFunctionCall","src":"12855:16:21"},"nativeSrc":"12855:16:21","nodeType":"YulExpressionStatement","src":"12855:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27432,"isOffset":false,"isSlot":false,"src":"12648:2:21","valueSize":1},{"declaration":27435,"isOffset":false,"isSlot":false,"src":"12678:2:21","valueSize":1},{"declaration":27438,"isOffset":false,"isSlot":false,"src":"12708:2:21","valueSize":1},{"declaration":27426,"isOffset":false,"isSlot":false,"src":"12839:2:21","valueSize":1},{"declaration":27428,"isOffset":false,"isSlot":false,"src":"12868:2:21","valueSize":1}],"id":27440,"nodeType":"InlineAssembly","src":"12625:256:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12906:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":27443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12912:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":27441,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"12890:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12890:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27445,"nodeType":"ExpressionStatement","src":"12890:27:21"},{"AST":{"nativeSrc":"12979:98:21","nodeType":"YulBlock","src":"12979:98:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"13000:4:21","nodeType":"YulLiteral","src":"13000:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"13006:2:21","nodeType":"YulIdentifier","src":"13006:2:21"}],"functionName":{"name":"mstore","nativeSrc":"12993:6:21","nodeType":"YulIdentifier","src":"12993:6:21"},"nativeSrc":"12993:16:21","nodeType":"YulFunctionCall","src":"12993:16:21"},"nativeSrc":"12993:16:21","nodeType":"YulExpressionStatement","src":"12993:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13029:4:21","nodeType":"YulLiteral","src":"13029:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"13035:2:21","nodeType":"YulIdentifier","src":"13035:2:21"}],"functionName":{"name":"mstore","nativeSrc":"13022:6:21","nodeType":"YulIdentifier","src":"13022:6:21"},"nativeSrc":"13022:16:21","nodeType":"YulFunctionCall","src":"13022:16:21"},"nativeSrc":"13022:16:21","nodeType":"YulExpressionStatement","src":"13022:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13058:4:21","nodeType":"YulLiteral","src":"13058:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"13064:2:21","nodeType":"YulIdentifier","src":"13064:2:21"}],"functionName":{"name":"mstore","nativeSrc":"13051:6:21","nodeType":"YulIdentifier","src":"13051:6:21"},"nativeSrc":"13051:16:21","nodeType":"YulFunctionCall","src":"13051:16:21"},"nativeSrc":"13051:16:21","nodeType":"YulExpressionStatement","src":"13051:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27432,"isOffset":false,"isSlot":false,"src":"13006:2:21","valueSize":1},{"declaration":27435,"isOffset":false,"isSlot":false,"src":"13035:2:21","valueSize":1},{"declaration":27438,"isOffset":false,"isSlot":false,"src":"13064:2:21","valueSize":1}],"id":27446,"nodeType":"InlineAssembly","src":"12970:107:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12470:3:21","parameters":{"id":27429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27426,"mutability":"mutable","name":"p0","nameLocation":"12482:2:21","nodeType":"VariableDeclaration","scope":27448,"src":"12474:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27425,"name":"uint256","nodeType":"ElementaryTypeName","src":"12474:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27428,"mutability":"mutable","name":"p1","nameLocation":"12494:2:21","nodeType":"VariableDeclaration","scope":27448,"src":"12486:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27427,"name":"address","nodeType":"ElementaryTypeName","src":"12486:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12473:24:21"},"returnParameters":{"id":27430,"nodeType":"ParameterList","parameters":[],"src":"12512:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27472,"nodeType":"FunctionDefinition","src":"13089:616:21","nodes":[],"body":{"id":27471,"nodeType":"Block","src":"13137:568:21","nodes":[],"statements":[{"assignments":[27456],"declarations":[{"constant":false,"id":27456,"mutability":"mutable","name":"m0","nameLocation":"13155:2:21","nodeType":"VariableDeclaration","scope":27471,"src":"13147:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13147:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27457,"nodeType":"VariableDeclarationStatement","src":"13147:10:21"},{"assignments":[27459],"declarations":[{"constant":false,"id":27459,"mutability":"mutable","name":"m1","nameLocation":"13175:2:21","nodeType":"VariableDeclaration","scope":27471,"src":"13167:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13167:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27460,"nodeType":"VariableDeclarationStatement","src":"13167:10:21"},{"assignments":[27462],"declarations":[{"constant":false,"id":27462,"mutability":"mutable","name":"m2","nameLocation":"13195:2:21","nodeType":"VariableDeclaration","scope":27471,"src":"13187:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13187:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27463,"nodeType":"VariableDeclarationStatement","src":"13187:10:21"},{"AST":{"nativeSrc":"13259:244:21","nodeType":"YulBlock","src":"13259:244:21","statements":[{"nativeSrc":"13273:17:21","nodeType":"YulAssignment","src":"13273:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"13285:4:21","nodeType":"YulLiteral","src":"13285:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"13279:5:21","nodeType":"YulIdentifier","src":"13279:5:21"},"nativeSrc":"13279:11:21","nodeType":"YulFunctionCall","src":"13279:11:21"},"variableNames":[{"name":"m0","nativeSrc":"13273:2:21","nodeType":"YulIdentifier","src":"13273:2:21"}]},{"nativeSrc":"13303:17:21","nodeType":"YulAssignment","src":"13303:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"13315:4:21","nodeType":"YulLiteral","src":"13315:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"13309:5:21","nodeType":"YulIdentifier","src":"13309:5:21"},"nativeSrc":"13309:11:21","nodeType":"YulFunctionCall","src":"13309:11:21"},"variableNames":[{"name":"m1","nativeSrc":"13303:2:21","nodeType":"YulIdentifier","src":"13303:2:21"}]},{"nativeSrc":"13333:17:21","nodeType":"YulAssignment","src":"13333:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"13345:4:21","nodeType":"YulLiteral","src":"13345:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"13339:5:21","nodeType":"YulIdentifier","src":"13339:5:21"},"nativeSrc":"13339:11:21","nodeType":"YulFunctionCall","src":"13339:11:21"},"variableNames":[{"name":"m2","nativeSrc":"13333:2:21","nodeType":"YulIdentifier","src":"13333:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13418:4:21","nodeType":"YulLiteral","src":"13418:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"13424:10:21","nodeType":"YulLiteral","src":"13424:10:21","type":"","value":"0x1c9d7eb3"}],"functionName":{"name":"mstore","nativeSrc":"13411:6:21","nodeType":"YulIdentifier","src":"13411:6:21"},"nativeSrc":"13411:24:21","nodeType":"YulFunctionCall","src":"13411:24:21"},"nativeSrc":"13411:24:21","nodeType":"YulExpressionStatement","src":"13411:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13455:4:21","nodeType":"YulLiteral","src":"13455:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"13461:2:21","nodeType":"YulIdentifier","src":"13461:2:21"}],"functionName":{"name":"mstore","nativeSrc":"13448:6:21","nodeType":"YulIdentifier","src":"13448:6:21"},"nativeSrc":"13448:16:21","nodeType":"YulFunctionCall","src":"13448:16:21"},"nativeSrc":"13448:16:21","nodeType":"YulExpressionStatement","src":"13448:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13484:4:21","nodeType":"YulLiteral","src":"13484:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"13490:2:21","nodeType":"YulIdentifier","src":"13490:2:21"}],"functionName":{"name":"mstore","nativeSrc":"13477:6:21","nodeType":"YulIdentifier","src":"13477:6:21"},"nativeSrc":"13477:16:21","nodeType":"YulFunctionCall","src":"13477:16:21"},"nativeSrc":"13477:16:21","nodeType":"YulExpressionStatement","src":"13477:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27456,"isOffset":false,"isSlot":false,"src":"13273:2:21","valueSize":1},{"declaration":27459,"isOffset":false,"isSlot":false,"src":"13303:2:21","valueSize":1},{"declaration":27462,"isOffset":false,"isSlot":false,"src":"13333:2:21","valueSize":1},{"declaration":27450,"isOffset":false,"isSlot":false,"src":"13461:2:21","valueSize":1},{"declaration":27452,"isOffset":false,"isSlot":false,"src":"13490:2:21","valueSize":1}],"id":27464,"nodeType":"InlineAssembly","src":"13250:253:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13528:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":27467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13534:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":27465,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"13512:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13512:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27469,"nodeType":"ExpressionStatement","src":"13512:27:21"},{"AST":{"nativeSrc":"13601:98:21","nodeType":"YulBlock","src":"13601:98:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"13622:4:21","nodeType":"YulLiteral","src":"13622:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"13628:2:21","nodeType":"YulIdentifier","src":"13628:2:21"}],"functionName":{"name":"mstore","nativeSrc":"13615:6:21","nodeType":"YulIdentifier","src":"13615:6:21"},"nativeSrc":"13615:16:21","nodeType":"YulFunctionCall","src":"13615:16:21"},"nativeSrc":"13615:16:21","nodeType":"YulExpressionStatement","src":"13615:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13651:4:21","nodeType":"YulLiteral","src":"13651:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"13657:2:21","nodeType":"YulIdentifier","src":"13657:2:21"}],"functionName":{"name":"mstore","nativeSrc":"13644:6:21","nodeType":"YulIdentifier","src":"13644:6:21"},"nativeSrc":"13644:16:21","nodeType":"YulFunctionCall","src":"13644:16:21"},"nativeSrc":"13644:16:21","nodeType":"YulExpressionStatement","src":"13644:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13680:4:21","nodeType":"YulLiteral","src":"13680:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"13686:2:21","nodeType":"YulIdentifier","src":"13686:2:21"}],"functionName":{"name":"mstore","nativeSrc":"13673:6:21","nodeType":"YulIdentifier","src":"13673:6:21"},"nativeSrc":"13673:16:21","nodeType":"YulFunctionCall","src":"13673:16:21"},"nativeSrc":"13673:16:21","nodeType":"YulExpressionStatement","src":"13673:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27456,"isOffset":false,"isSlot":false,"src":"13628:2:21","valueSize":1},{"declaration":27459,"isOffset":false,"isSlot":false,"src":"13657:2:21","valueSize":1},{"declaration":27462,"isOffset":false,"isSlot":false,"src":"13686:2:21","valueSize":1}],"id":27470,"nodeType":"InlineAssembly","src":"13592:107:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13098:3:21","parameters":{"id":27453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27450,"mutability":"mutable","name":"p0","nameLocation":"13110:2:21","nodeType":"VariableDeclaration","scope":27472,"src":"13102:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27449,"name":"uint256","nodeType":"ElementaryTypeName","src":"13102:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27452,"mutability":"mutable","name":"p1","nameLocation":"13119:2:21","nodeType":"VariableDeclaration","scope":27472,"src":"13114:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27451,"name":"bool","nodeType":"ElementaryTypeName","src":"13114:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13101:21:21"},"returnParameters":{"id":27454,"nodeType":"ParameterList","parameters":[],"src":"13137:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27496,"nodeType":"FunctionDefinition","src":"13711:622:21","nodes":[],"body":{"id":27495,"nodeType":"Block","src":"13762:571:21","nodes":[],"statements":[{"assignments":[27480],"declarations":[{"constant":false,"id":27480,"mutability":"mutable","name":"m0","nameLocation":"13780:2:21","nodeType":"VariableDeclaration","scope":27495,"src":"13772:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13772:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27481,"nodeType":"VariableDeclarationStatement","src":"13772:10:21"},{"assignments":[27483],"declarations":[{"constant":false,"id":27483,"mutability":"mutable","name":"m1","nameLocation":"13800:2:21","nodeType":"VariableDeclaration","scope":27495,"src":"13792:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13792:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27484,"nodeType":"VariableDeclarationStatement","src":"13792:10:21"},{"assignments":[27486],"declarations":[{"constant":false,"id":27486,"mutability":"mutable","name":"m2","nameLocation":"13820:2:21","nodeType":"VariableDeclaration","scope":27495,"src":"13812:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13812:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27487,"nodeType":"VariableDeclarationStatement","src":"13812:10:21"},{"AST":{"nativeSrc":"13884:247:21","nodeType":"YulBlock","src":"13884:247:21","statements":[{"nativeSrc":"13898:17:21","nodeType":"YulAssignment","src":"13898:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"13910:4:21","nodeType":"YulLiteral","src":"13910:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"13904:5:21","nodeType":"YulIdentifier","src":"13904:5:21"},"nativeSrc":"13904:11:21","nodeType":"YulFunctionCall","src":"13904:11:21"},"variableNames":[{"name":"m0","nativeSrc":"13898:2:21","nodeType":"YulIdentifier","src":"13898:2:21"}]},{"nativeSrc":"13928:17:21","nodeType":"YulAssignment","src":"13928:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"13940:4:21","nodeType":"YulLiteral","src":"13940:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"13934:5:21","nodeType":"YulIdentifier","src":"13934:5:21"},"nativeSrc":"13934:11:21","nodeType":"YulFunctionCall","src":"13934:11:21"},"variableNames":[{"name":"m1","nativeSrc":"13928:2:21","nodeType":"YulIdentifier","src":"13928:2:21"}]},{"nativeSrc":"13958:17:21","nodeType":"YulAssignment","src":"13958:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"13970:4:21","nodeType":"YulLiteral","src":"13970:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"13964:5:21","nodeType":"YulIdentifier","src":"13964:5:21"},"nativeSrc":"13964:11:21","nodeType":"YulFunctionCall","src":"13964:11:21"},"variableNames":[{"name":"m2","nativeSrc":"13958:2:21","nodeType":"YulIdentifier","src":"13958:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14046:4:21","nodeType":"YulLiteral","src":"14046:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"14052:10:21","nodeType":"YulLiteral","src":"14052:10:21","type":"","value":"0xf666715a"}],"functionName":{"name":"mstore","nativeSrc":"14039:6:21","nodeType":"YulIdentifier","src":"14039:6:21"},"nativeSrc":"14039:24:21","nodeType":"YulFunctionCall","src":"14039:24:21"},"nativeSrc":"14039:24:21","nodeType":"YulExpressionStatement","src":"14039:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14083:4:21","nodeType":"YulLiteral","src":"14083:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"14089:2:21","nodeType":"YulIdentifier","src":"14089:2:21"}],"functionName":{"name":"mstore","nativeSrc":"14076:6:21","nodeType":"YulIdentifier","src":"14076:6:21"},"nativeSrc":"14076:16:21","nodeType":"YulFunctionCall","src":"14076:16:21"},"nativeSrc":"14076:16:21","nodeType":"YulExpressionStatement","src":"14076:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14112:4:21","nodeType":"YulLiteral","src":"14112:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"14118:2:21","nodeType":"YulIdentifier","src":"14118:2:21"}],"functionName":{"name":"mstore","nativeSrc":"14105:6:21","nodeType":"YulIdentifier","src":"14105:6:21"},"nativeSrc":"14105:16:21","nodeType":"YulFunctionCall","src":"14105:16:21"},"nativeSrc":"14105:16:21","nodeType":"YulExpressionStatement","src":"14105:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27480,"isOffset":false,"isSlot":false,"src":"13898:2:21","valueSize":1},{"declaration":27483,"isOffset":false,"isSlot":false,"src":"13928:2:21","valueSize":1},{"declaration":27486,"isOffset":false,"isSlot":false,"src":"13958:2:21","valueSize":1},{"declaration":27474,"isOffset":false,"isSlot":false,"src":"14089:2:21","valueSize":1},{"declaration":27476,"isOffset":false,"isSlot":false,"src":"14118:2:21","valueSize":1}],"id":27488,"nodeType":"InlineAssembly","src":"13875:256:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14156:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":27491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14162:4:21","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":27489,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"14140:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14140:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27493,"nodeType":"ExpressionStatement","src":"14140:27:21"},{"AST":{"nativeSrc":"14229:98:21","nodeType":"YulBlock","src":"14229:98:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"14250:4:21","nodeType":"YulLiteral","src":"14250:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"14256:2:21","nodeType":"YulIdentifier","src":"14256:2:21"}],"functionName":{"name":"mstore","nativeSrc":"14243:6:21","nodeType":"YulIdentifier","src":"14243:6:21"},"nativeSrc":"14243:16:21","nodeType":"YulFunctionCall","src":"14243:16:21"},"nativeSrc":"14243:16:21","nodeType":"YulExpressionStatement","src":"14243:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14279:4:21","nodeType":"YulLiteral","src":"14279:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"14285:2:21","nodeType":"YulIdentifier","src":"14285:2:21"}],"functionName":{"name":"mstore","nativeSrc":"14272:6:21","nodeType":"YulIdentifier","src":"14272:6:21"},"nativeSrc":"14272:16:21","nodeType":"YulFunctionCall","src":"14272:16:21"},"nativeSrc":"14272:16:21","nodeType":"YulExpressionStatement","src":"14272:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14308:4:21","nodeType":"YulLiteral","src":"14308:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"14314:2:21","nodeType":"YulIdentifier","src":"14314:2:21"}],"functionName":{"name":"mstore","nativeSrc":"14301:6:21","nodeType":"YulIdentifier","src":"14301:6:21"},"nativeSrc":"14301:16:21","nodeType":"YulFunctionCall","src":"14301:16:21"},"nativeSrc":"14301:16:21","nodeType":"YulExpressionStatement","src":"14301:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27480,"isOffset":false,"isSlot":false,"src":"14256:2:21","valueSize":1},{"declaration":27483,"isOffset":false,"isSlot":false,"src":"14285:2:21","valueSize":1},{"declaration":27486,"isOffset":false,"isSlot":false,"src":"14314:2:21","valueSize":1}],"id":27494,"nodeType":"InlineAssembly","src":"14220:107:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13720:3:21","parameters":{"id":27477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27474,"mutability":"mutable","name":"p0","nameLocation":"13732:2:21","nodeType":"VariableDeclaration","scope":27496,"src":"13724:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27473,"name":"uint256","nodeType":"ElementaryTypeName","src":"13724:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27476,"mutability":"mutable","name":"p1","nameLocation":"13744:2:21","nodeType":"VariableDeclaration","scope":27496,"src":"13736:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27475,"name":"uint256","nodeType":"ElementaryTypeName","src":"13736:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13723:24:21"},"returnParameters":{"id":27478,"nodeType":"ParameterList","parameters":[],"src":"13762:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27526,"nodeType":"FunctionDefinition","src":"14339:1170:21","nodes":[],"body":{"id":27525,"nodeType":"Block","src":"14390:1119:21","nodes":[],"statements":[{"assignments":[27504],"declarations":[{"constant":false,"id":27504,"mutability":"mutable","name":"m0","nameLocation":"14408:2:21","nodeType":"VariableDeclaration","scope":27525,"src":"14400:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14400:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27505,"nodeType":"VariableDeclarationStatement","src":"14400:10:21"},{"assignments":[27507],"declarations":[{"constant":false,"id":27507,"mutability":"mutable","name":"m1","nameLocation":"14428:2:21","nodeType":"VariableDeclaration","scope":27525,"src":"14420:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14420:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27508,"nodeType":"VariableDeclarationStatement","src":"14420:10:21"},{"assignments":[27510],"declarations":[{"constant":false,"id":27510,"mutability":"mutable","name":"m2","nameLocation":"14448:2:21","nodeType":"VariableDeclaration","scope":27525,"src":"14440:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27509,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14440:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27511,"nodeType":"VariableDeclarationStatement","src":"14440:10:21"},{"assignments":[27513],"declarations":[{"constant":false,"id":27513,"mutability":"mutable","name":"m3","nameLocation":"14468:2:21","nodeType":"VariableDeclaration","scope":27525,"src":"14460:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27512,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14460:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27514,"nodeType":"VariableDeclarationStatement","src":"14460:10:21"},{"assignments":[27516],"declarations":[{"constant":false,"id":27516,"mutability":"mutable","name":"m4","nameLocation":"14488:2:21","nodeType":"VariableDeclaration","scope":27525,"src":"14480:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14480:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27517,"nodeType":"VariableDeclarationStatement","src":"14480:10:21"},{"AST":{"nativeSrc":"14552:697:21","nodeType":"YulBlock","src":"14552:697:21","statements":[{"body":{"nativeSrc":"14595:313:21","nodeType":"YulBlock","src":"14595:313:21","statements":[{"nativeSrc":"14613:15:21","nodeType":"YulVariableDeclaration","src":"14613:15:21","value":{"kind":"number","nativeSrc":"14627:1:21","nodeType":"YulLiteral","src":"14627:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"14617:6:21","nodeType":"YulTypedName","src":"14617:6:21","type":""}]},{"body":{"nativeSrc":"14698:40:21","nodeType":"YulBlock","src":"14698:40:21","statements":[{"body":{"nativeSrc":"14727:9:21","nodeType":"YulBlock","src":"14727:9:21","statements":[{"nativeSrc":"14729:5:21","nodeType":"YulBreak","src":"14729:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"14715:6:21","nodeType":"YulIdentifier","src":"14715:6:21"},{"name":"w","nativeSrc":"14723:1:21","nodeType":"YulIdentifier","src":"14723:1:21"}],"functionName":{"name":"byte","nativeSrc":"14710:4:21","nodeType":"YulIdentifier","src":"14710:4:21"},"nativeSrc":"14710:15:21","nodeType":"YulFunctionCall","src":"14710:15:21"}],"functionName":{"name":"iszero","nativeSrc":"14703:6:21","nodeType":"YulIdentifier","src":"14703:6:21"},"nativeSrc":"14703:23:21","nodeType":"YulFunctionCall","src":"14703:23:21"},"nativeSrc":"14700:36:21","nodeType":"YulIf","src":"14700:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"14655:6:21","nodeType":"YulIdentifier","src":"14655:6:21"},{"kind":"number","nativeSrc":"14663:4:21","nodeType":"YulLiteral","src":"14663:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"14652:2:21","nodeType":"YulIdentifier","src":"14652:2:21"},"nativeSrc":"14652:16:21","nodeType":"YulFunctionCall","src":"14652:16:21"},"nativeSrc":"14645:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"14669:28:21","nodeType":"YulBlock","src":"14669:28:21","statements":[{"nativeSrc":"14671:24:21","nodeType":"YulAssignment","src":"14671:24:21","value":{"arguments":[{"name":"length","nativeSrc":"14685:6:21","nodeType":"YulIdentifier","src":"14685:6:21"},{"kind":"number","nativeSrc":"14693:1:21","nodeType":"YulLiteral","src":"14693:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"14681:3:21","nodeType":"YulIdentifier","src":"14681:3:21"},"nativeSrc":"14681:14:21","nodeType":"YulFunctionCall","src":"14681:14:21"},"variableNames":[{"name":"length","nativeSrc":"14671:6:21","nodeType":"YulIdentifier","src":"14671:6:21"}]}]},"pre":{"nativeSrc":"14649:2:21","nodeType":"YulBlock","src":"14649:2:21","statements":[]},"src":"14645:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"14762:3:21","nodeType":"YulIdentifier","src":"14762:3:21"},{"name":"length","nativeSrc":"14767:6:21","nodeType":"YulIdentifier","src":"14767:6:21"}],"functionName":{"name":"mstore","nativeSrc":"14755:6:21","nodeType":"YulIdentifier","src":"14755:6:21"},"nativeSrc":"14755:19:21","nodeType":"YulFunctionCall","src":"14755:19:21"},"nativeSrc":"14755:19:21","nodeType":"YulExpressionStatement","src":"14755:19:21"},{"nativeSrc":"14791:37:21","nodeType":"YulVariableDeclaration","src":"14791:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"14808:3:21","nodeType":"YulLiteral","src":"14808:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"14817:1:21","nodeType":"YulLiteral","src":"14817:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"14820:6:21","nodeType":"YulIdentifier","src":"14820:6:21"}],"functionName":{"name":"shl","nativeSrc":"14813:3:21","nodeType":"YulIdentifier","src":"14813:3:21"},"nativeSrc":"14813:14:21","nodeType":"YulFunctionCall","src":"14813:14:21"}],"functionName":{"name":"sub","nativeSrc":"14804:3:21","nodeType":"YulIdentifier","src":"14804:3:21"},"nativeSrc":"14804:24:21","nodeType":"YulFunctionCall","src":"14804:24:21"},"variables":[{"name":"shift","nativeSrc":"14795:5:21","nodeType":"YulTypedName","src":"14795:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"14856:3:21","nodeType":"YulIdentifier","src":"14856:3:21"},{"kind":"number","nativeSrc":"14861:4:21","nodeType":"YulLiteral","src":"14861:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"14852:3:21","nodeType":"YulIdentifier","src":"14852:3:21"},"nativeSrc":"14852:14:21","nodeType":"YulFunctionCall","src":"14852:14:21"},{"arguments":[{"name":"shift","nativeSrc":"14872:5:21","nodeType":"YulIdentifier","src":"14872:5:21"},{"arguments":[{"name":"shift","nativeSrc":"14883:5:21","nodeType":"YulIdentifier","src":"14883:5:21"},{"name":"w","nativeSrc":"14890:1:21","nodeType":"YulIdentifier","src":"14890:1:21"}],"functionName":{"name":"shr","nativeSrc":"14879:3:21","nodeType":"YulIdentifier","src":"14879:3:21"},"nativeSrc":"14879:13:21","nodeType":"YulFunctionCall","src":"14879:13:21"}],"functionName":{"name":"shl","nativeSrc":"14868:3:21","nodeType":"YulIdentifier","src":"14868:3:21"},"nativeSrc":"14868:25:21","nodeType":"YulFunctionCall","src":"14868:25:21"}],"functionName":{"name":"mstore","nativeSrc":"14845:6:21","nodeType":"YulIdentifier","src":"14845:6:21"},"nativeSrc":"14845:49:21","nodeType":"YulFunctionCall","src":"14845:49:21"},"nativeSrc":"14845:49:21","nodeType":"YulExpressionStatement","src":"14845:49:21"}]},"name":"writeString","nativeSrc":"14566:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"14587:3:21","nodeType":"YulTypedName","src":"14587:3:21","type":""},{"name":"w","nativeSrc":"14592:1:21","nodeType":"YulTypedName","src":"14592:1:21","type":""}],"src":"14566:342:21"},{"nativeSrc":"14921:17:21","nodeType":"YulAssignment","src":"14921:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"14933:4:21","nodeType":"YulLiteral","src":"14933:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"14927:5:21","nodeType":"YulIdentifier","src":"14927:5:21"},"nativeSrc":"14927:11:21","nodeType":"YulFunctionCall","src":"14927:11:21"},"variableNames":[{"name":"m0","nativeSrc":"14921:2:21","nodeType":"YulIdentifier","src":"14921:2:21"}]},{"nativeSrc":"14951:17:21","nodeType":"YulAssignment","src":"14951:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"14963:4:21","nodeType":"YulLiteral","src":"14963:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"14957:5:21","nodeType":"YulIdentifier","src":"14957:5:21"},"nativeSrc":"14957:11:21","nodeType":"YulFunctionCall","src":"14957:11:21"},"variableNames":[{"name":"m1","nativeSrc":"14951:2:21","nodeType":"YulIdentifier","src":"14951:2:21"}]},{"nativeSrc":"14981:17:21","nodeType":"YulAssignment","src":"14981:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"14993:4:21","nodeType":"YulLiteral","src":"14993:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"14987:5:21","nodeType":"YulIdentifier","src":"14987:5:21"},"nativeSrc":"14987:11:21","nodeType":"YulFunctionCall","src":"14987:11:21"},"variableNames":[{"name":"m2","nativeSrc":"14981:2:21","nodeType":"YulIdentifier","src":"14981:2:21"}]},{"nativeSrc":"15011:17:21","nodeType":"YulAssignment","src":"15011:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"15023:4:21","nodeType":"YulLiteral","src":"15023:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"15017:5:21","nodeType":"YulIdentifier","src":"15017:5:21"},"nativeSrc":"15017:11:21","nodeType":"YulFunctionCall","src":"15017:11:21"},"variableNames":[{"name":"m3","nativeSrc":"15011:2:21","nodeType":"YulIdentifier","src":"15011:2:21"}]},{"nativeSrc":"15041:17:21","nodeType":"YulAssignment","src":"15041:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"15053:4:21","nodeType":"YulLiteral","src":"15053:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"15047:5:21","nodeType":"YulIdentifier","src":"15047:5:21"},"nativeSrc":"15047:11:21","nodeType":"YulFunctionCall","src":"15047:11:21"},"variableNames":[{"name":"m4","nativeSrc":"15041:2:21","nodeType":"YulIdentifier","src":"15041:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15128:4:21","nodeType":"YulLiteral","src":"15128:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"15134:10:21","nodeType":"YulLiteral","src":"15134:10:21","type":"","value":"0x643fd0df"}],"functionName":{"name":"mstore","nativeSrc":"15121:6:21","nodeType":"YulIdentifier","src":"15121:6:21"},"nativeSrc":"15121:24:21","nodeType":"YulFunctionCall","src":"15121:24:21"},"nativeSrc":"15121:24:21","nodeType":"YulExpressionStatement","src":"15121:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15165:4:21","nodeType":"YulLiteral","src":"15165:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"15171:2:21","nodeType":"YulIdentifier","src":"15171:2:21"}],"functionName":{"name":"mstore","nativeSrc":"15158:6:21","nodeType":"YulIdentifier","src":"15158:6:21"},"nativeSrc":"15158:16:21","nodeType":"YulFunctionCall","src":"15158:16:21"},"nativeSrc":"15158:16:21","nodeType":"YulExpressionStatement","src":"15158:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15194:4:21","nodeType":"YulLiteral","src":"15194:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"15200:4:21","nodeType":"YulLiteral","src":"15200:4:21","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"15187:6:21","nodeType":"YulIdentifier","src":"15187:6:21"},"nativeSrc":"15187:18:21","nodeType":"YulFunctionCall","src":"15187:18:21"},"nativeSrc":"15187:18:21","nodeType":"YulExpressionStatement","src":"15187:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15230:4:21","nodeType":"YulLiteral","src":"15230:4:21","type":"","value":"0x60"},{"name":"p1","nativeSrc":"15236:2:21","nodeType":"YulIdentifier","src":"15236:2:21"}],"functionName":{"name":"writeString","nativeSrc":"15218:11:21","nodeType":"YulIdentifier","src":"15218:11:21"},"nativeSrc":"15218:21:21","nodeType":"YulFunctionCall","src":"15218:21:21"},"nativeSrc":"15218:21:21","nodeType":"YulExpressionStatement","src":"15218:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27504,"isOffset":false,"isSlot":false,"src":"14921:2:21","valueSize":1},{"declaration":27507,"isOffset":false,"isSlot":false,"src":"14951:2:21","valueSize":1},{"declaration":27510,"isOffset":false,"isSlot":false,"src":"14981:2:21","valueSize":1},{"declaration":27513,"isOffset":false,"isSlot":false,"src":"15011:2:21","valueSize":1},{"declaration":27516,"isOffset":false,"isSlot":false,"src":"15041:2:21","valueSize":1},{"declaration":27498,"isOffset":false,"isSlot":false,"src":"15171:2:21","valueSize":1},{"declaration":27500,"isOffset":false,"isSlot":false,"src":"15236:2:21","valueSize":1}],"id":27518,"nodeType":"InlineAssembly","src":"14543:706:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15274:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":27521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15280:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":27519,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"15258:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15258:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27523,"nodeType":"ExpressionStatement","src":"15258:27:21"},{"AST":{"nativeSrc":"15347:156:21","nodeType":"YulBlock","src":"15347:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"15368:4:21","nodeType":"YulLiteral","src":"15368:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"15374:2:21","nodeType":"YulIdentifier","src":"15374:2:21"}],"functionName":{"name":"mstore","nativeSrc":"15361:6:21","nodeType":"YulIdentifier","src":"15361:6:21"},"nativeSrc":"15361:16:21","nodeType":"YulFunctionCall","src":"15361:16:21"},"nativeSrc":"15361:16:21","nodeType":"YulExpressionStatement","src":"15361:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15397:4:21","nodeType":"YulLiteral","src":"15397:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"15403:2:21","nodeType":"YulIdentifier","src":"15403:2:21"}],"functionName":{"name":"mstore","nativeSrc":"15390:6:21","nodeType":"YulIdentifier","src":"15390:6:21"},"nativeSrc":"15390:16:21","nodeType":"YulFunctionCall","src":"15390:16:21"},"nativeSrc":"15390:16:21","nodeType":"YulExpressionStatement","src":"15390:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15426:4:21","nodeType":"YulLiteral","src":"15426:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"15432:2:21","nodeType":"YulIdentifier","src":"15432:2:21"}],"functionName":{"name":"mstore","nativeSrc":"15419:6:21","nodeType":"YulIdentifier","src":"15419:6:21"},"nativeSrc":"15419:16:21","nodeType":"YulFunctionCall","src":"15419:16:21"},"nativeSrc":"15419:16:21","nodeType":"YulExpressionStatement","src":"15419:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15455:4:21","nodeType":"YulLiteral","src":"15455:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"15461:2:21","nodeType":"YulIdentifier","src":"15461:2:21"}],"functionName":{"name":"mstore","nativeSrc":"15448:6:21","nodeType":"YulIdentifier","src":"15448:6:21"},"nativeSrc":"15448:16:21","nodeType":"YulFunctionCall","src":"15448:16:21"},"nativeSrc":"15448:16:21","nodeType":"YulExpressionStatement","src":"15448:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15484:4:21","nodeType":"YulLiteral","src":"15484:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"15490:2:21","nodeType":"YulIdentifier","src":"15490:2:21"}],"functionName":{"name":"mstore","nativeSrc":"15477:6:21","nodeType":"YulIdentifier","src":"15477:6:21"},"nativeSrc":"15477:16:21","nodeType":"YulFunctionCall","src":"15477:16:21"},"nativeSrc":"15477:16:21","nodeType":"YulExpressionStatement","src":"15477:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27504,"isOffset":false,"isSlot":false,"src":"15374:2:21","valueSize":1},{"declaration":27507,"isOffset":false,"isSlot":false,"src":"15403:2:21","valueSize":1},{"declaration":27510,"isOffset":false,"isSlot":false,"src":"15432:2:21","valueSize":1},{"declaration":27513,"isOffset":false,"isSlot":false,"src":"15461:2:21","valueSize":1},{"declaration":27516,"isOffset":false,"isSlot":false,"src":"15490:2:21","valueSize":1}],"id":27524,"nodeType":"InlineAssembly","src":"15338:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14348:3:21","parameters":{"id":27501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27498,"mutability":"mutable","name":"p0","nameLocation":"14360:2:21","nodeType":"VariableDeclaration","scope":27526,"src":"14352:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27497,"name":"uint256","nodeType":"ElementaryTypeName","src":"14352:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27500,"mutability":"mutable","name":"p1","nameLocation":"14372:2:21","nodeType":"VariableDeclaration","scope":27526,"src":"14364:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14364:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14351:24:21"},"returnParameters":{"id":27502,"nodeType":"ParameterList","parameters":[],"src":"14390:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27556,"nodeType":"FunctionDefinition","src":"15515:1170:21","nodes":[],"body":{"id":27555,"nodeType":"Block","src":"15566:1119:21","nodes":[],"statements":[{"assignments":[27534],"declarations":[{"constant":false,"id":27534,"mutability":"mutable","name":"m0","nameLocation":"15584:2:21","nodeType":"VariableDeclaration","scope":27555,"src":"15576:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15576:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27535,"nodeType":"VariableDeclarationStatement","src":"15576:10:21"},{"assignments":[27537],"declarations":[{"constant":false,"id":27537,"mutability":"mutable","name":"m1","nameLocation":"15604:2:21","nodeType":"VariableDeclaration","scope":27555,"src":"15596:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27536,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15596:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27538,"nodeType":"VariableDeclarationStatement","src":"15596:10:21"},{"assignments":[27540],"declarations":[{"constant":false,"id":27540,"mutability":"mutable","name":"m2","nameLocation":"15624:2:21","nodeType":"VariableDeclaration","scope":27555,"src":"15616:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15616:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27541,"nodeType":"VariableDeclarationStatement","src":"15616:10:21"},{"assignments":[27543],"declarations":[{"constant":false,"id":27543,"mutability":"mutable","name":"m3","nameLocation":"15644:2:21","nodeType":"VariableDeclaration","scope":27555,"src":"15636:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15636:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27544,"nodeType":"VariableDeclarationStatement","src":"15636:10:21"},{"assignments":[27546],"declarations":[{"constant":false,"id":27546,"mutability":"mutable","name":"m4","nameLocation":"15664:2:21","nodeType":"VariableDeclaration","scope":27555,"src":"15656:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15656:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27547,"nodeType":"VariableDeclarationStatement","src":"15656:10:21"},{"AST":{"nativeSrc":"15728:697:21","nodeType":"YulBlock","src":"15728:697:21","statements":[{"body":{"nativeSrc":"15771:313:21","nodeType":"YulBlock","src":"15771:313:21","statements":[{"nativeSrc":"15789:15:21","nodeType":"YulVariableDeclaration","src":"15789:15:21","value":{"kind":"number","nativeSrc":"15803:1:21","nodeType":"YulLiteral","src":"15803:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"15793:6:21","nodeType":"YulTypedName","src":"15793:6:21","type":""}]},{"body":{"nativeSrc":"15874:40:21","nodeType":"YulBlock","src":"15874:40:21","statements":[{"body":{"nativeSrc":"15903:9:21","nodeType":"YulBlock","src":"15903:9:21","statements":[{"nativeSrc":"15905:5:21","nodeType":"YulBreak","src":"15905:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"15891:6:21","nodeType":"YulIdentifier","src":"15891:6:21"},{"name":"w","nativeSrc":"15899:1:21","nodeType":"YulIdentifier","src":"15899:1:21"}],"functionName":{"name":"byte","nativeSrc":"15886:4:21","nodeType":"YulIdentifier","src":"15886:4:21"},"nativeSrc":"15886:15:21","nodeType":"YulFunctionCall","src":"15886:15:21"}],"functionName":{"name":"iszero","nativeSrc":"15879:6:21","nodeType":"YulIdentifier","src":"15879:6:21"},"nativeSrc":"15879:23:21","nodeType":"YulFunctionCall","src":"15879:23:21"},"nativeSrc":"15876:36:21","nodeType":"YulIf","src":"15876:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"15831:6:21","nodeType":"YulIdentifier","src":"15831:6:21"},{"kind":"number","nativeSrc":"15839:4:21","nodeType":"YulLiteral","src":"15839:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"15828:2:21","nodeType":"YulIdentifier","src":"15828:2:21"},"nativeSrc":"15828:16:21","nodeType":"YulFunctionCall","src":"15828:16:21"},"nativeSrc":"15821:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"15845:28:21","nodeType":"YulBlock","src":"15845:28:21","statements":[{"nativeSrc":"15847:24:21","nodeType":"YulAssignment","src":"15847:24:21","value":{"arguments":[{"name":"length","nativeSrc":"15861:6:21","nodeType":"YulIdentifier","src":"15861:6:21"},{"kind":"number","nativeSrc":"15869:1:21","nodeType":"YulLiteral","src":"15869:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"15857:3:21","nodeType":"YulIdentifier","src":"15857:3:21"},"nativeSrc":"15857:14:21","nodeType":"YulFunctionCall","src":"15857:14:21"},"variableNames":[{"name":"length","nativeSrc":"15847:6:21","nodeType":"YulIdentifier","src":"15847:6:21"}]}]},"pre":{"nativeSrc":"15825:2:21","nodeType":"YulBlock","src":"15825:2:21","statements":[]},"src":"15821:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"15938:3:21","nodeType":"YulIdentifier","src":"15938:3:21"},{"name":"length","nativeSrc":"15943:6:21","nodeType":"YulIdentifier","src":"15943:6:21"}],"functionName":{"name":"mstore","nativeSrc":"15931:6:21","nodeType":"YulIdentifier","src":"15931:6:21"},"nativeSrc":"15931:19:21","nodeType":"YulFunctionCall","src":"15931:19:21"},"nativeSrc":"15931:19:21","nodeType":"YulExpressionStatement","src":"15931:19:21"},{"nativeSrc":"15967:37:21","nodeType":"YulVariableDeclaration","src":"15967:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"15984:3:21","nodeType":"YulLiteral","src":"15984:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"15993:1:21","nodeType":"YulLiteral","src":"15993:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"15996:6:21","nodeType":"YulIdentifier","src":"15996:6:21"}],"functionName":{"name":"shl","nativeSrc":"15989:3:21","nodeType":"YulIdentifier","src":"15989:3:21"},"nativeSrc":"15989:14:21","nodeType":"YulFunctionCall","src":"15989:14:21"}],"functionName":{"name":"sub","nativeSrc":"15980:3:21","nodeType":"YulIdentifier","src":"15980:3:21"},"nativeSrc":"15980:24:21","nodeType":"YulFunctionCall","src":"15980:24:21"},"variables":[{"name":"shift","nativeSrc":"15971:5:21","nodeType":"YulTypedName","src":"15971:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"16032:3:21","nodeType":"YulIdentifier","src":"16032:3:21"},{"kind":"number","nativeSrc":"16037:4:21","nodeType":"YulLiteral","src":"16037:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"16028:3:21","nodeType":"YulIdentifier","src":"16028:3:21"},"nativeSrc":"16028:14:21","nodeType":"YulFunctionCall","src":"16028:14:21"},{"arguments":[{"name":"shift","nativeSrc":"16048:5:21","nodeType":"YulIdentifier","src":"16048:5:21"},{"arguments":[{"name":"shift","nativeSrc":"16059:5:21","nodeType":"YulIdentifier","src":"16059:5:21"},{"name":"w","nativeSrc":"16066:1:21","nodeType":"YulIdentifier","src":"16066:1:21"}],"functionName":{"name":"shr","nativeSrc":"16055:3:21","nodeType":"YulIdentifier","src":"16055:3:21"},"nativeSrc":"16055:13:21","nodeType":"YulFunctionCall","src":"16055:13:21"}],"functionName":{"name":"shl","nativeSrc":"16044:3:21","nodeType":"YulIdentifier","src":"16044:3:21"},"nativeSrc":"16044:25:21","nodeType":"YulFunctionCall","src":"16044:25:21"}],"functionName":{"name":"mstore","nativeSrc":"16021:6:21","nodeType":"YulIdentifier","src":"16021:6:21"},"nativeSrc":"16021:49:21","nodeType":"YulFunctionCall","src":"16021:49:21"},"nativeSrc":"16021:49:21","nodeType":"YulExpressionStatement","src":"16021:49:21"}]},"name":"writeString","nativeSrc":"15742:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"15763:3:21","nodeType":"YulTypedName","src":"15763:3:21","type":""},{"name":"w","nativeSrc":"15768:1:21","nodeType":"YulTypedName","src":"15768:1:21","type":""}],"src":"15742:342:21"},{"nativeSrc":"16097:17:21","nodeType":"YulAssignment","src":"16097:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"16109:4:21","nodeType":"YulLiteral","src":"16109:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"16103:5:21","nodeType":"YulIdentifier","src":"16103:5:21"},"nativeSrc":"16103:11:21","nodeType":"YulFunctionCall","src":"16103:11:21"},"variableNames":[{"name":"m0","nativeSrc":"16097:2:21","nodeType":"YulIdentifier","src":"16097:2:21"}]},{"nativeSrc":"16127:17:21","nodeType":"YulAssignment","src":"16127:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"16139:4:21","nodeType":"YulLiteral","src":"16139:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"16133:5:21","nodeType":"YulIdentifier","src":"16133:5:21"},"nativeSrc":"16133:11:21","nodeType":"YulFunctionCall","src":"16133:11:21"},"variableNames":[{"name":"m1","nativeSrc":"16127:2:21","nodeType":"YulIdentifier","src":"16127:2:21"}]},{"nativeSrc":"16157:17:21","nodeType":"YulAssignment","src":"16157:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"16169:4:21","nodeType":"YulLiteral","src":"16169:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"16163:5:21","nodeType":"YulIdentifier","src":"16163:5:21"},"nativeSrc":"16163:11:21","nodeType":"YulFunctionCall","src":"16163:11:21"},"variableNames":[{"name":"m2","nativeSrc":"16157:2:21","nodeType":"YulIdentifier","src":"16157:2:21"}]},{"nativeSrc":"16187:17:21","nodeType":"YulAssignment","src":"16187:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"16199:4:21","nodeType":"YulLiteral","src":"16199:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"16193:5:21","nodeType":"YulIdentifier","src":"16193:5:21"},"nativeSrc":"16193:11:21","nodeType":"YulFunctionCall","src":"16193:11:21"},"variableNames":[{"name":"m3","nativeSrc":"16187:2:21","nodeType":"YulIdentifier","src":"16187:2:21"}]},{"nativeSrc":"16217:17:21","nodeType":"YulAssignment","src":"16217:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"16229:4:21","nodeType":"YulLiteral","src":"16229:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"16223:5:21","nodeType":"YulIdentifier","src":"16223:5:21"},"nativeSrc":"16223:11:21","nodeType":"YulFunctionCall","src":"16223:11:21"},"variableNames":[{"name":"m4","nativeSrc":"16217:2:21","nodeType":"YulIdentifier","src":"16217:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16304:4:21","nodeType":"YulLiteral","src":"16304:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"16310:10:21","nodeType":"YulLiteral","src":"16310:10:21","type":"","value":"0x319af333"}],"functionName":{"name":"mstore","nativeSrc":"16297:6:21","nodeType":"YulIdentifier","src":"16297:6:21"},"nativeSrc":"16297:24:21","nodeType":"YulFunctionCall","src":"16297:24:21"},"nativeSrc":"16297:24:21","nodeType":"YulExpressionStatement","src":"16297:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16341:4:21","nodeType":"YulLiteral","src":"16341:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"16347:4:21","nodeType":"YulLiteral","src":"16347:4:21","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"16334:6:21","nodeType":"YulIdentifier","src":"16334:6:21"},"nativeSrc":"16334:18:21","nodeType":"YulFunctionCall","src":"16334:18:21"},"nativeSrc":"16334:18:21","nodeType":"YulExpressionStatement","src":"16334:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16372:4:21","nodeType":"YulLiteral","src":"16372:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"16378:2:21","nodeType":"YulIdentifier","src":"16378:2:21"}],"functionName":{"name":"mstore","nativeSrc":"16365:6:21","nodeType":"YulIdentifier","src":"16365:6:21"},"nativeSrc":"16365:16:21","nodeType":"YulFunctionCall","src":"16365:16:21"},"nativeSrc":"16365:16:21","nodeType":"YulExpressionStatement","src":"16365:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16406:4:21","nodeType":"YulLiteral","src":"16406:4:21","type":"","value":"0x60"},{"name":"p0","nativeSrc":"16412:2:21","nodeType":"YulIdentifier","src":"16412:2:21"}],"functionName":{"name":"writeString","nativeSrc":"16394:11:21","nodeType":"YulIdentifier","src":"16394:11:21"},"nativeSrc":"16394:21:21","nodeType":"YulFunctionCall","src":"16394:21:21"},"nativeSrc":"16394:21:21","nodeType":"YulExpressionStatement","src":"16394:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27534,"isOffset":false,"isSlot":false,"src":"16097:2:21","valueSize":1},{"declaration":27537,"isOffset":false,"isSlot":false,"src":"16127:2:21","valueSize":1},{"declaration":27540,"isOffset":false,"isSlot":false,"src":"16157:2:21","valueSize":1},{"declaration":27543,"isOffset":false,"isSlot":false,"src":"16187:2:21","valueSize":1},{"declaration":27546,"isOffset":false,"isSlot":false,"src":"16217:2:21","valueSize":1},{"declaration":27528,"isOffset":false,"isSlot":false,"src":"16412:2:21","valueSize":1},{"declaration":27530,"isOffset":false,"isSlot":false,"src":"16378:2:21","valueSize":1}],"id":27548,"nodeType":"InlineAssembly","src":"15719:706:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16450:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":27551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16456:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":27549,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"16434:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16434:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27553,"nodeType":"ExpressionStatement","src":"16434:27:21"},{"AST":{"nativeSrc":"16523:156:21","nodeType":"YulBlock","src":"16523:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16544:4:21","nodeType":"YulLiteral","src":"16544:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"16550:2:21","nodeType":"YulIdentifier","src":"16550:2:21"}],"functionName":{"name":"mstore","nativeSrc":"16537:6:21","nodeType":"YulIdentifier","src":"16537:6:21"},"nativeSrc":"16537:16:21","nodeType":"YulFunctionCall","src":"16537:16:21"},"nativeSrc":"16537:16:21","nodeType":"YulExpressionStatement","src":"16537:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16573:4:21","nodeType":"YulLiteral","src":"16573:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"16579:2:21","nodeType":"YulIdentifier","src":"16579:2:21"}],"functionName":{"name":"mstore","nativeSrc":"16566:6:21","nodeType":"YulIdentifier","src":"16566:6:21"},"nativeSrc":"16566:16:21","nodeType":"YulFunctionCall","src":"16566:16:21"},"nativeSrc":"16566:16:21","nodeType":"YulExpressionStatement","src":"16566:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16602:4:21","nodeType":"YulLiteral","src":"16602:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"16608:2:21","nodeType":"YulIdentifier","src":"16608:2:21"}],"functionName":{"name":"mstore","nativeSrc":"16595:6:21","nodeType":"YulIdentifier","src":"16595:6:21"},"nativeSrc":"16595:16:21","nodeType":"YulFunctionCall","src":"16595:16:21"},"nativeSrc":"16595:16:21","nodeType":"YulExpressionStatement","src":"16595:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16631:4:21","nodeType":"YulLiteral","src":"16631:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"16637:2:21","nodeType":"YulIdentifier","src":"16637:2:21"}],"functionName":{"name":"mstore","nativeSrc":"16624:6:21","nodeType":"YulIdentifier","src":"16624:6:21"},"nativeSrc":"16624:16:21","nodeType":"YulFunctionCall","src":"16624:16:21"},"nativeSrc":"16624:16:21","nodeType":"YulExpressionStatement","src":"16624:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16660:4:21","nodeType":"YulLiteral","src":"16660:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"16666:2:21","nodeType":"YulIdentifier","src":"16666:2:21"}],"functionName":{"name":"mstore","nativeSrc":"16653:6:21","nodeType":"YulIdentifier","src":"16653:6:21"},"nativeSrc":"16653:16:21","nodeType":"YulFunctionCall","src":"16653:16:21"},"nativeSrc":"16653:16:21","nodeType":"YulExpressionStatement","src":"16653:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27534,"isOffset":false,"isSlot":false,"src":"16550:2:21","valueSize":1},{"declaration":27537,"isOffset":false,"isSlot":false,"src":"16579:2:21","valueSize":1},{"declaration":27540,"isOffset":false,"isSlot":false,"src":"16608:2:21","valueSize":1},{"declaration":27543,"isOffset":false,"isSlot":false,"src":"16637:2:21","valueSize":1},{"declaration":27546,"isOffset":false,"isSlot":false,"src":"16666:2:21","valueSize":1}],"id":27554,"nodeType":"InlineAssembly","src":"16514:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15524:3:21","parameters":{"id":27531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27528,"mutability":"mutable","name":"p0","nameLocation":"15536:2:21","nodeType":"VariableDeclaration","scope":27556,"src":"15528:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15528:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27530,"mutability":"mutable","name":"p1","nameLocation":"15548:2:21","nodeType":"VariableDeclaration","scope":27556,"src":"15540:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27529,"name":"address","nodeType":"ElementaryTypeName","src":"15540:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15527:24:21"},"returnParameters":{"id":27532,"nodeType":"ParameterList","parameters":[],"src":"15566:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27586,"nodeType":"FunctionDefinition","src":"16691:1164:21","nodes":[],"body":{"id":27585,"nodeType":"Block","src":"16739:1116:21","nodes":[],"statements":[{"assignments":[27564],"declarations":[{"constant":false,"id":27564,"mutability":"mutable","name":"m0","nameLocation":"16757:2:21","nodeType":"VariableDeclaration","scope":27585,"src":"16749:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16749:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27565,"nodeType":"VariableDeclarationStatement","src":"16749:10:21"},{"assignments":[27567],"declarations":[{"constant":false,"id":27567,"mutability":"mutable","name":"m1","nameLocation":"16777:2:21","nodeType":"VariableDeclaration","scope":27585,"src":"16769:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16769:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27568,"nodeType":"VariableDeclarationStatement","src":"16769:10:21"},{"assignments":[27570],"declarations":[{"constant":false,"id":27570,"mutability":"mutable","name":"m2","nameLocation":"16797:2:21","nodeType":"VariableDeclaration","scope":27585,"src":"16789:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16789:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27571,"nodeType":"VariableDeclarationStatement","src":"16789:10:21"},{"assignments":[27573],"declarations":[{"constant":false,"id":27573,"mutability":"mutable","name":"m3","nameLocation":"16817:2:21","nodeType":"VariableDeclaration","scope":27585,"src":"16809:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16809:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27574,"nodeType":"VariableDeclarationStatement","src":"16809:10:21"},{"assignments":[27576],"declarations":[{"constant":false,"id":27576,"mutability":"mutable","name":"m4","nameLocation":"16837:2:21","nodeType":"VariableDeclaration","scope":27585,"src":"16829:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16829:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27577,"nodeType":"VariableDeclarationStatement","src":"16829:10:21"},{"AST":{"nativeSrc":"16901:694:21","nodeType":"YulBlock","src":"16901:694:21","statements":[{"body":{"nativeSrc":"16944:313:21","nodeType":"YulBlock","src":"16944:313:21","statements":[{"nativeSrc":"16962:15:21","nodeType":"YulVariableDeclaration","src":"16962:15:21","value":{"kind":"number","nativeSrc":"16976:1:21","nodeType":"YulLiteral","src":"16976:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"16966:6:21","nodeType":"YulTypedName","src":"16966:6:21","type":""}]},{"body":{"nativeSrc":"17047:40:21","nodeType":"YulBlock","src":"17047:40:21","statements":[{"body":{"nativeSrc":"17076:9:21","nodeType":"YulBlock","src":"17076:9:21","statements":[{"nativeSrc":"17078:5:21","nodeType":"YulBreak","src":"17078:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"17064:6:21","nodeType":"YulIdentifier","src":"17064:6:21"},{"name":"w","nativeSrc":"17072:1:21","nodeType":"YulIdentifier","src":"17072:1:21"}],"functionName":{"name":"byte","nativeSrc":"17059:4:21","nodeType":"YulIdentifier","src":"17059:4:21"},"nativeSrc":"17059:15:21","nodeType":"YulFunctionCall","src":"17059:15:21"}],"functionName":{"name":"iszero","nativeSrc":"17052:6:21","nodeType":"YulIdentifier","src":"17052:6:21"},"nativeSrc":"17052:23:21","nodeType":"YulFunctionCall","src":"17052:23:21"},"nativeSrc":"17049:36:21","nodeType":"YulIf","src":"17049:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"17004:6:21","nodeType":"YulIdentifier","src":"17004:6:21"},{"kind":"number","nativeSrc":"17012:4:21","nodeType":"YulLiteral","src":"17012:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"17001:2:21","nodeType":"YulIdentifier","src":"17001:2:21"},"nativeSrc":"17001:16:21","nodeType":"YulFunctionCall","src":"17001:16:21"},"nativeSrc":"16994:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"17018:28:21","nodeType":"YulBlock","src":"17018:28:21","statements":[{"nativeSrc":"17020:24:21","nodeType":"YulAssignment","src":"17020:24:21","value":{"arguments":[{"name":"length","nativeSrc":"17034:6:21","nodeType":"YulIdentifier","src":"17034:6:21"},{"kind":"number","nativeSrc":"17042:1:21","nodeType":"YulLiteral","src":"17042:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"17030:3:21","nodeType":"YulIdentifier","src":"17030:3:21"},"nativeSrc":"17030:14:21","nodeType":"YulFunctionCall","src":"17030:14:21"},"variableNames":[{"name":"length","nativeSrc":"17020:6:21","nodeType":"YulIdentifier","src":"17020:6:21"}]}]},"pre":{"nativeSrc":"16998:2:21","nodeType":"YulBlock","src":"16998:2:21","statements":[]},"src":"16994:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"17111:3:21","nodeType":"YulIdentifier","src":"17111:3:21"},{"name":"length","nativeSrc":"17116:6:21","nodeType":"YulIdentifier","src":"17116:6:21"}],"functionName":{"name":"mstore","nativeSrc":"17104:6:21","nodeType":"YulIdentifier","src":"17104:6:21"},"nativeSrc":"17104:19:21","nodeType":"YulFunctionCall","src":"17104:19:21"},"nativeSrc":"17104:19:21","nodeType":"YulExpressionStatement","src":"17104:19:21"},{"nativeSrc":"17140:37:21","nodeType":"YulVariableDeclaration","src":"17140:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"17157:3:21","nodeType":"YulLiteral","src":"17157:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"17166:1:21","nodeType":"YulLiteral","src":"17166:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"17169:6:21","nodeType":"YulIdentifier","src":"17169:6:21"}],"functionName":{"name":"shl","nativeSrc":"17162:3:21","nodeType":"YulIdentifier","src":"17162:3:21"},"nativeSrc":"17162:14:21","nodeType":"YulFunctionCall","src":"17162:14:21"}],"functionName":{"name":"sub","nativeSrc":"17153:3:21","nodeType":"YulIdentifier","src":"17153:3:21"},"nativeSrc":"17153:24:21","nodeType":"YulFunctionCall","src":"17153:24:21"},"variables":[{"name":"shift","nativeSrc":"17144:5:21","nodeType":"YulTypedName","src":"17144:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"17205:3:21","nodeType":"YulIdentifier","src":"17205:3:21"},{"kind":"number","nativeSrc":"17210:4:21","nodeType":"YulLiteral","src":"17210:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"17201:3:21","nodeType":"YulIdentifier","src":"17201:3:21"},"nativeSrc":"17201:14:21","nodeType":"YulFunctionCall","src":"17201:14:21"},{"arguments":[{"name":"shift","nativeSrc":"17221:5:21","nodeType":"YulIdentifier","src":"17221:5:21"},{"arguments":[{"name":"shift","nativeSrc":"17232:5:21","nodeType":"YulIdentifier","src":"17232:5:21"},{"name":"w","nativeSrc":"17239:1:21","nodeType":"YulIdentifier","src":"17239:1:21"}],"functionName":{"name":"shr","nativeSrc":"17228:3:21","nodeType":"YulIdentifier","src":"17228:3:21"},"nativeSrc":"17228:13:21","nodeType":"YulFunctionCall","src":"17228:13:21"}],"functionName":{"name":"shl","nativeSrc":"17217:3:21","nodeType":"YulIdentifier","src":"17217:3:21"},"nativeSrc":"17217:25:21","nodeType":"YulFunctionCall","src":"17217:25:21"}],"functionName":{"name":"mstore","nativeSrc":"17194:6:21","nodeType":"YulIdentifier","src":"17194:6:21"},"nativeSrc":"17194:49:21","nodeType":"YulFunctionCall","src":"17194:49:21"},"nativeSrc":"17194:49:21","nodeType":"YulExpressionStatement","src":"17194:49:21"}]},"name":"writeString","nativeSrc":"16915:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"16936:3:21","nodeType":"YulTypedName","src":"16936:3:21","type":""},{"name":"w","nativeSrc":"16941:1:21","nodeType":"YulTypedName","src":"16941:1:21","type":""}],"src":"16915:342:21"},{"nativeSrc":"17270:17:21","nodeType":"YulAssignment","src":"17270:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"17282:4:21","nodeType":"YulLiteral","src":"17282:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"17276:5:21","nodeType":"YulIdentifier","src":"17276:5:21"},"nativeSrc":"17276:11:21","nodeType":"YulFunctionCall","src":"17276:11:21"},"variableNames":[{"name":"m0","nativeSrc":"17270:2:21","nodeType":"YulIdentifier","src":"17270:2:21"}]},{"nativeSrc":"17300:17:21","nodeType":"YulAssignment","src":"17300:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"17312:4:21","nodeType":"YulLiteral","src":"17312:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"17306:5:21","nodeType":"YulIdentifier","src":"17306:5:21"},"nativeSrc":"17306:11:21","nodeType":"YulFunctionCall","src":"17306:11:21"},"variableNames":[{"name":"m1","nativeSrc":"17300:2:21","nodeType":"YulIdentifier","src":"17300:2:21"}]},{"nativeSrc":"17330:17:21","nodeType":"YulAssignment","src":"17330:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"17342:4:21","nodeType":"YulLiteral","src":"17342:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17336:5:21","nodeType":"YulIdentifier","src":"17336:5:21"},"nativeSrc":"17336:11:21","nodeType":"YulFunctionCall","src":"17336:11:21"},"variableNames":[{"name":"m2","nativeSrc":"17330:2:21","nodeType":"YulIdentifier","src":"17330:2:21"}]},{"nativeSrc":"17360:17:21","nodeType":"YulAssignment","src":"17360:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"17372:4:21","nodeType":"YulLiteral","src":"17372:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"17366:5:21","nodeType":"YulIdentifier","src":"17366:5:21"},"nativeSrc":"17366:11:21","nodeType":"YulFunctionCall","src":"17366:11:21"},"variableNames":[{"name":"m3","nativeSrc":"17360:2:21","nodeType":"YulIdentifier","src":"17360:2:21"}]},{"nativeSrc":"17390:17:21","nodeType":"YulAssignment","src":"17390:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"17402:4:21","nodeType":"YulLiteral","src":"17402:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"17396:5:21","nodeType":"YulIdentifier","src":"17396:5:21"},"nativeSrc":"17396:11:21","nodeType":"YulFunctionCall","src":"17396:11:21"},"variableNames":[{"name":"m4","nativeSrc":"17390:2:21","nodeType":"YulIdentifier","src":"17390:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17474:4:21","nodeType":"YulLiteral","src":"17474:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"17480:10:21","nodeType":"YulLiteral","src":"17480:10:21","type":"","value":"0xc3b55635"}],"functionName":{"name":"mstore","nativeSrc":"17467:6:21","nodeType":"YulIdentifier","src":"17467:6:21"},"nativeSrc":"17467:24:21","nodeType":"YulFunctionCall","src":"17467:24:21"},"nativeSrc":"17467:24:21","nodeType":"YulExpressionStatement","src":"17467:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17511:4:21","nodeType":"YulLiteral","src":"17511:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"17517:4:21","nodeType":"YulLiteral","src":"17517:4:21","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"17504:6:21","nodeType":"YulIdentifier","src":"17504:6:21"},"nativeSrc":"17504:18:21","nodeType":"YulFunctionCall","src":"17504:18:21"},"nativeSrc":"17504:18:21","nodeType":"YulExpressionStatement","src":"17504:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17542:4:21","nodeType":"YulLiteral","src":"17542:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"17548:2:21","nodeType":"YulIdentifier","src":"17548:2:21"}],"functionName":{"name":"mstore","nativeSrc":"17535:6:21","nodeType":"YulIdentifier","src":"17535:6:21"},"nativeSrc":"17535:16:21","nodeType":"YulFunctionCall","src":"17535:16:21"},"nativeSrc":"17535:16:21","nodeType":"YulExpressionStatement","src":"17535:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17576:4:21","nodeType":"YulLiteral","src":"17576:4:21","type":"","value":"0x60"},{"name":"p0","nativeSrc":"17582:2:21","nodeType":"YulIdentifier","src":"17582:2:21"}],"functionName":{"name":"writeString","nativeSrc":"17564:11:21","nodeType":"YulIdentifier","src":"17564:11:21"},"nativeSrc":"17564:21:21","nodeType":"YulFunctionCall","src":"17564:21:21"},"nativeSrc":"17564:21:21","nodeType":"YulExpressionStatement","src":"17564:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27564,"isOffset":false,"isSlot":false,"src":"17270:2:21","valueSize":1},{"declaration":27567,"isOffset":false,"isSlot":false,"src":"17300:2:21","valueSize":1},{"declaration":27570,"isOffset":false,"isSlot":false,"src":"17330:2:21","valueSize":1},{"declaration":27573,"isOffset":false,"isSlot":false,"src":"17360:2:21","valueSize":1},{"declaration":27576,"isOffset":false,"isSlot":false,"src":"17390:2:21","valueSize":1},{"declaration":27558,"isOffset":false,"isSlot":false,"src":"17582:2:21","valueSize":1},{"declaration":27560,"isOffset":false,"isSlot":false,"src":"17548:2:21","valueSize":1}],"id":27578,"nodeType":"InlineAssembly","src":"16892:703:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17620:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":27581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17626:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":27579,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"17604:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17604:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27583,"nodeType":"ExpressionStatement","src":"17604:27:21"},{"AST":{"nativeSrc":"17693:156:21","nodeType":"YulBlock","src":"17693:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17714:4:21","nodeType":"YulLiteral","src":"17714:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"17720:2:21","nodeType":"YulIdentifier","src":"17720:2:21"}],"functionName":{"name":"mstore","nativeSrc":"17707:6:21","nodeType":"YulIdentifier","src":"17707:6:21"},"nativeSrc":"17707:16:21","nodeType":"YulFunctionCall","src":"17707:16:21"},"nativeSrc":"17707:16:21","nodeType":"YulExpressionStatement","src":"17707:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17743:4:21","nodeType":"YulLiteral","src":"17743:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"17749:2:21","nodeType":"YulIdentifier","src":"17749:2:21"}],"functionName":{"name":"mstore","nativeSrc":"17736:6:21","nodeType":"YulIdentifier","src":"17736:6:21"},"nativeSrc":"17736:16:21","nodeType":"YulFunctionCall","src":"17736:16:21"},"nativeSrc":"17736:16:21","nodeType":"YulExpressionStatement","src":"17736:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17772:4:21","nodeType":"YulLiteral","src":"17772:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"17778:2:21","nodeType":"YulIdentifier","src":"17778:2:21"}],"functionName":{"name":"mstore","nativeSrc":"17765:6:21","nodeType":"YulIdentifier","src":"17765:6:21"},"nativeSrc":"17765:16:21","nodeType":"YulFunctionCall","src":"17765:16:21"},"nativeSrc":"17765:16:21","nodeType":"YulExpressionStatement","src":"17765:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17801:4:21","nodeType":"YulLiteral","src":"17801:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"17807:2:21","nodeType":"YulIdentifier","src":"17807:2:21"}],"functionName":{"name":"mstore","nativeSrc":"17794:6:21","nodeType":"YulIdentifier","src":"17794:6:21"},"nativeSrc":"17794:16:21","nodeType":"YulFunctionCall","src":"17794:16:21"},"nativeSrc":"17794:16:21","nodeType":"YulExpressionStatement","src":"17794:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17830:4:21","nodeType":"YulLiteral","src":"17830:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"17836:2:21","nodeType":"YulIdentifier","src":"17836:2:21"}],"functionName":{"name":"mstore","nativeSrc":"17823:6:21","nodeType":"YulIdentifier","src":"17823:6:21"},"nativeSrc":"17823:16:21","nodeType":"YulFunctionCall","src":"17823:16:21"},"nativeSrc":"17823:16:21","nodeType":"YulExpressionStatement","src":"17823:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27564,"isOffset":false,"isSlot":false,"src":"17720:2:21","valueSize":1},{"declaration":27567,"isOffset":false,"isSlot":false,"src":"17749:2:21","valueSize":1},{"declaration":27570,"isOffset":false,"isSlot":false,"src":"17778:2:21","valueSize":1},{"declaration":27573,"isOffset":false,"isSlot":false,"src":"17807:2:21","valueSize":1},{"declaration":27576,"isOffset":false,"isSlot":false,"src":"17836:2:21","valueSize":1}],"id":27584,"nodeType":"InlineAssembly","src":"17684:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16700:3:21","parameters":{"id":27561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27558,"mutability":"mutable","name":"p0","nameLocation":"16712:2:21","nodeType":"VariableDeclaration","scope":27586,"src":"16704:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16704:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27560,"mutability":"mutable","name":"p1","nameLocation":"16721:2:21","nodeType":"VariableDeclaration","scope":27586,"src":"16716:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27559,"name":"bool","nodeType":"ElementaryTypeName","src":"16716:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16703:21:21"},"returnParameters":{"id":27562,"nodeType":"ParameterList","parameters":[],"src":"16739:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27616,"nodeType":"FunctionDefinition","src":"17861:1170:21","nodes":[],"body":{"id":27615,"nodeType":"Block","src":"17912:1119:21","nodes":[],"statements":[{"assignments":[27594],"declarations":[{"constant":false,"id":27594,"mutability":"mutable","name":"m0","nameLocation":"17930:2:21","nodeType":"VariableDeclaration","scope":27615,"src":"17922:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17922:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27595,"nodeType":"VariableDeclarationStatement","src":"17922:10:21"},{"assignments":[27597],"declarations":[{"constant":false,"id":27597,"mutability":"mutable","name":"m1","nameLocation":"17950:2:21","nodeType":"VariableDeclaration","scope":27615,"src":"17942:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17942:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27598,"nodeType":"VariableDeclarationStatement","src":"17942:10:21"},{"assignments":[27600],"declarations":[{"constant":false,"id":27600,"mutability":"mutable","name":"m2","nameLocation":"17970:2:21","nodeType":"VariableDeclaration","scope":27615,"src":"17962:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17962:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27601,"nodeType":"VariableDeclarationStatement","src":"17962:10:21"},{"assignments":[27603],"declarations":[{"constant":false,"id":27603,"mutability":"mutable","name":"m3","nameLocation":"17990:2:21","nodeType":"VariableDeclaration","scope":27615,"src":"17982:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17982:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27604,"nodeType":"VariableDeclarationStatement","src":"17982:10:21"},{"assignments":[27606],"declarations":[{"constant":false,"id":27606,"mutability":"mutable","name":"m4","nameLocation":"18010:2:21","nodeType":"VariableDeclaration","scope":27615,"src":"18002:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18002:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27607,"nodeType":"VariableDeclarationStatement","src":"18002:10:21"},{"AST":{"nativeSrc":"18074:697:21","nodeType":"YulBlock","src":"18074:697:21","statements":[{"body":{"nativeSrc":"18117:313:21","nodeType":"YulBlock","src":"18117:313:21","statements":[{"nativeSrc":"18135:15:21","nodeType":"YulVariableDeclaration","src":"18135:15:21","value":{"kind":"number","nativeSrc":"18149:1:21","nodeType":"YulLiteral","src":"18149:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"18139:6:21","nodeType":"YulTypedName","src":"18139:6:21","type":""}]},{"body":{"nativeSrc":"18220:40:21","nodeType":"YulBlock","src":"18220:40:21","statements":[{"body":{"nativeSrc":"18249:9:21","nodeType":"YulBlock","src":"18249:9:21","statements":[{"nativeSrc":"18251:5:21","nodeType":"YulBreak","src":"18251:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"18237:6:21","nodeType":"YulIdentifier","src":"18237:6:21"},{"name":"w","nativeSrc":"18245:1:21","nodeType":"YulIdentifier","src":"18245:1:21"}],"functionName":{"name":"byte","nativeSrc":"18232:4:21","nodeType":"YulIdentifier","src":"18232:4:21"},"nativeSrc":"18232:15:21","nodeType":"YulFunctionCall","src":"18232:15:21"}],"functionName":{"name":"iszero","nativeSrc":"18225:6:21","nodeType":"YulIdentifier","src":"18225:6:21"},"nativeSrc":"18225:23:21","nodeType":"YulFunctionCall","src":"18225:23:21"},"nativeSrc":"18222:36:21","nodeType":"YulIf","src":"18222:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"18177:6:21","nodeType":"YulIdentifier","src":"18177:6:21"},{"kind":"number","nativeSrc":"18185:4:21","nodeType":"YulLiteral","src":"18185:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"18174:2:21","nodeType":"YulIdentifier","src":"18174:2:21"},"nativeSrc":"18174:16:21","nodeType":"YulFunctionCall","src":"18174:16:21"},"nativeSrc":"18167:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"18191:28:21","nodeType":"YulBlock","src":"18191:28:21","statements":[{"nativeSrc":"18193:24:21","nodeType":"YulAssignment","src":"18193:24:21","value":{"arguments":[{"name":"length","nativeSrc":"18207:6:21","nodeType":"YulIdentifier","src":"18207:6:21"},{"kind":"number","nativeSrc":"18215:1:21","nodeType":"YulLiteral","src":"18215:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"18203:3:21","nodeType":"YulIdentifier","src":"18203:3:21"},"nativeSrc":"18203:14:21","nodeType":"YulFunctionCall","src":"18203:14:21"},"variableNames":[{"name":"length","nativeSrc":"18193:6:21","nodeType":"YulIdentifier","src":"18193:6:21"}]}]},"pre":{"nativeSrc":"18171:2:21","nodeType":"YulBlock","src":"18171:2:21","statements":[]},"src":"18167:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"18284:3:21","nodeType":"YulIdentifier","src":"18284:3:21"},{"name":"length","nativeSrc":"18289:6:21","nodeType":"YulIdentifier","src":"18289:6:21"}],"functionName":{"name":"mstore","nativeSrc":"18277:6:21","nodeType":"YulIdentifier","src":"18277:6:21"},"nativeSrc":"18277:19:21","nodeType":"YulFunctionCall","src":"18277:19:21"},"nativeSrc":"18277:19:21","nodeType":"YulExpressionStatement","src":"18277:19:21"},{"nativeSrc":"18313:37:21","nodeType":"YulVariableDeclaration","src":"18313:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"18330:3:21","nodeType":"YulLiteral","src":"18330:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"18339:1:21","nodeType":"YulLiteral","src":"18339:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"18342:6:21","nodeType":"YulIdentifier","src":"18342:6:21"}],"functionName":{"name":"shl","nativeSrc":"18335:3:21","nodeType":"YulIdentifier","src":"18335:3:21"},"nativeSrc":"18335:14:21","nodeType":"YulFunctionCall","src":"18335:14:21"}],"functionName":{"name":"sub","nativeSrc":"18326:3:21","nodeType":"YulIdentifier","src":"18326:3:21"},"nativeSrc":"18326:24:21","nodeType":"YulFunctionCall","src":"18326:24:21"},"variables":[{"name":"shift","nativeSrc":"18317:5:21","nodeType":"YulTypedName","src":"18317:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"18378:3:21","nodeType":"YulIdentifier","src":"18378:3:21"},{"kind":"number","nativeSrc":"18383:4:21","nodeType":"YulLiteral","src":"18383:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18374:3:21","nodeType":"YulIdentifier","src":"18374:3:21"},"nativeSrc":"18374:14:21","nodeType":"YulFunctionCall","src":"18374:14:21"},{"arguments":[{"name":"shift","nativeSrc":"18394:5:21","nodeType":"YulIdentifier","src":"18394:5:21"},{"arguments":[{"name":"shift","nativeSrc":"18405:5:21","nodeType":"YulIdentifier","src":"18405:5:21"},{"name":"w","nativeSrc":"18412:1:21","nodeType":"YulIdentifier","src":"18412:1:21"}],"functionName":{"name":"shr","nativeSrc":"18401:3:21","nodeType":"YulIdentifier","src":"18401:3:21"},"nativeSrc":"18401:13:21","nodeType":"YulFunctionCall","src":"18401:13:21"}],"functionName":{"name":"shl","nativeSrc":"18390:3:21","nodeType":"YulIdentifier","src":"18390:3:21"},"nativeSrc":"18390:25:21","nodeType":"YulFunctionCall","src":"18390:25:21"}],"functionName":{"name":"mstore","nativeSrc":"18367:6:21","nodeType":"YulIdentifier","src":"18367:6:21"},"nativeSrc":"18367:49:21","nodeType":"YulFunctionCall","src":"18367:49:21"},"nativeSrc":"18367:49:21","nodeType":"YulExpressionStatement","src":"18367:49:21"}]},"name":"writeString","nativeSrc":"18088:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"18109:3:21","nodeType":"YulTypedName","src":"18109:3:21","type":""},{"name":"w","nativeSrc":"18114:1:21","nodeType":"YulTypedName","src":"18114:1:21","type":""}],"src":"18088:342:21"},{"nativeSrc":"18443:17:21","nodeType":"YulAssignment","src":"18443:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"18455:4:21","nodeType":"YulLiteral","src":"18455:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"18449:5:21","nodeType":"YulIdentifier","src":"18449:5:21"},"nativeSrc":"18449:11:21","nodeType":"YulFunctionCall","src":"18449:11:21"},"variableNames":[{"name":"m0","nativeSrc":"18443:2:21","nodeType":"YulIdentifier","src":"18443:2:21"}]},{"nativeSrc":"18473:17:21","nodeType":"YulAssignment","src":"18473:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"18485:4:21","nodeType":"YulLiteral","src":"18485:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"18479:5:21","nodeType":"YulIdentifier","src":"18479:5:21"},"nativeSrc":"18479:11:21","nodeType":"YulFunctionCall","src":"18479:11:21"},"variableNames":[{"name":"m1","nativeSrc":"18473:2:21","nodeType":"YulIdentifier","src":"18473:2:21"}]},{"nativeSrc":"18503:17:21","nodeType":"YulAssignment","src":"18503:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"18515:4:21","nodeType":"YulLiteral","src":"18515:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"18509:5:21","nodeType":"YulIdentifier","src":"18509:5:21"},"nativeSrc":"18509:11:21","nodeType":"YulFunctionCall","src":"18509:11:21"},"variableNames":[{"name":"m2","nativeSrc":"18503:2:21","nodeType":"YulIdentifier","src":"18503:2:21"}]},{"nativeSrc":"18533:17:21","nodeType":"YulAssignment","src":"18533:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"18545:4:21","nodeType":"YulLiteral","src":"18545:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"18539:5:21","nodeType":"YulIdentifier","src":"18539:5:21"},"nativeSrc":"18539:11:21","nodeType":"YulFunctionCall","src":"18539:11:21"},"variableNames":[{"name":"m3","nativeSrc":"18533:2:21","nodeType":"YulIdentifier","src":"18533:2:21"}]},{"nativeSrc":"18563:17:21","nodeType":"YulAssignment","src":"18563:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"18575:4:21","nodeType":"YulLiteral","src":"18575:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"18569:5:21","nodeType":"YulIdentifier","src":"18569:5:21"},"nativeSrc":"18569:11:21","nodeType":"YulFunctionCall","src":"18569:11:21"},"variableNames":[{"name":"m4","nativeSrc":"18563:2:21","nodeType":"YulIdentifier","src":"18563:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18650:4:21","nodeType":"YulLiteral","src":"18650:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"18656:10:21","nodeType":"YulLiteral","src":"18656:10:21","type":"","value":"0xb60e72cc"}],"functionName":{"name":"mstore","nativeSrc":"18643:6:21","nodeType":"YulIdentifier","src":"18643:6:21"},"nativeSrc":"18643:24:21","nodeType":"YulFunctionCall","src":"18643:24:21"},"nativeSrc":"18643:24:21","nodeType":"YulExpressionStatement","src":"18643:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18687:4:21","nodeType":"YulLiteral","src":"18687:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"18693:4:21","nodeType":"YulLiteral","src":"18693:4:21","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"18680:6:21","nodeType":"YulIdentifier","src":"18680:6:21"},"nativeSrc":"18680:18:21","nodeType":"YulFunctionCall","src":"18680:18:21"},"nativeSrc":"18680:18:21","nodeType":"YulExpressionStatement","src":"18680:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18718:4:21","nodeType":"YulLiteral","src":"18718:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"18724:2:21","nodeType":"YulIdentifier","src":"18724:2:21"}],"functionName":{"name":"mstore","nativeSrc":"18711:6:21","nodeType":"YulIdentifier","src":"18711:6:21"},"nativeSrc":"18711:16:21","nodeType":"YulFunctionCall","src":"18711:16:21"},"nativeSrc":"18711:16:21","nodeType":"YulExpressionStatement","src":"18711:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18752:4:21","nodeType":"YulLiteral","src":"18752:4:21","type":"","value":"0x60"},{"name":"p0","nativeSrc":"18758:2:21","nodeType":"YulIdentifier","src":"18758:2:21"}],"functionName":{"name":"writeString","nativeSrc":"18740:11:21","nodeType":"YulIdentifier","src":"18740:11:21"},"nativeSrc":"18740:21:21","nodeType":"YulFunctionCall","src":"18740:21:21"},"nativeSrc":"18740:21:21","nodeType":"YulExpressionStatement","src":"18740:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27594,"isOffset":false,"isSlot":false,"src":"18443:2:21","valueSize":1},{"declaration":27597,"isOffset":false,"isSlot":false,"src":"18473:2:21","valueSize":1},{"declaration":27600,"isOffset":false,"isSlot":false,"src":"18503:2:21","valueSize":1},{"declaration":27603,"isOffset":false,"isSlot":false,"src":"18533:2:21","valueSize":1},{"declaration":27606,"isOffset":false,"isSlot":false,"src":"18563:2:21","valueSize":1},{"declaration":27588,"isOffset":false,"isSlot":false,"src":"18758:2:21","valueSize":1},{"declaration":27590,"isOffset":false,"isSlot":false,"src":"18724:2:21","valueSize":1}],"id":27608,"nodeType":"InlineAssembly","src":"18065:706:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18796:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":27611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18802:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":27609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"18780:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18780:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27613,"nodeType":"ExpressionStatement","src":"18780:27:21"},{"AST":{"nativeSrc":"18869:156:21","nodeType":"YulBlock","src":"18869:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"18890:4:21","nodeType":"YulLiteral","src":"18890:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"18896:2:21","nodeType":"YulIdentifier","src":"18896:2:21"}],"functionName":{"name":"mstore","nativeSrc":"18883:6:21","nodeType":"YulIdentifier","src":"18883:6:21"},"nativeSrc":"18883:16:21","nodeType":"YulFunctionCall","src":"18883:16:21"},"nativeSrc":"18883:16:21","nodeType":"YulExpressionStatement","src":"18883:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18919:4:21","nodeType":"YulLiteral","src":"18919:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"18925:2:21","nodeType":"YulIdentifier","src":"18925:2:21"}],"functionName":{"name":"mstore","nativeSrc":"18912:6:21","nodeType":"YulIdentifier","src":"18912:6:21"},"nativeSrc":"18912:16:21","nodeType":"YulFunctionCall","src":"18912:16:21"},"nativeSrc":"18912:16:21","nodeType":"YulExpressionStatement","src":"18912:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18948:4:21","nodeType":"YulLiteral","src":"18948:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"18954:2:21","nodeType":"YulIdentifier","src":"18954:2:21"}],"functionName":{"name":"mstore","nativeSrc":"18941:6:21","nodeType":"YulIdentifier","src":"18941:6:21"},"nativeSrc":"18941:16:21","nodeType":"YulFunctionCall","src":"18941:16:21"},"nativeSrc":"18941:16:21","nodeType":"YulExpressionStatement","src":"18941:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18977:4:21","nodeType":"YulLiteral","src":"18977:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"18983:2:21","nodeType":"YulIdentifier","src":"18983:2:21"}],"functionName":{"name":"mstore","nativeSrc":"18970:6:21","nodeType":"YulIdentifier","src":"18970:6:21"},"nativeSrc":"18970:16:21","nodeType":"YulFunctionCall","src":"18970:16:21"},"nativeSrc":"18970:16:21","nodeType":"YulExpressionStatement","src":"18970:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19006:4:21","nodeType":"YulLiteral","src":"19006:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"19012:2:21","nodeType":"YulIdentifier","src":"19012:2:21"}],"functionName":{"name":"mstore","nativeSrc":"18999:6:21","nodeType":"YulIdentifier","src":"18999:6:21"},"nativeSrc":"18999:16:21","nodeType":"YulFunctionCall","src":"18999:16:21"},"nativeSrc":"18999:16:21","nodeType":"YulExpressionStatement","src":"18999:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27594,"isOffset":false,"isSlot":false,"src":"18896:2:21","valueSize":1},{"declaration":27597,"isOffset":false,"isSlot":false,"src":"18925:2:21","valueSize":1},{"declaration":27600,"isOffset":false,"isSlot":false,"src":"18954:2:21","valueSize":1},{"declaration":27603,"isOffset":false,"isSlot":false,"src":"18983:2:21","valueSize":1},{"declaration":27606,"isOffset":false,"isSlot":false,"src":"19012:2:21","valueSize":1}],"id":27614,"nodeType":"InlineAssembly","src":"18860:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17870:3:21","parameters":{"id":27591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27588,"mutability":"mutable","name":"p0","nameLocation":"17882:2:21","nodeType":"VariableDeclaration","scope":27616,"src":"17874:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17874:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27590,"mutability":"mutable","name":"p1","nameLocation":"17894:2:21","nodeType":"VariableDeclaration","scope":27616,"src":"17886:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27589,"name":"uint256","nodeType":"ElementaryTypeName","src":"17886:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17873:24:21"},"returnParameters":{"id":27592,"nodeType":"ParameterList","parameters":[],"src":"17912:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27652,"nodeType":"FunctionDefinition","src":"19037:1363:21","nodes":[],"body":{"id":27651,"nodeType":"Block","src":"19088:1312:21","nodes":[],"statements":[{"assignments":[27624],"declarations":[{"constant":false,"id":27624,"mutability":"mutable","name":"m0","nameLocation":"19106:2:21","nodeType":"VariableDeclaration","scope":27651,"src":"19098:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19098:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27625,"nodeType":"VariableDeclarationStatement","src":"19098:10:21"},{"assignments":[27627],"declarations":[{"constant":false,"id":27627,"mutability":"mutable","name":"m1","nameLocation":"19126:2:21","nodeType":"VariableDeclaration","scope":27651,"src":"19118:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19118:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27628,"nodeType":"VariableDeclarationStatement","src":"19118:10:21"},{"assignments":[27630],"declarations":[{"constant":false,"id":27630,"mutability":"mutable","name":"m2","nameLocation":"19146:2:21","nodeType":"VariableDeclaration","scope":27651,"src":"19138:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19138:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27631,"nodeType":"VariableDeclarationStatement","src":"19138:10:21"},{"assignments":[27633],"declarations":[{"constant":false,"id":27633,"mutability":"mutable","name":"m3","nameLocation":"19166:2:21","nodeType":"VariableDeclaration","scope":27651,"src":"19158:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19158:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27634,"nodeType":"VariableDeclarationStatement","src":"19158:10:21"},{"assignments":[27636],"declarations":[{"constant":false,"id":27636,"mutability":"mutable","name":"m4","nameLocation":"19186:2:21","nodeType":"VariableDeclaration","scope":27651,"src":"19178:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19178:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27637,"nodeType":"VariableDeclarationStatement","src":"19178:10:21"},{"assignments":[27639],"declarations":[{"constant":false,"id":27639,"mutability":"mutable","name":"m5","nameLocation":"19206:2:21","nodeType":"VariableDeclaration","scope":27651,"src":"19198:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19198:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27640,"nodeType":"VariableDeclarationStatement","src":"19198:10:21"},{"assignments":[27642],"declarations":[{"constant":false,"id":27642,"mutability":"mutable","name":"m6","nameLocation":"19226:2:21","nodeType":"VariableDeclaration","scope":27651,"src":"19218:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19218:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27643,"nodeType":"VariableDeclarationStatement","src":"19218:10:21"},{"AST":{"nativeSrc":"19290:792:21","nodeType":"YulBlock","src":"19290:792:21","statements":[{"body":{"nativeSrc":"19333:313:21","nodeType":"YulBlock","src":"19333:313:21","statements":[{"nativeSrc":"19351:15:21","nodeType":"YulVariableDeclaration","src":"19351:15:21","value":{"kind":"number","nativeSrc":"19365:1:21","nodeType":"YulLiteral","src":"19365:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"19355:6:21","nodeType":"YulTypedName","src":"19355:6:21","type":""}]},{"body":{"nativeSrc":"19436:40:21","nodeType":"YulBlock","src":"19436:40:21","statements":[{"body":{"nativeSrc":"19465:9:21","nodeType":"YulBlock","src":"19465:9:21","statements":[{"nativeSrc":"19467:5:21","nodeType":"YulBreak","src":"19467:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"19453:6:21","nodeType":"YulIdentifier","src":"19453:6:21"},{"name":"w","nativeSrc":"19461:1:21","nodeType":"YulIdentifier","src":"19461:1:21"}],"functionName":{"name":"byte","nativeSrc":"19448:4:21","nodeType":"YulIdentifier","src":"19448:4:21"},"nativeSrc":"19448:15:21","nodeType":"YulFunctionCall","src":"19448:15:21"}],"functionName":{"name":"iszero","nativeSrc":"19441:6:21","nodeType":"YulIdentifier","src":"19441:6:21"},"nativeSrc":"19441:23:21","nodeType":"YulFunctionCall","src":"19441:23:21"},"nativeSrc":"19438:36:21","nodeType":"YulIf","src":"19438:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"19393:6:21","nodeType":"YulIdentifier","src":"19393:6:21"},{"kind":"number","nativeSrc":"19401:4:21","nodeType":"YulLiteral","src":"19401:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"19390:2:21","nodeType":"YulIdentifier","src":"19390:2:21"},"nativeSrc":"19390:16:21","nodeType":"YulFunctionCall","src":"19390:16:21"},"nativeSrc":"19383:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"19407:28:21","nodeType":"YulBlock","src":"19407:28:21","statements":[{"nativeSrc":"19409:24:21","nodeType":"YulAssignment","src":"19409:24:21","value":{"arguments":[{"name":"length","nativeSrc":"19423:6:21","nodeType":"YulIdentifier","src":"19423:6:21"},{"kind":"number","nativeSrc":"19431:1:21","nodeType":"YulLiteral","src":"19431:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"19419:3:21","nodeType":"YulIdentifier","src":"19419:3:21"},"nativeSrc":"19419:14:21","nodeType":"YulFunctionCall","src":"19419:14:21"},"variableNames":[{"name":"length","nativeSrc":"19409:6:21","nodeType":"YulIdentifier","src":"19409:6:21"}]}]},"pre":{"nativeSrc":"19387:2:21","nodeType":"YulBlock","src":"19387:2:21","statements":[]},"src":"19383:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"19500:3:21","nodeType":"YulIdentifier","src":"19500:3:21"},{"name":"length","nativeSrc":"19505:6:21","nodeType":"YulIdentifier","src":"19505:6:21"}],"functionName":{"name":"mstore","nativeSrc":"19493:6:21","nodeType":"YulIdentifier","src":"19493:6:21"},"nativeSrc":"19493:19:21","nodeType":"YulFunctionCall","src":"19493:19:21"},"nativeSrc":"19493:19:21","nodeType":"YulExpressionStatement","src":"19493:19:21"},{"nativeSrc":"19529:37:21","nodeType":"YulVariableDeclaration","src":"19529:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"19546:3:21","nodeType":"YulLiteral","src":"19546:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"19555:1:21","nodeType":"YulLiteral","src":"19555:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"19558:6:21","nodeType":"YulIdentifier","src":"19558:6:21"}],"functionName":{"name":"shl","nativeSrc":"19551:3:21","nodeType":"YulIdentifier","src":"19551:3:21"},"nativeSrc":"19551:14:21","nodeType":"YulFunctionCall","src":"19551:14:21"}],"functionName":{"name":"sub","nativeSrc":"19542:3:21","nodeType":"YulIdentifier","src":"19542:3:21"},"nativeSrc":"19542:24:21","nodeType":"YulFunctionCall","src":"19542:24:21"},"variables":[{"name":"shift","nativeSrc":"19533:5:21","nodeType":"YulTypedName","src":"19533:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"19594:3:21","nodeType":"YulIdentifier","src":"19594:3:21"},{"kind":"number","nativeSrc":"19599:4:21","nodeType":"YulLiteral","src":"19599:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19590:3:21","nodeType":"YulIdentifier","src":"19590:3:21"},"nativeSrc":"19590:14:21","nodeType":"YulFunctionCall","src":"19590:14:21"},{"arguments":[{"name":"shift","nativeSrc":"19610:5:21","nodeType":"YulIdentifier","src":"19610:5:21"},{"arguments":[{"name":"shift","nativeSrc":"19621:5:21","nodeType":"YulIdentifier","src":"19621:5:21"},{"name":"w","nativeSrc":"19628:1:21","nodeType":"YulIdentifier","src":"19628:1:21"}],"functionName":{"name":"shr","nativeSrc":"19617:3:21","nodeType":"YulIdentifier","src":"19617:3:21"},"nativeSrc":"19617:13:21","nodeType":"YulFunctionCall","src":"19617:13:21"}],"functionName":{"name":"shl","nativeSrc":"19606:3:21","nodeType":"YulIdentifier","src":"19606:3:21"},"nativeSrc":"19606:25:21","nodeType":"YulFunctionCall","src":"19606:25:21"}],"functionName":{"name":"mstore","nativeSrc":"19583:6:21","nodeType":"YulIdentifier","src":"19583:6:21"},"nativeSrc":"19583:49:21","nodeType":"YulFunctionCall","src":"19583:49:21"},"nativeSrc":"19583:49:21","nodeType":"YulExpressionStatement","src":"19583:49:21"}]},"name":"writeString","nativeSrc":"19304:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"19325:3:21","nodeType":"YulTypedName","src":"19325:3:21","type":""},{"name":"w","nativeSrc":"19330:1:21","nodeType":"YulTypedName","src":"19330:1:21","type":""}],"src":"19304:342:21"},{"nativeSrc":"19659:17:21","nodeType":"YulAssignment","src":"19659:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"19671:4:21","nodeType":"YulLiteral","src":"19671:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"19665:5:21","nodeType":"YulIdentifier","src":"19665:5:21"},"nativeSrc":"19665:11:21","nodeType":"YulFunctionCall","src":"19665:11:21"},"variableNames":[{"name":"m0","nativeSrc":"19659:2:21","nodeType":"YulIdentifier","src":"19659:2:21"}]},{"nativeSrc":"19689:17:21","nodeType":"YulAssignment","src":"19689:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"19701:4:21","nodeType":"YulLiteral","src":"19701:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"19695:5:21","nodeType":"YulIdentifier","src":"19695:5:21"},"nativeSrc":"19695:11:21","nodeType":"YulFunctionCall","src":"19695:11:21"},"variableNames":[{"name":"m1","nativeSrc":"19689:2:21","nodeType":"YulIdentifier","src":"19689:2:21"}]},{"nativeSrc":"19719:17:21","nodeType":"YulAssignment","src":"19719:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"19731:4:21","nodeType":"YulLiteral","src":"19731:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"19725:5:21","nodeType":"YulIdentifier","src":"19725:5:21"},"nativeSrc":"19725:11:21","nodeType":"YulFunctionCall","src":"19725:11:21"},"variableNames":[{"name":"m2","nativeSrc":"19719:2:21","nodeType":"YulIdentifier","src":"19719:2:21"}]},{"nativeSrc":"19749:17:21","nodeType":"YulAssignment","src":"19749:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"19761:4:21","nodeType":"YulLiteral","src":"19761:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"19755:5:21","nodeType":"YulIdentifier","src":"19755:5:21"},"nativeSrc":"19755:11:21","nodeType":"YulFunctionCall","src":"19755:11:21"},"variableNames":[{"name":"m3","nativeSrc":"19749:2:21","nodeType":"YulIdentifier","src":"19749:2:21"}]},{"nativeSrc":"19779:17:21","nodeType":"YulAssignment","src":"19779:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"19791:4:21","nodeType":"YulLiteral","src":"19791:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"19785:5:21","nodeType":"YulIdentifier","src":"19785:5:21"},"nativeSrc":"19785:11:21","nodeType":"YulFunctionCall","src":"19785:11:21"},"variableNames":[{"name":"m4","nativeSrc":"19779:2:21","nodeType":"YulIdentifier","src":"19779:2:21"}]},{"nativeSrc":"19809:17:21","nodeType":"YulAssignment","src":"19809:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"19821:4:21","nodeType":"YulLiteral","src":"19821:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"19815:5:21","nodeType":"YulIdentifier","src":"19815:5:21"},"nativeSrc":"19815:11:21","nodeType":"YulFunctionCall","src":"19815:11:21"},"variableNames":[{"name":"m5","nativeSrc":"19809:2:21","nodeType":"YulIdentifier","src":"19809:2:21"}]},{"nativeSrc":"19839:17:21","nodeType":"YulAssignment","src":"19839:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"19851:4:21","nodeType":"YulLiteral","src":"19851:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"19845:5:21","nodeType":"YulIdentifier","src":"19845:5:21"},"nativeSrc":"19845:11:21","nodeType":"YulFunctionCall","src":"19845:11:21"},"variableNames":[{"name":"m6","nativeSrc":"19839:2:21","nodeType":"YulIdentifier","src":"19839:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19925:4:21","nodeType":"YulLiteral","src":"19925:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"19931:10:21","nodeType":"YulLiteral","src":"19931:10:21","type":"","value":"0x4b5c4277"}],"functionName":{"name":"mstore","nativeSrc":"19918:6:21","nodeType":"YulIdentifier","src":"19918:6:21"},"nativeSrc":"19918:24:21","nodeType":"YulFunctionCall","src":"19918:24:21"},"nativeSrc":"19918:24:21","nodeType":"YulExpressionStatement","src":"19918:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19962:4:21","nodeType":"YulLiteral","src":"19962:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"19968:4:21","nodeType":"YulLiteral","src":"19968:4:21","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"19955:6:21","nodeType":"YulIdentifier","src":"19955:6:21"},"nativeSrc":"19955:18:21","nodeType":"YulFunctionCall","src":"19955:18:21"},"nativeSrc":"19955:18:21","nodeType":"YulExpressionStatement","src":"19955:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19993:4:21","nodeType":"YulLiteral","src":"19993:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"19999:4:21","nodeType":"YulLiteral","src":"19999:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"19986:6:21","nodeType":"YulIdentifier","src":"19986:6:21"},"nativeSrc":"19986:18:21","nodeType":"YulFunctionCall","src":"19986:18:21"},"nativeSrc":"19986:18:21","nodeType":"YulExpressionStatement","src":"19986:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20029:4:21","nodeType":"YulLiteral","src":"20029:4:21","type":"","value":"0x60"},{"name":"p0","nativeSrc":"20035:2:21","nodeType":"YulIdentifier","src":"20035:2:21"}],"functionName":{"name":"writeString","nativeSrc":"20017:11:21","nodeType":"YulIdentifier","src":"20017:11:21"},"nativeSrc":"20017:21:21","nodeType":"YulFunctionCall","src":"20017:21:21"},"nativeSrc":"20017:21:21","nodeType":"YulExpressionStatement","src":"20017:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20063:4:21","nodeType":"YulLiteral","src":"20063:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"20069:2:21","nodeType":"YulIdentifier","src":"20069:2:21"}],"functionName":{"name":"writeString","nativeSrc":"20051:11:21","nodeType":"YulIdentifier","src":"20051:11:21"},"nativeSrc":"20051:21:21","nodeType":"YulFunctionCall","src":"20051:21:21"},"nativeSrc":"20051:21:21","nodeType":"YulExpressionStatement","src":"20051:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27624,"isOffset":false,"isSlot":false,"src":"19659:2:21","valueSize":1},{"declaration":27627,"isOffset":false,"isSlot":false,"src":"19689:2:21","valueSize":1},{"declaration":27630,"isOffset":false,"isSlot":false,"src":"19719:2:21","valueSize":1},{"declaration":27633,"isOffset":false,"isSlot":false,"src":"19749:2:21","valueSize":1},{"declaration":27636,"isOffset":false,"isSlot":false,"src":"19779:2:21","valueSize":1},{"declaration":27639,"isOffset":false,"isSlot":false,"src":"19809:2:21","valueSize":1},{"declaration":27642,"isOffset":false,"isSlot":false,"src":"19839:2:21","valueSize":1},{"declaration":27618,"isOffset":false,"isSlot":false,"src":"20035:2:21","valueSize":1},{"declaration":27620,"isOffset":false,"isSlot":false,"src":"20069:2:21","valueSize":1}],"id":27644,"nodeType":"InlineAssembly","src":"19281:801:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20107:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":27647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20113:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":27645,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"20091:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20091:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27649,"nodeType":"ExpressionStatement","src":"20091:27:21"},{"AST":{"nativeSrc":"20180:214:21","nodeType":"YulBlock","src":"20180:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"20201:4:21","nodeType":"YulLiteral","src":"20201:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"20207:2:21","nodeType":"YulIdentifier","src":"20207:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20194:6:21","nodeType":"YulIdentifier","src":"20194:6:21"},"nativeSrc":"20194:16:21","nodeType":"YulFunctionCall","src":"20194:16:21"},"nativeSrc":"20194:16:21","nodeType":"YulExpressionStatement","src":"20194:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20230:4:21","nodeType":"YulLiteral","src":"20230:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"20236:2:21","nodeType":"YulIdentifier","src":"20236:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20223:6:21","nodeType":"YulIdentifier","src":"20223:6:21"},"nativeSrc":"20223:16:21","nodeType":"YulFunctionCall","src":"20223:16:21"},"nativeSrc":"20223:16:21","nodeType":"YulExpressionStatement","src":"20223:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20259:4:21","nodeType":"YulLiteral","src":"20259:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"20265:2:21","nodeType":"YulIdentifier","src":"20265:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20252:6:21","nodeType":"YulIdentifier","src":"20252:6:21"},"nativeSrc":"20252:16:21","nodeType":"YulFunctionCall","src":"20252:16:21"},"nativeSrc":"20252:16:21","nodeType":"YulExpressionStatement","src":"20252:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20288:4:21","nodeType":"YulLiteral","src":"20288:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"20294:2:21","nodeType":"YulIdentifier","src":"20294:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20281:6:21","nodeType":"YulIdentifier","src":"20281:6:21"},"nativeSrc":"20281:16:21","nodeType":"YulFunctionCall","src":"20281:16:21"},"nativeSrc":"20281:16:21","nodeType":"YulExpressionStatement","src":"20281:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20317:4:21","nodeType":"YulLiteral","src":"20317:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"20323:2:21","nodeType":"YulIdentifier","src":"20323:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20310:6:21","nodeType":"YulIdentifier","src":"20310:6:21"},"nativeSrc":"20310:16:21","nodeType":"YulFunctionCall","src":"20310:16:21"},"nativeSrc":"20310:16:21","nodeType":"YulExpressionStatement","src":"20310:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20346:4:21","nodeType":"YulLiteral","src":"20346:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"20352:2:21","nodeType":"YulIdentifier","src":"20352:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20339:6:21","nodeType":"YulIdentifier","src":"20339:6:21"},"nativeSrc":"20339:16:21","nodeType":"YulFunctionCall","src":"20339:16:21"},"nativeSrc":"20339:16:21","nodeType":"YulExpressionStatement","src":"20339:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20375:4:21","nodeType":"YulLiteral","src":"20375:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"20381:2:21","nodeType":"YulIdentifier","src":"20381:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20368:6:21","nodeType":"YulIdentifier","src":"20368:6:21"},"nativeSrc":"20368:16:21","nodeType":"YulFunctionCall","src":"20368:16:21"},"nativeSrc":"20368:16:21","nodeType":"YulExpressionStatement","src":"20368:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27624,"isOffset":false,"isSlot":false,"src":"20207:2:21","valueSize":1},{"declaration":27627,"isOffset":false,"isSlot":false,"src":"20236:2:21","valueSize":1},{"declaration":27630,"isOffset":false,"isSlot":false,"src":"20265:2:21","valueSize":1},{"declaration":27633,"isOffset":false,"isSlot":false,"src":"20294:2:21","valueSize":1},{"declaration":27636,"isOffset":false,"isSlot":false,"src":"20323:2:21","valueSize":1},{"declaration":27639,"isOffset":false,"isSlot":false,"src":"20352:2:21","valueSize":1},{"declaration":27642,"isOffset":false,"isSlot":false,"src":"20381:2:21","valueSize":1}],"id":27650,"nodeType":"InlineAssembly","src":"20171:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19046:3:21","parameters":{"id":27621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27618,"mutability":"mutable","name":"p0","nameLocation":"19058:2:21","nodeType":"VariableDeclaration","scope":27652,"src":"19050:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19050:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27620,"mutability":"mutable","name":"p1","nameLocation":"19070:2:21","nodeType":"VariableDeclaration","scope":27652,"src":"19062:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27619,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19062:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19049:24:21"},"returnParameters":{"id":27622,"nodeType":"ParameterList","parameters":[],"src":"19088:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27681,"nodeType":"FunctionDefinition","src":"20406:750:21","nodes":[],"body":{"id":27680,"nodeType":"Block","src":"20469:687:21","nodes":[],"statements":[{"assignments":[27662],"declarations":[{"constant":false,"id":27662,"mutability":"mutable","name":"m0","nameLocation":"20487:2:21","nodeType":"VariableDeclaration","scope":27680,"src":"20479:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20479:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27663,"nodeType":"VariableDeclarationStatement","src":"20479:10:21"},{"assignments":[27665],"declarations":[{"constant":false,"id":27665,"mutability":"mutable","name":"m1","nameLocation":"20507:2:21","nodeType":"VariableDeclaration","scope":27680,"src":"20499:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20499:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27666,"nodeType":"VariableDeclarationStatement","src":"20499:10:21"},{"assignments":[27668],"declarations":[{"constant":false,"id":27668,"mutability":"mutable","name":"m2","nameLocation":"20527:2:21","nodeType":"VariableDeclaration","scope":27680,"src":"20519:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20519:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27669,"nodeType":"VariableDeclarationStatement","src":"20519:10:21"},{"assignments":[27671],"declarations":[{"constant":false,"id":27671,"mutability":"mutable","name":"m3","nameLocation":"20547:2:21","nodeType":"VariableDeclaration","scope":27680,"src":"20539:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20539:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27672,"nodeType":"VariableDeclarationStatement","src":"20539:10:21"},{"AST":{"nativeSrc":"20611:314:21","nodeType":"YulBlock","src":"20611:314:21","statements":[{"nativeSrc":"20625:17:21","nodeType":"YulAssignment","src":"20625:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"20637:4:21","nodeType":"YulLiteral","src":"20637:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"20631:5:21","nodeType":"YulIdentifier","src":"20631:5:21"},"nativeSrc":"20631:11:21","nodeType":"YulFunctionCall","src":"20631:11:21"},"variableNames":[{"name":"m0","nativeSrc":"20625:2:21","nodeType":"YulIdentifier","src":"20625:2:21"}]},{"nativeSrc":"20655:17:21","nodeType":"YulAssignment","src":"20655:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"20667:4:21","nodeType":"YulLiteral","src":"20667:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"20661:5:21","nodeType":"YulIdentifier","src":"20661:5:21"},"nativeSrc":"20661:11:21","nodeType":"YulFunctionCall","src":"20661:11:21"},"variableNames":[{"name":"m1","nativeSrc":"20655:2:21","nodeType":"YulIdentifier","src":"20655:2:21"}]},{"nativeSrc":"20685:17:21","nodeType":"YulAssignment","src":"20685:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"20697:4:21","nodeType":"YulLiteral","src":"20697:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"20691:5:21","nodeType":"YulIdentifier","src":"20691:5:21"},"nativeSrc":"20691:11:21","nodeType":"YulFunctionCall","src":"20691:11:21"},"variableNames":[{"name":"m2","nativeSrc":"20685:2:21","nodeType":"YulIdentifier","src":"20685:2:21"}]},{"nativeSrc":"20715:17:21","nodeType":"YulAssignment","src":"20715:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"20727:4:21","nodeType":"YulLiteral","src":"20727:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"20721:5:21","nodeType":"YulIdentifier","src":"20721:5:21"},"nativeSrc":"20721:11:21","nodeType":"YulFunctionCall","src":"20721:11:21"},"variableNames":[{"name":"m3","nativeSrc":"20715:2:21","nodeType":"YulIdentifier","src":"20715:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20811:4:21","nodeType":"YulLiteral","src":"20811:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"20817:10:21","nodeType":"YulLiteral","src":"20817:10:21","type":"","value":"0x018c84c2"}],"functionName":{"name":"mstore","nativeSrc":"20804:6:21","nodeType":"YulIdentifier","src":"20804:6:21"},"nativeSrc":"20804:24:21","nodeType":"YulFunctionCall","src":"20804:24:21"},"nativeSrc":"20804:24:21","nodeType":"YulExpressionStatement","src":"20804:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20848:4:21","nodeType":"YulLiteral","src":"20848:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"20854:2:21","nodeType":"YulIdentifier","src":"20854:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20841:6:21","nodeType":"YulIdentifier","src":"20841:6:21"},"nativeSrc":"20841:16:21","nodeType":"YulFunctionCall","src":"20841:16:21"},"nativeSrc":"20841:16:21","nodeType":"YulExpressionStatement","src":"20841:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20877:4:21","nodeType":"YulLiteral","src":"20877:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"20883:2:21","nodeType":"YulIdentifier","src":"20883:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20870:6:21","nodeType":"YulIdentifier","src":"20870:6:21"},"nativeSrc":"20870:16:21","nodeType":"YulFunctionCall","src":"20870:16:21"},"nativeSrc":"20870:16:21","nodeType":"YulExpressionStatement","src":"20870:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20906:4:21","nodeType":"YulLiteral","src":"20906:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"20912:2:21","nodeType":"YulIdentifier","src":"20912:2:21"}],"functionName":{"name":"mstore","nativeSrc":"20899:6:21","nodeType":"YulIdentifier","src":"20899:6:21"},"nativeSrc":"20899:16:21","nodeType":"YulFunctionCall","src":"20899:16:21"},"nativeSrc":"20899:16:21","nodeType":"YulExpressionStatement","src":"20899:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27662,"isOffset":false,"isSlot":false,"src":"20625:2:21","valueSize":1},{"declaration":27665,"isOffset":false,"isSlot":false,"src":"20655:2:21","valueSize":1},{"declaration":27668,"isOffset":false,"isSlot":false,"src":"20685:2:21","valueSize":1},{"declaration":27671,"isOffset":false,"isSlot":false,"src":"20715:2:21","valueSize":1},{"declaration":27654,"isOffset":false,"isSlot":false,"src":"20854:2:21","valueSize":1},{"declaration":27656,"isOffset":false,"isSlot":false,"src":"20883:2:21","valueSize":1},{"declaration":27658,"isOffset":false,"isSlot":false,"src":"20912:2:21","valueSize":1}],"id":27673,"nodeType":"InlineAssembly","src":"20602:323:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20950:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20956:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27674,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"20934:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20934:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27678,"nodeType":"ExpressionStatement","src":"20934:27:21"},{"AST":{"nativeSrc":"21023:127:21","nodeType":"YulBlock","src":"21023:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"21044:4:21","nodeType":"YulLiteral","src":"21044:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"21050:2:21","nodeType":"YulIdentifier","src":"21050:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21037:6:21","nodeType":"YulIdentifier","src":"21037:6:21"},"nativeSrc":"21037:16:21","nodeType":"YulFunctionCall","src":"21037:16:21"},"nativeSrc":"21037:16:21","nodeType":"YulExpressionStatement","src":"21037:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21073:4:21","nodeType":"YulLiteral","src":"21073:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"21079:2:21","nodeType":"YulIdentifier","src":"21079:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21066:6:21","nodeType":"YulIdentifier","src":"21066:6:21"},"nativeSrc":"21066:16:21","nodeType":"YulFunctionCall","src":"21066:16:21"},"nativeSrc":"21066:16:21","nodeType":"YulExpressionStatement","src":"21066:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21102:4:21","nodeType":"YulLiteral","src":"21102:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"21108:2:21","nodeType":"YulIdentifier","src":"21108:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21095:6:21","nodeType":"YulIdentifier","src":"21095:6:21"},"nativeSrc":"21095:16:21","nodeType":"YulFunctionCall","src":"21095:16:21"},"nativeSrc":"21095:16:21","nodeType":"YulExpressionStatement","src":"21095:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21131:4:21","nodeType":"YulLiteral","src":"21131:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"21137:2:21","nodeType":"YulIdentifier","src":"21137:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21124:6:21","nodeType":"YulIdentifier","src":"21124:6:21"},"nativeSrc":"21124:16:21","nodeType":"YulFunctionCall","src":"21124:16:21"},"nativeSrc":"21124:16:21","nodeType":"YulExpressionStatement","src":"21124:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27662,"isOffset":false,"isSlot":false,"src":"21050:2:21","valueSize":1},{"declaration":27665,"isOffset":false,"isSlot":false,"src":"21079:2:21","valueSize":1},{"declaration":27668,"isOffset":false,"isSlot":false,"src":"21108:2:21","valueSize":1},{"declaration":27671,"isOffset":false,"isSlot":false,"src":"21137:2:21","valueSize":1}],"id":27679,"nodeType":"InlineAssembly","src":"21014:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20415:3:21","parameters":{"id":27659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27654,"mutability":"mutable","name":"p0","nameLocation":"20427:2:21","nodeType":"VariableDeclaration","scope":27681,"src":"20419:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27653,"name":"address","nodeType":"ElementaryTypeName","src":"20419:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27656,"mutability":"mutable","name":"p1","nameLocation":"20439:2:21","nodeType":"VariableDeclaration","scope":27681,"src":"20431:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27655,"name":"address","nodeType":"ElementaryTypeName","src":"20431:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27658,"mutability":"mutable","name":"p2","nameLocation":"20451:2:21","nodeType":"VariableDeclaration","scope":27681,"src":"20443:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27657,"name":"address","nodeType":"ElementaryTypeName","src":"20443:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20418:36:21"},"returnParameters":{"id":27660,"nodeType":"ParameterList","parameters":[],"src":"20469:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27710,"nodeType":"FunctionDefinition","src":"21162:744:21","nodes":[],"body":{"id":27709,"nodeType":"Block","src":"21222:684:21","nodes":[],"statements":[{"assignments":[27691],"declarations":[{"constant":false,"id":27691,"mutability":"mutable","name":"m0","nameLocation":"21240:2:21","nodeType":"VariableDeclaration","scope":27709,"src":"21232:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21232:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27692,"nodeType":"VariableDeclarationStatement","src":"21232:10:21"},{"assignments":[27694],"declarations":[{"constant":false,"id":27694,"mutability":"mutable","name":"m1","nameLocation":"21260:2:21","nodeType":"VariableDeclaration","scope":27709,"src":"21252:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21252:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27695,"nodeType":"VariableDeclarationStatement","src":"21252:10:21"},{"assignments":[27697],"declarations":[{"constant":false,"id":27697,"mutability":"mutable","name":"m2","nameLocation":"21280:2:21","nodeType":"VariableDeclaration","scope":27709,"src":"21272:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21272:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27698,"nodeType":"VariableDeclarationStatement","src":"21272:10:21"},{"assignments":[27700],"declarations":[{"constant":false,"id":27700,"mutability":"mutable","name":"m3","nameLocation":"21300:2:21","nodeType":"VariableDeclaration","scope":27709,"src":"21292:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21292:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27701,"nodeType":"VariableDeclarationStatement","src":"21292:10:21"},{"AST":{"nativeSrc":"21364:311:21","nodeType":"YulBlock","src":"21364:311:21","statements":[{"nativeSrc":"21378:17:21","nodeType":"YulAssignment","src":"21378:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"21390:4:21","nodeType":"YulLiteral","src":"21390:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"21384:5:21","nodeType":"YulIdentifier","src":"21384:5:21"},"nativeSrc":"21384:11:21","nodeType":"YulFunctionCall","src":"21384:11:21"},"variableNames":[{"name":"m0","nativeSrc":"21378:2:21","nodeType":"YulIdentifier","src":"21378:2:21"}]},{"nativeSrc":"21408:17:21","nodeType":"YulAssignment","src":"21408:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"21420:4:21","nodeType":"YulLiteral","src":"21420:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"21414:5:21","nodeType":"YulIdentifier","src":"21414:5:21"},"nativeSrc":"21414:11:21","nodeType":"YulFunctionCall","src":"21414:11:21"},"variableNames":[{"name":"m1","nativeSrc":"21408:2:21","nodeType":"YulIdentifier","src":"21408:2:21"}]},{"nativeSrc":"21438:17:21","nodeType":"YulAssignment","src":"21438:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"21450:4:21","nodeType":"YulLiteral","src":"21450:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"21444:5:21","nodeType":"YulIdentifier","src":"21444:5:21"},"nativeSrc":"21444:11:21","nodeType":"YulFunctionCall","src":"21444:11:21"},"variableNames":[{"name":"m2","nativeSrc":"21438:2:21","nodeType":"YulIdentifier","src":"21438:2:21"}]},{"nativeSrc":"21468:17:21","nodeType":"YulAssignment","src":"21468:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"21480:4:21","nodeType":"YulLiteral","src":"21480:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"21474:5:21","nodeType":"YulIdentifier","src":"21474:5:21"},"nativeSrc":"21474:11:21","nodeType":"YulFunctionCall","src":"21474:11:21"},"variableNames":[{"name":"m3","nativeSrc":"21468:2:21","nodeType":"YulIdentifier","src":"21468:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21561:4:21","nodeType":"YulLiteral","src":"21561:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"21567:10:21","nodeType":"YulLiteral","src":"21567:10:21","type":"","value":"0xf2a66286"}],"functionName":{"name":"mstore","nativeSrc":"21554:6:21","nodeType":"YulIdentifier","src":"21554:6:21"},"nativeSrc":"21554:24:21","nodeType":"YulFunctionCall","src":"21554:24:21"},"nativeSrc":"21554:24:21","nodeType":"YulExpressionStatement","src":"21554:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21598:4:21","nodeType":"YulLiteral","src":"21598:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"21604:2:21","nodeType":"YulIdentifier","src":"21604:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21591:6:21","nodeType":"YulIdentifier","src":"21591:6:21"},"nativeSrc":"21591:16:21","nodeType":"YulFunctionCall","src":"21591:16:21"},"nativeSrc":"21591:16:21","nodeType":"YulExpressionStatement","src":"21591:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21627:4:21","nodeType":"YulLiteral","src":"21627:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"21633:2:21","nodeType":"YulIdentifier","src":"21633:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21620:6:21","nodeType":"YulIdentifier","src":"21620:6:21"},"nativeSrc":"21620:16:21","nodeType":"YulFunctionCall","src":"21620:16:21"},"nativeSrc":"21620:16:21","nodeType":"YulExpressionStatement","src":"21620:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21656:4:21","nodeType":"YulLiteral","src":"21656:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"21662:2:21","nodeType":"YulIdentifier","src":"21662:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21649:6:21","nodeType":"YulIdentifier","src":"21649:6:21"},"nativeSrc":"21649:16:21","nodeType":"YulFunctionCall","src":"21649:16:21"},"nativeSrc":"21649:16:21","nodeType":"YulExpressionStatement","src":"21649:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27691,"isOffset":false,"isSlot":false,"src":"21378:2:21","valueSize":1},{"declaration":27694,"isOffset":false,"isSlot":false,"src":"21408:2:21","valueSize":1},{"declaration":27697,"isOffset":false,"isSlot":false,"src":"21438:2:21","valueSize":1},{"declaration":27700,"isOffset":false,"isSlot":false,"src":"21468:2:21","valueSize":1},{"declaration":27683,"isOffset":false,"isSlot":false,"src":"21604:2:21","valueSize":1},{"declaration":27685,"isOffset":false,"isSlot":false,"src":"21633:2:21","valueSize":1},{"declaration":27687,"isOffset":false,"isSlot":false,"src":"21662:2:21","valueSize":1}],"id":27702,"nodeType":"InlineAssembly","src":"21355:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21700:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21706:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27703,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"21684:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21684:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27707,"nodeType":"ExpressionStatement","src":"21684:27:21"},{"AST":{"nativeSrc":"21773:127:21","nodeType":"YulBlock","src":"21773:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"21794:4:21","nodeType":"YulLiteral","src":"21794:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"21800:2:21","nodeType":"YulIdentifier","src":"21800:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21787:6:21","nodeType":"YulIdentifier","src":"21787:6:21"},"nativeSrc":"21787:16:21","nodeType":"YulFunctionCall","src":"21787:16:21"},"nativeSrc":"21787:16:21","nodeType":"YulExpressionStatement","src":"21787:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21823:4:21","nodeType":"YulLiteral","src":"21823:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"21829:2:21","nodeType":"YulIdentifier","src":"21829:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21816:6:21","nodeType":"YulIdentifier","src":"21816:6:21"},"nativeSrc":"21816:16:21","nodeType":"YulFunctionCall","src":"21816:16:21"},"nativeSrc":"21816:16:21","nodeType":"YulExpressionStatement","src":"21816:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21852:4:21","nodeType":"YulLiteral","src":"21852:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"21858:2:21","nodeType":"YulIdentifier","src":"21858:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21845:6:21","nodeType":"YulIdentifier","src":"21845:6:21"},"nativeSrc":"21845:16:21","nodeType":"YulFunctionCall","src":"21845:16:21"},"nativeSrc":"21845:16:21","nodeType":"YulExpressionStatement","src":"21845:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21881:4:21","nodeType":"YulLiteral","src":"21881:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"21887:2:21","nodeType":"YulIdentifier","src":"21887:2:21"}],"functionName":{"name":"mstore","nativeSrc":"21874:6:21","nodeType":"YulIdentifier","src":"21874:6:21"},"nativeSrc":"21874:16:21","nodeType":"YulFunctionCall","src":"21874:16:21"},"nativeSrc":"21874:16:21","nodeType":"YulExpressionStatement","src":"21874:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27691,"isOffset":false,"isSlot":false,"src":"21800:2:21","valueSize":1},{"declaration":27694,"isOffset":false,"isSlot":false,"src":"21829:2:21","valueSize":1},{"declaration":27697,"isOffset":false,"isSlot":false,"src":"21858:2:21","valueSize":1},{"declaration":27700,"isOffset":false,"isSlot":false,"src":"21887:2:21","valueSize":1}],"id":27708,"nodeType":"InlineAssembly","src":"21764:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21171:3:21","parameters":{"id":27688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27683,"mutability":"mutable","name":"p0","nameLocation":"21183:2:21","nodeType":"VariableDeclaration","scope":27710,"src":"21175:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27682,"name":"address","nodeType":"ElementaryTypeName","src":"21175:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27685,"mutability":"mutable","name":"p1","nameLocation":"21195:2:21","nodeType":"VariableDeclaration","scope":27710,"src":"21187:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27684,"name":"address","nodeType":"ElementaryTypeName","src":"21187:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27687,"mutability":"mutable","name":"p2","nameLocation":"21204:2:21","nodeType":"VariableDeclaration","scope":27710,"src":"21199:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27686,"name":"bool","nodeType":"ElementaryTypeName","src":"21199:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21174:33:21"},"returnParameters":{"id":27689,"nodeType":"ParameterList","parameters":[],"src":"21222:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27739,"nodeType":"FunctionDefinition","src":"21912:750:21","nodes":[],"body":{"id":27738,"nodeType":"Block","src":"21975:687:21","nodes":[],"statements":[{"assignments":[27720],"declarations":[{"constant":false,"id":27720,"mutability":"mutable","name":"m0","nameLocation":"21993:2:21","nodeType":"VariableDeclaration","scope":27738,"src":"21985:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21985:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27721,"nodeType":"VariableDeclarationStatement","src":"21985:10:21"},{"assignments":[27723],"declarations":[{"constant":false,"id":27723,"mutability":"mutable","name":"m1","nameLocation":"22013:2:21","nodeType":"VariableDeclaration","scope":27738,"src":"22005:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22005:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27724,"nodeType":"VariableDeclarationStatement","src":"22005:10:21"},{"assignments":[27726],"declarations":[{"constant":false,"id":27726,"mutability":"mutable","name":"m2","nameLocation":"22033:2:21","nodeType":"VariableDeclaration","scope":27738,"src":"22025:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22025:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27727,"nodeType":"VariableDeclarationStatement","src":"22025:10:21"},{"assignments":[27729],"declarations":[{"constant":false,"id":27729,"mutability":"mutable","name":"m3","nameLocation":"22053:2:21","nodeType":"VariableDeclaration","scope":27738,"src":"22045:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22045:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27730,"nodeType":"VariableDeclarationStatement","src":"22045:10:21"},{"AST":{"nativeSrc":"22117:314:21","nodeType":"YulBlock","src":"22117:314:21","statements":[{"nativeSrc":"22131:17:21","nodeType":"YulAssignment","src":"22131:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"22143:4:21","nodeType":"YulLiteral","src":"22143:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"22137:5:21","nodeType":"YulIdentifier","src":"22137:5:21"},"nativeSrc":"22137:11:21","nodeType":"YulFunctionCall","src":"22137:11:21"},"variableNames":[{"name":"m0","nativeSrc":"22131:2:21","nodeType":"YulIdentifier","src":"22131:2:21"}]},{"nativeSrc":"22161:17:21","nodeType":"YulAssignment","src":"22161:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"22173:4:21","nodeType":"YulLiteral","src":"22173:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"22167:5:21","nodeType":"YulIdentifier","src":"22167:5:21"},"nativeSrc":"22167:11:21","nodeType":"YulFunctionCall","src":"22167:11:21"},"variableNames":[{"name":"m1","nativeSrc":"22161:2:21","nodeType":"YulIdentifier","src":"22161:2:21"}]},{"nativeSrc":"22191:17:21","nodeType":"YulAssignment","src":"22191:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"22203:4:21","nodeType":"YulLiteral","src":"22203:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"22197:5:21","nodeType":"YulIdentifier","src":"22197:5:21"},"nativeSrc":"22197:11:21","nodeType":"YulFunctionCall","src":"22197:11:21"},"variableNames":[{"name":"m2","nativeSrc":"22191:2:21","nodeType":"YulIdentifier","src":"22191:2:21"}]},{"nativeSrc":"22221:17:21","nodeType":"YulAssignment","src":"22221:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"22233:4:21","nodeType":"YulLiteral","src":"22233:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"22227:5:21","nodeType":"YulIdentifier","src":"22227:5:21"},"nativeSrc":"22227:11:21","nodeType":"YulFunctionCall","src":"22227:11:21"},"variableNames":[{"name":"m3","nativeSrc":"22221:2:21","nodeType":"YulIdentifier","src":"22221:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22317:4:21","nodeType":"YulLiteral","src":"22317:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"22323:10:21","nodeType":"YulLiteral","src":"22323:10:21","type":"","value":"0x17fe6185"}],"functionName":{"name":"mstore","nativeSrc":"22310:6:21","nodeType":"YulIdentifier","src":"22310:6:21"},"nativeSrc":"22310:24:21","nodeType":"YulFunctionCall","src":"22310:24:21"},"nativeSrc":"22310:24:21","nodeType":"YulExpressionStatement","src":"22310:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22354:4:21","nodeType":"YulLiteral","src":"22354:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"22360:2:21","nodeType":"YulIdentifier","src":"22360:2:21"}],"functionName":{"name":"mstore","nativeSrc":"22347:6:21","nodeType":"YulIdentifier","src":"22347:6:21"},"nativeSrc":"22347:16:21","nodeType":"YulFunctionCall","src":"22347:16:21"},"nativeSrc":"22347:16:21","nodeType":"YulExpressionStatement","src":"22347:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22383:4:21","nodeType":"YulLiteral","src":"22383:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"22389:2:21","nodeType":"YulIdentifier","src":"22389:2:21"}],"functionName":{"name":"mstore","nativeSrc":"22376:6:21","nodeType":"YulIdentifier","src":"22376:6:21"},"nativeSrc":"22376:16:21","nodeType":"YulFunctionCall","src":"22376:16:21"},"nativeSrc":"22376:16:21","nodeType":"YulExpressionStatement","src":"22376:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22412:4:21","nodeType":"YulLiteral","src":"22412:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"22418:2:21","nodeType":"YulIdentifier","src":"22418:2:21"}],"functionName":{"name":"mstore","nativeSrc":"22405:6:21","nodeType":"YulIdentifier","src":"22405:6:21"},"nativeSrc":"22405:16:21","nodeType":"YulFunctionCall","src":"22405:16:21"},"nativeSrc":"22405:16:21","nodeType":"YulExpressionStatement","src":"22405:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27720,"isOffset":false,"isSlot":false,"src":"22131:2:21","valueSize":1},{"declaration":27723,"isOffset":false,"isSlot":false,"src":"22161:2:21","valueSize":1},{"declaration":27726,"isOffset":false,"isSlot":false,"src":"22191:2:21","valueSize":1},{"declaration":27729,"isOffset":false,"isSlot":false,"src":"22221:2:21","valueSize":1},{"declaration":27712,"isOffset":false,"isSlot":false,"src":"22360:2:21","valueSize":1},{"declaration":27714,"isOffset":false,"isSlot":false,"src":"22389:2:21","valueSize":1},{"declaration":27716,"isOffset":false,"isSlot":false,"src":"22418:2:21","valueSize":1}],"id":27731,"nodeType":"InlineAssembly","src":"22108:323:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22456:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22462:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27732,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"22440:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22440:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27736,"nodeType":"ExpressionStatement","src":"22440:27:21"},{"AST":{"nativeSrc":"22529:127:21","nodeType":"YulBlock","src":"22529:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"22550:4:21","nodeType":"YulLiteral","src":"22550:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"22556:2:21","nodeType":"YulIdentifier","src":"22556:2:21"}],"functionName":{"name":"mstore","nativeSrc":"22543:6:21","nodeType":"YulIdentifier","src":"22543:6:21"},"nativeSrc":"22543:16:21","nodeType":"YulFunctionCall","src":"22543:16:21"},"nativeSrc":"22543:16:21","nodeType":"YulExpressionStatement","src":"22543:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22579:4:21","nodeType":"YulLiteral","src":"22579:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"22585:2:21","nodeType":"YulIdentifier","src":"22585:2:21"}],"functionName":{"name":"mstore","nativeSrc":"22572:6:21","nodeType":"YulIdentifier","src":"22572:6:21"},"nativeSrc":"22572:16:21","nodeType":"YulFunctionCall","src":"22572:16:21"},"nativeSrc":"22572:16:21","nodeType":"YulExpressionStatement","src":"22572:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22608:4:21","nodeType":"YulLiteral","src":"22608:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"22614:2:21","nodeType":"YulIdentifier","src":"22614:2:21"}],"functionName":{"name":"mstore","nativeSrc":"22601:6:21","nodeType":"YulIdentifier","src":"22601:6:21"},"nativeSrc":"22601:16:21","nodeType":"YulFunctionCall","src":"22601:16:21"},"nativeSrc":"22601:16:21","nodeType":"YulExpressionStatement","src":"22601:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22637:4:21","nodeType":"YulLiteral","src":"22637:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"22643:2:21","nodeType":"YulIdentifier","src":"22643:2:21"}],"functionName":{"name":"mstore","nativeSrc":"22630:6:21","nodeType":"YulIdentifier","src":"22630:6:21"},"nativeSrc":"22630:16:21","nodeType":"YulFunctionCall","src":"22630:16:21"},"nativeSrc":"22630:16:21","nodeType":"YulExpressionStatement","src":"22630:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27720,"isOffset":false,"isSlot":false,"src":"22556:2:21","valueSize":1},{"declaration":27723,"isOffset":false,"isSlot":false,"src":"22585:2:21","valueSize":1},{"declaration":27726,"isOffset":false,"isSlot":false,"src":"22614:2:21","valueSize":1},{"declaration":27729,"isOffset":false,"isSlot":false,"src":"22643:2:21","valueSize":1}],"id":27737,"nodeType":"InlineAssembly","src":"22520:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21921:3:21","parameters":{"id":27717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27712,"mutability":"mutable","name":"p0","nameLocation":"21933:2:21","nodeType":"VariableDeclaration","scope":27739,"src":"21925:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27711,"name":"address","nodeType":"ElementaryTypeName","src":"21925:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27714,"mutability":"mutable","name":"p1","nameLocation":"21945:2:21","nodeType":"VariableDeclaration","scope":27739,"src":"21937:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27713,"name":"address","nodeType":"ElementaryTypeName","src":"21937:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27716,"mutability":"mutable","name":"p2","nameLocation":"21957:2:21","nodeType":"VariableDeclaration","scope":27739,"src":"21949:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27715,"name":"uint256","nodeType":"ElementaryTypeName","src":"21949:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21924:36:21"},"returnParameters":{"id":27718,"nodeType":"ParameterList","parameters":[],"src":"21975:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27774,"nodeType":"FunctionDefinition","src":"22668:1298:21","nodes":[],"body":{"id":27773,"nodeType":"Block","src":"22731:1235:21","nodes":[],"statements":[{"assignments":[27749],"declarations":[{"constant":false,"id":27749,"mutability":"mutable","name":"m0","nameLocation":"22749:2:21","nodeType":"VariableDeclaration","scope":27773,"src":"22741:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22741:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27750,"nodeType":"VariableDeclarationStatement","src":"22741:10:21"},{"assignments":[27752],"declarations":[{"constant":false,"id":27752,"mutability":"mutable","name":"m1","nameLocation":"22769:2:21","nodeType":"VariableDeclaration","scope":27773,"src":"22761:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22761:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27753,"nodeType":"VariableDeclarationStatement","src":"22761:10:21"},{"assignments":[27755],"declarations":[{"constant":false,"id":27755,"mutability":"mutable","name":"m2","nameLocation":"22789:2:21","nodeType":"VariableDeclaration","scope":27773,"src":"22781:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22781:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27756,"nodeType":"VariableDeclarationStatement","src":"22781:10:21"},{"assignments":[27758],"declarations":[{"constant":false,"id":27758,"mutability":"mutable","name":"m3","nameLocation":"22809:2:21","nodeType":"VariableDeclaration","scope":27773,"src":"22801:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27757,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22801:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27759,"nodeType":"VariableDeclarationStatement","src":"22801:10:21"},{"assignments":[27761],"declarations":[{"constant":false,"id":27761,"mutability":"mutable","name":"m4","nameLocation":"22829:2:21","nodeType":"VariableDeclaration","scope":27773,"src":"22821:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22821:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27762,"nodeType":"VariableDeclarationStatement","src":"22821:10:21"},{"assignments":[27764],"declarations":[{"constant":false,"id":27764,"mutability":"mutable","name":"m5","nameLocation":"22849:2:21","nodeType":"VariableDeclaration","scope":27773,"src":"22841:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22841:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27765,"nodeType":"VariableDeclarationStatement","src":"22841:10:21"},{"AST":{"nativeSrc":"22913:764:21","nodeType":"YulBlock","src":"22913:764:21","statements":[{"body":{"nativeSrc":"22956:313:21","nodeType":"YulBlock","src":"22956:313:21","statements":[{"nativeSrc":"22974:15:21","nodeType":"YulVariableDeclaration","src":"22974:15:21","value":{"kind":"number","nativeSrc":"22988:1:21","nodeType":"YulLiteral","src":"22988:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"22978:6:21","nodeType":"YulTypedName","src":"22978:6:21","type":""}]},{"body":{"nativeSrc":"23059:40:21","nodeType":"YulBlock","src":"23059:40:21","statements":[{"body":{"nativeSrc":"23088:9:21","nodeType":"YulBlock","src":"23088:9:21","statements":[{"nativeSrc":"23090:5:21","nodeType":"YulBreak","src":"23090:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"23076:6:21","nodeType":"YulIdentifier","src":"23076:6:21"},{"name":"w","nativeSrc":"23084:1:21","nodeType":"YulIdentifier","src":"23084:1:21"}],"functionName":{"name":"byte","nativeSrc":"23071:4:21","nodeType":"YulIdentifier","src":"23071:4:21"},"nativeSrc":"23071:15:21","nodeType":"YulFunctionCall","src":"23071:15:21"}],"functionName":{"name":"iszero","nativeSrc":"23064:6:21","nodeType":"YulIdentifier","src":"23064:6:21"},"nativeSrc":"23064:23:21","nodeType":"YulFunctionCall","src":"23064:23:21"},"nativeSrc":"23061:36:21","nodeType":"YulIf","src":"23061:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"23016:6:21","nodeType":"YulIdentifier","src":"23016:6:21"},{"kind":"number","nativeSrc":"23024:4:21","nodeType":"YulLiteral","src":"23024:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"23013:2:21","nodeType":"YulIdentifier","src":"23013:2:21"},"nativeSrc":"23013:16:21","nodeType":"YulFunctionCall","src":"23013:16:21"},"nativeSrc":"23006:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"23030:28:21","nodeType":"YulBlock","src":"23030:28:21","statements":[{"nativeSrc":"23032:24:21","nodeType":"YulAssignment","src":"23032:24:21","value":{"arguments":[{"name":"length","nativeSrc":"23046:6:21","nodeType":"YulIdentifier","src":"23046:6:21"},{"kind":"number","nativeSrc":"23054:1:21","nodeType":"YulLiteral","src":"23054:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"23042:3:21","nodeType":"YulIdentifier","src":"23042:3:21"},"nativeSrc":"23042:14:21","nodeType":"YulFunctionCall","src":"23042:14:21"},"variableNames":[{"name":"length","nativeSrc":"23032:6:21","nodeType":"YulIdentifier","src":"23032:6:21"}]}]},"pre":{"nativeSrc":"23010:2:21","nodeType":"YulBlock","src":"23010:2:21","statements":[]},"src":"23006:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"23123:3:21","nodeType":"YulIdentifier","src":"23123:3:21"},{"name":"length","nativeSrc":"23128:6:21","nodeType":"YulIdentifier","src":"23128:6:21"}],"functionName":{"name":"mstore","nativeSrc":"23116:6:21","nodeType":"YulIdentifier","src":"23116:6:21"},"nativeSrc":"23116:19:21","nodeType":"YulFunctionCall","src":"23116:19:21"},"nativeSrc":"23116:19:21","nodeType":"YulExpressionStatement","src":"23116:19:21"},{"nativeSrc":"23152:37:21","nodeType":"YulVariableDeclaration","src":"23152:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"23169:3:21","nodeType":"YulLiteral","src":"23169:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"23178:1:21","nodeType":"YulLiteral","src":"23178:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"23181:6:21","nodeType":"YulIdentifier","src":"23181:6:21"}],"functionName":{"name":"shl","nativeSrc":"23174:3:21","nodeType":"YulIdentifier","src":"23174:3:21"},"nativeSrc":"23174:14:21","nodeType":"YulFunctionCall","src":"23174:14:21"}],"functionName":{"name":"sub","nativeSrc":"23165:3:21","nodeType":"YulIdentifier","src":"23165:3:21"},"nativeSrc":"23165:24:21","nodeType":"YulFunctionCall","src":"23165:24:21"},"variables":[{"name":"shift","nativeSrc":"23156:5:21","nodeType":"YulTypedName","src":"23156:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"23217:3:21","nodeType":"YulIdentifier","src":"23217:3:21"},{"kind":"number","nativeSrc":"23222:4:21","nodeType":"YulLiteral","src":"23222:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"23213:3:21","nodeType":"YulIdentifier","src":"23213:3:21"},"nativeSrc":"23213:14:21","nodeType":"YulFunctionCall","src":"23213:14:21"},{"arguments":[{"name":"shift","nativeSrc":"23233:5:21","nodeType":"YulIdentifier","src":"23233:5:21"},{"arguments":[{"name":"shift","nativeSrc":"23244:5:21","nodeType":"YulIdentifier","src":"23244:5:21"},{"name":"w","nativeSrc":"23251:1:21","nodeType":"YulIdentifier","src":"23251:1:21"}],"functionName":{"name":"shr","nativeSrc":"23240:3:21","nodeType":"YulIdentifier","src":"23240:3:21"},"nativeSrc":"23240:13:21","nodeType":"YulFunctionCall","src":"23240:13:21"}],"functionName":{"name":"shl","nativeSrc":"23229:3:21","nodeType":"YulIdentifier","src":"23229:3:21"},"nativeSrc":"23229:25:21","nodeType":"YulFunctionCall","src":"23229:25:21"}],"functionName":{"name":"mstore","nativeSrc":"23206:6:21","nodeType":"YulIdentifier","src":"23206:6:21"},"nativeSrc":"23206:49:21","nodeType":"YulFunctionCall","src":"23206:49:21"},"nativeSrc":"23206:49:21","nodeType":"YulExpressionStatement","src":"23206:49:21"}]},"name":"writeString","nativeSrc":"22927:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"22948:3:21","nodeType":"YulTypedName","src":"22948:3:21","type":""},{"name":"w","nativeSrc":"22953:1:21","nodeType":"YulTypedName","src":"22953:1:21","type":""}],"src":"22927:342:21"},{"nativeSrc":"23282:17:21","nodeType":"YulAssignment","src":"23282:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"23294:4:21","nodeType":"YulLiteral","src":"23294:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"23288:5:21","nodeType":"YulIdentifier","src":"23288:5:21"},"nativeSrc":"23288:11:21","nodeType":"YulFunctionCall","src":"23288:11:21"},"variableNames":[{"name":"m0","nativeSrc":"23282:2:21","nodeType":"YulIdentifier","src":"23282:2:21"}]},{"nativeSrc":"23312:17:21","nodeType":"YulAssignment","src":"23312:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"23324:4:21","nodeType":"YulLiteral","src":"23324:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"23318:5:21","nodeType":"YulIdentifier","src":"23318:5:21"},"nativeSrc":"23318:11:21","nodeType":"YulFunctionCall","src":"23318:11:21"},"variableNames":[{"name":"m1","nativeSrc":"23312:2:21","nodeType":"YulIdentifier","src":"23312:2:21"}]},{"nativeSrc":"23342:17:21","nodeType":"YulAssignment","src":"23342:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"23354:4:21","nodeType":"YulLiteral","src":"23354:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"23348:5:21","nodeType":"YulIdentifier","src":"23348:5:21"},"nativeSrc":"23348:11:21","nodeType":"YulFunctionCall","src":"23348:11:21"},"variableNames":[{"name":"m2","nativeSrc":"23342:2:21","nodeType":"YulIdentifier","src":"23342:2:21"}]},{"nativeSrc":"23372:17:21","nodeType":"YulAssignment","src":"23372:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"23384:4:21","nodeType":"YulLiteral","src":"23384:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"23378:5:21","nodeType":"YulIdentifier","src":"23378:5:21"},"nativeSrc":"23378:11:21","nodeType":"YulFunctionCall","src":"23378:11:21"},"variableNames":[{"name":"m3","nativeSrc":"23372:2:21","nodeType":"YulIdentifier","src":"23372:2:21"}]},{"nativeSrc":"23402:17:21","nodeType":"YulAssignment","src":"23402:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"23414:4:21","nodeType":"YulLiteral","src":"23414:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"23408:5:21","nodeType":"YulIdentifier","src":"23408:5:21"},"nativeSrc":"23408:11:21","nodeType":"YulFunctionCall","src":"23408:11:21"},"variableNames":[{"name":"m4","nativeSrc":"23402:2:21","nodeType":"YulIdentifier","src":"23402:2:21"}]},{"nativeSrc":"23432:17:21","nodeType":"YulAssignment","src":"23432:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"23444:4:21","nodeType":"YulLiteral","src":"23444:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"23438:5:21","nodeType":"YulIdentifier","src":"23438:5:21"},"nativeSrc":"23438:11:21","nodeType":"YulFunctionCall","src":"23438:11:21"},"variableNames":[{"name":"m5","nativeSrc":"23432:2:21","nodeType":"YulIdentifier","src":"23432:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23527:4:21","nodeType":"YulLiteral","src":"23527:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"23533:10:21","nodeType":"YulLiteral","src":"23533:10:21","type":"","value":"0x007150be"}],"functionName":{"name":"mstore","nativeSrc":"23520:6:21","nodeType":"YulIdentifier","src":"23520:6:21"},"nativeSrc":"23520:24:21","nodeType":"YulFunctionCall","src":"23520:24:21"},"nativeSrc":"23520:24:21","nodeType":"YulExpressionStatement","src":"23520:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23564:4:21","nodeType":"YulLiteral","src":"23564:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"23570:2:21","nodeType":"YulIdentifier","src":"23570:2:21"}],"functionName":{"name":"mstore","nativeSrc":"23557:6:21","nodeType":"YulIdentifier","src":"23557:6:21"},"nativeSrc":"23557:16:21","nodeType":"YulFunctionCall","src":"23557:16:21"},"nativeSrc":"23557:16:21","nodeType":"YulExpressionStatement","src":"23557:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23593:4:21","nodeType":"YulLiteral","src":"23593:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"23599:2:21","nodeType":"YulIdentifier","src":"23599:2:21"}],"functionName":{"name":"mstore","nativeSrc":"23586:6:21","nodeType":"YulIdentifier","src":"23586:6:21"},"nativeSrc":"23586:16:21","nodeType":"YulFunctionCall","src":"23586:16:21"},"nativeSrc":"23586:16:21","nodeType":"YulExpressionStatement","src":"23586:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23622:4:21","nodeType":"YulLiteral","src":"23622:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"23628:4:21","nodeType":"YulLiteral","src":"23628:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"23615:6:21","nodeType":"YulIdentifier","src":"23615:6:21"},"nativeSrc":"23615:18:21","nodeType":"YulFunctionCall","src":"23615:18:21"},"nativeSrc":"23615:18:21","nodeType":"YulExpressionStatement","src":"23615:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23658:4:21","nodeType":"YulLiteral","src":"23658:4:21","type":"","value":"0x80"},{"name":"p2","nativeSrc":"23664:2:21","nodeType":"YulIdentifier","src":"23664:2:21"}],"functionName":{"name":"writeString","nativeSrc":"23646:11:21","nodeType":"YulIdentifier","src":"23646:11:21"},"nativeSrc":"23646:21:21","nodeType":"YulFunctionCall","src":"23646:21:21"},"nativeSrc":"23646:21:21","nodeType":"YulExpressionStatement","src":"23646:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27749,"isOffset":false,"isSlot":false,"src":"23282:2:21","valueSize":1},{"declaration":27752,"isOffset":false,"isSlot":false,"src":"23312:2:21","valueSize":1},{"declaration":27755,"isOffset":false,"isSlot":false,"src":"23342:2:21","valueSize":1},{"declaration":27758,"isOffset":false,"isSlot":false,"src":"23372:2:21","valueSize":1},{"declaration":27761,"isOffset":false,"isSlot":false,"src":"23402:2:21","valueSize":1},{"declaration":27764,"isOffset":false,"isSlot":false,"src":"23432:2:21","valueSize":1},{"declaration":27741,"isOffset":false,"isSlot":false,"src":"23570:2:21","valueSize":1},{"declaration":27743,"isOffset":false,"isSlot":false,"src":"23599:2:21","valueSize":1},{"declaration":27745,"isOffset":false,"isSlot":false,"src":"23664:2:21","valueSize":1}],"id":27766,"nodeType":"InlineAssembly","src":"22904:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23702:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23708:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27767,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"23686:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23686:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27771,"nodeType":"ExpressionStatement","src":"23686:27:21"},{"AST":{"nativeSrc":"23775:185:21","nodeType":"YulBlock","src":"23775:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"23796:4:21","nodeType":"YulLiteral","src":"23796:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"23802:2:21","nodeType":"YulIdentifier","src":"23802:2:21"}],"functionName":{"name":"mstore","nativeSrc":"23789:6:21","nodeType":"YulIdentifier","src":"23789:6:21"},"nativeSrc":"23789:16:21","nodeType":"YulFunctionCall","src":"23789:16:21"},"nativeSrc":"23789:16:21","nodeType":"YulExpressionStatement","src":"23789:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23825:4:21","nodeType":"YulLiteral","src":"23825:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"23831:2:21","nodeType":"YulIdentifier","src":"23831:2:21"}],"functionName":{"name":"mstore","nativeSrc":"23818:6:21","nodeType":"YulIdentifier","src":"23818:6:21"},"nativeSrc":"23818:16:21","nodeType":"YulFunctionCall","src":"23818:16:21"},"nativeSrc":"23818:16:21","nodeType":"YulExpressionStatement","src":"23818:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23854:4:21","nodeType":"YulLiteral","src":"23854:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"23860:2:21","nodeType":"YulIdentifier","src":"23860:2:21"}],"functionName":{"name":"mstore","nativeSrc":"23847:6:21","nodeType":"YulIdentifier","src":"23847:6:21"},"nativeSrc":"23847:16:21","nodeType":"YulFunctionCall","src":"23847:16:21"},"nativeSrc":"23847:16:21","nodeType":"YulExpressionStatement","src":"23847:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23883:4:21","nodeType":"YulLiteral","src":"23883:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"23889:2:21","nodeType":"YulIdentifier","src":"23889:2:21"}],"functionName":{"name":"mstore","nativeSrc":"23876:6:21","nodeType":"YulIdentifier","src":"23876:6:21"},"nativeSrc":"23876:16:21","nodeType":"YulFunctionCall","src":"23876:16:21"},"nativeSrc":"23876:16:21","nodeType":"YulExpressionStatement","src":"23876:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23912:4:21","nodeType":"YulLiteral","src":"23912:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"23918:2:21","nodeType":"YulIdentifier","src":"23918:2:21"}],"functionName":{"name":"mstore","nativeSrc":"23905:6:21","nodeType":"YulIdentifier","src":"23905:6:21"},"nativeSrc":"23905:16:21","nodeType":"YulFunctionCall","src":"23905:16:21"},"nativeSrc":"23905:16:21","nodeType":"YulExpressionStatement","src":"23905:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23941:4:21","nodeType":"YulLiteral","src":"23941:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"23947:2:21","nodeType":"YulIdentifier","src":"23947:2:21"}],"functionName":{"name":"mstore","nativeSrc":"23934:6:21","nodeType":"YulIdentifier","src":"23934:6:21"},"nativeSrc":"23934:16:21","nodeType":"YulFunctionCall","src":"23934:16:21"},"nativeSrc":"23934:16:21","nodeType":"YulExpressionStatement","src":"23934:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27749,"isOffset":false,"isSlot":false,"src":"23802:2:21","valueSize":1},{"declaration":27752,"isOffset":false,"isSlot":false,"src":"23831:2:21","valueSize":1},{"declaration":27755,"isOffset":false,"isSlot":false,"src":"23860:2:21","valueSize":1},{"declaration":27758,"isOffset":false,"isSlot":false,"src":"23889:2:21","valueSize":1},{"declaration":27761,"isOffset":false,"isSlot":false,"src":"23918:2:21","valueSize":1},{"declaration":27764,"isOffset":false,"isSlot":false,"src":"23947:2:21","valueSize":1}],"id":27772,"nodeType":"InlineAssembly","src":"23766:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22677:3:21","parameters":{"id":27746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27741,"mutability":"mutable","name":"p0","nameLocation":"22689:2:21","nodeType":"VariableDeclaration","scope":27774,"src":"22681:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27740,"name":"address","nodeType":"ElementaryTypeName","src":"22681:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27743,"mutability":"mutable","name":"p1","nameLocation":"22701:2:21","nodeType":"VariableDeclaration","scope":27774,"src":"22693:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27742,"name":"address","nodeType":"ElementaryTypeName","src":"22693:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27745,"mutability":"mutable","name":"p2","nameLocation":"22713:2:21","nodeType":"VariableDeclaration","scope":27774,"src":"22705:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22705:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22680:36:21"},"returnParameters":{"id":27747,"nodeType":"ParameterList","parameters":[],"src":"22731:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27803,"nodeType":"FunctionDefinition","src":"23972:744:21","nodes":[],"body":{"id":27802,"nodeType":"Block","src":"24032:684:21","nodes":[],"statements":[{"assignments":[27784],"declarations":[{"constant":false,"id":27784,"mutability":"mutable","name":"m0","nameLocation":"24050:2:21","nodeType":"VariableDeclaration","scope":27802,"src":"24042:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24042:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27785,"nodeType":"VariableDeclarationStatement","src":"24042:10:21"},{"assignments":[27787],"declarations":[{"constant":false,"id":27787,"mutability":"mutable","name":"m1","nameLocation":"24070:2:21","nodeType":"VariableDeclaration","scope":27802,"src":"24062:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24062:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27788,"nodeType":"VariableDeclarationStatement","src":"24062:10:21"},{"assignments":[27790],"declarations":[{"constant":false,"id":27790,"mutability":"mutable","name":"m2","nameLocation":"24090:2:21","nodeType":"VariableDeclaration","scope":27802,"src":"24082:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24082:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27791,"nodeType":"VariableDeclarationStatement","src":"24082:10:21"},{"assignments":[27793],"declarations":[{"constant":false,"id":27793,"mutability":"mutable","name":"m3","nameLocation":"24110:2:21","nodeType":"VariableDeclaration","scope":27802,"src":"24102:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24102:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27794,"nodeType":"VariableDeclarationStatement","src":"24102:10:21"},{"AST":{"nativeSrc":"24174:311:21","nodeType":"YulBlock","src":"24174:311:21","statements":[{"nativeSrc":"24188:17:21","nodeType":"YulAssignment","src":"24188:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"24200:4:21","nodeType":"YulLiteral","src":"24200:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"24194:5:21","nodeType":"YulIdentifier","src":"24194:5:21"},"nativeSrc":"24194:11:21","nodeType":"YulFunctionCall","src":"24194:11:21"},"variableNames":[{"name":"m0","nativeSrc":"24188:2:21","nodeType":"YulIdentifier","src":"24188:2:21"}]},{"nativeSrc":"24218:17:21","nodeType":"YulAssignment","src":"24218:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"24230:4:21","nodeType":"YulLiteral","src":"24230:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"24224:5:21","nodeType":"YulIdentifier","src":"24224:5:21"},"nativeSrc":"24224:11:21","nodeType":"YulFunctionCall","src":"24224:11:21"},"variableNames":[{"name":"m1","nativeSrc":"24218:2:21","nodeType":"YulIdentifier","src":"24218:2:21"}]},{"nativeSrc":"24248:17:21","nodeType":"YulAssignment","src":"24248:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"24260:4:21","nodeType":"YulLiteral","src":"24260:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"24254:5:21","nodeType":"YulIdentifier","src":"24254:5:21"},"nativeSrc":"24254:11:21","nodeType":"YulFunctionCall","src":"24254:11:21"},"variableNames":[{"name":"m2","nativeSrc":"24248:2:21","nodeType":"YulIdentifier","src":"24248:2:21"}]},{"nativeSrc":"24278:17:21","nodeType":"YulAssignment","src":"24278:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"24290:4:21","nodeType":"YulLiteral","src":"24290:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"24284:5:21","nodeType":"YulIdentifier","src":"24284:5:21"},"nativeSrc":"24284:11:21","nodeType":"YulFunctionCall","src":"24284:11:21"},"variableNames":[{"name":"m3","nativeSrc":"24278:2:21","nodeType":"YulIdentifier","src":"24278:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24371:4:21","nodeType":"YulLiteral","src":"24371:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"24377:10:21","nodeType":"YulLiteral","src":"24377:10:21","type":"","value":"0xf11699ed"}],"functionName":{"name":"mstore","nativeSrc":"24364:6:21","nodeType":"YulIdentifier","src":"24364:6:21"},"nativeSrc":"24364:24:21","nodeType":"YulFunctionCall","src":"24364:24:21"},"nativeSrc":"24364:24:21","nodeType":"YulExpressionStatement","src":"24364:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24408:4:21","nodeType":"YulLiteral","src":"24408:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"24414:2:21","nodeType":"YulIdentifier","src":"24414:2:21"}],"functionName":{"name":"mstore","nativeSrc":"24401:6:21","nodeType":"YulIdentifier","src":"24401:6:21"},"nativeSrc":"24401:16:21","nodeType":"YulFunctionCall","src":"24401:16:21"},"nativeSrc":"24401:16:21","nodeType":"YulExpressionStatement","src":"24401:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24437:4:21","nodeType":"YulLiteral","src":"24437:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"24443:2:21","nodeType":"YulIdentifier","src":"24443:2:21"}],"functionName":{"name":"mstore","nativeSrc":"24430:6:21","nodeType":"YulIdentifier","src":"24430:6:21"},"nativeSrc":"24430:16:21","nodeType":"YulFunctionCall","src":"24430:16:21"},"nativeSrc":"24430:16:21","nodeType":"YulExpressionStatement","src":"24430:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24466:4:21","nodeType":"YulLiteral","src":"24466:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"24472:2:21","nodeType":"YulIdentifier","src":"24472:2:21"}],"functionName":{"name":"mstore","nativeSrc":"24459:6:21","nodeType":"YulIdentifier","src":"24459:6:21"},"nativeSrc":"24459:16:21","nodeType":"YulFunctionCall","src":"24459:16:21"},"nativeSrc":"24459:16:21","nodeType":"YulExpressionStatement","src":"24459:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27784,"isOffset":false,"isSlot":false,"src":"24188:2:21","valueSize":1},{"declaration":27787,"isOffset":false,"isSlot":false,"src":"24218:2:21","valueSize":1},{"declaration":27790,"isOffset":false,"isSlot":false,"src":"24248:2:21","valueSize":1},{"declaration":27793,"isOffset":false,"isSlot":false,"src":"24278:2:21","valueSize":1},{"declaration":27776,"isOffset":false,"isSlot":false,"src":"24414:2:21","valueSize":1},{"declaration":27778,"isOffset":false,"isSlot":false,"src":"24443:2:21","valueSize":1},{"declaration":27780,"isOffset":false,"isSlot":false,"src":"24472:2:21","valueSize":1}],"id":27795,"nodeType":"InlineAssembly","src":"24165:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24510:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24516:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27796,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"24494:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24494:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27800,"nodeType":"ExpressionStatement","src":"24494:27:21"},{"AST":{"nativeSrc":"24583:127:21","nodeType":"YulBlock","src":"24583:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"24604:4:21","nodeType":"YulLiteral","src":"24604:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"24610:2:21","nodeType":"YulIdentifier","src":"24610:2:21"}],"functionName":{"name":"mstore","nativeSrc":"24597:6:21","nodeType":"YulIdentifier","src":"24597:6:21"},"nativeSrc":"24597:16:21","nodeType":"YulFunctionCall","src":"24597:16:21"},"nativeSrc":"24597:16:21","nodeType":"YulExpressionStatement","src":"24597:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24633:4:21","nodeType":"YulLiteral","src":"24633:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"24639:2:21","nodeType":"YulIdentifier","src":"24639:2:21"}],"functionName":{"name":"mstore","nativeSrc":"24626:6:21","nodeType":"YulIdentifier","src":"24626:6:21"},"nativeSrc":"24626:16:21","nodeType":"YulFunctionCall","src":"24626:16:21"},"nativeSrc":"24626:16:21","nodeType":"YulExpressionStatement","src":"24626:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24662:4:21","nodeType":"YulLiteral","src":"24662:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"24668:2:21","nodeType":"YulIdentifier","src":"24668:2:21"}],"functionName":{"name":"mstore","nativeSrc":"24655:6:21","nodeType":"YulIdentifier","src":"24655:6:21"},"nativeSrc":"24655:16:21","nodeType":"YulFunctionCall","src":"24655:16:21"},"nativeSrc":"24655:16:21","nodeType":"YulExpressionStatement","src":"24655:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24691:4:21","nodeType":"YulLiteral","src":"24691:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"24697:2:21","nodeType":"YulIdentifier","src":"24697:2:21"}],"functionName":{"name":"mstore","nativeSrc":"24684:6:21","nodeType":"YulIdentifier","src":"24684:6:21"},"nativeSrc":"24684:16:21","nodeType":"YulFunctionCall","src":"24684:16:21"},"nativeSrc":"24684:16:21","nodeType":"YulExpressionStatement","src":"24684:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27784,"isOffset":false,"isSlot":false,"src":"24610:2:21","valueSize":1},{"declaration":27787,"isOffset":false,"isSlot":false,"src":"24639:2:21","valueSize":1},{"declaration":27790,"isOffset":false,"isSlot":false,"src":"24668:2:21","valueSize":1},{"declaration":27793,"isOffset":false,"isSlot":false,"src":"24697:2:21","valueSize":1}],"id":27801,"nodeType":"InlineAssembly","src":"24574:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23981:3:21","parameters":{"id":27781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27776,"mutability":"mutable","name":"p0","nameLocation":"23993:2:21","nodeType":"VariableDeclaration","scope":27803,"src":"23985:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27775,"name":"address","nodeType":"ElementaryTypeName","src":"23985:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27778,"mutability":"mutable","name":"p1","nameLocation":"24002:2:21","nodeType":"VariableDeclaration","scope":27803,"src":"23997:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27777,"name":"bool","nodeType":"ElementaryTypeName","src":"23997:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27780,"mutability":"mutable","name":"p2","nameLocation":"24014:2:21","nodeType":"VariableDeclaration","scope":27803,"src":"24006:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27779,"name":"address","nodeType":"ElementaryTypeName","src":"24006:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23984:33:21"},"returnParameters":{"id":27782,"nodeType":"ParameterList","parameters":[],"src":"24032:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27832,"nodeType":"FunctionDefinition","src":"24722:738:21","nodes":[],"body":{"id":27831,"nodeType":"Block","src":"24779:681:21","nodes":[],"statements":[{"assignments":[27813],"declarations":[{"constant":false,"id":27813,"mutability":"mutable","name":"m0","nameLocation":"24797:2:21","nodeType":"VariableDeclaration","scope":27831,"src":"24789:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27812,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24789:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27814,"nodeType":"VariableDeclarationStatement","src":"24789:10:21"},{"assignments":[27816],"declarations":[{"constant":false,"id":27816,"mutability":"mutable","name":"m1","nameLocation":"24817:2:21","nodeType":"VariableDeclaration","scope":27831,"src":"24809:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24809:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27817,"nodeType":"VariableDeclarationStatement","src":"24809:10:21"},{"assignments":[27819],"declarations":[{"constant":false,"id":27819,"mutability":"mutable","name":"m2","nameLocation":"24837:2:21","nodeType":"VariableDeclaration","scope":27831,"src":"24829:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27818,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24829:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27820,"nodeType":"VariableDeclarationStatement","src":"24829:10:21"},{"assignments":[27822],"declarations":[{"constant":false,"id":27822,"mutability":"mutable","name":"m3","nameLocation":"24857:2:21","nodeType":"VariableDeclaration","scope":27831,"src":"24849:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24849:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27823,"nodeType":"VariableDeclarationStatement","src":"24849:10:21"},{"AST":{"nativeSrc":"24921:308:21","nodeType":"YulBlock","src":"24921:308:21","statements":[{"nativeSrc":"24935:17:21","nodeType":"YulAssignment","src":"24935:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"24947:4:21","nodeType":"YulLiteral","src":"24947:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"24941:5:21","nodeType":"YulIdentifier","src":"24941:5:21"},"nativeSrc":"24941:11:21","nodeType":"YulFunctionCall","src":"24941:11:21"},"variableNames":[{"name":"m0","nativeSrc":"24935:2:21","nodeType":"YulIdentifier","src":"24935:2:21"}]},{"nativeSrc":"24965:17:21","nodeType":"YulAssignment","src":"24965:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"24977:4:21","nodeType":"YulLiteral","src":"24977:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"24971:5:21","nodeType":"YulIdentifier","src":"24971:5:21"},"nativeSrc":"24971:11:21","nodeType":"YulFunctionCall","src":"24971:11:21"},"variableNames":[{"name":"m1","nativeSrc":"24965:2:21","nodeType":"YulIdentifier","src":"24965:2:21"}]},{"nativeSrc":"24995:17:21","nodeType":"YulAssignment","src":"24995:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"25007:4:21","nodeType":"YulLiteral","src":"25007:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"25001:5:21","nodeType":"YulIdentifier","src":"25001:5:21"},"nativeSrc":"25001:11:21","nodeType":"YulFunctionCall","src":"25001:11:21"},"variableNames":[{"name":"m2","nativeSrc":"24995:2:21","nodeType":"YulIdentifier","src":"24995:2:21"}]},{"nativeSrc":"25025:17:21","nodeType":"YulAssignment","src":"25025:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"25037:4:21","nodeType":"YulLiteral","src":"25037:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"25031:5:21","nodeType":"YulIdentifier","src":"25031:5:21"},"nativeSrc":"25031:11:21","nodeType":"YulFunctionCall","src":"25031:11:21"},"variableNames":[{"name":"m3","nativeSrc":"25025:2:21","nodeType":"YulIdentifier","src":"25025:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25115:4:21","nodeType":"YulLiteral","src":"25115:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"25121:10:21","nodeType":"YulLiteral","src":"25121:10:21","type":"","value":"0xeb830c92"}],"functionName":{"name":"mstore","nativeSrc":"25108:6:21","nodeType":"YulIdentifier","src":"25108:6:21"},"nativeSrc":"25108:24:21","nodeType":"YulFunctionCall","src":"25108:24:21"},"nativeSrc":"25108:24:21","nodeType":"YulExpressionStatement","src":"25108:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25152:4:21","nodeType":"YulLiteral","src":"25152:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"25158:2:21","nodeType":"YulIdentifier","src":"25158:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25145:6:21","nodeType":"YulIdentifier","src":"25145:6:21"},"nativeSrc":"25145:16:21","nodeType":"YulFunctionCall","src":"25145:16:21"},"nativeSrc":"25145:16:21","nodeType":"YulExpressionStatement","src":"25145:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25181:4:21","nodeType":"YulLiteral","src":"25181:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"25187:2:21","nodeType":"YulIdentifier","src":"25187:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25174:6:21","nodeType":"YulIdentifier","src":"25174:6:21"},"nativeSrc":"25174:16:21","nodeType":"YulFunctionCall","src":"25174:16:21"},"nativeSrc":"25174:16:21","nodeType":"YulExpressionStatement","src":"25174:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25210:4:21","nodeType":"YulLiteral","src":"25210:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"25216:2:21","nodeType":"YulIdentifier","src":"25216:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25203:6:21","nodeType":"YulIdentifier","src":"25203:6:21"},"nativeSrc":"25203:16:21","nodeType":"YulFunctionCall","src":"25203:16:21"},"nativeSrc":"25203:16:21","nodeType":"YulExpressionStatement","src":"25203:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27813,"isOffset":false,"isSlot":false,"src":"24935:2:21","valueSize":1},{"declaration":27816,"isOffset":false,"isSlot":false,"src":"24965:2:21","valueSize":1},{"declaration":27819,"isOffset":false,"isSlot":false,"src":"24995:2:21","valueSize":1},{"declaration":27822,"isOffset":false,"isSlot":false,"src":"25025:2:21","valueSize":1},{"declaration":27805,"isOffset":false,"isSlot":false,"src":"25158:2:21","valueSize":1},{"declaration":27807,"isOffset":false,"isSlot":false,"src":"25187:2:21","valueSize":1},{"declaration":27809,"isOffset":false,"isSlot":false,"src":"25216:2:21","valueSize":1}],"id":27824,"nodeType":"InlineAssembly","src":"24912:317:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25254:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25260:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27825,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"25238:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25238:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27829,"nodeType":"ExpressionStatement","src":"25238:27:21"},{"AST":{"nativeSrc":"25327:127:21","nodeType":"YulBlock","src":"25327:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"25348:4:21","nodeType":"YulLiteral","src":"25348:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"25354:2:21","nodeType":"YulIdentifier","src":"25354:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25341:6:21","nodeType":"YulIdentifier","src":"25341:6:21"},"nativeSrc":"25341:16:21","nodeType":"YulFunctionCall","src":"25341:16:21"},"nativeSrc":"25341:16:21","nodeType":"YulExpressionStatement","src":"25341:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25377:4:21","nodeType":"YulLiteral","src":"25377:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"25383:2:21","nodeType":"YulIdentifier","src":"25383:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25370:6:21","nodeType":"YulIdentifier","src":"25370:6:21"},"nativeSrc":"25370:16:21","nodeType":"YulFunctionCall","src":"25370:16:21"},"nativeSrc":"25370:16:21","nodeType":"YulExpressionStatement","src":"25370:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25406:4:21","nodeType":"YulLiteral","src":"25406:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"25412:2:21","nodeType":"YulIdentifier","src":"25412:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25399:6:21","nodeType":"YulIdentifier","src":"25399:6:21"},"nativeSrc":"25399:16:21","nodeType":"YulFunctionCall","src":"25399:16:21"},"nativeSrc":"25399:16:21","nodeType":"YulExpressionStatement","src":"25399:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25435:4:21","nodeType":"YulLiteral","src":"25435:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"25441:2:21","nodeType":"YulIdentifier","src":"25441:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25428:6:21","nodeType":"YulIdentifier","src":"25428:6:21"},"nativeSrc":"25428:16:21","nodeType":"YulFunctionCall","src":"25428:16:21"},"nativeSrc":"25428:16:21","nodeType":"YulExpressionStatement","src":"25428:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27813,"isOffset":false,"isSlot":false,"src":"25354:2:21","valueSize":1},{"declaration":27816,"isOffset":false,"isSlot":false,"src":"25383:2:21","valueSize":1},{"declaration":27819,"isOffset":false,"isSlot":false,"src":"25412:2:21","valueSize":1},{"declaration":27822,"isOffset":false,"isSlot":false,"src":"25441:2:21","valueSize":1}],"id":27830,"nodeType":"InlineAssembly","src":"25318:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24731:3:21","parameters":{"id":27810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27805,"mutability":"mutable","name":"p0","nameLocation":"24743:2:21","nodeType":"VariableDeclaration","scope":27832,"src":"24735:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27804,"name":"address","nodeType":"ElementaryTypeName","src":"24735:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27807,"mutability":"mutable","name":"p1","nameLocation":"24752:2:21","nodeType":"VariableDeclaration","scope":27832,"src":"24747:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27806,"name":"bool","nodeType":"ElementaryTypeName","src":"24747:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27809,"mutability":"mutable","name":"p2","nameLocation":"24761:2:21","nodeType":"VariableDeclaration","scope":27832,"src":"24756:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27808,"name":"bool","nodeType":"ElementaryTypeName","src":"24756:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24734:30:21"},"returnParameters":{"id":27811,"nodeType":"ParameterList","parameters":[],"src":"24779:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27861,"nodeType":"FunctionDefinition","src":"25466:744:21","nodes":[],"body":{"id":27860,"nodeType":"Block","src":"25526:684:21","nodes":[],"statements":[{"assignments":[27842],"declarations":[{"constant":false,"id":27842,"mutability":"mutable","name":"m0","nameLocation":"25544:2:21","nodeType":"VariableDeclaration","scope":27860,"src":"25536:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25536:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27843,"nodeType":"VariableDeclarationStatement","src":"25536:10:21"},{"assignments":[27845],"declarations":[{"constant":false,"id":27845,"mutability":"mutable","name":"m1","nameLocation":"25564:2:21","nodeType":"VariableDeclaration","scope":27860,"src":"25556:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25556:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27846,"nodeType":"VariableDeclarationStatement","src":"25556:10:21"},{"assignments":[27848],"declarations":[{"constant":false,"id":27848,"mutability":"mutable","name":"m2","nameLocation":"25584:2:21","nodeType":"VariableDeclaration","scope":27860,"src":"25576:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25576:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27849,"nodeType":"VariableDeclarationStatement","src":"25576:10:21"},{"assignments":[27851],"declarations":[{"constant":false,"id":27851,"mutability":"mutable","name":"m3","nameLocation":"25604:2:21","nodeType":"VariableDeclaration","scope":27860,"src":"25596:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25596:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27852,"nodeType":"VariableDeclarationStatement","src":"25596:10:21"},{"AST":{"nativeSrc":"25668:311:21","nodeType":"YulBlock","src":"25668:311:21","statements":[{"nativeSrc":"25682:17:21","nodeType":"YulAssignment","src":"25682:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"25694:4:21","nodeType":"YulLiteral","src":"25694:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"25688:5:21","nodeType":"YulIdentifier","src":"25688:5:21"},"nativeSrc":"25688:11:21","nodeType":"YulFunctionCall","src":"25688:11:21"},"variableNames":[{"name":"m0","nativeSrc":"25682:2:21","nodeType":"YulIdentifier","src":"25682:2:21"}]},{"nativeSrc":"25712:17:21","nodeType":"YulAssignment","src":"25712:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"25724:4:21","nodeType":"YulLiteral","src":"25724:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"25718:5:21","nodeType":"YulIdentifier","src":"25718:5:21"},"nativeSrc":"25718:11:21","nodeType":"YulFunctionCall","src":"25718:11:21"},"variableNames":[{"name":"m1","nativeSrc":"25712:2:21","nodeType":"YulIdentifier","src":"25712:2:21"}]},{"nativeSrc":"25742:17:21","nodeType":"YulAssignment","src":"25742:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"25754:4:21","nodeType":"YulLiteral","src":"25754:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"25748:5:21","nodeType":"YulIdentifier","src":"25748:5:21"},"nativeSrc":"25748:11:21","nodeType":"YulFunctionCall","src":"25748:11:21"},"variableNames":[{"name":"m2","nativeSrc":"25742:2:21","nodeType":"YulIdentifier","src":"25742:2:21"}]},{"nativeSrc":"25772:17:21","nodeType":"YulAssignment","src":"25772:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"25784:4:21","nodeType":"YulLiteral","src":"25784:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"25778:5:21","nodeType":"YulIdentifier","src":"25778:5:21"},"nativeSrc":"25778:11:21","nodeType":"YulFunctionCall","src":"25778:11:21"},"variableNames":[{"name":"m3","nativeSrc":"25772:2:21","nodeType":"YulIdentifier","src":"25772:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25865:4:21","nodeType":"YulLiteral","src":"25865:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"25871:10:21","nodeType":"YulLiteral","src":"25871:10:21","type":"","value":"0x9c4f99fb"}],"functionName":{"name":"mstore","nativeSrc":"25858:6:21","nodeType":"YulIdentifier","src":"25858:6:21"},"nativeSrc":"25858:24:21","nodeType":"YulFunctionCall","src":"25858:24:21"},"nativeSrc":"25858:24:21","nodeType":"YulExpressionStatement","src":"25858:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25902:4:21","nodeType":"YulLiteral","src":"25902:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"25908:2:21","nodeType":"YulIdentifier","src":"25908:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25895:6:21","nodeType":"YulIdentifier","src":"25895:6:21"},"nativeSrc":"25895:16:21","nodeType":"YulFunctionCall","src":"25895:16:21"},"nativeSrc":"25895:16:21","nodeType":"YulExpressionStatement","src":"25895:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25931:4:21","nodeType":"YulLiteral","src":"25931:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"25937:2:21","nodeType":"YulIdentifier","src":"25937:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25924:6:21","nodeType":"YulIdentifier","src":"25924:6:21"},"nativeSrc":"25924:16:21","nodeType":"YulFunctionCall","src":"25924:16:21"},"nativeSrc":"25924:16:21","nodeType":"YulExpressionStatement","src":"25924:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25960:4:21","nodeType":"YulLiteral","src":"25960:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"25966:2:21","nodeType":"YulIdentifier","src":"25966:2:21"}],"functionName":{"name":"mstore","nativeSrc":"25953:6:21","nodeType":"YulIdentifier","src":"25953:6:21"},"nativeSrc":"25953:16:21","nodeType":"YulFunctionCall","src":"25953:16:21"},"nativeSrc":"25953:16:21","nodeType":"YulExpressionStatement","src":"25953:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27842,"isOffset":false,"isSlot":false,"src":"25682:2:21","valueSize":1},{"declaration":27845,"isOffset":false,"isSlot":false,"src":"25712:2:21","valueSize":1},{"declaration":27848,"isOffset":false,"isSlot":false,"src":"25742:2:21","valueSize":1},{"declaration":27851,"isOffset":false,"isSlot":false,"src":"25772:2:21","valueSize":1},{"declaration":27834,"isOffset":false,"isSlot":false,"src":"25908:2:21","valueSize":1},{"declaration":27836,"isOffset":false,"isSlot":false,"src":"25937:2:21","valueSize":1},{"declaration":27838,"isOffset":false,"isSlot":false,"src":"25966:2:21","valueSize":1}],"id":27853,"nodeType":"InlineAssembly","src":"25659:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26004:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26010:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27854,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"25988:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25988:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27858,"nodeType":"ExpressionStatement","src":"25988:27:21"},{"AST":{"nativeSrc":"26077:127:21","nodeType":"YulBlock","src":"26077:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"26098:4:21","nodeType":"YulLiteral","src":"26098:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"26104:2:21","nodeType":"YulIdentifier","src":"26104:2:21"}],"functionName":{"name":"mstore","nativeSrc":"26091:6:21","nodeType":"YulIdentifier","src":"26091:6:21"},"nativeSrc":"26091:16:21","nodeType":"YulFunctionCall","src":"26091:16:21"},"nativeSrc":"26091:16:21","nodeType":"YulExpressionStatement","src":"26091:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"26127:4:21","nodeType":"YulLiteral","src":"26127:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"26133:2:21","nodeType":"YulIdentifier","src":"26133:2:21"}],"functionName":{"name":"mstore","nativeSrc":"26120:6:21","nodeType":"YulIdentifier","src":"26120:6:21"},"nativeSrc":"26120:16:21","nodeType":"YulFunctionCall","src":"26120:16:21"},"nativeSrc":"26120:16:21","nodeType":"YulExpressionStatement","src":"26120:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"26156:4:21","nodeType":"YulLiteral","src":"26156:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"26162:2:21","nodeType":"YulIdentifier","src":"26162:2:21"}],"functionName":{"name":"mstore","nativeSrc":"26149:6:21","nodeType":"YulIdentifier","src":"26149:6:21"},"nativeSrc":"26149:16:21","nodeType":"YulFunctionCall","src":"26149:16:21"},"nativeSrc":"26149:16:21","nodeType":"YulExpressionStatement","src":"26149:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"26185:4:21","nodeType":"YulLiteral","src":"26185:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"26191:2:21","nodeType":"YulIdentifier","src":"26191:2:21"}],"functionName":{"name":"mstore","nativeSrc":"26178:6:21","nodeType":"YulIdentifier","src":"26178:6:21"},"nativeSrc":"26178:16:21","nodeType":"YulFunctionCall","src":"26178:16:21"},"nativeSrc":"26178:16:21","nodeType":"YulExpressionStatement","src":"26178:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27842,"isOffset":false,"isSlot":false,"src":"26104:2:21","valueSize":1},{"declaration":27845,"isOffset":false,"isSlot":false,"src":"26133:2:21","valueSize":1},{"declaration":27848,"isOffset":false,"isSlot":false,"src":"26162:2:21","valueSize":1},{"declaration":27851,"isOffset":false,"isSlot":false,"src":"26191:2:21","valueSize":1}],"id":27859,"nodeType":"InlineAssembly","src":"26068:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25475:3:21","parameters":{"id":27839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27834,"mutability":"mutable","name":"p0","nameLocation":"25487:2:21","nodeType":"VariableDeclaration","scope":27861,"src":"25479:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27833,"name":"address","nodeType":"ElementaryTypeName","src":"25479:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27836,"mutability":"mutable","name":"p1","nameLocation":"25496:2:21","nodeType":"VariableDeclaration","scope":27861,"src":"25491:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27835,"name":"bool","nodeType":"ElementaryTypeName","src":"25491:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27838,"mutability":"mutable","name":"p2","nameLocation":"25508:2:21","nodeType":"VariableDeclaration","scope":27861,"src":"25500:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27837,"name":"uint256","nodeType":"ElementaryTypeName","src":"25500:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25478:33:21"},"returnParameters":{"id":27840,"nodeType":"ParameterList","parameters":[],"src":"25526:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27896,"nodeType":"FunctionDefinition","src":"26216:1292:21","nodes":[],"body":{"id":27895,"nodeType":"Block","src":"26276:1232:21","nodes":[],"statements":[{"assignments":[27871],"declarations":[{"constant":false,"id":27871,"mutability":"mutable","name":"m0","nameLocation":"26294:2:21","nodeType":"VariableDeclaration","scope":27895,"src":"26286:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26286:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27872,"nodeType":"VariableDeclarationStatement","src":"26286:10:21"},{"assignments":[27874],"declarations":[{"constant":false,"id":27874,"mutability":"mutable","name":"m1","nameLocation":"26314:2:21","nodeType":"VariableDeclaration","scope":27895,"src":"26306:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26306:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27875,"nodeType":"VariableDeclarationStatement","src":"26306:10:21"},{"assignments":[27877],"declarations":[{"constant":false,"id":27877,"mutability":"mutable","name":"m2","nameLocation":"26334:2:21","nodeType":"VariableDeclaration","scope":27895,"src":"26326:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26326:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27878,"nodeType":"VariableDeclarationStatement","src":"26326:10:21"},{"assignments":[27880],"declarations":[{"constant":false,"id":27880,"mutability":"mutable","name":"m3","nameLocation":"26354:2:21","nodeType":"VariableDeclaration","scope":27895,"src":"26346:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26346:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27881,"nodeType":"VariableDeclarationStatement","src":"26346:10:21"},{"assignments":[27883],"declarations":[{"constant":false,"id":27883,"mutability":"mutable","name":"m4","nameLocation":"26374:2:21","nodeType":"VariableDeclaration","scope":27895,"src":"26366:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26366:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27884,"nodeType":"VariableDeclarationStatement","src":"26366:10:21"},{"assignments":[27886],"declarations":[{"constant":false,"id":27886,"mutability":"mutable","name":"m5","nameLocation":"26394:2:21","nodeType":"VariableDeclaration","scope":27895,"src":"26386:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26386:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27887,"nodeType":"VariableDeclarationStatement","src":"26386:10:21"},{"AST":{"nativeSrc":"26458:761:21","nodeType":"YulBlock","src":"26458:761:21","statements":[{"body":{"nativeSrc":"26501:313:21","nodeType":"YulBlock","src":"26501:313:21","statements":[{"nativeSrc":"26519:15:21","nodeType":"YulVariableDeclaration","src":"26519:15:21","value":{"kind":"number","nativeSrc":"26533:1:21","nodeType":"YulLiteral","src":"26533:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"26523:6:21","nodeType":"YulTypedName","src":"26523:6:21","type":""}]},{"body":{"nativeSrc":"26604:40:21","nodeType":"YulBlock","src":"26604:40:21","statements":[{"body":{"nativeSrc":"26633:9:21","nodeType":"YulBlock","src":"26633:9:21","statements":[{"nativeSrc":"26635:5:21","nodeType":"YulBreak","src":"26635:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"26621:6:21","nodeType":"YulIdentifier","src":"26621:6:21"},{"name":"w","nativeSrc":"26629:1:21","nodeType":"YulIdentifier","src":"26629:1:21"}],"functionName":{"name":"byte","nativeSrc":"26616:4:21","nodeType":"YulIdentifier","src":"26616:4:21"},"nativeSrc":"26616:15:21","nodeType":"YulFunctionCall","src":"26616:15:21"}],"functionName":{"name":"iszero","nativeSrc":"26609:6:21","nodeType":"YulIdentifier","src":"26609:6:21"},"nativeSrc":"26609:23:21","nodeType":"YulFunctionCall","src":"26609:23:21"},"nativeSrc":"26606:36:21","nodeType":"YulIf","src":"26606:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"26561:6:21","nodeType":"YulIdentifier","src":"26561:6:21"},{"kind":"number","nativeSrc":"26569:4:21","nodeType":"YulLiteral","src":"26569:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"26558:2:21","nodeType":"YulIdentifier","src":"26558:2:21"},"nativeSrc":"26558:16:21","nodeType":"YulFunctionCall","src":"26558:16:21"},"nativeSrc":"26551:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"26575:28:21","nodeType":"YulBlock","src":"26575:28:21","statements":[{"nativeSrc":"26577:24:21","nodeType":"YulAssignment","src":"26577:24:21","value":{"arguments":[{"name":"length","nativeSrc":"26591:6:21","nodeType":"YulIdentifier","src":"26591:6:21"},{"kind":"number","nativeSrc":"26599:1:21","nodeType":"YulLiteral","src":"26599:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"26587:3:21","nodeType":"YulIdentifier","src":"26587:3:21"},"nativeSrc":"26587:14:21","nodeType":"YulFunctionCall","src":"26587:14:21"},"variableNames":[{"name":"length","nativeSrc":"26577:6:21","nodeType":"YulIdentifier","src":"26577:6:21"}]}]},"pre":{"nativeSrc":"26555:2:21","nodeType":"YulBlock","src":"26555:2:21","statements":[]},"src":"26551:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"26668:3:21","nodeType":"YulIdentifier","src":"26668:3:21"},{"name":"length","nativeSrc":"26673:6:21","nodeType":"YulIdentifier","src":"26673:6:21"}],"functionName":{"name":"mstore","nativeSrc":"26661:6:21","nodeType":"YulIdentifier","src":"26661:6:21"},"nativeSrc":"26661:19:21","nodeType":"YulFunctionCall","src":"26661:19:21"},"nativeSrc":"26661:19:21","nodeType":"YulExpressionStatement","src":"26661:19:21"},{"nativeSrc":"26697:37:21","nodeType":"YulVariableDeclaration","src":"26697:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"26714:3:21","nodeType":"YulLiteral","src":"26714:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"26723:1:21","nodeType":"YulLiteral","src":"26723:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"26726:6:21","nodeType":"YulIdentifier","src":"26726:6:21"}],"functionName":{"name":"shl","nativeSrc":"26719:3:21","nodeType":"YulIdentifier","src":"26719:3:21"},"nativeSrc":"26719:14:21","nodeType":"YulFunctionCall","src":"26719:14:21"}],"functionName":{"name":"sub","nativeSrc":"26710:3:21","nodeType":"YulIdentifier","src":"26710:3:21"},"nativeSrc":"26710:24:21","nodeType":"YulFunctionCall","src":"26710:24:21"},"variables":[{"name":"shift","nativeSrc":"26701:5:21","nodeType":"YulTypedName","src":"26701:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"26762:3:21","nodeType":"YulIdentifier","src":"26762:3:21"},{"kind":"number","nativeSrc":"26767:4:21","nodeType":"YulLiteral","src":"26767:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"26758:3:21","nodeType":"YulIdentifier","src":"26758:3:21"},"nativeSrc":"26758:14:21","nodeType":"YulFunctionCall","src":"26758:14:21"},{"arguments":[{"name":"shift","nativeSrc":"26778:5:21","nodeType":"YulIdentifier","src":"26778:5:21"},{"arguments":[{"name":"shift","nativeSrc":"26789:5:21","nodeType":"YulIdentifier","src":"26789:5:21"},{"name":"w","nativeSrc":"26796:1:21","nodeType":"YulIdentifier","src":"26796:1:21"}],"functionName":{"name":"shr","nativeSrc":"26785:3:21","nodeType":"YulIdentifier","src":"26785:3:21"},"nativeSrc":"26785:13:21","nodeType":"YulFunctionCall","src":"26785:13:21"}],"functionName":{"name":"shl","nativeSrc":"26774:3:21","nodeType":"YulIdentifier","src":"26774:3:21"},"nativeSrc":"26774:25:21","nodeType":"YulFunctionCall","src":"26774:25:21"}],"functionName":{"name":"mstore","nativeSrc":"26751:6:21","nodeType":"YulIdentifier","src":"26751:6:21"},"nativeSrc":"26751:49:21","nodeType":"YulFunctionCall","src":"26751:49:21"},"nativeSrc":"26751:49:21","nodeType":"YulExpressionStatement","src":"26751:49:21"}]},"name":"writeString","nativeSrc":"26472:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"26493:3:21","nodeType":"YulTypedName","src":"26493:3:21","type":""},{"name":"w","nativeSrc":"26498:1:21","nodeType":"YulTypedName","src":"26498:1:21","type":""}],"src":"26472:342:21"},{"nativeSrc":"26827:17:21","nodeType":"YulAssignment","src":"26827:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"26839:4:21","nodeType":"YulLiteral","src":"26839:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"26833:5:21","nodeType":"YulIdentifier","src":"26833:5:21"},"nativeSrc":"26833:11:21","nodeType":"YulFunctionCall","src":"26833:11:21"},"variableNames":[{"name":"m0","nativeSrc":"26827:2:21","nodeType":"YulIdentifier","src":"26827:2:21"}]},{"nativeSrc":"26857:17:21","nodeType":"YulAssignment","src":"26857:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"26869:4:21","nodeType":"YulLiteral","src":"26869:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"26863:5:21","nodeType":"YulIdentifier","src":"26863:5:21"},"nativeSrc":"26863:11:21","nodeType":"YulFunctionCall","src":"26863:11:21"},"variableNames":[{"name":"m1","nativeSrc":"26857:2:21","nodeType":"YulIdentifier","src":"26857:2:21"}]},{"nativeSrc":"26887:17:21","nodeType":"YulAssignment","src":"26887:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"26899:4:21","nodeType":"YulLiteral","src":"26899:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"26893:5:21","nodeType":"YulIdentifier","src":"26893:5:21"},"nativeSrc":"26893:11:21","nodeType":"YulFunctionCall","src":"26893:11:21"},"variableNames":[{"name":"m2","nativeSrc":"26887:2:21","nodeType":"YulIdentifier","src":"26887:2:21"}]},{"nativeSrc":"26917:17:21","nodeType":"YulAssignment","src":"26917:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"26929:4:21","nodeType":"YulLiteral","src":"26929:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"26923:5:21","nodeType":"YulIdentifier","src":"26923:5:21"},"nativeSrc":"26923:11:21","nodeType":"YulFunctionCall","src":"26923:11:21"},"variableNames":[{"name":"m3","nativeSrc":"26917:2:21","nodeType":"YulIdentifier","src":"26917:2:21"}]},{"nativeSrc":"26947:17:21","nodeType":"YulAssignment","src":"26947:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"26959:4:21","nodeType":"YulLiteral","src":"26959:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"26953:5:21","nodeType":"YulIdentifier","src":"26953:5:21"},"nativeSrc":"26953:11:21","nodeType":"YulFunctionCall","src":"26953:11:21"},"variableNames":[{"name":"m4","nativeSrc":"26947:2:21","nodeType":"YulIdentifier","src":"26947:2:21"}]},{"nativeSrc":"26977:17:21","nodeType":"YulAssignment","src":"26977:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"26989:4:21","nodeType":"YulLiteral","src":"26989:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"26983:5:21","nodeType":"YulIdentifier","src":"26983:5:21"},"nativeSrc":"26983:11:21","nodeType":"YulFunctionCall","src":"26983:11:21"},"variableNames":[{"name":"m5","nativeSrc":"26977:2:21","nodeType":"YulIdentifier","src":"26977:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27069:4:21","nodeType":"YulLiteral","src":"27069:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"27075:10:21","nodeType":"YulLiteral","src":"27075:10:21","type":"","value":"0x212255cc"}],"functionName":{"name":"mstore","nativeSrc":"27062:6:21","nodeType":"YulIdentifier","src":"27062:6:21"},"nativeSrc":"27062:24:21","nodeType":"YulFunctionCall","src":"27062:24:21"},"nativeSrc":"27062:24:21","nodeType":"YulExpressionStatement","src":"27062:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27106:4:21","nodeType":"YulLiteral","src":"27106:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"27112:2:21","nodeType":"YulIdentifier","src":"27112:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27099:6:21","nodeType":"YulIdentifier","src":"27099:6:21"},"nativeSrc":"27099:16:21","nodeType":"YulFunctionCall","src":"27099:16:21"},"nativeSrc":"27099:16:21","nodeType":"YulExpressionStatement","src":"27099:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27135:4:21","nodeType":"YulLiteral","src":"27135:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"27141:2:21","nodeType":"YulIdentifier","src":"27141:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27128:6:21","nodeType":"YulIdentifier","src":"27128:6:21"},"nativeSrc":"27128:16:21","nodeType":"YulFunctionCall","src":"27128:16:21"},"nativeSrc":"27128:16:21","nodeType":"YulExpressionStatement","src":"27128:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27164:4:21","nodeType":"YulLiteral","src":"27164:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"27170:4:21","nodeType":"YulLiteral","src":"27170:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"27157:6:21","nodeType":"YulIdentifier","src":"27157:6:21"},"nativeSrc":"27157:18:21","nodeType":"YulFunctionCall","src":"27157:18:21"},"nativeSrc":"27157:18:21","nodeType":"YulExpressionStatement","src":"27157:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27200:4:21","nodeType":"YulLiteral","src":"27200:4:21","type":"","value":"0x80"},{"name":"p2","nativeSrc":"27206:2:21","nodeType":"YulIdentifier","src":"27206:2:21"}],"functionName":{"name":"writeString","nativeSrc":"27188:11:21","nodeType":"YulIdentifier","src":"27188:11:21"},"nativeSrc":"27188:21:21","nodeType":"YulFunctionCall","src":"27188:21:21"},"nativeSrc":"27188:21:21","nodeType":"YulExpressionStatement","src":"27188:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27871,"isOffset":false,"isSlot":false,"src":"26827:2:21","valueSize":1},{"declaration":27874,"isOffset":false,"isSlot":false,"src":"26857:2:21","valueSize":1},{"declaration":27877,"isOffset":false,"isSlot":false,"src":"26887:2:21","valueSize":1},{"declaration":27880,"isOffset":false,"isSlot":false,"src":"26917:2:21","valueSize":1},{"declaration":27883,"isOffset":false,"isSlot":false,"src":"26947:2:21","valueSize":1},{"declaration":27886,"isOffset":false,"isSlot":false,"src":"26977:2:21","valueSize":1},{"declaration":27863,"isOffset":false,"isSlot":false,"src":"27112:2:21","valueSize":1},{"declaration":27865,"isOffset":false,"isSlot":false,"src":"27141:2:21","valueSize":1},{"declaration":27867,"isOffset":false,"isSlot":false,"src":"27206:2:21","valueSize":1}],"id":27888,"nodeType":"InlineAssembly","src":"26449:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27244:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27250:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27889,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"27228:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27228:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27893,"nodeType":"ExpressionStatement","src":"27228:27:21"},{"AST":{"nativeSrc":"27317:185:21","nodeType":"YulBlock","src":"27317:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"27338:4:21","nodeType":"YulLiteral","src":"27338:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"27344:2:21","nodeType":"YulIdentifier","src":"27344:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27331:6:21","nodeType":"YulIdentifier","src":"27331:6:21"},"nativeSrc":"27331:16:21","nodeType":"YulFunctionCall","src":"27331:16:21"},"nativeSrc":"27331:16:21","nodeType":"YulExpressionStatement","src":"27331:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27367:4:21","nodeType":"YulLiteral","src":"27367:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"27373:2:21","nodeType":"YulIdentifier","src":"27373:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27360:6:21","nodeType":"YulIdentifier","src":"27360:6:21"},"nativeSrc":"27360:16:21","nodeType":"YulFunctionCall","src":"27360:16:21"},"nativeSrc":"27360:16:21","nodeType":"YulExpressionStatement","src":"27360:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27396:4:21","nodeType":"YulLiteral","src":"27396:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"27402:2:21","nodeType":"YulIdentifier","src":"27402:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27389:6:21","nodeType":"YulIdentifier","src":"27389:6:21"},"nativeSrc":"27389:16:21","nodeType":"YulFunctionCall","src":"27389:16:21"},"nativeSrc":"27389:16:21","nodeType":"YulExpressionStatement","src":"27389:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27425:4:21","nodeType":"YulLiteral","src":"27425:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"27431:2:21","nodeType":"YulIdentifier","src":"27431:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27418:6:21","nodeType":"YulIdentifier","src":"27418:6:21"},"nativeSrc":"27418:16:21","nodeType":"YulFunctionCall","src":"27418:16:21"},"nativeSrc":"27418:16:21","nodeType":"YulExpressionStatement","src":"27418:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27454:4:21","nodeType":"YulLiteral","src":"27454:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"27460:2:21","nodeType":"YulIdentifier","src":"27460:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27447:6:21","nodeType":"YulIdentifier","src":"27447:6:21"},"nativeSrc":"27447:16:21","nodeType":"YulFunctionCall","src":"27447:16:21"},"nativeSrc":"27447:16:21","nodeType":"YulExpressionStatement","src":"27447:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27483:4:21","nodeType":"YulLiteral","src":"27483:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"27489:2:21","nodeType":"YulIdentifier","src":"27489:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27476:6:21","nodeType":"YulIdentifier","src":"27476:6:21"},"nativeSrc":"27476:16:21","nodeType":"YulFunctionCall","src":"27476:16:21"},"nativeSrc":"27476:16:21","nodeType":"YulExpressionStatement","src":"27476:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27871,"isOffset":false,"isSlot":false,"src":"27344:2:21","valueSize":1},{"declaration":27874,"isOffset":false,"isSlot":false,"src":"27373:2:21","valueSize":1},{"declaration":27877,"isOffset":false,"isSlot":false,"src":"27402:2:21","valueSize":1},{"declaration":27880,"isOffset":false,"isSlot":false,"src":"27431:2:21","valueSize":1},{"declaration":27883,"isOffset":false,"isSlot":false,"src":"27460:2:21","valueSize":1},{"declaration":27886,"isOffset":false,"isSlot":false,"src":"27489:2:21","valueSize":1}],"id":27894,"nodeType":"InlineAssembly","src":"27308:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26225:3:21","parameters":{"id":27868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27863,"mutability":"mutable","name":"p0","nameLocation":"26237:2:21","nodeType":"VariableDeclaration","scope":27896,"src":"26229:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27862,"name":"address","nodeType":"ElementaryTypeName","src":"26229:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27865,"mutability":"mutable","name":"p1","nameLocation":"26246:2:21","nodeType":"VariableDeclaration","scope":27896,"src":"26241:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27864,"name":"bool","nodeType":"ElementaryTypeName","src":"26241:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27867,"mutability":"mutable","name":"p2","nameLocation":"26258:2:21","nodeType":"VariableDeclaration","scope":27896,"src":"26250:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26250:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26228:33:21"},"returnParameters":{"id":27869,"nodeType":"ParameterList","parameters":[],"src":"26276:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27925,"nodeType":"FunctionDefinition","src":"27514:750:21","nodes":[],"body":{"id":27924,"nodeType":"Block","src":"27577:687:21","nodes":[],"statements":[{"assignments":[27906],"declarations":[{"constant":false,"id":27906,"mutability":"mutable","name":"m0","nameLocation":"27595:2:21","nodeType":"VariableDeclaration","scope":27924,"src":"27587:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27587:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27907,"nodeType":"VariableDeclarationStatement","src":"27587:10:21"},{"assignments":[27909],"declarations":[{"constant":false,"id":27909,"mutability":"mutable","name":"m1","nameLocation":"27615:2:21","nodeType":"VariableDeclaration","scope":27924,"src":"27607:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27607:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27910,"nodeType":"VariableDeclarationStatement","src":"27607:10:21"},{"assignments":[27912],"declarations":[{"constant":false,"id":27912,"mutability":"mutable","name":"m2","nameLocation":"27635:2:21","nodeType":"VariableDeclaration","scope":27924,"src":"27627:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27627:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27913,"nodeType":"VariableDeclarationStatement","src":"27627:10:21"},{"assignments":[27915],"declarations":[{"constant":false,"id":27915,"mutability":"mutable","name":"m3","nameLocation":"27655:2:21","nodeType":"VariableDeclaration","scope":27924,"src":"27647:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27647:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27916,"nodeType":"VariableDeclarationStatement","src":"27647:10:21"},{"AST":{"nativeSrc":"27719:314:21","nodeType":"YulBlock","src":"27719:314:21","statements":[{"nativeSrc":"27733:17:21","nodeType":"YulAssignment","src":"27733:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"27745:4:21","nodeType":"YulLiteral","src":"27745:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"27739:5:21","nodeType":"YulIdentifier","src":"27739:5:21"},"nativeSrc":"27739:11:21","nodeType":"YulFunctionCall","src":"27739:11:21"},"variableNames":[{"name":"m0","nativeSrc":"27733:2:21","nodeType":"YulIdentifier","src":"27733:2:21"}]},{"nativeSrc":"27763:17:21","nodeType":"YulAssignment","src":"27763:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"27775:4:21","nodeType":"YulLiteral","src":"27775:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"27769:5:21","nodeType":"YulIdentifier","src":"27769:5:21"},"nativeSrc":"27769:11:21","nodeType":"YulFunctionCall","src":"27769:11:21"},"variableNames":[{"name":"m1","nativeSrc":"27763:2:21","nodeType":"YulIdentifier","src":"27763:2:21"}]},{"nativeSrc":"27793:17:21","nodeType":"YulAssignment","src":"27793:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"27805:4:21","nodeType":"YulLiteral","src":"27805:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"27799:5:21","nodeType":"YulIdentifier","src":"27799:5:21"},"nativeSrc":"27799:11:21","nodeType":"YulFunctionCall","src":"27799:11:21"},"variableNames":[{"name":"m2","nativeSrc":"27793:2:21","nodeType":"YulIdentifier","src":"27793:2:21"}]},{"nativeSrc":"27823:17:21","nodeType":"YulAssignment","src":"27823:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"27835:4:21","nodeType":"YulLiteral","src":"27835:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"27829:5:21","nodeType":"YulIdentifier","src":"27829:5:21"},"nativeSrc":"27829:11:21","nodeType":"YulFunctionCall","src":"27829:11:21"},"variableNames":[{"name":"m3","nativeSrc":"27823:2:21","nodeType":"YulIdentifier","src":"27823:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27919:4:21","nodeType":"YulLiteral","src":"27919:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"27925:10:21","nodeType":"YulLiteral","src":"27925:10:21","type":"","value":"0x7bc0d848"}],"functionName":{"name":"mstore","nativeSrc":"27912:6:21","nodeType":"YulIdentifier","src":"27912:6:21"},"nativeSrc":"27912:24:21","nodeType":"YulFunctionCall","src":"27912:24:21"},"nativeSrc":"27912:24:21","nodeType":"YulExpressionStatement","src":"27912:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27956:4:21","nodeType":"YulLiteral","src":"27956:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"27962:2:21","nodeType":"YulIdentifier","src":"27962:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27949:6:21","nodeType":"YulIdentifier","src":"27949:6:21"},"nativeSrc":"27949:16:21","nodeType":"YulFunctionCall","src":"27949:16:21"},"nativeSrc":"27949:16:21","nodeType":"YulExpressionStatement","src":"27949:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27985:4:21","nodeType":"YulLiteral","src":"27985:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"27991:2:21","nodeType":"YulIdentifier","src":"27991:2:21"}],"functionName":{"name":"mstore","nativeSrc":"27978:6:21","nodeType":"YulIdentifier","src":"27978:6:21"},"nativeSrc":"27978:16:21","nodeType":"YulFunctionCall","src":"27978:16:21"},"nativeSrc":"27978:16:21","nodeType":"YulExpressionStatement","src":"27978:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28014:4:21","nodeType":"YulLiteral","src":"28014:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"28020:2:21","nodeType":"YulIdentifier","src":"28020:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28007:6:21","nodeType":"YulIdentifier","src":"28007:6:21"},"nativeSrc":"28007:16:21","nodeType":"YulFunctionCall","src":"28007:16:21"},"nativeSrc":"28007:16:21","nodeType":"YulExpressionStatement","src":"28007:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27906,"isOffset":false,"isSlot":false,"src":"27733:2:21","valueSize":1},{"declaration":27909,"isOffset":false,"isSlot":false,"src":"27763:2:21","valueSize":1},{"declaration":27912,"isOffset":false,"isSlot":false,"src":"27793:2:21","valueSize":1},{"declaration":27915,"isOffset":false,"isSlot":false,"src":"27823:2:21","valueSize":1},{"declaration":27898,"isOffset":false,"isSlot":false,"src":"27962:2:21","valueSize":1},{"declaration":27900,"isOffset":false,"isSlot":false,"src":"27991:2:21","valueSize":1},{"declaration":27902,"isOffset":false,"isSlot":false,"src":"28020:2:21","valueSize":1}],"id":27917,"nodeType":"InlineAssembly","src":"27710:323:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28058:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28064:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27918,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"28042:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28042:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27922,"nodeType":"ExpressionStatement","src":"28042:27:21"},{"AST":{"nativeSrc":"28131:127:21","nodeType":"YulBlock","src":"28131:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"28152:4:21","nodeType":"YulLiteral","src":"28152:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"28158:2:21","nodeType":"YulIdentifier","src":"28158:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28145:6:21","nodeType":"YulIdentifier","src":"28145:6:21"},"nativeSrc":"28145:16:21","nodeType":"YulFunctionCall","src":"28145:16:21"},"nativeSrc":"28145:16:21","nodeType":"YulExpressionStatement","src":"28145:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28181:4:21","nodeType":"YulLiteral","src":"28181:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"28187:2:21","nodeType":"YulIdentifier","src":"28187:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28174:6:21","nodeType":"YulIdentifier","src":"28174:6:21"},"nativeSrc":"28174:16:21","nodeType":"YulFunctionCall","src":"28174:16:21"},"nativeSrc":"28174:16:21","nodeType":"YulExpressionStatement","src":"28174:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28210:4:21","nodeType":"YulLiteral","src":"28210:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"28216:2:21","nodeType":"YulIdentifier","src":"28216:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28203:6:21","nodeType":"YulIdentifier","src":"28203:6:21"},"nativeSrc":"28203:16:21","nodeType":"YulFunctionCall","src":"28203:16:21"},"nativeSrc":"28203:16:21","nodeType":"YulExpressionStatement","src":"28203:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28239:4:21","nodeType":"YulLiteral","src":"28239:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"28245:2:21","nodeType":"YulIdentifier","src":"28245:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28232:6:21","nodeType":"YulIdentifier","src":"28232:6:21"},"nativeSrc":"28232:16:21","nodeType":"YulFunctionCall","src":"28232:16:21"},"nativeSrc":"28232:16:21","nodeType":"YulExpressionStatement","src":"28232:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27906,"isOffset":false,"isSlot":false,"src":"28158:2:21","valueSize":1},{"declaration":27909,"isOffset":false,"isSlot":false,"src":"28187:2:21","valueSize":1},{"declaration":27912,"isOffset":false,"isSlot":false,"src":"28216:2:21","valueSize":1},{"declaration":27915,"isOffset":false,"isSlot":false,"src":"28245:2:21","valueSize":1}],"id":27923,"nodeType":"InlineAssembly","src":"28122:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27523:3:21","parameters":{"id":27903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27898,"mutability":"mutable","name":"p0","nameLocation":"27535:2:21","nodeType":"VariableDeclaration","scope":27925,"src":"27527:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27897,"name":"address","nodeType":"ElementaryTypeName","src":"27527:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27900,"mutability":"mutable","name":"p1","nameLocation":"27547:2:21","nodeType":"VariableDeclaration","scope":27925,"src":"27539:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27899,"name":"uint256","nodeType":"ElementaryTypeName","src":"27539:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27902,"mutability":"mutable","name":"p2","nameLocation":"27559:2:21","nodeType":"VariableDeclaration","scope":27925,"src":"27551:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27901,"name":"address","nodeType":"ElementaryTypeName","src":"27551:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27526:36:21"},"returnParameters":{"id":27904,"nodeType":"ParameterList","parameters":[],"src":"27577:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27954,"nodeType":"FunctionDefinition","src":"28270:744:21","nodes":[],"body":{"id":27953,"nodeType":"Block","src":"28330:684:21","nodes":[],"statements":[{"assignments":[27935],"declarations":[{"constant":false,"id":27935,"mutability":"mutable","name":"m0","nameLocation":"28348:2:21","nodeType":"VariableDeclaration","scope":27953,"src":"28340:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28340:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27936,"nodeType":"VariableDeclarationStatement","src":"28340:10:21"},{"assignments":[27938],"declarations":[{"constant":false,"id":27938,"mutability":"mutable","name":"m1","nameLocation":"28368:2:21","nodeType":"VariableDeclaration","scope":27953,"src":"28360:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28360:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27939,"nodeType":"VariableDeclarationStatement","src":"28360:10:21"},{"assignments":[27941],"declarations":[{"constant":false,"id":27941,"mutability":"mutable","name":"m2","nameLocation":"28388:2:21","nodeType":"VariableDeclaration","scope":27953,"src":"28380:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28380:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27942,"nodeType":"VariableDeclarationStatement","src":"28380:10:21"},{"assignments":[27944],"declarations":[{"constant":false,"id":27944,"mutability":"mutable","name":"m3","nameLocation":"28408:2:21","nodeType":"VariableDeclaration","scope":27953,"src":"28400:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28400:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27945,"nodeType":"VariableDeclarationStatement","src":"28400:10:21"},{"AST":{"nativeSrc":"28472:311:21","nodeType":"YulBlock","src":"28472:311:21","statements":[{"nativeSrc":"28486:17:21","nodeType":"YulAssignment","src":"28486:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"28498:4:21","nodeType":"YulLiteral","src":"28498:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"28492:5:21","nodeType":"YulIdentifier","src":"28492:5:21"},"nativeSrc":"28492:11:21","nodeType":"YulFunctionCall","src":"28492:11:21"},"variableNames":[{"name":"m0","nativeSrc":"28486:2:21","nodeType":"YulIdentifier","src":"28486:2:21"}]},{"nativeSrc":"28516:17:21","nodeType":"YulAssignment","src":"28516:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"28528:4:21","nodeType":"YulLiteral","src":"28528:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"28522:5:21","nodeType":"YulIdentifier","src":"28522:5:21"},"nativeSrc":"28522:11:21","nodeType":"YulFunctionCall","src":"28522:11:21"},"variableNames":[{"name":"m1","nativeSrc":"28516:2:21","nodeType":"YulIdentifier","src":"28516:2:21"}]},{"nativeSrc":"28546:17:21","nodeType":"YulAssignment","src":"28546:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"28558:4:21","nodeType":"YulLiteral","src":"28558:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"28552:5:21","nodeType":"YulIdentifier","src":"28552:5:21"},"nativeSrc":"28552:11:21","nodeType":"YulFunctionCall","src":"28552:11:21"},"variableNames":[{"name":"m2","nativeSrc":"28546:2:21","nodeType":"YulIdentifier","src":"28546:2:21"}]},{"nativeSrc":"28576:17:21","nodeType":"YulAssignment","src":"28576:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"28588:4:21","nodeType":"YulLiteral","src":"28588:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"28582:5:21","nodeType":"YulIdentifier","src":"28582:5:21"},"nativeSrc":"28582:11:21","nodeType":"YulFunctionCall","src":"28582:11:21"},"variableNames":[{"name":"m3","nativeSrc":"28576:2:21","nodeType":"YulIdentifier","src":"28576:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28669:4:21","nodeType":"YulLiteral","src":"28669:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"28675:10:21","nodeType":"YulLiteral","src":"28675:10:21","type":"","value":"0x678209a8"}],"functionName":{"name":"mstore","nativeSrc":"28662:6:21","nodeType":"YulIdentifier","src":"28662:6:21"},"nativeSrc":"28662:24:21","nodeType":"YulFunctionCall","src":"28662:24:21"},"nativeSrc":"28662:24:21","nodeType":"YulExpressionStatement","src":"28662:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28706:4:21","nodeType":"YulLiteral","src":"28706:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"28712:2:21","nodeType":"YulIdentifier","src":"28712:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28699:6:21","nodeType":"YulIdentifier","src":"28699:6:21"},"nativeSrc":"28699:16:21","nodeType":"YulFunctionCall","src":"28699:16:21"},"nativeSrc":"28699:16:21","nodeType":"YulExpressionStatement","src":"28699:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28735:4:21","nodeType":"YulLiteral","src":"28735:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"28741:2:21","nodeType":"YulIdentifier","src":"28741:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28728:6:21","nodeType":"YulIdentifier","src":"28728:6:21"},"nativeSrc":"28728:16:21","nodeType":"YulFunctionCall","src":"28728:16:21"},"nativeSrc":"28728:16:21","nodeType":"YulExpressionStatement","src":"28728:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28764:4:21","nodeType":"YulLiteral","src":"28764:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"28770:2:21","nodeType":"YulIdentifier","src":"28770:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28757:6:21","nodeType":"YulIdentifier","src":"28757:6:21"},"nativeSrc":"28757:16:21","nodeType":"YulFunctionCall","src":"28757:16:21"},"nativeSrc":"28757:16:21","nodeType":"YulExpressionStatement","src":"28757:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27935,"isOffset":false,"isSlot":false,"src":"28486:2:21","valueSize":1},{"declaration":27938,"isOffset":false,"isSlot":false,"src":"28516:2:21","valueSize":1},{"declaration":27941,"isOffset":false,"isSlot":false,"src":"28546:2:21","valueSize":1},{"declaration":27944,"isOffset":false,"isSlot":false,"src":"28576:2:21","valueSize":1},{"declaration":27927,"isOffset":false,"isSlot":false,"src":"28712:2:21","valueSize":1},{"declaration":27929,"isOffset":false,"isSlot":false,"src":"28741:2:21","valueSize":1},{"declaration":27931,"isOffset":false,"isSlot":false,"src":"28770:2:21","valueSize":1}],"id":27946,"nodeType":"InlineAssembly","src":"28463:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28808:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28814:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27947,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"28792:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28792:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27951,"nodeType":"ExpressionStatement","src":"28792:27:21"},{"AST":{"nativeSrc":"28881:127:21","nodeType":"YulBlock","src":"28881:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"28902:4:21","nodeType":"YulLiteral","src":"28902:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"28908:2:21","nodeType":"YulIdentifier","src":"28908:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28895:6:21","nodeType":"YulIdentifier","src":"28895:6:21"},"nativeSrc":"28895:16:21","nodeType":"YulFunctionCall","src":"28895:16:21"},"nativeSrc":"28895:16:21","nodeType":"YulExpressionStatement","src":"28895:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28931:4:21","nodeType":"YulLiteral","src":"28931:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"28937:2:21","nodeType":"YulIdentifier","src":"28937:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28924:6:21","nodeType":"YulIdentifier","src":"28924:6:21"},"nativeSrc":"28924:16:21","nodeType":"YulFunctionCall","src":"28924:16:21"},"nativeSrc":"28924:16:21","nodeType":"YulExpressionStatement","src":"28924:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28960:4:21","nodeType":"YulLiteral","src":"28960:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"28966:2:21","nodeType":"YulIdentifier","src":"28966:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28953:6:21","nodeType":"YulIdentifier","src":"28953:6:21"},"nativeSrc":"28953:16:21","nodeType":"YulFunctionCall","src":"28953:16:21"},"nativeSrc":"28953:16:21","nodeType":"YulExpressionStatement","src":"28953:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28989:4:21","nodeType":"YulLiteral","src":"28989:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"28995:2:21","nodeType":"YulIdentifier","src":"28995:2:21"}],"functionName":{"name":"mstore","nativeSrc":"28982:6:21","nodeType":"YulIdentifier","src":"28982:6:21"},"nativeSrc":"28982:16:21","nodeType":"YulFunctionCall","src":"28982:16:21"},"nativeSrc":"28982:16:21","nodeType":"YulExpressionStatement","src":"28982:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27935,"isOffset":false,"isSlot":false,"src":"28908:2:21","valueSize":1},{"declaration":27938,"isOffset":false,"isSlot":false,"src":"28937:2:21","valueSize":1},{"declaration":27941,"isOffset":false,"isSlot":false,"src":"28966:2:21","valueSize":1},{"declaration":27944,"isOffset":false,"isSlot":false,"src":"28995:2:21","valueSize":1}],"id":27952,"nodeType":"InlineAssembly","src":"28872:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28279:3:21","parameters":{"id":27932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27927,"mutability":"mutable","name":"p0","nameLocation":"28291:2:21","nodeType":"VariableDeclaration","scope":27954,"src":"28283:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27926,"name":"address","nodeType":"ElementaryTypeName","src":"28283:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27929,"mutability":"mutable","name":"p1","nameLocation":"28303:2:21","nodeType":"VariableDeclaration","scope":27954,"src":"28295:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27928,"name":"uint256","nodeType":"ElementaryTypeName","src":"28295:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27931,"mutability":"mutable","name":"p2","nameLocation":"28312:2:21","nodeType":"VariableDeclaration","scope":27954,"src":"28307:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27930,"name":"bool","nodeType":"ElementaryTypeName","src":"28307:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28282:33:21"},"returnParameters":{"id":27933,"nodeType":"ParameterList","parameters":[],"src":"28330:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27983,"nodeType":"FunctionDefinition","src":"29020:750:21","nodes":[],"body":{"id":27982,"nodeType":"Block","src":"29083:687:21","nodes":[],"statements":[{"assignments":[27964],"declarations":[{"constant":false,"id":27964,"mutability":"mutable","name":"m0","nameLocation":"29101:2:21","nodeType":"VariableDeclaration","scope":27982,"src":"29093:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29093:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27965,"nodeType":"VariableDeclarationStatement","src":"29093:10:21"},{"assignments":[27967],"declarations":[{"constant":false,"id":27967,"mutability":"mutable","name":"m1","nameLocation":"29121:2:21","nodeType":"VariableDeclaration","scope":27982,"src":"29113:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29113:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27968,"nodeType":"VariableDeclarationStatement","src":"29113:10:21"},{"assignments":[27970],"declarations":[{"constant":false,"id":27970,"mutability":"mutable","name":"m2","nameLocation":"29141:2:21","nodeType":"VariableDeclaration","scope":27982,"src":"29133:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29133:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27971,"nodeType":"VariableDeclarationStatement","src":"29133:10:21"},{"assignments":[27973],"declarations":[{"constant":false,"id":27973,"mutability":"mutable","name":"m3","nameLocation":"29161:2:21","nodeType":"VariableDeclaration","scope":27982,"src":"29153:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29153:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27974,"nodeType":"VariableDeclarationStatement","src":"29153:10:21"},{"AST":{"nativeSrc":"29225:314:21","nodeType":"YulBlock","src":"29225:314:21","statements":[{"nativeSrc":"29239:17:21","nodeType":"YulAssignment","src":"29239:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"29251:4:21","nodeType":"YulLiteral","src":"29251:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"29245:5:21","nodeType":"YulIdentifier","src":"29245:5:21"},"nativeSrc":"29245:11:21","nodeType":"YulFunctionCall","src":"29245:11:21"},"variableNames":[{"name":"m0","nativeSrc":"29239:2:21","nodeType":"YulIdentifier","src":"29239:2:21"}]},{"nativeSrc":"29269:17:21","nodeType":"YulAssignment","src":"29269:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"29281:4:21","nodeType":"YulLiteral","src":"29281:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"29275:5:21","nodeType":"YulIdentifier","src":"29275:5:21"},"nativeSrc":"29275:11:21","nodeType":"YulFunctionCall","src":"29275:11:21"},"variableNames":[{"name":"m1","nativeSrc":"29269:2:21","nodeType":"YulIdentifier","src":"29269:2:21"}]},{"nativeSrc":"29299:17:21","nodeType":"YulAssignment","src":"29299:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"29311:4:21","nodeType":"YulLiteral","src":"29311:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"29305:5:21","nodeType":"YulIdentifier","src":"29305:5:21"},"nativeSrc":"29305:11:21","nodeType":"YulFunctionCall","src":"29305:11:21"},"variableNames":[{"name":"m2","nativeSrc":"29299:2:21","nodeType":"YulIdentifier","src":"29299:2:21"}]},{"nativeSrc":"29329:17:21","nodeType":"YulAssignment","src":"29329:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"29341:4:21","nodeType":"YulLiteral","src":"29341:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"29335:5:21","nodeType":"YulIdentifier","src":"29335:5:21"},"nativeSrc":"29335:11:21","nodeType":"YulFunctionCall","src":"29335:11:21"},"variableNames":[{"name":"m3","nativeSrc":"29329:2:21","nodeType":"YulIdentifier","src":"29329:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29425:4:21","nodeType":"YulLiteral","src":"29425:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"29431:10:21","nodeType":"YulLiteral","src":"29431:10:21","type":"","value":"0xb69bcaf6"}],"functionName":{"name":"mstore","nativeSrc":"29418:6:21","nodeType":"YulIdentifier","src":"29418:6:21"},"nativeSrc":"29418:24:21","nodeType":"YulFunctionCall","src":"29418:24:21"},"nativeSrc":"29418:24:21","nodeType":"YulExpressionStatement","src":"29418:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29462:4:21","nodeType":"YulLiteral","src":"29462:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"29468:2:21","nodeType":"YulIdentifier","src":"29468:2:21"}],"functionName":{"name":"mstore","nativeSrc":"29455:6:21","nodeType":"YulIdentifier","src":"29455:6:21"},"nativeSrc":"29455:16:21","nodeType":"YulFunctionCall","src":"29455:16:21"},"nativeSrc":"29455:16:21","nodeType":"YulExpressionStatement","src":"29455:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29491:4:21","nodeType":"YulLiteral","src":"29491:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"29497:2:21","nodeType":"YulIdentifier","src":"29497:2:21"}],"functionName":{"name":"mstore","nativeSrc":"29484:6:21","nodeType":"YulIdentifier","src":"29484:6:21"},"nativeSrc":"29484:16:21","nodeType":"YulFunctionCall","src":"29484:16:21"},"nativeSrc":"29484:16:21","nodeType":"YulExpressionStatement","src":"29484:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29520:4:21","nodeType":"YulLiteral","src":"29520:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"29526:2:21","nodeType":"YulIdentifier","src":"29526:2:21"}],"functionName":{"name":"mstore","nativeSrc":"29513:6:21","nodeType":"YulIdentifier","src":"29513:6:21"},"nativeSrc":"29513:16:21","nodeType":"YulFunctionCall","src":"29513:16:21"},"nativeSrc":"29513:16:21","nodeType":"YulExpressionStatement","src":"29513:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27964,"isOffset":false,"isSlot":false,"src":"29239:2:21","valueSize":1},{"declaration":27967,"isOffset":false,"isSlot":false,"src":"29269:2:21","valueSize":1},{"declaration":27970,"isOffset":false,"isSlot":false,"src":"29299:2:21","valueSize":1},{"declaration":27973,"isOffset":false,"isSlot":false,"src":"29329:2:21","valueSize":1},{"declaration":27956,"isOffset":false,"isSlot":false,"src":"29468:2:21","valueSize":1},{"declaration":27958,"isOffset":false,"isSlot":false,"src":"29497:2:21","valueSize":1},{"declaration":27960,"isOffset":false,"isSlot":false,"src":"29526:2:21","valueSize":1}],"id":27975,"nodeType":"InlineAssembly","src":"29216:323:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":27977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29564:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29570:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27976,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"29548:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29548:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27980,"nodeType":"ExpressionStatement","src":"29548:27:21"},{"AST":{"nativeSrc":"29637:127:21","nodeType":"YulBlock","src":"29637:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"29658:4:21","nodeType":"YulLiteral","src":"29658:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"29664:2:21","nodeType":"YulIdentifier","src":"29664:2:21"}],"functionName":{"name":"mstore","nativeSrc":"29651:6:21","nodeType":"YulIdentifier","src":"29651:6:21"},"nativeSrc":"29651:16:21","nodeType":"YulFunctionCall","src":"29651:16:21"},"nativeSrc":"29651:16:21","nodeType":"YulExpressionStatement","src":"29651:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29687:4:21","nodeType":"YulLiteral","src":"29687:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"29693:2:21","nodeType":"YulIdentifier","src":"29693:2:21"}],"functionName":{"name":"mstore","nativeSrc":"29680:6:21","nodeType":"YulIdentifier","src":"29680:6:21"},"nativeSrc":"29680:16:21","nodeType":"YulFunctionCall","src":"29680:16:21"},"nativeSrc":"29680:16:21","nodeType":"YulExpressionStatement","src":"29680:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29716:4:21","nodeType":"YulLiteral","src":"29716:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"29722:2:21","nodeType":"YulIdentifier","src":"29722:2:21"}],"functionName":{"name":"mstore","nativeSrc":"29709:6:21","nodeType":"YulIdentifier","src":"29709:6:21"},"nativeSrc":"29709:16:21","nodeType":"YulFunctionCall","src":"29709:16:21"},"nativeSrc":"29709:16:21","nodeType":"YulExpressionStatement","src":"29709:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29745:4:21","nodeType":"YulLiteral","src":"29745:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"29751:2:21","nodeType":"YulIdentifier","src":"29751:2:21"}],"functionName":{"name":"mstore","nativeSrc":"29738:6:21","nodeType":"YulIdentifier","src":"29738:6:21"},"nativeSrc":"29738:16:21","nodeType":"YulFunctionCall","src":"29738:16:21"},"nativeSrc":"29738:16:21","nodeType":"YulExpressionStatement","src":"29738:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27964,"isOffset":false,"isSlot":false,"src":"29664:2:21","valueSize":1},{"declaration":27967,"isOffset":false,"isSlot":false,"src":"29693:2:21","valueSize":1},{"declaration":27970,"isOffset":false,"isSlot":false,"src":"29722:2:21","valueSize":1},{"declaration":27973,"isOffset":false,"isSlot":false,"src":"29751:2:21","valueSize":1}],"id":27981,"nodeType":"InlineAssembly","src":"29628:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29029:3:21","parameters":{"id":27961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27956,"mutability":"mutable","name":"p0","nameLocation":"29041:2:21","nodeType":"VariableDeclaration","scope":27983,"src":"29033:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27955,"name":"address","nodeType":"ElementaryTypeName","src":"29033:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27958,"mutability":"mutable","name":"p1","nameLocation":"29053:2:21","nodeType":"VariableDeclaration","scope":27983,"src":"29045:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27957,"name":"uint256","nodeType":"ElementaryTypeName","src":"29045:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27960,"mutability":"mutable","name":"p2","nameLocation":"29065:2:21","nodeType":"VariableDeclaration","scope":27983,"src":"29057:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27959,"name":"uint256","nodeType":"ElementaryTypeName","src":"29057:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29032:36:21"},"returnParameters":{"id":27962,"nodeType":"ParameterList","parameters":[],"src":"29083:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28018,"nodeType":"FunctionDefinition","src":"29776:1298:21","nodes":[],"body":{"id":28017,"nodeType":"Block","src":"29839:1235:21","nodes":[],"statements":[{"assignments":[27993],"declarations":[{"constant":false,"id":27993,"mutability":"mutable","name":"m0","nameLocation":"29857:2:21","nodeType":"VariableDeclaration","scope":28017,"src":"29849:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29849:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27994,"nodeType":"VariableDeclarationStatement","src":"29849:10:21"},{"assignments":[27996],"declarations":[{"constant":false,"id":27996,"mutability":"mutable","name":"m1","nameLocation":"29877:2:21","nodeType":"VariableDeclaration","scope":28017,"src":"29869:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29869:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27997,"nodeType":"VariableDeclarationStatement","src":"29869:10:21"},{"assignments":[27999],"declarations":[{"constant":false,"id":27999,"mutability":"mutable","name":"m2","nameLocation":"29897:2:21","nodeType":"VariableDeclaration","scope":28017,"src":"29889:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29889:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28000,"nodeType":"VariableDeclarationStatement","src":"29889:10:21"},{"assignments":[28002],"declarations":[{"constant":false,"id":28002,"mutability":"mutable","name":"m3","nameLocation":"29917:2:21","nodeType":"VariableDeclaration","scope":28017,"src":"29909:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29909:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28003,"nodeType":"VariableDeclarationStatement","src":"29909:10:21"},{"assignments":[28005],"declarations":[{"constant":false,"id":28005,"mutability":"mutable","name":"m4","nameLocation":"29937:2:21","nodeType":"VariableDeclaration","scope":28017,"src":"29929:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29929:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28006,"nodeType":"VariableDeclarationStatement","src":"29929:10:21"},{"assignments":[28008],"declarations":[{"constant":false,"id":28008,"mutability":"mutable","name":"m5","nameLocation":"29957:2:21","nodeType":"VariableDeclaration","scope":28017,"src":"29949:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29949:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28009,"nodeType":"VariableDeclarationStatement","src":"29949:10:21"},{"AST":{"nativeSrc":"30021:764:21","nodeType":"YulBlock","src":"30021:764:21","statements":[{"body":{"nativeSrc":"30064:313:21","nodeType":"YulBlock","src":"30064:313:21","statements":[{"nativeSrc":"30082:15:21","nodeType":"YulVariableDeclaration","src":"30082:15:21","value":{"kind":"number","nativeSrc":"30096:1:21","nodeType":"YulLiteral","src":"30096:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"30086:6:21","nodeType":"YulTypedName","src":"30086:6:21","type":""}]},{"body":{"nativeSrc":"30167:40:21","nodeType":"YulBlock","src":"30167:40:21","statements":[{"body":{"nativeSrc":"30196:9:21","nodeType":"YulBlock","src":"30196:9:21","statements":[{"nativeSrc":"30198:5:21","nodeType":"YulBreak","src":"30198:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"30184:6:21","nodeType":"YulIdentifier","src":"30184:6:21"},{"name":"w","nativeSrc":"30192:1:21","nodeType":"YulIdentifier","src":"30192:1:21"}],"functionName":{"name":"byte","nativeSrc":"30179:4:21","nodeType":"YulIdentifier","src":"30179:4:21"},"nativeSrc":"30179:15:21","nodeType":"YulFunctionCall","src":"30179:15:21"}],"functionName":{"name":"iszero","nativeSrc":"30172:6:21","nodeType":"YulIdentifier","src":"30172:6:21"},"nativeSrc":"30172:23:21","nodeType":"YulFunctionCall","src":"30172:23:21"},"nativeSrc":"30169:36:21","nodeType":"YulIf","src":"30169:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"30124:6:21","nodeType":"YulIdentifier","src":"30124:6:21"},{"kind":"number","nativeSrc":"30132:4:21","nodeType":"YulLiteral","src":"30132:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"30121:2:21","nodeType":"YulIdentifier","src":"30121:2:21"},"nativeSrc":"30121:16:21","nodeType":"YulFunctionCall","src":"30121:16:21"},"nativeSrc":"30114:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"30138:28:21","nodeType":"YulBlock","src":"30138:28:21","statements":[{"nativeSrc":"30140:24:21","nodeType":"YulAssignment","src":"30140:24:21","value":{"arguments":[{"name":"length","nativeSrc":"30154:6:21","nodeType":"YulIdentifier","src":"30154:6:21"},{"kind":"number","nativeSrc":"30162:1:21","nodeType":"YulLiteral","src":"30162:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"30150:3:21","nodeType":"YulIdentifier","src":"30150:3:21"},"nativeSrc":"30150:14:21","nodeType":"YulFunctionCall","src":"30150:14:21"},"variableNames":[{"name":"length","nativeSrc":"30140:6:21","nodeType":"YulIdentifier","src":"30140:6:21"}]}]},"pre":{"nativeSrc":"30118:2:21","nodeType":"YulBlock","src":"30118:2:21","statements":[]},"src":"30114:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"30231:3:21","nodeType":"YulIdentifier","src":"30231:3:21"},{"name":"length","nativeSrc":"30236:6:21","nodeType":"YulIdentifier","src":"30236:6:21"}],"functionName":{"name":"mstore","nativeSrc":"30224:6:21","nodeType":"YulIdentifier","src":"30224:6:21"},"nativeSrc":"30224:19:21","nodeType":"YulFunctionCall","src":"30224:19:21"},"nativeSrc":"30224:19:21","nodeType":"YulExpressionStatement","src":"30224:19:21"},{"nativeSrc":"30260:37:21","nodeType":"YulVariableDeclaration","src":"30260:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"30277:3:21","nodeType":"YulLiteral","src":"30277:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"30286:1:21","nodeType":"YulLiteral","src":"30286:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"30289:6:21","nodeType":"YulIdentifier","src":"30289:6:21"}],"functionName":{"name":"shl","nativeSrc":"30282:3:21","nodeType":"YulIdentifier","src":"30282:3:21"},"nativeSrc":"30282:14:21","nodeType":"YulFunctionCall","src":"30282:14:21"}],"functionName":{"name":"sub","nativeSrc":"30273:3:21","nodeType":"YulIdentifier","src":"30273:3:21"},"nativeSrc":"30273:24:21","nodeType":"YulFunctionCall","src":"30273:24:21"},"variables":[{"name":"shift","nativeSrc":"30264:5:21","nodeType":"YulTypedName","src":"30264:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"30325:3:21","nodeType":"YulIdentifier","src":"30325:3:21"},{"kind":"number","nativeSrc":"30330:4:21","nodeType":"YulLiteral","src":"30330:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"30321:3:21","nodeType":"YulIdentifier","src":"30321:3:21"},"nativeSrc":"30321:14:21","nodeType":"YulFunctionCall","src":"30321:14:21"},{"arguments":[{"name":"shift","nativeSrc":"30341:5:21","nodeType":"YulIdentifier","src":"30341:5:21"},{"arguments":[{"name":"shift","nativeSrc":"30352:5:21","nodeType":"YulIdentifier","src":"30352:5:21"},{"name":"w","nativeSrc":"30359:1:21","nodeType":"YulIdentifier","src":"30359:1:21"}],"functionName":{"name":"shr","nativeSrc":"30348:3:21","nodeType":"YulIdentifier","src":"30348:3:21"},"nativeSrc":"30348:13:21","nodeType":"YulFunctionCall","src":"30348:13:21"}],"functionName":{"name":"shl","nativeSrc":"30337:3:21","nodeType":"YulIdentifier","src":"30337:3:21"},"nativeSrc":"30337:25:21","nodeType":"YulFunctionCall","src":"30337:25:21"}],"functionName":{"name":"mstore","nativeSrc":"30314:6:21","nodeType":"YulIdentifier","src":"30314:6:21"},"nativeSrc":"30314:49:21","nodeType":"YulFunctionCall","src":"30314:49:21"},"nativeSrc":"30314:49:21","nodeType":"YulExpressionStatement","src":"30314:49:21"}]},"name":"writeString","nativeSrc":"30035:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"30056:3:21","nodeType":"YulTypedName","src":"30056:3:21","type":""},{"name":"w","nativeSrc":"30061:1:21","nodeType":"YulTypedName","src":"30061:1:21","type":""}],"src":"30035:342:21"},{"nativeSrc":"30390:17:21","nodeType":"YulAssignment","src":"30390:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"30402:4:21","nodeType":"YulLiteral","src":"30402:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"30396:5:21","nodeType":"YulIdentifier","src":"30396:5:21"},"nativeSrc":"30396:11:21","nodeType":"YulFunctionCall","src":"30396:11:21"},"variableNames":[{"name":"m0","nativeSrc":"30390:2:21","nodeType":"YulIdentifier","src":"30390:2:21"}]},{"nativeSrc":"30420:17:21","nodeType":"YulAssignment","src":"30420:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"30432:4:21","nodeType":"YulLiteral","src":"30432:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"30426:5:21","nodeType":"YulIdentifier","src":"30426:5:21"},"nativeSrc":"30426:11:21","nodeType":"YulFunctionCall","src":"30426:11:21"},"variableNames":[{"name":"m1","nativeSrc":"30420:2:21","nodeType":"YulIdentifier","src":"30420:2:21"}]},{"nativeSrc":"30450:17:21","nodeType":"YulAssignment","src":"30450:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"30462:4:21","nodeType":"YulLiteral","src":"30462:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"30456:5:21","nodeType":"YulIdentifier","src":"30456:5:21"},"nativeSrc":"30456:11:21","nodeType":"YulFunctionCall","src":"30456:11:21"},"variableNames":[{"name":"m2","nativeSrc":"30450:2:21","nodeType":"YulIdentifier","src":"30450:2:21"}]},{"nativeSrc":"30480:17:21","nodeType":"YulAssignment","src":"30480:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"30492:4:21","nodeType":"YulLiteral","src":"30492:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"30486:5:21","nodeType":"YulIdentifier","src":"30486:5:21"},"nativeSrc":"30486:11:21","nodeType":"YulFunctionCall","src":"30486:11:21"},"variableNames":[{"name":"m3","nativeSrc":"30480:2:21","nodeType":"YulIdentifier","src":"30480:2:21"}]},{"nativeSrc":"30510:17:21","nodeType":"YulAssignment","src":"30510:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"30522:4:21","nodeType":"YulLiteral","src":"30522:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"30516:5:21","nodeType":"YulIdentifier","src":"30516:5:21"},"nativeSrc":"30516:11:21","nodeType":"YulFunctionCall","src":"30516:11:21"},"variableNames":[{"name":"m4","nativeSrc":"30510:2:21","nodeType":"YulIdentifier","src":"30510:2:21"}]},{"nativeSrc":"30540:17:21","nodeType":"YulAssignment","src":"30540:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"30552:4:21","nodeType":"YulLiteral","src":"30552:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"30546:5:21","nodeType":"YulIdentifier","src":"30546:5:21"},"nativeSrc":"30546:11:21","nodeType":"YulFunctionCall","src":"30546:11:21"},"variableNames":[{"name":"m5","nativeSrc":"30540:2:21","nodeType":"YulIdentifier","src":"30540:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30635:4:21","nodeType":"YulLiteral","src":"30635:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"30641:10:21","nodeType":"YulLiteral","src":"30641:10:21","type":"","value":"0xa1f2e8aa"}],"functionName":{"name":"mstore","nativeSrc":"30628:6:21","nodeType":"YulIdentifier","src":"30628:6:21"},"nativeSrc":"30628:24:21","nodeType":"YulFunctionCall","src":"30628:24:21"},"nativeSrc":"30628:24:21","nodeType":"YulExpressionStatement","src":"30628:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30672:4:21","nodeType":"YulLiteral","src":"30672:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"30678:2:21","nodeType":"YulIdentifier","src":"30678:2:21"}],"functionName":{"name":"mstore","nativeSrc":"30665:6:21","nodeType":"YulIdentifier","src":"30665:6:21"},"nativeSrc":"30665:16:21","nodeType":"YulFunctionCall","src":"30665:16:21"},"nativeSrc":"30665:16:21","nodeType":"YulExpressionStatement","src":"30665:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30701:4:21","nodeType":"YulLiteral","src":"30701:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"30707:2:21","nodeType":"YulIdentifier","src":"30707:2:21"}],"functionName":{"name":"mstore","nativeSrc":"30694:6:21","nodeType":"YulIdentifier","src":"30694:6:21"},"nativeSrc":"30694:16:21","nodeType":"YulFunctionCall","src":"30694:16:21"},"nativeSrc":"30694:16:21","nodeType":"YulExpressionStatement","src":"30694:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30730:4:21","nodeType":"YulLiteral","src":"30730:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"30736:4:21","nodeType":"YulLiteral","src":"30736:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"30723:6:21","nodeType":"YulIdentifier","src":"30723:6:21"},"nativeSrc":"30723:18:21","nodeType":"YulFunctionCall","src":"30723:18:21"},"nativeSrc":"30723:18:21","nodeType":"YulExpressionStatement","src":"30723:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30766:4:21","nodeType":"YulLiteral","src":"30766:4:21","type":"","value":"0x80"},{"name":"p2","nativeSrc":"30772:2:21","nodeType":"YulIdentifier","src":"30772:2:21"}],"functionName":{"name":"writeString","nativeSrc":"30754:11:21","nodeType":"YulIdentifier","src":"30754:11:21"},"nativeSrc":"30754:21:21","nodeType":"YulFunctionCall","src":"30754:21:21"},"nativeSrc":"30754:21:21","nodeType":"YulExpressionStatement","src":"30754:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27993,"isOffset":false,"isSlot":false,"src":"30390:2:21","valueSize":1},{"declaration":27996,"isOffset":false,"isSlot":false,"src":"30420:2:21","valueSize":1},{"declaration":27999,"isOffset":false,"isSlot":false,"src":"30450:2:21","valueSize":1},{"declaration":28002,"isOffset":false,"isSlot":false,"src":"30480:2:21","valueSize":1},{"declaration":28005,"isOffset":false,"isSlot":false,"src":"30510:2:21","valueSize":1},{"declaration":28008,"isOffset":false,"isSlot":false,"src":"30540:2:21","valueSize":1},{"declaration":27985,"isOffset":false,"isSlot":false,"src":"30678:2:21","valueSize":1},{"declaration":27987,"isOffset":false,"isSlot":false,"src":"30707:2:21","valueSize":1},{"declaration":27989,"isOffset":false,"isSlot":false,"src":"30772:2:21","valueSize":1}],"id":28010,"nodeType":"InlineAssembly","src":"30012:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30810:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30816:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28011,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"30794:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30794:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28015,"nodeType":"ExpressionStatement","src":"30794:27:21"},{"AST":{"nativeSrc":"30883:185:21","nodeType":"YulBlock","src":"30883:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"30904:4:21","nodeType":"YulLiteral","src":"30904:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"30910:2:21","nodeType":"YulIdentifier","src":"30910:2:21"}],"functionName":{"name":"mstore","nativeSrc":"30897:6:21","nodeType":"YulIdentifier","src":"30897:6:21"},"nativeSrc":"30897:16:21","nodeType":"YulFunctionCall","src":"30897:16:21"},"nativeSrc":"30897:16:21","nodeType":"YulExpressionStatement","src":"30897:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30933:4:21","nodeType":"YulLiteral","src":"30933:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"30939:2:21","nodeType":"YulIdentifier","src":"30939:2:21"}],"functionName":{"name":"mstore","nativeSrc":"30926:6:21","nodeType":"YulIdentifier","src":"30926:6:21"},"nativeSrc":"30926:16:21","nodeType":"YulFunctionCall","src":"30926:16:21"},"nativeSrc":"30926:16:21","nodeType":"YulExpressionStatement","src":"30926:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30962:4:21","nodeType":"YulLiteral","src":"30962:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"30968:2:21","nodeType":"YulIdentifier","src":"30968:2:21"}],"functionName":{"name":"mstore","nativeSrc":"30955:6:21","nodeType":"YulIdentifier","src":"30955:6:21"},"nativeSrc":"30955:16:21","nodeType":"YulFunctionCall","src":"30955:16:21"},"nativeSrc":"30955:16:21","nodeType":"YulExpressionStatement","src":"30955:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30991:4:21","nodeType":"YulLiteral","src":"30991:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"30997:2:21","nodeType":"YulIdentifier","src":"30997:2:21"}],"functionName":{"name":"mstore","nativeSrc":"30984:6:21","nodeType":"YulIdentifier","src":"30984:6:21"},"nativeSrc":"30984:16:21","nodeType":"YulFunctionCall","src":"30984:16:21"},"nativeSrc":"30984:16:21","nodeType":"YulExpressionStatement","src":"30984:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31020:4:21","nodeType":"YulLiteral","src":"31020:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"31026:2:21","nodeType":"YulIdentifier","src":"31026:2:21"}],"functionName":{"name":"mstore","nativeSrc":"31013:6:21","nodeType":"YulIdentifier","src":"31013:6:21"},"nativeSrc":"31013:16:21","nodeType":"YulFunctionCall","src":"31013:16:21"},"nativeSrc":"31013:16:21","nodeType":"YulExpressionStatement","src":"31013:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31049:4:21","nodeType":"YulLiteral","src":"31049:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"31055:2:21","nodeType":"YulIdentifier","src":"31055:2:21"}],"functionName":{"name":"mstore","nativeSrc":"31042:6:21","nodeType":"YulIdentifier","src":"31042:6:21"},"nativeSrc":"31042:16:21","nodeType":"YulFunctionCall","src":"31042:16:21"},"nativeSrc":"31042:16:21","nodeType":"YulExpressionStatement","src":"31042:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":27993,"isOffset":false,"isSlot":false,"src":"30910:2:21","valueSize":1},{"declaration":27996,"isOffset":false,"isSlot":false,"src":"30939:2:21","valueSize":1},{"declaration":27999,"isOffset":false,"isSlot":false,"src":"30968:2:21","valueSize":1},{"declaration":28002,"isOffset":false,"isSlot":false,"src":"30997:2:21","valueSize":1},{"declaration":28005,"isOffset":false,"isSlot":false,"src":"31026:2:21","valueSize":1},{"declaration":28008,"isOffset":false,"isSlot":false,"src":"31055:2:21","valueSize":1}],"id":28016,"nodeType":"InlineAssembly","src":"30874:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29785:3:21","parameters":{"id":27990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27985,"mutability":"mutable","name":"p0","nameLocation":"29797:2:21","nodeType":"VariableDeclaration","scope":28018,"src":"29789:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27984,"name":"address","nodeType":"ElementaryTypeName","src":"29789:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27987,"mutability":"mutable","name":"p1","nameLocation":"29809:2:21","nodeType":"VariableDeclaration","scope":28018,"src":"29801:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27986,"name":"uint256","nodeType":"ElementaryTypeName","src":"29801:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27989,"mutability":"mutable","name":"p2","nameLocation":"29821:2:21","nodeType":"VariableDeclaration","scope":28018,"src":"29813:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29813:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"29788:36:21"},"returnParameters":{"id":27991,"nodeType":"ParameterList","parameters":[],"src":"29839:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28053,"nodeType":"FunctionDefinition","src":"31080:1298:21","nodes":[],"body":{"id":28052,"nodeType":"Block","src":"31143:1235:21","nodes":[],"statements":[{"assignments":[28028],"declarations":[{"constant":false,"id":28028,"mutability":"mutable","name":"m0","nameLocation":"31161:2:21","nodeType":"VariableDeclaration","scope":28052,"src":"31153:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31153:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28029,"nodeType":"VariableDeclarationStatement","src":"31153:10:21"},{"assignments":[28031],"declarations":[{"constant":false,"id":28031,"mutability":"mutable","name":"m1","nameLocation":"31181:2:21","nodeType":"VariableDeclaration","scope":28052,"src":"31173:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31173:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28032,"nodeType":"VariableDeclarationStatement","src":"31173:10:21"},{"assignments":[28034],"declarations":[{"constant":false,"id":28034,"mutability":"mutable","name":"m2","nameLocation":"31201:2:21","nodeType":"VariableDeclaration","scope":28052,"src":"31193:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31193:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28035,"nodeType":"VariableDeclarationStatement","src":"31193:10:21"},{"assignments":[28037],"declarations":[{"constant":false,"id":28037,"mutability":"mutable","name":"m3","nameLocation":"31221:2:21","nodeType":"VariableDeclaration","scope":28052,"src":"31213:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31213:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28038,"nodeType":"VariableDeclarationStatement","src":"31213:10:21"},{"assignments":[28040],"declarations":[{"constant":false,"id":28040,"mutability":"mutable","name":"m4","nameLocation":"31241:2:21","nodeType":"VariableDeclaration","scope":28052,"src":"31233:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31233:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28041,"nodeType":"VariableDeclarationStatement","src":"31233:10:21"},{"assignments":[28043],"declarations":[{"constant":false,"id":28043,"mutability":"mutable","name":"m5","nameLocation":"31261:2:21","nodeType":"VariableDeclaration","scope":28052,"src":"31253:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31253:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28044,"nodeType":"VariableDeclarationStatement","src":"31253:10:21"},{"AST":{"nativeSrc":"31325:764:21","nodeType":"YulBlock","src":"31325:764:21","statements":[{"body":{"nativeSrc":"31368:313:21","nodeType":"YulBlock","src":"31368:313:21","statements":[{"nativeSrc":"31386:15:21","nodeType":"YulVariableDeclaration","src":"31386:15:21","value":{"kind":"number","nativeSrc":"31400:1:21","nodeType":"YulLiteral","src":"31400:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"31390:6:21","nodeType":"YulTypedName","src":"31390:6:21","type":""}]},{"body":{"nativeSrc":"31471:40:21","nodeType":"YulBlock","src":"31471:40:21","statements":[{"body":{"nativeSrc":"31500:9:21","nodeType":"YulBlock","src":"31500:9:21","statements":[{"nativeSrc":"31502:5:21","nodeType":"YulBreak","src":"31502:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"31488:6:21","nodeType":"YulIdentifier","src":"31488:6:21"},{"name":"w","nativeSrc":"31496:1:21","nodeType":"YulIdentifier","src":"31496:1:21"}],"functionName":{"name":"byte","nativeSrc":"31483:4:21","nodeType":"YulIdentifier","src":"31483:4:21"},"nativeSrc":"31483:15:21","nodeType":"YulFunctionCall","src":"31483:15:21"}],"functionName":{"name":"iszero","nativeSrc":"31476:6:21","nodeType":"YulIdentifier","src":"31476:6:21"},"nativeSrc":"31476:23:21","nodeType":"YulFunctionCall","src":"31476:23:21"},"nativeSrc":"31473:36:21","nodeType":"YulIf","src":"31473:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"31428:6:21","nodeType":"YulIdentifier","src":"31428:6:21"},{"kind":"number","nativeSrc":"31436:4:21","nodeType":"YulLiteral","src":"31436:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"31425:2:21","nodeType":"YulIdentifier","src":"31425:2:21"},"nativeSrc":"31425:16:21","nodeType":"YulFunctionCall","src":"31425:16:21"},"nativeSrc":"31418:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"31442:28:21","nodeType":"YulBlock","src":"31442:28:21","statements":[{"nativeSrc":"31444:24:21","nodeType":"YulAssignment","src":"31444:24:21","value":{"arguments":[{"name":"length","nativeSrc":"31458:6:21","nodeType":"YulIdentifier","src":"31458:6:21"},{"kind":"number","nativeSrc":"31466:1:21","nodeType":"YulLiteral","src":"31466:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"31454:3:21","nodeType":"YulIdentifier","src":"31454:3:21"},"nativeSrc":"31454:14:21","nodeType":"YulFunctionCall","src":"31454:14:21"},"variableNames":[{"name":"length","nativeSrc":"31444:6:21","nodeType":"YulIdentifier","src":"31444:6:21"}]}]},"pre":{"nativeSrc":"31422:2:21","nodeType":"YulBlock","src":"31422:2:21","statements":[]},"src":"31418:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"31535:3:21","nodeType":"YulIdentifier","src":"31535:3:21"},{"name":"length","nativeSrc":"31540:6:21","nodeType":"YulIdentifier","src":"31540:6:21"}],"functionName":{"name":"mstore","nativeSrc":"31528:6:21","nodeType":"YulIdentifier","src":"31528:6:21"},"nativeSrc":"31528:19:21","nodeType":"YulFunctionCall","src":"31528:19:21"},"nativeSrc":"31528:19:21","nodeType":"YulExpressionStatement","src":"31528:19:21"},{"nativeSrc":"31564:37:21","nodeType":"YulVariableDeclaration","src":"31564:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"31581:3:21","nodeType":"YulLiteral","src":"31581:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"31590:1:21","nodeType":"YulLiteral","src":"31590:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"31593:6:21","nodeType":"YulIdentifier","src":"31593:6:21"}],"functionName":{"name":"shl","nativeSrc":"31586:3:21","nodeType":"YulIdentifier","src":"31586:3:21"},"nativeSrc":"31586:14:21","nodeType":"YulFunctionCall","src":"31586:14:21"}],"functionName":{"name":"sub","nativeSrc":"31577:3:21","nodeType":"YulIdentifier","src":"31577:3:21"},"nativeSrc":"31577:24:21","nodeType":"YulFunctionCall","src":"31577:24:21"},"variables":[{"name":"shift","nativeSrc":"31568:5:21","nodeType":"YulTypedName","src":"31568:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"31629:3:21","nodeType":"YulIdentifier","src":"31629:3:21"},{"kind":"number","nativeSrc":"31634:4:21","nodeType":"YulLiteral","src":"31634:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"31625:3:21","nodeType":"YulIdentifier","src":"31625:3:21"},"nativeSrc":"31625:14:21","nodeType":"YulFunctionCall","src":"31625:14:21"},{"arguments":[{"name":"shift","nativeSrc":"31645:5:21","nodeType":"YulIdentifier","src":"31645:5:21"},{"arguments":[{"name":"shift","nativeSrc":"31656:5:21","nodeType":"YulIdentifier","src":"31656:5:21"},{"name":"w","nativeSrc":"31663:1:21","nodeType":"YulIdentifier","src":"31663:1:21"}],"functionName":{"name":"shr","nativeSrc":"31652:3:21","nodeType":"YulIdentifier","src":"31652:3:21"},"nativeSrc":"31652:13:21","nodeType":"YulFunctionCall","src":"31652:13:21"}],"functionName":{"name":"shl","nativeSrc":"31641:3:21","nodeType":"YulIdentifier","src":"31641:3:21"},"nativeSrc":"31641:25:21","nodeType":"YulFunctionCall","src":"31641:25:21"}],"functionName":{"name":"mstore","nativeSrc":"31618:6:21","nodeType":"YulIdentifier","src":"31618:6:21"},"nativeSrc":"31618:49:21","nodeType":"YulFunctionCall","src":"31618:49:21"},"nativeSrc":"31618:49:21","nodeType":"YulExpressionStatement","src":"31618:49:21"}]},"name":"writeString","nativeSrc":"31339:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"31360:3:21","nodeType":"YulTypedName","src":"31360:3:21","type":""},{"name":"w","nativeSrc":"31365:1:21","nodeType":"YulTypedName","src":"31365:1:21","type":""}],"src":"31339:342:21"},{"nativeSrc":"31694:17:21","nodeType":"YulAssignment","src":"31694:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"31706:4:21","nodeType":"YulLiteral","src":"31706:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"31700:5:21","nodeType":"YulIdentifier","src":"31700:5:21"},"nativeSrc":"31700:11:21","nodeType":"YulFunctionCall","src":"31700:11:21"},"variableNames":[{"name":"m0","nativeSrc":"31694:2:21","nodeType":"YulIdentifier","src":"31694:2:21"}]},{"nativeSrc":"31724:17:21","nodeType":"YulAssignment","src":"31724:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"31736:4:21","nodeType":"YulLiteral","src":"31736:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"31730:5:21","nodeType":"YulIdentifier","src":"31730:5:21"},"nativeSrc":"31730:11:21","nodeType":"YulFunctionCall","src":"31730:11:21"},"variableNames":[{"name":"m1","nativeSrc":"31724:2:21","nodeType":"YulIdentifier","src":"31724:2:21"}]},{"nativeSrc":"31754:17:21","nodeType":"YulAssignment","src":"31754:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"31766:4:21","nodeType":"YulLiteral","src":"31766:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"31760:5:21","nodeType":"YulIdentifier","src":"31760:5:21"},"nativeSrc":"31760:11:21","nodeType":"YulFunctionCall","src":"31760:11:21"},"variableNames":[{"name":"m2","nativeSrc":"31754:2:21","nodeType":"YulIdentifier","src":"31754:2:21"}]},{"nativeSrc":"31784:17:21","nodeType":"YulAssignment","src":"31784:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"31796:4:21","nodeType":"YulLiteral","src":"31796:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"31790:5:21","nodeType":"YulIdentifier","src":"31790:5:21"},"nativeSrc":"31790:11:21","nodeType":"YulFunctionCall","src":"31790:11:21"},"variableNames":[{"name":"m3","nativeSrc":"31784:2:21","nodeType":"YulIdentifier","src":"31784:2:21"}]},{"nativeSrc":"31814:17:21","nodeType":"YulAssignment","src":"31814:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"31826:4:21","nodeType":"YulLiteral","src":"31826:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"31820:5:21","nodeType":"YulIdentifier","src":"31820:5:21"},"nativeSrc":"31820:11:21","nodeType":"YulFunctionCall","src":"31820:11:21"},"variableNames":[{"name":"m4","nativeSrc":"31814:2:21","nodeType":"YulIdentifier","src":"31814:2:21"}]},{"nativeSrc":"31844:17:21","nodeType":"YulAssignment","src":"31844:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"31856:4:21","nodeType":"YulLiteral","src":"31856:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"31850:5:21","nodeType":"YulIdentifier","src":"31850:5:21"},"nativeSrc":"31850:11:21","nodeType":"YulFunctionCall","src":"31850:11:21"},"variableNames":[{"name":"m5","nativeSrc":"31844:2:21","nodeType":"YulIdentifier","src":"31844:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31939:4:21","nodeType":"YulLiteral","src":"31939:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"31945:10:21","nodeType":"YulLiteral","src":"31945:10:21","type":"","value":"0xf08744e8"}],"functionName":{"name":"mstore","nativeSrc":"31932:6:21","nodeType":"YulIdentifier","src":"31932:6:21"},"nativeSrc":"31932:24:21","nodeType":"YulFunctionCall","src":"31932:24:21"},"nativeSrc":"31932:24:21","nodeType":"YulExpressionStatement","src":"31932:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31976:4:21","nodeType":"YulLiteral","src":"31976:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"31982:2:21","nodeType":"YulIdentifier","src":"31982:2:21"}],"functionName":{"name":"mstore","nativeSrc":"31969:6:21","nodeType":"YulIdentifier","src":"31969:6:21"},"nativeSrc":"31969:16:21","nodeType":"YulFunctionCall","src":"31969:16:21"},"nativeSrc":"31969:16:21","nodeType":"YulExpressionStatement","src":"31969:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32005:4:21","nodeType":"YulLiteral","src":"32005:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"32011:4:21","nodeType":"YulLiteral","src":"32011:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"31998:6:21","nodeType":"YulIdentifier","src":"31998:6:21"},"nativeSrc":"31998:18:21","nodeType":"YulFunctionCall","src":"31998:18:21"},"nativeSrc":"31998:18:21","nodeType":"YulExpressionStatement","src":"31998:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32036:4:21","nodeType":"YulLiteral","src":"32036:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"32042:2:21","nodeType":"YulIdentifier","src":"32042:2:21"}],"functionName":{"name":"mstore","nativeSrc":"32029:6:21","nodeType":"YulIdentifier","src":"32029:6:21"},"nativeSrc":"32029:16:21","nodeType":"YulFunctionCall","src":"32029:16:21"},"nativeSrc":"32029:16:21","nodeType":"YulExpressionStatement","src":"32029:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32070:4:21","nodeType":"YulLiteral","src":"32070:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"32076:2:21","nodeType":"YulIdentifier","src":"32076:2:21"}],"functionName":{"name":"writeString","nativeSrc":"32058:11:21","nodeType":"YulIdentifier","src":"32058:11:21"},"nativeSrc":"32058:21:21","nodeType":"YulFunctionCall","src":"32058:21:21"},"nativeSrc":"32058:21:21","nodeType":"YulExpressionStatement","src":"32058:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28028,"isOffset":false,"isSlot":false,"src":"31694:2:21","valueSize":1},{"declaration":28031,"isOffset":false,"isSlot":false,"src":"31724:2:21","valueSize":1},{"declaration":28034,"isOffset":false,"isSlot":false,"src":"31754:2:21","valueSize":1},{"declaration":28037,"isOffset":false,"isSlot":false,"src":"31784:2:21","valueSize":1},{"declaration":28040,"isOffset":false,"isSlot":false,"src":"31814:2:21","valueSize":1},{"declaration":28043,"isOffset":false,"isSlot":false,"src":"31844:2:21","valueSize":1},{"declaration":28020,"isOffset":false,"isSlot":false,"src":"31982:2:21","valueSize":1},{"declaration":28022,"isOffset":false,"isSlot":false,"src":"32076:2:21","valueSize":1},{"declaration":28024,"isOffset":false,"isSlot":false,"src":"32042:2:21","valueSize":1}],"id":28045,"nodeType":"InlineAssembly","src":"31316:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32114:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32120:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28046,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"32098:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32098:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28050,"nodeType":"ExpressionStatement","src":"32098:27:21"},{"AST":{"nativeSrc":"32187:185:21","nodeType":"YulBlock","src":"32187:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"32208:4:21","nodeType":"YulLiteral","src":"32208:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"32214:2:21","nodeType":"YulIdentifier","src":"32214:2:21"}],"functionName":{"name":"mstore","nativeSrc":"32201:6:21","nodeType":"YulIdentifier","src":"32201:6:21"},"nativeSrc":"32201:16:21","nodeType":"YulFunctionCall","src":"32201:16:21"},"nativeSrc":"32201:16:21","nodeType":"YulExpressionStatement","src":"32201:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32237:4:21","nodeType":"YulLiteral","src":"32237:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"32243:2:21","nodeType":"YulIdentifier","src":"32243:2:21"}],"functionName":{"name":"mstore","nativeSrc":"32230:6:21","nodeType":"YulIdentifier","src":"32230:6:21"},"nativeSrc":"32230:16:21","nodeType":"YulFunctionCall","src":"32230:16:21"},"nativeSrc":"32230:16:21","nodeType":"YulExpressionStatement","src":"32230:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32266:4:21","nodeType":"YulLiteral","src":"32266:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"32272:2:21","nodeType":"YulIdentifier","src":"32272:2:21"}],"functionName":{"name":"mstore","nativeSrc":"32259:6:21","nodeType":"YulIdentifier","src":"32259:6:21"},"nativeSrc":"32259:16:21","nodeType":"YulFunctionCall","src":"32259:16:21"},"nativeSrc":"32259:16:21","nodeType":"YulExpressionStatement","src":"32259:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32295:4:21","nodeType":"YulLiteral","src":"32295:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"32301:2:21","nodeType":"YulIdentifier","src":"32301:2:21"}],"functionName":{"name":"mstore","nativeSrc":"32288:6:21","nodeType":"YulIdentifier","src":"32288:6:21"},"nativeSrc":"32288:16:21","nodeType":"YulFunctionCall","src":"32288:16:21"},"nativeSrc":"32288:16:21","nodeType":"YulExpressionStatement","src":"32288:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32324:4:21","nodeType":"YulLiteral","src":"32324:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"32330:2:21","nodeType":"YulIdentifier","src":"32330:2:21"}],"functionName":{"name":"mstore","nativeSrc":"32317:6:21","nodeType":"YulIdentifier","src":"32317:6:21"},"nativeSrc":"32317:16:21","nodeType":"YulFunctionCall","src":"32317:16:21"},"nativeSrc":"32317:16:21","nodeType":"YulExpressionStatement","src":"32317:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32353:4:21","nodeType":"YulLiteral","src":"32353:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"32359:2:21","nodeType":"YulIdentifier","src":"32359:2:21"}],"functionName":{"name":"mstore","nativeSrc":"32346:6:21","nodeType":"YulIdentifier","src":"32346:6:21"},"nativeSrc":"32346:16:21","nodeType":"YulFunctionCall","src":"32346:16:21"},"nativeSrc":"32346:16:21","nodeType":"YulExpressionStatement","src":"32346:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28028,"isOffset":false,"isSlot":false,"src":"32214:2:21","valueSize":1},{"declaration":28031,"isOffset":false,"isSlot":false,"src":"32243:2:21","valueSize":1},{"declaration":28034,"isOffset":false,"isSlot":false,"src":"32272:2:21","valueSize":1},{"declaration":28037,"isOffset":false,"isSlot":false,"src":"32301:2:21","valueSize":1},{"declaration":28040,"isOffset":false,"isSlot":false,"src":"32330:2:21","valueSize":1},{"declaration":28043,"isOffset":false,"isSlot":false,"src":"32359:2:21","valueSize":1}],"id":28051,"nodeType":"InlineAssembly","src":"32178:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31089:3:21","parameters":{"id":28025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28020,"mutability":"mutable","name":"p0","nameLocation":"31101:2:21","nodeType":"VariableDeclaration","scope":28053,"src":"31093:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28019,"name":"address","nodeType":"ElementaryTypeName","src":"31093:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28022,"mutability":"mutable","name":"p1","nameLocation":"31113:2:21","nodeType":"VariableDeclaration","scope":28053,"src":"31105:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31105:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28024,"mutability":"mutable","name":"p2","nameLocation":"31125:2:21","nodeType":"VariableDeclaration","scope":28053,"src":"31117:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28023,"name":"address","nodeType":"ElementaryTypeName","src":"31117:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31092:36:21"},"returnParameters":{"id":28026,"nodeType":"ParameterList","parameters":[],"src":"31143:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28088,"nodeType":"FunctionDefinition","src":"32384:1292:21","nodes":[],"body":{"id":28087,"nodeType":"Block","src":"32444:1232:21","nodes":[],"statements":[{"assignments":[28063],"declarations":[{"constant":false,"id":28063,"mutability":"mutable","name":"m0","nameLocation":"32462:2:21","nodeType":"VariableDeclaration","scope":28087,"src":"32454:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32454:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28064,"nodeType":"VariableDeclarationStatement","src":"32454:10:21"},{"assignments":[28066],"declarations":[{"constant":false,"id":28066,"mutability":"mutable","name":"m1","nameLocation":"32482:2:21","nodeType":"VariableDeclaration","scope":28087,"src":"32474:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32474:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28067,"nodeType":"VariableDeclarationStatement","src":"32474:10:21"},{"assignments":[28069],"declarations":[{"constant":false,"id":28069,"mutability":"mutable","name":"m2","nameLocation":"32502:2:21","nodeType":"VariableDeclaration","scope":28087,"src":"32494:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32494:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28070,"nodeType":"VariableDeclarationStatement","src":"32494:10:21"},{"assignments":[28072],"declarations":[{"constant":false,"id":28072,"mutability":"mutable","name":"m3","nameLocation":"32522:2:21","nodeType":"VariableDeclaration","scope":28087,"src":"32514:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32514:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28073,"nodeType":"VariableDeclarationStatement","src":"32514:10:21"},{"assignments":[28075],"declarations":[{"constant":false,"id":28075,"mutability":"mutable","name":"m4","nameLocation":"32542:2:21","nodeType":"VariableDeclaration","scope":28087,"src":"32534:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32534:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28076,"nodeType":"VariableDeclarationStatement","src":"32534:10:21"},{"assignments":[28078],"declarations":[{"constant":false,"id":28078,"mutability":"mutable","name":"m5","nameLocation":"32562:2:21","nodeType":"VariableDeclaration","scope":28087,"src":"32554:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32554:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28079,"nodeType":"VariableDeclarationStatement","src":"32554:10:21"},{"AST":{"nativeSrc":"32626:761:21","nodeType":"YulBlock","src":"32626:761:21","statements":[{"body":{"nativeSrc":"32669:313:21","nodeType":"YulBlock","src":"32669:313:21","statements":[{"nativeSrc":"32687:15:21","nodeType":"YulVariableDeclaration","src":"32687:15:21","value":{"kind":"number","nativeSrc":"32701:1:21","nodeType":"YulLiteral","src":"32701:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"32691:6:21","nodeType":"YulTypedName","src":"32691:6:21","type":""}]},{"body":{"nativeSrc":"32772:40:21","nodeType":"YulBlock","src":"32772:40:21","statements":[{"body":{"nativeSrc":"32801:9:21","nodeType":"YulBlock","src":"32801:9:21","statements":[{"nativeSrc":"32803:5:21","nodeType":"YulBreak","src":"32803:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"32789:6:21","nodeType":"YulIdentifier","src":"32789:6:21"},{"name":"w","nativeSrc":"32797:1:21","nodeType":"YulIdentifier","src":"32797:1:21"}],"functionName":{"name":"byte","nativeSrc":"32784:4:21","nodeType":"YulIdentifier","src":"32784:4:21"},"nativeSrc":"32784:15:21","nodeType":"YulFunctionCall","src":"32784:15:21"}],"functionName":{"name":"iszero","nativeSrc":"32777:6:21","nodeType":"YulIdentifier","src":"32777:6:21"},"nativeSrc":"32777:23:21","nodeType":"YulFunctionCall","src":"32777:23:21"},"nativeSrc":"32774:36:21","nodeType":"YulIf","src":"32774:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"32729:6:21","nodeType":"YulIdentifier","src":"32729:6:21"},{"kind":"number","nativeSrc":"32737:4:21","nodeType":"YulLiteral","src":"32737:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"32726:2:21","nodeType":"YulIdentifier","src":"32726:2:21"},"nativeSrc":"32726:16:21","nodeType":"YulFunctionCall","src":"32726:16:21"},"nativeSrc":"32719:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"32743:28:21","nodeType":"YulBlock","src":"32743:28:21","statements":[{"nativeSrc":"32745:24:21","nodeType":"YulAssignment","src":"32745:24:21","value":{"arguments":[{"name":"length","nativeSrc":"32759:6:21","nodeType":"YulIdentifier","src":"32759:6:21"},{"kind":"number","nativeSrc":"32767:1:21","nodeType":"YulLiteral","src":"32767:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"32755:3:21","nodeType":"YulIdentifier","src":"32755:3:21"},"nativeSrc":"32755:14:21","nodeType":"YulFunctionCall","src":"32755:14:21"},"variableNames":[{"name":"length","nativeSrc":"32745:6:21","nodeType":"YulIdentifier","src":"32745:6:21"}]}]},"pre":{"nativeSrc":"32723:2:21","nodeType":"YulBlock","src":"32723:2:21","statements":[]},"src":"32719:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"32836:3:21","nodeType":"YulIdentifier","src":"32836:3:21"},{"name":"length","nativeSrc":"32841:6:21","nodeType":"YulIdentifier","src":"32841:6:21"}],"functionName":{"name":"mstore","nativeSrc":"32829:6:21","nodeType":"YulIdentifier","src":"32829:6:21"},"nativeSrc":"32829:19:21","nodeType":"YulFunctionCall","src":"32829:19:21"},"nativeSrc":"32829:19:21","nodeType":"YulExpressionStatement","src":"32829:19:21"},{"nativeSrc":"32865:37:21","nodeType":"YulVariableDeclaration","src":"32865:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"32882:3:21","nodeType":"YulLiteral","src":"32882:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"32891:1:21","nodeType":"YulLiteral","src":"32891:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"32894:6:21","nodeType":"YulIdentifier","src":"32894:6:21"}],"functionName":{"name":"shl","nativeSrc":"32887:3:21","nodeType":"YulIdentifier","src":"32887:3:21"},"nativeSrc":"32887:14:21","nodeType":"YulFunctionCall","src":"32887:14:21"}],"functionName":{"name":"sub","nativeSrc":"32878:3:21","nodeType":"YulIdentifier","src":"32878:3:21"},"nativeSrc":"32878:24:21","nodeType":"YulFunctionCall","src":"32878:24:21"},"variables":[{"name":"shift","nativeSrc":"32869:5:21","nodeType":"YulTypedName","src":"32869:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"32930:3:21","nodeType":"YulIdentifier","src":"32930:3:21"},{"kind":"number","nativeSrc":"32935:4:21","nodeType":"YulLiteral","src":"32935:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"32926:3:21","nodeType":"YulIdentifier","src":"32926:3:21"},"nativeSrc":"32926:14:21","nodeType":"YulFunctionCall","src":"32926:14:21"},{"arguments":[{"name":"shift","nativeSrc":"32946:5:21","nodeType":"YulIdentifier","src":"32946:5:21"},{"arguments":[{"name":"shift","nativeSrc":"32957:5:21","nodeType":"YulIdentifier","src":"32957:5:21"},{"name":"w","nativeSrc":"32964:1:21","nodeType":"YulIdentifier","src":"32964:1:21"}],"functionName":{"name":"shr","nativeSrc":"32953:3:21","nodeType":"YulIdentifier","src":"32953:3:21"},"nativeSrc":"32953:13:21","nodeType":"YulFunctionCall","src":"32953:13:21"}],"functionName":{"name":"shl","nativeSrc":"32942:3:21","nodeType":"YulIdentifier","src":"32942:3:21"},"nativeSrc":"32942:25:21","nodeType":"YulFunctionCall","src":"32942:25:21"}],"functionName":{"name":"mstore","nativeSrc":"32919:6:21","nodeType":"YulIdentifier","src":"32919:6:21"},"nativeSrc":"32919:49:21","nodeType":"YulFunctionCall","src":"32919:49:21"},"nativeSrc":"32919:49:21","nodeType":"YulExpressionStatement","src":"32919:49:21"}]},"name":"writeString","nativeSrc":"32640:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"32661:3:21","nodeType":"YulTypedName","src":"32661:3:21","type":""},{"name":"w","nativeSrc":"32666:1:21","nodeType":"YulTypedName","src":"32666:1:21","type":""}],"src":"32640:342:21"},{"nativeSrc":"32995:17:21","nodeType":"YulAssignment","src":"32995:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"33007:4:21","nodeType":"YulLiteral","src":"33007:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"33001:5:21","nodeType":"YulIdentifier","src":"33001:5:21"},"nativeSrc":"33001:11:21","nodeType":"YulFunctionCall","src":"33001:11:21"},"variableNames":[{"name":"m0","nativeSrc":"32995:2:21","nodeType":"YulIdentifier","src":"32995:2:21"}]},{"nativeSrc":"33025:17:21","nodeType":"YulAssignment","src":"33025:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"33037:4:21","nodeType":"YulLiteral","src":"33037:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"33031:5:21","nodeType":"YulIdentifier","src":"33031:5:21"},"nativeSrc":"33031:11:21","nodeType":"YulFunctionCall","src":"33031:11:21"},"variableNames":[{"name":"m1","nativeSrc":"33025:2:21","nodeType":"YulIdentifier","src":"33025:2:21"}]},{"nativeSrc":"33055:17:21","nodeType":"YulAssignment","src":"33055:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"33067:4:21","nodeType":"YulLiteral","src":"33067:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"33061:5:21","nodeType":"YulIdentifier","src":"33061:5:21"},"nativeSrc":"33061:11:21","nodeType":"YulFunctionCall","src":"33061:11:21"},"variableNames":[{"name":"m2","nativeSrc":"33055:2:21","nodeType":"YulIdentifier","src":"33055:2:21"}]},{"nativeSrc":"33085:17:21","nodeType":"YulAssignment","src":"33085:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"33097:4:21","nodeType":"YulLiteral","src":"33097:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"33091:5:21","nodeType":"YulIdentifier","src":"33091:5:21"},"nativeSrc":"33091:11:21","nodeType":"YulFunctionCall","src":"33091:11:21"},"variableNames":[{"name":"m3","nativeSrc":"33085:2:21","nodeType":"YulIdentifier","src":"33085:2:21"}]},{"nativeSrc":"33115:17:21","nodeType":"YulAssignment","src":"33115:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"33127:4:21","nodeType":"YulLiteral","src":"33127:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"33121:5:21","nodeType":"YulIdentifier","src":"33121:5:21"},"nativeSrc":"33121:11:21","nodeType":"YulFunctionCall","src":"33121:11:21"},"variableNames":[{"name":"m4","nativeSrc":"33115:2:21","nodeType":"YulIdentifier","src":"33115:2:21"}]},{"nativeSrc":"33145:17:21","nodeType":"YulAssignment","src":"33145:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"33157:4:21","nodeType":"YulLiteral","src":"33157:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"33151:5:21","nodeType":"YulIdentifier","src":"33151:5:21"},"nativeSrc":"33151:11:21","nodeType":"YulFunctionCall","src":"33151:11:21"},"variableNames":[{"name":"m5","nativeSrc":"33145:2:21","nodeType":"YulIdentifier","src":"33145:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33237:4:21","nodeType":"YulLiteral","src":"33237:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"33243:10:21","nodeType":"YulLiteral","src":"33243:10:21","type":"","value":"0xcf020fb1"}],"functionName":{"name":"mstore","nativeSrc":"33230:6:21","nodeType":"YulIdentifier","src":"33230:6:21"},"nativeSrc":"33230:24:21","nodeType":"YulFunctionCall","src":"33230:24:21"},"nativeSrc":"33230:24:21","nodeType":"YulExpressionStatement","src":"33230:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33274:4:21","nodeType":"YulLiteral","src":"33274:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"33280:2:21","nodeType":"YulIdentifier","src":"33280:2:21"}],"functionName":{"name":"mstore","nativeSrc":"33267:6:21","nodeType":"YulIdentifier","src":"33267:6:21"},"nativeSrc":"33267:16:21","nodeType":"YulFunctionCall","src":"33267:16:21"},"nativeSrc":"33267:16:21","nodeType":"YulExpressionStatement","src":"33267:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33303:4:21","nodeType":"YulLiteral","src":"33303:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"33309:4:21","nodeType":"YulLiteral","src":"33309:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"33296:6:21","nodeType":"YulIdentifier","src":"33296:6:21"},"nativeSrc":"33296:18:21","nodeType":"YulFunctionCall","src":"33296:18:21"},"nativeSrc":"33296:18:21","nodeType":"YulExpressionStatement","src":"33296:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33334:4:21","nodeType":"YulLiteral","src":"33334:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"33340:2:21","nodeType":"YulIdentifier","src":"33340:2:21"}],"functionName":{"name":"mstore","nativeSrc":"33327:6:21","nodeType":"YulIdentifier","src":"33327:6:21"},"nativeSrc":"33327:16:21","nodeType":"YulFunctionCall","src":"33327:16:21"},"nativeSrc":"33327:16:21","nodeType":"YulExpressionStatement","src":"33327:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33368:4:21","nodeType":"YulLiteral","src":"33368:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"33374:2:21","nodeType":"YulIdentifier","src":"33374:2:21"}],"functionName":{"name":"writeString","nativeSrc":"33356:11:21","nodeType":"YulIdentifier","src":"33356:11:21"},"nativeSrc":"33356:21:21","nodeType":"YulFunctionCall","src":"33356:21:21"},"nativeSrc":"33356:21:21","nodeType":"YulExpressionStatement","src":"33356:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28063,"isOffset":false,"isSlot":false,"src":"32995:2:21","valueSize":1},{"declaration":28066,"isOffset":false,"isSlot":false,"src":"33025:2:21","valueSize":1},{"declaration":28069,"isOffset":false,"isSlot":false,"src":"33055:2:21","valueSize":1},{"declaration":28072,"isOffset":false,"isSlot":false,"src":"33085:2:21","valueSize":1},{"declaration":28075,"isOffset":false,"isSlot":false,"src":"33115:2:21","valueSize":1},{"declaration":28078,"isOffset":false,"isSlot":false,"src":"33145:2:21","valueSize":1},{"declaration":28055,"isOffset":false,"isSlot":false,"src":"33280:2:21","valueSize":1},{"declaration":28057,"isOffset":false,"isSlot":false,"src":"33374:2:21","valueSize":1},{"declaration":28059,"isOffset":false,"isSlot":false,"src":"33340:2:21","valueSize":1}],"id":28080,"nodeType":"InlineAssembly","src":"32617:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33412:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33418:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"33396:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33396:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28085,"nodeType":"ExpressionStatement","src":"33396:27:21"},{"AST":{"nativeSrc":"33485:185:21","nodeType":"YulBlock","src":"33485:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"33506:4:21","nodeType":"YulLiteral","src":"33506:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"33512:2:21","nodeType":"YulIdentifier","src":"33512:2:21"}],"functionName":{"name":"mstore","nativeSrc":"33499:6:21","nodeType":"YulIdentifier","src":"33499:6:21"},"nativeSrc":"33499:16:21","nodeType":"YulFunctionCall","src":"33499:16:21"},"nativeSrc":"33499:16:21","nodeType":"YulExpressionStatement","src":"33499:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33535:4:21","nodeType":"YulLiteral","src":"33535:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"33541:2:21","nodeType":"YulIdentifier","src":"33541:2:21"}],"functionName":{"name":"mstore","nativeSrc":"33528:6:21","nodeType":"YulIdentifier","src":"33528:6:21"},"nativeSrc":"33528:16:21","nodeType":"YulFunctionCall","src":"33528:16:21"},"nativeSrc":"33528:16:21","nodeType":"YulExpressionStatement","src":"33528:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33564:4:21","nodeType":"YulLiteral","src":"33564:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"33570:2:21","nodeType":"YulIdentifier","src":"33570:2:21"}],"functionName":{"name":"mstore","nativeSrc":"33557:6:21","nodeType":"YulIdentifier","src":"33557:6:21"},"nativeSrc":"33557:16:21","nodeType":"YulFunctionCall","src":"33557:16:21"},"nativeSrc":"33557:16:21","nodeType":"YulExpressionStatement","src":"33557:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33593:4:21","nodeType":"YulLiteral","src":"33593:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"33599:2:21","nodeType":"YulIdentifier","src":"33599:2:21"}],"functionName":{"name":"mstore","nativeSrc":"33586:6:21","nodeType":"YulIdentifier","src":"33586:6:21"},"nativeSrc":"33586:16:21","nodeType":"YulFunctionCall","src":"33586:16:21"},"nativeSrc":"33586:16:21","nodeType":"YulExpressionStatement","src":"33586:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33622:4:21","nodeType":"YulLiteral","src":"33622:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"33628:2:21","nodeType":"YulIdentifier","src":"33628:2:21"}],"functionName":{"name":"mstore","nativeSrc":"33615:6:21","nodeType":"YulIdentifier","src":"33615:6:21"},"nativeSrc":"33615:16:21","nodeType":"YulFunctionCall","src":"33615:16:21"},"nativeSrc":"33615:16:21","nodeType":"YulExpressionStatement","src":"33615:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33651:4:21","nodeType":"YulLiteral","src":"33651:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"33657:2:21","nodeType":"YulIdentifier","src":"33657:2:21"}],"functionName":{"name":"mstore","nativeSrc":"33644:6:21","nodeType":"YulIdentifier","src":"33644:6:21"},"nativeSrc":"33644:16:21","nodeType":"YulFunctionCall","src":"33644:16:21"},"nativeSrc":"33644:16:21","nodeType":"YulExpressionStatement","src":"33644:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28063,"isOffset":false,"isSlot":false,"src":"33512:2:21","valueSize":1},{"declaration":28066,"isOffset":false,"isSlot":false,"src":"33541:2:21","valueSize":1},{"declaration":28069,"isOffset":false,"isSlot":false,"src":"33570:2:21","valueSize":1},{"declaration":28072,"isOffset":false,"isSlot":false,"src":"33599:2:21","valueSize":1},{"declaration":28075,"isOffset":false,"isSlot":false,"src":"33628:2:21","valueSize":1},{"declaration":28078,"isOffset":false,"isSlot":false,"src":"33657:2:21","valueSize":1}],"id":28086,"nodeType":"InlineAssembly","src":"33476:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32393:3:21","parameters":{"id":28060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28055,"mutability":"mutable","name":"p0","nameLocation":"32405:2:21","nodeType":"VariableDeclaration","scope":28088,"src":"32397:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28054,"name":"address","nodeType":"ElementaryTypeName","src":"32397:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28057,"mutability":"mutable","name":"p1","nameLocation":"32417:2:21","nodeType":"VariableDeclaration","scope":28088,"src":"32409:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32409:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28059,"mutability":"mutable","name":"p2","nameLocation":"32426:2:21","nodeType":"VariableDeclaration","scope":28088,"src":"32421:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28058,"name":"bool","nodeType":"ElementaryTypeName","src":"32421:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32396:33:21"},"returnParameters":{"id":28061,"nodeType":"ParameterList","parameters":[],"src":"32444:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28123,"nodeType":"FunctionDefinition","src":"33682:1298:21","nodes":[],"body":{"id":28122,"nodeType":"Block","src":"33745:1235:21","nodes":[],"statements":[{"assignments":[28098],"declarations":[{"constant":false,"id":28098,"mutability":"mutable","name":"m0","nameLocation":"33763:2:21","nodeType":"VariableDeclaration","scope":28122,"src":"33755:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33755:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28099,"nodeType":"VariableDeclarationStatement","src":"33755:10:21"},{"assignments":[28101],"declarations":[{"constant":false,"id":28101,"mutability":"mutable","name":"m1","nameLocation":"33783:2:21","nodeType":"VariableDeclaration","scope":28122,"src":"33775:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33775:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28102,"nodeType":"VariableDeclarationStatement","src":"33775:10:21"},{"assignments":[28104],"declarations":[{"constant":false,"id":28104,"mutability":"mutable","name":"m2","nameLocation":"33803:2:21","nodeType":"VariableDeclaration","scope":28122,"src":"33795:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33795:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28105,"nodeType":"VariableDeclarationStatement","src":"33795:10:21"},{"assignments":[28107],"declarations":[{"constant":false,"id":28107,"mutability":"mutable","name":"m3","nameLocation":"33823:2:21","nodeType":"VariableDeclaration","scope":28122,"src":"33815:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33815:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28108,"nodeType":"VariableDeclarationStatement","src":"33815:10:21"},{"assignments":[28110],"declarations":[{"constant":false,"id":28110,"mutability":"mutable","name":"m4","nameLocation":"33843:2:21","nodeType":"VariableDeclaration","scope":28122,"src":"33835:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33835:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28111,"nodeType":"VariableDeclarationStatement","src":"33835:10:21"},{"assignments":[28113],"declarations":[{"constant":false,"id":28113,"mutability":"mutable","name":"m5","nameLocation":"33863:2:21","nodeType":"VariableDeclaration","scope":28122,"src":"33855:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33855:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28114,"nodeType":"VariableDeclarationStatement","src":"33855:10:21"},{"AST":{"nativeSrc":"33927:764:21","nodeType":"YulBlock","src":"33927:764:21","statements":[{"body":{"nativeSrc":"33970:313:21","nodeType":"YulBlock","src":"33970:313:21","statements":[{"nativeSrc":"33988:15:21","nodeType":"YulVariableDeclaration","src":"33988:15:21","value":{"kind":"number","nativeSrc":"34002:1:21","nodeType":"YulLiteral","src":"34002:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"33992:6:21","nodeType":"YulTypedName","src":"33992:6:21","type":""}]},{"body":{"nativeSrc":"34073:40:21","nodeType":"YulBlock","src":"34073:40:21","statements":[{"body":{"nativeSrc":"34102:9:21","nodeType":"YulBlock","src":"34102:9:21","statements":[{"nativeSrc":"34104:5:21","nodeType":"YulBreak","src":"34104:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"34090:6:21","nodeType":"YulIdentifier","src":"34090:6:21"},{"name":"w","nativeSrc":"34098:1:21","nodeType":"YulIdentifier","src":"34098:1:21"}],"functionName":{"name":"byte","nativeSrc":"34085:4:21","nodeType":"YulIdentifier","src":"34085:4:21"},"nativeSrc":"34085:15:21","nodeType":"YulFunctionCall","src":"34085:15:21"}],"functionName":{"name":"iszero","nativeSrc":"34078:6:21","nodeType":"YulIdentifier","src":"34078:6:21"},"nativeSrc":"34078:23:21","nodeType":"YulFunctionCall","src":"34078:23:21"},"nativeSrc":"34075:36:21","nodeType":"YulIf","src":"34075:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"34030:6:21","nodeType":"YulIdentifier","src":"34030:6:21"},{"kind":"number","nativeSrc":"34038:4:21","nodeType":"YulLiteral","src":"34038:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"34027:2:21","nodeType":"YulIdentifier","src":"34027:2:21"},"nativeSrc":"34027:16:21","nodeType":"YulFunctionCall","src":"34027:16:21"},"nativeSrc":"34020:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"34044:28:21","nodeType":"YulBlock","src":"34044:28:21","statements":[{"nativeSrc":"34046:24:21","nodeType":"YulAssignment","src":"34046:24:21","value":{"arguments":[{"name":"length","nativeSrc":"34060:6:21","nodeType":"YulIdentifier","src":"34060:6:21"},{"kind":"number","nativeSrc":"34068:1:21","nodeType":"YulLiteral","src":"34068:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"34056:3:21","nodeType":"YulIdentifier","src":"34056:3:21"},"nativeSrc":"34056:14:21","nodeType":"YulFunctionCall","src":"34056:14:21"},"variableNames":[{"name":"length","nativeSrc":"34046:6:21","nodeType":"YulIdentifier","src":"34046:6:21"}]}]},"pre":{"nativeSrc":"34024:2:21","nodeType":"YulBlock","src":"34024:2:21","statements":[]},"src":"34020:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"34137:3:21","nodeType":"YulIdentifier","src":"34137:3:21"},{"name":"length","nativeSrc":"34142:6:21","nodeType":"YulIdentifier","src":"34142:6:21"}],"functionName":{"name":"mstore","nativeSrc":"34130:6:21","nodeType":"YulIdentifier","src":"34130:6:21"},"nativeSrc":"34130:19:21","nodeType":"YulFunctionCall","src":"34130:19:21"},"nativeSrc":"34130:19:21","nodeType":"YulExpressionStatement","src":"34130:19:21"},{"nativeSrc":"34166:37:21","nodeType":"YulVariableDeclaration","src":"34166:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"34183:3:21","nodeType":"YulLiteral","src":"34183:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"34192:1:21","nodeType":"YulLiteral","src":"34192:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"34195:6:21","nodeType":"YulIdentifier","src":"34195:6:21"}],"functionName":{"name":"shl","nativeSrc":"34188:3:21","nodeType":"YulIdentifier","src":"34188:3:21"},"nativeSrc":"34188:14:21","nodeType":"YulFunctionCall","src":"34188:14:21"}],"functionName":{"name":"sub","nativeSrc":"34179:3:21","nodeType":"YulIdentifier","src":"34179:3:21"},"nativeSrc":"34179:24:21","nodeType":"YulFunctionCall","src":"34179:24:21"},"variables":[{"name":"shift","nativeSrc":"34170:5:21","nodeType":"YulTypedName","src":"34170:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"34231:3:21","nodeType":"YulIdentifier","src":"34231:3:21"},{"kind":"number","nativeSrc":"34236:4:21","nodeType":"YulLiteral","src":"34236:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"34227:3:21","nodeType":"YulIdentifier","src":"34227:3:21"},"nativeSrc":"34227:14:21","nodeType":"YulFunctionCall","src":"34227:14:21"},{"arguments":[{"name":"shift","nativeSrc":"34247:5:21","nodeType":"YulIdentifier","src":"34247:5:21"},{"arguments":[{"name":"shift","nativeSrc":"34258:5:21","nodeType":"YulIdentifier","src":"34258:5:21"},{"name":"w","nativeSrc":"34265:1:21","nodeType":"YulIdentifier","src":"34265:1:21"}],"functionName":{"name":"shr","nativeSrc":"34254:3:21","nodeType":"YulIdentifier","src":"34254:3:21"},"nativeSrc":"34254:13:21","nodeType":"YulFunctionCall","src":"34254:13:21"}],"functionName":{"name":"shl","nativeSrc":"34243:3:21","nodeType":"YulIdentifier","src":"34243:3:21"},"nativeSrc":"34243:25:21","nodeType":"YulFunctionCall","src":"34243:25:21"}],"functionName":{"name":"mstore","nativeSrc":"34220:6:21","nodeType":"YulIdentifier","src":"34220:6:21"},"nativeSrc":"34220:49:21","nodeType":"YulFunctionCall","src":"34220:49:21"},"nativeSrc":"34220:49:21","nodeType":"YulExpressionStatement","src":"34220:49:21"}]},"name":"writeString","nativeSrc":"33941:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"33962:3:21","nodeType":"YulTypedName","src":"33962:3:21","type":""},{"name":"w","nativeSrc":"33967:1:21","nodeType":"YulTypedName","src":"33967:1:21","type":""}],"src":"33941:342:21"},{"nativeSrc":"34296:17:21","nodeType":"YulAssignment","src":"34296:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"34308:4:21","nodeType":"YulLiteral","src":"34308:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"34302:5:21","nodeType":"YulIdentifier","src":"34302:5:21"},"nativeSrc":"34302:11:21","nodeType":"YulFunctionCall","src":"34302:11:21"},"variableNames":[{"name":"m0","nativeSrc":"34296:2:21","nodeType":"YulIdentifier","src":"34296:2:21"}]},{"nativeSrc":"34326:17:21","nodeType":"YulAssignment","src":"34326:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"34338:4:21","nodeType":"YulLiteral","src":"34338:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"34332:5:21","nodeType":"YulIdentifier","src":"34332:5:21"},"nativeSrc":"34332:11:21","nodeType":"YulFunctionCall","src":"34332:11:21"},"variableNames":[{"name":"m1","nativeSrc":"34326:2:21","nodeType":"YulIdentifier","src":"34326:2:21"}]},{"nativeSrc":"34356:17:21","nodeType":"YulAssignment","src":"34356:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"34368:4:21","nodeType":"YulLiteral","src":"34368:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"34362:5:21","nodeType":"YulIdentifier","src":"34362:5:21"},"nativeSrc":"34362:11:21","nodeType":"YulFunctionCall","src":"34362:11:21"},"variableNames":[{"name":"m2","nativeSrc":"34356:2:21","nodeType":"YulIdentifier","src":"34356:2:21"}]},{"nativeSrc":"34386:17:21","nodeType":"YulAssignment","src":"34386:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"34398:4:21","nodeType":"YulLiteral","src":"34398:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"34392:5:21","nodeType":"YulIdentifier","src":"34392:5:21"},"nativeSrc":"34392:11:21","nodeType":"YulFunctionCall","src":"34392:11:21"},"variableNames":[{"name":"m3","nativeSrc":"34386:2:21","nodeType":"YulIdentifier","src":"34386:2:21"}]},{"nativeSrc":"34416:17:21","nodeType":"YulAssignment","src":"34416:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"34428:4:21","nodeType":"YulLiteral","src":"34428:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"34422:5:21","nodeType":"YulIdentifier","src":"34422:5:21"},"nativeSrc":"34422:11:21","nodeType":"YulFunctionCall","src":"34422:11:21"},"variableNames":[{"name":"m4","nativeSrc":"34416:2:21","nodeType":"YulIdentifier","src":"34416:2:21"}]},{"nativeSrc":"34446:17:21","nodeType":"YulAssignment","src":"34446:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"34458:4:21","nodeType":"YulLiteral","src":"34458:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"34452:5:21","nodeType":"YulIdentifier","src":"34452:5:21"},"nativeSrc":"34452:11:21","nodeType":"YulFunctionCall","src":"34452:11:21"},"variableNames":[{"name":"m5","nativeSrc":"34446:2:21","nodeType":"YulIdentifier","src":"34446:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34541:4:21","nodeType":"YulLiteral","src":"34541:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"34547:10:21","nodeType":"YulLiteral","src":"34547:10:21","type":"","value":"0x67dd6ff1"}],"functionName":{"name":"mstore","nativeSrc":"34534:6:21","nodeType":"YulIdentifier","src":"34534:6:21"},"nativeSrc":"34534:24:21","nodeType":"YulFunctionCall","src":"34534:24:21"},"nativeSrc":"34534:24:21","nodeType":"YulExpressionStatement","src":"34534:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34578:4:21","nodeType":"YulLiteral","src":"34578:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"34584:2:21","nodeType":"YulIdentifier","src":"34584:2:21"}],"functionName":{"name":"mstore","nativeSrc":"34571:6:21","nodeType":"YulIdentifier","src":"34571:6:21"},"nativeSrc":"34571:16:21","nodeType":"YulFunctionCall","src":"34571:16:21"},"nativeSrc":"34571:16:21","nodeType":"YulExpressionStatement","src":"34571:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34607:4:21","nodeType":"YulLiteral","src":"34607:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"34613:4:21","nodeType":"YulLiteral","src":"34613:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"34600:6:21","nodeType":"YulIdentifier","src":"34600:6:21"},"nativeSrc":"34600:18:21","nodeType":"YulFunctionCall","src":"34600:18:21"},"nativeSrc":"34600:18:21","nodeType":"YulExpressionStatement","src":"34600:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34638:4:21","nodeType":"YulLiteral","src":"34638:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"34644:2:21","nodeType":"YulIdentifier","src":"34644:2:21"}],"functionName":{"name":"mstore","nativeSrc":"34631:6:21","nodeType":"YulIdentifier","src":"34631:6:21"},"nativeSrc":"34631:16:21","nodeType":"YulFunctionCall","src":"34631:16:21"},"nativeSrc":"34631:16:21","nodeType":"YulExpressionStatement","src":"34631:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34672:4:21","nodeType":"YulLiteral","src":"34672:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"34678:2:21","nodeType":"YulIdentifier","src":"34678:2:21"}],"functionName":{"name":"writeString","nativeSrc":"34660:11:21","nodeType":"YulIdentifier","src":"34660:11:21"},"nativeSrc":"34660:21:21","nodeType":"YulFunctionCall","src":"34660:21:21"},"nativeSrc":"34660:21:21","nodeType":"YulExpressionStatement","src":"34660:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28098,"isOffset":false,"isSlot":false,"src":"34296:2:21","valueSize":1},{"declaration":28101,"isOffset":false,"isSlot":false,"src":"34326:2:21","valueSize":1},{"declaration":28104,"isOffset":false,"isSlot":false,"src":"34356:2:21","valueSize":1},{"declaration":28107,"isOffset":false,"isSlot":false,"src":"34386:2:21","valueSize":1},{"declaration":28110,"isOffset":false,"isSlot":false,"src":"34416:2:21","valueSize":1},{"declaration":28113,"isOffset":false,"isSlot":false,"src":"34446:2:21","valueSize":1},{"declaration":28090,"isOffset":false,"isSlot":false,"src":"34584:2:21","valueSize":1},{"declaration":28092,"isOffset":false,"isSlot":false,"src":"34678:2:21","valueSize":1},{"declaration":28094,"isOffset":false,"isSlot":false,"src":"34644:2:21","valueSize":1}],"id":28115,"nodeType":"InlineAssembly","src":"33918:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34716:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34722:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28116,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"34700:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34700:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28120,"nodeType":"ExpressionStatement","src":"34700:27:21"},{"AST":{"nativeSrc":"34789:185:21","nodeType":"YulBlock","src":"34789:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"34810:4:21","nodeType":"YulLiteral","src":"34810:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"34816:2:21","nodeType":"YulIdentifier","src":"34816:2:21"}],"functionName":{"name":"mstore","nativeSrc":"34803:6:21","nodeType":"YulIdentifier","src":"34803:6:21"},"nativeSrc":"34803:16:21","nodeType":"YulFunctionCall","src":"34803:16:21"},"nativeSrc":"34803:16:21","nodeType":"YulExpressionStatement","src":"34803:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34839:4:21","nodeType":"YulLiteral","src":"34839:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"34845:2:21","nodeType":"YulIdentifier","src":"34845:2:21"}],"functionName":{"name":"mstore","nativeSrc":"34832:6:21","nodeType":"YulIdentifier","src":"34832:6:21"},"nativeSrc":"34832:16:21","nodeType":"YulFunctionCall","src":"34832:16:21"},"nativeSrc":"34832:16:21","nodeType":"YulExpressionStatement","src":"34832:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34868:4:21","nodeType":"YulLiteral","src":"34868:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"34874:2:21","nodeType":"YulIdentifier","src":"34874:2:21"}],"functionName":{"name":"mstore","nativeSrc":"34861:6:21","nodeType":"YulIdentifier","src":"34861:6:21"},"nativeSrc":"34861:16:21","nodeType":"YulFunctionCall","src":"34861:16:21"},"nativeSrc":"34861:16:21","nodeType":"YulExpressionStatement","src":"34861:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34897:4:21","nodeType":"YulLiteral","src":"34897:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"34903:2:21","nodeType":"YulIdentifier","src":"34903:2:21"}],"functionName":{"name":"mstore","nativeSrc":"34890:6:21","nodeType":"YulIdentifier","src":"34890:6:21"},"nativeSrc":"34890:16:21","nodeType":"YulFunctionCall","src":"34890:16:21"},"nativeSrc":"34890:16:21","nodeType":"YulExpressionStatement","src":"34890:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34926:4:21","nodeType":"YulLiteral","src":"34926:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"34932:2:21","nodeType":"YulIdentifier","src":"34932:2:21"}],"functionName":{"name":"mstore","nativeSrc":"34919:6:21","nodeType":"YulIdentifier","src":"34919:6:21"},"nativeSrc":"34919:16:21","nodeType":"YulFunctionCall","src":"34919:16:21"},"nativeSrc":"34919:16:21","nodeType":"YulExpressionStatement","src":"34919:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34955:4:21","nodeType":"YulLiteral","src":"34955:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"34961:2:21","nodeType":"YulIdentifier","src":"34961:2:21"}],"functionName":{"name":"mstore","nativeSrc":"34948:6:21","nodeType":"YulIdentifier","src":"34948:6:21"},"nativeSrc":"34948:16:21","nodeType":"YulFunctionCall","src":"34948:16:21"},"nativeSrc":"34948:16:21","nodeType":"YulExpressionStatement","src":"34948:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28098,"isOffset":false,"isSlot":false,"src":"34816:2:21","valueSize":1},{"declaration":28101,"isOffset":false,"isSlot":false,"src":"34845:2:21","valueSize":1},{"declaration":28104,"isOffset":false,"isSlot":false,"src":"34874:2:21","valueSize":1},{"declaration":28107,"isOffset":false,"isSlot":false,"src":"34903:2:21","valueSize":1},{"declaration":28110,"isOffset":false,"isSlot":false,"src":"34932:2:21","valueSize":1},{"declaration":28113,"isOffset":false,"isSlot":false,"src":"34961:2:21","valueSize":1}],"id":28121,"nodeType":"InlineAssembly","src":"34780:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33691:3:21","parameters":{"id":28095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28090,"mutability":"mutable","name":"p0","nameLocation":"33703:2:21","nodeType":"VariableDeclaration","scope":28123,"src":"33695:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28089,"name":"address","nodeType":"ElementaryTypeName","src":"33695:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28092,"mutability":"mutable","name":"p1","nameLocation":"33715:2:21","nodeType":"VariableDeclaration","scope":28123,"src":"33707:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33707:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28094,"mutability":"mutable","name":"p2","nameLocation":"33727:2:21","nodeType":"VariableDeclaration","scope":28123,"src":"33719:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28093,"name":"uint256","nodeType":"ElementaryTypeName","src":"33719:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33694:36:21"},"returnParameters":{"id":28096,"nodeType":"ParameterList","parameters":[],"src":"33745:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28164,"nodeType":"FunctionDefinition","src":"34986:1491:21","nodes":[],"body":{"id":28163,"nodeType":"Block","src":"35049:1428:21","nodes":[],"statements":[{"assignments":[28133],"declarations":[{"constant":false,"id":28133,"mutability":"mutable","name":"m0","nameLocation":"35067:2:21","nodeType":"VariableDeclaration","scope":28163,"src":"35059:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35059:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28134,"nodeType":"VariableDeclarationStatement","src":"35059:10:21"},{"assignments":[28136],"declarations":[{"constant":false,"id":28136,"mutability":"mutable","name":"m1","nameLocation":"35087:2:21","nodeType":"VariableDeclaration","scope":28163,"src":"35079:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35079:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28137,"nodeType":"VariableDeclarationStatement","src":"35079:10:21"},{"assignments":[28139],"declarations":[{"constant":false,"id":28139,"mutability":"mutable","name":"m2","nameLocation":"35107:2:21","nodeType":"VariableDeclaration","scope":28163,"src":"35099:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35099:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28140,"nodeType":"VariableDeclarationStatement","src":"35099:10:21"},{"assignments":[28142],"declarations":[{"constant":false,"id":28142,"mutability":"mutable","name":"m3","nameLocation":"35127:2:21","nodeType":"VariableDeclaration","scope":28163,"src":"35119:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35119:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28143,"nodeType":"VariableDeclarationStatement","src":"35119:10:21"},{"assignments":[28145],"declarations":[{"constant":false,"id":28145,"mutability":"mutable","name":"m4","nameLocation":"35147:2:21","nodeType":"VariableDeclaration","scope":28163,"src":"35139:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35139:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28146,"nodeType":"VariableDeclarationStatement","src":"35139:10:21"},{"assignments":[28148],"declarations":[{"constant":false,"id":28148,"mutability":"mutable","name":"m5","nameLocation":"35167:2:21","nodeType":"VariableDeclaration","scope":28163,"src":"35159:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35159:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28149,"nodeType":"VariableDeclarationStatement","src":"35159:10:21"},{"assignments":[28151],"declarations":[{"constant":false,"id":28151,"mutability":"mutable","name":"m6","nameLocation":"35187:2:21","nodeType":"VariableDeclaration","scope":28163,"src":"35179:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35179:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28152,"nodeType":"VariableDeclarationStatement","src":"35179:10:21"},{"assignments":[28154],"declarations":[{"constant":false,"id":28154,"mutability":"mutable","name":"m7","nameLocation":"35207:2:21","nodeType":"VariableDeclaration","scope":28163,"src":"35199:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35199:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28155,"nodeType":"VariableDeclarationStatement","src":"35199:10:21"},{"AST":{"nativeSrc":"35271:859:21","nodeType":"YulBlock","src":"35271:859:21","statements":[{"body":{"nativeSrc":"35314:313:21","nodeType":"YulBlock","src":"35314:313:21","statements":[{"nativeSrc":"35332:15:21","nodeType":"YulVariableDeclaration","src":"35332:15:21","value":{"kind":"number","nativeSrc":"35346:1:21","nodeType":"YulLiteral","src":"35346:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"35336:6:21","nodeType":"YulTypedName","src":"35336:6:21","type":""}]},{"body":{"nativeSrc":"35417:40:21","nodeType":"YulBlock","src":"35417:40:21","statements":[{"body":{"nativeSrc":"35446:9:21","nodeType":"YulBlock","src":"35446:9:21","statements":[{"nativeSrc":"35448:5:21","nodeType":"YulBreak","src":"35448:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"35434:6:21","nodeType":"YulIdentifier","src":"35434:6:21"},{"name":"w","nativeSrc":"35442:1:21","nodeType":"YulIdentifier","src":"35442:1:21"}],"functionName":{"name":"byte","nativeSrc":"35429:4:21","nodeType":"YulIdentifier","src":"35429:4:21"},"nativeSrc":"35429:15:21","nodeType":"YulFunctionCall","src":"35429:15:21"}],"functionName":{"name":"iszero","nativeSrc":"35422:6:21","nodeType":"YulIdentifier","src":"35422:6:21"},"nativeSrc":"35422:23:21","nodeType":"YulFunctionCall","src":"35422:23:21"},"nativeSrc":"35419:36:21","nodeType":"YulIf","src":"35419:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"35374:6:21","nodeType":"YulIdentifier","src":"35374:6:21"},{"kind":"number","nativeSrc":"35382:4:21","nodeType":"YulLiteral","src":"35382:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"35371:2:21","nodeType":"YulIdentifier","src":"35371:2:21"},"nativeSrc":"35371:16:21","nodeType":"YulFunctionCall","src":"35371:16:21"},"nativeSrc":"35364:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"35388:28:21","nodeType":"YulBlock","src":"35388:28:21","statements":[{"nativeSrc":"35390:24:21","nodeType":"YulAssignment","src":"35390:24:21","value":{"arguments":[{"name":"length","nativeSrc":"35404:6:21","nodeType":"YulIdentifier","src":"35404:6:21"},{"kind":"number","nativeSrc":"35412:1:21","nodeType":"YulLiteral","src":"35412:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"35400:3:21","nodeType":"YulIdentifier","src":"35400:3:21"},"nativeSrc":"35400:14:21","nodeType":"YulFunctionCall","src":"35400:14:21"},"variableNames":[{"name":"length","nativeSrc":"35390:6:21","nodeType":"YulIdentifier","src":"35390:6:21"}]}]},"pre":{"nativeSrc":"35368:2:21","nodeType":"YulBlock","src":"35368:2:21","statements":[]},"src":"35364:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"35481:3:21","nodeType":"YulIdentifier","src":"35481:3:21"},{"name":"length","nativeSrc":"35486:6:21","nodeType":"YulIdentifier","src":"35486:6:21"}],"functionName":{"name":"mstore","nativeSrc":"35474:6:21","nodeType":"YulIdentifier","src":"35474:6:21"},"nativeSrc":"35474:19:21","nodeType":"YulFunctionCall","src":"35474:19:21"},"nativeSrc":"35474:19:21","nodeType":"YulExpressionStatement","src":"35474:19:21"},{"nativeSrc":"35510:37:21","nodeType":"YulVariableDeclaration","src":"35510:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"35527:3:21","nodeType":"YulLiteral","src":"35527:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"35536:1:21","nodeType":"YulLiteral","src":"35536:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"35539:6:21","nodeType":"YulIdentifier","src":"35539:6:21"}],"functionName":{"name":"shl","nativeSrc":"35532:3:21","nodeType":"YulIdentifier","src":"35532:3:21"},"nativeSrc":"35532:14:21","nodeType":"YulFunctionCall","src":"35532:14:21"}],"functionName":{"name":"sub","nativeSrc":"35523:3:21","nodeType":"YulIdentifier","src":"35523:3:21"},"nativeSrc":"35523:24:21","nodeType":"YulFunctionCall","src":"35523:24:21"},"variables":[{"name":"shift","nativeSrc":"35514:5:21","nodeType":"YulTypedName","src":"35514:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"35575:3:21","nodeType":"YulIdentifier","src":"35575:3:21"},{"kind":"number","nativeSrc":"35580:4:21","nodeType":"YulLiteral","src":"35580:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"35571:3:21","nodeType":"YulIdentifier","src":"35571:3:21"},"nativeSrc":"35571:14:21","nodeType":"YulFunctionCall","src":"35571:14:21"},{"arguments":[{"name":"shift","nativeSrc":"35591:5:21","nodeType":"YulIdentifier","src":"35591:5:21"},{"arguments":[{"name":"shift","nativeSrc":"35602:5:21","nodeType":"YulIdentifier","src":"35602:5:21"},{"name":"w","nativeSrc":"35609:1:21","nodeType":"YulIdentifier","src":"35609:1:21"}],"functionName":{"name":"shr","nativeSrc":"35598:3:21","nodeType":"YulIdentifier","src":"35598:3:21"},"nativeSrc":"35598:13:21","nodeType":"YulFunctionCall","src":"35598:13:21"}],"functionName":{"name":"shl","nativeSrc":"35587:3:21","nodeType":"YulIdentifier","src":"35587:3:21"},"nativeSrc":"35587:25:21","nodeType":"YulFunctionCall","src":"35587:25:21"}],"functionName":{"name":"mstore","nativeSrc":"35564:6:21","nodeType":"YulIdentifier","src":"35564:6:21"},"nativeSrc":"35564:49:21","nodeType":"YulFunctionCall","src":"35564:49:21"},"nativeSrc":"35564:49:21","nodeType":"YulExpressionStatement","src":"35564:49:21"}]},"name":"writeString","nativeSrc":"35285:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"35306:3:21","nodeType":"YulTypedName","src":"35306:3:21","type":""},{"name":"w","nativeSrc":"35311:1:21","nodeType":"YulTypedName","src":"35311:1:21","type":""}],"src":"35285:342:21"},{"nativeSrc":"35640:17:21","nodeType":"YulAssignment","src":"35640:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"35652:4:21","nodeType":"YulLiteral","src":"35652:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"35646:5:21","nodeType":"YulIdentifier","src":"35646:5:21"},"nativeSrc":"35646:11:21","nodeType":"YulFunctionCall","src":"35646:11:21"},"variableNames":[{"name":"m0","nativeSrc":"35640:2:21","nodeType":"YulIdentifier","src":"35640:2:21"}]},{"nativeSrc":"35670:17:21","nodeType":"YulAssignment","src":"35670:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"35682:4:21","nodeType":"YulLiteral","src":"35682:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"35676:5:21","nodeType":"YulIdentifier","src":"35676:5:21"},"nativeSrc":"35676:11:21","nodeType":"YulFunctionCall","src":"35676:11:21"},"variableNames":[{"name":"m1","nativeSrc":"35670:2:21","nodeType":"YulIdentifier","src":"35670:2:21"}]},{"nativeSrc":"35700:17:21","nodeType":"YulAssignment","src":"35700:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"35712:4:21","nodeType":"YulLiteral","src":"35712:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"35706:5:21","nodeType":"YulIdentifier","src":"35706:5:21"},"nativeSrc":"35706:11:21","nodeType":"YulFunctionCall","src":"35706:11:21"},"variableNames":[{"name":"m2","nativeSrc":"35700:2:21","nodeType":"YulIdentifier","src":"35700:2:21"}]},{"nativeSrc":"35730:17:21","nodeType":"YulAssignment","src":"35730:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"35742:4:21","nodeType":"YulLiteral","src":"35742:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"35736:5:21","nodeType":"YulIdentifier","src":"35736:5:21"},"nativeSrc":"35736:11:21","nodeType":"YulFunctionCall","src":"35736:11:21"},"variableNames":[{"name":"m3","nativeSrc":"35730:2:21","nodeType":"YulIdentifier","src":"35730:2:21"}]},{"nativeSrc":"35760:17:21","nodeType":"YulAssignment","src":"35760:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"35772:4:21","nodeType":"YulLiteral","src":"35772:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"35766:5:21","nodeType":"YulIdentifier","src":"35766:5:21"},"nativeSrc":"35766:11:21","nodeType":"YulFunctionCall","src":"35766:11:21"},"variableNames":[{"name":"m4","nativeSrc":"35760:2:21","nodeType":"YulIdentifier","src":"35760:2:21"}]},{"nativeSrc":"35790:17:21","nodeType":"YulAssignment","src":"35790:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"35802:4:21","nodeType":"YulLiteral","src":"35802:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"35796:5:21","nodeType":"YulIdentifier","src":"35796:5:21"},"nativeSrc":"35796:11:21","nodeType":"YulFunctionCall","src":"35796:11:21"},"variableNames":[{"name":"m5","nativeSrc":"35790:2:21","nodeType":"YulIdentifier","src":"35790:2:21"}]},{"nativeSrc":"35820:17:21","nodeType":"YulAssignment","src":"35820:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"35832:4:21","nodeType":"YulLiteral","src":"35832:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"35826:5:21","nodeType":"YulIdentifier","src":"35826:5:21"},"nativeSrc":"35826:11:21","nodeType":"YulFunctionCall","src":"35826:11:21"},"variableNames":[{"name":"m6","nativeSrc":"35820:2:21","nodeType":"YulIdentifier","src":"35820:2:21"}]},{"nativeSrc":"35850:17:21","nodeType":"YulAssignment","src":"35850:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"35862:4:21","nodeType":"YulLiteral","src":"35862:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"35856:5:21","nodeType":"YulIdentifier","src":"35856:5:21"},"nativeSrc":"35856:11:21","nodeType":"YulFunctionCall","src":"35856:11:21"},"variableNames":[{"name":"m7","nativeSrc":"35850:2:21","nodeType":"YulIdentifier","src":"35850:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"35944:4:21","nodeType":"YulLiteral","src":"35944:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"35950:10:21","nodeType":"YulLiteral","src":"35950:10:21","type":"","value":"0xfb772265"}],"functionName":{"name":"mstore","nativeSrc":"35937:6:21","nodeType":"YulIdentifier","src":"35937:6:21"},"nativeSrc":"35937:24:21","nodeType":"YulFunctionCall","src":"35937:24:21"},"nativeSrc":"35937:24:21","nodeType":"YulExpressionStatement","src":"35937:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"35981:4:21","nodeType":"YulLiteral","src":"35981:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"35987:2:21","nodeType":"YulIdentifier","src":"35987:2:21"}],"functionName":{"name":"mstore","nativeSrc":"35974:6:21","nodeType":"YulIdentifier","src":"35974:6:21"},"nativeSrc":"35974:16:21","nodeType":"YulFunctionCall","src":"35974:16:21"},"nativeSrc":"35974:16:21","nodeType":"YulExpressionStatement","src":"35974:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36010:4:21","nodeType":"YulLiteral","src":"36010:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"36016:4:21","nodeType":"YulLiteral","src":"36016:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"36003:6:21","nodeType":"YulIdentifier","src":"36003:6:21"},"nativeSrc":"36003:18:21","nodeType":"YulFunctionCall","src":"36003:18:21"},"nativeSrc":"36003:18:21","nodeType":"YulExpressionStatement","src":"36003:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36041:4:21","nodeType":"YulLiteral","src":"36041:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"36047:4:21","nodeType":"YulLiteral","src":"36047:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"36034:6:21","nodeType":"YulIdentifier","src":"36034:6:21"},"nativeSrc":"36034:18:21","nodeType":"YulFunctionCall","src":"36034:18:21"},"nativeSrc":"36034:18:21","nodeType":"YulExpressionStatement","src":"36034:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36077:4:21","nodeType":"YulLiteral","src":"36077:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"36083:2:21","nodeType":"YulIdentifier","src":"36083:2:21"}],"functionName":{"name":"writeString","nativeSrc":"36065:11:21","nodeType":"YulIdentifier","src":"36065:11:21"},"nativeSrc":"36065:21:21","nodeType":"YulFunctionCall","src":"36065:21:21"},"nativeSrc":"36065:21:21","nodeType":"YulExpressionStatement","src":"36065:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36111:4:21","nodeType":"YulLiteral","src":"36111:4:21","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"36117:2:21","nodeType":"YulIdentifier","src":"36117:2:21"}],"functionName":{"name":"writeString","nativeSrc":"36099:11:21","nodeType":"YulIdentifier","src":"36099:11:21"},"nativeSrc":"36099:21:21","nodeType":"YulFunctionCall","src":"36099:21:21"},"nativeSrc":"36099:21:21","nodeType":"YulExpressionStatement","src":"36099:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28133,"isOffset":false,"isSlot":false,"src":"35640:2:21","valueSize":1},{"declaration":28136,"isOffset":false,"isSlot":false,"src":"35670:2:21","valueSize":1},{"declaration":28139,"isOffset":false,"isSlot":false,"src":"35700:2:21","valueSize":1},{"declaration":28142,"isOffset":false,"isSlot":false,"src":"35730:2:21","valueSize":1},{"declaration":28145,"isOffset":false,"isSlot":false,"src":"35760:2:21","valueSize":1},{"declaration":28148,"isOffset":false,"isSlot":false,"src":"35790:2:21","valueSize":1},{"declaration":28151,"isOffset":false,"isSlot":false,"src":"35820:2:21","valueSize":1},{"declaration":28154,"isOffset":false,"isSlot":false,"src":"35850:2:21","valueSize":1},{"declaration":28125,"isOffset":false,"isSlot":false,"src":"35987:2:21","valueSize":1},{"declaration":28127,"isOffset":false,"isSlot":false,"src":"36083:2:21","valueSize":1},{"declaration":28129,"isOffset":false,"isSlot":false,"src":"36117:2:21","valueSize":1}],"id":28156,"nodeType":"InlineAssembly","src":"35262:868:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36155:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":28159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36161:4:21","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":28157,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"36139:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36139:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28161,"nodeType":"ExpressionStatement","src":"36139:27:21"},{"AST":{"nativeSrc":"36228:243:21","nodeType":"YulBlock","src":"36228:243:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"36249:4:21","nodeType":"YulLiteral","src":"36249:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"36255:2:21","nodeType":"YulIdentifier","src":"36255:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36242:6:21","nodeType":"YulIdentifier","src":"36242:6:21"},"nativeSrc":"36242:16:21","nodeType":"YulFunctionCall","src":"36242:16:21"},"nativeSrc":"36242:16:21","nodeType":"YulExpressionStatement","src":"36242:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36278:4:21","nodeType":"YulLiteral","src":"36278:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"36284:2:21","nodeType":"YulIdentifier","src":"36284:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36271:6:21","nodeType":"YulIdentifier","src":"36271:6:21"},"nativeSrc":"36271:16:21","nodeType":"YulFunctionCall","src":"36271:16:21"},"nativeSrc":"36271:16:21","nodeType":"YulExpressionStatement","src":"36271:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36307:4:21","nodeType":"YulLiteral","src":"36307:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"36313:2:21","nodeType":"YulIdentifier","src":"36313:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36300:6:21","nodeType":"YulIdentifier","src":"36300:6:21"},"nativeSrc":"36300:16:21","nodeType":"YulFunctionCall","src":"36300:16:21"},"nativeSrc":"36300:16:21","nodeType":"YulExpressionStatement","src":"36300:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36336:4:21","nodeType":"YulLiteral","src":"36336:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"36342:2:21","nodeType":"YulIdentifier","src":"36342:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36329:6:21","nodeType":"YulIdentifier","src":"36329:6:21"},"nativeSrc":"36329:16:21","nodeType":"YulFunctionCall","src":"36329:16:21"},"nativeSrc":"36329:16:21","nodeType":"YulExpressionStatement","src":"36329:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36365:4:21","nodeType":"YulLiteral","src":"36365:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"36371:2:21","nodeType":"YulIdentifier","src":"36371:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36358:6:21","nodeType":"YulIdentifier","src":"36358:6:21"},"nativeSrc":"36358:16:21","nodeType":"YulFunctionCall","src":"36358:16:21"},"nativeSrc":"36358:16:21","nodeType":"YulExpressionStatement","src":"36358:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36394:4:21","nodeType":"YulLiteral","src":"36394:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"36400:2:21","nodeType":"YulIdentifier","src":"36400:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36387:6:21","nodeType":"YulIdentifier","src":"36387:6:21"},"nativeSrc":"36387:16:21","nodeType":"YulFunctionCall","src":"36387:16:21"},"nativeSrc":"36387:16:21","nodeType":"YulExpressionStatement","src":"36387:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36423:4:21","nodeType":"YulLiteral","src":"36423:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"36429:2:21","nodeType":"YulIdentifier","src":"36429:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36416:6:21","nodeType":"YulIdentifier","src":"36416:6:21"},"nativeSrc":"36416:16:21","nodeType":"YulFunctionCall","src":"36416:16:21"},"nativeSrc":"36416:16:21","nodeType":"YulExpressionStatement","src":"36416:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36452:4:21","nodeType":"YulLiteral","src":"36452:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"36458:2:21","nodeType":"YulIdentifier","src":"36458:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36445:6:21","nodeType":"YulIdentifier","src":"36445:6:21"},"nativeSrc":"36445:16:21","nodeType":"YulFunctionCall","src":"36445:16:21"},"nativeSrc":"36445:16:21","nodeType":"YulExpressionStatement","src":"36445:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28133,"isOffset":false,"isSlot":false,"src":"36255:2:21","valueSize":1},{"declaration":28136,"isOffset":false,"isSlot":false,"src":"36284:2:21","valueSize":1},{"declaration":28139,"isOffset":false,"isSlot":false,"src":"36313:2:21","valueSize":1},{"declaration":28142,"isOffset":false,"isSlot":false,"src":"36342:2:21","valueSize":1},{"declaration":28145,"isOffset":false,"isSlot":false,"src":"36371:2:21","valueSize":1},{"declaration":28148,"isOffset":false,"isSlot":false,"src":"36400:2:21","valueSize":1},{"declaration":28151,"isOffset":false,"isSlot":false,"src":"36429:2:21","valueSize":1},{"declaration":28154,"isOffset":false,"isSlot":false,"src":"36458:2:21","valueSize":1}],"id":28162,"nodeType":"InlineAssembly","src":"36219:252:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34995:3:21","parameters":{"id":28130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28125,"mutability":"mutable","name":"p0","nameLocation":"35007:2:21","nodeType":"VariableDeclaration","scope":28164,"src":"34999:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28124,"name":"address","nodeType":"ElementaryTypeName","src":"34999:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28127,"mutability":"mutable","name":"p1","nameLocation":"35019:2:21","nodeType":"VariableDeclaration","scope":28164,"src":"35011:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35011:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28129,"mutability":"mutable","name":"p2","nameLocation":"35031:2:21","nodeType":"VariableDeclaration","scope":28164,"src":"35023:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28128,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35023:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34998:36:21"},"returnParameters":{"id":28131,"nodeType":"ParameterList","parameters":[],"src":"35049:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28193,"nodeType":"FunctionDefinition","src":"36483:744:21","nodes":[],"body":{"id":28192,"nodeType":"Block","src":"36543:684:21","nodes":[],"statements":[{"assignments":[28174],"declarations":[{"constant":false,"id":28174,"mutability":"mutable","name":"m0","nameLocation":"36561:2:21","nodeType":"VariableDeclaration","scope":28192,"src":"36553:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36553:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28175,"nodeType":"VariableDeclarationStatement","src":"36553:10:21"},{"assignments":[28177],"declarations":[{"constant":false,"id":28177,"mutability":"mutable","name":"m1","nameLocation":"36581:2:21","nodeType":"VariableDeclaration","scope":28192,"src":"36573:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36573:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28178,"nodeType":"VariableDeclarationStatement","src":"36573:10:21"},{"assignments":[28180],"declarations":[{"constant":false,"id":28180,"mutability":"mutable","name":"m2","nameLocation":"36601:2:21","nodeType":"VariableDeclaration","scope":28192,"src":"36593:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36593:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28181,"nodeType":"VariableDeclarationStatement","src":"36593:10:21"},{"assignments":[28183],"declarations":[{"constant":false,"id":28183,"mutability":"mutable","name":"m3","nameLocation":"36621:2:21","nodeType":"VariableDeclaration","scope":28192,"src":"36613:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36613:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28184,"nodeType":"VariableDeclarationStatement","src":"36613:10:21"},{"AST":{"nativeSrc":"36685:311:21","nodeType":"YulBlock","src":"36685:311:21","statements":[{"nativeSrc":"36699:17:21","nodeType":"YulAssignment","src":"36699:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"36711:4:21","nodeType":"YulLiteral","src":"36711:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"36705:5:21","nodeType":"YulIdentifier","src":"36705:5:21"},"nativeSrc":"36705:11:21","nodeType":"YulFunctionCall","src":"36705:11:21"},"variableNames":[{"name":"m0","nativeSrc":"36699:2:21","nodeType":"YulIdentifier","src":"36699:2:21"}]},{"nativeSrc":"36729:17:21","nodeType":"YulAssignment","src":"36729:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"36741:4:21","nodeType":"YulLiteral","src":"36741:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"36735:5:21","nodeType":"YulIdentifier","src":"36735:5:21"},"nativeSrc":"36735:11:21","nodeType":"YulFunctionCall","src":"36735:11:21"},"variableNames":[{"name":"m1","nativeSrc":"36729:2:21","nodeType":"YulIdentifier","src":"36729:2:21"}]},{"nativeSrc":"36759:17:21","nodeType":"YulAssignment","src":"36759:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"36771:4:21","nodeType":"YulLiteral","src":"36771:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"36765:5:21","nodeType":"YulIdentifier","src":"36765:5:21"},"nativeSrc":"36765:11:21","nodeType":"YulFunctionCall","src":"36765:11:21"},"variableNames":[{"name":"m2","nativeSrc":"36759:2:21","nodeType":"YulIdentifier","src":"36759:2:21"}]},{"nativeSrc":"36789:17:21","nodeType":"YulAssignment","src":"36789:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"36801:4:21","nodeType":"YulLiteral","src":"36801:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"36795:5:21","nodeType":"YulIdentifier","src":"36795:5:21"},"nativeSrc":"36795:11:21","nodeType":"YulFunctionCall","src":"36795:11:21"},"variableNames":[{"name":"m3","nativeSrc":"36789:2:21","nodeType":"YulIdentifier","src":"36789:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36882:4:21","nodeType":"YulLiteral","src":"36882:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"36888:10:21","nodeType":"YulLiteral","src":"36888:10:21","type":"","value":"0xd2763667"}],"functionName":{"name":"mstore","nativeSrc":"36875:6:21","nodeType":"YulIdentifier","src":"36875:6:21"},"nativeSrc":"36875:24:21","nodeType":"YulFunctionCall","src":"36875:24:21"},"nativeSrc":"36875:24:21","nodeType":"YulExpressionStatement","src":"36875:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36919:4:21","nodeType":"YulLiteral","src":"36919:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"36925:2:21","nodeType":"YulIdentifier","src":"36925:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36912:6:21","nodeType":"YulIdentifier","src":"36912:6:21"},"nativeSrc":"36912:16:21","nodeType":"YulFunctionCall","src":"36912:16:21"},"nativeSrc":"36912:16:21","nodeType":"YulExpressionStatement","src":"36912:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36948:4:21","nodeType":"YulLiteral","src":"36948:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"36954:2:21","nodeType":"YulIdentifier","src":"36954:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36941:6:21","nodeType":"YulIdentifier","src":"36941:6:21"},"nativeSrc":"36941:16:21","nodeType":"YulFunctionCall","src":"36941:16:21"},"nativeSrc":"36941:16:21","nodeType":"YulExpressionStatement","src":"36941:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36977:4:21","nodeType":"YulLiteral","src":"36977:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"36983:2:21","nodeType":"YulIdentifier","src":"36983:2:21"}],"functionName":{"name":"mstore","nativeSrc":"36970:6:21","nodeType":"YulIdentifier","src":"36970:6:21"},"nativeSrc":"36970:16:21","nodeType":"YulFunctionCall","src":"36970:16:21"},"nativeSrc":"36970:16:21","nodeType":"YulExpressionStatement","src":"36970:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28174,"isOffset":false,"isSlot":false,"src":"36699:2:21","valueSize":1},{"declaration":28177,"isOffset":false,"isSlot":false,"src":"36729:2:21","valueSize":1},{"declaration":28180,"isOffset":false,"isSlot":false,"src":"36759:2:21","valueSize":1},{"declaration":28183,"isOffset":false,"isSlot":false,"src":"36789:2:21","valueSize":1},{"declaration":28166,"isOffset":false,"isSlot":false,"src":"36925:2:21","valueSize":1},{"declaration":28168,"isOffset":false,"isSlot":false,"src":"36954:2:21","valueSize":1},{"declaration":28170,"isOffset":false,"isSlot":false,"src":"36983:2:21","valueSize":1}],"id":28185,"nodeType":"InlineAssembly","src":"36676:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37021:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37027:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28186,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"37005:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37005:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28190,"nodeType":"ExpressionStatement","src":"37005:27:21"},{"AST":{"nativeSrc":"37094:127:21","nodeType":"YulBlock","src":"37094:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"37115:4:21","nodeType":"YulLiteral","src":"37115:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"37121:2:21","nodeType":"YulIdentifier","src":"37121:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37108:6:21","nodeType":"YulIdentifier","src":"37108:6:21"},"nativeSrc":"37108:16:21","nodeType":"YulFunctionCall","src":"37108:16:21"},"nativeSrc":"37108:16:21","nodeType":"YulExpressionStatement","src":"37108:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37144:4:21","nodeType":"YulLiteral","src":"37144:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"37150:2:21","nodeType":"YulIdentifier","src":"37150:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37137:6:21","nodeType":"YulIdentifier","src":"37137:6:21"},"nativeSrc":"37137:16:21","nodeType":"YulFunctionCall","src":"37137:16:21"},"nativeSrc":"37137:16:21","nodeType":"YulExpressionStatement","src":"37137:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37173:4:21","nodeType":"YulLiteral","src":"37173:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"37179:2:21","nodeType":"YulIdentifier","src":"37179:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37166:6:21","nodeType":"YulIdentifier","src":"37166:6:21"},"nativeSrc":"37166:16:21","nodeType":"YulFunctionCall","src":"37166:16:21"},"nativeSrc":"37166:16:21","nodeType":"YulExpressionStatement","src":"37166:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37202:4:21","nodeType":"YulLiteral","src":"37202:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"37208:2:21","nodeType":"YulIdentifier","src":"37208:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37195:6:21","nodeType":"YulIdentifier","src":"37195:6:21"},"nativeSrc":"37195:16:21","nodeType":"YulFunctionCall","src":"37195:16:21"},"nativeSrc":"37195:16:21","nodeType":"YulExpressionStatement","src":"37195:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28174,"isOffset":false,"isSlot":false,"src":"37121:2:21","valueSize":1},{"declaration":28177,"isOffset":false,"isSlot":false,"src":"37150:2:21","valueSize":1},{"declaration":28180,"isOffset":false,"isSlot":false,"src":"37179:2:21","valueSize":1},{"declaration":28183,"isOffset":false,"isSlot":false,"src":"37208:2:21","valueSize":1}],"id":28191,"nodeType":"InlineAssembly","src":"37085:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36492:3:21","parameters":{"id":28171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28166,"mutability":"mutable","name":"p0","nameLocation":"36501:2:21","nodeType":"VariableDeclaration","scope":28193,"src":"36496:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28165,"name":"bool","nodeType":"ElementaryTypeName","src":"36496:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28168,"mutability":"mutable","name":"p1","nameLocation":"36513:2:21","nodeType":"VariableDeclaration","scope":28193,"src":"36505:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28167,"name":"address","nodeType":"ElementaryTypeName","src":"36505:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28170,"mutability":"mutable","name":"p2","nameLocation":"36525:2:21","nodeType":"VariableDeclaration","scope":28193,"src":"36517:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28169,"name":"address","nodeType":"ElementaryTypeName","src":"36517:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36495:33:21"},"returnParameters":{"id":28172,"nodeType":"ParameterList","parameters":[],"src":"36543:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28222,"nodeType":"FunctionDefinition","src":"37233:738:21","nodes":[],"body":{"id":28221,"nodeType":"Block","src":"37290:681:21","nodes":[],"statements":[{"assignments":[28203],"declarations":[{"constant":false,"id":28203,"mutability":"mutable","name":"m0","nameLocation":"37308:2:21","nodeType":"VariableDeclaration","scope":28221,"src":"37300:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37300:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28204,"nodeType":"VariableDeclarationStatement","src":"37300:10:21"},{"assignments":[28206],"declarations":[{"constant":false,"id":28206,"mutability":"mutable","name":"m1","nameLocation":"37328:2:21","nodeType":"VariableDeclaration","scope":28221,"src":"37320:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37320:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28207,"nodeType":"VariableDeclarationStatement","src":"37320:10:21"},{"assignments":[28209],"declarations":[{"constant":false,"id":28209,"mutability":"mutable","name":"m2","nameLocation":"37348:2:21","nodeType":"VariableDeclaration","scope":28221,"src":"37340:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37340:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28210,"nodeType":"VariableDeclarationStatement","src":"37340:10:21"},{"assignments":[28212],"declarations":[{"constant":false,"id":28212,"mutability":"mutable","name":"m3","nameLocation":"37368:2:21","nodeType":"VariableDeclaration","scope":28221,"src":"37360:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37360:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28213,"nodeType":"VariableDeclarationStatement","src":"37360:10:21"},{"AST":{"nativeSrc":"37432:308:21","nodeType":"YulBlock","src":"37432:308:21","statements":[{"nativeSrc":"37446:17:21","nodeType":"YulAssignment","src":"37446:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"37458:4:21","nodeType":"YulLiteral","src":"37458:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"37452:5:21","nodeType":"YulIdentifier","src":"37452:5:21"},"nativeSrc":"37452:11:21","nodeType":"YulFunctionCall","src":"37452:11:21"},"variableNames":[{"name":"m0","nativeSrc":"37446:2:21","nodeType":"YulIdentifier","src":"37446:2:21"}]},{"nativeSrc":"37476:17:21","nodeType":"YulAssignment","src":"37476:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"37488:4:21","nodeType":"YulLiteral","src":"37488:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"37482:5:21","nodeType":"YulIdentifier","src":"37482:5:21"},"nativeSrc":"37482:11:21","nodeType":"YulFunctionCall","src":"37482:11:21"},"variableNames":[{"name":"m1","nativeSrc":"37476:2:21","nodeType":"YulIdentifier","src":"37476:2:21"}]},{"nativeSrc":"37506:17:21","nodeType":"YulAssignment","src":"37506:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"37518:4:21","nodeType":"YulLiteral","src":"37518:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"37512:5:21","nodeType":"YulIdentifier","src":"37512:5:21"},"nativeSrc":"37512:11:21","nodeType":"YulFunctionCall","src":"37512:11:21"},"variableNames":[{"name":"m2","nativeSrc":"37506:2:21","nodeType":"YulIdentifier","src":"37506:2:21"}]},{"nativeSrc":"37536:17:21","nodeType":"YulAssignment","src":"37536:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"37548:4:21","nodeType":"YulLiteral","src":"37548:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"37542:5:21","nodeType":"YulIdentifier","src":"37542:5:21"},"nativeSrc":"37542:11:21","nodeType":"YulFunctionCall","src":"37542:11:21"},"variableNames":[{"name":"m3","nativeSrc":"37536:2:21","nodeType":"YulIdentifier","src":"37536:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37626:4:21","nodeType":"YulLiteral","src":"37626:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"37632:10:21","nodeType":"YulLiteral","src":"37632:10:21","type":"","value":"0x18c9c746"}],"functionName":{"name":"mstore","nativeSrc":"37619:6:21","nodeType":"YulIdentifier","src":"37619:6:21"},"nativeSrc":"37619:24:21","nodeType":"YulFunctionCall","src":"37619:24:21"},"nativeSrc":"37619:24:21","nodeType":"YulExpressionStatement","src":"37619:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37663:4:21","nodeType":"YulLiteral","src":"37663:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"37669:2:21","nodeType":"YulIdentifier","src":"37669:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37656:6:21","nodeType":"YulIdentifier","src":"37656:6:21"},"nativeSrc":"37656:16:21","nodeType":"YulFunctionCall","src":"37656:16:21"},"nativeSrc":"37656:16:21","nodeType":"YulExpressionStatement","src":"37656:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37692:4:21","nodeType":"YulLiteral","src":"37692:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"37698:2:21","nodeType":"YulIdentifier","src":"37698:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37685:6:21","nodeType":"YulIdentifier","src":"37685:6:21"},"nativeSrc":"37685:16:21","nodeType":"YulFunctionCall","src":"37685:16:21"},"nativeSrc":"37685:16:21","nodeType":"YulExpressionStatement","src":"37685:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37721:4:21","nodeType":"YulLiteral","src":"37721:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"37727:2:21","nodeType":"YulIdentifier","src":"37727:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37714:6:21","nodeType":"YulIdentifier","src":"37714:6:21"},"nativeSrc":"37714:16:21","nodeType":"YulFunctionCall","src":"37714:16:21"},"nativeSrc":"37714:16:21","nodeType":"YulExpressionStatement","src":"37714:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28203,"isOffset":false,"isSlot":false,"src":"37446:2:21","valueSize":1},{"declaration":28206,"isOffset":false,"isSlot":false,"src":"37476:2:21","valueSize":1},{"declaration":28209,"isOffset":false,"isSlot":false,"src":"37506:2:21","valueSize":1},{"declaration":28212,"isOffset":false,"isSlot":false,"src":"37536:2:21","valueSize":1},{"declaration":28195,"isOffset":false,"isSlot":false,"src":"37669:2:21","valueSize":1},{"declaration":28197,"isOffset":false,"isSlot":false,"src":"37698:2:21","valueSize":1},{"declaration":28199,"isOffset":false,"isSlot":false,"src":"37727:2:21","valueSize":1}],"id":28214,"nodeType":"InlineAssembly","src":"37423:317:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37765:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37771:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28215,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"37749:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37749:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28219,"nodeType":"ExpressionStatement","src":"37749:27:21"},{"AST":{"nativeSrc":"37838:127:21","nodeType":"YulBlock","src":"37838:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"37859:4:21","nodeType":"YulLiteral","src":"37859:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"37865:2:21","nodeType":"YulIdentifier","src":"37865:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37852:6:21","nodeType":"YulIdentifier","src":"37852:6:21"},"nativeSrc":"37852:16:21","nodeType":"YulFunctionCall","src":"37852:16:21"},"nativeSrc":"37852:16:21","nodeType":"YulExpressionStatement","src":"37852:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37888:4:21","nodeType":"YulLiteral","src":"37888:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"37894:2:21","nodeType":"YulIdentifier","src":"37894:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37881:6:21","nodeType":"YulIdentifier","src":"37881:6:21"},"nativeSrc":"37881:16:21","nodeType":"YulFunctionCall","src":"37881:16:21"},"nativeSrc":"37881:16:21","nodeType":"YulExpressionStatement","src":"37881:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37917:4:21","nodeType":"YulLiteral","src":"37917:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"37923:2:21","nodeType":"YulIdentifier","src":"37923:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37910:6:21","nodeType":"YulIdentifier","src":"37910:6:21"},"nativeSrc":"37910:16:21","nodeType":"YulFunctionCall","src":"37910:16:21"},"nativeSrc":"37910:16:21","nodeType":"YulExpressionStatement","src":"37910:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37946:4:21","nodeType":"YulLiteral","src":"37946:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"37952:2:21","nodeType":"YulIdentifier","src":"37952:2:21"}],"functionName":{"name":"mstore","nativeSrc":"37939:6:21","nodeType":"YulIdentifier","src":"37939:6:21"},"nativeSrc":"37939:16:21","nodeType":"YulFunctionCall","src":"37939:16:21"},"nativeSrc":"37939:16:21","nodeType":"YulExpressionStatement","src":"37939:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28203,"isOffset":false,"isSlot":false,"src":"37865:2:21","valueSize":1},{"declaration":28206,"isOffset":false,"isSlot":false,"src":"37894:2:21","valueSize":1},{"declaration":28209,"isOffset":false,"isSlot":false,"src":"37923:2:21","valueSize":1},{"declaration":28212,"isOffset":false,"isSlot":false,"src":"37952:2:21","valueSize":1}],"id":28220,"nodeType":"InlineAssembly","src":"37829:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37242:3:21","parameters":{"id":28200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28195,"mutability":"mutable","name":"p0","nameLocation":"37251:2:21","nodeType":"VariableDeclaration","scope":28222,"src":"37246:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28194,"name":"bool","nodeType":"ElementaryTypeName","src":"37246:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28197,"mutability":"mutable","name":"p1","nameLocation":"37263:2:21","nodeType":"VariableDeclaration","scope":28222,"src":"37255:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28196,"name":"address","nodeType":"ElementaryTypeName","src":"37255:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28199,"mutability":"mutable","name":"p2","nameLocation":"37272:2:21","nodeType":"VariableDeclaration","scope":28222,"src":"37267:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28198,"name":"bool","nodeType":"ElementaryTypeName","src":"37267:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37245:30:21"},"returnParameters":{"id":28201,"nodeType":"ParameterList","parameters":[],"src":"37290:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28251,"nodeType":"FunctionDefinition","src":"37977:744:21","nodes":[],"body":{"id":28250,"nodeType":"Block","src":"38037:684:21","nodes":[],"statements":[{"assignments":[28232],"declarations":[{"constant":false,"id":28232,"mutability":"mutable","name":"m0","nameLocation":"38055:2:21","nodeType":"VariableDeclaration","scope":28250,"src":"38047:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38047:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28233,"nodeType":"VariableDeclarationStatement","src":"38047:10:21"},{"assignments":[28235],"declarations":[{"constant":false,"id":28235,"mutability":"mutable","name":"m1","nameLocation":"38075:2:21","nodeType":"VariableDeclaration","scope":28250,"src":"38067:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38067:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28236,"nodeType":"VariableDeclarationStatement","src":"38067:10:21"},{"assignments":[28238],"declarations":[{"constant":false,"id":28238,"mutability":"mutable","name":"m2","nameLocation":"38095:2:21","nodeType":"VariableDeclaration","scope":28250,"src":"38087:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38087:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28239,"nodeType":"VariableDeclarationStatement","src":"38087:10:21"},{"assignments":[28241],"declarations":[{"constant":false,"id":28241,"mutability":"mutable","name":"m3","nameLocation":"38115:2:21","nodeType":"VariableDeclaration","scope":28250,"src":"38107:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38107:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28242,"nodeType":"VariableDeclarationStatement","src":"38107:10:21"},{"AST":{"nativeSrc":"38179:311:21","nodeType":"YulBlock","src":"38179:311:21","statements":[{"nativeSrc":"38193:17:21","nodeType":"YulAssignment","src":"38193:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"38205:4:21","nodeType":"YulLiteral","src":"38205:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"38199:5:21","nodeType":"YulIdentifier","src":"38199:5:21"},"nativeSrc":"38199:11:21","nodeType":"YulFunctionCall","src":"38199:11:21"},"variableNames":[{"name":"m0","nativeSrc":"38193:2:21","nodeType":"YulIdentifier","src":"38193:2:21"}]},{"nativeSrc":"38223:17:21","nodeType":"YulAssignment","src":"38223:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"38235:4:21","nodeType":"YulLiteral","src":"38235:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"38229:5:21","nodeType":"YulIdentifier","src":"38229:5:21"},"nativeSrc":"38229:11:21","nodeType":"YulFunctionCall","src":"38229:11:21"},"variableNames":[{"name":"m1","nativeSrc":"38223:2:21","nodeType":"YulIdentifier","src":"38223:2:21"}]},{"nativeSrc":"38253:17:21","nodeType":"YulAssignment","src":"38253:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"38265:4:21","nodeType":"YulLiteral","src":"38265:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"38259:5:21","nodeType":"YulIdentifier","src":"38259:5:21"},"nativeSrc":"38259:11:21","nodeType":"YulFunctionCall","src":"38259:11:21"},"variableNames":[{"name":"m2","nativeSrc":"38253:2:21","nodeType":"YulIdentifier","src":"38253:2:21"}]},{"nativeSrc":"38283:17:21","nodeType":"YulAssignment","src":"38283:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"38295:4:21","nodeType":"YulLiteral","src":"38295:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"38289:5:21","nodeType":"YulIdentifier","src":"38289:5:21"},"nativeSrc":"38289:11:21","nodeType":"YulFunctionCall","src":"38289:11:21"},"variableNames":[{"name":"m3","nativeSrc":"38283:2:21","nodeType":"YulIdentifier","src":"38283:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38376:4:21","nodeType":"YulLiteral","src":"38376:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"38382:10:21","nodeType":"YulLiteral","src":"38382:10:21","type":"","value":"0x5f7b9afb"}],"functionName":{"name":"mstore","nativeSrc":"38369:6:21","nodeType":"YulIdentifier","src":"38369:6:21"},"nativeSrc":"38369:24:21","nodeType":"YulFunctionCall","src":"38369:24:21"},"nativeSrc":"38369:24:21","nodeType":"YulExpressionStatement","src":"38369:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38413:4:21","nodeType":"YulLiteral","src":"38413:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"38419:2:21","nodeType":"YulIdentifier","src":"38419:2:21"}],"functionName":{"name":"mstore","nativeSrc":"38406:6:21","nodeType":"YulIdentifier","src":"38406:6:21"},"nativeSrc":"38406:16:21","nodeType":"YulFunctionCall","src":"38406:16:21"},"nativeSrc":"38406:16:21","nodeType":"YulExpressionStatement","src":"38406:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38442:4:21","nodeType":"YulLiteral","src":"38442:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"38448:2:21","nodeType":"YulIdentifier","src":"38448:2:21"}],"functionName":{"name":"mstore","nativeSrc":"38435:6:21","nodeType":"YulIdentifier","src":"38435:6:21"},"nativeSrc":"38435:16:21","nodeType":"YulFunctionCall","src":"38435:16:21"},"nativeSrc":"38435:16:21","nodeType":"YulExpressionStatement","src":"38435:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38471:4:21","nodeType":"YulLiteral","src":"38471:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"38477:2:21","nodeType":"YulIdentifier","src":"38477:2:21"}],"functionName":{"name":"mstore","nativeSrc":"38464:6:21","nodeType":"YulIdentifier","src":"38464:6:21"},"nativeSrc":"38464:16:21","nodeType":"YulFunctionCall","src":"38464:16:21"},"nativeSrc":"38464:16:21","nodeType":"YulExpressionStatement","src":"38464:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28232,"isOffset":false,"isSlot":false,"src":"38193:2:21","valueSize":1},{"declaration":28235,"isOffset":false,"isSlot":false,"src":"38223:2:21","valueSize":1},{"declaration":28238,"isOffset":false,"isSlot":false,"src":"38253:2:21","valueSize":1},{"declaration":28241,"isOffset":false,"isSlot":false,"src":"38283:2:21","valueSize":1},{"declaration":28224,"isOffset":false,"isSlot":false,"src":"38419:2:21","valueSize":1},{"declaration":28226,"isOffset":false,"isSlot":false,"src":"38448:2:21","valueSize":1},{"declaration":28228,"isOffset":false,"isSlot":false,"src":"38477:2:21","valueSize":1}],"id":28243,"nodeType":"InlineAssembly","src":"38170:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38515:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38521:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28244,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"38499:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38499:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28248,"nodeType":"ExpressionStatement","src":"38499:27:21"},{"AST":{"nativeSrc":"38588:127:21","nodeType":"YulBlock","src":"38588:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"38609:4:21","nodeType":"YulLiteral","src":"38609:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"38615:2:21","nodeType":"YulIdentifier","src":"38615:2:21"}],"functionName":{"name":"mstore","nativeSrc":"38602:6:21","nodeType":"YulIdentifier","src":"38602:6:21"},"nativeSrc":"38602:16:21","nodeType":"YulFunctionCall","src":"38602:16:21"},"nativeSrc":"38602:16:21","nodeType":"YulExpressionStatement","src":"38602:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38638:4:21","nodeType":"YulLiteral","src":"38638:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"38644:2:21","nodeType":"YulIdentifier","src":"38644:2:21"}],"functionName":{"name":"mstore","nativeSrc":"38631:6:21","nodeType":"YulIdentifier","src":"38631:6:21"},"nativeSrc":"38631:16:21","nodeType":"YulFunctionCall","src":"38631:16:21"},"nativeSrc":"38631:16:21","nodeType":"YulExpressionStatement","src":"38631:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38667:4:21","nodeType":"YulLiteral","src":"38667:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"38673:2:21","nodeType":"YulIdentifier","src":"38673:2:21"}],"functionName":{"name":"mstore","nativeSrc":"38660:6:21","nodeType":"YulIdentifier","src":"38660:6:21"},"nativeSrc":"38660:16:21","nodeType":"YulFunctionCall","src":"38660:16:21"},"nativeSrc":"38660:16:21","nodeType":"YulExpressionStatement","src":"38660:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38696:4:21","nodeType":"YulLiteral","src":"38696:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"38702:2:21","nodeType":"YulIdentifier","src":"38702:2:21"}],"functionName":{"name":"mstore","nativeSrc":"38689:6:21","nodeType":"YulIdentifier","src":"38689:6:21"},"nativeSrc":"38689:16:21","nodeType":"YulFunctionCall","src":"38689:16:21"},"nativeSrc":"38689:16:21","nodeType":"YulExpressionStatement","src":"38689:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28232,"isOffset":false,"isSlot":false,"src":"38615:2:21","valueSize":1},{"declaration":28235,"isOffset":false,"isSlot":false,"src":"38644:2:21","valueSize":1},{"declaration":28238,"isOffset":false,"isSlot":false,"src":"38673:2:21","valueSize":1},{"declaration":28241,"isOffset":false,"isSlot":false,"src":"38702:2:21","valueSize":1}],"id":28249,"nodeType":"InlineAssembly","src":"38579:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37986:3:21","parameters":{"id":28229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28224,"mutability":"mutable","name":"p0","nameLocation":"37995:2:21","nodeType":"VariableDeclaration","scope":28251,"src":"37990:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28223,"name":"bool","nodeType":"ElementaryTypeName","src":"37990:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28226,"mutability":"mutable","name":"p1","nameLocation":"38007:2:21","nodeType":"VariableDeclaration","scope":28251,"src":"37999:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28225,"name":"address","nodeType":"ElementaryTypeName","src":"37999:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28228,"mutability":"mutable","name":"p2","nameLocation":"38019:2:21","nodeType":"VariableDeclaration","scope":28251,"src":"38011:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28227,"name":"uint256","nodeType":"ElementaryTypeName","src":"38011:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37989:33:21"},"returnParameters":{"id":28230,"nodeType":"ParameterList","parameters":[],"src":"38037:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28286,"nodeType":"FunctionDefinition","src":"38727:1292:21","nodes":[],"body":{"id":28285,"nodeType":"Block","src":"38787:1232:21","nodes":[],"statements":[{"assignments":[28261],"declarations":[{"constant":false,"id":28261,"mutability":"mutable","name":"m0","nameLocation":"38805:2:21","nodeType":"VariableDeclaration","scope":28285,"src":"38797:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38797:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28262,"nodeType":"VariableDeclarationStatement","src":"38797:10:21"},{"assignments":[28264],"declarations":[{"constant":false,"id":28264,"mutability":"mutable","name":"m1","nameLocation":"38825:2:21","nodeType":"VariableDeclaration","scope":28285,"src":"38817:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38817:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28265,"nodeType":"VariableDeclarationStatement","src":"38817:10:21"},{"assignments":[28267],"declarations":[{"constant":false,"id":28267,"mutability":"mutable","name":"m2","nameLocation":"38845:2:21","nodeType":"VariableDeclaration","scope":28285,"src":"38837:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38837:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28268,"nodeType":"VariableDeclarationStatement","src":"38837:10:21"},{"assignments":[28270],"declarations":[{"constant":false,"id":28270,"mutability":"mutable","name":"m3","nameLocation":"38865:2:21","nodeType":"VariableDeclaration","scope":28285,"src":"38857:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38857:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28271,"nodeType":"VariableDeclarationStatement","src":"38857:10:21"},{"assignments":[28273],"declarations":[{"constant":false,"id":28273,"mutability":"mutable","name":"m4","nameLocation":"38885:2:21","nodeType":"VariableDeclaration","scope":28285,"src":"38877:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38877:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28274,"nodeType":"VariableDeclarationStatement","src":"38877:10:21"},{"assignments":[28276],"declarations":[{"constant":false,"id":28276,"mutability":"mutable","name":"m5","nameLocation":"38905:2:21","nodeType":"VariableDeclaration","scope":28285,"src":"38897:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38897:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28277,"nodeType":"VariableDeclarationStatement","src":"38897:10:21"},{"AST":{"nativeSrc":"38969:761:21","nodeType":"YulBlock","src":"38969:761:21","statements":[{"body":{"nativeSrc":"39012:313:21","nodeType":"YulBlock","src":"39012:313:21","statements":[{"nativeSrc":"39030:15:21","nodeType":"YulVariableDeclaration","src":"39030:15:21","value":{"kind":"number","nativeSrc":"39044:1:21","nodeType":"YulLiteral","src":"39044:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"39034:6:21","nodeType":"YulTypedName","src":"39034:6:21","type":""}]},{"body":{"nativeSrc":"39115:40:21","nodeType":"YulBlock","src":"39115:40:21","statements":[{"body":{"nativeSrc":"39144:9:21","nodeType":"YulBlock","src":"39144:9:21","statements":[{"nativeSrc":"39146:5:21","nodeType":"YulBreak","src":"39146:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"39132:6:21","nodeType":"YulIdentifier","src":"39132:6:21"},{"name":"w","nativeSrc":"39140:1:21","nodeType":"YulIdentifier","src":"39140:1:21"}],"functionName":{"name":"byte","nativeSrc":"39127:4:21","nodeType":"YulIdentifier","src":"39127:4:21"},"nativeSrc":"39127:15:21","nodeType":"YulFunctionCall","src":"39127:15:21"}],"functionName":{"name":"iszero","nativeSrc":"39120:6:21","nodeType":"YulIdentifier","src":"39120:6:21"},"nativeSrc":"39120:23:21","nodeType":"YulFunctionCall","src":"39120:23:21"},"nativeSrc":"39117:36:21","nodeType":"YulIf","src":"39117:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"39072:6:21","nodeType":"YulIdentifier","src":"39072:6:21"},{"kind":"number","nativeSrc":"39080:4:21","nodeType":"YulLiteral","src":"39080:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"39069:2:21","nodeType":"YulIdentifier","src":"39069:2:21"},"nativeSrc":"39069:16:21","nodeType":"YulFunctionCall","src":"39069:16:21"},"nativeSrc":"39062:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"39086:28:21","nodeType":"YulBlock","src":"39086:28:21","statements":[{"nativeSrc":"39088:24:21","nodeType":"YulAssignment","src":"39088:24:21","value":{"arguments":[{"name":"length","nativeSrc":"39102:6:21","nodeType":"YulIdentifier","src":"39102:6:21"},{"kind":"number","nativeSrc":"39110:1:21","nodeType":"YulLiteral","src":"39110:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"39098:3:21","nodeType":"YulIdentifier","src":"39098:3:21"},"nativeSrc":"39098:14:21","nodeType":"YulFunctionCall","src":"39098:14:21"},"variableNames":[{"name":"length","nativeSrc":"39088:6:21","nodeType":"YulIdentifier","src":"39088:6:21"}]}]},"pre":{"nativeSrc":"39066:2:21","nodeType":"YulBlock","src":"39066:2:21","statements":[]},"src":"39062:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"39179:3:21","nodeType":"YulIdentifier","src":"39179:3:21"},{"name":"length","nativeSrc":"39184:6:21","nodeType":"YulIdentifier","src":"39184:6:21"}],"functionName":{"name":"mstore","nativeSrc":"39172:6:21","nodeType":"YulIdentifier","src":"39172:6:21"},"nativeSrc":"39172:19:21","nodeType":"YulFunctionCall","src":"39172:19:21"},"nativeSrc":"39172:19:21","nodeType":"YulExpressionStatement","src":"39172:19:21"},{"nativeSrc":"39208:37:21","nodeType":"YulVariableDeclaration","src":"39208:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"39225:3:21","nodeType":"YulLiteral","src":"39225:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"39234:1:21","nodeType":"YulLiteral","src":"39234:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"39237:6:21","nodeType":"YulIdentifier","src":"39237:6:21"}],"functionName":{"name":"shl","nativeSrc":"39230:3:21","nodeType":"YulIdentifier","src":"39230:3:21"},"nativeSrc":"39230:14:21","nodeType":"YulFunctionCall","src":"39230:14:21"}],"functionName":{"name":"sub","nativeSrc":"39221:3:21","nodeType":"YulIdentifier","src":"39221:3:21"},"nativeSrc":"39221:24:21","nodeType":"YulFunctionCall","src":"39221:24:21"},"variables":[{"name":"shift","nativeSrc":"39212:5:21","nodeType":"YulTypedName","src":"39212:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"39273:3:21","nodeType":"YulIdentifier","src":"39273:3:21"},{"kind":"number","nativeSrc":"39278:4:21","nodeType":"YulLiteral","src":"39278:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"39269:3:21","nodeType":"YulIdentifier","src":"39269:3:21"},"nativeSrc":"39269:14:21","nodeType":"YulFunctionCall","src":"39269:14:21"},{"arguments":[{"name":"shift","nativeSrc":"39289:5:21","nodeType":"YulIdentifier","src":"39289:5:21"},{"arguments":[{"name":"shift","nativeSrc":"39300:5:21","nodeType":"YulIdentifier","src":"39300:5:21"},{"name":"w","nativeSrc":"39307:1:21","nodeType":"YulIdentifier","src":"39307:1:21"}],"functionName":{"name":"shr","nativeSrc":"39296:3:21","nodeType":"YulIdentifier","src":"39296:3:21"},"nativeSrc":"39296:13:21","nodeType":"YulFunctionCall","src":"39296:13:21"}],"functionName":{"name":"shl","nativeSrc":"39285:3:21","nodeType":"YulIdentifier","src":"39285:3:21"},"nativeSrc":"39285:25:21","nodeType":"YulFunctionCall","src":"39285:25:21"}],"functionName":{"name":"mstore","nativeSrc":"39262:6:21","nodeType":"YulIdentifier","src":"39262:6:21"},"nativeSrc":"39262:49:21","nodeType":"YulFunctionCall","src":"39262:49:21"},"nativeSrc":"39262:49:21","nodeType":"YulExpressionStatement","src":"39262:49:21"}]},"name":"writeString","nativeSrc":"38983:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"39004:3:21","nodeType":"YulTypedName","src":"39004:3:21","type":""},{"name":"w","nativeSrc":"39009:1:21","nodeType":"YulTypedName","src":"39009:1:21","type":""}],"src":"38983:342:21"},{"nativeSrc":"39338:17:21","nodeType":"YulAssignment","src":"39338:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"39350:4:21","nodeType":"YulLiteral","src":"39350:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"39344:5:21","nodeType":"YulIdentifier","src":"39344:5:21"},"nativeSrc":"39344:11:21","nodeType":"YulFunctionCall","src":"39344:11:21"},"variableNames":[{"name":"m0","nativeSrc":"39338:2:21","nodeType":"YulIdentifier","src":"39338:2:21"}]},{"nativeSrc":"39368:17:21","nodeType":"YulAssignment","src":"39368:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"39380:4:21","nodeType":"YulLiteral","src":"39380:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"39374:5:21","nodeType":"YulIdentifier","src":"39374:5:21"},"nativeSrc":"39374:11:21","nodeType":"YulFunctionCall","src":"39374:11:21"},"variableNames":[{"name":"m1","nativeSrc":"39368:2:21","nodeType":"YulIdentifier","src":"39368:2:21"}]},{"nativeSrc":"39398:17:21","nodeType":"YulAssignment","src":"39398:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"39410:4:21","nodeType":"YulLiteral","src":"39410:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"39404:5:21","nodeType":"YulIdentifier","src":"39404:5:21"},"nativeSrc":"39404:11:21","nodeType":"YulFunctionCall","src":"39404:11:21"},"variableNames":[{"name":"m2","nativeSrc":"39398:2:21","nodeType":"YulIdentifier","src":"39398:2:21"}]},{"nativeSrc":"39428:17:21","nodeType":"YulAssignment","src":"39428:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"39440:4:21","nodeType":"YulLiteral","src":"39440:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"39434:5:21","nodeType":"YulIdentifier","src":"39434:5:21"},"nativeSrc":"39434:11:21","nodeType":"YulFunctionCall","src":"39434:11:21"},"variableNames":[{"name":"m3","nativeSrc":"39428:2:21","nodeType":"YulIdentifier","src":"39428:2:21"}]},{"nativeSrc":"39458:17:21","nodeType":"YulAssignment","src":"39458:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"39470:4:21","nodeType":"YulLiteral","src":"39470:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"39464:5:21","nodeType":"YulIdentifier","src":"39464:5:21"},"nativeSrc":"39464:11:21","nodeType":"YulFunctionCall","src":"39464:11:21"},"variableNames":[{"name":"m4","nativeSrc":"39458:2:21","nodeType":"YulIdentifier","src":"39458:2:21"}]},{"nativeSrc":"39488:17:21","nodeType":"YulAssignment","src":"39488:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"39500:4:21","nodeType":"YulLiteral","src":"39500:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"39494:5:21","nodeType":"YulIdentifier","src":"39494:5:21"},"nativeSrc":"39494:11:21","nodeType":"YulFunctionCall","src":"39494:11:21"},"variableNames":[{"name":"m5","nativeSrc":"39488:2:21","nodeType":"YulIdentifier","src":"39488:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39580:4:21","nodeType":"YulLiteral","src":"39580:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"39586:10:21","nodeType":"YulLiteral","src":"39586:10:21","type":"","value":"0xde9a9270"}],"functionName":{"name":"mstore","nativeSrc":"39573:6:21","nodeType":"YulIdentifier","src":"39573:6:21"},"nativeSrc":"39573:24:21","nodeType":"YulFunctionCall","src":"39573:24:21"},"nativeSrc":"39573:24:21","nodeType":"YulExpressionStatement","src":"39573:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39617:4:21","nodeType":"YulLiteral","src":"39617:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"39623:2:21","nodeType":"YulIdentifier","src":"39623:2:21"}],"functionName":{"name":"mstore","nativeSrc":"39610:6:21","nodeType":"YulIdentifier","src":"39610:6:21"},"nativeSrc":"39610:16:21","nodeType":"YulFunctionCall","src":"39610:16:21"},"nativeSrc":"39610:16:21","nodeType":"YulExpressionStatement","src":"39610:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39646:4:21","nodeType":"YulLiteral","src":"39646:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"39652:2:21","nodeType":"YulIdentifier","src":"39652:2:21"}],"functionName":{"name":"mstore","nativeSrc":"39639:6:21","nodeType":"YulIdentifier","src":"39639:6:21"},"nativeSrc":"39639:16:21","nodeType":"YulFunctionCall","src":"39639:16:21"},"nativeSrc":"39639:16:21","nodeType":"YulExpressionStatement","src":"39639:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39675:4:21","nodeType":"YulLiteral","src":"39675:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"39681:4:21","nodeType":"YulLiteral","src":"39681:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"39668:6:21","nodeType":"YulIdentifier","src":"39668:6:21"},"nativeSrc":"39668:18:21","nodeType":"YulFunctionCall","src":"39668:18:21"},"nativeSrc":"39668:18:21","nodeType":"YulExpressionStatement","src":"39668:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39711:4:21","nodeType":"YulLiteral","src":"39711:4:21","type":"","value":"0x80"},{"name":"p2","nativeSrc":"39717:2:21","nodeType":"YulIdentifier","src":"39717:2:21"}],"functionName":{"name":"writeString","nativeSrc":"39699:11:21","nodeType":"YulIdentifier","src":"39699:11:21"},"nativeSrc":"39699:21:21","nodeType":"YulFunctionCall","src":"39699:21:21"},"nativeSrc":"39699:21:21","nodeType":"YulExpressionStatement","src":"39699:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28261,"isOffset":false,"isSlot":false,"src":"39338:2:21","valueSize":1},{"declaration":28264,"isOffset":false,"isSlot":false,"src":"39368:2:21","valueSize":1},{"declaration":28267,"isOffset":false,"isSlot":false,"src":"39398:2:21","valueSize":1},{"declaration":28270,"isOffset":false,"isSlot":false,"src":"39428:2:21","valueSize":1},{"declaration":28273,"isOffset":false,"isSlot":false,"src":"39458:2:21","valueSize":1},{"declaration":28276,"isOffset":false,"isSlot":false,"src":"39488:2:21","valueSize":1},{"declaration":28253,"isOffset":false,"isSlot":false,"src":"39623:2:21","valueSize":1},{"declaration":28255,"isOffset":false,"isSlot":false,"src":"39652:2:21","valueSize":1},{"declaration":28257,"isOffset":false,"isSlot":false,"src":"39717:2:21","valueSize":1}],"id":28278,"nodeType":"InlineAssembly","src":"38960:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39755:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39761:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28279,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"39739:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39739:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28283,"nodeType":"ExpressionStatement","src":"39739:27:21"},{"AST":{"nativeSrc":"39828:185:21","nodeType":"YulBlock","src":"39828:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"39849:4:21","nodeType":"YulLiteral","src":"39849:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"39855:2:21","nodeType":"YulIdentifier","src":"39855:2:21"}],"functionName":{"name":"mstore","nativeSrc":"39842:6:21","nodeType":"YulIdentifier","src":"39842:6:21"},"nativeSrc":"39842:16:21","nodeType":"YulFunctionCall","src":"39842:16:21"},"nativeSrc":"39842:16:21","nodeType":"YulExpressionStatement","src":"39842:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39878:4:21","nodeType":"YulLiteral","src":"39878:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"39884:2:21","nodeType":"YulIdentifier","src":"39884:2:21"}],"functionName":{"name":"mstore","nativeSrc":"39871:6:21","nodeType":"YulIdentifier","src":"39871:6:21"},"nativeSrc":"39871:16:21","nodeType":"YulFunctionCall","src":"39871:16:21"},"nativeSrc":"39871:16:21","nodeType":"YulExpressionStatement","src":"39871:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39907:4:21","nodeType":"YulLiteral","src":"39907:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"39913:2:21","nodeType":"YulIdentifier","src":"39913:2:21"}],"functionName":{"name":"mstore","nativeSrc":"39900:6:21","nodeType":"YulIdentifier","src":"39900:6:21"},"nativeSrc":"39900:16:21","nodeType":"YulFunctionCall","src":"39900:16:21"},"nativeSrc":"39900:16:21","nodeType":"YulExpressionStatement","src":"39900:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39936:4:21","nodeType":"YulLiteral","src":"39936:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"39942:2:21","nodeType":"YulIdentifier","src":"39942:2:21"}],"functionName":{"name":"mstore","nativeSrc":"39929:6:21","nodeType":"YulIdentifier","src":"39929:6:21"},"nativeSrc":"39929:16:21","nodeType":"YulFunctionCall","src":"39929:16:21"},"nativeSrc":"39929:16:21","nodeType":"YulExpressionStatement","src":"39929:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39965:4:21","nodeType":"YulLiteral","src":"39965:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"39971:2:21","nodeType":"YulIdentifier","src":"39971:2:21"}],"functionName":{"name":"mstore","nativeSrc":"39958:6:21","nodeType":"YulIdentifier","src":"39958:6:21"},"nativeSrc":"39958:16:21","nodeType":"YulFunctionCall","src":"39958:16:21"},"nativeSrc":"39958:16:21","nodeType":"YulExpressionStatement","src":"39958:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39994:4:21","nodeType":"YulLiteral","src":"39994:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"40000:2:21","nodeType":"YulIdentifier","src":"40000:2:21"}],"functionName":{"name":"mstore","nativeSrc":"39987:6:21","nodeType":"YulIdentifier","src":"39987:6:21"},"nativeSrc":"39987:16:21","nodeType":"YulFunctionCall","src":"39987:16:21"},"nativeSrc":"39987:16:21","nodeType":"YulExpressionStatement","src":"39987:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28261,"isOffset":false,"isSlot":false,"src":"39855:2:21","valueSize":1},{"declaration":28264,"isOffset":false,"isSlot":false,"src":"39884:2:21","valueSize":1},{"declaration":28267,"isOffset":false,"isSlot":false,"src":"39913:2:21","valueSize":1},{"declaration":28270,"isOffset":false,"isSlot":false,"src":"39942:2:21","valueSize":1},{"declaration":28273,"isOffset":false,"isSlot":false,"src":"39971:2:21","valueSize":1},{"declaration":28276,"isOffset":false,"isSlot":false,"src":"40000:2:21","valueSize":1}],"id":28284,"nodeType":"InlineAssembly","src":"39819:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38736:3:21","parameters":{"id":28258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28253,"mutability":"mutable","name":"p0","nameLocation":"38745:2:21","nodeType":"VariableDeclaration","scope":28286,"src":"38740:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28252,"name":"bool","nodeType":"ElementaryTypeName","src":"38740:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28255,"mutability":"mutable","name":"p1","nameLocation":"38757:2:21","nodeType":"VariableDeclaration","scope":28286,"src":"38749:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28254,"name":"address","nodeType":"ElementaryTypeName","src":"38749:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28257,"mutability":"mutable","name":"p2","nameLocation":"38769:2:21","nodeType":"VariableDeclaration","scope":28286,"src":"38761:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38761:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38739:33:21"},"returnParameters":{"id":28259,"nodeType":"ParameterList","parameters":[],"src":"38787:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28315,"nodeType":"FunctionDefinition","src":"40025:738:21","nodes":[],"body":{"id":28314,"nodeType":"Block","src":"40082:681:21","nodes":[],"statements":[{"assignments":[28296],"declarations":[{"constant":false,"id":28296,"mutability":"mutable","name":"m0","nameLocation":"40100:2:21","nodeType":"VariableDeclaration","scope":28314,"src":"40092:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40092:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28297,"nodeType":"VariableDeclarationStatement","src":"40092:10:21"},{"assignments":[28299],"declarations":[{"constant":false,"id":28299,"mutability":"mutable","name":"m1","nameLocation":"40120:2:21","nodeType":"VariableDeclaration","scope":28314,"src":"40112:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40112:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28300,"nodeType":"VariableDeclarationStatement","src":"40112:10:21"},{"assignments":[28302],"declarations":[{"constant":false,"id":28302,"mutability":"mutable","name":"m2","nameLocation":"40140:2:21","nodeType":"VariableDeclaration","scope":28314,"src":"40132:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40132:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28303,"nodeType":"VariableDeclarationStatement","src":"40132:10:21"},{"assignments":[28305],"declarations":[{"constant":false,"id":28305,"mutability":"mutable","name":"m3","nameLocation":"40160:2:21","nodeType":"VariableDeclaration","scope":28314,"src":"40152:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40152:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28306,"nodeType":"VariableDeclarationStatement","src":"40152:10:21"},{"AST":{"nativeSrc":"40224:308:21","nodeType":"YulBlock","src":"40224:308:21","statements":[{"nativeSrc":"40238:17:21","nodeType":"YulAssignment","src":"40238:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"40250:4:21","nodeType":"YulLiteral","src":"40250:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"40244:5:21","nodeType":"YulIdentifier","src":"40244:5:21"},"nativeSrc":"40244:11:21","nodeType":"YulFunctionCall","src":"40244:11:21"},"variableNames":[{"name":"m0","nativeSrc":"40238:2:21","nodeType":"YulIdentifier","src":"40238:2:21"}]},{"nativeSrc":"40268:17:21","nodeType":"YulAssignment","src":"40268:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"40280:4:21","nodeType":"YulLiteral","src":"40280:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"40274:5:21","nodeType":"YulIdentifier","src":"40274:5:21"},"nativeSrc":"40274:11:21","nodeType":"YulFunctionCall","src":"40274:11:21"},"variableNames":[{"name":"m1","nativeSrc":"40268:2:21","nodeType":"YulIdentifier","src":"40268:2:21"}]},{"nativeSrc":"40298:17:21","nodeType":"YulAssignment","src":"40298:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"40310:4:21","nodeType":"YulLiteral","src":"40310:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"40304:5:21","nodeType":"YulIdentifier","src":"40304:5:21"},"nativeSrc":"40304:11:21","nodeType":"YulFunctionCall","src":"40304:11:21"},"variableNames":[{"name":"m2","nativeSrc":"40298:2:21","nodeType":"YulIdentifier","src":"40298:2:21"}]},{"nativeSrc":"40328:17:21","nodeType":"YulAssignment","src":"40328:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"40340:4:21","nodeType":"YulLiteral","src":"40340:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"40334:5:21","nodeType":"YulIdentifier","src":"40334:5:21"},"nativeSrc":"40334:11:21","nodeType":"YulFunctionCall","src":"40334:11:21"},"variableNames":[{"name":"m3","nativeSrc":"40328:2:21","nodeType":"YulIdentifier","src":"40328:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40418:4:21","nodeType":"YulLiteral","src":"40418:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"40424:10:21","nodeType":"YulLiteral","src":"40424:10:21","type":"","value":"0x1078f68d"}],"functionName":{"name":"mstore","nativeSrc":"40411:6:21","nodeType":"YulIdentifier","src":"40411:6:21"},"nativeSrc":"40411:24:21","nodeType":"YulFunctionCall","src":"40411:24:21"},"nativeSrc":"40411:24:21","nodeType":"YulExpressionStatement","src":"40411:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40455:4:21","nodeType":"YulLiteral","src":"40455:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"40461:2:21","nodeType":"YulIdentifier","src":"40461:2:21"}],"functionName":{"name":"mstore","nativeSrc":"40448:6:21","nodeType":"YulIdentifier","src":"40448:6:21"},"nativeSrc":"40448:16:21","nodeType":"YulFunctionCall","src":"40448:16:21"},"nativeSrc":"40448:16:21","nodeType":"YulExpressionStatement","src":"40448:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40484:4:21","nodeType":"YulLiteral","src":"40484:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"40490:2:21","nodeType":"YulIdentifier","src":"40490:2:21"}],"functionName":{"name":"mstore","nativeSrc":"40477:6:21","nodeType":"YulIdentifier","src":"40477:6:21"},"nativeSrc":"40477:16:21","nodeType":"YulFunctionCall","src":"40477:16:21"},"nativeSrc":"40477:16:21","nodeType":"YulExpressionStatement","src":"40477:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40513:4:21","nodeType":"YulLiteral","src":"40513:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"40519:2:21","nodeType":"YulIdentifier","src":"40519:2:21"}],"functionName":{"name":"mstore","nativeSrc":"40506:6:21","nodeType":"YulIdentifier","src":"40506:6:21"},"nativeSrc":"40506:16:21","nodeType":"YulFunctionCall","src":"40506:16:21"},"nativeSrc":"40506:16:21","nodeType":"YulExpressionStatement","src":"40506:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28296,"isOffset":false,"isSlot":false,"src":"40238:2:21","valueSize":1},{"declaration":28299,"isOffset":false,"isSlot":false,"src":"40268:2:21","valueSize":1},{"declaration":28302,"isOffset":false,"isSlot":false,"src":"40298:2:21","valueSize":1},{"declaration":28305,"isOffset":false,"isSlot":false,"src":"40328:2:21","valueSize":1},{"declaration":28288,"isOffset":false,"isSlot":false,"src":"40461:2:21","valueSize":1},{"declaration":28290,"isOffset":false,"isSlot":false,"src":"40490:2:21","valueSize":1},{"declaration":28292,"isOffset":false,"isSlot":false,"src":"40519:2:21","valueSize":1}],"id":28307,"nodeType":"InlineAssembly","src":"40215:317:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40557:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40563:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28308,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"40541:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40541:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28312,"nodeType":"ExpressionStatement","src":"40541:27:21"},{"AST":{"nativeSrc":"40630:127:21","nodeType":"YulBlock","src":"40630:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"40651:4:21","nodeType":"YulLiteral","src":"40651:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"40657:2:21","nodeType":"YulIdentifier","src":"40657:2:21"}],"functionName":{"name":"mstore","nativeSrc":"40644:6:21","nodeType":"YulIdentifier","src":"40644:6:21"},"nativeSrc":"40644:16:21","nodeType":"YulFunctionCall","src":"40644:16:21"},"nativeSrc":"40644:16:21","nodeType":"YulExpressionStatement","src":"40644:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40680:4:21","nodeType":"YulLiteral","src":"40680:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"40686:2:21","nodeType":"YulIdentifier","src":"40686:2:21"}],"functionName":{"name":"mstore","nativeSrc":"40673:6:21","nodeType":"YulIdentifier","src":"40673:6:21"},"nativeSrc":"40673:16:21","nodeType":"YulFunctionCall","src":"40673:16:21"},"nativeSrc":"40673:16:21","nodeType":"YulExpressionStatement","src":"40673:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40709:4:21","nodeType":"YulLiteral","src":"40709:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"40715:2:21","nodeType":"YulIdentifier","src":"40715:2:21"}],"functionName":{"name":"mstore","nativeSrc":"40702:6:21","nodeType":"YulIdentifier","src":"40702:6:21"},"nativeSrc":"40702:16:21","nodeType":"YulFunctionCall","src":"40702:16:21"},"nativeSrc":"40702:16:21","nodeType":"YulExpressionStatement","src":"40702:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40738:4:21","nodeType":"YulLiteral","src":"40738:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"40744:2:21","nodeType":"YulIdentifier","src":"40744:2:21"}],"functionName":{"name":"mstore","nativeSrc":"40731:6:21","nodeType":"YulIdentifier","src":"40731:6:21"},"nativeSrc":"40731:16:21","nodeType":"YulFunctionCall","src":"40731:16:21"},"nativeSrc":"40731:16:21","nodeType":"YulExpressionStatement","src":"40731:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28296,"isOffset":false,"isSlot":false,"src":"40657:2:21","valueSize":1},{"declaration":28299,"isOffset":false,"isSlot":false,"src":"40686:2:21","valueSize":1},{"declaration":28302,"isOffset":false,"isSlot":false,"src":"40715:2:21","valueSize":1},{"declaration":28305,"isOffset":false,"isSlot":false,"src":"40744:2:21","valueSize":1}],"id":28313,"nodeType":"InlineAssembly","src":"40621:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40034:3:21","parameters":{"id":28293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28288,"mutability":"mutable","name":"p0","nameLocation":"40043:2:21","nodeType":"VariableDeclaration","scope":28315,"src":"40038:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28287,"name":"bool","nodeType":"ElementaryTypeName","src":"40038:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28290,"mutability":"mutable","name":"p1","nameLocation":"40052:2:21","nodeType":"VariableDeclaration","scope":28315,"src":"40047:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28289,"name":"bool","nodeType":"ElementaryTypeName","src":"40047:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28292,"mutability":"mutable","name":"p2","nameLocation":"40064:2:21","nodeType":"VariableDeclaration","scope":28315,"src":"40056:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28291,"name":"address","nodeType":"ElementaryTypeName","src":"40056:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40037:30:21"},"returnParameters":{"id":28294,"nodeType":"ParameterList","parameters":[],"src":"40082:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28344,"nodeType":"FunctionDefinition","src":"40769:732:21","nodes":[],"body":{"id":28343,"nodeType":"Block","src":"40823:678:21","nodes":[],"statements":[{"assignments":[28325],"declarations":[{"constant":false,"id":28325,"mutability":"mutable","name":"m0","nameLocation":"40841:2:21","nodeType":"VariableDeclaration","scope":28343,"src":"40833:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40833:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28326,"nodeType":"VariableDeclarationStatement","src":"40833:10:21"},{"assignments":[28328],"declarations":[{"constant":false,"id":28328,"mutability":"mutable","name":"m1","nameLocation":"40861:2:21","nodeType":"VariableDeclaration","scope":28343,"src":"40853:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28327,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40853:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28329,"nodeType":"VariableDeclarationStatement","src":"40853:10:21"},{"assignments":[28331],"declarations":[{"constant":false,"id":28331,"mutability":"mutable","name":"m2","nameLocation":"40881:2:21","nodeType":"VariableDeclaration","scope":28343,"src":"40873:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40873:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28332,"nodeType":"VariableDeclarationStatement","src":"40873:10:21"},{"assignments":[28334],"declarations":[{"constant":false,"id":28334,"mutability":"mutable","name":"m3","nameLocation":"40901:2:21","nodeType":"VariableDeclaration","scope":28343,"src":"40893:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40893:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28335,"nodeType":"VariableDeclarationStatement","src":"40893:10:21"},{"AST":{"nativeSrc":"40965:305:21","nodeType":"YulBlock","src":"40965:305:21","statements":[{"nativeSrc":"40979:17:21","nodeType":"YulAssignment","src":"40979:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"40991:4:21","nodeType":"YulLiteral","src":"40991:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"40985:5:21","nodeType":"YulIdentifier","src":"40985:5:21"},"nativeSrc":"40985:11:21","nodeType":"YulFunctionCall","src":"40985:11:21"},"variableNames":[{"name":"m0","nativeSrc":"40979:2:21","nodeType":"YulIdentifier","src":"40979:2:21"}]},{"nativeSrc":"41009:17:21","nodeType":"YulAssignment","src":"41009:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"41021:4:21","nodeType":"YulLiteral","src":"41021:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"41015:5:21","nodeType":"YulIdentifier","src":"41015:5:21"},"nativeSrc":"41015:11:21","nodeType":"YulFunctionCall","src":"41015:11:21"},"variableNames":[{"name":"m1","nativeSrc":"41009:2:21","nodeType":"YulIdentifier","src":"41009:2:21"}]},{"nativeSrc":"41039:17:21","nodeType":"YulAssignment","src":"41039:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"41051:4:21","nodeType":"YulLiteral","src":"41051:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"41045:5:21","nodeType":"YulIdentifier","src":"41045:5:21"},"nativeSrc":"41045:11:21","nodeType":"YulFunctionCall","src":"41045:11:21"},"variableNames":[{"name":"m2","nativeSrc":"41039:2:21","nodeType":"YulIdentifier","src":"41039:2:21"}]},{"nativeSrc":"41069:17:21","nodeType":"YulAssignment","src":"41069:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"41081:4:21","nodeType":"YulLiteral","src":"41081:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"41075:5:21","nodeType":"YulIdentifier","src":"41075:5:21"},"nativeSrc":"41075:11:21","nodeType":"YulFunctionCall","src":"41075:11:21"},"variableNames":[{"name":"m3","nativeSrc":"41069:2:21","nodeType":"YulIdentifier","src":"41069:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41156:4:21","nodeType":"YulLiteral","src":"41156:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"41162:10:21","nodeType":"YulLiteral","src":"41162:10:21","type":"","value":"0x50709698"}],"functionName":{"name":"mstore","nativeSrc":"41149:6:21","nodeType":"YulIdentifier","src":"41149:6:21"},"nativeSrc":"41149:24:21","nodeType":"YulFunctionCall","src":"41149:24:21"},"nativeSrc":"41149:24:21","nodeType":"YulExpressionStatement","src":"41149:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41193:4:21","nodeType":"YulLiteral","src":"41193:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"41199:2:21","nodeType":"YulIdentifier","src":"41199:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41186:6:21","nodeType":"YulIdentifier","src":"41186:6:21"},"nativeSrc":"41186:16:21","nodeType":"YulFunctionCall","src":"41186:16:21"},"nativeSrc":"41186:16:21","nodeType":"YulExpressionStatement","src":"41186:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41222:4:21","nodeType":"YulLiteral","src":"41222:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"41228:2:21","nodeType":"YulIdentifier","src":"41228:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41215:6:21","nodeType":"YulIdentifier","src":"41215:6:21"},"nativeSrc":"41215:16:21","nodeType":"YulFunctionCall","src":"41215:16:21"},"nativeSrc":"41215:16:21","nodeType":"YulExpressionStatement","src":"41215:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41251:4:21","nodeType":"YulLiteral","src":"41251:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"41257:2:21","nodeType":"YulIdentifier","src":"41257:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41244:6:21","nodeType":"YulIdentifier","src":"41244:6:21"},"nativeSrc":"41244:16:21","nodeType":"YulFunctionCall","src":"41244:16:21"},"nativeSrc":"41244:16:21","nodeType":"YulExpressionStatement","src":"41244:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28325,"isOffset":false,"isSlot":false,"src":"40979:2:21","valueSize":1},{"declaration":28328,"isOffset":false,"isSlot":false,"src":"41009:2:21","valueSize":1},{"declaration":28331,"isOffset":false,"isSlot":false,"src":"41039:2:21","valueSize":1},{"declaration":28334,"isOffset":false,"isSlot":false,"src":"41069:2:21","valueSize":1},{"declaration":28317,"isOffset":false,"isSlot":false,"src":"41199:2:21","valueSize":1},{"declaration":28319,"isOffset":false,"isSlot":false,"src":"41228:2:21","valueSize":1},{"declaration":28321,"isOffset":false,"isSlot":false,"src":"41257:2:21","valueSize":1}],"id":28336,"nodeType":"InlineAssembly","src":"40956:314:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41295:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41301:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28337,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"41279:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41279:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28341,"nodeType":"ExpressionStatement","src":"41279:27:21"},{"AST":{"nativeSrc":"41368:127:21","nodeType":"YulBlock","src":"41368:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"41389:4:21","nodeType":"YulLiteral","src":"41389:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"41395:2:21","nodeType":"YulIdentifier","src":"41395:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41382:6:21","nodeType":"YulIdentifier","src":"41382:6:21"},"nativeSrc":"41382:16:21","nodeType":"YulFunctionCall","src":"41382:16:21"},"nativeSrc":"41382:16:21","nodeType":"YulExpressionStatement","src":"41382:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41418:4:21","nodeType":"YulLiteral","src":"41418:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"41424:2:21","nodeType":"YulIdentifier","src":"41424:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41411:6:21","nodeType":"YulIdentifier","src":"41411:6:21"},"nativeSrc":"41411:16:21","nodeType":"YulFunctionCall","src":"41411:16:21"},"nativeSrc":"41411:16:21","nodeType":"YulExpressionStatement","src":"41411:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41447:4:21","nodeType":"YulLiteral","src":"41447:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"41453:2:21","nodeType":"YulIdentifier","src":"41453:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41440:6:21","nodeType":"YulIdentifier","src":"41440:6:21"},"nativeSrc":"41440:16:21","nodeType":"YulFunctionCall","src":"41440:16:21"},"nativeSrc":"41440:16:21","nodeType":"YulExpressionStatement","src":"41440:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41476:4:21","nodeType":"YulLiteral","src":"41476:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"41482:2:21","nodeType":"YulIdentifier","src":"41482:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41469:6:21","nodeType":"YulIdentifier","src":"41469:6:21"},"nativeSrc":"41469:16:21","nodeType":"YulFunctionCall","src":"41469:16:21"},"nativeSrc":"41469:16:21","nodeType":"YulExpressionStatement","src":"41469:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28325,"isOffset":false,"isSlot":false,"src":"41395:2:21","valueSize":1},{"declaration":28328,"isOffset":false,"isSlot":false,"src":"41424:2:21","valueSize":1},{"declaration":28331,"isOffset":false,"isSlot":false,"src":"41453:2:21","valueSize":1},{"declaration":28334,"isOffset":false,"isSlot":false,"src":"41482:2:21","valueSize":1}],"id":28342,"nodeType":"InlineAssembly","src":"41359:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40778:3:21","parameters":{"id":28322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28317,"mutability":"mutable","name":"p0","nameLocation":"40787:2:21","nodeType":"VariableDeclaration","scope":28344,"src":"40782:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28316,"name":"bool","nodeType":"ElementaryTypeName","src":"40782:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28319,"mutability":"mutable","name":"p1","nameLocation":"40796:2:21","nodeType":"VariableDeclaration","scope":28344,"src":"40791:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28318,"name":"bool","nodeType":"ElementaryTypeName","src":"40791:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28321,"mutability":"mutable","name":"p2","nameLocation":"40805:2:21","nodeType":"VariableDeclaration","scope":28344,"src":"40800:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28320,"name":"bool","nodeType":"ElementaryTypeName","src":"40800:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40781:27:21"},"returnParameters":{"id":28323,"nodeType":"ParameterList","parameters":[],"src":"40823:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28373,"nodeType":"FunctionDefinition","src":"41507:738:21","nodes":[],"body":{"id":28372,"nodeType":"Block","src":"41564:681:21","nodes":[],"statements":[{"assignments":[28354],"declarations":[{"constant":false,"id":28354,"mutability":"mutable","name":"m0","nameLocation":"41582:2:21","nodeType":"VariableDeclaration","scope":28372,"src":"41574:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41574:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28355,"nodeType":"VariableDeclarationStatement","src":"41574:10:21"},{"assignments":[28357],"declarations":[{"constant":false,"id":28357,"mutability":"mutable","name":"m1","nameLocation":"41602:2:21","nodeType":"VariableDeclaration","scope":28372,"src":"41594:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41594:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28358,"nodeType":"VariableDeclarationStatement","src":"41594:10:21"},{"assignments":[28360],"declarations":[{"constant":false,"id":28360,"mutability":"mutable","name":"m2","nameLocation":"41622:2:21","nodeType":"VariableDeclaration","scope":28372,"src":"41614:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41614:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28361,"nodeType":"VariableDeclarationStatement","src":"41614:10:21"},{"assignments":[28363],"declarations":[{"constant":false,"id":28363,"mutability":"mutable","name":"m3","nameLocation":"41642:2:21","nodeType":"VariableDeclaration","scope":28372,"src":"41634:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41634:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28364,"nodeType":"VariableDeclarationStatement","src":"41634:10:21"},{"AST":{"nativeSrc":"41706:308:21","nodeType":"YulBlock","src":"41706:308:21","statements":[{"nativeSrc":"41720:17:21","nodeType":"YulAssignment","src":"41720:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"41732:4:21","nodeType":"YulLiteral","src":"41732:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"41726:5:21","nodeType":"YulIdentifier","src":"41726:5:21"},"nativeSrc":"41726:11:21","nodeType":"YulFunctionCall","src":"41726:11:21"},"variableNames":[{"name":"m0","nativeSrc":"41720:2:21","nodeType":"YulIdentifier","src":"41720:2:21"}]},{"nativeSrc":"41750:17:21","nodeType":"YulAssignment","src":"41750:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"41762:4:21","nodeType":"YulLiteral","src":"41762:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"41756:5:21","nodeType":"YulIdentifier","src":"41756:5:21"},"nativeSrc":"41756:11:21","nodeType":"YulFunctionCall","src":"41756:11:21"},"variableNames":[{"name":"m1","nativeSrc":"41750:2:21","nodeType":"YulIdentifier","src":"41750:2:21"}]},{"nativeSrc":"41780:17:21","nodeType":"YulAssignment","src":"41780:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"41792:4:21","nodeType":"YulLiteral","src":"41792:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"41786:5:21","nodeType":"YulIdentifier","src":"41786:5:21"},"nativeSrc":"41786:11:21","nodeType":"YulFunctionCall","src":"41786:11:21"},"variableNames":[{"name":"m2","nativeSrc":"41780:2:21","nodeType":"YulIdentifier","src":"41780:2:21"}]},{"nativeSrc":"41810:17:21","nodeType":"YulAssignment","src":"41810:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"41822:4:21","nodeType":"YulLiteral","src":"41822:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"41816:5:21","nodeType":"YulIdentifier","src":"41816:5:21"},"nativeSrc":"41816:11:21","nodeType":"YulFunctionCall","src":"41816:11:21"},"variableNames":[{"name":"m3","nativeSrc":"41810:2:21","nodeType":"YulIdentifier","src":"41810:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41900:4:21","nodeType":"YulLiteral","src":"41900:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"41906:10:21","nodeType":"YulLiteral","src":"41906:10:21","type":"","value":"0x12f21602"}],"functionName":{"name":"mstore","nativeSrc":"41893:6:21","nodeType":"YulIdentifier","src":"41893:6:21"},"nativeSrc":"41893:24:21","nodeType":"YulFunctionCall","src":"41893:24:21"},"nativeSrc":"41893:24:21","nodeType":"YulExpressionStatement","src":"41893:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41937:4:21","nodeType":"YulLiteral","src":"41937:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"41943:2:21","nodeType":"YulIdentifier","src":"41943:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41930:6:21","nodeType":"YulIdentifier","src":"41930:6:21"},"nativeSrc":"41930:16:21","nodeType":"YulFunctionCall","src":"41930:16:21"},"nativeSrc":"41930:16:21","nodeType":"YulExpressionStatement","src":"41930:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41966:4:21","nodeType":"YulLiteral","src":"41966:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"41972:2:21","nodeType":"YulIdentifier","src":"41972:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41959:6:21","nodeType":"YulIdentifier","src":"41959:6:21"},"nativeSrc":"41959:16:21","nodeType":"YulFunctionCall","src":"41959:16:21"},"nativeSrc":"41959:16:21","nodeType":"YulExpressionStatement","src":"41959:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41995:4:21","nodeType":"YulLiteral","src":"41995:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"42001:2:21","nodeType":"YulIdentifier","src":"42001:2:21"}],"functionName":{"name":"mstore","nativeSrc":"41988:6:21","nodeType":"YulIdentifier","src":"41988:6:21"},"nativeSrc":"41988:16:21","nodeType":"YulFunctionCall","src":"41988:16:21"},"nativeSrc":"41988:16:21","nodeType":"YulExpressionStatement","src":"41988:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28354,"isOffset":false,"isSlot":false,"src":"41720:2:21","valueSize":1},{"declaration":28357,"isOffset":false,"isSlot":false,"src":"41750:2:21","valueSize":1},{"declaration":28360,"isOffset":false,"isSlot":false,"src":"41780:2:21","valueSize":1},{"declaration":28363,"isOffset":false,"isSlot":false,"src":"41810:2:21","valueSize":1},{"declaration":28346,"isOffset":false,"isSlot":false,"src":"41943:2:21","valueSize":1},{"declaration":28348,"isOffset":false,"isSlot":false,"src":"41972:2:21","valueSize":1},{"declaration":28350,"isOffset":false,"isSlot":false,"src":"42001:2:21","valueSize":1}],"id":28365,"nodeType":"InlineAssembly","src":"41697:317:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42039:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42045:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28366,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"42023:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42023:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28370,"nodeType":"ExpressionStatement","src":"42023:27:21"},{"AST":{"nativeSrc":"42112:127:21","nodeType":"YulBlock","src":"42112:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"42133:4:21","nodeType":"YulLiteral","src":"42133:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"42139:2:21","nodeType":"YulIdentifier","src":"42139:2:21"}],"functionName":{"name":"mstore","nativeSrc":"42126:6:21","nodeType":"YulIdentifier","src":"42126:6:21"},"nativeSrc":"42126:16:21","nodeType":"YulFunctionCall","src":"42126:16:21"},"nativeSrc":"42126:16:21","nodeType":"YulExpressionStatement","src":"42126:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42162:4:21","nodeType":"YulLiteral","src":"42162:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"42168:2:21","nodeType":"YulIdentifier","src":"42168:2:21"}],"functionName":{"name":"mstore","nativeSrc":"42155:6:21","nodeType":"YulIdentifier","src":"42155:6:21"},"nativeSrc":"42155:16:21","nodeType":"YulFunctionCall","src":"42155:16:21"},"nativeSrc":"42155:16:21","nodeType":"YulExpressionStatement","src":"42155:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42191:4:21","nodeType":"YulLiteral","src":"42191:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"42197:2:21","nodeType":"YulIdentifier","src":"42197:2:21"}],"functionName":{"name":"mstore","nativeSrc":"42184:6:21","nodeType":"YulIdentifier","src":"42184:6:21"},"nativeSrc":"42184:16:21","nodeType":"YulFunctionCall","src":"42184:16:21"},"nativeSrc":"42184:16:21","nodeType":"YulExpressionStatement","src":"42184:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42220:4:21","nodeType":"YulLiteral","src":"42220:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"42226:2:21","nodeType":"YulIdentifier","src":"42226:2:21"}],"functionName":{"name":"mstore","nativeSrc":"42213:6:21","nodeType":"YulIdentifier","src":"42213:6:21"},"nativeSrc":"42213:16:21","nodeType":"YulFunctionCall","src":"42213:16:21"},"nativeSrc":"42213:16:21","nodeType":"YulExpressionStatement","src":"42213:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28354,"isOffset":false,"isSlot":false,"src":"42139:2:21","valueSize":1},{"declaration":28357,"isOffset":false,"isSlot":false,"src":"42168:2:21","valueSize":1},{"declaration":28360,"isOffset":false,"isSlot":false,"src":"42197:2:21","valueSize":1},{"declaration":28363,"isOffset":false,"isSlot":false,"src":"42226:2:21","valueSize":1}],"id":28371,"nodeType":"InlineAssembly","src":"42103:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41516:3:21","parameters":{"id":28351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28346,"mutability":"mutable","name":"p0","nameLocation":"41525:2:21","nodeType":"VariableDeclaration","scope":28373,"src":"41520:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28345,"name":"bool","nodeType":"ElementaryTypeName","src":"41520:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28348,"mutability":"mutable","name":"p1","nameLocation":"41534:2:21","nodeType":"VariableDeclaration","scope":28373,"src":"41529:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28347,"name":"bool","nodeType":"ElementaryTypeName","src":"41529:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28350,"mutability":"mutable","name":"p2","nameLocation":"41546:2:21","nodeType":"VariableDeclaration","scope":28373,"src":"41538:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28349,"name":"uint256","nodeType":"ElementaryTypeName","src":"41538:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41519:30:21"},"returnParameters":{"id":28352,"nodeType":"ParameterList","parameters":[],"src":"41564:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28408,"nodeType":"FunctionDefinition","src":"42251:1286:21","nodes":[],"body":{"id":28407,"nodeType":"Block","src":"42308:1229:21","nodes":[],"statements":[{"assignments":[28383],"declarations":[{"constant":false,"id":28383,"mutability":"mutable","name":"m0","nameLocation":"42326:2:21","nodeType":"VariableDeclaration","scope":28407,"src":"42318:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42318:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28384,"nodeType":"VariableDeclarationStatement","src":"42318:10:21"},{"assignments":[28386],"declarations":[{"constant":false,"id":28386,"mutability":"mutable","name":"m1","nameLocation":"42346:2:21","nodeType":"VariableDeclaration","scope":28407,"src":"42338:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42338:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28387,"nodeType":"VariableDeclarationStatement","src":"42338:10:21"},{"assignments":[28389],"declarations":[{"constant":false,"id":28389,"mutability":"mutable","name":"m2","nameLocation":"42366:2:21","nodeType":"VariableDeclaration","scope":28407,"src":"42358:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42358:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28390,"nodeType":"VariableDeclarationStatement","src":"42358:10:21"},{"assignments":[28392],"declarations":[{"constant":false,"id":28392,"mutability":"mutable","name":"m3","nameLocation":"42386:2:21","nodeType":"VariableDeclaration","scope":28407,"src":"42378:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42378:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28393,"nodeType":"VariableDeclarationStatement","src":"42378:10:21"},{"assignments":[28395],"declarations":[{"constant":false,"id":28395,"mutability":"mutable","name":"m4","nameLocation":"42406:2:21","nodeType":"VariableDeclaration","scope":28407,"src":"42398:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42398:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28396,"nodeType":"VariableDeclarationStatement","src":"42398:10:21"},{"assignments":[28398],"declarations":[{"constant":false,"id":28398,"mutability":"mutable","name":"m5","nameLocation":"42426:2:21","nodeType":"VariableDeclaration","scope":28407,"src":"42418:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42418:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28399,"nodeType":"VariableDeclarationStatement","src":"42418:10:21"},{"AST":{"nativeSrc":"42490:758:21","nodeType":"YulBlock","src":"42490:758:21","statements":[{"body":{"nativeSrc":"42533:313:21","nodeType":"YulBlock","src":"42533:313:21","statements":[{"nativeSrc":"42551:15:21","nodeType":"YulVariableDeclaration","src":"42551:15:21","value":{"kind":"number","nativeSrc":"42565:1:21","nodeType":"YulLiteral","src":"42565:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"42555:6:21","nodeType":"YulTypedName","src":"42555:6:21","type":""}]},{"body":{"nativeSrc":"42636:40:21","nodeType":"YulBlock","src":"42636:40:21","statements":[{"body":{"nativeSrc":"42665:9:21","nodeType":"YulBlock","src":"42665:9:21","statements":[{"nativeSrc":"42667:5:21","nodeType":"YulBreak","src":"42667:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"42653:6:21","nodeType":"YulIdentifier","src":"42653:6:21"},{"name":"w","nativeSrc":"42661:1:21","nodeType":"YulIdentifier","src":"42661:1:21"}],"functionName":{"name":"byte","nativeSrc":"42648:4:21","nodeType":"YulIdentifier","src":"42648:4:21"},"nativeSrc":"42648:15:21","nodeType":"YulFunctionCall","src":"42648:15:21"}],"functionName":{"name":"iszero","nativeSrc":"42641:6:21","nodeType":"YulIdentifier","src":"42641:6:21"},"nativeSrc":"42641:23:21","nodeType":"YulFunctionCall","src":"42641:23:21"},"nativeSrc":"42638:36:21","nodeType":"YulIf","src":"42638:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"42593:6:21","nodeType":"YulIdentifier","src":"42593:6:21"},{"kind":"number","nativeSrc":"42601:4:21","nodeType":"YulLiteral","src":"42601:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"42590:2:21","nodeType":"YulIdentifier","src":"42590:2:21"},"nativeSrc":"42590:16:21","nodeType":"YulFunctionCall","src":"42590:16:21"},"nativeSrc":"42583:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"42607:28:21","nodeType":"YulBlock","src":"42607:28:21","statements":[{"nativeSrc":"42609:24:21","nodeType":"YulAssignment","src":"42609:24:21","value":{"arguments":[{"name":"length","nativeSrc":"42623:6:21","nodeType":"YulIdentifier","src":"42623:6:21"},{"kind":"number","nativeSrc":"42631:1:21","nodeType":"YulLiteral","src":"42631:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"42619:3:21","nodeType":"YulIdentifier","src":"42619:3:21"},"nativeSrc":"42619:14:21","nodeType":"YulFunctionCall","src":"42619:14:21"},"variableNames":[{"name":"length","nativeSrc":"42609:6:21","nodeType":"YulIdentifier","src":"42609:6:21"}]}]},"pre":{"nativeSrc":"42587:2:21","nodeType":"YulBlock","src":"42587:2:21","statements":[]},"src":"42583:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"42700:3:21","nodeType":"YulIdentifier","src":"42700:3:21"},{"name":"length","nativeSrc":"42705:6:21","nodeType":"YulIdentifier","src":"42705:6:21"}],"functionName":{"name":"mstore","nativeSrc":"42693:6:21","nodeType":"YulIdentifier","src":"42693:6:21"},"nativeSrc":"42693:19:21","nodeType":"YulFunctionCall","src":"42693:19:21"},"nativeSrc":"42693:19:21","nodeType":"YulExpressionStatement","src":"42693:19:21"},{"nativeSrc":"42729:37:21","nodeType":"YulVariableDeclaration","src":"42729:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"42746:3:21","nodeType":"YulLiteral","src":"42746:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"42755:1:21","nodeType":"YulLiteral","src":"42755:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"42758:6:21","nodeType":"YulIdentifier","src":"42758:6:21"}],"functionName":{"name":"shl","nativeSrc":"42751:3:21","nodeType":"YulIdentifier","src":"42751:3:21"},"nativeSrc":"42751:14:21","nodeType":"YulFunctionCall","src":"42751:14:21"}],"functionName":{"name":"sub","nativeSrc":"42742:3:21","nodeType":"YulIdentifier","src":"42742:3:21"},"nativeSrc":"42742:24:21","nodeType":"YulFunctionCall","src":"42742:24:21"},"variables":[{"name":"shift","nativeSrc":"42733:5:21","nodeType":"YulTypedName","src":"42733:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"42794:3:21","nodeType":"YulIdentifier","src":"42794:3:21"},{"kind":"number","nativeSrc":"42799:4:21","nodeType":"YulLiteral","src":"42799:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"42790:3:21","nodeType":"YulIdentifier","src":"42790:3:21"},"nativeSrc":"42790:14:21","nodeType":"YulFunctionCall","src":"42790:14:21"},{"arguments":[{"name":"shift","nativeSrc":"42810:5:21","nodeType":"YulIdentifier","src":"42810:5:21"},{"arguments":[{"name":"shift","nativeSrc":"42821:5:21","nodeType":"YulIdentifier","src":"42821:5:21"},{"name":"w","nativeSrc":"42828:1:21","nodeType":"YulIdentifier","src":"42828:1:21"}],"functionName":{"name":"shr","nativeSrc":"42817:3:21","nodeType":"YulIdentifier","src":"42817:3:21"},"nativeSrc":"42817:13:21","nodeType":"YulFunctionCall","src":"42817:13:21"}],"functionName":{"name":"shl","nativeSrc":"42806:3:21","nodeType":"YulIdentifier","src":"42806:3:21"},"nativeSrc":"42806:25:21","nodeType":"YulFunctionCall","src":"42806:25:21"}],"functionName":{"name":"mstore","nativeSrc":"42783:6:21","nodeType":"YulIdentifier","src":"42783:6:21"},"nativeSrc":"42783:49:21","nodeType":"YulFunctionCall","src":"42783:49:21"},"nativeSrc":"42783:49:21","nodeType":"YulExpressionStatement","src":"42783:49:21"}]},"name":"writeString","nativeSrc":"42504:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"42525:3:21","nodeType":"YulTypedName","src":"42525:3:21","type":""},{"name":"w","nativeSrc":"42530:1:21","nodeType":"YulTypedName","src":"42530:1:21","type":""}],"src":"42504:342:21"},{"nativeSrc":"42859:17:21","nodeType":"YulAssignment","src":"42859:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"42871:4:21","nodeType":"YulLiteral","src":"42871:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"42865:5:21","nodeType":"YulIdentifier","src":"42865:5:21"},"nativeSrc":"42865:11:21","nodeType":"YulFunctionCall","src":"42865:11:21"},"variableNames":[{"name":"m0","nativeSrc":"42859:2:21","nodeType":"YulIdentifier","src":"42859:2:21"}]},{"nativeSrc":"42889:17:21","nodeType":"YulAssignment","src":"42889:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"42901:4:21","nodeType":"YulLiteral","src":"42901:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"42895:5:21","nodeType":"YulIdentifier","src":"42895:5:21"},"nativeSrc":"42895:11:21","nodeType":"YulFunctionCall","src":"42895:11:21"},"variableNames":[{"name":"m1","nativeSrc":"42889:2:21","nodeType":"YulIdentifier","src":"42889:2:21"}]},{"nativeSrc":"42919:17:21","nodeType":"YulAssignment","src":"42919:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"42931:4:21","nodeType":"YulLiteral","src":"42931:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"42925:5:21","nodeType":"YulIdentifier","src":"42925:5:21"},"nativeSrc":"42925:11:21","nodeType":"YulFunctionCall","src":"42925:11:21"},"variableNames":[{"name":"m2","nativeSrc":"42919:2:21","nodeType":"YulIdentifier","src":"42919:2:21"}]},{"nativeSrc":"42949:17:21","nodeType":"YulAssignment","src":"42949:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"42961:4:21","nodeType":"YulLiteral","src":"42961:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"42955:5:21","nodeType":"YulIdentifier","src":"42955:5:21"},"nativeSrc":"42955:11:21","nodeType":"YulFunctionCall","src":"42955:11:21"},"variableNames":[{"name":"m3","nativeSrc":"42949:2:21","nodeType":"YulIdentifier","src":"42949:2:21"}]},{"nativeSrc":"42979:17:21","nodeType":"YulAssignment","src":"42979:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"42991:4:21","nodeType":"YulLiteral","src":"42991:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"42985:5:21","nodeType":"YulIdentifier","src":"42985:5:21"},"nativeSrc":"42985:11:21","nodeType":"YulFunctionCall","src":"42985:11:21"},"variableNames":[{"name":"m4","nativeSrc":"42979:2:21","nodeType":"YulIdentifier","src":"42979:2:21"}]},{"nativeSrc":"43009:17:21","nodeType":"YulAssignment","src":"43009:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"43021:4:21","nodeType":"YulLiteral","src":"43021:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"43015:5:21","nodeType":"YulIdentifier","src":"43015:5:21"},"nativeSrc":"43015:11:21","nodeType":"YulFunctionCall","src":"43015:11:21"},"variableNames":[{"name":"m5","nativeSrc":"43009:2:21","nodeType":"YulIdentifier","src":"43009:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43098:4:21","nodeType":"YulLiteral","src":"43098:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"43104:10:21","nodeType":"YulLiteral","src":"43104:10:21","type":"","value":"0x2555fa46"}],"functionName":{"name":"mstore","nativeSrc":"43091:6:21","nodeType":"YulIdentifier","src":"43091:6:21"},"nativeSrc":"43091:24:21","nodeType":"YulFunctionCall","src":"43091:24:21"},"nativeSrc":"43091:24:21","nodeType":"YulExpressionStatement","src":"43091:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43135:4:21","nodeType":"YulLiteral","src":"43135:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"43141:2:21","nodeType":"YulIdentifier","src":"43141:2:21"}],"functionName":{"name":"mstore","nativeSrc":"43128:6:21","nodeType":"YulIdentifier","src":"43128:6:21"},"nativeSrc":"43128:16:21","nodeType":"YulFunctionCall","src":"43128:16:21"},"nativeSrc":"43128:16:21","nodeType":"YulExpressionStatement","src":"43128:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43164:4:21","nodeType":"YulLiteral","src":"43164:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"43170:2:21","nodeType":"YulIdentifier","src":"43170:2:21"}],"functionName":{"name":"mstore","nativeSrc":"43157:6:21","nodeType":"YulIdentifier","src":"43157:6:21"},"nativeSrc":"43157:16:21","nodeType":"YulFunctionCall","src":"43157:16:21"},"nativeSrc":"43157:16:21","nodeType":"YulExpressionStatement","src":"43157:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43193:4:21","nodeType":"YulLiteral","src":"43193:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"43199:4:21","nodeType":"YulLiteral","src":"43199:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"43186:6:21","nodeType":"YulIdentifier","src":"43186:6:21"},"nativeSrc":"43186:18:21","nodeType":"YulFunctionCall","src":"43186:18:21"},"nativeSrc":"43186:18:21","nodeType":"YulExpressionStatement","src":"43186:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43229:4:21","nodeType":"YulLiteral","src":"43229:4:21","type":"","value":"0x80"},{"name":"p2","nativeSrc":"43235:2:21","nodeType":"YulIdentifier","src":"43235:2:21"}],"functionName":{"name":"writeString","nativeSrc":"43217:11:21","nodeType":"YulIdentifier","src":"43217:11:21"},"nativeSrc":"43217:21:21","nodeType":"YulFunctionCall","src":"43217:21:21"},"nativeSrc":"43217:21:21","nodeType":"YulExpressionStatement","src":"43217:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28383,"isOffset":false,"isSlot":false,"src":"42859:2:21","valueSize":1},{"declaration":28386,"isOffset":false,"isSlot":false,"src":"42889:2:21","valueSize":1},{"declaration":28389,"isOffset":false,"isSlot":false,"src":"42919:2:21","valueSize":1},{"declaration":28392,"isOffset":false,"isSlot":false,"src":"42949:2:21","valueSize":1},{"declaration":28395,"isOffset":false,"isSlot":false,"src":"42979:2:21","valueSize":1},{"declaration":28398,"isOffset":false,"isSlot":false,"src":"43009:2:21","valueSize":1},{"declaration":28375,"isOffset":false,"isSlot":false,"src":"43141:2:21","valueSize":1},{"declaration":28377,"isOffset":false,"isSlot":false,"src":"43170:2:21","valueSize":1},{"declaration":28379,"isOffset":false,"isSlot":false,"src":"43235:2:21","valueSize":1}],"id":28400,"nodeType":"InlineAssembly","src":"42481:767:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43273:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43279:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"43257:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43257:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28405,"nodeType":"ExpressionStatement","src":"43257:27:21"},{"AST":{"nativeSrc":"43346:185:21","nodeType":"YulBlock","src":"43346:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"43367:4:21","nodeType":"YulLiteral","src":"43367:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"43373:2:21","nodeType":"YulIdentifier","src":"43373:2:21"}],"functionName":{"name":"mstore","nativeSrc":"43360:6:21","nodeType":"YulIdentifier","src":"43360:6:21"},"nativeSrc":"43360:16:21","nodeType":"YulFunctionCall","src":"43360:16:21"},"nativeSrc":"43360:16:21","nodeType":"YulExpressionStatement","src":"43360:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43396:4:21","nodeType":"YulLiteral","src":"43396:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"43402:2:21","nodeType":"YulIdentifier","src":"43402:2:21"}],"functionName":{"name":"mstore","nativeSrc":"43389:6:21","nodeType":"YulIdentifier","src":"43389:6:21"},"nativeSrc":"43389:16:21","nodeType":"YulFunctionCall","src":"43389:16:21"},"nativeSrc":"43389:16:21","nodeType":"YulExpressionStatement","src":"43389:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43425:4:21","nodeType":"YulLiteral","src":"43425:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"43431:2:21","nodeType":"YulIdentifier","src":"43431:2:21"}],"functionName":{"name":"mstore","nativeSrc":"43418:6:21","nodeType":"YulIdentifier","src":"43418:6:21"},"nativeSrc":"43418:16:21","nodeType":"YulFunctionCall","src":"43418:16:21"},"nativeSrc":"43418:16:21","nodeType":"YulExpressionStatement","src":"43418:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43454:4:21","nodeType":"YulLiteral","src":"43454:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"43460:2:21","nodeType":"YulIdentifier","src":"43460:2:21"}],"functionName":{"name":"mstore","nativeSrc":"43447:6:21","nodeType":"YulIdentifier","src":"43447:6:21"},"nativeSrc":"43447:16:21","nodeType":"YulFunctionCall","src":"43447:16:21"},"nativeSrc":"43447:16:21","nodeType":"YulExpressionStatement","src":"43447:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43483:4:21","nodeType":"YulLiteral","src":"43483:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"43489:2:21","nodeType":"YulIdentifier","src":"43489:2:21"}],"functionName":{"name":"mstore","nativeSrc":"43476:6:21","nodeType":"YulIdentifier","src":"43476:6:21"},"nativeSrc":"43476:16:21","nodeType":"YulFunctionCall","src":"43476:16:21"},"nativeSrc":"43476:16:21","nodeType":"YulExpressionStatement","src":"43476:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43512:4:21","nodeType":"YulLiteral","src":"43512:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"43518:2:21","nodeType":"YulIdentifier","src":"43518:2:21"}],"functionName":{"name":"mstore","nativeSrc":"43505:6:21","nodeType":"YulIdentifier","src":"43505:6:21"},"nativeSrc":"43505:16:21","nodeType":"YulFunctionCall","src":"43505:16:21"},"nativeSrc":"43505:16:21","nodeType":"YulExpressionStatement","src":"43505:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28383,"isOffset":false,"isSlot":false,"src":"43373:2:21","valueSize":1},{"declaration":28386,"isOffset":false,"isSlot":false,"src":"43402:2:21","valueSize":1},{"declaration":28389,"isOffset":false,"isSlot":false,"src":"43431:2:21","valueSize":1},{"declaration":28392,"isOffset":false,"isSlot":false,"src":"43460:2:21","valueSize":1},{"declaration":28395,"isOffset":false,"isSlot":false,"src":"43489:2:21","valueSize":1},{"declaration":28398,"isOffset":false,"isSlot":false,"src":"43518:2:21","valueSize":1}],"id":28406,"nodeType":"InlineAssembly","src":"43337:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42260:3:21","parameters":{"id":28380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28375,"mutability":"mutable","name":"p0","nameLocation":"42269:2:21","nodeType":"VariableDeclaration","scope":28408,"src":"42264:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28374,"name":"bool","nodeType":"ElementaryTypeName","src":"42264:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28377,"mutability":"mutable","name":"p1","nameLocation":"42278:2:21","nodeType":"VariableDeclaration","scope":28408,"src":"42273:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28376,"name":"bool","nodeType":"ElementaryTypeName","src":"42273:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28379,"mutability":"mutable","name":"p2","nameLocation":"42290:2:21","nodeType":"VariableDeclaration","scope":28408,"src":"42282:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42282:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"42263:30:21"},"returnParameters":{"id":28381,"nodeType":"ParameterList","parameters":[],"src":"42308:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28437,"nodeType":"FunctionDefinition","src":"43543:744:21","nodes":[],"body":{"id":28436,"nodeType":"Block","src":"43603:684:21","nodes":[],"statements":[{"assignments":[28418],"declarations":[{"constant":false,"id":28418,"mutability":"mutable","name":"m0","nameLocation":"43621:2:21","nodeType":"VariableDeclaration","scope":28436,"src":"43613:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43613:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28419,"nodeType":"VariableDeclarationStatement","src":"43613:10:21"},{"assignments":[28421],"declarations":[{"constant":false,"id":28421,"mutability":"mutable","name":"m1","nameLocation":"43641:2:21","nodeType":"VariableDeclaration","scope":28436,"src":"43633:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43633:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28422,"nodeType":"VariableDeclarationStatement","src":"43633:10:21"},{"assignments":[28424],"declarations":[{"constant":false,"id":28424,"mutability":"mutable","name":"m2","nameLocation":"43661:2:21","nodeType":"VariableDeclaration","scope":28436,"src":"43653:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28423,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43653:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28425,"nodeType":"VariableDeclarationStatement","src":"43653:10:21"},{"assignments":[28427],"declarations":[{"constant":false,"id":28427,"mutability":"mutable","name":"m3","nameLocation":"43681:2:21","nodeType":"VariableDeclaration","scope":28436,"src":"43673:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28426,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43673:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28428,"nodeType":"VariableDeclarationStatement","src":"43673:10:21"},{"AST":{"nativeSrc":"43745:311:21","nodeType":"YulBlock","src":"43745:311:21","statements":[{"nativeSrc":"43759:17:21","nodeType":"YulAssignment","src":"43759:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"43771:4:21","nodeType":"YulLiteral","src":"43771:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"43765:5:21","nodeType":"YulIdentifier","src":"43765:5:21"},"nativeSrc":"43765:11:21","nodeType":"YulFunctionCall","src":"43765:11:21"},"variableNames":[{"name":"m0","nativeSrc":"43759:2:21","nodeType":"YulIdentifier","src":"43759:2:21"}]},{"nativeSrc":"43789:17:21","nodeType":"YulAssignment","src":"43789:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"43801:4:21","nodeType":"YulLiteral","src":"43801:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"43795:5:21","nodeType":"YulIdentifier","src":"43795:5:21"},"nativeSrc":"43795:11:21","nodeType":"YulFunctionCall","src":"43795:11:21"},"variableNames":[{"name":"m1","nativeSrc":"43789:2:21","nodeType":"YulIdentifier","src":"43789:2:21"}]},{"nativeSrc":"43819:17:21","nodeType":"YulAssignment","src":"43819:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"43831:4:21","nodeType":"YulLiteral","src":"43831:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"43825:5:21","nodeType":"YulIdentifier","src":"43825:5:21"},"nativeSrc":"43825:11:21","nodeType":"YulFunctionCall","src":"43825:11:21"},"variableNames":[{"name":"m2","nativeSrc":"43819:2:21","nodeType":"YulIdentifier","src":"43819:2:21"}]},{"nativeSrc":"43849:17:21","nodeType":"YulAssignment","src":"43849:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"43861:4:21","nodeType":"YulLiteral","src":"43861:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"43855:5:21","nodeType":"YulIdentifier","src":"43855:5:21"},"nativeSrc":"43855:11:21","nodeType":"YulFunctionCall","src":"43855:11:21"},"variableNames":[{"name":"m3","nativeSrc":"43849:2:21","nodeType":"YulIdentifier","src":"43849:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43942:4:21","nodeType":"YulLiteral","src":"43942:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"43948:10:21","nodeType":"YulLiteral","src":"43948:10:21","type":"","value":"0x088ef9d2"}],"functionName":{"name":"mstore","nativeSrc":"43935:6:21","nodeType":"YulIdentifier","src":"43935:6:21"},"nativeSrc":"43935:24:21","nodeType":"YulFunctionCall","src":"43935:24:21"},"nativeSrc":"43935:24:21","nodeType":"YulExpressionStatement","src":"43935:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43979:4:21","nodeType":"YulLiteral","src":"43979:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"43985:2:21","nodeType":"YulIdentifier","src":"43985:2:21"}],"functionName":{"name":"mstore","nativeSrc":"43972:6:21","nodeType":"YulIdentifier","src":"43972:6:21"},"nativeSrc":"43972:16:21","nodeType":"YulFunctionCall","src":"43972:16:21"},"nativeSrc":"43972:16:21","nodeType":"YulExpressionStatement","src":"43972:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44008:4:21","nodeType":"YulLiteral","src":"44008:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"44014:2:21","nodeType":"YulIdentifier","src":"44014:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44001:6:21","nodeType":"YulIdentifier","src":"44001:6:21"},"nativeSrc":"44001:16:21","nodeType":"YulFunctionCall","src":"44001:16:21"},"nativeSrc":"44001:16:21","nodeType":"YulExpressionStatement","src":"44001:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44037:4:21","nodeType":"YulLiteral","src":"44037:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"44043:2:21","nodeType":"YulIdentifier","src":"44043:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44030:6:21","nodeType":"YulIdentifier","src":"44030:6:21"},"nativeSrc":"44030:16:21","nodeType":"YulFunctionCall","src":"44030:16:21"},"nativeSrc":"44030:16:21","nodeType":"YulExpressionStatement","src":"44030:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28418,"isOffset":false,"isSlot":false,"src":"43759:2:21","valueSize":1},{"declaration":28421,"isOffset":false,"isSlot":false,"src":"43789:2:21","valueSize":1},{"declaration":28424,"isOffset":false,"isSlot":false,"src":"43819:2:21","valueSize":1},{"declaration":28427,"isOffset":false,"isSlot":false,"src":"43849:2:21","valueSize":1},{"declaration":28410,"isOffset":false,"isSlot":false,"src":"43985:2:21","valueSize":1},{"declaration":28412,"isOffset":false,"isSlot":false,"src":"44014:2:21","valueSize":1},{"declaration":28414,"isOffset":false,"isSlot":false,"src":"44043:2:21","valueSize":1}],"id":28429,"nodeType":"InlineAssembly","src":"43736:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44081:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44087:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28430,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"44065:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44065:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28434,"nodeType":"ExpressionStatement","src":"44065:27:21"},{"AST":{"nativeSrc":"44154:127:21","nodeType":"YulBlock","src":"44154:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"44175:4:21","nodeType":"YulLiteral","src":"44175:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"44181:2:21","nodeType":"YulIdentifier","src":"44181:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44168:6:21","nodeType":"YulIdentifier","src":"44168:6:21"},"nativeSrc":"44168:16:21","nodeType":"YulFunctionCall","src":"44168:16:21"},"nativeSrc":"44168:16:21","nodeType":"YulExpressionStatement","src":"44168:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44204:4:21","nodeType":"YulLiteral","src":"44204:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"44210:2:21","nodeType":"YulIdentifier","src":"44210:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44197:6:21","nodeType":"YulIdentifier","src":"44197:6:21"},"nativeSrc":"44197:16:21","nodeType":"YulFunctionCall","src":"44197:16:21"},"nativeSrc":"44197:16:21","nodeType":"YulExpressionStatement","src":"44197:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44233:4:21","nodeType":"YulLiteral","src":"44233:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"44239:2:21","nodeType":"YulIdentifier","src":"44239:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44226:6:21","nodeType":"YulIdentifier","src":"44226:6:21"},"nativeSrc":"44226:16:21","nodeType":"YulFunctionCall","src":"44226:16:21"},"nativeSrc":"44226:16:21","nodeType":"YulExpressionStatement","src":"44226:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44262:4:21","nodeType":"YulLiteral","src":"44262:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"44268:2:21","nodeType":"YulIdentifier","src":"44268:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44255:6:21","nodeType":"YulIdentifier","src":"44255:6:21"},"nativeSrc":"44255:16:21","nodeType":"YulFunctionCall","src":"44255:16:21"},"nativeSrc":"44255:16:21","nodeType":"YulExpressionStatement","src":"44255:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28418,"isOffset":false,"isSlot":false,"src":"44181:2:21","valueSize":1},{"declaration":28421,"isOffset":false,"isSlot":false,"src":"44210:2:21","valueSize":1},{"declaration":28424,"isOffset":false,"isSlot":false,"src":"44239:2:21","valueSize":1},{"declaration":28427,"isOffset":false,"isSlot":false,"src":"44268:2:21","valueSize":1}],"id":28435,"nodeType":"InlineAssembly","src":"44145:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43552:3:21","parameters":{"id":28415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28410,"mutability":"mutable","name":"p0","nameLocation":"43561:2:21","nodeType":"VariableDeclaration","scope":28437,"src":"43556:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28409,"name":"bool","nodeType":"ElementaryTypeName","src":"43556:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28412,"mutability":"mutable","name":"p1","nameLocation":"43573:2:21","nodeType":"VariableDeclaration","scope":28437,"src":"43565:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28411,"name":"uint256","nodeType":"ElementaryTypeName","src":"43565:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28414,"mutability":"mutable","name":"p2","nameLocation":"43585:2:21","nodeType":"VariableDeclaration","scope":28437,"src":"43577:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28413,"name":"address","nodeType":"ElementaryTypeName","src":"43577:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43555:33:21"},"returnParameters":{"id":28416,"nodeType":"ParameterList","parameters":[],"src":"43603:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28466,"nodeType":"FunctionDefinition","src":"44293:738:21","nodes":[],"body":{"id":28465,"nodeType":"Block","src":"44350:681:21","nodes":[],"statements":[{"assignments":[28447],"declarations":[{"constant":false,"id":28447,"mutability":"mutable","name":"m0","nameLocation":"44368:2:21","nodeType":"VariableDeclaration","scope":28465,"src":"44360:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44360:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28448,"nodeType":"VariableDeclarationStatement","src":"44360:10:21"},{"assignments":[28450],"declarations":[{"constant":false,"id":28450,"mutability":"mutable","name":"m1","nameLocation":"44388:2:21","nodeType":"VariableDeclaration","scope":28465,"src":"44380:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44380:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28451,"nodeType":"VariableDeclarationStatement","src":"44380:10:21"},{"assignments":[28453],"declarations":[{"constant":false,"id":28453,"mutability":"mutable","name":"m2","nameLocation":"44408:2:21","nodeType":"VariableDeclaration","scope":28465,"src":"44400:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44400:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28454,"nodeType":"VariableDeclarationStatement","src":"44400:10:21"},{"assignments":[28456],"declarations":[{"constant":false,"id":28456,"mutability":"mutable","name":"m3","nameLocation":"44428:2:21","nodeType":"VariableDeclaration","scope":28465,"src":"44420:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44420:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28457,"nodeType":"VariableDeclarationStatement","src":"44420:10:21"},{"AST":{"nativeSrc":"44492:308:21","nodeType":"YulBlock","src":"44492:308:21","statements":[{"nativeSrc":"44506:17:21","nodeType":"YulAssignment","src":"44506:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"44518:4:21","nodeType":"YulLiteral","src":"44518:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"44512:5:21","nodeType":"YulIdentifier","src":"44512:5:21"},"nativeSrc":"44512:11:21","nodeType":"YulFunctionCall","src":"44512:11:21"},"variableNames":[{"name":"m0","nativeSrc":"44506:2:21","nodeType":"YulIdentifier","src":"44506:2:21"}]},{"nativeSrc":"44536:17:21","nodeType":"YulAssignment","src":"44536:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"44548:4:21","nodeType":"YulLiteral","src":"44548:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"44542:5:21","nodeType":"YulIdentifier","src":"44542:5:21"},"nativeSrc":"44542:11:21","nodeType":"YulFunctionCall","src":"44542:11:21"},"variableNames":[{"name":"m1","nativeSrc":"44536:2:21","nodeType":"YulIdentifier","src":"44536:2:21"}]},{"nativeSrc":"44566:17:21","nodeType":"YulAssignment","src":"44566:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"44578:4:21","nodeType":"YulLiteral","src":"44578:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"44572:5:21","nodeType":"YulIdentifier","src":"44572:5:21"},"nativeSrc":"44572:11:21","nodeType":"YulFunctionCall","src":"44572:11:21"},"variableNames":[{"name":"m2","nativeSrc":"44566:2:21","nodeType":"YulIdentifier","src":"44566:2:21"}]},{"nativeSrc":"44596:17:21","nodeType":"YulAssignment","src":"44596:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"44608:4:21","nodeType":"YulLiteral","src":"44608:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"44602:5:21","nodeType":"YulIdentifier","src":"44602:5:21"},"nativeSrc":"44602:11:21","nodeType":"YulFunctionCall","src":"44602:11:21"},"variableNames":[{"name":"m3","nativeSrc":"44596:2:21","nodeType":"YulIdentifier","src":"44596:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44686:4:21","nodeType":"YulLiteral","src":"44686:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"44692:10:21","nodeType":"YulLiteral","src":"44692:10:21","type":"","value":"0xe8defba9"}],"functionName":{"name":"mstore","nativeSrc":"44679:6:21","nodeType":"YulIdentifier","src":"44679:6:21"},"nativeSrc":"44679:24:21","nodeType":"YulFunctionCall","src":"44679:24:21"},"nativeSrc":"44679:24:21","nodeType":"YulExpressionStatement","src":"44679:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44723:4:21","nodeType":"YulLiteral","src":"44723:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"44729:2:21","nodeType":"YulIdentifier","src":"44729:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44716:6:21","nodeType":"YulIdentifier","src":"44716:6:21"},"nativeSrc":"44716:16:21","nodeType":"YulFunctionCall","src":"44716:16:21"},"nativeSrc":"44716:16:21","nodeType":"YulExpressionStatement","src":"44716:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44752:4:21","nodeType":"YulLiteral","src":"44752:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"44758:2:21","nodeType":"YulIdentifier","src":"44758:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44745:6:21","nodeType":"YulIdentifier","src":"44745:6:21"},"nativeSrc":"44745:16:21","nodeType":"YulFunctionCall","src":"44745:16:21"},"nativeSrc":"44745:16:21","nodeType":"YulExpressionStatement","src":"44745:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44781:4:21","nodeType":"YulLiteral","src":"44781:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"44787:2:21","nodeType":"YulIdentifier","src":"44787:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44774:6:21","nodeType":"YulIdentifier","src":"44774:6:21"},"nativeSrc":"44774:16:21","nodeType":"YulFunctionCall","src":"44774:16:21"},"nativeSrc":"44774:16:21","nodeType":"YulExpressionStatement","src":"44774:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28447,"isOffset":false,"isSlot":false,"src":"44506:2:21","valueSize":1},{"declaration":28450,"isOffset":false,"isSlot":false,"src":"44536:2:21","valueSize":1},{"declaration":28453,"isOffset":false,"isSlot":false,"src":"44566:2:21","valueSize":1},{"declaration":28456,"isOffset":false,"isSlot":false,"src":"44596:2:21","valueSize":1},{"declaration":28439,"isOffset":false,"isSlot":false,"src":"44729:2:21","valueSize":1},{"declaration":28441,"isOffset":false,"isSlot":false,"src":"44758:2:21","valueSize":1},{"declaration":28443,"isOffset":false,"isSlot":false,"src":"44787:2:21","valueSize":1}],"id":28458,"nodeType":"InlineAssembly","src":"44483:317:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44825:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44831:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28459,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"44809:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44809:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28463,"nodeType":"ExpressionStatement","src":"44809:27:21"},{"AST":{"nativeSrc":"44898:127:21","nodeType":"YulBlock","src":"44898:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"44919:4:21","nodeType":"YulLiteral","src":"44919:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"44925:2:21","nodeType":"YulIdentifier","src":"44925:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44912:6:21","nodeType":"YulIdentifier","src":"44912:6:21"},"nativeSrc":"44912:16:21","nodeType":"YulFunctionCall","src":"44912:16:21"},"nativeSrc":"44912:16:21","nodeType":"YulExpressionStatement","src":"44912:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44948:4:21","nodeType":"YulLiteral","src":"44948:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"44954:2:21","nodeType":"YulIdentifier","src":"44954:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44941:6:21","nodeType":"YulIdentifier","src":"44941:6:21"},"nativeSrc":"44941:16:21","nodeType":"YulFunctionCall","src":"44941:16:21"},"nativeSrc":"44941:16:21","nodeType":"YulExpressionStatement","src":"44941:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44977:4:21","nodeType":"YulLiteral","src":"44977:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"44983:2:21","nodeType":"YulIdentifier","src":"44983:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44970:6:21","nodeType":"YulIdentifier","src":"44970:6:21"},"nativeSrc":"44970:16:21","nodeType":"YulFunctionCall","src":"44970:16:21"},"nativeSrc":"44970:16:21","nodeType":"YulExpressionStatement","src":"44970:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45006:4:21","nodeType":"YulLiteral","src":"45006:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"45012:2:21","nodeType":"YulIdentifier","src":"45012:2:21"}],"functionName":{"name":"mstore","nativeSrc":"44999:6:21","nodeType":"YulIdentifier","src":"44999:6:21"},"nativeSrc":"44999:16:21","nodeType":"YulFunctionCall","src":"44999:16:21"},"nativeSrc":"44999:16:21","nodeType":"YulExpressionStatement","src":"44999:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28447,"isOffset":false,"isSlot":false,"src":"44925:2:21","valueSize":1},{"declaration":28450,"isOffset":false,"isSlot":false,"src":"44954:2:21","valueSize":1},{"declaration":28453,"isOffset":false,"isSlot":false,"src":"44983:2:21","valueSize":1},{"declaration":28456,"isOffset":false,"isSlot":false,"src":"45012:2:21","valueSize":1}],"id":28464,"nodeType":"InlineAssembly","src":"44889:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44302:3:21","parameters":{"id":28444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28439,"mutability":"mutable","name":"p0","nameLocation":"44311:2:21","nodeType":"VariableDeclaration","scope":28466,"src":"44306:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28438,"name":"bool","nodeType":"ElementaryTypeName","src":"44306:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28441,"mutability":"mutable","name":"p1","nameLocation":"44323:2:21","nodeType":"VariableDeclaration","scope":28466,"src":"44315:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28440,"name":"uint256","nodeType":"ElementaryTypeName","src":"44315:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28443,"mutability":"mutable","name":"p2","nameLocation":"44332:2:21","nodeType":"VariableDeclaration","scope":28466,"src":"44327:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28442,"name":"bool","nodeType":"ElementaryTypeName","src":"44327:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44305:30:21"},"returnParameters":{"id":28445,"nodeType":"ParameterList","parameters":[],"src":"44350:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28495,"nodeType":"FunctionDefinition","src":"45037:744:21","nodes":[],"body":{"id":28494,"nodeType":"Block","src":"45097:684:21","nodes":[],"statements":[{"assignments":[28476],"declarations":[{"constant":false,"id":28476,"mutability":"mutable","name":"m0","nameLocation":"45115:2:21","nodeType":"VariableDeclaration","scope":28494,"src":"45107:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45107:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28477,"nodeType":"VariableDeclarationStatement","src":"45107:10:21"},{"assignments":[28479],"declarations":[{"constant":false,"id":28479,"mutability":"mutable","name":"m1","nameLocation":"45135:2:21","nodeType":"VariableDeclaration","scope":28494,"src":"45127:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45127:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28480,"nodeType":"VariableDeclarationStatement","src":"45127:10:21"},{"assignments":[28482],"declarations":[{"constant":false,"id":28482,"mutability":"mutable","name":"m2","nameLocation":"45155:2:21","nodeType":"VariableDeclaration","scope":28494,"src":"45147:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45147:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28483,"nodeType":"VariableDeclarationStatement","src":"45147:10:21"},{"assignments":[28485],"declarations":[{"constant":false,"id":28485,"mutability":"mutable","name":"m3","nameLocation":"45175:2:21","nodeType":"VariableDeclaration","scope":28494,"src":"45167:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45167:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28486,"nodeType":"VariableDeclarationStatement","src":"45167:10:21"},{"AST":{"nativeSrc":"45239:311:21","nodeType":"YulBlock","src":"45239:311:21","statements":[{"nativeSrc":"45253:17:21","nodeType":"YulAssignment","src":"45253:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"45265:4:21","nodeType":"YulLiteral","src":"45265:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"45259:5:21","nodeType":"YulIdentifier","src":"45259:5:21"},"nativeSrc":"45259:11:21","nodeType":"YulFunctionCall","src":"45259:11:21"},"variableNames":[{"name":"m0","nativeSrc":"45253:2:21","nodeType":"YulIdentifier","src":"45253:2:21"}]},{"nativeSrc":"45283:17:21","nodeType":"YulAssignment","src":"45283:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"45295:4:21","nodeType":"YulLiteral","src":"45295:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"45289:5:21","nodeType":"YulIdentifier","src":"45289:5:21"},"nativeSrc":"45289:11:21","nodeType":"YulFunctionCall","src":"45289:11:21"},"variableNames":[{"name":"m1","nativeSrc":"45283:2:21","nodeType":"YulIdentifier","src":"45283:2:21"}]},{"nativeSrc":"45313:17:21","nodeType":"YulAssignment","src":"45313:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"45325:4:21","nodeType":"YulLiteral","src":"45325:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"45319:5:21","nodeType":"YulIdentifier","src":"45319:5:21"},"nativeSrc":"45319:11:21","nodeType":"YulFunctionCall","src":"45319:11:21"},"variableNames":[{"name":"m2","nativeSrc":"45313:2:21","nodeType":"YulIdentifier","src":"45313:2:21"}]},{"nativeSrc":"45343:17:21","nodeType":"YulAssignment","src":"45343:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"45355:4:21","nodeType":"YulLiteral","src":"45355:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"45349:5:21","nodeType":"YulIdentifier","src":"45349:5:21"},"nativeSrc":"45349:11:21","nodeType":"YulFunctionCall","src":"45349:11:21"},"variableNames":[{"name":"m3","nativeSrc":"45343:2:21","nodeType":"YulIdentifier","src":"45343:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45436:4:21","nodeType":"YulLiteral","src":"45436:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"45442:10:21","nodeType":"YulLiteral","src":"45442:10:21","type":"","value":"0x37103367"}],"functionName":{"name":"mstore","nativeSrc":"45429:6:21","nodeType":"YulIdentifier","src":"45429:6:21"},"nativeSrc":"45429:24:21","nodeType":"YulFunctionCall","src":"45429:24:21"},"nativeSrc":"45429:24:21","nodeType":"YulExpressionStatement","src":"45429:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45473:4:21","nodeType":"YulLiteral","src":"45473:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"45479:2:21","nodeType":"YulIdentifier","src":"45479:2:21"}],"functionName":{"name":"mstore","nativeSrc":"45466:6:21","nodeType":"YulIdentifier","src":"45466:6:21"},"nativeSrc":"45466:16:21","nodeType":"YulFunctionCall","src":"45466:16:21"},"nativeSrc":"45466:16:21","nodeType":"YulExpressionStatement","src":"45466:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45502:4:21","nodeType":"YulLiteral","src":"45502:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"45508:2:21","nodeType":"YulIdentifier","src":"45508:2:21"}],"functionName":{"name":"mstore","nativeSrc":"45495:6:21","nodeType":"YulIdentifier","src":"45495:6:21"},"nativeSrc":"45495:16:21","nodeType":"YulFunctionCall","src":"45495:16:21"},"nativeSrc":"45495:16:21","nodeType":"YulExpressionStatement","src":"45495:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45531:4:21","nodeType":"YulLiteral","src":"45531:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"45537:2:21","nodeType":"YulIdentifier","src":"45537:2:21"}],"functionName":{"name":"mstore","nativeSrc":"45524:6:21","nodeType":"YulIdentifier","src":"45524:6:21"},"nativeSrc":"45524:16:21","nodeType":"YulFunctionCall","src":"45524:16:21"},"nativeSrc":"45524:16:21","nodeType":"YulExpressionStatement","src":"45524:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28476,"isOffset":false,"isSlot":false,"src":"45253:2:21","valueSize":1},{"declaration":28479,"isOffset":false,"isSlot":false,"src":"45283:2:21","valueSize":1},{"declaration":28482,"isOffset":false,"isSlot":false,"src":"45313:2:21","valueSize":1},{"declaration":28485,"isOffset":false,"isSlot":false,"src":"45343:2:21","valueSize":1},{"declaration":28468,"isOffset":false,"isSlot":false,"src":"45479:2:21","valueSize":1},{"declaration":28470,"isOffset":false,"isSlot":false,"src":"45508:2:21","valueSize":1},{"declaration":28472,"isOffset":false,"isSlot":false,"src":"45537:2:21","valueSize":1}],"id":28487,"nodeType":"InlineAssembly","src":"45230:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45575:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45581:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28488,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"45559:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45559:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28492,"nodeType":"ExpressionStatement","src":"45559:27:21"},{"AST":{"nativeSrc":"45648:127:21","nodeType":"YulBlock","src":"45648:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"45669:4:21","nodeType":"YulLiteral","src":"45669:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"45675:2:21","nodeType":"YulIdentifier","src":"45675:2:21"}],"functionName":{"name":"mstore","nativeSrc":"45662:6:21","nodeType":"YulIdentifier","src":"45662:6:21"},"nativeSrc":"45662:16:21","nodeType":"YulFunctionCall","src":"45662:16:21"},"nativeSrc":"45662:16:21","nodeType":"YulExpressionStatement","src":"45662:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45698:4:21","nodeType":"YulLiteral","src":"45698:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"45704:2:21","nodeType":"YulIdentifier","src":"45704:2:21"}],"functionName":{"name":"mstore","nativeSrc":"45691:6:21","nodeType":"YulIdentifier","src":"45691:6:21"},"nativeSrc":"45691:16:21","nodeType":"YulFunctionCall","src":"45691:16:21"},"nativeSrc":"45691:16:21","nodeType":"YulExpressionStatement","src":"45691:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45727:4:21","nodeType":"YulLiteral","src":"45727:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"45733:2:21","nodeType":"YulIdentifier","src":"45733:2:21"}],"functionName":{"name":"mstore","nativeSrc":"45720:6:21","nodeType":"YulIdentifier","src":"45720:6:21"},"nativeSrc":"45720:16:21","nodeType":"YulFunctionCall","src":"45720:16:21"},"nativeSrc":"45720:16:21","nodeType":"YulExpressionStatement","src":"45720:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45756:4:21","nodeType":"YulLiteral","src":"45756:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"45762:2:21","nodeType":"YulIdentifier","src":"45762:2:21"}],"functionName":{"name":"mstore","nativeSrc":"45749:6:21","nodeType":"YulIdentifier","src":"45749:6:21"},"nativeSrc":"45749:16:21","nodeType":"YulFunctionCall","src":"45749:16:21"},"nativeSrc":"45749:16:21","nodeType":"YulExpressionStatement","src":"45749:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28476,"isOffset":false,"isSlot":false,"src":"45675:2:21","valueSize":1},{"declaration":28479,"isOffset":false,"isSlot":false,"src":"45704:2:21","valueSize":1},{"declaration":28482,"isOffset":false,"isSlot":false,"src":"45733:2:21","valueSize":1},{"declaration":28485,"isOffset":false,"isSlot":false,"src":"45762:2:21","valueSize":1}],"id":28493,"nodeType":"InlineAssembly","src":"45639:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45046:3:21","parameters":{"id":28473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28468,"mutability":"mutable","name":"p0","nameLocation":"45055:2:21","nodeType":"VariableDeclaration","scope":28495,"src":"45050:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28467,"name":"bool","nodeType":"ElementaryTypeName","src":"45050:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28470,"mutability":"mutable","name":"p1","nameLocation":"45067:2:21","nodeType":"VariableDeclaration","scope":28495,"src":"45059:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28469,"name":"uint256","nodeType":"ElementaryTypeName","src":"45059:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28472,"mutability":"mutable","name":"p2","nameLocation":"45079:2:21","nodeType":"VariableDeclaration","scope":28495,"src":"45071:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28471,"name":"uint256","nodeType":"ElementaryTypeName","src":"45071:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45049:33:21"},"returnParameters":{"id":28474,"nodeType":"ParameterList","parameters":[],"src":"45097:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28530,"nodeType":"FunctionDefinition","src":"45787:1292:21","nodes":[],"body":{"id":28529,"nodeType":"Block","src":"45847:1232:21","nodes":[],"statements":[{"assignments":[28505],"declarations":[{"constant":false,"id":28505,"mutability":"mutable","name":"m0","nameLocation":"45865:2:21","nodeType":"VariableDeclaration","scope":28529,"src":"45857:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45857:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28506,"nodeType":"VariableDeclarationStatement","src":"45857:10:21"},{"assignments":[28508],"declarations":[{"constant":false,"id":28508,"mutability":"mutable","name":"m1","nameLocation":"45885:2:21","nodeType":"VariableDeclaration","scope":28529,"src":"45877:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28507,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45877:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28509,"nodeType":"VariableDeclarationStatement","src":"45877:10:21"},{"assignments":[28511],"declarations":[{"constant":false,"id":28511,"mutability":"mutable","name":"m2","nameLocation":"45905:2:21","nodeType":"VariableDeclaration","scope":28529,"src":"45897:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45897:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28512,"nodeType":"VariableDeclarationStatement","src":"45897:10:21"},{"assignments":[28514],"declarations":[{"constant":false,"id":28514,"mutability":"mutable","name":"m3","nameLocation":"45925:2:21","nodeType":"VariableDeclaration","scope":28529,"src":"45917:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45917:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28515,"nodeType":"VariableDeclarationStatement","src":"45917:10:21"},{"assignments":[28517],"declarations":[{"constant":false,"id":28517,"mutability":"mutable","name":"m4","nameLocation":"45945:2:21","nodeType":"VariableDeclaration","scope":28529,"src":"45937:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45937:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28518,"nodeType":"VariableDeclarationStatement","src":"45937:10:21"},{"assignments":[28520],"declarations":[{"constant":false,"id":28520,"mutability":"mutable","name":"m5","nameLocation":"45965:2:21","nodeType":"VariableDeclaration","scope":28529,"src":"45957:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45957:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28521,"nodeType":"VariableDeclarationStatement","src":"45957:10:21"},{"AST":{"nativeSrc":"46029:761:21","nodeType":"YulBlock","src":"46029:761:21","statements":[{"body":{"nativeSrc":"46072:313:21","nodeType":"YulBlock","src":"46072:313:21","statements":[{"nativeSrc":"46090:15:21","nodeType":"YulVariableDeclaration","src":"46090:15:21","value":{"kind":"number","nativeSrc":"46104:1:21","nodeType":"YulLiteral","src":"46104:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"46094:6:21","nodeType":"YulTypedName","src":"46094:6:21","type":""}]},{"body":{"nativeSrc":"46175:40:21","nodeType":"YulBlock","src":"46175:40:21","statements":[{"body":{"nativeSrc":"46204:9:21","nodeType":"YulBlock","src":"46204:9:21","statements":[{"nativeSrc":"46206:5:21","nodeType":"YulBreak","src":"46206:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"46192:6:21","nodeType":"YulIdentifier","src":"46192:6:21"},{"name":"w","nativeSrc":"46200:1:21","nodeType":"YulIdentifier","src":"46200:1:21"}],"functionName":{"name":"byte","nativeSrc":"46187:4:21","nodeType":"YulIdentifier","src":"46187:4:21"},"nativeSrc":"46187:15:21","nodeType":"YulFunctionCall","src":"46187:15:21"}],"functionName":{"name":"iszero","nativeSrc":"46180:6:21","nodeType":"YulIdentifier","src":"46180:6:21"},"nativeSrc":"46180:23:21","nodeType":"YulFunctionCall","src":"46180:23:21"},"nativeSrc":"46177:36:21","nodeType":"YulIf","src":"46177:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"46132:6:21","nodeType":"YulIdentifier","src":"46132:6:21"},{"kind":"number","nativeSrc":"46140:4:21","nodeType":"YulLiteral","src":"46140:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"46129:2:21","nodeType":"YulIdentifier","src":"46129:2:21"},"nativeSrc":"46129:16:21","nodeType":"YulFunctionCall","src":"46129:16:21"},"nativeSrc":"46122:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"46146:28:21","nodeType":"YulBlock","src":"46146:28:21","statements":[{"nativeSrc":"46148:24:21","nodeType":"YulAssignment","src":"46148:24:21","value":{"arguments":[{"name":"length","nativeSrc":"46162:6:21","nodeType":"YulIdentifier","src":"46162:6:21"},{"kind":"number","nativeSrc":"46170:1:21","nodeType":"YulLiteral","src":"46170:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"46158:3:21","nodeType":"YulIdentifier","src":"46158:3:21"},"nativeSrc":"46158:14:21","nodeType":"YulFunctionCall","src":"46158:14:21"},"variableNames":[{"name":"length","nativeSrc":"46148:6:21","nodeType":"YulIdentifier","src":"46148:6:21"}]}]},"pre":{"nativeSrc":"46126:2:21","nodeType":"YulBlock","src":"46126:2:21","statements":[]},"src":"46122:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"46239:3:21","nodeType":"YulIdentifier","src":"46239:3:21"},{"name":"length","nativeSrc":"46244:6:21","nodeType":"YulIdentifier","src":"46244:6:21"}],"functionName":{"name":"mstore","nativeSrc":"46232:6:21","nodeType":"YulIdentifier","src":"46232:6:21"},"nativeSrc":"46232:19:21","nodeType":"YulFunctionCall","src":"46232:19:21"},"nativeSrc":"46232:19:21","nodeType":"YulExpressionStatement","src":"46232:19:21"},{"nativeSrc":"46268:37:21","nodeType":"YulVariableDeclaration","src":"46268:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"46285:3:21","nodeType":"YulLiteral","src":"46285:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"46294:1:21","nodeType":"YulLiteral","src":"46294:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"46297:6:21","nodeType":"YulIdentifier","src":"46297:6:21"}],"functionName":{"name":"shl","nativeSrc":"46290:3:21","nodeType":"YulIdentifier","src":"46290:3:21"},"nativeSrc":"46290:14:21","nodeType":"YulFunctionCall","src":"46290:14:21"}],"functionName":{"name":"sub","nativeSrc":"46281:3:21","nodeType":"YulIdentifier","src":"46281:3:21"},"nativeSrc":"46281:24:21","nodeType":"YulFunctionCall","src":"46281:24:21"},"variables":[{"name":"shift","nativeSrc":"46272:5:21","nodeType":"YulTypedName","src":"46272:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"46333:3:21","nodeType":"YulIdentifier","src":"46333:3:21"},{"kind":"number","nativeSrc":"46338:4:21","nodeType":"YulLiteral","src":"46338:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"46329:3:21","nodeType":"YulIdentifier","src":"46329:3:21"},"nativeSrc":"46329:14:21","nodeType":"YulFunctionCall","src":"46329:14:21"},{"arguments":[{"name":"shift","nativeSrc":"46349:5:21","nodeType":"YulIdentifier","src":"46349:5:21"},{"arguments":[{"name":"shift","nativeSrc":"46360:5:21","nodeType":"YulIdentifier","src":"46360:5:21"},{"name":"w","nativeSrc":"46367:1:21","nodeType":"YulIdentifier","src":"46367:1:21"}],"functionName":{"name":"shr","nativeSrc":"46356:3:21","nodeType":"YulIdentifier","src":"46356:3:21"},"nativeSrc":"46356:13:21","nodeType":"YulFunctionCall","src":"46356:13:21"}],"functionName":{"name":"shl","nativeSrc":"46345:3:21","nodeType":"YulIdentifier","src":"46345:3:21"},"nativeSrc":"46345:25:21","nodeType":"YulFunctionCall","src":"46345:25:21"}],"functionName":{"name":"mstore","nativeSrc":"46322:6:21","nodeType":"YulIdentifier","src":"46322:6:21"},"nativeSrc":"46322:49:21","nodeType":"YulFunctionCall","src":"46322:49:21"},"nativeSrc":"46322:49:21","nodeType":"YulExpressionStatement","src":"46322:49:21"}]},"name":"writeString","nativeSrc":"46043:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"46064:3:21","nodeType":"YulTypedName","src":"46064:3:21","type":""},{"name":"w","nativeSrc":"46069:1:21","nodeType":"YulTypedName","src":"46069:1:21","type":""}],"src":"46043:342:21"},{"nativeSrc":"46398:17:21","nodeType":"YulAssignment","src":"46398:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"46410:4:21","nodeType":"YulLiteral","src":"46410:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"46404:5:21","nodeType":"YulIdentifier","src":"46404:5:21"},"nativeSrc":"46404:11:21","nodeType":"YulFunctionCall","src":"46404:11:21"},"variableNames":[{"name":"m0","nativeSrc":"46398:2:21","nodeType":"YulIdentifier","src":"46398:2:21"}]},{"nativeSrc":"46428:17:21","nodeType":"YulAssignment","src":"46428:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"46440:4:21","nodeType":"YulLiteral","src":"46440:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"46434:5:21","nodeType":"YulIdentifier","src":"46434:5:21"},"nativeSrc":"46434:11:21","nodeType":"YulFunctionCall","src":"46434:11:21"},"variableNames":[{"name":"m1","nativeSrc":"46428:2:21","nodeType":"YulIdentifier","src":"46428:2:21"}]},{"nativeSrc":"46458:17:21","nodeType":"YulAssignment","src":"46458:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"46470:4:21","nodeType":"YulLiteral","src":"46470:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"46464:5:21","nodeType":"YulIdentifier","src":"46464:5:21"},"nativeSrc":"46464:11:21","nodeType":"YulFunctionCall","src":"46464:11:21"},"variableNames":[{"name":"m2","nativeSrc":"46458:2:21","nodeType":"YulIdentifier","src":"46458:2:21"}]},{"nativeSrc":"46488:17:21","nodeType":"YulAssignment","src":"46488:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"46500:4:21","nodeType":"YulLiteral","src":"46500:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"46494:5:21","nodeType":"YulIdentifier","src":"46494:5:21"},"nativeSrc":"46494:11:21","nodeType":"YulFunctionCall","src":"46494:11:21"},"variableNames":[{"name":"m3","nativeSrc":"46488:2:21","nodeType":"YulIdentifier","src":"46488:2:21"}]},{"nativeSrc":"46518:17:21","nodeType":"YulAssignment","src":"46518:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"46530:4:21","nodeType":"YulLiteral","src":"46530:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"46524:5:21","nodeType":"YulIdentifier","src":"46524:5:21"},"nativeSrc":"46524:11:21","nodeType":"YulFunctionCall","src":"46524:11:21"},"variableNames":[{"name":"m4","nativeSrc":"46518:2:21","nodeType":"YulIdentifier","src":"46518:2:21"}]},{"nativeSrc":"46548:17:21","nodeType":"YulAssignment","src":"46548:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"46560:4:21","nodeType":"YulLiteral","src":"46560:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"46554:5:21","nodeType":"YulIdentifier","src":"46554:5:21"},"nativeSrc":"46554:11:21","nodeType":"YulFunctionCall","src":"46554:11:21"},"variableNames":[{"name":"m5","nativeSrc":"46548:2:21","nodeType":"YulIdentifier","src":"46548:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46640:4:21","nodeType":"YulLiteral","src":"46640:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"46646:10:21","nodeType":"YulLiteral","src":"46646:10:21","type":"","value":"0xc3fc3970"}],"functionName":{"name":"mstore","nativeSrc":"46633:6:21","nodeType":"YulIdentifier","src":"46633:6:21"},"nativeSrc":"46633:24:21","nodeType":"YulFunctionCall","src":"46633:24:21"},"nativeSrc":"46633:24:21","nodeType":"YulExpressionStatement","src":"46633:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46677:4:21","nodeType":"YulLiteral","src":"46677:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"46683:2:21","nodeType":"YulIdentifier","src":"46683:2:21"}],"functionName":{"name":"mstore","nativeSrc":"46670:6:21","nodeType":"YulIdentifier","src":"46670:6:21"},"nativeSrc":"46670:16:21","nodeType":"YulFunctionCall","src":"46670:16:21"},"nativeSrc":"46670:16:21","nodeType":"YulExpressionStatement","src":"46670:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46706:4:21","nodeType":"YulLiteral","src":"46706:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"46712:2:21","nodeType":"YulIdentifier","src":"46712:2:21"}],"functionName":{"name":"mstore","nativeSrc":"46699:6:21","nodeType":"YulIdentifier","src":"46699:6:21"},"nativeSrc":"46699:16:21","nodeType":"YulFunctionCall","src":"46699:16:21"},"nativeSrc":"46699:16:21","nodeType":"YulExpressionStatement","src":"46699:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46735:4:21","nodeType":"YulLiteral","src":"46735:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"46741:4:21","nodeType":"YulLiteral","src":"46741:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"46728:6:21","nodeType":"YulIdentifier","src":"46728:6:21"},"nativeSrc":"46728:18:21","nodeType":"YulFunctionCall","src":"46728:18:21"},"nativeSrc":"46728:18:21","nodeType":"YulExpressionStatement","src":"46728:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46771:4:21","nodeType":"YulLiteral","src":"46771:4:21","type":"","value":"0x80"},{"name":"p2","nativeSrc":"46777:2:21","nodeType":"YulIdentifier","src":"46777:2:21"}],"functionName":{"name":"writeString","nativeSrc":"46759:11:21","nodeType":"YulIdentifier","src":"46759:11:21"},"nativeSrc":"46759:21:21","nodeType":"YulFunctionCall","src":"46759:21:21"},"nativeSrc":"46759:21:21","nodeType":"YulExpressionStatement","src":"46759:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28505,"isOffset":false,"isSlot":false,"src":"46398:2:21","valueSize":1},{"declaration":28508,"isOffset":false,"isSlot":false,"src":"46428:2:21","valueSize":1},{"declaration":28511,"isOffset":false,"isSlot":false,"src":"46458:2:21","valueSize":1},{"declaration":28514,"isOffset":false,"isSlot":false,"src":"46488:2:21","valueSize":1},{"declaration":28517,"isOffset":false,"isSlot":false,"src":"46518:2:21","valueSize":1},{"declaration":28520,"isOffset":false,"isSlot":false,"src":"46548:2:21","valueSize":1},{"declaration":28497,"isOffset":false,"isSlot":false,"src":"46683:2:21","valueSize":1},{"declaration":28499,"isOffset":false,"isSlot":false,"src":"46712:2:21","valueSize":1},{"declaration":28501,"isOffset":false,"isSlot":false,"src":"46777:2:21","valueSize":1}],"id":28522,"nodeType":"InlineAssembly","src":"46020:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46815:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46821:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28523,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"46799:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46799:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28527,"nodeType":"ExpressionStatement","src":"46799:27:21"},{"AST":{"nativeSrc":"46888:185:21","nodeType":"YulBlock","src":"46888:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"46909:4:21","nodeType":"YulLiteral","src":"46909:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"46915:2:21","nodeType":"YulIdentifier","src":"46915:2:21"}],"functionName":{"name":"mstore","nativeSrc":"46902:6:21","nodeType":"YulIdentifier","src":"46902:6:21"},"nativeSrc":"46902:16:21","nodeType":"YulFunctionCall","src":"46902:16:21"},"nativeSrc":"46902:16:21","nodeType":"YulExpressionStatement","src":"46902:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46938:4:21","nodeType":"YulLiteral","src":"46938:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"46944:2:21","nodeType":"YulIdentifier","src":"46944:2:21"}],"functionName":{"name":"mstore","nativeSrc":"46931:6:21","nodeType":"YulIdentifier","src":"46931:6:21"},"nativeSrc":"46931:16:21","nodeType":"YulFunctionCall","src":"46931:16:21"},"nativeSrc":"46931:16:21","nodeType":"YulExpressionStatement","src":"46931:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46967:4:21","nodeType":"YulLiteral","src":"46967:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"46973:2:21","nodeType":"YulIdentifier","src":"46973:2:21"}],"functionName":{"name":"mstore","nativeSrc":"46960:6:21","nodeType":"YulIdentifier","src":"46960:6:21"},"nativeSrc":"46960:16:21","nodeType":"YulFunctionCall","src":"46960:16:21"},"nativeSrc":"46960:16:21","nodeType":"YulExpressionStatement","src":"46960:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46996:4:21","nodeType":"YulLiteral","src":"46996:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"47002:2:21","nodeType":"YulIdentifier","src":"47002:2:21"}],"functionName":{"name":"mstore","nativeSrc":"46989:6:21","nodeType":"YulIdentifier","src":"46989:6:21"},"nativeSrc":"46989:16:21","nodeType":"YulFunctionCall","src":"46989:16:21"},"nativeSrc":"46989:16:21","nodeType":"YulExpressionStatement","src":"46989:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47025:4:21","nodeType":"YulLiteral","src":"47025:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"47031:2:21","nodeType":"YulIdentifier","src":"47031:2:21"}],"functionName":{"name":"mstore","nativeSrc":"47018:6:21","nodeType":"YulIdentifier","src":"47018:6:21"},"nativeSrc":"47018:16:21","nodeType":"YulFunctionCall","src":"47018:16:21"},"nativeSrc":"47018:16:21","nodeType":"YulExpressionStatement","src":"47018:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47054:4:21","nodeType":"YulLiteral","src":"47054:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"47060:2:21","nodeType":"YulIdentifier","src":"47060:2:21"}],"functionName":{"name":"mstore","nativeSrc":"47047:6:21","nodeType":"YulIdentifier","src":"47047:6:21"},"nativeSrc":"47047:16:21","nodeType":"YulFunctionCall","src":"47047:16:21"},"nativeSrc":"47047:16:21","nodeType":"YulExpressionStatement","src":"47047:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28505,"isOffset":false,"isSlot":false,"src":"46915:2:21","valueSize":1},{"declaration":28508,"isOffset":false,"isSlot":false,"src":"46944:2:21","valueSize":1},{"declaration":28511,"isOffset":false,"isSlot":false,"src":"46973:2:21","valueSize":1},{"declaration":28514,"isOffset":false,"isSlot":false,"src":"47002:2:21","valueSize":1},{"declaration":28517,"isOffset":false,"isSlot":false,"src":"47031:2:21","valueSize":1},{"declaration":28520,"isOffset":false,"isSlot":false,"src":"47060:2:21","valueSize":1}],"id":28528,"nodeType":"InlineAssembly","src":"46879:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45796:3:21","parameters":{"id":28502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28497,"mutability":"mutable","name":"p0","nameLocation":"45805:2:21","nodeType":"VariableDeclaration","scope":28530,"src":"45800:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28496,"name":"bool","nodeType":"ElementaryTypeName","src":"45800:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28499,"mutability":"mutable","name":"p1","nameLocation":"45817:2:21","nodeType":"VariableDeclaration","scope":28530,"src":"45809:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28498,"name":"uint256","nodeType":"ElementaryTypeName","src":"45809:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28501,"mutability":"mutable","name":"p2","nameLocation":"45829:2:21","nodeType":"VariableDeclaration","scope":28530,"src":"45821:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45821:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"45799:33:21"},"returnParameters":{"id":28503,"nodeType":"ParameterList","parameters":[],"src":"45847:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28565,"nodeType":"FunctionDefinition","src":"47085:1292:21","nodes":[],"body":{"id":28564,"nodeType":"Block","src":"47145:1232:21","nodes":[],"statements":[{"assignments":[28540],"declarations":[{"constant":false,"id":28540,"mutability":"mutable","name":"m0","nameLocation":"47163:2:21","nodeType":"VariableDeclaration","scope":28564,"src":"47155:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47155:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28541,"nodeType":"VariableDeclarationStatement","src":"47155:10:21"},{"assignments":[28543],"declarations":[{"constant":false,"id":28543,"mutability":"mutable","name":"m1","nameLocation":"47183:2:21","nodeType":"VariableDeclaration","scope":28564,"src":"47175:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47175:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28544,"nodeType":"VariableDeclarationStatement","src":"47175:10:21"},{"assignments":[28546],"declarations":[{"constant":false,"id":28546,"mutability":"mutable","name":"m2","nameLocation":"47203:2:21","nodeType":"VariableDeclaration","scope":28564,"src":"47195:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47195:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28547,"nodeType":"VariableDeclarationStatement","src":"47195:10:21"},{"assignments":[28549],"declarations":[{"constant":false,"id":28549,"mutability":"mutable","name":"m3","nameLocation":"47223:2:21","nodeType":"VariableDeclaration","scope":28564,"src":"47215:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47215:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28550,"nodeType":"VariableDeclarationStatement","src":"47215:10:21"},{"assignments":[28552],"declarations":[{"constant":false,"id":28552,"mutability":"mutable","name":"m4","nameLocation":"47243:2:21","nodeType":"VariableDeclaration","scope":28564,"src":"47235:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47235:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28553,"nodeType":"VariableDeclarationStatement","src":"47235:10:21"},{"assignments":[28555],"declarations":[{"constant":false,"id":28555,"mutability":"mutable","name":"m5","nameLocation":"47263:2:21","nodeType":"VariableDeclaration","scope":28564,"src":"47255:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47255:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28556,"nodeType":"VariableDeclarationStatement","src":"47255:10:21"},{"AST":{"nativeSrc":"47327:761:21","nodeType":"YulBlock","src":"47327:761:21","statements":[{"body":{"nativeSrc":"47370:313:21","nodeType":"YulBlock","src":"47370:313:21","statements":[{"nativeSrc":"47388:15:21","nodeType":"YulVariableDeclaration","src":"47388:15:21","value":{"kind":"number","nativeSrc":"47402:1:21","nodeType":"YulLiteral","src":"47402:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"47392:6:21","nodeType":"YulTypedName","src":"47392:6:21","type":""}]},{"body":{"nativeSrc":"47473:40:21","nodeType":"YulBlock","src":"47473:40:21","statements":[{"body":{"nativeSrc":"47502:9:21","nodeType":"YulBlock","src":"47502:9:21","statements":[{"nativeSrc":"47504:5:21","nodeType":"YulBreak","src":"47504:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"47490:6:21","nodeType":"YulIdentifier","src":"47490:6:21"},{"name":"w","nativeSrc":"47498:1:21","nodeType":"YulIdentifier","src":"47498:1:21"}],"functionName":{"name":"byte","nativeSrc":"47485:4:21","nodeType":"YulIdentifier","src":"47485:4:21"},"nativeSrc":"47485:15:21","nodeType":"YulFunctionCall","src":"47485:15:21"}],"functionName":{"name":"iszero","nativeSrc":"47478:6:21","nodeType":"YulIdentifier","src":"47478:6:21"},"nativeSrc":"47478:23:21","nodeType":"YulFunctionCall","src":"47478:23:21"},"nativeSrc":"47475:36:21","nodeType":"YulIf","src":"47475:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"47430:6:21","nodeType":"YulIdentifier","src":"47430:6:21"},{"kind":"number","nativeSrc":"47438:4:21","nodeType":"YulLiteral","src":"47438:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"47427:2:21","nodeType":"YulIdentifier","src":"47427:2:21"},"nativeSrc":"47427:16:21","nodeType":"YulFunctionCall","src":"47427:16:21"},"nativeSrc":"47420:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"47444:28:21","nodeType":"YulBlock","src":"47444:28:21","statements":[{"nativeSrc":"47446:24:21","nodeType":"YulAssignment","src":"47446:24:21","value":{"arguments":[{"name":"length","nativeSrc":"47460:6:21","nodeType":"YulIdentifier","src":"47460:6:21"},{"kind":"number","nativeSrc":"47468:1:21","nodeType":"YulLiteral","src":"47468:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"47456:3:21","nodeType":"YulIdentifier","src":"47456:3:21"},"nativeSrc":"47456:14:21","nodeType":"YulFunctionCall","src":"47456:14:21"},"variableNames":[{"name":"length","nativeSrc":"47446:6:21","nodeType":"YulIdentifier","src":"47446:6:21"}]}]},"pre":{"nativeSrc":"47424:2:21","nodeType":"YulBlock","src":"47424:2:21","statements":[]},"src":"47420:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"47537:3:21","nodeType":"YulIdentifier","src":"47537:3:21"},{"name":"length","nativeSrc":"47542:6:21","nodeType":"YulIdentifier","src":"47542:6:21"}],"functionName":{"name":"mstore","nativeSrc":"47530:6:21","nodeType":"YulIdentifier","src":"47530:6:21"},"nativeSrc":"47530:19:21","nodeType":"YulFunctionCall","src":"47530:19:21"},"nativeSrc":"47530:19:21","nodeType":"YulExpressionStatement","src":"47530:19:21"},{"nativeSrc":"47566:37:21","nodeType":"YulVariableDeclaration","src":"47566:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"47583:3:21","nodeType":"YulLiteral","src":"47583:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"47592:1:21","nodeType":"YulLiteral","src":"47592:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"47595:6:21","nodeType":"YulIdentifier","src":"47595:6:21"}],"functionName":{"name":"shl","nativeSrc":"47588:3:21","nodeType":"YulIdentifier","src":"47588:3:21"},"nativeSrc":"47588:14:21","nodeType":"YulFunctionCall","src":"47588:14:21"}],"functionName":{"name":"sub","nativeSrc":"47579:3:21","nodeType":"YulIdentifier","src":"47579:3:21"},"nativeSrc":"47579:24:21","nodeType":"YulFunctionCall","src":"47579:24:21"},"variables":[{"name":"shift","nativeSrc":"47570:5:21","nodeType":"YulTypedName","src":"47570:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"47631:3:21","nodeType":"YulIdentifier","src":"47631:3:21"},{"kind":"number","nativeSrc":"47636:4:21","nodeType":"YulLiteral","src":"47636:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"47627:3:21","nodeType":"YulIdentifier","src":"47627:3:21"},"nativeSrc":"47627:14:21","nodeType":"YulFunctionCall","src":"47627:14:21"},{"arguments":[{"name":"shift","nativeSrc":"47647:5:21","nodeType":"YulIdentifier","src":"47647:5:21"},{"arguments":[{"name":"shift","nativeSrc":"47658:5:21","nodeType":"YulIdentifier","src":"47658:5:21"},{"name":"w","nativeSrc":"47665:1:21","nodeType":"YulIdentifier","src":"47665:1:21"}],"functionName":{"name":"shr","nativeSrc":"47654:3:21","nodeType":"YulIdentifier","src":"47654:3:21"},"nativeSrc":"47654:13:21","nodeType":"YulFunctionCall","src":"47654:13:21"}],"functionName":{"name":"shl","nativeSrc":"47643:3:21","nodeType":"YulIdentifier","src":"47643:3:21"},"nativeSrc":"47643:25:21","nodeType":"YulFunctionCall","src":"47643:25:21"}],"functionName":{"name":"mstore","nativeSrc":"47620:6:21","nodeType":"YulIdentifier","src":"47620:6:21"},"nativeSrc":"47620:49:21","nodeType":"YulFunctionCall","src":"47620:49:21"},"nativeSrc":"47620:49:21","nodeType":"YulExpressionStatement","src":"47620:49:21"}]},"name":"writeString","nativeSrc":"47341:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"47362:3:21","nodeType":"YulTypedName","src":"47362:3:21","type":""},{"name":"w","nativeSrc":"47367:1:21","nodeType":"YulTypedName","src":"47367:1:21","type":""}],"src":"47341:342:21"},{"nativeSrc":"47696:17:21","nodeType":"YulAssignment","src":"47696:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"47708:4:21","nodeType":"YulLiteral","src":"47708:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"47702:5:21","nodeType":"YulIdentifier","src":"47702:5:21"},"nativeSrc":"47702:11:21","nodeType":"YulFunctionCall","src":"47702:11:21"},"variableNames":[{"name":"m0","nativeSrc":"47696:2:21","nodeType":"YulIdentifier","src":"47696:2:21"}]},{"nativeSrc":"47726:17:21","nodeType":"YulAssignment","src":"47726:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"47738:4:21","nodeType":"YulLiteral","src":"47738:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"47732:5:21","nodeType":"YulIdentifier","src":"47732:5:21"},"nativeSrc":"47732:11:21","nodeType":"YulFunctionCall","src":"47732:11:21"},"variableNames":[{"name":"m1","nativeSrc":"47726:2:21","nodeType":"YulIdentifier","src":"47726:2:21"}]},{"nativeSrc":"47756:17:21","nodeType":"YulAssignment","src":"47756:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"47768:4:21","nodeType":"YulLiteral","src":"47768:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"47762:5:21","nodeType":"YulIdentifier","src":"47762:5:21"},"nativeSrc":"47762:11:21","nodeType":"YulFunctionCall","src":"47762:11:21"},"variableNames":[{"name":"m2","nativeSrc":"47756:2:21","nodeType":"YulIdentifier","src":"47756:2:21"}]},{"nativeSrc":"47786:17:21","nodeType":"YulAssignment","src":"47786:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"47798:4:21","nodeType":"YulLiteral","src":"47798:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"47792:5:21","nodeType":"YulIdentifier","src":"47792:5:21"},"nativeSrc":"47792:11:21","nodeType":"YulFunctionCall","src":"47792:11:21"},"variableNames":[{"name":"m3","nativeSrc":"47786:2:21","nodeType":"YulIdentifier","src":"47786:2:21"}]},{"nativeSrc":"47816:17:21","nodeType":"YulAssignment","src":"47816:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"47828:4:21","nodeType":"YulLiteral","src":"47828:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"47822:5:21","nodeType":"YulIdentifier","src":"47822:5:21"},"nativeSrc":"47822:11:21","nodeType":"YulFunctionCall","src":"47822:11:21"},"variableNames":[{"name":"m4","nativeSrc":"47816:2:21","nodeType":"YulIdentifier","src":"47816:2:21"}]},{"nativeSrc":"47846:17:21","nodeType":"YulAssignment","src":"47846:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"47858:4:21","nodeType":"YulLiteral","src":"47858:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"47852:5:21","nodeType":"YulIdentifier","src":"47852:5:21"},"nativeSrc":"47852:11:21","nodeType":"YulFunctionCall","src":"47852:11:21"},"variableNames":[{"name":"m5","nativeSrc":"47846:2:21","nodeType":"YulIdentifier","src":"47846:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47938:4:21","nodeType":"YulLiteral","src":"47938:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"47944:10:21","nodeType":"YulLiteral","src":"47944:10:21","type":"","value":"0x9591b953"}],"functionName":{"name":"mstore","nativeSrc":"47931:6:21","nodeType":"YulIdentifier","src":"47931:6:21"},"nativeSrc":"47931:24:21","nodeType":"YulFunctionCall","src":"47931:24:21"},"nativeSrc":"47931:24:21","nodeType":"YulExpressionStatement","src":"47931:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47975:4:21","nodeType":"YulLiteral","src":"47975:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"47981:2:21","nodeType":"YulIdentifier","src":"47981:2:21"}],"functionName":{"name":"mstore","nativeSrc":"47968:6:21","nodeType":"YulIdentifier","src":"47968:6:21"},"nativeSrc":"47968:16:21","nodeType":"YulFunctionCall","src":"47968:16:21"},"nativeSrc":"47968:16:21","nodeType":"YulExpressionStatement","src":"47968:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48004:4:21","nodeType":"YulLiteral","src":"48004:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"48010:4:21","nodeType":"YulLiteral","src":"48010:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"47997:6:21","nodeType":"YulIdentifier","src":"47997:6:21"},"nativeSrc":"47997:18:21","nodeType":"YulFunctionCall","src":"47997:18:21"},"nativeSrc":"47997:18:21","nodeType":"YulExpressionStatement","src":"47997:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48035:4:21","nodeType":"YulLiteral","src":"48035:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"48041:2:21","nodeType":"YulIdentifier","src":"48041:2:21"}],"functionName":{"name":"mstore","nativeSrc":"48028:6:21","nodeType":"YulIdentifier","src":"48028:6:21"},"nativeSrc":"48028:16:21","nodeType":"YulFunctionCall","src":"48028:16:21"},"nativeSrc":"48028:16:21","nodeType":"YulExpressionStatement","src":"48028:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48069:4:21","nodeType":"YulLiteral","src":"48069:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"48075:2:21","nodeType":"YulIdentifier","src":"48075:2:21"}],"functionName":{"name":"writeString","nativeSrc":"48057:11:21","nodeType":"YulIdentifier","src":"48057:11:21"},"nativeSrc":"48057:21:21","nodeType":"YulFunctionCall","src":"48057:21:21"},"nativeSrc":"48057:21:21","nodeType":"YulExpressionStatement","src":"48057:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28540,"isOffset":false,"isSlot":false,"src":"47696:2:21","valueSize":1},{"declaration":28543,"isOffset":false,"isSlot":false,"src":"47726:2:21","valueSize":1},{"declaration":28546,"isOffset":false,"isSlot":false,"src":"47756:2:21","valueSize":1},{"declaration":28549,"isOffset":false,"isSlot":false,"src":"47786:2:21","valueSize":1},{"declaration":28552,"isOffset":false,"isSlot":false,"src":"47816:2:21","valueSize":1},{"declaration":28555,"isOffset":false,"isSlot":false,"src":"47846:2:21","valueSize":1},{"declaration":28532,"isOffset":false,"isSlot":false,"src":"47981:2:21","valueSize":1},{"declaration":28534,"isOffset":false,"isSlot":false,"src":"48075:2:21","valueSize":1},{"declaration":28536,"isOffset":false,"isSlot":false,"src":"48041:2:21","valueSize":1}],"id":28557,"nodeType":"InlineAssembly","src":"47318:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48113:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48119:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28558,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"48097:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48097:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28562,"nodeType":"ExpressionStatement","src":"48097:27:21"},{"AST":{"nativeSrc":"48186:185:21","nodeType":"YulBlock","src":"48186:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"48207:4:21","nodeType":"YulLiteral","src":"48207:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"48213:2:21","nodeType":"YulIdentifier","src":"48213:2:21"}],"functionName":{"name":"mstore","nativeSrc":"48200:6:21","nodeType":"YulIdentifier","src":"48200:6:21"},"nativeSrc":"48200:16:21","nodeType":"YulFunctionCall","src":"48200:16:21"},"nativeSrc":"48200:16:21","nodeType":"YulExpressionStatement","src":"48200:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48236:4:21","nodeType":"YulLiteral","src":"48236:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"48242:2:21","nodeType":"YulIdentifier","src":"48242:2:21"}],"functionName":{"name":"mstore","nativeSrc":"48229:6:21","nodeType":"YulIdentifier","src":"48229:6:21"},"nativeSrc":"48229:16:21","nodeType":"YulFunctionCall","src":"48229:16:21"},"nativeSrc":"48229:16:21","nodeType":"YulExpressionStatement","src":"48229:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48265:4:21","nodeType":"YulLiteral","src":"48265:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"48271:2:21","nodeType":"YulIdentifier","src":"48271:2:21"}],"functionName":{"name":"mstore","nativeSrc":"48258:6:21","nodeType":"YulIdentifier","src":"48258:6:21"},"nativeSrc":"48258:16:21","nodeType":"YulFunctionCall","src":"48258:16:21"},"nativeSrc":"48258:16:21","nodeType":"YulExpressionStatement","src":"48258:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48294:4:21","nodeType":"YulLiteral","src":"48294:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"48300:2:21","nodeType":"YulIdentifier","src":"48300:2:21"}],"functionName":{"name":"mstore","nativeSrc":"48287:6:21","nodeType":"YulIdentifier","src":"48287:6:21"},"nativeSrc":"48287:16:21","nodeType":"YulFunctionCall","src":"48287:16:21"},"nativeSrc":"48287:16:21","nodeType":"YulExpressionStatement","src":"48287:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48323:4:21","nodeType":"YulLiteral","src":"48323:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"48329:2:21","nodeType":"YulIdentifier","src":"48329:2:21"}],"functionName":{"name":"mstore","nativeSrc":"48316:6:21","nodeType":"YulIdentifier","src":"48316:6:21"},"nativeSrc":"48316:16:21","nodeType":"YulFunctionCall","src":"48316:16:21"},"nativeSrc":"48316:16:21","nodeType":"YulExpressionStatement","src":"48316:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48352:4:21","nodeType":"YulLiteral","src":"48352:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"48358:2:21","nodeType":"YulIdentifier","src":"48358:2:21"}],"functionName":{"name":"mstore","nativeSrc":"48345:6:21","nodeType":"YulIdentifier","src":"48345:6:21"},"nativeSrc":"48345:16:21","nodeType":"YulFunctionCall","src":"48345:16:21"},"nativeSrc":"48345:16:21","nodeType":"YulExpressionStatement","src":"48345:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28540,"isOffset":false,"isSlot":false,"src":"48213:2:21","valueSize":1},{"declaration":28543,"isOffset":false,"isSlot":false,"src":"48242:2:21","valueSize":1},{"declaration":28546,"isOffset":false,"isSlot":false,"src":"48271:2:21","valueSize":1},{"declaration":28549,"isOffset":false,"isSlot":false,"src":"48300:2:21","valueSize":1},{"declaration":28552,"isOffset":false,"isSlot":false,"src":"48329:2:21","valueSize":1},{"declaration":28555,"isOffset":false,"isSlot":false,"src":"48358:2:21","valueSize":1}],"id":28563,"nodeType":"InlineAssembly","src":"48177:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47094:3:21","parameters":{"id":28537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28532,"mutability":"mutable","name":"p0","nameLocation":"47103:2:21","nodeType":"VariableDeclaration","scope":28565,"src":"47098:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28531,"name":"bool","nodeType":"ElementaryTypeName","src":"47098:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28534,"mutability":"mutable","name":"p1","nameLocation":"47115:2:21","nodeType":"VariableDeclaration","scope":28565,"src":"47107:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47107:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28536,"mutability":"mutable","name":"p2","nameLocation":"47127:2:21","nodeType":"VariableDeclaration","scope":28565,"src":"47119:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28535,"name":"address","nodeType":"ElementaryTypeName","src":"47119:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47097:33:21"},"returnParameters":{"id":28538,"nodeType":"ParameterList","parameters":[],"src":"47145:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28600,"nodeType":"FunctionDefinition","src":"48383:1286:21","nodes":[],"body":{"id":28599,"nodeType":"Block","src":"48440:1229:21","nodes":[],"statements":[{"assignments":[28575],"declarations":[{"constant":false,"id":28575,"mutability":"mutable","name":"m0","nameLocation":"48458:2:21","nodeType":"VariableDeclaration","scope":28599,"src":"48450:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48450:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28576,"nodeType":"VariableDeclarationStatement","src":"48450:10:21"},{"assignments":[28578],"declarations":[{"constant":false,"id":28578,"mutability":"mutable","name":"m1","nameLocation":"48478:2:21","nodeType":"VariableDeclaration","scope":28599,"src":"48470:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48470:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28579,"nodeType":"VariableDeclarationStatement","src":"48470:10:21"},{"assignments":[28581],"declarations":[{"constant":false,"id":28581,"mutability":"mutable","name":"m2","nameLocation":"48498:2:21","nodeType":"VariableDeclaration","scope":28599,"src":"48490:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48490:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28582,"nodeType":"VariableDeclarationStatement","src":"48490:10:21"},{"assignments":[28584],"declarations":[{"constant":false,"id":28584,"mutability":"mutable","name":"m3","nameLocation":"48518:2:21","nodeType":"VariableDeclaration","scope":28599,"src":"48510:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48510:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28585,"nodeType":"VariableDeclarationStatement","src":"48510:10:21"},{"assignments":[28587],"declarations":[{"constant":false,"id":28587,"mutability":"mutable","name":"m4","nameLocation":"48538:2:21","nodeType":"VariableDeclaration","scope":28599,"src":"48530:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48530:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28588,"nodeType":"VariableDeclarationStatement","src":"48530:10:21"},{"assignments":[28590],"declarations":[{"constant":false,"id":28590,"mutability":"mutable","name":"m5","nameLocation":"48558:2:21","nodeType":"VariableDeclaration","scope":28599,"src":"48550:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48550:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28591,"nodeType":"VariableDeclarationStatement","src":"48550:10:21"},{"AST":{"nativeSrc":"48622:758:21","nodeType":"YulBlock","src":"48622:758:21","statements":[{"body":{"nativeSrc":"48665:313:21","nodeType":"YulBlock","src":"48665:313:21","statements":[{"nativeSrc":"48683:15:21","nodeType":"YulVariableDeclaration","src":"48683:15:21","value":{"kind":"number","nativeSrc":"48697:1:21","nodeType":"YulLiteral","src":"48697:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"48687:6:21","nodeType":"YulTypedName","src":"48687:6:21","type":""}]},{"body":{"nativeSrc":"48768:40:21","nodeType":"YulBlock","src":"48768:40:21","statements":[{"body":{"nativeSrc":"48797:9:21","nodeType":"YulBlock","src":"48797:9:21","statements":[{"nativeSrc":"48799:5:21","nodeType":"YulBreak","src":"48799:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"48785:6:21","nodeType":"YulIdentifier","src":"48785:6:21"},{"name":"w","nativeSrc":"48793:1:21","nodeType":"YulIdentifier","src":"48793:1:21"}],"functionName":{"name":"byte","nativeSrc":"48780:4:21","nodeType":"YulIdentifier","src":"48780:4:21"},"nativeSrc":"48780:15:21","nodeType":"YulFunctionCall","src":"48780:15:21"}],"functionName":{"name":"iszero","nativeSrc":"48773:6:21","nodeType":"YulIdentifier","src":"48773:6:21"},"nativeSrc":"48773:23:21","nodeType":"YulFunctionCall","src":"48773:23:21"},"nativeSrc":"48770:36:21","nodeType":"YulIf","src":"48770:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"48725:6:21","nodeType":"YulIdentifier","src":"48725:6:21"},{"kind":"number","nativeSrc":"48733:4:21","nodeType":"YulLiteral","src":"48733:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"48722:2:21","nodeType":"YulIdentifier","src":"48722:2:21"},"nativeSrc":"48722:16:21","nodeType":"YulFunctionCall","src":"48722:16:21"},"nativeSrc":"48715:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"48739:28:21","nodeType":"YulBlock","src":"48739:28:21","statements":[{"nativeSrc":"48741:24:21","nodeType":"YulAssignment","src":"48741:24:21","value":{"arguments":[{"name":"length","nativeSrc":"48755:6:21","nodeType":"YulIdentifier","src":"48755:6:21"},{"kind":"number","nativeSrc":"48763:1:21","nodeType":"YulLiteral","src":"48763:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"48751:3:21","nodeType":"YulIdentifier","src":"48751:3:21"},"nativeSrc":"48751:14:21","nodeType":"YulFunctionCall","src":"48751:14:21"},"variableNames":[{"name":"length","nativeSrc":"48741:6:21","nodeType":"YulIdentifier","src":"48741:6:21"}]}]},"pre":{"nativeSrc":"48719:2:21","nodeType":"YulBlock","src":"48719:2:21","statements":[]},"src":"48715:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"48832:3:21","nodeType":"YulIdentifier","src":"48832:3:21"},{"name":"length","nativeSrc":"48837:6:21","nodeType":"YulIdentifier","src":"48837:6:21"}],"functionName":{"name":"mstore","nativeSrc":"48825:6:21","nodeType":"YulIdentifier","src":"48825:6:21"},"nativeSrc":"48825:19:21","nodeType":"YulFunctionCall","src":"48825:19:21"},"nativeSrc":"48825:19:21","nodeType":"YulExpressionStatement","src":"48825:19:21"},{"nativeSrc":"48861:37:21","nodeType":"YulVariableDeclaration","src":"48861:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"48878:3:21","nodeType":"YulLiteral","src":"48878:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"48887:1:21","nodeType":"YulLiteral","src":"48887:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"48890:6:21","nodeType":"YulIdentifier","src":"48890:6:21"}],"functionName":{"name":"shl","nativeSrc":"48883:3:21","nodeType":"YulIdentifier","src":"48883:3:21"},"nativeSrc":"48883:14:21","nodeType":"YulFunctionCall","src":"48883:14:21"}],"functionName":{"name":"sub","nativeSrc":"48874:3:21","nodeType":"YulIdentifier","src":"48874:3:21"},"nativeSrc":"48874:24:21","nodeType":"YulFunctionCall","src":"48874:24:21"},"variables":[{"name":"shift","nativeSrc":"48865:5:21","nodeType":"YulTypedName","src":"48865:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"48926:3:21","nodeType":"YulIdentifier","src":"48926:3:21"},{"kind":"number","nativeSrc":"48931:4:21","nodeType":"YulLiteral","src":"48931:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"48922:3:21","nodeType":"YulIdentifier","src":"48922:3:21"},"nativeSrc":"48922:14:21","nodeType":"YulFunctionCall","src":"48922:14:21"},{"arguments":[{"name":"shift","nativeSrc":"48942:5:21","nodeType":"YulIdentifier","src":"48942:5:21"},{"arguments":[{"name":"shift","nativeSrc":"48953:5:21","nodeType":"YulIdentifier","src":"48953:5:21"},{"name":"w","nativeSrc":"48960:1:21","nodeType":"YulIdentifier","src":"48960:1:21"}],"functionName":{"name":"shr","nativeSrc":"48949:3:21","nodeType":"YulIdentifier","src":"48949:3:21"},"nativeSrc":"48949:13:21","nodeType":"YulFunctionCall","src":"48949:13:21"}],"functionName":{"name":"shl","nativeSrc":"48938:3:21","nodeType":"YulIdentifier","src":"48938:3:21"},"nativeSrc":"48938:25:21","nodeType":"YulFunctionCall","src":"48938:25:21"}],"functionName":{"name":"mstore","nativeSrc":"48915:6:21","nodeType":"YulIdentifier","src":"48915:6:21"},"nativeSrc":"48915:49:21","nodeType":"YulFunctionCall","src":"48915:49:21"},"nativeSrc":"48915:49:21","nodeType":"YulExpressionStatement","src":"48915:49:21"}]},"name":"writeString","nativeSrc":"48636:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"48657:3:21","nodeType":"YulTypedName","src":"48657:3:21","type":""},{"name":"w","nativeSrc":"48662:1:21","nodeType":"YulTypedName","src":"48662:1:21","type":""}],"src":"48636:342:21"},{"nativeSrc":"48991:17:21","nodeType":"YulAssignment","src":"48991:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"49003:4:21","nodeType":"YulLiteral","src":"49003:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"48997:5:21","nodeType":"YulIdentifier","src":"48997:5:21"},"nativeSrc":"48997:11:21","nodeType":"YulFunctionCall","src":"48997:11:21"},"variableNames":[{"name":"m0","nativeSrc":"48991:2:21","nodeType":"YulIdentifier","src":"48991:2:21"}]},{"nativeSrc":"49021:17:21","nodeType":"YulAssignment","src":"49021:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"49033:4:21","nodeType":"YulLiteral","src":"49033:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"49027:5:21","nodeType":"YulIdentifier","src":"49027:5:21"},"nativeSrc":"49027:11:21","nodeType":"YulFunctionCall","src":"49027:11:21"},"variableNames":[{"name":"m1","nativeSrc":"49021:2:21","nodeType":"YulIdentifier","src":"49021:2:21"}]},{"nativeSrc":"49051:17:21","nodeType":"YulAssignment","src":"49051:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"49063:4:21","nodeType":"YulLiteral","src":"49063:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"49057:5:21","nodeType":"YulIdentifier","src":"49057:5:21"},"nativeSrc":"49057:11:21","nodeType":"YulFunctionCall","src":"49057:11:21"},"variableNames":[{"name":"m2","nativeSrc":"49051:2:21","nodeType":"YulIdentifier","src":"49051:2:21"}]},{"nativeSrc":"49081:17:21","nodeType":"YulAssignment","src":"49081:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"49093:4:21","nodeType":"YulLiteral","src":"49093:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"49087:5:21","nodeType":"YulIdentifier","src":"49087:5:21"},"nativeSrc":"49087:11:21","nodeType":"YulFunctionCall","src":"49087:11:21"},"variableNames":[{"name":"m3","nativeSrc":"49081:2:21","nodeType":"YulIdentifier","src":"49081:2:21"}]},{"nativeSrc":"49111:17:21","nodeType":"YulAssignment","src":"49111:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"49123:4:21","nodeType":"YulLiteral","src":"49123:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"49117:5:21","nodeType":"YulIdentifier","src":"49117:5:21"},"nativeSrc":"49117:11:21","nodeType":"YulFunctionCall","src":"49117:11:21"},"variableNames":[{"name":"m4","nativeSrc":"49111:2:21","nodeType":"YulIdentifier","src":"49111:2:21"}]},{"nativeSrc":"49141:17:21","nodeType":"YulAssignment","src":"49141:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"49153:4:21","nodeType":"YulLiteral","src":"49153:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"49147:5:21","nodeType":"YulIdentifier","src":"49147:5:21"},"nativeSrc":"49147:11:21","nodeType":"YulFunctionCall","src":"49147:11:21"},"variableNames":[{"name":"m5","nativeSrc":"49141:2:21","nodeType":"YulIdentifier","src":"49141:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49230:4:21","nodeType":"YulLiteral","src":"49230:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"49236:10:21","nodeType":"YulLiteral","src":"49236:10:21","type":"","value":"0xdbb4c247"}],"functionName":{"name":"mstore","nativeSrc":"49223:6:21","nodeType":"YulIdentifier","src":"49223:6:21"},"nativeSrc":"49223:24:21","nodeType":"YulFunctionCall","src":"49223:24:21"},"nativeSrc":"49223:24:21","nodeType":"YulExpressionStatement","src":"49223:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49267:4:21","nodeType":"YulLiteral","src":"49267:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"49273:2:21","nodeType":"YulIdentifier","src":"49273:2:21"}],"functionName":{"name":"mstore","nativeSrc":"49260:6:21","nodeType":"YulIdentifier","src":"49260:6:21"},"nativeSrc":"49260:16:21","nodeType":"YulFunctionCall","src":"49260:16:21"},"nativeSrc":"49260:16:21","nodeType":"YulExpressionStatement","src":"49260:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49296:4:21","nodeType":"YulLiteral","src":"49296:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"49302:4:21","nodeType":"YulLiteral","src":"49302:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"49289:6:21","nodeType":"YulIdentifier","src":"49289:6:21"},"nativeSrc":"49289:18:21","nodeType":"YulFunctionCall","src":"49289:18:21"},"nativeSrc":"49289:18:21","nodeType":"YulExpressionStatement","src":"49289:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49327:4:21","nodeType":"YulLiteral","src":"49327:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"49333:2:21","nodeType":"YulIdentifier","src":"49333:2:21"}],"functionName":{"name":"mstore","nativeSrc":"49320:6:21","nodeType":"YulIdentifier","src":"49320:6:21"},"nativeSrc":"49320:16:21","nodeType":"YulFunctionCall","src":"49320:16:21"},"nativeSrc":"49320:16:21","nodeType":"YulExpressionStatement","src":"49320:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49361:4:21","nodeType":"YulLiteral","src":"49361:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"49367:2:21","nodeType":"YulIdentifier","src":"49367:2:21"}],"functionName":{"name":"writeString","nativeSrc":"49349:11:21","nodeType":"YulIdentifier","src":"49349:11:21"},"nativeSrc":"49349:21:21","nodeType":"YulFunctionCall","src":"49349:21:21"},"nativeSrc":"49349:21:21","nodeType":"YulExpressionStatement","src":"49349:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28575,"isOffset":false,"isSlot":false,"src":"48991:2:21","valueSize":1},{"declaration":28578,"isOffset":false,"isSlot":false,"src":"49021:2:21","valueSize":1},{"declaration":28581,"isOffset":false,"isSlot":false,"src":"49051:2:21","valueSize":1},{"declaration":28584,"isOffset":false,"isSlot":false,"src":"49081:2:21","valueSize":1},{"declaration":28587,"isOffset":false,"isSlot":false,"src":"49111:2:21","valueSize":1},{"declaration":28590,"isOffset":false,"isSlot":false,"src":"49141:2:21","valueSize":1},{"declaration":28567,"isOffset":false,"isSlot":false,"src":"49273:2:21","valueSize":1},{"declaration":28569,"isOffset":false,"isSlot":false,"src":"49367:2:21","valueSize":1},{"declaration":28571,"isOffset":false,"isSlot":false,"src":"49333:2:21","valueSize":1}],"id":28592,"nodeType":"InlineAssembly","src":"48613:767:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49405:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49411:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28593,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"49389:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49389:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28597,"nodeType":"ExpressionStatement","src":"49389:27:21"},{"AST":{"nativeSrc":"49478:185:21","nodeType":"YulBlock","src":"49478:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"49499:4:21","nodeType":"YulLiteral","src":"49499:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"49505:2:21","nodeType":"YulIdentifier","src":"49505:2:21"}],"functionName":{"name":"mstore","nativeSrc":"49492:6:21","nodeType":"YulIdentifier","src":"49492:6:21"},"nativeSrc":"49492:16:21","nodeType":"YulFunctionCall","src":"49492:16:21"},"nativeSrc":"49492:16:21","nodeType":"YulExpressionStatement","src":"49492:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49528:4:21","nodeType":"YulLiteral","src":"49528:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"49534:2:21","nodeType":"YulIdentifier","src":"49534:2:21"}],"functionName":{"name":"mstore","nativeSrc":"49521:6:21","nodeType":"YulIdentifier","src":"49521:6:21"},"nativeSrc":"49521:16:21","nodeType":"YulFunctionCall","src":"49521:16:21"},"nativeSrc":"49521:16:21","nodeType":"YulExpressionStatement","src":"49521:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49557:4:21","nodeType":"YulLiteral","src":"49557:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"49563:2:21","nodeType":"YulIdentifier","src":"49563:2:21"}],"functionName":{"name":"mstore","nativeSrc":"49550:6:21","nodeType":"YulIdentifier","src":"49550:6:21"},"nativeSrc":"49550:16:21","nodeType":"YulFunctionCall","src":"49550:16:21"},"nativeSrc":"49550:16:21","nodeType":"YulExpressionStatement","src":"49550:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49586:4:21","nodeType":"YulLiteral","src":"49586:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"49592:2:21","nodeType":"YulIdentifier","src":"49592:2:21"}],"functionName":{"name":"mstore","nativeSrc":"49579:6:21","nodeType":"YulIdentifier","src":"49579:6:21"},"nativeSrc":"49579:16:21","nodeType":"YulFunctionCall","src":"49579:16:21"},"nativeSrc":"49579:16:21","nodeType":"YulExpressionStatement","src":"49579:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49615:4:21","nodeType":"YulLiteral","src":"49615:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"49621:2:21","nodeType":"YulIdentifier","src":"49621:2:21"}],"functionName":{"name":"mstore","nativeSrc":"49608:6:21","nodeType":"YulIdentifier","src":"49608:6:21"},"nativeSrc":"49608:16:21","nodeType":"YulFunctionCall","src":"49608:16:21"},"nativeSrc":"49608:16:21","nodeType":"YulExpressionStatement","src":"49608:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49644:4:21","nodeType":"YulLiteral","src":"49644:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"49650:2:21","nodeType":"YulIdentifier","src":"49650:2:21"}],"functionName":{"name":"mstore","nativeSrc":"49637:6:21","nodeType":"YulIdentifier","src":"49637:6:21"},"nativeSrc":"49637:16:21","nodeType":"YulFunctionCall","src":"49637:16:21"},"nativeSrc":"49637:16:21","nodeType":"YulExpressionStatement","src":"49637:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28575,"isOffset":false,"isSlot":false,"src":"49505:2:21","valueSize":1},{"declaration":28578,"isOffset":false,"isSlot":false,"src":"49534:2:21","valueSize":1},{"declaration":28581,"isOffset":false,"isSlot":false,"src":"49563:2:21","valueSize":1},{"declaration":28584,"isOffset":false,"isSlot":false,"src":"49592:2:21","valueSize":1},{"declaration":28587,"isOffset":false,"isSlot":false,"src":"49621:2:21","valueSize":1},{"declaration":28590,"isOffset":false,"isSlot":false,"src":"49650:2:21","valueSize":1}],"id":28598,"nodeType":"InlineAssembly","src":"49469:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48392:3:21","parameters":{"id":28572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28567,"mutability":"mutable","name":"p0","nameLocation":"48401:2:21","nodeType":"VariableDeclaration","scope":28600,"src":"48396:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28566,"name":"bool","nodeType":"ElementaryTypeName","src":"48396:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28569,"mutability":"mutable","name":"p1","nameLocation":"48413:2:21","nodeType":"VariableDeclaration","scope":28600,"src":"48405:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48405:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28571,"mutability":"mutable","name":"p2","nameLocation":"48422:2:21","nodeType":"VariableDeclaration","scope":28600,"src":"48417:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28570,"name":"bool","nodeType":"ElementaryTypeName","src":"48417:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48395:30:21"},"returnParameters":{"id":28573,"nodeType":"ParameterList","parameters":[],"src":"48440:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28635,"nodeType":"FunctionDefinition","src":"49675:1292:21","nodes":[],"body":{"id":28634,"nodeType":"Block","src":"49735:1232:21","nodes":[],"statements":[{"assignments":[28610],"declarations":[{"constant":false,"id":28610,"mutability":"mutable","name":"m0","nameLocation":"49753:2:21","nodeType":"VariableDeclaration","scope":28634,"src":"49745:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49745:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28611,"nodeType":"VariableDeclarationStatement","src":"49745:10:21"},{"assignments":[28613],"declarations":[{"constant":false,"id":28613,"mutability":"mutable","name":"m1","nameLocation":"49773:2:21","nodeType":"VariableDeclaration","scope":28634,"src":"49765:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49765:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28614,"nodeType":"VariableDeclarationStatement","src":"49765:10:21"},{"assignments":[28616],"declarations":[{"constant":false,"id":28616,"mutability":"mutable","name":"m2","nameLocation":"49793:2:21","nodeType":"VariableDeclaration","scope":28634,"src":"49785:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49785:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28617,"nodeType":"VariableDeclarationStatement","src":"49785:10:21"},{"assignments":[28619],"declarations":[{"constant":false,"id":28619,"mutability":"mutable","name":"m3","nameLocation":"49813:2:21","nodeType":"VariableDeclaration","scope":28634,"src":"49805:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49805:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28620,"nodeType":"VariableDeclarationStatement","src":"49805:10:21"},{"assignments":[28622],"declarations":[{"constant":false,"id":28622,"mutability":"mutable","name":"m4","nameLocation":"49833:2:21","nodeType":"VariableDeclaration","scope":28634,"src":"49825:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49825:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28623,"nodeType":"VariableDeclarationStatement","src":"49825:10:21"},{"assignments":[28625],"declarations":[{"constant":false,"id":28625,"mutability":"mutable","name":"m5","nameLocation":"49853:2:21","nodeType":"VariableDeclaration","scope":28634,"src":"49845:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49845:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28626,"nodeType":"VariableDeclarationStatement","src":"49845:10:21"},{"AST":{"nativeSrc":"49917:761:21","nodeType":"YulBlock","src":"49917:761:21","statements":[{"body":{"nativeSrc":"49960:313:21","nodeType":"YulBlock","src":"49960:313:21","statements":[{"nativeSrc":"49978:15:21","nodeType":"YulVariableDeclaration","src":"49978:15:21","value":{"kind":"number","nativeSrc":"49992:1:21","nodeType":"YulLiteral","src":"49992:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"49982:6:21","nodeType":"YulTypedName","src":"49982:6:21","type":""}]},{"body":{"nativeSrc":"50063:40:21","nodeType":"YulBlock","src":"50063:40:21","statements":[{"body":{"nativeSrc":"50092:9:21","nodeType":"YulBlock","src":"50092:9:21","statements":[{"nativeSrc":"50094:5:21","nodeType":"YulBreak","src":"50094:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"50080:6:21","nodeType":"YulIdentifier","src":"50080:6:21"},{"name":"w","nativeSrc":"50088:1:21","nodeType":"YulIdentifier","src":"50088:1:21"}],"functionName":{"name":"byte","nativeSrc":"50075:4:21","nodeType":"YulIdentifier","src":"50075:4:21"},"nativeSrc":"50075:15:21","nodeType":"YulFunctionCall","src":"50075:15:21"}],"functionName":{"name":"iszero","nativeSrc":"50068:6:21","nodeType":"YulIdentifier","src":"50068:6:21"},"nativeSrc":"50068:23:21","nodeType":"YulFunctionCall","src":"50068:23:21"},"nativeSrc":"50065:36:21","nodeType":"YulIf","src":"50065:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"50020:6:21","nodeType":"YulIdentifier","src":"50020:6:21"},{"kind":"number","nativeSrc":"50028:4:21","nodeType":"YulLiteral","src":"50028:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"50017:2:21","nodeType":"YulIdentifier","src":"50017:2:21"},"nativeSrc":"50017:16:21","nodeType":"YulFunctionCall","src":"50017:16:21"},"nativeSrc":"50010:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"50034:28:21","nodeType":"YulBlock","src":"50034:28:21","statements":[{"nativeSrc":"50036:24:21","nodeType":"YulAssignment","src":"50036:24:21","value":{"arguments":[{"name":"length","nativeSrc":"50050:6:21","nodeType":"YulIdentifier","src":"50050:6:21"},{"kind":"number","nativeSrc":"50058:1:21","nodeType":"YulLiteral","src":"50058:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"50046:3:21","nodeType":"YulIdentifier","src":"50046:3:21"},"nativeSrc":"50046:14:21","nodeType":"YulFunctionCall","src":"50046:14:21"},"variableNames":[{"name":"length","nativeSrc":"50036:6:21","nodeType":"YulIdentifier","src":"50036:6:21"}]}]},"pre":{"nativeSrc":"50014:2:21","nodeType":"YulBlock","src":"50014:2:21","statements":[]},"src":"50010:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"50127:3:21","nodeType":"YulIdentifier","src":"50127:3:21"},{"name":"length","nativeSrc":"50132:6:21","nodeType":"YulIdentifier","src":"50132:6:21"}],"functionName":{"name":"mstore","nativeSrc":"50120:6:21","nodeType":"YulIdentifier","src":"50120:6:21"},"nativeSrc":"50120:19:21","nodeType":"YulFunctionCall","src":"50120:19:21"},"nativeSrc":"50120:19:21","nodeType":"YulExpressionStatement","src":"50120:19:21"},{"nativeSrc":"50156:37:21","nodeType":"YulVariableDeclaration","src":"50156:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"50173:3:21","nodeType":"YulLiteral","src":"50173:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"50182:1:21","nodeType":"YulLiteral","src":"50182:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"50185:6:21","nodeType":"YulIdentifier","src":"50185:6:21"}],"functionName":{"name":"shl","nativeSrc":"50178:3:21","nodeType":"YulIdentifier","src":"50178:3:21"},"nativeSrc":"50178:14:21","nodeType":"YulFunctionCall","src":"50178:14:21"}],"functionName":{"name":"sub","nativeSrc":"50169:3:21","nodeType":"YulIdentifier","src":"50169:3:21"},"nativeSrc":"50169:24:21","nodeType":"YulFunctionCall","src":"50169:24:21"},"variables":[{"name":"shift","nativeSrc":"50160:5:21","nodeType":"YulTypedName","src":"50160:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"50221:3:21","nodeType":"YulIdentifier","src":"50221:3:21"},{"kind":"number","nativeSrc":"50226:4:21","nodeType":"YulLiteral","src":"50226:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"50217:3:21","nodeType":"YulIdentifier","src":"50217:3:21"},"nativeSrc":"50217:14:21","nodeType":"YulFunctionCall","src":"50217:14:21"},{"arguments":[{"name":"shift","nativeSrc":"50237:5:21","nodeType":"YulIdentifier","src":"50237:5:21"},{"arguments":[{"name":"shift","nativeSrc":"50248:5:21","nodeType":"YulIdentifier","src":"50248:5:21"},{"name":"w","nativeSrc":"50255:1:21","nodeType":"YulIdentifier","src":"50255:1:21"}],"functionName":{"name":"shr","nativeSrc":"50244:3:21","nodeType":"YulIdentifier","src":"50244:3:21"},"nativeSrc":"50244:13:21","nodeType":"YulFunctionCall","src":"50244:13:21"}],"functionName":{"name":"shl","nativeSrc":"50233:3:21","nodeType":"YulIdentifier","src":"50233:3:21"},"nativeSrc":"50233:25:21","nodeType":"YulFunctionCall","src":"50233:25:21"}],"functionName":{"name":"mstore","nativeSrc":"50210:6:21","nodeType":"YulIdentifier","src":"50210:6:21"},"nativeSrc":"50210:49:21","nodeType":"YulFunctionCall","src":"50210:49:21"},"nativeSrc":"50210:49:21","nodeType":"YulExpressionStatement","src":"50210:49:21"}]},"name":"writeString","nativeSrc":"49931:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"49952:3:21","nodeType":"YulTypedName","src":"49952:3:21","type":""},{"name":"w","nativeSrc":"49957:1:21","nodeType":"YulTypedName","src":"49957:1:21","type":""}],"src":"49931:342:21"},{"nativeSrc":"50286:17:21","nodeType":"YulAssignment","src":"50286:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"50298:4:21","nodeType":"YulLiteral","src":"50298:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"50292:5:21","nodeType":"YulIdentifier","src":"50292:5:21"},"nativeSrc":"50292:11:21","nodeType":"YulFunctionCall","src":"50292:11:21"},"variableNames":[{"name":"m0","nativeSrc":"50286:2:21","nodeType":"YulIdentifier","src":"50286:2:21"}]},{"nativeSrc":"50316:17:21","nodeType":"YulAssignment","src":"50316:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"50328:4:21","nodeType":"YulLiteral","src":"50328:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"50322:5:21","nodeType":"YulIdentifier","src":"50322:5:21"},"nativeSrc":"50322:11:21","nodeType":"YulFunctionCall","src":"50322:11:21"},"variableNames":[{"name":"m1","nativeSrc":"50316:2:21","nodeType":"YulIdentifier","src":"50316:2:21"}]},{"nativeSrc":"50346:17:21","nodeType":"YulAssignment","src":"50346:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"50358:4:21","nodeType":"YulLiteral","src":"50358:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"50352:5:21","nodeType":"YulIdentifier","src":"50352:5:21"},"nativeSrc":"50352:11:21","nodeType":"YulFunctionCall","src":"50352:11:21"},"variableNames":[{"name":"m2","nativeSrc":"50346:2:21","nodeType":"YulIdentifier","src":"50346:2:21"}]},{"nativeSrc":"50376:17:21","nodeType":"YulAssignment","src":"50376:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"50388:4:21","nodeType":"YulLiteral","src":"50388:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"50382:5:21","nodeType":"YulIdentifier","src":"50382:5:21"},"nativeSrc":"50382:11:21","nodeType":"YulFunctionCall","src":"50382:11:21"},"variableNames":[{"name":"m3","nativeSrc":"50376:2:21","nodeType":"YulIdentifier","src":"50376:2:21"}]},{"nativeSrc":"50406:17:21","nodeType":"YulAssignment","src":"50406:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"50418:4:21","nodeType":"YulLiteral","src":"50418:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"50412:5:21","nodeType":"YulIdentifier","src":"50412:5:21"},"nativeSrc":"50412:11:21","nodeType":"YulFunctionCall","src":"50412:11:21"},"variableNames":[{"name":"m4","nativeSrc":"50406:2:21","nodeType":"YulIdentifier","src":"50406:2:21"}]},{"nativeSrc":"50436:17:21","nodeType":"YulAssignment","src":"50436:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"50448:4:21","nodeType":"YulLiteral","src":"50448:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"50442:5:21","nodeType":"YulIdentifier","src":"50442:5:21"},"nativeSrc":"50442:11:21","nodeType":"YulFunctionCall","src":"50442:11:21"},"variableNames":[{"name":"m5","nativeSrc":"50436:2:21","nodeType":"YulIdentifier","src":"50436:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50528:4:21","nodeType":"YulLiteral","src":"50528:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"50534:10:21","nodeType":"YulLiteral","src":"50534:10:21","type":"","value":"0x1093ee11"}],"functionName":{"name":"mstore","nativeSrc":"50521:6:21","nodeType":"YulIdentifier","src":"50521:6:21"},"nativeSrc":"50521:24:21","nodeType":"YulFunctionCall","src":"50521:24:21"},"nativeSrc":"50521:24:21","nodeType":"YulExpressionStatement","src":"50521:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50565:4:21","nodeType":"YulLiteral","src":"50565:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"50571:2:21","nodeType":"YulIdentifier","src":"50571:2:21"}],"functionName":{"name":"mstore","nativeSrc":"50558:6:21","nodeType":"YulIdentifier","src":"50558:6:21"},"nativeSrc":"50558:16:21","nodeType":"YulFunctionCall","src":"50558:16:21"},"nativeSrc":"50558:16:21","nodeType":"YulExpressionStatement","src":"50558:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50594:4:21","nodeType":"YulLiteral","src":"50594:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"50600:4:21","nodeType":"YulLiteral","src":"50600:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"50587:6:21","nodeType":"YulIdentifier","src":"50587:6:21"},"nativeSrc":"50587:18:21","nodeType":"YulFunctionCall","src":"50587:18:21"},"nativeSrc":"50587:18:21","nodeType":"YulExpressionStatement","src":"50587:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50625:4:21","nodeType":"YulLiteral","src":"50625:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"50631:2:21","nodeType":"YulIdentifier","src":"50631:2:21"}],"functionName":{"name":"mstore","nativeSrc":"50618:6:21","nodeType":"YulIdentifier","src":"50618:6:21"},"nativeSrc":"50618:16:21","nodeType":"YulFunctionCall","src":"50618:16:21"},"nativeSrc":"50618:16:21","nodeType":"YulExpressionStatement","src":"50618:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50659:4:21","nodeType":"YulLiteral","src":"50659:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"50665:2:21","nodeType":"YulIdentifier","src":"50665:2:21"}],"functionName":{"name":"writeString","nativeSrc":"50647:11:21","nodeType":"YulIdentifier","src":"50647:11:21"},"nativeSrc":"50647:21:21","nodeType":"YulFunctionCall","src":"50647:21:21"},"nativeSrc":"50647:21:21","nodeType":"YulExpressionStatement","src":"50647:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28610,"isOffset":false,"isSlot":false,"src":"50286:2:21","valueSize":1},{"declaration":28613,"isOffset":false,"isSlot":false,"src":"50316:2:21","valueSize":1},{"declaration":28616,"isOffset":false,"isSlot":false,"src":"50346:2:21","valueSize":1},{"declaration":28619,"isOffset":false,"isSlot":false,"src":"50376:2:21","valueSize":1},{"declaration":28622,"isOffset":false,"isSlot":false,"src":"50406:2:21","valueSize":1},{"declaration":28625,"isOffset":false,"isSlot":false,"src":"50436:2:21","valueSize":1},{"declaration":28602,"isOffset":false,"isSlot":false,"src":"50571:2:21","valueSize":1},{"declaration":28604,"isOffset":false,"isSlot":false,"src":"50665:2:21","valueSize":1},{"declaration":28606,"isOffset":false,"isSlot":false,"src":"50631:2:21","valueSize":1}],"id":28627,"nodeType":"InlineAssembly","src":"49908:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50703:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50709:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28628,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"50687:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50687:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28632,"nodeType":"ExpressionStatement","src":"50687:27:21"},{"AST":{"nativeSrc":"50776:185:21","nodeType":"YulBlock","src":"50776:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"50797:4:21","nodeType":"YulLiteral","src":"50797:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"50803:2:21","nodeType":"YulIdentifier","src":"50803:2:21"}],"functionName":{"name":"mstore","nativeSrc":"50790:6:21","nodeType":"YulIdentifier","src":"50790:6:21"},"nativeSrc":"50790:16:21","nodeType":"YulFunctionCall","src":"50790:16:21"},"nativeSrc":"50790:16:21","nodeType":"YulExpressionStatement","src":"50790:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50826:4:21","nodeType":"YulLiteral","src":"50826:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"50832:2:21","nodeType":"YulIdentifier","src":"50832:2:21"}],"functionName":{"name":"mstore","nativeSrc":"50819:6:21","nodeType":"YulIdentifier","src":"50819:6:21"},"nativeSrc":"50819:16:21","nodeType":"YulFunctionCall","src":"50819:16:21"},"nativeSrc":"50819:16:21","nodeType":"YulExpressionStatement","src":"50819:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50855:4:21","nodeType":"YulLiteral","src":"50855:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"50861:2:21","nodeType":"YulIdentifier","src":"50861:2:21"}],"functionName":{"name":"mstore","nativeSrc":"50848:6:21","nodeType":"YulIdentifier","src":"50848:6:21"},"nativeSrc":"50848:16:21","nodeType":"YulFunctionCall","src":"50848:16:21"},"nativeSrc":"50848:16:21","nodeType":"YulExpressionStatement","src":"50848:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50884:4:21","nodeType":"YulLiteral","src":"50884:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"50890:2:21","nodeType":"YulIdentifier","src":"50890:2:21"}],"functionName":{"name":"mstore","nativeSrc":"50877:6:21","nodeType":"YulIdentifier","src":"50877:6:21"},"nativeSrc":"50877:16:21","nodeType":"YulFunctionCall","src":"50877:16:21"},"nativeSrc":"50877:16:21","nodeType":"YulExpressionStatement","src":"50877:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50913:4:21","nodeType":"YulLiteral","src":"50913:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"50919:2:21","nodeType":"YulIdentifier","src":"50919:2:21"}],"functionName":{"name":"mstore","nativeSrc":"50906:6:21","nodeType":"YulIdentifier","src":"50906:6:21"},"nativeSrc":"50906:16:21","nodeType":"YulFunctionCall","src":"50906:16:21"},"nativeSrc":"50906:16:21","nodeType":"YulExpressionStatement","src":"50906:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50942:4:21","nodeType":"YulLiteral","src":"50942:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"50948:2:21","nodeType":"YulIdentifier","src":"50948:2:21"}],"functionName":{"name":"mstore","nativeSrc":"50935:6:21","nodeType":"YulIdentifier","src":"50935:6:21"},"nativeSrc":"50935:16:21","nodeType":"YulFunctionCall","src":"50935:16:21"},"nativeSrc":"50935:16:21","nodeType":"YulExpressionStatement","src":"50935:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28610,"isOffset":false,"isSlot":false,"src":"50803:2:21","valueSize":1},{"declaration":28613,"isOffset":false,"isSlot":false,"src":"50832:2:21","valueSize":1},{"declaration":28616,"isOffset":false,"isSlot":false,"src":"50861:2:21","valueSize":1},{"declaration":28619,"isOffset":false,"isSlot":false,"src":"50890:2:21","valueSize":1},{"declaration":28622,"isOffset":false,"isSlot":false,"src":"50919:2:21","valueSize":1},{"declaration":28625,"isOffset":false,"isSlot":false,"src":"50948:2:21","valueSize":1}],"id":28633,"nodeType":"InlineAssembly","src":"50767:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49684:3:21","parameters":{"id":28607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28602,"mutability":"mutable","name":"p0","nameLocation":"49693:2:21","nodeType":"VariableDeclaration","scope":28635,"src":"49688:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28601,"name":"bool","nodeType":"ElementaryTypeName","src":"49688:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28604,"mutability":"mutable","name":"p1","nameLocation":"49705:2:21","nodeType":"VariableDeclaration","scope":28635,"src":"49697:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49697:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28606,"mutability":"mutable","name":"p2","nameLocation":"49717:2:21","nodeType":"VariableDeclaration","scope":28635,"src":"49709:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28605,"name":"uint256","nodeType":"ElementaryTypeName","src":"49709:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49687:33:21"},"returnParameters":{"id":28608,"nodeType":"ParameterList","parameters":[],"src":"49735:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28676,"nodeType":"FunctionDefinition","src":"50973:1485:21","nodes":[],"body":{"id":28675,"nodeType":"Block","src":"51033:1425:21","nodes":[],"statements":[{"assignments":[28645],"declarations":[{"constant":false,"id":28645,"mutability":"mutable","name":"m0","nameLocation":"51051:2:21","nodeType":"VariableDeclaration","scope":28675,"src":"51043:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51043:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28646,"nodeType":"VariableDeclarationStatement","src":"51043:10:21"},{"assignments":[28648],"declarations":[{"constant":false,"id":28648,"mutability":"mutable","name":"m1","nameLocation":"51071:2:21","nodeType":"VariableDeclaration","scope":28675,"src":"51063:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51063:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28649,"nodeType":"VariableDeclarationStatement","src":"51063:10:21"},{"assignments":[28651],"declarations":[{"constant":false,"id":28651,"mutability":"mutable","name":"m2","nameLocation":"51091:2:21","nodeType":"VariableDeclaration","scope":28675,"src":"51083:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28650,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51083:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28652,"nodeType":"VariableDeclarationStatement","src":"51083:10:21"},{"assignments":[28654],"declarations":[{"constant":false,"id":28654,"mutability":"mutable","name":"m3","nameLocation":"51111:2:21","nodeType":"VariableDeclaration","scope":28675,"src":"51103:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28653,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51103:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28655,"nodeType":"VariableDeclarationStatement","src":"51103:10:21"},{"assignments":[28657],"declarations":[{"constant":false,"id":28657,"mutability":"mutable","name":"m4","nameLocation":"51131:2:21","nodeType":"VariableDeclaration","scope":28675,"src":"51123:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51123:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28658,"nodeType":"VariableDeclarationStatement","src":"51123:10:21"},{"assignments":[28660],"declarations":[{"constant":false,"id":28660,"mutability":"mutable","name":"m5","nameLocation":"51151:2:21","nodeType":"VariableDeclaration","scope":28675,"src":"51143:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28659,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51143:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28661,"nodeType":"VariableDeclarationStatement","src":"51143:10:21"},{"assignments":[28663],"declarations":[{"constant":false,"id":28663,"mutability":"mutable","name":"m6","nameLocation":"51171:2:21","nodeType":"VariableDeclaration","scope":28675,"src":"51163:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28662,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51163:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28664,"nodeType":"VariableDeclarationStatement","src":"51163:10:21"},{"assignments":[28666],"declarations":[{"constant":false,"id":28666,"mutability":"mutable","name":"m7","nameLocation":"51191:2:21","nodeType":"VariableDeclaration","scope":28675,"src":"51183:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51183:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28667,"nodeType":"VariableDeclarationStatement","src":"51183:10:21"},{"AST":{"nativeSrc":"51255:856:21","nodeType":"YulBlock","src":"51255:856:21","statements":[{"body":{"nativeSrc":"51298:313:21","nodeType":"YulBlock","src":"51298:313:21","statements":[{"nativeSrc":"51316:15:21","nodeType":"YulVariableDeclaration","src":"51316:15:21","value":{"kind":"number","nativeSrc":"51330:1:21","nodeType":"YulLiteral","src":"51330:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"51320:6:21","nodeType":"YulTypedName","src":"51320:6:21","type":""}]},{"body":{"nativeSrc":"51401:40:21","nodeType":"YulBlock","src":"51401:40:21","statements":[{"body":{"nativeSrc":"51430:9:21","nodeType":"YulBlock","src":"51430:9:21","statements":[{"nativeSrc":"51432:5:21","nodeType":"YulBreak","src":"51432:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"51418:6:21","nodeType":"YulIdentifier","src":"51418:6:21"},{"name":"w","nativeSrc":"51426:1:21","nodeType":"YulIdentifier","src":"51426:1:21"}],"functionName":{"name":"byte","nativeSrc":"51413:4:21","nodeType":"YulIdentifier","src":"51413:4:21"},"nativeSrc":"51413:15:21","nodeType":"YulFunctionCall","src":"51413:15:21"}],"functionName":{"name":"iszero","nativeSrc":"51406:6:21","nodeType":"YulIdentifier","src":"51406:6:21"},"nativeSrc":"51406:23:21","nodeType":"YulFunctionCall","src":"51406:23:21"},"nativeSrc":"51403:36:21","nodeType":"YulIf","src":"51403:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"51358:6:21","nodeType":"YulIdentifier","src":"51358:6:21"},{"kind":"number","nativeSrc":"51366:4:21","nodeType":"YulLiteral","src":"51366:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"51355:2:21","nodeType":"YulIdentifier","src":"51355:2:21"},"nativeSrc":"51355:16:21","nodeType":"YulFunctionCall","src":"51355:16:21"},"nativeSrc":"51348:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"51372:28:21","nodeType":"YulBlock","src":"51372:28:21","statements":[{"nativeSrc":"51374:24:21","nodeType":"YulAssignment","src":"51374:24:21","value":{"arguments":[{"name":"length","nativeSrc":"51388:6:21","nodeType":"YulIdentifier","src":"51388:6:21"},{"kind":"number","nativeSrc":"51396:1:21","nodeType":"YulLiteral","src":"51396:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"51384:3:21","nodeType":"YulIdentifier","src":"51384:3:21"},"nativeSrc":"51384:14:21","nodeType":"YulFunctionCall","src":"51384:14:21"},"variableNames":[{"name":"length","nativeSrc":"51374:6:21","nodeType":"YulIdentifier","src":"51374:6:21"}]}]},"pre":{"nativeSrc":"51352:2:21","nodeType":"YulBlock","src":"51352:2:21","statements":[]},"src":"51348:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"51465:3:21","nodeType":"YulIdentifier","src":"51465:3:21"},{"name":"length","nativeSrc":"51470:6:21","nodeType":"YulIdentifier","src":"51470:6:21"}],"functionName":{"name":"mstore","nativeSrc":"51458:6:21","nodeType":"YulIdentifier","src":"51458:6:21"},"nativeSrc":"51458:19:21","nodeType":"YulFunctionCall","src":"51458:19:21"},"nativeSrc":"51458:19:21","nodeType":"YulExpressionStatement","src":"51458:19:21"},{"nativeSrc":"51494:37:21","nodeType":"YulVariableDeclaration","src":"51494:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"51511:3:21","nodeType":"YulLiteral","src":"51511:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"51520:1:21","nodeType":"YulLiteral","src":"51520:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"51523:6:21","nodeType":"YulIdentifier","src":"51523:6:21"}],"functionName":{"name":"shl","nativeSrc":"51516:3:21","nodeType":"YulIdentifier","src":"51516:3:21"},"nativeSrc":"51516:14:21","nodeType":"YulFunctionCall","src":"51516:14:21"}],"functionName":{"name":"sub","nativeSrc":"51507:3:21","nodeType":"YulIdentifier","src":"51507:3:21"},"nativeSrc":"51507:24:21","nodeType":"YulFunctionCall","src":"51507:24:21"},"variables":[{"name":"shift","nativeSrc":"51498:5:21","nodeType":"YulTypedName","src":"51498:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"51559:3:21","nodeType":"YulIdentifier","src":"51559:3:21"},{"kind":"number","nativeSrc":"51564:4:21","nodeType":"YulLiteral","src":"51564:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"51555:3:21","nodeType":"YulIdentifier","src":"51555:3:21"},"nativeSrc":"51555:14:21","nodeType":"YulFunctionCall","src":"51555:14:21"},{"arguments":[{"name":"shift","nativeSrc":"51575:5:21","nodeType":"YulIdentifier","src":"51575:5:21"},{"arguments":[{"name":"shift","nativeSrc":"51586:5:21","nodeType":"YulIdentifier","src":"51586:5:21"},{"name":"w","nativeSrc":"51593:1:21","nodeType":"YulIdentifier","src":"51593:1:21"}],"functionName":{"name":"shr","nativeSrc":"51582:3:21","nodeType":"YulIdentifier","src":"51582:3:21"},"nativeSrc":"51582:13:21","nodeType":"YulFunctionCall","src":"51582:13:21"}],"functionName":{"name":"shl","nativeSrc":"51571:3:21","nodeType":"YulIdentifier","src":"51571:3:21"},"nativeSrc":"51571:25:21","nodeType":"YulFunctionCall","src":"51571:25:21"}],"functionName":{"name":"mstore","nativeSrc":"51548:6:21","nodeType":"YulIdentifier","src":"51548:6:21"},"nativeSrc":"51548:49:21","nodeType":"YulFunctionCall","src":"51548:49:21"},"nativeSrc":"51548:49:21","nodeType":"YulExpressionStatement","src":"51548:49:21"}]},"name":"writeString","nativeSrc":"51269:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"51290:3:21","nodeType":"YulTypedName","src":"51290:3:21","type":""},{"name":"w","nativeSrc":"51295:1:21","nodeType":"YulTypedName","src":"51295:1:21","type":""}],"src":"51269:342:21"},{"nativeSrc":"51624:17:21","nodeType":"YulAssignment","src":"51624:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"51636:4:21","nodeType":"YulLiteral","src":"51636:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"51630:5:21","nodeType":"YulIdentifier","src":"51630:5:21"},"nativeSrc":"51630:11:21","nodeType":"YulFunctionCall","src":"51630:11:21"},"variableNames":[{"name":"m0","nativeSrc":"51624:2:21","nodeType":"YulIdentifier","src":"51624:2:21"}]},{"nativeSrc":"51654:17:21","nodeType":"YulAssignment","src":"51654:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"51666:4:21","nodeType":"YulLiteral","src":"51666:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"51660:5:21","nodeType":"YulIdentifier","src":"51660:5:21"},"nativeSrc":"51660:11:21","nodeType":"YulFunctionCall","src":"51660:11:21"},"variableNames":[{"name":"m1","nativeSrc":"51654:2:21","nodeType":"YulIdentifier","src":"51654:2:21"}]},{"nativeSrc":"51684:17:21","nodeType":"YulAssignment","src":"51684:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"51696:4:21","nodeType":"YulLiteral","src":"51696:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"51690:5:21","nodeType":"YulIdentifier","src":"51690:5:21"},"nativeSrc":"51690:11:21","nodeType":"YulFunctionCall","src":"51690:11:21"},"variableNames":[{"name":"m2","nativeSrc":"51684:2:21","nodeType":"YulIdentifier","src":"51684:2:21"}]},{"nativeSrc":"51714:17:21","nodeType":"YulAssignment","src":"51714:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"51726:4:21","nodeType":"YulLiteral","src":"51726:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"51720:5:21","nodeType":"YulIdentifier","src":"51720:5:21"},"nativeSrc":"51720:11:21","nodeType":"YulFunctionCall","src":"51720:11:21"},"variableNames":[{"name":"m3","nativeSrc":"51714:2:21","nodeType":"YulIdentifier","src":"51714:2:21"}]},{"nativeSrc":"51744:17:21","nodeType":"YulAssignment","src":"51744:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"51756:4:21","nodeType":"YulLiteral","src":"51756:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"51750:5:21","nodeType":"YulIdentifier","src":"51750:5:21"},"nativeSrc":"51750:11:21","nodeType":"YulFunctionCall","src":"51750:11:21"},"variableNames":[{"name":"m4","nativeSrc":"51744:2:21","nodeType":"YulIdentifier","src":"51744:2:21"}]},{"nativeSrc":"51774:17:21","nodeType":"YulAssignment","src":"51774:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"51786:4:21","nodeType":"YulLiteral","src":"51786:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"51780:5:21","nodeType":"YulIdentifier","src":"51780:5:21"},"nativeSrc":"51780:11:21","nodeType":"YulFunctionCall","src":"51780:11:21"},"variableNames":[{"name":"m5","nativeSrc":"51774:2:21","nodeType":"YulIdentifier","src":"51774:2:21"}]},{"nativeSrc":"51804:17:21","nodeType":"YulAssignment","src":"51804:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"51816:4:21","nodeType":"YulLiteral","src":"51816:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"51810:5:21","nodeType":"YulIdentifier","src":"51810:5:21"},"nativeSrc":"51810:11:21","nodeType":"YulFunctionCall","src":"51810:11:21"},"variableNames":[{"name":"m6","nativeSrc":"51804:2:21","nodeType":"YulIdentifier","src":"51804:2:21"}]},{"nativeSrc":"51834:17:21","nodeType":"YulAssignment","src":"51834:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"51846:4:21","nodeType":"YulLiteral","src":"51846:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"51840:5:21","nodeType":"YulIdentifier","src":"51840:5:21"},"nativeSrc":"51840:11:21","nodeType":"YulFunctionCall","src":"51840:11:21"},"variableNames":[{"name":"m7","nativeSrc":"51834:2:21","nodeType":"YulIdentifier","src":"51834:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"51925:4:21","nodeType":"YulLiteral","src":"51925:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"51931:10:21","nodeType":"YulLiteral","src":"51931:10:21","type":"","value":"0xb076847f"}],"functionName":{"name":"mstore","nativeSrc":"51918:6:21","nodeType":"YulIdentifier","src":"51918:6:21"},"nativeSrc":"51918:24:21","nodeType":"YulFunctionCall","src":"51918:24:21"},"nativeSrc":"51918:24:21","nodeType":"YulExpressionStatement","src":"51918:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"51962:4:21","nodeType":"YulLiteral","src":"51962:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"51968:2:21","nodeType":"YulIdentifier","src":"51968:2:21"}],"functionName":{"name":"mstore","nativeSrc":"51955:6:21","nodeType":"YulIdentifier","src":"51955:6:21"},"nativeSrc":"51955:16:21","nodeType":"YulFunctionCall","src":"51955:16:21"},"nativeSrc":"51955:16:21","nodeType":"YulExpressionStatement","src":"51955:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"51991:4:21","nodeType":"YulLiteral","src":"51991:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"51997:4:21","nodeType":"YulLiteral","src":"51997:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"51984:6:21","nodeType":"YulIdentifier","src":"51984:6:21"},"nativeSrc":"51984:18:21","nodeType":"YulFunctionCall","src":"51984:18:21"},"nativeSrc":"51984:18:21","nodeType":"YulExpressionStatement","src":"51984:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52022:4:21","nodeType":"YulLiteral","src":"52022:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"52028:4:21","nodeType":"YulLiteral","src":"52028:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"52015:6:21","nodeType":"YulIdentifier","src":"52015:6:21"},"nativeSrc":"52015:18:21","nodeType":"YulFunctionCall","src":"52015:18:21"},"nativeSrc":"52015:18:21","nodeType":"YulExpressionStatement","src":"52015:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52058:4:21","nodeType":"YulLiteral","src":"52058:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"52064:2:21","nodeType":"YulIdentifier","src":"52064:2:21"}],"functionName":{"name":"writeString","nativeSrc":"52046:11:21","nodeType":"YulIdentifier","src":"52046:11:21"},"nativeSrc":"52046:21:21","nodeType":"YulFunctionCall","src":"52046:21:21"},"nativeSrc":"52046:21:21","nodeType":"YulExpressionStatement","src":"52046:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52092:4:21","nodeType":"YulLiteral","src":"52092:4:21","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"52098:2:21","nodeType":"YulIdentifier","src":"52098:2:21"}],"functionName":{"name":"writeString","nativeSrc":"52080:11:21","nodeType":"YulIdentifier","src":"52080:11:21"},"nativeSrc":"52080:21:21","nodeType":"YulFunctionCall","src":"52080:21:21"},"nativeSrc":"52080:21:21","nodeType":"YulExpressionStatement","src":"52080:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28645,"isOffset":false,"isSlot":false,"src":"51624:2:21","valueSize":1},{"declaration":28648,"isOffset":false,"isSlot":false,"src":"51654:2:21","valueSize":1},{"declaration":28651,"isOffset":false,"isSlot":false,"src":"51684:2:21","valueSize":1},{"declaration":28654,"isOffset":false,"isSlot":false,"src":"51714:2:21","valueSize":1},{"declaration":28657,"isOffset":false,"isSlot":false,"src":"51744:2:21","valueSize":1},{"declaration":28660,"isOffset":false,"isSlot":false,"src":"51774:2:21","valueSize":1},{"declaration":28663,"isOffset":false,"isSlot":false,"src":"51804:2:21","valueSize":1},{"declaration":28666,"isOffset":false,"isSlot":false,"src":"51834:2:21","valueSize":1},{"declaration":28637,"isOffset":false,"isSlot":false,"src":"51968:2:21","valueSize":1},{"declaration":28639,"isOffset":false,"isSlot":false,"src":"52064:2:21","valueSize":1},{"declaration":28641,"isOffset":false,"isSlot":false,"src":"52098:2:21","valueSize":1}],"id":28668,"nodeType":"InlineAssembly","src":"51246:865:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52136:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":28671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52142:4:21","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":28669,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"52120:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52120:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28673,"nodeType":"ExpressionStatement","src":"52120:27:21"},{"AST":{"nativeSrc":"52209:243:21","nodeType":"YulBlock","src":"52209:243:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"52230:4:21","nodeType":"YulLiteral","src":"52230:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"52236:2:21","nodeType":"YulIdentifier","src":"52236:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52223:6:21","nodeType":"YulIdentifier","src":"52223:6:21"},"nativeSrc":"52223:16:21","nodeType":"YulFunctionCall","src":"52223:16:21"},"nativeSrc":"52223:16:21","nodeType":"YulExpressionStatement","src":"52223:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52259:4:21","nodeType":"YulLiteral","src":"52259:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"52265:2:21","nodeType":"YulIdentifier","src":"52265:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52252:6:21","nodeType":"YulIdentifier","src":"52252:6:21"},"nativeSrc":"52252:16:21","nodeType":"YulFunctionCall","src":"52252:16:21"},"nativeSrc":"52252:16:21","nodeType":"YulExpressionStatement","src":"52252:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52288:4:21","nodeType":"YulLiteral","src":"52288:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"52294:2:21","nodeType":"YulIdentifier","src":"52294:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52281:6:21","nodeType":"YulIdentifier","src":"52281:6:21"},"nativeSrc":"52281:16:21","nodeType":"YulFunctionCall","src":"52281:16:21"},"nativeSrc":"52281:16:21","nodeType":"YulExpressionStatement","src":"52281:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52317:4:21","nodeType":"YulLiteral","src":"52317:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"52323:2:21","nodeType":"YulIdentifier","src":"52323:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52310:6:21","nodeType":"YulIdentifier","src":"52310:6:21"},"nativeSrc":"52310:16:21","nodeType":"YulFunctionCall","src":"52310:16:21"},"nativeSrc":"52310:16:21","nodeType":"YulExpressionStatement","src":"52310:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52346:4:21","nodeType":"YulLiteral","src":"52346:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"52352:2:21","nodeType":"YulIdentifier","src":"52352:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52339:6:21","nodeType":"YulIdentifier","src":"52339:6:21"},"nativeSrc":"52339:16:21","nodeType":"YulFunctionCall","src":"52339:16:21"},"nativeSrc":"52339:16:21","nodeType":"YulExpressionStatement","src":"52339:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52375:4:21","nodeType":"YulLiteral","src":"52375:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"52381:2:21","nodeType":"YulIdentifier","src":"52381:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52368:6:21","nodeType":"YulIdentifier","src":"52368:6:21"},"nativeSrc":"52368:16:21","nodeType":"YulFunctionCall","src":"52368:16:21"},"nativeSrc":"52368:16:21","nodeType":"YulExpressionStatement","src":"52368:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52404:4:21","nodeType":"YulLiteral","src":"52404:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"52410:2:21","nodeType":"YulIdentifier","src":"52410:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52397:6:21","nodeType":"YulIdentifier","src":"52397:6:21"},"nativeSrc":"52397:16:21","nodeType":"YulFunctionCall","src":"52397:16:21"},"nativeSrc":"52397:16:21","nodeType":"YulExpressionStatement","src":"52397:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52433:4:21","nodeType":"YulLiteral","src":"52433:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"52439:2:21","nodeType":"YulIdentifier","src":"52439:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52426:6:21","nodeType":"YulIdentifier","src":"52426:6:21"},"nativeSrc":"52426:16:21","nodeType":"YulFunctionCall","src":"52426:16:21"},"nativeSrc":"52426:16:21","nodeType":"YulExpressionStatement","src":"52426:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28645,"isOffset":false,"isSlot":false,"src":"52236:2:21","valueSize":1},{"declaration":28648,"isOffset":false,"isSlot":false,"src":"52265:2:21","valueSize":1},{"declaration":28651,"isOffset":false,"isSlot":false,"src":"52294:2:21","valueSize":1},{"declaration":28654,"isOffset":false,"isSlot":false,"src":"52323:2:21","valueSize":1},{"declaration":28657,"isOffset":false,"isSlot":false,"src":"52352:2:21","valueSize":1},{"declaration":28660,"isOffset":false,"isSlot":false,"src":"52381:2:21","valueSize":1},{"declaration":28663,"isOffset":false,"isSlot":false,"src":"52410:2:21","valueSize":1},{"declaration":28666,"isOffset":false,"isSlot":false,"src":"52439:2:21","valueSize":1}],"id":28674,"nodeType":"InlineAssembly","src":"52200:252:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50982:3:21","parameters":{"id":28642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28637,"mutability":"mutable","name":"p0","nameLocation":"50991:2:21","nodeType":"VariableDeclaration","scope":28676,"src":"50986:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28636,"name":"bool","nodeType":"ElementaryTypeName","src":"50986:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28639,"mutability":"mutable","name":"p1","nameLocation":"51003:2:21","nodeType":"VariableDeclaration","scope":28676,"src":"50995:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50995:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28641,"mutability":"mutable","name":"p2","nameLocation":"51015:2:21","nodeType":"VariableDeclaration","scope":28676,"src":"51007:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51007:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"50985:33:21"},"returnParameters":{"id":28643,"nodeType":"ParameterList","parameters":[],"src":"51033:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28705,"nodeType":"FunctionDefinition","src":"52464:750:21","nodes":[],"body":{"id":28704,"nodeType":"Block","src":"52527:687:21","nodes":[],"statements":[{"assignments":[28686],"declarations":[{"constant":false,"id":28686,"mutability":"mutable","name":"m0","nameLocation":"52545:2:21","nodeType":"VariableDeclaration","scope":28704,"src":"52537:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52537:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28687,"nodeType":"VariableDeclarationStatement","src":"52537:10:21"},{"assignments":[28689],"declarations":[{"constant":false,"id":28689,"mutability":"mutable","name":"m1","nameLocation":"52565:2:21","nodeType":"VariableDeclaration","scope":28704,"src":"52557:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52557:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28690,"nodeType":"VariableDeclarationStatement","src":"52557:10:21"},{"assignments":[28692],"declarations":[{"constant":false,"id":28692,"mutability":"mutable","name":"m2","nameLocation":"52585:2:21","nodeType":"VariableDeclaration","scope":28704,"src":"52577:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52577:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28693,"nodeType":"VariableDeclarationStatement","src":"52577:10:21"},{"assignments":[28695],"declarations":[{"constant":false,"id":28695,"mutability":"mutable","name":"m3","nameLocation":"52605:2:21","nodeType":"VariableDeclaration","scope":28704,"src":"52597:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52597:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28696,"nodeType":"VariableDeclarationStatement","src":"52597:10:21"},{"AST":{"nativeSrc":"52669:314:21","nodeType":"YulBlock","src":"52669:314:21","statements":[{"nativeSrc":"52683:17:21","nodeType":"YulAssignment","src":"52683:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"52695:4:21","nodeType":"YulLiteral","src":"52695:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"52689:5:21","nodeType":"YulIdentifier","src":"52689:5:21"},"nativeSrc":"52689:11:21","nodeType":"YulFunctionCall","src":"52689:11:21"},"variableNames":[{"name":"m0","nativeSrc":"52683:2:21","nodeType":"YulIdentifier","src":"52683:2:21"}]},{"nativeSrc":"52713:17:21","nodeType":"YulAssignment","src":"52713:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"52725:4:21","nodeType":"YulLiteral","src":"52725:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"52719:5:21","nodeType":"YulIdentifier","src":"52719:5:21"},"nativeSrc":"52719:11:21","nodeType":"YulFunctionCall","src":"52719:11:21"},"variableNames":[{"name":"m1","nativeSrc":"52713:2:21","nodeType":"YulIdentifier","src":"52713:2:21"}]},{"nativeSrc":"52743:17:21","nodeType":"YulAssignment","src":"52743:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"52755:4:21","nodeType":"YulLiteral","src":"52755:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"52749:5:21","nodeType":"YulIdentifier","src":"52749:5:21"},"nativeSrc":"52749:11:21","nodeType":"YulFunctionCall","src":"52749:11:21"},"variableNames":[{"name":"m2","nativeSrc":"52743:2:21","nodeType":"YulIdentifier","src":"52743:2:21"}]},{"nativeSrc":"52773:17:21","nodeType":"YulAssignment","src":"52773:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"52785:4:21","nodeType":"YulLiteral","src":"52785:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"52779:5:21","nodeType":"YulIdentifier","src":"52779:5:21"},"nativeSrc":"52779:11:21","nodeType":"YulFunctionCall","src":"52779:11:21"},"variableNames":[{"name":"m3","nativeSrc":"52773:2:21","nodeType":"YulIdentifier","src":"52773:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52869:4:21","nodeType":"YulLiteral","src":"52869:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"52875:10:21","nodeType":"YulLiteral","src":"52875:10:21","type":"","value":"0xbcfd9be0"}],"functionName":{"name":"mstore","nativeSrc":"52862:6:21","nodeType":"YulIdentifier","src":"52862:6:21"},"nativeSrc":"52862:24:21","nodeType":"YulFunctionCall","src":"52862:24:21"},"nativeSrc":"52862:24:21","nodeType":"YulExpressionStatement","src":"52862:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52906:4:21","nodeType":"YulLiteral","src":"52906:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"52912:2:21","nodeType":"YulIdentifier","src":"52912:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52899:6:21","nodeType":"YulIdentifier","src":"52899:6:21"},"nativeSrc":"52899:16:21","nodeType":"YulFunctionCall","src":"52899:16:21"},"nativeSrc":"52899:16:21","nodeType":"YulExpressionStatement","src":"52899:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52935:4:21","nodeType":"YulLiteral","src":"52935:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"52941:2:21","nodeType":"YulIdentifier","src":"52941:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52928:6:21","nodeType":"YulIdentifier","src":"52928:6:21"},"nativeSrc":"52928:16:21","nodeType":"YulFunctionCall","src":"52928:16:21"},"nativeSrc":"52928:16:21","nodeType":"YulExpressionStatement","src":"52928:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52964:4:21","nodeType":"YulLiteral","src":"52964:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"52970:2:21","nodeType":"YulIdentifier","src":"52970:2:21"}],"functionName":{"name":"mstore","nativeSrc":"52957:6:21","nodeType":"YulIdentifier","src":"52957:6:21"},"nativeSrc":"52957:16:21","nodeType":"YulFunctionCall","src":"52957:16:21"},"nativeSrc":"52957:16:21","nodeType":"YulExpressionStatement","src":"52957:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28686,"isOffset":false,"isSlot":false,"src":"52683:2:21","valueSize":1},{"declaration":28689,"isOffset":false,"isSlot":false,"src":"52713:2:21","valueSize":1},{"declaration":28692,"isOffset":false,"isSlot":false,"src":"52743:2:21","valueSize":1},{"declaration":28695,"isOffset":false,"isSlot":false,"src":"52773:2:21","valueSize":1},{"declaration":28678,"isOffset":false,"isSlot":false,"src":"52912:2:21","valueSize":1},{"declaration":28680,"isOffset":false,"isSlot":false,"src":"52941:2:21","valueSize":1},{"declaration":28682,"isOffset":false,"isSlot":false,"src":"52970:2:21","valueSize":1}],"id":28697,"nodeType":"InlineAssembly","src":"52660:323:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53008:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53014:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28698,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"52992:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52992:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28702,"nodeType":"ExpressionStatement","src":"52992:27:21"},{"AST":{"nativeSrc":"53081:127:21","nodeType":"YulBlock","src":"53081:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"53102:4:21","nodeType":"YulLiteral","src":"53102:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"53108:2:21","nodeType":"YulIdentifier","src":"53108:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53095:6:21","nodeType":"YulIdentifier","src":"53095:6:21"},"nativeSrc":"53095:16:21","nodeType":"YulFunctionCall","src":"53095:16:21"},"nativeSrc":"53095:16:21","nodeType":"YulExpressionStatement","src":"53095:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53131:4:21","nodeType":"YulLiteral","src":"53131:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"53137:2:21","nodeType":"YulIdentifier","src":"53137:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53124:6:21","nodeType":"YulIdentifier","src":"53124:6:21"},"nativeSrc":"53124:16:21","nodeType":"YulFunctionCall","src":"53124:16:21"},"nativeSrc":"53124:16:21","nodeType":"YulExpressionStatement","src":"53124:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53160:4:21","nodeType":"YulLiteral","src":"53160:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"53166:2:21","nodeType":"YulIdentifier","src":"53166:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53153:6:21","nodeType":"YulIdentifier","src":"53153:6:21"},"nativeSrc":"53153:16:21","nodeType":"YulFunctionCall","src":"53153:16:21"},"nativeSrc":"53153:16:21","nodeType":"YulExpressionStatement","src":"53153:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53189:4:21","nodeType":"YulLiteral","src":"53189:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"53195:2:21","nodeType":"YulIdentifier","src":"53195:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53182:6:21","nodeType":"YulIdentifier","src":"53182:6:21"},"nativeSrc":"53182:16:21","nodeType":"YulFunctionCall","src":"53182:16:21"},"nativeSrc":"53182:16:21","nodeType":"YulExpressionStatement","src":"53182:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28686,"isOffset":false,"isSlot":false,"src":"53108:2:21","valueSize":1},{"declaration":28689,"isOffset":false,"isSlot":false,"src":"53137:2:21","valueSize":1},{"declaration":28692,"isOffset":false,"isSlot":false,"src":"53166:2:21","valueSize":1},{"declaration":28695,"isOffset":false,"isSlot":false,"src":"53195:2:21","valueSize":1}],"id":28703,"nodeType":"InlineAssembly","src":"53072:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52473:3:21","parameters":{"id":28683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28678,"mutability":"mutable","name":"p0","nameLocation":"52485:2:21","nodeType":"VariableDeclaration","scope":28705,"src":"52477:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28677,"name":"uint256","nodeType":"ElementaryTypeName","src":"52477:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28680,"mutability":"mutable","name":"p1","nameLocation":"52497:2:21","nodeType":"VariableDeclaration","scope":28705,"src":"52489:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28679,"name":"address","nodeType":"ElementaryTypeName","src":"52489:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28682,"mutability":"mutable","name":"p2","nameLocation":"52509:2:21","nodeType":"VariableDeclaration","scope":28705,"src":"52501:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28681,"name":"address","nodeType":"ElementaryTypeName","src":"52501:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52476:36:21"},"returnParameters":{"id":28684,"nodeType":"ParameterList","parameters":[],"src":"52527:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28734,"nodeType":"FunctionDefinition","src":"53220:744:21","nodes":[],"body":{"id":28733,"nodeType":"Block","src":"53280:684:21","nodes":[],"statements":[{"assignments":[28715],"declarations":[{"constant":false,"id":28715,"mutability":"mutable","name":"m0","nameLocation":"53298:2:21","nodeType":"VariableDeclaration","scope":28733,"src":"53290:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53290:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28716,"nodeType":"VariableDeclarationStatement","src":"53290:10:21"},{"assignments":[28718],"declarations":[{"constant":false,"id":28718,"mutability":"mutable","name":"m1","nameLocation":"53318:2:21","nodeType":"VariableDeclaration","scope":28733,"src":"53310:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53310:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28719,"nodeType":"VariableDeclarationStatement","src":"53310:10:21"},{"assignments":[28721],"declarations":[{"constant":false,"id":28721,"mutability":"mutable","name":"m2","nameLocation":"53338:2:21","nodeType":"VariableDeclaration","scope":28733,"src":"53330:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53330:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28722,"nodeType":"VariableDeclarationStatement","src":"53330:10:21"},{"assignments":[28724],"declarations":[{"constant":false,"id":28724,"mutability":"mutable","name":"m3","nameLocation":"53358:2:21","nodeType":"VariableDeclaration","scope":28733,"src":"53350:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53350:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28725,"nodeType":"VariableDeclarationStatement","src":"53350:10:21"},{"AST":{"nativeSrc":"53422:311:21","nodeType":"YulBlock","src":"53422:311:21","statements":[{"nativeSrc":"53436:17:21","nodeType":"YulAssignment","src":"53436:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"53448:4:21","nodeType":"YulLiteral","src":"53448:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"53442:5:21","nodeType":"YulIdentifier","src":"53442:5:21"},"nativeSrc":"53442:11:21","nodeType":"YulFunctionCall","src":"53442:11:21"},"variableNames":[{"name":"m0","nativeSrc":"53436:2:21","nodeType":"YulIdentifier","src":"53436:2:21"}]},{"nativeSrc":"53466:17:21","nodeType":"YulAssignment","src":"53466:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"53478:4:21","nodeType":"YulLiteral","src":"53478:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"53472:5:21","nodeType":"YulIdentifier","src":"53472:5:21"},"nativeSrc":"53472:11:21","nodeType":"YulFunctionCall","src":"53472:11:21"},"variableNames":[{"name":"m1","nativeSrc":"53466:2:21","nodeType":"YulIdentifier","src":"53466:2:21"}]},{"nativeSrc":"53496:17:21","nodeType":"YulAssignment","src":"53496:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"53508:4:21","nodeType":"YulLiteral","src":"53508:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"53502:5:21","nodeType":"YulIdentifier","src":"53502:5:21"},"nativeSrc":"53502:11:21","nodeType":"YulFunctionCall","src":"53502:11:21"},"variableNames":[{"name":"m2","nativeSrc":"53496:2:21","nodeType":"YulIdentifier","src":"53496:2:21"}]},{"nativeSrc":"53526:17:21","nodeType":"YulAssignment","src":"53526:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"53538:4:21","nodeType":"YulLiteral","src":"53538:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"53532:5:21","nodeType":"YulIdentifier","src":"53532:5:21"},"nativeSrc":"53532:11:21","nodeType":"YulFunctionCall","src":"53532:11:21"},"variableNames":[{"name":"m3","nativeSrc":"53526:2:21","nodeType":"YulIdentifier","src":"53526:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53619:4:21","nodeType":"YulLiteral","src":"53619:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"53625:10:21","nodeType":"YulLiteral","src":"53625:10:21","type":"","value":"0x9b6ec042"}],"functionName":{"name":"mstore","nativeSrc":"53612:6:21","nodeType":"YulIdentifier","src":"53612:6:21"},"nativeSrc":"53612:24:21","nodeType":"YulFunctionCall","src":"53612:24:21"},"nativeSrc":"53612:24:21","nodeType":"YulExpressionStatement","src":"53612:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53656:4:21","nodeType":"YulLiteral","src":"53656:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"53662:2:21","nodeType":"YulIdentifier","src":"53662:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53649:6:21","nodeType":"YulIdentifier","src":"53649:6:21"},"nativeSrc":"53649:16:21","nodeType":"YulFunctionCall","src":"53649:16:21"},"nativeSrc":"53649:16:21","nodeType":"YulExpressionStatement","src":"53649:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53685:4:21","nodeType":"YulLiteral","src":"53685:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"53691:2:21","nodeType":"YulIdentifier","src":"53691:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53678:6:21","nodeType":"YulIdentifier","src":"53678:6:21"},"nativeSrc":"53678:16:21","nodeType":"YulFunctionCall","src":"53678:16:21"},"nativeSrc":"53678:16:21","nodeType":"YulExpressionStatement","src":"53678:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53714:4:21","nodeType":"YulLiteral","src":"53714:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"53720:2:21","nodeType":"YulIdentifier","src":"53720:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53707:6:21","nodeType":"YulIdentifier","src":"53707:6:21"},"nativeSrc":"53707:16:21","nodeType":"YulFunctionCall","src":"53707:16:21"},"nativeSrc":"53707:16:21","nodeType":"YulExpressionStatement","src":"53707:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28715,"isOffset":false,"isSlot":false,"src":"53436:2:21","valueSize":1},{"declaration":28718,"isOffset":false,"isSlot":false,"src":"53466:2:21","valueSize":1},{"declaration":28721,"isOffset":false,"isSlot":false,"src":"53496:2:21","valueSize":1},{"declaration":28724,"isOffset":false,"isSlot":false,"src":"53526:2:21","valueSize":1},{"declaration":28707,"isOffset":false,"isSlot":false,"src":"53662:2:21","valueSize":1},{"declaration":28709,"isOffset":false,"isSlot":false,"src":"53691:2:21","valueSize":1},{"declaration":28711,"isOffset":false,"isSlot":false,"src":"53720:2:21","valueSize":1}],"id":28726,"nodeType":"InlineAssembly","src":"53413:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53758:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53764:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28727,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"53742:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53742:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28731,"nodeType":"ExpressionStatement","src":"53742:27:21"},{"AST":{"nativeSrc":"53831:127:21","nodeType":"YulBlock","src":"53831:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"53852:4:21","nodeType":"YulLiteral","src":"53852:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"53858:2:21","nodeType":"YulIdentifier","src":"53858:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53845:6:21","nodeType":"YulIdentifier","src":"53845:6:21"},"nativeSrc":"53845:16:21","nodeType":"YulFunctionCall","src":"53845:16:21"},"nativeSrc":"53845:16:21","nodeType":"YulExpressionStatement","src":"53845:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53881:4:21","nodeType":"YulLiteral","src":"53881:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"53887:2:21","nodeType":"YulIdentifier","src":"53887:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53874:6:21","nodeType":"YulIdentifier","src":"53874:6:21"},"nativeSrc":"53874:16:21","nodeType":"YulFunctionCall","src":"53874:16:21"},"nativeSrc":"53874:16:21","nodeType":"YulExpressionStatement","src":"53874:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53910:4:21","nodeType":"YulLiteral","src":"53910:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"53916:2:21","nodeType":"YulIdentifier","src":"53916:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53903:6:21","nodeType":"YulIdentifier","src":"53903:6:21"},"nativeSrc":"53903:16:21","nodeType":"YulFunctionCall","src":"53903:16:21"},"nativeSrc":"53903:16:21","nodeType":"YulExpressionStatement","src":"53903:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53939:4:21","nodeType":"YulLiteral","src":"53939:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"53945:2:21","nodeType":"YulIdentifier","src":"53945:2:21"}],"functionName":{"name":"mstore","nativeSrc":"53932:6:21","nodeType":"YulIdentifier","src":"53932:6:21"},"nativeSrc":"53932:16:21","nodeType":"YulFunctionCall","src":"53932:16:21"},"nativeSrc":"53932:16:21","nodeType":"YulExpressionStatement","src":"53932:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28715,"isOffset":false,"isSlot":false,"src":"53858:2:21","valueSize":1},{"declaration":28718,"isOffset":false,"isSlot":false,"src":"53887:2:21","valueSize":1},{"declaration":28721,"isOffset":false,"isSlot":false,"src":"53916:2:21","valueSize":1},{"declaration":28724,"isOffset":false,"isSlot":false,"src":"53945:2:21","valueSize":1}],"id":28732,"nodeType":"InlineAssembly","src":"53822:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53229:3:21","parameters":{"id":28712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28707,"mutability":"mutable","name":"p0","nameLocation":"53241:2:21","nodeType":"VariableDeclaration","scope":28734,"src":"53233:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28706,"name":"uint256","nodeType":"ElementaryTypeName","src":"53233:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28709,"mutability":"mutable","name":"p1","nameLocation":"53253:2:21","nodeType":"VariableDeclaration","scope":28734,"src":"53245:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28708,"name":"address","nodeType":"ElementaryTypeName","src":"53245:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28711,"mutability":"mutable","name":"p2","nameLocation":"53262:2:21","nodeType":"VariableDeclaration","scope":28734,"src":"53257:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28710,"name":"bool","nodeType":"ElementaryTypeName","src":"53257:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53232:33:21"},"returnParameters":{"id":28713,"nodeType":"ParameterList","parameters":[],"src":"53280:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28763,"nodeType":"FunctionDefinition","src":"53970:750:21","nodes":[],"body":{"id":28762,"nodeType":"Block","src":"54033:687:21","nodes":[],"statements":[{"assignments":[28744],"declarations":[{"constant":false,"id":28744,"mutability":"mutable","name":"m0","nameLocation":"54051:2:21","nodeType":"VariableDeclaration","scope":28762,"src":"54043:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54043:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28745,"nodeType":"VariableDeclarationStatement","src":"54043:10:21"},{"assignments":[28747],"declarations":[{"constant":false,"id":28747,"mutability":"mutable","name":"m1","nameLocation":"54071:2:21","nodeType":"VariableDeclaration","scope":28762,"src":"54063:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54063:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28748,"nodeType":"VariableDeclarationStatement","src":"54063:10:21"},{"assignments":[28750],"declarations":[{"constant":false,"id":28750,"mutability":"mutable","name":"m2","nameLocation":"54091:2:21","nodeType":"VariableDeclaration","scope":28762,"src":"54083:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54083:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28751,"nodeType":"VariableDeclarationStatement","src":"54083:10:21"},{"assignments":[28753],"declarations":[{"constant":false,"id":28753,"mutability":"mutable","name":"m3","nameLocation":"54111:2:21","nodeType":"VariableDeclaration","scope":28762,"src":"54103:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54103:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28754,"nodeType":"VariableDeclarationStatement","src":"54103:10:21"},{"AST":{"nativeSrc":"54175:314:21","nodeType":"YulBlock","src":"54175:314:21","statements":[{"nativeSrc":"54189:17:21","nodeType":"YulAssignment","src":"54189:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"54201:4:21","nodeType":"YulLiteral","src":"54201:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"54195:5:21","nodeType":"YulIdentifier","src":"54195:5:21"},"nativeSrc":"54195:11:21","nodeType":"YulFunctionCall","src":"54195:11:21"},"variableNames":[{"name":"m0","nativeSrc":"54189:2:21","nodeType":"YulIdentifier","src":"54189:2:21"}]},{"nativeSrc":"54219:17:21","nodeType":"YulAssignment","src":"54219:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"54231:4:21","nodeType":"YulLiteral","src":"54231:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"54225:5:21","nodeType":"YulIdentifier","src":"54225:5:21"},"nativeSrc":"54225:11:21","nodeType":"YulFunctionCall","src":"54225:11:21"},"variableNames":[{"name":"m1","nativeSrc":"54219:2:21","nodeType":"YulIdentifier","src":"54219:2:21"}]},{"nativeSrc":"54249:17:21","nodeType":"YulAssignment","src":"54249:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"54261:4:21","nodeType":"YulLiteral","src":"54261:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"54255:5:21","nodeType":"YulIdentifier","src":"54255:5:21"},"nativeSrc":"54255:11:21","nodeType":"YulFunctionCall","src":"54255:11:21"},"variableNames":[{"name":"m2","nativeSrc":"54249:2:21","nodeType":"YulIdentifier","src":"54249:2:21"}]},{"nativeSrc":"54279:17:21","nodeType":"YulAssignment","src":"54279:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"54291:4:21","nodeType":"YulLiteral","src":"54291:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"54285:5:21","nodeType":"YulIdentifier","src":"54285:5:21"},"nativeSrc":"54285:11:21","nodeType":"YulFunctionCall","src":"54285:11:21"},"variableNames":[{"name":"m3","nativeSrc":"54279:2:21","nodeType":"YulIdentifier","src":"54279:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54375:4:21","nodeType":"YulLiteral","src":"54375:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"54381:10:21","nodeType":"YulLiteral","src":"54381:10:21","type":"","value":"0x5a9b5ed5"}],"functionName":{"name":"mstore","nativeSrc":"54368:6:21","nodeType":"YulIdentifier","src":"54368:6:21"},"nativeSrc":"54368:24:21","nodeType":"YulFunctionCall","src":"54368:24:21"},"nativeSrc":"54368:24:21","nodeType":"YulExpressionStatement","src":"54368:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54412:4:21","nodeType":"YulLiteral","src":"54412:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"54418:2:21","nodeType":"YulIdentifier","src":"54418:2:21"}],"functionName":{"name":"mstore","nativeSrc":"54405:6:21","nodeType":"YulIdentifier","src":"54405:6:21"},"nativeSrc":"54405:16:21","nodeType":"YulFunctionCall","src":"54405:16:21"},"nativeSrc":"54405:16:21","nodeType":"YulExpressionStatement","src":"54405:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54441:4:21","nodeType":"YulLiteral","src":"54441:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"54447:2:21","nodeType":"YulIdentifier","src":"54447:2:21"}],"functionName":{"name":"mstore","nativeSrc":"54434:6:21","nodeType":"YulIdentifier","src":"54434:6:21"},"nativeSrc":"54434:16:21","nodeType":"YulFunctionCall","src":"54434:16:21"},"nativeSrc":"54434:16:21","nodeType":"YulExpressionStatement","src":"54434:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54470:4:21","nodeType":"YulLiteral","src":"54470:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"54476:2:21","nodeType":"YulIdentifier","src":"54476:2:21"}],"functionName":{"name":"mstore","nativeSrc":"54463:6:21","nodeType":"YulIdentifier","src":"54463:6:21"},"nativeSrc":"54463:16:21","nodeType":"YulFunctionCall","src":"54463:16:21"},"nativeSrc":"54463:16:21","nodeType":"YulExpressionStatement","src":"54463:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28744,"isOffset":false,"isSlot":false,"src":"54189:2:21","valueSize":1},{"declaration":28747,"isOffset":false,"isSlot":false,"src":"54219:2:21","valueSize":1},{"declaration":28750,"isOffset":false,"isSlot":false,"src":"54249:2:21","valueSize":1},{"declaration":28753,"isOffset":false,"isSlot":false,"src":"54279:2:21","valueSize":1},{"declaration":28736,"isOffset":false,"isSlot":false,"src":"54418:2:21","valueSize":1},{"declaration":28738,"isOffset":false,"isSlot":false,"src":"54447:2:21","valueSize":1},{"declaration":28740,"isOffset":false,"isSlot":false,"src":"54476:2:21","valueSize":1}],"id":28755,"nodeType":"InlineAssembly","src":"54166:323:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54514:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54520:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28756,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"54498:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54498:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28760,"nodeType":"ExpressionStatement","src":"54498:27:21"},{"AST":{"nativeSrc":"54587:127:21","nodeType":"YulBlock","src":"54587:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"54608:4:21","nodeType":"YulLiteral","src":"54608:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"54614:2:21","nodeType":"YulIdentifier","src":"54614:2:21"}],"functionName":{"name":"mstore","nativeSrc":"54601:6:21","nodeType":"YulIdentifier","src":"54601:6:21"},"nativeSrc":"54601:16:21","nodeType":"YulFunctionCall","src":"54601:16:21"},"nativeSrc":"54601:16:21","nodeType":"YulExpressionStatement","src":"54601:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54637:4:21","nodeType":"YulLiteral","src":"54637:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"54643:2:21","nodeType":"YulIdentifier","src":"54643:2:21"}],"functionName":{"name":"mstore","nativeSrc":"54630:6:21","nodeType":"YulIdentifier","src":"54630:6:21"},"nativeSrc":"54630:16:21","nodeType":"YulFunctionCall","src":"54630:16:21"},"nativeSrc":"54630:16:21","nodeType":"YulExpressionStatement","src":"54630:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54666:4:21","nodeType":"YulLiteral","src":"54666:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"54672:2:21","nodeType":"YulIdentifier","src":"54672:2:21"}],"functionName":{"name":"mstore","nativeSrc":"54659:6:21","nodeType":"YulIdentifier","src":"54659:6:21"},"nativeSrc":"54659:16:21","nodeType":"YulFunctionCall","src":"54659:16:21"},"nativeSrc":"54659:16:21","nodeType":"YulExpressionStatement","src":"54659:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54695:4:21","nodeType":"YulLiteral","src":"54695:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"54701:2:21","nodeType":"YulIdentifier","src":"54701:2:21"}],"functionName":{"name":"mstore","nativeSrc":"54688:6:21","nodeType":"YulIdentifier","src":"54688:6:21"},"nativeSrc":"54688:16:21","nodeType":"YulFunctionCall","src":"54688:16:21"},"nativeSrc":"54688:16:21","nodeType":"YulExpressionStatement","src":"54688:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28744,"isOffset":false,"isSlot":false,"src":"54614:2:21","valueSize":1},{"declaration":28747,"isOffset":false,"isSlot":false,"src":"54643:2:21","valueSize":1},{"declaration":28750,"isOffset":false,"isSlot":false,"src":"54672:2:21","valueSize":1},{"declaration":28753,"isOffset":false,"isSlot":false,"src":"54701:2:21","valueSize":1}],"id":28761,"nodeType":"InlineAssembly","src":"54578:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53979:3:21","parameters":{"id":28741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28736,"mutability":"mutable","name":"p0","nameLocation":"53991:2:21","nodeType":"VariableDeclaration","scope":28763,"src":"53983:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28735,"name":"uint256","nodeType":"ElementaryTypeName","src":"53983:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28738,"mutability":"mutable","name":"p1","nameLocation":"54003:2:21","nodeType":"VariableDeclaration","scope":28763,"src":"53995:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28737,"name":"address","nodeType":"ElementaryTypeName","src":"53995:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28740,"mutability":"mutable","name":"p2","nameLocation":"54015:2:21","nodeType":"VariableDeclaration","scope":28763,"src":"54007:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28739,"name":"uint256","nodeType":"ElementaryTypeName","src":"54007:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53982:36:21"},"returnParameters":{"id":28742,"nodeType":"ParameterList","parameters":[],"src":"54033:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28798,"nodeType":"FunctionDefinition","src":"54726:1298:21","nodes":[],"body":{"id":28797,"nodeType":"Block","src":"54789:1235:21","nodes":[],"statements":[{"assignments":[28773],"declarations":[{"constant":false,"id":28773,"mutability":"mutable","name":"m0","nameLocation":"54807:2:21","nodeType":"VariableDeclaration","scope":28797,"src":"54799:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54799:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28774,"nodeType":"VariableDeclarationStatement","src":"54799:10:21"},{"assignments":[28776],"declarations":[{"constant":false,"id":28776,"mutability":"mutable","name":"m1","nameLocation":"54827:2:21","nodeType":"VariableDeclaration","scope":28797,"src":"54819:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54819:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28777,"nodeType":"VariableDeclarationStatement","src":"54819:10:21"},{"assignments":[28779],"declarations":[{"constant":false,"id":28779,"mutability":"mutable","name":"m2","nameLocation":"54847:2:21","nodeType":"VariableDeclaration","scope":28797,"src":"54839:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28778,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54839:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28780,"nodeType":"VariableDeclarationStatement","src":"54839:10:21"},{"assignments":[28782],"declarations":[{"constant":false,"id":28782,"mutability":"mutable","name":"m3","nameLocation":"54867:2:21","nodeType":"VariableDeclaration","scope":28797,"src":"54859:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54859:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28783,"nodeType":"VariableDeclarationStatement","src":"54859:10:21"},{"assignments":[28785],"declarations":[{"constant":false,"id":28785,"mutability":"mutable","name":"m4","nameLocation":"54887:2:21","nodeType":"VariableDeclaration","scope":28797,"src":"54879:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54879:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28786,"nodeType":"VariableDeclarationStatement","src":"54879:10:21"},{"assignments":[28788],"declarations":[{"constant":false,"id":28788,"mutability":"mutable","name":"m5","nameLocation":"54907:2:21","nodeType":"VariableDeclaration","scope":28797,"src":"54899:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54899:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28789,"nodeType":"VariableDeclarationStatement","src":"54899:10:21"},{"AST":{"nativeSrc":"54971:764:21","nodeType":"YulBlock","src":"54971:764:21","statements":[{"body":{"nativeSrc":"55014:313:21","nodeType":"YulBlock","src":"55014:313:21","statements":[{"nativeSrc":"55032:15:21","nodeType":"YulVariableDeclaration","src":"55032:15:21","value":{"kind":"number","nativeSrc":"55046:1:21","nodeType":"YulLiteral","src":"55046:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"55036:6:21","nodeType":"YulTypedName","src":"55036:6:21","type":""}]},{"body":{"nativeSrc":"55117:40:21","nodeType":"YulBlock","src":"55117:40:21","statements":[{"body":{"nativeSrc":"55146:9:21","nodeType":"YulBlock","src":"55146:9:21","statements":[{"nativeSrc":"55148:5:21","nodeType":"YulBreak","src":"55148:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"55134:6:21","nodeType":"YulIdentifier","src":"55134:6:21"},{"name":"w","nativeSrc":"55142:1:21","nodeType":"YulIdentifier","src":"55142:1:21"}],"functionName":{"name":"byte","nativeSrc":"55129:4:21","nodeType":"YulIdentifier","src":"55129:4:21"},"nativeSrc":"55129:15:21","nodeType":"YulFunctionCall","src":"55129:15:21"}],"functionName":{"name":"iszero","nativeSrc":"55122:6:21","nodeType":"YulIdentifier","src":"55122:6:21"},"nativeSrc":"55122:23:21","nodeType":"YulFunctionCall","src":"55122:23:21"},"nativeSrc":"55119:36:21","nodeType":"YulIf","src":"55119:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"55074:6:21","nodeType":"YulIdentifier","src":"55074:6:21"},{"kind":"number","nativeSrc":"55082:4:21","nodeType":"YulLiteral","src":"55082:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"55071:2:21","nodeType":"YulIdentifier","src":"55071:2:21"},"nativeSrc":"55071:16:21","nodeType":"YulFunctionCall","src":"55071:16:21"},"nativeSrc":"55064:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"55088:28:21","nodeType":"YulBlock","src":"55088:28:21","statements":[{"nativeSrc":"55090:24:21","nodeType":"YulAssignment","src":"55090:24:21","value":{"arguments":[{"name":"length","nativeSrc":"55104:6:21","nodeType":"YulIdentifier","src":"55104:6:21"},{"kind":"number","nativeSrc":"55112:1:21","nodeType":"YulLiteral","src":"55112:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"55100:3:21","nodeType":"YulIdentifier","src":"55100:3:21"},"nativeSrc":"55100:14:21","nodeType":"YulFunctionCall","src":"55100:14:21"},"variableNames":[{"name":"length","nativeSrc":"55090:6:21","nodeType":"YulIdentifier","src":"55090:6:21"}]}]},"pre":{"nativeSrc":"55068:2:21","nodeType":"YulBlock","src":"55068:2:21","statements":[]},"src":"55064:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"55181:3:21","nodeType":"YulIdentifier","src":"55181:3:21"},{"name":"length","nativeSrc":"55186:6:21","nodeType":"YulIdentifier","src":"55186:6:21"}],"functionName":{"name":"mstore","nativeSrc":"55174:6:21","nodeType":"YulIdentifier","src":"55174:6:21"},"nativeSrc":"55174:19:21","nodeType":"YulFunctionCall","src":"55174:19:21"},"nativeSrc":"55174:19:21","nodeType":"YulExpressionStatement","src":"55174:19:21"},{"nativeSrc":"55210:37:21","nodeType":"YulVariableDeclaration","src":"55210:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"55227:3:21","nodeType":"YulLiteral","src":"55227:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"55236:1:21","nodeType":"YulLiteral","src":"55236:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"55239:6:21","nodeType":"YulIdentifier","src":"55239:6:21"}],"functionName":{"name":"shl","nativeSrc":"55232:3:21","nodeType":"YulIdentifier","src":"55232:3:21"},"nativeSrc":"55232:14:21","nodeType":"YulFunctionCall","src":"55232:14:21"}],"functionName":{"name":"sub","nativeSrc":"55223:3:21","nodeType":"YulIdentifier","src":"55223:3:21"},"nativeSrc":"55223:24:21","nodeType":"YulFunctionCall","src":"55223:24:21"},"variables":[{"name":"shift","nativeSrc":"55214:5:21","nodeType":"YulTypedName","src":"55214:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"55275:3:21","nodeType":"YulIdentifier","src":"55275:3:21"},{"kind":"number","nativeSrc":"55280:4:21","nodeType":"YulLiteral","src":"55280:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"55271:3:21","nodeType":"YulIdentifier","src":"55271:3:21"},"nativeSrc":"55271:14:21","nodeType":"YulFunctionCall","src":"55271:14:21"},{"arguments":[{"name":"shift","nativeSrc":"55291:5:21","nodeType":"YulIdentifier","src":"55291:5:21"},{"arguments":[{"name":"shift","nativeSrc":"55302:5:21","nodeType":"YulIdentifier","src":"55302:5:21"},{"name":"w","nativeSrc":"55309:1:21","nodeType":"YulIdentifier","src":"55309:1:21"}],"functionName":{"name":"shr","nativeSrc":"55298:3:21","nodeType":"YulIdentifier","src":"55298:3:21"},"nativeSrc":"55298:13:21","nodeType":"YulFunctionCall","src":"55298:13:21"}],"functionName":{"name":"shl","nativeSrc":"55287:3:21","nodeType":"YulIdentifier","src":"55287:3:21"},"nativeSrc":"55287:25:21","nodeType":"YulFunctionCall","src":"55287:25:21"}],"functionName":{"name":"mstore","nativeSrc":"55264:6:21","nodeType":"YulIdentifier","src":"55264:6:21"},"nativeSrc":"55264:49:21","nodeType":"YulFunctionCall","src":"55264:49:21"},"nativeSrc":"55264:49:21","nodeType":"YulExpressionStatement","src":"55264:49:21"}]},"name":"writeString","nativeSrc":"54985:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"55006:3:21","nodeType":"YulTypedName","src":"55006:3:21","type":""},{"name":"w","nativeSrc":"55011:1:21","nodeType":"YulTypedName","src":"55011:1:21","type":""}],"src":"54985:342:21"},{"nativeSrc":"55340:17:21","nodeType":"YulAssignment","src":"55340:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"55352:4:21","nodeType":"YulLiteral","src":"55352:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"55346:5:21","nodeType":"YulIdentifier","src":"55346:5:21"},"nativeSrc":"55346:11:21","nodeType":"YulFunctionCall","src":"55346:11:21"},"variableNames":[{"name":"m0","nativeSrc":"55340:2:21","nodeType":"YulIdentifier","src":"55340:2:21"}]},{"nativeSrc":"55370:17:21","nodeType":"YulAssignment","src":"55370:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"55382:4:21","nodeType":"YulLiteral","src":"55382:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"55376:5:21","nodeType":"YulIdentifier","src":"55376:5:21"},"nativeSrc":"55376:11:21","nodeType":"YulFunctionCall","src":"55376:11:21"},"variableNames":[{"name":"m1","nativeSrc":"55370:2:21","nodeType":"YulIdentifier","src":"55370:2:21"}]},{"nativeSrc":"55400:17:21","nodeType":"YulAssignment","src":"55400:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"55412:4:21","nodeType":"YulLiteral","src":"55412:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"55406:5:21","nodeType":"YulIdentifier","src":"55406:5:21"},"nativeSrc":"55406:11:21","nodeType":"YulFunctionCall","src":"55406:11:21"},"variableNames":[{"name":"m2","nativeSrc":"55400:2:21","nodeType":"YulIdentifier","src":"55400:2:21"}]},{"nativeSrc":"55430:17:21","nodeType":"YulAssignment","src":"55430:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"55442:4:21","nodeType":"YulLiteral","src":"55442:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"55436:5:21","nodeType":"YulIdentifier","src":"55436:5:21"},"nativeSrc":"55436:11:21","nodeType":"YulFunctionCall","src":"55436:11:21"},"variableNames":[{"name":"m3","nativeSrc":"55430:2:21","nodeType":"YulIdentifier","src":"55430:2:21"}]},{"nativeSrc":"55460:17:21","nodeType":"YulAssignment","src":"55460:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"55472:4:21","nodeType":"YulLiteral","src":"55472:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"55466:5:21","nodeType":"YulIdentifier","src":"55466:5:21"},"nativeSrc":"55466:11:21","nodeType":"YulFunctionCall","src":"55466:11:21"},"variableNames":[{"name":"m4","nativeSrc":"55460:2:21","nodeType":"YulIdentifier","src":"55460:2:21"}]},{"nativeSrc":"55490:17:21","nodeType":"YulAssignment","src":"55490:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"55502:4:21","nodeType":"YulLiteral","src":"55502:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"55496:5:21","nodeType":"YulIdentifier","src":"55496:5:21"},"nativeSrc":"55496:11:21","nodeType":"YulFunctionCall","src":"55496:11:21"},"variableNames":[{"name":"m5","nativeSrc":"55490:2:21","nodeType":"YulIdentifier","src":"55490:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55585:4:21","nodeType":"YulLiteral","src":"55585:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"55591:10:21","nodeType":"YulLiteral","src":"55591:10:21","type":"","value":"0x63cb41f9"}],"functionName":{"name":"mstore","nativeSrc":"55578:6:21","nodeType":"YulIdentifier","src":"55578:6:21"},"nativeSrc":"55578:24:21","nodeType":"YulFunctionCall","src":"55578:24:21"},"nativeSrc":"55578:24:21","nodeType":"YulExpressionStatement","src":"55578:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55622:4:21","nodeType":"YulLiteral","src":"55622:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"55628:2:21","nodeType":"YulIdentifier","src":"55628:2:21"}],"functionName":{"name":"mstore","nativeSrc":"55615:6:21","nodeType":"YulIdentifier","src":"55615:6:21"},"nativeSrc":"55615:16:21","nodeType":"YulFunctionCall","src":"55615:16:21"},"nativeSrc":"55615:16:21","nodeType":"YulExpressionStatement","src":"55615:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55651:4:21","nodeType":"YulLiteral","src":"55651:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"55657:2:21","nodeType":"YulIdentifier","src":"55657:2:21"}],"functionName":{"name":"mstore","nativeSrc":"55644:6:21","nodeType":"YulIdentifier","src":"55644:6:21"},"nativeSrc":"55644:16:21","nodeType":"YulFunctionCall","src":"55644:16:21"},"nativeSrc":"55644:16:21","nodeType":"YulExpressionStatement","src":"55644:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55680:4:21","nodeType":"YulLiteral","src":"55680:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"55686:4:21","nodeType":"YulLiteral","src":"55686:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"55673:6:21","nodeType":"YulIdentifier","src":"55673:6:21"},"nativeSrc":"55673:18:21","nodeType":"YulFunctionCall","src":"55673:18:21"},"nativeSrc":"55673:18:21","nodeType":"YulExpressionStatement","src":"55673:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55716:4:21","nodeType":"YulLiteral","src":"55716:4:21","type":"","value":"0x80"},{"name":"p2","nativeSrc":"55722:2:21","nodeType":"YulIdentifier","src":"55722:2:21"}],"functionName":{"name":"writeString","nativeSrc":"55704:11:21","nodeType":"YulIdentifier","src":"55704:11:21"},"nativeSrc":"55704:21:21","nodeType":"YulFunctionCall","src":"55704:21:21"},"nativeSrc":"55704:21:21","nodeType":"YulExpressionStatement","src":"55704:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28773,"isOffset":false,"isSlot":false,"src":"55340:2:21","valueSize":1},{"declaration":28776,"isOffset":false,"isSlot":false,"src":"55370:2:21","valueSize":1},{"declaration":28779,"isOffset":false,"isSlot":false,"src":"55400:2:21","valueSize":1},{"declaration":28782,"isOffset":false,"isSlot":false,"src":"55430:2:21","valueSize":1},{"declaration":28785,"isOffset":false,"isSlot":false,"src":"55460:2:21","valueSize":1},{"declaration":28788,"isOffset":false,"isSlot":false,"src":"55490:2:21","valueSize":1},{"declaration":28765,"isOffset":false,"isSlot":false,"src":"55628:2:21","valueSize":1},{"declaration":28767,"isOffset":false,"isSlot":false,"src":"55657:2:21","valueSize":1},{"declaration":28769,"isOffset":false,"isSlot":false,"src":"55722:2:21","valueSize":1}],"id":28790,"nodeType":"InlineAssembly","src":"54962:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55760:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55766:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28791,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"55744:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55744:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28795,"nodeType":"ExpressionStatement","src":"55744:27:21"},{"AST":{"nativeSrc":"55833:185:21","nodeType":"YulBlock","src":"55833:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"55854:4:21","nodeType":"YulLiteral","src":"55854:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"55860:2:21","nodeType":"YulIdentifier","src":"55860:2:21"}],"functionName":{"name":"mstore","nativeSrc":"55847:6:21","nodeType":"YulIdentifier","src":"55847:6:21"},"nativeSrc":"55847:16:21","nodeType":"YulFunctionCall","src":"55847:16:21"},"nativeSrc":"55847:16:21","nodeType":"YulExpressionStatement","src":"55847:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55883:4:21","nodeType":"YulLiteral","src":"55883:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"55889:2:21","nodeType":"YulIdentifier","src":"55889:2:21"}],"functionName":{"name":"mstore","nativeSrc":"55876:6:21","nodeType":"YulIdentifier","src":"55876:6:21"},"nativeSrc":"55876:16:21","nodeType":"YulFunctionCall","src":"55876:16:21"},"nativeSrc":"55876:16:21","nodeType":"YulExpressionStatement","src":"55876:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55912:4:21","nodeType":"YulLiteral","src":"55912:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"55918:2:21","nodeType":"YulIdentifier","src":"55918:2:21"}],"functionName":{"name":"mstore","nativeSrc":"55905:6:21","nodeType":"YulIdentifier","src":"55905:6:21"},"nativeSrc":"55905:16:21","nodeType":"YulFunctionCall","src":"55905:16:21"},"nativeSrc":"55905:16:21","nodeType":"YulExpressionStatement","src":"55905:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55941:4:21","nodeType":"YulLiteral","src":"55941:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"55947:2:21","nodeType":"YulIdentifier","src":"55947:2:21"}],"functionName":{"name":"mstore","nativeSrc":"55934:6:21","nodeType":"YulIdentifier","src":"55934:6:21"},"nativeSrc":"55934:16:21","nodeType":"YulFunctionCall","src":"55934:16:21"},"nativeSrc":"55934:16:21","nodeType":"YulExpressionStatement","src":"55934:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55970:4:21","nodeType":"YulLiteral","src":"55970:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"55976:2:21","nodeType":"YulIdentifier","src":"55976:2:21"}],"functionName":{"name":"mstore","nativeSrc":"55963:6:21","nodeType":"YulIdentifier","src":"55963:6:21"},"nativeSrc":"55963:16:21","nodeType":"YulFunctionCall","src":"55963:16:21"},"nativeSrc":"55963:16:21","nodeType":"YulExpressionStatement","src":"55963:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55999:4:21","nodeType":"YulLiteral","src":"55999:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"56005:2:21","nodeType":"YulIdentifier","src":"56005:2:21"}],"functionName":{"name":"mstore","nativeSrc":"55992:6:21","nodeType":"YulIdentifier","src":"55992:6:21"},"nativeSrc":"55992:16:21","nodeType":"YulFunctionCall","src":"55992:16:21"},"nativeSrc":"55992:16:21","nodeType":"YulExpressionStatement","src":"55992:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28773,"isOffset":false,"isSlot":false,"src":"55860:2:21","valueSize":1},{"declaration":28776,"isOffset":false,"isSlot":false,"src":"55889:2:21","valueSize":1},{"declaration":28779,"isOffset":false,"isSlot":false,"src":"55918:2:21","valueSize":1},{"declaration":28782,"isOffset":false,"isSlot":false,"src":"55947:2:21","valueSize":1},{"declaration":28785,"isOffset":false,"isSlot":false,"src":"55976:2:21","valueSize":1},{"declaration":28788,"isOffset":false,"isSlot":false,"src":"56005:2:21","valueSize":1}],"id":28796,"nodeType":"InlineAssembly","src":"55824:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54735:3:21","parameters":{"id":28770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28765,"mutability":"mutable","name":"p0","nameLocation":"54747:2:21","nodeType":"VariableDeclaration","scope":28798,"src":"54739:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28764,"name":"uint256","nodeType":"ElementaryTypeName","src":"54739:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28767,"mutability":"mutable","name":"p1","nameLocation":"54759:2:21","nodeType":"VariableDeclaration","scope":28798,"src":"54751:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28766,"name":"address","nodeType":"ElementaryTypeName","src":"54751:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28769,"mutability":"mutable","name":"p2","nameLocation":"54771:2:21","nodeType":"VariableDeclaration","scope":28798,"src":"54763:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54763:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"54738:36:21"},"returnParameters":{"id":28771,"nodeType":"ParameterList","parameters":[],"src":"54789:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28827,"nodeType":"FunctionDefinition","src":"56030:744:21","nodes":[],"body":{"id":28826,"nodeType":"Block","src":"56090:684:21","nodes":[],"statements":[{"assignments":[28808],"declarations":[{"constant":false,"id":28808,"mutability":"mutable","name":"m0","nameLocation":"56108:2:21","nodeType":"VariableDeclaration","scope":28826,"src":"56100:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56100:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28809,"nodeType":"VariableDeclarationStatement","src":"56100:10:21"},{"assignments":[28811],"declarations":[{"constant":false,"id":28811,"mutability":"mutable","name":"m1","nameLocation":"56128:2:21","nodeType":"VariableDeclaration","scope":28826,"src":"56120:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28810,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56120:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28812,"nodeType":"VariableDeclarationStatement","src":"56120:10:21"},{"assignments":[28814],"declarations":[{"constant":false,"id":28814,"mutability":"mutable","name":"m2","nameLocation":"56148:2:21","nodeType":"VariableDeclaration","scope":28826,"src":"56140:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56140:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28815,"nodeType":"VariableDeclarationStatement","src":"56140:10:21"},{"assignments":[28817],"declarations":[{"constant":false,"id":28817,"mutability":"mutable","name":"m3","nameLocation":"56168:2:21","nodeType":"VariableDeclaration","scope":28826,"src":"56160:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56160:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28818,"nodeType":"VariableDeclarationStatement","src":"56160:10:21"},{"AST":{"nativeSrc":"56232:311:21","nodeType":"YulBlock","src":"56232:311:21","statements":[{"nativeSrc":"56246:17:21","nodeType":"YulAssignment","src":"56246:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"56258:4:21","nodeType":"YulLiteral","src":"56258:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"56252:5:21","nodeType":"YulIdentifier","src":"56252:5:21"},"nativeSrc":"56252:11:21","nodeType":"YulFunctionCall","src":"56252:11:21"},"variableNames":[{"name":"m0","nativeSrc":"56246:2:21","nodeType":"YulIdentifier","src":"56246:2:21"}]},{"nativeSrc":"56276:17:21","nodeType":"YulAssignment","src":"56276:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"56288:4:21","nodeType":"YulLiteral","src":"56288:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"56282:5:21","nodeType":"YulIdentifier","src":"56282:5:21"},"nativeSrc":"56282:11:21","nodeType":"YulFunctionCall","src":"56282:11:21"},"variableNames":[{"name":"m1","nativeSrc":"56276:2:21","nodeType":"YulIdentifier","src":"56276:2:21"}]},{"nativeSrc":"56306:17:21","nodeType":"YulAssignment","src":"56306:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"56318:4:21","nodeType":"YulLiteral","src":"56318:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"56312:5:21","nodeType":"YulIdentifier","src":"56312:5:21"},"nativeSrc":"56312:11:21","nodeType":"YulFunctionCall","src":"56312:11:21"},"variableNames":[{"name":"m2","nativeSrc":"56306:2:21","nodeType":"YulIdentifier","src":"56306:2:21"}]},{"nativeSrc":"56336:17:21","nodeType":"YulAssignment","src":"56336:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"56348:4:21","nodeType":"YulLiteral","src":"56348:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"56342:5:21","nodeType":"YulIdentifier","src":"56342:5:21"},"nativeSrc":"56342:11:21","nodeType":"YulFunctionCall","src":"56342:11:21"},"variableNames":[{"name":"m3","nativeSrc":"56336:2:21","nodeType":"YulIdentifier","src":"56336:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56429:4:21","nodeType":"YulLiteral","src":"56429:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"56435:10:21","nodeType":"YulLiteral","src":"56435:10:21","type":"","value":"0x35085f7b"}],"functionName":{"name":"mstore","nativeSrc":"56422:6:21","nodeType":"YulIdentifier","src":"56422:6:21"},"nativeSrc":"56422:24:21","nodeType":"YulFunctionCall","src":"56422:24:21"},"nativeSrc":"56422:24:21","nodeType":"YulExpressionStatement","src":"56422:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56466:4:21","nodeType":"YulLiteral","src":"56466:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"56472:2:21","nodeType":"YulIdentifier","src":"56472:2:21"}],"functionName":{"name":"mstore","nativeSrc":"56459:6:21","nodeType":"YulIdentifier","src":"56459:6:21"},"nativeSrc":"56459:16:21","nodeType":"YulFunctionCall","src":"56459:16:21"},"nativeSrc":"56459:16:21","nodeType":"YulExpressionStatement","src":"56459:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56495:4:21","nodeType":"YulLiteral","src":"56495:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"56501:2:21","nodeType":"YulIdentifier","src":"56501:2:21"}],"functionName":{"name":"mstore","nativeSrc":"56488:6:21","nodeType":"YulIdentifier","src":"56488:6:21"},"nativeSrc":"56488:16:21","nodeType":"YulFunctionCall","src":"56488:16:21"},"nativeSrc":"56488:16:21","nodeType":"YulExpressionStatement","src":"56488:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56524:4:21","nodeType":"YulLiteral","src":"56524:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"56530:2:21","nodeType":"YulIdentifier","src":"56530:2:21"}],"functionName":{"name":"mstore","nativeSrc":"56517:6:21","nodeType":"YulIdentifier","src":"56517:6:21"},"nativeSrc":"56517:16:21","nodeType":"YulFunctionCall","src":"56517:16:21"},"nativeSrc":"56517:16:21","nodeType":"YulExpressionStatement","src":"56517:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28808,"isOffset":false,"isSlot":false,"src":"56246:2:21","valueSize":1},{"declaration":28811,"isOffset":false,"isSlot":false,"src":"56276:2:21","valueSize":1},{"declaration":28814,"isOffset":false,"isSlot":false,"src":"56306:2:21","valueSize":1},{"declaration":28817,"isOffset":false,"isSlot":false,"src":"56336:2:21","valueSize":1},{"declaration":28800,"isOffset":false,"isSlot":false,"src":"56472:2:21","valueSize":1},{"declaration":28802,"isOffset":false,"isSlot":false,"src":"56501:2:21","valueSize":1},{"declaration":28804,"isOffset":false,"isSlot":false,"src":"56530:2:21","valueSize":1}],"id":28819,"nodeType":"InlineAssembly","src":"56223:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56568:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56574:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28820,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"56552:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56552:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28824,"nodeType":"ExpressionStatement","src":"56552:27:21"},{"AST":{"nativeSrc":"56641:127:21","nodeType":"YulBlock","src":"56641:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"56662:4:21","nodeType":"YulLiteral","src":"56662:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"56668:2:21","nodeType":"YulIdentifier","src":"56668:2:21"}],"functionName":{"name":"mstore","nativeSrc":"56655:6:21","nodeType":"YulIdentifier","src":"56655:6:21"},"nativeSrc":"56655:16:21","nodeType":"YulFunctionCall","src":"56655:16:21"},"nativeSrc":"56655:16:21","nodeType":"YulExpressionStatement","src":"56655:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56691:4:21","nodeType":"YulLiteral","src":"56691:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"56697:2:21","nodeType":"YulIdentifier","src":"56697:2:21"}],"functionName":{"name":"mstore","nativeSrc":"56684:6:21","nodeType":"YulIdentifier","src":"56684:6:21"},"nativeSrc":"56684:16:21","nodeType":"YulFunctionCall","src":"56684:16:21"},"nativeSrc":"56684:16:21","nodeType":"YulExpressionStatement","src":"56684:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56720:4:21","nodeType":"YulLiteral","src":"56720:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"56726:2:21","nodeType":"YulIdentifier","src":"56726:2:21"}],"functionName":{"name":"mstore","nativeSrc":"56713:6:21","nodeType":"YulIdentifier","src":"56713:6:21"},"nativeSrc":"56713:16:21","nodeType":"YulFunctionCall","src":"56713:16:21"},"nativeSrc":"56713:16:21","nodeType":"YulExpressionStatement","src":"56713:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56749:4:21","nodeType":"YulLiteral","src":"56749:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"56755:2:21","nodeType":"YulIdentifier","src":"56755:2:21"}],"functionName":{"name":"mstore","nativeSrc":"56742:6:21","nodeType":"YulIdentifier","src":"56742:6:21"},"nativeSrc":"56742:16:21","nodeType":"YulFunctionCall","src":"56742:16:21"},"nativeSrc":"56742:16:21","nodeType":"YulExpressionStatement","src":"56742:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28808,"isOffset":false,"isSlot":false,"src":"56668:2:21","valueSize":1},{"declaration":28811,"isOffset":false,"isSlot":false,"src":"56697:2:21","valueSize":1},{"declaration":28814,"isOffset":false,"isSlot":false,"src":"56726:2:21","valueSize":1},{"declaration":28817,"isOffset":false,"isSlot":false,"src":"56755:2:21","valueSize":1}],"id":28825,"nodeType":"InlineAssembly","src":"56632:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56039:3:21","parameters":{"id":28805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28800,"mutability":"mutable","name":"p0","nameLocation":"56051:2:21","nodeType":"VariableDeclaration","scope":28827,"src":"56043:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28799,"name":"uint256","nodeType":"ElementaryTypeName","src":"56043:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28802,"mutability":"mutable","name":"p1","nameLocation":"56060:2:21","nodeType":"VariableDeclaration","scope":28827,"src":"56055:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28801,"name":"bool","nodeType":"ElementaryTypeName","src":"56055:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28804,"mutability":"mutable","name":"p2","nameLocation":"56072:2:21","nodeType":"VariableDeclaration","scope":28827,"src":"56064:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28803,"name":"address","nodeType":"ElementaryTypeName","src":"56064:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56042:33:21"},"returnParameters":{"id":28806,"nodeType":"ParameterList","parameters":[],"src":"56090:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28856,"nodeType":"FunctionDefinition","src":"56780:738:21","nodes":[],"body":{"id":28855,"nodeType":"Block","src":"56837:681:21","nodes":[],"statements":[{"assignments":[28837],"declarations":[{"constant":false,"id":28837,"mutability":"mutable","name":"m0","nameLocation":"56855:2:21","nodeType":"VariableDeclaration","scope":28855,"src":"56847:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56847:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28838,"nodeType":"VariableDeclarationStatement","src":"56847:10:21"},{"assignments":[28840],"declarations":[{"constant":false,"id":28840,"mutability":"mutable","name":"m1","nameLocation":"56875:2:21","nodeType":"VariableDeclaration","scope":28855,"src":"56867:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56867:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28841,"nodeType":"VariableDeclarationStatement","src":"56867:10:21"},{"assignments":[28843],"declarations":[{"constant":false,"id":28843,"mutability":"mutable","name":"m2","nameLocation":"56895:2:21","nodeType":"VariableDeclaration","scope":28855,"src":"56887:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56887:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28844,"nodeType":"VariableDeclarationStatement","src":"56887:10:21"},{"assignments":[28846],"declarations":[{"constant":false,"id":28846,"mutability":"mutable","name":"m3","nameLocation":"56915:2:21","nodeType":"VariableDeclaration","scope":28855,"src":"56907:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56907:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28847,"nodeType":"VariableDeclarationStatement","src":"56907:10:21"},{"AST":{"nativeSrc":"56979:308:21","nodeType":"YulBlock","src":"56979:308:21","statements":[{"nativeSrc":"56993:17:21","nodeType":"YulAssignment","src":"56993:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"57005:4:21","nodeType":"YulLiteral","src":"57005:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"56999:5:21","nodeType":"YulIdentifier","src":"56999:5:21"},"nativeSrc":"56999:11:21","nodeType":"YulFunctionCall","src":"56999:11:21"},"variableNames":[{"name":"m0","nativeSrc":"56993:2:21","nodeType":"YulIdentifier","src":"56993:2:21"}]},{"nativeSrc":"57023:17:21","nodeType":"YulAssignment","src":"57023:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"57035:4:21","nodeType":"YulLiteral","src":"57035:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"57029:5:21","nodeType":"YulIdentifier","src":"57029:5:21"},"nativeSrc":"57029:11:21","nodeType":"YulFunctionCall","src":"57029:11:21"},"variableNames":[{"name":"m1","nativeSrc":"57023:2:21","nodeType":"YulIdentifier","src":"57023:2:21"}]},{"nativeSrc":"57053:17:21","nodeType":"YulAssignment","src":"57053:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"57065:4:21","nodeType":"YulLiteral","src":"57065:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"57059:5:21","nodeType":"YulIdentifier","src":"57059:5:21"},"nativeSrc":"57059:11:21","nodeType":"YulFunctionCall","src":"57059:11:21"},"variableNames":[{"name":"m2","nativeSrc":"57053:2:21","nodeType":"YulIdentifier","src":"57053:2:21"}]},{"nativeSrc":"57083:17:21","nodeType":"YulAssignment","src":"57083:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"57095:4:21","nodeType":"YulLiteral","src":"57095:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"57089:5:21","nodeType":"YulIdentifier","src":"57089:5:21"},"nativeSrc":"57089:11:21","nodeType":"YulFunctionCall","src":"57089:11:21"},"variableNames":[{"name":"m3","nativeSrc":"57083:2:21","nodeType":"YulIdentifier","src":"57083:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57173:4:21","nodeType":"YulLiteral","src":"57173:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"57179:10:21","nodeType":"YulLiteral","src":"57179:10:21","type":"","value":"0x20718650"}],"functionName":{"name":"mstore","nativeSrc":"57166:6:21","nodeType":"YulIdentifier","src":"57166:6:21"},"nativeSrc":"57166:24:21","nodeType":"YulFunctionCall","src":"57166:24:21"},"nativeSrc":"57166:24:21","nodeType":"YulExpressionStatement","src":"57166:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57210:4:21","nodeType":"YulLiteral","src":"57210:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"57216:2:21","nodeType":"YulIdentifier","src":"57216:2:21"}],"functionName":{"name":"mstore","nativeSrc":"57203:6:21","nodeType":"YulIdentifier","src":"57203:6:21"},"nativeSrc":"57203:16:21","nodeType":"YulFunctionCall","src":"57203:16:21"},"nativeSrc":"57203:16:21","nodeType":"YulExpressionStatement","src":"57203:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57239:4:21","nodeType":"YulLiteral","src":"57239:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"57245:2:21","nodeType":"YulIdentifier","src":"57245:2:21"}],"functionName":{"name":"mstore","nativeSrc":"57232:6:21","nodeType":"YulIdentifier","src":"57232:6:21"},"nativeSrc":"57232:16:21","nodeType":"YulFunctionCall","src":"57232:16:21"},"nativeSrc":"57232:16:21","nodeType":"YulExpressionStatement","src":"57232:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57268:4:21","nodeType":"YulLiteral","src":"57268:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"57274:2:21","nodeType":"YulIdentifier","src":"57274:2:21"}],"functionName":{"name":"mstore","nativeSrc":"57261:6:21","nodeType":"YulIdentifier","src":"57261:6:21"},"nativeSrc":"57261:16:21","nodeType":"YulFunctionCall","src":"57261:16:21"},"nativeSrc":"57261:16:21","nodeType":"YulExpressionStatement","src":"57261:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28837,"isOffset":false,"isSlot":false,"src":"56993:2:21","valueSize":1},{"declaration":28840,"isOffset":false,"isSlot":false,"src":"57023:2:21","valueSize":1},{"declaration":28843,"isOffset":false,"isSlot":false,"src":"57053:2:21","valueSize":1},{"declaration":28846,"isOffset":false,"isSlot":false,"src":"57083:2:21","valueSize":1},{"declaration":28829,"isOffset":false,"isSlot":false,"src":"57216:2:21","valueSize":1},{"declaration":28831,"isOffset":false,"isSlot":false,"src":"57245:2:21","valueSize":1},{"declaration":28833,"isOffset":false,"isSlot":false,"src":"57274:2:21","valueSize":1}],"id":28848,"nodeType":"InlineAssembly","src":"56970:317:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57312:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57318:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28849,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"57296:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57296:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28853,"nodeType":"ExpressionStatement","src":"57296:27:21"},{"AST":{"nativeSrc":"57385:127:21","nodeType":"YulBlock","src":"57385:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"57406:4:21","nodeType":"YulLiteral","src":"57406:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"57412:2:21","nodeType":"YulIdentifier","src":"57412:2:21"}],"functionName":{"name":"mstore","nativeSrc":"57399:6:21","nodeType":"YulIdentifier","src":"57399:6:21"},"nativeSrc":"57399:16:21","nodeType":"YulFunctionCall","src":"57399:16:21"},"nativeSrc":"57399:16:21","nodeType":"YulExpressionStatement","src":"57399:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57435:4:21","nodeType":"YulLiteral","src":"57435:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"57441:2:21","nodeType":"YulIdentifier","src":"57441:2:21"}],"functionName":{"name":"mstore","nativeSrc":"57428:6:21","nodeType":"YulIdentifier","src":"57428:6:21"},"nativeSrc":"57428:16:21","nodeType":"YulFunctionCall","src":"57428:16:21"},"nativeSrc":"57428:16:21","nodeType":"YulExpressionStatement","src":"57428:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57464:4:21","nodeType":"YulLiteral","src":"57464:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"57470:2:21","nodeType":"YulIdentifier","src":"57470:2:21"}],"functionName":{"name":"mstore","nativeSrc":"57457:6:21","nodeType":"YulIdentifier","src":"57457:6:21"},"nativeSrc":"57457:16:21","nodeType":"YulFunctionCall","src":"57457:16:21"},"nativeSrc":"57457:16:21","nodeType":"YulExpressionStatement","src":"57457:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57493:4:21","nodeType":"YulLiteral","src":"57493:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"57499:2:21","nodeType":"YulIdentifier","src":"57499:2:21"}],"functionName":{"name":"mstore","nativeSrc":"57486:6:21","nodeType":"YulIdentifier","src":"57486:6:21"},"nativeSrc":"57486:16:21","nodeType":"YulFunctionCall","src":"57486:16:21"},"nativeSrc":"57486:16:21","nodeType":"YulExpressionStatement","src":"57486:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28837,"isOffset":false,"isSlot":false,"src":"57412:2:21","valueSize":1},{"declaration":28840,"isOffset":false,"isSlot":false,"src":"57441:2:21","valueSize":1},{"declaration":28843,"isOffset":false,"isSlot":false,"src":"57470:2:21","valueSize":1},{"declaration":28846,"isOffset":false,"isSlot":false,"src":"57499:2:21","valueSize":1}],"id":28854,"nodeType":"InlineAssembly","src":"57376:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56789:3:21","parameters":{"id":28834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28829,"mutability":"mutable","name":"p0","nameLocation":"56801:2:21","nodeType":"VariableDeclaration","scope":28856,"src":"56793:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28828,"name":"uint256","nodeType":"ElementaryTypeName","src":"56793:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28831,"mutability":"mutable","name":"p1","nameLocation":"56810:2:21","nodeType":"VariableDeclaration","scope":28856,"src":"56805:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28830,"name":"bool","nodeType":"ElementaryTypeName","src":"56805:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28833,"mutability":"mutable","name":"p2","nameLocation":"56819:2:21","nodeType":"VariableDeclaration","scope":28856,"src":"56814:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28832,"name":"bool","nodeType":"ElementaryTypeName","src":"56814:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56792:30:21"},"returnParameters":{"id":28835,"nodeType":"ParameterList","parameters":[],"src":"56837:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28885,"nodeType":"FunctionDefinition","src":"57524:744:21","nodes":[],"body":{"id":28884,"nodeType":"Block","src":"57584:684:21","nodes":[],"statements":[{"assignments":[28866],"declarations":[{"constant":false,"id":28866,"mutability":"mutable","name":"m0","nameLocation":"57602:2:21","nodeType":"VariableDeclaration","scope":28884,"src":"57594:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57594:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28867,"nodeType":"VariableDeclarationStatement","src":"57594:10:21"},{"assignments":[28869],"declarations":[{"constant":false,"id":28869,"mutability":"mutable","name":"m1","nameLocation":"57622:2:21","nodeType":"VariableDeclaration","scope":28884,"src":"57614:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57614:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28870,"nodeType":"VariableDeclarationStatement","src":"57614:10:21"},{"assignments":[28872],"declarations":[{"constant":false,"id":28872,"mutability":"mutable","name":"m2","nameLocation":"57642:2:21","nodeType":"VariableDeclaration","scope":28884,"src":"57634:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57634:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28873,"nodeType":"VariableDeclarationStatement","src":"57634:10:21"},{"assignments":[28875],"declarations":[{"constant":false,"id":28875,"mutability":"mutable","name":"m3","nameLocation":"57662:2:21","nodeType":"VariableDeclaration","scope":28884,"src":"57654:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57654:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28876,"nodeType":"VariableDeclarationStatement","src":"57654:10:21"},{"AST":{"nativeSrc":"57726:311:21","nodeType":"YulBlock","src":"57726:311:21","statements":[{"nativeSrc":"57740:17:21","nodeType":"YulAssignment","src":"57740:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"57752:4:21","nodeType":"YulLiteral","src":"57752:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"57746:5:21","nodeType":"YulIdentifier","src":"57746:5:21"},"nativeSrc":"57746:11:21","nodeType":"YulFunctionCall","src":"57746:11:21"},"variableNames":[{"name":"m0","nativeSrc":"57740:2:21","nodeType":"YulIdentifier","src":"57740:2:21"}]},{"nativeSrc":"57770:17:21","nodeType":"YulAssignment","src":"57770:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"57782:4:21","nodeType":"YulLiteral","src":"57782:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"57776:5:21","nodeType":"YulIdentifier","src":"57776:5:21"},"nativeSrc":"57776:11:21","nodeType":"YulFunctionCall","src":"57776:11:21"},"variableNames":[{"name":"m1","nativeSrc":"57770:2:21","nodeType":"YulIdentifier","src":"57770:2:21"}]},{"nativeSrc":"57800:17:21","nodeType":"YulAssignment","src":"57800:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"57812:4:21","nodeType":"YulLiteral","src":"57812:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"57806:5:21","nodeType":"YulIdentifier","src":"57806:5:21"},"nativeSrc":"57806:11:21","nodeType":"YulFunctionCall","src":"57806:11:21"},"variableNames":[{"name":"m2","nativeSrc":"57800:2:21","nodeType":"YulIdentifier","src":"57800:2:21"}]},{"nativeSrc":"57830:17:21","nodeType":"YulAssignment","src":"57830:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"57842:4:21","nodeType":"YulLiteral","src":"57842:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"57836:5:21","nodeType":"YulIdentifier","src":"57836:5:21"},"nativeSrc":"57836:11:21","nodeType":"YulFunctionCall","src":"57836:11:21"},"variableNames":[{"name":"m3","nativeSrc":"57830:2:21","nodeType":"YulIdentifier","src":"57830:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57923:4:21","nodeType":"YulLiteral","src":"57923:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"57929:10:21","nodeType":"YulLiteral","src":"57929:10:21","type":"","value":"0x20098014"}],"functionName":{"name":"mstore","nativeSrc":"57916:6:21","nodeType":"YulIdentifier","src":"57916:6:21"},"nativeSrc":"57916:24:21","nodeType":"YulFunctionCall","src":"57916:24:21"},"nativeSrc":"57916:24:21","nodeType":"YulExpressionStatement","src":"57916:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57960:4:21","nodeType":"YulLiteral","src":"57960:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"57966:2:21","nodeType":"YulIdentifier","src":"57966:2:21"}],"functionName":{"name":"mstore","nativeSrc":"57953:6:21","nodeType":"YulIdentifier","src":"57953:6:21"},"nativeSrc":"57953:16:21","nodeType":"YulFunctionCall","src":"57953:16:21"},"nativeSrc":"57953:16:21","nodeType":"YulExpressionStatement","src":"57953:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57989:4:21","nodeType":"YulLiteral","src":"57989:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"57995:2:21","nodeType":"YulIdentifier","src":"57995:2:21"}],"functionName":{"name":"mstore","nativeSrc":"57982:6:21","nodeType":"YulIdentifier","src":"57982:6:21"},"nativeSrc":"57982:16:21","nodeType":"YulFunctionCall","src":"57982:16:21"},"nativeSrc":"57982:16:21","nodeType":"YulExpressionStatement","src":"57982:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58018:4:21","nodeType":"YulLiteral","src":"58018:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"58024:2:21","nodeType":"YulIdentifier","src":"58024:2:21"}],"functionName":{"name":"mstore","nativeSrc":"58011:6:21","nodeType":"YulIdentifier","src":"58011:6:21"},"nativeSrc":"58011:16:21","nodeType":"YulFunctionCall","src":"58011:16:21"},"nativeSrc":"58011:16:21","nodeType":"YulExpressionStatement","src":"58011:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28866,"isOffset":false,"isSlot":false,"src":"57740:2:21","valueSize":1},{"declaration":28869,"isOffset":false,"isSlot":false,"src":"57770:2:21","valueSize":1},{"declaration":28872,"isOffset":false,"isSlot":false,"src":"57800:2:21","valueSize":1},{"declaration":28875,"isOffset":false,"isSlot":false,"src":"57830:2:21","valueSize":1},{"declaration":28858,"isOffset":false,"isSlot":false,"src":"57966:2:21","valueSize":1},{"declaration":28860,"isOffset":false,"isSlot":false,"src":"57995:2:21","valueSize":1},{"declaration":28862,"isOffset":false,"isSlot":false,"src":"58024:2:21","valueSize":1}],"id":28877,"nodeType":"InlineAssembly","src":"57717:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58062:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58068:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28878,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"58046:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58046:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28882,"nodeType":"ExpressionStatement","src":"58046:27:21"},{"AST":{"nativeSrc":"58135:127:21","nodeType":"YulBlock","src":"58135:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"58156:4:21","nodeType":"YulLiteral","src":"58156:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"58162:2:21","nodeType":"YulIdentifier","src":"58162:2:21"}],"functionName":{"name":"mstore","nativeSrc":"58149:6:21","nodeType":"YulIdentifier","src":"58149:6:21"},"nativeSrc":"58149:16:21","nodeType":"YulFunctionCall","src":"58149:16:21"},"nativeSrc":"58149:16:21","nodeType":"YulExpressionStatement","src":"58149:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58185:4:21","nodeType":"YulLiteral","src":"58185:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"58191:2:21","nodeType":"YulIdentifier","src":"58191:2:21"}],"functionName":{"name":"mstore","nativeSrc":"58178:6:21","nodeType":"YulIdentifier","src":"58178:6:21"},"nativeSrc":"58178:16:21","nodeType":"YulFunctionCall","src":"58178:16:21"},"nativeSrc":"58178:16:21","nodeType":"YulExpressionStatement","src":"58178:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58214:4:21","nodeType":"YulLiteral","src":"58214:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"58220:2:21","nodeType":"YulIdentifier","src":"58220:2:21"}],"functionName":{"name":"mstore","nativeSrc":"58207:6:21","nodeType":"YulIdentifier","src":"58207:6:21"},"nativeSrc":"58207:16:21","nodeType":"YulFunctionCall","src":"58207:16:21"},"nativeSrc":"58207:16:21","nodeType":"YulExpressionStatement","src":"58207:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58243:4:21","nodeType":"YulLiteral","src":"58243:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"58249:2:21","nodeType":"YulIdentifier","src":"58249:2:21"}],"functionName":{"name":"mstore","nativeSrc":"58236:6:21","nodeType":"YulIdentifier","src":"58236:6:21"},"nativeSrc":"58236:16:21","nodeType":"YulFunctionCall","src":"58236:16:21"},"nativeSrc":"58236:16:21","nodeType":"YulExpressionStatement","src":"58236:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28866,"isOffset":false,"isSlot":false,"src":"58162:2:21","valueSize":1},{"declaration":28869,"isOffset":false,"isSlot":false,"src":"58191:2:21","valueSize":1},{"declaration":28872,"isOffset":false,"isSlot":false,"src":"58220:2:21","valueSize":1},{"declaration":28875,"isOffset":false,"isSlot":false,"src":"58249:2:21","valueSize":1}],"id":28883,"nodeType":"InlineAssembly","src":"58126:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57533:3:21","parameters":{"id":28863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28858,"mutability":"mutable","name":"p0","nameLocation":"57545:2:21","nodeType":"VariableDeclaration","scope":28885,"src":"57537:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28857,"name":"uint256","nodeType":"ElementaryTypeName","src":"57537:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28860,"mutability":"mutable","name":"p1","nameLocation":"57554:2:21","nodeType":"VariableDeclaration","scope":28885,"src":"57549:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28859,"name":"bool","nodeType":"ElementaryTypeName","src":"57549:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28862,"mutability":"mutable","name":"p2","nameLocation":"57566:2:21","nodeType":"VariableDeclaration","scope":28885,"src":"57558:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28861,"name":"uint256","nodeType":"ElementaryTypeName","src":"57558:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57536:33:21"},"returnParameters":{"id":28864,"nodeType":"ParameterList","parameters":[],"src":"57584:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28920,"nodeType":"FunctionDefinition","src":"58274:1292:21","nodes":[],"body":{"id":28919,"nodeType":"Block","src":"58334:1232:21","nodes":[],"statements":[{"assignments":[28895],"declarations":[{"constant":false,"id":28895,"mutability":"mutable","name":"m0","nameLocation":"58352:2:21","nodeType":"VariableDeclaration","scope":28919,"src":"58344:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58344:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28896,"nodeType":"VariableDeclarationStatement","src":"58344:10:21"},{"assignments":[28898],"declarations":[{"constant":false,"id":28898,"mutability":"mutable","name":"m1","nameLocation":"58372:2:21","nodeType":"VariableDeclaration","scope":28919,"src":"58364:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58364:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28899,"nodeType":"VariableDeclarationStatement","src":"58364:10:21"},{"assignments":[28901],"declarations":[{"constant":false,"id":28901,"mutability":"mutable","name":"m2","nameLocation":"58392:2:21","nodeType":"VariableDeclaration","scope":28919,"src":"58384:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58384:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28902,"nodeType":"VariableDeclarationStatement","src":"58384:10:21"},{"assignments":[28904],"declarations":[{"constant":false,"id":28904,"mutability":"mutable","name":"m3","nameLocation":"58412:2:21","nodeType":"VariableDeclaration","scope":28919,"src":"58404:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58404:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28905,"nodeType":"VariableDeclarationStatement","src":"58404:10:21"},{"assignments":[28907],"declarations":[{"constant":false,"id":28907,"mutability":"mutable","name":"m4","nameLocation":"58432:2:21","nodeType":"VariableDeclaration","scope":28919,"src":"58424:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58424:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28908,"nodeType":"VariableDeclarationStatement","src":"58424:10:21"},{"assignments":[28910],"declarations":[{"constant":false,"id":28910,"mutability":"mutable","name":"m5","nameLocation":"58452:2:21","nodeType":"VariableDeclaration","scope":28919,"src":"58444:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58444:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28911,"nodeType":"VariableDeclarationStatement","src":"58444:10:21"},{"AST":{"nativeSrc":"58516:761:21","nodeType":"YulBlock","src":"58516:761:21","statements":[{"body":{"nativeSrc":"58559:313:21","nodeType":"YulBlock","src":"58559:313:21","statements":[{"nativeSrc":"58577:15:21","nodeType":"YulVariableDeclaration","src":"58577:15:21","value":{"kind":"number","nativeSrc":"58591:1:21","nodeType":"YulLiteral","src":"58591:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"58581:6:21","nodeType":"YulTypedName","src":"58581:6:21","type":""}]},{"body":{"nativeSrc":"58662:40:21","nodeType":"YulBlock","src":"58662:40:21","statements":[{"body":{"nativeSrc":"58691:9:21","nodeType":"YulBlock","src":"58691:9:21","statements":[{"nativeSrc":"58693:5:21","nodeType":"YulBreak","src":"58693:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"58679:6:21","nodeType":"YulIdentifier","src":"58679:6:21"},{"name":"w","nativeSrc":"58687:1:21","nodeType":"YulIdentifier","src":"58687:1:21"}],"functionName":{"name":"byte","nativeSrc":"58674:4:21","nodeType":"YulIdentifier","src":"58674:4:21"},"nativeSrc":"58674:15:21","nodeType":"YulFunctionCall","src":"58674:15:21"}],"functionName":{"name":"iszero","nativeSrc":"58667:6:21","nodeType":"YulIdentifier","src":"58667:6:21"},"nativeSrc":"58667:23:21","nodeType":"YulFunctionCall","src":"58667:23:21"},"nativeSrc":"58664:36:21","nodeType":"YulIf","src":"58664:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"58619:6:21","nodeType":"YulIdentifier","src":"58619:6:21"},{"kind":"number","nativeSrc":"58627:4:21","nodeType":"YulLiteral","src":"58627:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"58616:2:21","nodeType":"YulIdentifier","src":"58616:2:21"},"nativeSrc":"58616:16:21","nodeType":"YulFunctionCall","src":"58616:16:21"},"nativeSrc":"58609:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"58633:28:21","nodeType":"YulBlock","src":"58633:28:21","statements":[{"nativeSrc":"58635:24:21","nodeType":"YulAssignment","src":"58635:24:21","value":{"arguments":[{"name":"length","nativeSrc":"58649:6:21","nodeType":"YulIdentifier","src":"58649:6:21"},{"kind":"number","nativeSrc":"58657:1:21","nodeType":"YulLiteral","src":"58657:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"58645:3:21","nodeType":"YulIdentifier","src":"58645:3:21"},"nativeSrc":"58645:14:21","nodeType":"YulFunctionCall","src":"58645:14:21"},"variableNames":[{"name":"length","nativeSrc":"58635:6:21","nodeType":"YulIdentifier","src":"58635:6:21"}]}]},"pre":{"nativeSrc":"58613:2:21","nodeType":"YulBlock","src":"58613:2:21","statements":[]},"src":"58609:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"58726:3:21","nodeType":"YulIdentifier","src":"58726:3:21"},{"name":"length","nativeSrc":"58731:6:21","nodeType":"YulIdentifier","src":"58731:6:21"}],"functionName":{"name":"mstore","nativeSrc":"58719:6:21","nodeType":"YulIdentifier","src":"58719:6:21"},"nativeSrc":"58719:19:21","nodeType":"YulFunctionCall","src":"58719:19:21"},"nativeSrc":"58719:19:21","nodeType":"YulExpressionStatement","src":"58719:19:21"},{"nativeSrc":"58755:37:21","nodeType":"YulVariableDeclaration","src":"58755:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"58772:3:21","nodeType":"YulLiteral","src":"58772:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"58781:1:21","nodeType":"YulLiteral","src":"58781:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"58784:6:21","nodeType":"YulIdentifier","src":"58784:6:21"}],"functionName":{"name":"shl","nativeSrc":"58777:3:21","nodeType":"YulIdentifier","src":"58777:3:21"},"nativeSrc":"58777:14:21","nodeType":"YulFunctionCall","src":"58777:14:21"}],"functionName":{"name":"sub","nativeSrc":"58768:3:21","nodeType":"YulIdentifier","src":"58768:3:21"},"nativeSrc":"58768:24:21","nodeType":"YulFunctionCall","src":"58768:24:21"},"variables":[{"name":"shift","nativeSrc":"58759:5:21","nodeType":"YulTypedName","src":"58759:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"58820:3:21","nodeType":"YulIdentifier","src":"58820:3:21"},{"kind":"number","nativeSrc":"58825:4:21","nodeType":"YulLiteral","src":"58825:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"58816:3:21","nodeType":"YulIdentifier","src":"58816:3:21"},"nativeSrc":"58816:14:21","nodeType":"YulFunctionCall","src":"58816:14:21"},{"arguments":[{"name":"shift","nativeSrc":"58836:5:21","nodeType":"YulIdentifier","src":"58836:5:21"},{"arguments":[{"name":"shift","nativeSrc":"58847:5:21","nodeType":"YulIdentifier","src":"58847:5:21"},{"name":"w","nativeSrc":"58854:1:21","nodeType":"YulIdentifier","src":"58854:1:21"}],"functionName":{"name":"shr","nativeSrc":"58843:3:21","nodeType":"YulIdentifier","src":"58843:3:21"},"nativeSrc":"58843:13:21","nodeType":"YulFunctionCall","src":"58843:13:21"}],"functionName":{"name":"shl","nativeSrc":"58832:3:21","nodeType":"YulIdentifier","src":"58832:3:21"},"nativeSrc":"58832:25:21","nodeType":"YulFunctionCall","src":"58832:25:21"}],"functionName":{"name":"mstore","nativeSrc":"58809:6:21","nodeType":"YulIdentifier","src":"58809:6:21"},"nativeSrc":"58809:49:21","nodeType":"YulFunctionCall","src":"58809:49:21"},"nativeSrc":"58809:49:21","nodeType":"YulExpressionStatement","src":"58809:49:21"}]},"name":"writeString","nativeSrc":"58530:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"58551:3:21","nodeType":"YulTypedName","src":"58551:3:21","type":""},{"name":"w","nativeSrc":"58556:1:21","nodeType":"YulTypedName","src":"58556:1:21","type":""}],"src":"58530:342:21"},{"nativeSrc":"58885:17:21","nodeType":"YulAssignment","src":"58885:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"58897:4:21","nodeType":"YulLiteral","src":"58897:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"58891:5:21","nodeType":"YulIdentifier","src":"58891:5:21"},"nativeSrc":"58891:11:21","nodeType":"YulFunctionCall","src":"58891:11:21"},"variableNames":[{"name":"m0","nativeSrc":"58885:2:21","nodeType":"YulIdentifier","src":"58885:2:21"}]},{"nativeSrc":"58915:17:21","nodeType":"YulAssignment","src":"58915:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"58927:4:21","nodeType":"YulLiteral","src":"58927:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"58921:5:21","nodeType":"YulIdentifier","src":"58921:5:21"},"nativeSrc":"58921:11:21","nodeType":"YulFunctionCall","src":"58921:11:21"},"variableNames":[{"name":"m1","nativeSrc":"58915:2:21","nodeType":"YulIdentifier","src":"58915:2:21"}]},{"nativeSrc":"58945:17:21","nodeType":"YulAssignment","src":"58945:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"58957:4:21","nodeType":"YulLiteral","src":"58957:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"58951:5:21","nodeType":"YulIdentifier","src":"58951:5:21"},"nativeSrc":"58951:11:21","nodeType":"YulFunctionCall","src":"58951:11:21"},"variableNames":[{"name":"m2","nativeSrc":"58945:2:21","nodeType":"YulIdentifier","src":"58945:2:21"}]},{"nativeSrc":"58975:17:21","nodeType":"YulAssignment","src":"58975:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"58987:4:21","nodeType":"YulLiteral","src":"58987:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"58981:5:21","nodeType":"YulIdentifier","src":"58981:5:21"},"nativeSrc":"58981:11:21","nodeType":"YulFunctionCall","src":"58981:11:21"},"variableNames":[{"name":"m3","nativeSrc":"58975:2:21","nodeType":"YulIdentifier","src":"58975:2:21"}]},{"nativeSrc":"59005:17:21","nodeType":"YulAssignment","src":"59005:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"59017:4:21","nodeType":"YulLiteral","src":"59017:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"59011:5:21","nodeType":"YulIdentifier","src":"59011:5:21"},"nativeSrc":"59011:11:21","nodeType":"YulFunctionCall","src":"59011:11:21"},"variableNames":[{"name":"m4","nativeSrc":"59005:2:21","nodeType":"YulIdentifier","src":"59005:2:21"}]},{"nativeSrc":"59035:17:21","nodeType":"YulAssignment","src":"59035:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"59047:4:21","nodeType":"YulLiteral","src":"59047:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"59041:5:21","nodeType":"YulIdentifier","src":"59041:5:21"},"nativeSrc":"59041:11:21","nodeType":"YulFunctionCall","src":"59041:11:21"},"variableNames":[{"name":"m5","nativeSrc":"59035:2:21","nodeType":"YulIdentifier","src":"59035:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59127:4:21","nodeType":"YulLiteral","src":"59127:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"59133:10:21","nodeType":"YulLiteral","src":"59133:10:21","type":"","value":"0x85775021"}],"functionName":{"name":"mstore","nativeSrc":"59120:6:21","nodeType":"YulIdentifier","src":"59120:6:21"},"nativeSrc":"59120:24:21","nodeType":"YulFunctionCall","src":"59120:24:21"},"nativeSrc":"59120:24:21","nodeType":"YulExpressionStatement","src":"59120:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59164:4:21","nodeType":"YulLiteral","src":"59164:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"59170:2:21","nodeType":"YulIdentifier","src":"59170:2:21"}],"functionName":{"name":"mstore","nativeSrc":"59157:6:21","nodeType":"YulIdentifier","src":"59157:6:21"},"nativeSrc":"59157:16:21","nodeType":"YulFunctionCall","src":"59157:16:21"},"nativeSrc":"59157:16:21","nodeType":"YulExpressionStatement","src":"59157:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59193:4:21","nodeType":"YulLiteral","src":"59193:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"59199:2:21","nodeType":"YulIdentifier","src":"59199:2:21"}],"functionName":{"name":"mstore","nativeSrc":"59186:6:21","nodeType":"YulIdentifier","src":"59186:6:21"},"nativeSrc":"59186:16:21","nodeType":"YulFunctionCall","src":"59186:16:21"},"nativeSrc":"59186:16:21","nodeType":"YulExpressionStatement","src":"59186:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59222:4:21","nodeType":"YulLiteral","src":"59222:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"59228:4:21","nodeType":"YulLiteral","src":"59228:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"59215:6:21","nodeType":"YulIdentifier","src":"59215:6:21"},"nativeSrc":"59215:18:21","nodeType":"YulFunctionCall","src":"59215:18:21"},"nativeSrc":"59215:18:21","nodeType":"YulExpressionStatement","src":"59215:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59258:4:21","nodeType":"YulLiteral","src":"59258:4:21","type":"","value":"0x80"},{"name":"p2","nativeSrc":"59264:2:21","nodeType":"YulIdentifier","src":"59264:2:21"}],"functionName":{"name":"writeString","nativeSrc":"59246:11:21","nodeType":"YulIdentifier","src":"59246:11:21"},"nativeSrc":"59246:21:21","nodeType":"YulFunctionCall","src":"59246:21:21"},"nativeSrc":"59246:21:21","nodeType":"YulExpressionStatement","src":"59246:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28895,"isOffset":false,"isSlot":false,"src":"58885:2:21","valueSize":1},{"declaration":28898,"isOffset":false,"isSlot":false,"src":"58915:2:21","valueSize":1},{"declaration":28901,"isOffset":false,"isSlot":false,"src":"58945:2:21","valueSize":1},{"declaration":28904,"isOffset":false,"isSlot":false,"src":"58975:2:21","valueSize":1},{"declaration":28907,"isOffset":false,"isSlot":false,"src":"59005:2:21","valueSize":1},{"declaration":28910,"isOffset":false,"isSlot":false,"src":"59035:2:21","valueSize":1},{"declaration":28887,"isOffset":false,"isSlot":false,"src":"59170:2:21","valueSize":1},{"declaration":28889,"isOffset":false,"isSlot":false,"src":"59199:2:21","valueSize":1},{"declaration":28891,"isOffset":false,"isSlot":false,"src":"59264:2:21","valueSize":1}],"id":28912,"nodeType":"InlineAssembly","src":"58507:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59302:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59308:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28913,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"59286:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59286:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28917,"nodeType":"ExpressionStatement","src":"59286:27:21"},{"AST":{"nativeSrc":"59375:185:21","nodeType":"YulBlock","src":"59375:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"59396:4:21","nodeType":"YulLiteral","src":"59396:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"59402:2:21","nodeType":"YulIdentifier","src":"59402:2:21"}],"functionName":{"name":"mstore","nativeSrc":"59389:6:21","nodeType":"YulIdentifier","src":"59389:6:21"},"nativeSrc":"59389:16:21","nodeType":"YulFunctionCall","src":"59389:16:21"},"nativeSrc":"59389:16:21","nodeType":"YulExpressionStatement","src":"59389:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59425:4:21","nodeType":"YulLiteral","src":"59425:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"59431:2:21","nodeType":"YulIdentifier","src":"59431:2:21"}],"functionName":{"name":"mstore","nativeSrc":"59418:6:21","nodeType":"YulIdentifier","src":"59418:6:21"},"nativeSrc":"59418:16:21","nodeType":"YulFunctionCall","src":"59418:16:21"},"nativeSrc":"59418:16:21","nodeType":"YulExpressionStatement","src":"59418:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59454:4:21","nodeType":"YulLiteral","src":"59454:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"59460:2:21","nodeType":"YulIdentifier","src":"59460:2:21"}],"functionName":{"name":"mstore","nativeSrc":"59447:6:21","nodeType":"YulIdentifier","src":"59447:6:21"},"nativeSrc":"59447:16:21","nodeType":"YulFunctionCall","src":"59447:16:21"},"nativeSrc":"59447:16:21","nodeType":"YulExpressionStatement","src":"59447:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59483:4:21","nodeType":"YulLiteral","src":"59483:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"59489:2:21","nodeType":"YulIdentifier","src":"59489:2:21"}],"functionName":{"name":"mstore","nativeSrc":"59476:6:21","nodeType":"YulIdentifier","src":"59476:6:21"},"nativeSrc":"59476:16:21","nodeType":"YulFunctionCall","src":"59476:16:21"},"nativeSrc":"59476:16:21","nodeType":"YulExpressionStatement","src":"59476:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59512:4:21","nodeType":"YulLiteral","src":"59512:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"59518:2:21","nodeType":"YulIdentifier","src":"59518:2:21"}],"functionName":{"name":"mstore","nativeSrc":"59505:6:21","nodeType":"YulIdentifier","src":"59505:6:21"},"nativeSrc":"59505:16:21","nodeType":"YulFunctionCall","src":"59505:16:21"},"nativeSrc":"59505:16:21","nodeType":"YulExpressionStatement","src":"59505:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59541:4:21","nodeType":"YulLiteral","src":"59541:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"59547:2:21","nodeType":"YulIdentifier","src":"59547:2:21"}],"functionName":{"name":"mstore","nativeSrc":"59534:6:21","nodeType":"YulIdentifier","src":"59534:6:21"},"nativeSrc":"59534:16:21","nodeType":"YulFunctionCall","src":"59534:16:21"},"nativeSrc":"59534:16:21","nodeType":"YulExpressionStatement","src":"59534:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28895,"isOffset":false,"isSlot":false,"src":"59402:2:21","valueSize":1},{"declaration":28898,"isOffset":false,"isSlot":false,"src":"59431:2:21","valueSize":1},{"declaration":28901,"isOffset":false,"isSlot":false,"src":"59460:2:21","valueSize":1},{"declaration":28904,"isOffset":false,"isSlot":false,"src":"59489:2:21","valueSize":1},{"declaration":28907,"isOffset":false,"isSlot":false,"src":"59518:2:21","valueSize":1},{"declaration":28910,"isOffset":false,"isSlot":false,"src":"59547:2:21","valueSize":1}],"id":28918,"nodeType":"InlineAssembly","src":"59366:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58283:3:21","parameters":{"id":28892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28887,"mutability":"mutable","name":"p0","nameLocation":"58295:2:21","nodeType":"VariableDeclaration","scope":28920,"src":"58287:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28886,"name":"uint256","nodeType":"ElementaryTypeName","src":"58287:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28889,"mutability":"mutable","name":"p1","nameLocation":"58304:2:21","nodeType":"VariableDeclaration","scope":28920,"src":"58299:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28888,"name":"bool","nodeType":"ElementaryTypeName","src":"58299:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28891,"mutability":"mutable","name":"p2","nameLocation":"58316:2:21","nodeType":"VariableDeclaration","scope":28920,"src":"58308:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58308:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"58286:33:21"},"returnParameters":{"id":28893,"nodeType":"ParameterList","parameters":[],"src":"58334:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28949,"nodeType":"FunctionDefinition","src":"59572:750:21","nodes":[],"body":{"id":28948,"nodeType":"Block","src":"59635:687:21","nodes":[],"statements":[{"assignments":[28930],"declarations":[{"constant":false,"id":28930,"mutability":"mutable","name":"m0","nameLocation":"59653:2:21","nodeType":"VariableDeclaration","scope":28948,"src":"59645:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59645:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28931,"nodeType":"VariableDeclarationStatement","src":"59645:10:21"},{"assignments":[28933],"declarations":[{"constant":false,"id":28933,"mutability":"mutable","name":"m1","nameLocation":"59673:2:21","nodeType":"VariableDeclaration","scope":28948,"src":"59665:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59665:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28934,"nodeType":"VariableDeclarationStatement","src":"59665:10:21"},{"assignments":[28936],"declarations":[{"constant":false,"id":28936,"mutability":"mutable","name":"m2","nameLocation":"59693:2:21","nodeType":"VariableDeclaration","scope":28948,"src":"59685:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28935,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59685:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28937,"nodeType":"VariableDeclarationStatement","src":"59685:10:21"},{"assignments":[28939],"declarations":[{"constant":false,"id":28939,"mutability":"mutable","name":"m3","nameLocation":"59713:2:21","nodeType":"VariableDeclaration","scope":28948,"src":"59705:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28938,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59705:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28940,"nodeType":"VariableDeclarationStatement","src":"59705:10:21"},{"AST":{"nativeSrc":"59777:314:21","nodeType":"YulBlock","src":"59777:314:21","statements":[{"nativeSrc":"59791:17:21","nodeType":"YulAssignment","src":"59791:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"59803:4:21","nodeType":"YulLiteral","src":"59803:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"59797:5:21","nodeType":"YulIdentifier","src":"59797:5:21"},"nativeSrc":"59797:11:21","nodeType":"YulFunctionCall","src":"59797:11:21"},"variableNames":[{"name":"m0","nativeSrc":"59791:2:21","nodeType":"YulIdentifier","src":"59791:2:21"}]},{"nativeSrc":"59821:17:21","nodeType":"YulAssignment","src":"59821:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"59833:4:21","nodeType":"YulLiteral","src":"59833:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"59827:5:21","nodeType":"YulIdentifier","src":"59827:5:21"},"nativeSrc":"59827:11:21","nodeType":"YulFunctionCall","src":"59827:11:21"},"variableNames":[{"name":"m1","nativeSrc":"59821:2:21","nodeType":"YulIdentifier","src":"59821:2:21"}]},{"nativeSrc":"59851:17:21","nodeType":"YulAssignment","src":"59851:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"59863:4:21","nodeType":"YulLiteral","src":"59863:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"59857:5:21","nodeType":"YulIdentifier","src":"59857:5:21"},"nativeSrc":"59857:11:21","nodeType":"YulFunctionCall","src":"59857:11:21"},"variableNames":[{"name":"m2","nativeSrc":"59851:2:21","nodeType":"YulIdentifier","src":"59851:2:21"}]},{"nativeSrc":"59881:17:21","nodeType":"YulAssignment","src":"59881:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"59893:4:21","nodeType":"YulLiteral","src":"59893:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"59887:5:21","nodeType":"YulIdentifier","src":"59887:5:21"},"nativeSrc":"59887:11:21","nodeType":"YulFunctionCall","src":"59887:11:21"},"variableNames":[{"name":"m3","nativeSrc":"59881:2:21","nodeType":"YulIdentifier","src":"59881:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59977:4:21","nodeType":"YulLiteral","src":"59977:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"59983:10:21","nodeType":"YulLiteral","src":"59983:10:21","type":"","value":"0x5c96b331"}],"functionName":{"name":"mstore","nativeSrc":"59970:6:21","nodeType":"YulIdentifier","src":"59970:6:21"},"nativeSrc":"59970:24:21","nodeType":"YulFunctionCall","src":"59970:24:21"},"nativeSrc":"59970:24:21","nodeType":"YulExpressionStatement","src":"59970:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60014:4:21","nodeType":"YulLiteral","src":"60014:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"60020:2:21","nodeType":"YulIdentifier","src":"60020:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60007:6:21","nodeType":"YulIdentifier","src":"60007:6:21"},"nativeSrc":"60007:16:21","nodeType":"YulFunctionCall","src":"60007:16:21"},"nativeSrc":"60007:16:21","nodeType":"YulExpressionStatement","src":"60007:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60043:4:21","nodeType":"YulLiteral","src":"60043:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"60049:2:21","nodeType":"YulIdentifier","src":"60049:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60036:6:21","nodeType":"YulIdentifier","src":"60036:6:21"},"nativeSrc":"60036:16:21","nodeType":"YulFunctionCall","src":"60036:16:21"},"nativeSrc":"60036:16:21","nodeType":"YulExpressionStatement","src":"60036:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60072:4:21","nodeType":"YulLiteral","src":"60072:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"60078:2:21","nodeType":"YulIdentifier","src":"60078:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60065:6:21","nodeType":"YulIdentifier","src":"60065:6:21"},"nativeSrc":"60065:16:21","nodeType":"YulFunctionCall","src":"60065:16:21"},"nativeSrc":"60065:16:21","nodeType":"YulExpressionStatement","src":"60065:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28930,"isOffset":false,"isSlot":false,"src":"59791:2:21","valueSize":1},{"declaration":28933,"isOffset":false,"isSlot":false,"src":"59821:2:21","valueSize":1},{"declaration":28936,"isOffset":false,"isSlot":false,"src":"59851:2:21","valueSize":1},{"declaration":28939,"isOffset":false,"isSlot":false,"src":"59881:2:21","valueSize":1},{"declaration":28922,"isOffset":false,"isSlot":false,"src":"60020:2:21","valueSize":1},{"declaration":28924,"isOffset":false,"isSlot":false,"src":"60049:2:21","valueSize":1},{"declaration":28926,"isOffset":false,"isSlot":false,"src":"60078:2:21","valueSize":1}],"id":28941,"nodeType":"InlineAssembly","src":"59768:323:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60116:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60122:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28942,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"60100:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60100:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28946,"nodeType":"ExpressionStatement","src":"60100:27:21"},{"AST":{"nativeSrc":"60189:127:21","nodeType":"YulBlock","src":"60189:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"60210:4:21","nodeType":"YulLiteral","src":"60210:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"60216:2:21","nodeType":"YulIdentifier","src":"60216:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60203:6:21","nodeType":"YulIdentifier","src":"60203:6:21"},"nativeSrc":"60203:16:21","nodeType":"YulFunctionCall","src":"60203:16:21"},"nativeSrc":"60203:16:21","nodeType":"YulExpressionStatement","src":"60203:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60239:4:21","nodeType":"YulLiteral","src":"60239:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"60245:2:21","nodeType":"YulIdentifier","src":"60245:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60232:6:21","nodeType":"YulIdentifier","src":"60232:6:21"},"nativeSrc":"60232:16:21","nodeType":"YulFunctionCall","src":"60232:16:21"},"nativeSrc":"60232:16:21","nodeType":"YulExpressionStatement","src":"60232:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60268:4:21","nodeType":"YulLiteral","src":"60268:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"60274:2:21","nodeType":"YulIdentifier","src":"60274:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60261:6:21","nodeType":"YulIdentifier","src":"60261:6:21"},"nativeSrc":"60261:16:21","nodeType":"YulFunctionCall","src":"60261:16:21"},"nativeSrc":"60261:16:21","nodeType":"YulExpressionStatement","src":"60261:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60297:4:21","nodeType":"YulLiteral","src":"60297:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"60303:2:21","nodeType":"YulIdentifier","src":"60303:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60290:6:21","nodeType":"YulIdentifier","src":"60290:6:21"},"nativeSrc":"60290:16:21","nodeType":"YulFunctionCall","src":"60290:16:21"},"nativeSrc":"60290:16:21","nodeType":"YulExpressionStatement","src":"60290:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28930,"isOffset":false,"isSlot":false,"src":"60216:2:21","valueSize":1},{"declaration":28933,"isOffset":false,"isSlot":false,"src":"60245:2:21","valueSize":1},{"declaration":28936,"isOffset":false,"isSlot":false,"src":"60274:2:21","valueSize":1},{"declaration":28939,"isOffset":false,"isSlot":false,"src":"60303:2:21","valueSize":1}],"id":28947,"nodeType":"InlineAssembly","src":"60180:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59581:3:21","parameters":{"id":28927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28922,"mutability":"mutable","name":"p0","nameLocation":"59593:2:21","nodeType":"VariableDeclaration","scope":28949,"src":"59585:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28921,"name":"uint256","nodeType":"ElementaryTypeName","src":"59585:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28924,"mutability":"mutable","name":"p1","nameLocation":"59605:2:21","nodeType":"VariableDeclaration","scope":28949,"src":"59597:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28923,"name":"uint256","nodeType":"ElementaryTypeName","src":"59597:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28926,"mutability":"mutable","name":"p2","nameLocation":"59617:2:21","nodeType":"VariableDeclaration","scope":28949,"src":"59609:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28925,"name":"address","nodeType":"ElementaryTypeName","src":"59609:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59584:36:21"},"returnParameters":{"id":28928,"nodeType":"ParameterList","parameters":[],"src":"59635:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28978,"nodeType":"FunctionDefinition","src":"60328:744:21","nodes":[],"body":{"id":28977,"nodeType":"Block","src":"60388:684:21","nodes":[],"statements":[{"assignments":[28959],"declarations":[{"constant":false,"id":28959,"mutability":"mutable","name":"m0","nameLocation":"60406:2:21","nodeType":"VariableDeclaration","scope":28977,"src":"60398:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60398:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28960,"nodeType":"VariableDeclarationStatement","src":"60398:10:21"},{"assignments":[28962],"declarations":[{"constant":false,"id":28962,"mutability":"mutable","name":"m1","nameLocation":"60426:2:21","nodeType":"VariableDeclaration","scope":28977,"src":"60418:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60418:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28963,"nodeType":"VariableDeclarationStatement","src":"60418:10:21"},{"assignments":[28965],"declarations":[{"constant":false,"id":28965,"mutability":"mutable","name":"m2","nameLocation":"60446:2:21","nodeType":"VariableDeclaration","scope":28977,"src":"60438:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60438:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28966,"nodeType":"VariableDeclarationStatement","src":"60438:10:21"},{"assignments":[28968],"declarations":[{"constant":false,"id":28968,"mutability":"mutable","name":"m3","nameLocation":"60466:2:21","nodeType":"VariableDeclaration","scope":28977,"src":"60458:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60458:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28969,"nodeType":"VariableDeclarationStatement","src":"60458:10:21"},{"AST":{"nativeSrc":"60530:311:21","nodeType":"YulBlock","src":"60530:311:21","statements":[{"nativeSrc":"60544:17:21","nodeType":"YulAssignment","src":"60544:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"60556:4:21","nodeType":"YulLiteral","src":"60556:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"60550:5:21","nodeType":"YulIdentifier","src":"60550:5:21"},"nativeSrc":"60550:11:21","nodeType":"YulFunctionCall","src":"60550:11:21"},"variableNames":[{"name":"m0","nativeSrc":"60544:2:21","nodeType":"YulIdentifier","src":"60544:2:21"}]},{"nativeSrc":"60574:17:21","nodeType":"YulAssignment","src":"60574:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"60586:4:21","nodeType":"YulLiteral","src":"60586:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"60580:5:21","nodeType":"YulIdentifier","src":"60580:5:21"},"nativeSrc":"60580:11:21","nodeType":"YulFunctionCall","src":"60580:11:21"},"variableNames":[{"name":"m1","nativeSrc":"60574:2:21","nodeType":"YulIdentifier","src":"60574:2:21"}]},{"nativeSrc":"60604:17:21","nodeType":"YulAssignment","src":"60604:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"60616:4:21","nodeType":"YulLiteral","src":"60616:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"60610:5:21","nodeType":"YulIdentifier","src":"60610:5:21"},"nativeSrc":"60610:11:21","nodeType":"YulFunctionCall","src":"60610:11:21"},"variableNames":[{"name":"m2","nativeSrc":"60604:2:21","nodeType":"YulIdentifier","src":"60604:2:21"}]},{"nativeSrc":"60634:17:21","nodeType":"YulAssignment","src":"60634:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"60646:4:21","nodeType":"YulLiteral","src":"60646:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"60640:5:21","nodeType":"YulIdentifier","src":"60640:5:21"},"nativeSrc":"60640:11:21","nodeType":"YulFunctionCall","src":"60640:11:21"},"variableNames":[{"name":"m3","nativeSrc":"60634:2:21","nodeType":"YulIdentifier","src":"60634:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60727:4:21","nodeType":"YulLiteral","src":"60727:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"60733:10:21","nodeType":"YulLiteral","src":"60733:10:21","type":"","value":"0x4766da72"}],"functionName":{"name":"mstore","nativeSrc":"60720:6:21","nodeType":"YulIdentifier","src":"60720:6:21"},"nativeSrc":"60720:24:21","nodeType":"YulFunctionCall","src":"60720:24:21"},"nativeSrc":"60720:24:21","nodeType":"YulExpressionStatement","src":"60720:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60764:4:21","nodeType":"YulLiteral","src":"60764:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"60770:2:21","nodeType":"YulIdentifier","src":"60770:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60757:6:21","nodeType":"YulIdentifier","src":"60757:6:21"},"nativeSrc":"60757:16:21","nodeType":"YulFunctionCall","src":"60757:16:21"},"nativeSrc":"60757:16:21","nodeType":"YulExpressionStatement","src":"60757:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60793:4:21","nodeType":"YulLiteral","src":"60793:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"60799:2:21","nodeType":"YulIdentifier","src":"60799:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60786:6:21","nodeType":"YulIdentifier","src":"60786:6:21"},"nativeSrc":"60786:16:21","nodeType":"YulFunctionCall","src":"60786:16:21"},"nativeSrc":"60786:16:21","nodeType":"YulExpressionStatement","src":"60786:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60822:4:21","nodeType":"YulLiteral","src":"60822:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"60828:2:21","nodeType":"YulIdentifier","src":"60828:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60815:6:21","nodeType":"YulIdentifier","src":"60815:6:21"},"nativeSrc":"60815:16:21","nodeType":"YulFunctionCall","src":"60815:16:21"},"nativeSrc":"60815:16:21","nodeType":"YulExpressionStatement","src":"60815:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28959,"isOffset":false,"isSlot":false,"src":"60544:2:21","valueSize":1},{"declaration":28962,"isOffset":false,"isSlot":false,"src":"60574:2:21","valueSize":1},{"declaration":28965,"isOffset":false,"isSlot":false,"src":"60604:2:21","valueSize":1},{"declaration":28968,"isOffset":false,"isSlot":false,"src":"60634:2:21","valueSize":1},{"declaration":28951,"isOffset":false,"isSlot":false,"src":"60770:2:21","valueSize":1},{"declaration":28953,"isOffset":false,"isSlot":false,"src":"60799:2:21","valueSize":1},{"declaration":28955,"isOffset":false,"isSlot":false,"src":"60828:2:21","valueSize":1}],"id":28970,"nodeType":"InlineAssembly","src":"60521:320:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":28972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60866:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60872:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28971,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"60850:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60850:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28975,"nodeType":"ExpressionStatement","src":"60850:27:21"},{"AST":{"nativeSrc":"60939:127:21","nodeType":"YulBlock","src":"60939:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"60960:4:21","nodeType":"YulLiteral","src":"60960:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"60966:2:21","nodeType":"YulIdentifier","src":"60966:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60953:6:21","nodeType":"YulIdentifier","src":"60953:6:21"},"nativeSrc":"60953:16:21","nodeType":"YulFunctionCall","src":"60953:16:21"},"nativeSrc":"60953:16:21","nodeType":"YulExpressionStatement","src":"60953:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60989:4:21","nodeType":"YulLiteral","src":"60989:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"60995:2:21","nodeType":"YulIdentifier","src":"60995:2:21"}],"functionName":{"name":"mstore","nativeSrc":"60982:6:21","nodeType":"YulIdentifier","src":"60982:6:21"},"nativeSrc":"60982:16:21","nodeType":"YulFunctionCall","src":"60982:16:21"},"nativeSrc":"60982:16:21","nodeType":"YulExpressionStatement","src":"60982:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61018:4:21","nodeType":"YulLiteral","src":"61018:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"61024:2:21","nodeType":"YulIdentifier","src":"61024:2:21"}],"functionName":{"name":"mstore","nativeSrc":"61011:6:21","nodeType":"YulIdentifier","src":"61011:6:21"},"nativeSrc":"61011:16:21","nodeType":"YulFunctionCall","src":"61011:16:21"},"nativeSrc":"61011:16:21","nodeType":"YulExpressionStatement","src":"61011:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61047:4:21","nodeType":"YulLiteral","src":"61047:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"61053:2:21","nodeType":"YulIdentifier","src":"61053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"61040:6:21","nodeType":"YulIdentifier","src":"61040:6:21"},"nativeSrc":"61040:16:21","nodeType":"YulFunctionCall","src":"61040:16:21"},"nativeSrc":"61040:16:21","nodeType":"YulExpressionStatement","src":"61040:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28959,"isOffset":false,"isSlot":false,"src":"60966:2:21","valueSize":1},{"declaration":28962,"isOffset":false,"isSlot":false,"src":"60995:2:21","valueSize":1},{"declaration":28965,"isOffset":false,"isSlot":false,"src":"61024:2:21","valueSize":1},{"declaration":28968,"isOffset":false,"isSlot":false,"src":"61053:2:21","valueSize":1}],"id":28976,"nodeType":"InlineAssembly","src":"60930:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60337:3:21","parameters":{"id":28956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28951,"mutability":"mutable","name":"p0","nameLocation":"60349:2:21","nodeType":"VariableDeclaration","scope":28978,"src":"60341:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28950,"name":"uint256","nodeType":"ElementaryTypeName","src":"60341:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28953,"mutability":"mutable","name":"p1","nameLocation":"60361:2:21","nodeType":"VariableDeclaration","scope":28978,"src":"60353:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28952,"name":"uint256","nodeType":"ElementaryTypeName","src":"60353:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28955,"mutability":"mutable","name":"p2","nameLocation":"60370:2:21","nodeType":"VariableDeclaration","scope":28978,"src":"60365:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28954,"name":"bool","nodeType":"ElementaryTypeName","src":"60365:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60340:33:21"},"returnParameters":{"id":28957,"nodeType":"ParameterList","parameters":[],"src":"60388:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29007,"nodeType":"FunctionDefinition","src":"61078:750:21","nodes":[],"body":{"id":29006,"nodeType":"Block","src":"61141:687:21","nodes":[],"statements":[{"assignments":[28988],"declarations":[{"constant":false,"id":28988,"mutability":"mutable","name":"m0","nameLocation":"61159:2:21","nodeType":"VariableDeclaration","scope":29006,"src":"61151:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61151:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28989,"nodeType":"VariableDeclarationStatement","src":"61151:10:21"},{"assignments":[28991],"declarations":[{"constant":false,"id":28991,"mutability":"mutable","name":"m1","nameLocation":"61179:2:21","nodeType":"VariableDeclaration","scope":29006,"src":"61171:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61171:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28992,"nodeType":"VariableDeclarationStatement","src":"61171:10:21"},{"assignments":[28994],"declarations":[{"constant":false,"id":28994,"mutability":"mutable","name":"m2","nameLocation":"61199:2:21","nodeType":"VariableDeclaration","scope":29006,"src":"61191:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28993,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61191:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28995,"nodeType":"VariableDeclarationStatement","src":"61191:10:21"},{"assignments":[28997],"declarations":[{"constant":false,"id":28997,"mutability":"mutable","name":"m3","nameLocation":"61219:2:21","nodeType":"VariableDeclaration","scope":29006,"src":"61211:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61211:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28998,"nodeType":"VariableDeclarationStatement","src":"61211:10:21"},{"AST":{"nativeSrc":"61283:314:21","nodeType":"YulBlock","src":"61283:314:21","statements":[{"nativeSrc":"61297:17:21","nodeType":"YulAssignment","src":"61297:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"61309:4:21","nodeType":"YulLiteral","src":"61309:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"61303:5:21","nodeType":"YulIdentifier","src":"61303:5:21"},"nativeSrc":"61303:11:21","nodeType":"YulFunctionCall","src":"61303:11:21"},"variableNames":[{"name":"m0","nativeSrc":"61297:2:21","nodeType":"YulIdentifier","src":"61297:2:21"}]},{"nativeSrc":"61327:17:21","nodeType":"YulAssignment","src":"61327:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"61339:4:21","nodeType":"YulLiteral","src":"61339:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"61333:5:21","nodeType":"YulIdentifier","src":"61333:5:21"},"nativeSrc":"61333:11:21","nodeType":"YulFunctionCall","src":"61333:11:21"},"variableNames":[{"name":"m1","nativeSrc":"61327:2:21","nodeType":"YulIdentifier","src":"61327:2:21"}]},{"nativeSrc":"61357:17:21","nodeType":"YulAssignment","src":"61357:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"61369:4:21","nodeType":"YulLiteral","src":"61369:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"61363:5:21","nodeType":"YulIdentifier","src":"61363:5:21"},"nativeSrc":"61363:11:21","nodeType":"YulFunctionCall","src":"61363:11:21"},"variableNames":[{"name":"m2","nativeSrc":"61357:2:21","nodeType":"YulIdentifier","src":"61357:2:21"}]},{"nativeSrc":"61387:17:21","nodeType":"YulAssignment","src":"61387:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"61399:4:21","nodeType":"YulLiteral","src":"61399:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"61393:5:21","nodeType":"YulIdentifier","src":"61393:5:21"},"nativeSrc":"61393:11:21","nodeType":"YulFunctionCall","src":"61393:11:21"},"variableNames":[{"name":"m3","nativeSrc":"61387:2:21","nodeType":"YulIdentifier","src":"61387:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61483:4:21","nodeType":"YulLiteral","src":"61483:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"61489:10:21","nodeType":"YulLiteral","src":"61489:10:21","type":"","value":"0xd1ed7a3c"}],"functionName":{"name":"mstore","nativeSrc":"61476:6:21","nodeType":"YulIdentifier","src":"61476:6:21"},"nativeSrc":"61476:24:21","nodeType":"YulFunctionCall","src":"61476:24:21"},"nativeSrc":"61476:24:21","nodeType":"YulExpressionStatement","src":"61476:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61520:4:21","nodeType":"YulLiteral","src":"61520:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"61526:2:21","nodeType":"YulIdentifier","src":"61526:2:21"}],"functionName":{"name":"mstore","nativeSrc":"61513:6:21","nodeType":"YulIdentifier","src":"61513:6:21"},"nativeSrc":"61513:16:21","nodeType":"YulFunctionCall","src":"61513:16:21"},"nativeSrc":"61513:16:21","nodeType":"YulExpressionStatement","src":"61513:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61549:4:21","nodeType":"YulLiteral","src":"61549:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"61555:2:21","nodeType":"YulIdentifier","src":"61555:2:21"}],"functionName":{"name":"mstore","nativeSrc":"61542:6:21","nodeType":"YulIdentifier","src":"61542:6:21"},"nativeSrc":"61542:16:21","nodeType":"YulFunctionCall","src":"61542:16:21"},"nativeSrc":"61542:16:21","nodeType":"YulExpressionStatement","src":"61542:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61578:4:21","nodeType":"YulLiteral","src":"61578:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"61584:2:21","nodeType":"YulIdentifier","src":"61584:2:21"}],"functionName":{"name":"mstore","nativeSrc":"61571:6:21","nodeType":"YulIdentifier","src":"61571:6:21"},"nativeSrc":"61571:16:21","nodeType":"YulFunctionCall","src":"61571:16:21"},"nativeSrc":"61571:16:21","nodeType":"YulExpressionStatement","src":"61571:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28988,"isOffset":false,"isSlot":false,"src":"61297:2:21","valueSize":1},{"declaration":28991,"isOffset":false,"isSlot":false,"src":"61327:2:21","valueSize":1},{"declaration":28994,"isOffset":false,"isSlot":false,"src":"61357:2:21","valueSize":1},{"declaration":28997,"isOffset":false,"isSlot":false,"src":"61387:2:21","valueSize":1},{"declaration":28980,"isOffset":false,"isSlot":false,"src":"61526:2:21","valueSize":1},{"declaration":28982,"isOffset":false,"isSlot":false,"src":"61555:2:21","valueSize":1},{"declaration":28984,"isOffset":false,"isSlot":false,"src":"61584:2:21","valueSize":1}],"id":28999,"nodeType":"InlineAssembly","src":"61274:323:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61622:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":29002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61628:4:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":29000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"61606:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61606:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29004,"nodeType":"ExpressionStatement","src":"61606:27:21"},{"AST":{"nativeSrc":"61695:127:21","nodeType":"YulBlock","src":"61695:127:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"61716:4:21","nodeType":"YulLiteral","src":"61716:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"61722:2:21","nodeType":"YulIdentifier","src":"61722:2:21"}],"functionName":{"name":"mstore","nativeSrc":"61709:6:21","nodeType":"YulIdentifier","src":"61709:6:21"},"nativeSrc":"61709:16:21","nodeType":"YulFunctionCall","src":"61709:16:21"},"nativeSrc":"61709:16:21","nodeType":"YulExpressionStatement","src":"61709:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61745:4:21","nodeType":"YulLiteral","src":"61745:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"61751:2:21","nodeType":"YulIdentifier","src":"61751:2:21"}],"functionName":{"name":"mstore","nativeSrc":"61738:6:21","nodeType":"YulIdentifier","src":"61738:6:21"},"nativeSrc":"61738:16:21","nodeType":"YulFunctionCall","src":"61738:16:21"},"nativeSrc":"61738:16:21","nodeType":"YulExpressionStatement","src":"61738:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61774:4:21","nodeType":"YulLiteral","src":"61774:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"61780:2:21","nodeType":"YulIdentifier","src":"61780:2:21"}],"functionName":{"name":"mstore","nativeSrc":"61767:6:21","nodeType":"YulIdentifier","src":"61767:6:21"},"nativeSrc":"61767:16:21","nodeType":"YulFunctionCall","src":"61767:16:21"},"nativeSrc":"61767:16:21","nodeType":"YulExpressionStatement","src":"61767:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61803:4:21","nodeType":"YulLiteral","src":"61803:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"61809:2:21","nodeType":"YulIdentifier","src":"61809:2:21"}],"functionName":{"name":"mstore","nativeSrc":"61796:6:21","nodeType":"YulIdentifier","src":"61796:6:21"},"nativeSrc":"61796:16:21","nodeType":"YulFunctionCall","src":"61796:16:21"},"nativeSrc":"61796:16:21","nodeType":"YulExpressionStatement","src":"61796:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":28988,"isOffset":false,"isSlot":false,"src":"61722:2:21","valueSize":1},{"declaration":28991,"isOffset":false,"isSlot":false,"src":"61751:2:21","valueSize":1},{"declaration":28994,"isOffset":false,"isSlot":false,"src":"61780:2:21","valueSize":1},{"declaration":28997,"isOffset":false,"isSlot":false,"src":"61809:2:21","valueSize":1}],"id":29005,"nodeType":"InlineAssembly","src":"61686:136:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61087:3:21","parameters":{"id":28985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28980,"mutability":"mutable","name":"p0","nameLocation":"61099:2:21","nodeType":"VariableDeclaration","scope":29007,"src":"61091:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28979,"name":"uint256","nodeType":"ElementaryTypeName","src":"61091:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28982,"mutability":"mutable","name":"p1","nameLocation":"61111:2:21","nodeType":"VariableDeclaration","scope":29007,"src":"61103:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28981,"name":"uint256","nodeType":"ElementaryTypeName","src":"61103:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28984,"mutability":"mutable","name":"p2","nameLocation":"61123:2:21","nodeType":"VariableDeclaration","scope":29007,"src":"61115:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28983,"name":"uint256","nodeType":"ElementaryTypeName","src":"61115:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61090:36:21"},"returnParameters":{"id":28986,"nodeType":"ParameterList","parameters":[],"src":"61141:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29042,"nodeType":"FunctionDefinition","src":"61834:1298:21","nodes":[],"body":{"id":29041,"nodeType":"Block","src":"61897:1235:21","nodes":[],"statements":[{"assignments":[29017],"declarations":[{"constant":false,"id":29017,"mutability":"mutable","name":"m0","nameLocation":"61915:2:21","nodeType":"VariableDeclaration","scope":29041,"src":"61907:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61907:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29018,"nodeType":"VariableDeclarationStatement","src":"61907:10:21"},{"assignments":[29020],"declarations":[{"constant":false,"id":29020,"mutability":"mutable","name":"m1","nameLocation":"61935:2:21","nodeType":"VariableDeclaration","scope":29041,"src":"61927:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61927:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29021,"nodeType":"VariableDeclarationStatement","src":"61927:10:21"},{"assignments":[29023],"declarations":[{"constant":false,"id":29023,"mutability":"mutable","name":"m2","nameLocation":"61955:2:21","nodeType":"VariableDeclaration","scope":29041,"src":"61947:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61947:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29024,"nodeType":"VariableDeclarationStatement","src":"61947:10:21"},{"assignments":[29026],"declarations":[{"constant":false,"id":29026,"mutability":"mutable","name":"m3","nameLocation":"61975:2:21","nodeType":"VariableDeclaration","scope":29041,"src":"61967:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61967:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29027,"nodeType":"VariableDeclarationStatement","src":"61967:10:21"},{"assignments":[29029],"declarations":[{"constant":false,"id":29029,"mutability":"mutable","name":"m4","nameLocation":"61995:2:21","nodeType":"VariableDeclaration","scope":29041,"src":"61987:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61987:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29030,"nodeType":"VariableDeclarationStatement","src":"61987:10:21"},{"assignments":[29032],"declarations":[{"constant":false,"id":29032,"mutability":"mutable","name":"m5","nameLocation":"62015:2:21","nodeType":"VariableDeclaration","scope":29041,"src":"62007:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"62007:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29033,"nodeType":"VariableDeclarationStatement","src":"62007:10:21"},{"AST":{"nativeSrc":"62079:764:21","nodeType":"YulBlock","src":"62079:764:21","statements":[{"body":{"nativeSrc":"62122:313:21","nodeType":"YulBlock","src":"62122:313:21","statements":[{"nativeSrc":"62140:15:21","nodeType":"YulVariableDeclaration","src":"62140:15:21","value":{"kind":"number","nativeSrc":"62154:1:21","nodeType":"YulLiteral","src":"62154:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"62144:6:21","nodeType":"YulTypedName","src":"62144:6:21","type":""}]},{"body":{"nativeSrc":"62225:40:21","nodeType":"YulBlock","src":"62225:40:21","statements":[{"body":{"nativeSrc":"62254:9:21","nodeType":"YulBlock","src":"62254:9:21","statements":[{"nativeSrc":"62256:5:21","nodeType":"YulBreak","src":"62256:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"62242:6:21","nodeType":"YulIdentifier","src":"62242:6:21"},{"name":"w","nativeSrc":"62250:1:21","nodeType":"YulIdentifier","src":"62250:1:21"}],"functionName":{"name":"byte","nativeSrc":"62237:4:21","nodeType":"YulIdentifier","src":"62237:4:21"},"nativeSrc":"62237:15:21","nodeType":"YulFunctionCall","src":"62237:15:21"}],"functionName":{"name":"iszero","nativeSrc":"62230:6:21","nodeType":"YulIdentifier","src":"62230:6:21"},"nativeSrc":"62230:23:21","nodeType":"YulFunctionCall","src":"62230:23:21"},"nativeSrc":"62227:36:21","nodeType":"YulIf","src":"62227:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"62182:6:21","nodeType":"YulIdentifier","src":"62182:6:21"},{"kind":"number","nativeSrc":"62190:4:21","nodeType":"YulLiteral","src":"62190:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"62179:2:21","nodeType":"YulIdentifier","src":"62179:2:21"},"nativeSrc":"62179:16:21","nodeType":"YulFunctionCall","src":"62179:16:21"},"nativeSrc":"62172:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"62196:28:21","nodeType":"YulBlock","src":"62196:28:21","statements":[{"nativeSrc":"62198:24:21","nodeType":"YulAssignment","src":"62198:24:21","value":{"arguments":[{"name":"length","nativeSrc":"62212:6:21","nodeType":"YulIdentifier","src":"62212:6:21"},{"kind":"number","nativeSrc":"62220:1:21","nodeType":"YulLiteral","src":"62220:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"62208:3:21","nodeType":"YulIdentifier","src":"62208:3:21"},"nativeSrc":"62208:14:21","nodeType":"YulFunctionCall","src":"62208:14:21"},"variableNames":[{"name":"length","nativeSrc":"62198:6:21","nodeType":"YulIdentifier","src":"62198:6:21"}]}]},"pre":{"nativeSrc":"62176:2:21","nodeType":"YulBlock","src":"62176:2:21","statements":[]},"src":"62172:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"62289:3:21","nodeType":"YulIdentifier","src":"62289:3:21"},{"name":"length","nativeSrc":"62294:6:21","nodeType":"YulIdentifier","src":"62294:6:21"}],"functionName":{"name":"mstore","nativeSrc":"62282:6:21","nodeType":"YulIdentifier","src":"62282:6:21"},"nativeSrc":"62282:19:21","nodeType":"YulFunctionCall","src":"62282:19:21"},"nativeSrc":"62282:19:21","nodeType":"YulExpressionStatement","src":"62282:19:21"},{"nativeSrc":"62318:37:21","nodeType":"YulVariableDeclaration","src":"62318:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"62335:3:21","nodeType":"YulLiteral","src":"62335:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"62344:1:21","nodeType":"YulLiteral","src":"62344:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"62347:6:21","nodeType":"YulIdentifier","src":"62347:6:21"}],"functionName":{"name":"shl","nativeSrc":"62340:3:21","nodeType":"YulIdentifier","src":"62340:3:21"},"nativeSrc":"62340:14:21","nodeType":"YulFunctionCall","src":"62340:14:21"}],"functionName":{"name":"sub","nativeSrc":"62331:3:21","nodeType":"YulIdentifier","src":"62331:3:21"},"nativeSrc":"62331:24:21","nodeType":"YulFunctionCall","src":"62331:24:21"},"variables":[{"name":"shift","nativeSrc":"62322:5:21","nodeType":"YulTypedName","src":"62322:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"62383:3:21","nodeType":"YulIdentifier","src":"62383:3:21"},{"kind":"number","nativeSrc":"62388:4:21","nodeType":"YulLiteral","src":"62388:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"62379:3:21","nodeType":"YulIdentifier","src":"62379:3:21"},"nativeSrc":"62379:14:21","nodeType":"YulFunctionCall","src":"62379:14:21"},{"arguments":[{"name":"shift","nativeSrc":"62399:5:21","nodeType":"YulIdentifier","src":"62399:5:21"},{"arguments":[{"name":"shift","nativeSrc":"62410:5:21","nodeType":"YulIdentifier","src":"62410:5:21"},{"name":"w","nativeSrc":"62417:1:21","nodeType":"YulIdentifier","src":"62417:1:21"}],"functionName":{"name":"shr","nativeSrc":"62406:3:21","nodeType":"YulIdentifier","src":"62406:3:21"},"nativeSrc":"62406:13:21","nodeType":"YulFunctionCall","src":"62406:13:21"}],"functionName":{"name":"shl","nativeSrc":"62395:3:21","nodeType":"YulIdentifier","src":"62395:3:21"},"nativeSrc":"62395:25:21","nodeType":"YulFunctionCall","src":"62395:25:21"}],"functionName":{"name":"mstore","nativeSrc":"62372:6:21","nodeType":"YulIdentifier","src":"62372:6:21"},"nativeSrc":"62372:49:21","nodeType":"YulFunctionCall","src":"62372:49:21"},"nativeSrc":"62372:49:21","nodeType":"YulExpressionStatement","src":"62372:49:21"}]},"name":"writeString","nativeSrc":"62093:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"62114:3:21","nodeType":"YulTypedName","src":"62114:3:21","type":""},{"name":"w","nativeSrc":"62119:1:21","nodeType":"YulTypedName","src":"62119:1:21","type":""}],"src":"62093:342:21"},{"nativeSrc":"62448:17:21","nodeType":"YulAssignment","src":"62448:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"62460:4:21","nodeType":"YulLiteral","src":"62460:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"62454:5:21","nodeType":"YulIdentifier","src":"62454:5:21"},"nativeSrc":"62454:11:21","nodeType":"YulFunctionCall","src":"62454:11:21"},"variableNames":[{"name":"m0","nativeSrc":"62448:2:21","nodeType":"YulIdentifier","src":"62448:2:21"}]},{"nativeSrc":"62478:17:21","nodeType":"YulAssignment","src":"62478:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"62490:4:21","nodeType":"YulLiteral","src":"62490:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"62484:5:21","nodeType":"YulIdentifier","src":"62484:5:21"},"nativeSrc":"62484:11:21","nodeType":"YulFunctionCall","src":"62484:11:21"},"variableNames":[{"name":"m1","nativeSrc":"62478:2:21","nodeType":"YulIdentifier","src":"62478:2:21"}]},{"nativeSrc":"62508:17:21","nodeType":"YulAssignment","src":"62508:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"62520:4:21","nodeType":"YulLiteral","src":"62520:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"62514:5:21","nodeType":"YulIdentifier","src":"62514:5:21"},"nativeSrc":"62514:11:21","nodeType":"YulFunctionCall","src":"62514:11:21"},"variableNames":[{"name":"m2","nativeSrc":"62508:2:21","nodeType":"YulIdentifier","src":"62508:2:21"}]},{"nativeSrc":"62538:17:21","nodeType":"YulAssignment","src":"62538:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"62550:4:21","nodeType":"YulLiteral","src":"62550:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"62544:5:21","nodeType":"YulIdentifier","src":"62544:5:21"},"nativeSrc":"62544:11:21","nodeType":"YulFunctionCall","src":"62544:11:21"},"variableNames":[{"name":"m3","nativeSrc":"62538:2:21","nodeType":"YulIdentifier","src":"62538:2:21"}]},{"nativeSrc":"62568:17:21","nodeType":"YulAssignment","src":"62568:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"62580:4:21","nodeType":"YulLiteral","src":"62580:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"62574:5:21","nodeType":"YulIdentifier","src":"62574:5:21"},"nativeSrc":"62574:11:21","nodeType":"YulFunctionCall","src":"62574:11:21"},"variableNames":[{"name":"m4","nativeSrc":"62568:2:21","nodeType":"YulIdentifier","src":"62568:2:21"}]},{"nativeSrc":"62598:17:21","nodeType":"YulAssignment","src":"62598:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"62610:4:21","nodeType":"YulLiteral","src":"62610:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"62604:5:21","nodeType":"YulIdentifier","src":"62604:5:21"},"nativeSrc":"62604:11:21","nodeType":"YulFunctionCall","src":"62604:11:21"},"variableNames":[{"name":"m5","nativeSrc":"62598:2:21","nodeType":"YulIdentifier","src":"62598:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62693:4:21","nodeType":"YulLiteral","src":"62693:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"62699:10:21","nodeType":"YulLiteral","src":"62699:10:21","type":"","value":"0x71d04af2"}],"functionName":{"name":"mstore","nativeSrc":"62686:6:21","nodeType":"YulIdentifier","src":"62686:6:21"},"nativeSrc":"62686:24:21","nodeType":"YulFunctionCall","src":"62686:24:21"},"nativeSrc":"62686:24:21","nodeType":"YulExpressionStatement","src":"62686:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62730:4:21","nodeType":"YulLiteral","src":"62730:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"62736:2:21","nodeType":"YulIdentifier","src":"62736:2:21"}],"functionName":{"name":"mstore","nativeSrc":"62723:6:21","nodeType":"YulIdentifier","src":"62723:6:21"},"nativeSrc":"62723:16:21","nodeType":"YulFunctionCall","src":"62723:16:21"},"nativeSrc":"62723:16:21","nodeType":"YulExpressionStatement","src":"62723:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62759:4:21","nodeType":"YulLiteral","src":"62759:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"62765:2:21","nodeType":"YulIdentifier","src":"62765:2:21"}],"functionName":{"name":"mstore","nativeSrc":"62752:6:21","nodeType":"YulIdentifier","src":"62752:6:21"},"nativeSrc":"62752:16:21","nodeType":"YulFunctionCall","src":"62752:16:21"},"nativeSrc":"62752:16:21","nodeType":"YulExpressionStatement","src":"62752:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62788:4:21","nodeType":"YulLiteral","src":"62788:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"62794:4:21","nodeType":"YulLiteral","src":"62794:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"62781:6:21","nodeType":"YulIdentifier","src":"62781:6:21"},"nativeSrc":"62781:18:21","nodeType":"YulFunctionCall","src":"62781:18:21"},"nativeSrc":"62781:18:21","nodeType":"YulExpressionStatement","src":"62781:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62824:4:21","nodeType":"YulLiteral","src":"62824:4:21","type":"","value":"0x80"},{"name":"p2","nativeSrc":"62830:2:21","nodeType":"YulIdentifier","src":"62830:2:21"}],"functionName":{"name":"writeString","nativeSrc":"62812:11:21","nodeType":"YulIdentifier","src":"62812:11:21"},"nativeSrc":"62812:21:21","nodeType":"YulFunctionCall","src":"62812:21:21"},"nativeSrc":"62812:21:21","nodeType":"YulExpressionStatement","src":"62812:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29017,"isOffset":false,"isSlot":false,"src":"62448:2:21","valueSize":1},{"declaration":29020,"isOffset":false,"isSlot":false,"src":"62478:2:21","valueSize":1},{"declaration":29023,"isOffset":false,"isSlot":false,"src":"62508:2:21","valueSize":1},{"declaration":29026,"isOffset":false,"isSlot":false,"src":"62538:2:21","valueSize":1},{"declaration":29029,"isOffset":false,"isSlot":false,"src":"62568:2:21","valueSize":1},{"declaration":29032,"isOffset":false,"isSlot":false,"src":"62598:2:21","valueSize":1},{"declaration":29009,"isOffset":false,"isSlot":false,"src":"62736:2:21","valueSize":1},{"declaration":29011,"isOffset":false,"isSlot":false,"src":"62765:2:21","valueSize":1},{"declaration":29013,"isOffset":false,"isSlot":false,"src":"62830:2:21","valueSize":1}],"id":29034,"nodeType":"InlineAssembly","src":"62070:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"62868:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"62874:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29035,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"62852:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62852:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29039,"nodeType":"ExpressionStatement","src":"62852:27:21"},{"AST":{"nativeSrc":"62941:185:21","nodeType":"YulBlock","src":"62941:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"62962:4:21","nodeType":"YulLiteral","src":"62962:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"62968:2:21","nodeType":"YulIdentifier","src":"62968:2:21"}],"functionName":{"name":"mstore","nativeSrc":"62955:6:21","nodeType":"YulIdentifier","src":"62955:6:21"},"nativeSrc":"62955:16:21","nodeType":"YulFunctionCall","src":"62955:16:21"},"nativeSrc":"62955:16:21","nodeType":"YulExpressionStatement","src":"62955:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62991:4:21","nodeType":"YulLiteral","src":"62991:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"62997:2:21","nodeType":"YulIdentifier","src":"62997:2:21"}],"functionName":{"name":"mstore","nativeSrc":"62984:6:21","nodeType":"YulIdentifier","src":"62984:6:21"},"nativeSrc":"62984:16:21","nodeType":"YulFunctionCall","src":"62984:16:21"},"nativeSrc":"62984:16:21","nodeType":"YulExpressionStatement","src":"62984:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63020:4:21","nodeType":"YulLiteral","src":"63020:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"63026:2:21","nodeType":"YulIdentifier","src":"63026:2:21"}],"functionName":{"name":"mstore","nativeSrc":"63013:6:21","nodeType":"YulIdentifier","src":"63013:6:21"},"nativeSrc":"63013:16:21","nodeType":"YulFunctionCall","src":"63013:16:21"},"nativeSrc":"63013:16:21","nodeType":"YulExpressionStatement","src":"63013:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63049:4:21","nodeType":"YulLiteral","src":"63049:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"63055:2:21","nodeType":"YulIdentifier","src":"63055:2:21"}],"functionName":{"name":"mstore","nativeSrc":"63042:6:21","nodeType":"YulIdentifier","src":"63042:6:21"},"nativeSrc":"63042:16:21","nodeType":"YulFunctionCall","src":"63042:16:21"},"nativeSrc":"63042:16:21","nodeType":"YulExpressionStatement","src":"63042:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63078:4:21","nodeType":"YulLiteral","src":"63078:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"63084:2:21","nodeType":"YulIdentifier","src":"63084:2:21"}],"functionName":{"name":"mstore","nativeSrc":"63071:6:21","nodeType":"YulIdentifier","src":"63071:6:21"},"nativeSrc":"63071:16:21","nodeType":"YulFunctionCall","src":"63071:16:21"},"nativeSrc":"63071:16:21","nodeType":"YulExpressionStatement","src":"63071:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63107:4:21","nodeType":"YulLiteral","src":"63107:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"63113:2:21","nodeType":"YulIdentifier","src":"63113:2:21"}],"functionName":{"name":"mstore","nativeSrc":"63100:6:21","nodeType":"YulIdentifier","src":"63100:6:21"},"nativeSrc":"63100:16:21","nodeType":"YulFunctionCall","src":"63100:16:21"},"nativeSrc":"63100:16:21","nodeType":"YulExpressionStatement","src":"63100:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29017,"isOffset":false,"isSlot":false,"src":"62968:2:21","valueSize":1},{"declaration":29020,"isOffset":false,"isSlot":false,"src":"62997:2:21","valueSize":1},{"declaration":29023,"isOffset":false,"isSlot":false,"src":"63026:2:21","valueSize":1},{"declaration":29026,"isOffset":false,"isSlot":false,"src":"63055:2:21","valueSize":1},{"declaration":29029,"isOffset":false,"isSlot":false,"src":"63084:2:21","valueSize":1},{"declaration":29032,"isOffset":false,"isSlot":false,"src":"63113:2:21","valueSize":1}],"id":29040,"nodeType":"InlineAssembly","src":"62932:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61843:3:21","parameters":{"id":29014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29009,"mutability":"mutable","name":"p0","nameLocation":"61855:2:21","nodeType":"VariableDeclaration","scope":29042,"src":"61847:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29008,"name":"uint256","nodeType":"ElementaryTypeName","src":"61847:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29011,"mutability":"mutable","name":"p1","nameLocation":"61867:2:21","nodeType":"VariableDeclaration","scope":29042,"src":"61859:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29010,"name":"uint256","nodeType":"ElementaryTypeName","src":"61859:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29013,"mutability":"mutable","name":"p2","nameLocation":"61879:2:21","nodeType":"VariableDeclaration","scope":29042,"src":"61871:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61871:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"61846:36:21"},"returnParameters":{"id":29015,"nodeType":"ParameterList","parameters":[],"src":"61897:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29077,"nodeType":"FunctionDefinition","src":"63138:1298:21","nodes":[],"body":{"id":29076,"nodeType":"Block","src":"63201:1235:21","nodes":[],"statements":[{"assignments":[29052],"declarations":[{"constant":false,"id":29052,"mutability":"mutable","name":"m0","nameLocation":"63219:2:21","nodeType":"VariableDeclaration","scope":29076,"src":"63211:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63211:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29053,"nodeType":"VariableDeclarationStatement","src":"63211:10:21"},{"assignments":[29055],"declarations":[{"constant":false,"id":29055,"mutability":"mutable","name":"m1","nameLocation":"63239:2:21","nodeType":"VariableDeclaration","scope":29076,"src":"63231:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63231:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29056,"nodeType":"VariableDeclarationStatement","src":"63231:10:21"},{"assignments":[29058],"declarations":[{"constant":false,"id":29058,"mutability":"mutable","name":"m2","nameLocation":"63259:2:21","nodeType":"VariableDeclaration","scope":29076,"src":"63251:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63251:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29059,"nodeType":"VariableDeclarationStatement","src":"63251:10:21"},{"assignments":[29061],"declarations":[{"constant":false,"id":29061,"mutability":"mutable","name":"m3","nameLocation":"63279:2:21","nodeType":"VariableDeclaration","scope":29076,"src":"63271:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29060,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63271:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29062,"nodeType":"VariableDeclarationStatement","src":"63271:10:21"},{"assignments":[29064],"declarations":[{"constant":false,"id":29064,"mutability":"mutable","name":"m4","nameLocation":"63299:2:21","nodeType":"VariableDeclaration","scope":29076,"src":"63291:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63291:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29065,"nodeType":"VariableDeclarationStatement","src":"63291:10:21"},{"assignments":[29067],"declarations":[{"constant":false,"id":29067,"mutability":"mutable","name":"m5","nameLocation":"63319:2:21","nodeType":"VariableDeclaration","scope":29076,"src":"63311:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63311:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29068,"nodeType":"VariableDeclarationStatement","src":"63311:10:21"},{"AST":{"nativeSrc":"63383:764:21","nodeType":"YulBlock","src":"63383:764:21","statements":[{"body":{"nativeSrc":"63426:313:21","nodeType":"YulBlock","src":"63426:313:21","statements":[{"nativeSrc":"63444:15:21","nodeType":"YulVariableDeclaration","src":"63444:15:21","value":{"kind":"number","nativeSrc":"63458:1:21","nodeType":"YulLiteral","src":"63458:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"63448:6:21","nodeType":"YulTypedName","src":"63448:6:21","type":""}]},{"body":{"nativeSrc":"63529:40:21","nodeType":"YulBlock","src":"63529:40:21","statements":[{"body":{"nativeSrc":"63558:9:21","nodeType":"YulBlock","src":"63558:9:21","statements":[{"nativeSrc":"63560:5:21","nodeType":"YulBreak","src":"63560:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"63546:6:21","nodeType":"YulIdentifier","src":"63546:6:21"},{"name":"w","nativeSrc":"63554:1:21","nodeType":"YulIdentifier","src":"63554:1:21"}],"functionName":{"name":"byte","nativeSrc":"63541:4:21","nodeType":"YulIdentifier","src":"63541:4:21"},"nativeSrc":"63541:15:21","nodeType":"YulFunctionCall","src":"63541:15:21"}],"functionName":{"name":"iszero","nativeSrc":"63534:6:21","nodeType":"YulIdentifier","src":"63534:6:21"},"nativeSrc":"63534:23:21","nodeType":"YulFunctionCall","src":"63534:23:21"},"nativeSrc":"63531:36:21","nodeType":"YulIf","src":"63531:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"63486:6:21","nodeType":"YulIdentifier","src":"63486:6:21"},{"kind":"number","nativeSrc":"63494:4:21","nodeType":"YulLiteral","src":"63494:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"63483:2:21","nodeType":"YulIdentifier","src":"63483:2:21"},"nativeSrc":"63483:16:21","nodeType":"YulFunctionCall","src":"63483:16:21"},"nativeSrc":"63476:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"63500:28:21","nodeType":"YulBlock","src":"63500:28:21","statements":[{"nativeSrc":"63502:24:21","nodeType":"YulAssignment","src":"63502:24:21","value":{"arguments":[{"name":"length","nativeSrc":"63516:6:21","nodeType":"YulIdentifier","src":"63516:6:21"},{"kind":"number","nativeSrc":"63524:1:21","nodeType":"YulLiteral","src":"63524:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"63512:3:21","nodeType":"YulIdentifier","src":"63512:3:21"},"nativeSrc":"63512:14:21","nodeType":"YulFunctionCall","src":"63512:14:21"},"variableNames":[{"name":"length","nativeSrc":"63502:6:21","nodeType":"YulIdentifier","src":"63502:6:21"}]}]},"pre":{"nativeSrc":"63480:2:21","nodeType":"YulBlock","src":"63480:2:21","statements":[]},"src":"63476:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"63593:3:21","nodeType":"YulIdentifier","src":"63593:3:21"},{"name":"length","nativeSrc":"63598:6:21","nodeType":"YulIdentifier","src":"63598:6:21"}],"functionName":{"name":"mstore","nativeSrc":"63586:6:21","nodeType":"YulIdentifier","src":"63586:6:21"},"nativeSrc":"63586:19:21","nodeType":"YulFunctionCall","src":"63586:19:21"},"nativeSrc":"63586:19:21","nodeType":"YulExpressionStatement","src":"63586:19:21"},{"nativeSrc":"63622:37:21","nodeType":"YulVariableDeclaration","src":"63622:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"63639:3:21","nodeType":"YulLiteral","src":"63639:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"63648:1:21","nodeType":"YulLiteral","src":"63648:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"63651:6:21","nodeType":"YulIdentifier","src":"63651:6:21"}],"functionName":{"name":"shl","nativeSrc":"63644:3:21","nodeType":"YulIdentifier","src":"63644:3:21"},"nativeSrc":"63644:14:21","nodeType":"YulFunctionCall","src":"63644:14:21"}],"functionName":{"name":"sub","nativeSrc":"63635:3:21","nodeType":"YulIdentifier","src":"63635:3:21"},"nativeSrc":"63635:24:21","nodeType":"YulFunctionCall","src":"63635:24:21"},"variables":[{"name":"shift","nativeSrc":"63626:5:21","nodeType":"YulTypedName","src":"63626:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"63687:3:21","nodeType":"YulIdentifier","src":"63687:3:21"},{"kind":"number","nativeSrc":"63692:4:21","nodeType":"YulLiteral","src":"63692:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"63683:3:21","nodeType":"YulIdentifier","src":"63683:3:21"},"nativeSrc":"63683:14:21","nodeType":"YulFunctionCall","src":"63683:14:21"},{"arguments":[{"name":"shift","nativeSrc":"63703:5:21","nodeType":"YulIdentifier","src":"63703:5:21"},{"arguments":[{"name":"shift","nativeSrc":"63714:5:21","nodeType":"YulIdentifier","src":"63714:5:21"},{"name":"w","nativeSrc":"63721:1:21","nodeType":"YulIdentifier","src":"63721:1:21"}],"functionName":{"name":"shr","nativeSrc":"63710:3:21","nodeType":"YulIdentifier","src":"63710:3:21"},"nativeSrc":"63710:13:21","nodeType":"YulFunctionCall","src":"63710:13:21"}],"functionName":{"name":"shl","nativeSrc":"63699:3:21","nodeType":"YulIdentifier","src":"63699:3:21"},"nativeSrc":"63699:25:21","nodeType":"YulFunctionCall","src":"63699:25:21"}],"functionName":{"name":"mstore","nativeSrc":"63676:6:21","nodeType":"YulIdentifier","src":"63676:6:21"},"nativeSrc":"63676:49:21","nodeType":"YulFunctionCall","src":"63676:49:21"},"nativeSrc":"63676:49:21","nodeType":"YulExpressionStatement","src":"63676:49:21"}]},"name":"writeString","nativeSrc":"63397:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"63418:3:21","nodeType":"YulTypedName","src":"63418:3:21","type":""},{"name":"w","nativeSrc":"63423:1:21","nodeType":"YulTypedName","src":"63423:1:21","type":""}],"src":"63397:342:21"},{"nativeSrc":"63752:17:21","nodeType":"YulAssignment","src":"63752:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"63764:4:21","nodeType":"YulLiteral","src":"63764:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"63758:5:21","nodeType":"YulIdentifier","src":"63758:5:21"},"nativeSrc":"63758:11:21","nodeType":"YulFunctionCall","src":"63758:11:21"},"variableNames":[{"name":"m0","nativeSrc":"63752:2:21","nodeType":"YulIdentifier","src":"63752:2:21"}]},{"nativeSrc":"63782:17:21","nodeType":"YulAssignment","src":"63782:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"63794:4:21","nodeType":"YulLiteral","src":"63794:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"63788:5:21","nodeType":"YulIdentifier","src":"63788:5:21"},"nativeSrc":"63788:11:21","nodeType":"YulFunctionCall","src":"63788:11:21"},"variableNames":[{"name":"m1","nativeSrc":"63782:2:21","nodeType":"YulIdentifier","src":"63782:2:21"}]},{"nativeSrc":"63812:17:21","nodeType":"YulAssignment","src":"63812:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"63824:4:21","nodeType":"YulLiteral","src":"63824:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"63818:5:21","nodeType":"YulIdentifier","src":"63818:5:21"},"nativeSrc":"63818:11:21","nodeType":"YulFunctionCall","src":"63818:11:21"},"variableNames":[{"name":"m2","nativeSrc":"63812:2:21","nodeType":"YulIdentifier","src":"63812:2:21"}]},{"nativeSrc":"63842:17:21","nodeType":"YulAssignment","src":"63842:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"63854:4:21","nodeType":"YulLiteral","src":"63854:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"63848:5:21","nodeType":"YulIdentifier","src":"63848:5:21"},"nativeSrc":"63848:11:21","nodeType":"YulFunctionCall","src":"63848:11:21"},"variableNames":[{"name":"m3","nativeSrc":"63842:2:21","nodeType":"YulIdentifier","src":"63842:2:21"}]},{"nativeSrc":"63872:17:21","nodeType":"YulAssignment","src":"63872:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"63884:4:21","nodeType":"YulLiteral","src":"63884:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"63878:5:21","nodeType":"YulIdentifier","src":"63878:5:21"},"nativeSrc":"63878:11:21","nodeType":"YulFunctionCall","src":"63878:11:21"},"variableNames":[{"name":"m4","nativeSrc":"63872:2:21","nodeType":"YulIdentifier","src":"63872:2:21"}]},{"nativeSrc":"63902:17:21","nodeType":"YulAssignment","src":"63902:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"63914:4:21","nodeType":"YulLiteral","src":"63914:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"63908:5:21","nodeType":"YulIdentifier","src":"63908:5:21"},"nativeSrc":"63908:11:21","nodeType":"YulFunctionCall","src":"63908:11:21"},"variableNames":[{"name":"m5","nativeSrc":"63902:2:21","nodeType":"YulIdentifier","src":"63902:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63997:4:21","nodeType":"YulLiteral","src":"63997:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"64003:10:21","nodeType":"YulLiteral","src":"64003:10:21","type":"","value":"0x7afac959"}],"functionName":{"name":"mstore","nativeSrc":"63990:6:21","nodeType":"YulIdentifier","src":"63990:6:21"},"nativeSrc":"63990:24:21","nodeType":"YulFunctionCall","src":"63990:24:21"},"nativeSrc":"63990:24:21","nodeType":"YulExpressionStatement","src":"63990:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64034:4:21","nodeType":"YulLiteral","src":"64034:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"64040:2:21","nodeType":"YulIdentifier","src":"64040:2:21"}],"functionName":{"name":"mstore","nativeSrc":"64027:6:21","nodeType":"YulIdentifier","src":"64027:6:21"},"nativeSrc":"64027:16:21","nodeType":"YulFunctionCall","src":"64027:16:21"},"nativeSrc":"64027:16:21","nodeType":"YulExpressionStatement","src":"64027:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64063:4:21","nodeType":"YulLiteral","src":"64063:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"64069:4:21","nodeType":"YulLiteral","src":"64069:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"64056:6:21","nodeType":"YulIdentifier","src":"64056:6:21"},"nativeSrc":"64056:18:21","nodeType":"YulFunctionCall","src":"64056:18:21"},"nativeSrc":"64056:18:21","nodeType":"YulExpressionStatement","src":"64056:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64094:4:21","nodeType":"YulLiteral","src":"64094:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"64100:2:21","nodeType":"YulIdentifier","src":"64100:2:21"}],"functionName":{"name":"mstore","nativeSrc":"64087:6:21","nodeType":"YulIdentifier","src":"64087:6:21"},"nativeSrc":"64087:16:21","nodeType":"YulFunctionCall","src":"64087:16:21"},"nativeSrc":"64087:16:21","nodeType":"YulExpressionStatement","src":"64087:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64128:4:21","nodeType":"YulLiteral","src":"64128:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"64134:2:21","nodeType":"YulIdentifier","src":"64134:2:21"}],"functionName":{"name":"writeString","nativeSrc":"64116:11:21","nodeType":"YulIdentifier","src":"64116:11:21"},"nativeSrc":"64116:21:21","nodeType":"YulFunctionCall","src":"64116:21:21"},"nativeSrc":"64116:21:21","nodeType":"YulExpressionStatement","src":"64116:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29052,"isOffset":false,"isSlot":false,"src":"63752:2:21","valueSize":1},{"declaration":29055,"isOffset":false,"isSlot":false,"src":"63782:2:21","valueSize":1},{"declaration":29058,"isOffset":false,"isSlot":false,"src":"63812:2:21","valueSize":1},{"declaration":29061,"isOffset":false,"isSlot":false,"src":"63842:2:21","valueSize":1},{"declaration":29064,"isOffset":false,"isSlot":false,"src":"63872:2:21","valueSize":1},{"declaration":29067,"isOffset":false,"isSlot":false,"src":"63902:2:21","valueSize":1},{"declaration":29044,"isOffset":false,"isSlot":false,"src":"64040:2:21","valueSize":1},{"declaration":29046,"isOffset":false,"isSlot":false,"src":"64134:2:21","valueSize":1},{"declaration":29048,"isOffset":false,"isSlot":false,"src":"64100:2:21","valueSize":1}],"id":29069,"nodeType":"InlineAssembly","src":"63374:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64172:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64178:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29070,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"64156:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64156:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29074,"nodeType":"ExpressionStatement","src":"64156:27:21"},{"AST":{"nativeSrc":"64245:185:21","nodeType":"YulBlock","src":"64245:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"64266:4:21","nodeType":"YulLiteral","src":"64266:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"64272:2:21","nodeType":"YulIdentifier","src":"64272:2:21"}],"functionName":{"name":"mstore","nativeSrc":"64259:6:21","nodeType":"YulIdentifier","src":"64259:6:21"},"nativeSrc":"64259:16:21","nodeType":"YulFunctionCall","src":"64259:16:21"},"nativeSrc":"64259:16:21","nodeType":"YulExpressionStatement","src":"64259:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64295:4:21","nodeType":"YulLiteral","src":"64295:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"64301:2:21","nodeType":"YulIdentifier","src":"64301:2:21"}],"functionName":{"name":"mstore","nativeSrc":"64288:6:21","nodeType":"YulIdentifier","src":"64288:6:21"},"nativeSrc":"64288:16:21","nodeType":"YulFunctionCall","src":"64288:16:21"},"nativeSrc":"64288:16:21","nodeType":"YulExpressionStatement","src":"64288:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64324:4:21","nodeType":"YulLiteral","src":"64324:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"64330:2:21","nodeType":"YulIdentifier","src":"64330:2:21"}],"functionName":{"name":"mstore","nativeSrc":"64317:6:21","nodeType":"YulIdentifier","src":"64317:6:21"},"nativeSrc":"64317:16:21","nodeType":"YulFunctionCall","src":"64317:16:21"},"nativeSrc":"64317:16:21","nodeType":"YulExpressionStatement","src":"64317:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64353:4:21","nodeType":"YulLiteral","src":"64353:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"64359:2:21","nodeType":"YulIdentifier","src":"64359:2:21"}],"functionName":{"name":"mstore","nativeSrc":"64346:6:21","nodeType":"YulIdentifier","src":"64346:6:21"},"nativeSrc":"64346:16:21","nodeType":"YulFunctionCall","src":"64346:16:21"},"nativeSrc":"64346:16:21","nodeType":"YulExpressionStatement","src":"64346:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64382:4:21","nodeType":"YulLiteral","src":"64382:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"64388:2:21","nodeType":"YulIdentifier","src":"64388:2:21"}],"functionName":{"name":"mstore","nativeSrc":"64375:6:21","nodeType":"YulIdentifier","src":"64375:6:21"},"nativeSrc":"64375:16:21","nodeType":"YulFunctionCall","src":"64375:16:21"},"nativeSrc":"64375:16:21","nodeType":"YulExpressionStatement","src":"64375:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64411:4:21","nodeType":"YulLiteral","src":"64411:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"64417:2:21","nodeType":"YulIdentifier","src":"64417:2:21"}],"functionName":{"name":"mstore","nativeSrc":"64404:6:21","nodeType":"YulIdentifier","src":"64404:6:21"},"nativeSrc":"64404:16:21","nodeType":"YulFunctionCall","src":"64404:16:21"},"nativeSrc":"64404:16:21","nodeType":"YulExpressionStatement","src":"64404:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29052,"isOffset":false,"isSlot":false,"src":"64272:2:21","valueSize":1},{"declaration":29055,"isOffset":false,"isSlot":false,"src":"64301:2:21","valueSize":1},{"declaration":29058,"isOffset":false,"isSlot":false,"src":"64330:2:21","valueSize":1},{"declaration":29061,"isOffset":false,"isSlot":false,"src":"64359:2:21","valueSize":1},{"declaration":29064,"isOffset":false,"isSlot":false,"src":"64388:2:21","valueSize":1},{"declaration":29067,"isOffset":false,"isSlot":false,"src":"64417:2:21","valueSize":1}],"id":29075,"nodeType":"InlineAssembly","src":"64236:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63147:3:21","parameters":{"id":29049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29044,"mutability":"mutable","name":"p0","nameLocation":"63159:2:21","nodeType":"VariableDeclaration","scope":29077,"src":"63151:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29043,"name":"uint256","nodeType":"ElementaryTypeName","src":"63151:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29046,"mutability":"mutable","name":"p1","nameLocation":"63171:2:21","nodeType":"VariableDeclaration","scope":29077,"src":"63163:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63163:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29048,"mutability":"mutable","name":"p2","nameLocation":"63183:2:21","nodeType":"VariableDeclaration","scope":29077,"src":"63175:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29047,"name":"address","nodeType":"ElementaryTypeName","src":"63175:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63150:36:21"},"returnParameters":{"id":29050,"nodeType":"ParameterList","parameters":[],"src":"63201:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29112,"nodeType":"FunctionDefinition","src":"64442:1292:21","nodes":[],"body":{"id":29111,"nodeType":"Block","src":"64502:1232:21","nodes":[],"statements":[{"assignments":[29087],"declarations":[{"constant":false,"id":29087,"mutability":"mutable","name":"m0","nameLocation":"64520:2:21","nodeType":"VariableDeclaration","scope":29111,"src":"64512:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64512:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29088,"nodeType":"VariableDeclarationStatement","src":"64512:10:21"},{"assignments":[29090],"declarations":[{"constant":false,"id":29090,"mutability":"mutable","name":"m1","nameLocation":"64540:2:21","nodeType":"VariableDeclaration","scope":29111,"src":"64532:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64532:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29091,"nodeType":"VariableDeclarationStatement","src":"64532:10:21"},{"assignments":[29093],"declarations":[{"constant":false,"id":29093,"mutability":"mutable","name":"m2","nameLocation":"64560:2:21","nodeType":"VariableDeclaration","scope":29111,"src":"64552:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64552:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29094,"nodeType":"VariableDeclarationStatement","src":"64552:10:21"},{"assignments":[29096],"declarations":[{"constant":false,"id":29096,"mutability":"mutable","name":"m3","nameLocation":"64580:2:21","nodeType":"VariableDeclaration","scope":29111,"src":"64572:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64572:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29097,"nodeType":"VariableDeclarationStatement","src":"64572:10:21"},{"assignments":[29099],"declarations":[{"constant":false,"id":29099,"mutability":"mutable","name":"m4","nameLocation":"64600:2:21","nodeType":"VariableDeclaration","scope":29111,"src":"64592:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64592:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29100,"nodeType":"VariableDeclarationStatement","src":"64592:10:21"},{"assignments":[29102],"declarations":[{"constant":false,"id":29102,"mutability":"mutable","name":"m5","nameLocation":"64620:2:21","nodeType":"VariableDeclaration","scope":29111,"src":"64612:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64612:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29103,"nodeType":"VariableDeclarationStatement","src":"64612:10:21"},{"AST":{"nativeSrc":"64684:761:21","nodeType":"YulBlock","src":"64684:761:21","statements":[{"body":{"nativeSrc":"64727:313:21","nodeType":"YulBlock","src":"64727:313:21","statements":[{"nativeSrc":"64745:15:21","nodeType":"YulVariableDeclaration","src":"64745:15:21","value":{"kind":"number","nativeSrc":"64759:1:21","nodeType":"YulLiteral","src":"64759:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"64749:6:21","nodeType":"YulTypedName","src":"64749:6:21","type":""}]},{"body":{"nativeSrc":"64830:40:21","nodeType":"YulBlock","src":"64830:40:21","statements":[{"body":{"nativeSrc":"64859:9:21","nodeType":"YulBlock","src":"64859:9:21","statements":[{"nativeSrc":"64861:5:21","nodeType":"YulBreak","src":"64861:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"64847:6:21","nodeType":"YulIdentifier","src":"64847:6:21"},{"name":"w","nativeSrc":"64855:1:21","nodeType":"YulIdentifier","src":"64855:1:21"}],"functionName":{"name":"byte","nativeSrc":"64842:4:21","nodeType":"YulIdentifier","src":"64842:4:21"},"nativeSrc":"64842:15:21","nodeType":"YulFunctionCall","src":"64842:15:21"}],"functionName":{"name":"iszero","nativeSrc":"64835:6:21","nodeType":"YulIdentifier","src":"64835:6:21"},"nativeSrc":"64835:23:21","nodeType":"YulFunctionCall","src":"64835:23:21"},"nativeSrc":"64832:36:21","nodeType":"YulIf","src":"64832:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"64787:6:21","nodeType":"YulIdentifier","src":"64787:6:21"},{"kind":"number","nativeSrc":"64795:4:21","nodeType":"YulLiteral","src":"64795:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"64784:2:21","nodeType":"YulIdentifier","src":"64784:2:21"},"nativeSrc":"64784:16:21","nodeType":"YulFunctionCall","src":"64784:16:21"},"nativeSrc":"64777:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"64801:28:21","nodeType":"YulBlock","src":"64801:28:21","statements":[{"nativeSrc":"64803:24:21","nodeType":"YulAssignment","src":"64803:24:21","value":{"arguments":[{"name":"length","nativeSrc":"64817:6:21","nodeType":"YulIdentifier","src":"64817:6:21"},{"kind":"number","nativeSrc":"64825:1:21","nodeType":"YulLiteral","src":"64825:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"64813:3:21","nodeType":"YulIdentifier","src":"64813:3:21"},"nativeSrc":"64813:14:21","nodeType":"YulFunctionCall","src":"64813:14:21"},"variableNames":[{"name":"length","nativeSrc":"64803:6:21","nodeType":"YulIdentifier","src":"64803:6:21"}]}]},"pre":{"nativeSrc":"64781:2:21","nodeType":"YulBlock","src":"64781:2:21","statements":[]},"src":"64777:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"64894:3:21","nodeType":"YulIdentifier","src":"64894:3:21"},{"name":"length","nativeSrc":"64899:6:21","nodeType":"YulIdentifier","src":"64899:6:21"}],"functionName":{"name":"mstore","nativeSrc":"64887:6:21","nodeType":"YulIdentifier","src":"64887:6:21"},"nativeSrc":"64887:19:21","nodeType":"YulFunctionCall","src":"64887:19:21"},"nativeSrc":"64887:19:21","nodeType":"YulExpressionStatement","src":"64887:19:21"},{"nativeSrc":"64923:37:21","nodeType":"YulVariableDeclaration","src":"64923:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"64940:3:21","nodeType":"YulLiteral","src":"64940:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"64949:1:21","nodeType":"YulLiteral","src":"64949:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"64952:6:21","nodeType":"YulIdentifier","src":"64952:6:21"}],"functionName":{"name":"shl","nativeSrc":"64945:3:21","nodeType":"YulIdentifier","src":"64945:3:21"},"nativeSrc":"64945:14:21","nodeType":"YulFunctionCall","src":"64945:14:21"}],"functionName":{"name":"sub","nativeSrc":"64936:3:21","nodeType":"YulIdentifier","src":"64936:3:21"},"nativeSrc":"64936:24:21","nodeType":"YulFunctionCall","src":"64936:24:21"},"variables":[{"name":"shift","nativeSrc":"64927:5:21","nodeType":"YulTypedName","src":"64927:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"64988:3:21","nodeType":"YulIdentifier","src":"64988:3:21"},{"kind":"number","nativeSrc":"64993:4:21","nodeType":"YulLiteral","src":"64993:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"64984:3:21","nodeType":"YulIdentifier","src":"64984:3:21"},"nativeSrc":"64984:14:21","nodeType":"YulFunctionCall","src":"64984:14:21"},{"arguments":[{"name":"shift","nativeSrc":"65004:5:21","nodeType":"YulIdentifier","src":"65004:5:21"},{"arguments":[{"name":"shift","nativeSrc":"65015:5:21","nodeType":"YulIdentifier","src":"65015:5:21"},{"name":"w","nativeSrc":"65022:1:21","nodeType":"YulIdentifier","src":"65022:1:21"}],"functionName":{"name":"shr","nativeSrc":"65011:3:21","nodeType":"YulIdentifier","src":"65011:3:21"},"nativeSrc":"65011:13:21","nodeType":"YulFunctionCall","src":"65011:13:21"}],"functionName":{"name":"shl","nativeSrc":"65000:3:21","nodeType":"YulIdentifier","src":"65000:3:21"},"nativeSrc":"65000:25:21","nodeType":"YulFunctionCall","src":"65000:25:21"}],"functionName":{"name":"mstore","nativeSrc":"64977:6:21","nodeType":"YulIdentifier","src":"64977:6:21"},"nativeSrc":"64977:49:21","nodeType":"YulFunctionCall","src":"64977:49:21"},"nativeSrc":"64977:49:21","nodeType":"YulExpressionStatement","src":"64977:49:21"}]},"name":"writeString","nativeSrc":"64698:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"64719:3:21","nodeType":"YulTypedName","src":"64719:3:21","type":""},{"name":"w","nativeSrc":"64724:1:21","nodeType":"YulTypedName","src":"64724:1:21","type":""}],"src":"64698:342:21"},{"nativeSrc":"65053:17:21","nodeType":"YulAssignment","src":"65053:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"65065:4:21","nodeType":"YulLiteral","src":"65065:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"65059:5:21","nodeType":"YulIdentifier","src":"65059:5:21"},"nativeSrc":"65059:11:21","nodeType":"YulFunctionCall","src":"65059:11:21"},"variableNames":[{"name":"m0","nativeSrc":"65053:2:21","nodeType":"YulIdentifier","src":"65053:2:21"}]},{"nativeSrc":"65083:17:21","nodeType":"YulAssignment","src":"65083:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"65095:4:21","nodeType":"YulLiteral","src":"65095:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"65089:5:21","nodeType":"YulIdentifier","src":"65089:5:21"},"nativeSrc":"65089:11:21","nodeType":"YulFunctionCall","src":"65089:11:21"},"variableNames":[{"name":"m1","nativeSrc":"65083:2:21","nodeType":"YulIdentifier","src":"65083:2:21"}]},{"nativeSrc":"65113:17:21","nodeType":"YulAssignment","src":"65113:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"65125:4:21","nodeType":"YulLiteral","src":"65125:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"65119:5:21","nodeType":"YulIdentifier","src":"65119:5:21"},"nativeSrc":"65119:11:21","nodeType":"YulFunctionCall","src":"65119:11:21"},"variableNames":[{"name":"m2","nativeSrc":"65113:2:21","nodeType":"YulIdentifier","src":"65113:2:21"}]},{"nativeSrc":"65143:17:21","nodeType":"YulAssignment","src":"65143:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"65155:4:21","nodeType":"YulLiteral","src":"65155:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"65149:5:21","nodeType":"YulIdentifier","src":"65149:5:21"},"nativeSrc":"65149:11:21","nodeType":"YulFunctionCall","src":"65149:11:21"},"variableNames":[{"name":"m3","nativeSrc":"65143:2:21","nodeType":"YulIdentifier","src":"65143:2:21"}]},{"nativeSrc":"65173:17:21","nodeType":"YulAssignment","src":"65173:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"65185:4:21","nodeType":"YulLiteral","src":"65185:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"65179:5:21","nodeType":"YulIdentifier","src":"65179:5:21"},"nativeSrc":"65179:11:21","nodeType":"YulFunctionCall","src":"65179:11:21"},"variableNames":[{"name":"m4","nativeSrc":"65173:2:21","nodeType":"YulIdentifier","src":"65173:2:21"}]},{"nativeSrc":"65203:17:21","nodeType":"YulAssignment","src":"65203:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"65215:4:21","nodeType":"YulLiteral","src":"65215:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"65209:5:21","nodeType":"YulIdentifier","src":"65209:5:21"},"nativeSrc":"65209:11:21","nodeType":"YulFunctionCall","src":"65209:11:21"},"variableNames":[{"name":"m5","nativeSrc":"65203:2:21","nodeType":"YulIdentifier","src":"65203:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65295:4:21","nodeType":"YulLiteral","src":"65295:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"65301:10:21","nodeType":"YulLiteral","src":"65301:10:21","type":"","value":"0x4ceda75a"}],"functionName":{"name":"mstore","nativeSrc":"65288:6:21","nodeType":"YulIdentifier","src":"65288:6:21"},"nativeSrc":"65288:24:21","nodeType":"YulFunctionCall","src":"65288:24:21"},"nativeSrc":"65288:24:21","nodeType":"YulExpressionStatement","src":"65288:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65332:4:21","nodeType":"YulLiteral","src":"65332:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"65338:2:21","nodeType":"YulIdentifier","src":"65338:2:21"}],"functionName":{"name":"mstore","nativeSrc":"65325:6:21","nodeType":"YulIdentifier","src":"65325:6:21"},"nativeSrc":"65325:16:21","nodeType":"YulFunctionCall","src":"65325:16:21"},"nativeSrc":"65325:16:21","nodeType":"YulExpressionStatement","src":"65325:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65361:4:21","nodeType":"YulLiteral","src":"65361:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"65367:4:21","nodeType":"YulLiteral","src":"65367:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"65354:6:21","nodeType":"YulIdentifier","src":"65354:6:21"},"nativeSrc":"65354:18:21","nodeType":"YulFunctionCall","src":"65354:18:21"},"nativeSrc":"65354:18:21","nodeType":"YulExpressionStatement","src":"65354:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65392:4:21","nodeType":"YulLiteral","src":"65392:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"65398:2:21","nodeType":"YulIdentifier","src":"65398:2:21"}],"functionName":{"name":"mstore","nativeSrc":"65385:6:21","nodeType":"YulIdentifier","src":"65385:6:21"},"nativeSrc":"65385:16:21","nodeType":"YulFunctionCall","src":"65385:16:21"},"nativeSrc":"65385:16:21","nodeType":"YulExpressionStatement","src":"65385:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65426:4:21","nodeType":"YulLiteral","src":"65426:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"65432:2:21","nodeType":"YulIdentifier","src":"65432:2:21"}],"functionName":{"name":"writeString","nativeSrc":"65414:11:21","nodeType":"YulIdentifier","src":"65414:11:21"},"nativeSrc":"65414:21:21","nodeType":"YulFunctionCall","src":"65414:21:21"},"nativeSrc":"65414:21:21","nodeType":"YulExpressionStatement","src":"65414:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29087,"isOffset":false,"isSlot":false,"src":"65053:2:21","valueSize":1},{"declaration":29090,"isOffset":false,"isSlot":false,"src":"65083:2:21","valueSize":1},{"declaration":29093,"isOffset":false,"isSlot":false,"src":"65113:2:21","valueSize":1},{"declaration":29096,"isOffset":false,"isSlot":false,"src":"65143:2:21","valueSize":1},{"declaration":29099,"isOffset":false,"isSlot":false,"src":"65173:2:21","valueSize":1},{"declaration":29102,"isOffset":false,"isSlot":false,"src":"65203:2:21","valueSize":1},{"declaration":29079,"isOffset":false,"isSlot":false,"src":"65338:2:21","valueSize":1},{"declaration":29081,"isOffset":false,"isSlot":false,"src":"65432:2:21","valueSize":1},{"declaration":29083,"isOffset":false,"isSlot":false,"src":"65398:2:21","valueSize":1}],"id":29104,"nodeType":"InlineAssembly","src":"64675:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65470:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65476:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29105,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"65454:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65454:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29109,"nodeType":"ExpressionStatement","src":"65454:27:21"},{"AST":{"nativeSrc":"65543:185:21","nodeType":"YulBlock","src":"65543:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"65564:4:21","nodeType":"YulLiteral","src":"65564:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"65570:2:21","nodeType":"YulIdentifier","src":"65570:2:21"}],"functionName":{"name":"mstore","nativeSrc":"65557:6:21","nodeType":"YulIdentifier","src":"65557:6:21"},"nativeSrc":"65557:16:21","nodeType":"YulFunctionCall","src":"65557:16:21"},"nativeSrc":"65557:16:21","nodeType":"YulExpressionStatement","src":"65557:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65593:4:21","nodeType":"YulLiteral","src":"65593:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"65599:2:21","nodeType":"YulIdentifier","src":"65599:2:21"}],"functionName":{"name":"mstore","nativeSrc":"65586:6:21","nodeType":"YulIdentifier","src":"65586:6:21"},"nativeSrc":"65586:16:21","nodeType":"YulFunctionCall","src":"65586:16:21"},"nativeSrc":"65586:16:21","nodeType":"YulExpressionStatement","src":"65586:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65622:4:21","nodeType":"YulLiteral","src":"65622:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"65628:2:21","nodeType":"YulIdentifier","src":"65628:2:21"}],"functionName":{"name":"mstore","nativeSrc":"65615:6:21","nodeType":"YulIdentifier","src":"65615:6:21"},"nativeSrc":"65615:16:21","nodeType":"YulFunctionCall","src":"65615:16:21"},"nativeSrc":"65615:16:21","nodeType":"YulExpressionStatement","src":"65615:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65651:4:21","nodeType":"YulLiteral","src":"65651:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"65657:2:21","nodeType":"YulIdentifier","src":"65657:2:21"}],"functionName":{"name":"mstore","nativeSrc":"65644:6:21","nodeType":"YulIdentifier","src":"65644:6:21"},"nativeSrc":"65644:16:21","nodeType":"YulFunctionCall","src":"65644:16:21"},"nativeSrc":"65644:16:21","nodeType":"YulExpressionStatement","src":"65644:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65680:4:21","nodeType":"YulLiteral","src":"65680:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"65686:2:21","nodeType":"YulIdentifier","src":"65686:2:21"}],"functionName":{"name":"mstore","nativeSrc":"65673:6:21","nodeType":"YulIdentifier","src":"65673:6:21"},"nativeSrc":"65673:16:21","nodeType":"YulFunctionCall","src":"65673:16:21"},"nativeSrc":"65673:16:21","nodeType":"YulExpressionStatement","src":"65673:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65709:4:21","nodeType":"YulLiteral","src":"65709:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"65715:2:21","nodeType":"YulIdentifier","src":"65715:2:21"}],"functionName":{"name":"mstore","nativeSrc":"65702:6:21","nodeType":"YulIdentifier","src":"65702:6:21"},"nativeSrc":"65702:16:21","nodeType":"YulFunctionCall","src":"65702:16:21"},"nativeSrc":"65702:16:21","nodeType":"YulExpressionStatement","src":"65702:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29087,"isOffset":false,"isSlot":false,"src":"65570:2:21","valueSize":1},{"declaration":29090,"isOffset":false,"isSlot":false,"src":"65599:2:21","valueSize":1},{"declaration":29093,"isOffset":false,"isSlot":false,"src":"65628:2:21","valueSize":1},{"declaration":29096,"isOffset":false,"isSlot":false,"src":"65657:2:21","valueSize":1},{"declaration":29099,"isOffset":false,"isSlot":false,"src":"65686:2:21","valueSize":1},{"declaration":29102,"isOffset":false,"isSlot":false,"src":"65715:2:21","valueSize":1}],"id":29110,"nodeType":"InlineAssembly","src":"65534:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64451:3:21","parameters":{"id":29084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29079,"mutability":"mutable","name":"p0","nameLocation":"64463:2:21","nodeType":"VariableDeclaration","scope":29112,"src":"64455:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29078,"name":"uint256","nodeType":"ElementaryTypeName","src":"64455:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29081,"mutability":"mutable","name":"p1","nameLocation":"64475:2:21","nodeType":"VariableDeclaration","scope":29112,"src":"64467:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64467:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29083,"mutability":"mutable","name":"p2","nameLocation":"64484:2:21","nodeType":"VariableDeclaration","scope":29112,"src":"64479:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29082,"name":"bool","nodeType":"ElementaryTypeName","src":"64479:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64454:33:21"},"returnParameters":{"id":29085,"nodeType":"ParameterList","parameters":[],"src":"64502:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29147,"nodeType":"FunctionDefinition","src":"65740:1298:21","nodes":[],"body":{"id":29146,"nodeType":"Block","src":"65803:1235:21","nodes":[],"statements":[{"assignments":[29122],"declarations":[{"constant":false,"id":29122,"mutability":"mutable","name":"m0","nameLocation":"65821:2:21","nodeType":"VariableDeclaration","scope":29146,"src":"65813:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65813:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29123,"nodeType":"VariableDeclarationStatement","src":"65813:10:21"},{"assignments":[29125],"declarations":[{"constant":false,"id":29125,"mutability":"mutable","name":"m1","nameLocation":"65841:2:21","nodeType":"VariableDeclaration","scope":29146,"src":"65833:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65833:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29126,"nodeType":"VariableDeclarationStatement","src":"65833:10:21"},{"assignments":[29128],"declarations":[{"constant":false,"id":29128,"mutability":"mutable","name":"m2","nameLocation":"65861:2:21","nodeType":"VariableDeclaration","scope":29146,"src":"65853:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65853:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29129,"nodeType":"VariableDeclarationStatement","src":"65853:10:21"},{"assignments":[29131],"declarations":[{"constant":false,"id":29131,"mutability":"mutable","name":"m3","nameLocation":"65881:2:21","nodeType":"VariableDeclaration","scope":29146,"src":"65873:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65873:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29132,"nodeType":"VariableDeclarationStatement","src":"65873:10:21"},{"assignments":[29134],"declarations":[{"constant":false,"id":29134,"mutability":"mutable","name":"m4","nameLocation":"65901:2:21","nodeType":"VariableDeclaration","scope":29146,"src":"65893:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65893:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29135,"nodeType":"VariableDeclarationStatement","src":"65893:10:21"},{"assignments":[29137],"declarations":[{"constant":false,"id":29137,"mutability":"mutable","name":"m5","nameLocation":"65921:2:21","nodeType":"VariableDeclaration","scope":29146,"src":"65913:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65913:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29138,"nodeType":"VariableDeclarationStatement","src":"65913:10:21"},{"AST":{"nativeSrc":"65985:764:21","nodeType":"YulBlock","src":"65985:764:21","statements":[{"body":{"nativeSrc":"66028:313:21","nodeType":"YulBlock","src":"66028:313:21","statements":[{"nativeSrc":"66046:15:21","nodeType":"YulVariableDeclaration","src":"66046:15:21","value":{"kind":"number","nativeSrc":"66060:1:21","nodeType":"YulLiteral","src":"66060:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"66050:6:21","nodeType":"YulTypedName","src":"66050:6:21","type":""}]},{"body":{"nativeSrc":"66131:40:21","nodeType":"YulBlock","src":"66131:40:21","statements":[{"body":{"nativeSrc":"66160:9:21","nodeType":"YulBlock","src":"66160:9:21","statements":[{"nativeSrc":"66162:5:21","nodeType":"YulBreak","src":"66162:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"66148:6:21","nodeType":"YulIdentifier","src":"66148:6:21"},{"name":"w","nativeSrc":"66156:1:21","nodeType":"YulIdentifier","src":"66156:1:21"}],"functionName":{"name":"byte","nativeSrc":"66143:4:21","nodeType":"YulIdentifier","src":"66143:4:21"},"nativeSrc":"66143:15:21","nodeType":"YulFunctionCall","src":"66143:15:21"}],"functionName":{"name":"iszero","nativeSrc":"66136:6:21","nodeType":"YulIdentifier","src":"66136:6:21"},"nativeSrc":"66136:23:21","nodeType":"YulFunctionCall","src":"66136:23:21"},"nativeSrc":"66133:36:21","nodeType":"YulIf","src":"66133:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"66088:6:21","nodeType":"YulIdentifier","src":"66088:6:21"},{"kind":"number","nativeSrc":"66096:4:21","nodeType":"YulLiteral","src":"66096:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"66085:2:21","nodeType":"YulIdentifier","src":"66085:2:21"},"nativeSrc":"66085:16:21","nodeType":"YulFunctionCall","src":"66085:16:21"},"nativeSrc":"66078:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"66102:28:21","nodeType":"YulBlock","src":"66102:28:21","statements":[{"nativeSrc":"66104:24:21","nodeType":"YulAssignment","src":"66104:24:21","value":{"arguments":[{"name":"length","nativeSrc":"66118:6:21","nodeType":"YulIdentifier","src":"66118:6:21"},{"kind":"number","nativeSrc":"66126:1:21","nodeType":"YulLiteral","src":"66126:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"66114:3:21","nodeType":"YulIdentifier","src":"66114:3:21"},"nativeSrc":"66114:14:21","nodeType":"YulFunctionCall","src":"66114:14:21"},"variableNames":[{"name":"length","nativeSrc":"66104:6:21","nodeType":"YulIdentifier","src":"66104:6:21"}]}]},"pre":{"nativeSrc":"66082:2:21","nodeType":"YulBlock","src":"66082:2:21","statements":[]},"src":"66078:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"66195:3:21","nodeType":"YulIdentifier","src":"66195:3:21"},{"name":"length","nativeSrc":"66200:6:21","nodeType":"YulIdentifier","src":"66200:6:21"}],"functionName":{"name":"mstore","nativeSrc":"66188:6:21","nodeType":"YulIdentifier","src":"66188:6:21"},"nativeSrc":"66188:19:21","nodeType":"YulFunctionCall","src":"66188:19:21"},"nativeSrc":"66188:19:21","nodeType":"YulExpressionStatement","src":"66188:19:21"},{"nativeSrc":"66224:37:21","nodeType":"YulVariableDeclaration","src":"66224:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"66241:3:21","nodeType":"YulLiteral","src":"66241:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"66250:1:21","nodeType":"YulLiteral","src":"66250:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"66253:6:21","nodeType":"YulIdentifier","src":"66253:6:21"}],"functionName":{"name":"shl","nativeSrc":"66246:3:21","nodeType":"YulIdentifier","src":"66246:3:21"},"nativeSrc":"66246:14:21","nodeType":"YulFunctionCall","src":"66246:14:21"}],"functionName":{"name":"sub","nativeSrc":"66237:3:21","nodeType":"YulIdentifier","src":"66237:3:21"},"nativeSrc":"66237:24:21","nodeType":"YulFunctionCall","src":"66237:24:21"},"variables":[{"name":"shift","nativeSrc":"66228:5:21","nodeType":"YulTypedName","src":"66228:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"66289:3:21","nodeType":"YulIdentifier","src":"66289:3:21"},{"kind":"number","nativeSrc":"66294:4:21","nodeType":"YulLiteral","src":"66294:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"66285:3:21","nodeType":"YulIdentifier","src":"66285:3:21"},"nativeSrc":"66285:14:21","nodeType":"YulFunctionCall","src":"66285:14:21"},{"arguments":[{"name":"shift","nativeSrc":"66305:5:21","nodeType":"YulIdentifier","src":"66305:5:21"},{"arguments":[{"name":"shift","nativeSrc":"66316:5:21","nodeType":"YulIdentifier","src":"66316:5:21"},{"name":"w","nativeSrc":"66323:1:21","nodeType":"YulIdentifier","src":"66323:1:21"}],"functionName":{"name":"shr","nativeSrc":"66312:3:21","nodeType":"YulIdentifier","src":"66312:3:21"},"nativeSrc":"66312:13:21","nodeType":"YulFunctionCall","src":"66312:13:21"}],"functionName":{"name":"shl","nativeSrc":"66301:3:21","nodeType":"YulIdentifier","src":"66301:3:21"},"nativeSrc":"66301:25:21","nodeType":"YulFunctionCall","src":"66301:25:21"}],"functionName":{"name":"mstore","nativeSrc":"66278:6:21","nodeType":"YulIdentifier","src":"66278:6:21"},"nativeSrc":"66278:49:21","nodeType":"YulFunctionCall","src":"66278:49:21"},"nativeSrc":"66278:49:21","nodeType":"YulExpressionStatement","src":"66278:49:21"}]},"name":"writeString","nativeSrc":"65999:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"66020:3:21","nodeType":"YulTypedName","src":"66020:3:21","type":""},{"name":"w","nativeSrc":"66025:1:21","nodeType":"YulTypedName","src":"66025:1:21","type":""}],"src":"65999:342:21"},{"nativeSrc":"66354:17:21","nodeType":"YulAssignment","src":"66354:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"66366:4:21","nodeType":"YulLiteral","src":"66366:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"66360:5:21","nodeType":"YulIdentifier","src":"66360:5:21"},"nativeSrc":"66360:11:21","nodeType":"YulFunctionCall","src":"66360:11:21"},"variableNames":[{"name":"m0","nativeSrc":"66354:2:21","nodeType":"YulIdentifier","src":"66354:2:21"}]},{"nativeSrc":"66384:17:21","nodeType":"YulAssignment","src":"66384:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"66396:4:21","nodeType":"YulLiteral","src":"66396:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"66390:5:21","nodeType":"YulIdentifier","src":"66390:5:21"},"nativeSrc":"66390:11:21","nodeType":"YulFunctionCall","src":"66390:11:21"},"variableNames":[{"name":"m1","nativeSrc":"66384:2:21","nodeType":"YulIdentifier","src":"66384:2:21"}]},{"nativeSrc":"66414:17:21","nodeType":"YulAssignment","src":"66414:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"66426:4:21","nodeType":"YulLiteral","src":"66426:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"66420:5:21","nodeType":"YulIdentifier","src":"66420:5:21"},"nativeSrc":"66420:11:21","nodeType":"YulFunctionCall","src":"66420:11:21"},"variableNames":[{"name":"m2","nativeSrc":"66414:2:21","nodeType":"YulIdentifier","src":"66414:2:21"}]},{"nativeSrc":"66444:17:21","nodeType":"YulAssignment","src":"66444:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"66456:4:21","nodeType":"YulLiteral","src":"66456:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"66450:5:21","nodeType":"YulIdentifier","src":"66450:5:21"},"nativeSrc":"66450:11:21","nodeType":"YulFunctionCall","src":"66450:11:21"},"variableNames":[{"name":"m3","nativeSrc":"66444:2:21","nodeType":"YulIdentifier","src":"66444:2:21"}]},{"nativeSrc":"66474:17:21","nodeType":"YulAssignment","src":"66474:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"66486:4:21","nodeType":"YulLiteral","src":"66486:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"66480:5:21","nodeType":"YulIdentifier","src":"66480:5:21"},"nativeSrc":"66480:11:21","nodeType":"YulFunctionCall","src":"66480:11:21"},"variableNames":[{"name":"m4","nativeSrc":"66474:2:21","nodeType":"YulIdentifier","src":"66474:2:21"}]},{"nativeSrc":"66504:17:21","nodeType":"YulAssignment","src":"66504:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"66516:4:21","nodeType":"YulLiteral","src":"66516:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"66510:5:21","nodeType":"YulIdentifier","src":"66510:5:21"},"nativeSrc":"66510:11:21","nodeType":"YulFunctionCall","src":"66510:11:21"},"variableNames":[{"name":"m5","nativeSrc":"66504:2:21","nodeType":"YulIdentifier","src":"66504:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66599:4:21","nodeType":"YulLiteral","src":"66599:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"66605:10:21","nodeType":"YulLiteral","src":"66605:10:21","type":"","value":"0x37aa7d4c"}],"functionName":{"name":"mstore","nativeSrc":"66592:6:21","nodeType":"YulIdentifier","src":"66592:6:21"},"nativeSrc":"66592:24:21","nodeType":"YulFunctionCall","src":"66592:24:21"},"nativeSrc":"66592:24:21","nodeType":"YulExpressionStatement","src":"66592:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66636:4:21","nodeType":"YulLiteral","src":"66636:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"66642:2:21","nodeType":"YulIdentifier","src":"66642:2:21"}],"functionName":{"name":"mstore","nativeSrc":"66629:6:21","nodeType":"YulIdentifier","src":"66629:6:21"},"nativeSrc":"66629:16:21","nodeType":"YulFunctionCall","src":"66629:16:21"},"nativeSrc":"66629:16:21","nodeType":"YulExpressionStatement","src":"66629:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66665:4:21","nodeType":"YulLiteral","src":"66665:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"66671:4:21","nodeType":"YulLiteral","src":"66671:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"66658:6:21","nodeType":"YulIdentifier","src":"66658:6:21"},"nativeSrc":"66658:18:21","nodeType":"YulFunctionCall","src":"66658:18:21"},"nativeSrc":"66658:18:21","nodeType":"YulExpressionStatement","src":"66658:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66696:4:21","nodeType":"YulLiteral","src":"66696:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"66702:2:21","nodeType":"YulIdentifier","src":"66702:2:21"}],"functionName":{"name":"mstore","nativeSrc":"66689:6:21","nodeType":"YulIdentifier","src":"66689:6:21"},"nativeSrc":"66689:16:21","nodeType":"YulFunctionCall","src":"66689:16:21"},"nativeSrc":"66689:16:21","nodeType":"YulExpressionStatement","src":"66689:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66730:4:21","nodeType":"YulLiteral","src":"66730:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"66736:2:21","nodeType":"YulIdentifier","src":"66736:2:21"}],"functionName":{"name":"writeString","nativeSrc":"66718:11:21","nodeType":"YulIdentifier","src":"66718:11:21"},"nativeSrc":"66718:21:21","nodeType":"YulFunctionCall","src":"66718:21:21"},"nativeSrc":"66718:21:21","nodeType":"YulExpressionStatement","src":"66718:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29122,"isOffset":false,"isSlot":false,"src":"66354:2:21","valueSize":1},{"declaration":29125,"isOffset":false,"isSlot":false,"src":"66384:2:21","valueSize":1},{"declaration":29128,"isOffset":false,"isSlot":false,"src":"66414:2:21","valueSize":1},{"declaration":29131,"isOffset":false,"isSlot":false,"src":"66444:2:21","valueSize":1},{"declaration":29134,"isOffset":false,"isSlot":false,"src":"66474:2:21","valueSize":1},{"declaration":29137,"isOffset":false,"isSlot":false,"src":"66504:2:21","valueSize":1},{"declaration":29114,"isOffset":false,"isSlot":false,"src":"66642:2:21","valueSize":1},{"declaration":29116,"isOffset":false,"isSlot":false,"src":"66736:2:21","valueSize":1},{"declaration":29118,"isOffset":false,"isSlot":false,"src":"66702:2:21","valueSize":1}],"id":29139,"nodeType":"InlineAssembly","src":"65976:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"66774:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"66780:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29140,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"66758:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66758:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29144,"nodeType":"ExpressionStatement","src":"66758:27:21"},{"AST":{"nativeSrc":"66847:185:21","nodeType":"YulBlock","src":"66847:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"66868:4:21","nodeType":"YulLiteral","src":"66868:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"66874:2:21","nodeType":"YulIdentifier","src":"66874:2:21"}],"functionName":{"name":"mstore","nativeSrc":"66861:6:21","nodeType":"YulIdentifier","src":"66861:6:21"},"nativeSrc":"66861:16:21","nodeType":"YulFunctionCall","src":"66861:16:21"},"nativeSrc":"66861:16:21","nodeType":"YulExpressionStatement","src":"66861:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66897:4:21","nodeType":"YulLiteral","src":"66897:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"66903:2:21","nodeType":"YulIdentifier","src":"66903:2:21"}],"functionName":{"name":"mstore","nativeSrc":"66890:6:21","nodeType":"YulIdentifier","src":"66890:6:21"},"nativeSrc":"66890:16:21","nodeType":"YulFunctionCall","src":"66890:16:21"},"nativeSrc":"66890:16:21","nodeType":"YulExpressionStatement","src":"66890:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66926:4:21","nodeType":"YulLiteral","src":"66926:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"66932:2:21","nodeType":"YulIdentifier","src":"66932:2:21"}],"functionName":{"name":"mstore","nativeSrc":"66919:6:21","nodeType":"YulIdentifier","src":"66919:6:21"},"nativeSrc":"66919:16:21","nodeType":"YulFunctionCall","src":"66919:16:21"},"nativeSrc":"66919:16:21","nodeType":"YulExpressionStatement","src":"66919:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66955:4:21","nodeType":"YulLiteral","src":"66955:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"66961:2:21","nodeType":"YulIdentifier","src":"66961:2:21"}],"functionName":{"name":"mstore","nativeSrc":"66948:6:21","nodeType":"YulIdentifier","src":"66948:6:21"},"nativeSrc":"66948:16:21","nodeType":"YulFunctionCall","src":"66948:16:21"},"nativeSrc":"66948:16:21","nodeType":"YulExpressionStatement","src":"66948:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66984:4:21","nodeType":"YulLiteral","src":"66984:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"66990:2:21","nodeType":"YulIdentifier","src":"66990:2:21"}],"functionName":{"name":"mstore","nativeSrc":"66977:6:21","nodeType":"YulIdentifier","src":"66977:6:21"},"nativeSrc":"66977:16:21","nodeType":"YulFunctionCall","src":"66977:16:21"},"nativeSrc":"66977:16:21","nodeType":"YulExpressionStatement","src":"66977:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"67013:4:21","nodeType":"YulLiteral","src":"67013:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"67019:2:21","nodeType":"YulIdentifier","src":"67019:2:21"}],"functionName":{"name":"mstore","nativeSrc":"67006:6:21","nodeType":"YulIdentifier","src":"67006:6:21"},"nativeSrc":"67006:16:21","nodeType":"YulFunctionCall","src":"67006:16:21"},"nativeSrc":"67006:16:21","nodeType":"YulExpressionStatement","src":"67006:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29122,"isOffset":false,"isSlot":false,"src":"66874:2:21","valueSize":1},{"declaration":29125,"isOffset":false,"isSlot":false,"src":"66903:2:21","valueSize":1},{"declaration":29128,"isOffset":false,"isSlot":false,"src":"66932:2:21","valueSize":1},{"declaration":29131,"isOffset":false,"isSlot":false,"src":"66961:2:21","valueSize":1},{"declaration":29134,"isOffset":false,"isSlot":false,"src":"66990:2:21","valueSize":1},{"declaration":29137,"isOffset":false,"isSlot":false,"src":"67019:2:21","valueSize":1}],"id":29145,"nodeType":"InlineAssembly","src":"66838:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65749:3:21","parameters":{"id":29119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29114,"mutability":"mutable","name":"p0","nameLocation":"65761:2:21","nodeType":"VariableDeclaration","scope":29147,"src":"65753:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29113,"name":"uint256","nodeType":"ElementaryTypeName","src":"65753:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29116,"mutability":"mutable","name":"p1","nameLocation":"65773:2:21","nodeType":"VariableDeclaration","scope":29147,"src":"65765:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65765:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29118,"mutability":"mutable","name":"p2","nameLocation":"65785:2:21","nodeType":"VariableDeclaration","scope":29147,"src":"65777:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29117,"name":"uint256","nodeType":"ElementaryTypeName","src":"65777:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65752:36:21"},"returnParameters":{"id":29120,"nodeType":"ParameterList","parameters":[],"src":"65803:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29188,"nodeType":"FunctionDefinition","src":"67044:1491:21","nodes":[],"body":{"id":29187,"nodeType":"Block","src":"67107:1428:21","nodes":[],"statements":[{"assignments":[29157],"declarations":[{"constant":false,"id":29157,"mutability":"mutable","name":"m0","nameLocation":"67125:2:21","nodeType":"VariableDeclaration","scope":29187,"src":"67117:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67117:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29158,"nodeType":"VariableDeclarationStatement","src":"67117:10:21"},{"assignments":[29160],"declarations":[{"constant":false,"id":29160,"mutability":"mutable","name":"m1","nameLocation":"67145:2:21","nodeType":"VariableDeclaration","scope":29187,"src":"67137:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67137:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29161,"nodeType":"VariableDeclarationStatement","src":"67137:10:21"},{"assignments":[29163],"declarations":[{"constant":false,"id":29163,"mutability":"mutable","name":"m2","nameLocation":"67165:2:21","nodeType":"VariableDeclaration","scope":29187,"src":"67157:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67157:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29164,"nodeType":"VariableDeclarationStatement","src":"67157:10:21"},{"assignments":[29166],"declarations":[{"constant":false,"id":29166,"mutability":"mutable","name":"m3","nameLocation":"67185:2:21","nodeType":"VariableDeclaration","scope":29187,"src":"67177:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67177:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29167,"nodeType":"VariableDeclarationStatement","src":"67177:10:21"},{"assignments":[29169],"declarations":[{"constant":false,"id":29169,"mutability":"mutable","name":"m4","nameLocation":"67205:2:21","nodeType":"VariableDeclaration","scope":29187,"src":"67197:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67197:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29170,"nodeType":"VariableDeclarationStatement","src":"67197:10:21"},{"assignments":[29172],"declarations":[{"constant":false,"id":29172,"mutability":"mutable","name":"m5","nameLocation":"67225:2:21","nodeType":"VariableDeclaration","scope":29187,"src":"67217:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67217:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29173,"nodeType":"VariableDeclarationStatement","src":"67217:10:21"},{"assignments":[29175],"declarations":[{"constant":false,"id":29175,"mutability":"mutable","name":"m6","nameLocation":"67245:2:21","nodeType":"VariableDeclaration","scope":29187,"src":"67237:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67237:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29176,"nodeType":"VariableDeclarationStatement","src":"67237:10:21"},{"assignments":[29178],"declarations":[{"constant":false,"id":29178,"mutability":"mutable","name":"m7","nameLocation":"67265:2:21","nodeType":"VariableDeclaration","scope":29187,"src":"67257:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67257:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29179,"nodeType":"VariableDeclarationStatement","src":"67257:10:21"},{"AST":{"nativeSrc":"67329:859:21","nodeType":"YulBlock","src":"67329:859:21","statements":[{"body":{"nativeSrc":"67372:313:21","nodeType":"YulBlock","src":"67372:313:21","statements":[{"nativeSrc":"67390:15:21","nodeType":"YulVariableDeclaration","src":"67390:15:21","value":{"kind":"number","nativeSrc":"67404:1:21","nodeType":"YulLiteral","src":"67404:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"67394:6:21","nodeType":"YulTypedName","src":"67394:6:21","type":""}]},{"body":{"nativeSrc":"67475:40:21","nodeType":"YulBlock","src":"67475:40:21","statements":[{"body":{"nativeSrc":"67504:9:21","nodeType":"YulBlock","src":"67504:9:21","statements":[{"nativeSrc":"67506:5:21","nodeType":"YulBreak","src":"67506:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"67492:6:21","nodeType":"YulIdentifier","src":"67492:6:21"},{"name":"w","nativeSrc":"67500:1:21","nodeType":"YulIdentifier","src":"67500:1:21"}],"functionName":{"name":"byte","nativeSrc":"67487:4:21","nodeType":"YulIdentifier","src":"67487:4:21"},"nativeSrc":"67487:15:21","nodeType":"YulFunctionCall","src":"67487:15:21"}],"functionName":{"name":"iszero","nativeSrc":"67480:6:21","nodeType":"YulIdentifier","src":"67480:6:21"},"nativeSrc":"67480:23:21","nodeType":"YulFunctionCall","src":"67480:23:21"},"nativeSrc":"67477:36:21","nodeType":"YulIf","src":"67477:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"67432:6:21","nodeType":"YulIdentifier","src":"67432:6:21"},{"kind":"number","nativeSrc":"67440:4:21","nodeType":"YulLiteral","src":"67440:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"67429:2:21","nodeType":"YulIdentifier","src":"67429:2:21"},"nativeSrc":"67429:16:21","nodeType":"YulFunctionCall","src":"67429:16:21"},"nativeSrc":"67422:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"67446:28:21","nodeType":"YulBlock","src":"67446:28:21","statements":[{"nativeSrc":"67448:24:21","nodeType":"YulAssignment","src":"67448:24:21","value":{"arguments":[{"name":"length","nativeSrc":"67462:6:21","nodeType":"YulIdentifier","src":"67462:6:21"},{"kind":"number","nativeSrc":"67470:1:21","nodeType":"YulLiteral","src":"67470:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"67458:3:21","nodeType":"YulIdentifier","src":"67458:3:21"},"nativeSrc":"67458:14:21","nodeType":"YulFunctionCall","src":"67458:14:21"},"variableNames":[{"name":"length","nativeSrc":"67448:6:21","nodeType":"YulIdentifier","src":"67448:6:21"}]}]},"pre":{"nativeSrc":"67426:2:21","nodeType":"YulBlock","src":"67426:2:21","statements":[]},"src":"67422:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"67539:3:21","nodeType":"YulIdentifier","src":"67539:3:21"},{"name":"length","nativeSrc":"67544:6:21","nodeType":"YulIdentifier","src":"67544:6:21"}],"functionName":{"name":"mstore","nativeSrc":"67532:6:21","nodeType":"YulIdentifier","src":"67532:6:21"},"nativeSrc":"67532:19:21","nodeType":"YulFunctionCall","src":"67532:19:21"},"nativeSrc":"67532:19:21","nodeType":"YulExpressionStatement","src":"67532:19:21"},{"nativeSrc":"67568:37:21","nodeType":"YulVariableDeclaration","src":"67568:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"67585:3:21","nodeType":"YulLiteral","src":"67585:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"67594:1:21","nodeType":"YulLiteral","src":"67594:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"67597:6:21","nodeType":"YulIdentifier","src":"67597:6:21"}],"functionName":{"name":"shl","nativeSrc":"67590:3:21","nodeType":"YulIdentifier","src":"67590:3:21"},"nativeSrc":"67590:14:21","nodeType":"YulFunctionCall","src":"67590:14:21"}],"functionName":{"name":"sub","nativeSrc":"67581:3:21","nodeType":"YulIdentifier","src":"67581:3:21"},"nativeSrc":"67581:24:21","nodeType":"YulFunctionCall","src":"67581:24:21"},"variables":[{"name":"shift","nativeSrc":"67572:5:21","nodeType":"YulTypedName","src":"67572:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"67633:3:21","nodeType":"YulIdentifier","src":"67633:3:21"},{"kind":"number","nativeSrc":"67638:4:21","nodeType":"YulLiteral","src":"67638:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"67629:3:21","nodeType":"YulIdentifier","src":"67629:3:21"},"nativeSrc":"67629:14:21","nodeType":"YulFunctionCall","src":"67629:14:21"},{"arguments":[{"name":"shift","nativeSrc":"67649:5:21","nodeType":"YulIdentifier","src":"67649:5:21"},{"arguments":[{"name":"shift","nativeSrc":"67660:5:21","nodeType":"YulIdentifier","src":"67660:5:21"},{"name":"w","nativeSrc":"67667:1:21","nodeType":"YulIdentifier","src":"67667:1:21"}],"functionName":{"name":"shr","nativeSrc":"67656:3:21","nodeType":"YulIdentifier","src":"67656:3:21"},"nativeSrc":"67656:13:21","nodeType":"YulFunctionCall","src":"67656:13:21"}],"functionName":{"name":"shl","nativeSrc":"67645:3:21","nodeType":"YulIdentifier","src":"67645:3:21"},"nativeSrc":"67645:25:21","nodeType":"YulFunctionCall","src":"67645:25:21"}],"functionName":{"name":"mstore","nativeSrc":"67622:6:21","nodeType":"YulIdentifier","src":"67622:6:21"},"nativeSrc":"67622:49:21","nodeType":"YulFunctionCall","src":"67622:49:21"},"nativeSrc":"67622:49:21","nodeType":"YulExpressionStatement","src":"67622:49:21"}]},"name":"writeString","nativeSrc":"67343:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"67364:3:21","nodeType":"YulTypedName","src":"67364:3:21","type":""},{"name":"w","nativeSrc":"67369:1:21","nodeType":"YulTypedName","src":"67369:1:21","type":""}],"src":"67343:342:21"},{"nativeSrc":"67698:17:21","nodeType":"YulAssignment","src":"67698:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"67710:4:21","nodeType":"YulLiteral","src":"67710:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"67704:5:21","nodeType":"YulIdentifier","src":"67704:5:21"},"nativeSrc":"67704:11:21","nodeType":"YulFunctionCall","src":"67704:11:21"},"variableNames":[{"name":"m0","nativeSrc":"67698:2:21","nodeType":"YulIdentifier","src":"67698:2:21"}]},{"nativeSrc":"67728:17:21","nodeType":"YulAssignment","src":"67728:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"67740:4:21","nodeType":"YulLiteral","src":"67740:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"67734:5:21","nodeType":"YulIdentifier","src":"67734:5:21"},"nativeSrc":"67734:11:21","nodeType":"YulFunctionCall","src":"67734:11:21"},"variableNames":[{"name":"m1","nativeSrc":"67728:2:21","nodeType":"YulIdentifier","src":"67728:2:21"}]},{"nativeSrc":"67758:17:21","nodeType":"YulAssignment","src":"67758:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"67770:4:21","nodeType":"YulLiteral","src":"67770:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"67764:5:21","nodeType":"YulIdentifier","src":"67764:5:21"},"nativeSrc":"67764:11:21","nodeType":"YulFunctionCall","src":"67764:11:21"},"variableNames":[{"name":"m2","nativeSrc":"67758:2:21","nodeType":"YulIdentifier","src":"67758:2:21"}]},{"nativeSrc":"67788:17:21","nodeType":"YulAssignment","src":"67788:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"67800:4:21","nodeType":"YulLiteral","src":"67800:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"67794:5:21","nodeType":"YulIdentifier","src":"67794:5:21"},"nativeSrc":"67794:11:21","nodeType":"YulFunctionCall","src":"67794:11:21"},"variableNames":[{"name":"m3","nativeSrc":"67788:2:21","nodeType":"YulIdentifier","src":"67788:2:21"}]},{"nativeSrc":"67818:17:21","nodeType":"YulAssignment","src":"67818:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"67830:4:21","nodeType":"YulLiteral","src":"67830:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"67824:5:21","nodeType":"YulIdentifier","src":"67824:5:21"},"nativeSrc":"67824:11:21","nodeType":"YulFunctionCall","src":"67824:11:21"},"variableNames":[{"name":"m4","nativeSrc":"67818:2:21","nodeType":"YulIdentifier","src":"67818:2:21"}]},{"nativeSrc":"67848:17:21","nodeType":"YulAssignment","src":"67848:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"67860:4:21","nodeType":"YulLiteral","src":"67860:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"67854:5:21","nodeType":"YulIdentifier","src":"67854:5:21"},"nativeSrc":"67854:11:21","nodeType":"YulFunctionCall","src":"67854:11:21"},"variableNames":[{"name":"m5","nativeSrc":"67848:2:21","nodeType":"YulIdentifier","src":"67848:2:21"}]},{"nativeSrc":"67878:17:21","nodeType":"YulAssignment","src":"67878:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"67890:4:21","nodeType":"YulLiteral","src":"67890:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"67884:5:21","nodeType":"YulIdentifier","src":"67884:5:21"},"nativeSrc":"67884:11:21","nodeType":"YulFunctionCall","src":"67884:11:21"},"variableNames":[{"name":"m6","nativeSrc":"67878:2:21","nodeType":"YulIdentifier","src":"67878:2:21"}]},{"nativeSrc":"67908:17:21","nodeType":"YulAssignment","src":"67908:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"67920:4:21","nodeType":"YulLiteral","src":"67920:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"67914:5:21","nodeType":"YulIdentifier","src":"67914:5:21"},"nativeSrc":"67914:11:21","nodeType":"YulFunctionCall","src":"67914:11:21"},"variableNames":[{"name":"m7","nativeSrc":"67908:2:21","nodeType":"YulIdentifier","src":"67908:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68002:4:21","nodeType":"YulLiteral","src":"68002:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"68008:10:21","nodeType":"YulLiteral","src":"68008:10:21","type":"","value":"0xb115611f"}],"functionName":{"name":"mstore","nativeSrc":"67995:6:21","nodeType":"YulIdentifier","src":"67995:6:21"},"nativeSrc":"67995:24:21","nodeType":"YulFunctionCall","src":"67995:24:21"},"nativeSrc":"67995:24:21","nodeType":"YulExpressionStatement","src":"67995:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68039:4:21","nodeType":"YulLiteral","src":"68039:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"68045:2:21","nodeType":"YulIdentifier","src":"68045:2:21"}],"functionName":{"name":"mstore","nativeSrc":"68032:6:21","nodeType":"YulIdentifier","src":"68032:6:21"},"nativeSrc":"68032:16:21","nodeType":"YulFunctionCall","src":"68032:16:21"},"nativeSrc":"68032:16:21","nodeType":"YulExpressionStatement","src":"68032:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68068:4:21","nodeType":"YulLiteral","src":"68068:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"68074:4:21","nodeType":"YulLiteral","src":"68074:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"68061:6:21","nodeType":"YulIdentifier","src":"68061:6:21"},"nativeSrc":"68061:18:21","nodeType":"YulFunctionCall","src":"68061:18:21"},"nativeSrc":"68061:18:21","nodeType":"YulExpressionStatement","src":"68061:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68099:4:21","nodeType":"YulLiteral","src":"68099:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"68105:4:21","nodeType":"YulLiteral","src":"68105:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"68092:6:21","nodeType":"YulIdentifier","src":"68092:6:21"},"nativeSrc":"68092:18:21","nodeType":"YulFunctionCall","src":"68092:18:21"},"nativeSrc":"68092:18:21","nodeType":"YulExpressionStatement","src":"68092:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68135:4:21","nodeType":"YulLiteral","src":"68135:4:21","type":"","value":"0x80"},{"name":"p1","nativeSrc":"68141:2:21","nodeType":"YulIdentifier","src":"68141:2:21"}],"functionName":{"name":"writeString","nativeSrc":"68123:11:21","nodeType":"YulIdentifier","src":"68123:11:21"},"nativeSrc":"68123:21:21","nodeType":"YulFunctionCall","src":"68123:21:21"},"nativeSrc":"68123:21:21","nodeType":"YulExpressionStatement","src":"68123:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68169:4:21","nodeType":"YulLiteral","src":"68169:4:21","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"68175:2:21","nodeType":"YulIdentifier","src":"68175:2:21"}],"functionName":{"name":"writeString","nativeSrc":"68157:11:21","nodeType":"YulIdentifier","src":"68157:11:21"},"nativeSrc":"68157:21:21","nodeType":"YulFunctionCall","src":"68157:21:21"},"nativeSrc":"68157:21:21","nodeType":"YulExpressionStatement","src":"68157:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29157,"isOffset":false,"isSlot":false,"src":"67698:2:21","valueSize":1},{"declaration":29160,"isOffset":false,"isSlot":false,"src":"67728:2:21","valueSize":1},{"declaration":29163,"isOffset":false,"isSlot":false,"src":"67758:2:21","valueSize":1},{"declaration":29166,"isOffset":false,"isSlot":false,"src":"67788:2:21","valueSize":1},{"declaration":29169,"isOffset":false,"isSlot":false,"src":"67818:2:21","valueSize":1},{"declaration":29172,"isOffset":false,"isSlot":false,"src":"67848:2:21","valueSize":1},{"declaration":29175,"isOffset":false,"isSlot":false,"src":"67878:2:21","valueSize":1},{"declaration":29178,"isOffset":false,"isSlot":false,"src":"67908:2:21","valueSize":1},{"declaration":29149,"isOffset":false,"isSlot":false,"src":"68045:2:21","valueSize":1},{"declaration":29151,"isOffset":false,"isSlot":false,"src":"68141:2:21","valueSize":1},{"declaration":29153,"isOffset":false,"isSlot":false,"src":"68175:2:21","valueSize":1}],"id":29180,"nodeType":"InlineAssembly","src":"67320:868:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68213:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":29183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68219:4:21","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":29181,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"68197:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68197:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29185,"nodeType":"ExpressionStatement","src":"68197:27:21"},{"AST":{"nativeSrc":"68286:243:21","nodeType":"YulBlock","src":"68286:243:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"68307:4:21","nodeType":"YulLiteral","src":"68307:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"68313:2:21","nodeType":"YulIdentifier","src":"68313:2:21"}],"functionName":{"name":"mstore","nativeSrc":"68300:6:21","nodeType":"YulIdentifier","src":"68300:6:21"},"nativeSrc":"68300:16:21","nodeType":"YulFunctionCall","src":"68300:16:21"},"nativeSrc":"68300:16:21","nodeType":"YulExpressionStatement","src":"68300:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68336:4:21","nodeType":"YulLiteral","src":"68336:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"68342:2:21","nodeType":"YulIdentifier","src":"68342:2:21"}],"functionName":{"name":"mstore","nativeSrc":"68329:6:21","nodeType":"YulIdentifier","src":"68329:6:21"},"nativeSrc":"68329:16:21","nodeType":"YulFunctionCall","src":"68329:16:21"},"nativeSrc":"68329:16:21","nodeType":"YulExpressionStatement","src":"68329:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68365:4:21","nodeType":"YulLiteral","src":"68365:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"68371:2:21","nodeType":"YulIdentifier","src":"68371:2:21"}],"functionName":{"name":"mstore","nativeSrc":"68358:6:21","nodeType":"YulIdentifier","src":"68358:6:21"},"nativeSrc":"68358:16:21","nodeType":"YulFunctionCall","src":"68358:16:21"},"nativeSrc":"68358:16:21","nodeType":"YulExpressionStatement","src":"68358:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68394:4:21","nodeType":"YulLiteral","src":"68394:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"68400:2:21","nodeType":"YulIdentifier","src":"68400:2:21"}],"functionName":{"name":"mstore","nativeSrc":"68387:6:21","nodeType":"YulIdentifier","src":"68387:6:21"},"nativeSrc":"68387:16:21","nodeType":"YulFunctionCall","src":"68387:16:21"},"nativeSrc":"68387:16:21","nodeType":"YulExpressionStatement","src":"68387:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68423:4:21","nodeType":"YulLiteral","src":"68423:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"68429:2:21","nodeType":"YulIdentifier","src":"68429:2:21"}],"functionName":{"name":"mstore","nativeSrc":"68416:6:21","nodeType":"YulIdentifier","src":"68416:6:21"},"nativeSrc":"68416:16:21","nodeType":"YulFunctionCall","src":"68416:16:21"},"nativeSrc":"68416:16:21","nodeType":"YulExpressionStatement","src":"68416:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68452:4:21","nodeType":"YulLiteral","src":"68452:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"68458:2:21","nodeType":"YulIdentifier","src":"68458:2:21"}],"functionName":{"name":"mstore","nativeSrc":"68445:6:21","nodeType":"YulIdentifier","src":"68445:6:21"},"nativeSrc":"68445:16:21","nodeType":"YulFunctionCall","src":"68445:16:21"},"nativeSrc":"68445:16:21","nodeType":"YulExpressionStatement","src":"68445:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68481:4:21","nodeType":"YulLiteral","src":"68481:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"68487:2:21","nodeType":"YulIdentifier","src":"68487:2:21"}],"functionName":{"name":"mstore","nativeSrc":"68474:6:21","nodeType":"YulIdentifier","src":"68474:6:21"},"nativeSrc":"68474:16:21","nodeType":"YulFunctionCall","src":"68474:16:21"},"nativeSrc":"68474:16:21","nodeType":"YulExpressionStatement","src":"68474:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68510:4:21","nodeType":"YulLiteral","src":"68510:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"68516:2:21","nodeType":"YulIdentifier","src":"68516:2:21"}],"functionName":{"name":"mstore","nativeSrc":"68503:6:21","nodeType":"YulIdentifier","src":"68503:6:21"},"nativeSrc":"68503:16:21","nodeType":"YulFunctionCall","src":"68503:16:21"},"nativeSrc":"68503:16:21","nodeType":"YulExpressionStatement","src":"68503:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29157,"isOffset":false,"isSlot":false,"src":"68313:2:21","valueSize":1},{"declaration":29160,"isOffset":false,"isSlot":false,"src":"68342:2:21","valueSize":1},{"declaration":29163,"isOffset":false,"isSlot":false,"src":"68371:2:21","valueSize":1},{"declaration":29166,"isOffset":false,"isSlot":false,"src":"68400:2:21","valueSize":1},{"declaration":29169,"isOffset":false,"isSlot":false,"src":"68429:2:21","valueSize":1},{"declaration":29172,"isOffset":false,"isSlot":false,"src":"68458:2:21","valueSize":1},{"declaration":29175,"isOffset":false,"isSlot":false,"src":"68487:2:21","valueSize":1},{"declaration":29178,"isOffset":false,"isSlot":false,"src":"68516:2:21","valueSize":1}],"id":29186,"nodeType":"InlineAssembly","src":"68277:252:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67053:3:21","parameters":{"id":29154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29149,"mutability":"mutable","name":"p0","nameLocation":"67065:2:21","nodeType":"VariableDeclaration","scope":29188,"src":"67057:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29148,"name":"uint256","nodeType":"ElementaryTypeName","src":"67057:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29151,"mutability":"mutable","name":"p1","nameLocation":"67077:2:21","nodeType":"VariableDeclaration","scope":29188,"src":"67069:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67069:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29153,"mutability":"mutable","name":"p2","nameLocation":"67089:2:21","nodeType":"VariableDeclaration","scope":29188,"src":"67081:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67081:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"67056:36:21"},"returnParameters":{"id":29155,"nodeType":"ParameterList","parameters":[],"src":"67107:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29223,"nodeType":"FunctionDefinition","src":"68541:1298:21","nodes":[],"body":{"id":29222,"nodeType":"Block","src":"68604:1235:21","nodes":[],"statements":[{"assignments":[29198],"declarations":[{"constant":false,"id":29198,"mutability":"mutable","name":"m0","nameLocation":"68622:2:21","nodeType":"VariableDeclaration","scope":29222,"src":"68614:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68614:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29199,"nodeType":"VariableDeclarationStatement","src":"68614:10:21"},{"assignments":[29201],"declarations":[{"constant":false,"id":29201,"mutability":"mutable","name":"m1","nameLocation":"68642:2:21","nodeType":"VariableDeclaration","scope":29222,"src":"68634:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68634:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29202,"nodeType":"VariableDeclarationStatement","src":"68634:10:21"},{"assignments":[29204],"declarations":[{"constant":false,"id":29204,"mutability":"mutable","name":"m2","nameLocation":"68662:2:21","nodeType":"VariableDeclaration","scope":29222,"src":"68654:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29203,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68654:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29205,"nodeType":"VariableDeclarationStatement","src":"68654:10:21"},{"assignments":[29207],"declarations":[{"constant":false,"id":29207,"mutability":"mutable","name":"m3","nameLocation":"68682:2:21","nodeType":"VariableDeclaration","scope":29222,"src":"68674:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68674:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29208,"nodeType":"VariableDeclarationStatement","src":"68674:10:21"},{"assignments":[29210],"declarations":[{"constant":false,"id":29210,"mutability":"mutable","name":"m4","nameLocation":"68702:2:21","nodeType":"VariableDeclaration","scope":29222,"src":"68694:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68694:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29211,"nodeType":"VariableDeclarationStatement","src":"68694:10:21"},{"assignments":[29213],"declarations":[{"constant":false,"id":29213,"mutability":"mutable","name":"m5","nameLocation":"68722:2:21","nodeType":"VariableDeclaration","scope":29222,"src":"68714:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68714:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29214,"nodeType":"VariableDeclarationStatement","src":"68714:10:21"},{"AST":{"nativeSrc":"68786:764:21","nodeType":"YulBlock","src":"68786:764:21","statements":[{"body":{"nativeSrc":"68829:313:21","nodeType":"YulBlock","src":"68829:313:21","statements":[{"nativeSrc":"68847:15:21","nodeType":"YulVariableDeclaration","src":"68847:15:21","value":{"kind":"number","nativeSrc":"68861:1:21","nodeType":"YulLiteral","src":"68861:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"68851:6:21","nodeType":"YulTypedName","src":"68851:6:21","type":""}]},{"body":{"nativeSrc":"68932:40:21","nodeType":"YulBlock","src":"68932:40:21","statements":[{"body":{"nativeSrc":"68961:9:21","nodeType":"YulBlock","src":"68961:9:21","statements":[{"nativeSrc":"68963:5:21","nodeType":"YulBreak","src":"68963:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"68949:6:21","nodeType":"YulIdentifier","src":"68949:6:21"},{"name":"w","nativeSrc":"68957:1:21","nodeType":"YulIdentifier","src":"68957:1:21"}],"functionName":{"name":"byte","nativeSrc":"68944:4:21","nodeType":"YulIdentifier","src":"68944:4:21"},"nativeSrc":"68944:15:21","nodeType":"YulFunctionCall","src":"68944:15:21"}],"functionName":{"name":"iszero","nativeSrc":"68937:6:21","nodeType":"YulIdentifier","src":"68937:6:21"},"nativeSrc":"68937:23:21","nodeType":"YulFunctionCall","src":"68937:23:21"},"nativeSrc":"68934:36:21","nodeType":"YulIf","src":"68934:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"68889:6:21","nodeType":"YulIdentifier","src":"68889:6:21"},{"kind":"number","nativeSrc":"68897:4:21","nodeType":"YulLiteral","src":"68897:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"68886:2:21","nodeType":"YulIdentifier","src":"68886:2:21"},"nativeSrc":"68886:16:21","nodeType":"YulFunctionCall","src":"68886:16:21"},"nativeSrc":"68879:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"68903:28:21","nodeType":"YulBlock","src":"68903:28:21","statements":[{"nativeSrc":"68905:24:21","nodeType":"YulAssignment","src":"68905:24:21","value":{"arguments":[{"name":"length","nativeSrc":"68919:6:21","nodeType":"YulIdentifier","src":"68919:6:21"},{"kind":"number","nativeSrc":"68927:1:21","nodeType":"YulLiteral","src":"68927:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"68915:3:21","nodeType":"YulIdentifier","src":"68915:3:21"},"nativeSrc":"68915:14:21","nodeType":"YulFunctionCall","src":"68915:14:21"},"variableNames":[{"name":"length","nativeSrc":"68905:6:21","nodeType":"YulIdentifier","src":"68905:6:21"}]}]},"pre":{"nativeSrc":"68883:2:21","nodeType":"YulBlock","src":"68883:2:21","statements":[]},"src":"68879:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"68996:3:21","nodeType":"YulIdentifier","src":"68996:3:21"},{"name":"length","nativeSrc":"69001:6:21","nodeType":"YulIdentifier","src":"69001:6:21"}],"functionName":{"name":"mstore","nativeSrc":"68989:6:21","nodeType":"YulIdentifier","src":"68989:6:21"},"nativeSrc":"68989:19:21","nodeType":"YulFunctionCall","src":"68989:19:21"},"nativeSrc":"68989:19:21","nodeType":"YulExpressionStatement","src":"68989:19:21"},{"nativeSrc":"69025:37:21","nodeType":"YulVariableDeclaration","src":"69025:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"69042:3:21","nodeType":"YulLiteral","src":"69042:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"69051:1:21","nodeType":"YulLiteral","src":"69051:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"69054:6:21","nodeType":"YulIdentifier","src":"69054:6:21"}],"functionName":{"name":"shl","nativeSrc":"69047:3:21","nodeType":"YulIdentifier","src":"69047:3:21"},"nativeSrc":"69047:14:21","nodeType":"YulFunctionCall","src":"69047:14:21"}],"functionName":{"name":"sub","nativeSrc":"69038:3:21","nodeType":"YulIdentifier","src":"69038:3:21"},"nativeSrc":"69038:24:21","nodeType":"YulFunctionCall","src":"69038:24:21"},"variables":[{"name":"shift","nativeSrc":"69029:5:21","nodeType":"YulTypedName","src":"69029:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"69090:3:21","nodeType":"YulIdentifier","src":"69090:3:21"},{"kind":"number","nativeSrc":"69095:4:21","nodeType":"YulLiteral","src":"69095:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"69086:3:21","nodeType":"YulIdentifier","src":"69086:3:21"},"nativeSrc":"69086:14:21","nodeType":"YulFunctionCall","src":"69086:14:21"},{"arguments":[{"name":"shift","nativeSrc":"69106:5:21","nodeType":"YulIdentifier","src":"69106:5:21"},{"arguments":[{"name":"shift","nativeSrc":"69117:5:21","nodeType":"YulIdentifier","src":"69117:5:21"},{"name":"w","nativeSrc":"69124:1:21","nodeType":"YulIdentifier","src":"69124:1:21"}],"functionName":{"name":"shr","nativeSrc":"69113:3:21","nodeType":"YulIdentifier","src":"69113:3:21"},"nativeSrc":"69113:13:21","nodeType":"YulFunctionCall","src":"69113:13:21"}],"functionName":{"name":"shl","nativeSrc":"69102:3:21","nodeType":"YulIdentifier","src":"69102:3:21"},"nativeSrc":"69102:25:21","nodeType":"YulFunctionCall","src":"69102:25:21"}],"functionName":{"name":"mstore","nativeSrc":"69079:6:21","nodeType":"YulIdentifier","src":"69079:6:21"},"nativeSrc":"69079:49:21","nodeType":"YulFunctionCall","src":"69079:49:21"},"nativeSrc":"69079:49:21","nodeType":"YulExpressionStatement","src":"69079:49:21"}]},"name":"writeString","nativeSrc":"68800:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"68821:3:21","nodeType":"YulTypedName","src":"68821:3:21","type":""},{"name":"w","nativeSrc":"68826:1:21","nodeType":"YulTypedName","src":"68826:1:21","type":""}],"src":"68800:342:21"},{"nativeSrc":"69155:17:21","nodeType":"YulAssignment","src":"69155:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"69167:4:21","nodeType":"YulLiteral","src":"69167:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"69161:5:21","nodeType":"YulIdentifier","src":"69161:5:21"},"nativeSrc":"69161:11:21","nodeType":"YulFunctionCall","src":"69161:11:21"},"variableNames":[{"name":"m0","nativeSrc":"69155:2:21","nodeType":"YulIdentifier","src":"69155:2:21"}]},{"nativeSrc":"69185:17:21","nodeType":"YulAssignment","src":"69185:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"69197:4:21","nodeType":"YulLiteral","src":"69197:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"69191:5:21","nodeType":"YulIdentifier","src":"69191:5:21"},"nativeSrc":"69191:11:21","nodeType":"YulFunctionCall","src":"69191:11:21"},"variableNames":[{"name":"m1","nativeSrc":"69185:2:21","nodeType":"YulIdentifier","src":"69185:2:21"}]},{"nativeSrc":"69215:17:21","nodeType":"YulAssignment","src":"69215:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"69227:4:21","nodeType":"YulLiteral","src":"69227:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"69221:5:21","nodeType":"YulIdentifier","src":"69221:5:21"},"nativeSrc":"69221:11:21","nodeType":"YulFunctionCall","src":"69221:11:21"},"variableNames":[{"name":"m2","nativeSrc":"69215:2:21","nodeType":"YulIdentifier","src":"69215:2:21"}]},{"nativeSrc":"69245:17:21","nodeType":"YulAssignment","src":"69245:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"69257:4:21","nodeType":"YulLiteral","src":"69257:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"69251:5:21","nodeType":"YulIdentifier","src":"69251:5:21"},"nativeSrc":"69251:11:21","nodeType":"YulFunctionCall","src":"69251:11:21"},"variableNames":[{"name":"m3","nativeSrc":"69245:2:21","nodeType":"YulIdentifier","src":"69245:2:21"}]},{"nativeSrc":"69275:17:21","nodeType":"YulAssignment","src":"69275:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"69287:4:21","nodeType":"YulLiteral","src":"69287:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"69281:5:21","nodeType":"YulIdentifier","src":"69281:5:21"},"nativeSrc":"69281:11:21","nodeType":"YulFunctionCall","src":"69281:11:21"},"variableNames":[{"name":"m4","nativeSrc":"69275:2:21","nodeType":"YulIdentifier","src":"69275:2:21"}]},{"nativeSrc":"69305:17:21","nodeType":"YulAssignment","src":"69305:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"69317:4:21","nodeType":"YulLiteral","src":"69317:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"69311:5:21","nodeType":"YulIdentifier","src":"69311:5:21"},"nativeSrc":"69311:11:21","nodeType":"YulFunctionCall","src":"69311:11:21"},"variableNames":[{"name":"m5","nativeSrc":"69305:2:21","nodeType":"YulIdentifier","src":"69305:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69400:4:21","nodeType":"YulLiteral","src":"69400:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"69406:10:21","nodeType":"YulLiteral","src":"69406:10:21","type":"","value":"0xfcec75e0"}],"functionName":{"name":"mstore","nativeSrc":"69393:6:21","nodeType":"YulIdentifier","src":"69393:6:21"},"nativeSrc":"69393:24:21","nodeType":"YulFunctionCall","src":"69393:24:21"},"nativeSrc":"69393:24:21","nodeType":"YulExpressionStatement","src":"69393:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69437:4:21","nodeType":"YulLiteral","src":"69437:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"69443:4:21","nodeType":"YulLiteral","src":"69443:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"69430:6:21","nodeType":"YulIdentifier","src":"69430:6:21"},"nativeSrc":"69430:18:21","nodeType":"YulFunctionCall","src":"69430:18:21"},"nativeSrc":"69430:18:21","nodeType":"YulExpressionStatement","src":"69430:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69468:4:21","nodeType":"YulLiteral","src":"69468:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"69474:2:21","nodeType":"YulIdentifier","src":"69474:2:21"}],"functionName":{"name":"mstore","nativeSrc":"69461:6:21","nodeType":"YulIdentifier","src":"69461:6:21"},"nativeSrc":"69461:16:21","nodeType":"YulFunctionCall","src":"69461:16:21"},"nativeSrc":"69461:16:21","nodeType":"YulExpressionStatement","src":"69461:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69497:4:21","nodeType":"YulLiteral","src":"69497:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"69503:2:21","nodeType":"YulIdentifier","src":"69503:2:21"}],"functionName":{"name":"mstore","nativeSrc":"69490:6:21","nodeType":"YulIdentifier","src":"69490:6:21"},"nativeSrc":"69490:16:21","nodeType":"YulFunctionCall","src":"69490:16:21"},"nativeSrc":"69490:16:21","nodeType":"YulExpressionStatement","src":"69490:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69531:4:21","nodeType":"YulLiteral","src":"69531:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"69537:2:21","nodeType":"YulIdentifier","src":"69537:2:21"}],"functionName":{"name":"writeString","nativeSrc":"69519:11:21","nodeType":"YulIdentifier","src":"69519:11:21"},"nativeSrc":"69519:21:21","nodeType":"YulFunctionCall","src":"69519:21:21"},"nativeSrc":"69519:21:21","nodeType":"YulExpressionStatement","src":"69519:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29198,"isOffset":false,"isSlot":false,"src":"69155:2:21","valueSize":1},{"declaration":29201,"isOffset":false,"isSlot":false,"src":"69185:2:21","valueSize":1},{"declaration":29204,"isOffset":false,"isSlot":false,"src":"69215:2:21","valueSize":1},{"declaration":29207,"isOffset":false,"isSlot":false,"src":"69245:2:21","valueSize":1},{"declaration":29210,"isOffset":false,"isSlot":false,"src":"69275:2:21","valueSize":1},{"declaration":29213,"isOffset":false,"isSlot":false,"src":"69305:2:21","valueSize":1},{"declaration":29190,"isOffset":false,"isSlot":false,"src":"69537:2:21","valueSize":1},{"declaration":29192,"isOffset":false,"isSlot":false,"src":"69474:2:21","valueSize":1},{"declaration":29194,"isOffset":false,"isSlot":false,"src":"69503:2:21","valueSize":1}],"id":29215,"nodeType":"InlineAssembly","src":"68777:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"69575:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"69581:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29216,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"69559:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69559:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29220,"nodeType":"ExpressionStatement","src":"69559:27:21"},{"AST":{"nativeSrc":"69648:185:21","nodeType":"YulBlock","src":"69648:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"69669:4:21","nodeType":"YulLiteral","src":"69669:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"69675:2:21","nodeType":"YulIdentifier","src":"69675:2:21"}],"functionName":{"name":"mstore","nativeSrc":"69662:6:21","nodeType":"YulIdentifier","src":"69662:6:21"},"nativeSrc":"69662:16:21","nodeType":"YulFunctionCall","src":"69662:16:21"},"nativeSrc":"69662:16:21","nodeType":"YulExpressionStatement","src":"69662:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69698:4:21","nodeType":"YulLiteral","src":"69698:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"69704:2:21","nodeType":"YulIdentifier","src":"69704:2:21"}],"functionName":{"name":"mstore","nativeSrc":"69691:6:21","nodeType":"YulIdentifier","src":"69691:6:21"},"nativeSrc":"69691:16:21","nodeType":"YulFunctionCall","src":"69691:16:21"},"nativeSrc":"69691:16:21","nodeType":"YulExpressionStatement","src":"69691:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69727:4:21","nodeType":"YulLiteral","src":"69727:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"69733:2:21","nodeType":"YulIdentifier","src":"69733:2:21"}],"functionName":{"name":"mstore","nativeSrc":"69720:6:21","nodeType":"YulIdentifier","src":"69720:6:21"},"nativeSrc":"69720:16:21","nodeType":"YulFunctionCall","src":"69720:16:21"},"nativeSrc":"69720:16:21","nodeType":"YulExpressionStatement","src":"69720:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69756:4:21","nodeType":"YulLiteral","src":"69756:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"69762:2:21","nodeType":"YulIdentifier","src":"69762:2:21"}],"functionName":{"name":"mstore","nativeSrc":"69749:6:21","nodeType":"YulIdentifier","src":"69749:6:21"},"nativeSrc":"69749:16:21","nodeType":"YulFunctionCall","src":"69749:16:21"},"nativeSrc":"69749:16:21","nodeType":"YulExpressionStatement","src":"69749:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69785:4:21","nodeType":"YulLiteral","src":"69785:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"69791:2:21","nodeType":"YulIdentifier","src":"69791:2:21"}],"functionName":{"name":"mstore","nativeSrc":"69778:6:21","nodeType":"YulIdentifier","src":"69778:6:21"},"nativeSrc":"69778:16:21","nodeType":"YulFunctionCall","src":"69778:16:21"},"nativeSrc":"69778:16:21","nodeType":"YulExpressionStatement","src":"69778:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69814:4:21","nodeType":"YulLiteral","src":"69814:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"69820:2:21","nodeType":"YulIdentifier","src":"69820:2:21"}],"functionName":{"name":"mstore","nativeSrc":"69807:6:21","nodeType":"YulIdentifier","src":"69807:6:21"},"nativeSrc":"69807:16:21","nodeType":"YulFunctionCall","src":"69807:16:21"},"nativeSrc":"69807:16:21","nodeType":"YulExpressionStatement","src":"69807:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29198,"isOffset":false,"isSlot":false,"src":"69675:2:21","valueSize":1},{"declaration":29201,"isOffset":false,"isSlot":false,"src":"69704:2:21","valueSize":1},{"declaration":29204,"isOffset":false,"isSlot":false,"src":"69733:2:21","valueSize":1},{"declaration":29207,"isOffset":false,"isSlot":false,"src":"69762:2:21","valueSize":1},{"declaration":29210,"isOffset":false,"isSlot":false,"src":"69791:2:21","valueSize":1},{"declaration":29213,"isOffset":false,"isSlot":false,"src":"69820:2:21","valueSize":1}],"id":29221,"nodeType":"InlineAssembly","src":"69639:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68550:3:21","parameters":{"id":29195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29190,"mutability":"mutable","name":"p0","nameLocation":"68562:2:21","nodeType":"VariableDeclaration","scope":29223,"src":"68554:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68554:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29192,"mutability":"mutable","name":"p1","nameLocation":"68574:2:21","nodeType":"VariableDeclaration","scope":29223,"src":"68566:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29191,"name":"address","nodeType":"ElementaryTypeName","src":"68566:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29194,"mutability":"mutable","name":"p2","nameLocation":"68586:2:21","nodeType":"VariableDeclaration","scope":29223,"src":"68578:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29193,"name":"address","nodeType":"ElementaryTypeName","src":"68578:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68553:36:21"},"returnParameters":{"id":29196,"nodeType":"ParameterList","parameters":[],"src":"68604:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29258,"nodeType":"FunctionDefinition","src":"69845:1292:21","nodes":[],"body":{"id":29257,"nodeType":"Block","src":"69905:1232:21","nodes":[],"statements":[{"assignments":[29233],"declarations":[{"constant":false,"id":29233,"mutability":"mutable","name":"m0","nameLocation":"69923:2:21","nodeType":"VariableDeclaration","scope":29257,"src":"69915:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69915:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29234,"nodeType":"VariableDeclarationStatement","src":"69915:10:21"},{"assignments":[29236],"declarations":[{"constant":false,"id":29236,"mutability":"mutable","name":"m1","nameLocation":"69943:2:21","nodeType":"VariableDeclaration","scope":29257,"src":"69935:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69935:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29237,"nodeType":"VariableDeclarationStatement","src":"69935:10:21"},{"assignments":[29239],"declarations":[{"constant":false,"id":29239,"mutability":"mutable","name":"m2","nameLocation":"69963:2:21","nodeType":"VariableDeclaration","scope":29257,"src":"69955:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69955:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29240,"nodeType":"VariableDeclarationStatement","src":"69955:10:21"},{"assignments":[29242],"declarations":[{"constant":false,"id":29242,"mutability":"mutable","name":"m3","nameLocation":"69983:2:21","nodeType":"VariableDeclaration","scope":29257,"src":"69975:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69975:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29243,"nodeType":"VariableDeclarationStatement","src":"69975:10:21"},{"assignments":[29245],"declarations":[{"constant":false,"id":29245,"mutability":"mutable","name":"m4","nameLocation":"70003:2:21","nodeType":"VariableDeclaration","scope":29257,"src":"69995:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69995:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29246,"nodeType":"VariableDeclarationStatement","src":"69995:10:21"},{"assignments":[29248],"declarations":[{"constant":false,"id":29248,"mutability":"mutable","name":"m5","nameLocation":"70023:2:21","nodeType":"VariableDeclaration","scope":29257,"src":"70015:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29247,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70015:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29249,"nodeType":"VariableDeclarationStatement","src":"70015:10:21"},{"AST":{"nativeSrc":"70087:761:21","nodeType":"YulBlock","src":"70087:761:21","statements":[{"body":{"nativeSrc":"70130:313:21","nodeType":"YulBlock","src":"70130:313:21","statements":[{"nativeSrc":"70148:15:21","nodeType":"YulVariableDeclaration","src":"70148:15:21","value":{"kind":"number","nativeSrc":"70162:1:21","nodeType":"YulLiteral","src":"70162:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"70152:6:21","nodeType":"YulTypedName","src":"70152:6:21","type":""}]},{"body":{"nativeSrc":"70233:40:21","nodeType":"YulBlock","src":"70233:40:21","statements":[{"body":{"nativeSrc":"70262:9:21","nodeType":"YulBlock","src":"70262:9:21","statements":[{"nativeSrc":"70264:5:21","nodeType":"YulBreak","src":"70264:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"70250:6:21","nodeType":"YulIdentifier","src":"70250:6:21"},{"name":"w","nativeSrc":"70258:1:21","nodeType":"YulIdentifier","src":"70258:1:21"}],"functionName":{"name":"byte","nativeSrc":"70245:4:21","nodeType":"YulIdentifier","src":"70245:4:21"},"nativeSrc":"70245:15:21","nodeType":"YulFunctionCall","src":"70245:15:21"}],"functionName":{"name":"iszero","nativeSrc":"70238:6:21","nodeType":"YulIdentifier","src":"70238:6:21"},"nativeSrc":"70238:23:21","nodeType":"YulFunctionCall","src":"70238:23:21"},"nativeSrc":"70235:36:21","nodeType":"YulIf","src":"70235:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"70190:6:21","nodeType":"YulIdentifier","src":"70190:6:21"},{"kind":"number","nativeSrc":"70198:4:21","nodeType":"YulLiteral","src":"70198:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"70187:2:21","nodeType":"YulIdentifier","src":"70187:2:21"},"nativeSrc":"70187:16:21","nodeType":"YulFunctionCall","src":"70187:16:21"},"nativeSrc":"70180:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"70204:28:21","nodeType":"YulBlock","src":"70204:28:21","statements":[{"nativeSrc":"70206:24:21","nodeType":"YulAssignment","src":"70206:24:21","value":{"arguments":[{"name":"length","nativeSrc":"70220:6:21","nodeType":"YulIdentifier","src":"70220:6:21"},{"kind":"number","nativeSrc":"70228:1:21","nodeType":"YulLiteral","src":"70228:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"70216:3:21","nodeType":"YulIdentifier","src":"70216:3:21"},"nativeSrc":"70216:14:21","nodeType":"YulFunctionCall","src":"70216:14:21"},"variableNames":[{"name":"length","nativeSrc":"70206:6:21","nodeType":"YulIdentifier","src":"70206:6:21"}]}]},"pre":{"nativeSrc":"70184:2:21","nodeType":"YulBlock","src":"70184:2:21","statements":[]},"src":"70180:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"70297:3:21","nodeType":"YulIdentifier","src":"70297:3:21"},{"name":"length","nativeSrc":"70302:6:21","nodeType":"YulIdentifier","src":"70302:6:21"}],"functionName":{"name":"mstore","nativeSrc":"70290:6:21","nodeType":"YulIdentifier","src":"70290:6:21"},"nativeSrc":"70290:19:21","nodeType":"YulFunctionCall","src":"70290:19:21"},"nativeSrc":"70290:19:21","nodeType":"YulExpressionStatement","src":"70290:19:21"},{"nativeSrc":"70326:37:21","nodeType":"YulVariableDeclaration","src":"70326:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"70343:3:21","nodeType":"YulLiteral","src":"70343:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"70352:1:21","nodeType":"YulLiteral","src":"70352:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"70355:6:21","nodeType":"YulIdentifier","src":"70355:6:21"}],"functionName":{"name":"shl","nativeSrc":"70348:3:21","nodeType":"YulIdentifier","src":"70348:3:21"},"nativeSrc":"70348:14:21","nodeType":"YulFunctionCall","src":"70348:14:21"}],"functionName":{"name":"sub","nativeSrc":"70339:3:21","nodeType":"YulIdentifier","src":"70339:3:21"},"nativeSrc":"70339:24:21","nodeType":"YulFunctionCall","src":"70339:24:21"},"variables":[{"name":"shift","nativeSrc":"70330:5:21","nodeType":"YulTypedName","src":"70330:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"70391:3:21","nodeType":"YulIdentifier","src":"70391:3:21"},{"kind":"number","nativeSrc":"70396:4:21","nodeType":"YulLiteral","src":"70396:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"70387:3:21","nodeType":"YulIdentifier","src":"70387:3:21"},"nativeSrc":"70387:14:21","nodeType":"YulFunctionCall","src":"70387:14:21"},{"arguments":[{"name":"shift","nativeSrc":"70407:5:21","nodeType":"YulIdentifier","src":"70407:5:21"},{"arguments":[{"name":"shift","nativeSrc":"70418:5:21","nodeType":"YulIdentifier","src":"70418:5:21"},{"name":"w","nativeSrc":"70425:1:21","nodeType":"YulIdentifier","src":"70425:1:21"}],"functionName":{"name":"shr","nativeSrc":"70414:3:21","nodeType":"YulIdentifier","src":"70414:3:21"},"nativeSrc":"70414:13:21","nodeType":"YulFunctionCall","src":"70414:13:21"}],"functionName":{"name":"shl","nativeSrc":"70403:3:21","nodeType":"YulIdentifier","src":"70403:3:21"},"nativeSrc":"70403:25:21","nodeType":"YulFunctionCall","src":"70403:25:21"}],"functionName":{"name":"mstore","nativeSrc":"70380:6:21","nodeType":"YulIdentifier","src":"70380:6:21"},"nativeSrc":"70380:49:21","nodeType":"YulFunctionCall","src":"70380:49:21"},"nativeSrc":"70380:49:21","nodeType":"YulExpressionStatement","src":"70380:49:21"}]},"name":"writeString","nativeSrc":"70101:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"70122:3:21","nodeType":"YulTypedName","src":"70122:3:21","type":""},{"name":"w","nativeSrc":"70127:1:21","nodeType":"YulTypedName","src":"70127:1:21","type":""}],"src":"70101:342:21"},{"nativeSrc":"70456:17:21","nodeType":"YulAssignment","src":"70456:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"70468:4:21","nodeType":"YulLiteral","src":"70468:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"70462:5:21","nodeType":"YulIdentifier","src":"70462:5:21"},"nativeSrc":"70462:11:21","nodeType":"YulFunctionCall","src":"70462:11:21"},"variableNames":[{"name":"m0","nativeSrc":"70456:2:21","nodeType":"YulIdentifier","src":"70456:2:21"}]},{"nativeSrc":"70486:17:21","nodeType":"YulAssignment","src":"70486:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"70498:4:21","nodeType":"YulLiteral","src":"70498:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"70492:5:21","nodeType":"YulIdentifier","src":"70492:5:21"},"nativeSrc":"70492:11:21","nodeType":"YulFunctionCall","src":"70492:11:21"},"variableNames":[{"name":"m1","nativeSrc":"70486:2:21","nodeType":"YulIdentifier","src":"70486:2:21"}]},{"nativeSrc":"70516:17:21","nodeType":"YulAssignment","src":"70516:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"70528:4:21","nodeType":"YulLiteral","src":"70528:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"70522:5:21","nodeType":"YulIdentifier","src":"70522:5:21"},"nativeSrc":"70522:11:21","nodeType":"YulFunctionCall","src":"70522:11:21"},"variableNames":[{"name":"m2","nativeSrc":"70516:2:21","nodeType":"YulIdentifier","src":"70516:2:21"}]},{"nativeSrc":"70546:17:21","nodeType":"YulAssignment","src":"70546:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"70558:4:21","nodeType":"YulLiteral","src":"70558:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"70552:5:21","nodeType":"YulIdentifier","src":"70552:5:21"},"nativeSrc":"70552:11:21","nodeType":"YulFunctionCall","src":"70552:11:21"},"variableNames":[{"name":"m3","nativeSrc":"70546:2:21","nodeType":"YulIdentifier","src":"70546:2:21"}]},{"nativeSrc":"70576:17:21","nodeType":"YulAssignment","src":"70576:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"70588:4:21","nodeType":"YulLiteral","src":"70588:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"70582:5:21","nodeType":"YulIdentifier","src":"70582:5:21"},"nativeSrc":"70582:11:21","nodeType":"YulFunctionCall","src":"70582:11:21"},"variableNames":[{"name":"m4","nativeSrc":"70576:2:21","nodeType":"YulIdentifier","src":"70576:2:21"}]},{"nativeSrc":"70606:17:21","nodeType":"YulAssignment","src":"70606:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"70618:4:21","nodeType":"YulLiteral","src":"70618:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"70612:5:21","nodeType":"YulIdentifier","src":"70612:5:21"},"nativeSrc":"70612:11:21","nodeType":"YulFunctionCall","src":"70612:11:21"},"variableNames":[{"name":"m5","nativeSrc":"70606:2:21","nodeType":"YulIdentifier","src":"70606:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70698:4:21","nodeType":"YulLiteral","src":"70698:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"70704:10:21","nodeType":"YulLiteral","src":"70704:10:21","type":"","value":"0xc91d5ed4"}],"functionName":{"name":"mstore","nativeSrc":"70691:6:21","nodeType":"YulIdentifier","src":"70691:6:21"},"nativeSrc":"70691:24:21","nodeType":"YulFunctionCall","src":"70691:24:21"},"nativeSrc":"70691:24:21","nodeType":"YulExpressionStatement","src":"70691:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70735:4:21","nodeType":"YulLiteral","src":"70735:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"70741:4:21","nodeType":"YulLiteral","src":"70741:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"70728:6:21","nodeType":"YulIdentifier","src":"70728:6:21"},"nativeSrc":"70728:18:21","nodeType":"YulFunctionCall","src":"70728:18:21"},"nativeSrc":"70728:18:21","nodeType":"YulExpressionStatement","src":"70728:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70766:4:21","nodeType":"YulLiteral","src":"70766:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"70772:2:21","nodeType":"YulIdentifier","src":"70772:2:21"}],"functionName":{"name":"mstore","nativeSrc":"70759:6:21","nodeType":"YulIdentifier","src":"70759:6:21"},"nativeSrc":"70759:16:21","nodeType":"YulFunctionCall","src":"70759:16:21"},"nativeSrc":"70759:16:21","nodeType":"YulExpressionStatement","src":"70759:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70795:4:21","nodeType":"YulLiteral","src":"70795:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"70801:2:21","nodeType":"YulIdentifier","src":"70801:2:21"}],"functionName":{"name":"mstore","nativeSrc":"70788:6:21","nodeType":"YulIdentifier","src":"70788:6:21"},"nativeSrc":"70788:16:21","nodeType":"YulFunctionCall","src":"70788:16:21"},"nativeSrc":"70788:16:21","nodeType":"YulExpressionStatement","src":"70788:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70829:4:21","nodeType":"YulLiteral","src":"70829:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"70835:2:21","nodeType":"YulIdentifier","src":"70835:2:21"}],"functionName":{"name":"writeString","nativeSrc":"70817:11:21","nodeType":"YulIdentifier","src":"70817:11:21"},"nativeSrc":"70817:21:21","nodeType":"YulFunctionCall","src":"70817:21:21"},"nativeSrc":"70817:21:21","nodeType":"YulExpressionStatement","src":"70817:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29233,"isOffset":false,"isSlot":false,"src":"70456:2:21","valueSize":1},{"declaration":29236,"isOffset":false,"isSlot":false,"src":"70486:2:21","valueSize":1},{"declaration":29239,"isOffset":false,"isSlot":false,"src":"70516:2:21","valueSize":1},{"declaration":29242,"isOffset":false,"isSlot":false,"src":"70546:2:21","valueSize":1},{"declaration":29245,"isOffset":false,"isSlot":false,"src":"70576:2:21","valueSize":1},{"declaration":29248,"isOffset":false,"isSlot":false,"src":"70606:2:21","valueSize":1},{"declaration":29225,"isOffset":false,"isSlot":false,"src":"70835:2:21","valueSize":1},{"declaration":29227,"isOffset":false,"isSlot":false,"src":"70772:2:21","valueSize":1},{"declaration":29229,"isOffset":false,"isSlot":false,"src":"70801:2:21","valueSize":1}],"id":29250,"nodeType":"InlineAssembly","src":"70078:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"70873:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"70879:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29251,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"70857:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70857:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29255,"nodeType":"ExpressionStatement","src":"70857:27:21"},{"AST":{"nativeSrc":"70946:185:21","nodeType":"YulBlock","src":"70946:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"70967:4:21","nodeType":"YulLiteral","src":"70967:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"70973:2:21","nodeType":"YulIdentifier","src":"70973:2:21"}],"functionName":{"name":"mstore","nativeSrc":"70960:6:21","nodeType":"YulIdentifier","src":"70960:6:21"},"nativeSrc":"70960:16:21","nodeType":"YulFunctionCall","src":"70960:16:21"},"nativeSrc":"70960:16:21","nodeType":"YulExpressionStatement","src":"70960:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70996:4:21","nodeType":"YulLiteral","src":"70996:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"71002:2:21","nodeType":"YulIdentifier","src":"71002:2:21"}],"functionName":{"name":"mstore","nativeSrc":"70989:6:21","nodeType":"YulIdentifier","src":"70989:6:21"},"nativeSrc":"70989:16:21","nodeType":"YulFunctionCall","src":"70989:16:21"},"nativeSrc":"70989:16:21","nodeType":"YulExpressionStatement","src":"70989:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71025:4:21","nodeType":"YulLiteral","src":"71025:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"71031:2:21","nodeType":"YulIdentifier","src":"71031:2:21"}],"functionName":{"name":"mstore","nativeSrc":"71018:6:21","nodeType":"YulIdentifier","src":"71018:6:21"},"nativeSrc":"71018:16:21","nodeType":"YulFunctionCall","src":"71018:16:21"},"nativeSrc":"71018:16:21","nodeType":"YulExpressionStatement","src":"71018:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71054:4:21","nodeType":"YulLiteral","src":"71054:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"71060:2:21","nodeType":"YulIdentifier","src":"71060:2:21"}],"functionName":{"name":"mstore","nativeSrc":"71047:6:21","nodeType":"YulIdentifier","src":"71047:6:21"},"nativeSrc":"71047:16:21","nodeType":"YulFunctionCall","src":"71047:16:21"},"nativeSrc":"71047:16:21","nodeType":"YulExpressionStatement","src":"71047:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71083:4:21","nodeType":"YulLiteral","src":"71083:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"71089:2:21","nodeType":"YulIdentifier","src":"71089:2:21"}],"functionName":{"name":"mstore","nativeSrc":"71076:6:21","nodeType":"YulIdentifier","src":"71076:6:21"},"nativeSrc":"71076:16:21","nodeType":"YulFunctionCall","src":"71076:16:21"},"nativeSrc":"71076:16:21","nodeType":"YulExpressionStatement","src":"71076:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71112:4:21","nodeType":"YulLiteral","src":"71112:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"71118:2:21","nodeType":"YulIdentifier","src":"71118:2:21"}],"functionName":{"name":"mstore","nativeSrc":"71105:6:21","nodeType":"YulIdentifier","src":"71105:6:21"},"nativeSrc":"71105:16:21","nodeType":"YulFunctionCall","src":"71105:16:21"},"nativeSrc":"71105:16:21","nodeType":"YulExpressionStatement","src":"71105:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29233,"isOffset":false,"isSlot":false,"src":"70973:2:21","valueSize":1},{"declaration":29236,"isOffset":false,"isSlot":false,"src":"71002:2:21","valueSize":1},{"declaration":29239,"isOffset":false,"isSlot":false,"src":"71031:2:21","valueSize":1},{"declaration":29242,"isOffset":false,"isSlot":false,"src":"71060:2:21","valueSize":1},{"declaration":29245,"isOffset":false,"isSlot":false,"src":"71089:2:21","valueSize":1},{"declaration":29248,"isOffset":false,"isSlot":false,"src":"71118:2:21","valueSize":1}],"id":29256,"nodeType":"InlineAssembly","src":"70937:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69854:3:21","parameters":{"id":29230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29225,"mutability":"mutable","name":"p0","nameLocation":"69866:2:21","nodeType":"VariableDeclaration","scope":29258,"src":"69858:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69858:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29227,"mutability":"mutable","name":"p1","nameLocation":"69878:2:21","nodeType":"VariableDeclaration","scope":29258,"src":"69870:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29226,"name":"address","nodeType":"ElementaryTypeName","src":"69870:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29229,"mutability":"mutable","name":"p2","nameLocation":"69887:2:21","nodeType":"VariableDeclaration","scope":29258,"src":"69882:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29228,"name":"bool","nodeType":"ElementaryTypeName","src":"69882:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"69857:33:21"},"returnParameters":{"id":29231,"nodeType":"ParameterList","parameters":[],"src":"69905:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29293,"nodeType":"FunctionDefinition","src":"71143:1298:21","nodes":[],"body":{"id":29292,"nodeType":"Block","src":"71206:1235:21","nodes":[],"statements":[{"assignments":[29268],"declarations":[{"constant":false,"id":29268,"mutability":"mutable","name":"m0","nameLocation":"71224:2:21","nodeType":"VariableDeclaration","scope":29292,"src":"71216:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71216:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29269,"nodeType":"VariableDeclarationStatement","src":"71216:10:21"},{"assignments":[29271],"declarations":[{"constant":false,"id":29271,"mutability":"mutable","name":"m1","nameLocation":"71244:2:21","nodeType":"VariableDeclaration","scope":29292,"src":"71236:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71236:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29272,"nodeType":"VariableDeclarationStatement","src":"71236:10:21"},{"assignments":[29274],"declarations":[{"constant":false,"id":29274,"mutability":"mutable","name":"m2","nameLocation":"71264:2:21","nodeType":"VariableDeclaration","scope":29292,"src":"71256:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71256:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29275,"nodeType":"VariableDeclarationStatement","src":"71256:10:21"},{"assignments":[29277],"declarations":[{"constant":false,"id":29277,"mutability":"mutable","name":"m3","nameLocation":"71284:2:21","nodeType":"VariableDeclaration","scope":29292,"src":"71276:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71276:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29278,"nodeType":"VariableDeclarationStatement","src":"71276:10:21"},{"assignments":[29280],"declarations":[{"constant":false,"id":29280,"mutability":"mutable","name":"m4","nameLocation":"71304:2:21","nodeType":"VariableDeclaration","scope":29292,"src":"71296:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71296:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29281,"nodeType":"VariableDeclarationStatement","src":"71296:10:21"},{"assignments":[29283],"declarations":[{"constant":false,"id":29283,"mutability":"mutable","name":"m5","nameLocation":"71324:2:21","nodeType":"VariableDeclaration","scope":29292,"src":"71316:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29282,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71316:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29284,"nodeType":"VariableDeclarationStatement","src":"71316:10:21"},{"AST":{"nativeSrc":"71388:764:21","nodeType":"YulBlock","src":"71388:764:21","statements":[{"body":{"nativeSrc":"71431:313:21","nodeType":"YulBlock","src":"71431:313:21","statements":[{"nativeSrc":"71449:15:21","nodeType":"YulVariableDeclaration","src":"71449:15:21","value":{"kind":"number","nativeSrc":"71463:1:21","nodeType":"YulLiteral","src":"71463:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"71453:6:21","nodeType":"YulTypedName","src":"71453:6:21","type":""}]},{"body":{"nativeSrc":"71534:40:21","nodeType":"YulBlock","src":"71534:40:21","statements":[{"body":{"nativeSrc":"71563:9:21","nodeType":"YulBlock","src":"71563:9:21","statements":[{"nativeSrc":"71565:5:21","nodeType":"YulBreak","src":"71565:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"71551:6:21","nodeType":"YulIdentifier","src":"71551:6:21"},{"name":"w","nativeSrc":"71559:1:21","nodeType":"YulIdentifier","src":"71559:1:21"}],"functionName":{"name":"byte","nativeSrc":"71546:4:21","nodeType":"YulIdentifier","src":"71546:4:21"},"nativeSrc":"71546:15:21","nodeType":"YulFunctionCall","src":"71546:15:21"}],"functionName":{"name":"iszero","nativeSrc":"71539:6:21","nodeType":"YulIdentifier","src":"71539:6:21"},"nativeSrc":"71539:23:21","nodeType":"YulFunctionCall","src":"71539:23:21"},"nativeSrc":"71536:36:21","nodeType":"YulIf","src":"71536:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"71491:6:21","nodeType":"YulIdentifier","src":"71491:6:21"},{"kind":"number","nativeSrc":"71499:4:21","nodeType":"YulLiteral","src":"71499:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"71488:2:21","nodeType":"YulIdentifier","src":"71488:2:21"},"nativeSrc":"71488:16:21","nodeType":"YulFunctionCall","src":"71488:16:21"},"nativeSrc":"71481:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"71505:28:21","nodeType":"YulBlock","src":"71505:28:21","statements":[{"nativeSrc":"71507:24:21","nodeType":"YulAssignment","src":"71507:24:21","value":{"arguments":[{"name":"length","nativeSrc":"71521:6:21","nodeType":"YulIdentifier","src":"71521:6:21"},{"kind":"number","nativeSrc":"71529:1:21","nodeType":"YulLiteral","src":"71529:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"71517:3:21","nodeType":"YulIdentifier","src":"71517:3:21"},"nativeSrc":"71517:14:21","nodeType":"YulFunctionCall","src":"71517:14:21"},"variableNames":[{"name":"length","nativeSrc":"71507:6:21","nodeType":"YulIdentifier","src":"71507:6:21"}]}]},"pre":{"nativeSrc":"71485:2:21","nodeType":"YulBlock","src":"71485:2:21","statements":[]},"src":"71481:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"71598:3:21","nodeType":"YulIdentifier","src":"71598:3:21"},{"name":"length","nativeSrc":"71603:6:21","nodeType":"YulIdentifier","src":"71603:6:21"}],"functionName":{"name":"mstore","nativeSrc":"71591:6:21","nodeType":"YulIdentifier","src":"71591:6:21"},"nativeSrc":"71591:19:21","nodeType":"YulFunctionCall","src":"71591:19:21"},"nativeSrc":"71591:19:21","nodeType":"YulExpressionStatement","src":"71591:19:21"},{"nativeSrc":"71627:37:21","nodeType":"YulVariableDeclaration","src":"71627:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"71644:3:21","nodeType":"YulLiteral","src":"71644:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"71653:1:21","nodeType":"YulLiteral","src":"71653:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"71656:6:21","nodeType":"YulIdentifier","src":"71656:6:21"}],"functionName":{"name":"shl","nativeSrc":"71649:3:21","nodeType":"YulIdentifier","src":"71649:3:21"},"nativeSrc":"71649:14:21","nodeType":"YulFunctionCall","src":"71649:14:21"}],"functionName":{"name":"sub","nativeSrc":"71640:3:21","nodeType":"YulIdentifier","src":"71640:3:21"},"nativeSrc":"71640:24:21","nodeType":"YulFunctionCall","src":"71640:24:21"},"variables":[{"name":"shift","nativeSrc":"71631:5:21","nodeType":"YulTypedName","src":"71631:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"71692:3:21","nodeType":"YulIdentifier","src":"71692:3:21"},{"kind":"number","nativeSrc":"71697:4:21","nodeType":"YulLiteral","src":"71697:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"71688:3:21","nodeType":"YulIdentifier","src":"71688:3:21"},"nativeSrc":"71688:14:21","nodeType":"YulFunctionCall","src":"71688:14:21"},{"arguments":[{"name":"shift","nativeSrc":"71708:5:21","nodeType":"YulIdentifier","src":"71708:5:21"},{"arguments":[{"name":"shift","nativeSrc":"71719:5:21","nodeType":"YulIdentifier","src":"71719:5:21"},{"name":"w","nativeSrc":"71726:1:21","nodeType":"YulIdentifier","src":"71726:1:21"}],"functionName":{"name":"shr","nativeSrc":"71715:3:21","nodeType":"YulIdentifier","src":"71715:3:21"},"nativeSrc":"71715:13:21","nodeType":"YulFunctionCall","src":"71715:13:21"}],"functionName":{"name":"shl","nativeSrc":"71704:3:21","nodeType":"YulIdentifier","src":"71704:3:21"},"nativeSrc":"71704:25:21","nodeType":"YulFunctionCall","src":"71704:25:21"}],"functionName":{"name":"mstore","nativeSrc":"71681:6:21","nodeType":"YulIdentifier","src":"71681:6:21"},"nativeSrc":"71681:49:21","nodeType":"YulFunctionCall","src":"71681:49:21"},"nativeSrc":"71681:49:21","nodeType":"YulExpressionStatement","src":"71681:49:21"}]},"name":"writeString","nativeSrc":"71402:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"71423:3:21","nodeType":"YulTypedName","src":"71423:3:21","type":""},{"name":"w","nativeSrc":"71428:1:21","nodeType":"YulTypedName","src":"71428:1:21","type":""}],"src":"71402:342:21"},{"nativeSrc":"71757:17:21","nodeType":"YulAssignment","src":"71757:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"71769:4:21","nodeType":"YulLiteral","src":"71769:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"71763:5:21","nodeType":"YulIdentifier","src":"71763:5:21"},"nativeSrc":"71763:11:21","nodeType":"YulFunctionCall","src":"71763:11:21"},"variableNames":[{"name":"m0","nativeSrc":"71757:2:21","nodeType":"YulIdentifier","src":"71757:2:21"}]},{"nativeSrc":"71787:17:21","nodeType":"YulAssignment","src":"71787:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"71799:4:21","nodeType":"YulLiteral","src":"71799:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"71793:5:21","nodeType":"YulIdentifier","src":"71793:5:21"},"nativeSrc":"71793:11:21","nodeType":"YulFunctionCall","src":"71793:11:21"},"variableNames":[{"name":"m1","nativeSrc":"71787:2:21","nodeType":"YulIdentifier","src":"71787:2:21"}]},{"nativeSrc":"71817:17:21","nodeType":"YulAssignment","src":"71817:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"71829:4:21","nodeType":"YulLiteral","src":"71829:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"71823:5:21","nodeType":"YulIdentifier","src":"71823:5:21"},"nativeSrc":"71823:11:21","nodeType":"YulFunctionCall","src":"71823:11:21"},"variableNames":[{"name":"m2","nativeSrc":"71817:2:21","nodeType":"YulIdentifier","src":"71817:2:21"}]},{"nativeSrc":"71847:17:21","nodeType":"YulAssignment","src":"71847:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"71859:4:21","nodeType":"YulLiteral","src":"71859:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"71853:5:21","nodeType":"YulIdentifier","src":"71853:5:21"},"nativeSrc":"71853:11:21","nodeType":"YulFunctionCall","src":"71853:11:21"},"variableNames":[{"name":"m3","nativeSrc":"71847:2:21","nodeType":"YulIdentifier","src":"71847:2:21"}]},{"nativeSrc":"71877:17:21","nodeType":"YulAssignment","src":"71877:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"71889:4:21","nodeType":"YulLiteral","src":"71889:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"71883:5:21","nodeType":"YulIdentifier","src":"71883:5:21"},"nativeSrc":"71883:11:21","nodeType":"YulFunctionCall","src":"71883:11:21"},"variableNames":[{"name":"m4","nativeSrc":"71877:2:21","nodeType":"YulIdentifier","src":"71877:2:21"}]},{"nativeSrc":"71907:17:21","nodeType":"YulAssignment","src":"71907:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"71919:4:21","nodeType":"YulLiteral","src":"71919:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"71913:5:21","nodeType":"YulIdentifier","src":"71913:5:21"},"nativeSrc":"71913:11:21","nodeType":"YulFunctionCall","src":"71913:11:21"},"variableNames":[{"name":"m5","nativeSrc":"71907:2:21","nodeType":"YulIdentifier","src":"71907:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72002:4:21","nodeType":"YulLiteral","src":"72002:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"72008:10:21","nodeType":"YulLiteral","src":"72008:10:21","type":"","value":"0x0d26b925"}],"functionName":{"name":"mstore","nativeSrc":"71995:6:21","nodeType":"YulIdentifier","src":"71995:6:21"},"nativeSrc":"71995:24:21","nodeType":"YulFunctionCall","src":"71995:24:21"},"nativeSrc":"71995:24:21","nodeType":"YulExpressionStatement","src":"71995:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72039:4:21","nodeType":"YulLiteral","src":"72039:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"72045:4:21","nodeType":"YulLiteral","src":"72045:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"72032:6:21","nodeType":"YulIdentifier","src":"72032:6:21"},"nativeSrc":"72032:18:21","nodeType":"YulFunctionCall","src":"72032:18:21"},"nativeSrc":"72032:18:21","nodeType":"YulExpressionStatement","src":"72032:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72070:4:21","nodeType":"YulLiteral","src":"72070:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"72076:2:21","nodeType":"YulIdentifier","src":"72076:2:21"}],"functionName":{"name":"mstore","nativeSrc":"72063:6:21","nodeType":"YulIdentifier","src":"72063:6:21"},"nativeSrc":"72063:16:21","nodeType":"YulFunctionCall","src":"72063:16:21"},"nativeSrc":"72063:16:21","nodeType":"YulExpressionStatement","src":"72063:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72099:4:21","nodeType":"YulLiteral","src":"72099:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"72105:2:21","nodeType":"YulIdentifier","src":"72105:2:21"}],"functionName":{"name":"mstore","nativeSrc":"72092:6:21","nodeType":"YulIdentifier","src":"72092:6:21"},"nativeSrc":"72092:16:21","nodeType":"YulFunctionCall","src":"72092:16:21"},"nativeSrc":"72092:16:21","nodeType":"YulExpressionStatement","src":"72092:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72133:4:21","nodeType":"YulLiteral","src":"72133:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"72139:2:21","nodeType":"YulIdentifier","src":"72139:2:21"}],"functionName":{"name":"writeString","nativeSrc":"72121:11:21","nodeType":"YulIdentifier","src":"72121:11:21"},"nativeSrc":"72121:21:21","nodeType":"YulFunctionCall","src":"72121:21:21"},"nativeSrc":"72121:21:21","nodeType":"YulExpressionStatement","src":"72121:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29268,"isOffset":false,"isSlot":false,"src":"71757:2:21","valueSize":1},{"declaration":29271,"isOffset":false,"isSlot":false,"src":"71787:2:21","valueSize":1},{"declaration":29274,"isOffset":false,"isSlot":false,"src":"71817:2:21","valueSize":1},{"declaration":29277,"isOffset":false,"isSlot":false,"src":"71847:2:21","valueSize":1},{"declaration":29280,"isOffset":false,"isSlot":false,"src":"71877:2:21","valueSize":1},{"declaration":29283,"isOffset":false,"isSlot":false,"src":"71907:2:21","valueSize":1},{"declaration":29260,"isOffset":false,"isSlot":false,"src":"72139:2:21","valueSize":1},{"declaration":29262,"isOffset":false,"isSlot":false,"src":"72076:2:21","valueSize":1},{"declaration":29264,"isOffset":false,"isSlot":false,"src":"72105:2:21","valueSize":1}],"id":29285,"nodeType":"InlineAssembly","src":"71379:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72177:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72183:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29286,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"72161:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72161:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29290,"nodeType":"ExpressionStatement","src":"72161:27:21"},{"AST":{"nativeSrc":"72250:185:21","nodeType":"YulBlock","src":"72250:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"72271:4:21","nodeType":"YulLiteral","src":"72271:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"72277:2:21","nodeType":"YulIdentifier","src":"72277:2:21"}],"functionName":{"name":"mstore","nativeSrc":"72264:6:21","nodeType":"YulIdentifier","src":"72264:6:21"},"nativeSrc":"72264:16:21","nodeType":"YulFunctionCall","src":"72264:16:21"},"nativeSrc":"72264:16:21","nodeType":"YulExpressionStatement","src":"72264:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72300:4:21","nodeType":"YulLiteral","src":"72300:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"72306:2:21","nodeType":"YulIdentifier","src":"72306:2:21"}],"functionName":{"name":"mstore","nativeSrc":"72293:6:21","nodeType":"YulIdentifier","src":"72293:6:21"},"nativeSrc":"72293:16:21","nodeType":"YulFunctionCall","src":"72293:16:21"},"nativeSrc":"72293:16:21","nodeType":"YulExpressionStatement","src":"72293:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72329:4:21","nodeType":"YulLiteral","src":"72329:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"72335:2:21","nodeType":"YulIdentifier","src":"72335:2:21"}],"functionName":{"name":"mstore","nativeSrc":"72322:6:21","nodeType":"YulIdentifier","src":"72322:6:21"},"nativeSrc":"72322:16:21","nodeType":"YulFunctionCall","src":"72322:16:21"},"nativeSrc":"72322:16:21","nodeType":"YulExpressionStatement","src":"72322:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72358:4:21","nodeType":"YulLiteral","src":"72358:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"72364:2:21","nodeType":"YulIdentifier","src":"72364:2:21"}],"functionName":{"name":"mstore","nativeSrc":"72351:6:21","nodeType":"YulIdentifier","src":"72351:6:21"},"nativeSrc":"72351:16:21","nodeType":"YulFunctionCall","src":"72351:16:21"},"nativeSrc":"72351:16:21","nodeType":"YulExpressionStatement","src":"72351:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72387:4:21","nodeType":"YulLiteral","src":"72387:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"72393:2:21","nodeType":"YulIdentifier","src":"72393:2:21"}],"functionName":{"name":"mstore","nativeSrc":"72380:6:21","nodeType":"YulIdentifier","src":"72380:6:21"},"nativeSrc":"72380:16:21","nodeType":"YulFunctionCall","src":"72380:16:21"},"nativeSrc":"72380:16:21","nodeType":"YulExpressionStatement","src":"72380:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72416:4:21","nodeType":"YulLiteral","src":"72416:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"72422:2:21","nodeType":"YulIdentifier","src":"72422:2:21"}],"functionName":{"name":"mstore","nativeSrc":"72409:6:21","nodeType":"YulIdentifier","src":"72409:6:21"},"nativeSrc":"72409:16:21","nodeType":"YulFunctionCall","src":"72409:16:21"},"nativeSrc":"72409:16:21","nodeType":"YulExpressionStatement","src":"72409:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29268,"isOffset":false,"isSlot":false,"src":"72277:2:21","valueSize":1},{"declaration":29271,"isOffset":false,"isSlot":false,"src":"72306:2:21","valueSize":1},{"declaration":29274,"isOffset":false,"isSlot":false,"src":"72335:2:21","valueSize":1},{"declaration":29277,"isOffset":false,"isSlot":false,"src":"72364:2:21","valueSize":1},{"declaration":29280,"isOffset":false,"isSlot":false,"src":"72393:2:21","valueSize":1},{"declaration":29283,"isOffset":false,"isSlot":false,"src":"72422:2:21","valueSize":1}],"id":29291,"nodeType":"InlineAssembly","src":"72241:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"71152:3:21","parameters":{"id":29265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29260,"mutability":"mutable","name":"p0","nameLocation":"71164:2:21","nodeType":"VariableDeclaration","scope":29293,"src":"71156:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71156:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29262,"mutability":"mutable","name":"p1","nameLocation":"71176:2:21","nodeType":"VariableDeclaration","scope":29293,"src":"71168:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29261,"name":"address","nodeType":"ElementaryTypeName","src":"71168:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29264,"mutability":"mutable","name":"p2","nameLocation":"71188:2:21","nodeType":"VariableDeclaration","scope":29293,"src":"71180:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29263,"name":"uint256","nodeType":"ElementaryTypeName","src":"71180:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"71155:36:21"},"returnParameters":{"id":29266,"nodeType":"ParameterList","parameters":[],"src":"71206:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29334,"nodeType":"FunctionDefinition","src":"72447:1491:21","nodes":[],"body":{"id":29333,"nodeType":"Block","src":"72510:1428:21","nodes":[],"statements":[{"assignments":[29303],"declarations":[{"constant":false,"id":29303,"mutability":"mutable","name":"m0","nameLocation":"72528:2:21","nodeType":"VariableDeclaration","scope":29333,"src":"72520:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72520:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29304,"nodeType":"VariableDeclarationStatement","src":"72520:10:21"},{"assignments":[29306],"declarations":[{"constant":false,"id":29306,"mutability":"mutable","name":"m1","nameLocation":"72548:2:21","nodeType":"VariableDeclaration","scope":29333,"src":"72540:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72540:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29307,"nodeType":"VariableDeclarationStatement","src":"72540:10:21"},{"assignments":[29309],"declarations":[{"constant":false,"id":29309,"mutability":"mutable","name":"m2","nameLocation":"72568:2:21","nodeType":"VariableDeclaration","scope":29333,"src":"72560:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72560:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29310,"nodeType":"VariableDeclarationStatement","src":"72560:10:21"},{"assignments":[29312],"declarations":[{"constant":false,"id":29312,"mutability":"mutable","name":"m3","nameLocation":"72588:2:21","nodeType":"VariableDeclaration","scope":29333,"src":"72580:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72580:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29313,"nodeType":"VariableDeclarationStatement","src":"72580:10:21"},{"assignments":[29315],"declarations":[{"constant":false,"id":29315,"mutability":"mutable","name":"m4","nameLocation":"72608:2:21","nodeType":"VariableDeclaration","scope":29333,"src":"72600:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72600:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29316,"nodeType":"VariableDeclarationStatement","src":"72600:10:21"},{"assignments":[29318],"declarations":[{"constant":false,"id":29318,"mutability":"mutable","name":"m5","nameLocation":"72628:2:21","nodeType":"VariableDeclaration","scope":29333,"src":"72620:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72620:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29319,"nodeType":"VariableDeclarationStatement","src":"72620:10:21"},{"assignments":[29321],"declarations":[{"constant":false,"id":29321,"mutability":"mutable","name":"m6","nameLocation":"72648:2:21","nodeType":"VariableDeclaration","scope":29333,"src":"72640:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72640:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29322,"nodeType":"VariableDeclarationStatement","src":"72640:10:21"},{"assignments":[29324],"declarations":[{"constant":false,"id":29324,"mutability":"mutable","name":"m7","nameLocation":"72668:2:21","nodeType":"VariableDeclaration","scope":29333,"src":"72660:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72660:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29325,"nodeType":"VariableDeclarationStatement","src":"72660:10:21"},{"AST":{"nativeSrc":"72732:859:21","nodeType":"YulBlock","src":"72732:859:21","statements":[{"body":{"nativeSrc":"72775:313:21","nodeType":"YulBlock","src":"72775:313:21","statements":[{"nativeSrc":"72793:15:21","nodeType":"YulVariableDeclaration","src":"72793:15:21","value":{"kind":"number","nativeSrc":"72807:1:21","nodeType":"YulLiteral","src":"72807:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"72797:6:21","nodeType":"YulTypedName","src":"72797:6:21","type":""}]},{"body":{"nativeSrc":"72878:40:21","nodeType":"YulBlock","src":"72878:40:21","statements":[{"body":{"nativeSrc":"72907:9:21","nodeType":"YulBlock","src":"72907:9:21","statements":[{"nativeSrc":"72909:5:21","nodeType":"YulBreak","src":"72909:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"72895:6:21","nodeType":"YulIdentifier","src":"72895:6:21"},{"name":"w","nativeSrc":"72903:1:21","nodeType":"YulIdentifier","src":"72903:1:21"}],"functionName":{"name":"byte","nativeSrc":"72890:4:21","nodeType":"YulIdentifier","src":"72890:4:21"},"nativeSrc":"72890:15:21","nodeType":"YulFunctionCall","src":"72890:15:21"}],"functionName":{"name":"iszero","nativeSrc":"72883:6:21","nodeType":"YulIdentifier","src":"72883:6:21"},"nativeSrc":"72883:23:21","nodeType":"YulFunctionCall","src":"72883:23:21"},"nativeSrc":"72880:36:21","nodeType":"YulIf","src":"72880:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"72835:6:21","nodeType":"YulIdentifier","src":"72835:6:21"},{"kind":"number","nativeSrc":"72843:4:21","nodeType":"YulLiteral","src":"72843:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"72832:2:21","nodeType":"YulIdentifier","src":"72832:2:21"},"nativeSrc":"72832:16:21","nodeType":"YulFunctionCall","src":"72832:16:21"},"nativeSrc":"72825:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"72849:28:21","nodeType":"YulBlock","src":"72849:28:21","statements":[{"nativeSrc":"72851:24:21","nodeType":"YulAssignment","src":"72851:24:21","value":{"arguments":[{"name":"length","nativeSrc":"72865:6:21","nodeType":"YulIdentifier","src":"72865:6:21"},{"kind":"number","nativeSrc":"72873:1:21","nodeType":"YulLiteral","src":"72873:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"72861:3:21","nodeType":"YulIdentifier","src":"72861:3:21"},"nativeSrc":"72861:14:21","nodeType":"YulFunctionCall","src":"72861:14:21"},"variableNames":[{"name":"length","nativeSrc":"72851:6:21","nodeType":"YulIdentifier","src":"72851:6:21"}]}]},"pre":{"nativeSrc":"72829:2:21","nodeType":"YulBlock","src":"72829:2:21","statements":[]},"src":"72825:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"72942:3:21","nodeType":"YulIdentifier","src":"72942:3:21"},{"name":"length","nativeSrc":"72947:6:21","nodeType":"YulIdentifier","src":"72947:6:21"}],"functionName":{"name":"mstore","nativeSrc":"72935:6:21","nodeType":"YulIdentifier","src":"72935:6:21"},"nativeSrc":"72935:19:21","nodeType":"YulFunctionCall","src":"72935:19:21"},"nativeSrc":"72935:19:21","nodeType":"YulExpressionStatement","src":"72935:19:21"},{"nativeSrc":"72971:37:21","nodeType":"YulVariableDeclaration","src":"72971:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"72988:3:21","nodeType":"YulLiteral","src":"72988:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"72997:1:21","nodeType":"YulLiteral","src":"72997:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"73000:6:21","nodeType":"YulIdentifier","src":"73000:6:21"}],"functionName":{"name":"shl","nativeSrc":"72993:3:21","nodeType":"YulIdentifier","src":"72993:3:21"},"nativeSrc":"72993:14:21","nodeType":"YulFunctionCall","src":"72993:14:21"}],"functionName":{"name":"sub","nativeSrc":"72984:3:21","nodeType":"YulIdentifier","src":"72984:3:21"},"nativeSrc":"72984:24:21","nodeType":"YulFunctionCall","src":"72984:24:21"},"variables":[{"name":"shift","nativeSrc":"72975:5:21","nodeType":"YulTypedName","src":"72975:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"73036:3:21","nodeType":"YulIdentifier","src":"73036:3:21"},{"kind":"number","nativeSrc":"73041:4:21","nodeType":"YulLiteral","src":"73041:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"73032:3:21","nodeType":"YulIdentifier","src":"73032:3:21"},"nativeSrc":"73032:14:21","nodeType":"YulFunctionCall","src":"73032:14:21"},{"arguments":[{"name":"shift","nativeSrc":"73052:5:21","nodeType":"YulIdentifier","src":"73052:5:21"},{"arguments":[{"name":"shift","nativeSrc":"73063:5:21","nodeType":"YulIdentifier","src":"73063:5:21"},{"name":"w","nativeSrc":"73070:1:21","nodeType":"YulIdentifier","src":"73070:1:21"}],"functionName":{"name":"shr","nativeSrc":"73059:3:21","nodeType":"YulIdentifier","src":"73059:3:21"},"nativeSrc":"73059:13:21","nodeType":"YulFunctionCall","src":"73059:13:21"}],"functionName":{"name":"shl","nativeSrc":"73048:3:21","nodeType":"YulIdentifier","src":"73048:3:21"},"nativeSrc":"73048:25:21","nodeType":"YulFunctionCall","src":"73048:25:21"}],"functionName":{"name":"mstore","nativeSrc":"73025:6:21","nodeType":"YulIdentifier","src":"73025:6:21"},"nativeSrc":"73025:49:21","nodeType":"YulFunctionCall","src":"73025:49:21"},"nativeSrc":"73025:49:21","nodeType":"YulExpressionStatement","src":"73025:49:21"}]},"name":"writeString","nativeSrc":"72746:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"72767:3:21","nodeType":"YulTypedName","src":"72767:3:21","type":""},{"name":"w","nativeSrc":"72772:1:21","nodeType":"YulTypedName","src":"72772:1:21","type":""}],"src":"72746:342:21"},{"nativeSrc":"73101:17:21","nodeType":"YulAssignment","src":"73101:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"73113:4:21","nodeType":"YulLiteral","src":"73113:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"73107:5:21","nodeType":"YulIdentifier","src":"73107:5:21"},"nativeSrc":"73107:11:21","nodeType":"YulFunctionCall","src":"73107:11:21"},"variableNames":[{"name":"m0","nativeSrc":"73101:2:21","nodeType":"YulIdentifier","src":"73101:2:21"}]},{"nativeSrc":"73131:17:21","nodeType":"YulAssignment","src":"73131:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"73143:4:21","nodeType":"YulLiteral","src":"73143:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"73137:5:21","nodeType":"YulIdentifier","src":"73137:5:21"},"nativeSrc":"73137:11:21","nodeType":"YulFunctionCall","src":"73137:11:21"},"variableNames":[{"name":"m1","nativeSrc":"73131:2:21","nodeType":"YulIdentifier","src":"73131:2:21"}]},{"nativeSrc":"73161:17:21","nodeType":"YulAssignment","src":"73161:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"73173:4:21","nodeType":"YulLiteral","src":"73173:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"73167:5:21","nodeType":"YulIdentifier","src":"73167:5:21"},"nativeSrc":"73167:11:21","nodeType":"YulFunctionCall","src":"73167:11:21"},"variableNames":[{"name":"m2","nativeSrc":"73161:2:21","nodeType":"YulIdentifier","src":"73161:2:21"}]},{"nativeSrc":"73191:17:21","nodeType":"YulAssignment","src":"73191:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"73203:4:21","nodeType":"YulLiteral","src":"73203:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"73197:5:21","nodeType":"YulIdentifier","src":"73197:5:21"},"nativeSrc":"73197:11:21","nodeType":"YulFunctionCall","src":"73197:11:21"},"variableNames":[{"name":"m3","nativeSrc":"73191:2:21","nodeType":"YulIdentifier","src":"73191:2:21"}]},{"nativeSrc":"73221:17:21","nodeType":"YulAssignment","src":"73221:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"73233:4:21","nodeType":"YulLiteral","src":"73233:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"73227:5:21","nodeType":"YulIdentifier","src":"73227:5:21"},"nativeSrc":"73227:11:21","nodeType":"YulFunctionCall","src":"73227:11:21"},"variableNames":[{"name":"m4","nativeSrc":"73221:2:21","nodeType":"YulIdentifier","src":"73221:2:21"}]},{"nativeSrc":"73251:17:21","nodeType":"YulAssignment","src":"73251:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"73263:4:21","nodeType":"YulLiteral","src":"73263:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"73257:5:21","nodeType":"YulIdentifier","src":"73257:5:21"},"nativeSrc":"73257:11:21","nodeType":"YulFunctionCall","src":"73257:11:21"},"variableNames":[{"name":"m5","nativeSrc":"73251:2:21","nodeType":"YulIdentifier","src":"73251:2:21"}]},{"nativeSrc":"73281:17:21","nodeType":"YulAssignment","src":"73281:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"73293:4:21","nodeType":"YulLiteral","src":"73293:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"73287:5:21","nodeType":"YulIdentifier","src":"73287:5:21"},"nativeSrc":"73287:11:21","nodeType":"YulFunctionCall","src":"73287:11:21"},"variableNames":[{"name":"m6","nativeSrc":"73281:2:21","nodeType":"YulIdentifier","src":"73281:2:21"}]},{"nativeSrc":"73311:17:21","nodeType":"YulAssignment","src":"73311:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"73323:4:21","nodeType":"YulLiteral","src":"73323:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"73317:5:21","nodeType":"YulIdentifier","src":"73317:5:21"},"nativeSrc":"73317:11:21","nodeType":"YulFunctionCall","src":"73317:11:21"},"variableNames":[{"name":"m7","nativeSrc":"73311:2:21","nodeType":"YulIdentifier","src":"73311:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73405:4:21","nodeType":"YulLiteral","src":"73405:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"73411:10:21","nodeType":"YulLiteral","src":"73411:10:21","type":"","value":"0xe0e9ad4f"}],"functionName":{"name":"mstore","nativeSrc":"73398:6:21","nodeType":"YulIdentifier","src":"73398:6:21"},"nativeSrc":"73398:24:21","nodeType":"YulFunctionCall","src":"73398:24:21"},"nativeSrc":"73398:24:21","nodeType":"YulExpressionStatement","src":"73398:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73442:4:21","nodeType":"YulLiteral","src":"73442:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"73448:4:21","nodeType":"YulLiteral","src":"73448:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"73435:6:21","nodeType":"YulIdentifier","src":"73435:6:21"},"nativeSrc":"73435:18:21","nodeType":"YulFunctionCall","src":"73435:18:21"},"nativeSrc":"73435:18:21","nodeType":"YulExpressionStatement","src":"73435:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73473:4:21","nodeType":"YulLiteral","src":"73473:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"73479:2:21","nodeType":"YulIdentifier","src":"73479:2:21"}],"functionName":{"name":"mstore","nativeSrc":"73466:6:21","nodeType":"YulIdentifier","src":"73466:6:21"},"nativeSrc":"73466:16:21","nodeType":"YulFunctionCall","src":"73466:16:21"},"nativeSrc":"73466:16:21","nodeType":"YulExpressionStatement","src":"73466:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73502:4:21","nodeType":"YulLiteral","src":"73502:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"73508:4:21","nodeType":"YulLiteral","src":"73508:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"73495:6:21","nodeType":"YulIdentifier","src":"73495:6:21"},"nativeSrc":"73495:18:21","nodeType":"YulFunctionCall","src":"73495:18:21"},"nativeSrc":"73495:18:21","nodeType":"YulExpressionStatement","src":"73495:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73538:4:21","nodeType":"YulLiteral","src":"73538:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"73544:2:21","nodeType":"YulIdentifier","src":"73544:2:21"}],"functionName":{"name":"writeString","nativeSrc":"73526:11:21","nodeType":"YulIdentifier","src":"73526:11:21"},"nativeSrc":"73526:21:21","nodeType":"YulFunctionCall","src":"73526:21:21"},"nativeSrc":"73526:21:21","nodeType":"YulExpressionStatement","src":"73526:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73572:4:21","nodeType":"YulLiteral","src":"73572:4:21","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"73578:2:21","nodeType":"YulIdentifier","src":"73578:2:21"}],"functionName":{"name":"writeString","nativeSrc":"73560:11:21","nodeType":"YulIdentifier","src":"73560:11:21"},"nativeSrc":"73560:21:21","nodeType":"YulFunctionCall","src":"73560:21:21"},"nativeSrc":"73560:21:21","nodeType":"YulExpressionStatement","src":"73560:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29303,"isOffset":false,"isSlot":false,"src":"73101:2:21","valueSize":1},{"declaration":29306,"isOffset":false,"isSlot":false,"src":"73131:2:21","valueSize":1},{"declaration":29309,"isOffset":false,"isSlot":false,"src":"73161:2:21","valueSize":1},{"declaration":29312,"isOffset":false,"isSlot":false,"src":"73191:2:21","valueSize":1},{"declaration":29315,"isOffset":false,"isSlot":false,"src":"73221:2:21","valueSize":1},{"declaration":29318,"isOffset":false,"isSlot":false,"src":"73251:2:21","valueSize":1},{"declaration":29321,"isOffset":false,"isSlot":false,"src":"73281:2:21","valueSize":1},{"declaration":29324,"isOffset":false,"isSlot":false,"src":"73311:2:21","valueSize":1},{"declaration":29295,"isOffset":false,"isSlot":false,"src":"73544:2:21","valueSize":1},{"declaration":29297,"isOffset":false,"isSlot":false,"src":"73479:2:21","valueSize":1},{"declaration":29299,"isOffset":false,"isSlot":false,"src":"73578:2:21","valueSize":1}],"id":29326,"nodeType":"InlineAssembly","src":"72723:868:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"73616:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":29329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"73622:4:21","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":29327,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"73600:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73600:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29331,"nodeType":"ExpressionStatement","src":"73600:27:21"},{"AST":{"nativeSrc":"73689:243:21","nodeType":"YulBlock","src":"73689:243:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"73710:4:21","nodeType":"YulLiteral","src":"73710:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"73716:2:21","nodeType":"YulIdentifier","src":"73716:2:21"}],"functionName":{"name":"mstore","nativeSrc":"73703:6:21","nodeType":"YulIdentifier","src":"73703:6:21"},"nativeSrc":"73703:16:21","nodeType":"YulFunctionCall","src":"73703:16:21"},"nativeSrc":"73703:16:21","nodeType":"YulExpressionStatement","src":"73703:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73739:4:21","nodeType":"YulLiteral","src":"73739:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"73745:2:21","nodeType":"YulIdentifier","src":"73745:2:21"}],"functionName":{"name":"mstore","nativeSrc":"73732:6:21","nodeType":"YulIdentifier","src":"73732:6:21"},"nativeSrc":"73732:16:21","nodeType":"YulFunctionCall","src":"73732:16:21"},"nativeSrc":"73732:16:21","nodeType":"YulExpressionStatement","src":"73732:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73768:4:21","nodeType":"YulLiteral","src":"73768:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"73774:2:21","nodeType":"YulIdentifier","src":"73774:2:21"}],"functionName":{"name":"mstore","nativeSrc":"73761:6:21","nodeType":"YulIdentifier","src":"73761:6:21"},"nativeSrc":"73761:16:21","nodeType":"YulFunctionCall","src":"73761:16:21"},"nativeSrc":"73761:16:21","nodeType":"YulExpressionStatement","src":"73761:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73797:4:21","nodeType":"YulLiteral","src":"73797:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"73803:2:21","nodeType":"YulIdentifier","src":"73803:2:21"}],"functionName":{"name":"mstore","nativeSrc":"73790:6:21","nodeType":"YulIdentifier","src":"73790:6:21"},"nativeSrc":"73790:16:21","nodeType":"YulFunctionCall","src":"73790:16:21"},"nativeSrc":"73790:16:21","nodeType":"YulExpressionStatement","src":"73790:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73826:4:21","nodeType":"YulLiteral","src":"73826:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"73832:2:21","nodeType":"YulIdentifier","src":"73832:2:21"}],"functionName":{"name":"mstore","nativeSrc":"73819:6:21","nodeType":"YulIdentifier","src":"73819:6:21"},"nativeSrc":"73819:16:21","nodeType":"YulFunctionCall","src":"73819:16:21"},"nativeSrc":"73819:16:21","nodeType":"YulExpressionStatement","src":"73819:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73855:4:21","nodeType":"YulLiteral","src":"73855:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"73861:2:21","nodeType":"YulIdentifier","src":"73861:2:21"}],"functionName":{"name":"mstore","nativeSrc":"73848:6:21","nodeType":"YulIdentifier","src":"73848:6:21"},"nativeSrc":"73848:16:21","nodeType":"YulFunctionCall","src":"73848:16:21"},"nativeSrc":"73848:16:21","nodeType":"YulExpressionStatement","src":"73848:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73884:4:21","nodeType":"YulLiteral","src":"73884:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"73890:2:21","nodeType":"YulIdentifier","src":"73890:2:21"}],"functionName":{"name":"mstore","nativeSrc":"73877:6:21","nodeType":"YulIdentifier","src":"73877:6:21"},"nativeSrc":"73877:16:21","nodeType":"YulFunctionCall","src":"73877:16:21"},"nativeSrc":"73877:16:21","nodeType":"YulExpressionStatement","src":"73877:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73913:4:21","nodeType":"YulLiteral","src":"73913:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"73919:2:21","nodeType":"YulIdentifier","src":"73919:2:21"}],"functionName":{"name":"mstore","nativeSrc":"73906:6:21","nodeType":"YulIdentifier","src":"73906:6:21"},"nativeSrc":"73906:16:21","nodeType":"YulFunctionCall","src":"73906:16:21"},"nativeSrc":"73906:16:21","nodeType":"YulExpressionStatement","src":"73906:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29303,"isOffset":false,"isSlot":false,"src":"73716:2:21","valueSize":1},{"declaration":29306,"isOffset":false,"isSlot":false,"src":"73745:2:21","valueSize":1},{"declaration":29309,"isOffset":false,"isSlot":false,"src":"73774:2:21","valueSize":1},{"declaration":29312,"isOffset":false,"isSlot":false,"src":"73803:2:21","valueSize":1},{"declaration":29315,"isOffset":false,"isSlot":false,"src":"73832:2:21","valueSize":1},{"declaration":29318,"isOffset":false,"isSlot":false,"src":"73861:2:21","valueSize":1},{"declaration":29321,"isOffset":false,"isSlot":false,"src":"73890:2:21","valueSize":1},{"declaration":29324,"isOffset":false,"isSlot":false,"src":"73919:2:21","valueSize":1}],"id":29332,"nodeType":"InlineAssembly","src":"73680:252:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"72456:3:21","parameters":{"id":29300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29295,"mutability":"mutable","name":"p0","nameLocation":"72468:2:21","nodeType":"VariableDeclaration","scope":29334,"src":"72460:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72460:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29297,"mutability":"mutable","name":"p1","nameLocation":"72480:2:21","nodeType":"VariableDeclaration","scope":29334,"src":"72472:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29296,"name":"address","nodeType":"ElementaryTypeName","src":"72472:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29299,"mutability":"mutable","name":"p2","nameLocation":"72492:2:21","nodeType":"VariableDeclaration","scope":29334,"src":"72484:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72484:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"72459:36:21"},"returnParameters":{"id":29301,"nodeType":"ParameterList","parameters":[],"src":"72510:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29369,"nodeType":"FunctionDefinition","src":"73944:1292:21","nodes":[],"body":{"id":29368,"nodeType":"Block","src":"74004:1232:21","nodes":[],"statements":[{"assignments":[29344],"declarations":[{"constant":false,"id":29344,"mutability":"mutable","name":"m0","nameLocation":"74022:2:21","nodeType":"VariableDeclaration","scope":29368,"src":"74014:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74014:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29345,"nodeType":"VariableDeclarationStatement","src":"74014:10:21"},{"assignments":[29347],"declarations":[{"constant":false,"id":29347,"mutability":"mutable","name":"m1","nameLocation":"74042:2:21","nodeType":"VariableDeclaration","scope":29368,"src":"74034:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74034:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29348,"nodeType":"VariableDeclarationStatement","src":"74034:10:21"},{"assignments":[29350],"declarations":[{"constant":false,"id":29350,"mutability":"mutable","name":"m2","nameLocation":"74062:2:21","nodeType":"VariableDeclaration","scope":29368,"src":"74054:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74054:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29351,"nodeType":"VariableDeclarationStatement","src":"74054:10:21"},{"assignments":[29353],"declarations":[{"constant":false,"id":29353,"mutability":"mutable","name":"m3","nameLocation":"74082:2:21","nodeType":"VariableDeclaration","scope":29368,"src":"74074:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74074:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29354,"nodeType":"VariableDeclarationStatement","src":"74074:10:21"},{"assignments":[29356],"declarations":[{"constant":false,"id":29356,"mutability":"mutable","name":"m4","nameLocation":"74102:2:21","nodeType":"VariableDeclaration","scope":29368,"src":"74094:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74094:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29357,"nodeType":"VariableDeclarationStatement","src":"74094:10:21"},{"assignments":[29359],"declarations":[{"constant":false,"id":29359,"mutability":"mutable","name":"m5","nameLocation":"74122:2:21","nodeType":"VariableDeclaration","scope":29368,"src":"74114:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74114:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29360,"nodeType":"VariableDeclarationStatement","src":"74114:10:21"},{"AST":{"nativeSrc":"74186:761:21","nodeType":"YulBlock","src":"74186:761:21","statements":[{"body":{"nativeSrc":"74229:313:21","nodeType":"YulBlock","src":"74229:313:21","statements":[{"nativeSrc":"74247:15:21","nodeType":"YulVariableDeclaration","src":"74247:15:21","value":{"kind":"number","nativeSrc":"74261:1:21","nodeType":"YulLiteral","src":"74261:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"74251:6:21","nodeType":"YulTypedName","src":"74251:6:21","type":""}]},{"body":{"nativeSrc":"74332:40:21","nodeType":"YulBlock","src":"74332:40:21","statements":[{"body":{"nativeSrc":"74361:9:21","nodeType":"YulBlock","src":"74361:9:21","statements":[{"nativeSrc":"74363:5:21","nodeType":"YulBreak","src":"74363:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"74349:6:21","nodeType":"YulIdentifier","src":"74349:6:21"},{"name":"w","nativeSrc":"74357:1:21","nodeType":"YulIdentifier","src":"74357:1:21"}],"functionName":{"name":"byte","nativeSrc":"74344:4:21","nodeType":"YulIdentifier","src":"74344:4:21"},"nativeSrc":"74344:15:21","nodeType":"YulFunctionCall","src":"74344:15:21"}],"functionName":{"name":"iszero","nativeSrc":"74337:6:21","nodeType":"YulIdentifier","src":"74337:6:21"},"nativeSrc":"74337:23:21","nodeType":"YulFunctionCall","src":"74337:23:21"},"nativeSrc":"74334:36:21","nodeType":"YulIf","src":"74334:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"74289:6:21","nodeType":"YulIdentifier","src":"74289:6:21"},{"kind":"number","nativeSrc":"74297:4:21","nodeType":"YulLiteral","src":"74297:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"74286:2:21","nodeType":"YulIdentifier","src":"74286:2:21"},"nativeSrc":"74286:16:21","nodeType":"YulFunctionCall","src":"74286:16:21"},"nativeSrc":"74279:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"74303:28:21","nodeType":"YulBlock","src":"74303:28:21","statements":[{"nativeSrc":"74305:24:21","nodeType":"YulAssignment","src":"74305:24:21","value":{"arguments":[{"name":"length","nativeSrc":"74319:6:21","nodeType":"YulIdentifier","src":"74319:6:21"},{"kind":"number","nativeSrc":"74327:1:21","nodeType":"YulLiteral","src":"74327:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"74315:3:21","nodeType":"YulIdentifier","src":"74315:3:21"},"nativeSrc":"74315:14:21","nodeType":"YulFunctionCall","src":"74315:14:21"},"variableNames":[{"name":"length","nativeSrc":"74305:6:21","nodeType":"YulIdentifier","src":"74305:6:21"}]}]},"pre":{"nativeSrc":"74283:2:21","nodeType":"YulBlock","src":"74283:2:21","statements":[]},"src":"74279:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"74396:3:21","nodeType":"YulIdentifier","src":"74396:3:21"},{"name":"length","nativeSrc":"74401:6:21","nodeType":"YulIdentifier","src":"74401:6:21"}],"functionName":{"name":"mstore","nativeSrc":"74389:6:21","nodeType":"YulIdentifier","src":"74389:6:21"},"nativeSrc":"74389:19:21","nodeType":"YulFunctionCall","src":"74389:19:21"},"nativeSrc":"74389:19:21","nodeType":"YulExpressionStatement","src":"74389:19:21"},{"nativeSrc":"74425:37:21","nodeType":"YulVariableDeclaration","src":"74425:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"74442:3:21","nodeType":"YulLiteral","src":"74442:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"74451:1:21","nodeType":"YulLiteral","src":"74451:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"74454:6:21","nodeType":"YulIdentifier","src":"74454:6:21"}],"functionName":{"name":"shl","nativeSrc":"74447:3:21","nodeType":"YulIdentifier","src":"74447:3:21"},"nativeSrc":"74447:14:21","nodeType":"YulFunctionCall","src":"74447:14:21"}],"functionName":{"name":"sub","nativeSrc":"74438:3:21","nodeType":"YulIdentifier","src":"74438:3:21"},"nativeSrc":"74438:24:21","nodeType":"YulFunctionCall","src":"74438:24:21"},"variables":[{"name":"shift","nativeSrc":"74429:5:21","nodeType":"YulTypedName","src":"74429:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"74490:3:21","nodeType":"YulIdentifier","src":"74490:3:21"},{"kind":"number","nativeSrc":"74495:4:21","nodeType":"YulLiteral","src":"74495:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"74486:3:21","nodeType":"YulIdentifier","src":"74486:3:21"},"nativeSrc":"74486:14:21","nodeType":"YulFunctionCall","src":"74486:14:21"},{"arguments":[{"name":"shift","nativeSrc":"74506:5:21","nodeType":"YulIdentifier","src":"74506:5:21"},{"arguments":[{"name":"shift","nativeSrc":"74517:5:21","nodeType":"YulIdentifier","src":"74517:5:21"},{"name":"w","nativeSrc":"74524:1:21","nodeType":"YulIdentifier","src":"74524:1:21"}],"functionName":{"name":"shr","nativeSrc":"74513:3:21","nodeType":"YulIdentifier","src":"74513:3:21"},"nativeSrc":"74513:13:21","nodeType":"YulFunctionCall","src":"74513:13:21"}],"functionName":{"name":"shl","nativeSrc":"74502:3:21","nodeType":"YulIdentifier","src":"74502:3:21"},"nativeSrc":"74502:25:21","nodeType":"YulFunctionCall","src":"74502:25:21"}],"functionName":{"name":"mstore","nativeSrc":"74479:6:21","nodeType":"YulIdentifier","src":"74479:6:21"},"nativeSrc":"74479:49:21","nodeType":"YulFunctionCall","src":"74479:49:21"},"nativeSrc":"74479:49:21","nodeType":"YulExpressionStatement","src":"74479:49:21"}]},"name":"writeString","nativeSrc":"74200:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"74221:3:21","nodeType":"YulTypedName","src":"74221:3:21","type":""},{"name":"w","nativeSrc":"74226:1:21","nodeType":"YulTypedName","src":"74226:1:21","type":""}],"src":"74200:342:21"},{"nativeSrc":"74555:17:21","nodeType":"YulAssignment","src":"74555:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"74567:4:21","nodeType":"YulLiteral","src":"74567:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"74561:5:21","nodeType":"YulIdentifier","src":"74561:5:21"},"nativeSrc":"74561:11:21","nodeType":"YulFunctionCall","src":"74561:11:21"},"variableNames":[{"name":"m0","nativeSrc":"74555:2:21","nodeType":"YulIdentifier","src":"74555:2:21"}]},{"nativeSrc":"74585:17:21","nodeType":"YulAssignment","src":"74585:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"74597:4:21","nodeType":"YulLiteral","src":"74597:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"74591:5:21","nodeType":"YulIdentifier","src":"74591:5:21"},"nativeSrc":"74591:11:21","nodeType":"YulFunctionCall","src":"74591:11:21"},"variableNames":[{"name":"m1","nativeSrc":"74585:2:21","nodeType":"YulIdentifier","src":"74585:2:21"}]},{"nativeSrc":"74615:17:21","nodeType":"YulAssignment","src":"74615:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"74627:4:21","nodeType":"YulLiteral","src":"74627:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"74621:5:21","nodeType":"YulIdentifier","src":"74621:5:21"},"nativeSrc":"74621:11:21","nodeType":"YulFunctionCall","src":"74621:11:21"},"variableNames":[{"name":"m2","nativeSrc":"74615:2:21","nodeType":"YulIdentifier","src":"74615:2:21"}]},{"nativeSrc":"74645:17:21","nodeType":"YulAssignment","src":"74645:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"74657:4:21","nodeType":"YulLiteral","src":"74657:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"74651:5:21","nodeType":"YulIdentifier","src":"74651:5:21"},"nativeSrc":"74651:11:21","nodeType":"YulFunctionCall","src":"74651:11:21"},"variableNames":[{"name":"m3","nativeSrc":"74645:2:21","nodeType":"YulIdentifier","src":"74645:2:21"}]},{"nativeSrc":"74675:17:21","nodeType":"YulAssignment","src":"74675:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"74687:4:21","nodeType":"YulLiteral","src":"74687:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"74681:5:21","nodeType":"YulIdentifier","src":"74681:5:21"},"nativeSrc":"74681:11:21","nodeType":"YulFunctionCall","src":"74681:11:21"},"variableNames":[{"name":"m4","nativeSrc":"74675:2:21","nodeType":"YulIdentifier","src":"74675:2:21"}]},{"nativeSrc":"74705:17:21","nodeType":"YulAssignment","src":"74705:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"74717:4:21","nodeType":"YulLiteral","src":"74717:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"74711:5:21","nodeType":"YulIdentifier","src":"74711:5:21"},"nativeSrc":"74711:11:21","nodeType":"YulFunctionCall","src":"74711:11:21"},"variableNames":[{"name":"m5","nativeSrc":"74705:2:21","nodeType":"YulIdentifier","src":"74705:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74797:4:21","nodeType":"YulLiteral","src":"74797:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"74803:10:21","nodeType":"YulLiteral","src":"74803:10:21","type":"","value":"0x932bbb38"}],"functionName":{"name":"mstore","nativeSrc":"74790:6:21","nodeType":"YulIdentifier","src":"74790:6:21"},"nativeSrc":"74790:24:21","nodeType":"YulFunctionCall","src":"74790:24:21"},"nativeSrc":"74790:24:21","nodeType":"YulExpressionStatement","src":"74790:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74834:4:21","nodeType":"YulLiteral","src":"74834:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"74840:4:21","nodeType":"YulLiteral","src":"74840:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"74827:6:21","nodeType":"YulIdentifier","src":"74827:6:21"},"nativeSrc":"74827:18:21","nodeType":"YulFunctionCall","src":"74827:18:21"},"nativeSrc":"74827:18:21","nodeType":"YulExpressionStatement","src":"74827:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74865:4:21","nodeType":"YulLiteral","src":"74865:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"74871:2:21","nodeType":"YulIdentifier","src":"74871:2:21"}],"functionName":{"name":"mstore","nativeSrc":"74858:6:21","nodeType":"YulIdentifier","src":"74858:6:21"},"nativeSrc":"74858:16:21","nodeType":"YulFunctionCall","src":"74858:16:21"},"nativeSrc":"74858:16:21","nodeType":"YulExpressionStatement","src":"74858:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74894:4:21","nodeType":"YulLiteral","src":"74894:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"74900:2:21","nodeType":"YulIdentifier","src":"74900:2:21"}],"functionName":{"name":"mstore","nativeSrc":"74887:6:21","nodeType":"YulIdentifier","src":"74887:6:21"},"nativeSrc":"74887:16:21","nodeType":"YulFunctionCall","src":"74887:16:21"},"nativeSrc":"74887:16:21","nodeType":"YulExpressionStatement","src":"74887:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74928:4:21","nodeType":"YulLiteral","src":"74928:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"74934:2:21","nodeType":"YulIdentifier","src":"74934:2:21"}],"functionName":{"name":"writeString","nativeSrc":"74916:11:21","nodeType":"YulIdentifier","src":"74916:11:21"},"nativeSrc":"74916:21:21","nodeType":"YulFunctionCall","src":"74916:21:21"},"nativeSrc":"74916:21:21","nodeType":"YulExpressionStatement","src":"74916:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29344,"isOffset":false,"isSlot":false,"src":"74555:2:21","valueSize":1},{"declaration":29347,"isOffset":false,"isSlot":false,"src":"74585:2:21","valueSize":1},{"declaration":29350,"isOffset":false,"isSlot":false,"src":"74615:2:21","valueSize":1},{"declaration":29353,"isOffset":false,"isSlot":false,"src":"74645:2:21","valueSize":1},{"declaration":29356,"isOffset":false,"isSlot":false,"src":"74675:2:21","valueSize":1},{"declaration":29359,"isOffset":false,"isSlot":false,"src":"74705:2:21","valueSize":1},{"declaration":29336,"isOffset":false,"isSlot":false,"src":"74934:2:21","valueSize":1},{"declaration":29338,"isOffset":false,"isSlot":false,"src":"74871:2:21","valueSize":1},{"declaration":29340,"isOffset":false,"isSlot":false,"src":"74900:2:21","valueSize":1}],"id":29361,"nodeType":"InlineAssembly","src":"74177:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74972:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74978:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29362,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"74956:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74956:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29366,"nodeType":"ExpressionStatement","src":"74956:27:21"},{"AST":{"nativeSrc":"75045:185:21","nodeType":"YulBlock","src":"75045:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"75066:4:21","nodeType":"YulLiteral","src":"75066:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"75072:2:21","nodeType":"YulIdentifier","src":"75072:2:21"}],"functionName":{"name":"mstore","nativeSrc":"75059:6:21","nodeType":"YulIdentifier","src":"75059:6:21"},"nativeSrc":"75059:16:21","nodeType":"YulFunctionCall","src":"75059:16:21"},"nativeSrc":"75059:16:21","nodeType":"YulExpressionStatement","src":"75059:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75095:4:21","nodeType":"YulLiteral","src":"75095:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"75101:2:21","nodeType":"YulIdentifier","src":"75101:2:21"}],"functionName":{"name":"mstore","nativeSrc":"75088:6:21","nodeType":"YulIdentifier","src":"75088:6:21"},"nativeSrc":"75088:16:21","nodeType":"YulFunctionCall","src":"75088:16:21"},"nativeSrc":"75088:16:21","nodeType":"YulExpressionStatement","src":"75088:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75124:4:21","nodeType":"YulLiteral","src":"75124:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"75130:2:21","nodeType":"YulIdentifier","src":"75130:2:21"}],"functionName":{"name":"mstore","nativeSrc":"75117:6:21","nodeType":"YulIdentifier","src":"75117:6:21"},"nativeSrc":"75117:16:21","nodeType":"YulFunctionCall","src":"75117:16:21"},"nativeSrc":"75117:16:21","nodeType":"YulExpressionStatement","src":"75117:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75153:4:21","nodeType":"YulLiteral","src":"75153:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"75159:2:21","nodeType":"YulIdentifier","src":"75159:2:21"}],"functionName":{"name":"mstore","nativeSrc":"75146:6:21","nodeType":"YulIdentifier","src":"75146:6:21"},"nativeSrc":"75146:16:21","nodeType":"YulFunctionCall","src":"75146:16:21"},"nativeSrc":"75146:16:21","nodeType":"YulExpressionStatement","src":"75146:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75182:4:21","nodeType":"YulLiteral","src":"75182:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"75188:2:21","nodeType":"YulIdentifier","src":"75188:2:21"}],"functionName":{"name":"mstore","nativeSrc":"75175:6:21","nodeType":"YulIdentifier","src":"75175:6:21"},"nativeSrc":"75175:16:21","nodeType":"YulFunctionCall","src":"75175:16:21"},"nativeSrc":"75175:16:21","nodeType":"YulExpressionStatement","src":"75175:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75211:4:21","nodeType":"YulLiteral","src":"75211:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"75217:2:21","nodeType":"YulIdentifier","src":"75217:2:21"}],"functionName":{"name":"mstore","nativeSrc":"75204:6:21","nodeType":"YulIdentifier","src":"75204:6:21"},"nativeSrc":"75204:16:21","nodeType":"YulFunctionCall","src":"75204:16:21"},"nativeSrc":"75204:16:21","nodeType":"YulExpressionStatement","src":"75204:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29344,"isOffset":false,"isSlot":false,"src":"75072:2:21","valueSize":1},{"declaration":29347,"isOffset":false,"isSlot":false,"src":"75101:2:21","valueSize":1},{"declaration":29350,"isOffset":false,"isSlot":false,"src":"75130:2:21","valueSize":1},{"declaration":29353,"isOffset":false,"isSlot":false,"src":"75159:2:21","valueSize":1},{"declaration":29356,"isOffset":false,"isSlot":false,"src":"75188:2:21","valueSize":1},{"declaration":29359,"isOffset":false,"isSlot":false,"src":"75217:2:21","valueSize":1}],"id":29367,"nodeType":"InlineAssembly","src":"75036:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"73953:3:21","parameters":{"id":29341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29336,"mutability":"mutable","name":"p0","nameLocation":"73965:2:21","nodeType":"VariableDeclaration","scope":29369,"src":"73957:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73957:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29338,"mutability":"mutable","name":"p1","nameLocation":"73974:2:21","nodeType":"VariableDeclaration","scope":29369,"src":"73969:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29337,"name":"bool","nodeType":"ElementaryTypeName","src":"73969:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29340,"mutability":"mutable","name":"p2","nameLocation":"73986:2:21","nodeType":"VariableDeclaration","scope":29369,"src":"73978:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29339,"name":"address","nodeType":"ElementaryTypeName","src":"73978:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"73956:33:21"},"returnParameters":{"id":29342,"nodeType":"ParameterList","parameters":[],"src":"74004:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29404,"nodeType":"FunctionDefinition","src":"75242:1286:21","nodes":[],"body":{"id":29403,"nodeType":"Block","src":"75299:1229:21","nodes":[],"statements":[{"assignments":[29379],"declarations":[{"constant":false,"id":29379,"mutability":"mutable","name":"m0","nameLocation":"75317:2:21","nodeType":"VariableDeclaration","scope":29403,"src":"75309:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75309:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29380,"nodeType":"VariableDeclarationStatement","src":"75309:10:21"},{"assignments":[29382],"declarations":[{"constant":false,"id":29382,"mutability":"mutable","name":"m1","nameLocation":"75337:2:21","nodeType":"VariableDeclaration","scope":29403,"src":"75329:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75329:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29383,"nodeType":"VariableDeclarationStatement","src":"75329:10:21"},{"assignments":[29385],"declarations":[{"constant":false,"id":29385,"mutability":"mutable","name":"m2","nameLocation":"75357:2:21","nodeType":"VariableDeclaration","scope":29403,"src":"75349:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75349:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29386,"nodeType":"VariableDeclarationStatement","src":"75349:10:21"},{"assignments":[29388],"declarations":[{"constant":false,"id":29388,"mutability":"mutable","name":"m3","nameLocation":"75377:2:21","nodeType":"VariableDeclaration","scope":29403,"src":"75369:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75369:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29389,"nodeType":"VariableDeclarationStatement","src":"75369:10:21"},{"assignments":[29391],"declarations":[{"constant":false,"id":29391,"mutability":"mutable","name":"m4","nameLocation":"75397:2:21","nodeType":"VariableDeclaration","scope":29403,"src":"75389:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75389:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29392,"nodeType":"VariableDeclarationStatement","src":"75389:10:21"},{"assignments":[29394],"declarations":[{"constant":false,"id":29394,"mutability":"mutable","name":"m5","nameLocation":"75417:2:21","nodeType":"VariableDeclaration","scope":29403,"src":"75409:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75409:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29395,"nodeType":"VariableDeclarationStatement","src":"75409:10:21"},{"AST":{"nativeSrc":"75481:758:21","nodeType":"YulBlock","src":"75481:758:21","statements":[{"body":{"nativeSrc":"75524:313:21","nodeType":"YulBlock","src":"75524:313:21","statements":[{"nativeSrc":"75542:15:21","nodeType":"YulVariableDeclaration","src":"75542:15:21","value":{"kind":"number","nativeSrc":"75556:1:21","nodeType":"YulLiteral","src":"75556:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"75546:6:21","nodeType":"YulTypedName","src":"75546:6:21","type":""}]},{"body":{"nativeSrc":"75627:40:21","nodeType":"YulBlock","src":"75627:40:21","statements":[{"body":{"nativeSrc":"75656:9:21","nodeType":"YulBlock","src":"75656:9:21","statements":[{"nativeSrc":"75658:5:21","nodeType":"YulBreak","src":"75658:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"75644:6:21","nodeType":"YulIdentifier","src":"75644:6:21"},{"name":"w","nativeSrc":"75652:1:21","nodeType":"YulIdentifier","src":"75652:1:21"}],"functionName":{"name":"byte","nativeSrc":"75639:4:21","nodeType":"YulIdentifier","src":"75639:4:21"},"nativeSrc":"75639:15:21","nodeType":"YulFunctionCall","src":"75639:15:21"}],"functionName":{"name":"iszero","nativeSrc":"75632:6:21","nodeType":"YulIdentifier","src":"75632:6:21"},"nativeSrc":"75632:23:21","nodeType":"YulFunctionCall","src":"75632:23:21"},"nativeSrc":"75629:36:21","nodeType":"YulIf","src":"75629:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"75584:6:21","nodeType":"YulIdentifier","src":"75584:6:21"},{"kind":"number","nativeSrc":"75592:4:21","nodeType":"YulLiteral","src":"75592:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"75581:2:21","nodeType":"YulIdentifier","src":"75581:2:21"},"nativeSrc":"75581:16:21","nodeType":"YulFunctionCall","src":"75581:16:21"},"nativeSrc":"75574:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"75598:28:21","nodeType":"YulBlock","src":"75598:28:21","statements":[{"nativeSrc":"75600:24:21","nodeType":"YulAssignment","src":"75600:24:21","value":{"arguments":[{"name":"length","nativeSrc":"75614:6:21","nodeType":"YulIdentifier","src":"75614:6:21"},{"kind":"number","nativeSrc":"75622:1:21","nodeType":"YulLiteral","src":"75622:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"75610:3:21","nodeType":"YulIdentifier","src":"75610:3:21"},"nativeSrc":"75610:14:21","nodeType":"YulFunctionCall","src":"75610:14:21"},"variableNames":[{"name":"length","nativeSrc":"75600:6:21","nodeType":"YulIdentifier","src":"75600:6:21"}]}]},"pre":{"nativeSrc":"75578:2:21","nodeType":"YulBlock","src":"75578:2:21","statements":[]},"src":"75574:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"75691:3:21","nodeType":"YulIdentifier","src":"75691:3:21"},{"name":"length","nativeSrc":"75696:6:21","nodeType":"YulIdentifier","src":"75696:6:21"}],"functionName":{"name":"mstore","nativeSrc":"75684:6:21","nodeType":"YulIdentifier","src":"75684:6:21"},"nativeSrc":"75684:19:21","nodeType":"YulFunctionCall","src":"75684:19:21"},"nativeSrc":"75684:19:21","nodeType":"YulExpressionStatement","src":"75684:19:21"},{"nativeSrc":"75720:37:21","nodeType":"YulVariableDeclaration","src":"75720:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"75737:3:21","nodeType":"YulLiteral","src":"75737:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"75746:1:21","nodeType":"YulLiteral","src":"75746:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"75749:6:21","nodeType":"YulIdentifier","src":"75749:6:21"}],"functionName":{"name":"shl","nativeSrc":"75742:3:21","nodeType":"YulIdentifier","src":"75742:3:21"},"nativeSrc":"75742:14:21","nodeType":"YulFunctionCall","src":"75742:14:21"}],"functionName":{"name":"sub","nativeSrc":"75733:3:21","nodeType":"YulIdentifier","src":"75733:3:21"},"nativeSrc":"75733:24:21","nodeType":"YulFunctionCall","src":"75733:24:21"},"variables":[{"name":"shift","nativeSrc":"75724:5:21","nodeType":"YulTypedName","src":"75724:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"75785:3:21","nodeType":"YulIdentifier","src":"75785:3:21"},{"kind":"number","nativeSrc":"75790:4:21","nodeType":"YulLiteral","src":"75790:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"75781:3:21","nodeType":"YulIdentifier","src":"75781:3:21"},"nativeSrc":"75781:14:21","nodeType":"YulFunctionCall","src":"75781:14:21"},{"arguments":[{"name":"shift","nativeSrc":"75801:5:21","nodeType":"YulIdentifier","src":"75801:5:21"},{"arguments":[{"name":"shift","nativeSrc":"75812:5:21","nodeType":"YulIdentifier","src":"75812:5:21"},{"name":"w","nativeSrc":"75819:1:21","nodeType":"YulIdentifier","src":"75819:1:21"}],"functionName":{"name":"shr","nativeSrc":"75808:3:21","nodeType":"YulIdentifier","src":"75808:3:21"},"nativeSrc":"75808:13:21","nodeType":"YulFunctionCall","src":"75808:13:21"}],"functionName":{"name":"shl","nativeSrc":"75797:3:21","nodeType":"YulIdentifier","src":"75797:3:21"},"nativeSrc":"75797:25:21","nodeType":"YulFunctionCall","src":"75797:25:21"}],"functionName":{"name":"mstore","nativeSrc":"75774:6:21","nodeType":"YulIdentifier","src":"75774:6:21"},"nativeSrc":"75774:49:21","nodeType":"YulFunctionCall","src":"75774:49:21"},"nativeSrc":"75774:49:21","nodeType":"YulExpressionStatement","src":"75774:49:21"}]},"name":"writeString","nativeSrc":"75495:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"75516:3:21","nodeType":"YulTypedName","src":"75516:3:21","type":""},{"name":"w","nativeSrc":"75521:1:21","nodeType":"YulTypedName","src":"75521:1:21","type":""}],"src":"75495:342:21"},{"nativeSrc":"75850:17:21","nodeType":"YulAssignment","src":"75850:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"75862:4:21","nodeType":"YulLiteral","src":"75862:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"75856:5:21","nodeType":"YulIdentifier","src":"75856:5:21"},"nativeSrc":"75856:11:21","nodeType":"YulFunctionCall","src":"75856:11:21"},"variableNames":[{"name":"m0","nativeSrc":"75850:2:21","nodeType":"YulIdentifier","src":"75850:2:21"}]},{"nativeSrc":"75880:17:21","nodeType":"YulAssignment","src":"75880:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"75892:4:21","nodeType":"YulLiteral","src":"75892:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"75886:5:21","nodeType":"YulIdentifier","src":"75886:5:21"},"nativeSrc":"75886:11:21","nodeType":"YulFunctionCall","src":"75886:11:21"},"variableNames":[{"name":"m1","nativeSrc":"75880:2:21","nodeType":"YulIdentifier","src":"75880:2:21"}]},{"nativeSrc":"75910:17:21","nodeType":"YulAssignment","src":"75910:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"75922:4:21","nodeType":"YulLiteral","src":"75922:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"75916:5:21","nodeType":"YulIdentifier","src":"75916:5:21"},"nativeSrc":"75916:11:21","nodeType":"YulFunctionCall","src":"75916:11:21"},"variableNames":[{"name":"m2","nativeSrc":"75910:2:21","nodeType":"YulIdentifier","src":"75910:2:21"}]},{"nativeSrc":"75940:17:21","nodeType":"YulAssignment","src":"75940:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"75952:4:21","nodeType":"YulLiteral","src":"75952:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"75946:5:21","nodeType":"YulIdentifier","src":"75946:5:21"},"nativeSrc":"75946:11:21","nodeType":"YulFunctionCall","src":"75946:11:21"},"variableNames":[{"name":"m3","nativeSrc":"75940:2:21","nodeType":"YulIdentifier","src":"75940:2:21"}]},{"nativeSrc":"75970:17:21","nodeType":"YulAssignment","src":"75970:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"75982:4:21","nodeType":"YulLiteral","src":"75982:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"75976:5:21","nodeType":"YulIdentifier","src":"75976:5:21"},"nativeSrc":"75976:11:21","nodeType":"YulFunctionCall","src":"75976:11:21"},"variableNames":[{"name":"m4","nativeSrc":"75970:2:21","nodeType":"YulIdentifier","src":"75970:2:21"}]},{"nativeSrc":"76000:17:21","nodeType":"YulAssignment","src":"76000:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"76012:4:21","nodeType":"YulLiteral","src":"76012:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"76006:5:21","nodeType":"YulIdentifier","src":"76006:5:21"},"nativeSrc":"76006:11:21","nodeType":"YulFunctionCall","src":"76006:11:21"},"variableNames":[{"name":"m5","nativeSrc":"76000:2:21","nodeType":"YulIdentifier","src":"76000:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76089:4:21","nodeType":"YulLiteral","src":"76089:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"76095:10:21","nodeType":"YulLiteral","src":"76095:10:21","type":"","value":"0x850b7ad6"}],"functionName":{"name":"mstore","nativeSrc":"76082:6:21","nodeType":"YulIdentifier","src":"76082:6:21"},"nativeSrc":"76082:24:21","nodeType":"YulFunctionCall","src":"76082:24:21"},"nativeSrc":"76082:24:21","nodeType":"YulExpressionStatement","src":"76082:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76126:4:21","nodeType":"YulLiteral","src":"76126:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"76132:4:21","nodeType":"YulLiteral","src":"76132:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"76119:6:21","nodeType":"YulIdentifier","src":"76119:6:21"},"nativeSrc":"76119:18:21","nodeType":"YulFunctionCall","src":"76119:18:21"},"nativeSrc":"76119:18:21","nodeType":"YulExpressionStatement","src":"76119:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76157:4:21","nodeType":"YulLiteral","src":"76157:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"76163:2:21","nodeType":"YulIdentifier","src":"76163:2:21"}],"functionName":{"name":"mstore","nativeSrc":"76150:6:21","nodeType":"YulIdentifier","src":"76150:6:21"},"nativeSrc":"76150:16:21","nodeType":"YulFunctionCall","src":"76150:16:21"},"nativeSrc":"76150:16:21","nodeType":"YulExpressionStatement","src":"76150:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76186:4:21","nodeType":"YulLiteral","src":"76186:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"76192:2:21","nodeType":"YulIdentifier","src":"76192:2:21"}],"functionName":{"name":"mstore","nativeSrc":"76179:6:21","nodeType":"YulIdentifier","src":"76179:6:21"},"nativeSrc":"76179:16:21","nodeType":"YulFunctionCall","src":"76179:16:21"},"nativeSrc":"76179:16:21","nodeType":"YulExpressionStatement","src":"76179:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76220:4:21","nodeType":"YulLiteral","src":"76220:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"76226:2:21","nodeType":"YulIdentifier","src":"76226:2:21"}],"functionName":{"name":"writeString","nativeSrc":"76208:11:21","nodeType":"YulIdentifier","src":"76208:11:21"},"nativeSrc":"76208:21:21","nodeType":"YulFunctionCall","src":"76208:21:21"},"nativeSrc":"76208:21:21","nodeType":"YulExpressionStatement","src":"76208:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29379,"isOffset":false,"isSlot":false,"src":"75850:2:21","valueSize":1},{"declaration":29382,"isOffset":false,"isSlot":false,"src":"75880:2:21","valueSize":1},{"declaration":29385,"isOffset":false,"isSlot":false,"src":"75910:2:21","valueSize":1},{"declaration":29388,"isOffset":false,"isSlot":false,"src":"75940:2:21","valueSize":1},{"declaration":29391,"isOffset":false,"isSlot":false,"src":"75970:2:21","valueSize":1},{"declaration":29394,"isOffset":false,"isSlot":false,"src":"76000:2:21","valueSize":1},{"declaration":29371,"isOffset":false,"isSlot":false,"src":"76226:2:21","valueSize":1},{"declaration":29373,"isOffset":false,"isSlot":false,"src":"76163:2:21","valueSize":1},{"declaration":29375,"isOffset":false,"isSlot":false,"src":"76192:2:21","valueSize":1}],"id":29396,"nodeType":"InlineAssembly","src":"75472:767:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76264:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76270:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29397,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"76248:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76248:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29401,"nodeType":"ExpressionStatement","src":"76248:27:21"},{"AST":{"nativeSrc":"76337:185:21","nodeType":"YulBlock","src":"76337:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"76358:4:21","nodeType":"YulLiteral","src":"76358:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"76364:2:21","nodeType":"YulIdentifier","src":"76364:2:21"}],"functionName":{"name":"mstore","nativeSrc":"76351:6:21","nodeType":"YulIdentifier","src":"76351:6:21"},"nativeSrc":"76351:16:21","nodeType":"YulFunctionCall","src":"76351:16:21"},"nativeSrc":"76351:16:21","nodeType":"YulExpressionStatement","src":"76351:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76387:4:21","nodeType":"YulLiteral","src":"76387:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"76393:2:21","nodeType":"YulIdentifier","src":"76393:2:21"}],"functionName":{"name":"mstore","nativeSrc":"76380:6:21","nodeType":"YulIdentifier","src":"76380:6:21"},"nativeSrc":"76380:16:21","nodeType":"YulFunctionCall","src":"76380:16:21"},"nativeSrc":"76380:16:21","nodeType":"YulExpressionStatement","src":"76380:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76416:4:21","nodeType":"YulLiteral","src":"76416:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"76422:2:21","nodeType":"YulIdentifier","src":"76422:2:21"}],"functionName":{"name":"mstore","nativeSrc":"76409:6:21","nodeType":"YulIdentifier","src":"76409:6:21"},"nativeSrc":"76409:16:21","nodeType":"YulFunctionCall","src":"76409:16:21"},"nativeSrc":"76409:16:21","nodeType":"YulExpressionStatement","src":"76409:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76445:4:21","nodeType":"YulLiteral","src":"76445:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"76451:2:21","nodeType":"YulIdentifier","src":"76451:2:21"}],"functionName":{"name":"mstore","nativeSrc":"76438:6:21","nodeType":"YulIdentifier","src":"76438:6:21"},"nativeSrc":"76438:16:21","nodeType":"YulFunctionCall","src":"76438:16:21"},"nativeSrc":"76438:16:21","nodeType":"YulExpressionStatement","src":"76438:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76474:4:21","nodeType":"YulLiteral","src":"76474:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"76480:2:21","nodeType":"YulIdentifier","src":"76480:2:21"}],"functionName":{"name":"mstore","nativeSrc":"76467:6:21","nodeType":"YulIdentifier","src":"76467:6:21"},"nativeSrc":"76467:16:21","nodeType":"YulFunctionCall","src":"76467:16:21"},"nativeSrc":"76467:16:21","nodeType":"YulExpressionStatement","src":"76467:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76503:4:21","nodeType":"YulLiteral","src":"76503:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"76509:2:21","nodeType":"YulIdentifier","src":"76509:2:21"}],"functionName":{"name":"mstore","nativeSrc":"76496:6:21","nodeType":"YulIdentifier","src":"76496:6:21"},"nativeSrc":"76496:16:21","nodeType":"YulFunctionCall","src":"76496:16:21"},"nativeSrc":"76496:16:21","nodeType":"YulExpressionStatement","src":"76496:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29379,"isOffset":false,"isSlot":false,"src":"76364:2:21","valueSize":1},{"declaration":29382,"isOffset":false,"isSlot":false,"src":"76393:2:21","valueSize":1},{"declaration":29385,"isOffset":false,"isSlot":false,"src":"76422:2:21","valueSize":1},{"declaration":29388,"isOffset":false,"isSlot":false,"src":"76451:2:21","valueSize":1},{"declaration":29391,"isOffset":false,"isSlot":false,"src":"76480:2:21","valueSize":1},{"declaration":29394,"isOffset":false,"isSlot":false,"src":"76509:2:21","valueSize":1}],"id":29402,"nodeType":"InlineAssembly","src":"76328:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"75251:3:21","parameters":{"id":29376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29371,"mutability":"mutable","name":"p0","nameLocation":"75263:2:21","nodeType":"VariableDeclaration","scope":29404,"src":"75255:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75255:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29373,"mutability":"mutable","name":"p1","nameLocation":"75272:2:21","nodeType":"VariableDeclaration","scope":29404,"src":"75267:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29372,"name":"bool","nodeType":"ElementaryTypeName","src":"75267:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29375,"mutability":"mutable","name":"p2","nameLocation":"75281:2:21","nodeType":"VariableDeclaration","scope":29404,"src":"75276:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29374,"name":"bool","nodeType":"ElementaryTypeName","src":"75276:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"75254:30:21"},"returnParameters":{"id":29377,"nodeType":"ParameterList","parameters":[],"src":"75299:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29439,"nodeType":"FunctionDefinition","src":"76534:1292:21","nodes":[],"body":{"id":29438,"nodeType":"Block","src":"76594:1232:21","nodes":[],"statements":[{"assignments":[29414],"declarations":[{"constant":false,"id":29414,"mutability":"mutable","name":"m0","nameLocation":"76612:2:21","nodeType":"VariableDeclaration","scope":29438,"src":"76604:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76604:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29415,"nodeType":"VariableDeclarationStatement","src":"76604:10:21"},{"assignments":[29417],"declarations":[{"constant":false,"id":29417,"mutability":"mutable","name":"m1","nameLocation":"76632:2:21","nodeType":"VariableDeclaration","scope":29438,"src":"76624:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76624:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29418,"nodeType":"VariableDeclarationStatement","src":"76624:10:21"},{"assignments":[29420],"declarations":[{"constant":false,"id":29420,"mutability":"mutable","name":"m2","nameLocation":"76652:2:21","nodeType":"VariableDeclaration","scope":29438,"src":"76644:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76644:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29421,"nodeType":"VariableDeclarationStatement","src":"76644:10:21"},{"assignments":[29423],"declarations":[{"constant":false,"id":29423,"mutability":"mutable","name":"m3","nameLocation":"76672:2:21","nodeType":"VariableDeclaration","scope":29438,"src":"76664:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76664:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29424,"nodeType":"VariableDeclarationStatement","src":"76664:10:21"},{"assignments":[29426],"declarations":[{"constant":false,"id":29426,"mutability":"mutable","name":"m4","nameLocation":"76692:2:21","nodeType":"VariableDeclaration","scope":29438,"src":"76684:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76684:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29427,"nodeType":"VariableDeclarationStatement","src":"76684:10:21"},{"assignments":[29429],"declarations":[{"constant":false,"id":29429,"mutability":"mutable","name":"m5","nameLocation":"76712:2:21","nodeType":"VariableDeclaration","scope":29438,"src":"76704:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76704:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29430,"nodeType":"VariableDeclarationStatement","src":"76704:10:21"},{"AST":{"nativeSrc":"76776:761:21","nodeType":"YulBlock","src":"76776:761:21","statements":[{"body":{"nativeSrc":"76819:313:21","nodeType":"YulBlock","src":"76819:313:21","statements":[{"nativeSrc":"76837:15:21","nodeType":"YulVariableDeclaration","src":"76837:15:21","value":{"kind":"number","nativeSrc":"76851:1:21","nodeType":"YulLiteral","src":"76851:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"76841:6:21","nodeType":"YulTypedName","src":"76841:6:21","type":""}]},{"body":{"nativeSrc":"76922:40:21","nodeType":"YulBlock","src":"76922:40:21","statements":[{"body":{"nativeSrc":"76951:9:21","nodeType":"YulBlock","src":"76951:9:21","statements":[{"nativeSrc":"76953:5:21","nodeType":"YulBreak","src":"76953:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"76939:6:21","nodeType":"YulIdentifier","src":"76939:6:21"},{"name":"w","nativeSrc":"76947:1:21","nodeType":"YulIdentifier","src":"76947:1:21"}],"functionName":{"name":"byte","nativeSrc":"76934:4:21","nodeType":"YulIdentifier","src":"76934:4:21"},"nativeSrc":"76934:15:21","nodeType":"YulFunctionCall","src":"76934:15:21"}],"functionName":{"name":"iszero","nativeSrc":"76927:6:21","nodeType":"YulIdentifier","src":"76927:6:21"},"nativeSrc":"76927:23:21","nodeType":"YulFunctionCall","src":"76927:23:21"},"nativeSrc":"76924:36:21","nodeType":"YulIf","src":"76924:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"76879:6:21","nodeType":"YulIdentifier","src":"76879:6:21"},{"kind":"number","nativeSrc":"76887:4:21","nodeType":"YulLiteral","src":"76887:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"76876:2:21","nodeType":"YulIdentifier","src":"76876:2:21"},"nativeSrc":"76876:16:21","nodeType":"YulFunctionCall","src":"76876:16:21"},"nativeSrc":"76869:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"76893:28:21","nodeType":"YulBlock","src":"76893:28:21","statements":[{"nativeSrc":"76895:24:21","nodeType":"YulAssignment","src":"76895:24:21","value":{"arguments":[{"name":"length","nativeSrc":"76909:6:21","nodeType":"YulIdentifier","src":"76909:6:21"},{"kind":"number","nativeSrc":"76917:1:21","nodeType":"YulLiteral","src":"76917:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"76905:3:21","nodeType":"YulIdentifier","src":"76905:3:21"},"nativeSrc":"76905:14:21","nodeType":"YulFunctionCall","src":"76905:14:21"},"variableNames":[{"name":"length","nativeSrc":"76895:6:21","nodeType":"YulIdentifier","src":"76895:6:21"}]}]},"pre":{"nativeSrc":"76873:2:21","nodeType":"YulBlock","src":"76873:2:21","statements":[]},"src":"76869:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"76986:3:21","nodeType":"YulIdentifier","src":"76986:3:21"},{"name":"length","nativeSrc":"76991:6:21","nodeType":"YulIdentifier","src":"76991:6:21"}],"functionName":{"name":"mstore","nativeSrc":"76979:6:21","nodeType":"YulIdentifier","src":"76979:6:21"},"nativeSrc":"76979:19:21","nodeType":"YulFunctionCall","src":"76979:19:21"},"nativeSrc":"76979:19:21","nodeType":"YulExpressionStatement","src":"76979:19:21"},{"nativeSrc":"77015:37:21","nodeType":"YulVariableDeclaration","src":"77015:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"77032:3:21","nodeType":"YulLiteral","src":"77032:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"77041:1:21","nodeType":"YulLiteral","src":"77041:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"77044:6:21","nodeType":"YulIdentifier","src":"77044:6:21"}],"functionName":{"name":"shl","nativeSrc":"77037:3:21","nodeType":"YulIdentifier","src":"77037:3:21"},"nativeSrc":"77037:14:21","nodeType":"YulFunctionCall","src":"77037:14:21"}],"functionName":{"name":"sub","nativeSrc":"77028:3:21","nodeType":"YulIdentifier","src":"77028:3:21"},"nativeSrc":"77028:24:21","nodeType":"YulFunctionCall","src":"77028:24:21"},"variables":[{"name":"shift","nativeSrc":"77019:5:21","nodeType":"YulTypedName","src":"77019:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"77080:3:21","nodeType":"YulIdentifier","src":"77080:3:21"},{"kind":"number","nativeSrc":"77085:4:21","nodeType":"YulLiteral","src":"77085:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"77076:3:21","nodeType":"YulIdentifier","src":"77076:3:21"},"nativeSrc":"77076:14:21","nodeType":"YulFunctionCall","src":"77076:14:21"},{"arguments":[{"name":"shift","nativeSrc":"77096:5:21","nodeType":"YulIdentifier","src":"77096:5:21"},{"arguments":[{"name":"shift","nativeSrc":"77107:5:21","nodeType":"YulIdentifier","src":"77107:5:21"},{"name":"w","nativeSrc":"77114:1:21","nodeType":"YulIdentifier","src":"77114:1:21"}],"functionName":{"name":"shr","nativeSrc":"77103:3:21","nodeType":"YulIdentifier","src":"77103:3:21"},"nativeSrc":"77103:13:21","nodeType":"YulFunctionCall","src":"77103:13:21"}],"functionName":{"name":"shl","nativeSrc":"77092:3:21","nodeType":"YulIdentifier","src":"77092:3:21"},"nativeSrc":"77092:25:21","nodeType":"YulFunctionCall","src":"77092:25:21"}],"functionName":{"name":"mstore","nativeSrc":"77069:6:21","nodeType":"YulIdentifier","src":"77069:6:21"},"nativeSrc":"77069:49:21","nodeType":"YulFunctionCall","src":"77069:49:21"},"nativeSrc":"77069:49:21","nodeType":"YulExpressionStatement","src":"77069:49:21"}]},"name":"writeString","nativeSrc":"76790:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"76811:3:21","nodeType":"YulTypedName","src":"76811:3:21","type":""},{"name":"w","nativeSrc":"76816:1:21","nodeType":"YulTypedName","src":"76816:1:21","type":""}],"src":"76790:342:21"},{"nativeSrc":"77145:17:21","nodeType":"YulAssignment","src":"77145:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"77157:4:21","nodeType":"YulLiteral","src":"77157:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"77151:5:21","nodeType":"YulIdentifier","src":"77151:5:21"},"nativeSrc":"77151:11:21","nodeType":"YulFunctionCall","src":"77151:11:21"},"variableNames":[{"name":"m0","nativeSrc":"77145:2:21","nodeType":"YulIdentifier","src":"77145:2:21"}]},{"nativeSrc":"77175:17:21","nodeType":"YulAssignment","src":"77175:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"77187:4:21","nodeType":"YulLiteral","src":"77187:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"77181:5:21","nodeType":"YulIdentifier","src":"77181:5:21"},"nativeSrc":"77181:11:21","nodeType":"YulFunctionCall","src":"77181:11:21"},"variableNames":[{"name":"m1","nativeSrc":"77175:2:21","nodeType":"YulIdentifier","src":"77175:2:21"}]},{"nativeSrc":"77205:17:21","nodeType":"YulAssignment","src":"77205:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"77217:4:21","nodeType":"YulLiteral","src":"77217:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"77211:5:21","nodeType":"YulIdentifier","src":"77211:5:21"},"nativeSrc":"77211:11:21","nodeType":"YulFunctionCall","src":"77211:11:21"},"variableNames":[{"name":"m2","nativeSrc":"77205:2:21","nodeType":"YulIdentifier","src":"77205:2:21"}]},{"nativeSrc":"77235:17:21","nodeType":"YulAssignment","src":"77235:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"77247:4:21","nodeType":"YulLiteral","src":"77247:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"77241:5:21","nodeType":"YulIdentifier","src":"77241:5:21"},"nativeSrc":"77241:11:21","nodeType":"YulFunctionCall","src":"77241:11:21"},"variableNames":[{"name":"m3","nativeSrc":"77235:2:21","nodeType":"YulIdentifier","src":"77235:2:21"}]},{"nativeSrc":"77265:17:21","nodeType":"YulAssignment","src":"77265:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"77277:4:21","nodeType":"YulLiteral","src":"77277:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"77271:5:21","nodeType":"YulIdentifier","src":"77271:5:21"},"nativeSrc":"77271:11:21","nodeType":"YulFunctionCall","src":"77271:11:21"},"variableNames":[{"name":"m4","nativeSrc":"77265:2:21","nodeType":"YulIdentifier","src":"77265:2:21"}]},{"nativeSrc":"77295:17:21","nodeType":"YulAssignment","src":"77295:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"77307:4:21","nodeType":"YulLiteral","src":"77307:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"77301:5:21","nodeType":"YulIdentifier","src":"77301:5:21"},"nativeSrc":"77301:11:21","nodeType":"YulFunctionCall","src":"77301:11:21"},"variableNames":[{"name":"m5","nativeSrc":"77295:2:21","nodeType":"YulIdentifier","src":"77295:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77387:4:21","nodeType":"YulLiteral","src":"77387:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"77393:10:21","nodeType":"YulLiteral","src":"77393:10:21","type":"","value":"0xc95958d6"}],"functionName":{"name":"mstore","nativeSrc":"77380:6:21","nodeType":"YulIdentifier","src":"77380:6:21"},"nativeSrc":"77380:24:21","nodeType":"YulFunctionCall","src":"77380:24:21"},"nativeSrc":"77380:24:21","nodeType":"YulExpressionStatement","src":"77380:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77424:4:21","nodeType":"YulLiteral","src":"77424:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"77430:4:21","nodeType":"YulLiteral","src":"77430:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"77417:6:21","nodeType":"YulIdentifier","src":"77417:6:21"},"nativeSrc":"77417:18:21","nodeType":"YulFunctionCall","src":"77417:18:21"},"nativeSrc":"77417:18:21","nodeType":"YulExpressionStatement","src":"77417:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77455:4:21","nodeType":"YulLiteral","src":"77455:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"77461:2:21","nodeType":"YulIdentifier","src":"77461:2:21"}],"functionName":{"name":"mstore","nativeSrc":"77448:6:21","nodeType":"YulIdentifier","src":"77448:6:21"},"nativeSrc":"77448:16:21","nodeType":"YulFunctionCall","src":"77448:16:21"},"nativeSrc":"77448:16:21","nodeType":"YulExpressionStatement","src":"77448:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77484:4:21","nodeType":"YulLiteral","src":"77484:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"77490:2:21","nodeType":"YulIdentifier","src":"77490:2:21"}],"functionName":{"name":"mstore","nativeSrc":"77477:6:21","nodeType":"YulIdentifier","src":"77477:6:21"},"nativeSrc":"77477:16:21","nodeType":"YulFunctionCall","src":"77477:16:21"},"nativeSrc":"77477:16:21","nodeType":"YulExpressionStatement","src":"77477:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77518:4:21","nodeType":"YulLiteral","src":"77518:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"77524:2:21","nodeType":"YulIdentifier","src":"77524:2:21"}],"functionName":{"name":"writeString","nativeSrc":"77506:11:21","nodeType":"YulIdentifier","src":"77506:11:21"},"nativeSrc":"77506:21:21","nodeType":"YulFunctionCall","src":"77506:21:21"},"nativeSrc":"77506:21:21","nodeType":"YulExpressionStatement","src":"77506:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29414,"isOffset":false,"isSlot":false,"src":"77145:2:21","valueSize":1},{"declaration":29417,"isOffset":false,"isSlot":false,"src":"77175:2:21","valueSize":1},{"declaration":29420,"isOffset":false,"isSlot":false,"src":"77205:2:21","valueSize":1},{"declaration":29423,"isOffset":false,"isSlot":false,"src":"77235:2:21","valueSize":1},{"declaration":29426,"isOffset":false,"isSlot":false,"src":"77265:2:21","valueSize":1},{"declaration":29429,"isOffset":false,"isSlot":false,"src":"77295:2:21","valueSize":1},{"declaration":29406,"isOffset":false,"isSlot":false,"src":"77524:2:21","valueSize":1},{"declaration":29408,"isOffset":false,"isSlot":false,"src":"77461:2:21","valueSize":1},{"declaration":29410,"isOffset":false,"isSlot":false,"src":"77490:2:21","valueSize":1}],"id":29431,"nodeType":"InlineAssembly","src":"76767:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"77562:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"77568:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29432,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"77546:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77546:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29436,"nodeType":"ExpressionStatement","src":"77546:27:21"},{"AST":{"nativeSrc":"77635:185:21","nodeType":"YulBlock","src":"77635:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"77656:4:21","nodeType":"YulLiteral","src":"77656:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"77662:2:21","nodeType":"YulIdentifier","src":"77662:2:21"}],"functionName":{"name":"mstore","nativeSrc":"77649:6:21","nodeType":"YulIdentifier","src":"77649:6:21"},"nativeSrc":"77649:16:21","nodeType":"YulFunctionCall","src":"77649:16:21"},"nativeSrc":"77649:16:21","nodeType":"YulExpressionStatement","src":"77649:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77685:4:21","nodeType":"YulLiteral","src":"77685:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"77691:2:21","nodeType":"YulIdentifier","src":"77691:2:21"}],"functionName":{"name":"mstore","nativeSrc":"77678:6:21","nodeType":"YulIdentifier","src":"77678:6:21"},"nativeSrc":"77678:16:21","nodeType":"YulFunctionCall","src":"77678:16:21"},"nativeSrc":"77678:16:21","nodeType":"YulExpressionStatement","src":"77678:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77714:4:21","nodeType":"YulLiteral","src":"77714:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"77720:2:21","nodeType":"YulIdentifier","src":"77720:2:21"}],"functionName":{"name":"mstore","nativeSrc":"77707:6:21","nodeType":"YulIdentifier","src":"77707:6:21"},"nativeSrc":"77707:16:21","nodeType":"YulFunctionCall","src":"77707:16:21"},"nativeSrc":"77707:16:21","nodeType":"YulExpressionStatement","src":"77707:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77743:4:21","nodeType":"YulLiteral","src":"77743:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"77749:2:21","nodeType":"YulIdentifier","src":"77749:2:21"}],"functionName":{"name":"mstore","nativeSrc":"77736:6:21","nodeType":"YulIdentifier","src":"77736:6:21"},"nativeSrc":"77736:16:21","nodeType":"YulFunctionCall","src":"77736:16:21"},"nativeSrc":"77736:16:21","nodeType":"YulExpressionStatement","src":"77736:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77772:4:21","nodeType":"YulLiteral","src":"77772:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"77778:2:21","nodeType":"YulIdentifier","src":"77778:2:21"}],"functionName":{"name":"mstore","nativeSrc":"77765:6:21","nodeType":"YulIdentifier","src":"77765:6:21"},"nativeSrc":"77765:16:21","nodeType":"YulFunctionCall","src":"77765:16:21"},"nativeSrc":"77765:16:21","nodeType":"YulExpressionStatement","src":"77765:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77801:4:21","nodeType":"YulLiteral","src":"77801:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"77807:2:21","nodeType":"YulIdentifier","src":"77807:2:21"}],"functionName":{"name":"mstore","nativeSrc":"77794:6:21","nodeType":"YulIdentifier","src":"77794:6:21"},"nativeSrc":"77794:16:21","nodeType":"YulFunctionCall","src":"77794:16:21"},"nativeSrc":"77794:16:21","nodeType":"YulExpressionStatement","src":"77794:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29414,"isOffset":false,"isSlot":false,"src":"77662:2:21","valueSize":1},{"declaration":29417,"isOffset":false,"isSlot":false,"src":"77691:2:21","valueSize":1},{"declaration":29420,"isOffset":false,"isSlot":false,"src":"77720:2:21","valueSize":1},{"declaration":29423,"isOffset":false,"isSlot":false,"src":"77749:2:21","valueSize":1},{"declaration":29426,"isOffset":false,"isSlot":false,"src":"77778:2:21","valueSize":1},{"declaration":29429,"isOffset":false,"isSlot":false,"src":"77807:2:21","valueSize":1}],"id":29437,"nodeType":"InlineAssembly","src":"77626:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"76543:3:21","parameters":{"id":29411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29406,"mutability":"mutable","name":"p0","nameLocation":"76555:2:21","nodeType":"VariableDeclaration","scope":29439,"src":"76547:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76547:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29408,"mutability":"mutable","name":"p1","nameLocation":"76564:2:21","nodeType":"VariableDeclaration","scope":29439,"src":"76559:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29407,"name":"bool","nodeType":"ElementaryTypeName","src":"76559:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29410,"mutability":"mutable","name":"p2","nameLocation":"76576:2:21","nodeType":"VariableDeclaration","scope":29439,"src":"76568:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29409,"name":"uint256","nodeType":"ElementaryTypeName","src":"76568:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76546:33:21"},"returnParameters":{"id":29412,"nodeType":"ParameterList","parameters":[],"src":"76594:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29480,"nodeType":"FunctionDefinition","src":"77832:1485:21","nodes":[],"body":{"id":29479,"nodeType":"Block","src":"77892:1425:21","nodes":[],"statements":[{"assignments":[29449],"declarations":[{"constant":false,"id":29449,"mutability":"mutable","name":"m0","nameLocation":"77910:2:21","nodeType":"VariableDeclaration","scope":29479,"src":"77902:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77902:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29450,"nodeType":"VariableDeclarationStatement","src":"77902:10:21"},{"assignments":[29452],"declarations":[{"constant":false,"id":29452,"mutability":"mutable","name":"m1","nameLocation":"77930:2:21","nodeType":"VariableDeclaration","scope":29479,"src":"77922:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77922:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29453,"nodeType":"VariableDeclarationStatement","src":"77922:10:21"},{"assignments":[29455],"declarations":[{"constant":false,"id":29455,"mutability":"mutable","name":"m2","nameLocation":"77950:2:21","nodeType":"VariableDeclaration","scope":29479,"src":"77942:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77942:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29456,"nodeType":"VariableDeclarationStatement","src":"77942:10:21"},{"assignments":[29458],"declarations":[{"constant":false,"id":29458,"mutability":"mutable","name":"m3","nameLocation":"77970:2:21","nodeType":"VariableDeclaration","scope":29479,"src":"77962:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77962:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29459,"nodeType":"VariableDeclarationStatement","src":"77962:10:21"},{"assignments":[29461],"declarations":[{"constant":false,"id":29461,"mutability":"mutable","name":"m4","nameLocation":"77990:2:21","nodeType":"VariableDeclaration","scope":29479,"src":"77982:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77982:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29462,"nodeType":"VariableDeclarationStatement","src":"77982:10:21"},{"assignments":[29464],"declarations":[{"constant":false,"id":29464,"mutability":"mutable","name":"m5","nameLocation":"78010:2:21","nodeType":"VariableDeclaration","scope":29479,"src":"78002:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78002:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29465,"nodeType":"VariableDeclarationStatement","src":"78002:10:21"},{"assignments":[29467],"declarations":[{"constant":false,"id":29467,"mutability":"mutable","name":"m6","nameLocation":"78030:2:21","nodeType":"VariableDeclaration","scope":29479,"src":"78022:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78022:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29468,"nodeType":"VariableDeclarationStatement","src":"78022:10:21"},{"assignments":[29470],"declarations":[{"constant":false,"id":29470,"mutability":"mutable","name":"m7","nameLocation":"78050:2:21","nodeType":"VariableDeclaration","scope":29479,"src":"78042:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78042:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29471,"nodeType":"VariableDeclarationStatement","src":"78042:10:21"},{"AST":{"nativeSrc":"78114:856:21","nodeType":"YulBlock","src":"78114:856:21","statements":[{"body":{"nativeSrc":"78157:313:21","nodeType":"YulBlock","src":"78157:313:21","statements":[{"nativeSrc":"78175:15:21","nodeType":"YulVariableDeclaration","src":"78175:15:21","value":{"kind":"number","nativeSrc":"78189:1:21","nodeType":"YulLiteral","src":"78189:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"78179:6:21","nodeType":"YulTypedName","src":"78179:6:21","type":""}]},{"body":{"nativeSrc":"78260:40:21","nodeType":"YulBlock","src":"78260:40:21","statements":[{"body":{"nativeSrc":"78289:9:21","nodeType":"YulBlock","src":"78289:9:21","statements":[{"nativeSrc":"78291:5:21","nodeType":"YulBreak","src":"78291:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"78277:6:21","nodeType":"YulIdentifier","src":"78277:6:21"},{"name":"w","nativeSrc":"78285:1:21","nodeType":"YulIdentifier","src":"78285:1:21"}],"functionName":{"name":"byte","nativeSrc":"78272:4:21","nodeType":"YulIdentifier","src":"78272:4:21"},"nativeSrc":"78272:15:21","nodeType":"YulFunctionCall","src":"78272:15:21"}],"functionName":{"name":"iszero","nativeSrc":"78265:6:21","nodeType":"YulIdentifier","src":"78265:6:21"},"nativeSrc":"78265:23:21","nodeType":"YulFunctionCall","src":"78265:23:21"},"nativeSrc":"78262:36:21","nodeType":"YulIf","src":"78262:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"78217:6:21","nodeType":"YulIdentifier","src":"78217:6:21"},{"kind":"number","nativeSrc":"78225:4:21","nodeType":"YulLiteral","src":"78225:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"78214:2:21","nodeType":"YulIdentifier","src":"78214:2:21"},"nativeSrc":"78214:16:21","nodeType":"YulFunctionCall","src":"78214:16:21"},"nativeSrc":"78207:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"78231:28:21","nodeType":"YulBlock","src":"78231:28:21","statements":[{"nativeSrc":"78233:24:21","nodeType":"YulAssignment","src":"78233:24:21","value":{"arguments":[{"name":"length","nativeSrc":"78247:6:21","nodeType":"YulIdentifier","src":"78247:6:21"},{"kind":"number","nativeSrc":"78255:1:21","nodeType":"YulLiteral","src":"78255:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"78243:3:21","nodeType":"YulIdentifier","src":"78243:3:21"},"nativeSrc":"78243:14:21","nodeType":"YulFunctionCall","src":"78243:14:21"},"variableNames":[{"name":"length","nativeSrc":"78233:6:21","nodeType":"YulIdentifier","src":"78233:6:21"}]}]},"pre":{"nativeSrc":"78211:2:21","nodeType":"YulBlock","src":"78211:2:21","statements":[]},"src":"78207:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"78324:3:21","nodeType":"YulIdentifier","src":"78324:3:21"},{"name":"length","nativeSrc":"78329:6:21","nodeType":"YulIdentifier","src":"78329:6:21"}],"functionName":{"name":"mstore","nativeSrc":"78317:6:21","nodeType":"YulIdentifier","src":"78317:6:21"},"nativeSrc":"78317:19:21","nodeType":"YulFunctionCall","src":"78317:19:21"},"nativeSrc":"78317:19:21","nodeType":"YulExpressionStatement","src":"78317:19:21"},{"nativeSrc":"78353:37:21","nodeType":"YulVariableDeclaration","src":"78353:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"78370:3:21","nodeType":"YulLiteral","src":"78370:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"78379:1:21","nodeType":"YulLiteral","src":"78379:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"78382:6:21","nodeType":"YulIdentifier","src":"78382:6:21"}],"functionName":{"name":"shl","nativeSrc":"78375:3:21","nodeType":"YulIdentifier","src":"78375:3:21"},"nativeSrc":"78375:14:21","nodeType":"YulFunctionCall","src":"78375:14:21"}],"functionName":{"name":"sub","nativeSrc":"78366:3:21","nodeType":"YulIdentifier","src":"78366:3:21"},"nativeSrc":"78366:24:21","nodeType":"YulFunctionCall","src":"78366:24:21"},"variables":[{"name":"shift","nativeSrc":"78357:5:21","nodeType":"YulTypedName","src":"78357:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"78418:3:21","nodeType":"YulIdentifier","src":"78418:3:21"},{"kind":"number","nativeSrc":"78423:4:21","nodeType":"YulLiteral","src":"78423:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"78414:3:21","nodeType":"YulIdentifier","src":"78414:3:21"},"nativeSrc":"78414:14:21","nodeType":"YulFunctionCall","src":"78414:14:21"},{"arguments":[{"name":"shift","nativeSrc":"78434:5:21","nodeType":"YulIdentifier","src":"78434:5:21"},{"arguments":[{"name":"shift","nativeSrc":"78445:5:21","nodeType":"YulIdentifier","src":"78445:5:21"},{"name":"w","nativeSrc":"78452:1:21","nodeType":"YulIdentifier","src":"78452:1:21"}],"functionName":{"name":"shr","nativeSrc":"78441:3:21","nodeType":"YulIdentifier","src":"78441:3:21"},"nativeSrc":"78441:13:21","nodeType":"YulFunctionCall","src":"78441:13:21"}],"functionName":{"name":"shl","nativeSrc":"78430:3:21","nodeType":"YulIdentifier","src":"78430:3:21"},"nativeSrc":"78430:25:21","nodeType":"YulFunctionCall","src":"78430:25:21"}],"functionName":{"name":"mstore","nativeSrc":"78407:6:21","nodeType":"YulIdentifier","src":"78407:6:21"},"nativeSrc":"78407:49:21","nodeType":"YulFunctionCall","src":"78407:49:21"},"nativeSrc":"78407:49:21","nodeType":"YulExpressionStatement","src":"78407:49:21"}]},"name":"writeString","nativeSrc":"78128:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"78149:3:21","nodeType":"YulTypedName","src":"78149:3:21","type":""},{"name":"w","nativeSrc":"78154:1:21","nodeType":"YulTypedName","src":"78154:1:21","type":""}],"src":"78128:342:21"},{"nativeSrc":"78483:17:21","nodeType":"YulAssignment","src":"78483:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"78495:4:21","nodeType":"YulLiteral","src":"78495:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"78489:5:21","nodeType":"YulIdentifier","src":"78489:5:21"},"nativeSrc":"78489:11:21","nodeType":"YulFunctionCall","src":"78489:11:21"},"variableNames":[{"name":"m0","nativeSrc":"78483:2:21","nodeType":"YulIdentifier","src":"78483:2:21"}]},{"nativeSrc":"78513:17:21","nodeType":"YulAssignment","src":"78513:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"78525:4:21","nodeType":"YulLiteral","src":"78525:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"78519:5:21","nodeType":"YulIdentifier","src":"78519:5:21"},"nativeSrc":"78519:11:21","nodeType":"YulFunctionCall","src":"78519:11:21"},"variableNames":[{"name":"m1","nativeSrc":"78513:2:21","nodeType":"YulIdentifier","src":"78513:2:21"}]},{"nativeSrc":"78543:17:21","nodeType":"YulAssignment","src":"78543:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"78555:4:21","nodeType":"YulLiteral","src":"78555:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"78549:5:21","nodeType":"YulIdentifier","src":"78549:5:21"},"nativeSrc":"78549:11:21","nodeType":"YulFunctionCall","src":"78549:11:21"},"variableNames":[{"name":"m2","nativeSrc":"78543:2:21","nodeType":"YulIdentifier","src":"78543:2:21"}]},{"nativeSrc":"78573:17:21","nodeType":"YulAssignment","src":"78573:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"78585:4:21","nodeType":"YulLiteral","src":"78585:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"78579:5:21","nodeType":"YulIdentifier","src":"78579:5:21"},"nativeSrc":"78579:11:21","nodeType":"YulFunctionCall","src":"78579:11:21"},"variableNames":[{"name":"m3","nativeSrc":"78573:2:21","nodeType":"YulIdentifier","src":"78573:2:21"}]},{"nativeSrc":"78603:17:21","nodeType":"YulAssignment","src":"78603:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"78615:4:21","nodeType":"YulLiteral","src":"78615:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"78609:5:21","nodeType":"YulIdentifier","src":"78609:5:21"},"nativeSrc":"78609:11:21","nodeType":"YulFunctionCall","src":"78609:11:21"},"variableNames":[{"name":"m4","nativeSrc":"78603:2:21","nodeType":"YulIdentifier","src":"78603:2:21"}]},{"nativeSrc":"78633:17:21","nodeType":"YulAssignment","src":"78633:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"78645:4:21","nodeType":"YulLiteral","src":"78645:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"78639:5:21","nodeType":"YulIdentifier","src":"78639:5:21"},"nativeSrc":"78639:11:21","nodeType":"YulFunctionCall","src":"78639:11:21"},"variableNames":[{"name":"m5","nativeSrc":"78633:2:21","nodeType":"YulIdentifier","src":"78633:2:21"}]},{"nativeSrc":"78663:17:21","nodeType":"YulAssignment","src":"78663:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"78675:4:21","nodeType":"YulLiteral","src":"78675:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"78669:5:21","nodeType":"YulIdentifier","src":"78669:5:21"},"nativeSrc":"78669:11:21","nodeType":"YulFunctionCall","src":"78669:11:21"},"variableNames":[{"name":"m6","nativeSrc":"78663:2:21","nodeType":"YulIdentifier","src":"78663:2:21"}]},{"nativeSrc":"78693:17:21","nodeType":"YulAssignment","src":"78693:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"78705:4:21","nodeType":"YulLiteral","src":"78705:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"78699:5:21","nodeType":"YulIdentifier","src":"78699:5:21"},"nativeSrc":"78699:11:21","nodeType":"YulFunctionCall","src":"78699:11:21"},"variableNames":[{"name":"m7","nativeSrc":"78693:2:21","nodeType":"YulIdentifier","src":"78693:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78784:4:21","nodeType":"YulLiteral","src":"78784:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"78790:10:21","nodeType":"YulLiteral","src":"78790:10:21","type":"","value":"0xe298f47d"}],"functionName":{"name":"mstore","nativeSrc":"78777:6:21","nodeType":"YulIdentifier","src":"78777:6:21"},"nativeSrc":"78777:24:21","nodeType":"YulFunctionCall","src":"78777:24:21"},"nativeSrc":"78777:24:21","nodeType":"YulExpressionStatement","src":"78777:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78821:4:21","nodeType":"YulLiteral","src":"78821:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"78827:4:21","nodeType":"YulLiteral","src":"78827:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"78814:6:21","nodeType":"YulIdentifier","src":"78814:6:21"},"nativeSrc":"78814:18:21","nodeType":"YulFunctionCall","src":"78814:18:21"},"nativeSrc":"78814:18:21","nodeType":"YulExpressionStatement","src":"78814:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78852:4:21","nodeType":"YulLiteral","src":"78852:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"78858:2:21","nodeType":"YulIdentifier","src":"78858:2:21"}],"functionName":{"name":"mstore","nativeSrc":"78845:6:21","nodeType":"YulIdentifier","src":"78845:6:21"},"nativeSrc":"78845:16:21","nodeType":"YulFunctionCall","src":"78845:16:21"},"nativeSrc":"78845:16:21","nodeType":"YulExpressionStatement","src":"78845:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78881:4:21","nodeType":"YulLiteral","src":"78881:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"78887:4:21","nodeType":"YulLiteral","src":"78887:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"78874:6:21","nodeType":"YulIdentifier","src":"78874:6:21"},"nativeSrc":"78874:18:21","nodeType":"YulFunctionCall","src":"78874:18:21"},"nativeSrc":"78874:18:21","nodeType":"YulExpressionStatement","src":"78874:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78917:4:21","nodeType":"YulLiteral","src":"78917:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"78923:2:21","nodeType":"YulIdentifier","src":"78923:2:21"}],"functionName":{"name":"writeString","nativeSrc":"78905:11:21","nodeType":"YulIdentifier","src":"78905:11:21"},"nativeSrc":"78905:21:21","nodeType":"YulFunctionCall","src":"78905:21:21"},"nativeSrc":"78905:21:21","nodeType":"YulExpressionStatement","src":"78905:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78951:4:21","nodeType":"YulLiteral","src":"78951:4:21","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"78957:2:21","nodeType":"YulIdentifier","src":"78957:2:21"}],"functionName":{"name":"writeString","nativeSrc":"78939:11:21","nodeType":"YulIdentifier","src":"78939:11:21"},"nativeSrc":"78939:21:21","nodeType":"YulFunctionCall","src":"78939:21:21"},"nativeSrc":"78939:21:21","nodeType":"YulExpressionStatement","src":"78939:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29449,"isOffset":false,"isSlot":false,"src":"78483:2:21","valueSize":1},{"declaration":29452,"isOffset":false,"isSlot":false,"src":"78513:2:21","valueSize":1},{"declaration":29455,"isOffset":false,"isSlot":false,"src":"78543:2:21","valueSize":1},{"declaration":29458,"isOffset":false,"isSlot":false,"src":"78573:2:21","valueSize":1},{"declaration":29461,"isOffset":false,"isSlot":false,"src":"78603:2:21","valueSize":1},{"declaration":29464,"isOffset":false,"isSlot":false,"src":"78633:2:21","valueSize":1},{"declaration":29467,"isOffset":false,"isSlot":false,"src":"78663:2:21","valueSize":1},{"declaration":29470,"isOffset":false,"isSlot":false,"src":"78693:2:21","valueSize":1},{"declaration":29441,"isOffset":false,"isSlot":false,"src":"78923:2:21","valueSize":1},{"declaration":29443,"isOffset":false,"isSlot":false,"src":"78858:2:21","valueSize":1},{"declaration":29445,"isOffset":false,"isSlot":false,"src":"78957:2:21","valueSize":1}],"id":29472,"nodeType":"InlineAssembly","src":"78105:865:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"78995:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":29475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"79001:4:21","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":29473,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"78979:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78979:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29477,"nodeType":"ExpressionStatement","src":"78979:27:21"},{"AST":{"nativeSrc":"79068:243:21","nodeType":"YulBlock","src":"79068:243:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"79089:4:21","nodeType":"YulLiteral","src":"79089:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"79095:2:21","nodeType":"YulIdentifier","src":"79095:2:21"}],"functionName":{"name":"mstore","nativeSrc":"79082:6:21","nodeType":"YulIdentifier","src":"79082:6:21"},"nativeSrc":"79082:16:21","nodeType":"YulFunctionCall","src":"79082:16:21"},"nativeSrc":"79082:16:21","nodeType":"YulExpressionStatement","src":"79082:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79118:4:21","nodeType":"YulLiteral","src":"79118:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"79124:2:21","nodeType":"YulIdentifier","src":"79124:2:21"}],"functionName":{"name":"mstore","nativeSrc":"79111:6:21","nodeType":"YulIdentifier","src":"79111:6:21"},"nativeSrc":"79111:16:21","nodeType":"YulFunctionCall","src":"79111:16:21"},"nativeSrc":"79111:16:21","nodeType":"YulExpressionStatement","src":"79111:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79147:4:21","nodeType":"YulLiteral","src":"79147:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"79153:2:21","nodeType":"YulIdentifier","src":"79153:2:21"}],"functionName":{"name":"mstore","nativeSrc":"79140:6:21","nodeType":"YulIdentifier","src":"79140:6:21"},"nativeSrc":"79140:16:21","nodeType":"YulFunctionCall","src":"79140:16:21"},"nativeSrc":"79140:16:21","nodeType":"YulExpressionStatement","src":"79140:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79176:4:21","nodeType":"YulLiteral","src":"79176:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"79182:2:21","nodeType":"YulIdentifier","src":"79182:2:21"}],"functionName":{"name":"mstore","nativeSrc":"79169:6:21","nodeType":"YulIdentifier","src":"79169:6:21"},"nativeSrc":"79169:16:21","nodeType":"YulFunctionCall","src":"79169:16:21"},"nativeSrc":"79169:16:21","nodeType":"YulExpressionStatement","src":"79169:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79205:4:21","nodeType":"YulLiteral","src":"79205:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"79211:2:21","nodeType":"YulIdentifier","src":"79211:2:21"}],"functionName":{"name":"mstore","nativeSrc":"79198:6:21","nodeType":"YulIdentifier","src":"79198:6:21"},"nativeSrc":"79198:16:21","nodeType":"YulFunctionCall","src":"79198:16:21"},"nativeSrc":"79198:16:21","nodeType":"YulExpressionStatement","src":"79198:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79234:4:21","nodeType":"YulLiteral","src":"79234:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"79240:2:21","nodeType":"YulIdentifier","src":"79240:2:21"}],"functionName":{"name":"mstore","nativeSrc":"79227:6:21","nodeType":"YulIdentifier","src":"79227:6:21"},"nativeSrc":"79227:16:21","nodeType":"YulFunctionCall","src":"79227:16:21"},"nativeSrc":"79227:16:21","nodeType":"YulExpressionStatement","src":"79227:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79263:4:21","nodeType":"YulLiteral","src":"79263:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"79269:2:21","nodeType":"YulIdentifier","src":"79269:2:21"}],"functionName":{"name":"mstore","nativeSrc":"79256:6:21","nodeType":"YulIdentifier","src":"79256:6:21"},"nativeSrc":"79256:16:21","nodeType":"YulFunctionCall","src":"79256:16:21"},"nativeSrc":"79256:16:21","nodeType":"YulExpressionStatement","src":"79256:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79292:4:21","nodeType":"YulLiteral","src":"79292:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"79298:2:21","nodeType":"YulIdentifier","src":"79298:2:21"}],"functionName":{"name":"mstore","nativeSrc":"79285:6:21","nodeType":"YulIdentifier","src":"79285:6:21"},"nativeSrc":"79285:16:21","nodeType":"YulFunctionCall","src":"79285:16:21"},"nativeSrc":"79285:16:21","nodeType":"YulExpressionStatement","src":"79285:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29449,"isOffset":false,"isSlot":false,"src":"79095:2:21","valueSize":1},{"declaration":29452,"isOffset":false,"isSlot":false,"src":"79124:2:21","valueSize":1},{"declaration":29455,"isOffset":false,"isSlot":false,"src":"79153:2:21","valueSize":1},{"declaration":29458,"isOffset":false,"isSlot":false,"src":"79182:2:21","valueSize":1},{"declaration":29461,"isOffset":false,"isSlot":false,"src":"79211:2:21","valueSize":1},{"declaration":29464,"isOffset":false,"isSlot":false,"src":"79240:2:21","valueSize":1},{"declaration":29467,"isOffset":false,"isSlot":false,"src":"79269:2:21","valueSize":1},{"declaration":29470,"isOffset":false,"isSlot":false,"src":"79298:2:21","valueSize":1}],"id":29478,"nodeType":"InlineAssembly","src":"79059:252:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"77841:3:21","parameters":{"id":29446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29441,"mutability":"mutable","name":"p0","nameLocation":"77853:2:21","nodeType":"VariableDeclaration","scope":29480,"src":"77845:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77845:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29443,"mutability":"mutable","name":"p1","nameLocation":"77862:2:21","nodeType":"VariableDeclaration","scope":29480,"src":"77857:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29442,"name":"bool","nodeType":"ElementaryTypeName","src":"77857:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29445,"mutability":"mutable","name":"p2","nameLocation":"77874:2:21","nodeType":"VariableDeclaration","scope":29480,"src":"77866:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77866:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"77844:33:21"},"returnParameters":{"id":29447,"nodeType":"ParameterList","parameters":[],"src":"77892:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29515,"nodeType":"FunctionDefinition","src":"79323:1298:21","nodes":[],"body":{"id":29514,"nodeType":"Block","src":"79386:1235:21","nodes":[],"statements":[{"assignments":[29490],"declarations":[{"constant":false,"id":29490,"mutability":"mutable","name":"m0","nameLocation":"79404:2:21","nodeType":"VariableDeclaration","scope":29514,"src":"79396:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79396:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29491,"nodeType":"VariableDeclarationStatement","src":"79396:10:21"},{"assignments":[29493],"declarations":[{"constant":false,"id":29493,"mutability":"mutable","name":"m1","nameLocation":"79424:2:21","nodeType":"VariableDeclaration","scope":29514,"src":"79416:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79416:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29494,"nodeType":"VariableDeclarationStatement","src":"79416:10:21"},{"assignments":[29496],"declarations":[{"constant":false,"id":29496,"mutability":"mutable","name":"m2","nameLocation":"79444:2:21","nodeType":"VariableDeclaration","scope":29514,"src":"79436:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79436:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29497,"nodeType":"VariableDeclarationStatement","src":"79436:10:21"},{"assignments":[29499],"declarations":[{"constant":false,"id":29499,"mutability":"mutable","name":"m3","nameLocation":"79464:2:21","nodeType":"VariableDeclaration","scope":29514,"src":"79456:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79456:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29500,"nodeType":"VariableDeclarationStatement","src":"79456:10:21"},{"assignments":[29502],"declarations":[{"constant":false,"id":29502,"mutability":"mutable","name":"m4","nameLocation":"79484:2:21","nodeType":"VariableDeclaration","scope":29514,"src":"79476:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79476:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29503,"nodeType":"VariableDeclarationStatement","src":"79476:10:21"},{"assignments":[29505],"declarations":[{"constant":false,"id":29505,"mutability":"mutable","name":"m5","nameLocation":"79504:2:21","nodeType":"VariableDeclaration","scope":29514,"src":"79496:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79496:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29506,"nodeType":"VariableDeclarationStatement","src":"79496:10:21"},{"AST":{"nativeSrc":"79568:764:21","nodeType":"YulBlock","src":"79568:764:21","statements":[{"body":{"nativeSrc":"79611:313:21","nodeType":"YulBlock","src":"79611:313:21","statements":[{"nativeSrc":"79629:15:21","nodeType":"YulVariableDeclaration","src":"79629:15:21","value":{"kind":"number","nativeSrc":"79643:1:21","nodeType":"YulLiteral","src":"79643:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"79633:6:21","nodeType":"YulTypedName","src":"79633:6:21","type":""}]},{"body":{"nativeSrc":"79714:40:21","nodeType":"YulBlock","src":"79714:40:21","statements":[{"body":{"nativeSrc":"79743:9:21","nodeType":"YulBlock","src":"79743:9:21","statements":[{"nativeSrc":"79745:5:21","nodeType":"YulBreak","src":"79745:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"79731:6:21","nodeType":"YulIdentifier","src":"79731:6:21"},{"name":"w","nativeSrc":"79739:1:21","nodeType":"YulIdentifier","src":"79739:1:21"}],"functionName":{"name":"byte","nativeSrc":"79726:4:21","nodeType":"YulIdentifier","src":"79726:4:21"},"nativeSrc":"79726:15:21","nodeType":"YulFunctionCall","src":"79726:15:21"}],"functionName":{"name":"iszero","nativeSrc":"79719:6:21","nodeType":"YulIdentifier","src":"79719:6:21"},"nativeSrc":"79719:23:21","nodeType":"YulFunctionCall","src":"79719:23:21"},"nativeSrc":"79716:36:21","nodeType":"YulIf","src":"79716:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"79671:6:21","nodeType":"YulIdentifier","src":"79671:6:21"},{"kind":"number","nativeSrc":"79679:4:21","nodeType":"YulLiteral","src":"79679:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"79668:2:21","nodeType":"YulIdentifier","src":"79668:2:21"},"nativeSrc":"79668:16:21","nodeType":"YulFunctionCall","src":"79668:16:21"},"nativeSrc":"79661:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"79685:28:21","nodeType":"YulBlock","src":"79685:28:21","statements":[{"nativeSrc":"79687:24:21","nodeType":"YulAssignment","src":"79687:24:21","value":{"arguments":[{"name":"length","nativeSrc":"79701:6:21","nodeType":"YulIdentifier","src":"79701:6:21"},{"kind":"number","nativeSrc":"79709:1:21","nodeType":"YulLiteral","src":"79709:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"79697:3:21","nodeType":"YulIdentifier","src":"79697:3:21"},"nativeSrc":"79697:14:21","nodeType":"YulFunctionCall","src":"79697:14:21"},"variableNames":[{"name":"length","nativeSrc":"79687:6:21","nodeType":"YulIdentifier","src":"79687:6:21"}]}]},"pre":{"nativeSrc":"79665:2:21","nodeType":"YulBlock","src":"79665:2:21","statements":[]},"src":"79661:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"79778:3:21","nodeType":"YulIdentifier","src":"79778:3:21"},{"name":"length","nativeSrc":"79783:6:21","nodeType":"YulIdentifier","src":"79783:6:21"}],"functionName":{"name":"mstore","nativeSrc":"79771:6:21","nodeType":"YulIdentifier","src":"79771:6:21"},"nativeSrc":"79771:19:21","nodeType":"YulFunctionCall","src":"79771:19:21"},"nativeSrc":"79771:19:21","nodeType":"YulExpressionStatement","src":"79771:19:21"},{"nativeSrc":"79807:37:21","nodeType":"YulVariableDeclaration","src":"79807:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"79824:3:21","nodeType":"YulLiteral","src":"79824:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"79833:1:21","nodeType":"YulLiteral","src":"79833:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"79836:6:21","nodeType":"YulIdentifier","src":"79836:6:21"}],"functionName":{"name":"shl","nativeSrc":"79829:3:21","nodeType":"YulIdentifier","src":"79829:3:21"},"nativeSrc":"79829:14:21","nodeType":"YulFunctionCall","src":"79829:14:21"}],"functionName":{"name":"sub","nativeSrc":"79820:3:21","nodeType":"YulIdentifier","src":"79820:3:21"},"nativeSrc":"79820:24:21","nodeType":"YulFunctionCall","src":"79820:24:21"},"variables":[{"name":"shift","nativeSrc":"79811:5:21","nodeType":"YulTypedName","src":"79811:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"79872:3:21","nodeType":"YulIdentifier","src":"79872:3:21"},{"kind":"number","nativeSrc":"79877:4:21","nodeType":"YulLiteral","src":"79877:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"79868:3:21","nodeType":"YulIdentifier","src":"79868:3:21"},"nativeSrc":"79868:14:21","nodeType":"YulFunctionCall","src":"79868:14:21"},{"arguments":[{"name":"shift","nativeSrc":"79888:5:21","nodeType":"YulIdentifier","src":"79888:5:21"},{"arguments":[{"name":"shift","nativeSrc":"79899:5:21","nodeType":"YulIdentifier","src":"79899:5:21"},{"name":"w","nativeSrc":"79906:1:21","nodeType":"YulIdentifier","src":"79906:1:21"}],"functionName":{"name":"shr","nativeSrc":"79895:3:21","nodeType":"YulIdentifier","src":"79895:3:21"},"nativeSrc":"79895:13:21","nodeType":"YulFunctionCall","src":"79895:13:21"}],"functionName":{"name":"shl","nativeSrc":"79884:3:21","nodeType":"YulIdentifier","src":"79884:3:21"},"nativeSrc":"79884:25:21","nodeType":"YulFunctionCall","src":"79884:25:21"}],"functionName":{"name":"mstore","nativeSrc":"79861:6:21","nodeType":"YulIdentifier","src":"79861:6:21"},"nativeSrc":"79861:49:21","nodeType":"YulFunctionCall","src":"79861:49:21"},"nativeSrc":"79861:49:21","nodeType":"YulExpressionStatement","src":"79861:49:21"}]},"name":"writeString","nativeSrc":"79582:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"79603:3:21","nodeType":"YulTypedName","src":"79603:3:21","type":""},{"name":"w","nativeSrc":"79608:1:21","nodeType":"YulTypedName","src":"79608:1:21","type":""}],"src":"79582:342:21"},{"nativeSrc":"79937:17:21","nodeType":"YulAssignment","src":"79937:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"79949:4:21","nodeType":"YulLiteral","src":"79949:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"79943:5:21","nodeType":"YulIdentifier","src":"79943:5:21"},"nativeSrc":"79943:11:21","nodeType":"YulFunctionCall","src":"79943:11:21"},"variableNames":[{"name":"m0","nativeSrc":"79937:2:21","nodeType":"YulIdentifier","src":"79937:2:21"}]},{"nativeSrc":"79967:17:21","nodeType":"YulAssignment","src":"79967:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"79979:4:21","nodeType":"YulLiteral","src":"79979:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"79973:5:21","nodeType":"YulIdentifier","src":"79973:5:21"},"nativeSrc":"79973:11:21","nodeType":"YulFunctionCall","src":"79973:11:21"},"variableNames":[{"name":"m1","nativeSrc":"79967:2:21","nodeType":"YulIdentifier","src":"79967:2:21"}]},{"nativeSrc":"79997:17:21","nodeType":"YulAssignment","src":"79997:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"80009:4:21","nodeType":"YulLiteral","src":"80009:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"80003:5:21","nodeType":"YulIdentifier","src":"80003:5:21"},"nativeSrc":"80003:11:21","nodeType":"YulFunctionCall","src":"80003:11:21"},"variableNames":[{"name":"m2","nativeSrc":"79997:2:21","nodeType":"YulIdentifier","src":"79997:2:21"}]},{"nativeSrc":"80027:17:21","nodeType":"YulAssignment","src":"80027:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"80039:4:21","nodeType":"YulLiteral","src":"80039:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"80033:5:21","nodeType":"YulIdentifier","src":"80033:5:21"},"nativeSrc":"80033:11:21","nodeType":"YulFunctionCall","src":"80033:11:21"},"variableNames":[{"name":"m3","nativeSrc":"80027:2:21","nodeType":"YulIdentifier","src":"80027:2:21"}]},{"nativeSrc":"80057:17:21","nodeType":"YulAssignment","src":"80057:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"80069:4:21","nodeType":"YulLiteral","src":"80069:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"80063:5:21","nodeType":"YulIdentifier","src":"80063:5:21"},"nativeSrc":"80063:11:21","nodeType":"YulFunctionCall","src":"80063:11:21"},"variableNames":[{"name":"m4","nativeSrc":"80057:2:21","nodeType":"YulIdentifier","src":"80057:2:21"}]},{"nativeSrc":"80087:17:21","nodeType":"YulAssignment","src":"80087:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"80099:4:21","nodeType":"YulLiteral","src":"80099:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"80093:5:21","nodeType":"YulIdentifier","src":"80093:5:21"},"nativeSrc":"80093:11:21","nodeType":"YulFunctionCall","src":"80093:11:21"},"variableNames":[{"name":"m5","nativeSrc":"80087:2:21","nodeType":"YulIdentifier","src":"80087:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80182:4:21","nodeType":"YulLiteral","src":"80182:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"80188:10:21","nodeType":"YulLiteral","src":"80188:10:21","type":"","value":"0x1c7ec448"}],"functionName":{"name":"mstore","nativeSrc":"80175:6:21","nodeType":"YulIdentifier","src":"80175:6:21"},"nativeSrc":"80175:24:21","nodeType":"YulFunctionCall","src":"80175:24:21"},"nativeSrc":"80175:24:21","nodeType":"YulExpressionStatement","src":"80175:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80219:4:21","nodeType":"YulLiteral","src":"80219:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"80225:4:21","nodeType":"YulLiteral","src":"80225:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"80212:6:21","nodeType":"YulIdentifier","src":"80212:6:21"},"nativeSrc":"80212:18:21","nodeType":"YulFunctionCall","src":"80212:18:21"},"nativeSrc":"80212:18:21","nodeType":"YulExpressionStatement","src":"80212:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80250:4:21","nodeType":"YulLiteral","src":"80250:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"80256:2:21","nodeType":"YulIdentifier","src":"80256:2:21"}],"functionName":{"name":"mstore","nativeSrc":"80243:6:21","nodeType":"YulIdentifier","src":"80243:6:21"},"nativeSrc":"80243:16:21","nodeType":"YulFunctionCall","src":"80243:16:21"},"nativeSrc":"80243:16:21","nodeType":"YulExpressionStatement","src":"80243:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80279:4:21","nodeType":"YulLiteral","src":"80279:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"80285:2:21","nodeType":"YulIdentifier","src":"80285:2:21"}],"functionName":{"name":"mstore","nativeSrc":"80272:6:21","nodeType":"YulIdentifier","src":"80272:6:21"},"nativeSrc":"80272:16:21","nodeType":"YulFunctionCall","src":"80272:16:21"},"nativeSrc":"80272:16:21","nodeType":"YulExpressionStatement","src":"80272:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80313:4:21","nodeType":"YulLiteral","src":"80313:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"80319:2:21","nodeType":"YulIdentifier","src":"80319:2:21"}],"functionName":{"name":"writeString","nativeSrc":"80301:11:21","nodeType":"YulIdentifier","src":"80301:11:21"},"nativeSrc":"80301:21:21","nodeType":"YulFunctionCall","src":"80301:21:21"},"nativeSrc":"80301:21:21","nodeType":"YulExpressionStatement","src":"80301:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29490,"isOffset":false,"isSlot":false,"src":"79937:2:21","valueSize":1},{"declaration":29493,"isOffset":false,"isSlot":false,"src":"79967:2:21","valueSize":1},{"declaration":29496,"isOffset":false,"isSlot":false,"src":"79997:2:21","valueSize":1},{"declaration":29499,"isOffset":false,"isSlot":false,"src":"80027:2:21","valueSize":1},{"declaration":29502,"isOffset":false,"isSlot":false,"src":"80057:2:21","valueSize":1},{"declaration":29505,"isOffset":false,"isSlot":false,"src":"80087:2:21","valueSize":1},{"declaration":29482,"isOffset":false,"isSlot":false,"src":"80319:2:21","valueSize":1},{"declaration":29484,"isOffset":false,"isSlot":false,"src":"80256:2:21","valueSize":1},{"declaration":29486,"isOffset":false,"isSlot":false,"src":"80285:2:21","valueSize":1}],"id":29507,"nodeType":"InlineAssembly","src":"79559:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"80357:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"80363:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29508,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"80341:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"80341:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29512,"nodeType":"ExpressionStatement","src":"80341:27:21"},{"AST":{"nativeSrc":"80430:185:21","nodeType":"YulBlock","src":"80430:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"80451:4:21","nodeType":"YulLiteral","src":"80451:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"80457:2:21","nodeType":"YulIdentifier","src":"80457:2:21"}],"functionName":{"name":"mstore","nativeSrc":"80444:6:21","nodeType":"YulIdentifier","src":"80444:6:21"},"nativeSrc":"80444:16:21","nodeType":"YulFunctionCall","src":"80444:16:21"},"nativeSrc":"80444:16:21","nodeType":"YulExpressionStatement","src":"80444:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80480:4:21","nodeType":"YulLiteral","src":"80480:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"80486:2:21","nodeType":"YulIdentifier","src":"80486:2:21"}],"functionName":{"name":"mstore","nativeSrc":"80473:6:21","nodeType":"YulIdentifier","src":"80473:6:21"},"nativeSrc":"80473:16:21","nodeType":"YulFunctionCall","src":"80473:16:21"},"nativeSrc":"80473:16:21","nodeType":"YulExpressionStatement","src":"80473:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80509:4:21","nodeType":"YulLiteral","src":"80509:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"80515:2:21","nodeType":"YulIdentifier","src":"80515:2:21"}],"functionName":{"name":"mstore","nativeSrc":"80502:6:21","nodeType":"YulIdentifier","src":"80502:6:21"},"nativeSrc":"80502:16:21","nodeType":"YulFunctionCall","src":"80502:16:21"},"nativeSrc":"80502:16:21","nodeType":"YulExpressionStatement","src":"80502:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80538:4:21","nodeType":"YulLiteral","src":"80538:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"80544:2:21","nodeType":"YulIdentifier","src":"80544:2:21"}],"functionName":{"name":"mstore","nativeSrc":"80531:6:21","nodeType":"YulIdentifier","src":"80531:6:21"},"nativeSrc":"80531:16:21","nodeType":"YulFunctionCall","src":"80531:16:21"},"nativeSrc":"80531:16:21","nodeType":"YulExpressionStatement","src":"80531:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80567:4:21","nodeType":"YulLiteral","src":"80567:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"80573:2:21","nodeType":"YulIdentifier","src":"80573:2:21"}],"functionName":{"name":"mstore","nativeSrc":"80560:6:21","nodeType":"YulIdentifier","src":"80560:6:21"},"nativeSrc":"80560:16:21","nodeType":"YulFunctionCall","src":"80560:16:21"},"nativeSrc":"80560:16:21","nodeType":"YulExpressionStatement","src":"80560:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80596:4:21","nodeType":"YulLiteral","src":"80596:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"80602:2:21","nodeType":"YulIdentifier","src":"80602:2:21"}],"functionName":{"name":"mstore","nativeSrc":"80589:6:21","nodeType":"YulIdentifier","src":"80589:6:21"},"nativeSrc":"80589:16:21","nodeType":"YulFunctionCall","src":"80589:16:21"},"nativeSrc":"80589:16:21","nodeType":"YulExpressionStatement","src":"80589:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29490,"isOffset":false,"isSlot":false,"src":"80457:2:21","valueSize":1},{"declaration":29493,"isOffset":false,"isSlot":false,"src":"80486:2:21","valueSize":1},{"declaration":29496,"isOffset":false,"isSlot":false,"src":"80515:2:21","valueSize":1},{"declaration":29499,"isOffset":false,"isSlot":false,"src":"80544:2:21","valueSize":1},{"declaration":29502,"isOffset":false,"isSlot":false,"src":"80573:2:21","valueSize":1},{"declaration":29505,"isOffset":false,"isSlot":false,"src":"80602:2:21","valueSize":1}],"id":29513,"nodeType":"InlineAssembly","src":"80421:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"79332:3:21","parameters":{"id":29487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29482,"mutability":"mutable","name":"p0","nameLocation":"79344:2:21","nodeType":"VariableDeclaration","scope":29515,"src":"79336:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79336:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29484,"mutability":"mutable","name":"p1","nameLocation":"79356:2:21","nodeType":"VariableDeclaration","scope":29515,"src":"79348:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29483,"name":"uint256","nodeType":"ElementaryTypeName","src":"79348:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29486,"mutability":"mutable","name":"p2","nameLocation":"79368:2:21","nodeType":"VariableDeclaration","scope":29515,"src":"79360:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29485,"name":"address","nodeType":"ElementaryTypeName","src":"79360:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"79335:36:21"},"returnParameters":{"id":29488,"nodeType":"ParameterList","parameters":[],"src":"79386:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29550,"nodeType":"FunctionDefinition","src":"80627:1292:21","nodes":[],"body":{"id":29549,"nodeType":"Block","src":"80687:1232:21","nodes":[],"statements":[{"assignments":[29525],"declarations":[{"constant":false,"id":29525,"mutability":"mutable","name":"m0","nameLocation":"80705:2:21","nodeType":"VariableDeclaration","scope":29549,"src":"80697:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29524,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80697:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29526,"nodeType":"VariableDeclarationStatement","src":"80697:10:21"},{"assignments":[29528],"declarations":[{"constant":false,"id":29528,"mutability":"mutable","name":"m1","nameLocation":"80725:2:21","nodeType":"VariableDeclaration","scope":29549,"src":"80717:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80717:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29529,"nodeType":"VariableDeclarationStatement","src":"80717:10:21"},{"assignments":[29531],"declarations":[{"constant":false,"id":29531,"mutability":"mutable","name":"m2","nameLocation":"80745:2:21","nodeType":"VariableDeclaration","scope":29549,"src":"80737:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80737:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29532,"nodeType":"VariableDeclarationStatement","src":"80737:10:21"},{"assignments":[29534],"declarations":[{"constant":false,"id":29534,"mutability":"mutable","name":"m3","nameLocation":"80765:2:21","nodeType":"VariableDeclaration","scope":29549,"src":"80757:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80757:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29535,"nodeType":"VariableDeclarationStatement","src":"80757:10:21"},{"assignments":[29537],"declarations":[{"constant":false,"id":29537,"mutability":"mutable","name":"m4","nameLocation":"80785:2:21","nodeType":"VariableDeclaration","scope":29549,"src":"80777:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29536,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80777:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29538,"nodeType":"VariableDeclarationStatement","src":"80777:10:21"},{"assignments":[29540],"declarations":[{"constant":false,"id":29540,"mutability":"mutable","name":"m5","nameLocation":"80805:2:21","nodeType":"VariableDeclaration","scope":29549,"src":"80797:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80797:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29541,"nodeType":"VariableDeclarationStatement","src":"80797:10:21"},{"AST":{"nativeSrc":"80869:761:21","nodeType":"YulBlock","src":"80869:761:21","statements":[{"body":{"nativeSrc":"80912:313:21","nodeType":"YulBlock","src":"80912:313:21","statements":[{"nativeSrc":"80930:15:21","nodeType":"YulVariableDeclaration","src":"80930:15:21","value":{"kind":"number","nativeSrc":"80944:1:21","nodeType":"YulLiteral","src":"80944:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"80934:6:21","nodeType":"YulTypedName","src":"80934:6:21","type":""}]},{"body":{"nativeSrc":"81015:40:21","nodeType":"YulBlock","src":"81015:40:21","statements":[{"body":{"nativeSrc":"81044:9:21","nodeType":"YulBlock","src":"81044:9:21","statements":[{"nativeSrc":"81046:5:21","nodeType":"YulBreak","src":"81046:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"81032:6:21","nodeType":"YulIdentifier","src":"81032:6:21"},{"name":"w","nativeSrc":"81040:1:21","nodeType":"YulIdentifier","src":"81040:1:21"}],"functionName":{"name":"byte","nativeSrc":"81027:4:21","nodeType":"YulIdentifier","src":"81027:4:21"},"nativeSrc":"81027:15:21","nodeType":"YulFunctionCall","src":"81027:15:21"}],"functionName":{"name":"iszero","nativeSrc":"81020:6:21","nodeType":"YulIdentifier","src":"81020:6:21"},"nativeSrc":"81020:23:21","nodeType":"YulFunctionCall","src":"81020:23:21"},"nativeSrc":"81017:36:21","nodeType":"YulIf","src":"81017:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"80972:6:21","nodeType":"YulIdentifier","src":"80972:6:21"},{"kind":"number","nativeSrc":"80980:4:21","nodeType":"YulLiteral","src":"80980:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"80969:2:21","nodeType":"YulIdentifier","src":"80969:2:21"},"nativeSrc":"80969:16:21","nodeType":"YulFunctionCall","src":"80969:16:21"},"nativeSrc":"80962:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"80986:28:21","nodeType":"YulBlock","src":"80986:28:21","statements":[{"nativeSrc":"80988:24:21","nodeType":"YulAssignment","src":"80988:24:21","value":{"arguments":[{"name":"length","nativeSrc":"81002:6:21","nodeType":"YulIdentifier","src":"81002:6:21"},{"kind":"number","nativeSrc":"81010:1:21","nodeType":"YulLiteral","src":"81010:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"80998:3:21","nodeType":"YulIdentifier","src":"80998:3:21"},"nativeSrc":"80998:14:21","nodeType":"YulFunctionCall","src":"80998:14:21"},"variableNames":[{"name":"length","nativeSrc":"80988:6:21","nodeType":"YulIdentifier","src":"80988:6:21"}]}]},"pre":{"nativeSrc":"80966:2:21","nodeType":"YulBlock","src":"80966:2:21","statements":[]},"src":"80962:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"81079:3:21","nodeType":"YulIdentifier","src":"81079:3:21"},{"name":"length","nativeSrc":"81084:6:21","nodeType":"YulIdentifier","src":"81084:6:21"}],"functionName":{"name":"mstore","nativeSrc":"81072:6:21","nodeType":"YulIdentifier","src":"81072:6:21"},"nativeSrc":"81072:19:21","nodeType":"YulFunctionCall","src":"81072:19:21"},"nativeSrc":"81072:19:21","nodeType":"YulExpressionStatement","src":"81072:19:21"},{"nativeSrc":"81108:37:21","nodeType":"YulVariableDeclaration","src":"81108:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"81125:3:21","nodeType":"YulLiteral","src":"81125:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"81134:1:21","nodeType":"YulLiteral","src":"81134:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"81137:6:21","nodeType":"YulIdentifier","src":"81137:6:21"}],"functionName":{"name":"shl","nativeSrc":"81130:3:21","nodeType":"YulIdentifier","src":"81130:3:21"},"nativeSrc":"81130:14:21","nodeType":"YulFunctionCall","src":"81130:14:21"}],"functionName":{"name":"sub","nativeSrc":"81121:3:21","nodeType":"YulIdentifier","src":"81121:3:21"},"nativeSrc":"81121:24:21","nodeType":"YulFunctionCall","src":"81121:24:21"},"variables":[{"name":"shift","nativeSrc":"81112:5:21","nodeType":"YulTypedName","src":"81112:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"81173:3:21","nodeType":"YulIdentifier","src":"81173:3:21"},{"kind":"number","nativeSrc":"81178:4:21","nodeType":"YulLiteral","src":"81178:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"81169:3:21","nodeType":"YulIdentifier","src":"81169:3:21"},"nativeSrc":"81169:14:21","nodeType":"YulFunctionCall","src":"81169:14:21"},{"arguments":[{"name":"shift","nativeSrc":"81189:5:21","nodeType":"YulIdentifier","src":"81189:5:21"},{"arguments":[{"name":"shift","nativeSrc":"81200:5:21","nodeType":"YulIdentifier","src":"81200:5:21"},{"name":"w","nativeSrc":"81207:1:21","nodeType":"YulIdentifier","src":"81207:1:21"}],"functionName":{"name":"shr","nativeSrc":"81196:3:21","nodeType":"YulIdentifier","src":"81196:3:21"},"nativeSrc":"81196:13:21","nodeType":"YulFunctionCall","src":"81196:13:21"}],"functionName":{"name":"shl","nativeSrc":"81185:3:21","nodeType":"YulIdentifier","src":"81185:3:21"},"nativeSrc":"81185:25:21","nodeType":"YulFunctionCall","src":"81185:25:21"}],"functionName":{"name":"mstore","nativeSrc":"81162:6:21","nodeType":"YulIdentifier","src":"81162:6:21"},"nativeSrc":"81162:49:21","nodeType":"YulFunctionCall","src":"81162:49:21"},"nativeSrc":"81162:49:21","nodeType":"YulExpressionStatement","src":"81162:49:21"}]},"name":"writeString","nativeSrc":"80883:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"80904:3:21","nodeType":"YulTypedName","src":"80904:3:21","type":""},{"name":"w","nativeSrc":"80909:1:21","nodeType":"YulTypedName","src":"80909:1:21","type":""}],"src":"80883:342:21"},{"nativeSrc":"81238:17:21","nodeType":"YulAssignment","src":"81238:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"81250:4:21","nodeType":"YulLiteral","src":"81250:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"81244:5:21","nodeType":"YulIdentifier","src":"81244:5:21"},"nativeSrc":"81244:11:21","nodeType":"YulFunctionCall","src":"81244:11:21"},"variableNames":[{"name":"m0","nativeSrc":"81238:2:21","nodeType":"YulIdentifier","src":"81238:2:21"}]},{"nativeSrc":"81268:17:21","nodeType":"YulAssignment","src":"81268:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"81280:4:21","nodeType":"YulLiteral","src":"81280:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"81274:5:21","nodeType":"YulIdentifier","src":"81274:5:21"},"nativeSrc":"81274:11:21","nodeType":"YulFunctionCall","src":"81274:11:21"},"variableNames":[{"name":"m1","nativeSrc":"81268:2:21","nodeType":"YulIdentifier","src":"81268:2:21"}]},{"nativeSrc":"81298:17:21","nodeType":"YulAssignment","src":"81298:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"81310:4:21","nodeType":"YulLiteral","src":"81310:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"81304:5:21","nodeType":"YulIdentifier","src":"81304:5:21"},"nativeSrc":"81304:11:21","nodeType":"YulFunctionCall","src":"81304:11:21"},"variableNames":[{"name":"m2","nativeSrc":"81298:2:21","nodeType":"YulIdentifier","src":"81298:2:21"}]},{"nativeSrc":"81328:17:21","nodeType":"YulAssignment","src":"81328:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"81340:4:21","nodeType":"YulLiteral","src":"81340:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"81334:5:21","nodeType":"YulIdentifier","src":"81334:5:21"},"nativeSrc":"81334:11:21","nodeType":"YulFunctionCall","src":"81334:11:21"},"variableNames":[{"name":"m3","nativeSrc":"81328:2:21","nodeType":"YulIdentifier","src":"81328:2:21"}]},{"nativeSrc":"81358:17:21","nodeType":"YulAssignment","src":"81358:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"81370:4:21","nodeType":"YulLiteral","src":"81370:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"81364:5:21","nodeType":"YulIdentifier","src":"81364:5:21"},"nativeSrc":"81364:11:21","nodeType":"YulFunctionCall","src":"81364:11:21"},"variableNames":[{"name":"m4","nativeSrc":"81358:2:21","nodeType":"YulIdentifier","src":"81358:2:21"}]},{"nativeSrc":"81388:17:21","nodeType":"YulAssignment","src":"81388:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"81400:4:21","nodeType":"YulLiteral","src":"81400:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"81394:5:21","nodeType":"YulIdentifier","src":"81394:5:21"},"nativeSrc":"81394:11:21","nodeType":"YulFunctionCall","src":"81394:11:21"},"variableNames":[{"name":"m5","nativeSrc":"81388:2:21","nodeType":"YulIdentifier","src":"81388:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81480:4:21","nodeType":"YulLiteral","src":"81480:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"81486:10:21","nodeType":"YulLiteral","src":"81486:10:21","type":"","value":"0xca7733b1"}],"functionName":{"name":"mstore","nativeSrc":"81473:6:21","nodeType":"YulIdentifier","src":"81473:6:21"},"nativeSrc":"81473:24:21","nodeType":"YulFunctionCall","src":"81473:24:21"},"nativeSrc":"81473:24:21","nodeType":"YulExpressionStatement","src":"81473:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81517:4:21","nodeType":"YulLiteral","src":"81517:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"81523:4:21","nodeType":"YulLiteral","src":"81523:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"81510:6:21","nodeType":"YulIdentifier","src":"81510:6:21"},"nativeSrc":"81510:18:21","nodeType":"YulFunctionCall","src":"81510:18:21"},"nativeSrc":"81510:18:21","nodeType":"YulExpressionStatement","src":"81510:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81548:4:21","nodeType":"YulLiteral","src":"81548:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"81554:2:21","nodeType":"YulIdentifier","src":"81554:2:21"}],"functionName":{"name":"mstore","nativeSrc":"81541:6:21","nodeType":"YulIdentifier","src":"81541:6:21"},"nativeSrc":"81541:16:21","nodeType":"YulFunctionCall","src":"81541:16:21"},"nativeSrc":"81541:16:21","nodeType":"YulExpressionStatement","src":"81541:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81577:4:21","nodeType":"YulLiteral","src":"81577:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"81583:2:21","nodeType":"YulIdentifier","src":"81583:2:21"}],"functionName":{"name":"mstore","nativeSrc":"81570:6:21","nodeType":"YulIdentifier","src":"81570:6:21"},"nativeSrc":"81570:16:21","nodeType":"YulFunctionCall","src":"81570:16:21"},"nativeSrc":"81570:16:21","nodeType":"YulExpressionStatement","src":"81570:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81611:4:21","nodeType":"YulLiteral","src":"81611:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"81617:2:21","nodeType":"YulIdentifier","src":"81617:2:21"}],"functionName":{"name":"writeString","nativeSrc":"81599:11:21","nodeType":"YulIdentifier","src":"81599:11:21"},"nativeSrc":"81599:21:21","nodeType":"YulFunctionCall","src":"81599:21:21"},"nativeSrc":"81599:21:21","nodeType":"YulExpressionStatement","src":"81599:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29525,"isOffset":false,"isSlot":false,"src":"81238:2:21","valueSize":1},{"declaration":29528,"isOffset":false,"isSlot":false,"src":"81268:2:21","valueSize":1},{"declaration":29531,"isOffset":false,"isSlot":false,"src":"81298:2:21","valueSize":1},{"declaration":29534,"isOffset":false,"isSlot":false,"src":"81328:2:21","valueSize":1},{"declaration":29537,"isOffset":false,"isSlot":false,"src":"81358:2:21","valueSize":1},{"declaration":29540,"isOffset":false,"isSlot":false,"src":"81388:2:21","valueSize":1},{"declaration":29517,"isOffset":false,"isSlot":false,"src":"81617:2:21","valueSize":1},{"declaration":29519,"isOffset":false,"isSlot":false,"src":"81554:2:21","valueSize":1},{"declaration":29521,"isOffset":false,"isSlot":false,"src":"81583:2:21","valueSize":1}],"id":29542,"nodeType":"InlineAssembly","src":"80860:770:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"81655:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"81661:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29543,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"81639:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"81639:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29547,"nodeType":"ExpressionStatement","src":"81639:27:21"},{"AST":{"nativeSrc":"81728:185:21","nodeType":"YulBlock","src":"81728:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"81749:4:21","nodeType":"YulLiteral","src":"81749:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"81755:2:21","nodeType":"YulIdentifier","src":"81755:2:21"}],"functionName":{"name":"mstore","nativeSrc":"81742:6:21","nodeType":"YulIdentifier","src":"81742:6:21"},"nativeSrc":"81742:16:21","nodeType":"YulFunctionCall","src":"81742:16:21"},"nativeSrc":"81742:16:21","nodeType":"YulExpressionStatement","src":"81742:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81778:4:21","nodeType":"YulLiteral","src":"81778:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"81784:2:21","nodeType":"YulIdentifier","src":"81784:2:21"}],"functionName":{"name":"mstore","nativeSrc":"81771:6:21","nodeType":"YulIdentifier","src":"81771:6:21"},"nativeSrc":"81771:16:21","nodeType":"YulFunctionCall","src":"81771:16:21"},"nativeSrc":"81771:16:21","nodeType":"YulExpressionStatement","src":"81771:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81807:4:21","nodeType":"YulLiteral","src":"81807:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"81813:2:21","nodeType":"YulIdentifier","src":"81813:2:21"}],"functionName":{"name":"mstore","nativeSrc":"81800:6:21","nodeType":"YulIdentifier","src":"81800:6:21"},"nativeSrc":"81800:16:21","nodeType":"YulFunctionCall","src":"81800:16:21"},"nativeSrc":"81800:16:21","nodeType":"YulExpressionStatement","src":"81800:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81836:4:21","nodeType":"YulLiteral","src":"81836:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"81842:2:21","nodeType":"YulIdentifier","src":"81842:2:21"}],"functionName":{"name":"mstore","nativeSrc":"81829:6:21","nodeType":"YulIdentifier","src":"81829:6:21"},"nativeSrc":"81829:16:21","nodeType":"YulFunctionCall","src":"81829:16:21"},"nativeSrc":"81829:16:21","nodeType":"YulExpressionStatement","src":"81829:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81865:4:21","nodeType":"YulLiteral","src":"81865:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"81871:2:21","nodeType":"YulIdentifier","src":"81871:2:21"}],"functionName":{"name":"mstore","nativeSrc":"81858:6:21","nodeType":"YulIdentifier","src":"81858:6:21"},"nativeSrc":"81858:16:21","nodeType":"YulFunctionCall","src":"81858:16:21"},"nativeSrc":"81858:16:21","nodeType":"YulExpressionStatement","src":"81858:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81894:4:21","nodeType":"YulLiteral","src":"81894:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"81900:2:21","nodeType":"YulIdentifier","src":"81900:2:21"}],"functionName":{"name":"mstore","nativeSrc":"81887:6:21","nodeType":"YulIdentifier","src":"81887:6:21"},"nativeSrc":"81887:16:21","nodeType":"YulFunctionCall","src":"81887:16:21"},"nativeSrc":"81887:16:21","nodeType":"YulExpressionStatement","src":"81887:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29525,"isOffset":false,"isSlot":false,"src":"81755:2:21","valueSize":1},{"declaration":29528,"isOffset":false,"isSlot":false,"src":"81784:2:21","valueSize":1},{"declaration":29531,"isOffset":false,"isSlot":false,"src":"81813:2:21","valueSize":1},{"declaration":29534,"isOffset":false,"isSlot":false,"src":"81842:2:21","valueSize":1},{"declaration":29537,"isOffset":false,"isSlot":false,"src":"81871:2:21","valueSize":1},{"declaration":29540,"isOffset":false,"isSlot":false,"src":"81900:2:21","valueSize":1}],"id":29548,"nodeType":"InlineAssembly","src":"81719:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"80636:3:21","parameters":{"id":29522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29517,"mutability":"mutable","name":"p0","nameLocation":"80648:2:21","nodeType":"VariableDeclaration","scope":29550,"src":"80640:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80640:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29519,"mutability":"mutable","name":"p1","nameLocation":"80660:2:21","nodeType":"VariableDeclaration","scope":29550,"src":"80652:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29518,"name":"uint256","nodeType":"ElementaryTypeName","src":"80652:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29521,"mutability":"mutable","name":"p2","nameLocation":"80669:2:21","nodeType":"VariableDeclaration","scope":29550,"src":"80664:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29520,"name":"bool","nodeType":"ElementaryTypeName","src":"80664:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"80639:33:21"},"returnParameters":{"id":29523,"nodeType":"ParameterList","parameters":[],"src":"80687:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29585,"nodeType":"FunctionDefinition","src":"81925:1298:21","nodes":[],"body":{"id":29584,"nodeType":"Block","src":"81988:1235:21","nodes":[],"statements":[{"assignments":[29560],"declarations":[{"constant":false,"id":29560,"mutability":"mutable","name":"m0","nameLocation":"82006:2:21","nodeType":"VariableDeclaration","scope":29584,"src":"81998:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"81998:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29561,"nodeType":"VariableDeclarationStatement","src":"81998:10:21"},{"assignments":[29563],"declarations":[{"constant":false,"id":29563,"mutability":"mutable","name":"m1","nameLocation":"82026:2:21","nodeType":"VariableDeclaration","scope":29584,"src":"82018:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82018:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29564,"nodeType":"VariableDeclarationStatement","src":"82018:10:21"},{"assignments":[29566],"declarations":[{"constant":false,"id":29566,"mutability":"mutable","name":"m2","nameLocation":"82046:2:21","nodeType":"VariableDeclaration","scope":29584,"src":"82038:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82038:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29567,"nodeType":"VariableDeclarationStatement","src":"82038:10:21"},{"assignments":[29569],"declarations":[{"constant":false,"id":29569,"mutability":"mutable","name":"m3","nameLocation":"82066:2:21","nodeType":"VariableDeclaration","scope":29584,"src":"82058:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82058:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29570,"nodeType":"VariableDeclarationStatement","src":"82058:10:21"},{"assignments":[29572],"declarations":[{"constant":false,"id":29572,"mutability":"mutable","name":"m4","nameLocation":"82086:2:21","nodeType":"VariableDeclaration","scope":29584,"src":"82078:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82078:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29573,"nodeType":"VariableDeclarationStatement","src":"82078:10:21"},{"assignments":[29575],"declarations":[{"constant":false,"id":29575,"mutability":"mutable","name":"m5","nameLocation":"82106:2:21","nodeType":"VariableDeclaration","scope":29584,"src":"82098:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82098:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29576,"nodeType":"VariableDeclarationStatement","src":"82098:10:21"},{"AST":{"nativeSrc":"82170:764:21","nodeType":"YulBlock","src":"82170:764:21","statements":[{"body":{"nativeSrc":"82213:313:21","nodeType":"YulBlock","src":"82213:313:21","statements":[{"nativeSrc":"82231:15:21","nodeType":"YulVariableDeclaration","src":"82231:15:21","value":{"kind":"number","nativeSrc":"82245:1:21","nodeType":"YulLiteral","src":"82245:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"82235:6:21","nodeType":"YulTypedName","src":"82235:6:21","type":""}]},{"body":{"nativeSrc":"82316:40:21","nodeType":"YulBlock","src":"82316:40:21","statements":[{"body":{"nativeSrc":"82345:9:21","nodeType":"YulBlock","src":"82345:9:21","statements":[{"nativeSrc":"82347:5:21","nodeType":"YulBreak","src":"82347:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"82333:6:21","nodeType":"YulIdentifier","src":"82333:6:21"},{"name":"w","nativeSrc":"82341:1:21","nodeType":"YulIdentifier","src":"82341:1:21"}],"functionName":{"name":"byte","nativeSrc":"82328:4:21","nodeType":"YulIdentifier","src":"82328:4:21"},"nativeSrc":"82328:15:21","nodeType":"YulFunctionCall","src":"82328:15:21"}],"functionName":{"name":"iszero","nativeSrc":"82321:6:21","nodeType":"YulIdentifier","src":"82321:6:21"},"nativeSrc":"82321:23:21","nodeType":"YulFunctionCall","src":"82321:23:21"},"nativeSrc":"82318:36:21","nodeType":"YulIf","src":"82318:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"82273:6:21","nodeType":"YulIdentifier","src":"82273:6:21"},{"kind":"number","nativeSrc":"82281:4:21","nodeType":"YulLiteral","src":"82281:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"82270:2:21","nodeType":"YulIdentifier","src":"82270:2:21"},"nativeSrc":"82270:16:21","nodeType":"YulFunctionCall","src":"82270:16:21"},"nativeSrc":"82263:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"82287:28:21","nodeType":"YulBlock","src":"82287:28:21","statements":[{"nativeSrc":"82289:24:21","nodeType":"YulAssignment","src":"82289:24:21","value":{"arguments":[{"name":"length","nativeSrc":"82303:6:21","nodeType":"YulIdentifier","src":"82303:6:21"},{"kind":"number","nativeSrc":"82311:1:21","nodeType":"YulLiteral","src":"82311:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"82299:3:21","nodeType":"YulIdentifier","src":"82299:3:21"},"nativeSrc":"82299:14:21","nodeType":"YulFunctionCall","src":"82299:14:21"},"variableNames":[{"name":"length","nativeSrc":"82289:6:21","nodeType":"YulIdentifier","src":"82289:6:21"}]}]},"pre":{"nativeSrc":"82267:2:21","nodeType":"YulBlock","src":"82267:2:21","statements":[]},"src":"82263:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"82380:3:21","nodeType":"YulIdentifier","src":"82380:3:21"},{"name":"length","nativeSrc":"82385:6:21","nodeType":"YulIdentifier","src":"82385:6:21"}],"functionName":{"name":"mstore","nativeSrc":"82373:6:21","nodeType":"YulIdentifier","src":"82373:6:21"},"nativeSrc":"82373:19:21","nodeType":"YulFunctionCall","src":"82373:19:21"},"nativeSrc":"82373:19:21","nodeType":"YulExpressionStatement","src":"82373:19:21"},{"nativeSrc":"82409:37:21","nodeType":"YulVariableDeclaration","src":"82409:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"82426:3:21","nodeType":"YulLiteral","src":"82426:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"82435:1:21","nodeType":"YulLiteral","src":"82435:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"82438:6:21","nodeType":"YulIdentifier","src":"82438:6:21"}],"functionName":{"name":"shl","nativeSrc":"82431:3:21","nodeType":"YulIdentifier","src":"82431:3:21"},"nativeSrc":"82431:14:21","nodeType":"YulFunctionCall","src":"82431:14:21"}],"functionName":{"name":"sub","nativeSrc":"82422:3:21","nodeType":"YulIdentifier","src":"82422:3:21"},"nativeSrc":"82422:24:21","nodeType":"YulFunctionCall","src":"82422:24:21"},"variables":[{"name":"shift","nativeSrc":"82413:5:21","nodeType":"YulTypedName","src":"82413:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"82474:3:21","nodeType":"YulIdentifier","src":"82474:3:21"},{"kind":"number","nativeSrc":"82479:4:21","nodeType":"YulLiteral","src":"82479:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"82470:3:21","nodeType":"YulIdentifier","src":"82470:3:21"},"nativeSrc":"82470:14:21","nodeType":"YulFunctionCall","src":"82470:14:21"},{"arguments":[{"name":"shift","nativeSrc":"82490:5:21","nodeType":"YulIdentifier","src":"82490:5:21"},{"arguments":[{"name":"shift","nativeSrc":"82501:5:21","nodeType":"YulIdentifier","src":"82501:5:21"},{"name":"w","nativeSrc":"82508:1:21","nodeType":"YulIdentifier","src":"82508:1:21"}],"functionName":{"name":"shr","nativeSrc":"82497:3:21","nodeType":"YulIdentifier","src":"82497:3:21"},"nativeSrc":"82497:13:21","nodeType":"YulFunctionCall","src":"82497:13:21"}],"functionName":{"name":"shl","nativeSrc":"82486:3:21","nodeType":"YulIdentifier","src":"82486:3:21"},"nativeSrc":"82486:25:21","nodeType":"YulFunctionCall","src":"82486:25:21"}],"functionName":{"name":"mstore","nativeSrc":"82463:6:21","nodeType":"YulIdentifier","src":"82463:6:21"},"nativeSrc":"82463:49:21","nodeType":"YulFunctionCall","src":"82463:49:21"},"nativeSrc":"82463:49:21","nodeType":"YulExpressionStatement","src":"82463:49:21"}]},"name":"writeString","nativeSrc":"82184:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"82205:3:21","nodeType":"YulTypedName","src":"82205:3:21","type":""},{"name":"w","nativeSrc":"82210:1:21","nodeType":"YulTypedName","src":"82210:1:21","type":""}],"src":"82184:342:21"},{"nativeSrc":"82539:17:21","nodeType":"YulAssignment","src":"82539:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"82551:4:21","nodeType":"YulLiteral","src":"82551:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"82545:5:21","nodeType":"YulIdentifier","src":"82545:5:21"},"nativeSrc":"82545:11:21","nodeType":"YulFunctionCall","src":"82545:11:21"},"variableNames":[{"name":"m0","nativeSrc":"82539:2:21","nodeType":"YulIdentifier","src":"82539:2:21"}]},{"nativeSrc":"82569:17:21","nodeType":"YulAssignment","src":"82569:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"82581:4:21","nodeType":"YulLiteral","src":"82581:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"82575:5:21","nodeType":"YulIdentifier","src":"82575:5:21"},"nativeSrc":"82575:11:21","nodeType":"YulFunctionCall","src":"82575:11:21"},"variableNames":[{"name":"m1","nativeSrc":"82569:2:21","nodeType":"YulIdentifier","src":"82569:2:21"}]},{"nativeSrc":"82599:17:21","nodeType":"YulAssignment","src":"82599:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"82611:4:21","nodeType":"YulLiteral","src":"82611:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"82605:5:21","nodeType":"YulIdentifier","src":"82605:5:21"},"nativeSrc":"82605:11:21","nodeType":"YulFunctionCall","src":"82605:11:21"},"variableNames":[{"name":"m2","nativeSrc":"82599:2:21","nodeType":"YulIdentifier","src":"82599:2:21"}]},{"nativeSrc":"82629:17:21","nodeType":"YulAssignment","src":"82629:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"82641:4:21","nodeType":"YulLiteral","src":"82641:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"82635:5:21","nodeType":"YulIdentifier","src":"82635:5:21"},"nativeSrc":"82635:11:21","nodeType":"YulFunctionCall","src":"82635:11:21"},"variableNames":[{"name":"m3","nativeSrc":"82629:2:21","nodeType":"YulIdentifier","src":"82629:2:21"}]},{"nativeSrc":"82659:17:21","nodeType":"YulAssignment","src":"82659:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"82671:4:21","nodeType":"YulLiteral","src":"82671:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"82665:5:21","nodeType":"YulIdentifier","src":"82665:5:21"},"nativeSrc":"82665:11:21","nodeType":"YulFunctionCall","src":"82665:11:21"},"variableNames":[{"name":"m4","nativeSrc":"82659:2:21","nodeType":"YulIdentifier","src":"82659:2:21"}]},{"nativeSrc":"82689:17:21","nodeType":"YulAssignment","src":"82689:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"82701:4:21","nodeType":"YulLiteral","src":"82701:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"82695:5:21","nodeType":"YulIdentifier","src":"82695:5:21"},"nativeSrc":"82695:11:21","nodeType":"YulFunctionCall","src":"82695:11:21"},"variableNames":[{"name":"m5","nativeSrc":"82689:2:21","nodeType":"YulIdentifier","src":"82689:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82784:4:21","nodeType":"YulLiteral","src":"82784:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"82790:10:21","nodeType":"YulLiteral","src":"82790:10:21","type":"","value":"0xca47c4eb"}],"functionName":{"name":"mstore","nativeSrc":"82777:6:21","nodeType":"YulIdentifier","src":"82777:6:21"},"nativeSrc":"82777:24:21","nodeType":"YulFunctionCall","src":"82777:24:21"},"nativeSrc":"82777:24:21","nodeType":"YulExpressionStatement","src":"82777:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82821:4:21","nodeType":"YulLiteral","src":"82821:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"82827:4:21","nodeType":"YulLiteral","src":"82827:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"82814:6:21","nodeType":"YulIdentifier","src":"82814:6:21"},"nativeSrc":"82814:18:21","nodeType":"YulFunctionCall","src":"82814:18:21"},"nativeSrc":"82814:18:21","nodeType":"YulExpressionStatement","src":"82814:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82852:4:21","nodeType":"YulLiteral","src":"82852:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"82858:2:21","nodeType":"YulIdentifier","src":"82858:2:21"}],"functionName":{"name":"mstore","nativeSrc":"82845:6:21","nodeType":"YulIdentifier","src":"82845:6:21"},"nativeSrc":"82845:16:21","nodeType":"YulFunctionCall","src":"82845:16:21"},"nativeSrc":"82845:16:21","nodeType":"YulExpressionStatement","src":"82845:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82881:4:21","nodeType":"YulLiteral","src":"82881:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"82887:2:21","nodeType":"YulIdentifier","src":"82887:2:21"}],"functionName":{"name":"mstore","nativeSrc":"82874:6:21","nodeType":"YulIdentifier","src":"82874:6:21"},"nativeSrc":"82874:16:21","nodeType":"YulFunctionCall","src":"82874:16:21"},"nativeSrc":"82874:16:21","nodeType":"YulExpressionStatement","src":"82874:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82915:4:21","nodeType":"YulLiteral","src":"82915:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"82921:2:21","nodeType":"YulIdentifier","src":"82921:2:21"}],"functionName":{"name":"writeString","nativeSrc":"82903:11:21","nodeType":"YulIdentifier","src":"82903:11:21"},"nativeSrc":"82903:21:21","nodeType":"YulFunctionCall","src":"82903:21:21"},"nativeSrc":"82903:21:21","nodeType":"YulExpressionStatement","src":"82903:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29560,"isOffset":false,"isSlot":false,"src":"82539:2:21","valueSize":1},{"declaration":29563,"isOffset":false,"isSlot":false,"src":"82569:2:21","valueSize":1},{"declaration":29566,"isOffset":false,"isSlot":false,"src":"82599:2:21","valueSize":1},{"declaration":29569,"isOffset":false,"isSlot":false,"src":"82629:2:21","valueSize":1},{"declaration":29572,"isOffset":false,"isSlot":false,"src":"82659:2:21","valueSize":1},{"declaration":29575,"isOffset":false,"isSlot":false,"src":"82689:2:21","valueSize":1},{"declaration":29552,"isOffset":false,"isSlot":false,"src":"82921:2:21","valueSize":1},{"declaration":29554,"isOffset":false,"isSlot":false,"src":"82858:2:21","valueSize":1},{"declaration":29556,"isOffset":false,"isSlot":false,"src":"82887:2:21","valueSize":1}],"id":29577,"nodeType":"InlineAssembly","src":"82161:773:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"82959:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":29580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"82965:4:21","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":29578,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"82943:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"82943:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29582,"nodeType":"ExpressionStatement","src":"82943:27:21"},{"AST":{"nativeSrc":"83032:185:21","nodeType":"YulBlock","src":"83032:185:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"83053:4:21","nodeType":"YulLiteral","src":"83053:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"83059:2:21","nodeType":"YulIdentifier","src":"83059:2:21"}],"functionName":{"name":"mstore","nativeSrc":"83046:6:21","nodeType":"YulIdentifier","src":"83046:6:21"},"nativeSrc":"83046:16:21","nodeType":"YulFunctionCall","src":"83046:16:21"},"nativeSrc":"83046:16:21","nodeType":"YulExpressionStatement","src":"83046:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83082:4:21","nodeType":"YulLiteral","src":"83082:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"83088:2:21","nodeType":"YulIdentifier","src":"83088:2:21"}],"functionName":{"name":"mstore","nativeSrc":"83075:6:21","nodeType":"YulIdentifier","src":"83075:6:21"},"nativeSrc":"83075:16:21","nodeType":"YulFunctionCall","src":"83075:16:21"},"nativeSrc":"83075:16:21","nodeType":"YulExpressionStatement","src":"83075:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83111:4:21","nodeType":"YulLiteral","src":"83111:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"83117:2:21","nodeType":"YulIdentifier","src":"83117:2:21"}],"functionName":{"name":"mstore","nativeSrc":"83104:6:21","nodeType":"YulIdentifier","src":"83104:6:21"},"nativeSrc":"83104:16:21","nodeType":"YulFunctionCall","src":"83104:16:21"},"nativeSrc":"83104:16:21","nodeType":"YulExpressionStatement","src":"83104:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83140:4:21","nodeType":"YulLiteral","src":"83140:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"83146:2:21","nodeType":"YulIdentifier","src":"83146:2:21"}],"functionName":{"name":"mstore","nativeSrc":"83133:6:21","nodeType":"YulIdentifier","src":"83133:6:21"},"nativeSrc":"83133:16:21","nodeType":"YulFunctionCall","src":"83133:16:21"},"nativeSrc":"83133:16:21","nodeType":"YulExpressionStatement","src":"83133:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83169:4:21","nodeType":"YulLiteral","src":"83169:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"83175:2:21","nodeType":"YulIdentifier","src":"83175:2:21"}],"functionName":{"name":"mstore","nativeSrc":"83162:6:21","nodeType":"YulIdentifier","src":"83162:6:21"},"nativeSrc":"83162:16:21","nodeType":"YulFunctionCall","src":"83162:16:21"},"nativeSrc":"83162:16:21","nodeType":"YulExpressionStatement","src":"83162:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83198:4:21","nodeType":"YulLiteral","src":"83198:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"83204:2:21","nodeType":"YulIdentifier","src":"83204:2:21"}],"functionName":{"name":"mstore","nativeSrc":"83191:6:21","nodeType":"YulIdentifier","src":"83191:6:21"},"nativeSrc":"83191:16:21","nodeType":"YulFunctionCall","src":"83191:16:21"},"nativeSrc":"83191:16:21","nodeType":"YulExpressionStatement","src":"83191:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29560,"isOffset":false,"isSlot":false,"src":"83059:2:21","valueSize":1},{"declaration":29563,"isOffset":false,"isSlot":false,"src":"83088:2:21","valueSize":1},{"declaration":29566,"isOffset":false,"isSlot":false,"src":"83117:2:21","valueSize":1},{"declaration":29569,"isOffset":false,"isSlot":false,"src":"83146:2:21","valueSize":1},{"declaration":29572,"isOffset":false,"isSlot":false,"src":"83175:2:21","valueSize":1},{"declaration":29575,"isOffset":false,"isSlot":false,"src":"83204:2:21","valueSize":1}],"id":29583,"nodeType":"InlineAssembly","src":"83023:194:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"81934:3:21","parameters":{"id":29557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29552,"mutability":"mutable","name":"p0","nameLocation":"81946:2:21","nodeType":"VariableDeclaration","scope":29585,"src":"81938:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"81938:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29554,"mutability":"mutable","name":"p1","nameLocation":"81958:2:21","nodeType":"VariableDeclaration","scope":29585,"src":"81950:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29553,"name":"uint256","nodeType":"ElementaryTypeName","src":"81950:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29556,"mutability":"mutable","name":"p2","nameLocation":"81970:2:21","nodeType":"VariableDeclaration","scope":29585,"src":"81962:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29555,"name":"uint256","nodeType":"ElementaryTypeName","src":"81962:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"81937:36:21"},"returnParameters":{"id":29558,"nodeType":"ParameterList","parameters":[],"src":"81988:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29626,"nodeType":"FunctionDefinition","src":"83229:1491:21","nodes":[],"body":{"id":29625,"nodeType":"Block","src":"83292:1428:21","nodes":[],"statements":[{"assignments":[29595],"declarations":[{"constant":false,"id":29595,"mutability":"mutable","name":"m0","nameLocation":"83310:2:21","nodeType":"VariableDeclaration","scope":29625,"src":"83302:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83302:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29596,"nodeType":"VariableDeclarationStatement","src":"83302:10:21"},{"assignments":[29598],"declarations":[{"constant":false,"id":29598,"mutability":"mutable","name":"m1","nameLocation":"83330:2:21","nodeType":"VariableDeclaration","scope":29625,"src":"83322:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83322:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29599,"nodeType":"VariableDeclarationStatement","src":"83322:10:21"},{"assignments":[29601],"declarations":[{"constant":false,"id":29601,"mutability":"mutable","name":"m2","nameLocation":"83350:2:21","nodeType":"VariableDeclaration","scope":29625,"src":"83342:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83342:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29602,"nodeType":"VariableDeclarationStatement","src":"83342:10:21"},{"assignments":[29604],"declarations":[{"constant":false,"id":29604,"mutability":"mutable","name":"m3","nameLocation":"83370:2:21","nodeType":"VariableDeclaration","scope":29625,"src":"83362:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83362:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29605,"nodeType":"VariableDeclarationStatement","src":"83362:10:21"},{"assignments":[29607],"declarations":[{"constant":false,"id":29607,"mutability":"mutable","name":"m4","nameLocation":"83390:2:21","nodeType":"VariableDeclaration","scope":29625,"src":"83382:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83382:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29608,"nodeType":"VariableDeclarationStatement","src":"83382:10:21"},{"assignments":[29610],"declarations":[{"constant":false,"id":29610,"mutability":"mutable","name":"m5","nameLocation":"83410:2:21","nodeType":"VariableDeclaration","scope":29625,"src":"83402:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83402:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29611,"nodeType":"VariableDeclarationStatement","src":"83402:10:21"},{"assignments":[29613],"declarations":[{"constant":false,"id":29613,"mutability":"mutable","name":"m6","nameLocation":"83430:2:21","nodeType":"VariableDeclaration","scope":29625,"src":"83422:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83422:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29614,"nodeType":"VariableDeclarationStatement","src":"83422:10:21"},{"assignments":[29616],"declarations":[{"constant":false,"id":29616,"mutability":"mutable","name":"m7","nameLocation":"83450:2:21","nodeType":"VariableDeclaration","scope":29625,"src":"83442:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83442:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29617,"nodeType":"VariableDeclarationStatement","src":"83442:10:21"},{"AST":{"nativeSrc":"83514:859:21","nodeType":"YulBlock","src":"83514:859:21","statements":[{"body":{"nativeSrc":"83557:313:21","nodeType":"YulBlock","src":"83557:313:21","statements":[{"nativeSrc":"83575:15:21","nodeType":"YulVariableDeclaration","src":"83575:15:21","value":{"kind":"number","nativeSrc":"83589:1:21","nodeType":"YulLiteral","src":"83589:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"83579:6:21","nodeType":"YulTypedName","src":"83579:6:21","type":""}]},{"body":{"nativeSrc":"83660:40:21","nodeType":"YulBlock","src":"83660:40:21","statements":[{"body":{"nativeSrc":"83689:9:21","nodeType":"YulBlock","src":"83689:9:21","statements":[{"nativeSrc":"83691:5:21","nodeType":"YulBreak","src":"83691:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"83677:6:21","nodeType":"YulIdentifier","src":"83677:6:21"},{"name":"w","nativeSrc":"83685:1:21","nodeType":"YulIdentifier","src":"83685:1:21"}],"functionName":{"name":"byte","nativeSrc":"83672:4:21","nodeType":"YulIdentifier","src":"83672:4:21"},"nativeSrc":"83672:15:21","nodeType":"YulFunctionCall","src":"83672:15:21"}],"functionName":{"name":"iszero","nativeSrc":"83665:6:21","nodeType":"YulIdentifier","src":"83665:6:21"},"nativeSrc":"83665:23:21","nodeType":"YulFunctionCall","src":"83665:23:21"},"nativeSrc":"83662:36:21","nodeType":"YulIf","src":"83662:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"83617:6:21","nodeType":"YulIdentifier","src":"83617:6:21"},{"kind":"number","nativeSrc":"83625:4:21","nodeType":"YulLiteral","src":"83625:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"83614:2:21","nodeType":"YulIdentifier","src":"83614:2:21"},"nativeSrc":"83614:16:21","nodeType":"YulFunctionCall","src":"83614:16:21"},"nativeSrc":"83607:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"83631:28:21","nodeType":"YulBlock","src":"83631:28:21","statements":[{"nativeSrc":"83633:24:21","nodeType":"YulAssignment","src":"83633:24:21","value":{"arguments":[{"name":"length","nativeSrc":"83647:6:21","nodeType":"YulIdentifier","src":"83647:6:21"},{"kind":"number","nativeSrc":"83655:1:21","nodeType":"YulLiteral","src":"83655:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"83643:3:21","nodeType":"YulIdentifier","src":"83643:3:21"},"nativeSrc":"83643:14:21","nodeType":"YulFunctionCall","src":"83643:14:21"},"variableNames":[{"name":"length","nativeSrc":"83633:6:21","nodeType":"YulIdentifier","src":"83633:6:21"}]}]},"pre":{"nativeSrc":"83611:2:21","nodeType":"YulBlock","src":"83611:2:21","statements":[]},"src":"83607:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"83724:3:21","nodeType":"YulIdentifier","src":"83724:3:21"},{"name":"length","nativeSrc":"83729:6:21","nodeType":"YulIdentifier","src":"83729:6:21"}],"functionName":{"name":"mstore","nativeSrc":"83717:6:21","nodeType":"YulIdentifier","src":"83717:6:21"},"nativeSrc":"83717:19:21","nodeType":"YulFunctionCall","src":"83717:19:21"},"nativeSrc":"83717:19:21","nodeType":"YulExpressionStatement","src":"83717:19:21"},{"nativeSrc":"83753:37:21","nodeType":"YulVariableDeclaration","src":"83753:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"83770:3:21","nodeType":"YulLiteral","src":"83770:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"83779:1:21","nodeType":"YulLiteral","src":"83779:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"83782:6:21","nodeType":"YulIdentifier","src":"83782:6:21"}],"functionName":{"name":"shl","nativeSrc":"83775:3:21","nodeType":"YulIdentifier","src":"83775:3:21"},"nativeSrc":"83775:14:21","nodeType":"YulFunctionCall","src":"83775:14:21"}],"functionName":{"name":"sub","nativeSrc":"83766:3:21","nodeType":"YulIdentifier","src":"83766:3:21"},"nativeSrc":"83766:24:21","nodeType":"YulFunctionCall","src":"83766:24:21"},"variables":[{"name":"shift","nativeSrc":"83757:5:21","nodeType":"YulTypedName","src":"83757:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"83818:3:21","nodeType":"YulIdentifier","src":"83818:3:21"},{"kind":"number","nativeSrc":"83823:4:21","nodeType":"YulLiteral","src":"83823:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"83814:3:21","nodeType":"YulIdentifier","src":"83814:3:21"},"nativeSrc":"83814:14:21","nodeType":"YulFunctionCall","src":"83814:14:21"},{"arguments":[{"name":"shift","nativeSrc":"83834:5:21","nodeType":"YulIdentifier","src":"83834:5:21"},{"arguments":[{"name":"shift","nativeSrc":"83845:5:21","nodeType":"YulIdentifier","src":"83845:5:21"},{"name":"w","nativeSrc":"83852:1:21","nodeType":"YulIdentifier","src":"83852:1:21"}],"functionName":{"name":"shr","nativeSrc":"83841:3:21","nodeType":"YulIdentifier","src":"83841:3:21"},"nativeSrc":"83841:13:21","nodeType":"YulFunctionCall","src":"83841:13:21"}],"functionName":{"name":"shl","nativeSrc":"83830:3:21","nodeType":"YulIdentifier","src":"83830:3:21"},"nativeSrc":"83830:25:21","nodeType":"YulFunctionCall","src":"83830:25:21"}],"functionName":{"name":"mstore","nativeSrc":"83807:6:21","nodeType":"YulIdentifier","src":"83807:6:21"},"nativeSrc":"83807:49:21","nodeType":"YulFunctionCall","src":"83807:49:21"},"nativeSrc":"83807:49:21","nodeType":"YulExpressionStatement","src":"83807:49:21"}]},"name":"writeString","nativeSrc":"83528:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"83549:3:21","nodeType":"YulTypedName","src":"83549:3:21","type":""},{"name":"w","nativeSrc":"83554:1:21","nodeType":"YulTypedName","src":"83554:1:21","type":""}],"src":"83528:342:21"},{"nativeSrc":"83883:17:21","nodeType":"YulAssignment","src":"83883:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"83895:4:21","nodeType":"YulLiteral","src":"83895:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"83889:5:21","nodeType":"YulIdentifier","src":"83889:5:21"},"nativeSrc":"83889:11:21","nodeType":"YulFunctionCall","src":"83889:11:21"},"variableNames":[{"name":"m0","nativeSrc":"83883:2:21","nodeType":"YulIdentifier","src":"83883:2:21"}]},{"nativeSrc":"83913:17:21","nodeType":"YulAssignment","src":"83913:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"83925:4:21","nodeType":"YulLiteral","src":"83925:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"83919:5:21","nodeType":"YulIdentifier","src":"83919:5:21"},"nativeSrc":"83919:11:21","nodeType":"YulFunctionCall","src":"83919:11:21"},"variableNames":[{"name":"m1","nativeSrc":"83913:2:21","nodeType":"YulIdentifier","src":"83913:2:21"}]},{"nativeSrc":"83943:17:21","nodeType":"YulAssignment","src":"83943:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"83955:4:21","nodeType":"YulLiteral","src":"83955:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"83949:5:21","nodeType":"YulIdentifier","src":"83949:5:21"},"nativeSrc":"83949:11:21","nodeType":"YulFunctionCall","src":"83949:11:21"},"variableNames":[{"name":"m2","nativeSrc":"83943:2:21","nodeType":"YulIdentifier","src":"83943:2:21"}]},{"nativeSrc":"83973:17:21","nodeType":"YulAssignment","src":"83973:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"83985:4:21","nodeType":"YulLiteral","src":"83985:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"83979:5:21","nodeType":"YulIdentifier","src":"83979:5:21"},"nativeSrc":"83979:11:21","nodeType":"YulFunctionCall","src":"83979:11:21"},"variableNames":[{"name":"m3","nativeSrc":"83973:2:21","nodeType":"YulIdentifier","src":"83973:2:21"}]},{"nativeSrc":"84003:17:21","nodeType":"YulAssignment","src":"84003:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"84015:4:21","nodeType":"YulLiteral","src":"84015:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"84009:5:21","nodeType":"YulIdentifier","src":"84009:5:21"},"nativeSrc":"84009:11:21","nodeType":"YulFunctionCall","src":"84009:11:21"},"variableNames":[{"name":"m4","nativeSrc":"84003:2:21","nodeType":"YulIdentifier","src":"84003:2:21"}]},{"nativeSrc":"84033:17:21","nodeType":"YulAssignment","src":"84033:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"84045:4:21","nodeType":"YulLiteral","src":"84045:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"84039:5:21","nodeType":"YulIdentifier","src":"84039:5:21"},"nativeSrc":"84039:11:21","nodeType":"YulFunctionCall","src":"84039:11:21"},"variableNames":[{"name":"m5","nativeSrc":"84033:2:21","nodeType":"YulIdentifier","src":"84033:2:21"}]},{"nativeSrc":"84063:17:21","nodeType":"YulAssignment","src":"84063:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"84075:4:21","nodeType":"YulLiteral","src":"84075:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"84069:5:21","nodeType":"YulIdentifier","src":"84069:5:21"},"nativeSrc":"84069:11:21","nodeType":"YulFunctionCall","src":"84069:11:21"},"variableNames":[{"name":"m6","nativeSrc":"84063:2:21","nodeType":"YulIdentifier","src":"84063:2:21"}]},{"nativeSrc":"84093:17:21","nodeType":"YulAssignment","src":"84093:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"84105:4:21","nodeType":"YulLiteral","src":"84105:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"84099:5:21","nodeType":"YulIdentifier","src":"84099:5:21"},"nativeSrc":"84099:11:21","nodeType":"YulFunctionCall","src":"84099:11:21"},"variableNames":[{"name":"m7","nativeSrc":"84093:2:21","nodeType":"YulIdentifier","src":"84093:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84187:4:21","nodeType":"YulLiteral","src":"84187:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"84193:10:21","nodeType":"YulLiteral","src":"84193:10:21","type":"","value":"0x5970e089"}],"functionName":{"name":"mstore","nativeSrc":"84180:6:21","nodeType":"YulIdentifier","src":"84180:6:21"},"nativeSrc":"84180:24:21","nodeType":"YulFunctionCall","src":"84180:24:21"},"nativeSrc":"84180:24:21","nodeType":"YulExpressionStatement","src":"84180:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84224:4:21","nodeType":"YulLiteral","src":"84224:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"84230:4:21","nodeType":"YulLiteral","src":"84230:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"84217:6:21","nodeType":"YulIdentifier","src":"84217:6:21"},"nativeSrc":"84217:18:21","nodeType":"YulFunctionCall","src":"84217:18:21"},"nativeSrc":"84217:18:21","nodeType":"YulExpressionStatement","src":"84217:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84255:4:21","nodeType":"YulLiteral","src":"84255:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"84261:2:21","nodeType":"YulIdentifier","src":"84261:2:21"}],"functionName":{"name":"mstore","nativeSrc":"84248:6:21","nodeType":"YulIdentifier","src":"84248:6:21"},"nativeSrc":"84248:16:21","nodeType":"YulFunctionCall","src":"84248:16:21"},"nativeSrc":"84248:16:21","nodeType":"YulExpressionStatement","src":"84248:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84284:4:21","nodeType":"YulLiteral","src":"84284:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"84290:4:21","nodeType":"YulLiteral","src":"84290:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"84277:6:21","nodeType":"YulIdentifier","src":"84277:6:21"},"nativeSrc":"84277:18:21","nodeType":"YulFunctionCall","src":"84277:18:21"},"nativeSrc":"84277:18:21","nodeType":"YulExpressionStatement","src":"84277:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84320:4:21","nodeType":"YulLiteral","src":"84320:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"84326:2:21","nodeType":"YulIdentifier","src":"84326:2:21"}],"functionName":{"name":"writeString","nativeSrc":"84308:11:21","nodeType":"YulIdentifier","src":"84308:11:21"},"nativeSrc":"84308:21:21","nodeType":"YulFunctionCall","src":"84308:21:21"},"nativeSrc":"84308:21:21","nodeType":"YulExpressionStatement","src":"84308:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84354:4:21","nodeType":"YulLiteral","src":"84354:4:21","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"84360:2:21","nodeType":"YulIdentifier","src":"84360:2:21"}],"functionName":{"name":"writeString","nativeSrc":"84342:11:21","nodeType":"YulIdentifier","src":"84342:11:21"},"nativeSrc":"84342:21:21","nodeType":"YulFunctionCall","src":"84342:21:21"},"nativeSrc":"84342:21:21","nodeType":"YulExpressionStatement","src":"84342:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29595,"isOffset":false,"isSlot":false,"src":"83883:2:21","valueSize":1},{"declaration":29598,"isOffset":false,"isSlot":false,"src":"83913:2:21","valueSize":1},{"declaration":29601,"isOffset":false,"isSlot":false,"src":"83943:2:21","valueSize":1},{"declaration":29604,"isOffset":false,"isSlot":false,"src":"83973:2:21","valueSize":1},{"declaration":29607,"isOffset":false,"isSlot":false,"src":"84003:2:21","valueSize":1},{"declaration":29610,"isOffset":false,"isSlot":false,"src":"84033:2:21","valueSize":1},{"declaration":29613,"isOffset":false,"isSlot":false,"src":"84063:2:21","valueSize":1},{"declaration":29616,"isOffset":false,"isSlot":false,"src":"84093:2:21","valueSize":1},{"declaration":29587,"isOffset":false,"isSlot":false,"src":"84326:2:21","valueSize":1},{"declaration":29589,"isOffset":false,"isSlot":false,"src":"84261:2:21","valueSize":1},{"declaration":29591,"isOffset":false,"isSlot":false,"src":"84360:2:21","valueSize":1}],"id":29618,"nodeType":"InlineAssembly","src":"83505:868:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"84398:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":29621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"84404:4:21","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":29619,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"84382:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"84382:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29623,"nodeType":"ExpressionStatement","src":"84382:27:21"},{"AST":{"nativeSrc":"84471:243:21","nodeType":"YulBlock","src":"84471:243:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"84492:4:21","nodeType":"YulLiteral","src":"84492:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"84498:2:21","nodeType":"YulIdentifier","src":"84498:2:21"}],"functionName":{"name":"mstore","nativeSrc":"84485:6:21","nodeType":"YulIdentifier","src":"84485:6:21"},"nativeSrc":"84485:16:21","nodeType":"YulFunctionCall","src":"84485:16:21"},"nativeSrc":"84485:16:21","nodeType":"YulExpressionStatement","src":"84485:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84521:4:21","nodeType":"YulLiteral","src":"84521:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"84527:2:21","nodeType":"YulIdentifier","src":"84527:2:21"}],"functionName":{"name":"mstore","nativeSrc":"84514:6:21","nodeType":"YulIdentifier","src":"84514:6:21"},"nativeSrc":"84514:16:21","nodeType":"YulFunctionCall","src":"84514:16:21"},"nativeSrc":"84514:16:21","nodeType":"YulExpressionStatement","src":"84514:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84550:4:21","nodeType":"YulLiteral","src":"84550:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"84556:2:21","nodeType":"YulIdentifier","src":"84556:2:21"}],"functionName":{"name":"mstore","nativeSrc":"84543:6:21","nodeType":"YulIdentifier","src":"84543:6:21"},"nativeSrc":"84543:16:21","nodeType":"YulFunctionCall","src":"84543:16:21"},"nativeSrc":"84543:16:21","nodeType":"YulExpressionStatement","src":"84543:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84579:4:21","nodeType":"YulLiteral","src":"84579:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"84585:2:21","nodeType":"YulIdentifier","src":"84585:2:21"}],"functionName":{"name":"mstore","nativeSrc":"84572:6:21","nodeType":"YulIdentifier","src":"84572:6:21"},"nativeSrc":"84572:16:21","nodeType":"YulFunctionCall","src":"84572:16:21"},"nativeSrc":"84572:16:21","nodeType":"YulExpressionStatement","src":"84572:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84608:4:21","nodeType":"YulLiteral","src":"84608:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"84614:2:21","nodeType":"YulIdentifier","src":"84614:2:21"}],"functionName":{"name":"mstore","nativeSrc":"84601:6:21","nodeType":"YulIdentifier","src":"84601:6:21"},"nativeSrc":"84601:16:21","nodeType":"YulFunctionCall","src":"84601:16:21"},"nativeSrc":"84601:16:21","nodeType":"YulExpressionStatement","src":"84601:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84637:4:21","nodeType":"YulLiteral","src":"84637:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"84643:2:21","nodeType":"YulIdentifier","src":"84643:2:21"}],"functionName":{"name":"mstore","nativeSrc":"84630:6:21","nodeType":"YulIdentifier","src":"84630:6:21"},"nativeSrc":"84630:16:21","nodeType":"YulFunctionCall","src":"84630:16:21"},"nativeSrc":"84630:16:21","nodeType":"YulExpressionStatement","src":"84630:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84666:4:21","nodeType":"YulLiteral","src":"84666:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"84672:2:21","nodeType":"YulIdentifier","src":"84672:2:21"}],"functionName":{"name":"mstore","nativeSrc":"84659:6:21","nodeType":"YulIdentifier","src":"84659:6:21"},"nativeSrc":"84659:16:21","nodeType":"YulFunctionCall","src":"84659:16:21"},"nativeSrc":"84659:16:21","nodeType":"YulExpressionStatement","src":"84659:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84695:4:21","nodeType":"YulLiteral","src":"84695:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"84701:2:21","nodeType":"YulIdentifier","src":"84701:2:21"}],"functionName":{"name":"mstore","nativeSrc":"84688:6:21","nodeType":"YulIdentifier","src":"84688:6:21"},"nativeSrc":"84688:16:21","nodeType":"YulFunctionCall","src":"84688:16:21"},"nativeSrc":"84688:16:21","nodeType":"YulExpressionStatement","src":"84688:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29595,"isOffset":false,"isSlot":false,"src":"84498:2:21","valueSize":1},{"declaration":29598,"isOffset":false,"isSlot":false,"src":"84527:2:21","valueSize":1},{"declaration":29601,"isOffset":false,"isSlot":false,"src":"84556:2:21","valueSize":1},{"declaration":29604,"isOffset":false,"isSlot":false,"src":"84585:2:21","valueSize":1},{"declaration":29607,"isOffset":false,"isSlot":false,"src":"84614:2:21","valueSize":1},{"declaration":29610,"isOffset":false,"isSlot":false,"src":"84643:2:21","valueSize":1},{"declaration":29613,"isOffset":false,"isSlot":false,"src":"84672:2:21","valueSize":1},{"declaration":29616,"isOffset":false,"isSlot":false,"src":"84701:2:21","valueSize":1}],"id":29624,"nodeType":"InlineAssembly","src":"84462:252:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"83238:3:21","parameters":{"id":29592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29587,"mutability":"mutable","name":"p0","nameLocation":"83250:2:21","nodeType":"VariableDeclaration","scope":29626,"src":"83242:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83242:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29589,"mutability":"mutable","name":"p1","nameLocation":"83262:2:21","nodeType":"VariableDeclaration","scope":29626,"src":"83254:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29588,"name":"uint256","nodeType":"ElementaryTypeName","src":"83254:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29591,"mutability":"mutable","name":"p2","nameLocation":"83274:2:21","nodeType":"VariableDeclaration","scope":29626,"src":"83266:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83266:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"83241:36:21"},"returnParameters":{"id":29593,"nodeType":"ParameterList","parameters":[],"src":"83292:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29667,"nodeType":"FunctionDefinition","src":"84726:1491:21","nodes":[],"body":{"id":29666,"nodeType":"Block","src":"84789:1428:21","nodes":[],"statements":[{"assignments":[29636],"declarations":[{"constant":false,"id":29636,"mutability":"mutable","name":"m0","nameLocation":"84807:2:21","nodeType":"VariableDeclaration","scope":29666,"src":"84799:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84799:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29637,"nodeType":"VariableDeclarationStatement","src":"84799:10:21"},{"assignments":[29639],"declarations":[{"constant":false,"id":29639,"mutability":"mutable","name":"m1","nameLocation":"84827:2:21","nodeType":"VariableDeclaration","scope":29666,"src":"84819:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84819:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29640,"nodeType":"VariableDeclarationStatement","src":"84819:10:21"},{"assignments":[29642],"declarations":[{"constant":false,"id":29642,"mutability":"mutable","name":"m2","nameLocation":"84847:2:21","nodeType":"VariableDeclaration","scope":29666,"src":"84839:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84839:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29643,"nodeType":"VariableDeclarationStatement","src":"84839:10:21"},{"assignments":[29645],"declarations":[{"constant":false,"id":29645,"mutability":"mutable","name":"m3","nameLocation":"84867:2:21","nodeType":"VariableDeclaration","scope":29666,"src":"84859:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84859:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29646,"nodeType":"VariableDeclarationStatement","src":"84859:10:21"},{"assignments":[29648],"declarations":[{"constant":false,"id":29648,"mutability":"mutable","name":"m4","nameLocation":"84887:2:21","nodeType":"VariableDeclaration","scope":29666,"src":"84879:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84879:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29649,"nodeType":"VariableDeclarationStatement","src":"84879:10:21"},{"assignments":[29651],"declarations":[{"constant":false,"id":29651,"mutability":"mutable","name":"m5","nameLocation":"84907:2:21","nodeType":"VariableDeclaration","scope":29666,"src":"84899:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29650,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84899:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29652,"nodeType":"VariableDeclarationStatement","src":"84899:10:21"},{"assignments":[29654],"declarations":[{"constant":false,"id":29654,"mutability":"mutable","name":"m6","nameLocation":"84927:2:21","nodeType":"VariableDeclaration","scope":29666,"src":"84919:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29653,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84919:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29655,"nodeType":"VariableDeclarationStatement","src":"84919:10:21"},{"assignments":[29657],"declarations":[{"constant":false,"id":29657,"mutability":"mutable","name":"m7","nameLocation":"84947:2:21","nodeType":"VariableDeclaration","scope":29666,"src":"84939:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84939:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29658,"nodeType":"VariableDeclarationStatement","src":"84939:10:21"},{"AST":{"nativeSrc":"85011:859:21","nodeType":"YulBlock","src":"85011:859:21","statements":[{"body":{"nativeSrc":"85054:313:21","nodeType":"YulBlock","src":"85054:313:21","statements":[{"nativeSrc":"85072:15:21","nodeType":"YulVariableDeclaration","src":"85072:15:21","value":{"kind":"number","nativeSrc":"85086:1:21","nodeType":"YulLiteral","src":"85086:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"85076:6:21","nodeType":"YulTypedName","src":"85076:6:21","type":""}]},{"body":{"nativeSrc":"85157:40:21","nodeType":"YulBlock","src":"85157:40:21","statements":[{"body":{"nativeSrc":"85186:9:21","nodeType":"YulBlock","src":"85186:9:21","statements":[{"nativeSrc":"85188:5:21","nodeType":"YulBreak","src":"85188:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"85174:6:21","nodeType":"YulIdentifier","src":"85174:6:21"},{"name":"w","nativeSrc":"85182:1:21","nodeType":"YulIdentifier","src":"85182:1:21"}],"functionName":{"name":"byte","nativeSrc":"85169:4:21","nodeType":"YulIdentifier","src":"85169:4:21"},"nativeSrc":"85169:15:21","nodeType":"YulFunctionCall","src":"85169:15:21"}],"functionName":{"name":"iszero","nativeSrc":"85162:6:21","nodeType":"YulIdentifier","src":"85162:6:21"},"nativeSrc":"85162:23:21","nodeType":"YulFunctionCall","src":"85162:23:21"},"nativeSrc":"85159:36:21","nodeType":"YulIf","src":"85159:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"85114:6:21","nodeType":"YulIdentifier","src":"85114:6:21"},{"kind":"number","nativeSrc":"85122:4:21","nodeType":"YulLiteral","src":"85122:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"85111:2:21","nodeType":"YulIdentifier","src":"85111:2:21"},"nativeSrc":"85111:16:21","nodeType":"YulFunctionCall","src":"85111:16:21"},"nativeSrc":"85104:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"85128:28:21","nodeType":"YulBlock","src":"85128:28:21","statements":[{"nativeSrc":"85130:24:21","nodeType":"YulAssignment","src":"85130:24:21","value":{"arguments":[{"name":"length","nativeSrc":"85144:6:21","nodeType":"YulIdentifier","src":"85144:6:21"},{"kind":"number","nativeSrc":"85152:1:21","nodeType":"YulLiteral","src":"85152:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"85140:3:21","nodeType":"YulIdentifier","src":"85140:3:21"},"nativeSrc":"85140:14:21","nodeType":"YulFunctionCall","src":"85140:14:21"},"variableNames":[{"name":"length","nativeSrc":"85130:6:21","nodeType":"YulIdentifier","src":"85130:6:21"}]}]},"pre":{"nativeSrc":"85108:2:21","nodeType":"YulBlock","src":"85108:2:21","statements":[]},"src":"85104:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"85221:3:21","nodeType":"YulIdentifier","src":"85221:3:21"},{"name":"length","nativeSrc":"85226:6:21","nodeType":"YulIdentifier","src":"85226:6:21"}],"functionName":{"name":"mstore","nativeSrc":"85214:6:21","nodeType":"YulIdentifier","src":"85214:6:21"},"nativeSrc":"85214:19:21","nodeType":"YulFunctionCall","src":"85214:19:21"},"nativeSrc":"85214:19:21","nodeType":"YulExpressionStatement","src":"85214:19:21"},{"nativeSrc":"85250:37:21","nodeType":"YulVariableDeclaration","src":"85250:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"85267:3:21","nodeType":"YulLiteral","src":"85267:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"85276:1:21","nodeType":"YulLiteral","src":"85276:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"85279:6:21","nodeType":"YulIdentifier","src":"85279:6:21"}],"functionName":{"name":"shl","nativeSrc":"85272:3:21","nodeType":"YulIdentifier","src":"85272:3:21"},"nativeSrc":"85272:14:21","nodeType":"YulFunctionCall","src":"85272:14:21"}],"functionName":{"name":"sub","nativeSrc":"85263:3:21","nodeType":"YulIdentifier","src":"85263:3:21"},"nativeSrc":"85263:24:21","nodeType":"YulFunctionCall","src":"85263:24:21"},"variables":[{"name":"shift","nativeSrc":"85254:5:21","nodeType":"YulTypedName","src":"85254:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"85315:3:21","nodeType":"YulIdentifier","src":"85315:3:21"},{"kind":"number","nativeSrc":"85320:4:21","nodeType":"YulLiteral","src":"85320:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"85311:3:21","nodeType":"YulIdentifier","src":"85311:3:21"},"nativeSrc":"85311:14:21","nodeType":"YulFunctionCall","src":"85311:14:21"},{"arguments":[{"name":"shift","nativeSrc":"85331:5:21","nodeType":"YulIdentifier","src":"85331:5:21"},{"arguments":[{"name":"shift","nativeSrc":"85342:5:21","nodeType":"YulIdentifier","src":"85342:5:21"},{"name":"w","nativeSrc":"85349:1:21","nodeType":"YulIdentifier","src":"85349:1:21"}],"functionName":{"name":"shr","nativeSrc":"85338:3:21","nodeType":"YulIdentifier","src":"85338:3:21"},"nativeSrc":"85338:13:21","nodeType":"YulFunctionCall","src":"85338:13:21"}],"functionName":{"name":"shl","nativeSrc":"85327:3:21","nodeType":"YulIdentifier","src":"85327:3:21"},"nativeSrc":"85327:25:21","nodeType":"YulFunctionCall","src":"85327:25:21"}],"functionName":{"name":"mstore","nativeSrc":"85304:6:21","nodeType":"YulIdentifier","src":"85304:6:21"},"nativeSrc":"85304:49:21","nodeType":"YulFunctionCall","src":"85304:49:21"},"nativeSrc":"85304:49:21","nodeType":"YulExpressionStatement","src":"85304:49:21"}]},"name":"writeString","nativeSrc":"85025:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"85046:3:21","nodeType":"YulTypedName","src":"85046:3:21","type":""},{"name":"w","nativeSrc":"85051:1:21","nodeType":"YulTypedName","src":"85051:1:21","type":""}],"src":"85025:342:21"},{"nativeSrc":"85380:17:21","nodeType":"YulAssignment","src":"85380:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"85392:4:21","nodeType":"YulLiteral","src":"85392:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"85386:5:21","nodeType":"YulIdentifier","src":"85386:5:21"},"nativeSrc":"85386:11:21","nodeType":"YulFunctionCall","src":"85386:11:21"},"variableNames":[{"name":"m0","nativeSrc":"85380:2:21","nodeType":"YulIdentifier","src":"85380:2:21"}]},{"nativeSrc":"85410:17:21","nodeType":"YulAssignment","src":"85410:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"85422:4:21","nodeType":"YulLiteral","src":"85422:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"85416:5:21","nodeType":"YulIdentifier","src":"85416:5:21"},"nativeSrc":"85416:11:21","nodeType":"YulFunctionCall","src":"85416:11:21"},"variableNames":[{"name":"m1","nativeSrc":"85410:2:21","nodeType":"YulIdentifier","src":"85410:2:21"}]},{"nativeSrc":"85440:17:21","nodeType":"YulAssignment","src":"85440:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"85452:4:21","nodeType":"YulLiteral","src":"85452:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"85446:5:21","nodeType":"YulIdentifier","src":"85446:5:21"},"nativeSrc":"85446:11:21","nodeType":"YulFunctionCall","src":"85446:11:21"},"variableNames":[{"name":"m2","nativeSrc":"85440:2:21","nodeType":"YulIdentifier","src":"85440:2:21"}]},{"nativeSrc":"85470:17:21","nodeType":"YulAssignment","src":"85470:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"85482:4:21","nodeType":"YulLiteral","src":"85482:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"85476:5:21","nodeType":"YulIdentifier","src":"85476:5:21"},"nativeSrc":"85476:11:21","nodeType":"YulFunctionCall","src":"85476:11:21"},"variableNames":[{"name":"m3","nativeSrc":"85470:2:21","nodeType":"YulIdentifier","src":"85470:2:21"}]},{"nativeSrc":"85500:17:21","nodeType":"YulAssignment","src":"85500:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"85512:4:21","nodeType":"YulLiteral","src":"85512:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"85506:5:21","nodeType":"YulIdentifier","src":"85506:5:21"},"nativeSrc":"85506:11:21","nodeType":"YulFunctionCall","src":"85506:11:21"},"variableNames":[{"name":"m4","nativeSrc":"85500:2:21","nodeType":"YulIdentifier","src":"85500:2:21"}]},{"nativeSrc":"85530:17:21","nodeType":"YulAssignment","src":"85530:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"85542:4:21","nodeType":"YulLiteral","src":"85542:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"85536:5:21","nodeType":"YulIdentifier","src":"85536:5:21"},"nativeSrc":"85536:11:21","nodeType":"YulFunctionCall","src":"85536:11:21"},"variableNames":[{"name":"m5","nativeSrc":"85530:2:21","nodeType":"YulIdentifier","src":"85530:2:21"}]},{"nativeSrc":"85560:17:21","nodeType":"YulAssignment","src":"85560:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"85572:4:21","nodeType":"YulLiteral","src":"85572:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"85566:5:21","nodeType":"YulIdentifier","src":"85566:5:21"},"nativeSrc":"85566:11:21","nodeType":"YulFunctionCall","src":"85566:11:21"},"variableNames":[{"name":"m6","nativeSrc":"85560:2:21","nodeType":"YulIdentifier","src":"85560:2:21"}]},{"nativeSrc":"85590:17:21","nodeType":"YulAssignment","src":"85590:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"85602:4:21","nodeType":"YulLiteral","src":"85602:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"85596:5:21","nodeType":"YulIdentifier","src":"85596:5:21"},"nativeSrc":"85596:11:21","nodeType":"YulFunctionCall","src":"85596:11:21"},"variableNames":[{"name":"m7","nativeSrc":"85590:2:21","nodeType":"YulIdentifier","src":"85590:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85684:4:21","nodeType":"YulLiteral","src":"85684:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"85690:10:21","nodeType":"YulLiteral","src":"85690:10:21","type":"","value":"0x95ed0195"}],"functionName":{"name":"mstore","nativeSrc":"85677:6:21","nodeType":"YulIdentifier","src":"85677:6:21"},"nativeSrc":"85677:24:21","nodeType":"YulFunctionCall","src":"85677:24:21"},"nativeSrc":"85677:24:21","nodeType":"YulExpressionStatement","src":"85677:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85721:4:21","nodeType":"YulLiteral","src":"85721:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"85727:4:21","nodeType":"YulLiteral","src":"85727:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"85714:6:21","nodeType":"YulIdentifier","src":"85714:6:21"},"nativeSrc":"85714:18:21","nodeType":"YulFunctionCall","src":"85714:18:21"},"nativeSrc":"85714:18:21","nodeType":"YulExpressionStatement","src":"85714:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85752:4:21","nodeType":"YulLiteral","src":"85752:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"85758:4:21","nodeType":"YulLiteral","src":"85758:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"85745:6:21","nodeType":"YulIdentifier","src":"85745:6:21"},"nativeSrc":"85745:18:21","nodeType":"YulFunctionCall","src":"85745:18:21"},"nativeSrc":"85745:18:21","nodeType":"YulExpressionStatement","src":"85745:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85783:4:21","nodeType":"YulLiteral","src":"85783:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"85789:2:21","nodeType":"YulIdentifier","src":"85789:2:21"}],"functionName":{"name":"mstore","nativeSrc":"85776:6:21","nodeType":"YulIdentifier","src":"85776:6:21"},"nativeSrc":"85776:16:21","nodeType":"YulFunctionCall","src":"85776:16:21"},"nativeSrc":"85776:16:21","nodeType":"YulExpressionStatement","src":"85776:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85817:4:21","nodeType":"YulLiteral","src":"85817:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"85823:2:21","nodeType":"YulIdentifier","src":"85823:2:21"}],"functionName":{"name":"writeString","nativeSrc":"85805:11:21","nodeType":"YulIdentifier","src":"85805:11:21"},"nativeSrc":"85805:21:21","nodeType":"YulFunctionCall","src":"85805:21:21"},"nativeSrc":"85805:21:21","nodeType":"YulExpressionStatement","src":"85805:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85851:4:21","nodeType":"YulLiteral","src":"85851:4:21","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"85857:2:21","nodeType":"YulIdentifier","src":"85857:2:21"}],"functionName":{"name":"writeString","nativeSrc":"85839:11:21","nodeType":"YulIdentifier","src":"85839:11:21"},"nativeSrc":"85839:21:21","nodeType":"YulFunctionCall","src":"85839:21:21"},"nativeSrc":"85839:21:21","nodeType":"YulExpressionStatement","src":"85839:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29636,"isOffset":false,"isSlot":false,"src":"85380:2:21","valueSize":1},{"declaration":29639,"isOffset":false,"isSlot":false,"src":"85410:2:21","valueSize":1},{"declaration":29642,"isOffset":false,"isSlot":false,"src":"85440:2:21","valueSize":1},{"declaration":29645,"isOffset":false,"isSlot":false,"src":"85470:2:21","valueSize":1},{"declaration":29648,"isOffset":false,"isSlot":false,"src":"85500:2:21","valueSize":1},{"declaration":29651,"isOffset":false,"isSlot":false,"src":"85530:2:21","valueSize":1},{"declaration":29654,"isOffset":false,"isSlot":false,"src":"85560:2:21","valueSize":1},{"declaration":29657,"isOffset":false,"isSlot":false,"src":"85590:2:21","valueSize":1},{"declaration":29628,"isOffset":false,"isSlot":false,"src":"85823:2:21","valueSize":1},{"declaration":29630,"isOffset":false,"isSlot":false,"src":"85857:2:21","valueSize":1},{"declaration":29632,"isOffset":false,"isSlot":false,"src":"85789:2:21","valueSize":1}],"id":29659,"nodeType":"InlineAssembly","src":"85002:868:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"85895:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":29662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"85901:4:21","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":29660,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"85879:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"85879:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29664,"nodeType":"ExpressionStatement","src":"85879:27:21"},{"AST":{"nativeSrc":"85968:243:21","nodeType":"YulBlock","src":"85968:243:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"85989:4:21","nodeType":"YulLiteral","src":"85989:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"85995:2:21","nodeType":"YulIdentifier","src":"85995:2:21"}],"functionName":{"name":"mstore","nativeSrc":"85982:6:21","nodeType":"YulIdentifier","src":"85982:6:21"},"nativeSrc":"85982:16:21","nodeType":"YulFunctionCall","src":"85982:16:21"},"nativeSrc":"85982:16:21","nodeType":"YulExpressionStatement","src":"85982:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86018:4:21","nodeType":"YulLiteral","src":"86018:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"86024:2:21","nodeType":"YulIdentifier","src":"86024:2:21"}],"functionName":{"name":"mstore","nativeSrc":"86011:6:21","nodeType":"YulIdentifier","src":"86011:6:21"},"nativeSrc":"86011:16:21","nodeType":"YulFunctionCall","src":"86011:16:21"},"nativeSrc":"86011:16:21","nodeType":"YulExpressionStatement","src":"86011:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86047:4:21","nodeType":"YulLiteral","src":"86047:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"86053:2:21","nodeType":"YulIdentifier","src":"86053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"86040:6:21","nodeType":"YulIdentifier","src":"86040:6:21"},"nativeSrc":"86040:16:21","nodeType":"YulFunctionCall","src":"86040:16:21"},"nativeSrc":"86040:16:21","nodeType":"YulExpressionStatement","src":"86040:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86076:4:21","nodeType":"YulLiteral","src":"86076:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"86082:2:21","nodeType":"YulIdentifier","src":"86082:2:21"}],"functionName":{"name":"mstore","nativeSrc":"86069:6:21","nodeType":"YulIdentifier","src":"86069:6:21"},"nativeSrc":"86069:16:21","nodeType":"YulFunctionCall","src":"86069:16:21"},"nativeSrc":"86069:16:21","nodeType":"YulExpressionStatement","src":"86069:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86105:4:21","nodeType":"YulLiteral","src":"86105:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"86111:2:21","nodeType":"YulIdentifier","src":"86111:2:21"}],"functionName":{"name":"mstore","nativeSrc":"86098:6:21","nodeType":"YulIdentifier","src":"86098:6:21"},"nativeSrc":"86098:16:21","nodeType":"YulFunctionCall","src":"86098:16:21"},"nativeSrc":"86098:16:21","nodeType":"YulExpressionStatement","src":"86098:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86134:4:21","nodeType":"YulLiteral","src":"86134:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"86140:2:21","nodeType":"YulIdentifier","src":"86140:2:21"}],"functionName":{"name":"mstore","nativeSrc":"86127:6:21","nodeType":"YulIdentifier","src":"86127:6:21"},"nativeSrc":"86127:16:21","nodeType":"YulFunctionCall","src":"86127:16:21"},"nativeSrc":"86127:16:21","nodeType":"YulExpressionStatement","src":"86127:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86163:4:21","nodeType":"YulLiteral","src":"86163:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"86169:2:21","nodeType":"YulIdentifier","src":"86169:2:21"}],"functionName":{"name":"mstore","nativeSrc":"86156:6:21","nodeType":"YulIdentifier","src":"86156:6:21"},"nativeSrc":"86156:16:21","nodeType":"YulFunctionCall","src":"86156:16:21"},"nativeSrc":"86156:16:21","nodeType":"YulExpressionStatement","src":"86156:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86192:4:21","nodeType":"YulLiteral","src":"86192:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"86198:2:21","nodeType":"YulIdentifier","src":"86198:2:21"}],"functionName":{"name":"mstore","nativeSrc":"86185:6:21","nodeType":"YulIdentifier","src":"86185:6:21"},"nativeSrc":"86185:16:21","nodeType":"YulFunctionCall","src":"86185:16:21"},"nativeSrc":"86185:16:21","nodeType":"YulExpressionStatement","src":"86185:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29636,"isOffset":false,"isSlot":false,"src":"85995:2:21","valueSize":1},{"declaration":29639,"isOffset":false,"isSlot":false,"src":"86024:2:21","valueSize":1},{"declaration":29642,"isOffset":false,"isSlot":false,"src":"86053:2:21","valueSize":1},{"declaration":29645,"isOffset":false,"isSlot":false,"src":"86082:2:21","valueSize":1},{"declaration":29648,"isOffset":false,"isSlot":false,"src":"86111:2:21","valueSize":1},{"declaration":29651,"isOffset":false,"isSlot":false,"src":"86140:2:21","valueSize":1},{"declaration":29654,"isOffset":false,"isSlot":false,"src":"86169:2:21","valueSize":1},{"declaration":29657,"isOffset":false,"isSlot":false,"src":"86198:2:21","valueSize":1}],"id":29665,"nodeType":"InlineAssembly","src":"85959:252:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"84735:3:21","parameters":{"id":29633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29628,"mutability":"mutable","name":"p0","nameLocation":"84747:2:21","nodeType":"VariableDeclaration","scope":29667,"src":"84739:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84739:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29630,"mutability":"mutable","name":"p1","nameLocation":"84759:2:21","nodeType":"VariableDeclaration","scope":29667,"src":"84751:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84751:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29632,"mutability":"mutable","name":"p2","nameLocation":"84771:2:21","nodeType":"VariableDeclaration","scope":29667,"src":"84763:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29631,"name":"address","nodeType":"ElementaryTypeName","src":"84763:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"84738:36:21"},"returnParameters":{"id":29634,"nodeType":"ParameterList","parameters":[],"src":"84789:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29708,"nodeType":"FunctionDefinition","src":"86223:1485:21","nodes":[],"body":{"id":29707,"nodeType":"Block","src":"86283:1425:21","nodes":[],"statements":[{"assignments":[29677],"declarations":[{"constant":false,"id":29677,"mutability":"mutable","name":"m0","nameLocation":"86301:2:21","nodeType":"VariableDeclaration","scope":29707,"src":"86293:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86293:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29678,"nodeType":"VariableDeclarationStatement","src":"86293:10:21"},{"assignments":[29680],"declarations":[{"constant":false,"id":29680,"mutability":"mutable","name":"m1","nameLocation":"86321:2:21","nodeType":"VariableDeclaration","scope":29707,"src":"86313:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86313:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29681,"nodeType":"VariableDeclarationStatement","src":"86313:10:21"},{"assignments":[29683],"declarations":[{"constant":false,"id":29683,"mutability":"mutable","name":"m2","nameLocation":"86341:2:21","nodeType":"VariableDeclaration","scope":29707,"src":"86333:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29682,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86333:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29684,"nodeType":"VariableDeclarationStatement","src":"86333:10:21"},{"assignments":[29686],"declarations":[{"constant":false,"id":29686,"mutability":"mutable","name":"m3","nameLocation":"86361:2:21","nodeType":"VariableDeclaration","scope":29707,"src":"86353:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86353:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29687,"nodeType":"VariableDeclarationStatement","src":"86353:10:21"},{"assignments":[29689],"declarations":[{"constant":false,"id":29689,"mutability":"mutable","name":"m4","nameLocation":"86381:2:21","nodeType":"VariableDeclaration","scope":29707,"src":"86373:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86373:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29690,"nodeType":"VariableDeclarationStatement","src":"86373:10:21"},{"assignments":[29692],"declarations":[{"constant":false,"id":29692,"mutability":"mutable","name":"m5","nameLocation":"86401:2:21","nodeType":"VariableDeclaration","scope":29707,"src":"86393:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86393:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29693,"nodeType":"VariableDeclarationStatement","src":"86393:10:21"},{"assignments":[29695],"declarations":[{"constant":false,"id":29695,"mutability":"mutable","name":"m6","nameLocation":"86421:2:21","nodeType":"VariableDeclaration","scope":29707,"src":"86413:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86413:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29696,"nodeType":"VariableDeclarationStatement","src":"86413:10:21"},{"assignments":[29698],"declarations":[{"constant":false,"id":29698,"mutability":"mutable","name":"m7","nameLocation":"86441:2:21","nodeType":"VariableDeclaration","scope":29707,"src":"86433:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86433:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29699,"nodeType":"VariableDeclarationStatement","src":"86433:10:21"},{"AST":{"nativeSrc":"86505:856:21","nodeType":"YulBlock","src":"86505:856:21","statements":[{"body":{"nativeSrc":"86548:313:21","nodeType":"YulBlock","src":"86548:313:21","statements":[{"nativeSrc":"86566:15:21","nodeType":"YulVariableDeclaration","src":"86566:15:21","value":{"kind":"number","nativeSrc":"86580:1:21","nodeType":"YulLiteral","src":"86580:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"86570:6:21","nodeType":"YulTypedName","src":"86570:6:21","type":""}]},{"body":{"nativeSrc":"86651:40:21","nodeType":"YulBlock","src":"86651:40:21","statements":[{"body":{"nativeSrc":"86680:9:21","nodeType":"YulBlock","src":"86680:9:21","statements":[{"nativeSrc":"86682:5:21","nodeType":"YulBreak","src":"86682:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"86668:6:21","nodeType":"YulIdentifier","src":"86668:6:21"},{"name":"w","nativeSrc":"86676:1:21","nodeType":"YulIdentifier","src":"86676:1:21"}],"functionName":{"name":"byte","nativeSrc":"86663:4:21","nodeType":"YulIdentifier","src":"86663:4:21"},"nativeSrc":"86663:15:21","nodeType":"YulFunctionCall","src":"86663:15:21"}],"functionName":{"name":"iszero","nativeSrc":"86656:6:21","nodeType":"YulIdentifier","src":"86656:6:21"},"nativeSrc":"86656:23:21","nodeType":"YulFunctionCall","src":"86656:23:21"},"nativeSrc":"86653:36:21","nodeType":"YulIf","src":"86653:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"86608:6:21","nodeType":"YulIdentifier","src":"86608:6:21"},{"kind":"number","nativeSrc":"86616:4:21","nodeType":"YulLiteral","src":"86616:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"86605:2:21","nodeType":"YulIdentifier","src":"86605:2:21"},"nativeSrc":"86605:16:21","nodeType":"YulFunctionCall","src":"86605:16:21"},"nativeSrc":"86598:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"86622:28:21","nodeType":"YulBlock","src":"86622:28:21","statements":[{"nativeSrc":"86624:24:21","nodeType":"YulAssignment","src":"86624:24:21","value":{"arguments":[{"name":"length","nativeSrc":"86638:6:21","nodeType":"YulIdentifier","src":"86638:6:21"},{"kind":"number","nativeSrc":"86646:1:21","nodeType":"YulLiteral","src":"86646:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"86634:3:21","nodeType":"YulIdentifier","src":"86634:3:21"},"nativeSrc":"86634:14:21","nodeType":"YulFunctionCall","src":"86634:14:21"},"variableNames":[{"name":"length","nativeSrc":"86624:6:21","nodeType":"YulIdentifier","src":"86624:6:21"}]}]},"pre":{"nativeSrc":"86602:2:21","nodeType":"YulBlock","src":"86602:2:21","statements":[]},"src":"86598:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"86715:3:21","nodeType":"YulIdentifier","src":"86715:3:21"},{"name":"length","nativeSrc":"86720:6:21","nodeType":"YulIdentifier","src":"86720:6:21"}],"functionName":{"name":"mstore","nativeSrc":"86708:6:21","nodeType":"YulIdentifier","src":"86708:6:21"},"nativeSrc":"86708:19:21","nodeType":"YulFunctionCall","src":"86708:19:21"},"nativeSrc":"86708:19:21","nodeType":"YulExpressionStatement","src":"86708:19:21"},{"nativeSrc":"86744:37:21","nodeType":"YulVariableDeclaration","src":"86744:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"86761:3:21","nodeType":"YulLiteral","src":"86761:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"86770:1:21","nodeType":"YulLiteral","src":"86770:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"86773:6:21","nodeType":"YulIdentifier","src":"86773:6:21"}],"functionName":{"name":"shl","nativeSrc":"86766:3:21","nodeType":"YulIdentifier","src":"86766:3:21"},"nativeSrc":"86766:14:21","nodeType":"YulFunctionCall","src":"86766:14:21"}],"functionName":{"name":"sub","nativeSrc":"86757:3:21","nodeType":"YulIdentifier","src":"86757:3:21"},"nativeSrc":"86757:24:21","nodeType":"YulFunctionCall","src":"86757:24:21"},"variables":[{"name":"shift","nativeSrc":"86748:5:21","nodeType":"YulTypedName","src":"86748:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"86809:3:21","nodeType":"YulIdentifier","src":"86809:3:21"},{"kind":"number","nativeSrc":"86814:4:21","nodeType":"YulLiteral","src":"86814:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"86805:3:21","nodeType":"YulIdentifier","src":"86805:3:21"},"nativeSrc":"86805:14:21","nodeType":"YulFunctionCall","src":"86805:14:21"},{"arguments":[{"name":"shift","nativeSrc":"86825:5:21","nodeType":"YulIdentifier","src":"86825:5:21"},{"arguments":[{"name":"shift","nativeSrc":"86836:5:21","nodeType":"YulIdentifier","src":"86836:5:21"},{"name":"w","nativeSrc":"86843:1:21","nodeType":"YulIdentifier","src":"86843:1:21"}],"functionName":{"name":"shr","nativeSrc":"86832:3:21","nodeType":"YulIdentifier","src":"86832:3:21"},"nativeSrc":"86832:13:21","nodeType":"YulFunctionCall","src":"86832:13:21"}],"functionName":{"name":"shl","nativeSrc":"86821:3:21","nodeType":"YulIdentifier","src":"86821:3:21"},"nativeSrc":"86821:25:21","nodeType":"YulFunctionCall","src":"86821:25:21"}],"functionName":{"name":"mstore","nativeSrc":"86798:6:21","nodeType":"YulIdentifier","src":"86798:6:21"},"nativeSrc":"86798:49:21","nodeType":"YulFunctionCall","src":"86798:49:21"},"nativeSrc":"86798:49:21","nodeType":"YulExpressionStatement","src":"86798:49:21"}]},"name":"writeString","nativeSrc":"86519:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"86540:3:21","nodeType":"YulTypedName","src":"86540:3:21","type":""},{"name":"w","nativeSrc":"86545:1:21","nodeType":"YulTypedName","src":"86545:1:21","type":""}],"src":"86519:342:21"},{"nativeSrc":"86874:17:21","nodeType":"YulAssignment","src":"86874:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"86886:4:21","nodeType":"YulLiteral","src":"86886:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"86880:5:21","nodeType":"YulIdentifier","src":"86880:5:21"},"nativeSrc":"86880:11:21","nodeType":"YulFunctionCall","src":"86880:11:21"},"variableNames":[{"name":"m0","nativeSrc":"86874:2:21","nodeType":"YulIdentifier","src":"86874:2:21"}]},{"nativeSrc":"86904:17:21","nodeType":"YulAssignment","src":"86904:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"86916:4:21","nodeType":"YulLiteral","src":"86916:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"86910:5:21","nodeType":"YulIdentifier","src":"86910:5:21"},"nativeSrc":"86910:11:21","nodeType":"YulFunctionCall","src":"86910:11:21"},"variableNames":[{"name":"m1","nativeSrc":"86904:2:21","nodeType":"YulIdentifier","src":"86904:2:21"}]},{"nativeSrc":"86934:17:21","nodeType":"YulAssignment","src":"86934:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"86946:4:21","nodeType":"YulLiteral","src":"86946:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"86940:5:21","nodeType":"YulIdentifier","src":"86940:5:21"},"nativeSrc":"86940:11:21","nodeType":"YulFunctionCall","src":"86940:11:21"},"variableNames":[{"name":"m2","nativeSrc":"86934:2:21","nodeType":"YulIdentifier","src":"86934:2:21"}]},{"nativeSrc":"86964:17:21","nodeType":"YulAssignment","src":"86964:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"86976:4:21","nodeType":"YulLiteral","src":"86976:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"86970:5:21","nodeType":"YulIdentifier","src":"86970:5:21"},"nativeSrc":"86970:11:21","nodeType":"YulFunctionCall","src":"86970:11:21"},"variableNames":[{"name":"m3","nativeSrc":"86964:2:21","nodeType":"YulIdentifier","src":"86964:2:21"}]},{"nativeSrc":"86994:17:21","nodeType":"YulAssignment","src":"86994:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"87006:4:21","nodeType":"YulLiteral","src":"87006:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"87000:5:21","nodeType":"YulIdentifier","src":"87000:5:21"},"nativeSrc":"87000:11:21","nodeType":"YulFunctionCall","src":"87000:11:21"},"variableNames":[{"name":"m4","nativeSrc":"86994:2:21","nodeType":"YulIdentifier","src":"86994:2:21"}]},{"nativeSrc":"87024:17:21","nodeType":"YulAssignment","src":"87024:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"87036:4:21","nodeType":"YulLiteral","src":"87036:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"87030:5:21","nodeType":"YulIdentifier","src":"87030:5:21"},"nativeSrc":"87030:11:21","nodeType":"YulFunctionCall","src":"87030:11:21"},"variableNames":[{"name":"m5","nativeSrc":"87024:2:21","nodeType":"YulIdentifier","src":"87024:2:21"}]},{"nativeSrc":"87054:17:21","nodeType":"YulAssignment","src":"87054:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"87066:4:21","nodeType":"YulLiteral","src":"87066:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"87060:5:21","nodeType":"YulIdentifier","src":"87060:5:21"},"nativeSrc":"87060:11:21","nodeType":"YulFunctionCall","src":"87060:11:21"},"variableNames":[{"name":"m6","nativeSrc":"87054:2:21","nodeType":"YulIdentifier","src":"87054:2:21"}]},{"nativeSrc":"87084:17:21","nodeType":"YulAssignment","src":"87084:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"87096:4:21","nodeType":"YulLiteral","src":"87096:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"87090:5:21","nodeType":"YulIdentifier","src":"87090:5:21"},"nativeSrc":"87090:11:21","nodeType":"YulFunctionCall","src":"87090:11:21"},"variableNames":[{"name":"m7","nativeSrc":"87084:2:21","nodeType":"YulIdentifier","src":"87084:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87175:4:21","nodeType":"YulLiteral","src":"87175:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"87181:10:21","nodeType":"YulLiteral","src":"87181:10:21","type":"","value":"0xb0e0f9b5"}],"functionName":{"name":"mstore","nativeSrc":"87168:6:21","nodeType":"YulIdentifier","src":"87168:6:21"},"nativeSrc":"87168:24:21","nodeType":"YulFunctionCall","src":"87168:24:21"},"nativeSrc":"87168:24:21","nodeType":"YulExpressionStatement","src":"87168:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87212:4:21","nodeType":"YulLiteral","src":"87212:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"87218:4:21","nodeType":"YulLiteral","src":"87218:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"87205:6:21","nodeType":"YulIdentifier","src":"87205:6:21"},"nativeSrc":"87205:18:21","nodeType":"YulFunctionCall","src":"87205:18:21"},"nativeSrc":"87205:18:21","nodeType":"YulExpressionStatement","src":"87205:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87243:4:21","nodeType":"YulLiteral","src":"87243:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"87249:4:21","nodeType":"YulLiteral","src":"87249:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"87236:6:21","nodeType":"YulIdentifier","src":"87236:6:21"},"nativeSrc":"87236:18:21","nodeType":"YulFunctionCall","src":"87236:18:21"},"nativeSrc":"87236:18:21","nodeType":"YulExpressionStatement","src":"87236:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87274:4:21","nodeType":"YulLiteral","src":"87274:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"87280:2:21","nodeType":"YulIdentifier","src":"87280:2:21"}],"functionName":{"name":"mstore","nativeSrc":"87267:6:21","nodeType":"YulIdentifier","src":"87267:6:21"},"nativeSrc":"87267:16:21","nodeType":"YulFunctionCall","src":"87267:16:21"},"nativeSrc":"87267:16:21","nodeType":"YulExpressionStatement","src":"87267:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87308:4:21","nodeType":"YulLiteral","src":"87308:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"87314:2:21","nodeType":"YulIdentifier","src":"87314:2:21"}],"functionName":{"name":"writeString","nativeSrc":"87296:11:21","nodeType":"YulIdentifier","src":"87296:11:21"},"nativeSrc":"87296:21:21","nodeType":"YulFunctionCall","src":"87296:21:21"},"nativeSrc":"87296:21:21","nodeType":"YulExpressionStatement","src":"87296:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87342:4:21","nodeType":"YulLiteral","src":"87342:4:21","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"87348:2:21","nodeType":"YulIdentifier","src":"87348:2:21"}],"functionName":{"name":"writeString","nativeSrc":"87330:11:21","nodeType":"YulIdentifier","src":"87330:11:21"},"nativeSrc":"87330:21:21","nodeType":"YulFunctionCall","src":"87330:21:21"},"nativeSrc":"87330:21:21","nodeType":"YulExpressionStatement","src":"87330:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29677,"isOffset":false,"isSlot":false,"src":"86874:2:21","valueSize":1},{"declaration":29680,"isOffset":false,"isSlot":false,"src":"86904:2:21","valueSize":1},{"declaration":29683,"isOffset":false,"isSlot":false,"src":"86934:2:21","valueSize":1},{"declaration":29686,"isOffset":false,"isSlot":false,"src":"86964:2:21","valueSize":1},{"declaration":29689,"isOffset":false,"isSlot":false,"src":"86994:2:21","valueSize":1},{"declaration":29692,"isOffset":false,"isSlot":false,"src":"87024:2:21","valueSize":1},{"declaration":29695,"isOffset":false,"isSlot":false,"src":"87054:2:21","valueSize":1},{"declaration":29698,"isOffset":false,"isSlot":false,"src":"87084:2:21","valueSize":1},{"declaration":29669,"isOffset":false,"isSlot":false,"src":"87314:2:21","valueSize":1},{"declaration":29671,"isOffset":false,"isSlot":false,"src":"87348:2:21","valueSize":1},{"declaration":29673,"isOffset":false,"isSlot":false,"src":"87280:2:21","valueSize":1}],"id":29700,"nodeType":"InlineAssembly","src":"86496:865:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"87386:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":29703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"87392:4:21","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":29701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"87370:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"87370:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29705,"nodeType":"ExpressionStatement","src":"87370:27:21"},{"AST":{"nativeSrc":"87459:243:21","nodeType":"YulBlock","src":"87459:243:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"87480:4:21","nodeType":"YulLiteral","src":"87480:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"87486:2:21","nodeType":"YulIdentifier","src":"87486:2:21"}],"functionName":{"name":"mstore","nativeSrc":"87473:6:21","nodeType":"YulIdentifier","src":"87473:6:21"},"nativeSrc":"87473:16:21","nodeType":"YulFunctionCall","src":"87473:16:21"},"nativeSrc":"87473:16:21","nodeType":"YulExpressionStatement","src":"87473:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87509:4:21","nodeType":"YulLiteral","src":"87509:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"87515:2:21","nodeType":"YulIdentifier","src":"87515:2:21"}],"functionName":{"name":"mstore","nativeSrc":"87502:6:21","nodeType":"YulIdentifier","src":"87502:6:21"},"nativeSrc":"87502:16:21","nodeType":"YulFunctionCall","src":"87502:16:21"},"nativeSrc":"87502:16:21","nodeType":"YulExpressionStatement","src":"87502:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87538:4:21","nodeType":"YulLiteral","src":"87538:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"87544:2:21","nodeType":"YulIdentifier","src":"87544:2:21"}],"functionName":{"name":"mstore","nativeSrc":"87531:6:21","nodeType":"YulIdentifier","src":"87531:6:21"},"nativeSrc":"87531:16:21","nodeType":"YulFunctionCall","src":"87531:16:21"},"nativeSrc":"87531:16:21","nodeType":"YulExpressionStatement","src":"87531:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87567:4:21","nodeType":"YulLiteral","src":"87567:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"87573:2:21","nodeType":"YulIdentifier","src":"87573:2:21"}],"functionName":{"name":"mstore","nativeSrc":"87560:6:21","nodeType":"YulIdentifier","src":"87560:6:21"},"nativeSrc":"87560:16:21","nodeType":"YulFunctionCall","src":"87560:16:21"},"nativeSrc":"87560:16:21","nodeType":"YulExpressionStatement","src":"87560:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87596:4:21","nodeType":"YulLiteral","src":"87596:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"87602:2:21","nodeType":"YulIdentifier","src":"87602:2:21"}],"functionName":{"name":"mstore","nativeSrc":"87589:6:21","nodeType":"YulIdentifier","src":"87589:6:21"},"nativeSrc":"87589:16:21","nodeType":"YulFunctionCall","src":"87589:16:21"},"nativeSrc":"87589:16:21","nodeType":"YulExpressionStatement","src":"87589:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87625:4:21","nodeType":"YulLiteral","src":"87625:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"87631:2:21","nodeType":"YulIdentifier","src":"87631:2:21"}],"functionName":{"name":"mstore","nativeSrc":"87618:6:21","nodeType":"YulIdentifier","src":"87618:6:21"},"nativeSrc":"87618:16:21","nodeType":"YulFunctionCall","src":"87618:16:21"},"nativeSrc":"87618:16:21","nodeType":"YulExpressionStatement","src":"87618:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87654:4:21","nodeType":"YulLiteral","src":"87654:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"87660:2:21","nodeType":"YulIdentifier","src":"87660:2:21"}],"functionName":{"name":"mstore","nativeSrc":"87647:6:21","nodeType":"YulIdentifier","src":"87647:6:21"},"nativeSrc":"87647:16:21","nodeType":"YulFunctionCall","src":"87647:16:21"},"nativeSrc":"87647:16:21","nodeType":"YulExpressionStatement","src":"87647:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87683:4:21","nodeType":"YulLiteral","src":"87683:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"87689:2:21","nodeType":"YulIdentifier","src":"87689:2:21"}],"functionName":{"name":"mstore","nativeSrc":"87676:6:21","nodeType":"YulIdentifier","src":"87676:6:21"},"nativeSrc":"87676:16:21","nodeType":"YulFunctionCall","src":"87676:16:21"},"nativeSrc":"87676:16:21","nodeType":"YulExpressionStatement","src":"87676:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29677,"isOffset":false,"isSlot":false,"src":"87486:2:21","valueSize":1},{"declaration":29680,"isOffset":false,"isSlot":false,"src":"87515:2:21","valueSize":1},{"declaration":29683,"isOffset":false,"isSlot":false,"src":"87544:2:21","valueSize":1},{"declaration":29686,"isOffset":false,"isSlot":false,"src":"87573:2:21","valueSize":1},{"declaration":29689,"isOffset":false,"isSlot":false,"src":"87602:2:21","valueSize":1},{"declaration":29692,"isOffset":false,"isSlot":false,"src":"87631:2:21","valueSize":1},{"declaration":29695,"isOffset":false,"isSlot":false,"src":"87660:2:21","valueSize":1},{"declaration":29698,"isOffset":false,"isSlot":false,"src":"87689:2:21","valueSize":1}],"id":29706,"nodeType":"InlineAssembly","src":"87450:252:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"86232:3:21","parameters":{"id":29674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29669,"mutability":"mutable","name":"p0","nameLocation":"86244:2:21","nodeType":"VariableDeclaration","scope":29708,"src":"86236:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29668,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86236:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29671,"mutability":"mutable","name":"p1","nameLocation":"86256:2:21","nodeType":"VariableDeclaration","scope":29708,"src":"86248:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86248:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29673,"mutability":"mutable","name":"p2","nameLocation":"86265:2:21","nodeType":"VariableDeclaration","scope":29708,"src":"86260:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29672,"name":"bool","nodeType":"ElementaryTypeName","src":"86260:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"86235:33:21"},"returnParameters":{"id":29675,"nodeType":"ParameterList","parameters":[],"src":"86283:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29749,"nodeType":"FunctionDefinition","src":"87714:1491:21","nodes":[],"body":{"id":29748,"nodeType":"Block","src":"87777:1428:21","nodes":[],"statements":[{"assignments":[29718],"declarations":[{"constant":false,"id":29718,"mutability":"mutable","name":"m0","nameLocation":"87795:2:21","nodeType":"VariableDeclaration","scope":29748,"src":"87787:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87787:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29719,"nodeType":"VariableDeclarationStatement","src":"87787:10:21"},{"assignments":[29721],"declarations":[{"constant":false,"id":29721,"mutability":"mutable","name":"m1","nameLocation":"87815:2:21","nodeType":"VariableDeclaration","scope":29748,"src":"87807:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87807:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29722,"nodeType":"VariableDeclarationStatement","src":"87807:10:21"},{"assignments":[29724],"declarations":[{"constant":false,"id":29724,"mutability":"mutable","name":"m2","nameLocation":"87835:2:21","nodeType":"VariableDeclaration","scope":29748,"src":"87827:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87827:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29725,"nodeType":"VariableDeclarationStatement","src":"87827:10:21"},{"assignments":[29727],"declarations":[{"constant":false,"id":29727,"mutability":"mutable","name":"m3","nameLocation":"87855:2:21","nodeType":"VariableDeclaration","scope":29748,"src":"87847:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87847:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29728,"nodeType":"VariableDeclarationStatement","src":"87847:10:21"},{"assignments":[29730],"declarations":[{"constant":false,"id":29730,"mutability":"mutable","name":"m4","nameLocation":"87875:2:21","nodeType":"VariableDeclaration","scope":29748,"src":"87867:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87867:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29731,"nodeType":"VariableDeclarationStatement","src":"87867:10:21"},{"assignments":[29733],"declarations":[{"constant":false,"id":29733,"mutability":"mutable","name":"m5","nameLocation":"87895:2:21","nodeType":"VariableDeclaration","scope":29748,"src":"87887:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87887:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29734,"nodeType":"VariableDeclarationStatement","src":"87887:10:21"},{"assignments":[29736],"declarations":[{"constant":false,"id":29736,"mutability":"mutable","name":"m6","nameLocation":"87915:2:21","nodeType":"VariableDeclaration","scope":29748,"src":"87907:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87907:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29737,"nodeType":"VariableDeclarationStatement","src":"87907:10:21"},{"assignments":[29739],"declarations":[{"constant":false,"id":29739,"mutability":"mutable","name":"m7","nameLocation":"87935:2:21","nodeType":"VariableDeclaration","scope":29748,"src":"87927:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87927:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29740,"nodeType":"VariableDeclarationStatement","src":"87927:10:21"},{"AST":{"nativeSrc":"87999:859:21","nodeType":"YulBlock","src":"87999:859:21","statements":[{"body":{"nativeSrc":"88042:313:21","nodeType":"YulBlock","src":"88042:313:21","statements":[{"nativeSrc":"88060:15:21","nodeType":"YulVariableDeclaration","src":"88060:15:21","value":{"kind":"number","nativeSrc":"88074:1:21","nodeType":"YulLiteral","src":"88074:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"88064:6:21","nodeType":"YulTypedName","src":"88064:6:21","type":""}]},{"body":{"nativeSrc":"88145:40:21","nodeType":"YulBlock","src":"88145:40:21","statements":[{"body":{"nativeSrc":"88174:9:21","nodeType":"YulBlock","src":"88174:9:21","statements":[{"nativeSrc":"88176:5:21","nodeType":"YulBreak","src":"88176:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"88162:6:21","nodeType":"YulIdentifier","src":"88162:6:21"},{"name":"w","nativeSrc":"88170:1:21","nodeType":"YulIdentifier","src":"88170:1:21"}],"functionName":{"name":"byte","nativeSrc":"88157:4:21","nodeType":"YulIdentifier","src":"88157:4:21"},"nativeSrc":"88157:15:21","nodeType":"YulFunctionCall","src":"88157:15:21"}],"functionName":{"name":"iszero","nativeSrc":"88150:6:21","nodeType":"YulIdentifier","src":"88150:6:21"},"nativeSrc":"88150:23:21","nodeType":"YulFunctionCall","src":"88150:23:21"},"nativeSrc":"88147:36:21","nodeType":"YulIf","src":"88147:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"88102:6:21","nodeType":"YulIdentifier","src":"88102:6:21"},{"kind":"number","nativeSrc":"88110:4:21","nodeType":"YulLiteral","src":"88110:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"88099:2:21","nodeType":"YulIdentifier","src":"88099:2:21"},"nativeSrc":"88099:16:21","nodeType":"YulFunctionCall","src":"88099:16:21"},"nativeSrc":"88092:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"88116:28:21","nodeType":"YulBlock","src":"88116:28:21","statements":[{"nativeSrc":"88118:24:21","nodeType":"YulAssignment","src":"88118:24:21","value":{"arguments":[{"name":"length","nativeSrc":"88132:6:21","nodeType":"YulIdentifier","src":"88132:6:21"},{"kind":"number","nativeSrc":"88140:1:21","nodeType":"YulLiteral","src":"88140:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"88128:3:21","nodeType":"YulIdentifier","src":"88128:3:21"},"nativeSrc":"88128:14:21","nodeType":"YulFunctionCall","src":"88128:14:21"},"variableNames":[{"name":"length","nativeSrc":"88118:6:21","nodeType":"YulIdentifier","src":"88118:6:21"}]}]},"pre":{"nativeSrc":"88096:2:21","nodeType":"YulBlock","src":"88096:2:21","statements":[]},"src":"88092:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"88209:3:21","nodeType":"YulIdentifier","src":"88209:3:21"},{"name":"length","nativeSrc":"88214:6:21","nodeType":"YulIdentifier","src":"88214:6:21"}],"functionName":{"name":"mstore","nativeSrc":"88202:6:21","nodeType":"YulIdentifier","src":"88202:6:21"},"nativeSrc":"88202:19:21","nodeType":"YulFunctionCall","src":"88202:19:21"},"nativeSrc":"88202:19:21","nodeType":"YulExpressionStatement","src":"88202:19:21"},{"nativeSrc":"88238:37:21","nodeType":"YulVariableDeclaration","src":"88238:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"88255:3:21","nodeType":"YulLiteral","src":"88255:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"88264:1:21","nodeType":"YulLiteral","src":"88264:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"88267:6:21","nodeType":"YulIdentifier","src":"88267:6:21"}],"functionName":{"name":"shl","nativeSrc":"88260:3:21","nodeType":"YulIdentifier","src":"88260:3:21"},"nativeSrc":"88260:14:21","nodeType":"YulFunctionCall","src":"88260:14:21"}],"functionName":{"name":"sub","nativeSrc":"88251:3:21","nodeType":"YulIdentifier","src":"88251:3:21"},"nativeSrc":"88251:24:21","nodeType":"YulFunctionCall","src":"88251:24:21"},"variables":[{"name":"shift","nativeSrc":"88242:5:21","nodeType":"YulTypedName","src":"88242:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"88303:3:21","nodeType":"YulIdentifier","src":"88303:3:21"},{"kind":"number","nativeSrc":"88308:4:21","nodeType":"YulLiteral","src":"88308:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"88299:3:21","nodeType":"YulIdentifier","src":"88299:3:21"},"nativeSrc":"88299:14:21","nodeType":"YulFunctionCall","src":"88299:14:21"},{"arguments":[{"name":"shift","nativeSrc":"88319:5:21","nodeType":"YulIdentifier","src":"88319:5:21"},{"arguments":[{"name":"shift","nativeSrc":"88330:5:21","nodeType":"YulIdentifier","src":"88330:5:21"},{"name":"w","nativeSrc":"88337:1:21","nodeType":"YulIdentifier","src":"88337:1:21"}],"functionName":{"name":"shr","nativeSrc":"88326:3:21","nodeType":"YulIdentifier","src":"88326:3:21"},"nativeSrc":"88326:13:21","nodeType":"YulFunctionCall","src":"88326:13:21"}],"functionName":{"name":"shl","nativeSrc":"88315:3:21","nodeType":"YulIdentifier","src":"88315:3:21"},"nativeSrc":"88315:25:21","nodeType":"YulFunctionCall","src":"88315:25:21"}],"functionName":{"name":"mstore","nativeSrc":"88292:6:21","nodeType":"YulIdentifier","src":"88292:6:21"},"nativeSrc":"88292:49:21","nodeType":"YulFunctionCall","src":"88292:49:21"},"nativeSrc":"88292:49:21","nodeType":"YulExpressionStatement","src":"88292:49:21"}]},"name":"writeString","nativeSrc":"88013:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"88034:3:21","nodeType":"YulTypedName","src":"88034:3:21","type":""},{"name":"w","nativeSrc":"88039:1:21","nodeType":"YulTypedName","src":"88039:1:21","type":""}],"src":"88013:342:21"},{"nativeSrc":"88368:17:21","nodeType":"YulAssignment","src":"88368:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"88380:4:21","nodeType":"YulLiteral","src":"88380:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"88374:5:21","nodeType":"YulIdentifier","src":"88374:5:21"},"nativeSrc":"88374:11:21","nodeType":"YulFunctionCall","src":"88374:11:21"},"variableNames":[{"name":"m0","nativeSrc":"88368:2:21","nodeType":"YulIdentifier","src":"88368:2:21"}]},{"nativeSrc":"88398:17:21","nodeType":"YulAssignment","src":"88398:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"88410:4:21","nodeType":"YulLiteral","src":"88410:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"88404:5:21","nodeType":"YulIdentifier","src":"88404:5:21"},"nativeSrc":"88404:11:21","nodeType":"YulFunctionCall","src":"88404:11:21"},"variableNames":[{"name":"m1","nativeSrc":"88398:2:21","nodeType":"YulIdentifier","src":"88398:2:21"}]},{"nativeSrc":"88428:17:21","nodeType":"YulAssignment","src":"88428:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"88440:4:21","nodeType":"YulLiteral","src":"88440:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"88434:5:21","nodeType":"YulIdentifier","src":"88434:5:21"},"nativeSrc":"88434:11:21","nodeType":"YulFunctionCall","src":"88434:11:21"},"variableNames":[{"name":"m2","nativeSrc":"88428:2:21","nodeType":"YulIdentifier","src":"88428:2:21"}]},{"nativeSrc":"88458:17:21","nodeType":"YulAssignment","src":"88458:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"88470:4:21","nodeType":"YulLiteral","src":"88470:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"88464:5:21","nodeType":"YulIdentifier","src":"88464:5:21"},"nativeSrc":"88464:11:21","nodeType":"YulFunctionCall","src":"88464:11:21"},"variableNames":[{"name":"m3","nativeSrc":"88458:2:21","nodeType":"YulIdentifier","src":"88458:2:21"}]},{"nativeSrc":"88488:17:21","nodeType":"YulAssignment","src":"88488:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"88500:4:21","nodeType":"YulLiteral","src":"88500:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"88494:5:21","nodeType":"YulIdentifier","src":"88494:5:21"},"nativeSrc":"88494:11:21","nodeType":"YulFunctionCall","src":"88494:11:21"},"variableNames":[{"name":"m4","nativeSrc":"88488:2:21","nodeType":"YulIdentifier","src":"88488:2:21"}]},{"nativeSrc":"88518:17:21","nodeType":"YulAssignment","src":"88518:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"88530:4:21","nodeType":"YulLiteral","src":"88530:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"88524:5:21","nodeType":"YulIdentifier","src":"88524:5:21"},"nativeSrc":"88524:11:21","nodeType":"YulFunctionCall","src":"88524:11:21"},"variableNames":[{"name":"m5","nativeSrc":"88518:2:21","nodeType":"YulIdentifier","src":"88518:2:21"}]},{"nativeSrc":"88548:17:21","nodeType":"YulAssignment","src":"88548:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"88560:4:21","nodeType":"YulLiteral","src":"88560:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"88554:5:21","nodeType":"YulIdentifier","src":"88554:5:21"},"nativeSrc":"88554:11:21","nodeType":"YulFunctionCall","src":"88554:11:21"},"variableNames":[{"name":"m6","nativeSrc":"88548:2:21","nodeType":"YulIdentifier","src":"88548:2:21"}]},{"nativeSrc":"88578:17:21","nodeType":"YulAssignment","src":"88578:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"88590:4:21","nodeType":"YulLiteral","src":"88590:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"88584:5:21","nodeType":"YulIdentifier","src":"88584:5:21"},"nativeSrc":"88584:11:21","nodeType":"YulFunctionCall","src":"88584:11:21"},"variableNames":[{"name":"m7","nativeSrc":"88578:2:21","nodeType":"YulIdentifier","src":"88578:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88672:4:21","nodeType":"YulLiteral","src":"88672:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"88678:10:21","nodeType":"YulLiteral","src":"88678:10:21","type":"","value":"0x5821efa1"}],"functionName":{"name":"mstore","nativeSrc":"88665:6:21","nodeType":"YulIdentifier","src":"88665:6:21"},"nativeSrc":"88665:24:21","nodeType":"YulFunctionCall","src":"88665:24:21"},"nativeSrc":"88665:24:21","nodeType":"YulExpressionStatement","src":"88665:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88709:4:21","nodeType":"YulLiteral","src":"88709:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"88715:4:21","nodeType":"YulLiteral","src":"88715:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"88702:6:21","nodeType":"YulIdentifier","src":"88702:6:21"},"nativeSrc":"88702:18:21","nodeType":"YulFunctionCall","src":"88702:18:21"},"nativeSrc":"88702:18:21","nodeType":"YulExpressionStatement","src":"88702:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88740:4:21","nodeType":"YulLiteral","src":"88740:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"88746:4:21","nodeType":"YulLiteral","src":"88746:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"88733:6:21","nodeType":"YulIdentifier","src":"88733:6:21"},"nativeSrc":"88733:18:21","nodeType":"YulFunctionCall","src":"88733:18:21"},"nativeSrc":"88733:18:21","nodeType":"YulExpressionStatement","src":"88733:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88771:4:21","nodeType":"YulLiteral","src":"88771:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"88777:2:21","nodeType":"YulIdentifier","src":"88777:2:21"}],"functionName":{"name":"mstore","nativeSrc":"88764:6:21","nodeType":"YulIdentifier","src":"88764:6:21"},"nativeSrc":"88764:16:21","nodeType":"YulFunctionCall","src":"88764:16:21"},"nativeSrc":"88764:16:21","nodeType":"YulExpressionStatement","src":"88764:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88805:4:21","nodeType":"YulLiteral","src":"88805:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"88811:2:21","nodeType":"YulIdentifier","src":"88811:2:21"}],"functionName":{"name":"writeString","nativeSrc":"88793:11:21","nodeType":"YulIdentifier","src":"88793:11:21"},"nativeSrc":"88793:21:21","nodeType":"YulFunctionCall","src":"88793:21:21"},"nativeSrc":"88793:21:21","nodeType":"YulExpressionStatement","src":"88793:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88839:4:21","nodeType":"YulLiteral","src":"88839:4:21","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"88845:2:21","nodeType":"YulIdentifier","src":"88845:2:21"}],"functionName":{"name":"writeString","nativeSrc":"88827:11:21","nodeType":"YulIdentifier","src":"88827:11:21"},"nativeSrc":"88827:21:21","nodeType":"YulFunctionCall","src":"88827:21:21"},"nativeSrc":"88827:21:21","nodeType":"YulExpressionStatement","src":"88827:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29718,"isOffset":false,"isSlot":false,"src":"88368:2:21","valueSize":1},{"declaration":29721,"isOffset":false,"isSlot":false,"src":"88398:2:21","valueSize":1},{"declaration":29724,"isOffset":false,"isSlot":false,"src":"88428:2:21","valueSize":1},{"declaration":29727,"isOffset":false,"isSlot":false,"src":"88458:2:21","valueSize":1},{"declaration":29730,"isOffset":false,"isSlot":false,"src":"88488:2:21","valueSize":1},{"declaration":29733,"isOffset":false,"isSlot":false,"src":"88518:2:21","valueSize":1},{"declaration":29736,"isOffset":false,"isSlot":false,"src":"88548:2:21","valueSize":1},{"declaration":29739,"isOffset":false,"isSlot":false,"src":"88578:2:21","valueSize":1},{"declaration":29710,"isOffset":false,"isSlot":false,"src":"88811:2:21","valueSize":1},{"declaration":29712,"isOffset":false,"isSlot":false,"src":"88845:2:21","valueSize":1},{"declaration":29714,"isOffset":false,"isSlot":false,"src":"88777:2:21","valueSize":1}],"id":29741,"nodeType":"InlineAssembly","src":"87990:868:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"88883:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":29744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"88889:4:21","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":29742,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"88867:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"88867:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29746,"nodeType":"ExpressionStatement","src":"88867:27:21"},{"AST":{"nativeSrc":"88956:243:21","nodeType":"YulBlock","src":"88956:243:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"88977:4:21","nodeType":"YulLiteral","src":"88977:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"88983:2:21","nodeType":"YulIdentifier","src":"88983:2:21"}],"functionName":{"name":"mstore","nativeSrc":"88970:6:21","nodeType":"YulIdentifier","src":"88970:6:21"},"nativeSrc":"88970:16:21","nodeType":"YulFunctionCall","src":"88970:16:21"},"nativeSrc":"88970:16:21","nodeType":"YulExpressionStatement","src":"88970:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89006:4:21","nodeType":"YulLiteral","src":"89006:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"89012:2:21","nodeType":"YulIdentifier","src":"89012:2:21"}],"functionName":{"name":"mstore","nativeSrc":"88999:6:21","nodeType":"YulIdentifier","src":"88999:6:21"},"nativeSrc":"88999:16:21","nodeType":"YulFunctionCall","src":"88999:16:21"},"nativeSrc":"88999:16:21","nodeType":"YulExpressionStatement","src":"88999:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89035:4:21","nodeType":"YulLiteral","src":"89035:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"89041:2:21","nodeType":"YulIdentifier","src":"89041:2:21"}],"functionName":{"name":"mstore","nativeSrc":"89028:6:21","nodeType":"YulIdentifier","src":"89028:6:21"},"nativeSrc":"89028:16:21","nodeType":"YulFunctionCall","src":"89028:16:21"},"nativeSrc":"89028:16:21","nodeType":"YulExpressionStatement","src":"89028:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89064:4:21","nodeType":"YulLiteral","src":"89064:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"89070:2:21","nodeType":"YulIdentifier","src":"89070:2:21"}],"functionName":{"name":"mstore","nativeSrc":"89057:6:21","nodeType":"YulIdentifier","src":"89057:6:21"},"nativeSrc":"89057:16:21","nodeType":"YulFunctionCall","src":"89057:16:21"},"nativeSrc":"89057:16:21","nodeType":"YulExpressionStatement","src":"89057:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89093:4:21","nodeType":"YulLiteral","src":"89093:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"89099:2:21","nodeType":"YulIdentifier","src":"89099:2:21"}],"functionName":{"name":"mstore","nativeSrc":"89086:6:21","nodeType":"YulIdentifier","src":"89086:6:21"},"nativeSrc":"89086:16:21","nodeType":"YulFunctionCall","src":"89086:16:21"},"nativeSrc":"89086:16:21","nodeType":"YulExpressionStatement","src":"89086:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89122:4:21","nodeType":"YulLiteral","src":"89122:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"89128:2:21","nodeType":"YulIdentifier","src":"89128:2:21"}],"functionName":{"name":"mstore","nativeSrc":"89115:6:21","nodeType":"YulIdentifier","src":"89115:6:21"},"nativeSrc":"89115:16:21","nodeType":"YulFunctionCall","src":"89115:16:21"},"nativeSrc":"89115:16:21","nodeType":"YulExpressionStatement","src":"89115:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89151:4:21","nodeType":"YulLiteral","src":"89151:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"89157:2:21","nodeType":"YulIdentifier","src":"89157:2:21"}],"functionName":{"name":"mstore","nativeSrc":"89144:6:21","nodeType":"YulIdentifier","src":"89144:6:21"},"nativeSrc":"89144:16:21","nodeType":"YulFunctionCall","src":"89144:16:21"},"nativeSrc":"89144:16:21","nodeType":"YulExpressionStatement","src":"89144:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89180:4:21","nodeType":"YulLiteral","src":"89180:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"89186:2:21","nodeType":"YulIdentifier","src":"89186:2:21"}],"functionName":{"name":"mstore","nativeSrc":"89173:6:21","nodeType":"YulIdentifier","src":"89173:6:21"},"nativeSrc":"89173:16:21","nodeType":"YulFunctionCall","src":"89173:16:21"},"nativeSrc":"89173:16:21","nodeType":"YulExpressionStatement","src":"89173:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29718,"isOffset":false,"isSlot":false,"src":"88983:2:21","valueSize":1},{"declaration":29721,"isOffset":false,"isSlot":false,"src":"89012:2:21","valueSize":1},{"declaration":29724,"isOffset":false,"isSlot":false,"src":"89041:2:21","valueSize":1},{"declaration":29727,"isOffset":false,"isSlot":false,"src":"89070:2:21","valueSize":1},{"declaration":29730,"isOffset":false,"isSlot":false,"src":"89099:2:21","valueSize":1},{"declaration":29733,"isOffset":false,"isSlot":false,"src":"89128:2:21","valueSize":1},{"declaration":29736,"isOffset":false,"isSlot":false,"src":"89157:2:21","valueSize":1},{"declaration":29739,"isOffset":false,"isSlot":false,"src":"89186:2:21","valueSize":1}],"id":29747,"nodeType":"InlineAssembly","src":"88947:252:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"87723:3:21","parameters":{"id":29715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29710,"mutability":"mutable","name":"p0","nameLocation":"87735:2:21","nodeType":"VariableDeclaration","scope":29749,"src":"87727:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87727:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29712,"mutability":"mutable","name":"p1","nameLocation":"87747:2:21","nodeType":"VariableDeclaration","scope":29749,"src":"87739:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87739:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29714,"mutability":"mutable","name":"p2","nameLocation":"87759:2:21","nodeType":"VariableDeclaration","scope":29749,"src":"87751:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29713,"name":"uint256","nodeType":"ElementaryTypeName","src":"87751:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"87726:36:21"},"returnParameters":{"id":29716,"nodeType":"ParameterList","parameters":[],"src":"87777:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29796,"nodeType":"FunctionDefinition","src":"89211:1690:21","nodes":[],"body":{"id":29795,"nodeType":"Block","src":"89274:1627:21","nodes":[],"statements":[{"assignments":[29759],"declarations":[{"constant":false,"id":29759,"mutability":"mutable","name":"m0","nameLocation":"89292:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89284:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89284:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29760,"nodeType":"VariableDeclarationStatement","src":"89284:10:21"},{"assignments":[29762],"declarations":[{"constant":false,"id":29762,"mutability":"mutable","name":"m1","nameLocation":"89312:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89304:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89304:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29763,"nodeType":"VariableDeclarationStatement","src":"89304:10:21"},{"assignments":[29765],"declarations":[{"constant":false,"id":29765,"mutability":"mutable","name":"m2","nameLocation":"89332:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89324:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89324:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29766,"nodeType":"VariableDeclarationStatement","src":"89324:10:21"},{"assignments":[29768],"declarations":[{"constant":false,"id":29768,"mutability":"mutable","name":"m3","nameLocation":"89352:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89344:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89344:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29769,"nodeType":"VariableDeclarationStatement","src":"89344:10:21"},{"assignments":[29771],"declarations":[{"constant":false,"id":29771,"mutability":"mutable","name":"m4","nameLocation":"89372:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89364:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29770,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89364:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29772,"nodeType":"VariableDeclarationStatement","src":"89364:10:21"},{"assignments":[29774],"declarations":[{"constant":false,"id":29774,"mutability":"mutable","name":"m5","nameLocation":"89392:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89384:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89384:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29775,"nodeType":"VariableDeclarationStatement","src":"89384:10:21"},{"assignments":[29777],"declarations":[{"constant":false,"id":29777,"mutability":"mutable","name":"m6","nameLocation":"89412:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89404:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89404:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29778,"nodeType":"VariableDeclarationStatement","src":"89404:10:21"},{"assignments":[29780],"declarations":[{"constant":false,"id":29780,"mutability":"mutable","name":"m7","nameLocation":"89432:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89424:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89424:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29781,"nodeType":"VariableDeclarationStatement","src":"89424:10:21"},{"assignments":[29783],"declarations":[{"constant":false,"id":29783,"mutability":"mutable","name":"m8","nameLocation":"89452:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89444:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29782,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89444:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29784,"nodeType":"VariableDeclarationStatement","src":"89444:10:21"},{"assignments":[29786],"declarations":[{"constant":false,"id":29786,"mutability":"mutable","name":"m9","nameLocation":"89472:2:21","nodeType":"VariableDeclaration","scope":29795,"src":"89464:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89464:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29787,"nodeType":"VariableDeclarationStatement","src":"89464:10:21"},{"AST":{"nativeSrc":"89536:957:21","nodeType":"YulBlock","src":"89536:957:21","statements":[{"body":{"nativeSrc":"89579:313:21","nodeType":"YulBlock","src":"89579:313:21","statements":[{"nativeSrc":"89597:15:21","nodeType":"YulVariableDeclaration","src":"89597:15:21","value":{"kind":"number","nativeSrc":"89611:1:21","nodeType":"YulLiteral","src":"89611:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"89601:6:21","nodeType":"YulTypedName","src":"89601:6:21","type":""}]},{"body":{"nativeSrc":"89682:40:21","nodeType":"YulBlock","src":"89682:40:21","statements":[{"body":{"nativeSrc":"89711:9:21","nodeType":"YulBlock","src":"89711:9:21","statements":[{"nativeSrc":"89713:5:21","nodeType":"YulBreak","src":"89713:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"89699:6:21","nodeType":"YulIdentifier","src":"89699:6:21"},{"name":"w","nativeSrc":"89707:1:21","nodeType":"YulIdentifier","src":"89707:1:21"}],"functionName":{"name":"byte","nativeSrc":"89694:4:21","nodeType":"YulIdentifier","src":"89694:4:21"},"nativeSrc":"89694:15:21","nodeType":"YulFunctionCall","src":"89694:15:21"}],"functionName":{"name":"iszero","nativeSrc":"89687:6:21","nodeType":"YulIdentifier","src":"89687:6:21"},"nativeSrc":"89687:23:21","nodeType":"YulFunctionCall","src":"89687:23:21"},"nativeSrc":"89684:36:21","nodeType":"YulIf","src":"89684:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"89639:6:21","nodeType":"YulIdentifier","src":"89639:6:21"},{"kind":"number","nativeSrc":"89647:4:21","nodeType":"YulLiteral","src":"89647:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"89636:2:21","nodeType":"YulIdentifier","src":"89636:2:21"},"nativeSrc":"89636:16:21","nodeType":"YulFunctionCall","src":"89636:16:21"},"nativeSrc":"89629:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"89653:28:21","nodeType":"YulBlock","src":"89653:28:21","statements":[{"nativeSrc":"89655:24:21","nodeType":"YulAssignment","src":"89655:24:21","value":{"arguments":[{"name":"length","nativeSrc":"89669:6:21","nodeType":"YulIdentifier","src":"89669:6:21"},{"kind":"number","nativeSrc":"89677:1:21","nodeType":"YulLiteral","src":"89677:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"89665:3:21","nodeType":"YulIdentifier","src":"89665:3:21"},"nativeSrc":"89665:14:21","nodeType":"YulFunctionCall","src":"89665:14:21"},"variableNames":[{"name":"length","nativeSrc":"89655:6:21","nodeType":"YulIdentifier","src":"89655:6:21"}]}]},"pre":{"nativeSrc":"89633:2:21","nodeType":"YulBlock","src":"89633:2:21","statements":[]},"src":"89629:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"89746:3:21","nodeType":"YulIdentifier","src":"89746:3:21"},{"name":"length","nativeSrc":"89751:6:21","nodeType":"YulIdentifier","src":"89751:6:21"}],"functionName":{"name":"mstore","nativeSrc":"89739:6:21","nodeType":"YulIdentifier","src":"89739:6:21"},"nativeSrc":"89739:19:21","nodeType":"YulFunctionCall","src":"89739:19:21"},"nativeSrc":"89739:19:21","nodeType":"YulExpressionStatement","src":"89739:19:21"},{"nativeSrc":"89775:37:21","nodeType":"YulVariableDeclaration","src":"89775:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"89792:3:21","nodeType":"YulLiteral","src":"89792:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"89801:1:21","nodeType":"YulLiteral","src":"89801:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"89804:6:21","nodeType":"YulIdentifier","src":"89804:6:21"}],"functionName":{"name":"shl","nativeSrc":"89797:3:21","nodeType":"YulIdentifier","src":"89797:3:21"},"nativeSrc":"89797:14:21","nodeType":"YulFunctionCall","src":"89797:14:21"}],"functionName":{"name":"sub","nativeSrc":"89788:3:21","nodeType":"YulIdentifier","src":"89788:3:21"},"nativeSrc":"89788:24:21","nodeType":"YulFunctionCall","src":"89788:24:21"},"variables":[{"name":"shift","nativeSrc":"89779:5:21","nodeType":"YulTypedName","src":"89779:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"89840:3:21","nodeType":"YulIdentifier","src":"89840:3:21"},{"kind":"number","nativeSrc":"89845:4:21","nodeType":"YulLiteral","src":"89845:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"89836:3:21","nodeType":"YulIdentifier","src":"89836:3:21"},"nativeSrc":"89836:14:21","nodeType":"YulFunctionCall","src":"89836:14:21"},{"arguments":[{"name":"shift","nativeSrc":"89856:5:21","nodeType":"YulIdentifier","src":"89856:5:21"},{"arguments":[{"name":"shift","nativeSrc":"89867:5:21","nodeType":"YulIdentifier","src":"89867:5:21"},{"name":"w","nativeSrc":"89874:1:21","nodeType":"YulIdentifier","src":"89874:1:21"}],"functionName":{"name":"shr","nativeSrc":"89863:3:21","nodeType":"YulIdentifier","src":"89863:3:21"},"nativeSrc":"89863:13:21","nodeType":"YulFunctionCall","src":"89863:13:21"}],"functionName":{"name":"shl","nativeSrc":"89852:3:21","nodeType":"YulIdentifier","src":"89852:3:21"},"nativeSrc":"89852:25:21","nodeType":"YulFunctionCall","src":"89852:25:21"}],"functionName":{"name":"mstore","nativeSrc":"89829:6:21","nodeType":"YulIdentifier","src":"89829:6:21"},"nativeSrc":"89829:49:21","nodeType":"YulFunctionCall","src":"89829:49:21"},"nativeSrc":"89829:49:21","nodeType":"YulExpressionStatement","src":"89829:49:21"}]},"name":"writeString","nativeSrc":"89550:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"89571:3:21","nodeType":"YulTypedName","src":"89571:3:21","type":""},{"name":"w","nativeSrc":"89576:1:21","nodeType":"YulTypedName","src":"89576:1:21","type":""}],"src":"89550:342:21"},{"nativeSrc":"89905:17:21","nodeType":"YulAssignment","src":"89905:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"89917:4:21","nodeType":"YulLiteral","src":"89917:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"89911:5:21","nodeType":"YulIdentifier","src":"89911:5:21"},"nativeSrc":"89911:11:21","nodeType":"YulFunctionCall","src":"89911:11:21"},"variableNames":[{"name":"m0","nativeSrc":"89905:2:21","nodeType":"YulIdentifier","src":"89905:2:21"}]},{"nativeSrc":"89935:17:21","nodeType":"YulAssignment","src":"89935:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"89947:4:21","nodeType":"YulLiteral","src":"89947:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"89941:5:21","nodeType":"YulIdentifier","src":"89941:5:21"},"nativeSrc":"89941:11:21","nodeType":"YulFunctionCall","src":"89941:11:21"},"variableNames":[{"name":"m1","nativeSrc":"89935:2:21","nodeType":"YulIdentifier","src":"89935:2:21"}]},{"nativeSrc":"89965:17:21","nodeType":"YulAssignment","src":"89965:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"89977:4:21","nodeType":"YulLiteral","src":"89977:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"89971:5:21","nodeType":"YulIdentifier","src":"89971:5:21"},"nativeSrc":"89971:11:21","nodeType":"YulFunctionCall","src":"89971:11:21"},"variableNames":[{"name":"m2","nativeSrc":"89965:2:21","nodeType":"YulIdentifier","src":"89965:2:21"}]},{"nativeSrc":"89995:17:21","nodeType":"YulAssignment","src":"89995:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"90007:4:21","nodeType":"YulLiteral","src":"90007:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"90001:5:21","nodeType":"YulIdentifier","src":"90001:5:21"},"nativeSrc":"90001:11:21","nodeType":"YulFunctionCall","src":"90001:11:21"},"variableNames":[{"name":"m3","nativeSrc":"89995:2:21","nodeType":"YulIdentifier","src":"89995:2:21"}]},{"nativeSrc":"90025:17:21","nodeType":"YulAssignment","src":"90025:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"90037:4:21","nodeType":"YulLiteral","src":"90037:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"90031:5:21","nodeType":"YulIdentifier","src":"90031:5:21"},"nativeSrc":"90031:11:21","nodeType":"YulFunctionCall","src":"90031:11:21"},"variableNames":[{"name":"m4","nativeSrc":"90025:2:21","nodeType":"YulIdentifier","src":"90025:2:21"}]},{"nativeSrc":"90055:17:21","nodeType":"YulAssignment","src":"90055:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"90067:4:21","nodeType":"YulLiteral","src":"90067:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"90061:5:21","nodeType":"YulIdentifier","src":"90061:5:21"},"nativeSrc":"90061:11:21","nodeType":"YulFunctionCall","src":"90061:11:21"},"variableNames":[{"name":"m5","nativeSrc":"90055:2:21","nodeType":"YulIdentifier","src":"90055:2:21"}]},{"nativeSrc":"90085:17:21","nodeType":"YulAssignment","src":"90085:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"90097:4:21","nodeType":"YulLiteral","src":"90097:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"90091:5:21","nodeType":"YulIdentifier","src":"90091:5:21"},"nativeSrc":"90091:11:21","nodeType":"YulFunctionCall","src":"90091:11:21"},"variableNames":[{"name":"m6","nativeSrc":"90085:2:21","nodeType":"YulIdentifier","src":"90085:2:21"}]},{"nativeSrc":"90115:17:21","nodeType":"YulAssignment","src":"90115:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"90127:4:21","nodeType":"YulLiteral","src":"90127:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"90121:5:21","nodeType":"YulIdentifier","src":"90121:5:21"},"nativeSrc":"90121:11:21","nodeType":"YulFunctionCall","src":"90121:11:21"},"variableNames":[{"name":"m7","nativeSrc":"90115:2:21","nodeType":"YulIdentifier","src":"90115:2:21"}]},{"nativeSrc":"90145:18:21","nodeType":"YulAssignment","src":"90145:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"90157:5:21","nodeType":"YulLiteral","src":"90157:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"90151:5:21","nodeType":"YulIdentifier","src":"90151:5:21"},"nativeSrc":"90151:12:21","nodeType":"YulFunctionCall","src":"90151:12:21"},"variableNames":[{"name":"m8","nativeSrc":"90145:2:21","nodeType":"YulIdentifier","src":"90145:2:21"}]},{"nativeSrc":"90176:18:21","nodeType":"YulAssignment","src":"90176:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"90188:5:21","nodeType":"YulLiteral","src":"90188:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"90182:5:21","nodeType":"YulIdentifier","src":"90182:5:21"},"nativeSrc":"90182:12:21","nodeType":"YulFunctionCall","src":"90182:12:21"},"variableNames":[{"name":"m9","nativeSrc":"90176:2:21","nodeType":"YulIdentifier","src":"90176:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90270:4:21","nodeType":"YulLiteral","src":"90270:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"90276:10:21","nodeType":"YulLiteral","src":"90276:10:21","type":"","value":"0x2ced7cef"}],"functionName":{"name":"mstore","nativeSrc":"90263:6:21","nodeType":"YulIdentifier","src":"90263:6:21"},"nativeSrc":"90263:24:21","nodeType":"YulFunctionCall","src":"90263:24:21"},"nativeSrc":"90263:24:21","nodeType":"YulExpressionStatement","src":"90263:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90307:4:21","nodeType":"YulLiteral","src":"90307:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"90313:4:21","nodeType":"YulLiteral","src":"90313:4:21","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"90300:6:21","nodeType":"YulIdentifier","src":"90300:6:21"},"nativeSrc":"90300:18:21","nodeType":"YulFunctionCall","src":"90300:18:21"},"nativeSrc":"90300:18:21","nodeType":"YulExpressionStatement","src":"90300:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90338:4:21","nodeType":"YulLiteral","src":"90338:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"90344:4:21","nodeType":"YulLiteral","src":"90344:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"90331:6:21","nodeType":"YulIdentifier","src":"90331:6:21"},"nativeSrc":"90331:18:21","nodeType":"YulFunctionCall","src":"90331:18:21"},"nativeSrc":"90331:18:21","nodeType":"YulExpressionStatement","src":"90331:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90369:4:21","nodeType":"YulLiteral","src":"90369:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"90375:4:21","nodeType":"YulLiteral","src":"90375:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mstore","nativeSrc":"90362:6:21","nodeType":"YulIdentifier","src":"90362:6:21"},"nativeSrc":"90362:18:21","nodeType":"YulFunctionCall","src":"90362:18:21"},"nativeSrc":"90362:18:21","nodeType":"YulExpressionStatement","src":"90362:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90405:4:21","nodeType":"YulLiteral","src":"90405:4:21","type":"","value":"0x80"},{"name":"p0","nativeSrc":"90411:2:21","nodeType":"YulIdentifier","src":"90411:2:21"}],"functionName":{"name":"writeString","nativeSrc":"90393:11:21","nodeType":"YulIdentifier","src":"90393:11:21"},"nativeSrc":"90393:21:21","nodeType":"YulFunctionCall","src":"90393:21:21"},"nativeSrc":"90393:21:21","nodeType":"YulExpressionStatement","src":"90393:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90439:4:21","nodeType":"YulLiteral","src":"90439:4:21","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"90445:2:21","nodeType":"YulIdentifier","src":"90445:2:21"}],"functionName":{"name":"writeString","nativeSrc":"90427:11:21","nodeType":"YulIdentifier","src":"90427:11:21"},"nativeSrc":"90427:21:21","nodeType":"YulFunctionCall","src":"90427:21:21"},"nativeSrc":"90427:21:21","nodeType":"YulExpressionStatement","src":"90427:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90473:5:21","nodeType":"YulLiteral","src":"90473:5:21","type":"","value":"0x100"},{"name":"p2","nativeSrc":"90480:2:21","nodeType":"YulIdentifier","src":"90480:2:21"}],"functionName":{"name":"writeString","nativeSrc":"90461:11:21","nodeType":"YulIdentifier","src":"90461:11:21"},"nativeSrc":"90461:22:21","nodeType":"YulFunctionCall","src":"90461:22:21"},"nativeSrc":"90461:22:21","nodeType":"YulExpressionStatement","src":"90461:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29759,"isOffset":false,"isSlot":false,"src":"89905:2:21","valueSize":1},{"declaration":29762,"isOffset":false,"isSlot":false,"src":"89935:2:21","valueSize":1},{"declaration":29765,"isOffset":false,"isSlot":false,"src":"89965:2:21","valueSize":1},{"declaration":29768,"isOffset":false,"isSlot":false,"src":"89995:2:21","valueSize":1},{"declaration":29771,"isOffset":false,"isSlot":false,"src":"90025:2:21","valueSize":1},{"declaration":29774,"isOffset":false,"isSlot":false,"src":"90055:2:21","valueSize":1},{"declaration":29777,"isOffset":false,"isSlot":false,"src":"90085:2:21","valueSize":1},{"declaration":29780,"isOffset":false,"isSlot":false,"src":"90115:2:21","valueSize":1},{"declaration":29783,"isOffset":false,"isSlot":false,"src":"90145:2:21","valueSize":1},{"declaration":29786,"isOffset":false,"isSlot":false,"src":"90176:2:21","valueSize":1},{"declaration":29751,"isOffset":false,"isSlot":false,"src":"90411:2:21","valueSize":1},{"declaration":29753,"isOffset":false,"isSlot":false,"src":"90445:2:21","valueSize":1},{"declaration":29755,"isOffset":false,"isSlot":false,"src":"90480:2:21","valueSize":1}],"id":29788,"nodeType":"InlineAssembly","src":"89527:966:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"90518:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313234","id":29791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"90524:5:21","typeDescriptions":{"typeIdentifier":"t_rational_292_by_1","typeString":"int_const 292"},"value":"0x124"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_292_by_1","typeString":"int_const 292"}],"id":29789,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"90502:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"90502:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29793,"nodeType":"ExpressionStatement","src":"90502:28:21"},{"AST":{"nativeSrc":"90592:303:21","nodeType":"YulBlock","src":"90592:303:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"90613:4:21","nodeType":"YulLiteral","src":"90613:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"90619:2:21","nodeType":"YulIdentifier","src":"90619:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90606:6:21","nodeType":"YulIdentifier","src":"90606:6:21"},"nativeSrc":"90606:16:21","nodeType":"YulFunctionCall","src":"90606:16:21"},"nativeSrc":"90606:16:21","nodeType":"YulExpressionStatement","src":"90606:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90642:4:21","nodeType":"YulLiteral","src":"90642:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"90648:2:21","nodeType":"YulIdentifier","src":"90648:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90635:6:21","nodeType":"YulIdentifier","src":"90635:6:21"},"nativeSrc":"90635:16:21","nodeType":"YulFunctionCall","src":"90635:16:21"},"nativeSrc":"90635:16:21","nodeType":"YulExpressionStatement","src":"90635:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90671:4:21","nodeType":"YulLiteral","src":"90671:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"90677:2:21","nodeType":"YulIdentifier","src":"90677:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90664:6:21","nodeType":"YulIdentifier","src":"90664:6:21"},"nativeSrc":"90664:16:21","nodeType":"YulFunctionCall","src":"90664:16:21"},"nativeSrc":"90664:16:21","nodeType":"YulExpressionStatement","src":"90664:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90700:4:21","nodeType":"YulLiteral","src":"90700:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"90706:2:21","nodeType":"YulIdentifier","src":"90706:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90693:6:21","nodeType":"YulIdentifier","src":"90693:6:21"},"nativeSrc":"90693:16:21","nodeType":"YulFunctionCall","src":"90693:16:21"},"nativeSrc":"90693:16:21","nodeType":"YulExpressionStatement","src":"90693:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90729:4:21","nodeType":"YulLiteral","src":"90729:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"90735:2:21","nodeType":"YulIdentifier","src":"90735:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90722:6:21","nodeType":"YulIdentifier","src":"90722:6:21"},"nativeSrc":"90722:16:21","nodeType":"YulFunctionCall","src":"90722:16:21"},"nativeSrc":"90722:16:21","nodeType":"YulExpressionStatement","src":"90722:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90758:4:21","nodeType":"YulLiteral","src":"90758:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"90764:2:21","nodeType":"YulIdentifier","src":"90764:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90751:6:21","nodeType":"YulIdentifier","src":"90751:6:21"},"nativeSrc":"90751:16:21","nodeType":"YulFunctionCall","src":"90751:16:21"},"nativeSrc":"90751:16:21","nodeType":"YulExpressionStatement","src":"90751:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90787:4:21","nodeType":"YulLiteral","src":"90787:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"90793:2:21","nodeType":"YulIdentifier","src":"90793:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90780:6:21","nodeType":"YulIdentifier","src":"90780:6:21"},"nativeSrc":"90780:16:21","nodeType":"YulFunctionCall","src":"90780:16:21"},"nativeSrc":"90780:16:21","nodeType":"YulExpressionStatement","src":"90780:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90816:4:21","nodeType":"YulLiteral","src":"90816:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"90822:2:21","nodeType":"YulIdentifier","src":"90822:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90809:6:21","nodeType":"YulIdentifier","src":"90809:6:21"},"nativeSrc":"90809:16:21","nodeType":"YulFunctionCall","src":"90809:16:21"},"nativeSrc":"90809:16:21","nodeType":"YulExpressionStatement","src":"90809:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90845:5:21","nodeType":"YulLiteral","src":"90845:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"90852:2:21","nodeType":"YulIdentifier","src":"90852:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90838:6:21","nodeType":"YulIdentifier","src":"90838:6:21"},"nativeSrc":"90838:17:21","nodeType":"YulFunctionCall","src":"90838:17:21"},"nativeSrc":"90838:17:21","nodeType":"YulExpressionStatement","src":"90838:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90875:5:21","nodeType":"YulLiteral","src":"90875:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"90882:2:21","nodeType":"YulIdentifier","src":"90882:2:21"}],"functionName":{"name":"mstore","nativeSrc":"90868:6:21","nodeType":"YulIdentifier","src":"90868:6:21"},"nativeSrc":"90868:17:21","nodeType":"YulFunctionCall","src":"90868:17:21"},"nativeSrc":"90868:17:21","nodeType":"YulExpressionStatement","src":"90868:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29759,"isOffset":false,"isSlot":false,"src":"90619:2:21","valueSize":1},{"declaration":29762,"isOffset":false,"isSlot":false,"src":"90648:2:21","valueSize":1},{"declaration":29765,"isOffset":false,"isSlot":false,"src":"90677:2:21","valueSize":1},{"declaration":29768,"isOffset":false,"isSlot":false,"src":"90706:2:21","valueSize":1},{"declaration":29771,"isOffset":false,"isSlot":false,"src":"90735:2:21","valueSize":1},{"declaration":29774,"isOffset":false,"isSlot":false,"src":"90764:2:21","valueSize":1},{"declaration":29777,"isOffset":false,"isSlot":false,"src":"90793:2:21","valueSize":1},{"declaration":29780,"isOffset":false,"isSlot":false,"src":"90822:2:21","valueSize":1},{"declaration":29783,"isOffset":false,"isSlot":false,"src":"90852:2:21","valueSize":1},{"declaration":29786,"isOffset":false,"isSlot":false,"src":"90882:2:21","valueSize":1}],"id":29794,"nodeType":"InlineAssembly","src":"90583:312:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"89220:3:21","parameters":{"id":29756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29751,"mutability":"mutable","name":"p0","nameLocation":"89232:2:21","nodeType":"VariableDeclaration","scope":29796,"src":"89224:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89224:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29753,"mutability":"mutable","name":"p1","nameLocation":"89244:2:21","nodeType":"VariableDeclaration","scope":29796,"src":"89236:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89236:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29755,"mutability":"mutable","name":"p2","nameLocation":"89256:2:21","nodeType":"VariableDeclaration","scope":29796,"src":"89248:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89248:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"89223:36:21"},"returnParameters":{"id":29757,"nodeType":"ParameterList","parameters":[],"src":"89274:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29830,"nodeType":"FunctionDefinition","src":"90907:878:21","nodes":[],"body":{"id":29829,"nodeType":"Block","src":"90982:803:21","nodes":[],"statements":[{"assignments":[29808],"declarations":[{"constant":false,"id":29808,"mutability":"mutable","name":"m0","nameLocation":"91000:2:21","nodeType":"VariableDeclaration","scope":29829,"src":"90992:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"90992:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29809,"nodeType":"VariableDeclarationStatement","src":"90992:10:21"},{"assignments":[29811],"declarations":[{"constant":false,"id":29811,"mutability":"mutable","name":"m1","nameLocation":"91020:2:21","nodeType":"VariableDeclaration","scope":29829,"src":"91012:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29810,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91012:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29812,"nodeType":"VariableDeclarationStatement","src":"91012:10:21"},{"assignments":[29814],"declarations":[{"constant":false,"id":29814,"mutability":"mutable","name":"m2","nameLocation":"91040:2:21","nodeType":"VariableDeclaration","scope":29829,"src":"91032:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91032:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29815,"nodeType":"VariableDeclarationStatement","src":"91032:10:21"},{"assignments":[29817],"declarations":[{"constant":false,"id":29817,"mutability":"mutable","name":"m3","nameLocation":"91060:2:21","nodeType":"VariableDeclaration","scope":29829,"src":"91052:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91052:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29818,"nodeType":"VariableDeclarationStatement","src":"91052:10:21"},{"assignments":[29820],"declarations":[{"constant":false,"id":29820,"mutability":"mutable","name":"m4","nameLocation":"91080:2:21","nodeType":"VariableDeclaration","scope":29829,"src":"91072:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91072:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29821,"nodeType":"VariableDeclarationStatement","src":"91072:10:21"},{"AST":{"nativeSrc":"91144:381:21","nodeType":"YulBlock","src":"91144:381:21","statements":[{"nativeSrc":"91158:17:21","nodeType":"YulAssignment","src":"91158:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"91170:4:21","nodeType":"YulLiteral","src":"91170:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"91164:5:21","nodeType":"YulIdentifier","src":"91164:5:21"},"nativeSrc":"91164:11:21","nodeType":"YulFunctionCall","src":"91164:11:21"},"variableNames":[{"name":"m0","nativeSrc":"91158:2:21","nodeType":"YulIdentifier","src":"91158:2:21"}]},{"nativeSrc":"91188:17:21","nodeType":"YulAssignment","src":"91188:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"91200:4:21","nodeType":"YulLiteral","src":"91200:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"91194:5:21","nodeType":"YulIdentifier","src":"91194:5:21"},"nativeSrc":"91194:11:21","nodeType":"YulFunctionCall","src":"91194:11:21"},"variableNames":[{"name":"m1","nativeSrc":"91188:2:21","nodeType":"YulIdentifier","src":"91188:2:21"}]},{"nativeSrc":"91218:17:21","nodeType":"YulAssignment","src":"91218:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"91230:4:21","nodeType":"YulLiteral","src":"91230:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"91224:5:21","nodeType":"YulIdentifier","src":"91224:5:21"},"nativeSrc":"91224:11:21","nodeType":"YulFunctionCall","src":"91224:11:21"},"variableNames":[{"name":"m2","nativeSrc":"91218:2:21","nodeType":"YulIdentifier","src":"91218:2:21"}]},{"nativeSrc":"91248:17:21","nodeType":"YulAssignment","src":"91248:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"91260:4:21","nodeType":"YulLiteral","src":"91260:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"91254:5:21","nodeType":"YulIdentifier","src":"91254:5:21"},"nativeSrc":"91254:11:21","nodeType":"YulFunctionCall","src":"91254:11:21"},"variableNames":[{"name":"m3","nativeSrc":"91248:2:21","nodeType":"YulIdentifier","src":"91248:2:21"}]},{"nativeSrc":"91278:17:21","nodeType":"YulAssignment","src":"91278:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"91290:4:21","nodeType":"YulLiteral","src":"91290:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"91284:5:21","nodeType":"YulIdentifier","src":"91284:5:21"},"nativeSrc":"91284:11:21","nodeType":"YulFunctionCall","src":"91284:11:21"},"variableNames":[{"name":"m4","nativeSrc":"91278:2:21","nodeType":"YulIdentifier","src":"91278:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91382:4:21","nodeType":"YulLiteral","src":"91382:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"91388:10:21","nodeType":"YulLiteral","src":"91388:10:21","type":"","value":"0x665bf134"}],"functionName":{"name":"mstore","nativeSrc":"91375:6:21","nodeType":"YulIdentifier","src":"91375:6:21"},"nativeSrc":"91375:24:21","nodeType":"YulFunctionCall","src":"91375:24:21"},"nativeSrc":"91375:24:21","nodeType":"YulExpressionStatement","src":"91375:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91419:4:21","nodeType":"YulLiteral","src":"91419:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"91425:2:21","nodeType":"YulIdentifier","src":"91425:2:21"}],"functionName":{"name":"mstore","nativeSrc":"91412:6:21","nodeType":"YulIdentifier","src":"91412:6:21"},"nativeSrc":"91412:16:21","nodeType":"YulFunctionCall","src":"91412:16:21"},"nativeSrc":"91412:16:21","nodeType":"YulExpressionStatement","src":"91412:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91448:4:21","nodeType":"YulLiteral","src":"91448:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"91454:2:21","nodeType":"YulIdentifier","src":"91454:2:21"}],"functionName":{"name":"mstore","nativeSrc":"91441:6:21","nodeType":"YulIdentifier","src":"91441:6:21"},"nativeSrc":"91441:16:21","nodeType":"YulFunctionCall","src":"91441:16:21"},"nativeSrc":"91441:16:21","nodeType":"YulExpressionStatement","src":"91441:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91477:4:21","nodeType":"YulLiteral","src":"91477:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"91483:2:21","nodeType":"YulIdentifier","src":"91483:2:21"}],"functionName":{"name":"mstore","nativeSrc":"91470:6:21","nodeType":"YulIdentifier","src":"91470:6:21"},"nativeSrc":"91470:16:21","nodeType":"YulFunctionCall","src":"91470:16:21"},"nativeSrc":"91470:16:21","nodeType":"YulExpressionStatement","src":"91470:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91506:4:21","nodeType":"YulLiteral","src":"91506:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"91512:2:21","nodeType":"YulIdentifier","src":"91512:2:21"}],"functionName":{"name":"mstore","nativeSrc":"91499:6:21","nodeType":"YulIdentifier","src":"91499:6:21"},"nativeSrc":"91499:16:21","nodeType":"YulFunctionCall","src":"91499:16:21"},"nativeSrc":"91499:16:21","nodeType":"YulExpressionStatement","src":"91499:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29808,"isOffset":false,"isSlot":false,"src":"91158:2:21","valueSize":1},{"declaration":29811,"isOffset":false,"isSlot":false,"src":"91188:2:21","valueSize":1},{"declaration":29814,"isOffset":false,"isSlot":false,"src":"91218:2:21","valueSize":1},{"declaration":29817,"isOffset":false,"isSlot":false,"src":"91248:2:21","valueSize":1},{"declaration":29820,"isOffset":false,"isSlot":false,"src":"91278:2:21","valueSize":1},{"declaration":29798,"isOffset":false,"isSlot":false,"src":"91425:2:21","valueSize":1},{"declaration":29800,"isOffset":false,"isSlot":false,"src":"91454:2:21","valueSize":1},{"declaration":29802,"isOffset":false,"isSlot":false,"src":"91483:2:21","valueSize":1},{"declaration":29804,"isOffset":false,"isSlot":false,"src":"91512:2:21","valueSize":1}],"id":29822,"nodeType":"InlineAssembly","src":"91135:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"91550:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"91556:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29823,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"91534:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"91534:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29827,"nodeType":"ExpressionStatement","src":"91534:27:21"},{"AST":{"nativeSrc":"91623:156:21","nodeType":"YulBlock","src":"91623:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"91644:4:21","nodeType":"YulLiteral","src":"91644:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"91650:2:21","nodeType":"YulIdentifier","src":"91650:2:21"}],"functionName":{"name":"mstore","nativeSrc":"91637:6:21","nodeType":"YulIdentifier","src":"91637:6:21"},"nativeSrc":"91637:16:21","nodeType":"YulFunctionCall","src":"91637:16:21"},"nativeSrc":"91637:16:21","nodeType":"YulExpressionStatement","src":"91637:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91673:4:21","nodeType":"YulLiteral","src":"91673:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"91679:2:21","nodeType":"YulIdentifier","src":"91679:2:21"}],"functionName":{"name":"mstore","nativeSrc":"91666:6:21","nodeType":"YulIdentifier","src":"91666:6:21"},"nativeSrc":"91666:16:21","nodeType":"YulFunctionCall","src":"91666:16:21"},"nativeSrc":"91666:16:21","nodeType":"YulExpressionStatement","src":"91666:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91702:4:21","nodeType":"YulLiteral","src":"91702:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"91708:2:21","nodeType":"YulIdentifier","src":"91708:2:21"}],"functionName":{"name":"mstore","nativeSrc":"91695:6:21","nodeType":"YulIdentifier","src":"91695:6:21"},"nativeSrc":"91695:16:21","nodeType":"YulFunctionCall","src":"91695:16:21"},"nativeSrc":"91695:16:21","nodeType":"YulExpressionStatement","src":"91695:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91731:4:21","nodeType":"YulLiteral","src":"91731:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"91737:2:21","nodeType":"YulIdentifier","src":"91737:2:21"}],"functionName":{"name":"mstore","nativeSrc":"91724:6:21","nodeType":"YulIdentifier","src":"91724:6:21"},"nativeSrc":"91724:16:21","nodeType":"YulFunctionCall","src":"91724:16:21"},"nativeSrc":"91724:16:21","nodeType":"YulExpressionStatement","src":"91724:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91760:4:21","nodeType":"YulLiteral","src":"91760:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"91766:2:21","nodeType":"YulIdentifier","src":"91766:2:21"}],"functionName":{"name":"mstore","nativeSrc":"91753:6:21","nodeType":"YulIdentifier","src":"91753:6:21"},"nativeSrc":"91753:16:21","nodeType":"YulFunctionCall","src":"91753:16:21"},"nativeSrc":"91753:16:21","nodeType":"YulExpressionStatement","src":"91753:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29808,"isOffset":false,"isSlot":false,"src":"91650:2:21","valueSize":1},{"declaration":29811,"isOffset":false,"isSlot":false,"src":"91679:2:21","valueSize":1},{"declaration":29814,"isOffset":false,"isSlot":false,"src":"91708:2:21","valueSize":1},{"declaration":29817,"isOffset":false,"isSlot":false,"src":"91737:2:21","valueSize":1},{"declaration":29820,"isOffset":false,"isSlot":false,"src":"91766:2:21","valueSize":1}],"id":29828,"nodeType":"InlineAssembly","src":"91614:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"90916:3:21","parameters":{"id":29805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29798,"mutability":"mutable","name":"p0","nameLocation":"90928:2:21","nodeType":"VariableDeclaration","scope":29830,"src":"90920:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29797,"name":"address","nodeType":"ElementaryTypeName","src":"90920:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29800,"mutability":"mutable","name":"p1","nameLocation":"90940:2:21","nodeType":"VariableDeclaration","scope":29830,"src":"90932:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29799,"name":"address","nodeType":"ElementaryTypeName","src":"90932:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29802,"mutability":"mutable","name":"p2","nameLocation":"90952:2:21","nodeType":"VariableDeclaration","scope":29830,"src":"90944:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29801,"name":"address","nodeType":"ElementaryTypeName","src":"90944:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29804,"mutability":"mutable","name":"p3","nameLocation":"90964:2:21","nodeType":"VariableDeclaration","scope":29830,"src":"90956:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29803,"name":"address","nodeType":"ElementaryTypeName","src":"90956:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"90919:48:21"},"returnParameters":{"id":29806,"nodeType":"ParameterList","parameters":[],"src":"90982:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29864,"nodeType":"FunctionDefinition","src":"91791:872:21","nodes":[],"body":{"id":29863,"nodeType":"Block","src":"91863:800:21","nodes":[],"statements":[{"assignments":[29842],"declarations":[{"constant":false,"id":29842,"mutability":"mutable","name":"m0","nameLocation":"91881:2:21","nodeType":"VariableDeclaration","scope":29863,"src":"91873:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91873:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29843,"nodeType":"VariableDeclarationStatement","src":"91873:10:21"},{"assignments":[29845],"declarations":[{"constant":false,"id":29845,"mutability":"mutable","name":"m1","nameLocation":"91901:2:21","nodeType":"VariableDeclaration","scope":29863,"src":"91893:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91893:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29846,"nodeType":"VariableDeclarationStatement","src":"91893:10:21"},{"assignments":[29848],"declarations":[{"constant":false,"id":29848,"mutability":"mutable","name":"m2","nameLocation":"91921:2:21","nodeType":"VariableDeclaration","scope":29863,"src":"91913:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91913:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29849,"nodeType":"VariableDeclarationStatement","src":"91913:10:21"},{"assignments":[29851],"declarations":[{"constant":false,"id":29851,"mutability":"mutable","name":"m3","nameLocation":"91941:2:21","nodeType":"VariableDeclaration","scope":29863,"src":"91933:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91933:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29852,"nodeType":"VariableDeclarationStatement","src":"91933:10:21"},{"assignments":[29854],"declarations":[{"constant":false,"id":29854,"mutability":"mutable","name":"m4","nameLocation":"91961:2:21","nodeType":"VariableDeclaration","scope":29863,"src":"91953:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91953:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29855,"nodeType":"VariableDeclarationStatement","src":"91953:10:21"},{"AST":{"nativeSrc":"92025:378:21","nodeType":"YulBlock","src":"92025:378:21","statements":[{"nativeSrc":"92039:17:21","nodeType":"YulAssignment","src":"92039:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"92051:4:21","nodeType":"YulLiteral","src":"92051:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"92045:5:21","nodeType":"YulIdentifier","src":"92045:5:21"},"nativeSrc":"92045:11:21","nodeType":"YulFunctionCall","src":"92045:11:21"},"variableNames":[{"name":"m0","nativeSrc":"92039:2:21","nodeType":"YulIdentifier","src":"92039:2:21"}]},{"nativeSrc":"92069:17:21","nodeType":"YulAssignment","src":"92069:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"92081:4:21","nodeType":"YulLiteral","src":"92081:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"92075:5:21","nodeType":"YulIdentifier","src":"92075:5:21"},"nativeSrc":"92075:11:21","nodeType":"YulFunctionCall","src":"92075:11:21"},"variableNames":[{"name":"m1","nativeSrc":"92069:2:21","nodeType":"YulIdentifier","src":"92069:2:21"}]},{"nativeSrc":"92099:17:21","nodeType":"YulAssignment","src":"92099:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"92111:4:21","nodeType":"YulLiteral","src":"92111:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"92105:5:21","nodeType":"YulIdentifier","src":"92105:5:21"},"nativeSrc":"92105:11:21","nodeType":"YulFunctionCall","src":"92105:11:21"},"variableNames":[{"name":"m2","nativeSrc":"92099:2:21","nodeType":"YulIdentifier","src":"92099:2:21"}]},{"nativeSrc":"92129:17:21","nodeType":"YulAssignment","src":"92129:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"92141:4:21","nodeType":"YulLiteral","src":"92141:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"92135:5:21","nodeType":"YulIdentifier","src":"92135:5:21"},"nativeSrc":"92135:11:21","nodeType":"YulFunctionCall","src":"92135:11:21"},"variableNames":[{"name":"m3","nativeSrc":"92129:2:21","nodeType":"YulIdentifier","src":"92129:2:21"}]},{"nativeSrc":"92159:17:21","nodeType":"YulAssignment","src":"92159:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"92171:4:21","nodeType":"YulLiteral","src":"92171:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"92165:5:21","nodeType":"YulIdentifier","src":"92165:5:21"},"nativeSrc":"92165:11:21","nodeType":"YulFunctionCall","src":"92165:11:21"},"variableNames":[{"name":"m4","nativeSrc":"92159:2:21","nodeType":"YulIdentifier","src":"92159:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92260:4:21","nodeType":"YulLiteral","src":"92260:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"92266:10:21","nodeType":"YulLiteral","src":"92266:10:21","type":"","value":"0x0e378994"}],"functionName":{"name":"mstore","nativeSrc":"92253:6:21","nodeType":"YulIdentifier","src":"92253:6:21"},"nativeSrc":"92253:24:21","nodeType":"YulFunctionCall","src":"92253:24:21"},"nativeSrc":"92253:24:21","nodeType":"YulExpressionStatement","src":"92253:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92297:4:21","nodeType":"YulLiteral","src":"92297:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"92303:2:21","nodeType":"YulIdentifier","src":"92303:2:21"}],"functionName":{"name":"mstore","nativeSrc":"92290:6:21","nodeType":"YulIdentifier","src":"92290:6:21"},"nativeSrc":"92290:16:21","nodeType":"YulFunctionCall","src":"92290:16:21"},"nativeSrc":"92290:16:21","nodeType":"YulExpressionStatement","src":"92290:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92326:4:21","nodeType":"YulLiteral","src":"92326:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"92332:2:21","nodeType":"YulIdentifier","src":"92332:2:21"}],"functionName":{"name":"mstore","nativeSrc":"92319:6:21","nodeType":"YulIdentifier","src":"92319:6:21"},"nativeSrc":"92319:16:21","nodeType":"YulFunctionCall","src":"92319:16:21"},"nativeSrc":"92319:16:21","nodeType":"YulExpressionStatement","src":"92319:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92355:4:21","nodeType":"YulLiteral","src":"92355:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"92361:2:21","nodeType":"YulIdentifier","src":"92361:2:21"}],"functionName":{"name":"mstore","nativeSrc":"92348:6:21","nodeType":"YulIdentifier","src":"92348:6:21"},"nativeSrc":"92348:16:21","nodeType":"YulFunctionCall","src":"92348:16:21"},"nativeSrc":"92348:16:21","nodeType":"YulExpressionStatement","src":"92348:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92384:4:21","nodeType":"YulLiteral","src":"92384:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"92390:2:21","nodeType":"YulIdentifier","src":"92390:2:21"}],"functionName":{"name":"mstore","nativeSrc":"92377:6:21","nodeType":"YulIdentifier","src":"92377:6:21"},"nativeSrc":"92377:16:21","nodeType":"YulFunctionCall","src":"92377:16:21"},"nativeSrc":"92377:16:21","nodeType":"YulExpressionStatement","src":"92377:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29842,"isOffset":false,"isSlot":false,"src":"92039:2:21","valueSize":1},{"declaration":29845,"isOffset":false,"isSlot":false,"src":"92069:2:21","valueSize":1},{"declaration":29848,"isOffset":false,"isSlot":false,"src":"92099:2:21","valueSize":1},{"declaration":29851,"isOffset":false,"isSlot":false,"src":"92129:2:21","valueSize":1},{"declaration":29854,"isOffset":false,"isSlot":false,"src":"92159:2:21","valueSize":1},{"declaration":29832,"isOffset":false,"isSlot":false,"src":"92303:2:21","valueSize":1},{"declaration":29834,"isOffset":false,"isSlot":false,"src":"92332:2:21","valueSize":1},{"declaration":29836,"isOffset":false,"isSlot":false,"src":"92361:2:21","valueSize":1},{"declaration":29838,"isOffset":false,"isSlot":false,"src":"92390:2:21","valueSize":1}],"id":29856,"nodeType":"InlineAssembly","src":"92016:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"92428:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"92434:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29857,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"92412:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"92412:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29861,"nodeType":"ExpressionStatement","src":"92412:27:21"},{"AST":{"nativeSrc":"92501:156:21","nodeType":"YulBlock","src":"92501:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"92522:4:21","nodeType":"YulLiteral","src":"92522:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"92528:2:21","nodeType":"YulIdentifier","src":"92528:2:21"}],"functionName":{"name":"mstore","nativeSrc":"92515:6:21","nodeType":"YulIdentifier","src":"92515:6:21"},"nativeSrc":"92515:16:21","nodeType":"YulFunctionCall","src":"92515:16:21"},"nativeSrc":"92515:16:21","nodeType":"YulExpressionStatement","src":"92515:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92551:4:21","nodeType":"YulLiteral","src":"92551:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"92557:2:21","nodeType":"YulIdentifier","src":"92557:2:21"}],"functionName":{"name":"mstore","nativeSrc":"92544:6:21","nodeType":"YulIdentifier","src":"92544:6:21"},"nativeSrc":"92544:16:21","nodeType":"YulFunctionCall","src":"92544:16:21"},"nativeSrc":"92544:16:21","nodeType":"YulExpressionStatement","src":"92544:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92580:4:21","nodeType":"YulLiteral","src":"92580:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"92586:2:21","nodeType":"YulIdentifier","src":"92586:2:21"}],"functionName":{"name":"mstore","nativeSrc":"92573:6:21","nodeType":"YulIdentifier","src":"92573:6:21"},"nativeSrc":"92573:16:21","nodeType":"YulFunctionCall","src":"92573:16:21"},"nativeSrc":"92573:16:21","nodeType":"YulExpressionStatement","src":"92573:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92609:4:21","nodeType":"YulLiteral","src":"92609:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"92615:2:21","nodeType":"YulIdentifier","src":"92615:2:21"}],"functionName":{"name":"mstore","nativeSrc":"92602:6:21","nodeType":"YulIdentifier","src":"92602:6:21"},"nativeSrc":"92602:16:21","nodeType":"YulFunctionCall","src":"92602:16:21"},"nativeSrc":"92602:16:21","nodeType":"YulExpressionStatement","src":"92602:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92638:4:21","nodeType":"YulLiteral","src":"92638:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"92644:2:21","nodeType":"YulIdentifier","src":"92644:2:21"}],"functionName":{"name":"mstore","nativeSrc":"92631:6:21","nodeType":"YulIdentifier","src":"92631:6:21"},"nativeSrc":"92631:16:21","nodeType":"YulFunctionCall","src":"92631:16:21"},"nativeSrc":"92631:16:21","nodeType":"YulExpressionStatement","src":"92631:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29842,"isOffset":false,"isSlot":false,"src":"92528:2:21","valueSize":1},{"declaration":29845,"isOffset":false,"isSlot":false,"src":"92557:2:21","valueSize":1},{"declaration":29848,"isOffset":false,"isSlot":false,"src":"92586:2:21","valueSize":1},{"declaration":29851,"isOffset":false,"isSlot":false,"src":"92615:2:21","valueSize":1},{"declaration":29854,"isOffset":false,"isSlot":false,"src":"92644:2:21","valueSize":1}],"id":29862,"nodeType":"InlineAssembly","src":"92492:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"91800:3:21","parameters":{"id":29839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29832,"mutability":"mutable","name":"p0","nameLocation":"91812:2:21","nodeType":"VariableDeclaration","scope":29864,"src":"91804:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29831,"name":"address","nodeType":"ElementaryTypeName","src":"91804:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29834,"mutability":"mutable","name":"p1","nameLocation":"91824:2:21","nodeType":"VariableDeclaration","scope":29864,"src":"91816:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29833,"name":"address","nodeType":"ElementaryTypeName","src":"91816:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29836,"mutability":"mutable","name":"p2","nameLocation":"91836:2:21","nodeType":"VariableDeclaration","scope":29864,"src":"91828:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29835,"name":"address","nodeType":"ElementaryTypeName","src":"91828:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29838,"mutability":"mutable","name":"p3","nameLocation":"91845:2:21","nodeType":"VariableDeclaration","scope":29864,"src":"91840:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29837,"name":"bool","nodeType":"ElementaryTypeName","src":"91840:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"91803:45:21"},"returnParameters":{"id":29840,"nodeType":"ParameterList","parameters":[],"src":"91863:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29898,"nodeType":"FunctionDefinition","src":"92669:878:21","nodes":[],"body":{"id":29897,"nodeType":"Block","src":"92744:803:21","nodes":[],"statements":[{"assignments":[29876],"declarations":[{"constant":false,"id":29876,"mutability":"mutable","name":"m0","nameLocation":"92762:2:21","nodeType":"VariableDeclaration","scope":29897,"src":"92754:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92754:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29877,"nodeType":"VariableDeclarationStatement","src":"92754:10:21"},{"assignments":[29879],"declarations":[{"constant":false,"id":29879,"mutability":"mutable","name":"m1","nameLocation":"92782:2:21","nodeType":"VariableDeclaration","scope":29897,"src":"92774:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92774:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29880,"nodeType":"VariableDeclarationStatement","src":"92774:10:21"},{"assignments":[29882],"declarations":[{"constant":false,"id":29882,"mutability":"mutable","name":"m2","nameLocation":"92802:2:21","nodeType":"VariableDeclaration","scope":29897,"src":"92794:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29881,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92794:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29883,"nodeType":"VariableDeclarationStatement","src":"92794:10:21"},{"assignments":[29885],"declarations":[{"constant":false,"id":29885,"mutability":"mutable","name":"m3","nameLocation":"92822:2:21","nodeType":"VariableDeclaration","scope":29897,"src":"92814:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92814:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29886,"nodeType":"VariableDeclarationStatement","src":"92814:10:21"},{"assignments":[29888],"declarations":[{"constant":false,"id":29888,"mutability":"mutable","name":"m4","nameLocation":"92842:2:21","nodeType":"VariableDeclaration","scope":29897,"src":"92834:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92834:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29889,"nodeType":"VariableDeclarationStatement","src":"92834:10:21"},{"AST":{"nativeSrc":"92906:381:21","nodeType":"YulBlock","src":"92906:381:21","statements":[{"nativeSrc":"92920:17:21","nodeType":"YulAssignment","src":"92920:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"92932:4:21","nodeType":"YulLiteral","src":"92932:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"92926:5:21","nodeType":"YulIdentifier","src":"92926:5:21"},"nativeSrc":"92926:11:21","nodeType":"YulFunctionCall","src":"92926:11:21"},"variableNames":[{"name":"m0","nativeSrc":"92920:2:21","nodeType":"YulIdentifier","src":"92920:2:21"}]},{"nativeSrc":"92950:17:21","nodeType":"YulAssignment","src":"92950:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"92962:4:21","nodeType":"YulLiteral","src":"92962:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"92956:5:21","nodeType":"YulIdentifier","src":"92956:5:21"},"nativeSrc":"92956:11:21","nodeType":"YulFunctionCall","src":"92956:11:21"},"variableNames":[{"name":"m1","nativeSrc":"92950:2:21","nodeType":"YulIdentifier","src":"92950:2:21"}]},{"nativeSrc":"92980:17:21","nodeType":"YulAssignment","src":"92980:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"92992:4:21","nodeType":"YulLiteral","src":"92992:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"92986:5:21","nodeType":"YulIdentifier","src":"92986:5:21"},"nativeSrc":"92986:11:21","nodeType":"YulFunctionCall","src":"92986:11:21"},"variableNames":[{"name":"m2","nativeSrc":"92980:2:21","nodeType":"YulIdentifier","src":"92980:2:21"}]},{"nativeSrc":"93010:17:21","nodeType":"YulAssignment","src":"93010:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"93022:4:21","nodeType":"YulLiteral","src":"93022:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"93016:5:21","nodeType":"YulIdentifier","src":"93016:5:21"},"nativeSrc":"93016:11:21","nodeType":"YulFunctionCall","src":"93016:11:21"},"variableNames":[{"name":"m3","nativeSrc":"93010:2:21","nodeType":"YulIdentifier","src":"93010:2:21"}]},{"nativeSrc":"93040:17:21","nodeType":"YulAssignment","src":"93040:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"93052:4:21","nodeType":"YulLiteral","src":"93052:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"93046:5:21","nodeType":"YulIdentifier","src":"93046:5:21"},"nativeSrc":"93046:11:21","nodeType":"YulFunctionCall","src":"93046:11:21"},"variableNames":[{"name":"m4","nativeSrc":"93040:2:21","nodeType":"YulIdentifier","src":"93040:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93144:4:21","nodeType":"YulLiteral","src":"93144:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"93150:10:21","nodeType":"YulLiteral","src":"93150:10:21","type":"","value":"0x94250d77"}],"functionName":{"name":"mstore","nativeSrc":"93137:6:21","nodeType":"YulIdentifier","src":"93137:6:21"},"nativeSrc":"93137:24:21","nodeType":"YulFunctionCall","src":"93137:24:21"},"nativeSrc":"93137:24:21","nodeType":"YulExpressionStatement","src":"93137:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93181:4:21","nodeType":"YulLiteral","src":"93181:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"93187:2:21","nodeType":"YulIdentifier","src":"93187:2:21"}],"functionName":{"name":"mstore","nativeSrc":"93174:6:21","nodeType":"YulIdentifier","src":"93174:6:21"},"nativeSrc":"93174:16:21","nodeType":"YulFunctionCall","src":"93174:16:21"},"nativeSrc":"93174:16:21","nodeType":"YulExpressionStatement","src":"93174:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93210:4:21","nodeType":"YulLiteral","src":"93210:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"93216:2:21","nodeType":"YulIdentifier","src":"93216:2:21"}],"functionName":{"name":"mstore","nativeSrc":"93203:6:21","nodeType":"YulIdentifier","src":"93203:6:21"},"nativeSrc":"93203:16:21","nodeType":"YulFunctionCall","src":"93203:16:21"},"nativeSrc":"93203:16:21","nodeType":"YulExpressionStatement","src":"93203:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93239:4:21","nodeType":"YulLiteral","src":"93239:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"93245:2:21","nodeType":"YulIdentifier","src":"93245:2:21"}],"functionName":{"name":"mstore","nativeSrc":"93232:6:21","nodeType":"YulIdentifier","src":"93232:6:21"},"nativeSrc":"93232:16:21","nodeType":"YulFunctionCall","src":"93232:16:21"},"nativeSrc":"93232:16:21","nodeType":"YulExpressionStatement","src":"93232:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93268:4:21","nodeType":"YulLiteral","src":"93268:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"93274:2:21","nodeType":"YulIdentifier","src":"93274:2:21"}],"functionName":{"name":"mstore","nativeSrc":"93261:6:21","nodeType":"YulIdentifier","src":"93261:6:21"},"nativeSrc":"93261:16:21","nodeType":"YulFunctionCall","src":"93261:16:21"},"nativeSrc":"93261:16:21","nodeType":"YulExpressionStatement","src":"93261:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29876,"isOffset":false,"isSlot":false,"src":"92920:2:21","valueSize":1},{"declaration":29879,"isOffset":false,"isSlot":false,"src":"92950:2:21","valueSize":1},{"declaration":29882,"isOffset":false,"isSlot":false,"src":"92980:2:21","valueSize":1},{"declaration":29885,"isOffset":false,"isSlot":false,"src":"93010:2:21","valueSize":1},{"declaration":29888,"isOffset":false,"isSlot":false,"src":"93040:2:21","valueSize":1},{"declaration":29866,"isOffset":false,"isSlot":false,"src":"93187:2:21","valueSize":1},{"declaration":29868,"isOffset":false,"isSlot":false,"src":"93216:2:21","valueSize":1},{"declaration":29870,"isOffset":false,"isSlot":false,"src":"93245:2:21","valueSize":1},{"declaration":29872,"isOffset":false,"isSlot":false,"src":"93274:2:21","valueSize":1}],"id":29890,"nodeType":"InlineAssembly","src":"92897:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"93312:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"93318:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29891,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"93296:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"93296:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29895,"nodeType":"ExpressionStatement","src":"93296:27:21"},{"AST":{"nativeSrc":"93385:156:21","nodeType":"YulBlock","src":"93385:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"93406:4:21","nodeType":"YulLiteral","src":"93406:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"93412:2:21","nodeType":"YulIdentifier","src":"93412:2:21"}],"functionName":{"name":"mstore","nativeSrc":"93399:6:21","nodeType":"YulIdentifier","src":"93399:6:21"},"nativeSrc":"93399:16:21","nodeType":"YulFunctionCall","src":"93399:16:21"},"nativeSrc":"93399:16:21","nodeType":"YulExpressionStatement","src":"93399:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93435:4:21","nodeType":"YulLiteral","src":"93435:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"93441:2:21","nodeType":"YulIdentifier","src":"93441:2:21"}],"functionName":{"name":"mstore","nativeSrc":"93428:6:21","nodeType":"YulIdentifier","src":"93428:6:21"},"nativeSrc":"93428:16:21","nodeType":"YulFunctionCall","src":"93428:16:21"},"nativeSrc":"93428:16:21","nodeType":"YulExpressionStatement","src":"93428:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93464:4:21","nodeType":"YulLiteral","src":"93464:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"93470:2:21","nodeType":"YulIdentifier","src":"93470:2:21"}],"functionName":{"name":"mstore","nativeSrc":"93457:6:21","nodeType":"YulIdentifier","src":"93457:6:21"},"nativeSrc":"93457:16:21","nodeType":"YulFunctionCall","src":"93457:16:21"},"nativeSrc":"93457:16:21","nodeType":"YulExpressionStatement","src":"93457:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93493:4:21","nodeType":"YulLiteral","src":"93493:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"93499:2:21","nodeType":"YulIdentifier","src":"93499:2:21"}],"functionName":{"name":"mstore","nativeSrc":"93486:6:21","nodeType":"YulIdentifier","src":"93486:6:21"},"nativeSrc":"93486:16:21","nodeType":"YulFunctionCall","src":"93486:16:21"},"nativeSrc":"93486:16:21","nodeType":"YulExpressionStatement","src":"93486:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93522:4:21","nodeType":"YulLiteral","src":"93522:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"93528:2:21","nodeType":"YulIdentifier","src":"93528:2:21"}],"functionName":{"name":"mstore","nativeSrc":"93515:6:21","nodeType":"YulIdentifier","src":"93515:6:21"},"nativeSrc":"93515:16:21","nodeType":"YulFunctionCall","src":"93515:16:21"},"nativeSrc":"93515:16:21","nodeType":"YulExpressionStatement","src":"93515:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29876,"isOffset":false,"isSlot":false,"src":"93412:2:21","valueSize":1},{"declaration":29879,"isOffset":false,"isSlot":false,"src":"93441:2:21","valueSize":1},{"declaration":29882,"isOffset":false,"isSlot":false,"src":"93470:2:21","valueSize":1},{"declaration":29885,"isOffset":false,"isSlot":false,"src":"93499:2:21","valueSize":1},{"declaration":29888,"isOffset":false,"isSlot":false,"src":"93528:2:21","valueSize":1}],"id":29896,"nodeType":"InlineAssembly","src":"93376:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"92678:3:21","parameters":{"id":29873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29866,"mutability":"mutable","name":"p0","nameLocation":"92690:2:21","nodeType":"VariableDeclaration","scope":29898,"src":"92682:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29865,"name":"address","nodeType":"ElementaryTypeName","src":"92682:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29868,"mutability":"mutable","name":"p1","nameLocation":"92702:2:21","nodeType":"VariableDeclaration","scope":29898,"src":"92694:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29867,"name":"address","nodeType":"ElementaryTypeName","src":"92694:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29870,"mutability":"mutable","name":"p2","nameLocation":"92714:2:21","nodeType":"VariableDeclaration","scope":29898,"src":"92706:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29869,"name":"address","nodeType":"ElementaryTypeName","src":"92706:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29872,"mutability":"mutable","name":"p3","nameLocation":"92726:2:21","nodeType":"VariableDeclaration","scope":29898,"src":"92718:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29871,"name":"uint256","nodeType":"ElementaryTypeName","src":"92718:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"92681:48:21"},"returnParameters":{"id":29874,"nodeType":"ParameterList","parameters":[],"src":"92744:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29938,"nodeType":"FunctionDefinition","src":"93553:1426:21","nodes":[],"body":{"id":29937,"nodeType":"Block","src":"93628:1351:21","nodes":[],"statements":[{"assignments":[29910],"declarations":[{"constant":false,"id":29910,"mutability":"mutable","name":"m0","nameLocation":"93646:2:21","nodeType":"VariableDeclaration","scope":29937,"src":"93638:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93638:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29911,"nodeType":"VariableDeclarationStatement","src":"93638:10:21"},{"assignments":[29913],"declarations":[{"constant":false,"id":29913,"mutability":"mutable","name":"m1","nameLocation":"93666:2:21","nodeType":"VariableDeclaration","scope":29937,"src":"93658:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93658:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29914,"nodeType":"VariableDeclarationStatement","src":"93658:10:21"},{"assignments":[29916],"declarations":[{"constant":false,"id":29916,"mutability":"mutable","name":"m2","nameLocation":"93686:2:21","nodeType":"VariableDeclaration","scope":29937,"src":"93678:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93678:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29917,"nodeType":"VariableDeclarationStatement","src":"93678:10:21"},{"assignments":[29919],"declarations":[{"constant":false,"id":29919,"mutability":"mutable","name":"m3","nameLocation":"93706:2:21","nodeType":"VariableDeclaration","scope":29937,"src":"93698:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29918,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93698:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29920,"nodeType":"VariableDeclarationStatement","src":"93698:10:21"},{"assignments":[29922],"declarations":[{"constant":false,"id":29922,"mutability":"mutable","name":"m4","nameLocation":"93726:2:21","nodeType":"VariableDeclaration","scope":29937,"src":"93718:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29921,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93718:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29923,"nodeType":"VariableDeclarationStatement","src":"93718:10:21"},{"assignments":[29925],"declarations":[{"constant":false,"id":29925,"mutability":"mutable","name":"m5","nameLocation":"93746:2:21","nodeType":"VariableDeclaration","scope":29937,"src":"93738:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93738:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29926,"nodeType":"VariableDeclarationStatement","src":"93738:10:21"},{"assignments":[29928],"declarations":[{"constant":false,"id":29928,"mutability":"mutable","name":"m6","nameLocation":"93766:2:21","nodeType":"VariableDeclaration","scope":29937,"src":"93758:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93758:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29929,"nodeType":"VariableDeclarationStatement","src":"93758:10:21"},{"AST":{"nativeSrc":"93830:831:21","nodeType":"YulBlock","src":"93830:831:21","statements":[{"body":{"nativeSrc":"93873:313:21","nodeType":"YulBlock","src":"93873:313:21","statements":[{"nativeSrc":"93891:15:21","nodeType":"YulVariableDeclaration","src":"93891:15:21","value":{"kind":"number","nativeSrc":"93905:1:21","nodeType":"YulLiteral","src":"93905:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"93895:6:21","nodeType":"YulTypedName","src":"93895:6:21","type":""}]},{"body":{"nativeSrc":"93976:40:21","nodeType":"YulBlock","src":"93976:40:21","statements":[{"body":{"nativeSrc":"94005:9:21","nodeType":"YulBlock","src":"94005:9:21","statements":[{"nativeSrc":"94007:5:21","nodeType":"YulBreak","src":"94007:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"93993:6:21","nodeType":"YulIdentifier","src":"93993:6:21"},{"name":"w","nativeSrc":"94001:1:21","nodeType":"YulIdentifier","src":"94001:1:21"}],"functionName":{"name":"byte","nativeSrc":"93988:4:21","nodeType":"YulIdentifier","src":"93988:4:21"},"nativeSrc":"93988:15:21","nodeType":"YulFunctionCall","src":"93988:15:21"}],"functionName":{"name":"iszero","nativeSrc":"93981:6:21","nodeType":"YulIdentifier","src":"93981:6:21"},"nativeSrc":"93981:23:21","nodeType":"YulFunctionCall","src":"93981:23:21"},"nativeSrc":"93978:36:21","nodeType":"YulIf","src":"93978:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"93933:6:21","nodeType":"YulIdentifier","src":"93933:6:21"},{"kind":"number","nativeSrc":"93941:4:21","nodeType":"YulLiteral","src":"93941:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"93930:2:21","nodeType":"YulIdentifier","src":"93930:2:21"},"nativeSrc":"93930:16:21","nodeType":"YulFunctionCall","src":"93930:16:21"},"nativeSrc":"93923:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"93947:28:21","nodeType":"YulBlock","src":"93947:28:21","statements":[{"nativeSrc":"93949:24:21","nodeType":"YulAssignment","src":"93949:24:21","value":{"arguments":[{"name":"length","nativeSrc":"93963:6:21","nodeType":"YulIdentifier","src":"93963:6:21"},{"kind":"number","nativeSrc":"93971:1:21","nodeType":"YulLiteral","src":"93971:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"93959:3:21","nodeType":"YulIdentifier","src":"93959:3:21"},"nativeSrc":"93959:14:21","nodeType":"YulFunctionCall","src":"93959:14:21"},"variableNames":[{"name":"length","nativeSrc":"93949:6:21","nodeType":"YulIdentifier","src":"93949:6:21"}]}]},"pre":{"nativeSrc":"93927:2:21","nodeType":"YulBlock","src":"93927:2:21","statements":[]},"src":"93923:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"94040:3:21","nodeType":"YulIdentifier","src":"94040:3:21"},{"name":"length","nativeSrc":"94045:6:21","nodeType":"YulIdentifier","src":"94045:6:21"}],"functionName":{"name":"mstore","nativeSrc":"94033:6:21","nodeType":"YulIdentifier","src":"94033:6:21"},"nativeSrc":"94033:19:21","nodeType":"YulFunctionCall","src":"94033:19:21"},"nativeSrc":"94033:19:21","nodeType":"YulExpressionStatement","src":"94033:19:21"},{"nativeSrc":"94069:37:21","nodeType":"YulVariableDeclaration","src":"94069:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"94086:3:21","nodeType":"YulLiteral","src":"94086:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"94095:1:21","nodeType":"YulLiteral","src":"94095:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"94098:6:21","nodeType":"YulIdentifier","src":"94098:6:21"}],"functionName":{"name":"shl","nativeSrc":"94091:3:21","nodeType":"YulIdentifier","src":"94091:3:21"},"nativeSrc":"94091:14:21","nodeType":"YulFunctionCall","src":"94091:14:21"}],"functionName":{"name":"sub","nativeSrc":"94082:3:21","nodeType":"YulIdentifier","src":"94082:3:21"},"nativeSrc":"94082:24:21","nodeType":"YulFunctionCall","src":"94082:24:21"},"variables":[{"name":"shift","nativeSrc":"94073:5:21","nodeType":"YulTypedName","src":"94073:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"94134:3:21","nodeType":"YulIdentifier","src":"94134:3:21"},{"kind":"number","nativeSrc":"94139:4:21","nodeType":"YulLiteral","src":"94139:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"94130:3:21","nodeType":"YulIdentifier","src":"94130:3:21"},"nativeSrc":"94130:14:21","nodeType":"YulFunctionCall","src":"94130:14:21"},{"arguments":[{"name":"shift","nativeSrc":"94150:5:21","nodeType":"YulIdentifier","src":"94150:5:21"},{"arguments":[{"name":"shift","nativeSrc":"94161:5:21","nodeType":"YulIdentifier","src":"94161:5:21"},{"name":"w","nativeSrc":"94168:1:21","nodeType":"YulIdentifier","src":"94168:1:21"}],"functionName":{"name":"shr","nativeSrc":"94157:3:21","nodeType":"YulIdentifier","src":"94157:3:21"},"nativeSrc":"94157:13:21","nodeType":"YulFunctionCall","src":"94157:13:21"}],"functionName":{"name":"shl","nativeSrc":"94146:3:21","nodeType":"YulIdentifier","src":"94146:3:21"},"nativeSrc":"94146:25:21","nodeType":"YulFunctionCall","src":"94146:25:21"}],"functionName":{"name":"mstore","nativeSrc":"94123:6:21","nodeType":"YulIdentifier","src":"94123:6:21"},"nativeSrc":"94123:49:21","nodeType":"YulFunctionCall","src":"94123:49:21"},"nativeSrc":"94123:49:21","nodeType":"YulExpressionStatement","src":"94123:49:21"}]},"name":"writeString","nativeSrc":"93844:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"93865:3:21","nodeType":"YulTypedName","src":"93865:3:21","type":""},{"name":"w","nativeSrc":"93870:1:21","nodeType":"YulTypedName","src":"93870:1:21","type":""}],"src":"93844:342:21"},{"nativeSrc":"94199:17:21","nodeType":"YulAssignment","src":"94199:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"94211:4:21","nodeType":"YulLiteral","src":"94211:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"94205:5:21","nodeType":"YulIdentifier","src":"94205:5:21"},"nativeSrc":"94205:11:21","nodeType":"YulFunctionCall","src":"94205:11:21"},"variableNames":[{"name":"m0","nativeSrc":"94199:2:21","nodeType":"YulIdentifier","src":"94199:2:21"}]},{"nativeSrc":"94229:17:21","nodeType":"YulAssignment","src":"94229:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"94241:4:21","nodeType":"YulLiteral","src":"94241:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"94235:5:21","nodeType":"YulIdentifier","src":"94235:5:21"},"nativeSrc":"94235:11:21","nodeType":"YulFunctionCall","src":"94235:11:21"},"variableNames":[{"name":"m1","nativeSrc":"94229:2:21","nodeType":"YulIdentifier","src":"94229:2:21"}]},{"nativeSrc":"94259:17:21","nodeType":"YulAssignment","src":"94259:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"94271:4:21","nodeType":"YulLiteral","src":"94271:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"94265:5:21","nodeType":"YulIdentifier","src":"94265:5:21"},"nativeSrc":"94265:11:21","nodeType":"YulFunctionCall","src":"94265:11:21"},"variableNames":[{"name":"m2","nativeSrc":"94259:2:21","nodeType":"YulIdentifier","src":"94259:2:21"}]},{"nativeSrc":"94289:17:21","nodeType":"YulAssignment","src":"94289:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"94301:4:21","nodeType":"YulLiteral","src":"94301:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"94295:5:21","nodeType":"YulIdentifier","src":"94295:5:21"},"nativeSrc":"94295:11:21","nodeType":"YulFunctionCall","src":"94295:11:21"},"variableNames":[{"name":"m3","nativeSrc":"94289:2:21","nodeType":"YulIdentifier","src":"94289:2:21"}]},{"nativeSrc":"94319:17:21","nodeType":"YulAssignment","src":"94319:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"94331:4:21","nodeType":"YulLiteral","src":"94331:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"94325:5:21","nodeType":"YulIdentifier","src":"94325:5:21"},"nativeSrc":"94325:11:21","nodeType":"YulFunctionCall","src":"94325:11:21"},"variableNames":[{"name":"m4","nativeSrc":"94319:2:21","nodeType":"YulIdentifier","src":"94319:2:21"}]},{"nativeSrc":"94349:17:21","nodeType":"YulAssignment","src":"94349:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"94361:4:21","nodeType":"YulLiteral","src":"94361:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"94355:5:21","nodeType":"YulIdentifier","src":"94355:5:21"},"nativeSrc":"94355:11:21","nodeType":"YulFunctionCall","src":"94355:11:21"},"variableNames":[{"name":"m5","nativeSrc":"94349:2:21","nodeType":"YulIdentifier","src":"94349:2:21"}]},{"nativeSrc":"94379:17:21","nodeType":"YulAssignment","src":"94379:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"94391:4:21","nodeType":"YulLiteral","src":"94391:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"94385:5:21","nodeType":"YulIdentifier","src":"94385:5:21"},"nativeSrc":"94385:11:21","nodeType":"YulFunctionCall","src":"94385:11:21"},"variableNames":[{"name":"m6","nativeSrc":"94379:2:21","nodeType":"YulIdentifier","src":"94379:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94482:4:21","nodeType":"YulLiteral","src":"94482:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"94488:10:21","nodeType":"YulLiteral","src":"94488:10:21","type":"","value":"0xf808da20"}],"functionName":{"name":"mstore","nativeSrc":"94475:6:21","nodeType":"YulIdentifier","src":"94475:6:21"},"nativeSrc":"94475:24:21","nodeType":"YulFunctionCall","src":"94475:24:21"},"nativeSrc":"94475:24:21","nodeType":"YulExpressionStatement","src":"94475:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94519:4:21","nodeType":"YulLiteral","src":"94519:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"94525:2:21","nodeType":"YulIdentifier","src":"94525:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94512:6:21","nodeType":"YulIdentifier","src":"94512:6:21"},"nativeSrc":"94512:16:21","nodeType":"YulFunctionCall","src":"94512:16:21"},"nativeSrc":"94512:16:21","nodeType":"YulExpressionStatement","src":"94512:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94548:4:21","nodeType":"YulLiteral","src":"94548:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"94554:2:21","nodeType":"YulIdentifier","src":"94554:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94541:6:21","nodeType":"YulIdentifier","src":"94541:6:21"},"nativeSrc":"94541:16:21","nodeType":"YulFunctionCall","src":"94541:16:21"},"nativeSrc":"94541:16:21","nodeType":"YulExpressionStatement","src":"94541:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94577:4:21","nodeType":"YulLiteral","src":"94577:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"94583:2:21","nodeType":"YulIdentifier","src":"94583:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94570:6:21","nodeType":"YulIdentifier","src":"94570:6:21"},"nativeSrc":"94570:16:21","nodeType":"YulFunctionCall","src":"94570:16:21"},"nativeSrc":"94570:16:21","nodeType":"YulExpressionStatement","src":"94570:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94606:4:21","nodeType":"YulLiteral","src":"94606:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"94612:4:21","nodeType":"YulLiteral","src":"94612:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"94599:6:21","nodeType":"YulIdentifier","src":"94599:6:21"},"nativeSrc":"94599:18:21","nodeType":"YulFunctionCall","src":"94599:18:21"},"nativeSrc":"94599:18:21","nodeType":"YulExpressionStatement","src":"94599:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94642:4:21","nodeType":"YulLiteral","src":"94642:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"94648:2:21","nodeType":"YulIdentifier","src":"94648:2:21"}],"functionName":{"name":"writeString","nativeSrc":"94630:11:21","nodeType":"YulIdentifier","src":"94630:11:21"},"nativeSrc":"94630:21:21","nodeType":"YulFunctionCall","src":"94630:21:21"},"nativeSrc":"94630:21:21","nodeType":"YulExpressionStatement","src":"94630:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29910,"isOffset":false,"isSlot":false,"src":"94199:2:21","valueSize":1},{"declaration":29913,"isOffset":false,"isSlot":false,"src":"94229:2:21","valueSize":1},{"declaration":29916,"isOffset":false,"isSlot":false,"src":"94259:2:21","valueSize":1},{"declaration":29919,"isOffset":false,"isSlot":false,"src":"94289:2:21","valueSize":1},{"declaration":29922,"isOffset":false,"isSlot":false,"src":"94319:2:21","valueSize":1},{"declaration":29925,"isOffset":false,"isSlot":false,"src":"94349:2:21","valueSize":1},{"declaration":29928,"isOffset":false,"isSlot":false,"src":"94379:2:21","valueSize":1},{"declaration":29900,"isOffset":false,"isSlot":false,"src":"94525:2:21","valueSize":1},{"declaration":29902,"isOffset":false,"isSlot":false,"src":"94554:2:21","valueSize":1},{"declaration":29904,"isOffset":false,"isSlot":false,"src":"94583:2:21","valueSize":1},{"declaration":29906,"isOffset":false,"isSlot":false,"src":"94648:2:21","valueSize":1}],"id":29930,"nodeType":"InlineAssembly","src":"93821:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"94686:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":29933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"94692:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":29931,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"94670:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"94670:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29935,"nodeType":"ExpressionStatement","src":"94670:27:21"},{"AST":{"nativeSrc":"94759:214:21","nodeType":"YulBlock","src":"94759:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"94780:4:21","nodeType":"YulLiteral","src":"94780:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"94786:2:21","nodeType":"YulIdentifier","src":"94786:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94773:6:21","nodeType":"YulIdentifier","src":"94773:6:21"},"nativeSrc":"94773:16:21","nodeType":"YulFunctionCall","src":"94773:16:21"},"nativeSrc":"94773:16:21","nodeType":"YulExpressionStatement","src":"94773:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94809:4:21","nodeType":"YulLiteral","src":"94809:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"94815:2:21","nodeType":"YulIdentifier","src":"94815:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94802:6:21","nodeType":"YulIdentifier","src":"94802:6:21"},"nativeSrc":"94802:16:21","nodeType":"YulFunctionCall","src":"94802:16:21"},"nativeSrc":"94802:16:21","nodeType":"YulExpressionStatement","src":"94802:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94838:4:21","nodeType":"YulLiteral","src":"94838:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"94844:2:21","nodeType":"YulIdentifier","src":"94844:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94831:6:21","nodeType":"YulIdentifier","src":"94831:6:21"},"nativeSrc":"94831:16:21","nodeType":"YulFunctionCall","src":"94831:16:21"},"nativeSrc":"94831:16:21","nodeType":"YulExpressionStatement","src":"94831:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94867:4:21","nodeType":"YulLiteral","src":"94867:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"94873:2:21","nodeType":"YulIdentifier","src":"94873:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94860:6:21","nodeType":"YulIdentifier","src":"94860:6:21"},"nativeSrc":"94860:16:21","nodeType":"YulFunctionCall","src":"94860:16:21"},"nativeSrc":"94860:16:21","nodeType":"YulExpressionStatement","src":"94860:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94896:4:21","nodeType":"YulLiteral","src":"94896:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"94902:2:21","nodeType":"YulIdentifier","src":"94902:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94889:6:21","nodeType":"YulIdentifier","src":"94889:6:21"},"nativeSrc":"94889:16:21","nodeType":"YulFunctionCall","src":"94889:16:21"},"nativeSrc":"94889:16:21","nodeType":"YulExpressionStatement","src":"94889:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94925:4:21","nodeType":"YulLiteral","src":"94925:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"94931:2:21","nodeType":"YulIdentifier","src":"94931:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94918:6:21","nodeType":"YulIdentifier","src":"94918:6:21"},"nativeSrc":"94918:16:21","nodeType":"YulFunctionCall","src":"94918:16:21"},"nativeSrc":"94918:16:21","nodeType":"YulExpressionStatement","src":"94918:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94954:4:21","nodeType":"YulLiteral","src":"94954:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"94960:2:21","nodeType":"YulIdentifier","src":"94960:2:21"}],"functionName":{"name":"mstore","nativeSrc":"94947:6:21","nodeType":"YulIdentifier","src":"94947:6:21"},"nativeSrc":"94947:16:21","nodeType":"YulFunctionCall","src":"94947:16:21"},"nativeSrc":"94947:16:21","nodeType":"YulExpressionStatement","src":"94947:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29910,"isOffset":false,"isSlot":false,"src":"94786:2:21","valueSize":1},{"declaration":29913,"isOffset":false,"isSlot":false,"src":"94815:2:21","valueSize":1},{"declaration":29916,"isOffset":false,"isSlot":false,"src":"94844:2:21","valueSize":1},{"declaration":29919,"isOffset":false,"isSlot":false,"src":"94873:2:21","valueSize":1},{"declaration":29922,"isOffset":false,"isSlot":false,"src":"94902:2:21","valueSize":1},{"declaration":29925,"isOffset":false,"isSlot":false,"src":"94931:2:21","valueSize":1},{"declaration":29928,"isOffset":false,"isSlot":false,"src":"94960:2:21","valueSize":1}],"id":29936,"nodeType":"InlineAssembly","src":"94750:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"93562:3:21","parameters":{"id":29907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29900,"mutability":"mutable","name":"p0","nameLocation":"93574:2:21","nodeType":"VariableDeclaration","scope":29938,"src":"93566:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29899,"name":"address","nodeType":"ElementaryTypeName","src":"93566:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29902,"mutability":"mutable","name":"p1","nameLocation":"93586:2:21","nodeType":"VariableDeclaration","scope":29938,"src":"93578:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29901,"name":"address","nodeType":"ElementaryTypeName","src":"93578:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29904,"mutability":"mutable","name":"p2","nameLocation":"93598:2:21","nodeType":"VariableDeclaration","scope":29938,"src":"93590:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29903,"name":"address","nodeType":"ElementaryTypeName","src":"93590:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29906,"mutability":"mutable","name":"p3","nameLocation":"93610:2:21","nodeType":"VariableDeclaration","scope":29938,"src":"93602:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93602:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"93565:48:21"},"returnParameters":{"id":29908,"nodeType":"ParameterList","parameters":[],"src":"93628:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29972,"nodeType":"FunctionDefinition","src":"94985:872:21","nodes":[],"body":{"id":29971,"nodeType":"Block","src":"95057:800:21","nodes":[],"statements":[{"assignments":[29950],"declarations":[{"constant":false,"id":29950,"mutability":"mutable","name":"m0","nameLocation":"95075:2:21","nodeType":"VariableDeclaration","scope":29971,"src":"95067:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95067:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29951,"nodeType":"VariableDeclarationStatement","src":"95067:10:21"},{"assignments":[29953],"declarations":[{"constant":false,"id":29953,"mutability":"mutable","name":"m1","nameLocation":"95095:2:21","nodeType":"VariableDeclaration","scope":29971,"src":"95087:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95087:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29954,"nodeType":"VariableDeclarationStatement","src":"95087:10:21"},{"assignments":[29956],"declarations":[{"constant":false,"id":29956,"mutability":"mutable","name":"m2","nameLocation":"95115:2:21","nodeType":"VariableDeclaration","scope":29971,"src":"95107:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95107:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29957,"nodeType":"VariableDeclarationStatement","src":"95107:10:21"},{"assignments":[29959],"declarations":[{"constant":false,"id":29959,"mutability":"mutable","name":"m3","nameLocation":"95135:2:21","nodeType":"VariableDeclaration","scope":29971,"src":"95127:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95127:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29960,"nodeType":"VariableDeclarationStatement","src":"95127:10:21"},{"assignments":[29962],"declarations":[{"constant":false,"id":29962,"mutability":"mutable","name":"m4","nameLocation":"95155:2:21","nodeType":"VariableDeclaration","scope":29971,"src":"95147:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95147:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29963,"nodeType":"VariableDeclarationStatement","src":"95147:10:21"},{"AST":{"nativeSrc":"95219:378:21","nodeType":"YulBlock","src":"95219:378:21","statements":[{"nativeSrc":"95233:17:21","nodeType":"YulAssignment","src":"95233:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"95245:4:21","nodeType":"YulLiteral","src":"95245:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"95239:5:21","nodeType":"YulIdentifier","src":"95239:5:21"},"nativeSrc":"95239:11:21","nodeType":"YulFunctionCall","src":"95239:11:21"},"variableNames":[{"name":"m0","nativeSrc":"95233:2:21","nodeType":"YulIdentifier","src":"95233:2:21"}]},{"nativeSrc":"95263:17:21","nodeType":"YulAssignment","src":"95263:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"95275:4:21","nodeType":"YulLiteral","src":"95275:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"95269:5:21","nodeType":"YulIdentifier","src":"95269:5:21"},"nativeSrc":"95269:11:21","nodeType":"YulFunctionCall","src":"95269:11:21"},"variableNames":[{"name":"m1","nativeSrc":"95263:2:21","nodeType":"YulIdentifier","src":"95263:2:21"}]},{"nativeSrc":"95293:17:21","nodeType":"YulAssignment","src":"95293:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"95305:4:21","nodeType":"YulLiteral","src":"95305:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"95299:5:21","nodeType":"YulIdentifier","src":"95299:5:21"},"nativeSrc":"95299:11:21","nodeType":"YulFunctionCall","src":"95299:11:21"},"variableNames":[{"name":"m2","nativeSrc":"95293:2:21","nodeType":"YulIdentifier","src":"95293:2:21"}]},{"nativeSrc":"95323:17:21","nodeType":"YulAssignment","src":"95323:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"95335:4:21","nodeType":"YulLiteral","src":"95335:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"95329:5:21","nodeType":"YulIdentifier","src":"95329:5:21"},"nativeSrc":"95329:11:21","nodeType":"YulFunctionCall","src":"95329:11:21"},"variableNames":[{"name":"m3","nativeSrc":"95323:2:21","nodeType":"YulIdentifier","src":"95323:2:21"}]},{"nativeSrc":"95353:17:21","nodeType":"YulAssignment","src":"95353:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"95365:4:21","nodeType":"YulLiteral","src":"95365:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"95359:5:21","nodeType":"YulIdentifier","src":"95359:5:21"},"nativeSrc":"95359:11:21","nodeType":"YulFunctionCall","src":"95359:11:21"},"variableNames":[{"name":"m4","nativeSrc":"95353:2:21","nodeType":"YulIdentifier","src":"95353:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95454:4:21","nodeType":"YulLiteral","src":"95454:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"95460:10:21","nodeType":"YulLiteral","src":"95460:10:21","type":"","value":"0x9f1bc36e"}],"functionName":{"name":"mstore","nativeSrc":"95447:6:21","nodeType":"YulIdentifier","src":"95447:6:21"},"nativeSrc":"95447:24:21","nodeType":"YulFunctionCall","src":"95447:24:21"},"nativeSrc":"95447:24:21","nodeType":"YulExpressionStatement","src":"95447:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95491:4:21","nodeType":"YulLiteral","src":"95491:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"95497:2:21","nodeType":"YulIdentifier","src":"95497:2:21"}],"functionName":{"name":"mstore","nativeSrc":"95484:6:21","nodeType":"YulIdentifier","src":"95484:6:21"},"nativeSrc":"95484:16:21","nodeType":"YulFunctionCall","src":"95484:16:21"},"nativeSrc":"95484:16:21","nodeType":"YulExpressionStatement","src":"95484:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95520:4:21","nodeType":"YulLiteral","src":"95520:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"95526:2:21","nodeType":"YulIdentifier","src":"95526:2:21"}],"functionName":{"name":"mstore","nativeSrc":"95513:6:21","nodeType":"YulIdentifier","src":"95513:6:21"},"nativeSrc":"95513:16:21","nodeType":"YulFunctionCall","src":"95513:16:21"},"nativeSrc":"95513:16:21","nodeType":"YulExpressionStatement","src":"95513:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95549:4:21","nodeType":"YulLiteral","src":"95549:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"95555:2:21","nodeType":"YulIdentifier","src":"95555:2:21"}],"functionName":{"name":"mstore","nativeSrc":"95542:6:21","nodeType":"YulIdentifier","src":"95542:6:21"},"nativeSrc":"95542:16:21","nodeType":"YulFunctionCall","src":"95542:16:21"},"nativeSrc":"95542:16:21","nodeType":"YulExpressionStatement","src":"95542:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95578:4:21","nodeType":"YulLiteral","src":"95578:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"95584:2:21","nodeType":"YulIdentifier","src":"95584:2:21"}],"functionName":{"name":"mstore","nativeSrc":"95571:6:21","nodeType":"YulIdentifier","src":"95571:6:21"},"nativeSrc":"95571:16:21","nodeType":"YulFunctionCall","src":"95571:16:21"},"nativeSrc":"95571:16:21","nodeType":"YulExpressionStatement","src":"95571:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29950,"isOffset":false,"isSlot":false,"src":"95233:2:21","valueSize":1},{"declaration":29953,"isOffset":false,"isSlot":false,"src":"95263:2:21","valueSize":1},{"declaration":29956,"isOffset":false,"isSlot":false,"src":"95293:2:21","valueSize":1},{"declaration":29959,"isOffset":false,"isSlot":false,"src":"95323:2:21","valueSize":1},{"declaration":29962,"isOffset":false,"isSlot":false,"src":"95353:2:21","valueSize":1},{"declaration":29940,"isOffset":false,"isSlot":false,"src":"95497:2:21","valueSize":1},{"declaration":29942,"isOffset":false,"isSlot":false,"src":"95526:2:21","valueSize":1},{"declaration":29944,"isOffset":false,"isSlot":false,"src":"95555:2:21","valueSize":1},{"declaration":29946,"isOffset":false,"isSlot":false,"src":"95584:2:21","valueSize":1}],"id":29964,"nodeType":"InlineAssembly","src":"95210:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":29966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"95622:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"95628:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29965,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"95606:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"95606:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29969,"nodeType":"ExpressionStatement","src":"95606:27:21"},{"AST":{"nativeSrc":"95695:156:21","nodeType":"YulBlock","src":"95695:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"95716:4:21","nodeType":"YulLiteral","src":"95716:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"95722:2:21","nodeType":"YulIdentifier","src":"95722:2:21"}],"functionName":{"name":"mstore","nativeSrc":"95709:6:21","nodeType":"YulIdentifier","src":"95709:6:21"},"nativeSrc":"95709:16:21","nodeType":"YulFunctionCall","src":"95709:16:21"},"nativeSrc":"95709:16:21","nodeType":"YulExpressionStatement","src":"95709:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95745:4:21","nodeType":"YulLiteral","src":"95745:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"95751:2:21","nodeType":"YulIdentifier","src":"95751:2:21"}],"functionName":{"name":"mstore","nativeSrc":"95738:6:21","nodeType":"YulIdentifier","src":"95738:6:21"},"nativeSrc":"95738:16:21","nodeType":"YulFunctionCall","src":"95738:16:21"},"nativeSrc":"95738:16:21","nodeType":"YulExpressionStatement","src":"95738:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95774:4:21","nodeType":"YulLiteral","src":"95774:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"95780:2:21","nodeType":"YulIdentifier","src":"95780:2:21"}],"functionName":{"name":"mstore","nativeSrc":"95767:6:21","nodeType":"YulIdentifier","src":"95767:6:21"},"nativeSrc":"95767:16:21","nodeType":"YulFunctionCall","src":"95767:16:21"},"nativeSrc":"95767:16:21","nodeType":"YulExpressionStatement","src":"95767:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95803:4:21","nodeType":"YulLiteral","src":"95803:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"95809:2:21","nodeType":"YulIdentifier","src":"95809:2:21"}],"functionName":{"name":"mstore","nativeSrc":"95796:6:21","nodeType":"YulIdentifier","src":"95796:6:21"},"nativeSrc":"95796:16:21","nodeType":"YulFunctionCall","src":"95796:16:21"},"nativeSrc":"95796:16:21","nodeType":"YulExpressionStatement","src":"95796:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95832:4:21","nodeType":"YulLiteral","src":"95832:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"95838:2:21","nodeType":"YulIdentifier","src":"95838:2:21"}],"functionName":{"name":"mstore","nativeSrc":"95825:6:21","nodeType":"YulIdentifier","src":"95825:6:21"},"nativeSrc":"95825:16:21","nodeType":"YulFunctionCall","src":"95825:16:21"},"nativeSrc":"95825:16:21","nodeType":"YulExpressionStatement","src":"95825:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29950,"isOffset":false,"isSlot":false,"src":"95722:2:21","valueSize":1},{"declaration":29953,"isOffset":false,"isSlot":false,"src":"95751:2:21","valueSize":1},{"declaration":29956,"isOffset":false,"isSlot":false,"src":"95780:2:21","valueSize":1},{"declaration":29959,"isOffset":false,"isSlot":false,"src":"95809:2:21","valueSize":1},{"declaration":29962,"isOffset":false,"isSlot":false,"src":"95838:2:21","valueSize":1}],"id":29970,"nodeType":"InlineAssembly","src":"95686:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"94994:3:21","parameters":{"id":29947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29940,"mutability":"mutable","name":"p0","nameLocation":"95006:2:21","nodeType":"VariableDeclaration","scope":29972,"src":"94998:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29939,"name":"address","nodeType":"ElementaryTypeName","src":"94998:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29942,"mutability":"mutable","name":"p1","nameLocation":"95018:2:21","nodeType":"VariableDeclaration","scope":29972,"src":"95010:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29941,"name":"address","nodeType":"ElementaryTypeName","src":"95010:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29944,"mutability":"mutable","name":"p2","nameLocation":"95027:2:21","nodeType":"VariableDeclaration","scope":29972,"src":"95022:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29943,"name":"bool","nodeType":"ElementaryTypeName","src":"95022:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29946,"mutability":"mutable","name":"p3","nameLocation":"95039:2:21","nodeType":"VariableDeclaration","scope":29972,"src":"95031:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29945,"name":"address","nodeType":"ElementaryTypeName","src":"95031:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"94997:45:21"},"returnParameters":{"id":29948,"nodeType":"ParameterList","parameters":[],"src":"95057:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30006,"nodeType":"FunctionDefinition","src":"95863:866:21","nodes":[],"body":{"id":30005,"nodeType":"Block","src":"95932:797:21","nodes":[],"statements":[{"assignments":[29984],"declarations":[{"constant":false,"id":29984,"mutability":"mutable","name":"m0","nameLocation":"95950:2:21","nodeType":"VariableDeclaration","scope":30005,"src":"95942:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95942:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29985,"nodeType":"VariableDeclarationStatement","src":"95942:10:21"},{"assignments":[29987],"declarations":[{"constant":false,"id":29987,"mutability":"mutable","name":"m1","nameLocation":"95970:2:21","nodeType":"VariableDeclaration","scope":30005,"src":"95962:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95962:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29988,"nodeType":"VariableDeclarationStatement","src":"95962:10:21"},{"assignments":[29990],"declarations":[{"constant":false,"id":29990,"mutability":"mutable","name":"m2","nameLocation":"95990:2:21","nodeType":"VariableDeclaration","scope":30005,"src":"95982:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95982:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29991,"nodeType":"VariableDeclarationStatement","src":"95982:10:21"},{"assignments":[29993],"declarations":[{"constant":false,"id":29993,"mutability":"mutable","name":"m3","nameLocation":"96010:2:21","nodeType":"VariableDeclaration","scope":30005,"src":"96002:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96002:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29994,"nodeType":"VariableDeclarationStatement","src":"96002:10:21"},{"assignments":[29996],"declarations":[{"constant":false,"id":29996,"mutability":"mutable","name":"m4","nameLocation":"96030:2:21","nodeType":"VariableDeclaration","scope":30005,"src":"96022:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96022:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29997,"nodeType":"VariableDeclarationStatement","src":"96022:10:21"},{"AST":{"nativeSrc":"96094:375:21","nodeType":"YulBlock","src":"96094:375:21","statements":[{"nativeSrc":"96108:17:21","nodeType":"YulAssignment","src":"96108:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"96120:4:21","nodeType":"YulLiteral","src":"96120:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"96114:5:21","nodeType":"YulIdentifier","src":"96114:5:21"},"nativeSrc":"96114:11:21","nodeType":"YulFunctionCall","src":"96114:11:21"},"variableNames":[{"name":"m0","nativeSrc":"96108:2:21","nodeType":"YulIdentifier","src":"96108:2:21"}]},{"nativeSrc":"96138:17:21","nodeType":"YulAssignment","src":"96138:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"96150:4:21","nodeType":"YulLiteral","src":"96150:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"96144:5:21","nodeType":"YulIdentifier","src":"96144:5:21"},"nativeSrc":"96144:11:21","nodeType":"YulFunctionCall","src":"96144:11:21"},"variableNames":[{"name":"m1","nativeSrc":"96138:2:21","nodeType":"YulIdentifier","src":"96138:2:21"}]},{"nativeSrc":"96168:17:21","nodeType":"YulAssignment","src":"96168:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"96180:4:21","nodeType":"YulLiteral","src":"96180:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"96174:5:21","nodeType":"YulIdentifier","src":"96174:5:21"},"nativeSrc":"96174:11:21","nodeType":"YulFunctionCall","src":"96174:11:21"},"variableNames":[{"name":"m2","nativeSrc":"96168:2:21","nodeType":"YulIdentifier","src":"96168:2:21"}]},{"nativeSrc":"96198:17:21","nodeType":"YulAssignment","src":"96198:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"96210:4:21","nodeType":"YulLiteral","src":"96210:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"96204:5:21","nodeType":"YulIdentifier","src":"96204:5:21"},"nativeSrc":"96204:11:21","nodeType":"YulFunctionCall","src":"96204:11:21"},"variableNames":[{"name":"m3","nativeSrc":"96198:2:21","nodeType":"YulIdentifier","src":"96198:2:21"}]},{"nativeSrc":"96228:17:21","nodeType":"YulAssignment","src":"96228:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"96240:4:21","nodeType":"YulLiteral","src":"96240:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"96234:5:21","nodeType":"YulIdentifier","src":"96234:5:21"},"nativeSrc":"96234:11:21","nodeType":"YulFunctionCall","src":"96234:11:21"},"variableNames":[{"name":"m4","nativeSrc":"96228:2:21","nodeType":"YulIdentifier","src":"96228:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96326:4:21","nodeType":"YulLiteral","src":"96326:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"96332:10:21","nodeType":"YulLiteral","src":"96332:10:21","type":"","value":"0x2cd4134a"}],"functionName":{"name":"mstore","nativeSrc":"96319:6:21","nodeType":"YulIdentifier","src":"96319:6:21"},"nativeSrc":"96319:24:21","nodeType":"YulFunctionCall","src":"96319:24:21"},"nativeSrc":"96319:24:21","nodeType":"YulExpressionStatement","src":"96319:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96363:4:21","nodeType":"YulLiteral","src":"96363:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"96369:2:21","nodeType":"YulIdentifier","src":"96369:2:21"}],"functionName":{"name":"mstore","nativeSrc":"96356:6:21","nodeType":"YulIdentifier","src":"96356:6:21"},"nativeSrc":"96356:16:21","nodeType":"YulFunctionCall","src":"96356:16:21"},"nativeSrc":"96356:16:21","nodeType":"YulExpressionStatement","src":"96356:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96392:4:21","nodeType":"YulLiteral","src":"96392:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"96398:2:21","nodeType":"YulIdentifier","src":"96398:2:21"}],"functionName":{"name":"mstore","nativeSrc":"96385:6:21","nodeType":"YulIdentifier","src":"96385:6:21"},"nativeSrc":"96385:16:21","nodeType":"YulFunctionCall","src":"96385:16:21"},"nativeSrc":"96385:16:21","nodeType":"YulExpressionStatement","src":"96385:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96421:4:21","nodeType":"YulLiteral","src":"96421:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"96427:2:21","nodeType":"YulIdentifier","src":"96427:2:21"}],"functionName":{"name":"mstore","nativeSrc":"96414:6:21","nodeType":"YulIdentifier","src":"96414:6:21"},"nativeSrc":"96414:16:21","nodeType":"YulFunctionCall","src":"96414:16:21"},"nativeSrc":"96414:16:21","nodeType":"YulExpressionStatement","src":"96414:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96450:4:21","nodeType":"YulLiteral","src":"96450:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"96456:2:21","nodeType":"YulIdentifier","src":"96456:2:21"}],"functionName":{"name":"mstore","nativeSrc":"96443:6:21","nodeType":"YulIdentifier","src":"96443:6:21"},"nativeSrc":"96443:16:21","nodeType":"YulFunctionCall","src":"96443:16:21"},"nativeSrc":"96443:16:21","nodeType":"YulExpressionStatement","src":"96443:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29984,"isOffset":false,"isSlot":false,"src":"96108:2:21","valueSize":1},{"declaration":29987,"isOffset":false,"isSlot":false,"src":"96138:2:21","valueSize":1},{"declaration":29990,"isOffset":false,"isSlot":false,"src":"96168:2:21","valueSize":1},{"declaration":29993,"isOffset":false,"isSlot":false,"src":"96198:2:21","valueSize":1},{"declaration":29996,"isOffset":false,"isSlot":false,"src":"96228:2:21","valueSize":1},{"declaration":29974,"isOffset":false,"isSlot":false,"src":"96369:2:21","valueSize":1},{"declaration":29976,"isOffset":false,"isSlot":false,"src":"96398:2:21","valueSize":1},{"declaration":29978,"isOffset":false,"isSlot":false,"src":"96427:2:21","valueSize":1},{"declaration":29980,"isOffset":false,"isSlot":false,"src":"96456:2:21","valueSize":1}],"id":29998,"nodeType":"InlineAssembly","src":"96085:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"96494:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"96500:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29999,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"96478:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"96478:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30003,"nodeType":"ExpressionStatement","src":"96478:27:21"},{"AST":{"nativeSrc":"96567:156:21","nodeType":"YulBlock","src":"96567:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"96588:4:21","nodeType":"YulLiteral","src":"96588:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"96594:2:21","nodeType":"YulIdentifier","src":"96594:2:21"}],"functionName":{"name":"mstore","nativeSrc":"96581:6:21","nodeType":"YulIdentifier","src":"96581:6:21"},"nativeSrc":"96581:16:21","nodeType":"YulFunctionCall","src":"96581:16:21"},"nativeSrc":"96581:16:21","nodeType":"YulExpressionStatement","src":"96581:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96617:4:21","nodeType":"YulLiteral","src":"96617:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"96623:2:21","nodeType":"YulIdentifier","src":"96623:2:21"}],"functionName":{"name":"mstore","nativeSrc":"96610:6:21","nodeType":"YulIdentifier","src":"96610:6:21"},"nativeSrc":"96610:16:21","nodeType":"YulFunctionCall","src":"96610:16:21"},"nativeSrc":"96610:16:21","nodeType":"YulExpressionStatement","src":"96610:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96646:4:21","nodeType":"YulLiteral","src":"96646:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"96652:2:21","nodeType":"YulIdentifier","src":"96652:2:21"}],"functionName":{"name":"mstore","nativeSrc":"96639:6:21","nodeType":"YulIdentifier","src":"96639:6:21"},"nativeSrc":"96639:16:21","nodeType":"YulFunctionCall","src":"96639:16:21"},"nativeSrc":"96639:16:21","nodeType":"YulExpressionStatement","src":"96639:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96675:4:21","nodeType":"YulLiteral","src":"96675:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"96681:2:21","nodeType":"YulIdentifier","src":"96681:2:21"}],"functionName":{"name":"mstore","nativeSrc":"96668:6:21","nodeType":"YulIdentifier","src":"96668:6:21"},"nativeSrc":"96668:16:21","nodeType":"YulFunctionCall","src":"96668:16:21"},"nativeSrc":"96668:16:21","nodeType":"YulExpressionStatement","src":"96668:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96704:4:21","nodeType":"YulLiteral","src":"96704:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"96710:2:21","nodeType":"YulIdentifier","src":"96710:2:21"}],"functionName":{"name":"mstore","nativeSrc":"96697:6:21","nodeType":"YulIdentifier","src":"96697:6:21"},"nativeSrc":"96697:16:21","nodeType":"YulFunctionCall","src":"96697:16:21"},"nativeSrc":"96697:16:21","nodeType":"YulExpressionStatement","src":"96697:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":29984,"isOffset":false,"isSlot":false,"src":"96594:2:21","valueSize":1},{"declaration":29987,"isOffset":false,"isSlot":false,"src":"96623:2:21","valueSize":1},{"declaration":29990,"isOffset":false,"isSlot":false,"src":"96652:2:21","valueSize":1},{"declaration":29993,"isOffset":false,"isSlot":false,"src":"96681:2:21","valueSize":1},{"declaration":29996,"isOffset":false,"isSlot":false,"src":"96710:2:21","valueSize":1}],"id":30004,"nodeType":"InlineAssembly","src":"96558:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"95872:3:21","parameters":{"id":29981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29974,"mutability":"mutable","name":"p0","nameLocation":"95884:2:21","nodeType":"VariableDeclaration","scope":30006,"src":"95876:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29973,"name":"address","nodeType":"ElementaryTypeName","src":"95876:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29976,"mutability":"mutable","name":"p1","nameLocation":"95896:2:21","nodeType":"VariableDeclaration","scope":30006,"src":"95888:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29975,"name":"address","nodeType":"ElementaryTypeName","src":"95888:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29978,"mutability":"mutable","name":"p2","nameLocation":"95905:2:21","nodeType":"VariableDeclaration","scope":30006,"src":"95900:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29977,"name":"bool","nodeType":"ElementaryTypeName","src":"95900:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29980,"mutability":"mutable","name":"p3","nameLocation":"95914:2:21","nodeType":"VariableDeclaration","scope":30006,"src":"95909:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29979,"name":"bool","nodeType":"ElementaryTypeName","src":"95909:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"95875:42:21"},"returnParameters":{"id":29982,"nodeType":"ParameterList","parameters":[],"src":"95932:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30040,"nodeType":"FunctionDefinition","src":"96735:872:21","nodes":[],"body":{"id":30039,"nodeType":"Block","src":"96807:800:21","nodes":[],"statements":[{"assignments":[30018],"declarations":[{"constant":false,"id":30018,"mutability":"mutable","name":"m0","nameLocation":"96825:2:21","nodeType":"VariableDeclaration","scope":30039,"src":"96817:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96817:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30019,"nodeType":"VariableDeclarationStatement","src":"96817:10:21"},{"assignments":[30021],"declarations":[{"constant":false,"id":30021,"mutability":"mutable","name":"m1","nameLocation":"96845:2:21","nodeType":"VariableDeclaration","scope":30039,"src":"96837:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30020,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96837:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30022,"nodeType":"VariableDeclarationStatement","src":"96837:10:21"},{"assignments":[30024],"declarations":[{"constant":false,"id":30024,"mutability":"mutable","name":"m2","nameLocation":"96865:2:21","nodeType":"VariableDeclaration","scope":30039,"src":"96857:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96857:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30025,"nodeType":"VariableDeclarationStatement","src":"96857:10:21"},{"assignments":[30027],"declarations":[{"constant":false,"id":30027,"mutability":"mutable","name":"m3","nameLocation":"96885:2:21","nodeType":"VariableDeclaration","scope":30039,"src":"96877:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96877:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30028,"nodeType":"VariableDeclarationStatement","src":"96877:10:21"},{"assignments":[30030],"declarations":[{"constant":false,"id":30030,"mutability":"mutable","name":"m4","nameLocation":"96905:2:21","nodeType":"VariableDeclaration","scope":30039,"src":"96897:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96897:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30031,"nodeType":"VariableDeclarationStatement","src":"96897:10:21"},{"AST":{"nativeSrc":"96969:378:21","nodeType":"YulBlock","src":"96969:378:21","statements":[{"nativeSrc":"96983:17:21","nodeType":"YulAssignment","src":"96983:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"96995:4:21","nodeType":"YulLiteral","src":"96995:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"96989:5:21","nodeType":"YulIdentifier","src":"96989:5:21"},"nativeSrc":"96989:11:21","nodeType":"YulFunctionCall","src":"96989:11:21"},"variableNames":[{"name":"m0","nativeSrc":"96983:2:21","nodeType":"YulIdentifier","src":"96983:2:21"}]},{"nativeSrc":"97013:17:21","nodeType":"YulAssignment","src":"97013:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"97025:4:21","nodeType":"YulLiteral","src":"97025:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"97019:5:21","nodeType":"YulIdentifier","src":"97019:5:21"},"nativeSrc":"97019:11:21","nodeType":"YulFunctionCall","src":"97019:11:21"},"variableNames":[{"name":"m1","nativeSrc":"97013:2:21","nodeType":"YulIdentifier","src":"97013:2:21"}]},{"nativeSrc":"97043:17:21","nodeType":"YulAssignment","src":"97043:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"97055:4:21","nodeType":"YulLiteral","src":"97055:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"97049:5:21","nodeType":"YulIdentifier","src":"97049:5:21"},"nativeSrc":"97049:11:21","nodeType":"YulFunctionCall","src":"97049:11:21"},"variableNames":[{"name":"m2","nativeSrc":"97043:2:21","nodeType":"YulIdentifier","src":"97043:2:21"}]},{"nativeSrc":"97073:17:21","nodeType":"YulAssignment","src":"97073:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"97085:4:21","nodeType":"YulLiteral","src":"97085:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"97079:5:21","nodeType":"YulIdentifier","src":"97079:5:21"},"nativeSrc":"97079:11:21","nodeType":"YulFunctionCall","src":"97079:11:21"},"variableNames":[{"name":"m3","nativeSrc":"97073:2:21","nodeType":"YulIdentifier","src":"97073:2:21"}]},{"nativeSrc":"97103:17:21","nodeType":"YulAssignment","src":"97103:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"97115:4:21","nodeType":"YulLiteral","src":"97115:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"97109:5:21","nodeType":"YulIdentifier","src":"97109:5:21"},"nativeSrc":"97109:11:21","nodeType":"YulFunctionCall","src":"97109:11:21"},"variableNames":[{"name":"m4","nativeSrc":"97103:2:21","nodeType":"YulIdentifier","src":"97103:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97204:4:21","nodeType":"YulLiteral","src":"97204:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"97210:10:21","nodeType":"YulLiteral","src":"97210:10:21","type":"","value":"0x3971e78c"}],"functionName":{"name":"mstore","nativeSrc":"97197:6:21","nodeType":"YulIdentifier","src":"97197:6:21"},"nativeSrc":"97197:24:21","nodeType":"YulFunctionCall","src":"97197:24:21"},"nativeSrc":"97197:24:21","nodeType":"YulExpressionStatement","src":"97197:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97241:4:21","nodeType":"YulLiteral","src":"97241:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"97247:2:21","nodeType":"YulIdentifier","src":"97247:2:21"}],"functionName":{"name":"mstore","nativeSrc":"97234:6:21","nodeType":"YulIdentifier","src":"97234:6:21"},"nativeSrc":"97234:16:21","nodeType":"YulFunctionCall","src":"97234:16:21"},"nativeSrc":"97234:16:21","nodeType":"YulExpressionStatement","src":"97234:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97270:4:21","nodeType":"YulLiteral","src":"97270:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"97276:2:21","nodeType":"YulIdentifier","src":"97276:2:21"}],"functionName":{"name":"mstore","nativeSrc":"97263:6:21","nodeType":"YulIdentifier","src":"97263:6:21"},"nativeSrc":"97263:16:21","nodeType":"YulFunctionCall","src":"97263:16:21"},"nativeSrc":"97263:16:21","nodeType":"YulExpressionStatement","src":"97263:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97299:4:21","nodeType":"YulLiteral","src":"97299:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"97305:2:21","nodeType":"YulIdentifier","src":"97305:2:21"}],"functionName":{"name":"mstore","nativeSrc":"97292:6:21","nodeType":"YulIdentifier","src":"97292:6:21"},"nativeSrc":"97292:16:21","nodeType":"YulFunctionCall","src":"97292:16:21"},"nativeSrc":"97292:16:21","nodeType":"YulExpressionStatement","src":"97292:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97328:4:21","nodeType":"YulLiteral","src":"97328:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"97334:2:21","nodeType":"YulIdentifier","src":"97334:2:21"}],"functionName":{"name":"mstore","nativeSrc":"97321:6:21","nodeType":"YulIdentifier","src":"97321:6:21"},"nativeSrc":"97321:16:21","nodeType":"YulFunctionCall","src":"97321:16:21"},"nativeSrc":"97321:16:21","nodeType":"YulExpressionStatement","src":"97321:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30018,"isOffset":false,"isSlot":false,"src":"96983:2:21","valueSize":1},{"declaration":30021,"isOffset":false,"isSlot":false,"src":"97013:2:21","valueSize":1},{"declaration":30024,"isOffset":false,"isSlot":false,"src":"97043:2:21","valueSize":1},{"declaration":30027,"isOffset":false,"isSlot":false,"src":"97073:2:21","valueSize":1},{"declaration":30030,"isOffset":false,"isSlot":false,"src":"97103:2:21","valueSize":1},{"declaration":30008,"isOffset":false,"isSlot":false,"src":"97247:2:21","valueSize":1},{"declaration":30010,"isOffset":false,"isSlot":false,"src":"97276:2:21","valueSize":1},{"declaration":30012,"isOffset":false,"isSlot":false,"src":"97305:2:21","valueSize":1},{"declaration":30014,"isOffset":false,"isSlot":false,"src":"97334:2:21","valueSize":1}],"id":30032,"nodeType":"InlineAssembly","src":"96960:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"97372:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"97378:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30033,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"97356:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"97356:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30037,"nodeType":"ExpressionStatement","src":"97356:27:21"},{"AST":{"nativeSrc":"97445:156:21","nodeType":"YulBlock","src":"97445:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"97466:4:21","nodeType":"YulLiteral","src":"97466:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"97472:2:21","nodeType":"YulIdentifier","src":"97472:2:21"}],"functionName":{"name":"mstore","nativeSrc":"97459:6:21","nodeType":"YulIdentifier","src":"97459:6:21"},"nativeSrc":"97459:16:21","nodeType":"YulFunctionCall","src":"97459:16:21"},"nativeSrc":"97459:16:21","nodeType":"YulExpressionStatement","src":"97459:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97495:4:21","nodeType":"YulLiteral","src":"97495:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"97501:2:21","nodeType":"YulIdentifier","src":"97501:2:21"}],"functionName":{"name":"mstore","nativeSrc":"97488:6:21","nodeType":"YulIdentifier","src":"97488:6:21"},"nativeSrc":"97488:16:21","nodeType":"YulFunctionCall","src":"97488:16:21"},"nativeSrc":"97488:16:21","nodeType":"YulExpressionStatement","src":"97488:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97524:4:21","nodeType":"YulLiteral","src":"97524:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"97530:2:21","nodeType":"YulIdentifier","src":"97530:2:21"}],"functionName":{"name":"mstore","nativeSrc":"97517:6:21","nodeType":"YulIdentifier","src":"97517:6:21"},"nativeSrc":"97517:16:21","nodeType":"YulFunctionCall","src":"97517:16:21"},"nativeSrc":"97517:16:21","nodeType":"YulExpressionStatement","src":"97517:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97553:4:21","nodeType":"YulLiteral","src":"97553:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"97559:2:21","nodeType":"YulIdentifier","src":"97559:2:21"}],"functionName":{"name":"mstore","nativeSrc":"97546:6:21","nodeType":"YulIdentifier","src":"97546:6:21"},"nativeSrc":"97546:16:21","nodeType":"YulFunctionCall","src":"97546:16:21"},"nativeSrc":"97546:16:21","nodeType":"YulExpressionStatement","src":"97546:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97582:4:21","nodeType":"YulLiteral","src":"97582:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"97588:2:21","nodeType":"YulIdentifier","src":"97588:2:21"}],"functionName":{"name":"mstore","nativeSrc":"97575:6:21","nodeType":"YulIdentifier","src":"97575:6:21"},"nativeSrc":"97575:16:21","nodeType":"YulFunctionCall","src":"97575:16:21"},"nativeSrc":"97575:16:21","nodeType":"YulExpressionStatement","src":"97575:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30018,"isOffset":false,"isSlot":false,"src":"97472:2:21","valueSize":1},{"declaration":30021,"isOffset":false,"isSlot":false,"src":"97501:2:21","valueSize":1},{"declaration":30024,"isOffset":false,"isSlot":false,"src":"97530:2:21","valueSize":1},{"declaration":30027,"isOffset":false,"isSlot":false,"src":"97559:2:21","valueSize":1},{"declaration":30030,"isOffset":false,"isSlot":false,"src":"97588:2:21","valueSize":1}],"id":30038,"nodeType":"InlineAssembly","src":"97436:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"96744:3:21","parameters":{"id":30015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30008,"mutability":"mutable","name":"p0","nameLocation":"96756:2:21","nodeType":"VariableDeclaration","scope":30040,"src":"96748:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30007,"name":"address","nodeType":"ElementaryTypeName","src":"96748:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30010,"mutability":"mutable","name":"p1","nameLocation":"96768:2:21","nodeType":"VariableDeclaration","scope":30040,"src":"96760:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30009,"name":"address","nodeType":"ElementaryTypeName","src":"96760:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30012,"mutability":"mutable","name":"p2","nameLocation":"96777:2:21","nodeType":"VariableDeclaration","scope":30040,"src":"96772:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30011,"name":"bool","nodeType":"ElementaryTypeName","src":"96772:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30014,"mutability":"mutable","name":"p3","nameLocation":"96789:2:21","nodeType":"VariableDeclaration","scope":30040,"src":"96781:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30013,"name":"uint256","nodeType":"ElementaryTypeName","src":"96781:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96747:45:21"},"returnParameters":{"id":30016,"nodeType":"ParameterList","parameters":[],"src":"96807:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30080,"nodeType":"FunctionDefinition","src":"97613:1420:21","nodes":[],"body":{"id":30079,"nodeType":"Block","src":"97685:1348:21","nodes":[],"statements":[{"assignments":[30052],"declarations":[{"constant":false,"id":30052,"mutability":"mutable","name":"m0","nameLocation":"97703:2:21","nodeType":"VariableDeclaration","scope":30079,"src":"97695:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97695:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30053,"nodeType":"VariableDeclarationStatement","src":"97695:10:21"},{"assignments":[30055],"declarations":[{"constant":false,"id":30055,"mutability":"mutable","name":"m1","nameLocation":"97723:2:21","nodeType":"VariableDeclaration","scope":30079,"src":"97715:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97715:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30056,"nodeType":"VariableDeclarationStatement","src":"97715:10:21"},{"assignments":[30058],"declarations":[{"constant":false,"id":30058,"mutability":"mutable","name":"m2","nameLocation":"97743:2:21","nodeType":"VariableDeclaration","scope":30079,"src":"97735:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97735:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30059,"nodeType":"VariableDeclarationStatement","src":"97735:10:21"},{"assignments":[30061],"declarations":[{"constant":false,"id":30061,"mutability":"mutable","name":"m3","nameLocation":"97763:2:21","nodeType":"VariableDeclaration","scope":30079,"src":"97755:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30060,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97755:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30062,"nodeType":"VariableDeclarationStatement","src":"97755:10:21"},{"assignments":[30064],"declarations":[{"constant":false,"id":30064,"mutability":"mutable","name":"m4","nameLocation":"97783:2:21","nodeType":"VariableDeclaration","scope":30079,"src":"97775:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97775:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30065,"nodeType":"VariableDeclarationStatement","src":"97775:10:21"},{"assignments":[30067],"declarations":[{"constant":false,"id":30067,"mutability":"mutable","name":"m5","nameLocation":"97803:2:21","nodeType":"VariableDeclaration","scope":30079,"src":"97795:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97795:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30068,"nodeType":"VariableDeclarationStatement","src":"97795:10:21"},{"assignments":[30070],"declarations":[{"constant":false,"id":30070,"mutability":"mutable","name":"m6","nameLocation":"97823:2:21","nodeType":"VariableDeclaration","scope":30079,"src":"97815:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97815:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30071,"nodeType":"VariableDeclarationStatement","src":"97815:10:21"},{"AST":{"nativeSrc":"97887:828:21","nodeType":"YulBlock","src":"97887:828:21","statements":[{"body":{"nativeSrc":"97930:313:21","nodeType":"YulBlock","src":"97930:313:21","statements":[{"nativeSrc":"97948:15:21","nodeType":"YulVariableDeclaration","src":"97948:15:21","value":{"kind":"number","nativeSrc":"97962:1:21","nodeType":"YulLiteral","src":"97962:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"97952:6:21","nodeType":"YulTypedName","src":"97952:6:21","type":""}]},{"body":{"nativeSrc":"98033:40:21","nodeType":"YulBlock","src":"98033:40:21","statements":[{"body":{"nativeSrc":"98062:9:21","nodeType":"YulBlock","src":"98062:9:21","statements":[{"nativeSrc":"98064:5:21","nodeType":"YulBreak","src":"98064:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"98050:6:21","nodeType":"YulIdentifier","src":"98050:6:21"},{"name":"w","nativeSrc":"98058:1:21","nodeType":"YulIdentifier","src":"98058:1:21"}],"functionName":{"name":"byte","nativeSrc":"98045:4:21","nodeType":"YulIdentifier","src":"98045:4:21"},"nativeSrc":"98045:15:21","nodeType":"YulFunctionCall","src":"98045:15:21"}],"functionName":{"name":"iszero","nativeSrc":"98038:6:21","nodeType":"YulIdentifier","src":"98038:6:21"},"nativeSrc":"98038:23:21","nodeType":"YulFunctionCall","src":"98038:23:21"},"nativeSrc":"98035:36:21","nodeType":"YulIf","src":"98035:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"97990:6:21","nodeType":"YulIdentifier","src":"97990:6:21"},{"kind":"number","nativeSrc":"97998:4:21","nodeType":"YulLiteral","src":"97998:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"97987:2:21","nodeType":"YulIdentifier","src":"97987:2:21"},"nativeSrc":"97987:16:21","nodeType":"YulFunctionCall","src":"97987:16:21"},"nativeSrc":"97980:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"98004:28:21","nodeType":"YulBlock","src":"98004:28:21","statements":[{"nativeSrc":"98006:24:21","nodeType":"YulAssignment","src":"98006:24:21","value":{"arguments":[{"name":"length","nativeSrc":"98020:6:21","nodeType":"YulIdentifier","src":"98020:6:21"},{"kind":"number","nativeSrc":"98028:1:21","nodeType":"YulLiteral","src":"98028:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"98016:3:21","nodeType":"YulIdentifier","src":"98016:3:21"},"nativeSrc":"98016:14:21","nodeType":"YulFunctionCall","src":"98016:14:21"},"variableNames":[{"name":"length","nativeSrc":"98006:6:21","nodeType":"YulIdentifier","src":"98006:6:21"}]}]},"pre":{"nativeSrc":"97984:2:21","nodeType":"YulBlock","src":"97984:2:21","statements":[]},"src":"97980:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"98097:3:21","nodeType":"YulIdentifier","src":"98097:3:21"},{"name":"length","nativeSrc":"98102:6:21","nodeType":"YulIdentifier","src":"98102:6:21"}],"functionName":{"name":"mstore","nativeSrc":"98090:6:21","nodeType":"YulIdentifier","src":"98090:6:21"},"nativeSrc":"98090:19:21","nodeType":"YulFunctionCall","src":"98090:19:21"},"nativeSrc":"98090:19:21","nodeType":"YulExpressionStatement","src":"98090:19:21"},{"nativeSrc":"98126:37:21","nodeType":"YulVariableDeclaration","src":"98126:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"98143:3:21","nodeType":"YulLiteral","src":"98143:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"98152:1:21","nodeType":"YulLiteral","src":"98152:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"98155:6:21","nodeType":"YulIdentifier","src":"98155:6:21"}],"functionName":{"name":"shl","nativeSrc":"98148:3:21","nodeType":"YulIdentifier","src":"98148:3:21"},"nativeSrc":"98148:14:21","nodeType":"YulFunctionCall","src":"98148:14:21"}],"functionName":{"name":"sub","nativeSrc":"98139:3:21","nodeType":"YulIdentifier","src":"98139:3:21"},"nativeSrc":"98139:24:21","nodeType":"YulFunctionCall","src":"98139:24:21"},"variables":[{"name":"shift","nativeSrc":"98130:5:21","nodeType":"YulTypedName","src":"98130:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"98191:3:21","nodeType":"YulIdentifier","src":"98191:3:21"},{"kind":"number","nativeSrc":"98196:4:21","nodeType":"YulLiteral","src":"98196:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"98187:3:21","nodeType":"YulIdentifier","src":"98187:3:21"},"nativeSrc":"98187:14:21","nodeType":"YulFunctionCall","src":"98187:14:21"},{"arguments":[{"name":"shift","nativeSrc":"98207:5:21","nodeType":"YulIdentifier","src":"98207:5:21"},{"arguments":[{"name":"shift","nativeSrc":"98218:5:21","nodeType":"YulIdentifier","src":"98218:5:21"},{"name":"w","nativeSrc":"98225:1:21","nodeType":"YulIdentifier","src":"98225:1:21"}],"functionName":{"name":"shr","nativeSrc":"98214:3:21","nodeType":"YulIdentifier","src":"98214:3:21"},"nativeSrc":"98214:13:21","nodeType":"YulFunctionCall","src":"98214:13:21"}],"functionName":{"name":"shl","nativeSrc":"98203:3:21","nodeType":"YulIdentifier","src":"98203:3:21"},"nativeSrc":"98203:25:21","nodeType":"YulFunctionCall","src":"98203:25:21"}],"functionName":{"name":"mstore","nativeSrc":"98180:6:21","nodeType":"YulIdentifier","src":"98180:6:21"},"nativeSrc":"98180:49:21","nodeType":"YulFunctionCall","src":"98180:49:21"},"nativeSrc":"98180:49:21","nodeType":"YulExpressionStatement","src":"98180:49:21"}]},"name":"writeString","nativeSrc":"97901:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"97922:3:21","nodeType":"YulTypedName","src":"97922:3:21","type":""},{"name":"w","nativeSrc":"97927:1:21","nodeType":"YulTypedName","src":"97927:1:21","type":""}],"src":"97901:342:21"},{"nativeSrc":"98256:17:21","nodeType":"YulAssignment","src":"98256:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"98268:4:21","nodeType":"YulLiteral","src":"98268:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"98262:5:21","nodeType":"YulIdentifier","src":"98262:5:21"},"nativeSrc":"98262:11:21","nodeType":"YulFunctionCall","src":"98262:11:21"},"variableNames":[{"name":"m0","nativeSrc":"98256:2:21","nodeType":"YulIdentifier","src":"98256:2:21"}]},{"nativeSrc":"98286:17:21","nodeType":"YulAssignment","src":"98286:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"98298:4:21","nodeType":"YulLiteral","src":"98298:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"98292:5:21","nodeType":"YulIdentifier","src":"98292:5:21"},"nativeSrc":"98292:11:21","nodeType":"YulFunctionCall","src":"98292:11:21"},"variableNames":[{"name":"m1","nativeSrc":"98286:2:21","nodeType":"YulIdentifier","src":"98286:2:21"}]},{"nativeSrc":"98316:17:21","nodeType":"YulAssignment","src":"98316:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"98328:4:21","nodeType":"YulLiteral","src":"98328:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"98322:5:21","nodeType":"YulIdentifier","src":"98322:5:21"},"nativeSrc":"98322:11:21","nodeType":"YulFunctionCall","src":"98322:11:21"},"variableNames":[{"name":"m2","nativeSrc":"98316:2:21","nodeType":"YulIdentifier","src":"98316:2:21"}]},{"nativeSrc":"98346:17:21","nodeType":"YulAssignment","src":"98346:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"98358:4:21","nodeType":"YulLiteral","src":"98358:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"98352:5:21","nodeType":"YulIdentifier","src":"98352:5:21"},"nativeSrc":"98352:11:21","nodeType":"YulFunctionCall","src":"98352:11:21"},"variableNames":[{"name":"m3","nativeSrc":"98346:2:21","nodeType":"YulIdentifier","src":"98346:2:21"}]},{"nativeSrc":"98376:17:21","nodeType":"YulAssignment","src":"98376:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"98388:4:21","nodeType":"YulLiteral","src":"98388:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"98382:5:21","nodeType":"YulIdentifier","src":"98382:5:21"},"nativeSrc":"98382:11:21","nodeType":"YulFunctionCall","src":"98382:11:21"},"variableNames":[{"name":"m4","nativeSrc":"98376:2:21","nodeType":"YulIdentifier","src":"98376:2:21"}]},{"nativeSrc":"98406:17:21","nodeType":"YulAssignment","src":"98406:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"98418:4:21","nodeType":"YulLiteral","src":"98418:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"98412:5:21","nodeType":"YulIdentifier","src":"98412:5:21"},"nativeSrc":"98412:11:21","nodeType":"YulFunctionCall","src":"98412:11:21"},"variableNames":[{"name":"m5","nativeSrc":"98406:2:21","nodeType":"YulIdentifier","src":"98406:2:21"}]},{"nativeSrc":"98436:17:21","nodeType":"YulAssignment","src":"98436:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"98448:4:21","nodeType":"YulLiteral","src":"98448:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"98442:5:21","nodeType":"YulIdentifier","src":"98442:5:21"},"nativeSrc":"98442:11:21","nodeType":"YulFunctionCall","src":"98442:11:21"},"variableNames":[{"name":"m6","nativeSrc":"98436:2:21","nodeType":"YulIdentifier","src":"98436:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98536:4:21","nodeType":"YulLiteral","src":"98536:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"98542:10:21","nodeType":"YulLiteral","src":"98542:10:21","type":"","value":"0xaa6540c8"}],"functionName":{"name":"mstore","nativeSrc":"98529:6:21","nodeType":"YulIdentifier","src":"98529:6:21"},"nativeSrc":"98529:24:21","nodeType":"YulFunctionCall","src":"98529:24:21"},"nativeSrc":"98529:24:21","nodeType":"YulExpressionStatement","src":"98529:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98573:4:21","nodeType":"YulLiteral","src":"98573:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"98579:2:21","nodeType":"YulIdentifier","src":"98579:2:21"}],"functionName":{"name":"mstore","nativeSrc":"98566:6:21","nodeType":"YulIdentifier","src":"98566:6:21"},"nativeSrc":"98566:16:21","nodeType":"YulFunctionCall","src":"98566:16:21"},"nativeSrc":"98566:16:21","nodeType":"YulExpressionStatement","src":"98566:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98602:4:21","nodeType":"YulLiteral","src":"98602:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"98608:2:21","nodeType":"YulIdentifier","src":"98608:2:21"}],"functionName":{"name":"mstore","nativeSrc":"98595:6:21","nodeType":"YulIdentifier","src":"98595:6:21"},"nativeSrc":"98595:16:21","nodeType":"YulFunctionCall","src":"98595:16:21"},"nativeSrc":"98595:16:21","nodeType":"YulExpressionStatement","src":"98595:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98631:4:21","nodeType":"YulLiteral","src":"98631:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"98637:2:21","nodeType":"YulIdentifier","src":"98637:2:21"}],"functionName":{"name":"mstore","nativeSrc":"98624:6:21","nodeType":"YulIdentifier","src":"98624:6:21"},"nativeSrc":"98624:16:21","nodeType":"YulFunctionCall","src":"98624:16:21"},"nativeSrc":"98624:16:21","nodeType":"YulExpressionStatement","src":"98624:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98660:4:21","nodeType":"YulLiteral","src":"98660:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"98666:4:21","nodeType":"YulLiteral","src":"98666:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"98653:6:21","nodeType":"YulIdentifier","src":"98653:6:21"},"nativeSrc":"98653:18:21","nodeType":"YulFunctionCall","src":"98653:18:21"},"nativeSrc":"98653:18:21","nodeType":"YulExpressionStatement","src":"98653:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98696:4:21","nodeType":"YulLiteral","src":"98696:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"98702:2:21","nodeType":"YulIdentifier","src":"98702:2:21"}],"functionName":{"name":"writeString","nativeSrc":"98684:11:21","nodeType":"YulIdentifier","src":"98684:11:21"},"nativeSrc":"98684:21:21","nodeType":"YulFunctionCall","src":"98684:21:21"},"nativeSrc":"98684:21:21","nodeType":"YulExpressionStatement","src":"98684:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30052,"isOffset":false,"isSlot":false,"src":"98256:2:21","valueSize":1},{"declaration":30055,"isOffset":false,"isSlot":false,"src":"98286:2:21","valueSize":1},{"declaration":30058,"isOffset":false,"isSlot":false,"src":"98316:2:21","valueSize":1},{"declaration":30061,"isOffset":false,"isSlot":false,"src":"98346:2:21","valueSize":1},{"declaration":30064,"isOffset":false,"isSlot":false,"src":"98376:2:21","valueSize":1},{"declaration":30067,"isOffset":false,"isSlot":false,"src":"98406:2:21","valueSize":1},{"declaration":30070,"isOffset":false,"isSlot":false,"src":"98436:2:21","valueSize":1},{"declaration":30042,"isOffset":false,"isSlot":false,"src":"98579:2:21","valueSize":1},{"declaration":30044,"isOffset":false,"isSlot":false,"src":"98608:2:21","valueSize":1},{"declaration":30046,"isOffset":false,"isSlot":false,"src":"98637:2:21","valueSize":1},{"declaration":30048,"isOffset":false,"isSlot":false,"src":"98702:2:21","valueSize":1}],"id":30072,"nodeType":"InlineAssembly","src":"97878:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"98740:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"98746:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30073,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"98724:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"98724:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30077,"nodeType":"ExpressionStatement","src":"98724:27:21"},{"AST":{"nativeSrc":"98813:214:21","nodeType":"YulBlock","src":"98813:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"98834:4:21","nodeType":"YulLiteral","src":"98834:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"98840:2:21","nodeType":"YulIdentifier","src":"98840:2:21"}],"functionName":{"name":"mstore","nativeSrc":"98827:6:21","nodeType":"YulIdentifier","src":"98827:6:21"},"nativeSrc":"98827:16:21","nodeType":"YulFunctionCall","src":"98827:16:21"},"nativeSrc":"98827:16:21","nodeType":"YulExpressionStatement","src":"98827:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98863:4:21","nodeType":"YulLiteral","src":"98863:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"98869:2:21","nodeType":"YulIdentifier","src":"98869:2:21"}],"functionName":{"name":"mstore","nativeSrc":"98856:6:21","nodeType":"YulIdentifier","src":"98856:6:21"},"nativeSrc":"98856:16:21","nodeType":"YulFunctionCall","src":"98856:16:21"},"nativeSrc":"98856:16:21","nodeType":"YulExpressionStatement","src":"98856:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98892:4:21","nodeType":"YulLiteral","src":"98892:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"98898:2:21","nodeType":"YulIdentifier","src":"98898:2:21"}],"functionName":{"name":"mstore","nativeSrc":"98885:6:21","nodeType":"YulIdentifier","src":"98885:6:21"},"nativeSrc":"98885:16:21","nodeType":"YulFunctionCall","src":"98885:16:21"},"nativeSrc":"98885:16:21","nodeType":"YulExpressionStatement","src":"98885:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98921:4:21","nodeType":"YulLiteral","src":"98921:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"98927:2:21","nodeType":"YulIdentifier","src":"98927:2:21"}],"functionName":{"name":"mstore","nativeSrc":"98914:6:21","nodeType":"YulIdentifier","src":"98914:6:21"},"nativeSrc":"98914:16:21","nodeType":"YulFunctionCall","src":"98914:16:21"},"nativeSrc":"98914:16:21","nodeType":"YulExpressionStatement","src":"98914:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98950:4:21","nodeType":"YulLiteral","src":"98950:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"98956:2:21","nodeType":"YulIdentifier","src":"98956:2:21"}],"functionName":{"name":"mstore","nativeSrc":"98943:6:21","nodeType":"YulIdentifier","src":"98943:6:21"},"nativeSrc":"98943:16:21","nodeType":"YulFunctionCall","src":"98943:16:21"},"nativeSrc":"98943:16:21","nodeType":"YulExpressionStatement","src":"98943:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98979:4:21","nodeType":"YulLiteral","src":"98979:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"98985:2:21","nodeType":"YulIdentifier","src":"98985:2:21"}],"functionName":{"name":"mstore","nativeSrc":"98972:6:21","nodeType":"YulIdentifier","src":"98972:6:21"},"nativeSrc":"98972:16:21","nodeType":"YulFunctionCall","src":"98972:16:21"},"nativeSrc":"98972:16:21","nodeType":"YulExpressionStatement","src":"98972:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99008:4:21","nodeType":"YulLiteral","src":"99008:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"99014:2:21","nodeType":"YulIdentifier","src":"99014:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99001:6:21","nodeType":"YulIdentifier","src":"99001:6:21"},"nativeSrc":"99001:16:21","nodeType":"YulFunctionCall","src":"99001:16:21"},"nativeSrc":"99001:16:21","nodeType":"YulExpressionStatement","src":"99001:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30052,"isOffset":false,"isSlot":false,"src":"98840:2:21","valueSize":1},{"declaration":30055,"isOffset":false,"isSlot":false,"src":"98869:2:21","valueSize":1},{"declaration":30058,"isOffset":false,"isSlot":false,"src":"98898:2:21","valueSize":1},{"declaration":30061,"isOffset":false,"isSlot":false,"src":"98927:2:21","valueSize":1},{"declaration":30064,"isOffset":false,"isSlot":false,"src":"98956:2:21","valueSize":1},{"declaration":30067,"isOffset":false,"isSlot":false,"src":"98985:2:21","valueSize":1},{"declaration":30070,"isOffset":false,"isSlot":false,"src":"99014:2:21","valueSize":1}],"id":30078,"nodeType":"InlineAssembly","src":"98804:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"97622:3:21","parameters":{"id":30049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30042,"mutability":"mutable","name":"p0","nameLocation":"97634:2:21","nodeType":"VariableDeclaration","scope":30080,"src":"97626:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30041,"name":"address","nodeType":"ElementaryTypeName","src":"97626:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30044,"mutability":"mutable","name":"p1","nameLocation":"97646:2:21","nodeType":"VariableDeclaration","scope":30080,"src":"97638:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30043,"name":"address","nodeType":"ElementaryTypeName","src":"97638:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30046,"mutability":"mutable","name":"p2","nameLocation":"97655:2:21","nodeType":"VariableDeclaration","scope":30080,"src":"97650:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30045,"name":"bool","nodeType":"ElementaryTypeName","src":"97650:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30048,"mutability":"mutable","name":"p3","nameLocation":"97667:2:21","nodeType":"VariableDeclaration","scope":30080,"src":"97659:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97659:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"97625:45:21"},"returnParameters":{"id":30050,"nodeType":"ParameterList","parameters":[],"src":"97685:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30114,"nodeType":"FunctionDefinition","src":"99039:878:21","nodes":[],"body":{"id":30113,"nodeType":"Block","src":"99114:803:21","nodes":[],"statements":[{"assignments":[30092],"declarations":[{"constant":false,"id":30092,"mutability":"mutable","name":"m0","nameLocation":"99132:2:21","nodeType":"VariableDeclaration","scope":30113,"src":"99124:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99124:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30093,"nodeType":"VariableDeclarationStatement","src":"99124:10:21"},{"assignments":[30095],"declarations":[{"constant":false,"id":30095,"mutability":"mutable","name":"m1","nameLocation":"99152:2:21","nodeType":"VariableDeclaration","scope":30113,"src":"99144:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30094,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99144:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30096,"nodeType":"VariableDeclarationStatement","src":"99144:10:21"},{"assignments":[30098],"declarations":[{"constant":false,"id":30098,"mutability":"mutable","name":"m2","nameLocation":"99172:2:21","nodeType":"VariableDeclaration","scope":30113,"src":"99164:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99164:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30099,"nodeType":"VariableDeclarationStatement","src":"99164:10:21"},{"assignments":[30101],"declarations":[{"constant":false,"id":30101,"mutability":"mutable","name":"m3","nameLocation":"99192:2:21","nodeType":"VariableDeclaration","scope":30113,"src":"99184:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99184:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30102,"nodeType":"VariableDeclarationStatement","src":"99184:10:21"},{"assignments":[30104],"declarations":[{"constant":false,"id":30104,"mutability":"mutable","name":"m4","nameLocation":"99212:2:21","nodeType":"VariableDeclaration","scope":30113,"src":"99204:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99204:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30105,"nodeType":"VariableDeclarationStatement","src":"99204:10:21"},{"AST":{"nativeSrc":"99276:381:21","nodeType":"YulBlock","src":"99276:381:21","statements":[{"nativeSrc":"99290:17:21","nodeType":"YulAssignment","src":"99290:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"99302:4:21","nodeType":"YulLiteral","src":"99302:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"99296:5:21","nodeType":"YulIdentifier","src":"99296:5:21"},"nativeSrc":"99296:11:21","nodeType":"YulFunctionCall","src":"99296:11:21"},"variableNames":[{"name":"m0","nativeSrc":"99290:2:21","nodeType":"YulIdentifier","src":"99290:2:21"}]},{"nativeSrc":"99320:17:21","nodeType":"YulAssignment","src":"99320:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"99332:4:21","nodeType":"YulLiteral","src":"99332:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"99326:5:21","nodeType":"YulIdentifier","src":"99326:5:21"},"nativeSrc":"99326:11:21","nodeType":"YulFunctionCall","src":"99326:11:21"},"variableNames":[{"name":"m1","nativeSrc":"99320:2:21","nodeType":"YulIdentifier","src":"99320:2:21"}]},{"nativeSrc":"99350:17:21","nodeType":"YulAssignment","src":"99350:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"99362:4:21","nodeType":"YulLiteral","src":"99362:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"99356:5:21","nodeType":"YulIdentifier","src":"99356:5:21"},"nativeSrc":"99356:11:21","nodeType":"YulFunctionCall","src":"99356:11:21"},"variableNames":[{"name":"m2","nativeSrc":"99350:2:21","nodeType":"YulIdentifier","src":"99350:2:21"}]},{"nativeSrc":"99380:17:21","nodeType":"YulAssignment","src":"99380:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"99392:4:21","nodeType":"YulLiteral","src":"99392:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"99386:5:21","nodeType":"YulIdentifier","src":"99386:5:21"},"nativeSrc":"99386:11:21","nodeType":"YulFunctionCall","src":"99386:11:21"},"variableNames":[{"name":"m3","nativeSrc":"99380:2:21","nodeType":"YulIdentifier","src":"99380:2:21"}]},{"nativeSrc":"99410:17:21","nodeType":"YulAssignment","src":"99410:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"99422:4:21","nodeType":"YulLiteral","src":"99422:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"99416:5:21","nodeType":"YulIdentifier","src":"99416:5:21"},"nativeSrc":"99416:11:21","nodeType":"YulFunctionCall","src":"99416:11:21"},"variableNames":[{"name":"m4","nativeSrc":"99410:2:21","nodeType":"YulIdentifier","src":"99410:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99514:4:21","nodeType":"YulLiteral","src":"99514:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"99520:10:21","nodeType":"YulLiteral","src":"99520:10:21","type":"","value":"0x8da6def5"}],"functionName":{"name":"mstore","nativeSrc":"99507:6:21","nodeType":"YulIdentifier","src":"99507:6:21"},"nativeSrc":"99507:24:21","nodeType":"YulFunctionCall","src":"99507:24:21"},"nativeSrc":"99507:24:21","nodeType":"YulExpressionStatement","src":"99507:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99551:4:21","nodeType":"YulLiteral","src":"99551:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"99557:2:21","nodeType":"YulIdentifier","src":"99557:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99544:6:21","nodeType":"YulIdentifier","src":"99544:6:21"},"nativeSrc":"99544:16:21","nodeType":"YulFunctionCall","src":"99544:16:21"},"nativeSrc":"99544:16:21","nodeType":"YulExpressionStatement","src":"99544:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99580:4:21","nodeType":"YulLiteral","src":"99580:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"99586:2:21","nodeType":"YulIdentifier","src":"99586:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99573:6:21","nodeType":"YulIdentifier","src":"99573:6:21"},"nativeSrc":"99573:16:21","nodeType":"YulFunctionCall","src":"99573:16:21"},"nativeSrc":"99573:16:21","nodeType":"YulExpressionStatement","src":"99573:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99609:4:21","nodeType":"YulLiteral","src":"99609:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"99615:2:21","nodeType":"YulIdentifier","src":"99615:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99602:6:21","nodeType":"YulIdentifier","src":"99602:6:21"},"nativeSrc":"99602:16:21","nodeType":"YulFunctionCall","src":"99602:16:21"},"nativeSrc":"99602:16:21","nodeType":"YulExpressionStatement","src":"99602:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99638:4:21","nodeType":"YulLiteral","src":"99638:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"99644:2:21","nodeType":"YulIdentifier","src":"99644:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99631:6:21","nodeType":"YulIdentifier","src":"99631:6:21"},"nativeSrc":"99631:16:21","nodeType":"YulFunctionCall","src":"99631:16:21"},"nativeSrc":"99631:16:21","nodeType":"YulExpressionStatement","src":"99631:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30092,"isOffset":false,"isSlot":false,"src":"99290:2:21","valueSize":1},{"declaration":30095,"isOffset":false,"isSlot":false,"src":"99320:2:21","valueSize":1},{"declaration":30098,"isOffset":false,"isSlot":false,"src":"99350:2:21","valueSize":1},{"declaration":30101,"isOffset":false,"isSlot":false,"src":"99380:2:21","valueSize":1},{"declaration":30104,"isOffset":false,"isSlot":false,"src":"99410:2:21","valueSize":1},{"declaration":30082,"isOffset":false,"isSlot":false,"src":"99557:2:21","valueSize":1},{"declaration":30084,"isOffset":false,"isSlot":false,"src":"99586:2:21","valueSize":1},{"declaration":30086,"isOffset":false,"isSlot":false,"src":"99615:2:21","valueSize":1},{"declaration":30088,"isOffset":false,"isSlot":false,"src":"99644:2:21","valueSize":1}],"id":30106,"nodeType":"InlineAssembly","src":"99267:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"99682:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"99688:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30107,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"99666:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"99666:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30111,"nodeType":"ExpressionStatement","src":"99666:27:21"},{"AST":{"nativeSrc":"99755:156:21","nodeType":"YulBlock","src":"99755:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"99776:4:21","nodeType":"YulLiteral","src":"99776:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"99782:2:21","nodeType":"YulIdentifier","src":"99782:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99769:6:21","nodeType":"YulIdentifier","src":"99769:6:21"},"nativeSrc":"99769:16:21","nodeType":"YulFunctionCall","src":"99769:16:21"},"nativeSrc":"99769:16:21","nodeType":"YulExpressionStatement","src":"99769:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99805:4:21","nodeType":"YulLiteral","src":"99805:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"99811:2:21","nodeType":"YulIdentifier","src":"99811:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99798:6:21","nodeType":"YulIdentifier","src":"99798:6:21"},"nativeSrc":"99798:16:21","nodeType":"YulFunctionCall","src":"99798:16:21"},"nativeSrc":"99798:16:21","nodeType":"YulExpressionStatement","src":"99798:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99834:4:21","nodeType":"YulLiteral","src":"99834:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"99840:2:21","nodeType":"YulIdentifier","src":"99840:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99827:6:21","nodeType":"YulIdentifier","src":"99827:6:21"},"nativeSrc":"99827:16:21","nodeType":"YulFunctionCall","src":"99827:16:21"},"nativeSrc":"99827:16:21","nodeType":"YulExpressionStatement","src":"99827:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99863:4:21","nodeType":"YulLiteral","src":"99863:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"99869:2:21","nodeType":"YulIdentifier","src":"99869:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99856:6:21","nodeType":"YulIdentifier","src":"99856:6:21"},"nativeSrc":"99856:16:21","nodeType":"YulFunctionCall","src":"99856:16:21"},"nativeSrc":"99856:16:21","nodeType":"YulExpressionStatement","src":"99856:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99892:4:21","nodeType":"YulLiteral","src":"99892:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"99898:2:21","nodeType":"YulIdentifier","src":"99898:2:21"}],"functionName":{"name":"mstore","nativeSrc":"99885:6:21","nodeType":"YulIdentifier","src":"99885:6:21"},"nativeSrc":"99885:16:21","nodeType":"YulFunctionCall","src":"99885:16:21"},"nativeSrc":"99885:16:21","nodeType":"YulExpressionStatement","src":"99885:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30092,"isOffset":false,"isSlot":false,"src":"99782:2:21","valueSize":1},{"declaration":30095,"isOffset":false,"isSlot":false,"src":"99811:2:21","valueSize":1},{"declaration":30098,"isOffset":false,"isSlot":false,"src":"99840:2:21","valueSize":1},{"declaration":30101,"isOffset":false,"isSlot":false,"src":"99869:2:21","valueSize":1},{"declaration":30104,"isOffset":false,"isSlot":false,"src":"99898:2:21","valueSize":1}],"id":30112,"nodeType":"InlineAssembly","src":"99746:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"99048:3:21","parameters":{"id":30089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30082,"mutability":"mutable","name":"p0","nameLocation":"99060:2:21","nodeType":"VariableDeclaration","scope":30114,"src":"99052:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30081,"name":"address","nodeType":"ElementaryTypeName","src":"99052:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30084,"mutability":"mutable","name":"p1","nameLocation":"99072:2:21","nodeType":"VariableDeclaration","scope":30114,"src":"99064:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30083,"name":"address","nodeType":"ElementaryTypeName","src":"99064:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30086,"mutability":"mutable","name":"p2","nameLocation":"99084:2:21","nodeType":"VariableDeclaration","scope":30114,"src":"99076:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30085,"name":"uint256","nodeType":"ElementaryTypeName","src":"99076:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30088,"mutability":"mutable","name":"p3","nameLocation":"99096:2:21","nodeType":"VariableDeclaration","scope":30114,"src":"99088:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30087,"name":"address","nodeType":"ElementaryTypeName","src":"99088:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"99051:48:21"},"returnParameters":{"id":30090,"nodeType":"ParameterList","parameters":[],"src":"99114:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30148,"nodeType":"FunctionDefinition","src":"99923:872:21","nodes":[],"body":{"id":30147,"nodeType":"Block","src":"99995:800:21","nodes":[],"statements":[{"assignments":[30126],"declarations":[{"constant":false,"id":30126,"mutability":"mutable","name":"m0","nameLocation":"100013:2:21","nodeType":"VariableDeclaration","scope":30147,"src":"100005:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100005:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30127,"nodeType":"VariableDeclarationStatement","src":"100005:10:21"},{"assignments":[30129],"declarations":[{"constant":false,"id":30129,"mutability":"mutable","name":"m1","nameLocation":"100033:2:21","nodeType":"VariableDeclaration","scope":30147,"src":"100025:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30128,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100025:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30130,"nodeType":"VariableDeclarationStatement","src":"100025:10:21"},{"assignments":[30132],"declarations":[{"constant":false,"id":30132,"mutability":"mutable","name":"m2","nameLocation":"100053:2:21","nodeType":"VariableDeclaration","scope":30147,"src":"100045:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100045:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30133,"nodeType":"VariableDeclarationStatement","src":"100045:10:21"},{"assignments":[30135],"declarations":[{"constant":false,"id":30135,"mutability":"mutable","name":"m3","nameLocation":"100073:2:21","nodeType":"VariableDeclaration","scope":30147,"src":"100065:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100065:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30136,"nodeType":"VariableDeclarationStatement","src":"100065:10:21"},{"assignments":[30138],"declarations":[{"constant":false,"id":30138,"mutability":"mutable","name":"m4","nameLocation":"100093:2:21","nodeType":"VariableDeclaration","scope":30147,"src":"100085:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100085:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30139,"nodeType":"VariableDeclarationStatement","src":"100085:10:21"},{"AST":{"nativeSrc":"100157:378:21","nodeType":"YulBlock","src":"100157:378:21","statements":[{"nativeSrc":"100171:17:21","nodeType":"YulAssignment","src":"100171:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"100183:4:21","nodeType":"YulLiteral","src":"100183:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"100177:5:21","nodeType":"YulIdentifier","src":"100177:5:21"},"nativeSrc":"100177:11:21","nodeType":"YulFunctionCall","src":"100177:11:21"},"variableNames":[{"name":"m0","nativeSrc":"100171:2:21","nodeType":"YulIdentifier","src":"100171:2:21"}]},{"nativeSrc":"100201:17:21","nodeType":"YulAssignment","src":"100201:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"100213:4:21","nodeType":"YulLiteral","src":"100213:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"100207:5:21","nodeType":"YulIdentifier","src":"100207:5:21"},"nativeSrc":"100207:11:21","nodeType":"YulFunctionCall","src":"100207:11:21"},"variableNames":[{"name":"m1","nativeSrc":"100201:2:21","nodeType":"YulIdentifier","src":"100201:2:21"}]},{"nativeSrc":"100231:17:21","nodeType":"YulAssignment","src":"100231:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"100243:4:21","nodeType":"YulLiteral","src":"100243:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"100237:5:21","nodeType":"YulIdentifier","src":"100237:5:21"},"nativeSrc":"100237:11:21","nodeType":"YulFunctionCall","src":"100237:11:21"},"variableNames":[{"name":"m2","nativeSrc":"100231:2:21","nodeType":"YulIdentifier","src":"100231:2:21"}]},{"nativeSrc":"100261:17:21","nodeType":"YulAssignment","src":"100261:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"100273:4:21","nodeType":"YulLiteral","src":"100273:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"100267:5:21","nodeType":"YulIdentifier","src":"100267:5:21"},"nativeSrc":"100267:11:21","nodeType":"YulFunctionCall","src":"100267:11:21"},"variableNames":[{"name":"m3","nativeSrc":"100261:2:21","nodeType":"YulIdentifier","src":"100261:2:21"}]},{"nativeSrc":"100291:17:21","nodeType":"YulAssignment","src":"100291:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"100303:4:21","nodeType":"YulLiteral","src":"100303:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"100297:5:21","nodeType":"YulIdentifier","src":"100297:5:21"},"nativeSrc":"100297:11:21","nodeType":"YulFunctionCall","src":"100297:11:21"},"variableNames":[{"name":"m4","nativeSrc":"100291:2:21","nodeType":"YulIdentifier","src":"100291:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100392:4:21","nodeType":"YulLiteral","src":"100392:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"100398:10:21","nodeType":"YulLiteral","src":"100398:10:21","type":"","value":"0x9b4254e2"}],"functionName":{"name":"mstore","nativeSrc":"100385:6:21","nodeType":"YulIdentifier","src":"100385:6:21"},"nativeSrc":"100385:24:21","nodeType":"YulFunctionCall","src":"100385:24:21"},"nativeSrc":"100385:24:21","nodeType":"YulExpressionStatement","src":"100385:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100429:4:21","nodeType":"YulLiteral","src":"100429:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"100435:2:21","nodeType":"YulIdentifier","src":"100435:2:21"}],"functionName":{"name":"mstore","nativeSrc":"100422:6:21","nodeType":"YulIdentifier","src":"100422:6:21"},"nativeSrc":"100422:16:21","nodeType":"YulFunctionCall","src":"100422:16:21"},"nativeSrc":"100422:16:21","nodeType":"YulExpressionStatement","src":"100422:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100458:4:21","nodeType":"YulLiteral","src":"100458:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"100464:2:21","nodeType":"YulIdentifier","src":"100464:2:21"}],"functionName":{"name":"mstore","nativeSrc":"100451:6:21","nodeType":"YulIdentifier","src":"100451:6:21"},"nativeSrc":"100451:16:21","nodeType":"YulFunctionCall","src":"100451:16:21"},"nativeSrc":"100451:16:21","nodeType":"YulExpressionStatement","src":"100451:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100487:4:21","nodeType":"YulLiteral","src":"100487:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"100493:2:21","nodeType":"YulIdentifier","src":"100493:2:21"}],"functionName":{"name":"mstore","nativeSrc":"100480:6:21","nodeType":"YulIdentifier","src":"100480:6:21"},"nativeSrc":"100480:16:21","nodeType":"YulFunctionCall","src":"100480:16:21"},"nativeSrc":"100480:16:21","nodeType":"YulExpressionStatement","src":"100480:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100516:4:21","nodeType":"YulLiteral","src":"100516:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"100522:2:21","nodeType":"YulIdentifier","src":"100522:2:21"}],"functionName":{"name":"mstore","nativeSrc":"100509:6:21","nodeType":"YulIdentifier","src":"100509:6:21"},"nativeSrc":"100509:16:21","nodeType":"YulFunctionCall","src":"100509:16:21"},"nativeSrc":"100509:16:21","nodeType":"YulExpressionStatement","src":"100509:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30126,"isOffset":false,"isSlot":false,"src":"100171:2:21","valueSize":1},{"declaration":30129,"isOffset":false,"isSlot":false,"src":"100201:2:21","valueSize":1},{"declaration":30132,"isOffset":false,"isSlot":false,"src":"100231:2:21","valueSize":1},{"declaration":30135,"isOffset":false,"isSlot":false,"src":"100261:2:21","valueSize":1},{"declaration":30138,"isOffset":false,"isSlot":false,"src":"100291:2:21","valueSize":1},{"declaration":30116,"isOffset":false,"isSlot":false,"src":"100435:2:21","valueSize":1},{"declaration":30118,"isOffset":false,"isSlot":false,"src":"100464:2:21","valueSize":1},{"declaration":30120,"isOffset":false,"isSlot":false,"src":"100493:2:21","valueSize":1},{"declaration":30122,"isOffset":false,"isSlot":false,"src":"100522:2:21","valueSize":1}],"id":30140,"nodeType":"InlineAssembly","src":"100148:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"100560:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"100566:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30141,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"100544:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"100544:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30145,"nodeType":"ExpressionStatement","src":"100544:27:21"},{"AST":{"nativeSrc":"100633:156:21","nodeType":"YulBlock","src":"100633:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"100654:4:21","nodeType":"YulLiteral","src":"100654:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"100660:2:21","nodeType":"YulIdentifier","src":"100660:2:21"}],"functionName":{"name":"mstore","nativeSrc":"100647:6:21","nodeType":"YulIdentifier","src":"100647:6:21"},"nativeSrc":"100647:16:21","nodeType":"YulFunctionCall","src":"100647:16:21"},"nativeSrc":"100647:16:21","nodeType":"YulExpressionStatement","src":"100647:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100683:4:21","nodeType":"YulLiteral","src":"100683:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"100689:2:21","nodeType":"YulIdentifier","src":"100689:2:21"}],"functionName":{"name":"mstore","nativeSrc":"100676:6:21","nodeType":"YulIdentifier","src":"100676:6:21"},"nativeSrc":"100676:16:21","nodeType":"YulFunctionCall","src":"100676:16:21"},"nativeSrc":"100676:16:21","nodeType":"YulExpressionStatement","src":"100676:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100712:4:21","nodeType":"YulLiteral","src":"100712:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"100718:2:21","nodeType":"YulIdentifier","src":"100718:2:21"}],"functionName":{"name":"mstore","nativeSrc":"100705:6:21","nodeType":"YulIdentifier","src":"100705:6:21"},"nativeSrc":"100705:16:21","nodeType":"YulFunctionCall","src":"100705:16:21"},"nativeSrc":"100705:16:21","nodeType":"YulExpressionStatement","src":"100705:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100741:4:21","nodeType":"YulLiteral","src":"100741:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"100747:2:21","nodeType":"YulIdentifier","src":"100747:2:21"}],"functionName":{"name":"mstore","nativeSrc":"100734:6:21","nodeType":"YulIdentifier","src":"100734:6:21"},"nativeSrc":"100734:16:21","nodeType":"YulFunctionCall","src":"100734:16:21"},"nativeSrc":"100734:16:21","nodeType":"YulExpressionStatement","src":"100734:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100770:4:21","nodeType":"YulLiteral","src":"100770:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"100776:2:21","nodeType":"YulIdentifier","src":"100776:2:21"}],"functionName":{"name":"mstore","nativeSrc":"100763:6:21","nodeType":"YulIdentifier","src":"100763:6:21"},"nativeSrc":"100763:16:21","nodeType":"YulFunctionCall","src":"100763:16:21"},"nativeSrc":"100763:16:21","nodeType":"YulExpressionStatement","src":"100763:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30126,"isOffset":false,"isSlot":false,"src":"100660:2:21","valueSize":1},{"declaration":30129,"isOffset":false,"isSlot":false,"src":"100689:2:21","valueSize":1},{"declaration":30132,"isOffset":false,"isSlot":false,"src":"100718:2:21","valueSize":1},{"declaration":30135,"isOffset":false,"isSlot":false,"src":"100747:2:21","valueSize":1},{"declaration":30138,"isOffset":false,"isSlot":false,"src":"100776:2:21","valueSize":1}],"id":30146,"nodeType":"InlineAssembly","src":"100624:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"99932:3:21","parameters":{"id":30123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30116,"mutability":"mutable","name":"p0","nameLocation":"99944:2:21","nodeType":"VariableDeclaration","scope":30148,"src":"99936:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30115,"name":"address","nodeType":"ElementaryTypeName","src":"99936:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30118,"mutability":"mutable","name":"p1","nameLocation":"99956:2:21","nodeType":"VariableDeclaration","scope":30148,"src":"99948:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30117,"name":"address","nodeType":"ElementaryTypeName","src":"99948:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30120,"mutability":"mutable","name":"p2","nameLocation":"99968:2:21","nodeType":"VariableDeclaration","scope":30148,"src":"99960:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30119,"name":"uint256","nodeType":"ElementaryTypeName","src":"99960:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30122,"mutability":"mutable","name":"p3","nameLocation":"99977:2:21","nodeType":"VariableDeclaration","scope":30148,"src":"99972:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30121,"name":"bool","nodeType":"ElementaryTypeName","src":"99972:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"99935:45:21"},"returnParameters":{"id":30124,"nodeType":"ParameterList","parameters":[],"src":"99995:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30182,"nodeType":"FunctionDefinition","src":"100801:878:21","nodes":[],"body":{"id":30181,"nodeType":"Block","src":"100876:803:21","nodes":[],"statements":[{"assignments":[30160],"declarations":[{"constant":false,"id":30160,"mutability":"mutable","name":"m0","nameLocation":"100894:2:21","nodeType":"VariableDeclaration","scope":30181,"src":"100886:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100886:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30161,"nodeType":"VariableDeclarationStatement","src":"100886:10:21"},{"assignments":[30163],"declarations":[{"constant":false,"id":30163,"mutability":"mutable","name":"m1","nameLocation":"100914:2:21","nodeType":"VariableDeclaration","scope":30181,"src":"100906:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100906:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30164,"nodeType":"VariableDeclarationStatement","src":"100906:10:21"},{"assignments":[30166],"declarations":[{"constant":false,"id":30166,"mutability":"mutable","name":"m2","nameLocation":"100934:2:21","nodeType":"VariableDeclaration","scope":30181,"src":"100926:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100926:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30167,"nodeType":"VariableDeclarationStatement","src":"100926:10:21"},{"assignments":[30169],"declarations":[{"constant":false,"id":30169,"mutability":"mutable","name":"m3","nameLocation":"100954:2:21","nodeType":"VariableDeclaration","scope":30181,"src":"100946:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100946:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30170,"nodeType":"VariableDeclarationStatement","src":"100946:10:21"},{"assignments":[30172],"declarations":[{"constant":false,"id":30172,"mutability":"mutable","name":"m4","nameLocation":"100974:2:21","nodeType":"VariableDeclaration","scope":30181,"src":"100966:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100966:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30173,"nodeType":"VariableDeclarationStatement","src":"100966:10:21"},{"AST":{"nativeSrc":"101038:381:21","nodeType":"YulBlock","src":"101038:381:21","statements":[{"nativeSrc":"101052:17:21","nodeType":"YulAssignment","src":"101052:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"101064:4:21","nodeType":"YulLiteral","src":"101064:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"101058:5:21","nodeType":"YulIdentifier","src":"101058:5:21"},"nativeSrc":"101058:11:21","nodeType":"YulFunctionCall","src":"101058:11:21"},"variableNames":[{"name":"m0","nativeSrc":"101052:2:21","nodeType":"YulIdentifier","src":"101052:2:21"}]},{"nativeSrc":"101082:17:21","nodeType":"YulAssignment","src":"101082:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"101094:4:21","nodeType":"YulLiteral","src":"101094:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"101088:5:21","nodeType":"YulIdentifier","src":"101088:5:21"},"nativeSrc":"101088:11:21","nodeType":"YulFunctionCall","src":"101088:11:21"},"variableNames":[{"name":"m1","nativeSrc":"101082:2:21","nodeType":"YulIdentifier","src":"101082:2:21"}]},{"nativeSrc":"101112:17:21","nodeType":"YulAssignment","src":"101112:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"101124:4:21","nodeType":"YulLiteral","src":"101124:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"101118:5:21","nodeType":"YulIdentifier","src":"101118:5:21"},"nativeSrc":"101118:11:21","nodeType":"YulFunctionCall","src":"101118:11:21"},"variableNames":[{"name":"m2","nativeSrc":"101112:2:21","nodeType":"YulIdentifier","src":"101112:2:21"}]},{"nativeSrc":"101142:17:21","nodeType":"YulAssignment","src":"101142:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"101154:4:21","nodeType":"YulLiteral","src":"101154:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"101148:5:21","nodeType":"YulIdentifier","src":"101148:5:21"},"nativeSrc":"101148:11:21","nodeType":"YulFunctionCall","src":"101148:11:21"},"variableNames":[{"name":"m3","nativeSrc":"101142:2:21","nodeType":"YulIdentifier","src":"101142:2:21"}]},{"nativeSrc":"101172:17:21","nodeType":"YulAssignment","src":"101172:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"101184:4:21","nodeType":"YulLiteral","src":"101184:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"101178:5:21","nodeType":"YulIdentifier","src":"101178:5:21"},"nativeSrc":"101178:11:21","nodeType":"YulFunctionCall","src":"101178:11:21"},"variableNames":[{"name":"m4","nativeSrc":"101172:2:21","nodeType":"YulIdentifier","src":"101172:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101276:4:21","nodeType":"YulLiteral","src":"101276:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"101282:10:21","nodeType":"YulLiteral","src":"101282:10:21","type":"","value":"0xbe553481"}],"functionName":{"name":"mstore","nativeSrc":"101269:6:21","nodeType":"YulIdentifier","src":"101269:6:21"},"nativeSrc":"101269:24:21","nodeType":"YulFunctionCall","src":"101269:24:21"},"nativeSrc":"101269:24:21","nodeType":"YulExpressionStatement","src":"101269:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101313:4:21","nodeType":"YulLiteral","src":"101313:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"101319:2:21","nodeType":"YulIdentifier","src":"101319:2:21"}],"functionName":{"name":"mstore","nativeSrc":"101306:6:21","nodeType":"YulIdentifier","src":"101306:6:21"},"nativeSrc":"101306:16:21","nodeType":"YulFunctionCall","src":"101306:16:21"},"nativeSrc":"101306:16:21","nodeType":"YulExpressionStatement","src":"101306:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101342:4:21","nodeType":"YulLiteral","src":"101342:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"101348:2:21","nodeType":"YulIdentifier","src":"101348:2:21"}],"functionName":{"name":"mstore","nativeSrc":"101335:6:21","nodeType":"YulIdentifier","src":"101335:6:21"},"nativeSrc":"101335:16:21","nodeType":"YulFunctionCall","src":"101335:16:21"},"nativeSrc":"101335:16:21","nodeType":"YulExpressionStatement","src":"101335:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101371:4:21","nodeType":"YulLiteral","src":"101371:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"101377:2:21","nodeType":"YulIdentifier","src":"101377:2:21"}],"functionName":{"name":"mstore","nativeSrc":"101364:6:21","nodeType":"YulIdentifier","src":"101364:6:21"},"nativeSrc":"101364:16:21","nodeType":"YulFunctionCall","src":"101364:16:21"},"nativeSrc":"101364:16:21","nodeType":"YulExpressionStatement","src":"101364:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101400:4:21","nodeType":"YulLiteral","src":"101400:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"101406:2:21","nodeType":"YulIdentifier","src":"101406:2:21"}],"functionName":{"name":"mstore","nativeSrc":"101393:6:21","nodeType":"YulIdentifier","src":"101393:6:21"},"nativeSrc":"101393:16:21","nodeType":"YulFunctionCall","src":"101393:16:21"},"nativeSrc":"101393:16:21","nodeType":"YulExpressionStatement","src":"101393:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30160,"isOffset":false,"isSlot":false,"src":"101052:2:21","valueSize":1},{"declaration":30163,"isOffset":false,"isSlot":false,"src":"101082:2:21","valueSize":1},{"declaration":30166,"isOffset":false,"isSlot":false,"src":"101112:2:21","valueSize":1},{"declaration":30169,"isOffset":false,"isSlot":false,"src":"101142:2:21","valueSize":1},{"declaration":30172,"isOffset":false,"isSlot":false,"src":"101172:2:21","valueSize":1},{"declaration":30150,"isOffset":false,"isSlot":false,"src":"101319:2:21","valueSize":1},{"declaration":30152,"isOffset":false,"isSlot":false,"src":"101348:2:21","valueSize":1},{"declaration":30154,"isOffset":false,"isSlot":false,"src":"101377:2:21","valueSize":1},{"declaration":30156,"isOffset":false,"isSlot":false,"src":"101406:2:21","valueSize":1}],"id":30174,"nodeType":"InlineAssembly","src":"101029:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"101444:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"101450:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"101428:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"101428:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30179,"nodeType":"ExpressionStatement","src":"101428:27:21"},{"AST":{"nativeSrc":"101517:156:21","nodeType":"YulBlock","src":"101517:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"101538:4:21","nodeType":"YulLiteral","src":"101538:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"101544:2:21","nodeType":"YulIdentifier","src":"101544:2:21"}],"functionName":{"name":"mstore","nativeSrc":"101531:6:21","nodeType":"YulIdentifier","src":"101531:6:21"},"nativeSrc":"101531:16:21","nodeType":"YulFunctionCall","src":"101531:16:21"},"nativeSrc":"101531:16:21","nodeType":"YulExpressionStatement","src":"101531:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101567:4:21","nodeType":"YulLiteral","src":"101567:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"101573:2:21","nodeType":"YulIdentifier","src":"101573:2:21"}],"functionName":{"name":"mstore","nativeSrc":"101560:6:21","nodeType":"YulIdentifier","src":"101560:6:21"},"nativeSrc":"101560:16:21","nodeType":"YulFunctionCall","src":"101560:16:21"},"nativeSrc":"101560:16:21","nodeType":"YulExpressionStatement","src":"101560:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101596:4:21","nodeType":"YulLiteral","src":"101596:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"101602:2:21","nodeType":"YulIdentifier","src":"101602:2:21"}],"functionName":{"name":"mstore","nativeSrc":"101589:6:21","nodeType":"YulIdentifier","src":"101589:6:21"},"nativeSrc":"101589:16:21","nodeType":"YulFunctionCall","src":"101589:16:21"},"nativeSrc":"101589:16:21","nodeType":"YulExpressionStatement","src":"101589:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101625:4:21","nodeType":"YulLiteral","src":"101625:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"101631:2:21","nodeType":"YulIdentifier","src":"101631:2:21"}],"functionName":{"name":"mstore","nativeSrc":"101618:6:21","nodeType":"YulIdentifier","src":"101618:6:21"},"nativeSrc":"101618:16:21","nodeType":"YulFunctionCall","src":"101618:16:21"},"nativeSrc":"101618:16:21","nodeType":"YulExpressionStatement","src":"101618:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101654:4:21","nodeType":"YulLiteral","src":"101654:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"101660:2:21","nodeType":"YulIdentifier","src":"101660:2:21"}],"functionName":{"name":"mstore","nativeSrc":"101647:6:21","nodeType":"YulIdentifier","src":"101647:6:21"},"nativeSrc":"101647:16:21","nodeType":"YulFunctionCall","src":"101647:16:21"},"nativeSrc":"101647:16:21","nodeType":"YulExpressionStatement","src":"101647:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30160,"isOffset":false,"isSlot":false,"src":"101544:2:21","valueSize":1},{"declaration":30163,"isOffset":false,"isSlot":false,"src":"101573:2:21","valueSize":1},{"declaration":30166,"isOffset":false,"isSlot":false,"src":"101602:2:21","valueSize":1},{"declaration":30169,"isOffset":false,"isSlot":false,"src":"101631:2:21","valueSize":1},{"declaration":30172,"isOffset":false,"isSlot":false,"src":"101660:2:21","valueSize":1}],"id":30180,"nodeType":"InlineAssembly","src":"101508:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"100810:3:21","parameters":{"id":30157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30150,"mutability":"mutable","name":"p0","nameLocation":"100822:2:21","nodeType":"VariableDeclaration","scope":30182,"src":"100814:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30149,"name":"address","nodeType":"ElementaryTypeName","src":"100814:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30152,"mutability":"mutable","name":"p1","nameLocation":"100834:2:21","nodeType":"VariableDeclaration","scope":30182,"src":"100826:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30151,"name":"address","nodeType":"ElementaryTypeName","src":"100826:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30154,"mutability":"mutable","name":"p2","nameLocation":"100846:2:21","nodeType":"VariableDeclaration","scope":30182,"src":"100838:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30153,"name":"uint256","nodeType":"ElementaryTypeName","src":"100838:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30156,"mutability":"mutable","name":"p3","nameLocation":"100858:2:21","nodeType":"VariableDeclaration","scope":30182,"src":"100850:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30155,"name":"uint256","nodeType":"ElementaryTypeName","src":"100850:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100813:48:21"},"returnParameters":{"id":30158,"nodeType":"ParameterList","parameters":[],"src":"100876:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30222,"nodeType":"FunctionDefinition","src":"101685:1426:21","nodes":[],"body":{"id":30221,"nodeType":"Block","src":"101760:1351:21","nodes":[],"statements":[{"assignments":[30194],"declarations":[{"constant":false,"id":30194,"mutability":"mutable","name":"m0","nameLocation":"101778:2:21","nodeType":"VariableDeclaration","scope":30221,"src":"101770:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101770:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30195,"nodeType":"VariableDeclarationStatement","src":"101770:10:21"},{"assignments":[30197],"declarations":[{"constant":false,"id":30197,"mutability":"mutable","name":"m1","nameLocation":"101798:2:21","nodeType":"VariableDeclaration","scope":30221,"src":"101790:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101790:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30198,"nodeType":"VariableDeclarationStatement","src":"101790:10:21"},{"assignments":[30200],"declarations":[{"constant":false,"id":30200,"mutability":"mutable","name":"m2","nameLocation":"101818:2:21","nodeType":"VariableDeclaration","scope":30221,"src":"101810:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101810:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30201,"nodeType":"VariableDeclarationStatement","src":"101810:10:21"},{"assignments":[30203],"declarations":[{"constant":false,"id":30203,"mutability":"mutable","name":"m3","nameLocation":"101838:2:21","nodeType":"VariableDeclaration","scope":30221,"src":"101830:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101830:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30204,"nodeType":"VariableDeclarationStatement","src":"101830:10:21"},{"assignments":[30206],"declarations":[{"constant":false,"id":30206,"mutability":"mutable","name":"m4","nameLocation":"101858:2:21","nodeType":"VariableDeclaration","scope":30221,"src":"101850:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101850:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30207,"nodeType":"VariableDeclarationStatement","src":"101850:10:21"},{"assignments":[30209],"declarations":[{"constant":false,"id":30209,"mutability":"mutable","name":"m5","nameLocation":"101878:2:21","nodeType":"VariableDeclaration","scope":30221,"src":"101870:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101870:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30210,"nodeType":"VariableDeclarationStatement","src":"101870:10:21"},{"assignments":[30212],"declarations":[{"constant":false,"id":30212,"mutability":"mutable","name":"m6","nameLocation":"101898:2:21","nodeType":"VariableDeclaration","scope":30221,"src":"101890:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101890:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30213,"nodeType":"VariableDeclarationStatement","src":"101890:10:21"},{"AST":{"nativeSrc":"101962:831:21","nodeType":"YulBlock","src":"101962:831:21","statements":[{"body":{"nativeSrc":"102005:313:21","nodeType":"YulBlock","src":"102005:313:21","statements":[{"nativeSrc":"102023:15:21","nodeType":"YulVariableDeclaration","src":"102023:15:21","value":{"kind":"number","nativeSrc":"102037:1:21","nodeType":"YulLiteral","src":"102037:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"102027:6:21","nodeType":"YulTypedName","src":"102027:6:21","type":""}]},{"body":{"nativeSrc":"102108:40:21","nodeType":"YulBlock","src":"102108:40:21","statements":[{"body":{"nativeSrc":"102137:9:21","nodeType":"YulBlock","src":"102137:9:21","statements":[{"nativeSrc":"102139:5:21","nodeType":"YulBreak","src":"102139:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"102125:6:21","nodeType":"YulIdentifier","src":"102125:6:21"},{"name":"w","nativeSrc":"102133:1:21","nodeType":"YulIdentifier","src":"102133:1:21"}],"functionName":{"name":"byte","nativeSrc":"102120:4:21","nodeType":"YulIdentifier","src":"102120:4:21"},"nativeSrc":"102120:15:21","nodeType":"YulFunctionCall","src":"102120:15:21"}],"functionName":{"name":"iszero","nativeSrc":"102113:6:21","nodeType":"YulIdentifier","src":"102113:6:21"},"nativeSrc":"102113:23:21","nodeType":"YulFunctionCall","src":"102113:23:21"},"nativeSrc":"102110:36:21","nodeType":"YulIf","src":"102110:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"102065:6:21","nodeType":"YulIdentifier","src":"102065:6:21"},{"kind":"number","nativeSrc":"102073:4:21","nodeType":"YulLiteral","src":"102073:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"102062:2:21","nodeType":"YulIdentifier","src":"102062:2:21"},"nativeSrc":"102062:16:21","nodeType":"YulFunctionCall","src":"102062:16:21"},"nativeSrc":"102055:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"102079:28:21","nodeType":"YulBlock","src":"102079:28:21","statements":[{"nativeSrc":"102081:24:21","nodeType":"YulAssignment","src":"102081:24:21","value":{"arguments":[{"name":"length","nativeSrc":"102095:6:21","nodeType":"YulIdentifier","src":"102095:6:21"},{"kind":"number","nativeSrc":"102103:1:21","nodeType":"YulLiteral","src":"102103:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"102091:3:21","nodeType":"YulIdentifier","src":"102091:3:21"},"nativeSrc":"102091:14:21","nodeType":"YulFunctionCall","src":"102091:14:21"},"variableNames":[{"name":"length","nativeSrc":"102081:6:21","nodeType":"YulIdentifier","src":"102081:6:21"}]}]},"pre":{"nativeSrc":"102059:2:21","nodeType":"YulBlock","src":"102059:2:21","statements":[]},"src":"102055:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"102172:3:21","nodeType":"YulIdentifier","src":"102172:3:21"},{"name":"length","nativeSrc":"102177:6:21","nodeType":"YulIdentifier","src":"102177:6:21"}],"functionName":{"name":"mstore","nativeSrc":"102165:6:21","nodeType":"YulIdentifier","src":"102165:6:21"},"nativeSrc":"102165:19:21","nodeType":"YulFunctionCall","src":"102165:19:21"},"nativeSrc":"102165:19:21","nodeType":"YulExpressionStatement","src":"102165:19:21"},{"nativeSrc":"102201:37:21","nodeType":"YulVariableDeclaration","src":"102201:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"102218:3:21","nodeType":"YulLiteral","src":"102218:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"102227:1:21","nodeType":"YulLiteral","src":"102227:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"102230:6:21","nodeType":"YulIdentifier","src":"102230:6:21"}],"functionName":{"name":"shl","nativeSrc":"102223:3:21","nodeType":"YulIdentifier","src":"102223:3:21"},"nativeSrc":"102223:14:21","nodeType":"YulFunctionCall","src":"102223:14:21"}],"functionName":{"name":"sub","nativeSrc":"102214:3:21","nodeType":"YulIdentifier","src":"102214:3:21"},"nativeSrc":"102214:24:21","nodeType":"YulFunctionCall","src":"102214:24:21"},"variables":[{"name":"shift","nativeSrc":"102205:5:21","nodeType":"YulTypedName","src":"102205:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"102266:3:21","nodeType":"YulIdentifier","src":"102266:3:21"},{"kind":"number","nativeSrc":"102271:4:21","nodeType":"YulLiteral","src":"102271:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"102262:3:21","nodeType":"YulIdentifier","src":"102262:3:21"},"nativeSrc":"102262:14:21","nodeType":"YulFunctionCall","src":"102262:14:21"},{"arguments":[{"name":"shift","nativeSrc":"102282:5:21","nodeType":"YulIdentifier","src":"102282:5:21"},{"arguments":[{"name":"shift","nativeSrc":"102293:5:21","nodeType":"YulIdentifier","src":"102293:5:21"},{"name":"w","nativeSrc":"102300:1:21","nodeType":"YulIdentifier","src":"102300:1:21"}],"functionName":{"name":"shr","nativeSrc":"102289:3:21","nodeType":"YulIdentifier","src":"102289:3:21"},"nativeSrc":"102289:13:21","nodeType":"YulFunctionCall","src":"102289:13:21"}],"functionName":{"name":"shl","nativeSrc":"102278:3:21","nodeType":"YulIdentifier","src":"102278:3:21"},"nativeSrc":"102278:25:21","nodeType":"YulFunctionCall","src":"102278:25:21"}],"functionName":{"name":"mstore","nativeSrc":"102255:6:21","nodeType":"YulIdentifier","src":"102255:6:21"},"nativeSrc":"102255:49:21","nodeType":"YulFunctionCall","src":"102255:49:21"},"nativeSrc":"102255:49:21","nodeType":"YulExpressionStatement","src":"102255:49:21"}]},"name":"writeString","nativeSrc":"101976:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"101997:3:21","nodeType":"YulTypedName","src":"101997:3:21","type":""},{"name":"w","nativeSrc":"102002:1:21","nodeType":"YulTypedName","src":"102002:1:21","type":""}],"src":"101976:342:21"},{"nativeSrc":"102331:17:21","nodeType":"YulAssignment","src":"102331:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"102343:4:21","nodeType":"YulLiteral","src":"102343:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"102337:5:21","nodeType":"YulIdentifier","src":"102337:5:21"},"nativeSrc":"102337:11:21","nodeType":"YulFunctionCall","src":"102337:11:21"},"variableNames":[{"name":"m0","nativeSrc":"102331:2:21","nodeType":"YulIdentifier","src":"102331:2:21"}]},{"nativeSrc":"102361:17:21","nodeType":"YulAssignment","src":"102361:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"102373:4:21","nodeType":"YulLiteral","src":"102373:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"102367:5:21","nodeType":"YulIdentifier","src":"102367:5:21"},"nativeSrc":"102367:11:21","nodeType":"YulFunctionCall","src":"102367:11:21"},"variableNames":[{"name":"m1","nativeSrc":"102361:2:21","nodeType":"YulIdentifier","src":"102361:2:21"}]},{"nativeSrc":"102391:17:21","nodeType":"YulAssignment","src":"102391:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"102403:4:21","nodeType":"YulLiteral","src":"102403:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"102397:5:21","nodeType":"YulIdentifier","src":"102397:5:21"},"nativeSrc":"102397:11:21","nodeType":"YulFunctionCall","src":"102397:11:21"},"variableNames":[{"name":"m2","nativeSrc":"102391:2:21","nodeType":"YulIdentifier","src":"102391:2:21"}]},{"nativeSrc":"102421:17:21","nodeType":"YulAssignment","src":"102421:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"102433:4:21","nodeType":"YulLiteral","src":"102433:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"102427:5:21","nodeType":"YulIdentifier","src":"102427:5:21"},"nativeSrc":"102427:11:21","nodeType":"YulFunctionCall","src":"102427:11:21"},"variableNames":[{"name":"m3","nativeSrc":"102421:2:21","nodeType":"YulIdentifier","src":"102421:2:21"}]},{"nativeSrc":"102451:17:21","nodeType":"YulAssignment","src":"102451:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"102463:4:21","nodeType":"YulLiteral","src":"102463:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"102457:5:21","nodeType":"YulIdentifier","src":"102457:5:21"},"nativeSrc":"102457:11:21","nodeType":"YulFunctionCall","src":"102457:11:21"},"variableNames":[{"name":"m4","nativeSrc":"102451:2:21","nodeType":"YulIdentifier","src":"102451:2:21"}]},{"nativeSrc":"102481:17:21","nodeType":"YulAssignment","src":"102481:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"102493:4:21","nodeType":"YulLiteral","src":"102493:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"102487:5:21","nodeType":"YulIdentifier","src":"102487:5:21"},"nativeSrc":"102487:11:21","nodeType":"YulFunctionCall","src":"102487:11:21"},"variableNames":[{"name":"m5","nativeSrc":"102481:2:21","nodeType":"YulIdentifier","src":"102481:2:21"}]},{"nativeSrc":"102511:17:21","nodeType":"YulAssignment","src":"102511:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"102523:4:21","nodeType":"YulLiteral","src":"102523:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"102517:5:21","nodeType":"YulIdentifier","src":"102517:5:21"},"nativeSrc":"102517:11:21","nodeType":"YulFunctionCall","src":"102517:11:21"},"variableNames":[{"name":"m6","nativeSrc":"102511:2:21","nodeType":"YulIdentifier","src":"102511:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102614:4:21","nodeType":"YulLiteral","src":"102614:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"102620:10:21","nodeType":"YulLiteral","src":"102620:10:21","type":"","value":"0xfdb4f990"}],"functionName":{"name":"mstore","nativeSrc":"102607:6:21","nodeType":"YulIdentifier","src":"102607:6:21"},"nativeSrc":"102607:24:21","nodeType":"YulFunctionCall","src":"102607:24:21"},"nativeSrc":"102607:24:21","nodeType":"YulExpressionStatement","src":"102607:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102651:4:21","nodeType":"YulLiteral","src":"102651:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"102657:2:21","nodeType":"YulIdentifier","src":"102657:2:21"}],"functionName":{"name":"mstore","nativeSrc":"102644:6:21","nodeType":"YulIdentifier","src":"102644:6:21"},"nativeSrc":"102644:16:21","nodeType":"YulFunctionCall","src":"102644:16:21"},"nativeSrc":"102644:16:21","nodeType":"YulExpressionStatement","src":"102644:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102680:4:21","nodeType":"YulLiteral","src":"102680:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"102686:2:21","nodeType":"YulIdentifier","src":"102686:2:21"}],"functionName":{"name":"mstore","nativeSrc":"102673:6:21","nodeType":"YulIdentifier","src":"102673:6:21"},"nativeSrc":"102673:16:21","nodeType":"YulFunctionCall","src":"102673:16:21"},"nativeSrc":"102673:16:21","nodeType":"YulExpressionStatement","src":"102673:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102709:4:21","nodeType":"YulLiteral","src":"102709:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"102715:2:21","nodeType":"YulIdentifier","src":"102715:2:21"}],"functionName":{"name":"mstore","nativeSrc":"102702:6:21","nodeType":"YulIdentifier","src":"102702:6:21"},"nativeSrc":"102702:16:21","nodeType":"YulFunctionCall","src":"102702:16:21"},"nativeSrc":"102702:16:21","nodeType":"YulExpressionStatement","src":"102702:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102738:4:21","nodeType":"YulLiteral","src":"102738:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"102744:4:21","nodeType":"YulLiteral","src":"102744:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"102731:6:21","nodeType":"YulIdentifier","src":"102731:6:21"},"nativeSrc":"102731:18:21","nodeType":"YulFunctionCall","src":"102731:18:21"},"nativeSrc":"102731:18:21","nodeType":"YulExpressionStatement","src":"102731:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102774:4:21","nodeType":"YulLiteral","src":"102774:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"102780:2:21","nodeType":"YulIdentifier","src":"102780:2:21"}],"functionName":{"name":"writeString","nativeSrc":"102762:11:21","nodeType":"YulIdentifier","src":"102762:11:21"},"nativeSrc":"102762:21:21","nodeType":"YulFunctionCall","src":"102762:21:21"},"nativeSrc":"102762:21:21","nodeType":"YulExpressionStatement","src":"102762:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30194,"isOffset":false,"isSlot":false,"src":"102331:2:21","valueSize":1},{"declaration":30197,"isOffset":false,"isSlot":false,"src":"102361:2:21","valueSize":1},{"declaration":30200,"isOffset":false,"isSlot":false,"src":"102391:2:21","valueSize":1},{"declaration":30203,"isOffset":false,"isSlot":false,"src":"102421:2:21","valueSize":1},{"declaration":30206,"isOffset":false,"isSlot":false,"src":"102451:2:21","valueSize":1},{"declaration":30209,"isOffset":false,"isSlot":false,"src":"102481:2:21","valueSize":1},{"declaration":30212,"isOffset":false,"isSlot":false,"src":"102511:2:21","valueSize":1},{"declaration":30184,"isOffset":false,"isSlot":false,"src":"102657:2:21","valueSize":1},{"declaration":30186,"isOffset":false,"isSlot":false,"src":"102686:2:21","valueSize":1},{"declaration":30188,"isOffset":false,"isSlot":false,"src":"102715:2:21","valueSize":1},{"declaration":30190,"isOffset":false,"isSlot":false,"src":"102780:2:21","valueSize":1}],"id":30214,"nodeType":"InlineAssembly","src":"101953:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"102818:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"102824:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30215,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"102802:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"102802:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30219,"nodeType":"ExpressionStatement","src":"102802:27:21"},{"AST":{"nativeSrc":"102891:214:21","nodeType":"YulBlock","src":"102891:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"102912:4:21","nodeType":"YulLiteral","src":"102912:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"102918:2:21","nodeType":"YulIdentifier","src":"102918:2:21"}],"functionName":{"name":"mstore","nativeSrc":"102905:6:21","nodeType":"YulIdentifier","src":"102905:6:21"},"nativeSrc":"102905:16:21","nodeType":"YulFunctionCall","src":"102905:16:21"},"nativeSrc":"102905:16:21","nodeType":"YulExpressionStatement","src":"102905:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102941:4:21","nodeType":"YulLiteral","src":"102941:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"102947:2:21","nodeType":"YulIdentifier","src":"102947:2:21"}],"functionName":{"name":"mstore","nativeSrc":"102934:6:21","nodeType":"YulIdentifier","src":"102934:6:21"},"nativeSrc":"102934:16:21","nodeType":"YulFunctionCall","src":"102934:16:21"},"nativeSrc":"102934:16:21","nodeType":"YulExpressionStatement","src":"102934:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102970:4:21","nodeType":"YulLiteral","src":"102970:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"102976:2:21","nodeType":"YulIdentifier","src":"102976:2:21"}],"functionName":{"name":"mstore","nativeSrc":"102963:6:21","nodeType":"YulIdentifier","src":"102963:6:21"},"nativeSrc":"102963:16:21","nodeType":"YulFunctionCall","src":"102963:16:21"},"nativeSrc":"102963:16:21","nodeType":"YulExpressionStatement","src":"102963:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102999:4:21","nodeType":"YulLiteral","src":"102999:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"103005:2:21","nodeType":"YulIdentifier","src":"103005:2:21"}],"functionName":{"name":"mstore","nativeSrc":"102992:6:21","nodeType":"YulIdentifier","src":"102992:6:21"},"nativeSrc":"102992:16:21","nodeType":"YulFunctionCall","src":"102992:16:21"},"nativeSrc":"102992:16:21","nodeType":"YulExpressionStatement","src":"102992:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"103028:4:21","nodeType":"YulLiteral","src":"103028:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"103034:2:21","nodeType":"YulIdentifier","src":"103034:2:21"}],"functionName":{"name":"mstore","nativeSrc":"103021:6:21","nodeType":"YulIdentifier","src":"103021:6:21"},"nativeSrc":"103021:16:21","nodeType":"YulFunctionCall","src":"103021:16:21"},"nativeSrc":"103021:16:21","nodeType":"YulExpressionStatement","src":"103021:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"103057:4:21","nodeType":"YulLiteral","src":"103057:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"103063:2:21","nodeType":"YulIdentifier","src":"103063:2:21"}],"functionName":{"name":"mstore","nativeSrc":"103050:6:21","nodeType":"YulIdentifier","src":"103050:6:21"},"nativeSrc":"103050:16:21","nodeType":"YulFunctionCall","src":"103050:16:21"},"nativeSrc":"103050:16:21","nodeType":"YulExpressionStatement","src":"103050:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"103086:4:21","nodeType":"YulLiteral","src":"103086:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"103092:2:21","nodeType":"YulIdentifier","src":"103092:2:21"}],"functionName":{"name":"mstore","nativeSrc":"103079:6:21","nodeType":"YulIdentifier","src":"103079:6:21"},"nativeSrc":"103079:16:21","nodeType":"YulFunctionCall","src":"103079:16:21"},"nativeSrc":"103079:16:21","nodeType":"YulExpressionStatement","src":"103079:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30194,"isOffset":false,"isSlot":false,"src":"102918:2:21","valueSize":1},{"declaration":30197,"isOffset":false,"isSlot":false,"src":"102947:2:21","valueSize":1},{"declaration":30200,"isOffset":false,"isSlot":false,"src":"102976:2:21","valueSize":1},{"declaration":30203,"isOffset":false,"isSlot":false,"src":"103005:2:21","valueSize":1},{"declaration":30206,"isOffset":false,"isSlot":false,"src":"103034:2:21","valueSize":1},{"declaration":30209,"isOffset":false,"isSlot":false,"src":"103063:2:21","valueSize":1},{"declaration":30212,"isOffset":false,"isSlot":false,"src":"103092:2:21","valueSize":1}],"id":30220,"nodeType":"InlineAssembly","src":"102882:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"101694:3:21","parameters":{"id":30191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30184,"mutability":"mutable","name":"p0","nameLocation":"101706:2:21","nodeType":"VariableDeclaration","scope":30222,"src":"101698:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30183,"name":"address","nodeType":"ElementaryTypeName","src":"101698:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30186,"mutability":"mutable","name":"p1","nameLocation":"101718:2:21","nodeType":"VariableDeclaration","scope":30222,"src":"101710:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30185,"name":"address","nodeType":"ElementaryTypeName","src":"101710:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30188,"mutability":"mutable","name":"p2","nameLocation":"101730:2:21","nodeType":"VariableDeclaration","scope":30222,"src":"101722:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30187,"name":"uint256","nodeType":"ElementaryTypeName","src":"101722:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30190,"mutability":"mutable","name":"p3","nameLocation":"101742:2:21","nodeType":"VariableDeclaration","scope":30222,"src":"101734:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101734:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"101697:48:21"},"returnParameters":{"id":30192,"nodeType":"ParameterList","parameters":[],"src":"101760:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30262,"nodeType":"FunctionDefinition","src":"103117:1426:21","nodes":[],"body":{"id":30261,"nodeType":"Block","src":"103192:1351:21","nodes":[],"statements":[{"assignments":[30234],"declarations":[{"constant":false,"id":30234,"mutability":"mutable","name":"m0","nameLocation":"103210:2:21","nodeType":"VariableDeclaration","scope":30261,"src":"103202:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103202:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30235,"nodeType":"VariableDeclarationStatement","src":"103202:10:21"},{"assignments":[30237],"declarations":[{"constant":false,"id":30237,"mutability":"mutable","name":"m1","nameLocation":"103230:2:21","nodeType":"VariableDeclaration","scope":30261,"src":"103222:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103222:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30238,"nodeType":"VariableDeclarationStatement","src":"103222:10:21"},{"assignments":[30240],"declarations":[{"constant":false,"id":30240,"mutability":"mutable","name":"m2","nameLocation":"103250:2:21","nodeType":"VariableDeclaration","scope":30261,"src":"103242:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103242:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30241,"nodeType":"VariableDeclarationStatement","src":"103242:10:21"},{"assignments":[30243],"declarations":[{"constant":false,"id":30243,"mutability":"mutable","name":"m3","nameLocation":"103270:2:21","nodeType":"VariableDeclaration","scope":30261,"src":"103262:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103262:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30244,"nodeType":"VariableDeclarationStatement","src":"103262:10:21"},{"assignments":[30246],"declarations":[{"constant":false,"id":30246,"mutability":"mutable","name":"m4","nameLocation":"103290:2:21","nodeType":"VariableDeclaration","scope":30261,"src":"103282:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103282:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30247,"nodeType":"VariableDeclarationStatement","src":"103282:10:21"},{"assignments":[30249],"declarations":[{"constant":false,"id":30249,"mutability":"mutable","name":"m5","nameLocation":"103310:2:21","nodeType":"VariableDeclaration","scope":30261,"src":"103302:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103302:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30250,"nodeType":"VariableDeclarationStatement","src":"103302:10:21"},{"assignments":[30252],"declarations":[{"constant":false,"id":30252,"mutability":"mutable","name":"m6","nameLocation":"103330:2:21","nodeType":"VariableDeclaration","scope":30261,"src":"103322:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103322:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30253,"nodeType":"VariableDeclarationStatement","src":"103322:10:21"},{"AST":{"nativeSrc":"103394:831:21","nodeType":"YulBlock","src":"103394:831:21","statements":[{"body":{"nativeSrc":"103437:313:21","nodeType":"YulBlock","src":"103437:313:21","statements":[{"nativeSrc":"103455:15:21","nodeType":"YulVariableDeclaration","src":"103455:15:21","value":{"kind":"number","nativeSrc":"103469:1:21","nodeType":"YulLiteral","src":"103469:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"103459:6:21","nodeType":"YulTypedName","src":"103459:6:21","type":""}]},{"body":{"nativeSrc":"103540:40:21","nodeType":"YulBlock","src":"103540:40:21","statements":[{"body":{"nativeSrc":"103569:9:21","nodeType":"YulBlock","src":"103569:9:21","statements":[{"nativeSrc":"103571:5:21","nodeType":"YulBreak","src":"103571:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"103557:6:21","nodeType":"YulIdentifier","src":"103557:6:21"},{"name":"w","nativeSrc":"103565:1:21","nodeType":"YulIdentifier","src":"103565:1:21"}],"functionName":{"name":"byte","nativeSrc":"103552:4:21","nodeType":"YulIdentifier","src":"103552:4:21"},"nativeSrc":"103552:15:21","nodeType":"YulFunctionCall","src":"103552:15:21"}],"functionName":{"name":"iszero","nativeSrc":"103545:6:21","nodeType":"YulIdentifier","src":"103545:6:21"},"nativeSrc":"103545:23:21","nodeType":"YulFunctionCall","src":"103545:23:21"},"nativeSrc":"103542:36:21","nodeType":"YulIf","src":"103542:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"103497:6:21","nodeType":"YulIdentifier","src":"103497:6:21"},{"kind":"number","nativeSrc":"103505:4:21","nodeType":"YulLiteral","src":"103505:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"103494:2:21","nodeType":"YulIdentifier","src":"103494:2:21"},"nativeSrc":"103494:16:21","nodeType":"YulFunctionCall","src":"103494:16:21"},"nativeSrc":"103487:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"103511:28:21","nodeType":"YulBlock","src":"103511:28:21","statements":[{"nativeSrc":"103513:24:21","nodeType":"YulAssignment","src":"103513:24:21","value":{"arguments":[{"name":"length","nativeSrc":"103527:6:21","nodeType":"YulIdentifier","src":"103527:6:21"},{"kind":"number","nativeSrc":"103535:1:21","nodeType":"YulLiteral","src":"103535:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"103523:3:21","nodeType":"YulIdentifier","src":"103523:3:21"},"nativeSrc":"103523:14:21","nodeType":"YulFunctionCall","src":"103523:14:21"},"variableNames":[{"name":"length","nativeSrc":"103513:6:21","nodeType":"YulIdentifier","src":"103513:6:21"}]}]},"pre":{"nativeSrc":"103491:2:21","nodeType":"YulBlock","src":"103491:2:21","statements":[]},"src":"103487:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"103604:3:21","nodeType":"YulIdentifier","src":"103604:3:21"},{"name":"length","nativeSrc":"103609:6:21","nodeType":"YulIdentifier","src":"103609:6:21"}],"functionName":{"name":"mstore","nativeSrc":"103597:6:21","nodeType":"YulIdentifier","src":"103597:6:21"},"nativeSrc":"103597:19:21","nodeType":"YulFunctionCall","src":"103597:19:21"},"nativeSrc":"103597:19:21","nodeType":"YulExpressionStatement","src":"103597:19:21"},{"nativeSrc":"103633:37:21","nodeType":"YulVariableDeclaration","src":"103633:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"103650:3:21","nodeType":"YulLiteral","src":"103650:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"103659:1:21","nodeType":"YulLiteral","src":"103659:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"103662:6:21","nodeType":"YulIdentifier","src":"103662:6:21"}],"functionName":{"name":"shl","nativeSrc":"103655:3:21","nodeType":"YulIdentifier","src":"103655:3:21"},"nativeSrc":"103655:14:21","nodeType":"YulFunctionCall","src":"103655:14:21"}],"functionName":{"name":"sub","nativeSrc":"103646:3:21","nodeType":"YulIdentifier","src":"103646:3:21"},"nativeSrc":"103646:24:21","nodeType":"YulFunctionCall","src":"103646:24:21"},"variables":[{"name":"shift","nativeSrc":"103637:5:21","nodeType":"YulTypedName","src":"103637:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"103698:3:21","nodeType":"YulIdentifier","src":"103698:3:21"},{"kind":"number","nativeSrc":"103703:4:21","nodeType":"YulLiteral","src":"103703:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"103694:3:21","nodeType":"YulIdentifier","src":"103694:3:21"},"nativeSrc":"103694:14:21","nodeType":"YulFunctionCall","src":"103694:14:21"},{"arguments":[{"name":"shift","nativeSrc":"103714:5:21","nodeType":"YulIdentifier","src":"103714:5:21"},{"arguments":[{"name":"shift","nativeSrc":"103725:5:21","nodeType":"YulIdentifier","src":"103725:5:21"},{"name":"w","nativeSrc":"103732:1:21","nodeType":"YulIdentifier","src":"103732:1:21"}],"functionName":{"name":"shr","nativeSrc":"103721:3:21","nodeType":"YulIdentifier","src":"103721:3:21"},"nativeSrc":"103721:13:21","nodeType":"YulFunctionCall","src":"103721:13:21"}],"functionName":{"name":"shl","nativeSrc":"103710:3:21","nodeType":"YulIdentifier","src":"103710:3:21"},"nativeSrc":"103710:25:21","nodeType":"YulFunctionCall","src":"103710:25:21"}],"functionName":{"name":"mstore","nativeSrc":"103687:6:21","nodeType":"YulIdentifier","src":"103687:6:21"},"nativeSrc":"103687:49:21","nodeType":"YulFunctionCall","src":"103687:49:21"},"nativeSrc":"103687:49:21","nodeType":"YulExpressionStatement","src":"103687:49:21"}]},"name":"writeString","nativeSrc":"103408:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"103429:3:21","nodeType":"YulTypedName","src":"103429:3:21","type":""},{"name":"w","nativeSrc":"103434:1:21","nodeType":"YulTypedName","src":"103434:1:21","type":""}],"src":"103408:342:21"},{"nativeSrc":"103763:17:21","nodeType":"YulAssignment","src":"103763:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"103775:4:21","nodeType":"YulLiteral","src":"103775:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"103769:5:21","nodeType":"YulIdentifier","src":"103769:5:21"},"nativeSrc":"103769:11:21","nodeType":"YulFunctionCall","src":"103769:11:21"},"variableNames":[{"name":"m0","nativeSrc":"103763:2:21","nodeType":"YulIdentifier","src":"103763:2:21"}]},{"nativeSrc":"103793:17:21","nodeType":"YulAssignment","src":"103793:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"103805:4:21","nodeType":"YulLiteral","src":"103805:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"103799:5:21","nodeType":"YulIdentifier","src":"103799:5:21"},"nativeSrc":"103799:11:21","nodeType":"YulFunctionCall","src":"103799:11:21"},"variableNames":[{"name":"m1","nativeSrc":"103793:2:21","nodeType":"YulIdentifier","src":"103793:2:21"}]},{"nativeSrc":"103823:17:21","nodeType":"YulAssignment","src":"103823:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"103835:4:21","nodeType":"YulLiteral","src":"103835:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"103829:5:21","nodeType":"YulIdentifier","src":"103829:5:21"},"nativeSrc":"103829:11:21","nodeType":"YulFunctionCall","src":"103829:11:21"},"variableNames":[{"name":"m2","nativeSrc":"103823:2:21","nodeType":"YulIdentifier","src":"103823:2:21"}]},{"nativeSrc":"103853:17:21","nodeType":"YulAssignment","src":"103853:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"103865:4:21","nodeType":"YulLiteral","src":"103865:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"103859:5:21","nodeType":"YulIdentifier","src":"103859:5:21"},"nativeSrc":"103859:11:21","nodeType":"YulFunctionCall","src":"103859:11:21"},"variableNames":[{"name":"m3","nativeSrc":"103853:2:21","nodeType":"YulIdentifier","src":"103853:2:21"}]},{"nativeSrc":"103883:17:21","nodeType":"YulAssignment","src":"103883:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"103895:4:21","nodeType":"YulLiteral","src":"103895:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"103889:5:21","nodeType":"YulIdentifier","src":"103889:5:21"},"nativeSrc":"103889:11:21","nodeType":"YulFunctionCall","src":"103889:11:21"},"variableNames":[{"name":"m4","nativeSrc":"103883:2:21","nodeType":"YulIdentifier","src":"103883:2:21"}]},{"nativeSrc":"103913:17:21","nodeType":"YulAssignment","src":"103913:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"103925:4:21","nodeType":"YulLiteral","src":"103925:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"103919:5:21","nodeType":"YulIdentifier","src":"103919:5:21"},"nativeSrc":"103919:11:21","nodeType":"YulFunctionCall","src":"103919:11:21"},"variableNames":[{"name":"m5","nativeSrc":"103913:2:21","nodeType":"YulIdentifier","src":"103913:2:21"}]},{"nativeSrc":"103943:17:21","nodeType":"YulAssignment","src":"103943:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"103955:4:21","nodeType":"YulLiteral","src":"103955:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"103949:5:21","nodeType":"YulIdentifier","src":"103949:5:21"},"nativeSrc":"103949:11:21","nodeType":"YulFunctionCall","src":"103949:11:21"},"variableNames":[{"name":"m6","nativeSrc":"103943:2:21","nodeType":"YulIdentifier","src":"103943:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104046:4:21","nodeType":"YulLiteral","src":"104046:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"104052:10:21","nodeType":"YulLiteral","src":"104052:10:21","type":"","value":"0x8f736d16"}],"functionName":{"name":"mstore","nativeSrc":"104039:6:21","nodeType":"YulIdentifier","src":"104039:6:21"},"nativeSrc":"104039:24:21","nodeType":"YulFunctionCall","src":"104039:24:21"},"nativeSrc":"104039:24:21","nodeType":"YulExpressionStatement","src":"104039:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104083:4:21","nodeType":"YulLiteral","src":"104083:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"104089:2:21","nodeType":"YulIdentifier","src":"104089:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104076:6:21","nodeType":"YulIdentifier","src":"104076:6:21"},"nativeSrc":"104076:16:21","nodeType":"YulFunctionCall","src":"104076:16:21"},"nativeSrc":"104076:16:21","nodeType":"YulExpressionStatement","src":"104076:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104112:4:21","nodeType":"YulLiteral","src":"104112:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"104118:2:21","nodeType":"YulIdentifier","src":"104118:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104105:6:21","nodeType":"YulIdentifier","src":"104105:6:21"},"nativeSrc":"104105:16:21","nodeType":"YulFunctionCall","src":"104105:16:21"},"nativeSrc":"104105:16:21","nodeType":"YulExpressionStatement","src":"104105:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104141:4:21","nodeType":"YulLiteral","src":"104141:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"104147:4:21","nodeType":"YulLiteral","src":"104147:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"104134:6:21","nodeType":"YulIdentifier","src":"104134:6:21"},"nativeSrc":"104134:18:21","nodeType":"YulFunctionCall","src":"104134:18:21"},"nativeSrc":"104134:18:21","nodeType":"YulExpressionStatement","src":"104134:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104172:4:21","nodeType":"YulLiteral","src":"104172:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"104178:2:21","nodeType":"YulIdentifier","src":"104178:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104165:6:21","nodeType":"YulIdentifier","src":"104165:6:21"},"nativeSrc":"104165:16:21","nodeType":"YulFunctionCall","src":"104165:16:21"},"nativeSrc":"104165:16:21","nodeType":"YulExpressionStatement","src":"104165:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104206:4:21","nodeType":"YulLiteral","src":"104206:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"104212:2:21","nodeType":"YulIdentifier","src":"104212:2:21"}],"functionName":{"name":"writeString","nativeSrc":"104194:11:21","nodeType":"YulIdentifier","src":"104194:11:21"},"nativeSrc":"104194:21:21","nodeType":"YulFunctionCall","src":"104194:21:21"},"nativeSrc":"104194:21:21","nodeType":"YulExpressionStatement","src":"104194:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30234,"isOffset":false,"isSlot":false,"src":"103763:2:21","valueSize":1},{"declaration":30237,"isOffset":false,"isSlot":false,"src":"103793:2:21","valueSize":1},{"declaration":30240,"isOffset":false,"isSlot":false,"src":"103823:2:21","valueSize":1},{"declaration":30243,"isOffset":false,"isSlot":false,"src":"103853:2:21","valueSize":1},{"declaration":30246,"isOffset":false,"isSlot":false,"src":"103883:2:21","valueSize":1},{"declaration":30249,"isOffset":false,"isSlot":false,"src":"103913:2:21","valueSize":1},{"declaration":30252,"isOffset":false,"isSlot":false,"src":"103943:2:21","valueSize":1},{"declaration":30224,"isOffset":false,"isSlot":false,"src":"104089:2:21","valueSize":1},{"declaration":30226,"isOffset":false,"isSlot":false,"src":"104118:2:21","valueSize":1},{"declaration":30228,"isOffset":false,"isSlot":false,"src":"104212:2:21","valueSize":1},{"declaration":30230,"isOffset":false,"isSlot":false,"src":"104178:2:21","valueSize":1}],"id":30254,"nodeType":"InlineAssembly","src":"103385:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"104250:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"104256:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30255,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"104234:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"104234:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30259,"nodeType":"ExpressionStatement","src":"104234:27:21"},{"AST":{"nativeSrc":"104323:214:21","nodeType":"YulBlock","src":"104323:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"104344:4:21","nodeType":"YulLiteral","src":"104344:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"104350:2:21","nodeType":"YulIdentifier","src":"104350:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104337:6:21","nodeType":"YulIdentifier","src":"104337:6:21"},"nativeSrc":"104337:16:21","nodeType":"YulFunctionCall","src":"104337:16:21"},"nativeSrc":"104337:16:21","nodeType":"YulExpressionStatement","src":"104337:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104373:4:21","nodeType":"YulLiteral","src":"104373:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"104379:2:21","nodeType":"YulIdentifier","src":"104379:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104366:6:21","nodeType":"YulIdentifier","src":"104366:6:21"},"nativeSrc":"104366:16:21","nodeType":"YulFunctionCall","src":"104366:16:21"},"nativeSrc":"104366:16:21","nodeType":"YulExpressionStatement","src":"104366:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104402:4:21","nodeType":"YulLiteral","src":"104402:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"104408:2:21","nodeType":"YulIdentifier","src":"104408:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104395:6:21","nodeType":"YulIdentifier","src":"104395:6:21"},"nativeSrc":"104395:16:21","nodeType":"YulFunctionCall","src":"104395:16:21"},"nativeSrc":"104395:16:21","nodeType":"YulExpressionStatement","src":"104395:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104431:4:21","nodeType":"YulLiteral","src":"104431:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"104437:2:21","nodeType":"YulIdentifier","src":"104437:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104424:6:21","nodeType":"YulIdentifier","src":"104424:6:21"},"nativeSrc":"104424:16:21","nodeType":"YulFunctionCall","src":"104424:16:21"},"nativeSrc":"104424:16:21","nodeType":"YulExpressionStatement","src":"104424:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104460:4:21","nodeType":"YulLiteral","src":"104460:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"104466:2:21","nodeType":"YulIdentifier","src":"104466:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104453:6:21","nodeType":"YulIdentifier","src":"104453:6:21"},"nativeSrc":"104453:16:21","nodeType":"YulFunctionCall","src":"104453:16:21"},"nativeSrc":"104453:16:21","nodeType":"YulExpressionStatement","src":"104453:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104489:4:21","nodeType":"YulLiteral","src":"104489:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"104495:2:21","nodeType":"YulIdentifier","src":"104495:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104482:6:21","nodeType":"YulIdentifier","src":"104482:6:21"},"nativeSrc":"104482:16:21","nodeType":"YulFunctionCall","src":"104482:16:21"},"nativeSrc":"104482:16:21","nodeType":"YulExpressionStatement","src":"104482:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104518:4:21","nodeType":"YulLiteral","src":"104518:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"104524:2:21","nodeType":"YulIdentifier","src":"104524:2:21"}],"functionName":{"name":"mstore","nativeSrc":"104511:6:21","nodeType":"YulIdentifier","src":"104511:6:21"},"nativeSrc":"104511:16:21","nodeType":"YulFunctionCall","src":"104511:16:21"},"nativeSrc":"104511:16:21","nodeType":"YulExpressionStatement","src":"104511:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30234,"isOffset":false,"isSlot":false,"src":"104350:2:21","valueSize":1},{"declaration":30237,"isOffset":false,"isSlot":false,"src":"104379:2:21","valueSize":1},{"declaration":30240,"isOffset":false,"isSlot":false,"src":"104408:2:21","valueSize":1},{"declaration":30243,"isOffset":false,"isSlot":false,"src":"104437:2:21","valueSize":1},{"declaration":30246,"isOffset":false,"isSlot":false,"src":"104466:2:21","valueSize":1},{"declaration":30249,"isOffset":false,"isSlot":false,"src":"104495:2:21","valueSize":1},{"declaration":30252,"isOffset":false,"isSlot":false,"src":"104524:2:21","valueSize":1}],"id":30260,"nodeType":"InlineAssembly","src":"104314:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"103126:3:21","parameters":{"id":30231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30224,"mutability":"mutable","name":"p0","nameLocation":"103138:2:21","nodeType":"VariableDeclaration","scope":30262,"src":"103130:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30223,"name":"address","nodeType":"ElementaryTypeName","src":"103130:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30226,"mutability":"mutable","name":"p1","nameLocation":"103150:2:21","nodeType":"VariableDeclaration","scope":30262,"src":"103142:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30225,"name":"address","nodeType":"ElementaryTypeName","src":"103142:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30228,"mutability":"mutable","name":"p2","nameLocation":"103162:2:21","nodeType":"VariableDeclaration","scope":30262,"src":"103154:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103154:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30230,"mutability":"mutable","name":"p3","nameLocation":"103174:2:21","nodeType":"VariableDeclaration","scope":30262,"src":"103166:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30229,"name":"address","nodeType":"ElementaryTypeName","src":"103166:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"103129:48:21"},"returnParameters":{"id":30232,"nodeType":"ParameterList","parameters":[],"src":"103192:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30302,"nodeType":"FunctionDefinition","src":"104549:1420:21","nodes":[],"body":{"id":30301,"nodeType":"Block","src":"104621:1348:21","nodes":[],"statements":[{"assignments":[30274],"declarations":[{"constant":false,"id":30274,"mutability":"mutable","name":"m0","nameLocation":"104639:2:21","nodeType":"VariableDeclaration","scope":30301,"src":"104631:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104631:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30275,"nodeType":"VariableDeclarationStatement","src":"104631:10:21"},{"assignments":[30277],"declarations":[{"constant":false,"id":30277,"mutability":"mutable","name":"m1","nameLocation":"104659:2:21","nodeType":"VariableDeclaration","scope":30301,"src":"104651:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104651:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30278,"nodeType":"VariableDeclarationStatement","src":"104651:10:21"},{"assignments":[30280],"declarations":[{"constant":false,"id":30280,"mutability":"mutable","name":"m2","nameLocation":"104679:2:21","nodeType":"VariableDeclaration","scope":30301,"src":"104671:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104671:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30281,"nodeType":"VariableDeclarationStatement","src":"104671:10:21"},{"assignments":[30283],"declarations":[{"constant":false,"id":30283,"mutability":"mutable","name":"m3","nameLocation":"104699:2:21","nodeType":"VariableDeclaration","scope":30301,"src":"104691:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30282,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104691:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30284,"nodeType":"VariableDeclarationStatement","src":"104691:10:21"},{"assignments":[30286],"declarations":[{"constant":false,"id":30286,"mutability":"mutable","name":"m4","nameLocation":"104719:2:21","nodeType":"VariableDeclaration","scope":30301,"src":"104711:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104711:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30287,"nodeType":"VariableDeclarationStatement","src":"104711:10:21"},{"assignments":[30289],"declarations":[{"constant":false,"id":30289,"mutability":"mutable","name":"m5","nameLocation":"104739:2:21","nodeType":"VariableDeclaration","scope":30301,"src":"104731:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104731:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30290,"nodeType":"VariableDeclarationStatement","src":"104731:10:21"},{"assignments":[30292],"declarations":[{"constant":false,"id":30292,"mutability":"mutable","name":"m6","nameLocation":"104759:2:21","nodeType":"VariableDeclaration","scope":30301,"src":"104751:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104751:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30293,"nodeType":"VariableDeclarationStatement","src":"104751:10:21"},{"AST":{"nativeSrc":"104823:828:21","nodeType":"YulBlock","src":"104823:828:21","statements":[{"body":{"nativeSrc":"104866:313:21","nodeType":"YulBlock","src":"104866:313:21","statements":[{"nativeSrc":"104884:15:21","nodeType":"YulVariableDeclaration","src":"104884:15:21","value":{"kind":"number","nativeSrc":"104898:1:21","nodeType":"YulLiteral","src":"104898:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"104888:6:21","nodeType":"YulTypedName","src":"104888:6:21","type":""}]},{"body":{"nativeSrc":"104969:40:21","nodeType":"YulBlock","src":"104969:40:21","statements":[{"body":{"nativeSrc":"104998:9:21","nodeType":"YulBlock","src":"104998:9:21","statements":[{"nativeSrc":"105000:5:21","nodeType":"YulBreak","src":"105000:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"104986:6:21","nodeType":"YulIdentifier","src":"104986:6:21"},{"name":"w","nativeSrc":"104994:1:21","nodeType":"YulIdentifier","src":"104994:1:21"}],"functionName":{"name":"byte","nativeSrc":"104981:4:21","nodeType":"YulIdentifier","src":"104981:4:21"},"nativeSrc":"104981:15:21","nodeType":"YulFunctionCall","src":"104981:15:21"}],"functionName":{"name":"iszero","nativeSrc":"104974:6:21","nodeType":"YulIdentifier","src":"104974:6:21"},"nativeSrc":"104974:23:21","nodeType":"YulFunctionCall","src":"104974:23:21"},"nativeSrc":"104971:36:21","nodeType":"YulIf","src":"104971:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"104926:6:21","nodeType":"YulIdentifier","src":"104926:6:21"},{"kind":"number","nativeSrc":"104934:4:21","nodeType":"YulLiteral","src":"104934:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"104923:2:21","nodeType":"YulIdentifier","src":"104923:2:21"},"nativeSrc":"104923:16:21","nodeType":"YulFunctionCall","src":"104923:16:21"},"nativeSrc":"104916:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"104940:28:21","nodeType":"YulBlock","src":"104940:28:21","statements":[{"nativeSrc":"104942:24:21","nodeType":"YulAssignment","src":"104942:24:21","value":{"arguments":[{"name":"length","nativeSrc":"104956:6:21","nodeType":"YulIdentifier","src":"104956:6:21"},{"kind":"number","nativeSrc":"104964:1:21","nodeType":"YulLiteral","src":"104964:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"104952:3:21","nodeType":"YulIdentifier","src":"104952:3:21"},"nativeSrc":"104952:14:21","nodeType":"YulFunctionCall","src":"104952:14:21"},"variableNames":[{"name":"length","nativeSrc":"104942:6:21","nodeType":"YulIdentifier","src":"104942:6:21"}]}]},"pre":{"nativeSrc":"104920:2:21","nodeType":"YulBlock","src":"104920:2:21","statements":[]},"src":"104916:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"105033:3:21","nodeType":"YulIdentifier","src":"105033:3:21"},{"name":"length","nativeSrc":"105038:6:21","nodeType":"YulIdentifier","src":"105038:6:21"}],"functionName":{"name":"mstore","nativeSrc":"105026:6:21","nodeType":"YulIdentifier","src":"105026:6:21"},"nativeSrc":"105026:19:21","nodeType":"YulFunctionCall","src":"105026:19:21"},"nativeSrc":"105026:19:21","nodeType":"YulExpressionStatement","src":"105026:19:21"},{"nativeSrc":"105062:37:21","nodeType":"YulVariableDeclaration","src":"105062:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"105079:3:21","nodeType":"YulLiteral","src":"105079:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"105088:1:21","nodeType":"YulLiteral","src":"105088:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"105091:6:21","nodeType":"YulIdentifier","src":"105091:6:21"}],"functionName":{"name":"shl","nativeSrc":"105084:3:21","nodeType":"YulIdentifier","src":"105084:3:21"},"nativeSrc":"105084:14:21","nodeType":"YulFunctionCall","src":"105084:14:21"}],"functionName":{"name":"sub","nativeSrc":"105075:3:21","nodeType":"YulIdentifier","src":"105075:3:21"},"nativeSrc":"105075:24:21","nodeType":"YulFunctionCall","src":"105075:24:21"},"variables":[{"name":"shift","nativeSrc":"105066:5:21","nodeType":"YulTypedName","src":"105066:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"105127:3:21","nodeType":"YulIdentifier","src":"105127:3:21"},{"kind":"number","nativeSrc":"105132:4:21","nodeType":"YulLiteral","src":"105132:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"105123:3:21","nodeType":"YulIdentifier","src":"105123:3:21"},"nativeSrc":"105123:14:21","nodeType":"YulFunctionCall","src":"105123:14:21"},{"arguments":[{"name":"shift","nativeSrc":"105143:5:21","nodeType":"YulIdentifier","src":"105143:5:21"},{"arguments":[{"name":"shift","nativeSrc":"105154:5:21","nodeType":"YulIdentifier","src":"105154:5:21"},{"name":"w","nativeSrc":"105161:1:21","nodeType":"YulIdentifier","src":"105161:1:21"}],"functionName":{"name":"shr","nativeSrc":"105150:3:21","nodeType":"YulIdentifier","src":"105150:3:21"},"nativeSrc":"105150:13:21","nodeType":"YulFunctionCall","src":"105150:13:21"}],"functionName":{"name":"shl","nativeSrc":"105139:3:21","nodeType":"YulIdentifier","src":"105139:3:21"},"nativeSrc":"105139:25:21","nodeType":"YulFunctionCall","src":"105139:25:21"}],"functionName":{"name":"mstore","nativeSrc":"105116:6:21","nodeType":"YulIdentifier","src":"105116:6:21"},"nativeSrc":"105116:49:21","nodeType":"YulFunctionCall","src":"105116:49:21"},"nativeSrc":"105116:49:21","nodeType":"YulExpressionStatement","src":"105116:49:21"}]},"name":"writeString","nativeSrc":"104837:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"104858:3:21","nodeType":"YulTypedName","src":"104858:3:21","type":""},{"name":"w","nativeSrc":"104863:1:21","nodeType":"YulTypedName","src":"104863:1:21","type":""}],"src":"104837:342:21"},{"nativeSrc":"105192:17:21","nodeType":"YulAssignment","src":"105192:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"105204:4:21","nodeType":"YulLiteral","src":"105204:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"105198:5:21","nodeType":"YulIdentifier","src":"105198:5:21"},"nativeSrc":"105198:11:21","nodeType":"YulFunctionCall","src":"105198:11:21"},"variableNames":[{"name":"m0","nativeSrc":"105192:2:21","nodeType":"YulIdentifier","src":"105192:2:21"}]},{"nativeSrc":"105222:17:21","nodeType":"YulAssignment","src":"105222:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"105234:4:21","nodeType":"YulLiteral","src":"105234:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"105228:5:21","nodeType":"YulIdentifier","src":"105228:5:21"},"nativeSrc":"105228:11:21","nodeType":"YulFunctionCall","src":"105228:11:21"},"variableNames":[{"name":"m1","nativeSrc":"105222:2:21","nodeType":"YulIdentifier","src":"105222:2:21"}]},{"nativeSrc":"105252:17:21","nodeType":"YulAssignment","src":"105252:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"105264:4:21","nodeType":"YulLiteral","src":"105264:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"105258:5:21","nodeType":"YulIdentifier","src":"105258:5:21"},"nativeSrc":"105258:11:21","nodeType":"YulFunctionCall","src":"105258:11:21"},"variableNames":[{"name":"m2","nativeSrc":"105252:2:21","nodeType":"YulIdentifier","src":"105252:2:21"}]},{"nativeSrc":"105282:17:21","nodeType":"YulAssignment","src":"105282:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"105294:4:21","nodeType":"YulLiteral","src":"105294:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"105288:5:21","nodeType":"YulIdentifier","src":"105288:5:21"},"nativeSrc":"105288:11:21","nodeType":"YulFunctionCall","src":"105288:11:21"},"variableNames":[{"name":"m3","nativeSrc":"105282:2:21","nodeType":"YulIdentifier","src":"105282:2:21"}]},{"nativeSrc":"105312:17:21","nodeType":"YulAssignment","src":"105312:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"105324:4:21","nodeType":"YulLiteral","src":"105324:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"105318:5:21","nodeType":"YulIdentifier","src":"105318:5:21"},"nativeSrc":"105318:11:21","nodeType":"YulFunctionCall","src":"105318:11:21"},"variableNames":[{"name":"m4","nativeSrc":"105312:2:21","nodeType":"YulIdentifier","src":"105312:2:21"}]},{"nativeSrc":"105342:17:21","nodeType":"YulAssignment","src":"105342:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"105354:4:21","nodeType":"YulLiteral","src":"105354:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"105348:5:21","nodeType":"YulIdentifier","src":"105348:5:21"},"nativeSrc":"105348:11:21","nodeType":"YulFunctionCall","src":"105348:11:21"},"variableNames":[{"name":"m5","nativeSrc":"105342:2:21","nodeType":"YulIdentifier","src":"105342:2:21"}]},{"nativeSrc":"105372:17:21","nodeType":"YulAssignment","src":"105372:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"105384:4:21","nodeType":"YulLiteral","src":"105384:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"105378:5:21","nodeType":"YulIdentifier","src":"105378:5:21"},"nativeSrc":"105378:11:21","nodeType":"YulFunctionCall","src":"105378:11:21"},"variableNames":[{"name":"m6","nativeSrc":"105372:2:21","nodeType":"YulIdentifier","src":"105372:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105472:4:21","nodeType":"YulLiteral","src":"105472:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"105478:10:21","nodeType":"YulLiteral","src":"105478:10:21","type":"","value":"0x6f1a594e"}],"functionName":{"name":"mstore","nativeSrc":"105465:6:21","nodeType":"YulIdentifier","src":"105465:6:21"},"nativeSrc":"105465:24:21","nodeType":"YulFunctionCall","src":"105465:24:21"},"nativeSrc":"105465:24:21","nodeType":"YulExpressionStatement","src":"105465:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105509:4:21","nodeType":"YulLiteral","src":"105509:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"105515:2:21","nodeType":"YulIdentifier","src":"105515:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105502:6:21","nodeType":"YulIdentifier","src":"105502:6:21"},"nativeSrc":"105502:16:21","nodeType":"YulFunctionCall","src":"105502:16:21"},"nativeSrc":"105502:16:21","nodeType":"YulExpressionStatement","src":"105502:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105538:4:21","nodeType":"YulLiteral","src":"105538:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"105544:2:21","nodeType":"YulIdentifier","src":"105544:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105531:6:21","nodeType":"YulIdentifier","src":"105531:6:21"},"nativeSrc":"105531:16:21","nodeType":"YulFunctionCall","src":"105531:16:21"},"nativeSrc":"105531:16:21","nodeType":"YulExpressionStatement","src":"105531:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105567:4:21","nodeType":"YulLiteral","src":"105567:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"105573:4:21","nodeType":"YulLiteral","src":"105573:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"105560:6:21","nodeType":"YulIdentifier","src":"105560:6:21"},"nativeSrc":"105560:18:21","nodeType":"YulFunctionCall","src":"105560:18:21"},"nativeSrc":"105560:18:21","nodeType":"YulExpressionStatement","src":"105560:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105598:4:21","nodeType":"YulLiteral","src":"105598:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"105604:2:21","nodeType":"YulIdentifier","src":"105604:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105591:6:21","nodeType":"YulIdentifier","src":"105591:6:21"},"nativeSrc":"105591:16:21","nodeType":"YulFunctionCall","src":"105591:16:21"},"nativeSrc":"105591:16:21","nodeType":"YulExpressionStatement","src":"105591:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105632:4:21","nodeType":"YulLiteral","src":"105632:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"105638:2:21","nodeType":"YulIdentifier","src":"105638:2:21"}],"functionName":{"name":"writeString","nativeSrc":"105620:11:21","nodeType":"YulIdentifier","src":"105620:11:21"},"nativeSrc":"105620:21:21","nodeType":"YulFunctionCall","src":"105620:21:21"},"nativeSrc":"105620:21:21","nodeType":"YulExpressionStatement","src":"105620:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30274,"isOffset":false,"isSlot":false,"src":"105192:2:21","valueSize":1},{"declaration":30277,"isOffset":false,"isSlot":false,"src":"105222:2:21","valueSize":1},{"declaration":30280,"isOffset":false,"isSlot":false,"src":"105252:2:21","valueSize":1},{"declaration":30283,"isOffset":false,"isSlot":false,"src":"105282:2:21","valueSize":1},{"declaration":30286,"isOffset":false,"isSlot":false,"src":"105312:2:21","valueSize":1},{"declaration":30289,"isOffset":false,"isSlot":false,"src":"105342:2:21","valueSize":1},{"declaration":30292,"isOffset":false,"isSlot":false,"src":"105372:2:21","valueSize":1},{"declaration":30264,"isOffset":false,"isSlot":false,"src":"105515:2:21","valueSize":1},{"declaration":30266,"isOffset":false,"isSlot":false,"src":"105544:2:21","valueSize":1},{"declaration":30268,"isOffset":false,"isSlot":false,"src":"105638:2:21","valueSize":1},{"declaration":30270,"isOffset":false,"isSlot":false,"src":"105604:2:21","valueSize":1}],"id":30294,"nodeType":"InlineAssembly","src":"104814:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"105676:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"105682:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30295,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"105660:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"105660:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30299,"nodeType":"ExpressionStatement","src":"105660:27:21"},{"AST":{"nativeSrc":"105749:214:21","nodeType":"YulBlock","src":"105749:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"105770:4:21","nodeType":"YulLiteral","src":"105770:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"105776:2:21","nodeType":"YulIdentifier","src":"105776:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105763:6:21","nodeType":"YulIdentifier","src":"105763:6:21"},"nativeSrc":"105763:16:21","nodeType":"YulFunctionCall","src":"105763:16:21"},"nativeSrc":"105763:16:21","nodeType":"YulExpressionStatement","src":"105763:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105799:4:21","nodeType":"YulLiteral","src":"105799:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"105805:2:21","nodeType":"YulIdentifier","src":"105805:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105792:6:21","nodeType":"YulIdentifier","src":"105792:6:21"},"nativeSrc":"105792:16:21","nodeType":"YulFunctionCall","src":"105792:16:21"},"nativeSrc":"105792:16:21","nodeType":"YulExpressionStatement","src":"105792:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105828:4:21","nodeType":"YulLiteral","src":"105828:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"105834:2:21","nodeType":"YulIdentifier","src":"105834:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105821:6:21","nodeType":"YulIdentifier","src":"105821:6:21"},"nativeSrc":"105821:16:21","nodeType":"YulFunctionCall","src":"105821:16:21"},"nativeSrc":"105821:16:21","nodeType":"YulExpressionStatement","src":"105821:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105857:4:21","nodeType":"YulLiteral","src":"105857:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"105863:2:21","nodeType":"YulIdentifier","src":"105863:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105850:6:21","nodeType":"YulIdentifier","src":"105850:6:21"},"nativeSrc":"105850:16:21","nodeType":"YulFunctionCall","src":"105850:16:21"},"nativeSrc":"105850:16:21","nodeType":"YulExpressionStatement","src":"105850:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105886:4:21","nodeType":"YulLiteral","src":"105886:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"105892:2:21","nodeType":"YulIdentifier","src":"105892:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105879:6:21","nodeType":"YulIdentifier","src":"105879:6:21"},"nativeSrc":"105879:16:21","nodeType":"YulFunctionCall","src":"105879:16:21"},"nativeSrc":"105879:16:21","nodeType":"YulExpressionStatement","src":"105879:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105915:4:21","nodeType":"YulLiteral","src":"105915:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"105921:2:21","nodeType":"YulIdentifier","src":"105921:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105908:6:21","nodeType":"YulIdentifier","src":"105908:6:21"},"nativeSrc":"105908:16:21","nodeType":"YulFunctionCall","src":"105908:16:21"},"nativeSrc":"105908:16:21","nodeType":"YulExpressionStatement","src":"105908:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105944:4:21","nodeType":"YulLiteral","src":"105944:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"105950:2:21","nodeType":"YulIdentifier","src":"105950:2:21"}],"functionName":{"name":"mstore","nativeSrc":"105937:6:21","nodeType":"YulIdentifier","src":"105937:6:21"},"nativeSrc":"105937:16:21","nodeType":"YulFunctionCall","src":"105937:16:21"},"nativeSrc":"105937:16:21","nodeType":"YulExpressionStatement","src":"105937:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30274,"isOffset":false,"isSlot":false,"src":"105776:2:21","valueSize":1},{"declaration":30277,"isOffset":false,"isSlot":false,"src":"105805:2:21","valueSize":1},{"declaration":30280,"isOffset":false,"isSlot":false,"src":"105834:2:21","valueSize":1},{"declaration":30283,"isOffset":false,"isSlot":false,"src":"105863:2:21","valueSize":1},{"declaration":30286,"isOffset":false,"isSlot":false,"src":"105892:2:21","valueSize":1},{"declaration":30289,"isOffset":false,"isSlot":false,"src":"105921:2:21","valueSize":1},{"declaration":30292,"isOffset":false,"isSlot":false,"src":"105950:2:21","valueSize":1}],"id":30300,"nodeType":"InlineAssembly","src":"105740:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"104558:3:21","parameters":{"id":30271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30264,"mutability":"mutable","name":"p0","nameLocation":"104570:2:21","nodeType":"VariableDeclaration","scope":30302,"src":"104562:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30263,"name":"address","nodeType":"ElementaryTypeName","src":"104562:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30266,"mutability":"mutable","name":"p1","nameLocation":"104582:2:21","nodeType":"VariableDeclaration","scope":30302,"src":"104574:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30265,"name":"address","nodeType":"ElementaryTypeName","src":"104574:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30268,"mutability":"mutable","name":"p2","nameLocation":"104594:2:21","nodeType":"VariableDeclaration","scope":30302,"src":"104586:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104586:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30270,"mutability":"mutable","name":"p3","nameLocation":"104603:2:21","nodeType":"VariableDeclaration","scope":30302,"src":"104598:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30269,"name":"bool","nodeType":"ElementaryTypeName","src":"104598:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"104561:45:21"},"returnParameters":{"id":30272,"nodeType":"ParameterList","parameters":[],"src":"104621:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30342,"nodeType":"FunctionDefinition","src":"105975:1426:21","nodes":[],"body":{"id":30341,"nodeType":"Block","src":"106050:1351:21","nodes":[],"statements":[{"assignments":[30314],"declarations":[{"constant":false,"id":30314,"mutability":"mutable","name":"m0","nameLocation":"106068:2:21","nodeType":"VariableDeclaration","scope":30341,"src":"106060:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106060:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30315,"nodeType":"VariableDeclarationStatement","src":"106060:10:21"},{"assignments":[30317],"declarations":[{"constant":false,"id":30317,"mutability":"mutable","name":"m1","nameLocation":"106088:2:21","nodeType":"VariableDeclaration","scope":30341,"src":"106080:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106080:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30318,"nodeType":"VariableDeclarationStatement","src":"106080:10:21"},{"assignments":[30320],"declarations":[{"constant":false,"id":30320,"mutability":"mutable","name":"m2","nameLocation":"106108:2:21","nodeType":"VariableDeclaration","scope":30341,"src":"106100:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106100:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30321,"nodeType":"VariableDeclarationStatement","src":"106100:10:21"},{"assignments":[30323],"declarations":[{"constant":false,"id":30323,"mutability":"mutable","name":"m3","nameLocation":"106128:2:21","nodeType":"VariableDeclaration","scope":30341,"src":"106120:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106120:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30324,"nodeType":"VariableDeclarationStatement","src":"106120:10:21"},{"assignments":[30326],"declarations":[{"constant":false,"id":30326,"mutability":"mutable","name":"m4","nameLocation":"106148:2:21","nodeType":"VariableDeclaration","scope":30341,"src":"106140:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106140:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30327,"nodeType":"VariableDeclarationStatement","src":"106140:10:21"},{"assignments":[30329],"declarations":[{"constant":false,"id":30329,"mutability":"mutable","name":"m5","nameLocation":"106168:2:21","nodeType":"VariableDeclaration","scope":30341,"src":"106160:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106160:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30330,"nodeType":"VariableDeclarationStatement","src":"106160:10:21"},{"assignments":[30332],"declarations":[{"constant":false,"id":30332,"mutability":"mutable","name":"m6","nameLocation":"106188:2:21","nodeType":"VariableDeclaration","scope":30341,"src":"106180:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30331,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106180:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30333,"nodeType":"VariableDeclarationStatement","src":"106180:10:21"},{"AST":{"nativeSrc":"106252:831:21","nodeType":"YulBlock","src":"106252:831:21","statements":[{"body":{"nativeSrc":"106295:313:21","nodeType":"YulBlock","src":"106295:313:21","statements":[{"nativeSrc":"106313:15:21","nodeType":"YulVariableDeclaration","src":"106313:15:21","value":{"kind":"number","nativeSrc":"106327:1:21","nodeType":"YulLiteral","src":"106327:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"106317:6:21","nodeType":"YulTypedName","src":"106317:6:21","type":""}]},{"body":{"nativeSrc":"106398:40:21","nodeType":"YulBlock","src":"106398:40:21","statements":[{"body":{"nativeSrc":"106427:9:21","nodeType":"YulBlock","src":"106427:9:21","statements":[{"nativeSrc":"106429:5:21","nodeType":"YulBreak","src":"106429:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"106415:6:21","nodeType":"YulIdentifier","src":"106415:6:21"},{"name":"w","nativeSrc":"106423:1:21","nodeType":"YulIdentifier","src":"106423:1:21"}],"functionName":{"name":"byte","nativeSrc":"106410:4:21","nodeType":"YulIdentifier","src":"106410:4:21"},"nativeSrc":"106410:15:21","nodeType":"YulFunctionCall","src":"106410:15:21"}],"functionName":{"name":"iszero","nativeSrc":"106403:6:21","nodeType":"YulIdentifier","src":"106403:6:21"},"nativeSrc":"106403:23:21","nodeType":"YulFunctionCall","src":"106403:23:21"},"nativeSrc":"106400:36:21","nodeType":"YulIf","src":"106400:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"106355:6:21","nodeType":"YulIdentifier","src":"106355:6:21"},{"kind":"number","nativeSrc":"106363:4:21","nodeType":"YulLiteral","src":"106363:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"106352:2:21","nodeType":"YulIdentifier","src":"106352:2:21"},"nativeSrc":"106352:16:21","nodeType":"YulFunctionCall","src":"106352:16:21"},"nativeSrc":"106345:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"106369:28:21","nodeType":"YulBlock","src":"106369:28:21","statements":[{"nativeSrc":"106371:24:21","nodeType":"YulAssignment","src":"106371:24:21","value":{"arguments":[{"name":"length","nativeSrc":"106385:6:21","nodeType":"YulIdentifier","src":"106385:6:21"},{"kind":"number","nativeSrc":"106393:1:21","nodeType":"YulLiteral","src":"106393:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"106381:3:21","nodeType":"YulIdentifier","src":"106381:3:21"},"nativeSrc":"106381:14:21","nodeType":"YulFunctionCall","src":"106381:14:21"},"variableNames":[{"name":"length","nativeSrc":"106371:6:21","nodeType":"YulIdentifier","src":"106371:6:21"}]}]},"pre":{"nativeSrc":"106349:2:21","nodeType":"YulBlock","src":"106349:2:21","statements":[]},"src":"106345:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"106462:3:21","nodeType":"YulIdentifier","src":"106462:3:21"},{"name":"length","nativeSrc":"106467:6:21","nodeType":"YulIdentifier","src":"106467:6:21"}],"functionName":{"name":"mstore","nativeSrc":"106455:6:21","nodeType":"YulIdentifier","src":"106455:6:21"},"nativeSrc":"106455:19:21","nodeType":"YulFunctionCall","src":"106455:19:21"},"nativeSrc":"106455:19:21","nodeType":"YulExpressionStatement","src":"106455:19:21"},{"nativeSrc":"106491:37:21","nodeType":"YulVariableDeclaration","src":"106491:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"106508:3:21","nodeType":"YulLiteral","src":"106508:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"106517:1:21","nodeType":"YulLiteral","src":"106517:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"106520:6:21","nodeType":"YulIdentifier","src":"106520:6:21"}],"functionName":{"name":"shl","nativeSrc":"106513:3:21","nodeType":"YulIdentifier","src":"106513:3:21"},"nativeSrc":"106513:14:21","nodeType":"YulFunctionCall","src":"106513:14:21"}],"functionName":{"name":"sub","nativeSrc":"106504:3:21","nodeType":"YulIdentifier","src":"106504:3:21"},"nativeSrc":"106504:24:21","nodeType":"YulFunctionCall","src":"106504:24:21"},"variables":[{"name":"shift","nativeSrc":"106495:5:21","nodeType":"YulTypedName","src":"106495:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"106556:3:21","nodeType":"YulIdentifier","src":"106556:3:21"},{"kind":"number","nativeSrc":"106561:4:21","nodeType":"YulLiteral","src":"106561:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"106552:3:21","nodeType":"YulIdentifier","src":"106552:3:21"},"nativeSrc":"106552:14:21","nodeType":"YulFunctionCall","src":"106552:14:21"},{"arguments":[{"name":"shift","nativeSrc":"106572:5:21","nodeType":"YulIdentifier","src":"106572:5:21"},{"arguments":[{"name":"shift","nativeSrc":"106583:5:21","nodeType":"YulIdentifier","src":"106583:5:21"},{"name":"w","nativeSrc":"106590:1:21","nodeType":"YulIdentifier","src":"106590:1:21"}],"functionName":{"name":"shr","nativeSrc":"106579:3:21","nodeType":"YulIdentifier","src":"106579:3:21"},"nativeSrc":"106579:13:21","nodeType":"YulFunctionCall","src":"106579:13:21"}],"functionName":{"name":"shl","nativeSrc":"106568:3:21","nodeType":"YulIdentifier","src":"106568:3:21"},"nativeSrc":"106568:25:21","nodeType":"YulFunctionCall","src":"106568:25:21"}],"functionName":{"name":"mstore","nativeSrc":"106545:6:21","nodeType":"YulIdentifier","src":"106545:6:21"},"nativeSrc":"106545:49:21","nodeType":"YulFunctionCall","src":"106545:49:21"},"nativeSrc":"106545:49:21","nodeType":"YulExpressionStatement","src":"106545:49:21"}]},"name":"writeString","nativeSrc":"106266:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"106287:3:21","nodeType":"YulTypedName","src":"106287:3:21","type":""},{"name":"w","nativeSrc":"106292:1:21","nodeType":"YulTypedName","src":"106292:1:21","type":""}],"src":"106266:342:21"},{"nativeSrc":"106621:17:21","nodeType":"YulAssignment","src":"106621:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"106633:4:21","nodeType":"YulLiteral","src":"106633:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"106627:5:21","nodeType":"YulIdentifier","src":"106627:5:21"},"nativeSrc":"106627:11:21","nodeType":"YulFunctionCall","src":"106627:11:21"},"variableNames":[{"name":"m0","nativeSrc":"106621:2:21","nodeType":"YulIdentifier","src":"106621:2:21"}]},{"nativeSrc":"106651:17:21","nodeType":"YulAssignment","src":"106651:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"106663:4:21","nodeType":"YulLiteral","src":"106663:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"106657:5:21","nodeType":"YulIdentifier","src":"106657:5:21"},"nativeSrc":"106657:11:21","nodeType":"YulFunctionCall","src":"106657:11:21"},"variableNames":[{"name":"m1","nativeSrc":"106651:2:21","nodeType":"YulIdentifier","src":"106651:2:21"}]},{"nativeSrc":"106681:17:21","nodeType":"YulAssignment","src":"106681:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"106693:4:21","nodeType":"YulLiteral","src":"106693:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"106687:5:21","nodeType":"YulIdentifier","src":"106687:5:21"},"nativeSrc":"106687:11:21","nodeType":"YulFunctionCall","src":"106687:11:21"},"variableNames":[{"name":"m2","nativeSrc":"106681:2:21","nodeType":"YulIdentifier","src":"106681:2:21"}]},{"nativeSrc":"106711:17:21","nodeType":"YulAssignment","src":"106711:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"106723:4:21","nodeType":"YulLiteral","src":"106723:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"106717:5:21","nodeType":"YulIdentifier","src":"106717:5:21"},"nativeSrc":"106717:11:21","nodeType":"YulFunctionCall","src":"106717:11:21"},"variableNames":[{"name":"m3","nativeSrc":"106711:2:21","nodeType":"YulIdentifier","src":"106711:2:21"}]},{"nativeSrc":"106741:17:21","nodeType":"YulAssignment","src":"106741:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"106753:4:21","nodeType":"YulLiteral","src":"106753:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"106747:5:21","nodeType":"YulIdentifier","src":"106747:5:21"},"nativeSrc":"106747:11:21","nodeType":"YulFunctionCall","src":"106747:11:21"},"variableNames":[{"name":"m4","nativeSrc":"106741:2:21","nodeType":"YulIdentifier","src":"106741:2:21"}]},{"nativeSrc":"106771:17:21","nodeType":"YulAssignment","src":"106771:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"106783:4:21","nodeType":"YulLiteral","src":"106783:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"106777:5:21","nodeType":"YulIdentifier","src":"106777:5:21"},"nativeSrc":"106777:11:21","nodeType":"YulFunctionCall","src":"106777:11:21"},"variableNames":[{"name":"m5","nativeSrc":"106771:2:21","nodeType":"YulIdentifier","src":"106771:2:21"}]},{"nativeSrc":"106801:17:21","nodeType":"YulAssignment","src":"106801:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"106813:4:21","nodeType":"YulLiteral","src":"106813:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"106807:5:21","nodeType":"YulIdentifier","src":"106807:5:21"},"nativeSrc":"106807:11:21","nodeType":"YulFunctionCall","src":"106807:11:21"},"variableNames":[{"name":"m6","nativeSrc":"106801:2:21","nodeType":"YulIdentifier","src":"106801:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106904:4:21","nodeType":"YulLiteral","src":"106904:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"106910:10:21","nodeType":"YulLiteral","src":"106910:10:21","type":"","value":"0xef1cefe7"}],"functionName":{"name":"mstore","nativeSrc":"106897:6:21","nodeType":"YulIdentifier","src":"106897:6:21"},"nativeSrc":"106897:24:21","nodeType":"YulFunctionCall","src":"106897:24:21"},"nativeSrc":"106897:24:21","nodeType":"YulExpressionStatement","src":"106897:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106941:4:21","nodeType":"YulLiteral","src":"106941:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"106947:2:21","nodeType":"YulIdentifier","src":"106947:2:21"}],"functionName":{"name":"mstore","nativeSrc":"106934:6:21","nodeType":"YulIdentifier","src":"106934:6:21"},"nativeSrc":"106934:16:21","nodeType":"YulFunctionCall","src":"106934:16:21"},"nativeSrc":"106934:16:21","nodeType":"YulExpressionStatement","src":"106934:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106970:4:21","nodeType":"YulLiteral","src":"106970:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"106976:2:21","nodeType":"YulIdentifier","src":"106976:2:21"}],"functionName":{"name":"mstore","nativeSrc":"106963:6:21","nodeType":"YulIdentifier","src":"106963:6:21"},"nativeSrc":"106963:16:21","nodeType":"YulFunctionCall","src":"106963:16:21"},"nativeSrc":"106963:16:21","nodeType":"YulExpressionStatement","src":"106963:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106999:4:21","nodeType":"YulLiteral","src":"106999:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"107005:4:21","nodeType":"YulLiteral","src":"107005:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"106992:6:21","nodeType":"YulIdentifier","src":"106992:6:21"},"nativeSrc":"106992:18:21","nodeType":"YulFunctionCall","src":"106992:18:21"},"nativeSrc":"106992:18:21","nodeType":"YulExpressionStatement","src":"106992:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107030:4:21","nodeType":"YulLiteral","src":"107030:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"107036:2:21","nodeType":"YulIdentifier","src":"107036:2:21"}],"functionName":{"name":"mstore","nativeSrc":"107023:6:21","nodeType":"YulIdentifier","src":"107023:6:21"},"nativeSrc":"107023:16:21","nodeType":"YulFunctionCall","src":"107023:16:21"},"nativeSrc":"107023:16:21","nodeType":"YulExpressionStatement","src":"107023:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107064:4:21","nodeType":"YulLiteral","src":"107064:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"107070:2:21","nodeType":"YulIdentifier","src":"107070:2:21"}],"functionName":{"name":"writeString","nativeSrc":"107052:11:21","nodeType":"YulIdentifier","src":"107052:11:21"},"nativeSrc":"107052:21:21","nodeType":"YulFunctionCall","src":"107052:21:21"},"nativeSrc":"107052:21:21","nodeType":"YulExpressionStatement","src":"107052:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30314,"isOffset":false,"isSlot":false,"src":"106621:2:21","valueSize":1},{"declaration":30317,"isOffset":false,"isSlot":false,"src":"106651:2:21","valueSize":1},{"declaration":30320,"isOffset":false,"isSlot":false,"src":"106681:2:21","valueSize":1},{"declaration":30323,"isOffset":false,"isSlot":false,"src":"106711:2:21","valueSize":1},{"declaration":30326,"isOffset":false,"isSlot":false,"src":"106741:2:21","valueSize":1},{"declaration":30329,"isOffset":false,"isSlot":false,"src":"106771:2:21","valueSize":1},{"declaration":30332,"isOffset":false,"isSlot":false,"src":"106801:2:21","valueSize":1},{"declaration":30304,"isOffset":false,"isSlot":false,"src":"106947:2:21","valueSize":1},{"declaration":30306,"isOffset":false,"isSlot":false,"src":"106976:2:21","valueSize":1},{"declaration":30308,"isOffset":false,"isSlot":false,"src":"107070:2:21","valueSize":1},{"declaration":30310,"isOffset":false,"isSlot":false,"src":"107036:2:21","valueSize":1}],"id":30334,"nodeType":"InlineAssembly","src":"106243:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"107108:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"107114:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30335,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"107092:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"107092:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30339,"nodeType":"ExpressionStatement","src":"107092:27:21"},{"AST":{"nativeSrc":"107181:214:21","nodeType":"YulBlock","src":"107181:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"107202:4:21","nodeType":"YulLiteral","src":"107202:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"107208:2:21","nodeType":"YulIdentifier","src":"107208:2:21"}],"functionName":{"name":"mstore","nativeSrc":"107195:6:21","nodeType":"YulIdentifier","src":"107195:6:21"},"nativeSrc":"107195:16:21","nodeType":"YulFunctionCall","src":"107195:16:21"},"nativeSrc":"107195:16:21","nodeType":"YulExpressionStatement","src":"107195:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107231:4:21","nodeType":"YulLiteral","src":"107231:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"107237:2:21","nodeType":"YulIdentifier","src":"107237:2:21"}],"functionName":{"name":"mstore","nativeSrc":"107224:6:21","nodeType":"YulIdentifier","src":"107224:6:21"},"nativeSrc":"107224:16:21","nodeType":"YulFunctionCall","src":"107224:16:21"},"nativeSrc":"107224:16:21","nodeType":"YulExpressionStatement","src":"107224:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107260:4:21","nodeType":"YulLiteral","src":"107260:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"107266:2:21","nodeType":"YulIdentifier","src":"107266:2:21"}],"functionName":{"name":"mstore","nativeSrc":"107253:6:21","nodeType":"YulIdentifier","src":"107253:6:21"},"nativeSrc":"107253:16:21","nodeType":"YulFunctionCall","src":"107253:16:21"},"nativeSrc":"107253:16:21","nodeType":"YulExpressionStatement","src":"107253:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107289:4:21","nodeType":"YulLiteral","src":"107289:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"107295:2:21","nodeType":"YulIdentifier","src":"107295:2:21"}],"functionName":{"name":"mstore","nativeSrc":"107282:6:21","nodeType":"YulIdentifier","src":"107282:6:21"},"nativeSrc":"107282:16:21","nodeType":"YulFunctionCall","src":"107282:16:21"},"nativeSrc":"107282:16:21","nodeType":"YulExpressionStatement","src":"107282:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107318:4:21","nodeType":"YulLiteral","src":"107318:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"107324:2:21","nodeType":"YulIdentifier","src":"107324:2:21"}],"functionName":{"name":"mstore","nativeSrc":"107311:6:21","nodeType":"YulIdentifier","src":"107311:6:21"},"nativeSrc":"107311:16:21","nodeType":"YulFunctionCall","src":"107311:16:21"},"nativeSrc":"107311:16:21","nodeType":"YulExpressionStatement","src":"107311:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107347:4:21","nodeType":"YulLiteral","src":"107347:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"107353:2:21","nodeType":"YulIdentifier","src":"107353:2:21"}],"functionName":{"name":"mstore","nativeSrc":"107340:6:21","nodeType":"YulIdentifier","src":"107340:6:21"},"nativeSrc":"107340:16:21","nodeType":"YulFunctionCall","src":"107340:16:21"},"nativeSrc":"107340:16:21","nodeType":"YulExpressionStatement","src":"107340:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107376:4:21","nodeType":"YulLiteral","src":"107376:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"107382:2:21","nodeType":"YulIdentifier","src":"107382:2:21"}],"functionName":{"name":"mstore","nativeSrc":"107369:6:21","nodeType":"YulIdentifier","src":"107369:6:21"},"nativeSrc":"107369:16:21","nodeType":"YulFunctionCall","src":"107369:16:21"},"nativeSrc":"107369:16:21","nodeType":"YulExpressionStatement","src":"107369:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30314,"isOffset":false,"isSlot":false,"src":"107208:2:21","valueSize":1},{"declaration":30317,"isOffset":false,"isSlot":false,"src":"107237:2:21","valueSize":1},{"declaration":30320,"isOffset":false,"isSlot":false,"src":"107266:2:21","valueSize":1},{"declaration":30323,"isOffset":false,"isSlot":false,"src":"107295:2:21","valueSize":1},{"declaration":30326,"isOffset":false,"isSlot":false,"src":"107324:2:21","valueSize":1},{"declaration":30329,"isOffset":false,"isSlot":false,"src":"107353:2:21","valueSize":1},{"declaration":30332,"isOffset":false,"isSlot":false,"src":"107382:2:21","valueSize":1}],"id":30340,"nodeType":"InlineAssembly","src":"107172:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"105984:3:21","parameters":{"id":30311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30304,"mutability":"mutable","name":"p0","nameLocation":"105996:2:21","nodeType":"VariableDeclaration","scope":30342,"src":"105988:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30303,"name":"address","nodeType":"ElementaryTypeName","src":"105988:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30306,"mutability":"mutable","name":"p1","nameLocation":"106008:2:21","nodeType":"VariableDeclaration","scope":30342,"src":"106000:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30305,"name":"address","nodeType":"ElementaryTypeName","src":"106000:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30308,"mutability":"mutable","name":"p2","nameLocation":"106020:2:21","nodeType":"VariableDeclaration","scope":30342,"src":"106012:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106012:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30310,"mutability":"mutable","name":"p3","nameLocation":"106032:2:21","nodeType":"VariableDeclaration","scope":30342,"src":"106024:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30309,"name":"uint256","nodeType":"ElementaryTypeName","src":"106024:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"105987:48:21"},"returnParameters":{"id":30312,"nodeType":"ParameterList","parameters":[],"src":"106050:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30388,"nodeType":"FunctionDefinition","src":"107407:1622:21","nodes":[],"body":{"id":30387,"nodeType":"Block","src":"107482:1547:21","nodes":[],"statements":[{"assignments":[30354],"declarations":[{"constant":false,"id":30354,"mutability":"mutable","name":"m0","nameLocation":"107500:2:21","nodeType":"VariableDeclaration","scope":30387,"src":"107492:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107492:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30355,"nodeType":"VariableDeclarationStatement","src":"107492:10:21"},{"assignments":[30357],"declarations":[{"constant":false,"id":30357,"mutability":"mutable","name":"m1","nameLocation":"107520:2:21","nodeType":"VariableDeclaration","scope":30387,"src":"107512:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107512:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30358,"nodeType":"VariableDeclarationStatement","src":"107512:10:21"},{"assignments":[30360],"declarations":[{"constant":false,"id":30360,"mutability":"mutable","name":"m2","nameLocation":"107540:2:21","nodeType":"VariableDeclaration","scope":30387,"src":"107532:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107532:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30361,"nodeType":"VariableDeclarationStatement","src":"107532:10:21"},{"assignments":[30363],"declarations":[{"constant":false,"id":30363,"mutability":"mutable","name":"m3","nameLocation":"107560:2:21","nodeType":"VariableDeclaration","scope":30387,"src":"107552:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107552:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30364,"nodeType":"VariableDeclarationStatement","src":"107552:10:21"},{"assignments":[30366],"declarations":[{"constant":false,"id":30366,"mutability":"mutable","name":"m4","nameLocation":"107580:2:21","nodeType":"VariableDeclaration","scope":30387,"src":"107572:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107572:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30367,"nodeType":"VariableDeclarationStatement","src":"107572:10:21"},{"assignments":[30369],"declarations":[{"constant":false,"id":30369,"mutability":"mutable","name":"m5","nameLocation":"107600:2:21","nodeType":"VariableDeclaration","scope":30387,"src":"107592:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107592:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30370,"nodeType":"VariableDeclarationStatement","src":"107592:10:21"},{"assignments":[30372],"declarations":[{"constant":false,"id":30372,"mutability":"mutable","name":"m6","nameLocation":"107620:2:21","nodeType":"VariableDeclaration","scope":30387,"src":"107612:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107612:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30373,"nodeType":"VariableDeclarationStatement","src":"107612:10:21"},{"assignments":[30375],"declarations":[{"constant":false,"id":30375,"mutability":"mutable","name":"m7","nameLocation":"107640:2:21","nodeType":"VariableDeclaration","scope":30387,"src":"107632:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107632:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30376,"nodeType":"VariableDeclarationStatement","src":"107632:10:21"},{"assignments":[30378],"declarations":[{"constant":false,"id":30378,"mutability":"mutable","name":"m8","nameLocation":"107660:2:21","nodeType":"VariableDeclaration","scope":30387,"src":"107652:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107652:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30379,"nodeType":"VariableDeclarationStatement","src":"107652:10:21"},{"AST":{"nativeSrc":"107724:927:21","nodeType":"YulBlock","src":"107724:927:21","statements":[{"body":{"nativeSrc":"107767:313:21","nodeType":"YulBlock","src":"107767:313:21","statements":[{"nativeSrc":"107785:15:21","nodeType":"YulVariableDeclaration","src":"107785:15:21","value":{"kind":"number","nativeSrc":"107799:1:21","nodeType":"YulLiteral","src":"107799:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"107789:6:21","nodeType":"YulTypedName","src":"107789:6:21","type":""}]},{"body":{"nativeSrc":"107870:40:21","nodeType":"YulBlock","src":"107870:40:21","statements":[{"body":{"nativeSrc":"107899:9:21","nodeType":"YulBlock","src":"107899:9:21","statements":[{"nativeSrc":"107901:5:21","nodeType":"YulBreak","src":"107901:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"107887:6:21","nodeType":"YulIdentifier","src":"107887:6:21"},{"name":"w","nativeSrc":"107895:1:21","nodeType":"YulIdentifier","src":"107895:1:21"}],"functionName":{"name":"byte","nativeSrc":"107882:4:21","nodeType":"YulIdentifier","src":"107882:4:21"},"nativeSrc":"107882:15:21","nodeType":"YulFunctionCall","src":"107882:15:21"}],"functionName":{"name":"iszero","nativeSrc":"107875:6:21","nodeType":"YulIdentifier","src":"107875:6:21"},"nativeSrc":"107875:23:21","nodeType":"YulFunctionCall","src":"107875:23:21"},"nativeSrc":"107872:36:21","nodeType":"YulIf","src":"107872:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"107827:6:21","nodeType":"YulIdentifier","src":"107827:6:21"},{"kind":"number","nativeSrc":"107835:4:21","nodeType":"YulLiteral","src":"107835:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"107824:2:21","nodeType":"YulIdentifier","src":"107824:2:21"},"nativeSrc":"107824:16:21","nodeType":"YulFunctionCall","src":"107824:16:21"},"nativeSrc":"107817:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"107841:28:21","nodeType":"YulBlock","src":"107841:28:21","statements":[{"nativeSrc":"107843:24:21","nodeType":"YulAssignment","src":"107843:24:21","value":{"arguments":[{"name":"length","nativeSrc":"107857:6:21","nodeType":"YulIdentifier","src":"107857:6:21"},{"kind":"number","nativeSrc":"107865:1:21","nodeType":"YulLiteral","src":"107865:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"107853:3:21","nodeType":"YulIdentifier","src":"107853:3:21"},"nativeSrc":"107853:14:21","nodeType":"YulFunctionCall","src":"107853:14:21"},"variableNames":[{"name":"length","nativeSrc":"107843:6:21","nodeType":"YulIdentifier","src":"107843:6:21"}]}]},"pre":{"nativeSrc":"107821:2:21","nodeType":"YulBlock","src":"107821:2:21","statements":[]},"src":"107817:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"107934:3:21","nodeType":"YulIdentifier","src":"107934:3:21"},{"name":"length","nativeSrc":"107939:6:21","nodeType":"YulIdentifier","src":"107939:6:21"}],"functionName":{"name":"mstore","nativeSrc":"107927:6:21","nodeType":"YulIdentifier","src":"107927:6:21"},"nativeSrc":"107927:19:21","nodeType":"YulFunctionCall","src":"107927:19:21"},"nativeSrc":"107927:19:21","nodeType":"YulExpressionStatement","src":"107927:19:21"},{"nativeSrc":"107963:37:21","nodeType":"YulVariableDeclaration","src":"107963:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"107980:3:21","nodeType":"YulLiteral","src":"107980:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"107989:1:21","nodeType":"YulLiteral","src":"107989:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"107992:6:21","nodeType":"YulIdentifier","src":"107992:6:21"}],"functionName":{"name":"shl","nativeSrc":"107985:3:21","nodeType":"YulIdentifier","src":"107985:3:21"},"nativeSrc":"107985:14:21","nodeType":"YulFunctionCall","src":"107985:14:21"}],"functionName":{"name":"sub","nativeSrc":"107976:3:21","nodeType":"YulIdentifier","src":"107976:3:21"},"nativeSrc":"107976:24:21","nodeType":"YulFunctionCall","src":"107976:24:21"},"variables":[{"name":"shift","nativeSrc":"107967:5:21","nodeType":"YulTypedName","src":"107967:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"108028:3:21","nodeType":"YulIdentifier","src":"108028:3:21"},{"kind":"number","nativeSrc":"108033:4:21","nodeType":"YulLiteral","src":"108033:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"108024:3:21","nodeType":"YulIdentifier","src":"108024:3:21"},"nativeSrc":"108024:14:21","nodeType":"YulFunctionCall","src":"108024:14:21"},{"arguments":[{"name":"shift","nativeSrc":"108044:5:21","nodeType":"YulIdentifier","src":"108044:5:21"},{"arguments":[{"name":"shift","nativeSrc":"108055:5:21","nodeType":"YulIdentifier","src":"108055:5:21"},{"name":"w","nativeSrc":"108062:1:21","nodeType":"YulIdentifier","src":"108062:1:21"}],"functionName":{"name":"shr","nativeSrc":"108051:3:21","nodeType":"YulIdentifier","src":"108051:3:21"},"nativeSrc":"108051:13:21","nodeType":"YulFunctionCall","src":"108051:13:21"}],"functionName":{"name":"shl","nativeSrc":"108040:3:21","nodeType":"YulIdentifier","src":"108040:3:21"},"nativeSrc":"108040:25:21","nodeType":"YulFunctionCall","src":"108040:25:21"}],"functionName":{"name":"mstore","nativeSrc":"108017:6:21","nodeType":"YulIdentifier","src":"108017:6:21"},"nativeSrc":"108017:49:21","nodeType":"YulFunctionCall","src":"108017:49:21"},"nativeSrc":"108017:49:21","nodeType":"YulExpressionStatement","src":"108017:49:21"}]},"name":"writeString","nativeSrc":"107738:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"107759:3:21","nodeType":"YulTypedName","src":"107759:3:21","type":""},{"name":"w","nativeSrc":"107764:1:21","nodeType":"YulTypedName","src":"107764:1:21","type":""}],"src":"107738:342:21"},{"nativeSrc":"108093:17:21","nodeType":"YulAssignment","src":"108093:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"108105:4:21","nodeType":"YulLiteral","src":"108105:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"108099:5:21","nodeType":"YulIdentifier","src":"108099:5:21"},"nativeSrc":"108099:11:21","nodeType":"YulFunctionCall","src":"108099:11:21"},"variableNames":[{"name":"m0","nativeSrc":"108093:2:21","nodeType":"YulIdentifier","src":"108093:2:21"}]},{"nativeSrc":"108123:17:21","nodeType":"YulAssignment","src":"108123:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"108135:4:21","nodeType":"YulLiteral","src":"108135:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"108129:5:21","nodeType":"YulIdentifier","src":"108129:5:21"},"nativeSrc":"108129:11:21","nodeType":"YulFunctionCall","src":"108129:11:21"},"variableNames":[{"name":"m1","nativeSrc":"108123:2:21","nodeType":"YulIdentifier","src":"108123:2:21"}]},{"nativeSrc":"108153:17:21","nodeType":"YulAssignment","src":"108153:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"108165:4:21","nodeType":"YulLiteral","src":"108165:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"108159:5:21","nodeType":"YulIdentifier","src":"108159:5:21"},"nativeSrc":"108159:11:21","nodeType":"YulFunctionCall","src":"108159:11:21"},"variableNames":[{"name":"m2","nativeSrc":"108153:2:21","nodeType":"YulIdentifier","src":"108153:2:21"}]},{"nativeSrc":"108183:17:21","nodeType":"YulAssignment","src":"108183:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"108195:4:21","nodeType":"YulLiteral","src":"108195:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"108189:5:21","nodeType":"YulIdentifier","src":"108189:5:21"},"nativeSrc":"108189:11:21","nodeType":"YulFunctionCall","src":"108189:11:21"},"variableNames":[{"name":"m3","nativeSrc":"108183:2:21","nodeType":"YulIdentifier","src":"108183:2:21"}]},{"nativeSrc":"108213:17:21","nodeType":"YulAssignment","src":"108213:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"108225:4:21","nodeType":"YulLiteral","src":"108225:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"108219:5:21","nodeType":"YulIdentifier","src":"108219:5:21"},"nativeSrc":"108219:11:21","nodeType":"YulFunctionCall","src":"108219:11:21"},"variableNames":[{"name":"m4","nativeSrc":"108213:2:21","nodeType":"YulIdentifier","src":"108213:2:21"}]},{"nativeSrc":"108243:17:21","nodeType":"YulAssignment","src":"108243:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"108255:4:21","nodeType":"YulLiteral","src":"108255:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"108249:5:21","nodeType":"YulIdentifier","src":"108249:5:21"},"nativeSrc":"108249:11:21","nodeType":"YulFunctionCall","src":"108249:11:21"},"variableNames":[{"name":"m5","nativeSrc":"108243:2:21","nodeType":"YulIdentifier","src":"108243:2:21"}]},{"nativeSrc":"108273:17:21","nodeType":"YulAssignment","src":"108273:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"108285:4:21","nodeType":"YulLiteral","src":"108285:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"108279:5:21","nodeType":"YulIdentifier","src":"108279:5:21"},"nativeSrc":"108279:11:21","nodeType":"YulFunctionCall","src":"108279:11:21"},"variableNames":[{"name":"m6","nativeSrc":"108273:2:21","nodeType":"YulIdentifier","src":"108273:2:21"}]},{"nativeSrc":"108303:17:21","nodeType":"YulAssignment","src":"108303:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"108315:4:21","nodeType":"YulLiteral","src":"108315:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"108309:5:21","nodeType":"YulIdentifier","src":"108309:5:21"},"nativeSrc":"108309:11:21","nodeType":"YulFunctionCall","src":"108309:11:21"},"variableNames":[{"name":"m7","nativeSrc":"108303:2:21","nodeType":"YulIdentifier","src":"108303:2:21"}]},{"nativeSrc":"108333:18:21","nodeType":"YulAssignment","src":"108333:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"108345:5:21","nodeType":"YulLiteral","src":"108345:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"108339:5:21","nodeType":"YulIdentifier","src":"108339:5:21"},"nativeSrc":"108339:12:21","nodeType":"YulFunctionCall","src":"108339:12:21"},"variableNames":[{"name":"m8","nativeSrc":"108333:2:21","nodeType":"YulIdentifier","src":"108333:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108436:4:21","nodeType":"YulLiteral","src":"108436:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"108442:10:21","nodeType":"YulLiteral","src":"108442:10:21","type":"","value":"0x21bdaf25"}],"functionName":{"name":"mstore","nativeSrc":"108429:6:21","nodeType":"YulIdentifier","src":"108429:6:21"},"nativeSrc":"108429:24:21","nodeType":"YulFunctionCall","src":"108429:24:21"},"nativeSrc":"108429:24:21","nodeType":"YulExpressionStatement","src":"108429:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108473:4:21","nodeType":"YulLiteral","src":"108473:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"108479:2:21","nodeType":"YulIdentifier","src":"108479:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108466:6:21","nodeType":"YulIdentifier","src":"108466:6:21"},"nativeSrc":"108466:16:21","nodeType":"YulFunctionCall","src":"108466:16:21"},"nativeSrc":"108466:16:21","nodeType":"YulExpressionStatement","src":"108466:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108502:4:21","nodeType":"YulLiteral","src":"108502:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"108508:2:21","nodeType":"YulIdentifier","src":"108508:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108495:6:21","nodeType":"YulIdentifier","src":"108495:6:21"},"nativeSrc":"108495:16:21","nodeType":"YulFunctionCall","src":"108495:16:21"},"nativeSrc":"108495:16:21","nodeType":"YulExpressionStatement","src":"108495:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108531:4:21","nodeType":"YulLiteral","src":"108531:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"108537:4:21","nodeType":"YulLiteral","src":"108537:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"108524:6:21","nodeType":"YulIdentifier","src":"108524:6:21"},"nativeSrc":"108524:18:21","nodeType":"YulFunctionCall","src":"108524:18:21"},"nativeSrc":"108524:18:21","nodeType":"YulExpressionStatement","src":"108524:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108562:4:21","nodeType":"YulLiteral","src":"108562:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"108568:4:21","nodeType":"YulLiteral","src":"108568:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"108555:6:21","nodeType":"YulIdentifier","src":"108555:6:21"},"nativeSrc":"108555:18:21","nodeType":"YulFunctionCall","src":"108555:18:21"},"nativeSrc":"108555:18:21","nodeType":"YulExpressionStatement","src":"108555:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108598:4:21","nodeType":"YulLiteral","src":"108598:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"108604:2:21","nodeType":"YulIdentifier","src":"108604:2:21"}],"functionName":{"name":"writeString","nativeSrc":"108586:11:21","nodeType":"YulIdentifier","src":"108586:11:21"},"nativeSrc":"108586:21:21","nodeType":"YulFunctionCall","src":"108586:21:21"},"nativeSrc":"108586:21:21","nodeType":"YulExpressionStatement","src":"108586:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108632:4:21","nodeType":"YulLiteral","src":"108632:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"108638:2:21","nodeType":"YulIdentifier","src":"108638:2:21"}],"functionName":{"name":"writeString","nativeSrc":"108620:11:21","nodeType":"YulIdentifier","src":"108620:11:21"},"nativeSrc":"108620:21:21","nodeType":"YulFunctionCall","src":"108620:21:21"},"nativeSrc":"108620:21:21","nodeType":"YulExpressionStatement","src":"108620:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30354,"isOffset":false,"isSlot":false,"src":"108093:2:21","valueSize":1},{"declaration":30357,"isOffset":false,"isSlot":false,"src":"108123:2:21","valueSize":1},{"declaration":30360,"isOffset":false,"isSlot":false,"src":"108153:2:21","valueSize":1},{"declaration":30363,"isOffset":false,"isSlot":false,"src":"108183:2:21","valueSize":1},{"declaration":30366,"isOffset":false,"isSlot":false,"src":"108213:2:21","valueSize":1},{"declaration":30369,"isOffset":false,"isSlot":false,"src":"108243:2:21","valueSize":1},{"declaration":30372,"isOffset":false,"isSlot":false,"src":"108273:2:21","valueSize":1},{"declaration":30375,"isOffset":false,"isSlot":false,"src":"108303:2:21","valueSize":1},{"declaration":30378,"isOffset":false,"isSlot":false,"src":"108333:2:21","valueSize":1},{"declaration":30344,"isOffset":false,"isSlot":false,"src":"108479:2:21","valueSize":1},{"declaration":30346,"isOffset":false,"isSlot":false,"src":"108508:2:21","valueSize":1},{"declaration":30348,"isOffset":false,"isSlot":false,"src":"108604:2:21","valueSize":1},{"declaration":30350,"isOffset":false,"isSlot":false,"src":"108638:2:21","valueSize":1}],"id":30380,"nodeType":"InlineAssembly","src":"107715:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"108676:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":30383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"108682:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":30381,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"108660:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"108660:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30385,"nodeType":"ExpressionStatement","src":"108660:28:21"},{"AST":{"nativeSrc":"108750:273:21","nodeType":"YulBlock","src":"108750:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"108771:4:21","nodeType":"YulLiteral","src":"108771:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"108777:2:21","nodeType":"YulIdentifier","src":"108777:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108764:6:21","nodeType":"YulIdentifier","src":"108764:6:21"},"nativeSrc":"108764:16:21","nodeType":"YulFunctionCall","src":"108764:16:21"},"nativeSrc":"108764:16:21","nodeType":"YulExpressionStatement","src":"108764:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108800:4:21","nodeType":"YulLiteral","src":"108800:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"108806:2:21","nodeType":"YulIdentifier","src":"108806:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108793:6:21","nodeType":"YulIdentifier","src":"108793:6:21"},"nativeSrc":"108793:16:21","nodeType":"YulFunctionCall","src":"108793:16:21"},"nativeSrc":"108793:16:21","nodeType":"YulExpressionStatement","src":"108793:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108829:4:21","nodeType":"YulLiteral","src":"108829:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"108835:2:21","nodeType":"YulIdentifier","src":"108835:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108822:6:21","nodeType":"YulIdentifier","src":"108822:6:21"},"nativeSrc":"108822:16:21","nodeType":"YulFunctionCall","src":"108822:16:21"},"nativeSrc":"108822:16:21","nodeType":"YulExpressionStatement","src":"108822:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108858:4:21","nodeType":"YulLiteral","src":"108858:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"108864:2:21","nodeType":"YulIdentifier","src":"108864:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108851:6:21","nodeType":"YulIdentifier","src":"108851:6:21"},"nativeSrc":"108851:16:21","nodeType":"YulFunctionCall","src":"108851:16:21"},"nativeSrc":"108851:16:21","nodeType":"YulExpressionStatement","src":"108851:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108887:4:21","nodeType":"YulLiteral","src":"108887:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"108893:2:21","nodeType":"YulIdentifier","src":"108893:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108880:6:21","nodeType":"YulIdentifier","src":"108880:6:21"},"nativeSrc":"108880:16:21","nodeType":"YulFunctionCall","src":"108880:16:21"},"nativeSrc":"108880:16:21","nodeType":"YulExpressionStatement","src":"108880:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108916:4:21","nodeType":"YulLiteral","src":"108916:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"108922:2:21","nodeType":"YulIdentifier","src":"108922:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108909:6:21","nodeType":"YulIdentifier","src":"108909:6:21"},"nativeSrc":"108909:16:21","nodeType":"YulFunctionCall","src":"108909:16:21"},"nativeSrc":"108909:16:21","nodeType":"YulExpressionStatement","src":"108909:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108945:4:21","nodeType":"YulLiteral","src":"108945:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"108951:2:21","nodeType":"YulIdentifier","src":"108951:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108938:6:21","nodeType":"YulIdentifier","src":"108938:6:21"},"nativeSrc":"108938:16:21","nodeType":"YulFunctionCall","src":"108938:16:21"},"nativeSrc":"108938:16:21","nodeType":"YulExpressionStatement","src":"108938:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108974:4:21","nodeType":"YulLiteral","src":"108974:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"108980:2:21","nodeType":"YulIdentifier","src":"108980:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108967:6:21","nodeType":"YulIdentifier","src":"108967:6:21"},"nativeSrc":"108967:16:21","nodeType":"YulFunctionCall","src":"108967:16:21"},"nativeSrc":"108967:16:21","nodeType":"YulExpressionStatement","src":"108967:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109003:5:21","nodeType":"YulLiteral","src":"109003:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"109010:2:21","nodeType":"YulIdentifier","src":"109010:2:21"}],"functionName":{"name":"mstore","nativeSrc":"108996:6:21","nodeType":"YulIdentifier","src":"108996:6:21"},"nativeSrc":"108996:17:21","nodeType":"YulFunctionCall","src":"108996:17:21"},"nativeSrc":"108996:17:21","nodeType":"YulExpressionStatement","src":"108996:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30354,"isOffset":false,"isSlot":false,"src":"108777:2:21","valueSize":1},{"declaration":30357,"isOffset":false,"isSlot":false,"src":"108806:2:21","valueSize":1},{"declaration":30360,"isOffset":false,"isSlot":false,"src":"108835:2:21","valueSize":1},{"declaration":30363,"isOffset":false,"isSlot":false,"src":"108864:2:21","valueSize":1},{"declaration":30366,"isOffset":false,"isSlot":false,"src":"108893:2:21","valueSize":1},{"declaration":30369,"isOffset":false,"isSlot":false,"src":"108922:2:21","valueSize":1},{"declaration":30372,"isOffset":false,"isSlot":false,"src":"108951:2:21","valueSize":1},{"declaration":30375,"isOffset":false,"isSlot":false,"src":"108980:2:21","valueSize":1},{"declaration":30378,"isOffset":false,"isSlot":false,"src":"109010:2:21","valueSize":1}],"id":30386,"nodeType":"InlineAssembly","src":"108741:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"107416:3:21","parameters":{"id":30351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30344,"mutability":"mutable","name":"p0","nameLocation":"107428:2:21","nodeType":"VariableDeclaration","scope":30388,"src":"107420:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30343,"name":"address","nodeType":"ElementaryTypeName","src":"107420:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30346,"mutability":"mutable","name":"p1","nameLocation":"107440:2:21","nodeType":"VariableDeclaration","scope":30388,"src":"107432:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30345,"name":"address","nodeType":"ElementaryTypeName","src":"107432:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30348,"mutability":"mutable","name":"p2","nameLocation":"107452:2:21","nodeType":"VariableDeclaration","scope":30388,"src":"107444:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107444:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30350,"mutability":"mutable","name":"p3","nameLocation":"107464:2:21","nodeType":"VariableDeclaration","scope":30388,"src":"107456:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107456:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"107419:48:21"},"returnParameters":{"id":30352,"nodeType":"ParameterList","parameters":[],"src":"107482:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30422,"nodeType":"FunctionDefinition","src":"109035:872:21","nodes":[],"body":{"id":30421,"nodeType":"Block","src":"109107:800:21","nodes":[],"statements":[{"assignments":[30400],"declarations":[{"constant":false,"id":30400,"mutability":"mutable","name":"m0","nameLocation":"109125:2:21","nodeType":"VariableDeclaration","scope":30421,"src":"109117:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109117:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30401,"nodeType":"VariableDeclarationStatement","src":"109117:10:21"},{"assignments":[30403],"declarations":[{"constant":false,"id":30403,"mutability":"mutable","name":"m1","nameLocation":"109145:2:21","nodeType":"VariableDeclaration","scope":30421,"src":"109137:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109137:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30404,"nodeType":"VariableDeclarationStatement","src":"109137:10:21"},{"assignments":[30406],"declarations":[{"constant":false,"id":30406,"mutability":"mutable","name":"m2","nameLocation":"109165:2:21","nodeType":"VariableDeclaration","scope":30421,"src":"109157:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109157:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30407,"nodeType":"VariableDeclarationStatement","src":"109157:10:21"},{"assignments":[30409],"declarations":[{"constant":false,"id":30409,"mutability":"mutable","name":"m3","nameLocation":"109185:2:21","nodeType":"VariableDeclaration","scope":30421,"src":"109177:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109177:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30410,"nodeType":"VariableDeclarationStatement","src":"109177:10:21"},{"assignments":[30412],"declarations":[{"constant":false,"id":30412,"mutability":"mutable","name":"m4","nameLocation":"109205:2:21","nodeType":"VariableDeclaration","scope":30421,"src":"109197:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109197:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30413,"nodeType":"VariableDeclarationStatement","src":"109197:10:21"},{"AST":{"nativeSrc":"109269:378:21","nodeType":"YulBlock","src":"109269:378:21","statements":[{"nativeSrc":"109283:17:21","nodeType":"YulAssignment","src":"109283:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"109295:4:21","nodeType":"YulLiteral","src":"109295:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"109289:5:21","nodeType":"YulIdentifier","src":"109289:5:21"},"nativeSrc":"109289:11:21","nodeType":"YulFunctionCall","src":"109289:11:21"},"variableNames":[{"name":"m0","nativeSrc":"109283:2:21","nodeType":"YulIdentifier","src":"109283:2:21"}]},{"nativeSrc":"109313:17:21","nodeType":"YulAssignment","src":"109313:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"109325:4:21","nodeType":"YulLiteral","src":"109325:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"109319:5:21","nodeType":"YulIdentifier","src":"109319:5:21"},"nativeSrc":"109319:11:21","nodeType":"YulFunctionCall","src":"109319:11:21"},"variableNames":[{"name":"m1","nativeSrc":"109313:2:21","nodeType":"YulIdentifier","src":"109313:2:21"}]},{"nativeSrc":"109343:17:21","nodeType":"YulAssignment","src":"109343:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"109355:4:21","nodeType":"YulLiteral","src":"109355:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"109349:5:21","nodeType":"YulIdentifier","src":"109349:5:21"},"nativeSrc":"109349:11:21","nodeType":"YulFunctionCall","src":"109349:11:21"},"variableNames":[{"name":"m2","nativeSrc":"109343:2:21","nodeType":"YulIdentifier","src":"109343:2:21"}]},{"nativeSrc":"109373:17:21","nodeType":"YulAssignment","src":"109373:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"109385:4:21","nodeType":"YulLiteral","src":"109385:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"109379:5:21","nodeType":"YulIdentifier","src":"109379:5:21"},"nativeSrc":"109379:11:21","nodeType":"YulFunctionCall","src":"109379:11:21"},"variableNames":[{"name":"m3","nativeSrc":"109373:2:21","nodeType":"YulIdentifier","src":"109373:2:21"}]},{"nativeSrc":"109403:17:21","nodeType":"YulAssignment","src":"109403:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"109415:4:21","nodeType":"YulLiteral","src":"109415:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"109409:5:21","nodeType":"YulIdentifier","src":"109409:5:21"},"nativeSrc":"109409:11:21","nodeType":"YulFunctionCall","src":"109409:11:21"},"variableNames":[{"name":"m4","nativeSrc":"109403:2:21","nodeType":"YulIdentifier","src":"109403:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109504:4:21","nodeType":"YulLiteral","src":"109504:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"109510:10:21","nodeType":"YulLiteral","src":"109510:10:21","type":"","value":"0x660375dd"}],"functionName":{"name":"mstore","nativeSrc":"109497:6:21","nodeType":"YulIdentifier","src":"109497:6:21"},"nativeSrc":"109497:24:21","nodeType":"YulFunctionCall","src":"109497:24:21"},"nativeSrc":"109497:24:21","nodeType":"YulExpressionStatement","src":"109497:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109541:4:21","nodeType":"YulLiteral","src":"109541:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"109547:2:21","nodeType":"YulIdentifier","src":"109547:2:21"}],"functionName":{"name":"mstore","nativeSrc":"109534:6:21","nodeType":"YulIdentifier","src":"109534:6:21"},"nativeSrc":"109534:16:21","nodeType":"YulFunctionCall","src":"109534:16:21"},"nativeSrc":"109534:16:21","nodeType":"YulExpressionStatement","src":"109534:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109570:4:21","nodeType":"YulLiteral","src":"109570:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"109576:2:21","nodeType":"YulIdentifier","src":"109576:2:21"}],"functionName":{"name":"mstore","nativeSrc":"109563:6:21","nodeType":"YulIdentifier","src":"109563:6:21"},"nativeSrc":"109563:16:21","nodeType":"YulFunctionCall","src":"109563:16:21"},"nativeSrc":"109563:16:21","nodeType":"YulExpressionStatement","src":"109563:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109599:4:21","nodeType":"YulLiteral","src":"109599:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"109605:2:21","nodeType":"YulIdentifier","src":"109605:2:21"}],"functionName":{"name":"mstore","nativeSrc":"109592:6:21","nodeType":"YulIdentifier","src":"109592:6:21"},"nativeSrc":"109592:16:21","nodeType":"YulFunctionCall","src":"109592:16:21"},"nativeSrc":"109592:16:21","nodeType":"YulExpressionStatement","src":"109592:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109628:4:21","nodeType":"YulLiteral","src":"109628:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"109634:2:21","nodeType":"YulIdentifier","src":"109634:2:21"}],"functionName":{"name":"mstore","nativeSrc":"109621:6:21","nodeType":"YulIdentifier","src":"109621:6:21"},"nativeSrc":"109621:16:21","nodeType":"YulFunctionCall","src":"109621:16:21"},"nativeSrc":"109621:16:21","nodeType":"YulExpressionStatement","src":"109621:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30400,"isOffset":false,"isSlot":false,"src":"109283:2:21","valueSize":1},{"declaration":30403,"isOffset":false,"isSlot":false,"src":"109313:2:21","valueSize":1},{"declaration":30406,"isOffset":false,"isSlot":false,"src":"109343:2:21","valueSize":1},{"declaration":30409,"isOffset":false,"isSlot":false,"src":"109373:2:21","valueSize":1},{"declaration":30412,"isOffset":false,"isSlot":false,"src":"109403:2:21","valueSize":1},{"declaration":30390,"isOffset":false,"isSlot":false,"src":"109547:2:21","valueSize":1},{"declaration":30392,"isOffset":false,"isSlot":false,"src":"109576:2:21","valueSize":1},{"declaration":30394,"isOffset":false,"isSlot":false,"src":"109605:2:21","valueSize":1},{"declaration":30396,"isOffset":false,"isSlot":false,"src":"109634:2:21","valueSize":1}],"id":30414,"nodeType":"InlineAssembly","src":"109260:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"109672:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"109678:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30415,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"109656:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"109656:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30419,"nodeType":"ExpressionStatement","src":"109656:27:21"},{"AST":{"nativeSrc":"109745:156:21","nodeType":"YulBlock","src":"109745:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"109766:4:21","nodeType":"YulLiteral","src":"109766:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"109772:2:21","nodeType":"YulIdentifier","src":"109772:2:21"}],"functionName":{"name":"mstore","nativeSrc":"109759:6:21","nodeType":"YulIdentifier","src":"109759:6:21"},"nativeSrc":"109759:16:21","nodeType":"YulFunctionCall","src":"109759:16:21"},"nativeSrc":"109759:16:21","nodeType":"YulExpressionStatement","src":"109759:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109795:4:21","nodeType":"YulLiteral","src":"109795:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"109801:2:21","nodeType":"YulIdentifier","src":"109801:2:21"}],"functionName":{"name":"mstore","nativeSrc":"109788:6:21","nodeType":"YulIdentifier","src":"109788:6:21"},"nativeSrc":"109788:16:21","nodeType":"YulFunctionCall","src":"109788:16:21"},"nativeSrc":"109788:16:21","nodeType":"YulExpressionStatement","src":"109788:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109824:4:21","nodeType":"YulLiteral","src":"109824:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"109830:2:21","nodeType":"YulIdentifier","src":"109830:2:21"}],"functionName":{"name":"mstore","nativeSrc":"109817:6:21","nodeType":"YulIdentifier","src":"109817:6:21"},"nativeSrc":"109817:16:21","nodeType":"YulFunctionCall","src":"109817:16:21"},"nativeSrc":"109817:16:21","nodeType":"YulExpressionStatement","src":"109817:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109853:4:21","nodeType":"YulLiteral","src":"109853:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"109859:2:21","nodeType":"YulIdentifier","src":"109859:2:21"}],"functionName":{"name":"mstore","nativeSrc":"109846:6:21","nodeType":"YulIdentifier","src":"109846:6:21"},"nativeSrc":"109846:16:21","nodeType":"YulFunctionCall","src":"109846:16:21"},"nativeSrc":"109846:16:21","nodeType":"YulExpressionStatement","src":"109846:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109882:4:21","nodeType":"YulLiteral","src":"109882:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"109888:2:21","nodeType":"YulIdentifier","src":"109888:2:21"}],"functionName":{"name":"mstore","nativeSrc":"109875:6:21","nodeType":"YulIdentifier","src":"109875:6:21"},"nativeSrc":"109875:16:21","nodeType":"YulFunctionCall","src":"109875:16:21"},"nativeSrc":"109875:16:21","nodeType":"YulExpressionStatement","src":"109875:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30400,"isOffset":false,"isSlot":false,"src":"109772:2:21","valueSize":1},{"declaration":30403,"isOffset":false,"isSlot":false,"src":"109801:2:21","valueSize":1},{"declaration":30406,"isOffset":false,"isSlot":false,"src":"109830:2:21","valueSize":1},{"declaration":30409,"isOffset":false,"isSlot":false,"src":"109859:2:21","valueSize":1},{"declaration":30412,"isOffset":false,"isSlot":false,"src":"109888:2:21","valueSize":1}],"id":30420,"nodeType":"InlineAssembly","src":"109736:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"109044:3:21","parameters":{"id":30397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30390,"mutability":"mutable","name":"p0","nameLocation":"109056:2:21","nodeType":"VariableDeclaration","scope":30422,"src":"109048:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30389,"name":"address","nodeType":"ElementaryTypeName","src":"109048:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30392,"mutability":"mutable","name":"p1","nameLocation":"109065:2:21","nodeType":"VariableDeclaration","scope":30422,"src":"109060:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30391,"name":"bool","nodeType":"ElementaryTypeName","src":"109060:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30394,"mutability":"mutable","name":"p2","nameLocation":"109077:2:21","nodeType":"VariableDeclaration","scope":30422,"src":"109069:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30393,"name":"address","nodeType":"ElementaryTypeName","src":"109069:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30396,"mutability":"mutable","name":"p3","nameLocation":"109089:2:21","nodeType":"VariableDeclaration","scope":30422,"src":"109081:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30395,"name":"address","nodeType":"ElementaryTypeName","src":"109081:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"109047:45:21"},"returnParameters":{"id":30398,"nodeType":"ParameterList","parameters":[],"src":"109107:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30456,"nodeType":"FunctionDefinition","src":"109913:866:21","nodes":[],"body":{"id":30455,"nodeType":"Block","src":"109982:797:21","nodes":[],"statements":[{"assignments":[30434],"declarations":[{"constant":false,"id":30434,"mutability":"mutable","name":"m0","nameLocation":"110000:2:21","nodeType":"VariableDeclaration","scope":30455,"src":"109992:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109992:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30435,"nodeType":"VariableDeclarationStatement","src":"109992:10:21"},{"assignments":[30437],"declarations":[{"constant":false,"id":30437,"mutability":"mutable","name":"m1","nameLocation":"110020:2:21","nodeType":"VariableDeclaration","scope":30455,"src":"110012:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30436,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110012:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30438,"nodeType":"VariableDeclarationStatement","src":"110012:10:21"},{"assignments":[30440],"declarations":[{"constant":false,"id":30440,"mutability":"mutable","name":"m2","nameLocation":"110040:2:21","nodeType":"VariableDeclaration","scope":30455,"src":"110032:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30439,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110032:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30441,"nodeType":"VariableDeclarationStatement","src":"110032:10:21"},{"assignments":[30443],"declarations":[{"constant":false,"id":30443,"mutability":"mutable","name":"m3","nameLocation":"110060:2:21","nodeType":"VariableDeclaration","scope":30455,"src":"110052:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110052:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30444,"nodeType":"VariableDeclarationStatement","src":"110052:10:21"},{"assignments":[30446],"declarations":[{"constant":false,"id":30446,"mutability":"mutable","name":"m4","nameLocation":"110080:2:21","nodeType":"VariableDeclaration","scope":30455,"src":"110072:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110072:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30447,"nodeType":"VariableDeclarationStatement","src":"110072:10:21"},{"AST":{"nativeSrc":"110144:375:21","nodeType":"YulBlock","src":"110144:375:21","statements":[{"nativeSrc":"110158:17:21","nodeType":"YulAssignment","src":"110158:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"110170:4:21","nodeType":"YulLiteral","src":"110170:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"110164:5:21","nodeType":"YulIdentifier","src":"110164:5:21"},"nativeSrc":"110164:11:21","nodeType":"YulFunctionCall","src":"110164:11:21"},"variableNames":[{"name":"m0","nativeSrc":"110158:2:21","nodeType":"YulIdentifier","src":"110158:2:21"}]},{"nativeSrc":"110188:17:21","nodeType":"YulAssignment","src":"110188:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"110200:4:21","nodeType":"YulLiteral","src":"110200:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"110194:5:21","nodeType":"YulIdentifier","src":"110194:5:21"},"nativeSrc":"110194:11:21","nodeType":"YulFunctionCall","src":"110194:11:21"},"variableNames":[{"name":"m1","nativeSrc":"110188:2:21","nodeType":"YulIdentifier","src":"110188:2:21"}]},{"nativeSrc":"110218:17:21","nodeType":"YulAssignment","src":"110218:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"110230:4:21","nodeType":"YulLiteral","src":"110230:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"110224:5:21","nodeType":"YulIdentifier","src":"110224:5:21"},"nativeSrc":"110224:11:21","nodeType":"YulFunctionCall","src":"110224:11:21"},"variableNames":[{"name":"m2","nativeSrc":"110218:2:21","nodeType":"YulIdentifier","src":"110218:2:21"}]},{"nativeSrc":"110248:17:21","nodeType":"YulAssignment","src":"110248:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"110260:4:21","nodeType":"YulLiteral","src":"110260:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"110254:5:21","nodeType":"YulIdentifier","src":"110254:5:21"},"nativeSrc":"110254:11:21","nodeType":"YulFunctionCall","src":"110254:11:21"},"variableNames":[{"name":"m3","nativeSrc":"110248:2:21","nodeType":"YulIdentifier","src":"110248:2:21"}]},{"nativeSrc":"110278:17:21","nodeType":"YulAssignment","src":"110278:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"110290:4:21","nodeType":"YulLiteral","src":"110290:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"110284:5:21","nodeType":"YulIdentifier","src":"110284:5:21"},"nativeSrc":"110284:11:21","nodeType":"YulFunctionCall","src":"110284:11:21"},"variableNames":[{"name":"m4","nativeSrc":"110278:2:21","nodeType":"YulIdentifier","src":"110278:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110376:4:21","nodeType":"YulLiteral","src":"110376:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"110382:10:21","nodeType":"YulLiteral","src":"110382:10:21","type":"","value":"0xa6f50b0f"}],"functionName":{"name":"mstore","nativeSrc":"110369:6:21","nodeType":"YulIdentifier","src":"110369:6:21"},"nativeSrc":"110369:24:21","nodeType":"YulFunctionCall","src":"110369:24:21"},"nativeSrc":"110369:24:21","nodeType":"YulExpressionStatement","src":"110369:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110413:4:21","nodeType":"YulLiteral","src":"110413:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"110419:2:21","nodeType":"YulIdentifier","src":"110419:2:21"}],"functionName":{"name":"mstore","nativeSrc":"110406:6:21","nodeType":"YulIdentifier","src":"110406:6:21"},"nativeSrc":"110406:16:21","nodeType":"YulFunctionCall","src":"110406:16:21"},"nativeSrc":"110406:16:21","nodeType":"YulExpressionStatement","src":"110406:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110442:4:21","nodeType":"YulLiteral","src":"110442:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"110448:2:21","nodeType":"YulIdentifier","src":"110448:2:21"}],"functionName":{"name":"mstore","nativeSrc":"110435:6:21","nodeType":"YulIdentifier","src":"110435:6:21"},"nativeSrc":"110435:16:21","nodeType":"YulFunctionCall","src":"110435:16:21"},"nativeSrc":"110435:16:21","nodeType":"YulExpressionStatement","src":"110435:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110471:4:21","nodeType":"YulLiteral","src":"110471:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"110477:2:21","nodeType":"YulIdentifier","src":"110477:2:21"}],"functionName":{"name":"mstore","nativeSrc":"110464:6:21","nodeType":"YulIdentifier","src":"110464:6:21"},"nativeSrc":"110464:16:21","nodeType":"YulFunctionCall","src":"110464:16:21"},"nativeSrc":"110464:16:21","nodeType":"YulExpressionStatement","src":"110464:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110500:4:21","nodeType":"YulLiteral","src":"110500:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"110506:2:21","nodeType":"YulIdentifier","src":"110506:2:21"}],"functionName":{"name":"mstore","nativeSrc":"110493:6:21","nodeType":"YulIdentifier","src":"110493:6:21"},"nativeSrc":"110493:16:21","nodeType":"YulFunctionCall","src":"110493:16:21"},"nativeSrc":"110493:16:21","nodeType":"YulExpressionStatement","src":"110493:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30434,"isOffset":false,"isSlot":false,"src":"110158:2:21","valueSize":1},{"declaration":30437,"isOffset":false,"isSlot":false,"src":"110188:2:21","valueSize":1},{"declaration":30440,"isOffset":false,"isSlot":false,"src":"110218:2:21","valueSize":1},{"declaration":30443,"isOffset":false,"isSlot":false,"src":"110248:2:21","valueSize":1},{"declaration":30446,"isOffset":false,"isSlot":false,"src":"110278:2:21","valueSize":1},{"declaration":30424,"isOffset":false,"isSlot":false,"src":"110419:2:21","valueSize":1},{"declaration":30426,"isOffset":false,"isSlot":false,"src":"110448:2:21","valueSize":1},{"declaration":30428,"isOffset":false,"isSlot":false,"src":"110477:2:21","valueSize":1},{"declaration":30430,"isOffset":false,"isSlot":false,"src":"110506:2:21","valueSize":1}],"id":30448,"nodeType":"InlineAssembly","src":"110135:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"110544:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"110550:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30449,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"110528:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"110528:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30453,"nodeType":"ExpressionStatement","src":"110528:27:21"},{"AST":{"nativeSrc":"110617:156:21","nodeType":"YulBlock","src":"110617:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"110638:4:21","nodeType":"YulLiteral","src":"110638:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"110644:2:21","nodeType":"YulIdentifier","src":"110644:2:21"}],"functionName":{"name":"mstore","nativeSrc":"110631:6:21","nodeType":"YulIdentifier","src":"110631:6:21"},"nativeSrc":"110631:16:21","nodeType":"YulFunctionCall","src":"110631:16:21"},"nativeSrc":"110631:16:21","nodeType":"YulExpressionStatement","src":"110631:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110667:4:21","nodeType":"YulLiteral","src":"110667:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"110673:2:21","nodeType":"YulIdentifier","src":"110673:2:21"}],"functionName":{"name":"mstore","nativeSrc":"110660:6:21","nodeType":"YulIdentifier","src":"110660:6:21"},"nativeSrc":"110660:16:21","nodeType":"YulFunctionCall","src":"110660:16:21"},"nativeSrc":"110660:16:21","nodeType":"YulExpressionStatement","src":"110660:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110696:4:21","nodeType":"YulLiteral","src":"110696:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"110702:2:21","nodeType":"YulIdentifier","src":"110702:2:21"}],"functionName":{"name":"mstore","nativeSrc":"110689:6:21","nodeType":"YulIdentifier","src":"110689:6:21"},"nativeSrc":"110689:16:21","nodeType":"YulFunctionCall","src":"110689:16:21"},"nativeSrc":"110689:16:21","nodeType":"YulExpressionStatement","src":"110689:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110725:4:21","nodeType":"YulLiteral","src":"110725:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"110731:2:21","nodeType":"YulIdentifier","src":"110731:2:21"}],"functionName":{"name":"mstore","nativeSrc":"110718:6:21","nodeType":"YulIdentifier","src":"110718:6:21"},"nativeSrc":"110718:16:21","nodeType":"YulFunctionCall","src":"110718:16:21"},"nativeSrc":"110718:16:21","nodeType":"YulExpressionStatement","src":"110718:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110754:4:21","nodeType":"YulLiteral","src":"110754:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"110760:2:21","nodeType":"YulIdentifier","src":"110760:2:21"}],"functionName":{"name":"mstore","nativeSrc":"110747:6:21","nodeType":"YulIdentifier","src":"110747:6:21"},"nativeSrc":"110747:16:21","nodeType":"YulFunctionCall","src":"110747:16:21"},"nativeSrc":"110747:16:21","nodeType":"YulExpressionStatement","src":"110747:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30434,"isOffset":false,"isSlot":false,"src":"110644:2:21","valueSize":1},{"declaration":30437,"isOffset":false,"isSlot":false,"src":"110673:2:21","valueSize":1},{"declaration":30440,"isOffset":false,"isSlot":false,"src":"110702:2:21","valueSize":1},{"declaration":30443,"isOffset":false,"isSlot":false,"src":"110731:2:21","valueSize":1},{"declaration":30446,"isOffset":false,"isSlot":false,"src":"110760:2:21","valueSize":1}],"id":30454,"nodeType":"InlineAssembly","src":"110608:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"109922:3:21","parameters":{"id":30431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30424,"mutability":"mutable","name":"p0","nameLocation":"109934:2:21","nodeType":"VariableDeclaration","scope":30456,"src":"109926:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30423,"name":"address","nodeType":"ElementaryTypeName","src":"109926:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30426,"mutability":"mutable","name":"p1","nameLocation":"109943:2:21","nodeType":"VariableDeclaration","scope":30456,"src":"109938:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30425,"name":"bool","nodeType":"ElementaryTypeName","src":"109938:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30428,"mutability":"mutable","name":"p2","nameLocation":"109955:2:21","nodeType":"VariableDeclaration","scope":30456,"src":"109947:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30427,"name":"address","nodeType":"ElementaryTypeName","src":"109947:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30430,"mutability":"mutable","name":"p3","nameLocation":"109964:2:21","nodeType":"VariableDeclaration","scope":30456,"src":"109959:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30429,"name":"bool","nodeType":"ElementaryTypeName","src":"109959:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"109925:42:21"},"returnParameters":{"id":30432,"nodeType":"ParameterList","parameters":[],"src":"109982:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30490,"nodeType":"FunctionDefinition","src":"110785:872:21","nodes":[],"body":{"id":30489,"nodeType":"Block","src":"110857:800:21","nodes":[],"statements":[{"assignments":[30468],"declarations":[{"constant":false,"id":30468,"mutability":"mutable","name":"m0","nameLocation":"110875:2:21","nodeType":"VariableDeclaration","scope":30489,"src":"110867:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110867:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30469,"nodeType":"VariableDeclarationStatement","src":"110867:10:21"},{"assignments":[30471],"declarations":[{"constant":false,"id":30471,"mutability":"mutable","name":"m1","nameLocation":"110895:2:21","nodeType":"VariableDeclaration","scope":30489,"src":"110887:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30470,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110887:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30472,"nodeType":"VariableDeclarationStatement","src":"110887:10:21"},{"assignments":[30474],"declarations":[{"constant":false,"id":30474,"mutability":"mutable","name":"m2","nameLocation":"110915:2:21","nodeType":"VariableDeclaration","scope":30489,"src":"110907:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110907:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30475,"nodeType":"VariableDeclarationStatement","src":"110907:10:21"},{"assignments":[30477],"declarations":[{"constant":false,"id":30477,"mutability":"mutable","name":"m3","nameLocation":"110935:2:21","nodeType":"VariableDeclaration","scope":30489,"src":"110927:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30476,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110927:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30478,"nodeType":"VariableDeclarationStatement","src":"110927:10:21"},{"assignments":[30480],"declarations":[{"constant":false,"id":30480,"mutability":"mutable","name":"m4","nameLocation":"110955:2:21","nodeType":"VariableDeclaration","scope":30489,"src":"110947:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110947:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30481,"nodeType":"VariableDeclarationStatement","src":"110947:10:21"},{"AST":{"nativeSrc":"111019:378:21","nodeType":"YulBlock","src":"111019:378:21","statements":[{"nativeSrc":"111033:17:21","nodeType":"YulAssignment","src":"111033:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"111045:4:21","nodeType":"YulLiteral","src":"111045:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"111039:5:21","nodeType":"YulIdentifier","src":"111039:5:21"},"nativeSrc":"111039:11:21","nodeType":"YulFunctionCall","src":"111039:11:21"},"variableNames":[{"name":"m0","nativeSrc":"111033:2:21","nodeType":"YulIdentifier","src":"111033:2:21"}]},{"nativeSrc":"111063:17:21","nodeType":"YulAssignment","src":"111063:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"111075:4:21","nodeType":"YulLiteral","src":"111075:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"111069:5:21","nodeType":"YulIdentifier","src":"111069:5:21"},"nativeSrc":"111069:11:21","nodeType":"YulFunctionCall","src":"111069:11:21"},"variableNames":[{"name":"m1","nativeSrc":"111063:2:21","nodeType":"YulIdentifier","src":"111063:2:21"}]},{"nativeSrc":"111093:17:21","nodeType":"YulAssignment","src":"111093:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"111105:4:21","nodeType":"YulLiteral","src":"111105:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"111099:5:21","nodeType":"YulIdentifier","src":"111099:5:21"},"nativeSrc":"111099:11:21","nodeType":"YulFunctionCall","src":"111099:11:21"},"variableNames":[{"name":"m2","nativeSrc":"111093:2:21","nodeType":"YulIdentifier","src":"111093:2:21"}]},{"nativeSrc":"111123:17:21","nodeType":"YulAssignment","src":"111123:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"111135:4:21","nodeType":"YulLiteral","src":"111135:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"111129:5:21","nodeType":"YulIdentifier","src":"111129:5:21"},"nativeSrc":"111129:11:21","nodeType":"YulFunctionCall","src":"111129:11:21"},"variableNames":[{"name":"m3","nativeSrc":"111123:2:21","nodeType":"YulIdentifier","src":"111123:2:21"}]},{"nativeSrc":"111153:17:21","nodeType":"YulAssignment","src":"111153:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"111165:4:21","nodeType":"YulLiteral","src":"111165:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"111159:5:21","nodeType":"YulIdentifier","src":"111159:5:21"},"nativeSrc":"111159:11:21","nodeType":"YulFunctionCall","src":"111159:11:21"},"variableNames":[{"name":"m4","nativeSrc":"111153:2:21","nodeType":"YulIdentifier","src":"111153:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111254:4:21","nodeType":"YulLiteral","src":"111254:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"111260:10:21","nodeType":"YulLiteral","src":"111260:10:21","type":"","value":"0xa75c59de"}],"functionName":{"name":"mstore","nativeSrc":"111247:6:21","nodeType":"YulIdentifier","src":"111247:6:21"},"nativeSrc":"111247:24:21","nodeType":"YulFunctionCall","src":"111247:24:21"},"nativeSrc":"111247:24:21","nodeType":"YulExpressionStatement","src":"111247:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111291:4:21","nodeType":"YulLiteral","src":"111291:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"111297:2:21","nodeType":"YulIdentifier","src":"111297:2:21"}],"functionName":{"name":"mstore","nativeSrc":"111284:6:21","nodeType":"YulIdentifier","src":"111284:6:21"},"nativeSrc":"111284:16:21","nodeType":"YulFunctionCall","src":"111284:16:21"},"nativeSrc":"111284:16:21","nodeType":"YulExpressionStatement","src":"111284:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111320:4:21","nodeType":"YulLiteral","src":"111320:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"111326:2:21","nodeType":"YulIdentifier","src":"111326:2:21"}],"functionName":{"name":"mstore","nativeSrc":"111313:6:21","nodeType":"YulIdentifier","src":"111313:6:21"},"nativeSrc":"111313:16:21","nodeType":"YulFunctionCall","src":"111313:16:21"},"nativeSrc":"111313:16:21","nodeType":"YulExpressionStatement","src":"111313:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111349:4:21","nodeType":"YulLiteral","src":"111349:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"111355:2:21","nodeType":"YulIdentifier","src":"111355:2:21"}],"functionName":{"name":"mstore","nativeSrc":"111342:6:21","nodeType":"YulIdentifier","src":"111342:6:21"},"nativeSrc":"111342:16:21","nodeType":"YulFunctionCall","src":"111342:16:21"},"nativeSrc":"111342:16:21","nodeType":"YulExpressionStatement","src":"111342:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111378:4:21","nodeType":"YulLiteral","src":"111378:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"111384:2:21","nodeType":"YulIdentifier","src":"111384:2:21"}],"functionName":{"name":"mstore","nativeSrc":"111371:6:21","nodeType":"YulIdentifier","src":"111371:6:21"},"nativeSrc":"111371:16:21","nodeType":"YulFunctionCall","src":"111371:16:21"},"nativeSrc":"111371:16:21","nodeType":"YulExpressionStatement","src":"111371:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30468,"isOffset":false,"isSlot":false,"src":"111033:2:21","valueSize":1},{"declaration":30471,"isOffset":false,"isSlot":false,"src":"111063:2:21","valueSize":1},{"declaration":30474,"isOffset":false,"isSlot":false,"src":"111093:2:21","valueSize":1},{"declaration":30477,"isOffset":false,"isSlot":false,"src":"111123:2:21","valueSize":1},{"declaration":30480,"isOffset":false,"isSlot":false,"src":"111153:2:21","valueSize":1},{"declaration":30458,"isOffset":false,"isSlot":false,"src":"111297:2:21","valueSize":1},{"declaration":30460,"isOffset":false,"isSlot":false,"src":"111326:2:21","valueSize":1},{"declaration":30462,"isOffset":false,"isSlot":false,"src":"111355:2:21","valueSize":1},{"declaration":30464,"isOffset":false,"isSlot":false,"src":"111384:2:21","valueSize":1}],"id":30482,"nodeType":"InlineAssembly","src":"111010:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"111422:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"111428:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30483,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"111406:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"111406:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30487,"nodeType":"ExpressionStatement","src":"111406:27:21"},{"AST":{"nativeSrc":"111495:156:21","nodeType":"YulBlock","src":"111495:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"111516:4:21","nodeType":"YulLiteral","src":"111516:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"111522:2:21","nodeType":"YulIdentifier","src":"111522:2:21"}],"functionName":{"name":"mstore","nativeSrc":"111509:6:21","nodeType":"YulIdentifier","src":"111509:6:21"},"nativeSrc":"111509:16:21","nodeType":"YulFunctionCall","src":"111509:16:21"},"nativeSrc":"111509:16:21","nodeType":"YulExpressionStatement","src":"111509:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111545:4:21","nodeType":"YulLiteral","src":"111545:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"111551:2:21","nodeType":"YulIdentifier","src":"111551:2:21"}],"functionName":{"name":"mstore","nativeSrc":"111538:6:21","nodeType":"YulIdentifier","src":"111538:6:21"},"nativeSrc":"111538:16:21","nodeType":"YulFunctionCall","src":"111538:16:21"},"nativeSrc":"111538:16:21","nodeType":"YulExpressionStatement","src":"111538:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111574:4:21","nodeType":"YulLiteral","src":"111574:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"111580:2:21","nodeType":"YulIdentifier","src":"111580:2:21"}],"functionName":{"name":"mstore","nativeSrc":"111567:6:21","nodeType":"YulIdentifier","src":"111567:6:21"},"nativeSrc":"111567:16:21","nodeType":"YulFunctionCall","src":"111567:16:21"},"nativeSrc":"111567:16:21","nodeType":"YulExpressionStatement","src":"111567:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111603:4:21","nodeType":"YulLiteral","src":"111603:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"111609:2:21","nodeType":"YulIdentifier","src":"111609:2:21"}],"functionName":{"name":"mstore","nativeSrc":"111596:6:21","nodeType":"YulIdentifier","src":"111596:6:21"},"nativeSrc":"111596:16:21","nodeType":"YulFunctionCall","src":"111596:16:21"},"nativeSrc":"111596:16:21","nodeType":"YulExpressionStatement","src":"111596:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111632:4:21","nodeType":"YulLiteral","src":"111632:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"111638:2:21","nodeType":"YulIdentifier","src":"111638:2:21"}],"functionName":{"name":"mstore","nativeSrc":"111625:6:21","nodeType":"YulIdentifier","src":"111625:6:21"},"nativeSrc":"111625:16:21","nodeType":"YulFunctionCall","src":"111625:16:21"},"nativeSrc":"111625:16:21","nodeType":"YulExpressionStatement","src":"111625:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30468,"isOffset":false,"isSlot":false,"src":"111522:2:21","valueSize":1},{"declaration":30471,"isOffset":false,"isSlot":false,"src":"111551:2:21","valueSize":1},{"declaration":30474,"isOffset":false,"isSlot":false,"src":"111580:2:21","valueSize":1},{"declaration":30477,"isOffset":false,"isSlot":false,"src":"111609:2:21","valueSize":1},{"declaration":30480,"isOffset":false,"isSlot":false,"src":"111638:2:21","valueSize":1}],"id":30488,"nodeType":"InlineAssembly","src":"111486:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"110794:3:21","parameters":{"id":30465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30458,"mutability":"mutable","name":"p0","nameLocation":"110806:2:21","nodeType":"VariableDeclaration","scope":30490,"src":"110798:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30457,"name":"address","nodeType":"ElementaryTypeName","src":"110798:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30460,"mutability":"mutable","name":"p1","nameLocation":"110815:2:21","nodeType":"VariableDeclaration","scope":30490,"src":"110810:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30459,"name":"bool","nodeType":"ElementaryTypeName","src":"110810:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30462,"mutability":"mutable","name":"p2","nameLocation":"110827:2:21","nodeType":"VariableDeclaration","scope":30490,"src":"110819:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30461,"name":"address","nodeType":"ElementaryTypeName","src":"110819:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30464,"mutability":"mutable","name":"p3","nameLocation":"110839:2:21","nodeType":"VariableDeclaration","scope":30490,"src":"110831:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30463,"name":"uint256","nodeType":"ElementaryTypeName","src":"110831:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"110797:45:21"},"returnParameters":{"id":30466,"nodeType":"ParameterList","parameters":[],"src":"110857:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30530,"nodeType":"FunctionDefinition","src":"111663:1420:21","nodes":[],"body":{"id":30529,"nodeType":"Block","src":"111735:1348:21","nodes":[],"statements":[{"assignments":[30502],"declarations":[{"constant":false,"id":30502,"mutability":"mutable","name":"m0","nameLocation":"111753:2:21","nodeType":"VariableDeclaration","scope":30529,"src":"111745:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111745:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30503,"nodeType":"VariableDeclarationStatement","src":"111745:10:21"},{"assignments":[30505],"declarations":[{"constant":false,"id":30505,"mutability":"mutable","name":"m1","nameLocation":"111773:2:21","nodeType":"VariableDeclaration","scope":30529,"src":"111765:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111765:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30506,"nodeType":"VariableDeclarationStatement","src":"111765:10:21"},{"assignments":[30508],"declarations":[{"constant":false,"id":30508,"mutability":"mutable","name":"m2","nameLocation":"111793:2:21","nodeType":"VariableDeclaration","scope":30529,"src":"111785:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30507,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111785:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30509,"nodeType":"VariableDeclarationStatement","src":"111785:10:21"},{"assignments":[30511],"declarations":[{"constant":false,"id":30511,"mutability":"mutable","name":"m3","nameLocation":"111813:2:21","nodeType":"VariableDeclaration","scope":30529,"src":"111805:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111805:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30512,"nodeType":"VariableDeclarationStatement","src":"111805:10:21"},{"assignments":[30514],"declarations":[{"constant":false,"id":30514,"mutability":"mutable","name":"m4","nameLocation":"111833:2:21","nodeType":"VariableDeclaration","scope":30529,"src":"111825:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111825:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30515,"nodeType":"VariableDeclarationStatement","src":"111825:10:21"},{"assignments":[30517],"declarations":[{"constant":false,"id":30517,"mutability":"mutable","name":"m5","nameLocation":"111853:2:21","nodeType":"VariableDeclaration","scope":30529,"src":"111845:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111845:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30518,"nodeType":"VariableDeclarationStatement","src":"111845:10:21"},{"assignments":[30520],"declarations":[{"constant":false,"id":30520,"mutability":"mutable","name":"m6","nameLocation":"111873:2:21","nodeType":"VariableDeclaration","scope":30529,"src":"111865:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111865:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30521,"nodeType":"VariableDeclarationStatement","src":"111865:10:21"},{"AST":{"nativeSrc":"111937:828:21","nodeType":"YulBlock","src":"111937:828:21","statements":[{"body":{"nativeSrc":"111980:313:21","nodeType":"YulBlock","src":"111980:313:21","statements":[{"nativeSrc":"111998:15:21","nodeType":"YulVariableDeclaration","src":"111998:15:21","value":{"kind":"number","nativeSrc":"112012:1:21","nodeType":"YulLiteral","src":"112012:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"112002:6:21","nodeType":"YulTypedName","src":"112002:6:21","type":""}]},{"body":{"nativeSrc":"112083:40:21","nodeType":"YulBlock","src":"112083:40:21","statements":[{"body":{"nativeSrc":"112112:9:21","nodeType":"YulBlock","src":"112112:9:21","statements":[{"nativeSrc":"112114:5:21","nodeType":"YulBreak","src":"112114:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"112100:6:21","nodeType":"YulIdentifier","src":"112100:6:21"},{"name":"w","nativeSrc":"112108:1:21","nodeType":"YulIdentifier","src":"112108:1:21"}],"functionName":{"name":"byte","nativeSrc":"112095:4:21","nodeType":"YulIdentifier","src":"112095:4:21"},"nativeSrc":"112095:15:21","nodeType":"YulFunctionCall","src":"112095:15:21"}],"functionName":{"name":"iszero","nativeSrc":"112088:6:21","nodeType":"YulIdentifier","src":"112088:6:21"},"nativeSrc":"112088:23:21","nodeType":"YulFunctionCall","src":"112088:23:21"},"nativeSrc":"112085:36:21","nodeType":"YulIf","src":"112085:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"112040:6:21","nodeType":"YulIdentifier","src":"112040:6:21"},{"kind":"number","nativeSrc":"112048:4:21","nodeType":"YulLiteral","src":"112048:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"112037:2:21","nodeType":"YulIdentifier","src":"112037:2:21"},"nativeSrc":"112037:16:21","nodeType":"YulFunctionCall","src":"112037:16:21"},"nativeSrc":"112030:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"112054:28:21","nodeType":"YulBlock","src":"112054:28:21","statements":[{"nativeSrc":"112056:24:21","nodeType":"YulAssignment","src":"112056:24:21","value":{"arguments":[{"name":"length","nativeSrc":"112070:6:21","nodeType":"YulIdentifier","src":"112070:6:21"},{"kind":"number","nativeSrc":"112078:1:21","nodeType":"YulLiteral","src":"112078:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"112066:3:21","nodeType":"YulIdentifier","src":"112066:3:21"},"nativeSrc":"112066:14:21","nodeType":"YulFunctionCall","src":"112066:14:21"},"variableNames":[{"name":"length","nativeSrc":"112056:6:21","nodeType":"YulIdentifier","src":"112056:6:21"}]}]},"pre":{"nativeSrc":"112034:2:21","nodeType":"YulBlock","src":"112034:2:21","statements":[]},"src":"112030:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"112147:3:21","nodeType":"YulIdentifier","src":"112147:3:21"},{"name":"length","nativeSrc":"112152:6:21","nodeType":"YulIdentifier","src":"112152:6:21"}],"functionName":{"name":"mstore","nativeSrc":"112140:6:21","nodeType":"YulIdentifier","src":"112140:6:21"},"nativeSrc":"112140:19:21","nodeType":"YulFunctionCall","src":"112140:19:21"},"nativeSrc":"112140:19:21","nodeType":"YulExpressionStatement","src":"112140:19:21"},{"nativeSrc":"112176:37:21","nodeType":"YulVariableDeclaration","src":"112176:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"112193:3:21","nodeType":"YulLiteral","src":"112193:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"112202:1:21","nodeType":"YulLiteral","src":"112202:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"112205:6:21","nodeType":"YulIdentifier","src":"112205:6:21"}],"functionName":{"name":"shl","nativeSrc":"112198:3:21","nodeType":"YulIdentifier","src":"112198:3:21"},"nativeSrc":"112198:14:21","nodeType":"YulFunctionCall","src":"112198:14:21"}],"functionName":{"name":"sub","nativeSrc":"112189:3:21","nodeType":"YulIdentifier","src":"112189:3:21"},"nativeSrc":"112189:24:21","nodeType":"YulFunctionCall","src":"112189:24:21"},"variables":[{"name":"shift","nativeSrc":"112180:5:21","nodeType":"YulTypedName","src":"112180:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"112241:3:21","nodeType":"YulIdentifier","src":"112241:3:21"},{"kind":"number","nativeSrc":"112246:4:21","nodeType":"YulLiteral","src":"112246:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"112237:3:21","nodeType":"YulIdentifier","src":"112237:3:21"},"nativeSrc":"112237:14:21","nodeType":"YulFunctionCall","src":"112237:14:21"},{"arguments":[{"name":"shift","nativeSrc":"112257:5:21","nodeType":"YulIdentifier","src":"112257:5:21"},{"arguments":[{"name":"shift","nativeSrc":"112268:5:21","nodeType":"YulIdentifier","src":"112268:5:21"},{"name":"w","nativeSrc":"112275:1:21","nodeType":"YulIdentifier","src":"112275:1:21"}],"functionName":{"name":"shr","nativeSrc":"112264:3:21","nodeType":"YulIdentifier","src":"112264:3:21"},"nativeSrc":"112264:13:21","nodeType":"YulFunctionCall","src":"112264:13:21"}],"functionName":{"name":"shl","nativeSrc":"112253:3:21","nodeType":"YulIdentifier","src":"112253:3:21"},"nativeSrc":"112253:25:21","nodeType":"YulFunctionCall","src":"112253:25:21"}],"functionName":{"name":"mstore","nativeSrc":"112230:6:21","nodeType":"YulIdentifier","src":"112230:6:21"},"nativeSrc":"112230:49:21","nodeType":"YulFunctionCall","src":"112230:49:21"},"nativeSrc":"112230:49:21","nodeType":"YulExpressionStatement","src":"112230:49:21"}]},"name":"writeString","nativeSrc":"111951:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"111972:3:21","nodeType":"YulTypedName","src":"111972:3:21","type":""},{"name":"w","nativeSrc":"111977:1:21","nodeType":"YulTypedName","src":"111977:1:21","type":""}],"src":"111951:342:21"},{"nativeSrc":"112306:17:21","nodeType":"YulAssignment","src":"112306:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"112318:4:21","nodeType":"YulLiteral","src":"112318:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"112312:5:21","nodeType":"YulIdentifier","src":"112312:5:21"},"nativeSrc":"112312:11:21","nodeType":"YulFunctionCall","src":"112312:11:21"},"variableNames":[{"name":"m0","nativeSrc":"112306:2:21","nodeType":"YulIdentifier","src":"112306:2:21"}]},{"nativeSrc":"112336:17:21","nodeType":"YulAssignment","src":"112336:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"112348:4:21","nodeType":"YulLiteral","src":"112348:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"112342:5:21","nodeType":"YulIdentifier","src":"112342:5:21"},"nativeSrc":"112342:11:21","nodeType":"YulFunctionCall","src":"112342:11:21"},"variableNames":[{"name":"m1","nativeSrc":"112336:2:21","nodeType":"YulIdentifier","src":"112336:2:21"}]},{"nativeSrc":"112366:17:21","nodeType":"YulAssignment","src":"112366:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"112378:4:21","nodeType":"YulLiteral","src":"112378:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"112372:5:21","nodeType":"YulIdentifier","src":"112372:5:21"},"nativeSrc":"112372:11:21","nodeType":"YulFunctionCall","src":"112372:11:21"},"variableNames":[{"name":"m2","nativeSrc":"112366:2:21","nodeType":"YulIdentifier","src":"112366:2:21"}]},{"nativeSrc":"112396:17:21","nodeType":"YulAssignment","src":"112396:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"112408:4:21","nodeType":"YulLiteral","src":"112408:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"112402:5:21","nodeType":"YulIdentifier","src":"112402:5:21"},"nativeSrc":"112402:11:21","nodeType":"YulFunctionCall","src":"112402:11:21"},"variableNames":[{"name":"m3","nativeSrc":"112396:2:21","nodeType":"YulIdentifier","src":"112396:2:21"}]},{"nativeSrc":"112426:17:21","nodeType":"YulAssignment","src":"112426:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"112438:4:21","nodeType":"YulLiteral","src":"112438:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"112432:5:21","nodeType":"YulIdentifier","src":"112432:5:21"},"nativeSrc":"112432:11:21","nodeType":"YulFunctionCall","src":"112432:11:21"},"variableNames":[{"name":"m4","nativeSrc":"112426:2:21","nodeType":"YulIdentifier","src":"112426:2:21"}]},{"nativeSrc":"112456:17:21","nodeType":"YulAssignment","src":"112456:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"112468:4:21","nodeType":"YulLiteral","src":"112468:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"112462:5:21","nodeType":"YulIdentifier","src":"112462:5:21"},"nativeSrc":"112462:11:21","nodeType":"YulFunctionCall","src":"112462:11:21"},"variableNames":[{"name":"m5","nativeSrc":"112456:2:21","nodeType":"YulIdentifier","src":"112456:2:21"}]},{"nativeSrc":"112486:17:21","nodeType":"YulAssignment","src":"112486:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"112498:4:21","nodeType":"YulLiteral","src":"112498:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"112492:5:21","nodeType":"YulIdentifier","src":"112492:5:21"},"nativeSrc":"112492:11:21","nodeType":"YulFunctionCall","src":"112492:11:21"},"variableNames":[{"name":"m6","nativeSrc":"112486:2:21","nodeType":"YulIdentifier","src":"112486:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112586:4:21","nodeType":"YulLiteral","src":"112586:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"112592:10:21","nodeType":"YulLiteral","src":"112592:10:21","type":"","value":"0x2dd778e6"}],"functionName":{"name":"mstore","nativeSrc":"112579:6:21","nodeType":"YulIdentifier","src":"112579:6:21"},"nativeSrc":"112579:24:21","nodeType":"YulFunctionCall","src":"112579:24:21"},"nativeSrc":"112579:24:21","nodeType":"YulExpressionStatement","src":"112579:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112623:4:21","nodeType":"YulLiteral","src":"112623:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"112629:2:21","nodeType":"YulIdentifier","src":"112629:2:21"}],"functionName":{"name":"mstore","nativeSrc":"112616:6:21","nodeType":"YulIdentifier","src":"112616:6:21"},"nativeSrc":"112616:16:21","nodeType":"YulFunctionCall","src":"112616:16:21"},"nativeSrc":"112616:16:21","nodeType":"YulExpressionStatement","src":"112616:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112652:4:21","nodeType":"YulLiteral","src":"112652:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"112658:2:21","nodeType":"YulIdentifier","src":"112658:2:21"}],"functionName":{"name":"mstore","nativeSrc":"112645:6:21","nodeType":"YulIdentifier","src":"112645:6:21"},"nativeSrc":"112645:16:21","nodeType":"YulFunctionCall","src":"112645:16:21"},"nativeSrc":"112645:16:21","nodeType":"YulExpressionStatement","src":"112645:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112681:4:21","nodeType":"YulLiteral","src":"112681:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"112687:2:21","nodeType":"YulIdentifier","src":"112687:2:21"}],"functionName":{"name":"mstore","nativeSrc":"112674:6:21","nodeType":"YulIdentifier","src":"112674:6:21"},"nativeSrc":"112674:16:21","nodeType":"YulFunctionCall","src":"112674:16:21"},"nativeSrc":"112674:16:21","nodeType":"YulExpressionStatement","src":"112674:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112710:4:21","nodeType":"YulLiteral","src":"112710:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"112716:4:21","nodeType":"YulLiteral","src":"112716:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"112703:6:21","nodeType":"YulIdentifier","src":"112703:6:21"},"nativeSrc":"112703:18:21","nodeType":"YulFunctionCall","src":"112703:18:21"},"nativeSrc":"112703:18:21","nodeType":"YulExpressionStatement","src":"112703:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112746:4:21","nodeType":"YulLiteral","src":"112746:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"112752:2:21","nodeType":"YulIdentifier","src":"112752:2:21"}],"functionName":{"name":"writeString","nativeSrc":"112734:11:21","nodeType":"YulIdentifier","src":"112734:11:21"},"nativeSrc":"112734:21:21","nodeType":"YulFunctionCall","src":"112734:21:21"},"nativeSrc":"112734:21:21","nodeType":"YulExpressionStatement","src":"112734:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30502,"isOffset":false,"isSlot":false,"src":"112306:2:21","valueSize":1},{"declaration":30505,"isOffset":false,"isSlot":false,"src":"112336:2:21","valueSize":1},{"declaration":30508,"isOffset":false,"isSlot":false,"src":"112366:2:21","valueSize":1},{"declaration":30511,"isOffset":false,"isSlot":false,"src":"112396:2:21","valueSize":1},{"declaration":30514,"isOffset":false,"isSlot":false,"src":"112426:2:21","valueSize":1},{"declaration":30517,"isOffset":false,"isSlot":false,"src":"112456:2:21","valueSize":1},{"declaration":30520,"isOffset":false,"isSlot":false,"src":"112486:2:21","valueSize":1},{"declaration":30492,"isOffset":false,"isSlot":false,"src":"112629:2:21","valueSize":1},{"declaration":30494,"isOffset":false,"isSlot":false,"src":"112658:2:21","valueSize":1},{"declaration":30496,"isOffset":false,"isSlot":false,"src":"112687:2:21","valueSize":1},{"declaration":30498,"isOffset":false,"isSlot":false,"src":"112752:2:21","valueSize":1}],"id":30522,"nodeType":"InlineAssembly","src":"111928:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"112790:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"112796:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30523,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"112774:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"112774:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30527,"nodeType":"ExpressionStatement","src":"112774:27:21"},{"AST":{"nativeSrc":"112863:214:21","nodeType":"YulBlock","src":"112863:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"112884:4:21","nodeType":"YulLiteral","src":"112884:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"112890:2:21","nodeType":"YulIdentifier","src":"112890:2:21"}],"functionName":{"name":"mstore","nativeSrc":"112877:6:21","nodeType":"YulIdentifier","src":"112877:6:21"},"nativeSrc":"112877:16:21","nodeType":"YulFunctionCall","src":"112877:16:21"},"nativeSrc":"112877:16:21","nodeType":"YulExpressionStatement","src":"112877:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112913:4:21","nodeType":"YulLiteral","src":"112913:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"112919:2:21","nodeType":"YulIdentifier","src":"112919:2:21"}],"functionName":{"name":"mstore","nativeSrc":"112906:6:21","nodeType":"YulIdentifier","src":"112906:6:21"},"nativeSrc":"112906:16:21","nodeType":"YulFunctionCall","src":"112906:16:21"},"nativeSrc":"112906:16:21","nodeType":"YulExpressionStatement","src":"112906:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112942:4:21","nodeType":"YulLiteral","src":"112942:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"112948:2:21","nodeType":"YulIdentifier","src":"112948:2:21"}],"functionName":{"name":"mstore","nativeSrc":"112935:6:21","nodeType":"YulIdentifier","src":"112935:6:21"},"nativeSrc":"112935:16:21","nodeType":"YulFunctionCall","src":"112935:16:21"},"nativeSrc":"112935:16:21","nodeType":"YulExpressionStatement","src":"112935:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112971:4:21","nodeType":"YulLiteral","src":"112971:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"112977:2:21","nodeType":"YulIdentifier","src":"112977:2:21"}],"functionName":{"name":"mstore","nativeSrc":"112964:6:21","nodeType":"YulIdentifier","src":"112964:6:21"},"nativeSrc":"112964:16:21","nodeType":"YulFunctionCall","src":"112964:16:21"},"nativeSrc":"112964:16:21","nodeType":"YulExpressionStatement","src":"112964:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113000:4:21","nodeType":"YulLiteral","src":"113000:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"113006:2:21","nodeType":"YulIdentifier","src":"113006:2:21"}],"functionName":{"name":"mstore","nativeSrc":"112993:6:21","nodeType":"YulIdentifier","src":"112993:6:21"},"nativeSrc":"112993:16:21","nodeType":"YulFunctionCall","src":"112993:16:21"},"nativeSrc":"112993:16:21","nodeType":"YulExpressionStatement","src":"112993:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113029:4:21","nodeType":"YulLiteral","src":"113029:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"113035:2:21","nodeType":"YulIdentifier","src":"113035:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113022:6:21","nodeType":"YulIdentifier","src":"113022:6:21"},"nativeSrc":"113022:16:21","nodeType":"YulFunctionCall","src":"113022:16:21"},"nativeSrc":"113022:16:21","nodeType":"YulExpressionStatement","src":"113022:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113058:4:21","nodeType":"YulLiteral","src":"113058:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"113064:2:21","nodeType":"YulIdentifier","src":"113064:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113051:6:21","nodeType":"YulIdentifier","src":"113051:6:21"},"nativeSrc":"113051:16:21","nodeType":"YulFunctionCall","src":"113051:16:21"},"nativeSrc":"113051:16:21","nodeType":"YulExpressionStatement","src":"113051:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30502,"isOffset":false,"isSlot":false,"src":"112890:2:21","valueSize":1},{"declaration":30505,"isOffset":false,"isSlot":false,"src":"112919:2:21","valueSize":1},{"declaration":30508,"isOffset":false,"isSlot":false,"src":"112948:2:21","valueSize":1},{"declaration":30511,"isOffset":false,"isSlot":false,"src":"112977:2:21","valueSize":1},{"declaration":30514,"isOffset":false,"isSlot":false,"src":"113006:2:21","valueSize":1},{"declaration":30517,"isOffset":false,"isSlot":false,"src":"113035:2:21","valueSize":1},{"declaration":30520,"isOffset":false,"isSlot":false,"src":"113064:2:21","valueSize":1}],"id":30528,"nodeType":"InlineAssembly","src":"112854:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"111672:3:21","parameters":{"id":30499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30492,"mutability":"mutable","name":"p0","nameLocation":"111684:2:21","nodeType":"VariableDeclaration","scope":30530,"src":"111676:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30491,"name":"address","nodeType":"ElementaryTypeName","src":"111676:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30494,"mutability":"mutable","name":"p1","nameLocation":"111693:2:21","nodeType":"VariableDeclaration","scope":30530,"src":"111688:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30493,"name":"bool","nodeType":"ElementaryTypeName","src":"111688:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30496,"mutability":"mutable","name":"p2","nameLocation":"111705:2:21","nodeType":"VariableDeclaration","scope":30530,"src":"111697:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30495,"name":"address","nodeType":"ElementaryTypeName","src":"111697:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30498,"mutability":"mutable","name":"p3","nameLocation":"111717:2:21","nodeType":"VariableDeclaration","scope":30530,"src":"111709:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111709:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"111675:45:21"},"returnParameters":{"id":30500,"nodeType":"ParameterList","parameters":[],"src":"111735:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30564,"nodeType":"FunctionDefinition","src":"113089:866:21","nodes":[],"body":{"id":30563,"nodeType":"Block","src":"113158:797:21","nodes":[],"statements":[{"assignments":[30542],"declarations":[{"constant":false,"id":30542,"mutability":"mutable","name":"m0","nameLocation":"113176:2:21","nodeType":"VariableDeclaration","scope":30563,"src":"113168:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113168:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30543,"nodeType":"VariableDeclarationStatement","src":"113168:10:21"},{"assignments":[30545],"declarations":[{"constant":false,"id":30545,"mutability":"mutable","name":"m1","nameLocation":"113196:2:21","nodeType":"VariableDeclaration","scope":30563,"src":"113188:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113188:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30546,"nodeType":"VariableDeclarationStatement","src":"113188:10:21"},{"assignments":[30548],"declarations":[{"constant":false,"id":30548,"mutability":"mutable","name":"m2","nameLocation":"113216:2:21","nodeType":"VariableDeclaration","scope":30563,"src":"113208:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113208:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30549,"nodeType":"VariableDeclarationStatement","src":"113208:10:21"},{"assignments":[30551],"declarations":[{"constant":false,"id":30551,"mutability":"mutable","name":"m3","nameLocation":"113236:2:21","nodeType":"VariableDeclaration","scope":30563,"src":"113228:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113228:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30552,"nodeType":"VariableDeclarationStatement","src":"113228:10:21"},{"assignments":[30554],"declarations":[{"constant":false,"id":30554,"mutability":"mutable","name":"m4","nameLocation":"113256:2:21","nodeType":"VariableDeclaration","scope":30563,"src":"113248:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113248:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30555,"nodeType":"VariableDeclarationStatement","src":"113248:10:21"},{"AST":{"nativeSrc":"113320:375:21","nodeType":"YulBlock","src":"113320:375:21","statements":[{"nativeSrc":"113334:17:21","nodeType":"YulAssignment","src":"113334:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"113346:4:21","nodeType":"YulLiteral","src":"113346:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"113340:5:21","nodeType":"YulIdentifier","src":"113340:5:21"},"nativeSrc":"113340:11:21","nodeType":"YulFunctionCall","src":"113340:11:21"},"variableNames":[{"name":"m0","nativeSrc":"113334:2:21","nodeType":"YulIdentifier","src":"113334:2:21"}]},{"nativeSrc":"113364:17:21","nodeType":"YulAssignment","src":"113364:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"113376:4:21","nodeType":"YulLiteral","src":"113376:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"113370:5:21","nodeType":"YulIdentifier","src":"113370:5:21"},"nativeSrc":"113370:11:21","nodeType":"YulFunctionCall","src":"113370:11:21"},"variableNames":[{"name":"m1","nativeSrc":"113364:2:21","nodeType":"YulIdentifier","src":"113364:2:21"}]},{"nativeSrc":"113394:17:21","nodeType":"YulAssignment","src":"113394:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"113406:4:21","nodeType":"YulLiteral","src":"113406:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"113400:5:21","nodeType":"YulIdentifier","src":"113400:5:21"},"nativeSrc":"113400:11:21","nodeType":"YulFunctionCall","src":"113400:11:21"},"variableNames":[{"name":"m2","nativeSrc":"113394:2:21","nodeType":"YulIdentifier","src":"113394:2:21"}]},{"nativeSrc":"113424:17:21","nodeType":"YulAssignment","src":"113424:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"113436:4:21","nodeType":"YulLiteral","src":"113436:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"113430:5:21","nodeType":"YulIdentifier","src":"113430:5:21"},"nativeSrc":"113430:11:21","nodeType":"YulFunctionCall","src":"113430:11:21"},"variableNames":[{"name":"m3","nativeSrc":"113424:2:21","nodeType":"YulIdentifier","src":"113424:2:21"}]},{"nativeSrc":"113454:17:21","nodeType":"YulAssignment","src":"113454:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"113466:4:21","nodeType":"YulLiteral","src":"113466:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"113460:5:21","nodeType":"YulIdentifier","src":"113460:5:21"},"nativeSrc":"113460:11:21","nodeType":"YulFunctionCall","src":"113460:11:21"},"variableNames":[{"name":"m4","nativeSrc":"113454:2:21","nodeType":"YulIdentifier","src":"113454:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113552:4:21","nodeType":"YulLiteral","src":"113552:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"113558:10:21","nodeType":"YulLiteral","src":"113558:10:21","type":"","value":"0xcf394485"}],"functionName":{"name":"mstore","nativeSrc":"113545:6:21","nodeType":"YulIdentifier","src":"113545:6:21"},"nativeSrc":"113545:24:21","nodeType":"YulFunctionCall","src":"113545:24:21"},"nativeSrc":"113545:24:21","nodeType":"YulExpressionStatement","src":"113545:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113589:4:21","nodeType":"YulLiteral","src":"113589:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"113595:2:21","nodeType":"YulIdentifier","src":"113595:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113582:6:21","nodeType":"YulIdentifier","src":"113582:6:21"},"nativeSrc":"113582:16:21","nodeType":"YulFunctionCall","src":"113582:16:21"},"nativeSrc":"113582:16:21","nodeType":"YulExpressionStatement","src":"113582:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113618:4:21","nodeType":"YulLiteral","src":"113618:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"113624:2:21","nodeType":"YulIdentifier","src":"113624:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113611:6:21","nodeType":"YulIdentifier","src":"113611:6:21"},"nativeSrc":"113611:16:21","nodeType":"YulFunctionCall","src":"113611:16:21"},"nativeSrc":"113611:16:21","nodeType":"YulExpressionStatement","src":"113611:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113647:4:21","nodeType":"YulLiteral","src":"113647:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"113653:2:21","nodeType":"YulIdentifier","src":"113653:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113640:6:21","nodeType":"YulIdentifier","src":"113640:6:21"},"nativeSrc":"113640:16:21","nodeType":"YulFunctionCall","src":"113640:16:21"},"nativeSrc":"113640:16:21","nodeType":"YulExpressionStatement","src":"113640:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113676:4:21","nodeType":"YulLiteral","src":"113676:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"113682:2:21","nodeType":"YulIdentifier","src":"113682:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113669:6:21","nodeType":"YulIdentifier","src":"113669:6:21"},"nativeSrc":"113669:16:21","nodeType":"YulFunctionCall","src":"113669:16:21"},"nativeSrc":"113669:16:21","nodeType":"YulExpressionStatement","src":"113669:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30542,"isOffset":false,"isSlot":false,"src":"113334:2:21","valueSize":1},{"declaration":30545,"isOffset":false,"isSlot":false,"src":"113364:2:21","valueSize":1},{"declaration":30548,"isOffset":false,"isSlot":false,"src":"113394:2:21","valueSize":1},{"declaration":30551,"isOffset":false,"isSlot":false,"src":"113424:2:21","valueSize":1},{"declaration":30554,"isOffset":false,"isSlot":false,"src":"113454:2:21","valueSize":1},{"declaration":30532,"isOffset":false,"isSlot":false,"src":"113595:2:21","valueSize":1},{"declaration":30534,"isOffset":false,"isSlot":false,"src":"113624:2:21","valueSize":1},{"declaration":30536,"isOffset":false,"isSlot":false,"src":"113653:2:21","valueSize":1},{"declaration":30538,"isOffset":false,"isSlot":false,"src":"113682:2:21","valueSize":1}],"id":30556,"nodeType":"InlineAssembly","src":"113311:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"113720:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"113726:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"113704:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"113704:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30561,"nodeType":"ExpressionStatement","src":"113704:27:21"},{"AST":{"nativeSrc":"113793:156:21","nodeType":"YulBlock","src":"113793:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"113814:4:21","nodeType":"YulLiteral","src":"113814:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"113820:2:21","nodeType":"YulIdentifier","src":"113820:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113807:6:21","nodeType":"YulIdentifier","src":"113807:6:21"},"nativeSrc":"113807:16:21","nodeType":"YulFunctionCall","src":"113807:16:21"},"nativeSrc":"113807:16:21","nodeType":"YulExpressionStatement","src":"113807:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113843:4:21","nodeType":"YulLiteral","src":"113843:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"113849:2:21","nodeType":"YulIdentifier","src":"113849:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113836:6:21","nodeType":"YulIdentifier","src":"113836:6:21"},"nativeSrc":"113836:16:21","nodeType":"YulFunctionCall","src":"113836:16:21"},"nativeSrc":"113836:16:21","nodeType":"YulExpressionStatement","src":"113836:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113872:4:21","nodeType":"YulLiteral","src":"113872:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"113878:2:21","nodeType":"YulIdentifier","src":"113878:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113865:6:21","nodeType":"YulIdentifier","src":"113865:6:21"},"nativeSrc":"113865:16:21","nodeType":"YulFunctionCall","src":"113865:16:21"},"nativeSrc":"113865:16:21","nodeType":"YulExpressionStatement","src":"113865:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113901:4:21","nodeType":"YulLiteral","src":"113901:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"113907:2:21","nodeType":"YulIdentifier","src":"113907:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113894:6:21","nodeType":"YulIdentifier","src":"113894:6:21"},"nativeSrc":"113894:16:21","nodeType":"YulFunctionCall","src":"113894:16:21"},"nativeSrc":"113894:16:21","nodeType":"YulExpressionStatement","src":"113894:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113930:4:21","nodeType":"YulLiteral","src":"113930:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"113936:2:21","nodeType":"YulIdentifier","src":"113936:2:21"}],"functionName":{"name":"mstore","nativeSrc":"113923:6:21","nodeType":"YulIdentifier","src":"113923:6:21"},"nativeSrc":"113923:16:21","nodeType":"YulFunctionCall","src":"113923:16:21"},"nativeSrc":"113923:16:21","nodeType":"YulExpressionStatement","src":"113923:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30542,"isOffset":false,"isSlot":false,"src":"113820:2:21","valueSize":1},{"declaration":30545,"isOffset":false,"isSlot":false,"src":"113849:2:21","valueSize":1},{"declaration":30548,"isOffset":false,"isSlot":false,"src":"113878:2:21","valueSize":1},{"declaration":30551,"isOffset":false,"isSlot":false,"src":"113907:2:21","valueSize":1},{"declaration":30554,"isOffset":false,"isSlot":false,"src":"113936:2:21","valueSize":1}],"id":30562,"nodeType":"InlineAssembly","src":"113784:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"113098:3:21","parameters":{"id":30539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30532,"mutability":"mutable","name":"p0","nameLocation":"113110:2:21","nodeType":"VariableDeclaration","scope":30564,"src":"113102:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30531,"name":"address","nodeType":"ElementaryTypeName","src":"113102:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30534,"mutability":"mutable","name":"p1","nameLocation":"113119:2:21","nodeType":"VariableDeclaration","scope":30564,"src":"113114:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30533,"name":"bool","nodeType":"ElementaryTypeName","src":"113114:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30536,"mutability":"mutable","name":"p2","nameLocation":"113128:2:21","nodeType":"VariableDeclaration","scope":30564,"src":"113123:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30535,"name":"bool","nodeType":"ElementaryTypeName","src":"113123:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30538,"mutability":"mutable","name":"p3","nameLocation":"113140:2:21","nodeType":"VariableDeclaration","scope":30564,"src":"113132:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30537,"name":"address","nodeType":"ElementaryTypeName","src":"113132:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"113101:42:21"},"returnParameters":{"id":30540,"nodeType":"ParameterList","parameters":[],"src":"113158:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30598,"nodeType":"FunctionDefinition","src":"113961:860:21","nodes":[],"body":{"id":30597,"nodeType":"Block","src":"114027:794:21","nodes":[],"statements":[{"assignments":[30576],"declarations":[{"constant":false,"id":30576,"mutability":"mutable","name":"m0","nameLocation":"114045:2:21","nodeType":"VariableDeclaration","scope":30597,"src":"114037:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114037:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30577,"nodeType":"VariableDeclarationStatement","src":"114037:10:21"},{"assignments":[30579],"declarations":[{"constant":false,"id":30579,"mutability":"mutable","name":"m1","nameLocation":"114065:2:21","nodeType":"VariableDeclaration","scope":30597,"src":"114057:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114057:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30580,"nodeType":"VariableDeclarationStatement","src":"114057:10:21"},{"assignments":[30582],"declarations":[{"constant":false,"id":30582,"mutability":"mutable","name":"m2","nameLocation":"114085:2:21","nodeType":"VariableDeclaration","scope":30597,"src":"114077:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114077:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30583,"nodeType":"VariableDeclarationStatement","src":"114077:10:21"},{"assignments":[30585],"declarations":[{"constant":false,"id":30585,"mutability":"mutable","name":"m3","nameLocation":"114105:2:21","nodeType":"VariableDeclaration","scope":30597,"src":"114097:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114097:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30586,"nodeType":"VariableDeclarationStatement","src":"114097:10:21"},{"assignments":[30588],"declarations":[{"constant":false,"id":30588,"mutability":"mutable","name":"m4","nameLocation":"114125:2:21","nodeType":"VariableDeclaration","scope":30597,"src":"114117:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114117:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30589,"nodeType":"VariableDeclarationStatement","src":"114117:10:21"},{"AST":{"nativeSrc":"114189:372:21","nodeType":"YulBlock","src":"114189:372:21","statements":[{"nativeSrc":"114203:17:21","nodeType":"YulAssignment","src":"114203:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"114215:4:21","nodeType":"YulLiteral","src":"114215:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"114209:5:21","nodeType":"YulIdentifier","src":"114209:5:21"},"nativeSrc":"114209:11:21","nodeType":"YulFunctionCall","src":"114209:11:21"},"variableNames":[{"name":"m0","nativeSrc":"114203:2:21","nodeType":"YulIdentifier","src":"114203:2:21"}]},{"nativeSrc":"114233:17:21","nodeType":"YulAssignment","src":"114233:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"114245:4:21","nodeType":"YulLiteral","src":"114245:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"114239:5:21","nodeType":"YulIdentifier","src":"114239:5:21"},"nativeSrc":"114239:11:21","nodeType":"YulFunctionCall","src":"114239:11:21"},"variableNames":[{"name":"m1","nativeSrc":"114233:2:21","nodeType":"YulIdentifier","src":"114233:2:21"}]},{"nativeSrc":"114263:17:21","nodeType":"YulAssignment","src":"114263:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"114275:4:21","nodeType":"YulLiteral","src":"114275:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"114269:5:21","nodeType":"YulIdentifier","src":"114269:5:21"},"nativeSrc":"114269:11:21","nodeType":"YulFunctionCall","src":"114269:11:21"},"variableNames":[{"name":"m2","nativeSrc":"114263:2:21","nodeType":"YulIdentifier","src":"114263:2:21"}]},{"nativeSrc":"114293:17:21","nodeType":"YulAssignment","src":"114293:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"114305:4:21","nodeType":"YulLiteral","src":"114305:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"114299:5:21","nodeType":"YulIdentifier","src":"114299:5:21"},"nativeSrc":"114299:11:21","nodeType":"YulFunctionCall","src":"114299:11:21"},"variableNames":[{"name":"m3","nativeSrc":"114293:2:21","nodeType":"YulIdentifier","src":"114293:2:21"}]},{"nativeSrc":"114323:17:21","nodeType":"YulAssignment","src":"114323:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"114335:4:21","nodeType":"YulLiteral","src":"114335:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"114329:5:21","nodeType":"YulIdentifier","src":"114329:5:21"},"nativeSrc":"114329:11:21","nodeType":"YulFunctionCall","src":"114329:11:21"},"variableNames":[{"name":"m4","nativeSrc":"114323:2:21","nodeType":"YulIdentifier","src":"114323:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114418:4:21","nodeType":"YulLiteral","src":"114418:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"114424:10:21","nodeType":"YulLiteral","src":"114424:10:21","type":"","value":"0xcac43479"}],"functionName":{"name":"mstore","nativeSrc":"114411:6:21","nodeType":"YulIdentifier","src":"114411:6:21"},"nativeSrc":"114411:24:21","nodeType":"YulFunctionCall","src":"114411:24:21"},"nativeSrc":"114411:24:21","nodeType":"YulExpressionStatement","src":"114411:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114455:4:21","nodeType":"YulLiteral","src":"114455:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"114461:2:21","nodeType":"YulIdentifier","src":"114461:2:21"}],"functionName":{"name":"mstore","nativeSrc":"114448:6:21","nodeType":"YulIdentifier","src":"114448:6:21"},"nativeSrc":"114448:16:21","nodeType":"YulFunctionCall","src":"114448:16:21"},"nativeSrc":"114448:16:21","nodeType":"YulExpressionStatement","src":"114448:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114484:4:21","nodeType":"YulLiteral","src":"114484:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"114490:2:21","nodeType":"YulIdentifier","src":"114490:2:21"}],"functionName":{"name":"mstore","nativeSrc":"114477:6:21","nodeType":"YulIdentifier","src":"114477:6:21"},"nativeSrc":"114477:16:21","nodeType":"YulFunctionCall","src":"114477:16:21"},"nativeSrc":"114477:16:21","nodeType":"YulExpressionStatement","src":"114477:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114513:4:21","nodeType":"YulLiteral","src":"114513:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"114519:2:21","nodeType":"YulIdentifier","src":"114519:2:21"}],"functionName":{"name":"mstore","nativeSrc":"114506:6:21","nodeType":"YulIdentifier","src":"114506:6:21"},"nativeSrc":"114506:16:21","nodeType":"YulFunctionCall","src":"114506:16:21"},"nativeSrc":"114506:16:21","nodeType":"YulExpressionStatement","src":"114506:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114542:4:21","nodeType":"YulLiteral","src":"114542:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"114548:2:21","nodeType":"YulIdentifier","src":"114548:2:21"}],"functionName":{"name":"mstore","nativeSrc":"114535:6:21","nodeType":"YulIdentifier","src":"114535:6:21"},"nativeSrc":"114535:16:21","nodeType":"YulFunctionCall","src":"114535:16:21"},"nativeSrc":"114535:16:21","nodeType":"YulExpressionStatement","src":"114535:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30576,"isOffset":false,"isSlot":false,"src":"114203:2:21","valueSize":1},{"declaration":30579,"isOffset":false,"isSlot":false,"src":"114233:2:21","valueSize":1},{"declaration":30582,"isOffset":false,"isSlot":false,"src":"114263:2:21","valueSize":1},{"declaration":30585,"isOffset":false,"isSlot":false,"src":"114293:2:21","valueSize":1},{"declaration":30588,"isOffset":false,"isSlot":false,"src":"114323:2:21","valueSize":1},{"declaration":30566,"isOffset":false,"isSlot":false,"src":"114461:2:21","valueSize":1},{"declaration":30568,"isOffset":false,"isSlot":false,"src":"114490:2:21","valueSize":1},{"declaration":30570,"isOffset":false,"isSlot":false,"src":"114519:2:21","valueSize":1},{"declaration":30572,"isOffset":false,"isSlot":false,"src":"114548:2:21","valueSize":1}],"id":30590,"nodeType":"InlineAssembly","src":"114180:381:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"114586:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"114592:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30591,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"114570:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"114570:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30595,"nodeType":"ExpressionStatement","src":"114570:27:21"},{"AST":{"nativeSrc":"114659:156:21","nodeType":"YulBlock","src":"114659:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"114680:4:21","nodeType":"YulLiteral","src":"114680:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"114686:2:21","nodeType":"YulIdentifier","src":"114686:2:21"}],"functionName":{"name":"mstore","nativeSrc":"114673:6:21","nodeType":"YulIdentifier","src":"114673:6:21"},"nativeSrc":"114673:16:21","nodeType":"YulFunctionCall","src":"114673:16:21"},"nativeSrc":"114673:16:21","nodeType":"YulExpressionStatement","src":"114673:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114709:4:21","nodeType":"YulLiteral","src":"114709:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"114715:2:21","nodeType":"YulIdentifier","src":"114715:2:21"}],"functionName":{"name":"mstore","nativeSrc":"114702:6:21","nodeType":"YulIdentifier","src":"114702:6:21"},"nativeSrc":"114702:16:21","nodeType":"YulFunctionCall","src":"114702:16:21"},"nativeSrc":"114702:16:21","nodeType":"YulExpressionStatement","src":"114702:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114738:4:21","nodeType":"YulLiteral","src":"114738:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"114744:2:21","nodeType":"YulIdentifier","src":"114744:2:21"}],"functionName":{"name":"mstore","nativeSrc":"114731:6:21","nodeType":"YulIdentifier","src":"114731:6:21"},"nativeSrc":"114731:16:21","nodeType":"YulFunctionCall","src":"114731:16:21"},"nativeSrc":"114731:16:21","nodeType":"YulExpressionStatement","src":"114731:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114767:4:21","nodeType":"YulLiteral","src":"114767:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"114773:2:21","nodeType":"YulIdentifier","src":"114773:2:21"}],"functionName":{"name":"mstore","nativeSrc":"114760:6:21","nodeType":"YulIdentifier","src":"114760:6:21"},"nativeSrc":"114760:16:21","nodeType":"YulFunctionCall","src":"114760:16:21"},"nativeSrc":"114760:16:21","nodeType":"YulExpressionStatement","src":"114760:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114796:4:21","nodeType":"YulLiteral","src":"114796:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"114802:2:21","nodeType":"YulIdentifier","src":"114802:2:21"}],"functionName":{"name":"mstore","nativeSrc":"114789:6:21","nodeType":"YulIdentifier","src":"114789:6:21"},"nativeSrc":"114789:16:21","nodeType":"YulFunctionCall","src":"114789:16:21"},"nativeSrc":"114789:16:21","nodeType":"YulExpressionStatement","src":"114789:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30576,"isOffset":false,"isSlot":false,"src":"114686:2:21","valueSize":1},{"declaration":30579,"isOffset":false,"isSlot":false,"src":"114715:2:21","valueSize":1},{"declaration":30582,"isOffset":false,"isSlot":false,"src":"114744:2:21","valueSize":1},{"declaration":30585,"isOffset":false,"isSlot":false,"src":"114773:2:21","valueSize":1},{"declaration":30588,"isOffset":false,"isSlot":false,"src":"114802:2:21","valueSize":1}],"id":30596,"nodeType":"InlineAssembly","src":"114650:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"113970:3:21","parameters":{"id":30573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30566,"mutability":"mutable","name":"p0","nameLocation":"113982:2:21","nodeType":"VariableDeclaration","scope":30598,"src":"113974:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30565,"name":"address","nodeType":"ElementaryTypeName","src":"113974:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30568,"mutability":"mutable","name":"p1","nameLocation":"113991:2:21","nodeType":"VariableDeclaration","scope":30598,"src":"113986:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30567,"name":"bool","nodeType":"ElementaryTypeName","src":"113986:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30570,"mutability":"mutable","name":"p2","nameLocation":"114000:2:21","nodeType":"VariableDeclaration","scope":30598,"src":"113995:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30569,"name":"bool","nodeType":"ElementaryTypeName","src":"113995:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30572,"mutability":"mutable","name":"p3","nameLocation":"114009:2:21","nodeType":"VariableDeclaration","scope":30598,"src":"114004:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30571,"name":"bool","nodeType":"ElementaryTypeName","src":"114004:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"113973:39:21"},"returnParameters":{"id":30574,"nodeType":"ParameterList","parameters":[],"src":"114027:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30632,"nodeType":"FunctionDefinition","src":"114827:866:21","nodes":[],"body":{"id":30631,"nodeType":"Block","src":"114896:797:21","nodes":[],"statements":[{"assignments":[30610],"declarations":[{"constant":false,"id":30610,"mutability":"mutable","name":"m0","nameLocation":"114914:2:21","nodeType":"VariableDeclaration","scope":30631,"src":"114906:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114906:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30611,"nodeType":"VariableDeclarationStatement","src":"114906:10:21"},{"assignments":[30613],"declarations":[{"constant":false,"id":30613,"mutability":"mutable","name":"m1","nameLocation":"114934:2:21","nodeType":"VariableDeclaration","scope":30631,"src":"114926:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114926:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30614,"nodeType":"VariableDeclarationStatement","src":"114926:10:21"},{"assignments":[30616],"declarations":[{"constant":false,"id":30616,"mutability":"mutable","name":"m2","nameLocation":"114954:2:21","nodeType":"VariableDeclaration","scope":30631,"src":"114946:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114946:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30617,"nodeType":"VariableDeclarationStatement","src":"114946:10:21"},{"assignments":[30619],"declarations":[{"constant":false,"id":30619,"mutability":"mutable","name":"m3","nameLocation":"114974:2:21","nodeType":"VariableDeclaration","scope":30631,"src":"114966:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114966:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30620,"nodeType":"VariableDeclarationStatement","src":"114966:10:21"},{"assignments":[30622],"declarations":[{"constant":false,"id":30622,"mutability":"mutable","name":"m4","nameLocation":"114994:2:21","nodeType":"VariableDeclaration","scope":30631,"src":"114986:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114986:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30623,"nodeType":"VariableDeclarationStatement","src":"114986:10:21"},{"AST":{"nativeSrc":"115058:375:21","nodeType":"YulBlock","src":"115058:375:21","statements":[{"nativeSrc":"115072:17:21","nodeType":"YulAssignment","src":"115072:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"115084:4:21","nodeType":"YulLiteral","src":"115084:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"115078:5:21","nodeType":"YulIdentifier","src":"115078:5:21"},"nativeSrc":"115078:11:21","nodeType":"YulFunctionCall","src":"115078:11:21"},"variableNames":[{"name":"m0","nativeSrc":"115072:2:21","nodeType":"YulIdentifier","src":"115072:2:21"}]},{"nativeSrc":"115102:17:21","nodeType":"YulAssignment","src":"115102:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"115114:4:21","nodeType":"YulLiteral","src":"115114:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"115108:5:21","nodeType":"YulIdentifier","src":"115108:5:21"},"nativeSrc":"115108:11:21","nodeType":"YulFunctionCall","src":"115108:11:21"},"variableNames":[{"name":"m1","nativeSrc":"115102:2:21","nodeType":"YulIdentifier","src":"115102:2:21"}]},{"nativeSrc":"115132:17:21","nodeType":"YulAssignment","src":"115132:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"115144:4:21","nodeType":"YulLiteral","src":"115144:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"115138:5:21","nodeType":"YulIdentifier","src":"115138:5:21"},"nativeSrc":"115138:11:21","nodeType":"YulFunctionCall","src":"115138:11:21"},"variableNames":[{"name":"m2","nativeSrc":"115132:2:21","nodeType":"YulIdentifier","src":"115132:2:21"}]},{"nativeSrc":"115162:17:21","nodeType":"YulAssignment","src":"115162:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"115174:4:21","nodeType":"YulLiteral","src":"115174:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"115168:5:21","nodeType":"YulIdentifier","src":"115168:5:21"},"nativeSrc":"115168:11:21","nodeType":"YulFunctionCall","src":"115168:11:21"},"variableNames":[{"name":"m3","nativeSrc":"115162:2:21","nodeType":"YulIdentifier","src":"115162:2:21"}]},{"nativeSrc":"115192:17:21","nodeType":"YulAssignment","src":"115192:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"115204:4:21","nodeType":"YulLiteral","src":"115204:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"115198:5:21","nodeType":"YulIdentifier","src":"115198:5:21"},"nativeSrc":"115198:11:21","nodeType":"YulFunctionCall","src":"115198:11:21"},"variableNames":[{"name":"m4","nativeSrc":"115192:2:21","nodeType":"YulIdentifier","src":"115192:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115290:4:21","nodeType":"YulLiteral","src":"115290:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"115296:10:21","nodeType":"YulLiteral","src":"115296:10:21","type":"","value":"0x8c4e5de6"}],"functionName":{"name":"mstore","nativeSrc":"115283:6:21","nodeType":"YulIdentifier","src":"115283:6:21"},"nativeSrc":"115283:24:21","nodeType":"YulFunctionCall","src":"115283:24:21"},"nativeSrc":"115283:24:21","nodeType":"YulExpressionStatement","src":"115283:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115327:4:21","nodeType":"YulLiteral","src":"115327:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"115333:2:21","nodeType":"YulIdentifier","src":"115333:2:21"}],"functionName":{"name":"mstore","nativeSrc":"115320:6:21","nodeType":"YulIdentifier","src":"115320:6:21"},"nativeSrc":"115320:16:21","nodeType":"YulFunctionCall","src":"115320:16:21"},"nativeSrc":"115320:16:21","nodeType":"YulExpressionStatement","src":"115320:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115356:4:21","nodeType":"YulLiteral","src":"115356:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"115362:2:21","nodeType":"YulIdentifier","src":"115362:2:21"}],"functionName":{"name":"mstore","nativeSrc":"115349:6:21","nodeType":"YulIdentifier","src":"115349:6:21"},"nativeSrc":"115349:16:21","nodeType":"YulFunctionCall","src":"115349:16:21"},"nativeSrc":"115349:16:21","nodeType":"YulExpressionStatement","src":"115349:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115385:4:21","nodeType":"YulLiteral","src":"115385:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"115391:2:21","nodeType":"YulIdentifier","src":"115391:2:21"}],"functionName":{"name":"mstore","nativeSrc":"115378:6:21","nodeType":"YulIdentifier","src":"115378:6:21"},"nativeSrc":"115378:16:21","nodeType":"YulFunctionCall","src":"115378:16:21"},"nativeSrc":"115378:16:21","nodeType":"YulExpressionStatement","src":"115378:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115414:4:21","nodeType":"YulLiteral","src":"115414:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"115420:2:21","nodeType":"YulIdentifier","src":"115420:2:21"}],"functionName":{"name":"mstore","nativeSrc":"115407:6:21","nodeType":"YulIdentifier","src":"115407:6:21"},"nativeSrc":"115407:16:21","nodeType":"YulFunctionCall","src":"115407:16:21"},"nativeSrc":"115407:16:21","nodeType":"YulExpressionStatement","src":"115407:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30610,"isOffset":false,"isSlot":false,"src":"115072:2:21","valueSize":1},{"declaration":30613,"isOffset":false,"isSlot":false,"src":"115102:2:21","valueSize":1},{"declaration":30616,"isOffset":false,"isSlot":false,"src":"115132:2:21","valueSize":1},{"declaration":30619,"isOffset":false,"isSlot":false,"src":"115162:2:21","valueSize":1},{"declaration":30622,"isOffset":false,"isSlot":false,"src":"115192:2:21","valueSize":1},{"declaration":30600,"isOffset":false,"isSlot":false,"src":"115333:2:21","valueSize":1},{"declaration":30602,"isOffset":false,"isSlot":false,"src":"115362:2:21","valueSize":1},{"declaration":30604,"isOffset":false,"isSlot":false,"src":"115391:2:21","valueSize":1},{"declaration":30606,"isOffset":false,"isSlot":false,"src":"115420:2:21","valueSize":1}],"id":30624,"nodeType":"InlineAssembly","src":"115049:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"115458:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"115464:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30625,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"115442:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"115442:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30629,"nodeType":"ExpressionStatement","src":"115442:27:21"},{"AST":{"nativeSrc":"115531:156:21","nodeType":"YulBlock","src":"115531:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"115552:4:21","nodeType":"YulLiteral","src":"115552:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"115558:2:21","nodeType":"YulIdentifier","src":"115558:2:21"}],"functionName":{"name":"mstore","nativeSrc":"115545:6:21","nodeType":"YulIdentifier","src":"115545:6:21"},"nativeSrc":"115545:16:21","nodeType":"YulFunctionCall","src":"115545:16:21"},"nativeSrc":"115545:16:21","nodeType":"YulExpressionStatement","src":"115545:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115581:4:21","nodeType":"YulLiteral","src":"115581:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"115587:2:21","nodeType":"YulIdentifier","src":"115587:2:21"}],"functionName":{"name":"mstore","nativeSrc":"115574:6:21","nodeType":"YulIdentifier","src":"115574:6:21"},"nativeSrc":"115574:16:21","nodeType":"YulFunctionCall","src":"115574:16:21"},"nativeSrc":"115574:16:21","nodeType":"YulExpressionStatement","src":"115574:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115610:4:21","nodeType":"YulLiteral","src":"115610:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"115616:2:21","nodeType":"YulIdentifier","src":"115616:2:21"}],"functionName":{"name":"mstore","nativeSrc":"115603:6:21","nodeType":"YulIdentifier","src":"115603:6:21"},"nativeSrc":"115603:16:21","nodeType":"YulFunctionCall","src":"115603:16:21"},"nativeSrc":"115603:16:21","nodeType":"YulExpressionStatement","src":"115603:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115639:4:21","nodeType":"YulLiteral","src":"115639:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"115645:2:21","nodeType":"YulIdentifier","src":"115645:2:21"}],"functionName":{"name":"mstore","nativeSrc":"115632:6:21","nodeType":"YulIdentifier","src":"115632:6:21"},"nativeSrc":"115632:16:21","nodeType":"YulFunctionCall","src":"115632:16:21"},"nativeSrc":"115632:16:21","nodeType":"YulExpressionStatement","src":"115632:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115668:4:21","nodeType":"YulLiteral","src":"115668:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"115674:2:21","nodeType":"YulIdentifier","src":"115674:2:21"}],"functionName":{"name":"mstore","nativeSrc":"115661:6:21","nodeType":"YulIdentifier","src":"115661:6:21"},"nativeSrc":"115661:16:21","nodeType":"YulFunctionCall","src":"115661:16:21"},"nativeSrc":"115661:16:21","nodeType":"YulExpressionStatement","src":"115661:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30610,"isOffset":false,"isSlot":false,"src":"115558:2:21","valueSize":1},{"declaration":30613,"isOffset":false,"isSlot":false,"src":"115587:2:21","valueSize":1},{"declaration":30616,"isOffset":false,"isSlot":false,"src":"115616:2:21","valueSize":1},{"declaration":30619,"isOffset":false,"isSlot":false,"src":"115645:2:21","valueSize":1},{"declaration":30622,"isOffset":false,"isSlot":false,"src":"115674:2:21","valueSize":1}],"id":30630,"nodeType":"InlineAssembly","src":"115522:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"114836:3:21","parameters":{"id":30607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30600,"mutability":"mutable","name":"p0","nameLocation":"114848:2:21","nodeType":"VariableDeclaration","scope":30632,"src":"114840:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30599,"name":"address","nodeType":"ElementaryTypeName","src":"114840:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30602,"mutability":"mutable","name":"p1","nameLocation":"114857:2:21","nodeType":"VariableDeclaration","scope":30632,"src":"114852:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30601,"name":"bool","nodeType":"ElementaryTypeName","src":"114852:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30604,"mutability":"mutable","name":"p2","nameLocation":"114866:2:21","nodeType":"VariableDeclaration","scope":30632,"src":"114861:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30603,"name":"bool","nodeType":"ElementaryTypeName","src":"114861:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30606,"mutability":"mutable","name":"p3","nameLocation":"114878:2:21","nodeType":"VariableDeclaration","scope":30632,"src":"114870:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30605,"name":"uint256","nodeType":"ElementaryTypeName","src":"114870:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"114839:42:21"},"returnParameters":{"id":30608,"nodeType":"ParameterList","parameters":[],"src":"114896:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30672,"nodeType":"FunctionDefinition","src":"115699:1414:21","nodes":[],"body":{"id":30671,"nodeType":"Block","src":"115768:1345:21","nodes":[],"statements":[{"assignments":[30644],"declarations":[{"constant":false,"id":30644,"mutability":"mutable","name":"m0","nameLocation":"115786:2:21","nodeType":"VariableDeclaration","scope":30671,"src":"115778:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115778:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30645,"nodeType":"VariableDeclarationStatement","src":"115778:10:21"},{"assignments":[30647],"declarations":[{"constant":false,"id":30647,"mutability":"mutable","name":"m1","nameLocation":"115806:2:21","nodeType":"VariableDeclaration","scope":30671,"src":"115798:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115798:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30648,"nodeType":"VariableDeclarationStatement","src":"115798:10:21"},{"assignments":[30650],"declarations":[{"constant":false,"id":30650,"mutability":"mutable","name":"m2","nameLocation":"115826:2:21","nodeType":"VariableDeclaration","scope":30671,"src":"115818:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115818:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30651,"nodeType":"VariableDeclarationStatement","src":"115818:10:21"},{"assignments":[30653],"declarations":[{"constant":false,"id":30653,"mutability":"mutable","name":"m3","nameLocation":"115846:2:21","nodeType":"VariableDeclaration","scope":30671,"src":"115838:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115838:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30654,"nodeType":"VariableDeclarationStatement","src":"115838:10:21"},{"assignments":[30656],"declarations":[{"constant":false,"id":30656,"mutability":"mutable","name":"m4","nameLocation":"115866:2:21","nodeType":"VariableDeclaration","scope":30671,"src":"115858:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115858:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30657,"nodeType":"VariableDeclarationStatement","src":"115858:10:21"},{"assignments":[30659],"declarations":[{"constant":false,"id":30659,"mutability":"mutable","name":"m5","nameLocation":"115886:2:21","nodeType":"VariableDeclaration","scope":30671,"src":"115878:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115878:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30660,"nodeType":"VariableDeclarationStatement","src":"115878:10:21"},{"assignments":[30662],"declarations":[{"constant":false,"id":30662,"mutability":"mutable","name":"m6","nameLocation":"115906:2:21","nodeType":"VariableDeclaration","scope":30671,"src":"115898:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115898:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30663,"nodeType":"VariableDeclarationStatement","src":"115898:10:21"},{"AST":{"nativeSrc":"115970:825:21","nodeType":"YulBlock","src":"115970:825:21","statements":[{"body":{"nativeSrc":"116013:313:21","nodeType":"YulBlock","src":"116013:313:21","statements":[{"nativeSrc":"116031:15:21","nodeType":"YulVariableDeclaration","src":"116031:15:21","value":{"kind":"number","nativeSrc":"116045:1:21","nodeType":"YulLiteral","src":"116045:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"116035:6:21","nodeType":"YulTypedName","src":"116035:6:21","type":""}]},{"body":{"nativeSrc":"116116:40:21","nodeType":"YulBlock","src":"116116:40:21","statements":[{"body":{"nativeSrc":"116145:9:21","nodeType":"YulBlock","src":"116145:9:21","statements":[{"nativeSrc":"116147:5:21","nodeType":"YulBreak","src":"116147:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"116133:6:21","nodeType":"YulIdentifier","src":"116133:6:21"},{"name":"w","nativeSrc":"116141:1:21","nodeType":"YulIdentifier","src":"116141:1:21"}],"functionName":{"name":"byte","nativeSrc":"116128:4:21","nodeType":"YulIdentifier","src":"116128:4:21"},"nativeSrc":"116128:15:21","nodeType":"YulFunctionCall","src":"116128:15:21"}],"functionName":{"name":"iszero","nativeSrc":"116121:6:21","nodeType":"YulIdentifier","src":"116121:6:21"},"nativeSrc":"116121:23:21","nodeType":"YulFunctionCall","src":"116121:23:21"},"nativeSrc":"116118:36:21","nodeType":"YulIf","src":"116118:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"116073:6:21","nodeType":"YulIdentifier","src":"116073:6:21"},{"kind":"number","nativeSrc":"116081:4:21","nodeType":"YulLiteral","src":"116081:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"116070:2:21","nodeType":"YulIdentifier","src":"116070:2:21"},"nativeSrc":"116070:16:21","nodeType":"YulFunctionCall","src":"116070:16:21"},"nativeSrc":"116063:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"116087:28:21","nodeType":"YulBlock","src":"116087:28:21","statements":[{"nativeSrc":"116089:24:21","nodeType":"YulAssignment","src":"116089:24:21","value":{"arguments":[{"name":"length","nativeSrc":"116103:6:21","nodeType":"YulIdentifier","src":"116103:6:21"},{"kind":"number","nativeSrc":"116111:1:21","nodeType":"YulLiteral","src":"116111:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"116099:3:21","nodeType":"YulIdentifier","src":"116099:3:21"},"nativeSrc":"116099:14:21","nodeType":"YulFunctionCall","src":"116099:14:21"},"variableNames":[{"name":"length","nativeSrc":"116089:6:21","nodeType":"YulIdentifier","src":"116089:6:21"}]}]},"pre":{"nativeSrc":"116067:2:21","nodeType":"YulBlock","src":"116067:2:21","statements":[]},"src":"116063:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"116180:3:21","nodeType":"YulIdentifier","src":"116180:3:21"},{"name":"length","nativeSrc":"116185:6:21","nodeType":"YulIdentifier","src":"116185:6:21"}],"functionName":{"name":"mstore","nativeSrc":"116173:6:21","nodeType":"YulIdentifier","src":"116173:6:21"},"nativeSrc":"116173:19:21","nodeType":"YulFunctionCall","src":"116173:19:21"},"nativeSrc":"116173:19:21","nodeType":"YulExpressionStatement","src":"116173:19:21"},{"nativeSrc":"116209:37:21","nodeType":"YulVariableDeclaration","src":"116209:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"116226:3:21","nodeType":"YulLiteral","src":"116226:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"116235:1:21","nodeType":"YulLiteral","src":"116235:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"116238:6:21","nodeType":"YulIdentifier","src":"116238:6:21"}],"functionName":{"name":"shl","nativeSrc":"116231:3:21","nodeType":"YulIdentifier","src":"116231:3:21"},"nativeSrc":"116231:14:21","nodeType":"YulFunctionCall","src":"116231:14:21"}],"functionName":{"name":"sub","nativeSrc":"116222:3:21","nodeType":"YulIdentifier","src":"116222:3:21"},"nativeSrc":"116222:24:21","nodeType":"YulFunctionCall","src":"116222:24:21"},"variables":[{"name":"shift","nativeSrc":"116213:5:21","nodeType":"YulTypedName","src":"116213:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"116274:3:21","nodeType":"YulIdentifier","src":"116274:3:21"},{"kind":"number","nativeSrc":"116279:4:21","nodeType":"YulLiteral","src":"116279:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"116270:3:21","nodeType":"YulIdentifier","src":"116270:3:21"},"nativeSrc":"116270:14:21","nodeType":"YulFunctionCall","src":"116270:14:21"},{"arguments":[{"name":"shift","nativeSrc":"116290:5:21","nodeType":"YulIdentifier","src":"116290:5:21"},{"arguments":[{"name":"shift","nativeSrc":"116301:5:21","nodeType":"YulIdentifier","src":"116301:5:21"},{"name":"w","nativeSrc":"116308:1:21","nodeType":"YulIdentifier","src":"116308:1:21"}],"functionName":{"name":"shr","nativeSrc":"116297:3:21","nodeType":"YulIdentifier","src":"116297:3:21"},"nativeSrc":"116297:13:21","nodeType":"YulFunctionCall","src":"116297:13:21"}],"functionName":{"name":"shl","nativeSrc":"116286:3:21","nodeType":"YulIdentifier","src":"116286:3:21"},"nativeSrc":"116286:25:21","nodeType":"YulFunctionCall","src":"116286:25:21"}],"functionName":{"name":"mstore","nativeSrc":"116263:6:21","nodeType":"YulIdentifier","src":"116263:6:21"},"nativeSrc":"116263:49:21","nodeType":"YulFunctionCall","src":"116263:49:21"},"nativeSrc":"116263:49:21","nodeType":"YulExpressionStatement","src":"116263:49:21"}]},"name":"writeString","nativeSrc":"115984:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"116005:3:21","nodeType":"YulTypedName","src":"116005:3:21","type":""},{"name":"w","nativeSrc":"116010:1:21","nodeType":"YulTypedName","src":"116010:1:21","type":""}],"src":"115984:342:21"},{"nativeSrc":"116339:17:21","nodeType":"YulAssignment","src":"116339:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"116351:4:21","nodeType":"YulLiteral","src":"116351:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"116345:5:21","nodeType":"YulIdentifier","src":"116345:5:21"},"nativeSrc":"116345:11:21","nodeType":"YulFunctionCall","src":"116345:11:21"},"variableNames":[{"name":"m0","nativeSrc":"116339:2:21","nodeType":"YulIdentifier","src":"116339:2:21"}]},{"nativeSrc":"116369:17:21","nodeType":"YulAssignment","src":"116369:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"116381:4:21","nodeType":"YulLiteral","src":"116381:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"116375:5:21","nodeType":"YulIdentifier","src":"116375:5:21"},"nativeSrc":"116375:11:21","nodeType":"YulFunctionCall","src":"116375:11:21"},"variableNames":[{"name":"m1","nativeSrc":"116369:2:21","nodeType":"YulIdentifier","src":"116369:2:21"}]},{"nativeSrc":"116399:17:21","nodeType":"YulAssignment","src":"116399:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"116411:4:21","nodeType":"YulLiteral","src":"116411:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"116405:5:21","nodeType":"YulIdentifier","src":"116405:5:21"},"nativeSrc":"116405:11:21","nodeType":"YulFunctionCall","src":"116405:11:21"},"variableNames":[{"name":"m2","nativeSrc":"116399:2:21","nodeType":"YulIdentifier","src":"116399:2:21"}]},{"nativeSrc":"116429:17:21","nodeType":"YulAssignment","src":"116429:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"116441:4:21","nodeType":"YulLiteral","src":"116441:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"116435:5:21","nodeType":"YulIdentifier","src":"116435:5:21"},"nativeSrc":"116435:11:21","nodeType":"YulFunctionCall","src":"116435:11:21"},"variableNames":[{"name":"m3","nativeSrc":"116429:2:21","nodeType":"YulIdentifier","src":"116429:2:21"}]},{"nativeSrc":"116459:17:21","nodeType":"YulAssignment","src":"116459:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"116471:4:21","nodeType":"YulLiteral","src":"116471:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"116465:5:21","nodeType":"YulIdentifier","src":"116465:5:21"},"nativeSrc":"116465:11:21","nodeType":"YulFunctionCall","src":"116465:11:21"},"variableNames":[{"name":"m4","nativeSrc":"116459:2:21","nodeType":"YulIdentifier","src":"116459:2:21"}]},{"nativeSrc":"116489:17:21","nodeType":"YulAssignment","src":"116489:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"116501:4:21","nodeType":"YulLiteral","src":"116501:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"116495:5:21","nodeType":"YulIdentifier","src":"116495:5:21"},"nativeSrc":"116495:11:21","nodeType":"YulFunctionCall","src":"116495:11:21"},"variableNames":[{"name":"m5","nativeSrc":"116489:2:21","nodeType":"YulIdentifier","src":"116489:2:21"}]},{"nativeSrc":"116519:17:21","nodeType":"YulAssignment","src":"116519:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"116531:4:21","nodeType":"YulLiteral","src":"116531:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"116525:5:21","nodeType":"YulIdentifier","src":"116525:5:21"},"nativeSrc":"116525:11:21","nodeType":"YulFunctionCall","src":"116525:11:21"},"variableNames":[{"name":"m6","nativeSrc":"116519:2:21","nodeType":"YulIdentifier","src":"116519:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116616:4:21","nodeType":"YulLiteral","src":"116616:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"116622:10:21","nodeType":"YulLiteral","src":"116622:10:21","type":"","value":"0xdfc4a2e8"}],"functionName":{"name":"mstore","nativeSrc":"116609:6:21","nodeType":"YulIdentifier","src":"116609:6:21"},"nativeSrc":"116609:24:21","nodeType":"YulFunctionCall","src":"116609:24:21"},"nativeSrc":"116609:24:21","nodeType":"YulExpressionStatement","src":"116609:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116653:4:21","nodeType":"YulLiteral","src":"116653:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"116659:2:21","nodeType":"YulIdentifier","src":"116659:2:21"}],"functionName":{"name":"mstore","nativeSrc":"116646:6:21","nodeType":"YulIdentifier","src":"116646:6:21"},"nativeSrc":"116646:16:21","nodeType":"YulFunctionCall","src":"116646:16:21"},"nativeSrc":"116646:16:21","nodeType":"YulExpressionStatement","src":"116646:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116682:4:21","nodeType":"YulLiteral","src":"116682:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"116688:2:21","nodeType":"YulIdentifier","src":"116688:2:21"}],"functionName":{"name":"mstore","nativeSrc":"116675:6:21","nodeType":"YulIdentifier","src":"116675:6:21"},"nativeSrc":"116675:16:21","nodeType":"YulFunctionCall","src":"116675:16:21"},"nativeSrc":"116675:16:21","nodeType":"YulExpressionStatement","src":"116675:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116711:4:21","nodeType":"YulLiteral","src":"116711:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"116717:2:21","nodeType":"YulIdentifier","src":"116717:2:21"}],"functionName":{"name":"mstore","nativeSrc":"116704:6:21","nodeType":"YulIdentifier","src":"116704:6:21"},"nativeSrc":"116704:16:21","nodeType":"YulFunctionCall","src":"116704:16:21"},"nativeSrc":"116704:16:21","nodeType":"YulExpressionStatement","src":"116704:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116740:4:21","nodeType":"YulLiteral","src":"116740:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"116746:4:21","nodeType":"YulLiteral","src":"116746:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"116733:6:21","nodeType":"YulIdentifier","src":"116733:6:21"},"nativeSrc":"116733:18:21","nodeType":"YulFunctionCall","src":"116733:18:21"},"nativeSrc":"116733:18:21","nodeType":"YulExpressionStatement","src":"116733:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116776:4:21","nodeType":"YulLiteral","src":"116776:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"116782:2:21","nodeType":"YulIdentifier","src":"116782:2:21"}],"functionName":{"name":"writeString","nativeSrc":"116764:11:21","nodeType":"YulIdentifier","src":"116764:11:21"},"nativeSrc":"116764:21:21","nodeType":"YulFunctionCall","src":"116764:21:21"},"nativeSrc":"116764:21:21","nodeType":"YulExpressionStatement","src":"116764:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30644,"isOffset":false,"isSlot":false,"src":"116339:2:21","valueSize":1},{"declaration":30647,"isOffset":false,"isSlot":false,"src":"116369:2:21","valueSize":1},{"declaration":30650,"isOffset":false,"isSlot":false,"src":"116399:2:21","valueSize":1},{"declaration":30653,"isOffset":false,"isSlot":false,"src":"116429:2:21","valueSize":1},{"declaration":30656,"isOffset":false,"isSlot":false,"src":"116459:2:21","valueSize":1},{"declaration":30659,"isOffset":false,"isSlot":false,"src":"116489:2:21","valueSize":1},{"declaration":30662,"isOffset":false,"isSlot":false,"src":"116519:2:21","valueSize":1},{"declaration":30634,"isOffset":false,"isSlot":false,"src":"116659:2:21","valueSize":1},{"declaration":30636,"isOffset":false,"isSlot":false,"src":"116688:2:21","valueSize":1},{"declaration":30638,"isOffset":false,"isSlot":false,"src":"116717:2:21","valueSize":1},{"declaration":30640,"isOffset":false,"isSlot":false,"src":"116782:2:21","valueSize":1}],"id":30664,"nodeType":"InlineAssembly","src":"115961:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"116820:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"116826:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30665,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"116804:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"116804:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30669,"nodeType":"ExpressionStatement","src":"116804:27:21"},{"AST":{"nativeSrc":"116893:214:21","nodeType":"YulBlock","src":"116893:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"116914:4:21","nodeType":"YulLiteral","src":"116914:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"116920:2:21","nodeType":"YulIdentifier","src":"116920:2:21"}],"functionName":{"name":"mstore","nativeSrc":"116907:6:21","nodeType":"YulIdentifier","src":"116907:6:21"},"nativeSrc":"116907:16:21","nodeType":"YulFunctionCall","src":"116907:16:21"},"nativeSrc":"116907:16:21","nodeType":"YulExpressionStatement","src":"116907:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116943:4:21","nodeType":"YulLiteral","src":"116943:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"116949:2:21","nodeType":"YulIdentifier","src":"116949:2:21"}],"functionName":{"name":"mstore","nativeSrc":"116936:6:21","nodeType":"YulIdentifier","src":"116936:6:21"},"nativeSrc":"116936:16:21","nodeType":"YulFunctionCall","src":"116936:16:21"},"nativeSrc":"116936:16:21","nodeType":"YulExpressionStatement","src":"116936:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116972:4:21","nodeType":"YulLiteral","src":"116972:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"116978:2:21","nodeType":"YulIdentifier","src":"116978:2:21"}],"functionName":{"name":"mstore","nativeSrc":"116965:6:21","nodeType":"YulIdentifier","src":"116965:6:21"},"nativeSrc":"116965:16:21","nodeType":"YulFunctionCall","src":"116965:16:21"},"nativeSrc":"116965:16:21","nodeType":"YulExpressionStatement","src":"116965:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117001:4:21","nodeType":"YulLiteral","src":"117001:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"117007:2:21","nodeType":"YulIdentifier","src":"117007:2:21"}],"functionName":{"name":"mstore","nativeSrc":"116994:6:21","nodeType":"YulIdentifier","src":"116994:6:21"},"nativeSrc":"116994:16:21","nodeType":"YulFunctionCall","src":"116994:16:21"},"nativeSrc":"116994:16:21","nodeType":"YulExpressionStatement","src":"116994:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117030:4:21","nodeType":"YulLiteral","src":"117030:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"117036:2:21","nodeType":"YulIdentifier","src":"117036:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117023:6:21","nodeType":"YulIdentifier","src":"117023:6:21"},"nativeSrc":"117023:16:21","nodeType":"YulFunctionCall","src":"117023:16:21"},"nativeSrc":"117023:16:21","nodeType":"YulExpressionStatement","src":"117023:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117059:4:21","nodeType":"YulLiteral","src":"117059:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"117065:2:21","nodeType":"YulIdentifier","src":"117065:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117052:6:21","nodeType":"YulIdentifier","src":"117052:6:21"},"nativeSrc":"117052:16:21","nodeType":"YulFunctionCall","src":"117052:16:21"},"nativeSrc":"117052:16:21","nodeType":"YulExpressionStatement","src":"117052:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117088:4:21","nodeType":"YulLiteral","src":"117088:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"117094:2:21","nodeType":"YulIdentifier","src":"117094:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117081:6:21","nodeType":"YulIdentifier","src":"117081:6:21"},"nativeSrc":"117081:16:21","nodeType":"YulFunctionCall","src":"117081:16:21"},"nativeSrc":"117081:16:21","nodeType":"YulExpressionStatement","src":"117081:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30644,"isOffset":false,"isSlot":false,"src":"116920:2:21","valueSize":1},{"declaration":30647,"isOffset":false,"isSlot":false,"src":"116949:2:21","valueSize":1},{"declaration":30650,"isOffset":false,"isSlot":false,"src":"116978:2:21","valueSize":1},{"declaration":30653,"isOffset":false,"isSlot":false,"src":"117007:2:21","valueSize":1},{"declaration":30656,"isOffset":false,"isSlot":false,"src":"117036:2:21","valueSize":1},{"declaration":30659,"isOffset":false,"isSlot":false,"src":"117065:2:21","valueSize":1},{"declaration":30662,"isOffset":false,"isSlot":false,"src":"117094:2:21","valueSize":1}],"id":30670,"nodeType":"InlineAssembly","src":"116884:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"115708:3:21","parameters":{"id":30641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30634,"mutability":"mutable","name":"p0","nameLocation":"115720:2:21","nodeType":"VariableDeclaration","scope":30672,"src":"115712:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30633,"name":"address","nodeType":"ElementaryTypeName","src":"115712:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30636,"mutability":"mutable","name":"p1","nameLocation":"115729:2:21","nodeType":"VariableDeclaration","scope":30672,"src":"115724:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30635,"name":"bool","nodeType":"ElementaryTypeName","src":"115724:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30638,"mutability":"mutable","name":"p2","nameLocation":"115738:2:21","nodeType":"VariableDeclaration","scope":30672,"src":"115733:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30637,"name":"bool","nodeType":"ElementaryTypeName","src":"115733:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30640,"mutability":"mutable","name":"p3","nameLocation":"115750:2:21","nodeType":"VariableDeclaration","scope":30672,"src":"115742:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115742:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"115711:42:21"},"returnParameters":{"id":30642,"nodeType":"ParameterList","parameters":[],"src":"115768:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30706,"nodeType":"FunctionDefinition","src":"117119:872:21","nodes":[],"body":{"id":30705,"nodeType":"Block","src":"117191:800:21","nodes":[],"statements":[{"assignments":[30684],"declarations":[{"constant":false,"id":30684,"mutability":"mutable","name":"m0","nameLocation":"117209:2:21","nodeType":"VariableDeclaration","scope":30705,"src":"117201:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117201:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30685,"nodeType":"VariableDeclarationStatement","src":"117201:10:21"},{"assignments":[30687],"declarations":[{"constant":false,"id":30687,"mutability":"mutable","name":"m1","nameLocation":"117229:2:21","nodeType":"VariableDeclaration","scope":30705,"src":"117221:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117221:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30688,"nodeType":"VariableDeclarationStatement","src":"117221:10:21"},{"assignments":[30690],"declarations":[{"constant":false,"id":30690,"mutability":"mutable","name":"m2","nameLocation":"117249:2:21","nodeType":"VariableDeclaration","scope":30705,"src":"117241:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117241:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30691,"nodeType":"VariableDeclarationStatement","src":"117241:10:21"},{"assignments":[30693],"declarations":[{"constant":false,"id":30693,"mutability":"mutable","name":"m3","nameLocation":"117269:2:21","nodeType":"VariableDeclaration","scope":30705,"src":"117261:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117261:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30694,"nodeType":"VariableDeclarationStatement","src":"117261:10:21"},{"assignments":[30696],"declarations":[{"constant":false,"id":30696,"mutability":"mutable","name":"m4","nameLocation":"117289:2:21","nodeType":"VariableDeclaration","scope":30705,"src":"117281:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117281:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30697,"nodeType":"VariableDeclarationStatement","src":"117281:10:21"},{"AST":{"nativeSrc":"117353:378:21","nodeType":"YulBlock","src":"117353:378:21","statements":[{"nativeSrc":"117367:17:21","nodeType":"YulAssignment","src":"117367:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"117379:4:21","nodeType":"YulLiteral","src":"117379:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"117373:5:21","nodeType":"YulIdentifier","src":"117373:5:21"},"nativeSrc":"117373:11:21","nodeType":"YulFunctionCall","src":"117373:11:21"},"variableNames":[{"name":"m0","nativeSrc":"117367:2:21","nodeType":"YulIdentifier","src":"117367:2:21"}]},{"nativeSrc":"117397:17:21","nodeType":"YulAssignment","src":"117397:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"117409:4:21","nodeType":"YulLiteral","src":"117409:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"117403:5:21","nodeType":"YulIdentifier","src":"117403:5:21"},"nativeSrc":"117403:11:21","nodeType":"YulFunctionCall","src":"117403:11:21"},"variableNames":[{"name":"m1","nativeSrc":"117397:2:21","nodeType":"YulIdentifier","src":"117397:2:21"}]},{"nativeSrc":"117427:17:21","nodeType":"YulAssignment","src":"117427:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"117439:4:21","nodeType":"YulLiteral","src":"117439:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"117433:5:21","nodeType":"YulIdentifier","src":"117433:5:21"},"nativeSrc":"117433:11:21","nodeType":"YulFunctionCall","src":"117433:11:21"},"variableNames":[{"name":"m2","nativeSrc":"117427:2:21","nodeType":"YulIdentifier","src":"117427:2:21"}]},{"nativeSrc":"117457:17:21","nodeType":"YulAssignment","src":"117457:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"117469:4:21","nodeType":"YulLiteral","src":"117469:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"117463:5:21","nodeType":"YulIdentifier","src":"117463:5:21"},"nativeSrc":"117463:11:21","nodeType":"YulFunctionCall","src":"117463:11:21"},"variableNames":[{"name":"m3","nativeSrc":"117457:2:21","nodeType":"YulIdentifier","src":"117457:2:21"}]},{"nativeSrc":"117487:17:21","nodeType":"YulAssignment","src":"117487:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"117499:4:21","nodeType":"YulLiteral","src":"117499:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"117493:5:21","nodeType":"YulIdentifier","src":"117493:5:21"},"nativeSrc":"117493:11:21","nodeType":"YulFunctionCall","src":"117493:11:21"},"variableNames":[{"name":"m4","nativeSrc":"117487:2:21","nodeType":"YulIdentifier","src":"117487:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117588:4:21","nodeType":"YulLiteral","src":"117588:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"117594:10:21","nodeType":"YulLiteral","src":"117594:10:21","type":"","value":"0xccf790a1"}],"functionName":{"name":"mstore","nativeSrc":"117581:6:21","nodeType":"YulIdentifier","src":"117581:6:21"},"nativeSrc":"117581:24:21","nodeType":"YulFunctionCall","src":"117581:24:21"},"nativeSrc":"117581:24:21","nodeType":"YulExpressionStatement","src":"117581:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117625:4:21","nodeType":"YulLiteral","src":"117625:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"117631:2:21","nodeType":"YulIdentifier","src":"117631:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117618:6:21","nodeType":"YulIdentifier","src":"117618:6:21"},"nativeSrc":"117618:16:21","nodeType":"YulFunctionCall","src":"117618:16:21"},"nativeSrc":"117618:16:21","nodeType":"YulExpressionStatement","src":"117618:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117654:4:21","nodeType":"YulLiteral","src":"117654:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"117660:2:21","nodeType":"YulIdentifier","src":"117660:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117647:6:21","nodeType":"YulIdentifier","src":"117647:6:21"},"nativeSrc":"117647:16:21","nodeType":"YulFunctionCall","src":"117647:16:21"},"nativeSrc":"117647:16:21","nodeType":"YulExpressionStatement","src":"117647:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117683:4:21","nodeType":"YulLiteral","src":"117683:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"117689:2:21","nodeType":"YulIdentifier","src":"117689:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117676:6:21","nodeType":"YulIdentifier","src":"117676:6:21"},"nativeSrc":"117676:16:21","nodeType":"YulFunctionCall","src":"117676:16:21"},"nativeSrc":"117676:16:21","nodeType":"YulExpressionStatement","src":"117676:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117712:4:21","nodeType":"YulLiteral","src":"117712:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"117718:2:21","nodeType":"YulIdentifier","src":"117718:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117705:6:21","nodeType":"YulIdentifier","src":"117705:6:21"},"nativeSrc":"117705:16:21","nodeType":"YulFunctionCall","src":"117705:16:21"},"nativeSrc":"117705:16:21","nodeType":"YulExpressionStatement","src":"117705:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30684,"isOffset":false,"isSlot":false,"src":"117367:2:21","valueSize":1},{"declaration":30687,"isOffset":false,"isSlot":false,"src":"117397:2:21","valueSize":1},{"declaration":30690,"isOffset":false,"isSlot":false,"src":"117427:2:21","valueSize":1},{"declaration":30693,"isOffset":false,"isSlot":false,"src":"117457:2:21","valueSize":1},{"declaration":30696,"isOffset":false,"isSlot":false,"src":"117487:2:21","valueSize":1},{"declaration":30674,"isOffset":false,"isSlot":false,"src":"117631:2:21","valueSize":1},{"declaration":30676,"isOffset":false,"isSlot":false,"src":"117660:2:21","valueSize":1},{"declaration":30678,"isOffset":false,"isSlot":false,"src":"117689:2:21","valueSize":1},{"declaration":30680,"isOffset":false,"isSlot":false,"src":"117718:2:21","valueSize":1}],"id":30698,"nodeType":"InlineAssembly","src":"117344:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"117756:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"117762:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30699,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"117740:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"117740:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30703,"nodeType":"ExpressionStatement","src":"117740:27:21"},{"AST":{"nativeSrc":"117829:156:21","nodeType":"YulBlock","src":"117829:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"117850:4:21","nodeType":"YulLiteral","src":"117850:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"117856:2:21","nodeType":"YulIdentifier","src":"117856:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117843:6:21","nodeType":"YulIdentifier","src":"117843:6:21"},"nativeSrc":"117843:16:21","nodeType":"YulFunctionCall","src":"117843:16:21"},"nativeSrc":"117843:16:21","nodeType":"YulExpressionStatement","src":"117843:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117879:4:21","nodeType":"YulLiteral","src":"117879:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"117885:2:21","nodeType":"YulIdentifier","src":"117885:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117872:6:21","nodeType":"YulIdentifier","src":"117872:6:21"},"nativeSrc":"117872:16:21","nodeType":"YulFunctionCall","src":"117872:16:21"},"nativeSrc":"117872:16:21","nodeType":"YulExpressionStatement","src":"117872:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117908:4:21","nodeType":"YulLiteral","src":"117908:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"117914:2:21","nodeType":"YulIdentifier","src":"117914:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117901:6:21","nodeType":"YulIdentifier","src":"117901:6:21"},"nativeSrc":"117901:16:21","nodeType":"YulFunctionCall","src":"117901:16:21"},"nativeSrc":"117901:16:21","nodeType":"YulExpressionStatement","src":"117901:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117937:4:21","nodeType":"YulLiteral","src":"117937:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"117943:2:21","nodeType":"YulIdentifier","src":"117943:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117930:6:21","nodeType":"YulIdentifier","src":"117930:6:21"},"nativeSrc":"117930:16:21","nodeType":"YulFunctionCall","src":"117930:16:21"},"nativeSrc":"117930:16:21","nodeType":"YulExpressionStatement","src":"117930:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117966:4:21","nodeType":"YulLiteral","src":"117966:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"117972:2:21","nodeType":"YulIdentifier","src":"117972:2:21"}],"functionName":{"name":"mstore","nativeSrc":"117959:6:21","nodeType":"YulIdentifier","src":"117959:6:21"},"nativeSrc":"117959:16:21","nodeType":"YulFunctionCall","src":"117959:16:21"},"nativeSrc":"117959:16:21","nodeType":"YulExpressionStatement","src":"117959:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30684,"isOffset":false,"isSlot":false,"src":"117856:2:21","valueSize":1},{"declaration":30687,"isOffset":false,"isSlot":false,"src":"117885:2:21","valueSize":1},{"declaration":30690,"isOffset":false,"isSlot":false,"src":"117914:2:21","valueSize":1},{"declaration":30693,"isOffset":false,"isSlot":false,"src":"117943:2:21","valueSize":1},{"declaration":30696,"isOffset":false,"isSlot":false,"src":"117972:2:21","valueSize":1}],"id":30704,"nodeType":"InlineAssembly","src":"117820:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"117128:3:21","parameters":{"id":30681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30674,"mutability":"mutable","name":"p0","nameLocation":"117140:2:21","nodeType":"VariableDeclaration","scope":30706,"src":"117132:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30673,"name":"address","nodeType":"ElementaryTypeName","src":"117132:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30676,"mutability":"mutable","name":"p1","nameLocation":"117149:2:21","nodeType":"VariableDeclaration","scope":30706,"src":"117144:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30675,"name":"bool","nodeType":"ElementaryTypeName","src":"117144:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30678,"mutability":"mutable","name":"p2","nameLocation":"117161:2:21","nodeType":"VariableDeclaration","scope":30706,"src":"117153:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30677,"name":"uint256","nodeType":"ElementaryTypeName","src":"117153:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30680,"mutability":"mutable","name":"p3","nameLocation":"117173:2:21","nodeType":"VariableDeclaration","scope":30706,"src":"117165:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30679,"name":"address","nodeType":"ElementaryTypeName","src":"117165:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"117131:45:21"},"returnParameters":{"id":30682,"nodeType":"ParameterList","parameters":[],"src":"117191:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30740,"nodeType":"FunctionDefinition","src":"117997:866:21","nodes":[],"body":{"id":30739,"nodeType":"Block","src":"118066:797:21","nodes":[],"statements":[{"assignments":[30718],"declarations":[{"constant":false,"id":30718,"mutability":"mutable","name":"m0","nameLocation":"118084:2:21","nodeType":"VariableDeclaration","scope":30739,"src":"118076:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118076:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30719,"nodeType":"VariableDeclarationStatement","src":"118076:10:21"},{"assignments":[30721],"declarations":[{"constant":false,"id":30721,"mutability":"mutable","name":"m1","nameLocation":"118104:2:21","nodeType":"VariableDeclaration","scope":30739,"src":"118096:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118096:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30722,"nodeType":"VariableDeclarationStatement","src":"118096:10:21"},{"assignments":[30724],"declarations":[{"constant":false,"id":30724,"mutability":"mutable","name":"m2","nameLocation":"118124:2:21","nodeType":"VariableDeclaration","scope":30739,"src":"118116:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118116:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30725,"nodeType":"VariableDeclarationStatement","src":"118116:10:21"},{"assignments":[30727],"declarations":[{"constant":false,"id":30727,"mutability":"mutable","name":"m3","nameLocation":"118144:2:21","nodeType":"VariableDeclaration","scope":30739,"src":"118136:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118136:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30728,"nodeType":"VariableDeclarationStatement","src":"118136:10:21"},{"assignments":[30730],"declarations":[{"constant":false,"id":30730,"mutability":"mutable","name":"m4","nameLocation":"118164:2:21","nodeType":"VariableDeclaration","scope":30739,"src":"118156:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118156:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30731,"nodeType":"VariableDeclarationStatement","src":"118156:10:21"},{"AST":{"nativeSrc":"118228:375:21","nodeType":"YulBlock","src":"118228:375:21","statements":[{"nativeSrc":"118242:17:21","nodeType":"YulAssignment","src":"118242:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"118254:4:21","nodeType":"YulLiteral","src":"118254:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"118248:5:21","nodeType":"YulIdentifier","src":"118248:5:21"},"nativeSrc":"118248:11:21","nodeType":"YulFunctionCall","src":"118248:11:21"},"variableNames":[{"name":"m0","nativeSrc":"118242:2:21","nodeType":"YulIdentifier","src":"118242:2:21"}]},{"nativeSrc":"118272:17:21","nodeType":"YulAssignment","src":"118272:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"118284:4:21","nodeType":"YulLiteral","src":"118284:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"118278:5:21","nodeType":"YulIdentifier","src":"118278:5:21"},"nativeSrc":"118278:11:21","nodeType":"YulFunctionCall","src":"118278:11:21"},"variableNames":[{"name":"m1","nativeSrc":"118272:2:21","nodeType":"YulIdentifier","src":"118272:2:21"}]},{"nativeSrc":"118302:17:21","nodeType":"YulAssignment","src":"118302:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"118314:4:21","nodeType":"YulLiteral","src":"118314:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"118308:5:21","nodeType":"YulIdentifier","src":"118308:5:21"},"nativeSrc":"118308:11:21","nodeType":"YulFunctionCall","src":"118308:11:21"},"variableNames":[{"name":"m2","nativeSrc":"118302:2:21","nodeType":"YulIdentifier","src":"118302:2:21"}]},{"nativeSrc":"118332:17:21","nodeType":"YulAssignment","src":"118332:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"118344:4:21","nodeType":"YulLiteral","src":"118344:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"118338:5:21","nodeType":"YulIdentifier","src":"118338:5:21"},"nativeSrc":"118338:11:21","nodeType":"YulFunctionCall","src":"118338:11:21"},"variableNames":[{"name":"m3","nativeSrc":"118332:2:21","nodeType":"YulIdentifier","src":"118332:2:21"}]},{"nativeSrc":"118362:17:21","nodeType":"YulAssignment","src":"118362:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"118374:4:21","nodeType":"YulLiteral","src":"118374:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"118368:5:21","nodeType":"YulIdentifier","src":"118368:5:21"},"nativeSrc":"118368:11:21","nodeType":"YulFunctionCall","src":"118368:11:21"},"variableNames":[{"name":"m4","nativeSrc":"118362:2:21","nodeType":"YulIdentifier","src":"118362:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118460:4:21","nodeType":"YulLiteral","src":"118460:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"118466:10:21","nodeType":"YulLiteral","src":"118466:10:21","type":"","value":"0xc4643e20"}],"functionName":{"name":"mstore","nativeSrc":"118453:6:21","nodeType":"YulIdentifier","src":"118453:6:21"},"nativeSrc":"118453:24:21","nodeType":"YulFunctionCall","src":"118453:24:21"},"nativeSrc":"118453:24:21","nodeType":"YulExpressionStatement","src":"118453:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118497:4:21","nodeType":"YulLiteral","src":"118497:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"118503:2:21","nodeType":"YulIdentifier","src":"118503:2:21"}],"functionName":{"name":"mstore","nativeSrc":"118490:6:21","nodeType":"YulIdentifier","src":"118490:6:21"},"nativeSrc":"118490:16:21","nodeType":"YulFunctionCall","src":"118490:16:21"},"nativeSrc":"118490:16:21","nodeType":"YulExpressionStatement","src":"118490:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118526:4:21","nodeType":"YulLiteral","src":"118526:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"118532:2:21","nodeType":"YulIdentifier","src":"118532:2:21"}],"functionName":{"name":"mstore","nativeSrc":"118519:6:21","nodeType":"YulIdentifier","src":"118519:6:21"},"nativeSrc":"118519:16:21","nodeType":"YulFunctionCall","src":"118519:16:21"},"nativeSrc":"118519:16:21","nodeType":"YulExpressionStatement","src":"118519:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118555:4:21","nodeType":"YulLiteral","src":"118555:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"118561:2:21","nodeType":"YulIdentifier","src":"118561:2:21"}],"functionName":{"name":"mstore","nativeSrc":"118548:6:21","nodeType":"YulIdentifier","src":"118548:6:21"},"nativeSrc":"118548:16:21","nodeType":"YulFunctionCall","src":"118548:16:21"},"nativeSrc":"118548:16:21","nodeType":"YulExpressionStatement","src":"118548:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118584:4:21","nodeType":"YulLiteral","src":"118584:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"118590:2:21","nodeType":"YulIdentifier","src":"118590:2:21"}],"functionName":{"name":"mstore","nativeSrc":"118577:6:21","nodeType":"YulIdentifier","src":"118577:6:21"},"nativeSrc":"118577:16:21","nodeType":"YulFunctionCall","src":"118577:16:21"},"nativeSrc":"118577:16:21","nodeType":"YulExpressionStatement","src":"118577:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30718,"isOffset":false,"isSlot":false,"src":"118242:2:21","valueSize":1},{"declaration":30721,"isOffset":false,"isSlot":false,"src":"118272:2:21","valueSize":1},{"declaration":30724,"isOffset":false,"isSlot":false,"src":"118302:2:21","valueSize":1},{"declaration":30727,"isOffset":false,"isSlot":false,"src":"118332:2:21","valueSize":1},{"declaration":30730,"isOffset":false,"isSlot":false,"src":"118362:2:21","valueSize":1},{"declaration":30708,"isOffset":false,"isSlot":false,"src":"118503:2:21","valueSize":1},{"declaration":30710,"isOffset":false,"isSlot":false,"src":"118532:2:21","valueSize":1},{"declaration":30712,"isOffset":false,"isSlot":false,"src":"118561:2:21","valueSize":1},{"declaration":30714,"isOffset":false,"isSlot":false,"src":"118590:2:21","valueSize":1}],"id":30732,"nodeType":"InlineAssembly","src":"118219:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"118628:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"118634:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30733,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"118612:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"118612:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30737,"nodeType":"ExpressionStatement","src":"118612:27:21"},{"AST":{"nativeSrc":"118701:156:21","nodeType":"YulBlock","src":"118701:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"118722:4:21","nodeType":"YulLiteral","src":"118722:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"118728:2:21","nodeType":"YulIdentifier","src":"118728:2:21"}],"functionName":{"name":"mstore","nativeSrc":"118715:6:21","nodeType":"YulIdentifier","src":"118715:6:21"},"nativeSrc":"118715:16:21","nodeType":"YulFunctionCall","src":"118715:16:21"},"nativeSrc":"118715:16:21","nodeType":"YulExpressionStatement","src":"118715:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118751:4:21","nodeType":"YulLiteral","src":"118751:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"118757:2:21","nodeType":"YulIdentifier","src":"118757:2:21"}],"functionName":{"name":"mstore","nativeSrc":"118744:6:21","nodeType":"YulIdentifier","src":"118744:6:21"},"nativeSrc":"118744:16:21","nodeType":"YulFunctionCall","src":"118744:16:21"},"nativeSrc":"118744:16:21","nodeType":"YulExpressionStatement","src":"118744:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118780:4:21","nodeType":"YulLiteral","src":"118780:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"118786:2:21","nodeType":"YulIdentifier","src":"118786:2:21"}],"functionName":{"name":"mstore","nativeSrc":"118773:6:21","nodeType":"YulIdentifier","src":"118773:6:21"},"nativeSrc":"118773:16:21","nodeType":"YulFunctionCall","src":"118773:16:21"},"nativeSrc":"118773:16:21","nodeType":"YulExpressionStatement","src":"118773:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118809:4:21","nodeType":"YulLiteral","src":"118809:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"118815:2:21","nodeType":"YulIdentifier","src":"118815:2:21"}],"functionName":{"name":"mstore","nativeSrc":"118802:6:21","nodeType":"YulIdentifier","src":"118802:6:21"},"nativeSrc":"118802:16:21","nodeType":"YulFunctionCall","src":"118802:16:21"},"nativeSrc":"118802:16:21","nodeType":"YulExpressionStatement","src":"118802:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118838:4:21","nodeType":"YulLiteral","src":"118838:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"118844:2:21","nodeType":"YulIdentifier","src":"118844:2:21"}],"functionName":{"name":"mstore","nativeSrc":"118831:6:21","nodeType":"YulIdentifier","src":"118831:6:21"},"nativeSrc":"118831:16:21","nodeType":"YulFunctionCall","src":"118831:16:21"},"nativeSrc":"118831:16:21","nodeType":"YulExpressionStatement","src":"118831:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30718,"isOffset":false,"isSlot":false,"src":"118728:2:21","valueSize":1},{"declaration":30721,"isOffset":false,"isSlot":false,"src":"118757:2:21","valueSize":1},{"declaration":30724,"isOffset":false,"isSlot":false,"src":"118786:2:21","valueSize":1},{"declaration":30727,"isOffset":false,"isSlot":false,"src":"118815:2:21","valueSize":1},{"declaration":30730,"isOffset":false,"isSlot":false,"src":"118844:2:21","valueSize":1}],"id":30738,"nodeType":"InlineAssembly","src":"118692:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"118006:3:21","parameters":{"id":30715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30708,"mutability":"mutable","name":"p0","nameLocation":"118018:2:21","nodeType":"VariableDeclaration","scope":30740,"src":"118010:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30707,"name":"address","nodeType":"ElementaryTypeName","src":"118010:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30710,"mutability":"mutable","name":"p1","nameLocation":"118027:2:21","nodeType":"VariableDeclaration","scope":30740,"src":"118022:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30709,"name":"bool","nodeType":"ElementaryTypeName","src":"118022:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30712,"mutability":"mutable","name":"p2","nameLocation":"118039:2:21","nodeType":"VariableDeclaration","scope":30740,"src":"118031:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30711,"name":"uint256","nodeType":"ElementaryTypeName","src":"118031:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30714,"mutability":"mutable","name":"p3","nameLocation":"118048:2:21","nodeType":"VariableDeclaration","scope":30740,"src":"118043:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30713,"name":"bool","nodeType":"ElementaryTypeName","src":"118043:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"118009:42:21"},"returnParameters":{"id":30716,"nodeType":"ParameterList","parameters":[],"src":"118066:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30774,"nodeType":"FunctionDefinition","src":"118869:872:21","nodes":[],"body":{"id":30773,"nodeType":"Block","src":"118941:800:21","nodes":[],"statements":[{"assignments":[30752],"declarations":[{"constant":false,"id":30752,"mutability":"mutable","name":"m0","nameLocation":"118959:2:21","nodeType":"VariableDeclaration","scope":30773,"src":"118951:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118951:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30753,"nodeType":"VariableDeclarationStatement","src":"118951:10:21"},{"assignments":[30755],"declarations":[{"constant":false,"id":30755,"mutability":"mutable","name":"m1","nameLocation":"118979:2:21","nodeType":"VariableDeclaration","scope":30773,"src":"118971:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118971:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30756,"nodeType":"VariableDeclarationStatement","src":"118971:10:21"},{"assignments":[30758],"declarations":[{"constant":false,"id":30758,"mutability":"mutable","name":"m2","nameLocation":"118999:2:21","nodeType":"VariableDeclaration","scope":30773,"src":"118991:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30757,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118991:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30759,"nodeType":"VariableDeclarationStatement","src":"118991:10:21"},{"assignments":[30761],"declarations":[{"constant":false,"id":30761,"mutability":"mutable","name":"m3","nameLocation":"119019:2:21","nodeType":"VariableDeclaration","scope":30773,"src":"119011:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119011:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30762,"nodeType":"VariableDeclarationStatement","src":"119011:10:21"},{"assignments":[30764],"declarations":[{"constant":false,"id":30764,"mutability":"mutable","name":"m4","nameLocation":"119039:2:21","nodeType":"VariableDeclaration","scope":30773,"src":"119031:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119031:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30765,"nodeType":"VariableDeclarationStatement","src":"119031:10:21"},{"AST":{"nativeSrc":"119103:378:21","nodeType":"YulBlock","src":"119103:378:21","statements":[{"nativeSrc":"119117:17:21","nodeType":"YulAssignment","src":"119117:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"119129:4:21","nodeType":"YulLiteral","src":"119129:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"119123:5:21","nodeType":"YulIdentifier","src":"119123:5:21"},"nativeSrc":"119123:11:21","nodeType":"YulFunctionCall","src":"119123:11:21"},"variableNames":[{"name":"m0","nativeSrc":"119117:2:21","nodeType":"YulIdentifier","src":"119117:2:21"}]},{"nativeSrc":"119147:17:21","nodeType":"YulAssignment","src":"119147:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"119159:4:21","nodeType":"YulLiteral","src":"119159:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"119153:5:21","nodeType":"YulIdentifier","src":"119153:5:21"},"nativeSrc":"119153:11:21","nodeType":"YulFunctionCall","src":"119153:11:21"},"variableNames":[{"name":"m1","nativeSrc":"119147:2:21","nodeType":"YulIdentifier","src":"119147:2:21"}]},{"nativeSrc":"119177:17:21","nodeType":"YulAssignment","src":"119177:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"119189:4:21","nodeType":"YulLiteral","src":"119189:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"119183:5:21","nodeType":"YulIdentifier","src":"119183:5:21"},"nativeSrc":"119183:11:21","nodeType":"YulFunctionCall","src":"119183:11:21"},"variableNames":[{"name":"m2","nativeSrc":"119177:2:21","nodeType":"YulIdentifier","src":"119177:2:21"}]},{"nativeSrc":"119207:17:21","nodeType":"YulAssignment","src":"119207:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"119219:4:21","nodeType":"YulLiteral","src":"119219:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"119213:5:21","nodeType":"YulIdentifier","src":"119213:5:21"},"nativeSrc":"119213:11:21","nodeType":"YulFunctionCall","src":"119213:11:21"},"variableNames":[{"name":"m3","nativeSrc":"119207:2:21","nodeType":"YulIdentifier","src":"119207:2:21"}]},{"nativeSrc":"119237:17:21","nodeType":"YulAssignment","src":"119237:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"119249:4:21","nodeType":"YulLiteral","src":"119249:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"119243:5:21","nodeType":"YulIdentifier","src":"119243:5:21"},"nativeSrc":"119243:11:21","nodeType":"YulFunctionCall","src":"119243:11:21"},"variableNames":[{"name":"m4","nativeSrc":"119237:2:21","nodeType":"YulIdentifier","src":"119237:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119338:4:21","nodeType":"YulLiteral","src":"119338:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"119344:10:21","nodeType":"YulLiteral","src":"119344:10:21","type":"","value":"0x386ff5f4"}],"functionName":{"name":"mstore","nativeSrc":"119331:6:21","nodeType":"YulIdentifier","src":"119331:6:21"},"nativeSrc":"119331:24:21","nodeType":"YulFunctionCall","src":"119331:24:21"},"nativeSrc":"119331:24:21","nodeType":"YulExpressionStatement","src":"119331:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119375:4:21","nodeType":"YulLiteral","src":"119375:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"119381:2:21","nodeType":"YulIdentifier","src":"119381:2:21"}],"functionName":{"name":"mstore","nativeSrc":"119368:6:21","nodeType":"YulIdentifier","src":"119368:6:21"},"nativeSrc":"119368:16:21","nodeType":"YulFunctionCall","src":"119368:16:21"},"nativeSrc":"119368:16:21","nodeType":"YulExpressionStatement","src":"119368:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119404:4:21","nodeType":"YulLiteral","src":"119404:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"119410:2:21","nodeType":"YulIdentifier","src":"119410:2:21"}],"functionName":{"name":"mstore","nativeSrc":"119397:6:21","nodeType":"YulIdentifier","src":"119397:6:21"},"nativeSrc":"119397:16:21","nodeType":"YulFunctionCall","src":"119397:16:21"},"nativeSrc":"119397:16:21","nodeType":"YulExpressionStatement","src":"119397:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119433:4:21","nodeType":"YulLiteral","src":"119433:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"119439:2:21","nodeType":"YulIdentifier","src":"119439:2:21"}],"functionName":{"name":"mstore","nativeSrc":"119426:6:21","nodeType":"YulIdentifier","src":"119426:6:21"},"nativeSrc":"119426:16:21","nodeType":"YulFunctionCall","src":"119426:16:21"},"nativeSrc":"119426:16:21","nodeType":"YulExpressionStatement","src":"119426:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119462:4:21","nodeType":"YulLiteral","src":"119462:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"119468:2:21","nodeType":"YulIdentifier","src":"119468:2:21"}],"functionName":{"name":"mstore","nativeSrc":"119455:6:21","nodeType":"YulIdentifier","src":"119455:6:21"},"nativeSrc":"119455:16:21","nodeType":"YulFunctionCall","src":"119455:16:21"},"nativeSrc":"119455:16:21","nodeType":"YulExpressionStatement","src":"119455:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30752,"isOffset":false,"isSlot":false,"src":"119117:2:21","valueSize":1},{"declaration":30755,"isOffset":false,"isSlot":false,"src":"119147:2:21","valueSize":1},{"declaration":30758,"isOffset":false,"isSlot":false,"src":"119177:2:21","valueSize":1},{"declaration":30761,"isOffset":false,"isSlot":false,"src":"119207:2:21","valueSize":1},{"declaration":30764,"isOffset":false,"isSlot":false,"src":"119237:2:21","valueSize":1},{"declaration":30742,"isOffset":false,"isSlot":false,"src":"119381:2:21","valueSize":1},{"declaration":30744,"isOffset":false,"isSlot":false,"src":"119410:2:21","valueSize":1},{"declaration":30746,"isOffset":false,"isSlot":false,"src":"119439:2:21","valueSize":1},{"declaration":30748,"isOffset":false,"isSlot":false,"src":"119468:2:21","valueSize":1}],"id":30766,"nodeType":"InlineAssembly","src":"119094:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"119506:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"119512:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30767,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"119490:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"119490:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30771,"nodeType":"ExpressionStatement","src":"119490:27:21"},{"AST":{"nativeSrc":"119579:156:21","nodeType":"YulBlock","src":"119579:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"119600:4:21","nodeType":"YulLiteral","src":"119600:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"119606:2:21","nodeType":"YulIdentifier","src":"119606:2:21"}],"functionName":{"name":"mstore","nativeSrc":"119593:6:21","nodeType":"YulIdentifier","src":"119593:6:21"},"nativeSrc":"119593:16:21","nodeType":"YulFunctionCall","src":"119593:16:21"},"nativeSrc":"119593:16:21","nodeType":"YulExpressionStatement","src":"119593:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119629:4:21","nodeType":"YulLiteral","src":"119629:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"119635:2:21","nodeType":"YulIdentifier","src":"119635:2:21"}],"functionName":{"name":"mstore","nativeSrc":"119622:6:21","nodeType":"YulIdentifier","src":"119622:6:21"},"nativeSrc":"119622:16:21","nodeType":"YulFunctionCall","src":"119622:16:21"},"nativeSrc":"119622:16:21","nodeType":"YulExpressionStatement","src":"119622:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119658:4:21","nodeType":"YulLiteral","src":"119658:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"119664:2:21","nodeType":"YulIdentifier","src":"119664:2:21"}],"functionName":{"name":"mstore","nativeSrc":"119651:6:21","nodeType":"YulIdentifier","src":"119651:6:21"},"nativeSrc":"119651:16:21","nodeType":"YulFunctionCall","src":"119651:16:21"},"nativeSrc":"119651:16:21","nodeType":"YulExpressionStatement","src":"119651:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119687:4:21","nodeType":"YulLiteral","src":"119687:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"119693:2:21","nodeType":"YulIdentifier","src":"119693:2:21"}],"functionName":{"name":"mstore","nativeSrc":"119680:6:21","nodeType":"YulIdentifier","src":"119680:6:21"},"nativeSrc":"119680:16:21","nodeType":"YulFunctionCall","src":"119680:16:21"},"nativeSrc":"119680:16:21","nodeType":"YulExpressionStatement","src":"119680:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119716:4:21","nodeType":"YulLiteral","src":"119716:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"119722:2:21","nodeType":"YulIdentifier","src":"119722:2:21"}],"functionName":{"name":"mstore","nativeSrc":"119709:6:21","nodeType":"YulIdentifier","src":"119709:6:21"},"nativeSrc":"119709:16:21","nodeType":"YulFunctionCall","src":"119709:16:21"},"nativeSrc":"119709:16:21","nodeType":"YulExpressionStatement","src":"119709:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30752,"isOffset":false,"isSlot":false,"src":"119606:2:21","valueSize":1},{"declaration":30755,"isOffset":false,"isSlot":false,"src":"119635:2:21","valueSize":1},{"declaration":30758,"isOffset":false,"isSlot":false,"src":"119664:2:21","valueSize":1},{"declaration":30761,"isOffset":false,"isSlot":false,"src":"119693:2:21","valueSize":1},{"declaration":30764,"isOffset":false,"isSlot":false,"src":"119722:2:21","valueSize":1}],"id":30772,"nodeType":"InlineAssembly","src":"119570:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"118878:3:21","parameters":{"id":30749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30742,"mutability":"mutable","name":"p0","nameLocation":"118890:2:21","nodeType":"VariableDeclaration","scope":30774,"src":"118882:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30741,"name":"address","nodeType":"ElementaryTypeName","src":"118882:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30744,"mutability":"mutable","name":"p1","nameLocation":"118899:2:21","nodeType":"VariableDeclaration","scope":30774,"src":"118894:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30743,"name":"bool","nodeType":"ElementaryTypeName","src":"118894:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30746,"mutability":"mutable","name":"p2","nameLocation":"118911:2:21","nodeType":"VariableDeclaration","scope":30774,"src":"118903:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30745,"name":"uint256","nodeType":"ElementaryTypeName","src":"118903:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30748,"mutability":"mutable","name":"p3","nameLocation":"118923:2:21","nodeType":"VariableDeclaration","scope":30774,"src":"118915:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30747,"name":"uint256","nodeType":"ElementaryTypeName","src":"118915:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"118881:45:21"},"returnParameters":{"id":30750,"nodeType":"ParameterList","parameters":[],"src":"118941:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30814,"nodeType":"FunctionDefinition","src":"119747:1420:21","nodes":[],"body":{"id":30813,"nodeType":"Block","src":"119819:1348:21","nodes":[],"statements":[{"assignments":[30786],"declarations":[{"constant":false,"id":30786,"mutability":"mutable","name":"m0","nameLocation":"119837:2:21","nodeType":"VariableDeclaration","scope":30813,"src":"119829:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119829:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30787,"nodeType":"VariableDeclarationStatement","src":"119829:10:21"},{"assignments":[30789],"declarations":[{"constant":false,"id":30789,"mutability":"mutable","name":"m1","nameLocation":"119857:2:21","nodeType":"VariableDeclaration","scope":30813,"src":"119849:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119849:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30790,"nodeType":"VariableDeclarationStatement","src":"119849:10:21"},{"assignments":[30792],"declarations":[{"constant":false,"id":30792,"mutability":"mutable","name":"m2","nameLocation":"119877:2:21","nodeType":"VariableDeclaration","scope":30813,"src":"119869:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30791,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119869:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30793,"nodeType":"VariableDeclarationStatement","src":"119869:10:21"},{"assignments":[30795],"declarations":[{"constant":false,"id":30795,"mutability":"mutable","name":"m3","nameLocation":"119897:2:21","nodeType":"VariableDeclaration","scope":30813,"src":"119889:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30794,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119889:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30796,"nodeType":"VariableDeclarationStatement","src":"119889:10:21"},{"assignments":[30798],"declarations":[{"constant":false,"id":30798,"mutability":"mutable","name":"m4","nameLocation":"119917:2:21","nodeType":"VariableDeclaration","scope":30813,"src":"119909:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119909:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30799,"nodeType":"VariableDeclarationStatement","src":"119909:10:21"},{"assignments":[30801],"declarations":[{"constant":false,"id":30801,"mutability":"mutable","name":"m5","nameLocation":"119937:2:21","nodeType":"VariableDeclaration","scope":30813,"src":"119929:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119929:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30802,"nodeType":"VariableDeclarationStatement","src":"119929:10:21"},{"assignments":[30804],"declarations":[{"constant":false,"id":30804,"mutability":"mutable","name":"m6","nameLocation":"119957:2:21","nodeType":"VariableDeclaration","scope":30813,"src":"119949:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119949:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30805,"nodeType":"VariableDeclarationStatement","src":"119949:10:21"},{"AST":{"nativeSrc":"120021:828:21","nodeType":"YulBlock","src":"120021:828:21","statements":[{"body":{"nativeSrc":"120064:313:21","nodeType":"YulBlock","src":"120064:313:21","statements":[{"nativeSrc":"120082:15:21","nodeType":"YulVariableDeclaration","src":"120082:15:21","value":{"kind":"number","nativeSrc":"120096:1:21","nodeType":"YulLiteral","src":"120096:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"120086:6:21","nodeType":"YulTypedName","src":"120086:6:21","type":""}]},{"body":{"nativeSrc":"120167:40:21","nodeType":"YulBlock","src":"120167:40:21","statements":[{"body":{"nativeSrc":"120196:9:21","nodeType":"YulBlock","src":"120196:9:21","statements":[{"nativeSrc":"120198:5:21","nodeType":"YulBreak","src":"120198:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"120184:6:21","nodeType":"YulIdentifier","src":"120184:6:21"},{"name":"w","nativeSrc":"120192:1:21","nodeType":"YulIdentifier","src":"120192:1:21"}],"functionName":{"name":"byte","nativeSrc":"120179:4:21","nodeType":"YulIdentifier","src":"120179:4:21"},"nativeSrc":"120179:15:21","nodeType":"YulFunctionCall","src":"120179:15:21"}],"functionName":{"name":"iszero","nativeSrc":"120172:6:21","nodeType":"YulIdentifier","src":"120172:6:21"},"nativeSrc":"120172:23:21","nodeType":"YulFunctionCall","src":"120172:23:21"},"nativeSrc":"120169:36:21","nodeType":"YulIf","src":"120169:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"120124:6:21","nodeType":"YulIdentifier","src":"120124:6:21"},{"kind":"number","nativeSrc":"120132:4:21","nodeType":"YulLiteral","src":"120132:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"120121:2:21","nodeType":"YulIdentifier","src":"120121:2:21"},"nativeSrc":"120121:16:21","nodeType":"YulFunctionCall","src":"120121:16:21"},"nativeSrc":"120114:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"120138:28:21","nodeType":"YulBlock","src":"120138:28:21","statements":[{"nativeSrc":"120140:24:21","nodeType":"YulAssignment","src":"120140:24:21","value":{"arguments":[{"name":"length","nativeSrc":"120154:6:21","nodeType":"YulIdentifier","src":"120154:6:21"},{"kind":"number","nativeSrc":"120162:1:21","nodeType":"YulLiteral","src":"120162:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"120150:3:21","nodeType":"YulIdentifier","src":"120150:3:21"},"nativeSrc":"120150:14:21","nodeType":"YulFunctionCall","src":"120150:14:21"},"variableNames":[{"name":"length","nativeSrc":"120140:6:21","nodeType":"YulIdentifier","src":"120140:6:21"}]}]},"pre":{"nativeSrc":"120118:2:21","nodeType":"YulBlock","src":"120118:2:21","statements":[]},"src":"120114:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"120231:3:21","nodeType":"YulIdentifier","src":"120231:3:21"},{"name":"length","nativeSrc":"120236:6:21","nodeType":"YulIdentifier","src":"120236:6:21"}],"functionName":{"name":"mstore","nativeSrc":"120224:6:21","nodeType":"YulIdentifier","src":"120224:6:21"},"nativeSrc":"120224:19:21","nodeType":"YulFunctionCall","src":"120224:19:21"},"nativeSrc":"120224:19:21","nodeType":"YulExpressionStatement","src":"120224:19:21"},{"nativeSrc":"120260:37:21","nodeType":"YulVariableDeclaration","src":"120260:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"120277:3:21","nodeType":"YulLiteral","src":"120277:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"120286:1:21","nodeType":"YulLiteral","src":"120286:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"120289:6:21","nodeType":"YulIdentifier","src":"120289:6:21"}],"functionName":{"name":"shl","nativeSrc":"120282:3:21","nodeType":"YulIdentifier","src":"120282:3:21"},"nativeSrc":"120282:14:21","nodeType":"YulFunctionCall","src":"120282:14:21"}],"functionName":{"name":"sub","nativeSrc":"120273:3:21","nodeType":"YulIdentifier","src":"120273:3:21"},"nativeSrc":"120273:24:21","nodeType":"YulFunctionCall","src":"120273:24:21"},"variables":[{"name":"shift","nativeSrc":"120264:5:21","nodeType":"YulTypedName","src":"120264:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"120325:3:21","nodeType":"YulIdentifier","src":"120325:3:21"},{"kind":"number","nativeSrc":"120330:4:21","nodeType":"YulLiteral","src":"120330:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"120321:3:21","nodeType":"YulIdentifier","src":"120321:3:21"},"nativeSrc":"120321:14:21","nodeType":"YulFunctionCall","src":"120321:14:21"},{"arguments":[{"name":"shift","nativeSrc":"120341:5:21","nodeType":"YulIdentifier","src":"120341:5:21"},{"arguments":[{"name":"shift","nativeSrc":"120352:5:21","nodeType":"YulIdentifier","src":"120352:5:21"},{"name":"w","nativeSrc":"120359:1:21","nodeType":"YulIdentifier","src":"120359:1:21"}],"functionName":{"name":"shr","nativeSrc":"120348:3:21","nodeType":"YulIdentifier","src":"120348:3:21"},"nativeSrc":"120348:13:21","nodeType":"YulFunctionCall","src":"120348:13:21"}],"functionName":{"name":"shl","nativeSrc":"120337:3:21","nodeType":"YulIdentifier","src":"120337:3:21"},"nativeSrc":"120337:25:21","nodeType":"YulFunctionCall","src":"120337:25:21"}],"functionName":{"name":"mstore","nativeSrc":"120314:6:21","nodeType":"YulIdentifier","src":"120314:6:21"},"nativeSrc":"120314:49:21","nodeType":"YulFunctionCall","src":"120314:49:21"},"nativeSrc":"120314:49:21","nodeType":"YulExpressionStatement","src":"120314:49:21"}]},"name":"writeString","nativeSrc":"120035:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"120056:3:21","nodeType":"YulTypedName","src":"120056:3:21","type":""},{"name":"w","nativeSrc":"120061:1:21","nodeType":"YulTypedName","src":"120061:1:21","type":""}],"src":"120035:342:21"},{"nativeSrc":"120390:17:21","nodeType":"YulAssignment","src":"120390:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"120402:4:21","nodeType":"YulLiteral","src":"120402:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"120396:5:21","nodeType":"YulIdentifier","src":"120396:5:21"},"nativeSrc":"120396:11:21","nodeType":"YulFunctionCall","src":"120396:11:21"},"variableNames":[{"name":"m0","nativeSrc":"120390:2:21","nodeType":"YulIdentifier","src":"120390:2:21"}]},{"nativeSrc":"120420:17:21","nodeType":"YulAssignment","src":"120420:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"120432:4:21","nodeType":"YulLiteral","src":"120432:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"120426:5:21","nodeType":"YulIdentifier","src":"120426:5:21"},"nativeSrc":"120426:11:21","nodeType":"YulFunctionCall","src":"120426:11:21"},"variableNames":[{"name":"m1","nativeSrc":"120420:2:21","nodeType":"YulIdentifier","src":"120420:2:21"}]},{"nativeSrc":"120450:17:21","nodeType":"YulAssignment","src":"120450:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"120462:4:21","nodeType":"YulLiteral","src":"120462:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"120456:5:21","nodeType":"YulIdentifier","src":"120456:5:21"},"nativeSrc":"120456:11:21","nodeType":"YulFunctionCall","src":"120456:11:21"},"variableNames":[{"name":"m2","nativeSrc":"120450:2:21","nodeType":"YulIdentifier","src":"120450:2:21"}]},{"nativeSrc":"120480:17:21","nodeType":"YulAssignment","src":"120480:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"120492:4:21","nodeType":"YulLiteral","src":"120492:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"120486:5:21","nodeType":"YulIdentifier","src":"120486:5:21"},"nativeSrc":"120486:11:21","nodeType":"YulFunctionCall","src":"120486:11:21"},"variableNames":[{"name":"m3","nativeSrc":"120480:2:21","nodeType":"YulIdentifier","src":"120480:2:21"}]},{"nativeSrc":"120510:17:21","nodeType":"YulAssignment","src":"120510:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"120522:4:21","nodeType":"YulLiteral","src":"120522:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"120516:5:21","nodeType":"YulIdentifier","src":"120516:5:21"},"nativeSrc":"120516:11:21","nodeType":"YulFunctionCall","src":"120516:11:21"},"variableNames":[{"name":"m4","nativeSrc":"120510:2:21","nodeType":"YulIdentifier","src":"120510:2:21"}]},{"nativeSrc":"120540:17:21","nodeType":"YulAssignment","src":"120540:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"120552:4:21","nodeType":"YulLiteral","src":"120552:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"120546:5:21","nodeType":"YulIdentifier","src":"120546:5:21"},"nativeSrc":"120546:11:21","nodeType":"YulFunctionCall","src":"120546:11:21"},"variableNames":[{"name":"m5","nativeSrc":"120540:2:21","nodeType":"YulIdentifier","src":"120540:2:21"}]},{"nativeSrc":"120570:17:21","nodeType":"YulAssignment","src":"120570:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"120582:4:21","nodeType":"YulLiteral","src":"120582:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"120576:5:21","nodeType":"YulIdentifier","src":"120576:5:21"},"nativeSrc":"120576:11:21","nodeType":"YulFunctionCall","src":"120576:11:21"},"variableNames":[{"name":"m6","nativeSrc":"120570:2:21","nodeType":"YulIdentifier","src":"120570:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120670:4:21","nodeType":"YulLiteral","src":"120670:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"120676:10:21","nodeType":"YulLiteral","src":"120676:10:21","type":"","value":"0x0aa6cfad"}],"functionName":{"name":"mstore","nativeSrc":"120663:6:21","nodeType":"YulIdentifier","src":"120663:6:21"},"nativeSrc":"120663:24:21","nodeType":"YulFunctionCall","src":"120663:24:21"},"nativeSrc":"120663:24:21","nodeType":"YulExpressionStatement","src":"120663:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120707:4:21","nodeType":"YulLiteral","src":"120707:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"120713:2:21","nodeType":"YulIdentifier","src":"120713:2:21"}],"functionName":{"name":"mstore","nativeSrc":"120700:6:21","nodeType":"YulIdentifier","src":"120700:6:21"},"nativeSrc":"120700:16:21","nodeType":"YulFunctionCall","src":"120700:16:21"},"nativeSrc":"120700:16:21","nodeType":"YulExpressionStatement","src":"120700:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120736:4:21","nodeType":"YulLiteral","src":"120736:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"120742:2:21","nodeType":"YulIdentifier","src":"120742:2:21"}],"functionName":{"name":"mstore","nativeSrc":"120729:6:21","nodeType":"YulIdentifier","src":"120729:6:21"},"nativeSrc":"120729:16:21","nodeType":"YulFunctionCall","src":"120729:16:21"},"nativeSrc":"120729:16:21","nodeType":"YulExpressionStatement","src":"120729:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120765:4:21","nodeType":"YulLiteral","src":"120765:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"120771:2:21","nodeType":"YulIdentifier","src":"120771:2:21"}],"functionName":{"name":"mstore","nativeSrc":"120758:6:21","nodeType":"YulIdentifier","src":"120758:6:21"},"nativeSrc":"120758:16:21","nodeType":"YulFunctionCall","src":"120758:16:21"},"nativeSrc":"120758:16:21","nodeType":"YulExpressionStatement","src":"120758:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120794:4:21","nodeType":"YulLiteral","src":"120794:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"120800:4:21","nodeType":"YulLiteral","src":"120800:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"120787:6:21","nodeType":"YulIdentifier","src":"120787:6:21"},"nativeSrc":"120787:18:21","nodeType":"YulFunctionCall","src":"120787:18:21"},"nativeSrc":"120787:18:21","nodeType":"YulExpressionStatement","src":"120787:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120830:4:21","nodeType":"YulLiteral","src":"120830:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"120836:2:21","nodeType":"YulIdentifier","src":"120836:2:21"}],"functionName":{"name":"writeString","nativeSrc":"120818:11:21","nodeType":"YulIdentifier","src":"120818:11:21"},"nativeSrc":"120818:21:21","nodeType":"YulFunctionCall","src":"120818:21:21"},"nativeSrc":"120818:21:21","nodeType":"YulExpressionStatement","src":"120818:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30786,"isOffset":false,"isSlot":false,"src":"120390:2:21","valueSize":1},{"declaration":30789,"isOffset":false,"isSlot":false,"src":"120420:2:21","valueSize":1},{"declaration":30792,"isOffset":false,"isSlot":false,"src":"120450:2:21","valueSize":1},{"declaration":30795,"isOffset":false,"isSlot":false,"src":"120480:2:21","valueSize":1},{"declaration":30798,"isOffset":false,"isSlot":false,"src":"120510:2:21","valueSize":1},{"declaration":30801,"isOffset":false,"isSlot":false,"src":"120540:2:21","valueSize":1},{"declaration":30804,"isOffset":false,"isSlot":false,"src":"120570:2:21","valueSize":1},{"declaration":30776,"isOffset":false,"isSlot":false,"src":"120713:2:21","valueSize":1},{"declaration":30778,"isOffset":false,"isSlot":false,"src":"120742:2:21","valueSize":1},{"declaration":30780,"isOffset":false,"isSlot":false,"src":"120771:2:21","valueSize":1},{"declaration":30782,"isOffset":false,"isSlot":false,"src":"120836:2:21","valueSize":1}],"id":30806,"nodeType":"InlineAssembly","src":"120012:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"120874:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"120880:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30807,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"120858:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"120858:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30811,"nodeType":"ExpressionStatement","src":"120858:27:21"},{"AST":{"nativeSrc":"120947:214:21","nodeType":"YulBlock","src":"120947:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"120968:4:21","nodeType":"YulLiteral","src":"120968:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"120974:2:21","nodeType":"YulIdentifier","src":"120974:2:21"}],"functionName":{"name":"mstore","nativeSrc":"120961:6:21","nodeType":"YulIdentifier","src":"120961:6:21"},"nativeSrc":"120961:16:21","nodeType":"YulFunctionCall","src":"120961:16:21"},"nativeSrc":"120961:16:21","nodeType":"YulExpressionStatement","src":"120961:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120997:4:21","nodeType":"YulLiteral","src":"120997:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"121003:2:21","nodeType":"YulIdentifier","src":"121003:2:21"}],"functionName":{"name":"mstore","nativeSrc":"120990:6:21","nodeType":"YulIdentifier","src":"120990:6:21"},"nativeSrc":"120990:16:21","nodeType":"YulFunctionCall","src":"120990:16:21"},"nativeSrc":"120990:16:21","nodeType":"YulExpressionStatement","src":"120990:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121026:4:21","nodeType":"YulLiteral","src":"121026:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"121032:2:21","nodeType":"YulIdentifier","src":"121032:2:21"}],"functionName":{"name":"mstore","nativeSrc":"121019:6:21","nodeType":"YulIdentifier","src":"121019:6:21"},"nativeSrc":"121019:16:21","nodeType":"YulFunctionCall","src":"121019:16:21"},"nativeSrc":"121019:16:21","nodeType":"YulExpressionStatement","src":"121019:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121055:4:21","nodeType":"YulLiteral","src":"121055:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"121061:2:21","nodeType":"YulIdentifier","src":"121061:2:21"}],"functionName":{"name":"mstore","nativeSrc":"121048:6:21","nodeType":"YulIdentifier","src":"121048:6:21"},"nativeSrc":"121048:16:21","nodeType":"YulFunctionCall","src":"121048:16:21"},"nativeSrc":"121048:16:21","nodeType":"YulExpressionStatement","src":"121048:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121084:4:21","nodeType":"YulLiteral","src":"121084:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"121090:2:21","nodeType":"YulIdentifier","src":"121090:2:21"}],"functionName":{"name":"mstore","nativeSrc":"121077:6:21","nodeType":"YulIdentifier","src":"121077:6:21"},"nativeSrc":"121077:16:21","nodeType":"YulFunctionCall","src":"121077:16:21"},"nativeSrc":"121077:16:21","nodeType":"YulExpressionStatement","src":"121077:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121113:4:21","nodeType":"YulLiteral","src":"121113:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"121119:2:21","nodeType":"YulIdentifier","src":"121119:2:21"}],"functionName":{"name":"mstore","nativeSrc":"121106:6:21","nodeType":"YulIdentifier","src":"121106:6:21"},"nativeSrc":"121106:16:21","nodeType":"YulFunctionCall","src":"121106:16:21"},"nativeSrc":"121106:16:21","nodeType":"YulExpressionStatement","src":"121106:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121142:4:21","nodeType":"YulLiteral","src":"121142:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"121148:2:21","nodeType":"YulIdentifier","src":"121148:2:21"}],"functionName":{"name":"mstore","nativeSrc":"121135:6:21","nodeType":"YulIdentifier","src":"121135:6:21"},"nativeSrc":"121135:16:21","nodeType":"YulFunctionCall","src":"121135:16:21"},"nativeSrc":"121135:16:21","nodeType":"YulExpressionStatement","src":"121135:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30786,"isOffset":false,"isSlot":false,"src":"120974:2:21","valueSize":1},{"declaration":30789,"isOffset":false,"isSlot":false,"src":"121003:2:21","valueSize":1},{"declaration":30792,"isOffset":false,"isSlot":false,"src":"121032:2:21","valueSize":1},{"declaration":30795,"isOffset":false,"isSlot":false,"src":"121061:2:21","valueSize":1},{"declaration":30798,"isOffset":false,"isSlot":false,"src":"121090:2:21","valueSize":1},{"declaration":30801,"isOffset":false,"isSlot":false,"src":"121119:2:21","valueSize":1},{"declaration":30804,"isOffset":false,"isSlot":false,"src":"121148:2:21","valueSize":1}],"id":30812,"nodeType":"InlineAssembly","src":"120938:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"119756:3:21","parameters":{"id":30783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30776,"mutability":"mutable","name":"p0","nameLocation":"119768:2:21","nodeType":"VariableDeclaration","scope":30814,"src":"119760:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30775,"name":"address","nodeType":"ElementaryTypeName","src":"119760:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30778,"mutability":"mutable","name":"p1","nameLocation":"119777:2:21","nodeType":"VariableDeclaration","scope":30814,"src":"119772:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30777,"name":"bool","nodeType":"ElementaryTypeName","src":"119772:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30780,"mutability":"mutable","name":"p2","nameLocation":"119789:2:21","nodeType":"VariableDeclaration","scope":30814,"src":"119781:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30779,"name":"uint256","nodeType":"ElementaryTypeName","src":"119781:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30782,"mutability":"mutable","name":"p3","nameLocation":"119801:2:21","nodeType":"VariableDeclaration","scope":30814,"src":"119793:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119793:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"119759:45:21"},"returnParameters":{"id":30784,"nodeType":"ParameterList","parameters":[],"src":"119819:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30854,"nodeType":"FunctionDefinition","src":"121173:1420:21","nodes":[],"body":{"id":30853,"nodeType":"Block","src":"121245:1348:21","nodes":[],"statements":[{"assignments":[30826],"declarations":[{"constant":false,"id":30826,"mutability":"mutable","name":"m0","nameLocation":"121263:2:21","nodeType":"VariableDeclaration","scope":30853,"src":"121255:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121255:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30827,"nodeType":"VariableDeclarationStatement","src":"121255:10:21"},{"assignments":[30829],"declarations":[{"constant":false,"id":30829,"mutability":"mutable","name":"m1","nameLocation":"121283:2:21","nodeType":"VariableDeclaration","scope":30853,"src":"121275:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121275:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30830,"nodeType":"VariableDeclarationStatement","src":"121275:10:21"},{"assignments":[30832],"declarations":[{"constant":false,"id":30832,"mutability":"mutable","name":"m2","nameLocation":"121303:2:21","nodeType":"VariableDeclaration","scope":30853,"src":"121295:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121295:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30833,"nodeType":"VariableDeclarationStatement","src":"121295:10:21"},{"assignments":[30835],"declarations":[{"constant":false,"id":30835,"mutability":"mutable","name":"m3","nameLocation":"121323:2:21","nodeType":"VariableDeclaration","scope":30853,"src":"121315:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121315:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30836,"nodeType":"VariableDeclarationStatement","src":"121315:10:21"},{"assignments":[30838],"declarations":[{"constant":false,"id":30838,"mutability":"mutable","name":"m4","nameLocation":"121343:2:21","nodeType":"VariableDeclaration","scope":30853,"src":"121335:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121335:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30839,"nodeType":"VariableDeclarationStatement","src":"121335:10:21"},{"assignments":[30841],"declarations":[{"constant":false,"id":30841,"mutability":"mutable","name":"m5","nameLocation":"121363:2:21","nodeType":"VariableDeclaration","scope":30853,"src":"121355:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121355:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30842,"nodeType":"VariableDeclarationStatement","src":"121355:10:21"},{"assignments":[30844],"declarations":[{"constant":false,"id":30844,"mutability":"mutable","name":"m6","nameLocation":"121383:2:21","nodeType":"VariableDeclaration","scope":30853,"src":"121375:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121375:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30845,"nodeType":"VariableDeclarationStatement","src":"121375:10:21"},{"AST":{"nativeSrc":"121447:828:21","nodeType":"YulBlock","src":"121447:828:21","statements":[{"body":{"nativeSrc":"121490:313:21","nodeType":"YulBlock","src":"121490:313:21","statements":[{"nativeSrc":"121508:15:21","nodeType":"YulVariableDeclaration","src":"121508:15:21","value":{"kind":"number","nativeSrc":"121522:1:21","nodeType":"YulLiteral","src":"121522:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"121512:6:21","nodeType":"YulTypedName","src":"121512:6:21","type":""}]},{"body":{"nativeSrc":"121593:40:21","nodeType":"YulBlock","src":"121593:40:21","statements":[{"body":{"nativeSrc":"121622:9:21","nodeType":"YulBlock","src":"121622:9:21","statements":[{"nativeSrc":"121624:5:21","nodeType":"YulBreak","src":"121624:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"121610:6:21","nodeType":"YulIdentifier","src":"121610:6:21"},{"name":"w","nativeSrc":"121618:1:21","nodeType":"YulIdentifier","src":"121618:1:21"}],"functionName":{"name":"byte","nativeSrc":"121605:4:21","nodeType":"YulIdentifier","src":"121605:4:21"},"nativeSrc":"121605:15:21","nodeType":"YulFunctionCall","src":"121605:15:21"}],"functionName":{"name":"iszero","nativeSrc":"121598:6:21","nodeType":"YulIdentifier","src":"121598:6:21"},"nativeSrc":"121598:23:21","nodeType":"YulFunctionCall","src":"121598:23:21"},"nativeSrc":"121595:36:21","nodeType":"YulIf","src":"121595:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"121550:6:21","nodeType":"YulIdentifier","src":"121550:6:21"},{"kind":"number","nativeSrc":"121558:4:21","nodeType":"YulLiteral","src":"121558:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"121547:2:21","nodeType":"YulIdentifier","src":"121547:2:21"},"nativeSrc":"121547:16:21","nodeType":"YulFunctionCall","src":"121547:16:21"},"nativeSrc":"121540:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"121564:28:21","nodeType":"YulBlock","src":"121564:28:21","statements":[{"nativeSrc":"121566:24:21","nodeType":"YulAssignment","src":"121566:24:21","value":{"arguments":[{"name":"length","nativeSrc":"121580:6:21","nodeType":"YulIdentifier","src":"121580:6:21"},{"kind":"number","nativeSrc":"121588:1:21","nodeType":"YulLiteral","src":"121588:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"121576:3:21","nodeType":"YulIdentifier","src":"121576:3:21"},"nativeSrc":"121576:14:21","nodeType":"YulFunctionCall","src":"121576:14:21"},"variableNames":[{"name":"length","nativeSrc":"121566:6:21","nodeType":"YulIdentifier","src":"121566:6:21"}]}]},"pre":{"nativeSrc":"121544:2:21","nodeType":"YulBlock","src":"121544:2:21","statements":[]},"src":"121540:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"121657:3:21","nodeType":"YulIdentifier","src":"121657:3:21"},{"name":"length","nativeSrc":"121662:6:21","nodeType":"YulIdentifier","src":"121662:6:21"}],"functionName":{"name":"mstore","nativeSrc":"121650:6:21","nodeType":"YulIdentifier","src":"121650:6:21"},"nativeSrc":"121650:19:21","nodeType":"YulFunctionCall","src":"121650:19:21"},"nativeSrc":"121650:19:21","nodeType":"YulExpressionStatement","src":"121650:19:21"},{"nativeSrc":"121686:37:21","nodeType":"YulVariableDeclaration","src":"121686:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"121703:3:21","nodeType":"YulLiteral","src":"121703:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"121712:1:21","nodeType":"YulLiteral","src":"121712:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"121715:6:21","nodeType":"YulIdentifier","src":"121715:6:21"}],"functionName":{"name":"shl","nativeSrc":"121708:3:21","nodeType":"YulIdentifier","src":"121708:3:21"},"nativeSrc":"121708:14:21","nodeType":"YulFunctionCall","src":"121708:14:21"}],"functionName":{"name":"sub","nativeSrc":"121699:3:21","nodeType":"YulIdentifier","src":"121699:3:21"},"nativeSrc":"121699:24:21","nodeType":"YulFunctionCall","src":"121699:24:21"},"variables":[{"name":"shift","nativeSrc":"121690:5:21","nodeType":"YulTypedName","src":"121690:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"121751:3:21","nodeType":"YulIdentifier","src":"121751:3:21"},{"kind":"number","nativeSrc":"121756:4:21","nodeType":"YulLiteral","src":"121756:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"121747:3:21","nodeType":"YulIdentifier","src":"121747:3:21"},"nativeSrc":"121747:14:21","nodeType":"YulFunctionCall","src":"121747:14:21"},{"arguments":[{"name":"shift","nativeSrc":"121767:5:21","nodeType":"YulIdentifier","src":"121767:5:21"},{"arguments":[{"name":"shift","nativeSrc":"121778:5:21","nodeType":"YulIdentifier","src":"121778:5:21"},{"name":"w","nativeSrc":"121785:1:21","nodeType":"YulIdentifier","src":"121785:1:21"}],"functionName":{"name":"shr","nativeSrc":"121774:3:21","nodeType":"YulIdentifier","src":"121774:3:21"},"nativeSrc":"121774:13:21","nodeType":"YulFunctionCall","src":"121774:13:21"}],"functionName":{"name":"shl","nativeSrc":"121763:3:21","nodeType":"YulIdentifier","src":"121763:3:21"},"nativeSrc":"121763:25:21","nodeType":"YulFunctionCall","src":"121763:25:21"}],"functionName":{"name":"mstore","nativeSrc":"121740:6:21","nodeType":"YulIdentifier","src":"121740:6:21"},"nativeSrc":"121740:49:21","nodeType":"YulFunctionCall","src":"121740:49:21"},"nativeSrc":"121740:49:21","nodeType":"YulExpressionStatement","src":"121740:49:21"}]},"name":"writeString","nativeSrc":"121461:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"121482:3:21","nodeType":"YulTypedName","src":"121482:3:21","type":""},{"name":"w","nativeSrc":"121487:1:21","nodeType":"YulTypedName","src":"121487:1:21","type":""}],"src":"121461:342:21"},{"nativeSrc":"121816:17:21","nodeType":"YulAssignment","src":"121816:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"121828:4:21","nodeType":"YulLiteral","src":"121828:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"121822:5:21","nodeType":"YulIdentifier","src":"121822:5:21"},"nativeSrc":"121822:11:21","nodeType":"YulFunctionCall","src":"121822:11:21"},"variableNames":[{"name":"m0","nativeSrc":"121816:2:21","nodeType":"YulIdentifier","src":"121816:2:21"}]},{"nativeSrc":"121846:17:21","nodeType":"YulAssignment","src":"121846:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"121858:4:21","nodeType":"YulLiteral","src":"121858:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"121852:5:21","nodeType":"YulIdentifier","src":"121852:5:21"},"nativeSrc":"121852:11:21","nodeType":"YulFunctionCall","src":"121852:11:21"},"variableNames":[{"name":"m1","nativeSrc":"121846:2:21","nodeType":"YulIdentifier","src":"121846:2:21"}]},{"nativeSrc":"121876:17:21","nodeType":"YulAssignment","src":"121876:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"121888:4:21","nodeType":"YulLiteral","src":"121888:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"121882:5:21","nodeType":"YulIdentifier","src":"121882:5:21"},"nativeSrc":"121882:11:21","nodeType":"YulFunctionCall","src":"121882:11:21"},"variableNames":[{"name":"m2","nativeSrc":"121876:2:21","nodeType":"YulIdentifier","src":"121876:2:21"}]},{"nativeSrc":"121906:17:21","nodeType":"YulAssignment","src":"121906:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"121918:4:21","nodeType":"YulLiteral","src":"121918:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"121912:5:21","nodeType":"YulIdentifier","src":"121912:5:21"},"nativeSrc":"121912:11:21","nodeType":"YulFunctionCall","src":"121912:11:21"},"variableNames":[{"name":"m3","nativeSrc":"121906:2:21","nodeType":"YulIdentifier","src":"121906:2:21"}]},{"nativeSrc":"121936:17:21","nodeType":"YulAssignment","src":"121936:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"121948:4:21","nodeType":"YulLiteral","src":"121948:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"121942:5:21","nodeType":"YulIdentifier","src":"121942:5:21"},"nativeSrc":"121942:11:21","nodeType":"YulFunctionCall","src":"121942:11:21"},"variableNames":[{"name":"m4","nativeSrc":"121936:2:21","nodeType":"YulIdentifier","src":"121936:2:21"}]},{"nativeSrc":"121966:17:21","nodeType":"YulAssignment","src":"121966:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"121978:4:21","nodeType":"YulLiteral","src":"121978:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"121972:5:21","nodeType":"YulIdentifier","src":"121972:5:21"},"nativeSrc":"121972:11:21","nodeType":"YulFunctionCall","src":"121972:11:21"},"variableNames":[{"name":"m5","nativeSrc":"121966:2:21","nodeType":"YulIdentifier","src":"121966:2:21"}]},{"nativeSrc":"121996:17:21","nodeType":"YulAssignment","src":"121996:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"122008:4:21","nodeType":"YulLiteral","src":"122008:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"122002:5:21","nodeType":"YulIdentifier","src":"122002:5:21"},"nativeSrc":"122002:11:21","nodeType":"YulFunctionCall","src":"122002:11:21"},"variableNames":[{"name":"m6","nativeSrc":"121996:2:21","nodeType":"YulIdentifier","src":"121996:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122096:4:21","nodeType":"YulLiteral","src":"122096:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"122102:10:21","nodeType":"YulLiteral","src":"122102:10:21","type":"","value":"0x19fd4956"}],"functionName":{"name":"mstore","nativeSrc":"122089:6:21","nodeType":"YulIdentifier","src":"122089:6:21"},"nativeSrc":"122089:24:21","nodeType":"YulFunctionCall","src":"122089:24:21"},"nativeSrc":"122089:24:21","nodeType":"YulExpressionStatement","src":"122089:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122133:4:21","nodeType":"YulLiteral","src":"122133:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"122139:2:21","nodeType":"YulIdentifier","src":"122139:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122126:6:21","nodeType":"YulIdentifier","src":"122126:6:21"},"nativeSrc":"122126:16:21","nodeType":"YulFunctionCall","src":"122126:16:21"},"nativeSrc":"122126:16:21","nodeType":"YulExpressionStatement","src":"122126:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122162:4:21","nodeType":"YulLiteral","src":"122162:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"122168:2:21","nodeType":"YulIdentifier","src":"122168:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122155:6:21","nodeType":"YulIdentifier","src":"122155:6:21"},"nativeSrc":"122155:16:21","nodeType":"YulFunctionCall","src":"122155:16:21"},"nativeSrc":"122155:16:21","nodeType":"YulExpressionStatement","src":"122155:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122191:4:21","nodeType":"YulLiteral","src":"122191:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"122197:4:21","nodeType":"YulLiteral","src":"122197:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"122184:6:21","nodeType":"YulIdentifier","src":"122184:6:21"},"nativeSrc":"122184:18:21","nodeType":"YulFunctionCall","src":"122184:18:21"},"nativeSrc":"122184:18:21","nodeType":"YulExpressionStatement","src":"122184:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122222:4:21","nodeType":"YulLiteral","src":"122222:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"122228:2:21","nodeType":"YulIdentifier","src":"122228:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122215:6:21","nodeType":"YulIdentifier","src":"122215:6:21"},"nativeSrc":"122215:16:21","nodeType":"YulFunctionCall","src":"122215:16:21"},"nativeSrc":"122215:16:21","nodeType":"YulExpressionStatement","src":"122215:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122256:4:21","nodeType":"YulLiteral","src":"122256:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"122262:2:21","nodeType":"YulIdentifier","src":"122262:2:21"}],"functionName":{"name":"writeString","nativeSrc":"122244:11:21","nodeType":"YulIdentifier","src":"122244:11:21"},"nativeSrc":"122244:21:21","nodeType":"YulFunctionCall","src":"122244:21:21"},"nativeSrc":"122244:21:21","nodeType":"YulExpressionStatement","src":"122244:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30826,"isOffset":false,"isSlot":false,"src":"121816:2:21","valueSize":1},{"declaration":30829,"isOffset":false,"isSlot":false,"src":"121846:2:21","valueSize":1},{"declaration":30832,"isOffset":false,"isSlot":false,"src":"121876:2:21","valueSize":1},{"declaration":30835,"isOffset":false,"isSlot":false,"src":"121906:2:21","valueSize":1},{"declaration":30838,"isOffset":false,"isSlot":false,"src":"121936:2:21","valueSize":1},{"declaration":30841,"isOffset":false,"isSlot":false,"src":"121966:2:21","valueSize":1},{"declaration":30844,"isOffset":false,"isSlot":false,"src":"121996:2:21","valueSize":1},{"declaration":30816,"isOffset":false,"isSlot":false,"src":"122139:2:21","valueSize":1},{"declaration":30818,"isOffset":false,"isSlot":false,"src":"122168:2:21","valueSize":1},{"declaration":30820,"isOffset":false,"isSlot":false,"src":"122262:2:21","valueSize":1},{"declaration":30822,"isOffset":false,"isSlot":false,"src":"122228:2:21","valueSize":1}],"id":30846,"nodeType":"InlineAssembly","src":"121438:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"122300:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"122306:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30847,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"122284:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"122284:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30851,"nodeType":"ExpressionStatement","src":"122284:27:21"},{"AST":{"nativeSrc":"122373:214:21","nodeType":"YulBlock","src":"122373:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"122394:4:21","nodeType":"YulLiteral","src":"122394:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"122400:2:21","nodeType":"YulIdentifier","src":"122400:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122387:6:21","nodeType":"YulIdentifier","src":"122387:6:21"},"nativeSrc":"122387:16:21","nodeType":"YulFunctionCall","src":"122387:16:21"},"nativeSrc":"122387:16:21","nodeType":"YulExpressionStatement","src":"122387:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122423:4:21","nodeType":"YulLiteral","src":"122423:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"122429:2:21","nodeType":"YulIdentifier","src":"122429:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122416:6:21","nodeType":"YulIdentifier","src":"122416:6:21"},"nativeSrc":"122416:16:21","nodeType":"YulFunctionCall","src":"122416:16:21"},"nativeSrc":"122416:16:21","nodeType":"YulExpressionStatement","src":"122416:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122452:4:21","nodeType":"YulLiteral","src":"122452:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"122458:2:21","nodeType":"YulIdentifier","src":"122458:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122445:6:21","nodeType":"YulIdentifier","src":"122445:6:21"},"nativeSrc":"122445:16:21","nodeType":"YulFunctionCall","src":"122445:16:21"},"nativeSrc":"122445:16:21","nodeType":"YulExpressionStatement","src":"122445:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122481:4:21","nodeType":"YulLiteral","src":"122481:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"122487:2:21","nodeType":"YulIdentifier","src":"122487:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122474:6:21","nodeType":"YulIdentifier","src":"122474:6:21"},"nativeSrc":"122474:16:21","nodeType":"YulFunctionCall","src":"122474:16:21"},"nativeSrc":"122474:16:21","nodeType":"YulExpressionStatement","src":"122474:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122510:4:21","nodeType":"YulLiteral","src":"122510:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"122516:2:21","nodeType":"YulIdentifier","src":"122516:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122503:6:21","nodeType":"YulIdentifier","src":"122503:6:21"},"nativeSrc":"122503:16:21","nodeType":"YulFunctionCall","src":"122503:16:21"},"nativeSrc":"122503:16:21","nodeType":"YulExpressionStatement","src":"122503:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122539:4:21","nodeType":"YulLiteral","src":"122539:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"122545:2:21","nodeType":"YulIdentifier","src":"122545:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122532:6:21","nodeType":"YulIdentifier","src":"122532:6:21"},"nativeSrc":"122532:16:21","nodeType":"YulFunctionCall","src":"122532:16:21"},"nativeSrc":"122532:16:21","nodeType":"YulExpressionStatement","src":"122532:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122568:4:21","nodeType":"YulLiteral","src":"122568:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"122574:2:21","nodeType":"YulIdentifier","src":"122574:2:21"}],"functionName":{"name":"mstore","nativeSrc":"122561:6:21","nodeType":"YulIdentifier","src":"122561:6:21"},"nativeSrc":"122561:16:21","nodeType":"YulFunctionCall","src":"122561:16:21"},"nativeSrc":"122561:16:21","nodeType":"YulExpressionStatement","src":"122561:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30826,"isOffset":false,"isSlot":false,"src":"122400:2:21","valueSize":1},{"declaration":30829,"isOffset":false,"isSlot":false,"src":"122429:2:21","valueSize":1},{"declaration":30832,"isOffset":false,"isSlot":false,"src":"122458:2:21","valueSize":1},{"declaration":30835,"isOffset":false,"isSlot":false,"src":"122487:2:21","valueSize":1},{"declaration":30838,"isOffset":false,"isSlot":false,"src":"122516:2:21","valueSize":1},{"declaration":30841,"isOffset":false,"isSlot":false,"src":"122545:2:21","valueSize":1},{"declaration":30844,"isOffset":false,"isSlot":false,"src":"122574:2:21","valueSize":1}],"id":30852,"nodeType":"InlineAssembly","src":"122364:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"121182:3:21","parameters":{"id":30823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30816,"mutability":"mutable","name":"p0","nameLocation":"121194:2:21","nodeType":"VariableDeclaration","scope":30854,"src":"121186:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30815,"name":"address","nodeType":"ElementaryTypeName","src":"121186:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30818,"mutability":"mutable","name":"p1","nameLocation":"121203:2:21","nodeType":"VariableDeclaration","scope":30854,"src":"121198:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30817,"name":"bool","nodeType":"ElementaryTypeName","src":"121198:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30820,"mutability":"mutable","name":"p2","nameLocation":"121215:2:21","nodeType":"VariableDeclaration","scope":30854,"src":"121207:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121207:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30822,"mutability":"mutable","name":"p3","nameLocation":"121227:2:21","nodeType":"VariableDeclaration","scope":30854,"src":"121219:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30821,"name":"address","nodeType":"ElementaryTypeName","src":"121219:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"121185:45:21"},"returnParameters":{"id":30824,"nodeType":"ParameterList","parameters":[],"src":"121245:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30894,"nodeType":"FunctionDefinition","src":"122599:1414:21","nodes":[],"body":{"id":30893,"nodeType":"Block","src":"122668:1345:21","nodes":[],"statements":[{"assignments":[30866],"declarations":[{"constant":false,"id":30866,"mutability":"mutable","name":"m0","nameLocation":"122686:2:21","nodeType":"VariableDeclaration","scope":30893,"src":"122678:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122678:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30867,"nodeType":"VariableDeclarationStatement","src":"122678:10:21"},{"assignments":[30869],"declarations":[{"constant":false,"id":30869,"mutability":"mutable","name":"m1","nameLocation":"122706:2:21","nodeType":"VariableDeclaration","scope":30893,"src":"122698:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122698:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30870,"nodeType":"VariableDeclarationStatement","src":"122698:10:21"},{"assignments":[30872],"declarations":[{"constant":false,"id":30872,"mutability":"mutable","name":"m2","nameLocation":"122726:2:21","nodeType":"VariableDeclaration","scope":30893,"src":"122718:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122718:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30873,"nodeType":"VariableDeclarationStatement","src":"122718:10:21"},{"assignments":[30875],"declarations":[{"constant":false,"id":30875,"mutability":"mutable","name":"m3","nameLocation":"122746:2:21","nodeType":"VariableDeclaration","scope":30893,"src":"122738:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122738:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30876,"nodeType":"VariableDeclarationStatement","src":"122738:10:21"},{"assignments":[30878],"declarations":[{"constant":false,"id":30878,"mutability":"mutable","name":"m4","nameLocation":"122766:2:21","nodeType":"VariableDeclaration","scope":30893,"src":"122758:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122758:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30879,"nodeType":"VariableDeclarationStatement","src":"122758:10:21"},{"assignments":[30881],"declarations":[{"constant":false,"id":30881,"mutability":"mutable","name":"m5","nameLocation":"122786:2:21","nodeType":"VariableDeclaration","scope":30893,"src":"122778:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122778:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30882,"nodeType":"VariableDeclarationStatement","src":"122778:10:21"},{"assignments":[30884],"declarations":[{"constant":false,"id":30884,"mutability":"mutable","name":"m6","nameLocation":"122806:2:21","nodeType":"VariableDeclaration","scope":30893,"src":"122798:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122798:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30885,"nodeType":"VariableDeclarationStatement","src":"122798:10:21"},{"AST":{"nativeSrc":"122870:825:21","nodeType":"YulBlock","src":"122870:825:21","statements":[{"body":{"nativeSrc":"122913:313:21","nodeType":"YulBlock","src":"122913:313:21","statements":[{"nativeSrc":"122931:15:21","nodeType":"YulVariableDeclaration","src":"122931:15:21","value":{"kind":"number","nativeSrc":"122945:1:21","nodeType":"YulLiteral","src":"122945:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"122935:6:21","nodeType":"YulTypedName","src":"122935:6:21","type":""}]},{"body":{"nativeSrc":"123016:40:21","nodeType":"YulBlock","src":"123016:40:21","statements":[{"body":{"nativeSrc":"123045:9:21","nodeType":"YulBlock","src":"123045:9:21","statements":[{"nativeSrc":"123047:5:21","nodeType":"YulBreak","src":"123047:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"123033:6:21","nodeType":"YulIdentifier","src":"123033:6:21"},{"name":"w","nativeSrc":"123041:1:21","nodeType":"YulIdentifier","src":"123041:1:21"}],"functionName":{"name":"byte","nativeSrc":"123028:4:21","nodeType":"YulIdentifier","src":"123028:4:21"},"nativeSrc":"123028:15:21","nodeType":"YulFunctionCall","src":"123028:15:21"}],"functionName":{"name":"iszero","nativeSrc":"123021:6:21","nodeType":"YulIdentifier","src":"123021:6:21"},"nativeSrc":"123021:23:21","nodeType":"YulFunctionCall","src":"123021:23:21"},"nativeSrc":"123018:36:21","nodeType":"YulIf","src":"123018:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"122973:6:21","nodeType":"YulIdentifier","src":"122973:6:21"},{"kind":"number","nativeSrc":"122981:4:21","nodeType":"YulLiteral","src":"122981:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"122970:2:21","nodeType":"YulIdentifier","src":"122970:2:21"},"nativeSrc":"122970:16:21","nodeType":"YulFunctionCall","src":"122970:16:21"},"nativeSrc":"122963:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"122987:28:21","nodeType":"YulBlock","src":"122987:28:21","statements":[{"nativeSrc":"122989:24:21","nodeType":"YulAssignment","src":"122989:24:21","value":{"arguments":[{"name":"length","nativeSrc":"123003:6:21","nodeType":"YulIdentifier","src":"123003:6:21"},{"kind":"number","nativeSrc":"123011:1:21","nodeType":"YulLiteral","src":"123011:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"122999:3:21","nodeType":"YulIdentifier","src":"122999:3:21"},"nativeSrc":"122999:14:21","nodeType":"YulFunctionCall","src":"122999:14:21"},"variableNames":[{"name":"length","nativeSrc":"122989:6:21","nodeType":"YulIdentifier","src":"122989:6:21"}]}]},"pre":{"nativeSrc":"122967:2:21","nodeType":"YulBlock","src":"122967:2:21","statements":[]},"src":"122963:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"123080:3:21","nodeType":"YulIdentifier","src":"123080:3:21"},{"name":"length","nativeSrc":"123085:6:21","nodeType":"YulIdentifier","src":"123085:6:21"}],"functionName":{"name":"mstore","nativeSrc":"123073:6:21","nodeType":"YulIdentifier","src":"123073:6:21"},"nativeSrc":"123073:19:21","nodeType":"YulFunctionCall","src":"123073:19:21"},"nativeSrc":"123073:19:21","nodeType":"YulExpressionStatement","src":"123073:19:21"},{"nativeSrc":"123109:37:21","nodeType":"YulVariableDeclaration","src":"123109:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"123126:3:21","nodeType":"YulLiteral","src":"123126:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"123135:1:21","nodeType":"YulLiteral","src":"123135:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"123138:6:21","nodeType":"YulIdentifier","src":"123138:6:21"}],"functionName":{"name":"shl","nativeSrc":"123131:3:21","nodeType":"YulIdentifier","src":"123131:3:21"},"nativeSrc":"123131:14:21","nodeType":"YulFunctionCall","src":"123131:14:21"}],"functionName":{"name":"sub","nativeSrc":"123122:3:21","nodeType":"YulIdentifier","src":"123122:3:21"},"nativeSrc":"123122:24:21","nodeType":"YulFunctionCall","src":"123122:24:21"},"variables":[{"name":"shift","nativeSrc":"123113:5:21","nodeType":"YulTypedName","src":"123113:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"123174:3:21","nodeType":"YulIdentifier","src":"123174:3:21"},{"kind":"number","nativeSrc":"123179:4:21","nodeType":"YulLiteral","src":"123179:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"123170:3:21","nodeType":"YulIdentifier","src":"123170:3:21"},"nativeSrc":"123170:14:21","nodeType":"YulFunctionCall","src":"123170:14:21"},{"arguments":[{"name":"shift","nativeSrc":"123190:5:21","nodeType":"YulIdentifier","src":"123190:5:21"},{"arguments":[{"name":"shift","nativeSrc":"123201:5:21","nodeType":"YulIdentifier","src":"123201:5:21"},{"name":"w","nativeSrc":"123208:1:21","nodeType":"YulIdentifier","src":"123208:1:21"}],"functionName":{"name":"shr","nativeSrc":"123197:3:21","nodeType":"YulIdentifier","src":"123197:3:21"},"nativeSrc":"123197:13:21","nodeType":"YulFunctionCall","src":"123197:13:21"}],"functionName":{"name":"shl","nativeSrc":"123186:3:21","nodeType":"YulIdentifier","src":"123186:3:21"},"nativeSrc":"123186:25:21","nodeType":"YulFunctionCall","src":"123186:25:21"}],"functionName":{"name":"mstore","nativeSrc":"123163:6:21","nodeType":"YulIdentifier","src":"123163:6:21"},"nativeSrc":"123163:49:21","nodeType":"YulFunctionCall","src":"123163:49:21"},"nativeSrc":"123163:49:21","nodeType":"YulExpressionStatement","src":"123163:49:21"}]},"name":"writeString","nativeSrc":"122884:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"122905:3:21","nodeType":"YulTypedName","src":"122905:3:21","type":""},{"name":"w","nativeSrc":"122910:1:21","nodeType":"YulTypedName","src":"122910:1:21","type":""}],"src":"122884:342:21"},{"nativeSrc":"123239:17:21","nodeType":"YulAssignment","src":"123239:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"123251:4:21","nodeType":"YulLiteral","src":"123251:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"123245:5:21","nodeType":"YulIdentifier","src":"123245:5:21"},"nativeSrc":"123245:11:21","nodeType":"YulFunctionCall","src":"123245:11:21"},"variableNames":[{"name":"m0","nativeSrc":"123239:2:21","nodeType":"YulIdentifier","src":"123239:2:21"}]},{"nativeSrc":"123269:17:21","nodeType":"YulAssignment","src":"123269:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"123281:4:21","nodeType":"YulLiteral","src":"123281:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"123275:5:21","nodeType":"YulIdentifier","src":"123275:5:21"},"nativeSrc":"123275:11:21","nodeType":"YulFunctionCall","src":"123275:11:21"},"variableNames":[{"name":"m1","nativeSrc":"123269:2:21","nodeType":"YulIdentifier","src":"123269:2:21"}]},{"nativeSrc":"123299:17:21","nodeType":"YulAssignment","src":"123299:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"123311:4:21","nodeType":"YulLiteral","src":"123311:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"123305:5:21","nodeType":"YulIdentifier","src":"123305:5:21"},"nativeSrc":"123305:11:21","nodeType":"YulFunctionCall","src":"123305:11:21"},"variableNames":[{"name":"m2","nativeSrc":"123299:2:21","nodeType":"YulIdentifier","src":"123299:2:21"}]},{"nativeSrc":"123329:17:21","nodeType":"YulAssignment","src":"123329:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"123341:4:21","nodeType":"YulLiteral","src":"123341:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"123335:5:21","nodeType":"YulIdentifier","src":"123335:5:21"},"nativeSrc":"123335:11:21","nodeType":"YulFunctionCall","src":"123335:11:21"},"variableNames":[{"name":"m3","nativeSrc":"123329:2:21","nodeType":"YulIdentifier","src":"123329:2:21"}]},{"nativeSrc":"123359:17:21","nodeType":"YulAssignment","src":"123359:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"123371:4:21","nodeType":"YulLiteral","src":"123371:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"123365:5:21","nodeType":"YulIdentifier","src":"123365:5:21"},"nativeSrc":"123365:11:21","nodeType":"YulFunctionCall","src":"123365:11:21"},"variableNames":[{"name":"m4","nativeSrc":"123359:2:21","nodeType":"YulIdentifier","src":"123359:2:21"}]},{"nativeSrc":"123389:17:21","nodeType":"YulAssignment","src":"123389:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"123401:4:21","nodeType":"YulLiteral","src":"123401:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"123395:5:21","nodeType":"YulIdentifier","src":"123395:5:21"},"nativeSrc":"123395:11:21","nodeType":"YulFunctionCall","src":"123395:11:21"},"variableNames":[{"name":"m5","nativeSrc":"123389:2:21","nodeType":"YulIdentifier","src":"123389:2:21"}]},{"nativeSrc":"123419:17:21","nodeType":"YulAssignment","src":"123419:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"123431:4:21","nodeType":"YulLiteral","src":"123431:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"123425:5:21","nodeType":"YulIdentifier","src":"123425:5:21"},"nativeSrc":"123425:11:21","nodeType":"YulFunctionCall","src":"123425:11:21"},"variableNames":[{"name":"m6","nativeSrc":"123419:2:21","nodeType":"YulIdentifier","src":"123419:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123516:4:21","nodeType":"YulLiteral","src":"123516:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"123522:10:21","nodeType":"YulLiteral","src":"123522:10:21","type":"","value":"0x50ad461d"}],"functionName":{"name":"mstore","nativeSrc":"123509:6:21","nodeType":"YulIdentifier","src":"123509:6:21"},"nativeSrc":"123509:24:21","nodeType":"YulFunctionCall","src":"123509:24:21"},"nativeSrc":"123509:24:21","nodeType":"YulExpressionStatement","src":"123509:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123553:4:21","nodeType":"YulLiteral","src":"123553:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"123559:2:21","nodeType":"YulIdentifier","src":"123559:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123546:6:21","nodeType":"YulIdentifier","src":"123546:6:21"},"nativeSrc":"123546:16:21","nodeType":"YulFunctionCall","src":"123546:16:21"},"nativeSrc":"123546:16:21","nodeType":"YulExpressionStatement","src":"123546:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123582:4:21","nodeType":"YulLiteral","src":"123582:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"123588:2:21","nodeType":"YulIdentifier","src":"123588:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123575:6:21","nodeType":"YulIdentifier","src":"123575:6:21"},"nativeSrc":"123575:16:21","nodeType":"YulFunctionCall","src":"123575:16:21"},"nativeSrc":"123575:16:21","nodeType":"YulExpressionStatement","src":"123575:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123611:4:21","nodeType":"YulLiteral","src":"123611:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"123617:4:21","nodeType":"YulLiteral","src":"123617:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"123604:6:21","nodeType":"YulIdentifier","src":"123604:6:21"},"nativeSrc":"123604:18:21","nodeType":"YulFunctionCall","src":"123604:18:21"},"nativeSrc":"123604:18:21","nodeType":"YulExpressionStatement","src":"123604:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123642:4:21","nodeType":"YulLiteral","src":"123642:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"123648:2:21","nodeType":"YulIdentifier","src":"123648:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123635:6:21","nodeType":"YulIdentifier","src":"123635:6:21"},"nativeSrc":"123635:16:21","nodeType":"YulFunctionCall","src":"123635:16:21"},"nativeSrc":"123635:16:21","nodeType":"YulExpressionStatement","src":"123635:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123676:4:21","nodeType":"YulLiteral","src":"123676:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"123682:2:21","nodeType":"YulIdentifier","src":"123682:2:21"}],"functionName":{"name":"writeString","nativeSrc":"123664:11:21","nodeType":"YulIdentifier","src":"123664:11:21"},"nativeSrc":"123664:21:21","nodeType":"YulFunctionCall","src":"123664:21:21"},"nativeSrc":"123664:21:21","nodeType":"YulExpressionStatement","src":"123664:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30866,"isOffset":false,"isSlot":false,"src":"123239:2:21","valueSize":1},{"declaration":30869,"isOffset":false,"isSlot":false,"src":"123269:2:21","valueSize":1},{"declaration":30872,"isOffset":false,"isSlot":false,"src":"123299:2:21","valueSize":1},{"declaration":30875,"isOffset":false,"isSlot":false,"src":"123329:2:21","valueSize":1},{"declaration":30878,"isOffset":false,"isSlot":false,"src":"123359:2:21","valueSize":1},{"declaration":30881,"isOffset":false,"isSlot":false,"src":"123389:2:21","valueSize":1},{"declaration":30884,"isOffset":false,"isSlot":false,"src":"123419:2:21","valueSize":1},{"declaration":30856,"isOffset":false,"isSlot":false,"src":"123559:2:21","valueSize":1},{"declaration":30858,"isOffset":false,"isSlot":false,"src":"123588:2:21","valueSize":1},{"declaration":30860,"isOffset":false,"isSlot":false,"src":"123682:2:21","valueSize":1},{"declaration":30862,"isOffset":false,"isSlot":false,"src":"123648:2:21","valueSize":1}],"id":30886,"nodeType":"InlineAssembly","src":"122861:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"123720:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"123726:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30887,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"123704:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"123704:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30891,"nodeType":"ExpressionStatement","src":"123704:27:21"},{"AST":{"nativeSrc":"123793:214:21","nodeType":"YulBlock","src":"123793:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"123814:4:21","nodeType":"YulLiteral","src":"123814:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"123820:2:21","nodeType":"YulIdentifier","src":"123820:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123807:6:21","nodeType":"YulIdentifier","src":"123807:6:21"},"nativeSrc":"123807:16:21","nodeType":"YulFunctionCall","src":"123807:16:21"},"nativeSrc":"123807:16:21","nodeType":"YulExpressionStatement","src":"123807:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123843:4:21","nodeType":"YulLiteral","src":"123843:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"123849:2:21","nodeType":"YulIdentifier","src":"123849:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123836:6:21","nodeType":"YulIdentifier","src":"123836:6:21"},"nativeSrc":"123836:16:21","nodeType":"YulFunctionCall","src":"123836:16:21"},"nativeSrc":"123836:16:21","nodeType":"YulExpressionStatement","src":"123836:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123872:4:21","nodeType":"YulLiteral","src":"123872:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"123878:2:21","nodeType":"YulIdentifier","src":"123878:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123865:6:21","nodeType":"YulIdentifier","src":"123865:6:21"},"nativeSrc":"123865:16:21","nodeType":"YulFunctionCall","src":"123865:16:21"},"nativeSrc":"123865:16:21","nodeType":"YulExpressionStatement","src":"123865:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123901:4:21","nodeType":"YulLiteral","src":"123901:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"123907:2:21","nodeType":"YulIdentifier","src":"123907:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123894:6:21","nodeType":"YulIdentifier","src":"123894:6:21"},"nativeSrc":"123894:16:21","nodeType":"YulFunctionCall","src":"123894:16:21"},"nativeSrc":"123894:16:21","nodeType":"YulExpressionStatement","src":"123894:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123930:4:21","nodeType":"YulLiteral","src":"123930:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"123936:2:21","nodeType":"YulIdentifier","src":"123936:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123923:6:21","nodeType":"YulIdentifier","src":"123923:6:21"},"nativeSrc":"123923:16:21","nodeType":"YulFunctionCall","src":"123923:16:21"},"nativeSrc":"123923:16:21","nodeType":"YulExpressionStatement","src":"123923:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123959:4:21","nodeType":"YulLiteral","src":"123959:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"123965:2:21","nodeType":"YulIdentifier","src":"123965:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123952:6:21","nodeType":"YulIdentifier","src":"123952:6:21"},"nativeSrc":"123952:16:21","nodeType":"YulFunctionCall","src":"123952:16:21"},"nativeSrc":"123952:16:21","nodeType":"YulExpressionStatement","src":"123952:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123988:4:21","nodeType":"YulLiteral","src":"123988:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"123994:2:21","nodeType":"YulIdentifier","src":"123994:2:21"}],"functionName":{"name":"mstore","nativeSrc":"123981:6:21","nodeType":"YulIdentifier","src":"123981:6:21"},"nativeSrc":"123981:16:21","nodeType":"YulFunctionCall","src":"123981:16:21"},"nativeSrc":"123981:16:21","nodeType":"YulExpressionStatement","src":"123981:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30866,"isOffset":false,"isSlot":false,"src":"123820:2:21","valueSize":1},{"declaration":30869,"isOffset":false,"isSlot":false,"src":"123849:2:21","valueSize":1},{"declaration":30872,"isOffset":false,"isSlot":false,"src":"123878:2:21","valueSize":1},{"declaration":30875,"isOffset":false,"isSlot":false,"src":"123907:2:21","valueSize":1},{"declaration":30878,"isOffset":false,"isSlot":false,"src":"123936:2:21","valueSize":1},{"declaration":30881,"isOffset":false,"isSlot":false,"src":"123965:2:21","valueSize":1},{"declaration":30884,"isOffset":false,"isSlot":false,"src":"123994:2:21","valueSize":1}],"id":30892,"nodeType":"InlineAssembly","src":"123784:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"122608:3:21","parameters":{"id":30863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30856,"mutability":"mutable","name":"p0","nameLocation":"122620:2:21","nodeType":"VariableDeclaration","scope":30894,"src":"122612:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30855,"name":"address","nodeType":"ElementaryTypeName","src":"122612:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30858,"mutability":"mutable","name":"p1","nameLocation":"122629:2:21","nodeType":"VariableDeclaration","scope":30894,"src":"122624:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30857,"name":"bool","nodeType":"ElementaryTypeName","src":"122624:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30860,"mutability":"mutable","name":"p2","nameLocation":"122641:2:21","nodeType":"VariableDeclaration","scope":30894,"src":"122633:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122633:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30862,"mutability":"mutable","name":"p3","nameLocation":"122650:2:21","nodeType":"VariableDeclaration","scope":30894,"src":"122645:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30861,"name":"bool","nodeType":"ElementaryTypeName","src":"122645:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"122611:42:21"},"returnParameters":{"id":30864,"nodeType":"ParameterList","parameters":[],"src":"122668:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30934,"nodeType":"FunctionDefinition","src":"124019:1420:21","nodes":[],"body":{"id":30933,"nodeType":"Block","src":"124091:1348:21","nodes":[],"statements":[{"assignments":[30906],"declarations":[{"constant":false,"id":30906,"mutability":"mutable","name":"m0","nameLocation":"124109:2:21","nodeType":"VariableDeclaration","scope":30933,"src":"124101:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124101:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30907,"nodeType":"VariableDeclarationStatement","src":"124101:10:21"},{"assignments":[30909],"declarations":[{"constant":false,"id":30909,"mutability":"mutable","name":"m1","nameLocation":"124129:2:21","nodeType":"VariableDeclaration","scope":30933,"src":"124121:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124121:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30910,"nodeType":"VariableDeclarationStatement","src":"124121:10:21"},{"assignments":[30912],"declarations":[{"constant":false,"id":30912,"mutability":"mutable","name":"m2","nameLocation":"124149:2:21","nodeType":"VariableDeclaration","scope":30933,"src":"124141:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124141:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30913,"nodeType":"VariableDeclarationStatement","src":"124141:10:21"},{"assignments":[30915],"declarations":[{"constant":false,"id":30915,"mutability":"mutable","name":"m3","nameLocation":"124169:2:21","nodeType":"VariableDeclaration","scope":30933,"src":"124161:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124161:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30916,"nodeType":"VariableDeclarationStatement","src":"124161:10:21"},{"assignments":[30918],"declarations":[{"constant":false,"id":30918,"mutability":"mutable","name":"m4","nameLocation":"124189:2:21","nodeType":"VariableDeclaration","scope":30933,"src":"124181:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124181:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30919,"nodeType":"VariableDeclarationStatement","src":"124181:10:21"},{"assignments":[30921],"declarations":[{"constant":false,"id":30921,"mutability":"mutable","name":"m5","nameLocation":"124209:2:21","nodeType":"VariableDeclaration","scope":30933,"src":"124201:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30920,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124201:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30922,"nodeType":"VariableDeclarationStatement","src":"124201:10:21"},{"assignments":[30924],"declarations":[{"constant":false,"id":30924,"mutability":"mutable","name":"m6","nameLocation":"124229:2:21","nodeType":"VariableDeclaration","scope":30933,"src":"124221:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124221:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30925,"nodeType":"VariableDeclarationStatement","src":"124221:10:21"},{"AST":{"nativeSrc":"124293:828:21","nodeType":"YulBlock","src":"124293:828:21","statements":[{"body":{"nativeSrc":"124336:313:21","nodeType":"YulBlock","src":"124336:313:21","statements":[{"nativeSrc":"124354:15:21","nodeType":"YulVariableDeclaration","src":"124354:15:21","value":{"kind":"number","nativeSrc":"124368:1:21","nodeType":"YulLiteral","src":"124368:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"124358:6:21","nodeType":"YulTypedName","src":"124358:6:21","type":""}]},{"body":{"nativeSrc":"124439:40:21","nodeType":"YulBlock","src":"124439:40:21","statements":[{"body":{"nativeSrc":"124468:9:21","nodeType":"YulBlock","src":"124468:9:21","statements":[{"nativeSrc":"124470:5:21","nodeType":"YulBreak","src":"124470:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"124456:6:21","nodeType":"YulIdentifier","src":"124456:6:21"},{"name":"w","nativeSrc":"124464:1:21","nodeType":"YulIdentifier","src":"124464:1:21"}],"functionName":{"name":"byte","nativeSrc":"124451:4:21","nodeType":"YulIdentifier","src":"124451:4:21"},"nativeSrc":"124451:15:21","nodeType":"YulFunctionCall","src":"124451:15:21"}],"functionName":{"name":"iszero","nativeSrc":"124444:6:21","nodeType":"YulIdentifier","src":"124444:6:21"},"nativeSrc":"124444:23:21","nodeType":"YulFunctionCall","src":"124444:23:21"},"nativeSrc":"124441:36:21","nodeType":"YulIf","src":"124441:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"124396:6:21","nodeType":"YulIdentifier","src":"124396:6:21"},{"kind":"number","nativeSrc":"124404:4:21","nodeType":"YulLiteral","src":"124404:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"124393:2:21","nodeType":"YulIdentifier","src":"124393:2:21"},"nativeSrc":"124393:16:21","nodeType":"YulFunctionCall","src":"124393:16:21"},"nativeSrc":"124386:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"124410:28:21","nodeType":"YulBlock","src":"124410:28:21","statements":[{"nativeSrc":"124412:24:21","nodeType":"YulAssignment","src":"124412:24:21","value":{"arguments":[{"name":"length","nativeSrc":"124426:6:21","nodeType":"YulIdentifier","src":"124426:6:21"},{"kind":"number","nativeSrc":"124434:1:21","nodeType":"YulLiteral","src":"124434:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"124422:3:21","nodeType":"YulIdentifier","src":"124422:3:21"},"nativeSrc":"124422:14:21","nodeType":"YulFunctionCall","src":"124422:14:21"},"variableNames":[{"name":"length","nativeSrc":"124412:6:21","nodeType":"YulIdentifier","src":"124412:6:21"}]}]},"pre":{"nativeSrc":"124390:2:21","nodeType":"YulBlock","src":"124390:2:21","statements":[]},"src":"124386:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"124503:3:21","nodeType":"YulIdentifier","src":"124503:3:21"},{"name":"length","nativeSrc":"124508:6:21","nodeType":"YulIdentifier","src":"124508:6:21"}],"functionName":{"name":"mstore","nativeSrc":"124496:6:21","nodeType":"YulIdentifier","src":"124496:6:21"},"nativeSrc":"124496:19:21","nodeType":"YulFunctionCall","src":"124496:19:21"},"nativeSrc":"124496:19:21","nodeType":"YulExpressionStatement","src":"124496:19:21"},{"nativeSrc":"124532:37:21","nodeType":"YulVariableDeclaration","src":"124532:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"124549:3:21","nodeType":"YulLiteral","src":"124549:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"124558:1:21","nodeType":"YulLiteral","src":"124558:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"124561:6:21","nodeType":"YulIdentifier","src":"124561:6:21"}],"functionName":{"name":"shl","nativeSrc":"124554:3:21","nodeType":"YulIdentifier","src":"124554:3:21"},"nativeSrc":"124554:14:21","nodeType":"YulFunctionCall","src":"124554:14:21"}],"functionName":{"name":"sub","nativeSrc":"124545:3:21","nodeType":"YulIdentifier","src":"124545:3:21"},"nativeSrc":"124545:24:21","nodeType":"YulFunctionCall","src":"124545:24:21"},"variables":[{"name":"shift","nativeSrc":"124536:5:21","nodeType":"YulTypedName","src":"124536:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"124597:3:21","nodeType":"YulIdentifier","src":"124597:3:21"},{"kind":"number","nativeSrc":"124602:4:21","nodeType":"YulLiteral","src":"124602:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"124593:3:21","nodeType":"YulIdentifier","src":"124593:3:21"},"nativeSrc":"124593:14:21","nodeType":"YulFunctionCall","src":"124593:14:21"},{"arguments":[{"name":"shift","nativeSrc":"124613:5:21","nodeType":"YulIdentifier","src":"124613:5:21"},{"arguments":[{"name":"shift","nativeSrc":"124624:5:21","nodeType":"YulIdentifier","src":"124624:5:21"},{"name":"w","nativeSrc":"124631:1:21","nodeType":"YulIdentifier","src":"124631:1:21"}],"functionName":{"name":"shr","nativeSrc":"124620:3:21","nodeType":"YulIdentifier","src":"124620:3:21"},"nativeSrc":"124620:13:21","nodeType":"YulFunctionCall","src":"124620:13:21"}],"functionName":{"name":"shl","nativeSrc":"124609:3:21","nodeType":"YulIdentifier","src":"124609:3:21"},"nativeSrc":"124609:25:21","nodeType":"YulFunctionCall","src":"124609:25:21"}],"functionName":{"name":"mstore","nativeSrc":"124586:6:21","nodeType":"YulIdentifier","src":"124586:6:21"},"nativeSrc":"124586:49:21","nodeType":"YulFunctionCall","src":"124586:49:21"},"nativeSrc":"124586:49:21","nodeType":"YulExpressionStatement","src":"124586:49:21"}]},"name":"writeString","nativeSrc":"124307:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"124328:3:21","nodeType":"YulTypedName","src":"124328:3:21","type":""},{"name":"w","nativeSrc":"124333:1:21","nodeType":"YulTypedName","src":"124333:1:21","type":""}],"src":"124307:342:21"},{"nativeSrc":"124662:17:21","nodeType":"YulAssignment","src":"124662:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"124674:4:21","nodeType":"YulLiteral","src":"124674:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"124668:5:21","nodeType":"YulIdentifier","src":"124668:5:21"},"nativeSrc":"124668:11:21","nodeType":"YulFunctionCall","src":"124668:11:21"},"variableNames":[{"name":"m0","nativeSrc":"124662:2:21","nodeType":"YulIdentifier","src":"124662:2:21"}]},{"nativeSrc":"124692:17:21","nodeType":"YulAssignment","src":"124692:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"124704:4:21","nodeType":"YulLiteral","src":"124704:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"124698:5:21","nodeType":"YulIdentifier","src":"124698:5:21"},"nativeSrc":"124698:11:21","nodeType":"YulFunctionCall","src":"124698:11:21"},"variableNames":[{"name":"m1","nativeSrc":"124692:2:21","nodeType":"YulIdentifier","src":"124692:2:21"}]},{"nativeSrc":"124722:17:21","nodeType":"YulAssignment","src":"124722:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"124734:4:21","nodeType":"YulLiteral","src":"124734:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"124728:5:21","nodeType":"YulIdentifier","src":"124728:5:21"},"nativeSrc":"124728:11:21","nodeType":"YulFunctionCall","src":"124728:11:21"},"variableNames":[{"name":"m2","nativeSrc":"124722:2:21","nodeType":"YulIdentifier","src":"124722:2:21"}]},{"nativeSrc":"124752:17:21","nodeType":"YulAssignment","src":"124752:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"124764:4:21","nodeType":"YulLiteral","src":"124764:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"124758:5:21","nodeType":"YulIdentifier","src":"124758:5:21"},"nativeSrc":"124758:11:21","nodeType":"YulFunctionCall","src":"124758:11:21"},"variableNames":[{"name":"m3","nativeSrc":"124752:2:21","nodeType":"YulIdentifier","src":"124752:2:21"}]},{"nativeSrc":"124782:17:21","nodeType":"YulAssignment","src":"124782:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"124794:4:21","nodeType":"YulLiteral","src":"124794:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"124788:5:21","nodeType":"YulIdentifier","src":"124788:5:21"},"nativeSrc":"124788:11:21","nodeType":"YulFunctionCall","src":"124788:11:21"},"variableNames":[{"name":"m4","nativeSrc":"124782:2:21","nodeType":"YulIdentifier","src":"124782:2:21"}]},{"nativeSrc":"124812:17:21","nodeType":"YulAssignment","src":"124812:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"124824:4:21","nodeType":"YulLiteral","src":"124824:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"124818:5:21","nodeType":"YulIdentifier","src":"124818:5:21"},"nativeSrc":"124818:11:21","nodeType":"YulFunctionCall","src":"124818:11:21"},"variableNames":[{"name":"m5","nativeSrc":"124812:2:21","nodeType":"YulIdentifier","src":"124812:2:21"}]},{"nativeSrc":"124842:17:21","nodeType":"YulAssignment","src":"124842:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"124854:4:21","nodeType":"YulLiteral","src":"124854:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"124848:5:21","nodeType":"YulIdentifier","src":"124848:5:21"},"nativeSrc":"124848:11:21","nodeType":"YulFunctionCall","src":"124848:11:21"},"variableNames":[{"name":"m6","nativeSrc":"124842:2:21","nodeType":"YulIdentifier","src":"124842:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"124942:4:21","nodeType":"YulLiteral","src":"124942:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"124948:10:21","nodeType":"YulLiteral","src":"124948:10:21","type":"","value":"0x80e6a20b"}],"functionName":{"name":"mstore","nativeSrc":"124935:6:21","nodeType":"YulIdentifier","src":"124935:6:21"},"nativeSrc":"124935:24:21","nodeType":"YulFunctionCall","src":"124935:24:21"},"nativeSrc":"124935:24:21","nodeType":"YulExpressionStatement","src":"124935:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"124979:4:21","nodeType":"YulLiteral","src":"124979:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"124985:2:21","nodeType":"YulIdentifier","src":"124985:2:21"}],"functionName":{"name":"mstore","nativeSrc":"124972:6:21","nodeType":"YulIdentifier","src":"124972:6:21"},"nativeSrc":"124972:16:21","nodeType":"YulFunctionCall","src":"124972:16:21"},"nativeSrc":"124972:16:21","nodeType":"YulExpressionStatement","src":"124972:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125008:4:21","nodeType":"YulLiteral","src":"125008:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"125014:2:21","nodeType":"YulIdentifier","src":"125014:2:21"}],"functionName":{"name":"mstore","nativeSrc":"125001:6:21","nodeType":"YulIdentifier","src":"125001:6:21"},"nativeSrc":"125001:16:21","nodeType":"YulFunctionCall","src":"125001:16:21"},"nativeSrc":"125001:16:21","nodeType":"YulExpressionStatement","src":"125001:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125037:4:21","nodeType":"YulLiteral","src":"125037:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"125043:4:21","nodeType":"YulLiteral","src":"125043:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"125030:6:21","nodeType":"YulIdentifier","src":"125030:6:21"},"nativeSrc":"125030:18:21","nodeType":"YulFunctionCall","src":"125030:18:21"},"nativeSrc":"125030:18:21","nodeType":"YulExpressionStatement","src":"125030:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125068:4:21","nodeType":"YulLiteral","src":"125068:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"125074:2:21","nodeType":"YulIdentifier","src":"125074:2:21"}],"functionName":{"name":"mstore","nativeSrc":"125061:6:21","nodeType":"YulIdentifier","src":"125061:6:21"},"nativeSrc":"125061:16:21","nodeType":"YulFunctionCall","src":"125061:16:21"},"nativeSrc":"125061:16:21","nodeType":"YulExpressionStatement","src":"125061:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125102:4:21","nodeType":"YulLiteral","src":"125102:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"125108:2:21","nodeType":"YulIdentifier","src":"125108:2:21"}],"functionName":{"name":"writeString","nativeSrc":"125090:11:21","nodeType":"YulIdentifier","src":"125090:11:21"},"nativeSrc":"125090:21:21","nodeType":"YulFunctionCall","src":"125090:21:21"},"nativeSrc":"125090:21:21","nodeType":"YulExpressionStatement","src":"125090:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30906,"isOffset":false,"isSlot":false,"src":"124662:2:21","valueSize":1},{"declaration":30909,"isOffset":false,"isSlot":false,"src":"124692:2:21","valueSize":1},{"declaration":30912,"isOffset":false,"isSlot":false,"src":"124722:2:21","valueSize":1},{"declaration":30915,"isOffset":false,"isSlot":false,"src":"124752:2:21","valueSize":1},{"declaration":30918,"isOffset":false,"isSlot":false,"src":"124782:2:21","valueSize":1},{"declaration":30921,"isOffset":false,"isSlot":false,"src":"124812:2:21","valueSize":1},{"declaration":30924,"isOffset":false,"isSlot":false,"src":"124842:2:21","valueSize":1},{"declaration":30896,"isOffset":false,"isSlot":false,"src":"124985:2:21","valueSize":1},{"declaration":30898,"isOffset":false,"isSlot":false,"src":"125014:2:21","valueSize":1},{"declaration":30900,"isOffset":false,"isSlot":false,"src":"125108:2:21","valueSize":1},{"declaration":30902,"isOffset":false,"isSlot":false,"src":"125074:2:21","valueSize":1}],"id":30926,"nodeType":"InlineAssembly","src":"124284:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125146:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125152:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30927,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"125130:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"125130:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30931,"nodeType":"ExpressionStatement","src":"125130:27:21"},{"AST":{"nativeSrc":"125219:214:21","nodeType":"YulBlock","src":"125219:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"125240:4:21","nodeType":"YulLiteral","src":"125240:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"125246:2:21","nodeType":"YulIdentifier","src":"125246:2:21"}],"functionName":{"name":"mstore","nativeSrc":"125233:6:21","nodeType":"YulIdentifier","src":"125233:6:21"},"nativeSrc":"125233:16:21","nodeType":"YulFunctionCall","src":"125233:16:21"},"nativeSrc":"125233:16:21","nodeType":"YulExpressionStatement","src":"125233:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125269:4:21","nodeType":"YulLiteral","src":"125269:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"125275:2:21","nodeType":"YulIdentifier","src":"125275:2:21"}],"functionName":{"name":"mstore","nativeSrc":"125262:6:21","nodeType":"YulIdentifier","src":"125262:6:21"},"nativeSrc":"125262:16:21","nodeType":"YulFunctionCall","src":"125262:16:21"},"nativeSrc":"125262:16:21","nodeType":"YulExpressionStatement","src":"125262:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125298:4:21","nodeType":"YulLiteral","src":"125298:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"125304:2:21","nodeType":"YulIdentifier","src":"125304:2:21"}],"functionName":{"name":"mstore","nativeSrc":"125291:6:21","nodeType":"YulIdentifier","src":"125291:6:21"},"nativeSrc":"125291:16:21","nodeType":"YulFunctionCall","src":"125291:16:21"},"nativeSrc":"125291:16:21","nodeType":"YulExpressionStatement","src":"125291:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125327:4:21","nodeType":"YulLiteral","src":"125327:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"125333:2:21","nodeType":"YulIdentifier","src":"125333:2:21"}],"functionName":{"name":"mstore","nativeSrc":"125320:6:21","nodeType":"YulIdentifier","src":"125320:6:21"},"nativeSrc":"125320:16:21","nodeType":"YulFunctionCall","src":"125320:16:21"},"nativeSrc":"125320:16:21","nodeType":"YulExpressionStatement","src":"125320:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125356:4:21","nodeType":"YulLiteral","src":"125356:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"125362:2:21","nodeType":"YulIdentifier","src":"125362:2:21"}],"functionName":{"name":"mstore","nativeSrc":"125349:6:21","nodeType":"YulIdentifier","src":"125349:6:21"},"nativeSrc":"125349:16:21","nodeType":"YulFunctionCall","src":"125349:16:21"},"nativeSrc":"125349:16:21","nodeType":"YulExpressionStatement","src":"125349:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125385:4:21","nodeType":"YulLiteral","src":"125385:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"125391:2:21","nodeType":"YulIdentifier","src":"125391:2:21"}],"functionName":{"name":"mstore","nativeSrc":"125378:6:21","nodeType":"YulIdentifier","src":"125378:6:21"},"nativeSrc":"125378:16:21","nodeType":"YulFunctionCall","src":"125378:16:21"},"nativeSrc":"125378:16:21","nodeType":"YulExpressionStatement","src":"125378:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125414:4:21","nodeType":"YulLiteral","src":"125414:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"125420:2:21","nodeType":"YulIdentifier","src":"125420:2:21"}],"functionName":{"name":"mstore","nativeSrc":"125407:6:21","nodeType":"YulIdentifier","src":"125407:6:21"},"nativeSrc":"125407:16:21","nodeType":"YulFunctionCall","src":"125407:16:21"},"nativeSrc":"125407:16:21","nodeType":"YulExpressionStatement","src":"125407:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30906,"isOffset":false,"isSlot":false,"src":"125246:2:21","valueSize":1},{"declaration":30909,"isOffset":false,"isSlot":false,"src":"125275:2:21","valueSize":1},{"declaration":30912,"isOffset":false,"isSlot":false,"src":"125304:2:21","valueSize":1},{"declaration":30915,"isOffset":false,"isSlot":false,"src":"125333:2:21","valueSize":1},{"declaration":30918,"isOffset":false,"isSlot":false,"src":"125362:2:21","valueSize":1},{"declaration":30921,"isOffset":false,"isSlot":false,"src":"125391:2:21","valueSize":1},{"declaration":30924,"isOffset":false,"isSlot":false,"src":"125420:2:21","valueSize":1}],"id":30932,"nodeType":"InlineAssembly","src":"125210:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"124028:3:21","parameters":{"id":30903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30896,"mutability":"mutable","name":"p0","nameLocation":"124040:2:21","nodeType":"VariableDeclaration","scope":30934,"src":"124032:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30895,"name":"address","nodeType":"ElementaryTypeName","src":"124032:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30898,"mutability":"mutable","name":"p1","nameLocation":"124049:2:21","nodeType":"VariableDeclaration","scope":30934,"src":"124044:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30897,"name":"bool","nodeType":"ElementaryTypeName","src":"124044:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30900,"mutability":"mutable","name":"p2","nameLocation":"124061:2:21","nodeType":"VariableDeclaration","scope":30934,"src":"124053:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124053:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30902,"mutability":"mutable","name":"p3","nameLocation":"124073:2:21","nodeType":"VariableDeclaration","scope":30934,"src":"124065:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30901,"name":"uint256","nodeType":"ElementaryTypeName","src":"124065:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"124031:45:21"},"returnParameters":{"id":30904,"nodeType":"ParameterList","parameters":[],"src":"124091:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30980,"nodeType":"FunctionDefinition","src":"125445:1616:21","nodes":[],"body":{"id":30979,"nodeType":"Block","src":"125517:1544:21","nodes":[],"statements":[{"assignments":[30946],"declarations":[{"constant":false,"id":30946,"mutability":"mutable","name":"m0","nameLocation":"125535:2:21","nodeType":"VariableDeclaration","scope":30979,"src":"125527:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125527:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30947,"nodeType":"VariableDeclarationStatement","src":"125527:10:21"},{"assignments":[30949],"declarations":[{"constant":false,"id":30949,"mutability":"mutable","name":"m1","nameLocation":"125555:2:21","nodeType":"VariableDeclaration","scope":30979,"src":"125547:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125547:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30950,"nodeType":"VariableDeclarationStatement","src":"125547:10:21"},{"assignments":[30952],"declarations":[{"constant":false,"id":30952,"mutability":"mutable","name":"m2","nameLocation":"125575:2:21","nodeType":"VariableDeclaration","scope":30979,"src":"125567:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125567:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30953,"nodeType":"VariableDeclarationStatement","src":"125567:10:21"},{"assignments":[30955],"declarations":[{"constant":false,"id":30955,"mutability":"mutable","name":"m3","nameLocation":"125595:2:21","nodeType":"VariableDeclaration","scope":30979,"src":"125587:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125587:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30956,"nodeType":"VariableDeclarationStatement","src":"125587:10:21"},{"assignments":[30958],"declarations":[{"constant":false,"id":30958,"mutability":"mutable","name":"m4","nameLocation":"125615:2:21","nodeType":"VariableDeclaration","scope":30979,"src":"125607:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125607:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30959,"nodeType":"VariableDeclarationStatement","src":"125607:10:21"},{"assignments":[30961],"declarations":[{"constant":false,"id":30961,"mutability":"mutable","name":"m5","nameLocation":"125635:2:21","nodeType":"VariableDeclaration","scope":30979,"src":"125627:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125627:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30962,"nodeType":"VariableDeclarationStatement","src":"125627:10:21"},{"assignments":[30964],"declarations":[{"constant":false,"id":30964,"mutability":"mutable","name":"m6","nameLocation":"125655:2:21","nodeType":"VariableDeclaration","scope":30979,"src":"125647:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125647:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30965,"nodeType":"VariableDeclarationStatement","src":"125647:10:21"},{"assignments":[30967],"declarations":[{"constant":false,"id":30967,"mutability":"mutable","name":"m7","nameLocation":"125675:2:21","nodeType":"VariableDeclaration","scope":30979,"src":"125667:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125667:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30968,"nodeType":"VariableDeclarationStatement","src":"125667:10:21"},{"assignments":[30970],"declarations":[{"constant":false,"id":30970,"mutability":"mutable","name":"m8","nameLocation":"125695:2:21","nodeType":"VariableDeclaration","scope":30979,"src":"125687:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125687:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30971,"nodeType":"VariableDeclarationStatement","src":"125687:10:21"},{"AST":{"nativeSrc":"125759:924:21","nodeType":"YulBlock","src":"125759:924:21","statements":[{"body":{"nativeSrc":"125802:313:21","nodeType":"YulBlock","src":"125802:313:21","statements":[{"nativeSrc":"125820:15:21","nodeType":"YulVariableDeclaration","src":"125820:15:21","value":{"kind":"number","nativeSrc":"125834:1:21","nodeType":"YulLiteral","src":"125834:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"125824:6:21","nodeType":"YulTypedName","src":"125824:6:21","type":""}]},{"body":{"nativeSrc":"125905:40:21","nodeType":"YulBlock","src":"125905:40:21","statements":[{"body":{"nativeSrc":"125934:9:21","nodeType":"YulBlock","src":"125934:9:21","statements":[{"nativeSrc":"125936:5:21","nodeType":"YulBreak","src":"125936:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"125922:6:21","nodeType":"YulIdentifier","src":"125922:6:21"},{"name":"w","nativeSrc":"125930:1:21","nodeType":"YulIdentifier","src":"125930:1:21"}],"functionName":{"name":"byte","nativeSrc":"125917:4:21","nodeType":"YulIdentifier","src":"125917:4:21"},"nativeSrc":"125917:15:21","nodeType":"YulFunctionCall","src":"125917:15:21"}],"functionName":{"name":"iszero","nativeSrc":"125910:6:21","nodeType":"YulIdentifier","src":"125910:6:21"},"nativeSrc":"125910:23:21","nodeType":"YulFunctionCall","src":"125910:23:21"},"nativeSrc":"125907:36:21","nodeType":"YulIf","src":"125907:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"125862:6:21","nodeType":"YulIdentifier","src":"125862:6:21"},{"kind":"number","nativeSrc":"125870:4:21","nodeType":"YulLiteral","src":"125870:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"125859:2:21","nodeType":"YulIdentifier","src":"125859:2:21"},"nativeSrc":"125859:16:21","nodeType":"YulFunctionCall","src":"125859:16:21"},"nativeSrc":"125852:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"125876:28:21","nodeType":"YulBlock","src":"125876:28:21","statements":[{"nativeSrc":"125878:24:21","nodeType":"YulAssignment","src":"125878:24:21","value":{"arguments":[{"name":"length","nativeSrc":"125892:6:21","nodeType":"YulIdentifier","src":"125892:6:21"},{"kind":"number","nativeSrc":"125900:1:21","nodeType":"YulLiteral","src":"125900:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"125888:3:21","nodeType":"YulIdentifier","src":"125888:3:21"},"nativeSrc":"125888:14:21","nodeType":"YulFunctionCall","src":"125888:14:21"},"variableNames":[{"name":"length","nativeSrc":"125878:6:21","nodeType":"YulIdentifier","src":"125878:6:21"}]}]},"pre":{"nativeSrc":"125856:2:21","nodeType":"YulBlock","src":"125856:2:21","statements":[]},"src":"125852:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"125969:3:21","nodeType":"YulIdentifier","src":"125969:3:21"},{"name":"length","nativeSrc":"125974:6:21","nodeType":"YulIdentifier","src":"125974:6:21"}],"functionName":{"name":"mstore","nativeSrc":"125962:6:21","nodeType":"YulIdentifier","src":"125962:6:21"},"nativeSrc":"125962:19:21","nodeType":"YulFunctionCall","src":"125962:19:21"},"nativeSrc":"125962:19:21","nodeType":"YulExpressionStatement","src":"125962:19:21"},{"nativeSrc":"125998:37:21","nodeType":"YulVariableDeclaration","src":"125998:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"126015:3:21","nodeType":"YulLiteral","src":"126015:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"126024:1:21","nodeType":"YulLiteral","src":"126024:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"126027:6:21","nodeType":"YulIdentifier","src":"126027:6:21"}],"functionName":{"name":"shl","nativeSrc":"126020:3:21","nodeType":"YulIdentifier","src":"126020:3:21"},"nativeSrc":"126020:14:21","nodeType":"YulFunctionCall","src":"126020:14:21"}],"functionName":{"name":"sub","nativeSrc":"126011:3:21","nodeType":"YulIdentifier","src":"126011:3:21"},"nativeSrc":"126011:24:21","nodeType":"YulFunctionCall","src":"126011:24:21"},"variables":[{"name":"shift","nativeSrc":"126002:5:21","nodeType":"YulTypedName","src":"126002:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"126063:3:21","nodeType":"YulIdentifier","src":"126063:3:21"},{"kind":"number","nativeSrc":"126068:4:21","nodeType":"YulLiteral","src":"126068:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"126059:3:21","nodeType":"YulIdentifier","src":"126059:3:21"},"nativeSrc":"126059:14:21","nodeType":"YulFunctionCall","src":"126059:14:21"},{"arguments":[{"name":"shift","nativeSrc":"126079:5:21","nodeType":"YulIdentifier","src":"126079:5:21"},{"arguments":[{"name":"shift","nativeSrc":"126090:5:21","nodeType":"YulIdentifier","src":"126090:5:21"},{"name":"w","nativeSrc":"126097:1:21","nodeType":"YulIdentifier","src":"126097:1:21"}],"functionName":{"name":"shr","nativeSrc":"126086:3:21","nodeType":"YulIdentifier","src":"126086:3:21"},"nativeSrc":"126086:13:21","nodeType":"YulFunctionCall","src":"126086:13:21"}],"functionName":{"name":"shl","nativeSrc":"126075:3:21","nodeType":"YulIdentifier","src":"126075:3:21"},"nativeSrc":"126075:25:21","nodeType":"YulFunctionCall","src":"126075:25:21"}],"functionName":{"name":"mstore","nativeSrc":"126052:6:21","nodeType":"YulIdentifier","src":"126052:6:21"},"nativeSrc":"126052:49:21","nodeType":"YulFunctionCall","src":"126052:49:21"},"nativeSrc":"126052:49:21","nodeType":"YulExpressionStatement","src":"126052:49:21"}]},"name":"writeString","nativeSrc":"125773:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"125794:3:21","nodeType":"YulTypedName","src":"125794:3:21","type":""},{"name":"w","nativeSrc":"125799:1:21","nodeType":"YulTypedName","src":"125799:1:21","type":""}],"src":"125773:342:21"},{"nativeSrc":"126128:17:21","nodeType":"YulAssignment","src":"126128:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"126140:4:21","nodeType":"YulLiteral","src":"126140:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"126134:5:21","nodeType":"YulIdentifier","src":"126134:5:21"},"nativeSrc":"126134:11:21","nodeType":"YulFunctionCall","src":"126134:11:21"},"variableNames":[{"name":"m0","nativeSrc":"126128:2:21","nodeType":"YulIdentifier","src":"126128:2:21"}]},{"nativeSrc":"126158:17:21","nodeType":"YulAssignment","src":"126158:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"126170:4:21","nodeType":"YulLiteral","src":"126170:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"126164:5:21","nodeType":"YulIdentifier","src":"126164:5:21"},"nativeSrc":"126164:11:21","nodeType":"YulFunctionCall","src":"126164:11:21"},"variableNames":[{"name":"m1","nativeSrc":"126158:2:21","nodeType":"YulIdentifier","src":"126158:2:21"}]},{"nativeSrc":"126188:17:21","nodeType":"YulAssignment","src":"126188:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"126200:4:21","nodeType":"YulLiteral","src":"126200:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"126194:5:21","nodeType":"YulIdentifier","src":"126194:5:21"},"nativeSrc":"126194:11:21","nodeType":"YulFunctionCall","src":"126194:11:21"},"variableNames":[{"name":"m2","nativeSrc":"126188:2:21","nodeType":"YulIdentifier","src":"126188:2:21"}]},{"nativeSrc":"126218:17:21","nodeType":"YulAssignment","src":"126218:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"126230:4:21","nodeType":"YulLiteral","src":"126230:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"126224:5:21","nodeType":"YulIdentifier","src":"126224:5:21"},"nativeSrc":"126224:11:21","nodeType":"YulFunctionCall","src":"126224:11:21"},"variableNames":[{"name":"m3","nativeSrc":"126218:2:21","nodeType":"YulIdentifier","src":"126218:2:21"}]},{"nativeSrc":"126248:17:21","nodeType":"YulAssignment","src":"126248:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"126260:4:21","nodeType":"YulLiteral","src":"126260:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"126254:5:21","nodeType":"YulIdentifier","src":"126254:5:21"},"nativeSrc":"126254:11:21","nodeType":"YulFunctionCall","src":"126254:11:21"},"variableNames":[{"name":"m4","nativeSrc":"126248:2:21","nodeType":"YulIdentifier","src":"126248:2:21"}]},{"nativeSrc":"126278:17:21","nodeType":"YulAssignment","src":"126278:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"126290:4:21","nodeType":"YulLiteral","src":"126290:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"126284:5:21","nodeType":"YulIdentifier","src":"126284:5:21"},"nativeSrc":"126284:11:21","nodeType":"YulFunctionCall","src":"126284:11:21"},"variableNames":[{"name":"m5","nativeSrc":"126278:2:21","nodeType":"YulIdentifier","src":"126278:2:21"}]},{"nativeSrc":"126308:17:21","nodeType":"YulAssignment","src":"126308:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"126320:4:21","nodeType":"YulLiteral","src":"126320:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"126314:5:21","nodeType":"YulIdentifier","src":"126314:5:21"},"nativeSrc":"126314:11:21","nodeType":"YulFunctionCall","src":"126314:11:21"},"variableNames":[{"name":"m6","nativeSrc":"126308:2:21","nodeType":"YulIdentifier","src":"126308:2:21"}]},{"nativeSrc":"126338:17:21","nodeType":"YulAssignment","src":"126338:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"126350:4:21","nodeType":"YulLiteral","src":"126350:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"126344:5:21","nodeType":"YulIdentifier","src":"126344:5:21"},"nativeSrc":"126344:11:21","nodeType":"YulFunctionCall","src":"126344:11:21"},"variableNames":[{"name":"m7","nativeSrc":"126338:2:21","nodeType":"YulIdentifier","src":"126338:2:21"}]},{"nativeSrc":"126368:18:21","nodeType":"YulAssignment","src":"126368:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"126380:5:21","nodeType":"YulLiteral","src":"126380:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"126374:5:21","nodeType":"YulIdentifier","src":"126374:5:21"},"nativeSrc":"126374:12:21","nodeType":"YulFunctionCall","src":"126374:12:21"},"variableNames":[{"name":"m8","nativeSrc":"126368:2:21","nodeType":"YulIdentifier","src":"126368:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126468:4:21","nodeType":"YulLiteral","src":"126468:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"126474:10:21","nodeType":"YulLiteral","src":"126474:10:21","type":"","value":"0x475c5c33"}],"functionName":{"name":"mstore","nativeSrc":"126461:6:21","nodeType":"YulIdentifier","src":"126461:6:21"},"nativeSrc":"126461:24:21","nodeType":"YulFunctionCall","src":"126461:24:21"},"nativeSrc":"126461:24:21","nodeType":"YulExpressionStatement","src":"126461:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126505:4:21","nodeType":"YulLiteral","src":"126505:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"126511:2:21","nodeType":"YulIdentifier","src":"126511:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126498:6:21","nodeType":"YulIdentifier","src":"126498:6:21"},"nativeSrc":"126498:16:21","nodeType":"YulFunctionCall","src":"126498:16:21"},"nativeSrc":"126498:16:21","nodeType":"YulExpressionStatement","src":"126498:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126534:4:21","nodeType":"YulLiteral","src":"126534:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"126540:2:21","nodeType":"YulIdentifier","src":"126540:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126527:6:21","nodeType":"YulIdentifier","src":"126527:6:21"},"nativeSrc":"126527:16:21","nodeType":"YulFunctionCall","src":"126527:16:21"},"nativeSrc":"126527:16:21","nodeType":"YulExpressionStatement","src":"126527:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126563:4:21","nodeType":"YulLiteral","src":"126563:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"126569:4:21","nodeType":"YulLiteral","src":"126569:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"126556:6:21","nodeType":"YulIdentifier","src":"126556:6:21"},"nativeSrc":"126556:18:21","nodeType":"YulFunctionCall","src":"126556:18:21"},"nativeSrc":"126556:18:21","nodeType":"YulExpressionStatement","src":"126556:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126594:4:21","nodeType":"YulLiteral","src":"126594:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"126600:4:21","nodeType":"YulLiteral","src":"126600:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"126587:6:21","nodeType":"YulIdentifier","src":"126587:6:21"},"nativeSrc":"126587:18:21","nodeType":"YulFunctionCall","src":"126587:18:21"},"nativeSrc":"126587:18:21","nodeType":"YulExpressionStatement","src":"126587:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126630:4:21","nodeType":"YulLiteral","src":"126630:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"126636:2:21","nodeType":"YulIdentifier","src":"126636:2:21"}],"functionName":{"name":"writeString","nativeSrc":"126618:11:21","nodeType":"YulIdentifier","src":"126618:11:21"},"nativeSrc":"126618:21:21","nodeType":"YulFunctionCall","src":"126618:21:21"},"nativeSrc":"126618:21:21","nodeType":"YulExpressionStatement","src":"126618:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126664:4:21","nodeType":"YulLiteral","src":"126664:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"126670:2:21","nodeType":"YulIdentifier","src":"126670:2:21"}],"functionName":{"name":"writeString","nativeSrc":"126652:11:21","nodeType":"YulIdentifier","src":"126652:11:21"},"nativeSrc":"126652:21:21","nodeType":"YulFunctionCall","src":"126652:21:21"},"nativeSrc":"126652:21:21","nodeType":"YulExpressionStatement","src":"126652:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30946,"isOffset":false,"isSlot":false,"src":"126128:2:21","valueSize":1},{"declaration":30949,"isOffset":false,"isSlot":false,"src":"126158:2:21","valueSize":1},{"declaration":30952,"isOffset":false,"isSlot":false,"src":"126188:2:21","valueSize":1},{"declaration":30955,"isOffset":false,"isSlot":false,"src":"126218:2:21","valueSize":1},{"declaration":30958,"isOffset":false,"isSlot":false,"src":"126248:2:21","valueSize":1},{"declaration":30961,"isOffset":false,"isSlot":false,"src":"126278:2:21","valueSize":1},{"declaration":30964,"isOffset":false,"isSlot":false,"src":"126308:2:21","valueSize":1},{"declaration":30967,"isOffset":false,"isSlot":false,"src":"126338:2:21","valueSize":1},{"declaration":30970,"isOffset":false,"isSlot":false,"src":"126368:2:21","valueSize":1},{"declaration":30936,"isOffset":false,"isSlot":false,"src":"126511:2:21","valueSize":1},{"declaration":30938,"isOffset":false,"isSlot":false,"src":"126540:2:21","valueSize":1},{"declaration":30940,"isOffset":false,"isSlot":false,"src":"126636:2:21","valueSize":1},{"declaration":30942,"isOffset":false,"isSlot":false,"src":"126670:2:21","valueSize":1}],"id":30972,"nodeType":"InlineAssembly","src":"125750:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":30974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"126708:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":30975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"126714:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":30973,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"126692:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"126692:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30977,"nodeType":"ExpressionStatement","src":"126692:28:21"},{"AST":{"nativeSrc":"126782:273:21","nodeType":"YulBlock","src":"126782:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"126803:4:21","nodeType":"YulLiteral","src":"126803:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"126809:2:21","nodeType":"YulIdentifier","src":"126809:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126796:6:21","nodeType":"YulIdentifier","src":"126796:6:21"},"nativeSrc":"126796:16:21","nodeType":"YulFunctionCall","src":"126796:16:21"},"nativeSrc":"126796:16:21","nodeType":"YulExpressionStatement","src":"126796:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126832:4:21","nodeType":"YulLiteral","src":"126832:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"126838:2:21","nodeType":"YulIdentifier","src":"126838:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126825:6:21","nodeType":"YulIdentifier","src":"126825:6:21"},"nativeSrc":"126825:16:21","nodeType":"YulFunctionCall","src":"126825:16:21"},"nativeSrc":"126825:16:21","nodeType":"YulExpressionStatement","src":"126825:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126861:4:21","nodeType":"YulLiteral","src":"126861:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"126867:2:21","nodeType":"YulIdentifier","src":"126867:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126854:6:21","nodeType":"YulIdentifier","src":"126854:6:21"},"nativeSrc":"126854:16:21","nodeType":"YulFunctionCall","src":"126854:16:21"},"nativeSrc":"126854:16:21","nodeType":"YulExpressionStatement","src":"126854:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126890:4:21","nodeType":"YulLiteral","src":"126890:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"126896:2:21","nodeType":"YulIdentifier","src":"126896:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126883:6:21","nodeType":"YulIdentifier","src":"126883:6:21"},"nativeSrc":"126883:16:21","nodeType":"YulFunctionCall","src":"126883:16:21"},"nativeSrc":"126883:16:21","nodeType":"YulExpressionStatement","src":"126883:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126919:4:21","nodeType":"YulLiteral","src":"126919:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"126925:2:21","nodeType":"YulIdentifier","src":"126925:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126912:6:21","nodeType":"YulIdentifier","src":"126912:6:21"},"nativeSrc":"126912:16:21","nodeType":"YulFunctionCall","src":"126912:16:21"},"nativeSrc":"126912:16:21","nodeType":"YulExpressionStatement","src":"126912:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126948:4:21","nodeType":"YulLiteral","src":"126948:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"126954:2:21","nodeType":"YulIdentifier","src":"126954:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126941:6:21","nodeType":"YulIdentifier","src":"126941:6:21"},"nativeSrc":"126941:16:21","nodeType":"YulFunctionCall","src":"126941:16:21"},"nativeSrc":"126941:16:21","nodeType":"YulExpressionStatement","src":"126941:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126977:4:21","nodeType":"YulLiteral","src":"126977:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"126983:2:21","nodeType":"YulIdentifier","src":"126983:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126970:6:21","nodeType":"YulIdentifier","src":"126970:6:21"},"nativeSrc":"126970:16:21","nodeType":"YulFunctionCall","src":"126970:16:21"},"nativeSrc":"126970:16:21","nodeType":"YulExpressionStatement","src":"126970:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127006:4:21","nodeType":"YulLiteral","src":"127006:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"127012:2:21","nodeType":"YulIdentifier","src":"127012:2:21"}],"functionName":{"name":"mstore","nativeSrc":"126999:6:21","nodeType":"YulIdentifier","src":"126999:6:21"},"nativeSrc":"126999:16:21","nodeType":"YulFunctionCall","src":"126999:16:21"},"nativeSrc":"126999:16:21","nodeType":"YulExpressionStatement","src":"126999:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127035:5:21","nodeType":"YulLiteral","src":"127035:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"127042:2:21","nodeType":"YulIdentifier","src":"127042:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127028:6:21","nodeType":"YulIdentifier","src":"127028:6:21"},"nativeSrc":"127028:17:21","nodeType":"YulFunctionCall","src":"127028:17:21"},"nativeSrc":"127028:17:21","nodeType":"YulExpressionStatement","src":"127028:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30946,"isOffset":false,"isSlot":false,"src":"126809:2:21","valueSize":1},{"declaration":30949,"isOffset":false,"isSlot":false,"src":"126838:2:21","valueSize":1},{"declaration":30952,"isOffset":false,"isSlot":false,"src":"126867:2:21","valueSize":1},{"declaration":30955,"isOffset":false,"isSlot":false,"src":"126896:2:21","valueSize":1},{"declaration":30958,"isOffset":false,"isSlot":false,"src":"126925:2:21","valueSize":1},{"declaration":30961,"isOffset":false,"isSlot":false,"src":"126954:2:21","valueSize":1},{"declaration":30964,"isOffset":false,"isSlot":false,"src":"126983:2:21","valueSize":1},{"declaration":30967,"isOffset":false,"isSlot":false,"src":"127012:2:21","valueSize":1},{"declaration":30970,"isOffset":false,"isSlot":false,"src":"127042:2:21","valueSize":1}],"id":30978,"nodeType":"InlineAssembly","src":"126773:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"125454:3:21","parameters":{"id":30943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30936,"mutability":"mutable","name":"p0","nameLocation":"125466:2:21","nodeType":"VariableDeclaration","scope":30980,"src":"125458:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30935,"name":"address","nodeType":"ElementaryTypeName","src":"125458:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30938,"mutability":"mutable","name":"p1","nameLocation":"125475:2:21","nodeType":"VariableDeclaration","scope":30980,"src":"125470:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30937,"name":"bool","nodeType":"ElementaryTypeName","src":"125470:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30940,"mutability":"mutable","name":"p2","nameLocation":"125487:2:21","nodeType":"VariableDeclaration","scope":30980,"src":"125479:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125479:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30942,"mutability":"mutable","name":"p3","nameLocation":"125499:2:21","nodeType":"VariableDeclaration","scope":30980,"src":"125491:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30941,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125491:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"125457:45:21"},"returnParameters":{"id":30944,"nodeType":"ParameterList","parameters":[],"src":"125517:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31014,"nodeType":"FunctionDefinition","src":"127067:878:21","nodes":[],"body":{"id":31013,"nodeType":"Block","src":"127142:803:21","nodes":[],"statements":[{"assignments":[30992],"declarations":[{"constant":false,"id":30992,"mutability":"mutable","name":"m0","nameLocation":"127160:2:21","nodeType":"VariableDeclaration","scope":31013,"src":"127152:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127152:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30993,"nodeType":"VariableDeclarationStatement","src":"127152:10:21"},{"assignments":[30995],"declarations":[{"constant":false,"id":30995,"mutability":"mutable","name":"m1","nameLocation":"127180:2:21","nodeType":"VariableDeclaration","scope":31013,"src":"127172:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127172:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30996,"nodeType":"VariableDeclarationStatement","src":"127172:10:21"},{"assignments":[30998],"declarations":[{"constant":false,"id":30998,"mutability":"mutable","name":"m2","nameLocation":"127200:2:21","nodeType":"VariableDeclaration","scope":31013,"src":"127192:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127192:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30999,"nodeType":"VariableDeclarationStatement","src":"127192:10:21"},{"assignments":[31001],"declarations":[{"constant":false,"id":31001,"mutability":"mutable","name":"m3","nameLocation":"127220:2:21","nodeType":"VariableDeclaration","scope":31013,"src":"127212:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31000,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127212:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31002,"nodeType":"VariableDeclarationStatement","src":"127212:10:21"},{"assignments":[31004],"declarations":[{"constant":false,"id":31004,"mutability":"mutable","name":"m4","nameLocation":"127240:2:21","nodeType":"VariableDeclaration","scope":31013,"src":"127232:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127232:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31005,"nodeType":"VariableDeclarationStatement","src":"127232:10:21"},{"AST":{"nativeSrc":"127304:381:21","nodeType":"YulBlock","src":"127304:381:21","statements":[{"nativeSrc":"127318:17:21","nodeType":"YulAssignment","src":"127318:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"127330:4:21","nodeType":"YulLiteral","src":"127330:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"127324:5:21","nodeType":"YulIdentifier","src":"127324:5:21"},"nativeSrc":"127324:11:21","nodeType":"YulFunctionCall","src":"127324:11:21"},"variableNames":[{"name":"m0","nativeSrc":"127318:2:21","nodeType":"YulIdentifier","src":"127318:2:21"}]},{"nativeSrc":"127348:17:21","nodeType":"YulAssignment","src":"127348:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"127360:4:21","nodeType":"YulLiteral","src":"127360:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"127354:5:21","nodeType":"YulIdentifier","src":"127354:5:21"},"nativeSrc":"127354:11:21","nodeType":"YulFunctionCall","src":"127354:11:21"},"variableNames":[{"name":"m1","nativeSrc":"127348:2:21","nodeType":"YulIdentifier","src":"127348:2:21"}]},{"nativeSrc":"127378:17:21","nodeType":"YulAssignment","src":"127378:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"127390:4:21","nodeType":"YulLiteral","src":"127390:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"127384:5:21","nodeType":"YulIdentifier","src":"127384:5:21"},"nativeSrc":"127384:11:21","nodeType":"YulFunctionCall","src":"127384:11:21"},"variableNames":[{"name":"m2","nativeSrc":"127378:2:21","nodeType":"YulIdentifier","src":"127378:2:21"}]},{"nativeSrc":"127408:17:21","nodeType":"YulAssignment","src":"127408:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"127420:4:21","nodeType":"YulLiteral","src":"127420:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"127414:5:21","nodeType":"YulIdentifier","src":"127414:5:21"},"nativeSrc":"127414:11:21","nodeType":"YulFunctionCall","src":"127414:11:21"},"variableNames":[{"name":"m3","nativeSrc":"127408:2:21","nodeType":"YulIdentifier","src":"127408:2:21"}]},{"nativeSrc":"127438:17:21","nodeType":"YulAssignment","src":"127438:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"127450:4:21","nodeType":"YulLiteral","src":"127450:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"127444:5:21","nodeType":"YulIdentifier","src":"127444:5:21"},"nativeSrc":"127444:11:21","nodeType":"YulFunctionCall","src":"127444:11:21"},"variableNames":[{"name":"m4","nativeSrc":"127438:2:21","nodeType":"YulIdentifier","src":"127438:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127542:4:21","nodeType":"YulLiteral","src":"127542:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"127548:10:21","nodeType":"YulLiteral","src":"127548:10:21","type":"","value":"0x478d1c62"}],"functionName":{"name":"mstore","nativeSrc":"127535:6:21","nodeType":"YulIdentifier","src":"127535:6:21"},"nativeSrc":"127535:24:21","nodeType":"YulFunctionCall","src":"127535:24:21"},"nativeSrc":"127535:24:21","nodeType":"YulExpressionStatement","src":"127535:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127579:4:21","nodeType":"YulLiteral","src":"127579:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"127585:2:21","nodeType":"YulIdentifier","src":"127585:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127572:6:21","nodeType":"YulIdentifier","src":"127572:6:21"},"nativeSrc":"127572:16:21","nodeType":"YulFunctionCall","src":"127572:16:21"},"nativeSrc":"127572:16:21","nodeType":"YulExpressionStatement","src":"127572:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127608:4:21","nodeType":"YulLiteral","src":"127608:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"127614:2:21","nodeType":"YulIdentifier","src":"127614:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127601:6:21","nodeType":"YulIdentifier","src":"127601:6:21"},"nativeSrc":"127601:16:21","nodeType":"YulFunctionCall","src":"127601:16:21"},"nativeSrc":"127601:16:21","nodeType":"YulExpressionStatement","src":"127601:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127637:4:21","nodeType":"YulLiteral","src":"127637:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"127643:2:21","nodeType":"YulIdentifier","src":"127643:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127630:6:21","nodeType":"YulIdentifier","src":"127630:6:21"},"nativeSrc":"127630:16:21","nodeType":"YulFunctionCall","src":"127630:16:21"},"nativeSrc":"127630:16:21","nodeType":"YulExpressionStatement","src":"127630:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127666:4:21","nodeType":"YulLiteral","src":"127666:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"127672:2:21","nodeType":"YulIdentifier","src":"127672:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127659:6:21","nodeType":"YulIdentifier","src":"127659:6:21"},"nativeSrc":"127659:16:21","nodeType":"YulFunctionCall","src":"127659:16:21"},"nativeSrc":"127659:16:21","nodeType":"YulExpressionStatement","src":"127659:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30992,"isOffset":false,"isSlot":false,"src":"127318:2:21","valueSize":1},{"declaration":30995,"isOffset":false,"isSlot":false,"src":"127348:2:21","valueSize":1},{"declaration":30998,"isOffset":false,"isSlot":false,"src":"127378:2:21","valueSize":1},{"declaration":31001,"isOffset":false,"isSlot":false,"src":"127408:2:21","valueSize":1},{"declaration":31004,"isOffset":false,"isSlot":false,"src":"127438:2:21","valueSize":1},{"declaration":30982,"isOffset":false,"isSlot":false,"src":"127585:2:21","valueSize":1},{"declaration":30984,"isOffset":false,"isSlot":false,"src":"127614:2:21","valueSize":1},{"declaration":30986,"isOffset":false,"isSlot":false,"src":"127643:2:21","valueSize":1},{"declaration":30988,"isOffset":false,"isSlot":false,"src":"127672:2:21","valueSize":1}],"id":31006,"nodeType":"InlineAssembly","src":"127295:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"127710:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"127716:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31007,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"127694:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"127694:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31011,"nodeType":"ExpressionStatement","src":"127694:27:21"},{"AST":{"nativeSrc":"127783:156:21","nodeType":"YulBlock","src":"127783:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"127804:4:21","nodeType":"YulLiteral","src":"127804:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"127810:2:21","nodeType":"YulIdentifier","src":"127810:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127797:6:21","nodeType":"YulIdentifier","src":"127797:6:21"},"nativeSrc":"127797:16:21","nodeType":"YulFunctionCall","src":"127797:16:21"},"nativeSrc":"127797:16:21","nodeType":"YulExpressionStatement","src":"127797:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127833:4:21","nodeType":"YulLiteral","src":"127833:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"127839:2:21","nodeType":"YulIdentifier","src":"127839:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127826:6:21","nodeType":"YulIdentifier","src":"127826:6:21"},"nativeSrc":"127826:16:21","nodeType":"YulFunctionCall","src":"127826:16:21"},"nativeSrc":"127826:16:21","nodeType":"YulExpressionStatement","src":"127826:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127862:4:21","nodeType":"YulLiteral","src":"127862:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"127868:2:21","nodeType":"YulIdentifier","src":"127868:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127855:6:21","nodeType":"YulIdentifier","src":"127855:6:21"},"nativeSrc":"127855:16:21","nodeType":"YulFunctionCall","src":"127855:16:21"},"nativeSrc":"127855:16:21","nodeType":"YulExpressionStatement","src":"127855:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127891:4:21","nodeType":"YulLiteral","src":"127891:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"127897:2:21","nodeType":"YulIdentifier","src":"127897:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127884:6:21","nodeType":"YulIdentifier","src":"127884:6:21"},"nativeSrc":"127884:16:21","nodeType":"YulFunctionCall","src":"127884:16:21"},"nativeSrc":"127884:16:21","nodeType":"YulExpressionStatement","src":"127884:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127920:4:21","nodeType":"YulLiteral","src":"127920:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"127926:2:21","nodeType":"YulIdentifier","src":"127926:2:21"}],"functionName":{"name":"mstore","nativeSrc":"127913:6:21","nodeType":"YulIdentifier","src":"127913:6:21"},"nativeSrc":"127913:16:21","nodeType":"YulFunctionCall","src":"127913:16:21"},"nativeSrc":"127913:16:21","nodeType":"YulExpressionStatement","src":"127913:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":30992,"isOffset":false,"isSlot":false,"src":"127810:2:21","valueSize":1},{"declaration":30995,"isOffset":false,"isSlot":false,"src":"127839:2:21","valueSize":1},{"declaration":30998,"isOffset":false,"isSlot":false,"src":"127868:2:21","valueSize":1},{"declaration":31001,"isOffset":false,"isSlot":false,"src":"127897:2:21","valueSize":1},{"declaration":31004,"isOffset":false,"isSlot":false,"src":"127926:2:21","valueSize":1}],"id":31012,"nodeType":"InlineAssembly","src":"127774:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"127076:3:21","parameters":{"id":30989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30982,"mutability":"mutable","name":"p0","nameLocation":"127088:2:21","nodeType":"VariableDeclaration","scope":31014,"src":"127080:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30981,"name":"address","nodeType":"ElementaryTypeName","src":"127080:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30984,"mutability":"mutable","name":"p1","nameLocation":"127100:2:21","nodeType":"VariableDeclaration","scope":31014,"src":"127092:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30983,"name":"uint256","nodeType":"ElementaryTypeName","src":"127092:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30986,"mutability":"mutable","name":"p2","nameLocation":"127112:2:21","nodeType":"VariableDeclaration","scope":31014,"src":"127104:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30985,"name":"address","nodeType":"ElementaryTypeName","src":"127104:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30988,"mutability":"mutable","name":"p3","nameLocation":"127124:2:21","nodeType":"VariableDeclaration","scope":31014,"src":"127116:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30987,"name":"address","nodeType":"ElementaryTypeName","src":"127116:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"127079:48:21"},"returnParameters":{"id":30990,"nodeType":"ParameterList","parameters":[],"src":"127142:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31048,"nodeType":"FunctionDefinition","src":"127951:872:21","nodes":[],"body":{"id":31047,"nodeType":"Block","src":"128023:800:21","nodes":[],"statements":[{"assignments":[31026],"declarations":[{"constant":false,"id":31026,"mutability":"mutable","name":"m0","nameLocation":"128041:2:21","nodeType":"VariableDeclaration","scope":31047,"src":"128033:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128033:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31027,"nodeType":"VariableDeclarationStatement","src":"128033:10:21"},{"assignments":[31029],"declarations":[{"constant":false,"id":31029,"mutability":"mutable","name":"m1","nameLocation":"128061:2:21","nodeType":"VariableDeclaration","scope":31047,"src":"128053:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128053:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31030,"nodeType":"VariableDeclarationStatement","src":"128053:10:21"},{"assignments":[31032],"declarations":[{"constant":false,"id":31032,"mutability":"mutable","name":"m2","nameLocation":"128081:2:21","nodeType":"VariableDeclaration","scope":31047,"src":"128073:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128073:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31033,"nodeType":"VariableDeclarationStatement","src":"128073:10:21"},{"assignments":[31035],"declarations":[{"constant":false,"id":31035,"mutability":"mutable","name":"m3","nameLocation":"128101:2:21","nodeType":"VariableDeclaration","scope":31047,"src":"128093:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31034,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128093:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31036,"nodeType":"VariableDeclarationStatement","src":"128093:10:21"},{"assignments":[31038],"declarations":[{"constant":false,"id":31038,"mutability":"mutable","name":"m4","nameLocation":"128121:2:21","nodeType":"VariableDeclaration","scope":31047,"src":"128113:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31037,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128113:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31039,"nodeType":"VariableDeclarationStatement","src":"128113:10:21"},{"AST":{"nativeSrc":"128185:378:21","nodeType":"YulBlock","src":"128185:378:21","statements":[{"nativeSrc":"128199:17:21","nodeType":"YulAssignment","src":"128199:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"128211:4:21","nodeType":"YulLiteral","src":"128211:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"128205:5:21","nodeType":"YulIdentifier","src":"128205:5:21"},"nativeSrc":"128205:11:21","nodeType":"YulFunctionCall","src":"128205:11:21"},"variableNames":[{"name":"m0","nativeSrc":"128199:2:21","nodeType":"YulIdentifier","src":"128199:2:21"}]},{"nativeSrc":"128229:17:21","nodeType":"YulAssignment","src":"128229:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"128241:4:21","nodeType":"YulLiteral","src":"128241:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"128235:5:21","nodeType":"YulIdentifier","src":"128235:5:21"},"nativeSrc":"128235:11:21","nodeType":"YulFunctionCall","src":"128235:11:21"},"variableNames":[{"name":"m1","nativeSrc":"128229:2:21","nodeType":"YulIdentifier","src":"128229:2:21"}]},{"nativeSrc":"128259:17:21","nodeType":"YulAssignment","src":"128259:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"128271:4:21","nodeType":"YulLiteral","src":"128271:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"128265:5:21","nodeType":"YulIdentifier","src":"128265:5:21"},"nativeSrc":"128265:11:21","nodeType":"YulFunctionCall","src":"128265:11:21"},"variableNames":[{"name":"m2","nativeSrc":"128259:2:21","nodeType":"YulIdentifier","src":"128259:2:21"}]},{"nativeSrc":"128289:17:21","nodeType":"YulAssignment","src":"128289:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"128301:4:21","nodeType":"YulLiteral","src":"128301:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"128295:5:21","nodeType":"YulIdentifier","src":"128295:5:21"},"nativeSrc":"128295:11:21","nodeType":"YulFunctionCall","src":"128295:11:21"},"variableNames":[{"name":"m3","nativeSrc":"128289:2:21","nodeType":"YulIdentifier","src":"128289:2:21"}]},{"nativeSrc":"128319:17:21","nodeType":"YulAssignment","src":"128319:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"128331:4:21","nodeType":"YulLiteral","src":"128331:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"128325:5:21","nodeType":"YulIdentifier","src":"128325:5:21"},"nativeSrc":"128325:11:21","nodeType":"YulFunctionCall","src":"128325:11:21"},"variableNames":[{"name":"m4","nativeSrc":"128319:2:21","nodeType":"YulIdentifier","src":"128319:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128420:4:21","nodeType":"YulLiteral","src":"128420:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"128426:10:21","nodeType":"YulLiteral","src":"128426:10:21","type":"","value":"0xa1bcc9b3"}],"functionName":{"name":"mstore","nativeSrc":"128413:6:21","nodeType":"YulIdentifier","src":"128413:6:21"},"nativeSrc":"128413:24:21","nodeType":"YulFunctionCall","src":"128413:24:21"},"nativeSrc":"128413:24:21","nodeType":"YulExpressionStatement","src":"128413:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128457:4:21","nodeType":"YulLiteral","src":"128457:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"128463:2:21","nodeType":"YulIdentifier","src":"128463:2:21"}],"functionName":{"name":"mstore","nativeSrc":"128450:6:21","nodeType":"YulIdentifier","src":"128450:6:21"},"nativeSrc":"128450:16:21","nodeType":"YulFunctionCall","src":"128450:16:21"},"nativeSrc":"128450:16:21","nodeType":"YulExpressionStatement","src":"128450:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128486:4:21","nodeType":"YulLiteral","src":"128486:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"128492:2:21","nodeType":"YulIdentifier","src":"128492:2:21"}],"functionName":{"name":"mstore","nativeSrc":"128479:6:21","nodeType":"YulIdentifier","src":"128479:6:21"},"nativeSrc":"128479:16:21","nodeType":"YulFunctionCall","src":"128479:16:21"},"nativeSrc":"128479:16:21","nodeType":"YulExpressionStatement","src":"128479:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128515:4:21","nodeType":"YulLiteral","src":"128515:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"128521:2:21","nodeType":"YulIdentifier","src":"128521:2:21"}],"functionName":{"name":"mstore","nativeSrc":"128508:6:21","nodeType":"YulIdentifier","src":"128508:6:21"},"nativeSrc":"128508:16:21","nodeType":"YulFunctionCall","src":"128508:16:21"},"nativeSrc":"128508:16:21","nodeType":"YulExpressionStatement","src":"128508:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128544:4:21","nodeType":"YulLiteral","src":"128544:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"128550:2:21","nodeType":"YulIdentifier","src":"128550:2:21"}],"functionName":{"name":"mstore","nativeSrc":"128537:6:21","nodeType":"YulIdentifier","src":"128537:6:21"},"nativeSrc":"128537:16:21","nodeType":"YulFunctionCall","src":"128537:16:21"},"nativeSrc":"128537:16:21","nodeType":"YulExpressionStatement","src":"128537:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31026,"isOffset":false,"isSlot":false,"src":"128199:2:21","valueSize":1},{"declaration":31029,"isOffset":false,"isSlot":false,"src":"128229:2:21","valueSize":1},{"declaration":31032,"isOffset":false,"isSlot":false,"src":"128259:2:21","valueSize":1},{"declaration":31035,"isOffset":false,"isSlot":false,"src":"128289:2:21","valueSize":1},{"declaration":31038,"isOffset":false,"isSlot":false,"src":"128319:2:21","valueSize":1},{"declaration":31016,"isOffset":false,"isSlot":false,"src":"128463:2:21","valueSize":1},{"declaration":31018,"isOffset":false,"isSlot":false,"src":"128492:2:21","valueSize":1},{"declaration":31020,"isOffset":false,"isSlot":false,"src":"128521:2:21","valueSize":1},{"declaration":31022,"isOffset":false,"isSlot":false,"src":"128550:2:21","valueSize":1}],"id":31040,"nodeType":"InlineAssembly","src":"128176:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"128588:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"128594:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31041,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"128572:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"128572:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31045,"nodeType":"ExpressionStatement","src":"128572:27:21"},{"AST":{"nativeSrc":"128661:156:21","nodeType":"YulBlock","src":"128661:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"128682:4:21","nodeType":"YulLiteral","src":"128682:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"128688:2:21","nodeType":"YulIdentifier","src":"128688:2:21"}],"functionName":{"name":"mstore","nativeSrc":"128675:6:21","nodeType":"YulIdentifier","src":"128675:6:21"},"nativeSrc":"128675:16:21","nodeType":"YulFunctionCall","src":"128675:16:21"},"nativeSrc":"128675:16:21","nodeType":"YulExpressionStatement","src":"128675:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128711:4:21","nodeType":"YulLiteral","src":"128711:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"128717:2:21","nodeType":"YulIdentifier","src":"128717:2:21"}],"functionName":{"name":"mstore","nativeSrc":"128704:6:21","nodeType":"YulIdentifier","src":"128704:6:21"},"nativeSrc":"128704:16:21","nodeType":"YulFunctionCall","src":"128704:16:21"},"nativeSrc":"128704:16:21","nodeType":"YulExpressionStatement","src":"128704:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128740:4:21","nodeType":"YulLiteral","src":"128740:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"128746:2:21","nodeType":"YulIdentifier","src":"128746:2:21"}],"functionName":{"name":"mstore","nativeSrc":"128733:6:21","nodeType":"YulIdentifier","src":"128733:6:21"},"nativeSrc":"128733:16:21","nodeType":"YulFunctionCall","src":"128733:16:21"},"nativeSrc":"128733:16:21","nodeType":"YulExpressionStatement","src":"128733:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128769:4:21","nodeType":"YulLiteral","src":"128769:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"128775:2:21","nodeType":"YulIdentifier","src":"128775:2:21"}],"functionName":{"name":"mstore","nativeSrc":"128762:6:21","nodeType":"YulIdentifier","src":"128762:6:21"},"nativeSrc":"128762:16:21","nodeType":"YulFunctionCall","src":"128762:16:21"},"nativeSrc":"128762:16:21","nodeType":"YulExpressionStatement","src":"128762:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128798:4:21","nodeType":"YulLiteral","src":"128798:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"128804:2:21","nodeType":"YulIdentifier","src":"128804:2:21"}],"functionName":{"name":"mstore","nativeSrc":"128791:6:21","nodeType":"YulIdentifier","src":"128791:6:21"},"nativeSrc":"128791:16:21","nodeType":"YulFunctionCall","src":"128791:16:21"},"nativeSrc":"128791:16:21","nodeType":"YulExpressionStatement","src":"128791:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31026,"isOffset":false,"isSlot":false,"src":"128688:2:21","valueSize":1},{"declaration":31029,"isOffset":false,"isSlot":false,"src":"128717:2:21","valueSize":1},{"declaration":31032,"isOffset":false,"isSlot":false,"src":"128746:2:21","valueSize":1},{"declaration":31035,"isOffset":false,"isSlot":false,"src":"128775:2:21","valueSize":1},{"declaration":31038,"isOffset":false,"isSlot":false,"src":"128804:2:21","valueSize":1}],"id":31046,"nodeType":"InlineAssembly","src":"128652:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"127960:3:21","parameters":{"id":31023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31016,"mutability":"mutable","name":"p0","nameLocation":"127972:2:21","nodeType":"VariableDeclaration","scope":31048,"src":"127964:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31015,"name":"address","nodeType":"ElementaryTypeName","src":"127964:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31018,"mutability":"mutable","name":"p1","nameLocation":"127984:2:21","nodeType":"VariableDeclaration","scope":31048,"src":"127976:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31017,"name":"uint256","nodeType":"ElementaryTypeName","src":"127976:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31020,"mutability":"mutable","name":"p2","nameLocation":"127996:2:21","nodeType":"VariableDeclaration","scope":31048,"src":"127988:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31019,"name":"address","nodeType":"ElementaryTypeName","src":"127988:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31022,"mutability":"mutable","name":"p3","nameLocation":"128005:2:21","nodeType":"VariableDeclaration","scope":31048,"src":"128000:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31021,"name":"bool","nodeType":"ElementaryTypeName","src":"128000:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"127963:45:21"},"returnParameters":{"id":31024,"nodeType":"ParameterList","parameters":[],"src":"128023:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31082,"nodeType":"FunctionDefinition","src":"128829:878:21","nodes":[],"body":{"id":31081,"nodeType":"Block","src":"128904:803:21","nodes":[],"statements":[{"assignments":[31060],"declarations":[{"constant":false,"id":31060,"mutability":"mutable","name":"m0","nameLocation":"128922:2:21","nodeType":"VariableDeclaration","scope":31081,"src":"128914:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128914:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31061,"nodeType":"VariableDeclarationStatement","src":"128914:10:21"},{"assignments":[31063],"declarations":[{"constant":false,"id":31063,"mutability":"mutable","name":"m1","nameLocation":"128942:2:21","nodeType":"VariableDeclaration","scope":31081,"src":"128934:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128934:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31064,"nodeType":"VariableDeclarationStatement","src":"128934:10:21"},{"assignments":[31066],"declarations":[{"constant":false,"id":31066,"mutability":"mutable","name":"m2","nameLocation":"128962:2:21","nodeType":"VariableDeclaration","scope":31081,"src":"128954:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128954:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31067,"nodeType":"VariableDeclarationStatement","src":"128954:10:21"},{"assignments":[31069],"declarations":[{"constant":false,"id":31069,"mutability":"mutable","name":"m3","nameLocation":"128982:2:21","nodeType":"VariableDeclaration","scope":31081,"src":"128974:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128974:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31070,"nodeType":"VariableDeclarationStatement","src":"128974:10:21"},{"assignments":[31072],"declarations":[{"constant":false,"id":31072,"mutability":"mutable","name":"m4","nameLocation":"129002:2:21","nodeType":"VariableDeclaration","scope":31081,"src":"128994:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128994:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31073,"nodeType":"VariableDeclarationStatement","src":"128994:10:21"},{"AST":{"nativeSrc":"129066:381:21","nodeType":"YulBlock","src":"129066:381:21","statements":[{"nativeSrc":"129080:17:21","nodeType":"YulAssignment","src":"129080:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"129092:4:21","nodeType":"YulLiteral","src":"129092:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"129086:5:21","nodeType":"YulIdentifier","src":"129086:5:21"},"nativeSrc":"129086:11:21","nodeType":"YulFunctionCall","src":"129086:11:21"},"variableNames":[{"name":"m0","nativeSrc":"129080:2:21","nodeType":"YulIdentifier","src":"129080:2:21"}]},{"nativeSrc":"129110:17:21","nodeType":"YulAssignment","src":"129110:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"129122:4:21","nodeType":"YulLiteral","src":"129122:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"129116:5:21","nodeType":"YulIdentifier","src":"129116:5:21"},"nativeSrc":"129116:11:21","nodeType":"YulFunctionCall","src":"129116:11:21"},"variableNames":[{"name":"m1","nativeSrc":"129110:2:21","nodeType":"YulIdentifier","src":"129110:2:21"}]},{"nativeSrc":"129140:17:21","nodeType":"YulAssignment","src":"129140:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"129152:4:21","nodeType":"YulLiteral","src":"129152:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"129146:5:21","nodeType":"YulIdentifier","src":"129146:5:21"},"nativeSrc":"129146:11:21","nodeType":"YulFunctionCall","src":"129146:11:21"},"variableNames":[{"name":"m2","nativeSrc":"129140:2:21","nodeType":"YulIdentifier","src":"129140:2:21"}]},{"nativeSrc":"129170:17:21","nodeType":"YulAssignment","src":"129170:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"129182:4:21","nodeType":"YulLiteral","src":"129182:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"129176:5:21","nodeType":"YulIdentifier","src":"129176:5:21"},"nativeSrc":"129176:11:21","nodeType":"YulFunctionCall","src":"129176:11:21"},"variableNames":[{"name":"m3","nativeSrc":"129170:2:21","nodeType":"YulIdentifier","src":"129170:2:21"}]},{"nativeSrc":"129200:17:21","nodeType":"YulAssignment","src":"129200:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"129212:4:21","nodeType":"YulLiteral","src":"129212:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"129206:5:21","nodeType":"YulIdentifier","src":"129206:5:21"},"nativeSrc":"129206:11:21","nodeType":"YulFunctionCall","src":"129206:11:21"},"variableNames":[{"name":"m4","nativeSrc":"129200:2:21","nodeType":"YulIdentifier","src":"129200:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129304:4:21","nodeType":"YulLiteral","src":"129304:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"129310:10:21","nodeType":"YulLiteral","src":"129310:10:21","type":"","value":"0x100f650e"}],"functionName":{"name":"mstore","nativeSrc":"129297:6:21","nodeType":"YulIdentifier","src":"129297:6:21"},"nativeSrc":"129297:24:21","nodeType":"YulFunctionCall","src":"129297:24:21"},"nativeSrc":"129297:24:21","nodeType":"YulExpressionStatement","src":"129297:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129341:4:21","nodeType":"YulLiteral","src":"129341:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"129347:2:21","nodeType":"YulIdentifier","src":"129347:2:21"}],"functionName":{"name":"mstore","nativeSrc":"129334:6:21","nodeType":"YulIdentifier","src":"129334:6:21"},"nativeSrc":"129334:16:21","nodeType":"YulFunctionCall","src":"129334:16:21"},"nativeSrc":"129334:16:21","nodeType":"YulExpressionStatement","src":"129334:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129370:4:21","nodeType":"YulLiteral","src":"129370:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"129376:2:21","nodeType":"YulIdentifier","src":"129376:2:21"}],"functionName":{"name":"mstore","nativeSrc":"129363:6:21","nodeType":"YulIdentifier","src":"129363:6:21"},"nativeSrc":"129363:16:21","nodeType":"YulFunctionCall","src":"129363:16:21"},"nativeSrc":"129363:16:21","nodeType":"YulExpressionStatement","src":"129363:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129399:4:21","nodeType":"YulLiteral","src":"129399:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"129405:2:21","nodeType":"YulIdentifier","src":"129405:2:21"}],"functionName":{"name":"mstore","nativeSrc":"129392:6:21","nodeType":"YulIdentifier","src":"129392:6:21"},"nativeSrc":"129392:16:21","nodeType":"YulFunctionCall","src":"129392:16:21"},"nativeSrc":"129392:16:21","nodeType":"YulExpressionStatement","src":"129392:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129428:4:21","nodeType":"YulLiteral","src":"129428:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"129434:2:21","nodeType":"YulIdentifier","src":"129434:2:21"}],"functionName":{"name":"mstore","nativeSrc":"129421:6:21","nodeType":"YulIdentifier","src":"129421:6:21"},"nativeSrc":"129421:16:21","nodeType":"YulFunctionCall","src":"129421:16:21"},"nativeSrc":"129421:16:21","nodeType":"YulExpressionStatement","src":"129421:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31060,"isOffset":false,"isSlot":false,"src":"129080:2:21","valueSize":1},{"declaration":31063,"isOffset":false,"isSlot":false,"src":"129110:2:21","valueSize":1},{"declaration":31066,"isOffset":false,"isSlot":false,"src":"129140:2:21","valueSize":1},{"declaration":31069,"isOffset":false,"isSlot":false,"src":"129170:2:21","valueSize":1},{"declaration":31072,"isOffset":false,"isSlot":false,"src":"129200:2:21","valueSize":1},{"declaration":31050,"isOffset":false,"isSlot":false,"src":"129347:2:21","valueSize":1},{"declaration":31052,"isOffset":false,"isSlot":false,"src":"129376:2:21","valueSize":1},{"declaration":31054,"isOffset":false,"isSlot":false,"src":"129405:2:21","valueSize":1},{"declaration":31056,"isOffset":false,"isSlot":false,"src":"129434:2:21","valueSize":1}],"id":31074,"nodeType":"InlineAssembly","src":"129057:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"129472:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"129478:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"129456:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"129456:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31079,"nodeType":"ExpressionStatement","src":"129456:27:21"},{"AST":{"nativeSrc":"129545:156:21","nodeType":"YulBlock","src":"129545:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"129566:4:21","nodeType":"YulLiteral","src":"129566:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"129572:2:21","nodeType":"YulIdentifier","src":"129572:2:21"}],"functionName":{"name":"mstore","nativeSrc":"129559:6:21","nodeType":"YulIdentifier","src":"129559:6:21"},"nativeSrc":"129559:16:21","nodeType":"YulFunctionCall","src":"129559:16:21"},"nativeSrc":"129559:16:21","nodeType":"YulExpressionStatement","src":"129559:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129595:4:21","nodeType":"YulLiteral","src":"129595:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"129601:2:21","nodeType":"YulIdentifier","src":"129601:2:21"}],"functionName":{"name":"mstore","nativeSrc":"129588:6:21","nodeType":"YulIdentifier","src":"129588:6:21"},"nativeSrc":"129588:16:21","nodeType":"YulFunctionCall","src":"129588:16:21"},"nativeSrc":"129588:16:21","nodeType":"YulExpressionStatement","src":"129588:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129624:4:21","nodeType":"YulLiteral","src":"129624:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"129630:2:21","nodeType":"YulIdentifier","src":"129630:2:21"}],"functionName":{"name":"mstore","nativeSrc":"129617:6:21","nodeType":"YulIdentifier","src":"129617:6:21"},"nativeSrc":"129617:16:21","nodeType":"YulFunctionCall","src":"129617:16:21"},"nativeSrc":"129617:16:21","nodeType":"YulExpressionStatement","src":"129617:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129653:4:21","nodeType":"YulLiteral","src":"129653:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"129659:2:21","nodeType":"YulIdentifier","src":"129659:2:21"}],"functionName":{"name":"mstore","nativeSrc":"129646:6:21","nodeType":"YulIdentifier","src":"129646:6:21"},"nativeSrc":"129646:16:21","nodeType":"YulFunctionCall","src":"129646:16:21"},"nativeSrc":"129646:16:21","nodeType":"YulExpressionStatement","src":"129646:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129682:4:21","nodeType":"YulLiteral","src":"129682:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"129688:2:21","nodeType":"YulIdentifier","src":"129688:2:21"}],"functionName":{"name":"mstore","nativeSrc":"129675:6:21","nodeType":"YulIdentifier","src":"129675:6:21"},"nativeSrc":"129675:16:21","nodeType":"YulFunctionCall","src":"129675:16:21"},"nativeSrc":"129675:16:21","nodeType":"YulExpressionStatement","src":"129675:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31060,"isOffset":false,"isSlot":false,"src":"129572:2:21","valueSize":1},{"declaration":31063,"isOffset":false,"isSlot":false,"src":"129601:2:21","valueSize":1},{"declaration":31066,"isOffset":false,"isSlot":false,"src":"129630:2:21","valueSize":1},{"declaration":31069,"isOffset":false,"isSlot":false,"src":"129659:2:21","valueSize":1},{"declaration":31072,"isOffset":false,"isSlot":false,"src":"129688:2:21","valueSize":1}],"id":31080,"nodeType":"InlineAssembly","src":"129536:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"128838:3:21","parameters":{"id":31057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31050,"mutability":"mutable","name":"p0","nameLocation":"128850:2:21","nodeType":"VariableDeclaration","scope":31082,"src":"128842:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31049,"name":"address","nodeType":"ElementaryTypeName","src":"128842:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31052,"mutability":"mutable","name":"p1","nameLocation":"128862:2:21","nodeType":"VariableDeclaration","scope":31082,"src":"128854:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31051,"name":"uint256","nodeType":"ElementaryTypeName","src":"128854:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31054,"mutability":"mutable","name":"p2","nameLocation":"128874:2:21","nodeType":"VariableDeclaration","scope":31082,"src":"128866:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31053,"name":"address","nodeType":"ElementaryTypeName","src":"128866:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31056,"mutability":"mutable","name":"p3","nameLocation":"128886:2:21","nodeType":"VariableDeclaration","scope":31082,"src":"128878:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31055,"name":"uint256","nodeType":"ElementaryTypeName","src":"128878:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"128841:48:21"},"returnParameters":{"id":31058,"nodeType":"ParameterList","parameters":[],"src":"128904:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31122,"nodeType":"FunctionDefinition","src":"129713:1426:21","nodes":[],"body":{"id":31121,"nodeType":"Block","src":"129788:1351:21","nodes":[],"statements":[{"assignments":[31094],"declarations":[{"constant":false,"id":31094,"mutability":"mutable","name":"m0","nameLocation":"129806:2:21","nodeType":"VariableDeclaration","scope":31121,"src":"129798:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129798:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31095,"nodeType":"VariableDeclarationStatement","src":"129798:10:21"},{"assignments":[31097],"declarations":[{"constant":false,"id":31097,"mutability":"mutable","name":"m1","nameLocation":"129826:2:21","nodeType":"VariableDeclaration","scope":31121,"src":"129818:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129818:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31098,"nodeType":"VariableDeclarationStatement","src":"129818:10:21"},{"assignments":[31100],"declarations":[{"constant":false,"id":31100,"mutability":"mutable","name":"m2","nameLocation":"129846:2:21","nodeType":"VariableDeclaration","scope":31121,"src":"129838:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129838:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31101,"nodeType":"VariableDeclarationStatement","src":"129838:10:21"},{"assignments":[31103],"declarations":[{"constant":false,"id":31103,"mutability":"mutable","name":"m3","nameLocation":"129866:2:21","nodeType":"VariableDeclaration","scope":31121,"src":"129858:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129858:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31104,"nodeType":"VariableDeclarationStatement","src":"129858:10:21"},{"assignments":[31106],"declarations":[{"constant":false,"id":31106,"mutability":"mutable","name":"m4","nameLocation":"129886:2:21","nodeType":"VariableDeclaration","scope":31121,"src":"129878:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129878:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31107,"nodeType":"VariableDeclarationStatement","src":"129878:10:21"},{"assignments":[31109],"declarations":[{"constant":false,"id":31109,"mutability":"mutable","name":"m5","nameLocation":"129906:2:21","nodeType":"VariableDeclaration","scope":31121,"src":"129898:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129898:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31110,"nodeType":"VariableDeclarationStatement","src":"129898:10:21"},{"assignments":[31112],"declarations":[{"constant":false,"id":31112,"mutability":"mutable","name":"m6","nameLocation":"129926:2:21","nodeType":"VariableDeclaration","scope":31121,"src":"129918:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129918:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31113,"nodeType":"VariableDeclarationStatement","src":"129918:10:21"},{"AST":{"nativeSrc":"129990:831:21","nodeType":"YulBlock","src":"129990:831:21","statements":[{"body":{"nativeSrc":"130033:313:21","nodeType":"YulBlock","src":"130033:313:21","statements":[{"nativeSrc":"130051:15:21","nodeType":"YulVariableDeclaration","src":"130051:15:21","value":{"kind":"number","nativeSrc":"130065:1:21","nodeType":"YulLiteral","src":"130065:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"130055:6:21","nodeType":"YulTypedName","src":"130055:6:21","type":""}]},{"body":{"nativeSrc":"130136:40:21","nodeType":"YulBlock","src":"130136:40:21","statements":[{"body":{"nativeSrc":"130165:9:21","nodeType":"YulBlock","src":"130165:9:21","statements":[{"nativeSrc":"130167:5:21","nodeType":"YulBreak","src":"130167:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"130153:6:21","nodeType":"YulIdentifier","src":"130153:6:21"},{"name":"w","nativeSrc":"130161:1:21","nodeType":"YulIdentifier","src":"130161:1:21"}],"functionName":{"name":"byte","nativeSrc":"130148:4:21","nodeType":"YulIdentifier","src":"130148:4:21"},"nativeSrc":"130148:15:21","nodeType":"YulFunctionCall","src":"130148:15:21"}],"functionName":{"name":"iszero","nativeSrc":"130141:6:21","nodeType":"YulIdentifier","src":"130141:6:21"},"nativeSrc":"130141:23:21","nodeType":"YulFunctionCall","src":"130141:23:21"},"nativeSrc":"130138:36:21","nodeType":"YulIf","src":"130138:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"130093:6:21","nodeType":"YulIdentifier","src":"130093:6:21"},{"kind":"number","nativeSrc":"130101:4:21","nodeType":"YulLiteral","src":"130101:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"130090:2:21","nodeType":"YulIdentifier","src":"130090:2:21"},"nativeSrc":"130090:16:21","nodeType":"YulFunctionCall","src":"130090:16:21"},"nativeSrc":"130083:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"130107:28:21","nodeType":"YulBlock","src":"130107:28:21","statements":[{"nativeSrc":"130109:24:21","nodeType":"YulAssignment","src":"130109:24:21","value":{"arguments":[{"name":"length","nativeSrc":"130123:6:21","nodeType":"YulIdentifier","src":"130123:6:21"},{"kind":"number","nativeSrc":"130131:1:21","nodeType":"YulLiteral","src":"130131:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"130119:3:21","nodeType":"YulIdentifier","src":"130119:3:21"},"nativeSrc":"130119:14:21","nodeType":"YulFunctionCall","src":"130119:14:21"},"variableNames":[{"name":"length","nativeSrc":"130109:6:21","nodeType":"YulIdentifier","src":"130109:6:21"}]}]},"pre":{"nativeSrc":"130087:2:21","nodeType":"YulBlock","src":"130087:2:21","statements":[]},"src":"130083:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"130200:3:21","nodeType":"YulIdentifier","src":"130200:3:21"},{"name":"length","nativeSrc":"130205:6:21","nodeType":"YulIdentifier","src":"130205:6:21"}],"functionName":{"name":"mstore","nativeSrc":"130193:6:21","nodeType":"YulIdentifier","src":"130193:6:21"},"nativeSrc":"130193:19:21","nodeType":"YulFunctionCall","src":"130193:19:21"},"nativeSrc":"130193:19:21","nodeType":"YulExpressionStatement","src":"130193:19:21"},{"nativeSrc":"130229:37:21","nodeType":"YulVariableDeclaration","src":"130229:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"130246:3:21","nodeType":"YulLiteral","src":"130246:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"130255:1:21","nodeType":"YulLiteral","src":"130255:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"130258:6:21","nodeType":"YulIdentifier","src":"130258:6:21"}],"functionName":{"name":"shl","nativeSrc":"130251:3:21","nodeType":"YulIdentifier","src":"130251:3:21"},"nativeSrc":"130251:14:21","nodeType":"YulFunctionCall","src":"130251:14:21"}],"functionName":{"name":"sub","nativeSrc":"130242:3:21","nodeType":"YulIdentifier","src":"130242:3:21"},"nativeSrc":"130242:24:21","nodeType":"YulFunctionCall","src":"130242:24:21"},"variables":[{"name":"shift","nativeSrc":"130233:5:21","nodeType":"YulTypedName","src":"130233:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"130294:3:21","nodeType":"YulIdentifier","src":"130294:3:21"},{"kind":"number","nativeSrc":"130299:4:21","nodeType":"YulLiteral","src":"130299:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"130290:3:21","nodeType":"YulIdentifier","src":"130290:3:21"},"nativeSrc":"130290:14:21","nodeType":"YulFunctionCall","src":"130290:14:21"},{"arguments":[{"name":"shift","nativeSrc":"130310:5:21","nodeType":"YulIdentifier","src":"130310:5:21"},{"arguments":[{"name":"shift","nativeSrc":"130321:5:21","nodeType":"YulIdentifier","src":"130321:5:21"},{"name":"w","nativeSrc":"130328:1:21","nodeType":"YulIdentifier","src":"130328:1:21"}],"functionName":{"name":"shr","nativeSrc":"130317:3:21","nodeType":"YulIdentifier","src":"130317:3:21"},"nativeSrc":"130317:13:21","nodeType":"YulFunctionCall","src":"130317:13:21"}],"functionName":{"name":"shl","nativeSrc":"130306:3:21","nodeType":"YulIdentifier","src":"130306:3:21"},"nativeSrc":"130306:25:21","nodeType":"YulFunctionCall","src":"130306:25:21"}],"functionName":{"name":"mstore","nativeSrc":"130283:6:21","nodeType":"YulIdentifier","src":"130283:6:21"},"nativeSrc":"130283:49:21","nodeType":"YulFunctionCall","src":"130283:49:21"},"nativeSrc":"130283:49:21","nodeType":"YulExpressionStatement","src":"130283:49:21"}]},"name":"writeString","nativeSrc":"130004:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"130025:3:21","nodeType":"YulTypedName","src":"130025:3:21","type":""},{"name":"w","nativeSrc":"130030:1:21","nodeType":"YulTypedName","src":"130030:1:21","type":""}],"src":"130004:342:21"},{"nativeSrc":"130359:17:21","nodeType":"YulAssignment","src":"130359:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"130371:4:21","nodeType":"YulLiteral","src":"130371:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"130365:5:21","nodeType":"YulIdentifier","src":"130365:5:21"},"nativeSrc":"130365:11:21","nodeType":"YulFunctionCall","src":"130365:11:21"},"variableNames":[{"name":"m0","nativeSrc":"130359:2:21","nodeType":"YulIdentifier","src":"130359:2:21"}]},{"nativeSrc":"130389:17:21","nodeType":"YulAssignment","src":"130389:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"130401:4:21","nodeType":"YulLiteral","src":"130401:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"130395:5:21","nodeType":"YulIdentifier","src":"130395:5:21"},"nativeSrc":"130395:11:21","nodeType":"YulFunctionCall","src":"130395:11:21"},"variableNames":[{"name":"m1","nativeSrc":"130389:2:21","nodeType":"YulIdentifier","src":"130389:2:21"}]},{"nativeSrc":"130419:17:21","nodeType":"YulAssignment","src":"130419:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"130431:4:21","nodeType":"YulLiteral","src":"130431:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"130425:5:21","nodeType":"YulIdentifier","src":"130425:5:21"},"nativeSrc":"130425:11:21","nodeType":"YulFunctionCall","src":"130425:11:21"},"variableNames":[{"name":"m2","nativeSrc":"130419:2:21","nodeType":"YulIdentifier","src":"130419:2:21"}]},{"nativeSrc":"130449:17:21","nodeType":"YulAssignment","src":"130449:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"130461:4:21","nodeType":"YulLiteral","src":"130461:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"130455:5:21","nodeType":"YulIdentifier","src":"130455:5:21"},"nativeSrc":"130455:11:21","nodeType":"YulFunctionCall","src":"130455:11:21"},"variableNames":[{"name":"m3","nativeSrc":"130449:2:21","nodeType":"YulIdentifier","src":"130449:2:21"}]},{"nativeSrc":"130479:17:21","nodeType":"YulAssignment","src":"130479:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"130491:4:21","nodeType":"YulLiteral","src":"130491:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"130485:5:21","nodeType":"YulIdentifier","src":"130485:5:21"},"nativeSrc":"130485:11:21","nodeType":"YulFunctionCall","src":"130485:11:21"},"variableNames":[{"name":"m4","nativeSrc":"130479:2:21","nodeType":"YulIdentifier","src":"130479:2:21"}]},{"nativeSrc":"130509:17:21","nodeType":"YulAssignment","src":"130509:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"130521:4:21","nodeType":"YulLiteral","src":"130521:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"130515:5:21","nodeType":"YulIdentifier","src":"130515:5:21"},"nativeSrc":"130515:11:21","nodeType":"YulFunctionCall","src":"130515:11:21"},"variableNames":[{"name":"m5","nativeSrc":"130509:2:21","nodeType":"YulIdentifier","src":"130509:2:21"}]},{"nativeSrc":"130539:17:21","nodeType":"YulAssignment","src":"130539:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"130551:4:21","nodeType":"YulLiteral","src":"130551:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"130545:5:21","nodeType":"YulIdentifier","src":"130545:5:21"},"nativeSrc":"130545:11:21","nodeType":"YulFunctionCall","src":"130545:11:21"},"variableNames":[{"name":"m6","nativeSrc":"130539:2:21","nodeType":"YulIdentifier","src":"130539:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130642:4:21","nodeType":"YulLiteral","src":"130642:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"130648:10:21","nodeType":"YulLiteral","src":"130648:10:21","type":"","value":"0x1da986ea"}],"functionName":{"name":"mstore","nativeSrc":"130635:6:21","nodeType":"YulIdentifier","src":"130635:6:21"},"nativeSrc":"130635:24:21","nodeType":"YulFunctionCall","src":"130635:24:21"},"nativeSrc":"130635:24:21","nodeType":"YulExpressionStatement","src":"130635:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130679:4:21","nodeType":"YulLiteral","src":"130679:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"130685:2:21","nodeType":"YulIdentifier","src":"130685:2:21"}],"functionName":{"name":"mstore","nativeSrc":"130672:6:21","nodeType":"YulIdentifier","src":"130672:6:21"},"nativeSrc":"130672:16:21","nodeType":"YulFunctionCall","src":"130672:16:21"},"nativeSrc":"130672:16:21","nodeType":"YulExpressionStatement","src":"130672:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130708:4:21","nodeType":"YulLiteral","src":"130708:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"130714:2:21","nodeType":"YulIdentifier","src":"130714:2:21"}],"functionName":{"name":"mstore","nativeSrc":"130701:6:21","nodeType":"YulIdentifier","src":"130701:6:21"},"nativeSrc":"130701:16:21","nodeType":"YulFunctionCall","src":"130701:16:21"},"nativeSrc":"130701:16:21","nodeType":"YulExpressionStatement","src":"130701:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130737:4:21","nodeType":"YulLiteral","src":"130737:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"130743:2:21","nodeType":"YulIdentifier","src":"130743:2:21"}],"functionName":{"name":"mstore","nativeSrc":"130730:6:21","nodeType":"YulIdentifier","src":"130730:6:21"},"nativeSrc":"130730:16:21","nodeType":"YulFunctionCall","src":"130730:16:21"},"nativeSrc":"130730:16:21","nodeType":"YulExpressionStatement","src":"130730:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130766:4:21","nodeType":"YulLiteral","src":"130766:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"130772:4:21","nodeType":"YulLiteral","src":"130772:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"130759:6:21","nodeType":"YulIdentifier","src":"130759:6:21"},"nativeSrc":"130759:18:21","nodeType":"YulFunctionCall","src":"130759:18:21"},"nativeSrc":"130759:18:21","nodeType":"YulExpressionStatement","src":"130759:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130802:4:21","nodeType":"YulLiteral","src":"130802:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"130808:2:21","nodeType":"YulIdentifier","src":"130808:2:21"}],"functionName":{"name":"writeString","nativeSrc":"130790:11:21","nodeType":"YulIdentifier","src":"130790:11:21"},"nativeSrc":"130790:21:21","nodeType":"YulFunctionCall","src":"130790:21:21"},"nativeSrc":"130790:21:21","nodeType":"YulExpressionStatement","src":"130790:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31094,"isOffset":false,"isSlot":false,"src":"130359:2:21","valueSize":1},{"declaration":31097,"isOffset":false,"isSlot":false,"src":"130389:2:21","valueSize":1},{"declaration":31100,"isOffset":false,"isSlot":false,"src":"130419:2:21","valueSize":1},{"declaration":31103,"isOffset":false,"isSlot":false,"src":"130449:2:21","valueSize":1},{"declaration":31106,"isOffset":false,"isSlot":false,"src":"130479:2:21","valueSize":1},{"declaration":31109,"isOffset":false,"isSlot":false,"src":"130509:2:21","valueSize":1},{"declaration":31112,"isOffset":false,"isSlot":false,"src":"130539:2:21","valueSize":1},{"declaration":31084,"isOffset":false,"isSlot":false,"src":"130685:2:21","valueSize":1},{"declaration":31086,"isOffset":false,"isSlot":false,"src":"130714:2:21","valueSize":1},{"declaration":31088,"isOffset":false,"isSlot":false,"src":"130743:2:21","valueSize":1},{"declaration":31090,"isOffset":false,"isSlot":false,"src":"130808:2:21","valueSize":1}],"id":31114,"nodeType":"InlineAssembly","src":"129981:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"130846:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"130852:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"130830:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"130830:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31119,"nodeType":"ExpressionStatement","src":"130830:27:21"},{"AST":{"nativeSrc":"130919:214:21","nodeType":"YulBlock","src":"130919:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"130940:4:21","nodeType":"YulLiteral","src":"130940:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"130946:2:21","nodeType":"YulIdentifier","src":"130946:2:21"}],"functionName":{"name":"mstore","nativeSrc":"130933:6:21","nodeType":"YulIdentifier","src":"130933:6:21"},"nativeSrc":"130933:16:21","nodeType":"YulFunctionCall","src":"130933:16:21"},"nativeSrc":"130933:16:21","nodeType":"YulExpressionStatement","src":"130933:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130969:4:21","nodeType":"YulLiteral","src":"130969:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"130975:2:21","nodeType":"YulIdentifier","src":"130975:2:21"}],"functionName":{"name":"mstore","nativeSrc":"130962:6:21","nodeType":"YulIdentifier","src":"130962:6:21"},"nativeSrc":"130962:16:21","nodeType":"YulFunctionCall","src":"130962:16:21"},"nativeSrc":"130962:16:21","nodeType":"YulExpressionStatement","src":"130962:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130998:4:21","nodeType":"YulLiteral","src":"130998:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"131004:2:21","nodeType":"YulIdentifier","src":"131004:2:21"}],"functionName":{"name":"mstore","nativeSrc":"130991:6:21","nodeType":"YulIdentifier","src":"130991:6:21"},"nativeSrc":"130991:16:21","nodeType":"YulFunctionCall","src":"130991:16:21"},"nativeSrc":"130991:16:21","nodeType":"YulExpressionStatement","src":"130991:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131027:4:21","nodeType":"YulLiteral","src":"131027:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"131033:2:21","nodeType":"YulIdentifier","src":"131033:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131020:6:21","nodeType":"YulIdentifier","src":"131020:6:21"},"nativeSrc":"131020:16:21","nodeType":"YulFunctionCall","src":"131020:16:21"},"nativeSrc":"131020:16:21","nodeType":"YulExpressionStatement","src":"131020:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131056:4:21","nodeType":"YulLiteral","src":"131056:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"131062:2:21","nodeType":"YulIdentifier","src":"131062:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131049:6:21","nodeType":"YulIdentifier","src":"131049:6:21"},"nativeSrc":"131049:16:21","nodeType":"YulFunctionCall","src":"131049:16:21"},"nativeSrc":"131049:16:21","nodeType":"YulExpressionStatement","src":"131049:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131085:4:21","nodeType":"YulLiteral","src":"131085:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"131091:2:21","nodeType":"YulIdentifier","src":"131091:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131078:6:21","nodeType":"YulIdentifier","src":"131078:6:21"},"nativeSrc":"131078:16:21","nodeType":"YulFunctionCall","src":"131078:16:21"},"nativeSrc":"131078:16:21","nodeType":"YulExpressionStatement","src":"131078:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131114:4:21","nodeType":"YulLiteral","src":"131114:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"131120:2:21","nodeType":"YulIdentifier","src":"131120:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131107:6:21","nodeType":"YulIdentifier","src":"131107:6:21"},"nativeSrc":"131107:16:21","nodeType":"YulFunctionCall","src":"131107:16:21"},"nativeSrc":"131107:16:21","nodeType":"YulExpressionStatement","src":"131107:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31094,"isOffset":false,"isSlot":false,"src":"130946:2:21","valueSize":1},{"declaration":31097,"isOffset":false,"isSlot":false,"src":"130975:2:21","valueSize":1},{"declaration":31100,"isOffset":false,"isSlot":false,"src":"131004:2:21","valueSize":1},{"declaration":31103,"isOffset":false,"isSlot":false,"src":"131033:2:21","valueSize":1},{"declaration":31106,"isOffset":false,"isSlot":false,"src":"131062:2:21","valueSize":1},{"declaration":31109,"isOffset":false,"isSlot":false,"src":"131091:2:21","valueSize":1},{"declaration":31112,"isOffset":false,"isSlot":false,"src":"131120:2:21","valueSize":1}],"id":31120,"nodeType":"InlineAssembly","src":"130910:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"129722:3:21","parameters":{"id":31091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31084,"mutability":"mutable","name":"p0","nameLocation":"129734:2:21","nodeType":"VariableDeclaration","scope":31122,"src":"129726:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31083,"name":"address","nodeType":"ElementaryTypeName","src":"129726:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31086,"mutability":"mutable","name":"p1","nameLocation":"129746:2:21","nodeType":"VariableDeclaration","scope":31122,"src":"129738:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31085,"name":"uint256","nodeType":"ElementaryTypeName","src":"129738:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31088,"mutability":"mutable","name":"p2","nameLocation":"129758:2:21","nodeType":"VariableDeclaration","scope":31122,"src":"129750:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31087,"name":"address","nodeType":"ElementaryTypeName","src":"129750:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31090,"mutability":"mutable","name":"p3","nameLocation":"129770:2:21","nodeType":"VariableDeclaration","scope":31122,"src":"129762:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129762:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"129725:48:21"},"returnParameters":{"id":31092,"nodeType":"ParameterList","parameters":[],"src":"129788:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31156,"nodeType":"FunctionDefinition","src":"131145:872:21","nodes":[],"body":{"id":31155,"nodeType":"Block","src":"131217:800:21","nodes":[],"statements":[{"assignments":[31134],"declarations":[{"constant":false,"id":31134,"mutability":"mutable","name":"m0","nameLocation":"131235:2:21","nodeType":"VariableDeclaration","scope":31155,"src":"131227:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131227:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31135,"nodeType":"VariableDeclarationStatement","src":"131227:10:21"},{"assignments":[31137],"declarations":[{"constant":false,"id":31137,"mutability":"mutable","name":"m1","nameLocation":"131255:2:21","nodeType":"VariableDeclaration","scope":31155,"src":"131247:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131247:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31138,"nodeType":"VariableDeclarationStatement","src":"131247:10:21"},{"assignments":[31140],"declarations":[{"constant":false,"id":31140,"mutability":"mutable","name":"m2","nameLocation":"131275:2:21","nodeType":"VariableDeclaration","scope":31155,"src":"131267:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131267:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31141,"nodeType":"VariableDeclarationStatement","src":"131267:10:21"},{"assignments":[31143],"declarations":[{"constant":false,"id":31143,"mutability":"mutable","name":"m3","nameLocation":"131295:2:21","nodeType":"VariableDeclaration","scope":31155,"src":"131287:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131287:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31144,"nodeType":"VariableDeclarationStatement","src":"131287:10:21"},{"assignments":[31146],"declarations":[{"constant":false,"id":31146,"mutability":"mutable","name":"m4","nameLocation":"131315:2:21","nodeType":"VariableDeclaration","scope":31155,"src":"131307:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131307:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31147,"nodeType":"VariableDeclarationStatement","src":"131307:10:21"},{"AST":{"nativeSrc":"131379:378:21","nodeType":"YulBlock","src":"131379:378:21","statements":[{"nativeSrc":"131393:17:21","nodeType":"YulAssignment","src":"131393:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"131405:4:21","nodeType":"YulLiteral","src":"131405:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"131399:5:21","nodeType":"YulIdentifier","src":"131399:5:21"},"nativeSrc":"131399:11:21","nodeType":"YulFunctionCall","src":"131399:11:21"},"variableNames":[{"name":"m0","nativeSrc":"131393:2:21","nodeType":"YulIdentifier","src":"131393:2:21"}]},{"nativeSrc":"131423:17:21","nodeType":"YulAssignment","src":"131423:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"131435:4:21","nodeType":"YulLiteral","src":"131435:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"131429:5:21","nodeType":"YulIdentifier","src":"131429:5:21"},"nativeSrc":"131429:11:21","nodeType":"YulFunctionCall","src":"131429:11:21"},"variableNames":[{"name":"m1","nativeSrc":"131423:2:21","nodeType":"YulIdentifier","src":"131423:2:21"}]},{"nativeSrc":"131453:17:21","nodeType":"YulAssignment","src":"131453:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"131465:4:21","nodeType":"YulLiteral","src":"131465:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"131459:5:21","nodeType":"YulIdentifier","src":"131459:5:21"},"nativeSrc":"131459:11:21","nodeType":"YulFunctionCall","src":"131459:11:21"},"variableNames":[{"name":"m2","nativeSrc":"131453:2:21","nodeType":"YulIdentifier","src":"131453:2:21"}]},{"nativeSrc":"131483:17:21","nodeType":"YulAssignment","src":"131483:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"131495:4:21","nodeType":"YulLiteral","src":"131495:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"131489:5:21","nodeType":"YulIdentifier","src":"131489:5:21"},"nativeSrc":"131489:11:21","nodeType":"YulFunctionCall","src":"131489:11:21"},"variableNames":[{"name":"m3","nativeSrc":"131483:2:21","nodeType":"YulIdentifier","src":"131483:2:21"}]},{"nativeSrc":"131513:17:21","nodeType":"YulAssignment","src":"131513:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"131525:4:21","nodeType":"YulLiteral","src":"131525:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"131519:5:21","nodeType":"YulIdentifier","src":"131519:5:21"},"nativeSrc":"131519:11:21","nodeType":"YulFunctionCall","src":"131519:11:21"},"variableNames":[{"name":"m4","nativeSrc":"131513:2:21","nodeType":"YulIdentifier","src":"131513:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131614:4:21","nodeType":"YulLiteral","src":"131614:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"131620:10:21","nodeType":"YulLiteral","src":"131620:10:21","type":"","value":"0xa31bfdcc"}],"functionName":{"name":"mstore","nativeSrc":"131607:6:21","nodeType":"YulIdentifier","src":"131607:6:21"},"nativeSrc":"131607:24:21","nodeType":"YulFunctionCall","src":"131607:24:21"},"nativeSrc":"131607:24:21","nodeType":"YulExpressionStatement","src":"131607:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131651:4:21","nodeType":"YulLiteral","src":"131651:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"131657:2:21","nodeType":"YulIdentifier","src":"131657:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131644:6:21","nodeType":"YulIdentifier","src":"131644:6:21"},"nativeSrc":"131644:16:21","nodeType":"YulFunctionCall","src":"131644:16:21"},"nativeSrc":"131644:16:21","nodeType":"YulExpressionStatement","src":"131644:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131680:4:21","nodeType":"YulLiteral","src":"131680:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"131686:2:21","nodeType":"YulIdentifier","src":"131686:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131673:6:21","nodeType":"YulIdentifier","src":"131673:6:21"},"nativeSrc":"131673:16:21","nodeType":"YulFunctionCall","src":"131673:16:21"},"nativeSrc":"131673:16:21","nodeType":"YulExpressionStatement","src":"131673:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131709:4:21","nodeType":"YulLiteral","src":"131709:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"131715:2:21","nodeType":"YulIdentifier","src":"131715:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131702:6:21","nodeType":"YulIdentifier","src":"131702:6:21"},"nativeSrc":"131702:16:21","nodeType":"YulFunctionCall","src":"131702:16:21"},"nativeSrc":"131702:16:21","nodeType":"YulExpressionStatement","src":"131702:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131738:4:21","nodeType":"YulLiteral","src":"131738:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"131744:2:21","nodeType":"YulIdentifier","src":"131744:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131731:6:21","nodeType":"YulIdentifier","src":"131731:6:21"},"nativeSrc":"131731:16:21","nodeType":"YulFunctionCall","src":"131731:16:21"},"nativeSrc":"131731:16:21","nodeType":"YulExpressionStatement","src":"131731:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31134,"isOffset":false,"isSlot":false,"src":"131393:2:21","valueSize":1},{"declaration":31137,"isOffset":false,"isSlot":false,"src":"131423:2:21","valueSize":1},{"declaration":31140,"isOffset":false,"isSlot":false,"src":"131453:2:21","valueSize":1},{"declaration":31143,"isOffset":false,"isSlot":false,"src":"131483:2:21","valueSize":1},{"declaration":31146,"isOffset":false,"isSlot":false,"src":"131513:2:21","valueSize":1},{"declaration":31124,"isOffset":false,"isSlot":false,"src":"131657:2:21","valueSize":1},{"declaration":31126,"isOffset":false,"isSlot":false,"src":"131686:2:21","valueSize":1},{"declaration":31128,"isOffset":false,"isSlot":false,"src":"131715:2:21","valueSize":1},{"declaration":31130,"isOffset":false,"isSlot":false,"src":"131744:2:21","valueSize":1}],"id":31148,"nodeType":"InlineAssembly","src":"131370:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131782:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131788:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31149,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"131766:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"131766:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31153,"nodeType":"ExpressionStatement","src":"131766:27:21"},{"AST":{"nativeSrc":"131855:156:21","nodeType":"YulBlock","src":"131855:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"131876:4:21","nodeType":"YulLiteral","src":"131876:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"131882:2:21","nodeType":"YulIdentifier","src":"131882:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131869:6:21","nodeType":"YulIdentifier","src":"131869:6:21"},"nativeSrc":"131869:16:21","nodeType":"YulFunctionCall","src":"131869:16:21"},"nativeSrc":"131869:16:21","nodeType":"YulExpressionStatement","src":"131869:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131905:4:21","nodeType":"YulLiteral","src":"131905:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"131911:2:21","nodeType":"YulIdentifier","src":"131911:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131898:6:21","nodeType":"YulIdentifier","src":"131898:6:21"},"nativeSrc":"131898:16:21","nodeType":"YulFunctionCall","src":"131898:16:21"},"nativeSrc":"131898:16:21","nodeType":"YulExpressionStatement","src":"131898:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131934:4:21","nodeType":"YulLiteral","src":"131934:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"131940:2:21","nodeType":"YulIdentifier","src":"131940:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131927:6:21","nodeType":"YulIdentifier","src":"131927:6:21"},"nativeSrc":"131927:16:21","nodeType":"YulFunctionCall","src":"131927:16:21"},"nativeSrc":"131927:16:21","nodeType":"YulExpressionStatement","src":"131927:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131963:4:21","nodeType":"YulLiteral","src":"131963:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"131969:2:21","nodeType":"YulIdentifier","src":"131969:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131956:6:21","nodeType":"YulIdentifier","src":"131956:6:21"},"nativeSrc":"131956:16:21","nodeType":"YulFunctionCall","src":"131956:16:21"},"nativeSrc":"131956:16:21","nodeType":"YulExpressionStatement","src":"131956:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131992:4:21","nodeType":"YulLiteral","src":"131992:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"131998:2:21","nodeType":"YulIdentifier","src":"131998:2:21"}],"functionName":{"name":"mstore","nativeSrc":"131985:6:21","nodeType":"YulIdentifier","src":"131985:6:21"},"nativeSrc":"131985:16:21","nodeType":"YulFunctionCall","src":"131985:16:21"},"nativeSrc":"131985:16:21","nodeType":"YulExpressionStatement","src":"131985:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31134,"isOffset":false,"isSlot":false,"src":"131882:2:21","valueSize":1},{"declaration":31137,"isOffset":false,"isSlot":false,"src":"131911:2:21","valueSize":1},{"declaration":31140,"isOffset":false,"isSlot":false,"src":"131940:2:21","valueSize":1},{"declaration":31143,"isOffset":false,"isSlot":false,"src":"131969:2:21","valueSize":1},{"declaration":31146,"isOffset":false,"isSlot":false,"src":"131998:2:21","valueSize":1}],"id":31154,"nodeType":"InlineAssembly","src":"131846:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"131154:3:21","parameters":{"id":31131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31124,"mutability":"mutable","name":"p0","nameLocation":"131166:2:21","nodeType":"VariableDeclaration","scope":31156,"src":"131158:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31123,"name":"address","nodeType":"ElementaryTypeName","src":"131158:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31126,"mutability":"mutable","name":"p1","nameLocation":"131178:2:21","nodeType":"VariableDeclaration","scope":31156,"src":"131170:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31125,"name":"uint256","nodeType":"ElementaryTypeName","src":"131170:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31128,"mutability":"mutable","name":"p2","nameLocation":"131187:2:21","nodeType":"VariableDeclaration","scope":31156,"src":"131182:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31127,"name":"bool","nodeType":"ElementaryTypeName","src":"131182:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31130,"mutability":"mutable","name":"p3","nameLocation":"131199:2:21","nodeType":"VariableDeclaration","scope":31156,"src":"131191:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31129,"name":"address","nodeType":"ElementaryTypeName","src":"131191:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"131157:45:21"},"returnParameters":{"id":31132,"nodeType":"ParameterList","parameters":[],"src":"131217:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31190,"nodeType":"FunctionDefinition","src":"132023:866:21","nodes":[],"body":{"id":31189,"nodeType":"Block","src":"132092:797:21","nodes":[],"statements":[{"assignments":[31168],"declarations":[{"constant":false,"id":31168,"mutability":"mutable","name":"m0","nameLocation":"132110:2:21","nodeType":"VariableDeclaration","scope":31189,"src":"132102:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132102:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31169,"nodeType":"VariableDeclarationStatement","src":"132102:10:21"},{"assignments":[31171],"declarations":[{"constant":false,"id":31171,"mutability":"mutable","name":"m1","nameLocation":"132130:2:21","nodeType":"VariableDeclaration","scope":31189,"src":"132122:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132122:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31172,"nodeType":"VariableDeclarationStatement","src":"132122:10:21"},{"assignments":[31174],"declarations":[{"constant":false,"id":31174,"mutability":"mutable","name":"m2","nameLocation":"132150:2:21","nodeType":"VariableDeclaration","scope":31189,"src":"132142:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132142:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31175,"nodeType":"VariableDeclarationStatement","src":"132142:10:21"},{"assignments":[31177],"declarations":[{"constant":false,"id":31177,"mutability":"mutable","name":"m3","nameLocation":"132170:2:21","nodeType":"VariableDeclaration","scope":31189,"src":"132162:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132162:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31178,"nodeType":"VariableDeclarationStatement","src":"132162:10:21"},{"assignments":[31180],"declarations":[{"constant":false,"id":31180,"mutability":"mutable","name":"m4","nameLocation":"132190:2:21","nodeType":"VariableDeclaration","scope":31189,"src":"132182:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132182:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31181,"nodeType":"VariableDeclarationStatement","src":"132182:10:21"},{"AST":{"nativeSrc":"132254:375:21","nodeType":"YulBlock","src":"132254:375:21","statements":[{"nativeSrc":"132268:17:21","nodeType":"YulAssignment","src":"132268:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"132280:4:21","nodeType":"YulLiteral","src":"132280:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"132274:5:21","nodeType":"YulIdentifier","src":"132274:5:21"},"nativeSrc":"132274:11:21","nodeType":"YulFunctionCall","src":"132274:11:21"},"variableNames":[{"name":"m0","nativeSrc":"132268:2:21","nodeType":"YulIdentifier","src":"132268:2:21"}]},{"nativeSrc":"132298:17:21","nodeType":"YulAssignment","src":"132298:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"132310:4:21","nodeType":"YulLiteral","src":"132310:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"132304:5:21","nodeType":"YulIdentifier","src":"132304:5:21"},"nativeSrc":"132304:11:21","nodeType":"YulFunctionCall","src":"132304:11:21"},"variableNames":[{"name":"m1","nativeSrc":"132298:2:21","nodeType":"YulIdentifier","src":"132298:2:21"}]},{"nativeSrc":"132328:17:21","nodeType":"YulAssignment","src":"132328:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"132340:4:21","nodeType":"YulLiteral","src":"132340:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"132334:5:21","nodeType":"YulIdentifier","src":"132334:5:21"},"nativeSrc":"132334:11:21","nodeType":"YulFunctionCall","src":"132334:11:21"},"variableNames":[{"name":"m2","nativeSrc":"132328:2:21","nodeType":"YulIdentifier","src":"132328:2:21"}]},{"nativeSrc":"132358:17:21","nodeType":"YulAssignment","src":"132358:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"132370:4:21","nodeType":"YulLiteral","src":"132370:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"132364:5:21","nodeType":"YulIdentifier","src":"132364:5:21"},"nativeSrc":"132364:11:21","nodeType":"YulFunctionCall","src":"132364:11:21"},"variableNames":[{"name":"m3","nativeSrc":"132358:2:21","nodeType":"YulIdentifier","src":"132358:2:21"}]},{"nativeSrc":"132388:17:21","nodeType":"YulAssignment","src":"132388:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"132400:4:21","nodeType":"YulLiteral","src":"132400:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"132394:5:21","nodeType":"YulIdentifier","src":"132394:5:21"},"nativeSrc":"132394:11:21","nodeType":"YulFunctionCall","src":"132394:11:21"},"variableNames":[{"name":"m4","nativeSrc":"132388:2:21","nodeType":"YulIdentifier","src":"132388:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132486:4:21","nodeType":"YulLiteral","src":"132486:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"132492:10:21","nodeType":"YulLiteral","src":"132492:10:21","type":"","value":"0x3bf5e537"}],"functionName":{"name":"mstore","nativeSrc":"132479:6:21","nodeType":"YulIdentifier","src":"132479:6:21"},"nativeSrc":"132479:24:21","nodeType":"YulFunctionCall","src":"132479:24:21"},"nativeSrc":"132479:24:21","nodeType":"YulExpressionStatement","src":"132479:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132523:4:21","nodeType":"YulLiteral","src":"132523:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"132529:2:21","nodeType":"YulIdentifier","src":"132529:2:21"}],"functionName":{"name":"mstore","nativeSrc":"132516:6:21","nodeType":"YulIdentifier","src":"132516:6:21"},"nativeSrc":"132516:16:21","nodeType":"YulFunctionCall","src":"132516:16:21"},"nativeSrc":"132516:16:21","nodeType":"YulExpressionStatement","src":"132516:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132552:4:21","nodeType":"YulLiteral","src":"132552:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"132558:2:21","nodeType":"YulIdentifier","src":"132558:2:21"}],"functionName":{"name":"mstore","nativeSrc":"132545:6:21","nodeType":"YulIdentifier","src":"132545:6:21"},"nativeSrc":"132545:16:21","nodeType":"YulFunctionCall","src":"132545:16:21"},"nativeSrc":"132545:16:21","nodeType":"YulExpressionStatement","src":"132545:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132581:4:21","nodeType":"YulLiteral","src":"132581:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"132587:2:21","nodeType":"YulIdentifier","src":"132587:2:21"}],"functionName":{"name":"mstore","nativeSrc":"132574:6:21","nodeType":"YulIdentifier","src":"132574:6:21"},"nativeSrc":"132574:16:21","nodeType":"YulFunctionCall","src":"132574:16:21"},"nativeSrc":"132574:16:21","nodeType":"YulExpressionStatement","src":"132574:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132610:4:21","nodeType":"YulLiteral","src":"132610:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"132616:2:21","nodeType":"YulIdentifier","src":"132616:2:21"}],"functionName":{"name":"mstore","nativeSrc":"132603:6:21","nodeType":"YulIdentifier","src":"132603:6:21"},"nativeSrc":"132603:16:21","nodeType":"YulFunctionCall","src":"132603:16:21"},"nativeSrc":"132603:16:21","nodeType":"YulExpressionStatement","src":"132603:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31168,"isOffset":false,"isSlot":false,"src":"132268:2:21","valueSize":1},{"declaration":31171,"isOffset":false,"isSlot":false,"src":"132298:2:21","valueSize":1},{"declaration":31174,"isOffset":false,"isSlot":false,"src":"132328:2:21","valueSize":1},{"declaration":31177,"isOffset":false,"isSlot":false,"src":"132358:2:21","valueSize":1},{"declaration":31180,"isOffset":false,"isSlot":false,"src":"132388:2:21","valueSize":1},{"declaration":31158,"isOffset":false,"isSlot":false,"src":"132529:2:21","valueSize":1},{"declaration":31160,"isOffset":false,"isSlot":false,"src":"132558:2:21","valueSize":1},{"declaration":31162,"isOffset":false,"isSlot":false,"src":"132587:2:21","valueSize":1},{"declaration":31164,"isOffset":false,"isSlot":false,"src":"132616:2:21","valueSize":1}],"id":31182,"nodeType":"InlineAssembly","src":"132245:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"132654:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"132660:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31183,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"132638:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"132638:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31187,"nodeType":"ExpressionStatement","src":"132638:27:21"},{"AST":{"nativeSrc":"132727:156:21","nodeType":"YulBlock","src":"132727:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"132748:4:21","nodeType":"YulLiteral","src":"132748:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"132754:2:21","nodeType":"YulIdentifier","src":"132754:2:21"}],"functionName":{"name":"mstore","nativeSrc":"132741:6:21","nodeType":"YulIdentifier","src":"132741:6:21"},"nativeSrc":"132741:16:21","nodeType":"YulFunctionCall","src":"132741:16:21"},"nativeSrc":"132741:16:21","nodeType":"YulExpressionStatement","src":"132741:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132777:4:21","nodeType":"YulLiteral","src":"132777:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"132783:2:21","nodeType":"YulIdentifier","src":"132783:2:21"}],"functionName":{"name":"mstore","nativeSrc":"132770:6:21","nodeType":"YulIdentifier","src":"132770:6:21"},"nativeSrc":"132770:16:21","nodeType":"YulFunctionCall","src":"132770:16:21"},"nativeSrc":"132770:16:21","nodeType":"YulExpressionStatement","src":"132770:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132806:4:21","nodeType":"YulLiteral","src":"132806:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"132812:2:21","nodeType":"YulIdentifier","src":"132812:2:21"}],"functionName":{"name":"mstore","nativeSrc":"132799:6:21","nodeType":"YulIdentifier","src":"132799:6:21"},"nativeSrc":"132799:16:21","nodeType":"YulFunctionCall","src":"132799:16:21"},"nativeSrc":"132799:16:21","nodeType":"YulExpressionStatement","src":"132799:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132835:4:21","nodeType":"YulLiteral","src":"132835:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"132841:2:21","nodeType":"YulIdentifier","src":"132841:2:21"}],"functionName":{"name":"mstore","nativeSrc":"132828:6:21","nodeType":"YulIdentifier","src":"132828:6:21"},"nativeSrc":"132828:16:21","nodeType":"YulFunctionCall","src":"132828:16:21"},"nativeSrc":"132828:16:21","nodeType":"YulExpressionStatement","src":"132828:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132864:4:21","nodeType":"YulLiteral","src":"132864:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"132870:2:21","nodeType":"YulIdentifier","src":"132870:2:21"}],"functionName":{"name":"mstore","nativeSrc":"132857:6:21","nodeType":"YulIdentifier","src":"132857:6:21"},"nativeSrc":"132857:16:21","nodeType":"YulFunctionCall","src":"132857:16:21"},"nativeSrc":"132857:16:21","nodeType":"YulExpressionStatement","src":"132857:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31168,"isOffset":false,"isSlot":false,"src":"132754:2:21","valueSize":1},{"declaration":31171,"isOffset":false,"isSlot":false,"src":"132783:2:21","valueSize":1},{"declaration":31174,"isOffset":false,"isSlot":false,"src":"132812:2:21","valueSize":1},{"declaration":31177,"isOffset":false,"isSlot":false,"src":"132841:2:21","valueSize":1},{"declaration":31180,"isOffset":false,"isSlot":false,"src":"132870:2:21","valueSize":1}],"id":31188,"nodeType":"InlineAssembly","src":"132718:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"132032:3:21","parameters":{"id":31165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31158,"mutability":"mutable","name":"p0","nameLocation":"132044:2:21","nodeType":"VariableDeclaration","scope":31190,"src":"132036:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31157,"name":"address","nodeType":"ElementaryTypeName","src":"132036:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31160,"mutability":"mutable","name":"p1","nameLocation":"132056:2:21","nodeType":"VariableDeclaration","scope":31190,"src":"132048:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31159,"name":"uint256","nodeType":"ElementaryTypeName","src":"132048:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31162,"mutability":"mutable","name":"p2","nameLocation":"132065:2:21","nodeType":"VariableDeclaration","scope":31190,"src":"132060:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31161,"name":"bool","nodeType":"ElementaryTypeName","src":"132060:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31164,"mutability":"mutable","name":"p3","nameLocation":"132074:2:21","nodeType":"VariableDeclaration","scope":31190,"src":"132069:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31163,"name":"bool","nodeType":"ElementaryTypeName","src":"132069:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"132035:42:21"},"returnParameters":{"id":31166,"nodeType":"ParameterList","parameters":[],"src":"132092:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31224,"nodeType":"FunctionDefinition","src":"132895:872:21","nodes":[],"body":{"id":31223,"nodeType":"Block","src":"132967:800:21","nodes":[],"statements":[{"assignments":[31202],"declarations":[{"constant":false,"id":31202,"mutability":"mutable","name":"m0","nameLocation":"132985:2:21","nodeType":"VariableDeclaration","scope":31223,"src":"132977:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132977:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31203,"nodeType":"VariableDeclarationStatement","src":"132977:10:21"},{"assignments":[31205],"declarations":[{"constant":false,"id":31205,"mutability":"mutable","name":"m1","nameLocation":"133005:2:21","nodeType":"VariableDeclaration","scope":31223,"src":"132997:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132997:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31206,"nodeType":"VariableDeclarationStatement","src":"132997:10:21"},{"assignments":[31208],"declarations":[{"constant":false,"id":31208,"mutability":"mutable","name":"m2","nameLocation":"133025:2:21","nodeType":"VariableDeclaration","scope":31223,"src":"133017:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133017:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31209,"nodeType":"VariableDeclarationStatement","src":"133017:10:21"},{"assignments":[31211],"declarations":[{"constant":false,"id":31211,"mutability":"mutable","name":"m3","nameLocation":"133045:2:21","nodeType":"VariableDeclaration","scope":31223,"src":"133037:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133037:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31212,"nodeType":"VariableDeclarationStatement","src":"133037:10:21"},{"assignments":[31214],"declarations":[{"constant":false,"id":31214,"mutability":"mutable","name":"m4","nameLocation":"133065:2:21","nodeType":"VariableDeclaration","scope":31223,"src":"133057:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133057:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31215,"nodeType":"VariableDeclarationStatement","src":"133057:10:21"},{"AST":{"nativeSrc":"133129:378:21","nodeType":"YulBlock","src":"133129:378:21","statements":[{"nativeSrc":"133143:17:21","nodeType":"YulAssignment","src":"133143:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"133155:4:21","nodeType":"YulLiteral","src":"133155:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"133149:5:21","nodeType":"YulIdentifier","src":"133149:5:21"},"nativeSrc":"133149:11:21","nodeType":"YulFunctionCall","src":"133149:11:21"},"variableNames":[{"name":"m0","nativeSrc":"133143:2:21","nodeType":"YulIdentifier","src":"133143:2:21"}]},{"nativeSrc":"133173:17:21","nodeType":"YulAssignment","src":"133173:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"133185:4:21","nodeType":"YulLiteral","src":"133185:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"133179:5:21","nodeType":"YulIdentifier","src":"133179:5:21"},"nativeSrc":"133179:11:21","nodeType":"YulFunctionCall","src":"133179:11:21"},"variableNames":[{"name":"m1","nativeSrc":"133173:2:21","nodeType":"YulIdentifier","src":"133173:2:21"}]},{"nativeSrc":"133203:17:21","nodeType":"YulAssignment","src":"133203:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"133215:4:21","nodeType":"YulLiteral","src":"133215:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"133209:5:21","nodeType":"YulIdentifier","src":"133209:5:21"},"nativeSrc":"133209:11:21","nodeType":"YulFunctionCall","src":"133209:11:21"},"variableNames":[{"name":"m2","nativeSrc":"133203:2:21","nodeType":"YulIdentifier","src":"133203:2:21"}]},{"nativeSrc":"133233:17:21","nodeType":"YulAssignment","src":"133233:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"133245:4:21","nodeType":"YulLiteral","src":"133245:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"133239:5:21","nodeType":"YulIdentifier","src":"133239:5:21"},"nativeSrc":"133239:11:21","nodeType":"YulFunctionCall","src":"133239:11:21"},"variableNames":[{"name":"m3","nativeSrc":"133233:2:21","nodeType":"YulIdentifier","src":"133233:2:21"}]},{"nativeSrc":"133263:17:21","nodeType":"YulAssignment","src":"133263:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"133275:4:21","nodeType":"YulLiteral","src":"133275:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"133269:5:21","nodeType":"YulIdentifier","src":"133269:5:21"},"nativeSrc":"133269:11:21","nodeType":"YulFunctionCall","src":"133269:11:21"},"variableNames":[{"name":"m4","nativeSrc":"133263:2:21","nodeType":"YulIdentifier","src":"133263:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133364:4:21","nodeType":"YulLiteral","src":"133364:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"133370:10:21","nodeType":"YulLiteral","src":"133370:10:21","type":"","value":"0x22f6b999"}],"functionName":{"name":"mstore","nativeSrc":"133357:6:21","nodeType":"YulIdentifier","src":"133357:6:21"},"nativeSrc":"133357:24:21","nodeType":"YulFunctionCall","src":"133357:24:21"},"nativeSrc":"133357:24:21","nodeType":"YulExpressionStatement","src":"133357:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133401:4:21","nodeType":"YulLiteral","src":"133401:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"133407:2:21","nodeType":"YulIdentifier","src":"133407:2:21"}],"functionName":{"name":"mstore","nativeSrc":"133394:6:21","nodeType":"YulIdentifier","src":"133394:6:21"},"nativeSrc":"133394:16:21","nodeType":"YulFunctionCall","src":"133394:16:21"},"nativeSrc":"133394:16:21","nodeType":"YulExpressionStatement","src":"133394:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133430:4:21","nodeType":"YulLiteral","src":"133430:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"133436:2:21","nodeType":"YulIdentifier","src":"133436:2:21"}],"functionName":{"name":"mstore","nativeSrc":"133423:6:21","nodeType":"YulIdentifier","src":"133423:6:21"},"nativeSrc":"133423:16:21","nodeType":"YulFunctionCall","src":"133423:16:21"},"nativeSrc":"133423:16:21","nodeType":"YulExpressionStatement","src":"133423:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133459:4:21","nodeType":"YulLiteral","src":"133459:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"133465:2:21","nodeType":"YulIdentifier","src":"133465:2:21"}],"functionName":{"name":"mstore","nativeSrc":"133452:6:21","nodeType":"YulIdentifier","src":"133452:6:21"},"nativeSrc":"133452:16:21","nodeType":"YulFunctionCall","src":"133452:16:21"},"nativeSrc":"133452:16:21","nodeType":"YulExpressionStatement","src":"133452:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133488:4:21","nodeType":"YulLiteral","src":"133488:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"133494:2:21","nodeType":"YulIdentifier","src":"133494:2:21"}],"functionName":{"name":"mstore","nativeSrc":"133481:6:21","nodeType":"YulIdentifier","src":"133481:6:21"},"nativeSrc":"133481:16:21","nodeType":"YulFunctionCall","src":"133481:16:21"},"nativeSrc":"133481:16:21","nodeType":"YulExpressionStatement","src":"133481:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31202,"isOffset":false,"isSlot":false,"src":"133143:2:21","valueSize":1},{"declaration":31205,"isOffset":false,"isSlot":false,"src":"133173:2:21","valueSize":1},{"declaration":31208,"isOffset":false,"isSlot":false,"src":"133203:2:21","valueSize":1},{"declaration":31211,"isOffset":false,"isSlot":false,"src":"133233:2:21","valueSize":1},{"declaration":31214,"isOffset":false,"isSlot":false,"src":"133263:2:21","valueSize":1},{"declaration":31192,"isOffset":false,"isSlot":false,"src":"133407:2:21","valueSize":1},{"declaration":31194,"isOffset":false,"isSlot":false,"src":"133436:2:21","valueSize":1},{"declaration":31196,"isOffset":false,"isSlot":false,"src":"133465:2:21","valueSize":1},{"declaration":31198,"isOffset":false,"isSlot":false,"src":"133494:2:21","valueSize":1}],"id":31216,"nodeType":"InlineAssembly","src":"133120:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"133532:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"133538:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"133516:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"133516:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31221,"nodeType":"ExpressionStatement","src":"133516:27:21"},{"AST":{"nativeSrc":"133605:156:21","nodeType":"YulBlock","src":"133605:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"133626:4:21","nodeType":"YulLiteral","src":"133626:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"133632:2:21","nodeType":"YulIdentifier","src":"133632:2:21"}],"functionName":{"name":"mstore","nativeSrc":"133619:6:21","nodeType":"YulIdentifier","src":"133619:6:21"},"nativeSrc":"133619:16:21","nodeType":"YulFunctionCall","src":"133619:16:21"},"nativeSrc":"133619:16:21","nodeType":"YulExpressionStatement","src":"133619:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133655:4:21","nodeType":"YulLiteral","src":"133655:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"133661:2:21","nodeType":"YulIdentifier","src":"133661:2:21"}],"functionName":{"name":"mstore","nativeSrc":"133648:6:21","nodeType":"YulIdentifier","src":"133648:6:21"},"nativeSrc":"133648:16:21","nodeType":"YulFunctionCall","src":"133648:16:21"},"nativeSrc":"133648:16:21","nodeType":"YulExpressionStatement","src":"133648:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133684:4:21","nodeType":"YulLiteral","src":"133684:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"133690:2:21","nodeType":"YulIdentifier","src":"133690:2:21"}],"functionName":{"name":"mstore","nativeSrc":"133677:6:21","nodeType":"YulIdentifier","src":"133677:6:21"},"nativeSrc":"133677:16:21","nodeType":"YulFunctionCall","src":"133677:16:21"},"nativeSrc":"133677:16:21","nodeType":"YulExpressionStatement","src":"133677:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133713:4:21","nodeType":"YulLiteral","src":"133713:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"133719:2:21","nodeType":"YulIdentifier","src":"133719:2:21"}],"functionName":{"name":"mstore","nativeSrc":"133706:6:21","nodeType":"YulIdentifier","src":"133706:6:21"},"nativeSrc":"133706:16:21","nodeType":"YulFunctionCall","src":"133706:16:21"},"nativeSrc":"133706:16:21","nodeType":"YulExpressionStatement","src":"133706:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133742:4:21","nodeType":"YulLiteral","src":"133742:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"133748:2:21","nodeType":"YulIdentifier","src":"133748:2:21"}],"functionName":{"name":"mstore","nativeSrc":"133735:6:21","nodeType":"YulIdentifier","src":"133735:6:21"},"nativeSrc":"133735:16:21","nodeType":"YulFunctionCall","src":"133735:16:21"},"nativeSrc":"133735:16:21","nodeType":"YulExpressionStatement","src":"133735:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31202,"isOffset":false,"isSlot":false,"src":"133632:2:21","valueSize":1},{"declaration":31205,"isOffset":false,"isSlot":false,"src":"133661:2:21","valueSize":1},{"declaration":31208,"isOffset":false,"isSlot":false,"src":"133690:2:21","valueSize":1},{"declaration":31211,"isOffset":false,"isSlot":false,"src":"133719:2:21","valueSize":1},{"declaration":31214,"isOffset":false,"isSlot":false,"src":"133748:2:21","valueSize":1}],"id":31222,"nodeType":"InlineAssembly","src":"133596:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"132904:3:21","parameters":{"id":31199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31192,"mutability":"mutable","name":"p0","nameLocation":"132916:2:21","nodeType":"VariableDeclaration","scope":31224,"src":"132908:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31191,"name":"address","nodeType":"ElementaryTypeName","src":"132908:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31194,"mutability":"mutable","name":"p1","nameLocation":"132928:2:21","nodeType":"VariableDeclaration","scope":31224,"src":"132920:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31193,"name":"uint256","nodeType":"ElementaryTypeName","src":"132920:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31196,"mutability":"mutable","name":"p2","nameLocation":"132937:2:21","nodeType":"VariableDeclaration","scope":31224,"src":"132932:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31195,"name":"bool","nodeType":"ElementaryTypeName","src":"132932:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31198,"mutability":"mutable","name":"p3","nameLocation":"132949:2:21","nodeType":"VariableDeclaration","scope":31224,"src":"132941:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31197,"name":"uint256","nodeType":"ElementaryTypeName","src":"132941:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"132907:45:21"},"returnParameters":{"id":31200,"nodeType":"ParameterList","parameters":[],"src":"132967:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31264,"nodeType":"FunctionDefinition","src":"133773:1420:21","nodes":[],"body":{"id":31263,"nodeType":"Block","src":"133845:1348:21","nodes":[],"statements":[{"assignments":[31236],"declarations":[{"constant":false,"id":31236,"mutability":"mutable","name":"m0","nameLocation":"133863:2:21","nodeType":"VariableDeclaration","scope":31263,"src":"133855:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133855:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31237,"nodeType":"VariableDeclarationStatement","src":"133855:10:21"},{"assignments":[31239],"declarations":[{"constant":false,"id":31239,"mutability":"mutable","name":"m1","nameLocation":"133883:2:21","nodeType":"VariableDeclaration","scope":31263,"src":"133875:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133875:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31240,"nodeType":"VariableDeclarationStatement","src":"133875:10:21"},{"assignments":[31242],"declarations":[{"constant":false,"id":31242,"mutability":"mutable","name":"m2","nameLocation":"133903:2:21","nodeType":"VariableDeclaration","scope":31263,"src":"133895:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133895:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31243,"nodeType":"VariableDeclarationStatement","src":"133895:10:21"},{"assignments":[31245],"declarations":[{"constant":false,"id":31245,"mutability":"mutable","name":"m3","nameLocation":"133923:2:21","nodeType":"VariableDeclaration","scope":31263,"src":"133915:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133915:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31246,"nodeType":"VariableDeclarationStatement","src":"133915:10:21"},{"assignments":[31248],"declarations":[{"constant":false,"id":31248,"mutability":"mutable","name":"m4","nameLocation":"133943:2:21","nodeType":"VariableDeclaration","scope":31263,"src":"133935:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31247,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133935:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31249,"nodeType":"VariableDeclarationStatement","src":"133935:10:21"},{"assignments":[31251],"declarations":[{"constant":false,"id":31251,"mutability":"mutable","name":"m5","nameLocation":"133963:2:21","nodeType":"VariableDeclaration","scope":31263,"src":"133955:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133955:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31252,"nodeType":"VariableDeclarationStatement","src":"133955:10:21"},{"assignments":[31254],"declarations":[{"constant":false,"id":31254,"mutability":"mutable","name":"m6","nameLocation":"133983:2:21","nodeType":"VariableDeclaration","scope":31263,"src":"133975:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133975:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31255,"nodeType":"VariableDeclarationStatement","src":"133975:10:21"},{"AST":{"nativeSrc":"134047:828:21","nodeType":"YulBlock","src":"134047:828:21","statements":[{"body":{"nativeSrc":"134090:313:21","nodeType":"YulBlock","src":"134090:313:21","statements":[{"nativeSrc":"134108:15:21","nodeType":"YulVariableDeclaration","src":"134108:15:21","value":{"kind":"number","nativeSrc":"134122:1:21","nodeType":"YulLiteral","src":"134122:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"134112:6:21","nodeType":"YulTypedName","src":"134112:6:21","type":""}]},{"body":{"nativeSrc":"134193:40:21","nodeType":"YulBlock","src":"134193:40:21","statements":[{"body":{"nativeSrc":"134222:9:21","nodeType":"YulBlock","src":"134222:9:21","statements":[{"nativeSrc":"134224:5:21","nodeType":"YulBreak","src":"134224:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"134210:6:21","nodeType":"YulIdentifier","src":"134210:6:21"},{"name":"w","nativeSrc":"134218:1:21","nodeType":"YulIdentifier","src":"134218:1:21"}],"functionName":{"name":"byte","nativeSrc":"134205:4:21","nodeType":"YulIdentifier","src":"134205:4:21"},"nativeSrc":"134205:15:21","nodeType":"YulFunctionCall","src":"134205:15:21"}],"functionName":{"name":"iszero","nativeSrc":"134198:6:21","nodeType":"YulIdentifier","src":"134198:6:21"},"nativeSrc":"134198:23:21","nodeType":"YulFunctionCall","src":"134198:23:21"},"nativeSrc":"134195:36:21","nodeType":"YulIf","src":"134195:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"134150:6:21","nodeType":"YulIdentifier","src":"134150:6:21"},{"kind":"number","nativeSrc":"134158:4:21","nodeType":"YulLiteral","src":"134158:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"134147:2:21","nodeType":"YulIdentifier","src":"134147:2:21"},"nativeSrc":"134147:16:21","nodeType":"YulFunctionCall","src":"134147:16:21"},"nativeSrc":"134140:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"134164:28:21","nodeType":"YulBlock","src":"134164:28:21","statements":[{"nativeSrc":"134166:24:21","nodeType":"YulAssignment","src":"134166:24:21","value":{"arguments":[{"name":"length","nativeSrc":"134180:6:21","nodeType":"YulIdentifier","src":"134180:6:21"},{"kind":"number","nativeSrc":"134188:1:21","nodeType":"YulLiteral","src":"134188:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"134176:3:21","nodeType":"YulIdentifier","src":"134176:3:21"},"nativeSrc":"134176:14:21","nodeType":"YulFunctionCall","src":"134176:14:21"},"variableNames":[{"name":"length","nativeSrc":"134166:6:21","nodeType":"YulIdentifier","src":"134166:6:21"}]}]},"pre":{"nativeSrc":"134144:2:21","nodeType":"YulBlock","src":"134144:2:21","statements":[]},"src":"134140:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"134257:3:21","nodeType":"YulIdentifier","src":"134257:3:21"},{"name":"length","nativeSrc":"134262:6:21","nodeType":"YulIdentifier","src":"134262:6:21"}],"functionName":{"name":"mstore","nativeSrc":"134250:6:21","nodeType":"YulIdentifier","src":"134250:6:21"},"nativeSrc":"134250:19:21","nodeType":"YulFunctionCall","src":"134250:19:21"},"nativeSrc":"134250:19:21","nodeType":"YulExpressionStatement","src":"134250:19:21"},{"nativeSrc":"134286:37:21","nodeType":"YulVariableDeclaration","src":"134286:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"134303:3:21","nodeType":"YulLiteral","src":"134303:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"134312:1:21","nodeType":"YulLiteral","src":"134312:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"134315:6:21","nodeType":"YulIdentifier","src":"134315:6:21"}],"functionName":{"name":"shl","nativeSrc":"134308:3:21","nodeType":"YulIdentifier","src":"134308:3:21"},"nativeSrc":"134308:14:21","nodeType":"YulFunctionCall","src":"134308:14:21"}],"functionName":{"name":"sub","nativeSrc":"134299:3:21","nodeType":"YulIdentifier","src":"134299:3:21"},"nativeSrc":"134299:24:21","nodeType":"YulFunctionCall","src":"134299:24:21"},"variables":[{"name":"shift","nativeSrc":"134290:5:21","nodeType":"YulTypedName","src":"134290:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"134351:3:21","nodeType":"YulIdentifier","src":"134351:3:21"},{"kind":"number","nativeSrc":"134356:4:21","nodeType":"YulLiteral","src":"134356:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"134347:3:21","nodeType":"YulIdentifier","src":"134347:3:21"},"nativeSrc":"134347:14:21","nodeType":"YulFunctionCall","src":"134347:14:21"},{"arguments":[{"name":"shift","nativeSrc":"134367:5:21","nodeType":"YulIdentifier","src":"134367:5:21"},{"arguments":[{"name":"shift","nativeSrc":"134378:5:21","nodeType":"YulIdentifier","src":"134378:5:21"},{"name":"w","nativeSrc":"134385:1:21","nodeType":"YulIdentifier","src":"134385:1:21"}],"functionName":{"name":"shr","nativeSrc":"134374:3:21","nodeType":"YulIdentifier","src":"134374:3:21"},"nativeSrc":"134374:13:21","nodeType":"YulFunctionCall","src":"134374:13:21"}],"functionName":{"name":"shl","nativeSrc":"134363:3:21","nodeType":"YulIdentifier","src":"134363:3:21"},"nativeSrc":"134363:25:21","nodeType":"YulFunctionCall","src":"134363:25:21"}],"functionName":{"name":"mstore","nativeSrc":"134340:6:21","nodeType":"YulIdentifier","src":"134340:6:21"},"nativeSrc":"134340:49:21","nodeType":"YulFunctionCall","src":"134340:49:21"},"nativeSrc":"134340:49:21","nodeType":"YulExpressionStatement","src":"134340:49:21"}]},"name":"writeString","nativeSrc":"134061:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"134082:3:21","nodeType":"YulTypedName","src":"134082:3:21","type":""},{"name":"w","nativeSrc":"134087:1:21","nodeType":"YulTypedName","src":"134087:1:21","type":""}],"src":"134061:342:21"},{"nativeSrc":"134416:17:21","nodeType":"YulAssignment","src":"134416:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"134428:4:21","nodeType":"YulLiteral","src":"134428:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"134422:5:21","nodeType":"YulIdentifier","src":"134422:5:21"},"nativeSrc":"134422:11:21","nodeType":"YulFunctionCall","src":"134422:11:21"},"variableNames":[{"name":"m0","nativeSrc":"134416:2:21","nodeType":"YulIdentifier","src":"134416:2:21"}]},{"nativeSrc":"134446:17:21","nodeType":"YulAssignment","src":"134446:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"134458:4:21","nodeType":"YulLiteral","src":"134458:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"134452:5:21","nodeType":"YulIdentifier","src":"134452:5:21"},"nativeSrc":"134452:11:21","nodeType":"YulFunctionCall","src":"134452:11:21"},"variableNames":[{"name":"m1","nativeSrc":"134446:2:21","nodeType":"YulIdentifier","src":"134446:2:21"}]},{"nativeSrc":"134476:17:21","nodeType":"YulAssignment","src":"134476:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"134488:4:21","nodeType":"YulLiteral","src":"134488:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"134482:5:21","nodeType":"YulIdentifier","src":"134482:5:21"},"nativeSrc":"134482:11:21","nodeType":"YulFunctionCall","src":"134482:11:21"},"variableNames":[{"name":"m2","nativeSrc":"134476:2:21","nodeType":"YulIdentifier","src":"134476:2:21"}]},{"nativeSrc":"134506:17:21","nodeType":"YulAssignment","src":"134506:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"134518:4:21","nodeType":"YulLiteral","src":"134518:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"134512:5:21","nodeType":"YulIdentifier","src":"134512:5:21"},"nativeSrc":"134512:11:21","nodeType":"YulFunctionCall","src":"134512:11:21"},"variableNames":[{"name":"m3","nativeSrc":"134506:2:21","nodeType":"YulIdentifier","src":"134506:2:21"}]},{"nativeSrc":"134536:17:21","nodeType":"YulAssignment","src":"134536:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"134548:4:21","nodeType":"YulLiteral","src":"134548:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"134542:5:21","nodeType":"YulIdentifier","src":"134542:5:21"},"nativeSrc":"134542:11:21","nodeType":"YulFunctionCall","src":"134542:11:21"},"variableNames":[{"name":"m4","nativeSrc":"134536:2:21","nodeType":"YulIdentifier","src":"134536:2:21"}]},{"nativeSrc":"134566:17:21","nodeType":"YulAssignment","src":"134566:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"134578:4:21","nodeType":"YulLiteral","src":"134578:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"134572:5:21","nodeType":"YulIdentifier","src":"134572:5:21"},"nativeSrc":"134572:11:21","nodeType":"YulFunctionCall","src":"134572:11:21"},"variableNames":[{"name":"m5","nativeSrc":"134566:2:21","nodeType":"YulIdentifier","src":"134566:2:21"}]},{"nativeSrc":"134596:17:21","nodeType":"YulAssignment","src":"134596:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"134608:4:21","nodeType":"YulLiteral","src":"134608:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"134602:5:21","nodeType":"YulIdentifier","src":"134602:5:21"},"nativeSrc":"134602:11:21","nodeType":"YulFunctionCall","src":"134602:11:21"},"variableNames":[{"name":"m6","nativeSrc":"134596:2:21","nodeType":"YulIdentifier","src":"134596:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134696:4:21","nodeType":"YulLiteral","src":"134696:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"134702:10:21","nodeType":"YulLiteral","src":"134702:10:21","type":"","value":"0xc5ad85f9"}],"functionName":{"name":"mstore","nativeSrc":"134689:6:21","nodeType":"YulIdentifier","src":"134689:6:21"},"nativeSrc":"134689:24:21","nodeType":"YulFunctionCall","src":"134689:24:21"},"nativeSrc":"134689:24:21","nodeType":"YulExpressionStatement","src":"134689:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134733:4:21","nodeType":"YulLiteral","src":"134733:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"134739:2:21","nodeType":"YulIdentifier","src":"134739:2:21"}],"functionName":{"name":"mstore","nativeSrc":"134726:6:21","nodeType":"YulIdentifier","src":"134726:6:21"},"nativeSrc":"134726:16:21","nodeType":"YulFunctionCall","src":"134726:16:21"},"nativeSrc":"134726:16:21","nodeType":"YulExpressionStatement","src":"134726:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134762:4:21","nodeType":"YulLiteral","src":"134762:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"134768:2:21","nodeType":"YulIdentifier","src":"134768:2:21"}],"functionName":{"name":"mstore","nativeSrc":"134755:6:21","nodeType":"YulIdentifier","src":"134755:6:21"},"nativeSrc":"134755:16:21","nodeType":"YulFunctionCall","src":"134755:16:21"},"nativeSrc":"134755:16:21","nodeType":"YulExpressionStatement","src":"134755:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134791:4:21","nodeType":"YulLiteral","src":"134791:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"134797:2:21","nodeType":"YulIdentifier","src":"134797:2:21"}],"functionName":{"name":"mstore","nativeSrc":"134784:6:21","nodeType":"YulIdentifier","src":"134784:6:21"},"nativeSrc":"134784:16:21","nodeType":"YulFunctionCall","src":"134784:16:21"},"nativeSrc":"134784:16:21","nodeType":"YulExpressionStatement","src":"134784:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134820:4:21","nodeType":"YulLiteral","src":"134820:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"134826:4:21","nodeType":"YulLiteral","src":"134826:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"134813:6:21","nodeType":"YulIdentifier","src":"134813:6:21"},"nativeSrc":"134813:18:21","nodeType":"YulFunctionCall","src":"134813:18:21"},"nativeSrc":"134813:18:21","nodeType":"YulExpressionStatement","src":"134813:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134856:4:21","nodeType":"YulLiteral","src":"134856:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"134862:2:21","nodeType":"YulIdentifier","src":"134862:2:21"}],"functionName":{"name":"writeString","nativeSrc":"134844:11:21","nodeType":"YulIdentifier","src":"134844:11:21"},"nativeSrc":"134844:21:21","nodeType":"YulFunctionCall","src":"134844:21:21"},"nativeSrc":"134844:21:21","nodeType":"YulExpressionStatement","src":"134844:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31236,"isOffset":false,"isSlot":false,"src":"134416:2:21","valueSize":1},{"declaration":31239,"isOffset":false,"isSlot":false,"src":"134446:2:21","valueSize":1},{"declaration":31242,"isOffset":false,"isSlot":false,"src":"134476:2:21","valueSize":1},{"declaration":31245,"isOffset":false,"isSlot":false,"src":"134506:2:21","valueSize":1},{"declaration":31248,"isOffset":false,"isSlot":false,"src":"134536:2:21","valueSize":1},{"declaration":31251,"isOffset":false,"isSlot":false,"src":"134566:2:21","valueSize":1},{"declaration":31254,"isOffset":false,"isSlot":false,"src":"134596:2:21","valueSize":1},{"declaration":31226,"isOffset":false,"isSlot":false,"src":"134739:2:21","valueSize":1},{"declaration":31228,"isOffset":false,"isSlot":false,"src":"134768:2:21","valueSize":1},{"declaration":31230,"isOffset":false,"isSlot":false,"src":"134797:2:21","valueSize":1},{"declaration":31232,"isOffset":false,"isSlot":false,"src":"134862:2:21","valueSize":1}],"id":31256,"nodeType":"InlineAssembly","src":"134038:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"134900:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"134906:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31257,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"134884:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"134884:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31261,"nodeType":"ExpressionStatement","src":"134884:27:21"},{"AST":{"nativeSrc":"134973:214:21","nodeType":"YulBlock","src":"134973:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"134994:4:21","nodeType":"YulLiteral","src":"134994:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"135000:2:21","nodeType":"YulIdentifier","src":"135000:2:21"}],"functionName":{"name":"mstore","nativeSrc":"134987:6:21","nodeType":"YulIdentifier","src":"134987:6:21"},"nativeSrc":"134987:16:21","nodeType":"YulFunctionCall","src":"134987:16:21"},"nativeSrc":"134987:16:21","nodeType":"YulExpressionStatement","src":"134987:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135023:4:21","nodeType":"YulLiteral","src":"135023:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"135029:2:21","nodeType":"YulIdentifier","src":"135029:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135016:6:21","nodeType":"YulIdentifier","src":"135016:6:21"},"nativeSrc":"135016:16:21","nodeType":"YulFunctionCall","src":"135016:16:21"},"nativeSrc":"135016:16:21","nodeType":"YulExpressionStatement","src":"135016:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135052:4:21","nodeType":"YulLiteral","src":"135052:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"135058:2:21","nodeType":"YulIdentifier","src":"135058:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135045:6:21","nodeType":"YulIdentifier","src":"135045:6:21"},"nativeSrc":"135045:16:21","nodeType":"YulFunctionCall","src":"135045:16:21"},"nativeSrc":"135045:16:21","nodeType":"YulExpressionStatement","src":"135045:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135081:4:21","nodeType":"YulLiteral","src":"135081:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"135087:2:21","nodeType":"YulIdentifier","src":"135087:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135074:6:21","nodeType":"YulIdentifier","src":"135074:6:21"},"nativeSrc":"135074:16:21","nodeType":"YulFunctionCall","src":"135074:16:21"},"nativeSrc":"135074:16:21","nodeType":"YulExpressionStatement","src":"135074:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135110:4:21","nodeType":"YulLiteral","src":"135110:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"135116:2:21","nodeType":"YulIdentifier","src":"135116:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135103:6:21","nodeType":"YulIdentifier","src":"135103:6:21"},"nativeSrc":"135103:16:21","nodeType":"YulFunctionCall","src":"135103:16:21"},"nativeSrc":"135103:16:21","nodeType":"YulExpressionStatement","src":"135103:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135139:4:21","nodeType":"YulLiteral","src":"135139:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"135145:2:21","nodeType":"YulIdentifier","src":"135145:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135132:6:21","nodeType":"YulIdentifier","src":"135132:6:21"},"nativeSrc":"135132:16:21","nodeType":"YulFunctionCall","src":"135132:16:21"},"nativeSrc":"135132:16:21","nodeType":"YulExpressionStatement","src":"135132:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135168:4:21","nodeType":"YulLiteral","src":"135168:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"135174:2:21","nodeType":"YulIdentifier","src":"135174:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135161:6:21","nodeType":"YulIdentifier","src":"135161:6:21"},"nativeSrc":"135161:16:21","nodeType":"YulFunctionCall","src":"135161:16:21"},"nativeSrc":"135161:16:21","nodeType":"YulExpressionStatement","src":"135161:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31236,"isOffset":false,"isSlot":false,"src":"135000:2:21","valueSize":1},{"declaration":31239,"isOffset":false,"isSlot":false,"src":"135029:2:21","valueSize":1},{"declaration":31242,"isOffset":false,"isSlot":false,"src":"135058:2:21","valueSize":1},{"declaration":31245,"isOffset":false,"isSlot":false,"src":"135087:2:21","valueSize":1},{"declaration":31248,"isOffset":false,"isSlot":false,"src":"135116:2:21","valueSize":1},{"declaration":31251,"isOffset":false,"isSlot":false,"src":"135145:2:21","valueSize":1},{"declaration":31254,"isOffset":false,"isSlot":false,"src":"135174:2:21","valueSize":1}],"id":31262,"nodeType":"InlineAssembly","src":"134964:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"133782:3:21","parameters":{"id":31233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31226,"mutability":"mutable","name":"p0","nameLocation":"133794:2:21","nodeType":"VariableDeclaration","scope":31264,"src":"133786:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31225,"name":"address","nodeType":"ElementaryTypeName","src":"133786:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31228,"mutability":"mutable","name":"p1","nameLocation":"133806:2:21","nodeType":"VariableDeclaration","scope":31264,"src":"133798:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31227,"name":"uint256","nodeType":"ElementaryTypeName","src":"133798:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31230,"mutability":"mutable","name":"p2","nameLocation":"133815:2:21","nodeType":"VariableDeclaration","scope":31264,"src":"133810:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31229,"name":"bool","nodeType":"ElementaryTypeName","src":"133810:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31232,"mutability":"mutable","name":"p3","nameLocation":"133827:2:21","nodeType":"VariableDeclaration","scope":31264,"src":"133819:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133819:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"133785:45:21"},"returnParameters":{"id":31234,"nodeType":"ParameterList","parameters":[],"src":"133845:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31298,"nodeType":"FunctionDefinition","src":"135199:878:21","nodes":[],"body":{"id":31297,"nodeType":"Block","src":"135274:803:21","nodes":[],"statements":[{"assignments":[31276],"declarations":[{"constant":false,"id":31276,"mutability":"mutable","name":"m0","nameLocation":"135292:2:21","nodeType":"VariableDeclaration","scope":31297,"src":"135284:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135284:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31277,"nodeType":"VariableDeclarationStatement","src":"135284:10:21"},{"assignments":[31279],"declarations":[{"constant":false,"id":31279,"mutability":"mutable","name":"m1","nameLocation":"135312:2:21","nodeType":"VariableDeclaration","scope":31297,"src":"135304:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135304:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31280,"nodeType":"VariableDeclarationStatement","src":"135304:10:21"},{"assignments":[31282],"declarations":[{"constant":false,"id":31282,"mutability":"mutable","name":"m2","nameLocation":"135332:2:21","nodeType":"VariableDeclaration","scope":31297,"src":"135324:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135324:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31283,"nodeType":"VariableDeclarationStatement","src":"135324:10:21"},{"assignments":[31285],"declarations":[{"constant":false,"id":31285,"mutability":"mutable","name":"m3","nameLocation":"135352:2:21","nodeType":"VariableDeclaration","scope":31297,"src":"135344:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135344:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31286,"nodeType":"VariableDeclarationStatement","src":"135344:10:21"},{"assignments":[31288],"declarations":[{"constant":false,"id":31288,"mutability":"mutable","name":"m4","nameLocation":"135372:2:21","nodeType":"VariableDeclaration","scope":31297,"src":"135364:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135364:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31289,"nodeType":"VariableDeclarationStatement","src":"135364:10:21"},{"AST":{"nativeSrc":"135436:381:21","nodeType":"YulBlock","src":"135436:381:21","statements":[{"nativeSrc":"135450:17:21","nodeType":"YulAssignment","src":"135450:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"135462:4:21","nodeType":"YulLiteral","src":"135462:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"135456:5:21","nodeType":"YulIdentifier","src":"135456:5:21"},"nativeSrc":"135456:11:21","nodeType":"YulFunctionCall","src":"135456:11:21"},"variableNames":[{"name":"m0","nativeSrc":"135450:2:21","nodeType":"YulIdentifier","src":"135450:2:21"}]},{"nativeSrc":"135480:17:21","nodeType":"YulAssignment","src":"135480:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"135492:4:21","nodeType":"YulLiteral","src":"135492:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"135486:5:21","nodeType":"YulIdentifier","src":"135486:5:21"},"nativeSrc":"135486:11:21","nodeType":"YulFunctionCall","src":"135486:11:21"},"variableNames":[{"name":"m1","nativeSrc":"135480:2:21","nodeType":"YulIdentifier","src":"135480:2:21"}]},{"nativeSrc":"135510:17:21","nodeType":"YulAssignment","src":"135510:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"135522:4:21","nodeType":"YulLiteral","src":"135522:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"135516:5:21","nodeType":"YulIdentifier","src":"135516:5:21"},"nativeSrc":"135516:11:21","nodeType":"YulFunctionCall","src":"135516:11:21"},"variableNames":[{"name":"m2","nativeSrc":"135510:2:21","nodeType":"YulIdentifier","src":"135510:2:21"}]},{"nativeSrc":"135540:17:21","nodeType":"YulAssignment","src":"135540:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"135552:4:21","nodeType":"YulLiteral","src":"135552:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"135546:5:21","nodeType":"YulIdentifier","src":"135546:5:21"},"nativeSrc":"135546:11:21","nodeType":"YulFunctionCall","src":"135546:11:21"},"variableNames":[{"name":"m3","nativeSrc":"135540:2:21","nodeType":"YulIdentifier","src":"135540:2:21"}]},{"nativeSrc":"135570:17:21","nodeType":"YulAssignment","src":"135570:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"135582:4:21","nodeType":"YulLiteral","src":"135582:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"135576:5:21","nodeType":"YulIdentifier","src":"135576:5:21"},"nativeSrc":"135576:11:21","nodeType":"YulFunctionCall","src":"135576:11:21"},"variableNames":[{"name":"m4","nativeSrc":"135570:2:21","nodeType":"YulIdentifier","src":"135570:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135674:4:21","nodeType":"YulLiteral","src":"135674:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"135680:10:21","nodeType":"YulLiteral","src":"135680:10:21","type":"","value":"0x20e3984d"}],"functionName":{"name":"mstore","nativeSrc":"135667:6:21","nodeType":"YulIdentifier","src":"135667:6:21"},"nativeSrc":"135667:24:21","nodeType":"YulFunctionCall","src":"135667:24:21"},"nativeSrc":"135667:24:21","nodeType":"YulExpressionStatement","src":"135667:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135711:4:21","nodeType":"YulLiteral","src":"135711:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"135717:2:21","nodeType":"YulIdentifier","src":"135717:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135704:6:21","nodeType":"YulIdentifier","src":"135704:6:21"},"nativeSrc":"135704:16:21","nodeType":"YulFunctionCall","src":"135704:16:21"},"nativeSrc":"135704:16:21","nodeType":"YulExpressionStatement","src":"135704:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135740:4:21","nodeType":"YulLiteral","src":"135740:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"135746:2:21","nodeType":"YulIdentifier","src":"135746:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135733:6:21","nodeType":"YulIdentifier","src":"135733:6:21"},"nativeSrc":"135733:16:21","nodeType":"YulFunctionCall","src":"135733:16:21"},"nativeSrc":"135733:16:21","nodeType":"YulExpressionStatement","src":"135733:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135769:4:21","nodeType":"YulLiteral","src":"135769:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"135775:2:21","nodeType":"YulIdentifier","src":"135775:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135762:6:21","nodeType":"YulIdentifier","src":"135762:6:21"},"nativeSrc":"135762:16:21","nodeType":"YulFunctionCall","src":"135762:16:21"},"nativeSrc":"135762:16:21","nodeType":"YulExpressionStatement","src":"135762:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135798:4:21","nodeType":"YulLiteral","src":"135798:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"135804:2:21","nodeType":"YulIdentifier","src":"135804:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135791:6:21","nodeType":"YulIdentifier","src":"135791:6:21"},"nativeSrc":"135791:16:21","nodeType":"YulFunctionCall","src":"135791:16:21"},"nativeSrc":"135791:16:21","nodeType":"YulExpressionStatement","src":"135791:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31276,"isOffset":false,"isSlot":false,"src":"135450:2:21","valueSize":1},{"declaration":31279,"isOffset":false,"isSlot":false,"src":"135480:2:21","valueSize":1},{"declaration":31282,"isOffset":false,"isSlot":false,"src":"135510:2:21","valueSize":1},{"declaration":31285,"isOffset":false,"isSlot":false,"src":"135540:2:21","valueSize":1},{"declaration":31288,"isOffset":false,"isSlot":false,"src":"135570:2:21","valueSize":1},{"declaration":31266,"isOffset":false,"isSlot":false,"src":"135717:2:21","valueSize":1},{"declaration":31268,"isOffset":false,"isSlot":false,"src":"135746:2:21","valueSize":1},{"declaration":31270,"isOffset":false,"isSlot":false,"src":"135775:2:21","valueSize":1},{"declaration":31272,"isOffset":false,"isSlot":false,"src":"135804:2:21","valueSize":1}],"id":31290,"nodeType":"InlineAssembly","src":"135427:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"135842:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"135848:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31291,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"135826:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"135826:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31295,"nodeType":"ExpressionStatement","src":"135826:27:21"},{"AST":{"nativeSrc":"135915:156:21","nodeType":"YulBlock","src":"135915:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"135936:4:21","nodeType":"YulLiteral","src":"135936:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"135942:2:21","nodeType":"YulIdentifier","src":"135942:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135929:6:21","nodeType":"YulIdentifier","src":"135929:6:21"},"nativeSrc":"135929:16:21","nodeType":"YulFunctionCall","src":"135929:16:21"},"nativeSrc":"135929:16:21","nodeType":"YulExpressionStatement","src":"135929:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135965:4:21","nodeType":"YulLiteral","src":"135965:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"135971:2:21","nodeType":"YulIdentifier","src":"135971:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135958:6:21","nodeType":"YulIdentifier","src":"135958:6:21"},"nativeSrc":"135958:16:21","nodeType":"YulFunctionCall","src":"135958:16:21"},"nativeSrc":"135958:16:21","nodeType":"YulExpressionStatement","src":"135958:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135994:4:21","nodeType":"YulLiteral","src":"135994:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"136000:2:21","nodeType":"YulIdentifier","src":"136000:2:21"}],"functionName":{"name":"mstore","nativeSrc":"135987:6:21","nodeType":"YulIdentifier","src":"135987:6:21"},"nativeSrc":"135987:16:21","nodeType":"YulFunctionCall","src":"135987:16:21"},"nativeSrc":"135987:16:21","nodeType":"YulExpressionStatement","src":"135987:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136023:4:21","nodeType":"YulLiteral","src":"136023:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"136029:2:21","nodeType":"YulIdentifier","src":"136029:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136016:6:21","nodeType":"YulIdentifier","src":"136016:6:21"},"nativeSrc":"136016:16:21","nodeType":"YulFunctionCall","src":"136016:16:21"},"nativeSrc":"136016:16:21","nodeType":"YulExpressionStatement","src":"136016:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136052:4:21","nodeType":"YulLiteral","src":"136052:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"136058:2:21","nodeType":"YulIdentifier","src":"136058:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136045:6:21","nodeType":"YulIdentifier","src":"136045:6:21"},"nativeSrc":"136045:16:21","nodeType":"YulFunctionCall","src":"136045:16:21"},"nativeSrc":"136045:16:21","nodeType":"YulExpressionStatement","src":"136045:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31276,"isOffset":false,"isSlot":false,"src":"135942:2:21","valueSize":1},{"declaration":31279,"isOffset":false,"isSlot":false,"src":"135971:2:21","valueSize":1},{"declaration":31282,"isOffset":false,"isSlot":false,"src":"136000:2:21","valueSize":1},{"declaration":31285,"isOffset":false,"isSlot":false,"src":"136029:2:21","valueSize":1},{"declaration":31288,"isOffset":false,"isSlot":false,"src":"136058:2:21","valueSize":1}],"id":31296,"nodeType":"InlineAssembly","src":"135906:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"135208:3:21","parameters":{"id":31273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31266,"mutability":"mutable","name":"p0","nameLocation":"135220:2:21","nodeType":"VariableDeclaration","scope":31298,"src":"135212:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31265,"name":"address","nodeType":"ElementaryTypeName","src":"135212:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31268,"mutability":"mutable","name":"p1","nameLocation":"135232:2:21","nodeType":"VariableDeclaration","scope":31298,"src":"135224:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31267,"name":"uint256","nodeType":"ElementaryTypeName","src":"135224:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31270,"mutability":"mutable","name":"p2","nameLocation":"135244:2:21","nodeType":"VariableDeclaration","scope":31298,"src":"135236:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31269,"name":"uint256","nodeType":"ElementaryTypeName","src":"135236:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31272,"mutability":"mutable","name":"p3","nameLocation":"135256:2:21","nodeType":"VariableDeclaration","scope":31298,"src":"135248:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31271,"name":"address","nodeType":"ElementaryTypeName","src":"135248:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"135211:48:21"},"returnParameters":{"id":31274,"nodeType":"ParameterList","parameters":[],"src":"135274:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31332,"nodeType":"FunctionDefinition","src":"136083:872:21","nodes":[],"body":{"id":31331,"nodeType":"Block","src":"136155:800:21","nodes":[],"statements":[{"assignments":[31310],"declarations":[{"constant":false,"id":31310,"mutability":"mutable","name":"m0","nameLocation":"136173:2:21","nodeType":"VariableDeclaration","scope":31331,"src":"136165:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136165:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31311,"nodeType":"VariableDeclarationStatement","src":"136165:10:21"},{"assignments":[31313],"declarations":[{"constant":false,"id":31313,"mutability":"mutable","name":"m1","nameLocation":"136193:2:21","nodeType":"VariableDeclaration","scope":31331,"src":"136185:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136185:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31314,"nodeType":"VariableDeclarationStatement","src":"136185:10:21"},{"assignments":[31316],"declarations":[{"constant":false,"id":31316,"mutability":"mutable","name":"m2","nameLocation":"136213:2:21","nodeType":"VariableDeclaration","scope":31331,"src":"136205:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136205:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31317,"nodeType":"VariableDeclarationStatement","src":"136205:10:21"},{"assignments":[31319],"declarations":[{"constant":false,"id":31319,"mutability":"mutable","name":"m3","nameLocation":"136233:2:21","nodeType":"VariableDeclaration","scope":31331,"src":"136225:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136225:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31320,"nodeType":"VariableDeclarationStatement","src":"136225:10:21"},{"assignments":[31322],"declarations":[{"constant":false,"id":31322,"mutability":"mutable","name":"m4","nameLocation":"136253:2:21","nodeType":"VariableDeclaration","scope":31331,"src":"136245:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136245:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31323,"nodeType":"VariableDeclarationStatement","src":"136245:10:21"},{"AST":{"nativeSrc":"136317:378:21","nodeType":"YulBlock","src":"136317:378:21","statements":[{"nativeSrc":"136331:17:21","nodeType":"YulAssignment","src":"136331:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"136343:4:21","nodeType":"YulLiteral","src":"136343:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"136337:5:21","nodeType":"YulIdentifier","src":"136337:5:21"},"nativeSrc":"136337:11:21","nodeType":"YulFunctionCall","src":"136337:11:21"},"variableNames":[{"name":"m0","nativeSrc":"136331:2:21","nodeType":"YulIdentifier","src":"136331:2:21"}]},{"nativeSrc":"136361:17:21","nodeType":"YulAssignment","src":"136361:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"136373:4:21","nodeType":"YulLiteral","src":"136373:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"136367:5:21","nodeType":"YulIdentifier","src":"136367:5:21"},"nativeSrc":"136367:11:21","nodeType":"YulFunctionCall","src":"136367:11:21"},"variableNames":[{"name":"m1","nativeSrc":"136361:2:21","nodeType":"YulIdentifier","src":"136361:2:21"}]},{"nativeSrc":"136391:17:21","nodeType":"YulAssignment","src":"136391:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"136403:4:21","nodeType":"YulLiteral","src":"136403:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"136397:5:21","nodeType":"YulIdentifier","src":"136397:5:21"},"nativeSrc":"136397:11:21","nodeType":"YulFunctionCall","src":"136397:11:21"},"variableNames":[{"name":"m2","nativeSrc":"136391:2:21","nodeType":"YulIdentifier","src":"136391:2:21"}]},{"nativeSrc":"136421:17:21","nodeType":"YulAssignment","src":"136421:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"136433:4:21","nodeType":"YulLiteral","src":"136433:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"136427:5:21","nodeType":"YulIdentifier","src":"136427:5:21"},"nativeSrc":"136427:11:21","nodeType":"YulFunctionCall","src":"136427:11:21"},"variableNames":[{"name":"m3","nativeSrc":"136421:2:21","nodeType":"YulIdentifier","src":"136421:2:21"}]},{"nativeSrc":"136451:17:21","nodeType":"YulAssignment","src":"136451:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"136463:4:21","nodeType":"YulLiteral","src":"136463:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"136457:5:21","nodeType":"YulIdentifier","src":"136457:5:21"},"nativeSrc":"136457:11:21","nodeType":"YulFunctionCall","src":"136457:11:21"},"variableNames":[{"name":"m4","nativeSrc":"136451:2:21","nodeType":"YulIdentifier","src":"136451:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136552:4:21","nodeType":"YulLiteral","src":"136552:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"136558:10:21","nodeType":"YulLiteral","src":"136558:10:21","type":"","value":"0x66f1bc67"}],"functionName":{"name":"mstore","nativeSrc":"136545:6:21","nodeType":"YulIdentifier","src":"136545:6:21"},"nativeSrc":"136545:24:21","nodeType":"YulFunctionCall","src":"136545:24:21"},"nativeSrc":"136545:24:21","nodeType":"YulExpressionStatement","src":"136545:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136589:4:21","nodeType":"YulLiteral","src":"136589:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"136595:2:21","nodeType":"YulIdentifier","src":"136595:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136582:6:21","nodeType":"YulIdentifier","src":"136582:6:21"},"nativeSrc":"136582:16:21","nodeType":"YulFunctionCall","src":"136582:16:21"},"nativeSrc":"136582:16:21","nodeType":"YulExpressionStatement","src":"136582:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136618:4:21","nodeType":"YulLiteral","src":"136618:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"136624:2:21","nodeType":"YulIdentifier","src":"136624:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136611:6:21","nodeType":"YulIdentifier","src":"136611:6:21"},"nativeSrc":"136611:16:21","nodeType":"YulFunctionCall","src":"136611:16:21"},"nativeSrc":"136611:16:21","nodeType":"YulExpressionStatement","src":"136611:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136647:4:21","nodeType":"YulLiteral","src":"136647:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"136653:2:21","nodeType":"YulIdentifier","src":"136653:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136640:6:21","nodeType":"YulIdentifier","src":"136640:6:21"},"nativeSrc":"136640:16:21","nodeType":"YulFunctionCall","src":"136640:16:21"},"nativeSrc":"136640:16:21","nodeType":"YulExpressionStatement","src":"136640:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136676:4:21","nodeType":"YulLiteral","src":"136676:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"136682:2:21","nodeType":"YulIdentifier","src":"136682:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136669:6:21","nodeType":"YulIdentifier","src":"136669:6:21"},"nativeSrc":"136669:16:21","nodeType":"YulFunctionCall","src":"136669:16:21"},"nativeSrc":"136669:16:21","nodeType":"YulExpressionStatement","src":"136669:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31310,"isOffset":false,"isSlot":false,"src":"136331:2:21","valueSize":1},{"declaration":31313,"isOffset":false,"isSlot":false,"src":"136361:2:21","valueSize":1},{"declaration":31316,"isOffset":false,"isSlot":false,"src":"136391:2:21","valueSize":1},{"declaration":31319,"isOffset":false,"isSlot":false,"src":"136421:2:21","valueSize":1},{"declaration":31322,"isOffset":false,"isSlot":false,"src":"136451:2:21","valueSize":1},{"declaration":31300,"isOffset":false,"isSlot":false,"src":"136595:2:21","valueSize":1},{"declaration":31302,"isOffset":false,"isSlot":false,"src":"136624:2:21","valueSize":1},{"declaration":31304,"isOffset":false,"isSlot":false,"src":"136653:2:21","valueSize":1},{"declaration":31306,"isOffset":false,"isSlot":false,"src":"136682:2:21","valueSize":1}],"id":31324,"nodeType":"InlineAssembly","src":"136308:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"136720:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"136726:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31325,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"136704:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"136704:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31329,"nodeType":"ExpressionStatement","src":"136704:27:21"},{"AST":{"nativeSrc":"136793:156:21","nodeType":"YulBlock","src":"136793:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"136814:4:21","nodeType":"YulLiteral","src":"136814:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"136820:2:21","nodeType":"YulIdentifier","src":"136820:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136807:6:21","nodeType":"YulIdentifier","src":"136807:6:21"},"nativeSrc":"136807:16:21","nodeType":"YulFunctionCall","src":"136807:16:21"},"nativeSrc":"136807:16:21","nodeType":"YulExpressionStatement","src":"136807:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136843:4:21","nodeType":"YulLiteral","src":"136843:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"136849:2:21","nodeType":"YulIdentifier","src":"136849:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136836:6:21","nodeType":"YulIdentifier","src":"136836:6:21"},"nativeSrc":"136836:16:21","nodeType":"YulFunctionCall","src":"136836:16:21"},"nativeSrc":"136836:16:21","nodeType":"YulExpressionStatement","src":"136836:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136872:4:21","nodeType":"YulLiteral","src":"136872:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"136878:2:21","nodeType":"YulIdentifier","src":"136878:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136865:6:21","nodeType":"YulIdentifier","src":"136865:6:21"},"nativeSrc":"136865:16:21","nodeType":"YulFunctionCall","src":"136865:16:21"},"nativeSrc":"136865:16:21","nodeType":"YulExpressionStatement","src":"136865:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136901:4:21","nodeType":"YulLiteral","src":"136901:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"136907:2:21","nodeType":"YulIdentifier","src":"136907:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136894:6:21","nodeType":"YulIdentifier","src":"136894:6:21"},"nativeSrc":"136894:16:21","nodeType":"YulFunctionCall","src":"136894:16:21"},"nativeSrc":"136894:16:21","nodeType":"YulExpressionStatement","src":"136894:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136930:4:21","nodeType":"YulLiteral","src":"136930:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"136936:2:21","nodeType":"YulIdentifier","src":"136936:2:21"}],"functionName":{"name":"mstore","nativeSrc":"136923:6:21","nodeType":"YulIdentifier","src":"136923:6:21"},"nativeSrc":"136923:16:21","nodeType":"YulFunctionCall","src":"136923:16:21"},"nativeSrc":"136923:16:21","nodeType":"YulExpressionStatement","src":"136923:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31310,"isOffset":false,"isSlot":false,"src":"136820:2:21","valueSize":1},{"declaration":31313,"isOffset":false,"isSlot":false,"src":"136849:2:21","valueSize":1},{"declaration":31316,"isOffset":false,"isSlot":false,"src":"136878:2:21","valueSize":1},{"declaration":31319,"isOffset":false,"isSlot":false,"src":"136907:2:21","valueSize":1},{"declaration":31322,"isOffset":false,"isSlot":false,"src":"136936:2:21","valueSize":1}],"id":31330,"nodeType":"InlineAssembly","src":"136784:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"136092:3:21","parameters":{"id":31307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31300,"mutability":"mutable","name":"p0","nameLocation":"136104:2:21","nodeType":"VariableDeclaration","scope":31332,"src":"136096:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31299,"name":"address","nodeType":"ElementaryTypeName","src":"136096:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31302,"mutability":"mutable","name":"p1","nameLocation":"136116:2:21","nodeType":"VariableDeclaration","scope":31332,"src":"136108:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31301,"name":"uint256","nodeType":"ElementaryTypeName","src":"136108:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31304,"mutability":"mutable","name":"p2","nameLocation":"136128:2:21","nodeType":"VariableDeclaration","scope":31332,"src":"136120:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31303,"name":"uint256","nodeType":"ElementaryTypeName","src":"136120:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31306,"mutability":"mutable","name":"p3","nameLocation":"136137:2:21","nodeType":"VariableDeclaration","scope":31332,"src":"136132:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31305,"name":"bool","nodeType":"ElementaryTypeName","src":"136132:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"136095:45:21"},"returnParameters":{"id":31308,"nodeType":"ParameterList","parameters":[],"src":"136155:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31366,"nodeType":"FunctionDefinition","src":"136961:878:21","nodes":[],"body":{"id":31365,"nodeType":"Block","src":"137036:803:21","nodes":[],"statements":[{"assignments":[31344],"declarations":[{"constant":false,"id":31344,"mutability":"mutable","name":"m0","nameLocation":"137054:2:21","nodeType":"VariableDeclaration","scope":31365,"src":"137046:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137046:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31345,"nodeType":"VariableDeclarationStatement","src":"137046:10:21"},{"assignments":[31347],"declarations":[{"constant":false,"id":31347,"mutability":"mutable","name":"m1","nameLocation":"137074:2:21","nodeType":"VariableDeclaration","scope":31365,"src":"137066:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137066:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31348,"nodeType":"VariableDeclarationStatement","src":"137066:10:21"},{"assignments":[31350],"declarations":[{"constant":false,"id":31350,"mutability":"mutable","name":"m2","nameLocation":"137094:2:21","nodeType":"VariableDeclaration","scope":31365,"src":"137086:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137086:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31351,"nodeType":"VariableDeclarationStatement","src":"137086:10:21"},{"assignments":[31353],"declarations":[{"constant":false,"id":31353,"mutability":"mutable","name":"m3","nameLocation":"137114:2:21","nodeType":"VariableDeclaration","scope":31365,"src":"137106:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137106:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31354,"nodeType":"VariableDeclarationStatement","src":"137106:10:21"},{"assignments":[31356],"declarations":[{"constant":false,"id":31356,"mutability":"mutable","name":"m4","nameLocation":"137134:2:21","nodeType":"VariableDeclaration","scope":31365,"src":"137126:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137126:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31357,"nodeType":"VariableDeclarationStatement","src":"137126:10:21"},{"AST":{"nativeSrc":"137198:381:21","nodeType":"YulBlock","src":"137198:381:21","statements":[{"nativeSrc":"137212:17:21","nodeType":"YulAssignment","src":"137212:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"137224:4:21","nodeType":"YulLiteral","src":"137224:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"137218:5:21","nodeType":"YulIdentifier","src":"137218:5:21"},"nativeSrc":"137218:11:21","nodeType":"YulFunctionCall","src":"137218:11:21"},"variableNames":[{"name":"m0","nativeSrc":"137212:2:21","nodeType":"YulIdentifier","src":"137212:2:21"}]},{"nativeSrc":"137242:17:21","nodeType":"YulAssignment","src":"137242:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"137254:4:21","nodeType":"YulLiteral","src":"137254:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"137248:5:21","nodeType":"YulIdentifier","src":"137248:5:21"},"nativeSrc":"137248:11:21","nodeType":"YulFunctionCall","src":"137248:11:21"},"variableNames":[{"name":"m1","nativeSrc":"137242:2:21","nodeType":"YulIdentifier","src":"137242:2:21"}]},{"nativeSrc":"137272:17:21","nodeType":"YulAssignment","src":"137272:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"137284:4:21","nodeType":"YulLiteral","src":"137284:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"137278:5:21","nodeType":"YulIdentifier","src":"137278:5:21"},"nativeSrc":"137278:11:21","nodeType":"YulFunctionCall","src":"137278:11:21"},"variableNames":[{"name":"m2","nativeSrc":"137272:2:21","nodeType":"YulIdentifier","src":"137272:2:21"}]},{"nativeSrc":"137302:17:21","nodeType":"YulAssignment","src":"137302:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"137314:4:21","nodeType":"YulLiteral","src":"137314:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"137308:5:21","nodeType":"YulIdentifier","src":"137308:5:21"},"nativeSrc":"137308:11:21","nodeType":"YulFunctionCall","src":"137308:11:21"},"variableNames":[{"name":"m3","nativeSrc":"137302:2:21","nodeType":"YulIdentifier","src":"137302:2:21"}]},{"nativeSrc":"137332:17:21","nodeType":"YulAssignment","src":"137332:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"137344:4:21","nodeType":"YulLiteral","src":"137344:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"137338:5:21","nodeType":"YulIdentifier","src":"137338:5:21"},"nativeSrc":"137338:11:21","nodeType":"YulFunctionCall","src":"137338:11:21"},"variableNames":[{"name":"m4","nativeSrc":"137332:2:21","nodeType":"YulIdentifier","src":"137332:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137436:4:21","nodeType":"YulLiteral","src":"137436:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"137442:10:21","nodeType":"YulLiteral","src":"137442:10:21","type":"","value":"0x34f0e636"}],"functionName":{"name":"mstore","nativeSrc":"137429:6:21","nodeType":"YulIdentifier","src":"137429:6:21"},"nativeSrc":"137429:24:21","nodeType":"YulFunctionCall","src":"137429:24:21"},"nativeSrc":"137429:24:21","nodeType":"YulExpressionStatement","src":"137429:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137473:4:21","nodeType":"YulLiteral","src":"137473:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"137479:2:21","nodeType":"YulIdentifier","src":"137479:2:21"}],"functionName":{"name":"mstore","nativeSrc":"137466:6:21","nodeType":"YulIdentifier","src":"137466:6:21"},"nativeSrc":"137466:16:21","nodeType":"YulFunctionCall","src":"137466:16:21"},"nativeSrc":"137466:16:21","nodeType":"YulExpressionStatement","src":"137466:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137502:4:21","nodeType":"YulLiteral","src":"137502:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"137508:2:21","nodeType":"YulIdentifier","src":"137508:2:21"}],"functionName":{"name":"mstore","nativeSrc":"137495:6:21","nodeType":"YulIdentifier","src":"137495:6:21"},"nativeSrc":"137495:16:21","nodeType":"YulFunctionCall","src":"137495:16:21"},"nativeSrc":"137495:16:21","nodeType":"YulExpressionStatement","src":"137495:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137531:4:21","nodeType":"YulLiteral","src":"137531:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"137537:2:21","nodeType":"YulIdentifier","src":"137537:2:21"}],"functionName":{"name":"mstore","nativeSrc":"137524:6:21","nodeType":"YulIdentifier","src":"137524:6:21"},"nativeSrc":"137524:16:21","nodeType":"YulFunctionCall","src":"137524:16:21"},"nativeSrc":"137524:16:21","nodeType":"YulExpressionStatement","src":"137524:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137560:4:21","nodeType":"YulLiteral","src":"137560:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"137566:2:21","nodeType":"YulIdentifier","src":"137566:2:21"}],"functionName":{"name":"mstore","nativeSrc":"137553:6:21","nodeType":"YulIdentifier","src":"137553:6:21"},"nativeSrc":"137553:16:21","nodeType":"YulFunctionCall","src":"137553:16:21"},"nativeSrc":"137553:16:21","nodeType":"YulExpressionStatement","src":"137553:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31344,"isOffset":false,"isSlot":false,"src":"137212:2:21","valueSize":1},{"declaration":31347,"isOffset":false,"isSlot":false,"src":"137242:2:21","valueSize":1},{"declaration":31350,"isOffset":false,"isSlot":false,"src":"137272:2:21","valueSize":1},{"declaration":31353,"isOffset":false,"isSlot":false,"src":"137302:2:21","valueSize":1},{"declaration":31356,"isOffset":false,"isSlot":false,"src":"137332:2:21","valueSize":1},{"declaration":31334,"isOffset":false,"isSlot":false,"src":"137479:2:21","valueSize":1},{"declaration":31336,"isOffset":false,"isSlot":false,"src":"137508:2:21","valueSize":1},{"declaration":31338,"isOffset":false,"isSlot":false,"src":"137537:2:21","valueSize":1},{"declaration":31340,"isOffset":false,"isSlot":false,"src":"137566:2:21","valueSize":1}],"id":31358,"nodeType":"InlineAssembly","src":"137189:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"137604:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"137610:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31359,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"137588:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"137588:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31363,"nodeType":"ExpressionStatement","src":"137588:27:21"},{"AST":{"nativeSrc":"137677:156:21","nodeType":"YulBlock","src":"137677:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"137698:4:21","nodeType":"YulLiteral","src":"137698:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"137704:2:21","nodeType":"YulIdentifier","src":"137704:2:21"}],"functionName":{"name":"mstore","nativeSrc":"137691:6:21","nodeType":"YulIdentifier","src":"137691:6:21"},"nativeSrc":"137691:16:21","nodeType":"YulFunctionCall","src":"137691:16:21"},"nativeSrc":"137691:16:21","nodeType":"YulExpressionStatement","src":"137691:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137727:4:21","nodeType":"YulLiteral","src":"137727:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"137733:2:21","nodeType":"YulIdentifier","src":"137733:2:21"}],"functionName":{"name":"mstore","nativeSrc":"137720:6:21","nodeType":"YulIdentifier","src":"137720:6:21"},"nativeSrc":"137720:16:21","nodeType":"YulFunctionCall","src":"137720:16:21"},"nativeSrc":"137720:16:21","nodeType":"YulExpressionStatement","src":"137720:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137756:4:21","nodeType":"YulLiteral","src":"137756:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"137762:2:21","nodeType":"YulIdentifier","src":"137762:2:21"}],"functionName":{"name":"mstore","nativeSrc":"137749:6:21","nodeType":"YulIdentifier","src":"137749:6:21"},"nativeSrc":"137749:16:21","nodeType":"YulFunctionCall","src":"137749:16:21"},"nativeSrc":"137749:16:21","nodeType":"YulExpressionStatement","src":"137749:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137785:4:21","nodeType":"YulLiteral","src":"137785:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"137791:2:21","nodeType":"YulIdentifier","src":"137791:2:21"}],"functionName":{"name":"mstore","nativeSrc":"137778:6:21","nodeType":"YulIdentifier","src":"137778:6:21"},"nativeSrc":"137778:16:21","nodeType":"YulFunctionCall","src":"137778:16:21"},"nativeSrc":"137778:16:21","nodeType":"YulExpressionStatement","src":"137778:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137814:4:21","nodeType":"YulLiteral","src":"137814:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"137820:2:21","nodeType":"YulIdentifier","src":"137820:2:21"}],"functionName":{"name":"mstore","nativeSrc":"137807:6:21","nodeType":"YulIdentifier","src":"137807:6:21"},"nativeSrc":"137807:16:21","nodeType":"YulFunctionCall","src":"137807:16:21"},"nativeSrc":"137807:16:21","nodeType":"YulExpressionStatement","src":"137807:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31344,"isOffset":false,"isSlot":false,"src":"137704:2:21","valueSize":1},{"declaration":31347,"isOffset":false,"isSlot":false,"src":"137733:2:21","valueSize":1},{"declaration":31350,"isOffset":false,"isSlot":false,"src":"137762:2:21","valueSize":1},{"declaration":31353,"isOffset":false,"isSlot":false,"src":"137791:2:21","valueSize":1},{"declaration":31356,"isOffset":false,"isSlot":false,"src":"137820:2:21","valueSize":1}],"id":31364,"nodeType":"InlineAssembly","src":"137668:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"136970:3:21","parameters":{"id":31341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31334,"mutability":"mutable","name":"p0","nameLocation":"136982:2:21","nodeType":"VariableDeclaration","scope":31366,"src":"136974:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31333,"name":"address","nodeType":"ElementaryTypeName","src":"136974:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31336,"mutability":"mutable","name":"p1","nameLocation":"136994:2:21","nodeType":"VariableDeclaration","scope":31366,"src":"136986:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31335,"name":"uint256","nodeType":"ElementaryTypeName","src":"136986:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31338,"mutability":"mutable","name":"p2","nameLocation":"137006:2:21","nodeType":"VariableDeclaration","scope":31366,"src":"136998:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31337,"name":"uint256","nodeType":"ElementaryTypeName","src":"136998:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31340,"mutability":"mutable","name":"p3","nameLocation":"137018:2:21","nodeType":"VariableDeclaration","scope":31366,"src":"137010:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31339,"name":"uint256","nodeType":"ElementaryTypeName","src":"137010:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"136973:48:21"},"returnParameters":{"id":31342,"nodeType":"ParameterList","parameters":[],"src":"137036:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31406,"nodeType":"FunctionDefinition","src":"137845:1426:21","nodes":[],"body":{"id":31405,"nodeType":"Block","src":"137920:1351:21","nodes":[],"statements":[{"assignments":[31378],"declarations":[{"constant":false,"id":31378,"mutability":"mutable","name":"m0","nameLocation":"137938:2:21","nodeType":"VariableDeclaration","scope":31405,"src":"137930:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137930:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31379,"nodeType":"VariableDeclarationStatement","src":"137930:10:21"},{"assignments":[31381],"declarations":[{"constant":false,"id":31381,"mutability":"mutable","name":"m1","nameLocation":"137958:2:21","nodeType":"VariableDeclaration","scope":31405,"src":"137950:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137950:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31382,"nodeType":"VariableDeclarationStatement","src":"137950:10:21"},{"assignments":[31384],"declarations":[{"constant":false,"id":31384,"mutability":"mutable","name":"m2","nameLocation":"137978:2:21","nodeType":"VariableDeclaration","scope":31405,"src":"137970:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31383,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137970:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31385,"nodeType":"VariableDeclarationStatement","src":"137970:10:21"},{"assignments":[31387],"declarations":[{"constant":false,"id":31387,"mutability":"mutable","name":"m3","nameLocation":"137998:2:21","nodeType":"VariableDeclaration","scope":31405,"src":"137990:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31386,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137990:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31388,"nodeType":"VariableDeclarationStatement","src":"137990:10:21"},{"assignments":[31390],"declarations":[{"constant":false,"id":31390,"mutability":"mutable","name":"m4","nameLocation":"138018:2:21","nodeType":"VariableDeclaration","scope":31405,"src":"138010:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31389,"name":"bytes32","nodeType":"ElementaryTypeName","src":"138010:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31391,"nodeType":"VariableDeclarationStatement","src":"138010:10:21"},{"assignments":[31393],"declarations":[{"constant":false,"id":31393,"mutability":"mutable","name":"m5","nameLocation":"138038:2:21","nodeType":"VariableDeclaration","scope":31405,"src":"138030:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"138030:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31394,"nodeType":"VariableDeclarationStatement","src":"138030:10:21"},{"assignments":[31396],"declarations":[{"constant":false,"id":31396,"mutability":"mutable","name":"m6","nameLocation":"138058:2:21","nodeType":"VariableDeclaration","scope":31405,"src":"138050:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"138050:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31397,"nodeType":"VariableDeclarationStatement","src":"138050:10:21"},{"AST":{"nativeSrc":"138122:831:21","nodeType":"YulBlock","src":"138122:831:21","statements":[{"body":{"nativeSrc":"138165:313:21","nodeType":"YulBlock","src":"138165:313:21","statements":[{"nativeSrc":"138183:15:21","nodeType":"YulVariableDeclaration","src":"138183:15:21","value":{"kind":"number","nativeSrc":"138197:1:21","nodeType":"YulLiteral","src":"138197:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"138187:6:21","nodeType":"YulTypedName","src":"138187:6:21","type":""}]},{"body":{"nativeSrc":"138268:40:21","nodeType":"YulBlock","src":"138268:40:21","statements":[{"body":{"nativeSrc":"138297:9:21","nodeType":"YulBlock","src":"138297:9:21","statements":[{"nativeSrc":"138299:5:21","nodeType":"YulBreak","src":"138299:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"138285:6:21","nodeType":"YulIdentifier","src":"138285:6:21"},{"name":"w","nativeSrc":"138293:1:21","nodeType":"YulIdentifier","src":"138293:1:21"}],"functionName":{"name":"byte","nativeSrc":"138280:4:21","nodeType":"YulIdentifier","src":"138280:4:21"},"nativeSrc":"138280:15:21","nodeType":"YulFunctionCall","src":"138280:15:21"}],"functionName":{"name":"iszero","nativeSrc":"138273:6:21","nodeType":"YulIdentifier","src":"138273:6:21"},"nativeSrc":"138273:23:21","nodeType":"YulFunctionCall","src":"138273:23:21"},"nativeSrc":"138270:36:21","nodeType":"YulIf","src":"138270:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"138225:6:21","nodeType":"YulIdentifier","src":"138225:6:21"},{"kind":"number","nativeSrc":"138233:4:21","nodeType":"YulLiteral","src":"138233:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"138222:2:21","nodeType":"YulIdentifier","src":"138222:2:21"},"nativeSrc":"138222:16:21","nodeType":"YulFunctionCall","src":"138222:16:21"},"nativeSrc":"138215:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"138239:28:21","nodeType":"YulBlock","src":"138239:28:21","statements":[{"nativeSrc":"138241:24:21","nodeType":"YulAssignment","src":"138241:24:21","value":{"arguments":[{"name":"length","nativeSrc":"138255:6:21","nodeType":"YulIdentifier","src":"138255:6:21"},{"kind":"number","nativeSrc":"138263:1:21","nodeType":"YulLiteral","src":"138263:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"138251:3:21","nodeType":"YulIdentifier","src":"138251:3:21"},"nativeSrc":"138251:14:21","nodeType":"YulFunctionCall","src":"138251:14:21"},"variableNames":[{"name":"length","nativeSrc":"138241:6:21","nodeType":"YulIdentifier","src":"138241:6:21"}]}]},"pre":{"nativeSrc":"138219:2:21","nodeType":"YulBlock","src":"138219:2:21","statements":[]},"src":"138215:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"138332:3:21","nodeType":"YulIdentifier","src":"138332:3:21"},{"name":"length","nativeSrc":"138337:6:21","nodeType":"YulIdentifier","src":"138337:6:21"}],"functionName":{"name":"mstore","nativeSrc":"138325:6:21","nodeType":"YulIdentifier","src":"138325:6:21"},"nativeSrc":"138325:19:21","nodeType":"YulFunctionCall","src":"138325:19:21"},"nativeSrc":"138325:19:21","nodeType":"YulExpressionStatement","src":"138325:19:21"},{"nativeSrc":"138361:37:21","nodeType":"YulVariableDeclaration","src":"138361:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"138378:3:21","nodeType":"YulLiteral","src":"138378:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"138387:1:21","nodeType":"YulLiteral","src":"138387:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"138390:6:21","nodeType":"YulIdentifier","src":"138390:6:21"}],"functionName":{"name":"shl","nativeSrc":"138383:3:21","nodeType":"YulIdentifier","src":"138383:3:21"},"nativeSrc":"138383:14:21","nodeType":"YulFunctionCall","src":"138383:14:21"}],"functionName":{"name":"sub","nativeSrc":"138374:3:21","nodeType":"YulIdentifier","src":"138374:3:21"},"nativeSrc":"138374:24:21","nodeType":"YulFunctionCall","src":"138374:24:21"},"variables":[{"name":"shift","nativeSrc":"138365:5:21","nodeType":"YulTypedName","src":"138365:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"138426:3:21","nodeType":"YulIdentifier","src":"138426:3:21"},{"kind":"number","nativeSrc":"138431:4:21","nodeType":"YulLiteral","src":"138431:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"138422:3:21","nodeType":"YulIdentifier","src":"138422:3:21"},"nativeSrc":"138422:14:21","nodeType":"YulFunctionCall","src":"138422:14:21"},{"arguments":[{"name":"shift","nativeSrc":"138442:5:21","nodeType":"YulIdentifier","src":"138442:5:21"},{"arguments":[{"name":"shift","nativeSrc":"138453:5:21","nodeType":"YulIdentifier","src":"138453:5:21"},{"name":"w","nativeSrc":"138460:1:21","nodeType":"YulIdentifier","src":"138460:1:21"}],"functionName":{"name":"shr","nativeSrc":"138449:3:21","nodeType":"YulIdentifier","src":"138449:3:21"},"nativeSrc":"138449:13:21","nodeType":"YulFunctionCall","src":"138449:13:21"}],"functionName":{"name":"shl","nativeSrc":"138438:3:21","nodeType":"YulIdentifier","src":"138438:3:21"},"nativeSrc":"138438:25:21","nodeType":"YulFunctionCall","src":"138438:25:21"}],"functionName":{"name":"mstore","nativeSrc":"138415:6:21","nodeType":"YulIdentifier","src":"138415:6:21"},"nativeSrc":"138415:49:21","nodeType":"YulFunctionCall","src":"138415:49:21"},"nativeSrc":"138415:49:21","nodeType":"YulExpressionStatement","src":"138415:49:21"}]},"name":"writeString","nativeSrc":"138136:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"138157:3:21","nodeType":"YulTypedName","src":"138157:3:21","type":""},{"name":"w","nativeSrc":"138162:1:21","nodeType":"YulTypedName","src":"138162:1:21","type":""}],"src":"138136:342:21"},{"nativeSrc":"138491:17:21","nodeType":"YulAssignment","src":"138491:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"138503:4:21","nodeType":"YulLiteral","src":"138503:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"138497:5:21","nodeType":"YulIdentifier","src":"138497:5:21"},"nativeSrc":"138497:11:21","nodeType":"YulFunctionCall","src":"138497:11:21"},"variableNames":[{"name":"m0","nativeSrc":"138491:2:21","nodeType":"YulIdentifier","src":"138491:2:21"}]},{"nativeSrc":"138521:17:21","nodeType":"YulAssignment","src":"138521:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"138533:4:21","nodeType":"YulLiteral","src":"138533:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"138527:5:21","nodeType":"YulIdentifier","src":"138527:5:21"},"nativeSrc":"138527:11:21","nodeType":"YulFunctionCall","src":"138527:11:21"},"variableNames":[{"name":"m1","nativeSrc":"138521:2:21","nodeType":"YulIdentifier","src":"138521:2:21"}]},{"nativeSrc":"138551:17:21","nodeType":"YulAssignment","src":"138551:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"138563:4:21","nodeType":"YulLiteral","src":"138563:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"138557:5:21","nodeType":"YulIdentifier","src":"138557:5:21"},"nativeSrc":"138557:11:21","nodeType":"YulFunctionCall","src":"138557:11:21"},"variableNames":[{"name":"m2","nativeSrc":"138551:2:21","nodeType":"YulIdentifier","src":"138551:2:21"}]},{"nativeSrc":"138581:17:21","nodeType":"YulAssignment","src":"138581:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"138593:4:21","nodeType":"YulLiteral","src":"138593:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"138587:5:21","nodeType":"YulIdentifier","src":"138587:5:21"},"nativeSrc":"138587:11:21","nodeType":"YulFunctionCall","src":"138587:11:21"},"variableNames":[{"name":"m3","nativeSrc":"138581:2:21","nodeType":"YulIdentifier","src":"138581:2:21"}]},{"nativeSrc":"138611:17:21","nodeType":"YulAssignment","src":"138611:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"138623:4:21","nodeType":"YulLiteral","src":"138623:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"138617:5:21","nodeType":"YulIdentifier","src":"138617:5:21"},"nativeSrc":"138617:11:21","nodeType":"YulFunctionCall","src":"138617:11:21"},"variableNames":[{"name":"m4","nativeSrc":"138611:2:21","nodeType":"YulIdentifier","src":"138611:2:21"}]},{"nativeSrc":"138641:17:21","nodeType":"YulAssignment","src":"138641:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"138653:4:21","nodeType":"YulLiteral","src":"138653:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"138647:5:21","nodeType":"YulIdentifier","src":"138647:5:21"},"nativeSrc":"138647:11:21","nodeType":"YulFunctionCall","src":"138647:11:21"},"variableNames":[{"name":"m5","nativeSrc":"138641:2:21","nodeType":"YulIdentifier","src":"138641:2:21"}]},{"nativeSrc":"138671:17:21","nodeType":"YulAssignment","src":"138671:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"138683:4:21","nodeType":"YulLiteral","src":"138683:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"138677:5:21","nodeType":"YulIdentifier","src":"138677:5:21"},"nativeSrc":"138677:11:21","nodeType":"YulFunctionCall","src":"138677:11:21"},"variableNames":[{"name":"m6","nativeSrc":"138671:2:21","nodeType":"YulIdentifier","src":"138671:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138774:4:21","nodeType":"YulLiteral","src":"138774:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"138780:10:21","nodeType":"YulLiteral","src":"138780:10:21","type":"","value":"0x4a28c017"}],"functionName":{"name":"mstore","nativeSrc":"138767:6:21","nodeType":"YulIdentifier","src":"138767:6:21"},"nativeSrc":"138767:24:21","nodeType":"YulFunctionCall","src":"138767:24:21"},"nativeSrc":"138767:24:21","nodeType":"YulExpressionStatement","src":"138767:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138811:4:21","nodeType":"YulLiteral","src":"138811:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"138817:2:21","nodeType":"YulIdentifier","src":"138817:2:21"}],"functionName":{"name":"mstore","nativeSrc":"138804:6:21","nodeType":"YulIdentifier","src":"138804:6:21"},"nativeSrc":"138804:16:21","nodeType":"YulFunctionCall","src":"138804:16:21"},"nativeSrc":"138804:16:21","nodeType":"YulExpressionStatement","src":"138804:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138840:4:21","nodeType":"YulLiteral","src":"138840:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"138846:2:21","nodeType":"YulIdentifier","src":"138846:2:21"}],"functionName":{"name":"mstore","nativeSrc":"138833:6:21","nodeType":"YulIdentifier","src":"138833:6:21"},"nativeSrc":"138833:16:21","nodeType":"YulFunctionCall","src":"138833:16:21"},"nativeSrc":"138833:16:21","nodeType":"YulExpressionStatement","src":"138833:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138869:4:21","nodeType":"YulLiteral","src":"138869:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"138875:2:21","nodeType":"YulIdentifier","src":"138875:2:21"}],"functionName":{"name":"mstore","nativeSrc":"138862:6:21","nodeType":"YulIdentifier","src":"138862:6:21"},"nativeSrc":"138862:16:21","nodeType":"YulFunctionCall","src":"138862:16:21"},"nativeSrc":"138862:16:21","nodeType":"YulExpressionStatement","src":"138862:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138898:4:21","nodeType":"YulLiteral","src":"138898:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"138904:4:21","nodeType":"YulLiteral","src":"138904:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"138891:6:21","nodeType":"YulIdentifier","src":"138891:6:21"},"nativeSrc":"138891:18:21","nodeType":"YulFunctionCall","src":"138891:18:21"},"nativeSrc":"138891:18:21","nodeType":"YulExpressionStatement","src":"138891:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138934:4:21","nodeType":"YulLiteral","src":"138934:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"138940:2:21","nodeType":"YulIdentifier","src":"138940:2:21"}],"functionName":{"name":"writeString","nativeSrc":"138922:11:21","nodeType":"YulIdentifier","src":"138922:11:21"},"nativeSrc":"138922:21:21","nodeType":"YulFunctionCall","src":"138922:21:21"},"nativeSrc":"138922:21:21","nodeType":"YulExpressionStatement","src":"138922:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31378,"isOffset":false,"isSlot":false,"src":"138491:2:21","valueSize":1},{"declaration":31381,"isOffset":false,"isSlot":false,"src":"138521:2:21","valueSize":1},{"declaration":31384,"isOffset":false,"isSlot":false,"src":"138551:2:21","valueSize":1},{"declaration":31387,"isOffset":false,"isSlot":false,"src":"138581:2:21","valueSize":1},{"declaration":31390,"isOffset":false,"isSlot":false,"src":"138611:2:21","valueSize":1},{"declaration":31393,"isOffset":false,"isSlot":false,"src":"138641:2:21","valueSize":1},{"declaration":31396,"isOffset":false,"isSlot":false,"src":"138671:2:21","valueSize":1},{"declaration":31368,"isOffset":false,"isSlot":false,"src":"138817:2:21","valueSize":1},{"declaration":31370,"isOffset":false,"isSlot":false,"src":"138846:2:21","valueSize":1},{"declaration":31372,"isOffset":false,"isSlot":false,"src":"138875:2:21","valueSize":1},{"declaration":31374,"isOffset":false,"isSlot":false,"src":"138940:2:21","valueSize":1}],"id":31398,"nodeType":"InlineAssembly","src":"138113:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"138978:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"138984:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31399,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"138962:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"138962:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31403,"nodeType":"ExpressionStatement","src":"138962:27:21"},{"AST":{"nativeSrc":"139051:214:21","nodeType":"YulBlock","src":"139051:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"139072:4:21","nodeType":"YulLiteral","src":"139072:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"139078:2:21","nodeType":"YulIdentifier","src":"139078:2:21"}],"functionName":{"name":"mstore","nativeSrc":"139065:6:21","nodeType":"YulIdentifier","src":"139065:6:21"},"nativeSrc":"139065:16:21","nodeType":"YulFunctionCall","src":"139065:16:21"},"nativeSrc":"139065:16:21","nodeType":"YulExpressionStatement","src":"139065:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139101:4:21","nodeType":"YulLiteral","src":"139101:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"139107:2:21","nodeType":"YulIdentifier","src":"139107:2:21"}],"functionName":{"name":"mstore","nativeSrc":"139094:6:21","nodeType":"YulIdentifier","src":"139094:6:21"},"nativeSrc":"139094:16:21","nodeType":"YulFunctionCall","src":"139094:16:21"},"nativeSrc":"139094:16:21","nodeType":"YulExpressionStatement","src":"139094:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139130:4:21","nodeType":"YulLiteral","src":"139130:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"139136:2:21","nodeType":"YulIdentifier","src":"139136:2:21"}],"functionName":{"name":"mstore","nativeSrc":"139123:6:21","nodeType":"YulIdentifier","src":"139123:6:21"},"nativeSrc":"139123:16:21","nodeType":"YulFunctionCall","src":"139123:16:21"},"nativeSrc":"139123:16:21","nodeType":"YulExpressionStatement","src":"139123:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139159:4:21","nodeType":"YulLiteral","src":"139159:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"139165:2:21","nodeType":"YulIdentifier","src":"139165:2:21"}],"functionName":{"name":"mstore","nativeSrc":"139152:6:21","nodeType":"YulIdentifier","src":"139152:6:21"},"nativeSrc":"139152:16:21","nodeType":"YulFunctionCall","src":"139152:16:21"},"nativeSrc":"139152:16:21","nodeType":"YulExpressionStatement","src":"139152:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139188:4:21","nodeType":"YulLiteral","src":"139188:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"139194:2:21","nodeType":"YulIdentifier","src":"139194:2:21"}],"functionName":{"name":"mstore","nativeSrc":"139181:6:21","nodeType":"YulIdentifier","src":"139181:6:21"},"nativeSrc":"139181:16:21","nodeType":"YulFunctionCall","src":"139181:16:21"},"nativeSrc":"139181:16:21","nodeType":"YulExpressionStatement","src":"139181:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139217:4:21","nodeType":"YulLiteral","src":"139217:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"139223:2:21","nodeType":"YulIdentifier","src":"139223:2:21"}],"functionName":{"name":"mstore","nativeSrc":"139210:6:21","nodeType":"YulIdentifier","src":"139210:6:21"},"nativeSrc":"139210:16:21","nodeType":"YulFunctionCall","src":"139210:16:21"},"nativeSrc":"139210:16:21","nodeType":"YulExpressionStatement","src":"139210:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139246:4:21","nodeType":"YulLiteral","src":"139246:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"139252:2:21","nodeType":"YulIdentifier","src":"139252:2:21"}],"functionName":{"name":"mstore","nativeSrc":"139239:6:21","nodeType":"YulIdentifier","src":"139239:6:21"},"nativeSrc":"139239:16:21","nodeType":"YulFunctionCall","src":"139239:16:21"},"nativeSrc":"139239:16:21","nodeType":"YulExpressionStatement","src":"139239:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31378,"isOffset":false,"isSlot":false,"src":"139078:2:21","valueSize":1},{"declaration":31381,"isOffset":false,"isSlot":false,"src":"139107:2:21","valueSize":1},{"declaration":31384,"isOffset":false,"isSlot":false,"src":"139136:2:21","valueSize":1},{"declaration":31387,"isOffset":false,"isSlot":false,"src":"139165:2:21","valueSize":1},{"declaration":31390,"isOffset":false,"isSlot":false,"src":"139194:2:21","valueSize":1},{"declaration":31393,"isOffset":false,"isSlot":false,"src":"139223:2:21","valueSize":1},{"declaration":31396,"isOffset":false,"isSlot":false,"src":"139252:2:21","valueSize":1}],"id":31404,"nodeType":"InlineAssembly","src":"139042:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"137854:3:21","parameters":{"id":31375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31368,"mutability":"mutable","name":"p0","nameLocation":"137866:2:21","nodeType":"VariableDeclaration","scope":31406,"src":"137858:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31367,"name":"address","nodeType":"ElementaryTypeName","src":"137858:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31370,"mutability":"mutable","name":"p1","nameLocation":"137878:2:21","nodeType":"VariableDeclaration","scope":31406,"src":"137870:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31369,"name":"uint256","nodeType":"ElementaryTypeName","src":"137870:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31372,"mutability":"mutable","name":"p2","nameLocation":"137890:2:21","nodeType":"VariableDeclaration","scope":31406,"src":"137882:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31371,"name":"uint256","nodeType":"ElementaryTypeName","src":"137882:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31374,"mutability":"mutable","name":"p3","nameLocation":"137902:2:21","nodeType":"VariableDeclaration","scope":31406,"src":"137894:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137894:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"137857:48:21"},"returnParameters":{"id":31376,"nodeType":"ParameterList","parameters":[],"src":"137920:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31446,"nodeType":"FunctionDefinition","src":"139277:1426:21","nodes":[],"body":{"id":31445,"nodeType":"Block","src":"139352:1351:21","nodes":[],"statements":[{"assignments":[31418],"declarations":[{"constant":false,"id":31418,"mutability":"mutable","name":"m0","nameLocation":"139370:2:21","nodeType":"VariableDeclaration","scope":31445,"src":"139362:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139362:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31419,"nodeType":"VariableDeclarationStatement","src":"139362:10:21"},{"assignments":[31421],"declarations":[{"constant":false,"id":31421,"mutability":"mutable","name":"m1","nameLocation":"139390:2:21","nodeType":"VariableDeclaration","scope":31445,"src":"139382:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139382:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31422,"nodeType":"VariableDeclarationStatement","src":"139382:10:21"},{"assignments":[31424],"declarations":[{"constant":false,"id":31424,"mutability":"mutable","name":"m2","nameLocation":"139410:2:21","nodeType":"VariableDeclaration","scope":31445,"src":"139402:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31423,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139402:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31425,"nodeType":"VariableDeclarationStatement","src":"139402:10:21"},{"assignments":[31427],"declarations":[{"constant":false,"id":31427,"mutability":"mutable","name":"m3","nameLocation":"139430:2:21","nodeType":"VariableDeclaration","scope":31445,"src":"139422:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31426,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139422:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31428,"nodeType":"VariableDeclarationStatement","src":"139422:10:21"},{"assignments":[31430],"declarations":[{"constant":false,"id":31430,"mutability":"mutable","name":"m4","nameLocation":"139450:2:21","nodeType":"VariableDeclaration","scope":31445,"src":"139442:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139442:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31431,"nodeType":"VariableDeclarationStatement","src":"139442:10:21"},{"assignments":[31433],"declarations":[{"constant":false,"id":31433,"mutability":"mutable","name":"m5","nameLocation":"139470:2:21","nodeType":"VariableDeclaration","scope":31445,"src":"139462:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31432,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139462:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31434,"nodeType":"VariableDeclarationStatement","src":"139462:10:21"},{"assignments":[31436],"declarations":[{"constant":false,"id":31436,"mutability":"mutable","name":"m6","nameLocation":"139490:2:21","nodeType":"VariableDeclaration","scope":31445,"src":"139482:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31435,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139482:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31437,"nodeType":"VariableDeclarationStatement","src":"139482:10:21"},{"AST":{"nativeSrc":"139554:831:21","nodeType":"YulBlock","src":"139554:831:21","statements":[{"body":{"nativeSrc":"139597:313:21","nodeType":"YulBlock","src":"139597:313:21","statements":[{"nativeSrc":"139615:15:21","nodeType":"YulVariableDeclaration","src":"139615:15:21","value":{"kind":"number","nativeSrc":"139629:1:21","nodeType":"YulLiteral","src":"139629:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"139619:6:21","nodeType":"YulTypedName","src":"139619:6:21","type":""}]},{"body":{"nativeSrc":"139700:40:21","nodeType":"YulBlock","src":"139700:40:21","statements":[{"body":{"nativeSrc":"139729:9:21","nodeType":"YulBlock","src":"139729:9:21","statements":[{"nativeSrc":"139731:5:21","nodeType":"YulBreak","src":"139731:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"139717:6:21","nodeType":"YulIdentifier","src":"139717:6:21"},{"name":"w","nativeSrc":"139725:1:21","nodeType":"YulIdentifier","src":"139725:1:21"}],"functionName":{"name":"byte","nativeSrc":"139712:4:21","nodeType":"YulIdentifier","src":"139712:4:21"},"nativeSrc":"139712:15:21","nodeType":"YulFunctionCall","src":"139712:15:21"}],"functionName":{"name":"iszero","nativeSrc":"139705:6:21","nodeType":"YulIdentifier","src":"139705:6:21"},"nativeSrc":"139705:23:21","nodeType":"YulFunctionCall","src":"139705:23:21"},"nativeSrc":"139702:36:21","nodeType":"YulIf","src":"139702:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"139657:6:21","nodeType":"YulIdentifier","src":"139657:6:21"},{"kind":"number","nativeSrc":"139665:4:21","nodeType":"YulLiteral","src":"139665:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"139654:2:21","nodeType":"YulIdentifier","src":"139654:2:21"},"nativeSrc":"139654:16:21","nodeType":"YulFunctionCall","src":"139654:16:21"},"nativeSrc":"139647:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"139671:28:21","nodeType":"YulBlock","src":"139671:28:21","statements":[{"nativeSrc":"139673:24:21","nodeType":"YulAssignment","src":"139673:24:21","value":{"arguments":[{"name":"length","nativeSrc":"139687:6:21","nodeType":"YulIdentifier","src":"139687:6:21"},{"kind":"number","nativeSrc":"139695:1:21","nodeType":"YulLiteral","src":"139695:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"139683:3:21","nodeType":"YulIdentifier","src":"139683:3:21"},"nativeSrc":"139683:14:21","nodeType":"YulFunctionCall","src":"139683:14:21"},"variableNames":[{"name":"length","nativeSrc":"139673:6:21","nodeType":"YulIdentifier","src":"139673:6:21"}]}]},"pre":{"nativeSrc":"139651:2:21","nodeType":"YulBlock","src":"139651:2:21","statements":[]},"src":"139647:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"139764:3:21","nodeType":"YulIdentifier","src":"139764:3:21"},{"name":"length","nativeSrc":"139769:6:21","nodeType":"YulIdentifier","src":"139769:6:21"}],"functionName":{"name":"mstore","nativeSrc":"139757:6:21","nodeType":"YulIdentifier","src":"139757:6:21"},"nativeSrc":"139757:19:21","nodeType":"YulFunctionCall","src":"139757:19:21"},"nativeSrc":"139757:19:21","nodeType":"YulExpressionStatement","src":"139757:19:21"},{"nativeSrc":"139793:37:21","nodeType":"YulVariableDeclaration","src":"139793:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"139810:3:21","nodeType":"YulLiteral","src":"139810:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"139819:1:21","nodeType":"YulLiteral","src":"139819:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"139822:6:21","nodeType":"YulIdentifier","src":"139822:6:21"}],"functionName":{"name":"shl","nativeSrc":"139815:3:21","nodeType":"YulIdentifier","src":"139815:3:21"},"nativeSrc":"139815:14:21","nodeType":"YulFunctionCall","src":"139815:14:21"}],"functionName":{"name":"sub","nativeSrc":"139806:3:21","nodeType":"YulIdentifier","src":"139806:3:21"},"nativeSrc":"139806:24:21","nodeType":"YulFunctionCall","src":"139806:24:21"},"variables":[{"name":"shift","nativeSrc":"139797:5:21","nodeType":"YulTypedName","src":"139797:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"139858:3:21","nodeType":"YulIdentifier","src":"139858:3:21"},{"kind":"number","nativeSrc":"139863:4:21","nodeType":"YulLiteral","src":"139863:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"139854:3:21","nodeType":"YulIdentifier","src":"139854:3:21"},"nativeSrc":"139854:14:21","nodeType":"YulFunctionCall","src":"139854:14:21"},{"arguments":[{"name":"shift","nativeSrc":"139874:5:21","nodeType":"YulIdentifier","src":"139874:5:21"},{"arguments":[{"name":"shift","nativeSrc":"139885:5:21","nodeType":"YulIdentifier","src":"139885:5:21"},{"name":"w","nativeSrc":"139892:1:21","nodeType":"YulIdentifier","src":"139892:1:21"}],"functionName":{"name":"shr","nativeSrc":"139881:3:21","nodeType":"YulIdentifier","src":"139881:3:21"},"nativeSrc":"139881:13:21","nodeType":"YulFunctionCall","src":"139881:13:21"}],"functionName":{"name":"shl","nativeSrc":"139870:3:21","nodeType":"YulIdentifier","src":"139870:3:21"},"nativeSrc":"139870:25:21","nodeType":"YulFunctionCall","src":"139870:25:21"}],"functionName":{"name":"mstore","nativeSrc":"139847:6:21","nodeType":"YulIdentifier","src":"139847:6:21"},"nativeSrc":"139847:49:21","nodeType":"YulFunctionCall","src":"139847:49:21"},"nativeSrc":"139847:49:21","nodeType":"YulExpressionStatement","src":"139847:49:21"}]},"name":"writeString","nativeSrc":"139568:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"139589:3:21","nodeType":"YulTypedName","src":"139589:3:21","type":""},{"name":"w","nativeSrc":"139594:1:21","nodeType":"YulTypedName","src":"139594:1:21","type":""}],"src":"139568:342:21"},{"nativeSrc":"139923:17:21","nodeType":"YulAssignment","src":"139923:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"139935:4:21","nodeType":"YulLiteral","src":"139935:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"139929:5:21","nodeType":"YulIdentifier","src":"139929:5:21"},"nativeSrc":"139929:11:21","nodeType":"YulFunctionCall","src":"139929:11:21"},"variableNames":[{"name":"m0","nativeSrc":"139923:2:21","nodeType":"YulIdentifier","src":"139923:2:21"}]},{"nativeSrc":"139953:17:21","nodeType":"YulAssignment","src":"139953:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"139965:4:21","nodeType":"YulLiteral","src":"139965:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"139959:5:21","nodeType":"YulIdentifier","src":"139959:5:21"},"nativeSrc":"139959:11:21","nodeType":"YulFunctionCall","src":"139959:11:21"},"variableNames":[{"name":"m1","nativeSrc":"139953:2:21","nodeType":"YulIdentifier","src":"139953:2:21"}]},{"nativeSrc":"139983:17:21","nodeType":"YulAssignment","src":"139983:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"139995:4:21","nodeType":"YulLiteral","src":"139995:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"139989:5:21","nodeType":"YulIdentifier","src":"139989:5:21"},"nativeSrc":"139989:11:21","nodeType":"YulFunctionCall","src":"139989:11:21"},"variableNames":[{"name":"m2","nativeSrc":"139983:2:21","nodeType":"YulIdentifier","src":"139983:2:21"}]},{"nativeSrc":"140013:17:21","nodeType":"YulAssignment","src":"140013:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"140025:4:21","nodeType":"YulLiteral","src":"140025:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"140019:5:21","nodeType":"YulIdentifier","src":"140019:5:21"},"nativeSrc":"140019:11:21","nodeType":"YulFunctionCall","src":"140019:11:21"},"variableNames":[{"name":"m3","nativeSrc":"140013:2:21","nodeType":"YulIdentifier","src":"140013:2:21"}]},{"nativeSrc":"140043:17:21","nodeType":"YulAssignment","src":"140043:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"140055:4:21","nodeType":"YulLiteral","src":"140055:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"140049:5:21","nodeType":"YulIdentifier","src":"140049:5:21"},"nativeSrc":"140049:11:21","nodeType":"YulFunctionCall","src":"140049:11:21"},"variableNames":[{"name":"m4","nativeSrc":"140043:2:21","nodeType":"YulIdentifier","src":"140043:2:21"}]},{"nativeSrc":"140073:17:21","nodeType":"YulAssignment","src":"140073:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"140085:4:21","nodeType":"YulLiteral","src":"140085:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"140079:5:21","nodeType":"YulIdentifier","src":"140079:5:21"},"nativeSrc":"140079:11:21","nodeType":"YulFunctionCall","src":"140079:11:21"},"variableNames":[{"name":"m5","nativeSrc":"140073:2:21","nodeType":"YulIdentifier","src":"140073:2:21"}]},{"nativeSrc":"140103:17:21","nodeType":"YulAssignment","src":"140103:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"140115:4:21","nodeType":"YulLiteral","src":"140115:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"140109:5:21","nodeType":"YulIdentifier","src":"140109:5:21"},"nativeSrc":"140109:11:21","nodeType":"YulFunctionCall","src":"140109:11:21"},"variableNames":[{"name":"m6","nativeSrc":"140103:2:21","nodeType":"YulIdentifier","src":"140103:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140206:4:21","nodeType":"YulLiteral","src":"140206:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"140212:10:21","nodeType":"YulLiteral","src":"140212:10:21","type":"","value":"0x5c430d47"}],"functionName":{"name":"mstore","nativeSrc":"140199:6:21","nodeType":"YulIdentifier","src":"140199:6:21"},"nativeSrc":"140199:24:21","nodeType":"YulFunctionCall","src":"140199:24:21"},"nativeSrc":"140199:24:21","nodeType":"YulExpressionStatement","src":"140199:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140243:4:21","nodeType":"YulLiteral","src":"140243:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"140249:2:21","nodeType":"YulIdentifier","src":"140249:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140236:6:21","nodeType":"YulIdentifier","src":"140236:6:21"},"nativeSrc":"140236:16:21","nodeType":"YulFunctionCall","src":"140236:16:21"},"nativeSrc":"140236:16:21","nodeType":"YulExpressionStatement","src":"140236:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140272:4:21","nodeType":"YulLiteral","src":"140272:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"140278:2:21","nodeType":"YulIdentifier","src":"140278:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140265:6:21","nodeType":"YulIdentifier","src":"140265:6:21"},"nativeSrc":"140265:16:21","nodeType":"YulFunctionCall","src":"140265:16:21"},"nativeSrc":"140265:16:21","nodeType":"YulExpressionStatement","src":"140265:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140301:4:21","nodeType":"YulLiteral","src":"140301:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"140307:4:21","nodeType":"YulLiteral","src":"140307:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"140294:6:21","nodeType":"YulIdentifier","src":"140294:6:21"},"nativeSrc":"140294:18:21","nodeType":"YulFunctionCall","src":"140294:18:21"},"nativeSrc":"140294:18:21","nodeType":"YulExpressionStatement","src":"140294:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140332:4:21","nodeType":"YulLiteral","src":"140332:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"140338:2:21","nodeType":"YulIdentifier","src":"140338:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140325:6:21","nodeType":"YulIdentifier","src":"140325:6:21"},"nativeSrc":"140325:16:21","nodeType":"YulFunctionCall","src":"140325:16:21"},"nativeSrc":"140325:16:21","nodeType":"YulExpressionStatement","src":"140325:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140366:4:21","nodeType":"YulLiteral","src":"140366:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"140372:2:21","nodeType":"YulIdentifier","src":"140372:2:21"}],"functionName":{"name":"writeString","nativeSrc":"140354:11:21","nodeType":"YulIdentifier","src":"140354:11:21"},"nativeSrc":"140354:21:21","nodeType":"YulFunctionCall","src":"140354:21:21"},"nativeSrc":"140354:21:21","nodeType":"YulExpressionStatement","src":"140354:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31418,"isOffset":false,"isSlot":false,"src":"139923:2:21","valueSize":1},{"declaration":31421,"isOffset":false,"isSlot":false,"src":"139953:2:21","valueSize":1},{"declaration":31424,"isOffset":false,"isSlot":false,"src":"139983:2:21","valueSize":1},{"declaration":31427,"isOffset":false,"isSlot":false,"src":"140013:2:21","valueSize":1},{"declaration":31430,"isOffset":false,"isSlot":false,"src":"140043:2:21","valueSize":1},{"declaration":31433,"isOffset":false,"isSlot":false,"src":"140073:2:21","valueSize":1},{"declaration":31436,"isOffset":false,"isSlot":false,"src":"140103:2:21","valueSize":1},{"declaration":31408,"isOffset":false,"isSlot":false,"src":"140249:2:21","valueSize":1},{"declaration":31410,"isOffset":false,"isSlot":false,"src":"140278:2:21","valueSize":1},{"declaration":31412,"isOffset":false,"isSlot":false,"src":"140372:2:21","valueSize":1},{"declaration":31414,"isOffset":false,"isSlot":false,"src":"140338:2:21","valueSize":1}],"id":31438,"nodeType":"InlineAssembly","src":"139545:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"140410:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"140416:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31439,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"140394:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"140394:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31443,"nodeType":"ExpressionStatement","src":"140394:27:21"},{"AST":{"nativeSrc":"140483:214:21","nodeType":"YulBlock","src":"140483:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"140504:4:21","nodeType":"YulLiteral","src":"140504:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"140510:2:21","nodeType":"YulIdentifier","src":"140510:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140497:6:21","nodeType":"YulIdentifier","src":"140497:6:21"},"nativeSrc":"140497:16:21","nodeType":"YulFunctionCall","src":"140497:16:21"},"nativeSrc":"140497:16:21","nodeType":"YulExpressionStatement","src":"140497:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140533:4:21","nodeType":"YulLiteral","src":"140533:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"140539:2:21","nodeType":"YulIdentifier","src":"140539:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140526:6:21","nodeType":"YulIdentifier","src":"140526:6:21"},"nativeSrc":"140526:16:21","nodeType":"YulFunctionCall","src":"140526:16:21"},"nativeSrc":"140526:16:21","nodeType":"YulExpressionStatement","src":"140526:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140562:4:21","nodeType":"YulLiteral","src":"140562:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"140568:2:21","nodeType":"YulIdentifier","src":"140568:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140555:6:21","nodeType":"YulIdentifier","src":"140555:6:21"},"nativeSrc":"140555:16:21","nodeType":"YulFunctionCall","src":"140555:16:21"},"nativeSrc":"140555:16:21","nodeType":"YulExpressionStatement","src":"140555:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140591:4:21","nodeType":"YulLiteral","src":"140591:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"140597:2:21","nodeType":"YulIdentifier","src":"140597:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140584:6:21","nodeType":"YulIdentifier","src":"140584:6:21"},"nativeSrc":"140584:16:21","nodeType":"YulFunctionCall","src":"140584:16:21"},"nativeSrc":"140584:16:21","nodeType":"YulExpressionStatement","src":"140584:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140620:4:21","nodeType":"YulLiteral","src":"140620:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"140626:2:21","nodeType":"YulIdentifier","src":"140626:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140613:6:21","nodeType":"YulIdentifier","src":"140613:6:21"},"nativeSrc":"140613:16:21","nodeType":"YulFunctionCall","src":"140613:16:21"},"nativeSrc":"140613:16:21","nodeType":"YulExpressionStatement","src":"140613:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140649:4:21","nodeType":"YulLiteral","src":"140649:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"140655:2:21","nodeType":"YulIdentifier","src":"140655:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140642:6:21","nodeType":"YulIdentifier","src":"140642:6:21"},"nativeSrc":"140642:16:21","nodeType":"YulFunctionCall","src":"140642:16:21"},"nativeSrc":"140642:16:21","nodeType":"YulExpressionStatement","src":"140642:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140678:4:21","nodeType":"YulLiteral","src":"140678:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"140684:2:21","nodeType":"YulIdentifier","src":"140684:2:21"}],"functionName":{"name":"mstore","nativeSrc":"140671:6:21","nodeType":"YulIdentifier","src":"140671:6:21"},"nativeSrc":"140671:16:21","nodeType":"YulFunctionCall","src":"140671:16:21"},"nativeSrc":"140671:16:21","nodeType":"YulExpressionStatement","src":"140671:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31418,"isOffset":false,"isSlot":false,"src":"140510:2:21","valueSize":1},{"declaration":31421,"isOffset":false,"isSlot":false,"src":"140539:2:21","valueSize":1},{"declaration":31424,"isOffset":false,"isSlot":false,"src":"140568:2:21","valueSize":1},{"declaration":31427,"isOffset":false,"isSlot":false,"src":"140597:2:21","valueSize":1},{"declaration":31430,"isOffset":false,"isSlot":false,"src":"140626:2:21","valueSize":1},{"declaration":31433,"isOffset":false,"isSlot":false,"src":"140655:2:21","valueSize":1},{"declaration":31436,"isOffset":false,"isSlot":false,"src":"140684:2:21","valueSize":1}],"id":31444,"nodeType":"InlineAssembly","src":"140474:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"139286:3:21","parameters":{"id":31415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31408,"mutability":"mutable","name":"p0","nameLocation":"139298:2:21","nodeType":"VariableDeclaration","scope":31446,"src":"139290:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31407,"name":"address","nodeType":"ElementaryTypeName","src":"139290:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31410,"mutability":"mutable","name":"p1","nameLocation":"139310:2:21","nodeType":"VariableDeclaration","scope":31446,"src":"139302:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31409,"name":"uint256","nodeType":"ElementaryTypeName","src":"139302:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31412,"mutability":"mutable","name":"p2","nameLocation":"139322:2:21","nodeType":"VariableDeclaration","scope":31446,"src":"139314:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139314:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31414,"mutability":"mutable","name":"p3","nameLocation":"139334:2:21","nodeType":"VariableDeclaration","scope":31446,"src":"139326:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31413,"name":"address","nodeType":"ElementaryTypeName","src":"139326:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"139289:48:21"},"returnParameters":{"id":31416,"nodeType":"ParameterList","parameters":[],"src":"139352:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31486,"nodeType":"FunctionDefinition","src":"140709:1420:21","nodes":[],"body":{"id":31485,"nodeType":"Block","src":"140781:1348:21","nodes":[],"statements":[{"assignments":[31458],"declarations":[{"constant":false,"id":31458,"mutability":"mutable","name":"m0","nameLocation":"140799:2:21","nodeType":"VariableDeclaration","scope":31485,"src":"140791:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140791:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31459,"nodeType":"VariableDeclarationStatement","src":"140791:10:21"},{"assignments":[31461],"declarations":[{"constant":false,"id":31461,"mutability":"mutable","name":"m1","nameLocation":"140819:2:21","nodeType":"VariableDeclaration","scope":31485,"src":"140811:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140811:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31462,"nodeType":"VariableDeclarationStatement","src":"140811:10:21"},{"assignments":[31464],"declarations":[{"constant":false,"id":31464,"mutability":"mutable","name":"m2","nameLocation":"140839:2:21","nodeType":"VariableDeclaration","scope":31485,"src":"140831:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140831:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31465,"nodeType":"VariableDeclarationStatement","src":"140831:10:21"},{"assignments":[31467],"declarations":[{"constant":false,"id":31467,"mutability":"mutable","name":"m3","nameLocation":"140859:2:21","nodeType":"VariableDeclaration","scope":31485,"src":"140851:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140851:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31468,"nodeType":"VariableDeclarationStatement","src":"140851:10:21"},{"assignments":[31470],"declarations":[{"constant":false,"id":31470,"mutability":"mutable","name":"m4","nameLocation":"140879:2:21","nodeType":"VariableDeclaration","scope":31485,"src":"140871:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140871:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31471,"nodeType":"VariableDeclarationStatement","src":"140871:10:21"},{"assignments":[31473],"declarations":[{"constant":false,"id":31473,"mutability":"mutable","name":"m5","nameLocation":"140899:2:21","nodeType":"VariableDeclaration","scope":31485,"src":"140891:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140891:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31474,"nodeType":"VariableDeclarationStatement","src":"140891:10:21"},{"assignments":[31476],"declarations":[{"constant":false,"id":31476,"mutability":"mutable","name":"m6","nameLocation":"140919:2:21","nodeType":"VariableDeclaration","scope":31485,"src":"140911:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140911:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31477,"nodeType":"VariableDeclarationStatement","src":"140911:10:21"},{"AST":{"nativeSrc":"140983:828:21","nodeType":"YulBlock","src":"140983:828:21","statements":[{"body":{"nativeSrc":"141026:313:21","nodeType":"YulBlock","src":"141026:313:21","statements":[{"nativeSrc":"141044:15:21","nodeType":"YulVariableDeclaration","src":"141044:15:21","value":{"kind":"number","nativeSrc":"141058:1:21","nodeType":"YulLiteral","src":"141058:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"141048:6:21","nodeType":"YulTypedName","src":"141048:6:21","type":""}]},{"body":{"nativeSrc":"141129:40:21","nodeType":"YulBlock","src":"141129:40:21","statements":[{"body":{"nativeSrc":"141158:9:21","nodeType":"YulBlock","src":"141158:9:21","statements":[{"nativeSrc":"141160:5:21","nodeType":"YulBreak","src":"141160:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"141146:6:21","nodeType":"YulIdentifier","src":"141146:6:21"},{"name":"w","nativeSrc":"141154:1:21","nodeType":"YulIdentifier","src":"141154:1:21"}],"functionName":{"name":"byte","nativeSrc":"141141:4:21","nodeType":"YulIdentifier","src":"141141:4:21"},"nativeSrc":"141141:15:21","nodeType":"YulFunctionCall","src":"141141:15:21"}],"functionName":{"name":"iszero","nativeSrc":"141134:6:21","nodeType":"YulIdentifier","src":"141134:6:21"},"nativeSrc":"141134:23:21","nodeType":"YulFunctionCall","src":"141134:23:21"},"nativeSrc":"141131:36:21","nodeType":"YulIf","src":"141131:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"141086:6:21","nodeType":"YulIdentifier","src":"141086:6:21"},{"kind":"number","nativeSrc":"141094:4:21","nodeType":"YulLiteral","src":"141094:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"141083:2:21","nodeType":"YulIdentifier","src":"141083:2:21"},"nativeSrc":"141083:16:21","nodeType":"YulFunctionCall","src":"141083:16:21"},"nativeSrc":"141076:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"141100:28:21","nodeType":"YulBlock","src":"141100:28:21","statements":[{"nativeSrc":"141102:24:21","nodeType":"YulAssignment","src":"141102:24:21","value":{"arguments":[{"name":"length","nativeSrc":"141116:6:21","nodeType":"YulIdentifier","src":"141116:6:21"},{"kind":"number","nativeSrc":"141124:1:21","nodeType":"YulLiteral","src":"141124:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"141112:3:21","nodeType":"YulIdentifier","src":"141112:3:21"},"nativeSrc":"141112:14:21","nodeType":"YulFunctionCall","src":"141112:14:21"},"variableNames":[{"name":"length","nativeSrc":"141102:6:21","nodeType":"YulIdentifier","src":"141102:6:21"}]}]},"pre":{"nativeSrc":"141080:2:21","nodeType":"YulBlock","src":"141080:2:21","statements":[]},"src":"141076:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"141193:3:21","nodeType":"YulIdentifier","src":"141193:3:21"},{"name":"length","nativeSrc":"141198:6:21","nodeType":"YulIdentifier","src":"141198:6:21"}],"functionName":{"name":"mstore","nativeSrc":"141186:6:21","nodeType":"YulIdentifier","src":"141186:6:21"},"nativeSrc":"141186:19:21","nodeType":"YulFunctionCall","src":"141186:19:21"},"nativeSrc":"141186:19:21","nodeType":"YulExpressionStatement","src":"141186:19:21"},{"nativeSrc":"141222:37:21","nodeType":"YulVariableDeclaration","src":"141222:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"141239:3:21","nodeType":"YulLiteral","src":"141239:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"141248:1:21","nodeType":"YulLiteral","src":"141248:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"141251:6:21","nodeType":"YulIdentifier","src":"141251:6:21"}],"functionName":{"name":"shl","nativeSrc":"141244:3:21","nodeType":"YulIdentifier","src":"141244:3:21"},"nativeSrc":"141244:14:21","nodeType":"YulFunctionCall","src":"141244:14:21"}],"functionName":{"name":"sub","nativeSrc":"141235:3:21","nodeType":"YulIdentifier","src":"141235:3:21"},"nativeSrc":"141235:24:21","nodeType":"YulFunctionCall","src":"141235:24:21"},"variables":[{"name":"shift","nativeSrc":"141226:5:21","nodeType":"YulTypedName","src":"141226:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"141287:3:21","nodeType":"YulIdentifier","src":"141287:3:21"},{"kind":"number","nativeSrc":"141292:4:21","nodeType":"YulLiteral","src":"141292:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"141283:3:21","nodeType":"YulIdentifier","src":"141283:3:21"},"nativeSrc":"141283:14:21","nodeType":"YulFunctionCall","src":"141283:14:21"},{"arguments":[{"name":"shift","nativeSrc":"141303:5:21","nodeType":"YulIdentifier","src":"141303:5:21"},{"arguments":[{"name":"shift","nativeSrc":"141314:5:21","nodeType":"YulIdentifier","src":"141314:5:21"},{"name":"w","nativeSrc":"141321:1:21","nodeType":"YulIdentifier","src":"141321:1:21"}],"functionName":{"name":"shr","nativeSrc":"141310:3:21","nodeType":"YulIdentifier","src":"141310:3:21"},"nativeSrc":"141310:13:21","nodeType":"YulFunctionCall","src":"141310:13:21"}],"functionName":{"name":"shl","nativeSrc":"141299:3:21","nodeType":"YulIdentifier","src":"141299:3:21"},"nativeSrc":"141299:25:21","nodeType":"YulFunctionCall","src":"141299:25:21"}],"functionName":{"name":"mstore","nativeSrc":"141276:6:21","nodeType":"YulIdentifier","src":"141276:6:21"},"nativeSrc":"141276:49:21","nodeType":"YulFunctionCall","src":"141276:49:21"},"nativeSrc":"141276:49:21","nodeType":"YulExpressionStatement","src":"141276:49:21"}]},"name":"writeString","nativeSrc":"140997:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"141018:3:21","nodeType":"YulTypedName","src":"141018:3:21","type":""},{"name":"w","nativeSrc":"141023:1:21","nodeType":"YulTypedName","src":"141023:1:21","type":""}],"src":"140997:342:21"},{"nativeSrc":"141352:17:21","nodeType":"YulAssignment","src":"141352:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"141364:4:21","nodeType":"YulLiteral","src":"141364:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"141358:5:21","nodeType":"YulIdentifier","src":"141358:5:21"},"nativeSrc":"141358:11:21","nodeType":"YulFunctionCall","src":"141358:11:21"},"variableNames":[{"name":"m0","nativeSrc":"141352:2:21","nodeType":"YulIdentifier","src":"141352:2:21"}]},{"nativeSrc":"141382:17:21","nodeType":"YulAssignment","src":"141382:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"141394:4:21","nodeType":"YulLiteral","src":"141394:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"141388:5:21","nodeType":"YulIdentifier","src":"141388:5:21"},"nativeSrc":"141388:11:21","nodeType":"YulFunctionCall","src":"141388:11:21"},"variableNames":[{"name":"m1","nativeSrc":"141382:2:21","nodeType":"YulIdentifier","src":"141382:2:21"}]},{"nativeSrc":"141412:17:21","nodeType":"YulAssignment","src":"141412:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"141424:4:21","nodeType":"YulLiteral","src":"141424:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"141418:5:21","nodeType":"YulIdentifier","src":"141418:5:21"},"nativeSrc":"141418:11:21","nodeType":"YulFunctionCall","src":"141418:11:21"},"variableNames":[{"name":"m2","nativeSrc":"141412:2:21","nodeType":"YulIdentifier","src":"141412:2:21"}]},{"nativeSrc":"141442:17:21","nodeType":"YulAssignment","src":"141442:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"141454:4:21","nodeType":"YulLiteral","src":"141454:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"141448:5:21","nodeType":"YulIdentifier","src":"141448:5:21"},"nativeSrc":"141448:11:21","nodeType":"YulFunctionCall","src":"141448:11:21"},"variableNames":[{"name":"m3","nativeSrc":"141442:2:21","nodeType":"YulIdentifier","src":"141442:2:21"}]},{"nativeSrc":"141472:17:21","nodeType":"YulAssignment","src":"141472:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"141484:4:21","nodeType":"YulLiteral","src":"141484:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"141478:5:21","nodeType":"YulIdentifier","src":"141478:5:21"},"nativeSrc":"141478:11:21","nodeType":"YulFunctionCall","src":"141478:11:21"},"variableNames":[{"name":"m4","nativeSrc":"141472:2:21","nodeType":"YulIdentifier","src":"141472:2:21"}]},{"nativeSrc":"141502:17:21","nodeType":"YulAssignment","src":"141502:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"141514:4:21","nodeType":"YulLiteral","src":"141514:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"141508:5:21","nodeType":"YulIdentifier","src":"141508:5:21"},"nativeSrc":"141508:11:21","nodeType":"YulFunctionCall","src":"141508:11:21"},"variableNames":[{"name":"m5","nativeSrc":"141502:2:21","nodeType":"YulIdentifier","src":"141502:2:21"}]},{"nativeSrc":"141532:17:21","nodeType":"YulAssignment","src":"141532:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"141544:4:21","nodeType":"YulLiteral","src":"141544:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"141538:5:21","nodeType":"YulIdentifier","src":"141538:5:21"},"nativeSrc":"141538:11:21","nodeType":"YulFunctionCall","src":"141538:11:21"},"variableNames":[{"name":"m6","nativeSrc":"141532:2:21","nodeType":"YulIdentifier","src":"141532:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141632:4:21","nodeType":"YulLiteral","src":"141632:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"141638:10:21","nodeType":"YulLiteral","src":"141638:10:21","type":"","value":"0xcf18105c"}],"functionName":{"name":"mstore","nativeSrc":"141625:6:21","nodeType":"YulIdentifier","src":"141625:6:21"},"nativeSrc":"141625:24:21","nodeType":"YulFunctionCall","src":"141625:24:21"},"nativeSrc":"141625:24:21","nodeType":"YulExpressionStatement","src":"141625:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141669:4:21","nodeType":"YulLiteral","src":"141669:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"141675:2:21","nodeType":"YulIdentifier","src":"141675:2:21"}],"functionName":{"name":"mstore","nativeSrc":"141662:6:21","nodeType":"YulIdentifier","src":"141662:6:21"},"nativeSrc":"141662:16:21","nodeType":"YulFunctionCall","src":"141662:16:21"},"nativeSrc":"141662:16:21","nodeType":"YulExpressionStatement","src":"141662:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141698:4:21","nodeType":"YulLiteral","src":"141698:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"141704:2:21","nodeType":"YulIdentifier","src":"141704:2:21"}],"functionName":{"name":"mstore","nativeSrc":"141691:6:21","nodeType":"YulIdentifier","src":"141691:6:21"},"nativeSrc":"141691:16:21","nodeType":"YulFunctionCall","src":"141691:16:21"},"nativeSrc":"141691:16:21","nodeType":"YulExpressionStatement","src":"141691:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141727:4:21","nodeType":"YulLiteral","src":"141727:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"141733:4:21","nodeType":"YulLiteral","src":"141733:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"141720:6:21","nodeType":"YulIdentifier","src":"141720:6:21"},"nativeSrc":"141720:18:21","nodeType":"YulFunctionCall","src":"141720:18:21"},"nativeSrc":"141720:18:21","nodeType":"YulExpressionStatement","src":"141720:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141758:4:21","nodeType":"YulLiteral","src":"141758:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"141764:2:21","nodeType":"YulIdentifier","src":"141764:2:21"}],"functionName":{"name":"mstore","nativeSrc":"141751:6:21","nodeType":"YulIdentifier","src":"141751:6:21"},"nativeSrc":"141751:16:21","nodeType":"YulFunctionCall","src":"141751:16:21"},"nativeSrc":"141751:16:21","nodeType":"YulExpressionStatement","src":"141751:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141792:4:21","nodeType":"YulLiteral","src":"141792:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"141798:2:21","nodeType":"YulIdentifier","src":"141798:2:21"}],"functionName":{"name":"writeString","nativeSrc":"141780:11:21","nodeType":"YulIdentifier","src":"141780:11:21"},"nativeSrc":"141780:21:21","nodeType":"YulFunctionCall","src":"141780:21:21"},"nativeSrc":"141780:21:21","nodeType":"YulExpressionStatement","src":"141780:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31458,"isOffset":false,"isSlot":false,"src":"141352:2:21","valueSize":1},{"declaration":31461,"isOffset":false,"isSlot":false,"src":"141382:2:21","valueSize":1},{"declaration":31464,"isOffset":false,"isSlot":false,"src":"141412:2:21","valueSize":1},{"declaration":31467,"isOffset":false,"isSlot":false,"src":"141442:2:21","valueSize":1},{"declaration":31470,"isOffset":false,"isSlot":false,"src":"141472:2:21","valueSize":1},{"declaration":31473,"isOffset":false,"isSlot":false,"src":"141502:2:21","valueSize":1},{"declaration":31476,"isOffset":false,"isSlot":false,"src":"141532:2:21","valueSize":1},{"declaration":31448,"isOffset":false,"isSlot":false,"src":"141675:2:21","valueSize":1},{"declaration":31450,"isOffset":false,"isSlot":false,"src":"141704:2:21","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"141798:2:21","valueSize":1},{"declaration":31454,"isOffset":false,"isSlot":false,"src":"141764:2:21","valueSize":1}],"id":31478,"nodeType":"InlineAssembly","src":"140974:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"141836:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"141842:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31479,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"141820:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"141820:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31483,"nodeType":"ExpressionStatement","src":"141820:27:21"},{"AST":{"nativeSrc":"141909:214:21","nodeType":"YulBlock","src":"141909:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"141930:4:21","nodeType":"YulLiteral","src":"141930:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"141936:2:21","nodeType":"YulIdentifier","src":"141936:2:21"}],"functionName":{"name":"mstore","nativeSrc":"141923:6:21","nodeType":"YulIdentifier","src":"141923:6:21"},"nativeSrc":"141923:16:21","nodeType":"YulFunctionCall","src":"141923:16:21"},"nativeSrc":"141923:16:21","nodeType":"YulExpressionStatement","src":"141923:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141959:4:21","nodeType":"YulLiteral","src":"141959:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"141965:2:21","nodeType":"YulIdentifier","src":"141965:2:21"}],"functionName":{"name":"mstore","nativeSrc":"141952:6:21","nodeType":"YulIdentifier","src":"141952:6:21"},"nativeSrc":"141952:16:21","nodeType":"YulFunctionCall","src":"141952:16:21"},"nativeSrc":"141952:16:21","nodeType":"YulExpressionStatement","src":"141952:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141988:4:21","nodeType":"YulLiteral","src":"141988:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"141994:2:21","nodeType":"YulIdentifier","src":"141994:2:21"}],"functionName":{"name":"mstore","nativeSrc":"141981:6:21","nodeType":"YulIdentifier","src":"141981:6:21"},"nativeSrc":"141981:16:21","nodeType":"YulFunctionCall","src":"141981:16:21"},"nativeSrc":"141981:16:21","nodeType":"YulExpressionStatement","src":"141981:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142017:4:21","nodeType":"YulLiteral","src":"142017:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"142023:2:21","nodeType":"YulIdentifier","src":"142023:2:21"}],"functionName":{"name":"mstore","nativeSrc":"142010:6:21","nodeType":"YulIdentifier","src":"142010:6:21"},"nativeSrc":"142010:16:21","nodeType":"YulFunctionCall","src":"142010:16:21"},"nativeSrc":"142010:16:21","nodeType":"YulExpressionStatement","src":"142010:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142046:4:21","nodeType":"YulLiteral","src":"142046:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"142052:2:21","nodeType":"YulIdentifier","src":"142052:2:21"}],"functionName":{"name":"mstore","nativeSrc":"142039:6:21","nodeType":"YulIdentifier","src":"142039:6:21"},"nativeSrc":"142039:16:21","nodeType":"YulFunctionCall","src":"142039:16:21"},"nativeSrc":"142039:16:21","nodeType":"YulExpressionStatement","src":"142039:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142075:4:21","nodeType":"YulLiteral","src":"142075:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"142081:2:21","nodeType":"YulIdentifier","src":"142081:2:21"}],"functionName":{"name":"mstore","nativeSrc":"142068:6:21","nodeType":"YulIdentifier","src":"142068:6:21"},"nativeSrc":"142068:16:21","nodeType":"YulFunctionCall","src":"142068:16:21"},"nativeSrc":"142068:16:21","nodeType":"YulExpressionStatement","src":"142068:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142104:4:21","nodeType":"YulLiteral","src":"142104:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"142110:2:21","nodeType":"YulIdentifier","src":"142110:2:21"}],"functionName":{"name":"mstore","nativeSrc":"142097:6:21","nodeType":"YulIdentifier","src":"142097:6:21"},"nativeSrc":"142097:16:21","nodeType":"YulFunctionCall","src":"142097:16:21"},"nativeSrc":"142097:16:21","nodeType":"YulExpressionStatement","src":"142097:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31458,"isOffset":false,"isSlot":false,"src":"141936:2:21","valueSize":1},{"declaration":31461,"isOffset":false,"isSlot":false,"src":"141965:2:21","valueSize":1},{"declaration":31464,"isOffset":false,"isSlot":false,"src":"141994:2:21","valueSize":1},{"declaration":31467,"isOffset":false,"isSlot":false,"src":"142023:2:21","valueSize":1},{"declaration":31470,"isOffset":false,"isSlot":false,"src":"142052:2:21","valueSize":1},{"declaration":31473,"isOffset":false,"isSlot":false,"src":"142081:2:21","valueSize":1},{"declaration":31476,"isOffset":false,"isSlot":false,"src":"142110:2:21","valueSize":1}],"id":31484,"nodeType":"InlineAssembly","src":"141900:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"140718:3:21","parameters":{"id":31455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31448,"mutability":"mutable","name":"p0","nameLocation":"140730:2:21","nodeType":"VariableDeclaration","scope":31486,"src":"140722:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31447,"name":"address","nodeType":"ElementaryTypeName","src":"140722:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31450,"mutability":"mutable","name":"p1","nameLocation":"140742:2:21","nodeType":"VariableDeclaration","scope":31486,"src":"140734:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31449,"name":"uint256","nodeType":"ElementaryTypeName","src":"140734:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31452,"mutability":"mutable","name":"p2","nameLocation":"140754:2:21","nodeType":"VariableDeclaration","scope":31486,"src":"140746:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140746:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31454,"mutability":"mutable","name":"p3","nameLocation":"140763:2:21","nodeType":"VariableDeclaration","scope":31486,"src":"140758:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31453,"name":"bool","nodeType":"ElementaryTypeName","src":"140758:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"140721:45:21"},"returnParameters":{"id":31456,"nodeType":"ParameterList","parameters":[],"src":"140781:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31526,"nodeType":"FunctionDefinition","src":"142135:1426:21","nodes":[],"body":{"id":31525,"nodeType":"Block","src":"142210:1351:21","nodes":[],"statements":[{"assignments":[31498],"declarations":[{"constant":false,"id":31498,"mutability":"mutable","name":"m0","nameLocation":"142228:2:21","nodeType":"VariableDeclaration","scope":31525,"src":"142220:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142220:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31499,"nodeType":"VariableDeclarationStatement","src":"142220:10:21"},{"assignments":[31501],"declarations":[{"constant":false,"id":31501,"mutability":"mutable","name":"m1","nameLocation":"142248:2:21","nodeType":"VariableDeclaration","scope":31525,"src":"142240:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142240:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31502,"nodeType":"VariableDeclarationStatement","src":"142240:10:21"},{"assignments":[31504],"declarations":[{"constant":false,"id":31504,"mutability":"mutable","name":"m2","nameLocation":"142268:2:21","nodeType":"VariableDeclaration","scope":31525,"src":"142260:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142260:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31505,"nodeType":"VariableDeclarationStatement","src":"142260:10:21"},{"assignments":[31507],"declarations":[{"constant":false,"id":31507,"mutability":"mutable","name":"m3","nameLocation":"142288:2:21","nodeType":"VariableDeclaration","scope":31525,"src":"142280:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142280:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31508,"nodeType":"VariableDeclarationStatement","src":"142280:10:21"},{"assignments":[31510],"declarations":[{"constant":false,"id":31510,"mutability":"mutable","name":"m4","nameLocation":"142308:2:21","nodeType":"VariableDeclaration","scope":31525,"src":"142300:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31509,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142300:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31511,"nodeType":"VariableDeclarationStatement","src":"142300:10:21"},{"assignments":[31513],"declarations":[{"constant":false,"id":31513,"mutability":"mutable","name":"m5","nameLocation":"142328:2:21","nodeType":"VariableDeclaration","scope":31525,"src":"142320:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31512,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142320:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31514,"nodeType":"VariableDeclarationStatement","src":"142320:10:21"},{"assignments":[31516],"declarations":[{"constant":false,"id":31516,"mutability":"mutable","name":"m6","nameLocation":"142348:2:21","nodeType":"VariableDeclaration","scope":31525,"src":"142340:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142340:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31517,"nodeType":"VariableDeclarationStatement","src":"142340:10:21"},{"AST":{"nativeSrc":"142412:831:21","nodeType":"YulBlock","src":"142412:831:21","statements":[{"body":{"nativeSrc":"142455:313:21","nodeType":"YulBlock","src":"142455:313:21","statements":[{"nativeSrc":"142473:15:21","nodeType":"YulVariableDeclaration","src":"142473:15:21","value":{"kind":"number","nativeSrc":"142487:1:21","nodeType":"YulLiteral","src":"142487:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"142477:6:21","nodeType":"YulTypedName","src":"142477:6:21","type":""}]},{"body":{"nativeSrc":"142558:40:21","nodeType":"YulBlock","src":"142558:40:21","statements":[{"body":{"nativeSrc":"142587:9:21","nodeType":"YulBlock","src":"142587:9:21","statements":[{"nativeSrc":"142589:5:21","nodeType":"YulBreak","src":"142589:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"142575:6:21","nodeType":"YulIdentifier","src":"142575:6:21"},{"name":"w","nativeSrc":"142583:1:21","nodeType":"YulIdentifier","src":"142583:1:21"}],"functionName":{"name":"byte","nativeSrc":"142570:4:21","nodeType":"YulIdentifier","src":"142570:4:21"},"nativeSrc":"142570:15:21","nodeType":"YulFunctionCall","src":"142570:15:21"}],"functionName":{"name":"iszero","nativeSrc":"142563:6:21","nodeType":"YulIdentifier","src":"142563:6:21"},"nativeSrc":"142563:23:21","nodeType":"YulFunctionCall","src":"142563:23:21"},"nativeSrc":"142560:36:21","nodeType":"YulIf","src":"142560:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"142515:6:21","nodeType":"YulIdentifier","src":"142515:6:21"},{"kind":"number","nativeSrc":"142523:4:21","nodeType":"YulLiteral","src":"142523:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"142512:2:21","nodeType":"YulIdentifier","src":"142512:2:21"},"nativeSrc":"142512:16:21","nodeType":"YulFunctionCall","src":"142512:16:21"},"nativeSrc":"142505:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"142529:28:21","nodeType":"YulBlock","src":"142529:28:21","statements":[{"nativeSrc":"142531:24:21","nodeType":"YulAssignment","src":"142531:24:21","value":{"arguments":[{"name":"length","nativeSrc":"142545:6:21","nodeType":"YulIdentifier","src":"142545:6:21"},{"kind":"number","nativeSrc":"142553:1:21","nodeType":"YulLiteral","src":"142553:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"142541:3:21","nodeType":"YulIdentifier","src":"142541:3:21"},"nativeSrc":"142541:14:21","nodeType":"YulFunctionCall","src":"142541:14:21"},"variableNames":[{"name":"length","nativeSrc":"142531:6:21","nodeType":"YulIdentifier","src":"142531:6:21"}]}]},"pre":{"nativeSrc":"142509:2:21","nodeType":"YulBlock","src":"142509:2:21","statements":[]},"src":"142505:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"142622:3:21","nodeType":"YulIdentifier","src":"142622:3:21"},{"name":"length","nativeSrc":"142627:6:21","nodeType":"YulIdentifier","src":"142627:6:21"}],"functionName":{"name":"mstore","nativeSrc":"142615:6:21","nodeType":"YulIdentifier","src":"142615:6:21"},"nativeSrc":"142615:19:21","nodeType":"YulFunctionCall","src":"142615:19:21"},"nativeSrc":"142615:19:21","nodeType":"YulExpressionStatement","src":"142615:19:21"},{"nativeSrc":"142651:37:21","nodeType":"YulVariableDeclaration","src":"142651:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"142668:3:21","nodeType":"YulLiteral","src":"142668:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"142677:1:21","nodeType":"YulLiteral","src":"142677:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"142680:6:21","nodeType":"YulIdentifier","src":"142680:6:21"}],"functionName":{"name":"shl","nativeSrc":"142673:3:21","nodeType":"YulIdentifier","src":"142673:3:21"},"nativeSrc":"142673:14:21","nodeType":"YulFunctionCall","src":"142673:14:21"}],"functionName":{"name":"sub","nativeSrc":"142664:3:21","nodeType":"YulIdentifier","src":"142664:3:21"},"nativeSrc":"142664:24:21","nodeType":"YulFunctionCall","src":"142664:24:21"},"variables":[{"name":"shift","nativeSrc":"142655:5:21","nodeType":"YulTypedName","src":"142655:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"142716:3:21","nodeType":"YulIdentifier","src":"142716:3:21"},{"kind":"number","nativeSrc":"142721:4:21","nodeType":"YulLiteral","src":"142721:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"142712:3:21","nodeType":"YulIdentifier","src":"142712:3:21"},"nativeSrc":"142712:14:21","nodeType":"YulFunctionCall","src":"142712:14:21"},{"arguments":[{"name":"shift","nativeSrc":"142732:5:21","nodeType":"YulIdentifier","src":"142732:5:21"},{"arguments":[{"name":"shift","nativeSrc":"142743:5:21","nodeType":"YulIdentifier","src":"142743:5:21"},{"name":"w","nativeSrc":"142750:1:21","nodeType":"YulIdentifier","src":"142750:1:21"}],"functionName":{"name":"shr","nativeSrc":"142739:3:21","nodeType":"YulIdentifier","src":"142739:3:21"},"nativeSrc":"142739:13:21","nodeType":"YulFunctionCall","src":"142739:13:21"}],"functionName":{"name":"shl","nativeSrc":"142728:3:21","nodeType":"YulIdentifier","src":"142728:3:21"},"nativeSrc":"142728:25:21","nodeType":"YulFunctionCall","src":"142728:25:21"}],"functionName":{"name":"mstore","nativeSrc":"142705:6:21","nodeType":"YulIdentifier","src":"142705:6:21"},"nativeSrc":"142705:49:21","nodeType":"YulFunctionCall","src":"142705:49:21"},"nativeSrc":"142705:49:21","nodeType":"YulExpressionStatement","src":"142705:49:21"}]},"name":"writeString","nativeSrc":"142426:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"142447:3:21","nodeType":"YulTypedName","src":"142447:3:21","type":""},{"name":"w","nativeSrc":"142452:1:21","nodeType":"YulTypedName","src":"142452:1:21","type":""}],"src":"142426:342:21"},{"nativeSrc":"142781:17:21","nodeType":"YulAssignment","src":"142781:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"142793:4:21","nodeType":"YulLiteral","src":"142793:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"142787:5:21","nodeType":"YulIdentifier","src":"142787:5:21"},"nativeSrc":"142787:11:21","nodeType":"YulFunctionCall","src":"142787:11:21"},"variableNames":[{"name":"m0","nativeSrc":"142781:2:21","nodeType":"YulIdentifier","src":"142781:2:21"}]},{"nativeSrc":"142811:17:21","nodeType":"YulAssignment","src":"142811:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"142823:4:21","nodeType":"YulLiteral","src":"142823:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"142817:5:21","nodeType":"YulIdentifier","src":"142817:5:21"},"nativeSrc":"142817:11:21","nodeType":"YulFunctionCall","src":"142817:11:21"},"variableNames":[{"name":"m1","nativeSrc":"142811:2:21","nodeType":"YulIdentifier","src":"142811:2:21"}]},{"nativeSrc":"142841:17:21","nodeType":"YulAssignment","src":"142841:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"142853:4:21","nodeType":"YulLiteral","src":"142853:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"142847:5:21","nodeType":"YulIdentifier","src":"142847:5:21"},"nativeSrc":"142847:11:21","nodeType":"YulFunctionCall","src":"142847:11:21"},"variableNames":[{"name":"m2","nativeSrc":"142841:2:21","nodeType":"YulIdentifier","src":"142841:2:21"}]},{"nativeSrc":"142871:17:21","nodeType":"YulAssignment","src":"142871:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"142883:4:21","nodeType":"YulLiteral","src":"142883:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"142877:5:21","nodeType":"YulIdentifier","src":"142877:5:21"},"nativeSrc":"142877:11:21","nodeType":"YulFunctionCall","src":"142877:11:21"},"variableNames":[{"name":"m3","nativeSrc":"142871:2:21","nodeType":"YulIdentifier","src":"142871:2:21"}]},{"nativeSrc":"142901:17:21","nodeType":"YulAssignment","src":"142901:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"142913:4:21","nodeType":"YulLiteral","src":"142913:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"142907:5:21","nodeType":"YulIdentifier","src":"142907:5:21"},"nativeSrc":"142907:11:21","nodeType":"YulFunctionCall","src":"142907:11:21"},"variableNames":[{"name":"m4","nativeSrc":"142901:2:21","nodeType":"YulIdentifier","src":"142901:2:21"}]},{"nativeSrc":"142931:17:21","nodeType":"YulAssignment","src":"142931:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"142943:4:21","nodeType":"YulLiteral","src":"142943:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"142937:5:21","nodeType":"YulIdentifier","src":"142937:5:21"},"nativeSrc":"142937:11:21","nodeType":"YulFunctionCall","src":"142937:11:21"},"variableNames":[{"name":"m5","nativeSrc":"142931:2:21","nodeType":"YulIdentifier","src":"142931:2:21"}]},{"nativeSrc":"142961:17:21","nodeType":"YulAssignment","src":"142961:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"142973:4:21","nodeType":"YulLiteral","src":"142973:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"142967:5:21","nodeType":"YulIdentifier","src":"142967:5:21"},"nativeSrc":"142967:11:21","nodeType":"YulFunctionCall","src":"142967:11:21"},"variableNames":[{"name":"m6","nativeSrc":"142961:2:21","nodeType":"YulIdentifier","src":"142961:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143064:4:21","nodeType":"YulLiteral","src":"143064:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"143070:10:21","nodeType":"YulLiteral","src":"143070:10:21","type":"","value":"0xbf01f891"}],"functionName":{"name":"mstore","nativeSrc":"143057:6:21","nodeType":"YulIdentifier","src":"143057:6:21"},"nativeSrc":"143057:24:21","nodeType":"YulFunctionCall","src":"143057:24:21"},"nativeSrc":"143057:24:21","nodeType":"YulExpressionStatement","src":"143057:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143101:4:21","nodeType":"YulLiteral","src":"143101:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"143107:2:21","nodeType":"YulIdentifier","src":"143107:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143094:6:21","nodeType":"YulIdentifier","src":"143094:6:21"},"nativeSrc":"143094:16:21","nodeType":"YulFunctionCall","src":"143094:16:21"},"nativeSrc":"143094:16:21","nodeType":"YulExpressionStatement","src":"143094:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143130:4:21","nodeType":"YulLiteral","src":"143130:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"143136:2:21","nodeType":"YulIdentifier","src":"143136:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143123:6:21","nodeType":"YulIdentifier","src":"143123:6:21"},"nativeSrc":"143123:16:21","nodeType":"YulFunctionCall","src":"143123:16:21"},"nativeSrc":"143123:16:21","nodeType":"YulExpressionStatement","src":"143123:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143159:4:21","nodeType":"YulLiteral","src":"143159:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"143165:4:21","nodeType":"YulLiteral","src":"143165:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"143152:6:21","nodeType":"YulIdentifier","src":"143152:6:21"},"nativeSrc":"143152:18:21","nodeType":"YulFunctionCall","src":"143152:18:21"},"nativeSrc":"143152:18:21","nodeType":"YulExpressionStatement","src":"143152:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143190:4:21","nodeType":"YulLiteral","src":"143190:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"143196:2:21","nodeType":"YulIdentifier","src":"143196:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143183:6:21","nodeType":"YulIdentifier","src":"143183:6:21"},"nativeSrc":"143183:16:21","nodeType":"YulFunctionCall","src":"143183:16:21"},"nativeSrc":"143183:16:21","nodeType":"YulExpressionStatement","src":"143183:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143224:4:21","nodeType":"YulLiteral","src":"143224:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"143230:2:21","nodeType":"YulIdentifier","src":"143230:2:21"}],"functionName":{"name":"writeString","nativeSrc":"143212:11:21","nodeType":"YulIdentifier","src":"143212:11:21"},"nativeSrc":"143212:21:21","nodeType":"YulFunctionCall","src":"143212:21:21"},"nativeSrc":"143212:21:21","nodeType":"YulExpressionStatement","src":"143212:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31498,"isOffset":false,"isSlot":false,"src":"142781:2:21","valueSize":1},{"declaration":31501,"isOffset":false,"isSlot":false,"src":"142811:2:21","valueSize":1},{"declaration":31504,"isOffset":false,"isSlot":false,"src":"142841:2:21","valueSize":1},{"declaration":31507,"isOffset":false,"isSlot":false,"src":"142871:2:21","valueSize":1},{"declaration":31510,"isOffset":false,"isSlot":false,"src":"142901:2:21","valueSize":1},{"declaration":31513,"isOffset":false,"isSlot":false,"src":"142931:2:21","valueSize":1},{"declaration":31516,"isOffset":false,"isSlot":false,"src":"142961:2:21","valueSize":1},{"declaration":31488,"isOffset":false,"isSlot":false,"src":"143107:2:21","valueSize":1},{"declaration":31490,"isOffset":false,"isSlot":false,"src":"143136:2:21","valueSize":1},{"declaration":31492,"isOffset":false,"isSlot":false,"src":"143230:2:21","valueSize":1},{"declaration":31494,"isOffset":false,"isSlot":false,"src":"143196:2:21","valueSize":1}],"id":31518,"nodeType":"InlineAssembly","src":"142403:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"143268:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"143274:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31519,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"143252:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"143252:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31523,"nodeType":"ExpressionStatement","src":"143252:27:21"},{"AST":{"nativeSrc":"143341:214:21","nodeType":"YulBlock","src":"143341:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"143362:4:21","nodeType":"YulLiteral","src":"143362:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"143368:2:21","nodeType":"YulIdentifier","src":"143368:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143355:6:21","nodeType":"YulIdentifier","src":"143355:6:21"},"nativeSrc":"143355:16:21","nodeType":"YulFunctionCall","src":"143355:16:21"},"nativeSrc":"143355:16:21","nodeType":"YulExpressionStatement","src":"143355:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143391:4:21","nodeType":"YulLiteral","src":"143391:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"143397:2:21","nodeType":"YulIdentifier","src":"143397:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143384:6:21","nodeType":"YulIdentifier","src":"143384:6:21"},"nativeSrc":"143384:16:21","nodeType":"YulFunctionCall","src":"143384:16:21"},"nativeSrc":"143384:16:21","nodeType":"YulExpressionStatement","src":"143384:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143420:4:21","nodeType":"YulLiteral","src":"143420:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"143426:2:21","nodeType":"YulIdentifier","src":"143426:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143413:6:21","nodeType":"YulIdentifier","src":"143413:6:21"},"nativeSrc":"143413:16:21","nodeType":"YulFunctionCall","src":"143413:16:21"},"nativeSrc":"143413:16:21","nodeType":"YulExpressionStatement","src":"143413:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143449:4:21","nodeType":"YulLiteral","src":"143449:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"143455:2:21","nodeType":"YulIdentifier","src":"143455:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143442:6:21","nodeType":"YulIdentifier","src":"143442:6:21"},"nativeSrc":"143442:16:21","nodeType":"YulFunctionCall","src":"143442:16:21"},"nativeSrc":"143442:16:21","nodeType":"YulExpressionStatement","src":"143442:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143478:4:21","nodeType":"YulLiteral","src":"143478:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"143484:2:21","nodeType":"YulIdentifier","src":"143484:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143471:6:21","nodeType":"YulIdentifier","src":"143471:6:21"},"nativeSrc":"143471:16:21","nodeType":"YulFunctionCall","src":"143471:16:21"},"nativeSrc":"143471:16:21","nodeType":"YulExpressionStatement","src":"143471:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143507:4:21","nodeType":"YulLiteral","src":"143507:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"143513:2:21","nodeType":"YulIdentifier","src":"143513:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143500:6:21","nodeType":"YulIdentifier","src":"143500:6:21"},"nativeSrc":"143500:16:21","nodeType":"YulFunctionCall","src":"143500:16:21"},"nativeSrc":"143500:16:21","nodeType":"YulExpressionStatement","src":"143500:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143536:4:21","nodeType":"YulLiteral","src":"143536:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"143542:2:21","nodeType":"YulIdentifier","src":"143542:2:21"}],"functionName":{"name":"mstore","nativeSrc":"143529:6:21","nodeType":"YulIdentifier","src":"143529:6:21"},"nativeSrc":"143529:16:21","nodeType":"YulFunctionCall","src":"143529:16:21"},"nativeSrc":"143529:16:21","nodeType":"YulExpressionStatement","src":"143529:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31498,"isOffset":false,"isSlot":false,"src":"143368:2:21","valueSize":1},{"declaration":31501,"isOffset":false,"isSlot":false,"src":"143397:2:21","valueSize":1},{"declaration":31504,"isOffset":false,"isSlot":false,"src":"143426:2:21","valueSize":1},{"declaration":31507,"isOffset":false,"isSlot":false,"src":"143455:2:21","valueSize":1},{"declaration":31510,"isOffset":false,"isSlot":false,"src":"143484:2:21","valueSize":1},{"declaration":31513,"isOffset":false,"isSlot":false,"src":"143513:2:21","valueSize":1},{"declaration":31516,"isOffset":false,"isSlot":false,"src":"143542:2:21","valueSize":1}],"id":31524,"nodeType":"InlineAssembly","src":"143332:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"142144:3:21","parameters":{"id":31495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31488,"mutability":"mutable","name":"p0","nameLocation":"142156:2:21","nodeType":"VariableDeclaration","scope":31526,"src":"142148:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31487,"name":"address","nodeType":"ElementaryTypeName","src":"142148:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31490,"mutability":"mutable","name":"p1","nameLocation":"142168:2:21","nodeType":"VariableDeclaration","scope":31526,"src":"142160:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31489,"name":"uint256","nodeType":"ElementaryTypeName","src":"142160:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31492,"mutability":"mutable","name":"p2","nameLocation":"142180:2:21","nodeType":"VariableDeclaration","scope":31526,"src":"142172:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142172:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31494,"mutability":"mutable","name":"p3","nameLocation":"142192:2:21","nodeType":"VariableDeclaration","scope":31526,"src":"142184:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31493,"name":"uint256","nodeType":"ElementaryTypeName","src":"142184:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"142147:48:21"},"returnParameters":{"id":31496,"nodeType":"ParameterList","parameters":[],"src":"142210:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31572,"nodeType":"FunctionDefinition","src":"143567:1622:21","nodes":[],"body":{"id":31571,"nodeType":"Block","src":"143642:1547:21","nodes":[],"statements":[{"assignments":[31538],"declarations":[{"constant":false,"id":31538,"mutability":"mutable","name":"m0","nameLocation":"143660:2:21","nodeType":"VariableDeclaration","scope":31571,"src":"143652:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143652:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31539,"nodeType":"VariableDeclarationStatement","src":"143652:10:21"},{"assignments":[31541],"declarations":[{"constant":false,"id":31541,"mutability":"mutable","name":"m1","nameLocation":"143680:2:21","nodeType":"VariableDeclaration","scope":31571,"src":"143672:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143672:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31542,"nodeType":"VariableDeclarationStatement","src":"143672:10:21"},{"assignments":[31544],"declarations":[{"constant":false,"id":31544,"mutability":"mutable","name":"m2","nameLocation":"143700:2:21","nodeType":"VariableDeclaration","scope":31571,"src":"143692:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31543,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143692:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31545,"nodeType":"VariableDeclarationStatement","src":"143692:10:21"},{"assignments":[31547],"declarations":[{"constant":false,"id":31547,"mutability":"mutable","name":"m3","nameLocation":"143720:2:21","nodeType":"VariableDeclaration","scope":31571,"src":"143712:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31546,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143712:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31548,"nodeType":"VariableDeclarationStatement","src":"143712:10:21"},{"assignments":[31550],"declarations":[{"constant":false,"id":31550,"mutability":"mutable","name":"m4","nameLocation":"143740:2:21","nodeType":"VariableDeclaration","scope":31571,"src":"143732:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31549,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143732:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31551,"nodeType":"VariableDeclarationStatement","src":"143732:10:21"},{"assignments":[31553],"declarations":[{"constant":false,"id":31553,"mutability":"mutable","name":"m5","nameLocation":"143760:2:21","nodeType":"VariableDeclaration","scope":31571,"src":"143752:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143752:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31554,"nodeType":"VariableDeclarationStatement","src":"143752:10:21"},{"assignments":[31556],"declarations":[{"constant":false,"id":31556,"mutability":"mutable","name":"m6","nameLocation":"143780:2:21","nodeType":"VariableDeclaration","scope":31571,"src":"143772:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31555,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143772:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31557,"nodeType":"VariableDeclarationStatement","src":"143772:10:21"},{"assignments":[31559],"declarations":[{"constant":false,"id":31559,"mutability":"mutable","name":"m7","nameLocation":"143800:2:21","nodeType":"VariableDeclaration","scope":31571,"src":"143792:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31558,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143792:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31560,"nodeType":"VariableDeclarationStatement","src":"143792:10:21"},{"assignments":[31562],"declarations":[{"constant":false,"id":31562,"mutability":"mutable","name":"m8","nameLocation":"143820:2:21","nodeType":"VariableDeclaration","scope":31571,"src":"143812:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31561,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143812:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31563,"nodeType":"VariableDeclarationStatement","src":"143812:10:21"},{"AST":{"nativeSrc":"143884:927:21","nodeType":"YulBlock","src":"143884:927:21","statements":[{"body":{"nativeSrc":"143927:313:21","nodeType":"YulBlock","src":"143927:313:21","statements":[{"nativeSrc":"143945:15:21","nodeType":"YulVariableDeclaration","src":"143945:15:21","value":{"kind":"number","nativeSrc":"143959:1:21","nodeType":"YulLiteral","src":"143959:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"143949:6:21","nodeType":"YulTypedName","src":"143949:6:21","type":""}]},{"body":{"nativeSrc":"144030:40:21","nodeType":"YulBlock","src":"144030:40:21","statements":[{"body":{"nativeSrc":"144059:9:21","nodeType":"YulBlock","src":"144059:9:21","statements":[{"nativeSrc":"144061:5:21","nodeType":"YulBreak","src":"144061:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"144047:6:21","nodeType":"YulIdentifier","src":"144047:6:21"},{"name":"w","nativeSrc":"144055:1:21","nodeType":"YulIdentifier","src":"144055:1:21"}],"functionName":{"name":"byte","nativeSrc":"144042:4:21","nodeType":"YulIdentifier","src":"144042:4:21"},"nativeSrc":"144042:15:21","nodeType":"YulFunctionCall","src":"144042:15:21"}],"functionName":{"name":"iszero","nativeSrc":"144035:6:21","nodeType":"YulIdentifier","src":"144035:6:21"},"nativeSrc":"144035:23:21","nodeType":"YulFunctionCall","src":"144035:23:21"},"nativeSrc":"144032:36:21","nodeType":"YulIf","src":"144032:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"143987:6:21","nodeType":"YulIdentifier","src":"143987:6:21"},{"kind":"number","nativeSrc":"143995:4:21","nodeType":"YulLiteral","src":"143995:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"143984:2:21","nodeType":"YulIdentifier","src":"143984:2:21"},"nativeSrc":"143984:16:21","nodeType":"YulFunctionCall","src":"143984:16:21"},"nativeSrc":"143977:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"144001:28:21","nodeType":"YulBlock","src":"144001:28:21","statements":[{"nativeSrc":"144003:24:21","nodeType":"YulAssignment","src":"144003:24:21","value":{"arguments":[{"name":"length","nativeSrc":"144017:6:21","nodeType":"YulIdentifier","src":"144017:6:21"},{"kind":"number","nativeSrc":"144025:1:21","nodeType":"YulLiteral","src":"144025:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"144013:3:21","nodeType":"YulIdentifier","src":"144013:3:21"},"nativeSrc":"144013:14:21","nodeType":"YulFunctionCall","src":"144013:14:21"},"variableNames":[{"name":"length","nativeSrc":"144003:6:21","nodeType":"YulIdentifier","src":"144003:6:21"}]}]},"pre":{"nativeSrc":"143981:2:21","nodeType":"YulBlock","src":"143981:2:21","statements":[]},"src":"143977:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"144094:3:21","nodeType":"YulIdentifier","src":"144094:3:21"},{"name":"length","nativeSrc":"144099:6:21","nodeType":"YulIdentifier","src":"144099:6:21"}],"functionName":{"name":"mstore","nativeSrc":"144087:6:21","nodeType":"YulIdentifier","src":"144087:6:21"},"nativeSrc":"144087:19:21","nodeType":"YulFunctionCall","src":"144087:19:21"},"nativeSrc":"144087:19:21","nodeType":"YulExpressionStatement","src":"144087:19:21"},{"nativeSrc":"144123:37:21","nodeType":"YulVariableDeclaration","src":"144123:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"144140:3:21","nodeType":"YulLiteral","src":"144140:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"144149:1:21","nodeType":"YulLiteral","src":"144149:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"144152:6:21","nodeType":"YulIdentifier","src":"144152:6:21"}],"functionName":{"name":"shl","nativeSrc":"144145:3:21","nodeType":"YulIdentifier","src":"144145:3:21"},"nativeSrc":"144145:14:21","nodeType":"YulFunctionCall","src":"144145:14:21"}],"functionName":{"name":"sub","nativeSrc":"144136:3:21","nodeType":"YulIdentifier","src":"144136:3:21"},"nativeSrc":"144136:24:21","nodeType":"YulFunctionCall","src":"144136:24:21"},"variables":[{"name":"shift","nativeSrc":"144127:5:21","nodeType":"YulTypedName","src":"144127:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"144188:3:21","nodeType":"YulIdentifier","src":"144188:3:21"},{"kind":"number","nativeSrc":"144193:4:21","nodeType":"YulLiteral","src":"144193:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"144184:3:21","nodeType":"YulIdentifier","src":"144184:3:21"},"nativeSrc":"144184:14:21","nodeType":"YulFunctionCall","src":"144184:14:21"},{"arguments":[{"name":"shift","nativeSrc":"144204:5:21","nodeType":"YulIdentifier","src":"144204:5:21"},{"arguments":[{"name":"shift","nativeSrc":"144215:5:21","nodeType":"YulIdentifier","src":"144215:5:21"},{"name":"w","nativeSrc":"144222:1:21","nodeType":"YulIdentifier","src":"144222:1:21"}],"functionName":{"name":"shr","nativeSrc":"144211:3:21","nodeType":"YulIdentifier","src":"144211:3:21"},"nativeSrc":"144211:13:21","nodeType":"YulFunctionCall","src":"144211:13:21"}],"functionName":{"name":"shl","nativeSrc":"144200:3:21","nodeType":"YulIdentifier","src":"144200:3:21"},"nativeSrc":"144200:25:21","nodeType":"YulFunctionCall","src":"144200:25:21"}],"functionName":{"name":"mstore","nativeSrc":"144177:6:21","nodeType":"YulIdentifier","src":"144177:6:21"},"nativeSrc":"144177:49:21","nodeType":"YulFunctionCall","src":"144177:49:21"},"nativeSrc":"144177:49:21","nodeType":"YulExpressionStatement","src":"144177:49:21"}]},"name":"writeString","nativeSrc":"143898:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"143919:3:21","nodeType":"YulTypedName","src":"143919:3:21","type":""},{"name":"w","nativeSrc":"143924:1:21","nodeType":"YulTypedName","src":"143924:1:21","type":""}],"src":"143898:342:21"},{"nativeSrc":"144253:17:21","nodeType":"YulAssignment","src":"144253:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"144265:4:21","nodeType":"YulLiteral","src":"144265:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"144259:5:21","nodeType":"YulIdentifier","src":"144259:5:21"},"nativeSrc":"144259:11:21","nodeType":"YulFunctionCall","src":"144259:11:21"},"variableNames":[{"name":"m0","nativeSrc":"144253:2:21","nodeType":"YulIdentifier","src":"144253:2:21"}]},{"nativeSrc":"144283:17:21","nodeType":"YulAssignment","src":"144283:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"144295:4:21","nodeType":"YulLiteral","src":"144295:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"144289:5:21","nodeType":"YulIdentifier","src":"144289:5:21"},"nativeSrc":"144289:11:21","nodeType":"YulFunctionCall","src":"144289:11:21"},"variableNames":[{"name":"m1","nativeSrc":"144283:2:21","nodeType":"YulIdentifier","src":"144283:2:21"}]},{"nativeSrc":"144313:17:21","nodeType":"YulAssignment","src":"144313:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"144325:4:21","nodeType":"YulLiteral","src":"144325:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"144319:5:21","nodeType":"YulIdentifier","src":"144319:5:21"},"nativeSrc":"144319:11:21","nodeType":"YulFunctionCall","src":"144319:11:21"},"variableNames":[{"name":"m2","nativeSrc":"144313:2:21","nodeType":"YulIdentifier","src":"144313:2:21"}]},{"nativeSrc":"144343:17:21","nodeType":"YulAssignment","src":"144343:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"144355:4:21","nodeType":"YulLiteral","src":"144355:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"144349:5:21","nodeType":"YulIdentifier","src":"144349:5:21"},"nativeSrc":"144349:11:21","nodeType":"YulFunctionCall","src":"144349:11:21"},"variableNames":[{"name":"m3","nativeSrc":"144343:2:21","nodeType":"YulIdentifier","src":"144343:2:21"}]},{"nativeSrc":"144373:17:21","nodeType":"YulAssignment","src":"144373:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"144385:4:21","nodeType":"YulLiteral","src":"144385:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"144379:5:21","nodeType":"YulIdentifier","src":"144379:5:21"},"nativeSrc":"144379:11:21","nodeType":"YulFunctionCall","src":"144379:11:21"},"variableNames":[{"name":"m4","nativeSrc":"144373:2:21","nodeType":"YulIdentifier","src":"144373:2:21"}]},{"nativeSrc":"144403:17:21","nodeType":"YulAssignment","src":"144403:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"144415:4:21","nodeType":"YulLiteral","src":"144415:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"144409:5:21","nodeType":"YulIdentifier","src":"144409:5:21"},"nativeSrc":"144409:11:21","nodeType":"YulFunctionCall","src":"144409:11:21"},"variableNames":[{"name":"m5","nativeSrc":"144403:2:21","nodeType":"YulIdentifier","src":"144403:2:21"}]},{"nativeSrc":"144433:17:21","nodeType":"YulAssignment","src":"144433:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"144445:4:21","nodeType":"YulLiteral","src":"144445:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"144439:5:21","nodeType":"YulIdentifier","src":"144439:5:21"},"nativeSrc":"144439:11:21","nodeType":"YulFunctionCall","src":"144439:11:21"},"variableNames":[{"name":"m6","nativeSrc":"144433:2:21","nodeType":"YulIdentifier","src":"144433:2:21"}]},{"nativeSrc":"144463:17:21","nodeType":"YulAssignment","src":"144463:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"144475:4:21","nodeType":"YulLiteral","src":"144475:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"144469:5:21","nodeType":"YulIdentifier","src":"144469:5:21"},"nativeSrc":"144469:11:21","nodeType":"YulFunctionCall","src":"144469:11:21"},"variableNames":[{"name":"m7","nativeSrc":"144463:2:21","nodeType":"YulIdentifier","src":"144463:2:21"}]},{"nativeSrc":"144493:18:21","nodeType":"YulAssignment","src":"144493:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"144505:5:21","nodeType":"YulLiteral","src":"144505:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"144499:5:21","nodeType":"YulIdentifier","src":"144499:5:21"},"nativeSrc":"144499:12:21","nodeType":"YulFunctionCall","src":"144499:12:21"},"variableNames":[{"name":"m8","nativeSrc":"144493:2:21","nodeType":"YulIdentifier","src":"144493:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144596:4:21","nodeType":"YulLiteral","src":"144596:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"144602:10:21","nodeType":"YulLiteral","src":"144602:10:21","type":"","value":"0x88a8c406"}],"functionName":{"name":"mstore","nativeSrc":"144589:6:21","nodeType":"YulIdentifier","src":"144589:6:21"},"nativeSrc":"144589:24:21","nodeType":"YulFunctionCall","src":"144589:24:21"},"nativeSrc":"144589:24:21","nodeType":"YulExpressionStatement","src":"144589:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144633:4:21","nodeType":"YulLiteral","src":"144633:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"144639:2:21","nodeType":"YulIdentifier","src":"144639:2:21"}],"functionName":{"name":"mstore","nativeSrc":"144626:6:21","nodeType":"YulIdentifier","src":"144626:6:21"},"nativeSrc":"144626:16:21","nodeType":"YulFunctionCall","src":"144626:16:21"},"nativeSrc":"144626:16:21","nodeType":"YulExpressionStatement","src":"144626:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144662:4:21","nodeType":"YulLiteral","src":"144662:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"144668:2:21","nodeType":"YulIdentifier","src":"144668:2:21"}],"functionName":{"name":"mstore","nativeSrc":"144655:6:21","nodeType":"YulIdentifier","src":"144655:6:21"},"nativeSrc":"144655:16:21","nodeType":"YulFunctionCall","src":"144655:16:21"},"nativeSrc":"144655:16:21","nodeType":"YulExpressionStatement","src":"144655:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144691:4:21","nodeType":"YulLiteral","src":"144691:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"144697:4:21","nodeType":"YulLiteral","src":"144697:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"144684:6:21","nodeType":"YulIdentifier","src":"144684:6:21"},"nativeSrc":"144684:18:21","nodeType":"YulFunctionCall","src":"144684:18:21"},"nativeSrc":"144684:18:21","nodeType":"YulExpressionStatement","src":"144684:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144722:4:21","nodeType":"YulLiteral","src":"144722:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"144728:4:21","nodeType":"YulLiteral","src":"144728:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"144715:6:21","nodeType":"YulIdentifier","src":"144715:6:21"},"nativeSrc":"144715:18:21","nodeType":"YulFunctionCall","src":"144715:18:21"},"nativeSrc":"144715:18:21","nodeType":"YulExpressionStatement","src":"144715:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144758:4:21","nodeType":"YulLiteral","src":"144758:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"144764:2:21","nodeType":"YulIdentifier","src":"144764:2:21"}],"functionName":{"name":"writeString","nativeSrc":"144746:11:21","nodeType":"YulIdentifier","src":"144746:11:21"},"nativeSrc":"144746:21:21","nodeType":"YulFunctionCall","src":"144746:21:21"},"nativeSrc":"144746:21:21","nodeType":"YulExpressionStatement","src":"144746:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144792:4:21","nodeType":"YulLiteral","src":"144792:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"144798:2:21","nodeType":"YulIdentifier","src":"144798:2:21"}],"functionName":{"name":"writeString","nativeSrc":"144780:11:21","nodeType":"YulIdentifier","src":"144780:11:21"},"nativeSrc":"144780:21:21","nodeType":"YulFunctionCall","src":"144780:21:21"},"nativeSrc":"144780:21:21","nodeType":"YulExpressionStatement","src":"144780:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31538,"isOffset":false,"isSlot":false,"src":"144253:2:21","valueSize":1},{"declaration":31541,"isOffset":false,"isSlot":false,"src":"144283:2:21","valueSize":1},{"declaration":31544,"isOffset":false,"isSlot":false,"src":"144313:2:21","valueSize":1},{"declaration":31547,"isOffset":false,"isSlot":false,"src":"144343:2:21","valueSize":1},{"declaration":31550,"isOffset":false,"isSlot":false,"src":"144373:2:21","valueSize":1},{"declaration":31553,"isOffset":false,"isSlot":false,"src":"144403:2:21","valueSize":1},{"declaration":31556,"isOffset":false,"isSlot":false,"src":"144433:2:21","valueSize":1},{"declaration":31559,"isOffset":false,"isSlot":false,"src":"144463:2:21","valueSize":1},{"declaration":31562,"isOffset":false,"isSlot":false,"src":"144493:2:21","valueSize":1},{"declaration":31528,"isOffset":false,"isSlot":false,"src":"144639:2:21","valueSize":1},{"declaration":31530,"isOffset":false,"isSlot":false,"src":"144668:2:21","valueSize":1},{"declaration":31532,"isOffset":false,"isSlot":false,"src":"144764:2:21","valueSize":1},{"declaration":31534,"isOffset":false,"isSlot":false,"src":"144798:2:21","valueSize":1}],"id":31564,"nodeType":"InlineAssembly","src":"143875:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"144836:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":31567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"144842:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":31565,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"144820:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"144820:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31569,"nodeType":"ExpressionStatement","src":"144820:28:21"},{"AST":{"nativeSrc":"144910:273:21","nodeType":"YulBlock","src":"144910:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"144931:4:21","nodeType":"YulLiteral","src":"144931:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"144937:2:21","nodeType":"YulIdentifier","src":"144937:2:21"}],"functionName":{"name":"mstore","nativeSrc":"144924:6:21","nodeType":"YulIdentifier","src":"144924:6:21"},"nativeSrc":"144924:16:21","nodeType":"YulFunctionCall","src":"144924:16:21"},"nativeSrc":"144924:16:21","nodeType":"YulExpressionStatement","src":"144924:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144960:4:21","nodeType":"YulLiteral","src":"144960:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"144966:2:21","nodeType":"YulIdentifier","src":"144966:2:21"}],"functionName":{"name":"mstore","nativeSrc":"144953:6:21","nodeType":"YulIdentifier","src":"144953:6:21"},"nativeSrc":"144953:16:21","nodeType":"YulFunctionCall","src":"144953:16:21"},"nativeSrc":"144953:16:21","nodeType":"YulExpressionStatement","src":"144953:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144989:4:21","nodeType":"YulLiteral","src":"144989:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"144995:2:21","nodeType":"YulIdentifier","src":"144995:2:21"}],"functionName":{"name":"mstore","nativeSrc":"144982:6:21","nodeType":"YulIdentifier","src":"144982:6:21"},"nativeSrc":"144982:16:21","nodeType":"YulFunctionCall","src":"144982:16:21"},"nativeSrc":"144982:16:21","nodeType":"YulExpressionStatement","src":"144982:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145018:4:21","nodeType":"YulLiteral","src":"145018:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"145024:2:21","nodeType":"YulIdentifier","src":"145024:2:21"}],"functionName":{"name":"mstore","nativeSrc":"145011:6:21","nodeType":"YulIdentifier","src":"145011:6:21"},"nativeSrc":"145011:16:21","nodeType":"YulFunctionCall","src":"145011:16:21"},"nativeSrc":"145011:16:21","nodeType":"YulExpressionStatement","src":"145011:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145047:4:21","nodeType":"YulLiteral","src":"145047:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"145053:2:21","nodeType":"YulIdentifier","src":"145053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"145040:6:21","nodeType":"YulIdentifier","src":"145040:6:21"},"nativeSrc":"145040:16:21","nodeType":"YulFunctionCall","src":"145040:16:21"},"nativeSrc":"145040:16:21","nodeType":"YulExpressionStatement","src":"145040:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145076:4:21","nodeType":"YulLiteral","src":"145076:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"145082:2:21","nodeType":"YulIdentifier","src":"145082:2:21"}],"functionName":{"name":"mstore","nativeSrc":"145069:6:21","nodeType":"YulIdentifier","src":"145069:6:21"},"nativeSrc":"145069:16:21","nodeType":"YulFunctionCall","src":"145069:16:21"},"nativeSrc":"145069:16:21","nodeType":"YulExpressionStatement","src":"145069:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145105:4:21","nodeType":"YulLiteral","src":"145105:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"145111:2:21","nodeType":"YulIdentifier","src":"145111:2:21"}],"functionName":{"name":"mstore","nativeSrc":"145098:6:21","nodeType":"YulIdentifier","src":"145098:6:21"},"nativeSrc":"145098:16:21","nodeType":"YulFunctionCall","src":"145098:16:21"},"nativeSrc":"145098:16:21","nodeType":"YulExpressionStatement","src":"145098:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145134:4:21","nodeType":"YulLiteral","src":"145134:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"145140:2:21","nodeType":"YulIdentifier","src":"145140:2:21"}],"functionName":{"name":"mstore","nativeSrc":"145127:6:21","nodeType":"YulIdentifier","src":"145127:6:21"},"nativeSrc":"145127:16:21","nodeType":"YulFunctionCall","src":"145127:16:21"},"nativeSrc":"145127:16:21","nodeType":"YulExpressionStatement","src":"145127:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145163:5:21","nodeType":"YulLiteral","src":"145163:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"145170:2:21","nodeType":"YulIdentifier","src":"145170:2:21"}],"functionName":{"name":"mstore","nativeSrc":"145156:6:21","nodeType":"YulIdentifier","src":"145156:6:21"},"nativeSrc":"145156:17:21","nodeType":"YulFunctionCall","src":"145156:17:21"},"nativeSrc":"145156:17:21","nodeType":"YulExpressionStatement","src":"145156:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31538,"isOffset":false,"isSlot":false,"src":"144937:2:21","valueSize":1},{"declaration":31541,"isOffset":false,"isSlot":false,"src":"144966:2:21","valueSize":1},{"declaration":31544,"isOffset":false,"isSlot":false,"src":"144995:2:21","valueSize":1},{"declaration":31547,"isOffset":false,"isSlot":false,"src":"145024:2:21","valueSize":1},{"declaration":31550,"isOffset":false,"isSlot":false,"src":"145053:2:21","valueSize":1},{"declaration":31553,"isOffset":false,"isSlot":false,"src":"145082:2:21","valueSize":1},{"declaration":31556,"isOffset":false,"isSlot":false,"src":"145111:2:21","valueSize":1},{"declaration":31559,"isOffset":false,"isSlot":false,"src":"145140:2:21","valueSize":1},{"declaration":31562,"isOffset":false,"isSlot":false,"src":"145170:2:21","valueSize":1}],"id":31570,"nodeType":"InlineAssembly","src":"144901:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"143576:3:21","parameters":{"id":31535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31528,"mutability":"mutable","name":"p0","nameLocation":"143588:2:21","nodeType":"VariableDeclaration","scope":31572,"src":"143580:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31527,"name":"address","nodeType":"ElementaryTypeName","src":"143580:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31530,"mutability":"mutable","name":"p1","nameLocation":"143600:2:21","nodeType":"VariableDeclaration","scope":31572,"src":"143592:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31529,"name":"uint256","nodeType":"ElementaryTypeName","src":"143592:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31532,"mutability":"mutable","name":"p2","nameLocation":"143612:2:21","nodeType":"VariableDeclaration","scope":31572,"src":"143604:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143604:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31534,"mutability":"mutable","name":"p3","nameLocation":"143624:2:21","nodeType":"VariableDeclaration","scope":31572,"src":"143616:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143616:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"143579:48:21"},"returnParameters":{"id":31536,"nodeType":"ParameterList","parameters":[],"src":"143642:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31612,"nodeType":"FunctionDefinition","src":"145195:1426:21","nodes":[],"body":{"id":31611,"nodeType":"Block","src":"145270:1351:21","nodes":[],"statements":[{"assignments":[31584],"declarations":[{"constant":false,"id":31584,"mutability":"mutable","name":"m0","nameLocation":"145288:2:21","nodeType":"VariableDeclaration","scope":31611,"src":"145280:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145280:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31585,"nodeType":"VariableDeclarationStatement","src":"145280:10:21"},{"assignments":[31587],"declarations":[{"constant":false,"id":31587,"mutability":"mutable","name":"m1","nameLocation":"145308:2:21","nodeType":"VariableDeclaration","scope":31611,"src":"145300:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145300:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31588,"nodeType":"VariableDeclarationStatement","src":"145300:10:21"},{"assignments":[31590],"declarations":[{"constant":false,"id":31590,"mutability":"mutable","name":"m2","nameLocation":"145328:2:21","nodeType":"VariableDeclaration","scope":31611,"src":"145320:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145320:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31591,"nodeType":"VariableDeclarationStatement","src":"145320:10:21"},{"assignments":[31593],"declarations":[{"constant":false,"id":31593,"mutability":"mutable","name":"m3","nameLocation":"145348:2:21","nodeType":"VariableDeclaration","scope":31611,"src":"145340:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145340:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31594,"nodeType":"VariableDeclarationStatement","src":"145340:10:21"},{"assignments":[31596],"declarations":[{"constant":false,"id":31596,"mutability":"mutable","name":"m4","nameLocation":"145368:2:21","nodeType":"VariableDeclaration","scope":31611,"src":"145360:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145360:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31597,"nodeType":"VariableDeclarationStatement","src":"145360:10:21"},{"assignments":[31599],"declarations":[{"constant":false,"id":31599,"mutability":"mutable","name":"m5","nameLocation":"145388:2:21","nodeType":"VariableDeclaration","scope":31611,"src":"145380:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145380:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31600,"nodeType":"VariableDeclarationStatement","src":"145380:10:21"},{"assignments":[31602],"declarations":[{"constant":false,"id":31602,"mutability":"mutable","name":"m6","nameLocation":"145408:2:21","nodeType":"VariableDeclaration","scope":31611,"src":"145400:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145400:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31603,"nodeType":"VariableDeclarationStatement","src":"145400:10:21"},{"AST":{"nativeSrc":"145472:831:21","nodeType":"YulBlock","src":"145472:831:21","statements":[{"body":{"nativeSrc":"145515:313:21","nodeType":"YulBlock","src":"145515:313:21","statements":[{"nativeSrc":"145533:15:21","nodeType":"YulVariableDeclaration","src":"145533:15:21","value":{"kind":"number","nativeSrc":"145547:1:21","nodeType":"YulLiteral","src":"145547:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"145537:6:21","nodeType":"YulTypedName","src":"145537:6:21","type":""}]},{"body":{"nativeSrc":"145618:40:21","nodeType":"YulBlock","src":"145618:40:21","statements":[{"body":{"nativeSrc":"145647:9:21","nodeType":"YulBlock","src":"145647:9:21","statements":[{"nativeSrc":"145649:5:21","nodeType":"YulBreak","src":"145649:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"145635:6:21","nodeType":"YulIdentifier","src":"145635:6:21"},{"name":"w","nativeSrc":"145643:1:21","nodeType":"YulIdentifier","src":"145643:1:21"}],"functionName":{"name":"byte","nativeSrc":"145630:4:21","nodeType":"YulIdentifier","src":"145630:4:21"},"nativeSrc":"145630:15:21","nodeType":"YulFunctionCall","src":"145630:15:21"}],"functionName":{"name":"iszero","nativeSrc":"145623:6:21","nodeType":"YulIdentifier","src":"145623:6:21"},"nativeSrc":"145623:23:21","nodeType":"YulFunctionCall","src":"145623:23:21"},"nativeSrc":"145620:36:21","nodeType":"YulIf","src":"145620:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"145575:6:21","nodeType":"YulIdentifier","src":"145575:6:21"},{"kind":"number","nativeSrc":"145583:4:21","nodeType":"YulLiteral","src":"145583:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"145572:2:21","nodeType":"YulIdentifier","src":"145572:2:21"},"nativeSrc":"145572:16:21","nodeType":"YulFunctionCall","src":"145572:16:21"},"nativeSrc":"145565:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"145589:28:21","nodeType":"YulBlock","src":"145589:28:21","statements":[{"nativeSrc":"145591:24:21","nodeType":"YulAssignment","src":"145591:24:21","value":{"arguments":[{"name":"length","nativeSrc":"145605:6:21","nodeType":"YulIdentifier","src":"145605:6:21"},{"kind":"number","nativeSrc":"145613:1:21","nodeType":"YulLiteral","src":"145613:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"145601:3:21","nodeType":"YulIdentifier","src":"145601:3:21"},"nativeSrc":"145601:14:21","nodeType":"YulFunctionCall","src":"145601:14:21"},"variableNames":[{"name":"length","nativeSrc":"145591:6:21","nodeType":"YulIdentifier","src":"145591:6:21"}]}]},"pre":{"nativeSrc":"145569:2:21","nodeType":"YulBlock","src":"145569:2:21","statements":[]},"src":"145565:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"145682:3:21","nodeType":"YulIdentifier","src":"145682:3:21"},{"name":"length","nativeSrc":"145687:6:21","nodeType":"YulIdentifier","src":"145687:6:21"}],"functionName":{"name":"mstore","nativeSrc":"145675:6:21","nodeType":"YulIdentifier","src":"145675:6:21"},"nativeSrc":"145675:19:21","nodeType":"YulFunctionCall","src":"145675:19:21"},"nativeSrc":"145675:19:21","nodeType":"YulExpressionStatement","src":"145675:19:21"},{"nativeSrc":"145711:37:21","nodeType":"YulVariableDeclaration","src":"145711:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"145728:3:21","nodeType":"YulLiteral","src":"145728:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"145737:1:21","nodeType":"YulLiteral","src":"145737:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"145740:6:21","nodeType":"YulIdentifier","src":"145740:6:21"}],"functionName":{"name":"shl","nativeSrc":"145733:3:21","nodeType":"YulIdentifier","src":"145733:3:21"},"nativeSrc":"145733:14:21","nodeType":"YulFunctionCall","src":"145733:14:21"}],"functionName":{"name":"sub","nativeSrc":"145724:3:21","nodeType":"YulIdentifier","src":"145724:3:21"},"nativeSrc":"145724:24:21","nodeType":"YulFunctionCall","src":"145724:24:21"},"variables":[{"name":"shift","nativeSrc":"145715:5:21","nodeType":"YulTypedName","src":"145715:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"145776:3:21","nodeType":"YulIdentifier","src":"145776:3:21"},{"kind":"number","nativeSrc":"145781:4:21","nodeType":"YulLiteral","src":"145781:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"145772:3:21","nodeType":"YulIdentifier","src":"145772:3:21"},"nativeSrc":"145772:14:21","nodeType":"YulFunctionCall","src":"145772:14:21"},{"arguments":[{"name":"shift","nativeSrc":"145792:5:21","nodeType":"YulIdentifier","src":"145792:5:21"},{"arguments":[{"name":"shift","nativeSrc":"145803:5:21","nodeType":"YulIdentifier","src":"145803:5:21"},{"name":"w","nativeSrc":"145810:1:21","nodeType":"YulIdentifier","src":"145810:1:21"}],"functionName":{"name":"shr","nativeSrc":"145799:3:21","nodeType":"YulIdentifier","src":"145799:3:21"},"nativeSrc":"145799:13:21","nodeType":"YulFunctionCall","src":"145799:13:21"}],"functionName":{"name":"shl","nativeSrc":"145788:3:21","nodeType":"YulIdentifier","src":"145788:3:21"},"nativeSrc":"145788:25:21","nodeType":"YulFunctionCall","src":"145788:25:21"}],"functionName":{"name":"mstore","nativeSrc":"145765:6:21","nodeType":"YulIdentifier","src":"145765:6:21"},"nativeSrc":"145765:49:21","nodeType":"YulFunctionCall","src":"145765:49:21"},"nativeSrc":"145765:49:21","nodeType":"YulExpressionStatement","src":"145765:49:21"}]},"name":"writeString","nativeSrc":"145486:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"145507:3:21","nodeType":"YulTypedName","src":"145507:3:21","type":""},{"name":"w","nativeSrc":"145512:1:21","nodeType":"YulTypedName","src":"145512:1:21","type":""}],"src":"145486:342:21"},{"nativeSrc":"145841:17:21","nodeType":"YulAssignment","src":"145841:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"145853:4:21","nodeType":"YulLiteral","src":"145853:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"145847:5:21","nodeType":"YulIdentifier","src":"145847:5:21"},"nativeSrc":"145847:11:21","nodeType":"YulFunctionCall","src":"145847:11:21"},"variableNames":[{"name":"m0","nativeSrc":"145841:2:21","nodeType":"YulIdentifier","src":"145841:2:21"}]},{"nativeSrc":"145871:17:21","nodeType":"YulAssignment","src":"145871:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"145883:4:21","nodeType":"YulLiteral","src":"145883:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"145877:5:21","nodeType":"YulIdentifier","src":"145877:5:21"},"nativeSrc":"145877:11:21","nodeType":"YulFunctionCall","src":"145877:11:21"},"variableNames":[{"name":"m1","nativeSrc":"145871:2:21","nodeType":"YulIdentifier","src":"145871:2:21"}]},{"nativeSrc":"145901:17:21","nodeType":"YulAssignment","src":"145901:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"145913:4:21","nodeType":"YulLiteral","src":"145913:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"145907:5:21","nodeType":"YulIdentifier","src":"145907:5:21"},"nativeSrc":"145907:11:21","nodeType":"YulFunctionCall","src":"145907:11:21"},"variableNames":[{"name":"m2","nativeSrc":"145901:2:21","nodeType":"YulIdentifier","src":"145901:2:21"}]},{"nativeSrc":"145931:17:21","nodeType":"YulAssignment","src":"145931:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"145943:4:21","nodeType":"YulLiteral","src":"145943:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"145937:5:21","nodeType":"YulIdentifier","src":"145937:5:21"},"nativeSrc":"145937:11:21","nodeType":"YulFunctionCall","src":"145937:11:21"},"variableNames":[{"name":"m3","nativeSrc":"145931:2:21","nodeType":"YulIdentifier","src":"145931:2:21"}]},{"nativeSrc":"145961:17:21","nodeType":"YulAssignment","src":"145961:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"145973:4:21","nodeType":"YulLiteral","src":"145973:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"145967:5:21","nodeType":"YulIdentifier","src":"145967:5:21"},"nativeSrc":"145967:11:21","nodeType":"YulFunctionCall","src":"145967:11:21"},"variableNames":[{"name":"m4","nativeSrc":"145961:2:21","nodeType":"YulIdentifier","src":"145961:2:21"}]},{"nativeSrc":"145991:17:21","nodeType":"YulAssignment","src":"145991:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"146003:4:21","nodeType":"YulLiteral","src":"146003:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"145997:5:21","nodeType":"YulIdentifier","src":"145997:5:21"},"nativeSrc":"145997:11:21","nodeType":"YulFunctionCall","src":"145997:11:21"},"variableNames":[{"name":"m5","nativeSrc":"145991:2:21","nodeType":"YulIdentifier","src":"145991:2:21"}]},{"nativeSrc":"146021:17:21","nodeType":"YulAssignment","src":"146021:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"146033:4:21","nodeType":"YulLiteral","src":"146033:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"146027:5:21","nodeType":"YulIdentifier","src":"146027:5:21"},"nativeSrc":"146027:11:21","nodeType":"YulFunctionCall","src":"146027:11:21"},"variableNames":[{"name":"m6","nativeSrc":"146021:2:21","nodeType":"YulIdentifier","src":"146021:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146124:4:21","nodeType":"YulLiteral","src":"146124:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"146130:10:21","nodeType":"YulLiteral","src":"146130:10:21","type":"","value":"0x0d36fa20"}],"functionName":{"name":"mstore","nativeSrc":"146117:6:21","nodeType":"YulIdentifier","src":"146117:6:21"},"nativeSrc":"146117:24:21","nodeType":"YulFunctionCall","src":"146117:24:21"},"nativeSrc":"146117:24:21","nodeType":"YulExpressionStatement","src":"146117:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146161:4:21","nodeType":"YulLiteral","src":"146161:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"146167:2:21","nodeType":"YulIdentifier","src":"146167:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146154:6:21","nodeType":"YulIdentifier","src":"146154:6:21"},"nativeSrc":"146154:16:21","nodeType":"YulFunctionCall","src":"146154:16:21"},"nativeSrc":"146154:16:21","nodeType":"YulExpressionStatement","src":"146154:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146190:4:21","nodeType":"YulLiteral","src":"146190:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"146196:4:21","nodeType":"YulLiteral","src":"146196:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"146183:6:21","nodeType":"YulIdentifier","src":"146183:6:21"},"nativeSrc":"146183:18:21","nodeType":"YulFunctionCall","src":"146183:18:21"},"nativeSrc":"146183:18:21","nodeType":"YulExpressionStatement","src":"146183:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146221:4:21","nodeType":"YulLiteral","src":"146221:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"146227:2:21","nodeType":"YulIdentifier","src":"146227:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146214:6:21","nodeType":"YulIdentifier","src":"146214:6:21"},"nativeSrc":"146214:16:21","nodeType":"YulFunctionCall","src":"146214:16:21"},"nativeSrc":"146214:16:21","nodeType":"YulExpressionStatement","src":"146214:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146250:4:21","nodeType":"YulLiteral","src":"146250:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"146256:2:21","nodeType":"YulIdentifier","src":"146256:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146243:6:21","nodeType":"YulIdentifier","src":"146243:6:21"},"nativeSrc":"146243:16:21","nodeType":"YulFunctionCall","src":"146243:16:21"},"nativeSrc":"146243:16:21","nodeType":"YulExpressionStatement","src":"146243:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146284:4:21","nodeType":"YulLiteral","src":"146284:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"146290:2:21","nodeType":"YulIdentifier","src":"146290:2:21"}],"functionName":{"name":"writeString","nativeSrc":"146272:11:21","nodeType":"YulIdentifier","src":"146272:11:21"},"nativeSrc":"146272:21:21","nodeType":"YulFunctionCall","src":"146272:21:21"},"nativeSrc":"146272:21:21","nodeType":"YulExpressionStatement","src":"146272:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31584,"isOffset":false,"isSlot":false,"src":"145841:2:21","valueSize":1},{"declaration":31587,"isOffset":false,"isSlot":false,"src":"145871:2:21","valueSize":1},{"declaration":31590,"isOffset":false,"isSlot":false,"src":"145901:2:21","valueSize":1},{"declaration":31593,"isOffset":false,"isSlot":false,"src":"145931:2:21","valueSize":1},{"declaration":31596,"isOffset":false,"isSlot":false,"src":"145961:2:21","valueSize":1},{"declaration":31599,"isOffset":false,"isSlot":false,"src":"145991:2:21","valueSize":1},{"declaration":31602,"isOffset":false,"isSlot":false,"src":"146021:2:21","valueSize":1},{"declaration":31574,"isOffset":false,"isSlot":false,"src":"146167:2:21","valueSize":1},{"declaration":31576,"isOffset":false,"isSlot":false,"src":"146290:2:21","valueSize":1},{"declaration":31578,"isOffset":false,"isSlot":false,"src":"146227:2:21","valueSize":1},{"declaration":31580,"isOffset":false,"isSlot":false,"src":"146256:2:21","valueSize":1}],"id":31604,"nodeType":"InlineAssembly","src":"145463:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"146328:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"146334:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31605,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"146312:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"146312:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31609,"nodeType":"ExpressionStatement","src":"146312:27:21"},{"AST":{"nativeSrc":"146401:214:21","nodeType":"YulBlock","src":"146401:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"146422:4:21","nodeType":"YulLiteral","src":"146422:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"146428:2:21","nodeType":"YulIdentifier","src":"146428:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146415:6:21","nodeType":"YulIdentifier","src":"146415:6:21"},"nativeSrc":"146415:16:21","nodeType":"YulFunctionCall","src":"146415:16:21"},"nativeSrc":"146415:16:21","nodeType":"YulExpressionStatement","src":"146415:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146451:4:21","nodeType":"YulLiteral","src":"146451:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"146457:2:21","nodeType":"YulIdentifier","src":"146457:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146444:6:21","nodeType":"YulIdentifier","src":"146444:6:21"},"nativeSrc":"146444:16:21","nodeType":"YulFunctionCall","src":"146444:16:21"},"nativeSrc":"146444:16:21","nodeType":"YulExpressionStatement","src":"146444:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146480:4:21","nodeType":"YulLiteral","src":"146480:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"146486:2:21","nodeType":"YulIdentifier","src":"146486:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146473:6:21","nodeType":"YulIdentifier","src":"146473:6:21"},"nativeSrc":"146473:16:21","nodeType":"YulFunctionCall","src":"146473:16:21"},"nativeSrc":"146473:16:21","nodeType":"YulExpressionStatement","src":"146473:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146509:4:21","nodeType":"YulLiteral","src":"146509:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"146515:2:21","nodeType":"YulIdentifier","src":"146515:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146502:6:21","nodeType":"YulIdentifier","src":"146502:6:21"},"nativeSrc":"146502:16:21","nodeType":"YulFunctionCall","src":"146502:16:21"},"nativeSrc":"146502:16:21","nodeType":"YulExpressionStatement","src":"146502:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146538:4:21","nodeType":"YulLiteral","src":"146538:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"146544:2:21","nodeType":"YulIdentifier","src":"146544:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146531:6:21","nodeType":"YulIdentifier","src":"146531:6:21"},"nativeSrc":"146531:16:21","nodeType":"YulFunctionCall","src":"146531:16:21"},"nativeSrc":"146531:16:21","nodeType":"YulExpressionStatement","src":"146531:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146567:4:21","nodeType":"YulLiteral","src":"146567:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"146573:2:21","nodeType":"YulIdentifier","src":"146573:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146560:6:21","nodeType":"YulIdentifier","src":"146560:6:21"},"nativeSrc":"146560:16:21","nodeType":"YulFunctionCall","src":"146560:16:21"},"nativeSrc":"146560:16:21","nodeType":"YulExpressionStatement","src":"146560:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146596:4:21","nodeType":"YulLiteral","src":"146596:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"146602:2:21","nodeType":"YulIdentifier","src":"146602:2:21"}],"functionName":{"name":"mstore","nativeSrc":"146589:6:21","nodeType":"YulIdentifier","src":"146589:6:21"},"nativeSrc":"146589:16:21","nodeType":"YulFunctionCall","src":"146589:16:21"},"nativeSrc":"146589:16:21","nodeType":"YulExpressionStatement","src":"146589:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31584,"isOffset":false,"isSlot":false,"src":"146428:2:21","valueSize":1},{"declaration":31587,"isOffset":false,"isSlot":false,"src":"146457:2:21","valueSize":1},{"declaration":31590,"isOffset":false,"isSlot":false,"src":"146486:2:21","valueSize":1},{"declaration":31593,"isOffset":false,"isSlot":false,"src":"146515:2:21","valueSize":1},{"declaration":31596,"isOffset":false,"isSlot":false,"src":"146544:2:21","valueSize":1},{"declaration":31599,"isOffset":false,"isSlot":false,"src":"146573:2:21","valueSize":1},{"declaration":31602,"isOffset":false,"isSlot":false,"src":"146602:2:21","valueSize":1}],"id":31610,"nodeType":"InlineAssembly","src":"146392:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"145204:3:21","parameters":{"id":31581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31574,"mutability":"mutable","name":"p0","nameLocation":"145216:2:21","nodeType":"VariableDeclaration","scope":31612,"src":"145208:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31573,"name":"address","nodeType":"ElementaryTypeName","src":"145208:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31576,"mutability":"mutable","name":"p1","nameLocation":"145228:2:21","nodeType":"VariableDeclaration","scope":31612,"src":"145220:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145220:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31578,"mutability":"mutable","name":"p2","nameLocation":"145240:2:21","nodeType":"VariableDeclaration","scope":31612,"src":"145232:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31577,"name":"address","nodeType":"ElementaryTypeName","src":"145232:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31580,"mutability":"mutable","name":"p3","nameLocation":"145252:2:21","nodeType":"VariableDeclaration","scope":31612,"src":"145244:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31579,"name":"address","nodeType":"ElementaryTypeName","src":"145244:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"145207:48:21"},"returnParameters":{"id":31582,"nodeType":"ParameterList","parameters":[],"src":"145270:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31652,"nodeType":"FunctionDefinition","src":"146627:1420:21","nodes":[],"body":{"id":31651,"nodeType":"Block","src":"146699:1348:21","nodes":[],"statements":[{"assignments":[31624],"declarations":[{"constant":false,"id":31624,"mutability":"mutable","name":"m0","nameLocation":"146717:2:21","nodeType":"VariableDeclaration","scope":31651,"src":"146709:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146709:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31625,"nodeType":"VariableDeclarationStatement","src":"146709:10:21"},{"assignments":[31627],"declarations":[{"constant":false,"id":31627,"mutability":"mutable","name":"m1","nameLocation":"146737:2:21","nodeType":"VariableDeclaration","scope":31651,"src":"146729:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146729:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31628,"nodeType":"VariableDeclarationStatement","src":"146729:10:21"},{"assignments":[31630],"declarations":[{"constant":false,"id":31630,"mutability":"mutable","name":"m2","nameLocation":"146757:2:21","nodeType":"VariableDeclaration","scope":31651,"src":"146749:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146749:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31631,"nodeType":"VariableDeclarationStatement","src":"146749:10:21"},{"assignments":[31633],"declarations":[{"constant":false,"id":31633,"mutability":"mutable","name":"m3","nameLocation":"146777:2:21","nodeType":"VariableDeclaration","scope":31651,"src":"146769:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146769:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31634,"nodeType":"VariableDeclarationStatement","src":"146769:10:21"},{"assignments":[31636],"declarations":[{"constant":false,"id":31636,"mutability":"mutable","name":"m4","nameLocation":"146797:2:21","nodeType":"VariableDeclaration","scope":31651,"src":"146789:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146789:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31637,"nodeType":"VariableDeclarationStatement","src":"146789:10:21"},{"assignments":[31639],"declarations":[{"constant":false,"id":31639,"mutability":"mutable","name":"m5","nameLocation":"146817:2:21","nodeType":"VariableDeclaration","scope":31651,"src":"146809:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146809:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31640,"nodeType":"VariableDeclarationStatement","src":"146809:10:21"},{"assignments":[31642],"declarations":[{"constant":false,"id":31642,"mutability":"mutable","name":"m6","nameLocation":"146837:2:21","nodeType":"VariableDeclaration","scope":31651,"src":"146829:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146829:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31643,"nodeType":"VariableDeclarationStatement","src":"146829:10:21"},{"AST":{"nativeSrc":"146901:828:21","nodeType":"YulBlock","src":"146901:828:21","statements":[{"body":{"nativeSrc":"146944:313:21","nodeType":"YulBlock","src":"146944:313:21","statements":[{"nativeSrc":"146962:15:21","nodeType":"YulVariableDeclaration","src":"146962:15:21","value":{"kind":"number","nativeSrc":"146976:1:21","nodeType":"YulLiteral","src":"146976:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"146966:6:21","nodeType":"YulTypedName","src":"146966:6:21","type":""}]},{"body":{"nativeSrc":"147047:40:21","nodeType":"YulBlock","src":"147047:40:21","statements":[{"body":{"nativeSrc":"147076:9:21","nodeType":"YulBlock","src":"147076:9:21","statements":[{"nativeSrc":"147078:5:21","nodeType":"YulBreak","src":"147078:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"147064:6:21","nodeType":"YulIdentifier","src":"147064:6:21"},{"name":"w","nativeSrc":"147072:1:21","nodeType":"YulIdentifier","src":"147072:1:21"}],"functionName":{"name":"byte","nativeSrc":"147059:4:21","nodeType":"YulIdentifier","src":"147059:4:21"},"nativeSrc":"147059:15:21","nodeType":"YulFunctionCall","src":"147059:15:21"}],"functionName":{"name":"iszero","nativeSrc":"147052:6:21","nodeType":"YulIdentifier","src":"147052:6:21"},"nativeSrc":"147052:23:21","nodeType":"YulFunctionCall","src":"147052:23:21"},"nativeSrc":"147049:36:21","nodeType":"YulIf","src":"147049:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"147004:6:21","nodeType":"YulIdentifier","src":"147004:6:21"},{"kind":"number","nativeSrc":"147012:4:21","nodeType":"YulLiteral","src":"147012:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"147001:2:21","nodeType":"YulIdentifier","src":"147001:2:21"},"nativeSrc":"147001:16:21","nodeType":"YulFunctionCall","src":"147001:16:21"},"nativeSrc":"146994:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"147018:28:21","nodeType":"YulBlock","src":"147018:28:21","statements":[{"nativeSrc":"147020:24:21","nodeType":"YulAssignment","src":"147020:24:21","value":{"arguments":[{"name":"length","nativeSrc":"147034:6:21","nodeType":"YulIdentifier","src":"147034:6:21"},{"kind":"number","nativeSrc":"147042:1:21","nodeType":"YulLiteral","src":"147042:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"147030:3:21","nodeType":"YulIdentifier","src":"147030:3:21"},"nativeSrc":"147030:14:21","nodeType":"YulFunctionCall","src":"147030:14:21"},"variableNames":[{"name":"length","nativeSrc":"147020:6:21","nodeType":"YulIdentifier","src":"147020:6:21"}]}]},"pre":{"nativeSrc":"146998:2:21","nodeType":"YulBlock","src":"146998:2:21","statements":[]},"src":"146994:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"147111:3:21","nodeType":"YulIdentifier","src":"147111:3:21"},{"name":"length","nativeSrc":"147116:6:21","nodeType":"YulIdentifier","src":"147116:6:21"}],"functionName":{"name":"mstore","nativeSrc":"147104:6:21","nodeType":"YulIdentifier","src":"147104:6:21"},"nativeSrc":"147104:19:21","nodeType":"YulFunctionCall","src":"147104:19:21"},"nativeSrc":"147104:19:21","nodeType":"YulExpressionStatement","src":"147104:19:21"},{"nativeSrc":"147140:37:21","nodeType":"YulVariableDeclaration","src":"147140:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"147157:3:21","nodeType":"YulLiteral","src":"147157:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"147166:1:21","nodeType":"YulLiteral","src":"147166:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"147169:6:21","nodeType":"YulIdentifier","src":"147169:6:21"}],"functionName":{"name":"shl","nativeSrc":"147162:3:21","nodeType":"YulIdentifier","src":"147162:3:21"},"nativeSrc":"147162:14:21","nodeType":"YulFunctionCall","src":"147162:14:21"}],"functionName":{"name":"sub","nativeSrc":"147153:3:21","nodeType":"YulIdentifier","src":"147153:3:21"},"nativeSrc":"147153:24:21","nodeType":"YulFunctionCall","src":"147153:24:21"},"variables":[{"name":"shift","nativeSrc":"147144:5:21","nodeType":"YulTypedName","src":"147144:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"147205:3:21","nodeType":"YulIdentifier","src":"147205:3:21"},{"kind":"number","nativeSrc":"147210:4:21","nodeType":"YulLiteral","src":"147210:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"147201:3:21","nodeType":"YulIdentifier","src":"147201:3:21"},"nativeSrc":"147201:14:21","nodeType":"YulFunctionCall","src":"147201:14:21"},{"arguments":[{"name":"shift","nativeSrc":"147221:5:21","nodeType":"YulIdentifier","src":"147221:5:21"},{"arguments":[{"name":"shift","nativeSrc":"147232:5:21","nodeType":"YulIdentifier","src":"147232:5:21"},{"name":"w","nativeSrc":"147239:1:21","nodeType":"YulIdentifier","src":"147239:1:21"}],"functionName":{"name":"shr","nativeSrc":"147228:3:21","nodeType":"YulIdentifier","src":"147228:3:21"},"nativeSrc":"147228:13:21","nodeType":"YulFunctionCall","src":"147228:13:21"}],"functionName":{"name":"shl","nativeSrc":"147217:3:21","nodeType":"YulIdentifier","src":"147217:3:21"},"nativeSrc":"147217:25:21","nodeType":"YulFunctionCall","src":"147217:25:21"}],"functionName":{"name":"mstore","nativeSrc":"147194:6:21","nodeType":"YulIdentifier","src":"147194:6:21"},"nativeSrc":"147194:49:21","nodeType":"YulFunctionCall","src":"147194:49:21"},"nativeSrc":"147194:49:21","nodeType":"YulExpressionStatement","src":"147194:49:21"}]},"name":"writeString","nativeSrc":"146915:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"146936:3:21","nodeType":"YulTypedName","src":"146936:3:21","type":""},{"name":"w","nativeSrc":"146941:1:21","nodeType":"YulTypedName","src":"146941:1:21","type":""}],"src":"146915:342:21"},{"nativeSrc":"147270:17:21","nodeType":"YulAssignment","src":"147270:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"147282:4:21","nodeType":"YulLiteral","src":"147282:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"147276:5:21","nodeType":"YulIdentifier","src":"147276:5:21"},"nativeSrc":"147276:11:21","nodeType":"YulFunctionCall","src":"147276:11:21"},"variableNames":[{"name":"m0","nativeSrc":"147270:2:21","nodeType":"YulIdentifier","src":"147270:2:21"}]},{"nativeSrc":"147300:17:21","nodeType":"YulAssignment","src":"147300:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"147312:4:21","nodeType":"YulLiteral","src":"147312:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"147306:5:21","nodeType":"YulIdentifier","src":"147306:5:21"},"nativeSrc":"147306:11:21","nodeType":"YulFunctionCall","src":"147306:11:21"},"variableNames":[{"name":"m1","nativeSrc":"147300:2:21","nodeType":"YulIdentifier","src":"147300:2:21"}]},{"nativeSrc":"147330:17:21","nodeType":"YulAssignment","src":"147330:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"147342:4:21","nodeType":"YulLiteral","src":"147342:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"147336:5:21","nodeType":"YulIdentifier","src":"147336:5:21"},"nativeSrc":"147336:11:21","nodeType":"YulFunctionCall","src":"147336:11:21"},"variableNames":[{"name":"m2","nativeSrc":"147330:2:21","nodeType":"YulIdentifier","src":"147330:2:21"}]},{"nativeSrc":"147360:17:21","nodeType":"YulAssignment","src":"147360:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"147372:4:21","nodeType":"YulLiteral","src":"147372:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"147366:5:21","nodeType":"YulIdentifier","src":"147366:5:21"},"nativeSrc":"147366:11:21","nodeType":"YulFunctionCall","src":"147366:11:21"},"variableNames":[{"name":"m3","nativeSrc":"147360:2:21","nodeType":"YulIdentifier","src":"147360:2:21"}]},{"nativeSrc":"147390:17:21","nodeType":"YulAssignment","src":"147390:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"147402:4:21","nodeType":"YulLiteral","src":"147402:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"147396:5:21","nodeType":"YulIdentifier","src":"147396:5:21"},"nativeSrc":"147396:11:21","nodeType":"YulFunctionCall","src":"147396:11:21"},"variableNames":[{"name":"m4","nativeSrc":"147390:2:21","nodeType":"YulIdentifier","src":"147390:2:21"}]},{"nativeSrc":"147420:17:21","nodeType":"YulAssignment","src":"147420:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"147432:4:21","nodeType":"YulLiteral","src":"147432:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"147426:5:21","nodeType":"YulIdentifier","src":"147426:5:21"},"nativeSrc":"147426:11:21","nodeType":"YulFunctionCall","src":"147426:11:21"},"variableNames":[{"name":"m5","nativeSrc":"147420:2:21","nodeType":"YulIdentifier","src":"147420:2:21"}]},{"nativeSrc":"147450:17:21","nodeType":"YulAssignment","src":"147450:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"147462:4:21","nodeType":"YulLiteral","src":"147462:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"147456:5:21","nodeType":"YulIdentifier","src":"147456:5:21"},"nativeSrc":"147456:11:21","nodeType":"YulFunctionCall","src":"147456:11:21"},"variableNames":[{"name":"m6","nativeSrc":"147450:2:21","nodeType":"YulIdentifier","src":"147450:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147550:4:21","nodeType":"YulLiteral","src":"147550:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"147556:10:21","nodeType":"YulLiteral","src":"147556:10:21","type":"","value":"0x0df12b76"}],"functionName":{"name":"mstore","nativeSrc":"147543:6:21","nodeType":"YulIdentifier","src":"147543:6:21"},"nativeSrc":"147543:24:21","nodeType":"YulFunctionCall","src":"147543:24:21"},"nativeSrc":"147543:24:21","nodeType":"YulExpressionStatement","src":"147543:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147587:4:21","nodeType":"YulLiteral","src":"147587:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"147593:2:21","nodeType":"YulIdentifier","src":"147593:2:21"}],"functionName":{"name":"mstore","nativeSrc":"147580:6:21","nodeType":"YulIdentifier","src":"147580:6:21"},"nativeSrc":"147580:16:21","nodeType":"YulFunctionCall","src":"147580:16:21"},"nativeSrc":"147580:16:21","nodeType":"YulExpressionStatement","src":"147580:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147616:4:21","nodeType":"YulLiteral","src":"147616:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"147622:4:21","nodeType":"YulLiteral","src":"147622:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"147609:6:21","nodeType":"YulIdentifier","src":"147609:6:21"},"nativeSrc":"147609:18:21","nodeType":"YulFunctionCall","src":"147609:18:21"},"nativeSrc":"147609:18:21","nodeType":"YulExpressionStatement","src":"147609:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147647:4:21","nodeType":"YulLiteral","src":"147647:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"147653:2:21","nodeType":"YulIdentifier","src":"147653:2:21"}],"functionName":{"name":"mstore","nativeSrc":"147640:6:21","nodeType":"YulIdentifier","src":"147640:6:21"},"nativeSrc":"147640:16:21","nodeType":"YulFunctionCall","src":"147640:16:21"},"nativeSrc":"147640:16:21","nodeType":"YulExpressionStatement","src":"147640:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147676:4:21","nodeType":"YulLiteral","src":"147676:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"147682:2:21","nodeType":"YulIdentifier","src":"147682:2:21"}],"functionName":{"name":"mstore","nativeSrc":"147669:6:21","nodeType":"YulIdentifier","src":"147669:6:21"},"nativeSrc":"147669:16:21","nodeType":"YulFunctionCall","src":"147669:16:21"},"nativeSrc":"147669:16:21","nodeType":"YulExpressionStatement","src":"147669:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147710:4:21","nodeType":"YulLiteral","src":"147710:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"147716:2:21","nodeType":"YulIdentifier","src":"147716:2:21"}],"functionName":{"name":"writeString","nativeSrc":"147698:11:21","nodeType":"YulIdentifier","src":"147698:11:21"},"nativeSrc":"147698:21:21","nodeType":"YulFunctionCall","src":"147698:21:21"},"nativeSrc":"147698:21:21","nodeType":"YulExpressionStatement","src":"147698:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31624,"isOffset":false,"isSlot":false,"src":"147270:2:21","valueSize":1},{"declaration":31627,"isOffset":false,"isSlot":false,"src":"147300:2:21","valueSize":1},{"declaration":31630,"isOffset":false,"isSlot":false,"src":"147330:2:21","valueSize":1},{"declaration":31633,"isOffset":false,"isSlot":false,"src":"147360:2:21","valueSize":1},{"declaration":31636,"isOffset":false,"isSlot":false,"src":"147390:2:21","valueSize":1},{"declaration":31639,"isOffset":false,"isSlot":false,"src":"147420:2:21","valueSize":1},{"declaration":31642,"isOffset":false,"isSlot":false,"src":"147450:2:21","valueSize":1},{"declaration":31614,"isOffset":false,"isSlot":false,"src":"147593:2:21","valueSize":1},{"declaration":31616,"isOffset":false,"isSlot":false,"src":"147716:2:21","valueSize":1},{"declaration":31618,"isOffset":false,"isSlot":false,"src":"147653:2:21","valueSize":1},{"declaration":31620,"isOffset":false,"isSlot":false,"src":"147682:2:21","valueSize":1}],"id":31644,"nodeType":"InlineAssembly","src":"146892:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"147754:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"147760:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31645,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"147738:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"147738:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31649,"nodeType":"ExpressionStatement","src":"147738:27:21"},{"AST":{"nativeSrc":"147827:214:21","nodeType":"YulBlock","src":"147827:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"147848:4:21","nodeType":"YulLiteral","src":"147848:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"147854:2:21","nodeType":"YulIdentifier","src":"147854:2:21"}],"functionName":{"name":"mstore","nativeSrc":"147841:6:21","nodeType":"YulIdentifier","src":"147841:6:21"},"nativeSrc":"147841:16:21","nodeType":"YulFunctionCall","src":"147841:16:21"},"nativeSrc":"147841:16:21","nodeType":"YulExpressionStatement","src":"147841:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147877:4:21","nodeType":"YulLiteral","src":"147877:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"147883:2:21","nodeType":"YulIdentifier","src":"147883:2:21"}],"functionName":{"name":"mstore","nativeSrc":"147870:6:21","nodeType":"YulIdentifier","src":"147870:6:21"},"nativeSrc":"147870:16:21","nodeType":"YulFunctionCall","src":"147870:16:21"},"nativeSrc":"147870:16:21","nodeType":"YulExpressionStatement","src":"147870:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147906:4:21","nodeType":"YulLiteral","src":"147906:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"147912:2:21","nodeType":"YulIdentifier","src":"147912:2:21"}],"functionName":{"name":"mstore","nativeSrc":"147899:6:21","nodeType":"YulIdentifier","src":"147899:6:21"},"nativeSrc":"147899:16:21","nodeType":"YulFunctionCall","src":"147899:16:21"},"nativeSrc":"147899:16:21","nodeType":"YulExpressionStatement","src":"147899:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147935:4:21","nodeType":"YulLiteral","src":"147935:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"147941:2:21","nodeType":"YulIdentifier","src":"147941:2:21"}],"functionName":{"name":"mstore","nativeSrc":"147928:6:21","nodeType":"YulIdentifier","src":"147928:6:21"},"nativeSrc":"147928:16:21","nodeType":"YulFunctionCall","src":"147928:16:21"},"nativeSrc":"147928:16:21","nodeType":"YulExpressionStatement","src":"147928:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147964:4:21","nodeType":"YulLiteral","src":"147964:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"147970:2:21","nodeType":"YulIdentifier","src":"147970:2:21"}],"functionName":{"name":"mstore","nativeSrc":"147957:6:21","nodeType":"YulIdentifier","src":"147957:6:21"},"nativeSrc":"147957:16:21","nodeType":"YulFunctionCall","src":"147957:16:21"},"nativeSrc":"147957:16:21","nodeType":"YulExpressionStatement","src":"147957:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147993:4:21","nodeType":"YulLiteral","src":"147993:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"147999:2:21","nodeType":"YulIdentifier","src":"147999:2:21"}],"functionName":{"name":"mstore","nativeSrc":"147986:6:21","nodeType":"YulIdentifier","src":"147986:6:21"},"nativeSrc":"147986:16:21","nodeType":"YulFunctionCall","src":"147986:16:21"},"nativeSrc":"147986:16:21","nodeType":"YulExpressionStatement","src":"147986:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"148022:4:21","nodeType":"YulLiteral","src":"148022:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"148028:2:21","nodeType":"YulIdentifier","src":"148028:2:21"}],"functionName":{"name":"mstore","nativeSrc":"148015:6:21","nodeType":"YulIdentifier","src":"148015:6:21"},"nativeSrc":"148015:16:21","nodeType":"YulFunctionCall","src":"148015:16:21"},"nativeSrc":"148015:16:21","nodeType":"YulExpressionStatement","src":"148015:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31624,"isOffset":false,"isSlot":false,"src":"147854:2:21","valueSize":1},{"declaration":31627,"isOffset":false,"isSlot":false,"src":"147883:2:21","valueSize":1},{"declaration":31630,"isOffset":false,"isSlot":false,"src":"147912:2:21","valueSize":1},{"declaration":31633,"isOffset":false,"isSlot":false,"src":"147941:2:21","valueSize":1},{"declaration":31636,"isOffset":false,"isSlot":false,"src":"147970:2:21","valueSize":1},{"declaration":31639,"isOffset":false,"isSlot":false,"src":"147999:2:21","valueSize":1},{"declaration":31642,"isOffset":false,"isSlot":false,"src":"148028:2:21","valueSize":1}],"id":31650,"nodeType":"InlineAssembly","src":"147818:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"146636:3:21","parameters":{"id":31621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31614,"mutability":"mutable","name":"p0","nameLocation":"146648:2:21","nodeType":"VariableDeclaration","scope":31652,"src":"146640:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31613,"name":"address","nodeType":"ElementaryTypeName","src":"146640:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31616,"mutability":"mutable","name":"p1","nameLocation":"146660:2:21","nodeType":"VariableDeclaration","scope":31652,"src":"146652:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146652:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31618,"mutability":"mutable","name":"p2","nameLocation":"146672:2:21","nodeType":"VariableDeclaration","scope":31652,"src":"146664:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31617,"name":"address","nodeType":"ElementaryTypeName","src":"146664:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31620,"mutability":"mutable","name":"p3","nameLocation":"146681:2:21","nodeType":"VariableDeclaration","scope":31652,"src":"146676:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31619,"name":"bool","nodeType":"ElementaryTypeName","src":"146676:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"146639:45:21"},"returnParameters":{"id":31622,"nodeType":"ParameterList","parameters":[],"src":"146699:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31692,"nodeType":"FunctionDefinition","src":"148053:1426:21","nodes":[],"body":{"id":31691,"nodeType":"Block","src":"148128:1351:21","nodes":[],"statements":[{"assignments":[31664],"declarations":[{"constant":false,"id":31664,"mutability":"mutable","name":"m0","nameLocation":"148146:2:21","nodeType":"VariableDeclaration","scope":31691,"src":"148138:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148138:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31665,"nodeType":"VariableDeclarationStatement","src":"148138:10:21"},{"assignments":[31667],"declarations":[{"constant":false,"id":31667,"mutability":"mutable","name":"m1","nameLocation":"148166:2:21","nodeType":"VariableDeclaration","scope":31691,"src":"148158:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148158:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31668,"nodeType":"VariableDeclarationStatement","src":"148158:10:21"},{"assignments":[31670],"declarations":[{"constant":false,"id":31670,"mutability":"mutable","name":"m2","nameLocation":"148186:2:21","nodeType":"VariableDeclaration","scope":31691,"src":"148178:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148178:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31671,"nodeType":"VariableDeclarationStatement","src":"148178:10:21"},{"assignments":[31673],"declarations":[{"constant":false,"id":31673,"mutability":"mutable","name":"m3","nameLocation":"148206:2:21","nodeType":"VariableDeclaration","scope":31691,"src":"148198:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31672,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148198:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31674,"nodeType":"VariableDeclarationStatement","src":"148198:10:21"},{"assignments":[31676],"declarations":[{"constant":false,"id":31676,"mutability":"mutable","name":"m4","nameLocation":"148226:2:21","nodeType":"VariableDeclaration","scope":31691,"src":"148218:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148218:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31677,"nodeType":"VariableDeclarationStatement","src":"148218:10:21"},{"assignments":[31679],"declarations":[{"constant":false,"id":31679,"mutability":"mutable","name":"m5","nameLocation":"148246:2:21","nodeType":"VariableDeclaration","scope":31691,"src":"148238:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148238:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31680,"nodeType":"VariableDeclarationStatement","src":"148238:10:21"},{"assignments":[31682],"declarations":[{"constant":false,"id":31682,"mutability":"mutable","name":"m6","nameLocation":"148266:2:21","nodeType":"VariableDeclaration","scope":31691,"src":"148258:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148258:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31683,"nodeType":"VariableDeclarationStatement","src":"148258:10:21"},{"AST":{"nativeSrc":"148330:831:21","nodeType":"YulBlock","src":"148330:831:21","statements":[{"body":{"nativeSrc":"148373:313:21","nodeType":"YulBlock","src":"148373:313:21","statements":[{"nativeSrc":"148391:15:21","nodeType":"YulVariableDeclaration","src":"148391:15:21","value":{"kind":"number","nativeSrc":"148405:1:21","nodeType":"YulLiteral","src":"148405:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"148395:6:21","nodeType":"YulTypedName","src":"148395:6:21","type":""}]},{"body":{"nativeSrc":"148476:40:21","nodeType":"YulBlock","src":"148476:40:21","statements":[{"body":{"nativeSrc":"148505:9:21","nodeType":"YulBlock","src":"148505:9:21","statements":[{"nativeSrc":"148507:5:21","nodeType":"YulBreak","src":"148507:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"148493:6:21","nodeType":"YulIdentifier","src":"148493:6:21"},{"name":"w","nativeSrc":"148501:1:21","nodeType":"YulIdentifier","src":"148501:1:21"}],"functionName":{"name":"byte","nativeSrc":"148488:4:21","nodeType":"YulIdentifier","src":"148488:4:21"},"nativeSrc":"148488:15:21","nodeType":"YulFunctionCall","src":"148488:15:21"}],"functionName":{"name":"iszero","nativeSrc":"148481:6:21","nodeType":"YulIdentifier","src":"148481:6:21"},"nativeSrc":"148481:23:21","nodeType":"YulFunctionCall","src":"148481:23:21"},"nativeSrc":"148478:36:21","nodeType":"YulIf","src":"148478:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"148433:6:21","nodeType":"YulIdentifier","src":"148433:6:21"},{"kind":"number","nativeSrc":"148441:4:21","nodeType":"YulLiteral","src":"148441:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"148430:2:21","nodeType":"YulIdentifier","src":"148430:2:21"},"nativeSrc":"148430:16:21","nodeType":"YulFunctionCall","src":"148430:16:21"},"nativeSrc":"148423:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"148447:28:21","nodeType":"YulBlock","src":"148447:28:21","statements":[{"nativeSrc":"148449:24:21","nodeType":"YulAssignment","src":"148449:24:21","value":{"arguments":[{"name":"length","nativeSrc":"148463:6:21","nodeType":"YulIdentifier","src":"148463:6:21"},{"kind":"number","nativeSrc":"148471:1:21","nodeType":"YulLiteral","src":"148471:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"148459:3:21","nodeType":"YulIdentifier","src":"148459:3:21"},"nativeSrc":"148459:14:21","nodeType":"YulFunctionCall","src":"148459:14:21"},"variableNames":[{"name":"length","nativeSrc":"148449:6:21","nodeType":"YulIdentifier","src":"148449:6:21"}]}]},"pre":{"nativeSrc":"148427:2:21","nodeType":"YulBlock","src":"148427:2:21","statements":[]},"src":"148423:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"148540:3:21","nodeType":"YulIdentifier","src":"148540:3:21"},{"name":"length","nativeSrc":"148545:6:21","nodeType":"YulIdentifier","src":"148545:6:21"}],"functionName":{"name":"mstore","nativeSrc":"148533:6:21","nodeType":"YulIdentifier","src":"148533:6:21"},"nativeSrc":"148533:19:21","nodeType":"YulFunctionCall","src":"148533:19:21"},"nativeSrc":"148533:19:21","nodeType":"YulExpressionStatement","src":"148533:19:21"},{"nativeSrc":"148569:37:21","nodeType":"YulVariableDeclaration","src":"148569:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"148586:3:21","nodeType":"YulLiteral","src":"148586:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"148595:1:21","nodeType":"YulLiteral","src":"148595:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"148598:6:21","nodeType":"YulIdentifier","src":"148598:6:21"}],"functionName":{"name":"shl","nativeSrc":"148591:3:21","nodeType":"YulIdentifier","src":"148591:3:21"},"nativeSrc":"148591:14:21","nodeType":"YulFunctionCall","src":"148591:14:21"}],"functionName":{"name":"sub","nativeSrc":"148582:3:21","nodeType":"YulIdentifier","src":"148582:3:21"},"nativeSrc":"148582:24:21","nodeType":"YulFunctionCall","src":"148582:24:21"},"variables":[{"name":"shift","nativeSrc":"148573:5:21","nodeType":"YulTypedName","src":"148573:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"148634:3:21","nodeType":"YulIdentifier","src":"148634:3:21"},{"kind":"number","nativeSrc":"148639:4:21","nodeType":"YulLiteral","src":"148639:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"148630:3:21","nodeType":"YulIdentifier","src":"148630:3:21"},"nativeSrc":"148630:14:21","nodeType":"YulFunctionCall","src":"148630:14:21"},{"arguments":[{"name":"shift","nativeSrc":"148650:5:21","nodeType":"YulIdentifier","src":"148650:5:21"},{"arguments":[{"name":"shift","nativeSrc":"148661:5:21","nodeType":"YulIdentifier","src":"148661:5:21"},{"name":"w","nativeSrc":"148668:1:21","nodeType":"YulIdentifier","src":"148668:1:21"}],"functionName":{"name":"shr","nativeSrc":"148657:3:21","nodeType":"YulIdentifier","src":"148657:3:21"},"nativeSrc":"148657:13:21","nodeType":"YulFunctionCall","src":"148657:13:21"}],"functionName":{"name":"shl","nativeSrc":"148646:3:21","nodeType":"YulIdentifier","src":"148646:3:21"},"nativeSrc":"148646:25:21","nodeType":"YulFunctionCall","src":"148646:25:21"}],"functionName":{"name":"mstore","nativeSrc":"148623:6:21","nodeType":"YulIdentifier","src":"148623:6:21"},"nativeSrc":"148623:49:21","nodeType":"YulFunctionCall","src":"148623:49:21"},"nativeSrc":"148623:49:21","nodeType":"YulExpressionStatement","src":"148623:49:21"}]},"name":"writeString","nativeSrc":"148344:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"148365:3:21","nodeType":"YulTypedName","src":"148365:3:21","type":""},{"name":"w","nativeSrc":"148370:1:21","nodeType":"YulTypedName","src":"148370:1:21","type":""}],"src":"148344:342:21"},{"nativeSrc":"148699:17:21","nodeType":"YulAssignment","src":"148699:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"148711:4:21","nodeType":"YulLiteral","src":"148711:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"148705:5:21","nodeType":"YulIdentifier","src":"148705:5:21"},"nativeSrc":"148705:11:21","nodeType":"YulFunctionCall","src":"148705:11:21"},"variableNames":[{"name":"m0","nativeSrc":"148699:2:21","nodeType":"YulIdentifier","src":"148699:2:21"}]},{"nativeSrc":"148729:17:21","nodeType":"YulAssignment","src":"148729:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"148741:4:21","nodeType":"YulLiteral","src":"148741:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"148735:5:21","nodeType":"YulIdentifier","src":"148735:5:21"},"nativeSrc":"148735:11:21","nodeType":"YulFunctionCall","src":"148735:11:21"},"variableNames":[{"name":"m1","nativeSrc":"148729:2:21","nodeType":"YulIdentifier","src":"148729:2:21"}]},{"nativeSrc":"148759:17:21","nodeType":"YulAssignment","src":"148759:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"148771:4:21","nodeType":"YulLiteral","src":"148771:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"148765:5:21","nodeType":"YulIdentifier","src":"148765:5:21"},"nativeSrc":"148765:11:21","nodeType":"YulFunctionCall","src":"148765:11:21"},"variableNames":[{"name":"m2","nativeSrc":"148759:2:21","nodeType":"YulIdentifier","src":"148759:2:21"}]},{"nativeSrc":"148789:17:21","nodeType":"YulAssignment","src":"148789:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"148801:4:21","nodeType":"YulLiteral","src":"148801:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"148795:5:21","nodeType":"YulIdentifier","src":"148795:5:21"},"nativeSrc":"148795:11:21","nodeType":"YulFunctionCall","src":"148795:11:21"},"variableNames":[{"name":"m3","nativeSrc":"148789:2:21","nodeType":"YulIdentifier","src":"148789:2:21"}]},{"nativeSrc":"148819:17:21","nodeType":"YulAssignment","src":"148819:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"148831:4:21","nodeType":"YulLiteral","src":"148831:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"148825:5:21","nodeType":"YulIdentifier","src":"148825:5:21"},"nativeSrc":"148825:11:21","nodeType":"YulFunctionCall","src":"148825:11:21"},"variableNames":[{"name":"m4","nativeSrc":"148819:2:21","nodeType":"YulIdentifier","src":"148819:2:21"}]},{"nativeSrc":"148849:17:21","nodeType":"YulAssignment","src":"148849:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"148861:4:21","nodeType":"YulLiteral","src":"148861:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"148855:5:21","nodeType":"YulIdentifier","src":"148855:5:21"},"nativeSrc":"148855:11:21","nodeType":"YulFunctionCall","src":"148855:11:21"},"variableNames":[{"name":"m5","nativeSrc":"148849:2:21","nodeType":"YulIdentifier","src":"148849:2:21"}]},{"nativeSrc":"148879:17:21","nodeType":"YulAssignment","src":"148879:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"148891:4:21","nodeType":"YulLiteral","src":"148891:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"148885:5:21","nodeType":"YulIdentifier","src":"148885:5:21"},"nativeSrc":"148885:11:21","nodeType":"YulFunctionCall","src":"148885:11:21"},"variableNames":[{"name":"m6","nativeSrc":"148879:2:21","nodeType":"YulIdentifier","src":"148879:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"148982:4:21","nodeType":"YulLiteral","src":"148982:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"148988:10:21","nodeType":"YulLiteral","src":"148988:10:21","type":"","value":"0x457fe3cf"}],"functionName":{"name":"mstore","nativeSrc":"148975:6:21","nodeType":"YulIdentifier","src":"148975:6:21"},"nativeSrc":"148975:24:21","nodeType":"YulFunctionCall","src":"148975:24:21"},"nativeSrc":"148975:24:21","nodeType":"YulExpressionStatement","src":"148975:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149019:4:21","nodeType":"YulLiteral","src":"149019:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"149025:2:21","nodeType":"YulIdentifier","src":"149025:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149012:6:21","nodeType":"YulIdentifier","src":"149012:6:21"},"nativeSrc":"149012:16:21","nodeType":"YulFunctionCall","src":"149012:16:21"},"nativeSrc":"149012:16:21","nodeType":"YulExpressionStatement","src":"149012:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149048:4:21","nodeType":"YulLiteral","src":"149048:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"149054:4:21","nodeType":"YulLiteral","src":"149054:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"149041:6:21","nodeType":"YulIdentifier","src":"149041:6:21"},"nativeSrc":"149041:18:21","nodeType":"YulFunctionCall","src":"149041:18:21"},"nativeSrc":"149041:18:21","nodeType":"YulExpressionStatement","src":"149041:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149079:4:21","nodeType":"YulLiteral","src":"149079:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"149085:2:21","nodeType":"YulIdentifier","src":"149085:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149072:6:21","nodeType":"YulIdentifier","src":"149072:6:21"},"nativeSrc":"149072:16:21","nodeType":"YulFunctionCall","src":"149072:16:21"},"nativeSrc":"149072:16:21","nodeType":"YulExpressionStatement","src":"149072:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149108:4:21","nodeType":"YulLiteral","src":"149108:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"149114:2:21","nodeType":"YulIdentifier","src":"149114:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149101:6:21","nodeType":"YulIdentifier","src":"149101:6:21"},"nativeSrc":"149101:16:21","nodeType":"YulFunctionCall","src":"149101:16:21"},"nativeSrc":"149101:16:21","nodeType":"YulExpressionStatement","src":"149101:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149142:4:21","nodeType":"YulLiteral","src":"149142:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"149148:2:21","nodeType":"YulIdentifier","src":"149148:2:21"}],"functionName":{"name":"writeString","nativeSrc":"149130:11:21","nodeType":"YulIdentifier","src":"149130:11:21"},"nativeSrc":"149130:21:21","nodeType":"YulFunctionCall","src":"149130:21:21"},"nativeSrc":"149130:21:21","nodeType":"YulExpressionStatement","src":"149130:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31664,"isOffset":false,"isSlot":false,"src":"148699:2:21","valueSize":1},{"declaration":31667,"isOffset":false,"isSlot":false,"src":"148729:2:21","valueSize":1},{"declaration":31670,"isOffset":false,"isSlot":false,"src":"148759:2:21","valueSize":1},{"declaration":31673,"isOffset":false,"isSlot":false,"src":"148789:2:21","valueSize":1},{"declaration":31676,"isOffset":false,"isSlot":false,"src":"148819:2:21","valueSize":1},{"declaration":31679,"isOffset":false,"isSlot":false,"src":"148849:2:21","valueSize":1},{"declaration":31682,"isOffset":false,"isSlot":false,"src":"148879:2:21","valueSize":1},{"declaration":31654,"isOffset":false,"isSlot":false,"src":"149025:2:21","valueSize":1},{"declaration":31656,"isOffset":false,"isSlot":false,"src":"149148:2:21","valueSize":1},{"declaration":31658,"isOffset":false,"isSlot":false,"src":"149085:2:21","valueSize":1},{"declaration":31660,"isOffset":false,"isSlot":false,"src":"149114:2:21","valueSize":1}],"id":31684,"nodeType":"InlineAssembly","src":"148321:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"149186:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"149192:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31685,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"149170:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"149170:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31689,"nodeType":"ExpressionStatement","src":"149170:27:21"},{"AST":{"nativeSrc":"149259:214:21","nodeType":"YulBlock","src":"149259:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"149280:4:21","nodeType":"YulLiteral","src":"149280:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"149286:2:21","nodeType":"YulIdentifier","src":"149286:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149273:6:21","nodeType":"YulIdentifier","src":"149273:6:21"},"nativeSrc":"149273:16:21","nodeType":"YulFunctionCall","src":"149273:16:21"},"nativeSrc":"149273:16:21","nodeType":"YulExpressionStatement","src":"149273:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149309:4:21","nodeType":"YulLiteral","src":"149309:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"149315:2:21","nodeType":"YulIdentifier","src":"149315:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149302:6:21","nodeType":"YulIdentifier","src":"149302:6:21"},"nativeSrc":"149302:16:21","nodeType":"YulFunctionCall","src":"149302:16:21"},"nativeSrc":"149302:16:21","nodeType":"YulExpressionStatement","src":"149302:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149338:4:21","nodeType":"YulLiteral","src":"149338:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"149344:2:21","nodeType":"YulIdentifier","src":"149344:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149331:6:21","nodeType":"YulIdentifier","src":"149331:6:21"},"nativeSrc":"149331:16:21","nodeType":"YulFunctionCall","src":"149331:16:21"},"nativeSrc":"149331:16:21","nodeType":"YulExpressionStatement","src":"149331:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149367:4:21","nodeType":"YulLiteral","src":"149367:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"149373:2:21","nodeType":"YulIdentifier","src":"149373:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149360:6:21","nodeType":"YulIdentifier","src":"149360:6:21"},"nativeSrc":"149360:16:21","nodeType":"YulFunctionCall","src":"149360:16:21"},"nativeSrc":"149360:16:21","nodeType":"YulExpressionStatement","src":"149360:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149396:4:21","nodeType":"YulLiteral","src":"149396:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"149402:2:21","nodeType":"YulIdentifier","src":"149402:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149389:6:21","nodeType":"YulIdentifier","src":"149389:6:21"},"nativeSrc":"149389:16:21","nodeType":"YulFunctionCall","src":"149389:16:21"},"nativeSrc":"149389:16:21","nodeType":"YulExpressionStatement","src":"149389:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149425:4:21","nodeType":"YulLiteral","src":"149425:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"149431:2:21","nodeType":"YulIdentifier","src":"149431:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149418:6:21","nodeType":"YulIdentifier","src":"149418:6:21"},"nativeSrc":"149418:16:21","nodeType":"YulFunctionCall","src":"149418:16:21"},"nativeSrc":"149418:16:21","nodeType":"YulExpressionStatement","src":"149418:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149454:4:21","nodeType":"YulLiteral","src":"149454:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"149460:2:21","nodeType":"YulIdentifier","src":"149460:2:21"}],"functionName":{"name":"mstore","nativeSrc":"149447:6:21","nodeType":"YulIdentifier","src":"149447:6:21"},"nativeSrc":"149447:16:21","nodeType":"YulFunctionCall","src":"149447:16:21"},"nativeSrc":"149447:16:21","nodeType":"YulExpressionStatement","src":"149447:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31664,"isOffset":false,"isSlot":false,"src":"149286:2:21","valueSize":1},{"declaration":31667,"isOffset":false,"isSlot":false,"src":"149315:2:21","valueSize":1},{"declaration":31670,"isOffset":false,"isSlot":false,"src":"149344:2:21","valueSize":1},{"declaration":31673,"isOffset":false,"isSlot":false,"src":"149373:2:21","valueSize":1},{"declaration":31676,"isOffset":false,"isSlot":false,"src":"149402:2:21","valueSize":1},{"declaration":31679,"isOffset":false,"isSlot":false,"src":"149431:2:21","valueSize":1},{"declaration":31682,"isOffset":false,"isSlot":false,"src":"149460:2:21","valueSize":1}],"id":31690,"nodeType":"InlineAssembly","src":"149250:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"148062:3:21","parameters":{"id":31661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31654,"mutability":"mutable","name":"p0","nameLocation":"148074:2:21","nodeType":"VariableDeclaration","scope":31692,"src":"148066:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31653,"name":"address","nodeType":"ElementaryTypeName","src":"148066:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31656,"mutability":"mutable","name":"p1","nameLocation":"148086:2:21","nodeType":"VariableDeclaration","scope":31692,"src":"148078:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148078:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31658,"mutability":"mutable","name":"p2","nameLocation":"148098:2:21","nodeType":"VariableDeclaration","scope":31692,"src":"148090:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31657,"name":"address","nodeType":"ElementaryTypeName","src":"148090:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31660,"mutability":"mutable","name":"p3","nameLocation":"148110:2:21","nodeType":"VariableDeclaration","scope":31692,"src":"148102:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31659,"name":"uint256","nodeType":"ElementaryTypeName","src":"148102:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"148065:48:21"},"returnParameters":{"id":31662,"nodeType":"ParameterList","parameters":[],"src":"148128:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31738,"nodeType":"FunctionDefinition","src":"149485:1622:21","nodes":[],"body":{"id":31737,"nodeType":"Block","src":"149560:1547:21","nodes":[],"statements":[{"assignments":[31704],"declarations":[{"constant":false,"id":31704,"mutability":"mutable","name":"m0","nameLocation":"149578:2:21","nodeType":"VariableDeclaration","scope":31737,"src":"149570:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149570:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31705,"nodeType":"VariableDeclarationStatement","src":"149570:10:21"},{"assignments":[31707],"declarations":[{"constant":false,"id":31707,"mutability":"mutable","name":"m1","nameLocation":"149598:2:21","nodeType":"VariableDeclaration","scope":31737,"src":"149590:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149590:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31708,"nodeType":"VariableDeclarationStatement","src":"149590:10:21"},{"assignments":[31710],"declarations":[{"constant":false,"id":31710,"mutability":"mutable","name":"m2","nameLocation":"149618:2:21","nodeType":"VariableDeclaration","scope":31737,"src":"149610:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149610:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31711,"nodeType":"VariableDeclarationStatement","src":"149610:10:21"},{"assignments":[31713],"declarations":[{"constant":false,"id":31713,"mutability":"mutable","name":"m3","nameLocation":"149638:2:21","nodeType":"VariableDeclaration","scope":31737,"src":"149630:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149630:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31714,"nodeType":"VariableDeclarationStatement","src":"149630:10:21"},{"assignments":[31716],"declarations":[{"constant":false,"id":31716,"mutability":"mutable","name":"m4","nameLocation":"149658:2:21","nodeType":"VariableDeclaration","scope":31737,"src":"149650:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31715,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149650:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31717,"nodeType":"VariableDeclarationStatement","src":"149650:10:21"},{"assignments":[31719],"declarations":[{"constant":false,"id":31719,"mutability":"mutable","name":"m5","nameLocation":"149678:2:21","nodeType":"VariableDeclaration","scope":31737,"src":"149670:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149670:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31720,"nodeType":"VariableDeclarationStatement","src":"149670:10:21"},{"assignments":[31722],"declarations":[{"constant":false,"id":31722,"mutability":"mutable","name":"m6","nameLocation":"149698:2:21","nodeType":"VariableDeclaration","scope":31737,"src":"149690:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31721,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149690:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31723,"nodeType":"VariableDeclarationStatement","src":"149690:10:21"},{"assignments":[31725],"declarations":[{"constant":false,"id":31725,"mutability":"mutable","name":"m7","nameLocation":"149718:2:21","nodeType":"VariableDeclaration","scope":31737,"src":"149710:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149710:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31726,"nodeType":"VariableDeclarationStatement","src":"149710:10:21"},{"assignments":[31728],"declarations":[{"constant":false,"id":31728,"mutability":"mutable","name":"m8","nameLocation":"149738:2:21","nodeType":"VariableDeclaration","scope":31737,"src":"149730:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149730:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31729,"nodeType":"VariableDeclarationStatement","src":"149730:10:21"},{"AST":{"nativeSrc":"149802:927:21","nodeType":"YulBlock","src":"149802:927:21","statements":[{"body":{"nativeSrc":"149845:313:21","nodeType":"YulBlock","src":"149845:313:21","statements":[{"nativeSrc":"149863:15:21","nodeType":"YulVariableDeclaration","src":"149863:15:21","value":{"kind":"number","nativeSrc":"149877:1:21","nodeType":"YulLiteral","src":"149877:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"149867:6:21","nodeType":"YulTypedName","src":"149867:6:21","type":""}]},{"body":{"nativeSrc":"149948:40:21","nodeType":"YulBlock","src":"149948:40:21","statements":[{"body":{"nativeSrc":"149977:9:21","nodeType":"YulBlock","src":"149977:9:21","statements":[{"nativeSrc":"149979:5:21","nodeType":"YulBreak","src":"149979:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"149965:6:21","nodeType":"YulIdentifier","src":"149965:6:21"},{"name":"w","nativeSrc":"149973:1:21","nodeType":"YulIdentifier","src":"149973:1:21"}],"functionName":{"name":"byte","nativeSrc":"149960:4:21","nodeType":"YulIdentifier","src":"149960:4:21"},"nativeSrc":"149960:15:21","nodeType":"YulFunctionCall","src":"149960:15:21"}],"functionName":{"name":"iszero","nativeSrc":"149953:6:21","nodeType":"YulIdentifier","src":"149953:6:21"},"nativeSrc":"149953:23:21","nodeType":"YulFunctionCall","src":"149953:23:21"},"nativeSrc":"149950:36:21","nodeType":"YulIf","src":"149950:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"149905:6:21","nodeType":"YulIdentifier","src":"149905:6:21"},{"kind":"number","nativeSrc":"149913:4:21","nodeType":"YulLiteral","src":"149913:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"149902:2:21","nodeType":"YulIdentifier","src":"149902:2:21"},"nativeSrc":"149902:16:21","nodeType":"YulFunctionCall","src":"149902:16:21"},"nativeSrc":"149895:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"149919:28:21","nodeType":"YulBlock","src":"149919:28:21","statements":[{"nativeSrc":"149921:24:21","nodeType":"YulAssignment","src":"149921:24:21","value":{"arguments":[{"name":"length","nativeSrc":"149935:6:21","nodeType":"YulIdentifier","src":"149935:6:21"},{"kind":"number","nativeSrc":"149943:1:21","nodeType":"YulLiteral","src":"149943:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"149931:3:21","nodeType":"YulIdentifier","src":"149931:3:21"},"nativeSrc":"149931:14:21","nodeType":"YulFunctionCall","src":"149931:14:21"},"variableNames":[{"name":"length","nativeSrc":"149921:6:21","nodeType":"YulIdentifier","src":"149921:6:21"}]}]},"pre":{"nativeSrc":"149899:2:21","nodeType":"YulBlock","src":"149899:2:21","statements":[]},"src":"149895:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"150012:3:21","nodeType":"YulIdentifier","src":"150012:3:21"},{"name":"length","nativeSrc":"150017:6:21","nodeType":"YulIdentifier","src":"150017:6:21"}],"functionName":{"name":"mstore","nativeSrc":"150005:6:21","nodeType":"YulIdentifier","src":"150005:6:21"},"nativeSrc":"150005:19:21","nodeType":"YulFunctionCall","src":"150005:19:21"},"nativeSrc":"150005:19:21","nodeType":"YulExpressionStatement","src":"150005:19:21"},{"nativeSrc":"150041:37:21","nodeType":"YulVariableDeclaration","src":"150041:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"150058:3:21","nodeType":"YulLiteral","src":"150058:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"150067:1:21","nodeType":"YulLiteral","src":"150067:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"150070:6:21","nodeType":"YulIdentifier","src":"150070:6:21"}],"functionName":{"name":"shl","nativeSrc":"150063:3:21","nodeType":"YulIdentifier","src":"150063:3:21"},"nativeSrc":"150063:14:21","nodeType":"YulFunctionCall","src":"150063:14:21"}],"functionName":{"name":"sub","nativeSrc":"150054:3:21","nodeType":"YulIdentifier","src":"150054:3:21"},"nativeSrc":"150054:24:21","nodeType":"YulFunctionCall","src":"150054:24:21"},"variables":[{"name":"shift","nativeSrc":"150045:5:21","nodeType":"YulTypedName","src":"150045:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"150106:3:21","nodeType":"YulIdentifier","src":"150106:3:21"},{"kind":"number","nativeSrc":"150111:4:21","nodeType":"YulLiteral","src":"150111:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"150102:3:21","nodeType":"YulIdentifier","src":"150102:3:21"},"nativeSrc":"150102:14:21","nodeType":"YulFunctionCall","src":"150102:14:21"},{"arguments":[{"name":"shift","nativeSrc":"150122:5:21","nodeType":"YulIdentifier","src":"150122:5:21"},{"arguments":[{"name":"shift","nativeSrc":"150133:5:21","nodeType":"YulIdentifier","src":"150133:5:21"},{"name":"w","nativeSrc":"150140:1:21","nodeType":"YulIdentifier","src":"150140:1:21"}],"functionName":{"name":"shr","nativeSrc":"150129:3:21","nodeType":"YulIdentifier","src":"150129:3:21"},"nativeSrc":"150129:13:21","nodeType":"YulFunctionCall","src":"150129:13:21"}],"functionName":{"name":"shl","nativeSrc":"150118:3:21","nodeType":"YulIdentifier","src":"150118:3:21"},"nativeSrc":"150118:25:21","nodeType":"YulFunctionCall","src":"150118:25:21"}],"functionName":{"name":"mstore","nativeSrc":"150095:6:21","nodeType":"YulIdentifier","src":"150095:6:21"},"nativeSrc":"150095:49:21","nodeType":"YulFunctionCall","src":"150095:49:21"},"nativeSrc":"150095:49:21","nodeType":"YulExpressionStatement","src":"150095:49:21"}]},"name":"writeString","nativeSrc":"149816:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"149837:3:21","nodeType":"YulTypedName","src":"149837:3:21","type":""},{"name":"w","nativeSrc":"149842:1:21","nodeType":"YulTypedName","src":"149842:1:21","type":""}],"src":"149816:342:21"},{"nativeSrc":"150171:17:21","nodeType":"YulAssignment","src":"150171:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"150183:4:21","nodeType":"YulLiteral","src":"150183:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"150177:5:21","nodeType":"YulIdentifier","src":"150177:5:21"},"nativeSrc":"150177:11:21","nodeType":"YulFunctionCall","src":"150177:11:21"},"variableNames":[{"name":"m0","nativeSrc":"150171:2:21","nodeType":"YulIdentifier","src":"150171:2:21"}]},{"nativeSrc":"150201:17:21","nodeType":"YulAssignment","src":"150201:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"150213:4:21","nodeType":"YulLiteral","src":"150213:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"150207:5:21","nodeType":"YulIdentifier","src":"150207:5:21"},"nativeSrc":"150207:11:21","nodeType":"YulFunctionCall","src":"150207:11:21"},"variableNames":[{"name":"m1","nativeSrc":"150201:2:21","nodeType":"YulIdentifier","src":"150201:2:21"}]},{"nativeSrc":"150231:17:21","nodeType":"YulAssignment","src":"150231:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"150243:4:21","nodeType":"YulLiteral","src":"150243:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"150237:5:21","nodeType":"YulIdentifier","src":"150237:5:21"},"nativeSrc":"150237:11:21","nodeType":"YulFunctionCall","src":"150237:11:21"},"variableNames":[{"name":"m2","nativeSrc":"150231:2:21","nodeType":"YulIdentifier","src":"150231:2:21"}]},{"nativeSrc":"150261:17:21","nodeType":"YulAssignment","src":"150261:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"150273:4:21","nodeType":"YulLiteral","src":"150273:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"150267:5:21","nodeType":"YulIdentifier","src":"150267:5:21"},"nativeSrc":"150267:11:21","nodeType":"YulFunctionCall","src":"150267:11:21"},"variableNames":[{"name":"m3","nativeSrc":"150261:2:21","nodeType":"YulIdentifier","src":"150261:2:21"}]},{"nativeSrc":"150291:17:21","nodeType":"YulAssignment","src":"150291:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"150303:4:21","nodeType":"YulLiteral","src":"150303:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"150297:5:21","nodeType":"YulIdentifier","src":"150297:5:21"},"nativeSrc":"150297:11:21","nodeType":"YulFunctionCall","src":"150297:11:21"},"variableNames":[{"name":"m4","nativeSrc":"150291:2:21","nodeType":"YulIdentifier","src":"150291:2:21"}]},{"nativeSrc":"150321:17:21","nodeType":"YulAssignment","src":"150321:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"150333:4:21","nodeType":"YulLiteral","src":"150333:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"150327:5:21","nodeType":"YulIdentifier","src":"150327:5:21"},"nativeSrc":"150327:11:21","nodeType":"YulFunctionCall","src":"150327:11:21"},"variableNames":[{"name":"m5","nativeSrc":"150321:2:21","nodeType":"YulIdentifier","src":"150321:2:21"}]},{"nativeSrc":"150351:17:21","nodeType":"YulAssignment","src":"150351:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"150363:4:21","nodeType":"YulLiteral","src":"150363:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"150357:5:21","nodeType":"YulIdentifier","src":"150357:5:21"},"nativeSrc":"150357:11:21","nodeType":"YulFunctionCall","src":"150357:11:21"},"variableNames":[{"name":"m6","nativeSrc":"150351:2:21","nodeType":"YulIdentifier","src":"150351:2:21"}]},{"nativeSrc":"150381:17:21","nodeType":"YulAssignment","src":"150381:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"150393:4:21","nodeType":"YulLiteral","src":"150393:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"150387:5:21","nodeType":"YulIdentifier","src":"150387:5:21"},"nativeSrc":"150387:11:21","nodeType":"YulFunctionCall","src":"150387:11:21"},"variableNames":[{"name":"m7","nativeSrc":"150381:2:21","nodeType":"YulIdentifier","src":"150381:2:21"}]},{"nativeSrc":"150411:18:21","nodeType":"YulAssignment","src":"150411:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"150423:5:21","nodeType":"YulLiteral","src":"150423:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"150417:5:21","nodeType":"YulIdentifier","src":"150417:5:21"},"nativeSrc":"150417:12:21","nodeType":"YulFunctionCall","src":"150417:12:21"},"variableNames":[{"name":"m8","nativeSrc":"150411:2:21","nodeType":"YulIdentifier","src":"150411:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150514:4:21","nodeType":"YulLiteral","src":"150514:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"150520:10:21","nodeType":"YulLiteral","src":"150520:10:21","type":"","value":"0xf7e36245"}],"functionName":{"name":"mstore","nativeSrc":"150507:6:21","nodeType":"YulIdentifier","src":"150507:6:21"},"nativeSrc":"150507:24:21","nodeType":"YulFunctionCall","src":"150507:24:21"},"nativeSrc":"150507:24:21","nodeType":"YulExpressionStatement","src":"150507:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150551:4:21","nodeType":"YulLiteral","src":"150551:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"150557:2:21","nodeType":"YulIdentifier","src":"150557:2:21"}],"functionName":{"name":"mstore","nativeSrc":"150544:6:21","nodeType":"YulIdentifier","src":"150544:6:21"},"nativeSrc":"150544:16:21","nodeType":"YulFunctionCall","src":"150544:16:21"},"nativeSrc":"150544:16:21","nodeType":"YulExpressionStatement","src":"150544:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150580:4:21","nodeType":"YulLiteral","src":"150580:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"150586:4:21","nodeType":"YulLiteral","src":"150586:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"150573:6:21","nodeType":"YulIdentifier","src":"150573:6:21"},"nativeSrc":"150573:18:21","nodeType":"YulFunctionCall","src":"150573:18:21"},"nativeSrc":"150573:18:21","nodeType":"YulExpressionStatement","src":"150573:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150611:4:21","nodeType":"YulLiteral","src":"150611:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"150617:2:21","nodeType":"YulIdentifier","src":"150617:2:21"}],"functionName":{"name":"mstore","nativeSrc":"150604:6:21","nodeType":"YulIdentifier","src":"150604:6:21"},"nativeSrc":"150604:16:21","nodeType":"YulFunctionCall","src":"150604:16:21"},"nativeSrc":"150604:16:21","nodeType":"YulExpressionStatement","src":"150604:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150640:4:21","nodeType":"YulLiteral","src":"150640:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"150646:4:21","nodeType":"YulLiteral","src":"150646:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"150633:6:21","nodeType":"YulIdentifier","src":"150633:6:21"},"nativeSrc":"150633:18:21","nodeType":"YulFunctionCall","src":"150633:18:21"},"nativeSrc":"150633:18:21","nodeType":"YulExpressionStatement","src":"150633:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150676:4:21","nodeType":"YulLiteral","src":"150676:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"150682:2:21","nodeType":"YulIdentifier","src":"150682:2:21"}],"functionName":{"name":"writeString","nativeSrc":"150664:11:21","nodeType":"YulIdentifier","src":"150664:11:21"},"nativeSrc":"150664:21:21","nodeType":"YulFunctionCall","src":"150664:21:21"},"nativeSrc":"150664:21:21","nodeType":"YulExpressionStatement","src":"150664:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150710:4:21","nodeType":"YulLiteral","src":"150710:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"150716:2:21","nodeType":"YulIdentifier","src":"150716:2:21"}],"functionName":{"name":"writeString","nativeSrc":"150698:11:21","nodeType":"YulIdentifier","src":"150698:11:21"},"nativeSrc":"150698:21:21","nodeType":"YulFunctionCall","src":"150698:21:21"},"nativeSrc":"150698:21:21","nodeType":"YulExpressionStatement","src":"150698:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31704,"isOffset":false,"isSlot":false,"src":"150171:2:21","valueSize":1},{"declaration":31707,"isOffset":false,"isSlot":false,"src":"150201:2:21","valueSize":1},{"declaration":31710,"isOffset":false,"isSlot":false,"src":"150231:2:21","valueSize":1},{"declaration":31713,"isOffset":false,"isSlot":false,"src":"150261:2:21","valueSize":1},{"declaration":31716,"isOffset":false,"isSlot":false,"src":"150291:2:21","valueSize":1},{"declaration":31719,"isOffset":false,"isSlot":false,"src":"150321:2:21","valueSize":1},{"declaration":31722,"isOffset":false,"isSlot":false,"src":"150351:2:21","valueSize":1},{"declaration":31725,"isOffset":false,"isSlot":false,"src":"150381:2:21","valueSize":1},{"declaration":31728,"isOffset":false,"isSlot":false,"src":"150411:2:21","valueSize":1},{"declaration":31694,"isOffset":false,"isSlot":false,"src":"150557:2:21","valueSize":1},{"declaration":31696,"isOffset":false,"isSlot":false,"src":"150682:2:21","valueSize":1},{"declaration":31698,"isOffset":false,"isSlot":false,"src":"150617:2:21","valueSize":1},{"declaration":31700,"isOffset":false,"isSlot":false,"src":"150716:2:21","valueSize":1}],"id":31730,"nodeType":"InlineAssembly","src":"149793:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"150754:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":31733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"150760:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":31731,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"150738:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"150738:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31735,"nodeType":"ExpressionStatement","src":"150738:28:21"},{"AST":{"nativeSrc":"150828:273:21","nodeType":"YulBlock","src":"150828:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"150849:4:21","nodeType":"YulLiteral","src":"150849:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"150855:2:21","nodeType":"YulIdentifier","src":"150855:2:21"}],"functionName":{"name":"mstore","nativeSrc":"150842:6:21","nodeType":"YulIdentifier","src":"150842:6:21"},"nativeSrc":"150842:16:21","nodeType":"YulFunctionCall","src":"150842:16:21"},"nativeSrc":"150842:16:21","nodeType":"YulExpressionStatement","src":"150842:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150878:4:21","nodeType":"YulLiteral","src":"150878:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"150884:2:21","nodeType":"YulIdentifier","src":"150884:2:21"}],"functionName":{"name":"mstore","nativeSrc":"150871:6:21","nodeType":"YulIdentifier","src":"150871:6:21"},"nativeSrc":"150871:16:21","nodeType":"YulFunctionCall","src":"150871:16:21"},"nativeSrc":"150871:16:21","nodeType":"YulExpressionStatement","src":"150871:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150907:4:21","nodeType":"YulLiteral","src":"150907:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"150913:2:21","nodeType":"YulIdentifier","src":"150913:2:21"}],"functionName":{"name":"mstore","nativeSrc":"150900:6:21","nodeType":"YulIdentifier","src":"150900:6:21"},"nativeSrc":"150900:16:21","nodeType":"YulFunctionCall","src":"150900:16:21"},"nativeSrc":"150900:16:21","nodeType":"YulExpressionStatement","src":"150900:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150936:4:21","nodeType":"YulLiteral","src":"150936:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"150942:2:21","nodeType":"YulIdentifier","src":"150942:2:21"}],"functionName":{"name":"mstore","nativeSrc":"150929:6:21","nodeType":"YulIdentifier","src":"150929:6:21"},"nativeSrc":"150929:16:21","nodeType":"YulFunctionCall","src":"150929:16:21"},"nativeSrc":"150929:16:21","nodeType":"YulExpressionStatement","src":"150929:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150965:4:21","nodeType":"YulLiteral","src":"150965:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"150971:2:21","nodeType":"YulIdentifier","src":"150971:2:21"}],"functionName":{"name":"mstore","nativeSrc":"150958:6:21","nodeType":"YulIdentifier","src":"150958:6:21"},"nativeSrc":"150958:16:21","nodeType":"YulFunctionCall","src":"150958:16:21"},"nativeSrc":"150958:16:21","nodeType":"YulExpressionStatement","src":"150958:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150994:4:21","nodeType":"YulLiteral","src":"150994:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"151000:2:21","nodeType":"YulIdentifier","src":"151000:2:21"}],"functionName":{"name":"mstore","nativeSrc":"150987:6:21","nodeType":"YulIdentifier","src":"150987:6:21"},"nativeSrc":"150987:16:21","nodeType":"YulFunctionCall","src":"150987:16:21"},"nativeSrc":"150987:16:21","nodeType":"YulExpressionStatement","src":"150987:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"151023:4:21","nodeType":"YulLiteral","src":"151023:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"151029:2:21","nodeType":"YulIdentifier","src":"151029:2:21"}],"functionName":{"name":"mstore","nativeSrc":"151016:6:21","nodeType":"YulIdentifier","src":"151016:6:21"},"nativeSrc":"151016:16:21","nodeType":"YulFunctionCall","src":"151016:16:21"},"nativeSrc":"151016:16:21","nodeType":"YulExpressionStatement","src":"151016:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"151052:4:21","nodeType":"YulLiteral","src":"151052:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"151058:2:21","nodeType":"YulIdentifier","src":"151058:2:21"}],"functionName":{"name":"mstore","nativeSrc":"151045:6:21","nodeType":"YulIdentifier","src":"151045:6:21"},"nativeSrc":"151045:16:21","nodeType":"YulFunctionCall","src":"151045:16:21"},"nativeSrc":"151045:16:21","nodeType":"YulExpressionStatement","src":"151045:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"151081:5:21","nodeType":"YulLiteral","src":"151081:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"151088:2:21","nodeType":"YulIdentifier","src":"151088:2:21"}],"functionName":{"name":"mstore","nativeSrc":"151074:6:21","nodeType":"YulIdentifier","src":"151074:6:21"},"nativeSrc":"151074:17:21","nodeType":"YulFunctionCall","src":"151074:17:21"},"nativeSrc":"151074:17:21","nodeType":"YulExpressionStatement","src":"151074:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31704,"isOffset":false,"isSlot":false,"src":"150855:2:21","valueSize":1},{"declaration":31707,"isOffset":false,"isSlot":false,"src":"150884:2:21","valueSize":1},{"declaration":31710,"isOffset":false,"isSlot":false,"src":"150913:2:21","valueSize":1},{"declaration":31713,"isOffset":false,"isSlot":false,"src":"150942:2:21","valueSize":1},{"declaration":31716,"isOffset":false,"isSlot":false,"src":"150971:2:21","valueSize":1},{"declaration":31719,"isOffset":false,"isSlot":false,"src":"151000:2:21","valueSize":1},{"declaration":31722,"isOffset":false,"isSlot":false,"src":"151029:2:21","valueSize":1},{"declaration":31725,"isOffset":false,"isSlot":false,"src":"151058:2:21","valueSize":1},{"declaration":31728,"isOffset":false,"isSlot":false,"src":"151088:2:21","valueSize":1}],"id":31736,"nodeType":"InlineAssembly","src":"150819:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"149494:3:21","parameters":{"id":31701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31694,"mutability":"mutable","name":"p0","nameLocation":"149506:2:21","nodeType":"VariableDeclaration","scope":31738,"src":"149498:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31693,"name":"address","nodeType":"ElementaryTypeName","src":"149498:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31696,"mutability":"mutable","name":"p1","nameLocation":"149518:2:21","nodeType":"VariableDeclaration","scope":31738,"src":"149510:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149510:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31698,"mutability":"mutable","name":"p2","nameLocation":"149530:2:21","nodeType":"VariableDeclaration","scope":31738,"src":"149522:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31697,"name":"address","nodeType":"ElementaryTypeName","src":"149522:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31700,"mutability":"mutable","name":"p3","nameLocation":"149542:2:21","nodeType":"VariableDeclaration","scope":31738,"src":"149534:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149534:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"149497:48:21"},"returnParameters":{"id":31702,"nodeType":"ParameterList","parameters":[],"src":"149560:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31778,"nodeType":"FunctionDefinition","src":"151113:1420:21","nodes":[],"body":{"id":31777,"nodeType":"Block","src":"151185:1348:21","nodes":[],"statements":[{"assignments":[31750],"declarations":[{"constant":false,"id":31750,"mutability":"mutable","name":"m0","nameLocation":"151203:2:21","nodeType":"VariableDeclaration","scope":31777,"src":"151195:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151195:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31751,"nodeType":"VariableDeclarationStatement","src":"151195:10:21"},{"assignments":[31753],"declarations":[{"constant":false,"id":31753,"mutability":"mutable","name":"m1","nameLocation":"151223:2:21","nodeType":"VariableDeclaration","scope":31777,"src":"151215:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151215:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31754,"nodeType":"VariableDeclarationStatement","src":"151215:10:21"},{"assignments":[31756],"declarations":[{"constant":false,"id":31756,"mutability":"mutable","name":"m2","nameLocation":"151243:2:21","nodeType":"VariableDeclaration","scope":31777,"src":"151235:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151235:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31757,"nodeType":"VariableDeclarationStatement","src":"151235:10:21"},{"assignments":[31759],"declarations":[{"constant":false,"id":31759,"mutability":"mutable","name":"m3","nameLocation":"151263:2:21","nodeType":"VariableDeclaration","scope":31777,"src":"151255:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151255:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31760,"nodeType":"VariableDeclarationStatement","src":"151255:10:21"},{"assignments":[31762],"declarations":[{"constant":false,"id":31762,"mutability":"mutable","name":"m4","nameLocation":"151283:2:21","nodeType":"VariableDeclaration","scope":31777,"src":"151275:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151275:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31763,"nodeType":"VariableDeclarationStatement","src":"151275:10:21"},{"assignments":[31765],"declarations":[{"constant":false,"id":31765,"mutability":"mutable","name":"m5","nameLocation":"151303:2:21","nodeType":"VariableDeclaration","scope":31777,"src":"151295:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151295:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31766,"nodeType":"VariableDeclarationStatement","src":"151295:10:21"},{"assignments":[31768],"declarations":[{"constant":false,"id":31768,"mutability":"mutable","name":"m6","nameLocation":"151323:2:21","nodeType":"VariableDeclaration","scope":31777,"src":"151315:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151315:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31769,"nodeType":"VariableDeclarationStatement","src":"151315:10:21"},{"AST":{"nativeSrc":"151387:828:21","nodeType":"YulBlock","src":"151387:828:21","statements":[{"body":{"nativeSrc":"151430:313:21","nodeType":"YulBlock","src":"151430:313:21","statements":[{"nativeSrc":"151448:15:21","nodeType":"YulVariableDeclaration","src":"151448:15:21","value":{"kind":"number","nativeSrc":"151462:1:21","nodeType":"YulLiteral","src":"151462:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"151452:6:21","nodeType":"YulTypedName","src":"151452:6:21","type":""}]},{"body":{"nativeSrc":"151533:40:21","nodeType":"YulBlock","src":"151533:40:21","statements":[{"body":{"nativeSrc":"151562:9:21","nodeType":"YulBlock","src":"151562:9:21","statements":[{"nativeSrc":"151564:5:21","nodeType":"YulBreak","src":"151564:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"151550:6:21","nodeType":"YulIdentifier","src":"151550:6:21"},{"name":"w","nativeSrc":"151558:1:21","nodeType":"YulIdentifier","src":"151558:1:21"}],"functionName":{"name":"byte","nativeSrc":"151545:4:21","nodeType":"YulIdentifier","src":"151545:4:21"},"nativeSrc":"151545:15:21","nodeType":"YulFunctionCall","src":"151545:15:21"}],"functionName":{"name":"iszero","nativeSrc":"151538:6:21","nodeType":"YulIdentifier","src":"151538:6:21"},"nativeSrc":"151538:23:21","nodeType":"YulFunctionCall","src":"151538:23:21"},"nativeSrc":"151535:36:21","nodeType":"YulIf","src":"151535:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"151490:6:21","nodeType":"YulIdentifier","src":"151490:6:21"},{"kind":"number","nativeSrc":"151498:4:21","nodeType":"YulLiteral","src":"151498:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"151487:2:21","nodeType":"YulIdentifier","src":"151487:2:21"},"nativeSrc":"151487:16:21","nodeType":"YulFunctionCall","src":"151487:16:21"},"nativeSrc":"151480:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"151504:28:21","nodeType":"YulBlock","src":"151504:28:21","statements":[{"nativeSrc":"151506:24:21","nodeType":"YulAssignment","src":"151506:24:21","value":{"arguments":[{"name":"length","nativeSrc":"151520:6:21","nodeType":"YulIdentifier","src":"151520:6:21"},{"kind":"number","nativeSrc":"151528:1:21","nodeType":"YulLiteral","src":"151528:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"151516:3:21","nodeType":"YulIdentifier","src":"151516:3:21"},"nativeSrc":"151516:14:21","nodeType":"YulFunctionCall","src":"151516:14:21"},"variableNames":[{"name":"length","nativeSrc":"151506:6:21","nodeType":"YulIdentifier","src":"151506:6:21"}]}]},"pre":{"nativeSrc":"151484:2:21","nodeType":"YulBlock","src":"151484:2:21","statements":[]},"src":"151480:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"151597:3:21","nodeType":"YulIdentifier","src":"151597:3:21"},{"name":"length","nativeSrc":"151602:6:21","nodeType":"YulIdentifier","src":"151602:6:21"}],"functionName":{"name":"mstore","nativeSrc":"151590:6:21","nodeType":"YulIdentifier","src":"151590:6:21"},"nativeSrc":"151590:19:21","nodeType":"YulFunctionCall","src":"151590:19:21"},"nativeSrc":"151590:19:21","nodeType":"YulExpressionStatement","src":"151590:19:21"},{"nativeSrc":"151626:37:21","nodeType":"YulVariableDeclaration","src":"151626:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"151643:3:21","nodeType":"YulLiteral","src":"151643:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"151652:1:21","nodeType":"YulLiteral","src":"151652:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"151655:6:21","nodeType":"YulIdentifier","src":"151655:6:21"}],"functionName":{"name":"shl","nativeSrc":"151648:3:21","nodeType":"YulIdentifier","src":"151648:3:21"},"nativeSrc":"151648:14:21","nodeType":"YulFunctionCall","src":"151648:14:21"}],"functionName":{"name":"sub","nativeSrc":"151639:3:21","nodeType":"YulIdentifier","src":"151639:3:21"},"nativeSrc":"151639:24:21","nodeType":"YulFunctionCall","src":"151639:24:21"},"variables":[{"name":"shift","nativeSrc":"151630:5:21","nodeType":"YulTypedName","src":"151630:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"151691:3:21","nodeType":"YulIdentifier","src":"151691:3:21"},{"kind":"number","nativeSrc":"151696:4:21","nodeType":"YulLiteral","src":"151696:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"151687:3:21","nodeType":"YulIdentifier","src":"151687:3:21"},"nativeSrc":"151687:14:21","nodeType":"YulFunctionCall","src":"151687:14:21"},{"arguments":[{"name":"shift","nativeSrc":"151707:5:21","nodeType":"YulIdentifier","src":"151707:5:21"},{"arguments":[{"name":"shift","nativeSrc":"151718:5:21","nodeType":"YulIdentifier","src":"151718:5:21"},{"name":"w","nativeSrc":"151725:1:21","nodeType":"YulIdentifier","src":"151725:1:21"}],"functionName":{"name":"shr","nativeSrc":"151714:3:21","nodeType":"YulIdentifier","src":"151714:3:21"},"nativeSrc":"151714:13:21","nodeType":"YulFunctionCall","src":"151714:13:21"}],"functionName":{"name":"shl","nativeSrc":"151703:3:21","nodeType":"YulIdentifier","src":"151703:3:21"},"nativeSrc":"151703:25:21","nodeType":"YulFunctionCall","src":"151703:25:21"}],"functionName":{"name":"mstore","nativeSrc":"151680:6:21","nodeType":"YulIdentifier","src":"151680:6:21"},"nativeSrc":"151680:49:21","nodeType":"YulFunctionCall","src":"151680:49:21"},"nativeSrc":"151680:49:21","nodeType":"YulExpressionStatement","src":"151680:49:21"}]},"name":"writeString","nativeSrc":"151401:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"151422:3:21","nodeType":"YulTypedName","src":"151422:3:21","type":""},{"name":"w","nativeSrc":"151427:1:21","nodeType":"YulTypedName","src":"151427:1:21","type":""}],"src":"151401:342:21"},{"nativeSrc":"151756:17:21","nodeType":"YulAssignment","src":"151756:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"151768:4:21","nodeType":"YulLiteral","src":"151768:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"151762:5:21","nodeType":"YulIdentifier","src":"151762:5:21"},"nativeSrc":"151762:11:21","nodeType":"YulFunctionCall","src":"151762:11:21"},"variableNames":[{"name":"m0","nativeSrc":"151756:2:21","nodeType":"YulIdentifier","src":"151756:2:21"}]},{"nativeSrc":"151786:17:21","nodeType":"YulAssignment","src":"151786:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"151798:4:21","nodeType":"YulLiteral","src":"151798:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"151792:5:21","nodeType":"YulIdentifier","src":"151792:5:21"},"nativeSrc":"151792:11:21","nodeType":"YulFunctionCall","src":"151792:11:21"},"variableNames":[{"name":"m1","nativeSrc":"151786:2:21","nodeType":"YulIdentifier","src":"151786:2:21"}]},{"nativeSrc":"151816:17:21","nodeType":"YulAssignment","src":"151816:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"151828:4:21","nodeType":"YulLiteral","src":"151828:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"151822:5:21","nodeType":"YulIdentifier","src":"151822:5:21"},"nativeSrc":"151822:11:21","nodeType":"YulFunctionCall","src":"151822:11:21"},"variableNames":[{"name":"m2","nativeSrc":"151816:2:21","nodeType":"YulIdentifier","src":"151816:2:21"}]},{"nativeSrc":"151846:17:21","nodeType":"YulAssignment","src":"151846:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"151858:4:21","nodeType":"YulLiteral","src":"151858:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"151852:5:21","nodeType":"YulIdentifier","src":"151852:5:21"},"nativeSrc":"151852:11:21","nodeType":"YulFunctionCall","src":"151852:11:21"},"variableNames":[{"name":"m3","nativeSrc":"151846:2:21","nodeType":"YulIdentifier","src":"151846:2:21"}]},{"nativeSrc":"151876:17:21","nodeType":"YulAssignment","src":"151876:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"151888:4:21","nodeType":"YulLiteral","src":"151888:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"151882:5:21","nodeType":"YulIdentifier","src":"151882:5:21"},"nativeSrc":"151882:11:21","nodeType":"YulFunctionCall","src":"151882:11:21"},"variableNames":[{"name":"m4","nativeSrc":"151876:2:21","nodeType":"YulIdentifier","src":"151876:2:21"}]},{"nativeSrc":"151906:17:21","nodeType":"YulAssignment","src":"151906:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"151918:4:21","nodeType":"YulLiteral","src":"151918:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"151912:5:21","nodeType":"YulIdentifier","src":"151912:5:21"},"nativeSrc":"151912:11:21","nodeType":"YulFunctionCall","src":"151912:11:21"},"variableNames":[{"name":"m5","nativeSrc":"151906:2:21","nodeType":"YulIdentifier","src":"151906:2:21"}]},{"nativeSrc":"151936:17:21","nodeType":"YulAssignment","src":"151936:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"151948:4:21","nodeType":"YulLiteral","src":"151948:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"151942:5:21","nodeType":"YulIdentifier","src":"151942:5:21"},"nativeSrc":"151942:11:21","nodeType":"YulFunctionCall","src":"151942:11:21"},"variableNames":[{"name":"m6","nativeSrc":"151936:2:21","nodeType":"YulIdentifier","src":"151936:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152036:4:21","nodeType":"YulLiteral","src":"152036:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"152042:10:21","nodeType":"YulLiteral","src":"152042:10:21","type":"","value":"0x205871c2"}],"functionName":{"name":"mstore","nativeSrc":"152029:6:21","nodeType":"YulIdentifier","src":"152029:6:21"},"nativeSrc":"152029:24:21","nodeType":"YulFunctionCall","src":"152029:24:21"},"nativeSrc":"152029:24:21","nodeType":"YulExpressionStatement","src":"152029:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152073:4:21","nodeType":"YulLiteral","src":"152073:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"152079:2:21","nodeType":"YulIdentifier","src":"152079:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152066:6:21","nodeType":"YulIdentifier","src":"152066:6:21"},"nativeSrc":"152066:16:21","nodeType":"YulFunctionCall","src":"152066:16:21"},"nativeSrc":"152066:16:21","nodeType":"YulExpressionStatement","src":"152066:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152102:4:21","nodeType":"YulLiteral","src":"152102:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"152108:4:21","nodeType":"YulLiteral","src":"152108:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"152095:6:21","nodeType":"YulIdentifier","src":"152095:6:21"},"nativeSrc":"152095:18:21","nodeType":"YulFunctionCall","src":"152095:18:21"},"nativeSrc":"152095:18:21","nodeType":"YulExpressionStatement","src":"152095:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152133:4:21","nodeType":"YulLiteral","src":"152133:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"152139:2:21","nodeType":"YulIdentifier","src":"152139:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152126:6:21","nodeType":"YulIdentifier","src":"152126:6:21"},"nativeSrc":"152126:16:21","nodeType":"YulFunctionCall","src":"152126:16:21"},"nativeSrc":"152126:16:21","nodeType":"YulExpressionStatement","src":"152126:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152162:4:21","nodeType":"YulLiteral","src":"152162:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"152168:2:21","nodeType":"YulIdentifier","src":"152168:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152155:6:21","nodeType":"YulIdentifier","src":"152155:6:21"},"nativeSrc":"152155:16:21","nodeType":"YulFunctionCall","src":"152155:16:21"},"nativeSrc":"152155:16:21","nodeType":"YulExpressionStatement","src":"152155:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152196:4:21","nodeType":"YulLiteral","src":"152196:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"152202:2:21","nodeType":"YulIdentifier","src":"152202:2:21"}],"functionName":{"name":"writeString","nativeSrc":"152184:11:21","nodeType":"YulIdentifier","src":"152184:11:21"},"nativeSrc":"152184:21:21","nodeType":"YulFunctionCall","src":"152184:21:21"},"nativeSrc":"152184:21:21","nodeType":"YulExpressionStatement","src":"152184:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31750,"isOffset":false,"isSlot":false,"src":"151756:2:21","valueSize":1},{"declaration":31753,"isOffset":false,"isSlot":false,"src":"151786:2:21","valueSize":1},{"declaration":31756,"isOffset":false,"isSlot":false,"src":"151816:2:21","valueSize":1},{"declaration":31759,"isOffset":false,"isSlot":false,"src":"151846:2:21","valueSize":1},{"declaration":31762,"isOffset":false,"isSlot":false,"src":"151876:2:21","valueSize":1},{"declaration":31765,"isOffset":false,"isSlot":false,"src":"151906:2:21","valueSize":1},{"declaration":31768,"isOffset":false,"isSlot":false,"src":"151936:2:21","valueSize":1},{"declaration":31740,"isOffset":false,"isSlot":false,"src":"152079:2:21","valueSize":1},{"declaration":31742,"isOffset":false,"isSlot":false,"src":"152202:2:21","valueSize":1},{"declaration":31744,"isOffset":false,"isSlot":false,"src":"152139:2:21","valueSize":1},{"declaration":31746,"isOffset":false,"isSlot":false,"src":"152168:2:21","valueSize":1}],"id":31770,"nodeType":"InlineAssembly","src":"151378:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"152240:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"152246:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31771,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"152224:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"152224:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31775,"nodeType":"ExpressionStatement","src":"152224:27:21"},{"AST":{"nativeSrc":"152313:214:21","nodeType":"YulBlock","src":"152313:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"152334:4:21","nodeType":"YulLiteral","src":"152334:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"152340:2:21","nodeType":"YulIdentifier","src":"152340:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152327:6:21","nodeType":"YulIdentifier","src":"152327:6:21"},"nativeSrc":"152327:16:21","nodeType":"YulFunctionCall","src":"152327:16:21"},"nativeSrc":"152327:16:21","nodeType":"YulExpressionStatement","src":"152327:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152363:4:21","nodeType":"YulLiteral","src":"152363:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"152369:2:21","nodeType":"YulIdentifier","src":"152369:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152356:6:21","nodeType":"YulIdentifier","src":"152356:6:21"},"nativeSrc":"152356:16:21","nodeType":"YulFunctionCall","src":"152356:16:21"},"nativeSrc":"152356:16:21","nodeType":"YulExpressionStatement","src":"152356:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152392:4:21","nodeType":"YulLiteral","src":"152392:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"152398:2:21","nodeType":"YulIdentifier","src":"152398:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152385:6:21","nodeType":"YulIdentifier","src":"152385:6:21"},"nativeSrc":"152385:16:21","nodeType":"YulFunctionCall","src":"152385:16:21"},"nativeSrc":"152385:16:21","nodeType":"YulExpressionStatement","src":"152385:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152421:4:21","nodeType":"YulLiteral","src":"152421:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"152427:2:21","nodeType":"YulIdentifier","src":"152427:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152414:6:21","nodeType":"YulIdentifier","src":"152414:6:21"},"nativeSrc":"152414:16:21","nodeType":"YulFunctionCall","src":"152414:16:21"},"nativeSrc":"152414:16:21","nodeType":"YulExpressionStatement","src":"152414:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152450:4:21","nodeType":"YulLiteral","src":"152450:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"152456:2:21","nodeType":"YulIdentifier","src":"152456:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152443:6:21","nodeType":"YulIdentifier","src":"152443:6:21"},"nativeSrc":"152443:16:21","nodeType":"YulFunctionCall","src":"152443:16:21"},"nativeSrc":"152443:16:21","nodeType":"YulExpressionStatement","src":"152443:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152479:4:21","nodeType":"YulLiteral","src":"152479:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"152485:2:21","nodeType":"YulIdentifier","src":"152485:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152472:6:21","nodeType":"YulIdentifier","src":"152472:6:21"},"nativeSrc":"152472:16:21","nodeType":"YulFunctionCall","src":"152472:16:21"},"nativeSrc":"152472:16:21","nodeType":"YulExpressionStatement","src":"152472:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152508:4:21","nodeType":"YulLiteral","src":"152508:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"152514:2:21","nodeType":"YulIdentifier","src":"152514:2:21"}],"functionName":{"name":"mstore","nativeSrc":"152501:6:21","nodeType":"YulIdentifier","src":"152501:6:21"},"nativeSrc":"152501:16:21","nodeType":"YulFunctionCall","src":"152501:16:21"},"nativeSrc":"152501:16:21","nodeType":"YulExpressionStatement","src":"152501:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31750,"isOffset":false,"isSlot":false,"src":"152340:2:21","valueSize":1},{"declaration":31753,"isOffset":false,"isSlot":false,"src":"152369:2:21","valueSize":1},{"declaration":31756,"isOffset":false,"isSlot":false,"src":"152398:2:21","valueSize":1},{"declaration":31759,"isOffset":false,"isSlot":false,"src":"152427:2:21","valueSize":1},{"declaration":31762,"isOffset":false,"isSlot":false,"src":"152456:2:21","valueSize":1},{"declaration":31765,"isOffset":false,"isSlot":false,"src":"152485:2:21","valueSize":1},{"declaration":31768,"isOffset":false,"isSlot":false,"src":"152514:2:21","valueSize":1}],"id":31776,"nodeType":"InlineAssembly","src":"152304:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"151122:3:21","parameters":{"id":31747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31740,"mutability":"mutable","name":"p0","nameLocation":"151134:2:21","nodeType":"VariableDeclaration","scope":31778,"src":"151126:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31739,"name":"address","nodeType":"ElementaryTypeName","src":"151126:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31742,"mutability":"mutable","name":"p1","nameLocation":"151146:2:21","nodeType":"VariableDeclaration","scope":31778,"src":"151138:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151138:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31744,"mutability":"mutable","name":"p2","nameLocation":"151155:2:21","nodeType":"VariableDeclaration","scope":31778,"src":"151150:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31743,"name":"bool","nodeType":"ElementaryTypeName","src":"151150:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31746,"mutability":"mutable","name":"p3","nameLocation":"151167:2:21","nodeType":"VariableDeclaration","scope":31778,"src":"151159:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31745,"name":"address","nodeType":"ElementaryTypeName","src":"151159:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"151125:45:21"},"returnParameters":{"id":31748,"nodeType":"ParameterList","parameters":[],"src":"151185:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31818,"nodeType":"FunctionDefinition","src":"152539:1414:21","nodes":[],"body":{"id":31817,"nodeType":"Block","src":"152608:1345:21","nodes":[],"statements":[{"assignments":[31790],"declarations":[{"constant":false,"id":31790,"mutability":"mutable","name":"m0","nameLocation":"152626:2:21","nodeType":"VariableDeclaration","scope":31817,"src":"152618:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152618:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31791,"nodeType":"VariableDeclarationStatement","src":"152618:10:21"},{"assignments":[31793],"declarations":[{"constant":false,"id":31793,"mutability":"mutable","name":"m1","nameLocation":"152646:2:21","nodeType":"VariableDeclaration","scope":31817,"src":"152638:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152638:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31794,"nodeType":"VariableDeclarationStatement","src":"152638:10:21"},{"assignments":[31796],"declarations":[{"constant":false,"id":31796,"mutability":"mutable","name":"m2","nameLocation":"152666:2:21","nodeType":"VariableDeclaration","scope":31817,"src":"152658:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152658:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31797,"nodeType":"VariableDeclarationStatement","src":"152658:10:21"},{"assignments":[31799],"declarations":[{"constant":false,"id":31799,"mutability":"mutable","name":"m3","nameLocation":"152686:2:21","nodeType":"VariableDeclaration","scope":31817,"src":"152678:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152678:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31800,"nodeType":"VariableDeclarationStatement","src":"152678:10:21"},{"assignments":[31802],"declarations":[{"constant":false,"id":31802,"mutability":"mutable","name":"m4","nameLocation":"152706:2:21","nodeType":"VariableDeclaration","scope":31817,"src":"152698:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31801,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152698:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31803,"nodeType":"VariableDeclarationStatement","src":"152698:10:21"},{"assignments":[31805],"declarations":[{"constant":false,"id":31805,"mutability":"mutable","name":"m5","nameLocation":"152726:2:21","nodeType":"VariableDeclaration","scope":31817,"src":"152718:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31804,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152718:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31806,"nodeType":"VariableDeclarationStatement","src":"152718:10:21"},{"assignments":[31808],"declarations":[{"constant":false,"id":31808,"mutability":"mutable","name":"m6","nameLocation":"152746:2:21","nodeType":"VariableDeclaration","scope":31817,"src":"152738:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152738:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31809,"nodeType":"VariableDeclarationStatement","src":"152738:10:21"},{"AST":{"nativeSrc":"152810:825:21","nodeType":"YulBlock","src":"152810:825:21","statements":[{"body":{"nativeSrc":"152853:313:21","nodeType":"YulBlock","src":"152853:313:21","statements":[{"nativeSrc":"152871:15:21","nodeType":"YulVariableDeclaration","src":"152871:15:21","value":{"kind":"number","nativeSrc":"152885:1:21","nodeType":"YulLiteral","src":"152885:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"152875:6:21","nodeType":"YulTypedName","src":"152875:6:21","type":""}]},{"body":{"nativeSrc":"152956:40:21","nodeType":"YulBlock","src":"152956:40:21","statements":[{"body":{"nativeSrc":"152985:9:21","nodeType":"YulBlock","src":"152985:9:21","statements":[{"nativeSrc":"152987:5:21","nodeType":"YulBreak","src":"152987:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"152973:6:21","nodeType":"YulIdentifier","src":"152973:6:21"},{"name":"w","nativeSrc":"152981:1:21","nodeType":"YulIdentifier","src":"152981:1:21"}],"functionName":{"name":"byte","nativeSrc":"152968:4:21","nodeType":"YulIdentifier","src":"152968:4:21"},"nativeSrc":"152968:15:21","nodeType":"YulFunctionCall","src":"152968:15:21"}],"functionName":{"name":"iszero","nativeSrc":"152961:6:21","nodeType":"YulIdentifier","src":"152961:6:21"},"nativeSrc":"152961:23:21","nodeType":"YulFunctionCall","src":"152961:23:21"},"nativeSrc":"152958:36:21","nodeType":"YulIf","src":"152958:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"152913:6:21","nodeType":"YulIdentifier","src":"152913:6:21"},{"kind":"number","nativeSrc":"152921:4:21","nodeType":"YulLiteral","src":"152921:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"152910:2:21","nodeType":"YulIdentifier","src":"152910:2:21"},"nativeSrc":"152910:16:21","nodeType":"YulFunctionCall","src":"152910:16:21"},"nativeSrc":"152903:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"152927:28:21","nodeType":"YulBlock","src":"152927:28:21","statements":[{"nativeSrc":"152929:24:21","nodeType":"YulAssignment","src":"152929:24:21","value":{"arguments":[{"name":"length","nativeSrc":"152943:6:21","nodeType":"YulIdentifier","src":"152943:6:21"},{"kind":"number","nativeSrc":"152951:1:21","nodeType":"YulLiteral","src":"152951:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"152939:3:21","nodeType":"YulIdentifier","src":"152939:3:21"},"nativeSrc":"152939:14:21","nodeType":"YulFunctionCall","src":"152939:14:21"},"variableNames":[{"name":"length","nativeSrc":"152929:6:21","nodeType":"YulIdentifier","src":"152929:6:21"}]}]},"pre":{"nativeSrc":"152907:2:21","nodeType":"YulBlock","src":"152907:2:21","statements":[]},"src":"152903:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"153020:3:21","nodeType":"YulIdentifier","src":"153020:3:21"},{"name":"length","nativeSrc":"153025:6:21","nodeType":"YulIdentifier","src":"153025:6:21"}],"functionName":{"name":"mstore","nativeSrc":"153013:6:21","nodeType":"YulIdentifier","src":"153013:6:21"},"nativeSrc":"153013:19:21","nodeType":"YulFunctionCall","src":"153013:19:21"},"nativeSrc":"153013:19:21","nodeType":"YulExpressionStatement","src":"153013:19:21"},{"nativeSrc":"153049:37:21","nodeType":"YulVariableDeclaration","src":"153049:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"153066:3:21","nodeType":"YulLiteral","src":"153066:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"153075:1:21","nodeType":"YulLiteral","src":"153075:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"153078:6:21","nodeType":"YulIdentifier","src":"153078:6:21"}],"functionName":{"name":"shl","nativeSrc":"153071:3:21","nodeType":"YulIdentifier","src":"153071:3:21"},"nativeSrc":"153071:14:21","nodeType":"YulFunctionCall","src":"153071:14:21"}],"functionName":{"name":"sub","nativeSrc":"153062:3:21","nodeType":"YulIdentifier","src":"153062:3:21"},"nativeSrc":"153062:24:21","nodeType":"YulFunctionCall","src":"153062:24:21"},"variables":[{"name":"shift","nativeSrc":"153053:5:21","nodeType":"YulTypedName","src":"153053:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"153114:3:21","nodeType":"YulIdentifier","src":"153114:3:21"},{"kind":"number","nativeSrc":"153119:4:21","nodeType":"YulLiteral","src":"153119:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"153110:3:21","nodeType":"YulIdentifier","src":"153110:3:21"},"nativeSrc":"153110:14:21","nodeType":"YulFunctionCall","src":"153110:14:21"},{"arguments":[{"name":"shift","nativeSrc":"153130:5:21","nodeType":"YulIdentifier","src":"153130:5:21"},{"arguments":[{"name":"shift","nativeSrc":"153141:5:21","nodeType":"YulIdentifier","src":"153141:5:21"},{"name":"w","nativeSrc":"153148:1:21","nodeType":"YulIdentifier","src":"153148:1:21"}],"functionName":{"name":"shr","nativeSrc":"153137:3:21","nodeType":"YulIdentifier","src":"153137:3:21"},"nativeSrc":"153137:13:21","nodeType":"YulFunctionCall","src":"153137:13:21"}],"functionName":{"name":"shl","nativeSrc":"153126:3:21","nodeType":"YulIdentifier","src":"153126:3:21"},"nativeSrc":"153126:25:21","nodeType":"YulFunctionCall","src":"153126:25:21"}],"functionName":{"name":"mstore","nativeSrc":"153103:6:21","nodeType":"YulIdentifier","src":"153103:6:21"},"nativeSrc":"153103:49:21","nodeType":"YulFunctionCall","src":"153103:49:21"},"nativeSrc":"153103:49:21","nodeType":"YulExpressionStatement","src":"153103:49:21"}]},"name":"writeString","nativeSrc":"152824:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"152845:3:21","nodeType":"YulTypedName","src":"152845:3:21","type":""},{"name":"w","nativeSrc":"152850:1:21","nodeType":"YulTypedName","src":"152850:1:21","type":""}],"src":"152824:342:21"},{"nativeSrc":"153179:17:21","nodeType":"YulAssignment","src":"153179:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"153191:4:21","nodeType":"YulLiteral","src":"153191:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"153185:5:21","nodeType":"YulIdentifier","src":"153185:5:21"},"nativeSrc":"153185:11:21","nodeType":"YulFunctionCall","src":"153185:11:21"},"variableNames":[{"name":"m0","nativeSrc":"153179:2:21","nodeType":"YulIdentifier","src":"153179:2:21"}]},{"nativeSrc":"153209:17:21","nodeType":"YulAssignment","src":"153209:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"153221:4:21","nodeType":"YulLiteral","src":"153221:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"153215:5:21","nodeType":"YulIdentifier","src":"153215:5:21"},"nativeSrc":"153215:11:21","nodeType":"YulFunctionCall","src":"153215:11:21"},"variableNames":[{"name":"m1","nativeSrc":"153209:2:21","nodeType":"YulIdentifier","src":"153209:2:21"}]},{"nativeSrc":"153239:17:21","nodeType":"YulAssignment","src":"153239:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"153251:4:21","nodeType":"YulLiteral","src":"153251:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"153245:5:21","nodeType":"YulIdentifier","src":"153245:5:21"},"nativeSrc":"153245:11:21","nodeType":"YulFunctionCall","src":"153245:11:21"},"variableNames":[{"name":"m2","nativeSrc":"153239:2:21","nodeType":"YulIdentifier","src":"153239:2:21"}]},{"nativeSrc":"153269:17:21","nodeType":"YulAssignment","src":"153269:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"153281:4:21","nodeType":"YulLiteral","src":"153281:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"153275:5:21","nodeType":"YulIdentifier","src":"153275:5:21"},"nativeSrc":"153275:11:21","nodeType":"YulFunctionCall","src":"153275:11:21"},"variableNames":[{"name":"m3","nativeSrc":"153269:2:21","nodeType":"YulIdentifier","src":"153269:2:21"}]},{"nativeSrc":"153299:17:21","nodeType":"YulAssignment","src":"153299:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"153311:4:21","nodeType":"YulLiteral","src":"153311:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"153305:5:21","nodeType":"YulIdentifier","src":"153305:5:21"},"nativeSrc":"153305:11:21","nodeType":"YulFunctionCall","src":"153305:11:21"},"variableNames":[{"name":"m4","nativeSrc":"153299:2:21","nodeType":"YulIdentifier","src":"153299:2:21"}]},{"nativeSrc":"153329:17:21","nodeType":"YulAssignment","src":"153329:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"153341:4:21","nodeType":"YulLiteral","src":"153341:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"153335:5:21","nodeType":"YulIdentifier","src":"153335:5:21"},"nativeSrc":"153335:11:21","nodeType":"YulFunctionCall","src":"153335:11:21"},"variableNames":[{"name":"m5","nativeSrc":"153329:2:21","nodeType":"YulIdentifier","src":"153329:2:21"}]},{"nativeSrc":"153359:17:21","nodeType":"YulAssignment","src":"153359:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"153371:4:21","nodeType":"YulLiteral","src":"153371:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"153365:5:21","nodeType":"YulIdentifier","src":"153365:5:21"},"nativeSrc":"153365:11:21","nodeType":"YulFunctionCall","src":"153365:11:21"},"variableNames":[{"name":"m6","nativeSrc":"153359:2:21","nodeType":"YulIdentifier","src":"153359:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153456:4:21","nodeType":"YulLiteral","src":"153456:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"153462:10:21","nodeType":"YulLiteral","src":"153462:10:21","type":"","value":"0x5f1d5c9f"}],"functionName":{"name":"mstore","nativeSrc":"153449:6:21","nodeType":"YulIdentifier","src":"153449:6:21"},"nativeSrc":"153449:24:21","nodeType":"YulFunctionCall","src":"153449:24:21"},"nativeSrc":"153449:24:21","nodeType":"YulExpressionStatement","src":"153449:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153493:4:21","nodeType":"YulLiteral","src":"153493:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"153499:2:21","nodeType":"YulIdentifier","src":"153499:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153486:6:21","nodeType":"YulIdentifier","src":"153486:6:21"},"nativeSrc":"153486:16:21","nodeType":"YulFunctionCall","src":"153486:16:21"},"nativeSrc":"153486:16:21","nodeType":"YulExpressionStatement","src":"153486:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153522:4:21","nodeType":"YulLiteral","src":"153522:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"153528:4:21","nodeType":"YulLiteral","src":"153528:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"153515:6:21","nodeType":"YulIdentifier","src":"153515:6:21"},"nativeSrc":"153515:18:21","nodeType":"YulFunctionCall","src":"153515:18:21"},"nativeSrc":"153515:18:21","nodeType":"YulExpressionStatement","src":"153515:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153553:4:21","nodeType":"YulLiteral","src":"153553:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"153559:2:21","nodeType":"YulIdentifier","src":"153559:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153546:6:21","nodeType":"YulIdentifier","src":"153546:6:21"},"nativeSrc":"153546:16:21","nodeType":"YulFunctionCall","src":"153546:16:21"},"nativeSrc":"153546:16:21","nodeType":"YulExpressionStatement","src":"153546:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153582:4:21","nodeType":"YulLiteral","src":"153582:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"153588:2:21","nodeType":"YulIdentifier","src":"153588:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153575:6:21","nodeType":"YulIdentifier","src":"153575:6:21"},"nativeSrc":"153575:16:21","nodeType":"YulFunctionCall","src":"153575:16:21"},"nativeSrc":"153575:16:21","nodeType":"YulExpressionStatement","src":"153575:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153616:4:21","nodeType":"YulLiteral","src":"153616:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"153622:2:21","nodeType":"YulIdentifier","src":"153622:2:21"}],"functionName":{"name":"writeString","nativeSrc":"153604:11:21","nodeType":"YulIdentifier","src":"153604:11:21"},"nativeSrc":"153604:21:21","nodeType":"YulFunctionCall","src":"153604:21:21"},"nativeSrc":"153604:21:21","nodeType":"YulExpressionStatement","src":"153604:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31790,"isOffset":false,"isSlot":false,"src":"153179:2:21","valueSize":1},{"declaration":31793,"isOffset":false,"isSlot":false,"src":"153209:2:21","valueSize":1},{"declaration":31796,"isOffset":false,"isSlot":false,"src":"153239:2:21","valueSize":1},{"declaration":31799,"isOffset":false,"isSlot":false,"src":"153269:2:21","valueSize":1},{"declaration":31802,"isOffset":false,"isSlot":false,"src":"153299:2:21","valueSize":1},{"declaration":31805,"isOffset":false,"isSlot":false,"src":"153329:2:21","valueSize":1},{"declaration":31808,"isOffset":false,"isSlot":false,"src":"153359:2:21","valueSize":1},{"declaration":31780,"isOffset":false,"isSlot":false,"src":"153499:2:21","valueSize":1},{"declaration":31782,"isOffset":false,"isSlot":false,"src":"153622:2:21","valueSize":1},{"declaration":31784,"isOffset":false,"isSlot":false,"src":"153559:2:21","valueSize":1},{"declaration":31786,"isOffset":false,"isSlot":false,"src":"153588:2:21","valueSize":1}],"id":31810,"nodeType":"InlineAssembly","src":"152801:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"153660:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"153666:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31811,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"153644:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"153644:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31815,"nodeType":"ExpressionStatement","src":"153644:27:21"},{"AST":{"nativeSrc":"153733:214:21","nodeType":"YulBlock","src":"153733:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"153754:4:21","nodeType":"YulLiteral","src":"153754:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"153760:2:21","nodeType":"YulIdentifier","src":"153760:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153747:6:21","nodeType":"YulIdentifier","src":"153747:6:21"},"nativeSrc":"153747:16:21","nodeType":"YulFunctionCall","src":"153747:16:21"},"nativeSrc":"153747:16:21","nodeType":"YulExpressionStatement","src":"153747:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153783:4:21","nodeType":"YulLiteral","src":"153783:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"153789:2:21","nodeType":"YulIdentifier","src":"153789:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153776:6:21","nodeType":"YulIdentifier","src":"153776:6:21"},"nativeSrc":"153776:16:21","nodeType":"YulFunctionCall","src":"153776:16:21"},"nativeSrc":"153776:16:21","nodeType":"YulExpressionStatement","src":"153776:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153812:4:21","nodeType":"YulLiteral","src":"153812:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"153818:2:21","nodeType":"YulIdentifier","src":"153818:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153805:6:21","nodeType":"YulIdentifier","src":"153805:6:21"},"nativeSrc":"153805:16:21","nodeType":"YulFunctionCall","src":"153805:16:21"},"nativeSrc":"153805:16:21","nodeType":"YulExpressionStatement","src":"153805:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153841:4:21","nodeType":"YulLiteral","src":"153841:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"153847:2:21","nodeType":"YulIdentifier","src":"153847:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153834:6:21","nodeType":"YulIdentifier","src":"153834:6:21"},"nativeSrc":"153834:16:21","nodeType":"YulFunctionCall","src":"153834:16:21"},"nativeSrc":"153834:16:21","nodeType":"YulExpressionStatement","src":"153834:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153870:4:21","nodeType":"YulLiteral","src":"153870:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"153876:2:21","nodeType":"YulIdentifier","src":"153876:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153863:6:21","nodeType":"YulIdentifier","src":"153863:6:21"},"nativeSrc":"153863:16:21","nodeType":"YulFunctionCall","src":"153863:16:21"},"nativeSrc":"153863:16:21","nodeType":"YulExpressionStatement","src":"153863:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153899:4:21","nodeType":"YulLiteral","src":"153899:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"153905:2:21","nodeType":"YulIdentifier","src":"153905:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153892:6:21","nodeType":"YulIdentifier","src":"153892:6:21"},"nativeSrc":"153892:16:21","nodeType":"YulFunctionCall","src":"153892:16:21"},"nativeSrc":"153892:16:21","nodeType":"YulExpressionStatement","src":"153892:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153928:4:21","nodeType":"YulLiteral","src":"153928:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"153934:2:21","nodeType":"YulIdentifier","src":"153934:2:21"}],"functionName":{"name":"mstore","nativeSrc":"153921:6:21","nodeType":"YulIdentifier","src":"153921:6:21"},"nativeSrc":"153921:16:21","nodeType":"YulFunctionCall","src":"153921:16:21"},"nativeSrc":"153921:16:21","nodeType":"YulExpressionStatement","src":"153921:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31790,"isOffset":false,"isSlot":false,"src":"153760:2:21","valueSize":1},{"declaration":31793,"isOffset":false,"isSlot":false,"src":"153789:2:21","valueSize":1},{"declaration":31796,"isOffset":false,"isSlot":false,"src":"153818:2:21","valueSize":1},{"declaration":31799,"isOffset":false,"isSlot":false,"src":"153847:2:21","valueSize":1},{"declaration":31802,"isOffset":false,"isSlot":false,"src":"153876:2:21","valueSize":1},{"declaration":31805,"isOffset":false,"isSlot":false,"src":"153905:2:21","valueSize":1},{"declaration":31808,"isOffset":false,"isSlot":false,"src":"153934:2:21","valueSize":1}],"id":31816,"nodeType":"InlineAssembly","src":"153724:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"152548:3:21","parameters":{"id":31787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31780,"mutability":"mutable","name":"p0","nameLocation":"152560:2:21","nodeType":"VariableDeclaration","scope":31818,"src":"152552:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31779,"name":"address","nodeType":"ElementaryTypeName","src":"152552:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31782,"mutability":"mutable","name":"p1","nameLocation":"152572:2:21","nodeType":"VariableDeclaration","scope":31818,"src":"152564:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152564:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31784,"mutability":"mutable","name":"p2","nameLocation":"152581:2:21","nodeType":"VariableDeclaration","scope":31818,"src":"152576:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31783,"name":"bool","nodeType":"ElementaryTypeName","src":"152576:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31786,"mutability":"mutable","name":"p3","nameLocation":"152590:2:21","nodeType":"VariableDeclaration","scope":31818,"src":"152585:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31785,"name":"bool","nodeType":"ElementaryTypeName","src":"152585:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"152551:42:21"},"returnParameters":{"id":31788,"nodeType":"ParameterList","parameters":[],"src":"152608:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31858,"nodeType":"FunctionDefinition","src":"153959:1420:21","nodes":[],"body":{"id":31857,"nodeType":"Block","src":"154031:1348:21","nodes":[],"statements":[{"assignments":[31830],"declarations":[{"constant":false,"id":31830,"mutability":"mutable","name":"m0","nameLocation":"154049:2:21","nodeType":"VariableDeclaration","scope":31857,"src":"154041:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154041:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31831,"nodeType":"VariableDeclarationStatement","src":"154041:10:21"},{"assignments":[31833],"declarations":[{"constant":false,"id":31833,"mutability":"mutable","name":"m1","nameLocation":"154069:2:21","nodeType":"VariableDeclaration","scope":31857,"src":"154061:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154061:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31834,"nodeType":"VariableDeclarationStatement","src":"154061:10:21"},{"assignments":[31836],"declarations":[{"constant":false,"id":31836,"mutability":"mutable","name":"m2","nameLocation":"154089:2:21","nodeType":"VariableDeclaration","scope":31857,"src":"154081:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154081:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31837,"nodeType":"VariableDeclarationStatement","src":"154081:10:21"},{"assignments":[31839],"declarations":[{"constant":false,"id":31839,"mutability":"mutable","name":"m3","nameLocation":"154109:2:21","nodeType":"VariableDeclaration","scope":31857,"src":"154101:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154101:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31840,"nodeType":"VariableDeclarationStatement","src":"154101:10:21"},{"assignments":[31842],"declarations":[{"constant":false,"id":31842,"mutability":"mutable","name":"m4","nameLocation":"154129:2:21","nodeType":"VariableDeclaration","scope":31857,"src":"154121:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154121:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31843,"nodeType":"VariableDeclarationStatement","src":"154121:10:21"},{"assignments":[31845],"declarations":[{"constant":false,"id":31845,"mutability":"mutable","name":"m5","nameLocation":"154149:2:21","nodeType":"VariableDeclaration","scope":31857,"src":"154141:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154141:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31846,"nodeType":"VariableDeclarationStatement","src":"154141:10:21"},{"assignments":[31848],"declarations":[{"constant":false,"id":31848,"mutability":"mutable","name":"m6","nameLocation":"154169:2:21","nodeType":"VariableDeclaration","scope":31857,"src":"154161:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154161:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31849,"nodeType":"VariableDeclarationStatement","src":"154161:10:21"},{"AST":{"nativeSrc":"154233:828:21","nodeType":"YulBlock","src":"154233:828:21","statements":[{"body":{"nativeSrc":"154276:313:21","nodeType":"YulBlock","src":"154276:313:21","statements":[{"nativeSrc":"154294:15:21","nodeType":"YulVariableDeclaration","src":"154294:15:21","value":{"kind":"number","nativeSrc":"154308:1:21","nodeType":"YulLiteral","src":"154308:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"154298:6:21","nodeType":"YulTypedName","src":"154298:6:21","type":""}]},{"body":{"nativeSrc":"154379:40:21","nodeType":"YulBlock","src":"154379:40:21","statements":[{"body":{"nativeSrc":"154408:9:21","nodeType":"YulBlock","src":"154408:9:21","statements":[{"nativeSrc":"154410:5:21","nodeType":"YulBreak","src":"154410:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"154396:6:21","nodeType":"YulIdentifier","src":"154396:6:21"},{"name":"w","nativeSrc":"154404:1:21","nodeType":"YulIdentifier","src":"154404:1:21"}],"functionName":{"name":"byte","nativeSrc":"154391:4:21","nodeType":"YulIdentifier","src":"154391:4:21"},"nativeSrc":"154391:15:21","nodeType":"YulFunctionCall","src":"154391:15:21"}],"functionName":{"name":"iszero","nativeSrc":"154384:6:21","nodeType":"YulIdentifier","src":"154384:6:21"},"nativeSrc":"154384:23:21","nodeType":"YulFunctionCall","src":"154384:23:21"},"nativeSrc":"154381:36:21","nodeType":"YulIf","src":"154381:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"154336:6:21","nodeType":"YulIdentifier","src":"154336:6:21"},{"kind":"number","nativeSrc":"154344:4:21","nodeType":"YulLiteral","src":"154344:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"154333:2:21","nodeType":"YulIdentifier","src":"154333:2:21"},"nativeSrc":"154333:16:21","nodeType":"YulFunctionCall","src":"154333:16:21"},"nativeSrc":"154326:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"154350:28:21","nodeType":"YulBlock","src":"154350:28:21","statements":[{"nativeSrc":"154352:24:21","nodeType":"YulAssignment","src":"154352:24:21","value":{"arguments":[{"name":"length","nativeSrc":"154366:6:21","nodeType":"YulIdentifier","src":"154366:6:21"},{"kind":"number","nativeSrc":"154374:1:21","nodeType":"YulLiteral","src":"154374:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"154362:3:21","nodeType":"YulIdentifier","src":"154362:3:21"},"nativeSrc":"154362:14:21","nodeType":"YulFunctionCall","src":"154362:14:21"},"variableNames":[{"name":"length","nativeSrc":"154352:6:21","nodeType":"YulIdentifier","src":"154352:6:21"}]}]},"pre":{"nativeSrc":"154330:2:21","nodeType":"YulBlock","src":"154330:2:21","statements":[]},"src":"154326:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"154443:3:21","nodeType":"YulIdentifier","src":"154443:3:21"},{"name":"length","nativeSrc":"154448:6:21","nodeType":"YulIdentifier","src":"154448:6:21"}],"functionName":{"name":"mstore","nativeSrc":"154436:6:21","nodeType":"YulIdentifier","src":"154436:6:21"},"nativeSrc":"154436:19:21","nodeType":"YulFunctionCall","src":"154436:19:21"},"nativeSrc":"154436:19:21","nodeType":"YulExpressionStatement","src":"154436:19:21"},{"nativeSrc":"154472:37:21","nodeType":"YulVariableDeclaration","src":"154472:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"154489:3:21","nodeType":"YulLiteral","src":"154489:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"154498:1:21","nodeType":"YulLiteral","src":"154498:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"154501:6:21","nodeType":"YulIdentifier","src":"154501:6:21"}],"functionName":{"name":"shl","nativeSrc":"154494:3:21","nodeType":"YulIdentifier","src":"154494:3:21"},"nativeSrc":"154494:14:21","nodeType":"YulFunctionCall","src":"154494:14:21"}],"functionName":{"name":"sub","nativeSrc":"154485:3:21","nodeType":"YulIdentifier","src":"154485:3:21"},"nativeSrc":"154485:24:21","nodeType":"YulFunctionCall","src":"154485:24:21"},"variables":[{"name":"shift","nativeSrc":"154476:5:21","nodeType":"YulTypedName","src":"154476:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"154537:3:21","nodeType":"YulIdentifier","src":"154537:3:21"},{"kind":"number","nativeSrc":"154542:4:21","nodeType":"YulLiteral","src":"154542:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"154533:3:21","nodeType":"YulIdentifier","src":"154533:3:21"},"nativeSrc":"154533:14:21","nodeType":"YulFunctionCall","src":"154533:14:21"},{"arguments":[{"name":"shift","nativeSrc":"154553:5:21","nodeType":"YulIdentifier","src":"154553:5:21"},{"arguments":[{"name":"shift","nativeSrc":"154564:5:21","nodeType":"YulIdentifier","src":"154564:5:21"},{"name":"w","nativeSrc":"154571:1:21","nodeType":"YulIdentifier","src":"154571:1:21"}],"functionName":{"name":"shr","nativeSrc":"154560:3:21","nodeType":"YulIdentifier","src":"154560:3:21"},"nativeSrc":"154560:13:21","nodeType":"YulFunctionCall","src":"154560:13:21"}],"functionName":{"name":"shl","nativeSrc":"154549:3:21","nodeType":"YulIdentifier","src":"154549:3:21"},"nativeSrc":"154549:25:21","nodeType":"YulFunctionCall","src":"154549:25:21"}],"functionName":{"name":"mstore","nativeSrc":"154526:6:21","nodeType":"YulIdentifier","src":"154526:6:21"},"nativeSrc":"154526:49:21","nodeType":"YulFunctionCall","src":"154526:49:21"},"nativeSrc":"154526:49:21","nodeType":"YulExpressionStatement","src":"154526:49:21"}]},"name":"writeString","nativeSrc":"154247:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"154268:3:21","nodeType":"YulTypedName","src":"154268:3:21","type":""},{"name":"w","nativeSrc":"154273:1:21","nodeType":"YulTypedName","src":"154273:1:21","type":""}],"src":"154247:342:21"},{"nativeSrc":"154602:17:21","nodeType":"YulAssignment","src":"154602:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"154614:4:21","nodeType":"YulLiteral","src":"154614:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"154608:5:21","nodeType":"YulIdentifier","src":"154608:5:21"},"nativeSrc":"154608:11:21","nodeType":"YulFunctionCall","src":"154608:11:21"},"variableNames":[{"name":"m0","nativeSrc":"154602:2:21","nodeType":"YulIdentifier","src":"154602:2:21"}]},{"nativeSrc":"154632:17:21","nodeType":"YulAssignment","src":"154632:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"154644:4:21","nodeType":"YulLiteral","src":"154644:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"154638:5:21","nodeType":"YulIdentifier","src":"154638:5:21"},"nativeSrc":"154638:11:21","nodeType":"YulFunctionCall","src":"154638:11:21"},"variableNames":[{"name":"m1","nativeSrc":"154632:2:21","nodeType":"YulIdentifier","src":"154632:2:21"}]},{"nativeSrc":"154662:17:21","nodeType":"YulAssignment","src":"154662:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"154674:4:21","nodeType":"YulLiteral","src":"154674:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"154668:5:21","nodeType":"YulIdentifier","src":"154668:5:21"},"nativeSrc":"154668:11:21","nodeType":"YulFunctionCall","src":"154668:11:21"},"variableNames":[{"name":"m2","nativeSrc":"154662:2:21","nodeType":"YulIdentifier","src":"154662:2:21"}]},{"nativeSrc":"154692:17:21","nodeType":"YulAssignment","src":"154692:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"154704:4:21","nodeType":"YulLiteral","src":"154704:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"154698:5:21","nodeType":"YulIdentifier","src":"154698:5:21"},"nativeSrc":"154698:11:21","nodeType":"YulFunctionCall","src":"154698:11:21"},"variableNames":[{"name":"m3","nativeSrc":"154692:2:21","nodeType":"YulIdentifier","src":"154692:2:21"}]},{"nativeSrc":"154722:17:21","nodeType":"YulAssignment","src":"154722:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"154734:4:21","nodeType":"YulLiteral","src":"154734:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"154728:5:21","nodeType":"YulIdentifier","src":"154728:5:21"},"nativeSrc":"154728:11:21","nodeType":"YulFunctionCall","src":"154728:11:21"},"variableNames":[{"name":"m4","nativeSrc":"154722:2:21","nodeType":"YulIdentifier","src":"154722:2:21"}]},{"nativeSrc":"154752:17:21","nodeType":"YulAssignment","src":"154752:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"154764:4:21","nodeType":"YulLiteral","src":"154764:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"154758:5:21","nodeType":"YulIdentifier","src":"154758:5:21"},"nativeSrc":"154758:11:21","nodeType":"YulFunctionCall","src":"154758:11:21"},"variableNames":[{"name":"m5","nativeSrc":"154752:2:21","nodeType":"YulIdentifier","src":"154752:2:21"}]},{"nativeSrc":"154782:17:21","nodeType":"YulAssignment","src":"154782:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"154794:4:21","nodeType":"YulLiteral","src":"154794:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"154788:5:21","nodeType":"YulIdentifier","src":"154788:5:21"},"nativeSrc":"154788:11:21","nodeType":"YulFunctionCall","src":"154788:11:21"},"variableNames":[{"name":"m6","nativeSrc":"154782:2:21","nodeType":"YulIdentifier","src":"154782:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154882:4:21","nodeType":"YulLiteral","src":"154882:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"154888:10:21","nodeType":"YulLiteral","src":"154888:10:21","type":"","value":"0x515e38b6"}],"functionName":{"name":"mstore","nativeSrc":"154875:6:21","nodeType":"YulIdentifier","src":"154875:6:21"},"nativeSrc":"154875:24:21","nodeType":"YulFunctionCall","src":"154875:24:21"},"nativeSrc":"154875:24:21","nodeType":"YulExpressionStatement","src":"154875:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154919:4:21","nodeType":"YulLiteral","src":"154919:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"154925:2:21","nodeType":"YulIdentifier","src":"154925:2:21"}],"functionName":{"name":"mstore","nativeSrc":"154912:6:21","nodeType":"YulIdentifier","src":"154912:6:21"},"nativeSrc":"154912:16:21","nodeType":"YulFunctionCall","src":"154912:16:21"},"nativeSrc":"154912:16:21","nodeType":"YulExpressionStatement","src":"154912:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154948:4:21","nodeType":"YulLiteral","src":"154948:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"154954:4:21","nodeType":"YulLiteral","src":"154954:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"154941:6:21","nodeType":"YulIdentifier","src":"154941:6:21"},"nativeSrc":"154941:18:21","nodeType":"YulFunctionCall","src":"154941:18:21"},"nativeSrc":"154941:18:21","nodeType":"YulExpressionStatement","src":"154941:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154979:4:21","nodeType":"YulLiteral","src":"154979:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"154985:2:21","nodeType":"YulIdentifier","src":"154985:2:21"}],"functionName":{"name":"mstore","nativeSrc":"154972:6:21","nodeType":"YulIdentifier","src":"154972:6:21"},"nativeSrc":"154972:16:21","nodeType":"YulFunctionCall","src":"154972:16:21"},"nativeSrc":"154972:16:21","nodeType":"YulExpressionStatement","src":"154972:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155008:4:21","nodeType":"YulLiteral","src":"155008:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"155014:2:21","nodeType":"YulIdentifier","src":"155014:2:21"}],"functionName":{"name":"mstore","nativeSrc":"155001:6:21","nodeType":"YulIdentifier","src":"155001:6:21"},"nativeSrc":"155001:16:21","nodeType":"YulFunctionCall","src":"155001:16:21"},"nativeSrc":"155001:16:21","nodeType":"YulExpressionStatement","src":"155001:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155042:4:21","nodeType":"YulLiteral","src":"155042:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"155048:2:21","nodeType":"YulIdentifier","src":"155048:2:21"}],"functionName":{"name":"writeString","nativeSrc":"155030:11:21","nodeType":"YulIdentifier","src":"155030:11:21"},"nativeSrc":"155030:21:21","nodeType":"YulFunctionCall","src":"155030:21:21"},"nativeSrc":"155030:21:21","nodeType":"YulExpressionStatement","src":"155030:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31830,"isOffset":false,"isSlot":false,"src":"154602:2:21","valueSize":1},{"declaration":31833,"isOffset":false,"isSlot":false,"src":"154632:2:21","valueSize":1},{"declaration":31836,"isOffset":false,"isSlot":false,"src":"154662:2:21","valueSize":1},{"declaration":31839,"isOffset":false,"isSlot":false,"src":"154692:2:21","valueSize":1},{"declaration":31842,"isOffset":false,"isSlot":false,"src":"154722:2:21","valueSize":1},{"declaration":31845,"isOffset":false,"isSlot":false,"src":"154752:2:21","valueSize":1},{"declaration":31848,"isOffset":false,"isSlot":false,"src":"154782:2:21","valueSize":1},{"declaration":31820,"isOffset":false,"isSlot":false,"src":"154925:2:21","valueSize":1},{"declaration":31822,"isOffset":false,"isSlot":false,"src":"155048:2:21","valueSize":1},{"declaration":31824,"isOffset":false,"isSlot":false,"src":"154985:2:21","valueSize":1},{"declaration":31826,"isOffset":false,"isSlot":false,"src":"155014:2:21","valueSize":1}],"id":31850,"nodeType":"InlineAssembly","src":"154224:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"155086:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"155092:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31851,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"155070:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"155070:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31855,"nodeType":"ExpressionStatement","src":"155070:27:21"},{"AST":{"nativeSrc":"155159:214:21","nodeType":"YulBlock","src":"155159:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"155180:4:21","nodeType":"YulLiteral","src":"155180:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"155186:2:21","nodeType":"YulIdentifier","src":"155186:2:21"}],"functionName":{"name":"mstore","nativeSrc":"155173:6:21","nodeType":"YulIdentifier","src":"155173:6:21"},"nativeSrc":"155173:16:21","nodeType":"YulFunctionCall","src":"155173:16:21"},"nativeSrc":"155173:16:21","nodeType":"YulExpressionStatement","src":"155173:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155209:4:21","nodeType":"YulLiteral","src":"155209:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"155215:2:21","nodeType":"YulIdentifier","src":"155215:2:21"}],"functionName":{"name":"mstore","nativeSrc":"155202:6:21","nodeType":"YulIdentifier","src":"155202:6:21"},"nativeSrc":"155202:16:21","nodeType":"YulFunctionCall","src":"155202:16:21"},"nativeSrc":"155202:16:21","nodeType":"YulExpressionStatement","src":"155202:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155238:4:21","nodeType":"YulLiteral","src":"155238:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"155244:2:21","nodeType":"YulIdentifier","src":"155244:2:21"}],"functionName":{"name":"mstore","nativeSrc":"155231:6:21","nodeType":"YulIdentifier","src":"155231:6:21"},"nativeSrc":"155231:16:21","nodeType":"YulFunctionCall","src":"155231:16:21"},"nativeSrc":"155231:16:21","nodeType":"YulExpressionStatement","src":"155231:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155267:4:21","nodeType":"YulLiteral","src":"155267:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"155273:2:21","nodeType":"YulIdentifier","src":"155273:2:21"}],"functionName":{"name":"mstore","nativeSrc":"155260:6:21","nodeType":"YulIdentifier","src":"155260:6:21"},"nativeSrc":"155260:16:21","nodeType":"YulFunctionCall","src":"155260:16:21"},"nativeSrc":"155260:16:21","nodeType":"YulExpressionStatement","src":"155260:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155296:4:21","nodeType":"YulLiteral","src":"155296:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"155302:2:21","nodeType":"YulIdentifier","src":"155302:2:21"}],"functionName":{"name":"mstore","nativeSrc":"155289:6:21","nodeType":"YulIdentifier","src":"155289:6:21"},"nativeSrc":"155289:16:21","nodeType":"YulFunctionCall","src":"155289:16:21"},"nativeSrc":"155289:16:21","nodeType":"YulExpressionStatement","src":"155289:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155325:4:21","nodeType":"YulLiteral","src":"155325:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"155331:2:21","nodeType":"YulIdentifier","src":"155331:2:21"}],"functionName":{"name":"mstore","nativeSrc":"155318:6:21","nodeType":"YulIdentifier","src":"155318:6:21"},"nativeSrc":"155318:16:21","nodeType":"YulFunctionCall","src":"155318:16:21"},"nativeSrc":"155318:16:21","nodeType":"YulExpressionStatement","src":"155318:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155354:4:21","nodeType":"YulLiteral","src":"155354:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"155360:2:21","nodeType":"YulIdentifier","src":"155360:2:21"}],"functionName":{"name":"mstore","nativeSrc":"155347:6:21","nodeType":"YulIdentifier","src":"155347:6:21"},"nativeSrc":"155347:16:21","nodeType":"YulFunctionCall","src":"155347:16:21"},"nativeSrc":"155347:16:21","nodeType":"YulExpressionStatement","src":"155347:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31830,"isOffset":false,"isSlot":false,"src":"155186:2:21","valueSize":1},{"declaration":31833,"isOffset":false,"isSlot":false,"src":"155215:2:21","valueSize":1},{"declaration":31836,"isOffset":false,"isSlot":false,"src":"155244:2:21","valueSize":1},{"declaration":31839,"isOffset":false,"isSlot":false,"src":"155273:2:21","valueSize":1},{"declaration":31842,"isOffset":false,"isSlot":false,"src":"155302:2:21","valueSize":1},{"declaration":31845,"isOffset":false,"isSlot":false,"src":"155331:2:21","valueSize":1},{"declaration":31848,"isOffset":false,"isSlot":false,"src":"155360:2:21","valueSize":1}],"id":31856,"nodeType":"InlineAssembly","src":"155150:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"153968:3:21","parameters":{"id":31827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31820,"mutability":"mutable","name":"p0","nameLocation":"153980:2:21","nodeType":"VariableDeclaration","scope":31858,"src":"153972:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31819,"name":"address","nodeType":"ElementaryTypeName","src":"153972:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31822,"mutability":"mutable","name":"p1","nameLocation":"153992:2:21","nodeType":"VariableDeclaration","scope":31858,"src":"153984:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"153984:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31824,"mutability":"mutable","name":"p2","nameLocation":"154001:2:21","nodeType":"VariableDeclaration","scope":31858,"src":"153996:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31823,"name":"bool","nodeType":"ElementaryTypeName","src":"153996:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31826,"mutability":"mutable","name":"p3","nameLocation":"154013:2:21","nodeType":"VariableDeclaration","scope":31858,"src":"154005:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31825,"name":"uint256","nodeType":"ElementaryTypeName","src":"154005:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"153971:45:21"},"returnParameters":{"id":31828,"nodeType":"ParameterList","parameters":[],"src":"154031:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31904,"nodeType":"FunctionDefinition","src":"155385:1616:21","nodes":[],"body":{"id":31903,"nodeType":"Block","src":"155457:1544:21","nodes":[],"statements":[{"assignments":[31870],"declarations":[{"constant":false,"id":31870,"mutability":"mutable","name":"m0","nameLocation":"155475:2:21","nodeType":"VariableDeclaration","scope":31903,"src":"155467:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155467:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31871,"nodeType":"VariableDeclarationStatement","src":"155467:10:21"},{"assignments":[31873],"declarations":[{"constant":false,"id":31873,"mutability":"mutable","name":"m1","nameLocation":"155495:2:21","nodeType":"VariableDeclaration","scope":31903,"src":"155487:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155487:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31874,"nodeType":"VariableDeclarationStatement","src":"155487:10:21"},{"assignments":[31876],"declarations":[{"constant":false,"id":31876,"mutability":"mutable","name":"m2","nameLocation":"155515:2:21","nodeType":"VariableDeclaration","scope":31903,"src":"155507:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155507:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31877,"nodeType":"VariableDeclarationStatement","src":"155507:10:21"},{"assignments":[31879],"declarations":[{"constant":false,"id":31879,"mutability":"mutable","name":"m3","nameLocation":"155535:2:21","nodeType":"VariableDeclaration","scope":31903,"src":"155527:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155527:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31880,"nodeType":"VariableDeclarationStatement","src":"155527:10:21"},{"assignments":[31882],"declarations":[{"constant":false,"id":31882,"mutability":"mutable","name":"m4","nameLocation":"155555:2:21","nodeType":"VariableDeclaration","scope":31903,"src":"155547:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31881,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155547:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31883,"nodeType":"VariableDeclarationStatement","src":"155547:10:21"},{"assignments":[31885],"declarations":[{"constant":false,"id":31885,"mutability":"mutable","name":"m5","nameLocation":"155575:2:21","nodeType":"VariableDeclaration","scope":31903,"src":"155567:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155567:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31886,"nodeType":"VariableDeclarationStatement","src":"155567:10:21"},{"assignments":[31888],"declarations":[{"constant":false,"id":31888,"mutability":"mutable","name":"m6","nameLocation":"155595:2:21","nodeType":"VariableDeclaration","scope":31903,"src":"155587:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155587:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31889,"nodeType":"VariableDeclarationStatement","src":"155587:10:21"},{"assignments":[31891],"declarations":[{"constant":false,"id":31891,"mutability":"mutable","name":"m7","nameLocation":"155615:2:21","nodeType":"VariableDeclaration","scope":31903,"src":"155607:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155607:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31892,"nodeType":"VariableDeclarationStatement","src":"155607:10:21"},{"assignments":[31894],"declarations":[{"constant":false,"id":31894,"mutability":"mutable","name":"m8","nameLocation":"155635:2:21","nodeType":"VariableDeclaration","scope":31903,"src":"155627:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155627:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31895,"nodeType":"VariableDeclarationStatement","src":"155627:10:21"},{"AST":{"nativeSrc":"155699:924:21","nodeType":"YulBlock","src":"155699:924:21","statements":[{"body":{"nativeSrc":"155742:313:21","nodeType":"YulBlock","src":"155742:313:21","statements":[{"nativeSrc":"155760:15:21","nodeType":"YulVariableDeclaration","src":"155760:15:21","value":{"kind":"number","nativeSrc":"155774:1:21","nodeType":"YulLiteral","src":"155774:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"155764:6:21","nodeType":"YulTypedName","src":"155764:6:21","type":""}]},{"body":{"nativeSrc":"155845:40:21","nodeType":"YulBlock","src":"155845:40:21","statements":[{"body":{"nativeSrc":"155874:9:21","nodeType":"YulBlock","src":"155874:9:21","statements":[{"nativeSrc":"155876:5:21","nodeType":"YulBreak","src":"155876:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"155862:6:21","nodeType":"YulIdentifier","src":"155862:6:21"},{"name":"w","nativeSrc":"155870:1:21","nodeType":"YulIdentifier","src":"155870:1:21"}],"functionName":{"name":"byte","nativeSrc":"155857:4:21","nodeType":"YulIdentifier","src":"155857:4:21"},"nativeSrc":"155857:15:21","nodeType":"YulFunctionCall","src":"155857:15:21"}],"functionName":{"name":"iszero","nativeSrc":"155850:6:21","nodeType":"YulIdentifier","src":"155850:6:21"},"nativeSrc":"155850:23:21","nodeType":"YulFunctionCall","src":"155850:23:21"},"nativeSrc":"155847:36:21","nodeType":"YulIf","src":"155847:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"155802:6:21","nodeType":"YulIdentifier","src":"155802:6:21"},{"kind":"number","nativeSrc":"155810:4:21","nodeType":"YulLiteral","src":"155810:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"155799:2:21","nodeType":"YulIdentifier","src":"155799:2:21"},"nativeSrc":"155799:16:21","nodeType":"YulFunctionCall","src":"155799:16:21"},"nativeSrc":"155792:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"155816:28:21","nodeType":"YulBlock","src":"155816:28:21","statements":[{"nativeSrc":"155818:24:21","nodeType":"YulAssignment","src":"155818:24:21","value":{"arguments":[{"name":"length","nativeSrc":"155832:6:21","nodeType":"YulIdentifier","src":"155832:6:21"},{"kind":"number","nativeSrc":"155840:1:21","nodeType":"YulLiteral","src":"155840:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"155828:3:21","nodeType":"YulIdentifier","src":"155828:3:21"},"nativeSrc":"155828:14:21","nodeType":"YulFunctionCall","src":"155828:14:21"},"variableNames":[{"name":"length","nativeSrc":"155818:6:21","nodeType":"YulIdentifier","src":"155818:6:21"}]}]},"pre":{"nativeSrc":"155796:2:21","nodeType":"YulBlock","src":"155796:2:21","statements":[]},"src":"155792:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"155909:3:21","nodeType":"YulIdentifier","src":"155909:3:21"},{"name":"length","nativeSrc":"155914:6:21","nodeType":"YulIdentifier","src":"155914:6:21"}],"functionName":{"name":"mstore","nativeSrc":"155902:6:21","nodeType":"YulIdentifier","src":"155902:6:21"},"nativeSrc":"155902:19:21","nodeType":"YulFunctionCall","src":"155902:19:21"},"nativeSrc":"155902:19:21","nodeType":"YulExpressionStatement","src":"155902:19:21"},{"nativeSrc":"155938:37:21","nodeType":"YulVariableDeclaration","src":"155938:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"155955:3:21","nodeType":"YulLiteral","src":"155955:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"155964:1:21","nodeType":"YulLiteral","src":"155964:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"155967:6:21","nodeType":"YulIdentifier","src":"155967:6:21"}],"functionName":{"name":"shl","nativeSrc":"155960:3:21","nodeType":"YulIdentifier","src":"155960:3:21"},"nativeSrc":"155960:14:21","nodeType":"YulFunctionCall","src":"155960:14:21"}],"functionName":{"name":"sub","nativeSrc":"155951:3:21","nodeType":"YulIdentifier","src":"155951:3:21"},"nativeSrc":"155951:24:21","nodeType":"YulFunctionCall","src":"155951:24:21"},"variables":[{"name":"shift","nativeSrc":"155942:5:21","nodeType":"YulTypedName","src":"155942:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"156003:3:21","nodeType":"YulIdentifier","src":"156003:3:21"},{"kind":"number","nativeSrc":"156008:4:21","nodeType":"YulLiteral","src":"156008:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"155999:3:21","nodeType":"YulIdentifier","src":"155999:3:21"},"nativeSrc":"155999:14:21","nodeType":"YulFunctionCall","src":"155999:14:21"},{"arguments":[{"name":"shift","nativeSrc":"156019:5:21","nodeType":"YulIdentifier","src":"156019:5:21"},{"arguments":[{"name":"shift","nativeSrc":"156030:5:21","nodeType":"YulIdentifier","src":"156030:5:21"},{"name":"w","nativeSrc":"156037:1:21","nodeType":"YulIdentifier","src":"156037:1:21"}],"functionName":{"name":"shr","nativeSrc":"156026:3:21","nodeType":"YulIdentifier","src":"156026:3:21"},"nativeSrc":"156026:13:21","nodeType":"YulFunctionCall","src":"156026:13:21"}],"functionName":{"name":"shl","nativeSrc":"156015:3:21","nodeType":"YulIdentifier","src":"156015:3:21"},"nativeSrc":"156015:25:21","nodeType":"YulFunctionCall","src":"156015:25:21"}],"functionName":{"name":"mstore","nativeSrc":"155992:6:21","nodeType":"YulIdentifier","src":"155992:6:21"},"nativeSrc":"155992:49:21","nodeType":"YulFunctionCall","src":"155992:49:21"},"nativeSrc":"155992:49:21","nodeType":"YulExpressionStatement","src":"155992:49:21"}]},"name":"writeString","nativeSrc":"155713:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"155734:3:21","nodeType":"YulTypedName","src":"155734:3:21","type":""},{"name":"w","nativeSrc":"155739:1:21","nodeType":"YulTypedName","src":"155739:1:21","type":""}],"src":"155713:342:21"},{"nativeSrc":"156068:17:21","nodeType":"YulAssignment","src":"156068:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"156080:4:21","nodeType":"YulLiteral","src":"156080:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"156074:5:21","nodeType":"YulIdentifier","src":"156074:5:21"},"nativeSrc":"156074:11:21","nodeType":"YulFunctionCall","src":"156074:11:21"},"variableNames":[{"name":"m0","nativeSrc":"156068:2:21","nodeType":"YulIdentifier","src":"156068:2:21"}]},{"nativeSrc":"156098:17:21","nodeType":"YulAssignment","src":"156098:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"156110:4:21","nodeType":"YulLiteral","src":"156110:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"156104:5:21","nodeType":"YulIdentifier","src":"156104:5:21"},"nativeSrc":"156104:11:21","nodeType":"YulFunctionCall","src":"156104:11:21"},"variableNames":[{"name":"m1","nativeSrc":"156098:2:21","nodeType":"YulIdentifier","src":"156098:2:21"}]},{"nativeSrc":"156128:17:21","nodeType":"YulAssignment","src":"156128:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"156140:4:21","nodeType":"YulLiteral","src":"156140:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"156134:5:21","nodeType":"YulIdentifier","src":"156134:5:21"},"nativeSrc":"156134:11:21","nodeType":"YulFunctionCall","src":"156134:11:21"},"variableNames":[{"name":"m2","nativeSrc":"156128:2:21","nodeType":"YulIdentifier","src":"156128:2:21"}]},{"nativeSrc":"156158:17:21","nodeType":"YulAssignment","src":"156158:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"156170:4:21","nodeType":"YulLiteral","src":"156170:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"156164:5:21","nodeType":"YulIdentifier","src":"156164:5:21"},"nativeSrc":"156164:11:21","nodeType":"YulFunctionCall","src":"156164:11:21"},"variableNames":[{"name":"m3","nativeSrc":"156158:2:21","nodeType":"YulIdentifier","src":"156158:2:21"}]},{"nativeSrc":"156188:17:21","nodeType":"YulAssignment","src":"156188:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"156200:4:21","nodeType":"YulLiteral","src":"156200:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"156194:5:21","nodeType":"YulIdentifier","src":"156194:5:21"},"nativeSrc":"156194:11:21","nodeType":"YulFunctionCall","src":"156194:11:21"},"variableNames":[{"name":"m4","nativeSrc":"156188:2:21","nodeType":"YulIdentifier","src":"156188:2:21"}]},{"nativeSrc":"156218:17:21","nodeType":"YulAssignment","src":"156218:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"156230:4:21","nodeType":"YulLiteral","src":"156230:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"156224:5:21","nodeType":"YulIdentifier","src":"156224:5:21"},"nativeSrc":"156224:11:21","nodeType":"YulFunctionCall","src":"156224:11:21"},"variableNames":[{"name":"m5","nativeSrc":"156218:2:21","nodeType":"YulIdentifier","src":"156218:2:21"}]},{"nativeSrc":"156248:17:21","nodeType":"YulAssignment","src":"156248:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"156260:4:21","nodeType":"YulLiteral","src":"156260:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"156254:5:21","nodeType":"YulIdentifier","src":"156254:5:21"},"nativeSrc":"156254:11:21","nodeType":"YulFunctionCall","src":"156254:11:21"},"variableNames":[{"name":"m6","nativeSrc":"156248:2:21","nodeType":"YulIdentifier","src":"156248:2:21"}]},{"nativeSrc":"156278:17:21","nodeType":"YulAssignment","src":"156278:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"156290:4:21","nodeType":"YulLiteral","src":"156290:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"156284:5:21","nodeType":"YulIdentifier","src":"156284:5:21"},"nativeSrc":"156284:11:21","nodeType":"YulFunctionCall","src":"156284:11:21"},"variableNames":[{"name":"m7","nativeSrc":"156278:2:21","nodeType":"YulIdentifier","src":"156278:2:21"}]},{"nativeSrc":"156308:18:21","nodeType":"YulAssignment","src":"156308:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"156320:5:21","nodeType":"YulLiteral","src":"156320:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"156314:5:21","nodeType":"YulIdentifier","src":"156314:5:21"},"nativeSrc":"156314:12:21","nodeType":"YulFunctionCall","src":"156314:12:21"},"variableNames":[{"name":"m8","nativeSrc":"156308:2:21","nodeType":"YulIdentifier","src":"156308:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156408:4:21","nodeType":"YulLiteral","src":"156408:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"156414:10:21","nodeType":"YulLiteral","src":"156414:10:21","type":"","value":"0xbc0b61fe"}],"functionName":{"name":"mstore","nativeSrc":"156401:6:21","nodeType":"YulIdentifier","src":"156401:6:21"},"nativeSrc":"156401:24:21","nodeType":"YulFunctionCall","src":"156401:24:21"},"nativeSrc":"156401:24:21","nodeType":"YulExpressionStatement","src":"156401:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156445:4:21","nodeType":"YulLiteral","src":"156445:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"156451:2:21","nodeType":"YulIdentifier","src":"156451:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156438:6:21","nodeType":"YulIdentifier","src":"156438:6:21"},"nativeSrc":"156438:16:21","nodeType":"YulFunctionCall","src":"156438:16:21"},"nativeSrc":"156438:16:21","nodeType":"YulExpressionStatement","src":"156438:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156474:4:21","nodeType":"YulLiteral","src":"156474:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"156480:4:21","nodeType":"YulLiteral","src":"156480:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"156467:6:21","nodeType":"YulIdentifier","src":"156467:6:21"},"nativeSrc":"156467:18:21","nodeType":"YulFunctionCall","src":"156467:18:21"},"nativeSrc":"156467:18:21","nodeType":"YulExpressionStatement","src":"156467:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156505:4:21","nodeType":"YulLiteral","src":"156505:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"156511:2:21","nodeType":"YulIdentifier","src":"156511:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156498:6:21","nodeType":"YulIdentifier","src":"156498:6:21"},"nativeSrc":"156498:16:21","nodeType":"YulFunctionCall","src":"156498:16:21"},"nativeSrc":"156498:16:21","nodeType":"YulExpressionStatement","src":"156498:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156534:4:21","nodeType":"YulLiteral","src":"156534:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"156540:4:21","nodeType":"YulLiteral","src":"156540:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"156527:6:21","nodeType":"YulIdentifier","src":"156527:6:21"},"nativeSrc":"156527:18:21","nodeType":"YulFunctionCall","src":"156527:18:21"},"nativeSrc":"156527:18:21","nodeType":"YulExpressionStatement","src":"156527:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156570:4:21","nodeType":"YulLiteral","src":"156570:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"156576:2:21","nodeType":"YulIdentifier","src":"156576:2:21"}],"functionName":{"name":"writeString","nativeSrc":"156558:11:21","nodeType":"YulIdentifier","src":"156558:11:21"},"nativeSrc":"156558:21:21","nodeType":"YulFunctionCall","src":"156558:21:21"},"nativeSrc":"156558:21:21","nodeType":"YulExpressionStatement","src":"156558:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156604:4:21","nodeType":"YulLiteral","src":"156604:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"156610:2:21","nodeType":"YulIdentifier","src":"156610:2:21"}],"functionName":{"name":"writeString","nativeSrc":"156592:11:21","nodeType":"YulIdentifier","src":"156592:11:21"},"nativeSrc":"156592:21:21","nodeType":"YulFunctionCall","src":"156592:21:21"},"nativeSrc":"156592:21:21","nodeType":"YulExpressionStatement","src":"156592:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31870,"isOffset":false,"isSlot":false,"src":"156068:2:21","valueSize":1},{"declaration":31873,"isOffset":false,"isSlot":false,"src":"156098:2:21","valueSize":1},{"declaration":31876,"isOffset":false,"isSlot":false,"src":"156128:2:21","valueSize":1},{"declaration":31879,"isOffset":false,"isSlot":false,"src":"156158:2:21","valueSize":1},{"declaration":31882,"isOffset":false,"isSlot":false,"src":"156188:2:21","valueSize":1},{"declaration":31885,"isOffset":false,"isSlot":false,"src":"156218:2:21","valueSize":1},{"declaration":31888,"isOffset":false,"isSlot":false,"src":"156248:2:21","valueSize":1},{"declaration":31891,"isOffset":false,"isSlot":false,"src":"156278:2:21","valueSize":1},{"declaration":31894,"isOffset":false,"isSlot":false,"src":"156308:2:21","valueSize":1},{"declaration":31860,"isOffset":false,"isSlot":false,"src":"156451:2:21","valueSize":1},{"declaration":31862,"isOffset":false,"isSlot":false,"src":"156576:2:21","valueSize":1},{"declaration":31864,"isOffset":false,"isSlot":false,"src":"156511:2:21","valueSize":1},{"declaration":31866,"isOffset":false,"isSlot":false,"src":"156610:2:21","valueSize":1}],"id":31896,"nodeType":"InlineAssembly","src":"155690:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"156648:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":31899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"156654:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":31897,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"156632:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"156632:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31901,"nodeType":"ExpressionStatement","src":"156632:28:21"},{"AST":{"nativeSrc":"156722:273:21","nodeType":"YulBlock","src":"156722:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"156743:4:21","nodeType":"YulLiteral","src":"156743:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"156749:2:21","nodeType":"YulIdentifier","src":"156749:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156736:6:21","nodeType":"YulIdentifier","src":"156736:6:21"},"nativeSrc":"156736:16:21","nodeType":"YulFunctionCall","src":"156736:16:21"},"nativeSrc":"156736:16:21","nodeType":"YulExpressionStatement","src":"156736:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156772:4:21","nodeType":"YulLiteral","src":"156772:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"156778:2:21","nodeType":"YulIdentifier","src":"156778:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156765:6:21","nodeType":"YulIdentifier","src":"156765:6:21"},"nativeSrc":"156765:16:21","nodeType":"YulFunctionCall","src":"156765:16:21"},"nativeSrc":"156765:16:21","nodeType":"YulExpressionStatement","src":"156765:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156801:4:21","nodeType":"YulLiteral","src":"156801:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"156807:2:21","nodeType":"YulIdentifier","src":"156807:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156794:6:21","nodeType":"YulIdentifier","src":"156794:6:21"},"nativeSrc":"156794:16:21","nodeType":"YulFunctionCall","src":"156794:16:21"},"nativeSrc":"156794:16:21","nodeType":"YulExpressionStatement","src":"156794:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156830:4:21","nodeType":"YulLiteral","src":"156830:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"156836:2:21","nodeType":"YulIdentifier","src":"156836:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156823:6:21","nodeType":"YulIdentifier","src":"156823:6:21"},"nativeSrc":"156823:16:21","nodeType":"YulFunctionCall","src":"156823:16:21"},"nativeSrc":"156823:16:21","nodeType":"YulExpressionStatement","src":"156823:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156859:4:21","nodeType":"YulLiteral","src":"156859:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"156865:2:21","nodeType":"YulIdentifier","src":"156865:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156852:6:21","nodeType":"YulIdentifier","src":"156852:6:21"},"nativeSrc":"156852:16:21","nodeType":"YulFunctionCall","src":"156852:16:21"},"nativeSrc":"156852:16:21","nodeType":"YulExpressionStatement","src":"156852:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156888:4:21","nodeType":"YulLiteral","src":"156888:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"156894:2:21","nodeType":"YulIdentifier","src":"156894:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156881:6:21","nodeType":"YulIdentifier","src":"156881:6:21"},"nativeSrc":"156881:16:21","nodeType":"YulFunctionCall","src":"156881:16:21"},"nativeSrc":"156881:16:21","nodeType":"YulExpressionStatement","src":"156881:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156917:4:21","nodeType":"YulLiteral","src":"156917:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"156923:2:21","nodeType":"YulIdentifier","src":"156923:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156910:6:21","nodeType":"YulIdentifier","src":"156910:6:21"},"nativeSrc":"156910:16:21","nodeType":"YulFunctionCall","src":"156910:16:21"},"nativeSrc":"156910:16:21","nodeType":"YulExpressionStatement","src":"156910:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156946:4:21","nodeType":"YulLiteral","src":"156946:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"156952:2:21","nodeType":"YulIdentifier","src":"156952:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156939:6:21","nodeType":"YulIdentifier","src":"156939:6:21"},"nativeSrc":"156939:16:21","nodeType":"YulFunctionCall","src":"156939:16:21"},"nativeSrc":"156939:16:21","nodeType":"YulExpressionStatement","src":"156939:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156975:5:21","nodeType":"YulLiteral","src":"156975:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"156982:2:21","nodeType":"YulIdentifier","src":"156982:2:21"}],"functionName":{"name":"mstore","nativeSrc":"156968:6:21","nodeType":"YulIdentifier","src":"156968:6:21"},"nativeSrc":"156968:17:21","nodeType":"YulFunctionCall","src":"156968:17:21"},"nativeSrc":"156968:17:21","nodeType":"YulExpressionStatement","src":"156968:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31870,"isOffset":false,"isSlot":false,"src":"156749:2:21","valueSize":1},{"declaration":31873,"isOffset":false,"isSlot":false,"src":"156778:2:21","valueSize":1},{"declaration":31876,"isOffset":false,"isSlot":false,"src":"156807:2:21","valueSize":1},{"declaration":31879,"isOffset":false,"isSlot":false,"src":"156836:2:21","valueSize":1},{"declaration":31882,"isOffset":false,"isSlot":false,"src":"156865:2:21","valueSize":1},{"declaration":31885,"isOffset":false,"isSlot":false,"src":"156894:2:21","valueSize":1},{"declaration":31888,"isOffset":false,"isSlot":false,"src":"156923:2:21","valueSize":1},{"declaration":31891,"isOffset":false,"isSlot":false,"src":"156952:2:21","valueSize":1},{"declaration":31894,"isOffset":false,"isSlot":false,"src":"156982:2:21","valueSize":1}],"id":31902,"nodeType":"InlineAssembly","src":"156713:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"155394:3:21","parameters":{"id":31867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31860,"mutability":"mutable","name":"p0","nameLocation":"155406:2:21","nodeType":"VariableDeclaration","scope":31904,"src":"155398:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31859,"name":"address","nodeType":"ElementaryTypeName","src":"155398:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31862,"mutability":"mutable","name":"p1","nameLocation":"155418:2:21","nodeType":"VariableDeclaration","scope":31904,"src":"155410:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155410:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31864,"mutability":"mutable","name":"p2","nameLocation":"155427:2:21","nodeType":"VariableDeclaration","scope":31904,"src":"155422:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31863,"name":"bool","nodeType":"ElementaryTypeName","src":"155422:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31866,"mutability":"mutable","name":"p3","nameLocation":"155439:2:21","nodeType":"VariableDeclaration","scope":31904,"src":"155431:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155431:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"155397:45:21"},"returnParameters":{"id":31868,"nodeType":"ParameterList","parameters":[],"src":"155457:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31944,"nodeType":"FunctionDefinition","src":"157007:1426:21","nodes":[],"body":{"id":31943,"nodeType":"Block","src":"157082:1351:21","nodes":[],"statements":[{"assignments":[31916],"declarations":[{"constant":false,"id":31916,"mutability":"mutable","name":"m0","nameLocation":"157100:2:21","nodeType":"VariableDeclaration","scope":31943,"src":"157092:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157092:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31917,"nodeType":"VariableDeclarationStatement","src":"157092:10:21"},{"assignments":[31919],"declarations":[{"constant":false,"id":31919,"mutability":"mutable","name":"m1","nameLocation":"157120:2:21","nodeType":"VariableDeclaration","scope":31943,"src":"157112:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31918,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157112:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31920,"nodeType":"VariableDeclarationStatement","src":"157112:10:21"},{"assignments":[31922],"declarations":[{"constant":false,"id":31922,"mutability":"mutable","name":"m2","nameLocation":"157140:2:21","nodeType":"VariableDeclaration","scope":31943,"src":"157132:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31921,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157132:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31923,"nodeType":"VariableDeclarationStatement","src":"157132:10:21"},{"assignments":[31925],"declarations":[{"constant":false,"id":31925,"mutability":"mutable","name":"m3","nameLocation":"157160:2:21","nodeType":"VariableDeclaration","scope":31943,"src":"157152:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157152:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31926,"nodeType":"VariableDeclarationStatement","src":"157152:10:21"},{"assignments":[31928],"declarations":[{"constant":false,"id":31928,"mutability":"mutable","name":"m4","nameLocation":"157180:2:21","nodeType":"VariableDeclaration","scope":31943,"src":"157172:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157172:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31929,"nodeType":"VariableDeclarationStatement","src":"157172:10:21"},{"assignments":[31931],"declarations":[{"constant":false,"id":31931,"mutability":"mutable","name":"m5","nameLocation":"157200:2:21","nodeType":"VariableDeclaration","scope":31943,"src":"157192:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31930,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157192:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31932,"nodeType":"VariableDeclarationStatement","src":"157192:10:21"},{"assignments":[31934],"declarations":[{"constant":false,"id":31934,"mutability":"mutable","name":"m6","nameLocation":"157220:2:21","nodeType":"VariableDeclaration","scope":31943,"src":"157212:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157212:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31935,"nodeType":"VariableDeclarationStatement","src":"157212:10:21"},{"AST":{"nativeSrc":"157284:831:21","nodeType":"YulBlock","src":"157284:831:21","statements":[{"body":{"nativeSrc":"157327:313:21","nodeType":"YulBlock","src":"157327:313:21","statements":[{"nativeSrc":"157345:15:21","nodeType":"YulVariableDeclaration","src":"157345:15:21","value":{"kind":"number","nativeSrc":"157359:1:21","nodeType":"YulLiteral","src":"157359:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"157349:6:21","nodeType":"YulTypedName","src":"157349:6:21","type":""}]},{"body":{"nativeSrc":"157430:40:21","nodeType":"YulBlock","src":"157430:40:21","statements":[{"body":{"nativeSrc":"157459:9:21","nodeType":"YulBlock","src":"157459:9:21","statements":[{"nativeSrc":"157461:5:21","nodeType":"YulBreak","src":"157461:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"157447:6:21","nodeType":"YulIdentifier","src":"157447:6:21"},{"name":"w","nativeSrc":"157455:1:21","nodeType":"YulIdentifier","src":"157455:1:21"}],"functionName":{"name":"byte","nativeSrc":"157442:4:21","nodeType":"YulIdentifier","src":"157442:4:21"},"nativeSrc":"157442:15:21","nodeType":"YulFunctionCall","src":"157442:15:21"}],"functionName":{"name":"iszero","nativeSrc":"157435:6:21","nodeType":"YulIdentifier","src":"157435:6:21"},"nativeSrc":"157435:23:21","nodeType":"YulFunctionCall","src":"157435:23:21"},"nativeSrc":"157432:36:21","nodeType":"YulIf","src":"157432:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"157387:6:21","nodeType":"YulIdentifier","src":"157387:6:21"},{"kind":"number","nativeSrc":"157395:4:21","nodeType":"YulLiteral","src":"157395:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"157384:2:21","nodeType":"YulIdentifier","src":"157384:2:21"},"nativeSrc":"157384:16:21","nodeType":"YulFunctionCall","src":"157384:16:21"},"nativeSrc":"157377:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"157401:28:21","nodeType":"YulBlock","src":"157401:28:21","statements":[{"nativeSrc":"157403:24:21","nodeType":"YulAssignment","src":"157403:24:21","value":{"arguments":[{"name":"length","nativeSrc":"157417:6:21","nodeType":"YulIdentifier","src":"157417:6:21"},{"kind":"number","nativeSrc":"157425:1:21","nodeType":"YulLiteral","src":"157425:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"157413:3:21","nodeType":"YulIdentifier","src":"157413:3:21"},"nativeSrc":"157413:14:21","nodeType":"YulFunctionCall","src":"157413:14:21"},"variableNames":[{"name":"length","nativeSrc":"157403:6:21","nodeType":"YulIdentifier","src":"157403:6:21"}]}]},"pre":{"nativeSrc":"157381:2:21","nodeType":"YulBlock","src":"157381:2:21","statements":[]},"src":"157377:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"157494:3:21","nodeType":"YulIdentifier","src":"157494:3:21"},{"name":"length","nativeSrc":"157499:6:21","nodeType":"YulIdentifier","src":"157499:6:21"}],"functionName":{"name":"mstore","nativeSrc":"157487:6:21","nodeType":"YulIdentifier","src":"157487:6:21"},"nativeSrc":"157487:19:21","nodeType":"YulFunctionCall","src":"157487:19:21"},"nativeSrc":"157487:19:21","nodeType":"YulExpressionStatement","src":"157487:19:21"},{"nativeSrc":"157523:37:21","nodeType":"YulVariableDeclaration","src":"157523:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"157540:3:21","nodeType":"YulLiteral","src":"157540:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"157549:1:21","nodeType":"YulLiteral","src":"157549:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"157552:6:21","nodeType":"YulIdentifier","src":"157552:6:21"}],"functionName":{"name":"shl","nativeSrc":"157545:3:21","nodeType":"YulIdentifier","src":"157545:3:21"},"nativeSrc":"157545:14:21","nodeType":"YulFunctionCall","src":"157545:14:21"}],"functionName":{"name":"sub","nativeSrc":"157536:3:21","nodeType":"YulIdentifier","src":"157536:3:21"},"nativeSrc":"157536:24:21","nodeType":"YulFunctionCall","src":"157536:24:21"},"variables":[{"name":"shift","nativeSrc":"157527:5:21","nodeType":"YulTypedName","src":"157527:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"157588:3:21","nodeType":"YulIdentifier","src":"157588:3:21"},{"kind":"number","nativeSrc":"157593:4:21","nodeType":"YulLiteral","src":"157593:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"157584:3:21","nodeType":"YulIdentifier","src":"157584:3:21"},"nativeSrc":"157584:14:21","nodeType":"YulFunctionCall","src":"157584:14:21"},{"arguments":[{"name":"shift","nativeSrc":"157604:5:21","nodeType":"YulIdentifier","src":"157604:5:21"},{"arguments":[{"name":"shift","nativeSrc":"157615:5:21","nodeType":"YulIdentifier","src":"157615:5:21"},{"name":"w","nativeSrc":"157622:1:21","nodeType":"YulIdentifier","src":"157622:1:21"}],"functionName":{"name":"shr","nativeSrc":"157611:3:21","nodeType":"YulIdentifier","src":"157611:3:21"},"nativeSrc":"157611:13:21","nodeType":"YulFunctionCall","src":"157611:13:21"}],"functionName":{"name":"shl","nativeSrc":"157600:3:21","nodeType":"YulIdentifier","src":"157600:3:21"},"nativeSrc":"157600:25:21","nodeType":"YulFunctionCall","src":"157600:25:21"}],"functionName":{"name":"mstore","nativeSrc":"157577:6:21","nodeType":"YulIdentifier","src":"157577:6:21"},"nativeSrc":"157577:49:21","nodeType":"YulFunctionCall","src":"157577:49:21"},"nativeSrc":"157577:49:21","nodeType":"YulExpressionStatement","src":"157577:49:21"}]},"name":"writeString","nativeSrc":"157298:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"157319:3:21","nodeType":"YulTypedName","src":"157319:3:21","type":""},{"name":"w","nativeSrc":"157324:1:21","nodeType":"YulTypedName","src":"157324:1:21","type":""}],"src":"157298:342:21"},{"nativeSrc":"157653:17:21","nodeType":"YulAssignment","src":"157653:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"157665:4:21","nodeType":"YulLiteral","src":"157665:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"157659:5:21","nodeType":"YulIdentifier","src":"157659:5:21"},"nativeSrc":"157659:11:21","nodeType":"YulFunctionCall","src":"157659:11:21"},"variableNames":[{"name":"m0","nativeSrc":"157653:2:21","nodeType":"YulIdentifier","src":"157653:2:21"}]},{"nativeSrc":"157683:17:21","nodeType":"YulAssignment","src":"157683:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"157695:4:21","nodeType":"YulLiteral","src":"157695:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"157689:5:21","nodeType":"YulIdentifier","src":"157689:5:21"},"nativeSrc":"157689:11:21","nodeType":"YulFunctionCall","src":"157689:11:21"},"variableNames":[{"name":"m1","nativeSrc":"157683:2:21","nodeType":"YulIdentifier","src":"157683:2:21"}]},{"nativeSrc":"157713:17:21","nodeType":"YulAssignment","src":"157713:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"157725:4:21","nodeType":"YulLiteral","src":"157725:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"157719:5:21","nodeType":"YulIdentifier","src":"157719:5:21"},"nativeSrc":"157719:11:21","nodeType":"YulFunctionCall","src":"157719:11:21"},"variableNames":[{"name":"m2","nativeSrc":"157713:2:21","nodeType":"YulIdentifier","src":"157713:2:21"}]},{"nativeSrc":"157743:17:21","nodeType":"YulAssignment","src":"157743:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"157755:4:21","nodeType":"YulLiteral","src":"157755:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"157749:5:21","nodeType":"YulIdentifier","src":"157749:5:21"},"nativeSrc":"157749:11:21","nodeType":"YulFunctionCall","src":"157749:11:21"},"variableNames":[{"name":"m3","nativeSrc":"157743:2:21","nodeType":"YulIdentifier","src":"157743:2:21"}]},{"nativeSrc":"157773:17:21","nodeType":"YulAssignment","src":"157773:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"157785:4:21","nodeType":"YulLiteral","src":"157785:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"157779:5:21","nodeType":"YulIdentifier","src":"157779:5:21"},"nativeSrc":"157779:11:21","nodeType":"YulFunctionCall","src":"157779:11:21"},"variableNames":[{"name":"m4","nativeSrc":"157773:2:21","nodeType":"YulIdentifier","src":"157773:2:21"}]},{"nativeSrc":"157803:17:21","nodeType":"YulAssignment","src":"157803:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"157815:4:21","nodeType":"YulLiteral","src":"157815:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"157809:5:21","nodeType":"YulIdentifier","src":"157809:5:21"},"nativeSrc":"157809:11:21","nodeType":"YulFunctionCall","src":"157809:11:21"},"variableNames":[{"name":"m5","nativeSrc":"157803:2:21","nodeType":"YulIdentifier","src":"157803:2:21"}]},{"nativeSrc":"157833:17:21","nodeType":"YulAssignment","src":"157833:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"157845:4:21","nodeType":"YulLiteral","src":"157845:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"157839:5:21","nodeType":"YulIdentifier","src":"157839:5:21"},"nativeSrc":"157839:11:21","nodeType":"YulFunctionCall","src":"157839:11:21"},"variableNames":[{"name":"m6","nativeSrc":"157833:2:21","nodeType":"YulIdentifier","src":"157833:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"157936:4:21","nodeType":"YulLiteral","src":"157936:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"157942:10:21","nodeType":"YulLiteral","src":"157942:10:21","type":"","value":"0x63183678"}],"functionName":{"name":"mstore","nativeSrc":"157929:6:21","nodeType":"YulIdentifier","src":"157929:6:21"},"nativeSrc":"157929:24:21","nodeType":"YulFunctionCall","src":"157929:24:21"},"nativeSrc":"157929:24:21","nodeType":"YulExpressionStatement","src":"157929:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"157973:4:21","nodeType":"YulLiteral","src":"157973:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"157979:2:21","nodeType":"YulIdentifier","src":"157979:2:21"}],"functionName":{"name":"mstore","nativeSrc":"157966:6:21","nodeType":"YulIdentifier","src":"157966:6:21"},"nativeSrc":"157966:16:21","nodeType":"YulFunctionCall","src":"157966:16:21"},"nativeSrc":"157966:16:21","nodeType":"YulExpressionStatement","src":"157966:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158002:4:21","nodeType":"YulLiteral","src":"158002:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"158008:4:21","nodeType":"YulLiteral","src":"158008:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"157995:6:21","nodeType":"YulIdentifier","src":"157995:6:21"},"nativeSrc":"157995:18:21","nodeType":"YulFunctionCall","src":"157995:18:21"},"nativeSrc":"157995:18:21","nodeType":"YulExpressionStatement","src":"157995:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158033:4:21","nodeType":"YulLiteral","src":"158033:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"158039:2:21","nodeType":"YulIdentifier","src":"158039:2:21"}],"functionName":{"name":"mstore","nativeSrc":"158026:6:21","nodeType":"YulIdentifier","src":"158026:6:21"},"nativeSrc":"158026:16:21","nodeType":"YulFunctionCall","src":"158026:16:21"},"nativeSrc":"158026:16:21","nodeType":"YulExpressionStatement","src":"158026:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158062:4:21","nodeType":"YulLiteral","src":"158062:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"158068:2:21","nodeType":"YulIdentifier","src":"158068:2:21"}],"functionName":{"name":"mstore","nativeSrc":"158055:6:21","nodeType":"YulIdentifier","src":"158055:6:21"},"nativeSrc":"158055:16:21","nodeType":"YulFunctionCall","src":"158055:16:21"},"nativeSrc":"158055:16:21","nodeType":"YulExpressionStatement","src":"158055:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158096:4:21","nodeType":"YulLiteral","src":"158096:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"158102:2:21","nodeType":"YulIdentifier","src":"158102:2:21"}],"functionName":{"name":"writeString","nativeSrc":"158084:11:21","nodeType":"YulIdentifier","src":"158084:11:21"},"nativeSrc":"158084:21:21","nodeType":"YulFunctionCall","src":"158084:21:21"},"nativeSrc":"158084:21:21","nodeType":"YulExpressionStatement","src":"158084:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31916,"isOffset":false,"isSlot":false,"src":"157653:2:21","valueSize":1},{"declaration":31919,"isOffset":false,"isSlot":false,"src":"157683:2:21","valueSize":1},{"declaration":31922,"isOffset":false,"isSlot":false,"src":"157713:2:21","valueSize":1},{"declaration":31925,"isOffset":false,"isSlot":false,"src":"157743:2:21","valueSize":1},{"declaration":31928,"isOffset":false,"isSlot":false,"src":"157773:2:21","valueSize":1},{"declaration":31931,"isOffset":false,"isSlot":false,"src":"157803:2:21","valueSize":1},{"declaration":31934,"isOffset":false,"isSlot":false,"src":"157833:2:21","valueSize":1},{"declaration":31906,"isOffset":false,"isSlot":false,"src":"157979:2:21","valueSize":1},{"declaration":31908,"isOffset":false,"isSlot":false,"src":"158102:2:21","valueSize":1},{"declaration":31910,"isOffset":false,"isSlot":false,"src":"158039:2:21","valueSize":1},{"declaration":31912,"isOffset":false,"isSlot":false,"src":"158068:2:21","valueSize":1}],"id":31936,"nodeType":"InlineAssembly","src":"157275:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"158140:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"158146:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31937,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"158124:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"158124:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31941,"nodeType":"ExpressionStatement","src":"158124:27:21"},{"AST":{"nativeSrc":"158213:214:21","nodeType":"YulBlock","src":"158213:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"158234:4:21","nodeType":"YulLiteral","src":"158234:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"158240:2:21","nodeType":"YulIdentifier","src":"158240:2:21"}],"functionName":{"name":"mstore","nativeSrc":"158227:6:21","nodeType":"YulIdentifier","src":"158227:6:21"},"nativeSrc":"158227:16:21","nodeType":"YulFunctionCall","src":"158227:16:21"},"nativeSrc":"158227:16:21","nodeType":"YulExpressionStatement","src":"158227:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158263:4:21","nodeType":"YulLiteral","src":"158263:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"158269:2:21","nodeType":"YulIdentifier","src":"158269:2:21"}],"functionName":{"name":"mstore","nativeSrc":"158256:6:21","nodeType":"YulIdentifier","src":"158256:6:21"},"nativeSrc":"158256:16:21","nodeType":"YulFunctionCall","src":"158256:16:21"},"nativeSrc":"158256:16:21","nodeType":"YulExpressionStatement","src":"158256:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158292:4:21","nodeType":"YulLiteral","src":"158292:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"158298:2:21","nodeType":"YulIdentifier","src":"158298:2:21"}],"functionName":{"name":"mstore","nativeSrc":"158285:6:21","nodeType":"YulIdentifier","src":"158285:6:21"},"nativeSrc":"158285:16:21","nodeType":"YulFunctionCall","src":"158285:16:21"},"nativeSrc":"158285:16:21","nodeType":"YulExpressionStatement","src":"158285:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158321:4:21","nodeType":"YulLiteral","src":"158321:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"158327:2:21","nodeType":"YulIdentifier","src":"158327:2:21"}],"functionName":{"name":"mstore","nativeSrc":"158314:6:21","nodeType":"YulIdentifier","src":"158314:6:21"},"nativeSrc":"158314:16:21","nodeType":"YulFunctionCall","src":"158314:16:21"},"nativeSrc":"158314:16:21","nodeType":"YulExpressionStatement","src":"158314:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158350:4:21","nodeType":"YulLiteral","src":"158350:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"158356:2:21","nodeType":"YulIdentifier","src":"158356:2:21"}],"functionName":{"name":"mstore","nativeSrc":"158343:6:21","nodeType":"YulIdentifier","src":"158343:6:21"},"nativeSrc":"158343:16:21","nodeType":"YulFunctionCall","src":"158343:16:21"},"nativeSrc":"158343:16:21","nodeType":"YulExpressionStatement","src":"158343:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158379:4:21","nodeType":"YulLiteral","src":"158379:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"158385:2:21","nodeType":"YulIdentifier","src":"158385:2:21"}],"functionName":{"name":"mstore","nativeSrc":"158372:6:21","nodeType":"YulIdentifier","src":"158372:6:21"},"nativeSrc":"158372:16:21","nodeType":"YulFunctionCall","src":"158372:16:21"},"nativeSrc":"158372:16:21","nodeType":"YulExpressionStatement","src":"158372:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158408:4:21","nodeType":"YulLiteral","src":"158408:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"158414:2:21","nodeType":"YulIdentifier","src":"158414:2:21"}],"functionName":{"name":"mstore","nativeSrc":"158401:6:21","nodeType":"YulIdentifier","src":"158401:6:21"},"nativeSrc":"158401:16:21","nodeType":"YulFunctionCall","src":"158401:16:21"},"nativeSrc":"158401:16:21","nodeType":"YulExpressionStatement","src":"158401:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31916,"isOffset":false,"isSlot":false,"src":"158240:2:21","valueSize":1},{"declaration":31919,"isOffset":false,"isSlot":false,"src":"158269:2:21","valueSize":1},{"declaration":31922,"isOffset":false,"isSlot":false,"src":"158298:2:21","valueSize":1},{"declaration":31925,"isOffset":false,"isSlot":false,"src":"158327:2:21","valueSize":1},{"declaration":31928,"isOffset":false,"isSlot":false,"src":"158356:2:21","valueSize":1},{"declaration":31931,"isOffset":false,"isSlot":false,"src":"158385:2:21","valueSize":1},{"declaration":31934,"isOffset":false,"isSlot":false,"src":"158414:2:21","valueSize":1}],"id":31942,"nodeType":"InlineAssembly","src":"158204:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"157016:3:21","parameters":{"id":31913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31906,"mutability":"mutable","name":"p0","nameLocation":"157028:2:21","nodeType":"VariableDeclaration","scope":31944,"src":"157020:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31905,"name":"address","nodeType":"ElementaryTypeName","src":"157020:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31908,"mutability":"mutable","name":"p1","nameLocation":"157040:2:21","nodeType":"VariableDeclaration","scope":31944,"src":"157032:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31907,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157032:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31910,"mutability":"mutable","name":"p2","nameLocation":"157052:2:21","nodeType":"VariableDeclaration","scope":31944,"src":"157044:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31909,"name":"uint256","nodeType":"ElementaryTypeName","src":"157044:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31912,"mutability":"mutable","name":"p3","nameLocation":"157064:2:21","nodeType":"VariableDeclaration","scope":31944,"src":"157056:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31911,"name":"address","nodeType":"ElementaryTypeName","src":"157056:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"157019:48:21"},"returnParameters":{"id":31914,"nodeType":"ParameterList","parameters":[],"src":"157082:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31984,"nodeType":"FunctionDefinition","src":"158439:1420:21","nodes":[],"body":{"id":31983,"nodeType":"Block","src":"158511:1348:21","nodes":[],"statements":[{"assignments":[31956],"declarations":[{"constant":false,"id":31956,"mutability":"mutable","name":"m0","nameLocation":"158529:2:21","nodeType":"VariableDeclaration","scope":31983,"src":"158521:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158521:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31957,"nodeType":"VariableDeclarationStatement","src":"158521:10:21"},{"assignments":[31959],"declarations":[{"constant":false,"id":31959,"mutability":"mutable","name":"m1","nameLocation":"158549:2:21","nodeType":"VariableDeclaration","scope":31983,"src":"158541:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158541:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31960,"nodeType":"VariableDeclarationStatement","src":"158541:10:21"},{"assignments":[31962],"declarations":[{"constant":false,"id":31962,"mutability":"mutable","name":"m2","nameLocation":"158569:2:21","nodeType":"VariableDeclaration","scope":31983,"src":"158561:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158561:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31963,"nodeType":"VariableDeclarationStatement","src":"158561:10:21"},{"assignments":[31965],"declarations":[{"constant":false,"id":31965,"mutability":"mutable","name":"m3","nameLocation":"158589:2:21","nodeType":"VariableDeclaration","scope":31983,"src":"158581:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158581:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31966,"nodeType":"VariableDeclarationStatement","src":"158581:10:21"},{"assignments":[31968],"declarations":[{"constant":false,"id":31968,"mutability":"mutable","name":"m4","nameLocation":"158609:2:21","nodeType":"VariableDeclaration","scope":31983,"src":"158601:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158601:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31969,"nodeType":"VariableDeclarationStatement","src":"158601:10:21"},{"assignments":[31971],"declarations":[{"constant":false,"id":31971,"mutability":"mutable","name":"m5","nameLocation":"158629:2:21","nodeType":"VariableDeclaration","scope":31983,"src":"158621:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158621:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31972,"nodeType":"VariableDeclarationStatement","src":"158621:10:21"},{"assignments":[31974],"declarations":[{"constant":false,"id":31974,"mutability":"mutable","name":"m6","nameLocation":"158649:2:21","nodeType":"VariableDeclaration","scope":31983,"src":"158641:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158641:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31975,"nodeType":"VariableDeclarationStatement","src":"158641:10:21"},{"AST":{"nativeSrc":"158713:828:21","nodeType":"YulBlock","src":"158713:828:21","statements":[{"body":{"nativeSrc":"158756:313:21","nodeType":"YulBlock","src":"158756:313:21","statements":[{"nativeSrc":"158774:15:21","nodeType":"YulVariableDeclaration","src":"158774:15:21","value":{"kind":"number","nativeSrc":"158788:1:21","nodeType":"YulLiteral","src":"158788:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"158778:6:21","nodeType":"YulTypedName","src":"158778:6:21","type":""}]},{"body":{"nativeSrc":"158859:40:21","nodeType":"YulBlock","src":"158859:40:21","statements":[{"body":{"nativeSrc":"158888:9:21","nodeType":"YulBlock","src":"158888:9:21","statements":[{"nativeSrc":"158890:5:21","nodeType":"YulBreak","src":"158890:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"158876:6:21","nodeType":"YulIdentifier","src":"158876:6:21"},{"name":"w","nativeSrc":"158884:1:21","nodeType":"YulIdentifier","src":"158884:1:21"}],"functionName":{"name":"byte","nativeSrc":"158871:4:21","nodeType":"YulIdentifier","src":"158871:4:21"},"nativeSrc":"158871:15:21","nodeType":"YulFunctionCall","src":"158871:15:21"}],"functionName":{"name":"iszero","nativeSrc":"158864:6:21","nodeType":"YulIdentifier","src":"158864:6:21"},"nativeSrc":"158864:23:21","nodeType":"YulFunctionCall","src":"158864:23:21"},"nativeSrc":"158861:36:21","nodeType":"YulIf","src":"158861:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"158816:6:21","nodeType":"YulIdentifier","src":"158816:6:21"},{"kind":"number","nativeSrc":"158824:4:21","nodeType":"YulLiteral","src":"158824:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"158813:2:21","nodeType":"YulIdentifier","src":"158813:2:21"},"nativeSrc":"158813:16:21","nodeType":"YulFunctionCall","src":"158813:16:21"},"nativeSrc":"158806:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"158830:28:21","nodeType":"YulBlock","src":"158830:28:21","statements":[{"nativeSrc":"158832:24:21","nodeType":"YulAssignment","src":"158832:24:21","value":{"arguments":[{"name":"length","nativeSrc":"158846:6:21","nodeType":"YulIdentifier","src":"158846:6:21"},{"kind":"number","nativeSrc":"158854:1:21","nodeType":"YulLiteral","src":"158854:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"158842:3:21","nodeType":"YulIdentifier","src":"158842:3:21"},"nativeSrc":"158842:14:21","nodeType":"YulFunctionCall","src":"158842:14:21"},"variableNames":[{"name":"length","nativeSrc":"158832:6:21","nodeType":"YulIdentifier","src":"158832:6:21"}]}]},"pre":{"nativeSrc":"158810:2:21","nodeType":"YulBlock","src":"158810:2:21","statements":[]},"src":"158806:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"158923:3:21","nodeType":"YulIdentifier","src":"158923:3:21"},{"name":"length","nativeSrc":"158928:6:21","nodeType":"YulIdentifier","src":"158928:6:21"}],"functionName":{"name":"mstore","nativeSrc":"158916:6:21","nodeType":"YulIdentifier","src":"158916:6:21"},"nativeSrc":"158916:19:21","nodeType":"YulFunctionCall","src":"158916:19:21"},"nativeSrc":"158916:19:21","nodeType":"YulExpressionStatement","src":"158916:19:21"},{"nativeSrc":"158952:37:21","nodeType":"YulVariableDeclaration","src":"158952:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"158969:3:21","nodeType":"YulLiteral","src":"158969:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"158978:1:21","nodeType":"YulLiteral","src":"158978:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"158981:6:21","nodeType":"YulIdentifier","src":"158981:6:21"}],"functionName":{"name":"shl","nativeSrc":"158974:3:21","nodeType":"YulIdentifier","src":"158974:3:21"},"nativeSrc":"158974:14:21","nodeType":"YulFunctionCall","src":"158974:14:21"}],"functionName":{"name":"sub","nativeSrc":"158965:3:21","nodeType":"YulIdentifier","src":"158965:3:21"},"nativeSrc":"158965:24:21","nodeType":"YulFunctionCall","src":"158965:24:21"},"variables":[{"name":"shift","nativeSrc":"158956:5:21","nodeType":"YulTypedName","src":"158956:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"159017:3:21","nodeType":"YulIdentifier","src":"159017:3:21"},{"kind":"number","nativeSrc":"159022:4:21","nodeType":"YulLiteral","src":"159022:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"159013:3:21","nodeType":"YulIdentifier","src":"159013:3:21"},"nativeSrc":"159013:14:21","nodeType":"YulFunctionCall","src":"159013:14:21"},{"arguments":[{"name":"shift","nativeSrc":"159033:5:21","nodeType":"YulIdentifier","src":"159033:5:21"},{"arguments":[{"name":"shift","nativeSrc":"159044:5:21","nodeType":"YulIdentifier","src":"159044:5:21"},{"name":"w","nativeSrc":"159051:1:21","nodeType":"YulIdentifier","src":"159051:1:21"}],"functionName":{"name":"shr","nativeSrc":"159040:3:21","nodeType":"YulIdentifier","src":"159040:3:21"},"nativeSrc":"159040:13:21","nodeType":"YulFunctionCall","src":"159040:13:21"}],"functionName":{"name":"shl","nativeSrc":"159029:3:21","nodeType":"YulIdentifier","src":"159029:3:21"},"nativeSrc":"159029:25:21","nodeType":"YulFunctionCall","src":"159029:25:21"}],"functionName":{"name":"mstore","nativeSrc":"159006:6:21","nodeType":"YulIdentifier","src":"159006:6:21"},"nativeSrc":"159006:49:21","nodeType":"YulFunctionCall","src":"159006:49:21"},"nativeSrc":"159006:49:21","nodeType":"YulExpressionStatement","src":"159006:49:21"}]},"name":"writeString","nativeSrc":"158727:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"158748:3:21","nodeType":"YulTypedName","src":"158748:3:21","type":""},{"name":"w","nativeSrc":"158753:1:21","nodeType":"YulTypedName","src":"158753:1:21","type":""}],"src":"158727:342:21"},{"nativeSrc":"159082:17:21","nodeType":"YulAssignment","src":"159082:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"159094:4:21","nodeType":"YulLiteral","src":"159094:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"159088:5:21","nodeType":"YulIdentifier","src":"159088:5:21"},"nativeSrc":"159088:11:21","nodeType":"YulFunctionCall","src":"159088:11:21"},"variableNames":[{"name":"m0","nativeSrc":"159082:2:21","nodeType":"YulIdentifier","src":"159082:2:21"}]},{"nativeSrc":"159112:17:21","nodeType":"YulAssignment","src":"159112:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"159124:4:21","nodeType":"YulLiteral","src":"159124:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"159118:5:21","nodeType":"YulIdentifier","src":"159118:5:21"},"nativeSrc":"159118:11:21","nodeType":"YulFunctionCall","src":"159118:11:21"},"variableNames":[{"name":"m1","nativeSrc":"159112:2:21","nodeType":"YulIdentifier","src":"159112:2:21"}]},{"nativeSrc":"159142:17:21","nodeType":"YulAssignment","src":"159142:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"159154:4:21","nodeType":"YulLiteral","src":"159154:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"159148:5:21","nodeType":"YulIdentifier","src":"159148:5:21"},"nativeSrc":"159148:11:21","nodeType":"YulFunctionCall","src":"159148:11:21"},"variableNames":[{"name":"m2","nativeSrc":"159142:2:21","nodeType":"YulIdentifier","src":"159142:2:21"}]},{"nativeSrc":"159172:17:21","nodeType":"YulAssignment","src":"159172:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"159184:4:21","nodeType":"YulLiteral","src":"159184:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"159178:5:21","nodeType":"YulIdentifier","src":"159178:5:21"},"nativeSrc":"159178:11:21","nodeType":"YulFunctionCall","src":"159178:11:21"},"variableNames":[{"name":"m3","nativeSrc":"159172:2:21","nodeType":"YulIdentifier","src":"159172:2:21"}]},{"nativeSrc":"159202:17:21","nodeType":"YulAssignment","src":"159202:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"159214:4:21","nodeType":"YulLiteral","src":"159214:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"159208:5:21","nodeType":"YulIdentifier","src":"159208:5:21"},"nativeSrc":"159208:11:21","nodeType":"YulFunctionCall","src":"159208:11:21"},"variableNames":[{"name":"m4","nativeSrc":"159202:2:21","nodeType":"YulIdentifier","src":"159202:2:21"}]},{"nativeSrc":"159232:17:21","nodeType":"YulAssignment","src":"159232:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"159244:4:21","nodeType":"YulLiteral","src":"159244:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"159238:5:21","nodeType":"YulIdentifier","src":"159238:5:21"},"nativeSrc":"159238:11:21","nodeType":"YulFunctionCall","src":"159238:11:21"},"variableNames":[{"name":"m5","nativeSrc":"159232:2:21","nodeType":"YulIdentifier","src":"159232:2:21"}]},{"nativeSrc":"159262:17:21","nodeType":"YulAssignment","src":"159262:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"159274:4:21","nodeType":"YulLiteral","src":"159274:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"159268:5:21","nodeType":"YulIdentifier","src":"159268:5:21"},"nativeSrc":"159268:11:21","nodeType":"YulFunctionCall","src":"159268:11:21"},"variableNames":[{"name":"m6","nativeSrc":"159262:2:21","nodeType":"YulIdentifier","src":"159262:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159362:4:21","nodeType":"YulLiteral","src":"159362:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"159368:10:21","nodeType":"YulLiteral","src":"159368:10:21","type":"","value":"0x0ef7e050"}],"functionName":{"name":"mstore","nativeSrc":"159355:6:21","nodeType":"YulIdentifier","src":"159355:6:21"},"nativeSrc":"159355:24:21","nodeType":"YulFunctionCall","src":"159355:24:21"},"nativeSrc":"159355:24:21","nodeType":"YulExpressionStatement","src":"159355:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159399:4:21","nodeType":"YulLiteral","src":"159399:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"159405:2:21","nodeType":"YulIdentifier","src":"159405:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159392:6:21","nodeType":"YulIdentifier","src":"159392:6:21"},"nativeSrc":"159392:16:21","nodeType":"YulFunctionCall","src":"159392:16:21"},"nativeSrc":"159392:16:21","nodeType":"YulExpressionStatement","src":"159392:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159428:4:21","nodeType":"YulLiteral","src":"159428:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"159434:4:21","nodeType":"YulLiteral","src":"159434:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"159421:6:21","nodeType":"YulIdentifier","src":"159421:6:21"},"nativeSrc":"159421:18:21","nodeType":"YulFunctionCall","src":"159421:18:21"},"nativeSrc":"159421:18:21","nodeType":"YulExpressionStatement","src":"159421:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159459:4:21","nodeType":"YulLiteral","src":"159459:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"159465:2:21","nodeType":"YulIdentifier","src":"159465:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159452:6:21","nodeType":"YulIdentifier","src":"159452:6:21"},"nativeSrc":"159452:16:21","nodeType":"YulFunctionCall","src":"159452:16:21"},"nativeSrc":"159452:16:21","nodeType":"YulExpressionStatement","src":"159452:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159488:4:21","nodeType":"YulLiteral","src":"159488:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"159494:2:21","nodeType":"YulIdentifier","src":"159494:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159481:6:21","nodeType":"YulIdentifier","src":"159481:6:21"},"nativeSrc":"159481:16:21","nodeType":"YulFunctionCall","src":"159481:16:21"},"nativeSrc":"159481:16:21","nodeType":"YulExpressionStatement","src":"159481:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159522:4:21","nodeType":"YulLiteral","src":"159522:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"159528:2:21","nodeType":"YulIdentifier","src":"159528:2:21"}],"functionName":{"name":"writeString","nativeSrc":"159510:11:21","nodeType":"YulIdentifier","src":"159510:11:21"},"nativeSrc":"159510:21:21","nodeType":"YulFunctionCall","src":"159510:21:21"},"nativeSrc":"159510:21:21","nodeType":"YulExpressionStatement","src":"159510:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31956,"isOffset":false,"isSlot":false,"src":"159082:2:21","valueSize":1},{"declaration":31959,"isOffset":false,"isSlot":false,"src":"159112:2:21","valueSize":1},{"declaration":31962,"isOffset":false,"isSlot":false,"src":"159142:2:21","valueSize":1},{"declaration":31965,"isOffset":false,"isSlot":false,"src":"159172:2:21","valueSize":1},{"declaration":31968,"isOffset":false,"isSlot":false,"src":"159202:2:21","valueSize":1},{"declaration":31971,"isOffset":false,"isSlot":false,"src":"159232:2:21","valueSize":1},{"declaration":31974,"isOffset":false,"isSlot":false,"src":"159262:2:21","valueSize":1},{"declaration":31946,"isOffset":false,"isSlot":false,"src":"159405:2:21","valueSize":1},{"declaration":31948,"isOffset":false,"isSlot":false,"src":"159528:2:21","valueSize":1},{"declaration":31950,"isOffset":false,"isSlot":false,"src":"159465:2:21","valueSize":1},{"declaration":31952,"isOffset":false,"isSlot":false,"src":"159494:2:21","valueSize":1}],"id":31976,"nodeType":"InlineAssembly","src":"158704:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":31978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"159566:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"159572:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"159550:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"159550:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31981,"nodeType":"ExpressionStatement","src":"159550:27:21"},{"AST":{"nativeSrc":"159639:214:21","nodeType":"YulBlock","src":"159639:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"159660:4:21","nodeType":"YulLiteral","src":"159660:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"159666:2:21","nodeType":"YulIdentifier","src":"159666:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159653:6:21","nodeType":"YulIdentifier","src":"159653:6:21"},"nativeSrc":"159653:16:21","nodeType":"YulFunctionCall","src":"159653:16:21"},"nativeSrc":"159653:16:21","nodeType":"YulExpressionStatement","src":"159653:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159689:4:21","nodeType":"YulLiteral","src":"159689:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"159695:2:21","nodeType":"YulIdentifier","src":"159695:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159682:6:21","nodeType":"YulIdentifier","src":"159682:6:21"},"nativeSrc":"159682:16:21","nodeType":"YulFunctionCall","src":"159682:16:21"},"nativeSrc":"159682:16:21","nodeType":"YulExpressionStatement","src":"159682:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159718:4:21","nodeType":"YulLiteral","src":"159718:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"159724:2:21","nodeType":"YulIdentifier","src":"159724:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159711:6:21","nodeType":"YulIdentifier","src":"159711:6:21"},"nativeSrc":"159711:16:21","nodeType":"YulFunctionCall","src":"159711:16:21"},"nativeSrc":"159711:16:21","nodeType":"YulExpressionStatement","src":"159711:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159747:4:21","nodeType":"YulLiteral","src":"159747:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"159753:2:21","nodeType":"YulIdentifier","src":"159753:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159740:6:21","nodeType":"YulIdentifier","src":"159740:6:21"},"nativeSrc":"159740:16:21","nodeType":"YulFunctionCall","src":"159740:16:21"},"nativeSrc":"159740:16:21","nodeType":"YulExpressionStatement","src":"159740:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159776:4:21","nodeType":"YulLiteral","src":"159776:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"159782:2:21","nodeType":"YulIdentifier","src":"159782:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159769:6:21","nodeType":"YulIdentifier","src":"159769:6:21"},"nativeSrc":"159769:16:21","nodeType":"YulFunctionCall","src":"159769:16:21"},"nativeSrc":"159769:16:21","nodeType":"YulExpressionStatement","src":"159769:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159805:4:21","nodeType":"YulLiteral","src":"159805:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"159811:2:21","nodeType":"YulIdentifier","src":"159811:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159798:6:21","nodeType":"YulIdentifier","src":"159798:6:21"},"nativeSrc":"159798:16:21","nodeType":"YulFunctionCall","src":"159798:16:21"},"nativeSrc":"159798:16:21","nodeType":"YulExpressionStatement","src":"159798:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159834:4:21","nodeType":"YulLiteral","src":"159834:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"159840:2:21","nodeType":"YulIdentifier","src":"159840:2:21"}],"functionName":{"name":"mstore","nativeSrc":"159827:6:21","nodeType":"YulIdentifier","src":"159827:6:21"},"nativeSrc":"159827:16:21","nodeType":"YulFunctionCall","src":"159827:16:21"},"nativeSrc":"159827:16:21","nodeType":"YulExpressionStatement","src":"159827:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31956,"isOffset":false,"isSlot":false,"src":"159666:2:21","valueSize":1},{"declaration":31959,"isOffset":false,"isSlot":false,"src":"159695:2:21","valueSize":1},{"declaration":31962,"isOffset":false,"isSlot":false,"src":"159724:2:21","valueSize":1},{"declaration":31965,"isOffset":false,"isSlot":false,"src":"159753:2:21","valueSize":1},{"declaration":31968,"isOffset":false,"isSlot":false,"src":"159782:2:21","valueSize":1},{"declaration":31971,"isOffset":false,"isSlot":false,"src":"159811:2:21","valueSize":1},{"declaration":31974,"isOffset":false,"isSlot":false,"src":"159840:2:21","valueSize":1}],"id":31982,"nodeType":"InlineAssembly","src":"159630:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"158448:3:21","parameters":{"id":31953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31946,"mutability":"mutable","name":"p0","nameLocation":"158460:2:21","nodeType":"VariableDeclaration","scope":31984,"src":"158452:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31945,"name":"address","nodeType":"ElementaryTypeName","src":"158452:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31948,"mutability":"mutable","name":"p1","nameLocation":"158472:2:21","nodeType":"VariableDeclaration","scope":31984,"src":"158464:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31947,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158464:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31950,"mutability":"mutable","name":"p2","nameLocation":"158484:2:21","nodeType":"VariableDeclaration","scope":31984,"src":"158476:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31949,"name":"uint256","nodeType":"ElementaryTypeName","src":"158476:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31952,"mutability":"mutable","name":"p3","nameLocation":"158493:2:21","nodeType":"VariableDeclaration","scope":31984,"src":"158488:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31951,"name":"bool","nodeType":"ElementaryTypeName","src":"158488:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"158451:45:21"},"returnParameters":{"id":31954,"nodeType":"ParameterList","parameters":[],"src":"158511:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32024,"nodeType":"FunctionDefinition","src":"159865:1426:21","nodes":[],"body":{"id":32023,"nodeType":"Block","src":"159940:1351:21","nodes":[],"statements":[{"assignments":[31996],"declarations":[{"constant":false,"id":31996,"mutability":"mutable","name":"m0","nameLocation":"159958:2:21","nodeType":"VariableDeclaration","scope":32023,"src":"159950:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159950:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31997,"nodeType":"VariableDeclarationStatement","src":"159950:10:21"},{"assignments":[31999],"declarations":[{"constant":false,"id":31999,"mutability":"mutable","name":"m1","nameLocation":"159978:2:21","nodeType":"VariableDeclaration","scope":32023,"src":"159970:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159970:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32000,"nodeType":"VariableDeclarationStatement","src":"159970:10:21"},{"assignments":[32002],"declarations":[{"constant":false,"id":32002,"mutability":"mutable","name":"m2","nameLocation":"159998:2:21","nodeType":"VariableDeclaration","scope":32023,"src":"159990:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159990:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32003,"nodeType":"VariableDeclarationStatement","src":"159990:10:21"},{"assignments":[32005],"declarations":[{"constant":false,"id":32005,"mutability":"mutable","name":"m3","nameLocation":"160018:2:21","nodeType":"VariableDeclaration","scope":32023,"src":"160010:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160010:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32006,"nodeType":"VariableDeclarationStatement","src":"160010:10:21"},{"assignments":[32008],"declarations":[{"constant":false,"id":32008,"mutability":"mutable","name":"m4","nameLocation":"160038:2:21","nodeType":"VariableDeclaration","scope":32023,"src":"160030:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160030:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32009,"nodeType":"VariableDeclarationStatement","src":"160030:10:21"},{"assignments":[32011],"declarations":[{"constant":false,"id":32011,"mutability":"mutable","name":"m5","nameLocation":"160058:2:21","nodeType":"VariableDeclaration","scope":32023,"src":"160050:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160050:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32012,"nodeType":"VariableDeclarationStatement","src":"160050:10:21"},{"assignments":[32014],"declarations":[{"constant":false,"id":32014,"mutability":"mutable","name":"m6","nameLocation":"160078:2:21","nodeType":"VariableDeclaration","scope":32023,"src":"160070:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160070:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32015,"nodeType":"VariableDeclarationStatement","src":"160070:10:21"},{"AST":{"nativeSrc":"160142:831:21","nodeType":"YulBlock","src":"160142:831:21","statements":[{"body":{"nativeSrc":"160185:313:21","nodeType":"YulBlock","src":"160185:313:21","statements":[{"nativeSrc":"160203:15:21","nodeType":"YulVariableDeclaration","src":"160203:15:21","value":{"kind":"number","nativeSrc":"160217:1:21","nodeType":"YulLiteral","src":"160217:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"160207:6:21","nodeType":"YulTypedName","src":"160207:6:21","type":""}]},{"body":{"nativeSrc":"160288:40:21","nodeType":"YulBlock","src":"160288:40:21","statements":[{"body":{"nativeSrc":"160317:9:21","nodeType":"YulBlock","src":"160317:9:21","statements":[{"nativeSrc":"160319:5:21","nodeType":"YulBreak","src":"160319:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"160305:6:21","nodeType":"YulIdentifier","src":"160305:6:21"},{"name":"w","nativeSrc":"160313:1:21","nodeType":"YulIdentifier","src":"160313:1:21"}],"functionName":{"name":"byte","nativeSrc":"160300:4:21","nodeType":"YulIdentifier","src":"160300:4:21"},"nativeSrc":"160300:15:21","nodeType":"YulFunctionCall","src":"160300:15:21"}],"functionName":{"name":"iszero","nativeSrc":"160293:6:21","nodeType":"YulIdentifier","src":"160293:6:21"},"nativeSrc":"160293:23:21","nodeType":"YulFunctionCall","src":"160293:23:21"},"nativeSrc":"160290:36:21","nodeType":"YulIf","src":"160290:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"160245:6:21","nodeType":"YulIdentifier","src":"160245:6:21"},{"kind":"number","nativeSrc":"160253:4:21","nodeType":"YulLiteral","src":"160253:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"160242:2:21","nodeType":"YulIdentifier","src":"160242:2:21"},"nativeSrc":"160242:16:21","nodeType":"YulFunctionCall","src":"160242:16:21"},"nativeSrc":"160235:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"160259:28:21","nodeType":"YulBlock","src":"160259:28:21","statements":[{"nativeSrc":"160261:24:21","nodeType":"YulAssignment","src":"160261:24:21","value":{"arguments":[{"name":"length","nativeSrc":"160275:6:21","nodeType":"YulIdentifier","src":"160275:6:21"},{"kind":"number","nativeSrc":"160283:1:21","nodeType":"YulLiteral","src":"160283:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"160271:3:21","nodeType":"YulIdentifier","src":"160271:3:21"},"nativeSrc":"160271:14:21","nodeType":"YulFunctionCall","src":"160271:14:21"},"variableNames":[{"name":"length","nativeSrc":"160261:6:21","nodeType":"YulIdentifier","src":"160261:6:21"}]}]},"pre":{"nativeSrc":"160239:2:21","nodeType":"YulBlock","src":"160239:2:21","statements":[]},"src":"160235:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"160352:3:21","nodeType":"YulIdentifier","src":"160352:3:21"},{"name":"length","nativeSrc":"160357:6:21","nodeType":"YulIdentifier","src":"160357:6:21"}],"functionName":{"name":"mstore","nativeSrc":"160345:6:21","nodeType":"YulIdentifier","src":"160345:6:21"},"nativeSrc":"160345:19:21","nodeType":"YulFunctionCall","src":"160345:19:21"},"nativeSrc":"160345:19:21","nodeType":"YulExpressionStatement","src":"160345:19:21"},{"nativeSrc":"160381:37:21","nodeType":"YulVariableDeclaration","src":"160381:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"160398:3:21","nodeType":"YulLiteral","src":"160398:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"160407:1:21","nodeType":"YulLiteral","src":"160407:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"160410:6:21","nodeType":"YulIdentifier","src":"160410:6:21"}],"functionName":{"name":"shl","nativeSrc":"160403:3:21","nodeType":"YulIdentifier","src":"160403:3:21"},"nativeSrc":"160403:14:21","nodeType":"YulFunctionCall","src":"160403:14:21"}],"functionName":{"name":"sub","nativeSrc":"160394:3:21","nodeType":"YulIdentifier","src":"160394:3:21"},"nativeSrc":"160394:24:21","nodeType":"YulFunctionCall","src":"160394:24:21"},"variables":[{"name":"shift","nativeSrc":"160385:5:21","nodeType":"YulTypedName","src":"160385:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"160446:3:21","nodeType":"YulIdentifier","src":"160446:3:21"},{"kind":"number","nativeSrc":"160451:4:21","nodeType":"YulLiteral","src":"160451:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"160442:3:21","nodeType":"YulIdentifier","src":"160442:3:21"},"nativeSrc":"160442:14:21","nodeType":"YulFunctionCall","src":"160442:14:21"},{"arguments":[{"name":"shift","nativeSrc":"160462:5:21","nodeType":"YulIdentifier","src":"160462:5:21"},{"arguments":[{"name":"shift","nativeSrc":"160473:5:21","nodeType":"YulIdentifier","src":"160473:5:21"},{"name":"w","nativeSrc":"160480:1:21","nodeType":"YulIdentifier","src":"160480:1:21"}],"functionName":{"name":"shr","nativeSrc":"160469:3:21","nodeType":"YulIdentifier","src":"160469:3:21"},"nativeSrc":"160469:13:21","nodeType":"YulFunctionCall","src":"160469:13:21"}],"functionName":{"name":"shl","nativeSrc":"160458:3:21","nodeType":"YulIdentifier","src":"160458:3:21"},"nativeSrc":"160458:25:21","nodeType":"YulFunctionCall","src":"160458:25:21"}],"functionName":{"name":"mstore","nativeSrc":"160435:6:21","nodeType":"YulIdentifier","src":"160435:6:21"},"nativeSrc":"160435:49:21","nodeType":"YulFunctionCall","src":"160435:49:21"},"nativeSrc":"160435:49:21","nodeType":"YulExpressionStatement","src":"160435:49:21"}]},"name":"writeString","nativeSrc":"160156:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"160177:3:21","nodeType":"YulTypedName","src":"160177:3:21","type":""},{"name":"w","nativeSrc":"160182:1:21","nodeType":"YulTypedName","src":"160182:1:21","type":""}],"src":"160156:342:21"},{"nativeSrc":"160511:17:21","nodeType":"YulAssignment","src":"160511:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"160523:4:21","nodeType":"YulLiteral","src":"160523:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"160517:5:21","nodeType":"YulIdentifier","src":"160517:5:21"},"nativeSrc":"160517:11:21","nodeType":"YulFunctionCall","src":"160517:11:21"},"variableNames":[{"name":"m0","nativeSrc":"160511:2:21","nodeType":"YulIdentifier","src":"160511:2:21"}]},{"nativeSrc":"160541:17:21","nodeType":"YulAssignment","src":"160541:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"160553:4:21","nodeType":"YulLiteral","src":"160553:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"160547:5:21","nodeType":"YulIdentifier","src":"160547:5:21"},"nativeSrc":"160547:11:21","nodeType":"YulFunctionCall","src":"160547:11:21"},"variableNames":[{"name":"m1","nativeSrc":"160541:2:21","nodeType":"YulIdentifier","src":"160541:2:21"}]},{"nativeSrc":"160571:17:21","nodeType":"YulAssignment","src":"160571:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"160583:4:21","nodeType":"YulLiteral","src":"160583:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"160577:5:21","nodeType":"YulIdentifier","src":"160577:5:21"},"nativeSrc":"160577:11:21","nodeType":"YulFunctionCall","src":"160577:11:21"},"variableNames":[{"name":"m2","nativeSrc":"160571:2:21","nodeType":"YulIdentifier","src":"160571:2:21"}]},{"nativeSrc":"160601:17:21","nodeType":"YulAssignment","src":"160601:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"160613:4:21","nodeType":"YulLiteral","src":"160613:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"160607:5:21","nodeType":"YulIdentifier","src":"160607:5:21"},"nativeSrc":"160607:11:21","nodeType":"YulFunctionCall","src":"160607:11:21"},"variableNames":[{"name":"m3","nativeSrc":"160601:2:21","nodeType":"YulIdentifier","src":"160601:2:21"}]},{"nativeSrc":"160631:17:21","nodeType":"YulAssignment","src":"160631:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"160643:4:21","nodeType":"YulLiteral","src":"160643:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"160637:5:21","nodeType":"YulIdentifier","src":"160637:5:21"},"nativeSrc":"160637:11:21","nodeType":"YulFunctionCall","src":"160637:11:21"},"variableNames":[{"name":"m4","nativeSrc":"160631:2:21","nodeType":"YulIdentifier","src":"160631:2:21"}]},{"nativeSrc":"160661:17:21","nodeType":"YulAssignment","src":"160661:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"160673:4:21","nodeType":"YulLiteral","src":"160673:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"160667:5:21","nodeType":"YulIdentifier","src":"160667:5:21"},"nativeSrc":"160667:11:21","nodeType":"YulFunctionCall","src":"160667:11:21"},"variableNames":[{"name":"m5","nativeSrc":"160661:2:21","nodeType":"YulIdentifier","src":"160661:2:21"}]},{"nativeSrc":"160691:17:21","nodeType":"YulAssignment","src":"160691:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"160703:4:21","nodeType":"YulLiteral","src":"160703:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"160697:5:21","nodeType":"YulIdentifier","src":"160697:5:21"},"nativeSrc":"160697:11:21","nodeType":"YulFunctionCall","src":"160697:11:21"},"variableNames":[{"name":"m6","nativeSrc":"160691:2:21","nodeType":"YulIdentifier","src":"160691:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160794:4:21","nodeType":"YulLiteral","src":"160794:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"160800:10:21","nodeType":"YulLiteral","src":"160800:10:21","type":"","value":"0x1dc8e1b8"}],"functionName":{"name":"mstore","nativeSrc":"160787:6:21","nodeType":"YulIdentifier","src":"160787:6:21"},"nativeSrc":"160787:24:21","nodeType":"YulFunctionCall","src":"160787:24:21"},"nativeSrc":"160787:24:21","nodeType":"YulExpressionStatement","src":"160787:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160831:4:21","nodeType":"YulLiteral","src":"160831:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"160837:2:21","nodeType":"YulIdentifier","src":"160837:2:21"}],"functionName":{"name":"mstore","nativeSrc":"160824:6:21","nodeType":"YulIdentifier","src":"160824:6:21"},"nativeSrc":"160824:16:21","nodeType":"YulFunctionCall","src":"160824:16:21"},"nativeSrc":"160824:16:21","nodeType":"YulExpressionStatement","src":"160824:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160860:4:21","nodeType":"YulLiteral","src":"160860:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"160866:4:21","nodeType":"YulLiteral","src":"160866:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"160853:6:21","nodeType":"YulIdentifier","src":"160853:6:21"},"nativeSrc":"160853:18:21","nodeType":"YulFunctionCall","src":"160853:18:21"},"nativeSrc":"160853:18:21","nodeType":"YulExpressionStatement","src":"160853:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160891:4:21","nodeType":"YulLiteral","src":"160891:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"160897:2:21","nodeType":"YulIdentifier","src":"160897:2:21"}],"functionName":{"name":"mstore","nativeSrc":"160884:6:21","nodeType":"YulIdentifier","src":"160884:6:21"},"nativeSrc":"160884:16:21","nodeType":"YulFunctionCall","src":"160884:16:21"},"nativeSrc":"160884:16:21","nodeType":"YulExpressionStatement","src":"160884:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160920:4:21","nodeType":"YulLiteral","src":"160920:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"160926:2:21","nodeType":"YulIdentifier","src":"160926:2:21"}],"functionName":{"name":"mstore","nativeSrc":"160913:6:21","nodeType":"YulIdentifier","src":"160913:6:21"},"nativeSrc":"160913:16:21","nodeType":"YulFunctionCall","src":"160913:16:21"},"nativeSrc":"160913:16:21","nodeType":"YulExpressionStatement","src":"160913:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160954:4:21","nodeType":"YulLiteral","src":"160954:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"160960:2:21","nodeType":"YulIdentifier","src":"160960:2:21"}],"functionName":{"name":"writeString","nativeSrc":"160942:11:21","nodeType":"YulIdentifier","src":"160942:11:21"},"nativeSrc":"160942:21:21","nodeType":"YulFunctionCall","src":"160942:21:21"},"nativeSrc":"160942:21:21","nodeType":"YulExpressionStatement","src":"160942:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31996,"isOffset":false,"isSlot":false,"src":"160511:2:21","valueSize":1},{"declaration":31999,"isOffset":false,"isSlot":false,"src":"160541:2:21","valueSize":1},{"declaration":32002,"isOffset":false,"isSlot":false,"src":"160571:2:21","valueSize":1},{"declaration":32005,"isOffset":false,"isSlot":false,"src":"160601:2:21","valueSize":1},{"declaration":32008,"isOffset":false,"isSlot":false,"src":"160631:2:21","valueSize":1},{"declaration":32011,"isOffset":false,"isSlot":false,"src":"160661:2:21","valueSize":1},{"declaration":32014,"isOffset":false,"isSlot":false,"src":"160691:2:21","valueSize":1},{"declaration":31986,"isOffset":false,"isSlot":false,"src":"160837:2:21","valueSize":1},{"declaration":31988,"isOffset":false,"isSlot":false,"src":"160960:2:21","valueSize":1},{"declaration":31990,"isOffset":false,"isSlot":false,"src":"160897:2:21","valueSize":1},{"declaration":31992,"isOffset":false,"isSlot":false,"src":"160926:2:21","valueSize":1}],"id":32016,"nodeType":"InlineAssembly","src":"160133:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"160998:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"161004:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"160982:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"160982:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32021,"nodeType":"ExpressionStatement","src":"160982:27:21"},{"AST":{"nativeSrc":"161071:214:21","nodeType":"YulBlock","src":"161071:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"161092:4:21","nodeType":"YulLiteral","src":"161092:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"161098:2:21","nodeType":"YulIdentifier","src":"161098:2:21"}],"functionName":{"name":"mstore","nativeSrc":"161085:6:21","nodeType":"YulIdentifier","src":"161085:6:21"},"nativeSrc":"161085:16:21","nodeType":"YulFunctionCall","src":"161085:16:21"},"nativeSrc":"161085:16:21","nodeType":"YulExpressionStatement","src":"161085:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161121:4:21","nodeType":"YulLiteral","src":"161121:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"161127:2:21","nodeType":"YulIdentifier","src":"161127:2:21"}],"functionName":{"name":"mstore","nativeSrc":"161114:6:21","nodeType":"YulIdentifier","src":"161114:6:21"},"nativeSrc":"161114:16:21","nodeType":"YulFunctionCall","src":"161114:16:21"},"nativeSrc":"161114:16:21","nodeType":"YulExpressionStatement","src":"161114:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161150:4:21","nodeType":"YulLiteral","src":"161150:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"161156:2:21","nodeType":"YulIdentifier","src":"161156:2:21"}],"functionName":{"name":"mstore","nativeSrc":"161143:6:21","nodeType":"YulIdentifier","src":"161143:6:21"},"nativeSrc":"161143:16:21","nodeType":"YulFunctionCall","src":"161143:16:21"},"nativeSrc":"161143:16:21","nodeType":"YulExpressionStatement","src":"161143:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161179:4:21","nodeType":"YulLiteral","src":"161179:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"161185:2:21","nodeType":"YulIdentifier","src":"161185:2:21"}],"functionName":{"name":"mstore","nativeSrc":"161172:6:21","nodeType":"YulIdentifier","src":"161172:6:21"},"nativeSrc":"161172:16:21","nodeType":"YulFunctionCall","src":"161172:16:21"},"nativeSrc":"161172:16:21","nodeType":"YulExpressionStatement","src":"161172:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161208:4:21","nodeType":"YulLiteral","src":"161208:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"161214:2:21","nodeType":"YulIdentifier","src":"161214:2:21"}],"functionName":{"name":"mstore","nativeSrc":"161201:6:21","nodeType":"YulIdentifier","src":"161201:6:21"},"nativeSrc":"161201:16:21","nodeType":"YulFunctionCall","src":"161201:16:21"},"nativeSrc":"161201:16:21","nodeType":"YulExpressionStatement","src":"161201:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161237:4:21","nodeType":"YulLiteral","src":"161237:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"161243:2:21","nodeType":"YulIdentifier","src":"161243:2:21"}],"functionName":{"name":"mstore","nativeSrc":"161230:6:21","nodeType":"YulIdentifier","src":"161230:6:21"},"nativeSrc":"161230:16:21","nodeType":"YulFunctionCall","src":"161230:16:21"},"nativeSrc":"161230:16:21","nodeType":"YulExpressionStatement","src":"161230:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161266:4:21","nodeType":"YulLiteral","src":"161266:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"161272:2:21","nodeType":"YulIdentifier","src":"161272:2:21"}],"functionName":{"name":"mstore","nativeSrc":"161259:6:21","nodeType":"YulIdentifier","src":"161259:6:21"},"nativeSrc":"161259:16:21","nodeType":"YulFunctionCall","src":"161259:16:21"},"nativeSrc":"161259:16:21","nodeType":"YulExpressionStatement","src":"161259:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":31996,"isOffset":false,"isSlot":false,"src":"161098:2:21","valueSize":1},{"declaration":31999,"isOffset":false,"isSlot":false,"src":"161127:2:21","valueSize":1},{"declaration":32002,"isOffset":false,"isSlot":false,"src":"161156:2:21","valueSize":1},{"declaration":32005,"isOffset":false,"isSlot":false,"src":"161185:2:21","valueSize":1},{"declaration":32008,"isOffset":false,"isSlot":false,"src":"161214:2:21","valueSize":1},{"declaration":32011,"isOffset":false,"isSlot":false,"src":"161243:2:21","valueSize":1},{"declaration":32014,"isOffset":false,"isSlot":false,"src":"161272:2:21","valueSize":1}],"id":32022,"nodeType":"InlineAssembly","src":"161062:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"159874:3:21","parameters":{"id":31993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31986,"mutability":"mutable","name":"p0","nameLocation":"159886:2:21","nodeType":"VariableDeclaration","scope":32024,"src":"159878:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31985,"name":"address","nodeType":"ElementaryTypeName","src":"159878:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31988,"mutability":"mutable","name":"p1","nameLocation":"159898:2:21","nodeType":"VariableDeclaration","scope":32024,"src":"159890:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159890:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31990,"mutability":"mutable","name":"p2","nameLocation":"159910:2:21","nodeType":"VariableDeclaration","scope":32024,"src":"159902:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31989,"name":"uint256","nodeType":"ElementaryTypeName","src":"159902:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31992,"mutability":"mutable","name":"p3","nameLocation":"159922:2:21","nodeType":"VariableDeclaration","scope":32024,"src":"159914:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31991,"name":"uint256","nodeType":"ElementaryTypeName","src":"159914:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"159877:48:21"},"returnParameters":{"id":31994,"nodeType":"ParameterList","parameters":[],"src":"159940:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32070,"nodeType":"FunctionDefinition","src":"161297:1622:21","nodes":[],"body":{"id":32069,"nodeType":"Block","src":"161372:1547:21","nodes":[],"statements":[{"assignments":[32036],"declarations":[{"constant":false,"id":32036,"mutability":"mutable","name":"m0","nameLocation":"161390:2:21","nodeType":"VariableDeclaration","scope":32069,"src":"161382:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161382:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32037,"nodeType":"VariableDeclarationStatement","src":"161382:10:21"},{"assignments":[32039],"declarations":[{"constant":false,"id":32039,"mutability":"mutable","name":"m1","nameLocation":"161410:2:21","nodeType":"VariableDeclaration","scope":32069,"src":"161402:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161402:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32040,"nodeType":"VariableDeclarationStatement","src":"161402:10:21"},{"assignments":[32042],"declarations":[{"constant":false,"id":32042,"mutability":"mutable","name":"m2","nameLocation":"161430:2:21","nodeType":"VariableDeclaration","scope":32069,"src":"161422:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161422:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32043,"nodeType":"VariableDeclarationStatement","src":"161422:10:21"},{"assignments":[32045],"declarations":[{"constant":false,"id":32045,"mutability":"mutable","name":"m3","nameLocation":"161450:2:21","nodeType":"VariableDeclaration","scope":32069,"src":"161442:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161442:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32046,"nodeType":"VariableDeclarationStatement","src":"161442:10:21"},{"assignments":[32048],"declarations":[{"constant":false,"id":32048,"mutability":"mutable","name":"m4","nameLocation":"161470:2:21","nodeType":"VariableDeclaration","scope":32069,"src":"161462:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161462:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32049,"nodeType":"VariableDeclarationStatement","src":"161462:10:21"},{"assignments":[32051],"declarations":[{"constant":false,"id":32051,"mutability":"mutable","name":"m5","nameLocation":"161490:2:21","nodeType":"VariableDeclaration","scope":32069,"src":"161482:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161482:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32052,"nodeType":"VariableDeclarationStatement","src":"161482:10:21"},{"assignments":[32054],"declarations":[{"constant":false,"id":32054,"mutability":"mutable","name":"m6","nameLocation":"161510:2:21","nodeType":"VariableDeclaration","scope":32069,"src":"161502:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161502:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32055,"nodeType":"VariableDeclarationStatement","src":"161502:10:21"},{"assignments":[32057],"declarations":[{"constant":false,"id":32057,"mutability":"mutable","name":"m7","nameLocation":"161530:2:21","nodeType":"VariableDeclaration","scope":32069,"src":"161522:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161522:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32058,"nodeType":"VariableDeclarationStatement","src":"161522:10:21"},{"assignments":[32060],"declarations":[{"constant":false,"id":32060,"mutability":"mutable","name":"m8","nameLocation":"161550:2:21","nodeType":"VariableDeclaration","scope":32069,"src":"161542:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161542:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32061,"nodeType":"VariableDeclarationStatement","src":"161542:10:21"},{"AST":{"nativeSrc":"161614:927:21","nodeType":"YulBlock","src":"161614:927:21","statements":[{"body":{"nativeSrc":"161657:313:21","nodeType":"YulBlock","src":"161657:313:21","statements":[{"nativeSrc":"161675:15:21","nodeType":"YulVariableDeclaration","src":"161675:15:21","value":{"kind":"number","nativeSrc":"161689:1:21","nodeType":"YulLiteral","src":"161689:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"161679:6:21","nodeType":"YulTypedName","src":"161679:6:21","type":""}]},{"body":{"nativeSrc":"161760:40:21","nodeType":"YulBlock","src":"161760:40:21","statements":[{"body":{"nativeSrc":"161789:9:21","nodeType":"YulBlock","src":"161789:9:21","statements":[{"nativeSrc":"161791:5:21","nodeType":"YulBreak","src":"161791:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"161777:6:21","nodeType":"YulIdentifier","src":"161777:6:21"},{"name":"w","nativeSrc":"161785:1:21","nodeType":"YulIdentifier","src":"161785:1:21"}],"functionName":{"name":"byte","nativeSrc":"161772:4:21","nodeType":"YulIdentifier","src":"161772:4:21"},"nativeSrc":"161772:15:21","nodeType":"YulFunctionCall","src":"161772:15:21"}],"functionName":{"name":"iszero","nativeSrc":"161765:6:21","nodeType":"YulIdentifier","src":"161765:6:21"},"nativeSrc":"161765:23:21","nodeType":"YulFunctionCall","src":"161765:23:21"},"nativeSrc":"161762:36:21","nodeType":"YulIf","src":"161762:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"161717:6:21","nodeType":"YulIdentifier","src":"161717:6:21"},{"kind":"number","nativeSrc":"161725:4:21","nodeType":"YulLiteral","src":"161725:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"161714:2:21","nodeType":"YulIdentifier","src":"161714:2:21"},"nativeSrc":"161714:16:21","nodeType":"YulFunctionCall","src":"161714:16:21"},"nativeSrc":"161707:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"161731:28:21","nodeType":"YulBlock","src":"161731:28:21","statements":[{"nativeSrc":"161733:24:21","nodeType":"YulAssignment","src":"161733:24:21","value":{"arguments":[{"name":"length","nativeSrc":"161747:6:21","nodeType":"YulIdentifier","src":"161747:6:21"},{"kind":"number","nativeSrc":"161755:1:21","nodeType":"YulLiteral","src":"161755:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"161743:3:21","nodeType":"YulIdentifier","src":"161743:3:21"},"nativeSrc":"161743:14:21","nodeType":"YulFunctionCall","src":"161743:14:21"},"variableNames":[{"name":"length","nativeSrc":"161733:6:21","nodeType":"YulIdentifier","src":"161733:6:21"}]}]},"pre":{"nativeSrc":"161711:2:21","nodeType":"YulBlock","src":"161711:2:21","statements":[]},"src":"161707:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"161824:3:21","nodeType":"YulIdentifier","src":"161824:3:21"},{"name":"length","nativeSrc":"161829:6:21","nodeType":"YulIdentifier","src":"161829:6:21"}],"functionName":{"name":"mstore","nativeSrc":"161817:6:21","nodeType":"YulIdentifier","src":"161817:6:21"},"nativeSrc":"161817:19:21","nodeType":"YulFunctionCall","src":"161817:19:21"},"nativeSrc":"161817:19:21","nodeType":"YulExpressionStatement","src":"161817:19:21"},{"nativeSrc":"161853:37:21","nodeType":"YulVariableDeclaration","src":"161853:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"161870:3:21","nodeType":"YulLiteral","src":"161870:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"161879:1:21","nodeType":"YulLiteral","src":"161879:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"161882:6:21","nodeType":"YulIdentifier","src":"161882:6:21"}],"functionName":{"name":"shl","nativeSrc":"161875:3:21","nodeType":"YulIdentifier","src":"161875:3:21"},"nativeSrc":"161875:14:21","nodeType":"YulFunctionCall","src":"161875:14:21"}],"functionName":{"name":"sub","nativeSrc":"161866:3:21","nodeType":"YulIdentifier","src":"161866:3:21"},"nativeSrc":"161866:24:21","nodeType":"YulFunctionCall","src":"161866:24:21"},"variables":[{"name":"shift","nativeSrc":"161857:5:21","nodeType":"YulTypedName","src":"161857:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"161918:3:21","nodeType":"YulIdentifier","src":"161918:3:21"},{"kind":"number","nativeSrc":"161923:4:21","nodeType":"YulLiteral","src":"161923:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"161914:3:21","nodeType":"YulIdentifier","src":"161914:3:21"},"nativeSrc":"161914:14:21","nodeType":"YulFunctionCall","src":"161914:14:21"},{"arguments":[{"name":"shift","nativeSrc":"161934:5:21","nodeType":"YulIdentifier","src":"161934:5:21"},{"arguments":[{"name":"shift","nativeSrc":"161945:5:21","nodeType":"YulIdentifier","src":"161945:5:21"},{"name":"w","nativeSrc":"161952:1:21","nodeType":"YulIdentifier","src":"161952:1:21"}],"functionName":{"name":"shr","nativeSrc":"161941:3:21","nodeType":"YulIdentifier","src":"161941:3:21"},"nativeSrc":"161941:13:21","nodeType":"YulFunctionCall","src":"161941:13:21"}],"functionName":{"name":"shl","nativeSrc":"161930:3:21","nodeType":"YulIdentifier","src":"161930:3:21"},"nativeSrc":"161930:25:21","nodeType":"YulFunctionCall","src":"161930:25:21"}],"functionName":{"name":"mstore","nativeSrc":"161907:6:21","nodeType":"YulIdentifier","src":"161907:6:21"},"nativeSrc":"161907:49:21","nodeType":"YulFunctionCall","src":"161907:49:21"},"nativeSrc":"161907:49:21","nodeType":"YulExpressionStatement","src":"161907:49:21"}]},"name":"writeString","nativeSrc":"161628:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"161649:3:21","nodeType":"YulTypedName","src":"161649:3:21","type":""},{"name":"w","nativeSrc":"161654:1:21","nodeType":"YulTypedName","src":"161654:1:21","type":""}],"src":"161628:342:21"},{"nativeSrc":"161983:17:21","nodeType":"YulAssignment","src":"161983:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"161995:4:21","nodeType":"YulLiteral","src":"161995:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"161989:5:21","nodeType":"YulIdentifier","src":"161989:5:21"},"nativeSrc":"161989:11:21","nodeType":"YulFunctionCall","src":"161989:11:21"},"variableNames":[{"name":"m0","nativeSrc":"161983:2:21","nodeType":"YulIdentifier","src":"161983:2:21"}]},{"nativeSrc":"162013:17:21","nodeType":"YulAssignment","src":"162013:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"162025:4:21","nodeType":"YulLiteral","src":"162025:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"162019:5:21","nodeType":"YulIdentifier","src":"162019:5:21"},"nativeSrc":"162019:11:21","nodeType":"YulFunctionCall","src":"162019:11:21"},"variableNames":[{"name":"m1","nativeSrc":"162013:2:21","nodeType":"YulIdentifier","src":"162013:2:21"}]},{"nativeSrc":"162043:17:21","nodeType":"YulAssignment","src":"162043:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"162055:4:21","nodeType":"YulLiteral","src":"162055:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"162049:5:21","nodeType":"YulIdentifier","src":"162049:5:21"},"nativeSrc":"162049:11:21","nodeType":"YulFunctionCall","src":"162049:11:21"},"variableNames":[{"name":"m2","nativeSrc":"162043:2:21","nodeType":"YulIdentifier","src":"162043:2:21"}]},{"nativeSrc":"162073:17:21","nodeType":"YulAssignment","src":"162073:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"162085:4:21","nodeType":"YulLiteral","src":"162085:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"162079:5:21","nodeType":"YulIdentifier","src":"162079:5:21"},"nativeSrc":"162079:11:21","nodeType":"YulFunctionCall","src":"162079:11:21"},"variableNames":[{"name":"m3","nativeSrc":"162073:2:21","nodeType":"YulIdentifier","src":"162073:2:21"}]},{"nativeSrc":"162103:17:21","nodeType":"YulAssignment","src":"162103:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"162115:4:21","nodeType":"YulLiteral","src":"162115:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"162109:5:21","nodeType":"YulIdentifier","src":"162109:5:21"},"nativeSrc":"162109:11:21","nodeType":"YulFunctionCall","src":"162109:11:21"},"variableNames":[{"name":"m4","nativeSrc":"162103:2:21","nodeType":"YulIdentifier","src":"162103:2:21"}]},{"nativeSrc":"162133:17:21","nodeType":"YulAssignment","src":"162133:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"162145:4:21","nodeType":"YulLiteral","src":"162145:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"162139:5:21","nodeType":"YulIdentifier","src":"162139:5:21"},"nativeSrc":"162139:11:21","nodeType":"YulFunctionCall","src":"162139:11:21"},"variableNames":[{"name":"m5","nativeSrc":"162133:2:21","nodeType":"YulIdentifier","src":"162133:2:21"}]},{"nativeSrc":"162163:17:21","nodeType":"YulAssignment","src":"162163:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"162175:4:21","nodeType":"YulLiteral","src":"162175:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"162169:5:21","nodeType":"YulIdentifier","src":"162169:5:21"},"nativeSrc":"162169:11:21","nodeType":"YulFunctionCall","src":"162169:11:21"},"variableNames":[{"name":"m6","nativeSrc":"162163:2:21","nodeType":"YulIdentifier","src":"162163:2:21"}]},{"nativeSrc":"162193:17:21","nodeType":"YulAssignment","src":"162193:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"162205:4:21","nodeType":"YulLiteral","src":"162205:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"162199:5:21","nodeType":"YulIdentifier","src":"162199:5:21"},"nativeSrc":"162199:11:21","nodeType":"YulFunctionCall","src":"162199:11:21"},"variableNames":[{"name":"m7","nativeSrc":"162193:2:21","nodeType":"YulIdentifier","src":"162193:2:21"}]},{"nativeSrc":"162223:18:21","nodeType":"YulAssignment","src":"162223:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"162235:5:21","nodeType":"YulLiteral","src":"162235:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"162229:5:21","nodeType":"YulIdentifier","src":"162229:5:21"},"nativeSrc":"162229:12:21","nodeType":"YulFunctionCall","src":"162229:12:21"},"variableNames":[{"name":"m8","nativeSrc":"162223:2:21","nodeType":"YulIdentifier","src":"162223:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162326:4:21","nodeType":"YulLiteral","src":"162326:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"162332:10:21","nodeType":"YulLiteral","src":"162332:10:21","type":"","value":"0x448830a8"}],"functionName":{"name":"mstore","nativeSrc":"162319:6:21","nodeType":"YulIdentifier","src":"162319:6:21"},"nativeSrc":"162319:24:21","nodeType":"YulFunctionCall","src":"162319:24:21"},"nativeSrc":"162319:24:21","nodeType":"YulExpressionStatement","src":"162319:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162363:4:21","nodeType":"YulLiteral","src":"162363:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"162369:2:21","nodeType":"YulIdentifier","src":"162369:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162356:6:21","nodeType":"YulIdentifier","src":"162356:6:21"},"nativeSrc":"162356:16:21","nodeType":"YulFunctionCall","src":"162356:16:21"},"nativeSrc":"162356:16:21","nodeType":"YulExpressionStatement","src":"162356:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162392:4:21","nodeType":"YulLiteral","src":"162392:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"162398:4:21","nodeType":"YulLiteral","src":"162398:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"162385:6:21","nodeType":"YulIdentifier","src":"162385:6:21"},"nativeSrc":"162385:18:21","nodeType":"YulFunctionCall","src":"162385:18:21"},"nativeSrc":"162385:18:21","nodeType":"YulExpressionStatement","src":"162385:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162423:4:21","nodeType":"YulLiteral","src":"162423:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"162429:2:21","nodeType":"YulIdentifier","src":"162429:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162416:6:21","nodeType":"YulIdentifier","src":"162416:6:21"},"nativeSrc":"162416:16:21","nodeType":"YulFunctionCall","src":"162416:16:21"},"nativeSrc":"162416:16:21","nodeType":"YulExpressionStatement","src":"162416:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162452:4:21","nodeType":"YulLiteral","src":"162452:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"162458:4:21","nodeType":"YulLiteral","src":"162458:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"162445:6:21","nodeType":"YulIdentifier","src":"162445:6:21"},"nativeSrc":"162445:18:21","nodeType":"YulFunctionCall","src":"162445:18:21"},"nativeSrc":"162445:18:21","nodeType":"YulExpressionStatement","src":"162445:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162488:4:21","nodeType":"YulLiteral","src":"162488:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"162494:2:21","nodeType":"YulIdentifier","src":"162494:2:21"}],"functionName":{"name":"writeString","nativeSrc":"162476:11:21","nodeType":"YulIdentifier","src":"162476:11:21"},"nativeSrc":"162476:21:21","nodeType":"YulFunctionCall","src":"162476:21:21"},"nativeSrc":"162476:21:21","nodeType":"YulExpressionStatement","src":"162476:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162522:4:21","nodeType":"YulLiteral","src":"162522:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"162528:2:21","nodeType":"YulIdentifier","src":"162528:2:21"}],"functionName":{"name":"writeString","nativeSrc":"162510:11:21","nodeType":"YulIdentifier","src":"162510:11:21"},"nativeSrc":"162510:21:21","nodeType":"YulFunctionCall","src":"162510:21:21"},"nativeSrc":"162510:21:21","nodeType":"YulExpressionStatement","src":"162510:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32036,"isOffset":false,"isSlot":false,"src":"161983:2:21","valueSize":1},{"declaration":32039,"isOffset":false,"isSlot":false,"src":"162013:2:21","valueSize":1},{"declaration":32042,"isOffset":false,"isSlot":false,"src":"162043:2:21","valueSize":1},{"declaration":32045,"isOffset":false,"isSlot":false,"src":"162073:2:21","valueSize":1},{"declaration":32048,"isOffset":false,"isSlot":false,"src":"162103:2:21","valueSize":1},{"declaration":32051,"isOffset":false,"isSlot":false,"src":"162133:2:21","valueSize":1},{"declaration":32054,"isOffset":false,"isSlot":false,"src":"162163:2:21","valueSize":1},{"declaration":32057,"isOffset":false,"isSlot":false,"src":"162193:2:21","valueSize":1},{"declaration":32060,"isOffset":false,"isSlot":false,"src":"162223:2:21","valueSize":1},{"declaration":32026,"isOffset":false,"isSlot":false,"src":"162369:2:21","valueSize":1},{"declaration":32028,"isOffset":false,"isSlot":false,"src":"162494:2:21","valueSize":1},{"declaration":32030,"isOffset":false,"isSlot":false,"src":"162429:2:21","valueSize":1},{"declaration":32032,"isOffset":false,"isSlot":false,"src":"162528:2:21","valueSize":1}],"id":32062,"nodeType":"InlineAssembly","src":"161605:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"162566:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":32065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"162572:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":32063,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"162550:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"162550:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32067,"nodeType":"ExpressionStatement","src":"162550:28:21"},{"AST":{"nativeSrc":"162640:273:21","nodeType":"YulBlock","src":"162640:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"162661:4:21","nodeType":"YulLiteral","src":"162661:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"162667:2:21","nodeType":"YulIdentifier","src":"162667:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162654:6:21","nodeType":"YulIdentifier","src":"162654:6:21"},"nativeSrc":"162654:16:21","nodeType":"YulFunctionCall","src":"162654:16:21"},"nativeSrc":"162654:16:21","nodeType":"YulExpressionStatement","src":"162654:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162690:4:21","nodeType":"YulLiteral","src":"162690:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"162696:2:21","nodeType":"YulIdentifier","src":"162696:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162683:6:21","nodeType":"YulIdentifier","src":"162683:6:21"},"nativeSrc":"162683:16:21","nodeType":"YulFunctionCall","src":"162683:16:21"},"nativeSrc":"162683:16:21","nodeType":"YulExpressionStatement","src":"162683:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162719:4:21","nodeType":"YulLiteral","src":"162719:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"162725:2:21","nodeType":"YulIdentifier","src":"162725:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162712:6:21","nodeType":"YulIdentifier","src":"162712:6:21"},"nativeSrc":"162712:16:21","nodeType":"YulFunctionCall","src":"162712:16:21"},"nativeSrc":"162712:16:21","nodeType":"YulExpressionStatement","src":"162712:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162748:4:21","nodeType":"YulLiteral","src":"162748:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"162754:2:21","nodeType":"YulIdentifier","src":"162754:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162741:6:21","nodeType":"YulIdentifier","src":"162741:6:21"},"nativeSrc":"162741:16:21","nodeType":"YulFunctionCall","src":"162741:16:21"},"nativeSrc":"162741:16:21","nodeType":"YulExpressionStatement","src":"162741:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162777:4:21","nodeType":"YulLiteral","src":"162777:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"162783:2:21","nodeType":"YulIdentifier","src":"162783:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162770:6:21","nodeType":"YulIdentifier","src":"162770:6:21"},"nativeSrc":"162770:16:21","nodeType":"YulFunctionCall","src":"162770:16:21"},"nativeSrc":"162770:16:21","nodeType":"YulExpressionStatement","src":"162770:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162806:4:21","nodeType":"YulLiteral","src":"162806:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"162812:2:21","nodeType":"YulIdentifier","src":"162812:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162799:6:21","nodeType":"YulIdentifier","src":"162799:6:21"},"nativeSrc":"162799:16:21","nodeType":"YulFunctionCall","src":"162799:16:21"},"nativeSrc":"162799:16:21","nodeType":"YulExpressionStatement","src":"162799:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162835:4:21","nodeType":"YulLiteral","src":"162835:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"162841:2:21","nodeType":"YulIdentifier","src":"162841:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162828:6:21","nodeType":"YulIdentifier","src":"162828:6:21"},"nativeSrc":"162828:16:21","nodeType":"YulFunctionCall","src":"162828:16:21"},"nativeSrc":"162828:16:21","nodeType":"YulExpressionStatement","src":"162828:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162864:4:21","nodeType":"YulLiteral","src":"162864:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"162870:2:21","nodeType":"YulIdentifier","src":"162870:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162857:6:21","nodeType":"YulIdentifier","src":"162857:6:21"},"nativeSrc":"162857:16:21","nodeType":"YulFunctionCall","src":"162857:16:21"},"nativeSrc":"162857:16:21","nodeType":"YulExpressionStatement","src":"162857:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162893:5:21","nodeType":"YulLiteral","src":"162893:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"162900:2:21","nodeType":"YulIdentifier","src":"162900:2:21"}],"functionName":{"name":"mstore","nativeSrc":"162886:6:21","nodeType":"YulIdentifier","src":"162886:6:21"},"nativeSrc":"162886:17:21","nodeType":"YulFunctionCall","src":"162886:17:21"},"nativeSrc":"162886:17:21","nodeType":"YulExpressionStatement","src":"162886:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32036,"isOffset":false,"isSlot":false,"src":"162667:2:21","valueSize":1},{"declaration":32039,"isOffset":false,"isSlot":false,"src":"162696:2:21","valueSize":1},{"declaration":32042,"isOffset":false,"isSlot":false,"src":"162725:2:21","valueSize":1},{"declaration":32045,"isOffset":false,"isSlot":false,"src":"162754:2:21","valueSize":1},{"declaration":32048,"isOffset":false,"isSlot":false,"src":"162783:2:21","valueSize":1},{"declaration":32051,"isOffset":false,"isSlot":false,"src":"162812:2:21","valueSize":1},{"declaration":32054,"isOffset":false,"isSlot":false,"src":"162841:2:21","valueSize":1},{"declaration":32057,"isOffset":false,"isSlot":false,"src":"162870:2:21","valueSize":1},{"declaration":32060,"isOffset":false,"isSlot":false,"src":"162900:2:21","valueSize":1}],"id":32068,"nodeType":"InlineAssembly","src":"162631:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"161306:3:21","parameters":{"id":32033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32026,"mutability":"mutable","name":"p0","nameLocation":"161318:2:21","nodeType":"VariableDeclaration","scope":32070,"src":"161310:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32025,"name":"address","nodeType":"ElementaryTypeName","src":"161310:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32028,"mutability":"mutable","name":"p1","nameLocation":"161330:2:21","nodeType":"VariableDeclaration","scope":32070,"src":"161322:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161322:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32030,"mutability":"mutable","name":"p2","nameLocation":"161342:2:21","nodeType":"VariableDeclaration","scope":32070,"src":"161334:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32029,"name":"uint256","nodeType":"ElementaryTypeName","src":"161334:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32032,"mutability":"mutable","name":"p3","nameLocation":"161354:2:21","nodeType":"VariableDeclaration","scope":32070,"src":"161346:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161346:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"161309:48:21"},"returnParameters":{"id":32034,"nodeType":"ParameterList","parameters":[],"src":"161372:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32116,"nodeType":"FunctionDefinition","src":"162925:1622:21","nodes":[],"body":{"id":32115,"nodeType":"Block","src":"163000:1547:21","nodes":[],"statements":[{"assignments":[32082],"declarations":[{"constant":false,"id":32082,"mutability":"mutable","name":"m0","nameLocation":"163018:2:21","nodeType":"VariableDeclaration","scope":32115,"src":"163010:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163010:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32083,"nodeType":"VariableDeclarationStatement","src":"163010:10:21"},{"assignments":[32085],"declarations":[{"constant":false,"id":32085,"mutability":"mutable","name":"m1","nameLocation":"163038:2:21","nodeType":"VariableDeclaration","scope":32115,"src":"163030:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163030:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32086,"nodeType":"VariableDeclarationStatement","src":"163030:10:21"},{"assignments":[32088],"declarations":[{"constant":false,"id":32088,"mutability":"mutable","name":"m2","nameLocation":"163058:2:21","nodeType":"VariableDeclaration","scope":32115,"src":"163050:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163050:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32089,"nodeType":"VariableDeclarationStatement","src":"163050:10:21"},{"assignments":[32091],"declarations":[{"constant":false,"id":32091,"mutability":"mutable","name":"m3","nameLocation":"163078:2:21","nodeType":"VariableDeclaration","scope":32115,"src":"163070:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163070:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32092,"nodeType":"VariableDeclarationStatement","src":"163070:10:21"},{"assignments":[32094],"declarations":[{"constant":false,"id":32094,"mutability":"mutable","name":"m4","nameLocation":"163098:2:21","nodeType":"VariableDeclaration","scope":32115,"src":"163090:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163090:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32095,"nodeType":"VariableDeclarationStatement","src":"163090:10:21"},{"assignments":[32097],"declarations":[{"constant":false,"id":32097,"mutability":"mutable","name":"m5","nameLocation":"163118:2:21","nodeType":"VariableDeclaration","scope":32115,"src":"163110:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163110:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32098,"nodeType":"VariableDeclarationStatement","src":"163110:10:21"},{"assignments":[32100],"declarations":[{"constant":false,"id":32100,"mutability":"mutable","name":"m6","nameLocation":"163138:2:21","nodeType":"VariableDeclaration","scope":32115,"src":"163130:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163130:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32101,"nodeType":"VariableDeclarationStatement","src":"163130:10:21"},{"assignments":[32103],"declarations":[{"constant":false,"id":32103,"mutability":"mutable","name":"m7","nameLocation":"163158:2:21","nodeType":"VariableDeclaration","scope":32115,"src":"163150:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163150:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32104,"nodeType":"VariableDeclarationStatement","src":"163150:10:21"},{"assignments":[32106],"declarations":[{"constant":false,"id":32106,"mutability":"mutable","name":"m8","nameLocation":"163178:2:21","nodeType":"VariableDeclaration","scope":32115,"src":"163170:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163170:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32107,"nodeType":"VariableDeclarationStatement","src":"163170:10:21"},{"AST":{"nativeSrc":"163242:927:21","nodeType":"YulBlock","src":"163242:927:21","statements":[{"body":{"nativeSrc":"163285:313:21","nodeType":"YulBlock","src":"163285:313:21","statements":[{"nativeSrc":"163303:15:21","nodeType":"YulVariableDeclaration","src":"163303:15:21","value":{"kind":"number","nativeSrc":"163317:1:21","nodeType":"YulLiteral","src":"163317:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"163307:6:21","nodeType":"YulTypedName","src":"163307:6:21","type":""}]},{"body":{"nativeSrc":"163388:40:21","nodeType":"YulBlock","src":"163388:40:21","statements":[{"body":{"nativeSrc":"163417:9:21","nodeType":"YulBlock","src":"163417:9:21","statements":[{"nativeSrc":"163419:5:21","nodeType":"YulBreak","src":"163419:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"163405:6:21","nodeType":"YulIdentifier","src":"163405:6:21"},{"name":"w","nativeSrc":"163413:1:21","nodeType":"YulIdentifier","src":"163413:1:21"}],"functionName":{"name":"byte","nativeSrc":"163400:4:21","nodeType":"YulIdentifier","src":"163400:4:21"},"nativeSrc":"163400:15:21","nodeType":"YulFunctionCall","src":"163400:15:21"}],"functionName":{"name":"iszero","nativeSrc":"163393:6:21","nodeType":"YulIdentifier","src":"163393:6:21"},"nativeSrc":"163393:23:21","nodeType":"YulFunctionCall","src":"163393:23:21"},"nativeSrc":"163390:36:21","nodeType":"YulIf","src":"163390:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"163345:6:21","nodeType":"YulIdentifier","src":"163345:6:21"},{"kind":"number","nativeSrc":"163353:4:21","nodeType":"YulLiteral","src":"163353:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"163342:2:21","nodeType":"YulIdentifier","src":"163342:2:21"},"nativeSrc":"163342:16:21","nodeType":"YulFunctionCall","src":"163342:16:21"},"nativeSrc":"163335:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"163359:28:21","nodeType":"YulBlock","src":"163359:28:21","statements":[{"nativeSrc":"163361:24:21","nodeType":"YulAssignment","src":"163361:24:21","value":{"arguments":[{"name":"length","nativeSrc":"163375:6:21","nodeType":"YulIdentifier","src":"163375:6:21"},{"kind":"number","nativeSrc":"163383:1:21","nodeType":"YulLiteral","src":"163383:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"163371:3:21","nodeType":"YulIdentifier","src":"163371:3:21"},"nativeSrc":"163371:14:21","nodeType":"YulFunctionCall","src":"163371:14:21"},"variableNames":[{"name":"length","nativeSrc":"163361:6:21","nodeType":"YulIdentifier","src":"163361:6:21"}]}]},"pre":{"nativeSrc":"163339:2:21","nodeType":"YulBlock","src":"163339:2:21","statements":[]},"src":"163335:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"163452:3:21","nodeType":"YulIdentifier","src":"163452:3:21"},{"name":"length","nativeSrc":"163457:6:21","nodeType":"YulIdentifier","src":"163457:6:21"}],"functionName":{"name":"mstore","nativeSrc":"163445:6:21","nodeType":"YulIdentifier","src":"163445:6:21"},"nativeSrc":"163445:19:21","nodeType":"YulFunctionCall","src":"163445:19:21"},"nativeSrc":"163445:19:21","nodeType":"YulExpressionStatement","src":"163445:19:21"},{"nativeSrc":"163481:37:21","nodeType":"YulVariableDeclaration","src":"163481:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"163498:3:21","nodeType":"YulLiteral","src":"163498:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"163507:1:21","nodeType":"YulLiteral","src":"163507:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"163510:6:21","nodeType":"YulIdentifier","src":"163510:6:21"}],"functionName":{"name":"shl","nativeSrc":"163503:3:21","nodeType":"YulIdentifier","src":"163503:3:21"},"nativeSrc":"163503:14:21","nodeType":"YulFunctionCall","src":"163503:14:21"}],"functionName":{"name":"sub","nativeSrc":"163494:3:21","nodeType":"YulIdentifier","src":"163494:3:21"},"nativeSrc":"163494:24:21","nodeType":"YulFunctionCall","src":"163494:24:21"},"variables":[{"name":"shift","nativeSrc":"163485:5:21","nodeType":"YulTypedName","src":"163485:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"163546:3:21","nodeType":"YulIdentifier","src":"163546:3:21"},{"kind":"number","nativeSrc":"163551:4:21","nodeType":"YulLiteral","src":"163551:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"163542:3:21","nodeType":"YulIdentifier","src":"163542:3:21"},"nativeSrc":"163542:14:21","nodeType":"YulFunctionCall","src":"163542:14:21"},{"arguments":[{"name":"shift","nativeSrc":"163562:5:21","nodeType":"YulIdentifier","src":"163562:5:21"},{"arguments":[{"name":"shift","nativeSrc":"163573:5:21","nodeType":"YulIdentifier","src":"163573:5:21"},{"name":"w","nativeSrc":"163580:1:21","nodeType":"YulIdentifier","src":"163580:1:21"}],"functionName":{"name":"shr","nativeSrc":"163569:3:21","nodeType":"YulIdentifier","src":"163569:3:21"},"nativeSrc":"163569:13:21","nodeType":"YulFunctionCall","src":"163569:13:21"}],"functionName":{"name":"shl","nativeSrc":"163558:3:21","nodeType":"YulIdentifier","src":"163558:3:21"},"nativeSrc":"163558:25:21","nodeType":"YulFunctionCall","src":"163558:25:21"}],"functionName":{"name":"mstore","nativeSrc":"163535:6:21","nodeType":"YulIdentifier","src":"163535:6:21"},"nativeSrc":"163535:49:21","nodeType":"YulFunctionCall","src":"163535:49:21"},"nativeSrc":"163535:49:21","nodeType":"YulExpressionStatement","src":"163535:49:21"}]},"name":"writeString","nativeSrc":"163256:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"163277:3:21","nodeType":"YulTypedName","src":"163277:3:21","type":""},{"name":"w","nativeSrc":"163282:1:21","nodeType":"YulTypedName","src":"163282:1:21","type":""}],"src":"163256:342:21"},{"nativeSrc":"163611:17:21","nodeType":"YulAssignment","src":"163611:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"163623:4:21","nodeType":"YulLiteral","src":"163623:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"163617:5:21","nodeType":"YulIdentifier","src":"163617:5:21"},"nativeSrc":"163617:11:21","nodeType":"YulFunctionCall","src":"163617:11:21"},"variableNames":[{"name":"m0","nativeSrc":"163611:2:21","nodeType":"YulIdentifier","src":"163611:2:21"}]},{"nativeSrc":"163641:17:21","nodeType":"YulAssignment","src":"163641:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"163653:4:21","nodeType":"YulLiteral","src":"163653:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"163647:5:21","nodeType":"YulIdentifier","src":"163647:5:21"},"nativeSrc":"163647:11:21","nodeType":"YulFunctionCall","src":"163647:11:21"},"variableNames":[{"name":"m1","nativeSrc":"163641:2:21","nodeType":"YulIdentifier","src":"163641:2:21"}]},{"nativeSrc":"163671:17:21","nodeType":"YulAssignment","src":"163671:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"163683:4:21","nodeType":"YulLiteral","src":"163683:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"163677:5:21","nodeType":"YulIdentifier","src":"163677:5:21"},"nativeSrc":"163677:11:21","nodeType":"YulFunctionCall","src":"163677:11:21"},"variableNames":[{"name":"m2","nativeSrc":"163671:2:21","nodeType":"YulIdentifier","src":"163671:2:21"}]},{"nativeSrc":"163701:17:21","nodeType":"YulAssignment","src":"163701:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"163713:4:21","nodeType":"YulLiteral","src":"163713:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"163707:5:21","nodeType":"YulIdentifier","src":"163707:5:21"},"nativeSrc":"163707:11:21","nodeType":"YulFunctionCall","src":"163707:11:21"},"variableNames":[{"name":"m3","nativeSrc":"163701:2:21","nodeType":"YulIdentifier","src":"163701:2:21"}]},{"nativeSrc":"163731:17:21","nodeType":"YulAssignment","src":"163731:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"163743:4:21","nodeType":"YulLiteral","src":"163743:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"163737:5:21","nodeType":"YulIdentifier","src":"163737:5:21"},"nativeSrc":"163737:11:21","nodeType":"YulFunctionCall","src":"163737:11:21"},"variableNames":[{"name":"m4","nativeSrc":"163731:2:21","nodeType":"YulIdentifier","src":"163731:2:21"}]},{"nativeSrc":"163761:17:21","nodeType":"YulAssignment","src":"163761:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"163773:4:21","nodeType":"YulLiteral","src":"163773:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"163767:5:21","nodeType":"YulIdentifier","src":"163767:5:21"},"nativeSrc":"163767:11:21","nodeType":"YulFunctionCall","src":"163767:11:21"},"variableNames":[{"name":"m5","nativeSrc":"163761:2:21","nodeType":"YulIdentifier","src":"163761:2:21"}]},{"nativeSrc":"163791:17:21","nodeType":"YulAssignment","src":"163791:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"163803:4:21","nodeType":"YulLiteral","src":"163803:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"163797:5:21","nodeType":"YulIdentifier","src":"163797:5:21"},"nativeSrc":"163797:11:21","nodeType":"YulFunctionCall","src":"163797:11:21"},"variableNames":[{"name":"m6","nativeSrc":"163791:2:21","nodeType":"YulIdentifier","src":"163791:2:21"}]},{"nativeSrc":"163821:17:21","nodeType":"YulAssignment","src":"163821:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"163833:4:21","nodeType":"YulLiteral","src":"163833:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"163827:5:21","nodeType":"YulIdentifier","src":"163827:5:21"},"nativeSrc":"163827:11:21","nodeType":"YulFunctionCall","src":"163827:11:21"},"variableNames":[{"name":"m7","nativeSrc":"163821:2:21","nodeType":"YulIdentifier","src":"163821:2:21"}]},{"nativeSrc":"163851:18:21","nodeType":"YulAssignment","src":"163851:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"163863:5:21","nodeType":"YulLiteral","src":"163863:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"163857:5:21","nodeType":"YulIdentifier","src":"163857:5:21"},"nativeSrc":"163857:12:21","nodeType":"YulFunctionCall","src":"163857:12:21"},"variableNames":[{"name":"m8","nativeSrc":"163851:2:21","nodeType":"YulIdentifier","src":"163851:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"163954:4:21","nodeType":"YulLiteral","src":"163954:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"163960:10:21","nodeType":"YulLiteral","src":"163960:10:21","type":"","value":"0xa04e2f87"}],"functionName":{"name":"mstore","nativeSrc":"163947:6:21","nodeType":"YulIdentifier","src":"163947:6:21"},"nativeSrc":"163947:24:21","nodeType":"YulFunctionCall","src":"163947:24:21"},"nativeSrc":"163947:24:21","nodeType":"YulExpressionStatement","src":"163947:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"163991:4:21","nodeType":"YulLiteral","src":"163991:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"163997:2:21","nodeType":"YulIdentifier","src":"163997:2:21"}],"functionName":{"name":"mstore","nativeSrc":"163984:6:21","nodeType":"YulIdentifier","src":"163984:6:21"},"nativeSrc":"163984:16:21","nodeType":"YulFunctionCall","src":"163984:16:21"},"nativeSrc":"163984:16:21","nodeType":"YulExpressionStatement","src":"163984:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164020:4:21","nodeType":"YulLiteral","src":"164020:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"164026:4:21","nodeType":"YulLiteral","src":"164026:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"164013:6:21","nodeType":"YulIdentifier","src":"164013:6:21"},"nativeSrc":"164013:18:21","nodeType":"YulFunctionCall","src":"164013:18:21"},"nativeSrc":"164013:18:21","nodeType":"YulExpressionStatement","src":"164013:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164051:4:21","nodeType":"YulLiteral","src":"164051:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"164057:4:21","nodeType":"YulLiteral","src":"164057:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"164044:6:21","nodeType":"YulIdentifier","src":"164044:6:21"},"nativeSrc":"164044:18:21","nodeType":"YulFunctionCall","src":"164044:18:21"},"nativeSrc":"164044:18:21","nodeType":"YulExpressionStatement","src":"164044:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164082:4:21","nodeType":"YulLiteral","src":"164082:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"164088:2:21","nodeType":"YulIdentifier","src":"164088:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164075:6:21","nodeType":"YulIdentifier","src":"164075:6:21"},"nativeSrc":"164075:16:21","nodeType":"YulFunctionCall","src":"164075:16:21"},"nativeSrc":"164075:16:21","nodeType":"YulExpressionStatement","src":"164075:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164116:4:21","nodeType":"YulLiteral","src":"164116:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"164122:2:21","nodeType":"YulIdentifier","src":"164122:2:21"}],"functionName":{"name":"writeString","nativeSrc":"164104:11:21","nodeType":"YulIdentifier","src":"164104:11:21"},"nativeSrc":"164104:21:21","nodeType":"YulFunctionCall","src":"164104:21:21"},"nativeSrc":"164104:21:21","nodeType":"YulExpressionStatement","src":"164104:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164150:4:21","nodeType":"YulLiteral","src":"164150:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"164156:2:21","nodeType":"YulIdentifier","src":"164156:2:21"}],"functionName":{"name":"writeString","nativeSrc":"164138:11:21","nodeType":"YulIdentifier","src":"164138:11:21"},"nativeSrc":"164138:21:21","nodeType":"YulFunctionCall","src":"164138:21:21"},"nativeSrc":"164138:21:21","nodeType":"YulExpressionStatement","src":"164138:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32082,"isOffset":false,"isSlot":false,"src":"163611:2:21","valueSize":1},{"declaration":32085,"isOffset":false,"isSlot":false,"src":"163641:2:21","valueSize":1},{"declaration":32088,"isOffset":false,"isSlot":false,"src":"163671:2:21","valueSize":1},{"declaration":32091,"isOffset":false,"isSlot":false,"src":"163701:2:21","valueSize":1},{"declaration":32094,"isOffset":false,"isSlot":false,"src":"163731:2:21","valueSize":1},{"declaration":32097,"isOffset":false,"isSlot":false,"src":"163761:2:21","valueSize":1},{"declaration":32100,"isOffset":false,"isSlot":false,"src":"163791:2:21","valueSize":1},{"declaration":32103,"isOffset":false,"isSlot":false,"src":"163821:2:21","valueSize":1},{"declaration":32106,"isOffset":false,"isSlot":false,"src":"163851:2:21","valueSize":1},{"declaration":32072,"isOffset":false,"isSlot":false,"src":"163997:2:21","valueSize":1},{"declaration":32074,"isOffset":false,"isSlot":false,"src":"164122:2:21","valueSize":1},{"declaration":32076,"isOffset":false,"isSlot":false,"src":"164156:2:21","valueSize":1},{"declaration":32078,"isOffset":false,"isSlot":false,"src":"164088:2:21","valueSize":1}],"id":32108,"nodeType":"InlineAssembly","src":"163233:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"164194:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":32111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"164200:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":32109,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"164178:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"164178:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32113,"nodeType":"ExpressionStatement","src":"164178:28:21"},{"AST":{"nativeSrc":"164268:273:21","nodeType":"YulBlock","src":"164268:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"164289:4:21","nodeType":"YulLiteral","src":"164289:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"164295:2:21","nodeType":"YulIdentifier","src":"164295:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164282:6:21","nodeType":"YulIdentifier","src":"164282:6:21"},"nativeSrc":"164282:16:21","nodeType":"YulFunctionCall","src":"164282:16:21"},"nativeSrc":"164282:16:21","nodeType":"YulExpressionStatement","src":"164282:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164318:4:21","nodeType":"YulLiteral","src":"164318:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"164324:2:21","nodeType":"YulIdentifier","src":"164324:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164311:6:21","nodeType":"YulIdentifier","src":"164311:6:21"},"nativeSrc":"164311:16:21","nodeType":"YulFunctionCall","src":"164311:16:21"},"nativeSrc":"164311:16:21","nodeType":"YulExpressionStatement","src":"164311:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164347:4:21","nodeType":"YulLiteral","src":"164347:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"164353:2:21","nodeType":"YulIdentifier","src":"164353:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164340:6:21","nodeType":"YulIdentifier","src":"164340:6:21"},"nativeSrc":"164340:16:21","nodeType":"YulFunctionCall","src":"164340:16:21"},"nativeSrc":"164340:16:21","nodeType":"YulExpressionStatement","src":"164340:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164376:4:21","nodeType":"YulLiteral","src":"164376:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"164382:2:21","nodeType":"YulIdentifier","src":"164382:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164369:6:21","nodeType":"YulIdentifier","src":"164369:6:21"},"nativeSrc":"164369:16:21","nodeType":"YulFunctionCall","src":"164369:16:21"},"nativeSrc":"164369:16:21","nodeType":"YulExpressionStatement","src":"164369:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164405:4:21","nodeType":"YulLiteral","src":"164405:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"164411:2:21","nodeType":"YulIdentifier","src":"164411:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164398:6:21","nodeType":"YulIdentifier","src":"164398:6:21"},"nativeSrc":"164398:16:21","nodeType":"YulFunctionCall","src":"164398:16:21"},"nativeSrc":"164398:16:21","nodeType":"YulExpressionStatement","src":"164398:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164434:4:21","nodeType":"YulLiteral","src":"164434:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"164440:2:21","nodeType":"YulIdentifier","src":"164440:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164427:6:21","nodeType":"YulIdentifier","src":"164427:6:21"},"nativeSrc":"164427:16:21","nodeType":"YulFunctionCall","src":"164427:16:21"},"nativeSrc":"164427:16:21","nodeType":"YulExpressionStatement","src":"164427:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164463:4:21","nodeType":"YulLiteral","src":"164463:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"164469:2:21","nodeType":"YulIdentifier","src":"164469:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164456:6:21","nodeType":"YulIdentifier","src":"164456:6:21"},"nativeSrc":"164456:16:21","nodeType":"YulFunctionCall","src":"164456:16:21"},"nativeSrc":"164456:16:21","nodeType":"YulExpressionStatement","src":"164456:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164492:4:21","nodeType":"YulLiteral","src":"164492:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"164498:2:21","nodeType":"YulIdentifier","src":"164498:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164485:6:21","nodeType":"YulIdentifier","src":"164485:6:21"},"nativeSrc":"164485:16:21","nodeType":"YulFunctionCall","src":"164485:16:21"},"nativeSrc":"164485:16:21","nodeType":"YulExpressionStatement","src":"164485:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164521:5:21","nodeType":"YulLiteral","src":"164521:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"164528:2:21","nodeType":"YulIdentifier","src":"164528:2:21"}],"functionName":{"name":"mstore","nativeSrc":"164514:6:21","nodeType":"YulIdentifier","src":"164514:6:21"},"nativeSrc":"164514:17:21","nodeType":"YulFunctionCall","src":"164514:17:21"},"nativeSrc":"164514:17:21","nodeType":"YulExpressionStatement","src":"164514:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32082,"isOffset":false,"isSlot":false,"src":"164295:2:21","valueSize":1},{"declaration":32085,"isOffset":false,"isSlot":false,"src":"164324:2:21","valueSize":1},{"declaration":32088,"isOffset":false,"isSlot":false,"src":"164353:2:21","valueSize":1},{"declaration":32091,"isOffset":false,"isSlot":false,"src":"164382:2:21","valueSize":1},{"declaration":32094,"isOffset":false,"isSlot":false,"src":"164411:2:21","valueSize":1},{"declaration":32097,"isOffset":false,"isSlot":false,"src":"164440:2:21","valueSize":1},{"declaration":32100,"isOffset":false,"isSlot":false,"src":"164469:2:21","valueSize":1},{"declaration":32103,"isOffset":false,"isSlot":false,"src":"164498:2:21","valueSize":1},{"declaration":32106,"isOffset":false,"isSlot":false,"src":"164528:2:21","valueSize":1}],"id":32114,"nodeType":"InlineAssembly","src":"164259:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"162934:3:21","parameters":{"id":32079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32072,"mutability":"mutable","name":"p0","nameLocation":"162946:2:21","nodeType":"VariableDeclaration","scope":32116,"src":"162938:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32071,"name":"address","nodeType":"ElementaryTypeName","src":"162938:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32074,"mutability":"mutable","name":"p1","nameLocation":"162958:2:21","nodeType":"VariableDeclaration","scope":32116,"src":"162950:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"162950:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32076,"mutability":"mutable","name":"p2","nameLocation":"162970:2:21","nodeType":"VariableDeclaration","scope":32116,"src":"162962:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"162962:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32078,"mutability":"mutable","name":"p3","nameLocation":"162982:2:21","nodeType":"VariableDeclaration","scope":32116,"src":"162974:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32077,"name":"address","nodeType":"ElementaryTypeName","src":"162974:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"162937:48:21"},"returnParameters":{"id":32080,"nodeType":"ParameterList","parameters":[],"src":"163000:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32162,"nodeType":"FunctionDefinition","src":"164553:1616:21","nodes":[],"body":{"id":32161,"nodeType":"Block","src":"164625:1544:21","nodes":[],"statements":[{"assignments":[32128],"declarations":[{"constant":false,"id":32128,"mutability":"mutable","name":"m0","nameLocation":"164643:2:21","nodeType":"VariableDeclaration","scope":32161,"src":"164635:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164635:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32129,"nodeType":"VariableDeclarationStatement","src":"164635:10:21"},{"assignments":[32131],"declarations":[{"constant":false,"id":32131,"mutability":"mutable","name":"m1","nameLocation":"164663:2:21","nodeType":"VariableDeclaration","scope":32161,"src":"164655:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164655:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32132,"nodeType":"VariableDeclarationStatement","src":"164655:10:21"},{"assignments":[32134],"declarations":[{"constant":false,"id":32134,"mutability":"mutable","name":"m2","nameLocation":"164683:2:21","nodeType":"VariableDeclaration","scope":32161,"src":"164675:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164675:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32135,"nodeType":"VariableDeclarationStatement","src":"164675:10:21"},{"assignments":[32137],"declarations":[{"constant":false,"id":32137,"mutability":"mutable","name":"m3","nameLocation":"164703:2:21","nodeType":"VariableDeclaration","scope":32161,"src":"164695:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164695:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32138,"nodeType":"VariableDeclarationStatement","src":"164695:10:21"},{"assignments":[32140],"declarations":[{"constant":false,"id":32140,"mutability":"mutable","name":"m4","nameLocation":"164723:2:21","nodeType":"VariableDeclaration","scope":32161,"src":"164715:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164715:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32141,"nodeType":"VariableDeclarationStatement","src":"164715:10:21"},{"assignments":[32143],"declarations":[{"constant":false,"id":32143,"mutability":"mutable","name":"m5","nameLocation":"164743:2:21","nodeType":"VariableDeclaration","scope":32161,"src":"164735:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164735:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32144,"nodeType":"VariableDeclarationStatement","src":"164735:10:21"},{"assignments":[32146],"declarations":[{"constant":false,"id":32146,"mutability":"mutable","name":"m6","nameLocation":"164763:2:21","nodeType":"VariableDeclaration","scope":32161,"src":"164755:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164755:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32147,"nodeType":"VariableDeclarationStatement","src":"164755:10:21"},{"assignments":[32149],"declarations":[{"constant":false,"id":32149,"mutability":"mutable","name":"m7","nameLocation":"164783:2:21","nodeType":"VariableDeclaration","scope":32161,"src":"164775:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164775:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32150,"nodeType":"VariableDeclarationStatement","src":"164775:10:21"},{"assignments":[32152],"declarations":[{"constant":false,"id":32152,"mutability":"mutable","name":"m8","nameLocation":"164803:2:21","nodeType":"VariableDeclaration","scope":32161,"src":"164795:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164795:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32153,"nodeType":"VariableDeclarationStatement","src":"164795:10:21"},{"AST":{"nativeSrc":"164867:924:21","nodeType":"YulBlock","src":"164867:924:21","statements":[{"body":{"nativeSrc":"164910:313:21","nodeType":"YulBlock","src":"164910:313:21","statements":[{"nativeSrc":"164928:15:21","nodeType":"YulVariableDeclaration","src":"164928:15:21","value":{"kind":"number","nativeSrc":"164942:1:21","nodeType":"YulLiteral","src":"164942:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"164932:6:21","nodeType":"YulTypedName","src":"164932:6:21","type":""}]},{"body":{"nativeSrc":"165013:40:21","nodeType":"YulBlock","src":"165013:40:21","statements":[{"body":{"nativeSrc":"165042:9:21","nodeType":"YulBlock","src":"165042:9:21","statements":[{"nativeSrc":"165044:5:21","nodeType":"YulBreak","src":"165044:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"165030:6:21","nodeType":"YulIdentifier","src":"165030:6:21"},{"name":"w","nativeSrc":"165038:1:21","nodeType":"YulIdentifier","src":"165038:1:21"}],"functionName":{"name":"byte","nativeSrc":"165025:4:21","nodeType":"YulIdentifier","src":"165025:4:21"},"nativeSrc":"165025:15:21","nodeType":"YulFunctionCall","src":"165025:15:21"}],"functionName":{"name":"iszero","nativeSrc":"165018:6:21","nodeType":"YulIdentifier","src":"165018:6:21"},"nativeSrc":"165018:23:21","nodeType":"YulFunctionCall","src":"165018:23:21"},"nativeSrc":"165015:36:21","nodeType":"YulIf","src":"165015:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"164970:6:21","nodeType":"YulIdentifier","src":"164970:6:21"},{"kind":"number","nativeSrc":"164978:4:21","nodeType":"YulLiteral","src":"164978:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"164967:2:21","nodeType":"YulIdentifier","src":"164967:2:21"},"nativeSrc":"164967:16:21","nodeType":"YulFunctionCall","src":"164967:16:21"},"nativeSrc":"164960:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"164984:28:21","nodeType":"YulBlock","src":"164984:28:21","statements":[{"nativeSrc":"164986:24:21","nodeType":"YulAssignment","src":"164986:24:21","value":{"arguments":[{"name":"length","nativeSrc":"165000:6:21","nodeType":"YulIdentifier","src":"165000:6:21"},{"kind":"number","nativeSrc":"165008:1:21","nodeType":"YulLiteral","src":"165008:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"164996:3:21","nodeType":"YulIdentifier","src":"164996:3:21"},"nativeSrc":"164996:14:21","nodeType":"YulFunctionCall","src":"164996:14:21"},"variableNames":[{"name":"length","nativeSrc":"164986:6:21","nodeType":"YulIdentifier","src":"164986:6:21"}]}]},"pre":{"nativeSrc":"164964:2:21","nodeType":"YulBlock","src":"164964:2:21","statements":[]},"src":"164960:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"165077:3:21","nodeType":"YulIdentifier","src":"165077:3:21"},{"name":"length","nativeSrc":"165082:6:21","nodeType":"YulIdentifier","src":"165082:6:21"}],"functionName":{"name":"mstore","nativeSrc":"165070:6:21","nodeType":"YulIdentifier","src":"165070:6:21"},"nativeSrc":"165070:19:21","nodeType":"YulFunctionCall","src":"165070:19:21"},"nativeSrc":"165070:19:21","nodeType":"YulExpressionStatement","src":"165070:19:21"},{"nativeSrc":"165106:37:21","nodeType":"YulVariableDeclaration","src":"165106:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"165123:3:21","nodeType":"YulLiteral","src":"165123:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"165132:1:21","nodeType":"YulLiteral","src":"165132:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"165135:6:21","nodeType":"YulIdentifier","src":"165135:6:21"}],"functionName":{"name":"shl","nativeSrc":"165128:3:21","nodeType":"YulIdentifier","src":"165128:3:21"},"nativeSrc":"165128:14:21","nodeType":"YulFunctionCall","src":"165128:14:21"}],"functionName":{"name":"sub","nativeSrc":"165119:3:21","nodeType":"YulIdentifier","src":"165119:3:21"},"nativeSrc":"165119:24:21","nodeType":"YulFunctionCall","src":"165119:24:21"},"variables":[{"name":"shift","nativeSrc":"165110:5:21","nodeType":"YulTypedName","src":"165110:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"165171:3:21","nodeType":"YulIdentifier","src":"165171:3:21"},{"kind":"number","nativeSrc":"165176:4:21","nodeType":"YulLiteral","src":"165176:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"165167:3:21","nodeType":"YulIdentifier","src":"165167:3:21"},"nativeSrc":"165167:14:21","nodeType":"YulFunctionCall","src":"165167:14:21"},{"arguments":[{"name":"shift","nativeSrc":"165187:5:21","nodeType":"YulIdentifier","src":"165187:5:21"},{"arguments":[{"name":"shift","nativeSrc":"165198:5:21","nodeType":"YulIdentifier","src":"165198:5:21"},{"name":"w","nativeSrc":"165205:1:21","nodeType":"YulIdentifier","src":"165205:1:21"}],"functionName":{"name":"shr","nativeSrc":"165194:3:21","nodeType":"YulIdentifier","src":"165194:3:21"},"nativeSrc":"165194:13:21","nodeType":"YulFunctionCall","src":"165194:13:21"}],"functionName":{"name":"shl","nativeSrc":"165183:3:21","nodeType":"YulIdentifier","src":"165183:3:21"},"nativeSrc":"165183:25:21","nodeType":"YulFunctionCall","src":"165183:25:21"}],"functionName":{"name":"mstore","nativeSrc":"165160:6:21","nodeType":"YulIdentifier","src":"165160:6:21"},"nativeSrc":"165160:49:21","nodeType":"YulFunctionCall","src":"165160:49:21"},"nativeSrc":"165160:49:21","nodeType":"YulExpressionStatement","src":"165160:49:21"}]},"name":"writeString","nativeSrc":"164881:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"164902:3:21","nodeType":"YulTypedName","src":"164902:3:21","type":""},{"name":"w","nativeSrc":"164907:1:21","nodeType":"YulTypedName","src":"164907:1:21","type":""}],"src":"164881:342:21"},{"nativeSrc":"165236:17:21","nodeType":"YulAssignment","src":"165236:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"165248:4:21","nodeType":"YulLiteral","src":"165248:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"165242:5:21","nodeType":"YulIdentifier","src":"165242:5:21"},"nativeSrc":"165242:11:21","nodeType":"YulFunctionCall","src":"165242:11:21"},"variableNames":[{"name":"m0","nativeSrc":"165236:2:21","nodeType":"YulIdentifier","src":"165236:2:21"}]},{"nativeSrc":"165266:17:21","nodeType":"YulAssignment","src":"165266:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"165278:4:21","nodeType":"YulLiteral","src":"165278:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"165272:5:21","nodeType":"YulIdentifier","src":"165272:5:21"},"nativeSrc":"165272:11:21","nodeType":"YulFunctionCall","src":"165272:11:21"},"variableNames":[{"name":"m1","nativeSrc":"165266:2:21","nodeType":"YulIdentifier","src":"165266:2:21"}]},{"nativeSrc":"165296:17:21","nodeType":"YulAssignment","src":"165296:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"165308:4:21","nodeType":"YulLiteral","src":"165308:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"165302:5:21","nodeType":"YulIdentifier","src":"165302:5:21"},"nativeSrc":"165302:11:21","nodeType":"YulFunctionCall","src":"165302:11:21"},"variableNames":[{"name":"m2","nativeSrc":"165296:2:21","nodeType":"YulIdentifier","src":"165296:2:21"}]},{"nativeSrc":"165326:17:21","nodeType":"YulAssignment","src":"165326:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"165338:4:21","nodeType":"YulLiteral","src":"165338:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"165332:5:21","nodeType":"YulIdentifier","src":"165332:5:21"},"nativeSrc":"165332:11:21","nodeType":"YulFunctionCall","src":"165332:11:21"},"variableNames":[{"name":"m3","nativeSrc":"165326:2:21","nodeType":"YulIdentifier","src":"165326:2:21"}]},{"nativeSrc":"165356:17:21","nodeType":"YulAssignment","src":"165356:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"165368:4:21","nodeType":"YulLiteral","src":"165368:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"165362:5:21","nodeType":"YulIdentifier","src":"165362:5:21"},"nativeSrc":"165362:11:21","nodeType":"YulFunctionCall","src":"165362:11:21"},"variableNames":[{"name":"m4","nativeSrc":"165356:2:21","nodeType":"YulIdentifier","src":"165356:2:21"}]},{"nativeSrc":"165386:17:21","nodeType":"YulAssignment","src":"165386:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"165398:4:21","nodeType":"YulLiteral","src":"165398:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"165392:5:21","nodeType":"YulIdentifier","src":"165392:5:21"},"nativeSrc":"165392:11:21","nodeType":"YulFunctionCall","src":"165392:11:21"},"variableNames":[{"name":"m5","nativeSrc":"165386:2:21","nodeType":"YulIdentifier","src":"165386:2:21"}]},{"nativeSrc":"165416:17:21","nodeType":"YulAssignment","src":"165416:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"165428:4:21","nodeType":"YulLiteral","src":"165428:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"165422:5:21","nodeType":"YulIdentifier","src":"165422:5:21"},"nativeSrc":"165422:11:21","nodeType":"YulFunctionCall","src":"165422:11:21"},"variableNames":[{"name":"m6","nativeSrc":"165416:2:21","nodeType":"YulIdentifier","src":"165416:2:21"}]},{"nativeSrc":"165446:17:21","nodeType":"YulAssignment","src":"165446:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"165458:4:21","nodeType":"YulLiteral","src":"165458:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"165452:5:21","nodeType":"YulIdentifier","src":"165452:5:21"},"nativeSrc":"165452:11:21","nodeType":"YulFunctionCall","src":"165452:11:21"},"variableNames":[{"name":"m7","nativeSrc":"165446:2:21","nodeType":"YulIdentifier","src":"165446:2:21"}]},{"nativeSrc":"165476:18:21","nodeType":"YulAssignment","src":"165476:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"165488:5:21","nodeType":"YulLiteral","src":"165488:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"165482:5:21","nodeType":"YulIdentifier","src":"165482:5:21"},"nativeSrc":"165482:12:21","nodeType":"YulFunctionCall","src":"165482:12:21"},"variableNames":[{"name":"m8","nativeSrc":"165476:2:21","nodeType":"YulIdentifier","src":"165476:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165576:4:21","nodeType":"YulLiteral","src":"165576:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"165582:10:21","nodeType":"YulLiteral","src":"165582:10:21","type":"","value":"0x35a5071f"}],"functionName":{"name":"mstore","nativeSrc":"165569:6:21","nodeType":"YulIdentifier","src":"165569:6:21"},"nativeSrc":"165569:24:21","nodeType":"YulFunctionCall","src":"165569:24:21"},"nativeSrc":"165569:24:21","nodeType":"YulExpressionStatement","src":"165569:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165613:4:21","nodeType":"YulLiteral","src":"165613:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"165619:2:21","nodeType":"YulIdentifier","src":"165619:2:21"}],"functionName":{"name":"mstore","nativeSrc":"165606:6:21","nodeType":"YulIdentifier","src":"165606:6:21"},"nativeSrc":"165606:16:21","nodeType":"YulFunctionCall","src":"165606:16:21"},"nativeSrc":"165606:16:21","nodeType":"YulExpressionStatement","src":"165606:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165642:4:21","nodeType":"YulLiteral","src":"165642:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"165648:4:21","nodeType":"YulLiteral","src":"165648:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"165635:6:21","nodeType":"YulIdentifier","src":"165635:6:21"},"nativeSrc":"165635:18:21","nodeType":"YulFunctionCall","src":"165635:18:21"},"nativeSrc":"165635:18:21","nodeType":"YulExpressionStatement","src":"165635:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165673:4:21","nodeType":"YulLiteral","src":"165673:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"165679:4:21","nodeType":"YulLiteral","src":"165679:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"165666:6:21","nodeType":"YulIdentifier","src":"165666:6:21"},"nativeSrc":"165666:18:21","nodeType":"YulFunctionCall","src":"165666:18:21"},"nativeSrc":"165666:18:21","nodeType":"YulExpressionStatement","src":"165666:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165704:4:21","nodeType":"YulLiteral","src":"165704:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"165710:2:21","nodeType":"YulIdentifier","src":"165710:2:21"}],"functionName":{"name":"mstore","nativeSrc":"165697:6:21","nodeType":"YulIdentifier","src":"165697:6:21"},"nativeSrc":"165697:16:21","nodeType":"YulFunctionCall","src":"165697:16:21"},"nativeSrc":"165697:16:21","nodeType":"YulExpressionStatement","src":"165697:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165738:4:21","nodeType":"YulLiteral","src":"165738:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"165744:2:21","nodeType":"YulIdentifier","src":"165744:2:21"}],"functionName":{"name":"writeString","nativeSrc":"165726:11:21","nodeType":"YulIdentifier","src":"165726:11:21"},"nativeSrc":"165726:21:21","nodeType":"YulFunctionCall","src":"165726:21:21"},"nativeSrc":"165726:21:21","nodeType":"YulExpressionStatement","src":"165726:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165772:4:21","nodeType":"YulLiteral","src":"165772:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"165778:2:21","nodeType":"YulIdentifier","src":"165778:2:21"}],"functionName":{"name":"writeString","nativeSrc":"165760:11:21","nodeType":"YulIdentifier","src":"165760:11:21"},"nativeSrc":"165760:21:21","nodeType":"YulFunctionCall","src":"165760:21:21"},"nativeSrc":"165760:21:21","nodeType":"YulExpressionStatement","src":"165760:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32128,"isOffset":false,"isSlot":false,"src":"165236:2:21","valueSize":1},{"declaration":32131,"isOffset":false,"isSlot":false,"src":"165266:2:21","valueSize":1},{"declaration":32134,"isOffset":false,"isSlot":false,"src":"165296:2:21","valueSize":1},{"declaration":32137,"isOffset":false,"isSlot":false,"src":"165326:2:21","valueSize":1},{"declaration":32140,"isOffset":false,"isSlot":false,"src":"165356:2:21","valueSize":1},{"declaration":32143,"isOffset":false,"isSlot":false,"src":"165386:2:21","valueSize":1},{"declaration":32146,"isOffset":false,"isSlot":false,"src":"165416:2:21","valueSize":1},{"declaration":32149,"isOffset":false,"isSlot":false,"src":"165446:2:21","valueSize":1},{"declaration":32152,"isOffset":false,"isSlot":false,"src":"165476:2:21","valueSize":1},{"declaration":32118,"isOffset":false,"isSlot":false,"src":"165619:2:21","valueSize":1},{"declaration":32120,"isOffset":false,"isSlot":false,"src":"165744:2:21","valueSize":1},{"declaration":32122,"isOffset":false,"isSlot":false,"src":"165778:2:21","valueSize":1},{"declaration":32124,"isOffset":false,"isSlot":false,"src":"165710:2:21","valueSize":1}],"id":32154,"nodeType":"InlineAssembly","src":"164858:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"165816:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":32157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"165822:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":32155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"165800:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"165800:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32159,"nodeType":"ExpressionStatement","src":"165800:28:21"},{"AST":{"nativeSrc":"165890:273:21","nodeType":"YulBlock","src":"165890:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"165911:4:21","nodeType":"YulLiteral","src":"165911:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"165917:2:21","nodeType":"YulIdentifier","src":"165917:2:21"}],"functionName":{"name":"mstore","nativeSrc":"165904:6:21","nodeType":"YulIdentifier","src":"165904:6:21"},"nativeSrc":"165904:16:21","nodeType":"YulFunctionCall","src":"165904:16:21"},"nativeSrc":"165904:16:21","nodeType":"YulExpressionStatement","src":"165904:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165940:4:21","nodeType":"YulLiteral","src":"165940:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"165946:2:21","nodeType":"YulIdentifier","src":"165946:2:21"}],"functionName":{"name":"mstore","nativeSrc":"165933:6:21","nodeType":"YulIdentifier","src":"165933:6:21"},"nativeSrc":"165933:16:21","nodeType":"YulFunctionCall","src":"165933:16:21"},"nativeSrc":"165933:16:21","nodeType":"YulExpressionStatement","src":"165933:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165969:4:21","nodeType":"YulLiteral","src":"165969:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"165975:2:21","nodeType":"YulIdentifier","src":"165975:2:21"}],"functionName":{"name":"mstore","nativeSrc":"165962:6:21","nodeType":"YulIdentifier","src":"165962:6:21"},"nativeSrc":"165962:16:21","nodeType":"YulFunctionCall","src":"165962:16:21"},"nativeSrc":"165962:16:21","nodeType":"YulExpressionStatement","src":"165962:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165998:4:21","nodeType":"YulLiteral","src":"165998:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"166004:2:21","nodeType":"YulIdentifier","src":"166004:2:21"}],"functionName":{"name":"mstore","nativeSrc":"165991:6:21","nodeType":"YulIdentifier","src":"165991:6:21"},"nativeSrc":"165991:16:21","nodeType":"YulFunctionCall","src":"165991:16:21"},"nativeSrc":"165991:16:21","nodeType":"YulExpressionStatement","src":"165991:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166027:4:21","nodeType":"YulLiteral","src":"166027:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"166033:2:21","nodeType":"YulIdentifier","src":"166033:2:21"}],"functionName":{"name":"mstore","nativeSrc":"166020:6:21","nodeType":"YulIdentifier","src":"166020:6:21"},"nativeSrc":"166020:16:21","nodeType":"YulFunctionCall","src":"166020:16:21"},"nativeSrc":"166020:16:21","nodeType":"YulExpressionStatement","src":"166020:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166056:4:21","nodeType":"YulLiteral","src":"166056:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"166062:2:21","nodeType":"YulIdentifier","src":"166062:2:21"}],"functionName":{"name":"mstore","nativeSrc":"166049:6:21","nodeType":"YulIdentifier","src":"166049:6:21"},"nativeSrc":"166049:16:21","nodeType":"YulFunctionCall","src":"166049:16:21"},"nativeSrc":"166049:16:21","nodeType":"YulExpressionStatement","src":"166049:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166085:4:21","nodeType":"YulLiteral","src":"166085:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"166091:2:21","nodeType":"YulIdentifier","src":"166091:2:21"}],"functionName":{"name":"mstore","nativeSrc":"166078:6:21","nodeType":"YulIdentifier","src":"166078:6:21"},"nativeSrc":"166078:16:21","nodeType":"YulFunctionCall","src":"166078:16:21"},"nativeSrc":"166078:16:21","nodeType":"YulExpressionStatement","src":"166078:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166114:4:21","nodeType":"YulLiteral","src":"166114:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"166120:2:21","nodeType":"YulIdentifier","src":"166120:2:21"}],"functionName":{"name":"mstore","nativeSrc":"166107:6:21","nodeType":"YulIdentifier","src":"166107:6:21"},"nativeSrc":"166107:16:21","nodeType":"YulFunctionCall","src":"166107:16:21"},"nativeSrc":"166107:16:21","nodeType":"YulExpressionStatement","src":"166107:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166143:5:21","nodeType":"YulLiteral","src":"166143:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"166150:2:21","nodeType":"YulIdentifier","src":"166150:2:21"}],"functionName":{"name":"mstore","nativeSrc":"166136:6:21","nodeType":"YulIdentifier","src":"166136:6:21"},"nativeSrc":"166136:17:21","nodeType":"YulFunctionCall","src":"166136:17:21"},"nativeSrc":"166136:17:21","nodeType":"YulExpressionStatement","src":"166136:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32128,"isOffset":false,"isSlot":false,"src":"165917:2:21","valueSize":1},{"declaration":32131,"isOffset":false,"isSlot":false,"src":"165946:2:21","valueSize":1},{"declaration":32134,"isOffset":false,"isSlot":false,"src":"165975:2:21","valueSize":1},{"declaration":32137,"isOffset":false,"isSlot":false,"src":"166004:2:21","valueSize":1},{"declaration":32140,"isOffset":false,"isSlot":false,"src":"166033:2:21","valueSize":1},{"declaration":32143,"isOffset":false,"isSlot":false,"src":"166062:2:21","valueSize":1},{"declaration":32146,"isOffset":false,"isSlot":false,"src":"166091:2:21","valueSize":1},{"declaration":32149,"isOffset":false,"isSlot":false,"src":"166120:2:21","valueSize":1},{"declaration":32152,"isOffset":false,"isSlot":false,"src":"166150:2:21","valueSize":1}],"id":32160,"nodeType":"InlineAssembly","src":"165881:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"164562:3:21","parameters":{"id":32125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32118,"mutability":"mutable","name":"p0","nameLocation":"164574:2:21","nodeType":"VariableDeclaration","scope":32162,"src":"164566:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32117,"name":"address","nodeType":"ElementaryTypeName","src":"164566:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32120,"mutability":"mutable","name":"p1","nameLocation":"164586:2:21","nodeType":"VariableDeclaration","scope":32162,"src":"164578:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164578:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32122,"mutability":"mutable","name":"p2","nameLocation":"164598:2:21","nodeType":"VariableDeclaration","scope":32162,"src":"164590:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164590:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32124,"mutability":"mutable","name":"p3","nameLocation":"164607:2:21","nodeType":"VariableDeclaration","scope":32162,"src":"164602:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32123,"name":"bool","nodeType":"ElementaryTypeName","src":"164602:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"164565:45:21"},"returnParameters":{"id":32126,"nodeType":"ParameterList","parameters":[],"src":"164625:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32208,"nodeType":"FunctionDefinition","src":"166175:1622:21","nodes":[],"body":{"id":32207,"nodeType":"Block","src":"166250:1547:21","nodes":[],"statements":[{"assignments":[32174],"declarations":[{"constant":false,"id":32174,"mutability":"mutable","name":"m0","nameLocation":"166268:2:21","nodeType":"VariableDeclaration","scope":32207,"src":"166260:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166260:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32175,"nodeType":"VariableDeclarationStatement","src":"166260:10:21"},{"assignments":[32177],"declarations":[{"constant":false,"id":32177,"mutability":"mutable","name":"m1","nameLocation":"166288:2:21","nodeType":"VariableDeclaration","scope":32207,"src":"166280:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166280:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32178,"nodeType":"VariableDeclarationStatement","src":"166280:10:21"},{"assignments":[32180],"declarations":[{"constant":false,"id":32180,"mutability":"mutable","name":"m2","nameLocation":"166308:2:21","nodeType":"VariableDeclaration","scope":32207,"src":"166300:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166300:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32181,"nodeType":"VariableDeclarationStatement","src":"166300:10:21"},{"assignments":[32183],"declarations":[{"constant":false,"id":32183,"mutability":"mutable","name":"m3","nameLocation":"166328:2:21","nodeType":"VariableDeclaration","scope":32207,"src":"166320:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166320:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32184,"nodeType":"VariableDeclarationStatement","src":"166320:10:21"},{"assignments":[32186],"declarations":[{"constant":false,"id":32186,"mutability":"mutable","name":"m4","nameLocation":"166348:2:21","nodeType":"VariableDeclaration","scope":32207,"src":"166340:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166340:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32187,"nodeType":"VariableDeclarationStatement","src":"166340:10:21"},{"assignments":[32189],"declarations":[{"constant":false,"id":32189,"mutability":"mutable","name":"m5","nameLocation":"166368:2:21","nodeType":"VariableDeclaration","scope":32207,"src":"166360:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166360:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32190,"nodeType":"VariableDeclarationStatement","src":"166360:10:21"},{"assignments":[32192],"declarations":[{"constant":false,"id":32192,"mutability":"mutable","name":"m6","nameLocation":"166388:2:21","nodeType":"VariableDeclaration","scope":32207,"src":"166380:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166380:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32193,"nodeType":"VariableDeclarationStatement","src":"166380:10:21"},{"assignments":[32195],"declarations":[{"constant":false,"id":32195,"mutability":"mutable","name":"m7","nameLocation":"166408:2:21","nodeType":"VariableDeclaration","scope":32207,"src":"166400:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166400:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32196,"nodeType":"VariableDeclarationStatement","src":"166400:10:21"},{"assignments":[32198],"declarations":[{"constant":false,"id":32198,"mutability":"mutable","name":"m8","nameLocation":"166428:2:21","nodeType":"VariableDeclaration","scope":32207,"src":"166420:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166420:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32199,"nodeType":"VariableDeclarationStatement","src":"166420:10:21"},{"AST":{"nativeSrc":"166492:927:21","nodeType":"YulBlock","src":"166492:927:21","statements":[{"body":{"nativeSrc":"166535:313:21","nodeType":"YulBlock","src":"166535:313:21","statements":[{"nativeSrc":"166553:15:21","nodeType":"YulVariableDeclaration","src":"166553:15:21","value":{"kind":"number","nativeSrc":"166567:1:21","nodeType":"YulLiteral","src":"166567:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"166557:6:21","nodeType":"YulTypedName","src":"166557:6:21","type":""}]},{"body":{"nativeSrc":"166638:40:21","nodeType":"YulBlock","src":"166638:40:21","statements":[{"body":{"nativeSrc":"166667:9:21","nodeType":"YulBlock","src":"166667:9:21","statements":[{"nativeSrc":"166669:5:21","nodeType":"YulBreak","src":"166669:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"166655:6:21","nodeType":"YulIdentifier","src":"166655:6:21"},{"name":"w","nativeSrc":"166663:1:21","nodeType":"YulIdentifier","src":"166663:1:21"}],"functionName":{"name":"byte","nativeSrc":"166650:4:21","nodeType":"YulIdentifier","src":"166650:4:21"},"nativeSrc":"166650:15:21","nodeType":"YulFunctionCall","src":"166650:15:21"}],"functionName":{"name":"iszero","nativeSrc":"166643:6:21","nodeType":"YulIdentifier","src":"166643:6:21"},"nativeSrc":"166643:23:21","nodeType":"YulFunctionCall","src":"166643:23:21"},"nativeSrc":"166640:36:21","nodeType":"YulIf","src":"166640:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"166595:6:21","nodeType":"YulIdentifier","src":"166595:6:21"},{"kind":"number","nativeSrc":"166603:4:21","nodeType":"YulLiteral","src":"166603:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"166592:2:21","nodeType":"YulIdentifier","src":"166592:2:21"},"nativeSrc":"166592:16:21","nodeType":"YulFunctionCall","src":"166592:16:21"},"nativeSrc":"166585:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"166609:28:21","nodeType":"YulBlock","src":"166609:28:21","statements":[{"nativeSrc":"166611:24:21","nodeType":"YulAssignment","src":"166611:24:21","value":{"arguments":[{"name":"length","nativeSrc":"166625:6:21","nodeType":"YulIdentifier","src":"166625:6:21"},{"kind":"number","nativeSrc":"166633:1:21","nodeType":"YulLiteral","src":"166633:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"166621:3:21","nodeType":"YulIdentifier","src":"166621:3:21"},"nativeSrc":"166621:14:21","nodeType":"YulFunctionCall","src":"166621:14:21"},"variableNames":[{"name":"length","nativeSrc":"166611:6:21","nodeType":"YulIdentifier","src":"166611:6:21"}]}]},"pre":{"nativeSrc":"166589:2:21","nodeType":"YulBlock","src":"166589:2:21","statements":[]},"src":"166585:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"166702:3:21","nodeType":"YulIdentifier","src":"166702:3:21"},{"name":"length","nativeSrc":"166707:6:21","nodeType":"YulIdentifier","src":"166707:6:21"}],"functionName":{"name":"mstore","nativeSrc":"166695:6:21","nodeType":"YulIdentifier","src":"166695:6:21"},"nativeSrc":"166695:19:21","nodeType":"YulFunctionCall","src":"166695:19:21"},"nativeSrc":"166695:19:21","nodeType":"YulExpressionStatement","src":"166695:19:21"},{"nativeSrc":"166731:37:21","nodeType":"YulVariableDeclaration","src":"166731:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"166748:3:21","nodeType":"YulLiteral","src":"166748:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"166757:1:21","nodeType":"YulLiteral","src":"166757:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"166760:6:21","nodeType":"YulIdentifier","src":"166760:6:21"}],"functionName":{"name":"shl","nativeSrc":"166753:3:21","nodeType":"YulIdentifier","src":"166753:3:21"},"nativeSrc":"166753:14:21","nodeType":"YulFunctionCall","src":"166753:14:21"}],"functionName":{"name":"sub","nativeSrc":"166744:3:21","nodeType":"YulIdentifier","src":"166744:3:21"},"nativeSrc":"166744:24:21","nodeType":"YulFunctionCall","src":"166744:24:21"},"variables":[{"name":"shift","nativeSrc":"166735:5:21","nodeType":"YulTypedName","src":"166735:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"166796:3:21","nodeType":"YulIdentifier","src":"166796:3:21"},{"kind":"number","nativeSrc":"166801:4:21","nodeType":"YulLiteral","src":"166801:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"166792:3:21","nodeType":"YulIdentifier","src":"166792:3:21"},"nativeSrc":"166792:14:21","nodeType":"YulFunctionCall","src":"166792:14:21"},{"arguments":[{"name":"shift","nativeSrc":"166812:5:21","nodeType":"YulIdentifier","src":"166812:5:21"},{"arguments":[{"name":"shift","nativeSrc":"166823:5:21","nodeType":"YulIdentifier","src":"166823:5:21"},{"name":"w","nativeSrc":"166830:1:21","nodeType":"YulIdentifier","src":"166830:1:21"}],"functionName":{"name":"shr","nativeSrc":"166819:3:21","nodeType":"YulIdentifier","src":"166819:3:21"},"nativeSrc":"166819:13:21","nodeType":"YulFunctionCall","src":"166819:13:21"}],"functionName":{"name":"shl","nativeSrc":"166808:3:21","nodeType":"YulIdentifier","src":"166808:3:21"},"nativeSrc":"166808:25:21","nodeType":"YulFunctionCall","src":"166808:25:21"}],"functionName":{"name":"mstore","nativeSrc":"166785:6:21","nodeType":"YulIdentifier","src":"166785:6:21"},"nativeSrc":"166785:49:21","nodeType":"YulFunctionCall","src":"166785:49:21"},"nativeSrc":"166785:49:21","nodeType":"YulExpressionStatement","src":"166785:49:21"}]},"name":"writeString","nativeSrc":"166506:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"166527:3:21","nodeType":"YulTypedName","src":"166527:3:21","type":""},{"name":"w","nativeSrc":"166532:1:21","nodeType":"YulTypedName","src":"166532:1:21","type":""}],"src":"166506:342:21"},{"nativeSrc":"166861:17:21","nodeType":"YulAssignment","src":"166861:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"166873:4:21","nodeType":"YulLiteral","src":"166873:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"166867:5:21","nodeType":"YulIdentifier","src":"166867:5:21"},"nativeSrc":"166867:11:21","nodeType":"YulFunctionCall","src":"166867:11:21"},"variableNames":[{"name":"m0","nativeSrc":"166861:2:21","nodeType":"YulIdentifier","src":"166861:2:21"}]},{"nativeSrc":"166891:17:21","nodeType":"YulAssignment","src":"166891:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"166903:4:21","nodeType":"YulLiteral","src":"166903:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"166897:5:21","nodeType":"YulIdentifier","src":"166897:5:21"},"nativeSrc":"166897:11:21","nodeType":"YulFunctionCall","src":"166897:11:21"},"variableNames":[{"name":"m1","nativeSrc":"166891:2:21","nodeType":"YulIdentifier","src":"166891:2:21"}]},{"nativeSrc":"166921:17:21","nodeType":"YulAssignment","src":"166921:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"166933:4:21","nodeType":"YulLiteral","src":"166933:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"166927:5:21","nodeType":"YulIdentifier","src":"166927:5:21"},"nativeSrc":"166927:11:21","nodeType":"YulFunctionCall","src":"166927:11:21"},"variableNames":[{"name":"m2","nativeSrc":"166921:2:21","nodeType":"YulIdentifier","src":"166921:2:21"}]},{"nativeSrc":"166951:17:21","nodeType":"YulAssignment","src":"166951:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"166963:4:21","nodeType":"YulLiteral","src":"166963:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"166957:5:21","nodeType":"YulIdentifier","src":"166957:5:21"},"nativeSrc":"166957:11:21","nodeType":"YulFunctionCall","src":"166957:11:21"},"variableNames":[{"name":"m3","nativeSrc":"166951:2:21","nodeType":"YulIdentifier","src":"166951:2:21"}]},{"nativeSrc":"166981:17:21","nodeType":"YulAssignment","src":"166981:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"166993:4:21","nodeType":"YulLiteral","src":"166993:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"166987:5:21","nodeType":"YulIdentifier","src":"166987:5:21"},"nativeSrc":"166987:11:21","nodeType":"YulFunctionCall","src":"166987:11:21"},"variableNames":[{"name":"m4","nativeSrc":"166981:2:21","nodeType":"YulIdentifier","src":"166981:2:21"}]},{"nativeSrc":"167011:17:21","nodeType":"YulAssignment","src":"167011:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"167023:4:21","nodeType":"YulLiteral","src":"167023:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"167017:5:21","nodeType":"YulIdentifier","src":"167017:5:21"},"nativeSrc":"167017:11:21","nodeType":"YulFunctionCall","src":"167017:11:21"},"variableNames":[{"name":"m5","nativeSrc":"167011:2:21","nodeType":"YulIdentifier","src":"167011:2:21"}]},{"nativeSrc":"167041:17:21","nodeType":"YulAssignment","src":"167041:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"167053:4:21","nodeType":"YulLiteral","src":"167053:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"167047:5:21","nodeType":"YulIdentifier","src":"167047:5:21"},"nativeSrc":"167047:11:21","nodeType":"YulFunctionCall","src":"167047:11:21"},"variableNames":[{"name":"m6","nativeSrc":"167041:2:21","nodeType":"YulIdentifier","src":"167041:2:21"}]},{"nativeSrc":"167071:17:21","nodeType":"YulAssignment","src":"167071:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"167083:4:21","nodeType":"YulLiteral","src":"167083:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"167077:5:21","nodeType":"YulIdentifier","src":"167077:5:21"},"nativeSrc":"167077:11:21","nodeType":"YulFunctionCall","src":"167077:11:21"},"variableNames":[{"name":"m7","nativeSrc":"167071:2:21","nodeType":"YulIdentifier","src":"167071:2:21"}]},{"nativeSrc":"167101:18:21","nodeType":"YulAssignment","src":"167101:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"167113:5:21","nodeType":"YulLiteral","src":"167113:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"167107:5:21","nodeType":"YulIdentifier","src":"167107:5:21"},"nativeSrc":"167107:12:21","nodeType":"YulFunctionCall","src":"167107:12:21"},"variableNames":[{"name":"m8","nativeSrc":"167101:2:21","nodeType":"YulIdentifier","src":"167101:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167204:4:21","nodeType":"YulLiteral","src":"167204:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"167210:10:21","nodeType":"YulLiteral","src":"167210:10:21","type":"","value":"0x159f8927"}],"functionName":{"name":"mstore","nativeSrc":"167197:6:21","nodeType":"YulIdentifier","src":"167197:6:21"},"nativeSrc":"167197:24:21","nodeType":"YulFunctionCall","src":"167197:24:21"},"nativeSrc":"167197:24:21","nodeType":"YulExpressionStatement","src":"167197:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167241:4:21","nodeType":"YulLiteral","src":"167241:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"167247:2:21","nodeType":"YulIdentifier","src":"167247:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167234:6:21","nodeType":"YulIdentifier","src":"167234:6:21"},"nativeSrc":"167234:16:21","nodeType":"YulFunctionCall","src":"167234:16:21"},"nativeSrc":"167234:16:21","nodeType":"YulExpressionStatement","src":"167234:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167270:4:21","nodeType":"YulLiteral","src":"167270:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"167276:4:21","nodeType":"YulLiteral","src":"167276:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"167263:6:21","nodeType":"YulIdentifier","src":"167263:6:21"},"nativeSrc":"167263:18:21","nodeType":"YulFunctionCall","src":"167263:18:21"},"nativeSrc":"167263:18:21","nodeType":"YulExpressionStatement","src":"167263:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167301:4:21","nodeType":"YulLiteral","src":"167301:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"167307:4:21","nodeType":"YulLiteral","src":"167307:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"167294:6:21","nodeType":"YulIdentifier","src":"167294:6:21"},"nativeSrc":"167294:18:21","nodeType":"YulFunctionCall","src":"167294:18:21"},"nativeSrc":"167294:18:21","nodeType":"YulExpressionStatement","src":"167294:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167332:4:21","nodeType":"YulLiteral","src":"167332:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"167338:2:21","nodeType":"YulIdentifier","src":"167338:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167325:6:21","nodeType":"YulIdentifier","src":"167325:6:21"},"nativeSrc":"167325:16:21","nodeType":"YulFunctionCall","src":"167325:16:21"},"nativeSrc":"167325:16:21","nodeType":"YulExpressionStatement","src":"167325:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167366:4:21","nodeType":"YulLiteral","src":"167366:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"167372:2:21","nodeType":"YulIdentifier","src":"167372:2:21"}],"functionName":{"name":"writeString","nativeSrc":"167354:11:21","nodeType":"YulIdentifier","src":"167354:11:21"},"nativeSrc":"167354:21:21","nodeType":"YulFunctionCall","src":"167354:21:21"},"nativeSrc":"167354:21:21","nodeType":"YulExpressionStatement","src":"167354:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167400:4:21","nodeType":"YulLiteral","src":"167400:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"167406:2:21","nodeType":"YulIdentifier","src":"167406:2:21"}],"functionName":{"name":"writeString","nativeSrc":"167388:11:21","nodeType":"YulIdentifier","src":"167388:11:21"},"nativeSrc":"167388:21:21","nodeType":"YulFunctionCall","src":"167388:21:21"},"nativeSrc":"167388:21:21","nodeType":"YulExpressionStatement","src":"167388:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32174,"isOffset":false,"isSlot":false,"src":"166861:2:21","valueSize":1},{"declaration":32177,"isOffset":false,"isSlot":false,"src":"166891:2:21","valueSize":1},{"declaration":32180,"isOffset":false,"isSlot":false,"src":"166921:2:21","valueSize":1},{"declaration":32183,"isOffset":false,"isSlot":false,"src":"166951:2:21","valueSize":1},{"declaration":32186,"isOffset":false,"isSlot":false,"src":"166981:2:21","valueSize":1},{"declaration":32189,"isOffset":false,"isSlot":false,"src":"167011:2:21","valueSize":1},{"declaration":32192,"isOffset":false,"isSlot":false,"src":"167041:2:21","valueSize":1},{"declaration":32195,"isOffset":false,"isSlot":false,"src":"167071:2:21","valueSize":1},{"declaration":32198,"isOffset":false,"isSlot":false,"src":"167101:2:21","valueSize":1},{"declaration":32164,"isOffset":false,"isSlot":false,"src":"167247:2:21","valueSize":1},{"declaration":32166,"isOffset":false,"isSlot":false,"src":"167372:2:21","valueSize":1},{"declaration":32168,"isOffset":false,"isSlot":false,"src":"167406:2:21","valueSize":1},{"declaration":32170,"isOffset":false,"isSlot":false,"src":"167338:2:21","valueSize":1}],"id":32200,"nodeType":"InlineAssembly","src":"166483:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"167444:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":32203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"167450:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":32201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"167428:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"167428:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32205,"nodeType":"ExpressionStatement","src":"167428:28:21"},{"AST":{"nativeSrc":"167518:273:21","nodeType":"YulBlock","src":"167518:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"167539:4:21","nodeType":"YulLiteral","src":"167539:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"167545:2:21","nodeType":"YulIdentifier","src":"167545:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167532:6:21","nodeType":"YulIdentifier","src":"167532:6:21"},"nativeSrc":"167532:16:21","nodeType":"YulFunctionCall","src":"167532:16:21"},"nativeSrc":"167532:16:21","nodeType":"YulExpressionStatement","src":"167532:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167568:4:21","nodeType":"YulLiteral","src":"167568:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"167574:2:21","nodeType":"YulIdentifier","src":"167574:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167561:6:21","nodeType":"YulIdentifier","src":"167561:6:21"},"nativeSrc":"167561:16:21","nodeType":"YulFunctionCall","src":"167561:16:21"},"nativeSrc":"167561:16:21","nodeType":"YulExpressionStatement","src":"167561:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167597:4:21","nodeType":"YulLiteral","src":"167597:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"167603:2:21","nodeType":"YulIdentifier","src":"167603:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167590:6:21","nodeType":"YulIdentifier","src":"167590:6:21"},"nativeSrc":"167590:16:21","nodeType":"YulFunctionCall","src":"167590:16:21"},"nativeSrc":"167590:16:21","nodeType":"YulExpressionStatement","src":"167590:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167626:4:21","nodeType":"YulLiteral","src":"167626:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"167632:2:21","nodeType":"YulIdentifier","src":"167632:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167619:6:21","nodeType":"YulIdentifier","src":"167619:6:21"},"nativeSrc":"167619:16:21","nodeType":"YulFunctionCall","src":"167619:16:21"},"nativeSrc":"167619:16:21","nodeType":"YulExpressionStatement","src":"167619:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167655:4:21","nodeType":"YulLiteral","src":"167655:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"167661:2:21","nodeType":"YulIdentifier","src":"167661:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167648:6:21","nodeType":"YulIdentifier","src":"167648:6:21"},"nativeSrc":"167648:16:21","nodeType":"YulFunctionCall","src":"167648:16:21"},"nativeSrc":"167648:16:21","nodeType":"YulExpressionStatement","src":"167648:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167684:4:21","nodeType":"YulLiteral","src":"167684:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"167690:2:21","nodeType":"YulIdentifier","src":"167690:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167677:6:21","nodeType":"YulIdentifier","src":"167677:6:21"},"nativeSrc":"167677:16:21","nodeType":"YulFunctionCall","src":"167677:16:21"},"nativeSrc":"167677:16:21","nodeType":"YulExpressionStatement","src":"167677:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167713:4:21","nodeType":"YulLiteral","src":"167713:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"167719:2:21","nodeType":"YulIdentifier","src":"167719:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167706:6:21","nodeType":"YulIdentifier","src":"167706:6:21"},"nativeSrc":"167706:16:21","nodeType":"YulFunctionCall","src":"167706:16:21"},"nativeSrc":"167706:16:21","nodeType":"YulExpressionStatement","src":"167706:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167742:4:21","nodeType":"YulLiteral","src":"167742:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"167748:2:21","nodeType":"YulIdentifier","src":"167748:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167735:6:21","nodeType":"YulIdentifier","src":"167735:6:21"},"nativeSrc":"167735:16:21","nodeType":"YulFunctionCall","src":"167735:16:21"},"nativeSrc":"167735:16:21","nodeType":"YulExpressionStatement","src":"167735:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167771:5:21","nodeType":"YulLiteral","src":"167771:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"167778:2:21","nodeType":"YulIdentifier","src":"167778:2:21"}],"functionName":{"name":"mstore","nativeSrc":"167764:6:21","nodeType":"YulIdentifier","src":"167764:6:21"},"nativeSrc":"167764:17:21","nodeType":"YulFunctionCall","src":"167764:17:21"},"nativeSrc":"167764:17:21","nodeType":"YulExpressionStatement","src":"167764:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32174,"isOffset":false,"isSlot":false,"src":"167545:2:21","valueSize":1},{"declaration":32177,"isOffset":false,"isSlot":false,"src":"167574:2:21","valueSize":1},{"declaration":32180,"isOffset":false,"isSlot":false,"src":"167603:2:21","valueSize":1},{"declaration":32183,"isOffset":false,"isSlot":false,"src":"167632:2:21","valueSize":1},{"declaration":32186,"isOffset":false,"isSlot":false,"src":"167661:2:21","valueSize":1},{"declaration":32189,"isOffset":false,"isSlot":false,"src":"167690:2:21","valueSize":1},{"declaration":32192,"isOffset":false,"isSlot":false,"src":"167719:2:21","valueSize":1},{"declaration":32195,"isOffset":false,"isSlot":false,"src":"167748:2:21","valueSize":1},{"declaration":32198,"isOffset":false,"isSlot":false,"src":"167778:2:21","valueSize":1}],"id":32206,"nodeType":"InlineAssembly","src":"167509:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"166184:3:21","parameters":{"id":32171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32164,"mutability":"mutable","name":"p0","nameLocation":"166196:2:21","nodeType":"VariableDeclaration","scope":32208,"src":"166188:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32163,"name":"address","nodeType":"ElementaryTypeName","src":"166188:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32166,"mutability":"mutable","name":"p1","nameLocation":"166208:2:21","nodeType":"VariableDeclaration","scope":32208,"src":"166200:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166200:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32168,"mutability":"mutable","name":"p2","nameLocation":"166220:2:21","nodeType":"VariableDeclaration","scope":32208,"src":"166212:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166212:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32170,"mutability":"mutable","name":"p3","nameLocation":"166232:2:21","nodeType":"VariableDeclaration","scope":32208,"src":"166224:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32169,"name":"uint256","nodeType":"ElementaryTypeName","src":"166224:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"166187:48:21"},"returnParameters":{"id":32172,"nodeType":"ParameterList","parameters":[],"src":"166250:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32260,"nodeType":"FunctionDefinition","src":"167803:1824:21","nodes":[],"body":{"id":32259,"nodeType":"Block","src":"167878:1749:21","nodes":[],"statements":[{"assignments":[32220],"declarations":[{"constant":false,"id":32220,"mutability":"mutable","name":"m0","nameLocation":"167896:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"167888:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167888:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32221,"nodeType":"VariableDeclarationStatement","src":"167888:10:21"},{"assignments":[32223],"declarations":[{"constant":false,"id":32223,"mutability":"mutable","name":"m1","nameLocation":"167916:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"167908:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167908:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32224,"nodeType":"VariableDeclarationStatement","src":"167908:10:21"},{"assignments":[32226],"declarations":[{"constant":false,"id":32226,"mutability":"mutable","name":"m2","nameLocation":"167936:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"167928:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167928:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32227,"nodeType":"VariableDeclarationStatement","src":"167928:10:21"},{"assignments":[32229],"declarations":[{"constant":false,"id":32229,"mutability":"mutable","name":"m3","nameLocation":"167956:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"167948:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167948:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32230,"nodeType":"VariableDeclarationStatement","src":"167948:10:21"},{"assignments":[32232],"declarations":[{"constant":false,"id":32232,"mutability":"mutable","name":"m4","nameLocation":"167976:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"167968:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167968:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32233,"nodeType":"VariableDeclarationStatement","src":"167968:10:21"},{"assignments":[32235],"declarations":[{"constant":false,"id":32235,"mutability":"mutable","name":"m5","nameLocation":"167996:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"167988:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167988:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32236,"nodeType":"VariableDeclarationStatement","src":"167988:10:21"},{"assignments":[32238],"declarations":[{"constant":false,"id":32238,"mutability":"mutable","name":"m6","nameLocation":"168016:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"168008:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168008:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32239,"nodeType":"VariableDeclarationStatement","src":"168008:10:21"},{"assignments":[32241],"declarations":[{"constant":false,"id":32241,"mutability":"mutable","name":"m7","nameLocation":"168036:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"168028:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168028:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32242,"nodeType":"VariableDeclarationStatement","src":"168028:10:21"},{"assignments":[32244],"declarations":[{"constant":false,"id":32244,"mutability":"mutable","name":"m8","nameLocation":"168056:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"168048:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32243,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168048:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32245,"nodeType":"VariableDeclarationStatement","src":"168048:10:21"},{"assignments":[32247],"declarations":[{"constant":false,"id":32247,"mutability":"mutable","name":"m9","nameLocation":"168076:2:21","nodeType":"VariableDeclaration","scope":32259,"src":"168068:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168068:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32248,"nodeType":"VariableDeclarationStatement","src":"168068:10:21"},{"assignments":[32250],"declarations":[{"constant":false,"id":32250,"mutability":"mutable","name":"m10","nameLocation":"168096:3:21","nodeType":"VariableDeclaration","scope":32259,"src":"168088:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168088:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32251,"nodeType":"VariableDeclarationStatement","src":"168088:11:21"},{"AST":{"nativeSrc":"168161:1027:21","nodeType":"YulBlock","src":"168161:1027:21","statements":[{"body":{"nativeSrc":"168204:313:21","nodeType":"YulBlock","src":"168204:313:21","statements":[{"nativeSrc":"168222:15:21","nodeType":"YulVariableDeclaration","src":"168222:15:21","value":{"kind":"number","nativeSrc":"168236:1:21","nodeType":"YulLiteral","src":"168236:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"168226:6:21","nodeType":"YulTypedName","src":"168226:6:21","type":""}]},{"body":{"nativeSrc":"168307:40:21","nodeType":"YulBlock","src":"168307:40:21","statements":[{"body":{"nativeSrc":"168336:9:21","nodeType":"YulBlock","src":"168336:9:21","statements":[{"nativeSrc":"168338:5:21","nodeType":"YulBreak","src":"168338:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"168324:6:21","nodeType":"YulIdentifier","src":"168324:6:21"},{"name":"w","nativeSrc":"168332:1:21","nodeType":"YulIdentifier","src":"168332:1:21"}],"functionName":{"name":"byte","nativeSrc":"168319:4:21","nodeType":"YulIdentifier","src":"168319:4:21"},"nativeSrc":"168319:15:21","nodeType":"YulFunctionCall","src":"168319:15:21"}],"functionName":{"name":"iszero","nativeSrc":"168312:6:21","nodeType":"YulIdentifier","src":"168312:6:21"},"nativeSrc":"168312:23:21","nodeType":"YulFunctionCall","src":"168312:23:21"},"nativeSrc":"168309:36:21","nodeType":"YulIf","src":"168309:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"168264:6:21","nodeType":"YulIdentifier","src":"168264:6:21"},{"kind":"number","nativeSrc":"168272:4:21","nodeType":"YulLiteral","src":"168272:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"168261:2:21","nodeType":"YulIdentifier","src":"168261:2:21"},"nativeSrc":"168261:16:21","nodeType":"YulFunctionCall","src":"168261:16:21"},"nativeSrc":"168254:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"168278:28:21","nodeType":"YulBlock","src":"168278:28:21","statements":[{"nativeSrc":"168280:24:21","nodeType":"YulAssignment","src":"168280:24:21","value":{"arguments":[{"name":"length","nativeSrc":"168294:6:21","nodeType":"YulIdentifier","src":"168294:6:21"},{"kind":"number","nativeSrc":"168302:1:21","nodeType":"YulLiteral","src":"168302:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"168290:3:21","nodeType":"YulIdentifier","src":"168290:3:21"},"nativeSrc":"168290:14:21","nodeType":"YulFunctionCall","src":"168290:14:21"},"variableNames":[{"name":"length","nativeSrc":"168280:6:21","nodeType":"YulIdentifier","src":"168280:6:21"}]}]},"pre":{"nativeSrc":"168258:2:21","nodeType":"YulBlock","src":"168258:2:21","statements":[]},"src":"168254:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"168371:3:21","nodeType":"YulIdentifier","src":"168371:3:21"},{"name":"length","nativeSrc":"168376:6:21","nodeType":"YulIdentifier","src":"168376:6:21"}],"functionName":{"name":"mstore","nativeSrc":"168364:6:21","nodeType":"YulIdentifier","src":"168364:6:21"},"nativeSrc":"168364:19:21","nodeType":"YulFunctionCall","src":"168364:19:21"},"nativeSrc":"168364:19:21","nodeType":"YulExpressionStatement","src":"168364:19:21"},{"nativeSrc":"168400:37:21","nodeType":"YulVariableDeclaration","src":"168400:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"168417:3:21","nodeType":"YulLiteral","src":"168417:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"168426:1:21","nodeType":"YulLiteral","src":"168426:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"168429:6:21","nodeType":"YulIdentifier","src":"168429:6:21"}],"functionName":{"name":"shl","nativeSrc":"168422:3:21","nodeType":"YulIdentifier","src":"168422:3:21"},"nativeSrc":"168422:14:21","nodeType":"YulFunctionCall","src":"168422:14:21"}],"functionName":{"name":"sub","nativeSrc":"168413:3:21","nodeType":"YulIdentifier","src":"168413:3:21"},"nativeSrc":"168413:24:21","nodeType":"YulFunctionCall","src":"168413:24:21"},"variables":[{"name":"shift","nativeSrc":"168404:5:21","nodeType":"YulTypedName","src":"168404:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"168465:3:21","nodeType":"YulIdentifier","src":"168465:3:21"},{"kind":"number","nativeSrc":"168470:4:21","nodeType":"YulLiteral","src":"168470:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"168461:3:21","nodeType":"YulIdentifier","src":"168461:3:21"},"nativeSrc":"168461:14:21","nodeType":"YulFunctionCall","src":"168461:14:21"},{"arguments":[{"name":"shift","nativeSrc":"168481:5:21","nodeType":"YulIdentifier","src":"168481:5:21"},{"arguments":[{"name":"shift","nativeSrc":"168492:5:21","nodeType":"YulIdentifier","src":"168492:5:21"},{"name":"w","nativeSrc":"168499:1:21","nodeType":"YulIdentifier","src":"168499:1:21"}],"functionName":{"name":"shr","nativeSrc":"168488:3:21","nodeType":"YulIdentifier","src":"168488:3:21"},"nativeSrc":"168488:13:21","nodeType":"YulFunctionCall","src":"168488:13:21"}],"functionName":{"name":"shl","nativeSrc":"168477:3:21","nodeType":"YulIdentifier","src":"168477:3:21"},"nativeSrc":"168477:25:21","nodeType":"YulFunctionCall","src":"168477:25:21"}],"functionName":{"name":"mstore","nativeSrc":"168454:6:21","nodeType":"YulIdentifier","src":"168454:6:21"},"nativeSrc":"168454:49:21","nodeType":"YulFunctionCall","src":"168454:49:21"},"nativeSrc":"168454:49:21","nodeType":"YulExpressionStatement","src":"168454:49:21"}]},"name":"writeString","nativeSrc":"168175:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"168196:3:21","nodeType":"YulTypedName","src":"168196:3:21","type":""},{"name":"w","nativeSrc":"168201:1:21","nodeType":"YulTypedName","src":"168201:1:21","type":""}],"src":"168175:342:21"},{"nativeSrc":"168530:17:21","nodeType":"YulAssignment","src":"168530:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"168542:4:21","nodeType":"YulLiteral","src":"168542:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"168536:5:21","nodeType":"YulIdentifier","src":"168536:5:21"},"nativeSrc":"168536:11:21","nodeType":"YulFunctionCall","src":"168536:11:21"},"variableNames":[{"name":"m0","nativeSrc":"168530:2:21","nodeType":"YulIdentifier","src":"168530:2:21"}]},{"nativeSrc":"168560:17:21","nodeType":"YulAssignment","src":"168560:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"168572:4:21","nodeType":"YulLiteral","src":"168572:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"168566:5:21","nodeType":"YulIdentifier","src":"168566:5:21"},"nativeSrc":"168566:11:21","nodeType":"YulFunctionCall","src":"168566:11:21"},"variableNames":[{"name":"m1","nativeSrc":"168560:2:21","nodeType":"YulIdentifier","src":"168560:2:21"}]},{"nativeSrc":"168590:17:21","nodeType":"YulAssignment","src":"168590:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"168602:4:21","nodeType":"YulLiteral","src":"168602:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"168596:5:21","nodeType":"YulIdentifier","src":"168596:5:21"},"nativeSrc":"168596:11:21","nodeType":"YulFunctionCall","src":"168596:11:21"},"variableNames":[{"name":"m2","nativeSrc":"168590:2:21","nodeType":"YulIdentifier","src":"168590:2:21"}]},{"nativeSrc":"168620:17:21","nodeType":"YulAssignment","src":"168620:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"168632:4:21","nodeType":"YulLiteral","src":"168632:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"168626:5:21","nodeType":"YulIdentifier","src":"168626:5:21"},"nativeSrc":"168626:11:21","nodeType":"YulFunctionCall","src":"168626:11:21"},"variableNames":[{"name":"m3","nativeSrc":"168620:2:21","nodeType":"YulIdentifier","src":"168620:2:21"}]},{"nativeSrc":"168650:17:21","nodeType":"YulAssignment","src":"168650:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"168662:4:21","nodeType":"YulLiteral","src":"168662:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"168656:5:21","nodeType":"YulIdentifier","src":"168656:5:21"},"nativeSrc":"168656:11:21","nodeType":"YulFunctionCall","src":"168656:11:21"},"variableNames":[{"name":"m4","nativeSrc":"168650:2:21","nodeType":"YulIdentifier","src":"168650:2:21"}]},{"nativeSrc":"168680:17:21","nodeType":"YulAssignment","src":"168680:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"168692:4:21","nodeType":"YulLiteral","src":"168692:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"168686:5:21","nodeType":"YulIdentifier","src":"168686:5:21"},"nativeSrc":"168686:11:21","nodeType":"YulFunctionCall","src":"168686:11:21"},"variableNames":[{"name":"m5","nativeSrc":"168680:2:21","nodeType":"YulIdentifier","src":"168680:2:21"}]},{"nativeSrc":"168710:17:21","nodeType":"YulAssignment","src":"168710:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"168722:4:21","nodeType":"YulLiteral","src":"168722:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"168716:5:21","nodeType":"YulIdentifier","src":"168716:5:21"},"nativeSrc":"168716:11:21","nodeType":"YulFunctionCall","src":"168716:11:21"},"variableNames":[{"name":"m6","nativeSrc":"168710:2:21","nodeType":"YulIdentifier","src":"168710:2:21"}]},{"nativeSrc":"168740:17:21","nodeType":"YulAssignment","src":"168740:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"168752:4:21","nodeType":"YulLiteral","src":"168752:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"168746:5:21","nodeType":"YulIdentifier","src":"168746:5:21"},"nativeSrc":"168746:11:21","nodeType":"YulFunctionCall","src":"168746:11:21"},"variableNames":[{"name":"m7","nativeSrc":"168740:2:21","nodeType":"YulIdentifier","src":"168740:2:21"}]},{"nativeSrc":"168770:18:21","nodeType":"YulAssignment","src":"168770:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"168782:5:21","nodeType":"YulLiteral","src":"168782:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"168776:5:21","nodeType":"YulIdentifier","src":"168776:5:21"},"nativeSrc":"168776:12:21","nodeType":"YulFunctionCall","src":"168776:12:21"},"variableNames":[{"name":"m8","nativeSrc":"168770:2:21","nodeType":"YulIdentifier","src":"168770:2:21"}]},{"nativeSrc":"168801:18:21","nodeType":"YulAssignment","src":"168801:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"168813:5:21","nodeType":"YulLiteral","src":"168813:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"168807:5:21","nodeType":"YulIdentifier","src":"168807:5:21"},"nativeSrc":"168807:12:21","nodeType":"YulFunctionCall","src":"168807:12:21"},"variableNames":[{"name":"m9","nativeSrc":"168801:2:21","nodeType":"YulIdentifier","src":"168801:2:21"}]},{"nativeSrc":"168832:19:21","nodeType":"YulAssignment","src":"168832:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"168845:5:21","nodeType":"YulLiteral","src":"168845:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"168839:5:21","nodeType":"YulIdentifier","src":"168839:5:21"},"nativeSrc":"168839:12:21","nodeType":"YulFunctionCall","src":"168839:12:21"},"variableNames":[{"name":"m10","nativeSrc":"168832:3:21","nodeType":"YulIdentifier","src":"168832:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"168935:4:21","nodeType":"YulLiteral","src":"168935:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"168941:10:21","nodeType":"YulLiteral","src":"168941:10:21","type":"","value":"0x5d02c50b"}],"functionName":{"name":"mstore","nativeSrc":"168928:6:21","nodeType":"YulIdentifier","src":"168928:6:21"},"nativeSrc":"168928:24:21","nodeType":"YulFunctionCall","src":"168928:24:21"},"nativeSrc":"168928:24:21","nodeType":"YulExpressionStatement","src":"168928:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"168972:4:21","nodeType":"YulLiteral","src":"168972:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"168978:2:21","nodeType":"YulIdentifier","src":"168978:2:21"}],"functionName":{"name":"mstore","nativeSrc":"168965:6:21","nodeType":"YulIdentifier","src":"168965:6:21"},"nativeSrc":"168965:16:21","nodeType":"YulFunctionCall","src":"168965:16:21"},"nativeSrc":"168965:16:21","nodeType":"YulExpressionStatement","src":"168965:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169001:4:21","nodeType":"YulLiteral","src":"169001:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"169007:4:21","nodeType":"YulLiteral","src":"169007:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"168994:6:21","nodeType":"YulIdentifier","src":"168994:6:21"},"nativeSrc":"168994:18:21","nodeType":"YulFunctionCall","src":"168994:18:21"},"nativeSrc":"168994:18:21","nodeType":"YulExpressionStatement","src":"168994:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169032:4:21","nodeType":"YulLiteral","src":"169032:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"169038:4:21","nodeType":"YulLiteral","src":"169038:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"169025:6:21","nodeType":"YulIdentifier","src":"169025:6:21"},"nativeSrc":"169025:18:21","nodeType":"YulFunctionCall","src":"169025:18:21"},"nativeSrc":"169025:18:21","nodeType":"YulExpressionStatement","src":"169025:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169063:4:21","nodeType":"YulLiteral","src":"169063:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"169069:5:21","nodeType":"YulLiteral","src":"169069:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"169056:6:21","nodeType":"YulIdentifier","src":"169056:6:21"},"nativeSrc":"169056:19:21","nodeType":"YulFunctionCall","src":"169056:19:21"},"nativeSrc":"169056:19:21","nodeType":"YulExpressionStatement","src":"169056:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169100:4:21","nodeType":"YulLiteral","src":"169100:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"169106:2:21","nodeType":"YulIdentifier","src":"169106:2:21"}],"functionName":{"name":"writeString","nativeSrc":"169088:11:21","nodeType":"YulIdentifier","src":"169088:11:21"},"nativeSrc":"169088:21:21","nodeType":"YulFunctionCall","src":"169088:21:21"},"nativeSrc":"169088:21:21","nodeType":"YulExpressionStatement","src":"169088:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169134:4:21","nodeType":"YulLiteral","src":"169134:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"169140:2:21","nodeType":"YulIdentifier","src":"169140:2:21"}],"functionName":{"name":"writeString","nativeSrc":"169122:11:21","nodeType":"YulIdentifier","src":"169122:11:21"},"nativeSrc":"169122:21:21","nodeType":"YulFunctionCall","src":"169122:21:21"},"nativeSrc":"169122:21:21","nodeType":"YulExpressionStatement","src":"169122:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169168:5:21","nodeType":"YulLiteral","src":"169168:5:21","type":"","value":"0x120"},{"name":"p3","nativeSrc":"169175:2:21","nodeType":"YulIdentifier","src":"169175:2:21"}],"functionName":{"name":"writeString","nativeSrc":"169156:11:21","nodeType":"YulIdentifier","src":"169156:11:21"},"nativeSrc":"169156:22:21","nodeType":"YulFunctionCall","src":"169156:22:21"},"nativeSrc":"169156:22:21","nodeType":"YulExpressionStatement","src":"169156:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32220,"isOffset":false,"isSlot":false,"src":"168530:2:21","valueSize":1},{"declaration":32223,"isOffset":false,"isSlot":false,"src":"168560:2:21","valueSize":1},{"declaration":32250,"isOffset":false,"isSlot":false,"src":"168832:3:21","valueSize":1},{"declaration":32226,"isOffset":false,"isSlot":false,"src":"168590:2:21","valueSize":1},{"declaration":32229,"isOffset":false,"isSlot":false,"src":"168620:2:21","valueSize":1},{"declaration":32232,"isOffset":false,"isSlot":false,"src":"168650:2:21","valueSize":1},{"declaration":32235,"isOffset":false,"isSlot":false,"src":"168680:2:21","valueSize":1},{"declaration":32238,"isOffset":false,"isSlot":false,"src":"168710:2:21","valueSize":1},{"declaration":32241,"isOffset":false,"isSlot":false,"src":"168740:2:21","valueSize":1},{"declaration":32244,"isOffset":false,"isSlot":false,"src":"168770:2:21","valueSize":1},{"declaration":32247,"isOffset":false,"isSlot":false,"src":"168801:2:21","valueSize":1},{"declaration":32210,"isOffset":false,"isSlot":false,"src":"168978:2:21","valueSize":1},{"declaration":32212,"isOffset":false,"isSlot":false,"src":"169106:2:21","valueSize":1},{"declaration":32214,"isOffset":false,"isSlot":false,"src":"169140:2:21","valueSize":1},{"declaration":32216,"isOffset":false,"isSlot":false,"src":"169175:2:21","valueSize":1}],"id":32252,"nodeType":"InlineAssembly","src":"168152:1036:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"169213:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":32255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"169219:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":32253,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"169197:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"169197:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32257,"nodeType":"ExpressionStatement","src":"169197:28:21"},{"AST":{"nativeSrc":"169287:334:21","nodeType":"YulBlock","src":"169287:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"169308:4:21","nodeType":"YulLiteral","src":"169308:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"169314:2:21","nodeType":"YulIdentifier","src":"169314:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169301:6:21","nodeType":"YulIdentifier","src":"169301:6:21"},"nativeSrc":"169301:16:21","nodeType":"YulFunctionCall","src":"169301:16:21"},"nativeSrc":"169301:16:21","nodeType":"YulExpressionStatement","src":"169301:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169337:4:21","nodeType":"YulLiteral","src":"169337:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"169343:2:21","nodeType":"YulIdentifier","src":"169343:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169330:6:21","nodeType":"YulIdentifier","src":"169330:6:21"},"nativeSrc":"169330:16:21","nodeType":"YulFunctionCall","src":"169330:16:21"},"nativeSrc":"169330:16:21","nodeType":"YulExpressionStatement","src":"169330:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169366:4:21","nodeType":"YulLiteral","src":"169366:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"169372:2:21","nodeType":"YulIdentifier","src":"169372:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169359:6:21","nodeType":"YulIdentifier","src":"169359:6:21"},"nativeSrc":"169359:16:21","nodeType":"YulFunctionCall","src":"169359:16:21"},"nativeSrc":"169359:16:21","nodeType":"YulExpressionStatement","src":"169359:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169395:4:21","nodeType":"YulLiteral","src":"169395:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"169401:2:21","nodeType":"YulIdentifier","src":"169401:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169388:6:21","nodeType":"YulIdentifier","src":"169388:6:21"},"nativeSrc":"169388:16:21","nodeType":"YulFunctionCall","src":"169388:16:21"},"nativeSrc":"169388:16:21","nodeType":"YulExpressionStatement","src":"169388:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169424:4:21","nodeType":"YulLiteral","src":"169424:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"169430:2:21","nodeType":"YulIdentifier","src":"169430:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169417:6:21","nodeType":"YulIdentifier","src":"169417:6:21"},"nativeSrc":"169417:16:21","nodeType":"YulFunctionCall","src":"169417:16:21"},"nativeSrc":"169417:16:21","nodeType":"YulExpressionStatement","src":"169417:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169453:4:21","nodeType":"YulLiteral","src":"169453:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"169459:2:21","nodeType":"YulIdentifier","src":"169459:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169446:6:21","nodeType":"YulIdentifier","src":"169446:6:21"},"nativeSrc":"169446:16:21","nodeType":"YulFunctionCall","src":"169446:16:21"},"nativeSrc":"169446:16:21","nodeType":"YulExpressionStatement","src":"169446:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169482:4:21","nodeType":"YulLiteral","src":"169482:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"169488:2:21","nodeType":"YulIdentifier","src":"169488:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169475:6:21","nodeType":"YulIdentifier","src":"169475:6:21"},"nativeSrc":"169475:16:21","nodeType":"YulFunctionCall","src":"169475:16:21"},"nativeSrc":"169475:16:21","nodeType":"YulExpressionStatement","src":"169475:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169511:4:21","nodeType":"YulLiteral","src":"169511:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"169517:2:21","nodeType":"YulIdentifier","src":"169517:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169504:6:21","nodeType":"YulIdentifier","src":"169504:6:21"},"nativeSrc":"169504:16:21","nodeType":"YulFunctionCall","src":"169504:16:21"},"nativeSrc":"169504:16:21","nodeType":"YulExpressionStatement","src":"169504:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169540:5:21","nodeType":"YulLiteral","src":"169540:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"169547:2:21","nodeType":"YulIdentifier","src":"169547:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169533:6:21","nodeType":"YulIdentifier","src":"169533:6:21"},"nativeSrc":"169533:17:21","nodeType":"YulFunctionCall","src":"169533:17:21"},"nativeSrc":"169533:17:21","nodeType":"YulExpressionStatement","src":"169533:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169570:5:21","nodeType":"YulLiteral","src":"169570:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"169577:2:21","nodeType":"YulIdentifier","src":"169577:2:21"}],"functionName":{"name":"mstore","nativeSrc":"169563:6:21","nodeType":"YulIdentifier","src":"169563:6:21"},"nativeSrc":"169563:17:21","nodeType":"YulFunctionCall","src":"169563:17:21"},"nativeSrc":"169563:17:21","nodeType":"YulExpressionStatement","src":"169563:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169600:5:21","nodeType":"YulLiteral","src":"169600:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"169607:3:21","nodeType":"YulIdentifier","src":"169607:3:21"}],"functionName":{"name":"mstore","nativeSrc":"169593:6:21","nodeType":"YulIdentifier","src":"169593:6:21"},"nativeSrc":"169593:18:21","nodeType":"YulFunctionCall","src":"169593:18:21"},"nativeSrc":"169593:18:21","nodeType":"YulExpressionStatement","src":"169593:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32220,"isOffset":false,"isSlot":false,"src":"169314:2:21","valueSize":1},{"declaration":32223,"isOffset":false,"isSlot":false,"src":"169343:2:21","valueSize":1},{"declaration":32250,"isOffset":false,"isSlot":false,"src":"169607:3:21","valueSize":1},{"declaration":32226,"isOffset":false,"isSlot":false,"src":"169372:2:21","valueSize":1},{"declaration":32229,"isOffset":false,"isSlot":false,"src":"169401:2:21","valueSize":1},{"declaration":32232,"isOffset":false,"isSlot":false,"src":"169430:2:21","valueSize":1},{"declaration":32235,"isOffset":false,"isSlot":false,"src":"169459:2:21","valueSize":1},{"declaration":32238,"isOffset":false,"isSlot":false,"src":"169488:2:21","valueSize":1},{"declaration":32241,"isOffset":false,"isSlot":false,"src":"169517:2:21","valueSize":1},{"declaration":32244,"isOffset":false,"isSlot":false,"src":"169547:2:21","valueSize":1},{"declaration":32247,"isOffset":false,"isSlot":false,"src":"169577:2:21","valueSize":1}],"id":32258,"nodeType":"InlineAssembly","src":"169278:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"167812:3:21","parameters":{"id":32217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32210,"mutability":"mutable","name":"p0","nameLocation":"167824:2:21","nodeType":"VariableDeclaration","scope":32260,"src":"167816:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32209,"name":"address","nodeType":"ElementaryTypeName","src":"167816:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32212,"mutability":"mutable","name":"p1","nameLocation":"167836:2:21","nodeType":"VariableDeclaration","scope":32260,"src":"167828:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167828:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32214,"mutability":"mutable","name":"p2","nameLocation":"167848:2:21","nodeType":"VariableDeclaration","scope":32260,"src":"167840:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167840:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32216,"mutability":"mutable","name":"p3","nameLocation":"167860:2:21","nodeType":"VariableDeclaration","scope":32260,"src":"167852:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167852:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"167815:48:21"},"returnParameters":{"id":32218,"nodeType":"ParameterList","parameters":[],"src":"167878:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32294,"nodeType":"FunctionDefinition","src":"169633:872:21","nodes":[],"body":{"id":32293,"nodeType":"Block","src":"169705:800:21","nodes":[],"statements":[{"assignments":[32272],"declarations":[{"constant":false,"id":32272,"mutability":"mutable","name":"m0","nameLocation":"169723:2:21","nodeType":"VariableDeclaration","scope":32293,"src":"169715:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169715:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32273,"nodeType":"VariableDeclarationStatement","src":"169715:10:21"},{"assignments":[32275],"declarations":[{"constant":false,"id":32275,"mutability":"mutable","name":"m1","nameLocation":"169743:2:21","nodeType":"VariableDeclaration","scope":32293,"src":"169735:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169735:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32276,"nodeType":"VariableDeclarationStatement","src":"169735:10:21"},{"assignments":[32278],"declarations":[{"constant":false,"id":32278,"mutability":"mutable","name":"m2","nameLocation":"169763:2:21","nodeType":"VariableDeclaration","scope":32293,"src":"169755:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169755:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32279,"nodeType":"VariableDeclarationStatement","src":"169755:10:21"},{"assignments":[32281],"declarations":[{"constant":false,"id":32281,"mutability":"mutable","name":"m3","nameLocation":"169783:2:21","nodeType":"VariableDeclaration","scope":32293,"src":"169775:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169775:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32282,"nodeType":"VariableDeclarationStatement","src":"169775:10:21"},{"assignments":[32284],"declarations":[{"constant":false,"id":32284,"mutability":"mutable","name":"m4","nameLocation":"169803:2:21","nodeType":"VariableDeclaration","scope":32293,"src":"169795:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169795:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32285,"nodeType":"VariableDeclarationStatement","src":"169795:10:21"},{"AST":{"nativeSrc":"169867:378:21","nodeType":"YulBlock","src":"169867:378:21","statements":[{"nativeSrc":"169881:17:21","nodeType":"YulAssignment","src":"169881:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"169893:4:21","nodeType":"YulLiteral","src":"169893:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"169887:5:21","nodeType":"YulIdentifier","src":"169887:5:21"},"nativeSrc":"169887:11:21","nodeType":"YulFunctionCall","src":"169887:11:21"},"variableNames":[{"name":"m0","nativeSrc":"169881:2:21","nodeType":"YulIdentifier","src":"169881:2:21"}]},{"nativeSrc":"169911:17:21","nodeType":"YulAssignment","src":"169911:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"169923:4:21","nodeType":"YulLiteral","src":"169923:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"169917:5:21","nodeType":"YulIdentifier","src":"169917:5:21"},"nativeSrc":"169917:11:21","nodeType":"YulFunctionCall","src":"169917:11:21"},"variableNames":[{"name":"m1","nativeSrc":"169911:2:21","nodeType":"YulIdentifier","src":"169911:2:21"}]},{"nativeSrc":"169941:17:21","nodeType":"YulAssignment","src":"169941:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"169953:4:21","nodeType":"YulLiteral","src":"169953:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"169947:5:21","nodeType":"YulIdentifier","src":"169947:5:21"},"nativeSrc":"169947:11:21","nodeType":"YulFunctionCall","src":"169947:11:21"},"variableNames":[{"name":"m2","nativeSrc":"169941:2:21","nodeType":"YulIdentifier","src":"169941:2:21"}]},{"nativeSrc":"169971:17:21","nodeType":"YulAssignment","src":"169971:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"169983:4:21","nodeType":"YulLiteral","src":"169983:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"169977:5:21","nodeType":"YulIdentifier","src":"169977:5:21"},"nativeSrc":"169977:11:21","nodeType":"YulFunctionCall","src":"169977:11:21"},"variableNames":[{"name":"m3","nativeSrc":"169971:2:21","nodeType":"YulIdentifier","src":"169971:2:21"}]},{"nativeSrc":"170001:17:21","nodeType":"YulAssignment","src":"170001:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"170013:4:21","nodeType":"YulLiteral","src":"170013:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"170007:5:21","nodeType":"YulIdentifier","src":"170007:5:21"},"nativeSrc":"170007:11:21","nodeType":"YulFunctionCall","src":"170007:11:21"},"variableNames":[{"name":"m4","nativeSrc":"170001:2:21","nodeType":"YulIdentifier","src":"170001:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170102:4:21","nodeType":"YulLiteral","src":"170102:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"170108:10:21","nodeType":"YulLiteral","src":"170108:10:21","type":"","value":"0x1d14d001"}],"functionName":{"name":"mstore","nativeSrc":"170095:6:21","nodeType":"YulIdentifier","src":"170095:6:21"},"nativeSrc":"170095:24:21","nodeType":"YulFunctionCall","src":"170095:24:21"},"nativeSrc":"170095:24:21","nodeType":"YulExpressionStatement","src":"170095:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170139:4:21","nodeType":"YulLiteral","src":"170139:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"170145:2:21","nodeType":"YulIdentifier","src":"170145:2:21"}],"functionName":{"name":"mstore","nativeSrc":"170132:6:21","nodeType":"YulIdentifier","src":"170132:6:21"},"nativeSrc":"170132:16:21","nodeType":"YulFunctionCall","src":"170132:16:21"},"nativeSrc":"170132:16:21","nodeType":"YulExpressionStatement","src":"170132:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170168:4:21","nodeType":"YulLiteral","src":"170168:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"170174:2:21","nodeType":"YulIdentifier","src":"170174:2:21"}],"functionName":{"name":"mstore","nativeSrc":"170161:6:21","nodeType":"YulIdentifier","src":"170161:6:21"},"nativeSrc":"170161:16:21","nodeType":"YulFunctionCall","src":"170161:16:21"},"nativeSrc":"170161:16:21","nodeType":"YulExpressionStatement","src":"170161:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170197:4:21","nodeType":"YulLiteral","src":"170197:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"170203:2:21","nodeType":"YulIdentifier","src":"170203:2:21"}],"functionName":{"name":"mstore","nativeSrc":"170190:6:21","nodeType":"YulIdentifier","src":"170190:6:21"},"nativeSrc":"170190:16:21","nodeType":"YulFunctionCall","src":"170190:16:21"},"nativeSrc":"170190:16:21","nodeType":"YulExpressionStatement","src":"170190:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170226:4:21","nodeType":"YulLiteral","src":"170226:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"170232:2:21","nodeType":"YulIdentifier","src":"170232:2:21"}],"functionName":{"name":"mstore","nativeSrc":"170219:6:21","nodeType":"YulIdentifier","src":"170219:6:21"},"nativeSrc":"170219:16:21","nodeType":"YulFunctionCall","src":"170219:16:21"},"nativeSrc":"170219:16:21","nodeType":"YulExpressionStatement","src":"170219:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32272,"isOffset":false,"isSlot":false,"src":"169881:2:21","valueSize":1},{"declaration":32275,"isOffset":false,"isSlot":false,"src":"169911:2:21","valueSize":1},{"declaration":32278,"isOffset":false,"isSlot":false,"src":"169941:2:21","valueSize":1},{"declaration":32281,"isOffset":false,"isSlot":false,"src":"169971:2:21","valueSize":1},{"declaration":32284,"isOffset":false,"isSlot":false,"src":"170001:2:21","valueSize":1},{"declaration":32262,"isOffset":false,"isSlot":false,"src":"170145:2:21","valueSize":1},{"declaration":32264,"isOffset":false,"isSlot":false,"src":"170174:2:21","valueSize":1},{"declaration":32266,"isOffset":false,"isSlot":false,"src":"170203:2:21","valueSize":1},{"declaration":32268,"isOffset":false,"isSlot":false,"src":"170232:2:21","valueSize":1}],"id":32286,"nodeType":"InlineAssembly","src":"169858:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"170270:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"170276:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"170254:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"170254:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32291,"nodeType":"ExpressionStatement","src":"170254:27:21"},{"AST":{"nativeSrc":"170343:156:21","nodeType":"YulBlock","src":"170343:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"170364:4:21","nodeType":"YulLiteral","src":"170364:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"170370:2:21","nodeType":"YulIdentifier","src":"170370:2:21"}],"functionName":{"name":"mstore","nativeSrc":"170357:6:21","nodeType":"YulIdentifier","src":"170357:6:21"},"nativeSrc":"170357:16:21","nodeType":"YulFunctionCall","src":"170357:16:21"},"nativeSrc":"170357:16:21","nodeType":"YulExpressionStatement","src":"170357:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170393:4:21","nodeType":"YulLiteral","src":"170393:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"170399:2:21","nodeType":"YulIdentifier","src":"170399:2:21"}],"functionName":{"name":"mstore","nativeSrc":"170386:6:21","nodeType":"YulIdentifier","src":"170386:6:21"},"nativeSrc":"170386:16:21","nodeType":"YulFunctionCall","src":"170386:16:21"},"nativeSrc":"170386:16:21","nodeType":"YulExpressionStatement","src":"170386:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170422:4:21","nodeType":"YulLiteral","src":"170422:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"170428:2:21","nodeType":"YulIdentifier","src":"170428:2:21"}],"functionName":{"name":"mstore","nativeSrc":"170415:6:21","nodeType":"YulIdentifier","src":"170415:6:21"},"nativeSrc":"170415:16:21","nodeType":"YulFunctionCall","src":"170415:16:21"},"nativeSrc":"170415:16:21","nodeType":"YulExpressionStatement","src":"170415:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170451:4:21","nodeType":"YulLiteral","src":"170451:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"170457:2:21","nodeType":"YulIdentifier","src":"170457:2:21"}],"functionName":{"name":"mstore","nativeSrc":"170444:6:21","nodeType":"YulIdentifier","src":"170444:6:21"},"nativeSrc":"170444:16:21","nodeType":"YulFunctionCall","src":"170444:16:21"},"nativeSrc":"170444:16:21","nodeType":"YulExpressionStatement","src":"170444:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170480:4:21","nodeType":"YulLiteral","src":"170480:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"170486:2:21","nodeType":"YulIdentifier","src":"170486:2:21"}],"functionName":{"name":"mstore","nativeSrc":"170473:6:21","nodeType":"YulIdentifier","src":"170473:6:21"},"nativeSrc":"170473:16:21","nodeType":"YulFunctionCall","src":"170473:16:21"},"nativeSrc":"170473:16:21","nodeType":"YulExpressionStatement","src":"170473:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32272,"isOffset":false,"isSlot":false,"src":"170370:2:21","valueSize":1},{"declaration":32275,"isOffset":false,"isSlot":false,"src":"170399:2:21","valueSize":1},{"declaration":32278,"isOffset":false,"isSlot":false,"src":"170428:2:21","valueSize":1},{"declaration":32281,"isOffset":false,"isSlot":false,"src":"170457:2:21","valueSize":1},{"declaration":32284,"isOffset":false,"isSlot":false,"src":"170486:2:21","valueSize":1}],"id":32292,"nodeType":"InlineAssembly","src":"170334:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"169642:3:21","parameters":{"id":32269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32262,"mutability":"mutable","name":"p0","nameLocation":"169651:2:21","nodeType":"VariableDeclaration","scope":32294,"src":"169646:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32261,"name":"bool","nodeType":"ElementaryTypeName","src":"169646:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32264,"mutability":"mutable","name":"p1","nameLocation":"169663:2:21","nodeType":"VariableDeclaration","scope":32294,"src":"169655:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32263,"name":"address","nodeType":"ElementaryTypeName","src":"169655:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32266,"mutability":"mutable","name":"p2","nameLocation":"169675:2:21","nodeType":"VariableDeclaration","scope":32294,"src":"169667:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32265,"name":"address","nodeType":"ElementaryTypeName","src":"169667:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32268,"mutability":"mutable","name":"p3","nameLocation":"169687:2:21","nodeType":"VariableDeclaration","scope":32294,"src":"169679:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32267,"name":"address","nodeType":"ElementaryTypeName","src":"169679:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"169645:45:21"},"returnParameters":{"id":32270,"nodeType":"ParameterList","parameters":[],"src":"169705:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32328,"nodeType":"FunctionDefinition","src":"170511:866:21","nodes":[],"body":{"id":32327,"nodeType":"Block","src":"170580:797:21","nodes":[],"statements":[{"assignments":[32306],"declarations":[{"constant":false,"id":32306,"mutability":"mutable","name":"m0","nameLocation":"170598:2:21","nodeType":"VariableDeclaration","scope":32327,"src":"170590:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170590:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32307,"nodeType":"VariableDeclarationStatement","src":"170590:10:21"},{"assignments":[32309],"declarations":[{"constant":false,"id":32309,"mutability":"mutable","name":"m1","nameLocation":"170618:2:21","nodeType":"VariableDeclaration","scope":32327,"src":"170610:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170610:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32310,"nodeType":"VariableDeclarationStatement","src":"170610:10:21"},{"assignments":[32312],"declarations":[{"constant":false,"id":32312,"mutability":"mutable","name":"m2","nameLocation":"170638:2:21","nodeType":"VariableDeclaration","scope":32327,"src":"170630:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170630:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32313,"nodeType":"VariableDeclarationStatement","src":"170630:10:21"},{"assignments":[32315],"declarations":[{"constant":false,"id":32315,"mutability":"mutable","name":"m3","nameLocation":"170658:2:21","nodeType":"VariableDeclaration","scope":32327,"src":"170650:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170650:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32316,"nodeType":"VariableDeclarationStatement","src":"170650:10:21"},{"assignments":[32318],"declarations":[{"constant":false,"id":32318,"mutability":"mutable","name":"m4","nameLocation":"170678:2:21","nodeType":"VariableDeclaration","scope":32327,"src":"170670:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170670:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32319,"nodeType":"VariableDeclarationStatement","src":"170670:10:21"},{"AST":{"nativeSrc":"170742:375:21","nodeType":"YulBlock","src":"170742:375:21","statements":[{"nativeSrc":"170756:17:21","nodeType":"YulAssignment","src":"170756:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"170768:4:21","nodeType":"YulLiteral","src":"170768:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"170762:5:21","nodeType":"YulIdentifier","src":"170762:5:21"},"nativeSrc":"170762:11:21","nodeType":"YulFunctionCall","src":"170762:11:21"},"variableNames":[{"name":"m0","nativeSrc":"170756:2:21","nodeType":"YulIdentifier","src":"170756:2:21"}]},{"nativeSrc":"170786:17:21","nodeType":"YulAssignment","src":"170786:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"170798:4:21","nodeType":"YulLiteral","src":"170798:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"170792:5:21","nodeType":"YulIdentifier","src":"170792:5:21"},"nativeSrc":"170792:11:21","nodeType":"YulFunctionCall","src":"170792:11:21"},"variableNames":[{"name":"m1","nativeSrc":"170786:2:21","nodeType":"YulIdentifier","src":"170786:2:21"}]},{"nativeSrc":"170816:17:21","nodeType":"YulAssignment","src":"170816:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"170828:4:21","nodeType":"YulLiteral","src":"170828:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"170822:5:21","nodeType":"YulIdentifier","src":"170822:5:21"},"nativeSrc":"170822:11:21","nodeType":"YulFunctionCall","src":"170822:11:21"},"variableNames":[{"name":"m2","nativeSrc":"170816:2:21","nodeType":"YulIdentifier","src":"170816:2:21"}]},{"nativeSrc":"170846:17:21","nodeType":"YulAssignment","src":"170846:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"170858:4:21","nodeType":"YulLiteral","src":"170858:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"170852:5:21","nodeType":"YulIdentifier","src":"170852:5:21"},"nativeSrc":"170852:11:21","nodeType":"YulFunctionCall","src":"170852:11:21"},"variableNames":[{"name":"m3","nativeSrc":"170846:2:21","nodeType":"YulIdentifier","src":"170846:2:21"}]},{"nativeSrc":"170876:17:21","nodeType":"YulAssignment","src":"170876:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"170888:4:21","nodeType":"YulLiteral","src":"170888:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"170882:5:21","nodeType":"YulIdentifier","src":"170882:5:21"},"nativeSrc":"170882:11:21","nodeType":"YulFunctionCall","src":"170882:11:21"},"variableNames":[{"name":"m4","nativeSrc":"170876:2:21","nodeType":"YulIdentifier","src":"170876:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170974:4:21","nodeType":"YulLiteral","src":"170974:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"170980:10:21","nodeType":"YulLiteral","src":"170980:10:21","type":"","value":"0x46600be0"}],"functionName":{"name":"mstore","nativeSrc":"170967:6:21","nodeType":"YulIdentifier","src":"170967:6:21"},"nativeSrc":"170967:24:21","nodeType":"YulFunctionCall","src":"170967:24:21"},"nativeSrc":"170967:24:21","nodeType":"YulExpressionStatement","src":"170967:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171011:4:21","nodeType":"YulLiteral","src":"171011:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"171017:2:21","nodeType":"YulIdentifier","src":"171017:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171004:6:21","nodeType":"YulIdentifier","src":"171004:6:21"},"nativeSrc":"171004:16:21","nodeType":"YulFunctionCall","src":"171004:16:21"},"nativeSrc":"171004:16:21","nodeType":"YulExpressionStatement","src":"171004:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171040:4:21","nodeType":"YulLiteral","src":"171040:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"171046:2:21","nodeType":"YulIdentifier","src":"171046:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171033:6:21","nodeType":"YulIdentifier","src":"171033:6:21"},"nativeSrc":"171033:16:21","nodeType":"YulFunctionCall","src":"171033:16:21"},"nativeSrc":"171033:16:21","nodeType":"YulExpressionStatement","src":"171033:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171069:4:21","nodeType":"YulLiteral","src":"171069:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"171075:2:21","nodeType":"YulIdentifier","src":"171075:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171062:6:21","nodeType":"YulIdentifier","src":"171062:6:21"},"nativeSrc":"171062:16:21","nodeType":"YulFunctionCall","src":"171062:16:21"},"nativeSrc":"171062:16:21","nodeType":"YulExpressionStatement","src":"171062:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171098:4:21","nodeType":"YulLiteral","src":"171098:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"171104:2:21","nodeType":"YulIdentifier","src":"171104:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171091:6:21","nodeType":"YulIdentifier","src":"171091:6:21"},"nativeSrc":"171091:16:21","nodeType":"YulFunctionCall","src":"171091:16:21"},"nativeSrc":"171091:16:21","nodeType":"YulExpressionStatement","src":"171091:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32306,"isOffset":false,"isSlot":false,"src":"170756:2:21","valueSize":1},{"declaration":32309,"isOffset":false,"isSlot":false,"src":"170786:2:21","valueSize":1},{"declaration":32312,"isOffset":false,"isSlot":false,"src":"170816:2:21","valueSize":1},{"declaration":32315,"isOffset":false,"isSlot":false,"src":"170846:2:21","valueSize":1},{"declaration":32318,"isOffset":false,"isSlot":false,"src":"170876:2:21","valueSize":1},{"declaration":32296,"isOffset":false,"isSlot":false,"src":"171017:2:21","valueSize":1},{"declaration":32298,"isOffset":false,"isSlot":false,"src":"171046:2:21","valueSize":1},{"declaration":32300,"isOffset":false,"isSlot":false,"src":"171075:2:21","valueSize":1},{"declaration":32302,"isOffset":false,"isSlot":false,"src":"171104:2:21","valueSize":1}],"id":32320,"nodeType":"InlineAssembly","src":"170733:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"171142:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"171148:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"171126:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"171126:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32325,"nodeType":"ExpressionStatement","src":"171126:27:21"},{"AST":{"nativeSrc":"171215:156:21","nodeType":"YulBlock","src":"171215:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"171236:4:21","nodeType":"YulLiteral","src":"171236:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"171242:2:21","nodeType":"YulIdentifier","src":"171242:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171229:6:21","nodeType":"YulIdentifier","src":"171229:6:21"},"nativeSrc":"171229:16:21","nodeType":"YulFunctionCall","src":"171229:16:21"},"nativeSrc":"171229:16:21","nodeType":"YulExpressionStatement","src":"171229:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171265:4:21","nodeType":"YulLiteral","src":"171265:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"171271:2:21","nodeType":"YulIdentifier","src":"171271:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171258:6:21","nodeType":"YulIdentifier","src":"171258:6:21"},"nativeSrc":"171258:16:21","nodeType":"YulFunctionCall","src":"171258:16:21"},"nativeSrc":"171258:16:21","nodeType":"YulExpressionStatement","src":"171258:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171294:4:21","nodeType":"YulLiteral","src":"171294:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"171300:2:21","nodeType":"YulIdentifier","src":"171300:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171287:6:21","nodeType":"YulIdentifier","src":"171287:6:21"},"nativeSrc":"171287:16:21","nodeType":"YulFunctionCall","src":"171287:16:21"},"nativeSrc":"171287:16:21","nodeType":"YulExpressionStatement","src":"171287:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171323:4:21","nodeType":"YulLiteral","src":"171323:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"171329:2:21","nodeType":"YulIdentifier","src":"171329:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171316:6:21","nodeType":"YulIdentifier","src":"171316:6:21"},"nativeSrc":"171316:16:21","nodeType":"YulFunctionCall","src":"171316:16:21"},"nativeSrc":"171316:16:21","nodeType":"YulExpressionStatement","src":"171316:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171352:4:21","nodeType":"YulLiteral","src":"171352:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"171358:2:21","nodeType":"YulIdentifier","src":"171358:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171345:6:21","nodeType":"YulIdentifier","src":"171345:6:21"},"nativeSrc":"171345:16:21","nodeType":"YulFunctionCall","src":"171345:16:21"},"nativeSrc":"171345:16:21","nodeType":"YulExpressionStatement","src":"171345:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32306,"isOffset":false,"isSlot":false,"src":"171242:2:21","valueSize":1},{"declaration":32309,"isOffset":false,"isSlot":false,"src":"171271:2:21","valueSize":1},{"declaration":32312,"isOffset":false,"isSlot":false,"src":"171300:2:21","valueSize":1},{"declaration":32315,"isOffset":false,"isSlot":false,"src":"171329:2:21","valueSize":1},{"declaration":32318,"isOffset":false,"isSlot":false,"src":"171358:2:21","valueSize":1}],"id":32326,"nodeType":"InlineAssembly","src":"171206:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"170520:3:21","parameters":{"id":32303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32296,"mutability":"mutable","name":"p0","nameLocation":"170529:2:21","nodeType":"VariableDeclaration","scope":32328,"src":"170524:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32295,"name":"bool","nodeType":"ElementaryTypeName","src":"170524:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32298,"mutability":"mutable","name":"p1","nameLocation":"170541:2:21","nodeType":"VariableDeclaration","scope":32328,"src":"170533:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32297,"name":"address","nodeType":"ElementaryTypeName","src":"170533:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32300,"mutability":"mutable","name":"p2","nameLocation":"170553:2:21","nodeType":"VariableDeclaration","scope":32328,"src":"170545:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32299,"name":"address","nodeType":"ElementaryTypeName","src":"170545:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32302,"mutability":"mutable","name":"p3","nameLocation":"170562:2:21","nodeType":"VariableDeclaration","scope":32328,"src":"170557:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32301,"name":"bool","nodeType":"ElementaryTypeName","src":"170557:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"170523:42:21"},"returnParameters":{"id":32304,"nodeType":"ParameterList","parameters":[],"src":"170580:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32362,"nodeType":"FunctionDefinition","src":"171383:872:21","nodes":[],"body":{"id":32361,"nodeType":"Block","src":"171455:800:21","nodes":[],"statements":[{"assignments":[32340],"declarations":[{"constant":false,"id":32340,"mutability":"mutable","name":"m0","nameLocation":"171473:2:21","nodeType":"VariableDeclaration","scope":32361,"src":"171465:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171465:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32341,"nodeType":"VariableDeclarationStatement","src":"171465:10:21"},{"assignments":[32343],"declarations":[{"constant":false,"id":32343,"mutability":"mutable","name":"m1","nameLocation":"171493:2:21","nodeType":"VariableDeclaration","scope":32361,"src":"171485:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171485:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32344,"nodeType":"VariableDeclarationStatement","src":"171485:10:21"},{"assignments":[32346],"declarations":[{"constant":false,"id":32346,"mutability":"mutable","name":"m2","nameLocation":"171513:2:21","nodeType":"VariableDeclaration","scope":32361,"src":"171505:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171505:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32347,"nodeType":"VariableDeclarationStatement","src":"171505:10:21"},{"assignments":[32349],"declarations":[{"constant":false,"id":32349,"mutability":"mutable","name":"m3","nameLocation":"171533:2:21","nodeType":"VariableDeclaration","scope":32361,"src":"171525:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171525:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32350,"nodeType":"VariableDeclarationStatement","src":"171525:10:21"},{"assignments":[32352],"declarations":[{"constant":false,"id":32352,"mutability":"mutable","name":"m4","nameLocation":"171553:2:21","nodeType":"VariableDeclaration","scope":32361,"src":"171545:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171545:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32353,"nodeType":"VariableDeclarationStatement","src":"171545:10:21"},{"AST":{"nativeSrc":"171617:378:21","nodeType":"YulBlock","src":"171617:378:21","statements":[{"nativeSrc":"171631:17:21","nodeType":"YulAssignment","src":"171631:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"171643:4:21","nodeType":"YulLiteral","src":"171643:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"171637:5:21","nodeType":"YulIdentifier","src":"171637:5:21"},"nativeSrc":"171637:11:21","nodeType":"YulFunctionCall","src":"171637:11:21"},"variableNames":[{"name":"m0","nativeSrc":"171631:2:21","nodeType":"YulIdentifier","src":"171631:2:21"}]},{"nativeSrc":"171661:17:21","nodeType":"YulAssignment","src":"171661:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"171673:4:21","nodeType":"YulLiteral","src":"171673:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"171667:5:21","nodeType":"YulIdentifier","src":"171667:5:21"},"nativeSrc":"171667:11:21","nodeType":"YulFunctionCall","src":"171667:11:21"},"variableNames":[{"name":"m1","nativeSrc":"171661:2:21","nodeType":"YulIdentifier","src":"171661:2:21"}]},{"nativeSrc":"171691:17:21","nodeType":"YulAssignment","src":"171691:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"171703:4:21","nodeType":"YulLiteral","src":"171703:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"171697:5:21","nodeType":"YulIdentifier","src":"171697:5:21"},"nativeSrc":"171697:11:21","nodeType":"YulFunctionCall","src":"171697:11:21"},"variableNames":[{"name":"m2","nativeSrc":"171691:2:21","nodeType":"YulIdentifier","src":"171691:2:21"}]},{"nativeSrc":"171721:17:21","nodeType":"YulAssignment","src":"171721:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"171733:4:21","nodeType":"YulLiteral","src":"171733:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"171727:5:21","nodeType":"YulIdentifier","src":"171727:5:21"},"nativeSrc":"171727:11:21","nodeType":"YulFunctionCall","src":"171727:11:21"},"variableNames":[{"name":"m3","nativeSrc":"171721:2:21","nodeType":"YulIdentifier","src":"171721:2:21"}]},{"nativeSrc":"171751:17:21","nodeType":"YulAssignment","src":"171751:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"171763:4:21","nodeType":"YulLiteral","src":"171763:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"171757:5:21","nodeType":"YulIdentifier","src":"171757:5:21"},"nativeSrc":"171757:11:21","nodeType":"YulFunctionCall","src":"171757:11:21"},"variableNames":[{"name":"m4","nativeSrc":"171751:2:21","nodeType":"YulIdentifier","src":"171751:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171852:4:21","nodeType":"YulLiteral","src":"171852:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"171858:10:21","nodeType":"YulLiteral","src":"171858:10:21","type":"","value":"0x0c66d1be"}],"functionName":{"name":"mstore","nativeSrc":"171845:6:21","nodeType":"YulIdentifier","src":"171845:6:21"},"nativeSrc":"171845:24:21","nodeType":"YulFunctionCall","src":"171845:24:21"},"nativeSrc":"171845:24:21","nodeType":"YulExpressionStatement","src":"171845:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171889:4:21","nodeType":"YulLiteral","src":"171889:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"171895:2:21","nodeType":"YulIdentifier","src":"171895:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171882:6:21","nodeType":"YulIdentifier","src":"171882:6:21"},"nativeSrc":"171882:16:21","nodeType":"YulFunctionCall","src":"171882:16:21"},"nativeSrc":"171882:16:21","nodeType":"YulExpressionStatement","src":"171882:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171918:4:21","nodeType":"YulLiteral","src":"171918:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"171924:2:21","nodeType":"YulIdentifier","src":"171924:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171911:6:21","nodeType":"YulIdentifier","src":"171911:6:21"},"nativeSrc":"171911:16:21","nodeType":"YulFunctionCall","src":"171911:16:21"},"nativeSrc":"171911:16:21","nodeType":"YulExpressionStatement","src":"171911:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171947:4:21","nodeType":"YulLiteral","src":"171947:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"171953:2:21","nodeType":"YulIdentifier","src":"171953:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171940:6:21","nodeType":"YulIdentifier","src":"171940:6:21"},"nativeSrc":"171940:16:21","nodeType":"YulFunctionCall","src":"171940:16:21"},"nativeSrc":"171940:16:21","nodeType":"YulExpressionStatement","src":"171940:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171976:4:21","nodeType":"YulLiteral","src":"171976:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"171982:2:21","nodeType":"YulIdentifier","src":"171982:2:21"}],"functionName":{"name":"mstore","nativeSrc":"171969:6:21","nodeType":"YulIdentifier","src":"171969:6:21"},"nativeSrc":"171969:16:21","nodeType":"YulFunctionCall","src":"171969:16:21"},"nativeSrc":"171969:16:21","nodeType":"YulExpressionStatement","src":"171969:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32340,"isOffset":false,"isSlot":false,"src":"171631:2:21","valueSize":1},{"declaration":32343,"isOffset":false,"isSlot":false,"src":"171661:2:21","valueSize":1},{"declaration":32346,"isOffset":false,"isSlot":false,"src":"171691:2:21","valueSize":1},{"declaration":32349,"isOffset":false,"isSlot":false,"src":"171721:2:21","valueSize":1},{"declaration":32352,"isOffset":false,"isSlot":false,"src":"171751:2:21","valueSize":1},{"declaration":32330,"isOffset":false,"isSlot":false,"src":"171895:2:21","valueSize":1},{"declaration":32332,"isOffset":false,"isSlot":false,"src":"171924:2:21","valueSize":1},{"declaration":32334,"isOffset":false,"isSlot":false,"src":"171953:2:21","valueSize":1},{"declaration":32336,"isOffset":false,"isSlot":false,"src":"171982:2:21","valueSize":1}],"id":32354,"nodeType":"InlineAssembly","src":"171608:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"172020:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"172026:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"172004:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"172004:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32359,"nodeType":"ExpressionStatement","src":"172004:27:21"},{"AST":{"nativeSrc":"172093:156:21","nodeType":"YulBlock","src":"172093:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"172114:4:21","nodeType":"YulLiteral","src":"172114:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"172120:2:21","nodeType":"YulIdentifier","src":"172120:2:21"}],"functionName":{"name":"mstore","nativeSrc":"172107:6:21","nodeType":"YulIdentifier","src":"172107:6:21"},"nativeSrc":"172107:16:21","nodeType":"YulFunctionCall","src":"172107:16:21"},"nativeSrc":"172107:16:21","nodeType":"YulExpressionStatement","src":"172107:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172143:4:21","nodeType":"YulLiteral","src":"172143:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"172149:2:21","nodeType":"YulIdentifier","src":"172149:2:21"}],"functionName":{"name":"mstore","nativeSrc":"172136:6:21","nodeType":"YulIdentifier","src":"172136:6:21"},"nativeSrc":"172136:16:21","nodeType":"YulFunctionCall","src":"172136:16:21"},"nativeSrc":"172136:16:21","nodeType":"YulExpressionStatement","src":"172136:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172172:4:21","nodeType":"YulLiteral","src":"172172:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"172178:2:21","nodeType":"YulIdentifier","src":"172178:2:21"}],"functionName":{"name":"mstore","nativeSrc":"172165:6:21","nodeType":"YulIdentifier","src":"172165:6:21"},"nativeSrc":"172165:16:21","nodeType":"YulFunctionCall","src":"172165:16:21"},"nativeSrc":"172165:16:21","nodeType":"YulExpressionStatement","src":"172165:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172201:4:21","nodeType":"YulLiteral","src":"172201:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"172207:2:21","nodeType":"YulIdentifier","src":"172207:2:21"}],"functionName":{"name":"mstore","nativeSrc":"172194:6:21","nodeType":"YulIdentifier","src":"172194:6:21"},"nativeSrc":"172194:16:21","nodeType":"YulFunctionCall","src":"172194:16:21"},"nativeSrc":"172194:16:21","nodeType":"YulExpressionStatement","src":"172194:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172230:4:21","nodeType":"YulLiteral","src":"172230:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"172236:2:21","nodeType":"YulIdentifier","src":"172236:2:21"}],"functionName":{"name":"mstore","nativeSrc":"172223:6:21","nodeType":"YulIdentifier","src":"172223:6:21"},"nativeSrc":"172223:16:21","nodeType":"YulFunctionCall","src":"172223:16:21"},"nativeSrc":"172223:16:21","nodeType":"YulExpressionStatement","src":"172223:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32340,"isOffset":false,"isSlot":false,"src":"172120:2:21","valueSize":1},{"declaration":32343,"isOffset":false,"isSlot":false,"src":"172149:2:21","valueSize":1},{"declaration":32346,"isOffset":false,"isSlot":false,"src":"172178:2:21","valueSize":1},{"declaration":32349,"isOffset":false,"isSlot":false,"src":"172207:2:21","valueSize":1},{"declaration":32352,"isOffset":false,"isSlot":false,"src":"172236:2:21","valueSize":1}],"id":32360,"nodeType":"InlineAssembly","src":"172084:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"171392:3:21","parameters":{"id":32337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32330,"mutability":"mutable","name":"p0","nameLocation":"171401:2:21","nodeType":"VariableDeclaration","scope":32362,"src":"171396:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32329,"name":"bool","nodeType":"ElementaryTypeName","src":"171396:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32332,"mutability":"mutable","name":"p1","nameLocation":"171413:2:21","nodeType":"VariableDeclaration","scope":32362,"src":"171405:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32331,"name":"address","nodeType":"ElementaryTypeName","src":"171405:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32334,"mutability":"mutable","name":"p2","nameLocation":"171425:2:21","nodeType":"VariableDeclaration","scope":32362,"src":"171417:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32333,"name":"address","nodeType":"ElementaryTypeName","src":"171417:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32336,"mutability":"mutable","name":"p3","nameLocation":"171437:2:21","nodeType":"VariableDeclaration","scope":32362,"src":"171429:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32335,"name":"uint256","nodeType":"ElementaryTypeName","src":"171429:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"171395:45:21"},"returnParameters":{"id":32338,"nodeType":"ParameterList","parameters":[],"src":"171455:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32402,"nodeType":"FunctionDefinition","src":"172261:1420:21","nodes":[],"body":{"id":32401,"nodeType":"Block","src":"172333:1348:21","nodes":[],"statements":[{"assignments":[32374],"declarations":[{"constant":false,"id":32374,"mutability":"mutable","name":"m0","nameLocation":"172351:2:21","nodeType":"VariableDeclaration","scope":32401,"src":"172343:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172343:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32375,"nodeType":"VariableDeclarationStatement","src":"172343:10:21"},{"assignments":[32377],"declarations":[{"constant":false,"id":32377,"mutability":"mutable","name":"m1","nameLocation":"172371:2:21","nodeType":"VariableDeclaration","scope":32401,"src":"172363:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172363:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32378,"nodeType":"VariableDeclarationStatement","src":"172363:10:21"},{"assignments":[32380],"declarations":[{"constant":false,"id":32380,"mutability":"mutable","name":"m2","nameLocation":"172391:2:21","nodeType":"VariableDeclaration","scope":32401,"src":"172383:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172383:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32381,"nodeType":"VariableDeclarationStatement","src":"172383:10:21"},{"assignments":[32383],"declarations":[{"constant":false,"id":32383,"mutability":"mutable","name":"m3","nameLocation":"172411:2:21","nodeType":"VariableDeclaration","scope":32401,"src":"172403:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172403:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32384,"nodeType":"VariableDeclarationStatement","src":"172403:10:21"},{"assignments":[32386],"declarations":[{"constant":false,"id":32386,"mutability":"mutable","name":"m4","nameLocation":"172431:2:21","nodeType":"VariableDeclaration","scope":32401,"src":"172423:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172423:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32387,"nodeType":"VariableDeclarationStatement","src":"172423:10:21"},{"assignments":[32389],"declarations":[{"constant":false,"id":32389,"mutability":"mutable","name":"m5","nameLocation":"172451:2:21","nodeType":"VariableDeclaration","scope":32401,"src":"172443:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172443:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32390,"nodeType":"VariableDeclarationStatement","src":"172443:10:21"},{"assignments":[32392],"declarations":[{"constant":false,"id":32392,"mutability":"mutable","name":"m6","nameLocation":"172471:2:21","nodeType":"VariableDeclaration","scope":32401,"src":"172463:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172463:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32393,"nodeType":"VariableDeclarationStatement","src":"172463:10:21"},{"AST":{"nativeSrc":"172535:828:21","nodeType":"YulBlock","src":"172535:828:21","statements":[{"body":{"nativeSrc":"172578:313:21","nodeType":"YulBlock","src":"172578:313:21","statements":[{"nativeSrc":"172596:15:21","nodeType":"YulVariableDeclaration","src":"172596:15:21","value":{"kind":"number","nativeSrc":"172610:1:21","nodeType":"YulLiteral","src":"172610:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"172600:6:21","nodeType":"YulTypedName","src":"172600:6:21","type":""}]},{"body":{"nativeSrc":"172681:40:21","nodeType":"YulBlock","src":"172681:40:21","statements":[{"body":{"nativeSrc":"172710:9:21","nodeType":"YulBlock","src":"172710:9:21","statements":[{"nativeSrc":"172712:5:21","nodeType":"YulBreak","src":"172712:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"172698:6:21","nodeType":"YulIdentifier","src":"172698:6:21"},{"name":"w","nativeSrc":"172706:1:21","nodeType":"YulIdentifier","src":"172706:1:21"}],"functionName":{"name":"byte","nativeSrc":"172693:4:21","nodeType":"YulIdentifier","src":"172693:4:21"},"nativeSrc":"172693:15:21","nodeType":"YulFunctionCall","src":"172693:15:21"}],"functionName":{"name":"iszero","nativeSrc":"172686:6:21","nodeType":"YulIdentifier","src":"172686:6:21"},"nativeSrc":"172686:23:21","nodeType":"YulFunctionCall","src":"172686:23:21"},"nativeSrc":"172683:36:21","nodeType":"YulIf","src":"172683:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"172638:6:21","nodeType":"YulIdentifier","src":"172638:6:21"},{"kind":"number","nativeSrc":"172646:4:21","nodeType":"YulLiteral","src":"172646:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"172635:2:21","nodeType":"YulIdentifier","src":"172635:2:21"},"nativeSrc":"172635:16:21","nodeType":"YulFunctionCall","src":"172635:16:21"},"nativeSrc":"172628:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"172652:28:21","nodeType":"YulBlock","src":"172652:28:21","statements":[{"nativeSrc":"172654:24:21","nodeType":"YulAssignment","src":"172654:24:21","value":{"arguments":[{"name":"length","nativeSrc":"172668:6:21","nodeType":"YulIdentifier","src":"172668:6:21"},{"kind":"number","nativeSrc":"172676:1:21","nodeType":"YulLiteral","src":"172676:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"172664:3:21","nodeType":"YulIdentifier","src":"172664:3:21"},"nativeSrc":"172664:14:21","nodeType":"YulFunctionCall","src":"172664:14:21"},"variableNames":[{"name":"length","nativeSrc":"172654:6:21","nodeType":"YulIdentifier","src":"172654:6:21"}]}]},"pre":{"nativeSrc":"172632:2:21","nodeType":"YulBlock","src":"172632:2:21","statements":[]},"src":"172628:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"172745:3:21","nodeType":"YulIdentifier","src":"172745:3:21"},{"name":"length","nativeSrc":"172750:6:21","nodeType":"YulIdentifier","src":"172750:6:21"}],"functionName":{"name":"mstore","nativeSrc":"172738:6:21","nodeType":"YulIdentifier","src":"172738:6:21"},"nativeSrc":"172738:19:21","nodeType":"YulFunctionCall","src":"172738:19:21"},"nativeSrc":"172738:19:21","nodeType":"YulExpressionStatement","src":"172738:19:21"},{"nativeSrc":"172774:37:21","nodeType":"YulVariableDeclaration","src":"172774:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"172791:3:21","nodeType":"YulLiteral","src":"172791:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"172800:1:21","nodeType":"YulLiteral","src":"172800:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"172803:6:21","nodeType":"YulIdentifier","src":"172803:6:21"}],"functionName":{"name":"shl","nativeSrc":"172796:3:21","nodeType":"YulIdentifier","src":"172796:3:21"},"nativeSrc":"172796:14:21","nodeType":"YulFunctionCall","src":"172796:14:21"}],"functionName":{"name":"sub","nativeSrc":"172787:3:21","nodeType":"YulIdentifier","src":"172787:3:21"},"nativeSrc":"172787:24:21","nodeType":"YulFunctionCall","src":"172787:24:21"},"variables":[{"name":"shift","nativeSrc":"172778:5:21","nodeType":"YulTypedName","src":"172778:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"172839:3:21","nodeType":"YulIdentifier","src":"172839:3:21"},{"kind":"number","nativeSrc":"172844:4:21","nodeType":"YulLiteral","src":"172844:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"172835:3:21","nodeType":"YulIdentifier","src":"172835:3:21"},"nativeSrc":"172835:14:21","nodeType":"YulFunctionCall","src":"172835:14:21"},{"arguments":[{"name":"shift","nativeSrc":"172855:5:21","nodeType":"YulIdentifier","src":"172855:5:21"},{"arguments":[{"name":"shift","nativeSrc":"172866:5:21","nodeType":"YulIdentifier","src":"172866:5:21"},{"name":"w","nativeSrc":"172873:1:21","nodeType":"YulIdentifier","src":"172873:1:21"}],"functionName":{"name":"shr","nativeSrc":"172862:3:21","nodeType":"YulIdentifier","src":"172862:3:21"},"nativeSrc":"172862:13:21","nodeType":"YulFunctionCall","src":"172862:13:21"}],"functionName":{"name":"shl","nativeSrc":"172851:3:21","nodeType":"YulIdentifier","src":"172851:3:21"},"nativeSrc":"172851:25:21","nodeType":"YulFunctionCall","src":"172851:25:21"}],"functionName":{"name":"mstore","nativeSrc":"172828:6:21","nodeType":"YulIdentifier","src":"172828:6:21"},"nativeSrc":"172828:49:21","nodeType":"YulFunctionCall","src":"172828:49:21"},"nativeSrc":"172828:49:21","nodeType":"YulExpressionStatement","src":"172828:49:21"}]},"name":"writeString","nativeSrc":"172549:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"172570:3:21","nodeType":"YulTypedName","src":"172570:3:21","type":""},{"name":"w","nativeSrc":"172575:1:21","nodeType":"YulTypedName","src":"172575:1:21","type":""}],"src":"172549:342:21"},{"nativeSrc":"172904:17:21","nodeType":"YulAssignment","src":"172904:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"172916:4:21","nodeType":"YulLiteral","src":"172916:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"172910:5:21","nodeType":"YulIdentifier","src":"172910:5:21"},"nativeSrc":"172910:11:21","nodeType":"YulFunctionCall","src":"172910:11:21"},"variableNames":[{"name":"m0","nativeSrc":"172904:2:21","nodeType":"YulIdentifier","src":"172904:2:21"}]},{"nativeSrc":"172934:17:21","nodeType":"YulAssignment","src":"172934:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"172946:4:21","nodeType":"YulLiteral","src":"172946:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"172940:5:21","nodeType":"YulIdentifier","src":"172940:5:21"},"nativeSrc":"172940:11:21","nodeType":"YulFunctionCall","src":"172940:11:21"},"variableNames":[{"name":"m1","nativeSrc":"172934:2:21","nodeType":"YulIdentifier","src":"172934:2:21"}]},{"nativeSrc":"172964:17:21","nodeType":"YulAssignment","src":"172964:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"172976:4:21","nodeType":"YulLiteral","src":"172976:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"172970:5:21","nodeType":"YulIdentifier","src":"172970:5:21"},"nativeSrc":"172970:11:21","nodeType":"YulFunctionCall","src":"172970:11:21"},"variableNames":[{"name":"m2","nativeSrc":"172964:2:21","nodeType":"YulIdentifier","src":"172964:2:21"}]},{"nativeSrc":"172994:17:21","nodeType":"YulAssignment","src":"172994:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"173006:4:21","nodeType":"YulLiteral","src":"173006:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"173000:5:21","nodeType":"YulIdentifier","src":"173000:5:21"},"nativeSrc":"173000:11:21","nodeType":"YulFunctionCall","src":"173000:11:21"},"variableNames":[{"name":"m3","nativeSrc":"172994:2:21","nodeType":"YulIdentifier","src":"172994:2:21"}]},{"nativeSrc":"173024:17:21","nodeType":"YulAssignment","src":"173024:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"173036:4:21","nodeType":"YulLiteral","src":"173036:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"173030:5:21","nodeType":"YulIdentifier","src":"173030:5:21"},"nativeSrc":"173030:11:21","nodeType":"YulFunctionCall","src":"173030:11:21"},"variableNames":[{"name":"m4","nativeSrc":"173024:2:21","nodeType":"YulIdentifier","src":"173024:2:21"}]},{"nativeSrc":"173054:17:21","nodeType":"YulAssignment","src":"173054:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"173066:4:21","nodeType":"YulLiteral","src":"173066:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"173060:5:21","nodeType":"YulIdentifier","src":"173060:5:21"},"nativeSrc":"173060:11:21","nodeType":"YulFunctionCall","src":"173060:11:21"},"variableNames":[{"name":"m5","nativeSrc":"173054:2:21","nodeType":"YulIdentifier","src":"173054:2:21"}]},{"nativeSrc":"173084:17:21","nodeType":"YulAssignment","src":"173084:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"173096:4:21","nodeType":"YulLiteral","src":"173096:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"173090:5:21","nodeType":"YulIdentifier","src":"173090:5:21"},"nativeSrc":"173090:11:21","nodeType":"YulFunctionCall","src":"173090:11:21"},"variableNames":[{"name":"m6","nativeSrc":"173084:2:21","nodeType":"YulIdentifier","src":"173084:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173184:4:21","nodeType":"YulLiteral","src":"173184:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"173190:10:21","nodeType":"YulLiteral","src":"173190:10:21","type":"","value":"0xd812a167"}],"functionName":{"name":"mstore","nativeSrc":"173177:6:21","nodeType":"YulIdentifier","src":"173177:6:21"},"nativeSrc":"173177:24:21","nodeType":"YulFunctionCall","src":"173177:24:21"},"nativeSrc":"173177:24:21","nodeType":"YulExpressionStatement","src":"173177:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173221:4:21","nodeType":"YulLiteral","src":"173221:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"173227:2:21","nodeType":"YulIdentifier","src":"173227:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173214:6:21","nodeType":"YulIdentifier","src":"173214:6:21"},"nativeSrc":"173214:16:21","nodeType":"YulFunctionCall","src":"173214:16:21"},"nativeSrc":"173214:16:21","nodeType":"YulExpressionStatement","src":"173214:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173250:4:21","nodeType":"YulLiteral","src":"173250:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"173256:2:21","nodeType":"YulIdentifier","src":"173256:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173243:6:21","nodeType":"YulIdentifier","src":"173243:6:21"},"nativeSrc":"173243:16:21","nodeType":"YulFunctionCall","src":"173243:16:21"},"nativeSrc":"173243:16:21","nodeType":"YulExpressionStatement","src":"173243:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173279:4:21","nodeType":"YulLiteral","src":"173279:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"173285:2:21","nodeType":"YulIdentifier","src":"173285:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173272:6:21","nodeType":"YulIdentifier","src":"173272:6:21"},"nativeSrc":"173272:16:21","nodeType":"YulFunctionCall","src":"173272:16:21"},"nativeSrc":"173272:16:21","nodeType":"YulExpressionStatement","src":"173272:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173308:4:21","nodeType":"YulLiteral","src":"173308:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"173314:4:21","nodeType":"YulLiteral","src":"173314:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"173301:6:21","nodeType":"YulIdentifier","src":"173301:6:21"},"nativeSrc":"173301:18:21","nodeType":"YulFunctionCall","src":"173301:18:21"},"nativeSrc":"173301:18:21","nodeType":"YulExpressionStatement","src":"173301:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173344:4:21","nodeType":"YulLiteral","src":"173344:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"173350:2:21","nodeType":"YulIdentifier","src":"173350:2:21"}],"functionName":{"name":"writeString","nativeSrc":"173332:11:21","nodeType":"YulIdentifier","src":"173332:11:21"},"nativeSrc":"173332:21:21","nodeType":"YulFunctionCall","src":"173332:21:21"},"nativeSrc":"173332:21:21","nodeType":"YulExpressionStatement","src":"173332:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32374,"isOffset":false,"isSlot":false,"src":"172904:2:21","valueSize":1},{"declaration":32377,"isOffset":false,"isSlot":false,"src":"172934:2:21","valueSize":1},{"declaration":32380,"isOffset":false,"isSlot":false,"src":"172964:2:21","valueSize":1},{"declaration":32383,"isOffset":false,"isSlot":false,"src":"172994:2:21","valueSize":1},{"declaration":32386,"isOffset":false,"isSlot":false,"src":"173024:2:21","valueSize":1},{"declaration":32389,"isOffset":false,"isSlot":false,"src":"173054:2:21","valueSize":1},{"declaration":32392,"isOffset":false,"isSlot":false,"src":"173084:2:21","valueSize":1},{"declaration":32364,"isOffset":false,"isSlot":false,"src":"173227:2:21","valueSize":1},{"declaration":32366,"isOffset":false,"isSlot":false,"src":"173256:2:21","valueSize":1},{"declaration":32368,"isOffset":false,"isSlot":false,"src":"173285:2:21","valueSize":1},{"declaration":32370,"isOffset":false,"isSlot":false,"src":"173350:2:21","valueSize":1}],"id":32394,"nodeType":"InlineAssembly","src":"172526:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"173388:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"173394:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32395,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"173372:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"173372:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32399,"nodeType":"ExpressionStatement","src":"173372:27:21"},{"AST":{"nativeSrc":"173461:214:21","nodeType":"YulBlock","src":"173461:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"173482:4:21","nodeType":"YulLiteral","src":"173482:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"173488:2:21","nodeType":"YulIdentifier","src":"173488:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173475:6:21","nodeType":"YulIdentifier","src":"173475:6:21"},"nativeSrc":"173475:16:21","nodeType":"YulFunctionCall","src":"173475:16:21"},"nativeSrc":"173475:16:21","nodeType":"YulExpressionStatement","src":"173475:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173511:4:21","nodeType":"YulLiteral","src":"173511:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"173517:2:21","nodeType":"YulIdentifier","src":"173517:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173504:6:21","nodeType":"YulIdentifier","src":"173504:6:21"},"nativeSrc":"173504:16:21","nodeType":"YulFunctionCall","src":"173504:16:21"},"nativeSrc":"173504:16:21","nodeType":"YulExpressionStatement","src":"173504:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173540:4:21","nodeType":"YulLiteral","src":"173540:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"173546:2:21","nodeType":"YulIdentifier","src":"173546:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173533:6:21","nodeType":"YulIdentifier","src":"173533:6:21"},"nativeSrc":"173533:16:21","nodeType":"YulFunctionCall","src":"173533:16:21"},"nativeSrc":"173533:16:21","nodeType":"YulExpressionStatement","src":"173533:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173569:4:21","nodeType":"YulLiteral","src":"173569:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"173575:2:21","nodeType":"YulIdentifier","src":"173575:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173562:6:21","nodeType":"YulIdentifier","src":"173562:6:21"},"nativeSrc":"173562:16:21","nodeType":"YulFunctionCall","src":"173562:16:21"},"nativeSrc":"173562:16:21","nodeType":"YulExpressionStatement","src":"173562:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173598:4:21","nodeType":"YulLiteral","src":"173598:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"173604:2:21","nodeType":"YulIdentifier","src":"173604:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173591:6:21","nodeType":"YulIdentifier","src":"173591:6:21"},"nativeSrc":"173591:16:21","nodeType":"YulFunctionCall","src":"173591:16:21"},"nativeSrc":"173591:16:21","nodeType":"YulExpressionStatement","src":"173591:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173627:4:21","nodeType":"YulLiteral","src":"173627:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"173633:2:21","nodeType":"YulIdentifier","src":"173633:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173620:6:21","nodeType":"YulIdentifier","src":"173620:6:21"},"nativeSrc":"173620:16:21","nodeType":"YulFunctionCall","src":"173620:16:21"},"nativeSrc":"173620:16:21","nodeType":"YulExpressionStatement","src":"173620:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173656:4:21","nodeType":"YulLiteral","src":"173656:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"173662:2:21","nodeType":"YulIdentifier","src":"173662:2:21"}],"functionName":{"name":"mstore","nativeSrc":"173649:6:21","nodeType":"YulIdentifier","src":"173649:6:21"},"nativeSrc":"173649:16:21","nodeType":"YulFunctionCall","src":"173649:16:21"},"nativeSrc":"173649:16:21","nodeType":"YulExpressionStatement","src":"173649:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32374,"isOffset":false,"isSlot":false,"src":"173488:2:21","valueSize":1},{"declaration":32377,"isOffset":false,"isSlot":false,"src":"173517:2:21","valueSize":1},{"declaration":32380,"isOffset":false,"isSlot":false,"src":"173546:2:21","valueSize":1},{"declaration":32383,"isOffset":false,"isSlot":false,"src":"173575:2:21","valueSize":1},{"declaration":32386,"isOffset":false,"isSlot":false,"src":"173604:2:21","valueSize":1},{"declaration":32389,"isOffset":false,"isSlot":false,"src":"173633:2:21","valueSize":1},{"declaration":32392,"isOffset":false,"isSlot":false,"src":"173662:2:21","valueSize":1}],"id":32400,"nodeType":"InlineAssembly","src":"173452:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"172270:3:21","parameters":{"id":32371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32364,"mutability":"mutable","name":"p0","nameLocation":"172279:2:21","nodeType":"VariableDeclaration","scope":32402,"src":"172274:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32363,"name":"bool","nodeType":"ElementaryTypeName","src":"172274:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32366,"mutability":"mutable","name":"p1","nameLocation":"172291:2:21","nodeType":"VariableDeclaration","scope":32402,"src":"172283:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32365,"name":"address","nodeType":"ElementaryTypeName","src":"172283:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32368,"mutability":"mutable","name":"p2","nameLocation":"172303:2:21","nodeType":"VariableDeclaration","scope":32402,"src":"172295:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32367,"name":"address","nodeType":"ElementaryTypeName","src":"172295:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32370,"mutability":"mutable","name":"p3","nameLocation":"172315:2:21","nodeType":"VariableDeclaration","scope":32402,"src":"172307:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172307:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"172273:45:21"},"returnParameters":{"id":32372,"nodeType":"ParameterList","parameters":[],"src":"172333:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32436,"nodeType":"FunctionDefinition","src":"173687:866:21","nodes":[],"body":{"id":32435,"nodeType":"Block","src":"173756:797:21","nodes":[],"statements":[{"assignments":[32414],"declarations":[{"constant":false,"id":32414,"mutability":"mutable","name":"m0","nameLocation":"173774:2:21","nodeType":"VariableDeclaration","scope":32435,"src":"173766:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173766:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32415,"nodeType":"VariableDeclarationStatement","src":"173766:10:21"},{"assignments":[32417],"declarations":[{"constant":false,"id":32417,"mutability":"mutable","name":"m1","nameLocation":"173794:2:21","nodeType":"VariableDeclaration","scope":32435,"src":"173786:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173786:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32418,"nodeType":"VariableDeclarationStatement","src":"173786:10:21"},{"assignments":[32420],"declarations":[{"constant":false,"id":32420,"mutability":"mutable","name":"m2","nameLocation":"173814:2:21","nodeType":"VariableDeclaration","scope":32435,"src":"173806:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173806:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32421,"nodeType":"VariableDeclarationStatement","src":"173806:10:21"},{"assignments":[32423],"declarations":[{"constant":false,"id":32423,"mutability":"mutable","name":"m3","nameLocation":"173834:2:21","nodeType":"VariableDeclaration","scope":32435,"src":"173826:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173826:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32424,"nodeType":"VariableDeclarationStatement","src":"173826:10:21"},{"assignments":[32426],"declarations":[{"constant":false,"id":32426,"mutability":"mutable","name":"m4","nameLocation":"173854:2:21","nodeType":"VariableDeclaration","scope":32435,"src":"173846:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173846:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32427,"nodeType":"VariableDeclarationStatement","src":"173846:10:21"},{"AST":{"nativeSrc":"173918:375:21","nodeType":"YulBlock","src":"173918:375:21","statements":[{"nativeSrc":"173932:17:21","nodeType":"YulAssignment","src":"173932:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"173944:4:21","nodeType":"YulLiteral","src":"173944:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"173938:5:21","nodeType":"YulIdentifier","src":"173938:5:21"},"nativeSrc":"173938:11:21","nodeType":"YulFunctionCall","src":"173938:11:21"},"variableNames":[{"name":"m0","nativeSrc":"173932:2:21","nodeType":"YulIdentifier","src":"173932:2:21"}]},{"nativeSrc":"173962:17:21","nodeType":"YulAssignment","src":"173962:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"173974:4:21","nodeType":"YulLiteral","src":"173974:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"173968:5:21","nodeType":"YulIdentifier","src":"173968:5:21"},"nativeSrc":"173968:11:21","nodeType":"YulFunctionCall","src":"173968:11:21"},"variableNames":[{"name":"m1","nativeSrc":"173962:2:21","nodeType":"YulIdentifier","src":"173962:2:21"}]},{"nativeSrc":"173992:17:21","nodeType":"YulAssignment","src":"173992:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"174004:4:21","nodeType":"YulLiteral","src":"174004:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"173998:5:21","nodeType":"YulIdentifier","src":"173998:5:21"},"nativeSrc":"173998:11:21","nodeType":"YulFunctionCall","src":"173998:11:21"},"variableNames":[{"name":"m2","nativeSrc":"173992:2:21","nodeType":"YulIdentifier","src":"173992:2:21"}]},{"nativeSrc":"174022:17:21","nodeType":"YulAssignment","src":"174022:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"174034:4:21","nodeType":"YulLiteral","src":"174034:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"174028:5:21","nodeType":"YulIdentifier","src":"174028:5:21"},"nativeSrc":"174028:11:21","nodeType":"YulFunctionCall","src":"174028:11:21"},"variableNames":[{"name":"m3","nativeSrc":"174022:2:21","nodeType":"YulIdentifier","src":"174022:2:21"}]},{"nativeSrc":"174052:17:21","nodeType":"YulAssignment","src":"174052:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"174064:4:21","nodeType":"YulLiteral","src":"174064:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"174058:5:21","nodeType":"YulIdentifier","src":"174058:5:21"},"nativeSrc":"174058:11:21","nodeType":"YulFunctionCall","src":"174058:11:21"},"variableNames":[{"name":"m4","nativeSrc":"174052:2:21","nodeType":"YulIdentifier","src":"174052:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174150:4:21","nodeType":"YulLiteral","src":"174150:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"174156:10:21","nodeType":"YulLiteral","src":"174156:10:21","type":"","value":"0x1c41a336"}],"functionName":{"name":"mstore","nativeSrc":"174143:6:21","nodeType":"YulIdentifier","src":"174143:6:21"},"nativeSrc":"174143:24:21","nodeType":"YulFunctionCall","src":"174143:24:21"},"nativeSrc":"174143:24:21","nodeType":"YulExpressionStatement","src":"174143:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174187:4:21","nodeType":"YulLiteral","src":"174187:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"174193:2:21","nodeType":"YulIdentifier","src":"174193:2:21"}],"functionName":{"name":"mstore","nativeSrc":"174180:6:21","nodeType":"YulIdentifier","src":"174180:6:21"},"nativeSrc":"174180:16:21","nodeType":"YulFunctionCall","src":"174180:16:21"},"nativeSrc":"174180:16:21","nodeType":"YulExpressionStatement","src":"174180:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174216:4:21","nodeType":"YulLiteral","src":"174216:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"174222:2:21","nodeType":"YulIdentifier","src":"174222:2:21"}],"functionName":{"name":"mstore","nativeSrc":"174209:6:21","nodeType":"YulIdentifier","src":"174209:6:21"},"nativeSrc":"174209:16:21","nodeType":"YulFunctionCall","src":"174209:16:21"},"nativeSrc":"174209:16:21","nodeType":"YulExpressionStatement","src":"174209:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174245:4:21","nodeType":"YulLiteral","src":"174245:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"174251:2:21","nodeType":"YulIdentifier","src":"174251:2:21"}],"functionName":{"name":"mstore","nativeSrc":"174238:6:21","nodeType":"YulIdentifier","src":"174238:6:21"},"nativeSrc":"174238:16:21","nodeType":"YulFunctionCall","src":"174238:16:21"},"nativeSrc":"174238:16:21","nodeType":"YulExpressionStatement","src":"174238:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174274:4:21","nodeType":"YulLiteral","src":"174274:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"174280:2:21","nodeType":"YulIdentifier","src":"174280:2:21"}],"functionName":{"name":"mstore","nativeSrc":"174267:6:21","nodeType":"YulIdentifier","src":"174267:6:21"},"nativeSrc":"174267:16:21","nodeType":"YulFunctionCall","src":"174267:16:21"},"nativeSrc":"174267:16:21","nodeType":"YulExpressionStatement","src":"174267:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32414,"isOffset":false,"isSlot":false,"src":"173932:2:21","valueSize":1},{"declaration":32417,"isOffset":false,"isSlot":false,"src":"173962:2:21","valueSize":1},{"declaration":32420,"isOffset":false,"isSlot":false,"src":"173992:2:21","valueSize":1},{"declaration":32423,"isOffset":false,"isSlot":false,"src":"174022:2:21","valueSize":1},{"declaration":32426,"isOffset":false,"isSlot":false,"src":"174052:2:21","valueSize":1},{"declaration":32404,"isOffset":false,"isSlot":false,"src":"174193:2:21","valueSize":1},{"declaration":32406,"isOffset":false,"isSlot":false,"src":"174222:2:21","valueSize":1},{"declaration":32408,"isOffset":false,"isSlot":false,"src":"174251:2:21","valueSize":1},{"declaration":32410,"isOffset":false,"isSlot":false,"src":"174280:2:21","valueSize":1}],"id":32428,"nodeType":"InlineAssembly","src":"173909:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"174318:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"174324:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32429,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"174302:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"174302:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32433,"nodeType":"ExpressionStatement","src":"174302:27:21"},{"AST":{"nativeSrc":"174391:156:21","nodeType":"YulBlock","src":"174391:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"174412:4:21","nodeType":"YulLiteral","src":"174412:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"174418:2:21","nodeType":"YulIdentifier","src":"174418:2:21"}],"functionName":{"name":"mstore","nativeSrc":"174405:6:21","nodeType":"YulIdentifier","src":"174405:6:21"},"nativeSrc":"174405:16:21","nodeType":"YulFunctionCall","src":"174405:16:21"},"nativeSrc":"174405:16:21","nodeType":"YulExpressionStatement","src":"174405:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174441:4:21","nodeType":"YulLiteral","src":"174441:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"174447:2:21","nodeType":"YulIdentifier","src":"174447:2:21"}],"functionName":{"name":"mstore","nativeSrc":"174434:6:21","nodeType":"YulIdentifier","src":"174434:6:21"},"nativeSrc":"174434:16:21","nodeType":"YulFunctionCall","src":"174434:16:21"},"nativeSrc":"174434:16:21","nodeType":"YulExpressionStatement","src":"174434:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174470:4:21","nodeType":"YulLiteral","src":"174470:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"174476:2:21","nodeType":"YulIdentifier","src":"174476:2:21"}],"functionName":{"name":"mstore","nativeSrc":"174463:6:21","nodeType":"YulIdentifier","src":"174463:6:21"},"nativeSrc":"174463:16:21","nodeType":"YulFunctionCall","src":"174463:16:21"},"nativeSrc":"174463:16:21","nodeType":"YulExpressionStatement","src":"174463:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174499:4:21","nodeType":"YulLiteral","src":"174499:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"174505:2:21","nodeType":"YulIdentifier","src":"174505:2:21"}],"functionName":{"name":"mstore","nativeSrc":"174492:6:21","nodeType":"YulIdentifier","src":"174492:6:21"},"nativeSrc":"174492:16:21","nodeType":"YulFunctionCall","src":"174492:16:21"},"nativeSrc":"174492:16:21","nodeType":"YulExpressionStatement","src":"174492:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174528:4:21","nodeType":"YulLiteral","src":"174528:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"174534:2:21","nodeType":"YulIdentifier","src":"174534:2:21"}],"functionName":{"name":"mstore","nativeSrc":"174521:6:21","nodeType":"YulIdentifier","src":"174521:6:21"},"nativeSrc":"174521:16:21","nodeType":"YulFunctionCall","src":"174521:16:21"},"nativeSrc":"174521:16:21","nodeType":"YulExpressionStatement","src":"174521:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32414,"isOffset":false,"isSlot":false,"src":"174418:2:21","valueSize":1},{"declaration":32417,"isOffset":false,"isSlot":false,"src":"174447:2:21","valueSize":1},{"declaration":32420,"isOffset":false,"isSlot":false,"src":"174476:2:21","valueSize":1},{"declaration":32423,"isOffset":false,"isSlot":false,"src":"174505:2:21","valueSize":1},{"declaration":32426,"isOffset":false,"isSlot":false,"src":"174534:2:21","valueSize":1}],"id":32434,"nodeType":"InlineAssembly","src":"174382:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"173696:3:21","parameters":{"id":32411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32404,"mutability":"mutable","name":"p0","nameLocation":"173705:2:21","nodeType":"VariableDeclaration","scope":32436,"src":"173700:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32403,"name":"bool","nodeType":"ElementaryTypeName","src":"173700:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32406,"mutability":"mutable","name":"p1","nameLocation":"173717:2:21","nodeType":"VariableDeclaration","scope":32436,"src":"173709:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32405,"name":"address","nodeType":"ElementaryTypeName","src":"173709:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32408,"mutability":"mutable","name":"p2","nameLocation":"173726:2:21","nodeType":"VariableDeclaration","scope":32436,"src":"173721:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32407,"name":"bool","nodeType":"ElementaryTypeName","src":"173721:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32410,"mutability":"mutable","name":"p3","nameLocation":"173738:2:21","nodeType":"VariableDeclaration","scope":32436,"src":"173730:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32409,"name":"address","nodeType":"ElementaryTypeName","src":"173730:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"173699:42:21"},"returnParameters":{"id":32412,"nodeType":"ParameterList","parameters":[],"src":"173756:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32470,"nodeType":"FunctionDefinition","src":"174559:860:21","nodes":[],"body":{"id":32469,"nodeType":"Block","src":"174625:794:21","nodes":[],"statements":[{"assignments":[32448],"declarations":[{"constant":false,"id":32448,"mutability":"mutable","name":"m0","nameLocation":"174643:2:21","nodeType":"VariableDeclaration","scope":32469,"src":"174635:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174635:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32449,"nodeType":"VariableDeclarationStatement","src":"174635:10:21"},{"assignments":[32451],"declarations":[{"constant":false,"id":32451,"mutability":"mutable","name":"m1","nameLocation":"174663:2:21","nodeType":"VariableDeclaration","scope":32469,"src":"174655:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174655:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32452,"nodeType":"VariableDeclarationStatement","src":"174655:10:21"},{"assignments":[32454],"declarations":[{"constant":false,"id":32454,"mutability":"mutable","name":"m2","nameLocation":"174683:2:21","nodeType":"VariableDeclaration","scope":32469,"src":"174675:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174675:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32455,"nodeType":"VariableDeclarationStatement","src":"174675:10:21"},{"assignments":[32457],"declarations":[{"constant":false,"id":32457,"mutability":"mutable","name":"m3","nameLocation":"174703:2:21","nodeType":"VariableDeclaration","scope":32469,"src":"174695:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174695:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32458,"nodeType":"VariableDeclarationStatement","src":"174695:10:21"},{"assignments":[32460],"declarations":[{"constant":false,"id":32460,"mutability":"mutable","name":"m4","nameLocation":"174723:2:21","nodeType":"VariableDeclaration","scope":32469,"src":"174715:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174715:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32461,"nodeType":"VariableDeclarationStatement","src":"174715:10:21"},{"AST":{"nativeSrc":"174787:372:21","nodeType":"YulBlock","src":"174787:372:21","statements":[{"nativeSrc":"174801:17:21","nodeType":"YulAssignment","src":"174801:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"174813:4:21","nodeType":"YulLiteral","src":"174813:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"174807:5:21","nodeType":"YulIdentifier","src":"174807:5:21"},"nativeSrc":"174807:11:21","nodeType":"YulFunctionCall","src":"174807:11:21"},"variableNames":[{"name":"m0","nativeSrc":"174801:2:21","nodeType":"YulIdentifier","src":"174801:2:21"}]},{"nativeSrc":"174831:17:21","nodeType":"YulAssignment","src":"174831:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"174843:4:21","nodeType":"YulLiteral","src":"174843:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"174837:5:21","nodeType":"YulIdentifier","src":"174837:5:21"},"nativeSrc":"174837:11:21","nodeType":"YulFunctionCall","src":"174837:11:21"},"variableNames":[{"name":"m1","nativeSrc":"174831:2:21","nodeType":"YulIdentifier","src":"174831:2:21"}]},{"nativeSrc":"174861:17:21","nodeType":"YulAssignment","src":"174861:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"174873:4:21","nodeType":"YulLiteral","src":"174873:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"174867:5:21","nodeType":"YulIdentifier","src":"174867:5:21"},"nativeSrc":"174867:11:21","nodeType":"YulFunctionCall","src":"174867:11:21"},"variableNames":[{"name":"m2","nativeSrc":"174861:2:21","nodeType":"YulIdentifier","src":"174861:2:21"}]},{"nativeSrc":"174891:17:21","nodeType":"YulAssignment","src":"174891:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"174903:4:21","nodeType":"YulLiteral","src":"174903:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"174897:5:21","nodeType":"YulIdentifier","src":"174897:5:21"},"nativeSrc":"174897:11:21","nodeType":"YulFunctionCall","src":"174897:11:21"},"variableNames":[{"name":"m3","nativeSrc":"174891:2:21","nodeType":"YulIdentifier","src":"174891:2:21"}]},{"nativeSrc":"174921:17:21","nodeType":"YulAssignment","src":"174921:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"174933:4:21","nodeType":"YulLiteral","src":"174933:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"174927:5:21","nodeType":"YulIdentifier","src":"174927:5:21"},"nativeSrc":"174927:11:21","nodeType":"YulFunctionCall","src":"174927:11:21"},"variableNames":[{"name":"m4","nativeSrc":"174921:2:21","nodeType":"YulIdentifier","src":"174921:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175016:4:21","nodeType":"YulLiteral","src":"175016:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"175022:10:21","nodeType":"YulLiteral","src":"175022:10:21","type":"","value":"0x6a9c478b"}],"functionName":{"name":"mstore","nativeSrc":"175009:6:21","nodeType":"YulIdentifier","src":"175009:6:21"},"nativeSrc":"175009:24:21","nodeType":"YulFunctionCall","src":"175009:24:21"},"nativeSrc":"175009:24:21","nodeType":"YulExpressionStatement","src":"175009:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175053:4:21","nodeType":"YulLiteral","src":"175053:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"175059:2:21","nodeType":"YulIdentifier","src":"175059:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175046:6:21","nodeType":"YulIdentifier","src":"175046:6:21"},"nativeSrc":"175046:16:21","nodeType":"YulFunctionCall","src":"175046:16:21"},"nativeSrc":"175046:16:21","nodeType":"YulExpressionStatement","src":"175046:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175082:4:21","nodeType":"YulLiteral","src":"175082:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"175088:2:21","nodeType":"YulIdentifier","src":"175088:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175075:6:21","nodeType":"YulIdentifier","src":"175075:6:21"},"nativeSrc":"175075:16:21","nodeType":"YulFunctionCall","src":"175075:16:21"},"nativeSrc":"175075:16:21","nodeType":"YulExpressionStatement","src":"175075:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175111:4:21","nodeType":"YulLiteral","src":"175111:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"175117:2:21","nodeType":"YulIdentifier","src":"175117:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175104:6:21","nodeType":"YulIdentifier","src":"175104:6:21"},"nativeSrc":"175104:16:21","nodeType":"YulFunctionCall","src":"175104:16:21"},"nativeSrc":"175104:16:21","nodeType":"YulExpressionStatement","src":"175104:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175140:4:21","nodeType":"YulLiteral","src":"175140:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"175146:2:21","nodeType":"YulIdentifier","src":"175146:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175133:6:21","nodeType":"YulIdentifier","src":"175133:6:21"},"nativeSrc":"175133:16:21","nodeType":"YulFunctionCall","src":"175133:16:21"},"nativeSrc":"175133:16:21","nodeType":"YulExpressionStatement","src":"175133:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32448,"isOffset":false,"isSlot":false,"src":"174801:2:21","valueSize":1},{"declaration":32451,"isOffset":false,"isSlot":false,"src":"174831:2:21","valueSize":1},{"declaration":32454,"isOffset":false,"isSlot":false,"src":"174861:2:21","valueSize":1},{"declaration":32457,"isOffset":false,"isSlot":false,"src":"174891:2:21","valueSize":1},{"declaration":32460,"isOffset":false,"isSlot":false,"src":"174921:2:21","valueSize":1},{"declaration":32438,"isOffset":false,"isSlot":false,"src":"175059:2:21","valueSize":1},{"declaration":32440,"isOffset":false,"isSlot":false,"src":"175088:2:21","valueSize":1},{"declaration":32442,"isOffset":false,"isSlot":false,"src":"175117:2:21","valueSize":1},{"declaration":32444,"isOffset":false,"isSlot":false,"src":"175146:2:21","valueSize":1}],"id":32462,"nodeType":"InlineAssembly","src":"174778:381:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"175184:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"175190:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32463,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"175168:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"175168:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32467,"nodeType":"ExpressionStatement","src":"175168:27:21"},{"AST":{"nativeSrc":"175257:156:21","nodeType":"YulBlock","src":"175257:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"175278:4:21","nodeType":"YulLiteral","src":"175278:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"175284:2:21","nodeType":"YulIdentifier","src":"175284:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175271:6:21","nodeType":"YulIdentifier","src":"175271:6:21"},"nativeSrc":"175271:16:21","nodeType":"YulFunctionCall","src":"175271:16:21"},"nativeSrc":"175271:16:21","nodeType":"YulExpressionStatement","src":"175271:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175307:4:21","nodeType":"YulLiteral","src":"175307:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"175313:2:21","nodeType":"YulIdentifier","src":"175313:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175300:6:21","nodeType":"YulIdentifier","src":"175300:6:21"},"nativeSrc":"175300:16:21","nodeType":"YulFunctionCall","src":"175300:16:21"},"nativeSrc":"175300:16:21","nodeType":"YulExpressionStatement","src":"175300:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175336:4:21","nodeType":"YulLiteral","src":"175336:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"175342:2:21","nodeType":"YulIdentifier","src":"175342:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175329:6:21","nodeType":"YulIdentifier","src":"175329:6:21"},"nativeSrc":"175329:16:21","nodeType":"YulFunctionCall","src":"175329:16:21"},"nativeSrc":"175329:16:21","nodeType":"YulExpressionStatement","src":"175329:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175365:4:21","nodeType":"YulLiteral","src":"175365:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"175371:2:21","nodeType":"YulIdentifier","src":"175371:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175358:6:21","nodeType":"YulIdentifier","src":"175358:6:21"},"nativeSrc":"175358:16:21","nodeType":"YulFunctionCall","src":"175358:16:21"},"nativeSrc":"175358:16:21","nodeType":"YulExpressionStatement","src":"175358:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175394:4:21","nodeType":"YulLiteral","src":"175394:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"175400:2:21","nodeType":"YulIdentifier","src":"175400:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175387:6:21","nodeType":"YulIdentifier","src":"175387:6:21"},"nativeSrc":"175387:16:21","nodeType":"YulFunctionCall","src":"175387:16:21"},"nativeSrc":"175387:16:21","nodeType":"YulExpressionStatement","src":"175387:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32448,"isOffset":false,"isSlot":false,"src":"175284:2:21","valueSize":1},{"declaration":32451,"isOffset":false,"isSlot":false,"src":"175313:2:21","valueSize":1},{"declaration":32454,"isOffset":false,"isSlot":false,"src":"175342:2:21","valueSize":1},{"declaration":32457,"isOffset":false,"isSlot":false,"src":"175371:2:21","valueSize":1},{"declaration":32460,"isOffset":false,"isSlot":false,"src":"175400:2:21","valueSize":1}],"id":32468,"nodeType":"InlineAssembly","src":"175248:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"174568:3:21","parameters":{"id":32445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32438,"mutability":"mutable","name":"p0","nameLocation":"174577:2:21","nodeType":"VariableDeclaration","scope":32470,"src":"174572:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32437,"name":"bool","nodeType":"ElementaryTypeName","src":"174572:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32440,"mutability":"mutable","name":"p1","nameLocation":"174589:2:21","nodeType":"VariableDeclaration","scope":32470,"src":"174581:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32439,"name":"address","nodeType":"ElementaryTypeName","src":"174581:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32442,"mutability":"mutable","name":"p2","nameLocation":"174598:2:21","nodeType":"VariableDeclaration","scope":32470,"src":"174593:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32441,"name":"bool","nodeType":"ElementaryTypeName","src":"174593:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32444,"mutability":"mutable","name":"p3","nameLocation":"174607:2:21","nodeType":"VariableDeclaration","scope":32470,"src":"174602:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32443,"name":"bool","nodeType":"ElementaryTypeName","src":"174602:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"174571:39:21"},"returnParameters":{"id":32446,"nodeType":"ParameterList","parameters":[],"src":"174625:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32504,"nodeType":"FunctionDefinition","src":"175425:866:21","nodes":[],"body":{"id":32503,"nodeType":"Block","src":"175494:797:21","nodes":[],"statements":[{"assignments":[32482],"declarations":[{"constant":false,"id":32482,"mutability":"mutable","name":"m0","nameLocation":"175512:2:21","nodeType":"VariableDeclaration","scope":32503,"src":"175504:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175504:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32483,"nodeType":"VariableDeclarationStatement","src":"175504:10:21"},{"assignments":[32485],"declarations":[{"constant":false,"id":32485,"mutability":"mutable","name":"m1","nameLocation":"175532:2:21","nodeType":"VariableDeclaration","scope":32503,"src":"175524:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175524:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32486,"nodeType":"VariableDeclarationStatement","src":"175524:10:21"},{"assignments":[32488],"declarations":[{"constant":false,"id":32488,"mutability":"mutable","name":"m2","nameLocation":"175552:2:21","nodeType":"VariableDeclaration","scope":32503,"src":"175544:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175544:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32489,"nodeType":"VariableDeclarationStatement","src":"175544:10:21"},{"assignments":[32491],"declarations":[{"constant":false,"id":32491,"mutability":"mutable","name":"m3","nameLocation":"175572:2:21","nodeType":"VariableDeclaration","scope":32503,"src":"175564:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175564:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32492,"nodeType":"VariableDeclarationStatement","src":"175564:10:21"},{"assignments":[32494],"declarations":[{"constant":false,"id":32494,"mutability":"mutable","name":"m4","nameLocation":"175592:2:21","nodeType":"VariableDeclaration","scope":32503,"src":"175584:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175584:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32495,"nodeType":"VariableDeclarationStatement","src":"175584:10:21"},{"AST":{"nativeSrc":"175656:375:21","nodeType":"YulBlock","src":"175656:375:21","statements":[{"nativeSrc":"175670:17:21","nodeType":"YulAssignment","src":"175670:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"175682:4:21","nodeType":"YulLiteral","src":"175682:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"175676:5:21","nodeType":"YulIdentifier","src":"175676:5:21"},"nativeSrc":"175676:11:21","nodeType":"YulFunctionCall","src":"175676:11:21"},"variableNames":[{"name":"m0","nativeSrc":"175670:2:21","nodeType":"YulIdentifier","src":"175670:2:21"}]},{"nativeSrc":"175700:17:21","nodeType":"YulAssignment","src":"175700:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"175712:4:21","nodeType":"YulLiteral","src":"175712:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"175706:5:21","nodeType":"YulIdentifier","src":"175706:5:21"},"nativeSrc":"175706:11:21","nodeType":"YulFunctionCall","src":"175706:11:21"},"variableNames":[{"name":"m1","nativeSrc":"175700:2:21","nodeType":"YulIdentifier","src":"175700:2:21"}]},{"nativeSrc":"175730:17:21","nodeType":"YulAssignment","src":"175730:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"175742:4:21","nodeType":"YulLiteral","src":"175742:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"175736:5:21","nodeType":"YulIdentifier","src":"175736:5:21"},"nativeSrc":"175736:11:21","nodeType":"YulFunctionCall","src":"175736:11:21"},"variableNames":[{"name":"m2","nativeSrc":"175730:2:21","nodeType":"YulIdentifier","src":"175730:2:21"}]},{"nativeSrc":"175760:17:21","nodeType":"YulAssignment","src":"175760:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"175772:4:21","nodeType":"YulLiteral","src":"175772:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"175766:5:21","nodeType":"YulIdentifier","src":"175766:5:21"},"nativeSrc":"175766:11:21","nodeType":"YulFunctionCall","src":"175766:11:21"},"variableNames":[{"name":"m3","nativeSrc":"175760:2:21","nodeType":"YulIdentifier","src":"175760:2:21"}]},{"nativeSrc":"175790:17:21","nodeType":"YulAssignment","src":"175790:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"175802:4:21","nodeType":"YulLiteral","src":"175802:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"175796:5:21","nodeType":"YulIdentifier","src":"175796:5:21"},"nativeSrc":"175796:11:21","nodeType":"YulFunctionCall","src":"175796:11:21"},"variableNames":[{"name":"m4","nativeSrc":"175790:2:21","nodeType":"YulIdentifier","src":"175790:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175888:4:21","nodeType":"YulLiteral","src":"175888:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"175894:10:21","nodeType":"YulLiteral","src":"175894:10:21","type":"","value":"0x07831502"}],"functionName":{"name":"mstore","nativeSrc":"175881:6:21","nodeType":"YulIdentifier","src":"175881:6:21"},"nativeSrc":"175881:24:21","nodeType":"YulFunctionCall","src":"175881:24:21"},"nativeSrc":"175881:24:21","nodeType":"YulExpressionStatement","src":"175881:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175925:4:21","nodeType":"YulLiteral","src":"175925:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"175931:2:21","nodeType":"YulIdentifier","src":"175931:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175918:6:21","nodeType":"YulIdentifier","src":"175918:6:21"},"nativeSrc":"175918:16:21","nodeType":"YulFunctionCall","src":"175918:16:21"},"nativeSrc":"175918:16:21","nodeType":"YulExpressionStatement","src":"175918:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175954:4:21","nodeType":"YulLiteral","src":"175954:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"175960:2:21","nodeType":"YulIdentifier","src":"175960:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175947:6:21","nodeType":"YulIdentifier","src":"175947:6:21"},"nativeSrc":"175947:16:21","nodeType":"YulFunctionCall","src":"175947:16:21"},"nativeSrc":"175947:16:21","nodeType":"YulExpressionStatement","src":"175947:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175983:4:21","nodeType":"YulLiteral","src":"175983:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"175989:2:21","nodeType":"YulIdentifier","src":"175989:2:21"}],"functionName":{"name":"mstore","nativeSrc":"175976:6:21","nodeType":"YulIdentifier","src":"175976:6:21"},"nativeSrc":"175976:16:21","nodeType":"YulFunctionCall","src":"175976:16:21"},"nativeSrc":"175976:16:21","nodeType":"YulExpressionStatement","src":"175976:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176012:4:21","nodeType":"YulLiteral","src":"176012:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"176018:2:21","nodeType":"YulIdentifier","src":"176018:2:21"}],"functionName":{"name":"mstore","nativeSrc":"176005:6:21","nodeType":"YulIdentifier","src":"176005:6:21"},"nativeSrc":"176005:16:21","nodeType":"YulFunctionCall","src":"176005:16:21"},"nativeSrc":"176005:16:21","nodeType":"YulExpressionStatement","src":"176005:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32482,"isOffset":false,"isSlot":false,"src":"175670:2:21","valueSize":1},{"declaration":32485,"isOffset":false,"isSlot":false,"src":"175700:2:21","valueSize":1},{"declaration":32488,"isOffset":false,"isSlot":false,"src":"175730:2:21","valueSize":1},{"declaration":32491,"isOffset":false,"isSlot":false,"src":"175760:2:21","valueSize":1},{"declaration":32494,"isOffset":false,"isSlot":false,"src":"175790:2:21","valueSize":1},{"declaration":32472,"isOffset":false,"isSlot":false,"src":"175931:2:21","valueSize":1},{"declaration":32474,"isOffset":false,"isSlot":false,"src":"175960:2:21","valueSize":1},{"declaration":32476,"isOffset":false,"isSlot":false,"src":"175989:2:21","valueSize":1},{"declaration":32478,"isOffset":false,"isSlot":false,"src":"176018:2:21","valueSize":1}],"id":32496,"nodeType":"InlineAssembly","src":"175647:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"176056:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"176062:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"176040:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"176040:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32501,"nodeType":"ExpressionStatement","src":"176040:27:21"},{"AST":{"nativeSrc":"176129:156:21","nodeType":"YulBlock","src":"176129:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"176150:4:21","nodeType":"YulLiteral","src":"176150:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"176156:2:21","nodeType":"YulIdentifier","src":"176156:2:21"}],"functionName":{"name":"mstore","nativeSrc":"176143:6:21","nodeType":"YulIdentifier","src":"176143:6:21"},"nativeSrc":"176143:16:21","nodeType":"YulFunctionCall","src":"176143:16:21"},"nativeSrc":"176143:16:21","nodeType":"YulExpressionStatement","src":"176143:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176179:4:21","nodeType":"YulLiteral","src":"176179:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"176185:2:21","nodeType":"YulIdentifier","src":"176185:2:21"}],"functionName":{"name":"mstore","nativeSrc":"176172:6:21","nodeType":"YulIdentifier","src":"176172:6:21"},"nativeSrc":"176172:16:21","nodeType":"YulFunctionCall","src":"176172:16:21"},"nativeSrc":"176172:16:21","nodeType":"YulExpressionStatement","src":"176172:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176208:4:21","nodeType":"YulLiteral","src":"176208:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"176214:2:21","nodeType":"YulIdentifier","src":"176214:2:21"}],"functionName":{"name":"mstore","nativeSrc":"176201:6:21","nodeType":"YulIdentifier","src":"176201:6:21"},"nativeSrc":"176201:16:21","nodeType":"YulFunctionCall","src":"176201:16:21"},"nativeSrc":"176201:16:21","nodeType":"YulExpressionStatement","src":"176201:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176237:4:21","nodeType":"YulLiteral","src":"176237:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"176243:2:21","nodeType":"YulIdentifier","src":"176243:2:21"}],"functionName":{"name":"mstore","nativeSrc":"176230:6:21","nodeType":"YulIdentifier","src":"176230:6:21"},"nativeSrc":"176230:16:21","nodeType":"YulFunctionCall","src":"176230:16:21"},"nativeSrc":"176230:16:21","nodeType":"YulExpressionStatement","src":"176230:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176266:4:21","nodeType":"YulLiteral","src":"176266:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"176272:2:21","nodeType":"YulIdentifier","src":"176272:2:21"}],"functionName":{"name":"mstore","nativeSrc":"176259:6:21","nodeType":"YulIdentifier","src":"176259:6:21"},"nativeSrc":"176259:16:21","nodeType":"YulFunctionCall","src":"176259:16:21"},"nativeSrc":"176259:16:21","nodeType":"YulExpressionStatement","src":"176259:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32482,"isOffset":false,"isSlot":false,"src":"176156:2:21","valueSize":1},{"declaration":32485,"isOffset":false,"isSlot":false,"src":"176185:2:21","valueSize":1},{"declaration":32488,"isOffset":false,"isSlot":false,"src":"176214:2:21","valueSize":1},{"declaration":32491,"isOffset":false,"isSlot":false,"src":"176243:2:21","valueSize":1},{"declaration":32494,"isOffset":false,"isSlot":false,"src":"176272:2:21","valueSize":1}],"id":32502,"nodeType":"InlineAssembly","src":"176120:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"175434:3:21","parameters":{"id":32479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32472,"mutability":"mutable","name":"p0","nameLocation":"175443:2:21","nodeType":"VariableDeclaration","scope":32504,"src":"175438:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32471,"name":"bool","nodeType":"ElementaryTypeName","src":"175438:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32474,"mutability":"mutable","name":"p1","nameLocation":"175455:2:21","nodeType":"VariableDeclaration","scope":32504,"src":"175447:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32473,"name":"address","nodeType":"ElementaryTypeName","src":"175447:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32476,"mutability":"mutable","name":"p2","nameLocation":"175464:2:21","nodeType":"VariableDeclaration","scope":32504,"src":"175459:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32475,"name":"bool","nodeType":"ElementaryTypeName","src":"175459:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32478,"mutability":"mutable","name":"p3","nameLocation":"175476:2:21","nodeType":"VariableDeclaration","scope":32504,"src":"175468:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32477,"name":"uint256","nodeType":"ElementaryTypeName","src":"175468:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"175437:42:21"},"returnParameters":{"id":32480,"nodeType":"ParameterList","parameters":[],"src":"175494:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32544,"nodeType":"FunctionDefinition","src":"176297:1414:21","nodes":[],"body":{"id":32543,"nodeType":"Block","src":"176366:1345:21","nodes":[],"statements":[{"assignments":[32516],"declarations":[{"constant":false,"id":32516,"mutability":"mutable","name":"m0","nameLocation":"176384:2:21","nodeType":"VariableDeclaration","scope":32543,"src":"176376:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176376:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32517,"nodeType":"VariableDeclarationStatement","src":"176376:10:21"},{"assignments":[32519],"declarations":[{"constant":false,"id":32519,"mutability":"mutable","name":"m1","nameLocation":"176404:2:21","nodeType":"VariableDeclaration","scope":32543,"src":"176396:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32518,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176396:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32520,"nodeType":"VariableDeclarationStatement","src":"176396:10:21"},{"assignments":[32522],"declarations":[{"constant":false,"id":32522,"mutability":"mutable","name":"m2","nameLocation":"176424:2:21","nodeType":"VariableDeclaration","scope":32543,"src":"176416:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176416:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32523,"nodeType":"VariableDeclarationStatement","src":"176416:10:21"},{"assignments":[32525],"declarations":[{"constant":false,"id":32525,"mutability":"mutable","name":"m3","nameLocation":"176444:2:21","nodeType":"VariableDeclaration","scope":32543,"src":"176436:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32524,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176436:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32526,"nodeType":"VariableDeclarationStatement","src":"176436:10:21"},{"assignments":[32528],"declarations":[{"constant":false,"id":32528,"mutability":"mutable","name":"m4","nameLocation":"176464:2:21","nodeType":"VariableDeclaration","scope":32543,"src":"176456:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176456:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32529,"nodeType":"VariableDeclarationStatement","src":"176456:10:21"},{"assignments":[32531],"declarations":[{"constant":false,"id":32531,"mutability":"mutable","name":"m5","nameLocation":"176484:2:21","nodeType":"VariableDeclaration","scope":32543,"src":"176476:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176476:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32532,"nodeType":"VariableDeclarationStatement","src":"176476:10:21"},{"assignments":[32534],"declarations":[{"constant":false,"id":32534,"mutability":"mutable","name":"m6","nameLocation":"176504:2:21","nodeType":"VariableDeclaration","scope":32543,"src":"176496:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176496:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32535,"nodeType":"VariableDeclarationStatement","src":"176496:10:21"},{"AST":{"nativeSrc":"176568:825:21","nodeType":"YulBlock","src":"176568:825:21","statements":[{"body":{"nativeSrc":"176611:313:21","nodeType":"YulBlock","src":"176611:313:21","statements":[{"nativeSrc":"176629:15:21","nodeType":"YulVariableDeclaration","src":"176629:15:21","value":{"kind":"number","nativeSrc":"176643:1:21","nodeType":"YulLiteral","src":"176643:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"176633:6:21","nodeType":"YulTypedName","src":"176633:6:21","type":""}]},{"body":{"nativeSrc":"176714:40:21","nodeType":"YulBlock","src":"176714:40:21","statements":[{"body":{"nativeSrc":"176743:9:21","nodeType":"YulBlock","src":"176743:9:21","statements":[{"nativeSrc":"176745:5:21","nodeType":"YulBreak","src":"176745:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"176731:6:21","nodeType":"YulIdentifier","src":"176731:6:21"},{"name":"w","nativeSrc":"176739:1:21","nodeType":"YulIdentifier","src":"176739:1:21"}],"functionName":{"name":"byte","nativeSrc":"176726:4:21","nodeType":"YulIdentifier","src":"176726:4:21"},"nativeSrc":"176726:15:21","nodeType":"YulFunctionCall","src":"176726:15:21"}],"functionName":{"name":"iszero","nativeSrc":"176719:6:21","nodeType":"YulIdentifier","src":"176719:6:21"},"nativeSrc":"176719:23:21","nodeType":"YulFunctionCall","src":"176719:23:21"},"nativeSrc":"176716:36:21","nodeType":"YulIf","src":"176716:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"176671:6:21","nodeType":"YulIdentifier","src":"176671:6:21"},{"kind":"number","nativeSrc":"176679:4:21","nodeType":"YulLiteral","src":"176679:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"176668:2:21","nodeType":"YulIdentifier","src":"176668:2:21"},"nativeSrc":"176668:16:21","nodeType":"YulFunctionCall","src":"176668:16:21"},"nativeSrc":"176661:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"176685:28:21","nodeType":"YulBlock","src":"176685:28:21","statements":[{"nativeSrc":"176687:24:21","nodeType":"YulAssignment","src":"176687:24:21","value":{"arguments":[{"name":"length","nativeSrc":"176701:6:21","nodeType":"YulIdentifier","src":"176701:6:21"},{"kind":"number","nativeSrc":"176709:1:21","nodeType":"YulLiteral","src":"176709:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"176697:3:21","nodeType":"YulIdentifier","src":"176697:3:21"},"nativeSrc":"176697:14:21","nodeType":"YulFunctionCall","src":"176697:14:21"},"variableNames":[{"name":"length","nativeSrc":"176687:6:21","nodeType":"YulIdentifier","src":"176687:6:21"}]}]},"pre":{"nativeSrc":"176665:2:21","nodeType":"YulBlock","src":"176665:2:21","statements":[]},"src":"176661:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"176778:3:21","nodeType":"YulIdentifier","src":"176778:3:21"},{"name":"length","nativeSrc":"176783:6:21","nodeType":"YulIdentifier","src":"176783:6:21"}],"functionName":{"name":"mstore","nativeSrc":"176771:6:21","nodeType":"YulIdentifier","src":"176771:6:21"},"nativeSrc":"176771:19:21","nodeType":"YulFunctionCall","src":"176771:19:21"},"nativeSrc":"176771:19:21","nodeType":"YulExpressionStatement","src":"176771:19:21"},{"nativeSrc":"176807:37:21","nodeType":"YulVariableDeclaration","src":"176807:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"176824:3:21","nodeType":"YulLiteral","src":"176824:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"176833:1:21","nodeType":"YulLiteral","src":"176833:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"176836:6:21","nodeType":"YulIdentifier","src":"176836:6:21"}],"functionName":{"name":"shl","nativeSrc":"176829:3:21","nodeType":"YulIdentifier","src":"176829:3:21"},"nativeSrc":"176829:14:21","nodeType":"YulFunctionCall","src":"176829:14:21"}],"functionName":{"name":"sub","nativeSrc":"176820:3:21","nodeType":"YulIdentifier","src":"176820:3:21"},"nativeSrc":"176820:24:21","nodeType":"YulFunctionCall","src":"176820:24:21"},"variables":[{"name":"shift","nativeSrc":"176811:5:21","nodeType":"YulTypedName","src":"176811:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"176872:3:21","nodeType":"YulIdentifier","src":"176872:3:21"},{"kind":"number","nativeSrc":"176877:4:21","nodeType":"YulLiteral","src":"176877:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"176868:3:21","nodeType":"YulIdentifier","src":"176868:3:21"},"nativeSrc":"176868:14:21","nodeType":"YulFunctionCall","src":"176868:14:21"},{"arguments":[{"name":"shift","nativeSrc":"176888:5:21","nodeType":"YulIdentifier","src":"176888:5:21"},{"arguments":[{"name":"shift","nativeSrc":"176899:5:21","nodeType":"YulIdentifier","src":"176899:5:21"},{"name":"w","nativeSrc":"176906:1:21","nodeType":"YulIdentifier","src":"176906:1:21"}],"functionName":{"name":"shr","nativeSrc":"176895:3:21","nodeType":"YulIdentifier","src":"176895:3:21"},"nativeSrc":"176895:13:21","nodeType":"YulFunctionCall","src":"176895:13:21"}],"functionName":{"name":"shl","nativeSrc":"176884:3:21","nodeType":"YulIdentifier","src":"176884:3:21"},"nativeSrc":"176884:25:21","nodeType":"YulFunctionCall","src":"176884:25:21"}],"functionName":{"name":"mstore","nativeSrc":"176861:6:21","nodeType":"YulIdentifier","src":"176861:6:21"},"nativeSrc":"176861:49:21","nodeType":"YulFunctionCall","src":"176861:49:21"},"nativeSrc":"176861:49:21","nodeType":"YulExpressionStatement","src":"176861:49:21"}]},"name":"writeString","nativeSrc":"176582:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"176603:3:21","nodeType":"YulTypedName","src":"176603:3:21","type":""},{"name":"w","nativeSrc":"176608:1:21","nodeType":"YulTypedName","src":"176608:1:21","type":""}],"src":"176582:342:21"},{"nativeSrc":"176937:17:21","nodeType":"YulAssignment","src":"176937:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"176949:4:21","nodeType":"YulLiteral","src":"176949:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"176943:5:21","nodeType":"YulIdentifier","src":"176943:5:21"},"nativeSrc":"176943:11:21","nodeType":"YulFunctionCall","src":"176943:11:21"},"variableNames":[{"name":"m0","nativeSrc":"176937:2:21","nodeType":"YulIdentifier","src":"176937:2:21"}]},{"nativeSrc":"176967:17:21","nodeType":"YulAssignment","src":"176967:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"176979:4:21","nodeType":"YulLiteral","src":"176979:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"176973:5:21","nodeType":"YulIdentifier","src":"176973:5:21"},"nativeSrc":"176973:11:21","nodeType":"YulFunctionCall","src":"176973:11:21"},"variableNames":[{"name":"m1","nativeSrc":"176967:2:21","nodeType":"YulIdentifier","src":"176967:2:21"}]},{"nativeSrc":"176997:17:21","nodeType":"YulAssignment","src":"176997:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"177009:4:21","nodeType":"YulLiteral","src":"177009:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"177003:5:21","nodeType":"YulIdentifier","src":"177003:5:21"},"nativeSrc":"177003:11:21","nodeType":"YulFunctionCall","src":"177003:11:21"},"variableNames":[{"name":"m2","nativeSrc":"176997:2:21","nodeType":"YulIdentifier","src":"176997:2:21"}]},{"nativeSrc":"177027:17:21","nodeType":"YulAssignment","src":"177027:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"177039:4:21","nodeType":"YulLiteral","src":"177039:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"177033:5:21","nodeType":"YulIdentifier","src":"177033:5:21"},"nativeSrc":"177033:11:21","nodeType":"YulFunctionCall","src":"177033:11:21"},"variableNames":[{"name":"m3","nativeSrc":"177027:2:21","nodeType":"YulIdentifier","src":"177027:2:21"}]},{"nativeSrc":"177057:17:21","nodeType":"YulAssignment","src":"177057:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"177069:4:21","nodeType":"YulLiteral","src":"177069:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"177063:5:21","nodeType":"YulIdentifier","src":"177063:5:21"},"nativeSrc":"177063:11:21","nodeType":"YulFunctionCall","src":"177063:11:21"},"variableNames":[{"name":"m4","nativeSrc":"177057:2:21","nodeType":"YulIdentifier","src":"177057:2:21"}]},{"nativeSrc":"177087:17:21","nodeType":"YulAssignment","src":"177087:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"177099:4:21","nodeType":"YulLiteral","src":"177099:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"177093:5:21","nodeType":"YulIdentifier","src":"177093:5:21"},"nativeSrc":"177093:11:21","nodeType":"YulFunctionCall","src":"177093:11:21"},"variableNames":[{"name":"m5","nativeSrc":"177087:2:21","nodeType":"YulIdentifier","src":"177087:2:21"}]},{"nativeSrc":"177117:17:21","nodeType":"YulAssignment","src":"177117:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"177129:4:21","nodeType":"YulLiteral","src":"177129:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"177123:5:21","nodeType":"YulIdentifier","src":"177123:5:21"},"nativeSrc":"177123:11:21","nodeType":"YulFunctionCall","src":"177123:11:21"},"variableNames":[{"name":"m6","nativeSrc":"177117:2:21","nodeType":"YulIdentifier","src":"177117:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177214:4:21","nodeType":"YulLiteral","src":"177214:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"177220:10:21","nodeType":"YulLiteral","src":"177220:10:21","type":"","value":"0x4a66cb34"}],"functionName":{"name":"mstore","nativeSrc":"177207:6:21","nodeType":"YulIdentifier","src":"177207:6:21"},"nativeSrc":"177207:24:21","nodeType":"YulFunctionCall","src":"177207:24:21"},"nativeSrc":"177207:24:21","nodeType":"YulExpressionStatement","src":"177207:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177251:4:21","nodeType":"YulLiteral","src":"177251:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"177257:2:21","nodeType":"YulIdentifier","src":"177257:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177244:6:21","nodeType":"YulIdentifier","src":"177244:6:21"},"nativeSrc":"177244:16:21","nodeType":"YulFunctionCall","src":"177244:16:21"},"nativeSrc":"177244:16:21","nodeType":"YulExpressionStatement","src":"177244:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177280:4:21","nodeType":"YulLiteral","src":"177280:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"177286:2:21","nodeType":"YulIdentifier","src":"177286:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177273:6:21","nodeType":"YulIdentifier","src":"177273:6:21"},"nativeSrc":"177273:16:21","nodeType":"YulFunctionCall","src":"177273:16:21"},"nativeSrc":"177273:16:21","nodeType":"YulExpressionStatement","src":"177273:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177309:4:21","nodeType":"YulLiteral","src":"177309:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"177315:2:21","nodeType":"YulIdentifier","src":"177315:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177302:6:21","nodeType":"YulIdentifier","src":"177302:6:21"},"nativeSrc":"177302:16:21","nodeType":"YulFunctionCall","src":"177302:16:21"},"nativeSrc":"177302:16:21","nodeType":"YulExpressionStatement","src":"177302:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177338:4:21","nodeType":"YulLiteral","src":"177338:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"177344:4:21","nodeType":"YulLiteral","src":"177344:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"177331:6:21","nodeType":"YulIdentifier","src":"177331:6:21"},"nativeSrc":"177331:18:21","nodeType":"YulFunctionCall","src":"177331:18:21"},"nativeSrc":"177331:18:21","nodeType":"YulExpressionStatement","src":"177331:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177374:4:21","nodeType":"YulLiteral","src":"177374:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"177380:2:21","nodeType":"YulIdentifier","src":"177380:2:21"}],"functionName":{"name":"writeString","nativeSrc":"177362:11:21","nodeType":"YulIdentifier","src":"177362:11:21"},"nativeSrc":"177362:21:21","nodeType":"YulFunctionCall","src":"177362:21:21"},"nativeSrc":"177362:21:21","nodeType":"YulExpressionStatement","src":"177362:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32516,"isOffset":false,"isSlot":false,"src":"176937:2:21","valueSize":1},{"declaration":32519,"isOffset":false,"isSlot":false,"src":"176967:2:21","valueSize":1},{"declaration":32522,"isOffset":false,"isSlot":false,"src":"176997:2:21","valueSize":1},{"declaration":32525,"isOffset":false,"isSlot":false,"src":"177027:2:21","valueSize":1},{"declaration":32528,"isOffset":false,"isSlot":false,"src":"177057:2:21","valueSize":1},{"declaration":32531,"isOffset":false,"isSlot":false,"src":"177087:2:21","valueSize":1},{"declaration":32534,"isOffset":false,"isSlot":false,"src":"177117:2:21","valueSize":1},{"declaration":32506,"isOffset":false,"isSlot":false,"src":"177257:2:21","valueSize":1},{"declaration":32508,"isOffset":false,"isSlot":false,"src":"177286:2:21","valueSize":1},{"declaration":32510,"isOffset":false,"isSlot":false,"src":"177315:2:21","valueSize":1},{"declaration":32512,"isOffset":false,"isSlot":false,"src":"177380:2:21","valueSize":1}],"id":32536,"nodeType":"InlineAssembly","src":"176559:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"177418:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"177424:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32537,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"177402:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"177402:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32541,"nodeType":"ExpressionStatement","src":"177402:27:21"},{"AST":{"nativeSrc":"177491:214:21","nodeType":"YulBlock","src":"177491:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"177512:4:21","nodeType":"YulLiteral","src":"177512:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"177518:2:21","nodeType":"YulIdentifier","src":"177518:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177505:6:21","nodeType":"YulIdentifier","src":"177505:6:21"},"nativeSrc":"177505:16:21","nodeType":"YulFunctionCall","src":"177505:16:21"},"nativeSrc":"177505:16:21","nodeType":"YulExpressionStatement","src":"177505:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177541:4:21","nodeType":"YulLiteral","src":"177541:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"177547:2:21","nodeType":"YulIdentifier","src":"177547:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177534:6:21","nodeType":"YulIdentifier","src":"177534:6:21"},"nativeSrc":"177534:16:21","nodeType":"YulFunctionCall","src":"177534:16:21"},"nativeSrc":"177534:16:21","nodeType":"YulExpressionStatement","src":"177534:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177570:4:21","nodeType":"YulLiteral","src":"177570:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"177576:2:21","nodeType":"YulIdentifier","src":"177576:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177563:6:21","nodeType":"YulIdentifier","src":"177563:6:21"},"nativeSrc":"177563:16:21","nodeType":"YulFunctionCall","src":"177563:16:21"},"nativeSrc":"177563:16:21","nodeType":"YulExpressionStatement","src":"177563:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177599:4:21","nodeType":"YulLiteral","src":"177599:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"177605:2:21","nodeType":"YulIdentifier","src":"177605:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177592:6:21","nodeType":"YulIdentifier","src":"177592:6:21"},"nativeSrc":"177592:16:21","nodeType":"YulFunctionCall","src":"177592:16:21"},"nativeSrc":"177592:16:21","nodeType":"YulExpressionStatement","src":"177592:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177628:4:21","nodeType":"YulLiteral","src":"177628:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"177634:2:21","nodeType":"YulIdentifier","src":"177634:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177621:6:21","nodeType":"YulIdentifier","src":"177621:6:21"},"nativeSrc":"177621:16:21","nodeType":"YulFunctionCall","src":"177621:16:21"},"nativeSrc":"177621:16:21","nodeType":"YulExpressionStatement","src":"177621:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177657:4:21","nodeType":"YulLiteral","src":"177657:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"177663:2:21","nodeType":"YulIdentifier","src":"177663:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177650:6:21","nodeType":"YulIdentifier","src":"177650:6:21"},"nativeSrc":"177650:16:21","nodeType":"YulFunctionCall","src":"177650:16:21"},"nativeSrc":"177650:16:21","nodeType":"YulExpressionStatement","src":"177650:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177686:4:21","nodeType":"YulLiteral","src":"177686:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"177692:2:21","nodeType":"YulIdentifier","src":"177692:2:21"}],"functionName":{"name":"mstore","nativeSrc":"177679:6:21","nodeType":"YulIdentifier","src":"177679:6:21"},"nativeSrc":"177679:16:21","nodeType":"YulFunctionCall","src":"177679:16:21"},"nativeSrc":"177679:16:21","nodeType":"YulExpressionStatement","src":"177679:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32516,"isOffset":false,"isSlot":false,"src":"177518:2:21","valueSize":1},{"declaration":32519,"isOffset":false,"isSlot":false,"src":"177547:2:21","valueSize":1},{"declaration":32522,"isOffset":false,"isSlot":false,"src":"177576:2:21","valueSize":1},{"declaration":32525,"isOffset":false,"isSlot":false,"src":"177605:2:21","valueSize":1},{"declaration":32528,"isOffset":false,"isSlot":false,"src":"177634:2:21","valueSize":1},{"declaration":32531,"isOffset":false,"isSlot":false,"src":"177663:2:21","valueSize":1},{"declaration":32534,"isOffset":false,"isSlot":false,"src":"177692:2:21","valueSize":1}],"id":32542,"nodeType":"InlineAssembly","src":"177482:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"176306:3:21","parameters":{"id":32513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32506,"mutability":"mutable","name":"p0","nameLocation":"176315:2:21","nodeType":"VariableDeclaration","scope":32544,"src":"176310:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32505,"name":"bool","nodeType":"ElementaryTypeName","src":"176310:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32508,"mutability":"mutable","name":"p1","nameLocation":"176327:2:21","nodeType":"VariableDeclaration","scope":32544,"src":"176319:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32507,"name":"address","nodeType":"ElementaryTypeName","src":"176319:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32510,"mutability":"mutable","name":"p2","nameLocation":"176336:2:21","nodeType":"VariableDeclaration","scope":32544,"src":"176331:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32509,"name":"bool","nodeType":"ElementaryTypeName","src":"176331:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32512,"mutability":"mutable","name":"p3","nameLocation":"176348:2:21","nodeType":"VariableDeclaration","scope":32544,"src":"176340:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176340:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"176309:42:21"},"returnParameters":{"id":32514,"nodeType":"ParameterList","parameters":[],"src":"176366:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32578,"nodeType":"FunctionDefinition","src":"177717:872:21","nodes":[],"body":{"id":32577,"nodeType":"Block","src":"177789:800:21","nodes":[],"statements":[{"assignments":[32556],"declarations":[{"constant":false,"id":32556,"mutability":"mutable","name":"m0","nameLocation":"177807:2:21","nodeType":"VariableDeclaration","scope":32577,"src":"177799:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32555,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177799:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32557,"nodeType":"VariableDeclarationStatement","src":"177799:10:21"},{"assignments":[32559],"declarations":[{"constant":false,"id":32559,"mutability":"mutable","name":"m1","nameLocation":"177827:2:21","nodeType":"VariableDeclaration","scope":32577,"src":"177819:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32558,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177819:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32560,"nodeType":"VariableDeclarationStatement","src":"177819:10:21"},{"assignments":[32562],"declarations":[{"constant":false,"id":32562,"mutability":"mutable","name":"m2","nameLocation":"177847:2:21","nodeType":"VariableDeclaration","scope":32577,"src":"177839:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32561,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177839:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32563,"nodeType":"VariableDeclarationStatement","src":"177839:10:21"},{"assignments":[32565],"declarations":[{"constant":false,"id":32565,"mutability":"mutable","name":"m3","nameLocation":"177867:2:21","nodeType":"VariableDeclaration","scope":32577,"src":"177859:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32564,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177859:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32566,"nodeType":"VariableDeclarationStatement","src":"177859:10:21"},{"assignments":[32568],"declarations":[{"constant":false,"id":32568,"mutability":"mutable","name":"m4","nameLocation":"177887:2:21","nodeType":"VariableDeclaration","scope":32577,"src":"177879:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177879:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32569,"nodeType":"VariableDeclarationStatement","src":"177879:10:21"},{"AST":{"nativeSrc":"177951:378:21","nodeType":"YulBlock","src":"177951:378:21","statements":[{"nativeSrc":"177965:17:21","nodeType":"YulAssignment","src":"177965:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"177977:4:21","nodeType":"YulLiteral","src":"177977:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"177971:5:21","nodeType":"YulIdentifier","src":"177971:5:21"},"nativeSrc":"177971:11:21","nodeType":"YulFunctionCall","src":"177971:11:21"},"variableNames":[{"name":"m0","nativeSrc":"177965:2:21","nodeType":"YulIdentifier","src":"177965:2:21"}]},{"nativeSrc":"177995:17:21","nodeType":"YulAssignment","src":"177995:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"178007:4:21","nodeType":"YulLiteral","src":"178007:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"178001:5:21","nodeType":"YulIdentifier","src":"178001:5:21"},"nativeSrc":"178001:11:21","nodeType":"YulFunctionCall","src":"178001:11:21"},"variableNames":[{"name":"m1","nativeSrc":"177995:2:21","nodeType":"YulIdentifier","src":"177995:2:21"}]},{"nativeSrc":"178025:17:21","nodeType":"YulAssignment","src":"178025:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"178037:4:21","nodeType":"YulLiteral","src":"178037:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"178031:5:21","nodeType":"YulIdentifier","src":"178031:5:21"},"nativeSrc":"178031:11:21","nodeType":"YulFunctionCall","src":"178031:11:21"},"variableNames":[{"name":"m2","nativeSrc":"178025:2:21","nodeType":"YulIdentifier","src":"178025:2:21"}]},{"nativeSrc":"178055:17:21","nodeType":"YulAssignment","src":"178055:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"178067:4:21","nodeType":"YulLiteral","src":"178067:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"178061:5:21","nodeType":"YulIdentifier","src":"178061:5:21"},"nativeSrc":"178061:11:21","nodeType":"YulFunctionCall","src":"178061:11:21"},"variableNames":[{"name":"m3","nativeSrc":"178055:2:21","nodeType":"YulIdentifier","src":"178055:2:21"}]},{"nativeSrc":"178085:17:21","nodeType":"YulAssignment","src":"178085:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"178097:4:21","nodeType":"YulLiteral","src":"178097:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"178091:5:21","nodeType":"YulIdentifier","src":"178091:5:21"},"nativeSrc":"178091:11:21","nodeType":"YulFunctionCall","src":"178091:11:21"},"variableNames":[{"name":"m4","nativeSrc":"178085:2:21","nodeType":"YulIdentifier","src":"178085:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178186:4:21","nodeType":"YulLiteral","src":"178186:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"178192:10:21","nodeType":"YulLiteral","src":"178192:10:21","type":"","value":"0x136b05dd"}],"functionName":{"name":"mstore","nativeSrc":"178179:6:21","nodeType":"YulIdentifier","src":"178179:6:21"},"nativeSrc":"178179:24:21","nodeType":"YulFunctionCall","src":"178179:24:21"},"nativeSrc":"178179:24:21","nodeType":"YulExpressionStatement","src":"178179:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178223:4:21","nodeType":"YulLiteral","src":"178223:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"178229:2:21","nodeType":"YulIdentifier","src":"178229:2:21"}],"functionName":{"name":"mstore","nativeSrc":"178216:6:21","nodeType":"YulIdentifier","src":"178216:6:21"},"nativeSrc":"178216:16:21","nodeType":"YulFunctionCall","src":"178216:16:21"},"nativeSrc":"178216:16:21","nodeType":"YulExpressionStatement","src":"178216:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178252:4:21","nodeType":"YulLiteral","src":"178252:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"178258:2:21","nodeType":"YulIdentifier","src":"178258:2:21"}],"functionName":{"name":"mstore","nativeSrc":"178245:6:21","nodeType":"YulIdentifier","src":"178245:6:21"},"nativeSrc":"178245:16:21","nodeType":"YulFunctionCall","src":"178245:16:21"},"nativeSrc":"178245:16:21","nodeType":"YulExpressionStatement","src":"178245:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178281:4:21","nodeType":"YulLiteral","src":"178281:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"178287:2:21","nodeType":"YulIdentifier","src":"178287:2:21"}],"functionName":{"name":"mstore","nativeSrc":"178274:6:21","nodeType":"YulIdentifier","src":"178274:6:21"},"nativeSrc":"178274:16:21","nodeType":"YulFunctionCall","src":"178274:16:21"},"nativeSrc":"178274:16:21","nodeType":"YulExpressionStatement","src":"178274:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178310:4:21","nodeType":"YulLiteral","src":"178310:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"178316:2:21","nodeType":"YulIdentifier","src":"178316:2:21"}],"functionName":{"name":"mstore","nativeSrc":"178303:6:21","nodeType":"YulIdentifier","src":"178303:6:21"},"nativeSrc":"178303:16:21","nodeType":"YulFunctionCall","src":"178303:16:21"},"nativeSrc":"178303:16:21","nodeType":"YulExpressionStatement","src":"178303:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32556,"isOffset":false,"isSlot":false,"src":"177965:2:21","valueSize":1},{"declaration":32559,"isOffset":false,"isSlot":false,"src":"177995:2:21","valueSize":1},{"declaration":32562,"isOffset":false,"isSlot":false,"src":"178025:2:21","valueSize":1},{"declaration":32565,"isOffset":false,"isSlot":false,"src":"178055:2:21","valueSize":1},{"declaration":32568,"isOffset":false,"isSlot":false,"src":"178085:2:21","valueSize":1},{"declaration":32546,"isOffset":false,"isSlot":false,"src":"178229:2:21","valueSize":1},{"declaration":32548,"isOffset":false,"isSlot":false,"src":"178258:2:21","valueSize":1},{"declaration":32550,"isOffset":false,"isSlot":false,"src":"178287:2:21","valueSize":1},{"declaration":32552,"isOffset":false,"isSlot":false,"src":"178316:2:21","valueSize":1}],"id":32570,"nodeType":"InlineAssembly","src":"177942:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"178354:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"178360:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32571,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"178338:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"178338:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32575,"nodeType":"ExpressionStatement","src":"178338:27:21"},{"AST":{"nativeSrc":"178427:156:21","nodeType":"YulBlock","src":"178427:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"178448:4:21","nodeType":"YulLiteral","src":"178448:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"178454:2:21","nodeType":"YulIdentifier","src":"178454:2:21"}],"functionName":{"name":"mstore","nativeSrc":"178441:6:21","nodeType":"YulIdentifier","src":"178441:6:21"},"nativeSrc":"178441:16:21","nodeType":"YulFunctionCall","src":"178441:16:21"},"nativeSrc":"178441:16:21","nodeType":"YulExpressionStatement","src":"178441:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178477:4:21","nodeType":"YulLiteral","src":"178477:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"178483:2:21","nodeType":"YulIdentifier","src":"178483:2:21"}],"functionName":{"name":"mstore","nativeSrc":"178470:6:21","nodeType":"YulIdentifier","src":"178470:6:21"},"nativeSrc":"178470:16:21","nodeType":"YulFunctionCall","src":"178470:16:21"},"nativeSrc":"178470:16:21","nodeType":"YulExpressionStatement","src":"178470:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178506:4:21","nodeType":"YulLiteral","src":"178506:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"178512:2:21","nodeType":"YulIdentifier","src":"178512:2:21"}],"functionName":{"name":"mstore","nativeSrc":"178499:6:21","nodeType":"YulIdentifier","src":"178499:6:21"},"nativeSrc":"178499:16:21","nodeType":"YulFunctionCall","src":"178499:16:21"},"nativeSrc":"178499:16:21","nodeType":"YulExpressionStatement","src":"178499:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178535:4:21","nodeType":"YulLiteral","src":"178535:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"178541:2:21","nodeType":"YulIdentifier","src":"178541:2:21"}],"functionName":{"name":"mstore","nativeSrc":"178528:6:21","nodeType":"YulIdentifier","src":"178528:6:21"},"nativeSrc":"178528:16:21","nodeType":"YulFunctionCall","src":"178528:16:21"},"nativeSrc":"178528:16:21","nodeType":"YulExpressionStatement","src":"178528:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178564:4:21","nodeType":"YulLiteral","src":"178564:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"178570:2:21","nodeType":"YulIdentifier","src":"178570:2:21"}],"functionName":{"name":"mstore","nativeSrc":"178557:6:21","nodeType":"YulIdentifier","src":"178557:6:21"},"nativeSrc":"178557:16:21","nodeType":"YulFunctionCall","src":"178557:16:21"},"nativeSrc":"178557:16:21","nodeType":"YulExpressionStatement","src":"178557:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32556,"isOffset":false,"isSlot":false,"src":"178454:2:21","valueSize":1},{"declaration":32559,"isOffset":false,"isSlot":false,"src":"178483:2:21","valueSize":1},{"declaration":32562,"isOffset":false,"isSlot":false,"src":"178512:2:21","valueSize":1},{"declaration":32565,"isOffset":false,"isSlot":false,"src":"178541:2:21","valueSize":1},{"declaration":32568,"isOffset":false,"isSlot":false,"src":"178570:2:21","valueSize":1}],"id":32576,"nodeType":"InlineAssembly","src":"178418:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"177726:3:21","parameters":{"id":32553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32546,"mutability":"mutable","name":"p0","nameLocation":"177735:2:21","nodeType":"VariableDeclaration","scope":32578,"src":"177730:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32545,"name":"bool","nodeType":"ElementaryTypeName","src":"177730:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32548,"mutability":"mutable","name":"p1","nameLocation":"177747:2:21","nodeType":"VariableDeclaration","scope":32578,"src":"177739:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32547,"name":"address","nodeType":"ElementaryTypeName","src":"177739:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32550,"mutability":"mutable","name":"p2","nameLocation":"177759:2:21","nodeType":"VariableDeclaration","scope":32578,"src":"177751:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32549,"name":"uint256","nodeType":"ElementaryTypeName","src":"177751:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32552,"mutability":"mutable","name":"p3","nameLocation":"177771:2:21","nodeType":"VariableDeclaration","scope":32578,"src":"177763:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32551,"name":"address","nodeType":"ElementaryTypeName","src":"177763:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"177729:45:21"},"returnParameters":{"id":32554,"nodeType":"ParameterList","parameters":[],"src":"177789:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32612,"nodeType":"FunctionDefinition","src":"178595:866:21","nodes":[],"body":{"id":32611,"nodeType":"Block","src":"178664:797:21","nodes":[],"statements":[{"assignments":[32590],"declarations":[{"constant":false,"id":32590,"mutability":"mutable","name":"m0","nameLocation":"178682:2:21","nodeType":"VariableDeclaration","scope":32611,"src":"178674:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178674:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32591,"nodeType":"VariableDeclarationStatement","src":"178674:10:21"},{"assignments":[32593],"declarations":[{"constant":false,"id":32593,"mutability":"mutable","name":"m1","nameLocation":"178702:2:21","nodeType":"VariableDeclaration","scope":32611,"src":"178694:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178694:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32594,"nodeType":"VariableDeclarationStatement","src":"178694:10:21"},{"assignments":[32596],"declarations":[{"constant":false,"id":32596,"mutability":"mutable","name":"m2","nameLocation":"178722:2:21","nodeType":"VariableDeclaration","scope":32611,"src":"178714:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178714:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32597,"nodeType":"VariableDeclarationStatement","src":"178714:10:21"},{"assignments":[32599],"declarations":[{"constant":false,"id":32599,"mutability":"mutable","name":"m3","nameLocation":"178742:2:21","nodeType":"VariableDeclaration","scope":32611,"src":"178734:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178734:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32600,"nodeType":"VariableDeclarationStatement","src":"178734:10:21"},{"assignments":[32602],"declarations":[{"constant":false,"id":32602,"mutability":"mutable","name":"m4","nameLocation":"178762:2:21","nodeType":"VariableDeclaration","scope":32611,"src":"178754:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178754:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32603,"nodeType":"VariableDeclarationStatement","src":"178754:10:21"},{"AST":{"nativeSrc":"178826:375:21","nodeType":"YulBlock","src":"178826:375:21","statements":[{"nativeSrc":"178840:17:21","nodeType":"YulAssignment","src":"178840:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"178852:4:21","nodeType":"YulLiteral","src":"178852:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"178846:5:21","nodeType":"YulIdentifier","src":"178846:5:21"},"nativeSrc":"178846:11:21","nodeType":"YulFunctionCall","src":"178846:11:21"},"variableNames":[{"name":"m0","nativeSrc":"178840:2:21","nodeType":"YulIdentifier","src":"178840:2:21"}]},{"nativeSrc":"178870:17:21","nodeType":"YulAssignment","src":"178870:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"178882:4:21","nodeType":"YulLiteral","src":"178882:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"178876:5:21","nodeType":"YulIdentifier","src":"178876:5:21"},"nativeSrc":"178876:11:21","nodeType":"YulFunctionCall","src":"178876:11:21"},"variableNames":[{"name":"m1","nativeSrc":"178870:2:21","nodeType":"YulIdentifier","src":"178870:2:21"}]},{"nativeSrc":"178900:17:21","nodeType":"YulAssignment","src":"178900:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"178912:4:21","nodeType":"YulLiteral","src":"178912:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"178906:5:21","nodeType":"YulIdentifier","src":"178906:5:21"},"nativeSrc":"178906:11:21","nodeType":"YulFunctionCall","src":"178906:11:21"},"variableNames":[{"name":"m2","nativeSrc":"178900:2:21","nodeType":"YulIdentifier","src":"178900:2:21"}]},{"nativeSrc":"178930:17:21","nodeType":"YulAssignment","src":"178930:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"178942:4:21","nodeType":"YulLiteral","src":"178942:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"178936:5:21","nodeType":"YulIdentifier","src":"178936:5:21"},"nativeSrc":"178936:11:21","nodeType":"YulFunctionCall","src":"178936:11:21"},"variableNames":[{"name":"m3","nativeSrc":"178930:2:21","nodeType":"YulIdentifier","src":"178930:2:21"}]},{"nativeSrc":"178960:17:21","nodeType":"YulAssignment","src":"178960:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"178972:4:21","nodeType":"YulLiteral","src":"178972:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"178966:5:21","nodeType":"YulIdentifier","src":"178966:5:21"},"nativeSrc":"178966:11:21","nodeType":"YulFunctionCall","src":"178966:11:21"},"variableNames":[{"name":"m4","nativeSrc":"178960:2:21","nodeType":"YulIdentifier","src":"178960:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179058:4:21","nodeType":"YulLiteral","src":"179058:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"179064:10:21","nodeType":"YulLiteral","src":"179064:10:21","type":"","value":"0xd6019f1c"}],"functionName":{"name":"mstore","nativeSrc":"179051:6:21","nodeType":"YulIdentifier","src":"179051:6:21"},"nativeSrc":"179051:24:21","nodeType":"YulFunctionCall","src":"179051:24:21"},"nativeSrc":"179051:24:21","nodeType":"YulExpressionStatement","src":"179051:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179095:4:21","nodeType":"YulLiteral","src":"179095:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"179101:2:21","nodeType":"YulIdentifier","src":"179101:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179088:6:21","nodeType":"YulIdentifier","src":"179088:6:21"},"nativeSrc":"179088:16:21","nodeType":"YulFunctionCall","src":"179088:16:21"},"nativeSrc":"179088:16:21","nodeType":"YulExpressionStatement","src":"179088:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179124:4:21","nodeType":"YulLiteral","src":"179124:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"179130:2:21","nodeType":"YulIdentifier","src":"179130:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179117:6:21","nodeType":"YulIdentifier","src":"179117:6:21"},"nativeSrc":"179117:16:21","nodeType":"YulFunctionCall","src":"179117:16:21"},"nativeSrc":"179117:16:21","nodeType":"YulExpressionStatement","src":"179117:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179153:4:21","nodeType":"YulLiteral","src":"179153:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"179159:2:21","nodeType":"YulIdentifier","src":"179159:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179146:6:21","nodeType":"YulIdentifier","src":"179146:6:21"},"nativeSrc":"179146:16:21","nodeType":"YulFunctionCall","src":"179146:16:21"},"nativeSrc":"179146:16:21","nodeType":"YulExpressionStatement","src":"179146:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179182:4:21","nodeType":"YulLiteral","src":"179182:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"179188:2:21","nodeType":"YulIdentifier","src":"179188:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179175:6:21","nodeType":"YulIdentifier","src":"179175:6:21"},"nativeSrc":"179175:16:21","nodeType":"YulFunctionCall","src":"179175:16:21"},"nativeSrc":"179175:16:21","nodeType":"YulExpressionStatement","src":"179175:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32590,"isOffset":false,"isSlot":false,"src":"178840:2:21","valueSize":1},{"declaration":32593,"isOffset":false,"isSlot":false,"src":"178870:2:21","valueSize":1},{"declaration":32596,"isOffset":false,"isSlot":false,"src":"178900:2:21","valueSize":1},{"declaration":32599,"isOffset":false,"isSlot":false,"src":"178930:2:21","valueSize":1},{"declaration":32602,"isOffset":false,"isSlot":false,"src":"178960:2:21","valueSize":1},{"declaration":32580,"isOffset":false,"isSlot":false,"src":"179101:2:21","valueSize":1},{"declaration":32582,"isOffset":false,"isSlot":false,"src":"179130:2:21","valueSize":1},{"declaration":32584,"isOffset":false,"isSlot":false,"src":"179159:2:21","valueSize":1},{"declaration":32586,"isOffset":false,"isSlot":false,"src":"179188:2:21","valueSize":1}],"id":32604,"nodeType":"InlineAssembly","src":"178817:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"179226:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"179232:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32605,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"179210:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"179210:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32609,"nodeType":"ExpressionStatement","src":"179210:27:21"},{"AST":{"nativeSrc":"179299:156:21","nodeType":"YulBlock","src":"179299:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"179320:4:21","nodeType":"YulLiteral","src":"179320:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"179326:2:21","nodeType":"YulIdentifier","src":"179326:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179313:6:21","nodeType":"YulIdentifier","src":"179313:6:21"},"nativeSrc":"179313:16:21","nodeType":"YulFunctionCall","src":"179313:16:21"},"nativeSrc":"179313:16:21","nodeType":"YulExpressionStatement","src":"179313:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179349:4:21","nodeType":"YulLiteral","src":"179349:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"179355:2:21","nodeType":"YulIdentifier","src":"179355:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179342:6:21","nodeType":"YulIdentifier","src":"179342:6:21"},"nativeSrc":"179342:16:21","nodeType":"YulFunctionCall","src":"179342:16:21"},"nativeSrc":"179342:16:21","nodeType":"YulExpressionStatement","src":"179342:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179378:4:21","nodeType":"YulLiteral","src":"179378:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"179384:2:21","nodeType":"YulIdentifier","src":"179384:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179371:6:21","nodeType":"YulIdentifier","src":"179371:6:21"},"nativeSrc":"179371:16:21","nodeType":"YulFunctionCall","src":"179371:16:21"},"nativeSrc":"179371:16:21","nodeType":"YulExpressionStatement","src":"179371:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179407:4:21","nodeType":"YulLiteral","src":"179407:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"179413:2:21","nodeType":"YulIdentifier","src":"179413:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179400:6:21","nodeType":"YulIdentifier","src":"179400:6:21"},"nativeSrc":"179400:16:21","nodeType":"YulFunctionCall","src":"179400:16:21"},"nativeSrc":"179400:16:21","nodeType":"YulExpressionStatement","src":"179400:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179436:4:21","nodeType":"YulLiteral","src":"179436:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"179442:2:21","nodeType":"YulIdentifier","src":"179442:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179429:6:21","nodeType":"YulIdentifier","src":"179429:6:21"},"nativeSrc":"179429:16:21","nodeType":"YulFunctionCall","src":"179429:16:21"},"nativeSrc":"179429:16:21","nodeType":"YulExpressionStatement","src":"179429:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32590,"isOffset":false,"isSlot":false,"src":"179326:2:21","valueSize":1},{"declaration":32593,"isOffset":false,"isSlot":false,"src":"179355:2:21","valueSize":1},{"declaration":32596,"isOffset":false,"isSlot":false,"src":"179384:2:21","valueSize":1},{"declaration":32599,"isOffset":false,"isSlot":false,"src":"179413:2:21","valueSize":1},{"declaration":32602,"isOffset":false,"isSlot":false,"src":"179442:2:21","valueSize":1}],"id":32610,"nodeType":"InlineAssembly","src":"179290:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"178604:3:21","parameters":{"id":32587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32580,"mutability":"mutable","name":"p0","nameLocation":"178613:2:21","nodeType":"VariableDeclaration","scope":32612,"src":"178608:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32579,"name":"bool","nodeType":"ElementaryTypeName","src":"178608:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32582,"mutability":"mutable","name":"p1","nameLocation":"178625:2:21","nodeType":"VariableDeclaration","scope":32612,"src":"178617:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32581,"name":"address","nodeType":"ElementaryTypeName","src":"178617:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32584,"mutability":"mutable","name":"p2","nameLocation":"178637:2:21","nodeType":"VariableDeclaration","scope":32612,"src":"178629:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32583,"name":"uint256","nodeType":"ElementaryTypeName","src":"178629:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32586,"mutability":"mutable","name":"p3","nameLocation":"178646:2:21","nodeType":"VariableDeclaration","scope":32612,"src":"178641:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32585,"name":"bool","nodeType":"ElementaryTypeName","src":"178641:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"178607:42:21"},"returnParameters":{"id":32588,"nodeType":"ParameterList","parameters":[],"src":"178664:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32646,"nodeType":"FunctionDefinition","src":"179467:872:21","nodes":[],"body":{"id":32645,"nodeType":"Block","src":"179539:800:21","nodes":[],"statements":[{"assignments":[32624],"declarations":[{"constant":false,"id":32624,"mutability":"mutable","name":"m0","nameLocation":"179557:2:21","nodeType":"VariableDeclaration","scope":32645,"src":"179549:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179549:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32625,"nodeType":"VariableDeclarationStatement","src":"179549:10:21"},{"assignments":[32627],"declarations":[{"constant":false,"id":32627,"mutability":"mutable","name":"m1","nameLocation":"179577:2:21","nodeType":"VariableDeclaration","scope":32645,"src":"179569:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179569:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32628,"nodeType":"VariableDeclarationStatement","src":"179569:10:21"},{"assignments":[32630],"declarations":[{"constant":false,"id":32630,"mutability":"mutable","name":"m2","nameLocation":"179597:2:21","nodeType":"VariableDeclaration","scope":32645,"src":"179589:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179589:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32631,"nodeType":"VariableDeclarationStatement","src":"179589:10:21"},{"assignments":[32633],"declarations":[{"constant":false,"id":32633,"mutability":"mutable","name":"m3","nameLocation":"179617:2:21","nodeType":"VariableDeclaration","scope":32645,"src":"179609:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179609:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32634,"nodeType":"VariableDeclarationStatement","src":"179609:10:21"},{"assignments":[32636],"declarations":[{"constant":false,"id":32636,"mutability":"mutable","name":"m4","nameLocation":"179637:2:21","nodeType":"VariableDeclaration","scope":32645,"src":"179629:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179629:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32637,"nodeType":"VariableDeclarationStatement","src":"179629:10:21"},{"AST":{"nativeSrc":"179701:378:21","nodeType":"YulBlock","src":"179701:378:21","statements":[{"nativeSrc":"179715:17:21","nodeType":"YulAssignment","src":"179715:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"179727:4:21","nodeType":"YulLiteral","src":"179727:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"179721:5:21","nodeType":"YulIdentifier","src":"179721:5:21"},"nativeSrc":"179721:11:21","nodeType":"YulFunctionCall","src":"179721:11:21"},"variableNames":[{"name":"m0","nativeSrc":"179715:2:21","nodeType":"YulIdentifier","src":"179715:2:21"}]},{"nativeSrc":"179745:17:21","nodeType":"YulAssignment","src":"179745:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"179757:4:21","nodeType":"YulLiteral","src":"179757:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"179751:5:21","nodeType":"YulIdentifier","src":"179751:5:21"},"nativeSrc":"179751:11:21","nodeType":"YulFunctionCall","src":"179751:11:21"},"variableNames":[{"name":"m1","nativeSrc":"179745:2:21","nodeType":"YulIdentifier","src":"179745:2:21"}]},{"nativeSrc":"179775:17:21","nodeType":"YulAssignment","src":"179775:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"179787:4:21","nodeType":"YulLiteral","src":"179787:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"179781:5:21","nodeType":"YulIdentifier","src":"179781:5:21"},"nativeSrc":"179781:11:21","nodeType":"YulFunctionCall","src":"179781:11:21"},"variableNames":[{"name":"m2","nativeSrc":"179775:2:21","nodeType":"YulIdentifier","src":"179775:2:21"}]},{"nativeSrc":"179805:17:21","nodeType":"YulAssignment","src":"179805:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"179817:4:21","nodeType":"YulLiteral","src":"179817:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"179811:5:21","nodeType":"YulIdentifier","src":"179811:5:21"},"nativeSrc":"179811:11:21","nodeType":"YulFunctionCall","src":"179811:11:21"},"variableNames":[{"name":"m3","nativeSrc":"179805:2:21","nodeType":"YulIdentifier","src":"179805:2:21"}]},{"nativeSrc":"179835:17:21","nodeType":"YulAssignment","src":"179835:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"179847:4:21","nodeType":"YulLiteral","src":"179847:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"179841:5:21","nodeType":"YulIdentifier","src":"179841:5:21"},"nativeSrc":"179841:11:21","nodeType":"YulFunctionCall","src":"179841:11:21"},"variableNames":[{"name":"m4","nativeSrc":"179835:2:21","nodeType":"YulIdentifier","src":"179835:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179936:4:21","nodeType":"YulLiteral","src":"179936:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"179942:10:21","nodeType":"YulLiteral","src":"179942:10:21","type":"","value":"0x7bf181a1"}],"functionName":{"name":"mstore","nativeSrc":"179929:6:21","nodeType":"YulIdentifier","src":"179929:6:21"},"nativeSrc":"179929:24:21","nodeType":"YulFunctionCall","src":"179929:24:21"},"nativeSrc":"179929:24:21","nodeType":"YulExpressionStatement","src":"179929:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179973:4:21","nodeType":"YulLiteral","src":"179973:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"179979:2:21","nodeType":"YulIdentifier","src":"179979:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179966:6:21","nodeType":"YulIdentifier","src":"179966:6:21"},"nativeSrc":"179966:16:21","nodeType":"YulFunctionCall","src":"179966:16:21"},"nativeSrc":"179966:16:21","nodeType":"YulExpressionStatement","src":"179966:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180002:4:21","nodeType":"YulLiteral","src":"180002:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"180008:2:21","nodeType":"YulIdentifier","src":"180008:2:21"}],"functionName":{"name":"mstore","nativeSrc":"179995:6:21","nodeType":"YulIdentifier","src":"179995:6:21"},"nativeSrc":"179995:16:21","nodeType":"YulFunctionCall","src":"179995:16:21"},"nativeSrc":"179995:16:21","nodeType":"YulExpressionStatement","src":"179995:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180031:4:21","nodeType":"YulLiteral","src":"180031:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"180037:2:21","nodeType":"YulIdentifier","src":"180037:2:21"}],"functionName":{"name":"mstore","nativeSrc":"180024:6:21","nodeType":"YulIdentifier","src":"180024:6:21"},"nativeSrc":"180024:16:21","nodeType":"YulFunctionCall","src":"180024:16:21"},"nativeSrc":"180024:16:21","nodeType":"YulExpressionStatement","src":"180024:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180060:4:21","nodeType":"YulLiteral","src":"180060:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"180066:2:21","nodeType":"YulIdentifier","src":"180066:2:21"}],"functionName":{"name":"mstore","nativeSrc":"180053:6:21","nodeType":"YulIdentifier","src":"180053:6:21"},"nativeSrc":"180053:16:21","nodeType":"YulFunctionCall","src":"180053:16:21"},"nativeSrc":"180053:16:21","nodeType":"YulExpressionStatement","src":"180053:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32624,"isOffset":false,"isSlot":false,"src":"179715:2:21","valueSize":1},{"declaration":32627,"isOffset":false,"isSlot":false,"src":"179745:2:21","valueSize":1},{"declaration":32630,"isOffset":false,"isSlot":false,"src":"179775:2:21","valueSize":1},{"declaration":32633,"isOffset":false,"isSlot":false,"src":"179805:2:21","valueSize":1},{"declaration":32636,"isOffset":false,"isSlot":false,"src":"179835:2:21","valueSize":1},{"declaration":32614,"isOffset":false,"isSlot":false,"src":"179979:2:21","valueSize":1},{"declaration":32616,"isOffset":false,"isSlot":false,"src":"180008:2:21","valueSize":1},{"declaration":32618,"isOffset":false,"isSlot":false,"src":"180037:2:21","valueSize":1},{"declaration":32620,"isOffset":false,"isSlot":false,"src":"180066:2:21","valueSize":1}],"id":32638,"nodeType":"InlineAssembly","src":"179692:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"180104:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"180110:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32639,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"180088:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"180088:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32643,"nodeType":"ExpressionStatement","src":"180088:27:21"},{"AST":{"nativeSrc":"180177:156:21","nodeType":"YulBlock","src":"180177:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"180198:4:21","nodeType":"YulLiteral","src":"180198:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"180204:2:21","nodeType":"YulIdentifier","src":"180204:2:21"}],"functionName":{"name":"mstore","nativeSrc":"180191:6:21","nodeType":"YulIdentifier","src":"180191:6:21"},"nativeSrc":"180191:16:21","nodeType":"YulFunctionCall","src":"180191:16:21"},"nativeSrc":"180191:16:21","nodeType":"YulExpressionStatement","src":"180191:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180227:4:21","nodeType":"YulLiteral","src":"180227:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"180233:2:21","nodeType":"YulIdentifier","src":"180233:2:21"}],"functionName":{"name":"mstore","nativeSrc":"180220:6:21","nodeType":"YulIdentifier","src":"180220:6:21"},"nativeSrc":"180220:16:21","nodeType":"YulFunctionCall","src":"180220:16:21"},"nativeSrc":"180220:16:21","nodeType":"YulExpressionStatement","src":"180220:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180256:4:21","nodeType":"YulLiteral","src":"180256:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"180262:2:21","nodeType":"YulIdentifier","src":"180262:2:21"}],"functionName":{"name":"mstore","nativeSrc":"180249:6:21","nodeType":"YulIdentifier","src":"180249:6:21"},"nativeSrc":"180249:16:21","nodeType":"YulFunctionCall","src":"180249:16:21"},"nativeSrc":"180249:16:21","nodeType":"YulExpressionStatement","src":"180249:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180285:4:21","nodeType":"YulLiteral","src":"180285:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"180291:2:21","nodeType":"YulIdentifier","src":"180291:2:21"}],"functionName":{"name":"mstore","nativeSrc":"180278:6:21","nodeType":"YulIdentifier","src":"180278:6:21"},"nativeSrc":"180278:16:21","nodeType":"YulFunctionCall","src":"180278:16:21"},"nativeSrc":"180278:16:21","nodeType":"YulExpressionStatement","src":"180278:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180314:4:21","nodeType":"YulLiteral","src":"180314:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"180320:2:21","nodeType":"YulIdentifier","src":"180320:2:21"}],"functionName":{"name":"mstore","nativeSrc":"180307:6:21","nodeType":"YulIdentifier","src":"180307:6:21"},"nativeSrc":"180307:16:21","nodeType":"YulFunctionCall","src":"180307:16:21"},"nativeSrc":"180307:16:21","nodeType":"YulExpressionStatement","src":"180307:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32624,"isOffset":false,"isSlot":false,"src":"180204:2:21","valueSize":1},{"declaration":32627,"isOffset":false,"isSlot":false,"src":"180233:2:21","valueSize":1},{"declaration":32630,"isOffset":false,"isSlot":false,"src":"180262:2:21","valueSize":1},{"declaration":32633,"isOffset":false,"isSlot":false,"src":"180291:2:21","valueSize":1},{"declaration":32636,"isOffset":false,"isSlot":false,"src":"180320:2:21","valueSize":1}],"id":32644,"nodeType":"InlineAssembly","src":"180168:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"179476:3:21","parameters":{"id":32621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32614,"mutability":"mutable","name":"p0","nameLocation":"179485:2:21","nodeType":"VariableDeclaration","scope":32646,"src":"179480:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32613,"name":"bool","nodeType":"ElementaryTypeName","src":"179480:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32616,"mutability":"mutable","name":"p1","nameLocation":"179497:2:21","nodeType":"VariableDeclaration","scope":32646,"src":"179489:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32615,"name":"address","nodeType":"ElementaryTypeName","src":"179489:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32618,"mutability":"mutable","name":"p2","nameLocation":"179509:2:21","nodeType":"VariableDeclaration","scope":32646,"src":"179501:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32617,"name":"uint256","nodeType":"ElementaryTypeName","src":"179501:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32620,"mutability":"mutable","name":"p3","nameLocation":"179521:2:21","nodeType":"VariableDeclaration","scope":32646,"src":"179513:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32619,"name":"uint256","nodeType":"ElementaryTypeName","src":"179513:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"179479:45:21"},"returnParameters":{"id":32622,"nodeType":"ParameterList","parameters":[],"src":"179539:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32686,"nodeType":"FunctionDefinition","src":"180345:1420:21","nodes":[],"body":{"id":32685,"nodeType":"Block","src":"180417:1348:21","nodes":[],"statements":[{"assignments":[32658],"declarations":[{"constant":false,"id":32658,"mutability":"mutable","name":"m0","nameLocation":"180435:2:21","nodeType":"VariableDeclaration","scope":32685,"src":"180427:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180427:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32659,"nodeType":"VariableDeclarationStatement","src":"180427:10:21"},{"assignments":[32661],"declarations":[{"constant":false,"id":32661,"mutability":"mutable","name":"m1","nameLocation":"180455:2:21","nodeType":"VariableDeclaration","scope":32685,"src":"180447:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32660,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180447:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32662,"nodeType":"VariableDeclarationStatement","src":"180447:10:21"},{"assignments":[32664],"declarations":[{"constant":false,"id":32664,"mutability":"mutable","name":"m2","nameLocation":"180475:2:21","nodeType":"VariableDeclaration","scope":32685,"src":"180467:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180467:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32665,"nodeType":"VariableDeclarationStatement","src":"180467:10:21"},{"assignments":[32667],"declarations":[{"constant":false,"id":32667,"mutability":"mutable","name":"m3","nameLocation":"180495:2:21","nodeType":"VariableDeclaration","scope":32685,"src":"180487:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180487:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32668,"nodeType":"VariableDeclarationStatement","src":"180487:10:21"},{"assignments":[32670],"declarations":[{"constant":false,"id":32670,"mutability":"mutable","name":"m4","nameLocation":"180515:2:21","nodeType":"VariableDeclaration","scope":32685,"src":"180507:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180507:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32671,"nodeType":"VariableDeclarationStatement","src":"180507:10:21"},{"assignments":[32673],"declarations":[{"constant":false,"id":32673,"mutability":"mutable","name":"m5","nameLocation":"180535:2:21","nodeType":"VariableDeclaration","scope":32685,"src":"180527:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32672,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180527:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32674,"nodeType":"VariableDeclarationStatement","src":"180527:10:21"},{"assignments":[32676],"declarations":[{"constant":false,"id":32676,"mutability":"mutable","name":"m6","nameLocation":"180555:2:21","nodeType":"VariableDeclaration","scope":32685,"src":"180547:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180547:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32677,"nodeType":"VariableDeclarationStatement","src":"180547:10:21"},{"AST":{"nativeSrc":"180619:828:21","nodeType":"YulBlock","src":"180619:828:21","statements":[{"body":{"nativeSrc":"180662:313:21","nodeType":"YulBlock","src":"180662:313:21","statements":[{"nativeSrc":"180680:15:21","nodeType":"YulVariableDeclaration","src":"180680:15:21","value":{"kind":"number","nativeSrc":"180694:1:21","nodeType":"YulLiteral","src":"180694:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"180684:6:21","nodeType":"YulTypedName","src":"180684:6:21","type":""}]},{"body":{"nativeSrc":"180765:40:21","nodeType":"YulBlock","src":"180765:40:21","statements":[{"body":{"nativeSrc":"180794:9:21","nodeType":"YulBlock","src":"180794:9:21","statements":[{"nativeSrc":"180796:5:21","nodeType":"YulBreak","src":"180796:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"180782:6:21","nodeType":"YulIdentifier","src":"180782:6:21"},{"name":"w","nativeSrc":"180790:1:21","nodeType":"YulIdentifier","src":"180790:1:21"}],"functionName":{"name":"byte","nativeSrc":"180777:4:21","nodeType":"YulIdentifier","src":"180777:4:21"},"nativeSrc":"180777:15:21","nodeType":"YulFunctionCall","src":"180777:15:21"}],"functionName":{"name":"iszero","nativeSrc":"180770:6:21","nodeType":"YulIdentifier","src":"180770:6:21"},"nativeSrc":"180770:23:21","nodeType":"YulFunctionCall","src":"180770:23:21"},"nativeSrc":"180767:36:21","nodeType":"YulIf","src":"180767:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"180722:6:21","nodeType":"YulIdentifier","src":"180722:6:21"},{"kind":"number","nativeSrc":"180730:4:21","nodeType":"YulLiteral","src":"180730:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"180719:2:21","nodeType":"YulIdentifier","src":"180719:2:21"},"nativeSrc":"180719:16:21","nodeType":"YulFunctionCall","src":"180719:16:21"},"nativeSrc":"180712:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"180736:28:21","nodeType":"YulBlock","src":"180736:28:21","statements":[{"nativeSrc":"180738:24:21","nodeType":"YulAssignment","src":"180738:24:21","value":{"arguments":[{"name":"length","nativeSrc":"180752:6:21","nodeType":"YulIdentifier","src":"180752:6:21"},{"kind":"number","nativeSrc":"180760:1:21","nodeType":"YulLiteral","src":"180760:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"180748:3:21","nodeType":"YulIdentifier","src":"180748:3:21"},"nativeSrc":"180748:14:21","nodeType":"YulFunctionCall","src":"180748:14:21"},"variableNames":[{"name":"length","nativeSrc":"180738:6:21","nodeType":"YulIdentifier","src":"180738:6:21"}]}]},"pre":{"nativeSrc":"180716:2:21","nodeType":"YulBlock","src":"180716:2:21","statements":[]},"src":"180712:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"180829:3:21","nodeType":"YulIdentifier","src":"180829:3:21"},{"name":"length","nativeSrc":"180834:6:21","nodeType":"YulIdentifier","src":"180834:6:21"}],"functionName":{"name":"mstore","nativeSrc":"180822:6:21","nodeType":"YulIdentifier","src":"180822:6:21"},"nativeSrc":"180822:19:21","nodeType":"YulFunctionCall","src":"180822:19:21"},"nativeSrc":"180822:19:21","nodeType":"YulExpressionStatement","src":"180822:19:21"},{"nativeSrc":"180858:37:21","nodeType":"YulVariableDeclaration","src":"180858:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"180875:3:21","nodeType":"YulLiteral","src":"180875:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"180884:1:21","nodeType":"YulLiteral","src":"180884:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"180887:6:21","nodeType":"YulIdentifier","src":"180887:6:21"}],"functionName":{"name":"shl","nativeSrc":"180880:3:21","nodeType":"YulIdentifier","src":"180880:3:21"},"nativeSrc":"180880:14:21","nodeType":"YulFunctionCall","src":"180880:14:21"}],"functionName":{"name":"sub","nativeSrc":"180871:3:21","nodeType":"YulIdentifier","src":"180871:3:21"},"nativeSrc":"180871:24:21","nodeType":"YulFunctionCall","src":"180871:24:21"},"variables":[{"name":"shift","nativeSrc":"180862:5:21","nodeType":"YulTypedName","src":"180862:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"180923:3:21","nodeType":"YulIdentifier","src":"180923:3:21"},{"kind":"number","nativeSrc":"180928:4:21","nodeType":"YulLiteral","src":"180928:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"180919:3:21","nodeType":"YulIdentifier","src":"180919:3:21"},"nativeSrc":"180919:14:21","nodeType":"YulFunctionCall","src":"180919:14:21"},{"arguments":[{"name":"shift","nativeSrc":"180939:5:21","nodeType":"YulIdentifier","src":"180939:5:21"},{"arguments":[{"name":"shift","nativeSrc":"180950:5:21","nodeType":"YulIdentifier","src":"180950:5:21"},{"name":"w","nativeSrc":"180957:1:21","nodeType":"YulIdentifier","src":"180957:1:21"}],"functionName":{"name":"shr","nativeSrc":"180946:3:21","nodeType":"YulIdentifier","src":"180946:3:21"},"nativeSrc":"180946:13:21","nodeType":"YulFunctionCall","src":"180946:13:21"}],"functionName":{"name":"shl","nativeSrc":"180935:3:21","nodeType":"YulIdentifier","src":"180935:3:21"},"nativeSrc":"180935:25:21","nodeType":"YulFunctionCall","src":"180935:25:21"}],"functionName":{"name":"mstore","nativeSrc":"180912:6:21","nodeType":"YulIdentifier","src":"180912:6:21"},"nativeSrc":"180912:49:21","nodeType":"YulFunctionCall","src":"180912:49:21"},"nativeSrc":"180912:49:21","nodeType":"YulExpressionStatement","src":"180912:49:21"}]},"name":"writeString","nativeSrc":"180633:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"180654:3:21","nodeType":"YulTypedName","src":"180654:3:21","type":""},{"name":"w","nativeSrc":"180659:1:21","nodeType":"YulTypedName","src":"180659:1:21","type":""}],"src":"180633:342:21"},{"nativeSrc":"180988:17:21","nodeType":"YulAssignment","src":"180988:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"181000:4:21","nodeType":"YulLiteral","src":"181000:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"180994:5:21","nodeType":"YulIdentifier","src":"180994:5:21"},"nativeSrc":"180994:11:21","nodeType":"YulFunctionCall","src":"180994:11:21"},"variableNames":[{"name":"m0","nativeSrc":"180988:2:21","nodeType":"YulIdentifier","src":"180988:2:21"}]},{"nativeSrc":"181018:17:21","nodeType":"YulAssignment","src":"181018:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"181030:4:21","nodeType":"YulLiteral","src":"181030:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"181024:5:21","nodeType":"YulIdentifier","src":"181024:5:21"},"nativeSrc":"181024:11:21","nodeType":"YulFunctionCall","src":"181024:11:21"},"variableNames":[{"name":"m1","nativeSrc":"181018:2:21","nodeType":"YulIdentifier","src":"181018:2:21"}]},{"nativeSrc":"181048:17:21","nodeType":"YulAssignment","src":"181048:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"181060:4:21","nodeType":"YulLiteral","src":"181060:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"181054:5:21","nodeType":"YulIdentifier","src":"181054:5:21"},"nativeSrc":"181054:11:21","nodeType":"YulFunctionCall","src":"181054:11:21"},"variableNames":[{"name":"m2","nativeSrc":"181048:2:21","nodeType":"YulIdentifier","src":"181048:2:21"}]},{"nativeSrc":"181078:17:21","nodeType":"YulAssignment","src":"181078:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"181090:4:21","nodeType":"YulLiteral","src":"181090:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"181084:5:21","nodeType":"YulIdentifier","src":"181084:5:21"},"nativeSrc":"181084:11:21","nodeType":"YulFunctionCall","src":"181084:11:21"},"variableNames":[{"name":"m3","nativeSrc":"181078:2:21","nodeType":"YulIdentifier","src":"181078:2:21"}]},{"nativeSrc":"181108:17:21","nodeType":"YulAssignment","src":"181108:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"181120:4:21","nodeType":"YulLiteral","src":"181120:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"181114:5:21","nodeType":"YulIdentifier","src":"181114:5:21"},"nativeSrc":"181114:11:21","nodeType":"YulFunctionCall","src":"181114:11:21"},"variableNames":[{"name":"m4","nativeSrc":"181108:2:21","nodeType":"YulIdentifier","src":"181108:2:21"}]},{"nativeSrc":"181138:17:21","nodeType":"YulAssignment","src":"181138:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"181150:4:21","nodeType":"YulLiteral","src":"181150:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"181144:5:21","nodeType":"YulIdentifier","src":"181144:5:21"},"nativeSrc":"181144:11:21","nodeType":"YulFunctionCall","src":"181144:11:21"},"variableNames":[{"name":"m5","nativeSrc":"181138:2:21","nodeType":"YulIdentifier","src":"181138:2:21"}]},{"nativeSrc":"181168:17:21","nodeType":"YulAssignment","src":"181168:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"181180:4:21","nodeType":"YulLiteral","src":"181180:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"181174:5:21","nodeType":"YulIdentifier","src":"181174:5:21"},"nativeSrc":"181174:11:21","nodeType":"YulFunctionCall","src":"181174:11:21"},"variableNames":[{"name":"m6","nativeSrc":"181168:2:21","nodeType":"YulIdentifier","src":"181168:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181268:4:21","nodeType":"YulLiteral","src":"181268:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"181274:10:21","nodeType":"YulLiteral","src":"181274:10:21","type":"","value":"0x51f09ff8"}],"functionName":{"name":"mstore","nativeSrc":"181261:6:21","nodeType":"YulIdentifier","src":"181261:6:21"},"nativeSrc":"181261:24:21","nodeType":"YulFunctionCall","src":"181261:24:21"},"nativeSrc":"181261:24:21","nodeType":"YulExpressionStatement","src":"181261:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181305:4:21","nodeType":"YulLiteral","src":"181305:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"181311:2:21","nodeType":"YulIdentifier","src":"181311:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181298:6:21","nodeType":"YulIdentifier","src":"181298:6:21"},"nativeSrc":"181298:16:21","nodeType":"YulFunctionCall","src":"181298:16:21"},"nativeSrc":"181298:16:21","nodeType":"YulExpressionStatement","src":"181298:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181334:4:21","nodeType":"YulLiteral","src":"181334:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"181340:2:21","nodeType":"YulIdentifier","src":"181340:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181327:6:21","nodeType":"YulIdentifier","src":"181327:6:21"},"nativeSrc":"181327:16:21","nodeType":"YulFunctionCall","src":"181327:16:21"},"nativeSrc":"181327:16:21","nodeType":"YulExpressionStatement","src":"181327:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181363:4:21","nodeType":"YulLiteral","src":"181363:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"181369:2:21","nodeType":"YulIdentifier","src":"181369:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181356:6:21","nodeType":"YulIdentifier","src":"181356:6:21"},"nativeSrc":"181356:16:21","nodeType":"YulFunctionCall","src":"181356:16:21"},"nativeSrc":"181356:16:21","nodeType":"YulExpressionStatement","src":"181356:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181392:4:21","nodeType":"YulLiteral","src":"181392:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"181398:4:21","nodeType":"YulLiteral","src":"181398:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"181385:6:21","nodeType":"YulIdentifier","src":"181385:6:21"},"nativeSrc":"181385:18:21","nodeType":"YulFunctionCall","src":"181385:18:21"},"nativeSrc":"181385:18:21","nodeType":"YulExpressionStatement","src":"181385:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181428:4:21","nodeType":"YulLiteral","src":"181428:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"181434:2:21","nodeType":"YulIdentifier","src":"181434:2:21"}],"functionName":{"name":"writeString","nativeSrc":"181416:11:21","nodeType":"YulIdentifier","src":"181416:11:21"},"nativeSrc":"181416:21:21","nodeType":"YulFunctionCall","src":"181416:21:21"},"nativeSrc":"181416:21:21","nodeType":"YulExpressionStatement","src":"181416:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32658,"isOffset":false,"isSlot":false,"src":"180988:2:21","valueSize":1},{"declaration":32661,"isOffset":false,"isSlot":false,"src":"181018:2:21","valueSize":1},{"declaration":32664,"isOffset":false,"isSlot":false,"src":"181048:2:21","valueSize":1},{"declaration":32667,"isOffset":false,"isSlot":false,"src":"181078:2:21","valueSize":1},{"declaration":32670,"isOffset":false,"isSlot":false,"src":"181108:2:21","valueSize":1},{"declaration":32673,"isOffset":false,"isSlot":false,"src":"181138:2:21","valueSize":1},{"declaration":32676,"isOffset":false,"isSlot":false,"src":"181168:2:21","valueSize":1},{"declaration":32648,"isOffset":false,"isSlot":false,"src":"181311:2:21","valueSize":1},{"declaration":32650,"isOffset":false,"isSlot":false,"src":"181340:2:21","valueSize":1},{"declaration":32652,"isOffset":false,"isSlot":false,"src":"181369:2:21","valueSize":1},{"declaration":32654,"isOffset":false,"isSlot":false,"src":"181434:2:21","valueSize":1}],"id":32678,"nodeType":"InlineAssembly","src":"180610:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"181472:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"181478:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32679,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"181456:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"181456:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32683,"nodeType":"ExpressionStatement","src":"181456:27:21"},{"AST":{"nativeSrc":"181545:214:21","nodeType":"YulBlock","src":"181545:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"181566:4:21","nodeType":"YulLiteral","src":"181566:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"181572:2:21","nodeType":"YulIdentifier","src":"181572:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181559:6:21","nodeType":"YulIdentifier","src":"181559:6:21"},"nativeSrc":"181559:16:21","nodeType":"YulFunctionCall","src":"181559:16:21"},"nativeSrc":"181559:16:21","nodeType":"YulExpressionStatement","src":"181559:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181595:4:21","nodeType":"YulLiteral","src":"181595:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"181601:2:21","nodeType":"YulIdentifier","src":"181601:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181588:6:21","nodeType":"YulIdentifier","src":"181588:6:21"},"nativeSrc":"181588:16:21","nodeType":"YulFunctionCall","src":"181588:16:21"},"nativeSrc":"181588:16:21","nodeType":"YulExpressionStatement","src":"181588:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181624:4:21","nodeType":"YulLiteral","src":"181624:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"181630:2:21","nodeType":"YulIdentifier","src":"181630:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181617:6:21","nodeType":"YulIdentifier","src":"181617:6:21"},"nativeSrc":"181617:16:21","nodeType":"YulFunctionCall","src":"181617:16:21"},"nativeSrc":"181617:16:21","nodeType":"YulExpressionStatement","src":"181617:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181653:4:21","nodeType":"YulLiteral","src":"181653:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"181659:2:21","nodeType":"YulIdentifier","src":"181659:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181646:6:21","nodeType":"YulIdentifier","src":"181646:6:21"},"nativeSrc":"181646:16:21","nodeType":"YulFunctionCall","src":"181646:16:21"},"nativeSrc":"181646:16:21","nodeType":"YulExpressionStatement","src":"181646:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181682:4:21","nodeType":"YulLiteral","src":"181682:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"181688:2:21","nodeType":"YulIdentifier","src":"181688:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181675:6:21","nodeType":"YulIdentifier","src":"181675:6:21"},"nativeSrc":"181675:16:21","nodeType":"YulFunctionCall","src":"181675:16:21"},"nativeSrc":"181675:16:21","nodeType":"YulExpressionStatement","src":"181675:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181711:4:21","nodeType":"YulLiteral","src":"181711:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"181717:2:21","nodeType":"YulIdentifier","src":"181717:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181704:6:21","nodeType":"YulIdentifier","src":"181704:6:21"},"nativeSrc":"181704:16:21","nodeType":"YulFunctionCall","src":"181704:16:21"},"nativeSrc":"181704:16:21","nodeType":"YulExpressionStatement","src":"181704:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181740:4:21","nodeType":"YulLiteral","src":"181740:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"181746:2:21","nodeType":"YulIdentifier","src":"181746:2:21"}],"functionName":{"name":"mstore","nativeSrc":"181733:6:21","nodeType":"YulIdentifier","src":"181733:6:21"},"nativeSrc":"181733:16:21","nodeType":"YulFunctionCall","src":"181733:16:21"},"nativeSrc":"181733:16:21","nodeType":"YulExpressionStatement","src":"181733:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32658,"isOffset":false,"isSlot":false,"src":"181572:2:21","valueSize":1},{"declaration":32661,"isOffset":false,"isSlot":false,"src":"181601:2:21","valueSize":1},{"declaration":32664,"isOffset":false,"isSlot":false,"src":"181630:2:21","valueSize":1},{"declaration":32667,"isOffset":false,"isSlot":false,"src":"181659:2:21","valueSize":1},{"declaration":32670,"isOffset":false,"isSlot":false,"src":"181688:2:21","valueSize":1},{"declaration":32673,"isOffset":false,"isSlot":false,"src":"181717:2:21","valueSize":1},{"declaration":32676,"isOffset":false,"isSlot":false,"src":"181746:2:21","valueSize":1}],"id":32684,"nodeType":"InlineAssembly","src":"181536:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"180354:3:21","parameters":{"id":32655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32648,"mutability":"mutable","name":"p0","nameLocation":"180363:2:21","nodeType":"VariableDeclaration","scope":32686,"src":"180358:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32647,"name":"bool","nodeType":"ElementaryTypeName","src":"180358:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32650,"mutability":"mutable","name":"p1","nameLocation":"180375:2:21","nodeType":"VariableDeclaration","scope":32686,"src":"180367:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32649,"name":"address","nodeType":"ElementaryTypeName","src":"180367:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32652,"mutability":"mutable","name":"p2","nameLocation":"180387:2:21","nodeType":"VariableDeclaration","scope":32686,"src":"180379:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32651,"name":"uint256","nodeType":"ElementaryTypeName","src":"180379:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32654,"mutability":"mutable","name":"p3","nameLocation":"180399:2:21","nodeType":"VariableDeclaration","scope":32686,"src":"180391:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32653,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180391:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"180357:45:21"},"returnParameters":{"id":32656,"nodeType":"ParameterList","parameters":[],"src":"180417:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32726,"nodeType":"FunctionDefinition","src":"181771:1420:21","nodes":[],"body":{"id":32725,"nodeType":"Block","src":"181843:1348:21","nodes":[],"statements":[{"assignments":[32698],"declarations":[{"constant":false,"id":32698,"mutability":"mutable","name":"m0","nameLocation":"181861:2:21","nodeType":"VariableDeclaration","scope":32725,"src":"181853:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181853:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32699,"nodeType":"VariableDeclarationStatement","src":"181853:10:21"},{"assignments":[32701],"declarations":[{"constant":false,"id":32701,"mutability":"mutable","name":"m1","nameLocation":"181881:2:21","nodeType":"VariableDeclaration","scope":32725,"src":"181873:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181873:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32702,"nodeType":"VariableDeclarationStatement","src":"181873:10:21"},{"assignments":[32704],"declarations":[{"constant":false,"id":32704,"mutability":"mutable","name":"m2","nameLocation":"181901:2:21","nodeType":"VariableDeclaration","scope":32725,"src":"181893:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181893:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32705,"nodeType":"VariableDeclarationStatement","src":"181893:10:21"},{"assignments":[32707],"declarations":[{"constant":false,"id":32707,"mutability":"mutable","name":"m3","nameLocation":"181921:2:21","nodeType":"VariableDeclaration","scope":32725,"src":"181913:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181913:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32708,"nodeType":"VariableDeclarationStatement","src":"181913:10:21"},{"assignments":[32710],"declarations":[{"constant":false,"id":32710,"mutability":"mutable","name":"m4","nameLocation":"181941:2:21","nodeType":"VariableDeclaration","scope":32725,"src":"181933:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181933:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32711,"nodeType":"VariableDeclarationStatement","src":"181933:10:21"},{"assignments":[32713],"declarations":[{"constant":false,"id":32713,"mutability":"mutable","name":"m5","nameLocation":"181961:2:21","nodeType":"VariableDeclaration","scope":32725,"src":"181953:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181953:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32714,"nodeType":"VariableDeclarationStatement","src":"181953:10:21"},{"assignments":[32716],"declarations":[{"constant":false,"id":32716,"mutability":"mutable","name":"m6","nameLocation":"181981:2:21","nodeType":"VariableDeclaration","scope":32725,"src":"181973:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32715,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181973:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32717,"nodeType":"VariableDeclarationStatement","src":"181973:10:21"},{"AST":{"nativeSrc":"182045:828:21","nodeType":"YulBlock","src":"182045:828:21","statements":[{"body":{"nativeSrc":"182088:313:21","nodeType":"YulBlock","src":"182088:313:21","statements":[{"nativeSrc":"182106:15:21","nodeType":"YulVariableDeclaration","src":"182106:15:21","value":{"kind":"number","nativeSrc":"182120:1:21","nodeType":"YulLiteral","src":"182120:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"182110:6:21","nodeType":"YulTypedName","src":"182110:6:21","type":""}]},{"body":{"nativeSrc":"182191:40:21","nodeType":"YulBlock","src":"182191:40:21","statements":[{"body":{"nativeSrc":"182220:9:21","nodeType":"YulBlock","src":"182220:9:21","statements":[{"nativeSrc":"182222:5:21","nodeType":"YulBreak","src":"182222:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"182208:6:21","nodeType":"YulIdentifier","src":"182208:6:21"},{"name":"w","nativeSrc":"182216:1:21","nodeType":"YulIdentifier","src":"182216:1:21"}],"functionName":{"name":"byte","nativeSrc":"182203:4:21","nodeType":"YulIdentifier","src":"182203:4:21"},"nativeSrc":"182203:15:21","nodeType":"YulFunctionCall","src":"182203:15:21"}],"functionName":{"name":"iszero","nativeSrc":"182196:6:21","nodeType":"YulIdentifier","src":"182196:6:21"},"nativeSrc":"182196:23:21","nodeType":"YulFunctionCall","src":"182196:23:21"},"nativeSrc":"182193:36:21","nodeType":"YulIf","src":"182193:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"182148:6:21","nodeType":"YulIdentifier","src":"182148:6:21"},{"kind":"number","nativeSrc":"182156:4:21","nodeType":"YulLiteral","src":"182156:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"182145:2:21","nodeType":"YulIdentifier","src":"182145:2:21"},"nativeSrc":"182145:16:21","nodeType":"YulFunctionCall","src":"182145:16:21"},"nativeSrc":"182138:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"182162:28:21","nodeType":"YulBlock","src":"182162:28:21","statements":[{"nativeSrc":"182164:24:21","nodeType":"YulAssignment","src":"182164:24:21","value":{"arguments":[{"name":"length","nativeSrc":"182178:6:21","nodeType":"YulIdentifier","src":"182178:6:21"},{"kind":"number","nativeSrc":"182186:1:21","nodeType":"YulLiteral","src":"182186:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"182174:3:21","nodeType":"YulIdentifier","src":"182174:3:21"},"nativeSrc":"182174:14:21","nodeType":"YulFunctionCall","src":"182174:14:21"},"variableNames":[{"name":"length","nativeSrc":"182164:6:21","nodeType":"YulIdentifier","src":"182164:6:21"}]}]},"pre":{"nativeSrc":"182142:2:21","nodeType":"YulBlock","src":"182142:2:21","statements":[]},"src":"182138:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"182255:3:21","nodeType":"YulIdentifier","src":"182255:3:21"},{"name":"length","nativeSrc":"182260:6:21","nodeType":"YulIdentifier","src":"182260:6:21"}],"functionName":{"name":"mstore","nativeSrc":"182248:6:21","nodeType":"YulIdentifier","src":"182248:6:21"},"nativeSrc":"182248:19:21","nodeType":"YulFunctionCall","src":"182248:19:21"},"nativeSrc":"182248:19:21","nodeType":"YulExpressionStatement","src":"182248:19:21"},{"nativeSrc":"182284:37:21","nodeType":"YulVariableDeclaration","src":"182284:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"182301:3:21","nodeType":"YulLiteral","src":"182301:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"182310:1:21","nodeType":"YulLiteral","src":"182310:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"182313:6:21","nodeType":"YulIdentifier","src":"182313:6:21"}],"functionName":{"name":"shl","nativeSrc":"182306:3:21","nodeType":"YulIdentifier","src":"182306:3:21"},"nativeSrc":"182306:14:21","nodeType":"YulFunctionCall","src":"182306:14:21"}],"functionName":{"name":"sub","nativeSrc":"182297:3:21","nodeType":"YulIdentifier","src":"182297:3:21"},"nativeSrc":"182297:24:21","nodeType":"YulFunctionCall","src":"182297:24:21"},"variables":[{"name":"shift","nativeSrc":"182288:5:21","nodeType":"YulTypedName","src":"182288:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"182349:3:21","nodeType":"YulIdentifier","src":"182349:3:21"},{"kind":"number","nativeSrc":"182354:4:21","nodeType":"YulLiteral","src":"182354:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"182345:3:21","nodeType":"YulIdentifier","src":"182345:3:21"},"nativeSrc":"182345:14:21","nodeType":"YulFunctionCall","src":"182345:14:21"},{"arguments":[{"name":"shift","nativeSrc":"182365:5:21","nodeType":"YulIdentifier","src":"182365:5:21"},{"arguments":[{"name":"shift","nativeSrc":"182376:5:21","nodeType":"YulIdentifier","src":"182376:5:21"},{"name":"w","nativeSrc":"182383:1:21","nodeType":"YulIdentifier","src":"182383:1:21"}],"functionName":{"name":"shr","nativeSrc":"182372:3:21","nodeType":"YulIdentifier","src":"182372:3:21"},"nativeSrc":"182372:13:21","nodeType":"YulFunctionCall","src":"182372:13:21"}],"functionName":{"name":"shl","nativeSrc":"182361:3:21","nodeType":"YulIdentifier","src":"182361:3:21"},"nativeSrc":"182361:25:21","nodeType":"YulFunctionCall","src":"182361:25:21"}],"functionName":{"name":"mstore","nativeSrc":"182338:6:21","nodeType":"YulIdentifier","src":"182338:6:21"},"nativeSrc":"182338:49:21","nodeType":"YulFunctionCall","src":"182338:49:21"},"nativeSrc":"182338:49:21","nodeType":"YulExpressionStatement","src":"182338:49:21"}]},"name":"writeString","nativeSrc":"182059:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"182080:3:21","nodeType":"YulTypedName","src":"182080:3:21","type":""},{"name":"w","nativeSrc":"182085:1:21","nodeType":"YulTypedName","src":"182085:1:21","type":""}],"src":"182059:342:21"},{"nativeSrc":"182414:17:21","nodeType":"YulAssignment","src":"182414:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"182426:4:21","nodeType":"YulLiteral","src":"182426:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"182420:5:21","nodeType":"YulIdentifier","src":"182420:5:21"},"nativeSrc":"182420:11:21","nodeType":"YulFunctionCall","src":"182420:11:21"},"variableNames":[{"name":"m0","nativeSrc":"182414:2:21","nodeType":"YulIdentifier","src":"182414:2:21"}]},{"nativeSrc":"182444:17:21","nodeType":"YulAssignment","src":"182444:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"182456:4:21","nodeType":"YulLiteral","src":"182456:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"182450:5:21","nodeType":"YulIdentifier","src":"182450:5:21"},"nativeSrc":"182450:11:21","nodeType":"YulFunctionCall","src":"182450:11:21"},"variableNames":[{"name":"m1","nativeSrc":"182444:2:21","nodeType":"YulIdentifier","src":"182444:2:21"}]},{"nativeSrc":"182474:17:21","nodeType":"YulAssignment","src":"182474:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"182486:4:21","nodeType":"YulLiteral","src":"182486:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"182480:5:21","nodeType":"YulIdentifier","src":"182480:5:21"},"nativeSrc":"182480:11:21","nodeType":"YulFunctionCall","src":"182480:11:21"},"variableNames":[{"name":"m2","nativeSrc":"182474:2:21","nodeType":"YulIdentifier","src":"182474:2:21"}]},{"nativeSrc":"182504:17:21","nodeType":"YulAssignment","src":"182504:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"182516:4:21","nodeType":"YulLiteral","src":"182516:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"182510:5:21","nodeType":"YulIdentifier","src":"182510:5:21"},"nativeSrc":"182510:11:21","nodeType":"YulFunctionCall","src":"182510:11:21"},"variableNames":[{"name":"m3","nativeSrc":"182504:2:21","nodeType":"YulIdentifier","src":"182504:2:21"}]},{"nativeSrc":"182534:17:21","nodeType":"YulAssignment","src":"182534:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"182546:4:21","nodeType":"YulLiteral","src":"182546:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"182540:5:21","nodeType":"YulIdentifier","src":"182540:5:21"},"nativeSrc":"182540:11:21","nodeType":"YulFunctionCall","src":"182540:11:21"},"variableNames":[{"name":"m4","nativeSrc":"182534:2:21","nodeType":"YulIdentifier","src":"182534:2:21"}]},{"nativeSrc":"182564:17:21","nodeType":"YulAssignment","src":"182564:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"182576:4:21","nodeType":"YulLiteral","src":"182576:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"182570:5:21","nodeType":"YulIdentifier","src":"182570:5:21"},"nativeSrc":"182570:11:21","nodeType":"YulFunctionCall","src":"182570:11:21"},"variableNames":[{"name":"m5","nativeSrc":"182564:2:21","nodeType":"YulIdentifier","src":"182564:2:21"}]},{"nativeSrc":"182594:17:21","nodeType":"YulAssignment","src":"182594:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"182606:4:21","nodeType":"YulLiteral","src":"182606:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"182600:5:21","nodeType":"YulIdentifier","src":"182600:5:21"},"nativeSrc":"182600:11:21","nodeType":"YulFunctionCall","src":"182600:11:21"},"variableNames":[{"name":"m6","nativeSrc":"182594:2:21","nodeType":"YulIdentifier","src":"182594:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182694:4:21","nodeType":"YulLiteral","src":"182694:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"182700:10:21","nodeType":"YulLiteral","src":"182700:10:21","type":"","value":"0x6f7c603e"}],"functionName":{"name":"mstore","nativeSrc":"182687:6:21","nodeType":"YulIdentifier","src":"182687:6:21"},"nativeSrc":"182687:24:21","nodeType":"YulFunctionCall","src":"182687:24:21"},"nativeSrc":"182687:24:21","nodeType":"YulExpressionStatement","src":"182687:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182731:4:21","nodeType":"YulLiteral","src":"182731:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"182737:2:21","nodeType":"YulIdentifier","src":"182737:2:21"}],"functionName":{"name":"mstore","nativeSrc":"182724:6:21","nodeType":"YulIdentifier","src":"182724:6:21"},"nativeSrc":"182724:16:21","nodeType":"YulFunctionCall","src":"182724:16:21"},"nativeSrc":"182724:16:21","nodeType":"YulExpressionStatement","src":"182724:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182760:4:21","nodeType":"YulLiteral","src":"182760:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"182766:2:21","nodeType":"YulIdentifier","src":"182766:2:21"}],"functionName":{"name":"mstore","nativeSrc":"182753:6:21","nodeType":"YulIdentifier","src":"182753:6:21"},"nativeSrc":"182753:16:21","nodeType":"YulFunctionCall","src":"182753:16:21"},"nativeSrc":"182753:16:21","nodeType":"YulExpressionStatement","src":"182753:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182789:4:21","nodeType":"YulLiteral","src":"182789:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"182795:4:21","nodeType":"YulLiteral","src":"182795:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"182782:6:21","nodeType":"YulIdentifier","src":"182782:6:21"},"nativeSrc":"182782:18:21","nodeType":"YulFunctionCall","src":"182782:18:21"},"nativeSrc":"182782:18:21","nodeType":"YulExpressionStatement","src":"182782:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182820:4:21","nodeType":"YulLiteral","src":"182820:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"182826:2:21","nodeType":"YulIdentifier","src":"182826:2:21"}],"functionName":{"name":"mstore","nativeSrc":"182813:6:21","nodeType":"YulIdentifier","src":"182813:6:21"},"nativeSrc":"182813:16:21","nodeType":"YulFunctionCall","src":"182813:16:21"},"nativeSrc":"182813:16:21","nodeType":"YulExpressionStatement","src":"182813:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182854:4:21","nodeType":"YulLiteral","src":"182854:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"182860:2:21","nodeType":"YulIdentifier","src":"182860:2:21"}],"functionName":{"name":"writeString","nativeSrc":"182842:11:21","nodeType":"YulIdentifier","src":"182842:11:21"},"nativeSrc":"182842:21:21","nodeType":"YulFunctionCall","src":"182842:21:21"},"nativeSrc":"182842:21:21","nodeType":"YulExpressionStatement","src":"182842:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32698,"isOffset":false,"isSlot":false,"src":"182414:2:21","valueSize":1},{"declaration":32701,"isOffset":false,"isSlot":false,"src":"182444:2:21","valueSize":1},{"declaration":32704,"isOffset":false,"isSlot":false,"src":"182474:2:21","valueSize":1},{"declaration":32707,"isOffset":false,"isSlot":false,"src":"182504:2:21","valueSize":1},{"declaration":32710,"isOffset":false,"isSlot":false,"src":"182534:2:21","valueSize":1},{"declaration":32713,"isOffset":false,"isSlot":false,"src":"182564:2:21","valueSize":1},{"declaration":32716,"isOffset":false,"isSlot":false,"src":"182594:2:21","valueSize":1},{"declaration":32688,"isOffset":false,"isSlot":false,"src":"182737:2:21","valueSize":1},{"declaration":32690,"isOffset":false,"isSlot":false,"src":"182766:2:21","valueSize":1},{"declaration":32692,"isOffset":false,"isSlot":false,"src":"182860:2:21","valueSize":1},{"declaration":32694,"isOffset":false,"isSlot":false,"src":"182826:2:21","valueSize":1}],"id":32718,"nodeType":"InlineAssembly","src":"182036:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"182898:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"182904:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32719,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"182882:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"182882:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32723,"nodeType":"ExpressionStatement","src":"182882:27:21"},{"AST":{"nativeSrc":"182971:214:21","nodeType":"YulBlock","src":"182971:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"182992:4:21","nodeType":"YulLiteral","src":"182992:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"182998:2:21","nodeType":"YulIdentifier","src":"182998:2:21"}],"functionName":{"name":"mstore","nativeSrc":"182985:6:21","nodeType":"YulIdentifier","src":"182985:6:21"},"nativeSrc":"182985:16:21","nodeType":"YulFunctionCall","src":"182985:16:21"},"nativeSrc":"182985:16:21","nodeType":"YulExpressionStatement","src":"182985:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183021:4:21","nodeType":"YulLiteral","src":"183021:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"183027:2:21","nodeType":"YulIdentifier","src":"183027:2:21"}],"functionName":{"name":"mstore","nativeSrc":"183014:6:21","nodeType":"YulIdentifier","src":"183014:6:21"},"nativeSrc":"183014:16:21","nodeType":"YulFunctionCall","src":"183014:16:21"},"nativeSrc":"183014:16:21","nodeType":"YulExpressionStatement","src":"183014:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183050:4:21","nodeType":"YulLiteral","src":"183050:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"183056:2:21","nodeType":"YulIdentifier","src":"183056:2:21"}],"functionName":{"name":"mstore","nativeSrc":"183043:6:21","nodeType":"YulIdentifier","src":"183043:6:21"},"nativeSrc":"183043:16:21","nodeType":"YulFunctionCall","src":"183043:16:21"},"nativeSrc":"183043:16:21","nodeType":"YulExpressionStatement","src":"183043:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183079:4:21","nodeType":"YulLiteral","src":"183079:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"183085:2:21","nodeType":"YulIdentifier","src":"183085:2:21"}],"functionName":{"name":"mstore","nativeSrc":"183072:6:21","nodeType":"YulIdentifier","src":"183072:6:21"},"nativeSrc":"183072:16:21","nodeType":"YulFunctionCall","src":"183072:16:21"},"nativeSrc":"183072:16:21","nodeType":"YulExpressionStatement","src":"183072:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183108:4:21","nodeType":"YulLiteral","src":"183108:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"183114:2:21","nodeType":"YulIdentifier","src":"183114:2:21"}],"functionName":{"name":"mstore","nativeSrc":"183101:6:21","nodeType":"YulIdentifier","src":"183101:6:21"},"nativeSrc":"183101:16:21","nodeType":"YulFunctionCall","src":"183101:16:21"},"nativeSrc":"183101:16:21","nodeType":"YulExpressionStatement","src":"183101:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183137:4:21","nodeType":"YulLiteral","src":"183137:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"183143:2:21","nodeType":"YulIdentifier","src":"183143:2:21"}],"functionName":{"name":"mstore","nativeSrc":"183130:6:21","nodeType":"YulIdentifier","src":"183130:6:21"},"nativeSrc":"183130:16:21","nodeType":"YulFunctionCall","src":"183130:16:21"},"nativeSrc":"183130:16:21","nodeType":"YulExpressionStatement","src":"183130:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183166:4:21","nodeType":"YulLiteral","src":"183166:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"183172:2:21","nodeType":"YulIdentifier","src":"183172:2:21"}],"functionName":{"name":"mstore","nativeSrc":"183159:6:21","nodeType":"YulIdentifier","src":"183159:6:21"},"nativeSrc":"183159:16:21","nodeType":"YulFunctionCall","src":"183159:16:21"},"nativeSrc":"183159:16:21","nodeType":"YulExpressionStatement","src":"183159:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32698,"isOffset":false,"isSlot":false,"src":"182998:2:21","valueSize":1},{"declaration":32701,"isOffset":false,"isSlot":false,"src":"183027:2:21","valueSize":1},{"declaration":32704,"isOffset":false,"isSlot":false,"src":"183056:2:21","valueSize":1},{"declaration":32707,"isOffset":false,"isSlot":false,"src":"183085:2:21","valueSize":1},{"declaration":32710,"isOffset":false,"isSlot":false,"src":"183114:2:21","valueSize":1},{"declaration":32713,"isOffset":false,"isSlot":false,"src":"183143:2:21","valueSize":1},{"declaration":32716,"isOffset":false,"isSlot":false,"src":"183172:2:21","valueSize":1}],"id":32724,"nodeType":"InlineAssembly","src":"182962:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"181780:3:21","parameters":{"id":32695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32688,"mutability":"mutable","name":"p0","nameLocation":"181789:2:21","nodeType":"VariableDeclaration","scope":32726,"src":"181784:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32687,"name":"bool","nodeType":"ElementaryTypeName","src":"181784:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32690,"mutability":"mutable","name":"p1","nameLocation":"181801:2:21","nodeType":"VariableDeclaration","scope":32726,"src":"181793:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32689,"name":"address","nodeType":"ElementaryTypeName","src":"181793:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32692,"mutability":"mutable","name":"p2","nameLocation":"181813:2:21","nodeType":"VariableDeclaration","scope":32726,"src":"181805:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181805:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32694,"mutability":"mutable","name":"p3","nameLocation":"181825:2:21","nodeType":"VariableDeclaration","scope":32726,"src":"181817:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32693,"name":"address","nodeType":"ElementaryTypeName","src":"181817:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"181783:45:21"},"returnParameters":{"id":32696,"nodeType":"ParameterList","parameters":[],"src":"181843:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32766,"nodeType":"FunctionDefinition","src":"183197:1414:21","nodes":[],"body":{"id":32765,"nodeType":"Block","src":"183266:1345:21","nodes":[],"statements":[{"assignments":[32738],"declarations":[{"constant":false,"id":32738,"mutability":"mutable","name":"m0","nameLocation":"183284:2:21","nodeType":"VariableDeclaration","scope":32765,"src":"183276:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32737,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183276:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32739,"nodeType":"VariableDeclarationStatement","src":"183276:10:21"},{"assignments":[32741],"declarations":[{"constant":false,"id":32741,"mutability":"mutable","name":"m1","nameLocation":"183304:2:21","nodeType":"VariableDeclaration","scope":32765,"src":"183296:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183296:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32742,"nodeType":"VariableDeclarationStatement","src":"183296:10:21"},{"assignments":[32744],"declarations":[{"constant":false,"id":32744,"mutability":"mutable","name":"m2","nameLocation":"183324:2:21","nodeType":"VariableDeclaration","scope":32765,"src":"183316:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183316:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32745,"nodeType":"VariableDeclarationStatement","src":"183316:10:21"},{"assignments":[32747],"declarations":[{"constant":false,"id":32747,"mutability":"mutable","name":"m3","nameLocation":"183344:2:21","nodeType":"VariableDeclaration","scope":32765,"src":"183336:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183336:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32748,"nodeType":"VariableDeclarationStatement","src":"183336:10:21"},{"assignments":[32750],"declarations":[{"constant":false,"id":32750,"mutability":"mutable","name":"m4","nameLocation":"183364:2:21","nodeType":"VariableDeclaration","scope":32765,"src":"183356:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183356:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32751,"nodeType":"VariableDeclarationStatement","src":"183356:10:21"},{"assignments":[32753],"declarations":[{"constant":false,"id":32753,"mutability":"mutable","name":"m5","nameLocation":"183384:2:21","nodeType":"VariableDeclaration","scope":32765,"src":"183376:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183376:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32754,"nodeType":"VariableDeclarationStatement","src":"183376:10:21"},{"assignments":[32756],"declarations":[{"constant":false,"id":32756,"mutability":"mutable","name":"m6","nameLocation":"183404:2:21","nodeType":"VariableDeclaration","scope":32765,"src":"183396:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183396:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32757,"nodeType":"VariableDeclarationStatement","src":"183396:10:21"},{"AST":{"nativeSrc":"183468:825:21","nodeType":"YulBlock","src":"183468:825:21","statements":[{"body":{"nativeSrc":"183511:313:21","nodeType":"YulBlock","src":"183511:313:21","statements":[{"nativeSrc":"183529:15:21","nodeType":"YulVariableDeclaration","src":"183529:15:21","value":{"kind":"number","nativeSrc":"183543:1:21","nodeType":"YulLiteral","src":"183543:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"183533:6:21","nodeType":"YulTypedName","src":"183533:6:21","type":""}]},{"body":{"nativeSrc":"183614:40:21","nodeType":"YulBlock","src":"183614:40:21","statements":[{"body":{"nativeSrc":"183643:9:21","nodeType":"YulBlock","src":"183643:9:21","statements":[{"nativeSrc":"183645:5:21","nodeType":"YulBreak","src":"183645:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"183631:6:21","nodeType":"YulIdentifier","src":"183631:6:21"},{"name":"w","nativeSrc":"183639:1:21","nodeType":"YulIdentifier","src":"183639:1:21"}],"functionName":{"name":"byte","nativeSrc":"183626:4:21","nodeType":"YulIdentifier","src":"183626:4:21"},"nativeSrc":"183626:15:21","nodeType":"YulFunctionCall","src":"183626:15:21"}],"functionName":{"name":"iszero","nativeSrc":"183619:6:21","nodeType":"YulIdentifier","src":"183619:6:21"},"nativeSrc":"183619:23:21","nodeType":"YulFunctionCall","src":"183619:23:21"},"nativeSrc":"183616:36:21","nodeType":"YulIf","src":"183616:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"183571:6:21","nodeType":"YulIdentifier","src":"183571:6:21"},{"kind":"number","nativeSrc":"183579:4:21","nodeType":"YulLiteral","src":"183579:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"183568:2:21","nodeType":"YulIdentifier","src":"183568:2:21"},"nativeSrc":"183568:16:21","nodeType":"YulFunctionCall","src":"183568:16:21"},"nativeSrc":"183561:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"183585:28:21","nodeType":"YulBlock","src":"183585:28:21","statements":[{"nativeSrc":"183587:24:21","nodeType":"YulAssignment","src":"183587:24:21","value":{"arguments":[{"name":"length","nativeSrc":"183601:6:21","nodeType":"YulIdentifier","src":"183601:6:21"},{"kind":"number","nativeSrc":"183609:1:21","nodeType":"YulLiteral","src":"183609:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"183597:3:21","nodeType":"YulIdentifier","src":"183597:3:21"},"nativeSrc":"183597:14:21","nodeType":"YulFunctionCall","src":"183597:14:21"},"variableNames":[{"name":"length","nativeSrc":"183587:6:21","nodeType":"YulIdentifier","src":"183587:6:21"}]}]},"pre":{"nativeSrc":"183565:2:21","nodeType":"YulBlock","src":"183565:2:21","statements":[]},"src":"183561:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"183678:3:21","nodeType":"YulIdentifier","src":"183678:3:21"},{"name":"length","nativeSrc":"183683:6:21","nodeType":"YulIdentifier","src":"183683:6:21"}],"functionName":{"name":"mstore","nativeSrc":"183671:6:21","nodeType":"YulIdentifier","src":"183671:6:21"},"nativeSrc":"183671:19:21","nodeType":"YulFunctionCall","src":"183671:19:21"},"nativeSrc":"183671:19:21","nodeType":"YulExpressionStatement","src":"183671:19:21"},{"nativeSrc":"183707:37:21","nodeType":"YulVariableDeclaration","src":"183707:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"183724:3:21","nodeType":"YulLiteral","src":"183724:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"183733:1:21","nodeType":"YulLiteral","src":"183733:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"183736:6:21","nodeType":"YulIdentifier","src":"183736:6:21"}],"functionName":{"name":"shl","nativeSrc":"183729:3:21","nodeType":"YulIdentifier","src":"183729:3:21"},"nativeSrc":"183729:14:21","nodeType":"YulFunctionCall","src":"183729:14:21"}],"functionName":{"name":"sub","nativeSrc":"183720:3:21","nodeType":"YulIdentifier","src":"183720:3:21"},"nativeSrc":"183720:24:21","nodeType":"YulFunctionCall","src":"183720:24:21"},"variables":[{"name":"shift","nativeSrc":"183711:5:21","nodeType":"YulTypedName","src":"183711:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"183772:3:21","nodeType":"YulIdentifier","src":"183772:3:21"},{"kind":"number","nativeSrc":"183777:4:21","nodeType":"YulLiteral","src":"183777:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"183768:3:21","nodeType":"YulIdentifier","src":"183768:3:21"},"nativeSrc":"183768:14:21","nodeType":"YulFunctionCall","src":"183768:14:21"},{"arguments":[{"name":"shift","nativeSrc":"183788:5:21","nodeType":"YulIdentifier","src":"183788:5:21"},{"arguments":[{"name":"shift","nativeSrc":"183799:5:21","nodeType":"YulIdentifier","src":"183799:5:21"},{"name":"w","nativeSrc":"183806:1:21","nodeType":"YulIdentifier","src":"183806:1:21"}],"functionName":{"name":"shr","nativeSrc":"183795:3:21","nodeType":"YulIdentifier","src":"183795:3:21"},"nativeSrc":"183795:13:21","nodeType":"YulFunctionCall","src":"183795:13:21"}],"functionName":{"name":"shl","nativeSrc":"183784:3:21","nodeType":"YulIdentifier","src":"183784:3:21"},"nativeSrc":"183784:25:21","nodeType":"YulFunctionCall","src":"183784:25:21"}],"functionName":{"name":"mstore","nativeSrc":"183761:6:21","nodeType":"YulIdentifier","src":"183761:6:21"},"nativeSrc":"183761:49:21","nodeType":"YulFunctionCall","src":"183761:49:21"},"nativeSrc":"183761:49:21","nodeType":"YulExpressionStatement","src":"183761:49:21"}]},"name":"writeString","nativeSrc":"183482:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"183503:3:21","nodeType":"YulTypedName","src":"183503:3:21","type":""},{"name":"w","nativeSrc":"183508:1:21","nodeType":"YulTypedName","src":"183508:1:21","type":""}],"src":"183482:342:21"},{"nativeSrc":"183837:17:21","nodeType":"YulAssignment","src":"183837:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"183849:4:21","nodeType":"YulLiteral","src":"183849:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"183843:5:21","nodeType":"YulIdentifier","src":"183843:5:21"},"nativeSrc":"183843:11:21","nodeType":"YulFunctionCall","src":"183843:11:21"},"variableNames":[{"name":"m0","nativeSrc":"183837:2:21","nodeType":"YulIdentifier","src":"183837:2:21"}]},{"nativeSrc":"183867:17:21","nodeType":"YulAssignment","src":"183867:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"183879:4:21","nodeType":"YulLiteral","src":"183879:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"183873:5:21","nodeType":"YulIdentifier","src":"183873:5:21"},"nativeSrc":"183873:11:21","nodeType":"YulFunctionCall","src":"183873:11:21"},"variableNames":[{"name":"m1","nativeSrc":"183867:2:21","nodeType":"YulIdentifier","src":"183867:2:21"}]},{"nativeSrc":"183897:17:21","nodeType":"YulAssignment","src":"183897:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"183909:4:21","nodeType":"YulLiteral","src":"183909:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"183903:5:21","nodeType":"YulIdentifier","src":"183903:5:21"},"nativeSrc":"183903:11:21","nodeType":"YulFunctionCall","src":"183903:11:21"},"variableNames":[{"name":"m2","nativeSrc":"183897:2:21","nodeType":"YulIdentifier","src":"183897:2:21"}]},{"nativeSrc":"183927:17:21","nodeType":"YulAssignment","src":"183927:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"183939:4:21","nodeType":"YulLiteral","src":"183939:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"183933:5:21","nodeType":"YulIdentifier","src":"183933:5:21"},"nativeSrc":"183933:11:21","nodeType":"YulFunctionCall","src":"183933:11:21"},"variableNames":[{"name":"m3","nativeSrc":"183927:2:21","nodeType":"YulIdentifier","src":"183927:2:21"}]},{"nativeSrc":"183957:17:21","nodeType":"YulAssignment","src":"183957:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"183969:4:21","nodeType":"YulLiteral","src":"183969:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"183963:5:21","nodeType":"YulIdentifier","src":"183963:5:21"},"nativeSrc":"183963:11:21","nodeType":"YulFunctionCall","src":"183963:11:21"},"variableNames":[{"name":"m4","nativeSrc":"183957:2:21","nodeType":"YulIdentifier","src":"183957:2:21"}]},{"nativeSrc":"183987:17:21","nodeType":"YulAssignment","src":"183987:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"183999:4:21","nodeType":"YulLiteral","src":"183999:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"183993:5:21","nodeType":"YulIdentifier","src":"183993:5:21"},"nativeSrc":"183993:11:21","nodeType":"YulFunctionCall","src":"183993:11:21"},"variableNames":[{"name":"m5","nativeSrc":"183987:2:21","nodeType":"YulIdentifier","src":"183987:2:21"}]},{"nativeSrc":"184017:17:21","nodeType":"YulAssignment","src":"184017:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"184029:4:21","nodeType":"YulLiteral","src":"184029:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"184023:5:21","nodeType":"YulIdentifier","src":"184023:5:21"},"nativeSrc":"184023:11:21","nodeType":"YulFunctionCall","src":"184023:11:21"},"variableNames":[{"name":"m6","nativeSrc":"184017:2:21","nodeType":"YulIdentifier","src":"184017:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184114:4:21","nodeType":"YulLiteral","src":"184114:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"184120:10:21","nodeType":"YulLiteral","src":"184120:10:21","type":"","value":"0xe2bfd60b"}],"functionName":{"name":"mstore","nativeSrc":"184107:6:21","nodeType":"YulIdentifier","src":"184107:6:21"},"nativeSrc":"184107:24:21","nodeType":"YulFunctionCall","src":"184107:24:21"},"nativeSrc":"184107:24:21","nodeType":"YulExpressionStatement","src":"184107:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184151:4:21","nodeType":"YulLiteral","src":"184151:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"184157:2:21","nodeType":"YulIdentifier","src":"184157:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184144:6:21","nodeType":"YulIdentifier","src":"184144:6:21"},"nativeSrc":"184144:16:21","nodeType":"YulFunctionCall","src":"184144:16:21"},"nativeSrc":"184144:16:21","nodeType":"YulExpressionStatement","src":"184144:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184180:4:21","nodeType":"YulLiteral","src":"184180:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"184186:2:21","nodeType":"YulIdentifier","src":"184186:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184173:6:21","nodeType":"YulIdentifier","src":"184173:6:21"},"nativeSrc":"184173:16:21","nodeType":"YulFunctionCall","src":"184173:16:21"},"nativeSrc":"184173:16:21","nodeType":"YulExpressionStatement","src":"184173:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184209:4:21","nodeType":"YulLiteral","src":"184209:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"184215:4:21","nodeType":"YulLiteral","src":"184215:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"184202:6:21","nodeType":"YulIdentifier","src":"184202:6:21"},"nativeSrc":"184202:18:21","nodeType":"YulFunctionCall","src":"184202:18:21"},"nativeSrc":"184202:18:21","nodeType":"YulExpressionStatement","src":"184202:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184240:4:21","nodeType":"YulLiteral","src":"184240:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"184246:2:21","nodeType":"YulIdentifier","src":"184246:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184233:6:21","nodeType":"YulIdentifier","src":"184233:6:21"},"nativeSrc":"184233:16:21","nodeType":"YulFunctionCall","src":"184233:16:21"},"nativeSrc":"184233:16:21","nodeType":"YulExpressionStatement","src":"184233:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184274:4:21","nodeType":"YulLiteral","src":"184274:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"184280:2:21","nodeType":"YulIdentifier","src":"184280:2:21"}],"functionName":{"name":"writeString","nativeSrc":"184262:11:21","nodeType":"YulIdentifier","src":"184262:11:21"},"nativeSrc":"184262:21:21","nodeType":"YulFunctionCall","src":"184262:21:21"},"nativeSrc":"184262:21:21","nodeType":"YulExpressionStatement","src":"184262:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32738,"isOffset":false,"isSlot":false,"src":"183837:2:21","valueSize":1},{"declaration":32741,"isOffset":false,"isSlot":false,"src":"183867:2:21","valueSize":1},{"declaration":32744,"isOffset":false,"isSlot":false,"src":"183897:2:21","valueSize":1},{"declaration":32747,"isOffset":false,"isSlot":false,"src":"183927:2:21","valueSize":1},{"declaration":32750,"isOffset":false,"isSlot":false,"src":"183957:2:21","valueSize":1},{"declaration":32753,"isOffset":false,"isSlot":false,"src":"183987:2:21","valueSize":1},{"declaration":32756,"isOffset":false,"isSlot":false,"src":"184017:2:21","valueSize":1},{"declaration":32728,"isOffset":false,"isSlot":false,"src":"184157:2:21","valueSize":1},{"declaration":32730,"isOffset":false,"isSlot":false,"src":"184186:2:21","valueSize":1},{"declaration":32732,"isOffset":false,"isSlot":false,"src":"184280:2:21","valueSize":1},{"declaration":32734,"isOffset":false,"isSlot":false,"src":"184246:2:21","valueSize":1}],"id":32758,"nodeType":"InlineAssembly","src":"183459:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"184318:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"184324:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32759,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"184302:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"184302:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32763,"nodeType":"ExpressionStatement","src":"184302:27:21"},{"AST":{"nativeSrc":"184391:214:21","nodeType":"YulBlock","src":"184391:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"184412:4:21","nodeType":"YulLiteral","src":"184412:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"184418:2:21","nodeType":"YulIdentifier","src":"184418:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184405:6:21","nodeType":"YulIdentifier","src":"184405:6:21"},"nativeSrc":"184405:16:21","nodeType":"YulFunctionCall","src":"184405:16:21"},"nativeSrc":"184405:16:21","nodeType":"YulExpressionStatement","src":"184405:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184441:4:21","nodeType":"YulLiteral","src":"184441:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"184447:2:21","nodeType":"YulIdentifier","src":"184447:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184434:6:21","nodeType":"YulIdentifier","src":"184434:6:21"},"nativeSrc":"184434:16:21","nodeType":"YulFunctionCall","src":"184434:16:21"},"nativeSrc":"184434:16:21","nodeType":"YulExpressionStatement","src":"184434:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184470:4:21","nodeType":"YulLiteral","src":"184470:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"184476:2:21","nodeType":"YulIdentifier","src":"184476:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184463:6:21","nodeType":"YulIdentifier","src":"184463:6:21"},"nativeSrc":"184463:16:21","nodeType":"YulFunctionCall","src":"184463:16:21"},"nativeSrc":"184463:16:21","nodeType":"YulExpressionStatement","src":"184463:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184499:4:21","nodeType":"YulLiteral","src":"184499:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"184505:2:21","nodeType":"YulIdentifier","src":"184505:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184492:6:21","nodeType":"YulIdentifier","src":"184492:6:21"},"nativeSrc":"184492:16:21","nodeType":"YulFunctionCall","src":"184492:16:21"},"nativeSrc":"184492:16:21","nodeType":"YulExpressionStatement","src":"184492:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184528:4:21","nodeType":"YulLiteral","src":"184528:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"184534:2:21","nodeType":"YulIdentifier","src":"184534:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184521:6:21","nodeType":"YulIdentifier","src":"184521:6:21"},"nativeSrc":"184521:16:21","nodeType":"YulFunctionCall","src":"184521:16:21"},"nativeSrc":"184521:16:21","nodeType":"YulExpressionStatement","src":"184521:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184557:4:21","nodeType":"YulLiteral","src":"184557:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"184563:2:21","nodeType":"YulIdentifier","src":"184563:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184550:6:21","nodeType":"YulIdentifier","src":"184550:6:21"},"nativeSrc":"184550:16:21","nodeType":"YulFunctionCall","src":"184550:16:21"},"nativeSrc":"184550:16:21","nodeType":"YulExpressionStatement","src":"184550:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184586:4:21","nodeType":"YulLiteral","src":"184586:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"184592:2:21","nodeType":"YulIdentifier","src":"184592:2:21"}],"functionName":{"name":"mstore","nativeSrc":"184579:6:21","nodeType":"YulIdentifier","src":"184579:6:21"},"nativeSrc":"184579:16:21","nodeType":"YulFunctionCall","src":"184579:16:21"},"nativeSrc":"184579:16:21","nodeType":"YulExpressionStatement","src":"184579:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32738,"isOffset":false,"isSlot":false,"src":"184418:2:21","valueSize":1},{"declaration":32741,"isOffset":false,"isSlot":false,"src":"184447:2:21","valueSize":1},{"declaration":32744,"isOffset":false,"isSlot":false,"src":"184476:2:21","valueSize":1},{"declaration":32747,"isOffset":false,"isSlot":false,"src":"184505:2:21","valueSize":1},{"declaration":32750,"isOffset":false,"isSlot":false,"src":"184534:2:21","valueSize":1},{"declaration":32753,"isOffset":false,"isSlot":false,"src":"184563:2:21","valueSize":1},{"declaration":32756,"isOffset":false,"isSlot":false,"src":"184592:2:21","valueSize":1}],"id":32764,"nodeType":"InlineAssembly","src":"184382:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"183206:3:21","parameters":{"id":32735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32728,"mutability":"mutable","name":"p0","nameLocation":"183215:2:21","nodeType":"VariableDeclaration","scope":32766,"src":"183210:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32727,"name":"bool","nodeType":"ElementaryTypeName","src":"183210:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32730,"mutability":"mutable","name":"p1","nameLocation":"183227:2:21","nodeType":"VariableDeclaration","scope":32766,"src":"183219:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32729,"name":"address","nodeType":"ElementaryTypeName","src":"183219:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32732,"mutability":"mutable","name":"p2","nameLocation":"183239:2:21","nodeType":"VariableDeclaration","scope":32766,"src":"183231:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183231:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32734,"mutability":"mutable","name":"p3","nameLocation":"183248:2:21","nodeType":"VariableDeclaration","scope":32766,"src":"183243:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32733,"name":"bool","nodeType":"ElementaryTypeName","src":"183243:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"183209:42:21"},"returnParameters":{"id":32736,"nodeType":"ParameterList","parameters":[],"src":"183266:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32806,"nodeType":"FunctionDefinition","src":"184617:1420:21","nodes":[],"body":{"id":32805,"nodeType":"Block","src":"184689:1348:21","nodes":[],"statements":[{"assignments":[32778],"declarations":[{"constant":false,"id":32778,"mutability":"mutable","name":"m0","nameLocation":"184707:2:21","nodeType":"VariableDeclaration","scope":32805,"src":"184699:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184699:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32779,"nodeType":"VariableDeclarationStatement","src":"184699:10:21"},{"assignments":[32781],"declarations":[{"constant":false,"id":32781,"mutability":"mutable","name":"m1","nameLocation":"184727:2:21","nodeType":"VariableDeclaration","scope":32805,"src":"184719:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184719:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32782,"nodeType":"VariableDeclarationStatement","src":"184719:10:21"},{"assignments":[32784],"declarations":[{"constant":false,"id":32784,"mutability":"mutable","name":"m2","nameLocation":"184747:2:21","nodeType":"VariableDeclaration","scope":32805,"src":"184739:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184739:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32785,"nodeType":"VariableDeclarationStatement","src":"184739:10:21"},{"assignments":[32787],"declarations":[{"constant":false,"id":32787,"mutability":"mutable","name":"m3","nameLocation":"184767:2:21","nodeType":"VariableDeclaration","scope":32805,"src":"184759:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184759:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32788,"nodeType":"VariableDeclarationStatement","src":"184759:10:21"},{"assignments":[32790],"declarations":[{"constant":false,"id":32790,"mutability":"mutable","name":"m4","nameLocation":"184787:2:21","nodeType":"VariableDeclaration","scope":32805,"src":"184779:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184779:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32791,"nodeType":"VariableDeclarationStatement","src":"184779:10:21"},{"assignments":[32793],"declarations":[{"constant":false,"id":32793,"mutability":"mutable","name":"m5","nameLocation":"184807:2:21","nodeType":"VariableDeclaration","scope":32805,"src":"184799:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184799:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32794,"nodeType":"VariableDeclarationStatement","src":"184799:10:21"},{"assignments":[32796],"declarations":[{"constant":false,"id":32796,"mutability":"mutable","name":"m6","nameLocation":"184827:2:21","nodeType":"VariableDeclaration","scope":32805,"src":"184819:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184819:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32797,"nodeType":"VariableDeclarationStatement","src":"184819:10:21"},{"AST":{"nativeSrc":"184891:828:21","nodeType":"YulBlock","src":"184891:828:21","statements":[{"body":{"nativeSrc":"184934:313:21","nodeType":"YulBlock","src":"184934:313:21","statements":[{"nativeSrc":"184952:15:21","nodeType":"YulVariableDeclaration","src":"184952:15:21","value":{"kind":"number","nativeSrc":"184966:1:21","nodeType":"YulLiteral","src":"184966:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"184956:6:21","nodeType":"YulTypedName","src":"184956:6:21","type":""}]},{"body":{"nativeSrc":"185037:40:21","nodeType":"YulBlock","src":"185037:40:21","statements":[{"body":{"nativeSrc":"185066:9:21","nodeType":"YulBlock","src":"185066:9:21","statements":[{"nativeSrc":"185068:5:21","nodeType":"YulBreak","src":"185068:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"185054:6:21","nodeType":"YulIdentifier","src":"185054:6:21"},{"name":"w","nativeSrc":"185062:1:21","nodeType":"YulIdentifier","src":"185062:1:21"}],"functionName":{"name":"byte","nativeSrc":"185049:4:21","nodeType":"YulIdentifier","src":"185049:4:21"},"nativeSrc":"185049:15:21","nodeType":"YulFunctionCall","src":"185049:15:21"}],"functionName":{"name":"iszero","nativeSrc":"185042:6:21","nodeType":"YulIdentifier","src":"185042:6:21"},"nativeSrc":"185042:23:21","nodeType":"YulFunctionCall","src":"185042:23:21"},"nativeSrc":"185039:36:21","nodeType":"YulIf","src":"185039:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"184994:6:21","nodeType":"YulIdentifier","src":"184994:6:21"},{"kind":"number","nativeSrc":"185002:4:21","nodeType":"YulLiteral","src":"185002:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"184991:2:21","nodeType":"YulIdentifier","src":"184991:2:21"},"nativeSrc":"184991:16:21","nodeType":"YulFunctionCall","src":"184991:16:21"},"nativeSrc":"184984:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"185008:28:21","nodeType":"YulBlock","src":"185008:28:21","statements":[{"nativeSrc":"185010:24:21","nodeType":"YulAssignment","src":"185010:24:21","value":{"arguments":[{"name":"length","nativeSrc":"185024:6:21","nodeType":"YulIdentifier","src":"185024:6:21"},{"kind":"number","nativeSrc":"185032:1:21","nodeType":"YulLiteral","src":"185032:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"185020:3:21","nodeType":"YulIdentifier","src":"185020:3:21"},"nativeSrc":"185020:14:21","nodeType":"YulFunctionCall","src":"185020:14:21"},"variableNames":[{"name":"length","nativeSrc":"185010:6:21","nodeType":"YulIdentifier","src":"185010:6:21"}]}]},"pre":{"nativeSrc":"184988:2:21","nodeType":"YulBlock","src":"184988:2:21","statements":[]},"src":"184984:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"185101:3:21","nodeType":"YulIdentifier","src":"185101:3:21"},{"name":"length","nativeSrc":"185106:6:21","nodeType":"YulIdentifier","src":"185106:6:21"}],"functionName":{"name":"mstore","nativeSrc":"185094:6:21","nodeType":"YulIdentifier","src":"185094:6:21"},"nativeSrc":"185094:19:21","nodeType":"YulFunctionCall","src":"185094:19:21"},"nativeSrc":"185094:19:21","nodeType":"YulExpressionStatement","src":"185094:19:21"},{"nativeSrc":"185130:37:21","nodeType":"YulVariableDeclaration","src":"185130:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"185147:3:21","nodeType":"YulLiteral","src":"185147:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"185156:1:21","nodeType":"YulLiteral","src":"185156:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"185159:6:21","nodeType":"YulIdentifier","src":"185159:6:21"}],"functionName":{"name":"shl","nativeSrc":"185152:3:21","nodeType":"YulIdentifier","src":"185152:3:21"},"nativeSrc":"185152:14:21","nodeType":"YulFunctionCall","src":"185152:14:21"}],"functionName":{"name":"sub","nativeSrc":"185143:3:21","nodeType":"YulIdentifier","src":"185143:3:21"},"nativeSrc":"185143:24:21","nodeType":"YulFunctionCall","src":"185143:24:21"},"variables":[{"name":"shift","nativeSrc":"185134:5:21","nodeType":"YulTypedName","src":"185134:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"185195:3:21","nodeType":"YulIdentifier","src":"185195:3:21"},{"kind":"number","nativeSrc":"185200:4:21","nodeType":"YulLiteral","src":"185200:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"185191:3:21","nodeType":"YulIdentifier","src":"185191:3:21"},"nativeSrc":"185191:14:21","nodeType":"YulFunctionCall","src":"185191:14:21"},{"arguments":[{"name":"shift","nativeSrc":"185211:5:21","nodeType":"YulIdentifier","src":"185211:5:21"},{"arguments":[{"name":"shift","nativeSrc":"185222:5:21","nodeType":"YulIdentifier","src":"185222:5:21"},{"name":"w","nativeSrc":"185229:1:21","nodeType":"YulIdentifier","src":"185229:1:21"}],"functionName":{"name":"shr","nativeSrc":"185218:3:21","nodeType":"YulIdentifier","src":"185218:3:21"},"nativeSrc":"185218:13:21","nodeType":"YulFunctionCall","src":"185218:13:21"}],"functionName":{"name":"shl","nativeSrc":"185207:3:21","nodeType":"YulIdentifier","src":"185207:3:21"},"nativeSrc":"185207:25:21","nodeType":"YulFunctionCall","src":"185207:25:21"}],"functionName":{"name":"mstore","nativeSrc":"185184:6:21","nodeType":"YulIdentifier","src":"185184:6:21"},"nativeSrc":"185184:49:21","nodeType":"YulFunctionCall","src":"185184:49:21"},"nativeSrc":"185184:49:21","nodeType":"YulExpressionStatement","src":"185184:49:21"}]},"name":"writeString","nativeSrc":"184905:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"184926:3:21","nodeType":"YulTypedName","src":"184926:3:21","type":""},{"name":"w","nativeSrc":"184931:1:21","nodeType":"YulTypedName","src":"184931:1:21","type":""}],"src":"184905:342:21"},{"nativeSrc":"185260:17:21","nodeType":"YulAssignment","src":"185260:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"185272:4:21","nodeType":"YulLiteral","src":"185272:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"185266:5:21","nodeType":"YulIdentifier","src":"185266:5:21"},"nativeSrc":"185266:11:21","nodeType":"YulFunctionCall","src":"185266:11:21"},"variableNames":[{"name":"m0","nativeSrc":"185260:2:21","nodeType":"YulIdentifier","src":"185260:2:21"}]},{"nativeSrc":"185290:17:21","nodeType":"YulAssignment","src":"185290:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"185302:4:21","nodeType":"YulLiteral","src":"185302:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"185296:5:21","nodeType":"YulIdentifier","src":"185296:5:21"},"nativeSrc":"185296:11:21","nodeType":"YulFunctionCall","src":"185296:11:21"},"variableNames":[{"name":"m1","nativeSrc":"185290:2:21","nodeType":"YulIdentifier","src":"185290:2:21"}]},{"nativeSrc":"185320:17:21","nodeType":"YulAssignment","src":"185320:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"185332:4:21","nodeType":"YulLiteral","src":"185332:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"185326:5:21","nodeType":"YulIdentifier","src":"185326:5:21"},"nativeSrc":"185326:11:21","nodeType":"YulFunctionCall","src":"185326:11:21"},"variableNames":[{"name":"m2","nativeSrc":"185320:2:21","nodeType":"YulIdentifier","src":"185320:2:21"}]},{"nativeSrc":"185350:17:21","nodeType":"YulAssignment","src":"185350:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"185362:4:21","nodeType":"YulLiteral","src":"185362:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"185356:5:21","nodeType":"YulIdentifier","src":"185356:5:21"},"nativeSrc":"185356:11:21","nodeType":"YulFunctionCall","src":"185356:11:21"},"variableNames":[{"name":"m3","nativeSrc":"185350:2:21","nodeType":"YulIdentifier","src":"185350:2:21"}]},{"nativeSrc":"185380:17:21","nodeType":"YulAssignment","src":"185380:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"185392:4:21","nodeType":"YulLiteral","src":"185392:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"185386:5:21","nodeType":"YulIdentifier","src":"185386:5:21"},"nativeSrc":"185386:11:21","nodeType":"YulFunctionCall","src":"185386:11:21"},"variableNames":[{"name":"m4","nativeSrc":"185380:2:21","nodeType":"YulIdentifier","src":"185380:2:21"}]},{"nativeSrc":"185410:17:21","nodeType":"YulAssignment","src":"185410:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"185422:4:21","nodeType":"YulLiteral","src":"185422:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"185416:5:21","nodeType":"YulIdentifier","src":"185416:5:21"},"nativeSrc":"185416:11:21","nodeType":"YulFunctionCall","src":"185416:11:21"},"variableNames":[{"name":"m5","nativeSrc":"185410:2:21","nodeType":"YulIdentifier","src":"185410:2:21"}]},{"nativeSrc":"185440:17:21","nodeType":"YulAssignment","src":"185440:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"185452:4:21","nodeType":"YulLiteral","src":"185452:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"185446:5:21","nodeType":"YulIdentifier","src":"185446:5:21"},"nativeSrc":"185446:11:21","nodeType":"YulFunctionCall","src":"185446:11:21"},"variableNames":[{"name":"m6","nativeSrc":"185440:2:21","nodeType":"YulIdentifier","src":"185440:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185540:4:21","nodeType":"YulLiteral","src":"185540:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"185546:10:21","nodeType":"YulLiteral","src":"185546:10:21","type":"","value":"0xc21f64c7"}],"functionName":{"name":"mstore","nativeSrc":"185533:6:21","nodeType":"YulIdentifier","src":"185533:6:21"},"nativeSrc":"185533:24:21","nodeType":"YulFunctionCall","src":"185533:24:21"},"nativeSrc":"185533:24:21","nodeType":"YulExpressionStatement","src":"185533:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185577:4:21","nodeType":"YulLiteral","src":"185577:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"185583:2:21","nodeType":"YulIdentifier","src":"185583:2:21"}],"functionName":{"name":"mstore","nativeSrc":"185570:6:21","nodeType":"YulIdentifier","src":"185570:6:21"},"nativeSrc":"185570:16:21","nodeType":"YulFunctionCall","src":"185570:16:21"},"nativeSrc":"185570:16:21","nodeType":"YulExpressionStatement","src":"185570:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185606:4:21","nodeType":"YulLiteral","src":"185606:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"185612:2:21","nodeType":"YulIdentifier","src":"185612:2:21"}],"functionName":{"name":"mstore","nativeSrc":"185599:6:21","nodeType":"YulIdentifier","src":"185599:6:21"},"nativeSrc":"185599:16:21","nodeType":"YulFunctionCall","src":"185599:16:21"},"nativeSrc":"185599:16:21","nodeType":"YulExpressionStatement","src":"185599:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185635:4:21","nodeType":"YulLiteral","src":"185635:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"185641:4:21","nodeType":"YulLiteral","src":"185641:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"185628:6:21","nodeType":"YulIdentifier","src":"185628:6:21"},"nativeSrc":"185628:18:21","nodeType":"YulFunctionCall","src":"185628:18:21"},"nativeSrc":"185628:18:21","nodeType":"YulExpressionStatement","src":"185628:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185666:4:21","nodeType":"YulLiteral","src":"185666:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"185672:2:21","nodeType":"YulIdentifier","src":"185672:2:21"}],"functionName":{"name":"mstore","nativeSrc":"185659:6:21","nodeType":"YulIdentifier","src":"185659:6:21"},"nativeSrc":"185659:16:21","nodeType":"YulFunctionCall","src":"185659:16:21"},"nativeSrc":"185659:16:21","nodeType":"YulExpressionStatement","src":"185659:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185700:4:21","nodeType":"YulLiteral","src":"185700:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"185706:2:21","nodeType":"YulIdentifier","src":"185706:2:21"}],"functionName":{"name":"writeString","nativeSrc":"185688:11:21","nodeType":"YulIdentifier","src":"185688:11:21"},"nativeSrc":"185688:21:21","nodeType":"YulFunctionCall","src":"185688:21:21"},"nativeSrc":"185688:21:21","nodeType":"YulExpressionStatement","src":"185688:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32778,"isOffset":false,"isSlot":false,"src":"185260:2:21","valueSize":1},{"declaration":32781,"isOffset":false,"isSlot":false,"src":"185290:2:21","valueSize":1},{"declaration":32784,"isOffset":false,"isSlot":false,"src":"185320:2:21","valueSize":1},{"declaration":32787,"isOffset":false,"isSlot":false,"src":"185350:2:21","valueSize":1},{"declaration":32790,"isOffset":false,"isSlot":false,"src":"185380:2:21","valueSize":1},{"declaration":32793,"isOffset":false,"isSlot":false,"src":"185410:2:21","valueSize":1},{"declaration":32796,"isOffset":false,"isSlot":false,"src":"185440:2:21","valueSize":1},{"declaration":32768,"isOffset":false,"isSlot":false,"src":"185583:2:21","valueSize":1},{"declaration":32770,"isOffset":false,"isSlot":false,"src":"185612:2:21","valueSize":1},{"declaration":32772,"isOffset":false,"isSlot":false,"src":"185706:2:21","valueSize":1},{"declaration":32774,"isOffset":false,"isSlot":false,"src":"185672:2:21","valueSize":1}],"id":32798,"nodeType":"InlineAssembly","src":"184882:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"185744:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"185750:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32799,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"185728:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"185728:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32803,"nodeType":"ExpressionStatement","src":"185728:27:21"},{"AST":{"nativeSrc":"185817:214:21","nodeType":"YulBlock","src":"185817:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"185838:4:21","nodeType":"YulLiteral","src":"185838:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"185844:2:21","nodeType":"YulIdentifier","src":"185844:2:21"}],"functionName":{"name":"mstore","nativeSrc":"185831:6:21","nodeType":"YulIdentifier","src":"185831:6:21"},"nativeSrc":"185831:16:21","nodeType":"YulFunctionCall","src":"185831:16:21"},"nativeSrc":"185831:16:21","nodeType":"YulExpressionStatement","src":"185831:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185867:4:21","nodeType":"YulLiteral","src":"185867:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"185873:2:21","nodeType":"YulIdentifier","src":"185873:2:21"}],"functionName":{"name":"mstore","nativeSrc":"185860:6:21","nodeType":"YulIdentifier","src":"185860:6:21"},"nativeSrc":"185860:16:21","nodeType":"YulFunctionCall","src":"185860:16:21"},"nativeSrc":"185860:16:21","nodeType":"YulExpressionStatement","src":"185860:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185896:4:21","nodeType":"YulLiteral","src":"185896:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"185902:2:21","nodeType":"YulIdentifier","src":"185902:2:21"}],"functionName":{"name":"mstore","nativeSrc":"185889:6:21","nodeType":"YulIdentifier","src":"185889:6:21"},"nativeSrc":"185889:16:21","nodeType":"YulFunctionCall","src":"185889:16:21"},"nativeSrc":"185889:16:21","nodeType":"YulExpressionStatement","src":"185889:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185925:4:21","nodeType":"YulLiteral","src":"185925:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"185931:2:21","nodeType":"YulIdentifier","src":"185931:2:21"}],"functionName":{"name":"mstore","nativeSrc":"185918:6:21","nodeType":"YulIdentifier","src":"185918:6:21"},"nativeSrc":"185918:16:21","nodeType":"YulFunctionCall","src":"185918:16:21"},"nativeSrc":"185918:16:21","nodeType":"YulExpressionStatement","src":"185918:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185954:4:21","nodeType":"YulLiteral","src":"185954:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"185960:2:21","nodeType":"YulIdentifier","src":"185960:2:21"}],"functionName":{"name":"mstore","nativeSrc":"185947:6:21","nodeType":"YulIdentifier","src":"185947:6:21"},"nativeSrc":"185947:16:21","nodeType":"YulFunctionCall","src":"185947:16:21"},"nativeSrc":"185947:16:21","nodeType":"YulExpressionStatement","src":"185947:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185983:4:21","nodeType":"YulLiteral","src":"185983:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"185989:2:21","nodeType":"YulIdentifier","src":"185989:2:21"}],"functionName":{"name":"mstore","nativeSrc":"185976:6:21","nodeType":"YulIdentifier","src":"185976:6:21"},"nativeSrc":"185976:16:21","nodeType":"YulFunctionCall","src":"185976:16:21"},"nativeSrc":"185976:16:21","nodeType":"YulExpressionStatement","src":"185976:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"186012:4:21","nodeType":"YulLiteral","src":"186012:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"186018:2:21","nodeType":"YulIdentifier","src":"186018:2:21"}],"functionName":{"name":"mstore","nativeSrc":"186005:6:21","nodeType":"YulIdentifier","src":"186005:6:21"},"nativeSrc":"186005:16:21","nodeType":"YulFunctionCall","src":"186005:16:21"},"nativeSrc":"186005:16:21","nodeType":"YulExpressionStatement","src":"186005:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32778,"isOffset":false,"isSlot":false,"src":"185844:2:21","valueSize":1},{"declaration":32781,"isOffset":false,"isSlot":false,"src":"185873:2:21","valueSize":1},{"declaration":32784,"isOffset":false,"isSlot":false,"src":"185902:2:21","valueSize":1},{"declaration":32787,"isOffset":false,"isSlot":false,"src":"185931:2:21","valueSize":1},{"declaration":32790,"isOffset":false,"isSlot":false,"src":"185960:2:21","valueSize":1},{"declaration":32793,"isOffset":false,"isSlot":false,"src":"185989:2:21","valueSize":1},{"declaration":32796,"isOffset":false,"isSlot":false,"src":"186018:2:21","valueSize":1}],"id":32804,"nodeType":"InlineAssembly","src":"185808:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"184626:3:21","parameters":{"id":32775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32768,"mutability":"mutable","name":"p0","nameLocation":"184635:2:21","nodeType":"VariableDeclaration","scope":32806,"src":"184630:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32767,"name":"bool","nodeType":"ElementaryTypeName","src":"184630:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32770,"mutability":"mutable","name":"p1","nameLocation":"184647:2:21","nodeType":"VariableDeclaration","scope":32806,"src":"184639:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32769,"name":"address","nodeType":"ElementaryTypeName","src":"184639:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32772,"mutability":"mutable","name":"p2","nameLocation":"184659:2:21","nodeType":"VariableDeclaration","scope":32806,"src":"184651:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184651:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32774,"mutability":"mutable","name":"p3","nameLocation":"184671:2:21","nodeType":"VariableDeclaration","scope":32806,"src":"184663:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32773,"name":"uint256","nodeType":"ElementaryTypeName","src":"184663:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"184629:45:21"},"returnParameters":{"id":32776,"nodeType":"ParameterList","parameters":[],"src":"184689:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32852,"nodeType":"FunctionDefinition","src":"186043:1616:21","nodes":[],"body":{"id":32851,"nodeType":"Block","src":"186115:1544:21","nodes":[],"statements":[{"assignments":[32818],"declarations":[{"constant":false,"id":32818,"mutability":"mutable","name":"m0","nameLocation":"186133:2:21","nodeType":"VariableDeclaration","scope":32851,"src":"186125:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186125:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32819,"nodeType":"VariableDeclarationStatement","src":"186125:10:21"},{"assignments":[32821],"declarations":[{"constant":false,"id":32821,"mutability":"mutable","name":"m1","nameLocation":"186153:2:21","nodeType":"VariableDeclaration","scope":32851,"src":"186145:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186145:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32822,"nodeType":"VariableDeclarationStatement","src":"186145:10:21"},{"assignments":[32824],"declarations":[{"constant":false,"id":32824,"mutability":"mutable","name":"m2","nameLocation":"186173:2:21","nodeType":"VariableDeclaration","scope":32851,"src":"186165:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186165:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32825,"nodeType":"VariableDeclarationStatement","src":"186165:10:21"},{"assignments":[32827],"declarations":[{"constant":false,"id":32827,"mutability":"mutable","name":"m3","nameLocation":"186193:2:21","nodeType":"VariableDeclaration","scope":32851,"src":"186185:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186185:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32828,"nodeType":"VariableDeclarationStatement","src":"186185:10:21"},{"assignments":[32830],"declarations":[{"constant":false,"id":32830,"mutability":"mutable","name":"m4","nameLocation":"186213:2:21","nodeType":"VariableDeclaration","scope":32851,"src":"186205:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186205:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32831,"nodeType":"VariableDeclarationStatement","src":"186205:10:21"},{"assignments":[32833],"declarations":[{"constant":false,"id":32833,"mutability":"mutable","name":"m5","nameLocation":"186233:2:21","nodeType":"VariableDeclaration","scope":32851,"src":"186225:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186225:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32834,"nodeType":"VariableDeclarationStatement","src":"186225:10:21"},{"assignments":[32836],"declarations":[{"constant":false,"id":32836,"mutability":"mutable","name":"m6","nameLocation":"186253:2:21","nodeType":"VariableDeclaration","scope":32851,"src":"186245:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186245:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32837,"nodeType":"VariableDeclarationStatement","src":"186245:10:21"},{"assignments":[32839],"declarations":[{"constant":false,"id":32839,"mutability":"mutable","name":"m7","nameLocation":"186273:2:21","nodeType":"VariableDeclaration","scope":32851,"src":"186265:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186265:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32840,"nodeType":"VariableDeclarationStatement","src":"186265:10:21"},{"assignments":[32842],"declarations":[{"constant":false,"id":32842,"mutability":"mutable","name":"m8","nameLocation":"186293:2:21","nodeType":"VariableDeclaration","scope":32851,"src":"186285:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186285:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32843,"nodeType":"VariableDeclarationStatement","src":"186285:10:21"},{"AST":{"nativeSrc":"186357:924:21","nodeType":"YulBlock","src":"186357:924:21","statements":[{"body":{"nativeSrc":"186400:313:21","nodeType":"YulBlock","src":"186400:313:21","statements":[{"nativeSrc":"186418:15:21","nodeType":"YulVariableDeclaration","src":"186418:15:21","value":{"kind":"number","nativeSrc":"186432:1:21","nodeType":"YulLiteral","src":"186432:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"186422:6:21","nodeType":"YulTypedName","src":"186422:6:21","type":""}]},{"body":{"nativeSrc":"186503:40:21","nodeType":"YulBlock","src":"186503:40:21","statements":[{"body":{"nativeSrc":"186532:9:21","nodeType":"YulBlock","src":"186532:9:21","statements":[{"nativeSrc":"186534:5:21","nodeType":"YulBreak","src":"186534:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"186520:6:21","nodeType":"YulIdentifier","src":"186520:6:21"},{"name":"w","nativeSrc":"186528:1:21","nodeType":"YulIdentifier","src":"186528:1:21"}],"functionName":{"name":"byte","nativeSrc":"186515:4:21","nodeType":"YulIdentifier","src":"186515:4:21"},"nativeSrc":"186515:15:21","nodeType":"YulFunctionCall","src":"186515:15:21"}],"functionName":{"name":"iszero","nativeSrc":"186508:6:21","nodeType":"YulIdentifier","src":"186508:6:21"},"nativeSrc":"186508:23:21","nodeType":"YulFunctionCall","src":"186508:23:21"},"nativeSrc":"186505:36:21","nodeType":"YulIf","src":"186505:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"186460:6:21","nodeType":"YulIdentifier","src":"186460:6:21"},{"kind":"number","nativeSrc":"186468:4:21","nodeType":"YulLiteral","src":"186468:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"186457:2:21","nodeType":"YulIdentifier","src":"186457:2:21"},"nativeSrc":"186457:16:21","nodeType":"YulFunctionCall","src":"186457:16:21"},"nativeSrc":"186450:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"186474:28:21","nodeType":"YulBlock","src":"186474:28:21","statements":[{"nativeSrc":"186476:24:21","nodeType":"YulAssignment","src":"186476:24:21","value":{"arguments":[{"name":"length","nativeSrc":"186490:6:21","nodeType":"YulIdentifier","src":"186490:6:21"},{"kind":"number","nativeSrc":"186498:1:21","nodeType":"YulLiteral","src":"186498:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"186486:3:21","nodeType":"YulIdentifier","src":"186486:3:21"},"nativeSrc":"186486:14:21","nodeType":"YulFunctionCall","src":"186486:14:21"},"variableNames":[{"name":"length","nativeSrc":"186476:6:21","nodeType":"YulIdentifier","src":"186476:6:21"}]}]},"pre":{"nativeSrc":"186454:2:21","nodeType":"YulBlock","src":"186454:2:21","statements":[]},"src":"186450:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"186567:3:21","nodeType":"YulIdentifier","src":"186567:3:21"},{"name":"length","nativeSrc":"186572:6:21","nodeType":"YulIdentifier","src":"186572:6:21"}],"functionName":{"name":"mstore","nativeSrc":"186560:6:21","nodeType":"YulIdentifier","src":"186560:6:21"},"nativeSrc":"186560:19:21","nodeType":"YulFunctionCall","src":"186560:19:21"},"nativeSrc":"186560:19:21","nodeType":"YulExpressionStatement","src":"186560:19:21"},{"nativeSrc":"186596:37:21","nodeType":"YulVariableDeclaration","src":"186596:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"186613:3:21","nodeType":"YulLiteral","src":"186613:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"186622:1:21","nodeType":"YulLiteral","src":"186622:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"186625:6:21","nodeType":"YulIdentifier","src":"186625:6:21"}],"functionName":{"name":"shl","nativeSrc":"186618:3:21","nodeType":"YulIdentifier","src":"186618:3:21"},"nativeSrc":"186618:14:21","nodeType":"YulFunctionCall","src":"186618:14:21"}],"functionName":{"name":"sub","nativeSrc":"186609:3:21","nodeType":"YulIdentifier","src":"186609:3:21"},"nativeSrc":"186609:24:21","nodeType":"YulFunctionCall","src":"186609:24:21"},"variables":[{"name":"shift","nativeSrc":"186600:5:21","nodeType":"YulTypedName","src":"186600:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"186661:3:21","nodeType":"YulIdentifier","src":"186661:3:21"},{"kind":"number","nativeSrc":"186666:4:21","nodeType":"YulLiteral","src":"186666:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"186657:3:21","nodeType":"YulIdentifier","src":"186657:3:21"},"nativeSrc":"186657:14:21","nodeType":"YulFunctionCall","src":"186657:14:21"},{"arguments":[{"name":"shift","nativeSrc":"186677:5:21","nodeType":"YulIdentifier","src":"186677:5:21"},{"arguments":[{"name":"shift","nativeSrc":"186688:5:21","nodeType":"YulIdentifier","src":"186688:5:21"},{"name":"w","nativeSrc":"186695:1:21","nodeType":"YulIdentifier","src":"186695:1:21"}],"functionName":{"name":"shr","nativeSrc":"186684:3:21","nodeType":"YulIdentifier","src":"186684:3:21"},"nativeSrc":"186684:13:21","nodeType":"YulFunctionCall","src":"186684:13:21"}],"functionName":{"name":"shl","nativeSrc":"186673:3:21","nodeType":"YulIdentifier","src":"186673:3:21"},"nativeSrc":"186673:25:21","nodeType":"YulFunctionCall","src":"186673:25:21"}],"functionName":{"name":"mstore","nativeSrc":"186650:6:21","nodeType":"YulIdentifier","src":"186650:6:21"},"nativeSrc":"186650:49:21","nodeType":"YulFunctionCall","src":"186650:49:21"},"nativeSrc":"186650:49:21","nodeType":"YulExpressionStatement","src":"186650:49:21"}]},"name":"writeString","nativeSrc":"186371:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"186392:3:21","nodeType":"YulTypedName","src":"186392:3:21","type":""},{"name":"w","nativeSrc":"186397:1:21","nodeType":"YulTypedName","src":"186397:1:21","type":""}],"src":"186371:342:21"},{"nativeSrc":"186726:17:21","nodeType":"YulAssignment","src":"186726:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"186738:4:21","nodeType":"YulLiteral","src":"186738:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"186732:5:21","nodeType":"YulIdentifier","src":"186732:5:21"},"nativeSrc":"186732:11:21","nodeType":"YulFunctionCall","src":"186732:11:21"},"variableNames":[{"name":"m0","nativeSrc":"186726:2:21","nodeType":"YulIdentifier","src":"186726:2:21"}]},{"nativeSrc":"186756:17:21","nodeType":"YulAssignment","src":"186756:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"186768:4:21","nodeType":"YulLiteral","src":"186768:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"186762:5:21","nodeType":"YulIdentifier","src":"186762:5:21"},"nativeSrc":"186762:11:21","nodeType":"YulFunctionCall","src":"186762:11:21"},"variableNames":[{"name":"m1","nativeSrc":"186756:2:21","nodeType":"YulIdentifier","src":"186756:2:21"}]},{"nativeSrc":"186786:17:21","nodeType":"YulAssignment","src":"186786:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"186798:4:21","nodeType":"YulLiteral","src":"186798:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"186792:5:21","nodeType":"YulIdentifier","src":"186792:5:21"},"nativeSrc":"186792:11:21","nodeType":"YulFunctionCall","src":"186792:11:21"},"variableNames":[{"name":"m2","nativeSrc":"186786:2:21","nodeType":"YulIdentifier","src":"186786:2:21"}]},{"nativeSrc":"186816:17:21","nodeType":"YulAssignment","src":"186816:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"186828:4:21","nodeType":"YulLiteral","src":"186828:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"186822:5:21","nodeType":"YulIdentifier","src":"186822:5:21"},"nativeSrc":"186822:11:21","nodeType":"YulFunctionCall","src":"186822:11:21"},"variableNames":[{"name":"m3","nativeSrc":"186816:2:21","nodeType":"YulIdentifier","src":"186816:2:21"}]},{"nativeSrc":"186846:17:21","nodeType":"YulAssignment","src":"186846:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"186858:4:21","nodeType":"YulLiteral","src":"186858:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"186852:5:21","nodeType":"YulIdentifier","src":"186852:5:21"},"nativeSrc":"186852:11:21","nodeType":"YulFunctionCall","src":"186852:11:21"},"variableNames":[{"name":"m4","nativeSrc":"186846:2:21","nodeType":"YulIdentifier","src":"186846:2:21"}]},{"nativeSrc":"186876:17:21","nodeType":"YulAssignment","src":"186876:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"186888:4:21","nodeType":"YulLiteral","src":"186888:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"186882:5:21","nodeType":"YulIdentifier","src":"186882:5:21"},"nativeSrc":"186882:11:21","nodeType":"YulFunctionCall","src":"186882:11:21"},"variableNames":[{"name":"m5","nativeSrc":"186876:2:21","nodeType":"YulIdentifier","src":"186876:2:21"}]},{"nativeSrc":"186906:17:21","nodeType":"YulAssignment","src":"186906:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"186918:4:21","nodeType":"YulLiteral","src":"186918:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"186912:5:21","nodeType":"YulIdentifier","src":"186912:5:21"},"nativeSrc":"186912:11:21","nodeType":"YulFunctionCall","src":"186912:11:21"},"variableNames":[{"name":"m6","nativeSrc":"186906:2:21","nodeType":"YulIdentifier","src":"186906:2:21"}]},{"nativeSrc":"186936:17:21","nodeType":"YulAssignment","src":"186936:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"186948:4:21","nodeType":"YulLiteral","src":"186948:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"186942:5:21","nodeType":"YulIdentifier","src":"186942:5:21"},"nativeSrc":"186942:11:21","nodeType":"YulFunctionCall","src":"186942:11:21"},"variableNames":[{"name":"m7","nativeSrc":"186936:2:21","nodeType":"YulIdentifier","src":"186936:2:21"}]},{"nativeSrc":"186966:18:21","nodeType":"YulAssignment","src":"186966:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"186978:5:21","nodeType":"YulLiteral","src":"186978:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"186972:5:21","nodeType":"YulIdentifier","src":"186972:5:21"},"nativeSrc":"186972:12:21","nodeType":"YulFunctionCall","src":"186972:12:21"},"variableNames":[{"name":"m8","nativeSrc":"186966:2:21","nodeType":"YulIdentifier","src":"186966:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187066:4:21","nodeType":"YulLiteral","src":"187066:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"187072:10:21","nodeType":"YulLiteral","src":"187072:10:21","type":"","value":"0xa73c1db6"}],"functionName":{"name":"mstore","nativeSrc":"187059:6:21","nodeType":"YulIdentifier","src":"187059:6:21"},"nativeSrc":"187059:24:21","nodeType":"YulFunctionCall","src":"187059:24:21"},"nativeSrc":"187059:24:21","nodeType":"YulExpressionStatement","src":"187059:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187103:4:21","nodeType":"YulLiteral","src":"187103:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"187109:2:21","nodeType":"YulIdentifier","src":"187109:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187096:6:21","nodeType":"YulIdentifier","src":"187096:6:21"},"nativeSrc":"187096:16:21","nodeType":"YulFunctionCall","src":"187096:16:21"},"nativeSrc":"187096:16:21","nodeType":"YulExpressionStatement","src":"187096:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187132:4:21","nodeType":"YulLiteral","src":"187132:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"187138:2:21","nodeType":"YulIdentifier","src":"187138:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187125:6:21","nodeType":"YulIdentifier","src":"187125:6:21"},"nativeSrc":"187125:16:21","nodeType":"YulFunctionCall","src":"187125:16:21"},"nativeSrc":"187125:16:21","nodeType":"YulExpressionStatement","src":"187125:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187161:4:21","nodeType":"YulLiteral","src":"187161:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"187167:4:21","nodeType":"YulLiteral","src":"187167:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"187154:6:21","nodeType":"YulIdentifier","src":"187154:6:21"},"nativeSrc":"187154:18:21","nodeType":"YulFunctionCall","src":"187154:18:21"},"nativeSrc":"187154:18:21","nodeType":"YulExpressionStatement","src":"187154:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187192:4:21","nodeType":"YulLiteral","src":"187192:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"187198:4:21","nodeType":"YulLiteral","src":"187198:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"187185:6:21","nodeType":"YulIdentifier","src":"187185:6:21"},"nativeSrc":"187185:18:21","nodeType":"YulFunctionCall","src":"187185:18:21"},"nativeSrc":"187185:18:21","nodeType":"YulExpressionStatement","src":"187185:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187228:4:21","nodeType":"YulLiteral","src":"187228:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"187234:2:21","nodeType":"YulIdentifier","src":"187234:2:21"}],"functionName":{"name":"writeString","nativeSrc":"187216:11:21","nodeType":"YulIdentifier","src":"187216:11:21"},"nativeSrc":"187216:21:21","nodeType":"YulFunctionCall","src":"187216:21:21"},"nativeSrc":"187216:21:21","nodeType":"YulExpressionStatement","src":"187216:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187262:4:21","nodeType":"YulLiteral","src":"187262:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"187268:2:21","nodeType":"YulIdentifier","src":"187268:2:21"}],"functionName":{"name":"writeString","nativeSrc":"187250:11:21","nodeType":"YulIdentifier","src":"187250:11:21"},"nativeSrc":"187250:21:21","nodeType":"YulFunctionCall","src":"187250:21:21"},"nativeSrc":"187250:21:21","nodeType":"YulExpressionStatement","src":"187250:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32818,"isOffset":false,"isSlot":false,"src":"186726:2:21","valueSize":1},{"declaration":32821,"isOffset":false,"isSlot":false,"src":"186756:2:21","valueSize":1},{"declaration":32824,"isOffset":false,"isSlot":false,"src":"186786:2:21","valueSize":1},{"declaration":32827,"isOffset":false,"isSlot":false,"src":"186816:2:21","valueSize":1},{"declaration":32830,"isOffset":false,"isSlot":false,"src":"186846:2:21","valueSize":1},{"declaration":32833,"isOffset":false,"isSlot":false,"src":"186876:2:21","valueSize":1},{"declaration":32836,"isOffset":false,"isSlot":false,"src":"186906:2:21","valueSize":1},{"declaration":32839,"isOffset":false,"isSlot":false,"src":"186936:2:21","valueSize":1},{"declaration":32842,"isOffset":false,"isSlot":false,"src":"186966:2:21","valueSize":1},{"declaration":32808,"isOffset":false,"isSlot":false,"src":"187109:2:21","valueSize":1},{"declaration":32810,"isOffset":false,"isSlot":false,"src":"187138:2:21","valueSize":1},{"declaration":32812,"isOffset":false,"isSlot":false,"src":"187234:2:21","valueSize":1},{"declaration":32814,"isOffset":false,"isSlot":false,"src":"187268:2:21","valueSize":1}],"id":32844,"nodeType":"InlineAssembly","src":"186348:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"187306:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":32847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"187312:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":32845,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"187290:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"187290:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32849,"nodeType":"ExpressionStatement","src":"187290:28:21"},{"AST":{"nativeSrc":"187380:273:21","nodeType":"YulBlock","src":"187380:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"187401:4:21","nodeType":"YulLiteral","src":"187401:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"187407:2:21","nodeType":"YulIdentifier","src":"187407:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187394:6:21","nodeType":"YulIdentifier","src":"187394:6:21"},"nativeSrc":"187394:16:21","nodeType":"YulFunctionCall","src":"187394:16:21"},"nativeSrc":"187394:16:21","nodeType":"YulExpressionStatement","src":"187394:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187430:4:21","nodeType":"YulLiteral","src":"187430:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"187436:2:21","nodeType":"YulIdentifier","src":"187436:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187423:6:21","nodeType":"YulIdentifier","src":"187423:6:21"},"nativeSrc":"187423:16:21","nodeType":"YulFunctionCall","src":"187423:16:21"},"nativeSrc":"187423:16:21","nodeType":"YulExpressionStatement","src":"187423:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187459:4:21","nodeType":"YulLiteral","src":"187459:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"187465:2:21","nodeType":"YulIdentifier","src":"187465:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187452:6:21","nodeType":"YulIdentifier","src":"187452:6:21"},"nativeSrc":"187452:16:21","nodeType":"YulFunctionCall","src":"187452:16:21"},"nativeSrc":"187452:16:21","nodeType":"YulExpressionStatement","src":"187452:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187488:4:21","nodeType":"YulLiteral","src":"187488:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"187494:2:21","nodeType":"YulIdentifier","src":"187494:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187481:6:21","nodeType":"YulIdentifier","src":"187481:6:21"},"nativeSrc":"187481:16:21","nodeType":"YulFunctionCall","src":"187481:16:21"},"nativeSrc":"187481:16:21","nodeType":"YulExpressionStatement","src":"187481:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187517:4:21","nodeType":"YulLiteral","src":"187517:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"187523:2:21","nodeType":"YulIdentifier","src":"187523:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187510:6:21","nodeType":"YulIdentifier","src":"187510:6:21"},"nativeSrc":"187510:16:21","nodeType":"YulFunctionCall","src":"187510:16:21"},"nativeSrc":"187510:16:21","nodeType":"YulExpressionStatement","src":"187510:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187546:4:21","nodeType":"YulLiteral","src":"187546:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"187552:2:21","nodeType":"YulIdentifier","src":"187552:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187539:6:21","nodeType":"YulIdentifier","src":"187539:6:21"},"nativeSrc":"187539:16:21","nodeType":"YulFunctionCall","src":"187539:16:21"},"nativeSrc":"187539:16:21","nodeType":"YulExpressionStatement","src":"187539:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187575:4:21","nodeType":"YulLiteral","src":"187575:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"187581:2:21","nodeType":"YulIdentifier","src":"187581:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187568:6:21","nodeType":"YulIdentifier","src":"187568:6:21"},"nativeSrc":"187568:16:21","nodeType":"YulFunctionCall","src":"187568:16:21"},"nativeSrc":"187568:16:21","nodeType":"YulExpressionStatement","src":"187568:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187604:4:21","nodeType":"YulLiteral","src":"187604:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"187610:2:21","nodeType":"YulIdentifier","src":"187610:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187597:6:21","nodeType":"YulIdentifier","src":"187597:6:21"},"nativeSrc":"187597:16:21","nodeType":"YulFunctionCall","src":"187597:16:21"},"nativeSrc":"187597:16:21","nodeType":"YulExpressionStatement","src":"187597:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187633:5:21","nodeType":"YulLiteral","src":"187633:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"187640:2:21","nodeType":"YulIdentifier","src":"187640:2:21"}],"functionName":{"name":"mstore","nativeSrc":"187626:6:21","nodeType":"YulIdentifier","src":"187626:6:21"},"nativeSrc":"187626:17:21","nodeType":"YulFunctionCall","src":"187626:17:21"},"nativeSrc":"187626:17:21","nodeType":"YulExpressionStatement","src":"187626:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32818,"isOffset":false,"isSlot":false,"src":"187407:2:21","valueSize":1},{"declaration":32821,"isOffset":false,"isSlot":false,"src":"187436:2:21","valueSize":1},{"declaration":32824,"isOffset":false,"isSlot":false,"src":"187465:2:21","valueSize":1},{"declaration":32827,"isOffset":false,"isSlot":false,"src":"187494:2:21","valueSize":1},{"declaration":32830,"isOffset":false,"isSlot":false,"src":"187523:2:21","valueSize":1},{"declaration":32833,"isOffset":false,"isSlot":false,"src":"187552:2:21","valueSize":1},{"declaration":32836,"isOffset":false,"isSlot":false,"src":"187581:2:21","valueSize":1},{"declaration":32839,"isOffset":false,"isSlot":false,"src":"187610:2:21","valueSize":1},{"declaration":32842,"isOffset":false,"isSlot":false,"src":"187640:2:21","valueSize":1}],"id":32850,"nodeType":"InlineAssembly","src":"187371:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"186052:3:21","parameters":{"id":32815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32808,"mutability":"mutable","name":"p0","nameLocation":"186061:2:21","nodeType":"VariableDeclaration","scope":32852,"src":"186056:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32807,"name":"bool","nodeType":"ElementaryTypeName","src":"186056:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32810,"mutability":"mutable","name":"p1","nameLocation":"186073:2:21","nodeType":"VariableDeclaration","scope":32852,"src":"186065:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32809,"name":"address","nodeType":"ElementaryTypeName","src":"186065:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32812,"mutability":"mutable","name":"p2","nameLocation":"186085:2:21","nodeType":"VariableDeclaration","scope":32852,"src":"186077:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186077:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32814,"mutability":"mutable","name":"p3","nameLocation":"186097:2:21","nodeType":"VariableDeclaration","scope":32852,"src":"186089:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186089:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"186055:45:21"},"returnParameters":{"id":32816,"nodeType":"ParameterList","parameters":[],"src":"186115:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32886,"nodeType":"FunctionDefinition","src":"187665:866:21","nodes":[],"body":{"id":32885,"nodeType":"Block","src":"187734:797:21","nodes":[],"statements":[{"assignments":[32864],"declarations":[{"constant":false,"id":32864,"mutability":"mutable","name":"m0","nameLocation":"187752:2:21","nodeType":"VariableDeclaration","scope":32885,"src":"187744:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32863,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187744:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32865,"nodeType":"VariableDeclarationStatement","src":"187744:10:21"},{"assignments":[32867],"declarations":[{"constant":false,"id":32867,"mutability":"mutable","name":"m1","nameLocation":"187772:2:21","nodeType":"VariableDeclaration","scope":32885,"src":"187764:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187764:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32868,"nodeType":"VariableDeclarationStatement","src":"187764:10:21"},{"assignments":[32870],"declarations":[{"constant":false,"id":32870,"mutability":"mutable","name":"m2","nameLocation":"187792:2:21","nodeType":"VariableDeclaration","scope":32885,"src":"187784:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187784:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32871,"nodeType":"VariableDeclarationStatement","src":"187784:10:21"},{"assignments":[32873],"declarations":[{"constant":false,"id":32873,"mutability":"mutable","name":"m3","nameLocation":"187812:2:21","nodeType":"VariableDeclaration","scope":32885,"src":"187804:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187804:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32874,"nodeType":"VariableDeclarationStatement","src":"187804:10:21"},{"assignments":[32876],"declarations":[{"constant":false,"id":32876,"mutability":"mutable","name":"m4","nameLocation":"187832:2:21","nodeType":"VariableDeclaration","scope":32885,"src":"187824:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187824:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32877,"nodeType":"VariableDeclarationStatement","src":"187824:10:21"},{"AST":{"nativeSrc":"187896:375:21","nodeType":"YulBlock","src":"187896:375:21","statements":[{"nativeSrc":"187910:17:21","nodeType":"YulAssignment","src":"187910:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"187922:4:21","nodeType":"YulLiteral","src":"187922:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"187916:5:21","nodeType":"YulIdentifier","src":"187916:5:21"},"nativeSrc":"187916:11:21","nodeType":"YulFunctionCall","src":"187916:11:21"},"variableNames":[{"name":"m0","nativeSrc":"187910:2:21","nodeType":"YulIdentifier","src":"187910:2:21"}]},{"nativeSrc":"187940:17:21","nodeType":"YulAssignment","src":"187940:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"187952:4:21","nodeType":"YulLiteral","src":"187952:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"187946:5:21","nodeType":"YulIdentifier","src":"187946:5:21"},"nativeSrc":"187946:11:21","nodeType":"YulFunctionCall","src":"187946:11:21"},"variableNames":[{"name":"m1","nativeSrc":"187940:2:21","nodeType":"YulIdentifier","src":"187940:2:21"}]},{"nativeSrc":"187970:17:21","nodeType":"YulAssignment","src":"187970:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"187982:4:21","nodeType":"YulLiteral","src":"187982:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"187976:5:21","nodeType":"YulIdentifier","src":"187976:5:21"},"nativeSrc":"187976:11:21","nodeType":"YulFunctionCall","src":"187976:11:21"},"variableNames":[{"name":"m2","nativeSrc":"187970:2:21","nodeType":"YulIdentifier","src":"187970:2:21"}]},{"nativeSrc":"188000:17:21","nodeType":"YulAssignment","src":"188000:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"188012:4:21","nodeType":"YulLiteral","src":"188012:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"188006:5:21","nodeType":"YulIdentifier","src":"188006:5:21"},"nativeSrc":"188006:11:21","nodeType":"YulFunctionCall","src":"188006:11:21"},"variableNames":[{"name":"m3","nativeSrc":"188000:2:21","nodeType":"YulIdentifier","src":"188000:2:21"}]},{"nativeSrc":"188030:17:21","nodeType":"YulAssignment","src":"188030:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"188042:4:21","nodeType":"YulLiteral","src":"188042:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"188036:5:21","nodeType":"YulIdentifier","src":"188036:5:21"},"nativeSrc":"188036:11:21","nodeType":"YulFunctionCall","src":"188036:11:21"},"variableNames":[{"name":"m4","nativeSrc":"188030:2:21","nodeType":"YulIdentifier","src":"188030:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188128:4:21","nodeType":"YulLiteral","src":"188128:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"188134:10:21","nodeType":"YulLiteral","src":"188134:10:21","type":"","value":"0xf4880ea4"}],"functionName":{"name":"mstore","nativeSrc":"188121:6:21","nodeType":"YulIdentifier","src":"188121:6:21"},"nativeSrc":"188121:24:21","nodeType":"YulFunctionCall","src":"188121:24:21"},"nativeSrc":"188121:24:21","nodeType":"YulExpressionStatement","src":"188121:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188165:4:21","nodeType":"YulLiteral","src":"188165:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"188171:2:21","nodeType":"YulIdentifier","src":"188171:2:21"}],"functionName":{"name":"mstore","nativeSrc":"188158:6:21","nodeType":"YulIdentifier","src":"188158:6:21"},"nativeSrc":"188158:16:21","nodeType":"YulFunctionCall","src":"188158:16:21"},"nativeSrc":"188158:16:21","nodeType":"YulExpressionStatement","src":"188158:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188194:4:21","nodeType":"YulLiteral","src":"188194:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"188200:2:21","nodeType":"YulIdentifier","src":"188200:2:21"}],"functionName":{"name":"mstore","nativeSrc":"188187:6:21","nodeType":"YulIdentifier","src":"188187:6:21"},"nativeSrc":"188187:16:21","nodeType":"YulFunctionCall","src":"188187:16:21"},"nativeSrc":"188187:16:21","nodeType":"YulExpressionStatement","src":"188187:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188223:4:21","nodeType":"YulLiteral","src":"188223:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"188229:2:21","nodeType":"YulIdentifier","src":"188229:2:21"}],"functionName":{"name":"mstore","nativeSrc":"188216:6:21","nodeType":"YulIdentifier","src":"188216:6:21"},"nativeSrc":"188216:16:21","nodeType":"YulFunctionCall","src":"188216:16:21"},"nativeSrc":"188216:16:21","nodeType":"YulExpressionStatement","src":"188216:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188252:4:21","nodeType":"YulLiteral","src":"188252:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"188258:2:21","nodeType":"YulIdentifier","src":"188258:2:21"}],"functionName":{"name":"mstore","nativeSrc":"188245:6:21","nodeType":"YulIdentifier","src":"188245:6:21"},"nativeSrc":"188245:16:21","nodeType":"YulFunctionCall","src":"188245:16:21"},"nativeSrc":"188245:16:21","nodeType":"YulExpressionStatement","src":"188245:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32864,"isOffset":false,"isSlot":false,"src":"187910:2:21","valueSize":1},{"declaration":32867,"isOffset":false,"isSlot":false,"src":"187940:2:21","valueSize":1},{"declaration":32870,"isOffset":false,"isSlot":false,"src":"187970:2:21","valueSize":1},{"declaration":32873,"isOffset":false,"isSlot":false,"src":"188000:2:21","valueSize":1},{"declaration":32876,"isOffset":false,"isSlot":false,"src":"188030:2:21","valueSize":1},{"declaration":32854,"isOffset":false,"isSlot":false,"src":"188171:2:21","valueSize":1},{"declaration":32856,"isOffset":false,"isSlot":false,"src":"188200:2:21","valueSize":1},{"declaration":32858,"isOffset":false,"isSlot":false,"src":"188229:2:21","valueSize":1},{"declaration":32860,"isOffset":false,"isSlot":false,"src":"188258:2:21","valueSize":1}],"id":32878,"nodeType":"InlineAssembly","src":"187887:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"188296:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"188302:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32879,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"188280:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"188280:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32883,"nodeType":"ExpressionStatement","src":"188280:27:21"},{"AST":{"nativeSrc":"188369:156:21","nodeType":"YulBlock","src":"188369:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"188390:4:21","nodeType":"YulLiteral","src":"188390:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"188396:2:21","nodeType":"YulIdentifier","src":"188396:2:21"}],"functionName":{"name":"mstore","nativeSrc":"188383:6:21","nodeType":"YulIdentifier","src":"188383:6:21"},"nativeSrc":"188383:16:21","nodeType":"YulFunctionCall","src":"188383:16:21"},"nativeSrc":"188383:16:21","nodeType":"YulExpressionStatement","src":"188383:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188419:4:21","nodeType":"YulLiteral","src":"188419:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"188425:2:21","nodeType":"YulIdentifier","src":"188425:2:21"}],"functionName":{"name":"mstore","nativeSrc":"188412:6:21","nodeType":"YulIdentifier","src":"188412:6:21"},"nativeSrc":"188412:16:21","nodeType":"YulFunctionCall","src":"188412:16:21"},"nativeSrc":"188412:16:21","nodeType":"YulExpressionStatement","src":"188412:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188448:4:21","nodeType":"YulLiteral","src":"188448:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"188454:2:21","nodeType":"YulIdentifier","src":"188454:2:21"}],"functionName":{"name":"mstore","nativeSrc":"188441:6:21","nodeType":"YulIdentifier","src":"188441:6:21"},"nativeSrc":"188441:16:21","nodeType":"YulFunctionCall","src":"188441:16:21"},"nativeSrc":"188441:16:21","nodeType":"YulExpressionStatement","src":"188441:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188477:4:21","nodeType":"YulLiteral","src":"188477:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"188483:2:21","nodeType":"YulIdentifier","src":"188483:2:21"}],"functionName":{"name":"mstore","nativeSrc":"188470:6:21","nodeType":"YulIdentifier","src":"188470:6:21"},"nativeSrc":"188470:16:21","nodeType":"YulFunctionCall","src":"188470:16:21"},"nativeSrc":"188470:16:21","nodeType":"YulExpressionStatement","src":"188470:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188506:4:21","nodeType":"YulLiteral","src":"188506:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"188512:2:21","nodeType":"YulIdentifier","src":"188512:2:21"}],"functionName":{"name":"mstore","nativeSrc":"188499:6:21","nodeType":"YulIdentifier","src":"188499:6:21"},"nativeSrc":"188499:16:21","nodeType":"YulFunctionCall","src":"188499:16:21"},"nativeSrc":"188499:16:21","nodeType":"YulExpressionStatement","src":"188499:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32864,"isOffset":false,"isSlot":false,"src":"188396:2:21","valueSize":1},{"declaration":32867,"isOffset":false,"isSlot":false,"src":"188425:2:21","valueSize":1},{"declaration":32870,"isOffset":false,"isSlot":false,"src":"188454:2:21","valueSize":1},{"declaration":32873,"isOffset":false,"isSlot":false,"src":"188483:2:21","valueSize":1},{"declaration":32876,"isOffset":false,"isSlot":false,"src":"188512:2:21","valueSize":1}],"id":32884,"nodeType":"InlineAssembly","src":"188360:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"187674:3:21","parameters":{"id":32861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32854,"mutability":"mutable","name":"p0","nameLocation":"187683:2:21","nodeType":"VariableDeclaration","scope":32886,"src":"187678:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32853,"name":"bool","nodeType":"ElementaryTypeName","src":"187678:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32856,"mutability":"mutable","name":"p1","nameLocation":"187692:2:21","nodeType":"VariableDeclaration","scope":32886,"src":"187687:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32855,"name":"bool","nodeType":"ElementaryTypeName","src":"187687:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32858,"mutability":"mutable","name":"p2","nameLocation":"187704:2:21","nodeType":"VariableDeclaration","scope":32886,"src":"187696:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32857,"name":"address","nodeType":"ElementaryTypeName","src":"187696:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32860,"mutability":"mutable","name":"p3","nameLocation":"187716:2:21","nodeType":"VariableDeclaration","scope":32886,"src":"187708:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32859,"name":"address","nodeType":"ElementaryTypeName","src":"187708:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"187677:42:21"},"returnParameters":{"id":32862,"nodeType":"ParameterList","parameters":[],"src":"187734:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32920,"nodeType":"FunctionDefinition","src":"188537:860:21","nodes":[],"body":{"id":32919,"nodeType":"Block","src":"188603:794:21","nodes":[],"statements":[{"assignments":[32898],"declarations":[{"constant":false,"id":32898,"mutability":"mutable","name":"m0","nameLocation":"188621:2:21","nodeType":"VariableDeclaration","scope":32919,"src":"188613:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188613:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32899,"nodeType":"VariableDeclarationStatement","src":"188613:10:21"},{"assignments":[32901],"declarations":[{"constant":false,"id":32901,"mutability":"mutable","name":"m1","nameLocation":"188641:2:21","nodeType":"VariableDeclaration","scope":32919,"src":"188633:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188633:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32902,"nodeType":"VariableDeclarationStatement","src":"188633:10:21"},{"assignments":[32904],"declarations":[{"constant":false,"id":32904,"mutability":"mutable","name":"m2","nameLocation":"188661:2:21","nodeType":"VariableDeclaration","scope":32919,"src":"188653:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188653:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32905,"nodeType":"VariableDeclarationStatement","src":"188653:10:21"},{"assignments":[32907],"declarations":[{"constant":false,"id":32907,"mutability":"mutable","name":"m3","nameLocation":"188681:2:21","nodeType":"VariableDeclaration","scope":32919,"src":"188673:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188673:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32908,"nodeType":"VariableDeclarationStatement","src":"188673:10:21"},{"assignments":[32910],"declarations":[{"constant":false,"id":32910,"mutability":"mutable","name":"m4","nameLocation":"188701:2:21","nodeType":"VariableDeclaration","scope":32919,"src":"188693:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188693:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32911,"nodeType":"VariableDeclarationStatement","src":"188693:10:21"},{"AST":{"nativeSrc":"188765:372:21","nodeType":"YulBlock","src":"188765:372:21","statements":[{"nativeSrc":"188779:17:21","nodeType":"YulAssignment","src":"188779:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"188791:4:21","nodeType":"YulLiteral","src":"188791:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"188785:5:21","nodeType":"YulIdentifier","src":"188785:5:21"},"nativeSrc":"188785:11:21","nodeType":"YulFunctionCall","src":"188785:11:21"},"variableNames":[{"name":"m0","nativeSrc":"188779:2:21","nodeType":"YulIdentifier","src":"188779:2:21"}]},{"nativeSrc":"188809:17:21","nodeType":"YulAssignment","src":"188809:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"188821:4:21","nodeType":"YulLiteral","src":"188821:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"188815:5:21","nodeType":"YulIdentifier","src":"188815:5:21"},"nativeSrc":"188815:11:21","nodeType":"YulFunctionCall","src":"188815:11:21"},"variableNames":[{"name":"m1","nativeSrc":"188809:2:21","nodeType":"YulIdentifier","src":"188809:2:21"}]},{"nativeSrc":"188839:17:21","nodeType":"YulAssignment","src":"188839:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"188851:4:21","nodeType":"YulLiteral","src":"188851:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"188845:5:21","nodeType":"YulIdentifier","src":"188845:5:21"},"nativeSrc":"188845:11:21","nodeType":"YulFunctionCall","src":"188845:11:21"},"variableNames":[{"name":"m2","nativeSrc":"188839:2:21","nodeType":"YulIdentifier","src":"188839:2:21"}]},{"nativeSrc":"188869:17:21","nodeType":"YulAssignment","src":"188869:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"188881:4:21","nodeType":"YulLiteral","src":"188881:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"188875:5:21","nodeType":"YulIdentifier","src":"188875:5:21"},"nativeSrc":"188875:11:21","nodeType":"YulFunctionCall","src":"188875:11:21"},"variableNames":[{"name":"m3","nativeSrc":"188869:2:21","nodeType":"YulIdentifier","src":"188869:2:21"}]},{"nativeSrc":"188899:17:21","nodeType":"YulAssignment","src":"188899:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"188911:4:21","nodeType":"YulLiteral","src":"188911:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"188905:5:21","nodeType":"YulIdentifier","src":"188905:5:21"},"nativeSrc":"188905:11:21","nodeType":"YulFunctionCall","src":"188905:11:21"},"variableNames":[{"name":"m4","nativeSrc":"188899:2:21","nodeType":"YulIdentifier","src":"188899:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188994:4:21","nodeType":"YulLiteral","src":"188994:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"189000:10:21","nodeType":"YulLiteral","src":"189000:10:21","type":"","value":"0xc0a302d8"}],"functionName":{"name":"mstore","nativeSrc":"188987:6:21","nodeType":"YulIdentifier","src":"188987:6:21"},"nativeSrc":"188987:24:21","nodeType":"YulFunctionCall","src":"188987:24:21"},"nativeSrc":"188987:24:21","nodeType":"YulExpressionStatement","src":"188987:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189031:4:21","nodeType":"YulLiteral","src":"189031:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"189037:2:21","nodeType":"YulIdentifier","src":"189037:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189024:6:21","nodeType":"YulIdentifier","src":"189024:6:21"},"nativeSrc":"189024:16:21","nodeType":"YulFunctionCall","src":"189024:16:21"},"nativeSrc":"189024:16:21","nodeType":"YulExpressionStatement","src":"189024:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189060:4:21","nodeType":"YulLiteral","src":"189060:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"189066:2:21","nodeType":"YulIdentifier","src":"189066:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189053:6:21","nodeType":"YulIdentifier","src":"189053:6:21"},"nativeSrc":"189053:16:21","nodeType":"YulFunctionCall","src":"189053:16:21"},"nativeSrc":"189053:16:21","nodeType":"YulExpressionStatement","src":"189053:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189089:4:21","nodeType":"YulLiteral","src":"189089:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"189095:2:21","nodeType":"YulIdentifier","src":"189095:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189082:6:21","nodeType":"YulIdentifier","src":"189082:6:21"},"nativeSrc":"189082:16:21","nodeType":"YulFunctionCall","src":"189082:16:21"},"nativeSrc":"189082:16:21","nodeType":"YulExpressionStatement","src":"189082:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189118:4:21","nodeType":"YulLiteral","src":"189118:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"189124:2:21","nodeType":"YulIdentifier","src":"189124:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189111:6:21","nodeType":"YulIdentifier","src":"189111:6:21"},"nativeSrc":"189111:16:21","nodeType":"YulFunctionCall","src":"189111:16:21"},"nativeSrc":"189111:16:21","nodeType":"YulExpressionStatement","src":"189111:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32898,"isOffset":false,"isSlot":false,"src":"188779:2:21","valueSize":1},{"declaration":32901,"isOffset":false,"isSlot":false,"src":"188809:2:21","valueSize":1},{"declaration":32904,"isOffset":false,"isSlot":false,"src":"188839:2:21","valueSize":1},{"declaration":32907,"isOffset":false,"isSlot":false,"src":"188869:2:21","valueSize":1},{"declaration":32910,"isOffset":false,"isSlot":false,"src":"188899:2:21","valueSize":1},{"declaration":32888,"isOffset":false,"isSlot":false,"src":"189037:2:21","valueSize":1},{"declaration":32890,"isOffset":false,"isSlot":false,"src":"189066:2:21","valueSize":1},{"declaration":32892,"isOffset":false,"isSlot":false,"src":"189095:2:21","valueSize":1},{"declaration":32894,"isOffset":false,"isSlot":false,"src":"189124:2:21","valueSize":1}],"id":32912,"nodeType":"InlineAssembly","src":"188756:381:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"189162:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"189168:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32913,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"189146:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"189146:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32917,"nodeType":"ExpressionStatement","src":"189146:27:21"},{"AST":{"nativeSrc":"189235:156:21","nodeType":"YulBlock","src":"189235:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"189256:4:21","nodeType":"YulLiteral","src":"189256:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"189262:2:21","nodeType":"YulIdentifier","src":"189262:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189249:6:21","nodeType":"YulIdentifier","src":"189249:6:21"},"nativeSrc":"189249:16:21","nodeType":"YulFunctionCall","src":"189249:16:21"},"nativeSrc":"189249:16:21","nodeType":"YulExpressionStatement","src":"189249:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189285:4:21","nodeType":"YulLiteral","src":"189285:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"189291:2:21","nodeType":"YulIdentifier","src":"189291:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189278:6:21","nodeType":"YulIdentifier","src":"189278:6:21"},"nativeSrc":"189278:16:21","nodeType":"YulFunctionCall","src":"189278:16:21"},"nativeSrc":"189278:16:21","nodeType":"YulExpressionStatement","src":"189278:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189314:4:21","nodeType":"YulLiteral","src":"189314:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"189320:2:21","nodeType":"YulIdentifier","src":"189320:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189307:6:21","nodeType":"YulIdentifier","src":"189307:6:21"},"nativeSrc":"189307:16:21","nodeType":"YulFunctionCall","src":"189307:16:21"},"nativeSrc":"189307:16:21","nodeType":"YulExpressionStatement","src":"189307:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189343:4:21","nodeType":"YulLiteral","src":"189343:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"189349:2:21","nodeType":"YulIdentifier","src":"189349:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189336:6:21","nodeType":"YulIdentifier","src":"189336:6:21"},"nativeSrc":"189336:16:21","nodeType":"YulFunctionCall","src":"189336:16:21"},"nativeSrc":"189336:16:21","nodeType":"YulExpressionStatement","src":"189336:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189372:4:21","nodeType":"YulLiteral","src":"189372:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"189378:2:21","nodeType":"YulIdentifier","src":"189378:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189365:6:21","nodeType":"YulIdentifier","src":"189365:6:21"},"nativeSrc":"189365:16:21","nodeType":"YulFunctionCall","src":"189365:16:21"},"nativeSrc":"189365:16:21","nodeType":"YulExpressionStatement","src":"189365:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32898,"isOffset":false,"isSlot":false,"src":"189262:2:21","valueSize":1},{"declaration":32901,"isOffset":false,"isSlot":false,"src":"189291:2:21","valueSize":1},{"declaration":32904,"isOffset":false,"isSlot":false,"src":"189320:2:21","valueSize":1},{"declaration":32907,"isOffset":false,"isSlot":false,"src":"189349:2:21","valueSize":1},{"declaration":32910,"isOffset":false,"isSlot":false,"src":"189378:2:21","valueSize":1}],"id":32918,"nodeType":"InlineAssembly","src":"189226:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"188546:3:21","parameters":{"id":32895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32888,"mutability":"mutable","name":"p0","nameLocation":"188555:2:21","nodeType":"VariableDeclaration","scope":32920,"src":"188550:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32887,"name":"bool","nodeType":"ElementaryTypeName","src":"188550:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32890,"mutability":"mutable","name":"p1","nameLocation":"188564:2:21","nodeType":"VariableDeclaration","scope":32920,"src":"188559:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32889,"name":"bool","nodeType":"ElementaryTypeName","src":"188559:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32892,"mutability":"mutable","name":"p2","nameLocation":"188576:2:21","nodeType":"VariableDeclaration","scope":32920,"src":"188568:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32891,"name":"address","nodeType":"ElementaryTypeName","src":"188568:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32894,"mutability":"mutable","name":"p3","nameLocation":"188585:2:21","nodeType":"VariableDeclaration","scope":32920,"src":"188580:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32893,"name":"bool","nodeType":"ElementaryTypeName","src":"188580:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"188549:39:21"},"returnParameters":{"id":32896,"nodeType":"ParameterList","parameters":[],"src":"188603:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32954,"nodeType":"FunctionDefinition","src":"189403:866:21","nodes":[],"body":{"id":32953,"nodeType":"Block","src":"189472:797:21","nodes":[],"statements":[{"assignments":[32932],"declarations":[{"constant":false,"id":32932,"mutability":"mutable","name":"m0","nameLocation":"189490:2:21","nodeType":"VariableDeclaration","scope":32953,"src":"189482:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189482:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32933,"nodeType":"VariableDeclarationStatement","src":"189482:10:21"},{"assignments":[32935],"declarations":[{"constant":false,"id":32935,"mutability":"mutable","name":"m1","nameLocation":"189510:2:21","nodeType":"VariableDeclaration","scope":32953,"src":"189502:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189502:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32936,"nodeType":"VariableDeclarationStatement","src":"189502:10:21"},{"assignments":[32938],"declarations":[{"constant":false,"id":32938,"mutability":"mutable","name":"m2","nameLocation":"189530:2:21","nodeType":"VariableDeclaration","scope":32953,"src":"189522:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189522:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32939,"nodeType":"VariableDeclarationStatement","src":"189522:10:21"},{"assignments":[32941],"declarations":[{"constant":false,"id":32941,"mutability":"mutable","name":"m3","nameLocation":"189550:2:21","nodeType":"VariableDeclaration","scope":32953,"src":"189542:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189542:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32942,"nodeType":"VariableDeclarationStatement","src":"189542:10:21"},{"assignments":[32944],"declarations":[{"constant":false,"id":32944,"mutability":"mutable","name":"m4","nameLocation":"189570:2:21","nodeType":"VariableDeclaration","scope":32953,"src":"189562:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189562:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32945,"nodeType":"VariableDeclarationStatement","src":"189562:10:21"},{"AST":{"nativeSrc":"189634:375:21","nodeType":"YulBlock","src":"189634:375:21","statements":[{"nativeSrc":"189648:17:21","nodeType":"YulAssignment","src":"189648:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"189660:4:21","nodeType":"YulLiteral","src":"189660:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"189654:5:21","nodeType":"YulIdentifier","src":"189654:5:21"},"nativeSrc":"189654:11:21","nodeType":"YulFunctionCall","src":"189654:11:21"},"variableNames":[{"name":"m0","nativeSrc":"189648:2:21","nodeType":"YulIdentifier","src":"189648:2:21"}]},{"nativeSrc":"189678:17:21","nodeType":"YulAssignment","src":"189678:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"189690:4:21","nodeType":"YulLiteral","src":"189690:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"189684:5:21","nodeType":"YulIdentifier","src":"189684:5:21"},"nativeSrc":"189684:11:21","nodeType":"YulFunctionCall","src":"189684:11:21"},"variableNames":[{"name":"m1","nativeSrc":"189678:2:21","nodeType":"YulIdentifier","src":"189678:2:21"}]},{"nativeSrc":"189708:17:21","nodeType":"YulAssignment","src":"189708:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"189720:4:21","nodeType":"YulLiteral","src":"189720:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"189714:5:21","nodeType":"YulIdentifier","src":"189714:5:21"},"nativeSrc":"189714:11:21","nodeType":"YulFunctionCall","src":"189714:11:21"},"variableNames":[{"name":"m2","nativeSrc":"189708:2:21","nodeType":"YulIdentifier","src":"189708:2:21"}]},{"nativeSrc":"189738:17:21","nodeType":"YulAssignment","src":"189738:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"189750:4:21","nodeType":"YulLiteral","src":"189750:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"189744:5:21","nodeType":"YulIdentifier","src":"189744:5:21"},"nativeSrc":"189744:11:21","nodeType":"YulFunctionCall","src":"189744:11:21"},"variableNames":[{"name":"m3","nativeSrc":"189738:2:21","nodeType":"YulIdentifier","src":"189738:2:21"}]},{"nativeSrc":"189768:17:21","nodeType":"YulAssignment","src":"189768:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"189780:4:21","nodeType":"YulLiteral","src":"189780:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"189774:5:21","nodeType":"YulIdentifier","src":"189774:5:21"},"nativeSrc":"189774:11:21","nodeType":"YulFunctionCall","src":"189774:11:21"},"variableNames":[{"name":"m4","nativeSrc":"189768:2:21","nodeType":"YulIdentifier","src":"189768:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189866:4:21","nodeType":"YulLiteral","src":"189866:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"189872:10:21","nodeType":"YulLiteral","src":"189872:10:21","type":"","value":"0x4c123d57"}],"functionName":{"name":"mstore","nativeSrc":"189859:6:21","nodeType":"YulIdentifier","src":"189859:6:21"},"nativeSrc":"189859:24:21","nodeType":"YulFunctionCall","src":"189859:24:21"},"nativeSrc":"189859:24:21","nodeType":"YulExpressionStatement","src":"189859:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189903:4:21","nodeType":"YulLiteral","src":"189903:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"189909:2:21","nodeType":"YulIdentifier","src":"189909:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189896:6:21","nodeType":"YulIdentifier","src":"189896:6:21"},"nativeSrc":"189896:16:21","nodeType":"YulFunctionCall","src":"189896:16:21"},"nativeSrc":"189896:16:21","nodeType":"YulExpressionStatement","src":"189896:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189932:4:21","nodeType":"YulLiteral","src":"189932:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"189938:2:21","nodeType":"YulIdentifier","src":"189938:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189925:6:21","nodeType":"YulIdentifier","src":"189925:6:21"},"nativeSrc":"189925:16:21","nodeType":"YulFunctionCall","src":"189925:16:21"},"nativeSrc":"189925:16:21","nodeType":"YulExpressionStatement","src":"189925:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189961:4:21","nodeType":"YulLiteral","src":"189961:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"189967:2:21","nodeType":"YulIdentifier","src":"189967:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189954:6:21","nodeType":"YulIdentifier","src":"189954:6:21"},"nativeSrc":"189954:16:21","nodeType":"YulFunctionCall","src":"189954:16:21"},"nativeSrc":"189954:16:21","nodeType":"YulExpressionStatement","src":"189954:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189990:4:21","nodeType":"YulLiteral","src":"189990:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"189996:2:21","nodeType":"YulIdentifier","src":"189996:2:21"}],"functionName":{"name":"mstore","nativeSrc":"189983:6:21","nodeType":"YulIdentifier","src":"189983:6:21"},"nativeSrc":"189983:16:21","nodeType":"YulFunctionCall","src":"189983:16:21"},"nativeSrc":"189983:16:21","nodeType":"YulExpressionStatement","src":"189983:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32932,"isOffset":false,"isSlot":false,"src":"189648:2:21","valueSize":1},{"declaration":32935,"isOffset":false,"isSlot":false,"src":"189678:2:21","valueSize":1},{"declaration":32938,"isOffset":false,"isSlot":false,"src":"189708:2:21","valueSize":1},{"declaration":32941,"isOffset":false,"isSlot":false,"src":"189738:2:21","valueSize":1},{"declaration":32944,"isOffset":false,"isSlot":false,"src":"189768:2:21","valueSize":1},{"declaration":32922,"isOffset":false,"isSlot":false,"src":"189909:2:21","valueSize":1},{"declaration":32924,"isOffset":false,"isSlot":false,"src":"189938:2:21","valueSize":1},{"declaration":32926,"isOffset":false,"isSlot":false,"src":"189967:2:21","valueSize":1},{"declaration":32928,"isOffset":false,"isSlot":false,"src":"189996:2:21","valueSize":1}],"id":32946,"nodeType":"InlineAssembly","src":"189625:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"190034:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"190040:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32947,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"190018:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"190018:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32951,"nodeType":"ExpressionStatement","src":"190018:27:21"},{"AST":{"nativeSrc":"190107:156:21","nodeType":"YulBlock","src":"190107:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"190128:4:21","nodeType":"YulLiteral","src":"190128:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"190134:2:21","nodeType":"YulIdentifier","src":"190134:2:21"}],"functionName":{"name":"mstore","nativeSrc":"190121:6:21","nodeType":"YulIdentifier","src":"190121:6:21"},"nativeSrc":"190121:16:21","nodeType":"YulFunctionCall","src":"190121:16:21"},"nativeSrc":"190121:16:21","nodeType":"YulExpressionStatement","src":"190121:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190157:4:21","nodeType":"YulLiteral","src":"190157:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"190163:2:21","nodeType":"YulIdentifier","src":"190163:2:21"}],"functionName":{"name":"mstore","nativeSrc":"190150:6:21","nodeType":"YulIdentifier","src":"190150:6:21"},"nativeSrc":"190150:16:21","nodeType":"YulFunctionCall","src":"190150:16:21"},"nativeSrc":"190150:16:21","nodeType":"YulExpressionStatement","src":"190150:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190186:4:21","nodeType":"YulLiteral","src":"190186:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"190192:2:21","nodeType":"YulIdentifier","src":"190192:2:21"}],"functionName":{"name":"mstore","nativeSrc":"190179:6:21","nodeType":"YulIdentifier","src":"190179:6:21"},"nativeSrc":"190179:16:21","nodeType":"YulFunctionCall","src":"190179:16:21"},"nativeSrc":"190179:16:21","nodeType":"YulExpressionStatement","src":"190179:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190215:4:21","nodeType":"YulLiteral","src":"190215:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"190221:2:21","nodeType":"YulIdentifier","src":"190221:2:21"}],"functionName":{"name":"mstore","nativeSrc":"190208:6:21","nodeType":"YulIdentifier","src":"190208:6:21"},"nativeSrc":"190208:16:21","nodeType":"YulFunctionCall","src":"190208:16:21"},"nativeSrc":"190208:16:21","nodeType":"YulExpressionStatement","src":"190208:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190244:4:21","nodeType":"YulLiteral","src":"190244:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"190250:2:21","nodeType":"YulIdentifier","src":"190250:2:21"}],"functionName":{"name":"mstore","nativeSrc":"190237:6:21","nodeType":"YulIdentifier","src":"190237:6:21"},"nativeSrc":"190237:16:21","nodeType":"YulFunctionCall","src":"190237:16:21"},"nativeSrc":"190237:16:21","nodeType":"YulExpressionStatement","src":"190237:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32932,"isOffset":false,"isSlot":false,"src":"190134:2:21","valueSize":1},{"declaration":32935,"isOffset":false,"isSlot":false,"src":"190163:2:21","valueSize":1},{"declaration":32938,"isOffset":false,"isSlot":false,"src":"190192:2:21","valueSize":1},{"declaration":32941,"isOffset":false,"isSlot":false,"src":"190221:2:21","valueSize":1},{"declaration":32944,"isOffset":false,"isSlot":false,"src":"190250:2:21","valueSize":1}],"id":32952,"nodeType":"InlineAssembly","src":"190098:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"189412:3:21","parameters":{"id":32929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32922,"mutability":"mutable","name":"p0","nameLocation":"189421:2:21","nodeType":"VariableDeclaration","scope":32954,"src":"189416:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32921,"name":"bool","nodeType":"ElementaryTypeName","src":"189416:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32924,"mutability":"mutable","name":"p1","nameLocation":"189430:2:21","nodeType":"VariableDeclaration","scope":32954,"src":"189425:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32923,"name":"bool","nodeType":"ElementaryTypeName","src":"189425:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32926,"mutability":"mutable","name":"p2","nameLocation":"189442:2:21","nodeType":"VariableDeclaration","scope":32954,"src":"189434:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32925,"name":"address","nodeType":"ElementaryTypeName","src":"189434:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32928,"mutability":"mutable","name":"p3","nameLocation":"189454:2:21","nodeType":"VariableDeclaration","scope":32954,"src":"189446:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32927,"name":"uint256","nodeType":"ElementaryTypeName","src":"189446:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"189415:42:21"},"returnParameters":{"id":32930,"nodeType":"ParameterList","parameters":[],"src":"189472:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32994,"nodeType":"FunctionDefinition","src":"190275:1414:21","nodes":[],"body":{"id":32993,"nodeType":"Block","src":"190344:1345:21","nodes":[],"statements":[{"assignments":[32966],"declarations":[{"constant":false,"id":32966,"mutability":"mutable","name":"m0","nameLocation":"190362:2:21","nodeType":"VariableDeclaration","scope":32993,"src":"190354:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190354:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32967,"nodeType":"VariableDeclarationStatement","src":"190354:10:21"},{"assignments":[32969],"declarations":[{"constant":false,"id":32969,"mutability":"mutable","name":"m1","nameLocation":"190382:2:21","nodeType":"VariableDeclaration","scope":32993,"src":"190374:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190374:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32970,"nodeType":"VariableDeclarationStatement","src":"190374:10:21"},{"assignments":[32972],"declarations":[{"constant":false,"id":32972,"mutability":"mutable","name":"m2","nameLocation":"190402:2:21","nodeType":"VariableDeclaration","scope":32993,"src":"190394:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32971,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190394:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32973,"nodeType":"VariableDeclarationStatement","src":"190394:10:21"},{"assignments":[32975],"declarations":[{"constant":false,"id":32975,"mutability":"mutable","name":"m3","nameLocation":"190422:2:21","nodeType":"VariableDeclaration","scope":32993,"src":"190414:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190414:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32976,"nodeType":"VariableDeclarationStatement","src":"190414:10:21"},{"assignments":[32978],"declarations":[{"constant":false,"id":32978,"mutability":"mutable","name":"m4","nameLocation":"190442:2:21","nodeType":"VariableDeclaration","scope":32993,"src":"190434:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190434:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32979,"nodeType":"VariableDeclarationStatement","src":"190434:10:21"},{"assignments":[32981],"declarations":[{"constant":false,"id":32981,"mutability":"mutable","name":"m5","nameLocation":"190462:2:21","nodeType":"VariableDeclaration","scope":32993,"src":"190454:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190454:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32982,"nodeType":"VariableDeclarationStatement","src":"190454:10:21"},{"assignments":[32984],"declarations":[{"constant":false,"id":32984,"mutability":"mutable","name":"m6","nameLocation":"190482:2:21","nodeType":"VariableDeclaration","scope":32993,"src":"190474:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190474:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32985,"nodeType":"VariableDeclarationStatement","src":"190474:10:21"},{"AST":{"nativeSrc":"190546:825:21","nodeType":"YulBlock","src":"190546:825:21","statements":[{"body":{"nativeSrc":"190589:313:21","nodeType":"YulBlock","src":"190589:313:21","statements":[{"nativeSrc":"190607:15:21","nodeType":"YulVariableDeclaration","src":"190607:15:21","value":{"kind":"number","nativeSrc":"190621:1:21","nodeType":"YulLiteral","src":"190621:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"190611:6:21","nodeType":"YulTypedName","src":"190611:6:21","type":""}]},{"body":{"nativeSrc":"190692:40:21","nodeType":"YulBlock","src":"190692:40:21","statements":[{"body":{"nativeSrc":"190721:9:21","nodeType":"YulBlock","src":"190721:9:21","statements":[{"nativeSrc":"190723:5:21","nodeType":"YulBreak","src":"190723:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"190709:6:21","nodeType":"YulIdentifier","src":"190709:6:21"},{"name":"w","nativeSrc":"190717:1:21","nodeType":"YulIdentifier","src":"190717:1:21"}],"functionName":{"name":"byte","nativeSrc":"190704:4:21","nodeType":"YulIdentifier","src":"190704:4:21"},"nativeSrc":"190704:15:21","nodeType":"YulFunctionCall","src":"190704:15:21"}],"functionName":{"name":"iszero","nativeSrc":"190697:6:21","nodeType":"YulIdentifier","src":"190697:6:21"},"nativeSrc":"190697:23:21","nodeType":"YulFunctionCall","src":"190697:23:21"},"nativeSrc":"190694:36:21","nodeType":"YulIf","src":"190694:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"190649:6:21","nodeType":"YulIdentifier","src":"190649:6:21"},{"kind":"number","nativeSrc":"190657:4:21","nodeType":"YulLiteral","src":"190657:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"190646:2:21","nodeType":"YulIdentifier","src":"190646:2:21"},"nativeSrc":"190646:16:21","nodeType":"YulFunctionCall","src":"190646:16:21"},"nativeSrc":"190639:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"190663:28:21","nodeType":"YulBlock","src":"190663:28:21","statements":[{"nativeSrc":"190665:24:21","nodeType":"YulAssignment","src":"190665:24:21","value":{"arguments":[{"name":"length","nativeSrc":"190679:6:21","nodeType":"YulIdentifier","src":"190679:6:21"},{"kind":"number","nativeSrc":"190687:1:21","nodeType":"YulLiteral","src":"190687:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"190675:3:21","nodeType":"YulIdentifier","src":"190675:3:21"},"nativeSrc":"190675:14:21","nodeType":"YulFunctionCall","src":"190675:14:21"},"variableNames":[{"name":"length","nativeSrc":"190665:6:21","nodeType":"YulIdentifier","src":"190665:6:21"}]}]},"pre":{"nativeSrc":"190643:2:21","nodeType":"YulBlock","src":"190643:2:21","statements":[]},"src":"190639:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"190756:3:21","nodeType":"YulIdentifier","src":"190756:3:21"},{"name":"length","nativeSrc":"190761:6:21","nodeType":"YulIdentifier","src":"190761:6:21"}],"functionName":{"name":"mstore","nativeSrc":"190749:6:21","nodeType":"YulIdentifier","src":"190749:6:21"},"nativeSrc":"190749:19:21","nodeType":"YulFunctionCall","src":"190749:19:21"},"nativeSrc":"190749:19:21","nodeType":"YulExpressionStatement","src":"190749:19:21"},{"nativeSrc":"190785:37:21","nodeType":"YulVariableDeclaration","src":"190785:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"190802:3:21","nodeType":"YulLiteral","src":"190802:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"190811:1:21","nodeType":"YulLiteral","src":"190811:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"190814:6:21","nodeType":"YulIdentifier","src":"190814:6:21"}],"functionName":{"name":"shl","nativeSrc":"190807:3:21","nodeType":"YulIdentifier","src":"190807:3:21"},"nativeSrc":"190807:14:21","nodeType":"YulFunctionCall","src":"190807:14:21"}],"functionName":{"name":"sub","nativeSrc":"190798:3:21","nodeType":"YulIdentifier","src":"190798:3:21"},"nativeSrc":"190798:24:21","nodeType":"YulFunctionCall","src":"190798:24:21"},"variables":[{"name":"shift","nativeSrc":"190789:5:21","nodeType":"YulTypedName","src":"190789:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"190850:3:21","nodeType":"YulIdentifier","src":"190850:3:21"},{"kind":"number","nativeSrc":"190855:4:21","nodeType":"YulLiteral","src":"190855:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"190846:3:21","nodeType":"YulIdentifier","src":"190846:3:21"},"nativeSrc":"190846:14:21","nodeType":"YulFunctionCall","src":"190846:14:21"},{"arguments":[{"name":"shift","nativeSrc":"190866:5:21","nodeType":"YulIdentifier","src":"190866:5:21"},{"arguments":[{"name":"shift","nativeSrc":"190877:5:21","nodeType":"YulIdentifier","src":"190877:5:21"},{"name":"w","nativeSrc":"190884:1:21","nodeType":"YulIdentifier","src":"190884:1:21"}],"functionName":{"name":"shr","nativeSrc":"190873:3:21","nodeType":"YulIdentifier","src":"190873:3:21"},"nativeSrc":"190873:13:21","nodeType":"YulFunctionCall","src":"190873:13:21"}],"functionName":{"name":"shl","nativeSrc":"190862:3:21","nodeType":"YulIdentifier","src":"190862:3:21"},"nativeSrc":"190862:25:21","nodeType":"YulFunctionCall","src":"190862:25:21"}],"functionName":{"name":"mstore","nativeSrc":"190839:6:21","nodeType":"YulIdentifier","src":"190839:6:21"},"nativeSrc":"190839:49:21","nodeType":"YulFunctionCall","src":"190839:49:21"},"nativeSrc":"190839:49:21","nodeType":"YulExpressionStatement","src":"190839:49:21"}]},"name":"writeString","nativeSrc":"190560:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"190581:3:21","nodeType":"YulTypedName","src":"190581:3:21","type":""},{"name":"w","nativeSrc":"190586:1:21","nodeType":"YulTypedName","src":"190586:1:21","type":""}],"src":"190560:342:21"},{"nativeSrc":"190915:17:21","nodeType":"YulAssignment","src":"190915:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"190927:4:21","nodeType":"YulLiteral","src":"190927:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"190921:5:21","nodeType":"YulIdentifier","src":"190921:5:21"},"nativeSrc":"190921:11:21","nodeType":"YulFunctionCall","src":"190921:11:21"},"variableNames":[{"name":"m0","nativeSrc":"190915:2:21","nodeType":"YulIdentifier","src":"190915:2:21"}]},{"nativeSrc":"190945:17:21","nodeType":"YulAssignment","src":"190945:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"190957:4:21","nodeType":"YulLiteral","src":"190957:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"190951:5:21","nodeType":"YulIdentifier","src":"190951:5:21"},"nativeSrc":"190951:11:21","nodeType":"YulFunctionCall","src":"190951:11:21"},"variableNames":[{"name":"m1","nativeSrc":"190945:2:21","nodeType":"YulIdentifier","src":"190945:2:21"}]},{"nativeSrc":"190975:17:21","nodeType":"YulAssignment","src":"190975:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"190987:4:21","nodeType":"YulLiteral","src":"190987:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"190981:5:21","nodeType":"YulIdentifier","src":"190981:5:21"},"nativeSrc":"190981:11:21","nodeType":"YulFunctionCall","src":"190981:11:21"},"variableNames":[{"name":"m2","nativeSrc":"190975:2:21","nodeType":"YulIdentifier","src":"190975:2:21"}]},{"nativeSrc":"191005:17:21","nodeType":"YulAssignment","src":"191005:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"191017:4:21","nodeType":"YulLiteral","src":"191017:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"191011:5:21","nodeType":"YulIdentifier","src":"191011:5:21"},"nativeSrc":"191011:11:21","nodeType":"YulFunctionCall","src":"191011:11:21"},"variableNames":[{"name":"m3","nativeSrc":"191005:2:21","nodeType":"YulIdentifier","src":"191005:2:21"}]},{"nativeSrc":"191035:17:21","nodeType":"YulAssignment","src":"191035:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"191047:4:21","nodeType":"YulLiteral","src":"191047:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"191041:5:21","nodeType":"YulIdentifier","src":"191041:5:21"},"nativeSrc":"191041:11:21","nodeType":"YulFunctionCall","src":"191041:11:21"},"variableNames":[{"name":"m4","nativeSrc":"191035:2:21","nodeType":"YulIdentifier","src":"191035:2:21"}]},{"nativeSrc":"191065:17:21","nodeType":"YulAssignment","src":"191065:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"191077:4:21","nodeType":"YulLiteral","src":"191077:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"191071:5:21","nodeType":"YulIdentifier","src":"191071:5:21"},"nativeSrc":"191071:11:21","nodeType":"YulFunctionCall","src":"191071:11:21"},"variableNames":[{"name":"m5","nativeSrc":"191065:2:21","nodeType":"YulIdentifier","src":"191065:2:21"}]},{"nativeSrc":"191095:17:21","nodeType":"YulAssignment","src":"191095:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"191107:4:21","nodeType":"YulLiteral","src":"191107:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"191101:5:21","nodeType":"YulIdentifier","src":"191101:5:21"},"nativeSrc":"191101:11:21","nodeType":"YulFunctionCall","src":"191101:11:21"},"variableNames":[{"name":"m6","nativeSrc":"191095:2:21","nodeType":"YulIdentifier","src":"191095:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191192:4:21","nodeType":"YulLiteral","src":"191192:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"191198:10:21","nodeType":"YulLiteral","src":"191198:10:21","type":"","value":"0xa0a47963"}],"functionName":{"name":"mstore","nativeSrc":"191185:6:21","nodeType":"YulIdentifier","src":"191185:6:21"},"nativeSrc":"191185:24:21","nodeType":"YulFunctionCall","src":"191185:24:21"},"nativeSrc":"191185:24:21","nodeType":"YulExpressionStatement","src":"191185:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191229:4:21","nodeType":"YulLiteral","src":"191229:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"191235:2:21","nodeType":"YulIdentifier","src":"191235:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191222:6:21","nodeType":"YulIdentifier","src":"191222:6:21"},"nativeSrc":"191222:16:21","nodeType":"YulFunctionCall","src":"191222:16:21"},"nativeSrc":"191222:16:21","nodeType":"YulExpressionStatement","src":"191222:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191258:4:21","nodeType":"YulLiteral","src":"191258:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"191264:2:21","nodeType":"YulIdentifier","src":"191264:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191251:6:21","nodeType":"YulIdentifier","src":"191251:6:21"},"nativeSrc":"191251:16:21","nodeType":"YulFunctionCall","src":"191251:16:21"},"nativeSrc":"191251:16:21","nodeType":"YulExpressionStatement","src":"191251:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191287:4:21","nodeType":"YulLiteral","src":"191287:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"191293:2:21","nodeType":"YulIdentifier","src":"191293:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191280:6:21","nodeType":"YulIdentifier","src":"191280:6:21"},"nativeSrc":"191280:16:21","nodeType":"YulFunctionCall","src":"191280:16:21"},"nativeSrc":"191280:16:21","nodeType":"YulExpressionStatement","src":"191280:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191316:4:21","nodeType":"YulLiteral","src":"191316:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"191322:4:21","nodeType":"YulLiteral","src":"191322:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"191309:6:21","nodeType":"YulIdentifier","src":"191309:6:21"},"nativeSrc":"191309:18:21","nodeType":"YulFunctionCall","src":"191309:18:21"},"nativeSrc":"191309:18:21","nodeType":"YulExpressionStatement","src":"191309:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191352:4:21","nodeType":"YulLiteral","src":"191352:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"191358:2:21","nodeType":"YulIdentifier","src":"191358:2:21"}],"functionName":{"name":"writeString","nativeSrc":"191340:11:21","nodeType":"YulIdentifier","src":"191340:11:21"},"nativeSrc":"191340:21:21","nodeType":"YulFunctionCall","src":"191340:21:21"},"nativeSrc":"191340:21:21","nodeType":"YulExpressionStatement","src":"191340:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32966,"isOffset":false,"isSlot":false,"src":"190915:2:21","valueSize":1},{"declaration":32969,"isOffset":false,"isSlot":false,"src":"190945:2:21","valueSize":1},{"declaration":32972,"isOffset":false,"isSlot":false,"src":"190975:2:21","valueSize":1},{"declaration":32975,"isOffset":false,"isSlot":false,"src":"191005:2:21","valueSize":1},{"declaration":32978,"isOffset":false,"isSlot":false,"src":"191035:2:21","valueSize":1},{"declaration":32981,"isOffset":false,"isSlot":false,"src":"191065:2:21","valueSize":1},{"declaration":32984,"isOffset":false,"isSlot":false,"src":"191095:2:21","valueSize":1},{"declaration":32956,"isOffset":false,"isSlot":false,"src":"191235:2:21","valueSize":1},{"declaration":32958,"isOffset":false,"isSlot":false,"src":"191264:2:21","valueSize":1},{"declaration":32960,"isOffset":false,"isSlot":false,"src":"191293:2:21","valueSize":1},{"declaration":32962,"isOffset":false,"isSlot":false,"src":"191358:2:21","valueSize":1}],"id":32986,"nodeType":"InlineAssembly","src":"190537:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":32988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"191396:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"191402:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32987,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"191380:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"191380:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32991,"nodeType":"ExpressionStatement","src":"191380:27:21"},{"AST":{"nativeSrc":"191469:214:21","nodeType":"YulBlock","src":"191469:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"191490:4:21","nodeType":"YulLiteral","src":"191490:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"191496:2:21","nodeType":"YulIdentifier","src":"191496:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191483:6:21","nodeType":"YulIdentifier","src":"191483:6:21"},"nativeSrc":"191483:16:21","nodeType":"YulFunctionCall","src":"191483:16:21"},"nativeSrc":"191483:16:21","nodeType":"YulExpressionStatement","src":"191483:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191519:4:21","nodeType":"YulLiteral","src":"191519:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"191525:2:21","nodeType":"YulIdentifier","src":"191525:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191512:6:21","nodeType":"YulIdentifier","src":"191512:6:21"},"nativeSrc":"191512:16:21","nodeType":"YulFunctionCall","src":"191512:16:21"},"nativeSrc":"191512:16:21","nodeType":"YulExpressionStatement","src":"191512:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191548:4:21","nodeType":"YulLiteral","src":"191548:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"191554:2:21","nodeType":"YulIdentifier","src":"191554:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191541:6:21","nodeType":"YulIdentifier","src":"191541:6:21"},"nativeSrc":"191541:16:21","nodeType":"YulFunctionCall","src":"191541:16:21"},"nativeSrc":"191541:16:21","nodeType":"YulExpressionStatement","src":"191541:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191577:4:21","nodeType":"YulLiteral","src":"191577:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"191583:2:21","nodeType":"YulIdentifier","src":"191583:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191570:6:21","nodeType":"YulIdentifier","src":"191570:6:21"},"nativeSrc":"191570:16:21","nodeType":"YulFunctionCall","src":"191570:16:21"},"nativeSrc":"191570:16:21","nodeType":"YulExpressionStatement","src":"191570:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191606:4:21","nodeType":"YulLiteral","src":"191606:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"191612:2:21","nodeType":"YulIdentifier","src":"191612:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191599:6:21","nodeType":"YulIdentifier","src":"191599:6:21"},"nativeSrc":"191599:16:21","nodeType":"YulFunctionCall","src":"191599:16:21"},"nativeSrc":"191599:16:21","nodeType":"YulExpressionStatement","src":"191599:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191635:4:21","nodeType":"YulLiteral","src":"191635:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"191641:2:21","nodeType":"YulIdentifier","src":"191641:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191628:6:21","nodeType":"YulIdentifier","src":"191628:6:21"},"nativeSrc":"191628:16:21","nodeType":"YulFunctionCall","src":"191628:16:21"},"nativeSrc":"191628:16:21","nodeType":"YulExpressionStatement","src":"191628:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191664:4:21","nodeType":"YulLiteral","src":"191664:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"191670:2:21","nodeType":"YulIdentifier","src":"191670:2:21"}],"functionName":{"name":"mstore","nativeSrc":"191657:6:21","nodeType":"YulIdentifier","src":"191657:6:21"},"nativeSrc":"191657:16:21","nodeType":"YulFunctionCall","src":"191657:16:21"},"nativeSrc":"191657:16:21","nodeType":"YulExpressionStatement","src":"191657:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":32966,"isOffset":false,"isSlot":false,"src":"191496:2:21","valueSize":1},{"declaration":32969,"isOffset":false,"isSlot":false,"src":"191525:2:21","valueSize":1},{"declaration":32972,"isOffset":false,"isSlot":false,"src":"191554:2:21","valueSize":1},{"declaration":32975,"isOffset":false,"isSlot":false,"src":"191583:2:21","valueSize":1},{"declaration":32978,"isOffset":false,"isSlot":false,"src":"191612:2:21","valueSize":1},{"declaration":32981,"isOffset":false,"isSlot":false,"src":"191641:2:21","valueSize":1},{"declaration":32984,"isOffset":false,"isSlot":false,"src":"191670:2:21","valueSize":1}],"id":32992,"nodeType":"InlineAssembly","src":"191460:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"190284:3:21","parameters":{"id":32963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32956,"mutability":"mutable","name":"p0","nameLocation":"190293:2:21","nodeType":"VariableDeclaration","scope":32994,"src":"190288:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32955,"name":"bool","nodeType":"ElementaryTypeName","src":"190288:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32958,"mutability":"mutable","name":"p1","nameLocation":"190302:2:21","nodeType":"VariableDeclaration","scope":32994,"src":"190297:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32957,"name":"bool","nodeType":"ElementaryTypeName","src":"190297:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32960,"mutability":"mutable","name":"p2","nameLocation":"190314:2:21","nodeType":"VariableDeclaration","scope":32994,"src":"190306:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32959,"name":"address","nodeType":"ElementaryTypeName","src":"190306:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32962,"mutability":"mutable","name":"p3","nameLocation":"190326:2:21","nodeType":"VariableDeclaration","scope":32994,"src":"190318:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190318:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"190287:42:21"},"returnParameters":{"id":32964,"nodeType":"ParameterList","parameters":[],"src":"190344:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33028,"nodeType":"FunctionDefinition","src":"191695:860:21","nodes":[],"body":{"id":33027,"nodeType":"Block","src":"191761:794:21","nodes":[],"statements":[{"assignments":[33006],"declarations":[{"constant":false,"id":33006,"mutability":"mutable","name":"m0","nameLocation":"191779:2:21","nodeType":"VariableDeclaration","scope":33027,"src":"191771:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33005,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191771:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33007,"nodeType":"VariableDeclarationStatement","src":"191771:10:21"},{"assignments":[33009],"declarations":[{"constant":false,"id":33009,"mutability":"mutable","name":"m1","nameLocation":"191799:2:21","nodeType":"VariableDeclaration","scope":33027,"src":"191791:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33008,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191791:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33010,"nodeType":"VariableDeclarationStatement","src":"191791:10:21"},{"assignments":[33012],"declarations":[{"constant":false,"id":33012,"mutability":"mutable","name":"m2","nameLocation":"191819:2:21","nodeType":"VariableDeclaration","scope":33027,"src":"191811:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33011,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191811:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33013,"nodeType":"VariableDeclarationStatement","src":"191811:10:21"},{"assignments":[33015],"declarations":[{"constant":false,"id":33015,"mutability":"mutable","name":"m3","nameLocation":"191839:2:21","nodeType":"VariableDeclaration","scope":33027,"src":"191831:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191831:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33016,"nodeType":"VariableDeclarationStatement","src":"191831:10:21"},{"assignments":[33018],"declarations":[{"constant":false,"id":33018,"mutability":"mutable","name":"m4","nameLocation":"191859:2:21","nodeType":"VariableDeclaration","scope":33027,"src":"191851:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191851:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33019,"nodeType":"VariableDeclarationStatement","src":"191851:10:21"},{"AST":{"nativeSrc":"191923:372:21","nodeType":"YulBlock","src":"191923:372:21","statements":[{"nativeSrc":"191937:17:21","nodeType":"YulAssignment","src":"191937:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"191949:4:21","nodeType":"YulLiteral","src":"191949:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"191943:5:21","nodeType":"YulIdentifier","src":"191943:5:21"},"nativeSrc":"191943:11:21","nodeType":"YulFunctionCall","src":"191943:11:21"},"variableNames":[{"name":"m0","nativeSrc":"191937:2:21","nodeType":"YulIdentifier","src":"191937:2:21"}]},{"nativeSrc":"191967:17:21","nodeType":"YulAssignment","src":"191967:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"191979:4:21","nodeType":"YulLiteral","src":"191979:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"191973:5:21","nodeType":"YulIdentifier","src":"191973:5:21"},"nativeSrc":"191973:11:21","nodeType":"YulFunctionCall","src":"191973:11:21"},"variableNames":[{"name":"m1","nativeSrc":"191967:2:21","nodeType":"YulIdentifier","src":"191967:2:21"}]},{"nativeSrc":"191997:17:21","nodeType":"YulAssignment","src":"191997:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"192009:4:21","nodeType":"YulLiteral","src":"192009:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"192003:5:21","nodeType":"YulIdentifier","src":"192003:5:21"},"nativeSrc":"192003:11:21","nodeType":"YulFunctionCall","src":"192003:11:21"},"variableNames":[{"name":"m2","nativeSrc":"191997:2:21","nodeType":"YulIdentifier","src":"191997:2:21"}]},{"nativeSrc":"192027:17:21","nodeType":"YulAssignment","src":"192027:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"192039:4:21","nodeType":"YulLiteral","src":"192039:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"192033:5:21","nodeType":"YulIdentifier","src":"192033:5:21"},"nativeSrc":"192033:11:21","nodeType":"YulFunctionCall","src":"192033:11:21"},"variableNames":[{"name":"m3","nativeSrc":"192027:2:21","nodeType":"YulIdentifier","src":"192027:2:21"}]},{"nativeSrc":"192057:17:21","nodeType":"YulAssignment","src":"192057:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"192069:4:21","nodeType":"YulLiteral","src":"192069:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"192063:5:21","nodeType":"YulIdentifier","src":"192063:5:21"},"nativeSrc":"192063:11:21","nodeType":"YulFunctionCall","src":"192063:11:21"},"variableNames":[{"name":"m4","nativeSrc":"192057:2:21","nodeType":"YulIdentifier","src":"192057:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192152:4:21","nodeType":"YulLiteral","src":"192152:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"192158:10:21","nodeType":"YulLiteral","src":"192158:10:21","type":"","value":"0x8c329b1a"}],"functionName":{"name":"mstore","nativeSrc":"192145:6:21","nodeType":"YulIdentifier","src":"192145:6:21"},"nativeSrc":"192145:24:21","nodeType":"YulFunctionCall","src":"192145:24:21"},"nativeSrc":"192145:24:21","nodeType":"YulExpressionStatement","src":"192145:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192189:4:21","nodeType":"YulLiteral","src":"192189:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"192195:2:21","nodeType":"YulIdentifier","src":"192195:2:21"}],"functionName":{"name":"mstore","nativeSrc":"192182:6:21","nodeType":"YulIdentifier","src":"192182:6:21"},"nativeSrc":"192182:16:21","nodeType":"YulFunctionCall","src":"192182:16:21"},"nativeSrc":"192182:16:21","nodeType":"YulExpressionStatement","src":"192182:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192218:4:21","nodeType":"YulLiteral","src":"192218:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"192224:2:21","nodeType":"YulIdentifier","src":"192224:2:21"}],"functionName":{"name":"mstore","nativeSrc":"192211:6:21","nodeType":"YulIdentifier","src":"192211:6:21"},"nativeSrc":"192211:16:21","nodeType":"YulFunctionCall","src":"192211:16:21"},"nativeSrc":"192211:16:21","nodeType":"YulExpressionStatement","src":"192211:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192247:4:21","nodeType":"YulLiteral","src":"192247:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"192253:2:21","nodeType":"YulIdentifier","src":"192253:2:21"}],"functionName":{"name":"mstore","nativeSrc":"192240:6:21","nodeType":"YulIdentifier","src":"192240:6:21"},"nativeSrc":"192240:16:21","nodeType":"YulFunctionCall","src":"192240:16:21"},"nativeSrc":"192240:16:21","nodeType":"YulExpressionStatement","src":"192240:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192276:4:21","nodeType":"YulLiteral","src":"192276:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"192282:2:21","nodeType":"YulIdentifier","src":"192282:2:21"}],"functionName":{"name":"mstore","nativeSrc":"192269:6:21","nodeType":"YulIdentifier","src":"192269:6:21"},"nativeSrc":"192269:16:21","nodeType":"YulFunctionCall","src":"192269:16:21"},"nativeSrc":"192269:16:21","nodeType":"YulExpressionStatement","src":"192269:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33006,"isOffset":false,"isSlot":false,"src":"191937:2:21","valueSize":1},{"declaration":33009,"isOffset":false,"isSlot":false,"src":"191967:2:21","valueSize":1},{"declaration":33012,"isOffset":false,"isSlot":false,"src":"191997:2:21","valueSize":1},{"declaration":33015,"isOffset":false,"isSlot":false,"src":"192027:2:21","valueSize":1},{"declaration":33018,"isOffset":false,"isSlot":false,"src":"192057:2:21","valueSize":1},{"declaration":32996,"isOffset":false,"isSlot":false,"src":"192195:2:21","valueSize":1},{"declaration":32998,"isOffset":false,"isSlot":false,"src":"192224:2:21","valueSize":1},{"declaration":33000,"isOffset":false,"isSlot":false,"src":"192253:2:21","valueSize":1},{"declaration":33002,"isOffset":false,"isSlot":false,"src":"192282:2:21","valueSize":1}],"id":33020,"nodeType":"InlineAssembly","src":"191914:381:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"192320:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"192326:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"192304:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"192304:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33025,"nodeType":"ExpressionStatement","src":"192304:27:21"},{"AST":{"nativeSrc":"192393:156:21","nodeType":"YulBlock","src":"192393:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"192414:4:21","nodeType":"YulLiteral","src":"192414:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"192420:2:21","nodeType":"YulIdentifier","src":"192420:2:21"}],"functionName":{"name":"mstore","nativeSrc":"192407:6:21","nodeType":"YulIdentifier","src":"192407:6:21"},"nativeSrc":"192407:16:21","nodeType":"YulFunctionCall","src":"192407:16:21"},"nativeSrc":"192407:16:21","nodeType":"YulExpressionStatement","src":"192407:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192443:4:21","nodeType":"YulLiteral","src":"192443:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"192449:2:21","nodeType":"YulIdentifier","src":"192449:2:21"}],"functionName":{"name":"mstore","nativeSrc":"192436:6:21","nodeType":"YulIdentifier","src":"192436:6:21"},"nativeSrc":"192436:16:21","nodeType":"YulFunctionCall","src":"192436:16:21"},"nativeSrc":"192436:16:21","nodeType":"YulExpressionStatement","src":"192436:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192472:4:21","nodeType":"YulLiteral","src":"192472:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"192478:2:21","nodeType":"YulIdentifier","src":"192478:2:21"}],"functionName":{"name":"mstore","nativeSrc":"192465:6:21","nodeType":"YulIdentifier","src":"192465:6:21"},"nativeSrc":"192465:16:21","nodeType":"YulFunctionCall","src":"192465:16:21"},"nativeSrc":"192465:16:21","nodeType":"YulExpressionStatement","src":"192465:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192501:4:21","nodeType":"YulLiteral","src":"192501:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"192507:2:21","nodeType":"YulIdentifier","src":"192507:2:21"}],"functionName":{"name":"mstore","nativeSrc":"192494:6:21","nodeType":"YulIdentifier","src":"192494:6:21"},"nativeSrc":"192494:16:21","nodeType":"YulFunctionCall","src":"192494:16:21"},"nativeSrc":"192494:16:21","nodeType":"YulExpressionStatement","src":"192494:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192530:4:21","nodeType":"YulLiteral","src":"192530:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"192536:2:21","nodeType":"YulIdentifier","src":"192536:2:21"}],"functionName":{"name":"mstore","nativeSrc":"192523:6:21","nodeType":"YulIdentifier","src":"192523:6:21"},"nativeSrc":"192523:16:21","nodeType":"YulFunctionCall","src":"192523:16:21"},"nativeSrc":"192523:16:21","nodeType":"YulExpressionStatement","src":"192523:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33006,"isOffset":false,"isSlot":false,"src":"192420:2:21","valueSize":1},{"declaration":33009,"isOffset":false,"isSlot":false,"src":"192449:2:21","valueSize":1},{"declaration":33012,"isOffset":false,"isSlot":false,"src":"192478:2:21","valueSize":1},{"declaration":33015,"isOffset":false,"isSlot":false,"src":"192507:2:21","valueSize":1},{"declaration":33018,"isOffset":false,"isSlot":false,"src":"192536:2:21","valueSize":1}],"id":33026,"nodeType":"InlineAssembly","src":"192384:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"191704:3:21","parameters":{"id":33003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32996,"mutability":"mutable","name":"p0","nameLocation":"191713:2:21","nodeType":"VariableDeclaration","scope":33028,"src":"191708:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32995,"name":"bool","nodeType":"ElementaryTypeName","src":"191708:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32998,"mutability":"mutable","name":"p1","nameLocation":"191722:2:21","nodeType":"VariableDeclaration","scope":33028,"src":"191717:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32997,"name":"bool","nodeType":"ElementaryTypeName","src":"191717:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33000,"mutability":"mutable","name":"p2","nameLocation":"191731:2:21","nodeType":"VariableDeclaration","scope":33028,"src":"191726:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32999,"name":"bool","nodeType":"ElementaryTypeName","src":"191726:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33002,"mutability":"mutable","name":"p3","nameLocation":"191743:2:21","nodeType":"VariableDeclaration","scope":33028,"src":"191735:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33001,"name":"address","nodeType":"ElementaryTypeName","src":"191735:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"191707:39:21"},"returnParameters":{"id":33004,"nodeType":"ParameterList","parameters":[],"src":"191761:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33062,"nodeType":"FunctionDefinition","src":"192561:854:21","nodes":[],"body":{"id":33061,"nodeType":"Block","src":"192624:791:21","nodes":[],"statements":[{"assignments":[33040],"declarations":[{"constant":false,"id":33040,"mutability":"mutable","name":"m0","nameLocation":"192642:2:21","nodeType":"VariableDeclaration","scope":33061,"src":"192634:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192634:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33041,"nodeType":"VariableDeclarationStatement","src":"192634:10:21"},{"assignments":[33043],"declarations":[{"constant":false,"id":33043,"mutability":"mutable","name":"m1","nameLocation":"192662:2:21","nodeType":"VariableDeclaration","scope":33061,"src":"192654:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192654:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33044,"nodeType":"VariableDeclarationStatement","src":"192654:10:21"},{"assignments":[33046],"declarations":[{"constant":false,"id":33046,"mutability":"mutable","name":"m2","nameLocation":"192682:2:21","nodeType":"VariableDeclaration","scope":33061,"src":"192674:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192674:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33047,"nodeType":"VariableDeclarationStatement","src":"192674:10:21"},{"assignments":[33049],"declarations":[{"constant":false,"id":33049,"mutability":"mutable","name":"m3","nameLocation":"192702:2:21","nodeType":"VariableDeclaration","scope":33061,"src":"192694:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33048,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192694:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33050,"nodeType":"VariableDeclarationStatement","src":"192694:10:21"},{"assignments":[33052],"declarations":[{"constant":false,"id":33052,"mutability":"mutable","name":"m4","nameLocation":"192722:2:21","nodeType":"VariableDeclaration","scope":33061,"src":"192714:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192714:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33053,"nodeType":"VariableDeclarationStatement","src":"192714:10:21"},{"AST":{"nativeSrc":"192786:369:21","nodeType":"YulBlock","src":"192786:369:21","statements":[{"nativeSrc":"192800:17:21","nodeType":"YulAssignment","src":"192800:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"192812:4:21","nodeType":"YulLiteral","src":"192812:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"192806:5:21","nodeType":"YulIdentifier","src":"192806:5:21"},"nativeSrc":"192806:11:21","nodeType":"YulFunctionCall","src":"192806:11:21"},"variableNames":[{"name":"m0","nativeSrc":"192800:2:21","nodeType":"YulIdentifier","src":"192800:2:21"}]},{"nativeSrc":"192830:17:21","nodeType":"YulAssignment","src":"192830:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"192842:4:21","nodeType":"YulLiteral","src":"192842:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"192836:5:21","nodeType":"YulIdentifier","src":"192836:5:21"},"nativeSrc":"192836:11:21","nodeType":"YulFunctionCall","src":"192836:11:21"},"variableNames":[{"name":"m1","nativeSrc":"192830:2:21","nodeType":"YulIdentifier","src":"192830:2:21"}]},{"nativeSrc":"192860:17:21","nodeType":"YulAssignment","src":"192860:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"192872:4:21","nodeType":"YulLiteral","src":"192872:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"192866:5:21","nodeType":"YulIdentifier","src":"192866:5:21"},"nativeSrc":"192866:11:21","nodeType":"YulFunctionCall","src":"192866:11:21"},"variableNames":[{"name":"m2","nativeSrc":"192860:2:21","nodeType":"YulIdentifier","src":"192860:2:21"}]},{"nativeSrc":"192890:17:21","nodeType":"YulAssignment","src":"192890:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"192902:4:21","nodeType":"YulLiteral","src":"192902:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"192896:5:21","nodeType":"YulIdentifier","src":"192896:5:21"},"nativeSrc":"192896:11:21","nodeType":"YulFunctionCall","src":"192896:11:21"},"variableNames":[{"name":"m3","nativeSrc":"192890:2:21","nodeType":"YulIdentifier","src":"192890:2:21"}]},{"nativeSrc":"192920:17:21","nodeType":"YulAssignment","src":"192920:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"192932:4:21","nodeType":"YulLiteral","src":"192932:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"192926:5:21","nodeType":"YulIdentifier","src":"192926:5:21"},"nativeSrc":"192926:11:21","nodeType":"YulFunctionCall","src":"192926:11:21"},"variableNames":[{"name":"m4","nativeSrc":"192920:2:21","nodeType":"YulIdentifier","src":"192920:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193012:4:21","nodeType":"YulLiteral","src":"193012:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"193018:10:21","nodeType":"YulLiteral","src":"193018:10:21","type":"","value":"0x3b2a5ce0"}],"functionName":{"name":"mstore","nativeSrc":"193005:6:21","nodeType":"YulIdentifier","src":"193005:6:21"},"nativeSrc":"193005:24:21","nodeType":"YulFunctionCall","src":"193005:24:21"},"nativeSrc":"193005:24:21","nodeType":"YulExpressionStatement","src":"193005:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193049:4:21","nodeType":"YulLiteral","src":"193049:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"193055:2:21","nodeType":"YulIdentifier","src":"193055:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193042:6:21","nodeType":"YulIdentifier","src":"193042:6:21"},"nativeSrc":"193042:16:21","nodeType":"YulFunctionCall","src":"193042:16:21"},"nativeSrc":"193042:16:21","nodeType":"YulExpressionStatement","src":"193042:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193078:4:21","nodeType":"YulLiteral","src":"193078:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"193084:2:21","nodeType":"YulIdentifier","src":"193084:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193071:6:21","nodeType":"YulIdentifier","src":"193071:6:21"},"nativeSrc":"193071:16:21","nodeType":"YulFunctionCall","src":"193071:16:21"},"nativeSrc":"193071:16:21","nodeType":"YulExpressionStatement","src":"193071:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193107:4:21","nodeType":"YulLiteral","src":"193107:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"193113:2:21","nodeType":"YulIdentifier","src":"193113:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193100:6:21","nodeType":"YulIdentifier","src":"193100:6:21"},"nativeSrc":"193100:16:21","nodeType":"YulFunctionCall","src":"193100:16:21"},"nativeSrc":"193100:16:21","nodeType":"YulExpressionStatement","src":"193100:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193136:4:21","nodeType":"YulLiteral","src":"193136:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"193142:2:21","nodeType":"YulIdentifier","src":"193142:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193129:6:21","nodeType":"YulIdentifier","src":"193129:6:21"},"nativeSrc":"193129:16:21","nodeType":"YulFunctionCall","src":"193129:16:21"},"nativeSrc":"193129:16:21","nodeType":"YulExpressionStatement","src":"193129:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33040,"isOffset":false,"isSlot":false,"src":"192800:2:21","valueSize":1},{"declaration":33043,"isOffset":false,"isSlot":false,"src":"192830:2:21","valueSize":1},{"declaration":33046,"isOffset":false,"isSlot":false,"src":"192860:2:21","valueSize":1},{"declaration":33049,"isOffset":false,"isSlot":false,"src":"192890:2:21","valueSize":1},{"declaration":33052,"isOffset":false,"isSlot":false,"src":"192920:2:21","valueSize":1},{"declaration":33030,"isOffset":false,"isSlot":false,"src":"193055:2:21","valueSize":1},{"declaration":33032,"isOffset":false,"isSlot":false,"src":"193084:2:21","valueSize":1},{"declaration":33034,"isOffset":false,"isSlot":false,"src":"193113:2:21","valueSize":1},{"declaration":33036,"isOffset":false,"isSlot":false,"src":"193142:2:21","valueSize":1}],"id":33054,"nodeType":"InlineAssembly","src":"192777:378:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"193180:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"193186:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"193164:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"193164:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33059,"nodeType":"ExpressionStatement","src":"193164:27:21"},{"AST":{"nativeSrc":"193253:156:21","nodeType":"YulBlock","src":"193253:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"193274:4:21","nodeType":"YulLiteral","src":"193274:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"193280:2:21","nodeType":"YulIdentifier","src":"193280:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193267:6:21","nodeType":"YulIdentifier","src":"193267:6:21"},"nativeSrc":"193267:16:21","nodeType":"YulFunctionCall","src":"193267:16:21"},"nativeSrc":"193267:16:21","nodeType":"YulExpressionStatement","src":"193267:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193303:4:21","nodeType":"YulLiteral","src":"193303:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"193309:2:21","nodeType":"YulIdentifier","src":"193309:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193296:6:21","nodeType":"YulIdentifier","src":"193296:6:21"},"nativeSrc":"193296:16:21","nodeType":"YulFunctionCall","src":"193296:16:21"},"nativeSrc":"193296:16:21","nodeType":"YulExpressionStatement","src":"193296:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193332:4:21","nodeType":"YulLiteral","src":"193332:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"193338:2:21","nodeType":"YulIdentifier","src":"193338:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193325:6:21","nodeType":"YulIdentifier","src":"193325:6:21"},"nativeSrc":"193325:16:21","nodeType":"YulFunctionCall","src":"193325:16:21"},"nativeSrc":"193325:16:21","nodeType":"YulExpressionStatement","src":"193325:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193361:4:21","nodeType":"YulLiteral","src":"193361:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"193367:2:21","nodeType":"YulIdentifier","src":"193367:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193354:6:21","nodeType":"YulIdentifier","src":"193354:6:21"},"nativeSrc":"193354:16:21","nodeType":"YulFunctionCall","src":"193354:16:21"},"nativeSrc":"193354:16:21","nodeType":"YulExpressionStatement","src":"193354:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193390:4:21","nodeType":"YulLiteral","src":"193390:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"193396:2:21","nodeType":"YulIdentifier","src":"193396:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193383:6:21","nodeType":"YulIdentifier","src":"193383:6:21"},"nativeSrc":"193383:16:21","nodeType":"YulFunctionCall","src":"193383:16:21"},"nativeSrc":"193383:16:21","nodeType":"YulExpressionStatement","src":"193383:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33040,"isOffset":false,"isSlot":false,"src":"193280:2:21","valueSize":1},{"declaration":33043,"isOffset":false,"isSlot":false,"src":"193309:2:21","valueSize":1},{"declaration":33046,"isOffset":false,"isSlot":false,"src":"193338:2:21","valueSize":1},{"declaration":33049,"isOffset":false,"isSlot":false,"src":"193367:2:21","valueSize":1},{"declaration":33052,"isOffset":false,"isSlot":false,"src":"193396:2:21","valueSize":1}],"id":33060,"nodeType":"InlineAssembly","src":"193244:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"192570:3:21","parameters":{"id":33037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33030,"mutability":"mutable","name":"p0","nameLocation":"192579:2:21","nodeType":"VariableDeclaration","scope":33062,"src":"192574:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33029,"name":"bool","nodeType":"ElementaryTypeName","src":"192574:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33032,"mutability":"mutable","name":"p1","nameLocation":"192588:2:21","nodeType":"VariableDeclaration","scope":33062,"src":"192583:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33031,"name":"bool","nodeType":"ElementaryTypeName","src":"192583:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33034,"mutability":"mutable","name":"p2","nameLocation":"192597:2:21","nodeType":"VariableDeclaration","scope":33062,"src":"192592:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33033,"name":"bool","nodeType":"ElementaryTypeName","src":"192592:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33036,"mutability":"mutable","name":"p3","nameLocation":"192606:2:21","nodeType":"VariableDeclaration","scope":33062,"src":"192601:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33035,"name":"bool","nodeType":"ElementaryTypeName","src":"192601:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"192573:36:21"},"returnParameters":{"id":33038,"nodeType":"ParameterList","parameters":[],"src":"192624:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33096,"nodeType":"FunctionDefinition","src":"193421:860:21","nodes":[],"body":{"id":33095,"nodeType":"Block","src":"193487:794:21","nodes":[],"statements":[{"assignments":[33074],"declarations":[{"constant":false,"id":33074,"mutability":"mutable","name":"m0","nameLocation":"193505:2:21","nodeType":"VariableDeclaration","scope":33095,"src":"193497:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193497:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33075,"nodeType":"VariableDeclarationStatement","src":"193497:10:21"},{"assignments":[33077],"declarations":[{"constant":false,"id":33077,"mutability":"mutable","name":"m1","nameLocation":"193525:2:21","nodeType":"VariableDeclaration","scope":33095,"src":"193517:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193517:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33078,"nodeType":"VariableDeclarationStatement","src":"193517:10:21"},{"assignments":[33080],"declarations":[{"constant":false,"id":33080,"mutability":"mutable","name":"m2","nameLocation":"193545:2:21","nodeType":"VariableDeclaration","scope":33095,"src":"193537:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193537:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33081,"nodeType":"VariableDeclarationStatement","src":"193537:10:21"},{"assignments":[33083],"declarations":[{"constant":false,"id":33083,"mutability":"mutable","name":"m3","nameLocation":"193565:2:21","nodeType":"VariableDeclaration","scope":33095,"src":"193557:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193557:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33084,"nodeType":"VariableDeclarationStatement","src":"193557:10:21"},{"assignments":[33086],"declarations":[{"constant":false,"id":33086,"mutability":"mutable","name":"m4","nameLocation":"193585:2:21","nodeType":"VariableDeclaration","scope":33095,"src":"193577:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193577:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33087,"nodeType":"VariableDeclarationStatement","src":"193577:10:21"},{"AST":{"nativeSrc":"193649:372:21","nodeType":"YulBlock","src":"193649:372:21","statements":[{"nativeSrc":"193663:17:21","nodeType":"YulAssignment","src":"193663:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"193675:4:21","nodeType":"YulLiteral","src":"193675:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"193669:5:21","nodeType":"YulIdentifier","src":"193669:5:21"},"nativeSrc":"193669:11:21","nodeType":"YulFunctionCall","src":"193669:11:21"},"variableNames":[{"name":"m0","nativeSrc":"193663:2:21","nodeType":"YulIdentifier","src":"193663:2:21"}]},{"nativeSrc":"193693:17:21","nodeType":"YulAssignment","src":"193693:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"193705:4:21","nodeType":"YulLiteral","src":"193705:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"193699:5:21","nodeType":"YulIdentifier","src":"193699:5:21"},"nativeSrc":"193699:11:21","nodeType":"YulFunctionCall","src":"193699:11:21"},"variableNames":[{"name":"m1","nativeSrc":"193693:2:21","nodeType":"YulIdentifier","src":"193693:2:21"}]},{"nativeSrc":"193723:17:21","nodeType":"YulAssignment","src":"193723:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"193735:4:21","nodeType":"YulLiteral","src":"193735:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"193729:5:21","nodeType":"YulIdentifier","src":"193729:5:21"},"nativeSrc":"193729:11:21","nodeType":"YulFunctionCall","src":"193729:11:21"},"variableNames":[{"name":"m2","nativeSrc":"193723:2:21","nodeType":"YulIdentifier","src":"193723:2:21"}]},{"nativeSrc":"193753:17:21","nodeType":"YulAssignment","src":"193753:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"193765:4:21","nodeType":"YulLiteral","src":"193765:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"193759:5:21","nodeType":"YulIdentifier","src":"193759:5:21"},"nativeSrc":"193759:11:21","nodeType":"YulFunctionCall","src":"193759:11:21"},"variableNames":[{"name":"m3","nativeSrc":"193753:2:21","nodeType":"YulIdentifier","src":"193753:2:21"}]},{"nativeSrc":"193783:17:21","nodeType":"YulAssignment","src":"193783:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"193795:4:21","nodeType":"YulLiteral","src":"193795:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"193789:5:21","nodeType":"YulIdentifier","src":"193789:5:21"},"nativeSrc":"193789:11:21","nodeType":"YulFunctionCall","src":"193789:11:21"},"variableNames":[{"name":"m4","nativeSrc":"193783:2:21","nodeType":"YulIdentifier","src":"193783:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193878:4:21","nodeType":"YulLiteral","src":"193878:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"193884:10:21","nodeType":"YulLiteral","src":"193884:10:21","type":"","value":"0x6d7045c1"}],"functionName":{"name":"mstore","nativeSrc":"193871:6:21","nodeType":"YulIdentifier","src":"193871:6:21"},"nativeSrc":"193871:24:21","nodeType":"YulFunctionCall","src":"193871:24:21"},"nativeSrc":"193871:24:21","nodeType":"YulExpressionStatement","src":"193871:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193915:4:21","nodeType":"YulLiteral","src":"193915:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"193921:2:21","nodeType":"YulIdentifier","src":"193921:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193908:6:21","nodeType":"YulIdentifier","src":"193908:6:21"},"nativeSrc":"193908:16:21","nodeType":"YulFunctionCall","src":"193908:16:21"},"nativeSrc":"193908:16:21","nodeType":"YulExpressionStatement","src":"193908:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193944:4:21","nodeType":"YulLiteral","src":"193944:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"193950:2:21","nodeType":"YulIdentifier","src":"193950:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193937:6:21","nodeType":"YulIdentifier","src":"193937:6:21"},"nativeSrc":"193937:16:21","nodeType":"YulFunctionCall","src":"193937:16:21"},"nativeSrc":"193937:16:21","nodeType":"YulExpressionStatement","src":"193937:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193973:4:21","nodeType":"YulLiteral","src":"193973:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"193979:2:21","nodeType":"YulIdentifier","src":"193979:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193966:6:21","nodeType":"YulIdentifier","src":"193966:6:21"},"nativeSrc":"193966:16:21","nodeType":"YulFunctionCall","src":"193966:16:21"},"nativeSrc":"193966:16:21","nodeType":"YulExpressionStatement","src":"193966:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194002:4:21","nodeType":"YulLiteral","src":"194002:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"194008:2:21","nodeType":"YulIdentifier","src":"194008:2:21"}],"functionName":{"name":"mstore","nativeSrc":"193995:6:21","nodeType":"YulIdentifier","src":"193995:6:21"},"nativeSrc":"193995:16:21","nodeType":"YulFunctionCall","src":"193995:16:21"},"nativeSrc":"193995:16:21","nodeType":"YulExpressionStatement","src":"193995:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33074,"isOffset":false,"isSlot":false,"src":"193663:2:21","valueSize":1},{"declaration":33077,"isOffset":false,"isSlot":false,"src":"193693:2:21","valueSize":1},{"declaration":33080,"isOffset":false,"isSlot":false,"src":"193723:2:21","valueSize":1},{"declaration":33083,"isOffset":false,"isSlot":false,"src":"193753:2:21","valueSize":1},{"declaration":33086,"isOffset":false,"isSlot":false,"src":"193783:2:21","valueSize":1},{"declaration":33064,"isOffset":false,"isSlot":false,"src":"193921:2:21","valueSize":1},{"declaration":33066,"isOffset":false,"isSlot":false,"src":"193950:2:21","valueSize":1},{"declaration":33068,"isOffset":false,"isSlot":false,"src":"193979:2:21","valueSize":1},{"declaration":33070,"isOffset":false,"isSlot":false,"src":"194008:2:21","valueSize":1}],"id":33088,"nodeType":"InlineAssembly","src":"193640:381:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"194046:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"194052:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33089,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"194030:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"194030:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33093,"nodeType":"ExpressionStatement","src":"194030:27:21"},{"AST":{"nativeSrc":"194119:156:21","nodeType":"YulBlock","src":"194119:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194140:4:21","nodeType":"YulLiteral","src":"194140:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"194146:2:21","nodeType":"YulIdentifier","src":"194146:2:21"}],"functionName":{"name":"mstore","nativeSrc":"194133:6:21","nodeType":"YulIdentifier","src":"194133:6:21"},"nativeSrc":"194133:16:21","nodeType":"YulFunctionCall","src":"194133:16:21"},"nativeSrc":"194133:16:21","nodeType":"YulExpressionStatement","src":"194133:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194169:4:21","nodeType":"YulLiteral","src":"194169:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"194175:2:21","nodeType":"YulIdentifier","src":"194175:2:21"}],"functionName":{"name":"mstore","nativeSrc":"194162:6:21","nodeType":"YulIdentifier","src":"194162:6:21"},"nativeSrc":"194162:16:21","nodeType":"YulFunctionCall","src":"194162:16:21"},"nativeSrc":"194162:16:21","nodeType":"YulExpressionStatement","src":"194162:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194198:4:21","nodeType":"YulLiteral","src":"194198:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"194204:2:21","nodeType":"YulIdentifier","src":"194204:2:21"}],"functionName":{"name":"mstore","nativeSrc":"194191:6:21","nodeType":"YulIdentifier","src":"194191:6:21"},"nativeSrc":"194191:16:21","nodeType":"YulFunctionCall","src":"194191:16:21"},"nativeSrc":"194191:16:21","nodeType":"YulExpressionStatement","src":"194191:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194227:4:21","nodeType":"YulLiteral","src":"194227:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"194233:2:21","nodeType":"YulIdentifier","src":"194233:2:21"}],"functionName":{"name":"mstore","nativeSrc":"194220:6:21","nodeType":"YulIdentifier","src":"194220:6:21"},"nativeSrc":"194220:16:21","nodeType":"YulFunctionCall","src":"194220:16:21"},"nativeSrc":"194220:16:21","nodeType":"YulExpressionStatement","src":"194220:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194256:4:21","nodeType":"YulLiteral","src":"194256:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"194262:2:21","nodeType":"YulIdentifier","src":"194262:2:21"}],"functionName":{"name":"mstore","nativeSrc":"194249:6:21","nodeType":"YulIdentifier","src":"194249:6:21"},"nativeSrc":"194249:16:21","nodeType":"YulFunctionCall","src":"194249:16:21"},"nativeSrc":"194249:16:21","nodeType":"YulExpressionStatement","src":"194249:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33074,"isOffset":false,"isSlot":false,"src":"194146:2:21","valueSize":1},{"declaration":33077,"isOffset":false,"isSlot":false,"src":"194175:2:21","valueSize":1},{"declaration":33080,"isOffset":false,"isSlot":false,"src":"194204:2:21","valueSize":1},{"declaration":33083,"isOffset":false,"isSlot":false,"src":"194233:2:21","valueSize":1},{"declaration":33086,"isOffset":false,"isSlot":false,"src":"194262:2:21","valueSize":1}],"id":33094,"nodeType":"InlineAssembly","src":"194110:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"193430:3:21","parameters":{"id":33071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33064,"mutability":"mutable","name":"p0","nameLocation":"193439:2:21","nodeType":"VariableDeclaration","scope":33096,"src":"193434:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33063,"name":"bool","nodeType":"ElementaryTypeName","src":"193434:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33066,"mutability":"mutable","name":"p1","nameLocation":"193448:2:21","nodeType":"VariableDeclaration","scope":33096,"src":"193443:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33065,"name":"bool","nodeType":"ElementaryTypeName","src":"193443:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33068,"mutability":"mutable","name":"p2","nameLocation":"193457:2:21","nodeType":"VariableDeclaration","scope":33096,"src":"193452:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33067,"name":"bool","nodeType":"ElementaryTypeName","src":"193452:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33070,"mutability":"mutable","name":"p3","nameLocation":"193469:2:21","nodeType":"VariableDeclaration","scope":33096,"src":"193461:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33069,"name":"uint256","nodeType":"ElementaryTypeName","src":"193461:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"193433:39:21"},"returnParameters":{"id":33072,"nodeType":"ParameterList","parameters":[],"src":"193487:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33136,"nodeType":"FunctionDefinition","src":"194287:1408:21","nodes":[],"body":{"id":33135,"nodeType":"Block","src":"194353:1342:21","nodes":[],"statements":[{"assignments":[33108],"declarations":[{"constant":false,"id":33108,"mutability":"mutable","name":"m0","nameLocation":"194371:2:21","nodeType":"VariableDeclaration","scope":33135,"src":"194363:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194363:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33109,"nodeType":"VariableDeclarationStatement","src":"194363:10:21"},{"assignments":[33111],"declarations":[{"constant":false,"id":33111,"mutability":"mutable","name":"m1","nameLocation":"194391:2:21","nodeType":"VariableDeclaration","scope":33135,"src":"194383:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194383:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33112,"nodeType":"VariableDeclarationStatement","src":"194383:10:21"},{"assignments":[33114],"declarations":[{"constant":false,"id":33114,"mutability":"mutable","name":"m2","nameLocation":"194411:2:21","nodeType":"VariableDeclaration","scope":33135,"src":"194403:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33113,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194403:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33115,"nodeType":"VariableDeclarationStatement","src":"194403:10:21"},{"assignments":[33117],"declarations":[{"constant":false,"id":33117,"mutability":"mutable","name":"m3","nameLocation":"194431:2:21","nodeType":"VariableDeclaration","scope":33135,"src":"194423:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194423:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33118,"nodeType":"VariableDeclarationStatement","src":"194423:10:21"},{"assignments":[33120],"declarations":[{"constant":false,"id":33120,"mutability":"mutable","name":"m4","nameLocation":"194451:2:21","nodeType":"VariableDeclaration","scope":33135,"src":"194443:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194443:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33121,"nodeType":"VariableDeclarationStatement","src":"194443:10:21"},{"assignments":[33123],"declarations":[{"constant":false,"id":33123,"mutability":"mutable","name":"m5","nameLocation":"194471:2:21","nodeType":"VariableDeclaration","scope":33135,"src":"194463:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194463:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33124,"nodeType":"VariableDeclarationStatement","src":"194463:10:21"},{"assignments":[33126],"declarations":[{"constant":false,"id":33126,"mutability":"mutable","name":"m6","nameLocation":"194491:2:21","nodeType":"VariableDeclaration","scope":33135,"src":"194483:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194483:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33127,"nodeType":"VariableDeclarationStatement","src":"194483:10:21"},{"AST":{"nativeSrc":"194555:822:21","nodeType":"YulBlock","src":"194555:822:21","statements":[{"body":{"nativeSrc":"194598:313:21","nodeType":"YulBlock","src":"194598:313:21","statements":[{"nativeSrc":"194616:15:21","nodeType":"YulVariableDeclaration","src":"194616:15:21","value":{"kind":"number","nativeSrc":"194630:1:21","nodeType":"YulLiteral","src":"194630:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"194620:6:21","nodeType":"YulTypedName","src":"194620:6:21","type":""}]},{"body":{"nativeSrc":"194701:40:21","nodeType":"YulBlock","src":"194701:40:21","statements":[{"body":{"nativeSrc":"194730:9:21","nodeType":"YulBlock","src":"194730:9:21","statements":[{"nativeSrc":"194732:5:21","nodeType":"YulBreak","src":"194732:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"194718:6:21","nodeType":"YulIdentifier","src":"194718:6:21"},{"name":"w","nativeSrc":"194726:1:21","nodeType":"YulIdentifier","src":"194726:1:21"}],"functionName":{"name":"byte","nativeSrc":"194713:4:21","nodeType":"YulIdentifier","src":"194713:4:21"},"nativeSrc":"194713:15:21","nodeType":"YulFunctionCall","src":"194713:15:21"}],"functionName":{"name":"iszero","nativeSrc":"194706:6:21","nodeType":"YulIdentifier","src":"194706:6:21"},"nativeSrc":"194706:23:21","nodeType":"YulFunctionCall","src":"194706:23:21"},"nativeSrc":"194703:36:21","nodeType":"YulIf","src":"194703:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"194658:6:21","nodeType":"YulIdentifier","src":"194658:6:21"},{"kind":"number","nativeSrc":"194666:4:21","nodeType":"YulLiteral","src":"194666:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"194655:2:21","nodeType":"YulIdentifier","src":"194655:2:21"},"nativeSrc":"194655:16:21","nodeType":"YulFunctionCall","src":"194655:16:21"},"nativeSrc":"194648:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"194672:28:21","nodeType":"YulBlock","src":"194672:28:21","statements":[{"nativeSrc":"194674:24:21","nodeType":"YulAssignment","src":"194674:24:21","value":{"arguments":[{"name":"length","nativeSrc":"194688:6:21","nodeType":"YulIdentifier","src":"194688:6:21"},{"kind":"number","nativeSrc":"194696:1:21","nodeType":"YulLiteral","src":"194696:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"194684:3:21","nodeType":"YulIdentifier","src":"194684:3:21"},"nativeSrc":"194684:14:21","nodeType":"YulFunctionCall","src":"194684:14:21"},"variableNames":[{"name":"length","nativeSrc":"194674:6:21","nodeType":"YulIdentifier","src":"194674:6:21"}]}]},"pre":{"nativeSrc":"194652:2:21","nodeType":"YulBlock","src":"194652:2:21","statements":[]},"src":"194648:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"194765:3:21","nodeType":"YulIdentifier","src":"194765:3:21"},{"name":"length","nativeSrc":"194770:6:21","nodeType":"YulIdentifier","src":"194770:6:21"}],"functionName":{"name":"mstore","nativeSrc":"194758:6:21","nodeType":"YulIdentifier","src":"194758:6:21"},"nativeSrc":"194758:19:21","nodeType":"YulFunctionCall","src":"194758:19:21"},"nativeSrc":"194758:19:21","nodeType":"YulExpressionStatement","src":"194758:19:21"},{"nativeSrc":"194794:37:21","nodeType":"YulVariableDeclaration","src":"194794:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"194811:3:21","nodeType":"YulLiteral","src":"194811:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"194820:1:21","nodeType":"YulLiteral","src":"194820:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"194823:6:21","nodeType":"YulIdentifier","src":"194823:6:21"}],"functionName":{"name":"shl","nativeSrc":"194816:3:21","nodeType":"YulIdentifier","src":"194816:3:21"},"nativeSrc":"194816:14:21","nodeType":"YulFunctionCall","src":"194816:14:21"}],"functionName":{"name":"sub","nativeSrc":"194807:3:21","nodeType":"YulIdentifier","src":"194807:3:21"},"nativeSrc":"194807:24:21","nodeType":"YulFunctionCall","src":"194807:24:21"},"variables":[{"name":"shift","nativeSrc":"194798:5:21","nodeType":"YulTypedName","src":"194798:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"194859:3:21","nodeType":"YulIdentifier","src":"194859:3:21"},{"kind":"number","nativeSrc":"194864:4:21","nodeType":"YulLiteral","src":"194864:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"194855:3:21","nodeType":"YulIdentifier","src":"194855:3:21"},"nativeSrc":"194855:14:21","nodeType":"YulFunctionCall","src":"194855:14:21"},{"arguments":[{"name":"shift","nativeSrc":"194875:5:21","nodeType":"YulIdentifier","src":"194875:5:21"},{"arguments":[{"name":"shift","nativeSrc":"194886:5:21","nodeType":"YulIdentifier","src":"194886:5:21"},{"name":"w","nativeSrc":"194893:1:21","nodeType":"YulIdentifier","src":"194893:1:21"}],"functionName":{"name":"shr","nativeSrc":"194882:3:21","nodeType":"YulIdentifier","src":"194882:3:21"},"nativeSrc":"194882:13:21","nodeType":"YulFunctionCall","src":"194882:13:21"}],"functionName":{"name":"shl","nativeSrc":"194871:3:21","nodeType":"YulIdentifier","src":"194871:3:21"},"nativeSrc":"194871:25:21","nodeType":"YulFunctionCall","src":"194871:25:21"}],"functionName":{"name":"mstore","nativeSrc":"194848:6:21","nodeType":"YulIdentifier","src":"194848:6:21"},"nativeSrc":"194848:49:21","nodeType":"YulFunctionCall","src":"194848:49:21"},"nativeSrc":"194848:49:21","nodeType":"YulExpressionStatement","src":"194848:49:21"}]},"name":"writeString","nativeSrc":"194569:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"194590:3:21","nodeType":"YulTypedName","src":"194590:3:21","type":""},{"name":"w","nativeSrc":"194595:1:21","nodeType":"YulTypedName","src":"194595:1:21","type":""}],"src":"194569:342:21"},{"nativeSrc":"194924:17:21","nodeType":"YulAssignment","src":"194924:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"194936:4:21","nodeType":"YulLiteral","src":"194936:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"194930:5:21","nodeType":"YulIdentifier","src":"194930:5:21"},"nativeSrc":"194930:11:21","nodeType":"YulFunctionCall","src":"194930:11:21"},"variableNames":[{"name":"m0","nativeSrc":"194924:2:21","nodeType":"YulIdentifier","src":"194924:2:21"}]},{"nativeSrc":"194954:17:21","nodeType":"YulAssignment","src":"194954:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"194966:4:21","nodeType":"YulLiteral","src":"194966:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"194960:5:21","nodeType":"YulIdentifier","src":"194960:5:21"},"nativeSrc":"194960:11:21","nodeType":"YulFunctionCall","src":"194960:11:21"},"variableNames":[{"name":"m1","nativeSrc":"194954:2:21","nodeType":"YulIdentifier","src":"194954:2:21"}]},{"nativeSrc":"194984:17:21","nodeType":"YulAssignment","src":"194984:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"194996:4:21","nodeType":"YulLiteral","src":"194996:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"194990:5:21","nodeType":"YulIdentifier","src":"194990:5:21"},"nativeSrc":"194990:11:21","nodeType":"YulFunctionCall","src":"194990:11:21"},"variableNames":[{"name":"m2","nativeSrc":"194984:2:21","nodeType":"YulIdentifier","src":"194984:2:21"}]},{"nativeSrc":"195014:17:21","nodeType":"YulAssignment","src":"195014:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"195026:4:21","nodeType":"YulLiteral","src":"195026:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"195020:5:21","nodeType":"YulIdentifier","src":"195020:5:21"},"nativeSrc":"195020:11:21","nodeType":"YulFunctionCall","src":"195020:11:21"},"variableNames":[{"name":"m3","nativeSrc":"195014:2:21","nodeType":"YulIdentifier","src":"195014:2:21"}]},{"nativeSrc":"195044:17:21","nodeType":"YulAssignment","src":"195044:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"195056:4:21","nodeType":"YulLiteral","src":"195056:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"195050:5:21","nodeType":"YulIdentifier","src":"195050:5:21"},"nativeSrc":"195050:11:21","nodeType":"YulFunctionCall","src":"195050:11:21"},"variableNames":[{"name":"m4","nativeSrc":"195044:2:21","nodeType":"YulIdentifier","src":"195044:2:21"}]},{"nativeSrc":"195074:17:21","nodeType":"YulAssignment","src":"195074:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"195086:4:21","nodeType":"YulLiteral","src":"195086:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"195080:5:21","nodeType":"YulIdentifier","src":"195080:5:21"},"nativeSrc":"195080:11:21","nodeType":"YulFunctionCall","src":"195080:11:21"},"variableNames":[{"name":"m5","nativeSrc":"195074:2:21","nodeType":"YulIdentifier","src":"195074:2:21"}]},{"nativeSrc":"195104:17:21","nodeType":"YulAssignment","src":"195104:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"195116:4:21","nodeType":"YulLiteral","src":"195116:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"195110:5:21","nodeType":"YulIdentifier","src":"195110:5:21"},"nativeSrc":"195110:11:21","nodeType":"YulFunctionCall","src":"195110:11:21"},"variableNames":[{"name":"m6","nativeSrc":"195104:2:21","nodeType":"YulIdentifier","src":"195104:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195198:4:21","nodeType":"YulLiteral","src":"195198:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"195204:10:21","nodeType":"YulLiteral","src":"195204:10:21","type":"","value":"0x2ae408d4"}],"functionName":{"name":"mstore","nativeSrc":"195191:6:21","nodeType":"YulIdentifier","src":"195191:6:21"},"nativeSrc":"195191:24:21","nodeType":"YulFunctionCall","src":"195191:24:21"},"nativeSrc":"195191:24:21","nodeType":"YulExpressionStatement","src":"195191:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195235:4:21","nodeType":"YulLiteral","src":"195235:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"195241:2:21","nodeType":"YulIdentifier","src":"195241:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195228:6:21","nodeType":"YulIdentifier","src":"195228:6:21"},"nativeSrc":"195228:16:21","nodeType":"YulFunctionCall","src":"195228:16:21"},"nativeSrc":"195228:16:21","nodeType":"YulExpressionStatement","src":"195228:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195264:4:21","nodeType":"YulLiteral","src":"195264:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"195270:2:21","nodeType":"YulIdentifier","src":"195270:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195257:6:21","nodeType":"YulIdentifier","src":"195257:6:21"},"nativeSrc":"195257:16:21","nodeType":"YulFunctionCall","src":"195257:16:21"},"nativeSrc":"195257:16:21","nodeType":"YulExpressionStatement","src":"195257:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195293:4:21","nodeType":"YulLiteral","src":"195293:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"195299:2:21","nodeType":"YulIdentifier","src":"195299:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195286:6:21","nodeType":"YulIdentifier","src":"195286:6:21"},"nativeSrc":"195286:16:21","nodeType":"YulFunctionCall","src":"195286:16:21"},"nativeSrc":"195286:16:21","nodeType":"YulExpressionStatement","src":"195286:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195322:4:21","nodeType":"YulLiteral","src":"195322:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"195328:4:21","nodeType":"YulLiteral","src":"195328:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"195315:6:21","nodeType":"YulIdentifier","src":"195315:6:21"},"nativeSrc":"195315:18:21","nodeType":"YulFunctionCall","src":"195315:18:21"},"nativeSrc":"195315:18:21","nodeType":"YulExpressionStatement","src":"195315:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195358:4:21","nodeType":"YulLiteral","src":"195358:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"195364:2:21","nodeType":"YulIdentifier","src":"195364:2:21"}],"functionName":{"name":"writeString","nativeSrc":"195346:11:21","nodeType":"YulIdentifier","src":"195346:11:21"},"nativeSrc":"195346:21:21","nodeType":"YulFunctionCall","src":"195346:21:21"},"nativeSrc":"195346:21:21","nodeType":"YulExpressionStatement","src":"195346:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33108,"isOffset":false,"isSlot":false,"src":"194924:2:21","valueSize":1},{"declaration":33111,"isOffset":false,"isSlot":false,"src":"194954:2:21","valueSize":1},{"declaration":33114,"isOffset":false,"isSlot":false,"src":"194984:2:21","valueSize":1},{"declaration":33117,"isOffset":false,"isSlot":false,"src":"195014:2:21","valueSize":1},{"declaration":33120,"isOffset":false,"isSlot":false,"src":"195044:2:21","valueSize":1},{"declaration":33123,"isOffset":false,"isSlot":false,"src":"195074:2:21","valueSize":1},{"declaration":33126,"isOffset":false,"isSlot":false,"src":"195104:2:21","valueSize":1},{"declaration":33098,"isOffset":false,"isSlot":false,"src":"195241:2:21","valueSize":1},{"declaration":33100,"isOffset":false,"isSlot":false,"src":"195270:2:21","valueSize":1},{"declaration":33102,"isOffset":false,"isSlot":false,"src":"195299:2:21","valueSize":1},{"declaration":33104,"isOffset":false,"isSlot":false,"src":"195364:2:21","valueSize":1}],"id":33128,"nodeType":"InlineAssembly","src":"194546:831:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"195402:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"195408:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33129,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"195386:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"195386:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33133,"nodeType":"ExpressionStatement","src":"195386:27:21"},{"AST":{"nativeSrc":"195475:214:21","nodeType":"YulBlock","src":"195475:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"195496:4:21","nodeType":"YulLiteral","src":"195496:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"195502:2:21","nodeType":"YulIdentifier","src":"195502:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195489:6:21","nodeType":"YulIdentifier","src":"195489:6:21"},"nativeSrc":"195489:16:21","nodeType":"YulFunctionCall","src":"195489:16:21"},"nativeSrc":"195489:16:21","nodeType":"YulExpressionStatement","src":"195489:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195525:4:21","nodeType":"YulLiteral","src":"195525:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"195531:2:21","nodeType":"YulIdentifier","src":"195531:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195518:6:21","nodeType":"YulIdentifier","src":"195518:6:21"},"nativeSrc":"195518:16:21","nodeType":"YulFunctionCall","src":"195518:16:21"},"nativeSrc":"195518:16:21","nodeType":"YulExpressionStatement","src":"195518:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195554:4:21","nodeType":"YulLiteral","src":"195554:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"195560:2:21","nodeType":"YulIdentifier","src":"195560:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195547:6:21","nodeType":"YulIdentifier","src":"195547:6:21"},"nativeSrc":"195547:16:21","nodeType":"YulFunctionCall","src":"195547:16:21"},"nativeSrc":"195547:16:21","nodeType":"YulExpressionStatement","src":"195547:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195583:4:21","nodeType":"YulLiteral","src":"195583:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"195589:2:21","nodeType":"YulIdentifier","src":"195589:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195576:6:21","nodeType":"YulIdentifier","src":"195576:6:21"},"nativeSrc":"195576:16:21","nodeType":"YulFunctionCall","src":"195576:16:21"},"nativeSrc":"195576:16:21","nodeType":"YulExpressionStatement","src":"195576:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195612:4:21","nodeType":"YulLiteral","src":"195612:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"195618:2:21","nodeType":"YulIdentifier","src":"195618:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195605:6:21","nodeType":"YulIdentifier","src":"195605:6:21"},"nativeSrc":"195605:16:21","nodeType":"YulFunctionCall","src":"195605:16:21"},"nativeSrc":"195605:16:21","nodeType":"YulExpressionStatement","src":"195605:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195641:4:21","nodeType":"YulLiteral","src":"195641:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"195647:2:21","nodeType":"YulIdentifier","src":"195647:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195634:6:21","nodeType":"YulIdentifier","src":"195634:6:21"},"nativeSrc":"195634:16:21","nodeType":"YulFunctionCall","src":"195634:16:21"},"nativeSrc":"195634:16:21","nodeType":"YulExpressionStatement","src":"195634:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195670:4:21","nodeType":"YulLiteral","src":"195670:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"195676:2:21","nodeType":"YulIdentifier","src":"195676:2:21"}],"functionName":{"name":"mstore","nativeSrc":"195663:6:21","nodeType":"YulIdentifier","src":"195663:6:21"},"nativeSrc":"195663:16:21","nodeType":"YulFunctionCall","src":"195663:16:21"},"nativeSrc":"195663:16:21","nodeType":"YulExpressionStatement","src":"195663:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33108,"isOffset":false,"isSlot":false,"src":"195502:2:21","valueSize":1},{"declaration":33111,"isOffset":false,"isSlot":false,"src":"195531:2:21","valueSize":1},{"declaration":33114,"isOffset":false,"isSlot":false,"src":"195560:2:21","valueSize":1},{"declaration":33117,"isOffset":false,"isSlot":false,"src":"195589:2:21","valueSize":1},{"declaration":33120,"isOffset":false,"isSlot":false,"src":"195618:2:21","valueSize":1},{"declaration":33123,"isOffset":false,"isSlot":false,"src":"195647:2:21","valueSize":1},{"declaration":33126,"isOffset":false,"isSlot":false,"src":"195676:2:21","valueSize":1}],"id":33134,"nodeType":"InlineAssembly","src":"195466:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"194296:3:21","parameters":{"id":33105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33098,"mutability":"mutable","name":"p0","nameLocation":"194305:2:21","nodeType":"VariableDeclaration","scope":33136,"src":"194300:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33097,"name":"bool","nodeType":"ElementaryTypeName","src":"194300:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33100,"mutability":"mutable","name":"p1","nameLocation":"194314:2:21","nodeType":"VariableDeclaration","scope":33136,"src":"194309:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33099,"name":"bool","nodeType":"ElementaryTypeName","src":"194309:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33102,"mutability":"mutable","name":"p2","nameLocation":"194323:2:21","nodeType":"VariableDeclaration","scope":33136,"src":"194318:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33101,"name":"bool","nodeType":"ElementaryTypeName","src":"194318:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33104,"mutability":"mutable","name":"p3","nameLocation":"194335:2:21","nodeType":"VariableDeclaration","scope":33136,"src":"194327:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194327:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"194299:39:21"},"returnParameters":{"id":33106,"nodeType":"ParameterList","parameters":[],"src":"194353:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33170,"nodeType":"FunctionDefinition","src":"195701:866:21","nodes":[],"body":{"id":33169,"nodeType":"Block","src":"195770:797:21","nodes":[],"statements":[{"assignments":[33148],"declarations":[{"constant":false,"id":33148,"mutability":"mutable","name":"m0","nameLocation":"195788:2:21","nodeType":"VariableDeclaration","scope":33169,"src":"195780:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195780:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33149,"nodeType":"VariableDeclarationStatement","src":"195780:10:21"},{"assignments":[33151],"declarations":[{"constant":false,"id":33151,"mutability":"mutable","name":"m1","nameLocation":"195808:2:21","nodeType":"VariableDeclaration","scope":33169,"src":"195800:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195800:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33152,"nodeType":"VariableDeclarationStatement","src":"195800:10:21"},{"assignments":[33154],"declarations":[{"constant":false,"id":33154,"mutability":"mutable","name":"m2","nameLocation":"195828:2:21","nodeType":"VariableDeclaration","scope":33169,"src":"195820:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195820:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33155,"nodeType":"VariableDeclarationStatement","src":"195820:10:21"},{"assignments":[33157],"declarations":[{"constant":false,"id":33157,"mutability":"mutable","name":"m3","nameLocation":"195848:2:21","nodeType":"VariableDeclaration","scope":33169,"src":"195840:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195840:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33158,"nodeType":"VariableDeclarationStatement","src":"195840:10:21"},{"assignments":[33160],"declarations":[{"constant":false,"id":33160,"mutability":"mutable","name":"m4","nameLocation":"195868:2:21","nodeType":"VariableDeclaration","scope":33169,"src":"195860:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195860:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33161,"nodeType":"VariableDeclarationStatement","src":"195860:10:21"},{"AST":{"nativeSrc":"195932:375:21","nodeType":"YulBlock","src":"195932:375:21","statements":[{"nativeSrc":"195946:17:21","nodeType":"YulAssignment","src":"195946:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"195958:4:21","nodeType":"YulLiteral","src":"195958:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"195952:5:21","nodeType":"YulIdentifier","src":"195952:5:21"},"nativeSrc":"195952:11:21","nodeType":"YulFunctionCall","src":"195952:11:21"},"variableNames":[{"name":"m0","nativeSrc":"195946:2:21","nodeType":"YulIdentifier","src":"195946:2:21"}]},{"nativeSrc":"195976:17:21","nodeType":"YulAssignment","src":"195976:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"195988:4:21","nodeType":"YulLiteral","src":"195988:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"195982:5:21","nodeType":"YulIdentifier","src":"195982:5:21"},"nativeSrc":"195982:11:21","nodeType":"YulFunctionCall","src":"195982:11:21"},"variableNames":[{"name":"m1","nativeSrc":"195976:2:21","nodeType":"YulIdentifier","src":"195976:2:21"}]},{"nativeSrc":"196006:17:21","nodeType":"YulAssignment","src":"196006:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"196018:4:21","nodeType":"YulLiteral","src":"196018:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"196012:5:21","nodeType":"YulIdentifier","src":"196012:5:21"},"nativeSrc":"196012:11:21","nodeType":"YulFunctionCall","src":"196012:11:21"},"variableNames":[{"name":"m2","nativeSrc":"196006:2:21","nodeType":"YulIdentifier","src":"196006:2:21"}]},{"nativeSrc":"196036:17:21","nodeType":"YulAssignment","src":"196036:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"196048:4:21","nodeType":"YulLiteral","src":"196048:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"196042:5:21","nodeType":"YulIdentifier","src":"196042:5:21"},"nativeSrc":"196042:11:21","nodeType":"YulFunctionCall","src":"196042:11:21"},"variableNames":[{"name":"m3","nativeSrc":"196036:2:21","nodeType":"YulIdentifier","src":"196036:2:21"}]},{"nativeSrc":"196066:17:21","nodeType":"YulAssignment","src":"196066:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"196078:4:21","nodeType":"YulLiteral","src":"196078:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"196072:5:21","nodeType":"YulIdentifier","src":"196072:5:21"},"nativeSrc":"196072:11:21","nodeType":"YulFunctionCall","src":"196072:11:21"},"variableNames":[{"name":"m4","nativeSrc":"196066:2:21","nodeType":"YulIdentifier","src":"196066:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196164:4:21","nodeType":"YulLiteral","src":"196164:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"196170:10:21","nodeType":"YulLiteral","src":"196170:10:21","type":"","value":"0x54a7a9a0"}],"functionName":{"name":"mstore","nativeSrc":"196157:6:21","nodeType":"YulIdentifier","src":"196157:6:21"},"nativeSrc":"196157:24:21","nodeType":"YulFunctionCall","src":"196157:24:21"},"nativeSrc":"196157:24:21","nodeType":"YulExpressionStatement","src":"196157:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196201:4:21","nodeType":"YulLiteral","src":"196201:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"196207:2:21","nodeType":"YulIdentifier","src":"196207:2:21"}],"functionName":{"name":"mstore","nativeSrc":"196194:6:21","nodeType":"YulIdentifier","src":"196194:6:21"},"nativeSrc":"196194:16:21","nodeType":"YulFunctionCall","src":"196194:16:21"},"nativeSrc":"196194:16:21","nodeType":"YulExpressionStatement","src":"196194:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196230:4:21","nodeType":"YulLiteral","src":"196230:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"196236:2:21","nodeType":"YulIdentifier","src":"196236:2:21"}],"functionName":{"name":"mstore","nativeSrc":"196223:6:21","nodeType":"YulIdentifier","src":"196223:6:21"},"nativeSrc":"196223:16:21","nodeType":"YulFunctionCall","src":"196223:16:21"},"nativeSrc":"196223:16:21","nodeType":"YulExpressionStatement","src":"196223:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196259:4:21","nodeType":"YulLiteral","src":"196259:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"196265:2:21","nodeType":"YulIdentifier","src":"196265:2:21"}],"functionName":{"name":"mstore","nativeSrc":"196252:6:21","nodeType":"YulIdentifier","src":"196252:6:21"},"nativeSrc":"196252:16:21","nodeType":"YulFunctionCall","src":"196252:16:21"},"nativeSrc":"196252:16:21","nodeType":"YulExpressionStatement","src":"196252:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196288:4:21","nodeType":"YulLiteral","src":"196288:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"196294:2:21","nodeType":"YulIdentifier","src":"196294:2:21"}],"functionName":{"name":"mstore","nativeSrc":"196281:6:21","nodeType":"YulIdentifier","src":"196281:6:21"},"nativeSrc":"196281:16:21","nodeType":"YulFunctionCall","src":"196281:16:21"},"nativeSrc":"196281:16:21","nodeType":"YulExpressionStatement","src":"196281:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33148,"isOffset":false,"isSlot":false,"src":"195946:2:21","valueSize":1},{"declaration":33151,"isOffset":false,"isSlot":false,"src":"195976:2:21","valueSize":1},{"declaration":33154,"isOffset":false,"isSlot":false,"src":"196006:2:21","valueSize":1},{"declaration":33157,"isOffset":false,"isSlot":false,"src":"196036:2:21","valueSize":1},{"declaration":33160,"isOffset":false,"isSlot":false,"src":"196066:2:21","valueSize":1},{"declaration":33138,"isOffset":false,"isSlot":false,"src":"196207:2:21","valueSize":1},{"declaration":33140,"isOffset":false,"isSlot":false,"src":"196236:2:21","valueSize":1},{"declaration":33142,"isOffset":false,"isSlot":false,"src":"196265:2:21","valueSize":1},{"declaration":33144,"isOffset":false,"isSlot":false,"src":"196294:2:21","valueSize":1}],"id":33162,"nodeType":"InlineAssembly","src":"195923:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"196332:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"196338:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33163,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"196316:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"196316:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33167,"nodeType":"ExpressionStatement","src":"196316:27:21"},{"AST":{"nativeSrc":"196405:156:21","nodeType":"YulBlock","src":"196405:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"196426:4:21","nodeType":"YulLiteral","src":"196426:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"196432:2:21","nodeType":"YulIdentifier","src":"196432:2:21"}],"functionName":{"name":"mstore","nativeSrc":"196419:6:21","nodeType":"YulIdentifier","src":"196419:6:21"},"nativeSrc":"196419:16:21","nodeType":"YulFunctionCall","src":"196419:16:21"},"nativeSrc":"196419:16:21","nodeType":"YulExpressionStatement","src":"196419:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196455:4:21","nodeType":"YulLiteral","src":"196455:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"196461:2:21","nodeType":"YulIdentifier","src":"196461:2:21"}],"functionName":{"name":"mstore","nativeSrc":"196448:6:21","nodeType":"YulIdentifier","src":"196448:6:21"},"nativeSrc":"196448:16:21","nodeType":"YulFunctionCall","src":"196448:16:21"},"nativeSrc":"196448:16:21","nodeType":"YulExpressionStatement","src":"196448:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196484:4:21","nodeType":"YulLiteral","src":"196484:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"196490:2:21","nodeType":"YulIdentifier","src":"196490:2:21"}],"functionName":{"name":"mstore","nativeSrc":"196477:6:21","nodeType":"YulIdentifier","src":"196477:6:21"},"nativeSrc":"196477:16:21","nodeType":"YulFunctionCall","src":"196477:16:21"},"nativeSrc":"196477:16:21","nodeType":"YulExpressionStatement","src":"196477:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196513:4:21","nodeType":"YulLiteral","src":"196513:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"196519:2:21","nodeType":"YulIdentifier","src":"196519:2:21"}],"functionName":{"name":"mstore","nativeSrc":"196506:6:21","nodeType":"YulIdentifier","src":"196506:6:21"},"nativeSrc":"196506:16:21","nodeType":"YulFunctionCall","src":"196506:16:21"},"nativeSrc":"196506:16:21","nodeType":"YulExpressionStatement","src":"196506:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196542:4:21","nodeType":"YulLiteral","src":"196542:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"196548:2:21","nodeType":"YulIdentifier","src":"196548:2:21"}],"functionName":{"name":"mstore","nativeSrc":"196535:6:21","nodeType":"YulIdentifier","src":"196535:6:21"},"nativeSrc":"196535:16:21","nodeType":"YulFunctionCall","src":"196535:16:21"},"nativeSrc":"196535:16:21","nodeType":"YulExpressionStatement","src":"196535:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33148,"isOffset":false,"isSlot":false,"src":"196432:2:21","valueSize":1},{"declaration":33151,"isOffset":false,"isSlot":false,"src":"196461:2:21","valueSize":1},{"declaration":33154,"isOffset":false,"isSlot":false,"src":"196490:2:21","valueSize":1},{"declaration":33157,"isOffset":false,"isSlot":false,"src":"196519:2:21","valueSize":1},{"declaration":33160,"isOffset":false,"isSlot":false,"src":"196548:2:21","valueSize":1}],"id":33168,"nodeType":"InlineAssembly","src":"196396:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"195710:3:21","parameters":{"id":33145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33138,"mutability":"mutable","name":"p0","nameLocation":"195719:2:21","nodeType":"VariableDeclaration","scope":33170,"src":"195714:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33137,"name":"bool","nodeType":"ElementaryTypeName","src":"195714:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33140,"mutability":"mutable","name":"p1","nameLocation":"195728:2:21","nodeType":"VariableDeclaration","scope":33170,"src":"195723:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33139,"name":"bool","nodeType":"ElementaryTypeName","src":"195723:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33142,"mutability":"mutable","name":"p2","nameLocation":"195740:2:21","nodeType":"VariableDeclaration","scope":33170,"src":"195732:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33141,"name":"uint256","nodeType":"ElementaryTypeName","src":"195732:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33144,"mutability":"mutable","name":"p3","nameLocation":"195752:2:21","nodeType":"VariableDeclaration","scope":33170,"src":"195744:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33143,"name":"address","nodeType":"ElementaryTypeName","src":"195744:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"195713:42:21"},"returnParameters":{"id":33146,"nodeType":"ParameterList","parameters":[],"src":"195770:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33204,"nodeType":"FunctionDefinition","src":"196573:860:21","nodes":[],"body":{"id":33203,"nodeType":"Block","src":"196639:794:21","nodes":[],"statements":[{"assignments":[33182],"declarations":[{"constant":false,"id":33182,"mutability":"mutable","name":"m0","nameLocation":"196657:2:21","nodeType":"VariableDeclaration","scope":33203,"src":"196649:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196649:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33183,"nodeType":"VariableDeclarationStatement","src":"196649:10:21"},{"assignments":[33185],"declarations":[{"constant":false,"id":33185,"mutability":"mutable","name":"m1","nameLocation":"196677:2:21","nodeType":"VariableDeclaration","scope":33203,"src":"196669:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196669:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33186,"nodeType":"VariableDeclarationStatement","src":"196669:10:21"},{"assignments":[33188],"declarations":[{"constant":false,"id":33188,"mutability":"mutable","name":"m2","nameLocation":"196697:2:21","nodeType":"VariableDeclaration","scope":33203,"src":"196689:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33187,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196689:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33189,"nodeType":"VariableDeclarationStatement","src":"196689:10:21"},{"assignments":[33191],"declarations":[{"constant":false,"id":33191,"mutability":"mutable","name":"m3","nameLocation":"196717:2:21","nodeType":"VariableDeclaration","scope":33203,"src":"196709:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196709:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33192,"nodeType":"VariableDeclarationStatement","src":"196709:10:21"},{"assignments":[33194],"declarations":[{"constant":false,"id":33194,"mutability":"mutable","name":"m4","nameLocation":"196737:2:21","nodeType":"VariableDeclaration","scope":33203,"src":"196729:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196729:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33195,"nodeType":"VariableDeclarationStatement","src":"196729:10:21"},{"AST":{"nativeSrc":"196801:372:21","nodeType":"YulBlock","src":"196801:372:21","statements":[{"nativeSrc":"196815:17:21","nodeType":"YulAssignment","src":"196815:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"196827:4:21","nodeType":"YulLiteral","src":"196827:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"196821:5:21","nodeType":"YulIdentifier","src":"196821:5:21"},"nativeSrc":"196821:11:21","nodeType":"YulFunctionCall","src":"196821:11:21"},"variableNames":[{"name":"m0","nativeSrc":"196815:2:21","nodeType":"YulIdentifier","src":"196815:2:21"}]},{"nativeSrc":"196845:17:21","nodeType":"YulAssignment","src":"196845:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"196857:4:21","nodeType":"YulLiteral","src":"196857:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"196851:5:21","nodeType":"YulIdentifier","src":"196851:5:21"},"nativeSrc":"196851:11:21","nodeType":"YulFunctionCall","src":"196851:11:21"},"variableNames":[{"name":"m1","nativeSrc":"196845:2:21","nodeType":"YulIdentifier","src":"196845:2:21"}]},{"nativeSrc":"196875:17:21","nodeType":"YulAssignment","src":"196875:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"196887:4:21","nodeType":"YulLiteral","src":"196887:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"196881:5:21","nodeType":"YulIdentifier","src":"196881:5:21"},"nativeSrc":"196881:11:21","nodeType":"YulFunctionCall","src":"196881:11:21"},"variableNames":[{"name":"m2","nativeSrc":"196875:2:21","nodeType":"YulIdentifier","src":"196875:2:21"}]},{"nativeSrc":"196905:17:21","nodeType":"YulAssignment","src":"196905:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"196917:4:21","nodeType":"YulLiteral","src":"196917:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"196911:5:21","nodeType":"YulIdentifier","src":"196911:5:21"},"nativeSrc":"196911:11:21","nodeType":"YulFunctionCall","src":"196911:11:21"},"variableNames":[{"name":"m3","nativeSrc":"196905:2:21","nodeType":"YulIdentifier","src":"196905:2:21"}]},{"nativeSrc":"196935:17:21","nodeType":"YulAssignment","src":"196935:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"196947:4:21","nodeType":"YulLiteral","src":"196947:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"196941:5:21","nodeType":"YulIdentifier","src":"196941:5:21"},"nativeSrc":"196941:11:21","nodeType":"YulFunctionCall","src":"196941:11:21"},"variableNames":[{"name":"m4","nativeSrc":"196935:2:21","nodeType":"YulIdentifier","src":"196935:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197030:4:21","nodeType":"YulLiteral","src":"197030:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"197036:10:21","nodeType":"YulLiteral","src":"197036:10:21","type":"","value":"0x619e4d0e"}],"functionName":{"name":"mstore","nativeSrc":"197023:6:21","nodeType":"YulIdentifier","src":"197023:6:21"},"nativeSrc":"197023:24:21","nodeType":"YulFunctionCall","src":"197023:24:21"},"nativeSrc":"197023:24:21","nodeType":"YulExpressionStatement","src":"197023:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197067:4:21","nodeType":"YulLiteral","src":"197067:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"197073:2:21","nodeType":"YulIdentifier","src":"197073:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197060:6:21","nodeType":"YulIdentifier","src":"197060:6:21"},"nativeSrc":"197060:16:21","nodeType":"YulFunctionCall","src":"197060:16:21"},"nativeSrc":"197060:16:21","nodeType":"YulExpressionStatement","src":"197060:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197096:4:21","nodeType":"YulLiteral","src":"197096:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"197102:2:21","nodeType":"YulIdentifier","src":"197102:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197089:6:21","nodeType":"YulIdentifier","src":"197089:6:21"},"nativeSrc":"197089:16:21","nodeType":"YulFunctionCall","src":"197089:16:21"},"nativeSrc":"197089:16:21","nodeType":"YulExpressionStatement","src":"197089:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197125:4:21","nodeType":"YulLiteral","src":"197125:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"197131:2:21","nodeType":"YulIdentifier","src":"197131:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197118:6:21","nodeType":"YulIdentifier","src":"197118:6:21"},"nativeSrc":"197118:16:21","nodeType":"YulFunctionCall","src":"197118:16:21"},"nativeSrc":"197118:16:21","nodeType":"YulExpressionStatement","src":"197118:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197154:4:21","nodeType":"YulLiteral","src":"197154:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"197160:2:21","nodeType":"YulIdentifier","src":"197160:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197147:6:21","nodeType":"YulIdentifier","src":"197147:6:21"},"nativeSrc":"197147:16:21","nodeType":"YulFunctionCall","src":"197147:16:21"},"nativeSrc":"197147:16:21","nodeType":"YulExpressionStatement","src":"197147:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33182,"isOffset":false,"isSlot":false,"src":"196815:2:21","valueSize":1},{"declaration":33185,"isOffset":false,"isSlot":false,"src":"196845:2:21","valueSize":1},{"declaration":33188,"isOffset":false,"isSlot":false,"src":"196875:2:21","valueSize":1},{"declaration":33191,"isOffset":false,"isSlot":false,"src":"196905:2:21","valueSize":1},{"declaration":33194,"isOffset":false,"isSlot":false,"src":"196935:2:21","valueSize":1},{"declaration":33172,"isOffset":false,"isSlot":false,"src":"197073:2:21","valueSize":1},{"declaration":33174,"isOffset":false,"isSlot":false,"src":"197102:2:21","valueSize":1},{"declaration":33176,"isOffset":false,"isSlot":false,"src":"197131:2:21","valueSize":1},{"declaration":33178,"isOffset":false,"isSlot":false,"src":"197160:2:21","valueSize":1}],"id":33196,"nodeType":"InlineAssembly","src":"196792:381:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"197198:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"197204:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"197182:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"197182:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33201,"nodeType":"ExpressionStatement","src":"197182:27:21"},{"AST":{"nativeSrc":"197271:156:21","nodeType":"YulBlock","src":"197271:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"197292:4:21","nodeType":"YulLiteral","src":"197292:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"197298:2:21","nodeType":"YulIdentifier","src":"197298:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197285:6:21","nodeType":"YulIdentifier","src":"197285:6:21"},"nativeSrc":"197285:16:21","nodeType":"YulFunctionCall","src":"197285:16:21"},"nativeSrc":"197285:16:21","nodeType":"YulExpressionStatement","src":"197285:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197321:4:21","nodeType":"YulLiteral","src":"197321:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"197327:2:21","nodeType":"YulIdentifier","src":"197327:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197314:6:21","nodeType":"YulIdentifier","src":"197314:6:21"},"nativeSrc":"197314:16:21","nodeType":"YulFunctionCall","src":"197314:16:21"},"nativeSrc":"197314:16:21","nodeType":"YulExpressionStatement","src":"197314:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197350:4:21","nodeType":"YulLiteral","src":"197350:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"197356:2:21","nodeType":"YulIdentifier","src":"197356:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197343:6:21","nodeType":"YulIdentifier","src":"197343:6:21"},"nativeSrc":"197343:16:21","nodeType":"YulFunctionCall","src":"197343:16:21"},"nativeSrc":"197343:16:21","nodeType":"YulExpressionStatement","src":"197343:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197379:4:21","nodeType":"YulLiteral","src":"197379:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"197385:2:21","nodeType":"YulIdentifier","src":"197385:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197372:6:21","nodeType":"YulIdentifier","src":"197372:6:21"},"nativeSrc":"197372:16:21","nodeType":"YulFunctionCall","src":"197372:16:21"},"nativeSrc":"197372:16:21","nodeType":"YulExpressionStatement","src":"197372:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197408:4:21","nodeType":"YulLiteral","src":"197408:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"197414:2:21","nodeType":"YulIdentifier","src":"197414:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197401:6:21","nodeType":"YulIdentifier","src":"197401:6:21"},"nativeSrc":"197401:16:21","nodeType":"YulFunctionCall","src":"197401:16:21"},"nativeSrc":"197401:16:21","nodeType":"YulExpressionStatement","src":"197401:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33182,"isOffset":false,"isSlot":false,"src":"197298:2:21","valueSize":1},{"declaration":33185,"isOffset":false,"isSlot":false,"src":"197327:2:21","valueSize":1},{"declaration":33188,"isOffset":false,"isSlot":false,"src":"197356:2:21","valueSize":1},{"declaration":33191,"isOffset":false,"isSlot":false,"src":"197385:2:21","valueSize":1},{"declaration":33194,"isOffset":false,"isSlot":false,"src":"197414:2:21","valueSize":1}],"id":33202,"nodeType":"InlineAssembly","src":"197262:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"196582:3:21","parameters":{"id":33179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33172,"mutability":"mutable","name":"p0","nameLocation":"196591:2:21","nodeType":"VariableDeclaration","scope":33204,"src":"196586:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33171,"name":"bool","nodeType":"ElementaryTypeName","src":"196586:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33174,"mutability":"mutable","name":"p1","nameLocation":"196600:2:21","nodeType":"VariableDeclaration","scope":33204,"src":"196595:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33173,"name":"bool","nodeType":"ElementaryTypeName","src":"196595:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33176,"mutability":"mutable","name":"p2","nameLocation":"196612:2:21","nodeType":"VariableDeclaration","scope":33204,"src":"196604:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33175,"name":"uint256","nodeType":"ElementaryTypeName","src":"196604:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33178,"mutability":"mutable","name":"p3","nameLocation":"196621:2:21","nodeType":"VariableDeclaration","scope":33204,"src":"196616:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33177,"name":"bool","nodeType":"ElementaryTypeName","src":"196616:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"196585:39:21"},"returnParameters":{"id":33180,"nodeType":"ParameterList","parameters":[],"src":"196639:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33238,"nodeType":"FunctionDefinition","src":"197439:866:21","nodes":[],"body":{"id":33237,"nodeType":"Block","src":"197508:797:21","nodes":[],"statements":[{"assignments":[33216],"declarations":[{"constant":false,"id":33216,"mutability":"mutable","name":"m0","nameLocation":"197526:2:21","nodeType":"VariableDeclaration","scope":33237,"src":"197518:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197518:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33217,"nodeType":"VariableDeclarationStatement","src":"197518:10:21"},{"assignments":[33219],"declarations":[{"constant":false,"id":33219,"mutability":"mutable","name":"m1","nameLocation":"197546:2:21","nodeType":"VariableDeclaration","scope":33237,"src":"197538:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197538:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33220,"nodeType":"VariableDeclarationStatement","src":"197538:10:21"},{"assignments":[33222],"declarations":[{"constant":false,"id":33222,"mutability":"mutable","name":"m2","nameLocation":"197566:2:21","nodeType":"VariableDeclaration","scope":33237,"src":"197558:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197558:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33223,"nodeType":"VariableDeclarationStatement","src":"197558:10:21"},{"assignments":[33225],"declarations":[{"constant":false,"id":33225,"mutability":"mutable","name":"m3","nameLocation":"197586:2:21","nodeType":"VariableDeclaration","scope":33237,"src":"197578:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197578:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33226,"nodeType":"VariableDeclarationStatement","src":"197578:10:21"},{"assignments":[33228],"declarations":[{"constant":false,"id":33228,"mutability":"mutable","name":"m4","nameLocation":"197606:2:21","nodeType":"VariableDeclaration","scope":33237,"src":"197598:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197598:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33229,"nodeType":"VariableDeclarationStatement","src":"197598:10:21"},{"AST":{"nativeSrc":"197670:375:21","nodeType":"YulBlock","src":"197670:375:21","statements":[{"nativeSrc":"197684:17:21","nodeType":"YulAssignment","src":"197684:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"197696:4:21","nodeType":"YulLiteral","src":"197696:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"197690:5:21","nodeType":"YulIdentifier","src":"197690:5:21"},"nativeSrc":"197690:11:21","nodeType":"YulFunctionCall","src":"197690:11:21"},"variableNames":[{"name":"m0","nativeSrc":"197684:2:21","nodeType":"YulIdentifier","src":"197684:2:21"}]},{"nativeSrc":"197714:17:21","nodeType":"YulAssignment","src":"197714:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"197726:4:21","nodeType":"YulLiteral","src":"197726:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"197720:5:21","nodeType":"YulIdentifier","src":"197720:5:21"},"nativeSrc":"197720:11:21","nodeType":"YulFunctionCall","src":"197720:11:21"},"variableNames":[{"name":"m1","nativeSrc":"197714:2:21","nodeType":"YulIdentifier","src":"197714:2:21"}]},{"nativeSrc":"197744:17:21","nodeType":"YulAssignment","src":"197744:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"197756:4:21","nodeType":"YulLiteral","src":"197756:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"197750:5:21","nodeType":"YulIdentifier","src":"197750:5:21"},"nativeSrc":"197750:11:21","nodeType":"YulFunctionCall","src":"197750:11:21"},"variableNames":[{"name":"m2","nativeSrc":"197744:2:21","nodeType":"YulIdentifier","src":"197744:2:21"}]},{"nativeSrc":"197774:17:21","nodeType":"YulAssignment","src":"197774:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"197786:4:21","nodeType":"YulLiteral","src":"197786:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"197780:5:21","nodeType":"YulIdentifier","src":"197780:5:21"},"nativeSrc":"197780:11:21","nodeType":"YulFunctionCall","src":"197780:11:21"},"variableNames":[{"name":"m3","nativeSrc":"197774:2:21","nodeType":"YulIdentifier","src":"197774:2:21"}]},{"nativeSrc":"197804:17:21","nodeType":"YulAssignment","src":"197804:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"197816:4:21","nodeType":"YulLiteral","src":"197816:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"197810:5:21","nodeType":"YulIdentifier","src":"197810:5:21"},"nativeSrc":"197810:11:21","nodeType":"YulFunctionCall","src":"197810:11:21"},"variableNames":[{"name":"m4","nativeSrc":"197804:2:21","nodeType":"YulIdentifier","src":"197804:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197902:4:21","nodeType":"YulLiteral","src":"197902:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"197908:10:21","nodeType":"YulLiteral","src":"197908:10:21","type":"","value":"0x0bb00eab"}],"functionName":{"name":"mstore","nativeSrc":"197895:6:21","nodeType":"YulIdentifier","src":"197895:6:21"},"nativeSrc":"197895:24:21","nodeType":"YulFunctionCall","src":"197895:24:21"},"nativeSrc":"197895:24:21","nodeType":"YulExpressionStatement","src":"197895:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197939:4:21","nodeType":"YulLiteral","src":"197939:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"197945:2:21","nodeType":"YulIdentifier","src":"197945:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197932:6:21","nodeType":"YulIdentifier","src":"197932:6:21"},"nativeSrc":"197932:16:21","nodeType":"YulFunctionCall","src":"197932:16:21"},"nativeSrc":"197932:16:21","nodeType":"YulExpressionStatement","src":"197932:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197968:4:21","nodeType":"YulLiteral","src":"197968:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"197974:2:21","nodeType":"YulIdentifier","src":"197974:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197961:6:21","nodeType":"YulIdentifier","src":"197961:6:21"},"nativeSrc":"197961:16:21","nodeType":"YulFunctionCall","src":"197961:16:21"},"nativeSrc":"197961:16:21","nodeType":"YulExpressionStatement","src":"197961:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197997:4:21","nodeType":"YulLiteral","src":"197997:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"198003:2:21","nodeType":"YulIdentifier","src":"198003:2:21"}],"functionName":{"name":"mstore","nativeSrc":"197990:6:21","nodeType":"YulIdentifier","src":"197990:6:21"},"nativeSrc":"197990:16:21","nodeType":"YulFunctionCall","src":"197990:16:21"},"nativeSrc":"197990:16:21","nodeType":"YulExpressionStatement","src":"197990:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198026:4:21","nodeType":"YulLiteral","src":"198026:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"198032:2:21","nodeType":"YulIdentifier","src":"198032:2:21"}],"functionName":{"name":"mstore","nativeSrc":"198019:6:21","nodeType":"YulIdentifier","src":"198019:6:21"},"nativeSrc":"198019:16:21","nodeType":"YulFunctionCall","src":"198019:16:21"},"nativeSrc":"198019:16:21","nodeType":"YulExpressionStatement","src":"198019:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33216,"isOffset":false,"isSlot":false,"src":"197684:2:21","valueSize":1},{"declaration":33219,"isOffset":false,"isSlot":false,"src":"197714:2:21","valueSize":1},{"declaration":33222,"isOffset":false,"isSlot":false,"src":"197744:2:21","valueSize":1},{"declaration":33225,"isOffset":false,"isSlot":false,"src":"197774:2:21","valueSize":1},{"declaration":33228,"isOffset":false,"isSlot":false,"src":"197804:2:21","valueSize":1},{"declaration":33206,"isOffset":false,"isSlot":false,"src":"197945:2:21","valueSize":1},{"declaration":33208,"isOffset":false,"isSlot":false,"src":"197974:2:21","valueSize":1},{"declaration":33210,"isOffset":false,"isSlot":false,"src":"198003:2:21","valueSize":1},{"declaration":33212,"isOffset":false,"isSlot":false,"src":"198032:2:21","valueSize":1}],"id":33230,"nodeType":"InlineAssembly","src":"197661:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"198070:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"198076:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33231,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"198054:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"198054:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33235,"nodeType":"ExpressionStatement","src":"198054:27:21"},{"AST":{"nativeSrc":"198143:156:21","nodeType":"YulBlock","src":"198143:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"198164:4:21","nodeType":"YulLiteral","src":"198164:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"198170:2:21","nodeType":"YulIdentifier","src":"198170:2:21"}],"functionName":{"name":"mstore","nativeSrc":"198157:6:21","nodeType":"YulIdentifier","src":"198157:6:21"},"nativeSrc":"198157:16:21","nodeType":"YulFunctionCall","src":"198157:16:21"},"nativeSrc":"198157:16:21","nodeType":"YulExpressionStatement","src":"198157:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198193:4:21","nodeType":"YulLiteral","src":"198193:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"198199:2:21","nodeType":"YulIdentifier","src":"198199:2:21"}],"functionName":{"name":"mstore","nativeSrc":"198186:6:21","nodeType":"YulIdentifier","src":"198186:6:21"},"nativeSrc":"198186:16:21","nodeType":"YulFunctionCall","src":"198186:16:21"},"nativeSrc":"198186:16:21","nodeType":"YulExpressionStatement","src":"198186:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198222:4:21","nodeType":"YulLiteral","src":"198222:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"198228:2:21","nodeType":"YulIdentifier","src":"198228:2:21"}],"functionName":{"name":"mstore","nativeSrc":"198215:6:21","nodeType":"YulIdentifier","src":"198215:6:21"},"nativeSrc":"198215:16:21","nodeType":"YulFunctionCall","src":"198215:16:21"},"nativeSrc":"198215:16:21","nodeType":"YulExpressionStatement","src":"198215:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198251:4:21","nodeType":"YulLiteral","src":"198251:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"198257:2:21","nodeType":"YulIdentifier","src":"198257:2:21"}],"functionName":{"name":"mstore","nativeSrc":"198244:6:21","nodeType":"YulIdentifier","src":"198244:6:21"},"nativeSrc":"198244:16:21","nodeType":"YulFunctionCall","src":"198244:16:21"},"nativeSrc":"198244:16:21","nodeType":"YulExpressionStatement","src":"198244:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198280:4:21","nodeType":"YulLiteral","src":"198280:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"198286:2:21","nodeType":"YulIdentifier","src":"198286:2:21"}],"functionName":{"name":"mstore","nativeSrc":"198273:6:21","nodeType":"YulIdentifier","src":"198273:6:21"},"nativeSrc":"198273:16:21","nodeType":"YulFunctionCall","src":"198273:16:21"},"nativeSrc":"198273:16:21","nodeType":"YulExpressionStatement","src":"198273:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33216,"isOffset":false,"isSlot":false,"src":"198170:2:21","valueSize":1},{"declaration":33219,"isOffset":false,"isSlot":false,"src":"198199:2:21","valueSize":1},{"declaration":33222,"isOffset":false,"isSlot":false,"src":"198228:2:21","valueSize":1},{"declaration":33225,"isOffset":false,"isSlot":false,"src":"198257:2:21","valueSize":1},{"declaration":33228,"isOffset":false,"isSlot":false,"src":"198286:2:21","valueSize":1}],"id":33236,"nodeType":"InlineAssembly","src":"198134:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"197448:3:21","parameters":{"id":33213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33206,"mutability":"mutable","name":"p0","nameLocation":"197457:2:21","nodeType":"VariableDeclaration","scope":33238,"src":"197452:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33205,"name":"bool","nodeType":"ElementaryTypeName","src":"197452:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33208,"mutability":"mutable","name":"p1","nameLocation":"197466:2:21","nodeType":"VariableDeclaration","scope":33238,"src":"197461:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33207,"name":"bool","nodeType":"ElementaryTypeName","src":"197461:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33210,"mutability":"mutable","name":"p2","nameLocation":"197478:2:21","nodeType":"VariableDeclaration","scope":33238,"src":"197470:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33209,"name":"uint256","nodeType":"ElementaryTypeName","src":"197470:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33212,"mutability":"mutable","name":"p3","nameLocation":"197490:2:21","nodeType":"VariableDeclaration","scope":33238,"src":"197482:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33211,"name":"uint256","nodeType":"ElementaryTypeName","src":"197482:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"197451:42:21"},"returnParameters":{"id":33214,"nodeType":"ParameterList","parameters":[],"src":"197508:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33278,"nodeType":"FunctionDefinition","src":"198311:1414:21","nodes":[],"body":{"id":33277,"nodeType":"Block","src":"198380:1345:21","nodes":[],"statements":[{"assignments":[33250],"declarations":[{"constant":false,"id":33250,"mutability":"mutable","name":"m0","nameLocation":"198398:2:21","nodeType":"VariableDeclaration","scope":33277,"src":"198390:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198390:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33251,"nodeType":"VariableDeclarationStatement","src":"198390:10:21"},{"assignments":[33253],"declarations":[{"constant":false,"id":33253,"mutability":"mutable","name":"m1","nameLocation":"198418:2:21","nodeType":"VariableDeclaration","scope":33277,"src":"198410:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198410:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33254,"nodeType":"VariableDeclarationStatement","src":"198410:10:21"},{"assignments":[33256],"declarations":[{"constant":false,"id":33256,"mutability":"mutable","name":"m2","nameLocation":"198438:2:21","nodeType":"VariableDeclaration","scope":33277,"src":"198430:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198430:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33257,"nodeType":"VariableDeclarationStatement","src":"198430:10:21"},{"assignments":[33259],"declarations":[{"constant":false,"id":33259,"mutability":"mutable","name":"m3","nameLocation":"198458:2:21","nodeType":"VariableDeclaration","scope":33277,"src":"198450:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33258,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198450:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33260,"nodeType":"VariableDeclarationStatement","src":"198450:10:21"},{"assignments":[33262],"declarations":[{"constant":false,"id":33262,"mutability":"mutable","name":"m4","nameLocation":"198478:2:21","nodeType":"VariableDeclaration","scope":33277,"src":"198470:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198470:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33263,"nodeType":"VariableDeclarationStatement","src":"198470:10:21"},{"assignments":[33265],"declarations":[{"constant":false,"id":33265,"mutability":"mutable","name":"m5","nameLocation":"198498:2:21","nodeType":"VariableDeclaration","scope":33277,"src":"198490:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198490:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33266,"nodeType":"VariableDeclarationStatement","src":"198490:10:21"},{"assignments":[33268],"declarations":[{"constant":false,"id":33268,"mutability":"mutable","name":"m6","nameLocation":"198518:2:21","nodeType":"VariableDeclaration","scope":33277,"src":"198510:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198510:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33269,"nodeType":"VariableDeclarationStatement","src":"198510:10:21"},{"AST":{"nativeSrc":"198582:825:21","nodeType":"YulBlock","src":"198582:825:21","statements":[{"body":{"nativeSrc":"198625:313:21","nodeType":"YulBlock","src":"198625:313:21","statements":[{"nativeSrc":"198643:15:21","nodeType":"YulVariableDeclaration","src":"198643:15:21","value":{"kind":"number","nativeSrc":"198657:1:21","nodeType":"YulLiteral","src":"198657:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"198647:6:21","nodeType":"YulTypedName","src":"198647:6:21","type":""}]},{"body":{"nativeSrc":"198728:40:21","nodeType":"YulBlock","src":"198728:40:21","statements":[{"body":{"nativeSrc":"198757:9:21","nodeType":"YulBlock","src":"198757:9:21","statements":[{"nativeSrc":"198759:5:21","nodeType":"YulBreak","src":"198759:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"198745:6:21","nodeType":"YulIdentifier","src":"198745:6:21"},{"name":"w","nativeSrc":"198753:1:21","nodeType":"YulIdentifier","src":"198753:1:21"}],"functionName":{"name":"byte","nativeSrc":"198740:4:21","nodeType":"YulIdentifier","src":"198740:4:21"},"nativeSrc":"198740:15:21","nodeType":"YulFunctionCall","src":"198740:15:21"}],"functionName":{"name":"iszero","nativeSrc":"198733:6:21","nodeType":"YulIdentifier","src":"198733:6:21"},"nativeSrc":"198733:23:21","nodeType":"YulFunctionCall","src":"198733:23:21"},"nativeSrc":"198730:36:21","nodeType":"YulIf","src":"198730:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"198685:6:21","nodeType":"YulIdentifier","src":"198685:6:21"},{"kind":"number","nativeSrc":"198693:4:21","nodeType":"YulLiteral","src":"198693:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"198682:2:21","nodeType":"YulIdentifier","src":"198682:2:21"},"nativeSrc":"198682:16:21","nodeType":"YulFunctionCall","src":"198682:16:21"},"nativeSrc":"198675:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"198699:28:21","nodeType":"YulBlock","src":"198699:28:21","statements":[{"nativeSrc":"198701:24:21","nodeType":"YulAssignment","src":"198701:24:21","value":{"arguments":[{"name":"length","nativeSrc":"198715:6:21","nodeType":"YulIdentifier","src":"198715:6:21"},{"kind":"number","nativeSrc":"198723:1:21","nodeType":"YulLiteral","src":"198723:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"198711:3:21","nodeType":"YulIdentifier","src":"198711:3:21"},"nativeSrc":"198711:14:21","nodeType":"YulFunctionCall","src":"198711:14:21"},"variableNames":[{"name":"length","nativeSrc":"198701:6:21","nodeType":"YulIdentifier","src":"198701:6:21"}]}]},"pre":{"nativeSrc":"198679:2:21","nodeType":"YulBlock","src":"198679:2:21","statements":[]},"src":"198675:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"198792:3:21","nodeType":"YulIdentifier","src":"198792:3:21"},{"name":"length","nativeSrc":"198797:6:21","nodeType":"YulIdentifier","src":"198797:6:21"}],"functionName":{"name":"mstore","nativeSrc":"198785:6:21","nodeType":"YulIdentifier","src":"198785:6:21"},"nativeSrc":"198785:19:21","nodeType":"YulFunctionCall","src":"198785:19:21"},"nativeSrc":"198785:19:21","nodeType":"YulExpressionStatement","src":"198785:19:21"},{"nativeSrc":"198821:37:21","nodeType":"YulVariableDeclaration","src":"198821:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"198838:3:21","nodeType":"YulLiteral","src":"198838:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"198847:1:21","nodeType":"YulLiteral","src":"198847:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"198850:6:21","nodeType":"YulIdentifier","src":"198850:6:21"}],"functionName":{"name":"shl","nativeSrc":"198843:3:21","nodeType":"YulIdentifier","src":"198843:3:21"},"nativeSrc":"198843:14:21","nodeType":"YulFunctionCall","src":"198843:14:21"}],"functionName":{"name":"sub","nativeSrc":"198834:3:21","nodeType":"YulIdentifier","src":"198834:3:21"},"nativeSrc":"198834:24:21","nodeType":"YulFunctionCall","src":"198834:24:21"},"variables":[{"name":"shift","nativeSrc":"198825:5:21","nodeType":"YulTypedName","src":"198825:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"198886:3:21","nodeType":"YulIdentifier","src":"198886:3:21"},{"kind":"number","nativeSrc":"198891:4:21","nodeType":"YulLiteral","src":"198891:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"198882:3:21","nodeType":"YulIdentifier","src":"198882:3:21"},"nativeSrc":"198882:14:21","nodeType":"YulFunctionCall","src":"198882:14:21"},{"arguments":[{"name":"shift","nativeSrc":"198902:5:21","nodeType":"YulIdentifier","src":"198902:5:21"},{"arguments":[{"name":"shift","nativeSrc":"198913:5:21","nodeType":"YulIdentifier","src":"198913:5:21"},{"name":"w","nativeSrc":"198920:1:21","nodeType":"YulIdentifier","src":"198920:1:21"}],"functionName":{"name":"shr","nativeSrc":"198909:3:21","nodeType":"YulIdentifier","src":"198909:3:21"},"nativeSrc":"198909:13:21","nodeType":"YulFunctionCall","src":"198909:13:21"}],"functionName":{"name":"shl","nativeSrc":"198898:3:21","nodeType":"YulIdentifier","src":"198898:3:21"},"nativeSrc":"198898:25:21","nodeType":"YulFunctionCall","src":"198898:25:21"}],"functionName":{"name":"mstore","nativeSrc":"198875:6:21","nodeType":"YulIdentifier","src":"198875:6:21"},"nativeSrc":"198875:49:21","nodeType":"YulFunctionCall","src":"198875:49:21"},"nativeSrc":"198875:49:21","nodeType":"YulExpressionStatement","src":"198875:49:21"}]},"name":"writeString","nativeSrc":"198596:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"198617:3:21","nodeType":"YulTypedName","src":"198617:3:21","type":""},{"name":"w","nativeSrc":"198622:1:21","nodeType":"YulTypedName","src":"198622:1:21","type":""}],"src":"198596:342:21"},{"nativeSrc":"198951:17:21","nodeType":"YulAssignment","src":"198951:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"198963:4:21","nodeType":"YulLiteral","src":"198963:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"198957:5:21","nodeType":"YulIdentifier","src":"198957:5:21"},"nativeSrc":"198957:11:21","nodeType":"YulFunctionCall","src":"198957:11:21"},"variableNames":[{"name":"m0","nativeSrc":"198951:2:21","nodeType":"YulIdentifier","src":"198951:2:21"}]},{"nativeSrc":"198981:17:21","nodeType":"YulAssignment","src":"198981:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"198993:4:21","nodeType":"YulLiteral","src":"198993:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"198987:5:21","nodeType":"YulIdentifier","src":"198987:5:21"},"nativeSrc":"198987:11:21","nodeType":"YulFunctionCall","src":"198987:11:21"},"variableNames":[{"name":"m1","nativeSrc":"198981:2:21","nodeType":"YulIdentifier","src":"198981:2:21"}]},{"nativeSrc":"199011:17:21","nodeType":"YulAssignment","src":"199011:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"199023:4:21","nodeType":"YulLiteral","src":"199023:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"199017:5:21","nodeType":"YulIdentifier","src":"199017:5:21"},"nativeSrc":"199017:11:21","nodeType":"YulFunctionCall","src":"199017:11:21"},"variableNames":[{"name":"m2","nativeSrc":"199011:2:21","nodeType":"YulIdentifier","src":"199011:2:21"}]},{"nativeSrc":"199041:17:21","nodeType":"YulAssignment","src":"199041:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"199053:4:21","nodeType":"YulLiteral","src":"199053:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"199047:5:21","nodeType":"YulIdentifier","src":"199047:5:21"},"nativeSrc":"199047:11:21","nodeType":"YulFunctionCall","src":"199047:11:21"},"variableNames":[{"name":"m3","nativeSrc":"199041:2:21","nodeType":"YulIdentifier","src":"199041:2:21"}]},{"nativeSrc":"199071:17:21","nodeType":"YulAssignment","src":"199071:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"199083:4:21","nodeType":"YulLiteral","src":"199083:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"199077:5:21","nodeType":"YulIdentifier","src":"199077:5:21"},"nativeSrc":"199077:11:21","nodeType":"YulFunctionCall","src":"199077:11:21"},"variableNames":[{"name":"m4","nativeSrc":"199071:2:21","nodeType":"YulIdentifier","src":"199071:2:21"}]},{"nativeSrc":"199101:17:21","nodeType":"YulAssignment","src":"199101:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"199113:4:21","nodeType":"YulLiteral","src":"199113:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"199107:5:21","nodeType":"YulIdentifier","src":"199107:5:21"},"nativeSrc":"199107:11:21","nodeType":"YulFunctionCall","src":"199107:11:21"},"variableNames":[{"name":"m5","nativeSrc":"199101:2:21","nodeType":"YulIdentifier","src":"199101:2:21"}]},{"nativeSrc":"199131:17:21","nodeType":"YulAssignment","src":"199131:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"199143:4:21","nodeType":"YulLiteral","src":"199143:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"199137:5:21","nodeType":"YulIdentifier","src":"199137:5:21"},"nativeSrc":"199137:11:21","nodeType":"YulFunctionCall","src":"199137:11:21"},"variableNames":[{"name":"m6","nativeSrc":"199131:2:21","nodeType":"YulIdentifier","src":"199131:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199228:4:21","nodeType":"YulLiteral","src":"199228:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"199234:10:21","nodeType":"YulLiteral","src":"199234:10:21","type":"","value":"0x7dd4d0e0"}],"functionName":{"name":"mstore","nativeSrc":"199221:6:21","nodeType":"YulIdentifier","src":"199221:6:21"},"nativeSrc":"199221:24:21","nodeType":"YulFunctionCall","src":"199221:24:21"},"nativeSrc":"199221:24:21","nodeType":"YulExpressionStatement","src":"199221:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199265:4:21","nodeType":"YulLiteral","src":"199265:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"199271:2:21","nodeType":"YulIdentifier","src":"199271:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199258:6:21","nodeType":"YulIdentifier","src":"199258:6:21"},"nativeSrc":"199258:16:21","nodeType":"YulFunctionCall","src":"199258:16:21"},"nativeSrc":"199258:16:21","nodeType":"YulExpressionStatement","src":"199258:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199294:4:21","nodeType":"YulLiteral","src":"199294:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"199300:2:21","nodeType":"YulIdentifier","src":"199300:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199287:6:21","nodeType":"YulIdentifier","src":"199287:6:21"},"nativeSrc":"199287:16:21","nodeType":"YulFunctionCall","src":"199287:16:21"},"nativeSrc":"199287:16:21","nodeType":"YulExpressionStatement","src":"199287:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199323:4:21","nodeType":"YulLiteral","src":"199323:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"199329:2:21","nodeType":"YulIdentifier","src":"199329:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199316:6:21","nodeType":"YulIdentifier","src":"199316:6:21"},"nativeSrc":"199316:16:21","nodeType":"YulFunctionCall","src":"199316:16:21"},"nativeSrc":"199316:16:21","nodeType":"YulExpressionStatement","src":"199316:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199352:4:21","nodeType":"YulLiteral","src":"199352:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"199358:4:21","nodeType":"YulLiteral","src":"199358:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"199345:6:21","nodeType":"YulIdentifier","src":"199345:6:21"},"nativeSrc":"199345:18:21","nodeType":"YulFunctionCall","src":"199345:18:21"},"nativeSrc":"199345:18:21","nodeType":"YulExpressionStatement","src":"199345:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199388:4:21","nodeType":"YulLiteral","src":"199388:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"199394:2:21","nodeType":"YulIdentifier","src":"199394:2:21"}],"functionName":{"name":"writeString","nativeSrc":"199376:11:21","nodeType":"YulIdentifier","src":"199376:11:21"},"nativeSrc":"199376:21:21","nodeType":"YulFunctionCall","src":"199376:21:21"},"nativeSrc":"199376:21:21","nodeType":"YulExpressionStatement","src":"199376:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33250,"isOffset":false,"isSlot":false,"src":"198951:2:21","valueSize":1},{"declaration":33253,"isOffset":false,"isSlot":false,"src":"198981:2:21","valueSize":1},{"declaration":33256,"isOffset":false,"isSlot":false,"src":"199011:2:21","valueSize":1},{"declaration":33259,"isOffset":false,"isSlot":false,"src":"199041:2:21","valueSize":1},{"declaration":33262,"isOffset":false,"isSlot":false,"src":"199071:2:21","valueSize":1},{"declaration":33265,"isOffset":false,"isSlot":false,"src":"199101:2:21","valueSize":1},{"declaration":33268,"isOffset":false,"isSlot":false,"src":"199131:2:21","valueSize":1},{"declaration":33240,"isOffset":false,"isSlot":false,"src":"199271:2:21","valueSize":1},{"declaration":33242,"isOffset":false,"isSlot":false,"src":"199300:2:21","valueSize":1},{"declaration":33244,"isOffset":false,"isSlot":false,"src":"199329:2:21","valueSize":1},{"declaration":33246,"isOffset":false,"isSlot":false,"src":"199394:2:21","valueSize":1}],"id":33270,"nodeType":"InlineAssembly","src":"198573:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"199432:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"199438:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33271,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"199416:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"199416:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33275,"nodeType":"ExpressionStatement","src":"199416:27:21"},{"AST":{"nativeSrc":"199505:214:21","nodeType":"YulBlock","src":"199505:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"199526:4:21","nodeType":"YulLiteral","src":"199526:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"199532:2:21","nodeType":"YulIdentifier","src":"199532:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199519:6:21","nodeType":"YulIdentifier","src":"199519:6:21"},"nativeSrc":"199519:16:21","nodeType":"YulFunctionCall","src":"199519:16:21"},"nativeSrc":"199519:16:21","nodeType":"YulExpressionStatement","src":"199519:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199555:4:21","nodeType":"YulLiteral","src":"199555:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"199561:2:21","nodeType":"YulIdentifier","src":"199561:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199548:6:21","nodeType":"YulIdentifier","src":"199548:6:21"},"nativeSrc":"199548:16:21","nodeType":"YulFunctionCall","src":"199548:16:21"},"nativeSrc":"199548:16:21","nodeType":"YulExpressionStatement","src":"199548:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199584:4:21","nodeType":"YulLiteral","src":"199584:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"199590:2:21","nodeType":"YulIdentifier","src":"199590:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199577:6:21","nodeType":"YulIdentifier","src":"199577:6:21"},"nativeSrc":"199577:16:21","nodeType":"YulFunctionCall","src":"199577:16:21"},"nativeSrc":"199577:16:21","nodeType":"YulExpressionStatement","src":"199577:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199613:4:21","nodeType":"YulLiteral","src":"199613:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"199619:2:21","nodeType":"YulIdentifier","src":"199619:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199606:6:21","nodeType":"YulIdentifier","src":"199606:6:21"},"nativeSrc":"199606:16:21","nodeType":"YulFunctionCall","src":"199606:16:21"},"nativeSrc":"199606:16:21","nodeType":"YulExpressionStatement","src":"199606:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199642:4:21","nodeType":"YulLiteral","src":"199642:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"199648:2:21","nodeType":"YulIdentifier","src":"199648:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199635:6:21","nodeType":"YulIdentifier","src":"199635:6:21"},"nativeSrc":"199635:16:21","nodeType":"YulFunctionCall","src":"199635:16:21"},"nativeSrc":"199635:16:21","nodeType":"YulExpressionStatement","src":"199635:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199671:4:21","nodeType":"YulLiteral","src":"199671:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"199677:2:21","nodeType":"YulIdentifier","src":"199677:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199664:6:21","nodeType":"YulIdentifier","src":"199664:6:21"},"nativeSrc":"199664:16:21","nodeType":"YulFunctionCall","src":"199664:16:21"},"nativeSrc":"199664:16:21","nodeType":"YulExpressionStatement","src":"199664:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199700:4:21","nodeType":"YulLiteral","src":"199700:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"199706:2:21","nodeType":"YulIdentifier","src":"199706:2:21"}],"functionName":{"name":"mstore","nativeSrc":"199693:6:21","nodeType":"YulIdentifier","src":"199693:6:21"},"nativeSrc":"199693:16:21","nodeType":"YulFunctionCall","src":"199693:16:21"},"nativeSrc":"199693:16:21","nodeType":"YulExpressionStatement","src":"199693:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33250,"isOffset":false,"isSlot":false,"src":"199532:2:21","valueSize":1},{"declaration":33253,"isOffset":false,"isSlot":false,"src":"199561:2:21","valueSize":1},{"declaration":33256,"isOffset":false,"isSlot":false,"src":"199590:2:21","valueSize":1},{"declaration":33259,"isOffset":false,"isSlot":false,"src":"199619:2:21","valueSize":1},{"declaration":33262,"isOffset":false,"isSlot":false,"src":"199648:2:21","valueSize":1},{"declaration":33265,"isOffset":false,"isSlot":false,"src":"199677:2:21","valueSize":1},{"declaration":33268,"isOffset":false,"isSlot":false,"src":"199706:2:21","valueSize":1}],"id":33276,"nodeType":"InlineAssembly","src":"199496:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"198320:3:21","parameters":{"id":33247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33240,"mutability":"mutable","name":"p0","nameLocation":"198329:2:21","nodeType":"VariableDeclaration","scope":33278,"src":"198324:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33239,"name":"bool","nodeType":"ElementaryTypeName","src":"198324:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33242,"mutability":"mutable","name":"p1","nameLocation":"198338:2:21","nodeType":"VariableDeclaration","scope":33278,"src":"198333:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33241,"name":"bool","nodeType":"ElementaryTypeName","src":"198333:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33244,"mutability":"mutable","name":"p2","nameLocation":"198350:2:21","nodeType":"VariableDeclaration","scope":33278,"src":"198342:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33243,"name":"uint256","nodeType":"ElementaryTypeName","src":"198342:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33246,"mutability":"mutable","name":"p3","nameLocation":"198362:2:21","nodeType":"VariableDeclaration","scope":33278,"src":"198354:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198354:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"198323:42:21"},"returnParameters":{"id":33248,"nodeType":"ParameterList","parameters":[],"src":"198380:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33318,"nodeType":"FunctionDefinition","src":"199731:1414:21","nodes":[],"body":{"id":33317,"nodeType":"Block","src":"199800:1345:21","nodes":[],"statements":[{"assignments":[33290],"declarations":[{"constant":false,"id":33290,"mutability":"mutable","name":"m0","nameLocation":"199818:2:21","nodeType":"VariableDeclaration","scope":33317,"src":"199810:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199810:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33291,"nodeType":"VariableDeclarationStatement","src":"199810:10:21"},{"assignments":[33293],"declarations":[{"constant":false,"id":33293,"mutability":"mutable","name":"m1","nameLocation":"199838:2:21","nodeType":"VariableDeclaration","scope":33317,"src":"199830:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33292,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199830:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33294,"nodeType":"VariableDeclarationStatement","src":"199830:10:21"},{"assignments":[33296],"declarations":[{"constant":false,"id":33296,"mutability":"mutable","name":"m2","nameLocation":"199858:2:21","nodeType":"VariableDeclaration","scope":33317,"src":"199850:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199850:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33297,"nodeType":"VariableDeclarationStatement","src":"199850:10:21"},{"assignments":[33299],"declarations":[{"constant":false,"id":33299,"mutability":"mutable","name":"m3","nameLocation":"199878:2:21","nodeType":"VariableDeclaration","scope":33317,"src":"199870:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199870:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33300,"nodeType":"VariableDeclarationStatement","src":"199870:10:21"},{"assignments":[33302],"declarations":[{"constant":false,"id":33302,"mutability":"mutable","name":"m4","nameLocation":"199898:2:21","nodeType":"VariableDeclaration","scope":33317,"src":"199890:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199890:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33303,"nodeType":"VariableDeclarationStatement","src":"199890:10:21"},{"assignments":[33305],"declarations":[{"constant":false,"id":33305,"mutability":"mutable","name":"m5","nameLocation":"199918:2:21","nodeType":"VariableDeclaration","scope":33317,"src":"199910:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199910:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33306,"nodeType":"VariableDeclarationStatement","src":"199910:10:21"},{"assignments":[33308],"declarations":[{"constant":false,"id":33308,"mutability":"mutable","name":"m6","nameLocation":"199938:2:21","nodeType":"VariableDeclaration","scope":33317,"src":"199930:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199930:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33309,"nodeType":"VariableDeclarationStatement","src":"199930:10:21"},{"AST":{"nativeSrc":"200002:825:21","nodeType":"YulBlock","src":"200002:825:21","statements":[{"body":{"nativeSrc":"200045:313:21","nodeType":"YulBlock","src":"200045:313:21","statements":[{"nativeSrc":"200063:15:21","nodeType":"YulVariableDeclaration","src":"200063:15:21","value":{"kind":"number","nativeSrc":"200077:1:21","nodeType":"YulLiteral","src":"200077:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"200067:6:21","nodeType":"YulTypedName","src":"200067:6:21","type":""}]},{"body":{"nativeSrc":"200148:40:21","nodeType":"YulBlock","src":"200148:40:21","statements":[{"body":{"nativeSrc":"200177:9:21","nodeType":"YulBlock","src":"200177:9:21","statements":[{"nativeSrc":"200179:5:21","nodeType":"YulBreak","src":"200179:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"200165:6:21","nodeType":"YulIdentifier","src":"200165:6:21"},{"name":"w","nativeSrc":"200173:1:21","nodeType":"YulIdentifier","src":"200173:1:21"}],"functionName":{"name":"byte","nativeSrc":"200160:4:21","nodeType":"YulIdentifier","src":"200160:4:21"},"nativeSrc":"200160:15:21","nodeType":"YulFunctionCall","src":"200160:15:21"}],"functionName":{"name":"iszero","nativeSrc":"200153:6:21","nodeType":"YulIdentifier","src":"200153:6:21"},"nativeSrc":"200153:23:21","nodeType":"YulFunctionCall","src":"200153:23:21"},"nativeSrc":"200150:36:21","nodeType":"YulIf","src":"200150:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"200105:6:21","nodeType":"YulIdentifier","src":"200105:6:21"},{"kind":"number","nativeSrc":"200113:4:21","nodeType":"YulLiteral","src":"200113:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"200102:2:21","nodeType":"YulIdentifier","src":"200102:2:21"},"nativeSrc":"200102:16:21","nodeType":"YulFunctionCall","src":"200102:16:21"},"nativeSrc":"200095:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"200119:28:21","nodeType":"YulBlock","src":"200119:28:21","statements":[{"nativeSrc":"200121:24:21","nodeType":"YulAssignment","src":"200121:24:21","value":{"arguments":[{"name":"length","nativeSrc":"200135:6:21","nodeType":"YulIdentifier","src":"200135:6:21"},{"kind":"number","nativeSrc":"200143:1:21","nodeType":"YulLiteral","src":"200143:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"200131:3:21","nodeType":"YulIdentifier","src":"200131:3:21"},"nativeSrc":"200131:14:21","nodeType":"YulFunctionCall","src":"200131:14:21"},"variableNames":[{"name":"length","nativeSrc":"200121:6:21","nodeType":"YulIdentifier","src":"200121:6:21"}]}]},"pre":{"nativeSrc":"200099:2:21","nodeType":"YulBlock","src":"200099:2:21","statements":[]},"src":"200095:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"200212:3:21","nodeType":"YulIdentifier","src":"200212:3:21"},{"name":"length","nativeSrc":"200217:6:21","nodeType":"YulIdentifier","src":"200217:6:21"}],"functionName":{"name":"mstore","nativeSrc":"200205:6:21","nodeType":"YulIdentifier","src":"200205:6:21"},"nativeSrc":"200205:19:21","nodeType":"YulFunctionCall","src":"200205:19:21"},"nativeSrc":"200205:19:21","nodeType":"YulExpressionStatement","src":"200205:19:21"},{"nativeSrc":"200241:37:21","nodeType":"YulVariableDeclaration","src":"200241:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"200258:3:21","nodeType":"YulLiteral","src":"200258:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"200267:1:21","nodeType":"YulLiteral","src":"200267:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"200270:6:21","nodeType":"YulIdentifier","src":"200270:6:21"}],"functionName":{"name":"shl","nativeSrc":"200263:3:21","nodeType":"YulIdentifier","src":"200263:3:21"},"nativeSrc":"200263:14:21","nodeType":"YulFunctionCall","src":"200263:14:21"}],"functionName":{"name":"sub","nativeSrc":"200254:3:21","nodeType":"YulIdentifier","src":"200254:3:21"},"nativeSrc":"200254:24:21","nodeType":"YulFunctionCall","src":"200254:24:21"},"variables":[{"name":"shift","nativeSrc":"200245:5:21","nodeType":"YulTypedName","src":"200245:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"200306:3:21","nodeType":"YulIdentifier","src":"200306:3:21"},{"kind":"number","nativeSrc":"200311:4:21","nodeType":"YulLiteral","src":"200311:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"200302:3:21","nodeType":"YulIdentifier","src":"200302:3:21"},"nativeSrc":"200302:14:21","nodeType":"YulFunctionCall","src":"200302:14:21"},{"arguments":[{"name":"shift","nativeSrc":"200322:5:21","nodeType":"YulIdentifier","src":"200322:5:21"},{"arguments":[{"name":"shift","nativeSrc":"200333:5:21","nodeType":"YulIdentifier","src":"200333:5:21"},{"name":"w","nativeSrc":"200340:1:21","nodeType":"YulIdentifier","src":"200340:1:21"}],"functionName":{"name":"shr","nativeSrc":"200329:3:21","nodeType":"YulIdentifier","src":"200329:3:21"},"nativeSrc":"200329:13:21","nodeType":"YulFunctionCall","src":"200329:13:21"}],"functionName":{"name":"shl","nativeSrc":"200318:3:21","nodeType":"YulIdentifier","src":"200318:3:21"},"nativeSrc":"200318:25:21","nodeType":"YulFunctionCall","src":"200318:25:21"}],"functionName":{"name":"mstore","nativeSrc":"200295:6:21","nodeType":"YulIdentifier","src":"200295:6:21"},"nativeSrc":"200295:49:21","nodeType":"YulFunctionCall","src":"200295:49:21"},"nativeSrc":"200295:49:21","nodeType":"YulExpressionStatement","src":"200295:49:21"}]},"name":"writeString","nativeSrc":"200016:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"200037:3:21","nodeType":"YulTypedName","src":"200037:3:21","type":""},{"name":"w","nativeSrc":"200042:1:21","nodeType":"YulTypedName","src":"200042:1:21","type":""}],"src":"200016:342:21"},{"nativeSrc":"200371:17:21","nodeType":"YulAssignment","src":"200371:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"200383:4:21","nodeType":"YulLiteral","src":"200383:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"200377:5:21","nodeType":"YulIdentifier","src":"200377:5:21"},"nativeSrc":"200377:11:21","nodeType":"YulFunctionCall","src":"200377:11:21"},"variableNames":[{"name":"m0","nativeSrc":"200371:2:21","nodeType":"YulIdentifier","src":"200371:2:21"}]},{"nativeSrc":"200401:17:21","nodeType":"YulAssignment","src":"200401:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"200413:4:21","nodeType":"YulLiteral","src":"200413:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"200407:5:21","nodeType":"YulIdentifier","src":"200407:5:21"},"nativeSrc":"200407:11:21","nodeType":"YulFunctionCall","src":"200407:11:21"},"variableNames":[{"name":"m1","nativeSrc":"200401:2:21","nodeType":"YulIdentifier","src":"200401:2:21"}]},{"nativeSrc":"200431:17:21","nodeType":"YulAssignment","src":"200431:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"200443:4:21","nodeType":"YulLiteral","src":"200443:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"200437:5:21","nodeType":"YulIdentifier","src":"200437:5:21"},"nativeSrc":"200437:11:21","nodeType":"YulFunctionCall","src":"200437:11:21"},"variableNames":[{"name":"m2","nativeSrc":"200431:2:21","nodeType":"YulIdentifier","src":"200431:2:21"}]},{"nativeSrc":"200461:17:21","nodeType":"YulAssignment","src":"200461:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"200473:4:21","nodeType":"YulLiteral","src":"200473:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"200467:5:21","nodeType":"YulIdentifier","src":"200467:5:21"},"nativeSrc":"200467:11:21","nodeType":"YulFunctionCall","src":"200467:11:21"},"variableNames":[{"name":"m3","nativeSrc":"200461:2:21","nodeType":"YulIdentifier","src":"200461:2:21"}]},{"nativeSrc":"200491:17:21","nodeType":"YulAssignment","src":"200491:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"200503:4:21","nodeType":"YulLiteral","src":"200503:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"200497:5:21","nodeType":"YulIdentifier","src":"200497:5:21"},"nativeSrc":"200497:11:21","nodeType":"YulFunctionCall","src":"200497:11:21"},"variableNames":[{"name":"m4","nativeSrc":"200491:2:21","nodeType":"YulIdentifier","src":"200491:2:21"}]},{"nativeSrc":"200521:17:21","nodeType":"YulAssignment","src":"200521:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"200533:4:21","nodeType":"YulLiteral","src":"200533:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"200527:5:21","nodeType":"YulIdentifier","src":"200527:5:21"},"nativeSrc":"200527:11:21","nodeType":"YulFunctionCall","src":"200527:11:21"},"variableNames":[{"name":"m5","nativeSrc":"200521:2:21","nodeType":"YulIdentifier","src":"200521:2:21"}]},{"nativeSrc":"200551:17:21","nodeType":"YulAssignment","src":"200551:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"200563:4:21","nodeType":"YulLiteral","src":"200563:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"200557:5:21","nodeType":"YulIdentifier","src":"200557:5:21"},"nativeSrc":"200557:11:21","nodeType":"YulFunctionCall","src":"200557:11:21"},"variableNames":[{"name":"m6","nativeSrc":"200551:2:21","nodeType":"YulIdentifier","src":"200551:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200648:4:21","nodeType":"YulLiteral","src":"200648:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"200654:10:21","nodeType":"YulLiteral","src":"200654:10:21","type":"","value":"0xf9ad2b89"}],"functionName":{"name":"mstore","nativeSrc":"200641:6:21","nodeType":"YulIdentifier","src":"200641:6:21"},"nativeSrc":"200641:24:21","nodeType":"YulFunctionCall","src":"200641:24:21"},"nativeSrc":"200641:24:21","nodeType":"YulExpressionStatement","src":"200641:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200685:4:21","nodeType":"YulLiteral","src":"200685:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"200691:2:21","nodeType":"YulIdentifier","src":"200691:2:21"}],"functionName":{"name":"mstore","nativeSrc":"200678:6:21","nodeType":"YulIdentifier","src":"200678:6:21"},"nativeSrc":"200678:16:21","nodeType":"YulFunctionCall","src":"200678:16:21"},"nativeSrc":"200678:16:21","nodeType":"YulExpressionStatement","src":"200678:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200714:4:21","nodeType":"YulLiteral","src":"200714:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"200720:2:21","nodeType":"YulIdentifier","src":"200720:2:21"}],"functionName":{"name":"mstore","nativeSrc":"200707:6:21","nodeType":"YulIdentifier","src":"200707:6:21"},"nativeSrc":"200707:16:21","nodeType":"YulFunctionCall","src":"200707:16:21"},"nativeSrc":"200707:16:21","nodeType":"YulExpressionStatement","src":"200707:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200743:4:21","nodeType":"YulLiteral","src":"200743:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"200749:4:21","nodeType":"YulLiteral","src":"200749:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"200736:6:21","nodeType":"YulIdentifier","src":"200736:6:21"},"nativeSrc":"200736:18:21","nodeType":"YulFunctionCall","src":"200736:18:21"},"nativeSrc":"200736:18:21","nodeType":"YulExpressionStatement","src":"200736:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200774:4:21","nodeType":"YulLiteral","src":"200774:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"200780:2:21","nodeType":"YulIdentifier","src":"200780:2:21"}],"functionName":{"name":"mstore","nativeSrc":"200767:6:21","nodeType":"YulIdentifier","src":"200767:6:21"},"nativeSrc":"200767:16:21","nodeType":"YulFunctionCall","src":"200767:16:21"},"nativeSrc":"200767:16:21","nodeType":"YulExpressionStatement","src":"200767:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200808:4:21","nodeType":"YulLiteral","src":"200808:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"200814:2:21","nodeType":"YulIdentifier","src":"200814:2:21"}],"functionName":{"name":"writeString","nativeSrc":"200796:11:21","nodeType":"YulIdentifier","src":"200796:11:21"},"nativeSrc":"200796:21:21","nodeType":"YulFunctionCall","src":"200796:21:21"},"nativeSrc":"200796:21:21","nodeType":"YulExpressionStatement","src":"200796:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33290,"isOffset":false,"isSlot":false,"src":"200371:2:21","valueSize":1},{"declaration":33293,"isOffset":false,"isSlot":false,"src":"200401:2:21","valueSize":1},{"declaration":33296,"isOffset":false,"isSlot":false,"src":"200431:2:21","valueSize":1},{"declaration":33299,"isOffset":false,"isSlot":false,"src":"200461:2:21","valueSize":1},{"declaration":33302,"isOffset":false,"isSlot":false,"src":"200491:2:21","valueSize":1},{"declaration":33305,"isOffset":false,"isSlot":false,"src":"200521:2:21","valueSize":1},{"declaration":33308,"isOffset":false,"isSlot":false,"src":"200551:2:21","valueSize":1},{"declaration":33280,"isOffset":false,"isSlot":false,"src":"200691:2:21","valueSize":1},{"declaration":33282,"isOffset":false,"isSlot":false,"src":"200720:2:21","valueSize":1},{"declaration":33284,"isOffset":false,"isSlot":false,"src":"200814:2:21","valueSize":1},{"declaration":33286,"isOffset":false,"isSlot":false,"src":"200780:2:21","valueSize":1}],"id":33310,"nodeType":"InlineAssembly","src":"199993:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"200852:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"200858:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33311,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"200836:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"200836:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33315,"nodeType":"ExpressionStatement","src":"200836:27:21"},{"AST":{"nativeSrc":"200925:214:21","nodeType":"YulBlock","src":"200925:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"200946:4:21","nodeType":"YulLiteral","src":"200946:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"200952:2:21","nodeType":"YulIdentifier","src":"200952:2:21"}],"functionName":{"name":"mstore","nativeSrc":"200939:6:21","nodeType":"YulIdentifier","src":"200939:6:21"},"nativeSrc":"200939:16:21","nodeType":"YulFunctionCall","src":"200939:16:21"},"nativeSrc":"200939:16:21","nodeType":"YulExpressionStatement","src":"200939:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200975:4:21","nodeType":"YulLiteral","src":"200975:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"200981:2:21","nodeType":"YulIdentifier","src":"200981:2:21"}],"functionName":{"name":"mstore","nativeSrc":"200968:6:21","nodeType":"YulIdentifier","src":"200968:6:21"},"nativeSrc":"200968:16:21","nodeType":"YulFunctionCall","src":"200968:16:21"},"nativeSrc":"200968:16:21","nodeType":"YulExpressionStatement","src":"200968:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201004:4:21","nodeType":"YulLiteral","src":"201004:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"201010:2:21","nodeType":"YulIdentifier","src":"201010:2:21"}],"functionName":{"name":"mstore","nativeSrc":"200997:6:21","nodeType":"YulIdentifier","src":"200997:6:21"},"nativeSrc":"200997:16:21","nodeType":"YulFunctionCall","src":"200997:16:21"},"nativeSrc":"200997:16:21","nodeType":"YulExpressionStatement","src":"200997:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201033:4:21","nodeType":"YulLiteral","src":"201033:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"201039:2:21","nodeType":"YulIdentifier","src":"201039:2:21"}],"functionName":{"name":"mstore","nativeSrc":"201026:6:21","nodeType":"YulIdentifier","src":"201026:6:21"},"nativeSrc":"201026:16:21","nodeType":"YulFunctionCall","src":"201026:16:21"},"nativeSrc":"201026:16:21","nodeType":"YulExpressionStatement","src":"201026:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201062:4:21","nodeType":"YulLiteral","src":"201062:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"201068:2:21","nodeType":"YulIdentifier","src":"201068:2:21"}],"functionName":{"name":"mstore","nativeSrc":"201055:6:21","nodeType":"YulIdentifier","src":"201055:6:21"},"nativeSrc":"201055:16:21","nodeType":"YulFunctionCall","src":"201055:16:21"},"nativeSrc":"201055:16:21","nodeType":"YulExpressionStatement","src":"201055:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201091:4:21","nodeType":"YulLiteral","src":"201091:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"201097:2:21","nodeType":"YulIdentifier","src":"201097:2:21"}],"functionName":{"name":"mstore","nativeSrc":"201084:6:21","nodeType":"YulIdentifier","src":"201084:6:21"},"nativeSrc":"201084:16:21","nodeType":"YulFunctionCall","src":"201084:16:21"},"nativeSrc":"201084:16:21","nodeType":"YulExpressionStatement","src":"201084:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201120:4:21","nodeType":"YulLiteral","src":"201120:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"201126:2:21","nodeType":"YulIdentifier","src":"201126:2:21"}],"functionName":{"name":"mstore","nativeSrc":"201113:6:21","nodeType":"YulIdentifier","src":"201113:6:21"},"nativeSrc":"201113:16:21","nodeType":"YulFunctionCall","src":"201113:16:21"},"nativeSrc":"201113:16:21","nodeType":"YulExpressionStatement","src":"201113:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33290,"isOffset":false,"isSlot":false,"src":"200952:2:21","valueSize":1},{"declaration":33293,"isOffset":false,"isSlot":false,"src":"200981:2:21","valueSize":1},{"declaration":33296,"isOffset":false,"isSlot":false,"src":"201010:2:21","valueSize":1},{"declaration":33299,"isOffset":false,"isSlot":false,"src":"201039:2:21","valueSize":1},{"declaration":33302,"isOffset":false,"isSlot":false,"src":"201068:2:21","valueSize":1},{"declaration":33305,"isOffset":false,"isSlot":false,"src":"201097:2:21","valueSize":1},{"declaration":33308,"isOffset":false,"isSlot":false,"src":"201126:2:21","valueSize":1}],"id":33316,"nodeType":"InlineAssembly","src":"200916:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"199740:3:21","parameters":{"id":33287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33280,"mutability":"mutable","name":"p0","nameLocation":"199749:2:21","nodeType":"VariableDeclaration","scope":33318,"src":"199744:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33279,"name":"bool","nodeType":"ElementaryTypeName","src":"199744:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33282,"mutability":"mutable","name":"p1","nameLocation":"199758:2:21","nodeType":"VariableDeclaration","scope":33318,"src":"199753:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33281,"name":"bool","nodeType":"ElementaryTypeName","src":"199753:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33284,"mutability":"mutable","name":"p2","nameLocation":"199770:2:21","nodeType":"VariableDeclaration","scope":33318,"src":"199762:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199762:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33286,"mutability":"mutable","name":"p3","nameLocation":"199782:2:21","nodeType":"VariableDeclaration","scope":33318,"src":"199774:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33285,"name":"address","nodeType":"ElementaryTypeName","src":"199774:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"199743:42:21"},"returnParameters":{"id":33288,"nodeType":"ParameterList","parameters":[],"src":"199800:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33358,"nodeType":"FunctionDefinition","src":"201151:1408:21","nodes":[],"body":{"id":33357,"nodeType":"Block","src":"201217:1342:21","nodes":[],"statements":[{"assignments":[33330],"declarations":[{"constant":false,"id":33330,"mutability":"mutable","name":"m0","nameLocation":"201235:2:21","nodeType":"VariableDeclaration","scope":33357,"src":"201227:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201227:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33331,"nodeType":"VariableDeclarationStatement","src":"201227:10:21"},{"assignments":[33333],"declarations":[{"constant":false,"id":33333,"mutability":"mutable","name":"m1","nameLocation":"201255:2:21","nodeType":"VariableDeclaration","scope":33357,"src":"201247:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201247:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33334,"nodeType":"VariableDeclarationStatement","src":"201247:10:21"},{"assignments":[33336],"declarations":[{"constant":false,"id":33336,"mutability":"mutable","name":"m2","nameLocation":"201275:2:21","nodeType":"VariableDeclaration","scope":33357,"src":"201267:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201267:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33337,"nodeType":"VariableDeclarationStatement","src":"201267:10:21"},{"assignments":[33339],"declarations":[{"constant":false,"id":33339,"mutability":"mutable","name":"m3","nameLocation":"201295:2:21","nodeType":"VariableDeclaration","scope":33357,"src":"201287:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201287:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33340,"nodeType":"VariableDeclarationStatement","src":"201287:10:21"},{"assignments":[33342],"declarations":[{"constant":false,"id":33342,"mutability":"mutable","name":"m4","nameLocation":"201315:2:21","nodeType":"VariableDeclaration","scope":33357,"src":"201307:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33341,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201307:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33343,"nodeType":"VariableDeclarationStatement","src":"201307:10:21"},{"assignments":[33345],"declarations":[{"constant":false,"id":33345,"mutability":"mutable","name":"m5","nameLocation":"201335:2:21","nodeType":"VariableDeclaration","scope":33357,"src":"201327:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201327:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33346,"nodeType":"VariableDeclarationStatement","src":"201327:10:21"},{"assignments":[33348],"declarations":[{"constant":false,"id":33348,"mutability":"mutable","name":"m6","nameLocation":"201355:2:21","nodeType":"VariableDeclaration","scope":33357,"src":"201347:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201347:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33349,"nodeType":"VariableDeclarationStatement","src":"201347:10:21"},{"AST":{"nativeSrc":"201419:822:21","nodeType":"YulBlock","src":"201419:822:21","statements":[{"body":{"nativeSrc":"201462:313:21","nodeType":"YulBlock","src":"201462:313:21","statements":[{"nativeSrc":"201480:15:21","nodeType":"YulVariableDeclaration","src":"201480:15:21","value":{"kind":"number","nativeSrc":"201494:1:21","nodeType":"YulLiteral","src":"201494:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"201484:6:21","nodeType":"YulTypedName","src":"201484:6:21","type":""}]},{"body":{"nativeSrc":"201565:40:21","nodeType":"YulBlock","src":"201565:40:21","statements":[{"body":{"nativeSrc":"201594:9:21","nodeType":"YulBlock","src":"201594:9:21","statements":[{"nativeSrc":"201596:5:21","nodeType":"YulBreak","src":"201596:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"201582:6:21","nodeType":"YulIdentifier","src":"201582:6:21"},{"name":"w","nativeSrc":"201590:1:21","nodeType":"YulIdentifier","src":"201590:1:21"}],"functionName":{"name":"byte","nativeSrc":"201577:4:21","nodeType":"YulIdentifier","src":"201577:4:21"},"nativeSrc":"201577:15:21","nodeType":"YulFunctionCall","src":"201577:15:21"}],"functionName":{"name":"iszero","nativeSrc":"201570:6:21","nodeType":"YulIdentifier","src":"201570:6:21"},"nativeSrc":"201570:23:21","nodeType":"YulFunctionCall","src":"201570:23:21"},"nativeSrc":"201567:36:21","nodeType":"YulIf","src":"201567:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"201522:6:21","nodeType":"YulIdentifier","src":"201522:6:21"},{"kind":"number","nativeSrc":"201530:4:21","nodeType":"YulLiteral","src":"201530:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"201519:2:21","nodeType":"YulIdentifier","src":"201519:2:21"},"nativeSrc":"201519:16:21","nodeType":"YulFunctionCall","src":"201519:16:21"},"nativeSrc":"201512:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"201536:28:21","nodeType":"YulBlock","src":"201536:28:21","statements":[{"nativeSrc":"201538:24:21","nodeType":"YulAssignment","src":"201538:24:21","value":{"arguments":[{"name":"length","nativeSrc":"201552:6:21","nodeType":"YulIdentifier","src":"201552:6:21"},{"kind":"number","nativeSrc":"201560:1:21","nodeType":"YulLiteral","src":"201560:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"201548:3:21","nodeType":"YulIdentifier","src":"201548:3:21"},"nativeSrc":"201548:14:21","nodeType":"YulFunctionCall","src":"201548:14:21"},"variableNames":[{"name":"length","nativeSrc":"201538:6:21","nodeType":"YulIdentifier","src":"201538:6:21"}]}]},"pre":{"nativeSrc":"201516:2:21","nodeType":"YulBlock","src":"201516:2:21","statements":[]},"src":"201512:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"201629:3:21","nodeType":"YulIdentifier","src":"201629:3:21"},{"name":"length","nativeSrc":"201634:6:21","nodeType":"YulIdentifier","src":"201634:6:21"}],"functionName":{"name":"mstore","nativeSrc":"201622:6:21","nodeType":"YulIdentifier","src":"201622:6:21"},"nativeSrc":"201622:19:21","nodeType":"YulFunctionCall","src":"201622:19:21"},"nativeSrc":"201622:19:21","nodeType":"YulExpressionStatement","src":"201622:19:21"},{"nativeSrc":"201658:37:21","nodeType":"YulVariableDeclaration","src":"201658:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"201675:3:21","nodeType":"YulLiteral","src":"201675:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"201684:1:21","nodeType":"YulLiteral","src":"201684:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"201687:6:21","nodeType":"YulIdentifier","src":"201687:6:21"}],"functionName":{"name":"shl","nativeSrc":"201680:3:21","nodeType":"YulIdentifier","src":"201680:3:21"},"nativeSrc":"201680:14:21","nodeType":"YulFunctionCall","src":"201680:14:21"}],"functionName":{"name":"sub","nativeSrc":"201671:3:21","nodeType":"YulIdentifier","src":"201671:3:21"},"nativeSrc":"201671:24:21","nodeType":"YulFunctionCall","src":"201671:24:21"},"variables":[{"name":"shift","nativeSrc":"201662:5:21","nodeType":"YulTypedName","src":"201662:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"201723:3:21","nodeType":"YulIdentifier","src":"201723:3:21"},{"kind":"number","nativeSrc":"201728:4:21","nodeType":"YulLiteral","src":"201728:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"201719:3:21","nodeType":"YulIdentifier","src":"201719:3:21"},"nativeSrc":"201719:14:21","nodeType":"YulFunctionCall","src":"201719:14:21"},{"arguments":[{"name":"shift","nativeSrc":"201739:5:21","nodeType":"YulIdentifier","src":"201739:5:21"},{"arguments":[{"name":"shift","nativeSrc":"201750:5:21","nodeType":"YulIdentifier","src":"201750:5:21"},{"name":"w","nativeSrc":"201757:1:21","nodeType":"YulIdentifier","src":"201757:1:21"}],"functionName":{"name":"shr","nativeSrc":"201746:3:21","nodeType":"YulIdentifier","src":"201746:3:21"},"nativeSrc":"201746:13:21","nodeType":"YulFunctionCall","src":"201746:13:21"}],"functionName":{"name":"shl","nativeSrc":"201735:3:21","nodeType":"YulIdentifier","src":"201735:3:21"},"nativeSrc":"201735:25:21","nodeType":"YulFunctionCall","src":"201735:25:21"}],"functionName":{"name":"mstore","nativeSrc":"201712:6:21","nodeType":"YulIdentifier","src":"201712:6:21"},"nativeSrc":"201712:49:21","nodeType":"YulFunctionCall","src":"201712:49:21"},"nativeSrc":"201712:49:21","nodeType":"YulExpressionStatement","src":"201712:49:21"}]},"name":"writeString","nativeSrc":"201433:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"201454:3:21","nodeType":"YulTypedName","src":"201454:3:21","type":""},{"name":"w","nativeSrc":"201459:1:21","nodeType":"YulTypedName","src":"201459:1:21","type":""}],"src":"201433:342:21"},{"nativeSrc":"201788:17:21","nodeType":"YulAssignment","src":"201788:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"201800:4:21","nodeType":"YulLiteral","src":"201800:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"201794:5:21","nodeType":"YulIdentifier","src":"201794:5:21"},"nativeSrc":"201794:11:21","nodeType":"YulFunctionCall","src":"201794:11:21"},"variableNames":[{"name":"m0","nativeSrc":"201788:2:21","nodeType":"YulIdentifier","src":"201788:2:21"}]},{"nativeSrc":"201818:17:21","nodeType":"YulAssignment","src":"201818:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"201830:4:21","nodeType":"YulLiteral","src":"201830:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"201824:5:21","nodeType":"YulIdentifier","src":"201824:5:21"},"nativeSrc":"201824:11:21","nodeType":"YulFunctionCall","src":"201824:11:21"},"variableNames":[{"name":"m1","nativeSrc":"201818:2:21","nodeType":"YulIdentifier","src":"201818:2:21"}]},{"nativeSrc":"201848:17:21","nodeType":"YulAssignment","src":"201848:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"201860:4:21","nodeType":"YulLiteral","src":"201860:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"201854:5:21","nodeType":"YulIdentifier","src":"201854:5:21"},"nativeSrc":"201854:11:21","nodeType":"YulFunctionCall","src":"201854:11:21"},"variableNames":[{"name":"m2","nativeSrc":"201848:2:21","nodeType":"YulIdentifier","src":"201848:2:21"}]},{"nativeSrc":"201878:17:21","nodeType":"YulAssignment","src":"201878:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"201890:4:21","nodeType":"YulLiteral","src":"201890:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"201884:5:21","nodeType":"YulIdentifier","src":"201884:5:21"},"nativeSrc":"201884:11:21","nodeType":"YulFunctionCall","src":"201884:11:21"},"variableNames":[{"name":"m3","nativeSrc":"201878:2:21","nodeType":"YulIdentifier","src":"201878:2:21"}]},{"nativeSrc":"201908:17:21","nodeType":"YulAssignment","src":"201908:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"201920:4:21","nodeType":"YulLiteral","src":"201920:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"201914:5:21","nodeType":"YulIdentifier","src":"201914:5:21"},"nativeSrc":"201914:11:21","nodeType":"YulFunctionCall","src":"201914:11:21"},"variableNames":[{"name":"m4","nativeSrc":"201908:2:21","nodeType":"YulIdentifier","src":"201908:2:21"}]},{"nativeSrc":"201938:17:21","nodeType":"YulAssignment","src":"201938:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"201950:4:21","nodeType":"YulLiteral","src":"201950:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"201944:5:21","nodeType":"YulIdentifier","src":"201944:5:21"},"nativeSrc":"201944:11:21","nodeType":"YulFunctionCall","src":"201944:11:21"},"variableNames":[{"name":"m5","nativeSrc":"201938:2:21","nodeType":"YulIdentifier","src":"201938:2:21"}]},{"nativeSrc":"201968:17:21","nodeType":"YulAssignment","src":"201968:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"201980:4:21","nodeType":"YulLiteral","src":"201980:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"201974:5:21","nodeType":"YulIdentifier","src":"201974:5:21"},"nativeSrc":"201974:11:21","nodeType":"YulFunctionCall","src":"201974:11:21"},"variableNames":[{"name":"m6","nativeSrc":"201968:2:21","nodeType":"YulIdentifier","src":"201968:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202062:4:21","nodeType":"YulLiteral","src":"202062:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"202068:10:21","nodeType":"YulLiteral","src":"202068:10:21","type":"","value":"0xb857163a"}],"functionName":{"name":"mstore","nativeSrc":"202055:6:21","nodeType":"YulIdentifier","src":"202055:6:21"},"nativeSrc":"202055:24:21","nodeType":"YulFunctionCall","src":"202055:24:21"},"nativeSrc":"202055:24:21","nodeType":"YulExpressionStatement","src":"202055:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202099:4:21","nodeType":"YulLiteral","src":"202099:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"202105:2:21","nodeType":"YulIdentifier","src":"202105:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202092:6:21","nodeType":"YulIdentifier","src":"202092:6:21"},"nativeSrc":"202092:16:21","nodeType":"YulFunctionCall","src":"202092:16:21"},"nativeSrc":"202092:16:21","nodeType":"YulExpressionStatement","src":"202092:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202128:4:21","nodeType":"YulLiteral","src":"202128:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"202134:2:21","nodeType":"YulIdentifier","src":"202134:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202121:6:21","nodeType":"YulIdentifier","src":"202121:6:21"},"nativeSrc":"202121:16:21","nodeType":"YulFunctionCall","src":"202121:16:21"},"nativeSrc":"202121:16:21","nodeType":"YulExpressionStatement","src":"202121:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202157:4:21","nodeType":"YulLiteral","src":"202157:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"202163:4:21","nodeType":"YulLiteral","src":"202163:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"202150:6:21","nodeType":"YulIdentifier","src":"202150:6:21"},"nativeSrc":"202150:18:21","nodeType":"YulFunctionCall","src":"202150:18:21"},"nativeSrc":"202150:18:21","nodeType":"YulExpressionStatement","src":"202150:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202188:4:21","nodeType":"YulLiteral","src":"202188:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"202194:2:21","nodeType":"YulIdentifier","src":"202194:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202181:6:21","nodeType":"YulIdentifier","src":"202181:6:21"},"nativeSrc":"202181:16:21","nodeType":"YulFunctionCall","src":"202181:16:21"},"nativeSrc":"202181:16:21","nodeType":"YulExpressionStatement","src":"202181:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202222:4:21","nodeType":"YulLiteral","src":"202222:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"202228:2:21","nodeType":"YulIdentifier","src":"202228:2:21"}],"functionName":{"name":"writeString","nativeSrc":"202210:11:21","nodeType":"YulIdentifier","src":"202210:11:21"},"nativeSrc":"202210:21:21","nodeType":"YulFunctionCall","src":"202210:21:21"},"nativeSrc":"202210:21:21","nodeType":"YulExpressionStatement","src":"202210:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33330,"isOffset":false,"isSlot":false,"src":"201788:2:21","valueSize":1},{"declaration":33333,"isOffset":false,"isSlot":false,"src":"201818:2:21","valueSize":1},{"declaration":33336,"isOffset":false,"isSlot":false,"src":"201848:2:21","valueSize":1},{"declaration":33339,"isOffset":false,"isSlot":false,"src":"201878:2:21","valueSize":1},{"declaration":33342,"isOffset":false,"isSlot":false,"src":"201908:2:21","valueSize":1},{"declaration":33345,"isOffset":false,"isSlot":false,"src":"201938:2:21","valueSize":1},{"declaration":33348,"isOffset":false,"isSlot":false,"src":"201968:2:21","valueSize":1},{"declaration":33320,"isOffset":false,"isSlot":false,"src":"202105:2:21","valueSize":1},{"declaration":33322,"isOffset":false,"isSlot":false,"src":"202134:2:21","valueSize":1},{"declaration":33324,"isOffset":false,"isSlot":false,"src":"202228:2:21","valueSize":1},{"declaration":33326,"isOffset":false,"isSlot":false,"src":"202194:2:21","valueSize":1}],"id":33350,"nodeType":"InlineAssembly","src":"201410:831:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"202266:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"202272:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33351,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"202250:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"202250:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33355,"nodeType":"ExpressionStatement","src":"202250:27:21"},{"AST":{"nativeSrc":"202339:214:21","nodeType":"YulBlock","src":"202339:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"202360:4:21","nodeType":"YulLiteral","src":"202360:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"202366:2:21","nodeType":"YulIdentifier","src":"202366:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202353:6:21","nodeType":"YulIdentifier","src":"202353:6:21"},"nativeSrc":"202353:16:21","nodeType":"YulFunctionCall","src":"202353:16:21"},"nativeSrc":"202353:16:21","nodeType":"YulExpressionStatement","src":"202353:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202389:4:21","nodeType":"YulLiteral","src":"202389:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"202395:2:21","nodeType":"YulIdentifier","src":"202395:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202382:6:21","nodeType":"YulIdentifier","src":"202382:6:21"},"nativeSrc":"202382:16:21","nodeType":"YulFunctionCall","src":"202382:16:21"},"nativeSrc":"202382:16:21","nodeType":"YulExpressionStatement","src":"202382:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202418:4:21","nodeType":"YulLiteral","src":"202418:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"202424:2:21","nodeType":"YulIdentifier","src":"202424:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202411:6:21","nodeType":"YulIdentifier","src":"202411:6:21"},"nativeSrc":"202411:16:21","nodeType":"YulFunctionCall","src":"202411:16:21"},"nativeSrc":"202411:16:21","nodeType":"YulExpressionStatement","src":"202411:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202447:4:21","nodeType":"YulLiteral","src":"202447:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"202453:2:21","nodeType":"YulIdentifier","src":"202453:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202440:6:21","nodeType":"YulIdentifier","src":"202440:6:21"},"nativeSrc":"202440:16:21","nodeType":"YulFunctionCall","src":"202440:16:21"},"nativeSrc":"202440:16:21","nodeType":"YulExpressionStatement","src":"202440:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202476:4:21","nodeType":"YulLiteral","src":"202476:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"202482:2:21","nodeType":"YulIdentifier","src":"202482:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202469:6:21","nodeType":"YulIdentifier","src":"202469:6:21"},"nativeSrc":"202469:16:21","nodeType":"YulFunctionCall","src":"202469:16:21"},"nativeSrc":"202469:16:21","nodeType":"YulExpressionStatement","src":"202469:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202505:4:21","nodeType":"YulLiteral","src":"202505:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"202511:2:21","nodeType":"YulIdentifier","src":"202511:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202498:6:21","nodeType":"YulIdentifier","src":"202498:6:21"},"nativeSrc":"202498:16:21","nodeType":"YulFunctionCall","src":"202498:16:21"},"nativeSrc":"202498:16:21","nodeType":"YulExpressionStatement","src":"202498:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202534:4:21","nodeType":"YulLiteral","src":"202534:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"202540:2:21","nodeType":"YulIdentifier","src":"202540:2:21"}],"functionName":{"name":"mstore","nativeSrc":"202527:6:21","nodeType":"YulIdentifier","src":"202527:6:21"},"nativeSrc":"202527:16:21","nodeType":"YulFunctionCall","src":"202527:16:21"},"nativeSrc":"202527:16:21","nodeType":"YulExpressionStatement","src":"202527:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33330,"isOffset":false,"isSlot":false,"src":"202366:2:21","valueSize":1},{"declaration":33333,"isOffset":false,"isSlot":false,"src":"202395:2:21","valueSize":1},{"declaration":33336,"isOffset":false,"isSlot":false,"src":"202424:2:21","valueSize":1},{"declaration":33339,"isOffset":false,"isSlot":false,"src":"202453:2:21","valueSize":1},{"declaration":33342,"isOffset":false,"isSlot":false,"src":"202482:2:21","valueSize":1},{"declaration":33345,"isOffset":false,"isSlot":false,"src":"202511:2:21","valueSize":1},{"declaration":33348,"isOffset":false,"isSlot":false,"src":"202540:2:21","valueSize":1}],"id":33356,"nodeType":"InlineAssembly","src":"202330:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"201160:3:21","parameters":{"id":33327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33320,"mutability":"mutable","name":"p0","nameLocation":"201169:2:21","nodeType":"VariableDeclaration","scope":33358,"src":"201164:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33319,"name":"bool","nodeType":"ElementaryTypeName","src":"201164:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33322,"mutability":"mutable","name":"p1","nameLocation":"201178:2:21","nodeType":"VariableDeclaration","scope":33358,"src":"201173:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33321,"name":"bool","nodeType":"ElementaryTypeName","src":"201173:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33324,"mutability":"mutable","name":"p2","nameLocation":"201190:2:21","nodeType":"VariableDeclaration","scope":33358,"src":"201182:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201182:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33326,"mutability":"mutable","name":"p3","nameLocation":"201199:2:21","nodeType":"VariableDeclaration","scope":33358,"src":"201194:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33325,"name":"bool","nodeType":"ElementaryTypeName","src":"201194:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"201163:39:21"},"returnParameters":{"id":33328,"nodeType":"ParameterList","parameters":[],"src":"201217:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33398,"nodeType":"FunctionDefinition","src":"202565:1414:21","nodes":[],"body":{"id":33397,"nodeType":"Block","src":"202634:1345:21","nodes":[],"statements":[{"assignments":[33370],"declarations":[{"constant":false,"id":33370,"mutability":"mutable","name":"m0","nameLocation":"202652:2:21","nodeType":"VariableDeclaration","scope":33397,"src":"202644:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202644:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33371,"nodeType":"VariableDeclarationStatement","src":"202644:10:21"},{"assignments":[33373],"declarations":[{"constant":false,"id":33373,"mutability":"mutable","name":"m1","nameLocation":"202672:2:21","nodeType":"VariableDeclaration","scope":33397,"src":"202664:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202664:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33374,"nodeType":"VariableDeclarationStatement","src":"202664:10:21"},{"assignments":[33376],"declarations":[{"constant":false,"id":33376,"mutability":"mutable","name":"m2","nameLocation":"202692:2:21","nodeType":"VariableDeclaration","scope":33397,"src":"202684:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202684:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33377,"nodeType":"VariableDeclarationStatement","src":"202684:10:21"},{"assignments":[33379],"declarations":[{"constant":false,"id":33379,"mutability":"mutable","name":"m3","nameLocation":"202712:2:21","nodeType":"VariableDeclaration","scope":33397,"src":"202704:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202704:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33380,"nodeType":"VariableDeclarationStatement","src":"202704:10:21"},{"assignments":[33382],"declarations":[{"constant":false,"id":33382,"mutability":"mutable","name":"m4","nameLocation":"202732:2:21","nodeType":"VariableDeclaration","scope":33397,"src":"202724:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202724:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33383,"nodeType":"VariableDeclarationStatement","src":"202724:10:21"},{"assignments":[33385],"declarations":[{"constant":false,"id":33385,"mutability":"mutable","name":"m5","nameLocation":"202752:2:21","nodeType":"VariableDeclaration","scope":33397,"src":"202744:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202744:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33386,"nodeType":"VariableDeclarationStatement","src":"202744:10:21"},{"assignments":[33388],"declarations":[{"constant":false,"id":33388,"mutability":"mutable","name":"m6","nameLocation":"202772:2:21","nodeType":"VariableDeclaration","scope":33397,"src":"202764:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202764:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33389,"nodeType":"VariableDeclarationStatement","src":"202764:10:21"},{"AST":{"nativeSrc":"202836:825:21","nodeType":"YulBlock","src":"202836:825:21","statements":[{"body":{"nativeSrc":"202879:313:21","nodeType":"YulBlock","src":"202879:313:21","statements":[{"nativeSrc":"202897:15:21","nodeType":"YulVariableDeclaration","src":"202897:15:21","value":{"kind":"number","nativeSrc":"202911:1:21","nodeType":"YulLiteral","src":"202911:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"202901:6:21","nodeType":"YulTypedName","src":"202901:6:21","type":""}]},{"body":{"nativeSrc":"202982:40:21","nodeType":"YulBlock","src":"202982:40:21","statements":[{"body":{"nativeSrc":"203011:9:21","nodeType":"YulBlock","src":"203011:9:21","statements":[{"nativeSrc":"203013:5:21","nodeType":"YulBreak","src":"203013:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"202999:6:21","nodeType":"YulIdentifier","src":"202999:6:21"},{"name":"w","nativeSrc":"203007:1:21","nodeType":"YulIdentifier","src":"203007:1:21"}],"functionName":{"name":"byte","nativeSrc":"202994:4:21","nodeType":"YulIdentifier","src":"202994:4:21"},"nativeSrc":"202994:15:21","nodeType":"YulFunctionCall","src":"202994:15:21"}],"functionName":{"name":"iszero","nativeSrc":"202987:6:21","nodeType":"YulIdentifier","src":"202987:6:21"},"nativeSrc":"202987:23:21","nodeType":"YulFunctionCall","src":"202987:23:21"},"nativeSrc":"202984:36:21","nodeType":"YulIf","src":"202984:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"202939:6:21","nodeType":"YulIdentifier","src":"202939:6:21"},{"kind":"number","nativeSrc":"202947:4:21","nodeType":"YulLiteral","src":"202947:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"202936:2:21","nodeType":"YulIdentifier","src":"202936:2:21"},"nativeSrc":"202936:16:21","nodeType":"YulFunctionCall","src":"202936:16:21"},"nativeSrc":"202929:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"202953:28:21","nodeType":"YulBlock","src":"202953:28:21","statements":[{"nativeSrc":"202955:24:21","nodeType":"YulAssignment","src":"202955:24:21","value":{"arguments":[{"name":"length","nativeSrc":"202969:6:21","nodeType":"YulIdentifier","src":"202969:6:21"},{"kind":"number","nativeSrc":"202977:1:21","nodeType":"YulLiteral","src":"202977:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"202965:3:21","nodeType":"YulIdentifier","src":"202965:3:21"},"nativeSrc":"202965:14:21","nodeType":"YulFunctionCall","src":"202965:14:21"},"variableNames":[{"name":"length","nativeSrc":"202955:6:21","nodeType":"YulIdentifier","src":"202955:6:21"}]}]},"pre":{"nativeSrc":"202933:2:21","nodeType":"YulBlock","src":"202933:2:21","statements":[]},"src":"202929:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"203046:3:21","nodeType":"YulIdentifier","src":"203046:3:21"},{"name":"length","nativeSrc":"203051:6:21","nodeType":"YulIdentifier","src":"203051:6:21"}],"functionName":{"name":"mstore","nativeSrc":"203039:6:21","nodeType":"YulIdentifier","src":"203039:6:21"},"nativeSrc":"203039:19:21","nodeType":"YulFunctionCall","src":"203039:19:21"},"nativeSrc":"203039:19:21","nodeType":"YulExpressionStatement","src":"203039:19:21"},{"nativeSrc":"203075:37:21","nodeType":"YulVariableDeclaration","src":"203075:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"203092:3:21","nodeType":"YulLiteral","src":"203092:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"203101:1:21","nodeType":"YulLiteral","src":"203101:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"203104:6:21","nodeType":"YulIdentifier","src":"203104:6:21"}],"functionName":{"name":"shl","nativeSrc":"203097:3:21","nodeType":"YulIdentifier","src":"203097:3:21"},"nativeSrc":"203097:14:21","nodeType":"YulFunctionCall","src":"203097:14:21"}],"functionName":{"name":"sub","nativeSrc":"203088:3:21","nodeType":"YulIdentifier","src":"203088:3:21"},"nativeSrc":"203088:24:21","nodeType":"YulFunctionCall","src":"203088:24:21"},"variables":[{"name":"shift","nativeSrc":"203079:5:21","nodeType":"YulTypedName","src":"203079:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"203140:3:21","nodeType":"YulIdentifier","src":"203140:3:21"},{"kind":"number","nativeSrc":"203145:4:21","nodeType":"YulLiteral","src":"203145:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"203136:3:21","nodeType":"YulIdentifier","src":"203136:3:21"},"nativeSrc":"203136:14:21","nodeType":"YulFunctionCall","src":"203136:14:21"},{"arguments":[{"name":"shift","nativeSrc":"203156:5:21","nodeType":"YulIdentifier","src":"203156:5:21"},{"arguments":[{"name":"shift","nativeSrc":"203167:5:21","nodeType":"YulIdentifier","src":"203167:5:21"},{"name":"w","nativeSrc":"203174:1:21","nodeType":"YulIdentifier","src":"203174:1:21"}],"functionName":{"name":"shr","nativeSrc":"203163:3:21","nodeType":"YulIdentifier","src":"203163:3:21"},"nativeSrc":"203163:13:21","nodeType":"YulFunctionCall","src":"203163:13:21"}],"functionName":{"name":"shl","nativeSrc":"203152:3:21","nodeType":"YulIdentifier","src":"203152:3:21"},"nativeSrc":"203152:25:21","nodeType":"YulFunctionCall","src":"203152:25:21"}],"functionName":{"name":"mstore","nativeSrc":"203129:6:21","nodeType":"YulIdentifier","src":"203129:6:21"},"nativeSrc":"203129:49:21","nodeType":"YulFunctionCall","src":"203129:49:21"},"nativeSrc":"203129:49:21","nodeType":"YulExpressionStatement","src":"203129:49:21"}]},"name":"writeString","nativeSrc":"202850:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"202871:3:21","nodeType":"YulTypedName","src":"202871:3:21","type":""},{"name":"w","nativeSrc":"202876:1:21","nodeType":"YulTypedName","src":"202876:1:21","type":""}],"src":"202850:342:21"},{"nativeSrc":"203205:17:21","nodeType":"YulAssignment","src":"203205:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"203217:4:21","nodeType":"YulLiteral","src":"203217:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"203211:5:21","nodeType":"YulIdentifier","src":"203211:5:21"},"nativeSrc":"203211:11:21","nodeType":"YulFunctionCall","src":"203211:11:21"},"variableNames":[{"name":"m0","nativeSrc":"203205:2:21","nodeType":"YulIdentifier","src":"203205:2:21"}]},{"nativeSrc":"203235:17:21","nodeType":"YulAssignment","src":"203235:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"203247:4:21","nodeType":"YulLiteral","src":"203247:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"203241:5:21","nodeType":"YulIdentifier","src":"203241:5:21"},"nativeSrc":"203241:11:21","nodeType":"YulFunctionCall","src":"203241:11:21"},"variableNames":[{"name":"m1","nativeSrc":"203235:2:21","nodeType":"YulIdentifier","src":"203235:2:21"}]},{"nativeSrc":"203265:17:21","nodeType":"YulAssignment","src":"203265:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"203277:4:21","nodeType":"YulLiteral","src":"203277:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"203271:5:21","nodeType":"YulIdentifier","src":"203271:5:21"},"nativeSrc":"203271:11:21","nodeType":"YulFunctionCall","src":"203271:11:21"},"variableNames":[{"name":"m2","nativeSrc":"203265:2:21","nodeType":"YulIdentifier","src":"203265:2:21"}]},{"nativeSrc":"203295:17:21","nodeType":"YulAssignment","src":"203295:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"203307:4:21","nodeType":"YulLiteral","src":"203307:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"203301:5:21","nodeType":"YulIdentifier","src":"203301:5:21"},"nativeSrc":"203301:11:21","nodeType":"YulFunctionCall","src":"203301:11:21"},"variableNames":[{"name":"m3","nativeSrc":"203295:2:21","nodeType":"YulIdentifier","src":"203295:2:21"}]},{"nativeSrc":"203325:17:21","nodeType":"YulAssignment","src":"203325:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"203337:4:21","nodeType":"YulLiteral","src":"203337:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"203331:5:21","nodeType":"YulIdentifier","src":"203331:5:21"},"nativeSrc":"203331:11:21","nodeType":"YulFunctionCall","src":"203331:11:21"},"variableNames":[{"name":"m4","nativeSrc":"203325:2:21","nodeType":"YulIdentifier","src":"203325:2:21"}]},{"nativeSrc":"203355:17:21","nodeType":"YulAssignment","src":"203355:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"203367:4:21","nodeType":"YulLiteral","src":"203367:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"203361:5:21","nodeType":"YulIdentifier","src":"203361:5:21"},"nativeSrc":"203361:11:21","nodeType":"YulFunctionCall","src":"203361:11:21"},"variableNames":[{"name":"m5","nativeSrc":"203355:2:21","nodeType":"YulIdentifier","src":"203355:2:21"}]},{"nativeSrc":"203385:17:21","nodeType":"YulAssignment","src":"203385:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"203397:4:21","nodeType":"YulLiteral","src":"203397:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"203391:5:21","nodeType":"YulIdentifier","src":"203391:5:21"},"nativeSrc":"203391:11:21","nodeType":"YulFunctionCall","src":"203391:11:21"},"variableNames":[{"name":"m6","nativeSrc":"203385:2:21","nodeType":"YulIdentifier","src":"203385:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203482:4:21","nodeType":"YulLiteral","src":"203482:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"203488:10:21","nodeType":"YulLiteral","src":"203488:10:21","type":"","value":"0xe3a9ca2f"}],"functionName":{"name":"mstore","nativeSrc":"203475:6:21","nodeType":"YulIdentifier","src":"203475:6:21"},"nativeSrc":"203475:24:21","nodeType":"YulFunctionCall","src":"203475:24:21"},"nativeSrc":"203475:24:21","nodeType":"YulExpressionStatement","src":"203475:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203519:4:21","nodeType":"YulLiteral","src":"203519:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"203525:2:21","nodeType":"YulIdentifier","src":"203525:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203512:6:21","nodeType":"YulIdentifier","src":"203512:6:21"},"nativeSrc":"203512:16:21","nodeType":"YulFunctionCall","src":"203512:16:21"},"nativeSrc":"203512:16:21","nodeType":"YulExpressionStatement","src":"203512:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203548:4:21","nodeType":"YulLiteral","src":"203548:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"203554:2:21","nodeType":"YulIdentifier","src":"203554:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203541:6:21","nodeType":"YulIdentifier","src":"203541:6:21"},"nativeSrc":"203541:16:21","nodeType":"YulFunctionCall","src":"203541:16:21"},"nativeSrc":"203541:16:21","nodeType":"YulExpressionStatement","src":"203541:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203577:4:21","nodeType":"YulLiteral","src":"203577:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"203583:4:21","nodeType":"YulLiteral","src":"203583:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"203570:6:21","nodeType":"YulIdentifier","src":"203570:6:21"},"nativeSrc":"203570:18:21","nodeType":"YulFunctionCall","src":"203570:18:21"},"nativeSrc":"203570:18:21","nodeType":"YulExpressionStatement","src":"203570:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203608:4:21","nodeType":"YulLiteral","src":"203608:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"203614:2:21","nodeType":"YulIdentifier","src":"203614:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203601:6:21","nodeType":"YulIdentifier","src":"203601:6:21"},"nativeSrc":"203601:16:21","nodeType":"YulFunctionCall","src":"203601:16:21"},"nativeSrc":"203601:16:21","nodeType":"YulExpressionStatement","src":"203601:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203642:4:21","nodeType":"YulLiteral","src":"203642:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"203648:2:21","nodeType":"YulIdentifier","src":"203648:2:21"}],"functionName":{"name":"writeString","nativeSrc":"203630:11:21","nodeType":"YulIdentifier","src":"203630:11:21"},"nativeSrc":"203630:21:21","nodeType":"YulFunctionCall","src":"203630:21:21"},"nativeSrc":"203630:21:21","nodeType":"YulExpressionStatement","src":"203630:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33370,"isOffset":false,"isSlot":false,"src":"203205:2:21","valueSize":1},{"declaration":33373,"isOffset":false,"isSlot":false,"src":"203235:2:21","valueSize":1},{"declaration":33376,"isOffset":false,"isSlot":false,"src":"203265:2:21","valueSize":1},{"declaration":33379,"isOffset":false,"isSlot":false,"src":"203295:2:21","valueSize":1},{"declaration":33382,"isOffset":false,"isSlot":false,"src":"203325:2:21","valueSize":1},{"declaration":33385,"isOffset":false,"isSlot":false,"src":"203355:2:21","valueSize":1},{"declaration":33388,"isOffset":false,"isSlot":false,"src":"203385:2:21","valueSize":1},{"declaration":33360,"isOffset":false,"isSlot":false,"src":"203525:2:21","valueSize":1},{"declaration":33362,"isOffset":false,"isSlot":false,"src":"203554:2:21","valueSize":1},{"declaration":33364,"isOffset":false,"isSlot":false,"src":"203648:2:21","valueSize":1},{"declaration":33366,"isOffset":false,"isSlot":false,"src":"203614:2:21","valueSize":1}],"id":33390,"nodeType":"InlineAssembly","src":"202827:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"203686:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"203692:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33391,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"203670:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"203670:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33395,"nodeType":"ExpressionStatement","src":"203670:27:21"},{"AST":{"nativeSrc":"203759:214:21","nodeType":"YulBlock","src":"203759:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"203780:4:21","nodeType":"YulLiteral","src":"203780:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"203786:2:21","nodeType":"YulIdentifier","src":"203786:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203773:6:21","nodeType":"YulIdentifier","src":"203773:6:21"},"nativeSrc":"203773:16:21","nodeType":"YulFunctionCall","src":"203773:16:21"},"nativeSrc":"203773:16:21","nodeType":"YulExpressionStatement","src":"203773:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203809:4:21","nodeType":"YulLiteral","src":"203809:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"203815:2:21","nodeType":"YulIdentifier","src":"203815:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203802:6:21","nodeType":"YulIdentifier","src":"203802:6:21"},"nativeSrc":"203802:16:21","nodeType":"YulFunctionCall","src":"203802:16:21"},"nativeSrc":"203802:16:21","nodeType":"YulExpressionStatement","src":"203802:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203838:4:21","nodeType":"YulLiteral","src":"203838:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"203844:2:21","nodeType":"YulIdentifier","src":"203844:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203831:6:21","nodeType":"YulIdentifier","src":"203831:6:21"},"nativeSrc":"203831:16:21","nodeType":"YulFunctionCall","src":"203831:16:21"},"nativeSrc":"203831:16:21","nodeType":"YulExpressionStatement","src":"203831:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203867:4:21","nodeType":"YulLiteral","src":"203867:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"203873:2:21","nodeType":"YulIdentifier","src":"203873:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203860:6:21","nodeType":"YulIdentifier","src":"203860:6:21"},"nativeSrc":"203860:16:21","nodeType":"YulFunctionCall","src":"203860:16:21"},"nativeSrc":"203860:16:21","nodeType":"YulExpressionStatement","src":"203860:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203896:4:21","nodeType":"YulLiteral","src":"203896:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"203902:2:21","nodeType":"YulIdentifier","src":"203902:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203889:6:21","nodeType":"YulIdentifier","src":"203889:6:21"},"nativeSrc":"203889:16:21","nodeType":"YulFunctionCall","src":"203889:16:21"},"nativeSrc":"203889:16:21","nodeType":"YulExpressionStatement","src":"203889:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203925:4:21","nodeType":"YulLiteral","src":"203925:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"203931:2:21","nodeType":"YulIdentifier","src":"203931:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203918:6:21","nodeType":"YulIdentifier","src":"203918:6:21"},"nativeSrc":"203918:16:21","nodeType":"YulFunctionCall","src":"203918:16:21"},"nativeSrc":"203918:16:21","nodeType":"YulExpressionStatement","src":"203918:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203954:4:21","nodeType":"YulLiteral","src":"203954:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"203960:2:21","nodeType":"YulIdentifier","src":"203960:2:21"}],"functionName":{"name":"mstore","nativeSrc":"203947:6:21","nodeType":"YulIdentifier","src":"203947:6:21"},"nativeSrc":"203947:16:21","nodeType":"YulFunctionCall","src":"203947:16:21"},"nativeSrc":"203947:16:21","nodeType":"YulExpressionStatement","src":"203947:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33370,"isOffset":false,"isSlot":false,"src":"203786:2:21","valueSize":1},{"declaration":33373,"isOffset":false,"isSlot":false,"src":"203815:2:21","valueSize":1},{"declaration":33376,"isOffset":false,"isSlot":false,"src":"203844:2:21","valueSize":1},{"declaration":33379,"isOffset":false,"isSlot":false,"src":"203873:2:21","valueSize":1},{"declaration":33382,"isOffset":false,"isSlot":false,"src":"203902:2:21","valueSize":1},{"declaration":33385,"isOffset":false,"isSlot":false,"src":"203931:2:21","valueSize":1},{"declaration":33388,"isOffset":false,"isSlot":false,"src":"203960:2:21","valueSize":1}],"id":33396,"nodeType":"InlineAssembly","src":"203750:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"202574:3:21","parameters":{"id":33367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33360,"mutability":"mutable","name":"p0","nameLocation":"202583:2:21","nodeType":"VariableDeclaration","scope":33398,"src":"202578:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33359,"name":"bool","nodeType":"ElementaryTypeName","src":"202578:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33362,"mutability":"mutable","name":"p1","nameLocation":"202592:2:21","nodeType":"VariableDeclaration","scope":33398,"src":"202587:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33361,"name":"bool","nodeType":"ElementaryTypeName","src":"202587:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33364,"mutability":"mutable","name":"p2","nameLocation":"202604:2:21","nodeType":"VariableDeclaration","scope":33398,"src":"202596:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202596:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33366,"mutability":"mutable","name":"p3","nameLocation":"202616:2:21","nodeType":"VariableDeclaration","scope":33398,"src":"202608:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33365,"name":"uint256","nodeType":"ElementaryTypeName","src":"202608:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"202577:42:21"},"returnParameters":{"id":33368,"nodeType":"ParameterList","parameters":[],"src":"202634:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33444,"nodeType":"FunctionDefinition","src":"203985:1610:21","nodes":[],"body":{"id":33443,"nodeType":"Block","src":"204054:1541:21","nodes":[],"statements":[{"assignments":[33410],"declarations":[{"constant":false,"id":33410,"mutability":"mutable","name":"m0","nameLocation":"204072:2:21","nodeType":"VariableDeclaration","scope":33443,"src":"204064:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204064:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33411,"nodeType":"VariableDeclarationStatement","src":"204064:10:21"},{"assignments":[33413],"declarations":[{"constant":false,"id":33413,"mutability":"mutable","name":"m1","nameLocation":"204092:2:21","nodeType":"VariableDeclaration","scope":33443,"src":"204084:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204084:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33414,"nodeType":"VariableDeclarationStatement","src":"204084:10:21"},{"assignments":[33416],"declarations":[{"constant":false,"id":33416,"mutability":"mutable","name":"m2","nameLocation":"204112:2:21","nodeType":"VariableDeclaration","scope":33443,"src":"204104:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204104:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33417,"nodeType":"VariableDeclarationStatement","src":"204104:10:21"},{"assignments":[33419],"declarations":[{"constant":false,"id":33419,"mutability":"mutable","name":"m3","nameLocation":"204132:2:21","nodeType":"VariableDeclaration","scope":33443,"src":"204124:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204124:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33420,"nodeType":"VariableDeclarationStatement","src":"204124:10:21"},{"assignments":[33422],"declarations":[{"constant":false,"id":33422,"mutability":"mutable","name":"m4","nameLocation":"204152:2:21","nodeType":"VariableDeclaration","scope":33443,"src":"204144:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204144:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33423,"nodeType":"VariableDeclarationStatement","src":"204144:10:21"},{"assignments":[33425],"declarations":[{"constant":false,"id":33425,"mutability":"mutable","name":"m5","nameLocation":"204172:2:21","nodeType":"VariableDeclaration","scope":33443,"src":"204164:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204164:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33426,"nodeType":"VariableDeclarationStatement","src":"204164:10:21"},{"assignments":[33428],"declarations":[{"constant":false,"id":33428,"mutability":"mutable","name":"m6","nameLocation":"204192:2:21","nodeType":"VariableDeclaration","scope":33443,"src":"204184:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204184:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33429,"nodeType":"VariableDeclarationStatement","src":"204184:10:21"},{"assignments":[33431],"declarations":[{"constant":false,"id":33431,"mutability":"mutable","name":"m7","nameLocation":"204212:2:21","nodeType":"VariableDeclaration","scope":33443,"src":"204204:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33430,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204204:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33432,"nodeType":"VariableDeclarationStatement","src":"204204:10:21"},{"assignments":[33434],"declarations":[{"constant":false,"id":33434,"mutability":"mutable","name":"m8","nameLocation":"204232:2:21","nodeType":"VariableDeclaration","scope":33443,"src":"204224:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204224:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33435,"nodeType":"VariableDeclarationStatement","src":"204224:10:21"},{"AST":{"nativeSrc":"204296:921:21","nodeType":"YulBlock","src":"204296:921:21","statements":[{"body":{"nativeSrc":"204339:313:21","nodeType":"YulBlock","src":"204339:313:21","statements":[{"nativeSrc":"204357:15:21","nodeType":"YulVariableDeclaration","src":"204357:15:21","value":{"kind":"number","nativeSrc":"204371:1:21","nodeType":"YulLiteral","src":"204371:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"204361:6:21","nodeType":"YulTypedName","src":"204361:6:21","type":""}]},{"body":{"nativeSrc":"204442:40:21","nodeType":"YulBlock","src":"204442:40:21","statements":[{"body":{"nativeSrc":"204471:9:21","nodeType":"YulBlock","src":"204471:9:21","statements":[{"nativeSrc":"204473:5:21","nodeType":"YulBreak","src":"204473:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"204459:6:21","nodeType":"YulIdentifier","src":"204459:6:21"},{"name":"w","nativeSrc":"204467:1:21","nodeType":"YulIdentifier","src":"204467:1:21"}],"functionName":{"name":"byte","nativeSrc":"204454:4:21","nodeType":"YulIdentifier","src":"204454:4:21"},"nativeSrc":"204454:15:21","nodeType":"YulFunctionCall","src":"204454:15:21"}],"functionName":{"name":"iszero","nativeSrc":"204447:6:21","nodeType":"YulIdentifier","src":"204447:6:21"},"nativeSrc":"204447:23:21","nodeType":"YulFunctionCall","src":"204447:23:21"},"nativeSrc":"204444:36:21","nodeType":"YulIf","src":"204444:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"204399:6:21","nodeType":"YulIdentifier","src":"204399:6:21"},{"kind":"number","nativeSrc":"204407:4:21","nodeType":"YulLiteral","src":"204407:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"204396:2:21","nodeType":"YulIdentifier","src":"204396:2:21"},"nativeSrc":"204396:16:21","nodeType":"YulFunctionCall","src":"204396:16:21"},"nativeSrc":"204389:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"204413:28:21","nodeType":"YulBlock","src":"204413:28:21","statements":[{"nativeSrc":"204415:24:21","nodeType":"YulAssignment","src":"204415:24:21","value":{"arguments":[{"name":"length","nativeSrc":"204429:6:21","nodeType":"YulIdentifier","src":"204429:6:21"},{"kind":"number","nativeSrc":"204437:1:21","nodeType":"YulLiteral","src":"204437:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"204425:3:21","nodeType":"YulIdentifier","src":"204425:3:21"},"nativeSrc":"204425:14:21","nodeType":"YulFunctionCall","src":"204425:14:21"},"variableNames":[{"name":"length","nativeSrc":"204415:6:21","nodeType":"YulIdentifier","src":"204415:6:21"}]}]},"pre":{"nativeSrc":"204393:2:21","nodeType":"YulBlock","src":"204393:2:21","statements":[]},"src":"204389:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"204506:3:21","nodeType":"YulIdentifier","src":"204506:3:21"},{"name":"length","nativeSrc":"204511:6:21","nodeType":"YulIdentifier","src":"204511:6:21"}],"functionName":{"name":"mstore","nativeSrc":"204499:6:21","nodeType":"YulIdentifier","src":"204499:6:21"},"nativeSrc":"204499:19:21","nodeType":"YulFunctionCall","src":"204499:19:21"},"nativeSrc":"204499:19:21","nodeType":"YulExpressionStatement","src":"204499:19:21"},{"nativeSrc":"204535:37:21","nodeType":"YulVariableDeclaration","src":"204535:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"204552:3:21","nodeType":"YulLiteral","src":"204552:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"204561:1:21","nodeType":"YulLiteral","src":"204561:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"204564:6:21","nodeType":"YulIdentifier","src":"204564:6:21"}],"functionName":{"name":"shl","nativeSrc":"204557:3:21","nodeType":"YulIdentifier","src":"204557:3:21"},"nativeSrc":"204557:14:21","nodeType":"YulFunctionCall","src":"204557:14:21"}],"functionName":{"name":"sub","nativeSrc":"204548:3:21","nodeType":"YulIdentifier","src":"204548:3:21"},"nativeSrc":"204548:24:21","nodeType":"YulFunctionCall","src":"204548:24:21"},"variables":[{"name":"shift","nativeSrc":"204539:5:21","nodeType":"YulTypedName","src":"204539:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"204600:3:21","nodeType":"YulIdentifier","src":"204600:3:21"},{"kind":"number","nativeSrc":"204605:4:21","nodeType":"YulLiteral","src":"204605:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"204596:3:21","nodeType":"YulIdentifier","src":"204596:3:21"},"nativeSrc":"204596:14:21","nodeType":"YulFunctionCall","src":"204596:14:21"},{"arguments":[{"name":"shift","nativeSrc":"204616:5:21","nodeType":"YulIdentifier","src":"204616:5:21"},{"arguments":[{"name":"shift","nativeSrc":"204627:5:21","nodeType":"YulIdentifier","src":"204627:5:21"},{"name":"w","nativeSrc":"204634:1:21","nodeType":"YulIdentifier","src":"204634:1:21"}],"functionName":{"name":"shr","nativeSrc":"204623:3:21","nodeType":"YulIdentifier","src":"204623:3:21"},"nativeSrc":"204623:13:21","nodeType":"YulFunctionCall","src":"204623:13:21"}],"functionName":{"name":"shl","nativeSrc":"204612:3:21","nodeType":"YulIdentifier","src":"204612:3:21"},"nativeSrc":"204612:25:21","nodeType":"YulFunctionCall","src":"204612:25:21"}],"functionName":{"name":"mstore","nativeSrc":"204589:6:21","nodeType":"YulIdentifier","src":"204589:6:21"},"nativeSrc":"204589:49:21","nodeType":"YulFunctionCall","src":"204589:49:21"},"nativeSrc":"204589:49:21","nodeType":"YulExpressionStatement","src":"204589:49:21"}]},"name":"writeString","nativeSrc":"204310:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"204331:3:21","nodeType":"YulTypedName","src":"204331:3:21","type":""},{"name":"w","nativeSrc":"204336:1:21","nodeType":"YulTypedName","src":"204336:1:21","type":""}],"src":"204310:342:21"},{"nativeSrc":"204665:17:21","nodeType":"YulAssignment","src":"204665:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"204677:4:21","nodeType":"YulLiteral","src":"204677:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"204671:5:21","nodeType":"YulIdentifier","src":"204671:5:21"},"nativeSrc":"204671:11:21","nodeType":"YulFunctionCall","src":"204671:11:21"},"variableNames":[{"name":"m0","nativeSrc":"204665:2:21","nodeType":"YulIdentifier","src":"204665:2:21"}]},{"nativeSrc":"204695:17:21","nodeType":"YulAssignment","src":"204695:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"204707:4:21","nodeType":"YulLiteral","src":"204707:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"204701:5:21","nodeType":"YulIdentifier","src":"204701:5:21"},"nativeSrc":"204701:11:21","nodeType":"YulFunctionCall","src":"204701:11:21"},"variableNames":[{"name":"m1","nativeSrc":"204695:2:21","nodeType":"YulIdentifier","src":"204695:2:21"}]},{"nativeSrc":"204725:17:21","nodeType":"YulAssignment","src":"204725:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"204737:4:21","nodeType":"YulLiteral","src":"204737:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"204731:5:21","nodeType":"YulIdentifier","src":"204731:5:21"},"nativeSrc":"204731:11:21","nodeType":"YulFunctionCall","src":"204731:11:21"},"variableNames":[{"name":"m2","nativeSrc":"204725:2:21","nodeType":"YulIdentifier","src":"204725:2:21"}]},{"nativeSrc":"204755:17:21","nodeType":"YulAssignment","src":"204755:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"204767:4:21","nodeType":"YulLiteral","src":"204767:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"204761:5:21","nodeType":"YulIdentifier","src":"204761:5:21"},"nativeSrc":"204761:11:21","nodeType":"YulFunctionCall","src":"204761:11:21"},"variableNames":[{"name":"m3","nativeSrc":"204755:2:21","nodeType":"YulIdentifier","src":"204755:2:21"}]},{"nativeSrc":"204785:17:21","nodeType":"YulAssignment","src":"204785:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"204797:4:21","nodeType":"YulLiteral","src":"204797:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"204791:5:21","nodeType":"YulIdentifier","src":"204791:5:21"},"nativeSrc":"204791:11:21","nodeType":"YulFunctionCall","src":"204791:11:21"},"variableNames":[{"name":"m4","nativeSrc":"204785:2:21","nodeType":"YulIdentifier","src":"204785:2:21"}]},{"nativeSrc":"204815:17:21","nodeType":"YulAssignment","src":"204815:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"204827:4:21","nodeType":"YulLiteral","src":"204827:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"204821:5:21","nodeType":"YulIdentifier","src":"204821:5:21"},"nativeSrc":"204821:11:21","nodeType":"YulFunctionCall","src":"204821:11:21"},"variableNames":[{"name":"m5","nativeSrc":"204815:2:21","nodeType":"YulIdentifier","src":"204815:2:21"}]},{"nativeSrc":"204845:17:21","nodeType":"YulAssignment","src":"204845:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"204857:4:21","nodeType":"YulLiteral","src":"204857:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"204851:5:21","nodeType":"YulIdentifier","src":"204851:5:21"},"nativeSrc":"204851:11:21","nodeType":"YulFunctionCall","src":"204851:11:21"},"variableNames":[{"name":"m6","nativeSrc":"204845:2:21","nodeType":"YulIdentifier","src":"204845:2:21"}]},{"nativeSrc":"204875:17:21","nodeType":"YulAssignment","src":"204875:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"204887:4:21","nodeType":"YulLiteral","src":"204887:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"204881:5:21","nodeType":"YulIdentifier","src":"204881:5:21"},"nativeSrc":"204881:11:21","nodeType":"YulFunctionCall","src":"204881:11:21"},"variableNames":[{"name":"m7","nativeSrc":"204875:2:21","nodeType":"YulIdentifier","src":"204875:2:21"}]},{"nativeSrc":"204905:18:21","nodeType":"YulAssignment","src":"204905:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"204917:5:21","nodeType":"YulLiteral","src":"204917:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"204911:5:21","nodeType":"YulIdentifier","src":"204911:5:21"},"nativeSrc":"204911:12:21","nodeType":"YulFunctionCall","src":"204911:12:21"},"variableNames":[{"name":"m8","nativeSrc":"204905:2:21","nodeType":"YulIdentifier","src":"204905:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205002:4:21","nodeType":"YulLiteral","src":"205002:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"205008:10:21","nodeType":"YulLiteral","src":"205008:10:21","type":"","value":"0x6d1e8751"}],"functionName":{"name":"mstore","nativeSrc":"204995:6:21","nodeType":"YulIdentifier","src":"204995:6:21"},"nativeSrc":"204995:24:21","nodeType":"YulFunctionCall","src":"204995:24:21"},"nativeSrc":"204995:24:21","nodeType":"YulExpressionStatement","src":"204995:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205039:4:21","nodeType":"YulLiteral","src":"205039:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"205045:2:21","nodeType":"YulIdentifier","src":"205045:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205032:6:21","nodeType":"YulIdentifier","src":"205032:6:21"},"nativeSrc":"205032:16:21","nodeType":"YulFunctionCall","src":"205032:16:21"},"nativeSrc":"205032:16:21","nodeType":"YulExpressionStatement","src":"205032:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205068:4:21","nodeType":"YulLiteral","src":"205068:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"205074:2:21","nodeType":"YulIdentifier","src":"205074:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205061:6:21","nodeType":"YulIdentifier","src":"205061:6:21"},"nativeSrc":"205061:16:21","nodeType":"YulFunctionCall","src":"205061:16:21"},"nativeSrc":"205061:16:21","nodeType":"YulExpressionStatement","src":"205061:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205097:4:21","nodeType":"YulLiteral","src":"205097:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"205103:4:21","nodeType":"YulLiteral","src":"205103:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"205090:6:21","nodeType":"YulIdentifier","src":"205090:6:21"},"nativeSrc":"205090:18:21","nodeType":"YulFunctionCall","src":"205090:18:21"},"nativeSrc":"205090:18:21","nodeType":"YulExpressionStatement","src":"205090:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205128:4:21","nodeType":"YulLiteral","src":"205128:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"205134:4:21","nodeType":"YulLiteral","src":"205134:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"205121:6:21","nodeType":"YulIdentifier","src":"205121:6:21"},"nativeSrc":"205121:18:21","nodeType":"YulFunctionCall","src":"205121:18:21"},"nativeSrc":"205121:18:21","nodeType":"YulExpressionStatement","src":"205121:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205164:4:21","nodeType":"YulLiteral","src":"205164:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"205170:2:21","nodeType":"YulIdentifier","src":"205170:2:21"}],"functionName":{"name":"writeString","nativeSrc":"205152:11:21","nodeType":"YulIdentifier","src":"205152:11:21"},"nativeSrc":"205152:21:21","nodeType":"YulFunctionCall","src":"205152:21:21"},"nativeSrc":"205152:21:21","nodeType":"YulExpressionStatement","src":"205152:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205198:4:21","nodeType":"YulLiteral","src":"205198:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"205204:2:21","nodeType":"YulIdentifier","src":"205204:2:21"}],"functionName":{"name":"writeString","nativeSrc":"205186:11:21","nodeType":"YulIdentifier","src":"205186:11:21"},"nativeSrc":"205186:21:21","nodeType":"YulFunctionCall","src":"205186:21:21"},"nativeSrc":"205186:21:21","nodeType":"YulExpressionStatement","src":"205186:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33410,"isOffset":false,"isSlot":false,"src":"204665:2:21","valueSize":1},{"declaration":33413,"isOffset":false,"isSlot":false,"src":"204695:2:21","valueSize":1},{"declaration":33416,"isOffset":false,"isSlot":false,"src":"204725:2:21","valueSize":1},{"declaration":33419,"isOffset":false,"isSlot":false,"src":"204755:2:21","valueSize":1},{"declaration":33422,"isOffset":false,"isSlot":false,"src":"204785:2:21","valueSize":1},{"declaration":33425,"isOffset":false,"isSlot":false,"src":"204815:2:21","valueSize":1},{"declaration":33428,"isOffset":false,"isSlot":false,"src":"204845:2:21","valueSize":1},{"declaration":33431,"isOffset":false,"isSlot":false,"src":"204875:2:21","valueSize":1},{"declaration":33434,"isOffset":false,"isSlot":false,"src":"204905:2:21","valueSize":1},{"declaration":33400,"isOffset":false,"isSlot":false,"src":"205045:2:21","valueSize":1},{"declaration":33402,"isOffset":false,"isSlot":false,"src":"205074:2:21","valueSize":1},{"declaration":33404,"isOffset":false,"isSlot":false,"src":"205170:2:21","valueSize":1},{"declaration":33406,"isOffset":false,"isSlot":false,"src":"205204:2:21","valueSize":1}],"id":33436,"nodeType":"InlineAssembly","src":"204287:930:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"205242:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":33439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"205248:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":33437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"205226:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"205226:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33441,"nodeType":"ExpressionStatement","src":"205226:28:21"},{"AST":{"nativeSrc":"205316:273:21","nodeType":"YulBlock","src":"205316:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"205337:4:21","nodeType":"YulLiteral","src":"205337:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"205343:2:21","nodeType":"YulIdentifier","src":"205343:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205330:6:21","nodeType":"YulIdentifier","src":"205330:6:21"},"nativeSrc":"205330:16:21","nodeType":"YulFunctionCall","src":"205330:16:21"},"nativeSrc":"205330:16:21","nodeType":"YulExpressionStatement","src":"205330:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205366:4:21","nodeType":"YulLiteral","src":"205366:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"205372:2:21","nodeType":"YulIdentifier","src":"205372:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205359:6:21","nodeType":"YulIdentifier","src":"205359:6:21"},"nativeSrc":"205359:16:21","nodeType":"YulFunctionCall","src":"205359:16:21"},"nativeSrc":"205359:16:21","nodeType":"YulExpressionStatement","src":"205359:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205395:4:21","nodeType":"YulLiteral","src":"205395:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"205401:2:21","nodeType":"YulIdentifier","src":"205401:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205388:6:21","nodeType":"YulIdentifier","src":"205388:6:21"},"nativeSrc":"205388:16:21","nodeType":"YulFunctionCall","src":"205388:16:21"},"nativeSrc":"205388:16:21","nodeType":"YulExpressionStatement","src":"205388:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205424:4:21","nodeType":"YulLiteral","src":"205424:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"205430:2:21","nodeType":"YulIdentifier","src":"205430:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205417:6:21","nodeType":"YulIdentifier","src":"205417:6:21"},"nativeSrc":"205417:16:21","nodeType":"YulFunctionCall","src":"205417:16:21"},"nativeSrc":"205417:16:21","nodeType":"YulExpressionStatement","src":"205417:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205453:4:21","nodeType":"YulLiteral","src":"205453:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"205459:2:21","nodeType":"YulIdentifier","src":"205459:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205446:6:21","nodeType":"YulIdentifier","src":"205446:6:21"},"nativeSrc":"205446:16:21","nodeType":"YulFunctionCall","src":"205446:16:21"},"nativeSrc":"205446:16:21","nodeType":"YulExpressionStatement","src":"205446:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205482:4:21","nodeType":"YulLiteral","src":"205482:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"205488:2:21","nodeType":"YulIdentifier","src":"205488:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205475:6:21","nodeType":"YulIdentifier","src":"205475:6:21"},"nativeSrc":"205475:16:21","nodeType":"YulFunctionCall","src":"205475:16:21"},"nativeSrc":"205475:16:21","nodeType":"YulExpressionStatement","src":"205475:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205511:4:21","nodeType":"YulLiteral","src":"205511:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"205517:2:21","nodeType":"YulIdentifier","src":"205517:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205504:6:21","nodeType":"YulIdentifier","src":"205504:6:21"},"nativeSrc":"205504:16:21","nodeType":"YulFunctionCall","src":"205504:16:21"},"nativeSrc":"205504:16:21","nodeType":"YulExpressionStatement","src":"205504:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205540:4:21","nodeType":"YulLiteral","src":"205540:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"205546:2:21","nodeType":"YulIdentifier","src":"205546:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205533:6:21","nodeType":"YulIdentifier","src":"205533:6:21"},"nativeSrc":"205533:16:21","nodeType":"YulFunctionCall","src":"205533:16:21"},"nativeSrc":"205533:16:21","nodeType":"YulExpressionStatement","src":"205533:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205569:5:21","nodeType":"YulLiteral","src":"205569:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"205576:2:21","nodeType":"YulIdentifier","src":"205576:2:21"}],"functionName":{"name":"mstore","nativeSrc":"205562:6:21","nodeType":"YulIdentifier","src":"205562:6:21"},"nativeSrc":"205562:17:21","nodeType":"YulFunctionCall","src":"205562:17:21"},"nativeSrc":"205562:17:21","nodeType":"YulExpressionStatement","src":"205562:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33410,"isOffset":false,"isSlot":false,"src":"205343:2:21","valueSize":1},{"declaration":33413,"isOffset":false,"isSlot":false,"src":"205372:2:21","valueSize":1},{"declaration":33416,"isOffset":false,"isSlot":false,"src":"205401:2:21","valueSize":1},{"declaration":33419,"isOffset":false,"isSlot":false,"src":"205430:2:21","valueSize":1},{"declaration":33422,"isOffset":false,"isSlot":false,"src":"205459:2:21","valueSize":1},{"declaration":33425,"isOffset":false,"isSlot":false,"src":"205488:2:21","valueSize":1},{"declaration":33428,"isOffset":false,"isSlot":false,"src":"205517:2:21","valueSize":1},{"declaration":33431,"isOffset":false,"isSlot":false,"src":"205546:2:21","valueSize":1},{"declaration":33434,"isOffset":false,"isSlot":false,"src":"205576:2:21","valueSize":1}],"id":33442,"nodeType":"InlineAssembly","src":"205307:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"203994:3:21","parameters":{"id":33407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33400,"mutability":"mutable","name":"p0","nameLocation":"204003:2:21","nodeType":"VariableDeclaration","scope":33444,"src":"203998:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33399,"name":"bool","nodeType":"ElementaryTypeName","src":"203998:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33402,"mutability":"mutable","name":"p1","nameLocation":"204012:2:21","nodeType":"VariableDeclaration","scope":33444,"src":"204007:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33401,"name":"bool","nodeType":"ElementaryTypeName","src":"204007:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33404,"mutability":"mutable","name":"p2","nameLocation":"204024:2:21","nodeType":"VariableDeclaration","scope":33444,"src":"204016:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33403,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204016:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33406,"mutability":"mutable","name":"p3","nameLocation":"204036:2:21","nodeType":"VariableDeclaration","scope":33444,"src":"204028:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204028:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"203997:42:21"},"returnParameters":{"id":33408,"nodeType":"ParameterList","parameters":[],"src":"204054:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33478,"nodeType":"FunctionDefinition","src":"205601:872:21","nodes":[],"body":{"id":33477,"nodeType":"Block","src":"205673:800:21","nodes":[],"statements":[{"assignments":[33456],"declarations":[{"constant":false,"id":33456,"mutability":"mutable","name":"m0","nameLocation":"205691:2:21","nodeType":"VariableDeclaration","scope":33477,"src":"205683:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205683:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33457,"nodeType":"VariableDeclarationStatement","src":"205683:10:21"},{"assignments":[33459],"declarations":[{"constant":false,"id":33459,"mutability":"mutable","name":"m1","nameLocation":"205711:2:21","nodeType":"VariableDeclaration","scope":33477,"src":"205703:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205703:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33460,"nodeType":"VariableDeclarationStatement","src":"205703:10:21"},{"assignments":[33462],"declarations":[{"constant":false,"id":33462,"mutability":"mutable","name":"m2","nameLocation":"205731:2:21","nodeType":"VariableDeclaration","scope":33477,"src":"205723:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205723:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33463,"nodeType":"VariableDeclarationStatement","src":"205723:10:21"},{"assignments":[33465],"declarations":[{"constant":false,"id":33465,"mutability":"mutable","name":"m3","nameLocation":"205751:2:21","nodeType":"VariableDeclaration","scope":33477,"src":"205743:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205743:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33466,"nodeType":"VariableDeclarationStatement","src":"205743:10:21"},{"assignments":[33468],"declarations":[{"constant":false,"id":33468,"mutability":"mutable","name":"m4","nameLocation":"205771:2:21","nodeType":"VariableDeclaration","scope":33477,"src":"205763:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205763:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33469,"nodeType":"VariableDeclarationStatement","src":"205763:10:21"},{"AST":{"nativeSrc":"205835:378:21","nodeType":"YulBlock","src":"205835:378:21","statements":[{"nativeSrc":"205849:17:21","nodeType":"YulAssignment","src":"205849:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"205861:4:21","nodeType":"YulLiteral","src":"205861:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"205855:5:21","nodeType":"YulIdentifier","src":"205855:5:21"},"nativeSrc":"205855:11:21","nodeType":"YulFunctionCall","src":"205855:11:21"},"variableNames":[{"name":"m0","nativeSrc":"205849:2:21","nodeType":"YulIdentifier","src":"205849:2:21"}]},{"nativeSrc":"205879:17:21","nodeType":"YulAssignment","src":"205879:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"205891:4:21","nodeType":"YulLiteral","src":"205891:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"205885:5:21","nodeType":"YulIdentifier","src":"205885:5:21"},"nativeSrc":"205885:11:21","nodeType":"YulFunctionCall","src":"205885:11:21"},"variableNames":[{"name":"m1","nativeSrc":"205879:2:21","nodeType":"YulIdentifier","src":"205879:2:21"}]},{"nativeSrc":"205909:17:21","nodeType":"YulAssignment","src":"205909:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"205921:4:21","nodeType":"YulLiteral","src":"205921:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"205915:5:21","nodeType":"YulIdentifier","src":"205915:5:21"},"nativeSrc":"205915:11:21","nodeType":"YulFunctionCall","src":"205915:11:21"},"variableNames":[{"name":"m2","nativeSrc":"205909:2:21","nodeType":"YulIdentifier","src":"205909:2:21"}]},{"nativeSrc":"205939:17:21","nodeType":"YulAssignment","src":"205939:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"205951:4:21","nodeType":"YulLiteral","src":"205951:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"205945:5:21","nodeType":"YulIdentifier","src":"205945:5:21"},"nativeSrc":"205945:11:21","nodeType":"YulFunctionCall","src":"205945:11:21"},"variableNames":[{"name":"m3","nativeSrc":"205939:2:21","nodeType":"YulIdentifier","src":"205939:2:21"}]},{"nativeSrc":"205969:17:21","nodeType":"YulAssignment","src":"205969:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"205981:4:21","nodeType":"YulLiteral","src":"205981:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"205975:5:21","nodeType":"YulIdentifier","src":"205975:5:21"},"nativeSrc":"205975:11:21","nodeType":"YulFunctionCall","src":"205975:11:21"},"variableNames":[{"name":"m4","nativeSrc":"205969:2:21","nodeType":"YulIdentifier","src":"205969:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206070:4:21","nodeType":"YulLiteral","src":"206070:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"206076:10:21","nodeType":"YulLiteral","src":"206076:10:21","type":"","value":"0x26f560a8"}],"functionName":{"name":"mstore","nativeSrc":"206063:6:21","nodeType":"YulIdentifier","src":"206063:6:21"},"nativeSrc":"206063:24:21","nodeType":"YulFunctionCall","src":"206063:24:21"},"nativeSrc":"206063:24:21","nodeType":"YulExpressionStatement","src":"206063:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206107:4:21","nodeType":"YulLiteral","src":"206107:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"206113:2:21","nodeType":"YulIdentifier","src":"206113:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206100:6:21","nodeType":"YulIdentifier","src":"206100:6:21"},"nativeSrc":"206100:16:21","nodeType":"YulFunctionCall","src":"206100:16:21"},"nativeSrc":"206100:16:21","nodeType":"YulExpressionStatement","src":"206100:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206136:4:21","nodeType":"YulLiteral","src":"206136:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"206142:2:21","nodeType":"YulIdentifier","src":"206142:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206129:6:21","nodeType":"YulIdentifier","src":"206129:6:21"},"nativeSrc":"206129:16:21","nodeType":"YulFunctionCall","src":"206129:16:21"},"nativeSrc":"206129:16:21","nodeType":"YulExpressionStatement","src":"206129:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206165:4:21","nodeType":"YulLiteral","src":"206165:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"206171:2:21","nodeType":"YulIdentifier","src":"206171:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206158:6:21","nodeType":"YulIdentifier","src":"206158:6:21"},"nativeSrc":"206158:16:21","nodeType":"YulFunctionCall","src":"206158:16:21"},"nativeSrc":"206158:16:21","nodeType":"YulExpressionStatement","src":"206158:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206194:4:21","nodeType":"YulLiteral","src":"206194:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"206200:2:21","nodeType":"YulIdentifier","src":"206200:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206187:6:21","nodeType":"YulIdentifier","src":"206187:6:21"},"nativeSrc":"206187:16:21","nodeType":"YulFunctionCall","src":"206187:16:21"},"nativeSrc":"206187:16:21","nodeType":"YulExpressionStatement","src":"206187:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33456,"isOffset":false,"isSlot":false,"src":"205849:2:21","valueSize":1},{"declaration":33459,"isOffset":false,"isSlot":false,"src":"205879:2:21","valueSize":1},{"declaration":33462,"isOffset":false,"isSlot":false,"src":"205909:2:21","valueSize":1},{"declaration":33465,"isOffset":false,"isSlot":false,"src":"205939:2:21","valueSize":1},{"declaration":33468,"isOffset":false,"isSlot":false,"src":"205969:2:21","valueSize":1},{"declaration":33446,"isOffset":false,"isSlot":false,"src":"206113:2:21","valueSize":1},{"declaration":33448,"isOffset":false,"isSlot":false,"src":"206142:2:21","valueSize":1},{"declaration":33450,"isOffset":false,"isSlot":false,"src":"206171:2:21","valueSize":1},{"declaration":33452,"isOffset":false,"isSlot":false,"src":"206200:2:21","valueSize":1}],"id":33470,"nodeType":"InlineAssembly","src":"205826:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"206238:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"206244:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"206222:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"206222:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33475,"nodeType":"ExpressionStatement","src":"206222:27:21"},{"AST":{"nativeSrc":"206311:156:21","nodeType":"YulBlock","src":"206311:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"206332:4:21","nodeType":"YulLiteral","src":"206332:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"206338:2:21","nodeType":"YulIdentifier","src":"206338:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206325:6:21","nodeType":"YulIdentifier","src":"206325:6:21"},"nativeSrc":"206325:16:21","nodeType":"YulFunctionCall","src":"206325:16:21"},"nativeSrc":"206325:16:21","nodeType":"YulExpressionStatement","src":"206325:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206361:4:21","nodeType":"YulLiteral","src":"206361:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"206367:2:21","nodeType":"YulIdentifier","src":"206367:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206354:6:21","nodeType":"YulIdentifier","src":"206354:6:21"},"nativeSrc":"206354:16:21","nodeType":"YulFunctionCall","src":"206354:16:21"},"nativeSrc":"206354:16:21","nodeType":"YulExpressionStatement","src":"206354:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206390:4:21","nodeType":"YulLiteral","src":"206390:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"206396:2:21","nodeType":"YulIdentifier","src":"206396:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206383:6:21","nodeType":"YulIdentifier","src":"206383:6:21"},"nativeSrc":"206383:16:21","nodeType":"YulFunctionCall","src":"206383:16:21"},"nativeSrc":"206383:16:21","nodeType":"YulExpressionStatement","src":"206383:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206419:4:21","nodeType":"YulLiteral","src":"206419:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"206425:2:21","nodeType":"YulIdentifier","src":"206425:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206412:6:21","nodeType":"YulIdentifier","src":"206412:6:21"},"nativeSrc":"206412:16:21","nodeType":"YulFunctionCall","src":"206412:16:21"},"nativeSrc":"206412:16:21","nodeType":"YulExpressionStatement","src":"206412:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206448:4:21","nodeType":"YulLiteral","src":"206448:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"206454:2:21","nodeType":"YulIdentifier","src":"206454:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206441:6:21","nodeType":"YulIdentifier","src":"206441:6:21"},"nativeSrc":"206441:16:21","nodeType":"YulFunctionCall","src":"206441:16:21"},"nativeSrc":"206441:16:21","nodeType":"YulExpressionStatement","src":"206441:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33456,"isOffset":false,"isSlot":false,"src":"206338:2:21","valueSize":1},{"declaration":33459,"isOffset":false,"isSlot":false,"src":"206367:2:21","valueSize":1},{"declaration":33462,"isOffset":false,"isSlot":false,"src":"206396:2:21","valueSize":1},{"declaration":33465,"isOffset":false,"isSlot":false,"src":"206425:2:21","valueSize":1},{"declaration":33468,"isOffset":false,"isSlot":false,"src":"206454:2:21","valueSize":1}],"id":33476,"nodeType":"InlineAssembly","src":"206302:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"205610:3:21","parameters":{"id":33453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33446,"mutability":"mutable","name":"p0","nameLocation":"205619:2:21","nodeType":"VariableDeclaration","scope":33478,"src":"205614:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33445,"name":"bool","nodeType":"ElementaryTypeName","src":"205614:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33448,"mutability":"mutable","name":"p1","nameLocation":"205631:2:21","nodeType":"VariableDeclaration","scope":33478,"src":"205623:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33447,"name":"uint256","nodeType":"ElementaryTypeName","src":"205623:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33450,"mutability":"mutable","name":"p2","nameLocation":"205643:2:21","nodeType":"VariableDeclaration","scope":33478,"src":"205635:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33449,"name":"address","nodeType":"ElementaryTypeName","src":"205635:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33452,"mutability":"mutable","name":"p3","nameLocation":"205655:2:21","nodeType":"VariableDeclaration","scope":33478,"src":"205647:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33451,"name":"address","nodeType":"ElementaryTypeName","src":"205647:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"205613:45:21"},"returnParameters":{"id":33454,"nodeType":"ParameterList","parameters":[],"src":"205673:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33512,"nodeType":"FunctionDefinition","src":"206479:866:21","nodes":[],"body":{"id":33511,"nodeType":"Block","src":"206548:797:21","nodes":[],"statements":[{"assignments":[33490],"declarations":[{"constant":false,"id":33490,"mutability":"mutable","name":"m0","nameLocation":"206566:2:21","nodeType":"VariableDeclaration","scope":33511,"src":"206558:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206558:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33491,"nodeType":"VariableDeclarationStatement","src":"206558:10:21"},{"assignments":[33493],"declarations":[{"constant":false,"id":33493,"mutability":"mutable","name":"m1","nameLocation":"206586:2:21","nodeType":"VariableDeclaration","scope":33511,"src":"206578:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206578:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33494,"nodeType":"VariableDeclarationStatement","src":"206578:10:21"},{"assignments":[33496],"declarations":[{"constant":false,"id":33496,"mutability":"mutable","name":"m2","nameLocation":"206606:2:21","nodeType":"VariableDeclaration","scope":33511,"src":"206598:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206598:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33497,"nodeType":"VariableDeclarationStatement","src":"206598:10:21"},{"assignments":[33499],"declarations":[{"constant":false,"id":33499,"mutability":"mutable","name":"m3","nameLocation":"206626:2:21","nodeType":"VariableDeclaration","scope":33511,"src":"206618:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206618:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33500,"nodeType":"VariableDeclarationStatement","src":"206618:10:21"},{"assignments":[33502],"declarations":[{"constant":false,"id":33502,"mutability":"mutable","name":"m4","nameLocation":"206646:2:21","nodeType":"VariableDeclaration","scope":33511,"src":"206638:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206638:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33503,"nodeType":"VariableDeclarationStatement","src":"206638:10:21"},{"AST":{"nativeSrc":"206710:375:21","nodeType":"YulBlock","src":"206710:375:21","statements":[{"nativeSrc":"206724:17:21","nodeType":"YulAssignment","src":"206724:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"206736:4:21","nodeType":"YulLiteral","src":"206736:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"206730:5:21","nodeType":"YulIdentifier","src":"206730:5:21"},"nativeSrc":"206730:11:21","nodeType":"YulFunctionCall","src":"206730:11:21"},"variableNames":[{"name":"m0","nativeSrc":"206724:2:21","nodeType":"YulIdentifier","src":"206724:2:21"}]},{"nativeSrc":"206754:17:21","nodeType":"YulAssignment","src":"206754:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"206766:4:21","nodeType":"YulLiteral","src":"206766:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"206760:5:21","nodeType":"YulIdentifier","src":"206760:5:21"},"nativeSrc":"206760:11:21","nodeType":"YulFunctionCall","src":"206760:11:21"},"variableNames":[{"name":"m1","nativeSrc":"206754:2:21","nodeType":"YulIdentifier","src":"206754:2:21"}]},{"nativeSrc":"206784:17:21","nodeType":"YulAssignment","src":"206784:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"206796:4:21","nodeType":"YulLiteral","src":"206796:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"206790:5:21","nodeType":"YulIdentifier","src":"206790:5:21"},"nativeSrc":"206790:11:21","nodeType":"YulFunctionCall","src":"206790:11:21"},"variableNames":[{"name":"m2","nativeSrc":"206784:2:21","nodeType":"YulIdentifier","src":"206784:2:21"}]},{"nativeSrc":"206814:17:21","nodeType":"YulAssignment","src":"206814:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"206826:4:21","nodeType":"YulLiteral","src":"206826:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"206820:5:21","nodeType":"YulIdentifier","src":"206820:5:21"},"nativeSrc":"206820:11:21","nodeType":"YulFunctionCall","src":"206820:11:21"},"variableNames":[{"name":"m3","nativeSrc":"206814:2:21","nodeType":"YulIdentifier","src":"206814:2:21"}]},{"nativeSrc":"206844:17:21","nodeType":"YulAssignment","src":"206844:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"206856:4:21","nodeType":"YulLiteral","src":"206856:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"206850:5:21","nodeType":"YulIdentifier","src":"206850:5:21"},"nativeSrc":"206850:11:21","nodeType":"YulFunctionCall","src":"206850:11:21"},"variableNames":[{"name":"m4","nativeSrc":"206844:2:21","nodeType":"YulIdentifier","src":"206844:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206942:4:21","nodeType":"YulLiteral","src":"206942:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"206948:10:21","nodeType":"YulLiteral","src":"206948:10:21","type":"","value":"0xb4c314ff"}],"functionName":{"name":"mstore","nativeSrc":"206935:6:21","nodeType":"YulIdentifier","src":"206935:6:21"},"nativeSrc":"206935:24:21","nodeType":"YulFunctionCall","src":"206935:24:21"},"nativeSrc":"206935:24:21","nodeType":"YulExpressionStatement","src":"206935:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206979:4:21","nodeType":"YulLiteral","src":"206979:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"206985:2:21","nodeType":"YulIdentifier","src":"206985:2:21"}],"functionName":{"name":"mstore","nativeSrc":"206972:6:21","nodeType":"YulIdentifier","src":"206972:6:21"},"nativeSrc":"206972:16:21","nodeType":"YulFunctionCall","src":"206972:16:21"},"nativeSrc":"206972:16:21","nodeType":"YulExpressionStatement","src":"206972:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207008:4:21","nodeType":"YulLiteral","src":"207008:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"207014:2:21","nodeType":"YulIdentifier","src":"207014:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207001:6:21","nodeType":"YulIdentifier","src":"207001:6:21"},"nativeSrc":"207001:16:21","nodeType":"YulFunctionCall","src":"207001:16:21"},"nativeSrc":"207001:16:21","nodeType":"YulExpressionStatement","src":"207001:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207037:4:21","nodeType":"YulLiteral","src":"207037:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"207043:2:21","nodeType":"YulIdentifier","src":"207043:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207030:6:21","nodeType":"YulIdentifier","src":"207030:6:21"},"nativeSrc":"207030:16:21","nodeType":"YulFunctionCall","src":"207030:16:21"},"nativeSrc":"207030:16:21","nodeType":"YulExpressionStatement","src":"207030:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207066:4:21","nodeType":"YulLiteral","src":"207066:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"207072:2:21","nodeType":"YulIdentifier","src":"207072:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207059:6:21","nodeType":"YulIdentifier","src":"207059:6:21"},"nativeSrc":"207059:16:21","nodeType":"YulFunctionCall","src":"207059:16:21"},"nativeSrc":"207059:16:21","nodeType":"YulExpressionStatement","src":"207059:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33490,"isOffset":false,"isSlot":false,"src":"206724:2:21","valueSize":1},{"declaration":33493,"isOffset":false,"isSlot":false,"src":"206754:2:21","valueSize":1},{"declaration":33496,"isOffset":false,"isSlot":false,"src":"206784:2:21","valueSize":1},{"declaration":33499,"isOffset":false,"isSlot":false,"src":"206814:2:21","valueSize":1},{"declaration":33502,"isOffset":false,"isSlot":false,"src":"206844:2:21","valueSize":1},{"declaration":33480,"isOffset":false,"isSlot":false,"src":"206985:2:21","valueSize":1},{"declaration":33482,"isOffset":false,"isSlot":false,"src":"207014:2:21","valueSize":1},{"declaration":33484,"isOffset":false,"isSlot":false,"src":"207043:2:21","valueSize":1},{"declaration":33486,"isOffset":false,"isSlot":false,"src":"207072:2:21","valueSize":1}],"id":33504,"nodeType":"InlineAssembly","src":"206701:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207110:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207116:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"207094:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"207094:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33509,"nodeType":"ExpressionStatement","src":"207094:27:21"},{"AST":{"nativeSrc":"207183:156:21","nodeType":"YulBlock","src":"207183:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"207204:4:21","nodeType":"YulLiteral","src":"207204:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"207210:2:21","nodeType":"YulIdentifier","src":"207210:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207197:6:21","nodeType":"YulIdentifier","src":"207197:6:21"},"nativeSrc":"207197:16:21","nodeType":"YulFunctionCall","src":"207197:16:21"},"nativeSrc":"207197:16:21","nodeType":"YulExpressionStatement","src":"207197:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207233:4:21","nodeType":"YulLiteral","src":"207233:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"207239:2:21","nodeType":"YulIdentifier","src":"207239:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207226:6:21","nodeType":"YulIdentifier","src":"207226:6:21"},"nativeSrc":"207226:16:21","nodeType":"YulFunctionCall","src":"207226:16:21"},"nativeSrc":"207226:16:21","nodeType":"YulExpressionStatement","src":"207226:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207262:4:21","nodeType":"YulLiteral","src":"207262:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"207268:2:21","nodeType":"YulIdentifier","src":"207268:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207255:6:21","nodeType":"YulIdentifier","src":"207255:6:21"},"nativeSrc":"207255:16:21","nodeType":"YulFunctionCall","src":"207255:16:21"},"nativeSrc":"207255:16:21","nodeType":"YulExpressionStatement","src":"207255:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207291:4:21","nodeType":"YulLiteral","src":"207291:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"207297:2:21","nodeType":"YulIdentifier","src":"207297:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207284:6:21","nodeType":"YulIdentifier","src":"207284:6:21"},"nativeSrc":"207284:16:21","nodeType":"YulFunctionCall","src":"207284:16:21"},"nativeSrc":"207284:16:21","nodeType":"YulExpressionStatement","src":"207284:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207320:4:21","nodeType":"YulLiteral","src":"207320:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"207326:2:21","nodeType":"YulIdentifier","src":"207326:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207313:6:21","nodeType":"YulIdentifier","src":"207313:6:21"},"nativeSrc":"207313:16:21","nodeType":"YulFunctionCall","src":"207313:16:21"},"nativeSrc":"207313:16:21","nodeType":"YulExpressionStatement","src":"207313:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33490,"isOffset":false,"isSlot":false,"src":"207210:2:21","valueSize":1},{"declaration":33493,"isOffset":false,"isSlot":false,"src":"207239:2:21","valueSize":1},{"declaration":33496,"isOffset":false,"isSlot":false,"src":"207268:2:21","valueSize":1},{"declaration":33499,"isOffset":false,"isSlot":false,"src":"207297:2:21","valueSize":1},{"declaration":33502,"isOffset":false,"isSlot":false,"src":"207326:2:21","valueSize":1}],"id":33510,"nodeType":"InlineAssembly","src":"207174:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"206488:3:21","parameters":{"id":33487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33480,"mutability":"mutable","name":"p0","nameLocation":"206497:2:21","nodeType":"VariableDeclaration","scope":33512,"src":"206492:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33479,"name":"bool","nodeType":"ElementaryTypeName","src":"206492:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33482,"mutability":"mutable","name":"p1","nameLocation":"206509:2:21","nodeType":"VariableDeclaration","scope":33512,"src":"206501:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33481,"name":"uint256","nodeType":"ElementaryTypeName","src":"206501:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33484,"mutability":"mutable","name":"p2","nameLocation":"206521:2:21","nodeType":"VariableDeclaration","scope":33512,"src":"206513:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33483,"name":"address","nodeType":"ElementaryTypeName","src":"206513:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33486,"mutability":"mutable","name":"p3","nameLocation":"206530:2:21","nodeType":"VariableDeclaration","scope":33512,"src":"206525:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33485,"name":"bool","nodeType":"ElementaryTypeName","src":"206525:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"206491:42:21"},"returnParameters":{"id":33488,"nodeType":"ParameterList","parameters":[],"src":"206548:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33546,"nodeType":"FunctionDefinition","src":"207351:872:21","nodes":[],"body":{"id":33545,"nodeType":"Block","src":"207423:800:21","nodes":[],"statements":[{"assignments":[33524],"declarations":[{"constant":false,"id":33524,"mutability":"mutable","name":"m0","nameLocation":"207441:2:21","nodeType":"VariableDeclaration","scope":33545,"src":"207433:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207433:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33525,"nodeType":"VariableDeclarationStatement","src":"207433:10:21"},{"assignments":[33527],"declarations":[{"constant":false,"id":33527,"mutability":"mutable","name":"m1","nameLocation":"207461:2:21","nodeType":"VariableDeclaration","scope":33545,"src":"207453:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33526,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207453:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33528,"nodeType":"VariableDeclarationStatement","src":"207453:10:21"},{"assignments":[33530],"declarations":[{"constant":false,"id":33530,"mutability":"mutable","name":"m2","nameLocation":"207481:2:21","nodeType":"VariableDeclaration","scope":33545,"src":"207473:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207473:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33531,"nodeType":"VariableDeclarationStatement","src":"207473:10:21"},{"assignments":[33533],"declarations":[{"constant":false,"id":33533,"mutability":"mutable","name":"m3","nameLocation":"207501:2:21","nodeType":"VariableDeclaration","scope":33545,"src":"207493:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207493:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33534,"nodeType":"VariableDeclarationStatement","src":"207493:10:21"},{"assignments":[33536],"declarations":[{"constant":false,"id":33536,"mutability":"mutable","name":"m4","nameLocation":"207521:2:21","nodeType":"VariableDeclaration","scope":33545,"src":"207513:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33535,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207513:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33537,"nodeType":"VariableDeclarationStatement","src":"207513:10:21"},{"AST":{"nativeSrc":"207585:378:21","nodeType":"YulBlock","src":"207585:378:21","statements":[{"nativeSrc":"207599:17:21","nodeType":"YulAssignment","src":"207599:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"207611:4:21","nodeType":"YulLiteral","src":"207611:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"207605:5:21","nodeType":"YulIdentifier","src":"207605:5:21"},"nativeSrc":"207605:11:21","nodeType":"YulFunctionCall","src":"207605:11:21"},"variableNames":[{"name":"m0","nativeSrc":"207599:2:21","nodeType":"YulIdentifier","src":"207599:2:21"}]},{"nativeSrc":"207629:17:21","nodeType":"YulAssignment","src":"207629:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"207641:4:21","nodeType":"YulLiteral","src":"207641:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"207635:5:21","nodeType":"YulIdentifier","src":"207635:5:21"},"nativeSrc":"207635:11:21","nodeType":"YulFunctionCall","src":"207635:11:21"},"variableNames":[{"name":"m1","nativeSrc":"207629:2:21","nodeType":"YulIdentifier","src":"207629:2:21"}]},{"nativeSrc":"207659:17:21","nodeType":"YulAssignment","src":"207659:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"207671:4:21","nodeType":"YulLiteral","src":"207671:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"207665:5:21","nodeType":"YulIdentifier","src":"207665:5:21"},"nativeSrc":"207665:11:21","nodeType":"YulFunctionCall","src":"207665:11:21"},"variableNames":[{"name":"m2","nativeSrc":"207659:2:21","nodeType":"YulIdentifier","src":"207659:2:21"}]},{"nativeSrc":"207689:17:21","nodeType":"YulAssignment","src":"207689:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"207701:4:21","nodeType":"YulLiteral","src":"207701:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"207695:5:21","nodeType":"YulIdentifier","src":"207695:5:21"},"nativeSrc":"207695:11:21","nodeType":"YulFunctionCall","src":"207695:11:21"},"variableNames":[{"name":"m3","nativeSrc":"207689:2:21","nodeType":"YulIdentifier","src":"207689:2:21"}]},{"nativeSrc":"207719:17:21","nodeType":"YulAssignment","src":"207719:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"207731:4:21","nodeType":"YulLiteral","src":"207731:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"207725:5:21","nodeType":"YulIdentifier","src":"207725:5:21"},"nativeSrc":"207725:11:21","nodeType":"YulFunctionCall","src":"207725:11:21"},"variableNames":[{"name":"m4","nativeSrc":"207719:2:21","nodeType":"YulIdentifier","src":"207719:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207820:4:21","nodeType":"YulLiteral","src":"207820:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"207826:10:21","nodeType":"YulLiteral","src":"207826:10:21","type":"","value":"0x1537dc87"}],"functionName":{"name":"mstore","nativeSrc":"207813:6:21","nodeType":"YulIdentifier","src":"207813:6:21"},"nativeSrc":"207813:24:21","nodeType":"YulFunctionCall","src":"207813:24:21"},"nativeSrc":"207813:24:21","nodeType":"YulExpressionStatement","src":"207813:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207857:4:21","nodeType":"YulLiteral","src":"207857:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"207863:2:21","nodeType":"YulIdentifier","src":"207863:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207850:6:21","nodeType":"YulIdentifier","src":"207850:6:21"},"nativeSrc":"207850:16:21","nodeType":"YulFunctionCall","src":"207850:16:21"},"nativeSrc":"207850:16:21","nodeType":"YulExpressionStatement","src":"207850:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207886:4:21","nodeType":"YulLiteral","src":"207886:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"207892:2:21","nodeType":"YulIdentifier","src":"207892:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207879:6:21","nodeType":"YulIdentifier","src":"207879:6:21"},"nativeSrc":"207879:16:21","nodeType":"YulFunctionCall","src":"207879:16:21"},"nativeSrc":"207879:16:21","nodeType":"YulExpressionStatement","src":"207879:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207915:4:21","nodeType":"YulLiteral","src":"207915:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"207921:2:21","nodeType":"YulIdentifier","src":"207921:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207908:6:21","nodeType":"YulIdentifier","src":"207908:6:21"},"nativeSrc":"207908:16:21","nodeType":"YulFunctionCall","src":"207908:16:21"},"nativeSrc":"207908:16:21","nodeType":"YulExpressionStatement","src":"207908:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207944:4:21","nodeType":"YulLiteral","src":"207944:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"207950:2:21","nodeType":"YulIdentifier","src":"207950:2:21"}],"functionName":{"name":"mstore","nativeSrc":"207937:6:21","nodeType":"YulIdentifier","src":"207937:6:21"},"nativeSrc":"207937:16:21","nodeType":"YulFunctionCall","src":"207937:16:21"},"nativeSrc":"207937:16:21","nodeType":"YulExpressionStatement","src":"207937:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33524,"isOffset":false,"isSlot":false,"src":"207599:2:21","valueSize":1},{"declaration":33527,"isOffset":false,"isSlot":false,"src":"207629:2:21","valueSize":1},{"declaration":33530,"isOffset":false,"isSlot":false,"src":"207659:2:21","valueSize":1},{"declaration":33533,"isOffset":false,"isSlot":false,"src":"207689:2:21","valueSize":1},{"declaration":33536,"isOffset":false,"isSlot":false,"src":"207719:2:21","valueSize":1},{"declaration":33514,"isOffset":false,"isSlot":false,"src":"207863:2:21","valueSize":1},{"declaration":33516,"isOffset":false,"isSlot":false,"src":"207892:2:21","valueSize":1},{"declaration":33518,"isOffset":false,"isSlot":false,"src":"207921:2:21","valueSize":1},{"declaration":33520,"isOffset":false,"isSlot":false,"src":"207950:2:21","valueSize":1}],"id":33538,"nodeType":"InlineAssembly","src":"207576:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207988:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207994:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"207972:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"207972:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33543,"nodeType":"ExpressionStatement","src":"207972:27:21"},{"AST":{"nativeSrc":"208061:156:21","nodeType":"YulBlock","src":"208061:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"208082:4:21","nodeType":"YulLiteral","src":"208082:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"208088:2:21","nodeType":"YulIdentifier","src":"208088:2:21"}],"functionName":{"name":"mstore","nativeSrc":"208075:6:21","nodeType":"YulIdentifier","src":"208075:6:21"},"nativeSrc":"208075:16:21","nodeType":"YulFunctionCall","src":"208075:16:21"},"nativeSrc":"208075:16:21","nodeType":"YulExpressionStatement","src":"208075:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208111:4:21","nodeType":"YulLiteral","src":"208111:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"208117:2:21","nodeType":"YulIdentifier","src":"208117:2:21"}],"functionName":{"name":"mstore","nativeSrc":"208104:6:21","nodeType":"YulIdentifier","src":"208104:6:21"},"nativeSrc":"208104:16:21","nodeType":"YulFunctionCall","src":"208104:16:21"},"nativeSrc":"208104:16:21","nodeType":"YulExpressionStatement","src":"208104:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208140:4:21","nodeType":"YulLiteral","src":"208140:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"208146:2:21","nodeType":"YulIdentifier","src":"208146:2:21"}],"functionName":{"name":"mstore","nativeSrc":"208133:6:21","nodeType":"YulIdentifier","src":"208133:6:21"},"nativeSrc":"208133:16:21","nodeType":"YulFunctionCall","src":"208133:16:21"},"nativeSrc":"208133:16:21","nodeType":"YulExpressionStatement","src":"208133:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208169:4:21","nodeType":"YulLiteral","src":"208169:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"208175:2:21","nodeType":"YulIdentifier","src":"208175:2:21"}],"functionName":{"name":"mstore","nativeSrc":"208162:6:21","nodeType":"YulIdentifier","src":"208162:6:21"},"nativeSrc":"208162:16:21","nodeType":"YulFunctionCall","src":"208162:16:21"},"nativeSrc":"208162:16:21","nodeType":"YulExpressionStatement","src":"208162:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208198:4:21","nodeType":"YulLiteral","src":"208198:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"208204:2:21","nodeType":"YulIdentifier","src":"208204:2:21"}],"functionName":{"name":"mstore","nativeSrc":"208191:6:21","nodeType":"YulIdentifier","src":"208191:6:21"},"nativeSrc":"208191:16:21","nodeType":"YulFunctionCall","src":"208191:16:21"},"nativeSrc":"208191:16:21","nodeType":"YulExpressionStatement","src":"208191:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33524,"isOffset":false,"isSlot":false,"src":"208088:2:21","valueSize":1},{"declaration":33527,"isOffset":false,"isSlot":false,"src":"208117:2:21","valueSize":1},{"declaration":33530,"isOffset":false,"isSlot":false,"src":"208146:2:21","valueSize":1},{"declaration":33533,"isOffset":false,"isSlot":false,"src":"208175:2:21","valueSize":1},{"declaration":33536,"isOffset":false,"isSlot":false,"src":"208204:2:21","valueSize":1}],"id":33544,"nodeType":"InlineAssembly","src":"208052:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"207360:3:21","parameters":{"id":33521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33514,"mutability":"mutable","name":"p0","nameLocation":"207369:2:21","nodeType":"VariableDeclaration","scope":33546,"src":"207364:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33513,"name":"bool","nodeType":"ElementaryTypeName","src":"207364:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33516,"mutability":"mutable","name":"p1","nameLocation":"207381:2:21","nodeType":"VariableDeclaration","scope":33546,"src":"207373:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33515,"name":"uint256","nodeType":"ElementaryTypeName","src":"207373:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33518,"mutability":"mutable","name":"p2","nameLocation":"207393:2:21","nodeType":"VariableDeclaration","scope":33546,"src":"207385:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33517,"name":"address","nodeType":"ElementaryTypeName","src":"207385:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33520,"mutability":"mutable","name":"p3","nameLocation":"207405:2:21","nodeType":"VariableDeclaration","scope":33546,"src":"207397:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33519,"name":"uint256","nodeType":"ElementaryTypeName","src":"207397:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"207363:45:21"},"returnParameters":{"id":33522,"nodeType":"ParameterList","parameters":[],"src":"207423:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33586,"nodeType":"FunctionDefinition","src":"208229:1420:21","nodes":[],"body":{"id":33585,"nodeType":"Block","src":"208301:1348:21","nodes":[],"statements":[{"assignments":[33558],"declarations":[{"constant":false,"id":33558,"mutability":"mutable","name":"m0","nameLocation":"208319:2:21","nodeType":"VariableDeclaration","scope":33585,"src":"208311:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208311:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33559,"nodeType":"VariableDeclarationStatement","src":"208311:10:21"},{"assignments":[33561],"declarations":[{"constant":false,"id":33561,"mutability":"mutable","name":"m1","nameLocation":"208339:2:21","nodeType":"VariableDeclaration","scope":33585,"src":"208331:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208331:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33562,"nodeType":"VariableDeclarationStatement","src":"208331:10:21"},{"assignments":[33564],"declarations":[{"constant":false,"id":33564,"mutability":"mutable","name":"m2","nameLocation":"208359:2:21","nodeType":"VariableDeclaration","scope":33585,"src":"208351:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208351:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33565,"nodeType":"VariableDeclarationStatement","src":"208351:10:21"},{"assignments":[33567],"declarations":[{"constant":false,"id":33567,"mutability":"mutable","name":"m3","nameLocation":"208379:2:21","nodeType":"VariableDeclaration","scope":33585,"src":"208371:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208371:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33568,"nodeType":"VariableDeclarationStatement","src":"208371:10:21"},{"assignments":[33570],"declarations":[{"constant":false,"id":33570,"mutability":"mutable","name":"m4","nameLocation":"208399:2:21","nodeType":"VariableDeclaration","scope":33585,"src":"208391:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208391:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33571,"nodeType":"VariableDeclarationStatement","src":"208391:10:21"},{"assignments":[33573],"declarations":[{"constant":false,"id":33573,"mutability":"mutable","name":"m5","nameLocation":"208419:2:21","nodeType":"VariableDeclaration","scope":33585,"src":"208411:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208411:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33574,"nodeType":"VariableDeclarationStatement","src":"208411:10:21"},{"assignments":[33576],"declarations":[{"constant":false,"id":33576,"mutability":"mutable","name":"m6","nameLocation":"208439:2:21","nodeType":"VariableDeclaration","scope":33585,"src":"208431:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208431:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33577,"nodeType":"VariableDeclarationStatement","src":"208431:10:21"},{"AST":{"nativeSrc":"208503:828:21","nodeType":"YulBlock","src":"208503:828:21","statements":[{"body":{"nativeSrc":"208546:313:21","nodeType":"YulBlock","src":"208546:313:21","statements":[{"nativeSrc":"208564:15:21","nodeType":"YulVariableDeclaration","src":"208564:15:21","value":{"kind":"number","nativeSrc":"208578:1:21","nodeType":"YulLiteral","src":"208578:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"208568:6:21","nodeType":"YulTypedName","src":"208568:6:21","type":""}]},{"body":{"nativeSrc":"208649:40:21","nodeType":"YulBlock","src":"208649:40:21","statements":[{"body":{"nativeSrc":"208678:9:21","nodeType":"YulBlock","src":"208678:9:21","statements":[{"nativeSrc":"208680:5:21","nodeType":"YulBreak","src":"208680:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"208666:6:21","nodeType":"YulIdentifier","src":"208666:6:21"},{"name":"w","nativeSrc":"208674:1:21","nodeType":"YulIdentifier","src":"208674:1:21"}],"functionName":{"name":"byte","nativeSrc":"208661:4:21","nodeType":"YulIdentifier","src":"208661:4:21"},"nativeSrc":"208661:15:21","nodeType":"YulFunctionCall","src":"208661:15:21"}],"functionName":{"name":"iszero","nativeSrc":"208654:6:21","nodeType":"YulIdentifier","src":"208654:6:21"},"nativeSrc":"208654:23:21","nodeType":"YulFunctionCall","src":"208654:23:21"},"nativeSrc":"208651:36:21","nodeType":"YulIf","src":"208651:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"208606:6:21","nodeType":"YulIdentifier","src":"208606:6:21"},{"kind":"number","nativeSrc":"208614:4:21","nodeType":"YulLiteral","src":"208614:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"208603:2:21","nodeType":"YulIdentifier","src":"208603:2:21"},"nativeSrc":"208603:16:21","nodeType":"YulFunctionCall","src":"208603:16:21"},"nativeSrc":"208596:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"208620:28:21","nodeType":"YulBlock","src":"208620:28:21","statements":[{"nativeSrc":"208622:24:21","nodeType":"YulAssignment","src":"208622:24:21","value":{"arguments":[{"name":"length","nativeSrc":"208636:6:21","nodeType":"YulIdentifier","src":"208636:6:21"},{"kind":"number","nativeSrc":"208644:1:21","nodeType":"YulLiteral","src":"208644:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"208632:3:21","nodeType":"YulIdentifier","src":"208632:3:21"},"nativeSrc":"208632:14:21","nodeType":"YulFunctionCall","src":"208632:14:21"},"variableNames":[{"name":"length","nativeSrc":"208622:6:21","nodeType":"YulIdentifier","src":"208622:6:21"}]}]},"pre":{"nativeSrc":"208600:2:21","nodeType":"YulBlock","src":"208600:2:21","statements":[]},"src":"208596:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"208713:3:21","nodeType":"YulIdentifier","src":"208713:3:21"},{"name":"length","nativeSrc":"208718:6:21","nodeType":"YulIdentifier","src":"208718:6:21"}],"functionName":{"name":"mstore","nativeSrc":"208706:6:21","nodeType":"YulIdentifier","src":"208706:6:21"},"nativeSrc":"208706:19:21","nodeType":"YulFunctionCall","src":"208706:19:21"},"nativeSrc":"208706:19:21","nodeType":"YulExpressionStatement","src":"208706:19:21"},{"nativeSrc":"208742:37:21","nodeType":"YulVariableDeclaration","src":"208742:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"208759:3:21","nodeType":"YulLiteral","src":"208759:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"208768:1:21","nodeType":"YulLiteral","src":"208768:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"208771:6:21","nodeType":"YulIdentifier","src":"208771:6:21"}],"functionName":{"name":"shl","nativeSrc":"208764:3:21","nodeType":"YulIdentifier","src":"208764:3:21"},"nativeSrc":"208764:14:21","nodeType":"YulFunctionCall","src":"208764:14:21"}],"functionName":{"name":"sub","nativeSrc":"208755:3:21","nodeType":"YulIdentifier","src":"208755:3:21"},"nativeSrc":"208755:24:21","nodeType":"YulFunctionCall","src":"208755:24:21"},"variables":[{"name":"shift","nativeSrc":"208746:5:21","nodeType":"YulTypedName","src":"208746:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"208807:3:21","nodeType":"YulIdentifier","src":"208807:3:21"},{"kind":"number","nativeSrc":"208812:4:21","nodeType":"YulLiteral","src":"208812:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"208803:3:21","nodeType":"YulIdentifier","src":"208803:3:21"},"nativeSrc":"208803:14:21","nodeType":"YulFunctionCall","src":"208803:14:21"},{"arguments":[{"name":"shift","nativeSrc":"208823:5:21","nodeType":"YulIdentifier","src":"208823:5:21"},{"arguments":[{"name":"shift","nativeSrc":"208834:5:21","nodeType":"YulIdentifier","src":"208834:5:21"},{"name":"w","nativeSrc":"208841:1:21","nodeType":"YulIdentifier","src":"208841:1:21"}],"functionName":{"name":"shr","nativeSrc":"208830:3:21","nodeType":"YulIdentifier","src":"208830:3:21"},"nativeSrc":"208830:13:21","nodeType":"YulFunctionCall","src":"208830:13:21"}],"functionName":{"name":"shl","nativeSrc":"208819:3:21","nodeType":"YulIdentifier","src":"208819:3:21"},"nativeSrc":"208819:25:21","nodeType":"YulFunctionCall","src":"208819:25:21"}],"functionName":{"name":"mstore","nativeSrc":"208796:6:21","nodeType":"YulIdentifier","src":"208796:6:21"},"nativeSrc":"208796:49:21","nodeType":"YulFunctionCall","src":"208796:49:21"},"nativeSrc":"208796:49:21","nodeType":"YulExpressionStatement","src":"208796:49:21"}]},"name":"writeString","nativeSrc":"208517:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"208538:3:21","nodeType":"YulTypedName","src":"208538:3:21","type":""},{"name":"w","nativeSrc":"208543:1:21","nodeType":"YulTypedName","src":"208543:1:21","type":""}],"src":"208517:342:21"},{"nativeSrc":"208872:17:21","nodeType":"YulAssignment","src":"208872:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"208884:4:21","nodeType":"YulLiteral","src":"208884:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"208878:5:21","nodeType":"YulIdentifier","src":"208878:5:21"},"nativeSrc":"208878:11:21","nodeType":"YulFunctionCall","src":"208878:11:21"},"variableNames":[{"name":"m0","nativeSrc":"208872:2:21","nodeType":"YulIdentifier","src":"208872:2:21"}]},{"nativeSrc":"208902:17:21","nodeType":"YulAssignment","src":"208902:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"208914:4:21","nodeType":"YulLiteral","src":"208914:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"208908:5:21","nodeType":"YulIdentifier","src":"208908:5:21"},"nativeSrc":"208908:11:21","nodeType":"YulFunctionCall","src":"208908:11:21"},"variableNames":[{"name":"m1","nativeSrc":"208902:2:21","nodeType":"YulIdentifier","src":"208902:2:21"}]},{"nativeSrc":"208932:17:21","nodeType":"YulAssignment","src":"208932:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"208944:4:21","nodeType":"YulLiteral","src":"208944:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"208938:5:21","nodeType":"YulIdentifier","src":"208938:5:21"},"nativeSrc":"208938:11:21","nodeType":"YulFunctionCall","src":"208938:11:21"},"variableNames":[{"name":"m2","nativeSrc":"208932:2:21","nodeType":"YulIdentifier","src":"208932:2:21"}]},{"nativeSrc":"208962:17:21","nodeType":"YulAssignment","src":"208962:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"208974:4:21","nodeType":"YulLiteral","src":"208974:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"208968:5:21","nodeType":"YulIdentifier","src":"208968:5:21"},"nativeSrc":"208968:11:21","nodeType":"YulFunctionCall","src":"208968:11:21"},"variableNames":[{"name":"m3","nativeSrc":"208962:2:21","nodeType":"YulIdentifier","src":"208962:2:21"}]},{"nativeSrc":"208992:17:21","nodeType":"YulAssignment","src":"208992:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"209004:4:21","nodeType":"YulLiteral","src":"209004:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"208998:5:21","nodeType":"YulIdentifier","src":"208998:5:21"},"nativeSrc":"208998:11:21","nodeType":"YulFunctionCall","src":"208998:11:21"},"variableNames":[{"name":"m4","nativeSrc":"208992:2:21","nodeType":"YulIdentifier","src":"208992:2:21"}]},{"nativeSrc":"209022:17:21","nodeType":"YulAssignment","src":"209022:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"209034:4:21","nodeType":"YulLiteral","src":"209034:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"209028:5:21","nodeType":"YulIdentifier","src":"209028:5:21"},"nativeSrc":"209028:11:21","nodeType":"YulFunctionCall","src":"209028:11:21"},"variableNames":[{"name":"m5","nativeSrc":"209022:2:21","nodeType":"YulIdentifier","src":"209022:2:21"}]},{"nativeSrc":"209052:17:21","nodeType":"YulAssignment","src":"209052:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"209064:4:21","nodeType":"YulLiteral","src":"209064:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"209058:5:21","nodeType":"YulIdentifier","src":"209058:5:21"},"nativeSrc":"209058:11:21","nodeType":"YulFunctionCall","src":"209058:11:21"},"variableNames":[{"name":"m6","nativeSrc":"209052:2:21","nodeType":"YulIdentifier","src":"209052:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209152:4:21","nodeType":"YulLiteral","src":"209152:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"209158:10:21","nodeType":"YulLiteral","src":"209158:10:21","type":"","value":"0x1bb3b09a"}],"functionName":{"name":"mstore","nativeSrc":"209145:6:21","nodeType":"YulIdentifier","src":"209145:6:21"},"nativeSrc":"209145:24:21","nodeType":"YulFunctionCall","src":"209145:24:21"},"nativeSrc":"209145:24:21","nodeType":"YulExpressionStatement","src":"209145:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209189:4:21","nodeType":"YulLiteral","src":"209189:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"209195:2:21","nodeType":"YulIdentifier","src":"209195:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209182:6:21","nodeType":"YulIdentifier","src":"209182:6:21"},"nativeSrc":"209182:16:21","nodeType":"YulFunctionCall","src":"209182:16:21"},"nativeSrc":"209182:16:21","nodeType":"YulExpressionStatement","src":"209182:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209218:4:21","nodeType":"YulLiteral","src":"209218:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"209224:2:21","nodeType":"YulIdentifier","src":"209224:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209211:6:21","nodeType":"YulIdentifier","src":"209211:6:21"},"nativeSrc":"209211:16:21","nodeType":"YulFunctionCall","src":"209211:16:21"},"nativeSrc":"209211:16:21","nodeType":"YulExpressionStatement","src":"209211:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209247:4:21","nodeType":"YulLiteral","src":"209247:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"209253:2:21","nodeType":"YulIdentifier","src":"209253:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209240:6:21","nodeType":"YulIdentifier","src":"209240:6:21"},"nativeSrc":"209240:16:21","nodeType":"YulFunctionCall","src":"209240:16:21"},"nativeSrc":"209240:16:21","nodeType":"YulExpressionStatement","src":"209240:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209276:4:21","nodeType":"YulLiteral","src":"209276:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"209282:4:21","nodeType":"YulLiteral","src":"209282:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"209269:6:21","nodeType":"YulIdentifier","src":"209269:6:21"},"nativeSrc":"209269:18:21","nodeType":"YulFunctionCall","src":"209269:18:21"},"nativeSrc":"209269:18:21","nodeType":"YulExpressionStatement","src":"209269:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209312:4:21","nodeType":"YulLiteral","src":"209312:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"209318:2:21","nodeType":"YulIdentifier","src":"209318:2:21"}],"functionName":{"name":"writeString","nativeSrc":"209300:11:21","nodeType":"YulIdentifier","src":"209300:11:21"},"nativeSrc":"209300:21:21","nodeType":"YulFunctionCall","src":"209300:21:21"},"nativeSrc":"209300:21:21","nodeType":"YulExpressionStatement","src":"209300:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33558,"isOffset":false,"isSlot":false,"src":"208872:2:21","valueSize":1},{"declaration":33561,"isOffset":false,"isSlot":false,"src":"208902:2:21","valueSize":1},{"declaration":33564,"isOffset":false,"isSlot":false,"src":"208932:2:21","valueSize":1},{"declaration":33567,"isOffset":false,"isSlot":false,"src":"208962:2:21","valueSize":1},{"declaration":33570,"isOffset":false,"isSlot":false,"src":"208992:2:21","valueSize":1},{"declaration":33573,"isOffset":false,"isSlot":false,"src":"209022:2:21","valueSize":1},{"declaration":33576,"isOffset":false,"isSlot":false,"src":"209052:2:21","valueSize":1},{"declaration":33548,"isOffset":false,"isSlot":false,"src":"209195:2:21","valueSize":1},{"declaration":33550,"isOffset":false,"isSlot":false,"src":"209224:2:21","valueSize":1},{"declaration":33552,"isOffset":false,"isSlot":false,"src":"209253:2:21","valueSize":1},{"declaration":33554,"isOffset":false,"isSlot":false,"src":"209318:2:21","valueSize":1}],"id":33578,"nodeType":"InlineAssembly","src":"208494:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"209356:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"209362:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33579,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"209340:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"209340:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33583,"nodeType":"ExpressionStatement","src":"209340:27:21"},{"AST":{"nativeSrc":"209429:214:21","nodeType":"YulBlock","src":"209429:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"209450:4:21","nodeType":"YulLiteral","src":"209450:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"209456:2:21","nodeType":"YulIdentifier","src":"209456:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209443:6:21","nodeType":"YulIdentifier","src":"209443:6:21"},"nativeSrc":"209443:16:21","nodeType":"YulFunctionCall","src":"209443:16:21"},"nativeSrc":"209443:16:21","nodeType":"YulExpressionStatement","src":"209443:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209479:4:21","nodeType":"YulLiteral","src":"209479:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"209485:2:21","nodeType":"YulIdentifier","src":"209485:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209472:6:21","nodeType":"YulIdentifier","src":"209472:6:21"},"nativeSrc":"209472:16:21","nodeType":"YulFunctionCall","src":"209472:16:21"},"nativeSrc":"209472:16:21","nodeType":"YulExpressionStatement","src":"209472:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209508:4:21","nodeType":"YulLiteral","src":"209508:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"209514:2:21","nodeType":"YulIdentifier","src":"209514:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209501:6:21","nodeType":"YulIdentifier","src":"209501:6:21"},"nativeSrc":"209501:16:21","nodeType":"YulFunctionCall","src":"209501:16:21"},"nativeSrc":"209501:16:21","nodeType":"YulExpressionStatement","src":"209501:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209537:4:21","nodeType":"YulLiteral","src":"209537:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"209543:2:21","nodeType":"YulIdentifier","src":"209543:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209530:6:21","nodeType":"YulIdentifier","src":"209530:6:21"},"nativeSrc":"209530:16:21","nodeType":"YulFunctionCall","src":"209530:16:21"},"nativeSrc":"209530:16:21","nodeType":"YulExpressionStatement","src":"209530:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209566:4:21","nodeType":"YulLiteral","src":"209566:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"209572:2:21","nodeType":"YulIdentifier","src":"209572:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209559:6:21","nodeType":"YulIdentifier","src":"209559:6:21"},"nativeSrc":"209559:16:21","nodeType":"YulFunctionCall","src":"209559:16:21"},"nativeSrc":"209559:16:21","nodeType":"YulExpressionStatement","src":"209559:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209595:4:21","nodeType":"YulLiteral","src":"209595:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"209601:2:21","nodeType":"YulIdentifier","src":"209601:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209588:6:21","nodeType":"YulIdentifier","src":"209588:6:21"},"nativeSrc":"209588:16:21","nodeType":"YulFunctionCall","src":"209588:16:21"},"nativeSrc":"209588:16:21","nodeType":"YulExpressionStatement","src":"209588:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209624:4:21","nodeType":"YulLiteral","src":"209624:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"209630:2:21","nodeType":"YulIdentifier","src":"209630:2:21"}],"functionName":{"name":"mstore","nativeSrc":"209617:6:21","nodeType":"YulIdentifier","src":"209617:6:21"},"nativeSrc":"209617:16:21","nodeType":"YulFunctionCall","src":"209617:16:21"},"nativeSrc":"209617:16:21","nodeType":"YulExpressionStatement","src":"209617:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33558,"isOffset":false,"isSlot":false,"src":"209456:2:21","valueSize":1},{"declaration":33561,"isOffset":false,"isSlot":false,"src":"209485:2:21","valueSize":1},{"declaration":33564,"isOffset":false,"isSlot":false,"src":"209514:2:21","valueSize":1},{"declaration":33567,"isOffset":false,"isSlot":false,"src":"209543:2:21","valueSize":1},{"declaration":33570,"isOffset":false,"isSlot":false,"src":"209572:2:21","valueSize":1},{"declaration":33573,"isOffset":false,"isSlot":false,"src":"209601:2:21","valueSize":1},{"declaration":33576,"isOffset":false,"isSlot":false,"src":"209630:2:21","valueSize":1}],"id":33584,"nodeType":"InlineAssembly","src":"209420:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"208238:3:21","parameters":{"id":33555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33548,"mutability":"mutable","name":"p0","nameLocation":"208247:2:21","nodeType":"VariableDeclaration","scope":33586,"src":"208242:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33547,"name":"bool","nodeType":"ElementaryTypeName","src":"208242:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33550,"mutability":"mutable","name":"p1","nameLocation":"208259:2:21","nodeType":"VariableDeclaration","scope":33586,"src":"208251:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33549,"name":"uint256","nodeType":"ElementaryTypeName","src":"208251:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33552,"mutability":"mutable","name":"p2","nameLocation":"208271:2:21","nodeType":"VariableDeclaration","scope":33586,"src":"208263:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33551,"name":"address","nodeType":"ElementaryTypeName","src":"208263:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33554,"mutability":"mutable","name":"p3","nameLocation":"208283:2:21","nodeType":"VariableDeclaration","scope":33586,"src":"208275:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208275:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"208241:45:21"},"returnParameters":{"id":33556,"nodeType":"ParameterList","parameters":[],"src":"208301:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33620,"nodeType":"FunctionDefinition","src":"209655:866:21","nodes":[],"body":{"id":33619,"nodeType":"Block","src":"209724:797:21","nodes":[],"statements":[{"assignments":[33598],"declarations":[{"constant":false,"id":33598,"mutability":"mutable","name":"m0","nameLocation":"209742:2:21","nodeType":"VariableDeclaration","scope":33619,"src":"209734:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209734:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33599,"nodeType":"VariableDeclarationStatement","src":"209734:10:21"},{"assignments":[33601],"declarations":[{"constant":false,"id":33601,"mutability":"mutable","name":"m1","nameLocation":"209762:2:21","nodeType":"VariableDeclaration","scope":33619,"src":"209754:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209754:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33602,"nodeType":"VariableDeclarationStatement","src":"209754:10:21"},{"assignments":[33604],"declarations":[{"constant":false,"id":33604,"mutability":"mutable","name":"m2","nameLocation":"209782:2:21","nodeType":"VariableDeclaration","scope":33619,"src":"209774:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209774:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33605,"nodeType":"VariableDeclarationStatement","src":"209774:10:21"},{"assignments":[33607],"declarations":[{"constant":false,"id":33607,"mutability":"mutable","name":"m3","nameLocation":"209802:2:21","nodeType":"VariableDeclaration","scope":33619,"src":"209794:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209794:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33608,"nodeType":"VariableDeclarationStatement","src":"209794:10:21"},{"assignments":[33610],"declarations":[{"constant":false,"id":33610,"mutability":"mutable","name":"m4","nameLocation":"209822:2:21","nodeType":"VariableDeclaration","scope":33619,"src":"209814:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209814:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33611,"nodeType":"VariableDeclarationStatement","src":"209814:10:21"},{"AST":{"nativeSrc":"209886:375:21","nodeType":"YulBlock","src":"209886:375:21","statements":[{"nativeSrc":"209900:17:21","nodeType":"YulAssignment","src":"209900:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"209912:4:21","nodeType":"YulLiteral","src":"209912:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"209906:5:21","nodeType":"YulIdentifier","src":"209906:5:21"},"nativeSrc":"209906:11:21","nodeType":"YulFunctionCall","src":"209906:11:21"},"variableNames":[{"name":"m0","nativeSrc":"209900:2:21","nodeType":"YulIdentifier","src":"209900:2:21"}]},{"nativeSrc":"209930:17:21","nodeType":"YulAssignment","src":"209930:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"209942:4:21","nodeType":"YulLiteral","src":"209942:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"209936:5:21","nodeType":"YulIdentifier","src":"209936:5:21"},"nativeSrc":"209936:11:21","nodeType":"YulFunctionCall","src":"209936:11:21"},"variableNames":[{"name":"m1","nativeSrc":"209930:2:21","nodeType":"YulIdentifier","src":"209930:2:21"}]},{"nativeSrc":"209960:17:21","nodeType":"YulAssignment","src":"209960:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"209972:4:21","nodeType":"YulLiteral","src":"209972:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"209966:5:21","nodeType":"YulIdentifier","src":"209966:5:21"},"nativeSrc":"209966:11:21","nodeType":"YulFunctionCall","src":"209966:11:21"},"variableNames":[{"name":"m2","nativeSrc":"209960:2:21","nodeType":"YulIdentifier","src":"209960:2:21"}]},{"nativeSrc":"209990:17:21","nodeType":"YulAssignment","src":"209990:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"210002:4:21","nodeType":"YulLiteral","src":"210002:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"209996:5:21","nodeType":"YulIdentifier","src":"209996:5:21"},"nativeSrc":"209996:11:21","nodeType":"YulFunctionCall","src":"209996:11:21"},"variableNames":[{"name":"m3","nativeSrc":"209990:2:21","nodeType":"YulIdentifier","src":"209990:2:21"}]},{"nativeSrc":"210020:17:21","nodeType":"YulAssignment","src":"210020:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"210032:4:21","nodeType":"YulLiteral","src":"210032:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"210026:5:21","nodeType":"YulIdentifier","src":"210026:5:21"},"nativeSrc":"210026:11:21","nodeType":"YulFunctionCall","src":"210026:11:21"},"variableNames":[{"name":"m4","nativeSrc":"210020:2:21","nodeType":"YulIdentifier","src":"210020:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210118:4:21","nodeType":"YulLiteral","src":"210118:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"210124:10:21","nodeType":"YulLiteral","src":"210124:10:21","type":"","value":"0x9acd3616"}],"functionName":{"name":"mstore","nativeSrc":"210111:6:21","nodeType":"YulIdentifier","src":"210111:6:21"},"nativeSrc":"210111:24:21","nodeType":"YulFunctionCall","src":"210111:24:21"},"nativeSrc":"210111:24:21","nodeType":"YulExpressionStatement","src":"210111:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210155:4:21","nodeType":"YulLiteral","src":"210155:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"210161:2:21","nodeType":"YulIdentifier","src":"210161:2:21"}],"functionName":{"name":"mstore","nativeSrc":"210148:6:21","nodeType":"YulIdentifier","src":"210148:6:21"},"nativeSrc":"210148:16:21","nodeType":"YulFunctionCall","src":"210148:16:21"},"nativeSrc":"210148:16:21","nodeType":"YulExpressionStatement","src":"210148:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210184:4:21","nodeType":"YulLiteral","src":"210184:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"210190:2:21","nodeType":"YulIdentifier","src":"210190:2:21"}],"functionName":{"name":"mstore","nativeSrc":"210177:6:21","nodeType":"YulIdentifier","src":"210177:6:21"},"nativeSrc":"210177:16:21","nodeType":"YulFunctionCall","src":"210177:16:21"},"nativeSrc":"210177:16:21","nodeType":"YulExpressionStatement","src":"210177:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210213:4:21","nodeType":"YulLiteral","src":"210213:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"210219:2:21","nodeType":"YulIdentifier","src":"210219:2:21"}],"functionName":{"name":"mstore","nativeSrc":"210206:6:21","nodeType":"YulIdentifier","src":"210206:6:21"},"nativeSrc":"210206:16:21","nodeType":"YulFunctionCall","src":"210206:16:21"},"nativeSrc":"210206:16:21","nodeType":"YulExpressionStatement","src":"210206:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210242:4:21","nodeType":"YulLiteral","src":"210242:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"210248:2:21","nodeType":"YulIdentifier","src":"210248:2:21"}],"functionName":{"name":"mstore","nativeSrc":"210235:6:21","nodeType":"YulIdentifier","src":"210235:6:21"},"nativeSrc":"210235:16:21","nodeType":"YulFunctionCall","src":"210235:16:21"},"nativeSrc":"210235:16:21","nodeType":"YulExpressionStatement","src":"210235:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33598,"isOffset":false,"isSlot":false,"src":"209900:2:21","valueSize":1},{"declaration":33601,"isOffset":false,"isSlot":false,"src":"209930:2:21","valueSize":1},{"declaration":33604,"isOffset":false,"isSlot":false,"src":"209960:2:21","valueSize":1},{"declaration":33607,"isOffset":false,"isSlot":false,"src":"209990:2:21","valueSize":1},{"declaration":33610,"isOffset":false,"isSlot":false,"src":"210020:2:21","valueSize":1},{"declaration":33588,"isOffset":false,"isSlot":false,"src":"210161:2:21","valueSize":1},{"declaration":33590,"isOffset":false,"isSlot":false,"src":"210190:2:21","valueSize":1},{"declaration":33592,"isOffset":false,"isSlot":false,"src":"210219:2:21","valueSize":1},{"declaration":33594,"isOffset":false,"isSlot":false,"src":"210248:2:21","valueSize":1}],"id":33612,"nodeType":"InlineAssembly","src":"209877:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"210286:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"210292:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33613,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"210270:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"210270:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33617,"nodeType":"ExpressionStatement","src":"210270:27:21"},{"AST":{"nativeSrc":"210359:156:21","nodeType":"YulBlock","src":"210359:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"210380:4:21","nodeType":"YulLiteral","src":"210380:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"210386:2:21","nodeType":"YulIdentifier","src":"210386:2:21"}],"functionName":{"name":"mstore","nativeSrc":"210373:6:21","nodeType":"YulIdentifier","src":"210373:6:21"},"nativeSrc":"210373:16:21","nodeType":"YulFunctionCall","src":"210373:16:21"},"nativeSrc":"210373:16:21","nodeType":"YulExpressionStatement","src":"210373:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210409:4:21","nodeType":"YulLiteral","src":"210409:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"210415:2:21","nodeType":"YulIdentifier","src":"210415:2:21"}],"functionName":{"name":"mstore","nativeSrc":"210402:6:21","nodeType":"YulIdentifier","src":"210402:6:21"},"nativeSrc":"210402:16:21","nodeType":"YulFunctionCall","src":"210402:16:21"},"nativeSrc":"210402:16:21","nodeType":"YulExpressionStatement","src":"210402:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210438:4:21","nodeType":"YulLiteral","src":"210438:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"210444:2:21","nodeType":"YulIdentifier","src":"210444:2:21"}],"functionName":{"name":"mstore","nativeSrc":"210431:6:21","nodeType":"YulIdentifier","src":"210431:6:21"},"nativeSrc":"210431:16:21","nodeType":"YulFunctionCall","src":"210431:16:21"},"nativeSrc":"210431:16:21","nodeType":"YulExpressionStatement","src":"210431:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210467:4:21","nodeType":"YulLiteral","src":"210467:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"210473:2:21","nodeType":"YulIdentifier","src":"210473:2:21"}],"functionName":{"name":"mstore","nativeSrc":"210460:6:21","nodeType":"YulIdentifier","src":"210460:6:21"},"nativeSrc":"210460:16:21","nodeType":"YulFunctionCall","src":"210460:16:21"},"nativeSrc":"210460:16:21","nodeType":"YulExpressionStatement","src":"210460:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210496:4:21","nodeType":"YulLiteral","src":"210496:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"210502:2:21","nodeType":"YulIdentifier","src":"210502:2:21"}],"functionName":{"name":"mstore","nativeSrc":"210489:6:21","nodeType":"YulIdentifier","src":"210489:6:21"},"nativeSrc":"210489:16:21","nodeType":"YulFunctionCall","src":"210489:16:21"},"nativeSrc":"210489:16:21","nodeType":"YulExpressionStatement","src":"210489:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33598,"isOffset":false,"isSlot":false,"src":"210386:2:21","valueSize":1},{"declaration":33601,"isOffset":false,"isSlot":false,"src":"210415:2:21","valueSize":1},{"declaration":33604,"isOffset":false,"isSlot":false,"src":"210444:2:21","valueSize":1},{"declaration":33607,"isOffset":false,"isSlot":false,"src":"210473:2:21","valueSize":1},{"declaration":33610,"isOffset":false,"isSlot":false,"src":"210502:2:21","valueSize":1}],"id":33618,"nodeType":"InlineAssembly","src":"210350:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"209664:3:21","parameters":{"id":33595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33588,"mutability":"mutable","name":"p0","nameLocation":"209673:2:21","nodeType":"VariableDeclaration","scope":33620,"src":"209668:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33587,"name":"bool","nodeType":"ElementaryTypeName","src":"209668:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33590,"mutability":"mutable","name":"p1","nameLocation":"209685:2:21","nodeType":"VariableDeclaration","scope":33620,"src":"209677:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33589,"name":"uint256","nodeType":"ElementaryTypeName","src":"209677:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33592,"mutability":"mutable","name":"p2","nameLocation":"209694:2:21","nodeType":"VariableDeclaration","scope":33620,"src":"209689:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33591,"name":"bool","nodeType":"ElementaryTypeName","src":"209689:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33594,"mutability":"mutable","name":"p3","nameLocation":"209706:2:21","nodeType":"VariableDeclaration","scope":33620,"src":"209698:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33593,"name":"address","nodeType":"ElementaryTypeName","src":"209698:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"209667:42:21"},"returnParameters":{"id":33596,"nodeType":"ParameterList","parameters":[],"src":"209724:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33654,"nodeType":"FunctionDefinition","src":"210527:860:21","nodes":[],"body":{"id":33653,"nodeType":"Block","src":"210593:794:21","nodes":[],"statements":[{"assignments":[33632],"declarations":[{"constant":false,"id":33632,"mutability":"mutable","name":"m0","nameLocation":"210611:2:21","nodeType":"VariableDeclaration","scope":33653,"src":"210603:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210603:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33633,"nodeType":"VariableDeclarationStatement","src":"210603:10:21"},{"assignments":[33635],"declarations":[{"constant":false,"id":33635,"mutability":"mutable","name":"m1","nameLocation":"210631:2:21","nodeType":"VariableDeclaration","scope":33653,"src":"210623:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210623:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33636,"nodeType":"VariableDeclarationStatement","src":"210623:10:21"},{"assignments":[33638],"declarations":[{"constant":false,"id":33638,"mutability":"mutable","name":"m2","nameLocation":"210651:2:21","nodeType":"VariableDeclaration","scope":33653,"src":"210643:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210643:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33639,"nodeType":"VariableDeclarationStatement","src":"210643:10:21"},{"assignments":[33641],"declarations":[{"constant":false,"id":33641,"mutability":"mutable","name":"m3","nameLocation":"210671:2:21","nodeType":"VariableDeclaration","scope":33653,"src":"210663:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210663:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33642,"nodeType":"VariableDeclarationStatement","src":"210663:10:21"},{"assignments":[33644],"declarations":[{"constant":false,"id":33644,"mutability":"mutable","name":"m4","nameLocation":"210691:2:21","nodeType":"VariableDeclaration","scope":33653,"src":"210683:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210683:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33645,"nodeType":"VariableDeclarationStatement","src":"210683:10:21"},{"AST":{"nativeSrc":"210755:372:21","nodeType":"YulBlock","src":"210755:372:21","statements":[{"nativeSrc":"210769:17:21","nodeType":"YulAssignment","src":"210769:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"210781:4:21","nodeType":"YulLiteral","src":"210781:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"210775:5:21","nodeType":"YulIdentifier","src":"210775:5:21"},"nativeSrc":"210775:11:21","nodeType":"YulFunctionCall","src":"210775:11:21"},"variableNames":[{"name":"m0","nativeSrc":"210769:2:21","nodeType":"YulIdentifier","src":"210769:2:21"}]},{"nativeSrc":"210799:17:21","nodeType":"YulAssignment","src":"210799:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"210811:4:21","nodeType":"YulLiteral","src":"210811:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"210805:5:21","nodeType":"YulIdentifier","src":"210805:5:21"},"nativeSrc":"210805:11:21","nodeType":"YulFunctionCall","src":"210805:11:21"},"variableNames":[{"name":"m1","nativeSrc":"210799:2:21","nodeType":"YulIdentifier","src":"210799:2:21"}]},{"nativeSrc":"210829:17:21","nodeType":"YulAssignment","src":"210829:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"210841:4:21","nodeType":"YulLiteral","src":"210841:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"210835:5:21","nodeType":"YulIdentifier","src":"210835:5:21"},"nativeSrc":"210835:11:21","nodeType":"YulFunctionCall","src":"210835:11:21"},"variableNames":[{"name":"m2","nativeSrc":"210829:2:21","nodeType":"YulIdentifier","src":"210829:2:21"}]},{"nativeSrc":"210859:17:21","nodeType":"YulAssignment","src":"210859:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"210871:4:21","nodeType":"YulLiteral","src":"210871:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"210865:5:21","nodeType":"YulIdentifier","src":"210865:5:21"},"nativeSrc":"210865:11:21","nodeType":"YulFunctionCall","src":"210865:11:21"},"variableNames":[{"name":"m3","nativeSrc":"210859:2:21","nodeType":"YulIdentifier","src":"210859:2:21"}]},{"nativeSrc":"210889:17:21","nodeType":"YulAssignment","src":"210889:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"210901:4:21","nodeType":"YulLiteral","src":"210901:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"210895:5:21","nodeType":"YulIdentifier","src":"210895:5:21"},"nativeSrc":"210895:11:21","nodeType":"YulFunctionCall","src":"210895:11:21"},"variableNames":[{"name":"m4","nativeSrc":"210889:2:21","nodeType":"YulIdentifier","src":"210889:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210984:4:21","nodeType":"YulLiteral","src":"210984:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"210990:10:21","nodeType":"YulLiteral","src":"210990:10:21","type":"","value":"0xceb5f4d7"}],"functionName":{"name":"mstore","nativeSrc":"210977:6:21","nodeType":"YulIdentifier","src":"210977:6:21"},"nativeSrc":"210977:24:21","nodeType":"YulFunctionCall","src":"210977:24:21"},"nativeSrc":"210977:24:21","nodeType":"YulExpressionStatement","src":"210977:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211021:4:21","nodeType":"YulLiteral","src":"211021:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"211027:2:21","nodeType":"YulIdentifier","src":"211027:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211014:6:21","nodeType":"YulIdentifier","src":"211014:6:21"},"nativeSrc":"211014:16:21","nodeType":"YulFunctionCall","src":"211014:16:21"},"nativeSrc":"211014:16:21","nodeType":"YulExpressionStatement","src":"211014:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211050:4:21","nodeType":"YulLiteral","src":"211050:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"211056:2:21","nodeType":"YulIdentifier","src":"211056:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211043:6:21","nodeType":"YulIdentifier","src":"211043:6:21"},"nativeSrc":"211043:16:21","nodeType":"YulFunctionCall","src":"211043:16:21"},"nativeSrc":"211043:16:21","nodeType":"YulExpressionStatement","src":"211043:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211079:4:21","nodeType":"YulLiteral","src":"211079:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"211085:2:21","nodeType":"YulIdentifier","src":"211085:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211072:6:21","nodeType":"YulIdentifier","src":"211072:6:21"},"nativeSrc":"211072:16:21","nodeType":"YulFunctionCall","src":"211072:16:21"},"nativeSrc":"211072:16:21","nodeType":"YulExpressionStatement","src":"211072:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211108:4:21","nodeType":"YulLiteral","src":"211108:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"211114:2:21","nodeType":"YulIdentifier","src":"211114:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211101:6:21","nodeType":"YulIdentifier","src":"211101:6:21"},"nativeSrc":"211101:16:21","nodeType":"YulFunctionCall","src":"211101:16:21"},"nativeSrc":"211101:16:21","nodeType":"YulExpressionStatement","src":"211101:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33632,"isOffset":false,"isSlot":false,"src":"210769:2:21","valueSize":1},{"declaration":33635,"isOffset":false,"isSlot":false,"src":"210799:2:21","valueSize":1},{"declaration":33638,"isOffset":false,"isSlot":false,"src":"210829:2:21","valueSize":1},{"declaration":33641,"isOffset":false,"isSlot":false,"src":"210859:2:21","valueSize":1},{"declaration":33644,"isOffset":false,"isSlot":false,"src":"210889:2:21","valueSize":1},{"declaration":33622,"isOffset":false,"isSlot":false,"src":"211027:2:21","valueSize":1},{"declaration":33624,"isOffset":false,"isSlot":false,"src":"211056:2:21","valueSize":1},{"declaration":33626,"isOffset":false,"isSlot":false,"src":"211085:2:21","valueSize":1},{"declaration":33628,"isOffset":false,"isSlot":false,"src":"211114:2:21","valueSize":1}],"id":33646,"nodeType":"InlineAssembly","src":"210746:381:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"211152:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"211158:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33647,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"211136:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"211136:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33651,"nodeType":"ExpressionStatement","src":"211136:27:21"},{"AST":{"nativeSrc":"211225:156:21","nodeType":"YulBlock","src":"211225:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"211246:4:21","nodeType":"YulLiteral","src":"211246:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"211252:2:21","nodeType":"YulIdentifier","src":"211252:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211239:6:21","nodeType":"YulIdentifier","src":"211239:6:21"},"nativeSrc":"211239:16:21","nodeType":"YulFunctionCall","src":"211239:16:21"},"nativeSrc":"211239:16:21","nodeType":"YulExpressionStatement","src":"211239:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211275:4:21","nodeType":"YulLiteral","src":"211275:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"211281:2:21","nodeType":"YulIdentifier","src":"211281:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211268:6:21","nodeType":"YulIdentifier","src":"211268:6:21"},"nativeSrc":"211268:16:21","nodeType":"YulFunctionCall","src":"211268:16:21"},"nativeSrc":"211268:16:21","nodeType":"YulExpressionStatement","src":"211268:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211304:4:21","nodeType":"YulLiteral","src":"211304:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"211310:2:21","nodeType":"YulIdentifier","src":"211310:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211297:6:21","nodeType":"YulIdentifier","src":"211297:6:21"},"nativeSrc":"211297:16:21","nodeType":"YulFunctionCall","src":"211297:16:21"},"nativeSrc":"211297:16:21","nodeType":"YulExpressionStatement","src":"211297:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211333:4:21","nodeType":"YulLiteral","src":"211333:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"211339:2:21","nodeType":"YulIdentifier","src":"211339:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211326:6:21","nodeType":"YulIdentifier","src":"211326:6:21"},"nativeSrc":"211326:16:21","nodeType":"YulFunctionCall","src":"211326:16:21"},"nativeSrc":"211326:16:21","nodeType":"YulExpressionStatement","src":"211326:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211362:4:21","nodeType":"YulLiteral","src":"211362:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"211368:2:21","nodeType":"YulIdentifier","src":"211368:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211355:6:21","nodeType":"YulIdentifier","src":"211355:6:21"},"nativeSrc":"211355:16:21","nodeType":"YulFunctionCall","src":"211355:16:21"},"nativeSrc":"211355:16:21","nodeType":"YulExpressionStatement","src":"211355:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33632,"isOffset":false,"isSlot":false,"src":"211252:2:21","valueSize":1},{"declaration":33635,"isOffset":false,"isSlot":false,"src":"211281:2:21","valueSize":1},{"declaration":33638,"isOffset":false,"isSlot":false,"src":"211310:2:21","valueSize":1},{"declaration":33641,"isOffset":false,"isSlot":false,"src":"211339:2:21","valueSize":1},{"declaration":33644,"isOffset":false,"isSlot":false,"src":"211368:2:21","valueSize":1}],"id":33652,"nodeType":"InlineAssembly","src":"211216:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"210536:3:21","parameters":{"id":33629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33622,"mutability":"mutable","name":"p0","nameLocation":"210545:2:21","nodeType":"VariableDeclaration","scope":33654,"src":"210540:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33621,"name":"bool","nodeType":"ElementaryTypeName","src":"210540:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33624,"mutability":"mutable","name":"p1","nameLocation":"210557:2:21","nodeType":"VariableDeclaration","scope":33654,"src":"210549:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33623,"name":"uint256","nodeType":"ElementaryTypeName","src":"210549:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33626,"mutability":"mutable","name":"p2","nameLocation":"210566:2:21","nodeType":"VariableDeclaration","scope":33654,"src":"210561:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33625,"name":"bool","nodeType":"ElementaryTypeName","src":"210561:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33628,"mutability":"mutable","name":"p3","nameLocation":"210575:2:21","nodeType":"VariableDeclaration","scope":33654,"src":"210570:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33627,"name":"bool","nodeType":"ElementaryTypeName","src":"210570:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"210539:39:21"},"returnParameters":{"id":33630,"nodeType":"ParameterList","parameters":[],"src":"210593:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33688,"nodeType":"FunctionDefinition","src":"211393:866:21","nodes":[],"body":{"id":33687,"nodeType":"Block","src":"211462:797:21","nodes":[],"statements":[{"assignments":[33666],"declarations":[{"constant":false,"id":33666,"mutability":"mutable","name":"m0","nameLocation":"211480:2:21","nodeType":"VariableDeclaration","scope":33687,"src":"211472:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211472:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33667,"nodeType":"VariableDeclarationStatement","src":"211472:10:21"},{"assignments":[33669],"declarations":[{"constant":false,"id":33669,"mutability":"mutable","name":"m1","nameLocation":"211500:2:21","nodeType":"VariableDeclaration","scope":33687,"src":"211492:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33668,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211492:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33670,"nodeType":"VariableDeclarationStatement","src":"211492:10:21"},{"assignments":[33672],"declarations":[{"constant":false,"id":33672,"mutability":"mutable","name":"m2","nameLocation":"211520:2:21","nodeType":"VariableDeclaration","scope":33687,"src":"211512:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211512:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33673,"nodeType":"VariableDeclarationStatement","src":"211512:10:21"},{"assignments":[33675],"declarations":[{"constant":false,"id":33675,"mutability":"mutable","name":"m3","nameLocation":"211540:2:21","nodeType":"VariableDeclaration","scope":33687,"src":"211532:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211532:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33676,"nodeType":"VariableDeclarationStatement","src":"211532:10:21"},{"assignments":[33678],"declarations":[{"constant":false,"id":33678,"mutability":"mutable","name":"m4","nameLocation":"211560:2:21","nodeType":"VariableDeclaration","scope":33687,"src":"211552:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211552:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33679,"nodeType":"VariableDeclarationStatement","src":"211552:10:21"},{"AST":{"nativeSrc":"211624:375:21","nodeType":"YulBlock","src":"211624:375:21","statements":[{"nativeSrc":"211638:17:21","nodeType":"YulAssignment","src":"211638:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"211650:4:21","nodeType":"YulLiteral","src":"211650:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"211644:5:21","nodeType":"YulIdentifier","src":"211644:5:21"},"nativeSrc":"211644:11:21","nodeType":"YulFunctionCall","src":"211644:11:21"},"variableNames":[{"name":"m0","nativeSrc":"211638:2:21","nodeType":"YulIdentifier","src":"211638:2:21"}]},{"nativeSrc":"211668:17:21","nodeType":"YulAssignment","src":"211668:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"211680:4:21","nodeType":"YulLiteral","src":"211680:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"211674:5:21","nodeType":"YulIdentifier","src":"211674:5:21"},"nativeSrc":"211674:11:21","nodeType":"YulFunctionCall","src":"211674:11:21"},"variableNames":[{"name":"m1","nativeSrc":"211668:2:21","nodeType":"YulIdentifier","src":"211668:2:21"}]},{"nativeSrc":"211698:17:21","nodeType":"YulAssignment","src":"211698:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"211710:4:21","nodeType":"YulLiteral","src":"211710:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"211704:5:21","nodeType":"YulIdentifier","src":"211704:5:21"},"nativeSrc":"211704:11:21","nodeType":"YulFunctionCall","src":"211704:11:21"},"variableNames":[{"name":"m2","nativeSrc":"211698:2:21","nodeType":"YulIdentifier","src":"211698:2:21"}]},{"nativeSrc":"211728:17:21","nodeType":"YulAssignment","src":"211728:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"211740:4:21","nodeType":"YulLiteral","src":"211740:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"211734:5:21","nodeType":"YulIdentifier","src":"211734:5:21"},"nativeSrc":"211734:11:21","nodeType":"YulFunctionCall","src":"211734:11:21"},"variableNames":[{"name":"m3","nativeSrc":"211728:2:21","nodeType":"YulIdentifier","src":"211728:2:21"}]},{"nativeSrc":"211758:17:21","nodeType":"YulAssignment","src":"211758:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"211770:4:21","nodeType":"YulLiteral","src":"211770:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"211764:5:21","nodeType":"YulIdentifier","src":"211764:5:21"},"nativeSrc":"211764:11:21","nodeType":"YulFunctionCall","src":"211764:11:21"},"variableNames":[{"name":"m4","nativeSrc":"211758:2:21","nodeType":"YulIdentifier","src":"211758:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211856:4:21","nodeType":"YulLiteral","src":"211856:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"211862:10:21","nodeType":"YulLiteral","src":"211862:10:21","type":"","value":"0x7f9bbca2"}],"functionName":{"name":"mstore","nativeSrc":"211849:6:21","nodeType":"YulIdentifier","src":"211849:6:21"},"nativeSrc":"211849:24:21","nodeType":"YulFunctionCall","src":"211849:24:21"},"nativeSrc":"211849:24:21","nodeType":"YulExpressionStatement","src":"211849:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211893:4:21","nodeType":"YulLiteral","src":"211893:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"211899:2:21","nodeType":"YulIdentifier","src":"211899:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211886:6:21","nodeType":"YulIdentifier","src":"211886:6:21"},"nativeSrc":"211886:16:21","nodeType":"YulFunctionCall","src":"211886:16:21"},"nativeSrc":"211886:16:21","nodeType":"YulExpressionStatement","src":"211886:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211922:4:21","nodeType":"YulLiteral","src":"211922:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"211928:2:21","nodeType":"YulIdentifier","src":"211928:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211915:6:21","nodeType":"YulIdentifier","src":"211915:6:21"},"nativeSrc":"211915:16:21","nodeType":"YulFunctionCall","src":"211915:16:21"},"nativeSrc":"211915:16:21","nodeType":"YulExpressionStatement","src":"211915:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211951:4:21","nodeType":"YulLiteral","src":"211951:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"211957:2:21","nodeType":"YulIdentifier","src":"211957:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211944:6:21","nodeType":"YulIdentifier","src":"211944:6:21"},"nativeSrc":"211944:16:21","nodeType":"YulFunctionCall","src":"211944:16:21"},"nativeSrc":"211944:16:21","nodeType":"YulExpressionStatement","src":"211944:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211980:4:21","nodeType":"YulLiteral","src":"211980:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"211986:2:21","nodeType":"YulIdentifier","src":"211986:2:21"}],"functionName":{"name":"mstore","nativeSrc":"211973:6:21","nodeType":"YulIdentifier","src":"211973:6:21"},"nativeSrc":"211973:16:21","nodeType":"YulFunctionCall","src":"211973:16:21"},"nativeSrc":"211973:16:21","nodeType":"YulExpressionStatement","src":"211973:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33666,"isOffset":false,"isSlot":false,"src":"211638:2:21","valueSize":1},{"declaration":33669,"isOffset":false,"isSlot":false,"src":"211668:2:21","valueSize":1},{"declaration":33672,"isOffset":false,"isSlot":false,"src":"211698:2:21","valueSize":1},{"declaration":33675,"isOffset":false,"isSlot":false,"src":"211728:2:21","valueSize":1},{"declaration":33678,"isOffset":false,"isSlot":false,"src":"211758:2:21","valueSize":1},{"declaration":33656,"isOffset":false,"isSlot":false,"src":"211899:2:21","valueSize":1},{"declaration":33658,"isOffset":false,"isSlot":false,"src":"211928:2:21","valueSize":1},{"declaration":33660,"isOffset":false,"isSlot":false,"src":"211957:2:21","valueSize":1},{"declaration":33662,"isOffset":false,"isSlot":false,"src":"211986:2:21","valueSize":1}],"id":33680,"nodeType":"InlineAssembly","src":"211615:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"212024:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"212030:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33681,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"212008:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"212008:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33685,"nodeType":"ExpressionStatement","src":"212008:27:21"},{"AST":{"nativeSrc":"212097:156:21","nodeType":"YulBlock","src":"212097:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"212118:4:21","nodeType":"YulLiteral","src":"212118:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"212124:2:21","nodeType":"YulIdentifier","src":"212124:2:21"}],"functionName":{"name":"mstore","nativeSrc":"212111:6:21","nodeType":"YulIdentifier","src":"212111:6:21"},"nativeSrc":"212111:16:21","nodeType":"YulFunctionCall","src":"212111:16:21"},"nativeSrc":"212111:16:21","nodeType":"YulExpressionStatement","src":"212111:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212147:4:21","nodeType":"YulLiteral","src":"212147:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"212153:2:21","nodeType":"YulIdentifier","src":"212153:2:21"}],"functionName":{"name":"mstore","nativeSrc":"212140:6:21","nodeType":"YulIdentifier","src":"212140:6:21"},"nativeSrc":"212140:16:21","nodeType":"YulFunctionCall","src":"212140:16:21"},"nativeSrc":"212140:16:21","nodeType":"YulExpressionStatement","src":"212140:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212176:4:21","nodeType":"YulLiteral","src":"212176:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"212182:2:21","nodeType":"YulIdentifier","src":"212182:2:21"}],"functionName":{"name":"mstore","nativeSrc":"212169:6:21","nodeType":"YulIdentifier","src":"212169:6:21"},"nativeSrc":"212169:16:21","nodeType":"YulFunctionCall","src":"212169:16:21"},"nativeSrc":"212169:16:21","nodeType":"YulExpressionStatement","src":"212169:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212205:4:21","nodeType":"YulLiteral","src":"212205:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"212211:2:21","nodeType":"YulIdentifier","src":"212211:2:21"}],"functionName":{"name":"mstore","nativeSrc":"212198:6:21","nodeType":"YulIdentifier","src":"212198:6:21"},"nativeSrc":"212198:16:21","nodeType":"YulFunctionCall","src":"212198:16:21"},"nativeSrc":"212198:16:21","nodeType":"YulExpressionStatement","src":"212198:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212234:4:21","nodeType":"YulLiteral","src":"212234:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"212240:2:21","nodeType":"YulIdentifier","src":"212240:2:21"}],"functionName":{"name":"mstore","nativeSrc":"212227:6:21","nodeType":"YulIdentifier","src":"212227:6:21"},"nativeSrc":"212227:16:21","nodeType":"YulFunctionCall","src":"212227:16:21"},"nativeSrc":"212227:16:21","nodeType":"YulExpressionStatement","src":"212227:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33666,"isOffset":false,"isSlot":false,"src":"212124:2:21","valueSize":1},{"declaration":33669,"isOffset":false,"isSlot":false,"src":"212153:2:21","valueSize":1},{"declaration":33672,"isOffset":false,"isSlot":false,"src":"212182:2:21","valueSize":1},{"declaration":33675,"isOffset":false,"isSlot":false,"src":"212211:2:21","valueSize":1},{"declaration":33678,"isOffset":false,"isSlot":false,"src":"212240:2:21","valueSize":1}],"id":33686,"nodeType":"InlineAssembly","src":"212088:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"211402:3:21","parameters":{"id":33663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33656,"mutability":"mutable","name":"p0","nameLocation":"211411:2:21","nodeType":"VariableDeclaration","scope":33688,"src":"211406:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33655,"name":"bool","nodeType":"ElementaryTypeName","src":"211406:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33658,"mutability":"mutable","name":"p1","nameLocation":"211423:2:21","nodeType":"VariableDeclaration","scope":33688,"src":"211415:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33657,"name":"uint256","nodeType":"ElementaryTypeName","src":"211415:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33660,"mutability":"mutable","name":"p2","nameLocation":"211432:2:21","nodeType":"VariableDeclaration","scope":33688,"src":"211427:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33659,"name":"bool","nodeType":"ElementaryTypeName","src":"211427:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33662,"mutability":"mutable","name":"p3","nameLocation":"211444:2:21","nodeType":"VariableDeclaration","scope":33688,"src":"211436:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33661,"name":"uint256","nodeType":"ElementaryTypeName","src":"211436:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"211405:42:21"},"returnParameters":{"id":33664,"nodeType":"ParameterList","parameters":[],"src":"211462:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33728,"nodeType":"FunctionDefinition","src":"212265:1414:21","nodes":[],"body":{"id":33727,"nodeType":"Block","src":"212334:1345:21","nodes":[],"statements":[{"assignments":[33700],"declarations":[{"constant":false,"id":33700,"mutability":"mutable","name":"m0","nameLocation":"212352:2:21","nodeType":"VariableDeclaration","scope":33727,"src":"212344:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212344:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33701,"nodeType":"VariableDeclarationStatement","src":"212344:10:21"},{"assignments":[33703],"declarations":[{"constant":false,"id":33703,"mutability":"mutable","name":"m1","nameLocation":"212372:2:21","nodeType":"VariableDeclaration","scope":33727,"src":"212364:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212364:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33704,"nodeType":"VariableDeclarationStatement","src":"212364:10:21"},{"assignments":[33706],"declarations":[{"constant":false,"id":33706,"mutability":"mutable","name":"m2","nameLocation":"212392:2:21","nodeType":"VariableDeclaration","scope":33727,"src":"212384:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212384:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33707,"nodeType":"VariableDeclarationStatement","src":"212384:10:21"},{"assignments":[33709],"declarations":[{"constant":false,"id":33709,"mutability":"mutable","name":"m3","nameLocation":"212412:2:21","nodeType":"VariableDeclaration","scope":33727,"src":"212404:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33708,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212404:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33710,"nodeType":"VariableDeclarationStatement","src":"212404:10:21"},{"assignments":[33712],"declarations":[{"constant":false,"id":33712,"mutability":"mutable","name":"m4","nameLocation":"212432:2:21","nodeType":"VariableDeclaration","scope":33727,"src":"212424:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212424:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33713,"nodeType":"VariableDeclarationStatement","src":"212424:10:21"},{"assignments":[33715],"declarations":[{"constant":false,"id":33715,"mutability":"mutable","name":"m5","nameLocation":"212452:2:21","nodeType":"VariableDeclaration","scope":33727,"src":"212444:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212444:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33716,"nodeType":"VariableDeclarationStatement","src":"212444:10:21"},{"assignments":[33718],"declarations":[{"constant":false,"id":33718,"mutability":"mutable","name":"m6","nameLocation":"212472:2:21","nodeType":"VariableDeclaration","scope":33727,"src":"212464:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212464:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33719,"nodeType":"VariableDeclarationStatement","src":"212464:10:21"},{"AST":{"nativeSrc":"212536:825:21","nodeType":"YulBlock","src":"212536:825:21","statements":[{"body":{"nativeSrc":"212579:313:21","nodeType":"YulBlock","src":"212579:313:21","statements":[{"nativeSrc":"212597:15:21","nodeType":"YulVariableDeclaration","src":"212597:15:21","value":{"kind":"number","nativeSrc":"212611:1:21","nodeType":"YulLiteral","src":"212611:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"212601:6:21","nodeType":"YulTypedName","src":"212601:6:21","type":""}]},{"body":{"nativeSrc":"212682:40:21","nodeType":"YulBlock","src":"212682:40:21","statements":[{"body":{"nativeSrc":"212711:9:21","nodeType":"YulBlock","src":"212711:9:21","statements":[{"nativeSrc":"212713:5:21","nodeType":"YulBreak","src":"212713:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"212699:6:21","nodeType":"YulIdentifier","src":"212699:6:21"},{"name":"w","nativeSrc":"212707:1:21","nodeType":"YulIdentifier","src":"212707:1:21"}],"functionName":{"name":"byte","nativeSrc":"212694:4:21","nodeType":"YulIdentifier","src":"212694:4:21"},"nativeSrc":"212694:15:21","nodeType":"YulFunctionCall","src":"212694:15:21"}],"functionName":{"name":"iszero","nativeSrc":"212687:6:21","nodeType":"YulIdentifier","src":"212687:6:21"},"nativeSrc":"212687:23:21","nodeType":"YulFunctionCall","src":"212687:23:21"},"nativeSrc":"212684:36:21","nodeType":"YulIf","src":"212684:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"212639:6:21","nodeType":"YulIdentifier","src":"212639:6:21"},{"kind":"number","nativeSrc":"212647:4:21","nodeType":"YulLiteral","src":"212647:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"212636:2:21","nodeType":"YulIdentifier","src":"212636:2:21"},"nativeSrc":"212636:16:21","nodeType":"YulFunctionCall","src":"212636:16:21"},"nativeSrc":"212629:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"212653:28:21","nodeType":"YulBlock","src":"212653:28:21","statements":[{"nativeSrc":"212655:24:21","nodeType":"YulAssignment","src":"212655:24:21","value":{"arguments":[{"name":"length","nativeSrc":"212669:6:21","nodeType":"YulIdentifier","src":"212669:6:21"},{"kind":"number","nativeSrc":"212677:1:21","nodeType":"YulLiteral","src":"212677:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"212665:3:21","nodeType":"YulIdentifier","src":"212665:3:21"},"nativeSrc":"212665:14:21","nodeType":"YulFunctionCall","src":"212665:14:21"},"variableNames":[{"name":"length","nativeSrc":"212655:6:21","nodeType":"YulIdentifier","src":"212655:6:21"}]}]},"pre":{"nativeSrc":"212633:2:21","nodeType":"YulBlock","src":"212633:2:21","statements":[]},"src":"212629:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"212746:3:21","nodeType":"YulIdentifier","src":"212746:3:21"},{"name":"length","nativeSrc":"212751:6:21","nodeType":"YulIdentifier","src":"212751:6:21"}],"functionName":{"name":"mstore","nativeSrc":"212739:6:21","nodeType":"YulIdentifier","src":"212739:6:21"},"nativeSrc":"212739:19:21","nodeType":"YulFunctionCall","src":"212739:19:21"},"nativeSrc":"212739:19:21","nodeType":"YulExpressionStatement","src":"212739:19:21"},{"nativeSrc":"212775:37:21","nodeType":"YulVariableDeclaration","src":"212775:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"212792:3:21","nodeType":"YulLiteral","src":"212792:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"212801:1:21","nodeType":"YulLiteral","src":"212801:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"212804:6:21","nodeType":"YulIdentifier","src":"212804:6:21"}],"functionName":{"name":"shl","nativeSrc":"212797:3:21","nodeType":"YulIdentifier","src":"212797:3:21"},"nativeSrc":"212797:14:21","nodeType":"YulFunctionCall","src":"212797:14:21"}],"functionName":{"name":"sub","nativeSrc":"212788:3:21","nodeType":"YulIdentifier","src":"212788:3:21"},"nativeSrc":"212788:24:21","nodeType":"YulFunctionCall","src":"212788:24:21"},"variables":[{"name":"shift","nativeSrc":"212779:5:21","nodeType":"YulTypedName","src":"212779:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"212840:3:21","nodeType":"YulIdentifier","src":"212840:3:21"},{"kind":"number","nativeSrc":"212845:4:21","nodeType":"YulLiteral","src":"212845:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"212836:3:21","nodeType":"YulIdentifier","src":"212836:3:21"},"nativeSrc":"212836:14:21","nodeType":"YulFunctionCall","src":"212836:14:21"},{"arguments":[{"name":"shift","nativeSrc":"212856:5:21","nodeType":"YulIdentifier","src":"212856:5:21"},{"arguments":[{"name":"shift","nativeSrc":"212867:5:21","nodeType":"YulIdentifier","src":"212867:5:21"},{"name":"w","nativeSrc":"212874:1:21","nodeType":"YulIdentifier","src":"212874:1:21"}],"functionName":{"name":"shr","nativeSrc":"212863:3:21","nodeType":"YulIdentifier","src":"212863:3:21"},"nativeSrc":"212863:13:21","nodeType":"YulFunctionCall","src":"212863:13:21"}],"functionName":{"name":"shl","nativeSrc":"212852:3:21","nodeType":"YulIdentifier","src":"212852:3:21"},"nativeSrc":"212852:25:21","nodeType":"YulFunctionCall","src":"212852:25:21"}],"functionName":{"name":"mstore","nativeSrc":"212829:6:21","nodeType":"YulIdentifier","src":"212829:6:21"},"nativeSrc":"212829:49:21","nodeType":"YulFunctionCall","src":"212829:49:21"},"nativeSrc":"212829:49:21","nodeType":"YulExpressionStatement","src":"212829:49:21"}]},"name":"writeString","nativeSrc":"212550:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"212571:3:21","nodeType":"YulTypedName","src":"212571:3:21","type":""},{"name":"w","nativeSrc":"212576:1:21","nodeType":"YulTypedName","src":"212576:1:21","type":""}],"src":"212550:342:21"},{"nativeSrc":"212905:17:21","nodeType":"YulAssignment","src":"212905:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"212917:4:21","nodeType":"YulLiteral","src":"212917:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"212911:5:21","nodeType":"YulIdentifier","src":"212911:5:21"},"nativeSrc":"212911:11:21","nodeType":"YulFunctionCall","src":"212911:11:21"},"variableNames":[{"name":"m0","nativeSrc":"212905:2:21","nodeType":"YulIdentifier","src":"212905:2:21"}]},{"nativeSrc":"212935:17:21","nodeType":"YulAssignment","src":"212935:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"212947:4:21","nodeType":"YulLiteral","src":"212947:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"212941:5:21","nodeType":"YulIdentifier","src":"212941:5:21"},"nativeSrc":"212941:11:21","nodeType":"YulFunctionCall","src":"212941:11:21"},"variableNames":[{"name":"m1","nativeSrc":"212935:2:21","nodeType":"YulIdentifier","src":"212935:2:21"}]},{"nativeSrc":"212965:17:21","nodeType":"YulAssignment","src":"212965:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"212977:4:21","nodeType":"YulLiteral","src":"212977:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"212971:5:21","nodeType":"YulIdentifier","src":"212971:5:21"},"nativeSrc":"212971:11:21","nodeType":"YulFunctionCall","src":"212971:11:21"},"variableNames":[{"name":"m2","nativeSrc":"212965:2:21","nodeType":"YulIdentifier","src":"212965:2:21"}]},{"nativeSrc":"212995:17:21","nodeType":"YulAssignment","src":"212995:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"213007:4:21","nodeType":"YulLiteral","src":"213007:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"213001:5:21","nodeType":"YulIdentifier","src":"213001:5:21"},"nativeSrc":"213001:11:21","nodeType":"YulFunctionCall","src":"213001:11:21"},"variableNames":[{"name":"m3","nativeSrc":"212995:2:21","nodeType":"YulIdentifier","src":"212995:2:21"}]},{"nativeSrc":"213025:17:21","nodeType":"YulAssignment","src":"213025:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"213037:4:21","nodeType":"YulLiteral","src":"213037:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"213031:5:21","nodeType":"YulIdentifier","src":"213031:5:21"},"nativeSrc":"213031:11:21","nodeType":"YulFunctionCall","src":"213031:11:21"},"variableNames":[{"name":"m4","nativeSrc":"213025:2:21","nodeType":"YulIdentifier","src":"213025:2:21"}]},{"nativeSrc":"213055:17:21","nodeType":"YulAssignment","src":"213055:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"213067:4:21","nodeType":"YulLiteral","src":"213067:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"213061:5:21","nodeType":"YulIdentifier","src":"213061:5:21"},"nativeSrc":"213061:11:21","nodeType":"YulFunctionCall","src":"213061:11:21"},"variableNames":[{"name":"m5","nativeSrc":"213055:2:21","nodeType":"YulIdentifier","src":"213055:2:21"}]},{"nativeSrc":"213085:17:21","nodeType":"YulAssignment","src":"213085:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"213097:4:21","nodeType":"YulLiteral","src":"213097:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"213091:5:21","nodeType":"YulIdentifier","src":"213091:5:21"},"nativeSrc":"213091:11:21","nodeType":"YulFunctionCall","src":"213091:11:21"},"variableNames":[{"name":"m6","nativeSrc":"213085:2:21","nodeType":"YulIdentifier","src":"213085:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213182:4:21","nodeType":"YulLiteral","src":"213182:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"213188:10:21","nodeType":"YulLiteral","src":"213188:10:21","type":"","value":"0x9143dbb1"}],"functionName":{"name":"mstore","nativeSrc":"213175:6:21","nodeType":"YulIdentifier","src":"213175:6:21"},"nativeSrc":"213175:24:21","nodeType":"YulFunctionCall","src":"213175:24:21"},"nativeSrc":"213175:24:21","nodeType":"YulExpressionStatement","src":"213175:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213219:4:21","nodeType":"YulLiteral","src":"213219:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"213225:2:21","nodeType":"YulIdentifier","src":"213225:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213212:6:21","nodeType":"YulIdentifier","src":"213212:6:21"},"nativeSrc":"213212:16:21","nodeType":"YulFunctionCall","src":"213212:16:21"},"nativeSrc":"213212:16:21","nodeType":"YulExpressionStatement","src":"213212:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213248:4:21","nodeType":"YulLiteral","src":"213248:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"213254:2:21","nodeType":"YulIdentifier","src":"213254:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213241:6:21","nodeType":"YulIdentifier","src":"213241:6:21"},"nativeSrc":"213241:16:21","nodeType":"YulFunctionCall","src":"213241:16:21"},"nativeSrc":"213241:16:21","nodeType":"YulExpressionStatement","src":"213241:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213277:4:21","nodeType":"YulLiteral","src":"213277:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"213283:2:21","nodeType":"YulIdentifier","src":"213283:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213270:6:21","nodeType":"YulIdentifier","src":"213270:6:21"},"nativeSrc":"213270:16:21","nodeType":"YulFunctionCall","src":"213270:16:21"},"nativeSrc":"213270:16:21","nodeType":"YulExpressionStatement","src":"213270:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213306:4:21","nodeType":"YulLiteral","src":"213306:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"213312:4:21","nodeType":"YulLiteral","src":"213312:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"213299:6:21","nodeType":"YulIdentifier","src":"213299:6:21"},"nativeSrc":"213299:18:21","nodeType":"YulFunctionCall","src":"213299:18:21"},"nativeSrc":"213299:18:21","nodeType":"YulExpressionStatement","src":"213299:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213342:4:21","nodeType":"YulLiteral","src":"213342:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"213348:2:21","nodeType":"YulIdentifier","src":"213348:2:21"}],"functionName":{"name":"writeString","nativeSrc":"213330:11:21","nodeType":"YulIdentifier","src":"213330:11:21"},"nativeSrc":"213330:21:21","nodeType":"YulFunctionCall","src":"213330:21:21"},"nativeSrc":"213330:21:21","nodeType":"YulExpressionStatement","src":"213330:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33700,"isOffset":false,"isSlot":false,"src":"212905:2:21","valueSize":1},{"declaration":33703,"isOffset":false,"isSlot":false,"src":"212935:2:21","valueSize":1},{"declaration":33706,"isOffset":false,"isSlot":false,"src":"212965:2:21","valueSize":1},{"declaration":33709,"isOffset":false,"isSlot":false,"src":"212995:2:21","valueSize":1},{"declaration":33712,"isOffset":false,"isSlot":false,"src":"213025:2:21","valueSize":1},{"declaration":33715,"isOffset":false,"isSlot":false,"src":"213055:2:21","valueSize":1},{"declaration":33718,"isOffset":false,"isSlot":false,"src":"213085:2:21","valueSize":1},{"declaration":33690,"isOffset":false,"isSlot":false,"src":"213225:2:21","valueSize":1},{"declaration":33692,"isOffset":false,"isSlot":false,"src":"213254:2:21","valueSize":1},{"declaration":33694,"isOffset":false,"isSlot":false,"src":"213283:2:21","valueSize":1},{"declaration":33696,"isOffset":false,"isSlot":false,"src":"213348:2:21","valueSize":1}],"id":33720,"nodeType":"InlineAssembly","src":"212527:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"213386:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"213392:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33721,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"213370:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"213370:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33725,"nodeType":"ExpressionStatement","src":"213370:27:21"},{"AST":{"nativeSrc":"213459:214:21","nodeType":"YulBlock","src":"213459:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"213480:4:21","nodeType":"YulLiteral","src":"213480:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"213486:2:21","nodeType":"YulIdentifier","src":"213486:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213473:6:21","nodeType":"YulIdentifier","src":"213473:6:21"},"nativeSrc":"213473:16:21","nodeType":"YulFunctionCall","src":"213473:16:21"},"nativeSrc":"213473:16:21","nodeType":"YulExpressionStatement","src":"213473:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213509:4:21","nodeType":"YulLiteral","src":"213509:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"213515:2:21","nodeType":"YulIdentifier","src":"213515:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213502:6:21","nodeType":"YulIdentifier","src":"213502:6:21"},"nativeSrc":"213502:16:21","nodeType":"YulFunctionCall","src":"213502:16:21"},"nativeSrc":"213502:16:21","nodeType":"YulExpressionStatement","src":"213502:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213538:4:21","nodeType":"YulLiteral","src":"213538:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"213544:2:21","nodeType":"YulIdentifier","src":"213544:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213531:6:21","nodeType":"YulIdentifier","src":"213531:6:21"},"nativeSrc":"213531:16:21","nodeType":"YulFunctionCall","src":"213531:16:21"},"nativeSrc":"213531:16:21","nodeType":"YulExpressionStatement","src":"213531:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213567:4:21","nodeType":"YulLiteral","src":"213567:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"213573:2:21","nodeType":"YulIdentifier","src":"213573:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213560:6:21","nodeType":"YulIdentifier","src":"213560:6:21"},"nativeSrc":"213560:16:21","nodeType":"YulFunctionCall","src":"213560:16:21"},"nativeSrc":"213560:16:21","nodeType":"YulExpressionStatement","src":"213560:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213596:4:21","nodeType":"YulLiteral","src":"213596:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"213602:2:21","nodeType":"YulIdentifier","src":"213602:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213589:6:21","nodeType":"YulIdentifier","src":"213589:6:21"},"nativeSrc":"213589:16:21","nodeType":"YulFunctionCall","src":"213589:16:21"},"nativeSrc":"213589:16:21","nodeType":"YulExpressionStatement","src":"213589:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213625:4:21","nodeType":"YulLiteral","src":"213625:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"213631:2:21","nodeType":"YulIdentifier","src":"213631:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213618:6:21","nodeType":"YulIdentifier","src":"213618:6:21"},"nativeSrc":"213618:16:21","nodeType":"YulFunctionCall","src":"213618:16:21"},"nativeSrc":"213618:16:21","nodeType":"YulExpressionStatement","src":"213618:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213654:4:21","nodeType":"YulLiteral","src":"213654:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"213660:2:21","nodeType":"YulIdentifier","src":"213660:2:21"}],"functionName":{"name":"mstore","nativeSrc":"213647:6:21","nodeType":"YulIdentifier","src":"213647:6:21"},"nativeSrc":"213647:16:21","nodeType":"YulFunctionCall","src":"213647:16:21"},"nativeSrc":"213647:16:21","nodeType":"YulExpressionStatement","src":"213647:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33700,"isOffset":false,"isSlot":false,"src":"213486:2:21","valueSize":1},{"declaration":33703,"isOffset":false,"isSlot":false,"src":"213515:2:21","valueSize":1},{"declaration":33706,"isOffset":false,"isSlot":false,"src":"213544:2:21","valueSize":1},{"declaration":33709,"isOffset":false,"isSlot":false,"src":"213573:2:21","valueSize":1},{"declaration":33712,"isOffset":false,"isSlot":false,"src":"213602:2:21","valueSize":1},{"declaration":33715,"isOffset":false,"isSlot":false,"src":"213631:2:21","valueSize":1},{"declaration":33718,"isOffset":false,"isSlot":false,"src":"213660:2:21","valueSize":1}],"id":33726,"nodeType":"InlineAssembly","src":"213450:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"212274:3:21","parameters":{"id":33697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33690,"mutability":"mutable","name":"p0","nameLocation":"212283:2:21","nodeType":"VariableDeclaration","scope":33728,"src":"212278:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33689,"name":"bool","nodeType":"ElementaryTypeName","src":"212278:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33692,"mutability":"mutable","name":"p1","nameLocation":"212295:2:21","nodeType":"VariableDeclaration","scope":33728,"src":"212287:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33691,"name":"uint256","nodeType":"ElementaryTypeName","src":"212287:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33694,"mutability":"mutable","name":"p2","nameLocation":"212304:2:21","nodeType":"VariableDeclaration","scope":33728,"src":"212299:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33693,"name":"bool","nodeType":"ElementaryTypeName","src":"212299:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33696,"mutability":"mutable","name":"p3","nameLocation":"212316:2:21","nodeType":"VariableDeclaration","scope":33728,"src":"212308:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212308:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"212277:42:21"},"returnParameters":{"id":33698,"nodeType":"ParameterList","parameters":[],"src":"212334:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33762,"nodeType":"FunctionDefinition","src":"213685:872:21","nodes":[],"body":{"id":33761,"nodeType":"Block","src":"213757:800:21","nodes":[],"statements":[{"assignments":[33740],"declarations":[{"constant":false,"id":33740,"mutability":"mutable","name":"m0","nameLocation":"213775:2:21","nodeType":"VariableDeclaration","scope":33761,"src":"213767:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213767:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33741,"nodeType":"VariableDeclarationStatement","src":"213767:10:21"},{"assignments":[33743],"declarations":[{"constant":false,"id":33743,"mutability":"mutable","name":"m1","nameLocation":"213795:2:21","nodeType":"VariableDeclaration","scope":33761,"src":"213787:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213787:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33744,"nodeType":"VariableDeclarationStatement","src":"213787:10:21"},{"assignments":[33746],"declarations":[{"constant":false,"id":33746,"mutability":"mutable","name":"m2","nameLocation":"213815:2:21","nodeType":"VariableDeclaration","scope":33761,"src":"213807:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213807:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33747,"nodeType":"VariableDeclarationStatement","src":"213807:10:21"},{"assignments":[33749],"declarations":[{"constant":false,"id":33749,"mutability":"mutable","name":"m3","nameLocation":"213835:2:21","nodeType":"VariableDeclaration","scope":33761,"src":"213827:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213827:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33750,"nodeType":"VariableDeclarationStatement","src":"213827:10:21"},{"assignments":[33752],"declarations":[{"constant":false,"id":33752,"mutability":"mutable","name":"m4","nameLocation":"213855:2:21","nodeType":"VariableDeclaration","scope":33761,"src":"213847:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213847:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33753,"nodeType":"VariableDeclarationStatement","src":"213847:10:21"},{"AST":{"nativeSrc":"213919:378:21","nodeType":"YulBlock","src":"213919:378:21","statements":[{"nativeSrc":"213933:17:21","nodeType":"YulAssignment","src":"213933:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"213945:4:21","nodeType":"YulLiteral","src":"213945:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"213939:5:21","nodeType":"YulIdentifier","src":"213939:5:21"},"nativeSrc":"213939:11:21","nodeType":"YulFunctionCall","src":"213939:11:21"},"variableNames":[{"name":"m0","nativeSrc":"213933:2:21","nodeType":"YulIdentifier","src":"213933:2:21"}]},{"nativeSrc":"213963:17:21","nodeType":"YulAssignment","src":"213963:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"213975:4:21","nodeType":"YulLiteral","src":"213975:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"213969:5:21","nodeType":"YulIdentifier","src":"213969:5:21"},"nativeSrc":"213969:11:21","nodeType":"YulFunctionCall","src":"213969:11:21"},"variableNames":[{"name":"m1","nativeSrc":"213963:2:21","nodeType":"YulIdentifier","src":"213963:2:21"}]},{"nativeSrc":"213993:17:21","nodeType":"YulAssignment","src":"213993:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"214005:4:21","nodeType":"YulLiteral","src":"214005:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"213999:5:21","nodeType":"YulIdentifier","src":"213999:5:21"},"nativeSrc":"213999:11:21","nodeType":"YulFunctionCall","src":"213999:11:21"},"variableNames":[{"name":"m2","nativeSrc":"213993:2:21","nodeType":"YulIdentifier","src":"213993:2:21"}]},{"nativeSrc":"214023:17:21","nodeType":"YulAssignment","src":"214023:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"214035:4:21","nodeType":"YulLiteral","src":"214035:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"214029:5:21","nodeType":"YulIdentifier","src":"214029:5:21"},"nativeSrc":"214029:11:21","nodeType":"YulFunctionCall","src":"214029:11:21"},"variableNames":[{"name":"m3","nativeSrc":"214023:2:21","nodeType":"YulIdentifier","src":"214023:2:21"}]},{"nativeSrc":"214053:17:21","nodeType":"YulAssignment","src":"214053:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"214065:4:21","nodeType":"YulLiteral","src":"214065:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"214059:5:21","nodeType":"YulIdentifier","src":"214059:5:21"},"nativeSrc":"214059:11:21","nodeType":"YulFunctionCall","src":"214059:11:21"},"variableNames":[{"name":"m4","nativeSrc":"214053:2:21","nodeType":"YulIdentifier","src":"214053:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214154:4:21","nodeType":"YulLiteral","src":"214154:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"214160:10:21","nodeType":"YulLiteral","src":"214160:10:21","type":"","value":"0x00dd87b9"}],"functionName":{"name":"mstore","nativeSrc":"214147:6:21","nodeType":"YulIdentifier","src":"214147:6:21"},"nativeSrc":"214147:24:21","nodeType":"YulFunctionCall","src":"214147:24:21"},"nativeSrc":"214147:24:21","nodeType":"YulExpressionStatement","src":"214147:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214191:4:21","nodeType":"YulLiteral","src":"214191:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"214197:2:21","nodeType":"YulIdentifier","src":"214197:2:21"}],"functionName":{"name":"mstore","nativeSrc":"214184:6:21","nodeType":"YulIdentifier","src":"214184:6:21"},"nativeSrc":"214184:16:21","nodeType":"YulFunctionCall","src":"214184:16:21"},"nativeSrc":"214184:16:21","nodeType":"YulExpressionStatement","src":"214184:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214220:4:21","nodeType":"YulLiteral","src":"214220:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"214226:2:21","nodeType":"YulIdentifier","src":"214226:2:21"}],"functionName":{"name":"mstore","nativeSrc":"214213:6:21","nodeType":"YulIdentifier","src":"214213:6:21"},"nativeSrc":"214213:16:21","nodeType":"YulFunctionCall","src":"214213:16:21"},"nativeSrc":"214213:16:21","nodeType":"YulExpressionStatement","src":"214213:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214249:4:21","nodeType":"YulLiteral","src":"214249:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"214255:2:21","nodeType":"YulIdentifier","src":"214255:2:21"}],"functionName":{"name":"mstore","nativeSrc":"214242:6:21","nodeType":"YulIdentifier","src":"214242:6:21"},"nativeSrc":"214242:16:21","nodeType":"YulFunctionCall","src":"214242:16:21"},"nativeSrc":"214242:16:21","nodeType":"YulExpressionStatement","src":"214242:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214278:4:21","nodeType":"YulLiteral","src":"214278:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"214284:2:21","nodeType":"YulIdentifier","src":"214284:2:21"}],"functionName":{"name":"mstore","nativeSrc":"214271:6:21","nodeType":"YulIdentifier","src":"214271:6:21"},"nativeSrc":"214271:16:21","nodeType":"YulFunctionCall","src":"214271:16:21"},"nativeSrc":"214271:16:21","nodeType":"YulExpressionStatement","src":"214271:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33740,"isOffset":false,"isSlot":false,"src":"213933:2:21","valueSize":1},{"declaration":33743,"isOffset":false,"isSlot":false,"src":"213963:2:21","valueSize":1},{"declaration":33746,"isOffset":false,"isSlot":false,"src":"213993:2:21","valueSize":1},{"declaration":33749,"isOffset":false,"isSlot":false,"src":"214023:2:21","valueSize":1},{"declaration":33752,"isOffset":false,"isSlot":false,"src":"214053:2:21","valueSize":1},{"declaration":33730,"isOffset":false,"isSlot":false,"src":"214197:2:21","valueSize":1},{"declaration":33732,"isOffset":false,"isSlot":false,"src":"214226:2:21","valueSize":1},{"declaration":33734,"isOffset":false,"isSlot":false,"src":"214255:2:21","valueSize":1},{"declaration":33736,"isOffset":false,"isSlot":false,"src":"214284:2:21","valueSize":1}],"id":33754,"nodeType":"InlineAssembly","src":"213910:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"214322:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"214328:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33755,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"214306:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"214306:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33759,"nodeType":"ExpressionStatement","src":"214306:27:21"},{"AST":{"nativeSrc":"214395:156:21","nodeType":"YulBlock","src":"214395:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"214416:4:21","nodeType":"YulLiteral","src":"214416:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"214422:2:21","nodeType":"YulIdentifier","src":"214422:2:21"}],"functionName":{"name":"mstore","nativeSrc":"214409:6:21","nodeType":"YulIdentifier","src":"214409:6:21"},"nativeSrc":"214409:16:21","nodeType":"YulFunctionCall","src":"214409:16:21"},"nativeSrc":"214409:16:21","nodeType":"YulExpressionStatement","src":"214409:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214445:4:21","nodeType":"YulLiteral","src":"214445:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"214451:2:21","nodeType":"YulIdentifier","src":"214451:2:21"}],"functionName":{"name":"mstore","nativeSrc":"214438:6:21","nodeType":"YulIdentifier","src":"214438:6:21"},"nativeSrc":"214438:16:21","nodeType":"YulFunctionCall","src":"214438:16:21"},"nativeSrc":"214438:16:21","nodeType":"YulExpressionStatement","src":"214438:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214474:4:21","nodeType":"YulLiteral","src":"214474:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"214480:2:21","nodeType":"YulIdentifier","src":"214480:2:21"}],"functionName":{"name":"mstore","nativeSrc":"214467:6:21","nodeType":"YulIdentifier","src":"214467:6:21"},"nativeSrc":"214467:16:21","nodeType":"YulFunctionCall","src":"214467:16:21"},"nativeSrc":"214467:16:21","nodeType":"YulExpressionStatement","src":"214467:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214503:4:21","nodeType":"YulLiteral","src":"214503:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"214509:2:21","nodeType":"YulIdentifier","src":"214509:2:21"}],"functionName":{"name":"mstore","nativeSrc":"214496:6:21","nodeType":"YulIdentifier","src":"214496:6:21"},"nativeSrc":"214496:16:21","nodeType":"YulFunctionCall","src":"214496:16:21"},"nativeSrc":"214496:16:21","nodeType":"YulExpressionStatement","src":"214496:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214532:4:21","nodeType":"YulLiteral","src":"214532:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"214538:2:21","nodeType":"YulIdentifier","src":"214538:2:21"}],"functionName":{"name":"mstore","nativeSrc":"214525:6:21","nodeType":"YulIdentifier","src":"214525:6:21"},"nativeSrc":"214525:16:21","nodeType":"YulFunctionCall","src":"214525:16:21"},"nativeSrc":"214525:16:21","nodeType":"YulExpressionStatement","src":"214525:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33740,"isOffset":false,"isSlot":false,"src":"214422:2:21","valueSize":1},{"declaration":33743,"isOffset":false,"isSlot":false,"src":"214451:2:21","valueSize":1},{"declaration":33746,"isOffset":false,"isSlot":false,"src":"214480:2:21","valueSize":1},{"declaration":33749,"isOffset":false,"isSlot":false,"src":"214509:2:21","valueSize":1},{"declaration":33752,"isOffset":false,"isSlot":false,"src":"214538:2:21","valueSize":1}],"id":33760,"nodeType":"InlineAssembly","src":"214386:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"213694:3:21","parameters":{"id":33737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33730,"mutability":"mutable","name":"p0","nameLocation":"213703:2:21","nodeType":"VariableDeclaration","scope":33762,"src":"213698:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33729,"name":"bool","nodeType":"ElementaryTypeName","src":"213698:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33732,"mutability":"mutable","name":"p1","nameLocation":"213715:2:21","nodeType":"VariableDeclaration","scope":33762,"src":"213707:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33731,"name":"uint256","nodeType":"ElementaryTypeName","src":"213707:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33734,"mutability":"mutable","name":"p2","nameLocation":"213727:2:21","nodeType":"VariableDeclaration","scope":33762,"src":"213719:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33733,"name":"uint256","nodeType":"ElementaryTypeName","src":"213719:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33736,"mutability":"mutable","name":"p3","nameLocation":"213739:2:21","nodeType":"VariableDeclaration","scope":33762,"src":"213731:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33735,"name":"address","nodeType":"ElementaryTypeName","src":"213731:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"213697:45:21"},"returnParameters":{"id":33738,"nodeType":"ParameterList","parameters":[],"src":"213757:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33796,"nodeType":"FunctionDefinition","src":"214563:866:21","nodes":[],"body":{"id":33795,"nodeType":"Block","src":"214632:797:21","nodes":[],"statements":[{"assignments":[33774],"declarations":[{"constant":false,"id":33774,"mutability":"mutable","name":"m0","nameLocation":"214650:2:21","nodeType":"VariableDeclaration","scope":33795,"src":"214642:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214642:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33775,"nodeType":"VariableDeclarationStatement","src":"214642:10:21"},{"assignments":[33777],"declarations":[{"constant":false,"id":33777,"mutability":"mutable","name":"m1","nameLocation":"214670:2:21","nodeType":"VariableDeclaration","scope":33795,"src":"214662:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214662:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33778,"nodeType":"VariableDeclarationStatement","src":"214662:10:21"},{"assignments":[33780],"declarations":[{"constant":false,"id":33780,"mutability":"mutable","name":"m2","nameLocation":"214690:2:21","nodeType":"VariableDeclaration","scope":33795,"src":"214682:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214682:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33781,"nodeType":"VariableDeclarationStatement","src":"214682:10:21"},{"assignments":[33783],"declarations":[{"constant":false,"id":33783,"mutability":"mutable","name":"m3","nameLocation":"214710:2:21","nodeType":"VariableDeclaration","scope":33795,"src":"214702:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33782,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214702:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33784,"nodeType":"VariableDeclarationStatement","src":"214702:10:21"},{"assignments":[33786],"declarations":[{"constant":false,"id":33786,"mutability":"mutable","name":"m4","nameLocation":"214730:2:21","nodeType":"VariableDeclaration","scope":33795,"src":"214722:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214722:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33787,"nodeType":"VariableDeclarationStatement","src":"214722:10:21"},{"AST":{"nativeSrc":"214794:375:21","nodeType":"YulBlock","src":"214794:375:21","statements":[{"nativeSrc":"214808:17:21","nodeType":"YulAssignment","src":"214808:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"214820:4:21","nodeType":"YulLiteral","src":"214820:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"214814:5:21","nodeType":"YulIdentifier","src":"214814:5:21"},"nativeSrc":"214814:11:21","nodeType":"YulFunctionCall","src":"214814:11:21"},"variableNames":[{"name":"m0","nativeSrc":"214808:2:21","nodeType":"YulIdentifier","src":"214808:2:21"}]},{"nativeSrc":"214838:17:21","nodeType":"YulAssignment","src":"214838:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"214850:4:21","nodeType":"YulLiteral","src":"214850:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"214844:5:21","nodeType":"YulIdentifier","src":"214844:5:21"},"nativeSrc":"214844:11:21","nodeType":"YulFunctionCall","src":"214844:11:21"},"variableNames":[{"name":"m1","nativeSrc":"214838:2:21","nodeType":"YulIdentifier","src":"214838:2:21"}]},{"nativeSrc":"214868:17:21","nodeType":"YulAssignment","src":"214868:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"214880:4:21","nodeType":"YulLiteral","src":"214880:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"214874:5:21","nodeType":"YulIdentifier","src":"214874:5:21"},"nativeSrc":"214874:11:21","nodeType":"YulFunctionCall","src":"214874:11:21"},"variableNames":[{"name":"m2","nativeSrc":"214868:2:21","nodeType":"YulIdentifier","src":"214868:2:21"}]},{"nativeSrc":"214898:17:21","nodeType":"YulAssignment","src":"214898:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"214910:4:21","nodeType":"YulLiteral","src":"214910:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"214904:5:21","nodeType":"YulIdentifier","src":"214904:5:21"},"nativeSrc":"214904:11:21","nodeType":"YulFunctionCall","src":"214904:11:21"},"variableNames":[{"name":"m3","nativeSrc":"214898:2:21","nodeType":"YulIdentifier","src":"214898:2:21"}]},{"nativeSrc":"214928:17:21","nodeType":"YulAssignment","src":"214928:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"214940:4:21","nodeType":"YulLiteral","src":"214940:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"214934:5:21","nodeType":"YulIdentifier","src":"214934:5:21"},"nativeSrc":"214934:11:21","nodeType":"YulFunctionCall","src":"214934:11:21"},"variableNames":[{"name":"m4","nativeSrc":"214928:2:21","nodeType":"YulIdentifier","src":"214928:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215026:4:21","nodeType":"YulLiteral","src":"215026:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"215032:10:21","nodeType":"YulLiteral","src":"215032:10:21","type":"","value":"0xbe984353"}],"functionName":{"name":"mstore","nativeSrc":"215019:6:21","nodeType":"YulIdentifier","src":"215019:6:21"},"nativeSrc":"215019:24:21","nodeType":"YulFunctionCall","src":"215019:24:21"},"nativeSrc":"215019:24:21","nodeType":"YulExpressionStatement","src":"215019:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215063:4:21","nodeType":"YulLiteral","src":"215063:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"215069:2:21","nodeType":"YulIdentifier","src":"215069:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215056:6:21","nodeType":"YulIdentifier","src":"215056:6:21"},"nativeSrc":"215056:16:21","nodeType":"YulFunctionCall","src":"215056:16:21"},"nativeSrc":"215056:16:21","nodeType":"YulExpressionStatement","src":"215056:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215092:4:21","nodeType":"YulLiteral","src":"215092:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"215098:2:21","nodeType":"YulIdentifier","src":"215098:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215085:6:21","nodeType":"YulIdentifier","src":"215085:6:21"},"nativeSrc":"215085:16:21","nodeType":"YulFunctionCall","src":"215085:16:21"},"nativeSrc":"215085:16:21","nodeType":"YulExpressionStatement","src":"215085:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215121:4:21","nodeType":"YulLiteral","src":"215121:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"215127:2:21","nodeType":"YulIdentifier","src":"215127:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215114:6:21","nodeType":"YulIdentifier","src":"215114:6:21"},"nativeSrc":"215114:16:21","nodeType":"YulFunctionCall","src":"215114:16:21"},"nativeSrc":"215114:16:21","nodeType":"YulExpressionStatement","src":"215114:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215150:4:21","nodeType":"YulLiteral","src":"215150:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"215156:2:21","nodeType":"YulIdentifier","src":"215156:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215143:6:21","nodeType":"YulIdentifier","src":"215143:6:21"},"nativeSrc":"215143:16:21","nodeType":"YulFunctionCall","src":"215143:16:21"},"nativeSrc":"215143:16:21","nodeType":"YulExpressionStatement","src":"215143:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33774,"isOffset":false,"isSlot":false,"src":"214808:2:21","valueSize":1},{"declaration":33777,"isOffset":false,"isSlot":false,"src":"214838:2:21","valueSize":1},{"declaration":33780,"isOffset":false,"isSlot":false,"src":"214868:2:21","valueSize":1},{"declaration":33783,"isOffset":false,"isSlot":false,"src":"214898:2:21","valueSize":1},{"declaration":33786,"isOffset":false,"isSlot":false,"src":"214928:2:21","valueSize":1},{"declaration":33764,"isOffset":false,"isSlot":false,"src":"215069:2:21","valueSize":1},{"declaration":33766,"isOffset":false,"isSlot":false,"src":"215098:2:21","valueSize":1},{"declaration":33768,"isOffset":false,"isSlot":false,"src":"215127:2:21","valueSize":1},{"declaration":33770,"isOffset":false,"isSlot":false,"src":"215156:2:21","valueSize":1}],"id":33788,"nodeType":"InlineAssembly","src":"214785:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"215194:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"215200:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33789,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"215178:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"215178:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33793,"nodeType":"ExpressionStatement","src":"215178:27:21"},{"AST":{"nativeSrc":"215267:156:21","nodeType":"YulBlock","src":"215267:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"215288:4:21","nodeType":"YulLiteral","src":"215288:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"215294:2:21","nodeType":"YulIdentifier","src":"215294:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215281:6:21","nodeType":"YulIdentifier","src":"215281:6:21"},"nativeSrc":"215281:16:21","nodeType":"YulFunctionCall","src":"215281:16:21"},"nativeSrc":"215281:16:21","nodeType":"YulExpressionStatement","src":"215281:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215317:4:21","nodeType":"YulLiteral","src":"215317:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"215323:2:21","nodeType":"YulIdentifier","src":"215323:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215310:6:21","nodeType":"YulIdentifier","src":"215310:6:21"},"nativeSrc":"215310:16:21","nodeType":"YulFunctionCall","src":"215310:16:21"},"nativeSrc":"215310:16:21","nodeType":"YulExpressionStatement","src":"215310:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215346:4:21","nodeType":"YulLiteral","src":"215346:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"215352:2:21","nodeType":"YulIdentifier","src":"215352:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215339:6:21","nodeType":"YulIdentifier","src":"215339:6:21"},"nativeSrc":"215339:16:21","nodeType":"YulFunctionCall","src":"215339:16:21"},"nativeSrc":"215339:16:21","nodeType":"YulExpressionStatement","src":"215339:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215375:4:21","nodeType":"YulLiteral","src":"215375:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"215381:2:21","nodeType":"YulIdentifier","src":"215381:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215368:6:21","nodeType":"YulIdentifier","src":"215368:6:21"},"nativeSrc":"215368:16:21","nodeType":"YulFunctionCall","src":"215368:16:21"},"nativeSrc":"215368:16:21","nodeType":"YulExpressionStatement","src":"215368:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215404:4:21","nodeType":"YulLiteral","src":"215404:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"215410:2:21","nodeType":"YulIdentifier","src":"215410:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215397:6:21","nodeType":"YulIdentifier","src":"215397:6:21"},"nativeSrc":"215397:16:21","nodeType":"YulFunctionCall","src":"215397:16:21"},"nativeSrc":"215397:16:21","nodeType":"YulExpressionStatement","src":"215397:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33774,"isOffset":false,"isSlot":false,"src":"215294:2:21","valueSize":1},{"declaration":33777,"isOffset":false,"isSlot":false,"src":"215323:2:21","valueSize":1},{"declaration":33780,"isOffset":false,"isSlot":false,"src":"215352:2:21","valueSize":1},{"declaration":33783,"isOffset":false,"isSlot":false,"src":"215381:2:21","valueSize":1},{"declaration":33786,"isOffset":false,"isSlot":false,"src":"215410:2:21","valueSize":1}],"id":33794,"nodeType":"InlineAssembly","src":"215258:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"214572:3:21","parameters":{"id":33771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33764,"mutability":"mutable","name":"p0","nameLocation":"214581:2:21","nodeType":"VariableDeclaration","scope":33796,"src":"214576:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33763,"name":"bool","nodeType":"ElementaryTypeName","src":"214576:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33766,"mutability":"mutable","name":"p1","nameLocation":"214593:2:21","nodeType":"VariableDeclaration","scope":33796,"src":"214585:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33765,"name":"uint256","nodeType":"ElementaryTypeName","src":"214585:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33768,"mutability":"mutable","name":"p2","nameLocation":"214605:2:21","nodeType":"VariableDeclaration","scope":33796,"src":"214597:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33767,"name":"uint256","nodeType":"ElementaryTypeName","src":"214597:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33770,"mutability":"mutable","name":"p3","nameLocation":"214614:2:21","nodeType":"VariableDeclaration","scope":33796,"src":"214609:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33769,"name":"bool","nodeType":"ElementaryTypeName","src":"214609:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"214575:42:21"},"returnParameters":{"id":33772,"nodeType":"ParameterList","parameters":[],"src":"214632:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33830,"nodeType":"FunctionDefinition","src":"215435:872:21","nodes":[],"body":{"id":33829,"nodeType":"Block","src":"215507:800:21","nodes":[],"statements":[{"assignments":[33808],"declarations":[{"constant":false,"id":33808,"mutability":"mutable","name":"m0","nameLocation":"215525:2:21","nodeType":"VariableDeclaration","scope":33829,"src":"215517:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215517:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33809,"nodeType":"VariableDeclarationStatement","src":"215517:10:21"},{"assignments":[33811],"declarations":[{"constant":false,"id":33811,"mutability":"mutable","name":"m1","nameLocation":"215545:2:21","nodeType":"VariableDeclaration","scope":33829,"src":"215537:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33810,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215537:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33812,"nodeType":"VariableDeclarationStatement","src":"215537:10:21"},{"assignments":[33814],"declarations":[{"constant":false,"id":33814,"mutability":"mutable","name":"m2","nameLocation":"215565:2:21","nodeType":"VariableDeclaration","scope":33829,"src":"215557:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215557:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33815,"nodeType":"VariableDeclarationStatement","src":"215557:10:21"},{"assignments":[33817],"declarations":[{"constant":false,"id":33817,"mutability":"mutable","name":"m3","nameLocation":"215585:2:21","nodeType":"VariableDeclaration","scope":33829,"src":"215577:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215577:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33818,"nodeType":"VariableDeclarationStatement","src":"215577:10:21"},{"assignments":[33820],"declarations":[{"constant":false,"id":33820,"mutability":"mutable","name":"m4","nameLocation":"215605:2:21","nodeType":"VariableDeclaration","scope":33829,"src":"215597:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215597:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33821,"nodeType":"VariableDeclarationStatement","src":"215597:10:21"},{"AST":{"nativeSrc":"215669:378:21","nodeType":"YulBlock","src":"215669:378:21","statements":[{"nativeSrc":"215683:17:21","nodeType":"YulAssignment","src":"215683:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"215695:4:21","nodeType":"YulLiteral","src":"215695:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"215689:5:21","nodeType":"YulIdentifier","src":"215689:5:21"},"nativeSrc":"215689:11:21","nodeType":"YulFunctionCall","src":"215689:11:21"},"variableNames":[{"name":"m0","nativeSrc":"215683:2:21","nodeType":"YulIdentifier","src":"215683:2:21"}]},{"nativeSrc":"215713:17:21","nodeType":"YulAssignment","src":"215713:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"215725:4:21","nodeType":"YulLiteral","src":"215725:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"215719:5:21","nodeType":"YulIdentifier","src":"215719:5:21"},"nativeSrc":"215719:11:21","nodeType":"YulFunctionCall","src":"215719:11:21"},"variableNames":[{"name":"m1","nativeSrc":"215713:2:21","nodeType":"YulIdentifier","src":"215713:2:21"}]},{"nativeSrc":"215743:17:21","nodeType":"YulAssignment","src":"215743:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"215755:4:21","nodeType":"YulLiteral","src":"215755:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"215749:5:21","nodeType":"YulIdentifier","src":"215749:5:21"},"nativeSrc":"215749:11:21","nodeType":"YulFunctionCall","src":"215749:11:21"},"variableNames":[{"name":"m2","nativeSrc":"215743:2:21","nodeType":"YulIdentifier","src":"215743:2:21"}]},{"nativeSrc":"215773:17:21","nodeType":"YulAssignment","src":"215773:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"215785:4:21","nodeType":"YulLiteral","src":"215785:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"215779:5:21","nodeType":"YulIdentifier","src":"215779:5:21"},"nativeSrc":"215779:11:21","nodeType":"YulFunctionCall","src":"215779:11:21"},"variableNames":[{"name":"m3","nativeSrc":"215773:2:21","nodeType":"YulIdentifier","src":"215773:2:21"}]},{"nativeSrc":"215803:17:21","nodeType":"YulAssignment","src":"215803:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"215815:4:21","nodeType":"YulLiteral","src":"215815:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"215809:5:21","nodeType":"YulIdentifier","src":"215809:5:21"},"nativeSrc":"215809:11:21","nodeType":"YulFunctionCall","src":"215809:11:21"},"variableNames":[{"name":"m4","nativeSrc":"215803:2:21","nodeType":"YulIdentifier","src":"215803:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215904:4:21","nodeType":"YulLiteral","src":"215904:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"215910:10:21","nodeType":"YulLiteral","src":"215910:10:21","type":"","value":"0x374bb4b2"}],"functionName":{"name":"mstore","nativeSrc":"215897:6:21","nodeType":"YulIdentifier","src":"215897:6:21"},"nativeSrc":"215897:24:21","nodeType":"YulFunctionCall","src":"215897:24:21"},"nativeSrc":"215897:24:21","nodeType":"YulExpressionStatement","src":"215897:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215941:4:21","nodeType":"YulLiteral","src":"215941:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"215947:2:21","nodeType":"YulIdentifier","src":"215947:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215934:6:21","nodeType":"YulIdentifier","src":"215934:6:21"},"nativeSrc":"215934:16:21","nodeType":"YulFunctionCall","src":"215934:16:21"},"nativeSrc":"215934:16:21","nodeType":"YulExpressionStatement","src":"215934:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215970:4:21","nodeType":"YulLiteral","src":"215970:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"215976:2:21","nodeType":"YulIdentifier","src":"215976:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215963:6:21","nodeType":"YulIdentifier","src":"215963:6:21"},"nativeSrc":"215963:16:21","nodeType":"YulFunctionCall","src":"215963:16:21"},"nativeSrc":"215963:16:21","nodeType":"YulExpressionStatement","src":"215963:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215999:4:21","nodeType":"YulLiteral","src":"215999:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"216005:2:21","nodeType":"YulIdentifier","src":"216005:2:21"}],"functionName":{"name":"mstore","nativeSrc":"215992:6:21","nodeType":"YulIdentifier","src":"215992:6:21"},"nativeSrc":"215992:16:21","nodeType":"YulFunctionCall","src":"215992:16:21"},"nativeSrc":"215992:16:21","nodeType":"YulExpressionStatement","src":"215992:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216028:4:21","nodeType":"YulLiteral","src":"216028:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"216034:2:21","nodeType":"YulIdentifier","src":"216034:2:21"}],"functionName":{"name":"mstore","nativeSrc":"216021:6:21","nodeType":"YulIdentifier","src":"216021:6:21"},"nativeSrc":"216021:16:21","nodeType":"YulFunctionCall","src":"216021:16:21"},"nativeSrc":"216021:16:21","nodeType":"YulExpressionStatement","src":"216021:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33808,"isOffset":false,"isSlot":false,"src":"215683:2:21","valueSize":1},{"declaration":33811,"isOffset":false,"isSlot":false,"src":"215713:2:21","valueSize":1},{"declaration":33814,"isOffset":false,"isSlot":false,"src":"215743:2:21","valueSize":1},{"declaration":33817,"isOffset":false,"isSlot":false,"src":"215773:2:21","valueSize":1},{"declaration":33820,"isOffset":false,"isSlot":false,"src":"215803:2:21","valueSize":1},{"declaration":33798,"isOffset":false,"isSlot":false,"src":"215947:2:21","valueSize":1},{"declaration":33800,"isOffset":false,"isSlot":false,"src":"215976:2:21","valueSize":1},{"declaration":33802,"isOffset":false,"isSlot":false,"src":"216005:2:21","valueSize":1},{"declaration":33804,"isOffset":false,"isSlot":false,"src":"216034:2:21","valueSize":1}],"id":33822,"nodeType":"InlineAssembly","src":"215660:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"216072:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"216078:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33823,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"216056:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"216056:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33827,"nodeType":"ExpressionStatement","src":"216056:27:21"},{"AST":{"nativeSrc":"216145:156:21","nodeType":"YulBlock","src":"216145:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"216166:4:21","nodeType":"YulLiteral","src":"216166:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"216172:2:21","nodeType":"YulIdentifier","src":"216172:2:21"}],"functionName":{"name":"mstore","nativeSrc":"216159:6:21","nodeType":"YulIdentifier","src":"216159:6:21"},"nativeSrc":"216159:16:21","nodeType":"YulFunctionCall","src":"216159:16:21"},"nativeSrc":"216159:16:21","nodeType":"YulExpressionStatement","src":"216159:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216195:4:21","nodeType":"YulLiteral","src":"216195:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"216201:2:21","nodeType":"YulIdentifier","src":"216201:2:21"}],"functionName":{"name":"mstore","nativeSrc":"216188:6:21","nodeType":"YulIdentifier","src":"216188:6:21"},"nativeSrc":"216188:16:21","nodeType":"YulFunctionCall","src":"216188:16:21"},"nativeSrc":"216188:16:21","nodeType":"YulExpressionStatement","src":"216188:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216224:4:21","nodeType":"YulLiteral","src":"216224:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"216230:2:21","nodeType":"YulIdentifier","src":"216230:2:21"}],"functionName":{"name":"mstore","nativeSrc":"216217:6:21","nodeType":"YulIdentifier","src":"216217:6:21"},"nativeSrc":"216217:16:21","nodeType":"YulFunctionCall","src":"216217:16:21"},"nativeSrc":"216217:16:21","nodeType":"YulExpressionStatement","src":"216217:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216253:4:21","nodeType":"YulLiteral","src":"216253:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"216259:2:21","nodeType":"YulIdentifier","src":"216259:2:21"}],"functionName":{"name":"mstore","nativeSrc":"216246:6:21","nodeType":"YulIdentifier","src":"216246:6:21"},"nativeSrc":"216246:16:21","nodeType":"YulFunctionCall","src":"216246:16:21"},"nativeSrc":"216246:16:21","nodeType":"YulExpressionStatement","src":"216246:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216282:4:21","nodeType":"YulLiteral","src":"216282:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"216288:2:21","nodeType":"YulIdentifier","src":"216288:2:21"}],"functionName":{"name":"mstore","nativeSrc":"216275:6:21","nodeType":"YulIdentifier","src":"216275:6:21"},"nativeSrc":"216275:16:21","nodeType":"YulFunctionCall","src":"216275:16:21"},"nativeSrc":"216275:16:21","nodeType":"YulExpressionStatement","src":"216275:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33808,"isOffset":false,"isSlot":false,"src":"216172:2:21","valueSize":1},{"declaration":33811,"isOffset":false,"isSlot":false,"src":"216201:2:21","valueSize":1},{"declaration":33814,"isOffset":false,"isSlot":false,"src":"216230:2:21","valueSize":1},{"declaration":33817,"isOffset":false,"isSlot":false,"src":"216259:2:21","valueSize":1},{"declaration":33820,"isOffset":false,"isSlot":false,"src":"216288:2:21","valueSize":1}],"id":33828,"nodeType":"InlineAssembly","src":"216136:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"215444:3:21","parameters":{"id":33805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33798,"mutability":"mutable","name":"p0","nameLocation":"215453:2:21","nodeType":"VariableDeclaration","scope":33830,"src":"215448:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33797,"name":"bool","nodeType":"ElementaryTypeName","src":"215448:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33800,"mutability":"mutable","name":"p1","nameLocation":"215465:2:21","nodeType":"VariableDeclaration","scope":33830,"src":"215457:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33799,"name":"uint256","nodeType":"ElementaryTypeName","src":"215457:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33802,"mutability":"mutable","name":"p2","nameLocation":"215477:2:21","nodeType":"VariableDeclaration","scope":33830,"src":"215469:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33801,"name":"uint256","nodeType":"ElementaryTypeName","src":"215469:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33804,"mutability":"mutable","name":"p3","nameLocation":"215489:2:21","nodeType":"VariableDeclaration","scope":33830,"src":"215481:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33803,"name":"uint256","nodeType":"ElementaryTypeName","src":"215481:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"215447:45:21"},"returnParameters":{"id":33806,"nodeType":"ParameterList","parameters":[],"src":"215507:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33870,"nodeType":"FunctionDefinition","src":"216313:1420:21","nodes":[],"body":{"id":33869,"nodeType":"Block","src":"216385:1348:21","nodes":[],"statements":[{"assignments":[33842],"declarations":[{"constant":false,"id":33842,"mutability":"mutable","name":"m0","nameLocation":"216403:2:21","nodeType":"VariableDeclaration","scope":33869,"src":"216395:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216395:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33843,"nodeType":"VariableDeclarationStatement","src":"216395:10:21"},{"assignments":[33845],"declarations":[{"constant":false,"id":33845,"mutability":"mutable","name":"m1","nameLocation":"216423:2:21","nodeType":"VariableDeclaration","scope":33869,"src":"216415:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216415:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33846,"nodeType":"VariableDeclarationStatement","src":"216415:10:21"},{"assignments":[33848],"declarations":[{"constant":false,"id":33848,"mutability":"mutable","name":"m2","nameLocation":"216443:2:21","nodeType":"VariableDeclaration","scope":33869,"src":"216435:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216435:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33849,"nodeType":"VariableDeclarationStatement","src":"216435:10:21"},{"assignments":[33851],"declarations":[{"constant":false,"id":33851,"mutability":"mutable","name":"m3","nameLocation":"216463:2:21","nodeType":"VariableDeclaration","scope":33869,"src":"216455:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216455:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33852,"nodeType":"VariableDeclarationStatement","src":"216455:10:21"},{"assignments":[33854],"declarations":[{"constant":false,"id":33854,"mutability":"mutable","name":"m4","nameLocation":"216483:2:21","nodeType":"VariableDeclaration","scope":33869,"src":"216475:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216475:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33855,"nodeType":"VariableDeclarationStatement","src":"216475:10:21"},{"assignments":[33857],"declarations":[{"constant":false,"id":33857,"mutability":"mutable","name":"m5","nameLocation":"216503:2:21","nodeType":"VariableDeclaration","scope":33869,"src":"216495:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216495:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33858,"nodeType":"VariableDeclarationStatement","src":"216495:10:21"},{"assignments":[33860],"declarations":[{"constant":false,"id":33860,"mutability":"mutable","name":"m6","nameLocation":"216523:2:21","nodeType":"VariableDeclaration","scope":33869,"src":"216515:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216515:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33861,"nodeType":"VariableDeclarationStatement","src":"216515:10:21"},{"AST":{"nativeSrc":"216587:828:21","nodeType":"YulBlock","src":"216587:828:21","statements":[{"body":{"nativeSrc":"216630:313:21","nodeType":"YulBlock","src":"216630:313:21","statements":[{"nativeSrc":"216648:15:21","nodeType":"YulVariableDeclaration","src":"216648:15:21","value":{"kind":"number","nativeSrc":"216662:1:21","nodeType":"YulLiteral","src":"216662:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"216652:6:21","nodeType":"YulTypedName","src":"216652:6:21","type":""}]},{"body":{"nativeSrc":"216733:40:21","nodeType":"YulBlock","src":"216733:40:21","statements":[{"body":{"nativeSrc":"216762:9:21","nodeType":"YulBlock","src":"216762:9:21","statements":[{"nativeSrc":"216764:5:21","nodeType":"YulBreak","src":"216764:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"216750:6:21","nodeType":"YulIdentifier","src":"216750:6:21"},{"name":"w","nativeSrc":"216758:1:21","nodeType":"YulIdentifier","src":"216758:1:21"}],"functionName":{"name":"byte","nativeSrc":"216745:4:21","nodeType":"YulIdentifier","src":"216745:4:21"},"nativeSrc":"216745:15:21","nodeType":"YulFunctionCall","src":"216745:15:21"}],"functionName":{"name":"iszero","nativeSrc":"216738:6:21","nodeType":"YulIdentifier","src":"216738:6:21"},"nativeSrc":"216738:23:21","nodeType":"YulFunctionCall","src":"216738:23:21"},"nativeSrc":"216735:36:21","nodeType":"YulIf","src":"216735:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"216690:6:21","nodeType":"YulIdentifier","src":"216690:6:21"},{"kind":"number","nativeSrc":"216698:4:21","nodeType":"YulLiteral","src":"216698:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"216687:2:21","nodeType":"YulIdentifier","src":"216687:2:21"},"nativeSrc":"216687:16:21","nodeType":"YulFunctionCall","src":"216687:16:21"},"nativeSrc":"216680:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"216704:28:21","nodeType":"YulBlock","src":"216704:28:21","statements":[{"nativeSrc":"216706:24:21","nodeType":"YulAssignment","src":"216706:24:21","value":{"arguments":[{"name":"length","nativeSrc":"216720:6:21","nodeType":"YulIdentifier","src":"216720:6:21"},{"kind":"number","nativeSrc":"216728:1:21","nodeType":"YulLiteral","src":"216728:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"216716:3:21","nodeType":"YulIdentifier","src":"216716:3:21"},"nativeSrc":"216716:14:21","nodeType":"YulFunctionCall","src":"216716:14:21"},"variableNames":[{"name":"length","nativeSrc":"216706:6:21","nodeType":"YulIdentifier","src":"216706:6:21"}]}]},"pre":{"nativeSrc":"216684:2:21","nodeType":"YulBlock","src":"216684:2:21","statements":[]},"src":"216680:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"216797:3:21","nodeType":"YulIdentifier","src":"216797:3:21"},{"name":"length","nativeSrc":"216802:6:21","nodeType":"YulIdentifier","src":"216802:6:21"}],"functionName":{"name":"mstore","nativeSrc":"216790:6:21","nodeType":"YulIdentifier","src":"216790:6:21"},"nativeSrc":"216790:19:21","nodeType":"YulFunctionCall","src":"216790:19:21"},"nativeSrc":"216790:19:21","nodeType":"YulExpressionStatement","src":"216790:19:21"},{"nativeSrc":"216826:37:21","nodeType":"YulVariableDeclaration","src":"216826:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"216843:3:21","nodeType":"YulLiteral","src":"216843:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"216852:1:21","nodeType":"YulLiteral","src":"216852:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"216855:6:21","nodeType":"YulIdentifier","src":"216855:6:21"}],"functionName":{"name":"shl","nativeSrc":"216848:3:21","nodeType":"YulIdentifier","src":"216848:3:21"},"nativeSrc":"216848:14:21","nodeType":"YulFunctionCall","src":"216848:14:21"}],"functionName":{"name":"sub","nativeSrc":"216839:3:21","nodeType":"YulIdentifier","src":"216839:3:21"},"nativeSrc":"216839:24:21","nodeType":"YulFunctionCall","src":"216839:24:21"},"variables":[{"name":"shift","nativeSrc":"216830:5:21","nodeType":"YulTypedName","src":"216830:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"216891:3:21","nodeType":"YulIdentifier","src":"216891:3:21"},{"kind":"number","nativeSrc":"216896:4:21","nodeType":"YulLiteral","src":"216896:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"216887:3:21","nodeType":"YulIdentifier","src":"216887:3:21"},"nativeSrc":"216887:14:21","nodeType":"YulFunctionCall","src":"216887:14:21"},{"arguments":[{"name":"shift","nativeSrc":"216907:5:21","nodeType":"YulIdentifier","src":"216907:5:21"},{"arguments":[{"name":"shift","nativeSrc":"216918:5:21","nodeType":"YulIdentifier","src":"216918:5:21"},{"name":"w","nativeSrc":"216925:1:21","nodeType":"YulIdentifier","src":"216925:1:21"}],"functionName":{"name":"shr","nativeSrc":"216914:3:21","nodeType":"YulIdentifier","src":"216914:3:21"},"nativeSrc":"216914:13:21","nodeType":"YulFunctionCall","src":"216914:13:21"}],"functionName":{"name":"shl","nativeSrc":"216903:3:21","nodeType":"YulIdentifier","src":"216903:3:21"},"nativeSrc":"216903:25:21","nodeType":"YulFunctionCall","src":"216903:25:21"}],"functionName":{"name":"mstore","nativeSrc":"216880:6:21","nodeType":"YulIdentifier","src":"216880:6:21"},"nativeSrc":"216880:49:21","nodeType":"YulFunctionCall","src":"216880:49:21"},"nativeSrc":"216880:49:21","nodeType":"YulExpressionStatement","src":"216880:49:21"}]},"name":"writeString","nativeSrc":"216601:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"216622:3:21","nodeType":"YulTypedName","src":"216622:3:21","type":""},{"name":"w","nativeSrc":"216627:1:21","nodeType":"YulTypedName","src":"216627:1:21","type":""}],"src":"216601:342:21"},{"nativeSrc":"216956:17:21","nodeType":"YulAssignment","src":"216956:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"216968:4:21","nodeType":"YulLiteral","src":"216968:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"216962:5:21","nodeType":"YulIdentifier","src":"216962:5:21"},"nativeSrc":"216962:11:21","nodeType":"YulFunctionCall","src":"216962:11:21"},"variableNames":[{"name":"m0","nativeSrc":"216956:2:21","nodeType":"YulIdentifier","src":"216956:2:21"}]},{"nativeSrc":"216986:17:21","nodeType":"YulAssignment","src":"216986:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"216998:4:21","nodeType":"YulLiteral","src":"216998:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"216992:5:21","nodeType":"YulIdentifier","src":"216992:5:21"},"nativeSrc":"216992:11:21","nodeType":"YulFunctionCall","src":"216992:11:21"},"variableNames":[{"name":"m1","nativeSrc":"216986:2:21","nodeType":"YulIdentifier","src":"216986:2:21"}]},{"nativeSrc":"217016:17:21","nodeType":"YulAssignment","src":"217016:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"217028:4:21","nodeType":"YulLiteral","src":"217028:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"217022:5:21","nodeType":"YulIdentifier","src":"217022:5:21"},"nativeSrc":"217022:11:21","nodeType":"YulFunctionCall","src":"217022:11:21"},"variableNames":[{"name":"m2","nativeSrc":"217016:2:21","nodeType":"YulIdentifier","src":"217016:2:21"}]},{"nativeSrc":"217046:17:21","nodeType":"YulAssignment","src":"217046:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"217058:4:21","nodeType":"YulLiteral","src":"217058:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"217052:5:21","nodeType":"YulIdentifier","src":"217052:5:21"},"nativeSrc":"217052:11:21","nodeType":"YulFunctionCall","src":"217052:11:21"},"variableNames":[{"name":"m3","nativeSrc":"217046:2:21","nodeType":"YulIdentifier","src":"217046:2:21"}]},{"nativeSrc":"217076:17:21","nodeType":"YulAssignment","src":"217076:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"217088:4:21","nodeType":"YulLiteral","src":"217088:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"217082:5:21","nodeType":"YulIdentifier","src":"217082:5:21"},"nativeSrc":"217082:11:21","nodeType":"YulFunctionCall","src":"217082:11:21"},"variableNames":[{"name":"m4","nativeSrc":"217076:2:21","nodeType":"YulIdentifier","src":"217076:2:21"}]},{"nativeSrc":"217106:17:21","nodeType":"YulAssignment","src":"217106:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"217118:4:21","nodeType":"YulLiteral","src":"217118:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"217112:5:21","nodeType":"YulIdentifier","src":"217112:5:21"},"nativeSrc":"217112:11:21","nodeType":"YulFunctionCall","src":"217112:11:21"},"variableNames":[{"name":"m5","nativeSrc":"217106:2:21","nodeType":"YulIdentifier","src":"217106:2:21"}]},{"nativeSrc":"217136:17:21","nodeType":"YulAssignment","src":"217136:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"217148:4:21","nodeType":"YulLiteral","src":"217148:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"217142:5:21","nodeType":"YulIdentifier","src":"217142:5:21"},"nativeSrc":"217142:11:21","nodeType":"YulFunctionCall","src":"217142:11:21"},"variableNames":[{"name":"m6","nativeSrc":"217136:2:21","nodeType":"YulIdentifier","src":"217136:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217236:4:21","nodeType":"YulLiteral","src":"217236:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"217242:10:21","nodeType":"YulLiteral","src":"217242:10:21","type":"","value":"0x8e69fb5d"}],"functionName":{"name":"mstore","nativeSrc":"217229:6:21","nodeType":"YulIdentifier","src":"217229:6:21"},"nativeSrc":"217229:24:21","nodeType":"YulFunctionCall","src":"217229:24:21"},"nativeSrc":"217229:24:21","nodeType":"YulExpressionStatement","src":"217229:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217273:4:21","nodeType":"YulLiteral","src":"217273:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"217279:2:21","nodeType":"YulIdentifier","src":"217279:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217266:6:21","nodeType":"YulIdentifier","src":"217266:6:21"},"nativeSrc":"217266:16:21","nodeType":"YulFunctionCall","src":"217266:16:21"},"nativeSrc":"217266:16:21","nodeType":"YulExpressionStatement","src":"217266:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217302:4:21","nodeType":"YulLiteral","src":"217302:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"217308:2:21","nodeType":"YulIdentifier","src":"217308:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217295:6:21","nodeType":"YulIdentifier","src":"217295:6:21"},"nativeSrc":"217295:16:21","nodeType":"YulFunctionCall","src":"217295:16:21"},"nativeSrc":"217295:16:21","nodeType":"YulExpressionStatement","src":"217295:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217331:4:21","nodeType":"YulLiteral","src":"217331:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"217337:2:21","nodeType":"YulIdentifier","src":"217337:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217324:6:21","nodeType":"YulIdentifier","src":"217324:6:21"},"nativeSrc":"217324:16:21","nodeType":"YulFunctionCall","src":"217324:16:21"},"nativeSrc":"217324:16:21","nodeType":"YulExpressionStatement","src":"217324:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217360:4:21","nodeType":"YulLiteral","src":"217360:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"217366:4:21","nodeType":"YulLiteral","src":"217366:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"217353:6:21","nodeType":"YulIdentifier","src":"217353:6:21"},"nativeSrc":"217353:18:21","nodeType":"YulFunctionCall","src":"217353:18:21"},"nativeSrc":"217353:18:21","nodeType":"YulExpressionStatement","src":"217353:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217396:4:21","nodeType":"YulLiteral","src":"217396:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"217402:2:21","nodeType":"YulIdentifier","src":"217402:2:21"}],"functionName":{"name":"writeString","nativeSrc":"217384:11:21","nodeType":"YulIdentifier","src":"217384:11:21"},"nativeSrc":"217384:21:21","nodeType":"YulFunctionCall","src":"217384:21:21"},"nativeSrc":"217384:21:21","nodeType":"YulExpressionStatement","src":"217384:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33842,"isOffset":false,"isSlot":false,"src":"216956:2:21","valueSize":1},{"declaration":33845,"isOffset":false,"isSlot":false,"src":"216986:2:21","valueSize":1},{"declaration":33848,"isOffset":false,"isSlot":false,"src":"217016:2:21","valueSize":1},{"declaration":33851,"isOffset":false,"isSlot":false,"src":"217046:2:21","valueSize":1},{"declaration":33854,"isOffset":false,"isSlot":false,"src":"217076:2:21","valueSize":1},{"declaration":33857,"isOffset":false,"isSlot":false,"src":"217106:2:21","valueSize":1},{"declaration":33860,"isOffset":false,"isSlot":false,"src":"217136:2:21","valueSize":1},{"declaration":33832,"isOffset":false,"isSlot":false,"src":"217279:2:21","valueSize":1},{"declaration":33834,"isOffset":false,"isSlot":false,"src":"217308:2:21","valueSize":1},{"declaration":33836,"isOffset":false,"isSlot":false,"src":"217337:2:21","valueSize":1},{"declaration":33838,"isOffset":false,"isSlot":false,"src":"217402:2:21","valueSize":1}],"id":33862,"nodeType":"InlineAssembly","src":"216578:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"217440:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"217446:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33863,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"217424:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"217424:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33867,"nodeType":"ExpressionStatement","src":"217424:27:21"},{"AST":{"nativeSrc":"217513:214:21","nodeType":"YulBlock","src":"217513:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"217534:4:21","nodeType":"YulLiteral","src":"217534:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"217540:2:21","nodeType":"YulIdentifier","src":"217540:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217527:6:21","nodeType":"YulIdentifier","src":"217527:6:21"},"nativeSrc":"217527:16:21","nodeType":"YulFunctionCall","src":"217527:16:21"},"nativeSrc":"217527:16:21","nodeType":"YulExpressionStatement","src":"217527:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217563:4:21","nodeType":"YulLiteral","src":"217563:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"217569:2:21","nodeType":"YulIdentifier","src":"217569:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217556:6:21","nodeType":"YulIdentifier","src":"217556:6:21"},"nativeSrc":"217556:16:21","nodeType":"YulFunctionCall","src":"217556:16:21"},"nativeSrc":"217556:16:21","nodeType":"YulExpressionStatement","src":"217556:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217592:4:21","nodeType":"YulLiteral","src":"217592:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"217598:2:21","nodeType":"YulIdentifier","src":"217598:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217585:6:21","nodeType":"YulIdentifier","src":"217585:6:21"},"nativeSrc":"217585:16:21","nodeType":"YulFunctionCall","src":"217585:16:21"},"nativeSrc":"217585:16:21","nodeType":"YulExpressionStatement","src":"217585:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217621:4:21","nodeType":"YulLiteral","src":"217621:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"217627:2:21","nodeType":"YulIdentifier","src":"217627:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217614:6:21","nodeType":"YulIdentifier","src":"217614:6:21"},"nativeSrc":"217614:16:21","nodeType":"YulFunctionCall","src":"217614:16:21"},"nativeSrc":"217614:16:21","nodeType":"YulExpressionStatement","src":"217614:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217650:4:21","nodeType":"YulLiteral","src":"217650:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"217656:2:21","nodeType":"YulIdentifier","src":"217656:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217643:6:21","nodeType":"YulIdentifier","src":"217643:6:21"},"nativeSrc":"217643:16:21","nodeType":"YulFunctionCall","src":"217643:16:21"},"nativeSrc":"217643:16:21","nodeType":"YulExpressionStatement","src":"217643:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217679:4:21","nodeType":"YulLiteral","src":"217679:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"217685:2:21","nodeType":"YulIdentifier","src":"217685:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217672:6:21","nodeType":"YulIdentifier","src":"217672:6:21"},"nativeSrc":"217672:16:21","nodeType":"YulFunctionCall","src":"217672:16:21"},"nativeSrc":"217672:16:21","nodeType":"YulExpressionStatement","src":"217672:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217708:4:21","nodeType":"YulLiteral","src":"217708:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"217714:2:21","nodeType":"YulIdentifier","src":"217714:2:21"}],"functionName":{"name":"mstore","nativeSrc":"217701:6:21","nodeType":"YulIdentifier","src":"217701:6:21"},"nativeSrc":"217701:16:21","nodeType":"YulFunctionCall","src":"217701:16:21"},"nativeSrc":"217701:16:21","nodeType":"YulExpressionStatement","src":"217701:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33842,"isOffset":false,"isSlot":false,"src":"217540:2:21","valueSize":1},{"declaration":33845,"isOffset":false,"isSlot":false,"src":"217569:2:21","valueSize":1},{"declaration":33848,"isOffset":false,"isSlot":false,"src":"217598:2:21","valueSize":1},{"declaration":33851,"isOffset":false,"isSlot":false,"src":"217627:2:21","valueSize":1},{"declaration":33854,"isOffset":false,"isSlot":false,"src":"217656:2:21","valueSize":1},{"declaration":33857,"isOffset":false,"isSlot":false,"src":"217685:2:21","valueSize":1},{"declaration":33860,"isOffset":false,"isSlot":false,"src":"217714:2:21","valueSize":1}],"id":33868,"nodeType":"InlineAssembly","src":"217504:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"216322:3:21","parameters":{"id":33839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33832,"mutability":"mutable","name":"p0","nameLocation":"216331:2:21","nodeType":"VariableDeclaration","scope":33870,"src":"216326:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33831,"name":"bool","nodeType":"ElementaryTypeName","src":"216326:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33834,"mutability":"mutable","name":"p1","nameLocation":"216343:2:21","nodeType":"VariableDeclaration","scope":33870,"src":"216335:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33833,"name":"uint256","nodeType":"ElementaryTypeName","src":"216335:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33836,"mutability":"mutable","name":"p2","nameLocation":"216355:2:21","nodeType":"VariableDeclaration","scope":33870,"src":"216347:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33835,"name":"uint256","nodeType":"ElementaryTypeName","src":"216347:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33838,"mutability":"mutable","name":"p3","nameLocation":"216367:2:21","nodeType":"VariableDeclaration","scope":33870,"src":"216359:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216359:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"216325:45:21"},"returnParameters":{"id":33840,"nodeType":"ParameterList","parameters":[],"src":"216385:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33910,"nodeType":"FunctionDefinition","src":"217739:1420:21","nodes":[],"body":{"id":33909,"nodeType":"Block","src":"217811:1348:21","nodes":[],"statements":[{"assignments":[33882],"declarations":[{"constant":false,"id":33882,"mutability":"mutable","name":"m0","nameLocation":"217829:2:21","nodeType":"VariableDeclaration","scope":33909,"src":"217821:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33881,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217821:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33883,"nodeType":"VariableDeclarationStatement","src":"217821:10:21"},{"assignments":[33885],"declarations":[{"constant":false,"id":33885,"mutability":"mutable","name":"m1","nameLocation":"217849:2:21","nodeType":"VariableDeclaration","scope":33909,"src":"217841:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217841:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33886,"nodeType":"VariableDeclarationStatement","src":"217841:10:21"},{"assignments":[33888],"declarations":[{"constant":false,"id":33888,"mutability":"mutable","name":"m2","nameLocation":"217869:2:21","nodeType":"VariableDeclaration","scope":33909,"src":"217861:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217861:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33889,"nodeType":"VariableDeclarationStatement","src":"217861:10:21"},{"assignments":[33891],"declarations":[{"constant":false,"id":33891,"mutability":"mutable","name":"m3","nameLocation":"217889:2:21","nodeType":"VariableDeclaration","scope":33909,"src":"217881:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217881:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33892,"nodeType":"VariableDeclarationStatement","src":"217881:10:21"},{"assignments":[33894],"declarations":[{"constant":false,"id":33894,"mutability":"mutable","name":"m4","nameLocation":"217909:2:21","nodeType":"VariableDeclaration","scope":33909,"src":"217901:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217901:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33895,"nodeType":"VariableDeclarationStatement","src":"217901:10:21"},{"assignments":[33897],"declarations":[{"constant":false,"id":33897,"mutability":"mutable","name":"m5","nameLocation":"217929:2:21","nodeType":"VariableDeclaration","scope":33909,"src":"217921:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217921:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33898,"nodeType":"VariableDeclarationStatement","src":"217921:10:21"},{"assignments":[33900],"declarations":[{"constant":false,"id":33900,"mutability":"mutable","name":"m6","nameLocation":"217949:2:21","nodeType":"VariableDeclaration","scope":33909,"src":"217941:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217941:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33901,"nodeType":"VariableDeclarationStatement","src":"217941:10:21"},{"AST":{"nativeSrc":"218013:828:21","nodeType":"YulBlock","src":"218013:828:21","statements":[{"body":{"nativeSrc":"218056:313:21","nodeType":"YulBlock","src":"218056:313:21","statements":[{"nativeSrc":"218074:15:21","nodeType":"YulVariableDeclaration","src":"218074:15:21","value":{"kind":"number","nativeSrc":"218088:1:21","nodeType":"YulLiteral","src":"218088:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"218078:6:21","nodeType":"YulTypedName","src":"218078:6:21","type":""}]},{"body":{"nativeSrc":"218159:40:21","nodeType":"YulBlock","src":"218159:40:21","statements":[{"body":{"nativeSrc":"218188:9:21","nodeType":"YulBlock","src":"218188:9:21","statements":[{"nativeSrc":"218190:5:21","nodeType":"YulBreak","src":"218190:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"218176:6:21","nodeType":"YulIdentifier","src":"218176:6:21"},{"name":"w","nativeSrc":"218184:1:21","nodeType":"YulIdentifier","src":"218184:1:21"}],"functionName":{"name":"byte","nativeSrc":"218171:4:21","nodeType":"YulIdentifier","src":"218171:4:21"},"nativeSrc":"218171:15:21","nodeType":"YulFunctionCall","src":"218171:15:21"}],"functionName":{"name":"iszero","nativeSrc":"218164:6:21","nodeType":"YulIdentifier","src":"218164:6:21"},"nativeSrc":"218164:23:21","nodeType":"YulFunctionCall","src":"218164:23:21"},"nativeSrc":"218161:36:21","nodeType":"YulIf","src":"218161:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"218116:6:21","nodeType":"YulIdentifier","src":"218116:6:21"},{"kind":"number","nativeSrc":"218124:4:21","nodeType":"YulLiteral","src":"218124:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"218113:2:21","nodeType":"YulIdentifier","src":"218113:2:21"},"nativeSrc":"218113:16:21","nodeType":"YulFunctionCall","src":"218113:16:21"},"nativeSrc":"218106:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"218130:28:21","nodeType":"YulBlock","src":"218130:28:21","statements":[{"nativeSrc":"218132:24:21","nodeType":"YulAssignment","src":"218132:24:21","value":{"arguments":[{"name":"length","nativeSrc":"218146:6:21","nodeType":"YulIdentifier","src":"218146:6:21"},{"kind":"number","nativeSrc":"218154:1:21","nodeType":"YulLiteral","src":"218154:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"218142:3:21","nodeType":"YulIdentifier","src":"218142:3:21"},"nativeSrc":"218142:14:21","nodeType":"YulFunctionCall","src":"218142:14:21"},"variableNames":[{"name":"length","nativeSrc":"218132:6:21","nodeType":"YulIdentifier","src":"218132:6:21"}]}]},"pre":{"nativeSrc":"218110:2:21","nodeType":"YulBlock","src":"218110:2:21","statements":[]},"src":"218106:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"218223:3:21","nodeType":"YulIdentifier","src":"218223:3:21"},{"name":"length","nativeSrc":"218228:6:21","nodeType":"YulIdentifier","src":"218228:6:21"}],"functionName":{"name":"mstore","nativeSrc":"218216:6:21","nodeType":"YulIdentifier","src":"218216:6:21"},"nativeSrc":"218216:19:21","nodeType":"YulFunctionCall","src":"218216:19:21"},"nativeSrc":"218216:19:21","nodeType":"YulExpressionStatement","src":"218216:19:21"},{"nativeSrc":"218252:37:21","nodeType":"YulVariableDeclaration","src":"218252:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"218269:3:21","nodeType":"YulLiteral","src":"218269:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"218278:1:21","nodeType":"YulLiteral","src":"218278:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"218281:6:21","nodeType":"YulIdentifier","src":"218281:6:21"}],"functionName":{"name":"shl","nativeSrc":"218274:3:21","nodeType":"YulIdentifier","src":"218274:3:21"},"nativeSrc":"218274:14:21","nodeType":"YulFunctionCall","src":"218274:14:21"}],"functionName":{"name":"sub","nativeSrc":"218265:3:21","nodeType":"YulIdentifier","src":"218265:3:21"},"nativeSrc":"218265:24:21","nodeType":"YulFunctionCall","src":"218265:24:21"},"variables":[{"name":"shift","nativeSrc":"218256:5:21","nodeType":"YulTypedName","src":"218256:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"218317:3:21","nodeType":"YulIdentifier","src":"218317:3:21"},{"kind":"number","nativeSrc":"218322:4:21","nodeType":"YulLiteral","src":"218322:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"218313:3:21","nodeType":"YulIdentifier","src":"218313:3:21"},"nativeSrc":"218313:14:21","nodeType":"YulFunctionCall","src":"218313:14:21"},{"arguments":[{"name":"shift","nativeSrc":"218333:5:21","nodeType":"YulIdentifier","src":"218333:5:21"},{"arguments":[{"name":"shift","nativeSrc":"218344:5:21","nodeType":"YulIdentifier","src":"218344:5:21"},{"name":"w","nativeSrc":"218351:1:21","nodeType":"YulIdentifier","src":"218351:1:21"}],"functionName":{"name":"shr","nativeSrc":"218340:3:21","nodeType":"YulIdentifier","src":"218340:3:21"},"nativeSrc":"218340:13:21","nodeType":"YulFunctionCall","src":"218340:13:21"}],"functionName":{"name":"shl","nativeSrc":"218329:3:21","nodeType":"YulIdentifier","src":"218329:3:21"},"nativeSrc":"218329:25:21","nodeType":"YulFunctionCall","src":"218329:25:21"}],"functionName":{"name":"mstore","nativeSrc":"218306:6:21","nodeType":"YulIdentifier","src":"218306:6:21"},"nativeSrc":"218306:49:21","nodeType":"YulFunctionCall","src":"218306:49:21"},"nativeSrc":"218306:49:21","nodeType":"YulExpressionStatement","src":"218306:49:21"}]},"name":"writeString","nativeSrc":"218027:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"218048:3:21","nodeType":"YulTypedName","src":"218048:3:21","type":""},{"name":"w","nativeSrc":"218053:1:21","nodeType":"YulTypedName","src":"218053:1:21","type":""}],"src":"218027:342:21"},{"nativeSrc":"218382:17:21","nodeType":"YulAssignment","src":"218382:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"218394:4:21","nodeType":"YulLiteral","src":"218394:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"218388:5:21","nodeType":"YulIdentifier","src":"218388:5:21"},"nativeSrc":"218388:11:21","nodeType":"YulFunctionCall","src":"218388:11:21"},"variableNames":[{"name":"m0","nativeSrc":"218382:2:21","nodeType":"YulIdentifier","src":"218382:2:21"}]},{"nativeSrc":"218412:17:21","nodeType":"YulAssignment","src":"218412:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"218424:4:21","nodeType":"YulLiteral","src":"218424:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"218418:5:21","nodeType":"YulIdentifier","src":"218418:5:21"},"nativeSrc":"218418:11:21","nodeType":"YulFunctionCall","src":"218418:11:21"},"variableNames":[{"name":"m1","nativeSrc":"218412:2:21","nodeType":"YulIdentifier","src":"218412:2:21"}]},{"nativeSrc":"218442:17:21","nodeType":"YulAssignment","src":"218442:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"218454:4:21","nodeType":"YulLiteral","src":"218454:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"218448:5:21","nodeType":"YulIdentifier","src":"218448:5:21"},"nativeSrc":"218448:11:21","nodeType":"YulFunctionCall","src":"218448:11:21"},"variableNames":[{"name":"m2","nativeSrc":"218442:2:21","nodeType":"YulIdentifier","src":"218442:2:21"}]},{"nativeSrc":"218472:17:21","nodeType":"YulAssignment","src":"218472:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"218484:4:21","nodeType":"YulLiteral","src":"218484:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"218478:5:21","nodeType":"YulIdentifier","src":"218478:5:21"},"nativeSrc":"218478:11:21","nodeType":"YulFunctionCall","src":"218478:11:21"},"variableNames":[{"name":"m3","nativeSrc":"218472:2:21","nodeType":"YulIdentifier","src":"218472:2:21"}]},{"nativeSrc":"218502:17:21","nodeType":"YulAssignment","src":"218502:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"218514:4:21","nodeType":"YulLiteral","src":"218514:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"218508:5:21","nodeType":"YulIdentifier","src":"218508:5:21"},"nativeSrc":"218508:11:21","nodeType":"YulFunctionCall","src":"218508:11:21"},"variableNames":[{"name":"m4","nativeSrc":"218502:2:21","nodeType":"YulIdentifier","src":"218502:2:21"}]},{"nativeSrc":"218532:17:21","nodeType":"YulAssignment","src":"218532:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"218544:4:21","nodeType":"YulLiteral","src":"218544:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"218538:5:21","nodeType":"YulIdentifier","src":"218538:5:21"},"nativeSrc":"218538:11:21","nodeType":"YulFunctionCall","src":"218538:11:21"},"variableNames":[{"name":"m5","nativeSrc":"218532:2:21","nodeType":"YulIdentifier","src":"218532:2:21"}]},{"nativeSrc":"218562:17:21","nodeType":"YulAssignment","src":"218562:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"218574:4:21","nodeType":"YulLiteral","src":"218574:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"218568:5:21","nodeType":"YulIdentifier","src":"218568:5:21"},"nativeSrc":"218568:11:21","nodeType":"YulFunctionCall","src":"218568:11:21"},"variableNames":[{"name":"m6","nativeSrc":"218562:2:21","nodeType":"YulIdentifier","src":"218562:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218662:4:21","nodeType":"YulLiteral","src":"218662:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"218668:10:21","nodeType":"YulLiteral","src":"218668:10:21","type":"","value":"0xfedd1fff"}],"functionName":{"name":"mstore","nativeSrc":"218655:6:21","nodeType":"YulIdentifier","src":"218655:6:21"},"nativeSrc":"218655:24:21","nodeType":"YulFunctionCall","src":"218655:24:21"},"nativeSrc":"218655:24:21","nodeType":"YulExpressionStatement","src":"218655:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218699:4:21","nodeType":"YulLiteral","src":"218699:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"218705:2:21","nodeType":"YulIdentifier","src":"218705:2:21"}],"functionName":{"name":"mstore","nativeSrc":"218692:6:21","nodeType":"YulIdentifier","src":"218692:6:21"},"nativeSrc":"218692:16:21","nodeType":"YulFunctionCall","src":"218692:16:21"},"nativeSrc":"218692:16:21","nodeType":"YulExpressionStatement","src":"218692:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218728:4:21","nodeType":"YulLiteral","src":"218728:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"218734:2:21","nodeType":"YulIdentifier","src":"218734:2:21"}],"functionName":{"name":"mstore","nativeSrc":"218721:6:21","nodeType":"YulIdentifier","src":"218721:6:21"},"nativeSrc":"218721:16:21","nodeType":"YulFunctionCall","src":"218721:16:21"},"nativeSrc":"218721:16:21","nodeType":"YulExpressionStatement","src":"218721:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218757:4:21","nodeType":"YulLiteral","src":"218757:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"218763:4:21","nodeType":"YulLiteral","src":"218763:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"218750:6:21","nodeType":"YulIdentifier","src":"218750:6:21"},"nativeSrc":"218750:18:21","nodeType":"YulFunctionCall","src":"218750:18:21"},"nativeSrc":"218750:18:21","nodeType":"YulExpressionStatement","src":"218750:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218788:4:21","nodeType":"YulLiteral","src":"218788:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"218794:2:21","nodeType":"YulIdentifier","src":"218794:2:21"}],"functionName":{"name":"mstore","nativeSrc":"218781:6:21","nodeType":"YulIdentifier","src":"218781:6:21"},"nativeSrc":"218781:16:21","nodeType":"YulFunctionCall","src":"218781:16:21"},"nativeSrc":"218781:16:21","nodeType":"YulExpressionStatement","src":"218781:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218822:4:21","nodeType":"YulLiteral","src":"218822:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"218828:2:21","nodeType":"YulIdentifier","src":"218828:2:21"}],"functionName":{"name":"writeString","nativeSrc":"218810:11:21","nodeType":"YulIdentifier","src":"218810:11:21"},"nativeSrc":"218810:21:21","nodeType":"YulFunctionCall","src":"218810:21:21"},"nativeSrc":"218810:21:21","nodeType":"YulExpressionStatement","src":"218810:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33882,"isOffset":false,"isSlot":false,"src":"218382:2:21","valueSize":1},{"declaration":33885,"isOffset":false,"isSlot":false,"src":"218412:2:21","valueSize":1},{"declaration":33888,"isOffset":false,"isSlot":false,"src":"218442:2:21","valueSize":1},{"declaration":33891,"isOffset":false,"isSlot":false,"src":"218472:2:21","valueSize":1},{"declaration":33894,"isOffset":false,"isSlot":false,"src":"218502:2:21","valueSize":1},{"declaration":33897,"isOffset":false,"isSlot":false,"src":"218532:2:21","valueSize":1},{"declaration":33900,"isOffset":false,"isSlot":false,"src":"218562:2:21","valueSize":1},{"declaration":33872,"isOffset":false,"isSlot":false,"src":"218705:2:21","valueSize":1},{"declaration":33874,"isOffset":false,"isSlot":false,"src":"218734:2:21","valueSize":1},{"declaration":33876,"isOffset":false,"isSlot":false,"src":"218828:2:21","valueSize":1},{"declaration":33878,"isOffset":false,"isSlot":false,"src":"218794:2:21","valueSize":1}],"id":33902,"nodeType":"InlineAssembly","src":"218004:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"218866:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"218872:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33903,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"218850:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"218850:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33907,"nodeType":"ExpressionStatement","src":"218850:27:21"},{"AST":{"nativeSrc":"218939:214:21","nodeType":"YulBlock","src":"218939:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"218960:4:21","nodeType":"YulLiteral","src":"218960:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"218966:2:21","nodeType":"YulIdentifier","src":"218966:2:21"}],"functionName":{"name":"mstore","nativeSrc":"218953:6:21","nodeType":"YulIdentifier","src":"218953:6:21"},"nativeSrc":"218953:16:21","nodeType":"YulFunctionCall","src":"218953:16:21"},"nativeSrc":"218953:16:21","nodeType":"YulExpressionStatement","src":"218953:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218989:4:21","nodeType":"YulLiteral","src":"218989:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"218995:2:21","nodeType":"YulIdentifier","src":"218995:2:21"}],"functionName":{"name":"mstore","nativeSrc":"218982:6:21","nodeType":"YulIdentifier","src":"218982:6:21"},"nativeSrc":"218982:16:21","nodeType":"YulFunctionCall","src":"218982:16:21"},"nativeSrc":"218982:16:21","nodeType":"YulExpressionStatement","src":"218982:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219018:4:21","nodeType":"YulLiteral","src":"219018:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"219024:2:21","nodeType":"YulIdentifier","src":"219024:2:21"}],"functionName":{"name":"mstore","nativeSrc":"219011:6:21","nodeType":"YulIdentifier","src":"219011:6:21"},"nativeSrc":"219011:16:21","nodeType":"YulFunctionCall","src":"219011:16:21"},"nativeSrc":"219011:16:21","nodeType":"YulExpressionStatement","src":"219011:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219047:4:21","nodeType":"YulLiteral","src":"219047:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"219053:2:21","nodeType":"YulIdentifier","src":"219053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"219040:6:21","nodeType":"YulIdentifier","src":"219040:6:21"},"nativeSrc":"219040:16:21","nodeType":"YulFunctionCall","src":"219040:16:21"},"nativeSrc":"219040:16:21","nodeType":"YulExpressionStatement","src":"219040:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219076:4:21","nodeType":"YulLiteral","src":"219076:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"219082:2:21","nodeType":"YulIdentifier","src":"219082:2:21"}],"functionName":{"name":"mstore","nativeSrc":"219069:6:21","nodeType":"YulIdentifier","src":"219069:6:21"},"nativeSrc":"219069:16:21","nodeType":"YulFunctionCall","src":"219069:16:21"},"nativeSrc":"219069:16:21","nodeType":"YulExpressionStatement","src":"219069:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219105:4:21","nodeType":"YulLiteral","src":"219105:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"219111:2:21","nodeType":"YulIdentifier","src":"219111:2:21"}],"functionName":{"name":"mstore","nativeSrc":"219098:6:21","nodeType":"YulIdentifier","src":"219098:6:21"},"nativeSrc":"219098:16:21","nodeType":"YulFunctionCall","src":"219098:16:21"},"nativeSrc":"219098:16:21","nodeType":"YulExpressionStatement","src":"219098:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219134:4:21","nodeType":"YulLiteral","src":"219134:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"219140:2:21","nodeType":"YulIdentifier","src":"219140:2:21"}],"functionName":{"name":"mstore","nativeSrc":"219127:6:21","nodeType":"YulIdentifier","src":"219127:6:21"},"nativeSrc":"219127:16:21","nodeType":"YulFunctionCall","src":"219127:16:21"},"nativeSrc":"219127:16:21","nodeType":"YulExpressionStatement","src":"219127:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33882,"isOffset":false,"isSlot":false,"src":"218966:2:21","valueSize":1},{"declaration":33885,"isOffset":false,"isSlot":false,"src":"218995:2:21","valueSize":1},{"declaration":33888,"isOffset":false,"isSlot":false,"src":"219024:2:21","valueSize":1},{"declaration":33891,"isOffset":false,"isSlot":false,"src":"219053:2:21","valueSize":1},{"declaration":33894,"isOffset":false,"isSlot":false,"src":"219082:2:21","valueSize":1},{"declaration":33897,"isOffset":false,"isSlot":false,"src":"219111:2:21","valueSize":1},{"declaration":33900,"isOffset":false,"isSlot":false,"src":"219140:2:21","valueSize":1}],"id":33908,"nodeType":"InlineAssembly","src":"218930:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"217748:3:21","parameters":{"id":33879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33872,"mutability":"mutable","name":"p0","nameLocation":"217757:2:21","nodeType":"VariableDeclaration","scope":33910,"src":"217752:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33871,"name":"bool","nodeType":"ElementaryTypeName","src":"217752:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33874,"mutability":"mutable","name":"p1","nameLocation":"217769:2:21","nodeType":"VariableDeclaration","scope":33910,"src":"217761:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33873,"name":"uint256","nodeType":"ElementaryTypeName","src":"217761:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33876,"mutability":"mutable","name":"p2","nameLocation":"217781:2:21","nodeType":"VariableDeclaration","scope":33910,"src":"217773:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217773:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33878,"mutability":"mutable","name":"p3","nameLocation":"217793:2:21","nodeType":"VariableDeclaration","scope":33910,"src":"217785:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33877,"name":"address","nodeType":"ElementaryTypeName","src":"217785:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"217751:45:21"},"returnParameters":{"id":33880,"nodeType":"ParameterList","parameters":[],"src":"217811:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33950,"nodeType":"FunctionDefinition","src":"219165:1414:21","nodes":[],"body":{"id":33949,"nodeType":"Block","src":"219234:1345:21","nodes":[],"statements":[{"assignments":[33922],"declarations":[{"constant":false,"id":33922,"mutability":"mutable","name":"m0","nameLocation":"219252:2:21","nodeType":"VariableDeclaration","scope":33949,"src":"219244:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33921,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219244:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33923,"nodeType":"VariableDeclarationStatement","src":"219244:10:21"},{"assignments":[33925],"declarations":[{"constant":false,"id":33925,"mutability":"mutable","name":"m1","nameLocation":"219272:2:21","nodeType":"VariableDeclaration","scope":33949,"src":"219264:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219264:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33926,"nodeType":"VariableDeclarationStatement","src":"219264:10:21"},{"assignments":[33928],"declarations":[{"constant":false,"id":33928,"mutability":"mutable","name":"m2","nameLocation":"219292:2:21","nodeType":"VariableDeclaration","scope":33949,"src":"219284:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219284:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33929,"nodeType":"VariableDeclarationStatement","src":"219284:10:21"},{"assignments":[33931],"declarations":[{"constant":false,"id":33931,"mutability":"mutable","name":"m3","nameLocation":"219312:2:21","nodeType":"VariableDeclaration","scope":33949,"src":"219304:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33930,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219304:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33932,"nodeType":"VariableDeclarationStatement","src":"219304:10:21"},{"assignments":[33934],"declarations":[{"constant":false,"id":33934,"mutability":"mutable","name":"m4","nameLocation":"219332:2:21","nodeType":"VariableDeclaration","scope":33949,"src":"219324:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219324:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33935,"nodeType":"VariableDeclarationStatement","src":"219324:10:21"},{"assignments":[33937],"declarations":[{"constant":false,"id":33937,"mutability":"mutable","name":"m5","nameLocation":"219352:2:21","nodeType":"VariableDeclaration","scope":33949,"src":"219344:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219344:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33938,"nodeType":"VariableDeclarationStatement","src":"219344:10:21"},{"assignments":[33940],"declarations":[{"constant":false,"id":33940,"mutability":"mutable","name":"m6","nameLocation":"219372:2:21","nodeType":"VariableDeclaration","scope":33949,"src":"219364:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219364:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33941,"nodeType":"VariableDeclarationStatement","src":"219364:10:21"},{"AST":{"nativeSrc":"219436:825:21","nodeType":"YulBlock","src":"219436:825:21","statements":[{"body":{"nativeSrc":"219479:313:21","nodeType":"YulBlock","src":"219479:313:21","statements":[{"nativeSrc":"219497:15:21","nodeType":"YulVariableDeclaration","src":"219497:15:21","value":{"kind":"number","nativeSrc":"219511:1:21","nodeType":"YulLiteral","src":"219511:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"219501:6:21","nodeType":"YulTypedName","src":"219501:6:21","type":""}]},{"body":{"nativeSrc":"219582:40:21","nodeType":"YulBlock","src":"219582:40:21","statements":[{"body":{"nativeSrc":"219611:9:21","nodeType":"YulBlock","src":"219611:9:21","statements":[{"nativeSrc":"219613:5:21","nodeType":"YulBreak","src":"219613:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"219599:6:21","nodeType":"YulIdentifier","src":"219599:6:21"},{"name":"w","nativeSrc":"219607:1:21","nodeType":"YulIdentifier","src":"219607:1:21"}],"functionName":{"name":"byte","nativeSrc":"219594:4:21","nodeType":"YulIdentifier","src":"219594:4:21"},"nativeSrc":"219594:15:21","nodeType":"YulFunctionCall","src":"219594:15:21"}],"functionName":{"name":"iszero","nativeSrc":"219587:6:21","nodeType":"YulIdentifier","src":"219587:6:21"},"nativeSrc":"219587:23:21","nodeType":"YulFunctionCall","src":"219587:23:21"},"nativeSrc":"219584:36:21","nodeType":"YulIf","src":"219584:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"219539:6:21","nodeType":"YulIdentifier","src":"219539:6:21"},{"kind":"number","nativeSrc":"219547:4:21","nodeType":"YulLiteral","src":"219547:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"219536:2:21","nodeType":"YulIdentifier","src":"219536:2:21"},"nativeSrc":"219536:16:21","nodeType":"YulFunctionCall","src":"219536:16:21"},"nativeSrc":"219529:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"219553:28:21","nodeType":"YulBlock","src":"219553:28:21","statements":[{"nativeSrc":"219555:24:21","nodeType":"YulAssignment","src":"219555:24:21","value":{"arguments":[{"name":"length","nativeSrc":"219569:6:21","nodeType":"YulIdentifier","src":"219569:6:21"},{"kind":"number","nativeSrc":"219577:1:21","nodeType":"YulLiteral","src":"219577:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"219565:3:21","nodeType":"YulIdentifier","src":"219565:3:21"},"nativeSrc":"219565:14:21","nodeType":"YulFunctionCall","src":"219565:14:21"},"variableNames":[{"name":"length","nativeSrc":"219555:6:21","nodeType":"YulIdentifier","src":"219555:6:21"}]}]},"pre":{"nativeSrc":"219533:2:21","nodeType":"YulBlock","src":"219533:2:21","statements":[]},"src":"219529:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"219646:3:21","nodeType":"YulIdentifier","src":"219646:3:21"},{"name":"length","nativeSrc":"219651:6:21","nodeType":"YulIdentifier","src":"219651:6:21"}],"functionName":{"name":"mstore","nativeSrc":"219639:6:21","nodeType":"YulIdentifier","src":"219639:6:21"},"nativeSrc":"219639:19:21","nodeType":"YulFunctionCall","src":"219639:19:21"},"nativeSrc":"219639:19:21","nodeType":"YulExpressionStatement","src":"219639:19:21"},{"nativeSrc":"219675:37:21","nodeType":"YulVariableDeclaration","src":"219675:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"219692:3:21","nodeType":"YulLiteral","src":"219692:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"219701:1:21","nodeType":"YulLiteral","src":"219701:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"219704:6:21","nodeType":"YulIdentifier","src":"219704:6:21"}],"functionName":{"name":"shl","nativeSrc":"219697:3:21","nodeType":"YulIdentifier","src":"219697:3:21"},"nativeSrc":"219697:14:21","nodeType":"YulFunctionCall","src":"219697:14:21"}],"functionName":{"name":"sub","nativeSrc":"219688:3:21","nodeType":"YulIdentifier","src":"219688:3:21"},"nativeSrc":"219688:24:21","nodeType":"YulFunctionCall","src":"219688:24:21"},"variables":[{"name":"shift","nativeSrc":"219679:5:21","nodeType":"YulTypedName","src":"219679:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"219740:3:21","nodeType":"YulIdentifier","src":"219740:3:21"},{"kind":"number","nativeSrc":"219745:4:21","nodeType":"YulLiteral","src":"219745:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"219736:3:21","nodeType":"YulIdentifier","src":"219736:3:21"},"nativeSrc":"219736:14:21","nodeType":"YulFunctionCall","src":"219736:14:21"},{"arguments":[{"name":"shift","nativeSrc":"219756:5:21","nodeType":"YulIdentifier","src":"219756:5:21"},{"arguments":[{"name":"shift","nativeSrc":"219767:5:21","nodeType":"YulIdentifier","src":"219767:5:21"},{"name":"w","nativeSrc":"219774:1:21","nodeType":"YulIdentifier","src":"219774:1:21"}],"functionName":{"name":"shr","nativeSrc":"219763:3:21","nodeType":"YulIdentifier","src":"219763:3:21"},"nativeSrc":"219763:13:21","nodeType":"YulFunctionCall","src":"219763:13:21"}],"functionName":{"name":"shl","nativeSrc":"219752:3:21","nodeType":"YulIdentifier","src":"219752:3:21"},"nativeSrc":"219752:25:21","nodeType":"YulFunctionCall","src":"219752:25:21"}],"functionName":{"name":"mstore","nativeSrc":"219729:6:21","nodeType":"YulIdentifier","src":"219729:6:21"},"nativeSrc":"219729:49:21","nodeType":"YulFunctionCall","src":"219729:49:21"},"nativeSrc":"219729:49:21","nodeType":"YulExpressionStatement","src":"219729:49:21"}]},"name":"writeString","nativeSrc":"219450:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"219471:3:21","nodeType":"YulTypedName","src":"219471:3:21","type":""},{"name":"w","nativeSrc":"219476:1:21","nodeType":"YulTypedName","src":"219476:1:21","type":""}],"src":"219450:342:21"},{"nativeSrc":"219805:17:21","nodeType":"YulAssignment","src":"219805:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"219817:4:21","nodeType":"YulLiteral","src":"219817:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"219811:5:21","nodeType":"YulIdentifier","src":"219811:5:21"},"nativeSrc":"219811:11:21","nodeType":"YulFunctionCall","src":"219811:11:21"},"variableNames":[{"name":"m0","nativeSrc":"219805:2:21","nodeType":"YulIdentifier","src":"219805:2:21"}]},{"nativeSrc":"219835:17:21","nodeType":"YulAssignment","src":"219835:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"219847:4:21","nodeType":"YulLiteral","src":"219847:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"219841:5:21","nodeType":"YulIdentifier","src":"219841:5:21"},"nativeSrc":"219841:11:21","nodeType":"YulFunctionCall","src":"219841:11:21"},"variableNames":[{"name":"m1","nativeSrc":"219835:2:21","nodeType":"YulIdentifier","src":"219835:2:21"}]},{"nativeSrc":"219865:17:21","nodeType":"YulAssignment","src":"219865:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"219877:4:21","nodeType":"YulLiteral","src":"219877:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"219871:5:21","nodeType":"YulIdentifier","src":"219871:5:21"},"nativeSrc":"219871:11:21","nodeType":"YulFunctionCall","src":"219871:11:21"},"variableNames":[{"name":"m2","nativeSrc":"219865:2:21","nodeType":"YulIdentifier","src":"219865:2:21"}]},{"nativeSrc":"219895:17:21","nodeType":"YulAssignment","src":"219895:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"219907:4:21","nodeType":"YulLiteral","src":"219907:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"219901:5:21","nodeType":"YulIdentifier","src":"219901:5:21"},"nativeSrc":"219901:11:21","nodeType":"YulFunctionCall","src":"219901:11:21"},"variableNames":[{"name":"m3","nativeSrc":"219895:2:21","nodeType":"YulIdentifier","src":"219895:2:21"}]},{"nativeSrc":"219925:17:21","nodeType":"YulAssignment","src":"219925:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"219937:4:21","nodeType":"YulLiteral","src":"219937:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"219931:5:21","nodeType":"YulIdentifier","src":"219931:5:21"},"nativeSrc":"219931:11:21","nodeType":"YulFunctionCall","src":"219931:11:21"},"variableNames":[{"name":"m4","nativeSrc":"219925:2:21","nodeType":"YulIdentifier","src":"219925:2:21"}]},{"nativeSrc":"219955:17:21","nodeType":"YulAssignment","src":"219955:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"219967:4:21","nodeType":"YulLiteral","src":"219967:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"219961:5:21","nodeType":"YulIdentifier","src":"219961:5:21"},"nativeSrc":"219961:11:21","nodeType":"YulFunctionCall","src":"219961:11:21"},"variableNames":[{"name":"m5","nativeSrc":"219955:2:21","nodeType":"YulIdentifier","src":"219955:2:21"}]},{"nativeSrc":"219985:17:21","nodeType":"YulAssignment","src":"219985:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"219997:4:21","nodeType":"YulLiteral","src":"219997:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"219991:5:21","nodeType":"YulIdentifier","src":"219991:5:21"},"nativeSrc":"219991:11:21","nodeType":"YulFunctionCall","src":"219991:11:21"},"variableNames":[{"name":"m6","nativeSrc":"219985:2:21","nodeType":"YulIdentifier","src":"219985:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220082:4:21","nodeType":"YulLiteral","src":"220082:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"220088:10:21","nodeType":"YulLiteral","src":"220088:10:21","type":"","value":"0xe5e70b2b"}],"functionName":{"name":"mstore","nativeSrc":"220075:6:21","nodeType":"YulIdentifier","src":"220075:6:21"},"nativeSrc":"220075:24:21","nodeType":"YulFunctionCall","src":"220075:24:21"},"nativeSrc":"220075:24:21","nodeType":"YulExpressionStatement","src":"220075:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220119:4:21","nodeType":"YulLiteral","src":"220119:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"220125:2:21","nodeType":"YulIdentifier","src":"220125:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220112:6:21","nodeType":"YulIdentifier","src":"220112:6:21"},"nativeSrc":"220112:16:21","nodeType":"YulFunctionCall","src":"220112:16:21"},"nativeSrc":"220112:16:21","nodeType":"YulExpressionStatement","src":"220112:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220148:4:21","nodeType":"YulLiteral","src":"220148:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"220154:2:21","nodeType":"YulIdentifier","src":"220154:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220141:6:21","nodeType":"YulIdentifier","src":"220141:6:21"},"nativeSrc":"220141:16:21","nodeType":"YulFunctionCall","src":"220141:16:21"},"nativeSrc":"220141:16:21","nodeType":"YulExpressionStatement","src":"220141:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220177:4:21","nodeType":"YulLiteral","src":"220177:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"220183:4:21","nodeType":"YulLiteral","src":"220183:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"220170:6:21","nodeType":"YulIdentifier","src":"220170:6:21"},"nativeSrc":"220170:18:21","nodeType":"YulFunctionCall","src":"220170:18:21"},"nativeSrc":"220170:18:21","nodeType":"YulExpressionStatement","src":"220170:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220208:4:21","nodeType":"YulLiteral","src":"220208:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"220214:2:21","nodeType":"YulIdentifier","src":"220214:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220201:6:21","nodeType":"YulIdentifier","src":"220201:6:21"},"nativeSrc":"220201:16:21","nodeType":"YulFunctionCall","src":"220201:16:21"},"nativeSrc":"220201:16:21","nodeType":"YulExpressionStatement","src":"220201:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220242:4:21","nodeType":"YulLiteral","src":"220242:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"220248:2:21","nodeType":"YulIdentifier","src":"220248:2:21"}],"functionName":{"name":"writeString","nativeSrc":"220230:11:21","nodeType":"YulIdentifier","src":"220230:11:21"},"nativeSrc":"220230:21:21","nodeType":"YulFunctionCall","src":"220230:21:21"},"nativeSrc":"220230:21:21","nodeType":"YulExpressionStatement","src":"220230:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33922,"isOffset":false,"isSlot":false,"src":"219805:2:21","valueSize":1},{"declaration":33925,"isOffset":false,"isSlot":false,"src":"219835:2:21","valueSize":1},{"declaration":33928,"isOffset":false,"isSlot":false,"src":"219865:2:21","valueSize":1},{"declaration":33931,"isOffset":false,"isSlot":false,"src":"219895:2:21","valueSize":1},{"declaration":33934,"isOffset":false,"isSlot":false,"src":"219925:2:21","valueSize":1},{"declaration":33937,"isOffset":false,"isSlot":false,"src":"219955:2:21","valueSize":1},{"declaration":33940,"isOffset":false,"isSlot":false,"src":"219985:2:21","valueSize":1},{"declaration":33912,"isOffset":false,"isSlot":false,"src":"220125:2:21","valueSize":1},{"declaration":33914,"isOffset":false,"isSlot":false,"src":"220154:2:21","valueSize":1},{"declaration":33916,"isOffset":false,"isSlot":false,"src":"220248:2:21","valueSize":1},{"declaration":33918,"isOffset":false,"isSlot":false,"src":"220214:2:21","valueSize":1}],"id":33942,"nodeType":"InlineAssembly","src":"219427:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"220286:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"220292:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33943,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"220270:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"220270:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33947,"nodeType":"ExpressionStatement","src":"220270:27:21"},{"AST":{"nativeSrc":"220359:214:21","nodeType":"YulBlock","src":"220359:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"220380:4:21","nodeType":"YulLiteral","src":"220380:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"220386:2:21","nodeType":"YulIdentifier","src":"220386:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220373:6:21","nodeType":"YulIdentifier","src":"220373:6:21"},"nativeSrc":"220373:16:21","nodeType":"YulFunctionCall","src":"220373:16:21"},"nativeSrc":"220373:16:21","nodeType":"YulExpressionStatement","src":"220373:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220409:4:21","nodeType":"YulLiteral","src":"220409:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"220415:2:21","nodeType":"YulIdentifier","src":"220415:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220402:6:21","nodeType":"YulIdentifier","src":"220402:6:21"},"nativeSrc":"220402:16:21","nodeType":"YulFunctionCall","src":"220402:16:21"},"nativeSrc":"220402:16:21","nodeType":"YulExpressionStatement","src":"220402:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220438:4:21","nodeType":"YulLiteral","src":"220438:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"220444:2:21","nodeType":"YulIdentifier","src":"220444:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220431:6:21","nodeType":"YulIdentifier","src":"220431:6:21"},"nativeSrc":"220431:16:21","nodeType":"YulFunctionCall","src":"220431:16:21"},"nativeSrc":"220431:16:21","nodeType":"YulExpressionStatement","src":"220431:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220467:4:21","nodeType":"YulLiteral","src":"220467:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"220473:2:21","nodeType":"YulIdentifier","src":"220473:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220460:6:21","nodeType":"YulIdentifier","src":"220460:6:21"},"nativeSrc":"220460:16:21","nodeType":"YulFunctionCall","src":"220460:16:21"},"nativeSrc":"220460:16:21","nodeType":"YulExpressionStatement","src":"220460:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220496:4:21","nodeType":"YulLiteral","src":"220496:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"220502:2:21","nodeType":"YulIdentifier","src":"220502:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220489:6:21","nodeType":"YulIdentifier","src":"220489:6:21"},"nativeSrc":"220489:16:21","nodeType":"YulFunctionCall","src":"220489:16:21"},"nativeSrc":"220489:16:21","nodeType":"YulExpressionStatement","src":"220489:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220525:4:21","nodeType":"YulLiteral","src":"220525:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"220531:2:21","nodeType":"YulIdentifier","src":"220531:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220518:6:21","nodeType":"YulIdentifier","src":"220518:6:21"},"nativeSrc":"220518:16:21","nodeType":"YulFunctionCall","src":"220518:16:21"},"nativeSrc":"220518:16:21","nodeType":"YulExpressionStatement","src":"220518:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220554:4:21","nodeType":"YulLiteral","src":"220554:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"220560:2:21","nodeType":"YulIdentifier","src":"220560:2:21"}],"functionName":{"name":"mstore","nativeSrc":"220547:6:21","nodeType":"YulIdentifier","src":"220547:6:21"},"nativeSrc":"220547:16:21","nodeType":"YulFunctionCall","src":"220547:16:21"},"nativeSrc":"220547:16:21","nodeType":"YulExpressionStatement","src":"220547:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33922,"isOffset":false,"isSlot":false,"src":"220386:2:21","valueSize":1},{"declaration":33925,"isOffset":false,"isSlot":false,"src":"220415:2:21","valueSize":1},{"declaration":33928,"isOffset":false,"isSlot":false,"src":"220444:2:21","valueSize":1},{"declaration":33931,"isOffset":false,"isSlot":false,"src":"220473:2:21","valueSize":1},{"declaration":33934,"isOffset":false,"isSlot":false,"src":"220502:2:21","valueSize":1},{"declaration":33937,"isOffset":false,"isSlot":false,"src":"220531:2:21","valueSize":1},{"declaration":33940,"isOffset":false,"isSlot":false,"src":"220560:2:21","valueSize":1}],"id":33948,"nodeType":"InlineAssembly","src":"220350:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"219174:3:21","parameters":{"id":33919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33912,"mutability":"mutable","name":"p0","nameLocation":"219183:2:21","nodeType":"VariableDeclaration","scope":33950,"src":"219178:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33911,"name":"bool","nodeType":"ElementaryTypeName","src":"219178:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33914,"mutability":"mutable","name":"p1","nameLocation":"219195:2:21","nodeType":"VariableDeclaration","scope":33950,"src":"219187:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33913,"name":"uint256","nodeType":"ElementaryTypeName","src":"219187:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33916,"mutability":"mutable","name":"p2","nameLocation":"219207:2:21","nodeType":"VariableDeclaration","scope":33950,"src":"219199:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219199:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33918,"mutability":"mutable","name":"p3","nameLocation":"219216:2:21","nodeType":"VariableDeclaration","scope":33950,"src":"219211:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33917,"name":"bool","nodeType":"ElementaryTypeName","src":"219211:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"219177:42:21"},"returnParameters":{"id":33920,"nodeType":"ParameterList","parameters":[],"src":"219234:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33990,"nodeType":"FunctionDefinition","src":"220585:1420:21","nodes":[],"body":{"id":33989,"nodeType":"Block","src":"220657:1348:21","nodes":[],"statements":[{"assignments":[33962],"declarations":[{"constant":false,"id":33962,"mutability":"mutable","name":"m0","nameLocation":"220675:2:21","nodeType":"VariableDeclaration","scope":33989,"src":"220667:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220667:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33963,"nodeType":"VariableDeclarationStatement","src":"220667:10:21"},{"assignments":[33965],"declarations":[{"constant":false,"id":33965,"mutability":"mutable","name":"m1","nameLocation":"220695:2:21","nodeType":"VariableDeclaration","scope":33989,"src":"220687:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220687:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33966,"nodeType":"VariableDeclarationStatement","src":"220687:10:21"},{"assignments":[33968],"declarations":[{"constant":false,"id":33968,"mutability":"mutable","name":"m2","nameLocation":"220715:2:21","nodeType":"VariableDeclaration","scope":33989,"src":"220707:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220707:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33969,"nodeType":"VariableDeclarationStatement","src":"220707:10:21"},{"assignments":[33971],"declarations":[{"constant":false,"id":33971,"mutability":"mutable","name":"m3","nameLocation":"220735:2:21","nodeType":"VariableDeclaration","scope":33989,"src":"220727:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220727:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33972,"nodeType":"VariableDeclarationStatement","src":"220727:10:21"},{"assignments":[33974],"declarations":[{"constant":false,"id":33974,"mutability":"mutable","name":"m4","nameLocation":"220755:2:21","nodeType":"VariableDeclaration","scope":33989,"src":"220747:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220747:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33975,"nodeType":"VariableDeclarationStatement","src":"220747:10:21"},{"assignments":[33977],"declarations":[{"constant":false,"id":33977,"mutability":"mutable","name":"m5","nameLocation":"220775:2:21","nodeType":"VariableDeclaration","scope":33989,"src":"220767:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220767:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33978,"nodeType":"VariableDeclarationStatement","src":"220767:10:21"},{"assignments":[33980],"declarations":[{"constant":false,"id":33980,"mutability":"mutable","name":"m6","nameLocation":"220795:2:21","nodeType":"VariableDeclaration","scope":33989,"src":"220787:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220787:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33981,"nodeType":"VariableDeclarationStatement","src":"220787:10:21"},{"AST":{"nativeSrc":"220859:828:21","nodeType":"YulBlock","src":"220859:828:21","statements":[{"body":{"nativeSrc":"220902:313:21","nodeType":"YulBlock","src":"220902:313:21","statements":[{"nativeSrc":"220920:15:21","nodeType":"YulVariableDeclaration","src":"220920:15:21","value":{"kind":"number","nativeSrc":"220934:1:21","nodeType":"YulLiteral","src":"220934:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"220924:6:21","nodeType":"YulTypedName","src":"220924:6:21","type":""}]},{"body":{"nativeSrc":"221005:40:21","nodeType":"YulBlock","src":"221005:40:21","statements":[{"body":{"nativeSrc":"221034:9:21","nodeType":"YulBlock","src":"221034:9:21","statements":[{"nativeSrc":"221036:5:21","nodeType":"YulBreak","src":"221036:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"221022:6:21","nodeType":"YulIdentifier","src":"221022:6:21"},{"name":"w","nativeSrc":"221030:1:21","nodeType":"YulIdentifier","src":"221030:1:21"}],"functionName":{"name":"byte","nativeSrc":"221017:4:21","nodeType":"YulIdentifier","src":"221017:4:21"},"nativeSrc":"221017:15:21","nodeType":"YulFunctionCall","src":"221017:15:21"}],"functionName":{"name":"iszero","nativeSrc":"221010:6:21","nodeType":"YulIdentifier","src":"221010:6:21"},"nativeSrc":"221010:23:21","nodeType":"YulFunctionCall","src":"221010:23:21"},"nativeSrc":"221007:36:21","nodeType":"YulIf","src":"221007:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"220962:6:21","nodeType":"YulIdentifier","src":"220962:6:21"},{"kind":"number","nativeSrc":"220970:4:21","nodeType":"YulLiteral","src":"220970:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"220959:2:21","nodeType":"YulIdentifier","src":"220959:2:21"},"nativeSrc":"220959:16:21","nodeType":"YulFunctionCall","src":"220959:16:21"},"nativeSrc":"220952:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"220976:28:21","nodeType":"YulBlock","src":"220976:28:21","statements":[{"nativeSrc":"220978:24:21","nodeType":"YulAssignment","src":"220978:24:21","value":{"arguments":[{"name":"length","nativeSrc":"220992:6:21","nodeType":"YulIdentifier","src":"220992:6:21"},{"kind":"number","nativeSrc":"221000:1:21","nodeType":"YulLiteral","src":"221000:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"220988:3:21","nodeType":"YulIdentifier","src":"220988:3:21"},"nativeSrc":"220988:14:21","nodeType":"YulFunctionCall","src":"220988:14:21"},"variableNames":[{"name":"length","nativeSrc":"220978:6:21","nodeType":"YulIdentifier","src":"220978:6:21"}]}]},"pre":{"nativeSrc":"220956:2:21","nodeType":"YulBlock","src":"220956:2:21","statements":[]},"src":"220952:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"221069:3:21","nodeType":"YulIdentifier","src":"221069:3:21"},{"name":"length","nativeSrc":"221074:6:21","nodeType":"YulIdentifier","src":"221074:6:21"}],"functionName":{"name":"mstore","nativeSrc":"221062:6:21","nodeType":"YulIdentifier","src":"221062:6:21"},"nativeSrc":"221062:19:21","nodeType":"YulFunctionCall","src":"221062:19:21"},"nativeSrc":"221062:19:21","nodeType":"YulExpressionStatement","src":"221062:19:21"},{"nativeSrc":"221098:37:21","nodeType":"YulVariableDeclaration","src":"221098:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"221115:3:21","nodeType":"YulLiteral","src":"221115:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"221124:1:21","nodeType":"YulLiteral","src":"221124:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"221127:6:21","nodeType":"YulIdentifier","src":"221127:6:21"}],"functionName":{"name":"shl","nativeSrc":"221120:3:21","nodeType":"YulIdentifier","src":"221120:3:21"},"nativeSrc":"221120:14:21","nodeType":"YulFunctionCall","src":"221120:14:21"}],"functionName":{"name":"sub","nativeSrc":"221111:3:21","nodeType":"YulIdentifier","src":"221111:3:21"},"nativeSrc":"221111:24:21","nodeType":"YulFunctionCall","src":"221111:24:21"},"variables":[{"name":"shift","nativeSrc":"221102:5:21","nodeType":"YulTypedName","src":"221102:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"221163:3:21","nodeType":"YulIdentifier","src":"221163:3:21"},{"kind":"number","nativeSrc":"221168:4:21","nodeType":"YulLiteral","src":"221168:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"221159:3:21","nodeType":"YulIdentifier","src":"221159:3:21"},"nativeSrc":"221159:14:21","nodeType":"YulFunctionCall","src":"221159:14:21"},{"arguments":[{"name":"shift","nativeSrc":"221179:5:21","nodeType":"YulIdentifier","src":"221179:5:21"},{"arguments":[{"name":"shift","nativeSrc":"221190:5:21","nodeType":"YulIdentifier","src":"221190:5:21"},{"name":"w","nativeSrc":"221197:1:21","nodeType":"YulIdentifier","src":"221197:1:21"}],"functionName":{"name":"shr","nativeSrc":"221186:3:21","nodeType":"YulIdentifier","src":"221186:3:21"},"nativeSrc":"221186:13:21","nodeType":"YulFunctionCall","src":"221186:13:21"}],"functionName":{"name":"shl","nativeSrc":"221175:3:21","nodeType":"YulIdentifier","src":"221175:3:21"},"nativeSrc":"221175:25:21","nodeType":"YulFunctionCall","src":"221175:25:21"}],"functionName":{"name":"mstore","nativeSrc":"221152:6:21","nodeType":"YulIdentifier","src":"221152:6:21"},"nativeSrc":"221152:49:21","nodeType":"YulFunctionCall","src":"221152:49:21"},"nativeSrc":"221152:49:21","nodeType":"YulExpressionStatement","src":"221152:49:21"}]},"name":"writeString","nativeSrc":"220873:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"220894:3:21","nodeType":"YulTypedName","src":"220894:3:21","type":""},{"name":"w","nativeSrc":"220899:1:21","nodeType":"YulTypedName","src":"220899:1:21","type":""}],"src":"220873:342:21"},{"nativeSrc":"221228:17:21","nodeType":"YulAssignment","src":"221228:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"221240:4:21","nodeType":"YulLiteral","src":"221240:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"221234:5:21","nodeType":"YulIdentifier","src":"221234:5:21"},"nativeSrc":"221234:11:21","nodeType":"YulFunctionCall","src":"221234:11:21"},"variableNames":[{"name":"m0","nativeSrc":"221228:2:21","nodeType":"YulIdentifier","src":"221228:2:21"}]},{"nativeSrc":"221258:17:21","nodeType":"YulAssignment","src":"221258:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"221270:4:21","nodeType":"YulLiteral","src":"221270:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"221264:5:21","nodeType":"YulIdentifier","src":"221264:5:21"},"nativeSrc":"221264:11:21","nodeType":"YulFunctionCall","src":"221264:11:21"},"variableNames":[{"name":"m1","nativeSrc":"221258:2:21","nodeType":"YulIdentifier","src":"221258:2:21"}]},{"nativeSrc":"221288:17:21","nodeType":"YulAssignment","src":"221288:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"221300:4:21","nodeType":"YulLiteral","src":"221300:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"221294:5:21","nodeType":"YulIdentifier","src":"221294:5:21"},"nativeSrc":"221294:11:21","nodeType":"YulFunctionCall","src":"221294:11:21"},"variableNames":[{"name":"m2","nativeSrc":"221288:2:21","nodeType":"YulIdentifier","src":"221288:2:21"}]},{"nativeSrc":"221318:17:21","nodeType":"YulAssignment","src":"221318:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"221330:4:21","nodeType":"YulLiteral","src":"221330:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"221324:5:21","nodeType":"YulIdentifier","src":"221324:5:21"},"nativeSrc":"221324:11:21","nodeType":"YulFunctionCall","src":"221324:11:21"},"variableNames":[{"name":"m3","nativeSrc":"221318:2:21","nodeType":"YulIdentifier","src":"221318:2:21"}]},{"nativeSrc":"221348:17:21","nodeType":"YulAssignment","src":"221348:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"221360:4:21","nodeType":"YulLiteral","src":"221360:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"221354:5:21","nodeType":"YulIdentifier","src":"221354:5:21"},"nativeSrc":"221354:11:21","nodeType":"YulFunctionCall","src":"221354:11:21"},"variableNames":[{"name":"m4","nativeSrc":"221348:2:21","nodeType":"YulIdentifier","src":"221348:2:21"}]},{"nativeSrc":"221378:17:21","nodeType":"YulAssignment","src":"221378:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"221390:4:21","nodeType":"YulLiteral","src":"221390:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"221384:5:21","nodeType":"YulIdentifier","src":"221384:5:21"},"nativeSrc":"221384:11:21","nodeType":"YulFunctionCall","src":"221384:11:21"},"variableNames":[{"name":"m5","nativeSrc":"221378:2:21","nodeType":"YulIdentifier","src":"221378:2:21"}]},{"nativeSrc":"221408:17:21","nodeType":"YulAssignment","src":"221408:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"221420:4:21","nodeType":"YulLiteral","src":"221420:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"221414:5:21","nodeType":"YulIdentifier","src":"221414:5:21"},"nativeSrc":"221414:11:21","nodeType":"YulFunctionCall","src":"221414:11:21"},"variableNames":[{"name":"m6","nativeSrc":"221408:2:21","nodeType":"YulIdentifier","src":"221408:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221508:4:21","nodeType":"YulLiteral","src":"221508:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"221514:10:21","nodeType":"YulLiteral","src":"221514:10:21","type":"","value":"0x6a1199e2"}],"functionName":{"name":"mstore","nativeSrc":"221501:6:21","nodeType":"YulIdentifier","src":"221501:6:21"},"nativeSrc":"221501:24:21","nodeType":"YulFunctionCall","src":"221501:24:21"},"nativeSrc":"221501:24:21","nodeType":"YulExpressionStatement","src":"221501:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221545:4:21","nodeType":"YulLiteral","src":"221545:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"221551:2:21","nodeType":"YulIdentifier","src":"221551:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221538:6:21","nodeType":"YulIdentifier","src":"221538:6:21"},"nativeSrc":"221538:16:21","nodeType":"YulFunctionCall","src":"221538:16:21"},"nativeSrc":"221538:16:21","nodeType":"YulExpressionStatement","src":"221538:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221574:4:21","nodeType":"YulLiteral","src":"221574:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"221580:2:21","nodeType":"YulIdentifier","src":"221580:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221567:6:21","nodeType":"YulIdentifier","src":"221567:6:21"},"nativeSrc":"221567:16:21","nodeType":"YulFunctionCall","src":"221567:16:21"},"nativeSrc":"221567:16:21","nodeType":"YulExpressionStatement","src":"221567:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221603:4:21","nodeType":"YulLiteral","src":"221603:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"221609:4:21","nodeType":"YulLiteral","src":"221609:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"221596:6:21","nodeType":"YulIdentifier","src":"221596:6:21"},"nativeSrc":"221596:18:21","nodeType":"YulFunctionCall","src":"221596:18:21"},"nativeSrc":"221596:18:21","nodeType":"YulExpressionStatement","src":"221596:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221634:4:21","nodeType":"YulLiteral","src":"221634:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"221640:2:21","nodeType":"YulIdentifier","src":"221640:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221627:6:21","nodeType":"YulIdentifier","src":"221627:6:21"},"nativeSrc":"221627:16:21","nodeType":"YulFunctionCall","src":"221627:16:21"},"nativeSrc":"221627:16:21","nodeType":"YulExpressionStatement","src":"221627:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221668:4:21","nodeType":"YulLiteral","src":"221668:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"221674:2:21","nodeType":"YulIdentifier","src":"221674:2:21"}],"functionName":{"name":"writeString","nativeSrc":"221656:11:21","nodeType":"YulIdentifier","src":"221656:11:21"},"nativeSrc":"221656:21:21","nodeType":"YulFunctionCall","src":"221656:21:21"},"nativeSrc":"221656:21:21","nodeType":"YulExpressionStatement","src":"221656:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33962,"isOffset":false,"isSlot":false,"src":"221228:2:21","valueSize":1},{"declaration":33965,"isOffset":false,"isSlot":false,"src":"221258:2:21","valueSize":1},{"declaration":33968,"isOffset":false,"isSlot":false,"src":"221288:2:21","valueSize":1},{"declaration":33971,"isOffset":false,"isSlot":false,"src":"221318:2:21","valueSize":1},{"declaration":33974,"isOffset":false,"isSlot":false,"src":"221348:2:21","valueSize":1},{"declaration":33977,"isOffset":false,"isSlot":false,"src":"221378:2:21","valueSize":1},{"declaration":33980,"isOffset":false,"isSlot":false,"src":"221408:2:21","valueSize":1},{"declaration":33952,"isOffset":false,"isSlot":false,"src":"221551:2:21","valueSize":1},{"declaration":33954,"isOffset":false,"isSlot":false,"src":"221580:2:21","valueSize":1},{"declaration":33956,"isOffset":false,"isSlot":false,"src":"221674:2:21","valueSize":1},{"declaration":33958,"isOffset":false,"isSlot":false,"src":"221640:2:21","valueSize":1}],"id":33982,"nodeType":"InlineAssembly","src":"220850:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":33984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"221712:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"221718:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33983,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"221696:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"221696:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33987,"nodeType":"ExpressionStatement","src":"221696:27:21"},{"AST":{"nativeSrc":"221785:214:21","nodeType":"YulBlock","src":"221785:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"221806:4:21","nodeType":"YulLiteral","src":"221806:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"221812:2:21","nodeType":"YulIdentifier","src":"221812:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221799:6:21","nodeType":"YulIdentifier","src":"221799:6:21"},"nativeSrc":"221799:16:21","nodeType":"YulFunctionCall","src":"221799:16:21"},"nativeSrc":"221799:16:21","nodeType":"YulExpressionStatement","src":"221799:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221835:4:21","nodeType":"YulLiteral","src":"221835:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"221841:2:21","nodeType":"YulIdentifier","src":"221841:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221828:6:21","nodeType":"YulIdentifier","src":"221828:6:21"},"nativeSrc":"221828:16:21","nodeType":"YulFunctionCall","src":"221828:16:21"},"nativeSrc":"221828:16:21","nodeType":"YulExpressionStatement","src":"221828:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221864:4:21","nodeType":"YulLiteral","src":"221864:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"221870:2:21","nodeType":"YulIdentifier","src":"221870:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221857:6:21","nodeType":"YulIdentifier","src":"221857:6:21"},"nativeSrc":"221857:16:21","nodeType":"YulFunctionCall","src":"221857:16:21"},"nativeSrc":"221857:16:21","nodeType":"YulExpressionStatement","src":"221857:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221893:4:21","nodeType":"YulLiteral","src":"221893:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"221899:2:21","nodeType":"YulIdentifier","src":"221899:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221886:6:21","nodeType":"YulIdentifier","src":"221886:6:21"},"nativeSrc":"221886:16:21","nodeType":"YulFunctionCall","src":"221886:16:21"},"nativeSrc":"221886:16:21","nodeType":"YulExpressionStatement","src":"221886:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221922:4:21","nodeType":"YulLiteral","src":"221922:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"221928:2:21","nodeType":"YulIdentifier","src":"221928:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221915:6:21","nodeType":"YulIdentifier","src":"221915:6:21"},"nativeSrc":"221915:16:21","nodeType":"YulFunctionCall","src":"221915:16:21"},"nativeSrc":"221915:16:21","nodeType":"YulExpressionStatement","src":"221915:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221951:4:21","nodeType":"YulLiteral","src":"221951:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"221957:2:21","nodeType":"YulIdentifier","src":"221957:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221944:6:21","nodeType":"YulIdentifier","src":"221944:6:21"},"nativeSrc":"221944:16:21","nodeType":"YulFunctionCall","src":"221944:16:21"},"nativeSrc":"221944:16:21","nodeType":"YulExpressionStatement","src":"221944:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221980:4:21","nodeType":"YulLiteral","src":"221980:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"221986:2:21","nodeType":"YulIdentifier","src":"221986:2:21"}],"functionName":{"name":"mstore","nativeSrc":"221973:6:21","nodeType":"YulIdentifier","src":"221973:6:21"},"nativeSrc":"221973:16:21","nodeType":"YulFunctionCall","src":"221973:16:21"},"nativeSrc":"221973:16:21","nodeType":"YulExpressionStatement","src":"221973:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":33962,"isOffset":false,"isSlot":false,"src":"221812:2:21","valueSize":1},{"declaration":33965,"isOffset":false,"isSlot":false,"src":"221841:2:21","valueSize":1},{"declaration":33968,"isOffset":false,"isSlot":false,"src":"221870:2:21","valueSize":1},{"declaration":33971,"isOffset":false,"isSlot":false,"src":"221899:2:21","valueSize":1},{"declaration":33974,"isOffset":false,"isSlot":false,"src":"221928:2:21","valueSize":1},{"declaration":33977,"isOffset":false,"isSlot":false,"src":"221957:2:21","valueSize":1},{"declaration":33980,"isOffset":false,"isSlot":false,"src":"221986:2:21","valueSize":1}],"id":33988,"nodeType":"InlineAssembly","src":"221776:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"220594:3:21","parameters":{"id":33959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33952,"mutability":"mutable","name":"p0","nameLocation":"220603:2:21","nodeType":"VariableDeclaration","scope":33990,"src":"220598:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33951,"name":"bool","nodeType":"ElementaryTypeName","src":"220598:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33954,"mutability":"mutable","name":"p1","nameLocation":"220615:2:21","nodeType":"VariableDeclaration","scope":33990,"src":"220607:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33953,"name":"uint256","nodeType":"ElementaryTypeName","src":"220607:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33956,"mutability":"mutable","name":"p2","nameLocation":"220627:2:21","nodeType":"VariableDeclaration","scope":33990,"src":"220619:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220619:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33958,"mutability":"mutable","name":"p3","nameLocation":"220639:2:21","nodeType":"VariableDeclaration","scope":33990,"src":"220631:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33957,"name":"uint256","nodeType":"ElementaryTypeName","src":"220631:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"220597:45:21"},"returnParameters":{"id":33960,"nodeType":"ParameterList","parameters":[],"src":"220657:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34036,"nodeType":"FunctionDefinition","src":"222011:1616:21","nodes":[],"body":{"id":34035,"nodeType":"Block","src":"222083:1544:21","nodes":[],"statements":[{"assignments":[34002],"declarations":[{"constant":false,"id":34002,"mutability":"mutable","name":"m0","nameLocation":"222101:2:21","nodeType":"VariableDeclaration","scope":34035,"src":"222093:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222093:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34003,"nodeType":"VariableDeclarationStatement","src":"222093:10:21"},{"assignments":[34005],"declarations":[{"constant":false,"id":34005,"mutability":"mutable","name":"m1","nameLocation":"222121:2:21","nodeType":"VariableDeclaration","scope":34035,"src":"222113:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222113:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34006,"nodeType":"VariableDeclarationStatement","src":"222113:10:21"},{"assignments":[34008],"declarations":[{"constant":false,"id":34008,"mutability":"mutable","name":"m2","nameLocation":"222141:2:21","nodeType":"VariableDeclaration","scope":34035,"src":"222133:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222133:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34009,"nodeType":"VariableDeclarationStatement","src":"222133:10:21"},{"assignments":[34011],"declarations":[{"constant":false,"id":34011,"mutability":"mutable","name":"m3","nameLocation":"222161:2:21","nodeType":"VariableDeclaration","scope":34035,"src":"222153:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222153:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34012,"nodeType":"VariableDeclarationStatement","src":"222153:10:21"},{"assignments":[34014],"declarations":[{"constant":false,"id":34014,"mutability":"mutable","name":"m4","nameLocation":"222181:2:21","nodeType":"VariableDeclaration","scope":34035,"src":"222173:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222173:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34015,"nodeType":"VariableDeclarationStatement","src":"222173:10:21"},{"assignments":[34017],"declarations":[{"constant":false,"id":34017,"mutability":"mutable","name":"m5","nameLocation":"222201:2:21","nodeType":"VariableDeclaration","scope":34035,"src":"222193:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222193:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34018,"nodeType":"VariableDeclarationStatement","src":"222193:10:21"},{"assignments":[34020],"declarations":[{"constant":false,"id":34020,"mutability":"mutable","name":"m6","nameLocation":"222221:2:21","nodeType":"VariableDeclaration","scope":34035,"src":"222213:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222213:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34021,"nodeType":"VariableDeclarationStatement","src":"222213:10:21"},{"assignments":[34023],"declarations":[{"constant":false,"id":34023,"mutability":"mutable","name":"m7","nameLocation":"222241:2:21","nodeType":"VariableDeclaration","scope":34035,"src":"222233:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222233:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34024,"nodeType":"VariableDeclarationStatement","src":"222233:10:21"},{"assignments":[34026],"declarations":[{"constant":false,"id":34026,"mutability":"mutable","name":"m8","nameLocation":"222261:2:21","nodeType":"VariableDeclaration","scope":34035,"src":"222253:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222253:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34027,"nodeType":"VariableDeclarationStatement","src":"222253:10:21"},{"AST":{"nativeSrc":"222325:924:21","nodeType":"YulBlock","src":"222325:924:21","statements":[{"body":{"nativeSrc":"222368:313:21","nodeType":"YulBlock","src":"222368:313:21","statements":[{"nativeSrc":"222386:15:21","nodeType":"YulVariableDeclaration","src":"222386:15:21","value":{"kind":"number","nativeSrc":"222400:1:21","nodeType":"YulLiteral","src":"222400:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"222390:6:21","nodeType":"YulTypedName","src":"222390:6:21","type":""}]},{"body":{"nativeSrc":"222471:40:21","nodeType":"YulBlock","src":"222471:40:21","statements":[{"body":{"nativeSrc":"222500:9:21","nodeType":"YulBlock","src":"222500:9:21","statements":[{"nativeSrc":"222502:5:21","nodeType":"YulBreak","src":"222502:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"222488:6:21","nodeType":"YulIdentifier","src":"222488:6:21"},{"name":"w","nativeSrc":"222496:1:21","nodeType":"YulIdentifier","src":"222496:1:21"}],"functionName":{"name":"byte","nativeSrc":"222483:4:21","nodeType":"YulIdentifier","src":"222483:4:21"},"nativeSrc":"222483:15:21","nodeType":"YulFunctionCall","src":"222483:15:21"}],"functionName":{"name":"iszero","nativeSrc":"222476:6:21","nodeType":"YulIdentifier","src":"222476:6:21"},"nativeSrc":"222476:23:21","nodeType":"YulFunctionCall","src":"222476:23:21"},"nativeSrc":"222473:36:21","nodeType":"YulIf","src":"222473:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"222428:6:21","nodeType":"YulIdentifier","src":"222428:6:21"},{"kind":"number","nativeSrc":"222436:4:21","nodeType":"YulLiteral","src":"222436:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"222425:2:21","nodeType":"YulIdentifier","src":"222425:2:21"},"nativeSrc":"222425:16:21","nodeType":"YulFunctionCall","src":"222425:16:21"},"nativeSrc":"222418:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"222442:28:21","nodeType":"YulBlock","src":"222442:28:21","statements":[{"nativeSrc":"222444:24:21","nodeType":"YulAssignment","src":"222444:24:21","value":{"arguments":[{"name":"length","nativeSrc":"222458:6:21","nodeType":"YulIdentifier","src":"222458:6:21"},{"kind":"number","nativeSrc":"222466:1:21","nodeType":"YulLiteral","src":"222466:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"222454:3:21","nodeType":"YulIdentifier","src":"222454:3:21"},"nativeSrc":"222454:14:21","nodeType":"YulFunctionCall","src":"222454:14:21"},"variableNames":[{"name":"length","nativeSrc":"222444:6:21","nodeType":"YulIdentifier","src":"222444:6:21"}]}]},"pre":{"nativeSrc":"222422:2:21","nodeType":"YulBlock","src":"222422:2:21","statements":[]},"src":"222418:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"222535:3:21","nodeType":"YulIdentifier","src":"222535:3:21"},{"name":"length","nativeSrc":"222540:6:21","nodeType":"YulIdentifier","src":"222540:6:21"}],"functionName":{"name":"mstore","nativeSrc":"222528:6:21","nodeType":"YulIdentifier","src":"222528:6:21"},"nativeSrc":"222528:19:21","nodeType":"YulFunctionCall","src":"222528:19:21"},"nativeSrc":"222528:19:21","nodeType":"YulExpressionStatement","src":"222528:19:21"},{"nativeSrc":"222564:37:21","nodeType":"YulVariableDeclaration","src":"222564:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"222581:3:21","nodeType":"YulLiteral","src":"222581:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"222590:1:21","nodeType":"YulLiteral","src":"222590:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"222593:6:21","nodeType":"YulIdentifier","src":"222593:6:21"}],"functionName":{"name":"shl","nativeSrc":"222586:3:21","nodeType":"YulIdentifier","src":"222586:3:21"},"nativeSrc":"222586:14:21","nodeType":"YulFunctionCall","src":"222586:14:21"}],"functionName":{"name":"sub","nativeSrc":"222577:3:21","nodeType":"YulIdentifier","src":"222577:3:21"},"nativeSrc":"222577:24:21","nodeType":"YulFunctionCall","src":"222577:24:21"},"variables":[{"name":"shift","nativeSrc":"222568:5:21","nodeType":"YulTypedName","src":"222568:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"222629:3:21","nodeType":"YulIdentifier","src":"222629:3:21"},{"kind":"number","nativeSrc":"222634:4:21","nodeType":"YulLiteral","src":"222634:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"222625:3:21","nodeType":"YulIdentifier","src":"222625:3:21"},"nativeSrc":"222625:14:21","nodeType":"YulFunctionCall","src":"222625:14:21"},{"arguments":[{"name":"shift","nativeSrc":"222645:5:21","nodeType":"YulIdentifier","src":"222645:5:21"},{"arguments":[{"name":"shift","nativeSrc":"222656:5:21","nodeType":"YulIdentifier","src":"222656:5:21"},{"name":"w","nativeSrc":"222663:1:21","nodeType":"YulIdentifier","src":"222663:1:21"}],"functionName":{"name":"shr","nativeSrc":"222652:3:21","nodeType":"YulIdentifier","src":"222652:3:21"},"nativeSrc":"222652:13:21","nodeType":"YulFunctionCall","src":"222652:13:21"}],"functionName":{"name":"shl","nativeSrc":"222641:3:21","nodeType":"YulIdentifier","src":"222641:3:21"},"nativeSrc":"222641:25:21","nodeType":"YulFunctionCall","src":"222641:25:21"}],"functionName":{"name":"mstore","nativeSrc":"222618:6:21","nodeType":"YulIdentifier","src":"222618:6:21"},"nativeSrc":"222618:49:21","nodeType":"YulFunctionCall","src":"222618:49:21"},"nativeSrc":"222618:49:21","nodeType":"YulExpressionStatement","src":"222618:49:21"}]},"name":"writeString","nativeSrc":"222339:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"222360:3:21","nodeType":"YulTypedName","src":"222360:3:21","type":""},{"name":"w","nativeSrc":"222365:1:21","nodeType":"YulTypedName","src":"222365:1:21","type":""}],"src":"222339:342:21"},{"nativeSrc":"222694:17:21","nodeType":"YulAssignment","src":"222694:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"222706:4:21","nodeType":"YulLiteral","src":"222706:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"222700:5:21","nodeType":"YulIdentifier","src":"222700:5:21"},"nativeSrc":"222700:11:21","nodeType":"YulFunctionCall","src":"222700:11:21"},"variableNames":[{"name":"m0","nativeSrc":"222694:2:21","nodeType":"YulIdentifier","src":"222694:2:21"}]},{"nativeSrc":"222724:17:21","nodeType":"YulAssignment","src":"222724:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"222736:4:21","nodeType":"YulLiteral","src":"222736:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"222730:5:21","nodeType":"YulIdentifier","src":"222730:5:21"},"nativeSrc":"222730:11:21","nodeType":"YulFunctionCall","src":"222730:11:21"},"variableNames":[{"name":"m1","nativeSrc":"222724:2:21","nodeType":"YulIdentifier","src":"222724:2:21"}]},{"nativeSrc":"222754:17:21","nodeType":"YulAssignment","src":"222754:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"222766:4:21","nodeType":"YulLiteral","src":"222766:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"222760:5:21","nodeType":"YulIdentifier","src":"222760:5:21"},"nativeSrc":"222760:11:21","nodeType":"YulFunctionCall","src":"222760:11:21"},"variableNames":[{"name":"m2","nativeSrc":"222754:2:21","nodeType":"YulIdentifier","src":"222754:2:21"}]},{"nativeSrc":"222784:17:21","nodeType":"YulAssignment","src":"222784:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"222796:4:21","nodeType":"YulLiteral","src":"222796:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"222790:5:21","nodeType":"YulIdentifier","src":"222790:5:21"},"nativeSrc":"222790:11:21","nodeType":"YulFunctionCall","src":"222790:11:21"},"variableNames":[{"name":"m3","nativeSrc":"222784:2:21","nodeType":"YulIdentifier","src":"222784:2:21"}]},{"nativeSrc":"222814:17:21","nodeType":"YulAssignment","src":"222814:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"222826:4:21","nodeType":"YulLiteral","src":"222826:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"222820:5:21","nodeType":"YulIdentifier","src":"222820:5:21"},"nativeSrc":"222820:11:21","nodeType":"YulFunctionCall","src":"222820:11:21"},"variableNames":[{"name":"m4","nativeSrc":"222814:2:21","nodeType":"YulIdentifier","src":"222814:2:21"}]},{"nativeSrc":"222844:17:21","nodeType":"YulAssignment","src":"222844:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"222856:4:21","nodeType":"YulLiteral","src":"222856:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"222850:5:21","nodeType":"YulIdentifier","src":"222850:5:21"},"nativeSrc":"222850:11:21","nodeType":"YulFunctionCall","src":"222850:11:21"},"variableNames":[{"name":"m5","nativeSrc":"222844:2:21","nodeType":"YulIdentifier","src":"222844:2:21"}]},{"nativeSrc":"222874:17:21","nodeType":"YulAssignment","src":"222874:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"222886:4:21","nodeType":"YulLiteral","src":"222886:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"222880:5:21","nodeType":"YulIdentifier","src":"222880:5:21"},"nativeSrc":"222880:11:21","nodeType":"YulFunctionCall","src":"222880:11:21"},"variableNames":[{"name":"m6","nativeSrc":"222874:2:21","nodeType":"YulIdentifier","src":"222874:2:21"}]},{"nativeSrc":"222904:17:21","nodeType":"YulAssignment","src":"222904:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"222916:4:21","nodeType":"YulLiteral","src":"222916:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"222910:5:21","nodeType":"YulIdentifier","src":"222910:5:21"},"nativeSrc":"222910:11:21","nodeType":"YulFunctionCall","src":"222910:11:21"},"variableNames":[{"name":"m7","nativeSrc":"222904:2:21","nodeType":"YulIdentifier","src":"222904:2:21"}]},{"nativeSrc":"222934:18:21","nodeType":"YulAssignment","src":"222934:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"222946:5:21","nodeType":"YulLiteral","src":"222946:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"222940:5:21","nodeType":"YulIdentifier","src":"222940:5:21"},"nativeSrc":"222940:12:21","nodeType":"YulFunctionCall","src":"222940:12:21"},"variableNames":[{"name":"m8","nativeSrc":"222934:2:21","nodeType":"YulIdentifier","src":"222934:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223034:4:21","nodeType":"YulLiteral","src":"223034:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"223040:10:21","nodeType":"YulLiteral","src":"223040:10:21","type":"","value":"0xf5bc2249"}],"functionName":{"name":"mstore","nativeSrc":"223027:6:21","nodeType":"YulIdentifier","src":"223027:6:21"},"nativeSrc":"223027:24:21","nodeType":"YulFunctionCall","src":"223027:24:21"},"nativeSrc":"223027:24:21","nodeType":"YulExpressionStatement","src":"223027:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223071:4:21","nodeType":"YulLiteral","src":"223071:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"223077:2:21","nodeType":"YulIdentifier","src":"223077:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223064:6:21","nodeType":"YulIdentifier","src":"223064:6:21"},"nativeSrc":"223064:16:21","nodeType":"YulFunctionCall","src":"223064:16:21"},"nativeSrc":"223064:16:21","nodeType":"YulExpressionStatement","src":"223064:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223100:4:21","nodeType":"YulLiteral","src":"223100:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"223106:2:21","nodeType":"YulIdentifier","src":"223106:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223093:6:21","nodeType":"YulIdentifier","src":"223093:6:21"},"nativeSrc":"223093:16:21","nodeType":"YulFunctionCall","src":"223093:16:21"},"nativeSrc":"223093:16:21","nodeType":"YulExpressionStatement","src":"223093:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223129:4:21","nodeType":"YulLiteral","src":"223129:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"223135:4:21","nodeType":"YulLiteral","src":"223135:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"223122:6:21","nodeType":"YulIdentifier","src":"223122:6:21"},"nativeSrc":"223122:18:21","nodeType":"YulFunctionCall","src":"223122:18:21"},"nativeSrc":"223122:18:21","nodeType":"YulExpressionStatement","src":"223122:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223160:4:21","nodeType":"YulLiteral","src":"223160:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"223166:4:21","nodeType":"YulLiteral","src":"223166:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"223153:6:21","nodeType":"YulIdentifier","src":"223153:6:21"},"nativeSrc":"223153:18:21","nodeType":"YulFunctionCall","src":"223153:18:21"},"nativeSrc":"223153:18:21","nodeType":"YulExpressionStatement","src":"223153:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223196:4:21","nodeType":"YulLiteral","src":"223196:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"223202:2:21","nodeType":"YulIdentifier","src":"223202:2:21"}],"functionName":{"name":"writeString","nativeSrc":"223184:11:21","nodeType":"YulIdentifier","src":"223184:11:21"},"nativeSrc":"223184:21:21","nodeType":"YulFunctionCall","src":"223184:21:21"},"nativeSrc":"223184:21:21","nodeType":"YulExpressionStatement","src":"223184:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223230:4:21","nodeType":"YulLiteral","src":"223230:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"223236:2:21","nodeType":"YulIdentifier","src":"223236:2:21"}],"functionName":{"name":"writeString","nativeSrc":"223218:11:21","nodeType":"YulIdentifier","src":"223218:11:21"},"nativeSrc":"223218:21:21","nodeType":"YulFunctionCall","src":"223218:21:21"},"nativeSrc":"223218:21:21","nodeType":"YulExpressionStatement","src":"223218:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34002,"isOffset":false,"isSlot":false,"src":"222694:2:21","valueSize":1},{"declaration":34005,"isOffset":false,"isSlot":false,"src":"222724:2:21","valueSize":1},{"declaration":34008,"isOffset":false,"isSlot":false,"src":"222754:2:21","valueSize":1},{"declaration":34011,"isOffset":false,"isSlot":false,"src":"222784:2:21","valueSize":1},{"declaration":34014,"isOffset":false,"isSlot":false,"src":"222814:2:21","valueSize":1},{"declaration":34017,"isOffset":false,"isSlot":false,"src":"222844:2:21","valueSize":1},{"declaration":34020,"isOffset":false,"isSlot":false,"src":"222874:2:21","valueSize":1},{"declaration":34023,"isOffset":false,"isSlot":false,"src":"222904:2:21","valueSize":1},{"declaration":34026,"isOffset":false,"isSlot":false,"src":"222934:2:21","valueSize":1},{"declaration":33992,"isOffset":false,"isSlot":false,"src":"223077:2:21","valueSize":1},{"declaration":33994,"isOffset":false,"isSlot":false,"src":"223106:2:21","valueSize":1},{"declaration":33996,"isOffset":false,"isSlot":false,"src":"223202:2:21","valueSize":1},{"declaration":33998,"isOffset":false,"isSlot":false,"src":"223236:2:21","valueSize":1}],"id":34028,"nodeType":"InlineAssembly","src":"222316:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"223274:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":34031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"223280:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":34029,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"223258:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"223258:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34033,"nodeType":"ExpressionStatement","src":"223258:28:21"},{"AST":{"nativeSrc":"223348:273:21","nodeType":"YulBlock","src":"223348:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"223369:4:21","nodeType":"YulLiteral","src":"223369:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"223375:2:21","nodeType":"YulIdentifier","src":"223375:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223362:6:21","nodeType":"YulIdentifier","src":"223362:6:21"},"nativeSrc":"223362:16:21","nodeType":"YulFunctionCall","src":"223362:16:21"},"nativeSrc":"223362:16:21","nodeType":"YulExpressionStatement","src":"223362:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223398:4:21","nodeType":"YulLiteral","src":"223398:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"223404:2:21","nodeType":"YulIdentifier","src":"223404:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223391:6:21","nodeType":"YulIdentifier","src":"223391:6:21"},"nativeSrc":"223391:16:21","nodeType":"YulFunctionCall","src":"223391:16:21"},"nativeSrc":"223391:16:21","nodeType":"YulExpressionStatement","src":"223391:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223427:4:21","nodeType":"YulLiteral","src":"223427:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"223433:2:21","nodeType":"YulIdentifier","src":"223433:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223420:6:21","nodeType":"YulIdentifier","src":"223420:6:21"},"nativeSrc":"223420:16:21","nodeType":"YulFunctionCall","src":"223420:16:21"},"nativeSrc":"223420:16:21","nodeType":"YulExpressionStatement","src":"223420:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223456:4:21","nodeType":"YulLiteral","src":"223456:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"223462:2:21","nodeType":"YulIdentifier","src":"223462:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223449:6:21","nodeType":"YulIdentifier","src":"223449:6:21"},"nativeSrc":"223449:16:21","nodeType":"YulFunctionCall","src":"223449:16:21"},"nativeSrc":"223449:16:21","nodeType":"YulExpressionStatement","src":"223449:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223485:4:21","nodeType":"YulLiteral","src":"223485:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"223491:2:21","nodeType":"YulIdentifier","src":"223491:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223478:6:21","nodeType":"YulIdentifier","src":"223478:6:21"},"nativeSrc":"223478:16:21","nodeType":"YulFunctionCall","src":"223478:16:21"},"nativeSrc":"223478:16:21","nodeType":"YulExpressionStatement","src":"223478:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223514:4:21","nodeType":"YulLiteral","src":"223514:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"223520:2:21","nodeType":"YulIdentifier","src":"223520:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223507:6:21","nodeType":"YulIdentifier","src":"223507:6:21"},"nativeSrc":"223507:16:21","nodeType":"YulFunctionCall","src":"223507:16:21"},"nativeSrc":"223507:16:21","nodeType":"YulExpressionStatement","src":"223507:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223543:4:21","nodeType":"YulLiteral","src":"223543:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"223549:2:21","nodeType":"YulIdentifier","src":"223549:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223536:6:21","nodeType":"YulIdentifier","src":"223536:6:21"},"nativeSrc":"223536:16:21","nodeType":"YulFunctionCall","src":"223536:16:21"},"nativeSrc":"223536:16:21","nodeType":"YulExpressionStatement","src":"223536:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223572:4:21","nodeType":"YulLiteral","src":"223572:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"223578:2:21","nodeType":"YulIdentifier","src":"223578:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223565:6:21","nodeType":"YulIdentifier","src":"223565:6:21"},"nativeSrc":"223565:16:21","nodeType":"YulFunctionCall","src":"223565:16:21"},"nativeSrc":"223565:16:21","nodeType":"YulExpressionStatement","src":"223565:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223601:5:21","nodeType":"YulLiteral","src":"223601:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"223608:2:21","nodeType":"YulIdentifier","src":"223608:2:21"}],"functionName":{"name":"mstore","nativeSrc":"223594:6:21","nodeType":"YulIdentifier","src":"223594:6:21"},"nativeSrc":"223594:17:21","nodeType":"YulFunctionCall","src":"223594:17:21"},"nativeSrc":"223594:17:21","nodeType":"YulExpressionStatement","src":"223594:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34002,"isOffset":false,"isSlot":false,"src":"223375:2:21","valueSize":1},{"declaration":34005,"isOffset":false,"isSlot":false,"src":"223404:2:21","valueSize":1},{"declaration":34008,"isOffset":false,"isSlot":false,"src":"223433:2:21","valueSize":1},{"declaration":34011,"isOffset":false,"isSlot":false,"src":"223462:2:21","valueSize":1},{"declaration":34014,"isOffset":false,"isSlot":false,"src":"223491:2:21","valueSize":1},{"declaration":34017,"isOffset":false,"isSlot":false,"src":"223520:2:21","valueSize":1},{"declaration":34020,"isOffset":false,"isSlot":false,"src":"223549:2:21","valueSize":1},{"declaration":34023,"isOffset":false,"isSlot":false,"src":"223578:2:21","valueSize":1},{"declaration":34026,"isOffset":false,"isSlot":false,"src":"223608:2:21","valueSize":1}],"id":34034,"nodeType":"InlineAssembly","src":"223339:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"222020:3:21","parameters":{"id":33999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33992,"mutability":"mutable","name":"p0","nameLocation":"222029:2:21","nodeType":"VariableDeclaration","scope":34036,"src":"222024:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33991,"name":"bool","nodeType":"ElementaryTypeName","src":"222024:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33994,"mutability":"mutable","name":"p1","nameLocation":"222041:2:21","nodeType":"VariableDeclaration","scope":34036,"src":"222033:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33993,"name":"uint256","nodeType":"ElementaryTypeName","src":"222033:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33996,"mutability":"mutable","name":"p2","nameLocation":"222053:2:21","nodeType":"VariableDeclaration","scope":34036,"src":"222045:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222045:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33998,"mutability":"mutable","name":"p3","nameLocation":"222065:2:21","nodeType":"VariableDeclaration","scope":34036,"src":"222057:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222057:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"222023:45:21"},"returnParameters":{"id":34000,"nodeType":"ParameterList","parameters":[],"src":"222083:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34076,"nodeType":"FunctionDefinition","src":"223633:1420:21","nodes":[],"body":{"id":34075,"nodeType":"Block","src":"223705:1348:21","nodes":[],"statements":[{"assignments":[34048],"declarations":[{"constant":false,"id":34048,"mutability":"mutable","name":"m0","nameLocation":"223723:2:21","nodeType":"VariableDeclaration","scope":34075,"src":"223715:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223715:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34049,"nodeType":"VariableDeclarationStatement","src":"223715:10:21"},{"assignments":[34051],"declarations":[{"constant":false,"id":34051,"mutability":"mutable","name":"m1","nameLocation":"223743:2:21","nodeType":"VariableDeclaration","scope":34075,"src":"223735:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223735:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34052,"nodeType":"VariableDeclarationStatement","src":"223735:10:21"},{"assignments":[34054],"declarations":[{"constant":false,"id":34054,"mutability":"mutable","name":"m2","nameLocation":"223763:2:21","nodeType":"VariableDeclaration","scope":34075,"src":"223755:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223755:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34055,"nodeType":"VariableDeclarationStatement","src":"223755:10:21"},{"assignments":[34057],"declarations":[{"constant":false,"id":34057,"mutability":"mutable","name":"m3","nameLocation":"223783:2:21","nodeType":"VariableDeclaration","scope":34075,"src":"223775:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223775:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34058,"nodeType":"VariableDeclarationStatement","src":"223775:10:21"},{"assignments":[34060],"declarations":[{"constant":false,"id":34060,"mutability":"mutable","name":"m4","nameLocation":"223803:2:21","nodeType":"VariableDeclaration","scope":34075,"src":"223795:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223795:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34061,"nodeType":"VariableDeclarationStatement","src":"223795:10:21"},{"assignments":[34063],"declarations":[{"constant":false,"id":34063,"mutability":"mutable","name":"m5","nameLocation":"223823:2:21","nodeType":"VariableDeclaration","scope":34075,"src":"223815:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223815:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34064,"nodeType":"VariableDeclarationStatement","src":"223815:10:21"},{"assignments":[34066],"declarations":[{"constant":false,"id":34066,"mutability":"mutable","name":"m6","nameLocation":"223843:2:21","nodeType":"VariableDeclaration","scope":34075,"src":"223835:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223835:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34067,"nodeType":"VariableDeclarationStatement","src":"223835:10:21"},{"AST":{"nativeSrc":"223907:828:21","nodeType":"YulBlock","src":"223907:828:21","statements":[{"body":{"nativeSrc":"223950:313:21","nodeType":"YulBlock","src":"223950:313:21","statements":[{"nativeSrc":"223968:15:21","nodeType":"YulVariableDeclaration","src":"223968:15:21","value":{"kind":"number","nativeSrc":"223982:1:21","nodeType":"YulLiteral","src":"223982:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"223972:6:21","nodeType":"YulTypedName","src":"223972:6:21","type":""}]},{"body":{"nativeSrc":"224053:40:21","nodeType":"YulBlock","src":"224053:40:21","statements":[{"body":{"nativeSrc":"224082:9:21","nodeType":"YulBlock","src":"224082:9:21","statements":[{"nativeSrc":"224084:5:21","nodeType":"YulBreak","src":"224084:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"224070:6:21","nodeType":"YulIdentifier","src":"224070:6:21"},{"name":"w","nativeSrc":"224078:1:21","nodeType":"YulIdentifier","src":"224078:1:21"}],"functionName":{"name":"byte","nativeSrc":"224065:4:21","nodeType":"YulIdentifier","src":"224065:4:21"},"nativeSrc":"224065:15:21","nodeType":"YulFunctionCall","src":"224065:15:21"}],"functionName":{"name":"iszero","nativeSrc":"224058:6:21","nodeType":"YulIdentifier","src":"224058:6:21"},"nativeSrc":"224058:23:21","nodeType":"YulFunctionCall","src":"224058:23:21"},"nativeSrc":"224055:36:21","nodeType":"YulIf","src":"224055:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"224010:6:21","nodeType":"YulIdentifier","src":"224010:6:21"},{"kind":"number","nativeSrc":"224018:4:21","nodeType":"YulLiteral","src":"224018:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"224007:2:21","nodeType":"YulIdentifier","src":"224007:2:21"},"nativeSrc":"224007:16:21","nodeType":"YulFunctionCall","src":"224007:16:21"},"nativeSrc":"224000:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"224024:28:21","nodeType":"YulBlock","src":"224024:28:21","statements":[{"nativeSrc":"224026:24:21","nodeType":"YulAssignment","src":"224026:24:21","value":{"arguments":[{"name":"length","nativeSrc":"224040:6:21","nodeType":"YulIdentifier","src":"224040:6:21"},{"kind":"number","nativeSrc":"224048:1:21","nodeType":"YulLiteral","src":"224048:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"224036:3:21","nodeType":"YulIdentifier","src":"224036:3:21"},"nativeSrc":"224036:14:21","nodeType":"YulFunctionCall","src":"224036:14:21"},"variableNames":[{"name":"length","nativeSrc":"224026:6:21","nodeType":"YulIdentifier","src":"224026:6:21"}]}]},"pre":{"nativeSrc":"224004:2:21","nodeType":"YulBlock","src":"224004:2:21","statements":[]},"src":"224000:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"224117:3:21","nodeType":"YulIdentifier","src":"224117:3:21"},{"name":"length","nativeSrc":"224122:6:21","nodeType":"YulIdentifier","src":"224122:6:21"}],"functionName":{"name":"mstore","nativeSrc":"224110:6:21","nodeType":"YulIdentifier","src":"224110:6:21"},"nativeSrc":"224110:19:21","nodeType":"YulFunctionCall","src":"224110:19:21"},"nativeSrc":"224110:19:21","nodeType":"YulExpressionStatement","src":"224110:19:21"},{"nativeSrc":"224146:37:21","nodeType":"YulVariableDeclaration","src":"224146:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"224163:3:21","nodeType":"YulLiteral","src":"224163:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"224172:1:21","nodeType":"YulLiteral","src":"224172:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"224175:6:21","nodeType":"YulIdentifier","src":"224175:6:21"}],"functionName":{"name":"shl","nativeSrc":"224168:3:21","nodeType":"YulIdentifier","src":"224168:3:21"},"nativeSrc":"224168:14:21","nodeType":"YulFunctionCall","src":"224168:14:21"}],"functionName":{"name":"sub","nativeSrc":"224159:3:21","nodeType":"YulIdentifier","src":"224159:3:21"},"nativeSrc":"224159:24:21","nodeType":"YulFunctionCall","src":"224159:24:21"},"variables":[{"name":"shift","nativeSrc":"224150:5:21","nodeType":"YulTypedName","src":"224150:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"224211:3:21","nodeType":"YulIdentifier","src":"224211:3:21"},{"kind":"number","nativeSrc":"224216:4:21","nodeType":"YulLiteral","src":"224216:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"224207:3:21","nodeType":"YulIdentifier","src":"224207:3:21"},"nativeSrc":"224207:14:21","nodeType":"YulFunctionCall","src":"224207:14:21"},{"arguments":[{"name":"shift","nativeSrc":"224227:5:21","nodeType":"YulIdentifier","src":"224227:5:21"},{"arguments":[{"name":"shift","nativeSrc":"224238:5:21","nodeType":"YulIdentifier","src":"224238:5:21"},{"name":"w","nativeSrc":"224245:1:21","nodeType":"YulIdentifier","src":"224245:1:21"}],"functionName":{"name":"shr","nativeSrc":"224234:3:21","nodeType":"YulIdentifier","src":"224234:3:21"},"nativeSrc":"224234:13:21","nodeType":"YulFunctionCall","src":"224234:13:21"}],"functionName":{"name":"shl","nativeSrc":"224223:3:21","nodeType":"YulIdentifier","src":"224223:3:21"},"nativeSrc":"224223:25:21","nodeType":"YulFunctionCall","src":"224223:25:21"}],"functionName":{"name":"mstore","nativeSrc":"224200:6:21","nodeType":"YulIdentifier","src":"224200:6:21"},"nativeSrc":"224200:49:21","nodeType":"YulFunctionCall","src":"224200:49:21"},"nativeSrc":"224200:49:21","nodeType":"YulExpressionStatement","src":"224200:49:21"}]},"name":"writeString","nativeSrc":"223921:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"223942:3:21","nodeType":"YulTypedName","src":"223942:3:21","type":""},{"name":"w","nativeSrc":"223947:1:21","nodeType":"YulTypedName","src":"223947:1:21","type":""}],"src":"223921:342:21"},{"nativeSrc":"224276:17:21","nodeType":"YulAssignment","src":"224276:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"224288:4:21","nodeType":"YulLiteral","src":"224288:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"224282:5:21","nodeType":"YulIdentifier","src":"224282:5:21"},"nativeSrc":"224282:11:21","nodeType":"YulFunctionCall","src":"224282:11:21"},"variableNames":[{"name":"m0","nativeSrc":"224276:2:21","nodeType":"YulIdentifier","src":"224276:2:21"}]},{"nativeSrc":"224306:17:21","nodeType":"YulAssignment","src":"224306:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"224318:4:21","nodeType":"YulLiteral","src":"224318:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"224312:5:21","nodeType":"YulIdentifier","src":"224312:5:21"},"nativeSrc":"224312:11:21","nodeType":"YulFunctionCall","src":"224312:11:21"},"variableNames":[{"name":"m1","nativeSrc":"224306:2:21","nodeType":"YulIdentifier","src":"224306:2:21"}]},{"nativeSrc":"224336:17:21","nodeType":"YulAssignment","src":"224336:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"224348:4:21","nodeType":"YulLiteral","src":"224348:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"224342:5:21","nodeType":"YulIdentifier","src":"224342:5:21"},"nativeSrc":"224342:11:21","nodeType":"YulFunctionCall","src":"224342:11:21"},"variableNames":[{"name":"m2","nativeSrc":"224336:2:21","nodeType":"YulIdentifier","src":"224336:2:21"}]},{"nativeSrc":"224366:17:21","nodeType":"YulAssignment","src":"224366:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"224378:4:21","nodeType":"YulLiteral","src":"224378:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"224372:5:21","nodeType":"YulIdentifier","src":"224372:5:21"},"nativeSrc":"224372:11:21","nodeType":"YulFunctionCall","src":"224372:11:21"},"variableNames":[{"name":"m3","nativeSrc":"224366:2:21","nodeType":"YulIdentifier","src":"224366:2:21"}]},{"nativeSrc":"224396:17:21","nodeType":"YulAssignment","src":"224396:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"224408:4:21","nodeType":"YulLiteral","src":"224408:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"224402:5:21","nodeType":"YulIdentifier","src":"224402:5:21"},"nativeSrc":"224402:11:21","nodeType":"YulFunctionCall","src":"224402:11:21"},"variableNames":[{"name":"m4","nativeSrc":"224396:2:21","nodeType":"YulIdentifier","src":"224396:2:21"}]},{"nativeSrc":"224426:17:21","nodeType":"YulAssignment","src":"224426:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"224438:4:21","nodeType":"YulLiteral","src":"224438:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"224432:5:21","nodeType":"YulIdentifier","src":"224432:5:21"},"nativeSrc":"224432:11:21","nodeType":"YulFunctionCall","src":"224432:11:21"},"variableNames":[{"name":"m5","nativeSrc":"224426:2:21","nodeType":"YulIdentifier","src":"224426:2:21"}]},{"nativeSrc":"224456:17:21","nodeType":"YulAssignment","src":"224456:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"224468:4:21","nodeType":"YulLiteral","src":"224468:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"224462:5:21","nodeType":"YulIdentifier","src":"224462:5:21"},"nativeSrc":"224462:11:21","nodeType":"YulFunctionCall","src":"224462:11:21"},"variableNames":[{"name":"m6","nativeSrc":"224456:2:21","nodeType":"YulIdentifier","src":"224456:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224556:4:21","nodeType":"YulLiteral","src":"224556:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"224562:10:21","nodeType":"YulLiteral","src":"224562:10:21","type":"","value":"0x2b2b18dc"}],"functionName":{"name":"mstore","nativeSrc":"224549:6:21","nodeType":"YulIdentifier","src":"224549:6:21"},"nativeSrc":"224549:24:21","nodeType":"YulFunctionCall","src":"224549:24:21"},"nativeSrc":"224549:24:21","nodeType":"YulExpressionStatement","src":"224549:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224593:4:21","nodeType":"YulLiteral","src":"224593:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"224599:2:21","nodeType":"YulIdentifier","src":"224599:2:21"}],"functionName":{"name":"mstore","nativeSrc":"224586:6:21","nodeType":"YulIdentifier","src":"224586:6:21"},"nativeSrc":"224586:16:21","nodeType":"YulFunctionCall","src":"224586:16:21"},"nativeSrc":"224586:16:21","nodeType":"YulExpressionStatement","src":"224586:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224622:4:21","nodeType":"YulLiteral","src":"224622:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"224628:4:21","nodeType":"YulLiteral","src":"224628:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"224615:6:21","nodeType":"YulIdentifier","src":"224615:6:21"},"nativeSrc":"224615:18:21","nodeType":"YulFunctionCall","src":"224615:18:21"},"nativeSrc":"224615:18:21","nodeType":"YulExpressionStatement","src":"224615:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224653:4:21","nodeType":"YulLiteral","src":"224653:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"224659:2:21","nodeType":"YulIdentifier","src":"224659:2:21"}],"functionName":{"name":"mstore","nativeSrc":"224646:6:21","nodeType":"YulIdentifier","src":"224646:6:21"},"nativeSrc":"224646:16:21","nodeType":"YulFunctionCall","src":"224646:16:21"},"nativeSrc":"224646:16:21","nodeType":"YulExpressionStatement","src":"224646:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224682:4:21","nodeType":"YulLiteral","src":"224682:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"224688:2:21","nodeType":"YulIdentifier","src":"224688:2:21"}],"functionName":{"name":"mstore","nativeSrc":"224675:6:21","nodeType":"YulIdentifier","src":"224675:6:21"},"nativeSrc":"224675:16:21","nodeType":"YulFunctionCall","src":"224675:16:21"},"nativeSrc":"224675:16:21","nodeType":"YulExpressionStatement","src":"224675:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224716:4:21","nodeType":"YulLiteral","src":"224716:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"224722:2:21","nodeType":"YulIdentifier","src":"224722:2:21"}],"functionName":{"name":"writeString","nativeSrc":"224704:11:21","nodeType":"YulIdentifier","src":"224704:11:21"},"nativeSrc":"224704:21:21","nodeType":"YulFunctionCall","src":"224704:21:21"},"nativeSrc":"224704:21:21","nodeType":"YulExpressionStatement","src":"224704:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34048,"isOffset":false,"isSlot":false,"src":"224276:2:21","valueSize":1},{"declaration":34051,"isOffset":false,"isSlot":false,"src":"224306:2:21","valueSize":1},{"declaration":34054,"isOffset":false,"isSlot":false,"src":"224336:2:21","valueSize":1},{"declaration":34057,"isOffset":false,"isSlot":false,"src":"224366:2:21","valueSize":1},{"declaration":34060,"isOffset":false,"isSlot":false,"src":"224396:2:21","valueSize":1},{"declaration":34063,"isOffset":false,"isSlot":false,"src":"224426:2:21","valueSize":1},{"declaration":34066,"isOffset":false,"isSlot":false,"src":"224456:2:21","valueSize":1},{"declaration":34038,"isOffset":false,"isSlot":false,"src":"224599:2:21","valueSize":1},{"declaration":34040,"isOffset":false,"isSlot":false,"src":"224722:2:21","valueSize":1},{"declaration":34042,"isOffset":false,"isSlot":false,"src":"224659:2:21","valueSize":1},{"declaration":34044,"isOffset":false,"isSlot":false,"src":"224688:2:21","valueSize":1}],"id":34068,"nodeType":"InlineAssembly","src":"223898:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"224760:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"224766:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34069,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"224744:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"224744:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34073,"nodeType":"ExpressionStatement","src":"224744:27:21"},{"AST":{"nativeSrc":"224833:214:21","nodeType":"YulBlock","src":"224833:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"224854:4:21","nodeType":"YulLiteral","src":"224854:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"224860:2:21","nodeType":"YulIdentifier","src":"224860:2:21"}],"functionName":{"name":"mstore","nativeSrc":"224847:6:21","nodeType":"YulIdentifier","src":"224847:6:21"},"nativeSrc":"224847:16:21","nodeType":"YulFunctionCall","src":"224847:16:21"},"nativeSrc":"224847:16:21","nodeType":"YulExpressionStatement","src":"224847:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224883:4:21","nodeType":"YulLiteral","src":"224883:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"224889:2:21","nodeType":"YulIdentifier","src":"224889:2:21"}],"functionName":{"name":"mstore","nativeSrc":"224876:6:21","nodeType":"YulIdentifier","src":"224876:6:21"},"nativeSrc":"224876:16:21","nodeType":"YulFunctionCall","src":"224876:16:21"},"nativeSrc":"224876:16:21","nodeType":"YulExpressionStatement","src":"224876:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224912:4:21","nodeType":"YulLiteral","src":"224912:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"224918:2:21","nodeType":"YulIdentifier","src":"224918:2:21"}],"functionName":{"name":"mstore","nativeSrc":"224905:6:21","nodeType":"YulIdentifier","src":"224905:6:21"},"nativeSrc":"224905:16:21","nodeType":"YulFunctionCall","src":"224905:16:21"},"nativeSrc":"224905:16:21","nodeType":"YulExpressionStatement","src":"224905:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224941:4:21","nodeType":"YulLiteral","src":"224941:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"224947:2:21","nodeType":"YulIdentifier","src":"224947:2:21"}],"functionName":{"name":"mstore","nativeSrc":"224934:6:21","nodeType":"YulIdentifier","src":"224934:6:21"},"nativeSrc":"224934:16:21","nodeType":"YulFunctionCall","src":"224934:16:21"},"nativeSrc":"224934:16:21","nodeType":"YulExpressionStatement","src":"224934:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224970:4:21","nodeType":"YulLiteral","src":"224970:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"224976:2:21","nodeType":"YulIdentifier","src":"224976:2:21"}],"functionName":{"name":"mstore","nativeSrc":"224963:6:21","nodeType":"YulIdentifier","src":"224963:6:21"},"nativeSrc":"224963:16:21","nodeType":"YulFunctionCall","src":"224963:16:21"},"nativeSrc":"224963:16:21","nodeType":"YulExpressionStatement","src":"224963:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224999:4:21","nodeType":"YulLiteral","src":"224999:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"225005:2:21","nodeType":"YulIdentifier","src":"225005:2:21"}],"functionName":{"name":"mstore","nativeSrc":"224992:6:21","nodeType":"YulIdentifier","src":"224992:6:21"},"nativeSrc":"224992:16:21","nodeType":"YulFunctionCall","src":"224992:16:21"},"nativeSrc":"224992:16:21","nodeType":"YulExpressionStatement","src":"224992:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"225028:4:21","nodeType":"YulLiteral","src":"225028:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"225034:2:21","nodeType":"YulIdentifier","src":"225034:2:21"}],"functionName":{"name":"mstore","nativeSrc":"225021:6:21","nodeType":"YulIdentifier","src":"225021:6:21"},"nativeSrc":"225021:16:21","nodeType":"YulFunctionCall","src":"225021:16:21"},"nativeSrc":"225021:16:21","nodeType":"YulExpressionStatement","src":"225021:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34048,"isOffset":false,"isSlot":false,"src":"224860:2:21","valueSize":1},{"declaration":34051,"isOffset":false,"isSlot":false,"src":"224889:2:21","valueSize":1},{"declaration":34054,"isOffset":false,"isSlot":false,"src":"224918:2:21","valueSize":1},{"declaration":34057,"isOffset":false,"isSlot":false,"src":"224947:2:21","valueSize":1},{"declaration":34060,"isOffset":false,"isSlot":false,"src":"224976:2:21","valueSize":1},{"declaration":34063,"isOffset":false,"isSlot":false,"src":"225005:2:21","valueSize":1},{"declaration":34066,"isOffset":false,"isSlot":false,"src":"225034:2:21","valueSize":1}],"id":34074,"nodeType":"InlineAssembly","src":"224824:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"223642:3:21","parameters":{"id":34045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34038,"mutability":"mutable","name":"p0","nameLocation":"223651:2:21","nodeType":"VariableDeclaration","scope":34076,"src":"223646:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34037,"name":"bool","nodeType":"ElementaryTypeName","src":"223646:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34040,"mutability":"mutable","name":"p1","nameLocation":"223663:2:21","nodeType":"VariableDeclaration","scope":34076,"src":"223655:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223655:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34042,"mutability":"mutable","name":"p2","nameLocation":"223675:2:21","nodeType":"VariableDeclaration","scope":34076,"src":"223667:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34041,"name":"address","nodeType":"ElementaryTypeName","src":"223667:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34044,"mutability":"mutable","name":"p3","nameLocation":"223687:2:21","nodeType":"VariableDeclaration","scope":34076,"src":"223679:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34043,"name":"address","nodeType":"ElementaryTypeName","src":"223679:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"223645:45:21"},"returnParameters":{"id":34046,"nodeType":"ParameterList","parameters":[],"src":"223705:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34116,"nodeType":"FunctionDefinition","src":"225059:1414:21","nodes":[],"body":{"id":34115,"nodeType":"Block","src":"225128:1345:21","nodes":[],"statements":[{"assignments":[34088],"declarations":[{"constant":false,"id":34088,"mutability":"mutable","name":"m0","nameLocation":"225146:2:21","nodeType":"VariableDeclaration","scope":34115,"src":"225138:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225138:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34089,"nodeType":"VariableDeclarationStatement","src":"225138:10:21"},{"assignments":[34091],"declarations":[{"constant":false,"id":34091,"mutability":"mutable","name":"m1","nameLocation":"225166:2:21","nodeType":"VariableDeclaration","scope":34115,"src":"225158:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225158:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34092,"nodeType":"VariableDeclarationStatement","src":"225158:10:21"},{"assignments":[34094],"declarations":[{"constant":false,"id":34094,"mutability":"mutable","name":"m2","nameLocation":"225186:2:21","nodeType":"VariableDeclaration","scope":34115,"src":"225178:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225178:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34095,"nodeType":"VariableDeclarationStatement","src":"225178:10:21"},{"assignments":[34097],"declarations":[{"constant":false,"id":34097,"mutability":"mutable","name":"m3","nameLocation":"225206:2:21","nodeType":"VariableDeclaration","scope":34115,"src":"225198:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225198:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34098,"nodeType":"VariableDeclarationStatement","src":"225198:10:21"},{"assignments":[34100],"declarations":[{"constant":false,"id":34100,"mutability":"mutable","name":"m4","nameLocation":"225226:2:21","nodeType":"VariableDeclaration","scope":34115,"src":"225218:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225218:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34101,"nodeType":"VariableDeclarationStatement","src":"225218:10:21"},{"assignments":[34103],"declarations":[{"constant":false,"id":34103,"mutability":"mutable","name":"m5","nameLocation":"225246:2:21","nodeType":"VariableDeclaration","scope":34115,"src":"225238:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225238:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34104,"nodeType":"VariableDeclarationStatement","src":"225238:10:21"},{"assignments":[34106],"declarations":[{"constant":false,"id":34106,"mutability":"mutable","name":"m6","nameLocation":"225266:2:21","nodeType":"VariableDeclaration","scope":34115,"src":"225258:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225258:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34107,"nodeType":"VariableDeclarationStatement","src":"225258:10:21"},{"AST":{"nativeSrc":"225330:825:21","nodeType":"YulBlock","src":"225330:825:21","statements":[{"body":{"nativeSrc":"225373:313:21","nodeType":"YulBlock","src":"225373:313:21","statements":[{"nativeSrc":"225391:15:21","nodeType":"YulVariableDeclaration","src":"225391:15:21","value":{"kind":"number","nativeSrc":"225405:1:21","nodeType":"YulLiteral","src":"225405:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"225395:6:21","nodeType":"YulTypedName","src":"225395:6:21","type":""}]},{"body":{"nativeSrc":"225476:40:21","nodeType":"YulBlock","src":"225476:40:21","statements":[{"body":{"nativeSrc":"225505:9:21","nodeType":"YulBlock","src":"225505:9:21","statements":[{"nativeSrc":"225507:5:21","nodeType":"YulBreak","src":"225507:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"225493:6:21","nodeType":"YulIdentifier","src":"225493:6:21"},{"name":"w","nativeSrc":"225501:1:21","nodeType":"YulIdentifier","src":"225501:1:21"}],"functionName":{"name":"byte","nativeSrc":"225488:4:21","nodeType":"YulIdentifier","src":"225488:4:21"},"nativeSrc":"225488:15:21","nodeType":"YulFunctionCall","src":"225488:15:21"}],"functionName":{"name":"iszero","nativeSrc":"225481:6:21","nodeType":"YulIdentifier","src":"225481:6:21"},"nativeSrc":"225481:23:21","nodeType":"YulFunctionCall","src":"225481:23:21"},"nativeSrc":"225478:36:21","nodeType":"YulIf","src":"225478:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"225433:6:21","nodeType":"YulIdentifier","src":"225433:6:21"},{"kind":"number","nativeSrc":"225441:4:21","nodeType":"YulLiteral","src":"225441:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"225430:2:21","nodeType":"YulIdentifier","src":"225430:2:21"},"nativeSrc":"225430:16:21","nodeType":"YulFunctionCall","src":"225430:16:21"},"nativeSrc":"225423:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"225447:28:21","nodeType":"YulBlock","src":"225447:28:21","statements":[{"nativeSrc":"225449:24:21","nodeType":"YulAssignment","src":"225449:24:21","value":{"arguments":[{"name":"length","nativeSrc":"225463:6:21","nodeType":"YulIdentifier","src":"225463:6:21"},{"kind":"number","nativeSrc":"225471:1:21","nodeType":"YulLiteral","src":"225471:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"225459:3:21","nodeType":"YulIdentifier","src":"225459:3:21"},"nativeSrc":"225459:14:21","nodeType":"YulFunctionCall","src":"225459:14:21"},"variableNames":[{"name":"length","nativeSrc":"225449:6:21","nodeType":"YulIdentifier","src":"225449:6:21"}]}]},"pre":{"nativeSrc":"225427:2:21","nodeType":"YulBlock","src":"225427:2:21","statements":[]},"src":"225423:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"225540:3:21","nodeType":"YulIdentifier","src":"225540:3:21"},{"name":"length","nativeSrc":"225545:6:21","nodeType":"YulIdentifier","src":"225545:6:21"}],"functionName":{"name":"mstore","nativeSrc":"225533:6:21","nodeType":"YulIdentifier","src":"225533:6:21"},"nativeSrc":"225533:19:21","nodeType":"YulFunctionCall","src":"225533:19:21"},"nativeSrc":"225533:19:21","nodeType":"YulExpressionStatement","src":"225533:19:21"},{"nativeSrc":"225569:37:21","nodeType":"YulVariableDeclaration","src":"225569:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"225586:3:21","nodeType":"YulLiteral","src":"225586:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"225595:1:21","nodeType":"YulLiteral","src":"225595:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"225598:6:21","nodeType":"YulIdentifier","src":"225598:6:21"}],"functionName":{"name":"shl","nativeSrc":"225591:3:21","nodeType":"YulIdentifier","src":"225591:3:21"},"nativeSrc":"225591:14:21","nodeType":"YulFunctionCall","src":"225591:14:21"}],"functionName":{"name":"sub","nativeSrc":"225582:3:21","nodeType":"YulIdentifier","src":"225582:3:21"},"nativeSrc":"225582:24:21","nodeType":"YulFunctionCall","src":"225582:24:21"},"variables":[{"name":"shift","nativeSrc":"225573:5:21","nodeType":"YulTypedName","src":"225573:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"225634:3:21","nodeType":"YulIdentifier","src":"225634:3:21"},{"kind":"number","nativeSrc":"225639:4:21","nodeType":"YulLiteral","src":"225639:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"225630:3:21","nodeType":"YulIdentifier","src":"225630:3:21"},"nativeSrc":"225630:14:21","nodeType":"YulFunctionCall","src":"225630:14:21"},{"arguments":[{"name":"shift","nativeSrc":"225650:5:21","nodeType":"YulIdentifier","src":"225650:5:21"},{"arguments":[{"name":"shift","nativeSrc":"225661:5:21","nodeType":"YulIdentifier","src":"225661:5:21"},{"name":"w","nativeSrc":"225668:1:21","nodeType":"YulIdentifier","src":"225668:1:21"}],"functionName":{"name":"shr","nativeSrc":"225657:3:21","nodeType":"YulIdentifier","src":"225657:3:21"},"nativeSrc":"225657:13:21","nodeType":"YulFunctionCall","src":"225657:13:21"}],"functionName":{"name":"shl","nativeSrc":"225646:3:21","nodeType":"YulIdentifier","src":"225646:3:21"},"nativeSrc":"225646:25:21","nodeType":"YulFunctionCall","src":"225646:25:21"}],"functionName":{"name":"mstore","nativeSrc":"225623:6:21","nodeType":"YulIdentifier","src":"225623:6:21"},"nativeSrc":"225623:49:21","nodeType":"YulFunctionCall","src":"225623:49:21"},"nativeSrc":"225623:49:21","nodeType":"YulExpressionStatement","src":"225623:49:21"}]},"name":"writeString","nativeSrc":"225344:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"225365:3:21","nodeType":"YulTypedName","src":"225365:3:21","type":""},{"name":"w","nativeSrc":"225370:1:21","nodeType":"YulTypedName","src":"225370:1:21","type":""}],"src":"225344:342:21"},{"nativeSrc":"225699:17:21","nodeType":"YulAssignment","src":"225699:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"225711:4:21","nodeType":"YulLiteral","src":"225711:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"225705:5:21","nodeType":"YulIdentifier","src":"225705:5:21"},"nativeSrc":"225705:11:21","nodeType":"YulFunctionCall","src":"225705:11:21"},"variableNames":[{"name":"m0","nativeSrc":"225699:2:21","nodeType":"YulIdentifier","src":"225699:2:21"}]},{"nativeSrc":"225729:17:21","nodeType":"YulAssignment","src":"225729:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"225741:4:21","nodeType":"YulLiteral","src":"225741:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"225735:5:21","nodeType":"YulIdentifier","src":"225735:5:21"},"nativeSrc":"225735:11:21","nodeType":"YulFunctionCall","src":"225735:11:21"},"variableNames":[{"name":"m1","nativeSrc":"225729:2:21","nodeType":"YulIdentifier","src":"225729:2:21"}]},{"nativeSrc":"225759:17:21","nodeType":"YulAssignment","src":"225759:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"225771:4:21","nodeType":"YulLiteral","src":"225771:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"225765:5:21","nodeType":"YulIdentifier","src":"225765:5:21"},"nativeSrc":"225765:11:21","nodeType":"YulFunctionCall","src":"225765:11:21"},"variableNames":[{"name":"m2","nativeSrc":"225759:2:21","nodeType":"YulIdentifier","src":"225759:2:21"}]},{"nativeSrc":"225789:17:21","nodeType":"YulAssignment","src":"225789:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"225801:4:21","nodeType":"YulLiteral","src":"225801:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"225795:5:21","nodeType":"YulIdentifier","src":"225795:5:21"},"nativeSrc":"225795:11:21","nodeType":"YulFunctionCall","src":"225795:11:21"},"variableNames":[{"name":"m3","nativeSrc":"225789:2:21","nodeType":"YulIdentifier","src":"225789:2:21"}]},{"nativeSrc":"225819:17:21","nodeType":"YulAssignment","src":"225819:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"225831:4:21","nodeType":"YulLiteral","src":"225831:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"225825:5:21","nodeType":"YulIdentifier","src":"225825:5:21"},"nativeSrc":"225825:11:21","nodeType":"YulFunctionCall","src":"225825:11:21"},"variableNames":[{"name":"m4","nativeSrc":"225819:2:21","nodeType":"YulIdentifier","src":"225819:2:21"}]},{"nativeSrc":"225849:17:21","nodeType":"YulAssignment","src":"225849:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"225861:4:21","nodeType":"YulLiteral","src":"225861:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"225855:5:21","nodeType":"YulIdentifier","src":"225855:5:21"},"nativeSrc":"225855:11:21","nodeType":"YulFunctionCall","src":"225855:11:21"},"variableNames":[{"name":"m5","nativeSrc":"225849:2:21","nodeType":"YulIdentifier","src":"225849:2:21"}]},{"nativeSrc":"225879:17:21","nodeType":"YulAssignment","src":"225879:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"225891:4:21","nodeType":"YulLiteral","src":"225891:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"225885:5:21","nodeType":"YulIdentifier","src":"225885:5:21"},"nativeSrc":"225885:11:21","nodeType":"YulFunctionCall","src":"225885:11:21"},"variableNames":[{"name":"m6","nativeSrc":"225879:2:21","nodeType":"YulIdentifier","src":"225879:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"225976:4:21","nodeType":"YulLiteral","src":"225976:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"225982:10:21","nodeType":"YulLiteral","src":"225982:10:21","type":"","value":"0x6dd434ca"}],"functionName":{"name":"mstore","nativeSrc":"225969:6:21","nodeType":"YulIdentifier","src":"225969:6:21"},"nativeSrc":"225969:24:21","nodeType":"YulFunctionCall","src":"225969:24:21"},"nativeSrc":"225969:24:21","nodeType":"YulExpressionStatement","src":"225969:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226013:4:21","nodeType":"YulLiteral","src":"226013:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"226019:2:21","nodeType":"YulIdentifier","src":"226019:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226006:6:21","nodeType":"YulIdentifier","src":"226006:6:21"},"nativeSrc":"226006:16:21","nodeType":"YulFunctionCall","src":"226006:16:21"},"nativeSrc":"226006:16:21","nodeType":"YulExpressionStatement","src":"226006:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226042:4:21","nodeType":"YulLiteral","src":"226042:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"226048:4:21","nodeType":"YulLiteral","src":"226048:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"226035:6:21","nodeType":"YulIdentifier","src":"226035:6:21"},"nativeSrc":"226035:18:21","nodeType":"YulFunctionCall","src":"226035:18:21"},"nativeSrc":"226035:18:21","nodeType":"YulExpressionStatement","src":"226035:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226073:4:21","nodeType":"YulLiteral","src":"226073:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"226079:2:21","nodeType":"YulIdentifier","src":"226079:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226066:6:21","nodeType":"YulIdentifier","src":"226066:6:21"},"nativeSrc":"226066:16:21","nodeType":"YulFunctionCall","src":"226066:16:21"},"nativeSrc":"226066:16:21","nodeType":"YulExpressionStatement","src":"226066:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226102:4:21","nodeType":"YulLiteral","src":"226102:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"226108:2:21","nodeType":"YulIdentifier","src":"226108:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226095:6:21","nodeType":"YulIdentifier","src":"226095:6:21"},"nativeSrc":"226095:16:21","nodeType":"YulFunctionCall","src":"226095:16:21"},"nativeSrc":"226095:16:21","nodeType":"YulExpressionStatement","src":"226095:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226136:4:21","nodeType":"YulLiteral","src":"226136:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"226142:2:21","nodeType":"YulIdentifier","src":"226142:2:21"}],"functionName":{"name":"writeString","nativeSrc":"226124:11:21","nodeType":"YulIdentifier","src":"226124:11:21"},"nativeSrc":"226124:21:21","nodeType":"YulFunctionCall","src":"226124:21:21"},"nativeSrc":"226124:21:21","nodeType":"YulExpressionStatement","src":"226124:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34088,"isOffset":false,"isSlot":false,"src":"225699:2:21","valueSize":1},{"declaration":34091,"isOffset":false,"isSlot":false,"src":"225729:2:21","valueSize":1},{"declaration":34094,"isOffset":false,"isSlot":false,"src":"225759:2:21","valueSize":1},{"declaration":34097,"isOffset":false,"isSlot":false,"src":"225789:2:21","valueSize":1},{"declaration":34100,"isOffset":false,"isSlot":false,"src":"225819:2:21","valueSize":1},{"declaration":34103,"isOffset":false,"isSlot":false,"src":"225849:2:21","valueSize":1},{"declaration":34106,"isOffset":false,"isSlot":false,"src":"225879:2:21","valueSize":1},{"declaration":34078,"isOffset":false,"isSlot":false,"src":"226019:2:21","valueSize":1},{"declaration":34080,"isOffset":false,"isSlot":false,"src":"226142:2:21","valueSize":1},{"declaration":34082,"isOffset":false,"isSlot":false,"src":"226079:2:21","valueSize":1},{"declaration":34084,"isOffset":false,"isSlot":false,"src":"226108:2:21","valueSize":1}],"id":34108,"nodeType":"InlineAssembly","src":"225321:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"226180:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"226186:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34109,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"226164:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"226164:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34113,"nodeType":"ExpressionStatement","src":"226164:27:21"},{"AST":{"nativeSrc":"226253:214:21","nodeType":"YulBlock","src":"226253:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"226274:4:21","nodeType":"YulLiteral","src":"226274:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"226280:2:21","nodeType":"YulIdentifier","src":"226280:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226267:6:21","nodeType":"YulIdentifier","src":"226267:6:21"},"nativeSrc":"226267:16:21","nodeType":"YulFunctionCall","src":"226267:16:21"},"nativeSrc":"226267:16:21","nodeType":"YulExpressionStatement","src":"226267:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226303:4:21","nodeType":"YulLiteral","src":"226303:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"226309:2:21","nodeType":"YulIdentifier","src":"226309:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226296:6:21","nodeType":"YulIdentifier","src":"226296:6:21"},"nativeSrc":"226296:16:21","nodeType":"YulFunctionCall","src":"226296:16:21"},"nativeSrc":"226296:16:21","nodeType":"YulExpressionStatement","src":"226296:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226332:4:21","nodeType":"YulLiteral","src":"226332:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"226338:2:21","nodeType":"YulIdentifier","src":"226338:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226325:6:21","nodeType":"YulIdentifier","src":"226325:6:21"},"nativeSrc":"226325:16:21","nodeType":"YulFunctionCall","src":"226325:16:21"},"nativeSrc":"226325:16:21","nodeType":"YulExpressionStatement","src":"226325:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226361:4:21","nodeType":"YulLiteral","src":"226361:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"226367:2:21","nodeType":"YulIdentifier","src":"226367:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226354:6:21","nodeType":"YulIdentifier","src":"226354:6:21"},"nativeSrc":"226354:16:21","nodeType":"YulFunctionCall","src":"226354:16:21"},"nativeSrc":"226354:16:21","nodeType":"YulExpressionStatement","src":"226354:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226390:4:21","nodeType":"YulLiteral","src":"226390:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"226396:2:21","nodeType":"YulIdentifier","src":"226396:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226383:6:21","nodeType":"YulIdentifier","src":"226383:6:21"},"nativeSrc":"226383:16:21","nodeType":"YulFunctionCall","src":"226383:16:21"},"nativeSrc":"226383:16:21","nodeType":"YulExpressionStatement","src":"226383:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226419:4:21","nodeType":"YulLiteral","src":"226419:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"226425:2:21","nodeType":"YulIdentifier","src":"226425:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226412:6:21","nodeType":"YulIdentifier","src":"226412:6:21"},"nativeSrc":"226412:16:21","nodeType":"YulFunctionCall","src":"226412:16:21"},"nativeSrc":"226412:16:21","nodeType":"YulExpressionStatement","src":"226412:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226448:4:21","nodeType":"YulLiteral","src":"226448:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"226454:2:21","nodeType":"YulIdentifier","src":"226454:2:21"}],"functionName":{"name":"mstore","nativeSrc":"226441:6:21","nodeType":"YulIdentifier","src":"226441:6:21"},"nativeSrc":"226441:16:21","nodeType":"YulFunctionCall","src":"226441:16:21"},"nativeSrc":"226441:16:21","nodeType":"YulExpressionStatement","src":"226441:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34088,"isOffset":false,"isSlot":false,"src":"226280:2:21","valueSize":1},{"declaration":34091,"isOffset":false,"isSlot":false,"src":"226309:2:21","valueSize":1},{"declaration":34094,"isOffset":false,"isSlot":false,"src":"226338:2:21","valueSize":1},{"declaration":34097,"isOffset":false,"isSlot":false,"src":"226367:2:21","valueSize":1},{"declaration":34100,"isOffset":false,"isSlot":false,"src":"226396:2:21","valueSize":1},{"declaration":34103,"isOffset":false,"isSlot":false,"src":"226425:2:21","valueSize":1},{"declaration":34106,"isOffset":false,"isSlot":false,"src":"226454:2:21","valueSize":1}],"id":34114,"nodeType":"InlineAssembly","src":"226244:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"225068:3:21","parameters":{"id":34085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34078,"mutability":"mutable","name":"p0","nameLocation":"225077:2:21","nodeType":"VariableDeclaration","scope":34116,"src":"225072:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34077,"name":"bool","nodeType":"ElementaryTypeName","src":"225072:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34080,"mutability":"mutable","name":"p1","nameLocation":"225089:2:21","nodeType":"VariableDeclaration","scope":34116,"src":"225081:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225081:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34082,"mutability":"mutable","name":"p2","nameLocation":"225101:2:21","nodeType":"VariableDeclaration","scope":34116,"src":"225093:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34081,"name":"address","nodeType":"ElementaryTypeName","src":"225093:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34084,"mutability":"mutable","name":"p3","nameLocation":"225110:2:21","nodeType":"VariableDeclaration","scope":34116,"src":"225105:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34083,"name":"bool","nodeType":"ElementaryTypeName","src":"225105:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"225071:42:21"},"returnParameters":{"id":34086,"nodeType":"ParameterList","parameters":[],"src":"225128:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34156,"nodeType":"FunctionDefinition","src":"226479:1420:21","nodes":[],"body":{"id":34155,"nodeType":"Block","src":"226551:1348:21","nodes":[],"statements":[{"assignments":[34128],"declarations":[{"constant":false,"id":34128,"mutability":"mutable","name":"m0","nameLocation":"226569:2:21","nodeType":"VariableDeclaration","scope":34155,"src":"226561:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226561:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34129,"nodeType":"VariableDeclarationStatement","src":"226561:10:21"},{"assignments":[34131],"declarations":[{"constant":false,"id":34131,"mutability":"mutable","name":"m1","nameLocation":"226589:2:21","nodeType":"VariableDeclaration","scope":34155,"src":"226581:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226581:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34132,"nodeType":"VariableDeclarationStatement","src":"226581:10:21"},{"assignments":[34134],"declarations":[{"constant":false,"id":34134,"mutability":"mutable","name":"m2","nameLocation":"226609:2:21","nodeType":"VariableDeclaration","scope":34155,"src":"226601:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226601:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34135,"nodeType":"VariableDeclarationStatement","src":"226601:10:21"},{"assignments":[34137],"declarations":[{"constant":false,"id":34137,"mutability":"mutable","name":"m3","nameLocation":"226629:2:21","nodeType":"VariableDeclaration","scope":34155,"src":"226621:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226621:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34138,"nodeType":"VariableDeclarationStatement","src":"226621:10:21"},{"assignments":[34140],"declarations":[{"constant":false,"id":34140,"mutability":"mutable","name":"m4","nameLocation":"226649:2:21","nodeType":"VariableDeclaration","scope":34155,"src":"226641:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226641:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34141,"nodeType":"VariableDeclarationStatement","src":"226641:10:21"},{"assignments":[34143],"declarations":[{"constant":false,"id":34143,"mutability":"mutable","name":"m5","nameLocation":"226669:2:21","nodeType":"VariableDeclaration","scope":34155,"src":"226661:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226661:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34144,"nodeType":"VariableDeclarationStatement","src":"226661:10:21"},{"assignments":[34146],"declarations":[{"constant":false,"id":34146,"mutability":"mutable","name":"m6","nameLocation":"226689:2:21","nodeType":"VariableDeclaration","scope":34155,"src":"226681:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226681:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34147,"nodeType":"VariableDeclarationStatement","src":"226681:10:21"},{"AST":{"nativeSrc":"226753:828:21","nodeType":"YulBlock","src":"226753:828:21","statements":[{"body":{"nativeSrc":"226796:313:21","nodeType":"YulBlock","src":"226796:313:21","statements":[{"nativeSrc":"226814:15:21","nodeType":"YulVariableDeclaration","src":"226814:15:21","value":{"kind":"number","nativeSrc":"226828:1:21","nodeType":"YulLiteral","src":"226828:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"226818:6:21","nodeType":"YulTypedName","src":"226818:6:21","type":""}]},{"body":{"nativeSrc":"226899:40:21","nodeType":"YulBlock","src":"226899:40:21","statements":[{"body":{"nativeSrc":"226928:9:21","nodeType":"YulBlock","src":"226928:9:21","statements":[{"nativeSrc":"226930:5:21","nodeType":"YulBreak","src":"226930:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"226916:6:21","nodeType":"YulIdentifier","src":"226916:6:21"},{"name":"w","nativeSrc":"226924:1:21","nodeType":"YulIdentifier","src":"226924:1:21"}],"functionName":{"name":"byte","nativeSrc":"226911:4:21","nodeType":"YulIdentifier","src":"226911:4:21"},"nativeSrc":"226911:15:21","nodeType":"YulFunctionCall","src":"226911:15:21"}],"functionName":{"name":"iszero","nativeSrc":"226904:6:21","nodeType":"YulIdentifier","src":"226904:6:21"},"nativeSrc":"226904:23:21","nodeType":"YulFunctionCall","src":"226904:23:21"},"nativeSrc":"226901:36:21","nodeType":"YulIf","src":"226901:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"226856:6:21","nodeType":"YulIdentifier","src":"226856:6:21"},{"kind":"number","nativeSrc":"226864:4:21","nodeType":"YulLiteral","src":"226864:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"226853:2:21","nodeType":"YulIdentifier","src":"226853:2:21"},"nativeSrc":"226853:16:21","nodeType":"YulFunctionCall","src":"226853:16:21"},"nativeSrc":"226846:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"226870:28:21","nodeType":"YulBlock","src":"226870:28:21","statements":[{"nativeSrc":"226872:24:21","nodeType":"YulAssignment","src":"226872:24:21","value":{"arguments":[{"name":"length","nativeSrc":"226886:6:21","nodeType":"YulIdentifier","src":"226886:6:21"},{"kind":"number","nativeSrc":"226894:1:21","nodeType":"YulLiteral","src":"226894:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"226882:3:21","nodeType":"YulIdentifier","src":"226882:3:21"},"nativeSrc":"226882:14:21","nodeType":"YulFunctionCall","src":"226882:14:21"},"variableNames":[{"name":"length","nativeSrc":"226872:6:21","nodeType":"YulIdentifier","src":"226872:6:21"}]}]},"pre":{"nativeSrc":"226850:2:21","nodeType":"YulBlock","src":"226850:2:21","statements":[]},"src":"226846:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"226963:3:21","nodeType":"YulIdentifier","src":"226963:3:21"},{"name":"length","nativeSrc":"226968:6:21","nodeType":"YulIdentifier","src":"226968:6:21"}],"functionName":{"name":"mstore","nativeSrc":"226956:6:21","nodeType":"YulIdentifier","src":"226956:6:21"},"nativeSrc":"226956:19:21","nodeType":"YulFunctionCall","src":"226956:19:21"},"nativeSrc":"226956:19:21","nodeType":"YulExpressionStatement","src":"226956:19:21"},{"nativeSrc":"226992:37:21","nodeType":"YulVariableDeclaration","src":"226992:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"227009:3:21","nodeType":"YulLiteral","src":"227009:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"227018:1:21","nodeType":"YulLiteral","src":"227018:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"227021:6:21","nodeType":"YulIdentifier","src":"227021:6:21"}],"functionName":{"name":"shl","nativeSrc":"227014:3:21","nodeType":"YulIdentifier","src":"227014:3:21"},"nativeSrc":"227014:14:21","nodeType":"YulFunctionCall","src":"227014:14:21"}],"functionName":{"name":"sub","nativeSrc":"227005:3:21","nodeType":"YulIdentifier","src":"227005:3:21"},"nativeSrc":"227005:24:21","nodeType":"YulFunctionCall","src":"227005:24:21"},"variables":[{"name":"shift","nativeSrc":"226996:5:21","nodeType":"YulTypedName","src":"226996:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"227057:3:21","nodeType":"YulIdentifier","src":"227057:3:21"},{"kind":"number","nativeSrc":"227062:4:21","nodeType":"YulLiteral","src":"227062:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"227053:3:21","nodeType":"YulIdentifier","src":"227053:3:21"},"nativeSrc":"227053:14:21","nodeType":"YulFunctionCall","src":"227053:14:21"},{"arguments":[{"name":"shift","nativeSrc":"227073:5:21","nodeType":"YulIdentifier","src":"227073:5:21"},{"arguments":[{"name":"shift","nativeSrc":"227084:5:21","nodeType":"YulIdentifier","src":"227084:5:21"},{"name":"w","nativeSrc":"227091:1:21","nodeType":"YulIdentifier","src":"227091:1:21"}],"functionName":{"name":"shr","nativeSrc":"227080:3:21","nodeType":"YulIdentifier","src":"227080:3:21"},"nativeSrc":"227080:13:21","nodeType":"YulFunctionCall","src":"227080:13:21"}],"functionName":{"name":"shl","nativeSrc":"227069:3:21","nodeType":"YulIdentifier","src":"227069:3:21"},"nativeSrc":"227069:25:21","nodeType":"YulFunctionCall","src":"227069:25:21"}],"functionName":{"name":"mstore","nativeSrc":"227046:6:21","nodeType":"YulIdentifier","src":"227046:6:21"},"nativeSrc":"227046:49:21","nodeType":"YulFunctionCall","src":"227046:49:21"},"nativeSrc":"227046:49:21","nodeType":"YulExpressionStatement","src":"227046:49:21"}]},"name":"writeString","nativeSrc":"226767:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"226788:3:21","nodeType":"YulTypedName","src":"226788:3:21","type":""},{"name":"w","nativeSrc":"226793:1:21","nodeType":"YulTypedName","src":"226793:1:21","type":""}],"src":"226767:342:21"},{"nativeSrc":"227122:17:21","nodeType":"YulAssignment","src":"227122:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"227134:4:21","nodeType":"YulLiteral","src":"227134:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"227128:5:21","nodeType":"YulIdentifier","src":"227128:5:21"},"nativeSrc":"227128:11:21","nodeType":"YulFunctionCall","src":"227128:11:21"},"variableNames":[{"name":"m0","nativeSrc":"227122:2:21","nodeType":"YulIdentifier","src":"227122:2:21"}]},{"nativeSrc":"227152:17:21","nodeType":"YulAssignment","src":"227152:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"227164:4:21","nodeType":"YulLiteral","src":"227164:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"227158:5:21","nodeType":"YulIdentifier","src":"227158:5:21"},"nativeSrc":"227158:11:21","nodeType":"YulFunctionCall","src":"227158:11:21"},"variableNames":[{"name":"m1","nativeSrc":"227152:2:21","nodeType":"YulIdentifier","src":"227152:2:21"}]},{"nativeSrc":"227182:17:21","nodeType":"YulAssignment","src":"227182:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"227194:4:21","nodeType":"YulLiteral","src":"227194:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"227188:5:21","nodeType":"YulIdentifier","src":"227188:5:21"},"nativeSrc":"227188:11:21","nodeType":"YulFunctionCall","src":"227188:11:21"},"variableNames":[{"name":"m2","nativeSrc":"227182:2:21","nodeType":"YulIdentifier","src":"227182:2:21"}]},{"nativeSrc":"227212:17:21","nodeType":"YulAssignment","src":"227212:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"227224:4:21","nodeType":"YulLiteral","src":"227224:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"227218:5:21","nodeType":"YulIdentifier","src":"227218:5:21"},"nativeSrc":"227218:11:21","nodeType":"YulFunctionCall","src":"227218:11:21"},"variableNames":[{"name":"m3","nativeSrc":"227212:2:21","nodeType":"YulIdentifier","src":"227212:2:21"}]},{"nativeSrc":"227242:17:21","nodeType":"YulAssignment","src":"227242:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"227254:4:21","nodeType":"YulLiteral","src":"227254:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"227248:5:21","nodeType":"YulIdentifier","src":"227248:5:21"},"nativeSrc":"227248:11:21","nodeType":"YulFunctionCall","src":"227248:11:21"},"variableNames":[{"name":"m4","nativeSrc":"227242:2:21","nodeType":"YulIdentifier","src":"227242:2:21"}]},{"nativeSrc":"227272:17:21","nodeType":"YulAssignment","src":"227272:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"227284:4:21","nodeType":"YulLiteral","src":"227284:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"227278:5:21","nodeType":"YulIdentifier","src":"227278:5:21"},"nativeSrc":"227278:11:21","nodeType":"YulFunctionCall","src":"227278:11:21"},"variableNames":[{"name":"m5","nativeSrc":"227272:2:21","nodeType":"YulIdentifier","src":"227272:2:21"}]},{"nativeSrc":"227302:17:21","nodeType":"YulAssignment","src":"227302:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"227314:4:21","nodeType":"YulLiteral","src":"227314:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"227308:5:21","nodeType":"YulIdentifier","src":"227308:5:21"},"nativeSrc":"227308:11:21","nodeType":"YulFunctionCall","src":"227308:11:21"},"variableNames":[{"name":"m6","nativeSrc":"227302:2:21","nodeType":"YulIdentifier","src":"227302:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227402:4:21","nodeType":"YulLiteral","src":"227402:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"227408:10:21","nodeType":"YulLiteral","src":"227408:10:21","type":"","value":"0xa5cada94"}],"functionName":{"name":"mstore","nativeSrc":"227395:6:21","nodeType":"YulIdentifier","src":"227395:6:21"},"nativeSrc":"227395:24:21","nodeType":"YulFunctionCall","src":"227395:24:21"},"nativeSrc":"227395:24:21","nodeType":"YulExpressionStatement","src":"227395:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227439:4:21","nodeType":"YulLiteral","src":"227439:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"227445:2:21","nodeType":"YulIdentifier","src":"227445:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227432:6:21","nodeType":"YulIdentifier","src":"227432:6:21"},"nativeSrc":"227432:16:21","nodeType":"YulFunctionCall","src":"227432:16:21"},"nativeSrc":"227432:16:21","nodeType":"YulExpressionStatement","src":"227432:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227468:4:21","nodeType":"YulLiteral","src":"227468:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"227474:4:21","nodeType":"YulLiteral","src":"227474:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"227461:6:21","nodeType":"YulIdentifier","src":"227461:6:21"},"nativeSrc":"227461:18:21","nodeType":"YulFunctionCall","src":"227461:18:21"},"nativeSrc":"227461:18:21","nodeType":"YulExpressionStatement","src":"227461:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227499:4:21","nodeType":"YulLiteral","src":"227499:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"227505:2:21","nodeType":"YulIdentifier","src":"227505:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227492:6:21","nodeType":"YulIdentifier","src":"227492:6:21"},"nativeSrc":"227492:16:21","nodeType":"YulFunctionCall","src":"227492:16:21"},"nativeSrc":"227492:16:21","nodeType":"YulExpressionStatement","src":"227492:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227528:4:21","nodeType":"YulLiteral","src":"227528:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"227534:2:21","nodeType":"YulIdentifier","src":"227534:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227521:6:21","nodeType":"YulIdentifier","src":"227521:6:21"},"nativeSrc":"227521:16:21","nodeType":"YulFunctionCall","src":"227521:16:21"},"nativeSrc":"227521:16:21","nodeType":"YulExpressionStatement","src":"227521:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227562:4:21","nodeType":"YulLiteral","src":"227562:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"227568:2:21","nodeType":"YulIdentifier","src":"227568:2:21"}],"functionName":{"name":"writeString","nativeSrc":"227550:11:21","nodeType":"YulIdentifier","src":"227550:11:21"},"nativeSrc":"227550:21:21","nodeType":"YulFunctionCall","src":"227550:21:21"},"nativeSrc":"227550:21:21","nodeType":"YulExpressionStatement","src":"227550:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34128,"isOffset":false,"isSlot":false,"src":"227122:2:21","valueSize":1},{"declaration":34131,"isOffset":false,"isSlot":false,"src":"227152:2:21","valueSize":1},{"declaration":34134,"isOffset":false,"isSlot":false,"src":"227182:2:21","valueSize":1},{"declaration":34137,"isOffset":false,"isSlot":false,"src":"227212:2:21","valueSize":1},{"declaration":34140,"isOffset":false,"isSlot":false,"src":"227242:2:21","valueSize":1},{"declaration":34143,"isOffset":false,"isSlot":false,"src":"227272:2:21","valueSize":1},{"declaration":34146,"isOffset":false,"isSlot":false,"src":"227302:2:21","valueSize":1},{"declaration":34118,"isOffset":false,"isSlot":false,"src":"227445:2:21","valueSize":1},{"declaration":34120,"isOffset":false,"isSlot":false,"src":"227568:2:21","valueSize":1},{"declaration":34122,"isOffset":false,"isSlot":false,"src":"227505:2:21","valueSize":1},{"declaration":34124,"isOffset":false,"isSlot":false,"src":"227534:2:21","valueSize":1}],"id":34148,"nodeType":"InlineAssembly","src":"226744:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"227606:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"227612:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34149,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"227590:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"227590:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34153,"nodeType":"ExpressionStatement","src":"227590:27:21"},{"AST":{"nativeSrc":"227679:214:21","nodeType":"YulBlock","src":"227679:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"227700:4:21","nodeType":"YulLiteral","src":"227700:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"227706:2:21","nodeType":"YulIdentifier","src":"227706:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227693:6:21","nodeType":"YulIdentifier","src":"227693:6:21"},"nativeSrc":"227693:16:21","nodeType":"YulFunctionCall","src":"227693:16:21"},"nativeSrc":"227693:16:21","nodeType":"YulExpressionStatement","src":"227693:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227729:4:21","nodeType":"YulLiteral","src":"227729:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"227735:2:21","nodeType":"YulIdentifier","src":"227735:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227722:6:21","nodeType":"YulIdentifier","src":"227722:6:21"},"nativeSrc":"227722:16:21","nodeType":"YulFunctionCall","src":"227722:16:21"},"nativeSrc":"227722:16:21","nodeType":"YulExpressionStatement","src":"227722:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227758:4:21","nodeType":"YulLiteral","src":"227758:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"227764:2:21","nodeType":"YulIdentifier","src":"227764:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227751:6:21","nodeType":"YulIdentifier","src":"227751:6:21"},"nativeSrc":"227751:16:21","nodeType":"YulFunctionCall","src":"227751:16:21"},"nativeSrc":"227751:16:21","nodeType":"YulExpressionStatement","src":"227751:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227787:4:21","nodeType":"YulLiteral","src":"227787:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"227793:2:21","nodeType":"YulIdentifier","src":"227793:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227780:6:21","nodeType":"YulIdentifier","src":"227780:6:21"},"nativeSrc":"227780:16:21","nodeType":"YulFunctionCall","src":"227780:16:21"},"nativeSrc":"227780:16:21","nodeType":"YulExpressionStatement","src":"227780:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227816:4:21","nodeType":"YulLiteral","src":"227816:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"227822:2:21","nodeType":"YulIdentifier","src":"227822:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227809:6:21","nodeType":"YulIdentifier","src":"227809:6:21"},"nativeSrc":"227809:16:21","nodeType":"YulFunctionCall","src":"227809:16:21"},"nativeSrc":"227809:16:21","nodeType":"YulExpressionStatement","src":"227809:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227845:4:21","nodeType":"YulLiteral","src":"227845:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"227851:2:21","nodeType":"YulIdentifier","src":"227851:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227838:6:21","nodeType":"YulIdentifier","src":"227838:6:21"},"nativeSrc":"227838:16:21","nodeType":"YulFunctionCall","src":"227838:16:21"},"nativeSrc":"227838:16:21","nodeType":"YulExpressionStatement","src":"227838:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227874:4:21","nodeType":"YulLiteral","src":"227874:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"227880:2:21","nodeType":"YulIdentifier","src":"227880:2:21"}],"functionName":{"name":"mstore","nativeSrc":"227867:6:21","nodeType":"YulIdentifier","src":"227867:6:21"},"nativeSrc":"227867:16:21","nodeType":"YulFunctionCall","src":"227867:16:21"},"nativeSrc":"227867:16:21","nodeType":"YulExpressionStatement","src":"227867:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34128,"isOffset":false,"isSlot":false,"src":"227706:2:21","valueSize":1},{"declaration":34131,"isOffset":false,"isSlot":false,"src":"227735:2:21","valueSize":1},{"declaration":34134,"isOffset":false,"isSlot":false,"src":"227764:2:21","valueSize":1},{"declaration":34137,"isOffset":false,"isSlot":false,"src":"227793:2:21","valueSize":1},{"declaration":34140,"isOffset":false,"isSlot":false,"src":"227822:2:21","valueSize":1},{"declaration":34143,"isOffset":false,"isSlot":false,"src":"227851:2:21","valueSize":1},{"declaration":34146,"isOffset":false,"isSlot":false,"src":"227880:2:21","valueSize":1}],"id":34154,"nodeType":"InlineAssembly","src":"227670:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"226488:3:21","parameters":{"id":34125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34118,"mutability":"mutable","name":"p0","nameLocation":"226497:2:21","nodeType":"VariableDeclaration","scope":34156,"src":"226492:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34117,"name":"bool","nodeType":"ElementaryTypeName","src":"226492:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34120,"mutability":"mutable","name":"p1","nameLocation":"226509:2:21","nodeType":"VariableDeclaration","scope":34156,"src":"226501:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226501:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34122,"mutability":"mutable","name":"p2","nameLocation":"226521:2:21","nodeType":"VariableDeclaration","scope":34156,"src":"226513:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34121,"name":"address","nodeType":"ElementaryTypeName","src":"226513:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34124,"mutability":"mutable","name":"p3","nameLocation":"226533:2:21","nodeType":"VariableDeclaration","scope":34156,"src":"226525:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34123,"name":"uint256","nodeType":"ElementaryTypeName","src":"226525:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"226491:45:21"},"returnParameters":{"id":34126,"nodeType":"ParameterList","parameters":[],"src":"226551:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34202,"nodeType":"FunctionDefinition","src":"227905:1616:21","nodes":[],"body":{"id":34201,"nodeType":"Block","src":"227977:1544:21","nodes":[],"statements":[{"assignments":[34168],"declarations":[{"constant":false,"id":34168,"mutability":"mutable","name":"m0","nameLocation":"227995:2:21","nodeType":"VariableDeclaration","scope":34201,"src":"227987:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"227987:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34169,"nodeType":"VariableDeclarationStatement","src":"227987:10:21"},{"assignments":[34171],"declarations":[{"constant":false,"id":34171,"mutability":"mutable","name":"m1","nameLocation":"228015:2:21","nodeType":"VariableDeclaration","scope":34201,"src":"228007:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228007:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34172,"nodeType":"VariableDeclarationStatement","src":"228007:10:21"},{"assignments":[34174],"declarations":[{"constant":false,"id":34174,"mutability":"mutable","name":"m2","nameLocation":"228035:2:21","nodeType":"VariableDeclaration","scope":34201,"src":"228027:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228027:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34175,"nodeType":"VariableDeclarationStatement","src":"228027:10:21"},{"assignments":[34177],"declarations":[{"constant":false,"id":34177,"mutability":"mutable","name":"m3","nameLocation":"228055:2:21","nodeType":"VariableDeclaration","scope":34201,"src":"228047:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228047:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34178,"nodeType":"VariableDeclarationStatement","src":"228047:10:21"},{"assignments":[34180],"declarations":[{"constant":false,"id":34180,"mutability":"mutable","name":"m4","nameLocation":"228075:2:21","nodeType":"VariableDeclaration","scope":34201,"src":"228067:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228067:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34181,"nodeType":"VariableDeclarationStatement","src":"228067:10:21"},{"assignments":[34183],"declarations":[{"constant":false,"id":34183,"mutability":"mutable","name":"m5","nameLocation":"228095:2:21","nodeType":"VariableDeclaration","scope":34201,"src":"228087:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228087:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34184,"nodeType":"VariableDeclarationStatement","src":"228087:10:21"},{"assignments":[34186],"declarations":[{"constant":false,"id":34186,"mutability":"mutable","name":"m6","nameLocation":"228115:2:21","nodeType":"VariableDeclaration","scope":34201,"src":"228107:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228107:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34187,"nodeType":"VariableDeclarationStatement","src":"228107:10:21"},{"assignments":[34189],"declarations":[{"constant":false,"id":34189,"mutability":"mutable","name":"m7","nameLocation":"228135:2:21","nodeType":"VariableDeclaration","scope":34201,"src":"228127:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228127:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34190,"nodeType":"VariableDeclarationStatement","src":"228127:10:21"},{"assignments":[34192],"declarations":[{"constant":false,"id":34192,"mutability":"mutable","name":"m8","nameLocation":"228155:2:21","nodeType":"VariableDeclaration","scope":34201,"src":"228147:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228147:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34193,"nodeType":"VariableDeclarationStatement","src":"228147:10:21"},{"AST":{"nativeSrc":"228219:924:21","nodeType":"YulBlock","src":"228219:924:21","statements":[{"body":{"nativeSrc":"228262:313:21","nodeType":"YulBlock","src":"228262:313:21","statements":[{"nativeSrc":"228280:15:21","nodeType":"YulVariableDeclaration","src":"228280:15:21","value":{"kind":"number","nativeSrc":"228294:1:21","nodeType":"YulLiteral","src":"228294:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"228284:6:21","nodeType":"YulTypedName","src":"228284:6:21","type":""}]},{"body":{"nativeSrc":"228365:40:21","nodeType":"YulBlock","src":"228365:40:21","statements":[{"body":{"nativeSrc":"228394:9:21","nodeType":"YulBlock","src":"228394:9:21","statements":[{"nativeSrc":"228396:5:21","nodeType":"YulBreak","src":"228396:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"228382:6:21","nodeType":"YulIdentifier","src":"228382:6:21"},{"name":"w","nativeSrc":"228390:1:21","nodeType":"YulIdentifier","src":"228390:1:21"}],"functionName":{"name":"byte","nativeSrc":"228377:4:21","nodeType":"YulIdentifier","src":"228377:4:21"},"nativeSrc":"228377:15:21","nodeType":"YulFunctionCall","src":"228377:15:21"}],"functionName":{"name":"iszero","nativeSrc":"228370:6:21","nodeType":"YulIdentifier","src":"228370:6:21"},"nativeSrc":"228370:23:21","nodeType":"YulFunctionCall","src":"228370:23:21"},"nativeSrc":"228367:36:21","nodeType":"YulIf","src":"228367:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"228322:6:21","nodeType":"YulIdentifier","src":"228322:6:21"},{"kind":"number","nativeSrc":"228330:4:21","nodeType":"YulLiteral","src":"228330:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"228319:2:21","nodeType":"YulIdentifier","src":"228319:2:21"},"nativeSrc":"228319:16:21","nodeType":"YulFunctionCall","src":"228319:16:21"},"nativeSrc":"228312:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"228336:28:21","nodeType":"YulBlock","src":"228336:28:21","statements":[{"nativeSrc":"228338:24:21","nodeType":"YulAssignment","src":"228338:24:21","value":{"arguments":[{"name":"length","nativeSrc":"228352:6:21","nodeType":"YulIdentifier","src":"228352:6:21"},{"kind":"number","nativeSrc":"228360:1:21","nodeType":"YulLiteral","src":"228360:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"228348:3:21","nodeType":"YulIdentifier","src":"228348:3:21"},"nativeSrc":"228348:14:21","nodeType":"YulFunctionCall","src":"228348:14:21"},"variableNames":[{"name":"length","nativeSrc":"228338:6:21","nodeType":"YulIdentifier","src":"228338:6:21"}]}]},"pre":{"nativeSrc":"228316:2:21","nodeType":"YulBlock","src":"228316:2:21","statements":[]},"src":"228312:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"228429:3:21","nodeType":"YulIdentifier","src":"228429:3:21"},{"name":"length","nativeSrc":"228434:6:21","nodeType":"YulIdentifier","src":"228434:6:21"}],"functionName":{"name":"mstore","nativeSrc":"228422:6:21","nodeType":"YulIdentifier","src":"228422:6:21"},"nativeSrc":"228422:19:21","nodeType":"YulFunctionCall","src":"228422:19:21"},"nativeSrc":"228422:19:21","nodeType":"YulExpressionStatement","src":"228422:19:21"},{"nativeSrc":"228458:37:21","nodeType":"YulVariableDeclaration","src":"228458:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"228475:3:21","nodeType":"YulLiteral","src":"228475:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"228484:1:21","nodeType":"YulLiteral","src":"228484:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"228487:6:21","nodeType":"YulIdentifier","src":"228487:6:21"}],"functionName":{"name":"shl","nativeSrc":"228480:3:21","nodeType":"YulIdentifier","src":"228480:3:21"},"nativeSrc":"228480:14:21","nodeType":"YulFunctionCall","src":"228480:14:21"}],"functionName":{"name":"sub","nativeSrc":"228471:3:21","nodeType":"YulIdentifier","src":"228471:3:21"},"nativeSrc":"228471:24:21","nodeType":"YulFunctionCall","src":"228471:24:21"},"variables":[{"name":"shift","nativeSrc":"228462:5:21","nodeType":"YulTypedName","src":"228462:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"228523:3:21","nodeType":"YulIdentifier","src":"228523:3:21"},{"kind":"number","nativeSrc":"228528:4:21","nodeType":"YulLiteral","src":"228528:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"228519:3:21","nodeType":"YulIdentifier","src":"228519:3:21"},"nativeSrc":"228519:14:21","nodeType":"YulFunctionCall","src":"228519:14:21"},{"arguments":[{"name":"shift","nativeSrc":"228539:5:21","nodeType":"YulIdentifier","src":"228539:5:21"},{"arguments":[{"name":"shift","nativeSrc":"228550:5:21","nodeType":"YulIdentifier","src":"228550:5:21"},{"name":"w","nativeSrc":"228557:1:21","nodeType":"YulIdentifier","src":"228557:1:21"}],"functionName":{"name":"shr","nativeSrc":"228546:3:21","nodeType":"YulIdentifier","src":"228546:3:21"},"nativeSrc":"228546:13:21","nodeType":"YulFunctionCall","src":"228546:13:21"}],"functionName":{"name":"shl","nativeSrc":"228535:3:21","nodeType":"YulIdentifier","src":"228535:3:21"},"nativeSrc":"228535:25:21","nodeType":"YulFunctionCall","src":"228535:25:21"}],"functionName":{"name":"mstore","nativeSrc":"228512:6:21","nodeType":"YulIdentifier","src":"228512:6:21"},"nativeSrc":"228512:49:21","nodeType":"YulFunctionCall","src":"228512:49:21"},"nativeSrc":"228512:49:21","nodeType":"YulExpressionStatement","src":"228512:49:21"}]},"name":"writeString","nativeSrc":"228233:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"228254:3:21","nodeType":"YulTypedName","src":"228254:3:21","type":""},{"name":"w","nativeSrc":"228259:1:21","nodeType":"YulTypedName","src":"228259:1:21","type":""}],"src":"228233:342:21"},{"nativeSrc":"228588:17:21","nodeType":"YulAssignment","src":"228588:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"228600:4:21","nodeType":"YulLiteral","src":"228600:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"228594:5:21","nodeType":"YulIdentifier","src":"228594:5:21"},"nativeSrc":"228594:11:21","nodeType":"YulFunctionCall","src":"228594:11:21"},"variableNames":[{"name":"m0","nativeSrc":"228588:2:21","nodeType":"YulIdentifier","src":"228588:2:21"}]},{"nativeSrc":"228618:17:21","nodeType":"YulAssignment","src":"228618:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"228630:4:21","nodeType":"YulLiteral","src":"228630:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"228624:5:21","nodeType":"YulIdentifier","src":"228624:5:21"},"nativeSrc":"228624:11:21","nodeType":"YulFunctionCall","src":"228624:11:21"},"variableNames":[{"name":"m1","nativeSrc":"228618:2:21","nodeType":"YulIdentifier","src":"228618:2:21"}]},{"nativeSrc":"228648:17:21","nodeType":"YulAssignment","src":"228648:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"228660:4:21","nodeType":"YulLiteral","src":"228660:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"228654:5:21","nodeType":"YulIdentifier","src":"228654:5:21"},"nativeSrc":"228654:11:21","nodeType":"YulFunctionCall","src":"228654:11:21"},"variableNames":[{"name":"m2","nativeSrc":"228648:2:21","nodeType":"YulIdentifier","src":"228648:2:21"}]},{"nativeSrc":"228678:17:21","nodeType":"YulAssignment","src":"228678:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"228690:4:21","nodeType":"YulLiteral","src":"228690:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"228684:5:21","nodeType":"YulIdentifier","src":"228684:5:21"},"nativeSrc":"228684:11:21","nodeType":"YulFunctionCall","src":"228684:11:21"},"variableNames":[{"name":"m3","nativeSrc":"228678:2:21","nodeType":"YulIdentifier","src":"228678:2:21"}]},{"nativeSrc":"228708:17:21","nodeType":"YulAssignment","src":"228708:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"228720:4:21","nodeType":"YulLiteral","src":"228720:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"228714:5:21","nodeType":"YulIdentifier","src":"228714:5:21"},"nativeSrc":"228714:11:21","nodeType":"YulFunctionCall","src":"228714:11:21"},"variableNames":[{"name":"m4","nativeSrc":"228708:2:21","nodeType":"YulIdentifier","src":"228708:2:21"}]},{"nativeSrc":"228738:17:21","nodeType":"YulAssignment","src":"228738:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"228750:4:21","nodeType":"YulLiteral","src":"228750:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"228744:5:21","nodeType":"YulIdentifier","src":"228744:5:21"},"nativeSrc":"228744:11:21","nodeType":"YulFunctionCall","src":"228744:11:21"},"variableNames":[{"name":"m5","nativeSrc":"228738:2:21","nodeType":"YulIdentifier","src":"228738:2:21"}]},{"nativeSrc":"228768:17:21","nodeType":"YulAssignment","src":"228768:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"228780:4:21","nodeType":"YulLiteral","src":"228780:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"228774:5:21","nodeType":"YulIdentifier","src":"228774:5:21"},"nativeSrc":"228774:11:21","nodeType":"YulFunctionCall","src":"228774:11:21"},"variableNames":[{"name":"m6","nativeSrc":"228768:2:21","nodeType":"YulIdentifier","src":"228768:2:21"}]},{"nativeSrc":"228798:17:21","nodeType":"YulAssignment","src":"228798:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"228810:4:21","nodeType":"YulLiteral","src":"228810:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"228804:5:21","nodeType":"YulIdentifier","src":"228804:5:21"},"nativeSrc":"228804:11:21","nodeType":"YulFunctionCall","src":"228804:11:21"},"variableNames":[{"name":"m7","nativeSrc":"228798:2:21","nodeType":"YulIdentifier","src":"228798:2:21"}]},{"nativeSrc":"228828:18:21","nodeType":"YulAssignment","src":"228828:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"228840:5:21","nodeType":"YulLiteral","src":"228840:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"228834:5:21","nodeType":"YulIdentifier","src":"228834:5:21"},"nativeSrc":"228834:12:21","nodeType":"YulFunctionCall","src":"228834:12:21"},"variableNames":[{"name":"m8","nativeSrc":"228828:2:21","nodeType":"YulIdentifier","src":"228828:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"228928:4:21","nodeType":"YulLiteral","src":"228928:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"228934:10:21","nodeType":"YulLiteral","src":"228934:10:21","type":"","value":"0x12d6c788"}],"functionName":{"name":"mstore","nativeSrc":"228921:6:21","nodeType":"YulIdentifier","src":"228921:6:21"},"nativeSrc":"228921:24:21","nodeType":"YulFunctionCall","src":"228921:24:21"},"nativeSrc":"228921:24:21","nodeType":"YulExpressionStatement","src":"228921:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"228965:4:21","nodeType":"YulLiteral","src":"228965:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"228971:2:21","nodeType":"YulIdentifier","src":"228971:2:21"}],"functionName":{"name":"mstore","nativeSrc":"228958:6:21","nodeType":"YulIdentifier","src":"228958:6:21"},"nativeSrc":"228958:16:21","nodeType":"YulFunctionCall","src":"228958:16:21"},"nativeSrc":"228958:16:21","nodeType":"YulExpressionStatement","src":"228958:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"228994:4:21","nodeType":"YulLiteral","src":"228994:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"229000:4:21","nodeType":"YulLiteral","src":"229000:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"228987:6:21","nodeType":"YulIdentifier","src":"228987:6:21"},"nativeSrc":"228987:18:21","nodeType":"YulFunctionCall","src":"228987:18:21"},"nativeSrc":"228987:18:21","nodeType":"YulExpressionStatement","src":"228987:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229025:4:21","nodeType":"YulLiteral","src":"229025:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"229031:2:21","nodeType":"YulIdentifier","src":"229031:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229018:6:21","nodeType":"YulIdentifier","src":"229018:6:21"},"nativeSrc":"229018:16:21","nodeType":"YulFunctionCall","src":"229018:16:21"},"nativeSrc":"229018:16:21","nodeType":"YulExpressionStatement","src":"229018:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229054:4:21","nodeType":"YulLiteral","src":"229054:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"229060:4:21","nodeType":"YulLiteral","src":"229060:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"229047:6:21","nodeType":"YulIdentifier","src":"229047:6:21"},"nativeSrc":"229047:18:21","nodeType":"YulFunctionCall","src":"229047:18:21"},"nativeSrc":"229047:18:21","nodeType":"YulExpressionStatement","src":"229047:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229090:4:21","nodeType":"YulLiteral","src":"229090:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"229096:2:21","nodeType":"YulIdentifier","src":"229096:2:21"}],"functionName":{"name":"writeString","nativeSrc":"229078:11:21","nodeType":"YulIdentifier","src":"229078:11:21"},"nativeSrc":"229078:21:21","nodeType":"YulFunctionCall","src":"229078:21:21"},"nativeSrc":"229078:21:21","nodeType":"YulExpressionStatement","src":"229078:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229124:4:21","nodeType":"YulLiteral","src":"229124:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"229130:2:21","nodeType":"YulIdentifier","src":"229130:2:21"}],"functionName":{"name":"writeString","nativeSrc":"229112:11:21","nodeType":"YulIdentifier","src":"229112:11:21"},"nativeSrc":"229112:21:21","nodeType":"YulFunctionCall","src":"229112:21:21"},"nativeSrc":"229112:21:21","nodeType":"YulExpressionStatement","src":"229112:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34168,"isOffset":false,"isSlot":false,"src":"228588:2:21","valueSize":1},{"declaration":34171,"isOffset":false,"isSlot":false,"src":"228618:2:21","valueSize":1},{"declaration":34174,"isOffset":false,"isSlot":false,"src":"228648:2:21","valueSize":1},{"declaration":34177,"isOffset":false,"isSlot":false,"src":"228678:2:21","valueSize":1},{"declaration":34180,"isOffset":false,"isSlot":false,"src":"228708:2:21","valueSize":1},{"declaration":34183,"isOffset":false,"isSlot":false,"src":"228738:2:21","valueSize":1},{"declaration":34186,"isOffset":false,"isSlot":false,"src":"228768:2:21","valueSize":1},{"declaration":34189,"isOffset":false,"isSlot":false,"src":"228798:2:21","valueSize":1},{"declaration":34192,"isOffset":false,"isSlot":false,"src":"228828:2:21","valueSize":1},{"declaration":34158,"isOffset":false,"isSlot":false,"src":"228971:2:21","valueSize":1},{"declaration":34160,"isOffset":false,"isSlot":false,"src":"229096:2:21","valueSize":1},{"declaration":34162,"isOffset":false,"isSlot":false,"src":"229031:2:21","valueSize":1},{"declaration":34164,"isOffset":false,"isSlot":false,"src":"229130:2:21","valueSize":1}],"id":34194,"nodeType":"InlineAssembly","src":"228210:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"229168:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":34197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"229174:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":34195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"229152:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"229152:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34199,"nodeType":"ExpressionStatement","src":"229152:28:21"},{"AST":{"nativeSrc":"229242:273:21","nodeType":"YulBlock","src":"229242:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"229263:4:21","nodeType":"YulLiteral","src":"229263:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"229269:2:21","nodeType":"YulIdentifier","src":"229269:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229256:6:21","nodeType":"YulIdentifier","src":"229256:6:21"},"nativeSrc":"229256:16:21","nodeType":"YulFunctionCall","src":"229256:16:21"},"nativeSrc":"229256:16:21","nodeType":"YulExpressionStatement","src":"229256:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229292:4:21","nodeType":"YulLiteral","src":"229292:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"229298:2:21","nodeType":"YulIdentifier","src":"229298:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229285:6:21","nodeType":"YulIdentifier","src":"229285:6:21"},"nativeSrc":"229285:16:21","nodeType":"YulFunctionCall","src":"229285:16:21"},"nativeSrc":"229285:16:21","nodeType":"YulExpressionStatement","src":"229285:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229321:4:21","nodeType":"YulLiteral","src":"229321:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"229327:2:21","nodeType":"YulIdentifier","src":"229327:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229314:6:21","nodeType":"YulIdentifier","src":"229314:6:21"},"nativeSrc":"229314:16:21","nodeType":"YulFunctionCall","src":"229314:16:21"},"nativeSrc":"229314:16:21","nodeType":"YulExpressionStatement","src":"229314:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229350:4:21","nodeType":"YulLiteral","src":"229350:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"229356:2:21","nodeType":"YulIdentifier","src":"229356:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229343:6:21","nodeType":"YulIdentifier","src":"229343:6:21"},"nativeSrc":"229343:16:21","nodeType":"YulFunctionCall","src":"229343:16:21"},"nativeSrc":"229343:16:21","nodeType":"YulExpressionStatement","src":"229343:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229379:4:21","nodeType":"YulLiteral","src":"229379:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"229385:2:21","nodeType":"YulIdentifier","src":"229385:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229372:6:21","nodeType":"YulIdentifier","src":"229372:6:21"},"nativeSrc":"229372:16:21","nodeType":"YulFunctionCall","src":"229372:16:21"},"nativeSrc":"229372:16:21","nodeType":"YulExpressionStatement","src":"229372:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229408:4:21","nodeType":"YulLiteral","src":"229408:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"229414:2:21","nodeType":"YulIdentifier","src":"229414:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229401:6:21","nodeType":"YulIdentifier","src":"229401:6:21"},"nativeSrc":"229401:16:21","nodeType":"YulFunctionCall","src":"229401:16:21"},"nativeSrc":"229401:16:21","nodeType":"YulExpressionStatement","src":"229401:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229437:4:21","nodeType":"YulLiteral","src":"229437:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"229443:2:21","nodeType":"YulIdentifier","src":"229443:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229430:6:21","nodeType":"YulIdentifier","src":"229430:6:21"},"nativeSrc":"229430:16:21","nodeType":"YulFunctionCall","src":"229430:16:21"},"nativeSrc":"229430:16:21","nodeType":"YulExpressionStatement","src":"229430:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229466:4:21","nodeType":"YulLiteral","src":"229466:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"229472:2:21","nodeType":"YulIdentifier","src":"229472:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229459:6:21","nodeType":"YulIdentifier","src":"229459:6:21"},"nativeSrc":"229459:16:21","nodeType":"YulFunctionCall","src":"229459:16:21"},"nativeSrc":"229459:16:21","nodeType":"YulExpressionStatement","src":"229459:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229495:5:21","nodeType":"YulLiteral","src":"229495:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"229502:2:21","nodeType":"YulIdentifier","src":"229502:2:21"}],"functionName":{"name":"mstore","nativeSrc":"229488:6:21","nodeType":"YulIdentifier","src":"229488:6:21"},"nativeSrc":"229488:17:21","nodeType":"YulFunctionCall","src":"229488:17:21"},"nativeSrc":"229488:17:21","nodeType":"YulExpressionStatement","src":"229488:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34168,"isOffset":false,"isSlot":false,"src":"229269:2:21","valueSize":1},{"declaration":34171,"isOffset":false,"isSlot":false,"src":"229298:2:21","valueSize":1},{"declaration":34174,"isOffset":false,"isSlot":false,"src":"229327:2:21","valueSize":1},{"declaration":34177,"isOffset":false,"isSlot":false,"src":"229356:2:21","valueSize":1},{"declaration":34180,"isOffset":false,"isSlot":false,"src":"229385:2:21","valueSize":1},{"declaration":34183,"isOffset":false,"isSlot":false,"src":"229414:2:21","valueSize":1},{"declaration":34186,"isOffset":false,"isSlot":false,"src":"229443:2:21","valueSize":1},{"declaration":34189,"isOffset":false,"isSlot":false,"src":"229472:2:21","valueSize":1},{"declaration":34192,"isOffset":false,"isSlot":false,"src":"229502:2:21","valueSize":1}],"id":34200,"nodeType":"InlineAssembly","src":"229233:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"227914:3:21","parameters":{"id":34165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34158,"mutability":"mutable","name":"p0","nameLocation":"227923:2:21","nodeType":"VariableDeclaration","scope":34202,"src":"227918:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34157,"name":"bool","nodeType":"ElementaryTypeName","src":"227918:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34160,"mutability":"mutable","name":"p1","nameLocation":"227935:2:21","nodeType":"VariableDeclaration","scope":34202,"src":"227927:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"227927:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34162,"mutability":"mutable","name":"p2","nameLocation":"227947:2:21","nodeType":"VariableDeclaration","scope":34202,"src":"227939:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34161,"name":"address","nodeType":"ElementaryTypeName","src":"227939:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34164,"mutability":"mutable","name":"p3","nameLocation":"227959:2:21","nodeType":"VariableDeclaration","scope":34202,"src":"227951:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"227951:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"227917:45:21"},"returnParameters":{"id":34166,"nodeType":"ParameterList","parameters":[],"src":"227977:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34242,"nodeType":"FunctionDefinition","src":"229527:1414:21","nodes":[],"body":{"id":34241,"nodeType":"Block","src":"229596:1345:21","nodes":[],"statements":[{"assignments":[34214],"declarations":[{"constant":false,"id":34214,"mutability":"mutable","name":"m0","nameLocation":"229614:2:21","nodeType":"VariableDeclaration","scope":34241,"src":"229606:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229606:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34215,"nodeType":"VariableDeclarationStatement","src":"229606:10:21"},{"assignments":[34217],"declarations":[{"constant":false,"id":34217,"mutability":"mutable","name":"m1","nameLocation":"229634:2:21","nodeType":"VariableDeclaration","scope":34241,"src":"229626:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229626:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34218,"nodeType":"VariableDeclarationStatement","src":"229626:10:21"},{"assignments":[34220],"declarations":[{"constant":false,"id":34220,"mutability":"mutable","name":"m2","nameLocation":"229654:2:21","nodeType":"VariableDeclaration","scope":34241,"src":"229646:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229646:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34221,"nodeType":"VariableDeclarationStatement","src":"229646:10:21"},{"assignments":[34223],"declarations":[{"constant":false,"id":34223,"mutability":"mutable","name":"m3","nameLocation":"229674:2:21","nodeType":"VariableDeclaration","scope":34241,"src":"229666:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229666:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34224,"nodeType":"VariableDeclarationStatement","src":"229666:10:21"},{"assignments":[34226],"declarations":[{"constant":false,"id":34226,"mutability":"mutable","name":"m4","nameLocation":"229694:2:21","nodeType":"VariableDeclaration","scope":34241,"src":"229686:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229686:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34227,"nodeType":"VariableDeclarationStatement","src":"229686:10:21"},{"assignments":[34229],"declarations":[{"constant":false,"id":34229,"mutability":"mutable","name":"m5","nameLocation":"229714:2:21","nodeType":"VariableDeclaration","scope":34241,"src":"229706:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229706:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34230,"nodeType":"VariableDeclarationStatement","src":"229706:10:21"},{"assignments":[34232],"declarations":[{"constant":false,"id":34232,"mutability":"mutable","name":"m6","nameLocation":"229734:2:21","nodeType":"VariableDeclaration","scope":34241,"src":"229726:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229726:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34233,"nodeType":"VariableDeclarationStatement","src":"229726:10:21"},{"AST":{"nativeSrc":"229798:825:21","nodeType":"YulBlock","src":"229798:825:21","statements":[{"body":{"nativeSrc":"229841:313:21","nodeType":"YulBlock","src":"229841:313:21","statements":[{"nativeSrc":"229859:15:21","nodeType":"YulVariableDeclaration","src":"229859:15:21","value":{"kind":"number","nativeSrc":"229873:1:21","nodeType":"YulLiteral","src":"229873:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"229863:6:21","nodeType":"YulTypedName","src":"229863:6:21","type":""}]},{"body":{"nativeSrc":"229944:40:21","nodeType":"YulBlock","src":"229944:40:21","statements":[{"body":{"nativeSrc":"229973:9:21","nodeType":"YulBlock","src":"229973:9:21","statements":[{"nativeSrc":"229975:5:21","nodeType":"YulBreak","src":"229975:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"229961:6:21","nodeType":"YulIdentifier","src":"229961:6:21"},{"name":"w","nativeSrc":"229969:1:21","nodeType":"YulIdentifier","src":"229969:1:21"}],"functionName":{"name":"byte","nativeSrc":"229956:4:21","nodeType":"YulIdentifier","src":"229956:4:21"},"nativeSrc":"229956:15:21","nodeType":"YulFunctionCall","src":"229956:15:21"}],"functionName":{"name":"iszero","nativeSrc":"229949:6:21","nodeType":"YulIdentifier","src":"229949:6:21"},"nativeSrc":"229949:23:21","nodeType":"YulFunctionCall","src":"229949:23:21"},"nativeSrc":"229946:36:21","nodeType":"YulIf","src":"229946:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"229901:6:21","nodeType":"YulIdentifier","src":"229901:6:21"},{"kind":"number","nativeSrc":"229909:4:21","nodeType":"YulLiteral","src":"229909:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"229898:2:21","nodeType":"YulIdentifier","src":"229898:2:21"},"nativeSrc":"229898:16:21","nodeType":"YulFunctionCall","src":"229898:16:21"},"nativeSrc":"229891:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"229915:28:21","nodeType":"YulBlock","src":"229915:28:21","statements":[{"nativeSrc":"229917:24:21","nodeType":"YulAssignment","src":"229917:24:21","value":{"arguments":[{"name":"length","nativeSrc":"229931:6:21","nodeType":"YulIdentifier","src":"229931:6:21"},{"kind":"number","nativeSrc":"229939:1:21","nodeType":"YulLiteral","src":"229939:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"229927:3:21","nodeType":"YulIdentifier","src":"229927:3:21"},"nativeSrc":"229927:14:21","nodeType":"YulFunctionCall","src":"229927:14:21"},"variableNames":[{"name":"length","nativeSrc":"229917:6:21","nodeType":"YulIdentifier","src":"229917:6:21"}]}]},"pre":{"nativeSrc":"229895:2:21","nodeType":"YulBlock","src":"229895:2:21","statements":[]},"src":"229891:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"230008:3:21","nodeType":"YulIdentifier","src":"230008:3:21"},{"name":"length","nativeSrc":"230013:6:21","nodeType":"YulIdentifier","src":"230013:6:21"}],"functionName":{"name":"mstore","nativeSrc":"230001:6:21","nodeType":"YulIdentifier","src":"230001:6:21"},"nativeSrc":"230001:19:21","nodeType":"YulFunctionCall","src":"230001:19:21"},"nativeSrc":"230001:19:21","nodeType":"YulExpressionStatement","src":"230001:19:21"},{"nativeSrc":"230037:37:21","nodeType":"YulVariableDeclaration","src":"230037:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"230054:3:21","nodeType":"YulLiteral","src":"230054:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"230063:1:21","nodeType":"YulLiteral","src":"230063:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"230066:6:21","nodeType":"YulIdentifier","src":"230066:6:21"}],"functionName":{"name":"shl","nativeSrc":"230059:3:21","nodeType":"YulIdentifier","src":"230059:3:21"},"nativeSrc":"230059:14:21","nodeType":"YulFunctionCall","src":"230059:14:21"}],"functionName":{"name":"sub","nativeSrc":"230050:3:21","nodeType":"YulIdentifier","src":"230050:3:21"},"nativeSrc":"230050:24:21","nodeType":"YulFunctionCall","src":"230050:24:21"},"variables":[{"name":"shift","nativeSrc":"230041:5:21","nodeType":"YulTypedName","src":"230041:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"230102:3:21","nodeType":"YulIdentifier","src":"230102:3:21"},{"kind":"number","nativeSrc":"230107:4:21","nodeType":"YulLiteral","src":"230107:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"230098:3:21","nodeType":"YulIdentifier","src":"230098:3:21"},"nativeSrc":"230098:14:21","nodeType":"YulFunctionCall","src":"230098:14:21"},{"arguments":[{"name":"shift","nativeSrc":"230118:5:21","nodeType":"YulIdentifier","src":"230118:5:21"},{"arguments":[{"name":"shift","nativeSrc":"230129:5:21","nodeType":"YulIdentifier","src":"230129:5:21"},{"name":"w","nativeSrc":"230136:1:21","nodeType":"YulIdentifier","src":"230136:1:21"}],"functionName":{"name":"shr","nativeSrc":"230125:3:21","nodeType":"YulIdentifier","src":"230125:3:21"},"nativeSrc":"230125:13:21","nodeType":"YulFunctionCall","src":"230125:13:21"}],"functionName":{"name":"shl","nativeSrc":"230114:3:21","nodeType":"YulIdentifier","src":"230114:3:21"},"nativeSrc":"230114:25:21","nodeType":"YulFunctionCall","src":"230114:25:21"}],"functionName":{"name":"mstore","nativeSrc":"230091:6:21","nodeType":"YulIdentifier","src":"230091:6:21"},"nativeSrc":"230091:49:21","nodeType":"YulFunctionCall","src":"230091:49:21"},"nativeSrc":"230091:49:21","nodeType":"YulExpressionStatement","src":"230091:49:21"}]},"name":"writeString","nativeSrc":"229812:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"229833:3:21","nodeType":"YulTypedName","src":"229833:3:21","type":""},{"name":"w","nativeSrc":"229838:1:21","nodeType":"YulTypedName","src":"229838:1:21","type":""}],"src":"229812:342:21"},{"nativeSrc":"230167:17:21","nodeType":"YulAssignment","src":"230167:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"230179:4:21","nodeType":"YulLiteral","src":"230179:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"230173:5:21","nodeType":"YulIdentifier","src":"230173:5:21"},"nativeSrc":"230173:11:21","nodeType":"YulFunctionCall","src":"230173:11:21"},"variableNames":[{"name":"m0","nativeSrc":"230167:2:21","nodeType":"YulIdentifier","src":"230167:2:21"}]},{"nativeSrc":"230197:17:21","nodeType":"YulAssignment","src":"230197:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"230209:4:21","nodeType":"YulLiteral","src":"230209:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"230203:5:21","nodeType":"YulIdentifier","src":"230203:5:21"},"nativeSrc":"230203:11:21","nodeType":"YulFunctionCall","src":"230203:11:21"},"variableNames":[{"name":"m1","nativeSrc":"230197:2:21","nodeType":"YulIdentifier","src":"230197:2:21"}]},{"nativeSrc":"230227:17:21","nodeType":"YulAssignment","src":"230227:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"230239:4:21","nodeType":"YulLiteral","src":"230239:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"230233:5:21","nodeType":"YulIdentifier","src":"230233:5:21"},"nativeSrc":"230233:11:21","nodeType":"YulFunctionCall","src":"230233:11:21"},"variableNames":[{"name":"m2","nativeSrc":"230227:2:21","nodeType":"YulIdentifier","src":"230227:2:21"}]},{"nativeSrc":"230257:17:21","nodeType":"YulAssignment","src":"230257:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"230269:4:21","nodeType":"YulLiteral","src":"230269:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"230263:5:21","nodeType":"YulIdentifier","src":"230263:5:21"},"nativeSrc":"230263:11:21","nodeType":"YulFunctionCall","src":"230263:11:21"},"variableNames":[{"name":"m3","nativeSrc":"230257:2:21","nodeType":"YulIdentifier","src":"230257:2:21"}]},{"nativeSrc":"230287:17:21","nodeType":"YulAssignment","src":"230287:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"230299:4:21","nodeType":"YulLiteral","src":"230299:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"230293:5:21","nodeType":"YulIdentifier","src":"230293:5:21"},"nativeSrc":"230293:11:21","nodeType":"YulFunctionCall","src":"230293:11:21"},"variableNames":[{"name":"m4","nativeSrc":"230287:2:21","nodeType":"YulIdentifier","src":"230287:2:21"}]},{"nativeSrc":"230317:17:21","nodeType":"YulAssignment","src":"230317:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"230329:4:21","nodeType":"YulLiteral","src":"230329:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"230323:5:21","nodeType":"YulIdentifier","src":"230323:5:21"},"nativeSrc":"230323:11:21","nodeType":"YulFunctionCall","src":"230323:11:21"},"variableNames":[{"name":"m5","nativeSrc":"230317:2:21","nodeType":"YulIdentifier","src":"230317:2:21"}]},{"nativeSrc":"230347:17:21","nodeType":"YulAssignment","src":"230347:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"230359:4:21","nodeType":"YulLiteral","src":"230359:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"230353:5:21","nodeType":"YulIdentifier","src":"230353:5:21"},"nativeSrc":"230353:11:21","nodeType":"YulFunctionCall","src":"230353:11:21"},"variableNames":[{"name":"m6","nativeSrc":"230347:2:21","nodeType":"YulIdentifier","src":"230347:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230444:4:21","nodeType":"YulLiteral","src":"230444:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"230450:10:21","nodeType":"YulLiteral","src":"230450:10:21","type":"","value":"0x538e06ab"}],"functionName":{"name":"mstore","nativeSrc":"230437:6:21","nodeType":"YulIdentifier","src":"230437:6:21"},"nativeSrc":"230437:24:21","nodeType":"YulFunctionCall","src":"230437:24:21"},"nativeSrc":"230437:24:21","nodeType":"YulExpressionStatement","src":"230437:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230481:4:21","nodeType":"YulLiteral","src":"230481:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"230487:2:21","nodeType":"YulIdentifier","src":"230487:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230474:6:21","nodeType":"YulIdentifier","src":"230474:6:21"},"nativeSrc":"230474:16:21","nodeType":"YulFunctionCall","src":"230474:16:21"},"nativeSrc":"230474:16:21","nodeType":"YulExpressionStatement","src":"230474:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230510:4:21","nodeType":"YulLiteral","src":"230510:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"230516:4:21","nodeType":"YulLiteral","src":"230516:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"230503:6:21","nodeType":"YulIdentifier","src":"230503:6:21"},"nativeSrc":"230503:18:21","nodeType":"YulFunctionCall","src":"230503:18:21"},"nativeSrc":"230503:18:21","nodeType":"YulExpressionStatement","src":"230503:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230541:4:21","nodeType":"YulLiteral","src":"230541:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"230547:2:21","nodeType":"YulIdentifier","src":"230547:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230534:6:21","nodeType":"YulIdentifier","src":"230534:6:21"},"nativeSrc":"230534:16:21","nodeType":"YulFunctionCall","src":"230534:16:21"},"nativeSrc":"230534:16:21","nodeType":"YulExpressionStatement","src":"230534:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230570:4:21","nodeType":"YulLiteral","src":"230570:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"230576:2:21","nodeType":"YulIdentifier","src":"230576:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230563:6:21","nodeType":"YulIdentifier","src":"230563:6:21"},"nativeSrc":"230563:16:21","nodeType":"YulFunctionCall","src":"230563:16:21"},"nativeSrc":"230563:16:21","nodeType":"YulExpressionStatement","src":"230563:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230604:4:21","nodeType":"YulLiteral","src":"230604:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"230610:2:21","nodeType":"YulIdentifier","src":"230610:2:21"}],"functionName":{"name":"writeString","nativeSrc":"230592:11:21","nodeType":"YulIdentifier","src":"230592:11:21"},"nativeSrc":"230592:21:21","nodeType":"YulFunctionCall","src":"230592:21:21"},"nativeSrc":"230592:21:21","nodeType":"YulExpressionStatement","src":"230592:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34214,"isOffset":false,"isSlot":false,"src":"230167:2:21","valueSize":1},{"declaration":34217,"isOffset":false,"isSlot":false,"src":"230197:2:21","valueSize":1},{"declaration":34220,"isOffset":false,"isSlot":false,"src":"230227:2:21","valueSize":1},{"declaration":34223,"isOffset":false,"isSlot":false,"src":"230257:2:21","valueSize":1},{"declaration":34226,"isOffset":false,"isSlot":false,"src":"230287:2:21","valueSize":1},{"declaration":34229,"isOffset":false,"isSlot":false,"src":"230317:2:21","valueSize":1},{"declaration":34232,"isOffset":false,"isSlot":false,"src":"230347:2:21","valueSize":1},{"declaration":34204,"isOffset":false,"isSlot":false,"src":"230487:2:21","valueSize":1},{"declaration":34206,"isOffset":false,"isSlot":false,"src":"230610:2:21","valueSize":1},{"declaration":34208,"isOffset":false,"isSlot":false,"src":"230547:2:21","valueSize":1},{"declaration":34210,"isOffset":false,"isSlot":false,"src":"230576:2:21","valueSize":1}],"id":34234,"nodeType":"InlineAssembly","src":"229789:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"230648:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"230654:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"230632:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"230632:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34239,"nodeType":"ExpressionStatement","src":"230632:27:21"},{"AST":{"nativeSrc":"230721:214:21","nodeType":"YulBlock","src":"230721:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"230742:4:21","nodeType":"YulLiteral","src":"230742:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"230748:2:21","nodeType":"YulIdentifier","src":"230748:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230735:6:21","nodeType":"YulIdentifier","src":"230735:6:21"},"nativeSrc":"230735:16:21","nodeType":"YulFunctionCall","src":"230735:16:21"},"nativeSrc":"230735:16:21","nodeType":"YulExpressionStatement","src":"230735:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230771:4:21","nodeType":"YulLiteral","src":"230771:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"230777:2:21","nodeType":"YulIdentifier","src":"230777:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230764:6:21","nodeType":"YulIdentifier","src":"230764:6:21"},"nativeSrc":"230764:16:21","nodeType":"YulFunctionCall","src":"230764:16:21"},"nativeSrc":"230764:16:21","nodeType":"YulExpressionStatement","src":"230764:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230800:4:21","nodeType":"YulLiteral","src":"230800:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"230806:2:21","nodeType":"YulIdentifier","src":"230806:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230793:6:21","nodeType":"YulIdentifier","src":"230793:6:21"},"nativeSrc":"230793:16:21","nodeType":"YulFunctionCall","src":"230793:16:21"},"nativeSrc":"230793:16:21","nodeType":"YulExpressionStatement","src":"230793:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230829:4:21","nodeType":"YulLiteral","src":"230829:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"230835:2:21","nodeType":"YulIdentifier","src":"230835:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230822:6:21","nodeType":"YulIdentifier","src":"230822:6:21"},"nativeSrc":"230822:16:21","nodeType":"YulFunctionCall","src":"230822:16:21"},"nativeSrc":"230822:16:21","nodeType":"YulExpressionStatement","src":"230822:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230858:4:21","nodeType":"YulLiteral","src":"230858:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"230864:2:21","nodeType":"YulIdentifier","src":"230864:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230851:6:21","nodeType":"YulIdentifier","src":"230851:6:21"},"nativeSrc":"230851:16:21","nodeType":"YulFunctionCall","src":"230851:16:21"},"nativeSrc":"230851:16:21","nodeType":"YulExpressionStatement","src":"230851:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230887:4:21","nodeType":"YulLiteral","src":"230887:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"230893:2:21","nodeType":"YulIdentifier","src":"230893:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230880:6:21","nodeType":"YulIdentifier","src":"230880:6:21"},"nativeSrc":"230880:16:21","nodeType":"YulFunctionCall","src":"230880:16:21"},"nativeSrc":"230880:16:21","nodeType":"YulExpressionStatement","src":"230880:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230916:4:21","nodeType":"YulLiteral","src":"230916:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"230922:2:21","nodeType":"YulIdentifier","src":"230922:2:21"}],"functionName":{"name":"mstore","nativeSrc":"230909:6:21","nodeType":"YulIdentifier","src":"230909:6:21"},"nativeSrc":"230909:16:21","nodeType":"YulFunctionCall","src":"230909:16:21"},"nativeSrc":"230909:16:21","nodeType":"YulExpressionStatement","src":"230909:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34214,"isOffset":false,"isSlot":false,"src":"230748:2:21","valueSize":1},{"declaration":34217,"isOffset":false,"isSlot":false,"src":"230777:2:21","valueSize":1},{"declaration":34220,"isOffset":false,"isSlot":false,"src":"230806:2:21","valueSize":1},{"declaration":34223,"isOffset":false,"isSlot":false,"src":"230835:2:21","valueSize":1},{"declaration":34226,"isOffset":false,"isSlot":false,"src":"230864:2:21","valueSize":1},{"declaration":34229,"isOffset":false,"isSlot":false,"src":"230893:2:21","valueSize":1},{"declaration":34232,"isOffset":false,"isSlot":false,"src":"230922:2:21","valueSize":1}],"id":34240,"nodeType":"InlineAssembly","src":"230712:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"229536:3:21","parameters":{"id":34211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34204,"mutability":"mutable","name":"p0","nameLocation":"229545:2:21","nodeType":"VariableDeclaration","scope":34242,"src":"229540:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34203,"name":"bool","nodeType":"ElementaryTypeName","src":"229540:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34206,"mutability":"mutable","name":"p1","nameLocation":"229557:2:21","nodeType":"VariableDeclaration","scope":34242,"src":"229549:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229549:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34208,"mutability":"mutable","name":"p2","nameLocation":"229566:2:21","nodeType":"VariableDeclaration","scope":34242,"src":"229561:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34207,"name":"bool","nodeType":"ElementaryTypeName","src":"229561:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34210,"mutability":"mutable","name":"p3","nameLocation":"229578:2:21","nodeType":"VariableDeclaration","scope":34242,"src":"229570:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34209,"name":"address","nodeType":"ElementaryTypeName","src":"229570:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"229539:42:21"},"returnParameters":{"id":34212,"nodeType":"ParameterList","parameters":[],"src":"229596:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34282,"nodeType":"FunctionDefinition","src":"230947:1408:21","nodes":[],"body":{"id":34281,"nodeType":"Block","src":"231013:1342:21","nodes":[],"statements":[{"assignments":[34254],"declarations":[{"constant":false,"id":34254,"mutability":"mutable","name":"m0","nameLocation":"231031:2:21","nodeType":"VariableDeclaration","scope":34281,"src":"231023:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231023:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34255,"nodeType":"VariableDeclarationStatement","src":"231023:10:21"},{"assignments":[34257],"declarations":[{"constant":false,"id":34257,"mutability":"mutable","name":"m1","nameLocation":"231051:2:21","nodeType":"VariableDeclaration","scope":34281,"src":"231043:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231043:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34258,"nodeType":"VariableDeclarationStatement","src":"231043:10:21"},{"assignments":[34260],"declarations":[{"constant":false,"id":34260,"mutability":"mutable","name":"m2","nameLocation":"231071:2:21","nodeType":"VariableDeclaration","scope":34281,"src":"231063:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231063:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34261,"nodeType":"VariableDeclarationStatement","src":"231063:10:21"},{"assignments":[34263],"declarations":[{"constant":false,"id":34263,"mutability":"mutable","name":"m3","nameLocation":"231091:2:21","nodeType":"VariableDeclaration","scope":34281,"src":"231083:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231083:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34264,"nodeType":"VariableDeclarationStatement","src":"231083:10:21"},{"assignments":[34266],"declarations":[{"constant":false,"id":34266,"mutability":"mutable","name":"m4","nameLocation":"231111:2:21","nodeType":"VariableDeclaration","scope":34281,"src":"231103:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231103:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34267,"nodeType":"VariableDeclarationStatement","src":"231103:10:21"},{"assignments":[34269],"declarations":[{"constant":false,"id":34269,"mutability":"mutable","name":"m5","nameLocation":"231131:2:21","nodeType":"VariableDeclaration","scope":34281,"src":"231123:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231123:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34270,"nodeType":"VariableDeclarationStatement","src":"231123:10:21"},{"assignments":[34272],"declarations":[{"constant":false,"id":34272,"mutability":"mutable","name":"m6","nameLocation":"231151:2:21","nodeType":"VariableDeclaration","scope":34281,"src":"231143:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231143:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34273,"nodeType":"VariableDeclarationStatement","src":"231143:10:21"},{"AST":{"nativeSrc":"231215:822:21","nodeType":"YulBlock","src":"231215:822:21","statements":[{"body":{"nativeSrc":"231258:313:21","nodeType":"YulBlock","src":"231258:313:21","statements":[{"nativeSrc":"231276:15:21","nodeType":"YulVariableDeclaration","src":"231276:15:21","value":{"kind":"number","nativeSrc":"231290:1:21","nodeType":"YulLiteral","src":"231290:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"231280:6:21","nodeType":"YulTypedName","src":"231280:6:21","type":""}]},{"body":{"nativeSrc":"231361:40:21","nodeType":"YulBlock","src":"231361:40:21","statements":[{"body":{"nativeSrc":"231390:9:21","nodeType":"YulBlock","src":"231390:9:21","statements":[{"nativeSrc":"231392:5:21","nodeType":"YulBreak","src":"231392:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"231378:6:21","nodeType":"YulIdentifier","src":"231378:6:21"},{"name":"w","nativeSrc":"231386:1:21","nodeType":"YulIdentifier","src":"231386:1:21"}],"functionName":{"name":"byte","nativeSrc":"231373:4:21","nodeType":"YulIdentifier","src":"231373:4:21"},"nativeSrc":"231373:15:21","nodeType":"YulFunctionCall","src":"231373:15:21"}],"functionName":{"name":"iszero","nativeSrc":"231366:6:21","nodeType":"YulIdentifier","src":"231366:6:21"},"nativeSrc":"231366:23:21","nodeType":"YulFunctionCall","src":"231366:23:21"},"nativeSrc":"231363:36:21","nodeType":"YulIf","src":"231363:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"231318:6:21","nodeType":"YulIdentifier","src":"231318:6:21"},{"kind":"number","nativeSrc":"231326:4:21","nodeType":"YulLiteral","src":"231326:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"231315:2:21","nodeType":"YulIdentifier","src":"231315:2:21"},"nativeSrc":"231315:16:21","nodeType":"YulFunctionCall","src":"231315:16:21"},"nativeSrc":"231308:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"231332:28:21","nodeType":"YulBlock","src":"231332:28:21","statements":[{"nativeSrc":"231334:24:21","nodeType":"YulAssignment","src":"231334:24:21","value":{"arguments":[{"name":"length","nativeSrc":"231348:6:21","nodeType":"YulIdentifier","src":"231348:6:21"},{"kind":"number","nativeSrc":"231356:1:21","nodeType":"YulLiteral","src":"231356:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"231344:3:21","nodeType":"YulIdentifier","src":"231344:3:21"},"nativeSrc":"231344:14:21","nodeType":"YulFunctionCall","src":"231344:14:21"},"variableNames":[{"name":"length","nativeSrc":"231334:6:21","nodeType":"YulIdentifier","src":"231334:6:21"}]}]},"pre":{"nativeSrc":"231312:2:21","nodeType":"YulBlock","src":"231312:2:21","statements":[]},"src":"231308:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"231425:3:21","nodeType":"YulIdentifier","src":"231425:3:21"},{"name":"length","nativeSrc":"231430:6:21","nodeType":"YulIdentifier","src":"231430:6:21"}],"functionName":{"name":"mstore","nativeSrc":"231418:6:21","nodeType":"YulIdentifier","src":"231418:6:21"},"nativeSrc":"231418:19:21","nodeType":"YulFunctionCall","src":"231418:19:21"},"nativeSrc":"231418:19:21","nodeType":"YulExpressionStatement","src":"231418:19:21"},{"nativeSrc":"231454:37:21","nodeType":"YulVariableDeclaration","src":"231454:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"231471:3:21","nodeType":"YulLiteral","src":"231471:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"231480:1:21","nodeType":"YulLiteral","src":"231480:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"231483:6:21","nodeType":"YulIdentifier","src":"231483:6:21"}],"functionName":{"name":"shl","nativeSrc":"231476:3:21","nodeType":"YulIdentifier","src":"231476:3:21"},"nativeSrc":"231476:14:21","nodeType":"YulFunctionCall","src":"231476:14:21"}],"functionName":{"name":"sub","nativeSrc":"231467:3:21","nodeType":"YulIdentifier","src":"231467:3:21"},"nativeSrc":"231467:24:21","nodeType":"YulFunctionCall","src":"231467:24:21"},"variables":[{"name":"shift","nativeSrc":"231458:5:21","nodeType":"YulTypedName","src":"231458:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"231519:3:21","nodeType":"YulIdentifier","src":"231519:3:21"},{"kind":"number","nativeSrc":"231524:4:21","nodeType":"YulLiteral","src":"231524:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"231515:3:21","nodeType":"YulIdentifier","src":"231515:3:21"},"nativeSrc":"231515:14:21","nodeType":"YulFunctionCall","src":"231515:14:21"},{"arguments":[{"name":"shift","nativeSrc":"231535:5:21","nodeType":"YulIdentifier","src":"231535:5:21"},{"arguments":[{"name":"shift","nativeSrc":"231546:5:21","nodeType":"YulIdentifier","src":"231546:5:21"},{"name":"w","nativeSrc":"231553:1:21","nodeType":"YulIdentifier","src":"231553:1:21"}],"functionName":{"name":"shr","nativeSrc":"231542:3:21","nodeType":"YulIdentifier","src":"231542:3:21"},"nativeSrc":"231542:13:21","nodeType":"YulFunctionCall","src":"231542:13:21"}],"functionName":{"name":"shl","nativeSrc":"231531:3:21","nodeType":"YulIdentifier","src":"231531:3:21"},"nativeSrc":"231531:25:21","nodeType":"YulFunctionCall","src":"231531:25:21"}],"functionName":{"name":"mstore","nativeSrc":"231508:6:21","nodeType":"YulIdentifier","src":"231508:6:21"},"nativeSrc":"231508:49:21","nodeType":"YulFunctionCall","src":"231508:49:21"},"nativeSrc":"231508:49:21","nodeType":"YulExpressionStatement","src":"231508:49:21"}]},"name":"writeString","nativeSrc":"231229:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"231250:3:21","nodeType":"YulTypedName","src":"231250:3:21","type":""},{"name":"w","nativeSrc":"231255:1:21","nodeType":"YulTypedName","src":"231255:1:21","type":""}],"src":"231229:342:21"},{"nativeSrc":"231584:17:21","nodeType":"YulAssignment","src":"231584:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"231596:4:21","nodeType":"YulLiteral","src":"231596:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"231590:5:21","nodeType":"YulIdentifier","src":"231590:5:21"},"nativeSrc":"231590:11:21","nodeType":"YulFunctionCall","src":"231590:11:21"},"variableNames":[{"name":"m0","nativeSrc":"231584:2:21","nodeType":"YulIdentifier","src":"231584:2:21"}]},{"nativeSrc":"231614:17:21","nodeType":"YulAssignment","src":"231614:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"231626:4:21","nodeType":"YulLiteral","src":"231626:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"231620:5:21","nodeType":"YulIdentifier","src":"231620:5:21"},"nativeSrc":"231620:11:21","nodeType":"YulFunctionCall","src":"231620:11:21"},"variableNames":[{"name":"m1","nativeSrc":"231614:2:21","nodeType":"YulIdentifier","src":"231614:2:21"}]},{"nativeSrc":"231644:17:21","nodeType":"YulAssignment","src":"231644:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"231656:4:21","nodeType":"YulLiteral","src":"231656:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"231650:5:21","nodeType":"YulIdentifier","src":"231650:5:21"},"nativeSrc":"231650:11:21","nodeType":"YulFunctionCall","src":"231650:11:21"},"variableNames":[{"name":"m2","nativeSrc":"231644:2:21","nodeType":"YulIdentifier","src":"231644:2:21"}]},{"nativeSrc":"231674:17:21","nodeType":"YulAssignment","src":"231674:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"231686:4:21","nodeType":"YulLiteral","src":"231686:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"231680:5:21","nodeType":"YulIdentifier","src":"231680:5:21"},"nativeSrc":"231680:11:21","nodeType":"YulFunctionCall","src":"231680:11:21"},"variableNames":[{"name":"m3","nativeSrc":"231674:2:21","nodeType":"YulIdentifier","src":"231674:2:21"}]},{"nativeSrc":"231704:17:21","nodeType":"YulAssignment","src":"231704:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"231716:4:21","nodeType":"YulLiteral","src":"231716:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"231710:5:21","nodeType":"YulIdentifier","src":"231710:5:21"},"nativeSrc":"231710:11:21","nodeType":"YulFunctionCall","src":"231710:11:21"},"variableNames":[{"name":"m4","nativeSrc":"231704:2:21","nodeType":"YulIdentifier","src":"231704:2:21"}]},{"nativeSrc":"231734:17:21","nodeType":"YulAssignment","src":"231734:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"231746:4:21","nodeType":"YulLiteral","src":"231746:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"231740:5:21","nodeType":"YulIdentifier","src":"231740:5:21"},"nativeSrc":"231740:11:21","nodeType":"YulFunctionCall","src":"231740:11:21"},"variableNames":[{"name":"m5","nativeSrc":"231734:2:21","nodeType":"YulIdentifier","src":"231734:2:21"}]},{"nativeSrc":"231764:17:21","nodeType":"YulAssignment","src":"231764:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"231776:4:21","nodeType":"YulLiteral","src":"231776:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"231770:5:21","nodeType":"YulIdentifier","src":"231770:5:21"},"nativeSrc":"231770:11:21","nodeType":"YulFunctionCall","src":"231770:11:21"},"variableNames":[{"name":"m6","nativeSrc":"231764:2:21","nodeType":"YulIdentifier","src":"231764:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231858:4:21","nodeType":"YulLiteral","src":"231858:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"231864:10:21","nodeType":"YulLiteral","src":"231864:10:21","type":"","value":"0xdc5e935b"}],"functionName":{"name":"mstore","nativeSrc":"231851:6:21","nodeType":"YulIdentifier","src":"231851:6:21"},"nativeSrc":"231851:24:21","nodeType":"YulFunctionCall","src":"231851:24:21"},"nativeSrc":"231851:24:21","nodeType":"YulExpressionStatement","src":"231851:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231895:4:21","nodeType":"YulLiteral","src":"231895:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"231901:2:21","nodeType":"YulIdentifier","src":"231901:2:21"}],"functionName":{"name":"mstore","nativeSrc":"231888:6:21","nodeType":"YulIdentifier","src":"231888:6:21"},"nativeSrc":"231888:16:21","nodeType":"YulFunctionCall","src":"231888:16:21"},"nativeSrc":"231888:16:21","nodeType":"YulExpressionStatement","src":"231888:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231924:4:21","nodeType":"YulLiteral","src":"231924:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"231930:4:21","nodeType":"YulLiteral","src":"231930:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"231917:6:21","nodeType":"YulIdentifier","src":"231917:6:21"},"nativeSrc":"231917:18:21","nodeType":"YulFunctionCall","src":"231917:18:21"},"nativeSrc":"231917:18:21","nodeType":"YulExpressionStatement","src":"231917:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231955:4:21","nodeType":"YulLiteral","src":"231955:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"231961:2:21","nodeType":"YulIdentifier","src":"231961:2:21"}],"functionName":{"name":"mstore","nativeSrc":"231948:6:21","nodeType":"YulIdentifier","src":"231948:6:21"},"nativeSrc":"231948:16:21","nodeType":"YulFunctionCall","src":"231948:16:21"},"nativeSrc":"231948:16:21","nodeType":"YulExpressionStatement","src":"231948:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231984:4:21","nodeType":"YulLiteral","src":"231984:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"231990:2:21","nodeType":"YulIdentifier","src":"231990:2:21"}],"functionName":{"name":"mstore","nativeSrc":"231977:6:21","nodeType":"YulIdentifier","src":"231977:6:21"},"nativeSrc":"231977:16:21","nodeType":"YulFunctionCall","src":"231977:16:21"},"nativeSrc":"231977:16:21","nodeType":"YulExpressionStatement","src":"231977:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232018:4:21","nodeType":"YulLiteral","src":"232018:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"232024:2:21","nodeType":"YulIdentifier","src":"232024:2:21"}],"functionName":{"name":"writeString","nativeSrc":"232006:11:21","nodeType":"YulIdentifier","src":"232006:11:21"},"nativeSrc":"232006:21:21","nodeType":"YulFunctionCall","src":"232006:21:21"},"nativeSrc":"232006:21:21","nodeType":"YulExpressionStatement","src":"232006:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34254,"isOffset":false,"isSlot":false,"src":"231584:2:21","valueSize":1},{"declaration":34257,"isOffset":false,"isSlot":false,"src":"231614:2:21","valueSize":1},{"declaration":34260,"isOffset":false,"isSlot":false,"src":"231644:2:21","valueSize":1},{"declaration":34263,"isOffset":false,"isSlot":false,"src":"231674:2:21","valueSize":1},{"declaration":34266,"isOffset":false,"isSlot":false,"src":"231704:2:21","valueSize":1},{"declaration":34269,"isOffset":false,"isSlot":false,"src":"231734:2:21","valueSize":1},{"declaration":34272,"isOffset":false,"isSlot":false,"src":"231764:2:21","valueSize":1},{"declaration":34244,"isOffset":false,"isSlot":false,"src":"231901:2:21","valueSize":1},{"declaration":34246,"isOffset":false,"isSlot":false,"src":"232024:2:21","valueSize":1},{"declaration":34248,"isOffset":false,"isSlot":false,"src":"231961:2:21","valueSize":1},{"declaration":34250,"isOffset":false,"isSlot":false,"src":"231990:2:21","valueSize":1}],"id":34274,"nodeType":"InlineAssembly","src":"231206:831:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"232062:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"232068:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"232046:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"232046:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34279,"nodeType":"ExpressionStatement","src":"232046:27:21"},{"AST":{"nativeSrc":"232135:214:21","nodeType":"YulBlock","src":"232135:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"232156:4:21","nodeType":"YulLiteral","src":"232156:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"232162:2:21","nodeType":"YulIdentifier","src":"232162:2:21"}],"functionName":{"name":"mstore","nativeSrc":"232149:6:21","nodeType":"YulIdentifier","src":"232149:6:21"},"nativeSrc":"232149:16:21","nodeType":"YulFunctionCall","src":"232149:16:21"},"nativeSrc":"232149:16:21","nodeType":"YulExpressionStatement","src":"232149:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232185:4:21","nodeType":"YulLiteral","src":"232185:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"232191:2:21","nodeType":"YulIdentifier","src":"232191:2:21"}],"functionName":{"name":"mstore","nativeSrc":"232178:6:21","nodeType":"YulIdentifier","src":"232178:6:21"},"nativeSrc":"232178:16:21","nodeType":"YulFunctionCall","src":"232178:16:21"},"nativeSrc":"232178:16:21","nodeType":"YulExpressionStatement","src":"232178:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232214:4:21","nodeType":"YulLiteral","src":"232214:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"232220:2:21","nodeType":"YulIdentifier","src":"232220:2:21"}],"functionName":{"name":"mstore","nativeSrc":"232207:6:21","nodeType":"YulIdentifier","src":"232207:6:21"},"nativeSrc":"232207:16:21","nodeType":"YulFunctionCall","src":"232207:16:21"},"nativeSrc":"232207:16:21","nodeType":"YulExpressionStatement","src":"232207:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232243:4:21","nodeType":"YulLiteral","src":"232243:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"232249:2:21","nodeType":"YulIdentifier","src":"232249:2:21"}],"functionName":{"name":"mstore","nativeSrc":"232236:6:21","nodeType":"YulIdentifier","src":"232236:6:21"},"nativeSrc":"232236:16:21","nodeType":"YulFunctionCall","src":"232236:16:21"},"nativeSrc":"232236:16:21","nodeType":"YulExpressionStatement","src":"232236:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232272:4:21","nodeType":"YulLiteral","src":"232272:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"232278:2:21","nodeType":"YulIdentifier","src":"232278:2:21"}],"functionName":{"name":"mstore","nativeSrc":"232265:6:21","nodeType":"YulIdentifier","src":"232265:6:21"},"nativeSrc":"232265:16:21","nodeType":"YulFunctionCall","src":"232265:16:21"},"nativeSrc":"232265:16:21","nodeType":"YulExpressionStatement","src":"232265:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232301:4:21","nodeType":"YulLiteral","src":"232301:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"232307:2:21","nodeType":"YulIdentifier","src":"232307:2:21"}],"functionName":{"name":"mstore","nativeSrc":"232294:6:21","nodeType":"YulIdentifier","src":"232294:6:21"},"nativeSrc":"232294:16:21","nodeType":"YulFunctionCall","src":"232294:16:21"},"nativeSrc":"232294:16:21","nodeType":"YulExpressionStatement","src":"232294:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232330:4:21","nodeType":"YulLiteral","src":"232330:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"232336:2:21","nodeType":"YulIdentifier","src":"232336:2:21"}],"functionName":{"name":"mstore","nativeSrc":"232323:6:21","nodeType":"YulIdentifier","src":"232323:6:21"},"nativeSrc":"232323:16:21","nodeType":"YulFunctionCall","src":"232323:16:21"},"nativeSrc":"232323:16:21","nodeType":"YulExpressionStatement","src":"232323:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34254,"isOffset":false,"isSlot":false,"src":"232162:2:21","valueSize":1},{"declaration":34257,"isOffset":false,"isSlot":false,"src":"232191:2:21","valueSize":1},{"declaration":34260,"isOffset":false,"isSlot":false,"src":"232220:2:21","valueSize":1},{"declaration":34263,"isOffset":false,"isSlot":false,"src":"232249:2:21","valueSize":1},{"declaration":34266,"isOffset":false,"isSlot":false,"src":"232278:2:21","valueSize":1},{"declaration":34269,"isOffset":false,"isSlot":false,"src":"232307:2:21","valueSize":1},{"declaration":34272,"isOffset":false,"isSlot":false,"src":"232336:2:21","valueSize":1}],"id":34280,"nodeType":"InlineAssembly","src":"232126:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"230956:3:21","parameters":{"id":34251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34244,"mutability":"mutable","name":"p0","nameLocation":"230965:2:21","nodeType":"VariableDeclaration","scope":34282,"src":"230960:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34243,"name":"bool","nodeType":"ElementaryTypeName","src":"230960:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34246,"mutability":"mutable","name":"p1","nameLocation":"230977:2:21","nodeType":"VariableDeclaration","scope":34282,"src":"230969:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"230969:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34248,"mutability":"mutable","name":"p2","nameLocation":"230986:2:21","nodeType":"VariableDeclaration","scope":34282,"src":"230981:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34247,"name":"bool","nodeType":"ElementaryTypeName","src":"230981:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34250,"mutability":"mutable","name":"p3","nameLocation":"230995:2:21","nodeType":"VariableDeclaration","scope":34282,"src":"230990:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34249,"name":"bool","nodeType":"ElementaryTypeName","src":"230990:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"230959:39:21"},"returnParameters":{"id":34252,"nodeType":"ParameterList","parameters":[],"src":"231013:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34322,"nodeType":"FunctionDefinition","src":"232361:1414:21","nodes":[],"body":{"id":34321,"nodeType":"Block","src":"232430:1345:21","nodes":[],"statements":[{"assignments":[34294],"declarations":[{"constant":false,"id":34294,"mutability":"mutable","name":"m0","nameLocation":"232448:2:21","nodeType":"VariableDeclaration","scope":34321,"src":"232440:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232440:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34295,"nodeType":"VariableDeclarationStatement","src":"232440:10:21"},{"assignments":[34297],"declarations":[{"constant":false,"id":34297,"mutability":"mutable","name":"m1","nameLocation":"232468:2:21","nodeType":"VariableDeclaration","scope":34321,"src":"232460:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232460:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34298,"nodeType":"VariableDeclarationStatement","src":"232460:10:21"},{"assignments":[34300],"declarations":[{"constant":false,"id":34300,"mutability":"mutable","name":"m2","nameLocation":"232488:2:21","nodeType":"VariableDeclaration","scope":34321,"src":"232480:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232480:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34301,"nodeType":"VariableDeclarationStatement","src":"232480:10:21"},{"assignments":[34303],"declarations":[{"constant":false,"id":34303,"mutability":"mutable","name":"m3","nameLocation":"232508:2:21","nodeType":"VariableDeclaration","scope":34321,"src":"232500:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232500:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34304,"nodeType":"VariableDeclarationStatement","src":"232500:10:21"},{"assignments":[34306],"declarations":[{"constant":false,"id":34306,"mutability":"mutable","name":"m4","nameLocation":"232528:2:21","nodeType":"VariableDeclaration","scope":34321,"src":"232520:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232520:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34307,"nodeType":"VariableDeclarationStatement","src":"232520:10:21"},{"assignments":[34309],"declarations":[{"constant":false,"id":34309,"mutability":"mutable","name":"m5","nameLocation":"232548:2:21","nodeType":"VariableDeclaration","scope":34321,"src":"232540:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232540:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34310,"nodeType":"VariableDeclarationStatement","src":"232540:10:21"},{"assignments":[34312],"declarations":[{"constant":false,"id":34312,"mutability":"mutable","name":"m6","nameLocation":"232568:2:21","nodeType":"VariableDeclaration","scope":34321,"src":"232560:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232560:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34313,"nodeType":"VariableDeclarationStatement","src":"232560:10:21"},{"AST":{"nativeSrc":"232632:825:21","nodeType":"YulBlock","src":"232632:825:21","statements":[{"body":{"nativeSrc":"232675:313:21","nodeType":"YulBlock","src":"232675:313:21","statements":[{"nativeSrc":"232693:15:21","nodeType":"YulVariableDeclaration","src":"232693:15:21","value":{"kind":"number","nativeSrc":"232707:1:21","nodeType":"YulLiteral","src":"232707:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"232697:6:21","nodeType":"YulTypedName","src":"232697:6:21","type":""}]},{"body":{"nativeSrc":"232778:40:21","nodeType":"YulBlock","src":"232778:40:21","statements":[{"body":{"nativeSrc":"232807:9:21","nodeType":"YulBlock","src":"232807:9:21","statements":[{"nativeSrc":"232809:5:21","nodeType":"YulBreak","src":"232809:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"232795:6:21","nodeType":"YulIdentifier","src":"232795:6:21"},{"name":"w","nativeSrc":"232803:1:21","nodeType":"YulIdentifier","src":"232803:1:21"}],"functionName":{"name":"byte","nativeSrc":"232790:4:21","nodeType":"YulIdentifier","src":"232790:4:21"},"nativeSrc":"232790:15:21","nodeType":"YulFunctionCall","src":"232790:15:21"}],"functionName":{"name":"iszero","nativeSrc":"232783:6:21","nodeType":"YulIdentifier","src":"232783:6:21"},"nativeSrc":"232783:23:21","nodeType":"YulFunctionCall","src":"232783:23:21"},"nativeSrc":"232780:36:21","nodeType":"YulIf","src":"232780:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"232735:6:21","nodeType":"YulIdentifier","src":"232735:6:21"},{"kind":"number","nativeSrc":"232743:4:21","nodeType":"YulLiteral","src":"232743:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"232732:2:21","nodeType":"YulIdentifier","src":"232732:2:21"},"nativeSrc":"232732:16:21","nodeType":"YulFunctionCall","src":"232732:16:21"},"nativeSrc":"232725:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"232749:28:21","nodeType":"YulBlock","src":"232749:28:21","statements":[{"nativeSrc":"232751:24:21","nodeType":"YulAssignment","src":"232751:24:21","value":{"arguments":[{"name":"length","nativeSrc":"232765:6:21","nodeType":"YulIdentifier","src":"232765:6:21"},{"kind":"number","nativeSrc":"232773:1:21","nodeType":"YulLiteral","src":"232773:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"232761:3:21","nodeType":"YulIdentifier","src":"232761:3:21"},"nativeSrc":"232761:14:21","nodeType":"YulFunctionCall","src":"232761:14:21"},"variableNames":[{"name":"length","nativeSrc":"232751:6:21","nodeType":"YulIdentifier","src":"232751:6:21"}]}]},"pre":{"nativeSrc":"232729:2:21","nodeType":"YulBlock","src":"232729:2:21","statements":[]},"src":"232725:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"232842:3:21","nodeType":"YulIdentifier","src":"232842:3:21"},{"name":"length","nativeSrc":"232847:6:21","nodeType":"YulIdentifier","src":"232847:6:21"}],"functionName":{"name":"mstore","nativeSrc":"232835:6:21","nodeType":"YulIdentifier","src":"232835:6:21"},"nativeSrc":"232835:19:21","nodeType":"YulFunctionCall","src":"232835:19:21"},"nativeSrc":"232835:19:21","nodeType":"YulExpressionStatement","src":"232835:19:21"},{"nativeSrc":"232871:37:21","nodeType":"YulVariableDeclaration","src":"232871:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"232888:3:21","nodeType":"YulLiteral","src":"232888:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"232897:1:21","nodeType":"YulLiteral","src":"232897:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"232900:6:21","nodeType":"YulIdentifier","src":"232900:6:21"}],"functionName":{"name":"shl","nativeSrc":"232893:3:21","nodeType":"YulIdentifier","src":"232893:3:21"},"nativeSrc":"232893:14:21","nodeType":"YulFunctionCall","src":"232893:14:21"}],"functionName":{"name":"sub","nativeSrc":"232884:3:21","nodeType":"YulIdentifier","src":"232884:3:21"},"nativeSrc":"232884:24:21","nodeType":"YulFunctionCall","src":"232884:24:21"},"variables":[{"name":"shift","nativeSrc":"232875:5:21","nodeType":"YulTypedName","src":"232875:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"232936:3:21","nodeType":"YulIdentifier","src":"232936:3:21"},{"kind":"number","nativeSrc":"232941:4:21","nodeType":"YulLiteral","src":"232941:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"232932:3:21","nodeType":"YulIdentifier","src":"232932:3:21"},"nativeSrc":"232932:14:21","nodeType":"YulFunctionCall","src":"232932:14:21"},{"arguments":[{"name":"shift","nativeSrc":"232952:5:21","nodeType":"YulIdentifier","src":"232952:5:21"},{"arguments":[{"name":"shift","nativeSrc":"232963:5:21","nodeType":"YulIdentifier","src":"232963:5:21"},{"name":"w","nativeSrc":"232970:1:21","nodeType":"YulIdentifier","src":"232970:1:21"}],"functionName":{"name":"shr","nativeSrc":"232959:3:21","nodeType":"YulIdentifier","src":"232959:3:21"},"nativeSrc":"232959:13:21","nodeType":"YulFunctionCall","src":"232959:13:21"}],"functionName":{"name":"shl","nativeSrc":"232948:3:21","nodeType":"YulIdentifier","src":"232948:3:21"},"nativeSrc":"232948:25:21","nodeType":"YulFunctionCall","src":"232948:25:21"}],"functionName":{"name":"mstore","nativeSrc":"232925:6:21","nodeType":"YulIdentifier","src":"232925:6:21"},"nativeSrc":"232925:49:21","nodeType":"YulFunctionCall","src":"232925:49:21"},"nativeSrc":"232925:49:21","nodeType":"YulExpressionStatement","src":"232925:49:21"}]},"name":"writeString","nativeSrc":"232646:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"232667:3:21","nodeType":"YulTypedName","src":"232667:3:21","type":""},{"name":"w","nativeSrc":"232672:1:21","nodeType":"YulTypedName","src":"232672:1:21","type":""}],"src":"232646:342:21"},{"nativeSrc":"233001:17:21","nodeType":"YulAssignment","src":"233001:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"233013:4:21","nodeType":"YulLiteral","src":"233013:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"233007:5:21","nodeType":"YulIdentifier","src":"233007:5:21"},"nativeSrc":"233007:11:21","nodeType":"YulFunctionCall","src":"233007:11:21"},"variableNames":[{"name":"m0","nativeSrc":"233001:2:21","nodeType":"YulIdentifier","src":"233001:2:21"}]},{"nativeSrc":"233031:17:21","nodeType":"YulAssignment","src":"233031:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"233043:4:21","nodeType":"YulLiteral","src":"233043:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"233037:5:21","nodeType":"YulIdentifier","src":"233037:5:21"},"nativeSrc":"233037:11:21","nodeType":"YulFunctionCall","src":"233037:11:21"},"variableNames":[{"name":"m1","nativeSrc":"233031:2:21","nodeType":"YulIdentifier","src":"233031:2:21"}]},{"nativeSrc":"233061:17:21","nodeType":"YulAssignment","src":"233061:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"233073:4:21","nodeType":"YulLiteral","src":"233073:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"233067:5:21","nodeType":"YulIdentifier","src":"233067:5:21"},"nativeSrc":"233067:11:21","nodeType":"YulFunctionCall","src":"233067:11:21"},"variableNames":[{"name":"m2","nativeSrc":"233061:2:21","nodeType":"YulIdentifier","src":"233061:2:21"}]},{"nativeSrc":"233091:17:21","nodeType":"YulAssignment","src":"233091:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"233103:4:21","nodeType":"YulLiteral","src":"233103:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"233097:5:21","nodeType":"YulIdentifier","src":"233097:5:21"},"nativeSrc":"233097:11:21","nodeType":"YulFunctionCall","src":"233097:11:21"},"variableNames":[{"name":"m3","nativeSrc":"233091:2:21","nodeType":"YulIdentifier","src":"233091:2:21"}]},{"nativeSrc":"233121:17:21","nodeType":"YulAssignment","src":"233121:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"233133:4:21","nodeType":"YulLiteral","src":"233133:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"233127:5:21","nodeType":"YulIdentifier","src":"233127:5:21"},"nativeSrc":"233127:11:21","nodeType":"YulFunctionCall","src":"233127:11:21"},"variableNames":[{"name":"m4","nativeSrc":"233121:2:21","nodeType":"YulIdentifier","src":"233121:2:21"}]},{"nativeSrc":"233151:17:21","nodeType":"YulAssignment","src":"233151:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"233163:4:21","nodeType":"YulLiteral","src":"233163:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"233157:5:21","nodeType":"YulIdentifier","src":"233157:5:21"},"nativeSrc":"233157:11:21","nodeType":"YulFunctionCall","src":"233157:11:21"},"variableNames":[{"name":"m5","nativeSrc":"233151:2:21","nodeType":"YulIdentifier","src":"233151:2:21"}]},{"nativeSrc":"233181:17:21","nodeType":"YulAssignment","src":"233181:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"233193:4:21","nodeType":"YulLiteral","src":"233193:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"233187:5:21","nodeType":"YulIdentifier","src":"233187:5:21"},"nativeSrc":"233187:11:21","nodeType":"YulFunctionCall","src":"233187:11:21"},"variableNames":[{"name":"m6","nativeSrc":"233181:2:21","nodeType":"YulIdentifier","src":"233181:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233278:4:21","nodeType":"YulLiteral","src":"233278:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"233284:10:21","nodeType":"YulLiteral","src":"233284:10:21","type":"","value":"0x1606a393"}],"functionName":{"name":"mstore","nativeSrc":"233271:6:21","nodeType":"YulIdentifier","src":"233271:6:21"},"nativeSrc":"233271:24:21","nodeType":"YulFunctionCall","src":"233271:24:21"},"nativeSrc":"233271:24:21","nodeType":"YulExpressionStatement","src":"233271:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233315:4:21","nodeType":"YulLiteral","src":"233315:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"233321:2:21","nodeType":"YulIdentifier","src":"233321:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233308:6:21","nodeType":"YulIdentifier","src":"233308:6:21"},"nativeSrc":"233308:16:21","nodeType":"YulFunctionCall","src":"233308:16:21"},"nativeSrc":"233308:16:21","nodeType":"YulExpressionStatement","src":"233308:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233344:4:21","nodeType":"YulLiteral","src":"233344:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"233350:4:21","nodeType":"YulLiteral","src":"233350:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"233337:6:21","nodeType":"YulIdentifier","src":"233337:6:21"},"nativeSrc":"233337:18:21","nodeType":"YulFunctionCall","src":"233337:18:21"},"nativeSrc":"233337:18:21","nodeType":"YulExpressionStatement","src":"233337:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233375:4:21","nodeType":"YulLiteral","src":"233375:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"233381:2:21","nodeType":"YulIdentifier","src":"233381:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233368:6:21","nodeType":"YulIdentifier","src":"233368:6:21"},"nativeSrc":"233368:16:21","nodeType":"YulFunctionCall","src":"233368:16:21"},"nativeSrc":"233368:16:21","nodeType":"YulExpressionStatement","src":"233368:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233404:4:21","nodeType":"YulLiteral","src":"233404:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"233410:2:21","nodeType":"YulIdentifier","src":"233410:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233397:6:21","nodeType":"YulIdentifier","src":"233397:6:21"},"nativeSrc":"233397:16:21","nodeType":"YulFunctionCall","src":"233397:16:21"},"nativeSrc":"233397:16:21","nodeType":"YulExpressionStatement","src":"233397:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233438:4:21","nodeType":"YulLiteral","src":"233438:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"233444:2:21","nodeType":"YulIdentifier","src":"233444:2:21"}],"functionName":{"name":"writeString","nativeSrc":"233426:11:21","nodeType":"YulIdentifier","src":"233426:11:21"},"nativeSrc":"233426:21:21","nodeType":"YulFunctionCall","src":"233426:21:21"},"nativeSrc":"233426:21:21","nodeType":"YulExpressionStatement","src":"233426:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34294,"isOffset":false,"isSlot":false,"src":"233001:2:21","valueSize":1},{"declaration":34297,"isOffset":false,"isSlot":false,"src":"233031:2:21","valueSize":1},{"declaration":34300,"isOffset":false,"isSlot":false,"src":"233061:2:21","valueSize":1},{"declaration":34303,"isOffset":false,"isSlot":false,"src":"233091:2:21","valueSize":1},{"declaration":34306,"isOffset":false,"isSlot":false,"src":"233121:2:21","valueSize":1},{"declaration":34309,"isOffset":false,"isSlot":false,"src":"233151:2:21","valueSize":1},{"declaration":34312,"isOffset":false,"isSlot":false,"src":"233181:2:21","valueSize":1},{"declaration":34284,"isOffset":false,"isSlot":false,"src":"233321:2:21","valueSize":1},{"declaration":34286,"isOffset":false,"isSlot":false,"src":"233444:2:21","valueSize":1},{"declaration":34288,"isOffset":false,"isSlot":false,"src":"233381:2:21","valueSize":1},{"declaration":34290,"isOffset":false,"isSlot":false,"src":"233410:2:21","valueSize":1}],"id":34314,"nodeType":"InlineAssembly","src":"232623:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"233482:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"233488:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"233466:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"233466:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34319,"nodeType":"ExpressionStatement","src":"233466:27:21"},{"AST":{"nativeSrc":"233555:214:21","nodeType":"YulBlock","src":"233555:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"233576:4:21","nodeType":"YulLiteral","src":"233576:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"233582:2:21","nodeType":"YulIdentifier","src":"233582:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233569:6:21","nodeType":"YulIdentifier","src":"233569:6:21"},"nativeSrc":"233569:16:21","nodeType":"YulFunctionCall","src":"233569:16:21"},"nativeSrc":"233569:16:21","nodeType":"YulExpressionStatement","src":"233569:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233605:4:21","nodeType":"YulLiteral","src":"233605:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"233611:2:21","nodeType":"YulIdentifier","src":"233611:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233598:6:21","nodeType":"YulIdentifier","src":"233598:6:21"},"nativeSrc":"233598:16:21","nodeType":"YulFunctionCall","src":"233598:16:21"},"nativeSrc":"233598:16:21","nodeType":"YulExpressionStatement","src":"233598:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233634:4:21","nodeType":"YulLiteral","src":"233634:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"233640:2:21","nodeType":"YulIdentifier","src":"233640:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233627:6:21","nodeType":"YulIdentifier","src":"233627:6:21"},"nativeSrc":"233627:16:21","nodeType":"YulFunctionCall","src":"233627:16:21"},"nativeSrc":"233627:16:21","nodeType":"YulExpressionStatement","src":"233627:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233663:4:21","nodeType":"YulLiteral","src":"233663:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"233669:2:21","nodeType":"YulIdentifier","src":"233669:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233656:6:21","nodeType":"YulIdentifier","src":"233656:6:21"},"nativeSrc":"233656:16:21","nodeType":"YulFunctionCall","src":"233656:16:21"},"nativeSrc":"233656:16:21","nodeType":"YulExpressionStatement","src":"233656:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233692:4:21","nodeType":"YulLiteral","src":"233692:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"233698:2:21","nodeType":"YulIdentifier","src":"233698:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233685:6:21","nodeType":"YulIdentifier","src":"233685:6:21"},"nativeSrc":"233685:16:21","nodeType":"YulFunctionCall","src":"233685:16:21"},"nativeSrc":"233685:16:21","nodeType":"YulExpressionStatement","src":"233685:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233721:4:21","nodeType":"YulLiteral","src":"233721:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"233727:2:21","nodeType":"YulIdentifier","src":"233727:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233714:6:21","nodeType":"YulIdentifier","src":"233714:6:21"},"nativeSrc":"233714:16:21","nodeType":"YulFunctionCall","src":"233714:16:21"},"nativeSrc":"233714:16:21","nodeType":"YulExpressionStatement","src":"233714:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233750:4:21","nodeType":"YulLiteral","src":"233750:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"233756:2:21","nodeType":"YulIdentifier","src":"233756:2:21"}],"functionName":{"name":"mstore","nativeSrc":"233743:6:21","nodeType":"YulIdentifier","src":"233743:6:21"},"nativeSrc":"233743:16:21","nodeType":"YulFunctionCall","src":"233743:16:21"},"nativeSrc":"233743:16:21","nodeType":"YulExpressionStatement","src":"233743:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34294,"isOffset":false,"isSlot":false,"src":"233582:2:21","valueSize":1},{"declaration":34297,"isOffset":false,"isSlot":false,"src":"233611:2:21","valueSize":1},{"declaration":34300,"isOffset":false,"isSlot":false,"src":"233640:2:21","valueSize":1},{"declaration":34303,"isOffset":false,"isSlot":false,"src":"233669:2:21","valueSize":1},{"declaration":34306,"isOffset":false,"isSlot":false,"src":"233698:2:21","valueSize":1},{"declaration":34309,"isOffset":false,"isSlot":false,"src":"233727:2:21","valueSize":1},{"declaration":34312,"isOffset":false,"isSlot":false,"src":"233756:2:21","valueSize":1}],"id":34320,"nodeType":"InlineAssembly","src":"233546:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"232370:3:21","parameters":{"id":34291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34284,"mutability":"mutable","name":"p0","nameLocation":"232379:2:21","nodeType":"VariableDeclaration","scope":34322,"src":"232374:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34283,"name":"bool","nodeType":"ElementaryTypeName","src":"232374:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34286,"mutability":"mutable","name":"p1","nameLocation":"232391:2:21","nodeType":"VariableDeclaration","scope":34322,"src":"232383:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232383:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34288,"mutability":"mutable","name":"p2","nameLocation":"232400:2:21","nodeType":"VariableDeclaration","scope":34322,"src":"232395:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34287,"name":"bool","nodeType":"ElementaryTypeName","src":"232395:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34290,"mutability":"mutable","name":"p3","nameLocation":"232412:2:21","nodeType":"VariableDeclaration","scope":34322,"src":"232404:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34289,"name":"uint256","nodeType":"ElementaryTypeName","src":"232404:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"232373:42:21"},"returnParameters":{"id":34292,"nodeType":"ParameterList","parameters":[],"src":"232430:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34368,"nodeType":"FunctionDefinition","src":"233781:1610:21","nodes":[],"body":{"id":34367,"nodeType":"Block","src":"233850:1541:21","nodes":[],"statements":[{"assignments":[34334],"declarations":[{"constant":false,"id":34334,"mutability":"mutable","name":"m0","nameLocation":"233868:2:21","nodeType":"VariableDeclaration","scope":34367,"src":"233860:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233860:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34335,"nodeType":"VariableDeclarationStatement","src":"233860:10:21"},{"assignments":[34337],"declarations":[{"constant":false,"id":34337,"mutability":"mutable","name":"m1","nameLocation":"233888:2:21","nodeType":"VariableDeclaration","scope":34367,"src":"233880:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34336,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233880:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34338,"nodeType":"VariableDeclarationStatement","src":"233880:10:21"},{"assignments":[34340],"declarations":[{"constant":false,"id":34340,"mutability":"mutable","name":"m2","nameLocation":"233908:2:21","nodeType":"VariableDeclaration","scope":34367,"src":"233900:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233900:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34341,"nodeType":"VariableDeclarationStatement","src":"233900:10:21"},{"assignments":[34343],"declarations":[{"constant":false,"id":34343,"mutability":"mutable","name":"m3","nameLocation":"233928:2:21","nodeType":"VariableDeclaration","scope":34367,"src":"233920:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233920:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34344,"nodeType":"VariableDeclarationStatement","src":"233920:10:21"},{"assignments":[34346],"declarations":[{"constant":false,"id":34346,"mutability":"mutable","name":"m4","nameLocation":"233948:2:21","nodeType":"VariableDeclaration","scope":34367,"src":"233940:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233940:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34347,"nodeType":"VariableDeclarationStatement","src":"233940:10:21"},{"assignments":[34349],"declarations":[{"constant":false,"id":34349,"mutability":"mutable","name":"m5","nameLocation":"233968:2:21","nodeType":"VariableDeclaration","scope":34367,"src":"233960:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233960:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34350,"nodeType":"VariableDeclarationStatement","src":"233960:10:21"},{"assignments":[34352],"declarations":[{"constant":false,"id":34352,"mutability":"mutable","name":"m6","nameLocation":"233988:2:21","nodeType":"VariableDeclaration","scope":34367,"src":"233980:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233980:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34353,"nodeType":"VariableDeclarationStatement","src":"233980:10:21"},{"assignments":[34355],"declarations":[{"constant":false,"id":34355,"mutability":"mutable","name":"m7","nameLocation":"234008:2:21","nodeType":"VariableDeclaration","scope":34367,"src":"234000:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"234000:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34356,"nodeType":"VariableDeclarationStatement","src":"234000:10:21"},{"assignments":[34358],"declarations":[{"constant":false,"id":34358,"mutability":"mutable","name":"m8","nameLocation":"234028:2:21","nodeType":"VariableDeclaration","scope":34367,"src":"234020:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34357,"name":"bytes32","nodeType":"ElementaryTypeName","src":"234020:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34359,"nodeType":"VariableDeclarationStatement","src":"234020:10:21"},{"AST":{"nativeSrc":"234092:921:21","nodeType":"YulBlock","src":"234092:921:21","statements":[{"body":{"nativeSrc":"234135:313:21","nodeType":"YulBlock","src":"234135:313:21","statements":[{"nativeSrc":"234153:15:21","nodeType":"YulVariableDeclaration","src":"234153:15:21","value":{"kind":"number","nativeSrc":"234167:1:21","nodeType":"YulLiteral","src":"234167:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"234157:6:21","nodeType":"YulTypedName","src":"234157:6:21","type":""}]},{"body":{"nativeSrc":"234238:40:21","nodeType":"YulBlock","src":"234238:40:21","statements":[{"body":{"nativeSrc":"234267:9:21","nodeType":"YulBlock","src":"234267:9:21","statements":[{"nativeSrc":"234269:5:21","nodeType":"YulBreak","src":"234269:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"234255:6:21","nodeType":"YulIdentifier","src":"234255:6:21"},{"name":"w","nativeSrc":"234263:1:21","nodeType":"YulIdentifier","src":"234263:1:21"}],"functionName":{"name":"byte","nativeSrc":"234250:4:21","nodeType":"YulIdentifier","src":"234250:4:21"},"nativeSrc":"234250:15:21","nodeType":"YulFunctionCall","src":"234250:15:21"}],"functionName":{"name":"iszero","nativeSrc":"234243:6:21","nodeType":"YulIdentifier","src":"234243:6:21"},"nativeSrc":"234243:23:21","nodeType":"YulFunctionCall","src":"234243:23:21"},"nativeSrc":"234240:36:21","nodeType":"YulIf","src":"234240:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"234195:6:21","nodeType":"YulIdentifier","src":"234195:6:21"},{"kind":"number","nativeSrc":"234203:4:21","nodeType":"YulLiteral","src":"234203:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"234192:2:21","nodeType":"YulIdentifier","src":"234192:2:21"},"nativeSrc":"234192:16:21","nodeType":"YulFunctionCall","src":"234192:16:21"},"nativeSrc":"234185:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"234209:28:21","nodeType":"YulBlock","src":"234209:28:21","statements":[{"nativeSrc":"234211:24:21","nodeType":"YulAssignment","src":"234211:24:21","value":{"arguments":[{"name":"length","nativeSrc":"234225:6:21","nodeType":"YulIdentifier","src":"234225:6:21"},{"kind":"number","nativeSrc":"234233:1:21","nodeType":"YulLiteral","src":"234233:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"234221:3:21","nodeType":"YulIdentifier","src":"234221:3:21"},"nativeSrc":"234221:14:21","nodeType":"YulFunctionCall","src":"234221:14:21"},"variableNames":[{"name":"length","nativeSrc":"234211:6:21","nodeType":"YulIdentifier","src":"234211:6:21"}]}]},"pre":{"nativeSrc":"234189:2:21","nodeType":"YulBlock","src":"234189:2:21","statements":[]},"src":"234185:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"234302:3:21","nodeType":"YulIdentifier","src":"234302:3:21"},{"name":"length","nativeSrc":"234307:6:21","nodeType":"YulIdentifier","src":"234307:6:21"}],"functionName":{"name":"mstore","nativeSrc":"234295:6:21","nodeType":"YulIdentifier","src":"234295:6:21"},"nativeSrc":"234295:19:21","nodeType":"YulFunctionCall","src":"234295:19:21"},"nativeSrc":"234295:19:21","nodeType":"YulExpressionStatement","src":"234295:19:21"},{"nativeSrc":"234331:37:21","nodeType":"YulVariableDeclaration","src":"234331:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"234348:3:21","nodeType":"YulLiteral","src":"234348:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"234357:1:21","nodeType":"YulLiteral","src":"234357:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"234360:6:21","nodeType":"YulIdentifier","src":"234360:6:21"}],"functionName":{"name":"shl","nativeSrc":"234353:3:21","nodeType":"YulIdentifier","src":"234353:3:21"},"nativeSrc":"234353:14:21","nodeType":"YulFunctionCall","src":"234353:14:21"}],"functionName":{"name":"sub","nativeSrc":"234344:3:21","nodeType":"YulIdentifier","src":"234344:3:21"},"nativeSrc":"234344:24:21","nodeType":"YulFunctionCall","src":"234344:24:21"},"variables":[{"name":"shift","nativeSrc":"234335:5:21","nodeType":"YulTypedName","src":"234335:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"234396:3:21","nodeType":"YulIdentifier","src":"234396:3:21"},{"kind":"number","nativeSrc":"234401:4:21","nodeType":"YulLiteral","src":"234401:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"234392:3:21","nodeType":"YulIdentifier","src":"234392:3:21"},"nativeSrc":"234392:14:21","nodeType":"YulFunctionCall","src":"234392:14:21"},{"arguments":[{"name":"shift","nativeSrc":"234412:5:21","nodeType":"YulIdentifier","src":"234412:5:21"},{"arguments":[{"name":"shift","nativeSrc":"234423:5:21","nodeType":"YulIdentifier","src":"234423:5:21"},{"name":"w","nativeSrc":"234430:1:21","nodeType":"YulIdentifier","src":"234430:1:21"}],"functionName":{"name":"shr","nativeSrc":"234419:3:21","nodeType":"YulIdentifier","src":"234419:3:21"},"nativeSrc":"234419:13:21","nodeType":"YulFunctionCall","src":"234419:13:21"}],"functionName":{"name":"shl","nativeSrc":"234408:3:21","nodeType":"YulIdentifier","src":"234408:3:21"},"nativeSrc":"234408:25:21","nodeType":"YulFunctionCall","src":"234408:25:21"}],"functionName":{"name":"mstore","nativeSrc":"234385:6:21","nodeType":"YulIdentifier","src":"234385:6:21"},"nativeSrc":"234385:49:21","nodeType":"YulFunctionCall","src":"234385:49:21"},"nativeSrc":"234385:49:21","nodeType":"YulExpressionStatement","src":"234385:49:21"}]},"name":"writeString","nativeSrc":"234106:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"234127:3:21","nodeType":"YulTypedName","src":"234127:3:21","type":""},{"name":"w","nativeSrc":"234132:1:21","nodeType":"YulTypedName","src":"234132:1:21","type":""}],"src":"234106:342:21"},{"nativeSrc":"234461:17:21","nodeType":"YulAssignment","src":"234461:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"234473:4:21","nodeType":"YulLiteral","src":"234473:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"234467:5:21","nodeType":"YulIdentifier","src":"234467:5:21"},"nativeSrc":"234467:11:21","nodeType":"YulFunctionCall","src":"234467:11:21"},"variableNames":[{"name":"m0","nativeSrc":"234461:2:21","nodeType":"YulIdentifier","src":"234461:2:21"}]},{"nativeSrc":"234491:17:21","nodeType":"YulAssignment","src":"234491:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"234503:4:21","nodeType":"YulLiteral","src":"234503:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"234497:5:21","nodeType":"YulIdentifier","src":"234497:5:21"},"nativeSrc":"234497:11:21","nodeType":"YulFunctionCall","src":"234497:11:21"},"variableNames":[{"name":"m1","nativeSrc":"234491:2:21","nodeType":"YulIdentifier","src":"234491:2:21"}]},{"nativeSrc":"234521:17:21","nodeType":"YulAssignment","src":"234521:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"234533:4:21","nodeType":"YulLiteral","src":"234533:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"234527:5:21","nodeType":"YulIdentifier","src":"234527:5:21"},"nativeSrc":"234527:11:21","nodeType":"YulFunctionCall","src":"234527:11:21"},"variableNames":[{"name":"m2","nativeSrc":"234521:2:21","nodeType":"YulIdentifier","src":"234521:2:21"}]},{"nativeSrc":"234551:17:21","nodeType":"YulAssignment","src":"234551:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"234563:4:21","nodeType":"YulLiteral","src":"234563:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"234557:5:21","nodeType":"YulIdentifier","src":"234557:5:21"},"nativeSrc":"234557:11:21","nodeType":"YulFunctionCall","src":"234557:11:21"},"variableNames":[{"name":"m3","nativeSrc":"234551:2:21","nodeType":"YulIdentifier","src":"234551:2:21"}]},{"nativeSrc":"234581:17:21","nodeType":"YulAssignment","src":"234581:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"234593:4:21","nodeType":"YulLiteral","src":"234593:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"234587:5:21","nodeType":"YulIdentifier","src":"234587:5:21"},"nativeSrc":"234587:11:21","nodeType":"YulFunctionCall","src":"234587:11:21"},"variableNames":[{"name":"m4","nativeSrc":"234581:2:21","nodeType":"YulIdentifier","src":"234581:2:21"}]},{"nativeSrc":"234611:17:21","nodeType":"YulAssignment","src":"234611:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"234623:4:21","nodeType":"YulLiteral","src":"234623:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"234617:5:21","nodeType":"YulIdentifier","src":"234617:5:21"},"nativeSrc":"234617:11:21","nodeType":"YulFunctionCall","src":"234617:11:21"},"variableNames":[{"name":"m5","nativeSrc":"234611:2:21","nodeType":"YulIdentifier","src":"234611:2:21"}]},{"nativeSrc":"234641:17:21","nodeType":"YulAssignment","src":"234641:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"234653:4:21","nodeType":"YulLiteral","src":"234653:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"234647:5:21","nodeType":"YulIdentifier","src":"234647:5:21"},"nativeSrc":"234647:11:21","nodeType":"YulFunctionCall","src":"234647:11:21"},"variableNames":[{"name":"m6","nativeSrc":"234641:2:21","nodeType":"YulIdentifier","src":"234641:2:21"}]},{"nativeSrc":"234671:17:21","nodeType":"YulAssignment","src":"234671:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"234683:4:21","nodeType":"YulLiteral","src":"234683:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"234677:5:21","nodeType":"YulIdentifier","src":"234677:5:21"},"nativeSrc":"234677:11:21","nodeType":"YulFunctionCall","src":"234677:11:21"},"variableNames":[{"name":"m7","nativeSrc":"234671:2:21","nodeType":"YulIdentifier","src":"234671:2:21"}]},{"nativeSrc":"234701:18:21","nodeType":"YulAssignment","src":"234701:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"234713:5:21","nodeType":"YulLiteral","src":"234713:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"234707:5:21","nodeType":"YulIdentifier","src":"234707:5:21"},"nativeSrc":"234707:12:21","nodeType":"YulFunctionCall","src":"234707:12:21"},"variableNames":[{"name":"m8","nativeSrc":"234701:2:21","nodeType":"YulIdentifier","src":"234701:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234798:4:21","nodeType":"YulLiteral","src":"234798:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"234804:10:21","nodeType":"YulLiteral","src":"234804:10:21","type":"","value":"0x483d0416"}],"functionName":{"name":"mstore","nativeSrc":"234791:6:21","nodeType":"YulIdentifier","src":"234791:6:21"},"nativeSrc":"234791:24:21","nodeType":"YulFunctionCall","src":"234791:24:21"},"nativeSrc":"234791:24:21","nodeType":"YulExpressionStatement","src":"234791:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234835:4:21","nodeType":"YulLiteral","src":"234835:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"234841:2:21","nodeType":"YulIdentifier","src":"234841:2:21"}],"functionName":{"name":"mstore","nativeSrc":"234828:6:21","nodeType":"YulIdentifier","src":"234828:6:21"},"nativeSrc":"234828:16:21","nodeType":"YulFunctionCall","src":"234828:16:21"},"nativeSrc":"234828:16:21","nodeType":"YulExpressionStatement","src":"234828:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234864:4:21","nodeType":"YulLiteral","src":"234864:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"234870:4:21","nodeType":"YulLiteral","src":"234870:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"234857:6:21","nodeType":"YulIdentifier","src":"234857:6:21"},"nativeSrc":"234857:18:21","nodeType":"YulFunctionCall","src":"234857:18:21"},"nativeSrc":"234857:18:21","nodeType":"YulExpressionStatement","src":"234857:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234895:4:21","nodeType":"YulLiteral","src":"234895:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"234901:2:21","nodeType":"YulIdentifier","src":"234901:2:21"}],"functionName":{"name":"mstore","nativeSrc":"234888:6:21","nodeType":"YulIdentifier","src":"234888:6:21"},"nativeSrc":"234888:16:21","nodeType":"YulFunctionCall","src":"234888:16:21"},"nativeSrc":"234888:16:21","nodeType":"YulExpressionStatement","src":"234888:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234924:4:21","nodeType":"YulLiteral","src":"234924:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"234930:4:21","nodeType":"YulLiteral","src":"234930:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"234917:6:21","nodeType":"YulIdentifier","src":"234917:6:21"},"nativeSrc":"234917:18:21","nodeType":"YulFunctionCall","src":"234917:18:21"},"nativeSrc":"234917:18:21","nodeType":"YulExpressionStatement","src":"234917:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234960:4:21","nodeType":"YulLiteral","src":"234960:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"234966:2:21","nodeType":"YulIdentifier","src":"234966:2:21"}],"functionName":{"name":"writeString","nativeSrc":"234948:11:21","nodeType":"YulIdentifier","src":"234948:11:21"},"nativeSrc":"234948:21:21","nodeType":"YulFunctionCall","src":"234948:21:21"},"nativeSrc":"234948:21:21","nodeType":"YulExpressionStatement","src":"234948:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234994:4:21","nodeType":"YulLiteral","src":"234994:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"235000:2:21","nodeType":"YulIdentifier","src":"235000:2:21"}],"functionName":{"name":"writeString","nativeSrc":"234982:11:21","nodeType":"YulIdentifier","src":"234982:11:21"},"nativeSrc":"234982:21:21","nodeType":"YulFunctionCall","src":"234982:21:21"},"nativeSrc":"234982:21:21","nodeType":"YulExpressionStatement","src":"234982:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34334,"isOffset":false,"isSlot":false,"src":"234461:2:21","valueSize":1},{"declaration":34337,"isOffset":false,"isSlot":false,"src":"234491:2:21","valueSize":1},{"declaration":34340,"isOffset":false,"isSlot":false,"src":"234521:2:21","valueSize":1},{"declaration":34343,"isOffset":false,"isSlot":false,"src":"234551:2:21","valueSize":1},{"declaration":34346,"isOffset":false,"isSlot":false,"src":"234581:2:21","valueSize":1},{"declaration":34349,"isOffset":false,"isSlot":false,"src":"234611:2:21","valueSize":1},{"declaration":34352,"isOffset":false,"isSlot":false,"src":"234641:2:21","valueSize":1},{"declaration":34355,"isOffset":false,"isSlot":false,"src":"234671:2:21","valueSize":1},{"declaration":34358,"isOffset":false,"isSlot":false,"src":"234701:2:21","valueSize":1},{"declaration":34324,"isOffset":false,"isSlot":false,"src":"234841:2:21","valueSize":1},{"declaration":34326,"isOffset":false,"isSlot":false,"src":"234966:2:21","valueSize":1},{"declaration":34328,"isOffset":false,"isSlot":false,"src":"234901:2:21","valueSize":1},{"declaration":34330,"isOffset":false,"isSlot":false,"src":"235000:2:21","valueSize":1}],"id":34360,"nodeType":"InlineAssembly","src":"234083:930:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"235038:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":34363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"235044:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":34361,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"235022:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"235022:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34365,"nodeType":"ExpressionStatement","src":"235022:28:21"},{"AST":{"nativeSrc":"235112:273:21","nodeType":"YulBlock","src":"235112:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"235133:4:21","nodeType":"YulLiteral","src":"235133:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"235139:2:21","nodeType":"YulIdentifier","src":"235139:2:21"}],"functionName":{"name":"mstore","nativeSrc":"235126:6:21","nodeType":"YulIdentifier","src":"235126:6:21"},"nativeSrc":"235126:16:21","nodeType":"YulFunctionCall","src":"235126:16:21"},"nativeSrc":"235126:16:21","nodeType":"YulExpressionStatement","src":"235126:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235162:4:21","nodeType":"YulLiteral","src":"235162:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"235168:2:21","nodeType":"YulIdentifier","src":"235168:2:21"}],"functionName":{"name":"mstore","nativeSrc":"235155:6:21","nodeType":"YulIdentifier","src":"235155:6:21"},"nativeSrc":"235155:16:21","nodeType":"YulFunctionCall","src":"235155:16:21"},"nativeSrc":"235155:16:21","nodeType":"YulExpressionStatement","src":"235155:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235191:4:21","nodeType":"YulLiteral","src":"235191:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"235197:2:21","nodeType":"YulIdentifier","src":"235197:2:21"}],"functionName":{"name":"mstore","nativeSrc":"235184:6:21","nodeType":"YulIdentifier","src":"235184:6:21"},"nativeSrc":"235184:16:21","nodeType":"YulFunctionCall","src":"235184:16:21"},"nativeSrc":"235184:16:21","nodeType":"YulExpressionStatement","src":"235184:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235220:4:21","nodeType":"YulLiteral","src":"235220:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"235226:2:21","nodeType":"YulIdentifier","src":"235226:2:21"}],"functionName":{"name":"mstore","nativeSrc":"235213:6:21","nodeType":"YulIdentifier","src":"235213:6:21"},"nativeSrc":"235213:16:21","nodeType":"YulFunctionCall","src":"235213:16:21"},"nativeSrc":"235213:16:21","nodeType":"YulExpressionStatement","src":"235213:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235249:4:21","nodeType":"YulLiteral","src":"235249:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"235255:2:21","nodeType":"YulIdentifier","src":"235255:2:21"}],"functionName":{"name":"mstore","nativeSrc":"235242:6:21","nodeType":"YulIdentifier","src":"235242:6:21"},"nativeSrc":"235242:16:21","nodeType":"YulFunctionCall","src":"235242:16:21"},"nativeSrc":"235242:16:21","nodeType":"YulExpressionStatement","src":"235242:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235278:4:21","nodeType":"YulLiteral","src":"235278:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"235284:2:21","nodeType":"YulIdentifier","src":"235284:2:21"}],"functionName":{"name":"mstore","nativeSrc":"235271:6:21","nodeType":"YulIdentifier","src":"235271:6:21"},"nativeSrc":"235271:16:21","nodeType":"YulFunctionCall","src":"235271:16:21"},"nativeSrc":"235271:16:21","nodeType":"YulExpressionStatement","src":"235271:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235307:4:21","nodeType":"YulLiteral","src":"235307:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"235313:2:21","nodeType":"YulIdentifier","src":"235313:2:21"}],"functionName":{"name":"mstore","nativeSrc":"235300:6:21","nodeType":"YulIdentifier","src":"235300:6:21"},"nativeSrc":"235300:16:21","nodeType":"YulFunctionCall","src":"235300:16:21"},"nativeSrc":"235300:16:21","nodeType":"YulExpressionStatement","src":"235300:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235336:4:21","nodeType":"YulLiteral","src":"235336:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"235342:2:21","nodeType":"YulIdentifier","src":"235342:2:21"}],"functionName":{"name":"mstore","nativeSrc":"235329:6:21","nodeType":"YulIdentifier","src":"235329:6:21"},"nativeSrc":"235329:16:21","nodeType":"YulFunctionCall","src":"235329:16:21"},"nativeSrc":"235329:16:21","nodeType":"YulExpressionStatement","src":"235329:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235365:5:21","nodeType":"YulLiteral","src":"235365:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"235372:2:21","nodeType":"YulIdentifier","src":"235372:2:21"}],"functionName":{"name":"mstore","nativeSrc":"235358:6:21","nodeType":"YulIdentifier","src":"235358:6:21"},"nativeSrc":"235358:17:21","nodeType":"YulFunctionCall","src":"235358:17:21"},"nativeSrc":"235358:17:21","nodeType":"YulExpressionStatement","src":"235358:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34334,"isOffset":false,"isSlot":false,"src":"235139:2:21","valueSize":1},{"declaration":34337,"isOffset":false,"isSlot":false,"src":"235168:2:21","valueSize":1},{"declaration":34340,"isOffset":false,"isSlot":false,"src":"235197:2:21","valueSize":1},{"declaration":34343,"isOffset":false,"isSlot":false,"src":"235226:2:21","valueSize":1},{"declaration":34346,"isOffset":false,"isSlot":false,"src":"235255:2:21","valueSize":1},{"declaration":34349,"isOffset":false,"isSlot":false,"src":"235284:2:21","valueSize":1},{"declaration":34352,"isOffset":false,"isSlot":false,"src":"235313:2:21","valueSize":1},{"declaration":34355,"isOffset":false,"isSlot":false,"src":"235342:2:21","valueSize":1},{"declaration":34358,"isOffset":false,"isSlot":false,"src":"235372:2:21","valueSize":1}],"id":34366,"nodeType":"InlineAssembly","src":"235103:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"233790:3:21","parameters":{"id":34331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34324,"mutability":"mutable","name":"p0","nameLocation":"233799:2:21","nodeType":"VariableDeclaration","scope":34368,"src":"233794:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34323,"name":"bool","nodeType":"ElementaryTypeName","src":"233794:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34326,"mutability":"mutable","name":"p1","nameLocation":"233811:2:21","nodeType":"VariableDeclaration","scope":34368,"src":"233803:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233803:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34328,"mutability":"mutable","name":"p2","nameLocation":"233820:2:21","nodeType":"VariableDeclaration","scope":34368,"src":"233815:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34327,"name":"bool","nodeType":"ElementaryTypeName","src":"233815:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34330,"mutability":"mutable","name":"p3","nameLocation":"233832:2:21","nodeType":"VariableDeclaration","scope":34368,"src":"233824:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233824:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"233793:42:21"},"returnParameters":{"id":34332,"nodeType":"ParameterList","parameters":[],"src":"233850:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34408,"nodeType":"FunctionDefinition","src":"235397:1420:21","nodes":[],"body":{"id":34407,"nodeType":"Block","src":"235469:1348:21","nodes":[],"statements":[{"assignments":[34380],"declarations":[{"constant":false,"id":34380,"mutability":"mutable","name":"m0","nameLocation":"235487:2:21","nodeType":"VariableDeclaration","scope":34407,"src":"235479:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235479:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34381,"nodeType":"VariableDeclarationStatement","src":"235479:10:21"},{"assignments":[34383],"declarations":[{"constant":false,"id":34383,"mutability":"mutable","name":"m1","nameLocation":"235507:2:21","nodeType":"VariableDeclaration","scope":34407,"src":"235499:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235499:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34384,"nodeType":"VariableDeclarationStatement","src":"235499:10:21"},{"assignments":[34386],"declarations":[{"constant":false,"id":34386,"mutability":"mutable","name":"m2","nameLocation":"235527:2:21","nodeType":"VariableDeclaration","scope":34407,"src":"235519:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235519:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34387,"nodeType":"VariableDeclarationStatement","src":"235519:10:21"},{"assignments":[34389],"declarations":[{"constant":false,"id":34389,"mutability":"mutable","name":"m3","nameLocation":"235547:2:21","nodeType":"VariableDeclaration","scope":34407,"src":"235539:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235539:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34390,"nodeType":"VariableDeclarationStatement","src":"235539:10:21"},{"assignments":[34392],"declarations":[{"constant":false,"id":34392,"mutability":"mutable","name":"m4","nameLocation":"235567:2:21","nodeType":"VariableDeclaration","scope":34407,"src":"235559:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235559:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34393,"nodeType":"VariableDeclarationStatement","src":"235559:10:21"},{"assignments":[34395],"declarations":[{"constant":false,"id":34395,"mutability":"mutable","name":"m5","nameLocation":"235587:2:21","nodeType":"VariableDeclaration","scope":34407,"src":"235579:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235579:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34396,"nodeType":"VariableDeclarationStatement","src":"235579:10:21"},{"assignments":[34398],"declarations":[{"constant":false,"id":34398,"mutability":"mutable","name":"m6","nameLocation":"235607:2:21","nodeType":"VariableDeclaration","scope":34407,"src":"235599:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235599:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34399,"nodeType":"VariableDeclarationStatement","src":"235599:10:21"},{"AST":{"nativeSrc":"235671:828:21","nodeType":"YulBlock","src":"235671:828:21","statements":[{"body":{"nativeSrc":"235714:313:21","nodeType":"YulBlock","src":"235714:313:21","statements":[{"nativeSrc":"235732:15:21","nodeType":"YulVariableDeclaration","src":"235732:15:21","value":{"kind":"number","nativeSrc":"235746:1:21","nodeType":"YulLiteral","src":"235746:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"235736:6:21","nodeType":"YulTypedName","src":"235736:6:21","type":""}]},{"body":{"nativeSrc":"235817:40:21","nodeType":"YulBlock","src":"235817:40:21","statements":[{"body":{"nativeSrc":"235846:9:21","nodeType":"YulBlock","src":"235846:9:21","statements":[{"nativeSrc":"235848:5:21","nodeType":"YulBreak","src":"235848:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"235834:6:21","nodeType":"YulIdentifier","src":"235834:6:21"},{"name":"w","nativeSrc":"235842:1:21","nodeType":"YulIdentifier","src":"235842:1:21"}],"functionName":{"name":"byte","nativeSrc":"235829:4:21","nodeType":"YulIdentifier","src":"235829:4:21"},"nativeSrc":"235829:15:21","nodeType":"YulFunctionCall","src":"235829:15:21"}],"functionName":{"name":"iszero","nativeSrc":"235822:6:21","nodeType":"YulIdentifier","src":"235822:6:21"},"nativeSrc":"235822:23:21","nodeType":"YulFunctionCall","src":"235822:23:21"},"nativeSrc":"235819:36:21","nodeType":"YulIf","src":"235819:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"235774:6:21","nodeType":"YulIdentifier","src":"235774:6:21"},{"kind":"number","nativeSrc":"235782:4:21","nodeType":"YulLiteral","src":"235782:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"235771:2:21","nodeType":"YulIdentifier","src":"235771:2:21"},"nativeSrc":"235771:16:21","nodeType":"YulFunctionCall","src":"235771:16:21"},"nativeSrc":"235764:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"235788:28:21","nodeType":"YulBlock","src":"235788:28:21","statements":[{"nativeSrc":"235790:24:21","nodeType":"YulAssignment","src":"235790:24:21","value":{"arguments":[{"name":"length","nativeSrc":"235804:6:21","nodeType":"YulIdentifier","src":"235804:6:21"},{"kind":"number","nativeSrc":"235812:1:21","nodeType":"YulLiteral","src":"235812:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"235800:3:21","nodeType":"YulIdentifier","src":"235800:3:21"},"nativeSrc":"235800:14:21","nodeType":"YulFunctionCall","src":"235800:14:21"},"variableNames":[{"name":"length","nativeSrc":"235790:6:21","nodeType":"YulIdentifier","src":"235790:6:21"}]}]},"pre":{"nativeSrc":"235768:2:21","nodeType":"YulBlock","src":"235768:2:21","statements":[]},"src":"235764:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"235881:3:21","nodeType":"YulIdentifier","src":"235881:3:21"},{"name":"length","nativeSrc":"235886:6:21","nodeType":"YulIdentifier","src":"235886:6:21"}],"functionName":{"name":"mstore","nativeSrc":"235874:6:21","nodeType":"YulIdentifier","src":"235874:6:21"},"nativeSrc":"235874:19:21","nodeType":"YulFunctionCall","src":"235874:19:21"},"nativeSrc":"235874:19:21","nodeType":"YulExpressionStatement","src":"235874:19:21"},{"nativeSrc":"235910:37:21","nodeType":"YulVariableDeclaration","src":"235910:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"235927:3:21","nodeType":"YulLiteral","src":"235927:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"235936:1:21","nodeType":"YulLiteral","src":"235936:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"235939:6:21","nodeType":"YulIdentifier","src":"235939:6:21"}],"functionName":{"name":"shl","nativeSrc":"235932:3:21","nodeType":"YulIdentifier","src":"235932:3:21"},"nativeSrc":"235932:14:21","nodeType":"YulFunctionCall","src":"235932:14:21"}],"functionName":{"name":"sub","nativeSrc":"235923:3:21","nodeType":"YulIdentifier","src":"235923:3:21"},"nativeSrc":"235923:24:21","nodeType":"YulFunctionCall","src":"235923:24:21"},"variables":[{"name":"shift","nativeSrc":"235914:5:21","nodeType":"YulTypedName","src":"235914:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"235975:3:21","nodeType":"YulIdentifier","src":"235975:3:21"},{"kind":"number","nativeSrc":"235980:4:21","nodeType":"YulLiteral","src":"235980:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"235971:3:21","nodeType":"YulIdentifier","src":"235971:3:21"},"nativeSrc":"235971:14:21","nodeType":"YulFunctionCall","src":"235971:14:21"},{"arguments":[{"name":"shift","nativeSrc":"235991:5:21","nodeType":"YulIdentifier","src":"235991:5:21"},{"arguments":[{"name":"shift","nativeSrc":"236002:5:21","nodeType":"YulIdentifier","src":"236002:5:21"},{"name":"w","nativeSrc":"236009:1:21","nodeType":"YulIdentifier","src":"236009:1:21"}],"functionName":{"name":"shr","nativeSrc":"235998:3:21","nodeType":"YulIdentifier","src":"235998:3:21"},"nativeSrc":"235998:13:21","nodeType":"YulFunctionCall","src":"235998:13:21"}],"functionName":{"name":"shl","nativeSrc":"235987:3:21","nodeType":"YulIdentifier","src":"235987:3:21"},"nativeSrc":"235987:25:21","nodeType":"YulFunctionCall","src":"235987:25:21"}],"functionName":{"name":"mstore","nativeSrc":"235964:6:21","nodeType":"YulIdentifier","src":"235964:6:21"},"nativeSrc":"235964:49:21","nodeType":"YulFunctionCall","src":"235964:49:21"},"nativeSrc":"235964:49:21","nodeType":"YulExpressionStatement","src":"235964:49:21"}]},"name":"writeString","nativeSrc":"235685:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"235706:3:21","nodeType":"YulTypedName","src":"235706:3:21","type":""},{"name":"w","nativeSrc":"235711:1:21","nodeType":"YulTypedName","src":"235711:1:21","type":""}],"src":"235685:342:21"},{"nativeSrc":"236040:17:21","nodeType":"YulAssignment","src":"236040:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"236052:4:21","nodeType":"YulLiteral","src":"236052:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"236046:5:21","nodeType":"YulIdentifier","src":"236046:5:21"},"nativeSrc":"236046:11:21","nodeType":"YulFunctionCall","src":"236046:11:21"},"variableNames":[{"name":"m0","nativeSrc":"236040:2:21","nodeType":"YulIdentifier","src":"236040:2:21"}]},{"nativeSrc":"236070:17:21","nodeType":"YulAssignment","src":"236070:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"236082:4:21","nodeType":"YulLiteral","src":"236082:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"236076:5:21","nodeType":"YulIdentifier","src":"236076:5:21"},"nativeSrc":"236076:11:21","nodeType":"YulFunctionCall","src":"236076:11:21"},"variableNames":[{"name":"m1","nativeSrc":"236070:2:21","nodeType":"YulIdentifier","src":"236070:2:21"}]},{"nativeSrc":"236100:17:21","nodeType":"YulAssignment","src":"236100:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"236112:4:21","nodeType":"YulLiteral","src":"236112:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"236106:5:21","nodeType":"YulIdentifier","src":"236106:5:21"},"nativeSrc":"236106:11:21","nodeType":"YulFunctionCall","src":"236106:11:21"},"variableNames":[{"name":"m2","nativeSrc":"236100:2:21","nodeType":"YulIdentifier","src":"236100:2:21"}]},{"nativeSrc":"236130:17:21","nodeType":"YulAssignment","src":"236130:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"236142:4:21","nodeType":"YulLiteral","src":"236142:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"236136:5:21","nodeType":"YulIdentifier","src":"236136:5:21"},"nativeSrc":"236136:11:21","nodeType":"YulFunctionCall","src":"236136:11:21"},"variableNames":[{"name":"m3","nativeSrc":"236130:2:21","nodeType":"YulIdentifier","src":"236130:2:21"}]},{"nativeSrc":"236160:17:21","nodeType":"YulAssignment","src":"236160:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"236172:4:21","nodeType":"YulLiteral","src":"236172:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"236166:5:21","nodeType":"YulIdentifier","src":"236166:5:21"},"nativeSrc":"236166:11:21","nodeType":"YulFunctionCall","src":"236166:11:21"},"variableNames":[{"name":"m4","nativeSrc":"236160:2:21","nodeType":"YulIdentifier","src":"236160:2:21"}]},{"nativeSrc":"236190:17:21","nodeType":"YulAssignment","src":"236190:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"236202:4:21","nodeType":"YulLiteral","src":"236202:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"236196:5:21","nodeType":"YulIdentifier","src":"236196:5:21"},"nativeSrc":"236196:11:21","nodeType":"YulFunctionCall","src":"236196:11:21"},"variableNames":[{"name":"m5","nativeSrc":"236190:2:21","nodeType":"YulIdentifier","src":"236190:2:21"}]},{"nativeSrc":"236220:17:21","nodeType":"YulAssignment","src":"236220:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"236232:4:21","nodeType":"YulLiteral","src":"236232:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"236226:5:21","nodeType":"YulIdentifier","src":"236226:5:21"},"nativeSrc":"236226:11:21","nodeType":"YulFunctionCall","src":"236226:11:21"},"variableNames":[{"name":"m6","nativeSrc":"236220:2:21","nodeType":"YulIdentifier","src":"236220:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236320:4:21","nodeType":"YulLiteral","src":"236320:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"236326:10:21","nodeType":"YulLiteral","src":"236326:10:21","type":"","value":"0x1596a1ce"}],"functionName":{"name":"mstore","nativeSrc":"236313:6:21","nodeType":"YulIdentifier","src":"236313:6:21"},"nativeSrc":"236313:24:21","nodeType":"YulFunctionCall","src":"236313:24:21"},"nativeSrc":"236313:24:21","nodeType":"YulExpressionStatement","src":"236313:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236357:4:21","nodeType":"YulLiteral","src":"236357:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"236363:2:21","nodeType":"YulIdentifier","src":"236363:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236350:6:21","nodeType":"YulIdentifier","src":"236350:6:21"},"nativeSrc":"236350:16:21","nodeType":"YulFunctionCall","src":"236350:16:21"},"nativeSrc":"236350:16:21","nodeType":"YulExpressionStatement","src":"236350:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236386:4:21","nodeType":"YulLiteral","src":"236386:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"236392:4:21","nodeType":"YulLiteral","src":"236392:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"236379:6:21","nodeType":"YulIdentifier","src":"236379:6:21"},"nativeSrc":"236379:18:21","nodeType":"YulFunctionCall","src":"236379:18:21"},"nativeSrc":"236379:18:21","nodeType":"YulExpressionStatement","src":"236379:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236417:4:21","nodeType":"YulLiteral","src":"236417:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"236423:2:21","nodeType":"YulIdentifier","src":"236423:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236410:6:21","nodeType":"YulIdentifier","src":"236410:6:21"},"nativeSrc":"236410:16:21","nodeType":"YulFunctionCall","src":"236410:16:21"},"nativeSrc":"236410:16:21","nodeType":"YulExpressionStatement","src":"236410:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236446:4:21","nodeType":"YulLiteral","src":"236446:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"236452:2:21","nodeType":"YulIdentifier","src":"236452:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236439:6:21","nodeType":"YulIdentifier","src":"236439:6:21"},"nativeSrc":"236439:16:21","nodeType":"YulFunctionCall","src":"236439:16:21"},"nativeSrc":"236439:16:21","nodeType":"YulExpressionStatement","src":"236439:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236480:4:21","nodeType":"YulLiteral","src":"236480:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"236486:2:21","nodeType":"YulIdentifier","src":"236486:2:21"}],"functionName":{"name":"writeString","nativeSrc":"236468:11:21","nodeType":"YulIdentifier","src":"236468:11:21"},"nativeSrc":"236468:21:21","nodeType":"YulFunctionCall","src":"236468:21:21"},"nativeSrc":"236468:21:21","nodeType":"YulExpressionStatement","src":"236468:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34380,"isOffset":false,"isSlot":false,"src":"236040:2:21","valueSize":1},{"declaration":34383,"isOffset":false,"isSlot":false,"src":"236070:2:21","valueSize":1},{"declaration":34386,"isOffset":false,"isSlot":false,"src":"236100:2:21","valueSize":1},{"declaration":34389,"isOffset":false,"isSlot":false,"src":"236130:2:21","valueSize":1},{"declaration":34392,"isOffset":false,"isSlot":false,"src":"236160:2:21","valueSize":1},{"declaration":34395,"isOffset":false,"isSlot":false,"src":"236190:2:21","valueSize":1},{"declaration":34398,"isOffset":false,"isSlot":false,"src":"236220:2:21","valueSize":1},{"declaration":34370,"isOffset":false,"isSlot":false,"src":"236363:2:21","valueSize":1},{"declaration":34372,"isOffset":false,"isSlot":false,"src":"236486:2:21","valueSize":1},{"declaration":34374,"isOffset":false,"isSlot":false,"src":"236423:2:21","valueSize":1},{"declaration":34376,"isOffset":false,"isSlot":false,"src":"236452:2:21","valueSize":1}],"id":34400,"nodeType":"InlineAssembly","src":"235662:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"236524:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"236530:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"236508:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"236508:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34405,"nodeType":"ExpressionStatement","src":"236508:27:21"},{"AST":{"nativeSrc":"236597:214:21","nodeType":"YulBlock","src":"236597:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"236618:4:21","nodeType":"YulLiteral","src":"236618:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"236624:2:21","nodeType":"YulIdentifier","src":"236624:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236611:6:21","nodeType":"YulIdentifier","src":"236611:6:21"},"nativeSrc":"236611:16:21","nodeType":"YulFunctionCall","src":"236611:16:21"},"nativeSrc":"236611:16:21","nodeType":"YulExpressionStatement","src":"236611:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236647:4:21","nodeType":"YulLiteral","src":"236647:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"236653:2:21","nodeType":"YulIdentifier","src":"236653:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236640:6:21","nodeType":"YulIdentifier","src":"236640:6:21"},"nativeSrc":"236640:16:21","nodeType":"YulFunctionCall","src":"236640:16:21"},"nativeSrc":"236640:16:21","nodeType":"YulExpressionStatement","src":"236640:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236676:4:21","nodeType":"YulLiteral","src":"236676:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"236682:2:21","nodeType":"YulIdentifier","src":"236682:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236669:6:21","nodeType":"YulIdentifier","src":"236669:6:21"},"nativeSrc":"236669:16:21","nodeType":"YulFunctionCall","src":"236669:16:21"},"nativeSrc":"236669:16:21","nodeType":"YulExpressionStatement","src":"236669:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236705:4:21","nodeType":"YulLiteral","src":"236705:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"236711:2:21","nodeType":"YulIdentifier","src":"236711:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236698:6:21","nodeType":"YulIdentifier","src":"236698:6:21"},"nativeSrc":"236698:16:21","nodeType":"YulFunctionCall","src":"236698:16:21"},"nativeSrc":"236698:16:21","nodeType":"YulExpressionStatement","src":"236698:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236734:4:21","nodeType":"YulLiteral","src":"236734:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"236740:2:21","nodeType":"YulIdentifier","src":"236740:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236727:6:21","nodeType":"YulIdentifier","src":"236727:6:21"},"nativeSrc":"236727:16:21","nodeType":"YulFunctionCall","src":"236727:16:21"},"nativeSrc":"236727:16:21","nodeType":"YulExpressionStatement","src":"236727:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236763:4:21","nodeType":"YulLiteral","src":"236763:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"236769:2:21","nodeType":"YulIdentifier","src":"236769:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236756:6:21","nodeType":"YulIdentifier","src":"236756:6:21"},"nativeSrc":"236756:16:21","nodeType":"YulFunctionCall","src":"236756:16:21"},"nativeSrc":"236756:16:21","nodeType":"YulExpressionStatement","src":"236756:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236792:4:21","nodeType":"YulLiteral","src":"236792:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"236798:2:21","nodeType":"YulIdentifier","src":"236798:2:21"}],"functionName":{"name":"mstore","nativeSrc":"236785:6:21","nodeType":"YulIdentifier","src":"236785:6:21"},"nativeSrc":"236785:16:21","nodeType":"YulFunctionCall","src":"236785:16:21"},"nativeSrc":"236785:16:21","nodeType":"YulExpressionStatement","src":"236785:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34380,"isOffset":false,"isSlot":false,"src":"236624:2:21","valueSize":1},{"declaration":34383,"isOffset":false,"isSlot":false,"src":"236653:2:21","valueSize":1},{"declaration":34386,"isOffset":false,"isSlot":false,"src":"236682:2:21","valueSize":1},{"declaration":34389,"isOffset":false,"isSlot":false,"src":"236711:2:21","valueSize":1},{"declaration":34392,"isOffset":false,"isSlot":false,"src":"236740:2:21","valueSize":1},{"declaration":34395,"isOffset":false,"isSlot":false,"src":"236769:2:21","valueSize":1},{"declaration":34398,"isOffset":false,"isSlot":false,"src":"236798:2:21","valueSize":1}],"id":34406,"nodeType":"InlineAssembly","src":"236588:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"235406:3:21","parameters":{"id":34377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34370,"mutability":"mutable","name":"p0","nameLocation":"235415:2:21","nodeType":"VariableDeclaration","scope":34408,"src":"235410:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34369,"name":"bool","nodeType":"ElementaryTypeName","src":"235410:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34372,"mutability":"mutable","name":"p1","nameLocation":"235427:2:21","nodeType":"VariableDeclaration","scope":34408,"src":"235419:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235419:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34374,"mutability":"mutable","name":"p2","nameLocation":"235439:2:21","nodeType":"VariableDeclaration","scope":34408,"src":"235431:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34373,"name":"uint256","nodeType":"ElementaryTypeName","src":"235431:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34376,"mutability":"mutable","name":"p3","nameLocation":"235451:2:21","nodeType":"VariableDeclaration","scope":34408,"src":"235443:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34375,"name":"address","nodeType":"ElementaryTypeName","src":"235443:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"235409:45:21"},"returnParameters":{"id":34378,"nodeType":"ParameterList","parameters":[],"src":"235469:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34448,"nodeType":"FunctionDefinition","src":"236823:1414:21","nodes":[],"body":{"id":34447,"nodeType":"Block","src":"236892:1345:21","nodes":[],"statements":[{"assignments":[34420],"declarations":[{"constant":false,"id":34420,"mutability":"mutable","name":"m0","nameLocation":"236910:2:21","nodeType":"VariableDeclaration","scope":34447,"src":"236902:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236902:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34421,"nodeType":"VariableDeclarationStatement","src":"236902:10:21"},{"assignments":[34423],"declarations":[{"constant":false,"id":34423,"mutability":"mutable","name":"m1","nameLocation":"236930:2:21","nodeType":"VariableDeclaration","scope":34447,"src":"236922:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236922:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34424,"nodeType":"VariableDeclarationStatement","src":"236922:10:21"},{"assignments":[34426],"declarations":[{"constant":false,"id":34426,"mutability":"mutable","name":"m2","nameLocation":"236950:2:21","nodeType":"VariableDeclaration","scope":34447,"src":"236942:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236942:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34427,"nodeType":"VariableDeclarationStatement","src":"236942:10:21"},{"assignments":[34429],"declarations":[{"constant":false,"id":34429,"mutability":"mutable","name":"m3","nameLocation":"236970:2:21","nodeType":"VariableDeclaration","scope":34447,"src":"236962:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236962:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34430,"nodeType":"VariableDeclarationStatement","src":"236962:10:21"},{"assignments":[34432],"declarations":[{"constant":false,"id":34432,"mutability":"mutable","name":"m4","nameLocation":"236990:2:21","nodeType":"VariableDeclaration","scope":34447,"src":"236982:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236982:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34433,"nodeType":"VariableDeclarationStatement","src":"236982:10:21"},{"assignments":[34435],"declarations":[{"constant":false,"id":34435,"mutability":"mutable","name":"m5","nameLocation":"237010:2:21","nodeType":"VariableDeclaration","scope":34447,"src":"237002:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"237002:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34436,"nodeType":"VariableDeclarationStatement","src":"237002:10:21"},{"assignments":[34438],"declarations":[{"constant":false,"id":34438,"mutability":"mutable","name":"m6","nameLocation":"237030:2:21","nodeType":"VariableDeclaration","scope":34447,"src":"237022:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"237022:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34439,"nodeType":"VariableDeclarationStatement","src":"237022:10:21"},{"AST":{"nativeSrc":"237094:825:21","nodeType":"YulBlock","src":"237094:825:21","statements":[{"body":{"nativeSrc":"237137:313:21","nodeType":"YulBlock","src":"237137:313:21","statements":[{"nativeSrc":"237155:15:21","nodeType":"YulVariableDeclaration","src":"237155:15:21","value":{"kind":"number","nativeSrc":"237169:1:21","nodeType":"YulLiteral","src":"237169:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"237159:6:21","nodeType":"YulTypedName","src":"237159:6:21","type":""}]},{"body":{"nativeSrc":"237240:40:21","nodeType":"YulBlock","src":"237240:40:21","statements":[{"body":{"nativeSrc":"237269:9:21","nodeType":"YulBlock","src":"237269:9:21","statements":[{"nativeSrc":"237271:5:21","nodeType":"YulBreak","src":"237271:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"237257:6:21","nodeType":"YulIdentifier","src":"237257:6:21"},{"name":"w","nativeSrc":"237265:1:21","nodeType":"YulIdentifier","src":"237265:1:21"}],"functionName":{"name":"byte","nativeSrc":"237252:4:21","nodeType":"YulIdentifier","src":"237252:4:21"},"nativeSrc":"237252:15:21","nodeType":"YulFunctionCall","src":"237252:15:21"}],"functionName":{"name":"iszero","nativeSrc":"237245:6:21","nodeType":"YulIdentifier","src":"237245:6:21"},"nativeSrc":"237245:23:21","nodeType":"YulFunctionCall","src":"237245:23:21"},"nativeSrc":"237242:36:21","nodeType":"YulIf","src":"237242:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"237197:6:21","nodeType":"YulIdentifier","src":"237197:6:21"},{"kind":"number","nativeSrc":"237205:4:21","nodeType":"YulLiteral","src":"237205:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"237194:2:21","nodeType":"YulIdentifier","src":"237194:2:21"},"nativeSrc":"237194:16:21","nodeType":"YulFunctionCall","src":"237194:16:21"},"nativeSrc":"237187:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"237211:28:21","nodeType":"YulBlock","src":"237211:28:21","statements":[{"nativeSrc":"237213:24:21","nodeType":"YulAssignment","src":"237213:24:21","value":{"arguments":[{"name":"length","nativeSrc":"237227:6:21","nodeType":"YulIdentifier","src":"237227:6:21"},{"kind":"number","nativeSrc":"237235:1:21","nodeType":"YulLiteral","src":"237235:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"237223:3:21","nodeType":"YulIdentifier","src":"237223:3:21"},"nativeSrc":"237223:14:21","nodeType":"YulFunctionCall","src":"237223:14:21"},"variableNames":[{"name":"length","nativeSrc":"237213:6:21","nodeType":"YulIdentifier","src":"237213:6:21"}]}]},"pre":{"nativeSrc":"237191:2:21","nodeType":"YulBlock","src":"237191:2:21","statements":[]},"src":"237187:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"237304:3:21","nodeType":"YulIdentifier","src":"237304:3:21"},{"name":"length","nativeSrc":"237309:6:21","nodeType":"YulIdentifier","src":"237309:6:21"}],"functionName":{"name":"mstore","nativeSrc":"237297:6:21","nodeType":"YulIdentifier","src":"237297:6:21"},"nativeSrc":"237297:19:21","nodeType":"YulFunctionCall","src":"237297:19:21"},"nativeSrc":"237297:19:21","nodeType":"YulExpressionStatement","src":"237297:19:21"},{"nativeSrc":"237333:37:21","nodeType":"YulVariableDeclaration","src":"237333:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"237350:3:21","nodeType":"YulLiteral","src":"237350:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"237359:1:21","nodeType":"YulLiteral","src":"237359:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"237362:6:21","nodeType":"YulIdentifier","src":"237362:6:21"}],"functionName":{"name":"shl","nativeSrc":"237355:3:21","nodeType":"YulIdentifier","src":"237355:3:21"},"nativeSrc":"237355:14:21","nodeType":"YulFunctionCall","src":"237355:14:21"}],"functionName":{"name":"sub","nativeSrc":"237346:3:21","nodeType":"YulIdentifier","src":"237346:3:21"},"nativeSrc":"237346:24:21","nodeType":"YulFunctionCall","src":"237346:24:21"},"variables":[{"name":"shift","nativeSrc":"237337:5:21","nodeType":"YulTypedName","src":"237337:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"237398:3:21","nodeType":"YulIdentifier","src":"237398:3:21"},{"kind":"number","nativeSrc":"237403:4:21","nodeType":"YulLiteral","src":"237403:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"237394:3:21","nodeType":"YulIdentifier","src":"237394:3:21"},"nativeSrc":"237394:14:21","nodeType":"YulFunctionCall","src":"237394:14:21"},{"arguments":[{"name":"shift","nativeSrc":"237414:5:21","nodeType":"YulIdentifier","src":"237414:5:21"},{"arguments":[{"name":"shift","nativeSrc":"237425:5:21","nodeType":"YulIdentifier","src":"237425:5:21"},{"name":"w","nativeSrc":"237432:1:21","nodeType":"YulIdentifier","src":"237432:1:21"}],"functionName":{"name":"shr","nativeSrc":"237421:3:21","nodeType":"YulIdentifier","src":"237421:3:21"},"nativeSrc":"237421:13:21","nodeType":"YulFunctionCall","src":"237421:13:21"}],"functionName":{"name":"shl","nativeSrc":"237410:3:21","nodeType":"YulIdentifier","src":"237410:3:21"},"nativeSrc":"237410:25:21","nodeType":"YulFunctionCall","src":"237410:25:21"}],"functionName":{"name":"mstore","nativeSrc":"237387:6:21","nodeType":"YulIdentifier","src":"237387:6:21"},"nativeSrc":"237387:49:21","nodeType":"YulFunctionCall","src":"237387:49:21"},"nativeSrc":"237387:49:21","nodeType":"YulExpressionStatement","src":"237387:49:21"}]},"name":"writeString","nativeSrc":"237108:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"237129:3:21","nodeType":"YulTypedName","src":"237129:3:21","type":""},{"name":"w","nativeSrc":"237134:1:21","nodeType":"YulTypedName","src":"237134:1:21","type":""}],"src":"237108:342:21"},{"nativeSrc":"237463:17:21","nodeType":"YulAssignment","src":"237463:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"237475:4:21","nodeType":"YulLiteral","src":"237475:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"237469:5:21","nodeType":"YulIdentifier","src":"237469:5:21"},"nativeSrc":"237469:11:21","nodeType":"YulFunctionCall","src":"237469:11:21"},"variableNames":[{"name":"m0","nativeSrc":"237463:2:21","nodeType":"YulIdentifier","src":"237463:2:21"}]},{"nativeSrc":"237493:17:21","nodeType":"YulAssignment","src":"237493:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"237505:4:21","nodeType":"YulLiteral","src":"237505:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"237499:5:21","nodeType":"YulIdentifier","src":"237499:5:21"},"nativeSrc":"237499:11:21","nodeType":"YulFunctionCall","src":"237499:11:21"},"variableNames":[{"name":"m1","nativeSrc":"237493:2:21","nodeType":"YulIdentifier","src":"237493:2:21"}]},{"nativeSrc":"237523:17:21","nodeType":"YulAssignment","src":"237523:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"237535:4:21","nodeType":"YulLiteral","src":"237535:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"237529:5:21","nodeType":"YulIdentifier","src":"237529:5:21"},"nativeSrc":"237529:11:21","nodeType":"YulFunctionCall","src":"237529:11:21"},"variableNames":[{"name":"m2","nativeSrc":"237523:2:21","nodeType":"YulIdentifier","src":"237523:2:21"}]},{"nativeSrc":"237553:17:21","nodeType":"YulAssignment","src":"237553:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"237565:4:21","nodeType":"YulLiteral","src":"237565:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"237559:5:21","nodeType":"YulIdentifier","src":"237559:5:21"},"nativeSrc":"237559:11:21","nodeType":"YulFunctionCall","src":"237559:11:21"},"variableNames":[{"name":"m3","nativeSrc":"237553:2:21","nodeType":"YulIdentifier","src":"237553:2:21"}]},{"nativeSrc":"237583:17:21","nodeType":"YulAssignment","src":"237583:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"237595:4:21","nodeType":"YulLiteral","src":"237595:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"237589:5:21","nodeType":"YulIdentifier","src":"237589:5:21"},"nativeSrc":"237589:11:21","nodeType":"YulFunctionCall","src":"237589:11:21"},"variableNames":[{"name":"m4","nativeSrc":"237583:2:21","nodeType":"YulIdentifier","src":"237583:2:21"}]},{"nativeSrc":"237613:17:21","nodeType":"YulAssignment","src":"237613:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"237625:4:21","nodeType":"YulLiteral","src":"237625:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"237619:5:21","nodeType":"YulIdentifier","src":"237619:5:21"},"nativeSrc":"237619:11:21","nodeType":"YulFunctionCall","src":"237619:11:21"},"variableNames":[{"name":"m5","nativeSrc":"237613:2:21","nodeType":"YulIdentifier","src":"237613:2:21"}]},{"nativeSrc":"237643:17:21","nodeType":"YulAssignment","src":"237643:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"237655:4:21","nodeType":"YulLiteral","src":"237655:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"237649:5:21","nodeType":"YulIdentifier","src":"237649:5:21"},"nativeSrc":"237649:11:21","nodeType":"YulFunctionCall","src":"237649:11:21"},"variableNames":[{"name":"m6","nativeSrc":"237643:2:21","nodeType":"YulIdentifier","src":"237643:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237740:4:21","nodeType":"YulLiteral","src":"237740:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"237746:10:21","nodeType":"YulLiteral","src":"237746:10:21","type":"","value":"0x6b0e5d53"}],"functionName":{"name":"mstore","nativeSrc":"237733:6:21","nodeType":"YulIdentifier","src":"237733:6:21"},"nativeSrc":"237733:24:21","nodeType":"YulFunctionCall","src":"237733:24:21"},"nativeSrc":"237733:24:21","nodeType":"YulExpressionStatement","src":"237733:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237777:4:21","nodeType":"YulLiteral","src":"237777:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"237783:2:21","nodeType":"YulIdentifier","src":"237783:2:21"}],"functionName":{"name":"mstore","nativeSrc":"237770:6:21","nodeType":"YulIdentifier","src":"237770:6:21"},"nativeSrc":"237770:16:21","nodeType":"YulFunctionCall","src":"237770:16:21"},"nativeSrc":"237770:16:21","nodeType":"YulExpressionStatement","src":"237770:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237806:4:21","nodeType":"YulLiteral","src":"237806:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"237812:4:21","nodeType":"YulLiteral","src":"237812:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"237799:6:21","nodeType":"YulIdentifier","src":"237799:6:21"},"nativeSrc":"237799:18:21","nodeType":"YulFunctionCall","src":"237799:18:21"},"nativeSrc":"237799:18:21","nodeType":"YulExpressionStatement","src":"237799:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237837:4:21","nodeType":"YulLiteral","src":"237837:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"237843:2:21","nodeType":"YulIdentifier","src":"237843:2:21"}],"functionName":{"name":"mstore","nativeSrc":"237830:6:21","nodeType":"YulIdentifier","src":"237830:6:21"},"nativeSrc":"237830:16:21","nodeType":"YulFunctionCall","src":"237830:16:21"},"nativeSrc":"237830:16:21","nodeType":"YulExpressionStatement","src":"237830:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237866:4:21","nodeType":"YulLiteral","src":"237866:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"237872:2:21","nodeType":"YulIdentifier","src":"237872:2:21"}],"functionName":{"name":"mstore","nativeSrc":"237859:6:21","nodeType":"YulIdentifier","src":"237859:6:21"},"nativeSrc":"237859:16:21","nodeType":"YulFunctionCall","src":"237859:16:21"},"nativeSrc":"237859:16:21","nodeType":"YulExpressionStatement","src":"237859:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237900:4:21","nodeType":"YulLiteral","src":"237900:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"237906:2:21","nodeType":"YulIdentifier","src":"237906:2:21"}],"functionName":{"name":"writeString","nativeSrc":"237888:11:21","nodeType":"YulIdentifier","src":"237888:11:21"},"nativeSrc":"237888:21:21","nodeType":"YulFunctionCall","src":"237888:21:21"},"nativeSrc":"237888:21:21","nodeType":"YulExpressionStatement","src":"237888:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34420,"isOffset":false,"isSlot":false,"src":"237463:2:21","valueSize":1},{"declaration":34423,"isOffset":false,"isSlot":false,"src":"237493:2:21","valueSize":1},{"declaration":34426,"isOffset":false,"isSlot":false,"src":"237523:2:21","valueSize":1},{"declaration":34429,"isOffset":false,"isSlot":false,"src":"237553:2:21","valueSize":1},{"declaration":34432,"isOffset":false,"isSlot":false,"src":"237583:2:21","valueSize":1},{"declaration":34435,"isOffset":false,"isSlot":false,"src":"237613:2:21","valueSize":1},{"declaration":34438,"isOffset":false,"isSlot":false,"src":"237643:2:21","valueSize":1},{"declaration":34410,"isOffset":false,"isSlot":false,"src":"237783:2:21","valueSize":1},{"declaration":34412,"isOffset":false,"isSlot":false,"src":"237906:2:21","valueSize":1},{"declaration":34414,"isOffset":false,"isSlot":false,"src":"237843:2:21","valueSize":1},{"declaration":34416,"isOffset":false,"isSlot":false,"src":"237872:2:21","valueSize":1}],"id":34440,"nodeType":"InlineAssembly","src":"237085:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"237944:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"237950:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34441,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"237928:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"237928:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34445,"nodeType":"ExpressionStatement","src":"237928:27:21"},{"AST":{"nativeSrc":"238017:214:21","nodeType":"YulBlock","src":"238017:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"238038:4:21","nodeType":"YulLiteral","src":"238038:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"238044:2:21","nodeType":"YulIdentifier","src":"238044:2:21"}],"functionName":{"name":"mstore","nativeSrc":"238031:6:21","nodeType":"YulIdentifier","src":"238031:6:21"},"nativeSrc":"238031:16:21","nodeType":"YulFunctionCall","src":"238031:16:21"},"nativeSrc":"238031:16:21","nodeType":"YulExpressionStatement","src":"238031:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238067:4:21","nodeType":"YulLiteral","src":"238067:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"238073:2:21","nodeType":"YulIdentifier","src":"238073:2:21"}],"functionName":{"name":"mstore","nativeSrc":"238060:6:21","nodeType":"YulIdentifier","src":"238060:6:21"},"nativeSrc":"238060:16:21","nodeType":"YulFunctionCall","src":"238060:16:21"},"nativeSrc":"238060:16:21","nodeType":"YulExpressionStatement","src":"238060:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238096:4:21","nodeType":"YulLiteral","src":"238096:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"238102:2:21","nodeType":"YulIdentifier","src":"238102:2:21"}],"functionName":{"name":"mstore","nativeSrc":"238089:6:21","nodeType":"YulIdentifier","src":"238089:6:21"},"nativeSrc":"238089:16:21","nodeType":"YulFunctionCall","src":"238089:16:21"},"nativeSrc":"238089:16:21","nodeType":"YulExpressionStatement","src":"238089:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238125:4:21","nodeType":"YulLiteral","src":"238125:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"238131:2:21","nodeType":"YulIdentifier","src":"238131:2:21"}],"functionName":{"name":"mstore","nativeSrc":"238118:6:21","nodeType":"YulIdentifier","src":"238118:6:21"},"nativeSrc":"238118:16:21","nodeType":"YulFunctionCall","src":"238118:16:21"},"nativeSrc":"238118:16:21","nodeType":"YulExpressionStatement","src":"238118:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238154:4:21","nodeType":"YulLiteral","src":"238154:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"238160:2:21","nodeType":"YulIdentifier","src":"238160:2:21"}],"functionName":{"name":"mstore","nativeSrc":"238147:6:21","nodeType":"YulIdentifier","src":"238147:6:21"},"nativeSrc":"238147:16:21","nodeType":"YulFunctionCall","src":"238147:16:21"},"nativeSrc":"238147:16:21","nodeType":"YulExpressionStatement","src":"238147:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238183:4:21","nodeType":"YulLiteral","src":"238183:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"238189:2:21","nodeType":"YulIdentifier","src":"238189:2:21"}],"functionName":{"name":"mstore","nativeSrc":"238176:6:21","nodeType":"YulIdentifier","src":"238176:6:21"},"nativeSrc":"238176:16:21","nodeType":"YulFunctionCall","src":"238176:16:21"},"nativeSrc":"238176:16:21","nodeType":"YulExpressionStatement","src":"238176:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238212:4:21","nodeType":"YulLiteral","src":"238212:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"238218:2:21","nodeType":"YulIdentifier","src":"238218:2:21"}],"functionName":{"name":"mstore","nativeSrc":"238205:6:21","nodeType":"YulIdentifier","src":"238205:6:21"},"nativeSrc":"238205:16:21","nodeType":"YulFunctionCall","src":"238205:16:21"},"nativeSrc":"238205:16:21","nodeType":"YulExpressionStatement","src":"238205:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34420,"isOffset":false,"isSlot":false,"src":"238044:2:21","valueSize":1},{"declaration":34423,"isOffset":false,"isSlot":false,"src":"238073:2:21","valueSize":1},{"declaration":34426,"isOffset":false,"isSlot":false,"src":"238102:2:21","valueSize":1},{"declaration":34429,"isOffset":false,"isSlot":false,"src":"238131:2:21","valueSize":1},{"declaration":34432,"isOffset":false,"isSlot":false,"src":"238160:2:21","valueSize":1},{"declaration":34435,"isOffset":false,"isSlot":false,"src":"238189:2:21","valueSize":1},{"declaration":34438,"isOffset":false,"isSlot":false,"src":"238218:2:21","valueSize":1}],"id":34446,"nodeType":"InlineAssembly","src":"238008:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"236832:3:21","parameters":{"id":34417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34410,"mutability":"mutable","name":"p0","nameLocation":"236841:2:21","nodeType":"VariableDeclaration","scope":34448,"src":"236836:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34409,"name":"bool","nodeType":"ElementaryTypeName","src":"236836:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34412,"mutability":"mutable","name":"p1","nameLocation":"236853:2:21","nodeType":"VariableDeclaration","scope":34448,"src":"236845:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236845:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34414,"mutability":"mutable","name":"p2","nameLocation":"236865:2:21","nodeType":"VariableDeclaration","scope":34448,"src":"236857:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34413,"name":"uint256","nodeType":"ElementaryTypeName","src":"236857:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34416,"mutability":"mutable","name":"p3","nameLocation":"236874:2:21","nodeType":"VariableDeclaration","scope":34448,"src":"236869:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34415,"name":"bool","nodeType":"ElementaryTypeName","src":"236869:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"236835:42:21"},"returnParameters":{"id":34418,"nodeType":"ParameterList","parameters":[],"src":"236892:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34488,"nodeType":"FunctionDefinition","src":"238243:1420:21","nodes":[],"body":{"id":34487,"nodeType":"Block","src":"238315:1348:21","nodes":[],"statements":[{"assignments":[34460],"declarations":[{"constant":false,"id":34460,"mutability":"mutable","name":"m0","nameLocation":"238333:2:21","nodeType":"VariableDeclaration","scope":34487,"src":"238325:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238325:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34461,"nodeType":"VariableDeclarationStatement","src":"238325:10:21"},{"assignments":[34463],"declarations":[{"constant":false,"id":34463,"mutability":"mutable","name":"m1","nameLocation":"238353:2:21","nodeType":"VariableDeclaration","scope":34487,"src":"238345:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238345:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34464,"nodeType":"VariableDeclarationStatement","src":"238345:10:21"},{"assignments":[34466],"declarations":[{"constant":false,"id":34466,"mutability":"mutable","name":"m2","nameLocation":"238373:2:21","nodeType":"VariableDeclaration","scope":34487,"src":"238365:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238365:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34467,"nodeType":"VariableDeclarationStatement","src":"238365:10:21"},{"assignments":[34469],"declarations":[{"constant":false,"id":34469,"mutability":"mutable","name":"m3","nameLocation":"238393:2:21","nodeType":"VariableDeclaration","scope":34487,"src":"238385:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238385:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34470,"nodeType":"VariableDeclarationStatement","src":"238385:10:21"},{"assignments":[34472],"declarations":[{"constant":false,"id":34472,"mutability":"mutable","name":"m4","nameLocation":"238413:2:21","nodeType":"VariableDeclaration","scope":34487,"src":"238405:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238405:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34473,"nodeType":"VariableDeclarationStatement","src":"238405:10:21"},{"assignments":[34475],"declarations":[{"constant":false,"id":34475,"mutability":"mutable","name":"m5","nameLocation":"238433:2:21","nodeType":"VariableDeclaration","scope":34487,"src":"238425:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238425:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34476,"nodeType":"VariableDeclarationStatement","src":"238425:10:21"},{"assignments":[34478],"declarations":[{"constant":false,"id":34478,"mutability":"mutable","name":"m6","nameLocation":"238453:2:21","nodeType":"VariableDeclaration","scope":34487,"src":"238445:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238445:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34479,"nodeType":"VariableDeclarationStatement","src":"238445:10:21"},{"AST":{"nativeSrc":"238517:828:21","nodeType":"YulBlock","src":"238517:828:21","statements":[{"body":{"nativeSrc":"238560:313:21","nodeType":"YulBlock","src":"238560:313:21","statements":[{"nativeSrc":"238578:15:21","nodeType":"YulVariableDeclaration","src":"238578:15:21","value":{"kind":"number","nativeSrc":"238592:1:21","nodeType":"YulLiteral","src":"238592:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"238582:6:21","nodeType":"YulTypedName","src":"238582:6:21","type":""}]},{"body":{"nativeSrc":"238663:40:21","nodeType":"YulBlock","src":"238663:40:21","statements":[{"body":{"nativeSrc":"238692:9:21","nodeType":"YulBlock","src":"238692:9:21","statements":[{"nativeSrc":"238694:5:21","nodeType":"YulBreak","src":"238694:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"238680:6:21","nodeType":"YulIdentifier","src":"238680:6:21"},{"name":"w","nativeSrc":"238688:1:21","nodeType":"YulIdentifier","src":"238688:1:21"}],"functionName":{"name":"byte","nativeSrc":"238675:4:21","nodeType":"YulIdentifier","src":"238675:4:21"},"nativeSrc":"238675:15:21","nodeType":"YulFunctionCall","src":"238675:15:21"}],"functionName":{"name":"iszero","nativeSrc":"238668:6:21","nodeType":"YulIdentifier","src":"238668:6:21"},"nativeSrc":"238668:23:21","nodeType":"YulFunctionCall","src":"238668:23:21"},"nativeSrc":"238665:36:21","nodeType":"YulIf","src":"238665:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"238620:6:21","nodeType":"YulIdentifier","src":"238620:6:21"},{"kind":"number","nativeSrc":"238628:4:21","nodeType":"YulLiteral","src":"238628:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"238617:2:21","nodeType":"YulIdentifier","src":"238617:2:21"},"nativeSrc":"238617:16:21","nodeType":"YulFunctionCall","src":"238617:16:21"},"nativeSrc":"238610:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"238634:28:21","nodeType":"YulBlock","src":"238634:28:21","statements":[{"nativeSrc":"238636:24:21","nodeType":"YulAssignment","src":"238636:24:21","value":{"arguments":[{"name":"length","nativeSrc":"238650:6:21","nodeType":"YulIdentifier","src":"238650:6:21"},{"kind":"number","nativeSrc":"238658:1:21","nodeType":"YulLiteral","src":"238658:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"238646:3:21","nodeType":"YulIdentifier","src":"238646:3:21"},"nativeSrc":"238646:14:21","nodeType":"YulFunctionCall","src":"238646:14:21"},"variableNames":[{"name":"length","nativeSrc":"238636:6:21","nodeType":"YulIdentifier","src":"238636:6:21"}]}]},"pre":{"nativeSrc":"238614:2:21","nodeType":"YulBlock","src":"238614:2:21","statements":[]},"src":"238610:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"238727:3:21","nodeType":"YulIdentifier","src":"238727:3:21"},{"name":"length","nativeSrc":"238732:6:21","nodeType":"YulIdentifier","src":"238732:6:21"}],"functionName":{"name":"mstore","nativeSrc":"238720:6:21","nodeType":"YulIdentifier","src":"238720:6:21"},"nativeSrc":"238720:19:21","nodeType":"YulFunctionCall","src":"238720:19:21"},"nativeSrc":"238720:19:21","nodeType":"YulExpressionStatement","src":"238720:19:21"},{"nativeSrc":"238756:37:21","nodeType":"YulVariableDeclaration","src":"238756:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"238773:3:21","nodeType":"YulLiteral","src":"238773:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"238782:1:21","nodeType":"YulLiteral","src":"238782:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"238785:6:21","nodeType":"YulIdentifier","src":"238785:6:21"}],"functionName":{"name":"shl","nativeSrc":"238778:3:21","nodeType":"YulIdentifier","src":"238778:3:21"},"nativeSrc":"238778:14:21","nodeType":"YulFunctionCall","src":"238778:14:21"}],"functionName":{"name":"sub","nativeSrc":"238769:3:21","nodeType":"YulIdentifier","src":"238769:3:21"},"nativeSrc":"238769:24:21","nodeType":"YulFunctionCall","src":"238769:24:21"},"variables":[{"name":"shift","nativeSrc":"238760:5:21","nodeType":"YulTypedName","src":"238760:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"238821:3:21","nodeType":"YulIdentifier","src":"238821:3:21"},{"kind":"number","nativeSrc":"238826:4:21","nodeType":"YulLiteral","src":"238826:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"238817:3:21","nodeType":"YulIdentifier","src":"238817:3:21"},"nativeSrc":"238817:14:21","nodeType":"YulFunctionCall","src":"238817:14:21"},{"arguments":[{"name":"shift","nativeSrc":"238837:5:21","nodeType":"YulIdentifier","src":"238837:5:21"},{"arguments":[{"name":"shift","nativeSrc":"238848:5:21","nodeType":"YulIdentifier","src":"238848:5:21"},{"name":"w","nativeSrc":"238855:1:21","nodeType":"YulIdentifier","src":"238855:1:21"}],"functionName":{"name":"shr","nativeSrc":"238844:3:21","nodeType":"YulIdentifier","src":"238844:3:21"},"nativeSrc":"238844:13:21","nodeType":"YulFunctionCall","src":"238844:13:21"}],"functionName":{"name":"shl","nativeSrc":"238833:3:21","nodeType":"YulIdentifier","src":"238833:3:21"},"nativeSrc":"238833:25:21","nodeType":"YulFunctionCall","src":"238833:25:21"}],"functionName":{"name":"mstore","nativeSrc":"238810:6:21","nodeType":"YulIdentifier","src":"238810:6:21"},"nativeSrc":"238810:49:21","nodeType":"YulFunctionCall","src":"238810:49:21"},"nativeSrc":"238810:49:21","nodeType":"YulExpressionStatement","src":"238810:49:21"}]},"name":"writeString","nativeSrc":"238531:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"238552:3:21","nodeType":"YulTypedName","src":"238552:3:21","type":""},{"name":"w","nativeSrc":"238557:1:21","nodeType":"YulTypedName","src":"238557:1:21","type":""}],"src":"238531:342:21"},{"nativeSrc":"238886:17:21","nodeType":"YulAssignment","src":"238886:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"238898:4:21","nodeType":"YulLiteral","src":"238898:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"238892:5:21","nodeType":"YulIdentifier","src":"238892:5:21"},"nativeSrc":"238892:11:21","nodeType":"YulFunctionCall","src":"238892:11:21"},"variableNames":[{"name":"m0","nativeSrc":"238886:2:21","nodeType":"YulIdentifier","src":"238886:2:21"}]},{"nativeSrc":"238916:17:21","nodeType":"YulAssignment","src":"238916:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"238928:4:21","nodeType":"YulLiteral","src":"238928:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"238922:5:21","nodeType":"YulIdentifier","src":"238922:5:21"},"nativeSrc":"238922:11:21","nodeType":"YulFunctionCall","src":"238922:11:21"},"variableNames":[{"name":"m1","nativeSrc":"238916:2:21","nodeType":"YulIdentifier","src":"238916:2:21"}]},{"nativeSrc":"238946:17:21","nodeType":"YulAssignment","src":"238946:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"238958:4:21","nodeType":"YulLiteral","src":"238958:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"238952:5:21","nodeType":"YulIdentifier","src":"238952:5:21"},"nativeSrc":"238952:11:21","nodeType":"YulFunctionCall","src":"238952:11:21"},"variableNames":[{"name":"m2","nativeSrc":"238946:2:21","nodeType":"YulIdentifier","src":"238946:2:21"}]},{"nativeSrc":"238976:17:21","nodeType":"YulAssignment","src":"238976:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"238988:4:21","nodeType":"YulLiteral","src":"238988:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"238982:5:21","nodeType":"YulIdentifier","src":"238982:5:21"},"nativeSrc":"238982:11:21","nodeType":"YulFunctionCall","src":"238982:11:21"},"variableNames":[{"name":"m3","nativeSrc":"238976:2:21","nodeType":"YulIdentifier","src":"238976:2:21"}]},{"nativeSrc":"239006:17:21","nodeType":"YulAssignment","src":"239006:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"239018:4:21","nodeType":"YulLiteral","src":"239018:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"239012:5:21","nodeType":"YulIdentifier","src":"239012:5:21"},"nativeSrc":"239012:11:21","nodeType":"YulFunctionCall","src":"239012:11:21"},"variableNames":[{"name":"m4","nativeSrc":"239006:2:21","nodeType":"YulIdentifier","src":"239006:2:21"}]},{"nativeSrc":"239036:17:21","nodeType":"YulAssignment","src":"239036:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"239048:4:21","nodeType":"YulLiteral","src":"239048:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"239042:5:21","nodeType":"YulIdentifier","src":"239042:5:21"},"nativeSrc":"239042:11:21","nodeType":"YulFunctionCall","src":"239042:11:21"},"variableNames":[{"name":"m5","nativeSrc":"239036:2:21","nodeType":"YulIdentifier","src":"239036:2:21"}]},{"nativeSrc":"239066:17:21","nodeType":"YulAssignment","src":"239066:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"239078:4:21","nodeType":"YulLiteral","src":"239078:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"239072:5:21","nodeType":"YulIdentifier","src":"239072:5:21"},"nativeSrc":"239072:11:21","nodeType":"YulFunctionCall","src":"239072:11:21"},"variableNames":[{"name":"m6","nativeSrc":"239066:2:21","nodeType":"YulIdentifier","src":"239066:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239166:4:21","nodeType":"YulLiteral","src":"239166:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"239172:10:21","nodeType":"YulLiteral","src":"239172:10:21","type":"","value":"0x28863fcb"}],"functionName":{"name":"mstore","nativeSrc":"239159:6:21","nodeType":"YulIdentifier","src":"239159:6:21"},"nativeSrc":"239159:24:21","nodeType":"YulFunctionCall","src":"239159:24:21"},"nativeSrc":"239159:24:21","nodeType":"YulExpressionStatement","src":"239159:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239203:4:21","nodeType":"YulLiteral","src":"239203:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"239209:2:21","nodeType":"YulIdentifier","src":"239209:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239196:6:21","nodeType":"YulIdentifier","src":"239196:6:21"},"nativeSrc":"239196:16:21","nodeType":"YulFunctionCall","src":"239196:16:21"},"nativeSrc":"239196:16:21","nodeType":"YulExpressionStatement","src":"239196:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239232:4:21","nodeType":"YulLiteral","src":"239232:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"239238:4:21","nodeType":"YulLiteral","src":"239238:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"239225:6:21","nodeType":"YulIdentifier","src":"239225:6:21"},"nativeSrc":"239225:18:21","nodeType":"YulFunctionCall","src":"239225:18:21"},"nativeSrc":"239225:18:21","nodeType":"YulExpressionStatement","src":"239225:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239263:4:21","nodeType":"YulLiteral","src":"239263:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"239269:2:21","nodeType":"YulIdentifier","src":"239269:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239256:6:21","nodeType":"YulIdentifier","src":"239256:6:21"},"nativeSrc":"239256:16:21","nodeType":"YulFunctionCall","src":"239256:16:21"},"nativeSrc":"239256:16:21","nodeType":"YulExpressionStatement","src":"239256:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239292:4:21","nodeType":"YulLiteral","src":"239292:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"239298:2:21","nodeType":"YulIdentifier","src":"239298:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239285:6:21","nodeType":"YulIdentifier","src":"239285:6:21"},"nativeSrc":"239285:16:21","nodeType":"YulFunctionCall","src":"239285:16:21"},"nativeSrc":"239285:16:21","nodeType":"YulExpressionStatement","src":"239285:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239326:4:21","nodeType":"YulLiteral","src":"239326:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"239332:2:21","nodeType":"YulIdentifier","src":"239332:2:21"}],"functionName":{"name":"writeString","nativeSrc":"239314:11:21","nodeType":"YulIdentifier","src":"239314:11:21"},"nativeSrc":"239314:21:21","nodeType":"YulFunctionCall","src":"239314:21:21"},"nativeSrc":"239314:21:21","nodeType":"YulExpressionStatement","src":"239314:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34460,"isOffset":false,"isSlot":false,"src":"238886:2:21","valueSize":1},{"declaration":34463,"isOffset":false,"isSlot":false,"src":"238916:2:21","valueSize":1},{"declaration":34466,"isOffset":false,"isSlot":false,"src":"238946:2:21","valueSize":1},{"declaration":34469,"isOffset":false,"isSlot":false,"src":"238976:2:21","valueSize":1},{"declaration":34472,"isOffset":false,"isSlot":false,"src":"239006:2:21","valueSize":1},{"declaration":34475,"isOffset":false,"isSlot":false,"src":"239036:2:21","valueSize":1},{"declaration":34478,"isOffset":false,"isSlot":false,"src":"239066:2:21","valueSize":1},{"declaration":34450,"isOffset":false,"isSlot":false,"src":"239209:2:21","valueSize":1},{"declaration":34452,"isOffset":false,"isSlot":false,"src":"239332:2:21","valueSize":1},{"declaration":34454,"isOffset":false,"isSlot":false,"src":"239269:2:21","valueSize":1},{"declaration":34456,"isOffset":false,"isSlot":false,"src":"239298:2:21","valueSize":1}],"id":34480,"nodeType":"InlineAssembly","src":"238508:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"239370:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"239376:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34481,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"239354:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"239354:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34485,"nodeType":"ExpressionStatement","src":"239354:27:21"},{"AST":{"nativeSrc":"239443:214:21","nodeType":"YulBlock","src":"239443:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"239464:4:21","nodeType":"YulLiteral","src":"239464:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"239470:2:21","nodeType":"YulIdentifier","src":"239470:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239457:6:21","nodeType":"YulIdentifier","src":"239457:6:21"},"nativeSrc":"239457:16:21","nodeType":"YulFunctionCall","src":"239457:16:21"},"nativeSrc":"239457:16:21","nodeType":"YulExpressionStatement","src":"239457:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239493:4:21","nodeType":"YulLiteral","src":"239493:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"239499:2:21","nodeType":"YulIdentifier","src":"239499:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239486:6:21","nodeType":"YulIdentifier","src":"239486:6:21"},"nativeSrc":"239486:16:21","nodeType":"YulFunctionCall","src":"239486:16:21"},"nativeSrc":"239486:16:21","nodeType":"YulExpressionStatement","src":"239486:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239522:4:21","nodeType":"YulLiteral","src":"239522:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"239528:2:21","nodeType":"YulIdentifier","src":"239528:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239515:6:21","nodeType":"YulIdentifier","src":"239515:6:21"},"nativeSrc":"239515:16:21","nodeType":"YulFunctionCall","src":"239515:16:21"},"nativeSrc":"239515:16:21","nodeType":"YulExpressionStatement","src":"239515:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239551:4:21","nodeType":"YulLiteral","src":"239551:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"239557:2:21","nodeType":"YulIdentifier","src":"239557:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239544:6:21","nodeType":"YulIdentifier","src":"239544:6:21"},"nativeSrc":"239544:16:21","nodeType":"YulFunctionCall","src":"239544:16:21"},"nativeSrc":"239544:16:21","nodeType":"YulExpressionStatement","src":"239544:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239580:4:21","nodeType":"YulLiteral","src":"239580:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"239586:2:21","nodeType":"YulIdentifier","src":"239586:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239573:6:21","nodeType":"YulIdentifier","src":"239573:6:21"},"nativeSrc":"239573:16:21","nodeType":"YulFunctionCall","src":"239573:16:21"},"nativeSrc":"239573:16:21","nodeType":"YulExpressionStatement","src":"239573:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239609:4:21","nodeType":"YulLiteral","src":"239609:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"239615:2:21","nodeType":"YulIdentifier","src":"239615:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239602:6:21","nodeType":"YulIdentifier","src":"239602:6:21"},"nativeSrc":"239602:16:21","nodeType":"YulFunctionCall","src":"239602:16:21"},"nativeSrc":"239602:16:21","nodeType":"YulExpressionStatement","src":"239602:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239638:4:21","nodeType":"YulLiteral","src":"239638:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"239644:2:21","nodeType":"YulIdentifier","src":"239644:2:21"}],"functionName":{"name":"mstore","nativeSrc":"239631:6:21","nodeType":"YulIdentifier","src":"239631:6:21"},"nativeSrc":"239631:16:21","nodeType":"YulFunctionCall","src":"239631:16:21"},"nativeSrc":"239631:16:21","nodeType":"YulExpressionStatement","src":"239631:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34460,"isOffset":false,"isSlot":false,"src":"239470:2:21","valueSize":1},{"declaration":34463,"isOffset":false,"isSlot":false,"src":"239499:2:21","valueSize":1},{"declaration":34466,"isOffset":false,"isSlot":false,"src":"239528:2:21","valueSize":1},{"declaration":34469,"isOffset":false,"isSlot":false,"src":"239557:2:21","valueSize":1},{"declaration":34472,"isOffset":false,"isSlot":false,"src":"239586:2:21","valueSize":1},{"declaration":34475,"isOffset":false,"isSlot":false,"src":"239615:2:21","valueSize":1},{"declaration":34478,"isOffset":false,"isSlot":false,"src":"239644:2:21","valueSize":1}],"id":34486,"nodeType":"InlineAssembly","src":"239434:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"238252:3:21","parameters":{"id":34457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34450,"mutability":"mutable","name":"p0","nameLocation":"238261:2:21","nodeType":"VariableDeclaration","scope":34488,"src":"238256:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34449,"name":"bool","nodeType":"ElementaryTypeName","src":"238256:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34452,"mutability":"mutable","name":"p1","nameLocation":"238273:2:21","nodeType":"VariableDeclaration","scope":34488,"src":"238265:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238265:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34454,"mutability":"mutable","name":"p2","nameLocation":"238285:2:21","nodeType":"VariableDeclaration","scope":34488,"src":"238277:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34453,"name":"uint256","nodeType":"ElementaryTypeName","src":"238277:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34456,"mutability":"mutable","name":"p3","nameLocation":"238297:2:21","nodeType":"VariableDeclaration","scope":34488,"src":"238289:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34455,"name":"uint256","nodeType":"ElementaryTypeName","src":"238289:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"238255:45:21"},"returnParameters":{"id":34458,"nodeType":"ParameterList","parameters":[],"src":"238315:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34534,"nodeType":"FunctionDefinition","src":"239669:1616:21","nodes":[],"body":{"id":34533,"nodeType":"Block","src":"239741:1544:21","nodes":[],"statements":[{"assignments":[34500],"declarations":[{"constant":false,"id":34500,"mutability":"mutable","name":"m0","nameLocation":"239759:2:21","nodeType":"VariableDeclaration","scope":34533,"src":"239751:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239751:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34501,"nodeType":"VariableDeclarationStatement","src":"239751:10:21"},{"assignments":[34503],"declarations":[{"constant":false,"id":34503,"mutability":"mutable","name":"m1","nameLocation":"239779:2:21","nodeType":"VariableDeclaration","scope":34533,"src":"239771:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239771:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34504,"nodeType":"VariableDeclarationStatement","src":"239771:10:21"},{"assignments":[34506],"declarations":[{"constant":false,"id":34506,"mutability":"mutable","name":"m2","nameLocation":"239799:2:21","nodeType":"VariableDeclaration","scope":34533,"src":"239791:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34505,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239791:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34507,"nodeType":"VariableDeclarationStatement","src":"239791:10:21"},{"assignments":[34509],"declarations":[{"constant":false,"id":34509,"mutability":"mutable","name":"m3","nameLocation":"239819:2:21","nodeType":"VariableDeclaration","scope":34533,"src":"239811:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239811:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34510,"nodeType":"VariableDeclarationStatement","src":"239811:10:21"},{"assignments":[34512],"declarations":[{"constant":false,"id":34512,"mutability":"mutable","name":"m4","nameLocation":"239839:2:21","nodeType":"VariableDeclaration","scope":34533,"src":"239831:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239831:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34513,"nodeType":"VariableDeclarationStatement","src":"239831:10:21"},{"assignments":[34515],"declarations":[{"constant":false,"id":34515,"mutability":"mutable","name":"m5","nameLocation":"239859:2:21","nodeType":"VariableDeclaration","scope":34533,"src":"239851:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239851:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34516,"nodeType":"VariableDeclarationStatement","src":"239851:10:21"},{"assignments":[34518],"declarations":[{"constant":false,"id":34518,"mutability":"mutable","name":"m6","nameLocation":"239879:2:21","nodeType":"VariableDeclaration","scope":34533,"src":"239871:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239871:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34519,"nodeType":"VariableDeclarationStatement","src":"239871:10:21"},{"assignments":[34521],"declarations":[{"constant":false,"id":34521,"mutability":"mutable","name":"m7","nameLocation":"239899:2:21","nodeType":"VariableDeclaration","scope":34533,"src":"239891:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34520,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239891:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34522,"nodeType":"VariableDeclarationStatement","src":"239891:10:21"},{"assignments":[34524],"declarations":[{"constant":false,"id":34524,"mutability":"mutable","name":"m8","nameLocation":"239919:2:21","nodeType":"VariableDeclaration","scope":34533,"src":"239911:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239911:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34525,"nodeType":"VariableDeclarationStatement","src":"239911:10:21"},{"AST":{"nativeSrc":"239983:924:21","nodeType":"YulBlock","src":"239983:924:21","statements":[{"body":{"nativeSrc":"240026:313:21","nodeType":"YulBlock","src":"240026:313:21","statements":[{"nativeSrc":"240044:15:21","nodeType":"YulVariableDeclaration","src":"240044:15:21","value":{"kind":"number","nativeSrc":"240058:1:21","nodeType":"YulLiteral","src":"240058:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"240048:6:21","nodeType":"YulTypedName","src":"240048:6:21","type":""}]},{"body":{"nativeSrc":"240129:40:21","nodeType":"YulBlock","src":"240129:40:21","statements":[{"body":{"nativeSrc":"240158:9:21","nodeType":"YulBlock","src":"240158:9:21","statements":[{"nativeSrc":"240160:5:21","nodeType":"YulBreak","src":"240160:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"240146:6:21","nodeType":"YulIdentifier","src":"240146:6:21"},{"name":"w","nativeSrc":"240154:1:21","nodeType":"YulIdentifier","src":"240154:1:21"}],"functionName":{"name":"byte","nativeSrc":"240141:4:21","nodeType":"YulIdentifier","src":"240141:4:21"},"nativeSrc":"240141:15:21","nodeType":"YulFunctionCall","src":"240141:15:21"}],"functionName":{"name":"iszero","nativeSrc":"240134:6:21","nodeType":"YulIdentifier","src":"240134:6:21"},"nativeSrc":"240134:23:21","nodeType":"YulFunctionCall","src":"240134:23:21"},"nativeSrc":"240131:36:21","nodeType":"YulIf","src":"240131:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"240086:6:21","nodeType":"YulIdentifier","src":"240086:6:21"},{"kind":"number","nativeSrc":"240094:4:21","nodeType":"YulLiteral","src":"240094:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"240083:2:21","nodeType":"YulIdentifier","src":"240083:2:21"},"nativeSrc":"240083:16:21","nodeType":"YulFunctionCall","src":"240083:16:21"},"nativeSrc":"240076:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"240100:28:21","nodeType":"YulBlock","src":"240100:28:21","statements":[{"nativeSrc":"240102:24:21","nodeType":"YulAssignment","src":"240102:24:21","value":{"arguments":[{"name":"length","nativeSrc":"240116:6:21","nodeType":"YulIdentifier","src":"240116:6:21"},{"kind":"number","nativeSrc":"240124:1:21","nodeType":"YulLiteral","src":"240124:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"240112:3:21","nodeType":"YulIdentifier","src":"240112:3:21"},"nativeSrc":"240112:14:21","nodeType":"YulFunctionCall","src":"240112:14:21"},"variableNames":[{"name":"length","nativeSrc":"240102:6:21","nodeType":"YulIdentifier","src":"240102:6:21"}]}]},"pre":{"nativeSrc":"240080:2:21","nodeType":"YulBlock","src":"240080:2:21","statements":[]},"src":"240076:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"240193:3:21","nodeType":"YulIdentifier","src":"240193:3:21"},{"name":"length","nativeSrc":"240198:6:21","nodeType":"YulIdentifier","src":"240198:6:21"}],"functionName":{"name":"mstore","nativeSrc":"240186:6:21","nodeType":"YulIdentifier","src":"240186:6:21"},"nativeSrc":"240186:19:21","nodeType":"YulFunctionCall","src":"240186:19:21"},"nativeSrc":"240186:19:21","nodeType":"YulExpressionStatement","src":"240186:19:21"},{"nativeSrc":"240222:37:21","nodeType":"YulVariableDeclaration","src":"240222:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"240239:3:21","nodeType":"YulLiteral","src":"240239:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"240248:1:21","nodeType":"YulLiteral","src":"240248:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"240251:6:21","nodeType":"YulIdentifier","src":"240251:6:21"}],"functionName":{"name":"shl","nativeSrc":"240244:3:21","nodeType":"YulIdentifier","src":"240244:3:21"},"nativeSrc":"240244:14:21","nodeType":"YulFunctionCall","src":"240244:14:21"}],"functionName":{"name":"sub","nativeSrc":"240235:3:21","nodeType":"YulIdentifier","src":"240235:3:21"},"nativeSrc":"240235:24:21","nodeType":"YulFunctionCall","src":"240235:24:21"},"variables":[{"name":"shift","nativeSrc":"240226:5:21","nodeType":"YulTypedName","src":"240226:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"240287:3:21","nodeType":"YulIdentifier","src":"240287:3:21"},{"kind":"number","nativeSrc":"240292:4:21","nodeType":"YulLiteral","src":"240292:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"240283:3:21","nodeType":"YulIdentifier","src":"240283:3:21"},"nativeSrc":"240283:14:21","nodeType":"YulFunctionCall","src":"240283:14:21"},{"arguments":[{"name":"shift","nativeSrc":"240303:5:21","nodeType":"YulIdentifier","src":"240303:5:21"},{"arguments":[{"name":"shift","nativeSrc":"240314:5:21","nodeType":"YulIdentifier","src":"240314:5:21"},{"name":"w","nativeSrc":"240321:1:21","nodeType":"YulIdentifier","src":"240321:1:21"}],"functionName":{"name":"shr","nativeSrc":"240310:3:21","nodeType":"YulIdentifier","src":"240310:3:21"},"nativeSrc":"240310:13:21","nodeType":"YulFunctionCall","src":"240310:13:21"}],"functionName":{"name":"shl","nativeSrc":"240299:3:21","nodeType":"YulIdentifier","src":"240299:3:21"},"nativeSrc":"240299:25:21","nodeType":"YulFunctionCall","src":"240299:25:21"}],"functionName":{"name":"mstore","nativeSrc":"240276:6:21","nodeType":"YulIdentifier","src":"240276:6:21"},"nativeSrc":"240276:49:21","nodeType":"YulFunctionCall","src":"240276:49:21"},"nativeSrc":"240276:49:21","nodeType":"YulExpressionStatement","src":"240276:49:21"}]},"name":"writeString","nativeSrc":"239997:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"240018:3:21","nodeType":"YulTypedName","src":"240018:3:21","type":""},{"name":"w","nativeSrc":"240023:1:21","nodeType":"YulTypedName","src":"240023:1:21","type":""}],"src":"239997:342:21"},{"nativeSrc":"240352:17:21","nodeType":"YulAssignment","src":"240352:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"240364:4:21","nodeType":"YulLiteral","src":"240364:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"240358:5:21","nodeType":"YulIdentifier","src":"240358:5:21"},"nativeSrc":"240358:11:21","nodeType":"YulFunctionCall","src":"240358:11:21"},"variableNames":[{"name":"m0","nativeSrc":"240352:2:21","nodeType":"YulIdentifier","src":"240352:2:21"}]},{"nativeSrc":"240382:17:21","nodeType":"YulAssignment","src":"240382:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"240394:4:21","nodeType":"YulLiteral","src":"240394:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"240388:5:21","nodeType":"YulIdentifier","src":"240388:5:21"},"nativeSrc":"240388:11:21","nodeType":"YulFunctionCall","src":"240388:11:21"},"variableNames":[{"name":"m1","nativeSrc":"240382:2:21","nodeType":"YulIdentifier","src":"240382:2:21"}]},{"nativeSrc":"240412:17:21","nodeType":"YulAssignment","src":"240412:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"240424:4:21","nodeType":"YulLiteral","src":"240424:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"240418:5:21","nodeType":"YulIdentifier","src":"240418:5:21"},"nativeSrc":"240418:11:21","nodeType":"YulFunctionCall","src":"240418:11:21"},"variableNames":[{"name":"m2","nativeSrc":"240412:2:21","nodeType":"YulIdentifier","src":"240412:2:21"}]},{"nativeSrc":"240442:17:21","nodeType":"YulAssignment","src":"240442:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"240454:4:21","nodeType":"YulLiteral","src":"240454:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"240448:5:21","nodeType":"YulIdentifier","src":"240448:5:21"},"nativeSrc":"240448:11:21","nodeType":"YulFunctionCall","src":"240448:11:21"},"variableNames":[{"name":"m3","nativeSrc":"240442:2:21","nodeType":"YulIdentifier","src":"240442:2:21"}]},{"nativeSrc":"240472:17:21","nodeType":"YulAssignment","src":"240472:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"240484:4:21","nodeType":"YulLiteral","src":"240484:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"240478:5:21","nodeType":"YulIdentifier","src":"240478:5:21"},"nativeSrc":"240478:11:21","nodeType":"YulFunctionCall","src":"240478:11:21"},"variableNames":[{"name":"m4","nativeSrc":"240472:2:21","nodeType":"YulIdentifier","src":"240472:2:21"}]},{"nativeSrc":"240502:17:21","nodeType":"YulAssignment","src":"240502:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"240514:4:21","nodeType":"YulLiteral","src":"240514:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"240508:5:21","nodeType":"YulIdentifier","src":"240508:5:21"},"nativeSrc":"240508:11:21","nodeType":"YulFunctionCall","src":"240508:11:21"},"variableNames":[{"name":"m5","nativeSrc":"240502:2:21","nodeType":"YulIdentifier","src":"240502:2:21"}]},{"nativeSrc":"240532:17:21","nodeType":"YulAssignment","src":"240532:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"240544:4:21","nodeType":"YulLiteral","src":"240544:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"240538:5:21","nodeType":"YulIdentifier","src":"240538:5:21"},"nativeSrc":"240538:11:21","nodeType":"YulFunctionCall","src":"240538:11:21"},"variableNames":[{"name":"m6","nativeSrc":"240532:2:21","nodeType":"YulIdentifier","src":"240532:2:21"}]},{"nativeSrc":"240562:17:21","nodeType":"YulAssignment","src":"240562:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"240574:4:21","nodeType":"YulLiteral","src":"240574:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"240568:5:21","nodeType":"YulIdentifier","src":"240568:5:21"},"nativeSrc":"240568:11:21","nodeType":"YulFunctionCall","src":"240568:11:21"},"variableNames":[{"name":"m7","nativeSrc":"240562:2:21","nodeType":"YulIdentifier","src":"240562:2:21"}]},{"nativeSrc":"240592:18:21","nodeType":"YulAssignment","src":"240592:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"240604:5:21","nodeType":"YulLiteral","src":"240604:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"240598:5:21","nodeType":"YulIdentifier","src":"240598:5:21"},"nativeSrc":"240598:12:21","nodeType":"YulFunctionCall","src":"240598:12:21"},"variableNames":[{"name":"m8","nativeSrc":"240592:2:21","nodeType":"YulIdentifier","src":"240592:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240692:4:21","nodeType":"YulLiteral","src":"240692:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"240698:10:21","nodeType":"YulLiteral","src":"240698:10:21","type":"","value":"0x1ad96de6"}],"functionName":{"name":"mstore","nativeSrc":"240685:6:21","nodeType":"YulIdentifier","src":"240685:6:21"},"nativeSrc":"240685:24:21","nodeType":"YulFunctionCall","src":"240685:24:21"},"nativeSrc":"240685:24:21","nodeType":"YulExpressionStatement","src":"240685:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240729:4:21","nodeType":"YulLiteral","src":"240729:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"240735:2:21","nodeType":"YulIdentifier","src":"240735:2:21"}],"functionName":{"name":"mstore","nativeSrc":"240722:6:21","nodeType":"YulIdentifier","src":"240722:6:21"},"nativeSrc":"240722:16:21","nodeType":"YulFunctionCall","src":"240722:16:21"},"nativeSrc":"240722:16:21","nodeType":"YulExpressionStatement","src":"240722:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240758:4:21","nodeType":"YulLiteral","src":"240758:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"240764:4:21","nodeType":"YulLiteral","src":"240764:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"240751:6:21","nodeType":"YulIdentifier","src":"240751:6:21"},"nativeSrc":"240751:18:21","nodeType":"YulFunctionCall","src":"240751:18:21"},"nativeSrc":"240751:18:21","nodeType":"YulExpressionStatement","src":"240751:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240789:4:21","nodeType":"YulLiteral","src":"240789:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"240795:2:21","nodeType":"YulIdentifier","src":"240795:2:21"}],"functionName":{"name":"mstore","nativeSrc":"240782:6:21","nodeType":"YulIdentifier","src":"240782:6:21"},"nativeSrc":"240782:16:21","nodeType":"YulFunctionCall","src":"240782:16:21"},"nativeSrc":"240782:16:21","nodeType":"YulExpressionStatement","src":"240782:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240818:4:21","nodeType":"YulLiteral","src":"240818:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"240824:4:21","nodeType":"YulLiteral","src":"240824:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"240811:6:21","nodeType":"YulIdentifier","src":"240811:6:21"},"nativeSrc":"240811:18:21","nodeType":"YulFunctionCall","src":"240811:18:21"},"nativeSrc":"240811:18:21","nodeType":"YulExpressionStatement","src":"240811:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240854:4:21","nodeType":"YulLiteral","src":"240854:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"240860:2:21","nodeType":"YulIdentifier","src":"240860:2:21"}],"functionName":{"name":"writeString","nativeSrc":"240842:11:21","nodeType":"YulIdentifier","src":"240842:11:21"},"nativeSrc":"240842:21:21","nodeType":"YulFunctionCall","src":"240842:21:21"},"nativeSrc":"240842:21:21","nodeType":"YulExpressionStatement","src":"240842:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240888:4:21","nodeType":"YulLiteral","src":"240888:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"240894:2:21","nodeType":"YulIdentifier","src":"240894:2:21"}],"functionName":{"name":"writeString","nativeSrc":"240876:11:21","nodeType":"YulIdentifier","src":"240876:11:21"},"nativeSrc":"240876:21:21","nodeType":"YulFunctionCall","src":"240876:21:21"},"nativeSrc":"240876:21:21","nodeType":"YulExpressionStatement","src":"240876:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34500,"isOffset":false,"isSlot":false,"src":"240352:2:21","valueSize":1},{"declaration":34503,"isOffset":false,"isSlot":false,"src":"240382:2:21","valueSize":1},{"declaration":34506,"isOffset":false,"isSlot":false,"src":"240412:2:21","valueSize":1},{"declaration":34509,"isOffset":false,"isSlot":false,"src":"240442:2:21","valueSize":1},{"declaration":34512,"isOffset":false,"isSlot":false,"src":"240472:2:21","valueSize":1},{"declaration":34515,"isOffset":false,"isSlot":false,"src":"240502:2:21","valueSize":1},{"declaration":34518,"isOffset":false,"isSlot":false,"src":"240532:2:21","valueSize":1},{"declaration":34521,"isOffset":false,"isSlot":false,"src":"240562:2:21","valueSize":1},{"declaration":34524,"isOffset":false,"isSlot":false,"src":"240592:2:21","valueSize":1},{"declaration":34490,"isOffset":false,"isSlot":false,"src":"240735:2:21","valueSize":1},{"declaration":34492,"isOffset":false,"isSlot":false,"src":"240860:2:21","valueSize":1},{"declaration":34494,"isOffset":false,"isSlot":false,"src":"240795:2:21","valueSize":1},{"declaration":34496,"isOffset":false,"isSlot":false,"src":"240894:2:21","valueSize":1}],"id":34526,"nodeType":"InlineAssembly","src":"239974:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"240932:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":34529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"240938:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":34527,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"240916:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"240916:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34531,"nodeType":"ExpressionStatement","src":"240916:28:21"},{"AST":{"nativeSrc":"241006:273:21","nodeType":"YulBlock","src":"241006:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"241027:4:21","nodeType":"YulLiteral","src":"241027:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"241033:2:21","nodeType":"YulIdentifier","src":"241033:2:21"}],"functionName":{"name":"mstore","nativeSrc":"241020:6:21","nodeType":"YulIdentifier","src":"241020:6:21"},"nativeSrc":"241020:16:21","nodeType":"YulFunctionCall","src":"241020:16:21"},"nativeSrc":"241020:16:21","nodeType":"YulExpressionStatement","src":"241020:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241056:4:21","nodeType":"YulLiteral","src":"241056:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"241062:2:21","nodeType":"YulIdentifier","src":"241062:2:21"}],"functionName":{"name":"mstore","nativeSrc":"241049:6:21","nodeType":"YulIdentifier","src":"241049:6:21"},"nativeSrc":"241049:16:21","nodeType":"YulFunctionCall","src":"241049:16:21"},"nativeSrc":"241049:16:21","nodeType":"YulExpressionStatement","src":"241049:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241085:4:21","nodeType":"YulLiteral","src":"241085:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"241091:2:21","nodeType":"YulIdentifier","src":"241091:2:21"}],"functionName":{"name":"mstore","nativeSrc":"241078:6:21","nodeType":"YulIdentifier","src":"241078:6:21"},"nativeSrc":"241078:16:21","nodeType":"YulFunctionCall","src":"241078:16:21"},"nativeSrc":"241078:16:21","nodeType":"YulExpressionStatement","src":"241078:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241114:4:21","nodeType":"YulLiteral","src":"241114:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"241120:2:21","nodeType":"YulIdentifier","src":"241120:2:21"}],"functionName":{"name":"mstore","nativeSrc":"241107:6:21","nodeType":"YulIdentifier","src":"241107:6:21"},"nativeSrc":"241107:16:21","nodeType":"YulFunctionCall","src":"241107:16:21"},"nativeSrc":"241107:16:21","nodeType":"YulExpressionStatement","src":"241107:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241143:4:21","nodeType":"YulLiteral","src":"241143:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"241149:2:21","nodeType":"YulIdentifier","src":"241149:2:21"}],"functionName":{"name":"mstore","nativeSrc":"241136:6:21","nodeType":"YulIdentifier","src":"241136:6:21"},"nativeSrc":"241136:16:21","nodeType":"YulFunctionCall","src":"241136:16:21"},"nativeSrc":"241136:16:21","nodeType":"YulExpressionStatement","src":"241136:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241172:4:21","nodeType":"YulLiteral","src":"241172:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"241178:2:21","nodeType":"YulIdentifier","src":"241178:2:21"}],"functionName":{"name":"mstore","nativeSrc":"241165:6:21","nodeType":"YulIdentifier","src":"241165:6:21"},"nativeSrc":"241165:16:21","nodeType":"YulFunctionCall","src":"241165:16:21"},"nativeSrc":"241165:16:21","nodeType":"YulExpressionStatement","src":"241165:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241201:4:21","nodeType":"YulLiteral","src":"241201:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"241207:2:21","nodeType":"YulIdentifier","src":"241207:2:21"}],"functionName":{"name":"mstore","nativeSrc":"241194:6:21","nodeType":"YulIdentifier","src":"241194:6:21"},"nativeSrc":"241194:16:21","nodeType":"YulFunctionCall","src":"241194:16:21"},"nativeSrc":"241194:16:21","nodeType":"YulExpressionStatement","src":"241194:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241230:4:21","nodeType":"YulLiteral","src":"241230:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"241236:2:21","nodeType":"YulIdentifier","src":"241236:2:21"}],"functionName":{"name":"mstore","nativeSrc":"241223:6:21","nodeType":"YulIdentifier","src":"241223:6:21"},"nativeSrc":"241223:16:21","nodeType":"YulFunctionCall","src":"241223:16:21"},"nativeSrc":"241223:16:21","nodeType":"YulExpressionStatement","src":"241223:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241259:5:21","nodeType":"YulLiteral","src":"241259:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"241266:2:21","nodeType":"YulIdentifier","src":"241266:2:21"}],"functionName":{"name":"mstore","nativeSrc":"241252:6:21","nodeType":"YulIdentifier","src":"241252:6:21"},"nativeSrc":"241252:17:21","nodeType":"YulFunctionCall","src":"241252:17:21"},"nativeSrc":"241252:17:21","nodeType":"YulExpressionStatement","src":"241252:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34500,"isOffset":false,"isSlot":false,"src":"241033:2:21","valueSize":1},{"declaration":34503,"isOffset":false,"isSlot":false,"src":"241062:2:21","valueSize":1},{"declaration":34506,"isOffset":false,"isSlot":false,"src":"241091:2:21","valueSize":1},{"declaration":34509,"isOffset":false,"isSlot":false,"src":"241120:2:21","valueSize":1},{"declaration":34512,"isOffset":false,"isSlot":false,"src":"241149:2:21","valueSize":1},{"declaration":34515,"isOffset":false,"isSlot":false,"src":"241178:2:21","valueSize":1},{"declaration":34518,"isOffset":false,"isSlot":false,"src":"241207:2:21","valueSize":1},{"declaration":34521,"isOffset":false,"isSlot":false,"src":"241236:2:21","valueSize":1},{"declaration":34524,"isOffset":false,"isSlot":false,"src":"241266:2:21","valueSize":1}],"id":34532,"nodeType":"InlineAssembly","src":"240997:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"239678:3:21","parameters":{"id":34497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34490,"mutability":"mutable","name":"p0","nameLocation":"239687:2:21","nodeType":"VariableDeclaration","scope":34534,"src":"239682:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34489,"name":"bool","nodeType":"ElementaryTypeName","src":"239682:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34492,"mutability":"mutable","name":"p1","nameLocation":"239699:2:21","nodeType":"VariableDeclaration","scope":34534,"src":"239691:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239691:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34494,"mutability":"mutable","name":"p2","nameLocation":"239711:2:21","nodeType":"VariableDeclaration","scope":34534,"src":"239703:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34493,"name":"uint256","nodeType":"ElementaryTypeName","src":"239703:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34496,"mutability":"mutable","name":"p3","nameLocation":"239723:2:21","nodeType":"VariableDeclaration","scope":34534,"src":"239715:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239715:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"239681:45:21"},"returnParameters":{"id":34498,"nodeType":"ParameterList","parameters":[],"src":"239741:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34580,"nodeType":"FunctionDefinition","src":"241291:1616:21","nodes":[],"body":{"id":34579,"nodeType":"Block","src":"241363:1544:21","nodes":[],"statements":[{"assignments":[34546],"declarations":[{"constant":false,"id":34546,"mutability":"mutable","name":"m0","nameLocation":"241381:2:21","nodeType":"VariableDeclaration","scope":34579,"src":"241373:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241373:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34547,"nodeType":"VariableDeclarationStatement","src":"241373:10:21"},{"assignments":[34549],"declarations":[{"constant":false,"id":34549,"mutability":"mutable","name":"m1","nameLocation":"241401:2:21","nodeType":"VariableDeclaration","scope":34579,"src":"241393:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241393:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34550,"nodeType":"VariableDeclarationStatement","src":"241393:10:21"},{"assignments":[34552],"declarations":[{"constant":false,"id":34552,"mutability":"mutable","name":"m2","nameLocation":"241421:2:21","nodeType":"VariableDeclaration","scope":34579,"src":"241413:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241413:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34553,"nodeType":"VariableDeclarationStatement","src":"241413:10:21"},{"assignments":[34555],"declarations":[{"constant":false,"id":34555,"mutability":"mutable","name":"m3","nameLocation":"241441:2:21","nodeType":"VariableDeclaration","scope":34579,"src":"241433:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241433:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34556,"nodeType":"VariableDeclarationStatement","src":"241433:10:21"},{"assignments":[34558],"declarations":[{"constant":false,"id":34558,"mutability":"mutable","name":"m4","nameLocation":"241461:2:21","nodeType":"VariableDeclaration","scope":34579,"src":"241453:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241453:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34559,"nodeType":"VariableDeclarationStatement","src":"241453:10:21"},{"assignments":[34561],"declarations":[{"constant":false,"id":34561,"mutability":"mutable","name":"m5","nameLocation":"241481:2:21","nodeType":"VariableDeclaration","scope":34579,"src":"241473:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241473:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34562,"nodeType":"VariableDeclarationStatement","src":"241473:10:21"},{"assignments":[34564],"declarations":[{"constant":false,"id":34564,"mutability":"mutable","name":"m6","nameLocation":"241501:2:21","nodeType":"VariableDeclaration","scope":34579,"src":"241493:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241493:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34565,"nodeType":"VariableDeclarationStatement","src":"241493:10:21"},{"assignments":[34567],"declarations":[{"constant":false,"id":34567,"mutability":"mutable","name":"m7","nameLocation":"241521:2:21","nodeType":"VariableDeclaration","scope":34579,"src":"241513:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241513:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34568,"nodeType":"VariableDeclarationStatement","src":"241513:10:21"},{"assignments":[34570],"declarations":[{"constant":false,"id":34570,"mutability":"mutable","name":"m8","nameLocation":"241541:2:21","nodeType":"VariableDeclaration","scope":34579,"src":"241533:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241533:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34571,"nodeType":"VariableDeclarationStatement","src":"241533:10:21"},{"AST":{"nativeSrc":"241605:924:21","nodeType":"YulBlock","src":"241605:924:21","statements":[{"body":{"nativeSrc":"241648:313:21","nodeType":"YulBlock","src":"241648:313:21","statements":[{"nativeSrc":"241666:15:21","nodeType":"YulVariableDeclaration","src":"241666:15:21","value":{"kind":"number","nativeSrc":"241680:1:21","nodeType":"YulLiteral","src":"241680:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"241670:6:21","nodeType":"YulTypedName","src":"241670:6:21","type":""}]},{"body":{"nativeSrc":"241751:40:21","nodeType":"YulBlock","src":"241751:40:21","statements":[{"body":{"nativeSrc":"241780:9:21","nodeType":"YulBlock","src":"241780:9:21","statements":[{"nativeSrc":"241782:5:21","nodeType":"YulBreak","src":"241782:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"241768:6:21","nodeType":"YulIdentifier","src":"241768:6:21"},{"name":"w","nativeSrc":"241776:1:21","nodeType":"YulIdentifier","src":"241776:1:21"}],"functionName":{"name":"byte","nativeSrc":"241763:4:21","nodeType":"YulIdentifier","src":"241763:4:21"},"nativeSrc":"241763:15:21","nodeType":"YulFunctionCall","src":"241763:15:21"}],"functionName":{"name":"iszero","nativeSrc":"241756:6:21","nodeType":"YulIdentifier","src":"241756:6:21"},"nativeSrc":"241756:23:21","nodeType":"YulFunctionCall","src":"241756:23:21"},"nativeSrc":"241753:36:21","nodeType":"YulIf","src":"241753:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"241708:6:21","nodeType":"YulIdentifier","src":"241708:6:21"},{"kind":"number","nativeSrc":"241716:4:21","nodeType":"YulLiteral","src":"241716:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"241705:2:21","nodeType":"YulIdentifier","src":"241705:2:21"},"nativeSrc":"241705:16:21","nodeType":"YulFunctionCall","src":"241705:16:21"},"nativeSrc":"241698:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"241722:28:21","nodeType":"YulBlock","src":"241722:28:21","statements":[{"nativeSrc":"241724:24:21","nodeType":"YulAssignment","src":"241724:24:21","value":{"arguments":[{"name":"length","nativeSrc":"241738:6:21","nodeType":"YulIdentifier","src":"241738:6:21"},{"kind":"number","nativeSrc":"241746:1:21","nodeType":"YulLiteral","src":"241746:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"241734:3:21","nodeType":"YulIdentifier","src":"241734:3:21"},"nativeSrc":"241734:14:21","nodeType":"YulFunctionCall","src":"241734:14:21"},"variableNames":[{"name":"length","nativeSrc":"241724:6:21","nodeType":"YulIdentifier","src":"241724:6:21"}]}]},"pre":{"nativeSrc":"241702:2:21","nodeType":"YulBlock","src":"241702:2:21","statements":[]},"src":"241698:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"241815:3:21","nodeType":"YulIdentifier","src":"241815:3:21"},{"name":"length","nativeSrc":"241820:6:21","nodeType":"YulIdentifier","src":"241820:6:21"}],"functionName":{"name":"mstore","nativeSrc":"241808:6:21","nodeType":"YulIdentifier","src":"241808:6:21"},"nativeSrc":"241808:19:21","nodeType":"YulFunctionCall","src":"241808:19:21"},"nativeSrc":"241808:19:21","nodeType":"YulExpressionStatement","src":"241808:19:21"},{"nativeSrc":"241844:37:21","nodeType":"YulVariableDeclaration","src":"241844:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"241861:3:21","nodeType":"YulLiteral","src":"241861:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"241870:1:21","nodeType":"YulLiteral","src":"241870:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"241873:6:21","nodeType":"YulIdentifier","src":"241873:6:21"}],"functionName":{"name":"shl","nativeSrc":"241866:3:21","nodeType":"YulIdentifier","src":"241866:3:21"},"nativeSrc":"241866:14:21","nodeType":"YulFunctionCall","src":"241866:14:21"}],"functionName":{"name":"sub","nativeSrc":"241857:3:21","nodeType":"YulIdentifier","src":"241857:3:21"},"nativeSrc":"241857:24:21","nodeType":"YulFunctionCall","src":"241857:24:21"},"variables":[{"name":"shift","nativeSrc":"241848:5:21","nodeType":"YulTypedName","src":"241848:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"241909:3:21","nodeType":"YulIdentifier","src":"241909:3:21"},{"kind":"number","nativeSrc":"241914:4:21","nodeType":"YulLiteral","src":"241914:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"241905:3:21","nodeType":"YulIdentifier","src":"241905:3:21"},"nativeSrc":"241905:14:21","nodeType":"YulFunctionCall","src":"241905:14:21"},{"arguments":[{"name":"shift","nativeSrc":"241925:5:21","nodeType":"YulIdentifier","src":"241925:5:21"},{"arguments":[{"name":"shift","nativeSrc":"241936:5:21","nodeType":"YulIdentifier","src":"241936:5:21"},{"name":"w","nativeSrc":"241943:1:21","nodeType":"YulIdentifier","src":"241943:1:21"}],"functionName":{"name":"shr","nativeSrc":"241932:3:21","nodeType":"YulIdentifier","src":"241932:3:21"},"nativeSrc":"241932:13:21","nodeType":"YulFunctionCall","src":"241932:13:21"}],"functionName":{"name":"shl","nativeSrc":"241921:3:21","nodeType":"YulIdentifier","src":"241921:3:21"},"nativeSrc":"241921:25:21","nodeType":"YulFunctionCall","src":"241921:25:21"}],"functionName":{"name":"mstore","nativeSrc":"241898:6:21","nodeType":"YulIdentifier","src":"241898:6:21"},"nativeSrc":"241898:49:21","nodeType":"YulFunctionCall","src":"241898:49:21"},"nativeSrc":"241898:49:21","nodeType":"YulExpressionStatement","src":"241898:49:21"}]},"name":"writeString","nativeSrc":"241619:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"241640:3:21","nodeType":"YulTypedName","src":"241640:3:21","type":""},{"name":"w","nativeSrc":"241645:1:21","nodeType":"YulTypedName","src":"241645:1:21","type":""}],"src":"241619:342:21"},{"nativeSrc":"241974:17:21","nodeType":"YulAssignment","src":"241974:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"241986:4:21","nodeType":"YulLiteral","src":"241986:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"241980:5:21","nodeType":"YulIdentifier","src":"241980:5:21"},"nativeSrc":"241980:11:21","nodeType":"YulFunctionCall","src":"241980:11:21"},"variableNames":[{"name":"m0","nativeSrc":"241974:2:21","nodeType":"YulIdentifier","src":"241974:2:21"}]},{"nativeSrc":"242004:17:21","nodeType":"YulAssignment","src":"242004:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"242016:4:21","nodeType":"YulLiteral","src":"242016:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"242010:5:21","nodeType":"YulIdentifier","src":"242010:5:21"},"nativeSrc":"242010:11:21","nodeType":"YulFunctionCall","src":"242010:11:21"},"variableNames":[{"name":"m1","nativeSrc":"242004:2:21","nodeType":"YulIdentifier","src":"242004:2:21"}]},{"nativeSrc":"242034:17:21","nodeType":"YulAssignment","src":"242034:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"242046:4:21","nodeType":"YulLiteral","src":"242046:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"242040:5:21","nodeType":"YulIdentifier","src":"242040:5:21"},"nativeSrc":"242040:11:21","nodeType":"YulFunctionCall","src":"242040:11:21"},"variableNames":[{"name":"m2","nativeSrc":"242034:2:21","nodeType":"YulIdentifier","src":"242034:2:21"}]},{"nativeSrc":"242064:17:21","nodeType":"YulAssignment","src":"242064:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"242076:4:21","nodeType":"YulLiteral","src":"242076:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"242070:5:21","nodeType":"YulIdentifier","src":"242070:5:21"},"nativeSrc":"242070:11:21","nodeType":"YulFunctionCall","src":"242070:11:21"},"variableNames":[{"name":"m3","nativeSrc":"242064:2:21","nodeType":"YulIdentifier","src":"242064:2:21"}]},{"nativeSrc":"242094:17:21","nodeType":"YulAssignment","src":"242094:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"242106:4:21","nodeType":"YulLiteral","src":"242106:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"242100:5:21","nodeType":"YulIdentifier","src":"242100:5:21"},"nativeSrc":"242100:11:21","nodeType":"YulFunctionCall","src":"242100:11:21"},"variableNames":[{"name":"m4","nativeSrc":"242094:2:21","nodeType":"YulIdentifier","src":"242094:2:21"}]},{"nativeSrc":"242124:17:21","nodeType":"YulAssignment","src":"242124:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"242136:4:21","nodeType":"YulLiteral","src":"242136:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"242130:5:21","nodeType":"YulIdentifier","src":"242130:5:21"},"nativeSrc":"242130:11:21","nodeType":"YulFunctionCall","src":"242130:11:21"},"variableNames":[{"name":"m5","nativeSrc":"242124:2:21","nodeType":"YulIdentifier","src":"242124:2:21"}]},{"nativeSrc":"242154:17:21","nodeType":"YulAssignment","src":"242154:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"242166:4:21","nodeType":"YulLiteral","src":"242166:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"242160:5:21","nodeType":"YulIdentifier","src":"242160:5:21"},"nativeSrc":"242160:11:21","nodeType":"YulFunctionCall","src":"242160:11:21"},"variableNames":[{"name":"m6","nativeSrc":"242154:2:21","nodeType":"YulIdentifier","src":"242154:2:21"}]},{"nativeSrc":"242184:17:21","nodeType":"YulAssignment","src":"242184:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"242196:4:21","nodeType":"YulLiteral","src":"242196:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"242190:5:21","nodeType":"YulIdentifier","src":"242190:5:21"},"nativeSrc":"242190:11:21","nodeType":"YulFunctionCall","src":"242190:11:21"},"variableNames":[{"name":"m7","nativeSrc":"242184:2:21","nodeType":"YulIdentifier","src":"242184:2:21"}]},{"nativeSrc":"242214:18:21","nodeType":"YulAssignment","src":"242214:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"242226:5:21","nodeType":"YulLiteral","src":"242226:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"242220:5:21","nodeType":"YulIdentifier","src":"242220:5:21"},"nativeSrc":"242220:12:21","nodeType":"YulFunctionCall","src":"242220:12:21"},"variableNames":[{"name":"m8","nativeSrc":"242214:2:21","nodeType":"YulIdentifier","src":"242214:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242314:4:21","nodeType":"YulLiteral","src":"242314:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"242320:10:21","nodeType":"YulLiteral","src":"242320:10:21","type":"","value":"0x97d394d8"}],"functionName":{"name":"mstore","nativeSrc":"242307:6:21","nodeType":"YulIdentifier","src":"242307:6:21"},"nativeSrc":"242307:24:21","nodeType":"YulFunctionCall","src":"242307:24:21"},"nativeSrc":"242307:24:21","nodeType":"YulExpressionStatement","src":"242307:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242351:4:21","nodeType":"YulLiteral","src":"242351:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"242357:2:21","nodeType":"YulIdentifier","src":"242357:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242344:6:21","nodeType":"YulIdentifier","src":"242344:6:21"},"nativeSrc":"242344:16:21","nodeType":"YulFunctionCall","src":"242344:16:21"},"nativeSrc":"242344:16:21","nodeType":"YulExpressionStatement","src":"242344:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242380:4:21","nodeType":"YulLiteral","src":"242380:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"242386:4:21","nodeType":"YulLiteral","src":"242386:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"242373:6:21","nodeType":"YulIdentifier","src":"242373:6:21"},"nativeSrc":"242373:18:21","nodeType":"YulFunctionCall","src":"242373:18:21"},"nativeSrc":"242373:18:21","nodeType":"YulExpressionStatement","src":"242373:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242411:4:21","nodeType":"YulLiteral","src":"242411:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"242417:4:21","nodeType":"YulLiteral","src":"242417:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"242404:6:21","nodeType":"YulIdentifier","src":"242404:6:21"},"nativeSrc":"242404:18:21","nodeType":"YulFunctionCall","src":"242404:18:21"},"nativeSrc":"242404:18:21","nodeType":"YulExpressionStatement","src":"242404:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242442:4:21","nodeType":"YulLiteral","src":"242442:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"242448:2:21","nodeType":"YulIdentifier","src":"242448:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242435:6:21","nodeType":"YulIdentifier","src":"242435:6:21"},"nativeSrc":"242435:16:21","nodeType":"YulFunctionCall","src":"242435:16:21"},"nativeSrc":"242435:16:21","nodeType":"YulExpressionStatement","src":"242435:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242476:4:21","nodeType":"YulLiteral","src":"242476:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"242482:2:21","nodeType":"YulIdentifier","src":"242482:2:21"}],"functionName":{"name":"writeString","nativeSrc":"242464:11:21","nodeType":"YulIdentifier","src":"242464:11:21"},"nativeSrc":"242464:21:21","nodeType":"YulFunctionCall","src":"242464:21:21"},"nativeSrc":"242464:21:21","nodeType":"YulExpressionStatement","src":"242464:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242510:4:21","nodeType":"YulLiteral","src":"242510:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"242516:2:21","nodeType":"YulIdentifier","src":"242516:2:21"}],"functionName":{"name":"writeString","nativeSrc":"242498:11:21","nodeType":"YulIdentifier","src":"242498:11:21"},"nativeSrc":"242498:21:21","nodeType":"YulFunctionCall","src":"242498:21:21"},"nativeSrc":"242498:21:21","nodeType":"YulExpressionStatement","src":"242498:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34546,"isOffset":false,"isSlot":false,"src":"241974:2:21","valueSize":1},{"declaration":34549,"isOffset":false,"isSlot":false,"src":"242004:2:21","valueSize":1},{"declaration":34552,"isOffset":false,"isSlot":false,"src":"242034:2:21","valueSize":1},{"declaration":34555,"isOffset":false,"isSlot":false,"src":"242064:2:21","valueSize":1},{"declaration":34558,"isOffset":false,"isSlot":false,"src":"242094:2:21","valueSize":1},{"declaration":34561,"isOffset":false,"isSlot":false,"src":"242124:2:21","valueSize":1},{"declaration":34564,"isOffset":false,"isSlot":false,"src":"242154:2:21","valueSize":1},{"declaration":34567,"isOffset":false,"isSlot":false,"src":"242184:2:21","valueSize":1},{"declaration":34570,"isOffset":false,"isSlot":false,"src":"242214:2:21","valueSize":1},{"declaration":34536,"isOffset":false,"isSlot":false,"src":"242357:2:21","valueSize":1},{"declaration":34538,"isOffset":false,"isSlot":false,"src":"242482:2:21","valueSize":1},{"declaration":34540,"isOffset":false,"isSlot":false,"src":"242516:2:21","valueSize":1},{"declaration":34542,"isOffset":false,"isSlot":false,"src":"242448:2:21","valueSize":1}],"id":34572,"nodeType":"InlineAssembly","src":"241596:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"242554:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":34575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"242560:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":34573,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"242538:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"242538:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34577,"nodeType":"ExpressionStatement","src":"242538:28:21"},{"AST":{"nativeSrc":"242628:273:21","nodeType":"YulBlock","src":"242628:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"242649:4:21","nodeType":"YulLiteral","src":"242649:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"242655:2:21","nodeType":"YulIdentifier","src":"242655:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242642:6:21","nodeType":"YulIdentifier","src":"242642:6:21"},"nativeSrc":"242642:16:21","nodeType":"YulFunctionCall","src":"242642:16:21"},"nativeSrc":"242642:16:21","nodeType":"YulExpressionStatement","src":"242642:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242678:4:21","nodeType":"YulLiteral","src":"242678:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"242684:2:21","nodeType":"YulIdentifier","src":"242684:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242671:6:21","nodeType":"YulIdentifier","src":"242671:6:21"},"nativeSrc":"242671:16:21","nodeType":"YulFunctionCall","src":"242671:16:21"},"nativeSrc":"242671:16:21","nodeType":"YulExpressionStatement","src":"242671:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242707:4:21","nodeType":"YulLiteral","src":"242707:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"242713:2:21","nodeType":"YulIdentifier","src":"242713:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242700:6:21","nodeType":"YulIdentifier","src":"242700:6:21"},"nativeSrc":"242700:16:21","nodeType":"YulFunctionCall","src":"242700:16:21"},"nativeSrc":"242700:16:21","nodeType":"YulExpressionStatement","src":"242700:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242736:4:21","nodeType":"YulLiteral","src":"242736:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"242742:2:21","nodeType":"YulIdentifier","src":"242742:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242729:6:21","nodeType":"YulIdentifier","src":"242729:6:21"},"nativeSrc":"242729:16:21","nodeType":"YulFunctionCall","src":"242729:16:21"},"nativeSrc":"242729:16:21","nodeType":"YulExpressionStatement","src":"242729:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242765:4:21","nodeType":"YulLiteral","src":"242765:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"242771:2:21","nodeType":"YulIdentifier","src":"242771:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242758:6:21","nodeType":"YulIdentifier","src":"242758:6:21"},"nativeSrc":"242758:16:21","nodeType":"YulFunctionCall","src":"242758:16:21"},"nativeSrc":"242758:16:21","nodeType":"YulExpressionStatement","src":"242758:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242794:4:21","nodeType":"YulLiteral","src":"242794:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"242800:2:21","nodeType":"YulIdentifier","src":"242800:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242787:6:21","nodeType":"YulIdentifier","src":"242787:6:21"},"nativeSrc":"242787:16:21","nodeType":"YulFunctionCall","src":"242787:16:21"},"nativeSrc":"242787:16:21","nodeType":"YulExpressionStatement","src":"242787:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242823:4:21","nodeType":"YulLiteral","src":"242823:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"242829:2:21","nodeType":"YulIdentifier","src":"242829:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242816:6:21","nodeType":"YulIdentifier","src":"242816:6:21"},"nativeSrc":"242816:16:21","nodeType":"YulFunctionCall","src":"242816:16:21"},"nativeSrc":"242816:16:21","nodeType":"YulExpressionStatement","src":"242816:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242852:4:21","nodeType":"YulLiteral","src":"242852:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"242858:2:21","nodeType":"YulIdentifier","src":"242858:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242845:6:21","nodeType":"YulIdentifier","src":"242845:6:21"},"nativeSrc":"242845:16:21","nodeType":"YulFunctionCall","src":"242845:16:21"},"nativeSrc":"242845:16:21","nodeType":"YulExpressionStatement","src":"242845:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242881:5:21","nodeType":"YulLiteral","src":"242881:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"242888:2:21","nodeType":"YulIdentifier","src":"242888:2:21"}],"functionName":{"name":"mstore","nativeSrc":"242874:6:21","nodeType":"YulIdentifier","src":"242874:6:21"},"nativeSrc":"242874:17:21","nodeType":"YulFunctionCall","src":"242874:17:21"},"nativeSrc":"242874:17:21","nodeType":"YulExpressionStatement","src":"242874:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34546,"isOffset":false,"isSlot":false,"src":"242655:2:21","valueSize":1},{"declaration":34549,"isOffset":false,"isSlot":false,"src":"242684:2:21","valueSize":1},{"declaration":34552,"isOffset":false,"isSlot":false,"src":"242713:2:21","valueSize":1},{"declaration":34555,"isOffset":false,"isSlot":false,"src":"242742:2:21","valueSize":1},{"declaration":34558,"isOffset":false,"isSlot":false,"src":"242771:2:21","valueSize":1},{"declaration":34561,"isOffset":false,"isSlot":false,"src":"242800:2:21","valueSize":1},{"declaration":34564,"isOffset":false,"isSlot":false,"src":"242829:2:21","valueSize":1},{"declaration":34567,"isOffset":false,"isSlot":false,"src":"242858:2:21","valueSize":1},{"declaration":34570,"isOffset":false,"isSlot":false,"src":"242888:2:21","valueSize":1}],"id":34578,"nodeType":"InlineAssembly","src":"242619:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"241300:3:21","parameters":{"id":34543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34536,"mutability":"mutable","name":"p0","nameLocation":"241309:2:21","nodeType":"VariableDeclaration","scope":34580,"src":"241304:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34535,"name":"bool","nodeType":"ElementaryTypeName","src":"241304:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34538,"mutability":"mutable","name":"p1","nameLocation":"241321:2:21","nodeType":"VariableDeclaration","scope":34580,"src":"241313:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241313:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34540,"mutability":"mutable","name":"p2","nameLocation":"241333:2:21","nodeType":"VariableDeclaration","scope":34580,"src":"241325:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241325:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34542,"mutability":"mutable","name":"p3","nameLocation":"241345:2:21","nodeType":"VariableDeclaration","scope":34580,"src":"241337:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34541,"name":"address","nodeType":"ElementaryTypeName","src":"241337:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"241303:45:21"},"returnParameters":{"id":34544,"nodeType":"ParameterList","parameters":[],"src":"241363:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34626,"nodeType":"FunctionDefinition","src":"242913:1610:21","nodes":[],"body":{"id":34625,"nodeType":"Block","src":"242982:1541:21","nodes":[],"statements":[{"assignments":[34592],"declarations":[{"constant":false,"id":34592,"mutability":"mutable","name":"m0","nameLocation":"243000:2:21","nodeType":"VariableDeclaration","scope":34625,"src":"242992:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242992:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34593,"nodeType":"VariableDeclarationStatement","src":"242992:10:21"},{"assignments":[34595],"declarations":[{"constant":false,"id":34595,"mutability":"mutable","name":"m1","nameLocation":"243020:2:21","nodeType":"VariableDeclaration","scope":34625,"src":"243012:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243012:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34596,"nodeType":"VariableDeclarationStatement","src":"243012:10:21"},{"assignments":[34598],"declarations":[{"constant":false,"id":34598,"mutability":"mutable","name":"m2","nameLocation":"243040:2:21","nodeType":"VariableDeclaration","scope":34625,"src":"243032:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243032:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34599,"nodeType":"VariableDeclarationStatement","src":"243032:10:21"},{"assignments":[34601],"declarations":[{"constant":false,"id":34601,"mutability":"mutable","name":"m3","nameLocation":"243060:2:21","nodeType":"VariableDeclaration","scope":34625,"src":"243052:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243052:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34602,"nodeType":"VariableDeclarationStatement","src":"243052:10:21"},{"assignments":[34604],"declarations":[{"constant":false,"id":34604,"mutability":"mutable","name":"m4","nameLocation":"243080:2:21","nodeType":"VariableDeclaration","scope":34625,"src":"243072:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243072:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34605,"nodeType":"VariableDeclarationStatement","src":"243072:10:21"},{"assignments":[34607],"declarations":[{"constant":false,"id":34607,"mutability":"mutable","name":"m5","nameLocation":"243100:2:21","nodeType":"VariableDeclaration","scope":34625,"src":"243092:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243092:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34608,"nodeType":"VariableDeclarationStatement","src":"243092:10:21"},{"assignments":[34610],"declarations":[{"constant":false,"id":34610,"mutability":"mutable","name":"m6","nameLocation":"243120:2:21","nodeType":"VariableDeclaration","scope":34625,"src":"243112:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243112:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34611,"nodeType":"VariableDeclarationStatement","src":"243112:10:21"},{"assignments":[34613],"declarations":[{"constant":false,"id":34613,"mutability":"mutable","name":"m7","nameLocation":"243140:2:21","nodeType":"VariableDeclaration","scope":34625,"src":"243132:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243132:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34614,"nodeType":"VariableDeclarationStatement","src":"243132:10:21"},{"assignments":[34616],"declarations":[{"constant":false,"id":34616,"mutability":"mutable","name":"m8","nameLocation":"243160:2:21","nodeType":"VariableDeclaration","scope":34625,"src":"243152:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243152:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34617,"nodeType":"VariableDeclarationStatement","src":"243152:10:21"},{"AST":{"nativeSrc":"243224:921:21","nodeType":"YulBlock","src":"243224:921:21","statements":[{"body":{"nativeSrc":"243267:313:21","nodeType":"YulBlock","src":"243267:313:21","statements":[{"nativeSrc":"243285:15:21","nodeType":"YulVariableDeclaration","src":"243285:15:21","value":{"kind":"number","nativeSrc":"243299:1:21","nodeType":"YulLiteral","src":"243299:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"243289:6:21","nodeType":"YulTypedName","src":"243289:6:21","type":""}]},{"body":{"nativeSrc":"243370:40:21","nodeType":"YulBlock","src":"243370:40:21","statements":[{"body":{"nativeSrc":"243399:9:21","nodeType":"YulBlock","src":"243399:9:21","statements":[{"nativeSrc":"243401:5:21","nodeType":"YulBreak","src":"243401:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"243387:6:21","nodeType":"YulIdentifier","src":"243387:6:21"},{"name":"w","nativeSrc":"243395:1:21","nodeType":"YulIdentifier","src":"243395:1:21"}],"functionName":{"name":"byte","nativeSrc":"243382:4:21","nodeType":"YulIdentifier","src":"243382:4:21"},"nativeSrc":"243382:15:21","nodeType":"YulFunctionCall","src":"243382:15:21"}],"functionName":{"name":"iszero","nativeSrc":"243375:6:21","nodeType":"YulIdentifier","src":"243375:6:21"},"nativeSrc":"243375:23:21","nodeType":"YulFunctionCall","src":"243375:23:21"},"nativeSrc":"243372:36:21","nodeType":"YulIf","src":"243372:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"243327:6:21","nodeType":"YulIdentifier","src":"243327:6:21"},{"kind":"number","nativeSrc":"243335:4:21","nodeType":"YulLiteral","src":"243335:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"243324:2:21","nodeType":"YulIdentifier","src":"243324:2:21"},"nativeSrc":"243324:16:21","nodeType":"YulFunctionCall","src":"243324:16:21"},"nativeSrc":"243317:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"243341:28:21","nodeType":"YulBlock","src":"243341:28:21","statements":[{"nativeSrc":"243343:24:21","nodeType":"YulAssignment","src":"243343:24:21","value":{"arguments":[{"name":"length","nativeSrc":"243357:6:21","nodeType":"YulIdentifier","src":"243357:6:21"},{"kind":"number","nativeSrc":"243365:1:21","nodeType":"YulLiteral","src":"243365:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"243353:3:21","nodeType":"YulIdentifier","src":"243353:3:21"},"nativeSrc":"243353:14:21","nodeType":"YulFunctionCall","src":"243353:14:21"},"variableNames":[{"name":"length","nativeSrc":"243343:6:21","nodeType":"YulIdentifier","src":"243343:6:21"}]}]},"pre":{"nativeSrc":"243321:2:21","nodeType":"YulBlock","src":"243321:2:21","statements":[]},"src":"243317:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"243434:3:21","nodeType":"YulIdentifier","src":"243434:3:21"},{"name":"length","nativeSrc":"243439:6:21","nodeType":"YulIdentifier","src":"243439:6:21"}],"functionName":{"name":"mstore","nativeSrc":"243427:6:21","nodeType":"YulIdentifier","src":"243427:6:21"},"nativeSrc":"243427:19:21","nodeType":"YulFunctionCall","src":"243427:19:21"},"nativeSrc":"243427:19:21","nodeType":"YulExpressionStatement","src":"243427:19:21"},{"nativeSrc":"243463:37:21","nodeType":"YulVariableDeclaration","src":"243463:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"243480:3:21","nodeType":"YulLiteral","src":"243480:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"243489:1:21","nodeType":"YulLiteral","src":"243489:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"243492:6:21","nodeType":"YulIdentifier","src":"243492:6:21"}],"functionName":{"name":"shl","nativeSrc":"243485:3:21","nodeType":"YulIdentifier","src":"243485:3:21"},"nativeSrc":"243485:14:21","nodeType":"YulFunctionCall","src":"243485:14:21"}],"functionName":{"name":"sub","nativeSrc":"243476:3:21","nodeType":"YulIdentifier","src":"243476:3:21"},"nativeSrc":"243476:24:21","nodeType":"YulFunctionCall","src":"243476:24:21"},"variables":[{"name":"shift","nativeSrc":"243467:5:21","nodeType":"YulTypedName","src":"243467:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"243528:3:21","nodeType":"YulIdentifier","src":"243528:3:21"},{"kind":"number","nativeSrc":"243533:4:21","nodeType":"YulLiteral","src":"243533:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"243524:3:21","nodeType":"YulIdentifier","src":"243524:3:21"},"nativeSrc":"243524:14:21","nodeType":"YulFunctionCall","src":"243524:14:21"},{"arguments":[{"name":"shift","nativeSrc":"243544:5:21","nodeType":"YulIdentifier","src":"243544:5:21"},{"arguments":[{"name":"shift","nativeSrc":"243555:5:21","nodeType":"YulIdentifier","src":"243555:5:21"},{"name":"w","nativeSrc":"243562:1:21","nodeType":"YulIdentifier","src":"243562:1:21"}],"functionName":{"name":"shr","nativeSrc":"243551:3:21","nodeType":"YulIdentifier","src":"243551:3:21"},"nativeSrc":"243551:13:21","nodeType":"YulFunctionCall","src":"243551:13:21"}],"functionName":{"name":"shl","nativeSrc":"243540:3:21","nodeType":"YulIdentifier","src":"243540:3:21"},"nativeSrc":"243540:25:21","nodeType":"YulFunctionCall","src":"243540:25:21"}],"functionName":{"name":"mstore","nativeSrc":"243517:6:21","nodeType":"YulIdentifier","src":"243517:6:21"},"nativeSrc":"243517:49:21","nodeType":"YulFunctionCall","src":"243517:49:21"},"nativeSrc":"243517:49:21","nodeType":"YulExpressionStatement","src":"243517:49:21"}]},"name":"writeString","nativeSrc":"243238:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"243259:3:21","nodeType":"YulTypedName","src":"243259:3:21","type":""},{"name":"w","nativeSrc":"243264:1:21","nodeType":"YulTypedName","src":"243264:1:21","type":""}],"src":"243238:342:21"},{"nativeSrc":"243593:17:21","nodeType":"YulAssignment","src":"243593:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"243605:4:21","nodeType":"YulLiteral","src":"243605:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"243599:5:21","nodeType":"YulIdentifier","src":"243599:5:21"},"nativeSrc":"243599:11:21","nodeType":"YulFunctionCall","src":"243599:11:21"},"variableNames":[{"name":"m0","nativeSrc":"243593:2:21","nodeType":"YulIdentifier","src":"243593:2:21"}]},{"nativeSrc":"243623:17:21","nodeType":"YulAssignment","src":"243623:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"243635:4:21","nodeType":"YulLiteral","src":"243635:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"243629:5:21","nodeType":"YulIdentifier","src":"243629:5:21"},"nativeSrc":"243629:11:21","nodeType":"YulFunctionCall","src":"243629:11:21"},"variableNames":[{"name":"m1","nativeSrc":"243623:2:21","nodeType":"YulIdentifier","src":"243623:2:21"}]},{"nativeSrc":"243653:17:21","nodeType":"YulAssignment","src":"243653:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"243665:4:21","nodeType":"YulLiteral","src":"243665:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"243659:5:21","nodeType":"YulIdentifier","src":"243659:5:21"},"nativeSrc":"243659:11:21","nodeType":"YulFunctionCall","src":"243659:11:21"},"variableNames":[{"name":"m2","nativeSrc":"243653:2:21","nodeType":"YulIdentifier","src":"243653:2:21"}]},{"nativeSrc":"243683:17:21","nodeType":"YulAssignment","src":"243683:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"243695:4:21","nodeType":"YulLiteral","src":"243695:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"243689:5:21","nodeType":"YulIdentifier","src":"243689:5:21"},"nativeSrc":"243689:11:21","nodeType":"YulFunctionCall","src":"243689:11:21"},"variableNames":[{"name":"m3","nativeSrc":"243683:2:21","nodeType":"YulIdentifier","src":"243683:2:21"}]},{"nativeSrc":"243713:17:21","nodeType":"YulAssignment","src":"243713:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"243725:4:21","nodeType":"YulLiteral","src":"243725:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"243719:5:21","nodeType":"YulIdentifier","src":"243719:5:21"},"nativeSrc":"243719:11:21","nodeType":"YulFunctionCall","src":"243719:11:21"},"variableNames":[{"name":"m4","nativeSrc":"243713:2:21","nodeType":"YulIdentifier","src":"243713:2:21"}]},{"nativeSrc":"243743:17:21","nodeType":"YulAssignment","src":"243743:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"243755:4:21","nodeType":"YulLiteral","src":"243755:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"243749:5:21","nodeType":"YulIdentifier","src":"243749:5:21"},"nativeSrc":"243749:11:21","nodeType":"YulFunctionCall","src":"243749:11:21"},"variableNames":[{"name":"m5","nativeSrc":"243743:2:21","nodeType":"YulIdentifier","src":"243743:2:21"}]},{"nativeSrc":"243773:17:21","nodeType":"YulAssignment","src":"243773:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"243785:4:21","nodeType":"YulLiteral","src":"243785:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"243779:5:21","nodeType":"YulIdentifier","src":"243779:5:21"},"nativeSrc":"243779:11:21","nodeType":"YulFunctionCall","src":"243779:11:21"},"variableNames":[{"name":"m6","nativeSrc":"243773:2:21","nodeType":"YulIdentifier","src":"243773:2:21"}]},{"nativeSrc":"243803:17:21","nodeType":"YulAssignment","src":"243803:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"243815:4:21","nodeType":"YulLiteral","src":"243815:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"243809:5:21","nodeType":"YulIdentifier","src":"243809:5:21"},"nativeSrc":"243809:11:21","nodeType":"YulFunctionCall","src":"243809:11:21"},"variableNames":[{"name":"m7","nativeSrc":"243803:2:21","nodeType":"YulIdentifier","src":"243803:2:21"}]},{"nativeSrc":"243833:18:21","nodeType":"YulAssignment","src":"243833:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"243845:5:21","nodeType":"YulLiteral","src":"243845:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"243839:5:21","nodeType":"YulIdentifier","src":"243839:5:21"},"nativeSrc":"243839:12:21","nodeType":"YulFunctionCall","src":"243839:12:21"},"variableNames":[{"name":"m8","nativeSrc":"243833:2:21","nodeType":"YulIdentifier","src":"243833:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"243930:4:21","nodeType":"YulLiteral","src":"243930:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"243936:10:21","nodeType":"YulLiteral","src":"243936:10:21","type":"","value":"0x1e4b87e5"}],"functionName":{"name":"mstore","nativeSrc":"243923:6:21","nodeType":"YulIdentifier","src":"243923:6:21"},"nativeSrc":"243923:24:21","nodeType":"YulFunctionCall","src":"243923:24:21"},"nativeSrc":"243923:24:21","nodeType":"YulExpressionStatement","src":"243923:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"243967:4:21","nodeType":"YulLiteral","src":"243967:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"243973:2:21","nodeType":"YulIdentifier","src":"243973:2:21"}],"functionName":{"name":"mstore","nativeSrc":"243960:6:21","nodeType":"YulIdentifier","src":"243960:6:21"},"nativeSrc":"243960:16:21","nodeType":"YulFunctionCall","src":"243960:16:21"},"nativeSrc":"243960:16:21","nodeType":"YulExpressionStatement","src":"243960:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"243996:4:21","nodeType":"YulLiteral","src":"243996:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"244002:4:21","nodeType":"YulLiteral","src":"244002:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"243989:6:21","nodeType":"YulIdentifier","src":"243989:6:21"},"nativeSrc":"243989:18:21","nodeType":"YulFunctionCall","src":"243989:18:21"},"nativeSrc":"243989:18:21","nodeType":"YulExpressionStatement","src":"243989:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244027:4:21","nodeType":"YulLiteral","src":"244027:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"244033:4:21","nodeType":"YulLiteral","src":"244033:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"244020:6:21","nodeType":"YulIdentifier","src":"244020:6:21"},"nativeSrc":"244020:18:21","nodeType":"YulFunctionCall","src":"244020:18:21"},"nativeSrc":"244020:18:21","nodeType":"YulExpressionStatement","src":"244020:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244058:4:21","nodeType":"YulLiteral","src":"244058:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"244064:2:21","nodeType":"YulIdentifier","src":"244064:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244051:6:21","nodeType":"YulIdentifier","src":"244051:6:21"},"nativeSrc":"244051:16:21","nodeType":"YulFunctionCall","src":"244051:16:21"},"nativeSrc":"244051:16:21","nodeType":"YulExpressionStatement","src":"244051:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244092:4:21","nodeType":"YulLiteral","src":"244092:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"244098:2:21","nodeType":"YulIdentifier","src":"244098:2:21"}],"functionName":{"name":"writeString","nativeSrc":"244080:11:21","nodeType":"YulIdentifier","src":"244080:11:21"},"nativeSrc":"244080:21:21","nodeType":"YulFunctionCall","src":"244080:21:21"},"nativeSrc":"244080:21:21","nodeType":"YulExpressionStatement","src":"244080:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244126:4:21","nodeType":"YulLiteral","src":"244126:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"244132:2:21","nodeType":"YulIdentifier","src":"244132:2:21"}],"functionName":{"name":"writeString","nativeSrc":"244114:11:21","nodeType":"YulIdentifier","src":"244114:11:21"},"nativeSrc":"244114:21:21","nodeType":"YulFunctionCall","src":"244114:21:21"},"nativeSrc":"244114:21:21","nodeType":"YulExpressionStatement","src":"244114:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34592,"isOffset":false,"isSlot":false,"src":"243593:2:21","valueSize":1},{"declaration":34595,"isOffset":false,"isSlot":false,"src":"243623:2:21","valueSize":1},{"declaration":34598,"isOffset":false,"isSlot":false,"src":"243653:2:21","valueSize":1},{"declaration":34601,"isOffset":false,"isSlot":false,"src":"243683:2:21","valueSize":1},{"declaration":34604,"isOffset":false,"isSlot":false,"src":"243713:2:21","valueSize":1},{"declaration":34607,"isOffset":false,"isSlot":false,"src":"243743:2:21","valueSize":1},{"declaration":34610,"isOffset":false,"isSlot":false,"src":"243773:2:21","valueSize":1},{"declaration":34613,"isOffset":false,"isSlot":false,"src":"243803:2:21","valueSize":1},{"declaration":34616,"isOffset":false,"isSlot":false,"src":"243833:2:21","valueSize":1},{"declaration":34582,"isOffset":false,"isSlot":false,"src":"243973:2:21","valueSize":1},{"declaration":34584,"isOffset":false,"isSlot":false,"src":"244098:2:21","valueSize":1},{"declaration":34586,"isOffset":false,"isSlot":false,"src":"244132:2:21","valueSize":1},{"declaration":34588,"isOffset":false,"isSlot":false,"src":"244064:2:21","valueSize":1}],"id":34618,"nodeType":"InlineAssembly","src":"243215:930:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"244170:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":34621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"244176:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":34619,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"244154:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"244154:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34623,"nodeType":"ExpressionStatement","src":"244154:28:21"},{"AST":{"nativeSrc":"244244:273:21","nodeType":"YulBlock","src":"244244:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"244265:4:21","nodeType":"YulLiteral","src":"244265:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"244271:2:21","nodeType":"YulIdentifier","src":"244271:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244258:6:21","nodeType":"YulIdentifier","src":"244258:6:21"},"nativeSrc":"244258:16:21","nodeType":"YulFunctionCall","src":"244258:16:21"},"nativeSrc":"244258:16:21","nodeType":"YulExpressionStatement","src":"244258:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244294:4:21","nodeType":"YulLiteral","src":"244294:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"244300:2:21","nodeType":"YulIdentifier","src":"244300:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244287:6:21","nodeType":"YulIdentifier","src":"244287:6:21"},"nativeSrc":"244287:16:21","nodeType":"YulFunctionCall","src":"244287:16:21"},"nativeSrc":"244287:16:21","nodeType":"YulExpressionStatement","src":"244287:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244323:4:21","nodeType":"YulLiteral","src":"244323:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"244329:2:21","nodeType":"YulIdentifier","src":"244329:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244316:6:21","nodeType":"YulIdentifier","src":"244316:6:21"},"nativeSrc":"244316:16:21","nodeType":"YulFunctionCall","src":"244316:16:21"},"nativeSrc":"244316:16:21","nodeType":"YulExpressionStatement","src":"244316:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244352:4:21","nodeType":"YulLiteral","src":"244352:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"244358:2:21","nodeType":"YulIdentifier","src":"244358:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244345:6:21","nodeType":"YulIdentifier","src":"244345:6:21"},"nativeSrc":"244345:16:21","nodeType":"YulFunctionCall","src":"244345:16:21"},"nativeSrc":"244345:16:21","nodeType":"YulExpressionStatement","src":"244345:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244381:4:21","nodeType":"YulLiteral","src":"244381:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"244387:2:21","nodeType":"YulIdentifier","src":"244387:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244374:6:21","nodeType":"YulIdentifier","src":"244374:6:21"},"nativeSrc":"244374:16:21","nodeType":"YulFunctionCall","src":"244374:16:21"},"nativeSrc":"244374:16:21","nodeType":"YulExpressionStatement","src":"244374:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244410:4:21","nodeType":"YulLiteral","src":"244410:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"244416:2:21","nodeType":"YulIdentifier","src":"244416:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244403:6:21","nodeType":"YulIdentifier","src":"244403:6:21"},"nativeSrc":"244403:16:21","nodeType":"YulFunctionCall","src":"244403:16:21"},"nativeSrc":"244403:16:21","nodeType":"YulExpressionStatement","src":"244403:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244439:4:21","nodeType":"YulLiteral","src":"244439:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"244445:2:21","nodeType":"YulIdentifier","src":"244445:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244432:6:21","nodeType":"YulIdentifier","src":"244432:6:21"},"nativeSrc":"244432:16:21","nodeType":"YulFunctionCall","src":"244432:16:21"},"nativeSrc":"244432:16:21","nodeType":"YulExpressionStatement","src":"244432:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244468:4:21","nodeType":"YulLiteral","src":"244468:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"244474:2:21","nodeType":"YulIdentifier","src":"244474:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244461:6:21","nodeType":"YulIdentifier","src":"244461:6:21"},"nativeSrc":"244461:16:21","nodeType":"YulFunctionCall","src":"244461:16:21"},"nativeSrc":"244461:16:21","nodeType":"YulExpressionStatement","src":"244461:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244497:5:21","nodeType":"YulLiteral","src":"244497:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"244504:2:21","nodeType":"YulIdentifier","src":"244504:2:21"}],"functionName":{"name":"mstore","nativeSrc":"244490:6:21","nodeType":"YulIdentifier","src":"244490:6:21"},"nativeSrc":"244490:17:21","nodeType":"YulFunctionCall","src":"244490:17:21"},"nativeSrc":"244490:17:21","nodeType":"YulExpressionStatement","src":"244490:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34592,"isOffset":false,"isSlot":false,"src":"244271:2:21","valueSize":1},{"declaration":34595,"isOffset":false,"isSlot":false,"src":"244300:2:21","valueSize":1},{"declaration":34598,"isOffset":false,"isSlot":false,"src":"244329:2:21","valueSize":1},{"declaration":34601,"isOffset":false,"isSlot":false,"src":"244358:2:21","valueSize":1},{"declaration":34604,"isOffset":false,"isSlot":false,"src":"244387:2:21","valueSize":1},{"declaration":34607,"isOffset":false,"isSlot":false,"src":"244416:2:21","valueSize":1},{"declaration":34610,"isOffset":false,"isSlot":false,"src":"244445:2:21","valueSize":1},{"declaration":34613,"isOffset":false,"isSlot":false,"src":"244474:2:21","valueSize":1},{"declaration":34616,"isOffset":false,"isSlot":false,"src":"244504:2:21","valueSize":1}],"id":34624,"nodeType":"InlineAssembly","src":"244235:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"242922:3:21","parameters":{"id":34589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34582,"mutability":"mutable","name":"p0","nameLocation":"242931:2:21","nodeType":"VariableDeclaration","scope":34626,"src":"242926:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34581,"name":"bool","nodeType":"ElementaryTypeName","src":"242926:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34584,"mutability":"mutable","name":"p1","nameLocation":"242943:2:21","nodeType":"VariableDeclaration","scope":34626,"src":"242935:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242935:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34586,"mutability":"mutable","name":"p2","nameLocation":"242955:2:21","nodeType":"VariableDeclaration","scope":34626,"src":"242947:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242947:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34588,"mutability":"mutable","name":"p3","nameLocation":"242964:2:21","nodeType":"VariableDeclaration","scope":34626,"src":"242959:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34587,"name":"bool","nodeType":"ElementaryTypeName","src":"242959:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"242925:42:21"},"returnParameters":{"id":34590,"nodeType":"ParameterList","parameters":[],"src":"242982:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34672,"nodeType":"FunctionDefinition","src":"244529:1616:21","nodes":[],"body":{"id":34671,"nodeType":"Block","src":"244601:1544:21","nodes":[],"statements":[{"assignments":[34638],"declarations":[{"constant":false,"id":34638,"mutability":"mutable","name":"m0","nameLocation":"244619:2:21","nodeType":"VariableDeclaration","scope":34671,"src":"244611:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244611:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34639,"nodeType":"VariableDeclarationStatement","src":"244611:10:21"},{"assignments":[34641],"declarations":[{"constant":false,"id":34641,"mutability":"mutable","name":"m1","nameLocation":"244639:2:21","nodeType":"VariableDeclaration","scope":34671,"src":"244631:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244631:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34642,"nodeType":"VariableDeclarationStatement","src":"244631:10:21"},{"assignments":[34644],"declarations":[{"constant":false,"id":34644,"mutability":"mutable","name":"m2","nameLocation":"244659:2:21","nodeType":"VariableDeclaration","scope":34671,"src":"244651:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244651:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34645,"nodeType":"VariableDeclarationStatement","src":"244651:10:21"},{"assignments":[34647],"declarations":[{"constant":false,"id":34647,"mutability":"mutable","name":"m3","nameLocation":"244679:2:21","nodeType":"VariableDeclaration","scope":34671,"src":"244671:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244671:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34648,"nodeType":"VariableDeclarationStatement","src":"244671:10:21"},{"assignments":[34650],"declarations":[{"constant":false,"id":34650,"mutability":"mutable","name":"m4","nameLocation":"244699:2:21","nodeType":"VariableDeclaration","scope":34671,"src":"244691:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244691:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34651,"nodeType":"VariableDeclarationStatement","src":"244691:10:21"},{"assignments":[34653],"declarations":[{"constant":false,"id":34653,"mutability":"mutable","name":"m5","nameLocation":"244719:2:21","nodeType":"VariableDeclaration","scope":34671,"src":"244711:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244711:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34654,"nodeType":"VariableDeclarationStatement","src":"244711:10:21"},{"assignments":[34656],"declarations":[{"constant":false,"id":34656,"mutability":"mutable","name":"m6","nameLocation":"244739:2:21","nodeType":"VariableDeclaration","scope":34671,"src":"244731:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244731:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34657,"nodeType":"VariableDeclarationStatement","src":"244731:10:21"},{"assignments":[34659],"declarations":[{"constant":false,"id":34659,"mutability":"mutable","name":"m7","nameLocation":"244759:2:21","nodeType":"VariableDeclaration","scope":34671,"src":"244751:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244751:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34660,"nodeType":"VariableDeclarationStatement","src":"244751:10:21"},{"assignments":[34662],"declarations":[{"constant":false,"id":34662,"mutability":"mutable","name":"m8","nameLocation":"244779:2:21","nodeType":"VariableDeclaration","scope":34671,"src":"244771:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244771:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34663,"nodeType":"VariableDeclarationStatement","src":"244771:10:21"},{"AST":{"nativeSrc":"244843:924:21","nodeType":"YulBlock","src":"244843:924:21","statements":[{"body":{"nativeSrc":"244886:313:21","nodeType":"YulBlock","src":"244886:313:21","statements":[{"nativeSrc":"244904:15:21","nodeType":"YulVariableDeclaration","src":"244904:15:21","value":{"kind":"number","nativeSrc":"244918:1:21","nodeType":"YulLiteral","src":"244918:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"244908:6:21","nodeType":"YulTypedName","src":"244908:6:21","type":""}]},{"body":{"nativeSrc":"244989:40:21","nodeType":"YulBlock","src":"244989:40:21","statements":[{"body":{"nativeSrc":"245018:9:21","nodeType":"YulBlock","src":"245018:9:21","statements":[{"nativeSrc":"245020:5:21","nodeType":"YulBreak","src":"245020:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"245006:6:21","nodeType":"YulIdentifier","src":"245006:6:21"},{"name":"w","nativeSrc":"245014:1:21","nodeType":"YulIdentifier","src":"245014:1:21"}],"functionName":{"name":"byte","nativeSrc":"245001:4:21","nodeType":"YulIdentifier","src":"245001:4:21"},"nativeSrc":"245001:15:21","nodeType":"YulFunctionCall","src":"245001:15:21"}],"functionName":{"name":"iszero","nativeSrc":"244994:6:21","nodeType":"YulIdentifier","src":"244994:6:21"},"nativeSrc":"244994:23:21","nodeType":"YulFunctionCall","src":"244994:23:21"},"nativeSrc":"244991:36:21","nodeType":"YulIf","src":"244991:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"244946:6:21","nodeType":"YulIdentifier","src":"244946:6:21"},{"kind":"number","nativeSrc":"244954:4:21","nodeType":"YulLiteral","src":"244954:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"244943:2:21","nodeType":"YulIdentifier","src":"244943:2:21"},"nativeSrc":"244943:16:21","nodeType":"YulFunctionCall","src":"244943:16:21"},"nativeSrc":"244936:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"244960:28:21","nodeType":"YulBlock","src":"244960:28:21","statements":[{"nativeSrc":"244962:24:21","nodeType":"YulAssignment","src":"244962:24:21","value":{"arguments":[{"name":"length","nativeSrc":"244976:6:21","nodeType":"YulIdentifier","src":"244976:6:21"},{"kind":"number","nativeSrc":"244984:1:21","nodeType":"YulLiteral","src":"244984:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"244972:3:21","nodeType":"YulIdentifier","src":"244972:3:21"},"nativeSrc":"244972:14:21","nodeType":"YulFunctionCall","src":"244972:14:21"},"variableNames":[{"name":"length","nativeSrc":"244962:6:21","nodeType":"YulIdentifier","src":"244962:6:21"}]}]},"pre":{"nativeSrc":"244940:2:21","nodeType":"YulBlock","src":"244940:2:21","statements":[]},"src":"244936:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"245053:3:21","nodeType":"YulIdentifier","src":"245053:3:21"},{"name":"length","nativeSrc":"245058:6:21","nodeType":"YulIdentifier","src":"245058:6:21"}],"functionName":{"name":"mstore","nativeSrc":"245046:6:21","nodeType":"YulIdentifier","src":"245046:6:21"},"nativeSrc":"245046:19:21","nodeType":"YulFunctionCall","src":"245046:19:21"},"nativeSrc":"245046:19:21","nodeType":"YulExpressionStatement","src":"245046:19:21"},{"nativeSrc":"245082:37:21","nodeType":"YulVariableDeclaration","src":"245082:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"245099:3:21","nodeType":"YulLiteral","src":"245099:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"245108:1:21","nodeType":"YulLiteral","src":"245108:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"245111:6:21","nodeType":"YulIdentifier","src":"245111:6:21"}],"functionName":{"name":"shl","nativeSrc":"245104:3:21","nodeType":"YulIdentifier","src":"245104:3:21"},"nativeSrc":"245104:14:21","nodeType":"YulFunctionCall","src":"245104:14:21"}],"functionName":{"name":"sub","nativeSrc":"245095:3:21","nodeType":"YulIdentifier","src":"245095:3:21"},"nativeSrc":"245095:24:21","nodeType":"YulFunctionCall","src":"245095:24:21"},"variables":[{"name":"shift","nativeSrc":"245086:5:21","nodeType":"YulTypedName","src":"245086:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"245147:3:21","nodeType":"YulIdentifier","src":"245147:3:21"},{"kind":"number","nativeSrc":"245152:4:21","nodeType":"YulLiteral","src":"245152:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"245143:3:21","nodeType":"YulIdentifier","src":"245143:3:21"},"nativeSrc":"245143:14:21","nodeType":"YulFunctionCall","src":"245143:14:21"},{"arguments":[{"name":"shift","nativeSrc":"245163:5:21","nodeType":"YulIdentifier","src":"245163:5:21"},{"arguments":[{"name":"shift","nativeSrc":"245174:5:21","nodeType":"YulIdentifier","src":"245174:5:21"},{"name":"w","nativeSrc":"245181:1:21","nodeType":"YulIdentifier","src":"245181:1:21"}],"functionName":{"name":"shr","nativeSrc":"245170:3:21","nodeType":"YulIdentifier","src":"245170:3:21"},"nativeSrc":"245170:13:21","nodeType":"YulFunctionCall","src":"245170:13:21"}],"functionName":{"name":"shl","nativeSrc":"245159:3:21","nodeType":"YulIdentifier","src":"245159:3:21"},"nativeSrc":"245159:25:21","nodeType":"YulFunctionCall","src":"245159:25:21"}],"functionName":{"name":"mstore","nativeSrc":"245136:6:21","nodeType":"YulIdentifier","src":"245136:6:21"},"nativeSrc":"245136:49:21","nodeType":"YulFunctionCall","src":"245136:49:21"},"nativeSrc":"245136:49:21","nodeType":"YulExpressionStatement","src":"245136:49:21"}]},"name":"writeString","nativeSrc":"244857:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"244878:3:21","nodeType":"YulTypedName","src":"244878:3:21","type":""},{"name":"w","nativeSrc":"244883:1:21","nodeType":"YulTypedName","src":"244883:1:21","type":""}],"src":"244857:342:21"},{"nativeSrc":"245212:17:21","nodeType":"YulAssignment","src":"245212:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"245224:4:21","nodeType":"YulLiteral","src":"245224:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"245218:5:21","nodeType":"YulIdentifier","src":"245218:5:21"},"nativeSrc":"245218:11:21","nodeType":"YulFunctionCall","src":"245218:11:21"},"variableNames":[{"name":"m0","nativeSrc":"245212:2:21","nodeType":"YulIdentifier","src":"245212:2:21"}]},{"nativeSrc":"245242:17:21","nodeType":"YulAssignment","src":"245242:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"245254:4:21","nodeType":"YulLiteral","src":"245254:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"245248:5:21","nodeType":"YulIdentifier","src":"245248:5:21"},"nativeSrc":"245248:11:21","nodeType":"YulFunctionCall","src":"245248:11:21"},"variableNames":[{"name":"m1","nativeSrc":"245242:2:21","nodeType":"YulIdentifier","src":"245242:2:21"}]},{"nativeSrc":"245272:17:21","nodeType":"YulAssignment","src":"245272:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"245284:4:21","nodeType":"YulLiteral","src":"245284:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"245278:5:21","nodeType":"YulIdentifier","src":"245278:5:21"},"nativeSrc":"245278:11:21","nodeType":"YulFunctionCall","src":"245278:11:21"},"variableNames":[{"name":"m2","nativeSrc":"245272:2:21","nodeType":"YulIdentifier","src":"245272:2:21"}]},{"nativeSrc":"245302:17:21","nodeType":"YulAssignment","src":"245302:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"245314:4:21","nodeType":"YulLiteral","src":"245314:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"245308:5:21","nodeType":"YulIdentifier","src":"245308:5:21"},"nativeSrc":"245308:11:21","nodeType":"YulFunctionCall","src":"245308:11:21"},"variableNames":[{"name":"m3","nativeSrc":"245302:2:21","nodeType":"YulIdentifier","src":"245302:2:21"}]},{"nativeSrc":"245332:17:21","nodeType":"YulAssignment","src":"245332:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"245344:4:21","nodeType":"YulLiteral","src":"245344:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"245338:5:21","nodeType":"YulIdentifier","src":"245338:5:21"},"nativeSrc":"245338:11:21","nodeType":"YulFunctionCall","src":"245338:11:21"},"variableNames":[{"name":"m4","nativeSrc":"245332:2:21","nodeType":"YulIdentifier","src":"245332:2:21"}]},{"nativeSrc":"245362:17:21","nodeType":"YulAssignment","src":"245362:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"245374:4:21","nodeType":"YulLiteral","src":"245374:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"245368:5:21","nodeType":"YulIdentifier","src":"245368:5:21"},"nativeSrc":"245368:11:21","nodeType":"YulFunctionCall","src":"245368:11:21"},"variableNames":[{"name":"m5","nativeSrc":"245362:2:21","nodeType":"YulIdentifier","src":"245362:2:21"}]},{"nativeSrc":"245392:17:21","nodeType":"YulAssignment","src":"245392:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"245404:4:21","nodeType":"YulLiteral","src":"245404:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"245398:5:21","nodeType":"YulIdentifier","src":"245398:5:21"},"nativeSrc":"245398:11:21","nodeType":"YulFunctionCall","src":"245398:11:21"},"variableNames":[{"name":"m6","nativeSrc":"245392:2:21","nodeType":"YulIdentifier","src":"245392:2:21"}]},{"nativeSrc":"245422:17:21","nodeType":"YulAssignment","src":"245422:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"245434:4:21","nodeType":"YulLiteral","src":"245434:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"245428:5:21","nodeType":"YulIdentifier","src":"245428:5:21"},"nativeSrc":"245428:11:21","nodeType":"YulFunctionCall","src":"245428:11:21"},"variableNames":[{"name":"m7","nativeSrc":"245422:2:21","nodeType":"YulIdentifier","src":"245422:2:21"}]},{"nativeSrc":"245452:18:21","nodeType":"YulAssignment","src":"245452:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"245464:5:21","nodeType":"YulLiteral","src":"245464:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"245458:5:21","nodeType":"YulIdentifier","src":"245458:5:21"},"nativeSrc":"245458:12:21","nodeType":"YulFunctionCall","src":"245458:12:21"},"variableNames":[{"name":"m8","nativeSrc":"245452:2:21","nodeType":"YulIdentifier","src":"245452:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245552:4:21","nodeType":"YulLiteral","src":"245552:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"245558:10:21","nodeType":"YulLiteral","src":"245558:10:21","type":"","value":"0x7be0c3eb"}],"functionName":{"name":"mstore","nativeSrc":"245545:6:21","nodeType":"YulIdentifier","src":"245545:6:21"},"nativeSrc":"245545:24:21","nodeType":"YulFunctionCall","src":"245545:24:21"},"nativeSrc":"245545:24:21","nodeType":"YulExpressionStatement","src":"245545:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245589:4:21","nodeType":"YulLiteral","src":"245589:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"245595:2:21","nodeType":"YulIdentifier","src":"245595:2:21"}],"functionName":{"name":"mstore","nativeSrc":"245582:6:21","nodeType":"YulIdentifier","src":"245582:6:21"},"nativeSrc":"245582:16:21","nodeType":"YulFunctionCall","src":"245582:16:21"},"nativeSrc":"245582:16:21","nodeType":"YulExpressionStatement","src":"245582:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245618:4:21","nodeType":"YulLiteral","src":"245618:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"245624:4:21","nodeType":"YulLiteral","src":"245624:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"245611:6:21","nodeType":"YulIdentifier","src":"245611:6:21"},"nativeSrc":"245611:18:21","nodeType":"YulFunctionCall","src":"245611:18:21"},"nativeSrc":"245611:18:21","nodeType":"YulExpressionStatement","src":"245611:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245649:4:21","nodeType":"YulLiteral","src":"245649:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"245655:4:21","nodeType":"YulLiteral","src":"245655:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"245642:6:21","nodeType":"YulIdentifier","src":"245642:6:21"},"nativeSrc":"245642:18:21","nodeType":"YulFunctionCall","src":"245642:18:21"},"nativeSrc":"245642:18:21","nodeType":"YulExpressionStatement","src":"245642:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245680:4:21","nodeType":"YulLiteral","src":"245680:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"245686:2:21","nodeType":"YulIdentifier","src":"245686:2:21"}],"functionName":{"name":"mstore","nativeSrc":"245673:6:21","nodeType":"YulIdentifier","src":"245673:6:21"},"nativeSrc":"245673:16:21","nodeType":"YulFunctionCall","src":"245673:16:21"},"nativeSrc":"245673:16:21","nodeType":"YulExpressionStatement","src":"245673:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245714:4:21","nodeType":"YulLiteral","src":"245714:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"245720:2:21","nodeType":"YulIdentifier","src":"245720:2:21"}],"functionName":{"name":"writeString","nativeSrc":"245702:11:21","nodeType":"YulIdentifier","src":"245702:11:21"},"nativeSrc":"245702:21:21","nodeType":"YulFunctionCall","src":"245702:21:21"},"nativeSrc":"245702:21:21","nodeType":"YulExpressionStatement","src":"245702:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245748:4:21","nodeType":"YulLiteral","src":"245748:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"245754:2:21","nodeType":"YulIdentifier","src":"245754:2:21"}],"functionName":{"name":"writeString","nativeSrc":"245736:11:21","nodeType":"YulIdentifier","src":"245736:11:21"},"nativeSrc":"245736:21:21","nodeType":"YulFunctionCall","src":"245736:21:21"},"nativeSrc":"245736:21:21","nodeType":"YulExpressionStatement","src":"245736:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34638,"isOffset":false,"isSlot":false,"src":"245212:2:21","valueSize":1},{"declaration":34641,"isOffset":false,"isSlot":false,"src":"245242:2:21","valueSize":1},{"declaration":34644,"isOffset":false,"isSlot":false,"src":"245272:2:21","valueSize":1},{"declaration":34647,"isOffset":false,"isSlot":false,"src":"245302:2:21","valueSize":1},{"declaration":34650,"isOffset":false,"isSlot":false,"src":"245332:2:21","valueSize":1},{"declaration":34653,"isOffset":false,"isSlot":false,"src":"245362:2:21","valueSize":1},{"declaration":34656,"isOffset":false,"isSlot":false,"src":"245392:2:21","valueSize":1},{"declaration":34659,"isOffset":false,"isSlot":false,"src":"245422:2:21","valueSize":1},{"declaration":34662,"isOffset":false,"isSlot":false,"src":"245452:2:21","valueSize":1},{"declaration":34628,"isOffset":false,"isSlot":false,"src":"245595:2:21","valueSize":1},{"declaration":34630,"isOffset":false,"isSlot":false,"src":"245720:2:21","valueSize":1},{"declaration":34632,"isOffset":false,"isSlot":false,"src":"245754:2:21","valueSize":1},{"declaration":34634,"isOffset":false,"isSlot":false,"src":"245686:2:21","valueSize":1}],"id":34664,"nodeType":"InlineAssembly","src":"244834:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"245792:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":34667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"245798:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":34665,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"245776:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"245776:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34669,"nodeType":"ExpressionStatement","src":"245776:28:21"},{"AST":{"nativeSrc":"245866:273:21","nodeType":"YulBlock","src":"245866:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"245887:4:21","nodeType":"YulLiteral","src":"245887:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"245893:2:21","nodeType":"YulIdentifier","src":"245893:2:21"}],"functionName":{"name":"mstore","nativeSrc":"245880:6:21","nodeType":"YulIdentifier","src":"245880:6:21"},"nativeSrc":"245880:16:21","nodeType":"YulFunctionCall","src":"245880:16:21"},"nativeSrc":"245880:16:21","nodeType":"YulExpressionStatement","src":"245880:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245916:4:21","nodeType":"YulLiteral","src":"245916:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"245922:2:21","nodeType":"YulIdentifier","src":"245922:2:21"}],"functionName":{"name":"mstore","nativeSrc":"245909:6:21","nodeType":"YulIdentifier","src":"245909:6:21"},"nativeSrc":"245909:16:21","nodeType":"YulFunctionCall","src":"245909:16:21"},"nativeSrc":"245909:16:21","nodeType":"YulExpressionStatement","src":"245909:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245945:4:21","nodeType":"YulLiteral","src":"245945:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"245951:2:21","nodeType":"YulIdentifier","src":"245951:2:21"}],"functionName":{"name":"mstore","nativeSrc":"245938:6:21","nodeType":"YulIdentifier","src":"245938:6:21"},"nativeSrc":"245938:16:21","nodeType":"YulFunctionCall","src":"245938:16:21"},"nativeSrc":"245938:16:21","nodeType":"YulExpressionStatement","src":"245938:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245974:4:21","nodeType":"YulLiteral","src":"245974:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"245980:2:21","nodeType":"YulIdentifier","src":"245980:2:21"}],"functionName":{"name":"mstore","nativeSrc":"245967:6:21","nodeType":"YulIdentifier","src":"245967:6:21"},"nativeSrc":"245967:16:21","nodeType":"YulFunctionCall","src":"245967:16:21"},"nativeSrc":"245967:16:21","nodeType":"YulExpressionStatement","src":"245967:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246003:4:21","nodeType":"YulLiteral","src":"246003:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"246009:2:21","nodeType":"YulIdentifier","src":"246009:2:21"}],"functionName":{"name":"mstore","nativeSrc":"245996:6:21","nodeType":"YulIdentifier","src":"245996:6:21"},"nativeSrc":"245996:16:21","nodeType":"YulFunctionCall","src":"245996:16:21"},"nativeSrc":"245996:16:21","nodeType":"YulExpressionStatement","src":"245996:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246032:4:21","nodeType":"YulLiteral","src":"246032:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"246038:2:21","nodeType":"YulIdentifier","src":"246038:2:21"}],"functionName":{"name":"mstore","nativeSrc":"246025:6:21","nodeType":"YulIdentifier","src":"246025:6:21"},"nativeSrc":"246025:16:21","nodeType":"YulFunctionCall","src":"246025:16:21"},"nativeSrc":"246025:16:21","nodeType":"YulExpressionStatement","src":"246025:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246061:4:21","nodeType":"YulLiteral","src":"246061:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"246067:2:21","nodeType":"YulIdentifier","src":"246067:2:21"}],"functionName":{"name":"mstore","nativeSrc":"246054:6:21","nodeType":"YulIdentifier","src":"246054:6:21"},"nativeSrc":"246054:16:21","nodeType":"YulFunctionCall","src":"246054:16:21"},"nativeSrc":"246054:16:21","nodeType":"YulExpressionStatement","src":"246054:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246090:4:21","nodeType":"YulLiteral","src":"246090:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"246096:2:21","nodeType":"YulIdentifier","src":"246096:2:21"}],"functionName":{"name":"mstore","nativeSrc":"246083:6:21","nodeType":"YulIdentifier","src":"246083:6:21"},"nativeSrc":"246083:16:21","nodeType":"YulFunctionCall","src":"246083:16:21"},"nativeSrc":"246083:16:21","nodeType":"YulExpressionStatement","src":"246083:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246119:5:21","nodeType":"YulLiteral","src":"246119:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"246126:2:21","nodeType":"YulIdentifier","src":"246126:2:21"}],"functionName":{"name":"mstore","nativeSrc":"246112:6:21","nodeType":"YulIdentifier","src":"246112:6:21"},"nativeSrc":"246112:17:21","nodeType":"YulFunctionCall","src":"246112:17:21"},"nativeSrc":"246112:17:21","nodeType":"YulExpressionStatement","src":"246112:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34638,"isOffset":false,"isSlot":false,"src":"245893:2:21","valueSize":1},{"declaration":34641,"isOffset":false,"isSlot":false,"src":"245922:2:21","valueSize":1},{"declaration":34644,"isOffset":false,"isSlot":false,"src":"245951:2:21","valueSize":1},{"declaration":34647,"isOffset":false,"isSlot":false,"src":"245980:2:21","valueSize":1},{"declaration":34650,"isOffset":false,"isSlot":false,"src":"246009:2:21","valueSize":1},{"declaration":34653,"isOffset":false,"isSlot":false,"src":"246038:2:21","valueSize":1},{"declaration":34656,"isOffset":false,"isSlot":false,"src":"246067:2:21","valueSize":1},{"declaration":34659,"isOffset":false,"isSlot":false,"src":"246096:2:21","valueSize":1},{"declaration":34662,"isOffset":false,"isSlot":false,"src":"246126:2:21","valueSize":1}],"id":34670,"nodeType":"InlineAssembly","src":"245857:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"244538:3:21","parameters":{"id":34635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34628,"mutability":"mutable","name":"p0","nameLocation":"244547:2:21","nodeType":"VariableDeclaration","scope":34672,"src":"244542:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34627,"name":"bool","nodeType":"ElementaryTypeName","src":"244542:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34630,"mutability":"mutable","name":"p1","nameLocation":"244559:2:21","nodeType":"VariableDeclaration","scope":34672,"src":"244551:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244551:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34632,"mutability":"mutable","name":"p2","nameLocation":"244571:2:21","nodeType":"VariableDeclaration","scope":34672,"src":"244563:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244563:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34634,"mutability":"mutable","name":"p3","nameLocation":"244583:2:21","nodeType":"VariableDeclaration","scope":34672,"src":"244575:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34633,"name":"uint256","nodeType":"ElementaryTypeName","src":"244575:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"244541:45:21"},"returnParameters":{"id":34636,"nodeType":"ParameterList","parameters":[],"src":"244601:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34724,"nodeType":"FunctionDefinition","src":"246151:1818:21","nodes":[],"body":{"id":34723,"nodeType":"Block","src":"246223:1746:21","nodes":[],"statements":[{"assignments":[34684],"declarations":[{"constant":false,"id":34684,"mutability":"mutable","name":"m0","nameLocation":"246241:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246233:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246233:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34685,"nodeType":"VariableDeclarationStatement","src":"246233:10:21"},{"assignments":[34687],"declarations":[{"constant":false,"id":34687,"mutability":"mutable","name":"m1","nameLocation":"246261:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246253:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246253:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34688,"nodeType":"VariableDeclarationStatement","src":"246253:10:21"},{"assignments":[34690],"declarations":[{"constant":false,"id":34690,"mutability":"mutable","name":"m2","nameLocation":"246281:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246273:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246273:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34691,"nodeType":"VariableDeclarationStatement","src":"246273:10:21"},{"assignments":[34693],"declarations":[{"constant":false,"id":34693,"mutability":"mutable","name":"m3","nameLocation":"246301:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246293:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246293:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34694,"nodeType":"VariableDeclarationStatement","src":"246293:10:21"},{"assignments":[34696],"declarations":[{"constant":false,"id":34696,"mutability":"mutable","name":"m4","nameLocation":"246321:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246313:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246313:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34697,"nodeType":"VariableDeclarationStatement","src":"246313:10:21"},{"assignments":[34699],"declarations":[{"constant":false,"id":34699,"mutability":"mutable","name":"m5","nameLocation":"246341:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246333:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246333:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34700,"nodeType":"VariableDeclarationStatement","src":"246333:10:21"},{"assignments":[34702],"declarations":[{"constant":false,"id":34702,"mutability":"mutable","name":"m6","nameLocation":"246361:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246353:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246353:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34703,"nodeType":"VariableDeclarationStatement","src":"246353:10:21"},{"assignments":[34705],"declarations":[{"constant":false,"id":34705,"mutability":"mutable","name":"m7","nameLocation":"246381:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246373:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246373:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34706,"nodeType":"VariableDeclarationStatement","src":"246373:10:21"},{"assignments":[34708],"declarations":[{"constant":false,"id":34708,"mutability":"mutable","name":"m8","nameLocation":"246401:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246393:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246393:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34709,"nodeType":"VariableDeclarationStatement","src":"246393:10:21"},{"assignments":[34711],"declarations":[{"constant":false,"id":34711,"mutability":"mutable","name":"m9","nameLocation":"246421:2:21","nodeType":"VariableDeclaration","scope":34723,"src":"246413:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246413:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34712,"nodeType":"VariableDeclarationStatement","src":"246413:10:21"},{"assignments":[34714],"declarations":[{"constant":false,"id":34714,"mutability":"mutable","name":"m10","nameLocation":"246441:3:21","nodeType":"VariableDeclaration","scope":34723,"src":"246433:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246433:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34715,"nodeType":"VariableDeclarationStatement","src":"246433:11:21"},{"AST":{"nativeSrc":"246506:1024:21","nodeType":"YulBlock","src":"246506:1024:21","statements":[{"body":{"nativeSrc":"246549:313:21","nodeType":"YulBlock","src":"246549:313:21","statements":[{"nativeSrc":"246567:15:21","nodeType":"YulVariableDeclaration","src":"246567:15:21","value":{"kind":"number","nativeSrc":"246581:1:21","nodeType":"YulLiteral","src":"246581:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"246571:6:21","nodeType":"YulTypedName","src":"246571:6:21","type":""}]},{"body":{"nativeSrc":"246652:40:21","nodeType":"YulBlock","src":"246652:40:21","statements":[{"body":{"nativeSrc":"246681:9:21","nodeType":"YulBlock","src":"246681:9:21","statements":[{"nativeSrc":"246683:5:21","nodeType":"YulBreak","src":"246683:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"246669:6:21","nodeType":"YulIdentifier","src":"246669:6:21"},{"name":"w","nativeSrc":"246677:1:21","nodeType":"YulIdentifier","src":"246677:1:21"}],"functionName":{"name":"byte","nativeSrc":"246664:4:21","nodeType":"YulIdentifier","src":"246664:4:21"},"nativeSrc":"246664:15:21","nodeType":"YulFunctionCall","src":"246664:15:21"}],"functionName":{"name":"iszero","nativeSrc":"246657:6:21","nodeType":"YulIdentifier","src":"246657:6:21"},"nativeSrc":"246657:23:21","nodeType":"YulFunctionCall","src":"246657:23:21"},"nativeSrc":"246654:36:21","nodeType":"YulIf","src":"246654:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"246609:6:21","nodeType":"YulIdentifier","src":"246609:6:21"},{"kind":"number","nativeSrc":"246617:4:21","nodeType":"YulLiteral","src":"246617:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"246606:2:21","nodeType":"YulIdentifier","src":"246606:2:21"},"nativeSrc":"246606:16:21","nodeType":"YulFunctionCall","src":"246606:16:21"},"nativeSrc":"246599:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"246623:28:21","nodeType":"YulBlock","src":"246623:28:21","statements":[{"nativeSrc":"246625:24:21","nodeType":"YulAssignment","src":"246625:24:21","value":{"arguments":[{"name":"length","nativeSrc":"246639:6:21","nodeType":"YulIdentifier","src":"246639:6:21"},{"kind":"number","nativeSrc":"246647:1:21","nodeType":"YulLiteral","src":"246647:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"246635:3:21","nodeType":"YulIdentifier","src":"246635:3:21"},"nativeSrc":"246635:14:21","nodeType":"YulFunctionCall","src":"246635:14:21"},"variableNames":[{"name":"length","nativeSrc":"246625:6:21","nodeType":"YulIdentifier","src":"246625:6:21"}]}]},"pre":{"nativeSrc":"246603:2:21","nodeType":"YulBlock","src":"246603:2:21","statements":[]},"src":"246599:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"246716:3:21","nodeType":"YulIdentifier","src":"246716:3:21"},{"name":"length","nativeSrc":"246721:6:21","nodeType":"YulIdentifier","src":"246721:6:21"}],"functionName":{"name":"mstore","nativeSrc":"246709:6:21","nodeType":"YulIdentifier","src":"246709:6:21"},"nativeSrc":"246709:19:21","nodeType":"YulFunctionCall","src":"246709:19:21"},"nativeSrc":"246709:19:21","nodeType":"YulExpressionStatement","src":"246709:19:21"},{"nativeSrc":"246745:37:21","nodeType":"YulVariableDeclaration","src":"246745:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"246762:3:21","nodeType":"YulLiteral","src":"246762:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"246771:1:21","nodeType":"YulLiteral","src":"246771:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"246774:6:21","nodeType":"YulIdentifier","src":"246774:6:21"}],"functionName":{"name":"shl","nativeSrc":"246767:3:21","nodeType":"YulIdentifier","src":"246767:3:21"},"nativeSrc":"246767:14:21","nodeType":"YulFunctionCall","src":"246767:14:21"}],"functionName":{"name":"sub","nativeSrc":"246758:3:21","nodeType":"YulIdentifier","src":"246758:3:21"},"nativeSrc":"246758:24:21","nodeType":"YulFunctionCall","src":"246758:24:21"},"variables":[{"name":"shift","nativeSrc":"246749:5:21","nodeType":"YulTypedName","src":"246749:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"246810:3:21","nodeType":"YulIdentifier","src":"246810:3:21"},{"kind":"number","nativeSrc":"246815:4:21","nodeType":"YulLiteral","src":"246815:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"246806:3:21","nodeType":"YulIdentifier","src":"246806:3:21"},"nativeSrc":"246806:14:21","nodeType":"YulFunctionCall","src":"246806:14:21"},{"arguments":[{"name":"shift","nativeSrc":"246826:5:21","nodeType":"YulIdentifier","src":"246826:5:21"},{"arguments":[{"name":"shift","nativeSrc":"246837:5:21","nodeType":"YulIdentifier","src":"246837:5:21"},{"name":"w","nativeSrc":"246844:1:21","nodeType":"YulIdentifier","src":"246844:1:21"}],"functionName":{"name":"shr","nativeSrc":"246833:3:21","nodeType":"YulIdentifier","src":"246833:3:21"},"nativeSrc":"246833:13:21","nodeType":"YulFunctionCall","src":"246833:13:21"}],"functionName":{"name":"shl","nativeSrc":"246822:3:21","nodeType":"YulIdentifier","src":"246822:3:21"},"nativeSrc":"246822:25:21","nodeType":"YulFunctionCall","src":"246822:25:21"}],"functionName":{"name":"mstore","nativeSrc":"246799:6:21","nodeType":"YulIdentifier","src":"246799:6:21"},"nativeSrc":"246799:49:21","nodeType":"YulFunctionCall","src":"246799:49:21"},"nativeSrc":"246799:49:21","nodeType":"YulExpressionStatement","src":"246799:49:21"}]},"name":"writeString","nativeSrc":"246520:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"246541:3:21","nodeType":"YulTypedName","src":"246541:3:21","type":""},{"name":"w","nativeSrc":"246546:1:21","nodeType":"YulTypedName","src":"246546:1:21","type":""}],"src":"246520:342:21"},{"nativeSrc":"246875:17:21","nodeType":"YulAssignment","src":"246875:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"246887:4:21","nodeType":"YulLiteral","src":"246887:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"246881:5:21","nodeType":"YulIdentifier","src":"246881:5:21"},"nativeSrc":"246881:11:21","nodeType":"YulFunctionCall","src":"246881:11:21"},"variableNames":[{"name":"m0","nativeSrc":"246875:2:21","nodeType":"YulIdentifier","src":"246875:2:21"}]},{"nativeSrc":"246905:17:21","nodeType":"YulAssignment","src":"246905:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"246917:4:21","nodeType":"YulLiteral","src":"246917:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"246911:5:21","nodeType":"YulIdentifier","src":"246911:5:21"},"nativeSrc":"246911:11:21","nodeType":"YulFunctionCall","src":"246911:11:21"},"variableNames":[{"name":"m1","nativeSrc":"246905:2:21","nodeType":"YulIdentifier","src":"246905:2:21"}]},{"nativeSrc":"246935:17:21","nodeType":"YulAssignment","src":"246935:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"246947:4:21","nodeType":"YulLiteral","src":"246947:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"246941:5:21","nodeType":"YulIdentifier","src":"246941:5:21"},"nativeSrc":"246941:11:21","nodeType":"YulFunctionCall","src":"246941:11:21"},"variableNames":[{"name":"m2","nativeSrc":"246935:2:21","nodeType":"YulIdentifier","src":"246935:2:21"}]},{"nativeSrc":"246965:17:21","nodeType":"YulAssignment","src":"246965:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"246977:4:21","nodeType":"YulLiteral","src":"246977:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"246971:5:21","nodeType":"YulIdentifier","src":"246971:5:21"},"nativeSrc":"246971:11:21","nodeType":"YulFunctionCall","src":"246971:11:21"},"variableNames":[{"name":"m3","nativeSrc":"246965:2:21","nodeType":"YulIdentifier","src":"246965:2:21"}]},{"nativeSrc":"246995:17:21","nodeType":"YulAssignment","src":"246995:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"247007:4:21","nodeType":"YulLiteral","src":"247007:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"247001:5:21","nodeType":"YulIdentifier","src":"247001:5:21"},"nativeSrc":"247001:11:21","nodeType":"YulFunctionCall","src":"247001:11:21"},"variableNames":[{"name":"m4","nativeSrc":"246995:2:21","nodeType":"YulIdentifier","src":"246995:2:21"}]},{"nativeSrc":"247025:17:21","nodeType":"YulAssignment","src":"247025:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"247037:4:21","nodeType":"YulLiteral","src":"247037:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"247031:5:21","nodeType":"YulIdentifier","src":"247031:5:21"},"nativeSrc":"247031:11:21","nodeType":"YulFunctionCall","src":"247031:11:21"},"variableNames":[{"name":"m5","nativeSrc":"247025:2:21","nodeType":"YulIdentifier","src":"247025:2:21"}]},{"nativeSrc":"247055:17:21","nodeType":"YulAssignment","src":"247055:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"247067:4:21","nodeType":"YulLiteral","src":"247067:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"247061:5:21","nodeType":"YulIdentifier","src":"247061:5:21"},"nativeSrc":"247061:11:21","nodeType":"YulFunctionCall","src":"247061:11:21"},"variableNames":[{"name":"m6","nativeSrc":"247055:2:21","nodeType":"YulIdentifier","src":"247055:2:21"}]},{"nativeSrc":"247085:17:21","nodeType":"YulAssignment","src":"247085:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"247097:4:21","nodeType":"YulLiteral","src":"247097:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"247091:5:21","nodeType":"YulIdentifier","src":"247091:5:21"},"nativeSrc":"247091:11:21","nodeType":"YulFunctionCall","src":"247091:11:21"},"variableNames":[{"name":"m7","nativeSrc":"247085:2:21","nodeType":"YulIdentifier","src":"247085:2:21"}]},{"nativeSrc":"247115:18:21","nodeType":"YulAssignment","src":"247115:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"247127:5:21","nodeType":"YulLiteral","src":"247127:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"247121:5:21","nodeType":"YulIdentifier","src":"247121:5:21"},"nativeSrc":"247121:12:21","nodeType":"YulFunctionCall","src":"247121:12:21"},"variableNames":[{"name":"m8","nativeSrc":"247115:2:21","nodeType":"YulIdentifier","src":"247115:2:21"}]},{"nativeSrc":"247146:18:21","nodeType":"YulAssignment","src":"247146:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"247158:5:21","nodeType":"YulLiteral","src":"247158:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"247152:5:21","nodeType":"YulIdentifier","src":"247152:5:21"},"nativeSrc":"247152:12:21","nodeType":"YulFunctionCall","src":"247152:12:21"},"variableNames":[{"name":"m9","nativeSrc":"247146:2:21","nodeType":"YulIdentifier","src":"247146:2:21"}]},{"nativeSrc":"247177:19:21","nodeType":"YulAssignment","src":"247177:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"247190:5:21","nodeType":"YulLiteral","src":"247190:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"247184:5:21","nodeType":"YulIdentifier","src":"247184:5:21"},"nativeSrc":"247184:12:21","nodeType":"YulFunctionCall","src":"247184:12:21"},"variableNames":[{"name":"m10","nativeSrc":"247177:3:21","nodeType":"YulIdentifier","src":"247177:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247277:4:21","nodeType":"YulLiteral","src":"247277:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"247283:10:21","nodeType":"YulLiteral","src":"247283:10:21","type":"","value":"0x1762e32a"}],"functionName":{"name":"mstore","nativeSrc":"247270:6:21","nodeType":"YulIdentifier","src":"247270:6:21"},"nativeSrc":"247270:24:21","nodeType":"YulFunctionCall","src":"247270:24:21"},"nativeSrc":"247270:24:21","nodeType":"YulExpressionStatement","src":"247270:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247314:4:21","nodeType":"YulLiteral","src":"247314:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"247320:2:21","nodeType":"YulIdentifier","src":"247320:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247307:6:21","nodeType":"YulIdentifier","src":"247307:6:21"},"nativeSrc":"247307:16:21","nodeType":"YulFunctionCall","src":"247307:16:21"},"nativeSrc":"247307:16:21","nodeType":"YulExpressionStatement","src":"247307:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247343:4:21","nodeType":"YulLiteral","src":"247343:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"247349:4:21","nodeType":"YulLiteral","src":"247349:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"247336:6:21","nodeType":"YulIdentifier","src":"247336:6:21"},"nativeSrc":"247336:18:21","nodeType":"YulFunctionCall","src":"247336:18:21"},"nativeSrc":"247336:18:21","nodeType":"YulExpressionStatement","src":"247336:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247374:4:21","nodeType":"YulLiteral","src":"247374:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"247380:4:21","nodeType":"YulLiteral","src":"247380:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"247367:6:21","nodeType":"YulIdentifier","src":"247367:6:21"},"nativeSrc":"247367:18:21","nodeType":"YulFunctionCall","src":"247367:18:21"},"nativeSrc":"247367:18:21","nodeType":"YulExpressionStatement","src":"247367:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247405:4:21","nodeType":"YulLiteral","src":"247405:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"247411:5:21","nodeType":"YulLiteral","src":"247411:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"247398:6:21","nodeType":"YulIdentifier","src":"247398:6:21"},"nativeSrc":"247398:19:21","nodeType":"YulFunctionCall","src":"247398:19:21"},"nativeSrc":"247398:19:21","nodeType":"YulExpressionStatement","src":"247398:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247442:4:21","nodeType":"YulLiteral","src":"247442:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"247448:2:21","nodeType":"YulIdentifier","src":"247448:2:21"}],"functionName":{"name":"writeString","nativeSrc":"247430:11:21","nodeType":"YulIdentifier","src":"247430:11:21"},"nativeSrc":"247430:21:21","nodeType":"YulFunctionCall","src":"247430:21:21"},"nativeSrc":"247430:21:21","nodeType":"YulExpressionStatement","src":"247430:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247476:4:21","nodeType":"YulLiteral","src":"247476:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"247482:2:21","nodeType":"YulIdentifier","src":"247482:2:21"}],"functionName":{"name":"writeString","nativeSrc":"247464:11:21","nodeType":"YulIdentifier","src":"247464:11:21"},"nativeSrc":"247464:21:21","nodeType":"YulFunctionCall","src":"247464:21:21"},"nativeSrc":"247464:21:21","nodeType":"YulExpressionStatement","src":"247464:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247510:5:21","nodeType":"YulLiteral","src":"247510:5:21","type":"","value":"0x120"},{"name":"p3","nativeSrc":"247517:2:21","nodeType":"YulIdentifier","src":"247517:2:21"}],"functionName":{"name":"writeString","nativeSrc":"247498:11:21","nodeType":"YulIdentifier","src":"247498:11:21"},"nativeSrc":"247498:22:21","nodeType":"YulFunctionCall","src":"247498:22:21"},"nativeSrc":"247498:22:21","nodeType":"YulExpressionStatement","src":"247498:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34684,"isOffset":false,"isSlot":false,"src":"246875:2:21","valueSize":1},{"declaration":34687,"isOffset":false,"isSlot":false,"src":"246905:2:21","valueSize":1},{"declaration":34714,"isOffset":false,"isSlot":false,"src":"247177:3:21","valueSize":1},{"declaration":34690,"isOffset":false,"isSlot":false,"src":"246935:2:21","valueSize":1},{"declaration":34693,"isOffset":false,"isSlot":false,"src":"246965:2:21","valueSize":1},{"declaration":34696,"isOffset":false,"isSlot":false,"src":"246995:2:21","valueSize":1},{"declaration":34699,"isOffset":false,"isSlot":false,"src":"247025:2:21","valueSize":1},{"declaration":34702,"isOffset":false,"isSlot":false,"src":"247055:2:21","valueSize":1},{"declaration":34705,"isOffset":false,"isSlot":false,"src":"247085:2:21","valueSize":1},{"declaration":34708,"isOffset":false,"isSlot":false,"src":"247115:2:21","valueSize":1},{"declaration":34711,"isOffset":false,"isSlot":false,"src":"247146:2:21","valueSize":1},{"declaration":34674,"isOffset":false,"isSlot":false,"src":"247320:2:21","valueSize":1},{"declaration":34676,"isOffset":false,"isSlot":false,"src":"247448:2:21","valueSize":1},{"declaration":34678,"isOffset":false,"isSlot":false,"src":"247482:2:21","valueSize":1},{"declaration":34680,"isOffset":false,"isSlot":false,"src":"247517:2:21","valueSize":1}],"id":34716,"nodeType":"InlineAssembly","src":"246497:1033:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"247555:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":34719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"247561:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":34717,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"247539:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"247539:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34721,"nodeType":"ExpressionStatement","src":"247539:28:21"},{"AST":{"nativeSrc":"247629:334:21","nodeType":"YulBlock","src":"247629:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"247650:4:21","nodeType":"YulLiteral","src":"247650:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"247656:2:21","nodeType":"YulIdentifier","src":"247656:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247643:6:21","nodeType":"YulIdentifier","src":"247643:6:21"},"nativeSrc":"247643:16:21","nodeType":"YulFunctionCall","src":"247643:16:21"},"nativeSrc":"247643:16:21","nodeType":"YulExpressionStatement","src":"247643:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247679:4:21","nodeType":"YulLiteral","src":"247679:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"247685:2:21","nodeType":"YulIdentifier","src":"247685:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247672:6:21","nodeType":"YulIdentifier","src":"247672:6:21"},"nativeSrc":"247672:16:21","nodeType":"YulFunctionCall","src":"247672:16:21"},"nativeSrc":"247672:16:21","nodeType":"YulExpressionStatement","src":"247672:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247708:4:21","nodeType":"YulLiteral","src":"247708:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"247714:2:21","nodeType":"YulIdentifier","src":"247714:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247701:6:21","nodeType":"YulIdentifier","src":"247701:6:21"},"nativeSrc":"247701:16:21","nodeType":"YulFunctionCall","src":"247701:16:21"},"nativeSrc":"247701:16:21","nodeType":"YulExpressionStatement","src":"247701:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247737:4:21","nodeType":"YulLiteral","src":"247737:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"247743:2:21","nodeType":"YulIdentifier","src":"247743:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247730:6:21","nodeType":"YulIdentifier","src":"247730:6:21"},"nativeSrc":"247730:16:21","nodeType":"YulFunctionCall","src":"247730:16:21"},"nativeSrc":"247730:16:21","nodeType":"YulExpressionStatement","src":"247730:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247766:4:21","nodeType":"YulLiteral","src":"247766:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"247772:2:21","nodeType":"YulIdentifier","src":"247772:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247759:6:21","nodeType":"YulIdentifier","src":"247759:6:21"},"nativeSrc":"247759:16:21","nodeType":"YulFunctionCall","src":"247759:16:21"},"nativeSrc":"247759:16:21","nodeType":"YulExpressionStatement","src":"247759:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247795:4:21","nodeType":"YulLiteral","src":"247795:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"247801:2:21","nodeType":"YulIdentifier","src":"247801:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247788:6:21","nodeType":"YulIdentifier","src":"247788:6:21"},"nativeSrc":"247788:16:21","nodeType":"YulFunctionCall","src":"247788:16:21"},"nativeSrc":"247788:16:21","nodeType":"YulExpressionStatement","src":"247788:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247824:4:21","nodeType":"YulLiteral","src":"247824:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"247830:2:21","nodeType":"YulIdentifier","src":"247830:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247817:6:21","nodeType":"YulIdentifier","src":"247817:6:21"},"nativeSrc":"247817:16:21","nodeType":"YulFunctionCall","src":"247817:16:21"},"nativeSrc":"247817:16:21","nodeType":"YulExpressionStatement","src":"247817:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247853:4:21","nodeType":"YulLiteral","src":"247853:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"247859:2:21","nodeType":"YulIdentifier","src":"247859:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247846:6:21","nodeType":"YulIdentifier","src":"247846:6:21"},"nativeSrc":"247846:16:21","nodeType":"YulFunctionCall","src":"247846:16:21"},"nativeSrc":"247846:16:21","nodeType":"YulExpressionStatement","src":"247846:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247882:5:21","nodeType":"YulLiteral","src":"247882:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"247889:2:21","nodeType":"YulIdentifier","src":"247889:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247875:6:21","nodeType":"YulIdentifier","src":"247875:6:21"},"nativeSrc":"247875:17:21","nodeType":"YulFunctionCall","src":"247875:17:21"},"nativeSrc":"247875:17:21","nodeType":"YulExpressionStatement","src":"247875:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247912:5:21","nodeType":"YulLiteral","src":"247912:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"247919:2:21","nodeType":"YulIdentifier","src":"247919:2:21"}],"functionName":{"name":"mstore","nativeSrc":"247905:6:21","nodeType":"YulIdentifier","src":"247905:6:21"},"nativeSrc":"247905:17:21","nodeType":"YulFunctionCall","src":"247905:17:21"},"nativeSrc":"247905:17:21","nodeType":"YulExpressionStatement","src":"247905:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247942:5:21","nodeType":"YulLiteral","src":"247942:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"247949:3:21","nodeType":"YulIdentifier","src":"247949:3:21"}],"functionName":{"name":"mstore","nativeSrc":"247935:6:21","nodeType":"YulIdentifier","src":"247935:6:21"},"nativeSrc":"247935:18:21","nodeType":"YulFunctionCall","src":"247935:18:21"},"nativeSrc":"247935:18:21","nodeType":"YulExpressionStatement","src":"247935:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34684,"isOffset":false,"isSlot":false,"src":"247656:2:21","valueSize":1},{"declaration":34687,"isOffset":false,"isSlot":false,"src":"247685:2:21","valueSize":1},{"declaration":34714,"isOffset":false,"isSlot":false,"src":"247949:3:21","valueSize":1},{"declaration":34690,"isOffset":false,"isSlot":false,"src":"247714:2:21","valueSize":1},{"declaration":34693,"isOffset":false,"isSlot":false,"src":"247743:2:21","valueSize":1},{"declaration":34696,"isOffset":false,"isSlot":false,"src":"247772:2:21","valueSize":1},{"declaration":34699,"isOffset":false,"isSlot":false,"src":"247801:2:21","valueSize":1},{"declaration":34702,"isOffset":false,"isSlot":false,"src":"247830:2:21","valueSize":1},{"declaration":34705,"isOffset":false,"isSlot":false,"src":"247859:2:21","valueSize":1},{"declaration":34708,"isOffset":false,"isSlot":false,"src":"247889:2:21","valueSize":1},{"declaration":34711,"isOffset":false,"isSlot":false,"src":"247919:2:21","valueSize":1}],"id":34722,"nodeType":"InlineAssembly","src":"247620:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"246160:3:21","parameters":{"id":34681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34674,"mutability":"mutable","name":"p0","nameLocation":"246169:2:21","nodeType":"VariableDeclaration","scope":34724,"src":"246164:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34673,"name":"bool","nodeType":"ElementaryTypeName","src":"246164:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34676,"mutability":"mutable","name":"p1","nameLocation":"246181:2:21","nodeType":"VariableDeclaration","scope":34724,"src":"246173:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246173:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34678,"mutability":"mutable","name":"p2","nameLocation":"246193:2:21","nodeType":"VariableDeclaration","scope":34724,"src":"246185:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246185:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34680,"mutability":"mutable","name":"p3","nameLocation":"246205:2:21","nodeType":"VariableDeclaration","scope":34724,"src":"246197:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246197:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"246163:45:21"},"returnParameters":{"id":34682,"nodeType":"ParameterList","parameters":[],"src":"246223:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34758,"nodeType":"FunctionDefinition","src":"247975:878:21","nodes":[],"body":{"id":34757,"nodeType":"Block","src":"248050:803:21","nodes":[],"statements":[{"assignments":[34736],"declarations":[{"constant":false,"id":34736,"mutability":"mutable","name":"m0","nameLocation":"248068:2:21","nodeType":"VariableDeclaration","scope":34757,"src":"248060:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248060:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34737,"nodeType":"VariableDeclarationStatement","src":"248060:10:21"},{"assignments":[34739],"declarations":[{"constant":false,"id":34739,"mutability":"mutable","name":"m1","nameLocation":"248088:2:21","nodeType":"VariableDeclaration","scope":34757,"src":"248080:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248080:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34740,"nodeType":"VariableDeclarationStatement","src":"248080:10:21"},{"assignments":[34742],"declarations":[{"constant":false,"id":34742,"mutability":"mutable","name":"m2","nameLocation":"248108:2:21","nodeType":"VariableDeclaration","scope":34757,"src":"248100:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248100:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34743,"nodeType":"VariableDeclarationStatement","src":"248100:10:21"},{"assignments":[34745],"declarations":[{"constant":false,"id":34745,"mutability":"mutable","name":"m3","nameLocation":"248128:2:21","nodeType":"VariableDeclaration","scope":34757,"src":"248120:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248120:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34746,"nodeType":"VariableDeclarationStatement","src":"248120:10:21"},{"assignments":[34748],"declarations":[{"constant":false,"id":34748,"mutability":"mutable","name":"m4","nameLocation":"248148:2:21","nodeType":"VariableDeclaration","scope":34757,"src":"248140:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248140:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34749,"nodeType":"VariableDeclarationStatement","src":"248140:10:21"},{"AST":{"nativeSrc":"248212:381:21","nodeType":"YulBlock","src":"248212:381:21","statements":[{"nativeSrc":"248226:17:21","nodeType":"YulAssignment","src":"248226:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"248238:4:21","nodeType":"YulLiteral","src":"248238:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"248232:5:21","nodeType":"YulIdentifier","src":"248232:5:21"},"nativeSrc":"248232:11:21","nodeType":"YulFunctionCall","src":"248232:11:21"},"variableNames":[{"name":"m0","nativeSrc":"248226:2:21","nodeType":"YulIdentifier","src":"248226:2:21"}]},{"nativeSrc":"248256:17:21","nodeType":"YulAssignment","src":"248256:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"248268:4:21","nodeType":"YulLiteral","src":"248268:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"248262:5:21","nodeType":"YulIdentifier","src":"248262:5:21"},"nativeSrc":"248262:11:21","nodeType":"YulFunctionCall","src":"248262:11:21"},"variableNames":[{"name":"m1","nativeSrc":"248256:2:21","nodeType":"YulIdentifier","src":"248256:2:21"}]},{"nativeSrc":"248286:17:21","nodeType":"YulAssignment","src":"248286:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"248298:4:21","nodeType":"YulLiteral","src":"248298:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"248292:5:21","nodeType":"YulIdentifier","src":"248292:5:21"},"nativeSrc":"248292:11:21","nodeType":"YulFunctionCall","src":"248292:11:21"},"variableNames":[{"name":"m2","nativeSrc":"248286:2:21","nodeType":"YulIdentifier","src":"248286:2:21"}]},{"nativeSrc":"248316:17:21","nodeType":"YulAssignment","src":"248316:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"248328:4:21","nodeType":"YulLiteral","src":"248328:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"248322:5:21","nodeType":"YulIdentifier","src":"248322:5:21"},"nativeSrc":"248322:11:21","nodeType":"YulFunctionCall","src":"248322:11:21"},"variableNames":[{"name":"m3","nativeSrc":"248316:2:21","nodeType":"YulIdentifier","src":"248316:2:21"}]},{"nativeSrc":"248346:17:21","nodeType":"YulAssignment","src":"248346:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"248358:4:21","nodeType":"YulLiteral","src":"248358:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"248352:5:21","nodeType":"YulIdentifier","src":"248352:5:21"},"nativeSrc":"248352:11:21","nodeType":"YulFunctionCall","src":"248352:11:21"},"variableNames":[{"name":"m4","nativeSrc":"248346:2:21","nodeType":"YulIdentifier","src":"248346:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248450:4:21","nodeType":"YulLiteral","src":"248450:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"248456:10:21","nodeType":"YulLiteral","src":"248456:10:21","type":"","value":"0x2488b414"}],"functionName":{"name":"mstore","nativeSrc":"248443:6:21","nodeType":"YulIdentifier","src":"248443:6:21"},"nativeSrc":"248443:24:21","nodeType":"YulFunctionCall","src":"248443:24:21"},"nativeSrc":"248443:24:21","nodeType":"YulExpressionStatement","src":"248443:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248487:4:21","nodeType":"YulLiteral","src":"248487:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"248493:2:21","nodeType":"YulIdentifier","src":"248493:2:21"}],"functionName":{"name":"mstore","nativeSrc":"248480:6:21","nodeType":"YulIdentifier","src":"248480:6:21"},"nativeSrc":"248480:16:21","nodeType":"YulFunctionCall","src":"248480:16:21"},"nativeSrc":"248480:16:21","nodeType":"YulExpressionStatement","src":"248480:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248516:4:21","nodeType":"YulLiteral","src":"248516:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"248522:2:21","nodeType":"YulIdentifier","src":"248522:2:21"}],"functionName":{"name":"mstore","nativeSrc":"248509:6:21","nodeType":"YulIdentifier","src":"248509:6:21"},"nativeSrc":"248509:16:21","nodeType":"YulFunctionCall","src":"248509:16:21"},"nativeSrc":"248509:16:21","nodeType":"YulExpressionStatement","src":"248509:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248545:4:21","nodeType":"YulLiteral","src":"248545:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"248551:2:21","nodeType":"YulIdentifier","src":"248551:2:21"}],"functionName":{"name":"mstore","nativeSrc":"248538:6:21","nodeType":"YulIdentifier","src":"248538:6:21"},"nativeSrc":"248538:16:21","nodeType":"YulFunctionCall","src":"248538:16:21"},"nativeSrc":"248538:16:21","nodeType":"YulExpressionStatement","src":"248538:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248574:4:21","nodeType":"YulLiteral","src":"248574:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"248580:2:21","nodeType":"YulIdentifier","src":"248580:2:21"}],"functionName":{"name":"mstore","nativeSrc":"248567:6:21","nodeType":"YulIdentifier","src":"248567:6:21"},"nativeSrc":"248567:16:21","nodeType":"YulFunctionCall","src":"248567:16:21"},"nativeSrc":"248567:16:21","nodeType":"YulExpressionStatement","src":"248567:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34736,"isOffset":false,"isSlot":false,"src":"248226:2:21","valueSize":1},{"declaration":34739,"isOffset":false,"isSlot":false,"src":"248256:2:21","valueSize":1},{"declaration":34742,"isOffset":false,"isSlot":false,"src":"248286:2:21","valueSize":1},{"declaration":34745,"isOffset":false,"isSlot":false,"src":"248316:2:21","valueSize":1},{"declaration":34748,"isOffset":false,"isSlot":false,"src":"248346:2:21","valueSize":1},{"declaration":34726,"isOffset":false,"isSlot":false,"src":"248493:2:21","valueSize":1},{"declaration":34728,"isOffset":false,"isSlot":false,"src":"248522:2:21","valueSize":1},{"declaration":34730,"isOffset":false,"isSlot":false,"src":"248551:2:21","valueSize":1},{"declaration":34732,"isOffset":false,"isSlot":false,"src":"248580:2:21","valueSize":1}],"id":34750,"nodeType":"InlineAssembly","src":"248203:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"248618:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"248624:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34751,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"248602:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"248602:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34755,"nodeType":"ExpressionStatement","src":"248602:27:21"},{"AST":{"nativeSrc":"248691:156:21","nodeType":"YulBlock","src":"248691:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"248712:4:21","nodeType":"YulLiteral","src":"248712:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"248718:2:21","nodeType":"YulIdentifier","src":"248718:2:21"}],"functionName":{"name":"mstore","nativeSrc":"248705:6:21","nodeType":"YulIdentifier","src":"248705:6:21"},"nativeSrc":"248705:16:21","nodeType":"YulFunctionCall","src":"248705:16:21"},"nativeSrc":"248705:16:21","nodeType":"YulExpressionStatement","src":"248705:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248741:4:21","nodeType":"YulLiteral","src":"248741:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"248747:2:21","nodeType":"YulIdentifier","src":"248747:2:21"}],"functionName":{"name":"mstore","nativeSrc":"248734:6:21","nodeType":"YulIdentifier","src":"248734:6:21"},"nativeSrc":"248734:16:21","nodeType":"YulFunctionCall","src":"248734:16:21"},"nativeSrc":"248734:16:21","nodeType":"YulExpressionStatement","src":"248734:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248770:4:21","nodeType":"YulLiteral","src":"248770:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"248776:2:21","nodeType":"YulIdentifier","src":"248776:2:21"}],"functionName":{"name":"mstore","nativeSrc":"248763:6:21","nodeType":"YulIdentifier","src":"248763:6:21"},"nativeSrc":"248763:16:21","nodeType":"YulFunctionCall","src":"248763:16:21"},"nativeSrc":"248763:16:21","nodeType":"YulExpressionStatement","src":"248763:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248799:4:21","nodeType":"YulLiteral","src":"248799:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"248805:2:21","nodeType":"YulIdentifier","src":"248805:2:21"}],"functionName":{"name":"mstore","nativeSrc":"248792:6:21","nodeType":"YulIdentifier","src":"248792:6:21"},"nativeSrc":"248792:16:21","nodeType":"YulFunctionCall","src":"248792:16:21"},"nativeSrc":"248792:16:21","nodeType":"YulExpressionStatement","src":"248792:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248828:4:21","nodeType":"YulLiteral","src":"248828:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"248834:2:21","nodeType":"YulIdentifier","src":"248834:2:21"}],"functionName":{"name":"mstore","nativeSrc":"248821:6:21","nodeType":"YulIdentifier","src":"248821:6:21"},"nativeSrc":"248821:16:21","nodeType":"YulFunctionCall","src":"248821:16:21"},"nativeSrc":"248821:16:21","nodeType":"YulExpressionStatement","src":"248821:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34736,"isOffset":false,"isSlot":false,"src":"248718:2:21","valueSize":1},{"declaration":34739,"isOffset":false,"isSlot":false,"src":"248747:2:21","valueSize":1},{"declaration":34742,"isOffset":false,"isSlot":false,"src":"248776:2:21","valueSize":1},{"declaration":34745,"isOffset":false,"isSlot":false,"src":"248805:2:21","valueSize":1},{"declaration":34748,"isOffset":false,"isSlot":false,"src":"248834:2:21","valueSize":1}],"id":34756,"nodeType":"InlineAssembly","src":"248682:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"247984:3:21","parameters":{"id":34733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34726,"mutability":"mutable","name":"p0","nameLocation":"247996:2:21","nodeType":"VariableDeclaration","scope":34758,"src":"247988:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34725,"name":"uint256","nodeType":"ElementaryTypeName","src":"247988:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34728,"mutability":"mutable","name":"p1","nameLocation":"248008:2:21","nodeType":"VariableDeclaration","scope":34758,"src":"248000:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34727,"name":"address","nodeType":"ElementaryTypeName","src":"248000:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34730,"mutability":"mutable","name":"p2","nameLocation":"248020:2:21","nodeType":"VariableDeclaration","scope":34758,"src":"248012:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34729,"name":"address","nodeType":"ElementaryTypeName","src":"248012:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34732,"mutability":"mutable","name":"p3","nameLocation":"248032:2:21","nodeType":"VariableDeclaration","scope":34758,"src":"248024:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34731,"name":"address","nodeType":"ElementaryTypeName","src":"248024:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"247987:48:21"},"returnParameters":{"id":34734,"nodeType":"ParameterList","parameters":[],"src":"248050:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34792,"nodeType":"FunctionDefinition","src":"248859:872:21","nodes":[],"body":{"id":34791,"nodeType":"Block","src":"248931:800:21","nodes":[],"statements":[{"assignments":[34770],"declarations":[{"constant":false,"id":34770,"mutability":"mutable","name":"m0","nameLocation":"248949:2:21","nodeType":"VariableDeclaration","scope":34791,"src":"248941:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34769,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248941:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34771,"nodeType":"VariableDeclarationStatement","src":"248941:10:21"},{"assignments":[34773],"declarations":[{"constant":false,"id":34773,"mutability":"mutable","name":"m1","nameLocation":"248969:2:21","nodeType":"VariableDeclaration","scope":34791,"src":"248961:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248961:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34774,"nodeType":"VariableDeclarationStatement","src":"248961:10:21"},{"assignments":[34776],"declarations":[{"constant":false,"id":34776,"mutability":"mutable","name":"m2","nameLocation":"248989:2:21","nodeType":"VariableDeclaration","scope":34791,"src":"248981:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248981:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34777,"nodeType":"VariableDeclarationStatement","src":"248981:10:21"},{"assignments":[34779],"declarations":[{"constant":false,"id":34779,"mutability":"mutable","name":"m3","nameLocation":"249009:2:21","nodeType":"VariableDeclaration","scope":34791,"src":"249001:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34778,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249001:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34780,"nodeType":"VariableDeclarationStatement","src":"249001:10:21"},{"assignments":[34782],"declarations":[{"constant":false,"id":34782,"mutability":"mutable","name":"m4","nameLocation":"249029:2:21","nodeType":"VariableDeclaration","scope":34791,"src":"249021:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249021:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34783,"nodeType":"VariableDeclarationStatement","src":"249021:10:21"},{"AST":{"nativeSrc":"249093:378:21","nodeType":"YulBlock","src":"249093:378:21","statements":[{"nativeSrc":"249107:17:21","nodeType":"YulAssignment","src":"249107:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"249119:4:21","nodeType":"YulLiteral","src":"249119:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"249113:5:21","nodeType":"YulIdentifier","src":"249113:5:21"},"nativeSrc":"249113:11:21","nodeType":"YulFunctionCall","src":"249113:11:21"},"variableNames":[{"name":"m0","nativeSrc":"249107:2:21","nodeType":"YulIdentifier","src":"249107:2:21"}]},{"nativeSrc":"249137:17:21","nodeType":"YulAssignment","src":"249137:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"249149:4:21","nodeType":"YulLiteral","src":"249149:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"249143:5:21","nodeType":"YulIdentifier","src":"249143:5:21"},"nativeSrc":"249143:11:21","nodeType":"YulFunctionCall","src":"249143:11:21"},"variableNames":[{"name":"m1","nativeSrc":"249137:2:21","nodeType":"YulIdentifier","src":"249137:2:21"}]},{"nativeSrc":"249167:17:21","nodeType":"YulAssignment","src":"249167:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"249179:4:21","nodeType":"YulLiteral","src":"249179:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"249173:5:21","nodeType":"YulIdentifier","src":"249173:5:21"},"nativeSrc":"249173:11:21","nodeType":"YulFunctionCall","src":"249173:11:21"},"variableNames":[{"name":"m2","nativeSrc":"249167:2:21","nodeType":"YulIdentifier","src":"249167:2:21"}]},{"nativeSrc":"249197:17:21","nodeType":"YulAssignment","src":"249197:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"249209:4:21","nodeType":"YulLiteral","src":"249209:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"249203:5:21","nodeType":"YulIdentifier","src":"249203:5:21"},"nativeSrc":"249203:11:21","nodeType":"YulFunctionCall","src":"249203:11:21"},"variableNames":[{"name":"m3","nativeSrc":"249197:2:21","nodeType":"YulIdentifier","src":"249197:2:21"}]},{"nativeSrc":"249227:17:21","nodeType":"YulAssignment","src":"249227:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"249239:4:21","nodeType":"YulLiteral","src":"249239:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"249233:5:21","nodeType":"YulIdentifier","src":"249233:5:21"},"nativeSrc":"249233:11:21","nodeType":"YulFunctionCall","src":"249233:11:21"},"variableNames":[{"name":"m4","nativeSrc":"249227:2:21","nodeType":"YulIdentifier","src":"249227:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249328:4:21","nodeType":"YulLiteral","src":"249328:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"249334:10:21","nodeType":"YulLiteral","src":"249334:10:21","type":"","value":"0x091ffaf5"}],"functionName":{"name":"mstore","nativeSrc":"249321:6:21","nodeType":"YulIdentifier","src":"249321:6:21"},"nativeSrc":"249321:24:21","nodeType":"YulFunctionCall","src":"249321:24:21"},"nativeSrc":"249321:24:21","nodeType":"YulExpressionStatement","src":"249321:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249365:4:21","nodeType":"YulLiteral","src":"249365:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"249371:2:21","nodeType":"YulIdentifier","src":"249371:2:21"}],"functionName":{"name":"mstore","nativeSrc":"249358:6:21","nodeType":"YulIdentifier","src":"249358:6:21"},"nativeSrc":"249358:16:21","nodeType":"YulFunctionCall","src":"249358:16:21"},"nativeSrc":"249358:16:21","nodeType":"YulExpressionStatement","src":"249358:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249394:4:21","nodeType":"YulLiteral","src":"249394:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"249400:2:21","nodeType":"YulIdentifier","src":"249400:2:21"}],"functionName":{"name":"mstore","nativeSrc":"249387:6:21","nodeType":"YulIdentifier","src":"249387:6:21"},"nativeSrc":"249387:16:21","nodeType":"YulFunctionCall","src":"249387:16:21"},"nativeSrc":"249387:16:21","nodeType":"YulExpressionStatement","src":"249387:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249423:4:21","nodeType":"YulLiteral","src":"249423:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"249429:2:21","nodeType":"YulIdentifier","src":"249429:2:21"}],"functionName":{"name":"mstore","nativeSrc":"249416:6:21","nodeType":"YulIdentifier","src":"249416:6:21"},"nativeSrc":"249416:16:21","nodeType":"YulFunctionCall","src":"249416:16:21"},"nativeSrc":"249416:16:21","nodeType":"YulExpressionStatement","src":"249416:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249452:4:21","nodeType":"YulLiteral","src":"249452:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"249458:2:21","nodeType":"YulIdentifier","src":"249458:2:21"}],"functionName":{"name":"mstore","nativeSrc":"249445:6:21","nodeType":"YulIdentifier","src":"249445:6:21"},"nativeSrc":"249445:16:21","nodeType":"YulFunctionCall","src":"249445:16:21"},"nativeSrc":"249445:16:21","nodeType":"YulExpressionStatement","src":"249445:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34770,"isOffset":false,"isSlot":false,"src":"249107:2:21","valueSize":1},{"declaration":34773,"isOffset":false,"isSlot":false,"src":"249137:2:21","valueSize":1},{"declaration":34776,"isOffset":false,"isSlot":false,"src":"249167:2:21","valueSize":1},{"declaration":34779,"isOffset":false,"isSlot":false,"src":"249197:2:21","valueSize":1},{"declaration":34782,"isOffset":false,"isSlot":false,"src":"249227:2:21","valueSize":1},{"declaration":34760,"isOffset":false,"isSlot":false,"src":"249371:2:21","valueSize":1},{"declaration":34762,"isOffset":false,"isSlot":false,"src":"249400:2:21","valueSize":1},{"declaration":34764,"isOffset":false,"isSlot":false,"src":"249429:2:21","valueSize":1},{"declaration":34766,"isOffset":false,"isSlot":false,"src":"249458:2:21","valueSize":1}],"id":34784,"nodeType":"InlineAssembly","src":"249084:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"249496:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"249502:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34785,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"249480:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"249480:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34789,"nodeType":"ExpressionStatement","src":"249480:27:21"},{"AST":{"nativeSrc":"249569:156:21","nodeType":"YulBlock","src":"249569:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"249590:4:21","nodeType":"YulLiteral","src":"249590:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"249596:2:21","nodeType":"YulIdentifier","src":"249596:2:21"}],"functionName":{"name":"mstore","nativeSrc":"249583:6:21","nodeType":"YulIdentifier","src":"249583:6:21"},"nativeSrc":"249583:16:21","nodeType":"YulFunctionCall","src":"249583:16:21"},"nativeSrc":"249583:16:21","nodeType":"YulExpressionStatement","src":"249583:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249619:4:21","nodeType":"YulLiteral","src":"249619:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"249625:2:21","nodeType":"YulIdentifier","src":"249625:2:21"}],"functionName":{"name":"mstore","nativeSrc":"249612:6:21","nodeType":"YulIdentifier","src":"249612:6:21"},"nativeSrc":"249612:16:21","nodeType":"YulFunctionCall","src":"249612:16:21"},"nativeSrc":"249612:16:21","nodeType":"YulExpressionStatement","src":"249612:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249648:4:21","nodeType":"YulLiteral","src":"249648:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"249654:2:21","nodeType":"YulIdentifier","src":"249654:2:21"}],"functionName":{"name":"mstore","nativeSrc":"249641:6:21","nodeType":"YulIdentifier","src":"249641:6:21"},"nativeSrc":"249641:16:21","nodeType":"YulFunctionCall","src":"249641:16:21"},"nativeSrc":"249641:16:21","nodeType":"YulExpressionStatement","src":"249641:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249677:4:21","nodeType":"YulLiteral","src":"249677:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"249683:2:21","nodeType":"YulIdentifier","src":"249683:2:21"}],"functionName":{"name":"mstore","nativeSrc":"249670:6:21","nodeType":"YulIdentifier","src":"249670:6:21"},"nativeSrc":"249670:16:21","nodeType":"YulFunctionCall","src":"249670:16:21"},"nativeSrc":"249670:16:21","nodeType":"YulExpressionStatement","src":"249670:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249706:4:21","nodeType":"YulLiteral","src":"249706:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"249712:2:21","nodeType":"YulIdentifier","src":"249712:2:21"}],"functionName":{"name":"mstore","nativeSrc":"249699:6:21","nodeType":"YulIdentifier","src":"249699:6:21"},"nativeSrc":"249699:16:21","nodeType":"YulFunctionCall","src":"249699:16:21"},"nativeSrc":"249699:16:21","nodeType":"YulExpressionStatement","src":"249699:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34770,"isOffset":false,"isSlot":false,"src":"249596:2:21","valueSize":1},{"declaration":34773,"isOffset":false,"isSlot":false,"src":"249625:2:21","valueSize":1},{"declaration":34776,"isOffset":false,"isSlot":false,"src":"249654:2:21","valueSize":1},{"declaration":34779,"isOffset":false,"isSlot":false,"src":"249683:2:21","valueSize":1},{"declaration":34782,"isOffset":false,"isSlot":false,"src":"249712:2:21","valueSize":1}],"id":34790,"nodeType":"InlineAssembly","src":"249560:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"248868:3:21","parameters":{"id":34767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34760,"mutability":"mutable","name":"p0","nameLocation":"248880:2:21","nodeType":"VariableDeclaration","scope":34792,"src":"248872:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34759,"name":"uint256","nodeType":"ElementaryTypeName","src":"248872:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34762,"mutability":"mutable","name":"p1","nameLocation":"248892:2:21","nodeType":"VariableDeclaration","scope":34792,"src":"248884:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34761,"name":"address","nodeType":"ElementaryTypeName","src":"248884:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34764,"mutability":"mutable","name":"p2","nameLocation":"248904:2:21","nodeType":"VariableDeclaration","scope":34792,"src":"248896:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34763,"name":"address","nodeType":"ElementaryTypeName","src":"248896:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34766,"mutability":"mutable","name":"p3","nameLocation":"248913:2:21","nodeType":"VariableDeclaration","scope":34792,"src":"248908:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34765,"name":"bool","nodeType":"ElementaryTypeName","src":"248908:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"248871:45:21"},"returnParameters":{"id":34768,"nodeType":"ParameterList","parameters":[],"src":"248931:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34826,"nodeType":"FunctionDefinition","src":"249737:878:21","nodes":[],"body":{"id":34825,"nodeType":"Block","src":"249812:803:21","nodes":[],"statements":[{"assignments":[34804],"declarations":[{"constant":false,"id":34804,"mutability":"mutable","name":"m0","nameLocation":"249830:2:21","nodeType":"VariableDeclaration","scope":34825,"src":"249822:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249822:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34805,"nodeType":"VariableDeclarationStatement","src":"249822:10:21"},{"assignments":[34807],"declarations":[{"constant":false,"id":34807,"mutability":"mutable","name":"m1","nameLocation":"249850:2:21","nodeType":"VariableDeclaration","scope":34825,"src":"249842:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249842:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34808,"nodeType":"VariableDeclarationStatement","src":"249842:10:21"},{"assignments":[34810],"declarations":[{"constant":false,"id":34810,"mutability":"mutable","name":"m2","nameLocation":"249870:2:21","nodeType":"VariableDeclaration","scope":34825,"src":"249862:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34809,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249862:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34811,"nodeType":"VariableDeclarationStatement","src":"249862:10:21"},{"assignments":[34813],"declarations":[{"constant":false,"id":34813,"mutability":"mutable","name":"m3","nameLocation":"249890:2:21","nodeType":"VariableDeclaration","scope":34825,"src":"249882:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34812,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249882:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34814,"nodeType":"VariableDeclarationStatement","src":"249882:10:21"},{"assignments":[34816],"declarations":[{"constant":false,"id":34816,"mutability":"mutable","name":"m4","nameLocation":"249910:2:21","nodeType":"VariableDeclaration","scope":34825,"src":"249902:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249902:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34817,"nodeType":"VariableDeclarationStatement","src":"249902:10:21"},{"AST":{"nativeSrc":"249974:381:21","nodeType":"YulBlock","src":"249974:381:21","statements":[{"nativeSrc":"249988:17:21","nodeType":"YulAssignment","src":"249988:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"250000:4:21","nodeType":"YulLiteral","src":"250000:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"249994:5:21","nodeType":"YulIdentifier","src":"249994:5:21"},"nativeSrc":"249994:11:21","nodeType":"YulFunctionCall","src":"249994:11:21"},"variableNames":[{"name":"m0","nativeSrc":"249988:2:21","nodeType":"YulIdentifier","src":"249988:2:21"}]},{"nativeSrc":"250018:17:21","nodeType":"YulAssignment","src":"250018:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"250030:4:21","nodeType":"YulLiteral","src":"250030:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"250024:5:21","nodeType":"YulIdentifier","src":"250024:5:21"},"nativeSrc":"250024:11:21","nodeType":"YulFunctionCall","src":"250024:11:21"},"variableNames":[{"name":"m1","nativeSrc":"250018:2:21","nodeType":"YulIdentifier","src":"250018:2:21"}]},{"nativeSrc":"250048:17:21","nodeType":"YulAssignment","src":"250048:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"250060:4:21","nodeType":"YulLiteral","src":"250060:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"250054:5:21","nodeType":"YulIdentifier","src":"250054:5:21"},"nativeSrc":"250054:11:21","nodeType":"YulFunctionCall","src":"250054:11:21"},"variableNames":[{"name":"m2","nativeSrc":"250048:2:21","nodeType":"YulIdentifier","src":"250048:2:21"}]},{"nativeSrc":"250078:17:21","nodeType":"YulAssignment","src":"250078:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"250090:4:21","nodeType":"YulLiteral","src":"250090:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"250084:5:21","nodeType":"YulIdentifier","src":"250084:5:21"},"nativeSrc":"250084:11:21","nodeType":"YulFunctionCall","src":"250084:11:21"},"variableNames":[{"name":"m3","nativeSrc":"250078:2:21","nodeType":"YulIdentifier","src":"250078:2:21"}]},{"nativeSrc":"250108:17:21","nodeType":"YulAssignment","src":"250108:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"250120:4:21","nodeType":"YulLiteral","src":"250120:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"250114:5:21","nodeType":"YulIdentifier","src":"250114:5:21"},"nativeSrc":"250114:11:21","nodeType":"YulFunctionCall","src":"250114:11:21"},"variableNames":[{"name":"m4","nativeSrc":"250108:2:21","nodeType":"YulIdentifier","src":"250108:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250212:4:21","nodeType":"YulLiteral","src":"250212:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"250218:10:21","nodeType":"YulLiteral","src":"250218:10:21","type":"","value":"0x736efbb6"}],"functionName":{"name":"mstore","nativeSrc":"250205:6:21","nodeType":"YulIdentifier","src":"250205:6:21"},"nativeSrc":"250205:24:21","nodeType":"YulFunctionCall","src":"250205:24:21"},"nativeSrc":"250205:24:21","nodeType":"YulExpressionStatement","src":"250205:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250249:4:21","nodeType":"YulLiteral","src":"250249:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"250255:2:21","nodeType":"YulIdentifier","src":"250255:2:21"}],"functionName":{"name":"mstore","nativeSrc":"250242:6:21","nodeType":"YulIdentifier","src":"250242:6:21"},"nativeSrc":"250242:16:21","nodeType":"YulFunctionCall","src":"250242:16:21"},"nativeSrc":"250242:16:21","nodeType":"YulExpressionStatement","src":"250242:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250278:4:21","nodeType":"YulLiteral","src":"250278:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"250284:2:21","nodeType":"YulIdentifier","src":"250284:2:21"}],"functionName":{"name":"mstore","nativeSrc":"250271:6:21","nodeType":"YulIdentifier","src":"250271:6:21"},"nativeSrc":"250271:16:21","nodeType":"YulFunctionCall","src":"250271:16:21"},"nativeSrc":"250271:16:21","nodeType":"YulExpressionStatement","src":"250271:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250307:4:21","nodeType":"YulLiteral","src":"250307:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"250313:2:21","nodeType":"YulIdentifier","src":"250313:2:21"}],"functionName":{"name":"mstore","nativeSrc":"250300:6:21","nodeType":"YulIdentifier","src":"250300:6:21"},"nativeSrc":"250300:16:21","nodeType":"YulFunctionCall","src":"250300:16:21"},"nativeSrc":"250300:16:21","nodeType":"YulExpressionStatement","src":"250300:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250336:4:21","nodeType":"YulLiteral","src":"250336:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"250342:2:21","nodeType":"YulIdentifier","src":"250342:2:21"}],"functionName":{"name":"mstore","nativeSrc":"250329:6:21","nodeType":"YulIdentifier","src":"250329:6:21"},"nativeSrc":"250329:16:21","nodeType":"YulFunctionCall","src":"250329:16:21"},"nativeSrc":"250329:16:21","nodeType":"YulExpressionStatement","src":"250329:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34804,"isOffset":false,"isSlot":false,"src":"249988:2:21","valueSize":1},{"declaration":34807,"isOffset":false,"isSlot":false,"src":"250018:2:21","valueSize":1},{"declaration":34810,"isOffset":false,"isSlot":false,"src":"250048:2:21","valueSize":1},{"declaration":34813,"isOffset":false,"isSlot":false,"src":"250078:2:21","valueSize":1},{"declaration":34816,"isOffset":false,"isSlot":false,"src":"250108:2:21","valueSize":1},{"declaration":34794,"isOffset":false,"isSlot":false,"src":"250255:2:21","valueSize":1},{"declaration":34796,"isOffset":false,"isSlot":false,"src":"250284:2:21","valueSize":1},{"declaration":34798,"isOffset":false,"isSlot":false,"src":"250313:2:21","valueSize":1},{"declaration":34800,"isOffset":false,"isSlot":false,"src":"250342:2:21","valueSize":1}],"id":34818,"nodeType":"InlineAssembly","src":"249965:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"250380:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"250386:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34819,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"250364:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"250364:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34823,"nodeType":"ExpressionStatement","src":"250364:27:21"},{"AST":{"nativeSrc":"250453:156:21","nodeType":"YulBlock","src":"250453:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"250474:4:21","nodeType":"YulLiteral","src":"250474:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"250480:2:21","nodeType":"YulIdentifier","src":"250480:2:21"}],"functionName":{"name":"mstore","nativeSrc":"250467:6:21","nodeType":"YulIdentifier","src":"250467:6:21"},"nativeSrc":"250467:16:21","nodeType":"YulFunctionCall","src":"250467:16:21"},"nativeSrc":"250467:16:21","nodeType":"YulExpressionStatement","src":"250467:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250503:4:21","nodeType":"YulLiteral","src":"250503:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"250509:2:21","nodeType":"YulIdentifier","src":"250509:2:21"}],"functionName":{"name":"mstore","nativeSrc":"250496:6:21","nodeType":"YulIdentifier","src":"250496:6:21"},"nativeSrc":"250496:16:21","nodeType":"YulFunctionCall","src":"250496:16:21"},"nativeSrc":"250496:16:21","nodeType":"YulExpressionStatement","src":"250496:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250532:4:21","nodeType":"YulLiteral","src":"250532:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"250538:2:21","nodeType":"YulIdentifier","src":"250538:2:21"}],"functionName":{"name":"mstore","nativeSrc":"250525:6:21","nodeType":"YulIdentifier","src":"250525:6:21"},"nativeSrc":"250525:16:21","nodeType":"YulFunctionCall","src":"250525:16:21"},"nativeSrc":"250525:16:21","nodeType":"YulExpressionStatement","src":"250525:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250561:4:21","nodeType":"YulLiteral","src":"250561:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"250567:2:21","nodeType":"YulIdentifier","src":"250567:2:21"}],"functionName":{"name":"mstore","nativeSrc":"250554:6:21","nodeType":"YulIdentifier","src":"250554:6:21"},"nativeSrc":"250554:16:21","nodeType":"YulFunctionCall","src":"250554:16:21"},"nativeSrc":"250554:16:21","nodeType":"YulExpressionStatement","src":"250554:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250590:4:21","nodeType":"YulLiteral","src":"250590:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"250596:2:21","nodeType":"YulIdentifier","src":"250596:2:21"}],"functionName":{"name":"mstore","nativeSrc":"250583:6:21","nodeType":"YulIdentifier","src":"250583:6:21"},"nativeSrc":"250583:16:21","nodeType":"YulFunctionCall","src":"250583:16:21"},"nativeSrc":"250583:16:21","nodeType":"YulExpressionStatement","src":"250583:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34804,"isOffset":false,"isSlot":false,"src":"250480:2:21","valueSize":1},{"declaration":34807,"isOffset":false,"isSlot":false,"src":"250509:2:21","valueSize":1},{"declaration":34810,"isOffset":false,"isSlot":false,"src":"250538:2:21","valueSize":1},{"declaration":34813,"isOffset":false,"isSlot":false,"src":"250567:2:21","valueSize":1},{"declaration":34816,"isOffset":false,"isSlot":false,"src":"250596:2:21","valueSize":1}],"id":34824,"nodeType":"InlineAssembly","src":"250444:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"249746:3:21","parameters":{"id":34801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34794,"mutability":"mutable","name":"p0","nameLocation":"249758:2:21","nodeType":"VariableDeclaration","scope":34826,"src":"249750:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34793,"name":"uint256","nodeType":"ElementaryTypeName","src":"249750:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34796,"mutability":"mutable","name":"p1","nameLocation":"249770:2:21","nodeType":"VariableDeclaration","scope":34826,"src":"249762:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34795,"name":"address","nodeType":"ElementaryTypeName","src":"249762:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34798,"mutability":"mutable","name":"p2","nameLocation":"249782:2:21","nodeType":"VariableDeclaration","scope":34826,"src":"249774:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34797,"name":"address","nodeType":"ElementaryTypeName","src":"249774:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34800,"mutability":"mutable","name":"p3","nameLocation":"249794:2:21","nodeType":"VariableDeclaration","scope":34826,"src":"249786:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34799,"name":"uint256","nodeType":"ElementaryTypeName","src":"249786:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"249749:48:21"},"returnParameters":{"id":34802,"nodeType":"ParameterList","parameters":[],"src":"249812:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34866,"nodeType":"FunctionDefinition","src":"250621:1426:21","nodes":[],"body":{"id":34865,"nodeType":"Block","src":"250696:1351:21","nodes":[],"statements":[{"assignments":[34838],"declarations":[{"constant":false,"id":34838,"mutability":"mutable","name":"m0","nameLocation":"250714:2:21","nodeType":"VariableDeclaration","scope":34865,"src":"250706:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250706:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34839,"nodeType":"VariableDeclarationStatement","src":"250706:10:21"},{"assignments":[34841],"declarations":[{"constant":false,"id":34841,"mutability":"mutable","name":"m1","nameLocation":"250734:2:21","nodeType":"VariableDeclaration","scope":34865,"src":"250726:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250726:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34842,"nodeType":"VariableDeclarationStatement","src":"250726:10:21"},{"assignments":[34844],"declarations":[{"constant":false,"id":34844,"mutability":"mutable","name":"m2","nameLocation":"250754:2:21","nodeType":"VariableDeclaration","scope":34865,"src":"250746:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250746:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34845,"nodeType":"VariableDeclarationStatement","src":"250746:10:21"},{"assignments":[34847],"declarations":[{"constant":false,"id":34847,"mutability":"mutable","name":"m3","nameLocation":"250774:2:21","nodeType":"VariableDeclaration","scope":34865,"src":"250766:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250766:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34848,"nodeType":"VariableDeclarationStatement","src":"250766:10:21"},{"assignments":[34850],"declarations":[{"constant":false,"id":34850,"mutability":"mutable","name":"m4","nameLocation":"250794:2:21","nodeType":"VariableDeclaration","scope":34865,"src":"250786:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250786:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34851,"nodeType":"VariableDeclarationStatement","src":"250786:10:21"},{"assignments":[34853],"declarations":[{"constant":false,"id":34853,"mutability":"mutable","name":"m5","nameLocation":"250814:2:21","nodeType":"VariableDeclaration","scope":34865,"src":"250806:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250806:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34854,"nodeType":"VariableDeclarationStatement","src":"250806:10:21"},{"assignments":[34856],"declarations":[{"constant":false,"id":34856,"mutability":"mutable","name":"m6","nameLocation":"250834:2:21","nodeType":"VariableDeclaration","scope":34865,"src":"250826:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250826:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34857,"nodeType":"VariableDeclarationStatement","src":"250826:10:21"},{"AST":{"nativeSrc":"250898:831:21","nodeType":"YulBlock","src":"250898:831:21","statements":[{"body":{"nativeSrc":"250941:313:21","nodeType":"YulBlock","src":"250941:313:21","statements":[{"nativeSrc":"250959:15:21","nodeType":"YulVariableDeclaration","src":"250959:15:21","value":{"kind":"number","nativeSrc":"250973:1:21","nodeType":"YulLiteral","src":"250973:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"250963:6:21","nodeType":"YulTypedName","src":"250963:6:21","type":""}]},{"body":{"nativeSrc":"251044:40:21","nodeType":"YulBlock","src":"251044:40:21","statements":[{"body":{"nativeSrc":"251073:9:21","nodeType":"YulBlock","src":"251073:9:21","statements":[{"nativeSrc":"251075:5:21","nodeType":"YulBreak","src":"251075:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"251061:6:21","nodeType":"YulIdentifier","src":"251061:6:21"},{"name":"w","nativeSrc":"251069:1:21","nodeType":"YulIdentifier","src":"251069:1:21"}],"functionName":{"name":"byte","nativeSrc":"251056:4:21","nodeType":"YulIdentifier","src":"251056:4:21"},"nativeSrc":"251056:15:21","nodeType":"YulFunctionCall","src":"251056:15:21"}],"functionName":{"name":"iszero","nativeSrc":"251049:6:21","nodeType":"YulIdentifier","src":"251049:6:21"},"nativeSrc":"251049:23:21","nodeType":"YulFunctionCall","src":"251049:23:21"},"nativeSrc":"251046:36:21","nodeType":"YulIf","src":"251046:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"251001:6:21","nodeType":"YulIdentifier","src":"251001:6:21"},{"kind":"number","nativeSrc":"251009:4:21","nodeType":"YulLiteral","src":"251009:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"250998:2:21","nodeType":"YulIdentifier","src":"250998:2:21"},"nativeSrc":"250998:16:21","nodeType":"YulFunctionCall","src":"250998:16:21"},"nativeSrc":"250991:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"251015:28:21","nodeType":"YulBlock","src":"251015:28:21","statements":[{"nativeSrc":"251017:24:21","nodeType":"YulAssignment","src":"251017:24:21","value":{"arguments":[{"name":"length","nativeSrc":"251031:6:21","nodeType":"YulIdentifier","src":"251031:6:21"},{"kind":"number","nativeSrc":"251039:1:21","nodeType":"YulLiteral","src":"251039:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"251027:3:21","nodeType":"YulIdentifier","src":"251027:3:21"},"nativeSrc":"251027:14:21","nodeType":"YulFunctionCall","src":"251027:14:21"},"variableNames":[{"name":"length","nativeSrc":"251017:6:21","nodeType":"YulIdentifier","src":"251017:6:21"}]}]},"pre":{"nativeSrc":"250995:2:21","nodeType":"YulBlock","src":"250995:2:21","statements":[]},"src":"250991:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"251108:3:21","nodeType":"YulIdentifier","src":"251108:3:21"},{"name":"length","nativeSrc":"251113:6:21","nodeType":"YulIdentifier","src":"251113:6:21"}],"functionName":{"name":"mstore","nativeSrc":"251101:6:21","nodeType":"YulIdentifier","src":"251101:6:21"},"nativeSrc":"251101:19:21","nodeType":"YulFunctionCall","src":"251101:19:21"},"nativeSrc":"251101:19:21","nodeType":"YulExpressionStatement","src":"251101:19:21"},{"nativeSrc":"251137:37:21","nodeType":"YulVariableDeclaration","src":"251137:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"251154:3:21","nodeType":"YulLiteral","src":"251154:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"251163:1:21","nodeType":"YulLiteral","src":"251163:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"251166:6:21","nodeType":"YulIdentifier","src":"251166:6:21"}],"functionName":{"name":"shl","nativeSrc":"251159:3:21","nodeType":"YulIdentifier","src":"251159:3:21"},"nativeSrc":"251159:14:21","nodeType":"YulFunctionCall","src":"251159:14:21"}],"functionName":{"name":"sub","nativeSrc":"251150:3:21","nodeType":"YulIdentifier","src":"251150:3:21"},"nativeSrc":"251150:24:21","nodeType":"YulFunctionCall","src":"251150:24:21"},"variables":[{"name":"shift","nativeSrc":"251141:5:21","nodeType":"YulTypedName","src":"251141:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"251202:3:21","nodeType":"YulIdentifier","src":"251202:3:21"},{"kind":"number","nativeSrc":"251207:4:21","nodeType":"YulLiteral","src":"251207:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"251198:3:21","nodeType":"YulIdentifier","src":"251198:3:21"},"nativeSrc":"251198:14:21","nodeType":"YulFunctionCall","src":"251198:14:21"},{"arguments":[{"name":"shift","nativeSrc":"251218:5:21","nodeType":"YulIdentifier","src":"251218:5:21"},{"arguments":[{"name":"shift","nativeSrc":"251229:5:21","nodeType":"YulIdentifier","src":"251229:5:21"},{"name":"w","nativeSrc":"251236:1:21","nodeType":"YulIdentifier","src":"251236:1:21"}],"functionName":{"name":"shr","nativeSrc":"251225:3:21","nodeType":"YulIdentifier","src":"251225:3:21"},"nativeSrc":"251225:13:21","nodeType":"YulFunctionCall","src":"251225:13:21"}],"functionName":{"name":"shl","nativeSrc":"251214:3:21","nodeType":"YulIdentifier","src":"251214:3:21"},"nativeSrc":"251214:25:21","nodeType":"YulFunctionCall","src":"251214:25:21"}],"functionName":{"name":"mstore","nativeSrc":"251191:6:21","nodeType":"YulIdentifier","src":"251191:6:21"},"nativeSrc":"251191:49:21","nodeType":"YulFunctionCall","src":"251191:49:21"},"nativeSrc":"251191:49:21","nodeType":"YulExpressionStatement","src":"251191:49:21"}]},"name":"writeString","nativeSrc":"250912:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"250933:3:21","nodeType":"YulTypedName","src":"250933:3:21","type":""},{"name":"w","nativeSrc":"250938:1:21","nodeType":"YulTypedName","src":"250938:1:21","type":""}],"src":"250912:342:21"},{"nativeSrc":"251267:17:21","nodeType":"YulAssignment","src":"251267:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"251279:4:21","nodeType":"YulLiteral","src":"251279:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"251273:5:21","nodeType":"YulIdentifier","src":"251273:5:21"},"nativeSrc":"251273:11:21","nodeType":"YulFunctionCall","src":"251273:11:21"},"variableNames":[{"name":"m0","nativeSrc":"251267:2:21","nodeType":"YulIdentifier","src":"251267:2:21"}]},{"nativeSrc":"251297:17:21","nodeType":"YulAssignment","src":"251297:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"251309:4:21","nodeType":"YulLiteral","src":"251309:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"251303:5:21","nodeType":"YulIdentifier","src":"251303:5:21"},"nativeSrc":"251303:11:21","nodeType":"YulFunctionCall","src":"251303:11:21"},"variableNames":[{"name":"m1","nativeSrc":"251297:2:21","nodeType":"YulIdentifier","src":"251297:2:21"}]},{"nativeSrc":"251327:17:21","nodeType":"YulAssignment","src":"251327:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"251339:4:21","nodeType":"YulLiteral","src":"251339:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"251333:5:21","nodeType":"YulIdentifier","src":"251333:5:21"},"nativeSrc":"251333:11:21","nodeType":"YulFunctionCall","src":"251333:11:21"},"variableNames":[{"name":"m2","nativeSrc":"251327:2:21","nodeType":"YulIdentifier","src":"251327:2:21"}]},{"nativeSrc":"251357:17:21","nodeType":"YulAssignment","src":"251357:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"251369:4:21","nodeType":"YulLiteral","src":"251369:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"251363:5:21","nodeType":"YulIdentifier","src":"251363:5:21"},"nativeSrc":"251363:11:21","nodeType":"YulFunctionCall","src":"251363:11:21"},"variableNames":[{"name":"m3","nativeSrc":"251357:2:21","nodeType":"YulIdentifier","src":"251357:2:21"}]},{"nativeSrc":"251387:17:21","nodeType":"YulAssignment","src":"251387:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"251399:4:21","nodeType":"YulLiteral","src":"251399:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"251393:5:21","nodeType":"YulIdentifier","src":"251393:5:21"},"nativeSrc":"251393:11:21","nodeType":"YulFunctionCall","src":"251393:11:21"},"variableNames":[{"name":"m4","nativeSrc":"251387:2:21","nodeType":"YulIdentifier","src":"251387:2:21"}]},{"nativeSrc":"251417:17:21","nodeType":"YulAssignment","src":"251417:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"251429:4:21","nodeType":"YulLiteral","src":"251429:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"251423:5:21","nodeType":"YulIdentifier","src":"251423:5:21"},"nativeSrc":"251423:11:21","nodeType":"YulFunctionCall","src":"251423:11:21"},"variableNames":[{"name":"m5","nativeSrc":"251417:2:21","nodeType":"YulIdentifier","src":"251417:2:21"}]},{"nativeSrc":"251447:17:21","nodeType":"YulAssignment","src":"251447:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"251459:4:21","nodeType":"YulLiteral","src":"251459:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"251453:5:21","nodeType":"YulIdentifier","src":"251453:5:21"},"nativeSrc":"251453:11:21","nodeType":"YulFunctionCall","src":"251453:11:21"},"variableNames":[{"name":"m6","nativeSrc":"251447:2:21","nodeType":"YulIdentifier","src":"251447:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251550:4:21","nodeType":"YulLiteral","src":"251550:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"251556:10:21","nodeType":"YulLiteral","src":"251556:10:21","type":"","value":"0x031c6f73"}],"functionName":{"name":"mstore","nativeSrc":"251543:6:21","nodeType":"YulIdentifier","src":"251543:6:21"},"nativeSrc":"251543:24:21","nodeType":"YulFunctionCall","src":"251543:24:21"},"nativeSrc":"251543:24:21","nodeType":"YulExpressionStatement","src":"251543:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251587:4:21","nodeType":"YulLiteral","src":"251587:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"251593:2:21","nodeType":"YulIdentifier","src":"251593:2:21"}],"functionName":{"name":"mstore","nativeSrc":"251580:6:21","nodeType":"YulIdentifier","src":"251580:6:21"},"nativeSrc":"251580:16:21","nodeType":"YulFunctionCall","src":"251580:16:21"},"nativeSrc":"251580:16:21","nodeType":"YulExpressionStatement","src":"251580:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251616:4:21","nodeType":"YulLiteral","src":"251616:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"251622:2:21","nodeType":"YulIdentifier","src":"251622:2:21"}],"functionName":{"name":"mstore","nativeSrc":"251609:6:21","nodeType":"YulIdentifier","src":"251609:6:21"},"nativeSrc":"251609:16:21","nodeType":"YulFunctionCall","src":"251609:16:21"},"nativeSrc":"251609:16:21","nodeType":"YulExpressionStatement","src":"251609:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251645:4:21","nodeType":"YulLiteral","src":"251645:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"251651:2:21","nodeType":"YulIdentifier","src":"251651:2:21"}],"functionName":{"name":"mstore","nativeSrc":"251638:6:21","nodeType":"YulIdentifier","src":"251638:6:21"},"nativeSrc":"251638:16:21","nodeType":"YulFunctionCall","src":"251638:16:21"},"nativeSrc":"251638:16:21","nodeType":"YulExpressionStatement","src":"251638:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251674:4:21","nodeType":"YulLiteral","src":"251674:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"251680:4:21","nodeType":"YulLiteral","src":"251680:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"251667:6:21","nodeType":"YulIdentifier","src":"251667:6:21"},"nativeSrc":"251667:18:21","nodeType":"YulFunctionCall","src":"251667:18:21"},"nativeSrc":"251667:18:21","nodeType":"YulExpressionStatement","src":"251667:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251710:4:21","nodeType":"YulLiteral","src":"251710:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"251716:2:21","nodeType":"YulIdentifier","src":"251716:2:21"}],"functionName":{"name":"writeString","nativeSrc":"251698:11:21","nodeType":"YulIdentifier","src":"251698:11:21"},"nativeSrc":"251698:21:21","nodeType":"YulFunctionCall","src":"251698:21:21"},"nativeSrc":"251698:21:21","nodeType":"YulExpressionStatement","src":"251698:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34838,"isOffset":false,"isSlot":false,"src":"251267:2:21","valueSize":1},{"declaration":34841,"isOffset":false,"isSlot":false,"src":"251297:2:21","valueSize":1},{"declaration":34844,"isOffset":false,"isSlot":false,"src":"251327:2:21","valueSize":1},{"declaration":34847,"isOffset":false,"isSlot":false,"src":"251357:2:21","valueSize":1},{"declaration":34850,"isOffset":false,"isSlot":false,"src":"251387:2:21","valueSize":1},{"declaration":34853,"isOffset":false,"isSlot":false,"src":"251417:2:21","valueSize":1},{"declaration":34856,"isOffset":false,"isSlot":false,"src":"251447:2:21","valueSize":1},{"declaration":34828,"isOffset":false,"isSlot":false,"src":"251593:2:21","valueSize":1},{"declaration":34830,"isOffset":false,"isSlot":false,"src":"251622:2:21","valueSize":1},{"declaration":34832,"isOffset":false,"isSlot":false,"src":"251651:2:21","valueSize":1},{"declaration":34834,"isOffset":false,"isSlot":false,"src":"251716:2:21","valueSize":1}],"id":34858,"nodeType":"InlineAssembly","src":"250889:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"251754:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"251760:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34859,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"251738:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"251738:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34863,"nodeType":"ExpressionStatement","src":"251738:27:21"},{"AST":{"nativeSrc":"251827:214:21","nodeType":"YulBlock","src":"251827:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"251848:4:21","nodeType":"YulLiteral","src":"251848:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"251854:2:21","nodeType":"YulIdentifier","src":"251854:2:21"}],"functionName":{"name":"mstore","nativeSrc":"251841:6:21","nodeType":"YulIdentifier","src":"251841:6:21"},"nativeSrc":"251841:16:21","nodeType":"YulFunctionCall","src":"251841:16:21"},"nativeSrc":"251841:16:21","nodeType":"YulExpressionStatement","src":"251841:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251877:4:21","nodeType":"YulLiteral","src":"251877:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"251883:2:21","nodeType":"YulIdentifier","src":"251883:2:21"}],"functionName":{"name":"mstore","nativeSrc":"251870:6:21","nodeType":"YulIdentifier","src":"251870:6:21"},"nativeSrc":"251870:16:21","nodeType":"YulFunctionCall","src":"251870:16:21"},"nativeSrc":"251870:16:21","nodeType":"YulExpressionStatement","src":"251870:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251906:4:21","nodeType":"YulLiteral","src":"251906:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"251912:2:21","nodeType":"YulIdentifier","src":"251912:2:21"}],"functionName":{"name":"mstore","nativeSrc":"251899:6:21","nodeType":"YulIdentifier","src":"251899:6:21"},"nativeSrc":"251899:16:21","nodeType":"YulFunctionCall","src":"251899:16:21"},"nativeSrc":"251899:16:21","nodeType":"YulExpressionStatement","src":"251899:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251935:4:21","nodeType":"YulLiteral","src":"251935:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"251941:2:21","nodeType":"YulIdentifier","src":"251941:2:21"}],"functionName":{"name":"mstore","nativeSrc":"251928:6:21","nodeType":"YulIdentifier","src":"251928:6:21"},"nativeSrc":"251928:16:21","nodeType":"YulFunctionCall","src":"251928:16:21"},"nativeSrc":"251928:16:21","nodeType":"YulExpressionStatement","src":"251928:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251964:4:21","nodeType":"YulLiteral","src":"251964:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"251970:2:21","nodeType":"YulIdentifier","src":"251970:2:21"}],"functionName":{"name":"mstore","nativeSrc":"251957:6:21","nodeType":"YulIdentifier","src":"251957:6:21"},"nativeSrc":"251957:16:21","nodeType":"YulFunctionCall","src":"251957:16:21"},"nativeSrc":"251957:16:21","nodeType":"YulExpressionStatement","src":"251957:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251993:4:21","nodeType":"YulLiteral","src":"251993:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"251999:2:21","nodeType":"YulIdentifier","src":"251999:2:21"}],"functionName":{"name":"mstore","nativeSrc":"251986:6:21","nodeType":"YulIdentifier","src":"251986:6:21"},"nativeSrc":"251986:16:21","nodeType":"YulFunctionCall","src":"251986:16:21"},"nativeSrc":"251986:16:21","nodeType":"YulExpressionStatement","src":"251986:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252022:4:21","nodeType":"YulLiteral","src":"252022:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"252028:2:21","nodeType":"YulIdentifier","src":"252028:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252015:6:21","nodeType":"YulIdentifier","src":"252015:6:21"},"nativeSrc":"252015:16:21","nodeType":"YulFunctionCall","src":"252015:16:21"},"nativeSrc":"252015:16:21","nodeType":"YulExpressionStatement","src":"252015:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34838,"isOffset":false,"isSlot":false,"src":"251854:2:21","valueSize":1},{"declaration":34841,"isOffset":false,"isSlot":false,"src":"251883:2:21","valueSize":1},{"declaration":34844,"isOffset":false,"isSlot":false,"src":"251912:2:21","valueSize":1},{"declaration":34847,"isOffset":false,"isSlot":false,"src":"251941:2:21","valueSize":1},{"declaration":34850,"isOffset":false,"isSlot":false,"src":"251970:2:21","valueSize":1},{"declaration":34853,"isOffset":false,"isSlot":false,"src":"251999:2:21","valueSize":1},{"declaration":34856,"isOffset":false,"isSlot":false,"src":"252028:2:21","valueSize":1}],"id":34864,"nodeType":"InlineAssembly","src":"251818:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"250630:3:21","parameters":{"id":34835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34828,"mutability":"mutable","name":"p0","nameLocation":"250642:2:21","nodeType":"VariableDeclaration","scope":34866,"src":"250634:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34827,"name":"uint256","nodeType":"ElementaryTypeName","src":"250634:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34830,"mutability":"mutable","name":"p1","nameLocation":"250654:2:21","nodeType":"VariableDeclaration","scope":34866,"src":"250646:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34829,"name":"address","nodeType":"ElementaryTypeName","src":"250646:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34832,"mutability":"mutable","name":"p2","nameLocation":"250666:2:21","nodeType":"VariableDeclaration","scope":34866,"src":"250658:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34831,"name":"address","nodeType":"ElementaryTypeName","src":"250658:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34834,"mutability":"mutable","name":"p3","nameLocation":"250678:2:21","nodeType":"VariableDeclaration","scope":34866,"src":"250670:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250670:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"250633:48:21"},"returnParameters":{"id":34836,"nodeType":"ParameterList","parameters":[],"src":"250696:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34900,"nodeType":"FunctionDefinition","src":"252053:872:21","nodes":[],"body":{"id":34899,"nodeType":"Block","src":"252125:800:21","nodes":[],"statements":[{"assignments":[34878],"declarations":[{"constant":false,"id":34878,"mutability":"mutable","name":"m0","nameLocation":"252143:2:21","nodeType":"VariableDeclaration","scope":34899,"src":"252135:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252135:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34879,"nodeType":"VariableDeclarationStatement","src":"252135:10:21"},{"assignments":[34881],"declarations":[{"constant":false,"id":34881,"mutability":"mutable","name":"m1","nameLocation":"252163:2:21","nodeType":"VariableDeclaration","scope":34899,"src":"252155:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252155:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34882,"nodeType":"VariableDeclarationStatement","src":"252155:10:21"},{"assignments":[34884],"declarations":[{"constant":false,"id":34884,"mutability":"mutable","name":"m2","nameLocation":"252183:2:21","nodeType":"VariableDeclaration","scope":34899,"src":"252175:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252175:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34885,"nodeType":"VariableDeclarationStatement","src":"252175:10:21"},{"assignments":[34887],"declarations":[{"constant":false,"id":34887,"mutability":"mutable","name":"m3","nameLocation":"252203:2:21","nodeType":"VariableDeclaration","scope":34899,"src":"252195:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252195:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34888,"nodeType":"VariableDeclarationStatement","src":"252195:10:21"},{"assignments":[34890],"declarations":[{"constant":false,"id":34890,"mutability":"mutable","name":"m4","nameLocation":"252223:2:21","nodeType":"VariableDeclaration","scope":34899,"src":"252215:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34889,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252215:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34891,"nodeType":"VariableDeclarationStatement","src":"252215:10:21"},{"AST":{"nativeSrc":"252287:378:21","nodeType":"YulBlock","src":"252287:378:21","statements":[{"nativeSrc":"252301:17:21","nodeType":"YulAssignment","src":"252301:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"252313:4:21","nodeType":"YulLiteral","src":"252313:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"252307:5:21","nodeType":"YulIdentifier","src":"252307:5:21"},"nativeSrc":"252307:11:21","nodeType":"YulFunctionCall","src":"252307:11:21"},"variableNames":[{"name":"m0","nativeSrc":"252301:2:21","nodeType":"YulIdentifier","src":"252301:2:21"}]},{"nativeSrc":"252331:17:21","nodeType":"YulAssignment","src":"252331:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"252343:4:21","nodeType":"YulLiteral","src":"252343:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"252337:5:21","nodeType":"YulIdentifier","src":"252337:5:21"},"nativeSrc":"252337:11:21","nodeType":"YulFunctionCall","src":"252337:11:21"},"variableNames":[{"name":"m1","nativeSrc":"252331:2:21","nodeType":"YulIdentifier","src":"252331:2:21"}]},{"nativeSrc":"252361:17:21","nodeType":"YulAssignment","src":"252361:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"252373:4:21","nodeType":"YulLiteral","src":"252373:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"252367:5:21","nodeType":"YulIdentifier","src":"252367:5:21"},"nativeSrc":"252367:11:21","nodeType":"YulFunctionCall","src":"252367:11:21"},"variableNames":[{"name":"m2","nativeSrc":"252361:2:21","nodeType":"YulIdentifier","src":"252361:2:21"}]},{"nativeSrc":"252391:17:21","nodeType":"YulAssignment","src":"252391:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"252403:4:21","nodeType":"YulLiteral","src":"252403:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"252397:5:21","nodeType":"YulIdentifier","src":"252397:5:21"},"nativeSrc":"252397:11:21","nodeType":"YulFunctionCall","src":"252397:11:21"},"variableNames":[{"name":"m3","nativeSrc":"252391:2:21","nodeType":"YulIdentifier","src":"252391:2:21"}]},{"nativeSrc":"252421:17:21","nodeType":"YulAssignment","src":"252421:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"252433:4:21","nodeType":"YulLiteral","src":"252433:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"252427:5:21","nodeType":"YulIdentifier","src":"252427:5:21"},"nativeSrc":"252427:11:21","nodeType":"YulFunctionCall","src":"252427:11:21"},"variableNames":[{"name":"m4","nativeSrc":"252421:2:21","nodeType":"YulIdentifier","src":"252421:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252522:4:21","nodeType":"YulLiteral","src":"252522:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"252528:10:21","nodeType":"YulLiteral","src":"252528:10:21","type":"","value":"0xef72c513"}],"functionName":{"name":"mstore","nativeSrc":"252515:6:21","nodeType":"YulIdentifier","src":"252515:6:21"},"nativeSrc":"252515:24:21","nodeType":"YulFunctionCall","src":"252515:24:21"},"nativeSrc":"252515:24:21","nodeType":"YulExpressionStatement","src":"252515:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252559:4:21","nodeType":"YulLiteral","src":"252559:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"252565:2:21","nodeType":"YulIdentifier","src":"252565:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252552:6:21","nodeType":"YulIdentifier","src":"252552:6:21"},"nativeSrc":"252552:16:21","nodeType":"YulFunctionCall","src":"252552:16:21"},"nativeSrc":"252552:16:21","nodeType":"YulExpressionStatement","src":"252552:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252588:4:21","nodeType":"YulLiteral","src":"252588:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"252594:2:21","nodeType":"YulIdentifier","src":"252594:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252581:6:21","nodeType":"YulIdentifier","src":"252581:6:21"},"nativeSrc":"252581:16:21","nodeType":"YulFunctionCall","src":"252581:16:21"},"nativeSrc":"252581:16:21","nodeType":"YulExpressionStatement","src":"252581:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252617:4:21","nodeType":"YulLiteral","src":"252617:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"252623:2:21","nodeType":"YulIdentifier","src":"252623:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252610:6:21","nodeType":"YulIdentifier","src":"252610:6:21"},"nativeSrc":"252610:16:21","nodeType":"YulFunctionCall","src":"252610:16:21"},"nativeSrc":"252610:16:21","nodeType":"YulExpressionStatement","src":"252610:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252646:4:21","nodeType":"YulLiteral","src":"252646:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"252652:2:21","nodeType":"YulIdentifier","src":"252652:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252639:6:21","nodeType":"YulIdentifier","src":"252639:6:21"},"nativeSrc":"252639:16:21","nodeType":"YulFunctionCall","src":"252639:16:21"},"nativeSrc":"252639:16:21","nodeType":"YulExpressionStatement","src":"252639:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34878,"isOffset":false,"isSlot":false,"src":"252301:2:21","valueSize":1},{"declaration":34881,"isOffset":false,"isSlot":false,"src":"252331:2:21","valueSize":1},{"declaration":34884,"isOffset":false,"isSlot":false,"src":"252361:2:21","valueSize":1},{"declaration":34887,"isOffset":false,"isSlot":false,"src":"252391:2:21","valueSize":1},{"declaration":34890,"isOffset":false,"isSlot":false,"src":"252421:2:21","valueSize":1},{"declaration":34868,"isOffset":false,"isSlot":false,"src":"252565:2:21","valueSize":1},{"declaration":34870,"isOffset":false,"isSlot":false,"src":"252594:2:21","valueSize":1},{"declaration":34872,"isOffset":false,"isSlot":false,"src":"252623:2:21","valueSize":1},{"declaration":34874,"isOffset":false,"isSlot":false,"src":"252652:2:21","valueSize":1}],"id":34892,"nodeType":"InlineAssembly","src":"252278:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"252690:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"252696:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34893,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"252674:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"252674:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34897,"nodeType":"ExpressionStatement","src":"252674:27:21"},{"AST":{"nativeSrc":"252763:156:21","nodeType":"YulBlock","src":"252763:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"252784:4:21","nodeType":"YulLiteral","src":"252784:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"252790:2:21","nodeType":"YulIdentifier","src":"252790:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252777:6:21","nodeType":"YulIdentifier","src":"252777:6:21"},"nativeSrc":"252777:16:21","nodeType":"YulFunctionCall","src":"252777:16:21"},"nativeSrc":"252777:16:21","nodeType":"YulExpressionStatement","src":"252777:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252813:4:21","nodeType":"YulLiteral","src":"252813:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"252819:2:21","nodeType":"YulIdentifier","src":"252819:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252806:6:21","nodeType":"YulIdentifier","src":"252806:6:21"},"nativeSrc":"252806:16:21","nodeType":"YulFunctionCall","src":"252806:16:21"},"nativeSrc":"252806:16:21","nodeType":"YulExpressionStatement","src":"252806:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252842:4:21","nodeType":"YulLiteral","src":"252842:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"252848:2:21","nodeType":"YulIdentifier","src":"252848:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252835:6:21","nodeType":"YulIdentifier","src":"252835:6:21"},"nativeSrc":"252835:16:21","nodeType":"YulFunctionCall","src":"252835:16:21"},"nativeSrc":"252835:16:21","nodeType":"YulExpressionStatement","src":"252835:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252871:4:21","nodeType":"YulLiteral","src":"252871:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"252877:2:21","nodeType":"YulIdentifier","src":"252877:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252864:6:21","nodeType":"YulIdentifier","src":"252864:6:21"},"nativeSrc":"252864:16:21","nodeType":"YulFunctionCall","src":"252864:16:21"},"nativeSrc":"252864:16:21","nodeType":"YulExpressionStatement","src":"252864:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252900:4:21","nodeType":"YulLiteral","src":"252900:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"252906:2:21","nodeType":"YulIdentifier","src":"252906:2:21"}],"functionName":{"name":"mstore","nativeSrc":"252893:6:21","nodeType":"YulIdentifier","src":"252893:6:21"},"nativeSrc":"252893:16:21","nodeType":"YulFunctionCall","src":"252893:16:21"},"nativeSrc":"252893:16:21","nodeType":"YulExpressionStatement","src":"252893:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34878,"isOffset":false,"isSlot":false,"src":"252790:2:21","valueSize":1},{"declaration":34881,"isOffset":false,"isSlot":false,"src":"252819:2:21","valueSize":1},{"declaration":34884,"isOffset":false,"isSlot":false,"src":"252848:2:21","valueSize":1},{"declaration":34887,"isOffset":false,"isSlot":false,"src":"252877:2:21","valueSize":1},{"declaration":34890,"isOffset":false,"isSlot":false,"src":"252906:2:21","valueSize":1}],"id":34898,"nodeType":"InlineAssembly","src":"252754:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"252062:3:21","parameters":{"id":34875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34868,"mutability":"mutable","name":"p0","nameLocation":"252074:2:21","nodeType":"VariableDeclaration","scope":34900,"src":"252066:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34867,"name":"uint256","nodeType":"ElementaryTypeName","src":"252066:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34870,"mutability":"mutable","name":"p1","nameLocation":"252086:2:21","nodeType":"VariableDeclaration","scope":34900,"src":"252078:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34869,"name":"address","nodeType":"ElementaryTypeName","src":"252078:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34872,"mutability":"mutable","name":"p2","nameLocation":"252095:2:21","nodeType":"VariableDeclaration","scope":34900,"src":"252090:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34871,"name":"bool","nodeType":"ElementaryTypeName","src":"252090:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34874,"mutability":"mutable","name":"p3","nameLocation":"252107:2:21","nodeType":"VariableDeclaration","scope":34900,"src":"252099:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34873,"name":"address","nodeType":"ElementaryTypeName","src":"252099:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"252065:45:21"},"returnParameters":{"id":34876,"nodeType":"ParameterList","parameters":[],"src":"252125:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34934,"nodeType":"FunctionDefinition","src":"252931:866:21","nodes":[],"body":{"id":34933,"nodeType":"Block","src":"253000:797:21","nodes":[],"statements":[{"assignments":[34912],"declarations":[{"constant":false,"id":34912,"mutability":"mutable","name":"m0","nameLocation":"253018:2:21","nodeType":"VariableDeclaration","scope":34933,"src":"253010:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253010:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34913,"nodeType":"VariableDeclarationStatement","src":"253010:10:21"},{"assignments":[34915],"declarations":[{"constant":false,"id":34915,"mutability":"mutable","name":"m1","nameLocation":"253038:2:21","nodeType":"VariableDeclaration","scope":34933,"src":"253030:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253030:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34916,"nodeType":"VariableDeclarationStatement","src":"253030:10:21"},{"assignments":[34918],"declarations":[{"constant":false,"id":34918,"mutability":"mutable","name":"m2","nameLocation":"253058:2:21","nodeType":"VariableDeclaration","scope":34933,"src":"253050:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253050:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34919,"nodeType":"VariableDeclarationStatement","src":"253050:10:21"},{"assignments":[34921],"declarations":[{"constant":false,"id":34921,"mutability":"mutable","name":"m3","nameLocation":"253078:2:21","nodeType":"VariableDeclaration","scope":34933,"src":"253070:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34920,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253070:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34922,"nodeType":"VariableDeclarationStatement","src":"253070:10:21"},{"assignments":[34924],"declarations":[{"constant":false,"id":34924,"mutability":"mutable","name":"m4","nameLocation":"253098:2:21","nodeType":"VariableDeclaration","scope":34933,"src":"253090:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253090:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34925,"nodeType":"VariableDeclarationStatement","src":"253090:10:21"},{"AST":{"nativeSrc":"253162:375:21","nodeType":"YulBlock","src":"253162:375:21","statements":[{"nativeSrc":"253176:17:21","nodeType":"YulAssignment","src":"253176:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"253188:4:21","nodeType":"YulLiteral","src":"253188:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"253182:5:21","nodeType":"YulIdentifier","src":"253182:5:21"},"nativeSrc":"253182:11:21","nodeType":"YulFunctionCall","src":"253182:11:21"},"variableNames":[{"name":"m0","nativeSrc":"253176:2:21","nodeType":"YulIdentifier","src":"253176:2:21"}]},{"nativeSrc":"253206:17:21","nodeType":"YulAssignment","src":"253206:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"253218:4:21","nodeType":"YulLiteral","src":"253218:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"253212:5:21","nodeType":"YulIdentifier","src":"253212:5:21"},"nativeSrc":"253212:11:21","nodeType":"YulFunctionCall","src":"253212:11:21"},"variableNames":[{"name":"m1","nativeSrc":"253206:2:21","nodeType":"YulIdentifier","src":"253206:2:21"}]},{"nativeSrc":"253236:17:21","nodeType":"YulAssignment","src":"253236:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"253248:4:21","nodeType":"YulLiteral","src":"253248:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"253242:5:21","nodeType":"YulIdentifier","src":"253242:5:21"},"nativeSrc":"253242:11:21","nodeType":"YulFunctionCall","src":"253242:11:21"},"variableNames":[{"name":"m2","nativeSrc":"253236:2:21","nodeType":"YulIdentifier","src":"253236:2:21"}]},{"nativeSrc":"253266:17:21","nodeType":"YulAssignment","src":"253266:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"253278:4:21","nodeType":"YulLiteral","src":"253278:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"253272:5:21","nodeType":"YulIdentifier","src":"253272:5:21"},"nativeSrc":"253272:11:21","nodeType":"YulFunctionCall","src":"253272:11:21"},"variableNames":[{"name":"m3","nativeSrc":"253266:2:21","nodeType":"YulIdentifier","src":"253266:2:21"}]},{"nativeSrc":"253296:17:21","nodeType":"YulAssignment","src":"253296:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"253308:4:21","nodeType":"YulLiteral","src":"253308:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"253302:5:21","nodeType":"YulIdentifier","src":"253302:5:21"},"nativeSrc":"253302:11:21","nodeType":"YulFunctionCall","src":"253302:11:21"},"variableNames":[{"name":"m4","nativeSrc":"253296:2:21","nodeType":"YulIdentifier","src":"253296:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253394:4:21","nodeType":"YulLiteral","src":"253394:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"253400:10:21","nodeType":"YulLiteral","src":"253400:10:21","type":"","value":"0xe351140f"}],"functionName":{"name":"mstore","nativeSrc":"253387:6:21","nodeType":"YulIdentifier","src":"253387:6:21"},"nativeSrc":"253387:24:21","nodeType":"YulFunctionCall","src":"253387:24:21"},"nativeSrc":"253387:24:21","nodeType":"YulExpressionStatement","src":"253387:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253431:4:21","nodeType":"YulLiteral","src":"253431:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"253437:2:21","nodeType":"YulIdentifier","src":"253437:2:21"}],"functionName":{"name":"mstore","nativeSrc":"253424:6:21","nodeType":"YulIdentifier","src":"253424:6:21"},"nativeSrc":"253424:16:21","nodeType":"YulFunctionCall","src":"253424:16:21"},"nativeSrc":"253424:16:21","nodeType":"YulExpressionStatement","src":"253424:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253460:4:21","nodeType":"YulLiteral","src":"253460:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"253466:2:21","nodeType":"YulIdentifier","src":"253466:2:21"}],"functionName":{"name":"mstore","nativeSrc":"253453:6:21","nodeType":"YulIdentifier","src":"253453:6:21"},"nativeSrc":"253453:16:21","nodeType":"YulFunctionCall","src":"253453:16:21"},"nativeSrc":"253453:16:21","nodeType":"YulExpressionStatement","src":"253453:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253489:4:21","nodeType":"YulLiteral","src":"253489:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"253495:2:21","nodeType":"YulIdentifier","src":"253495:2:21"}],"functionName":{"name":"mstore","nativeSrc":"253482:6:21","nodeType":"YulIdentifier","src":"253482:6:21"},"nativeSrc":"253482:16:21","nodeType":"YulFunctionCall","src":"253482:16:21"},"nativeSrc":"253482:16:21","nodeType":"YulExpressionStatement","src":"253482:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253518:4:21","nodeType":"YulLiteral","src":"253518:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"253524:2:21","nodeType":"YulIdentifier","src":"253524:2:21"}],"functionName":{"name":"mstore","nativeSrc":"253511:6:21","nodeType":"YulIdentifier","src":"253511:6:21"},"nativeSrc":"253511:16:21","nodeType":"YulFunctionCall","src":"253511:16:21"},"nativeSrc":"253511:16:21","nodeType":"YulExpressionStatement","src":"253511:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34912,"isOffset":false,"isSlot":false,"src":"253176:2:21","valueSize":1},{"declaration":34915,"isOffset":false,"isSlot":false,"src":"253206:2:21","valueSize":1},{"declaration":34918,"isOffset":false,"isSlot":false,"src":"253236:2:21","valueSize":1},{"declaration":34921,"isOffset":false,"isSlot":false,"src":"253266:2:21","valueSize":1},{"declaration":34924,"isOffset":false,"isSlot":false,"src":"253296:2:21","valueSize":1},{"declaration":34902,"isOffset":false,"isSlot":false,"src":"253437:2:21","valueSize":1},{"declaration":34904,"isOffset":false,"isSlot":false,"src":"253466:2:21","valueSize":1},{"declaration":34906,"isOffset":false,"isSlot":false,"src":"253495:2:21","valueSize":1},{"declaration":34908,"isOffset":false,"isSlot":false,"src":"253524:2:21","valueSize":1}],"id":34926,"nodeType":"InlineAssembly","src":"253153:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"253562:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"253568:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34927,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"253546:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"253546:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34931,"nodeType":"ExpressionStatement","src":"253546:27:21"},{"AST":{"nativeSrc":"253635:156:21","nodeType":"YulBlock","src":"253635:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"253656:4:21","nodeType":"YulLiteral","src":"253656:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"253662:2:21","nodeType":"YulIdentifier","src":"253662:2:21"}],"functionName":{"name":"mstore","nativeSrc":"253649:6:21","nodeType":"YulIdentifier","src":"253649:6:21"},"nativeSrc":"253649:16:21","nodeType":"YulFunctionCall","src":"253649:16:21"},"nativeSrc":"253649:16:21","nodeType":"YulExpressionStatement","src":"253649:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253685:4:21","nodeType":"YulLiteral","src":"253685:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"253691:2:21","nodeType":"YulIdentifier","src":"253691:2:21"}],"functionName":{"name":"mstore","nativeSrc":"253678:6:21","nodeType":"YulIdentifier","src":"253678:6:21"},"nativeSrc":"253678:16:21","nodeType":"YulFunctionCall","src":"253678:16:21"},"nativeSrc":"253678:16:21","nodeType":"YulExpressionStatement","src":"253678:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253714:4:21","nodeType":"YulLiteral","src":"253714:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"253720:2:21","nodeType":"YulIdentifier","src":"253720:2:21"}],"functionName":{"name":"mstore","nativeSrc":"253707:6:21","nodeType":"YulIdentifier","src":"253707:6:21"},"nativeSrc":"253707:16:21","nodeType":"YulFunctionCall","src":"253707:16:21"},"nativeSrc":"253707:16:21","nodeType":"YulExpressionStatement","src":"253707:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253743:4:21","nodeType":"YulLiteral","src":"253743:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"253749:2:21","nodeType":"YulIdentifier","src":"253749:2:21"}],"functionName":{"name":"mstore","nativeSrc":"253736:6:21","nodeType":"YulIdentifier","src":"253736:6:21"},"nativeSrc":"253736:16:21","nodeType":"YulFunctionCall","src":"253736:16:21"},"nativeSrc":"253736:16:21","nodeType":"YulExpressionStatement","src":"253736:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253772:4:21","nodeType":"YulLiteral","src":"253772:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"253778:2:21","nodeType":"YulIdentifier","src":"253778:2:21"}],"functionName":{"name":"mstore","nativeSrc":"253765:6:21","nodeType":"YulIdentifier","src":"253765:6:21"},"nativeSrc":"253765:16:21","nodeType":"YulFunctionCall","src":"253765:16:21"},"nativeSrc":"253765:16:21","nodeType":"YulExpressionStatement","src":"253765:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34912,"isOffset":false,"isSlot":false,"src":"253662:2:21","valueSize":1},{"declaration":34915,"isOffset":false,"isSlot":false,"src":"253691:2:21","valueSize":1},{"declaration":34918,"isOffset":false,"isSlot":false,"src":"253720:2:21","valueSize":1},{"declaration":34921,"isOffset":false,"isSlot":false,"src":"253749:2:21","valueSize":1},{"declaration":34924,"isOffset":false,"isSlot":false,"src":"253778:2:21","valueSize":1}],"id":34932,"nodeType":"InlineAssembly","src":"253626:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"252940:3:21","parameters":{"id":34909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34902,"mutability":"mutable","name":"p0","nameLocation":"252952:2:21","nodeType":"VariableDeclaration","scope":34934,"src":"252944:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34901,"name":"uint256","nodeType":"ElementaryTypeName","src":"252944:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34904,"mutability":"mutable","name":"p1","nameLocation":"252964:2:21","nodeType":"VariableDeclaration","scope":34934,"src":"252956:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34903,"name":"address","nodeType":"ElementaryTypeName","src":"252956:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34906,"mutability":"mutable","name":"p2","nameLocation":"252973:2:21","nodeType":"VariableDeclaration","scope":34934,"src":"252968:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34905,"name":"bool","nodeType":"ElementaryTypeName","src":"252968:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34908,"mutability":"mutable","name":"p3","nameLocation":"252982:2:21","nodeType":"VariableDeclaration","scope":34934,"src":"252977:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34907,"name":"bool","nodeType":"ElementaryTypeName","src":"252977:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"252943:42:21"},"returnParameters":{"id":34910,"nodeType":"ParameterList","parameters":[],"src":"253000:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34968,"nodeType":"FunctionDefinition","src":"253803:872:21","nodes":[],"body":{"id":34967,"nodeType":"Block","src":"253875:800:21","nodes":[],"statements":[{"assignments":[34946],"declarations":[{"constant":false,"id":34946,"mutability":"mutable","name":"m0","nameLocation":"253893:2:21","nodeType":"VariableDeclaration","scope":34967,"src":"253885:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253885:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34947,"nodeType":"VariableDeclarationStatement","src":"253885:10:21"},{"assignments":[34949],"declarations":[{"constant":false,"id":34949,"mutability":"mutable","name":"m1","nameLocation":"253913:2:21","nodeType":"VariableDeclaration","scope":34967,"src":"253905:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253905:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34950,"nodeType":"VariableDeclarationStatement","src":"253905:10:21"},{"assignments":[34952],"declarations":[{"constant":false,"id":34952,"mutability":"mutable","name":"m2","nameLocation":"253933:2:21","nodeType":"VariableDeclaration","scope":34967,"src":"253925:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253925:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34953,"nodeType":"VariableDeclarationStatement","src":"253925:10:21"},{"assignments":[34955],"declarations":[{"constant":false,"id":34955,"mutability":"mutable","name":"m3","nameLocation":"253953:2:21","nodeType":"VariableDeclaration","scope":34967,"src":"253945:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253945:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34956,"nodeType":"VariableDeclarationStatement","src":"253945:10:21"},{"assignments":[34958],"declarations":[{"constant":false,"id":34958,"mutability":"mutable","name":"m4","nameLocation":"253973:2:21","nodeType":"VariableDeclaration","scope":34967,"src":"253965:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253965:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34959,"nodeType":"VariableDeclarationStatement","src":"253965:10:21"},{"AST":{"nativeSrc":"254037:378:21","nodeType":"YulBlock","src":"254037:378:21","statements":[{"nativeSrc":"254051:17:21","nodeType":"YulAssignment","src":"254051:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"254063:4:21","nodeType":"YulLiteral","src":"254063:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"254057:5:21","nodeType":"YulIdentifier","src":"254057:5:21"},"nativeSrc":"254057:11:21","nodeType":"YulFunctionCall","src":"254057:11:21"},"variableNames":[{"name":"m0","nativeSrc":"254051:2:21","nodeType":"YulIdentifier","src":"254051:2:21"}]},{"nativeSrc":"254081:17:21","nodeType":"YulAssignment","src":"254081:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"254093:4:21","nodeType":"YulLiteral","src":"254093:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"254087:5:21","nodeType":"YulIdentifier","src":"254087:5:21"},"nativeSrc":"254087:11:21","nodeType":"YulFunctionCall","src":"254087:11:21"},"variableNames":[{"name":"m1","nativeSrc":"254081:2:21","nodeType":"YulIdentifier","src":"254081:2:21"}]},{"nativeSrc":"254111:17:21","nodeType":"YulAssignment","src":"254111:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"254123:4:21","nodeType":"YulLiteral","src":"254123:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"254117:5:21","nodeType":"YulIdentifier","src":"254117:5:21"},"nativeSrc":"254117:11:21","nodeType":"YulFunctionCall","src":"254117:11:21"},"variableNames":[{"name":"m2","nativeSrc":"254111:2:21","nodeType":"YulIdentifier","src":"254111:2:21"}]},{"nativeSrc":"254141:17:21","nodeType":"YulAssignment","src":"254141:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"254153:4:21","nodeType":"YulLiteral","src":"254153:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"254147:5:21","nodeType":"YulIdentifier","src":"254147:5:21"},"nativeSrc":"254147:11:21","nodeType":"YulFunctionCall","src":"254147:11:21"},"variableNames":[{"name":"m3","nativeSrc":"254141:2:21","nodeType":"YulIdentifier","src":"254141:2:21"}]},{"nativeSrc":"254171:17:21","nodeType":"YulAssignment","src":"254171:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"254183:4:21","nodeType":"YulLiteral","src":"254183:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"254177:5:21","nodeType":"YulIdentifier","src":"254177:5:21"},"nativeSrc":"254177:11:21","nodeType":"YulFunctionCall","src":"254177:11:21"},"variableNames":[{"name":"m4","nativeSrc":"254171:2:21","nodeType":"YulIdentifier","src":"254171:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254272:4:21","nodeType":"YulLiteral","src":"254272:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"254278:10:21","nodeType":"YulLiteral","src":"254278:10:21","type":"","value":"0x5abd992a"}],"functionName":{"name":"mstore","nativeSrc":"254265:6:21","nodeType":"YulIdentifier","src":"254265:6:21"},"nativeSrc":"254265:24:21","nodeType":"YulFunctionCall","src":"254265:24:21"},"nativeSrc":"254265:24:21","nodeType":"YulExpressionStatement","src":"254265:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254309:4:21","nodeType":"YulLiteral","src":"254309:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"254315:2:21","nodeType":"YulIdentifier","src":"254315:2:21"}],"functionName":{"name":"mstore","nativeSrc":"254302:6:21","nodeType":"YulIdentifier","src":"254302:6:21"},"nativeSrc":"254302:16:21","nodeType":"YulFunctionCall","src":"254302:16:21"},"nativeSrc":"254302:16:21","nodeType":"YulExpressionStatement","src":"254302:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254338:4:21","nodeType":"YulLiteral","src":"254338:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"254344:2:21","nodeType":"YulIdentifier","src":"254344:2:21"}],"functionName":{"name":"mstore","nativeSrc":"254331:6:21","nodeType":"YulIdentifier","src":"254331:6:21"},"nativeSrc":"254331:16:21","nodeType":"YulFunctionCall","src":"254331:16:21"},"nativeSrc":"254331:16:21","nodeType":"YulExpressionStatement","src":"254331:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254367:4:21","nodeType":"YulLiteral","src":"254367:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"254373:2:21","nodeType":"YulIdentifier","src":"254373:2:21"}],"functionName":{"name":"mstore","nativeSrc":"254360:6:21","nodeType":"YulIdentifier","src":"254360:6:21"},"nativeSrc":"254360:16:21","nodeType":"YulFunctionCall","src":"254360:16:21"},"nativeSrc":"254360:16:21","nodeType":"YulExpressionStatement","src":"254360:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254396:4:21","nodeType":"YulLiteral","src":"254396:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"254402:2:21","nodeType":"YulIdentifier","src":"254402:2:21"}],"functionName":{"name":"mstore","nativeSrc":"254389:6:21","nodeType":"YulIdentifier","src":"254389:6:21"},"nativeSrc":"254389:16:21","nodeType":"YulFunctionCall","src":"254389:16:21"},"nativeSrc":"254389:16:21","nodeType":"YulExpressionStatement","src":"254389:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34946,"isOffset":false,"isSlot":false,"src":"254051:2:21","valueSize":1},{"declaration":34949,"isOffset":false,"isSlot":false,"src":"254081:2:21","valueSize":1},{"declaration":34952,"isOffset":false,"isSlot":false,"src":"254111:2:21","valueSize":1},{"declaration":34955,"isOffset":false,"isSlot":false,"src":"254141:2:21","valueSize":1},{"declaration":34958,"isOffset":false,"isSlot":false,"src":"254171:2:21","valueSize":1},{"declaration":34936,"isOffset":false,"isSlot":false,"src":"254315:2:21","valueSize":1},{"declaration":34938,"isOffset":false,"isSlot":false,"src":"254344:2:21","valueSize":1},{"declaration":34940,"isOffset":false,"isSlot":false,"src":"254373:2:21","valueSize":1},{"declaration":34942,"isOffset":false,"isSlot":false,"src":"254402:2:21","valueSize":1}],"id":34960,"nodeType":"InlineAssembly","src":"254028:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":34962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"254440:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"254446:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34961,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"254424:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"254424:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34965,"nodeType":"ExpressionStatement","src":"254424:27:21"},{"AST":{"nativeSrc":"254513:156:21","nodeType":"YulBlock","src":"254513:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"254534:4:21","nodeType":"YulLiteral","src":"254534:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"254540:2:21","nodeType":"YulIdentifier","src":"254540:2:21"}],"functionName":{"name":"mstore","nativeSrc":"254527:6:21","nodeType":"YulIdentifier","src":"254527:6:21"},"nativeSrc":"254527:16:21","nodeType":"YulFunctionCall","src":"254527:16:21"},"nativeSrc":"254527:16:21","nodeType":"YulExpressionStatement","src":"254527:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254563:4:21","nodeType":"YulLiteral","src":"254563:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"254569:2:21","nodeType":"YulIdentifier","src":"254569:2:21"}],"functionName":{"name":"mstore","nativeSrc":"254556:6:21","nodeType":"YulIdentifier","src":"254556:6:21"},"nativeSrc":"254556:16:21","nodeType":"YulFunctionCall","src":"254556:16:21"},"nativeSrc":"254556:16:21","nodeType":"YulExpressionStatement","src":"254556:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254592:4:21","nodeType":"YulLiteral","src":"254592:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"254598:2:21","nodeType":"YulIdentifier","src":"254598:2:21"}],"functionName":{"name":"mstore","nativeSrc":"254585:6:21","nodeType":"YulIdentifier","src":"254585:6:21"},"nativeSrc":"254585:16:21","nodeType":"YulFunctionCall","src":"254585:16:21"},"nativeSrc":"254585:16:21","nodeType":"YulExpressionStatement","src":"254585:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254621:4:21","nodeType":"YulLiteral","src":"254621:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"254627:2:21","nodeType":"YulIdentifier","src":"254627:2:21"}],"functionName":{"name":"mstore","nativeSrc":"254614:6:21","nodeType":"YulIdentifier","src":"254614:6:21"},"nativeSrc":"254614:16:21","nodeType":"YulFunctionCall","src":"254614:16:21"},"nativeSrc":"254614:16:21","nodeType":"YulExpressionStatement","src":"254614:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254650:4:21","nodeType":"YulLiteral","src":"254650:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"254656:2:21","nodeType":"YulIdentifier","src":"254656:2:21"}],"functionName":{"name":"mstore","nativeSrc":"254643:6:21","nodeType":"YulIdentifier","src":"254643:6:21"},"nativeSrc":"254643:16:21","nodeType":"YulFunctionCall","src":"254643:16:21"},"nativeSrc":"254643:16:21","nodeType":"YulExpressionStatement","src":"254643:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34946,"isOffset":false,"isSlot":false,"src":"254540:2:21","valueSize":1},{"declaration":34949,"isOffset":false,"isSlot":false,"src":"254569:2:21","valueSize":1},{"declaration":34952,"isOffset":false,"isSlot":false,"src":"254598:2:21","valueSize":1},{"declaration":34955,"isOffset":false,"isSlot":false,"src":"254627:2:21","valueSize":1},{"declaration":34958,"isOffset":false,"isSlot":false,"src":"254656:2:21","valueSize":1}],"id":34966,"nodeType":"InlineAssembly","src":"254504:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"253812:3:21","parameters":{"id":34943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34936,"mutability":"mutable","name":"p0","nameLocation":"253824:2:21","nodeType":"VariableDeclaration","scope":34968,"src":"253816:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34935,"name":"uint256","nodeType":"ElementaryTypeName","src":"253816:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34938,"mutability":"mutable","name":"p1","nameLocation":"253836:2:21","nodeType":"VariableDeclaration","scope":34968,"src":"253828:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34937,"name":"address","nodeType":"ElementaryTypeName","src":"253828:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34940,"mutability":"mutable","name":"p2","nameLocation":"253845:2:21","nodeType":"VariableDeclaration","scope":34968,"src":"253840:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34939,"name":"bool","nodeType":"ElementaryTypeName","src":"253840:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34942,"mutability":"mutable","name":"p3","nameLocation":"253857:2:21","nodeType":"VariableDeclaration","scope":34968,"src":"253849:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34941,"name":"uint256","nodeType":"ElementaryTypeName","src":"253849:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"253815:45:21"},"returnParameters":{"id":34944,"nodeType":"ParameterList","parameters":[],"src":"253875:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35008,"nodeType":"FunctionDefinition","src":"254681:1420:21","nodes":[],"body":{"id":35007,"nodeType":"Block","src":"254753:1348:21","nodes":[],"statements":[{"assignments":[34980],"declarations":[{"constant":false,"id":34980,"mutability":"mutable","name":"m0","nameLocation":"254771:2:21","nodeType":"VariableDeclaration","scope":35007,"src":"254763:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254763:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34981,"nodeType":"VariableDeclarationStatement","src":"254763:10:21"},{"assignments":[34983],"declarations":[{"constant":false,"id":34983,"mutability":"mutable","name":"m1","nameLocation":"254791:2:21","nodeType":"VariableDeclaration","scope":35007,"src":"254783:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34982,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254783:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34984,"nodeType":"VariableDeclarationStatement","src":"254783:10:21"},{"assignments":[34986],"declarations":[{"constant":false,"id":34986,"mutability":"mutable","name":"m2","nameLocation":"254811:2:21","nodeType":"VariableDeclaration","scope":35007,"src":"254803:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254803:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34987,"nodeType":"VariableDeclarationStatement","src":"254803:10:21"},{"assignments":[34989],"declarations":[{"constant":false,"id":34989,"mutability":"mutable","name":"m3","nameLocation":"254831:2:21","nodeType":"VariableDeclaration","scope":35007,"src":"254823:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254823:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34990,"nodeType":"VariableDeclarationStatement","src":"254823:10:21"},{"assignments":[34992],"declarations":[{"constant":false,"id":34992,"mutability":"mutable","name":"m4","nameLocation":"254851:2:21","nodeType":"VariableDeclaration","scope":35007,"src":"254843:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254843:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34993,"nodeType":"VariableDeclarationStatement","src":"254843:10:21"},{"assignments":[34995],"declarations":[{"constant":false,"id":34995,"mutability":"mutable","name":"m5","nameLocation":"254871:2:21","nodeType":"VariableDeclaration","scope":35007,"src":"254863:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254863:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34996,"nodeType":"VariableDeclarationStatement","src":"254863:10:21"},{"assignments":[34998],"declarations":[{"constant":false,"id":34998,"mutability":"mutable","name":"m6","nameLocation":"254891:2:21","nodeType":"VariableDeclaration","scope":35007,"src":"254883:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254883:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34999,"nodeType":"VariableDeclarationStatement","src":"254883:10:21"},{"AST":{"nativeSrc":"254955:828:21","nodeType":"YulBlock","src":"254955:828:21","statements":[{"body":{"nativeSrc":"254998:313:21","nodeType":"YulBlock","src":"254998:313:21","statements":[{"nativeSrc":"255016:15:21","nodeType":"YulVariableDeclaration","src":"255016:15:21","value":{"kind":"number","nativeSrc":"255030:1:21","nodeType":"YulLiteral","src":"255030:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"255020:6:21","nodeType":"YulTypedName","src":"255020:6:21","type":""}]},{"body":{"nativeSrc":"255101:40:21","nodeType":"YulBlock","src":"255101:40:21","statements":[{"body":{"nativeSrc":"255130:9:21","nodeType":"YulBlock","src":"255130:9:21","statements":[{"nativeSrc":"255132:5:21","nodeType":"YulBreak","src":"255132:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"255118:6:21","nodeType":"YulIdentifier","src":"255118:6:21"},{"name":"w","nativeSrc":"255126:1:21","nodeType":"YulIdentifier","src":"255126:1:21"}],"functionName":{"name":"byte","nativeSrc":"255113:4:21","nodeType":"YulIdentifier","src":"255113:4:21"},"nativeSrc":"255113:15:21","nodeType":"YulFunctionCall","src":"255113:15:21"}],"functionName":{"name":"iszero","nativeSrc":"255106:6:21","nodeType":"YulIdentifier","src":"255106:6:21"},"nativeSrc":"255106:23:21","nodeType":"YulFunctionCall","src":"255106:23:21"},"nativeSrc":"255103:36:21","nodeType":"YulIf","src":"255103:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"255058:6:21","nodeType":"YulIdentifier","src":"255058:6:21"},{"kind":"number","nativeSrc":"255066:4:21","nodeType":"YulLiteral","src":"255066:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"255055:2:21","nodeType":"YulIdentifier","src":"255055:2:21"},"nativeSrc":"255055:16:21","nodeType":"YulFunctionCall","src":"255055:16:21"},"nativeSrc":"255048:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"255072:28:21","nodeType":"YulBlock","src":"255072:28:21","statements":[{"nativeSrc":"255074:24:21","nodeType":"YulAssignment","src":"255074:24:21","value":{"arguments":[{"name":"length","nativeSrc":"255088:6:21","nodeType":"YulIdentifier","src":"255088:6:21"},{"kind":"number","nativeSrc":"255096:1:21","nodeType":"YulLiteral","src":"255096:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"255084:3:21","nodeType":"YulIdentifier","src":"255084:3:21"},"nativeSrc":"255084:14:21","nodeType":"YulFunctionCall","src":"255084:14:21"},"variableNames":[{"name":"length","nativeSrc":"255074:6:21","nodeType":"YulIdentifier","src":"255074:6:21"}]}]},"pre":{"nativeSrc":"255052:2:21","nodeType":"YulBlock","src":"255052:2:21","statements":[]},"src":"255048:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"255165:3:21","nodeType":"YulIdentifier","src":"255165:3:21"},{"name":"length","nativeSrc":"255170:6:21","nodeType":"YulIdentifier","src":"255170:6:21"}],"functionName":{"name":"mstore","nativeSrc":"255158:6:21","nodeType":"YulIdentifier","src":"255158:6:21"},"nativeSrc":"255158:19:21","nodeType":"YulFunctionCall","src":"255158:19:21"},"nativeSrc":"255158:19:21","nodeType":"YulExpressionStatement","src":"255158:19:21"},{"nativeSrc":"255194:37:21","nodeType":"YulVariableDeclaration","src":"255194:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"255211:3:21","nodeType":"YulLiteral","src":"255211:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"255220:1:21","nodeType":"YulLiteral","src":"255220:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"255223:6:21","nodeType":"YulIdentifier","src":"255223:6:21"}],"functionName":{"name":"shl","nativeSrc":"255216:3:21","nodeType":"YulIdentifier","src":"255216:3:21"},"nativeSrc":"255216:14:21","nodeType":"YulFunctionCall","src":"255216:14:21"}],"functionName":{"name":"sub","nativeSrc":"255207:3:21","nodeType":"YulIdentifier","src":"255207:3:21"},"nativeSrc":"255207:24:21","nodeType":"YulFunctionCall","src":"255207:24:21"},"variables":[{"name":"shift","nativeSrc":"255198:5:21","nodeType":"YulTypedName","src":"255198:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"255259:3:21","nodeType":"YulIdentifier","src":"255259:3:21"},{"kind":"number","nativeSrc":"255264:4:21","nodeType":"YulLiteral","src":"255264:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"255255:3:21","nodeType":"YulIdentifier","src":"255255:3:21"},"nativeSrc":"255255:14:21","nodeType":"YulFunctionCall","src":"255255:14:21"},{"arguments":[{"name":"shift","nativeSrc":"255275:5:21","nodeType":"YulIdentifier","src":"255275:5:21"},{"arguments":[{"name":"shift","nativeSrc":"255286:5:21","nodeType":"YulIdentifier","src":"255286:5:21"},{"name":"w","nativeSrc":"255293:1:21","nodeType":"YulIdentifier","src":"255293:1:21"}],"functionName":{"name":"shr","nativeSrc":"255282:3:21","nodeType":"YulIdentifier","src":"255282:3:21"},"nativeSrc":"255282:13:21","nodeType":"YulFunctionCall","src":"255282:13:21"}],"functionName":{"name":"shl","nativeSrc":"255271:3:21","nodeType":"YulIdentifier","src":"255271:3:21"},"nativeSrc":"255271:25:21","nodeType":"YulFunctionCall","src":"255271:25:21"}],"functionName":{"name":"mstore","nativeSrc":"255248:6:21","nodeType":"YulIdentifier","src":"255248:6:21"},"nativeSrc":"255248:49:21","nodeType":"YulFunctionCall","src":"255248:49:21"},"nativeSrc":"255248:49:21","nodeType":"YulExpressionStatement","src":"255248:49:21"}]},"name":"writeString","nativeSrc":"254969:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"254990:3:21","nodeType":"YulTypedName","src":"254990:3:21","type":""},{"name":"w","nativeSrc":"254995:1:21","nodeType":"YulTypedName","src":"254995:1:21","type":""}],"src":"254969:342:21"},{"nativeSrc":"255324:17:21","nodeType":"YulAssignment","src":"255324:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"255336:4:21","nodeType":"YulLiteral","src":"255336:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"255330:5:21","nodeType":"YulIdentifier","src":"255330:5:21"},"nativeSrc":"255330:11:21","nodeType":"YulFunctionCall","src":"255330:11:21"},"variableNames":[{"name":"m0","nativeSrc":"255324:2:21","nodeType":"YulIdentifier","src":"255324:2:21"}]},{"nativeSrc":"255354:17:21","nodeType":"YulAssignment","src":"255354:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"255366:4:21","nodeType":"YulLiteral","src":"255366:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"255360:5:21","nodeType":"YulIdentifier","src":"255360:5:21"},"nativeSrc":"255360:11:21","nodeType":"YulFunctionCall","src":"255360:11:21"},"variableNames":[{"name":"m1","nativeSrc":"255354:2:21","nodeType":"YulIdentifier","src":"255354:2:21"}]},{"nativeSrc":"255384:17:21","nodeType":"YulAssignment","src":"255384:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"255396:4:21","nodeType":"YulLiteral","src":"255396:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"255390:5:21","nodeType":"YulIdentifier","src":"255390:5:21"},"nativeSrc":"255390:11:21","nodeType":"YulFunctionCall","src":"255390:11:21"},"variableNames":[{"name":"m2","nativeSrc":"255384:2:21","nodeType":"YulIdentifier","src":"255384:2:21"}]},{"nativeSrc":"255414:17:21","nodeType":"YulAssignment","src":"255414:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"255426:4:21","nodeType":"YulLiteral","src":"255426:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"255420:5:21","nodeType":"YulIdentifier","src":"255420:5:21"},"nativeSrc":"255420:11:21","nodeType":"YulFunctionCall","src":"255420:11:21"},"variableNames":[{"name":"m3","nativeSrc":"255414:2:21","nodeType":"YulIdentifier","src":"255414:2:21"}]},{"nativeSrc":"255444:17:21","nodeType":"YulAssignment","src":"255444:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"255456:4:21","nodeType":"YulLiteral","src":"255456:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"255450:5:21","nodeType":"YulIdentifier","src":"255450:5:21"},"nativeSrc":"255450:11:21","nodeType":"YulFunctionCall","src":"255450:11:21"},"variableNames":[{"name":"m4","nativeSrc":"255444:2:21","nodeType":"YulIdentifier","src":"255444:2:21"}]},{"nativeSrc":"255474:17:21","nodeType":"YulAssignment","src":"255474:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"255486:4:21","nodeType":"YulLiteral","src":"255486:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"255480:5:21","nodeType":"YulIdentifier","src":"255480:5:21"},"nativeSrc":"255480:11:21","nodeType":"YulFunctionCall","src":"255480:11:21"},"variableNames":[{"name":"m5","nativeSrc":"255474:2:21","nodeType":"YulIdentifier","src":"255474:2:21"}]},{"nativeSrc":"255504:17:21","nodeType":"YulAssignment","src":"255504:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"255516:4:21","nodeType":"YulLiteral","src":"255516:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"255510:5:21","nodeType":"YulIdentifier","src":"255510:5:21"},"nativeSrc":"255510:11:21","nodeType":"YulFunctionCall","src":"255510:11:21"},"variableNames":[{"name":"m6","nativeSrc":"255504:2:21","nodeType":"YulIdentifier","src":"255504:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255604:4:21","nodeType":"YulLiteral","src":"255604:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"255610:10:21","nodeType":"YulLiteral","src":"255610:10:21","type":"","value":"0x90fb06aa"}],"functionName":{"name":"mstore","nativeSrc":"255597:6:21","nodeType":"YulIdentifier","src":"255597:6:21"},"nativeSrc":"255597:24:21","nodeType":"YulFunctionCall","src":"255597:24:21"},"nativeSrc":"255597:24:21","nodeType":"YulExpressionStatement","src":"255597:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255641:4:21","nodeType":"YulLiteral","src":"255641:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"255647:2:21","nodeType":"YulIdentifier","src":"255647:2:21"}],"functionName":{"name":"mstore","nativeSrc":"255634:6:21","nodeType":"YulIdentifier","src":"255634:6:21"},"nativeSrc":"255634:16:21","nodeType":"YulFunctionCall","src":"255634:16:21"},"nativeSrc":"255634:16:21","nodeType":"YulExpressionStatement","src":"255634:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255670:4:21","nodeType":"YulLiteral","src":"255670:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"255676:2:21","nodeType":"YulIdentifier","src":"255676:2:21"}],"functionName":{"name":"mstore","nativeSrc":"255663:6:21","nodeType":"YulIdentifier","src":"255663:6:21"},"nativeSrc":"255663:16:21","nodeType":"YulFunctionCall","src":"255663:16:21"},"nativeSrc":"255663:16:21","nodeType":"YulExpressionStatement","src":"255663:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255699:4:21","nodeType":"YulLiteral","src":"255699:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"255705:2:21","nodeType":"YulIdentifier","src":"255705:2:21"}],"functionName":{"name":"mstore","nativeSrc":"255692:6:21","nodeType":"YulIdentifier","src":"255692:6:21"},"nativeSrc":"255692:16:21","nodeType":"YulFunctionCall","src":"255692:16:21"},"nativeSrc":"255692:16:21","nodeType":"YulExpressionStatement","src":"255692:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255728:4:21","nodeType":"YulLiteral","src":"255728:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"255734:4:21","nodeType":"YulLiteral","src":"255734:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"255721:6:21","nodeType":"YulIdentifier","src":"255721:6:21"},"nativeSrc":"255721:18:21","nodeType":"YulFunctionCall","src":"255721:18:21"},"nativeSrc":"255721:18:21","nodeType":"YulExpressionStatement","src":"255721:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255764:4:21","nodeType":"YulLiteral","src":"255764:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"255770:2:21","nodeType":"YulIdentifier","src":"255770:2:21"}],"functionName":{"name":"writeString","nativeSrc":"255752:11:21","nodeType":"YulIdentifier","src":"255752:11:21"},"nativeSrc":"255752:21:21","nodeType":"YulFunctionCall","src":"255752:21:21"},"nativeSrc":"255752:21:21","nodeType":"YulExpressionStatement","src":"255752:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34980,"isOffset":false,"isSlot":false,"src":"255324:2:21","valueSize":1},{"declaration":34983,"isOffset":false,"isSlot":false,"src":"255354:2:21","valueSize":1},{"declaration":34986,"isOffset":false,"isSlot":false,"src":"255384:2:21","valueSize":1},{"declaration":34989,"isOffset":false,"isSlot":false,"src":"255414:2:21","valueSize":1},{"declaration":34992,"isOffset":false,"isSlot":false,"src":"255444:2:21","valueSize":1},{"declaration":34995,"isOffset":false,"isSlot":false,"src":"255474:2:21","valueSize":1},{"declaration":34998,"isOffset":false,"isSlot":false,"src":"255504:2:21","valueSize":1},{"declaration":34970,"isOffset":false,"isSlot":false,"src":"255647:2:21","valueSize":1},{"declaration":34972,"isOffset":false,"isSlot":false,"src":"255676:2:21","valueSize":1},{"declaration":34974,"isOffset":false,"isSlot":false,"src":"255705:2:21","valueSize":1},{"declaration":34976,"isOffset":false,"isSlot":false,"src":"255770:2:21","valueSize":1}],"id":35000,"nodeType":"InlineAssembly","src":"254946:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"255808:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"255814:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"255792:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"255792:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35005,"nodeType":"ExpressionStatement","src":"255792:27:21"},{"AST":{"nativeSrc":"255881:214:21","nodeType":"YulBlock","src":"255881:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"255902:4:21","nodeType":"YulLiteral","src":"255902:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"255908:2:21","nodeType":"YulIdentifier","src":"255908:2:21"}],"functionName":{"name":"mstore","nativeSrc":"255895:6:21","nodeType":"YulIdentifier","src":"255895:6:21"},"nativeSrc":"255895:16:21","nodeType":"YulFunctionCall","src":"255895:16:21"},"nativeSrc":"255895:16:21","nodeType":"YulExpressionStatement","src":"255895:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255931:4:21","nodeType":"YulLiteral","src":"255931:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"255937:2:21","nodeType":"YulIdentifier","src":"255937:2:21"}],"functionName":{"name":"mstore","nativeSrc":"255924:6:21","nodeType":"YulIdentifier","src":"255924:6:21"},"nativeSrc":"255924:16:21","nodeType":"YulFunctionCall","src":"255924:16:21"},"nativeSrc":"255924:16:21","nodeType":"YulExpressionStatement","src":"255924:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255960:4:21","nodeType":"YulLiteral","src":"255960:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"255966:2:21","nodeType":"YulIdentifier","src":"255966:2:21"}],"functionName":{"name":"mstore","nativeSrc":"255953:6:21","nodeType":"YulIdentifier","src":"255953:6:21"},"nativeSrc":"255953:16:21","nodeType":"YulFunctionCall","src":"255953:16:21"},"nativeSrc":"255953:16:21","nodeType":"YulExpressionStatement","src":"255953:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255989:4:21","nodeType":"YulLiteral","src":"255989:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"255995:2:21","nodeType":"YulIdentifier","src":"255995:2:21"}],"functionName":{"name":"mstore","nativeSrc":"255982:6:21","nodeType":"YulIdentifier","src":"255982:6:21"},"nativeSrc":"255982:16:21","nodeType":"YulFunctionCall","src":"255982:16:21"},"nativeSrc":"255982:16:21","nodeType":"YulExpressionStatement","src":"255982:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256018:4:21","nodeType":"YulLiteral","src":"256018:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"256024:2:21","nodeType":"YulIdentifier","src":"256024:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256011:6:21","nodeType":"YulIdentifier","src":"256011:6:21"},"nativeSrc":"256011:16:21","nodeType":"YulFunctionCall","src":"256011:16:21"},"nativeSrc":"256011:16:21","nodeType":"YulExpressionStatement","src":"256011:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256047:4:21","nodeType":"YulLiteral","src":"256047:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"256053:2:21","nodeType":"YulIdentifier","src":"256053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256040:6:21","nodeType":"YulIdentifier","src":"256040:6:21"},"nativeSrc":"256040:16:21","nodeType":"YulFunctionCall","src":"256040:16:21"},"nativeSrc":"256040:16:21","nodeType":"YulExpressionStatement","src":"256040:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256076:4:21","nodeType":"YulLiteral","src":"256076:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"256082:2:21","nodeType":"YulIdentifier","src":"256082:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256069:6:21","nodeType":"YulIdentifier","src":"256069:6:21"},"nativeSrc":"256069:16:21","nodeType":"YulFunctionCall","src":"256069:16:21"},"nativeSrc":"256069:16:21","nodeType":"YulExpressionStatement","src":"256069:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":34980,"isOffset":false,"isSlot":false,"src":"255908:2:21","valueSize":1},{"declaration":34983,"isOffset":false,"isSlot":false,"src":"255937:2:21","valueSize":1},{"declaration":34986,"isOffset":false,"isSlot":false,"src":"255966:2:21","valueSize":1},{"declaration":34989,"isOffset":false,"isSlot":false,"src":"255995:2:21","valueSize":1},{"declaration":34992,"isOffset":false,"isSlot":false,"src":"256024:2:21","valueSize":1},{"declaration":34995,"isOffset":false,"isSlot":false,"src":"256053:2:21","valueSize":1},{"declaration":34998,"isOffset":false,"isSlot":false,"src":"256082:2:21","valueSize":1}],"id":35006,"nodeType":"InlineAssembly","src":"255872:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"254690:3:21","parameters":{"id":34977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34970,"mutability":"mutable","name":"p0","nameLocation":"254702:2:21","nodeType":"VariableDeclaration","scope":35008,"src":"254694:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34969,"name":"uint256","nodeType":"ElementaryTypeName","src":"254694:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34972,"mutability":"mutable","name":"p1","nameLocation":"254714:2:21","nodeType":"VariableDeclaration","scope":35008,"src":"254706:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34971,"name":"address","nodeType":"ElementaryTypeName","src":"254706:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34974,"mutability":"mutable","name":"p2","nameLocation":"254723:2:21","nodeType":"VariableDeclaration","scope":35008,"src":"254718:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34973,"name":"bool","nodeType":"ElementaryTypeName","src":"254718:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34976,"mutability":"mutable","name":"p3","nameLocation":"254735:2:21","nodeType":"VariableDeclaration","scope":35008,"src":"254727:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254727:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"254693:45:21"},"returnParameters":{"id":34978,"nodeType":"ParameterList","parameters":[],"src":"254753:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35042,"nodeType":"FunctionDefinition","src":"256107:878:21","nodes":[],"body":{"id":35041,"nodeType":"Block","src":"256182:803:21","nodes":[],"statements":[{"assignments":[35020],"declarations":[{"constant":false,"id":35020,"mutability":"mutable","name":"m0","nameLocation":"256200:2:21","nodeType":"VariableDeclaration","scope":35041,"src":"256192:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256192:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35021,"nodeType":"VariableDeclarationStatement","src":"256192:10:21"},{"assignments":[35023],"declarations":[{"constant":false,"id":35023,"mutability":"mutable","name":"m1","nameLocation":"256220:2:21","nodeType":"VariableDeclaration","scope":35041,"src":"256212:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256212:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35024,"nodeType":"VariableDeclarationStatement","src":"256212:10:21"},{"assignments":[35026],"declarations":[{"constant":false,"id":35026,"mutability":"mutable","name":"m2","nameLocation":"256240:2:21","nodeType":"VariableDeclaration","scope":35041,"src":"256232:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256232:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35027,"nodeType":"VariableDeclarationStatement","src":"256232:10:21"},{"assignments":[35029],"declarations":[{"constant":false,"id":35029,"mutability":"mutable","name":"m3","nameLocation":"256260:2:21","nodeType":"VariableDeclaration","scope":35041,"src":"256252:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256252:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35030,"nodeType":"VariableDeclarationStatement","src":"256252:10:21"},{"assignments":[35032],"declarations":[{"constant":false,"id":35032,"mutability":"mutable","name":"m4","nameLocation":"256280:2:21","nodeType":"VariableDeclaration","scope":35041,"src":"256272:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256272:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35033,"nodeType":"VariableDeclarationStatement","src":"256272:10:21"},{"AST":{"nativeSrc":"256344:381:21","nodeType":"YulBlock","src":"256344:381:21","statements":[{"nativeSrc":"256358:17:21","nodeType":"YulAssignment","src":"256358:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"256370:4:21","nodeType":"YulLiteral","src":"256370:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"256364:5:21","nodeType":"YulIdentifier","src":"256364:5:21"},"nativeSrc":"256364:11:21","nodeType":"YulFunctionCall","src":"256364:11:21"},"variableNames":[{"name":"m0","nativeSrc":"256358:2:21","nodeType":"YulIdentifier","src":"256358:2:21"}]},{"nativeSrc":"256388:17:21","nodeType":"YulAssignment","src":"256388:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"256400:4:21","nodeType":"YulLiteral","src":"256400:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"256394:5:21","nodeType":"YulIdentifier","src":"256394:5:21"},"nativeSrc":"256394:11:21","nodeType":"YulFunctionCall","src":"256394:11:21"},"variableNames":[{"name":"m1","nativeSrc":"256388:2:21","nodeType":"YulIdentifier","src":"256388:2:21"}]},{"nativeSrc":"256418:17:21","nodeType":"YulAssignment","src":"256418:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"256430:4:21","nodeType":"YulLiteral","src":"256430:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"256424:5:21","nodeType":"YulIdentifier","src":"256424:5:21"},"nativeSrc":"256424:11:21","nodeType":"YulFunctionCall","src":"256424:11:21"},"variableNames":[{"name":"m2","nativeSrc":"256418:2:21","nodeType":"YulIdentifier","src":"256418:2:21"}]},{"nativeSrc":"256448:17:21","nodeType":"YulAssignment","src":"256448:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"256460:4:21","nodeType":"YulLiteral","src":"256460:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"256454:5:21","nodeType":"YulIdentifier","src":"256454:5:21"},"nativeSrc":"256454:11:21","nodeType":"YulFunctionCall","src":"256454:11:21"},"variableNames":[{"name":"m3","nativeSrc":"256448:2:21","nodeType":"YulIdentifier","src":"256448:2:21"}]},{"nativeSrc":"256478:17:21","nodeType":"YulAssignment","src":"256478:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"256490:4:21","nodeType":"YulLiteral","src":"256490:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"256484:5:21","nodeType":"YulIdentifier","src":"256484:5:21"},"nativeSrc":"256484:11:21","nodeType":"YulFunctionCall","src":"256484:11:21"},"variableNames":[{"name":"m4","nativeSrc":"256478:2:21","nodeType":"YulIdentifier","src":"256478:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256582:4:21","nodeType":"YulLiteral","src":"256582:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"256588:10:21","nodeType":"YulLiteral","src":"256588:10:21","type":"","value":"0x15c127b5"}],"functionName":{"name":"mstore","nativeSrc":"256575:6:21","nodeType":"YulIdentifier","src":"256575:6:21"},"nativeSrc":"256575:24:21","nodeType":"YulFunctionCall","src":"256575:24:21"},"nativeSrc":"256575:24:21","nodeType":"YulExpressionStatement","src":"256575:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256619:4:21","nodeType":"YulLiteral","src":"256619:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"256625:2:21","nodeType":"YulIdentifier","src":"256625:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256612:6:21","nodeType":"YulIdentifier","src":"256612:6:21"},"nativeSrc":"256612:16:21","nodeType":"YulFunctionCall","src":"256612:16:21"},"nativeSrc":"256612:16:21","nodeType":"YulExpressionStatement","src":"256612:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256648:4:21","nodeType":"YulLiteral","src":"256648:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"256654:2:21","nodeType":"YulIdentifier","src":"256654:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256641:6:21","nodeType":"YulIdentifier","src":"256641:6:21"},"nativeSrc":"256641:16:21","nodeType":"YulFunctionCall","src":"256641:16:21"},"nativeSrc":"256641:16:21","nodeType":"YulExpressionStatement","src":"256641:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256677:4:21","nodeType":"YulLiteral","src":"256677:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"256683:2:21","nodeType":"YulIdentifier","src":"256683:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256670:6:21","nodeType":"YulIdentifier","src":"256670:6:21"},"nativeSrc":"256670:16:21","nodeType":"YulFunctionCall","src":"256670:16:21"},"nativeSrc":"256670:16:21","nodeType":"YulExpressionStatement","src":"256670:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256706:4:21","nodeType":"YulLiteral","src":"256706:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"256712:2:21","nodeType":"YulIdentifier","src":"256712:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256699:6:21","nodeType":"YulIdentifier","src":"256699:6:21"},"nativeSrc":"256699:16:21","nodeType":"YulFunctionCall","src":"256699:16:21"},"nativeSrc":"256699:16:21","nodeType":"YulExpressionStatement","src":"256699:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35020,"isOffset":false,"isSlot":false,"src":"256358:2:21","valueSize":1},{"declaration":35023,"isOffset":false,"isSlot":false,"src":"256388:2:21","valueSize":1},{"declaration":35026,"isOffset":false,"isSlot":false,"src":"256418:2:21","valueSize":1},{"declaration":35029,"isOffset":false,"isSlot":false,"src":"256448:2:21","valueSize":1},{"declaration":35032,"isOffset":false,"isSlot":false,"src":"256478:2:21","valueSize":1},{"declaration":35010,"isOffset":false,"isSlot":false,"src":"256625:2:21","valueSize":1},{"declaration":35012,"isOffset":false,"isSlot":false,"src":"256654:2:21","valueSize":1},{"declaration":35014,"isOffset":false,"isSlot":false,"src":"256683:2:21","valueSize":1},{"declaration":35016,"isOffset":false,"isSlot":false,"src":"256712:2:21","valueSize":1}],"id":35034,"nodeType":"InlineAssembly","src":"256335:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"256750:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"256756:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35035,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"256734:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"256734:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35039,"nodeType":"ExpressionStatement","src":"256734:27:21"},{"AST":{"nativeSrc":"256823:156:21","nodeType":"YulBlock","src":"256823:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"256844:4:21","nodeType":"YulLiteral","src":"256844:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"256850:2:21","nodeType":"YulIdentifier","src":"256850:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256837:6:21","nodeType":"YulIdentifier","src":"256837:6:21"},"nativeSrc":"256837:16:21","nodeType":"YulFunctionCall","src":"256837:16:21"},"nativeSrc":"256837:16:21","nodeType":"YulExpressionStatement","src":"256837:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256873:4:21","nodeType":"YulLiteral","src":"256873:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"256879:2:21","nodeType":"YulIdentifier","src":"256879:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256866:6:21","nodeType":"YulIdentifier","src":"256866:6:21"},"nativeSrc":"256866:16:21","nodeType":"YulFunctionCall","src":"256866:16:21"},"nativeSrc":"256866:16:21","nodeType":"YulExpressionStatement","src":"256866:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256902:4:21","nodeType":"YulLiteral","src":"256902:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"256908:2:21","nodeType":"YulIdentifier","src":"256908:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256895:6:21","nodeType":"YulIdentifier","src":"256895:6:21"},"nativeSrc":"256895:16:21","nodeType":"YulFunctionCall","src":"256895:16:21"},"nativeSrc":"256895:16:21","nodeType":"YulExpressionStatement","src":"256895:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256931:4:21","nodeType":"YulLiteral","src":"256931:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"256937:2:21","nodeType":"YulIdentifier","src":"256937:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256924:6:21","nodeType":"YulIdentifier","src":"256924:6:21"},"nativeSrc":"256924:16:21","nodeType":"YulFunctionCall","src":"256924:16:21"},"nativeSrc":"256924:16:21","nodeType":"YulExpressionStatement","src":"256924:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256960:4:21","nodeType":"YulLiteral","src":"256960:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"256966:2:21","nodeType":"YulIdentifier","src":"256966:2:21"}],"functionName":{"name":"mstore","nativeSrc":"256953:6:21","nodeType":"YulIdentifier","src":"256953:6:21"},"nativeSrc":"256953:16:21","nodeType":"YulFunctionCall","src":"256953:16:21"},"nativeSrc":"256953:16:21","nodeType":"YulExpressionStatement","src":"256953:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35020,"isOffset":false,"isSlot":false,"src":"256850:2:21","valueSize":1},{"declaration":35023,"isOffset":false,"isSlot":false,"src":"256879:2:21","valueSize":1},{"declaration":35026,"isOffset":false,"isSlot":false,"src":"256908:2:21","valueSize":1},{"declaration":35029,"isOffset":false,"isSlot":false,"src":"256937:2:21","valueSize":1},{"declaration":35032,"isOffset":false,"isSlot":false,"src":"256966:2:21","valueSize":1}],"id":35040,"nodeType":"InlineAssembly","src":"256814:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"256116:3:21","parameters":{"id":35017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35010,"mutability":"mutable","name":"p0","nameLocation":"256128:2:21","nodeType":"VariableDeclaration","scope":35042,"src":"256120:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35009,"name":"uint256","nodeType":"ElementaryTypeName","src":"256120:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35012,"mutability":"mutable","name":"p1","nameLocation":"256140:2:21","nodeType":"VariableDeclaration","scope":35042,"src":"256132:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35011,"name":"address","nodeType":"ElementaryTypeName","src":"256132:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35014,"mutability":"mutable","name":"p2","nameLocation":"256152:2:21","nodeType":"VariableDeclaration","scope":35042,"src":"256144:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35013,"name":"uint256","nodeType":"ElementaryTypeName","src":"256144:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35016,"mutability":"mutable","name":"p3","nameLocation":"256164:2:21","nodeType":"VariableDeclaration","scope":35042,"src":"256156:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35015,"name":"address","nodeType":"ElementaryTypeName","src":"256156:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"256119:48:21"},"returnParameters":{"id":35018,"nodeType":"ParameterList","parameters":[],"src":"256182:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35076,"nodeType":"FunctionDefinition","src":"256991:872:21","nodes":[],"body":{"id":35075,"nodeType":"Block","src":"257063:800:21","nodes":[],"statements":[{"assignments":[35054],"declarations":[{"constant":false,"id":35054,"mutability":"mutable","name":"m0","nameLocation":"257081:2:21","nodeType":"VariableDeclaration","scope":35075,"src":"257073:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257073:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35055,"nodeType":"VariableDeclarationStatement","src":"257073:10:21"},{"assignments":[35057],"declarations":[{"constant":false,"id":35057,"mutability":"mutable","name":"m1","nameLocation":"257101:2:21","nodeType":"VariableDeclaration","scope":35075,"src":"257093:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257093:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35058,"nodeType":"VariableDeclarationStatement","src":"257093:10:21"},{"assignments":[35060],"declarations":[{"constant":false,"id":35060,"mutability":"mutable","name":"m2","nameLocation":"257121:2:21","nodeType":"VariableDeclaration","scope":35075,"src":"257113:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257113:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35061,"nodeType":"VariableDeclarationStatement","src":"257113:10:21"},{"assignments":[35063],"declarations":[{"constant":false,"id":35063,"mutability":"mutable","name":"m3","nameLocation":"257141:2:21","nodeType":"VariableDeclaration","scope":35075,"src":"257133:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257133:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35064,"nodeType":"VariableDeclarationStatement","src":"257133:10:21"},{"assignments":[35066],"declarations":[{"constant":false,"id":35066,"mutability":"mutable","name":"m4","nameLocation":"257161:2:21","nodeType":"VariableDeclaration","scope":35075,"src":"257153:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257153:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35067,"nodeType":"VariableDeclarationStatement","src":"257153:10:21"},{"AST":{"nativeSrc":"257225:378:21","nodeType":"YulBlock","src":"257225:378:21","statements":[{"nativeSrc":"257239:17:21","nodeType":"YulAssignment","src":"257239:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"257251:4:21","nodeType":"YulLiteral","src":"257251:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"257245:5:21","nodeType":"YulIdentifier","src":"257245:5:21"},"nativeSrc":"257245:11:21","nodeType":"YulFunctionCall","src":"257245:11:21"},"variableNames":[{"name":"m0","nativeSrc":"257239:2:21","nodeType":"YulIdentifier","src":"257239:2:21"}]},{"nativeSrc":"257269:17:21","nodeType":"YulAssignment","src":"257269:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"257281:4:21","nodeType":"YulLiteral","src":"257281:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"257275:5:21","nodeType":"YulIdentifier","src":"257275:5:21"},"nativeSrc":"257275:11:21","nodeType":"YulFunctionCall","src":"257275:11:21"},"variableNames":[{"name":"m1","nativeSrc":"257269:2:21","nodeType":"YulIdentifier","src":"257269:2:21"}]},{"nativeSrc":"257299:17:21","nodeType":"YulAssignment","src":"257299:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"257311:4:21","nodeType":"YulLiteral","src":"257311:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"257305:5:21","nodeType":"YulIdentifier","src":"257305:5:21"},"nativeSrc":"257305:11:21","nodeType":"YulFunctionCall","src":"257305:11:21"},"variableNames":[{"name":"m2","nativeSrc":"257299:2:21","nodeType":"YulIdentifier","src":"257299:2:21"}]},{"nativeSrc":"257329:17:21","nodeType":"YulAssignment","src":"257329:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"257341:4:21","nodeType":"YulLiteral","src":"257341:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"257335:5:21","nodeType":"YulIdentifier","src":"257335:5:21"},"nativeSrc":"257335:11:21","nodeType":"YulFunctionCall","src":"257335:11:21"},"variableNames":[{"name":"m3","nativeSrc":"257329:2:21","nodeType":"YulIdentifier","src":"257329:2:21"}]},{"nativeSrc":"257359:17:21","nodeType":"YulAssignment","src":"257359:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"257371:4:21","nodeType":"YulLiteral","src":"257371:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"257365:5:21","nodeType":"YulIdentifier","src":"257365:5:21"},"nativeSrc":"257365:11:21","nodeType":"YulFunctionCall","src":"257365:11:21"},"variableNames":[{"name":"m4","nativeSrc":"257359:2:21","nodeType":"YulIdentifier","src":"257359:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257460:4:21","nodeType":"YulLiteral","src":"257460:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"257466:10:21","nodeType":"YulLiteral","src":"257466:10:21","type":"","value":"0x5f743a7c"}],"functionName":{"name":"mstore","nativeSrc":"257453:6:21","nodeType":"YulIdentifier","src":"257453:6:21"},"nativeSrc":"257453:24:21","nodeType":"YulFunctionCall","src":"257453:24:21"},"nativeSrc":"257453:24:21","nodeType":"YulExpressionStatement","src":"257453:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257497:4:21","nodeType":"YulLiteral","src":"257497:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"257503:2:21","nodeType":"YulIdentifier","src":"257503:2:21"}],"functionName":{"name":"mstore","nativeSrc":"257490:6:21","nodeType":"YulIdentifier","src":"257490:6:21"},"nativeSrc":"257490:16:21","nodeType":"YulFunctionCall","src":"257490:16:21"},"nativeSrc":"257490:16:21","nodeType":"YulExpressionStatement","src":"257490:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257526:4:21","nodeType":"YulLiteral","src":"257526:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"257532:2:21","nodeType":"YulIdentifier","src":"257532:2:21"}],"functionName":{"name":"mstore","nativeSrc":"257519:6:21","nodeType":"YulIdentifier","src":"257519:6:21"},"nativeSrc":"257519:16:21","nodeType":"YulFunctionCall","src":"257519:16:21"},"nativeSrc":"257519:16:21","nodeType":"YulExpressionStatement","src":"257519:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257555:4:21","nodeType":"YulLiteral","src":"257555:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"257561:2:21","nodeType":"YulIdentifier","src":"257561:2:21"}],"functionName":{"name":"mstore","nativeSrc":"257548:6:21","nodeType":"YulIdentifier","src":"257548:6:21"},"nativeSrc":"257548:16:21","nodeType":"YulFunctionCall","src":"257548:16:21"},"nativeSrc":"257548:16:21","nodeType":"YulExpressionStatement","src":"257548:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257584:4:21","nodeType":"YulLiteral","src":"257584:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"257590:2:21","nodeType":"YulIdentifier","src":"257590:2:21"}],"functionName":{"name":"mstore","nativeSrc":"257577:6:21","nodeType":"YulIdentifier","src":"257577:6:21"},"nativeSrc":"257577:16:21","nodeType":"YulFunctionCall","src":"257577:16:21"},"nativeSrc":"257577:16:21","nodeType":"YulExpressionStatement","src":"257577:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35054,"isOffset":false,"isSlot":false,"src":"257239:2:21","valueSize":1},{"declaration":35057,"isOffset":false,"isSlot":false,"src":"257269:2:21","valueSize":1},{"declaration":35060,"isOffset":false,"isSlot":false,"src":"257299:2:21","valueSize":1},{"declaration":35063,"isOffset":false,"isSlot":false,"src":"257329:2:21","valueSize":1},{"declaration":35066,"isOffset":false,"isSlot":false,"src":"257359:2:21","valueSize":1},{"declaration":35044,"isOffset":false,"isSlot":false,"src":"257503:2:21","valueSize":1},{"declaration":35046,"isOffset":false,"isSlot":false,"src":"257532:2:21","valueSize":1},{"declaration":35048,"isOffset":false,"isSlot":false,"src":"257561:2:21","valueSize":1},{"declaration":35050,"isOffset":false,"isSlot":false,"src":"257590:2:21","valueSize":1}],"id":35068,"nodeType":"InlineAssembly","src":"257216:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"257628:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"257634:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35069,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"257612:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"257612:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35073,"nodeType":"ExpressionStatement","src":"257612:27:21"},{"AST":{"nativeSrc":"257701:156:21","nodeType":"YulBlock","src":"257701:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"257722:4:21","nodeType":"YulLiteral","src":"257722:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"257728:2:21","nodeType":"YulIdentifier","src":"257728:2:21"}],"functionName":{"name":"mstore","nativeSrc":"257715:6:21","nodeType":"YulIdentifier","src":"257715:6:21"},"nativeSrc":"257715:16:21","nodeType":"YulFunctionCall","src":"257715:16:21"},"nativeSrc":"257715:16:21","nodeType":"YulExpressionStatement","src":"257715:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257751:4:21","nodeType":"YulLiteral","src":"257751:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"257757:2:21","nodeType":"YulIdentifier","src":"257757:2:21"}],"functionName":{"name":"mstore","nativeSrc":"257744:6:21","nodeType":"YulIdentifier","src":"257744:6:21"},"nativeSrc":"257744:16:21","nodeType":"YulFunctionCall","src":"257744:16:21"},"nativeSrc":"257744:16:21","nodeType":"YulExpressionStatement","src":"257744:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257780:4:21","nodeType":"YulLiteral","src":"257780:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"257786:2:21","nodeType":"YulIdentifier","src":"257786:2:21"}],"functionName":{"name":"mstore","nativeSrc":"257773:6:21","nodeType":"YulIdentifier","src":"257773:6:21"},"nativeSrc":"257773:16:21","nodeType":"YulFunctionCall","src":"257773:16:21"},"nativeSrc":"257773:16:21","nodeType":"YulExpressionStatement","src":"257773:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257809:4:21","nodeType":"YulLiteral","src":"257809:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"257815:2:21","nodeType":"YulIdentifier","src":"257815:2:21"}],"functionName":{"name":"mstore","nativeSrc":"257802:6:21","nodeType":"YulIdentifier","src":"257802:6:21"},"nativeSrc":"257802:16:21","nodeType":"YulFunctionCall","src":"257802:16:21"},"nativeSrc":"257802:16:21","nodeType":"YulExpressionStatement","src":"257802:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257838:4:21","nodeType":"YulLiteral","src":"257838:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"257844:2:21","nodeType":"YulIdentifier","src":"257844:2:21"}],"functionName":{"name":"mstore","nativeSrc":"257831:6:21","nodeType":"YulIdentifier","src":"257831:6:21"},"nativeSrc":"257831:16:21","nodeType":"YulFunctionCall","src":"257831:16:21"},"nativeSrc":"257831:16:21","nodeType":"YulExpressionStatement","src":"257831:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35054,"isOffset":false,"isSlot":false,"src":"257728:2:21","valueSize":1},{"declaration":35057,"isOffset":false,"isSlot":false,"src":"257757:2:21","valueSize":1},{"declaration":35060,"isOffset":false,"isSlot":false,"src":"257786:2:21","valueSize":1},{"declaration":35063,"isOffset":false,"isSlot":false,"src":"257815:2:21","valueSize":1},{"declaration":35066,"isOffset":false,"isSlot":false,"src":"257844:2:21","valueSize":1}],"id":35074,"nodeType":"InlineAssembly","src":"257692:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"257000:3:21","parameters":{"id":35051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35044,"mutability":"mutable","name":"p0","nameLocation":"257012:2:21","nodeType":"VariableDeclaration","scope":35076,"src":"257004:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35043,"name":"uint256","nodeType":"ElementaryTypeName","src":"257004:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35046,"mutability":"mutable","name":"p1","nameLocation":"257024:2:21","nodeType":"VariableDeclaration","scope":35076,"src":"257016:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35045,"name":"address","nodeType":"ElementaryTypeName","src":"257016:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35048,"mutability":"mutable","name":"p2","nameLocation":"257036:2:21","nodeType":"VariableDeclaration","scope":35076,"src":"257028:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35047,"name":"uint256","nodeType":"ElementaryTypeName","src":"257028:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35050,"mutability":"mutable","name":"p3","nameLocation":"257045:2:21","nodeType":"VariableDeclaration","scope":35076,"src":"257040:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35049,"name":"bool","nodeType":"ElementaryTypeName","src":"257040:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"257003:45:21"},"returnParameters":{"id":35052,"nodeType":"ParameterList","parameters":[],"src":"257063:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35110,"nodeType":"FunctionDefinition","src":"257869:878:21","nodes":[],"body":{"id":35109,"nodeType":"Block","src":"257944:803:21","nodes":[],"statements":[{"assignments":[35088],"declarations":[{"constant":false,"id":35088,"mutability":"mutable","name":"m0","nameLocation":"257962:2:21","nodeType":"VariableDeclaration","scope":35109,"src":"257954:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257954:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35089,"nodeType":"VariableDeclarationStatement","src":"257954:10:21"},{"assignments":[35091],"declarations":[{"constant":false,"id":35091,"mutability":"mutable","name":"m1","nameLocation":"257982:2:21","nodeType":"VariableDeclaration","scope":35109,"src":"257974:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257974:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35092,"nodeType":"VariableDeclarationStatement","src":"257974:10:21"},{"assignments":[35094],"declarations":[{"constant":false,"id":35094,"mutability":"mutable","name":"m2","nameLocation":"258002:2:21","nodeType":"VariableDeclaration","scope":35109,"src":"257994:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257994:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35095,"nodeType":"VariableDeclarationStatement","src":"257994:10:21"},{"assignments":[35097],"declarations":[{"constant":false,"id":35097,"mutability":"mutable","name":"m3","nameLocation":"258022:2:21","nodeType":"VariableDeclaration","scope":35109,"src":"258014:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258014:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35098,"nodeType":"VariableDeclarationStatement","src":"258014:10:21"},{"assignments":[35100],"declarations":[{"constant":false,"id":35100,"mutability":"mutable","name":"m4","nameLocation":"258042:2:21","nodeType":"VariableDeclaration","scope":35109,"src":"258034:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258034:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35101,"nodeType":"VariableDeclarationStatement","src":"258034:10:21"},{"AST":{"nativeSrc":"258106:381:21","nodeType":"YulBlock","src":"258106:381:21","statements":[{"nativeSrc":"258120:17:21","nodeType":"YulAssignment","src":"258120:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"258132:4:21","nodeType":"YulLiteral","src":"258132:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"258126:5:21","nodeType":"YulIdentifier","src":"258126:5:21"},"nativeSrc":"258126:11:21","nodeType":"YulFunctionCall","src":"258126:11:21"},"variableNames":[{"name":"m0","nativeSrc":"258120:2:21","nodeType":"YulIdentifier","src":"258120:2:21"}]},{"nativeSrc":"258150:17:21","nodeType":"YulAssignment","src":"258150:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"258162:4:21","nodeType":"YulLiteral","src":"258162:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"258156:5:21","nodeType":"YulIdentifier","src":"258156:5:21"},"nativeSrc":"258156:11:21","nodeType":"YulFunctionCall","src":"258156:11:21"},"variableNames":[{"name":"m1","nativeSrc":"258150:2:21","nodeType":"YulIdentifier","src":"258150:2:21"}]},{"nativeSrc":"258180:17:21","nodeType":"YulAssignment","src":"258180:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"258192:4:21","nodeType":"YulLiteral","src":"258192:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"258186:5:21","nodeType":"YulIdentifier","src":"258186:5:21"},"nativeSrc":"258186:11:21","nodeType":"YulFunctionCall","src":"258186:11:21"},"variableNames":[{"name":"m2","nativeSrc":"258180:2:21","nodeType":"YulIdentifier","src":"258180:2:21"}]},{"nativeSrc":"258210:17:21","nodeType":"YulAssignment","src":"258210:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"258222:4:21","nodeType":"YulLiteral","src":"258222:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"258216:5:21","nodeType":"YulIdentifier","src":"258216:5:21"},"nativeSrc":"258216:11:21","nodeType":"YulFunctionCall","src":"258216:11:21"},"variableNames":[{"name":"m3","nativeSrc":"258210:2:21","nodeType":"YulIdentifier","src":"258210:2:21"}]},{"nativeSrc":"258240:17:21","nodeType":"YulAssignment","src":"258240:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"258252:4:21","nodeType":"YulLiteral","src":"258252:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"258246:5:21","nodeType":"YulIdentifier","src":"258246:5:21"},"nativeSrc":"258246:11:21","nodeType":"YulFunctionCall","src":"258246:11:21"},"variableNames":[{"name":"m4","nativeSrc":"258240:2:21","nodeType":"YulIdentifier","src":"258240:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258344:4:21","nodeType":"YulLiteral","src":"258344:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"258350:10:21","nodeType":"YulLiteral","src":"258350:10:21","type":"","value":"0x0c9cd9c1"}],"functionName":{"name":"mstore","nativeSrc":"258337:6:21","nodeType":"YulIdentifier","src":"258337:6:21"},"nativeSrc":"258337:24:21","nodeType":"YulFunctionCall","src":"258337:24:21"},"nativeSrc":"258337:24:21","nodeType":"YulExpressionStatement","src":"258337:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258381:4:21","nodeType":"YulLiteral","src":"258381:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"258387:2:21","nodeType":"YulIdentifier","src":"258387:2:21"}],"functionName":{"name":"mstore","nativeSrc":"258374:6:21","nodeType":"YulIdentifier","src":"258374:6:21"},"nativeSrc":"258374:16:21","nodeType":"YulFunctionCall","src":"258374:16:21"},"nativeSrc":"258374:16:21","nodeType":"YulExpressionStatement","src":"258374:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258410:4:21","nodeType":"YulLiteral","src":"258410:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"258416:2:21","nodeType":"YulIdentifier","src":"258416:2:21"}],"functionName":{"name":"mstore","nativeSrc":"258403:6:21","nodeType":"YulIdentifier","src":"258403:6:21"},"nativeSrc":"258403:16:21","nodeType":"YulFunctionCall","src":"258403:16:21"},"nativeSrc":"258403:16:21","nodeType":"YulExpressionStatement","src":"258403:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258439:4:21","nodeType":"YulLiteral","src":"258439:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"258445:2:21","nodeType":"YulIdentifier","src":"258445:2:21"}],"functionName":{"name":"mstore","nativeSrc":"258432:6:21","nodeType":"YulIdentifier","src":"258432:6:21"},"nativeSrc":"258432:16:21","nodeType":"YulFunctionCall","src":"258432:16:21"},"nativeSrc":"258432:16:21","nodeType":"YulExpressionStatement","src":"258432:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258468:4:21","nodeType":"YulLiteral","src":"258468:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"258474:2:21","nodeType":"YulIdentifier","src":"258474:2:21"}],"functionName":{"name":"mstore","nativeSrc":"258461:6:21","nodeType":"YulIdentifier","src":"258461:6:21"},"nativeSrc":"258461:16:21","nodeType":"YulFunctionCall","src":"258461:16:21"},"nativeSrc":"258461:16:21","nodeType":"YulExpressionStatement","src":"258461:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35088,"isOffset":false,"isSlot":false,"src":"258120:2:21","valueSize":1},{"declaration":35091,"isOffset":false,"isSlot":false,"src":"258150:2:21","valueSize":1},{"declaration":35094,"isOffset":false,"isSlot":false,"src":"258180:2:21","valueSize":1},{"declaration":35097,"isOffset":false,"isSlot":false,"src":"258210:2:21","valueSize":1},{"declaration":35100,"isOffset":false,"isSlot":false,"src":"258240:2:21","valueSize":1},{"declaration":35078,"isOffset":false,"isSlot":false,"src":"258387:2:21","valueSize":1},{"declaration":35080,"isOffset":false,"isSlot":false,"src":"258416:2:21","valueSize":1},{"declaration":35082,"isOffset":false,"isSlot":false,"src":"258445:2:21","valueSize":1},{"declaration":35084,"isOffset":false,"isSlot":false,"src":"258474:2:21","valueSize":1}],"id":35102,"nodeType":"InlineAssembly","src":"258097:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"258512:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"258518:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35103,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"258496:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"258496:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35107,"nodeType":"ExpressionStatement","src":"258496:27:21"},{"AST":{"nativeSrc":"258585:156:21","nodeType":"YulBlock","src":"258585:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"258606:4:21","nodeType":"YulLiteral","src":"258606:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"258612:2:21","nodeType":"YulIdentifier","src":"258612:2:21"}],"functionName":{"name":"mstore","nativeSrc":"258599:6:21","nodeType":"YulIdentifier","src":"258599:6:21"},"nativeSrc":"258599:16:21","nodeType":"YulFunctionCall","src":"258599:16:21"},"nativeSrc":"258599:16:21","nodeType":"YulExpressionStatement","src":"258599:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258635:4:21","nodeType":"YulLiteral","src":"258635:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"258641:2:21","nodeType":"YulIdentifier","src":"258641:2:21"}],"functionName":{"name":"mstore","nativeSrc":"258628:6:21","nodeType":"YulIdentifier","src":"258628:6:21"},"nativeSrc":"258628:16:21","nodeType":"YulFunctionCall","src":"258628:16:21"},"nativeSrc":"258628:16:21","nodeType":"YulExpressionStatement","src":"258628:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258664:4:21","nodeType":"YulLiteral","src":"258664:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"258670:2:21","nodeType":"YulIdentifier","src":"258670:2:21"}],"functionName":{"name":"mstore","nativeSrc":"258657:6:21","nodeType":"YulIdentifier","src":"258657:6:21"},"nativeSrc":"258657:16:21","nodeType":"YulFunctionCall","src":"258657:16:21"},"nativeSrc":"258657:16:21","nodeType":"YulExpressionStatement","src":"258657:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258693:4:21","nodeType":"YulLiteral","src":"258693:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"258699:2:21","nodeType":"YulIdentifier","src":"258699:2:21"}],"functionName":{"name":"mstore","nativeSrc":"258686:6:21","nodeType":"YulIdentifier","src":"258686:6:21"},"nativeSrc":"258686:16:21","nodeType":"YulFunctionCall","src":"258686:16:21"},"nativeSrc":"258686:16:21","nodeType":"YulExpressionStatement","src":"258686:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258722:4:21","nodeType":"YulLiteral","src":"258722:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"258728:2:21","nodeType":"YulIdentifier","src":"258728:2:21"}],"functionName":{"name":"mstore","nativeSrc":"258715:6:21","nodeType":"YulIdentifier","src":"258715:6:21"},"nativeSrc":"258715:16:21","nodeType":"YulFunctionCall","src":"258715:16:21"},"nativeSrc":"258715:16:21","nodeType":"YulExpressionStatement","src":"258715:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35088,"isOffset":false,"isSlot":false,"src":"258612:2:21","valueSize":1},{"declaration":35091,"isOffset":false,"isSlot":false,"src":"258641:2:21","valueSize":1},{"declaration":35094,"isOffset":false,"isSlot":false,"src":"258670:2:21","valueSize":1},{"declaration":35097,"isOffset":false,"isSlot":false,"src":"258699:2:21","valueSize":1},{"declaration":35100,"isOffset":false,"isSlot":false,"src":"258728:2:21","valueSize":1}],"id":35108,"nodeType":"InlineAssembly","src":"258576:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"257878:3:21","parameters":{"id":35085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35078,"mutability":"mutable","name":"p0","nameLocation":"257890:2:21","nodeType":"VariableDeclaration","scope":35110,"src":"257882:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35077,"name":"uint256","nodeType":"ElementaryTypeName","src":"257882:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35080,"mutability":"mutable","name":"p1","nameLocation":"257902:2:21","nodeType":"VariableDeclaration","scope":35110,"src":"257894:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35079,"name":"address","nodeType":"ElementaryTypeName","src":"257894:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35082,"mutability":"mutable","name":"p2","nameLocation":"257914:2:21","nodeType":"VariableDeclaration","scope":35110,"src":"257906:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35081,"name":"uint256","nodeType":"ElementaryTypeName","src":"257906:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35084,"mutability":"mutable","name":"p3","nameLocation":"257926:2:21","nodeType":"VariableDeclaration","scope":35110,"src":"257918:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35083,"name":"uint256","nodeType":"ElementaryTypeName","src":"257918:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"257881:48:21"},"returnParameters":{"id":35086,"nodeType":"ParameterList","parameters":[],"src":"257944:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35150,"nodeType":"FunctionDefinition","src":"258753:1426:21","nodes":[],"body":{"id":35149,"nodeType":"Block","src":"258828:1351:21","nodes":[],"statements":[{"assignments":[35122],"declarations":[{"constant":false,"id":35122,"mutability":"mutable","name":"m0","nameLocation":"258846:2:21","nodeType":"VariableDeclaration","scope":35149,"src":"258838:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258838:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35123,"nodeType":"VariableDeclarationStatement","src":"258838:10:21"},{"assignments":[35125],"declarations":[{"constant":false,"id":35125,"mutability":"mutable","name":"m1","nameLocation":"258866:2:21","nodeType":"VariableDeclaration","scope":35149,"src":"258858:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258858:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35126,"nodeType":"VariableDeclarationStatement","src":"258858:10:21"},{"assignments":[35128],"declarations":[{"constant":false,"id":35128,"mutability":"mutable","name":"m2","nameLocation":"258886:2:21","nodeType":"VariableDeclaration","scope":35149,"src":"258878:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258878:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35129,"nodeType":"VariableDeclarationStatement","src":"258878:10:21"},{"assignments":[35131],"declarations":[{"constant":false,"id":35131,"mutability":"mutable","name":"m3","nameLocation":"258906:2:21","nodeType":"VariableDeclaration","scope":35149,"src":"258898:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258898:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35132,"nodeType":"VariableDeclarationStatement","src":"258898:10:21"},{"assignments":[35134],"declarations":[{"constant":false,"id":35134,"mutability":"mutable","name":"m4","nameLocation":"258926:2:21","nodeType":"VariableDeclaration","scope":35149,"src":"258918:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258918:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35135,"nodeType":"VariableDeclarationStatement","src":"258918:10:21"},{"assignments":[35137],"declarations":[{"constant":false,"id":35137,"mutability":"mutable","name":"m5","nameLocation":"258946:2:21","nodeType":"VariableDeclaration","scope":35149,"src":"258938:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258938:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35138,"nodeType":"VariableDeclarationStatement","src":"258938:10:21"},{"assignments":[35140],"declarations":[{"constant":false,"id":35140,"mutability":"mutable","name":"m6","nameLocation":"258966:2:21","nodeType":"VariableDeclaration","scope":35149,"src":"258958:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258958:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35141,"nodeType":"VariableDeclarationStatement","src":"258958:10:21"},{"AST":{"nativeSrc":"259030:831:21","nodeType":"YulBlock","src":"259030:831:21","statements":[{"body":{"nativeSrc":"259073:313:21","nodeType":"YulBlock","src":"259073:313:21","statements":[{"nativeSrc":"259091:15:21","nodeType":"YulVariableDeclaration","src":"259091:15:21","value":{"kind":"number","nativeSrc":"259105:1:21","nodeType":"YulLiteral","src":"259105:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"259095:6:21","nodeType":"YulTypedName","src":"259095:6:21","type":""}]},{"body":{"nativeSrc":"259176:40:21","nodeType":"YulBlock","src":"259176:40:21","statements":[{"body":{"nativeSrc":"259205:9:21","nodeType":"YulBlock","src":"259205:9:21","statements":[{"nativeSrc":"259207:5:21","nodeType":"YulBreak","src":"259207:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"259193:6:21","nodeType":"YulIdentifier","src":"259193:6:21"},{"name":"w","nativeSrc":"259201:1:21","nodeType":"YulIdentifier","src":"259201:1:21"}],"functionName":{"name":"byte","nativeSrc":"259188:4:21","nodeType":"YulIdentifier","src":"259188:4:21"},"nativeSrc":"259188:15:21","nodeType":"YulFunctionCall","src":"259188:15:21"}],"functionName":{"name":"iszero","nativeSrc":"259181:6:21","nodeType":"YulIdentifier","src":"259181:6:21"},"nativeSrc":"259181:23:21","nodeType":"YulFunctionCall","src":"259181:23:21"},"nativeSrc":"259178:36:21","nodeType":"YulIf","src":"259178:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"259133:6:21","nodeType":"YulIdentifier","src":"259133:6:21"},{"kind":"number","nativeSrc":"259141:4:21","nodeType":"YulLiteral","src":"259141:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"259130:2:21","nodeType":"YulIdentifier","src":"259130:2:21"},"nativeSrc":"259130:16:21","nodeType":"YulFunctionCall","src":"259130:16:21"},"nativeSrc":"259123:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"259147:28:21","nodeType":"YulBlock","src":"259147:28:21","statements":[{"nativeSrc":"259149:24:21","nodeType":"YulAssignment","src":"259149:24:21","value":{"arguments":[{"name":"length","nativeSrc":"259163:6:21","nodeType":"YulIdentifier","src":"259163:6:21"},{"kind":"number","nativeSrc":"259171:1:21","nodeType":"YulLiteral","src":"259171:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"259159:3:21","nodeType":"YulIdentifier","src":"259159:3:21"},"nativeSrc":"259159:14:21","nodeType":"YulFunctionCall","src":"259159:14:21"},"variableNames":[{"name":"length","nativeSrc":"259149:6:21","nodeType":"YulIdentifier","src":"259149:6:21"}]}]},"pre":{"nativeSrc":"259127:2:21","nodeType":"YulBlock","src":"259127:2:21","statements":[]},"src":"259123:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"259240:3:21","nodeType":"YulIdentifier","src":"259240:3:21"},{"name":"length","nativeSrc":"259245:6:21","nodeType":"YulIdentifier","src":"259245:6:21"}],"functionName":{"name":"mstore","nativeSrc":"259233:6:21","nodeType":"YulIdentifier","src":"259233:6:21"},"nativeSrc":"259233:19:21","nodeType":"YulFunctionCall","src":"259233:19:21"},"nativeSrc":"259233:19:21","nodeType":"YulExpressionStatement","src":"259233:19:21"},{"nativeSrc":"259269:37:21","nodeType":"YulVariableDeclaration","src":"259269:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"259286:3:21","nodeType":"YulLiteral","src":"259286:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"259295:1:21","nodeType":"YulLiteral","src":"259295:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"259298:6:21","nodeType":"YulIdentifier","src":"259298:6:21"}],"functionName":{"name":"shl","nativeSrc":"259291:3:21","nodeType":"YulIdentifier","src":"259291:3:21"},"nativeSrc":"259291:14:21","nodeType":"YulFunctionCall","src":"259291:14:21"}],"functionName":{"name":"sub","nativeSrc":"259282:3:21","nodeType":"YulIdentifier","src":"259282:3:21"},"nativeSrc":"259282:24:21","nodeType":"YulFunctionCall","src":"259282:24:21"},"variables":[{"name":"shift","nativeSrc":"259273:5:21","nodeType":"YulTypedName","src":"259273:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"259334:3:21","nodeType":"YulIdentifier","src":"259334:3:21"},{"kind":"number","nativeSrc":"259339:4:21","nodeType":"YulLiteral","src":"259339:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"259330:3:21","nodeType":"YulIdentifier","src":"259330:3:21"},"nativeSrc":"259330:14:21","nodeType":"YulFunctionCall","src":"259330:14:21"},{"arguments":[{"name":"shift","nativeSrc":"259350:5:21","nodeType":"YulIdentifier","src":"259350:5:21"},{"arguments":[{"name":"shift","nativeSrc":"259361:5:21","nodeType":"YulIdentifier","src":"259361:5:21"},{"name":"w","nativeSrc":"259368:1:21","nodeType":"YulIdentifier","src":"259368:1:21"}],"functionName":{"name":"shr","nativeSrc":"259357:3:21","nodeType":"YulIdentifier","src":"259357:3:21"},"nativeSrc":"259357:13:21","nodeType":"YulFunctionCall","src":"259357:13:21"}],"functionName":{"name":"shl","nativeSrc":"259346:3:21","nodeType":"YulIdentifier","src":"259346:3:21"},"nativeSrc":"259346:25:21","nodeType":"YulFunctionCall","src":"259346:25:21"}],"functionName":{"name":"mstore","nativeSrc":"259323:6:21","nodeType":"YulIdentifier","src":"259323:6:21"},"nativeSrc":"259323:49:21","nodeType":"YulFunctionCall","src":"259323:49:21"},"nativeSrc":"259323:49:21","nodeType":"YulExpressionStatement","src":"259323:49:21"}]},"name":"writeString","nativeSrc":"259044:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"259065:3:21","nodeType":"YulTypedName","src":"259065:3:21","type":""},{"name":"w","nativeSrc":"259070:1:21","nodeType":"YulTypedName","src":"259070:1:21","type":""}],"src":"259044:342:21"},{"nativeSrc":"259399:17:21","nodeType":"YulAssignment","src":"259399:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"259411:4:21","nodeType":"YulLiteral","src":"259411:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"259405:5:21","nodeType":"YulIdentifier","src":"259405:5:21"},"nativeSrc":"259405:11:21","nodeType":"YulFunctionCall","src":"259405:11:21"},"variableNames":[{"name":"m0","nativeSrc":"259399:2:21","nodeType":"YulIdentifier","src":"259399:2:21"}]},{"nativeSrc":"259429:17:21","nodeType":"YulAssignment","src":"259429:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"259441:4:21","nodeType":"YulLiteral","src":"259441:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"259435:5:21","nodeType":"YulIdentifier","src":"259435:5:21"},"nativeSrc":"259435:11:21","nodeType":"YulFunctionCall","src":"259435:11:21"},"variableNames":[{"name":"m1","nativeSrc":"259429:2:21","nodeType":"YulIdentifier","src":"259429:2:21"}]},{"nativeSrc":"259459:17:21","nodeType":"YulAssignment","src":"259459:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"259471:4:21","nodeType":"YulLiteral","src":"259471:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"259465:5:21","nodeType":"YulIdentifier","src":"259465:5:21"},"nativeSrc":"259465:11:21","nodeType":"YulFunctionCall","src":"259465:11:21"},"variableNames":[{"name":"m2","nativeSrc":"259459:2:21","nodeType":"YulIdentifier","src":"259459:2:21"}]},{"nativeSrc":"259489:17:21","nodeType":"YulAssignment","src":"259489:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"259501:4:21","nodeType":"YulLiteral","src":"259501:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"259495:5:21","nodeType":"YulIdentifier","src":"259495:5:21"},"nativeSrc":"259495:11:21","nodeType":"YulFunctionCall","src":"259495:11:21"},"variableNames":[{"name":"m3","nativeSrc":"259489:2:21","nodeType":"YulIdentifier","src":"259489:2:21"}]},{"nativeSrc":"259519:17:21","nodeType":"YulAssignment","src":"259519:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"259531:4:21","nodeType":"YulLiteral","src":"259531:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"259525:5:21","nodeType":"YulIdentifier","src":"259525:5:21"},"nativeSrc":"259525:11:21","nodeType":"YulFunctionCall","src":"259525:11:21"},"variableNames":[{"name":"m4","nativeSrc":"259519:2:21","nodeType":"YulIdentifier","src":"259519:2:21"}]},{"nativeSrc":"259549:17:21","nodeType":"YulAssignment","src":"259549:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"259561:4:21","nodeType":"YulLiteral","src":"259561:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"259555:5:21","nodeType":"YulIdentifier","src":"259555:5:21"},"nativeSrc":"259555:11:21","nodeType":"YulFunctionCall","src":"259555:11:21"},"variableNames":[{"name":"m5","nativeSrc":"259549:2:21","nodeType":"YulIdentifier","src":"259549:2:21"}]},{"nativeSrc":"259579:17:21","nodeType":"YulAssignment","src":"259579:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"259591:4:21","nodeType":"YulLiteral","src":"259591:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"259585:5:21","nodeType":"YulIdentifier","src":"259585:5:21"},"nativeSrc":"259585:11:21","nodeType":"YulFunctionCall","src":"259585:11:21"},"variableNames":[{"name":"m6","nativeSrc":"259579:2:21","nodeType":"YulIdentifier","src":"259579:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259682:4:21","nodeType":"YulLiteral","src":"259682:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"259688:10:21","nodeType":"YulLiteral","src":"259688:10:21","type":"","value":"0xddb06521"}],"functionName":{"name":"mstore","nativeSrc":"259675:6:21","nodeType":"YulIdentifier","src":"259675:6:21"},"nativeSrc":"259675:24:21","nodeType":"YulFunctionCall","src":"259675:24:21"},"nativeSrc":"259675:24:21","nodeType":"YulExpressionStatement","src":"259675:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259719:4:21","nodeType":"YulLiteral","src":"259719:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"259725:2:21","nodeType":"YulIdentifier","src":"259725:2:21"}],"functionName":{"name":"mstore","nativeSrc":"259712:6:21","nodeType":"YulIdentifier","src":"259712:6:21"},"nativeSrc":"259712:16:21","nodeType":"YulFunctionCall","src":"259712:16:21"},"nativeSrc":"259712:16:21","nodeType":"YulExpressionStatement","src":"259712:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259748:4:21","nodeType":"YulLiteral","src":"259748:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"259754:2:21","nodeType":"YulIdentifier","src":"259754:2:21"}],"functionName":{"name":"mstore","nativeSrc":"259741:6:21","nodeType":"YulIdentifier","src":"259741:6:21"},"nativeSrc":"259741:16:21","nodeType":"YulFunctionCall","src":"259741:16:21"},"nativeSrc":"259741:16:21","nodeType":"YulExpressionStatement","src":"259741:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259777:4:21","nodeType":"YulLiteral","src":"259777:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"259783:2:21","nodeType":"YulIdentifier","src":"259783:2:21"}],"functionName":{"name":"mstore","nativeSrc":"259770:6:21","nodeType":"YulIdentifier","src":"259770:6:21"},"nativeSrc":"259770:16:21","nodeType":"YulFunctionCall","src":"259770:16:21"},"nativeSrc":"259770:16:21","nodeType":"YulExpressionStatement","src":"259770:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259806:4:21","nodeType":"YulLiteral","src":"259806:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"259812:4:21","nodeType":"YulLiteral","src":"259812:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"259799:6:21","nodeType":"YulIdentifier","src":"259799:6:21"},"nativeSrc":"259799:18:21","nodeType":"YulFunctionCall","src":"259799:18:21"},"nativeSrc":"259799:18:21","nodeType":"YulExpressionStatement","src":"259799:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259842:4:21","nodeType":"YulLiteral","src":"259842:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"259848:2:21","nodeType":"YulIdentifier","src":"259848:2:21"}],"functionName":{"name":"writeString","nativeSrc":"259830:11:21","nodeType":"YulIdentifier","src":"259830:11:21"},"nativeSrc":"259830:21:21","nodeType":"YulFunctionCall","src":"259830:21:21"},"nativeSrc":"259830:21:21","nodeType":"YulExpressionStatement","src":"259830:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35122,"isOffset":false,"isSlot":false,"src":"259399:2:21","valueSize":1},{"declaration":35125,"isOffset":false,"isSlot":false,"src":"259429:2:21","valueSize":1},{"declaration":35128,"isOffset":false,"isSlot":false,"src":"259459:2:21","valueSize":1},{"declaration":35131,"isOffset":false,"isSlot":false,"src":"259489:2:21","valueSize":1},{"declaration":35134,"isOffset":false,"isSlot":false,"src":"259519:2:21","valueSize":1},{"declaration":35137,"isOffset":false,"isSlot":false,"src":"259549:2:21","valueSize":1},{"declaration":35140,"isOffset":false,"isSlot":false,"src":"259579:2:21","valueSize":1},{"declaration":35112,"isOffset":false,"isSlot":false,"src":"259725:2:21","valueSize":1},{"declaration":35114,"isOffset":false,"isSlot":false,"src":"259754:2:21","valueSize":1},{"declaration":35116,"isOffset":false,"isSlot":false,"src":"259783:2:21","valueSize":1},{"declaration":35118,"isOffset":false,"isSlot":false,"src":"259848:2:21","valueSize":1}],"id":35142,"nodeType":"InlineAssembly","src":"259021:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"259886:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"259892:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35143,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"259870:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"259870:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35147,"nodeType":"ExpressionStatement","src":"259870:27:21"},{"AST":{"nativeSrc":"259959:214:21","nodeType":"YulBlock","src":"259959:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"259980:4:21","nodeType":"YulLiteral","src":"259980:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"259986:2:21","nodeType":"YulIdentifier","src":"259986:2:21"}],"functionName":{"name":"mstore","nativeSrc":"259973:6:21","nodeType":"YulIdentifier","src":"259973:6:21"},"nativeSrc":"259973:16:21","nodeType":"YulFunctionCall","src":"259973:16:21"},"nativeSrc":"259973:16:21","nodeType":"YulExpressionStatement","src":"259973:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260009:4:21","nodeType":"YulLiteral","src":"260009:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"260015:2:21","nodeType":"YulIdentifier","src":"260015:2:21"}],"functionName":{"name":"mstore","nativeSrc":"260002:6:21","nodeType":"YulIdentifier","src":"260002:6:21"},"nativeSrc":"260002:16:21","nodeType":"YulFunctionCall","src":"260002:16:21"},"nativeSrc":"260002:16:21","nodeType":"YulExpressionStatement","src":"260002:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260038:4:21","nodeType":"YulLiteral","src":"260038:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"260044:2:21","nodeType":"YulIdentifier","src":"260044:2:21"}],"functionName":{"name":"mstore","nativeSrc":"260031:6:21","nodeType":"YulIdentifier","src":"260031:6:21"},"nativeSrc":"260031:16:21","nodeType":"YulFunctionCall","src":"260031:16:21"},"nativeSrc":"260031:16:21","nodeType":"YulExpressionStatement","src":"260031:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260067:4:21","nodeType":"YulLiteral","src":"260067:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"260073:2:21","nodeType":"YulIdentifier","src":"260073:2:21"}],"functionName":{"name":"mstore","nativeSrc":"260060:6:21","nodeType":"YulIdentifier","src":"260060:6:21"},"nativeSrc":"260060:16:21","nodeType":"YulFunctionCall","src":"260060:16:21"},"nativeSrc":"260060:16:21","nodeType":"YulExpressionStatement","src":"260060:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260096:4:21","nodeType":"YulLiteral","src":"260096:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"260102:2:21","nodeType":"YulIdentifier","src":"260102:2:21"}],"functionName":{"name":"mstore","nativeSrc":"260089:6:21","nodeType":"YulIdentifier","src":"260089:6:21"},"nativeSrc":"260089:16:21","nodeType":"YulFunctionCall","src":"260089:16:21"},"nativeSrc":"260089:16:21","nodeType":"YulExpressionStatement","src":"260089:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260125:4:21","nodeType":"YulLiteral","src":"260125:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"260131:2:21","nodeType":"YulIdentifier","src":"260131:2:21"}],"functionName":{"name":"mstore","nativeSrc":"260118:6:21","nodeType":"YulIdentifier","src":"260118:6:21"},"nativeSrc":"260118:16:21","nodeType":"YulFunctionCall","src":"260118:16:21"},"nativeSrc":"260118:16:21","nodeType":"YulExpressionStatement","src":"260118:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260154:4:21","nodeType":"YulLiteral","src":"260154:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"260160:2:21","nodeType":"YulIdentifier","src":"260160:2:21"}],"functionName":{"name":"mstore","nativeSrc":"260147:6:21","nodeType":"YulIdentifier","src":"260147:6:21"},"nativeSrc":"260147:16:21","nodeType":"YulFunctionCall","src":"260147:16:21"},"nativeSrc":"260147:16:21","nodeType":"YulExpressionStatement","src":"260147:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35122,"isOffset":false,"isSlot":false,"src":"259986:2:21","valueSize":1},{"declaration":35125,"isOffset":false,"isSlot":false,"src":"260015:2:21","valueSize":1},{"declaration":35128,"isOffset":false,"isSlot":false,"src":"260044:2:21","valueSize":1},{"declaration":35131,"isOffset":false,"isSlot":false,"src":"260073:2:21","valueSize":1},{"declaration":35134,"isOffset":false,"isSlot":false,"src":"260102:2:21","valueSize":1},{"declaration":35137,"isOffset":false,"isSlot":false,"src":"260131:2:21","valueSize":1},{"declaration":35140,"isOffset":false,"isSlot":false,"src":"260160:2:21","valueSize":1}],"id":35148,"nodeType":"InlineAssembly","src":"259950:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"258762:3:21","parameters":{"id":35119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35112,"mutability":"mutable","name":"p0","nameLocation":"258774:2:21","nodeType":"VariableDeclaration","scope":35150,"src":"258766:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35111,"name":"uint256","nodeType":"ElementaryTypeName","src":"258766:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35114,"mutability":"mutable","name":"p1","nameLocation":"258786:2:21","nodeType":"VariableDeclaration","scope":35150,"src":"258778:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35113,"name":"address","nodeType":"ElementaryTypeName","src":"258778:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35116,"mutability":"mutable","name":"p2","nameLocation":"258798:2:21","nodeType":"VariableDeclaration","scope":35150,"src":"258790:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35115,"name":"uint256","nodeType":"ElementaryTypeName","src":"258790:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35118,"mutability":"mutable","name":"p3","nameLocation":"258810:2:21","nodeType":"VariableDeclaration","scope":35150,"src":"258802:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258802:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"258765:48:21"},"returnParameters":{"id":35120,"nodeType":"ParameterList","parameters":[],"src":"258828:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35190,"nodeType":"FunctionDefinition","src":"260185:1426:21","nodes":[],"body":{"id":35189,"nodeType":"Block","src":"260260:1351:21","nodes":[],"statements":[{"assignments":[35162],"declarations":[{"constant":false,"id":35162,"mutability":"mutable","name":"m0","nameLocation":"260278:2:21","nodeType":"VariableDeclaration","scope":35189,"src":"260270:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260270:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35163,"nodeType":"VariableDeclarationStatement","src":"260270:10:21"},{"assignments":[35165],"declarations":[{"constant":false,"id":35165,"mutability":"mutable","name":"m1","nameLocation":"260298:2:21","nodeType":"VariableDeclaration","scope":35189,"src":"260290:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260290:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35166,"nodeType":"VariableDeclarationStatement","src":"260290:10:21"},{"assignments":[35168],"declarations":[{"constant":false,"id":35168,"mutability":"mutable","name":"m2","nameLocation":"260318:2:21","nodeType":"VariableDeclaration","scope":35189,"src":"260310:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260310:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35169,"nodeType":"VariableDeclarationStatement","src":"260310:10:21"},{"assignments":[35171],"declarations":[{"constant":false,"id":35171,"mutability":"mutable","name":"m3","nameLocation":"260338:2:21","nodeType":"VariableDeclaration","scope":35189,"src":"260330:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260330:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35172,"nodeType":"VariableDeclarationStatement","src":"260330:10:21"},{"assignments":[35174],"declarations":[{"constant":false,"id":35174,"mutability":"mutable","name":"m4","nameLocation":"260358:2:21","nodeType":"VariableDeclaration","scope":35189,"src":"260350:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260350:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35175,"nodeType":"VariableDeclarationStatement","src":"260350:10:21"},{"assignments":[35177],"declarations":[{"constant":false,"id":35177,"mutability":"mutable","name":"m5","nameLocation":"260378:2:21","nodeType":"VariableDeclaration","scope":35189,"src":"260370:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260370:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35178,"nodeType":"VariableDeclarationStatement","src":"260370:10:21"},{"assignments":[35180],"declarations":[{"constant":false,"id":35180,"mutability":"mutable","name":"m6","nameLocation":"260398:2:21","nodeType":"VariableDeclaration","scope":35189,"src":"260390:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260390:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35181,"nodeType":"VariableDeclarationStatement","src":"260390:10:21"},{"AST":{"nativeSrc":"260462:831:21","nodeType":"YulBlock","src":"260462:831:21","statements":[{"body":{"nativeSrc":"260505:313:21","nodeType":"YulBlock","src":"260505:313:21","statements":[{"nativeSrc":"260523:15:21","nodeType":"YulVariableDeclaration","src":"260523:15:21","value":{"kind":"number","nativeSrc":"260537:1:21","nodeType":"YulLiteral","src":"260537:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"260527:6:21","nodeType":"YulTypedName","src":"260527:6:21","type":""}]},{"body":{"nativeSrc":"260608:40:21","nodeType":"YulBlock","src":"260608:40:21","statements":[{"body":{"nativeSrc":"260637:9:21","nodeType":"YulBlock","src":"260637:9:21","statements":[{"nativeSrc":"260639:5:21","nodeType":"YulBreak","src":"260639:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"260625:6:21","nodeType":"YulIdentifier","src":"260625:6:21"},{"name":"w","nativeSrc":"260633:1:21","nodeType":"YulIdentifier","src":"260633:1:21"}],"functionName":{"name":"byte","nativeSrc":"260620:4:21","nodeType":"YulIdentifier","src":"260620:4:21"},"nativeSrc":"260620:15:21","nodeType":"YulFunctionCall","src":"260620:15:21"}],"functionName":{"name":"iszero","nativeSrc":"260613:6:21","nodeType":"YulIdentifier","src":"260613:6:21"},"nativeSrc":"260613:23:21","nodeType":"YulFunctionCall","src":"260613:23:21"},"nativeSrc":"260610:36:21","nodeType":"YulIf","src":"260610:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"260565:6:21","nodeType":"YulIdentifier","src":"260565:6:21"},{"kind":"number","nativeSrc":"260573:4:21","nodeType":"YulLiteral","src":"260573:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"260562:2:21","nodeType":"YulIdentifier","src":"260562:2:21"},"nativeSrc":"260562:16:21","nodeType":"YulFunctionCall","src":"260562:16:21"},"nativeSrc":"260555:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"260579:28:21","nodeType":"YulBlock","src":"260579:28:21","statements":[{"nativeSrc":"260581:24:21","nodeType":"YulAssignment","src":"260581:24:21","value":{"arguments":[{"name":"length","nativeSrc":"260595:6:21","nodeType":"YulIdentifier","src":"260595:6:21"},{"kind":"number","nativeSrc":"260603:1:21","nodeType":"YulLiteral","src":"260603:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"260591:3:21","nodeType":"YulIdentifier","src":"260591:3:21"},"nativeSrc":"260591:14:21","nodeType":"YulFunctionCall","src":"260591:14:21"},"variableNames":[{"name":"length","nativeSrc":"260581:6:21","nodeType":"YulIdentifier","src":"260581:6:21"}]}]},"pre":{"nativeSrc":"260559:2:21","nodeType":"YulBlock","src":"260559:2:21","statements":[]},"src":"260555:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"260672:3:21","nodeType":"YulIdentifier","src":"260672:3:21"},{"name":"length","nativeSrc":"260677:6:21","nodeType":"YulIdentifier","src":"260677:6:21"}],"functionName":{"name":"mstore","nativeSrc":"260665:6:21","nodeType":"YulIdentifier","src":"260665:6:21"},"nativeSrc":"260665:19:21","nodeType":"YulFunctionCall","src":"260665:19:21"},"nativeSrc":"260665:19:21","nodeType":"YulExpressionStatement","src":"260665:19:21"},{"nativeSrc":"260701:37:21","nodeType":"YulVariableDeclaration","src":"260701:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"260718:3:21","nodeType":"YulLiteral","src":"260718:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"260727:1:21","nodeType":"YulLiteral","src":"260727:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"260730:6:21","nodeType":"YulIdentifier","src":"260730:6:21"}],"functionName":{"name":"shl","nativeSrc":"260723:3:21","nodeType":"YulIdentifier","src":"260723:3:21"},"nativeSrc":"260723:14:21","nodeType":"YulFunctionCall","src":"260723:14:21"}],"functionName":{"name":"sub","nativeSrc":"260714:3:21","nodeType":"YulIdentifier","src":"260714:3:21"},"nativeSrc":"260714:24:21","nodeType":"YulFunctionCall","src":"260714:24:21"},"variables":[{"name":"shift","nativeSrc":"260705:5:21","nodeType":"YulTypedName","src":"260705:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"260766:3:21","nodeType":"YulIdentifier","src":"260766:3:21"},{"kind":"number","nativeSrc":"260771:4:21","nodeType":"YulLiteral","src":"260771:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"260762:3:21","nodeType":"YulIdentifier","src":"260762:3:21"},"nativeSrc":"260762:14:21","nodeType":"YulFunctionCall","src":"260762:14:21"},{"arguments":[{"name":"shift","nativeSrc":"260782:5:21","nodeType":"YulIdentifier","src":"260782:5:21"},{"arguments":[{"name":"shift","nativeSrc":"260793:5:21","nodeType":"YulIdentifier","src":"260793:5:21"},{"name":"w","nativeSrc":"260800:1:21","nodeType":"YulIdentifier","src":"260800:1:21"}],"functionName":{"name":"shr","nativeSrc":"260789:3:21","nodeType":"YulIdentifier","src":"260789:3:21"},"nativeSrc":"260789:13:21","nodeType":"YulFunctionCall","src":"260789:13:21"}],"functionName":{"name":"shl","nativeSrc":"260778:3:21","nodeType":"YulIdentifier","src":"260778:3:21"},"nativeSrc":"260778:25:21","nodeType":"YulFunctionCall","src":"260778:25:21"}],"functionName":{"name":"mstore","nativeSrc":"260755:6:21","nodeType":"YulIdentifier","src":"260755:6:21"},"nativeSrc":"260755:49:21","nodeType":"YulFunctionCall","src":"260755:49:21"},"nativeSrc":"260755:49:21","nodeType":"YulExpressionStatement","src":"260755:49:21"}]},"name":"writeString","nativeSrc":"260476:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"260497:3:21","nodeType":"YulTypedName","src":"260497:3:21","type":""},{"name":"w","nativeSrc":"260502:1:21","nodeType":"YulTypedName","src":"260502:1:21","type":""}],"src":"260476:342:21"},{"nativeSrc":"260831:17:21","nodeType":"YulAssignment","src":"260831:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"260843:4:21","nodeType":"YulLiteral","src":"260843:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"260837:5:21","nodeType":"YulIdentifier","src":"260837:5:21"},"nativeSrc":"260837:11:21","nodeType":"YulFunctionCall","src":"260837:11:21"},"variableNames":[{"name":"m0","nativeSrc":"260831:2:21","nodeType":"YulIdentifier","src":"260831:2:21"}]},{"nativeSrc":"260861:17:21","nodeType":"YulAssignment","src":"260861:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"260873:4:21","nodeType":"YulLiteral","src":"260873:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"260867:5:21","nodeType":"YulIdentifier","src":"260867:5:21"},"nativeSrc":"260867:11:21","nodeType":"YulFunctionCall","src":"260867:11:21"},"variableNames":[{"name":"m1","nativeSrc":"260861:2:21","nodeType":"YulIdentifier","src":"260861:2:21"}]},{"nativeSrc":"260891:17:21","nodeType":"YulAssignment","src":"260891:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"260903:4:21","nodeType":"YulLiteral","src":"260903:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"260897:5:21","nodeType":"YulIdentifier","src":"260897:5:21"},"nativeSrc":"260897:11:21","nodeType":"YulFunctionCall","src":"260897:11:21"},"variableNames":[{"name":"m2","nativeSrc":"260891:2:21","nodeType":"YulIdentifier","src":"260891:2:21"}]},{"nativeSrc":"260921:17:21","nodeType":"YulAssignment","src":"260921:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"260933:4:21","nodeType":"YulLiteral","src":"260933:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"260927:5:21","nodeType":"YulIdentifier","src":"260927:5:21"},"nativeSrc":"260927:11:21","nodeType":"YulFunctionCall","src":"260927:11:21"},"variableNames":[{"name":"m3","nativeSrc":"260921:2:21","nodeType":"YulIdentifier","src":"260921:2:21"}]},{"nativeSrc":"260951:17:21","nodeType":"YulAssignment","src":"260951:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"260963:4:21","nodeType":"YulLiteral","src":"260963:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"260957:5:21","nodeType":"YulIdentifier","src":"260957:5:21"},"nativeSrc":"260957:11:21","nodeType":"YulFunctionCall","src":"260957:11:21"},"variableNames":[{"name":"m4","nativeSrc":"260951:2:21","nodeType":"YulIdentifier","src":"260951:2:21"}]},{"nativeSrc":"260981:17:21","nodeType":"YulAssignment","src":"260981:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"260993:4:21","nodeType":"YulLiteral","src":"260993:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"260987:5:21","nodeType":"YulIdentifier","src":"260987:5:21"},"nativeSrc":"260987:11:21","nodeType":"YulFunctionCall","src":"260987:11:21"},"variableNames":[{"name":"m5","nativeSrc":"260981:2:21","nodeType":"YulIdentifier","src":"260981:2:21"}]},{"nativeSrc":"261011:17:21","nodeType":"YulAssignment","src":"261011:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"261023:4:21","nodeType":"YulLiteral","src":"261023:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"261017:5:21","nodeType":"YulIdentifier","src":"261017:5:21"},"nativeSrc":"261017:11:21","nodeType":"YulFunctionCall","src":"261017:11:21"},"variableNames":[{"name":"m6","nativeSrc":"261011:2:21","nodeType":"YulIdentifier","src":"261011:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261114:4:21","nodeType":"YulLiteral","src":"261114:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"261120:10:21","nodeType":"YulLiteral","src":"261120:10:21","type":"","value":"0x9cba8fff"}],"functionName":{"name":"mstore","nativeSrc":"261107:6:21","nodeType":"YulIdentifier","src":"261107:6:21"},"nativeSrc":"261107:24:21","nodeType":"YulFunctionCall","src":"261107:24:21"},"nativeSrc":"261107:24:21","nodeType":"YulExpressionStatement","src":"261107:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261151:4:21","nodeType":"YulLiteral","src":"261151:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"261157:2:21","nodeType":"YulIdentifier","src":"261157:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261144:6:21","nodeType":"YulIdentifier","src":"261144:6:21"},"nativeSrc":"261144:16:21","nodeType":"YulFunctionCall","src":"261144:16:21"},"nativeSrc":"261144:16:21","nodeType":"YulExpressionStatement","src":"261144:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261180:4:21","nodeType":"YulLiteral","src":"261180:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"261186:2:21","nodeType":"YulIdentifier","src":"261186:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261173:6:21","nodeType":"YulIdentifier","src":"261173:6:21"},"nativeSrc":"261173:16:21","nodeType":"YulFunctionCall","src":"261173:16:21"},"nativeSrc":"261173:16:21","nodeType":"YulExpressionStatement","src":"261173:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261209:4:21","nodeType":"YulLiteral","src":"261209:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"261215:4:21","nodeType":"YulLiteral","src":"261215:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"261202:6:21","nodeType":"YulIdentifier","src":"261202:6:21"},"nativeSrc":"261202:18:21","nodeType":"YulFunctionCall","src":"261202:18:21"},"nativeSrc":"261202:18:21","nodeType":"YulExpressionStatement","src":"261202:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261240:4:21","nodeType":"YulLiteral","src":"261240:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"261246:2:21","nodeType":"YulIdentifier","src":"261246:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261233:6:21","nodeType":"YulIdentifier","src":"261233:6:21"},"nativeSrc":"261233:16:21","nodeType":"YulFunctionCall","src":"261233:16:21"},"nativeSrc":"261233:16:21","nodeType":"YulExpressionStatement","src":"261233:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261274:4:21","nodeType":"YulLiteral","src":"261274:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"261280:2:21","nodeType":"YulIdentifier","src":"261280:2:21"}],"functionName":{"name":"writeString","nativeSrc":"261262:11:21","nodeType":"YulIdentifier","src":"261262:11:21"},"nativeSrc":"261262:21:21","nodeType":"YulFunctionCall","src":"261262:21:21"},"nativeSrc":"261262:21:21","nodeType":"YulExpressionStatement","src":"261262:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35162,"isOffset":false,"isSlot":false,"src":"260831:2:21","valueSize":1},{"declaration":35165,"isOffset":false,"isSlot":false,"src":"260861:2:21","valueSize":1},{"declaration":35168,"isOffset":false,"isSlot":false,"src":"260891:2:21","valueSize":1},{"declaration":35171,"isOffset":false,"isSlot":false,"src":"260921:2:21","valueSize":1},{"declaration":35174,"isOffset":false,"isSlot":false,"src":"260951:2:21","valueSize":1},{"declaration":35177,"isOffset":false,"isSlot":false,"src":"260981:2:21","valueSize":1},{"declaration":35180,"isOffset":false,"isSlot":false,"src":"261011:2:21","valueSize":1},{"declaration":35152,"isOffset":false,"isSlot":false,"src":"261157:2:21","valueSize":1},{"declaration":35154,"isOffset":false,"isSlot":false,"src":"261186:2:21","valueSize":1},{"declaration":35156,"isOffset":false,"isSlot":false,"src":"261280:2:21","valueSize":1},{"declaration":35158,"isOffset":false,"isSlot":false,"src":"261246:2:21","valueSize":1}],"id":35182,"nodeType":"InlineAssembly","src":"260453:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"261318:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"261324:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35183,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"261302:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"261302:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35187,"nodeType":"ExpressionStatement","src":"261302:27:21"},{"AST":{"nativeSrc":"261391:214:21","nodeType":"YulBlock","src":"261391:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"261412:4:21","nodeType":"YulLiteral","src":"261412:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"261418:2:21","nodeType":"YulIdentifier","src":"261418:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261405:6:21","nodeType":"YulIdentifier","src":"261405:6:21"},"nativeSrc":"261405:16:21","nodeType":"YulFunctionCall","src":"261405:16:21"},"nativeSrc":"261405:16:21","nodeType":"YulExpressionStatement","src":"261405:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261441:4:21","nodeType":"YulLiteral","src":"261441:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"261447:2:21","nodeType":"YulIdentifier","src":"261447:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261434:6:21","nodeType":"YulIdentifier","src":"261434:6:21"},"nativeSrc":"261434:16:21","nodeType":"YulFunctionCall","src":"261434:16:21"},"nativeSrc":"261434:16:21","nodeType":"YulExpressionStatement","src":"261434:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261470:4:21","nodeType":"YulLiteral","src":"261470:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"261476:2:21","nodeType":"YulIdentifier","src":"261476:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261463:6:21","nodeType":"YulIdentifier","src":"261463:6:21"},"nativeSrc":"261463:16:21","nodeType":"YulFunctionCall","src":"261463:16:21"},"nativeSrc":"261463:16:21","nodeType":"YulExpressionStatement","src":"261463:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261499:4:21","nodeType":"YulLiteral","src":"261499:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"261505:2:21","nodeType":"YulIdentifier","src":"261505:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261492:6:21","nodeType":"YulIdentifier","src":"261492:6:21"},"nativeSrc":"261492:16:21","nodeType":"YulFunctionCall","src":"261492:16:21"},"nativeSrc":"261492:16:21","nodeType":"YulExpressionStatement","src":"261492:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261528:4:21","nodeType":"YulLiteral","src":"261528:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"261534:2:21","nodeType":"YulIdentifier","src":"261534:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261521:6:21","nodeType":"YulIdentifier","src":"261521:6:21"},"nativeSrc":"261521:16:21","nodeType":"YulFunctionCall","src":"261521:16:21"},"nativeSrc":"261521:16:21","nodeType":"YulExpressionStatement","src":"261521:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261557:4:21","nodeType":"YulLiteral","src":"261557:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"261563:2:21","nodeType":"YulIdentifier","src":"261563:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261550:6:21","nodeType":"YulIdentifier","src":"261550:6:21"},"nativeSrc":"261550:16:21","nodeType":"YulFunctionCall","src":"261550:16:21"},"nativeSrc":"261550:16:21","nodeType":"YulExpressionStatement","src":"261550:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261586:4:21","nodeType":"YulLiteral","src":"261586:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"261592:2:21","nodeType":"YulIdentifier","src":"261592:2:21"}],"functionName":{"name":"mstore","nativeSrc":"261579:6:21","nodeType":"YulIdentifier","src":"261579:6:21"},"nativeSrc":"261579:16:21","nodeType":"YulFunctionCall","src":"261579:16:21"},"nativeSrc":"261579:16:21","nodeType":"YulExpressionStatement","src":"261579:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35162,"isOffset":false,"isSlot":false,"src":"261418:2:21","valueSize":1},{"declaration":35165,"isOffset":false,"isSlot":false,"src":"261447:2:21","valueSize":1},{"declaration":35168,"isOffset":false,"isSlot":false,"src":"261476:2:21","valueSize":1},{"declaration":35171,"isOffset":false,"isSlot":false,"src":"261505:2:21","valueSize":1},{"declaration":35174,"isOffset":false,"isSlot":false,"src":"261534:2:21","valueSize":1},{"declaration":35177,"isOffset":false,"isSlot":false,"src":"261563:2:21","valueSize":1},{"declaration":35180,"isOffset":false,"isSlot":false,"src":"261592:2:21","valueSize":1}],"id":35188,"nodeType":"InlineAssembly","src":"261382:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"260194:3:21","parameters":{"id":35159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35152,"mutability":"mutable","name":"p0","nameLocation":"260206:2:21","nodeType":"VariableDeclaration","scope":35190,"src":"260198:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35151,"name":"uint256","nodeType":"ElementaryTypeName","src":"260198:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35154,"mutability":"mutable","name":"p1","nameLocation":"260218:2:21","nodeType":"VariableDeclaration","scope":35190,"src":"260210:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35153,"name":"address","nodeType":"ElementaryTypeName","src":"260210:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35156,"mutability":"mutable","name":"p2","nameLocation":"260230:2:21","nodeType":"VariableDeclaration","scope":35190,"src":"260222:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260222:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35158,"mutability":"mutable","name":"p3","nameLocation":"260242:2:21","nodeType":"VariableDeclaration","scope":35190,"src":"260234:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35157,"name":"address","nodeType":"ElementaryTypeName","src":"260234:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"260197:48:21"},"returnParameters":{"id":35160,"nodeType":"ParameterList","parameters":[],"src":"260260:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35230,"nodeType":"FunctionDefinition","src":"261617:1420:21","nodes":[],"body":{"id":35229,"nodeType":"Block","src":"261689:1348:21","nodes":[],"statements":[{"assignments":[35202],"declarations":[{"constant":false,"id":35202,"mutability":"mutable","name":"m0","nameLocation":"261707:2:21","nodeType":"VariableDeclaration","scope":35229,"src":"261699:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261699:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35203,"nodeType":"VariableDeclarationStatement","src":"261699:10:21"},{"assignments":[35205],"declarations":[{"constant":false,"id":35205,"mutability":"mutable","name":"m1","nameLocation":"261727:2:21","nodeType":"VariableDeclaration","scope":35229,"src":"261719:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261719:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35206,"nodeType":"VariableDeclarationStatement","src":"261719:10:21"},{"assignments":[35208],"declarations":[{"constant":false,"id":35208,"mutability":"mutable","name":"m2","nameLocation":"261747:2:21","nodeType":"VariableDeclaration","scope":35229,"src":"261739:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261739:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35209,"nodeType":"VariableDeclarationStatement","src":"261739:10:21"},{"assignments":[35211],"declarations":[{"constant":false,"id":35211,"mutability":"mutable","name":"m3","nameLocation":"261767:2:21","nodeType":"VariableDeclaration","scope":35229,"src":"261759:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261759:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35212,"nodeType":"VariableDeclarationStatement","src":"261759:10:21"},{"assignments":[35214],"declarations":[{"constant":false,"id":35214,"mutability":"mutable","name":"m4","nameLocation":"261787:2:21","nodeType":"VariableDeclaration","scope":35229,"src":"261779:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261779:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35215,"nodeType":"VariableDeclarationStatement","src":"261779:10:21"},{"assignments":[35217],"declarations":[{"constant":false,"id":35217,"mutability":"mutable","name":"m5","nameLocation":"261807:2:21","nodeType":"VariableDeclaration","scope":35229,"src":"261799:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261799:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35218,"nodeType":"VariableDeclarationStatement","src":"261799:10:21"},{"assignments":[35220],"declarations":[{"constant":false,"id":35220,"mutability":"mutable","name":"m6","nameLocation":"261827:2:21","nodeType":"VariableDeclaration","scope":35229,"src":"261819:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261819:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35221,"nodeType":"VariableDeclarationStatement","src":"261819:10:21"},{"AST":{"nativeSrc":"261891:828:21","nodeType":"YulBlock","src":"261891:828:21","statements":[{"body":{"nativeSrc":"261934:313:21","nodeType":"YulBlock","src":"261934:313:21","statements":[{"nativeSrc":"261952:15:21","nodeType":"YulVariableDeclaration","src":"261952:15:21","value":{"kind":"number","nativeSrc":"261966:1:21","nodeType":"YulLiteral","src":"261966:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"261956:6:21","nodeType":"YulTypedName","src":"261956:6:21","type":""}]},{"body":{"nativeSrc":"262037:40:21","nodeType":"YulBlock","src":"262037:40:21","statements":[{"body":{"nativeSrc":"262066:9:21","nodeType":"YulBlock","src":"262066:9:21","statements":[{"nativeSrc":"262068:5:21","nodeType":"YulBreak","src":"262068:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"262054:6:21","nodeType":"YulIdentifier","src":"262054:6:21"},{"name":"w","nativeSrc":"262062:1:21","nodeType":"YulIdentifier","src":"262062:1:21"}],"functionName":{"name":"byte","nativeSrc":"262049:4:21","nodeType":"YulIdentifier","src":"262049:4:21"},"nativeSrc":"262049:15:21","nodeType":"YulFunctionCall","src":"262049:15:21"}],"functionName":{"name":"iszero","nativeSrc":"262042:6:21","nodeType":"YulIdentifier","src":"262042:6:21"},"nativeSrc":"262042:23:21","nodeType":"YulFunctionCall","src":"262042:23:21"},"nativeSrc":"262039:36:21","nodeType":"YulIf","src":"262039:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"261994:6:21","nodeType":"YulIdentifier","src":"261994:6:21"},{"kind":"number","nativeSrc":"262002:4:21","nodeType":"YulLiteral","src":"262002:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"261991:2:21","nodeType":"YulIdentifier","src":"261991:2:21"},"nativeSrc":"261991:16:21","nodeType":"YulFunctionCall","src":"261991:16:21"},"nativeSrc":"261984:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"262008:28:21","nodeType":"YulBlock","src":"262008:28:21","statements":[{"nativeSrc":"262010:24:21","nodeType":"YulAssignment","src":"262010:24:21","value":{"arguments":[{"name":"length","nativeSrc":"262024:6:21","nodeType":"YulIdentifier","src":"262024:6:21"},{"kind":"number","nativeSrc":"262032:1:21","nodeType":"YulLiteral","src":"262032:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"262020:3:21","nodeType":"YulIdentifier","src":"262020:3:21"},"nativeSrc":"262020:14:21","nodeType":"YulFunctionCall","src":"262020:14:21"},"variableNames":[{"name":"length","nativeSrc":"262010:6:21","nodeType":"YulIdentifier","src":"262010:6:21"}]}]},"pre":{"nativeSrc":"261988:2:21","nodeType":"YulBlock","src":"261988:2:21","statements":[]},"src":"261984:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"262101:3:21","nodeType":"YulIdentifier","src":"262101:3:21"},{"name":"length","nativeSrc":"262106:6:21","nodeType":"YulIdentifier","src":"262106:6:21"}],"functionName":{"name":"mstore","nativeSrc":"262094:6:21","nodeType":"YulIdentifier","src":"262094:6:21"},"nativeSrc":"262094:19:21","nodeType":"YulFunctionCall","src":"262094:19:21"},"nativeSrc":"262094:19:21","nodeType":"YulExpressionStatement","src":"262094:19:21"},{"nativeSrc":"262130:37:21","nodeType":"YulVariableDeclaration","src":"262130:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"262147:3:21","nodeType":"YulLiteral","src":"262147:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"262156:1:21","nodeType":"YulLiteral","src":"262156:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"262159:6:21","nodeType":"YulIdentifier","src":"262159:6:21"}],"functionName":{"name":"shl","nativeSrc":"262152:3:21","nodeType":"YulIdentifier","src":"262152:3:21"},"nativeSrc":"262152:14:21","nodeType":"YulFunctionCall","src":"262152:14:21"}],"functionName":{"name":"sub","nativeSrc":"262143:3:21","nodeType":"YulIdentifier","src":"262143:3:21"},"nativeSrc":"262143:24:21","nodeType":"YulFunctionCall","src":"262143:24:21"},"variables":[{"name":"shift","nativeSrc":"262134:5:21","nodeType":"YulTypedName","src":"262134:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"262195:3:21","nodeType":"YulIdentifier","src":"262195:3:21"},{"kind":"number","nativeSrc":"262200:4:21","nodeType":"YulLiteral","src":"262200:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"262191:3:21","nodeType":"YulIdentifier","src":"262191:3:21"},"nativeSrc":"262191:14:21","nodeType":"YulFunctionCall","src":"262191:14:21"},{"arguments":[{"name":"shift","nativeSrc":"262211:5:21","nodeType":"YulIdentifier","src":"262211:5:21"},{"arguments":[{"name":"shift","nativeSrc":"262222:5:21","nodeType":"YulIdentifier","src":"262222:5:21"},{"name":"w","nativeSrc":"262229:1:21","nodeType":"YulIdentifier","src":"262229:1:21"}],"functionName":{"name":"shr","nativeSrc":"262218:3:21","nodeType":"YulIdentifier","src":"262218:3:21"},"nativeSrc":"262218:13:21","nodeType":"YulFunctionCall","src":"262218:13:21"}],"functionName":{"name":"shl","nativeSrc":"262207:3:21","nodeType":"YulIdentifier","src":"262207:3:21"},"nativeSrc":"262207:25:21","nodeType":"YulFunctionCall","src":"262207:25:21"}],"functionName":{"name":"mstore","nativeSrc":"262184:6:21","nodeType":"YulIdentifier","src":"262184:6:21"},"nativeSrc":"262184:49:21","nodeType":"YulFunctionCall","src":"262184:49:21"},"nativeSrc":"262184:49:21","nodeType":"YulExpressionStatement","src":"262184:49:21"}]},"name":"writeString","nativeSrc":"261905:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"261926:3:21","nodeType":"YulTypedName","src":"261926:3:21","type":""},{"name":"w","nativeSrc":"261931:1:21","nodeType":"YulTypedName","src":"261931:1:21","type":""}],"src":"261905:342:21"},{"nativeSrc":"262260:17:21","nodeType":"YulAssignment","src":"262260:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"262272:4:21","nodeType":"YulLiteral","src":"262272:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"262266:5:21","nodeType":"YulIdentifier","src":"262266:5:21"},"nativeSrc":"262266:11:21","nodeType":"YulFunctionCall","src":"262266:11:21"},"variableNames":[{"name":"m0","nativeSrc":"262260:2:21","nodeType":"YulIdentifier","src":"262260:2:21"}]},{"nativeSrc":"262290:17:21","nodeType":"YulAssignment","src":"262290:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"262302:4:21","nodeType":"YulLiteral","src":"262302:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"262296:5:21","nodeType":"YulIdentifier","src":"262296:5:21"},"nativeSrc":"262296:11:21","nodeType":"YulFunctionCall","src":"262296:11:21"},"variableNames":[{"name":"m1","nativeSrc":"262290:2:21","nodeType":"YulIdentifier","src":"262290:2:21"}]},{"nativeSrc":"262320:17:21","nodeType":"YulAssignment","src":"262320:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"262332:4:21","nodeType":"YulLiteral","src":"262332:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"262326:5:21","nodeType":"YulIdentifier","src":"262326:5:21"},"nativeSrc":"262326:11:21","nodeType":"YulFunctionCall","src":"262326:11:21"},"variableNames":[{"name":"m2","nativeSrc":"262320:2:21","nodeType":"YulIdentifier","src":"262320:2:21"}]},{"nativeSrc":"262350:17:21","nodeType":"YulAssignment","src":"262350:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"262362:4:21","nodeType":"YulLiteral","src":"262362:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"262356:5:21","nodeType":"YulIdentifier","src":"262356:5:21"},"nativeSrc":"262356:11:21","nodeType":"YulFunctionCall","src":"262356:11:21"},"variableNames":[{"name":"m3","nativeSrc":"262350:2:21","nodeType":"YulIdentifier","src":"262350:2:21"}]},{"nativeSrc":"262380:17:21","nodeType":"YulAssignment","src":"262380:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"262392:4:21","nodeType":"YulLiteral","src":"262392:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"262386:5:21","nodeType":"YulIdentifier","src":"262386:5:21"},"nativeSrc":"262386:11:21","nodeType":"YulFunctionCall","src":"262386:11:21"},"variableNames":[{"name":"m4","nativeSrc":"262380:2:21","nodeType":"YulIdentifier","src":"262380:2:21"}]},{"nativeSrc":"262410:17:21","nodeType":"YulAssignment","src":"262410:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"262422:4:21","nodeType":"YulLiteral","src":"262422:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"262416:5:21","nodeType":"YulIdentifier","src":"262416:5:21"},"nativeSrc":"262416:11:21","nodeType":"YulFunctionCall","src":"262416:11:21"},"variableNames":[{"name":"m5","nativeSrc":"262410:2:21","nodeType":"YulIdentifier","src":"262410:2:21"}]},{"nativeSrc":"262440:17:21","nodeType":"YulAssignment","src":"262440:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"262452:4:21","nodeType":"YulLiteral","src":"262452:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"262446:5:21","nodeType":"YulIdentifier","src":"262446:5:21"},"nativeSrc":"262446:11:21","nodeType":"YulFunctionCall","src":"262446:11:21"},"variableNames":[{"name":"m6","nativeSrc":"262440:2:21","nodeType":"YulIdentifier","src":"262440:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262540:4:21","nodeType":"YulLiteral","src":"262540:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"262546:10:21","nodeType":"YulLiteral","src":"262546:10:21","type":"","value":"0xcc32ab07"}],"functionName":{"name":"mstore","nativeSrc":"262533:6:21","nodeType":"YulIdentifier","src":"262533:6:21"},"nativeSrc":"262533:24:21","nodeType":"YulFunctionCall","src":"262533:24:21"},"nativeSrc":"262533:24:21","nodeType":"YulExpressionStatement","src":"262533:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262577:4:21","nodeType":"YulLiteral","src":"262577:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"262583:2:21","nodeType":"YulIdentifier","src":"262583:2:21"}],"functionName":{"name":"mstore","nativeSrc":"262570:6:21","nodeType":"YulIdentifier","src":"262570:6:21"},"nativeSrc":"262570:16:21","nodeType":"YulFunctionCall","src":"262570:16:21"},"nativeSrc":"262570:16:21","nodeType":"YulExpressionStatement","src":"262570:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262606:4:21","nodeType":"YulLiteral","src":"262606:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"262612:2:21","nodeType":"YulIdentifier","src":"262612:2:21"}],"functionName":{"name":"mstore","nativeSrc":"262599:6:21","nodeType":"YulIdentifier","src":"262599:6:21"},"nativeSrc":"262599:16:21","nodeType":"YulFunctionCall","src":"262599:16:21"},"nativeSrc":"262599:16:21","nodeType":"YulExpressionStatement","src":"262599:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262635:4:21","nodeType":"YulLiteral","src":"262635:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"262641:4:21","nodeType":"YulLiteral","src":"262641:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"262628:6:21","nodeType":"YulIdentifier","src":"262628:6:21"},"nativeSrc":"262628:18:21","nodeType":"YulFunctionCall","src":"262628:18:21"},"nativeSrc":"262628:18:21","nodeType":"YulExpressionStatement","src":"262628:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262666:4:21","nodeType":"YulLiteral","src":"262666:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"262672:2:21","nodeType":"YulIdentifier","src":"262672:2:21"}],"functionName":{"name":"mstore","nativeSrc":"262659:6:21","nodeType":"YulIdentifier","src":"262659:6:21"},"nativeSrc":"262659:16:21","nodeType":"YulFunctionCall","src":"262659:16:21"},"nativeSrc":"262659:16:21","nodeType":"YulExpressionStatement","src":"262659:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262700:4:21","nodeType":"YulLiteral","src":"262700:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"262706:2:21","nodeType":"YulIdentifier","src":"262706:2:21"}],"functionName":{"name":"writeString","nativeSrc":"262688:11:21","nodeType":"YulIdentifier","src":"262688:11:21"},"nativeSrc":"262688:21:21","nodeType":"YulFunctionCall","src":"262688:21:21"},"nativeSrc":"262688:21:21","nodeType":"YulExpressionStatement","src":"262688:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35202,"isOffset":false,"isSlot":false,"src":"262260:2:21","valueSize":1},{"declaration":35205,"isOffset":false,"isSlot":false,"src":"262290:2:21","valueSize":1},{"declaration":35208,"isOffset":false,"isSlot":false,"src":"262320:2:21","valueSize":1},{"declaration":35211,"isOffset":false,"isSlot":false,"src":"262350:2:21","valueSize":1},{"declaration":35214,"isOffset":false,"isSlot":false,"src":"262380:2:21","valueSize":1},{"declaration":35217,"isOffset":false,"isSlot":false,"src":"262410:2:21","valueSize":1},{"declaration":35220,"isOffset":false,"isSlot":false,"src":"262440:2:21","valueSize":1},{"declaration":35192,"isOffset":false,"isSlot":false,"src":"262583:2:21","valueSize":1},{"declaration":35194,"isOffset":false,"isSlot":false,"src":"262612:2:21","valueSize":1},{"declaration":35196,"isOffset":false,"isSlot":false,"src":"262706:2:21","valueSize":1},{"declaration":35198,"isOffset":false,"isSlot":false,"src":"262672:2:21","valueSize":1}],"id":35222,"nodeType":"InlineAssembly","src":"261882:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"262744:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"262750:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35223,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"262728:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"262728:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35227,"nodeType":"ExpressionStatement","src":"262728:27:21"},{"AST":{"nativeSrc":"262817:214:21","nodeType":"YulBlock","src":"262817:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"262838:4:21","nodeType":"YulLiteral","src":"262838:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"262844:2:21","nodeType":"YulIdentifier","src":"262844:2:21"}],"functionName":{"name":"mstore","nativeSrc":"262831:6:21","nodeType":"YulIdentifier","src":"262831:6:21"},"nativeSrc":"262831:16:21","nodeType":"YulFunctionCall","src":"262831:16:21"},"nativeSrc":"262831:16:21","nodeType":"YulExpressionStatement","src":"262831:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262867:4:21","nodeType":"YulLiteral","src":"262867:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"262873:2:21","nodeType":"YulIdentifier","src":"262873:2:21"}],"functionName":{"name":"mstore","nativeSrc":"262860:6:21","nodeType":"YulIdentifier","src":"262860:6:21"},"nativeSrc":"262860:16:21","nodeType":"YulFunctionCall","src":"262860:16:21"},"nativeSrc":"262860:16:21","nodeType":"YulExpressionStatement","src":"262860:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262896:4:21","nodeType":"YulLiteral","src":"262896:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"262902:2:21","nodeType":"YulIdentifier","src":"262902:2:21"}],"functionName":{"name":"mstore","nativeSrc":"262889:6:21","nodeType":"YulIdentifier","src":"262889:6:21"},"nativeSrc":"262889:16:21","nodeType":"YulFunctionCall","src":"262889:16:21"},"nativeSrc":"262889:16:21","nodeType":"YulExpressionStatement","src":"262889:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262925:4:21","nodeType":"YulLiteral","src":"262925:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"262931:2:21","nodeType":"YulIdentifier","src":"262931:2:21"}],"functionName":{"name":"mstore","nativeSrc":"262918:6:21","nodeType":"YulIdentifier","src":"262918:6:21"},"nativeSrc":"262918:16:21","nodeType":"YulFunctionCall","src":"262918:16:21"},"nativeSrc":"262918:16:21","nodeType":"YulExpressionStatement","src":"262918:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262954:4:21","nodeType":"YulLiteral","src":"262954:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"262960:2:21","nodeType":"YulIdentifier","src":"262960:2:21"}],"functionName":{"name":"mstore","nativeSrc":"262947:6:21","nodeType":"YulIdentifier","src":"262947:6:21"},"nativeSrc":"262947:16:21","nodeType":"YulFunctionCall","src":"262947:16:21"},"nativeSrc":"262947:16:21","nodeType":"YulExpressionStatement","src":"262947:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262983:4:21","nodeType":"YulLiteral","src":"262983:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"262989:2:21","nodeType":"YulIdentifier","src":"262989:2:21"}],"functionName":{"name":"mstore","nativeSrc":"262976:6:21","nodeType":"YulIdentifier","src":"262976:6:21"},"nativeSrc":"262976:16:21","nodeType":"YulFunctionCall","src":"262976:16:21"},"nativeSrc":"262976:16:21","nodeType":"YulExpressionStatement","src":"262976:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"263012:4:21","nodeType":"YulLiteral","src":"263012:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"263018:2:21","nodeType":"YulIdentifier","src":"263018:2:21"}],"functionName":{"name":"mstore","nativeSrc":"263005:6:21","nodeType":"YulIdentifier","src":"263005:6:21"},"nativeSrc":"263005:16:21","nodeType":"YulFunctionCall","src":"263005:16:21"},"nativeSrc":"263005:16:21","nodeType":"YulExpressionStatement","src":"263005:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35202,"isOffset":false,"isSlot":false,"src":"262844:2:21","valueSize":1},{"declaration":35205,"isOffset":false,"isSlot":false,"src":"262873:2:21","valueSize":1},{"declaration":35208,"isOffset":false,"isSlot":false,"src":"262902:2:21","valueSize":1},{"declaration":35211,"isOffset":false,"isSlot":false,"src":"262931:2:21","valueSize":1},{"declaration":35214,"isOffset":false,"isSlot":false,"src":"262960:2:21","valueSize":1},{"declaration":35217,"isOffset":false,"isSlot":false,"src":"262989:2:21","valueSize":1},{"declaration":35220,"isOffset":false,"isSlot":false,"src":"263018:2:21","valueSize":1}],"id":35228,"nodeType":"InlineAssembly","src":"262808:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"261626:3:21","parameters":{"id":35199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35192,"mutability":"mutable","name":"p0","nameLocation":"261638:2:21","nodeType":"VariableDeclaration","scope":35230,"src":"261630:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35191,"name":"uint256","nodeType":"ElementaryTypeName","src":"261630:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35194,"mutability":"mutable","name":"p1","nameLocation":"261650:2:21","nodeType":"VariableDeclaration","scope":35230,"src":"261642:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35193,"name":"address","nodeType":"ElementaryTypeName","src":"261642:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35196,"mutability":"mutable","name":"p2","nameLocation":"261662:2:21","nodeType":"VariableDeclaration","scope":35230,"src":"261654:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35195,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261654:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35198,"mutability":"mutable","name":"p3","nameLocation":"261671:2:21","nodeType":"VariableDeclaration","scope":35230,"src":"261666:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35197,"name":"bool","nodeType":"ElementaryTypeName","src":"261666:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"261629:45:21"},"returnParameters":{"id":35200,"nodeType":"ParameterList","parameters":[],"src":"261689:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35270,"nodeType":"FunctionDefinition","src":"263043:1426:21","nodes":[],"body":{"id":35269,"nodeType":"Block","src":"263118:1351:21","nodes":[],"statements":[{"assignments":[35242],"declarations":[{"constant":false,"id":35242,"mutability":"mutable","name":"m0","nameLocation":"263136:2:21","nodeType":"VariableDeclaration","scope":35269,"src":"263128:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263128:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35243,"nodeType":"VariableDeclarationStatement","src":"263128:10:21"},{"assignments":[35245],"declarations":[{"constant":false,"id":35245,"mutability":"mutable","name":"m1","nameLocation":"263156:2:21","nodeType":"VariableDeclaration","scope":35269,"src":"263148:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263148:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35246,"nodeType":"VariableDeclarationStatement","src":"263148:10:21"},{"assignments":[35248],"declarations":[{"constant":false,"id":35248,"mutability":"mutable","name":"m2","nameLocation":"263176:2:21","nodeType":"VariableDeclaration","scope":35269,"src":"263168:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35247,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263168:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35249,"nodeType":"VariableDeclarationStatement","src":"263168:10:21"},{"assignments":[35251],"declarations":[{"constant":false,"id":35251,"mutability":"mutable","name":"m3","nameLocation":"263196:2:21","nodeType":"VariableDeclaration","scope":35269,"src":"263188:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263188:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35252,"nodeType":"VariableDeclarationStatement","src":"263188:10:21"},{"assignments":[35254],"declarations":[{"constant":false,"id":35254,"mutability":"mutable","name":"m4","nameLocation":"263216:2:21","nodeType":"VariableDeclaration","scope":35269,"src":"263208:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263208:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35255,"nodeType":"VariableDeclarationStatement","src":"263208:10:21"},{"assignments":[35257],"declarations":[{"constant":false,"id":35257,"mutability":"mutable","name":"m5","nameLocation":"263236:2:21","nodeType":"VariableDeclaration","scope":35269,"src":"263228:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263228:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35258,"nodeType":"VariableDeclarationStatement","src":"263228:10:21"},{"assignments":[35260],"declarations":[{"constant":false,"id":35260,"mutability":"mutable","name":"m6","nameLocation":"263256:2:21","nodeType":"VariableDeclaration","scope":35269,"src":"263248:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263248:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35261,"nodeType":"VariableDeclarationStatement","src":"263248:10:21"},{"AST":{"nativeSrc":"263320:831:21","nodeType":"YulBlock","src":"263320:831:21","statements":[{"body":{"nativeSrc":"263363:313:21","nodeType":"YulBlock","src":"263363:313:21","statements":[{"nativeSrc":"263381:15:21","nodeType":"YulVariableDeclaration","src":"263381:15:21","value":{"kind":"number","nativeSrc":"263395:1:21","nodeType":"YulLiteral","src":"263395:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"263385:6:21","nodeType":"YulTypedName","src":"263385:6:21","type":""}]},{"body":{"nativeSrc":"263466:40:21","nodeType":"YulBlock","src":"263466:40:21","statements":[{"body":{"nativeSrc":"263495:9:21","nodeType":"YulBlock","src":"263495:9:21","statements":[{"nativeSrc":"263497:5:21","nodeType":"YulBreak","src":"263497:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"263483:6:21","nodeType":"YulIdentifier","src":"263483:6:21"},{"name":"w","nativeSrc":"263491:1:21","nodeType":"YulIdentifier","src":"263491:1:21"}],"functionName":{"name":"byte","nativeSrc":"263478:4:21","nodeType":"YulIdentifier","src":"263478:4:21"},"nativeSrc":"263478:15:21","nodeType":"YulFunctionCall","src":"263478:15:21"}],"functionName":{"name":"iszero","nativeSrc":"263471:6:21","nodeType":"YulIdentifier","src":"263471:6:21"},"nativeSrc":"263471:23:21","nodeType":"YulFunctionCall","src":"263471:23:21"},"nativeSrc":"263468:36:21","nodeType":"YulIf","src":"263468:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"263423:6:21","nodeType":"YulIdentifier","src":"263423:6:21"},{"kind":"number","nativeSrc":"263431:4:21","nodeType":"YulLiteral","src":"263431:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"263420:2:21","nodeType":"YulIdentifier","src":"263420:2:21"},"nativeSrc":"263420:16:21","nodeType":"YulFunctionCall","src":"263420:16:21"},"nativeSrc":"263413:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"263437:28:21","nodeType":"YulBlock","src":"263437:28:21","statements":[{"nativeSrc":"263439:24:21","nodeType":"YulAssignment","src":"263439:24:21","value":{"arguments":[{"name":"length","nativeSrc":"263453:6:21","nodeType":"YulIdentifier","src":"263453:6:21"},{"kind":"number","nativeSrc":"263461:1:21","nodeType":"YulLiteral","src":"263461:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"263449:3:21","nodeType":"YulIdentifier","src":"263449:3:21"},"nativeSrc":"263449:14:21","nodeType":"YulFunctionCall","src":"263449:14:21"},"variableNames":[{"name":"length","nativeSrc":"263439:6:21","nodeType":"YulIdentifier","src":"263439:6:21"}]}]},"pre":{"nativeSrc":"263417:2:21","nodeType":"YulBlock","src":"263417:2:21","statements":[]},"src":"263413:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"263530:3:21","nodeType":"YulIdentifier","src":"263530:3:21"},{"name":"length","nativeSrc":"263535:6:21","nodeType":"YulIdentifier","src":"263535:6:21"}],"functionName":{"name":"mstore","nativeSrc":"263523:6:21","nodeType":"YulIdentifier","src":"263523:6:21"},"nativeSrc":"263523:19:21","nodeType":"YulFunctionCall","src":"263523:19:21"},"nativeSrc":"263523:19:21","nodeType":"YulExpressionStatement","src":"263523:19:21"},{"nativeSrc":"263559:37:21","nodeType":"YulVariableDeclaration","src":"263559:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"263576:3:21","nodeType":"YulLiteral","src":"263576:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"263585:1:21","nodeType":"YulLiteral","src":"263585:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"263588:6:21","nodeType":"YulIdentifier","src":"263588:6:21"}],"functionName":{"name":"shl","nativeSrc":"263581:3:21","nodeType":"YulIdentifier","src":"263581:3:21"},"nativeSrc":"263581:14:21","nodeType":"YulFunctionCall","src":"263581:14:21"}],"functionName":{"name":"sub","nativeSrc":"263572:3:21","nodeType":"YulIdentifier","src":"263572:3:21"},"nativeSrc":"263572:24:21","nodeType":"YulFunctionCall","src":"263572:24:21"},"variables":[{"name":"shift","nativeSrc":"263563:5:21","nodeType":"YulTypedName","src":"263563:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"263624:3:21","nodeType":"YulIdentifier","src":"263624:3:21"},{"kind":"number","nativeSrc":"263629:4:21","nodeType":"YulLiteral","src":"263629:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"263620:3:21","nodeType":"YulIdentifier","src":"263620:3:21"},"nativeSrc":"263620:14:21","nodeType":"YulFunctionCall","src":"263620:14:21"},{"arguments":[{"name":"shift","nativeSrc":"263640:5:21","nodeType":"YulIdentifier","src":"263640:5:21"},{"arguments":[{"name":"shift","nativeSrc":"263651:5:21","nodeType":"YulIdentifier","src":"263651:5:21"},{"name":"w","nativeSrc":"263658:1:21","nodeType":"YulIdentifier","src":"263658:1:21"}],"functionName":{"name":"shr","nativeSrc":"263647:3:21","nodeType":"YulIdentifier","src":"263647:3:21"},"nativeSrc":"263647:13:21","nodeType":"YulFunctionCall","src":"263647:13:21"}],"functionName":{"name":"shl","nativeSrc":"263636:3:21","nodeType":"YulIdentifier","src":"263636:3:21"},"nativeSrc":"263636:25:21","nodeType":"YulFunctionCall","src":"263636:25:21"}],"functionName":{"name":"mstore","nativeSrc":"263613:6:21","nodeType":"YulIdentifier","src":"263613:6:21"},"nativeSrc":"263613:49:21","nodeType":"YulFunctionCall","src":"263613:49:21"},"nativeSrc":"263613:49:21","nodeType":"YulExpressionStatement","src":"263613:49:21"}]},"name":"writeString","nativeSrc":"263334:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"263355:3:21","nodeType":"YulTypedName","src":"263355:3:21","type":""},{"name":"w","nativeSrc":"263360:1:21","nodeType":"YulTypedName","src":"263360:1:21","type":""}],"src":"263334:342:21"},{"nativeSrc":"263689:17:21","nodeType":"YulAssignment","src":"263689:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"263701:4:21","nodeType":"YulLiteral","src":"263701:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"263695:5:21","nodeType":"YulIdentifier","src":"263695:5:21"},"nativeSrc":"263695:11:21","nodeType":"YulFunctionCall","src":"263695:11:21"},"variableNames":[{"name":"m0","nativeSrc":"263689:2:21","nodeType":"YulIdentifier","src":"263689:2:21"}]},{"nativeSrc":"263719:17:21","nodeType":"YulAssignment","src":"263719:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"263731:4:21","nodeType":"YulLiteral","src":"263731:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"263725:5:21","nodeType":"YulIdentifier","src":"263725:5:21"},"nativeSrc":"263725:11:21","nodeType":"YulFunctionCall","src":"263725:11:21"},"variableNames":[{"name":"m1","nativeSrc":"263719:2:21","nodeType":"YulIdentifier","src":"263719:2:21"}]},{"nativeSrc":"263749:17:21","nodeType":"YulAssignment","src":"263749:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"263761:4:21","nodeType":"YulLiteral","src":"263761:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"263755:5:21","nodeType":"YulIdentifier","src":"263755:5:21"},"nativeSrc":"263755:11:21","nodeType":"YulFunctionCall","src":"263755:11:21"},"variableNames":[{"name":"m2","nativeSrc":"263749:2:21","nodeType":"YulIdentifier","src":"263749:2:21"}]},{"nativeSrc":"263779:17:21","nodeType":"YulAssignment","src":"263779:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"263791:4:21","nodeType":"YulLiteral","src":"263791:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"263785:5:21","nodeType":"YulIdentifier","src":"263785:5:21"},"nativeSrc":"263785:11:21","nodeType":"YulFunctionCall","src":"263785:11:21"},"variableNames":[{"name":"m3","nativeSrc":"263779:2:21","nodeType":"YulIdentifier","src":"263779:2:21"}]},{"nativeSrc":"263809:17:21","nodeType":"YulAssignment","src":"263809:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"263821:4:21","nodeType":"YulLiteral","src":"263821:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"263815:5:21","nodeType":"YulIdentifier","src":"263815:5:21"},"nativeSrc":"263815:11:21","nodeType":"YulFunctionCall","src":"263815:11:21"},"variableNames":[{"name":"m4","nativeSrc":"263809:2:21","nodeType":"YulIdentifier","src":"263809:2:21"}]},{"nativeSrc":"263839:17:21","nodeType":"YulAssignment","src":"263839:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"263851:4:21","nodeType":"YulLiteral","src":"263851:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"263845:5:21","nodeType":"YulIdentifier","src":"263845:5:21"},"nativeSrc":"263845:11:21","nodeType":"YulFunctionCall","src":"263845:11:21"},"variableNames":[{"name":"m5","nativeSrc":"263839:2:21","nodeType":"YulIdentifier","src":"263839:2:21"}]},{"nativeSrc":"263869:17:21","nodeType":"YulAssignment","src":"263869:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"263881:4:21","nodeType":"YulLiteral","src":"263881:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"263875:5:21","nodeType":"YulIdentifier","src":"263875:5:21"},"nativeSrc":"263875:11:21","nodeType":"YulFunctionCall","src":"263875:11:21"},"variableNames":[{"name":"m6","nativeSrc":"263869:2:21","nodeType":"YulIdentifier","src":"263869:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"263972:4:21","nodeType":"YulLiteral","src":"263972:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"263978:10:21","nodeType":"YulLiteral","src":"263978:10:21","type":"","value":"0x46826b5d"}],"functionName":{"name":"mstore","nativeSrc":"263965:6:21","nodeType":"YulIdentifier","src":"263965:6:21"},"nativeSrc":"263965:24:21","nodeType":"YulFunctionCall","src":"263965:24:21"},"nativeSrc":"263965:24:21","nodeType":"YulExpressionStatement","src":"263965:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264009:4:21","nodeType":"YulLiteral","src":"264009:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"264015:2:21","nodeType":"YulIdentifier","src":"264015:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264002:6:21","nodeType":"YulIdentifier","src":"264002:6:21"},"nativeSrc":"264002:16:21","nodeType":"YulFunctionCall","src":"264002:16:21"},"nativeSrc":"264002:16:21","nodeType":"YulExpressionStatement","src":"264002:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264038:4:21","nodeType":"YulLiteral","src":"264038:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"264044:2:21","nodeType":"YulIdentifier","src":"264044:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264031:6:21","nodeType":"YulIdentifier","src":"264031:6:21"},"nativeSrc":"264031:16:21","nodeType":"YulFunctionCall","src":"264031:16:21"},"nativeSrc":"264031:16:21","nodeType":"YulExpressionStatement","src":"264031:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264067:4:21","nodeType":"YulLiteral","src":"264067:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"264073:4:21","nodeType":"YulLiteral","src":"264073:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"264060:6:21","nodeType":"YulIdentifier","src":"264060:6:21"},"nativeSrc":"264060:18:21","nodeType":"YulFunctionCall","src":"264060:18:21"},"nativeSrc":"264060:18:21","nodeType":"YulExpressionStatement","src":"264060:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264098:4:21","nodeType":"YulLiteral","src":"264098:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"264104:2:21","nodeType":"YulIdentifier","src":"264104:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264091:6:21","nodeType":"YulIdentifier","src":"264091:6:21"},"nativeSrc":"264091:16:21","nodeType":"YulFunctionCall","src":"264091:16:21"},"nativeSrc":"264091:16:21","nodeType":"YulExpressionStatement","src":"264091:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264132:4:21","nodeType":"YulLiteral","src":"264132:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"264138:2:21","nodeType":"YulIdentifier","src":"264138:2:21"}],"functionName":{"name":"writeString","nativeSrc":"264120:11:21","nodeType":"YulIdentifier","src":"264120:11:21"},"nativeSrc":"264120:21:21","nodeType":"YulFunctionCall","src":"264120:21:21"},"nativeSrc":"264120:21:21","nodeType":"YulExpressionStatement","src":"264120:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35242,"isOffset":false,"isSlot":false,"src":"263689:2:21","valueSize":1},{"declaration":35245,"isOffset":false,"isSlot":false,"src":"263719:2:21","valueSize":1},{"declaration":35248,"isOffset":false,"isSlot":false,"src":"263749:2:21","valueSize":1},{"declaration":35251,"isOffset":false,"isSlot":false,"src":"263779:2:21","valueSize":1},{"declaration":35254,"isOffset":false,"isSlot":false,"src":"263809:2:21","valueSize":1},{"declaration":35257,"isOffset":false,"isSlot":false,"src":"263839:2:21","valueSize":1},{"declaration":35260,"isOffset":false,"isSlot":false,"src":"263869:2:21","valueSize":1},{"declaration":35232,"isOffset":false,"isSlot":false,"src":"264015:2:21","valueSize":1},{"declaration":35234,"isOffset":false,"isSlot":false,"src":"264044:2:21","valueSize":1},{"declaration":35236,"isOffset":false,"isSlot":false,"src":"264138:2:21","valueSize":1},{"declaration":35238,"isOffset":false,"isSlot":false,"src":"264104:2:21","valueSize":1}],"id":35262,"nodeType":"InlineAssembly","src":"263311:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"264176:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"264182:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35263,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"264160:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"264160:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35267,"nodeType":"ExpressionStatement","src":"264160:27:21"},{"AST":{"nativeSrc":"264249:214:21","nodeType":"YulBlock","src":"264249:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"264270:4:21","nodeType":"YulLiteral","src":"264270:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"264276:2:21","nodeType":"YulIdentifier","src":"264276:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264263:6:21","nodeType":"YulIdentifier","src":"264263:6:21"},"nativeSrc":"264263:16:21","nodeType":"YulFunctionCall","src":"264263:16:21"},"nativeSrc":"264263:16:21","nodeType":"YulExpressionStatement","src":"264263:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264299:4:21","nodeType":"YulLiteral","src":"264299:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"264305:2:21","nodeType":"YulIdentifier","src":"264305:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264292:6:21","nodeType":"YulIdentifier","src":"264292:6:21"},"nativeSrc":"264292:16:21","nodeType":"YulFunctionCall","src":"264292:16:21"},"nativeSrc":"264292:16:21","nodeType":"YulExpressionStatement","src":"264292:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264328:4:21","nodeType":"YulLiteral","src":"264328:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"264334:2:21","nodeType":"YulIdentifier","src":"264334:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264321:6:21","nodeType":"YulIdentifier","src":"264321:6:21"},"nativeSrc":"264321:16:21","nodeType":"YulFunctionCall","src":"264321:16:21"},"nativeSrc":"264321:16:21","nodeType":"YulExpressionStatement","src":"264321:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264357:4:21","nodeType":"YulLiteral","src":"264357:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"264363:2:21","nodeType":"YulIdentifier","src":"264363:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264350:6:21","nodeType":"YulIdentifier","src":"264350:6:21"},"nativeSrc":"264350:16:21","nodeType":"YulFunctionCall","src":"264350:16:21"},"nativeSrc":"264350:16:21","nodeType":"YulExpressionStatement","src":"264350:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264386:4:21","nodeType":"YulLiteral","src":"264386:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"264392:2:21","nodeType":"YulIdentifier","src":"264392:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264379:6:21","nodeType":"YulIdentifier","src":"264379:6:21"},"nativeSrc":"264379:16:21","nodeType":"YulFunctionCall","src":"264379:16:21"},"nativeSrc":"264379:16:21","nodeType":"YulExpressionStatement","src":"264379:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264415:4:21","nodeType":"YulLiteral","src":"264415:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"264421:2:21","nodeType":"YulIdentifier","src":"264421:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264408:6:21","nodeType":"YulIdentifier","src":"264408:6:21"},"nativeSrc":"264408:16:21","nodeType":"YulFunctionCall","src":"264408:16:21"},"nativeSrc":"264408:16:21","nodeType":"YulExpressionStatement","src":"264408:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264444:4:21","nodeType":"YulLiteral","src":"264444:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"264450:2:21","nodeType":"YulIdentifier","src":"264450:2:21"}],"functionName":{"name":"mstore","nativeSrc":"264437:6:21","nodeType":"YulIdentifier","src":"264437:6:21"},"nativeSrc":"264437:16:21","nodeType":"YulFunctionCall","src":"264437:16:21"},"nativeSrc":"264437:16:21","nodeType":"YulExpressionStatement","src":"264437:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35242,"isOffset":false,"isSlot":false,"src":"264276:2:21","valueSize":1},{"declaration":35245,"isOffset":false,"isSlot":false,"src":"264305:2:21","valueSize":1},{"declaration":35248,"isOffset":false,"isSlot":false,"src":"264334:2:21","valueSize":1},{"declaration":35251,"isOffset":false,"isSlot":false,"src":"264363:2:21","valueSize":1},{"declaration":35254,"isOffset":false,"isSlot":false,"src":"264392:2:21","valueSize":1},{"declaration":35257,"isOffset":false,"isSlot":false,"src":"264421:2:21","valueSize":1},{"declaration":35260,"isOffset":false,"isSlot":false,"src":"264450:2:21","valueSize":1}],"id":35268,"nodeType":"InlineAssembly","src":"264240:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"263052:3:21","parameters":{"id":35239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35232,"mutability":"mutable","name":"p0","nameLocation":"263064:2:21","nodeType":"VariableDeclaration","scope":35270,"src":"263056:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35231,"name":"uint256","nodeType":"ElementaryTypeName","src":"263056:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35234,"mutability":"mutable","name":"p1","nameLocation":"263076:2:21","nodeType":"VariableDeclaration","scope":35270,"src":"263068:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35233,"name":"address","nodeType":"ElementaryTypeName","src":"263068:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35236,"mutability":"mutable","name":"p2","nameLocation":"263088:2:21","nodeType":"VariableDeclaration","scope":35270,"src":"263080:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263080:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35238,"mutability":"mutable","name":"p3","nameLocation":"263100:2:21","nodeType":"VariableDeclaration","scope":35270,"src":"263092:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35237,"name":"uint256","nodeType":"ElementaryTypeName","src":"263092:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"263055:48:21"},"returnParameters":{"id":35240,"nodeType":"ParameterList","parameters":[],"src":"263118:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35316,"nodeType":"FunctionDefinition","src":"264475:1622:21","nodes":[],"body":{"id":35315,"nodeType":"Block","src":"264550:1547:21","nodes":[],"statements":[{"assignments":[35282],"declarations":[{"constant":false,"id":35282,"mutability":"mutable","name":"m0","nameLocation":"264568:2:21","nodeType":"VariableDeclaration","scope":35315,"src":"264560:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264560:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35283,"nodeType":"VariableDeclarationStatement","src":"264560:10:21"},{"assignments":[35285],"declarations":[{"constant":false,"id":35285,"mutability":"mutable","name":"m1","nameLocation":"264588:2:21","nodeType":"VariableDeclaration","scope":35315,"src":"264580:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264580:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35286,"nodeType":"VariableDeclarationStatement","src":"264580:10:21"},{"assignments":[35288],"declarations":[{"constant":false,"id":35288,"mutability":"mutable","name":"m2","nameLocation":"264608:2:21","nodeType":"VariableDeclaration","scope":35315,"src":"264600:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264600:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35289,"nodeType":"VariableDeclarationStatement","src":"264600:10:21"},{"assignments":[35291],"declarations":[{"constant":false,"id":35291,"mutability":"mutable","name":"m3","nameLocation":"264628:2:21","nodeType":"VariableDeclaration","scope":35315,"src":"264620:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264620:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35292,"nodeType":"VariableDeclarationStatement","src":"264620:10:21"},{"assignments":[35294],"declarations":[{"constant":false,"id":35294,"mutability":"mutable","name":"m4","nameLocation":"264648:2:21","nodeType":"VariableDeclaration","scope":35315,"src":"264640:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264640:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35295,"nodeType":"VariableDeclarationStatement","src":"264640:10:21"},{"assignments":[35297],"declarations":[{"constant":false,"id":35297,"mutability":"mutable","name":"m5","nameLocation":"264668:2:21","nodeType":"VariableDeclaration","scope":35315,"src":"264660:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264660:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35298,"nodeType":"VariableDeclarationStatement","src":"264660:10:21"},{"assignments":[35300],"declarations":[{"constant":false,"id":35300,"mutability":"mutable","name":"m6","nameLocation":"264688:2:21","nodeType":"VariableDeclaration","scope":35315,"src":"264680:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264680:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35301,"nodeType":"VariableDeclarationStatement","src":"264680:10:21"},{"assignments":[35303],"declarations":[{"constant":false,"id":35303,"mutability":"mutable","name":"m7","nameLocation":"264708:2:21","nodeType":"VariableDeclaration","scope":35315,"src":"264700:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264700:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35304,"nodeType":"VariableDeclarationStatement","src":"264700:10:21"},{"assignments":[35306],"declarations":[{"constant":false,"id":35306,"mutability":"mutable","name":"m8","nameLocation":"264728:2:21","nodeType":"VariableDeclaration","scope":35315,"src":"264720:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264720:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35307,"nodeType":"VariableDeclarationStatement","src":"264720:10:21"},{"AST":{"nativeSrc":"264792:927:21","nodeType":"YulBlock","src":"264792:927:21","statements":[{"body":{"nativeSrc":"264835:313:21","nodeType":"YulBlock","src":"264835:313:21","statements":[{"nativeSrc":"264853:15:21","nodeType":"YulVariableDeclaration","src":"264853:15:21","value":{"kind":"number","nativeSrc":"264867:1:21","nodeType":"YulLiteral","src":"264867:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"264857:6:21","nodeType":"YulTypedName","src":"264857:6:21","type":""}]},{"body":{"nativeSrc":"264938:40:21","nodeType":"YulBlock","src":"264938:40:21","statements":[{"body":{"nativeSrc":"264967:9:21","nodeType":"YulBlock","src":"264967:9:21","statements":[{"nativeSrc":"264969:5:21","nodeType":"YulBreak","src":"264969:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"264955:6:21","nodeType":"YulIdentifier","src":"264955:6:21"},{"name":"w","nativeSrc":"264963:1:21","nodeType":"YulIdentifier","src":"264963:1:21"}],"functionName":{"name":"byte","nativeSrc":"264950:4:21","nodeType":"YulIdentifier","src":"264950:4:21"},"nativeSrc":"264950:15:21","nodeType":"YulFunctionCall","src":"264950:15:21"}],"functionName":{"name":"iszero","nativeSrc":"264943:6:21","nodeType":"YulIdentifier","src":"264943:6:21"},"nativeSrc":"264943:23:21","nodeType":"YulFunctionCall","src":"264943:23:21"},"nativeSrc":"264940:36:21","nodeType":"YulIf","src":"264940:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"264895:6:21","nodeType":"YulIdentifier","src":"264895:6:21"},{"kind":"number","nativeSrc":"264903:4:21","nodeType":"YulLiteral","src":"264903:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"264892:2:21","nodeType":"YulIdentifier","src":"264892:2:21"},"nativeSrc":"264892:16:21","nodeType":"YulFunctionCall","src":"264892:16:21"},"nativeSrc":"264885:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"264909:28:21","nodeType":"YulBlock","src":"264909:28:21","statements":[{"nativeSrc":"264911:24:21","nodeType":"YulAssignment","src":"264911:24:21","value":{"arguments":[{"name":"length","nativeSrc":"264925:6:21","nodeType":"YulIdentifier","src":"264925:6:21"},{"kind":"number","nativeSrc":"264933:1:21","nodeType":"YulLiteral","src":"264933:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"264921:3:21","nodeType":"YulIdentifier","src":"264921:3:21"},"nativeSrc":"264921:14:21","nodeType":"YulFunctionCall","src":"264921:14:21"},"variableNames":[{"name":"length","nativeSrc":"264911:6:21","nodeType":"YulIdentifier","src":"264911:6:21"}]}]},"pre":{"nativeSrc":"264889:2:21","nodeType":"YulBlock","src":"264889:2:21","statements":[]},"src":"264885:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"265002:3:21","nodeType":"YulIdentifier","src":"265002:3:21"},{"name":"length","nativeSrc":"265007:6:21","nodeType":"YulIdentifier","src":"265007:6:21"}],"functionName":{"name":"mstore","nativeSrc":"264995:6:21","nodeType":"YulIdentifier","src":"264995:6:21"},"nativeSrc":"264995:19:21","nodeType":"YulFunctionCall","src":"264995:19:21"},"nativeSrc":"264995:19:21","nodeType":"YulExpressionStatement","src":"264995:19:21"},{"nativeSrc":"265031:37:21","nodeType":"YulVariableDeclaration","src":"265031:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"265048:3:21","nodeType":"YulLiteral","src":"265048:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"265057:1:21","nodeType":"YulLiteral","src":"265057:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"265060:6:21","nodeType":"YulIdentifier","src":"265060:6:21"}],"functionName":{"name":"shl","nativeSrc":"265053:3:21","nodeType":"YulIdentifier","src":"265053:3:21"},"nativeSrc":"265053:14:21","nodeType":"YulFunctionCall","src":"265053:14:21"}],"functionName":{"name":"sub","nativeSrc":"265044:3:21","nodeType":"YulIdentifier","src":"265044:3:21"},"nativeSrc":"265044:24:21","nodeType":"YulFunctionCall","src":"265044:24:21"},"variables":[{"name":"shift","nativeSrc":"265035:5:21","nodeType":"YulTypedName","src":"265035:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"265096:3:21","nodeType":"YulIdentifier","src":"265096:3:21"},{"kind":"number","nativeSrc":"265101:4:21","nodeType":"YulLiteral","src":"265101:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"265092:3:21","nodeType":"YulIdentifier","src":"265092:3:21"},"nativeSrc":"265092:14:21","nodeType":"YulFunctionCall","src":"265092:14:21"},{"arguments":[{"name":"shift","nativeSrc":"265112:5:21","nodeType":"YulIdentifier","src":"265112:5:21"},{"arguments":[{"name":"shift","nativeSrc":"265123:5:21","nodeType":"YulIdentifier","src":"265123:5:21"},{"name":"w","nativeSrc":"265130:1:21","nodeType":"YulIdentifier","src":"265130:1:21"}],"functionName":{"name":"shr","nativeSrc":"265119:3:21","nodeType":"YulIdentifier","src":"265119:3:21"},"nativeSrc":"265119:13:21","nodeType":"YulFunctionCall","src":"265119:13:21"}],"functionName":{"name":"shl","nativeSrc":"265108:3:21","nodeType":"YulIdentifier","src":"265108:3:21"},"nativeSrc":"265108:25:21","nodeType":"YulFunctionCall","src":"265108:25:21"}],"functionName":{"name":"mstore","nativeSrc":"265085:6:21","nodeType":"YulIdentifier","src":"265085:6:21"},"nativeSrc":"265085:49:21","nodeType":"YulFunctionCall","src":"265085:49:21"},"nativeSrc":"265085:49:21","nodeType":"YulExpressionStatement","src":"265085:49:21"}]},"name":"writeString","nativeSrc":"264806:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"264827:3:21","nodeType":"YulTypedName","src":"264827:3:21","type":""},{"name":"w","nativeSrc":"264832:1:21","nodeType":"YulTypedName","src":"264832:1:21","type":""}],"src":"264806:342:21"},{"nativeSrc":"265161:17:21","nodeType":"YulAssignment","src":"265161:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"265173:4:21","nodeType":"YulLiteral","src":"265173:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"265167:5:21","nodeType":"YulIdentifier","src":"265167:5:21"},"nativeSrc":"265167:11:21","nodeType":"YulFunctionCall","src":"265167:11:21"},"variableNames":[{"name":"m0","nativeSrc":"265161:2:21","nodeType":"YulIdentifier","src":"265161:2:21"}]},{"nativeSrc":"265191:17:21","nodeType":"YulAssignment","src":"265191:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"265203:4:21","nodeType":"YulLiteral","src":"265203:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"265197:5:21","nodeType":"YulIdentifier","src":"265197:5:21"},"nativeSrc":"265197:11:21","nodeType":"YulFunctionCall","src":"265197:11:21"},"variableNames":[{"name":"m1","nativeSrc":"265191:2:21","nodeType":"YulIdentifier","src":"265191:2:21"}]},{"nativeSrc":"265221:17:21","nodeType":"YulAssignment","src":"265221:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"265233:4:21","nodeType":"YulLiteral","src":"265233:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"265227:5:21","nodeType":"YulIdentifier","src":"265227:5:21"},"nativeSrc":"265227:11:21","nodeType":"YulFunctionCall","src":"265227:11:21"},"variableNames":[{"name":"m2","nativeSrc":"265221:2:21","nodeType":"YulIdentifier","src":"265221:2:21"}]},{"nativeSrc":"265251:17:21","nodeType":"YulAssignment","src":"265251:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"265263:4:21","nodeType":"YulLiteral","src":"265263:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"265257:5:21","nodeType":"YulIdentifier","src":"265257:5:21"},"nativeSrc":"265257:11:21","nodeType":"YulFunctionCall","src":"265257:11:21"},"variableNames":[{"name":"m3","nativeSrc":"265251:2:21","nodeType":"YulIdentifier","src":"265251:2:21"}]},{"nativeSrc":"265281:17:21","nodeType":"YulAssignment","src":"265281:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"265293:4:21","nodeType":"YulLiteral","src":"265293:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"265287:5:21","nodeType":"YulIdentifier","src":"265287:5:21"},"nativeSrc":"265287:11:21","nodeType":"YulFunctionCall","src":"265287:11:21"},"variableNames":[{"name":"m4","nativeSrc":"265281:2:21","nodeType":"YulIdentifier","src":"265281:2:21"}]},{"nativeSrc":"265311:17:21","nodeType":"YulAssignment","src":"265311:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"265323:4:21","nodeType":"YulLiteral","src":"265323:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"265317:5:21","nodeType":"YulIdentifier","src":"265317:5:21"},"nativeSrc":"265317:11:21","nodeType":"YulFunctionCall","src":"265317:11:21"},"variableNames":[{"name":"m5","nativeSrc":"265311:2:21","nodeType":"YulIdentifier","src":"265311:2:21"}]},{"nativeSrc":"265341:17:21","nodeType":"YulAssignment","src":"265341:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"265353:4:21","nodeType":"YulLiteral","src":"265353:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"265347:5:21","nodeType":"YulIdentifier","src":"265347:5:21"},"nativeSrc":"265347:11:21","nodeType":"YulFunctionCall","src":"265347:11:21"},"variableNames":[{"name":"m6","nativeSrc":"265341:2:21","nodeType":"YulIdentifier","src":"265341:2:21"}]},{"nativeSrc":"265371:17:21","nodeType":"YulAssignment","src":"265371:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"265383:4:21","nodeType":"YulLiteral","src":"265383:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"265377:5:21","nodeType":"YulIdentifier","src":"265377:5:21"},"nativeSrc":"265377:11:21","nodeType":"YulFunctionCall","src":"265377:11:21"},"variableNames":[{"name":"m7","nativeSrc":"265371:2:21","nodeType":"YulIdentifier","src":"265371:2:21"}]},{"nativeSrc":"265401:18:21","nodeType":"YulAssignment","src":"265401:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"265413:5:21","nodeType":"YulLiteral","src":"265413:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"265407:5:21","nodeType":"YulIdentifier","src":"265407:5:21"},"nativeSrc":"265407:12:21","nodeType":"YulFunctionCall","src":"265407:12:21"},"variableNames":[{"name":"m8","nativeSrc":"265401:2:21","nodeType":"YulIdentifier","src":"265401:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265504:4:21","nodeType":"YulLiteral","src":"265504:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"265510:10:21","nodeType":"YulLiteral","src":"265510:10:21","type":"","value":"0x3e128ca3"}],"functionName":{"name":"mstore","nativeSrc":"265497:6:21","nodeType":"YulIdentifier","src":"265497:6:21"},"nativeSrc":"265497:24:21","nodeType":"YulFunctionCall","src":"265497:24:21"},"nativeSrc":"265497:24:21","nodeType":"YulExpressionStatement","src":"265497:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265541:4:21","nodeType":"YulLiteral","src":"265541:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"265547:2:21","nodeType":"YulIdentifier","src":"265547:2:21"}],"functionName":{"name":"mstore","nativeSrc":"265534:6:21","nodeType":"YulIdentifier","src":"265534:6:21"},"nativeSrc":"265534:16:21","nodeType":"YulFunctionCall","src":"265534:16:21"},"nativeSrc":"265534:16:21","nodeType":"YulExpressionStatement","src":"265534:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265570:4:21","nodeType":"YulLiteral","src":"265570:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"265576:2:21","nodeType":"YulIdentifier","src":"265576:2:21"}],"functionName":{"name":"mstore","nativeSrc":"265563:6:21","nodeType":"YulIdentifier","src":"265563:6:21"},"nativeSrc":"265563:16:21","nodeType":"YulFunctionCall","src":"265563:16:21"},"nativeSrc":"265563:16:21","nodeType":"YulExpressionStatement","src":"265563:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265599:4:21","nodeType":"YulLiteral","src":"265599:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"265605:4:21","nodeType":"YulLiteral","src":"265605:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"265592:6:21","nodeType":"YulIdentifier","src":"265592:6:21"},"nativeSrc":"265592:18:21","nodeType":"YulFunctionCall","src":"265592:18:21"},"nativeSrc":"265592:18:21","nodeType":"YulExpressionStatement","src":"265592:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265630:4:21","nodeType":"YulLiteral","src":"265630:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"265636:4:21","nodeType":"YulLiteral","src":"265636:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"265623:6:21","nodeType":"YulIdentifier","src":"265623:6:21"},"nativeSrc":"265623:18:21","nodeType":"YulFunctionCall","src":"265623:18:21"},"nativeSrc":"265623:18:21","nodeType":"YulExpressionStatement","src":"265623:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265666:4:21","nodeType":"YulLiteral","src":"265666:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"265672:2:21","nodeType":"YulIdentifier","src":"265672:2:21"}],"functionName":{"name":"writeString","nativeSrc":"265654:11:21","nodeType":"YulIdentifier","src":"265654:11:21"},"nativeSrc":"265654:21:21","nodeType":"YulFunctionCall","src":"265654:21:21"},"nativeSrc":"265654:21:21","nodeType":"YulExpressionStatement","src":"265654:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265700:4:21","nodeType":"YulLiteral","src":"265700:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"265706:2:21","nodeType":"YulIdentifier","src":"265706:2:21"}],"functionName":{"name":"writeString","nativeSrc":"265688:11:21","nodeType":"YulIdentifier","src":"265688:11:21"},"nativeSrc":"265688:21:21","nodeType":"YulFunctionCall","src":"265688:21:21"},"nativeSrc":"265688:21:21","nodeType":"YulExpressionStatement","src":"265688:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35282,"isOffset":false,"isSlot":false,"src":"265161:2:21","valueSize":1},{"declaration":35285,"isOffset":false,"isSlot":false,"src":"265191:2:21","valueSize":1},{"declaration":35288,"isOffset":false,"isSlot":false,"src":"265221:2:21","valueSize":1},{"declaration":35291,"isOffset":false,"isSlot":false,"src":"265251:2:21","valueSize":1},{"declaration":35294,"isOffset":false,"isSlot":false,"src":"265281:2:21","valueSize":1},{"declaration":35297,"isOffset":false,"isSlot":false,"src":"265311:2:21","valueSize":1},{"declaration":35300,"isOffset":false,"isSlot":false,"src":"265341:2:21","valueSize":1},{"declaration":35303,"isOffset":false,"isSlot":false,"src":"265371:2:21","valueSize":1},{"declaration":35306,"isOffset":false,"isSlot":false,"src":"265401:2:21","valueSize":1},{"declaration":35272,"isOffset":false,"isSlot":false,"src":"265547:2:21","valueSize":1},{"declaration":35274,"isOffset":false,"isSlot":false,"src":"265576:2:21","valueSize":1},{"declaration":35276,"isOffset":false,"isSlot":false,"src":"265672:2:21","valueSize":1},{"declaration":35278,"isOffset":false,"isSlot":false,"src":"265706:2:21","valueSize":1}],"id":35308,"nodeType":"InlineAssembly","src":"264783:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"265744:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":35311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"265750:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":35309,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"265728:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"265728:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35313,"nodeType":"ExpressionStatement","src":"265728:28:21"},{"AST":{"nativeSrc":"265818:273:21","nodeType":"YulBlock","src":"265818:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"265839:4:21","nodeType":"YulLiteral","src":"265839:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"265845:2:21","nodeType":"YulIdentifier","src":"265845:2:21"}],"functionName":{"name":"mstore","nativeSrc":"265832:6:21","nodeType":"YulIdentifier","src":"265832:6:21"},"nativeSrc":"265832:16:21","nodeType":"YulFunctionCall","src":"265832:16:21"},"nativeSrc":"265832:16:21","nodeType":"YulExpressionStatement","src":"265832:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265868:4:21","nodeType":"YulLiteral","src":"265868:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"265874:2:21","nodeType":"YulIdentifier","src":"265874:2:21"}],"functionName":{"name":"mstore","nativeSrc":"265861:6:21","nodeType":"YulIdentifier","src":"265861:6:21"},"nativeSrc":"265861:16:21","nodeType":"YulFunctionCall","src":"265861:16:21"},"nativeSrc":"265861:16:21","nodeType":"YulExpressionStatement","src":"265861:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265897:4:21","nodeType":"YulLiteral","src":"265897:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"265903:2:21","nodeType":"YulIdentifier","src":"265903:2:21"}],"functionName":{"name":"mstore","nativeSrc":"265890:6:21","nodeType":"YulIdentifier","src":"265890:6:21"},"nativeSrc":"265890:16:21","nodeType":"YulFunctionCall","src":"265890:16:21"},"nativeSrc":"265890:16:21","nodeType":"YulExpressionStatement","src":"265890:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265926:4:21","nodeType":"YulLiteral","src":"265926:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"265932:2:21","nodeType":"YulIdentifier","src":"265932:2:21"}],"functionName":{"name":"mstore","nativeSrc":"265919:6:21","nodeType":"YulIdentifier","src":"265919:6:21"},"nativeSrc":"265919:16:21","nodeType":"YulFunctionCall","src":"265919:16:21"},"nativeSrc":"265919:16:21","nodeType":"YulExpressionStatement","src":"265919:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265955:4:21","nodeType":"YulLiteral","src":"265955:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"265961:2:21","nodeType":"YulIdentifier","src":"265961:2:21"}],"functionName":{"name":"mstore","nativeSrc":"265948:6:21","nodeType":"YulIdentifier","src":"265948:6:21"},"nativeSrc":"265948:16:21","nodeType":"YulFunctionCall","src":"265948:16:21"},"nativeSrc":"265948:16:21","nodeType":"YulExpressionStatement","src":"265948:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265984:4:21","nodeType":"YulLiteral","src":"265984:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"265990:2:21","nodeType":"YulIdentifier","src":"265990:2:21"}],"functionName":{"name":"mstore","nativeSrc":"265977:6:21","nodeType":"YulIdentifier","src":"265977:6:21"},"nativeSrc":"265977:16:21","nodeType":"YulFunctionCall","src":"265977:16:21"},"nativeSrc":"265977:16:21","nodeType":"YulExpressionStatement","src":"265977:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266013:4:21","nodeType":"YulLiteral","src":"266013:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"266019:2:21","nodeType":"YulIdentifier","src":"266019:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266006:6:21","nodeType":"YulIdentifier","src":"266006:6:21"},"nativeSrc":"266006:16:21","nodeType":"YulFunctionCall","src":"266006:16:21"},"nativeSrc":"266006:16:21","nodeType":"YulExpressionStatement","src":"266006:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266042:4:21","nodeType":"YulLiteral","src":"266042:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"266048:2:21","nodeType":"YulIdentifier","src":"266048:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266035:6:21","nodeType":"YulIdentifier","src":"266035:6:21"},"nativeSrc":"266035:16:21","nodeType":"YulFunctionCall","src":"266035:16:21"},"nativeSrc":"266035:16:21","nodeType":"YulExpressionStatement","src":"266035:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266071:5:21","nodeType":"YulLiteral","src":"266071:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"266078:2:21","nodeType":"YulIdentifier","src":"266078:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266064:6:21","nodeType":"YulIdentifier","src":"266064:6:21"},"nativeSrc":"266064:17:21","nodeType":"YulFunctionCall","src":"266064:17:21"},"nativeSrc":"266064:17:21","nodeType":"YulExpressionStatement","src":"266064:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35282,"isOffset":false,"isSlot":false,"src":"265845:2:21","valueSize":1},{"declaration":35285,"isOffset":false,"isSlot":false,"src":"265874:2:21","valueSize":1},{"declaration":35288,"isOffset":false,"isSlot":false,"src":"265903:2:21","valueSize":1},{"declaration":35291,"isOffset":false,"isSlot":false,"src":"265932:2:21","valueSize":1},{"declaration":35294,"isOffset":false,"isSlot":false,"src":"265961:2:21","valueSize":1},{"declaration":35297,"isOffset":false,"isSlot":false,"src":"265990:2:21","valueSize":1},{"declaration":35300,"isOffset":false,"isSlot":false,"src":"266019:2:21","valueSize":1},{"declaration":35303,"isOffset":false,"isSlot":false,"src":"266048:2:21","valueSize":1},{"declaration":35306,"isOffset":false,"isSlot":false,"src":"266078:2:21","valueSize":1}],"id":35314,"nodeType":"InlineAssembly","src":"265809:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"264484:3:21","parameters":{"id":35279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35272,"mutability":"mutable","name":"p0","nameLocation":"264496:2:21","nodeType":"VariableDeclaration","scope":35316,"src":"264488:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35271,"name":"uint256","nodeType":"ElementaryTypeName","src":"264488:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35274,"mutability":"mutable","name":"p1","nameLocation":"264508:2:21","nodeType":"VariableDeclaration","scope":35316,"src":"264500:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35273,"name":"address","nodeType":"ElementaryTypeName","src":"264500:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35276,"mutability":"mutable","name":"p2","nameLocation":"264520:2:21","nodeType":"VariableDeclaration","scope":35316,"src":"264512:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264512:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35278,"mutability":"mutable","name":"p3","nameLocation":"264532:2:21","nodeType":"VariableDeclaration","scope":35316,"src":"264524:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264524:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"264487:48:21"},"returnParameters":{"id":35280,"nodeType":"ParameterList","parameters":[],"src":"264550:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35350,"nodeType":"FunctionDefinition","src":"266103:872:21","nodes":[],"body":{"id":35349,"nodeType":"Block","src":"266175:800:21","nodes":[],"statements":[{"assignments":[35328],"declarations":[{"constant":false,"id":35328,"mutability":"mutable","name":"m0","nameLocation":"266193:2:21","nodeType":"VariableDeclaration","scope":35349,"src":"266185:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35327,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266185:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35329,"nodeType":"VariableDeclarationStatement","src":"266185:10:21"},{"assignments":[35331],"declarations":[{"constant":false,"id":35331,"mutability":"mutable","name":"m1","nameLocation":"266213:2:21","nodeType":"VariableDeclaration","scope":35349,"src":"266205:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266205:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35332,"nodeType":"VariableDeclarationStatement","src":"266205:10:21"},{"assignments":[35334],"declarations":[{"constant":false,"id":35334,"mutability":"mutable","name":"m2","nameLocation":"266233:2:21","nodeType":"VariableDeclaration","scope":35349,"src":"266225:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266225:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35335,"nodeType":"VariableDeclarationStatement","src":"266225:10:21"},{"assignments":[35337],"declarations":[{"constant":false,"id":35337,"mutability":"mutable","name":"m3","nameLocation":"266253:2:21","nodeType":"VariableDeclaration","scope":35349,"src":"266245:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35336,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266245:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35338,"nodeType":"VariableDeclarationStatement","src":"266245:10:21"},{"assignments":[35340],"declarations":[{"constant":false,"id":35340,"mutability":"mutable","name":"m4","nameLocation":"266273:2:21","nodeType":"VariableDeclaration","scope":35349,"src":"266265:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266265:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35341,"nodeType":"VariableDeclarationStatement","src":"266265:10:21"},{"AST":{"nativeSrc":"266337:378:21","nodeType":"YulBlock","src":"266337:378:21","statements":[{"nativeSrc":"266351:17:21","nodeType":"YulAssignment","src":"266351:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"266363:4:21","nodeType":"YulLiteral","src":"266363:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"266357:5:21","nodeType":"YulIdentifier","src":"266357:5:21"},"nativeSrc":"266357:11:21","nodeType":"YulFunctionCall","src":"266357:11:21"},"variableNames":[{"name":"m0","nativeSrc":"266351:2:21","nodeType":"YulIdentifier","src":"266351:2:21"}]},{"nativeSrc":"266381:17:21","nodeType":"YulAssignment","src":"266381:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"266393:4:21","nodeType":"YulLiteral","src":"266393:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"266387:5:21","nodeType":"YulIdentifier","src":"266387:5:21"},"nativeSrc":"266387:11:21","nodeType":"YulFunctionCall","src":"266387:11:21"},"variableNames":[{"name":"m1","nativeSrc":"266381:2:21","nodeType":"YulIdentifier","src":"266381:2:21"}]},{"nativeSrc":"266411:17:21","nodeType":"YulAssignment","src":"266411:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"266423:4:21","nodeType":"YulLiteral","src":"266423:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"266417:5:21","nodeType":"YulIdentifier","src":"266417:5:21"},"nativeSrc":"266417:11:21","nodeType":"YulFunctionCall","src":"266417:11:21"},"variableNames":[{"name":"m2","nativeSrc":"266411:2:21","nodeType":"YulIdentifier","src":"266411:2:21"}]},{"nativeSrc":"266441:17:21","nodeType":"YulAssignment","src":"266441:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"266453:4:21","nodeType":"YulLiteral","src":"266453:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"266447:5:21","nodeType":"YulIdentifier","src":"266447:5:21"},"nativeSrc":"266447:11:21","nodeType":"YulFunctionCall","src":"266447:11:21"},"variableNames":[{"name":"m3","nativeSrc":"266441:2:21","nodeType":"YulIdentifier","src":"266441:2:21"}]},{"nativeSrc":"266471:17:21","nodeType":"YulAssignment","src":"266471:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"266483:4:21","nodeType":"YulLiteral","src":"266483:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"266477:5:21","nodeType":"YulIdentifier","src":"266477:5:21"},"nativeSrc":"266477:11:21","nodeType":"YulFunctionCall","src":"266477:11:21"},"variableNames":[{"name":"m4","nativeSrc":"266471:2:21","nodeType":"YulIdentifier","src":"266471:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266572:4:21","nodeType":"YulLiteral","src":"266572:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"266578:10:21","nodeType":"YulLiteral","src":"266578:10:21","type":"","value":"0xa1ef4cbb"}],"functionName":{"name":"mstore","nativeSrc":"266565:6:21","nodeType":"YulIdentifier","src":"266565:6:21"},"nativeSrc":"266565:24:21","nodeType":"YulFunctionCall","src":"266565:24:21"},"nativeSrc":"266565:24:21","nodeType":"YulExpressionStatement","src":"266565:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266609:4:21","nodeType":"YulLiteral","src":"266609:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"266615:2:21","nodeType":"YulIdentifier","src":"266615:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266602:6:21","nodeType":"YulIdentifier","src":"266602:6:21"},"nativeSrc":"266602:16:21","nodeType":"YulFunctionCall","src":"266602:16:21"},"nativeSrc":"266602:16:21","nodeType":"YulExpressionStatement","src":"266602:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266638:4:21","nodeType":"YulLiteral","src":"266638:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"266644:2:21","nodeType":"YulIdentifier","src":"266644:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266631:6:21","nodeType":"YulIdentifier","src":"266631:6:21"},"nativeSrc":"266631:16:21","nodeType":"YulFunctionCall","src":"266631:16:21"},"nativeSrc":"266631:16:21","nodeType":"YulExpressionStatement","src":"266631:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266667:4:21","nodeType":"YulLiteral","src":"266667:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"266673:2:21","nodeType":"YulIdentifier","src":"266673:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266660:6:21","nodeType":"YulIdentifier","src":"266660:6:21"},"nativeSrc":"266660:16:21","nodeType":"YulFunctionCall","src":"266660:16:21"},"nativeSrc":"266660:16:21","nodeType":"YulExpressionStatement","src":"266660:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266696:4:21","nodeType":"YulLiteral","src":"266696:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"266702:2:21","nodeType":"YulIdentifier","src":"266702:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266689:6:21","nodeType":"YulIdentifier","src":"266689:6:21"},"nativeSrc":"266689:16:21","nodeType":"YulFunctionCall","src":"266689:16:21"},"nativeSrc":"266689:16:21","nodeType":"YulExpressionStatement","src":"266689:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35328,"isOffset":false,"isSlot":false,"src":"266351:2:21","valueSize":1},{"declaration":35331,"isOffset":false,"isSlot":false,"src":"266381:2:21","valueSize":1},{"declaration":35334,"isOffset":false,"isSlot":false,"src":"266411:2:21","valueSize":1},{"declaration":35337,"isOffset":false,"isSlot":false,"src":"266441:2:21","valueSize":1},{"declaration":35340,"isOffset":false,"isSlot":false,"src":"266471:2:21","valueSize":1},{"declaration":35318,"isOffset":false,"isSlot":false,"src":"266615:2:21","valueSize":1},{"declaration":35320,"isOffset":false,"isSlot":false,"src":"266644:2:21","valueSize":1},{"declaration":35322,"isOffset":false,"isSlot":false,"src":"266673:2:21","valueSize":1},{"declaration":35324,"isOffset":false,"isSlot":false,"src":"266702:2:21","valueSize":1}],"id":35342,"nodeType":"InlineAssembly","src":"266328:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266740:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266746:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35343,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"266724:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"266724:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35347,"nodeType":"ExpressionStatement","src":"266724:27:21"},{"AST":{"nativeSrc":"266813:156:21","nodeType":"YulBlock","src":"266813:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"266834:4:21","nodeType":"YulLiteral","src":"266834:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"266840:2:21","nodeType":"YulIdentifier","src":"266840:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266827:6:21","nodeType":"YulIdentifier","src":"266827:6:21"},"nativeSrc":"266827:16:21","nodeType":"YulFunctionCall","src":"266827:16:21"},"nativeSrc":"266827:16:21","nodeType":"YulExpressionStatement","src":"266827:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266863:4:21","nodeType":"YulLiteral","src":"266863:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"266869:2:21","nodeType":"YulIdentifier","src":"266869:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266856:6:21","nodeType":"YulIdentifier","src":"266856:6:21"},"nativeSrc":"266856:16:21","nodeType":"YulFunctionCall","src":"266856:16:21"},"nativeSrc":"266856:16:21","nodeType":"YulExpressionStatement","src":"266856:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266892:4:21","nodeType":"YulLiteral","src":"266892:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"266898:2:21","nodeType":"YulIdentifier","src":"266898:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266885:6:21","nodeType":"YulIdentifier","src":"266885:6:21"},"nativeSrc":"266885:16:21","nodeType":"YulFunctionCall","src":"266885:16:21"},"nativeSrc":"266885:16:21","nodeType":"YulExpressionStatement","src":"266885:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266921:4:21","nodeType":"YulLiteral","src":"266921:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"266927:2:21","nodeType":"YulIdentifier","src":"266927:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266914:6:21","nodeType":"YulIdentifier","src":"266914:6:21"},"nativeSrc":"266914:16:21","nodeType":"YulFunctionCall","src":"266914:16:21"},"nativeSrc":"266914:16:21","nodeType":"YulExpressionStatement","src":"266914:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266950:4:21","nodeType":"YulLiteral","src":"266950:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"266956:2:21","nodeType":"YulIdentifier","src":"266956:2:21"}],"functionName":{"name":"mstore","nativeSrc":"266943:6:21","nodeType":"YulIdentifier","src":"266943:6:21"},"nativeSrc":"266943:16:21","nodeType":"YulFunctionCall","src":"266943:16:21"},"nativeSrc":"266943:16:21","nodeType":"YulExpressionStatement","src":"266943:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35328,"isOffset":false,"isSlot":false,"src":"266840:2:21","valueSize":1},{"declaration":35331,"isOffset":false,"isSlot":false,"src":"266869:2:21","valueSize":1},{"declaration":35334,"isOffset":false,"isSlot":false,"src":"266898:2:21","valueSize":1},{"declaration":35337,"isOffset":false,"isSlot":false,"src":"266927:2:21","valueSize":1},{"declaration":35340,"isOffset":false,"isSlot":false,"src":"266956:2:21","valueSize":1}],"id":35348,"nodeType":"InlineAssembly","src":"266804:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"266112:3:21","parameters":{"id":35325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35318,"mutability":"mutable","name":"p0","nameLocation":"266124:2:21","nodeType":"VariableDeclaration","scope":35350,"src":"266116:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35317,"name":"uint256","nodeType":"ElementaryTypeName","src":"266116:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35320,"mutability":"mutable","name":"p1","nameLocation":"266133:2:21","nodeType":"VariableDeclaration","scope":35350,"src":"266128:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35319,"name":"bool","nodeType":"ElementaryTypeName","src":"266128:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35322,"mutability":"mutable","name":"p2","nameLocation":"266145:2:21","nodeType":"VariableDeclaration","scope":35350,"src":"266137:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35321,"name":"address","nodeType":"ElementaryTypeName","src":"266137:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35324,"mutability":"mutable","name":"p3","nameLocation":"266157:2:21","nodeType":"VariableDeclaration","scope":35350,"src":"266149:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35323,"name":"address","nodeType":"ElementaryTypeName","src":"266149:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"266115:45:21"},"returnParameters":{"id":35326,"nodeType":"ParameterList","parameters":[],"src":"266175:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35384,"nodeType":"FunctionDefinition","src":"266981:866:21","nodes":[],"body":{"id":35383,"nodeType":"Block","src":"267050:797:21","nodes":[],"statements":[{"assignments":[35362],"declarations":[{"constant":false,"id":35362,"mutability":"mutable","name":"m0","nameLocation":"267068:2:21","nodeType":"VariableDeclaration","scope":35383,"src":"267060:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267060:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35363,"nodeType":"VariableDeclarationStatement","src":"267060:10:21"},{"assignments":[35365],"declarations":[{"constant":false,"id":35365,"mutability":"mutable","name":"m1","nameLocation":"267088:2:21","nodeType":"VariableDeclaration","scope":35383,"src":"267080:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267080:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35366,"nodeType":"VariableDeclarationStatement","src":"267080:10:21"},{"assignments":[35368],"declarations":[{"constant":false,"id":35368,"mutability":"mutable","name":"m2","nameLocation":"267108:2:21","nodeType":"VariableDeclaration","scope":35383,"src":"267100:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267100:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35369,"nodeType":"VariableDeclarationStatement","src":"267100:10:21"},{"assignments":[35371],"declarations":[{"constant":false,"id":35371,"mutability":"mutable","name":"m3","nameLocation":"267128:2:21","nodeType":"VariableDeclaration","scope":35383,"src":"267120:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267120:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35372,"nodeType":"VariableDeclarationStatement","src":"267120:10:21"},{"assignments":[35374],"declarations":[{"constant":false,"id":35374,"mutability":"mutable","name":"m4","nameLocation":"267148:2:21","nodeType":"VariableDeclaration","scope":35383,"src":"267140:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267140:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35375,"nodeType":"VariableDeclarationStatement","src":"267140:10:21"},{"AST":{"nativeSrc":"267212:375:21","nodeType":"YulBlock","src":"267212:375:21","statements":[{"nativeSrc":"267226:17:21","nodeType":"YulAssignment","src":"267226:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"267238:4:21","nodeType":"YulLiteral","src":"267238:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"267232:5:21","nodeType":"YulIdentifier","src":"267232:5:21"},"nativeSrc":"267232:11:21","nodeType":"YulFunctionCall","src":"267232:11:21"},"variableNames":[{"name":"m0","nativeSrc":"267226:2:21","nodeType":"YulIdentifier","src":"267226:2:21"}]},{"nativeSrc":"267256:17:21","nodeType":"YulAssignment","src":"267256:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"267268:4:21","nodeType":"YulLiteral","src":"267268:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"267262:5:21","nodeType":"YulIdentifier","src":"267262:5:21"},"nativeSrc":"267262:11:21","nodeType":"YulFunctionCall","src":"267262:11:21"},"variableNames":[{"name":"m1","nativeSrc":"267256:2:21","nodeType":"YulIdentifier","src":"267256:2:21"}]},{"nativeSrc":"267286:17:21","nodeType":"YulAssignment","src":"267286:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"267298:4:21","nodeType":"YulLiteral","src":"267298:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"267292:5:21","nodeType":"YulIdentifier","src":"267292:5:21"},"nativeSrc":"267292:11:21","nodeType":"YulFunctionCall","src":"267292:11:21"},"variableNames":[{"name":"m2","nativeSrc":"267286:2:21","nodeType":"YulIdentifier","src":"267286:2:21"}]},{"nativeSrc":"267316:17:21","nodeType":"YulAssignment","src":"267316:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"267328:4:21","nodeType":"YulLiteral","src":"267328:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"267322:5:21","nodeType":"YulIdentifier","src":"267322:5:21"},"nativeSrc":"267322:11:21","nodeType":"YulFunctionCall","src":"267322:11:21"},"variableNames":[{"name":"m3","nativeSrc":"267316:2:21","nodeType":"YulIdentifier","src":"267316:2:21"}]},{"nativeSrc":"267346:17:21","nodeType":"YulAssignment","src":"267346:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"267358:4:21","nodeType":"YulLiteral","src":"267358:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"267352:5:21","nodeType":"YulIdentifier","src":"267352:5:21"},"nativeSrc":"267352:11:21","nodeType":"YulFunctionCall","src":"267352:11:21"},"variableNames":[{"name":"m4","nativeSrc":"267346:2:21","nodeType":"YulIdentifier","src":"267346:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267444:4:21","nodeType":"YulLiteral","src":"267444:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"267450:10:21","nodeType":"YulLiteral","src":"267450:10:21","type":"","value":"0x454d54a5"}],"functionName":{"name":"mstore","nativeSrc":"267437:6:21","nodeType":"YulIdentifier","src":"267437:6:21"},"nativeSrc":"267437:24:21","nodeType":"YulFunctionCall","src":"267437:24:21"},"nativeSrc":"267437:24:21","nodeType":"YulExpressionStatement","src":"267437:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267481:4:21","nodeType":"YulLiteral","src":"267481:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"267487:2:21","nodeType":"YulIdentifier","src":"267487:2:21"}],"functionName":{"name":"mstore","nativeSrc":"267474:6:21","nodeType":"YulIdentifier","src":"267474:6:21"},"nativeSrc":"267474:16:21","nodeType":"YulFunctionCall","src":"267474:16:21"},"nativeSrc":"267474:16:21","nodeType":"YulExpressionStatement","src":"267474:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267510:4:21","nodeType":"YulLiteral","src":"267510:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"267516:2:21","nodeType":"YulIdentifier","src":"267516:2:21"}],"functionName":{"name":"mstore","nativeSrc":"267503:6:21","nodeType":"YulIdentifier","src":"267503:6:21"},"nativeSrc":"267503:16:21","nodeType":"YulFunctionCall","src":"267503:16:21"},"nativeSrc":"267503:16:21","nodeType":"YulExpressionStatement","src":"267503:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267539:4:21","nodeType":"YulLiteral","src":"267539:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"267545:2:21","nodeType":"YulIdentifier","src":"267545:2:21"}],"functionName":{"name":"mstore","nativeSrc":"267532:6:21","nodeType":"YulIdentifier","src":"267532:6:21"},"nativeSrc":"267532:16:21","nodeType":"YulFunctionCall","src":"267532:16:21"},"nativeSrc":"267532:16:21","nodeType":"YulExpressionStatement","src":"267532:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267568:4:21","nodeType":"YulLiteral","src":"267568:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"267574:2:21","nodeType":"YulIdentifier","src":"267574:2:21"}],"functionName":{"name":"mstore","nativeSrc":"267561:6:21","nodeType":"YulIdentifier","src":"267561:6:21"},"nativeSrc":"267561:16:21","nodeType":"YulFunctionCall","src":"267561:16:21"},"nativeSrc":"267561:16:21","nodeType":"YulExpressionStatement","src":"267561:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35362,"isOffset":false,"isSlot":false,"src":"267226:2:21","valueSize":1},{"declaration":35365,"isOffset":false,"isSlot":false,"src":"267256:2:21","valueSize":1},{"declaration":35368,"isOffset":false,"isSlot":false,"src":"267286:2:21","valueSize":1},{"declaration":35371,"isOffset":false,"isSlot":false,"src":"267316:2:21","valueSize":1},{"declaration":35374,"isOffset":false,"isSlot":false,"src":"267346:2:21","valueSize":1},{"declaration":35352,"isOffset":false,"isSlot":false,"src":"267487:2:21","valueSize":1},{"declaration":35354,"isOffset":false,"isSlot":false,"src":"267516:2:21","valueSize":1},{"declaration":35356,"isOffset":false,"isSlot":false,"src":"267545:2:21","valueSize":1},{"declaration":35358,"isOffset":false,"isSlot":false,"src":"267574:2:21","valueSize":1}],"id":35376,"nodeType":"InlineAssembly","src":"267203:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"267612:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"267618:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"267596:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"267596:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35381,"nodeType":"ExpressionStatement","src":"267596:27:21"},{"AST":{"nativeSrc":"267685:156:21","nodeType":"YulBlock","src":"267685:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"267706:4:21","nodeType":"YulLiteral","src":"267706:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"267712:2:21","nodeType":"YulIdentifier","src":"267712:2:21"}],"functionName":{"name":"mstore","nativeSrc":"267699:6:21","nodeType":"YulIdentifier","src":"267699:6:21"},"nativeSrc":"267699:16:21","nodeType":"YulFunctionCall","src":"267699:16:21"},"nativeSrc":"267699:16:21","nodeType":"YulExpressionStatement","src":"267699:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267735:4:21","nodeType":"YulLiteral","src":"267735:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"267741:2:21","nodeType":"YulIdentifier","src":"267741:2:21"}],"functionName":{"name":"mstore","nativeSrc":"267728:6:21","nodeType":"YulIdentifier","src":"267728:6:21"},"nativeSrc":"267728:16:21","nodeType":"YulFunctionCall","src":"267728:16:21"},"nativeSrc":"267728:16:21","nodeType":"YulExpressionStatement","src":"267728:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267764:4:21","nodeType":"YulLiteral","src":"267764:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"267770:2:21","nodeType":"YulIdentifier","src":"267770:2:21"}],"functionName":{"name":"mstore","nativeSrc":"267757:6:21","nodeType":"YulIdentifier","src":"267757:6:21"},"nativeSrc":"267757:16:21","nodeType":"YulFunctionCall","src":"267757:16:21"},"nativeSrc":"267757:16:21","nodeType":"YulExpressionStatement","src":"267757:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267793:4:21","nodeType":"YulLiteral","src":"267793:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"267799:2:21","nodeType":"YulIdentifier","src":"267799:2:21"}],"functionName":{"name":"mstore","nativeSrc":"267786:6:21","nodeType":"YulIdentifier","src":"267786:6:21"},"nativeSrc":"267786:16:21","nodeType":"YulFunctionCall","src":"267786:16:21"},"nativeSrc":"267786:16:21","nodeType":"YulExpressionStatement","src":"267786:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267822:4:21","nodeType":"YulLiteral","src":"267822:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"267828:2:21","nodeType":"YulIdentifier","src":"267828:2:21"}],"functionName":{"name":"mstore","nativeSrc":"267815:6:21","nodeType":"YulIdentifier","src":"267815:6:21"},"nativeSrc":"267815:16:21","nodeType":"YulFunctionCall","src":"267815:16:21"},"nativeSrc":"267815:16:21","nodeType":"YulExpressionStatement","src":"267815:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35362,"isOffset":false,"isSlot":false,"src":"267712:2:21","valueSize":1},{"declaration":35365,"isOffset":false,"isSlot":false,"src":"267741:2:21","valueSize":1},{"declaration":35368,"isOffset":false,"isSlot":false,"src":"267770:2:21","valueSize":1},{"declaration":35371,"isOffset":false,"isSlot":false,"src":"267799:2:21","valueSize":1},{"declaration":35374,"isOffset":false,"isSlot":false,"src":"267828:2:21","valueSize":1}],"id":35382,"nodeType":"InlineAssembly","src":"267676:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"266990:3:21","parameters":{"id":35359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35352,"mutability":"mutable","name":"p0","nameLocation":"267002:2:21","nodeType":"VariableDeclaration","scope":35384,"src":"266994:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35351,"name":"uint256","nodeType":"ElementaryTypeName","src":"266994:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35354,"mutability":"mutable","name":"p1","nameLocation":"267011:2:21","nodeType":"VariableDeclaration","scope":35384,"src":"267006:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35353,"name":"bool","nodeType":"ElementaryTypeName","src":"267006:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35356,"mutability":"mutable","name":"p2","nameLocation":"267023:2:21","nodeType":"VariableDeclaration","scope":35384,"src":"267015:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35355,"name":"address","nodeType":"ElementaryTypeName","src":"267015:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35358,"mutability":"mutable","name":"p3","nameLocation":"267032:2:21","nodeType":"VariableDeclaration","scope":35384,"src":"267027:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35357,"name":"bool","nodeType":"ElementaryTypeName","src":"267027:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"266993:42:21"},"returnParameters":{"id":35360,"nodeType":"ParameterList","parameters":[],"src":"267050:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35418,"nodeType":"FunctionDefinition","src":"267853:872:21","nodes":[],"body":{"id":35417,"nodeType":"Block","src":"267925:800:21","nodes":[],"statements":[{"assignments":[35396],"declarations":[{"constant":false,"id":35396,"mutability":"mutable","name":"m0","nameLocation":"267943:2:21","nodeType":"VariableDeclaration","scope":35417,"src":"267935:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267935:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35397,"nodeType":"VariableDeclarationStatement","src":"267935:10:21"},{"assignments":[35399],"declarations":[{"constant":false,"id":35399,"mutability":"mutable","name":"m1","nameLocation":"267963:2:21","nodeType":"VariableDeclaration","scope":35417,"src":"267955:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35398,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267955:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35400,"nodeType":"VariableDeclarationStatement","src":"267955:10:21"},{"assignments":[35402],"declarations":[{"constant":false,"id":35402,"mutability":"mutable","name":"m2","nameLocation":"267983:2:21","nodeType":"VariableDeclaration","scope":35417,"src":"267975:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267975:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35403,"nodeType":"VariableDeclarationStatement","src":"267975:10:21"},{"assignments":[35405],"declarations":[{"constant":false,"id":35405,"mutability":"mutable","name":"m3","nameLocation":"268003:2:21","nodeType":"VariableDeclaration","scope":35417,"src":"267995:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267995:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35406,"nodeType":"VariableDeclarationStatement","src":"267995:10:21"},{"assignments":[35408],"declarations":[{"constant":false,"id":35408,"mutability":"mutable","name":"m4","nameLocation":"268023:2:21","nodeType":"VariableDeclaration","scope":35417,"src":"268015:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35407,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268015:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35409,"nodeType":"VariableDeclarationStatement","src":"268015:10:21"},{"AST":{"nativeSrc":"268087:378:21","nodeType":"YulBlock","src":"268087:378:21","statements":[{"nativeSrc":"268101:17:21","nodeType":"YulAssignment","src":"268101:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"268113:4:21","nodeType":"YulLiteral","src":"268113:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"268107:5:21","nodeType":"YulIdentifier","src":"268107:5:21"},"nativeSrc":"268107:11:21","nodeType":"YulFunctionCall","src":"268107:11:21"},"variableNames":[{"name":"m0","nativeSrc":"268101:2:21","nodeType":"YulIdentifier","src":"268101:2:21"}]},{"nativeSrc":"268131:17:21","nodeType":"YulAssignment","src":"268131:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"268143:4:21","nodeType":"YulLiteral","src":"268143:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"268137:5:21","nodeType":"YulIdentifier","src":"268137:5:21"},"nativeSrc":"268137:11:21","nodeType":"YulFunctionCall","src":"268137:11:21"},"variableNames":[{"name":"m1","nativeSrc":"268131:2:21","nodeType":"YulIdentifier","src":"268131:2:21"}]},{"nativeSrc":"268161:17:21","nodeType":"YulAssignment","src":"268161:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"268173:4:21","nodeType":"YulLiteral","src":"268173:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"268167:5:21","nodeType":"YulIdentifier","src":"268167:5:21"},"nativeSrc":"268167:11:21","nodeType":"YulFunctionCall","src":"268167:11:21"},"variableNames":[{"name":"m2","nativeSrc":"268161:2:21","nodeType":"YulIdentifier","src":"268161:2:21"}]},{"nativeSrc":"268191:17:21","nodeType":"YulAssignment","src":"268191:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"268203:4:21","nodeType":"YulLiteral","src":"268203:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"268197:5:21","nodeType":"YulIdentifier","src":"268197:5:21"},"nativeSrc":"268197:11:21","nodeType":"YulFunctionCall","src":"268197:11:21"},"variableNames":[{"name":"m3","nativeSrc":"268191:2:21","nodeType":"YulIdentifier","src":"268191:2:21"}]},{"nativeSrc":"268221:17:21","nodeType":"YulAssignment","src":"268221:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"268233:4:21","nodeType":"YulLiteral","src":"268233:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"268227:5:21","nodeType":"YulIdentifier","src":"268227:5:21"},"nativeSrc":"268227:11:21","nodeType":"YulFunctionCall","src":"268227:11:21"},"variableNames":[{"name":"m4","nativeSrc":"268221:2:21","nodeType":"YulIdentifier","src":"268221:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268322:4:21","nodeType":"YulLiteral","src":"268322:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"268328:10:21","nodeType":"YulLiteral","src":"268328:10:21","type":"","value":"0x078287f5"}],"functionName":{"name":"mstore","nativeSrc":"268315:6:21","nodeType":"YulIdentifier","src":"268315:6:21"},"nativeSrc":"268315:24:21","nodeType":"YulFunctionCall","src":"268315:24:21"},"nativeSrc":"268315:24:21","nodeType":"YulExpressionStatement","src":"268315:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268359:4:21","nodeType":"YulLiteral","src":"268359:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"268365:2:21","nodeType":"YulIdentifier","src":"268365:2:21"}],"functionName":{"name":"mstore","nativeSrc":"268352:6:21","nodeType":"YulIdentifier","src":"268352:6:21"},"nativeSrc":"268352:16:21","nodeType":"YulFunctionCall","src":"268352:16:21"},"nativeSrc":"268352:16:21","nodeType":"YulExpressionStatement","src":"268352:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268388:4:21","nodeType":"YulLiteral","src":"268388:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"268394:2:21","nodeType":"YulIdentifier","src":"268394:2:21"}],"functionName":{"name":"mstore","nativeSrc":"268381:6:21","nodeType":"YulIdentifier","src":"268381:6:21"},"nativeSrc":"268381:16:21","nodeType":"YulFunctionCall","src":"268381:16:21"},"nativeSrc":"268381:16:21","nodeType":"YulExpressionStatement","src":"268381:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268417:4:21","nodeType":"YulLiteral","src":"268417:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"268423:2:21","nodeType":"YulIdentifier","src":"268423:2:21"}],"functionName":{"name":"mstore","nativeSrc":"268410:6:21","nodeType":"YulIdentifier","src":"268410:6:21"},"nativeSrc":"268410:16:21","nodeType":"YulFunctionCall","src":"268410:16:21"},"nativeSrc":"268410:16:21","nodeType":"YulExpressionStatement","src":"268410:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268446:4:21","nodeType":"YulLiteral","src":"268446:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"268452:2:21","nodeType":"YulIdentifier","src":"268452:2:21"}],"functionName":{"name":"mstore","nativeSrc":"268439:6:21","nodeType":"YulIdentifier","src":"268439:6:21"},"nativeSrc":"268439:16:21","nodeType":"YulFunctionCall","src":"268439:16:21"},"nativeSrc":"268439:16:21","nodeType":"YulExpressionStatement","src":"268439:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35396,"isOffset":false,"isSlot":false,"src":"268101:2:21","valueSize":1},{"declaration":35399,"isOffset":false,"isSlot":false,"src":"268131:2:21","valueSize":1},{"declaration":35402,"isOffset":false,"isSlot":false,"src":"268161:2:21","valueSize":1},{"declaration":35405,"isOffset":false,"isSlot":false,"src":"268191:2:21","valueSize":1},{"declaration":35408,"isOffset":false,"isSlot":false,"src":"268221:2:21","valueSize":1},{"declaration":35386,"isOffset":false,"isSlot":false,"src":"268365:2:21","valueSize":1},{"declaration":35388,"isOffset":false,"isSlot":false,"src":"268394:2:21","valueSize":1},{"declaration":35390,"isOffset":false,"isSlot":false,"src":"268423:2:21","valueSize":1},{"declaration":35392,"isOffset":false,"isSlot":false,"src":"268452:2:21","valueSize":1}],"id":35410,"nodeType":"InlineAssembly","src":"268078:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"268490:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"268496:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35411,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"268474:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"268474:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35415,"nodeType":"ExpressionStatement","src":"268474:27:21"},{"AST":{"nativeSrc":"268563:156:21","nodeType":"YulBlock","src":"268563:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"268584:4:21","nodeType":"YulLiteral","src":"268584:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"268590:2:21","nodeType":"YulIdentifier","src":"268590:2:21"}],"functionName":{"name":"mstore","nativeSrc":"268577:6:21","nodeType":"YulIdentifier","src":"268577:6:21"},"nativeSrc":"268577:16:21","nodeType":"YulFunctionCall","src":"268577:16:21"},"nativeSrc":"268577:16:21","nodeType":"YulExpressionStatement","src":"268577:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268613:4:21","nodeType":"YulLiteral","src":"268613:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"268619:2:21","nodeType":"YulIdentifier","src":"268619:2:21"}],"functionName":{"name":"mstore","nativeSrc":"268606:6:21","nodeType":"YulIdentifier","src":"268606:6:21"},"nativeSrc":"268606:16:21","nodeType":"YulFunctionCall","src":"268606:16:21"},"nativeSrc":"268606:16:21","nodeType":"YulExpressionStatement","src":"268606:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268642:4:21","nodeType":"YulLiteral","src":"268642:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"268648:2:21","nodeType":"YulIdentifier","src":"268648:2:21"}],"functionName":{"name":"mstore","nativeSrc":"268635:6:21","nodeType":"YulIdentifier","src":"268635:6:21"},"nativeSrc":"268635:16:21","nodeType":"YulFunctionCall","src":"268635:16:21"},"nativeSrc":"268635:16:21","nodeType":"YulExpressionStatement","src":"268635:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268671:4:21","nodeType":"YulLiteral","src":"268671:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"268677:2:21","nodeType":"YulIdentifier","src":"268677:2:21"}],"functionName":{"name":"mstore","nativeSrc":"268664:6:21","nodeType":"YulIdentifier","src":"268664:6:21"},"nativeSrc":"268664:16:21","nodeType":"YulFunctionCall","src":"268664:16:21"},"nativeSrc":"268664:16:21","nodeType":"YulExpressionStatement","src":"268664:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268700:4:21","nodeType":"YulLiteral","src":"268700:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"268706:2:21","nodeType":"YulIdentifier","src":"268706:2:21"}],"functionName":{"name":"mstore","nativeSrc":"268693:6:21","nodeType":"YulIdentifier","src":"268693:6:21"},"nativeSrc":"268693:16:21","nodeType":"YulFunctionCall","src":"268693:16:21"},"nativeSrc":"268693:16:21","nodeType":"YulExpressionStatement","src":"268693:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35396,"isOffset":false,"isSlot":false,"src":"268590:2:21","valueSize":1},{"declaration":35399,"isOffset":false,"isSlot":false,"src":"268619:2:21","valueSize":1},{"declaration":35402,"isOffset":false,"isSlot":false,"src":"268648:2:21","valueSize":1},{"declaration":35405,"isOffset":false,"isSlot":false,"src":"268677:2:21","valueSize":1},{"declaration":35408,"isOffset":false,"isSlot":false,"src":"268706:2:21","valueSize":1}],"id":35416,"nodeType":"InlineAssembly","src":"268554:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"267862:3:21","parameters":{"id":35393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35386,"mutability":"mutable","name":"p0","nameLocation":"267874:2:21","nodeType":"VariableDeclaration","scope":35418,"src":"267866:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35385,"name":"uint256","nodeType":"ElementaryTypeName","src":"267866:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35388,"mutability":"mutable","name":"p1","nameLocation":"267883:2:21","nodeType":"VariableDeclaration","scope":35418,"src":"267878:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35387,"name":"bool","nodeType":"ElementaryTypeName","src":"267878:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35390,"mutability":"mutable","name":"p2","nameLocation":"267895:2:21","nodeType":"VariableDeclaration","scope":35418,"src":"267887:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35389,"name":"address","nodeType":"ElementaryTypeName","src":"267887:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35392,"mutability":"mutable","name":"p3","nameLocation":"267907:2:21","nodeType":"VariableDeclaration","scope":35418,"src":"267899:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35391,"name":"uint256","nodeType":"ElementaryTypeName","src":"267899:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"267865:45:21"},"returnParameters":{"id":35394,"nodeType":"ParameterList","parameters":[],"src":"267925:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35458,"nodeType":"FunctionDefinition","src":"268731:1420:21","nodes":[],"body":{"id":35457,"nodeType":"Block","src":"268803:1348:21","nodes":[],"statements":[{"assignments":[35430],"declarations":[{"constant":false,"id":35430,"mutability":"mutable","name":"m0","nameLocation":"268821:2:21","nodeType":"VariableDeclaration","scope":35457,"src":"268813:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268813:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35431,"nodeType":"VariableDeclarationStatement","src":"268813:10:21"},{"assignments":[35433],"declarations":[{"constant":false,"id":35433,"mutability":"mutable","name":"m1","nameLocation":"268841:2:21","nodeType":"VariableDeclaration","scope":35457,"src":"268833:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35432,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268833:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35434,"nodeType":"VariableDeclarationStatement","src":"268833:10:21"},{"assignments":[35436],"declarations":[{"constant":false,"id":35436,"mutability":"mutable","name":"m2","nameLocation":"268861:2:21","nodeType":"VariableDeclaration","scope":35457,"src":"268853:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35435,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268853:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35437,"nodeType":"VariableDeclarationStatement","src":"268853:10:21"},{"assignments":[35439],"declarations":[{"constant":false,"id":35439,"mutability":"mutable","name":"m3","nameLocation":"268881:2:21","nodeType":"VariableDeclaration","scope":35457,"src":"268873:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35438,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268873:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35440,"nodeType":"VariableDeclarationStatement","src":"268873:10:21"},{"assignments":[35442],"declarations":[{"constant":false,"id":35442,"mutability":"mutable","name":"m4","nameLocation":"268901:2:21","nodeType":"VariableDeclaration","scope":35457,"src":"268893:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35441,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268893:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35443,"nodeType":"VariableDeclarationStatement","src":"268893:10:21"},{"assignments":[35445],"declarations":[{"constant":false,"id":35445,"mutability":"mutable","name":"m5","nameLocation":"268921:2:21","nodeType":"VariableDeclaration","scope":35457,"src":"268913:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268913:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35446,"nodeType":"VariableDeclarationStatement","src":"268913:10:21"},{"assignments":[35448],"declarations":[{"constant":false,"id":35448,"mutability":"mutable","name":"m6","nameLocation":"268941:2:21","nodeType":"VariableDeclaration","scope":35457,"src":"268933:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268933:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35449,"nodeType":"VariableDeclarationStatement","src":"268933:10:21"},{"AST":{"nativeSrc":"269005:828:21","nodeType":"YulBlock","src":"269005:828:21","statements":[{"body":{"nativeSrc":"269048:313:21","nodeType":"YulBlock","src":"269048:313:21","statements":[{"nativeSrc":"269066:15:21","nodeType":"YulVariableDeclaration","src":"269066:15:21","value":{"kind":"number","nativeSrc":"269080:1:21","nodeType":"YulLiteral","src":"269080:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"269070:6:21","nodeType":"YulTypedName","src":"269070:6:21","type":""}]},{"body":{"nativeSrc":"269151:40:21","nodeType":"YulBlock","src":"269151:40:21","statements":[{"body":{"nativeSrc":"269180:9:21","nodeType":"YulBlock","src":"269180:9:21","statements":[{"nativeSrc":"269182:5:21","nodeType":"YulBreak","src":"269182:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"269168:6:21","nodeType":"YulIdentifier","src":"269168:6:21"},{"name":"w","nativeSrc":"269176:1:21","nodeType":"YulIdentifier","src":"269176:1:21"}],"functionName":{"name":"byte","nativeSrc":"269163:4:21","nodeType":"YulIdentifier","src":"269163:4:21"},"nativeSrc":"269163:15:21","nodeType":"YulFunctionCall","src":"269163:15:21"}],"functionName":{"name":"iszero","nativeSrc":"269156:6:21","nodeType":"YulIdentifier","src":"269156:6:21"},"nativeSrc":"269156:23:21","nodeType":"YulFunctionCall","src":"269156:23:21"},"nativeSrc":"269153:36:21","nodeType":"YulIf","src":"269153:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"269108:6:21","nodeType":"YulIdentifier","src":"269108:6:21"},{"kind":"number","nativeSrc":"269116:4:21","nodeType":"YulLiteral","src":"269116:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"269105:2:21","nodeType":"YulIdentifier","src":"269105:2:21"},"nativeSrc":"269105:16:21","nodeType":"YulFunctionCall","src":"269105:16:21"},"nativeSrc":"269098:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"269122:28:21","nodeType":"YulBlock","src":"269122:28:21","statements":[{"nativeSrc":"269124:24:21","nodeType":"YulAssignment","src":"269124:24:21","value":{"arguments":[{"name":"length","nativeSrc":"269138:6:21","nodeType":"YulIdentifier","src":"269138:6:21"},{"kind":"number","nativeSrc":"269146:1:21","nodeType":"YulLiteral","src":"269146:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"269134:3:21","nodeType":"YulIdentifier","src":"269134:3:21"},"nativeSrc":"269134:14:21","nodeType":"YulFunctionCall","src":"269134:14:21"},"variableNames":[{"name":"length","nativeSrc":"269124:6:21","nodeType":"YulIdentifier","src":"269124:6:21"}]}]},"pre":{"nativeSrc":"269102:2:21","nodeType":"YulBlock","src":"269102:2:21","statements":[]},"src":"269098:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"269215:3:21","nodeType":"YulIdentifier","src":"269215:3:21"},{"name":"length","nativeSrc":"269220:6:21","nodeType":"YulIdentifier","src":"269220:6:21"}],"functionName":{"name":"mstore","nativeSrc":"269208:6:21","nodeType":"YulIdentifier","src":"269208:6:21"},"nativeSrc":"269208:19:21","nodeType":"YulFunctionCall","src":"269208:19:21"},"nativeSrc":"269208:19:21","nodeType":"YulExpressionStatement","src":"269208:19:21"},{"nativeSrc":"269244:37:21","nodeType":"YulVariableDeclaration","src":"269244:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"269261:3:21","nodeType":"YulLiteral","src":"269261:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"269270:1:21","nodeType":"YulLiteral","src":"269270:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"269273:6:21","nodeType":"YulIdentifier","src":"269273:6:21"}],"functionName":{"name":"shl","nativeSrc":"269266:3:21","nodeType":"YulIdentifier","src":"269266:3:21"},"nativeSrc":"269266:14:21","nodeType":"YulFunctionCall","src":"269266:14:21"}],"functionName":{"name":"sub","nativeSrc":"269257:3:21","nodeType":"YulIdentifier","src":"269257:3:21"},"nativeSrc":"269257:24:21","nodeType":"YulFunctionCall","src":"269257:24:21"},"variables":[{"name":"shift","nativeSrc":"269248:5:21","nodeType":"YulTypedName","src":"269248:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"269309:3:21","nodeType":"YulIdentifier","src":"269309:3:21"},{"kind":"number","nativeSrc":"269314:4:21","nodeType":"YulLiteral","src":"269314:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"269305:3:21","nodeType":"YulIdentifier","src":"269305:3:21"},"nativeSrc":"269305:14:21","nodeType":"YulFunctionCall","src":"269305:14:21"},{"arguments":[{"name":"shift","nativeSrc":"269325:5:21","nodeType":"YulIdentifier","src":"269325:5:21"},{"arguments":[{"name":"shift","nativeSrc":"269336:5:21","nodeType":"YulIdentifier","src":"269336:5:21"},{"name":"w","nativeSrc":"269343:1:21","nodeType":"YulIdentifier","src":"269343:1:21"}],"functionName":{"name":"shr","nativeSrc":"269332:3:21","nodeType":"YulIdentifier","src":"269332:3:21"},"nativeSrc":"269332:13:21","nodeType":"YulFunctionCall","src":"269332:13:21"}],"functionName":{"name":"shl","nativeSrc":"269321:3:21","nodeType":"YulIdentifier","src":"269321:3:21"},"nativeSrc":"269321:25:21","nodeType":"YulFunctionCall","src":"269321:25:21"}],"functionName":{"name":"mstore","nativeSrc":"269298:6:21","nodeType":"YulIdentifier","src":"269298:6:21"},"nativeSrc":"269298:49:21","nodeType":"YulFunctionCall","src":"269298:49:21"},"nativeSrc":"269298:49:21","nodeType":"YulExpressionStatement","src":"269298:49:21"}]},"name":"writeString","nativeSrc":"269019:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"269040:3:21","nodeType":"YulTypedName","src":"269040:3:21","type":""},{"name":"w","nativeSrc":"269045:1:21","nodeType":"YulTypedName","src":"269045:1:21","type":""}],"src":"269019:342:21"},{"nativeSrc":"269374:17:21","nodeType":"YulAssignment","src":"269374:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"269386:4:21","nodeType":"YulLiteral","src":"269386:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"269380:5:21","nodeType":"YulIdentifier","src":"269380:5:21"},"nativeSrc":"269380:11:21","nodeType":"YulFunctionCall","src":"269380:11:21"},"variableNames":[{"name":"m0","nativeSrc":"269374:2:21","nodeType":"YulIdentifier","src":"269374:2:21"}]},{"nativeSrc":"269404:17:21","nodeType":"YulAssignment","src":"269404:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"269416:4:21","nodeType":"YulLiteral","src":"269416:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"269410:5:21","nodeType":"YulIdentifier","src":"269410:5:21"},"nativeSrc":"269410:11:21","nodeType":"YulFunctionCall","src":"269410:11:21"},"variableNames":[{"name":"m1","nativeSrc":"269404:2:21","nodeType":"YulIdentifier","src":"269404:2:21"}]},{"nativeSrc":"269434:17:21","nodeType":"YulAssignment","src":"269434:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"269446:4:21","nodeType":"YulLiteral","src":"269446:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"269440:5:21","nodeType":"YulIdentifier","src":"269440:5:21"},"nativeSrc":"269440:11:21","nodeType":"YulFunctionCall","src":"269440:11:21"},"variableNames":[{"name":"m2","nativeSrc":"269434:2:21","nodeType":"YulIdentifier","src":"269434:2:21"}]},{"nativeSrc":"269464:17:21","nodeType":"YulAssignment","src":"269464:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"269476:4:21","nodeType":"YulLiteral","src":"269476:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"269470:5:21","nodeType":"YulIdentifier","src":"269470:5:21"},"nativeSrc":"269470:11:21","nodeType":"YulFunctionCall","src":"269470:11:21"},"variableNames":[{"name":"m3","nativeSrc":"269464:2:21","nodeType":"YulIdentifier","src":"269464:2:21"}]},{"nativeSrc":"269494:17:21","nodeType":"YulAssignment","src":"269494:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"269506:4:21","nodeType":"YulLiteral","src":"269506:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"269500:5:21","nodeType":"YulIdentifier","src":"269500:5:21"},"nativeSrc":"269500:11:21","nodeType":"YulFunctionCall","src":"269500:11:21"},"variableNames":[{"name":"m4","nativeSrc":"269494:2:21","nodeType":"YulIdentifier","src":"269494:2:21"}]},{"nativeSrc":"269524:17:21","nodeType":"YulAssignment","src":"269524:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"269536:4:21","nodeType":"YulLiteral","src":"269536:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"269530:5:21","nodeType":"YulIdentifier","src":"269530:5:21"},"nativeSrc":"269530:11:21","nodeType":"YulFunctionCall","src":"269530:11:21"},"variableNames":[{"name":"m5","nativeSrc":"269524:2:21","nodeType":"YulIdentifier","src":"269524:2:21"}]},{"nativeSrc":"269554:17:21","nodeType":"YulAssignment","src":"269554:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"269566:4:21","nodeType":"YulLiteral","src":"269566:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"269560:5:21","nodeType":"YulIdentifier","src":"269560:5:21"},"nativeSrc":"269560:11:21","nodeType":"YulFunctionCall","src":"269560:11:21"},"variableNames":[{"name":"m6","nativeSrc":"269554:2:21","nodeType":"YulIdentifier","src":"269554:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269654:4:21","nodeType":"YulLiteral","src":"269654:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"269660:10:21","nodeType":"YulLiteral","src":"269660:10:21","type":"","value":"0xade052c7"}],"functionName":{"name":"mstore","nativeSrc":"269647:6:21","nodeType":"YulIdentifier","src":"269647:6:21"},"nativeSrc":"269647:24:21","nodeType":"YulFunctionCall","src":"269647:24:21"},"nativeSrc":"269647:24:21","nodeType":"YulExpressionStatement","src":"269647:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269691:4:21","nodeType":"YulLiteral","src":"269691:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"269697:2:21","nodeType":"YulIdentifier","src":"269697:2:21"}],"functionName":{"name":"mstore","nativeSrc":"269684:6:21","nodeType":"YulIdentifier","src":"269684:6:21"},"nativeSrc":"269684:16:21","nodeType":"YulFunctionCall","src":"269684:16:21"},"nativeSrc":"269684:16:21","nodeType":"YulExpressionStatement","src":"269684:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269720:4:21","nodeType":"YulLiteral","src":"269720:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"269726:2:21","nodeType":"YulIdentifier","src":"269726:2:21"}],"functionName":{"name":"mstore","nativeSrc":"269713:6:21","nodeType":"YulIdentifier","src":"269713:6:21"},"nativeSrc":"269713:16:21","nodeType":"YulFunctionCall","src":"269713:16:21"},"nativeSrc":"269713:16:21","nodeType":"YulExpressionStatement","src":"269713:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269749:4:21","nodeType":"YulLiteral","src":"269749:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"269755:2:21","nodeType":"YulIdentifier","src":"269755:2:21"}],"functionName":{"name":"mstore","nativeSrc":"269742:6:21","nodeType":"YulIdentifier","src":"269742:6:21"},"nativeSrc":"269742:16:21","nodeType":"YulFunctionCall","src":"269742:16:21"},"nativeSrc":"269742:16:21","nodeType":"YulExpressionStatement","src":"269742:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269778:4:21","nodeType":"YulLiteral","src":"269778:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"269784:4:21","nodeType":"YulLiteral","src":"269784:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"269771:6:21","nodeType":"YulIdentifier","src":"269771:6:21"},"nativeSrc":"269771:18:21","nodeType":"YulFunctionCall","src":"269771:18:21"},"nativeSrc":"269771:18:21","nodeType":"YulExpressionStatement","src":"269771:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269814:4:21","nodeType":"YulLiteral","src":"269814:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"269820:2:21","nodeType":"YulIdentifier","src":"269820:2:21"}],"functionName":{"name":"writeString","nativeSrc":"269802:11:21","nodeType":"YulIdentifier","src":"269802:11:21"},"nativeSrc":"269802:21:21","nodeType":"YulFunctionCall","src":"269802:21:21"},"nativeSrc":"269802:21:21","nodeType":"YulExpressionStatement","src":"269802:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35430,"isOffset":false,"isSlot":false,"src":"269374:2:21","valueSize":1},{"declaration":35433,"isOffset":false,"isSlot":false,"src":"269404:2:21","valueSize":1},{"declaration":35436,"isOffset":false,"isSlot":false,"src":"269434:2:21","valueSize":1},{"declaration":35439,"isOffset":false,"isSlot":false,"src":"269464:2:21","valueSize":1},{"declaration":35442,"isOffset":false,"isSlot":false,"src":"269494:2:21","valueSize":1},{"declaration":35445,"isOffset":false,"isSlot":false,"src":"269524:2:21","valueSize":1},{"declaration":35448,"isOffset":false,"isSlot":false,"src":"269554:2:21","valueSize":1},{"declaration":35420,"isOffset":false,"isSlot":false,"src":"269697:2:21","valueSize":1},{"declaration":35422,"isOffset":false,"isSlot":false,"src":"269726:2:21","valueSize":1},{"declaration":35424,"isOffset":false,"isSlot":false,"src":"269755:2:21","valueSize":1},{"declaration":35426,"isOffset":false,"isSlot":false,"src":"269820:2:21","valueSize":1}],"id":35450,"nodeType":"InlineAssembly","src":"268996:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"269858:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"269864:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35451,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"269842:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"269842:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35455,"nodeType":"ExpressionStatement","src":"269842:27:21"},{"AST":{"nativeSrc":"269931:214:21","nodeType":"YulBlock","src":"269931:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"269952:4:21","nodeType":"YulLiteral","src":"269952:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"269958:2:21","nodeType":"YulIdentifier","src":"269958:2:21"}],"functionName":{"name":"mstore","nativeSrc":"269945:6:21","nodeType":"YulIdentifier","src":"269945:6:21"},"nativeSrc":"269945:16:21","nodeType":"YulFunctionCall","src":"269945:16:21"},"nativeSrc":"269945:16:21","nodeType":"YulExpressionStatement","src":"269945:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269981:4:21","nodeType":"YulLiteral","src":"269981:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"269987:2:21","nodeType":"YulIdentifier","src":"269987:2:21"}],"functionName":{"name":"mstore","nativeSrc":"269974:6:21","nodeType":"YulIdentifier","src":"269974:6:21"},"nativeSrc":"269974:16:21","nodeType":"YulFunctionCall","src":"269974:16:21"},"nativeSrc":"269974:16:21","nodeType":"YulExpressionStatement","src":"269974:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270010:4:21","nodeType":"YulLiteral","src":"270010:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"270016:2:21","nodeType":"YulIdentifier","src":"270016:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270003:6:21","nodeType":"YulIdentifier","src":"270003:6:21"},"nativeSrc":"270003:16:21","nodeType":"YulFunctionCall","src":"270003:16:21"},"nativeSrc":"270003:16:21","nodeType":"YulExpressionStatement","src":"270003:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270039:4:21","nodeType":"YulLiteral","src":"270039:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"270045:2:21","nodeType":"YulIdentifier","src":"270045:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270032:6:21","nodeType":"YulIdentifier","src":"270032:6:21"},"nativeSrc":"270032:16:21","nodeType":"YulFunctionCall","src":"270032:16:21"},"nativeSrc":"270032:16:21","nodeType":"YulExpressionStatement","src":"270032:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270068:4:21","nodeType":"YulLiteral","src":"270068:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"270074:2:21","nodeType":"YulIdentifier","src":"270074:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270061:6:21","nodeType":"YulIdentifier","src":"270061:6:21"},"nativeSrc":"270061:16:21","nodeType":"YulFunctionCall","src":"270061:16:21"},"nativeSrc":"270061:16:21","nodeType":"YulExpressionStatement","src":"270061:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270097:4:21","nodeType":"YulLiteral","src":"270097:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"270103:2:21","nodeType":"YulIdentifier","src":"270103:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270090:6:21","nodeType":"YulIdentifier","src":"270090:6:21"},"nativeSrc":"270090:16:21","nodeType":"YulFunctionCall","src":"270090:16:21"},"nativeSrc":"270090:16:21","nodeType":"YulExpressionStatement","src":"270090:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270126:4:21","nodeType":"YulLiteral","src":"270126:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"270132:2:21","nodeType":"YulIdentifier","src":"270132:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270119:6:21","nodeType":"YulIdentifier","src":"270119:6:21"},"nativeSrc":"270119:16:21","nodeType":"YulFunctionCall","src":"270119:16:21"},"nativeSrc":"270119:16:21","nodeType":"YulExpressionStatement","src":"270119:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35430,"isOffset":false,"isSlot":false,"src":"269958:2:21","valueSize":1},{"declaration":35433,"isOffset":false,"isSlot":false,"src":"269987:2:21","valueSize":1},{"declaration":35436,"isOffset":false,"isSlot":false,"src":"270016:2:21","valueSize":1},{"declaration":35439,"isOffset":false,"isSlot":false,"src":"270045:2:21","valueSize":1},{"declaration":35442,"isOffset":false,"isSlot":false,"src":"270074:2:21","valueSize":1},{"declaration":35445,"isOffset":false,"isSlot":false,"src":"270103:2:21","valueSize":1},{"declaration":35448,"isOffset":false,"isSlot":false,"src":"270132:2:21","valueSize":1}],"id":35456,"nodeType":"InlineAssembly","src":"269922:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"268740:3:21","parameters":{"id":35427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35420,"mutability":"mutable","name":"p0","nameLocation":"268752:2:21","nodeType":"VariableDeclaration","scope":35458,"src":"268744:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35419,"name":"uint256","nodeType":"ElementaryTypeName","src":"268744:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35422,"mutability":"mutable","name":"p1","nameLocation":"268761:2:21","nodeType":"VariableDeclaration","scope":35458,"src":"268756:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35421,"name":"bool","nodeType":"ElementaryTypeName","src":"268756:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35424,"mutability":"mutable","name":"p2","nameLocation":"268773:2:21","nodeType":"VariableDeclaration","scope":35458,"src":"268765:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35423,"name":"address","nodeType":"ElementaryTypeName","src":"268765:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35426,"mutability":"mutable","name":"p3","nameLocation":"268785:2:21","nodeType":"VariableDeclaration","scope":35458,"src":"268777:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268777:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"268743:45:21"},"returnParameters":{"id":35428,"nodeType":"ParameterList","parameters":[],"src":"268803:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35492,"nodeType":"FunctionDefinition","src":"270157:866:21","nodes":[],"body":{"id":35491,"nodeType":"Block","src":"270226:797:21","nodes":[],"statements":[{"assignments":[35470],"declarations":[{"constant":false,"id":35470,"mutability":"mutable","name":"m0","nameLocation":"270244:2:21","nodeType":"VariableDeclaration","scope":35491,"src":"270236:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270236:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35471,"nodeType":"VariableDeclarationStatement","src":"270236:10:21"},{"assignments":[35473],"declarations":[{"constant":false,"id":35473,"mutability":"mutable","name":"m1","nameLocation":"270264:2:21","nodeType":"VariableDeclaration","scope":35491,"src":"270256:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270256:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35474,"nodeType":"VariableDeclarationStatement","src":"270256:10:21"},{"assignments":[35476],"declarations":[{"constant":false,"id":35476,"mutability":"mutable","name":"m2","nameLocation":"270284:2:21","nodeType":"VariableDeclaration","scope":35491,"src":"270276:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270276:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35477,"nodeType":"VariableDeclarationStatement","src":"270276:10:21"},{"assignments":[35479],"declarations":[{"constant":false,"id":35479,"mutability":"mutable","name":"m3","nameLocation":"270304:2:21","nodeType":"VariableDeclaration","scope":35491,"src":"270296:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270296:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35480,"nodeType":"VariableDeclarationStatement","src":"270296:10:21"},{"assignments":[35482],"declarations":[{"constant":false,"id":35482,"mutability":"mutable","name":"m4","nameLocation":"270324:2:21","nodeType":"VariableDeclaration","scope":35491,"src":"270316:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270316:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35483,"nodeType":"VariableDeclarationStatement","src":"270316:10:21"},{"AST":{"nativeSrc":"270388:375:21","nodeType":"YulBlock","src":"270388:375:21","statements":[{"nativeSrc":"270402:17:21","nodeType":"YulAssignment","src":"270402:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"270414:4:21","nodeType":"YulLiteral","src":"270414:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"270408:5:21","nodeType":"YulIdentifier","src":"270408:5:21"},"nativeSrc":"270408:11:21","nodeType":"YulFunctionCall","src":"270408:11:21"},"variableNames":[{"name":"m0","nativeSrc":"270402:2:21","nodeType":"YulIdentifier","src":"270402:2:21"}]},{"nativeSrc":"270432:17:21","nodeType":"YulAssignment","src":"270432:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"270444:4:21","nodeType":"YulLiteral","src":"270444:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"270438:5:21","nodeType":"YulIdentifier","src":"270438:5:21"},"nativeSrc":"270438:11:21","nodeType":"YulFunctionCall","src":"270438:11:21"},"variableNames":[{"name":"m1","nativeSrc":"270432:2:21","nodeType":"YulIdentifier","src":"270432:2:21"}]},{"nativeSrc":"270462:17:21","nodeType":"YulAssignment","src":"270462:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"270474:4:21","nodeType":"YulLiteral","src":"270474:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"270468:5:21","nodeType":"YulIdentifier","src":"270468:5:21"},"nativeSrc":"270468:11:21","nodeType":"YulFunctionCall","src":"270468:11:21"},"variableNames":[{"name":"m2","nativeSrc":"270462:2:21","nodeType":"YulIdentifier","src":"270462:2:21"}]},{"nativeSrc":"270492:17:21","nodeType":"YulAssignment","src":"270492:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"270504:4:21","nodeType":"YulLiteral","src":"270504:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"270498:5:21","nodeType":"YulIdentifier","src":"270498:5:21"},"nativeSrc":"270498:11:21","nodeType":"YulFunctionCall","src":"270498:11:21"},"variableNames":[{"name":"m3","nativeSrc":"270492:2:21","nodeType":"YulIdentifier","src":"270492:2:21"}]},{"nativeSrc":"270522:17:21","nodeType":"YulAssignment","src":"270522:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"270534:4:21","nodeType":"YulLiteral","src":"270534:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"270528:5:21","nodeType":"YulIdentifier","src":"270528:5:21"},"nativeSrc":"270528:11:21","nodeType":"YulFunctionCall","src":"270528:11:21"},"variableNames":[{"name":"m4","nativeSrc":"270522:2:21","nodeType":"YulIdentifier","src":"270522:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270620:4:21","nodeType":"YulLiteral","src":"270620:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"270626:10:21","nodeType":"YulLiteral","src":"270626:10:21","type":"","value":"0x69640b59"}],"functionName":{"name":"mstore","nativeSrc":"270613:6:21","nodeType":"YulIdentifier","src":"270613:6:21"},"nativeSrc":"270613:24:21","nodeType":"YulFunctionCall","src":"270613:24:21"},"nativeSrc":"270613:24:21","nodeType":"YulExpressionStatement","src":"270613:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270657:4:21","nodeType":"YulLiteral","src":"270657:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"270663:2:21","nodeType":"YulIdentifier","src":"270663:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270650:6:21","nodeType":"YulIdentifier","src":"270650:6:21"},"nativeSrc":"270650:16:21","nodeType":"YulFunctionCall","src":"270650:16:21"},"nativeSrc":"270650:16:21","nodeType":"YulExpressionStatement","src":"270650:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270686:4:21","nodeType":"YulLiteral","src":"270686:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"270692:2:21","nodeType":"YulIdentifier","src":"270692:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270679:6:21","nodeType":"YulIdentifier","src":"270679:6:21"},"nativeSrc":"270679:16:21","nodeType":"YulFunctionCall","src":"270679:16:21"},"nativeSrc":"270679:16:21","nodeType":"YulExpressionStatement","src":"270679:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270715:4:21","nodeType":"YulLiteral","src":"270715:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"270721:2:21","nodeType":"YulIdentifier","src":"270721:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270708:6:21","nodeType":"YulIdentifier","src":"270708:6:21"},"nativeSrc":"270708:16:21","nodeType":"YulFunctionCall","src":"270708:16:21"},"nativeSrc":"270708:16:21","nodeType":"YulExpressionStatement","src":"270708:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270744:4:21","nodeType":"YulLiteral","src":"270744:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"270750:2:21","nodeType":"YulIdentifier","src":"270750:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270737:6:21","nodeType":"YulIdentifier","src":"270737:6:21"},"nativeSrc":"270737:16:21","nodeType":"YulFunctionCall","src":"270737:16:21"},"nativeSrc":"270737:16:21","nodeType":"YulExpressionStatement","src":"270737:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35470,"isOffset":false,"isSlot":false,"src":"270402:2:21","valueSize":1},{"declaration":35473,"isOffset":false,"isSlot":false,"src":"270432:2:21","valueSize":1},{"declaration":35476,"isOffset":false,"isSlot":false,"src":"270462:2:21","valueSize":1},{"declaration":35479,"isOffset":false,"isSlot":false,"src":"270492:2:21","valueSize":1},{"declaration":35482,"isOffset":false,"isSlot":false,"src":"270522:2:21","valueSize":1},{"declaration":35460,"isOffset":false,"isSlot":false,"src":"270663:2:21","valueSize":1},{"declaration":35462,"isOffset":false,"isSlot":false,"src":"270692:2:21","valueSize":1},{"declaration":35464,"isOffset":false,"isSlot":false,"src":"270721:2:21","valueSize":1},{"declaration":35466,"isOffset":false,"isSlot":false,"src":"270750:2:21","valueSize":1}],"id":35484,"nodeType":"InlineAssembly","src":"270379:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"270788:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"270794:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35485,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"270772:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"270772:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35489,"nodeType":"ExpressionStatement","src":"270772:27:21"},{"AST":{"nativeSrc":"270861:156:21","nodeType":"YulBlock","src":"270861:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"270882:4:21","nodeType":"YulLiteral","src":"270882:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"270888:2:21","nodeType":"YulIdentifier","src":"270888:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270875:6:21","nodeType":"YulIdentifier","src":"270875:6:21"},"nativeSrc":"270875:16:21","nodeType":"YulFunctionCall","src":"270875:16:21"},"nativeSrc":"270875:16:21","nodeType":"YulExpressionStatement","src":"270875:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270911:4:21","nodeType":"YulLiteral","src":"270911:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"270917:2:21","nodeType":"YulIdentifier","src":"270917:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270904:6:21","nodeType":"YulIdentifier","src":"270904:6:21"},"nativeSrc":"270904:16:21","nodeType":"YulFunctionCall","src":"270904:16:21"},"nativeSrc":"270904:16:21","nodeType":"YulExpressionStatement","src":"270904:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270940:4:21","nodeType":"YulLiteral","src":"270940:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"270946:2:21","nodeType":"YulIdentifier","src":"270946:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270933:6:21","nodeType":"YulIdentifier","src":"270933:6:21"},"nativeSrc":"270933:16:21","nodeType":"YulFunctionCall","src":"270933:16:21"},"nativeSrc":"270933:16:21","nodeType":"YulExpressionStatement","src":"270933:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270969:4:21","nodeType":"YulLiteral","src":"270969:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"270975:2:21","nodeType":"YulIdentifier","src":"270975:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270962:6:21","nodeType":"YulIdentifier","src":"270962:6:21"},"nativeSrc":"270962:16:21","nodeType":"YulFunctionCall","src":"270962:16:21"},"nativeSrc":"270962:16:21","nodeType":"YulExpressionStatement","src":"270962:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270998:4:21","nodeType":"YulLiteral","src":"270998:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"271004:2:21","nodeType":"YulIdentifier","src":"271004:2:21"}],"functionName":{"name":"mstore","nativeSrc":"270991:6:21","nodeType":"YulIdentifier","src":"270991:6:21"},"nativeSrc":"270991:16:21","nodeType":"YulFunctionCall","src":"270991:16:21"},"nativeSrc":"270991:16:21","nodeType":"YulExpressionStatement","src":"270991:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35470,"isOffset":false,"isSlot":false,"src":"270888:2:21","valueSize":1},{"declaration":35473,"isOffset":false,"isSlot":false,"src":"270917:2:21","valueSize":1},{"declaration":35476,"isOffset":false,"isSlot":false,"src":"270946:2:21","valueSize":1},{"declaration":35479,"isOffset":false,"isSlot":false,"src":"270975:2:21","valueSize":1},{"declaration":35482,"isOffset":false,"isSlot":false,"src":"271004:2:21","valueSize":1}],"id":35490,"nodeType":"InlineAssembly","src":"270852:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"270166:3:21","parameters":{"id":35467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35460,"mutability":"mutable","name":"p0","nameLocation":"270178:2:21","nodeType":"VariableDeclaration","scope":35492,"src":"270170:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35459,"name":"uint256","nodeType":"ElementaryTypeName","src":"270170:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35462,"mutability":"mutable","name":"p1","nameLocation":"270187:2:21","nodeType":"VariableDeclaration","scope":35492,"src":"270182:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35461,"name":"bool","nodeType":"ElementaryTypeName","src":"270182:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35464,"mutability":"mutable","name":"p2","nameLocation":"270196:2:21","nodeType":"VariableDeclaration","scope":35492,"src":"270191:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35463,"name":"bool","nodeType":"ElementaryTypeName","src":"270191:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35466,"mutability":"mutable","name":"p3","nameLocation":"270208:2:21","nodeType":"VariableDeclaration","scope":35492,"src":"270200:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35465,"name":"address","nodeType":"ElementaryTypeName","src":"270200:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"270169:42:21"},"returnParameters":{"id":35468,"nodeType":"ParameterList","parameters":[],"src":"270226:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35526,"nodeType":"FunctionDefinition","src":"271029:860:21","nodes":[],"body":{"id":35525,"nodeType":"Block","src":"271095:794:21","nodes":[],"statements":[{"assignments":[35504],"declarations":[{"constant":false,"id":35504,"mutability":"mutable","name":"m0","nameLocation":"271113:2:21","nodeType":"VariableDeclaration","scope":35525,"src":"271105:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271105:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35505,"nodeType":"VariableDeclarationStatement","src":"271105:10:21"},{"assignments":[35507],"declarations":[{"constant":false,"id":35507,"mutability":"mutable","name":"m1","nameLocation":"271133:2:21","nodeType":"VariableDeclaration","scope":35525,"src":"271125:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271125:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35508,"nodeType":"VariableDeclarationStatement","src":"271125:10:21"},{"assignments":[35510],"declarations":[{"constant":false,"id":35510,"mutability":"mutable","name":"m2","nameLocation":"271153:2:21","nodeType":"VariableDeclaration","scope":35525,"src":"271145:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35509,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271145:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35511,"nodeType":"VariableDeclarationStatement","src":"271145:10:21"},{"assignments":[35513],"declarations":[{"constant":false,"id":35513,"mutability":"mutable","name":"m3","nameLocation":"271173:2:21","nodeType":"VariableDeclaration","scope":35525,"src":"271165:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35512,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271165:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35514,"nodeType":"VariableDeclarationStatement","src":"271165:10:21"},{"assignments":[35516],"declarations":[{"constant":false,"id":35516,"mutability":"mutable","name":"m4","nameLocation":"271193:2:21","nodeType":"VariableDeclaration","scope":35525,"src":"271185:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271185:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35517,"nodeType":"VariableDeclarationStatement","src":"271185:10:21"},{"AST":{"nativeSrc":"271257:372:21","nodeType":"YulBlock","src":"271257:372:21","statements":[{"nativeSrc":"271271:17:21","nodeType":"YulAssignment","src":"271271:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"271283:4:21","nodeType":"YulLiteral","src":"271283:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"271277:5:21","nodeType":"YulIdentifier","src":"271277:5:21"},"nativeSrc":"271277:11:21","nodeType":"YulFunctionCall","src":"271277:11:21"},"variableNames":[{"name":"m0","nativeSrc":"271271:2:21","nodeType":"YulIdentifier","src":"271271:2:21"}]},{"nativeSrc":"271301:17:21","nodeType":"YulAssignment","src":"271301:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"271313:4:21","nodeType":"YulLiteral","src":"271313:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"271307:5:21","nodeType":"YulIdentifier","src":"271307:5:21"},"nativeSrc":"271307:11:21","nodeType":"YulFunctionCall","src":"271307:11:21"},"variableNames":[{"name":"m1","nativeSrc":"271301:2:21","nodeType":"YulIdentifier","src":"271301:2:21"}]},{"nativeSrc":"271331:17:21","nodeType":"YulAssignment","src":"271331:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"271343:4:21","nodeType":"YulLiteral","src":"271343:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"271337:5:21","nodeType":"YulIdentifier","src":"271337:5:21"},"nativeSrc":"271337:11:21","nodeType":"YulFunctionCall","src":"271337:11:21"},"variableNames":[{"name":"m2","nativeSrc":"271331:2:21","nodeType":"YulIdentifier","src":"271331:2:21"}]},{"nativeSrc":"271361:17:21","nodeType":"YulAssignment","src":"271361:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"271373:4:21","nodeType":"YulLiteral","src":"271373:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"271367:5:21","nodeType":"YulIdentifier","src":"271367:5:21"},"nativeSrc":"271367:11:21","nodeType":"YulFunctionCall","src":"271367:11:21"},"variableNames":[{"name":"m3","nativeSrc":"271361:2:21","nodeType":"YulIdentifier","src":"271361:2:21"}]},{"nativeSrc":"271391:17:21","nodeType":"YulAssignment","src":"271391:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"271403:4:21","nodeType":"YulLiteral","src":"271403:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"271397:5:21","nodeType":"YulIdentifier","src":"271397:5:21"},"nativeSrc":"271397:11:21","nodeType":"YulFunctionCall","src":"271397:11:21"},"variableNames":[{"name":"m4","nativeSrc":"271391:2:21","nodeType":"YulIdentifier","src":"271391:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271486:4:21","nodeType":"YulLiteral","src":"271486:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"271492:10:21","nodeType":"YulLiteral","src":"271492:10:21","type":"","value":"0xb6f577a1"}],"functionName":{"name":"mstore","nativeSrc":"271479:6:21","nodeType":"YulIdentifier","src":"271479:6:21"},"nativeSrc":"271479:24:21","nodeType":"YulFunctionCall","src":"271479:24:21"},"nativeSrc":"271479:24:21","nodeType":"YulExpressionStatement","src":"271479:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271523:4:21","nodeType":"YulLiteral","src":"271523:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"271529:2:21","nodeType":"YulIdentifier","src":"271529:2:21"}],"functionName":{"name":"mstore","nativeSrc":"271516:6:21","nodeType":"YulIdentifier","src":"271516:6:21"},"nativeSrc":"271516:16:21","nodeType":"YulFunctionCall","src":"271516:16:21"},"nativeSrc":"271516:16:21","nodeType":"YulExpressionStatement","src":"271516:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271552:4:21","nodeType":"YulLiteral","src":"271552:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"271558:2:21","nodeType":"YulIdentifier","src":"271558:2:21"}],"functionName":{"name":"mstore","nativeSrc":"271545:6:21","nodeType":"YulIdentifier","src":"271545:6:21"},"nativeSrc":"271545:16:21","nodeType":"YulFunctionCall","src":"271545:16:21"},"nativeSrc":"271545:16:21","nodeType":"YulExpressionStatement","src":"271545:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271581:4:21","nodeType":"YulLiteral","src":"271581:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"271587:2:21","nodeType":"YulIdentifier","src":"271587:2:21"}],"functionName":{"name":"mstore","nativeSrc":"271574:6:21","nodeType":"YulIdentifier","src":"271574:6:21"},"nativeSrc":"271574:16:21","nodeType":"YulFunctionCall","src":"271574:16:21"},"nativeSrc":"271574:16:21","nodeType":"YulExpressionStatement","src":"271574:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271610:4:21","nodeType":"YulLiteral","src":"271610:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"271616:2:21","nodeType":"YulIdentifier","src":"271616:2:21"}],"functionName":{"name":"mstore","nativeSrc":"271603:6:21","nodeType":"YulIdentifier","src":"271603:6:21"},"nativeSrc":"271603:16:21","nodeType":"YulFunctionCall","src":"271603:16:21"},"nativeSrc":"271603:16:21","nodeType":"YulExpressionStatement","src":"271603:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35504,"isOffset":false,"isSlot":false,"src":"271271:2:21","valueSize":1},{"declaration":35507,"isOffset":false,"isSlot":false,"src":"271301:2:21","valueSize":1},{"declaration":35510,"isOffset":false,"isSlot":false,"src":"271331:2:21","valueSize":1},{"declaration":35513,"isOffset":false,"isSlot":false,"src":"271361:2:21","valueSize":1},{"declaration":35516,"isOffset":false,"isSlot":false,"src":"271391:2:21","valueSize":1},{"declaration":35494,"isOffset":false,"isSlot":false,"src":"271529:2:21","valueSize":1},{"declaration":35496,"isOffset":false,"isSlot":false,"src":"271558:2:21","valueSize":1},{"declaration":35498,"isOffset":false,"isSlot":false,"src":"271587:2:21","valueSize":1},{"declaration":35500,"isOffset":false,"isSlot":false,"src":"271616:2:21","valueSize":1}],"id":35518,"nodeType":"InlineAssembly","src":"271248:381:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"271654:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"271660:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35519,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"271638:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"271638:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35523,"nodeType":"ExpressionStatement","src":"271638:27:21"},{"AST":{"nativeSrc":"271727:156:21","nodeType":"YulBlock","src":"271727:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"271748:4:21","nodeType":"YulLiteral","src":"271748:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"271754:2:21","nodeType":"YulIdentifier","src":"271754:2:21"}],"functionName":{"name":"mstore","nativeSrc":"271741:6:21","nodeType":"YulIdentifier","src":"271741:6:21"},"nativeSrc":"271741:16:21","nodeType":"YulFunctionCall","src":"271741:16:21"},"nativeSrc":"271741:16:21","nodeType":"YulExpressionStatement","src":"271741:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271777:4:21","nodeType":"YulLiteral","src":"271777:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"271783:2:21","nodeType":"YulIdentifier","src":"271783:2:21"}],"functionName":{"name":"mstore","nativeSrc":"271770:6:21","nodeType":"YulIdentifier","src":"271770:6:21"},"nativeSrc":"271770:16:21","nodeType":"YulFunctionCall","src":"271770:16:21"},"nativeSrc":"271770:16:21","nodeType":"YulExpressionStatement","src":"271770:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271806:4:21","nodeType":"YulLiteral","src":"271806:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"271812:2:21","nodeType":"YulIdentifier","src":"271812:2:21"}],"functionName":{"name":"mstore","nativeSrc":"271799:6:21","nodeType":"YulIdentifier","src":"271799:6:21"},"nativeSrc":"271799:16:21","nodeType":"YulFunctionCall","src":"271799:16:21"},"nativeSrc":"271799:16:21","nodeType":"YulExpressionStatement","src":"271799:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271835:4:21","nodeType":"YulLiteral","src":"271835:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"271841:2:21","nodeType":"YulIdentifier","src":"271841:2:21"}],"functionName":{"name":"mstore","nativeSrc":"271828:6:21","nodeType":"YulIdentifier","src":"271828:6:21"},"nativeSrc":"271828:16:21","nodeType":"YulFunctionCall","src":"271828:16:21"},"nativeSrc":"271828:16:21","nodeType":"YulExpressionStatement","src":"271828:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271864:4:21","nodeType":"YulLiteral","src":"271864:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"271870:2:21","nodeType":"YulIdentifier","src":"271870:2:21"}],"functionName":{"name":"mstore","nativeSrc":"271857:6:21","nodeType":"YulIdentifier","src":"271857:6:21"},"nativeSrc":"271857:16:21","nodeType":"YulFunctionCall","src":"271857:16:21"},"nativeSrc":"271857:16:21","nodeType":"YulExpressionStatement","src":"271857:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35504,"isOffset":false,"isSlot":false,"src":"271754:2:21","valueSize":1},{"declaration":35507,"isOffset":false,"isSlot":false,"src":"271783:2:21","valueSize":1},{"declaration":35510,"isOffset":false,"isSlot":false,"src":"271812:2:21","valueSize":1},{"declaration":35513,"isOffset":false,"isSlot":false,"src":"271841:2:21","valueSize":1},{"declaration":35516,"isOffset":false,"isSlot":false,"src":"271870:2:21","valueSize":1}],"id":35524,"nodeType":"InlineAssembly","src":"271718:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"271038:3:21","parameters":{"id":35501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35494,"mutability":"mutable","name":"p0","nameLocation":"271050:2:21","nodeType":"VariableDeclaration","scope":35526,"src":"271042:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35493,"name":"uint256","nodeType":"ElementaryTypeName","src":"271042:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35496,"mutability":"mutable","name":"p1","nameLocation":"271059:2:21","nodeType":"VariableDeclaration","scope":35526,"src":"271054:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35495,"name":"bool","nodeType":"ElementaryTypeName","src":"271054:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35498,"mutability":"mutable","name":"p2","nameLocation":"271068:2:21","nodeType":"VariableDeclaration","scope":35526,"src":"271063:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35497,"name":"bool","nodeType":"ElementaryTypeName","src":"271063:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35500,"mutability":"mutable","name":"p3","nameLocation":"271077:2:21","nodeType":"VariableDeclaration","scope":35526,"src":"271072:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35499,"name":"bool","nodeType":"ElementaryTypeName","src":"271072:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"271041:39:21"},"returnParameters":{"id":35502,"nodeType":"ParameterList","parameters":[],"src":"271095:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35560,"nodeType":"FunctionDefinition","src":"271895:866:21","nodes":[],"body":{"id":35559,"nodeType":"Block","src":"271964:797:21","nodes":[],"statements":[{"assignments":[35538],"declarations":[{"constant":false,"id":35538,"mutability":"mutable","name":"m0","nameLocation":"271982:2:21","nodeType":"VariableDeclaration","scope":35559,"src":"271974:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271974:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35539,"nodeType":"VariableDeclarationStatement","src":"271974:10:21"},{"assignments":[35541],"declarations":[{"constant":false,"id":35541,"mutability":"mutable","name":"m1","nameLocation":"272002:2:21","nodeType":"VariableDeclaration","scope":35559,"src":"271994:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271994:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35542,"nodeType":"VariableDeclarationStatement","src":"271994:10:21"},{"assignments":[35544],"declarations":[{"constant":false,"id":35544,"mutability":"mutable","name":"m2","nameLocation":"272022:2:21","nodeType":"VariableDeclaration","scope":35559,"src":"272014:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35543,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272014:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35545,"nodeType":"VariableDeclarationStatement","src":"272014:10:21"},{"assignments":[35547],"declarations":[{"constant":false,"id":35547,"mutability":"mutable","name":"m3","nameLocation":"272042:2:21","nodeType":"VariableDeclaration","scope":35559,"src":"272034:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35546,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272034:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35548,"nodeType":"VariableDeclarationStatement","src":"272034:10:21"},{"assignments":[35550],"declarations":[{"constant":false,"id":35550,"mutability":"mutable","name":"m4","nameLocation":"272062:2:21","nodeType":"VariableDeclaration","scope":35559,"src":"272054:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35549,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272054:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35551,"nodeType":"VariableDeclarationStatement","src":"272054:10:21"},{"AST":{"nativeSrc":"272126:375:21","nodeType":"YulBlock","src":"272126:375:21","statements":[{"nativeSrc":"272140:17:21","nodeType":"YulAssignment","src":"272140:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"272152:4:21","nodeType":"YulLiteral","src":"272152:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"272146:5:21","nodeType":"YulIdentifier","src":"272146:5:21"},"nativeSrc":"272146:11:21","nodeType":"YulFunctionCall","src":"272146:11:21"},"variableNames":[{"name":"m0","nativeSrc":"272140:2:21","nodeType":"YulIdentifier","src":"272140:2:21"}]},{"nativeSrc":"272170:17:21","nodeType":"YulAssignment","src":"272170:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"272182:4:21","nodeType":"YulLiteral","src":"272182:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"272176:5:21","nodeType":"YulIdentifier","src":"272176:5:21"},"nativeSrc":"272176:11:21","nodeType":"YulFunctionCall","src":"272176:11:21"},"variableNames":[{"name":"m1","nativeSrc":"272170:2:21","nodeType":"YulIdentifier","src":"272170:2:21"}]},{"nativeSrc":"272200:17:21","nodeType":"YulAssignment","src":"272200:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"272212:4:21","nodeType":"YulLiteral","src":"272212:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"272206:5:21","nodeType":"YulIdentifier","src":"272206:5:21"},"nativeSrc":"272206:11:21","nodeType":"YulFunctionCall","src":"272206:11:21"},"variableNames":[{"name":"m2","nativeSrc":"272200:2:21","nodeType":"YulIdentifier","src":"272200:2:21"}]},{"nativeSrc":"272230:17:21","nodeType":"YulAssignment","src":"272230:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"272242:4:21","nodeType":"YulLiteral","src":"272242:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"272236:5:21","nodeType":"YulIdentifier","src":"272236:5:21"},"nativeSrc":"272236:11:21","nodeType":"YulFunctionCall","src":"272236:11:21"},"variableNames":[{"name":"m3","nativeSrc":"272230:2:21","nodeType":"YulIdentifier","src":"272230:2:21"}]},{"nativeSrc":"272260:17:21","nodeType":"YulAssignment","src":"272260:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"272272:4:21","nodeType":"YulLiteral","src":"272272:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"272266:5:21","nodeType":"YulIdentifier","src":"272266:5:21"},"nativeSrc":"272266:11:21","nodeType":"YulFunctionCall","src":"272266:11:21"},"variableNames":[{"name":"m4","nativeSrc":"272260:2:21","nodeType":"YulIdentifier","src":"272260:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272358:4:21","nodeType":"YulLiteral","src":"272358:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"272364:10:21","nodeType":"YulLiteral","src":"272364:10:21","type":"","value":"0x7464ce23"}],"functionName":{"name":"mstore","nativeSrc":"272351:6:21","nodeType":"YulIdentifier","src":"272351:6:21"},"nativeSrc":"272351:24:21","nodeType":"YulFunctionCall","src":"272351:24:21"},"nativeSrc":"272351:24:21","nodeType":"YulExpressionStatement","src":"272351:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272395:4:21","nodeType":"YulLiteral","src":"272395:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"272401:2:21","nodeType":"YulIdentifier","src":"272401:2:21"}],"functionName":{"name":"mstore","nativeSrc":"272388:6:21","nodeType":"YulIdentifier","src":"272388:6:21"},"nativeSrc":"272388:16:21","nodeType":"YulFunctionCall","src":"272388:16:21"},"nativeSrc":"272388:16:21","nodeType":"YulExpressionStatement","src":"272388:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272424:4:21","nodeType":"YulLiteral","src":"272424:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"272430:2:21","nodeType":"YulIdentifier","src":"272430:2:21"}],"functionName":{"name":"mstore","nativeSrc":"272417:6:21","nodeType":"YulIdentifier","src":"272417:6:21"},"nativeSrc":"272417:16:21","nodeType":"YulFunctionCall","src":"272417:16:21"},"nativeSrc":"272417:16:21","nodeType":"YulExpressionStatement","src":"272417:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272453:4:21","nodeType":"YulLiteral","src":"272453:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"272459:2:21","nodeType":"YulIdentifier","src":"272459:2:21"}],"functionName":{"name":"mstore","nativeSrc":"272446:6:21","nodeType":"YulIdentifier","src":"272446:6:21"},"nativeSrc":"272446:16:21","nodeType":"YulFunctionCall","src":"272446:16:21"},"nativeSrc":"272446:16:21","nodeType":"YulExpressionStatement","src":"272446:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272482:4:21","nodeType":"YulLiteral","src":"272482:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"272488:2:21","nodeType":"YulIdentifier","src":"272488:2:21"}],"functionName":{"name":"mstore","nativeSrc":"272475:6:21","nodeType":"YulIdentifier","src":"272475:6:21"},"nativeSrc":"272475:16:21","nodeType":"YulFunctionCall","src":"272475:16:21"},"nativeSrc":"272475:16:21","nodeType":"YulExpressionStatement","src":"272475:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35538,"isOffset":false,"isSlot":false,"src":"272140:2:21","valueSize":1},{"declaration":35541,"isOffset":false,"isSlot":false,"src":"272170:2:21","valueSize":1},{"declaration":35544,"isOffset":false,"isSlot":false,"src":"272200:2:21","valueSize":1},{"declaration":35547,"isOffset":false,"isSlot":false,"src":"272230:2:21","valueSize":1},{"declaration":35550,"isOffset":false,"isSlot":false,"src":"272260:2:21","valueSize":1},{"declaration":35528,"isOffset":false,"isSlot":false,"src":"272401:2:21","valueSize":1},{"declaration":35530,"isOffset":false,"isSlot":false,"src":"272430:2:21","valueSize":1},{"declaration":35532,"isOffset":false,"isSlot":false,"src":"272459:2:21","valueSize":1},{"declaration":35534,"isOffset":false,"isSlot":false,"src":"272488:2:21","valueSize":1}],"id":35552,"nodeType":"InlineAssembly","src":"272117:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"272526:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"272532:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35553,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"272510:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"272510:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35557,"nodeType":"ExpressionStatement","src":"272510:27:21"},{"AST":{"nativeSrc":"272599:156:21","nodeType":"YulBlock","src":"272599:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"272620:4:21","nodeType":"YulLiteral","src":"272620:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"272626:2:21","nodeType":"YulIdentifier","src":"272626:2:21"}],"functionName":{"name":"mstore","nativeSrc":"272613:6:21","nodeType":"YulIdentifier","src":"272613:6:21"},"nativeSrc":"272613:16:21","nodeType":"YulFunctionCall","src":"272613:16:21"},"nativeSrc":"272613:16:21","nodeType":"YulExpressionStatement","src":"272613:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272649:4:21","nodeType":"YulLiteral","src":"272649:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"272655:2:21","nodeType":"YulIdentifier","src":"272655:2:21"}],"functionName":{"name":"mstore","nativeSrc":"272642:6:21","nodeType":"YulIdentifier","src":"272642:6:21"},"nativeSrc":"272642:16:21","nodeType":"YulFunctionCall","src":"272642:16:21"},"nativeSrc":"272642:16:21","nodeType":"YulExpressionStatement","src":"272642:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272678:4:21","nodeType":"YulLiteral","src":"272678:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"272684:2:21","nodeType":"YulIdentifier","src":"272684:2:21"}],"functionName":{"name":"mstore","nativeSrc":"272671:6:21","nodeType":"YulIdentifier","src":"272671:6:21"},"nativeSrc":"272671:16:21","nodeType":"YulFunctionCall","src":"272671:16:21"},"nativeSrc":"272671:16:21","nodeType":"YulExpressionStatement","src":"272671:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272707:4:21","nodeType":"YulLiteral","src":"272707:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"272713:2:21","nodeType":"YulIdentifier","src":"272713:2:21"}],"functionName":{"name":"mstore","nativeSrc":"272700:6:21","nodeType":"YulIdentifier","src":"272700:6:21"},"nativeSrc":"272700:16:21","nodeType":"YulFunctionCall","src":"272700:16:21"},"nativeSrc":"272700:16:21","nodeType":"YulExpressionStatement","src":"272700:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272736:4:21","nodeType":"YulLiteral","src":"272736:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"272742:2:21","nodeType":"YulIdentifier","src":"272742:2:21"}],"functionName":{"name":"mstore","nativeSrc":"272729:6:21","nodeType":"YulIdentifier","src":"272729:6:21"},"nativeSrc":"272729:16:21","nodeType":"YulFunctionCall","src":"272729:16:21"},"nativeSrc":"272729:16:21","nodeType":"YulExpressionStatement","src":"272729:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35538,"isOffset":false,"isSlot":false,"src":"272626:2:21","valueSize":1},{"declaration":35541,"isOffset":false,"isSlot":false,"src":"272655:2:21","valueSize":1},{"declaration":35544,"isOffset":false,"isSlot":false,"src":"272684:2:21","valueSize":1},{"declaration":35547,"isOffset":false,"isSlot":false,"src":"272713:2:21","valueSize":1},{"declaration":35550,"isOffset":false,"isSlot":false,"src":"272742:2:21","valueSize":1}],"id":35558,"nodeType":"InlineAssembly","src":"272590:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"271904:3:21","parameters":{"id":35535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35528,"mutability":"mutable","name":"p0","nameLocation":"271916:2:21","nodeType":"VariableDeclaration","scope":35560,"src":"271908:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35527,"name":"uint256","nodeType":"ElementaryTypeName","src":"271908:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35530,"mutability":"mutable","name":"p1","nameLocation":"271925:2:21","nodeType":"VariableDeclaration","scope":35560,"src":"271920:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35529,"name":"bool","nodeType":"ElementaryTypeName","src":"271920:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35532,"mutability":"mutable","name":"p2","nameLocation":"271934:2:21","nodeType":"VariableDeclaration","scope":35560,"src":"271929:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35531,"name":"bool","nodeType":"ElementaryTypeName","src":"271929:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35534,"mutability":"mutable","name":"p3","nameLocation":"271946:2:21","nodeType":"VariableDeclaration","scope":35560,"src":"271938:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35533,"name":"uint256","nodeType":"ElementaryTypeName","src":"271938:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"271907:42:21"},"returnParameters":{"id":35536,"nodeType":"ParameterList","parameters":[],"src":"271964:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35600,"nodeType":"FunctionDefinition","src":"272767:1414:21","nodes":[],"body":{"id":35599,"nodeType":"Block","src":"272836:1345:21","nodes":[],"statements":[{"assignments":[35572],"declarations":[{"constant":false,"id":35572,"mutability":"mutable","name":"m0","nameLocation":"272854:2:21","nodeType":"VariableDeclaration","scope":35599,"src":"272846:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272846:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35573,"nodeType":"VariableDeclarationStatement","src":"272846:10:21"},{"assignments":[35575],"declarations":[{"constant":false,"id":35575,"mutability":"mutable","name":"m1","nameLocation":"272874:2:21","nodeType":"VariableDeclaration","scope":35599,"src":"272866:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272866:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35576,"nodeType":"VariableDeclarationStatement","src":"272866:10:21"},{"assignments":[35578],"declarations":[{"constant":false,"id":35578,"mutability":"mutable","name":"m2","nameLocation":"272894:2:21","nodeType":"VariableDeclaration","scope":35599,"src":"272886:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272886:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35579,"nodeType":"VariableDeclarationStatement","src":"272886:10:21"},{"assignments":[35581],"declarations":[{"constant":false,"id":35581,"mutability":"mutable","name":"m3","nameLocation":"272914:2:21","nodeType":"VariableDeclaration","scope":35599,"src":"272906:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272906:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35582,"nodeType":"VariableDeclarationStatement","src":"272906:10:21"},{"assignments":[35584],"declarations":[{"constant":false,"id":35584,"mutability":"mutable","name":"m4","nameLocation":"272934:2:21","nodeType":"VariableDeclaration","scope":35599,"src":"272926:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272926:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35585,"nodeType":"VariableDeclarationStatement","src":"272926:10:21"},{"assignments":[35587],"declarations":[{"constant":false,"id":35587,"mutability":"mutable","name":"m5","nameLocation":"272954:2:21","nodeType":"VariableDeclaration","scope":35599,"src":"272946:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272946:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35588,"nodeType":"VariableDeclarationStatement","src":"272946:10:21"},{"assignments":[35590],"declarations":[{"constant":false,"id":35590,"mutability":"mutable","name":"m6","nameLocation":"272974:2:21","nodeType":"VariableDeclaration","scope":35599,"src":"272966:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272966:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35591,"nodeType":"VariableDeclarationStatement","src":"272966:10:21"},{"AST":{"nativeSrc":"273038:825:21","nodeType":"YulBlock","src":"273038:825:21","statements":[{"body":{"nativeSrc":"273081:313:21","nodeType":"YulBlock","src":"273081:313:21","statements":[{"nativeSrc":"273099:15:21","nodeType":"YulVariableDeclaration","src":"273099:15:21","value":{"kind":"number","nativeSrc":"273113:1:21","nodeType":"YulLiteral","src":"273113:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"273103:6:21","nodeType":"YulTypedName","src":"273103:6:21","type":""}]},{"body":{"nativeSrc":"273184:40:21","nodeType":"YulBlock","src":"273184:40:21","statements":[{"body":{"nativeSrc":"273213:9:21","nodeType":"YulBlock","src":"273213:9:21","statements":[{"nativeSrc":"273215:5:21","nodeType":"YulBreak","src":"273215:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"273201:6:21","nodeType":"YulIdentifier","src":"273201:6:21"},{"name":"w","nativeSrc":"273209:1:21","nodeType":"YulIdentifier","src":"273209:1:21"}],"functionName":{"name":"byte","nativeSrc":"273196:4:21","nodeType":"YulIdentifier","src":"273196:4:21"},"nativeSrc":"273196:15:21","nodeType":"YulFunctionCall","src":"273196:15:21"}],"functionName":{"name":"iszero","nativeSrc":"273189:6:21","nodeType":"YulIdentifier","src":"273189:6:21"},"nativeSrc":"273189:23:21","nodeType":"YulFunctionCall","src":"273189:23:21"},"nativeSrc":"273186:36:21","nodeType":"YulIf","src":"273186:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"273141:6:21","nodeType":"YulIdentifier","src":"273141:6:21"},{"kind":"number","nativeSrc":"273149:4:21","nodeType":"YulLiteral","src":"273149:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"273138:2:21","nodeType":"YulIdentifier","src":"273138:2:21"},"nativeSrc":"273138:16:21","nodeType":"YulFunctionCall","src":"273138:16:21"},"nativeSrc":"273131:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"273155:28:21","nodeType":"YulBlock","src":"273155:28:21","statements":[{"nativeSrc":"273157:24:21","nodeType":"YulAssignment","src":"273157:24:21","value":{"arguments":[{"name":"length","nativeSrc":"273171:6:21","nodeType":"YulIdentifier","src":"273171:6:21"},{"kind":"number","nativeSrc":"273179:1:21","nodeType":"YulLiteral","src":"273179:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"273167:3:21","nodeType":"YulIdentifier","src":"273167:3:21"},"nativeSrc":"273167:14:21","nodeType":"YulFunctionCall","src":"273167:14:21"},"variableNames":[{"name":"length","nativeSrc":"273157:6:21","nodeType":"YulIdentifier","src":"273157:6:21"}]}]},"pre":{"nativeSrc":"273135:2:21","nodeType":"YulBlock","src":"273135:2:21","statements":[]},"src":"273131:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"273248:3:21","nodeType":"YulIdentifier","src":"273248:3:21"},{"name":"length","nativeSrc":"273253:6:21","nodeType":"YulIdentifier","src":"273253:6:21"}],"functionName":{"name":"mstore","nativeSrc":"273241:6:21","nodeType":"YulIdentifier","src":"273241:6:21"},"nativeSrc":"273241:19:21","nodeType":"YulFunctionCall","src":"273241:19:21"},"nativeSrc":"273241:19:21","nodeType":"YulExpressionStatement","src":"273241:19:21"},{"nativeSrc":"273277:37:21","nodeType":"YulVariableDeclaration","src":"273277:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"273294:3:21","nodeType":"YulLiteral","src":"273294:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"273303:1:21","nodeType":"YulLiteral","src":"273303:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"273306:6:21","nodeType":"YulIdentifier","src":"273306:6:21"}],"functionName":{"name":"shl","nativeSrc":"273299:3:21","nodeType":"YulIdentifier","src":"273299:3:21"},"nativeSrc":"273299:14:21","nodeType":"YulFunctionCall","src":"273299:14:21"}],"functionName":{"name":"sub","nativeSrc":"273290:3:21","nodeType":"YulIdentifier","src":"273290:3:21"},"nativeSrc":"273290:24:21","nodeType":"YulFunctionCall","src":"273290:24:21"},"variables":[{"name":"shift","nativeSrc":"273281:5:21","nodeType":"YulTypedName","src":"273281:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"273342:3:21","nodeType":"YulIdentifier","src":"273342:3:21"},{"kind":"number","nativeSrc":"273347:4:21","nodeType":"YulLiteral","src":"273347:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"273338:3:21","nodeType":"YulIdentifier","src":"273338:3:21"},"nativeSrc":"273338:14:21","nodeType":"YulFunctionCall","src":"273338:14:21"},{"arguments":[{"name":"shift","nativeSrc":"273358:5:21","nodeType":"YulIdentifier","src":"273358:5:21"},{"arguments":[{"name":"shift","nativeSrc":"273369:5:21","nodeType":"YulIdentifier","src":"273369:5:21"},{"name":"w","nativeSrc":"273376:1:21","nodeType":"YulIdentifier","src":"273376:1:21"}],"functionName":{"name":"shr","nativeSrc":"273365:3:21","nodeType":"YulIdentifier","src":"273365:3:21"},"nativeSrc":"273365:13:21","nodeType":"YulFunctionCall","src":"273365:13:21"}],"functionName":{"name":"shl","nativeSrc":"273354:3:21","nodeType":"YulIdentifier","src":"273354:3:21"},"nativeSrc":"273354:25:21","nodeType":"YulFunctionCall","src":"273354:25:21"}],"functionName":{"name":"mstore","nativeSrc":"273331:6:21","nodeType":"YulIdentifier","src":"273331:6:21"},"nativeSrc":"273331:49:21","nodeType":"YulFunctionCall","src":"273331:49:21"},"nativeSrc":"273331:49:21","nodeType":"YulExpressionStatement","src":"273331:49:21"}]},"name":"writeString","nativeSrc":"273052:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"273073:3:21","nodeType":"YulTypedName","src":"273073:3:21","type":""},{"name":"w","nativeSrc":"273078:1:21","nodeType":"YulTypedName","src":"273078:1:21","type":""}],"src":"273052:342:21"},{"nativeSrc":"273407:17:21","nodeType":"YulAssignment","src":"273407:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"273419:4:21","nodeType":"YulLiteral","src":"273419:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"273413:5:21","nodeType":"YulIdentifier","src":"273413:5:21"},"nativeSrc":"273413:11:21","nodeType":"YulFunctionCall","src":"273413:11:21"},"variableNames":[{"name":"m0","nativeSrc":"273407:2:21","nodeType":"YulIdentifier","src":"273407:2:21"}]},{"nativeSrc":"273437:17:21","nodeType":"YulAssignment","src":"273437:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"273449:4:21","nodeType":"YulLiteral","src":"273449:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"273443:5:21","nodeType":"YulIdentifier","src":"273443:5:21"},"nativeSrc":"273443:11:21","nodeType":"YulFunctionCall","src":"273443:11:21"},"variableNames":[{"name":"m1","nativeSrc":"273437:2:21","nodeType":"YulIdentifier","src":"273437:2:21"}]},{"nativeSrc":"273467:17:21","nodeType":"YulAssignment","src":"273467:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"273479:4:21","nodeType":"YulLiteral","src":"273479:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"273473:5:21","nodeType":"YulIdentifier","src":"273473:5:21"},"nativeSrc":"273473:11:21","nodeType":"YulFunctionCall","src":"273473:11:21"},"variableNames":[{"name":"m2","nativeSrc":"273467:2:21","nodeType":"YulIdentifier","src":"273467:2:21"}]},{"nativeSrc":"273497:17:21","nodeType":"YulAssignment","src":"273497:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"273509:4:21","nodeType":"YulLiteral","src":"273509:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"273503:5:21","nodeType":"YulIdentifier","src":"273503:5:21"},"nativeSrc":"273503:11:21","nodeType":"YulFunctionCall","src":"273503:11:21"},"variableNames":[{"name":"m3","nativeSrc":"273497:2:21","nodeType":"YulIdentifier","src":"273497:2:21"}]},{"nativeSrc":"273527:17:21","nodeType":"YulAssignment","src":"273527:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"273539:4:21","nodeType":"YulLiteral","src":"273539:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"273533:5:21","nodeType":"YulIdentifier","src":"273533:5:21"},"nativeSrc":"273533:11:21","nodeType":"YulFunctionCall","src":"273533:11:21"},"variableNames":[{"name":"m4","nativeSrc":"273527:2:21","nodeType":"YulIdentifier","src":"273527:2:21"}]},{"nativeSrc":"273557:17:21","nodeType":"YulAssignment","src":"273557:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"273569:4:21","nodeType":"YulLiteral","src":"273569:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"273563:5:21","nodeType":"YulIdentifier","src":"273563:5:21"},"nativeSrc":"273563:11:21","nodeType":"YulFunctionCall","src":"273563:11:21"},"variableNames":[{"name":"m5","nativeSrc":"273557:2:21","nodeType":"YulIdentifier","src":"273557:2:21"}]},{"nativeSrc":"273587:17:21","nodeType":"YulAssignment","src":"273587:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"273599:4:21","nodeType":"YulLiteral","src":"273599:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"273593:5:21","nodeType":"YulIdentifier","src":"273593:5:21"},"nativeSrc":"273593:11:21","nodeType":"YulFunctionCall","src":"273593:11:21"},"variableNames":[{"name":"m6","nativeSrc":"273587:2:21","nodeType":"YulIdentifier","src":"273587:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273684:4:21","nodeType":"YulLiteral","src":"273684:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"273690:10:21","nodeType":"YulLiteral","src":"273690:10:21","type":"","value":"0xdddb9561"}],"functionName":{"name":"mstore","nativeSrc":"273677:6:21","nodeType":"YulIdentifier","src":"273677:6:21"},"nativeSrc":"273677:24:21","nodeType":"YulFunctionCall","src":"273677:24:21"},"nativeSrc":"273677:24:21","nodeType":"YulExpressionStatement","src":"273677:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273721:4:21","nodeType":"YulLiteral","src":"273721:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"273727:2:21","nodeType":"YulIdentifier","src":"273727:2:21"}],"functionName":{"name":"mstore","nativeSrc":"273714:6:21","nodeType":"YulIdentifier","src":"273714:6:21"},"nativeSrc":"273714:16:21","nodeType":"YulFunctionCall","src":"273714:16:21"},"nativeSrc":"273714:16:21","nodeType":"YulExpressionStatement","src":"273714:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273750:4:21","nodeType":"YulLiteral","src":"273750:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"273756:2:21","nodeType":"YulIdentifier","src":"273756:2:21"}],"functionName":{"name":"mstore","nativeSrc":"273743:6:21","nodeType":"YulIdentifier","src":"273743:6:21"},"nativeSrc":"273743:16:21","nodeType":"YulFunctionCall","src":"273743:16:21"},"nativeSrc":"273743:16:21","nodeType":"YulExpressionStatement","src":"273743:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273779:4:21","nodeType":"YulLiteral","src":"273779:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"273785:2:21","nodeType":"YulIdentifier","src":"273785:2:21"}],"functionName":{"name":"mstore","nativeSrc":"273772:6:21","nodeType":"YulIdentifier","src":"273772:6:21"},"nativeSrc":"273772:16:21","nodeType":"YulFunctionCall","src":"273772:16:21"},"nativeSrc":"273772:16:21","nodeType":"YulExpressionStatement","src":"273772:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273808:4:21","nodeType":"YulLiteral","src":"273808:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"273814:4:21","nodeType":"YulLiteral","src":"273814:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"273801:6:21","nodeType":"YulIdentifier","src":"273801:6:21"},"nativeSrc":"273801:18:21","nodeType":"YulFunctionCall","src":"273801:18:21"},"nativeSrc":"273801:18:21","nodeType":"YulExpressionStatement","src":"273801:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273844:4:21","nodeType":"YulLiteral","src":"273844:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"273850:2:21","nodeType":"YulIdentifier","src":"273850:2:21"}],"functionName":{"name":"writeString","nativeSrc":"273832:11:21","nodeType":"YulIdentifier","src":"273832:11:21"},"nativeSrc":"273832:21:21","nodeType":"YulFunctionCall","src":"273832:21:21"},"nativeSrc":"273832:21:21","nodeType":"YulExpressionStatement","src":"273832:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35572,"isOffset":false,"isSlot":false,"src":"273407:2:21","valueSize":1},{"declaration":35575,"isOffset":false,"isSlot":false,"src":"273437:2:21","valueSize":1},{"declaration":35578,"isOffset":false,"isSlot":false,"src":"273467:2:21","valueSize":1},{"declaration":35581,"isOffset":false,"isSlot":false,"src":"273497:2:21","valueSize":1},{"declaration":35584,"isOffset":false,"isSlot":false,"src":"273527:2:21","valueSize":1},{"declaration":35587,"isOffset":false,"isSlot":false,"src":"273557:2:21","valueSize":1},{"declaration":35590,"isOffset":false,"isSlot":false,"src":"273587:2:21","valueSize":1},{"declaration":35562,"isOffset":false,"isSlot":false,"src":"273727:2:21","valueSize":1},{"declaration":35564,"isOffset":false,"isSlot":false,"src":"273756:2:21","valueSize":1},{"declaration":35566,"isOffset":false,"isSlot":false,"src":"273785:2:21","valueSize":1},{"declaration":35568,"isOffset":false,"isSlot":false,"src":"273850:2:21","valueSize":1}],"id":35592,"nodeType":"InlineAssembly","src":"273029:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"273888:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"273894:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35593,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"273872:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"273872:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35597,"nodeType":"ExpressionStatement","src":"273872:27:21"},{"AST":{"nativeSrc":"273961:214:21","nodeType":"YulBlock","src":"273961:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"273982:4:21","nodeType":"YulLiteral","src":"273982:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"273988:2:21","nodeType":"YulIdentifier","src":"273988:2:21"}],"functionName":{"name":"mstore","nativeSrc":"273975:6:21","nodeType":"YulIdentifier","src":"273975:6:21"},"nativeSrc":"273975:16:21","nodeType":"YulFunctionCall","src":"273975:16:21"},"nativeSrc":"273975:16:21","nodeType":"YulExpressionStatement","src":"273975:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274011:4:21","nodeType":"YulLiteral","src":"274011:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"274017:2:21","nodeType":"YulIdentifier","src":"274017:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274004:6:21","nodeType":"YulIdentifier","src":"274004:6:21"},"nativeSrc":"274004:16:21","nodeType":"YulFunctionCall","src":"274004:16:21"},"nativeSrc":"274004:16:21","nodeType":"YulExpressionStatement","src":"274004:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274040:4:21","nodeType":"YulLiteral","src":"274040:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"274046:2:21","nodeType":"YulIdentifier","src":"274046:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274033:6:21","nodeType":"YulIdentifier","src":"274033:6:21"},"nativeSrc":"274033:16:21","nodeType":"YulFunctionCall","src":"274033:16:21"},"nativeSrc":"274033:16:21","nodeType":"YulExpressionStatement","src":"274033:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274069:4:21","nodeType":"YulLiteral","src":"274069:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"274075:2:21","nodeType":"YulIdentifier","src":"274075:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274062:6:21","nodeType":"YulIdentifier","src":"274062:6:21"},"nativeSrc":"274062:16:21","nodeType":"YulFunctionCall","src":"274062:16:21"},"nativeSrc":"274062:16:21","nodeType":"YulExpressionStatement","src":"274062:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274098:4:21","nodeType":"YulLiteral","src":"274098:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"274104:2:21","nodeType":"YulIdentifier","src":"274104:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274091:6:21","nodeType":"YulIdentifier","src":"274091:6:21"},"nativeSrc":"274091:16:21","nodeType":"YulFunctionCall","src":"274091:16:21"},"nativeSrc":"274091:16:21","nodeType":"YulExpressionStatement","src":"274091:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274127:4:21","nodeType":"YulLiteral","src":"274127:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"274133:2:21","nodeType":"YulIdentifier","src":"274133:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274120:6:21","nodeType":"YulIdentifier","src":"274120:6:21"},"nativeSrc":"274120:16:21","nodeType":"YulFunctionCall","src":"274120:16:21"},"nativeSrc":"274120:16:21","nodeType":"YulExpressionStatement","src":"274120:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274156:4:21","nodeType":"YulLiteral","src":"274156:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"274162:2:21","nodeType":"YulIdentifier","src":"274162:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274149:6:21","nodeType":"YulIdentifier","src":"274149:6:21"},"nativeSrc":"274149:16:21","nodeType":"YulFunctionCall","src":"274149:16:21"},"nativeSrc":"274149:16:21","nodeType":"YulExpressionStatement","src":"274149:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35572,"isOffset":false,"isSlot":false,"src":"273988:2:21","valueSize":1},{"declaration":35575,"isOffset":false,"isSlot":false,"src":"274017:2:21","valueSize":1},{"declaration":35578,"isOffset":false,"isSlot":false,"src":"274046:2:21","valueSize":1},{"declaration":35581,"isOffset":false,"isSlot":false,"src":"274075:2:21","valueSize":1},{"declaration":35584,"isOffset":false,"isSlot":false,"src":"274104:2:21","valueSize":1},{"declaration":35587,"isOffset":false,"isSlot":false,"src":"274133:2:21","valueSize":1},{"declaration":35590,"isOffset":false,"isSlot":false,"src":"274162:2:21","valueSize":1}],"id":35598,"nodeType":"InlineAssembly","src":"273952:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"272776:3:21","parameters":{"id":35569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35562,"mutability":"mutable","name":"p0","nameLocation":"272788:2:21","nodeType":"VariableDeclaration","scope":35600,"src":"272780:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35561,"name":"uint256","nodeType":"ElementaryTypeName","src":"272780:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35564,"mutability":"mutable","name":"p1","nameLocation":"272797:2:21","nodeType":"VariableDeclaration","scope":35600,"src":"272792:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35563,"name":"bool","nodeType":"ElementaryTypeName","src":"272792:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35566,"mutability":"mutable","name":"p2","nameLocation":"272806:2:21","nodeType":"VariableDeclaration","scope":35600,"src":"272801:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35565,"name":"bool","nodeType":"ElementaryTypeName","src":"272801:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35568,"mutability":"mutable","name":"p3","nameLocation":"272818:2:21","nodeType":"VariableDeclaration","scope":35600,"src":"272810:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272810:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"272779:42:21"},"returnParameters":{"id":35570,"nodeType":"ParameterList","parameters":[],"src":"272836:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35634,"nodeType":"FunctionDefinition","src":"274187:872:21","nodes":[],"body":{"id":35633,"nodeType":"Block","src":"274259:800:21","nodes":[],"statements":[{"assignments":[35612],"declarations":[{"constant":false,"id":35612,"mutability":"mutable","name":"m0","nameLocation":"274277:2:21","nodeType":"VariableDeclaration","scope":35633,"src":"274269:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274269:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35613,"nodeType":"VariableDeclarationStatement","src":"274269:10:21"},{"assignments":[35615],"declarations":[{"constant":false,"id":35615,"mutability":"mutable","name":"m1","nameLocation":"274297:2:21","nodeType":"VariableDeclaration","scope":35633,"src":"274289:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274289:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35616,"nodeType":"VariableDeclarationStatement","src":"274289:10:21"},{"assignments":[35618],"declarations":[{"constant":false,"id":35618,"mutability":"mutable","name":"m2","nameLocation":"274317:2:21","nodeType":"VariableDeclaration","scope":35633,"src":"274309:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274309:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35619,"nodeType":"VariableDeclarationStatement","src":"274309:10:21"},{"assignments":[35621],"declarations":[{"constant":false,"id":35621,"mutability":"mutable","name":"m3","nameLocation":"274337:2:21","nodeType":"VariableDeclaration","scope":35633,"src":"274329:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274329:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35622,"nodeType":"VariableDeclarationStatement","src":"274329:10:21"},{"assignments":[35624],"declarations":[{"constant":false,"id":35624,"mutability":"mutable","name":"m4","nameLocation":"274357:2:21","nodeType":"VariableDeclaration","scope":35633,"src":"274349:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274349:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35625,"nodeType":"VariableDeclarationStatement","src":"274349:10:21"},{"AST":{"nativeSrc":"274421:378:21","nodeType":"YulBlock","src":"274421:378:21","statements":[{"nativeSrc":"274435:17:21","nodeType":"YulAssignment","src":"274435:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"274447:4:21","nodeType":"YulLiteral","src":"274447:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"274441:5:21","nodeType":"YulIdentifier","src":"274441:5:21"},"nativeSrc":"274441:11:21","nodeType":"YulFunctionCall","src":"274441:11:21"},"variableNames":[{"name":"m0","nativeSrc":"274435:2:21","nodeType":"YulIdentifier","src":"274435:2:21"}]},{"nativeSrc":"274465:17:21","nodeType":"YulAssignment","src":"274465:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"274477:4:21","nodeType":"YulLiteral","src":"274477:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"274471:5:21","nodeType":"YulIdentifier","src":"274471:5:21"},"nativeSrc":"274471:11:21","nodeType":"YulFunctionCall","src":"274471:11:21"},"variableNames":[{"name":"m1","nativeSrc":"274465:2:21","nodeType":"YulIdentifier","src":"274465:2:21"}]},{"nativeSrc":"274495:17:21","nodeType":"YulAssignment","src":"274495:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"274507:4:21","nodeType":"YulLiteral","src":"274507:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"274501:5:21","nodeType":"YulIdentifier","src":"274501:5:21"},"nativeSrc":"274501:11:21","nodeType":"YulFunctionCall","src":"274501:11:21"},"variableNames":[{"name":"m2","nativeSrc":"274495:2:21","nodeType":"YulIdentifier","src":"274495:2:21"}]},{"nativeSrc":"274525:17:21","nodeType":"YulAssignment","src":"274525:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"274537:4:21","nodeType":"YulLiteral","src":"274537:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"274531:5:21","nodeType":"YulIdentifier","src":"274531:5:21"},"nativeSrc":"274531:11:21","nodeType":"YulFunctionCall","src":"274531:11:21"},"variableNames":[{"name":"m3","nativeSrc":"274525:2:21","nodeType":"YulIdentifier","src":"274525:2:21"}]},{"nativeSrc":"274555:17:21","nodeType":"YulAssignment","src":"274555:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"274567:4:21","nodeType":"YulLiteral","src":"274567:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"274561:5:21","nodeType":"YulIdentifier","src":"274561:5:21"},"nativeSrc":"274561:11:21","nodeType":"YulFunctionCall","src":"274561:11:21"},"variableNames":[{"name":"m4","nativeSrc":"274555:2:21","nodeType":"YulIdentifier","src":"274555:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274656:4:21","nodeType":"YulLiteral","src":"274656:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"274662:10:21","nodeType":"YulLiteral","src":"274662:10:21","type":"","value":"0x88cb6041"}],"functionName":{"name":"mstore","nativeSrc":"274649:6:21","nodeType":"YulIdentifier","src":"274649:6:21"},"nativeSrc":"274649:24:21","nodeType":"YulFunctionCall","src":"274649:24:21"},"nativeSrc":"274649:24:21","nodeType":"YulExpressionStatement","src":"274649:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274693:4:21","nodeType":"YulLiteral","src":"274693:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"274699:2:21","nodeType":"YulIdentifier","src":"274699:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274686:6:21","nodeType":"YulIdentifier","src":"274686:6:21"},"nativeSrc":"274686:16:21","nodeType":"YulFunctionCall","src":"274686:16:21"},"nativeSrc":"274686:16:21","nodeType":"YulExpressionStatement","src":"274686:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274722:4:21","nodeType":"YulLiteral","src":"274722:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"274728:2:21","nodeType":"YulIdentifier","src":"274728:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274715:6:21","nodeType":"YulIdentifier","src":"274715:6:21"},"nativeSrc":"274715:16:21","nodeType":"YulFunctionCall","src":"274715:16:21"},"nativeSrc":"274715:16:21","nodeType":"YulExpressionStatement","src":"274715:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274751:4:21","nodeType":"YulLiteral","src":"274751:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"274757:2:21","nodeType":"YulIdentifier","src":"274757:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274744:6:21","nodeType":"YulIdentifier","src":"274744:6:21"},"nativeSrc":"274744:16:21","nodeType":"YulFunctionCall","src":"274744:16:21"},"nativeSrc":"274744:16:21","nodeType":"YulExpressionStatement","src":"274744:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274780:4:21","nodeType":"YulLiteral","src":"274780:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"274786:2:21","nodeType":"YulIdentifier","src":"274786:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274773:6:21","nodeType":"YulIdentifier","src":"274773:6:21"},"nativeSrc":"274773:16:21","nodeType":"YulFunctionCall","src":"274773:16:21"},"nativeSrc":"274773:16:21","nodeType":"YulExpressionStatement","src":"274773:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35612,"isOffset":false,"isSlot":false,"src":"274435:2:21","valueSize":1},{"declaration":35615,"isOffset":false,"isSlot":false,"src":"274465:2:21","valueSize":1},{"declaration":35618,"isOffset":false,"isSlot":false,"src":"274495:2:21","valueSize":1},{"declaration":35621,"isOffset":false,"isSlot":false,"src":"274525:2:21","valueSize":1},{"declaration":35624,"isOffset":false,"isSlot":false,"src":"274555:2:21","valueSize":1},{"declaration":35602,"isOffset":false,"isSlot":false,"src":"274699:2:21","valueSize":1},{"declaration":35604,"isOffset":false,"isSlot":false,"src":"274728:2:21","valueSize":1},{"declaration":35606,"isOffset":false,"isSlot":false,"src":"274757:2:21","valueSize":1},{"declaration":35608,"isOffset":false,"isSlot":false,"src":"274786:2:21","valueSize":1}],"id":35626,"nodeType":"InlineAssembly","src":"274412:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"274824:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"274830:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35627,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"274808:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"274808:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35631,"nodeType":"ExpressionStatement","src":"274808:27:21"},{"AST":{"nativeSrc":"274897:156:21","nodeType":"YulBlock","src":"274897:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"274918:4:21","nodeType":"YulLiteral","src":"274918:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"274924:2:21","nodeType":"YulIdentifier","src":"274924:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274911:6:21","nodeType":"YulIdentifier","src":"274911:6:21"},"nativeSrc":"274911:16:21","nodeType":"YulFunctionCall","src":"274911:16:21"},"nativeSrc":"274911:16:21","nodeType":"YulExpressionStatement","src":"274911:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274947:4:21","nodeType":"YulLiteral","src":"274947:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"274953:2:21","nodeType":"YulIdentifier","src":"274953:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274940:6:21","nodeType":"YulIdentifier","src":"274940:6:21"},"nativeSrc":"274940:16:21","nodeType":"YulFunctionCall","src":"274940:16:21"},"nativeSrc":"274940:16:21","nodeType":"YulExpressionStatement","src":"274940:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274976:4:21","nodeType":"YulLiteral","src":"274976:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"274982:2:21","nodeType":"YulIdentifier","src":"274982:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274969:6:21","nodeType":"YulIdentifier","src":"274969:6:21"},"nativeSrc":"274969:16:21","nodeType":"YulFunctionCall","src":"274969:16:21"},"nativeSrc":"274969:16:21","nodeType":"YulExpressionStatement","src":"274969:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275005:4:21","nodeType":"YulLiteral","src":"275005:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"275011:2:21","nodeType":"YulIdentifier","src":"275011:2:21"}],"functionName":{"name":"mstore","nativeSrc":"274998:6:21","nodeType":"YulIdentifier","src":"274998:6:21"},"nativeSrc":"274998:16:21","nodeType":"YulFunctionCall","src":"274998:16:21"},"nativeSrc":"274998:16:21","nodeType":"YulExpressionStatement","src":"274998:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275034:4:21","nodeType":"YulLiteral","src":"275034:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"275040:2:21","nodeType":"YulIdentifier","src":"275040:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275027:6:21","nodeType":"YulIdentifier","src":"275027:6:21"},"nativeSrc":"275027:16:21","nodeType":"YulFunctionCall","src":"275027:16:21"},"nativeSrc":"275027:16:21","nodeType":"YulExpressionStatement","src":"275027:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35612,"isOffset":false,"isSlot":false,"src":"274924:2:21","valueSize":1},{"declaration":35615,"isOffset":false,"isSlot":false,"src":"274953:2:21","valueSize":1},{"declaration":35618,"isOffset":false,"isSlot":false,"src":"274982:2:21","valueSize":1},{"declaration":35621,"isOffset":false,"isSlot":false,"src":"275011:2:21","valueSize":1},{"declaration":35624,"isOffset":false,"isSlot":false,"src":"275040:2:21","valueSize":1}],"id":35632,"nodeType":"InlineAssembly","src":"274888:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"274196:3:21","parameters":{"id":35609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35602,"mutability":"mutable","name":"p0","nameLocation":"274208:2:21","nodeType":"VariableDeclaration","scope":35634,"src":"274200:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35601,"name":"uint256","nodeType":"ElementaryTypeName","src":"274200:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35604,"mutability":"mutable","name":"p1","nameLocation":"274217:2:21","nodeType":"VariableDeclaration","scope":35634,"src":"274212:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35603,"name":"bool","nodeType":"ElementaryTypeName","src":"274212:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35606,"mutability":"mutable","name":"p2","nameLocation":"274229:2:21","nodeType":"VariableDeclaration","scope":35634,"src":"274221:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35605,"name":"uint256","nodeType":"ElementaryTypeName","src":"274221:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35608,"mutability":"mutable","name":"p3","nameLocation":"274241:2:21","nodeType":"VariableDeclaration","scope":35634,"src":"274233:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35607,"name":"address","nodeType":"ElementaryTypeName","src":"274233:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"274199:45:21"},"returnParameters":{"id":35610,"nodeType":"ParameterList","parameters":[],"src":"274259:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35668,"nodeType":"FunctionDefinition","src":"275065:866:21","nodes":[],"body":{"id":35667,"nodeType":"Block","src":"275134:797:21","nodes":[],"statements":[{"assignments":[35646],"declarations":[{"constant":false,"id":35646,"mutability":"mutable","name":"m0","nameLocation":"275152:2:21","nodeType":"VariableDeclaration","scope":35667,"src":"275144:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275144:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35647,"nodeType":"VariableDeclarationStatement","src":"275144:10:21"},{"assignments":[35649],"declarations":[{"constant":false,"id":35649,"mutability":"mutable","name":"m1","nameLocation":"275172:2:21","nodeType":"VariableDeclaration","scope":35667,"src":"275164:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275164:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35650,"nodeType":"VariableDeclarationStatement","src":"275164:10:21"},{"assignments":[35652],"declarations":[{"constant":false,"id":35652,"mutability":"mutable","name":"m2","nameLocation":"275192:2:21","nodeType":"VariableDeclaration","scope":35667,"src":"275184:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275184:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35653,"nodeType":"VariableDeclarationStatement","src":"275184:10:21"},{"assignments":[35655],"declarations":[{"constant":false,"id":35655,"mutability":"mutable","name":"m3","nameLocation":"275212:2:21","nodeType":"VariableDeclaration","scope":35667,"src":"275204:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275204:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35656,"nodeType":"VariableDeclarationStatement","src":"275204:10:21"},{"assignments":[35658],"declarations":[{"constant":false,"id":35658,"mutability":"mutable","name":"m4","nameLocation":"275232:2:21","nodeType":"VariableDeclaration","scope":35667,"src":"275224:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275224:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35659,"nodeType":"VariableDeclarationStatement","src":"275224:10:21"},{"AST":{"nativeSrc":"275296:375:21","nodeType":"YulBlock","src":"275296:375:21","statements":[{"nativeSrc":"275310:17:21","nodeType":"YulAssignment","src":"275310:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"275322:4:21","nodeType":"YulLiteral","src":"275322:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"275316:5:21","nodeType":"YulIdentifier","src":"275316:5:21"},"nativeSrc":"275316:11:21","nodeType":"YulFunctionCall","src":"275316:11:21"},"variableNames":[{"name":"m0","nativeSrc":"275310:2:21","nodeType":"YulIdentifier","src":"275310:2:21"}]},{"nativeSrc":"275340:17:21","nodeType":"YulAssignment","src":"275340:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"275352:4:21","nodeType":"YulLiteral","src":"275352:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"275346:5:21","nodeType":"YulIdentifier","src":"275346:5:21"},"nativeSrc":"275346:11:21","nodeType":"YulFunctionCall","src":"275346:11:21"},"variableNames":[{"name":"m1","nativeSrc":"275340:2:21","nodeType":"YulIdentifier","src":"275340:2:21"}]},{"nativeSrc":"275370:17:21","nodeType":"YulAssignment","src":"275370:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"275382:4:21","nodeType":"YulLiteral","src":"275382:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"275376:5:21","nodeType":"YulIdentifier","src":"275376:5:21"},"nativeSrc":"275376:11:21","nodeType":"YulFunctionCall","src":"275376:11:21"},"variableNames":[{"name":"m2","nativeSrc":"275370:2:21","nodeType":"YulIdentifier","src":"275370:2:21"}]},{"nativeSrc":"275400:17:21","nodeType":"YulAssignment","src":"275400:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"275412:4:21","nodeType":"YulLiteral","src":"275412:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"275406:5:21","nodeType":"YulIdentifier","src":"275406:5:21"},"nativeSrc":"275406:11:21","nodeType":"YulFunctionCall","src":"275406:11:21"},"variableNames":[{"name":"m3","nativeSrc":"275400:2:21","nodeType":"YulIdentifier","src":"275400:2:21"}]},{"nativeSrc":"275430:17:21","nodeType":"YulAssignment","src":"275430:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"275442:4:21","nodeType":"YulLiteral","src":"275442:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"275436:5:21","nodeType":"YulIdentifier","src":"275436:5:21"},"nativeSrc":"275436:11:21","nodeType":"YulFunctionCall","src":"275436:11:21"},"variableNames":[{"name":"m4","nativeSrc":"275430:2:21","nodeType":"YulIdentifier","src":"275430:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275528:4:21","nodeType":"YulLiteral","src":"275528:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"275534:10:21","nodeType":"YulLiteral","src":"275534:10:21","type":"","value":"0x91a02e2a"}],"functionName":{"name":"mstore","nativeSrc":"275521:6:21","nodeType":"YulIdentifier","src":"275521:6:21"},"nativeSrc":"275521:24:21","nodeType":"YulFunctionCall","src":"275521:24:21"},"nativeSrc":"275521:24:21","nodeType":"YulExpressionStatement","src":"275521:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275565:4:21","nodeType":"YulLiteral","src":"275565:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"275571:2:21","nodeType":"YulIdentifier","src":"275571:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275558:6:21","nodeType":"YulIdentifier","src":"275558:6:21"},"nativeSrc":"275558:16:21","nodeType":"YulFunctionCall","src":"275558:16:21"},"nativeSrc":"275558:16:21","nodeType":"YulExpressionStatement","src":"275558:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275594:4:21","nodeType":"YulLiteral","src":"275594:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"275600:2:21","nodeType":"YulIdentifier","src":"275600:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275587:6:21","nodeType":"YulIdentifier","src":"275587:6:21"},"nativeSrc":"275587:16:21","nodeType":"YulFunctionCall","src":"275587:16:21"},"nativeSrc":"275587:16:21","nodeType":"YulExpressionStatement","src":"275587:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275623:4:21","nodeType":"YulLiteral","src":"275623:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"275629:2:21","nodeType":"YulIdentifier","src":"275629:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275616:6:21","nodeType":"YulIdentifier","src":"275616:6:21"},"nativeSrc":"275616:16:21","nodeType":"YulFunctionCall","src":"275616:16:21"},"nativeSrc":"275616:16:21","nodeType":"YulExpressionStatement","src":"275616:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275652:4:21","nodeType":"YulLiteral","src":"275652:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"275658:2:21","nodeType":"YulIdentifier","src":"275658:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275645:6:21","nodeType":"YulIdentifier","src":"275645:6:21"},"nativeSrc":"275645:16:21","nodeType":"YulFunctionCall","src":"275645:16:21"},"nativeSrc":"275645:16:21","nodeType":"YulExpressionStatement","src":"275645:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35646,"isOffset":false,"isSlot":false,"src":"275310:2:21","valueSize":1},{"declaration":35649,"isOffset":false,"isSlot":false,"src":"275340:2:21","valueSize":1},{"declaration":35652,"isOffset":false,"isSlot":false,"src":"275370:2:21","valueSize":1},{"declaration":35655,"isOffset":false,"isSlot":false,"src":"275400:2:21","valueSize":1},{"declaration":35658,"isOffset":false,"isSlot":false,"src":"275430:2:21","valueSize":1},{"declaration":35636,"isOffset":false,"isSlot":false,"src":"275571:2:21","valueSize":1},{"declaration":35638,"isOffset":false,"isSlot":false,"src":"275600:2:21","valueSize":1},{"declaration":35640,"isOffset":false,"isSlot":false,"src":"275629:2:21","valueSize":1},{"declaration":35642,"isOffset":false,"isSlot":false,"src":"275658:2:21","valueSize":1}],"id":35660,"nodeType":"InlineAssembly","src":"275287:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"275696:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"275702:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35661,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"275680:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"275680:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35665,"nodeType":"ExpressionStatement","src":"275680:27:21"},{"AST":{"nativeSrc":"275769:156:21","nodeType":"YulBlock","src":"275769:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"275790:4:21","nodeType":"YulLiteral","src":"275790:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"275796:2:21","nodeType":"YulIdentifier","src":"275796:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275783:6:21","nodeType":"YulIdentifier","src":"275783:6:21"},"nativeSrc":"275783:16:21","nodeType":"YulFunctionCall","src":"275783:16:21"},"nativeSrc":"275783:16:21","nodeType":"YulExpressionStatement","src":"275783:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275819:4:21","nodeType":"YulLiteral","src":"275819:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"275825:2:21","nodeType":"YulIdentifier","src":"275825:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275812:6:21","nodeType":"YulIdentifier","src":"275812:6:21"},"nativeSrc":"275812:16:21","nodeType":"YulFunctionCall","src":"275812:16:21"},"nativeSrc":"275812:16:21","nodeType":"YulExpressionStatement","src":"275812:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275848:4:21","nodeType":"YulLiteral","src":"275848:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"275854:2:21","nodeType":"YulIdentifier","src":"275854:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275841:6:21","nodeType":"YulIdentifier","src":"275841:6:21"},"nativeSrc":"275841:16:21","nodeType":"YulFunctionCall","src":"275841:16:21"},"nativeSrc":"275841:16:21","nodeType":"YulExpressionStatement","src":"275841:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275877:4:21","nodeType":"YulLiteral","src":"275877:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"275883:2:21","nodeType":"YulIdentifier","src":"275883:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275870:6:21","nodeType":"YulIdentifier","src":"275870:6:21"},"nativeSrc":"275870:16:21","nodeType":"YulFunctionCall","src":"275870:16:21"},"nativeSrc":"275870:16:21","nodeType":"YulExpressionStatement","src":"275870:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275906:4:21","nodeType":"YulLiteral","src":"275906:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"275912:2:21","nodeType":"YulIdentifier","src":"275912:2:21"}],"functionName":{"name":"mstore","nativeSrc":"275899:6:21","nodeType":"YulIdentifier","src":"275899:6:21"},"nativeSrc":"275899:16:21","nodeType":"YulFunctionCall","src":"275899:16:21"},"nativeSrc":"275899:16:21","nodeType":"YulExpressionStatement","src":"275899:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35646,"isOffset":false,"isSlot":false,"src":"275796:2:21","valueSize":1},{"declaration":35649,"isOffset":false,"isSlot":false,"src":"275825:2:21","valueSize":1},{"declaration":35652,"isOffset":false,"isSlot":false,"src":"275854:2:21","valueSize":1},{"declaration":35655,"isOffset":false,"isSlot":false,"src":"275883:2:21","valueSize":1},{"declaration":35658,"isOffset":false,"isSlot":false,"src":"275912:2:21","valueSize":1}],"id":35666,"nodeType":"InlineAssembly","src":"275760:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"275074:3:21","parameters":{"id":35643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35636,"mutability":"mutable","name":"p0","nameLocation":"275086:2:21","nodeType":"VariableDeclaration","scope":35668,"src":"275078:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35635,"name":"uint256","nodeType":"ElementaryTypeName","src":"275078:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35638,"mutability":"mutable","name":"p1","nameLocation":"275095:2:21","nodeType":"VariableDeclaration","scope":35668,"src":"275090:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35637,"name":"bool","nodeType":"ElementaryTypeName","src":"275090:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35640,"mutability":"mutable","name":"p2","nameLocation":"275107:2:21","nodeType":"VariableDeclaration","scope":35668,"src":"275099:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35639,"name":"uint256","nodeType":"ElementaryTypeName","src":"275099:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35642,"mutability":"mutable","name":"p3","nameLocation":"275116:2:21","nodeType":"VariableDeclaration","scope":35668,"src":"275111:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35641,"name":"bool","nodeType":"ElementaryTypeName","src":"275111:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"275077:42:21"},"returnParameters":{"id":35644,"nodeType":"ParameterList","parameters":[],"src":"275134:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35702,"nodeType":"FunctionDefinition","src":"275937:872:21","nodes":[],"body":{"id":35701,"nodeType":"Block","src":"276009:800:21","nodes":[],"statements":[{"assignments":[35680],"declarations":[{"constant":false,"id":35680,"mutability":"mutable","name":"m0","nameLocation":"276027:2:21","nodeType":"VariableDeclaration","scope":35701,"src":"276019:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276019:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35681,"nodeType":"VariableDeclarationStatement","src":"276019:10:21"},{"assignments":[35683],"declarations":[{"constant":false,"id":35683,"mutability":"mutable","name":"m1","nameLocation":"276047:2:21","nodeType":"VariableDeclaration","scope":35701,"src":"276039:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35682,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276039:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35684,"nodeType":"VariableDeclarationStatement","src":"276039:10:21"},{"assignments":[35686],"declarations":[{"constant":false,"id":35686,"mutability":"mutable","name":"m2","nameLocation":"276067:2:21","nodeType":"VariableDeclaration","scope":35701,"src":"276059:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276059:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35687,"nodeType":"VariableDeclarationStatement","src":"276059:10:21"},{"assignments":[35689],"declarations":[{"constant":false,"id":35689,"mutability":"mutable","name":"m3","nameLocation":"276087:2:21","nodeType":"VariableDeclaration","scope":35701,"src":"276079:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276079:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35690,"nodeType":"VariableDeclarationStatement","src":"276079:10:21"},{"assignments":[35692],"declarations":[{"constant":false,"id":35692,"mutability":"mutable","name":"m4","nameLocation":"276107:2:21","nodeType":"VariableDeclaration","scope":35701,"src":"276099:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276099:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35693,"nodeType":"VariableDeclarationStatement","src":"276099:10:21"},{"AST":{"nativeSrc":"276171:378:21","nodeType":"YulBlock","src":"276171:378:21","statements":[{"nativeSrc":"276185:17:21","nodeType":"YulAssignment","src":"276185:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"276197:4:21","nodeType":"YulLiteral","src":"276197:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"276191:5:21","nodeType":"YulIdentifier","src":"276191:5:21"},"nativeSrc":"276191:11:21","nodeType":"YulFunctionCall","src":"276191:11:21"},"variableNames":[{"name":"m0","nativeSrc":"276185:2:21","nodeType":"YulIdentifier","src":"276185:2:21"}]},{"nativeSrc":"276215:17:21","nodeType":"YulAssignment","src":"276215:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"276227:4:21","nodeType":"YulLiteral","src":"276227:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"276221:5:21","nodeType":"YulIdentifier","src":"276221:5:21"},"nativeSrc":"276221:11:21","nodeType":"YulFunctionCall","src":"276221:11:21"},"variableNames":[{"name":"m1","nativeSrc":"276215:2:21","nodeType":"YulIdentifier","src":"276215:2:21"}]},{"nativeSrc":"276245:17:21","nodeType":"YulAssignment","src":"276245:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"276257:4:21","nodeType":"YulLiteral","src":"276257:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"276251:5:21","nodeType":"YulIdentifier","src":"276251:5:21"},"nativeSrc":"276251:11:21","nodeType":"YulFunctionCall","src":"276251:11:21"},"variableNames":[{"name":"m2","nativeSrc":"276245:2:21","nodeType":"YulIdentifier","src":"276245:2:21"}]},{"nativeSrc":"276275:17:21","nodeType":"YulAssignment","src":"276275:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"276287:4:21","nodeType":"YulLiteral","src":"276287:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"276281:5:21","nodeType":"YulIdentifier","src":"276281:5:21"},"nativeSrc":"276281:11:21","nodeType":"YulFunctionCall","src":"276281:11:21"},"variableNames":[{"name":"m3","nativeSrc":"276275:2:21","nodeType":"YulIdentifier","src":"276275:2:21"}]},{"nativeSrc":"276305:17:21","nodeType":"YulAssignment","src":"276305:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"276317:4:21","nodeType":"YulLiteral","src":"276317:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"276311:5:21","nodeType":"YulIdentifier","src":"276311:5:21"},"nativeSrc":"276311:11:21","nodeType":"YulFunctionCall","src":"276311:11:21"},"variableNames":[{"name":"m4","nativeSrc":"276305:2:21","nodeType":"YulIdentifier","src":"276305:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276406:4:21","nodeType":"YulLiteral","src":"276406:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"276412:10:21","nodeType":"YulLiteral","src":"276412:10:21","type":"","value":"0xc6acc7a8"}],"functionName":{"name":"mstore","nativeSrc":"276399:6:21","nodeType":"YulIdentifier","src":"276399:6:21"},"nativeSrc":"276399:24:21","nodeType":"YulFunctionCall","src":"276399:24:21"},"nativeSrc":"276399:24:21","nodeType":"YulExpressionStatement","src":"276399:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276443:4:21","nodeType":"YulLiteral","src":"276443:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"276449:2:21","nodeType":"YulIdentifier","src":"276449:2:21"}],"functionName":{"name":"mstore","nativeSrc":"276436:6:21","nodeType":"YulIdentifier","src":"276436:6:21"},"nativeSrc":"276436:16:21","nodeType":"YulFunctionCall","src":"276436:16:21"},"nativeSrc":"276436:16:21","nodeType":"YulExpressionStatement","src":"276436:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276472:4:21","nodeType":"YulLiteral","src":"276472:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"276478:2:21","nodeType":"YulIdentifier","src":"276478:2:21"}],"functionName":{"name":"mstore","nativeSrc":"276465:6:21","nodeType":"YulIdentifier","src":"276465:6:21"},"nativeSrc":"276465:16:21","nodeType":"YulFunctionCall","src":"276465:16:21"},"nativeSrc":"276465:16:21","nodeType":"YulExpressionStatement","src":"276465:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276501:4:21","nodeType":"YulLiteral","src":"276501:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"276507:2:21","nodeType":"YulIdentifier","src":"276507:2:21"}],"functionName":{"name":"mstore","nativeSrc":"276494:6:21","nodeType":"YulIdentifier","src":"276494:6:21"},"nativeSrc":"276494:16:21","nodeType":"YulFunctionCall","src":"276494:16:21"},"nativeSrc":"276494:16:21","nodeType":"YulExpressionStatement","src":"276494:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276530:4:21","nodeType":"YulLiteral","src":"276530:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"276536:2:21","nodeType":"YulIdentifier","src":"276536:2:21"}],"functionName":{"name":"mstore","nativeSrc":"276523:6:21","nodeType":"YulIdentifier","src":"276523:6:21"},"nativeSrc":"276523:16:21","nodeType":"YulFunctionCall","src":"276523:16:21"},"nativeSrc":"276523:16:21","nodeType":"YulExpressionStatement","src":"276523:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35680,"isOffset":false,"isSlot":false,"src":"276185:2:21","valueSize":1},{"declaration":35683,"isOffset":false,"isSlot":false,"src":"276215:2:21","valueSize":1},{"declaration":35686,"isOffset":false,"isSlot":false,"src":"276245:2:21","valueSize":1},{"declaration":35689,"isOffset":false,"isSlot":false,"src":"276275:2:21","valueSize":1},{"declaration":35692,"isOffset":false,"isSlot":false,"src":"276305:2:21","valueSize":1},{"declaration":35670,"isOffset":false,"isSlot":false,"src":"276449:2:21","valueSize":1},{"declaration":35672,"isOffset":false,"isSlot":false,"src":"276478:2:21","valueSize":1},{"declaration":35674,"isOffset":false,"isSlot":false,"src":"276507:2:21","valueSize":1},{"declaration":35676,"isOffset":false,"isSlot":false,"src":"276536:2:21","valueSize":1}],"id":35694,"nodeType":"InlineAssembly","src":"276162:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"276574:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"276580:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35695,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"276558:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"276558:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35699,"nodeType":"ExpressionStatement","src":"276558:27:21"},{"AST":{"nativeSrc":"276647:156:21","nodeType":"YulBlock","src":"276647:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"276668:4:21","nodeType":"YulLiteral","src":"276668:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"276674:2:21","nodeType":"YulIdentifier","src":"276674:2:21"}],"functionName":{"name":"mstore","nativeSrc":"276661:6:21","nodeType":"YulIdentifier","src":"276661:6:21"},"nativeSrc":"276661:16:21","nodeType":"YulFunctionCall","src":"276661:16:21"},"nativeSrc":"276661:16:21","nodeType":"YulExpressionStatement","src":"276661:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276697:4:21","nodeType":"YulLiteral","src":"276697:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"276703:2:21","nodeType":"YulIdentifier","src":"276703:2:21"}],"functionName":{"name":"mstore","nativeSrc":"276690:6:21","nodeType":"YulIdentifier","src":"276690:6:21"},"nativeSrc":"276690:16:21","nodeType":"YulFunctionCall","src":"276690:16:21"},"nativeSrc":"276690:16:21","nodeType":"YulExpressionStatement","src":"276690:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276726:4:21","nodeType":"YulLiteral","src":"276726:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"276732:2:21","nodeType":"YulIdentifier","src":"276732:2:21"}],"functionName":{"name":"mstore","nativeSrc":"276719:6:21","nodeType":"YulIdentifier","src":"276719:6:21"},"nativeSrc":"276719:16:21","nodeType":"YulFunctionCall","src":"276719:16:21"},"nativeSrc":"276719:16:21","nodeType":"YulExpressionStatement","src":"276719:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276755:4:21","nodeType":"YulLiteral","src":"276755:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"276761:2:21","nodeType":"YulIdentifier","src":"276761:2:21"}],"functionName":{"name":"mstore","nativeSrc":"276748:6:21","nodeType":"YulIdentifier","src":"276748:6:21"},"nativeSrc":"276748:16:21","nodeType":"YulFunctionCall","src":"276748:16:21"},"nativeSrc":"276748:16:21","nodeType":"YulExpressionStatement","src":"276748:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276784:4:21","nodeType":"YulLiteral","src":"276784:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"276790:2:21","nodeType":"YulIdentifier","src":"276790:2:21"}],"functionName":{"name":"mstore","nativeSrc":"276777:6:21","nodeType":"YulIdentifier","src":"276777:6:21"},"nativeSrc":"276777:16:21","nodeType":"YulFunctionCall","src":"276777:16:21"},"nativeSrc":"276777:16:21","nodeType":"YulExpressionStatement","src":"276777:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35680,"isOffset":false,"isSlot":false,"src":"276674:2:21","valueSize":1},{"declaration":35683,"isOffset":false,"isSlot":false,"src":"276703:2:21","valueSize":1},{"declaration":35686,"isOffset":false,"isSlot":false,"src":"276732:2:21","valueSize":1},{"declaration":35689,"isOffset":false,"isSlot":false,"src":"276761:2:21","valueSize":1},{"declaration":35692,"isOffset":false,"isSlot":false,"src":"276790:2:21","valueSize":1}],"id":35700,"nodeType":"InlineAssembly","src":"276638:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"275946:3:21","parameters":{"id":35677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35670,"mutability":"mutable","name":"p0","nameLocation":"275958:2:21","nodeType":"VariableDeclaration","scope":35702,"src":"275950:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35669,"name":"uint256","nodeType":"ElementaryTypeName","src":"275950:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35672,"mutability":"mutable","name":"p1","nameLocation":"275967:2:21","nodeType":"VariableDeclaration","scope":35702,"src":"275962:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35671,"name":"bool","nodeType":"ElementaryTypeName","src":"275962:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35674,"mutability":"mutable","name":"p2","nameLocation":"275979:2:21","nodeType":"VariableDeclaration","scope":35702,"src":"275971:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35673,"name":"uint256","nodeType":"ElementaryTypeName","src":"275971:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35676,"mutability":"mutable","name":"p3","nameLocation":"275991:2:21","nodeType":"VariableDeclaration","scope":35702,"src":"275983:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35675,"name":"uint256","nodeType":"ElementaryTypeName","src":"275983:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"275949:45:21"},"returnParameters":{"id":35678,"nodeType":"ParameterList","parameters":[],"src":"276009:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35742,"nodeType":"FunctionDefinition","src":"276815:1420:21","nodes":[],"body":{"id":35741,"nodeType":"Block","src":"276887:1348:21","nodes":[],"statements":[{"assignments":[35714],"declarations":[{"constant":false,"id":35714,"mutability":"mutable","name":"m0","nameLocation":"276905:2:21","nodeType":"VariableDeclaration","scope":35741,"src":"276897:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276897:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35715,"nodeType":"VariableDeclarationStatement","src":"276897:10:21"},{"assignments":[35717],"declarations":[{"constant":false,"id":35717,"mutability":"mutable","name":"m1","nameLocation":"276925:2:21","nodeType":"VariableDeclaration","scope":35741,"src":"276917:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276917:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35718,"nodeType":"VariableDeclarationStatement","src":"276917:10:21"},{"assignments":[35720],"declarations":[{"constant":false,"id":35720,"mutability":"mutable","name":"m2","nameLocation":"276945:2:21","nodeType":"VariableDeclaration","scope":35741,"src":"276937:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276937:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35721,"nodeType":"VariableDeclarationStatement","src":"276937:10:21"},{"assignments":[35723],"declarations":[{"constant":false,"id":35723,"mutability":"mutable","name":"m3","nameLocation":"276965:2:21","nodeType":"VariableDeclaration","scope":35741,"src":"276957:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276957:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35724,"nodeType":"VariableDeclarationStatement","src":"276957:10:21"},{"assignments":[35726],"declarations":[{"constant":false,"id":35726,"mutability":"mutable","name":"m4","nameLocation":"276985:2:21","nodeType":"VariableDeclaration","scope":35741,"src":"276977:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276977:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35727,"nodeType":"VariableDeclarationStatement","src":"276977:10:21"},{"assignments":[35729],"declarations":[{"constant":false,"id":35729,"mutability":"mutable","name":"m5","nameLocation":"277005:2:21","nodeType":"VariableDeclaration","scope":35741,"src":"276997:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276997:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35730,"nodeType":"VariableDeclarationStatement","src":"276997:10:21"},{"assignments":[35732],"declarations":[{"constant":false,"id":35732,"mutability":"mutable","name":"m6","nameLocation":"277025:2:21","nodeType":"VariableDeclaration","scope":35741,"src":"277017:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"277017:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35733,"nodeType":"VariableDeclarationStatement","src":"277017:10:21"},{"AST":{"nativeSrc":"277089:828:21","nodeType":"YulBlock","src":"277089:828:21","statements":[{"body":{"nativeSrc":"277132:313:21","nodeType":"YulBlock","src":"277132:313:21","statements":[{"nativeSrc":"277150:15:21","nodeType":"YulVariableDeclaration","src":"277150:15:21","value":{"kind":"number","nativeSrc":"277164:1:21","nodeType":"YulLiteral","src":"277164:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"277154:6:21","nodeType":"YulTypedName","src":"277154:6:21","type":""}]},{"body":{"nativeSrc":"277235:40:21","nodeType":"YulBlock","src":"277235:40:21","statements":[{"body":{"nativeSrc":"277264:9:21","nodeType":"YulBlock","src":"277264:9:21","statements":[{"nativeSrc":"277266:5:21","nodeType":"YulBreak","src":"277266:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"277252:6:21","nodeType":"YulIdentifier","src":"277252:6:21"},{"name":"w","nativeSrc":"277260:1:21","nodeType":"YulIdentifier","src":"277260:1:21"}],"functionName":{"name":"byte","nativeSrc":"277247:4:21","nodeType":"YulIdentifier","src":"277247:4:21"},"nativeSrc":"277247:15:21","nodeType":"YulFunctionCall","src":"277247:15:21"}],"functionName":{"name":"iszero","nativeSrc":"277240:6:21","nodeType":"YulIdentifier","src":"277240:6:21"},"nativeSrc":"277240:23:21","nodeType":"YulFunctionCall","src":"277240:23:21"},"nativeSrc":"277237:36:21","nodeType":"YulIf","src":"277237:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"277192:6:21","nodeType":"YulIdentifier","src":"277192:6:21"},{"kind":"number","nativeSrc":"277200:4:21","nodeType":"YulLiteral","src":"277200:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"277189:2:21","nodeType":"YulIdentifier","src":"277189:2:21"},"nativeSrc":"277189:16:21","nodeType":"YulFunctionCall","src":"277189:16:21"},"nativeSrc":"277182:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"277206:28:21","nodeType":"YulBlock","src":"277206:28:21","statements":[{"nativeSrc":"277208:24:21","nodeType":"YulAssignment","src":"277208:24:21","value":{"arguments":[{"name":"length","nativeSrc":"277222:6:21","nodeType":"YulIdentifier","src":"277222:6:21"},{"kind":"number","nativeSrc":"277230:1:21","nodeType":"YulLiteral","src":"277230:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"277218:3:21","nodeType":"YulIdentifier","src":"277218:3:21"},"nativeSrc":"277218:14:21","nodeType":"YulFunctionCall","src":"277218:14:21"},"variableNames":[{"name":"length","nativeSrc":"277208:6:21","nodeType":"YulIdentifier","src":"277208:6:21"}]}]},"pre":{"nativeSrc":"277186:2:21","nodeType":"YulBlock","src":"277186:2:21","statements":[]},"src":"277182:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"277299:3:21","nodeType":"YulIdentifier","src":"277299:3:21"},{"name":"length","nativeSrc":"277304:6:21","nodeType":"YulIdentifier","src":"277304:6:21"}],"functionName":{"name":"mstore","nativeSrc":"277292:6:21","nodeType":"YulIdentifier","src":"277292:6:21"},"nativeSrc":"277292:19:21","nodeType":"YulFunctionCall","src":"277292:19:21"},"nativeSrc":"277292:19:21","nodeType":"YulExpressionStatement","src":"277292:19:21"},{"nativeSrc":"277328:37:21","nodeType":"YulVariableDeclaration","src":"277328:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"277345:3:21","nodeType":"YulLiteral","src":"277345:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"277354:1:21","nodeType":"YulLiteral","src":"277354:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"277357:6:21","nodeType":"YulIdentifier","src":"277357:6:21"}],"functionName":{"name":"shl","nativeSrc":"277350:3:21","nodeType":"YulIdentifier","src":"277350:3:21"},"nativeSrc":"277350:14:21","nodeType":"YulFunctionCall","src":"277350:14:21"}],"functionName":{"name":"sub","nativeSrc":"277341:3:21","nodeType":"YulIdentifier","src":"277341:3:21"},"nativeSrc":"277341:24:21","nodeType":"YulFunctionCall","src":"277341:24:21"},"variables":[{"name":"shift","nativeSrc":"277332:5:21","nodeType":"YulTypedName","src":"277332:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"277393:3:21","nodeType":"YulIdentifier","src":"277393:3:21"},{"kind":"number","nativeSrc":"277398:4:21","nodeType":"YulLiteral","src":"277398:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"277389:3:21","nodeType":"YulIdentifier","src":"277389:3:21"},"nativeSrc":"277389:14:21","nodeType":"YulFunctionCall","src":"277389:14:21"},{"arguments":[{"name":"shift","nativeSrc":"277409:5:21","nodeType":"YulIdentifier","src":"277409:5:21"},{"arguments":[{"name":"shift","nativeSrc":"277420:5:21","nodeType":"YulIdentifier","src":"277420:5:21"},{"name":"w","nativeSrc":"277427:1:21","nodeType":"YulIdentifier","src":"277427:1:21"}],"functionName":{"name":"shr","nativeSrc":"277416:3:21","nodeType":"YulIdentifier","src":"277416:3:21"},"nativeSrc":"277416:13:21","nodeType":"YulFunctionCall","src":"277416:13:21"}],"functionName":{"name":"shl","nativeSrc":"277405:3:21","nodeType":"YulIdentifier","src":"277405:3:21"},"nativeSrc":"277405:25:21","nodeType":"YulFunctionCall","src":"277405:25:21"}],"functionName":{"name":"mstore","nativeSrc":"277382:6:21","nodeType":"YulIdentifier","src":"277382:6:21"},"nativeSrc":"277382:49:21","nodeType":"YulFunctionCall","src":"277382:49:21"},"nativeSrc":"277382:49:21","nodeType":"YulExpressionStatement","src":"277382:49:21"}]},"name":"writeString","nativeSrc":"277103:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"277124:3:21","nodeType":"YulTypedName","src":"277124:3:21","type":""},{"name":"w","nativeSrc":"277129:1:21","nodeType":"YulTypedName","src":"277129:1:21","type":""}],"src":"277103:342:21"},{"nativeSrc":"277458:17:21","nodeType":"YulAssignment","src":"277458:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"277470:4:21","nodeType":"YulLiteral","src":"277470:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"277464:5:21","nodeType":"YulIdentifier","src":"277464:5:21"},"nativeSrc":"277464:11:21","nodeType":"YulFunctionCall","src":"277464:11:21"},"variableNames":[{"name":"m0","nativeSrc":"277458:2:21","nodeType":"YulIdentifier","src":"277458:2:21"}]},{"nativeSrc":"277488:17:21","nodeType":"YulAssignment","src":"277488:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"277500:4:21","nodeType":"YulLiteral","src":"277500:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"277494:5:21","nodeType":"YulIdentifier","src":"277494:5:21"},"nativeSrc":"277494:11:21","nodeType":"YulFunctionCall","src":"277494:11:21"},"variableNames":[{"name":"m1","nativeSrc":"277488:2:21","nodeType":"YulIdentifier","src":"277488:2:21"}]},{"nativeSrc":"277518:17:21","nodeType":"YulAssignment","src":"277518:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"277530:4:21","nodeType":"YulLiteral","src":"277530:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"277524:5:21","nodeType":"YulIdentifier","src":"277524:5:21"},"nativeSrc":"277524:11:21","nodeType":"YulFunctionCall","src":"277524:11:21"},"variableNames":[{"name":"m2","nativeSrc":"277518:2:21","nodeType":"YulIdentifier","src":"277518:2:21"}]},{"nativeSrc":"277548:17:21","nodeType":"YulAssignment","src":"277548:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"277560:4:21","nodeType":"YulLiteral","src":"277560:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"277554:5:21","nodeType":"YulIdentifier","src":"277554:5:21"},"nativeSrc":"277554:11:21","nodeType":"YulFunctionCall","src":"277554:11:21"},"variableNames":[{"name":"m3","nativeSrc":"277548:2:21","nodeType":"YulIdentifier","src":"277548:2:21"}]},{"nativeSrc":"277578:17:21","nodeType":"YulAssignment","src":"277578:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"277590:4:21","nodeType":"YulLiteral","src":"277590:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"277584:5:21","nodeType":"YulIdentifier","src":"277584:5:21"},"nativeSrc":"277584:11:21","nodeType":"YulFunctionCall","src":"277584:11:21"},"variableNames":[{"name":"m4","nativeSrc":"277578:2:21","nodeType":"YulIdentifier","src":"277578:2:21"}]},{"nativeSrc":"277608:17:21","nodeType":"YulAssignment","src":"277608:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"277620:4:21","nodeType":"YulLiteral","src":"277620:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"277614:5:21","nodeType":"YulIdentifier","src":"277614:5:21"},"nativeSrc":"277614:11:21","nodeType":"YulFunctionCall","src":"277614:11:21"},"variableNames":[{"name":"m5","nativeSrc":"277608:2:21","nodeType":"YulIdentifier","src":"277608:2:21"}]},{"nativeSrc":"277638:17:21","nodeType":"YulAssignment","src":"277638:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"277650:4:21","nodeType":"YulLiteral","src":"277650:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"277644:5:21","nodeType":"YulIdentifier","src":"277644:5:21"},"nativeSrc":"277644:11:21","nodeType":"YulFunctionCall","src":"277644:11:21"},"variableNames":[{"name":"m6","nativeSrc":"277638:2:21","nodeType":"YulIdentifier","src":"277638:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277738:4:21","nodeType":"YulLiteral","src":"277738:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"277744:10:21","nodeType":"YulLiteral","src":"277744:10:21","type":"","value":"0xde03e774"}],"functionName":{"name":"mstore","nativeSrc":"277731:6:21","nodeType":"YulIdentifier","src":"277731:6:21"},"nativeSrc":"277731:24:21","nodeType":"YulFunctionCall","src":"277731:24:21"},"nativeSrc":"277731:24:21","nodeType":"YulExpressionStatement","src":"277731:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277775:4:21","nodeType":"YulLiteral","src":"277775:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"277781:2:21","nodeType":"YulIdentifier","src":"277781:2:21"}],"functionName":{"name":"mstore","nativeSrc":"277768:6:21","nodeType":"YulIdentifier","src":"277768:6:21"},"nativeSrc":"277768:16:21","nodeType":"YulFunctionCall","src":"277768:16:21"},"nativeSrc":"277768:16:21","nodeType":"YulExpressionStatement","src":"277768:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277804:4:21","nodeType":"YulLiteral","src":"277804:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"277810:2:21","nodeType":"YulIdentifier","src":"277810:2:21"}],"functionName":{"name":"mstore","nativeSrc":"277797:6:21","nodeType":"YulIdentifier","src":"277797:6:21"},"nativeSrc":"277797:16:21","nodeType":"YulFunctionCall","src":"277797:16:21"},"nativeSrc":"277797:16:21","nodeType":"YulExpressionStatement","src":"277797:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277833:4:21","nodeType":"YulLiteral","src":"277833:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"277839:2:21","nodeType":"YulIdentifier","src":"277839:2:21"}],"functionName":{"name":"mstore","nativeSrc":"277826:6:21","nodeType":"YulIdentifier","src":"277826:6:21"},"nativeSrc":"277826:16:21","nodeType":"YulFunctionCall","src":"277826:16:21"},"nativeSrc":"277826:16:21","nodeType":"YulExpressionStatement","src":"277826:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277862:4:21","nodeType":"YulLiteral","src":"277862:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"277868:4:21","nodeType":"YulLiteral","src":"277868:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"277855:6:21","nodeType":"YulIdentifier","src":"277855:6:21"},"nativeSrc":"277855:18:21","nodeType":"YulFunctionCall","src":"277855:18:21"},"nativeSrc":"277855:18:21","nodeType":"YulExpressionStatement","src":"277855:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277898:4:21","nodeType":"YulLiteral","src":"277898:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"277904:2:21","nodeType":"YulIdentifier","src":"277904:2:21"}],"functionName":{"name":"writeString","nativeSrc":"277886:11:21","nodeType":"YulIdentifier","src":"277886:11:21"},"nativeSrc":"277886:21:21","nodeType":"YulFunctionCall","src":"277886:21:21"},"nativeSrc":"277886:21:21","nodeType":"YulExpressionStatement","src":"277886:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35714,"isOffset":false,"isSlot":false,"src":"277458:2:21","valueSize":1},{"declaration":35717,"isOffset":false,"isSlot":false,"src":"277488:2:21","valueSize":1},{"declaration":35720,"isOffset":false,"isSlot":false,"src":"277518:2:21","valueSize":1},{"declaration":35723,"isOffset":false,"isSlot":false,"src":"277548:2:21","valueSize":1},{"declaration":35726,"isOffset":false,"isSlot":false,"src":"277578:2:21","valueSize":1},{"declaration":35729,"isOffset":false,"isSlot":false,"src":"277608:2:21","valueSize":1},{"declaration":35732,"isOffset":false,"isSlot":false,"src":"277638:2:21","valueSize":1},{"declaration":35704,"isOffset":false,"isSlot":false,"src":"277781:2:21","valueSize":1},{"declaration":35706,"isOffset":false,"isSlot":false,"src":"277810:2:21","valueSize":1},{"declaration":35708,"isOffset":false,"isSlot":false,"src":"277839:2:21","valueSize":1},{"declaration":35710,"isOffset":false,"isSlot":false,"src":"277904:2:21","valueSize":1}],"id":35734,"nodeType":"InlineAssembly","src":"277080:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"277942:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"277948:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"277926:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"277926:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35739,"nodeType":"ExpressionStatement","src":"277926:27:21"},{"AST":{"nativeSrc":"278015:214:21","nodeType":"YulBlock","src":"278015:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"278036:4:21","nodeType":"YulLiteral","src":"278036:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"278042:2:21","nodeType":"YulIdentifier","src":"278042:2:21"}],"functionName":{"name":"mstore","nativeSrc":"278029:6:21","nodeType":"YulIdentifier","src":"278029:6:21"},"nativeSrc":"278029:16:21","nodeType":"YulFunctionCall","src":"278029:16:21"},"nativeSrc":"278029:16:21","nodeType":"YulExpressionStatement","src":"278029:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278065:4:21","nodeType":"YulLiteral","src":"278065:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"278071:2:21","nodeType":"YulIdentifier","src":"278071:2:21"}],"functionName":{"name":"mstore","nativeSrc":"278058:6:21","nodeType":"YulIdentifier","src":"278058:6:21"},"nativeSrc":"278058:16:21","nodeType":"YulFunctionCall","src":"278058:16:21"},"nativeSrc":"278058:16:21","nodeType":"YulExpressionStatement","src":"278058:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278094:4:21","nodeType":"YulLiteral","src":"278094:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"278100:2:21","nodeType":"YulIdentifier","src":"278100:2:21"}],"functionName":{"name":"mstore","nativeSrc":"278087:6:21","nodeType":"YulIdentifier","src":"278087:6:21"},"nativeSrc":"278087:16:21","nodeType":"YulFunctionCall","src":"278087:16:21"},"nativeSrc":"278087:16:21","nodeType":"YulExpressionStatement","src":"278087:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278123:4:21","nodeType":"YulLiteral","src":"278123:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"278129:2:21","nodeType":"YulIdentifier","src":"278129:2:21"}],"functionName":{"name":"mstore","nativeSrc":"278116:6:21","nodeType":"YulIdentifier","src":"278116:6:21"},"nativeSrc":"278116:16:21","nodeType":"YulFunctionCall","src":"278116:16:21"},"nativeSrc":"278116:16:21","nodeType":"YulExpressionStatement","src":"278116:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278152:4:21","nodeType":"YulLiteral","src":"278152:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"278158:2:21","nodeType":"YulIdentifier","src":"278158:2:21"}],"functionName":{"name":"mstore","nativeSrc":"278145:6:21","nodeType":"YulIdentifier","src":"278145:6:21"},"nativeSrc":"278145:16:21","nodeType":"YulFunctionCall","src":"278145:16:21"},"nativeSrc":"278145:16:21","nodeType":"YulExpressionStatement","src":"278145:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278181:4:21","nodeType":"YulLiteral","src":"278181:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"278187:2:21","nodeType":"YulIdentifier","src":"278187:2:21"}],"functionName":{"name":"mstore","nativeSrc":"278174:6:21","nodeType":"YulIdentifier","src":"278174:6:21"},"nativeSrc":"278174:16:21","nodeType":"YulFunctionCall","src":"278174:16:21"},"nativeSrc":"278174:16:21","nodeType":"YulExpressionStatement","src":"278174:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278210:4:21","nodeType":"YulLiteral","src":"278210:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"278216:2:21","nodeType":"YulIdentifier","src":"278216:2:21"}],"functionName":{"name":"mstore","nativeSrc":"278203:6:21","nodeType":"YulIdentifier","src":"278203:6:21"},"nativeSrc":"278203:16:21","nodeType":"YulFunctionCall","src":"278203:16:21"},"nativeSrc":"278203:16:21","nodeType":"YulExpressionStatement","src":"278203:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35714,"isOffset":false,"isSlot":false,"src":"278042:2:21","valueSize":1},{"declaration":35717,"isOffset":false,"isSlot":false,"src":"278071:2:21","valueSize":1},{"declaration":35720,"isOffset":false,"isSlot":false,"src":"278100:2:21","valueSize":1},{"declaration":35723,"isOffset":false,"isSlot":false,"src":"278129:2:21","valueSize":1},{"declaration":35726,"isOffset":false,"isSlot":false,"src":"278158:2:21","valueSize":1},{"declaration":35729,"isOffset":false,"isSlot":false,"src":"278187:2:21","valueSize":1},{"declaration":35732,"isOffset":false,"isSlot":false,"src":"278216:2:21","valueSize":1}],"id":35740,"nodeType":"InlineAssembly","src":"278006:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"276824:3:21","parameters":{"id":35711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35704,"mutability":"mutable","name":"p0","nameLocation":"276836:2:21","nodeType":"VariableDeclaration","scope":35742,"src":"276828:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35703,"name":"uint256","nodeType":"ElementaryTypeName","src":"276828:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35706,"mutability":"mutable","name":"p1","nameLocation":"276845:2:21","nodeType":"VariableDeclaration","scope":35742,"src":"276840:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35705,"name":"bool","nodeType":"ElementaryTypeName","src":"276840:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35708,"mutability":"mutable","name":"p2","nameLocation":"276857:2:21","nodeType":"VariableDeclaration","scope":35742,"src":"276849:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35707,"name":"uint256","nodeType":"ElementaryTypeName","src":"276849:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35710,"mutability":"mutable","name":"p3","nameLocation":"276869:2:21","nodeType":"VariableDeclaration","scope":35742,"src":"276861:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276861:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"276827:45:21"},"returnParameters":{"id":35712,"nodeType":"ParameterList","parameters":[],"src":"276887:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35782,"nodeType":"FunctionDefinition","src":"278241:1420:21","nodes":[],"body":{"id":35781,"nodeType":"Block","src":"278313:1348:21","nodes":[],"statements":[{"assignments":[35754],"declarations":[{"constant":false,"id":35754,"mutability":"mutable","name":"m0","nameLocation":"278331:2:21","nodeType":"VariableDeclaration","scope":35781,"src":"278323:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278323:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35755,"nodeType":"VariableDeclarationStatement","src":"278323:10:21"},{"assignments":[35757],"declarations":[{"constant":false,"id":35757,"mutability":"mutable","name":"m1","nameLocation":"278351:2:21","nodeType":"VariableDeclaration","scope":35781,"src":"278343:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278343:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35758,"nodeType":"VariableDeclarationStatement","src":"278343:10:21"},{"assignments":[35760],"declarations":[{"constant":false,"id":35760,"mutability":"mutable","name":"m2","nameLocation":"278371:2:21","nodeType":"VariableDeclaration","scope":35781,"src":"278363:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278363:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35761,"nodeType":"VariableDeclarationStatement","src":"278363:10:21"},{"assignments":[35763],"declarations":[{"constant":false,"id":35763,"mutability":"mutable","name":"m3","nameLocation":"278391:2:21","nodeType":"VariableDeclaration","scope":35781,"src":"278383:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278383:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35764,"nodeType":"VariableDeclarationStatement","src":"278383:10:21"},{"assignments":[35766],"declarations":[{"constant":false,"id":35766,"mutability":"mutable","name":"m4","nameLocation":"278411:2:21","nodeType":"VariableDeclaration","scope":35781,"src":"278403:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278403:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35767,"nodeType":"VariableDeclarationStatement","src":"278403:10:21"},{"assignments":[35769],"declarations":[{"constant":false,"id":35769,"mutability":"mutable","name":"m5","nameLocation":"278431:2:21","nodeType":"VariableDeclaration","scope":35781,"src":"278423:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278423:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35770,"nodeType":"VariableDeclarationStatement","src":"278423:10:21"},{"assignments":[35772],"declarations":[{"constant":false,"id":35772,"mutability":"mutable","name":"m6","nameLocation":"278451:2:21","nodeType":"VariableDeclaration","scope":35781,"src":"278443:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278443:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35773,"nodeType":"VariableDeclarationStatement","src":"278443:10:21"},{"AST":{"nativeSrc":"278515:828:21","nodeType":"YulBlock","src":"278515:828:21","statements":[{"body":{"nativeSrc":"278558:313:21","nodeType":"YulBlock","src":"278558:313:21","statements":[{"nativeSrc":"278576:15:21","nodeType":"YulVariableDeclaration","src":"278576:15:21","value":{"kind":"number","nativeSrc":"278590:1:21","nodeType":"YulLiteral","src":"278590:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"278580:6:21","nodeType":"YulTypedName","src":"278580:6:21","type":""}]},{"body":{"nativeSrc":"278661:40:21","nodeType":"YulBlock","src":"278661:40:21","statements":[{"body":{"nativeSrc":"278690:9:21","nodeType":"YulBlock","src":"278690:9:21","statements":[{"nativeSrc":"278692:5:21","nodeType":"YulBreak","src":"278692:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"278678:6:21","nodeType":"YulIdentifier","src":"278678:6:21"},{"name":"w","nativeSrc":"278686:1:21","nodeType":"YulIdentifier","src":"278686:1:21"}],"functionName":{"name":"byte","nativeSrc":"278673:4:21","nodeType":"YulIdentifier","src":"278673:4:21"},"nativeSrc":"278673:15:21","nodeType":"YulFunctionCall","src":"278673:15:21"}],"functionName":{"name":"iszero","nativeSrc":"278666:6:21","nodeType":"YulIdentifier","src":"278666:6:21"},"nativeSrc":"278666:23:21","nodeType":"YulFunctionCall","src":"278666:23:21"},"nativeSrc":"278663:36:21","nodeType":"YulIf","src":"278663:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"278618:6:21","nodeType":"YulIdentifier","src":"278618:6:21"},{"kind":"number","nativeSrc":"278626:4:21","nodeType":"YulLiteral","src":"278626:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"278615:2:21","nodeType":"YulIdentifier","src":"278615:2:21"},"nativeSrc":"278615:16:21","nodeType":"YulFunctionCall","src":"278615:16:21"},"nativeSrc":"278608:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"278632:28:21","nodeType":"YulBlock","src":"278632:28:21","statements":[{"nativeSrc":"278634:24:21","nodeType":"YulAssignment","src":"278634:24:21","value":{"arguments":[{"name":"length","nativeSrc":"278648:6:21","nodeType":"YulIdentifier","src":"278648:6:21"},{"kind":"number","nativeSrc":"278656:1:21","nodeType":"YulLiteral","src":"278656:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"278644:3:21","nodeType":"YulIdentifier","src":"278644:3:21"},"nativeSrc":"278644:14:21","nodeType":"YulFunctionCall","src":"278644:14:21"},"variableNames":[{"name":"length","nativeSrc":"278634:6:21","nodeType":"YulIdentifier","src":"278634:6:21"}]}]},"pre":{"nativeSrc":"278612:2:21","nodeType":"YulBlock","src":"278612:2:21","statements":[]},"src":"278608:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"278725:3:21","nodeType":"YulIdentifier","src":"278725:3:21"},{"name":"length","nativeSrc":"278730:6:21","nodeType":"YulIdentifier","src":"278730:6:21"}],"functionName":{"name":"mstore","nativeSrc":"278718:6:21","nodeType":"YulIdentifier","src":"278718:6:21"},"nativeSrc":"278718:19:21","nodeType":"YulFunctionCall","src":"278718:19:21"},"nativeSrc":"278718:19:21","nodeType":"YulExpressionStatement","src":"278718:19:21"},{"nativeSrc":"278754:37:21","nodeType":"YulVariableDeclaration","src":"278754:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"278771:3:21","nodeType":"YulLiteral","src":"278771:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"278780:1:21","nodeType":"YulLiteral","src":"278780:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"278783:6:21","nodeType":"YulIdentifier","src":"278783:6:21"}],"functionName":{"name":"shl","nativeSrc":"278776:3:21","nodeType":"YulIdentifier","src":"278776:3:21"},"nativeSrc":"278776:14:21","nodeType":"YulFunctionCall","src":"278776:14:21"}],"functionName":{"name":"sub","nativeSrc":"278767:3:21","nodeType":"YulIdentifier","src":"278767:3:21"},"nativeSrc":"278767:24:21","nodeType":"YulFunctionCall","src":"278767:24:21"},"variables":[{"name":"shift","nativeSrc":"278758:5:21","nodeType":"YulTypedName","src":"278758:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"278819:3:21","nodeType":"YulIdentifier","src":"278819:3:21"},{"kind":"number","nativeSrc":"278824:4:21","nodeType":"YulLiteral","src":"278824:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"278815:3:21","nodeType":"YulIdentifier","src":"278815:3:21"},"nativeSrc":"278815:14:21","nodeType":"YulFunctionCall","src":"278815:14:21"},{"arguments":[{"name":"shift","nativeSrc":"278835:5:21","nodeType":"YulIdentifier","src":"278835:5:21"},{"arguments":[{"name":"shift","nativeSrc":"278846:5:21","nodeType":"YulIdentifier","src":"278846:5:21"},{"name":"w","nativeSrc":"278853:1:21","nodeType":"YulIdentifier","src":"278853:1:21"}],"functionName":{"name":"shr","nativeSrc":"278842:3:21","nodeType":"YulIdentifier","src":"278842:3:21"},"nativeSrc":"278842:13:21","nodeType":"YulFunctionCall","src":"278842:13:21"}],"functionName":{"name":"shl","nativeSrc":"278831:3:21","nodeType":"YulIdentifier","src":"278831:3:21"},"nativeSrc":"278831:25:21","nodeType":"YulFunctionCall","src":"278831:25:21"}],"functionName":{"name":"mstore","nativeSrc":"278808:6:21","nodeType":"YulIdentifier","src":"278808:6:21"},"nativeSrc":"278808:49:21","nodeType":"YulFunctionCall","src":"278808:49:21"},"nativeSrc":"278808:49:21","nodeType":"YulExpressionStatement","src":"278808:49:21"}]},"name":"writeString","nativeSrc":"278529:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"278550:3:21","nodeType":"YulTypedName","src":"278550:3:21","type":""},{"name":"w","nativeSrc":"278555:1:21","nodeType":"YulTypedName","src":"278555:1:21","type":""}],"src":"278529:342:21"},{"nativeSrc":"278884:17:21","nodeType":"YulAssignment","src":"278884:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"278896:4:21","nodeType":"YulLiteral","src":"278896:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"278890:5:21","nodeType":"YulIdentifier","src":"278890:5:21"},"nativeSrc":"278890:11:21","nodeType":"YulFunctionCall","src":"278890:11:21"},"variableNames":[{"name":"m0","nativeSrc":"278884:2:21","nodeType":"YulIdentifier","src":"278884:2:21"}]},{"nativeSrc":"278914:17:21","nodeType":"YulAssignment","src":"278914:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"278926:4:21","nodeType":"YulLiteral","src":"278926:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"278920:5:21","nodeType":"YulIdentifier","src":"278920:5:21"},"nativeSrc":"278920:11:21","nodeType":"YulFunctionCall","src":"278920:11:21"},"variableNames":[{"name":"m1","nativeSrc":"278914:2:21","nodeType":"YulIdentifier","src":"278914:2:21"}]},{"nativeSrc":"278944:17:21","nodeType":"YulAssignment","src":"278944:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"278956:4:21","nodeType":"YulLiteral","src":"278956:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"278950:5:21","nodeType":"YulIdentifier","src":"278950:5:21"},"nativeSrc":"278950:11:21","nodeType":"YulFunctionCall","src":"278950:11:21"},"variableNames":[{"name":"m2","nativeSrc":"278944:2:21","nodeType":"YulIdentifier","src":"278944:2:21"}]},{"nativeSrc":"278974:17:21","nodeType":"YulAssignment","src":"278974:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"278986:4:21","nodeType":"YulLiteral","src":"278986:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"278980:5:21","nodeType":"YulIdentifier","src":"278980:5:21"},"nativeSrc":"278980:11:21","nodeType":"YulFunctionCall","src":"278980:11:21"},"variableNames":[{"name":"m3","nativeSrc":"278974:2:21","nodeType":"YulIdentifier","src":"278974:2:21"}]},{"nativeSrc":"279004:17:21","nodeType":"YulAssignment","src":"279004:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"279016:4:21","nodeType":"YulLiteral","src":"279016:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"279010:5:21","nodeType":"YulIdentifier","src":"279010:5:21"},"nativeSrc":"279010:11:21","nodeType":"YulFunctionCall","src":"279010:11:21"},"variableNames":[{"name":"m4","nativeSrc":"279004:2:21","nodeType":"YulIdentifier","src":"279004:2:21"}]},{"nativeSrc":"279034:17:21","nodeType":"YulAssignment","src":"279034:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"279046:4:21","nodeType":"YulLiteral","src":"279046:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"279040:5:21","nodeType":"YulIdentifier","src":"279040:5:21"},"nativeSrc":"279040:11:21","nodeType":"YulFunctionCall","src":"279040:11:21"},"variableNames":[{"name":"m5","nativeSrc":"279034:2:21","nodeType":"YulIdentifier","src":"279034:2:21"}]},{"nativeSrc":"279064:17:21","nodeType":"YulAssignment","src":"279064:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"279076:4:21","nodeType":"YulLiteral","src":"279076:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"279070:5:21","nodeType":"YulIdentifier","src":"279070:5:21"},"nativeSrc":"279070:11:21","nodeType":"YulFunctionCall","src":"279070:11:21"},"variableNames":[{"name":"m6","nativeSrc":"279064:2:21","nodeType":"YulIdentifier","src":"279064:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279164:4:21","nodeType":"YulLiteral","src":"279164:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"279170:10:21","nodeType":"YulLiteral","src":"279170:10:21","type":"","value":"0xef529018"}],"functionName":{"name":"mstore","nativeSrc":"279157:6:21","nodeType":"YulIdentifier","src":"279157:6:21"},"nativeSrc":"279157:24:21","nodeType":"YulFunctionCall","src":"279157:24:21"},"nativeSrc":"279157:24:21","nodeType":"YulExpressionStatement","src":"279157:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279201:4:21","nodeType":"YulLiteral","src":"279201:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"279207:2:21","nodeType":"YulIdentifier","src":"279207:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279194:6:21","nodeType":"YulIdentifier","src":"279194:6:21"},"nativeSrc":"279194:16:21","nodeType":"YulFunctionCall","src":"279194:16:21"},"nativeSrc":"279194:16:21","nodeType":"YulExpressionStatement","src":"279194:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279230:4:21","nodeType":"YulLiteral","src":"279230:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"279236:2:21","nodeType":"YulIdentifier","src":"279236:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279223:6:21","nodeType":"YulIdentifier","src":"279223:6:21"},"nativeSrc":"279223:16:21","nodeType":"YulFunctionCall","src":"279223:16:21"},"nativeSrc":"279223:16:21","nodeType":"YulExpressionStatement","src":"279223:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279259:4:21","nodeType":"YulLiteral","src":"279259:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"279265:4:21","nodeType":"YulLiteral","src":"279265:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"279252:6:21","nodeType":"YulIdentifier","src":"279252:6:21"},"nativeSrc":"279252:18:21","nodeType":"YulFunctionCall","src":"279252:18:21"},"nativeSrc":"279252:18:21","nodeType":"YulExpressionStatement","src":"279252:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279290:4:21","nodeType":"YulLiteral","src":"279290:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"279296:2:21","nodeType":"YulIdentifier","src":"279296:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279283:6:21","nodeType":"YulIdentifier","src":"279283:6:21"},"nativeSrc":"279283:16:21","nodeType":"YulFunctionCall","src":"279283:16:21"},"nativeSrc":"279283:16:21","nodeType":"YulExpressionStatement","src":"279283:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279324:4:21","nodeType":"YulLiteral","src":"279324:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"279330:2:21","nodeType":"YulIdentifier","src":"279330:2:21"}],"functionName":{"name":"writeString","nativeSrc":"279312:11:21","nodeType":"YulIdentifier","src":"279312:11:21"},"nativeSrc":"279312:21:21","nodeType":"YulFunctionCall","src":"279312:21:21"},"nativeSrc":"279312:21:21","nodeType":"YulExpressionStatement","src":"279312:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35754,"isOffset":false,"isSlot":false,"src":"278884:2:21","valueSize":1},{"declaration":35757,"isOffset":false,"isSlot":false,"src":"278914:2:21","valueSize":1},{"declaration":35760,"isOffset":false,"isSlot":false,"src":"278944:2:21","valueSize":1},{"declaration":35763,"isOffset":false,"isSlot":false,"src":"278974:2:21","valueSize":1},{"declaration":35766,"isOffset":false,"isSlot":false,"src":"279004:2:21","valueSize":1},{"declaration":35769,"isOffset":false,"isSlot":false,"src":"279034:2:21","valueSize":1},{"declaration":35772,"isOffset":false,"isSlot":false,"src":"279064:2:21","valueSize":1},{"declaration":35744,"isOffset":false,"isSlot":false,"src":"279207:2:21","valueSize":1},{"declaration":35746,"isOffset":false,"isSlot":false,"src":"279236:2:21","valueSize":1},{"declaration":35748,"isOffset":false,"isSlot":false,"src":"279330:2:21","valueSize":1},{"declaration":35750,"isOffset":false,"isSlot":false,"src":"279296:2:21","valueSize":1}],"id":35774,"nodeType":"InlineAssembly","src":"278506:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"279368:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"279374:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35775,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"279352:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"279352:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35779,"nodeType":"ExpressionStatement","src":"279352:27:21"},{"AST":{"nativeSrc":"279441:214:21","nodeType":"YulBlock","src":"279441:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"279462:4:21","nodeType":"YulLiteral","src":"279462:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"279468:2:21","nodeType":"YulIdentifier","src":"279468:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279455:6:21","nodeType":"YulIdentifier","src":"279455:6:21"},"nativeSrc":"279455:16:21","nodeType":"YulFunctionCall","src":"279455:16:21"},"nativeSrc":"279455:16:21","nodeType":"YulExpressionStatement","src":"279455:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279491:4:21","nodeType":"YulLiteral","src":"279491:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"279497:2:21","nodeType":"YulIdentifier","src":"279497:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279484:6:21","nodeType":"YulIdentifier","src":"279484:6:21"},"nativeSrc":"279484:16:21","nodeType":"YulFunctionCall","src":"279484:16:21"},"nativeSrc":"279484:16:21","nodeType":"YulExpressionStatement","src":"279484:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279520:4:21","nodeType":"YulLiteral","src":"279520:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"279526:2:21","nodeType":"YulIdentifier","src":"279526:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279513:6:21","nodeType":"YulIdentifier","src":"279513:6:21"},"nativeSrc":"279513:16:21","nodeType":"YulFunctionCall","src":"279513:16:21"},"nativeSrc":"279513:16:21","nodeType":"YulExpressionStatement","src":"279513:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279549:4:21","nodeType":"YulLiteral","src":"279549:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"279555:2:21","nodeType":"YulIdentifier","src":"279555:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279542:6:21","nodeType":"YulIdentifier","src":"279542:6:21"},"nativeSrc":"279542:16:21","nodeType":"YulFunctionCall","src":"279542:16:21"},"nativeSrc":"279542:16:21","nodeType":"YulExpressionStatement","src":"279542:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279578:4:21","nodeType":"YulLiteral","src":"279578:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"279584:2:21","nodeType":"YulIdentifier","src":"279584:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279571:6:21","nodeType":"YulIdentifier","src":"279571:6:21"},"nativeSrc":"279571:16:21","nodeType":"YulFunctionCall","src":"279571:16:21"},"nativeSrc":"279571:16:21","nodeType":"YulExpressionStatement","src":"279571:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279607:4:21","nodeType":"YulLiteral","src":"279607:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"279613:2:21","nodeType":"YulIdentifier","src":"279613:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279600:6:21","nodeType":"YulIdentifier","src":"279600:6:21"},"nativeSrc":"279600:16:21","nodeType":"YulFunctionCall","src":"279600:16:21"},"nativeSrc":"279600:16:21","nodeType":"YulExpressionStatement","src":"279600:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279636:4:21","nodeType":"YulLiteral","src":"279636:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"279642:2:21","nodeType":"YulIdentifier","src":"279642:2:21"}],"functionName":{"name":"mstore","nativeSrc":"279629:6:21","nodeType":"YulIdentifier","src":"279629:6:21"},"nativeSrc":"279629:16:21","nodeType":"YulFunctionCall","src":"279629:16:21"},"nativeSrc":"279629:16:21","nodeType":"YulExpressionStatement","src":"279629:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35754,"isOffset":false,"isSlot":false,"src":"279468:2:21","valueSize":1},{"declaration":35757,"isOffset":false,"isSlot":false,"src":"279497:2:21","valueSize":1},{"declaration":35760,"isOffset":false,"isSlot":false,"src":"279526:2:21","valueSize":1},{"declaration":35763,"isOffset":false,"isSlot":false,"src":"279555:2:21","valueSize":1},{"declaration":35766,"isOffset":false,"isSlot":false,"src":"279584:2:21","valueSize":1},{"declaration":35769,"isOffset":false,"isSlot":false,"src":"279613:2:21","valueSize":1},{"declaration":35772,"isOffset":false,"isSlot":false,"src":"279642:2:21","valueSize":1}],"id":35780,"nodeType":"InlineAssembly","src":"279432:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"278250:3:21","parameters":{"id":35751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35744,"mutability":"mutable","name":"p0","nameLocation":"278262:2:21","nodeType":"VariableDeclaration","scope":35782,"src":"278254:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35743,"name":"uint256","nodeType":"ElementaryTypeName","src":"278254:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35746,"mutability":"mutable","name":"p1","nameLocation":"278271:2:21","nodeType":"VariableDeclaration","scope":35782,"src":"278266:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35745,"name":"bool","nodeType":"ElementaryTypeName","src":"278266:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35748,"mutability":"mutable","name":"p2","nameLocation":"278283:2:21","nodeType":"VariableDeclaration","scope":35782,"src":"278275:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278275:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35750,"mutability":"mutable","name":"p3","nameLocation":"278295:2:21","nodeType":"VariableDeclaration","scope":35782,"src":"278287:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35749,"name":"address","nodeType":"ElementaryTypeName","src":"278287:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"278253:45:21"},"returnParameters":{"id":35752,"nodeType":"ParameterList","parameters":[],"src":"278313:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35822,"nodeType":"FunctionDefinition","src":"279667:1414:21","nodes":[],"body":{"id":35821,"nodeType":"Block","src":"279736:1345:21","nodes":[],"statements":[{"assignments":[35794],"declarations":[{"constant":false,"id":35794,"mutability":"mutable","name":"m0","nameLocation":"279754:2:21","nodeType":"VariableDeclaration","scope":35821,"src":"279746:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279746:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35795,"nodeType":"VariableDeclarationStatement","src":"279746:10:21"},{"assignments":[35797],"declarations":[{"constant":false,"id":35797,"mutability":"mutable","name":"m1","nameLocation":"279774:2:21","nodeType":"VariableDeclaration","scope":35821,"src":"279766:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279766:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35798,"nodeType":"VariableDeclarationStatement","src":"279766:10:21"},{"assignments":[35800],"declarations":[{"constant":false,"id":35800,"mutability":"mutable","name":"m2","nameLocation":"279794:2:21","nodeType":"VariableDeclaration","scope":35821,"src":"279786:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279786:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35801,"nodeType":"VariableDeclarationStatement","src":"279786:10:21"},{"assignments":[35803],"declarations":[{"constant":false,"id":35803,"mutability":"mutable","name":"m3","nameLocation":"279814:2:21","nodeType":"VariableDeclaration","scope":35821,"src":"279806:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279806:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35804,"nodeType":"VariableDeclarationStatement","src":"279806:10:21"},{"assignments":[35806],"declarations":[{"constant":false,"id":35806,"mutability":"mutable","name":"m4","nameLocation":"279834:2:21","nodeType":"VariableDeclaration","scope":35821,"src":"279826:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279826:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35807,"nodeType":"VariableDeclarationStatement","src":"279826:10:21"},{"assignments":[35809],"declarations":[{"constant":false,"id":35809,"mutability":"mutable","name":"m5","nameLocation":"279854:2:21","nodeType":"VariableDeclaration","scope":35821,"src":"279846:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279846:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35810,"nodeType":"VariableDeclarationStatement","src":"279846:10:21"},{"assignments":[35812],"declarations":[{"constant":false,"id":35812,"mutability":"mutable","name":"m6","nameLocation":"279874:2:21","nodeType":"VariableDeclaration","scope":35821,"src":"279866:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279866:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35813,"nodeType":"VariableDeclarationStatement","src":"279866:10:21"},{"AST":{"nativeSrc":"279938:825:21","nodeType":"YulBlock","src":"279938:825:21","statements":[{"body":{"nativeSrc":"279981:313:21","nodeType":"YulBlock","src":"279981:313:21","statements":[{"nativeSrc":"279999:15:21","nodeType":"YulVariableDeclaration","src":"279999:15:21","value":{"kind":"number","nativeSrc":"280013:1:21","nodeType":"YulLiteral","src":"280013:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"280003:6:21","nodeType":"YulTypedName","src":"280003:6:21","type":""}]},{"body":{"nativeSrc":"280084:40:21","nodeType":"YulBlock","src":"280084:40:21","statements":[{"body":{"nativeSrc":"280113:9:21","nodeType":"YulBlock","src":"280113:9:21","statements":[{"nativeSrc":"280115:5:21","nodeType":"YulBreak","src":"280115:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"280101:6:21","nodeType":"YulIdentifier","src":"280101:6:21"},{"name":"w","nativeSrc":"280109:1:21","nodeType":"YulIdentifier","src":"280109:1:21"}],"functionName":{"name":"byte","nativeSrc":"280096:4:21","nodeType":"YulIdentifier","src":"280096:4:21"},"nativeSrc":"280096:15:21","nodeType":"YulFunctionCall","src":"280096:15:21"}],"functionName":{"name":"iszero","nativeSrc":"280089:6:21","nodeType":"YulIdentifier","src":"280089:6:21"},"nativeSrc":"280089:23:21","nodeType":"YulFunctionCall","src":"280089:23:21"},"nativeSrc":"280086:36:21","nodeType":"YulIf","src":"280086:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"280041:6:21","nodeType":"YulIdentifier","src":"280041:6:21"},{"kind":"number","nativeSrc":"280049:4:21","nodeType":"YulLiteral","src":"280049:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"280038:2:21","nodeType":"YulIdentifier","src":"280038:2:21"},"nativeSrc":"280038:16:21","nodeType":"YulFunctionCall","src":"280038:16:21"},"nativeSrc":"280031:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"280055:28:21","nodeType":"YulBlock","src":"280055:28:21","statements":[{"nativeSrc":"280057:24:21","nodeType":"YulAssignment","src":"280057:24:21","value":{"arguments":[{"name":"length","nativeSrc":"280071:6:21","nodeType":"YulIdentifier","src":"280071:6:21"},{"kind":"number","nativeSrc":"280079:1:21","nodeType":"YulLiteral","src":"280079:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"280067:3:21","nodeType":"YulIdentifier","src":"280067:3:21"},"nativeSrc":"280067:14:21","nodeType":"YulFunctionCall","src":"280067:14:21"},"variableNames":[{"name":"length","nativeSrc":"280057:6:21","nodeType":"YulIdentifier","src":"280057:6:21"}]}]},"pre":{"nativeSrc":"280035:2:21","nodeType":"YulBlock","src":"280035:2:21","statements":[]},"src":"280031:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"280148:3:21","nodeType":"YulIdentifier","src":"280148:3:21"},{"name":"length","nativeSrc":"280153:6:21","nodeType":"YulIdentifier","src":"280153:6:21"}],"functionName":{"name":"mstore","nativeSrc":"280141:6:21","nodeType":"YulIdentifier","src":"280141:6:21"},"nativeSrc":"280141:19:21","nodeType":"YulFunctionCall","src":"280141:19:21"},"nativeSrc":"280141:19:21","nodeType":"YulExpressionStatement","src":"280141:19:21"},{"nativeSrc":"280177:37:21","nodeType":"YulVariableDeclaration","src":"280177:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"280194:3:21","nodeType":"YulLiteral","src":"280194:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"280203:1:21","nodeType":"YulLiteral","src":"280203:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"280206:6:21","nodeType":"YulIdentifier","src":"280206:6:21"}],"functionName":{"name":"shl","nativeSrc":"280199:3:21","nodeType":"YulIdentifier","src":"280199:3:21"},"nativeSrc":"280199:14:21","nodeType":"YulFunctionCall","src":"280199:14:21"}],"functionName":{"name":"sub","nativeSrc":"280190:3:21","nodeType":"YulIdentifier","src":"280190:3:21"},"nativeSrc":"280190:24:21","nodeType":"YulFunctionCall","src":"280190:24:21"},"variables":[{"name":"shift","nativeSrc":"280181:5:21","nodeType":"YulTypedName","src":"280181:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"280242:3:21","nodeType":"YulIdentifier","src":"280242:3:21"},{"kind":"number","nativeSrc":"280247:4:21","nodeType":"YulLiteral","src":"280247:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"280238:3:21","nodeType":"YulIdentifier","src":"280238:3:21"},"nativeSrc":"280238:14:21","nodeType":"YulFunctionCall","src":"280238:14:21"},{"arguments":[{"name":"shift","nativeSrc":"280258:5:21","nodeType":"YulIdentifier","src":"280258:5:21"},{"arguments":[{"name":"shift","nativeSrc":"280269:5:21","nodeType":"YulIdentifier","src":"280269:5:21"},{"name":"w","nativeSrc":"280276:1:21","nodeType":"YulIdentifier","src":"280276:1:21"}],"functionName":{"name":"shr","nativeSrc":"280265:3:21","nodeType":"YulIdentifier","src":"280265:3:21"},"nativeSrc":"280265:13:21","nodeType":"YulFunctionCall","src":"280265:13:21"}],"functionName":{"name":"shl","nativeSrc":"280254:3:21","nodeType":"YulIdentifier","src":"280254:3:21"},"nativeSrc":"280254:25:21","nodeType":"YulFunctionCall","src":"280254:25:21"}],"functionName":{"name":"mstore","nativeSrc":"280231:6:21","nodeType":"YulIdentifier","src":"280231:6:21"},"nativeSrc":"280231:49:21","nodeType":"YulFunctionCall","src":"280231:49:21"},"nativeSrc":"280231:49:21","nodeType":"YulExpressionStatement","src":"280231:49:21"}]},"name":"writeString","nativeSrc":"279952:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"279973:3:21","nodeType":"YulTypedName","src":"279973:3:21","type":""},{"name":"w","nativeSrc":"279978:1:21","nodeType":"YulTypedName","src":"279978:1:21","type":""}],"src":"279952:342:21"},{"nativeSrc":"280307:17:21","nodeType":"YulAssignment","src":"280307:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"280319:4:21","nodeType":"YulLiteral","src":"280319:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"280313:5:21","nodeType":"YulIdentifier","src":"280313:5:21"},"nativeSrc":"280313:11:21","nodeType":"YulFunctionCall","src":"280313:11:21"},"variableNames":[{"name":"m0","nativeSrc":"280307:2:21","nodeType":"YulIdentifier","src":"280307:2:21"}]},{"nativeSrc":"280337:17:21","nodeType":"YulAssignment","src":"280337:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"280349:4:21","nodeType":"YulLiteral","src":"280349:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"280343:5:21","nodeType":"YulIdentifier","src":"280343:5:21"},"nativeSrc":"280343:11:21","nodeType":"YulFunctionCall","src":"280343:11:21"},"variableNames":[{"name":"m1","nativeSrc":"280337:2:21","nodeType":"YulIdentifier","src":"280337:2:21"}]},{"nativeSrc":"280367:17:21","nodeType":"YulAssignment","src":"280367:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"280379:4:21","nodeType":"YulLiteral","src":"280379:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"280373:5:21","nodeType":"YulIdentifier","src":"280373:5:21"},"nativeSrc":"280373:11:21","nodeType":"YulFunctionCall","src":"280373:11:21"},"variableNames":[{"name":"m2","nativeSrc":"280367:2:21","nodeType":"YulIdentifier","src":"280367:2:21"}]},{"nativeSrc":"280397:17:21","nodeType":"YulAssignment","src":"280397:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"280409:4:21","nodeType":"YulLiteral","src":"280409:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"280403:5:21","nodeType":"YulIdentifier","src":"280403:5:21"},"nativeSrc":"280403:11:21","nodeType":"YulFunctionCall","src":"280403:11:21"},"variableNames":[{"name":"m3","nativeSrc":"280397:2:21","nodeType":"YulIdentifier","src":"280397:2:21"}]},{"nativeSrc":"280427:17:21","nodeType":"YulAssignment","src":"280427:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"280439:4:21","nodeType":"YulLiteral","src":"280439:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"280433:5:21","nodeType":"YulIdentifier","src":"280433:5:21"},"nativeSrc":"280433:11:21","nodeType":"YulFunctionCall","src":"280433:11:21"},"variableNames":[{"name":"m4","nativeSrc":"280427:2:21","nodeType":"YulIdentifier","src":"280427:2:21"}]},{"nativeSrc":"280457:17:21","nodeType":"YulAssignment","src":"280457:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"280469:4:21","nodeType":"YulLiteral","src":"280469:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"280463:5:21","nodeType":"YulIdentifier","src":"280463:5:21"},"nativeSrc":"280463:11:21","nodeType":"YulFunctionCall","src":"280463:11:21"},"variableNames":[{"name":"m5","nativeSrc":"280457:2:21","nodeType":"YulIdentifier","src":"280457:2:21"}]},{"nativeSrc":"280487:17:21","nodeType":"YulAssignment","src":"280487:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"280499:4:21","nodeType":"YulLiteral","src":"280499:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"280493:5:21","nodeType":"YulIdentifier","src":"280493:5:21"},"nativeSrc":"280493:11:21","nodeType":"YulFunctionCall","src":"280493:11:21"},"variableNames":[{"name":"m6","nativeSrc":"280487:2:21","nodeType":"YulIdentifier","src":"280487:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280584:4:21","nodeType":"YulLiteral","src":"280584:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"280590:10:21","nodeType":"YulLiteral","src":"280590:10:21","type":"","value":"0xeb928d7f"}],"functionName":{"name":"mstore","nativeSrc":"280577:6:21","nodeType":"YulIdentifier","src":"280577:6:21"},"nativeSrc":"280577:24:21","nodeType":"YulFunctionCall","src":"280577:24:21"},"nativeSrc":"280577:24:21","nodeType":"YulExpressionStatement","src":"280577:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280621:4:21","nodeType":"YulLiteral","src":"280621:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"280627:2:21","nodeType":"YulIdentifier","src":"280627:2:21"}],"functionName":{"name":"mstore","nativeSrc":"280614:6:21","nodeType":"YulIdentifier","src":"280614:6:21"},"nativeSrc":"280614:16:21","nodeType":"YulFunctionCall","src":"280614:16:21"},"nativeSrc":"280614:16:21","nodeType":"YulExpressionStatement","src":"280614:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280650:4:21","nodeType":"YulLiteral","src":"280650:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"280656:2:21","nodeType":"YulIdentifier","src":"280656:2:21"}],"functionName":{"name":"mstore","nativeSrc":"280643:6:21","nodeType":"YulIdentifier","src":"280643:6:21"},"nativeSrc":"280643:16:21","nodeType":"YulFunctionCall","src":"280643:16:21"},"nativeSrc":"280643:16:21","nodeType":"YulExpressionStatement","src":"280643:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280679:4:21","nodeType":"YulLiteral","src":"280679:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"280685:4:21","nodeType":"YulLiteral","src":"280685:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"280672:6:21","nodeType":"YulIdentifier","src":"280672:6:21"},"nativeSrc":"280672:18:21","nodeType":"YulFunctionCall","src":"280672:18:21"},"nativeSrc":"280672:18:21","nodeType":"YulExpressionStatement","src":"280672:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280710:4:21","nodeType":"YulLiteral","src":"280710:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"280716:2:21","nodeType":"YulIdentifier","src":"280716:2:21"}],"functionName":{"name":"mstore","nativeSrc":"280703:6:21","nodeType":"YulIdentifier","src":"280703:6:21"},"nativeSrc":"280703:16:21","nodeType":"YulFunctionCall","src":"280703:16:21"},"nativeSrc":"280703:16:21","nodeType":"YulExpressionStatement","src":"280703:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280744:4:21","nodeType":"YulLiteral","src":"280744:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"280750:2:21","nodeType":"YulIdentifier","src":"280750:2:21"}],"functionName":{"name":"writeString","nativeSrc":"280732:11:21","nodeType":"YulIdentifier","src":"280732:11:21"},"nativeSrc":"280732:21:21","nodeType":"YulFunctionCall","src":"280732:21:21"},"nativeSrc":"280732:21:21","nodeType":"YulExpressionStatement","src":"280732:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35794,"isOffset":false,"isSlot":false,"src":"280307:2:21","valueSize":1},{"declaration":35797,"isOffset":false,"isSlot":false,"src":"280337:2:21","valueSize":1},{"declaration":35800,"isOffset":false,"isSlot":false,"src":"280367:2:21","valueSize":1},{"declaration":35803,"isOffset":false,"isSlot":false,"src":"280397:2:21","valueSize":1},{"declaration":35806,"isOffset":false,"isSlot":false,"src":"280427:2:21","valueSize":1},{"declaration":35809,"isOffset":false,"isSlot":false,"src":"280457:2:21","valueSize":1},{"declaration":35812,"isOffset":false,"isSlot":false,"src":"280487:2:21","valueSize":1},{"declaration":35784,"isOffset":false,"isSlot":false,"src":"280627:2:21","valueSize":1},{"declaration":35786,"isOffset":false,"isSlot":false,"src":"280656:2:21","valueSize":1},{"declaration":35788,"isOffset":false,"isSlot":false,"src":"280750:2:21","valueSize":1},{"declaration":35790,"isOffset":false,"isSlot":false,"src":"280716:2:21","valueSize":1}],"id":35814,"nodeType":"InlineAssembly","src":"279929:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"280788:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"280794:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"280772:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"280772:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35819,"nodeType":"ExpressionStatement","src":"280772:27:21"},{"AST":{"nativeSrc":"280861:214:21","nodeType":"YulBlock","src":"280861:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"280882:4:21","nodeType":"YulLiteral","src":"280882:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"280888:2:21","nodeType":"YulIdentifier","src":"280888:2:21"}],"functionName":{"name":"mstore","nativeSrc":"280875:6:21","nodeType":"YulIdentifier","src":"280875:6:21"},"nativeSrc":"280875:16:21","nodeType":"YulFunctionCall","src":"280875:16:21"},"nativeSrc":"280875:16:21","nodeType":"YulExpressionStatement","src":"280875:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280911:4:21","nodeType":"YulLiteral","src":"280911:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"280917:2:21","nodeType":"YulIdentifier","src":"280917:2:21"}],"functionName":{"name":"mstore","nativeSrc":"280904:6:21","nodeType":"YulIdentifier","src":"280904:6:21"},"nativeSrc":"280904:16:21","nodeType":"YulFunctionCall","src":"280904:16:21"},"nativeSrc":"280904:16:21","nodeType":"YulExpressionStatement","src":"280904:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280940:4:21","nodeType":"YulLiteral","src":"280940:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"280946:2:21","nodeType":"YulIdentifier","src":"280946:2:21"}],"functionName":{"name":"mstore","nativeSrc":"280933:6:21","nodeType":"YulIdentifier","src":"280933:6:21"},"nativeSrc":"280933:16:21","nodeType":"YulFunctionCall","src":"280933:16:21"},"nativeSrc":"280933:16:21","nodeType":"YulExpressionStatement","src":"280933:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280969:4:21","nodeType":"YulLiteral","src":"280969:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"280975:2:21","nodeType":"YulIdentifier","src":"280975:2:21"}],"functionName":{"name":"mstore","nativeSrc":"280962:6:21","nodeType":"YulIdentifier","src":"280962:6:21"},"nativeSrc":"280962:16:21","nodeType":"YulFunctionCall","src":"280962:16:21"},"nativeSrc":"280962:16:21","nodeType":"YulExpressionStatement","src":"280962:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280998:4:21","nodeType":"YulLiteral","src":"280998:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"281004:2:21","nodeType":"YulIdentifier","src":"281004:2:21"}],"functionName":{"name":"mstore","nativeSrc":"280991:6:21","nodeType":"YulIdentifier","src":"280991:6:21"},"nativeSrc":"280991:16:21","nodeType":"YulFunctionCall","src":"280991:16:21"},"nativeSrc":"280991:16:21","nodeType":"YulExpressionStatement","src":"280991:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"281027:4:21","nodeType":"YulLiteral","src":"281027:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"281033:2:21","nodeType":"YulIdentifier","src":"281033:2:21"}],"functionName":{"name":"mstore","nativeSrc":"281020:6:21","nodeType":"YulIdentifier","src":"281020:6:21"},"nativeSrc":"281020:16:21","nodeType":"YulFunctionCall","src":"281020:16:21"},"nativeSrc":"281020:16:21","nodeType":"YulExpressionStatement","src":"281020:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"281056:4:21","nodeType":"YulLiteral","src":"281056:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"281062:2:21","nodeType":"YulIdentifier","src":"281062:2:21"}],"functionName":{"name":"mstore","nativeSrc":"281049:6:21","nodeType":"YulIdentifier","src":"281049:6:21"},"nativeSrc":"281049:16:21","nodeType":"YulFunctionCall","src":"281049:16:21"},"nativeSrc":"281049:16:21","nodeType":"YulExpressionStatement","src":"281049:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35794,"isOffset":false,"isSlot":false,"src":"280888:2:21","valueSize":1},{"declaration":35797,"isOffset":false,"isSlot":false,"src":"280917:2:21","valueSize":1},{"declaration":35800,"isOffset":false,"isSlot":false,"src":"280946:2:21","valueSize":1},{"declaration":35803,"isOffset":false,"isSlot":false,"src":"280975:2:21","valueSize":1},{"declaration":35806,"isOffset":false,"isSlot":false,"src":"281004:2:21","valueSize":1},{"declaration":35809,"isOffset":false,"isSlot":false,"src":"281033:2:21","valueSize":1},{"declaration":35812,"isOffset":false,"isSlot":false,"src":"281062:2:21","valueSize":1}],"id":35820,"nodeType":"InlineAssembly","src":"280852:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"279676:3:21","parameters":{"id":35791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35784,"mutability":"mutable","name":"p0","nameLocation":"279688:2:21","nodeType":"VariableDeclaration","scope":35822,"src":"279680:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35783,"name":"uint256","nodeType":"ElementaryTypeName","src":"279680:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35786,"mutability":"mutable","name":"p1","nameLocation":"279697:2:21","nodeType":"VariableDeclaration","scope":35822,"src":"279692:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35785,"name":"bool","nodeType":"ElementaryTypeName","src":"279692:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35788,"mutability":"mutable","name":"p2","nameLocation":"279709:2:21","nodeType":"VariableDeclaration","scope":35822,"src":"279701:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279701:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35790,"mutability":"mutable","name":"p3","nameLocation":"279718:2:21","nodeType":"VariableDeclaration","scope":35822,"src":"279713:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35789,"name":"bool","nodeType":"ElementaryTypeName","src":"279713:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"279679:42:21"},"returnParameters":{"id":35792,"nodeType":"ParameterList","parameters":[],"src":"279736:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35862,"nodeType":"FunctionDefinition","src":"281087:1420:21","nodes":[],"body":{"id":35861,"nodeType":"Block","src":"281159:1348:21","nodes":[],"statements":[{"assignments":[35834],"declarations":[{"constant":false,"id":35834,"mutability":"mutable","name":"m0","nameLocation":"281177:2:21","nodeType":"VariableDeclaration","scope":35861,"src":"281169:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281169:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35835,"nodeType":"VariableDeclarationStatement","src":"281169:10:21"},{"assignments":[35837],"declarations":[{"constant":false,"id":35837,"mutability":"mutable","name":"m1","nameLocation":"281197:2:21","nodeType":"VariableDeclaration","scope":35861,"src":"281189:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281189:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35838,"nodeType":"VariableDeclarationStatement","src":"281189:10:21"},{"assignments":[35840],"declarations":[{"constant":false,"id":35840,"mutability":"mutable","name":"m2","nameLocation":"281217:2:21","nodeType":"VariableDeclaration","scope":35861,"src":"281209:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281209:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35841,"nodeType":"VariableDeclarationStatement","src":"281209:10:21"},{"assignments":[35843],"declarations":[{"constant":false,"id":35843,"mutability":"mutable","name":"m3","nameLocation":"281237:2:21","nodeType":"VariableDeclaration","scope":35861,"src":"281229:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281229:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35844,"nodeType":"VariableDeclarationStatement","src":"281229:10:21"},{"assignments":[35846],"declarations":[{"constant":false,"id":35846,"mutability":"mutable","name":"m4","nameLocation":"281257:2:21","nodeType":"VariableDeclaration","scope":35861,"src":"281249:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281249:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35847,"nodeType":"VariableDeclarationStatement","src":"281249:10:21"},{"assignments":[35849],"declarations":[{"constant":false,"id":35849,"mutability":"mutable","name":"m5","nameLocation":"281277:2:21","nodeType":"VariableDeclaration","scope":35861,"src":"281269:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281269:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35850,"nodeType":"VariableDeclarationStatement","src":"281269:10:21"},{"assignments":[35852],"declarations":[{"constant":false,"id":35852,"mutability":"mutable","name":"m6","nameLocation":"281297:2:21","nodeType":"VariableDeclaration","scope":35861,"src":"281289:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281289:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35853,"nodeType":"VariableDeclarationStatement","src":"281289:10:21"},{"AST":{"nativeSrc":"281361:828:21","nodeType":"YulBlock","src":"281361:828:21","statements":[{"body":{"nativeSrc":"281404:313:21","nodeType":"YulBlock","src":"281404:313:21","statements":[{"nativeSrc":"281422:15:21","nodeType":"YulVariableDeclaration","src":"281422:15:21","value":{"kind":"number","nativeSrc":"281436:1:21","nodeType":"YulLiteral","src":"281436:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"281426:6:21","nodeType":"YulTypedName","src":"281426:6:21","type":""}]},{"body":{"nativeSrc":"281507:40:21","nodeType":"YulBlock","src":"281507:40:21","statements":[{"body":{"nativeSrc":"281536:9:21","nodeType":"YulBlock","src":"281536:9:21","statements":[{"nativeSrc":"281538:5:21","nodeType":"YulBreak","src":"281538:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"281524:6:21","nodeType":"YulIdentifier","src":"281524:6:21"},{"name":"w","nativeSrc":"281532:1:21","nodeType":"YulIdentifier","src":"281532:1:21"}],"functionName":{"name":"byte","nativeSrc":"281519:4:21","nodeType":"YulIdentifier","src":"281519:4:21"},"nativeSrc":"281519:15:21","nodeType":"YulFunctionCall","src":"281519:15:21"}],"functionName":{"name":"iszero","nativeSrc":"281512:6:21","nodeType":"YulIdentifier","src":"281512:6:21"},"nativeSrc":"281512:23:21","nodeType":"YulFunctionCall","src":"281512:23:21"},"nativeSrc":"281509:36:21","nodeType":"YulIf","src":"281509:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"281464:6:21","nodeType":"YulIdentifier","src":"281464:6:21"},{"kind":"number","nativeSrc":"281472:4:21","nodeType":"YulLiteral","src":"281472:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"281461:2:21","nodeType":"YulIdentifier","src":"281461:2:21"},"nativeSrc":"281461:16:21","nodeType":"YulFunctionCall","src":"281461:16:21"},"nativeSrc":"281454:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"281478:28:21","nodeType":"YulBlock","src":"281478:28:21","statements":[{"nativeSrc":"281480:24:21","nodeType":"YulAssignment","src":"281480:24:21","value":{"arguments":[{"name":"length","nativeSrc":"281494:6:21","nodeType":"YulIdentifier","src":"281494:6:21"},{"kind":"number","nativeSrc":"281502:1:21","nodeType":"YulLiteral","src":"281502:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"281490:3:21","nodeType":"YulIdentifier","src":"281490:3:21"},"nativeSrc":"281490:14:21","nodeType":"YulFunctionCall","src":"281490:14:21"},"variableNames":[{"name":"length","nativeSrc":"281480:6:21","nodeType":"YulIdentifier","src":"281480:6:21"}]}]},"pre":{"nativeSrc":"281458:2:21","nodeType":"YulBlock","src":"281458:2:21","statements":[]},"src":"281454:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"281571:3:21","nodeType":"YulIdentifier","src":"281571:3:21"},{"name":"length","nativeSrc":"281576:6:21","nodeType":"YulIdentifier","src":"281576:6:21"}],"functionName":{"name":"mstore","nativeSrc":"281564:6:21","nodeType":"YulIdentifier","src":"281564:6:21"},"nativeSrc":"281564:19:21","nodeType":"YulFunctionCall","src":"281564:19:21"},"nativeSrc":"281564:19:21","nodeType":"YulExpressionStatement","src":"281564:19:21"},{"nativeSrc":"281600:37:21","nodeType":"YulVariableDeclaration","src":"281600:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"281617:3:21","nodeType":"YulLiteral","src":"281617:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"281626:1:21","nodeType":"YulLiteral","src":"281626:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"281629:6:21","nodeType":"YulIdentifier","src":"281629:6:21"}],"functionName":{"name":"shl","nativeSrc":"281622:3:21","nodeType":"YulIdentifier","src":"281622:3:21"},"nativeSrc":"281622:14:21","nodeType":"YulFunctionCall","src":"281622:14:21"}],"functionName":{"name":"sub","nativeSrc":"281613:3:21","nodeType":"YulIdentifier","src":"281613:3:21"},"nativeSrc":"281613:24:21","nodeType":"YulFunctionCall","src":"281613:24:21"},"variables":[{"name":"shift","nativeSrc":"281604:5:21","nodeType":"YulTypedName","src":"281604:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"281665:3:21","nodeType":"YulIdentifier","src":"281665:3:21"},{"kind":"number","nativeSrc":"281670:4:21","nodeType":"YulLiteral","src":"281670:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"281661:3:21","nodeType":"YulIdentifier","src":"281661:3:21"},"nativeSrc":"281661:14:21","nodeType":"YulFunctionCall","src":"281661:14:21"},{"arguments":[{"name":"shift","nativeSrc":"281681:5:21","nodeType":"YulIdentifier","src":"281681:5:21"},{"arguments":[{"name":"shift","nativeSrc":"281692:5:21","nodeType":"YulIdentifier","src":"281692:5:21"},{"name":"w","nativeSrc":"281699:1:21","nodeType":"YulIdentifier","src":"281699:1:21"}],"functionName":{"name":"shr","nativeSrc":"281688:3:21","nodeType":"YulIdentifier","src":"281688:3:21"},"nativeSrc":"281688:13:21","nodeType":"YulFunctionCall","src":"281688:13:21"}],"functionName":{"name":"shl","nativeSrc":"281677:3:21","nodeType":"YulIdentifier","src":"281677:3:21"},"nativeSrc":"281677:25:21","nodeType":"YulFunctionCall","src":"281677:25:21"}],"functionName":{"name":"mstore","nativeSrc":"281654:6:21","nodeType":"YulIdentifier","src":"281654:6:21"},"nativeSrc":"281654:49:21","nodeType":"YulFunctionCall","src":"281654:49:21"},"nativeSrc":"281654:49:21","nodeType":"YulExpressionStatement","src":"281654:49:21"}]},"name":"writeString","nativeSrc":"281375:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"281396:3:21","nodeType":"YulTypedName","src":"281396:3:21","type":""},{"name":"w","nativeSrc":"281401:1:21","nodeType":"YulTypedName","src":"281401:1:21","type":""}],"src":"281375:342:21"},{"nativeSrc":"281730:17:21","nodeType":"YulAssignment","src":"281730:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"281742:4:21","nodeType":"YulLiteral","src":"281742:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"281736:5:21","nodeType":"YulIdentifier","src":"281736:5:21"},"nativeSrc":"281736:11:21","nodeType":"YulFunctionCall","src":"281736:11:21"},"variableNames":[{"name":"m0","nativeSrc":"281730:2:21","nodeType":"YulIdentifier","src":"281730:2:21"}]},{"nativeSrc":"281760:17:21","nodeType":"YulAssignment","src":"281760:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"281772:4:21","nodeType":"YulLiteral","src":"281772:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"281766:5:21","nodeType":"YulIdentifier","src":"281766:5:21"},"nativeSrc":"281766:11:21","nodeType":"YulFunctionCall","src":"281766:11:21"},"variableNames":[{"name":"m1","nativeSrc":"281760:2:21","nodeType":"YulIdentifier","src":"281760:2:21"}]},{"nativeSrc":"281790:17:21","nodeType":"YulAssignment","src":"281790:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"281802:4:21","nodeType":"YulLiteral","src":"281802:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"281796:5:21","nodeType":"YulIdentifier","src":"281796:5:21"},"nativeSrc":"281796:11:21","nodeType":"YulFunctionCall","src":"281796:11:21"},"variableNames":[{"name":"m2","nativeSrc":"281790:2:21","nodeType":"YulIdentifier","src":"281790:2:21"}]},{"nativeSrc":"281820:17:21","nodeType":"YulAssignment","src":"281820:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"281832:4:21","nodeType":"YulLiteral","src":"281832:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"281826:5:21","nodeType":"YulIdentifier","src":"281826:5:21"},"nativeSrc":"281826:11:21","nodeType":"YulFunctionCall","src":"281826:11:21"},"variableNames":[{"name":"m3","nativeSrc":"281820:2:21","nodeType":"YulIdentifier","src":"281820:2:21"}]},{"nativeSrc":"281850:17:21","nodeType":"YulAssignment","src":"281850:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"281862:4:21","nodeType":"YulLiteral","src":"281862:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"281856:5:21","nodeType":"YulIdentifier","src":"281856:5:21"},"nativeSrc":"281856:11:21","nodeType":"YulFunctionCall","src":"281856:11:21"},"variableNames":[{"name":"m4","nativeSrc":"281850:2:21","nodeType":"YulIdentifier","src":"281850:2:21"}]},{"nativeSrc":"281880:17:21","nodeType":"YulAssignment","src":"281880:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"281892:4:21","nodeType":"YulLiteral","src":"281892:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"281886:5:21","nodeType":"YulIdentifier","src":"281886:5:21"},"nativeSrc":"281886:11:21","nodeType":"YulFunctionCall","src":"281886:11:21"},"variableNames":[{"name":"m5","nativeSrc":"281880:2:21","nodeType":"YulIdentifier","src":"281880:2:21"}]},{"nativeSrc":"281910:17:21","nodeType":"YulAssignment","src":"281910:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"281922:4:21","nodeType":"YulLiteral","src":"281922:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"281916:5:21","nodeType":"YulIdentifier","src":"281916:5:21"},"nativeSrc":"281916:11:21","nodeType":"YulFunctionCall","src":"281916:11:21"},"variableNames":[{"name":"m6","nativeSrc":"281910:2:21","nodeType":"YulIdentifier","src":"281910:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282010:4:21","nodeType":"YulLiteral","src":"282010:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"282016:10:21","nodeType":"YulLiteral","src":"282016:10:21","type":"","value":"0x2c1d0746"}],"functionName":{"name":"mstore","nativeSrc":"282003:6:21","nodeType":"YulIdentifier","src":"282003:6:21"},"nativeSrc":"282003:24:21","nodeType":"YulFunctionCall","src":"282003:24:21"},"nativeSrc":"282003:24:21","nodeType":"YulExpressionStatement","src":"282003:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282047:4:21","nodeType":"YulLiteral","src":"282047:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"282053:2:21","nodeType":"YulIdentifier","src":"282053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282040:6:21","nodeType":"YulIdentifier","src":"282040:6:21"},"nativeSrc":"282040:16:21","nodeType":"YulFunctionCall","src":"282040:16:21"},"nativeSrc":"282040:16:21","nodeType":"YulExpressionStatement","src":"282040:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282076:4:21","nodeType":"YulLiteral","src":"282076:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"282082:2:21","nodeType":"YulIdentifier","src":"282082:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282069:6:21","nodeType":"YulIdentifier","src":"282069:6:21"},"nativeSrc":"282069:16:21","nodeType":"YulFunctionCall","src":"282069:16:21"},"nativeSrc":"282069:16:21","nodeType":"YulExpressionStatement","src":"282069:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282105:4:21","nodeType":"YulLiteral","src":"282105:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"282111:4:21","nodeType":"YulLiteral","src":"282111:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"282098:6:21","nodeType":"YulIdentifier","src":"282098:6:21"},"nativeSrc":"282098:18:21","nodeType":"YulFunctionCall","src":"282098:18:21"},"nativeSrc":"282098:18:21","nodeType":"YulExpressionStatement","src":"282098:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282136:4:21","nodeType":"YulLiteral","src":"282136:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"282142:2:21","nodeType":"YulIdentifier","src":"282142:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282129:6:21","nodeType":"YulIdentifier","src":"282129:6:21"},"nativeSrc":"282129:16:21","nodeType":"YulFunctionCall","src":"282129:16:21"},"nativeSrc":"282129:16:21","nodeType":"YulExpressionStatement","src":"282129:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282170:4:21","nodeType":"YulLiteral","src":"282170:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"282176:2:21","nodeType":"YulIdentifier","src":"282176:2:21"}],"functionName":{"name":"writeString","nativeSrc":"282158:11:21","nodeType":"YulIdentifier","src":"282158:11:21"},"nativeSrc":"282158:21:21","nodeType":"YulFunctionCall","src":"282158:21:21"},"nativeSrc":"282158:21:21","nodeType":"YulExpressionStatement","src":"282158:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35834,"isOffset":false,"isSlot":false,"src":"281730:2:21","valueSize":1},{"declaration":35837,"isOffset":false,"isSlot":false,"src":"281760:2:21","valueSize":1},{"declaration":35840,"isOffset":false,"isSlot":false,"src":"281790:2:21","valueSize":1},{"declaration":35843,"isOffset":false,"isSlot":false,"src":"281820:2:21","valueSize":1},{"declaration":35846,"isOffset":false,"isSlot":false,"src":"281850:2:21","valueSize":1},{"declaration":35849,"isOffset":false,"isSlot":false,"src":"281880:2:21","valueSize":1},{"declaration":35852,"isOffset":false,"isSlot":false,"src":"281910:2:21","valueSize":1},{"declaration":35824,"isOffset":false,"isSlot":false,"src":"282053:2:21","valueSize":1},{"declaration":35826,"isOffset":false,"isSlot":false,"src":"282082:2:21","valueSize":1},{"declaration":35828,"isOffset":false,"isSlot":false,"src":"282176:2:21","valueSize":1},{"declaration":35830,"isOffset":false,"isSlot":false,"src":"282142:2:21","valueSize":1}],"id":35854,"nodeType":"InlineAssembly","src":"281352:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"282214:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"282220:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35855,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"282198:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"282198:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35859,"nodeType":"ExpressionStatement","src":"282198:27:21"},{"AST":{"nativeSrc":"282287:214:21","nodeType":"YulBlock","src":"282287:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"282308:4:21","nodeType":"YulLiteral","src":"282308:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"282314:2:21","nodeType":"YulIdentifier","src":"282314:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282301:6:21","nodeType":"YulIdentifier","src":"282301:6:21"},"nativeSrc":"282301:16:21","nodeType":"YulFunctionCall","src":"282301:16:21"},"nativeSrc":"282301:16:21","nodeType":"YulExpressionStatement","src":"282301:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282337:4:21","nodeType":"YulLiteral","src":"282337:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"282343:2:21","nodeType":"YulIdentifier","src":"282343:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282330:6:21","nodeType":"YulIdentifier","src":"282330:6:21"},"nativeSrc":"282330:16:21","nodeType":"YulFunctionCall","src":"282330:16:21"},"nativeSrc":"282330:16:21","nodeType":"YulExpressionStatement","src":"282330:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282366:4:21","nodeType":"YulLiteral","src":"282366:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"282372:2:21","nodeType":"YulIdentifier","src":"282372:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282359:6:21","nodeType":"YulIdentifier","src":"282359:6:21"},"nativeSrc":"282359:16:21","nodeType":"YulFunctionCall","src":"282359:16:21"},"nativeSrc":"282359:16:21","nodeType":"YulExpressionStatement","src":"282359:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282395:4:21","nodeType":"YulLiteral","src":"282395:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"282401:2:21","nodeType":"YulIdentifier","src":"282401:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282388:6:21","nodeType":"YulIdentifier","src":"282388:6:21"},"nativeSrc":"282388:16:21","nodeType":"YulFunctionCall","src":"282388:16:21"},"nativeSrc":"282388:16:21","nodeType":"YulExpressionStatement","src":"282388:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282424:4:21","nodeType":"YulLiteral","src":"282424:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"282430:2:21","nodeType":"YulIdentifier","src":"282430:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282417:6:21","nodeType":"YulIdentifier","src":"282417:6:21"},"nativeSrc":"282417:16:21","nodeType":"YulFunctionCall","src":"282417:16:21"},"nativeSrc":"282417:16:21","nodeType":"YulExpressionStatement","src":"282417:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282453:4:21","nodeType":"YulLiteral","src":"282453:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"282459:2:21","nodeType":"YulIdentifier","src":"282459:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282446:6:21","nodeType":"YulIdentifier","src":"282446:6:21"},"nativeSrc":"282446:16:21","nodeType":"YulFunctionCall","src":"282446:16:21"},"nativeSrc":"282446:16:21","nodeType":"YulExpressionStatement","src":"282446:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282482:4:21","nodeType":"YulLiteral","src":"282482:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"282488:2:21","nodeType":"YulIdentifier","src":"282488:2:21"}],"functionName":{"name":"mstore","nativeSrc":"282475:6:21","nodeType":"YulIdentifier","src":"282475:6:21"},"nativeSrc":"282475:16:21","nodeType":"YulFunctionCall","src":"282475:16:21"},"nativeSrc":"282475:16:21","nodeType":"YulExpressionStatement","src":"282475:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35834,"isOffset":false,"isSlot":false,"src":"282314:2:21","valueSize":1},{"declaration":35837,"isOffset":false,"isSlot":false,"src":"282343:2:21","valueSize":1},{"declaration":35840,"isOffset":false,"isSlot":false,"src":"282372:2:21","valueSize":1},{"declaration":35843,"isOffset":false,"isSlot":false,"src":"282401:2:21","valueSize":1},{"declaration":35846,"isOffset":false,"isSlot":false,"src":"282430:2:21","valueSize":1},{"declaration":35849,"isOffset":false,"isSlot":false,"src":"282459:2:21","valueSize":1},{"declaration":35852,"isOffset":false,"isSlot":false,"src":"282488:2:21","valueSize":1}],"id":35860,"nodeType":"InlineAssembly","src":"282278:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"281096:3:21","parameters":{"id":35831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35824,"mutability":"mutable","name":"p0","nameLocation":"281108:2:21","nodeType":"VariableDeclaration","scope":35862,"src":"281100:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35823,"name":"uint256","nodeType":"ElementaryTypeName","src":"281100:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35826,"mutability":"mutable","name":"p1","nameLocation":"281117:2:21","nodeType":"VariableDeclaration","scope":35862,"src":"281112:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35825,"name":"bool","nodeType":"ElementaryTypeName","src":"281112:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35828,"mutability":"mutable","name":"p2","nameLocation":"281129:2:21","nodeType":"VariableDeclaration","scope":35862,"src":"281121:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281121:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35830,"mutability":"mutable","name":"p3","nameLocation":"281141:2:21","nodeType":"VariableDeclaration","scope":35862,"src":"281133:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35829,"name":"uint256","nodeType":"ElementaryTypeName","src":"281133:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"281099:45:21"},"returnParameters":{"id":35832,"nodeType":"ParameterList","parameters":[],"src":"281159:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35908,"nodeType":"FunctionDefinition","src":"282513:1616:21","nodes":[],"body":{"id":35907,"nodeType":"Block","src":"282585:1544:21","nodes":[],"statements":[{"assignments":[35874],"declarations":[{"constant":false,"id":35874,"mutability":"mutable","name":"m0","nameLocation":"282603:2:21","nodeType":"VariableDeclaration","scope":35907,"src":"282595:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282595:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35875,"nodeType":"VariableDeclarationStatement","src":"282595:10:21"},{"assignments":[35877],"declarations":[{"constant":false,"id":35877,"mutability":"mutable","name":"m1","nameLocation":"282623:2:21","nodeType":"VariableDeclaration","scope":35907,"src":"282615:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282615:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35878,"nodeType":"VariableDeclarationStatement","src":"282615:10:21"},{"assignments":[35880],"declarations":[{"constant":false,"id":35880,"mutability":"mutable","name":"m2","nameLocation":"282643:2:21","nodeType":"VariableDeclaration","scope":35907,"src":"282635:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282635:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35881,"nodeType":"VariableDeclarationStatement","src":"282635:10:21"},{"assignments":[35883],"declarations":[{"constant":false,"id":35883,"mutability":"mutable","name":"m3","nameLocation":"282663:2:21","nodeType":"VariableDeclaration","scope":35907,"src":"282655:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282655:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35884,"nodeType":"VariableDeclarationStatement","src":"282655:10:21"},{"assignments":[35886],"declarations":[{"constant":false,"id":35886,"mutability":"mutable","name":"m4","nameLocation":"282683:2:21","nodeType":"VariableDeclaration","scope":35907,"src":"282675:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282675:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35887,"nodeType":"VariableDeclarationStatement","src":"282675:10:21"},{"assignments":[35889],"declarations":[{"constant":false,"id":35889,"mutability":"mutable","name":"m5","nameLocation":"282703:2:21","nodeType":"VariableDeclaration","scope":35907,"src":"282695:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282695:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35890,"nodeType":"VariableDeclarationStatement","src":"282695:10:21"},{"assignments":[35892],"declarations":[{"constant":false,"id":35892,"mutability":"mutable","name":"m6","nameLocation":"282723:2:21","nodeType":"VariableDeclaration","scope":35907,"src":"282715:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282715:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35893,"nodeType":"VariableDeclarationStatement","src":"282715:10:21"},{"assignments":[35895],"declarations":[{"constant":false,"id":35895,"mutability":"mutable","name":"m7","nameLocation":"282743:2:21","nodeType":"VariableDeclaration","scope":35907,"src":"282735:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282735:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35896,"nodeType":"VariableDeclarationStatement","src":"282735:10:21"},{"assignments":[35898],"declarations":[{"constant":false,"id":35898,"mutability":"mutable","name":"m8","nameLocation":"282763:2:21","nodeType":"VariableDeclaration","scope":35907,"src":"282755:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282755:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35899,"nodeType":"VariableDeclarationStatement","src":"282755:10:21"},{"AST":{"nativeSrc":"282827:924:21","nodeType":"YulBlock","src":"282827:924:21","statements":[{"body":{"nativeSrc":"282870:313:21","nodeType":"YulBlock","src":"282870:313:21","statements":[{"nativeSrc":"282888:15:21","nodeType":"YulVariableDeclaration","src":"282888:15:21","value":{"kind":"number","nativeSrc":"282902:1:21","nodeType":"YulLiteral","src":"282902:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"282892:6:21","nodeType":"YulTypedName","src":"282892:6:21","type":""}]},{"body":{"nativeSrc":"282973:40:21","nodeType":"YulBlock","src":"282973:40:21","statements":[{"body":{"nativeSrc":"283002:9:21","nodeType":"YulBlock","src":"283002:9:21","statements":[{"nativeSrc":"283004:5:21","nodeType":"YulBreak","src":"283004:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"282990:6:21","nodeType":"YulIdentifier","src":"282990:6:21"},{"name":"w","nativeSrc":"282998:1:21","nodeType":"YulIdentifier","src":"282998:1:21"}],"functionName":{"name":"byte","nativeSrc":"282985:4:21","nodeType":"YulIdentifier","src":"282985:4:21"},"nativeSrc":"282985:15:21","nodeType":"YulFunctionCall","src":"282985:15:21"}],"functionName":{"name":"iszero","nativeSrc":"282978:6:21","nodeType":"YulIdentifier","src":"282978:6:21"},"nativeSrc":"282978:23:21","nodeType":"YulFunctionCall","src":"282978:23:21"},"nativeSrc":"282975:36:21","nodeType":"YulIf","src":"282975:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"282930:6:21","nodeType":"YulIdentifier","src":"282930:6:21"},{"kind":"number","nativeSrc":"282938:4:21","nodeType":"YulLiteral","src":"282938:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"282927:2:21","nodeType":"YulIdentifier","src":"282927:2:21"},"nativeSrc":"282927:16:21","nodeType":"YulFunctionCall","src":"282927:16:21"},"nativeSrc":"282920:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"282944:28:21","nodeType":"YulBlock","src":"282944:28:21","statements":[{"nativeSrc":"282946:24:21","nodeType":"YulAssignment","src":"282946:24:21","value":{"arguments":[{"name":"length","nativeSrc":"282960:6:21","nodeType":"YulIdentifier","src":"282960:6:21"},{"kind":"number","nativeSrc":"282968:1:21","nodeType":"YulLiteral","src":"282968:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"282956:3:21","nodeType":"YulIdentifier","src":"282956:3:21"},"nativeSrc":"282956:14:21","nodeType":"YulFunctionCall","src":"282956:14:21"},"variableNames":[{"name":"length","nativeSrc":"282946:6:21","nodeType":"YulIdentifier","src":"282946:6:21"}]}]},"pre":{"nativeSrc":"282924:2:21","nodeType":"YulBlock","src":"282924:2:21","statements":[]},"src":"282920:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"283037:3:21","nodeType":"YulIdentifier","src":"283037:3:21"},{"name":"length","nativeSrc":"283042:6:21","nodeType":"YulIdentifier","src":"283042:6:21"}],"functionName":{"name":"mstore","nativeSrc":"283030:6:21","nodeType":"YulIdentifier","src":"283030:6:21"},"nativeSrc":"283030:19:21","nodeType":"YulFunctionCall","src":"283030:19:21"},"nativeSrc":"283030:19:21","nodeType":"YulExpressionStatement","src":"283030:19:21"},{"nativeSrc":"283066:37:21","nodeType":"YulVariableDeclaration","src":"283066:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"283083:3:21","nodeType":"YulLiteral","src":"283083:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"283092:1:21","nodeType":"YulLiteral","src":"283092:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"283095:6:21","nodeType":"YulIdentifier","src":"283095:6:21"}],"functionName":{"name":"shl","nativeSrc":"283088:3:21","nodeType":"YulIdentifier","src":"283088:3:21"},"nativeSrc":"283088:14:21","nodeType":"YulFunctionCall","src":"283088:14:21"}],"functionName":{"name":"sub","nativeSrc":"283079:3:21","nodeType":"YulIdentifier","src":"283079:3:21"},"nativeSrc":"283079:24:21","nodeType":"YulFunctionCall","src":"283079:24:21"},"variables":[{"name":"shift","nativeSrc":"283070:5:21","nodeType":"YulTypedName","src":"283070:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"283131:3:21","nodeType":"YulIdentifier","src":"283131:3:21"},{"kind":"number","nativeSrc":"283136:4:21","nodeType":"YulLiteral","src":"283136:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"283127:3:21","nodeType":"YulIdentifier","src":"283127:3:21"},"nativeSrc":"283127:14:21","nodeType":"YulFunctionCall","src":"283127:14:21"},{"arguments":[{"name":"shift","nativeSrc":"283147:5:21","nodeType":"YulIdentifier","src":"283147:5:21"},{"arguments":[{"name":"shift","nativeSrc":"283158:5:21","nodeType":"YulIdentifier","src":"283158:5:21"},{"name":"w","nativeSrc":"283165:1:21","nodeType":"YulIdentifier","src":"283165:1:21"}],"functionName":{"name":"shr","nativeSrc":"283154:3:21","nodeType":"YulIdentifier","src":"283154:3:21"},"nativeSrc":"283154:13:21","nodeType":"YulFunctionCall","src":"283154:13:21"}],"functionName":{"name":"shl","nativeSrc":"283143:3:21","nodeType":"YulIdentifier","src":"283143:3:21"},"nativeSrc":"283143:25:21","nodeType":"YulFunctionCall","src":"283143:25:21"}],"functionName":{"name":"mstore","nativeSrc":"283120:6:21","nodeType":"YulIdentifier","src":"283120:6:21"},"nativeSrc":"283120:49:21","nodeType":"YulFunctionCall","src":"283120:49:21"},"nativeSrc":"283120:49:21","nodeType":"YulExpressionStatement","src":"283120:49:21"}]},"name":"writeString","nativeSrc":"282841:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"282862:3:21","nodeType":"YulTypedName","src":"282862:3:21","type":""},{"name":"w","nativeSrc":"282867:1:21","nodeType":"YulTypedName","src":"282867:1:21","type":""}],"src":"282841:342:21"},{"nativeSrc":"283196:17:21","nodeType":"YulAssignment","src":"283196:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"283208:4:21","nodeType":"YulLiteral","src":"283208:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"283202:5:21","nodeType":"YulIdentifier","src":"283202:5:21"},"nativeSrc":"283202:11:21","nodeType":"YulFunctionCall","src":"283202:11:21"},"variableNames":[{"name":"m0","nativeSrc":"283196:2:21","nodeType":"YulIdentifier","src":"283196:2:21"}]},{"nativeSrc":"283226:17:21","nodeType":"YulAssignment","src":"283226:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"283238:4:21","nodeType":"YulLiteral","src":"283238:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"283232:5:21","nodeType":"YulIdentifier","src":"283232:5:21"},"nativeSrc":"283232:11:21","nodeType":"YulFunctionCall","src":"283232:11:21"},"variableNames":[{"name":"m1","nativeSrc":"283226:2:21","nodeType":"YulIdentifier","src":"283226:2:21"}]},{"nativeSrc":"283256:17:21","nodeType":"YulAssignment","src":"283256:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"283268:4:21","nodeType":"YulLiteral","src":"283268:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"283262:5:21","nodeType":"YulIdentifier","src":"283262:5:21"},"nativeSrc":"283262:11:21","nodeType":"YulFunctionCall","src":"283262:11:21"},"variableNames":[{"name":"m2","nativeSrc":"283256:2:21","nodeType":"YulIdentifier","src":"283256:2:21"}]},{"nativeSrc":"283286:17:21","nodeType":"YulAssignment","src":"283286:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"283298:4:21","nodeType":"YulLiteral","src":"283298:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"283292:5:21","nodeType":"YulIdentifier","src":"283292:5:21"},"nativeSrc":"283292:11:21","nodeType":"YulFunctionCall","src":"283292:11:21"},"variableNames":[{"name":"m3","nativeSrc":"283286:2:21","nodeType":"YulIdentifier","src":"283286:2:21"}]},{"nativeSrc":"283316:17:21","nodeType":"YulAssignment","src":"283316:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"283328:4:21","nodeType":"YulLiteral","src":"283328:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"283322:5:21","nodeType":"YulIdentifier","src":"283322:5:21"},"nativeSrc":"283322:11:21","nodeType":"YulFunctionCall","src":"283322:11:21"},"variableNames":[{"name":"m4","nativeSrc":"283316:2:21","nodeType":"YulIdentifier","src":"283316:2:21"}]},{"nativeSrc":"283346:17:21","nodeType":"YulAssignment","src":"283346:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"283358:4:21","nodeType":"YulLiteral","src":"283358:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"283352:5:21","nodeType":"YulIdentifier","src":"283352:5:21"},"nativeSrc":"283352:11:21","nodeType":"YulFunctionCall","src":"283352:11:21"},"variableNames":[{"name":"m5","nativeSrc":"283346:2:21","nodeType":"YulIdentifier","src":"283346:2:21"}]},{"nativeSrc":"283376:17:21","nodeType":"YulAssignment","src":"283376:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"283388:4:21","nodeType":"YulLiteral","src":"283388:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"283382:5:21","nodeType":"YulIdentifier","src":"283382:5:21"},"nativeSrc":"283382:11:21","nodeType":"YulFunctionCall","src":"283382:11:21"},"variableNames":[{"name":"m6","nativeSrc":"283376:2:21","nodeType":"YulIdentifier","src":"283376:2:21"}]},{"nativeSrc":"283406:17:21","nodeType":"YulAssignment","src":"283406:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"283418:4:21","nodeType":"YulLiteral","src":"283418:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"283412:5:21","nodeType":"YulIdentifier","src":"283412:5:21"},"nativeSrc":"283412:11:21","nodeType":"YulFunctionCall","src":"283412:11:21"},"variableNames":[{"name":"m7","nativeSrc":"283406:2:21","nodeType":"YulIdentifier","src":"283406:2:21"}]},{"nativeSrc":"283436:18:21","nodeType":"YulAssignment","src":"283436:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"283448:5:21","nodeType":"YulLiteral","src":"283448:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"283442:5:21","nodeType":"YulIdentifier","src":"283442:5:21"},"nativeSrc":"283442:12:21","nodeType":"YulFunctionCall","src":"283442:12:21"},"variableNames":[{"name":"m8","nativeSrc":"283436:2:21","nodeType":"YulIdentifier","src":"283436:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283536:4:21","nodeType":"YulLiteral","src":"283536:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"283542:10:21","nodeType":"YulLiteral","src":"283542:10:21","type":"","value":"0x68c8b8bd"}],"functionName":{"name":"mstore","nativeSrc":"283529:6:21","nodeType":"YulIdentifier","src":"283529:6:21"},"nativeSrc":"283529:24:21","nodeType":"YulFunctionCall","src":"283529:24:21"},"nativeSrc":"283529:24:21","nodeType":"YulExpressionStatement","src":"283529:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283573:4:21","nodeType":"YulLiteral","src":"283573:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"283579:2:21","nodeType":"YulIdentifier","src":"283579:2:21"}],"functionName":{"name":"mstore","nativeSrc":"283566:6:21","nodeType":"YulIdentifier","src":"283566:6:21"},"nativeSrc":"283566:16:21","nodeType":"YulFunctionCall","src":"283566:16:21"},"nativeSrc":"283566:16:21","nodeType":"YulExpressionStatement","src":"283566:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283602:4:21","nodeType":"YulLiteral","src":"283602:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"283608:2:21","nodeType":"YulIdentifier","src":"283608:2:21"}],"functionName":{"name":"mstore","nativeSrc":"283595:6:21","nodeType":"YulIdentifier","src":"283595:6:21"},"nativeSrc":"283595:16:21","nodeType":"YulFunctionCall","src":"283595:16:21"},"nativeSrc":"283595:16:21","nodeType":"YulExpressionStatement","src":"283595:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283631:4:21","nodeType":"YulLiteral","src":"283631:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"283637:4:21","nodeType":"YulLiteral","src":"283637:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"283624:6:21","nodeType":"YulIdentifier","src":"283624:6:21"},"nativeSrc":"283624:18:21","nodeType":"YulFunctionCall","src":"283624:18:21"},"nativeSrc":"283624:18:21","nodeType":"YulExpressionStatement","src":"283624:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283662:4:21","nodeType":"YulLiteral","src":"283662:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"283668:4:21","nodeType":"YulLiteral","src":"283668:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"283655:6:21","nodeType":"YulIdentifier","src":"283655:6:21"},"nativeSrc":"283655:18:21","nodeType":"YulFunctionCall","src":"283655:18:21"},"nativeSrc":"283655:18:21","nodeType":"YulExpressionStatement","src":"283655:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283698:4:21","nodeType":"YulLiteral","src":"283698:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"283704:2:21","nodeType":"YulIdentifier","src":"283704:2:21"}],"functionName":{"name":"writeString","nativeSrc":"283686:11:21","nodeType":"YulIdentifier","src":"283686:11:21"},"nativeSrc":"283686:21:21","nodeType":"YulFunctionCall","src":"283686:21:21"},"nativeSrc":"283686:21:21","nodeType":"YulExpressionStatement","src":"283686:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283732:4:21","nodeType":"YulLiteral","src":"283732:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"283738:2:21","nodeType":"YulIdentifier","src":"283738:2:21"}],"functionName":{"name":"writeString","nativeSrc":"283720:11:21","nodeType":"YulIdentifier","src":"283720:11:21"},"nativeSrc":"283720:21:21","nodeType":"YulFunctionCall","src":"283720:21:21"},"nativeSrc":"283720:21:21","nodeType":"YulExpressionStatement","src":"283720:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35874,"isOffset":false,"isSlot":false,"src":"283196:2:21","valueSize":1},{"declaration":35877,"isOffset":false,"isSlot":false,"src":"283226:2:21","valueSize":1},{"declaration":35880,"isOffset":false,"isSlot":false,"src":"283256:2:21","valueSize":1},{"declaration":35883,"isOffset":false,"isSlot":false,"src":"283286:2:21","valueSize":1},{"declaration":35886,"isOffset":false,"isSlot":false,"src":"283316:2:21","valueSize":1},{"declaration":35889,"isOffset":false,"isSlot":false,"src":"283346:2:21","valueSize":1},{"declaration":35892,"isOffset":false,"isSlot":false,"src":"283376:2:21","valueSize":1},{"declaration":35895,"isOffset":false,"isSlot":false,"src":"283406:2:21","valueSize":1},{"declaration":35898,"isOffset":false,"isSlot":false,"src":"283436:2:21","valueSize":1},{"declaration":35864,"isOffset":false,"isSlot":false,"src":"283579:2:21","valueSize":1},{"declaration":35866,"isOffset":false,"isSlot":false,"src":"283608:2:21","valueSize":1},{"declaration":35868,"isOffset":false,"isSlot":false,"src":"283704:2:21","valueSize":1},{"declaration":35870,"isOffset":false,"isSlot":false,"src":"283738:2:21","valueSize":1}],"id":35900,"nodeType":"InlineAssembly","src":"282818:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"283776:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":35903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"283782:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":35901,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"283760:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"283760:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35905,"nodeType":"ExpressionStatement","src":"283760:28:21"},{"AST":{"nativeSrc":"283850:273:21","nodeType":"YulBlock","src":"283850:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"283871:4:21","nodeType":"YulLiteral","src":"283871:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"283877:2:21","nodeType":"YulIdentifier","src":"283877:2:21"}],"functionName":{"name":"mstore","nativeSrc":"283864:6:21","nodeType":"YulIdentifier","src":"283864:6:21"},"nativeSrc":"283864:16:21","nodeType":"YulFunctionCall","src":"283864:16:21"},"nativeSrc":"283864:16:21","nodeType":"YulExpressionStatement","src":"283864:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283900:4:21","nodeType":"YulLiteral","src":"283900:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"283906:2:21","nodeType":"YulIdentifier","src":"283906:2:21"}],"functionName":{"name":"mstore","nativeSrc":"283893:6:21","nodeType":"YulIdentifier","src":"283893:6:21"},"nativeSrc":"283893:16:21","nodeType":"YulFunctionCall","src":"283893:16:21"},"nativeSrc":"283893:16:21","nodeType":"YulExpressionStatement","src":"283893:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283929:4:21","nodeType":"YulLiteral","src":"283929:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"283935:2:21","nodeType":"YulIdentifier","src":"283935:2:21"}],"functionName":{"name":"mstore","nativeSrc":"283922:6:21","nodeType":"YulIdentifier","src":"283922:6:21"},"nativeSrc":"283922:16:21","nodeType":"YulFunctionCall","src":"283922:16:21"},"nativeSrc":"283922:16:21","nodeType":"YulExpressionStatement","src":"283922:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283958:4:21","nodeType":"YulLiteral","src":"283958:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"283964:2:21","nodeType":"YulIdentifier","src":"283964:2:21"}],"functionName":{"name":"mstore","nativeSrc":"283951:6:21","nodeType":"YulIdentifier","src":"283951:6:21"},"nativeSrc":"283951:16:21","nodeType":"YulFunctionCall","src":"283951:16:21"},"nativeSrc":"283951:16:21","nodeType":"YulExpressionStatement","src":"283951:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283987:4:21","nodeType":"YulLiteral","src":"283987:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"283993:2:21","nodeType":"YulIdentifier","src":"283993:2:21"}],"functionName":{"name":"mstore","nativeSrc":"283980:6:21","nodeType":"YulIdentifier","src":"283980:6:21"},"nativeSrc":"283980:16:21","nodeType":"YulFunctionCall","src":"283980:16:21"},"nativeSrc":"283980:16:21","nodeType":"YulExpressionStatement","src":"283980:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284016:4:21","nodeType":"YulLiteral","src":"284016:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"284022:2:21","nodeType":"YulIdentifier","src":"284022:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284009:6:21","nodeType":"YulIdentifier","src":"284009:6:21"},"nativeSrc":"284009:16:21","nodeType":"YulFunctionCall","src":"284009:16:21"},"nativeSrc":"284009:16:21","nodeType":"YulExpressionStatement","src":"284009:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284045:4:21","nodeType":"YulLiteral","src":"284045:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"284051:2:21","nodeType":"YulIdentifier","src":"284051:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284038:6:21","nodeType":"YulIdentifier","src":"284038:6:21"},"nativeSrc":"284038:16:21","nodeType":"YulFunctionCall","src":"284038:16:21"},"nativeSrc":"284038:16:21","nodeType":"YulExpressionStatement","src":"284038:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284074:4:21","nodeType":"YulLiteral","src":"284074:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"284080:2:21","nodeType":"YulIdentifier","src":"284080:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284067:6:21","nodeType":"YulIdentifier","src":"284067:6:21"},"nativeSrc":"284067:16:21","nodeType":"YulFunctionCall","src":"284067:16:21"},"nativeSrc":"284067:16:21","nodeType":"YulExpressionStatement","src":"284067:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284103:5:21","nodeType":"YulLiteral","src":"284103:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"284110:2:21","nodeType":"YulIdentifier","src":"284110:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284096:6:21","nodeType":"YulIdentifier","src":"284096:6:21"},"nativeSrc":"284096:17:21","nodeType":"YulFunctionCall","src":"284096:17:21"},"nativeSrc":"284096:17:21","nodeType":"YulExpressionStatement","src":"284096:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35874,"isOffset":false,"isSlot":false,"src":"283877:2:21","valueSize":1},{"declaration":35877,"isOffset":false,"isSlot":false,"src":"283906:2:21","valueSize":1},{"declaration":35880,"isOffset":false,"isSlot":false,"src":"283935:2:21","valueSize":1},{"declaration":35883,"isOffset":false,"isSlot":false,"src":"283964:2:21","valueSize":1},{"declaration":35886,"isOffset":false,"isSlot":false,"src":"283993:2:21","valueSize":1},{"declaration":35889,"isOffset":false,"isSlot":false,"src":"284022:2:21","valueSize":1},{"declaration":35892,"isOffset":false,"isSlot":false,"src":"284051:2:21","valueSize":1},{"declaration":35895,"isOffset":false,"isSlot":false,"src":"284080:2:21","valueSize":1},{"declaration":35898,"isOffset":false,"isSlot":false,"src":"284110:2:21","valueSize":1}],"id":35906,"nodeType":"InlineAssembly","src":"283841:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"282522:3:21","parameters":{"id":35871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35864,"mutability":"mutable","name":"p0","nameLocation":"282534:2:21","nodeType":"VariableDeclaration","scope":35908,"src":"282526:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35863,"name":"uint256","nodeType":"ElementaryTypeName","src":"282526:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35866,"mutability":"mutable","name":"p1","nameLocation":"282543:2:21","nodeType":"VariableDeclaration","scope":35908,"src":"282538:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35865,"name":"bool","nodeType":"ElementaryTypeName","src":"282538:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35868,"mutability":"mutable","name":"p2","nameLocation":"282555:2:21","nodeType":"VariableDeclaration","scope":35908,"src":"282547:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282547:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35870,"mutability":"mutable","name":"p3","nameLocation":"282567:2:21","nodeType":"VariableDeclaration","scope":35908,"src":"282559:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282559:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"282525:45:21"},"returnParameters":{"id":35872,"nodeType":"ParameterList","parameters":[],"src":"282585:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35942,"nodeType":"FunctionDefinition","src":"284135:878:21","nodes":[],"body":{"id":35941,"nodeType":"Block","src":"284210:803:21","nodes":[],"statements":[{"assignments":[35920],"declarations":[{"constant":false,"id":35920,"mutability":"mutable","name":"m0","nameLocation":"284228:2:21","nodeType":"VariableDeclaration","scope":35941,"src":"284220:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284220:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35921,"nodeType":"VariableDeclarationStatement","src":"284220:10:21"},{"assignments":[35923],"declarations":[{"constant":false,"id":35923,"mutability":"mutable","name":"m1","nameLocation":"284248:2:21","nodeType":"VariableDeclaration","scope":35941,"src":"284240:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284240:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35924,"nodeType":"VariableDeclarationStatement","src":"284240:10:21"},{"assignments":[35926],"declarations":[{"constant":false,"id":35926,"mutability":"mutable","name":"m2","nameLocation":"284268:2:21","nodeType":"VariableDeclaration","scope":35941,"src":"284260:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284260:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35927,"nodeType":"VariableDeclarationStatement","src":"284260:10:21"},{"assignments":[35929],"declarations":[{"constant":false,"id":35929,"mutability":"mutable","name":"m3","nameLocation":"284288:2:21","nodeType":"VariableDeclaration","scope":35941,"src":"284280:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284280:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35930,"nodeType":"VariableDeclarationStatement","src":"284280:10:21"},{"assignments":[35932],"declarations":[{"constant":false,"id":35932,"mutability":"mutable","name":"m4","nameLocation":"284308:2:21","nodeType":"VariableDeclaration","scope":35941,"src":"284300:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284300:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35933,"nodeType":"VariableDeclarationStatement","src":"284300:10:21"},{"AST":{"nativeSrc":"284372:381:21","nodeType":"YulBlock","src":"284372:381:21","statements":[{"nativeSrc":"284386:17:21","nodeType":"YulAssignment","src":"284386:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"284398:4:21","nodeType":"YulLiteral","src":"284398:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"284392:5:21","nodeType":"YulIdentifier","src":"284392:5:21"},"nativeSrc":"284392:11:21","nodeType":"YulFunctionCall","src":"284392:11:21"},"variableNames":[{"name":"m0","nativeSrc":"284386:2:21","nodeType":"YulIdentifier","src":"284386:2:21"}]},{"nativeSrc":"284416:17:21","nodeType":"YulAssignment","src":"284416:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"284428:4:21","nodeType":"YulLiteral","src":"284428:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"284422:5:21","nodeType":"YulIdentifier","src":"284422:5:21"},"nativeSrc":"284422:11:21","nodeType":"YulFunctionCall","src":"284422:11:21"},"variableNames":[{"name":"m1","nativeSrc":"284416:2:21","nodeType":"YulIdentifier","src":"284416:2:21"}]},{"nativeSrc":"284446:17:21","nodeType":"YulAssignment","src":"284446:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"284458:4:21","nodeType":"YulLiteral","src":"284458:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"284452:5:21","nodeType":"YulIdentifier","src":"284452:5:21"},"nativeSrc":"284452:11:21","nodeType":"YulFunctionCall","src":"284452:11:21"},"variableNames":[{"name":"m2","nativeSrc":"284446:2:21","nodeType":"YulIdentifier","src":"284446:2:21"}]},{"nativeSrc":"284476:17:21","nodeType":"YulAssignment","src":"284476:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"284488:4:21","nodeType":"YulLiteral","src":"284488:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"284482:5:21","nodeType":"YulIdentifier","src":"284482:5:21"},"nativeSrc":"284482:11:21","nodeType":"YulFunctionCall","src":"284482:11:21"},"variableNames":[{"name":"m3","nativeSrc":"284476:2:21","nodeType":"YulIdentifier","src":"284476:2:21"}]},{"nativeSrc":"284506:17:21","nodeType":"YulAssignment","src":"284506:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"284518:4:21","nodeType":"YulLiteral","src":"284518:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"284512:5:21","nodeType":"YulIdentifier","src":"284512:5:21"},"nativeSrc":"284512:11:21","nodeType":"YulFunctionCall","src":"284512:11:21"},"variableNames":[{"name":"m4","nativeSrc":"284506:2:21","nodeType":"YulIdentifier","src":"284506:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284610:4:21","nodeType":"YulLiteral","src":"284610:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"284616:10:21","nodeType":"YulLiteral","src":"284616:10:21","type":"","value":"0x56a5d1b1"}],"functionName":{"name":"mstore","nativeSrc":"284603:6:21","nodeType":"YulIdentifier","src":"284603:6:21"},"nativeSrc":"284603:24:21","nodeType":"YulFunctionCall","src":"284603:24:21"},"nativeSrc":"284603:24:21","nodeType":"YulExpressionStatement","src":"284603:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284647:4:21","nodeType":"YulLiteral","src":"284647:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"284653:2:21","nodeType":"YulIdentifier","src":"284653:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284640:6:21","nodeType":"YulIdentifier","src":"284640:6:21"},"nativeSrc":"284640:16:21","nodeType":"YulFunctionCall","src":"284640:16:21"},"nativeSrc":"284640:16:21","nodeType":"YulExpressionStatement","src":"284640:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284676:4:21","nodeType":"YulLiteral","src":"284676:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"284682:2:21","nodeType":"YulIdentifier","src":"284682:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284669:6:21","nodeType":"YulIdentifier","src":"284669:6:21"},"nativeSrc":"284669:16:21","nodeType":"YulFunctionCall","src":"284669:16:21"},"nativeSrc":"284669:16:21","nodeType":"YulExpressionStatement","src":"284669:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284705:4:21","nodeType":"YulLiteral","src":"284705:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"284711:2:21","nodeType":"YulIdentifier","src":"284711:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284698:6:21","nodeType":"YulIdentifier","src":"284698:6:21"},"nativeSrc":"284698:16:21","nodeType":"YulFunctionCall","src":"284698:16:21"},"nativeSrc":"284698:16:21","nodeType":"YulExpressionStatement","src":"284698:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284734:4:21","nodeType":"YulLiteral","src":"284734:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"284740:2:21","nodeType":"YulIdentifier","src":"284740:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284727:6:21","nodeType":"YulIdentifier","src":"284727:6:21"},"nativeSrc":"284727:16:21","nodeType":"YulFunctionCall","src":"284727:16:21"},"nativeSrc":"284727:16:21","nodeType":"YulExpressionStatement","src":"284727:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35920,"isOffset":false,"isSlot":false,"src":"284386:2:21","valueSize":1},{"declaration":35923,"isOffset":false,"isSlot":false,"src":"284416:2:21","valueSize":1},{"declaration":35926,"isOffset":false,"isSlot":false,"src":"284446:2:21","valueSize":1},{"declaration":35929,"isOffset":false,"isSlot":false,"src":"284476:2:21","valueSize":1},{"declaration":35932,"isOffset":false,"isSlot":false,"src":"284506:2:21","valueSize":1},{"declaration":35910,"isOffset":false,"isSlot":false,"src":"284653:2:21","valueSize":1},{"declaration":35912,"isOffset":false,"isSlot":false,"src":"284682:2:21","valueSize":1},{"declaration":35914,"isOffset":false,"isSlot":false,"src":"284711:2:21","valueSize":1},{"declaration":35916,"isOffset":false,"isSlot":false,"src":"284740:2:21","valueSize":1}],"id":35934,"nodeType":"InlineAssembly","src":"284363:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"284778:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"284784:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35935,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"284762:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"284762:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35939,"nodeType":"ExpressionStatement","src":"284762:27:21"},{"AST":{"nativeSrc":"284851:156:21","nodeType":"YulBlock","src":"284851:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"284872:4:21","nodeType":"YulLiteral","src":"284872:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"284878:2:21","nodeType":"YulIdentifier","src":"284878:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284865:6:21","nodeType":"YulIdentifier","src":"284865:6:21"},"nativeSrc":"284865:16:21","nodeType":"YulFunctionCall","src":"284865:16:21"},"nativeSrc":"284865:16:21","nodeType":"YulExpressionStatement","src":"284865:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284901:4:21","nodeType":"YulLiteral","src":"284901:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"284907:2:21","nodeType":"YulIdentifier","src":"284907:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284894:6:21","nodeType":"YulIdentifier","src":"284894:6:21"},"nativeSrc":"284894:16:21","nodeType":"YulFunctionCall","src":"284894:16:21"},"nativeSrc":"284894:16:21","nodeType":"YulExpressionStatement","src":"284894:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284930:4:21","nodeType":"YulLiteral","src":"284930:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"284936:2:21","nodeType":"YulIdentifier","src":"284936:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284923:6:21","nodeType":"YulIdentifier","src":"284923:6:21"},"nativeSrc":"284923:16:21","nodeType":"YulFunctionCall","src":"284923:16:21"},"nativeSrc":"284923:16:21","nodeType":"YulExpressionStatement","src":"284923:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284959:4:21","nodeType":"YulLiteral","src":"284959:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"284965:2:21","nodeType":"YulIdentifier","src":"284965:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284952:6:21","nodeType":"YulIdentifier","src":"284952:6:21"},"nativeSrc":"284952:16:21","nodeType":"YulFunctionCall","src":"284952:16:21"},"nativeSrc":"284952:16:21","nodeType":"YulExpressionStatement","src":"284952:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284988:4:21","nodeType":"YulLiteral","src":"284988:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"284994:2:21","nodeType":"YulIdentifier","src":"284994:2:21"}],"functionName":{"name":"mstore","nativeSrc":"284981:6:21","nodeType":"YulIdentifier","src":"284981:6:21"},"nativeSrc":"284981:16:21","nodeType":"YulFunctionCall","src":"284981:16:21"},"nativeSrc":"284981:16:21","nodeType":"YulExpressionStatement","src":"284981:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35920,"isOffset":false,"isSlot":false,"src":"284878:2:21","valueSize":1},{"declaration":35923,"isOffset":false,"isSlot":false,"src":"284907:2:21","valueSize":1},{"declaration":35926,"isOffset":false,"isSlot":false,"src":"284936:2:21","valueSize":1},{"declaration":35929,"isOffset":false,"isSlot":false,"src":"284965:2:21","valueSize":1},{"declaration":35932,"isOffset":false,"isSlot":false,"src":"284994:2:21","valueSize":1}],"id":35940,"nodeType":"InlineAssembly","src":"284842:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"284144:3:21","parameters":{"id":35917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35910,"mutability":"mutable","name":"p0","nameLocation":"284156:2:21","nodeType":"VariableDeclaration","scope":35942,"src":"284148:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35909,"name":"uint256","nodeType":"ElementaryTypeName","src":"284148:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35912,"mutability":"mutable","name":"p1","nameLocation":"284168:2:21","nodeType":"VariableDeclaration","scope":35942,"src":"284160:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35911,"name":"uint256","nodeType":"ElementaryTypeName","src":"284160:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35914,"mutability":"mutable","name":"p2","nameLocation":"284180:2:21","nodeType":"VariableDeclaration","scope":35942,"src":"284172:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35913,"name":"address","nodeType":"ElementaryTypeName","src":"284172:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35916,"mutability":"mutable","name":"p3","nameLocation":"284192:2:21","nodeType":"VariableDeclaration","scope":35942,"src":"284184:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35915,"name":"address","nodeType":"ElementaryTypeName","src":"284184:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"284147:48:21"},"returnParameters":{"id":35918,"nodeType":"ParameterList","parameters":[],"src":"284210:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35976,"nodeType":"FunctionDefinition","src":"285019:872:21","nodes":[],"body":{"id":35975,"nodeType":"Block","src":"285091:800:21","nodes":[],"statements":[{"assignments":[35954],"declarations":[{"constant":false,"id":35954,"mutability":"mutable","name":"m0","nameLocation":"285109:2:21","nodeType":"VariableDeclaration","scope":35975,"src":"285101:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285101:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35955,"nodeType":"VariableDeclarationStatement","src":"285101:10:21"},{"assignments":[35957],"declarations":[{"constant":false,"id":35957,"mutability":"mutable","name":"m1","nameLocation":"285129:2:21","nodeType":"VariableDeclaration","scope":35975,"src":"285121:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285121:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35958,"nodeType":"VariableDeclarationStatement","src":"285121:10:21"},{"assignments":[35960],"declarations":[{"constant":false,"id":35960,"mutability":"mutable","name":"m2","nameLocation":"285149:2:21","nodeType":"VariableDeclaration","scope":35975,"src":"285141:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285141:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35961,"nodeType":"VariableDeclarationStatement","src":"285141:10:21"},{"assignments":[35963],"declarations":[{"constant":false,"id":35963,"mutability":"mutable","name":"m3","nameLocation":"285169:2:21","nodeType":"VariableDeclaration","scope":35975,"src":"285161:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35962,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285161:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35964,"nodeType":"VariableDeclarationStatement","src":"285161:10:21"},{"assignments":[35966],"declarations":[{"constant":false,"id":35966,"mutability":"mutable","name":"m4","nameLocation":"285189:2:21","nodeType":"VariableDeclaration","scope":35975,"src":"285181:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285181:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35967,"nodeType":"VariableDeclarationStatement","src":"285181:10:21"},{"AST":{"nativeSrc":"285253:378:21","nodeType":"YulBlock","src":"285253:378:21","statements":[{"nativeSrc":"285267:17:21","nodeType":"YulAssignment","src":"285267:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"285279:4:21","nodeType":"YulLiteral","src":"285279:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"285273:5:21","nodeType":"YulIdentifier","src":"285273:5:21"},"nativeSrc":"285273:11:21","nodeType":"YulFunctionCall","src":"285273:11:21"},"variableNames":[{"name":"m0","nativeSrc":"285267:2:21","nodeType":"YulIdentifier","src":"285267:2:21"}]},{"nativeSrc":"285297:17:21","nodeType":"YulAssignment","src":"285297:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"285309:4:21","nodeType":"YulLiteral","src":"285309:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"285303:5:21","nodeType":"YulIdentifier","src":"285303:5:21"},"nativeSrc":"285303:11:21","nodeType":"YulFunctionCall","src":"285303:11:21"},"variableNames":[{"name":"m1","nativeSrc":"285297:2:21","nodeType":"YulIdentifier","src":"285297:2:21"}]},{"nativeSrc":"285327:17:21","nodeType":"YulAssignment","src":"285327:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"285339:4:21","nodeType":"YulLiteral","src":"285339:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"285333:5:21","nodeType":"YulIdentifier","src":"285333:5:21"},"nativeSrc":"285333:11:21","nodeType":"YulFunctionCall","src":"285333:11:21"},"variableNames":[{"name":"m2","nativeSrc":"285327:2:21","nodeType":"YulIdentifier","src":"285327:2:21"}]},{"nativeSrc":"285357:17:21","nodeType":"YulAssignment","src":"285357:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"285369:4:21","nodeType":"YulLiteral","src":"285369:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"285363:5:21","nodeType":"YulIdentifier","src":"285363:5:21"},"nativeSrc":"285363:11:21","nodeType":"YulFunctionCall","src":"285363:11:21"},"variableNames":[{"name":"m3","nativeSrc":"285357:2:21","nodeType":"YulIdentifier","src":"285357:2:21"}]},{"nativeSrc":"285387:17:21","nodeType":"YulAssignment","src":"285387:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"285399:4:21","nodeType":"YulLiteral","src":"285399:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"285393:5:21","nodeType":"YulIdentifier","src":"285393:5:21"},"nativeSrc":"285393:11:21","nodeType":"YulFunctionCall","src":"285393:11:21"},"variableNames":[{"name":"m4","nativeSrc":"285387:2:21","nodeType":"YulIdentifier","src":"285387:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285488:4:21","nodeType":"YulLiteral","src":"285488:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"285494:10:21","nodeType":"YulLiteral","src":"285494:10:21","type":"","value":"0x15cac476"}],"functionName":{"name":"mstore","nativeSrc":"285481:6:21","nodeType":"YulIdentifier","src":"285481:6:21"},"nativeSrc":"285481:24:21","nodeType":"YulFunctionCall","src":"285481:24:21"},"nativeSrc":"285481:24:21","nodeType":"YulExpressionStatement","src":"285481:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285525:4:21","nodeType":"YulLiteral","src":"285525:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"285531:2:21","nodeType":"YulIdentifier","src":"285531:2:21"}],"functionName":{"name":"mstore","nativeSrc":"285518:6:21","nodeType":"YulIdentifier","src":"285518:6:21"},"nativeSrc":"285518:16:21","nodeType":"YulFunctionCall","src":"285518:16:21"},"nativeSrc":"285518:16:21","nodeType":"YulExpressionStatement","src":"285518:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285554:4:21","nodeType":"YulLiteral","src":"285554:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"285560:2:21","nodeType":"YulIdentifier","src":"285560:2:21"}],"functionName":{"name":"mstore","nativeSrc":"285547:6:21","nodeType":"YulIdentifier","src":"285547:6:21"},"nativeSrc":"285547:16:21","nodeType":"YulFunctionCall","src":"285547:16:21"},"nativeSrc":"285547:16:21","nodeType":"YulExpressionStatement","src":"285547:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285583:4:21","nodeType":"YulLiteral","src":"285583:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"285589:2:21","nodeType":"YulIdentifier","src":"285589:2:21"}],"functionName":{"name":"mstore","nativeSrc":"285576:6:21","nodeType":"YulIdentifier","src":"285576:6:21"},"nativeSrc":"285576:16:21","nodeType":"YulFunctionCall","src":"285576:16:21"},"nativeSrc":"285576:16:21","nodeType":"YulExpressionStatement","src":"285576:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285612:4:21","nodeType":"YulLiteral","src":"285612:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"285618:2:21","nodeType":"YulIdentifier","src":"285618:2:21"}],"functionName":{"name":"mstore","nativeSrc":"285605:6:21","nodeType":"YulIdentifier","src":"285605:6:21"},"nativeSrc":"285605:16:21","nodeType":"YulFunctionCall","src":"285605:16:21"},"nativeSrc":"285605:16:21","nodeType":"YulExpressionStatement","src":"285605:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35954,"isOffset":false,"isSlot":false,"src":"285267:2:21","valueSize":1},{"declaration":35957,"isOffset":false,"isSlot":false,"src":"285297:2:21","valueSize":1},{"declaration":35960,"isOffset":false,"isSlot":false,"src":"285327:2:21","valueSize":1},{"declaration":35963,"isOffset":false,"isSlot":false,"src":"285357:2:21","valueSize":1},{"declaration":35966,"isOffset":false,"isSlot":false,"src":"285387:2:21","valueSize":1},{"declaration":35944,"isOffset":false,"isSlot":false,"src":"285531:2:21","valueSize":1},{"declaration":35946,"isOffset":false,"isSlot":false,"src":"285560:2:21","valueSize":1},{"declaration":35948,"isOffset":false,"isSlot":false,"src":"285589:2:21","valueSize":1},{"declaration":35950,"isOffset":false,"isSlot":false,"src":"285618:2:21","valueSize":1}],"id":35968,"nodeType":"InlineAssembly","src":"285244:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":35970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"285656:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"285662:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35969,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"285640:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"285640:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35973,"nodeType":"ExpressionStatement","src":"285640:27:21"},{"AST":{"nativeSrc":"285729:156:21","nodeType":"YulBlock","src":"285729:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"285750:4:21","nodeType":"YulLiteral","src":"285750:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"285756:2:21","nodeType":"YulIdentifier","src":"285756:2:21"}],"functionName":{"name":"mstore","nativeSrc":"285743:6:21","nodeType":"YulIdentifier","src":"285743:6:21"},"nativeSrc":"285743:16:21","nodeType":"YulFunctionCall","src":"285743:16:21"},"nativeSrc":"285743:16:21","nodeType":"YulExpressionStatement","src":"285743:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285779:4:21","nodeType":"YulLiteral","src":"285779:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"285785:2:21","nodeType":"YulIdentifier","src":"285785:2:21"}],"functionName":{"name":"mstore","nativeSrc":"285772:6:21","nodeType":"YulIdentifier","src":"285772:6:21"},"nativeSrc":"285772:16:21","nodeType":"YulFunctionCall","src":"285772:16:21"},"nativeSrc":"285772:16:21","nodeType":"YulExpressionStatement","src":"285772:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285808:4:21","nodeType":"YulLiteral","src":"285808:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"285814:2:21","nodeType":"YulIdentifier","src":"285814:2:21"}],"functionName":{"name":"mstore","nativeSrc":"285801:6:21","nodeType":"YulIdentifier","src":"285801:6:21"},"nativeSrc":"285801:16:21","nodeType":"YulFunctionCall","src":"285801:16:21"},"nativeSrc":"285801:16:21","nodeType":"YulExpressionStatement","src":"285801:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285837:4:21","nodeType":"YulLiteral","src":"285837:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"285843:2:21","nodeType":"YulIdentifier","src":"285843:2:21"}],"functionName":{"name":"mstore","nativeSrc":"285830:6:21","nodeType":"YulIdentifier","src":"285830:6:21"},"nativeSrc":"285830:16:21","nodeType":"YulFunctionCall","src":"285830:16:21"},"nativeSrc":"285830:16:21","nodeType":"YulExpressionStatement","src":"285830:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285866:4:21","nodeType":"YulLiteral","src":"285866:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"285872:2:21","nodeType":"YulIdentifier","src":"285872:2:21"}],"functionName":{"name":"mstore","nativeSrc":"285859:6:21","nodeType":"YulIdentifier","src":"285859:6:21"},"nativeSrc":"285859:16:21","nodeType":"YulFunctionCall","src":"285859:16:21"},"nativeSrc":"285859:16:21","nodeType":"YulExpressionStatement","src":"285859:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35954,"isOffset":false,"isSlot":false,"src":"285756:2:21","valueSize":1},{"declaration":35957,"isOffset":false,"isSlot":false,"src":"285785:2:21","valueSize":1},{"declaration":35960,"isOffset":false,"isSlot":false,"src":"285814:2:21","valueSize":1},{"declaration":35963,"isOffset":false,"isSlot":false,"src":"285843:2:21","valueSize":1},{"declaration":35966,"isOffset":false,"isSlot":false,"src":"285872:2:21","valueSize":1}],"id":35974,"nodeType":"InlineAssembly","src":"285720:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"285028:3:21","parameters":{"id":35951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35944,"mutability":"mutable","name":"p0","nameLocation":"285040:2:21","nodeType":"VariableDeclaration","scope":35976,"src":"285032:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35943,"name":"uint256","nodeType":"ElementaryTypeName","src":"285032:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35946,"mutability":"mutable","name":"p1","nameLocation":"285052:2:21","nodeType":"VariableDeclaration","scope":35976,"src":"285044:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35945,"name":"uint256","nodeType":"ElementaryTypeName","src":"285044:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35948,"mutability":"mutable","name":"p2","nameLocation":"285064:2:21","nodeType":"VariableDeclaration","scope":35976,"src":"285056:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35947,"name":"address","nodeType":"ElementaryTypeName","src":"285056:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35950,"mutability":"mutable","name":"p3","nameLocation":"285073:2:21","nodeType":"VariableDeclaration","scope":35976,"src":"285068:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35949,"name":"bool","nodeType":"ElementaryTypeName","src":"285068:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"285031:45:21"},"returnParameters":{"id":35952,"nodeType":"ParameterList","parameters":[],"src":"285091:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36010,"nodeType":"FunctionDefinition","src":"285897:878:21","nodes":[],"body":{"id":36009,"nodeType":"Block","src":"285972:803:21","nodes":[],"statements":[{"assignments":[35988],"declarations":[{"constant":false,"id":35988,"mutability":"mutable","name":"m0","nameLocation":"285990:2:21","nodeType":"VariableDeclaration","scope":36009,"src":"285982:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285982:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35989,"nodeType":"VariableDeclarationStatement","src":"285982:10:21"},{"assignments":[35991],"declarations":[{"constant":false,"id":35991,"mutability":"mutable","name":"m1","nameLocation":"286010:2:21","nodeType":"VariableDeclaration","scope":36009,"src":"286002:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286002:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35992,"nodeType":"VariableDeclarationStatement","src":"286002:10:21"},{"assignments":[35994],"declarations":[{"constant":false,"id":35994,"mutability":"mutable","name":"m2","nameLocation":"286030:2:21","nodeType":"VariableDeclaration","scope":36009,"src":"286022:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35993,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286022:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35995,"nodeType":"VariableDeclarationStatement","src":"286022:10:21"},{"assignments":[35997],"declarations":[{"constant":false,"id":35997,"mutability":"mutable","name":"m3","nameLocation":"286050:2:21","nodeType":"VariableDeclaration","scope":36009,"src":"286042:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286042:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35998,"nodeType":"VariableDeclarationStatement","src":"286042:10:21"},{"assignments":[36000],"declarations":[{"constant":false,"id":36000,"mutability":"mutable","name":"m4","nameLocation":"286070:2:21","nodeType":"VariableDeclaration","scope":36009,"src":"286062:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35999,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286062:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36001,"nodeType":"VariableDeclarationStatement","src":"286062:10:21"},{"AST":{"nativeSrc":"286134:381:21","nodeType":"YulBlock","src":"286134:381:21","statements":[{"nativeSrc":"286148:17:21","nodeType":"YulAssignment","src":"286148:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"286160:4:21","nodeType":"YulLiteral","src":"286160:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"286154:5:21","nodeType":"YulIdentifier","src":"286154:5:21"},"nativeSrc":"286154:11:21","nodeType":"YulFunctionCall","src":"286154:11:21"},"variableNames":[{"name":"m0","nativeSrc":"286148:2:21","nodeType":"YulIdentifier","src":"286148:2:21"}]},{"nativeSrc":"286178:17:21","nodeType":"YulAssignment","src":"286178:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"286190:4:21","nodeType":"YulLiteral","src":"286190:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"286184:5:21","nodeType":"YulIdentifier","src":"286184:5:21"},"nativeSrc":"286184:11:21","nodeType":"YulFunctionCall","src":"286184:11:21"},"variableNames":[{"name":"m1","nativeSrc":"286178:2:21","nodeType":"YulIdentifier","src":"286178:2:21"}]},{"nativeSrc":"286208:17:21","nodeType":"YulAssignment","src":"286208:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"286220:4:21","nodeType":"YulLiteral","src":"286220:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"286214:5:21","nodeType":"YulIdentifier","src":"286214:5:21"},"nativeSrc":"286214:11:21","nodeType":"YulFunctionCall","src":"286214:11:21"},"variableNames":[{"name":"m2","nativeSrc":"286208:2:21","nodeType":"YulIdentifier","src":"286208:2:21"}]},{"nativeSrc":"286238:17:21","nodeType":"YulAssignment","src":"286238:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"286250:4:21","nodeType":"YulLiteral","src":"286250:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"286244:5:21","nodeType":"YulIdentifier","src":"286244:5:21"},"nativeSrc":"286244:11:21","nodeType":"YulFunctionCall","src":"286244:11:21"},"variableNames":[{"name":"m3","nativeSrc":"286238:2:21","nodeType":"YulIdentifier","src":"286238:2:21"}]},{"nativeSrc":"286268:17:21","nodeType":"YulAssignment","src":"286268:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"286280:4:21","nodeType":"YulLiteral","src":"286280:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"286274:5:21","nodeType":"YulIdentifier","src":"286274:5:21"},"nativeSrc":"286274:11:21","nodeType":"YulFunctionCall","src":"286274:11:21"},"variableNames":[{"name":"m4","nativeSrc":"286268:2:21","nodeType":"YulIdentifier","src":"286268:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286372:4:21","nodeType":"YulLiteral","src":"286372:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"286378:10:21","nodeType":"YulLiteral","src":"286378:10:21","type":"","value":"0x88f6e4b2"}],"functionName":{"name":"mstore","nativeSrc":"286365:6:21","nodeType":"YulIdentifier","src":"286365:6:21"},"nativeSrc":"286365:24:21","nodeType":"YulFunctionCall","src":"286365:24:21"},"nativeSrc":"286365:24:21","nodeType":"YulExpressionStatement","src":"286365:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286409:4:21","nodeType":"YulLiteral","src":"286409:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"286415:2:21","nodeType":"YulIdentifier","src":"286415:2:21"}],"functionName":{"name":"mstore","nativeSrc":"286402:6:21","nodeType":"YulIdentifier","src":"286402:6:21"},"nativeSrc":"286402:16:21","nodeType":"YulFunctionCall","src":"286402:16:21"},"nativeSrc":"286402:16:21","nodeType":"YulExpressionStatement","src":"286402:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286438:4:21","nodeType":"YulLiteral","src":"286438:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"286444:2:21","nodeType":"YulIdentifier","src":"286444:2:21"}],"functionName":{"name":"mstore","nativeSrc":"286431:6:21","nodeType":"YulIdentifier","src":"286431:6:21"},"nativeSrc":"286431:16:21","nodeType":"YulFunctionCall","src":"286431:16:21"},"nativeSrc":"286431:16:21","nodeType":"YulExpressionStatement","src":"286431:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286467:4:21","nodeType":"YulLiteral","src":"286467:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"286473:2:21","nodeType":"YulIdentifier","src":"286473:2:21"}],"functionName":{"name":"mstore","nativeSrc":"286460:6:21","nodeType":"YulIdentifier","src":"286460:6:21"},"nativeSrc":"286460:16:21","nodeType":"YulFunctionCall","src":"286460:16:21"},"nativeSrc":"286460:16:21","nodeType":"YulExpressionStatement","src":"286460:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286496:4:21","nodeType":"YulLiteral","src":"286496:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"286502:2:21","nodeType":"YulIdentifier","src":"286502:2:21"}],"functionName":{"name":"mstore","nativeSrc":"286489:6:21","nodeType":"YulIdentifier","src":"286489:6:21"},"nativeSrc":"286489:16:21","nodeType":"YulFunctionCall","src":"286489:16:21"},"nativeSrc":"286489:16:21","nodeType":"YulExpressionStatement","src":"286489:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35988,"isOffset":false,"isSlot":false,"src":"286148:2:21","valueSize":1},{"declaration":35991,"isOffset":false,"isSlot":false,"src":"286178:2:21","valueSize":1},{"declaration":35994,"isOffset":false,"isSlot":false,"src":"286208:2:21","valueSize":1},{"declaration":35997,"isOffset":false,"isSlot":false,"src":"286238:2:21","valueSize":1},{"declaration":36000,"isOffset":false,"isSlot":false,"src":"286268:2:21","valueSize":1},{"declaration":35978,"isOffset":false,"isSlot":false,"src":"286415:2:21","valueSize":1},{"declaration":35980,"isOffset":false,"isSlot":false,"src":"286444:2:21","valueSize":1},{"declaration":35982,"isOffset":false,"isSlot":false,"src":"286473:2:21","valueSize":1},{"declaration":35984,"isOffset":false,"isSlot":false,"src":"286502:2:21","valueSize":1}],"id":36002,"nodeType":"InlineAssembly","src":"286125:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"286540:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"286546:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":36003,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"286524:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"286524:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36007,"nodeType":"ExpressionStatement","src":"286524:27:21"},{"AST":{"nativeSrc":"286613:156:21","nodeType":"YulBlock","src":"286613:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"286634:4:21","nodeType":"YulLiteral","src":"286634:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"286640:2:21","nodeType":"YulIdentifier","src":"286640:2:21"}],"functionName":{"name":"mstore","nativeSrc":"286627:6:21","nodeType":"YulIdentifier","src":"286627:6:21"},"nativeSrc":"286627:16:21","nodeType":"YulFunctionCall","src":"286627:16:21"},"nativeSrc":"286627:16:21","nodeType":"YulExpressionStatement","src":"286627:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286663:4:21","nodeType":"YulLiteral","src":"286663:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"286669:2:21","nodeType":"YulIdentifier","src":"286669:2:21"}],"functionName":{"name":"mstore","nativeSrc":"286656:6:21","nodeType":"YulIdentifier","src":"286656:6:21"},"nativeSrc":"286656:16:21","nodeType":"YulFunctionCall","src":"286656:16:21"},"nativeSrc":"286656:16:21","nodeType":"YulExpressionStatement","src":"286656:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286692:4:21","nodeType":"YulLiteral","src":"286692:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"286698:2:21","nodeType":"YulIdentifier","src":"286698:2:21"}],"functionName":{"name":"mstore","nativeSrc":"286685:6:21","nodeType":"YulIdentifier","src":"286685:6:21"},"nativeSrc":"286685:16:21","nodeType":"YulFunctionCall","src":"286685:16:21"},"nativeSrc":"286685:16:21","nodeType":"YulExpressionStatement","src":"286685:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286721:4:21","nodeType":"YulLiteral","src":"286721:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"286727:2:21","nodeType":"YulIdentifier","src":"286727:2:21"}],"functionName":{"name":"mstore","nativeSrc":"286714:6:21","nodeType":"YulIdentifier","src":"286714:6:21"},"nativeSrc":"286714:16:21","nodeType":"YulFunctionCall","src":"286714:16:21"},"nativeSrc":"286714:16:21","nodeType":"YulExpressionStatement","src":"286714:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286750:4:21","nodeType":"YulLiteral","src":"286750:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"286756:2:21","nodeType":"YulIdentifier","src":"286756:2:21"}],"functionName":{"name":"mstore","nativeSrc":"286743:6:21","nodeType":"YulIdentifier","src":"286743:6:21"},"nativeSrc":"286743:16:21","nodeType":"YulFunctionCall","src":"286743:16:21"},"nativeSrc":"286743:16:21","nodeType":"YulExpressionStatement","src":"286743:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":35988,"isOffset":false,"isSlot":false,"src":"286640:2:21","valueSize":1},{"declaration":35991,"isOffset":false,"isSlot":false,"src":"286669:2:21","valueSize":1},{"declaration":35994,"isOffset":false,"isSlot":false,"src":"286698:2:21","valueSize":1},{"declaration":35997,"isOffset":false,"isSlot":false,"src":"286727:2:21","valueSize":1},{"declaration":36000,"isOffset":false,"isSlot":false,"src":"286756:2:21","valueSize":1}],"id":36008,"nodeType":"InlineAssembly","src":"286604:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"285906:3:21","parameters":{"id":35985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35978,"mutability":"mutable","name":"p0","nameLocation":"285918:2:21","nodeType":"VariableDeclaration","scope":36010,"src":"285910:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35977,"name":"uint256","nodeType":"ElementaryTypeName","src":"285910:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35980,"mutability":"mutable","name":"p1","nameLocation":"285930:2:21","nodeType":"VariableDeclaration","scope":36010,"src":"285922:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35979,"name":"uint256","nodeType":"ElementaryTypeName","src":"285922:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35982,"mutability":"mutable","name":"p2","nameLocation":"285942:2:21","nodeType":"VariableDeclaration","scope":36010,"src":"285934:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35981,"name":"address","nodeType":"ElementaryTypeName","src":"285934:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35984,"mutability":"mutable","name":"p3","nameLocation":"285954:2:21","nodeType":"VariableDeclaration","scope":36010,"src":"285946:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35983,"name":"uint256","nodeType":"ElementaryTypeName","src":"285946:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"285909:48:21"},"returnParameters":{"id":35986,"nodeType":"ParameterList","parameters":[],"src":"285972:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36050,"nodeType":"FunctionDefinition","src":"286781:1426:21","nodes":[],"body":{"id":36049,"nodeType":"Block","src":"286856:1351:21","nodes":[],"statements":[{"assignments":[36022],"declarations":[{"constant":false,"id":36022,"mutability":"mutable","name":"m0","nameLocation":"286874:2:21","nodeType":"VariableDeclaration","scope":36049,"src":"286866:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286866:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36023,"nodeType":"VariableDeclarationStatement","src":"286866:10:21"},{"assignments":[36025],"declarations":[{"constant":false,"id":36025,"mutability":"mutable","name":"m1","nameLocation":"286894:2:21","nodeType":"VariableDeclaration","scope":36049,"src":"286886:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286886:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36026,"nodeType":"VariableDeclarationStatement","src":"286886:10:21"},{"assignments":[36028],"declarations":[{"constant":false,"id":36028,"mutability":"mutable","name":"m2","nameLocation":"286914:2:21","nodeType":"VariableDeclaration","scope":36049,"src":"286906:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286906:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36029,"nodeType":"VariableDeclarationStatement","src":"286906:10:21"},{"assignments":[36031],"declarations":[{"constant":false,"id":36031,"mutability":"mutable","name":"m3","nameLocation":"286934:2:21","nodeType":"VariableDeclaration","scope":36049,"src":"286926:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286926:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36032,"nodeType":"VariableDeclarationStatement","src":"286926:10:21"},{"assignments":[36034],"declarations":[{"constant":false,"id":36034,"mutability":"mutable","name":"m4","nameLocation":"286954:2:21","nodeType":"VariableDeclaration","scope":36049,"src":"286946:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286946:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36035,"nodeType":"VariableDeclarationStatement","src":"286946:10:21"},{"assignments":[36037],"declarations":[{"constant":false,"id":36037,"mutability":"mutable","name":"m5","nameLocation":"286974:2:21","nodeType":"VariableDeclaration","scope":36049,"src":"286966:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286966:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36038,"nodeType":"VariableDeclarationStatement","src":"286966:10:21"},{"assignments":[36040],"declarations":[{"constant":false,"id":36040,"mutability":"mutable","name":"m6","nameLocation":"286994:2:21","nodeType":"VariableDeclaration","scope":36049,"src":"286986:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286986:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36041,"nodeType":"VariableDeclarationStatement","src":"286986:10:21"},{"AST":{"nativeSrc":"287058:831:21","nodeType":"YulBlock","src":"287058:831:21","statements":[{"body":{"nativeSrc":"287101:313:21","nodeType":"YulBlock","src":"287101:313:21","statements":[{"nativeSrc":"287119:15:21","nodeType":"YulVariableDeclaration","src":"287119:15:21","value":{"kind":"number","nativeSrc":"287133:1:21","nodeType":"YulLiteral","src":"287133:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"287123:6:21","nodeType":"YulTypedName","src":"287123:6:21","type":""}]},{"body":{"nativeSrc":"287204:40:21","nodeType":"YulBlock","src":"287204:40:21","statements":[{"body":{"nativeSrc":"287233:9:21","nodeType":"YulBlock","src":"287233:9:21","statements":[{"nativeSrc":"287235:5:21","nodeType":"YulBreak","src":"287235:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"287221:6:21","nodeType":"YulIdentifier","src":"287221:6:21"},{"name":"w","nativeSrc":"287229:1:21","nodeType":"YulIdentifier","src":"287229:1:21"}],"functionName":{"name":"byte","nativeSrc":"287216:4:21","nodeType":"YulIdentifier","src":"287216:4:21"},"nativeSrc":"287216:15:21","nodeType":"YulFunctionCall","src":"287216:15:21"}],"functionName":{"name":"iszero","nativeSrc":"287209:6:21","nodeType":"YulIdentifier","src":"287209:6:21"},"nativeSrc":"287209:23:21","nodeType":"YulFunctionCall","src":"287209:23:21"},"nativeSrc":"287206:36:21","nodeType":"YulIf","src":"287206:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"287161:6:21","nodeType":"YulIdentifier","src":"287161:6:21"},{"kind":"number","nativeSrc":"287169:4:21","nodeType":"YulLiteral","src":"287169:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"287158:2:21","nodeType":"YulIdentifier","src":"287158:2:21"},"nativeSrc":"287158:16:21","nodeType":"YulFunctionCall","src":"287158:16:21"},"nativeSrc":"287151:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"287175:28:21","nodeType":"YulBlock","src":"287175:28:21","statements":[{"nativeSrc":"287177:24:21","nodeType":"YulAssignment","src":"287177:24:21","value":{"arguments":[{"name":"length","nativeSrc":"287191:6:21","nodeType":"YulIdentifier","src":"287191:6:21"},{"kind":"number","nativeSrc":"287199:1:21","nodeType":"YulLiteral","src":"287199:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"287187:3:21","nodeType":"YulIdentifier","src":"287187:3:21"},"nativeSrc":"287187:14:21","nodeType":"YulFunctionCall","src":"287187:14:21"},"variableNames":[{"name":"length","nativeSrc":"287177:6:21","nodeType":"YulIdentifier","src":"287177:6:21"}]}]},"pre":{"nativeSrc":"287155:2:21","nodeType":"YulBlock","src":"287155:2:21","statements":[]},"src":"287151:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"287268:3:21","nodeType":"YulIdentifier","src":"287268:3:21"},{"name":"length","nativeSrc":"287273:6:21","nodeType":"YulIdentifier","src":"287273:6:21"}],"functionName":{"name":"mstore","nativeSrc":"287261:6:21","nodeType":"YulIdentifier","src":"287261:6:21"},"nativeSrc":"287261:19:21","nodeType":"YulFunctionCall","src":"287261:19:21"},"nativeSrc":"287261:19:21","nodeType":"YulExpressionStatement","src":"287261:19:21"},{"nativeSrc":"287297:37:21","nodeType":"YulVariableDeclaration","src":"287297:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"287314:3:21","nodeType":"YulLiteral","src":"287314:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"287323:1:21","nodeType":"YulLiteral","src":"287323:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"287326:6:21","nodeType":"YulIdentifier","src":"287326:6:21"}],"functionName":{"name":"shl","nativeSrc":"287319:3:21","nodeType":"YulIdentifier","src":"287319:3:21"},"nativeSrc":"287319:14:21","nodeType":"YulFunctionCall","src":"287319:14:21"}],"functionName":{"name":"sub","nativeSrc":"287310:3:21","nodeType":"YulIdentifier","src":"287310:3:21"},"nativeSrc":"287310:24:21","nodeType":"YulFunctionCall","src":"287310:24:21"},"variables":[{"name":"shift","nativeSrc":"287301:5:21","nodeType":"YulTypedName","src":"287301:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"287362:3:21","nodeType":"YulIdentifier","src":"287362:3:21"},{"kind":"number","nativeSrc":"287367:4:21","nodeType":"YulLiteral","src":"287367:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"287358:3:21","nodeType":"YulIdentifier","src":"287358:3:21"},"nativeSrc":"287358:14:21","nodeType":"YulFunctionCall","src":"287358:14:21"},{"arguments":[{"name":"shift","nativeSrc":"287378:5:21","nodeType":"YulIdentifier","src":"287378:5:21"},{"arguments":[{"name":"shift","nativeSrc":"287389:5:21","nodeType":"YulIdentifier","src":"287389:5:21"},{"name":"w","nativeSrc":"287396:1:21","nodeType":"YulIdentifier","src":"287396:1:21"}],"functionName":{"name":"shr","nativeSrc":"287385:3:21","nodeType":"YulIdentifier","src":"287385:3:21"},"nativeSrc":"287385:13:21","nodeType":"YulFunctionCall","src":"287385:13:21"}],"functionName":{"name":"shl","nativeSrc":"287374:3:21","nodeType":"YulIdentifier","src":"287374:3:21"},"nativeSrc":"287374:25:21","nodeType":"YulFunctionCall","src":"287374:25:21"}],"functionName":{"name":"mstore","nativeSrc":"287351:6:21","nodeType":"YulIdentifier","src":"287351:6:21"},"nativeSrc":"287351:49:21","nodeType":"YulFunctionCall","src":"287351:49:21"},"nativeSrc":"287351:49:21","nodeType":"YulExpressionStatement","src":"287351:49:21"}]},"name":"writeString","nativeSrc":"287072:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"287093:3:21","nodeType":"YulTypedName","src":"287093:3:21","type":""},{"name":"w","nativeSrc":"287098:1:21","nodeType":"YulTypedName","src":"287098:1:21","type":""}],"src":"287072:342:21"},{"nativeSrc":"287427:17:21","nodeType":"YulAssignment","src":"287427:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"287439:4:21","nodeType":"YulLiteral","src":"287439:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"287433:5:21","nodeType":"YulIdentifier","src":"287433:5:21"},"nativeSrc":"287433:11:21","nodeType":"YulFunctionCall","src":"287433:11:21"},"variableNames":[{"name":"m0","nativeSrc":"287427:2:21","nodeType":"YulIdentifier","src":"287427:2:21"}]},{"nativeSrc":"287457:17:21","nodeType":"YulAssignment","src":"287457:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"287469:4:21","nodeType":"YulLiteral","src":"287469:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"287463:5:21","nodeType":"YulIdentifier","src":"287463:5:21"},"nativeSrc":"287463:11:21","nodeType":"YulFunctionCall","src":"287463:11:21"},"variableNames":[{"name":"m1","nativeSrc":"287457:2:21","nodeType":"YulIdentifier","src":"287457:2:21"}]},{"nativeSrc":"287487:17:21","nodeType":"YulAssignment","src":"287487:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"287499:4:21","nodeType":"YulLiteral","src":"287499:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"287493:5:21","nodeType":"YulIdentifier","src":"287493:5:21"},"nativeSrc":"287493:11:21","nodeType":"YulFunctionCall","src":"287493:11:21"},"variableNames":[{"name":"m2","nativeSrc":"287487:2:21","nodeType":"YulIdentifier","src":"287487:2:21"}]},{"nativeSrc":"287517:17:21","nodeType":"YulAssignment","src":"287517:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"287529:4:21","nodeType":"YulLiteral","src":"287529:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"287523:5:21","nodeType":"YulIdentifier","src":"287523:5:21"},"nativeSrc":"287523:11:21","nodeType":"YulFunctionCall","src":"287523:11:21"},"variableNames":[{"name":"m3","nativeSrc":"287517:2:21","nodeType":"YulIdentifier","src":"287517:2:21"}]},{"nativeSrc":"287547:17:21","nodeType":"YulAssignment","src":"287547:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"287559:4:21","nodeType":"YulLiteral","src":"287559:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"287553:5:21","nodeType":"YulIdentifier","src":"287553:5:21"},"nativeSrc":"287553:11:21","nodeType":"YulFunctionCall","src":"287553:11:21"},"variableNames":[{"name":"m4","nativeSrc":"287547:2:21","nodeType":"YulIdentifier","src":"287547:2:21"}]},{"nativeSrc":"287577:17:21","nodeType":"YulAssignment","src":"287577:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"287589:4:21","nodeType":"YulLiteral","src":"287589:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"287583:5:21","nodeType":"YulIdentifier","src":"287583:5:21"},"nativeSrc":"287583:11:21","nodeType":"YulFunctionCall","src":"287583:11:21"},"variableNames":[{"name":"m5","nativeSrc":"287577:2:21","nodeType":"YulIdentifier","src":"287577:2:21"}]},{"nativeSrc":"287607:17:21","nodeType":"YulAssignment","src":"287607:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"287619:4:21","nodeType":"YulLiteral","src":"287619:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"287613:5:21","nodeType":"YulIdentifier","src":"287613:5:21"},"nativeSrc":"287613:11:21","nodeType":"YulFunctionCall","src":"287613:11:21"},"variableNames":[{"name":"m6","nativeSrc":"287607:2:21","nodeType":"YulIdentifier","src":"287607:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287710:4:21","nodeType":"YulLiteral","src":"287710:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"287716:10:21","nodeType":"YulLiteral","src":"287716:10:21","type":"","value":"0x6cde40b8"}],"functionName":{"name":"mstore","nativeSrc":"287703:6:21","nodeType":"YulIdentifier","src":"287703:6:21"},"nativeSrc":"287703:24:21","nodeType":"YulFunctionCall","src":"287703:24:21"},"nativeSrc":"287703:24:21","nodeType":"YulExpressionStatement","src":"287703:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287747:4:21","nodeType":"YulLiteral","src":"287747:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"287753:2:21","nodeType":"YulIdentifier","src":"287753:2:21"}],"functionName":{"name":"mstore","nativeSrc":"287740:6:21","nodeType":"YulIdentifier","src":"287740:6:21"},"nativeSrc":"287740:16:21","nodeType":"YulFunctionCall","src":"287740:16:21"},"nativeSrc":"287740:16:21","nodeType":"YulExpressionStatement","src":"287740:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287776:4:21","nodeType":"YulLiteral","src":"287776:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"287782:2:21","nodeType":"YulIdentifier","src":"287782:2:21"}],"functionName":{"name":"mstore","nativeSrc":"287769:6:21","nodeType":"YulIdentifier","src":"287769:6:21"},"nativeSrc":"287769:16:21","nodeType":"YulFunctionCall","src":"287769:16:21"},"nativeSrc":"287769:16:21","nodeType":"YulExpressionStatement","src":"287769:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287805:4:21","nodeType":"YulLiteral","src":"287805:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"287811:2:21","nodeType":"YulIdentifier","src":"287811:2:21"}],"functionName":{"name":"mstore","nativeSrc":"287798:6:21","nodeType":"YulIdentifier","src":"287798:6:21"},"nativeSrc":"287798:16:21","nodeType":"YulFunctionCall","src":"287798:16:21"},"nativeSrc":"287798:16:21","nodeType":"YulExpressionStatement","src":"287798:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287834:4:21","nodeType":"YulLiteral","src":"287834:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"287840:4:21","nodeType":"YulLiteral","src":"287840:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"287827:6:21","nodeType":"YulIdentifier","src":"287827:6:21"},"nativeSrc":"287827:18:21","nodeType":"YulFunctionCall","src":"287827:18:21"},"nativeSrc":"287827:18:21","nodeType":"YulExpressionStatement","src":"287827:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287870:4:21","nodeType":"YulLiteral","src":"287870:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"287876:2:21","nodeType":"YulIdentifier","src":"287876:2:21"}],"functionName":{"name":"writeString","nativeSrc":"287858:11:21","nodeType":"YulIdentifier","src":"287858:11:21"},"nativeSrc":"287858:21:21","nodeType":"YulFunctionCall","src":"287858:21:21"},"nativeSrc":"287858:21:21","nodeType":"YulExpressionStatement","src":"287858:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36022,"isOffset":false,"isSlot":false,"src":"287427:2:21","valueSize":1},{"declaration":36025,"isOffset":false,"isSlot":false,"src":"287457:2:21","valueSize":1},{"declaration":36028,"isOffset":false,"isSlot":false,"src":"287487:2:21","valueSize":1},{"declaration":36031,"isOffset":false,"isSlot":false,"src":"287517:2:21","valueSize":1},{"declaration":36034,"isOffset":false,"isSlot":false,"src":"287547:2:21","valueSize":1},{"declaration":36037,"isOffset":false,"isSlot":false,"src":"287577:2:21","valueSize":1},{"declaration":36040,"isOffset":false,"isSlot":false,"src":"287607:2:21","valueSize":1},{"declaration":36012,"isOffset":false,"isSlot":false,"src":"287753:2:21","valueSize":1},{"declaration":36014,"isOffset":false,"isSlot":false,"src":"287782:2:21","valueSize":1},{"declaration":36016,"isOffset":false,"isSlot":false,"src":"287811:2:21","valueSize":1},{"declaration":36018,"isOffset":false,"isSlot":false,"src":"287876:2:21","valueSize":1}],"id":36042,"nodeType":"InlineAssembly","src":"287049:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"287914:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"287920:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36043,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"287898:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"287898:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36047,"nodeType":"ExpressionStatement","src":"287898:27:21"},{"AST":{"nativeSrc":"287987:214:21","nodeType":"YulBlock","src":"287987:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"288008:4:21","nodeType":"YulLiteral","src":"288008:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"288014:2:21","nodeType":"YulIdentifier","src":"288014:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288001:6:21","nodeType":"YulIdentifier","src":"288001:6:21"},"nativeSrc":"288001:16:21","nodeType":"YulFunctionCall","src":"288001:16:21"},"nativeSrc":"288001:16:21","nodeType":"YulExpressionStatement","src":"288001:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288037:4:21","nodeType":"YulLiteral","src":"288037:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"288043:2:21","nodeType":"YulIdentifier","src":"288043:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288030:6:21","nodeType":"YulIdentifier","src":"288030:6:21"},"nativeSrc":"288030:16:21","nodeType":"YulFunctionCall","src":"288030:16:21"},"nativeSrc":"288030:16:21","nodeType":"YulExpressionStatement","src":"288030:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288066:4:21","nodeType":"YulLiteral","src":"288066:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"288072:2:21","nodeType":"YulIdentifier","src":"288072:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288059:6:21","nodeType":"YulIdentifier","src":"288059:6:21"},"nativeSrc":"288059:16:21","nodeType":"YulFunctionCall","src":"288059:16:21"},"nativeSrc":"288059:16:21","nodeType":"YulExpressionStatement","src":"288059:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288095:4:21","nodeType":"YulLiteral","src":"288095:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"288101:2:21","nodeType":"YulIdentifier","src":"288101:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288088:6:21","nodeType":"YulIdentifier","src":"288088:6:21"},"nativeSrc":"288088:16:21","nodeType":"YulFunctionCall","src":"288088:16:21"},"nativeSrc":"288088:16:21","nodeType":"YulExpressionStatement","src":"288088:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288124:4:21","nodeType":"YulLiteral","src":"288124:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"288130:2:21","nodeType":"YulIdentifier","src":"288130:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288117:6:21","nodeType":"YulIdentifier","src":"288117:6:21"},"nativeSrc":"288117:16:21","nodeType":"YulFunctionCall","src":"288117:16:21"},"nativeSrc":"288117:16:21","nodeType":"YulExpressionStatement","src":"288117:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288153:4:21","nodeType":"YulLiteral","src":"288153:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"288159:2:21","nodeType":"YulIdentifier","src":"288159:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288146:6:21","nodeType":"YulIdentifier","src":"288146:6:21"},"nativeSrc":"288146:16:21","nodeType":"YulFunctionCall","src":"288146:16:21"},"nativeSrc":"288146:16:21","nodeType":"YulExpressionStatement","src":"288146:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288182:4:21","nodeType":"YulLiteral","src":"288182:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"288188:2:21","nodeType":"YulIdentifier","src":"288188:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288175:6:21","nodeType":"YulIdentifier","src":"288175:6:21"},"nativeSrc":"288175:16:21","nodeType":"YulFunctionCall","src":"288175:16:21"},"nativeSrc":"288175:16:21","nodeType":"YulExpressionStatement","src":"288175:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36022,"isOffset":false,"isSlot":false,"src":"288014:2:21","valueSize":1},{"declaration":36025,"isOffset":false,"isSlot":false,"src":"288043:2:21","valueSize":1},{"declaration":36028,"isOffset":false,"isSlot":false,"src":"288072:2:21","valueSize":1},{"declaration":36031,"isOffset":false,"isSlot":false,"src":"288101:2:21","valueSize":1},{"declaration":36034,"isOffset":false,"isSlot":false,"src":"288130:2:21","valueSize":1},{"declaration":36037,"isOffset":false,"isSlot":false,"src":"288159:2:21","valueSize":1},{"declaration":36040,"isOffset":false,"isSlot":false,"src":"288188:2:21","valueSize":1}],"id":36048,"nodeType":"InlineAssembly","src":"287978:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"286790:3:21","parameters":{"id":36019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36012,"mutability":"mutable","name":"p0","nameLocation":"286802:2:21","nodeType":"VariableDeclaration","scope":36050,"src":"286794:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36011,"name":"uint256","nodeType":"ElementaryTypeName","src":"286794:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36014,"mutability":"mutable","name":"p1","nameLocation":"286814:2:21","nodeType":"VariableDeclaration","scope":36050,"src":"286806:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36013,"name":"uint256","nodeType":"ElementaryTypeName","src":"286806:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36016,"mutability":"mutable","name":"p2","nameLocation":"286826:2:21","nodeType":"VariableDeclaration","scope":36050,"src":"286818:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36015,"name":"address","nodeType":"ElementaryTypeName","src":"286818:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36018,"mutability":"mutable","name":"p3","nameLocation":"286838:2:21","nodeType":"VariableDeclaration","scope":36050,"src":"286830:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286830:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"286793:48:21"},"returnParameters":{"id":36020,"nodeType":"ParameterList","parameters":[],"src":"286856:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36084,"nodeType":"FunctionDefinition","src":"288213:872:21","nodes":[],"body":{"id":36083,"nodeType":"Block","src":"288285:800:21","nodes":[],"statements":[{"assignments":[36062],"declarations":[{"constant":false,"id":36062,"mutability":"mutable","name":"m0","nameLocation":"288303:2:21","nodeType":"VariableDeclaration","scope":36083,"src":"288295:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36061,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288295:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36063,"nodeType":"VariableDeclarationStatement","src":"288295:10:21"},{"assignments":[36065],"declarations":[{"constant":false,"id":36065,"mutability":"mutable","name":"m1","nameLocation":"288323:2:21","nodeType":"VariableDeclaration","scope":36083,"src":"288315:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288315:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36066,"nodeType":"VariableDeclarationStatement","src":"288315:10:21"},{"assignments":[36068],"declarations":[{"constant":false,"id":36068,"mutability":"mutable","name":"m2","nameLocation":"288343:2:21","nodeType":"VariableDeclaration","scope":36083,"src":"288335:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36067,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288335:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36069,"nodeType":"VariableDeclarationStatement","src":"288335:10:21"},{"assignments":[36071],"declarations":[{"constant":false,"id":36071,"mutability":"mutable","name":"m3","nameLocation":"288363:2:21","nodeType":"VariableDeclaration","scope":36083,"src":"288355:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36070,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288355:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36072,"nodeType":"VariableDeclarationStatement","src":"288355:10:21"},{"assignments":[36074],"declarations":[{"constant":false,"id":36074,"mutability":"mutable","name":"m4","nameLocation":"288383:2:21","nodeType":"VariableDeclaration","scope":36083,"src":"288375:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288375:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36075,"nodeType":"VariableDeclarationStatement","src":"288375:10:21"},{"AST":{"nativeSrc":"288447:378:21","nodeType":"YulBlock","src":"288447:378:21","statements":[{"nativeSrc":"288461:17:21","nodeType":"YulAssignment","src":"288461:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"288473:4:21","nodeType":"YulLiteral","src":"288473:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"288467:5:21","nodeType":"YulIdentifier","src":"288467:5:21"},"nativeSrc":"288467:11:21","nodeType":"YulFunctionCall","src":"288467:11:21"},"variableNames":[{"name":"m0","nativeSrc":"288461:2:21","nodeType":"YulIdentifier","src":"288461:2:21"}]},{"nativeSrc":"288491:17:21","nodeType":"YulAssignment","src":"288491:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"288503:4:21","nodeType":"YulLiteral","src":"288503:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"288497:5:21","nodeType":"YulIdentifier","src":"288497:5:21"},"nativeSrc":"288497:11:21","nodeType":"YulFunctionCall","src":"288497:11:21"},"variableNames":[{"name":"m1","nativeSrc":"288491:2:21","nodeType":"YulIdentifier","src":"288491:2:21"}]},{"nativeSrc":"288521:17:21","nodeType":"YulAssignment","src":"288521:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"288533:4:21","nodeType":"YulLiteral","src":"288533:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"288527:5:21","nodeType":"YulIdentifier","src":"288527:5:21"},"nativeSrc":"288527:11:21","nodeType":"YulFunctionCall","src":"288527:11:21"},"variableNames":[{"name":"m2","nativeSrc":"288521:2:21","nodeType":"YulIdentifier","src":"288521:2:21"}]},{"nativeSrc":"288551:17:21","nodeType":"YulAssignment","src":"288551:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"288563:4:21","nodeType":"YulLiteral","src":"288563:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"288557:5:21","nodeType":"YulIdentifier","src":"288557:5:21"},"nativeSrc":"288557:11:21","nodeType":"YulFunctionCall","src":"288557:11:21"},"variableNames":[{"name":"m3","nativeSrc":"288551:2:21","nodeType":"YulIdentifier","src":"288551:2:21"}]},{"nativeSrc":"288581:17:21","nodeType":"YulAssignment","src":"288581:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"288593:4:21","nodeType":"YulLiteral","src":"288593:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"288587:5:21","nodeType":"YulIdentifier","src":"288587:5:21"},"nativeSrc":"288587:11:21","nodeType":"YulFunctionCall","src":"288587:11:21"},"variableNames":[{"name":"m4","nativeSrc":"288581:2:21","nodeType":"YulIdentifier","src":"288581:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288682:4:21","nodeType":"YulLiteral","src":"288682:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"288688:10:21","nodeType":"YulLiteral","src":"288688:10:21","type":"","value":"0x9a816a83"}],"functionName":{"name":"mstore","nativeSrc":"288675:6:21","nodeType":"YulIdentifier","src":"288675:6:21"},"nativeSrc":"288675:24:21","nodeType":"YulFunctionCall","src":"288675:24:21"},"nativeSrc":"288675:24:21","nodeType":"YulExpressionStatement","src":"288675:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288719:4:21","nodeType":"YulLiteral","src":"288719:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"288725:2:21","nodeType":"YulIdentifier","src":"288725:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288712:6:21","nodeType":"YulIdentifier","src":"288712:6:21"},"nativeSrc":"288712:16:21","nodeType":"YulFunctionCall","src":"288712:16:21"},"nativeSrc":"288712:16:21","nodeType":"YulExpressionStatement","src":"288712:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288748:4:21","nodeType":"YulLiteral","src":"288748:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"288754:2:21","nodeType":"YulIdentifier","src":"288754:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288741:6:21","nodeType":"YulIdentifier","src":"288741:6:21"},"nativeSrc":"288741:16:21","nodeType":"YulFunctionCall","src":"288741:16:21"},"nativeSrc":"288741:16:21","nodeType":"YulExpressionStatement","src":"288741:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288777:4:21","nodeType":"YulLiteral","src":"288777:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"288783:2:21","nodeType":"YulIdentifier","src":"288783:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288770:6:21","nodeType":"YulIdentifier","src":"288770:6:21"},"nativeSrc":"288770:16:21","nodeType":"YulFunctionCall","src":"288770:16:21"},"nativeSrc":"288770:16:21","nodeType":"YulExpressionStatement","src":"288770:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288806:4:21","nodeType":"YulLiteral","src":"288806:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"288812:2:21","nodeType":"YulIdentifier","src":"288812:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288799:6:21","nodeType":"YulIdentifier","src":"288799:6:21"},"nativeSrc":"288799:16:21","nodeType":"YulFunctionCall","src":"288799:16:21"},"nativeSrc":"288799:16:21","nodeType":"YulExpressionStatement","src":"288799:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36062,"isOffset":false,"isSlot":false,"src":"288461:2:21","valueSize":1},{"declaration":36065,"isOffset":false,"isSlot":false,"src":"288491:2:21","valueSize":1},{"declaration":36068,"isOffset":false,"isSlot":false,"src":"288521:2:21","valueSize":1},{"declaration":36071,"isOffset":false,"isSlot":false,"src":"288551:2:21","valueSize":1},{"declaration":36074,"isOffset":false,"isSlot":false,"src":"288581:2:21","valueSize":1},{"declaration":36052,"isOffset":false,"isSlot":false,"src":"288725:2:21","valueSize":1},{"declaration":36054,"isOffset":false,"isSlot":false,"src":"288754:2:21","valueSize":1},{"declaration":36056,"isOffset":false,"isSlot":false,"src":"288783:2:21","valueSize":1},{"declaration":36058,"isOffset":false,"isSlot":false,"src":"288812:2:21","valueSize":1}],"id":36076,"nodeType":"InlineAssembly","src":"288438:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288850:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288856:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":36077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"288834:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"288834:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36081,"nodeType":"ExpressionStatement","src":"288834:27:21"},{"AST":{"nativeSrc":"288923:156:21","nodeType":"YulBlock","src":"288923:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"288944:4:21","nodeType":"YulLiteral","src":"288944:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"288950:2:21","nodeType":"YulIdentifier","src":"288950:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288937:6:21","nodeType":"YulIdentifier","src":"288937:6:21"},"nativeSrc":"288937:16:21","nodeType":"YulFunctionCall","src":"288937:16:21"},"nativeSrc":"288937:16:21","nodeType":"YulExpressionStatement","src":"288937:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288973:4:21","nodeType":"YulLiteral","src":"288973:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"288979:2:21","nodeType":"YulIdentifier","src":"288979:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288966:6:21","nodeType":"YulIdentifier","src":"288966:6:21"},"nativeSrc":"288966:16:21","nodeType":"YulFunctionCall","src":"288966:16:21"},"nativeSrc":"288966:16:21","nodeType":"YulExpressionStatement","src":"288966:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289002:4:21","nodeType":"YulLiteral","src":"289002:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"289008:2:21","nodeType":"YulIdentifier","src":"289008:2:21"}],"functionName":{"name":"mstore","nativeSrc":"288995:6:21","nodeType":"YulIdentifier","src":"288995:6:21"},"nativeSrc":"288995:16:21","nodeType":"YulFunctionCall","src":"288995:16:21"},"nativeSrc":"288995:16:21","nodeType":"YulExpressionStatement","src":"288995:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289031:4:21","nodeType":"YulLiteral","src":"289031:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"289037:2:21","nodeType":"YulIdentifier","src":"289037:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289024:6:21","nodeType":"YulIdentifier","src":"289024:6:21"},"nativeSrc":"289024:16:21","nodeType":"YulFunctionCall","src":"289024:16:21"},"nativeSrc":"289024:16:21","nodeType":"YulExpressionStatement","src":"289024:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289060:4:21","nodeType":"YulLiteral","src":"289060:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"289066:2:21","nodeType":"YulIdentifier","src":"289066:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289053:6:21","nodeType":"YulIdentifier","src":"289053:6:21"},"nativeSrc":"289053:16:21","nodeType":"YulFunctionCall","src":"289053:16:21"},"nativeSrc":"289053:16:21","nodeType":"YulExpressionStatement","src":"289053:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36062,"isOffset":false,"isSlot":false,"src":"288950:2:21","valueSize":1},{"declaration":36065,"isOffset":false,"isSlot":false,"src":"288979:2:21","valueSize":1},{"declaration":36068,"isOffset":false,"isSlot":false,"src":"289008:2:21","valueSize":1},{"declaration":36071,"isOffset":false,"isSlot":false,"src":"289037:2:21","valueSize":1},{"declaration":36074,"isOffset":false,"isSlot":false,"src":"289066:2:21","valueSize":1}],"id":36082,"nodeType":"InlineAssembly","src":"288914:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"288222:3:21","parameters":{"id":36059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36052,"mutability":"mutable","name":"p0","nameLocation":"288234:2:21","nodeType":"VariableDeclaration","scope":36084,"src":"288226:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36051,"name":"uint256","nodeType":"ElementaryTypeName","src":"288226:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36054,"mutability":"mutable","name":"p1","nameLocation":"288246:2:21","nodeType":"VariableDeclaration","scope":36084,"src":"288238:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36053,"name":"uint256","nodeType":"ElementaryTypeName","src":"288238:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36056,"mutability":"mutable","name":"p2","nameLocation":"288255:2:21","nodeType":"VariableDeclaration","scope":36084,"src":"288250:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36055,"name":"bool","nodeType":"ElementaryTypeName","src":"288250:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36058,"mutability":"mutable","name":"p3","nameLocation":"288267:2:21","nodeType":"VariableDeclaration","scope":36084,"src":"288259:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36057,"name":"address","nodeType":"ElementaryTypeName","src":"288259:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"288225:45:21"},"returnParameters":{"id":36060,"nodeType":"ParameterList","parameters":[],"src":"288285:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36118,"nodeType":"FunctionDefinition","src":"289091:866:21","nodes":[],"body":{"id":36117,"nodeType":"Block","src":"289160:797:21","nodes":[],"statements":[{"assignments":[36096],"declarations":[{"constant":false,"id":36096,"mutability":"mutable","name":"m0","nameLocation":"289178:2:21","nodeType":"VariableDeclaration","scope":36117,"src":"289170:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289170:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36097,"nodeType":"VariableDeclarationStatement","src":"289170:10:21"},{"assignments":[36099],"declarations":[{"constant":false,"id":36099,"mutability":"mutable","name":"m1","nameLocation":"289198:2:21","nodeType":"VariableDeclaration","scope":36117,"src":"289190:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289190:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36100,"nodeType":"VariableDeclarationStatement","src":"289190:10:21"},{"assignments":[36102],"declarations":[{"constant":false,"id":36102,"mutability":"mutable","name":"m2","nameLocation":"289218:2:21","nodeType":"VariableDeclaration","scope":36117,"src":"289210:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289210:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36103,"nodeType":"VariableDeclarationStatement","src":"289210:10:21"},{"assignments":[36105],"declarations":[{"constant":false,"id":36105,"mutability":"mutable","name":"m3","nameLocation":"289238:2:21","nodeType":"VariableDeclaration","scope":36117,"src":"289230:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289230:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36106,"nodeType":"VariableDeclarationStatement","src":"289230:10:21"},{"assignments":[36108],"declarations":[{"constant":false,"id":36108,"mutability":"mutable","name":"m4","nameLocation":"289258:2:21","nodeType":"VariableDeclaration","scope":36117,"src":"289250:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289250:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36109,"nodeType":"VariableDeclarationStatement","src":"289250:10:21"},{"AST":{"nativeSrc":"289322:375:21","nodeType":"YulBlock","src":"289322:375:21","statements":[{"nativeSrc":"289336:17:21","nodeType":"YulAssignment","src":"289336:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"289348:4:21","nodeType":"YulLiteral","src":"289348:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"289342:5:21","nodeType":"YulIdentifier","src":"289342:5:21"},"nativeSrc":"289342:11:21","nodeType":"YulFunctionCall","src":"289342:11:21"},"variableNames":[{"name":"m0","nativeSrc":"289336:2:21","nodeType":"YulIdentifier","src":"289336:2:21"}]},{"nativeSrc":"289366:17:21","nodeType":"YulAssignment","src":"289366:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"289378:4:21","nodeType":"YulLiteral","src":"289378:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"289372:5:21","nodeType":"YulIdentifier","src":"289372:5:21"},"nativeSrc":"289372:11:21","nodeType":"YulFunctionCall","src":"289372:11:21"},"variableNames":[{"name":"m1","nativeSrc":"289366:2:21","nodeType":"YulIdentifier","src":"289366:2:21"}]},{"nativeSrc":"289396:17:21","nodeType":"YulAssignment","src":"289396:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"289408:4:21","nodeType":"YulLiteral","src":"289408:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"289402:5:21","nodeType":"YulIdentifier","src":"289402:5:21"},"nativeSrc":"289402:11:21","nodeType":"YulFunctionCall","src":"289402:11:21"},"variableNames":[{"name":"m2","nativeSrc":"289396:2:21","nodeType":"YulIdentifier","src":"289396:2:21"}]},{"nativeSrc":"289426:17:21","nodeType":"YulAssignment","src":"289426:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"289438:4:21","nodeType":"YulLiteral","src":"289438:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"289432:5:21","nodeType":"YulIdentifier","src":"289432:5:21"},"nativeSrc":"289432:11:21","nodeType":"YulFunctionCall","src":"289432:11:21"},"variableNames":[{"name":"m3","nativeSrc":"289426:2:21","nodeType":"YulIdentifier","src":"289426:2:21"}]},{"nativeSrc":"289456:17:21","nodeType":"YulAssignment","src":"289456:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"289468:4:21","nodeType":"YulLiteral","src":"289468:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"289462:5:21","nodeType":"YulIdentifier","src":"289462:5:21"},"nativeSrc":"289462:11:21","nodeType":"YulFunctionCall","src":"289462:11:21"},"variableNames":[{"name":"m4","nativeSrc":"289456:2:21","nodeType":"YulIdentifier","src":"289456:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289554:4:21","nodeType":"YulLiteral","src":"289554:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"289560:10:21","nodeType":"YulLiteral","src":"289560:10:21","type":"","value":"0xab085ae6"}],"functionName":{"name":"mstore","nativeSrc":"289547:6:21","nodeType":"YulIdentifier","src":"289547:6:21"},"nativeSrc":"289547:24:21","nodeType":"YulFunctionCall","src":"289547:24:21"},"nativeSrc":"289547:24:21","nodeType":"YulExpressionStatement","src":"289547:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289591:4:21","nodeType":"YulLiteral","src":"289591:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"289597:2:21","nodeType":"YulIdentifier","src":"289597:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289584:6:21","nodeType":"YulIdentifier","src":"289584:6:21"},"nativeSrc":"289584:16:21","nodeType":"YulFunctionCall","src":"289584:16:21"},"nativeSrc":"289584:16:21","nodeType":"YulExpressionStatement","src":"289584:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289620:4:21","nodeType":"YulLiteral","src":"289620:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"289626:2:21","nodeType":"YulIdentifier","src":"289626:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289613:6:21","nodeType":"YulIdentifier","src":"289613:6:21"},"nativeSrc":"289613:16:21","nodeType":"YulFunctionCall","src":"289613:16:21"},"nativeSrc":"289613:16:21","nodeType":"YulExpressionStatement","src":"289613:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289649:4:21","nodeType":"YulLiteral","src":"289649:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"289655:2:21","nodeType":"YulIdentifier","src":"289655:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289642:6:21","nodeType":"YulIdentifier","src":"289642:6:21"},"nativeSrc":"289642:16:21","nodeType":"YulFunctionCall","src":"289642:16:21"},"nativeSrc":"289642:16:21","nodeType":"YulExpressionStatement","src":"289642:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289678:4:21","nodeType":"YulLiteral","src":"289678:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"289684:2:21","nodeType":"YulIdentifier","src":"289684:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289671:6:21","nodeType":"YulIdentifier","src":"289671:6:21"},"nativeSrc":"289671:16:21","nodeType":"YulFunctionCall","src":"289671:16:21"},"nativeSrc":"289671:16:21","nodeType":"YulExpressionStatement","src":"289671:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36096,"isOffset":false,"isSlot":false,"src":"289336:2:21","valueSize":1},{"declaration":36099,"isOffset":false,"isSlot":false,"src":"289366:2:21","valueSize":1},{"declaration":36102,"isOffset":false,"isSlot":false,"src":"289396:2:21","valueSize":1},{"declaration":36105,"isOffset":false,"isSlot":false,"src":"289426:2:21","valueSize":1},{"declaration":36108,"isOffset":false,"isSlot":false,"src":"289456:2:21","valueSize":1},{"declaration":36086,"isOffset":false,"isSlot":false,"src":"289597:2:21","valueSize":1},{"declaration":36088,"isOffset":false,"isSlot":false,"src":"289626:2:21","valueSize":1},{"declaration":36090,"isOffset":false,"isSlot":false,"src":"289655:2:21","valueSize":1},{"declaration":36092,"isOffset":false,"isSlot":false,"src":"289684:2:21","valueSize":1}],"id":36110,"nodeType":"InlineAssembly","src":"289313:384:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"289722:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"289728:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":36111,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"289706:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"289706:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36115,"nodeType":"ExpressionStatement","src":"289706:27:21"},{"AST":{"nativeSrc":"289795:156:21","nodeType":"YulBlock","src":"289795:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"289816:4:21","nodeType":"YulLiteral","src":"289816:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"289822:2:21","nodeType":"YulIdentifier","src":"289822:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289809:6:21","nodeType":"YulIdentifier","src":"289809:6:21"},"nativeSrc":"289809:16:21","nodeType":"YulFunctionCall","src":"289809:16:21"},"nativeSrc":"289809:16:21","nodeType":"YulExpressionStatement","src":"289809:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289845:4:21","nodeType":"YulLiteral","src":"289845:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"289851:2:21","nodeType":"YulIdentifier","src":"289851:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289838:6:21","nodeType":"YulIdentifier","src":"289838:6:21"},"nativeSrc":"289838:16:21","nodeType":"YulFunctionCall","src":"289838:16:21"},"nativeSrc":"289838:16:21","nodeType":"YulExpressionStatement","src":"289838:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289874:4:21","nodeType":"YulLiteral","src":"289874:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"289880:2:21","nodeType":"YulIdentifier","src":"289880:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289867:6:21","nodeType":"YulIdentifier","src":"289867:6:21"},"nativeSrc":"289867:16:21","nodeType":"YulFunctionCall","src":"289867:16:21"},"nativeSrc":"289867:16:21","nodeType":"YulExpressionStatement","src":"289867:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289903:4:21","nodeType":"YulLiteral","src":"289903:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"289909:2:21","nodeType":"YulIdentifier","src":"289909:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289896:6:21","nodeType":"YulIdentifier","src":"289896:6:21"},"nativeSrc":"289896:16:21","nodeType":"YulFunctionCall","src":"289896:16:21"},"nativeSrc":"289896:16:21","nodeType":"YulExpressionStatement","src":"289896:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289932:4:21","nodeType":"YulLiteral","src":"289932:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"289938:2:21","nodeType":"YulIdentifier","src":"289938:2:21"}],"functionName":{"name":"mstore","nativeSrc":"289925:6:21","nodeType":"YulIdentifier","src":"289925:6:21"},"nativeSrc":"289925:16:21","nodeType":"YulFunctionCall","src":"289925:16:21"},"nativeSrc":"289925:16:21","nodeType":"YulExpressionStatement","src":"289925:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36096,"isOffset":false,"isSlot":false,"src":"289822:2:21","valueSize":1},{"declaration":36099,"isOffset":false,"isSlot":false,"src":"289851:2:21","valueSize":1},{"declaration":36102,"isOffset":false,"isSlot":false,"src":"289880:2:21","valueSize":1},{"declaration":36105,"isOffset":false,"isSlot":false,"src":"289909:2:21","valueSize":1},{"declaration":36108,"isOffset":false,"isSlot":false,"src":"289938:2:21","valueSize":1}],"id":36116,"nodeType":"InlineAssembly","src":"289786:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"289100:3:21","parameters":{"id":36093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36086,"mutability":"mutable","name":"p0","nameLocation":"289112:2:21","nodeType":"VariableDeclaration","scope":36118,"src":"289104:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36085,"name":"uint256","nodeType":"ElementaryTypeName","src":"289104:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36088,"mutability":"mutable","name":"p1","nameLocation":"289124:2:21","nodeType":"VariableDeclaration","scope":36118,"src":"289116:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36087,"name":"uint256","nodeType":"ElementaryTypeName","src":"289116:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36090,"mutability":"mutable","name":"p2","nameLocation":"289133:2:21","nodeType":"VariableDeclaration","scope":36118,"src":"289128:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36089,"name":"bool","nodeType":"ElementaryTypeName","src":"289128:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36092,"mutability":"mutable","name":"p3","nameLocation":"289142:2:21","nodeType":"VariableDeclaration","scope":36118,"src":"289137:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36091,"name":"bool","nodeType":"ElementaryTypeName","src":"289137:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"289103:42:21"},"returnParameters":{"id":36094,"nodeType":"ParameterList","parameters":[],"src":"289160:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36152,"nodeType":"FunctionDefinition","src":"289963:872:21","nodes":[],"body":{"id":36151,"nodeType":"Block","src":"290035:800:21","nodes":[],"statements":[{"assignments":[36130],"declarations":[{"constant":false,"id":36130,"mutability":"mutable","name":"m0","nameLocation":"290053:2:21","nodeType":"VariableDeclaration","scope":36151,"src":"290045:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290045:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36131,"nodeType":"VariableDeclarationStatement","src":"290045:10:21"},{"assignments":[36133],"declarations":[{"constant":false,"id":36133,"mutability":"mutable","name":"m1","nameLocation":"290073:2:21","nodeType":"VariableDeclaration","scope":36151,"src":"290065:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290065:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36134,"nodeType":"VariableDeclarationStatement","src":"290065:10:21"},{"assignments":[36136],"declarations":[{"constant":false,"id":36136,"mutability":"mutable","name":"m2","nameLocation":"290093:2:21","nodeType":"VariableDeclaration","scope":36151,"src":"290085:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290085:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36137,"nodeType":"VariableDeclarationStatement","src":"290085:10:21"},{"assignments":[36139],"declarations":[{"constant":false,"id":36139,"mutability":"mutable","name":"m3","nameLocation":"290113:2:21","nodeType":"VariableDeclaration","scope":36151,"src":"290105:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290105:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36140,"nodeType":"VariableDeclarationStatement","src":"290105:10:21"},{"assignments":[36142],"declarations":[{"constant":false,"id":36142,"mutability":"mutable","name":"m4","nameLocation":"290133:2:21","nodeType":"VariableDeclaration","scope":36151,"src":"290125:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290125:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36143,"nodeType":"VariableDeclarationStatement","src":"290125:10:21"},{"AST":{"nativeSrc":"290197:378:21","nodeType":"YulBlock","src":"290197:378:21","statements":[{"nativeSrc":"290211:17:21","nodeType":"YulAssignment","src":"290211:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"290223:4:21","nodeType":"YulLiteral","src":"290223:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"290217:5:21","nodeType":"YulIdentifier","src":"290217:5:21"},"nativeSrc":"290217:11:21","nodeType":"YulFunctionCall","src":"290217:11:21"},"variableNames":[{"name":"m0","nativeSrc":"290211:2:21","nodeType":"YulIdentifier","src":"290211:2:21"}]},{"nativeSrc":"290241:17:21","nodeType":"YulAssignment","src":"290241:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"290253:4:21","nodeType":"YulLiteral","src":"290253:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"290247:5:21","nodeType":"YulIdentifier","src":"290247:5:21"},"nativeSrc":"290247:11:21","nodeType":"YulFunctionCall","src":"290247:11:21"},"variableNames":[{"name":"m1","nativeSrc":"290241:2:21","nodeType":"YulIdentifier","src":"290241:2:21"}]},{"nativeSrc":"290271:17:21","nodeType":"YulAssignment","src":"290271:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"290283:4:21","nodeType":"YulLiteral","src":"290283:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"290277:5:21","nodeType":"YulIdentifier","src":"290277:5:21"},"nativeSrc":"290277:11:21","nodeType":"YulFunctionCall","src":"290277:11:21"},"variableNames":[{"name":"m2","nativeSrc":"290271:2:21","nodeType":"YulIdentifier","src":"290271:2:21"}]},{"nativeSrc":"290301:17:21","nodeType":"YulAssignment","src":"290301:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"290313:4:21","nodeType":"YulLiteral","src":"290313:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"290307:5:21","nodeType":"YulIdentifier","src":"290307:5:21"},"nativeSrc":"290307:11:21","nodeType":"YulFunctionCall","src":"290307:11:21"},"variableNames":[{"name":"m3","nativeSrc":"290301:2:21","nodeType":"YulIdentifier","src":"290301:2:21"}]},{"nativeSrc":"290331:17:21","nodeType":"YulAssignment","src":"290331:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"290343:4:21","nodeType":"YulLiteral","src":"290343:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"290337:5:21","nodeType":"YulIdentifier","src":"290337:5:21"},"nativeSrc":"290337:11:21","nodeType":"YulFunctionCall","src":"290337:11:21"},"variableNames":[{"name":"m4","nativeSrc":"290331:2:21","nodeType":"YulIdentifier","src":"290331:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290432:4:21","nodeType":"YulLiteral","src":"290432:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"290438:10:21","nodeType":"YulLiteral","src":"290438:10:21","type":"","value":"0xeb7f6fd2"}],"functionName":{"name":"mstore","nativeSrc":"290425:6:21","nodeType":"YulIdentifier","src":"290425:6:21"},"nativeSrc":"290425:24:21","nodeType":"YulFunctionCall","src":"290425:24:21"},"nativeSrc":"290425:24:21","nodeType":"YulExpressionStatement","src":"290425:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290469:4:21","nodeType":"YulLiteral","src":"290469:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"290475:2:21","nodeType":"YulIdentifier","src":"290475:2:21"}],"functionName":{"name":"mstore","nativeSrc":"290462:6:21","nodeType":"YulIdentifier","src":"290462:6:21"},"nativeSrc":"290462:16:21","nodeType":"YulFunctionCall","src":"290462:16:21"},"nativeSrc":"290462:16:21","nodeType":"YulExpressionStatement","src":"290462:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290498:4:21","nodeType":"YulLiteral","src":"290498:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"290504:2:21","nodeType":"YulIdentifier","src":"290504:2:21"}],"functionName":{"name":"mstore","nativeSrc":"290491:6:21","nodeType":"YulIdentifier","src":"290491:6:21"},"nativeSrc":"290491:16:21","nodeType":"YulFunctionCall","src":"290491:16:21"},"nativeSrc":"290491:16:21","nodeType":"YulExpressionStatement","src":"290491:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290527:4:21","nodeType":"YulLiteral","src":"290527:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"290533:2:21","nodeType":"YulIdentifier","src":"290533:2:21"}],"functionName":{"name":"mstore","nativeSrc":"290520:6:21","nodeType":"YulIdentifier","src":"290520:6:21"},"nativeSrc":"290520:16:21","nodeType":"YulFunctionCall","src":"290520:16:21"},"nativeSrc":"290520:16:21","nodeType":"YulExpressionStatement","src":"290520:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290556:4:21","nodeType":"YulLiteral","src":"290556:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"290562:2:21","nodeType":"YulIdentifier","src":"290562:2:21"}],"functionName":{"name":"mstore","nativeSrc":"290549:6:21","nodeType":"YulIdentifier","src":"290549:6:21"},"nativeSrc":"290549:16:21","nodeType":"YulFunctionCall","src":"290549:16:21"},"nativeSrc":"290549:16:21","nodeType":"YulExpressionStatement","src":"290549:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36130,"isOffset":false,"isSlot":false,"src":"290211:2:21","valueSize":1},{"declaration":36133,"isOffset":false,"isSlot":false,"src":"290241:2:21","valueSize":1},{"declaration":36136,"isOffset":false,"isSlot":false,"src":"290271:2:21","valueSize":1},{"declaration":36139,"isOffset":false,"isSlot":false,"src":"290301:2:21","valueSize":1},{"declaration":36142,"isOffset":false,"isSlot":false,"src":"290331:2:21","valueSize":1},{"declaration":36120,"isOffset":false,"isSlot":false,"src":"290475:2:21","valueSize":1},{"declaration":36122,"isOffset":false,"isSlot":false,"src":"290504:2:21","valueSize":1},{"declaration":36124,"isOffset":false,"isSlot":false,"src":"290533:2:21","valueSize":1},{"declaration":36126,"isOffset":false,"isSlot":false,"src":"290562:2:21","valueSize":1}],"id":36144,"nodeType":"InlineAssembly","src":"290188:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"290600:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"290606:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":36145,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"290584:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"290584:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36149,"nodeType":"ExpressionStatement","src":"290584:27:21"},{"AST":{"nativeSrc":"290673:156:21","nodeType":"YulBlock","src":"290673:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"290694:4:21","nodeType":"YulLiteral","src":"290694:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"290700:2:21","nodeType":"YulIdentifier","src":"290700:2:21"}],"functionName":{"name":"mstore","nativeSrc":"290687:6:21","nodeType":"YulIdentifier","src":"290687:6:21"},"nativeSrc":"290687:16:21","nodeType":"YulFunctionCall","src":"290687:16:21"},"nativeSrc":"290687:16:21","nodeType":"YulExpressionStatement","src":"290687:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290723:4:21","nodeType":"YulLiteral","src":"290723:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"290729:2:21","nodeType":"YulIdentifier","src":"290729:2:21"}],"functionName":{"name":"mstore","nativeSrc":"290716:6:21","nodeType":"YulIdentifier","src":"290716:6:21"},"nativeSrc":"290716:16:21","nodeType":"YulFunctionCall","src":"290716:16:21"},"nativeSrc":"290716:16:21","nodeType":"YulExpressionStatement","src":"290716:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290752:4:21","nodeType":"YulLiteral","src":"290752:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"290758:2:21","nodeType":"YulIdentifier","src":"290758:2:21"}],"functionName":{"name":"mstore","nativeSrc":"290745:6:21","nodeType":"YulIdentifier","src":"290745:6:21"},"nativeSrc":"290745:16:21","nodeType":"YulFunctionCall","src":"290745:16:21"},"nativeSrc":"290745:16:21","nodeType":"YulExpressionStatement","src":"290745:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290781:4:21","nodeType":"YulLiteral","src":"290781:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"290787:2:21","nodeType":"YulIdentifier","src":"290787:2:21"}],"functionName":{"name":"mstore","nativeSrc":"290774:6:21","nodeType":"YulIdentifier","src":"290774:6:21"},"nativeSrc":"290774:16:21","nodeType":"YulFunctionCall","src":"290774:16:21"},"nativeSrc":"290774:16:21","nodeType":"YulExpressionStatement","src":"290774:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290810:4:21","nodeType":"YulLiteral","src":"290810:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"290816:2:21","nodeType":"YulIdentifier","src":"290816:2:21"}],"functionName":{"name":"mstore","nativeSrc":"290803:6:21","nodeType":"YulIdentifier","src":"290803:6:21"},"nativeSrc":"290803:16:21","nodeType":"YulFunctionCall","src":"290803:16:21"},"nativeSrc":"290803:16:21","nodeType":"YulExpressionStatement","src":"290803:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36130,"isOffset":false,"isSlot":false,"src":"290700:2:21","valueSize":1},{"declaration":36133,"isOffset":false,"isSlot":false,"src":"290729:2:21","valueSize":1},{"declaration":36136,"isOffset":false,"isSlot":false,"src":"290758:2:21","valueSize":1},{"declaration":36139,"isOffset":false,"isSlot":false,"src":"290787:2:21","valueSize":1},{"declaration":36142,"isOffset":false,"isSlot":false,"src":"290816:2:21","valueSize":1}],"id":36150,"nodeType":"InlineAssembly","src":"290664:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"289972:3:21","parameters":{"id":36127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36120,"mutability":"mutable","name":"p0","nameLocation":"289984:2:21","nodeType":"VariableDeclaration","scope":36152,"src":"289976:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36119,"name":"uint256","nodeType":"ElementaryTypeName","src":"289976:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36122,"mutability":"mutable","name":"p1","nameLocation":"289996:2:21","nodeType":"VariableDeclaration","scope":36152,"src":"289988:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36121,"name":"uint256","nodeType":"ElementaryTypeName","src":"289988:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36124,"mutability":"mutable","name":"p2","nameLocation":"290005:2:21","nodeType":"VariableDeclaration","scope":36152,"src":"290000:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36123,"name":"bool","nodeType":"ElementaryTypeName","src":"290000:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36126,"mutability":"mutable","name":"p3","nameLocation":"290017:2:21","nodeType":"VariableDeclaration","scope":36152,"src":"290009:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36125,"name":"uint256","nodeType":"ElementaryTypeName","src":"290009:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"289975:45:21"},"returnParameters":{"id":36128,"nodeType":"ParameterList","parameters":[],"src":"290035:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36192,"nodeType":"FunctionDefinition","src":"290841:1420:21","nodes":[],"body":{"id":36191,"nodeType":"Block","src":"290913:1348:21","nodes":[],"statements":[{"assignments":[36164],"declarations":[{"constant":false,"id":36164,"mutability":"mutable","name":"m0","nameLocation":"290931:2:21","nodeType":"VariableDeclaration","scope":36191,"src":"290923:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290923:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36165,"nodeType":"VariableDeclarationStatement","src":"290923:10:21"},{"assignments":[36167],"declarations":[{"constant":false,"id":36167,"mutability":"mutable","name":"m1","nameLocation":"290951:2:21","nodeType":"VariableDeclaration","scope":36191,"src":"290943:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290943:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36168,"nodeType":"VariableDeclarationStatement","src":"290943:10:21"},{"assignments":[36170],"declarations":[{"constant":false,"id":36170,"mutability":"mutable","name":"m2","nameLocation":"290971:2:21","nodeType":"VariableDeclaration","scope":36191,"src":"290963:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290963:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36171,"nodeType":"VariableDeclarationStatement","src":"290963:10:21"},{"assignments":[36173],"declarations":[{"constant":false,"id":36173,"mutability":"mutable","name":"m3","nameLocation":"290991:2:21","nodeType":"VariableDeclaration","scope":36191,"src":"290983:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36172,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290983:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36174,"nodeType":"VariableDeclarationStatement","src":"290983:10:21"},{"assignments":[36176],"declarations":[{"constant":false,"id":36176,"mutability":"mutable","name":"m4","nameLocation":"291011:2:21","nodeType":"VariableDeclaration","scope":36191,"src":"291003:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291003:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36177,"nodeType":"VariableDeclarationStatement","src":"291003:10:21"},{"assignments":[36179],"declarations":[{"constant":false,"id":36179,"mutability":"mutable","name":"m5","nameLocation":"291031:2:21","nodeType":"VariableDeclaration","scope":36191,"src":"291023:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291023:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36180,"nodeType":"VariableDeclarationStatement","src":"291023:10:21"},{"assignments":[36182],"declarations":[{"constant":false,"id":36182,"mutability":"mutable","name":"m6","nameLocation":"291051:2:21","nodeType":"VariableDeclaration","scope":36191,"src":"291043:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291043:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36183,"nodeType":"VariableDeclarationStatement","src":"291043:10:21"},{"AST":{"nativeSrc":"291115:828:21","nodeType":"YulBlock","src":"291115:828:21","statements":[{"body":{"nativeSrc":"291158:313:21","nodeType":"YulBlock","src":"291158:313:21","statements":[{"nativeSrc":"291176:15:21","nodeType":"YulVariableDeclaration","src":"291176:15:21","value":{"kind":"number","nativeSrc":"291190:1:21","nodeType":"YulLiteral","src":"291190:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"291180:6:21","nodeType":"YulTypedName","src":"291180:6:21","type":""}]},{"body":{"nativeSrc":"291261:40:21","nodeType":"YulBlock","src":"291261:40:21","statements":[{"body":{"nativeSrc":"291290:9:21","nodeType":"YulBlock","src":"291290:9:21","statements":[{"nativeSrc":"291292:5:21","nodeType":"YulBreak","src":"291292:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"291278:6:21","nodeType":"YulIdentifier","src":"291278:6:21"},{"name":"w","nativeSrc":"291286:1:21","nodeType":"YulIdentifier","src":"291286:1:21"}],"functionName":{"name":"byte","nativeSrc":"291273:4:21","nodeType":"YulIdentifier","src":"291273:4:21"},"nativeSrc":"291273:15:21","nodeType":"YulFunctionCall","src":"291273:15:21"}],"functionName":{"name":"iszero","nativeSrc":"291266:6:21","nodeType":"YulIdentifier","src":"291266:6:21"},"nativeSrc":"291266:23:21","nodeType":"YulFunctionCall","src":"291266:23:21"},"nativeSrc":"291263:36:21","nodeType":"YulIf","src":"291263:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"291218:6:21","nodeType":"YulIdentifier","src":"291218:6:21"},{"kind":"number","nativeSrc":"291226:4:21","nodeType":"YulLiteral","src":"291226:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"291215:2:21","nodeType":"YulIdentifier","src":"291215:2:21"},"nativeSrc":"291215:16:21","nodeType":"YulFunctionCall","src":"291215:16:21"},"nativeSrc":"291208:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"291232:28:21","nodeType":"YulBlock","src":"291232:28:21","statements":[{"nativeSrc":"291234:24:21","nodeType":"YulAssignment","src":"291234:24:21","value":{"arguments":[{"name":"length","nativeSrc":"291248:6:21","nodeType":"YulIdentifier","src":"291248:6:21"},{"kind":"number","nativeSrc":"291256:1:21","nodeType":"YulLiteral","src":"291256:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"291244:3:21","nodeType":"YulIdentifier","src":"291244:3:21"},"nativeSrc":"291244:14:21","nodeType":"YulFunctionCall","src":"291244:14:21"},"variableNames":[{"name":"length","nativeSrc":"291234:6:21","nodeType":"YulIdentifier","src":"291234:6:21"}]}]},"pre":{"nativeSrc":"291212:2:21","nodeType":"YulBlock","src":"291212:2:21","statements":[]},"src":"291208:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"291325:3:21","nodeType":"YulIdentifier","src":"291325:3:21"},{"name":"length","nativeSrc":"291330:6:21","nodeType":"YulIdentifier","src":"291330:6:21"}],"functionName":{"name":"mstore","nativeSrc":"291318:6:21","nodeType":"YulIdentifier","src":"291318:6:21"},"nativeSrc":"291318:19:21","nodeType":"YulFunctionCall","src":"291318:19:21"},"nativeSrc":"291318:19:21","nodeType":"YulExpressionStatement","src":"291318:19:21"},{"nativeSrc":"291354:37:21","nodeType":"YulVariableDeclaration","src":"291354:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"291371:3:21","nodeType":"YulLiteral","src":"291371:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"291380:1:21","nodeType":"YulLiteral","src":"291380:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"291383:6:21","nodeType":"YulIdentifier","src":"291383:6:21"}],"functionName":{"name":"shl","nativeSrc":"291376:3:21","nodeType":"YulIdentifier","src":"291376:3:21"},"nativeSrc":"291376:14:21","nodeType":"YulFunctionCall","src":"291376:14:21"}],"functionName":{"name":"sub","nativeSrc":"291367:3:21","nodeType":"YulIdentifier","src":"291367:3:21"},"nativeSrc":"291367:24:21","nodeType":"YulFunctionCall","src":"291367:24:21"},"variables":[{"name":"shift","nativeSrc":"291358:5:21","nodeType":"YulTypedName","src":"291358:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"291419:3:21","nodeType":"YulIdentifier","src":"291419:3:21"},{"kind":"number","nativeSrc":"291424:4:21","nodeType":"YulLiteral","src":"291424:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"291415:3:21","nodeType":"YulIdentifier","src":"291415:3:21"},"nativeSrc":"291415:14:21","nodeType":"YulFunctionCall","src":"291415:14:21"},{"arguments":[{"name":"shift","nativeSrc":"291435:5:21","nodeType":"YulIdentifier","src":"291435:5:21"},{"arguments":[{"name":"shift","nativeSrc":"291446:5:21","nodeType":"YulIdentifier","src":"291446:5:21"},{"name":"w","nativeSrc":"291453:1:21","nodeType":"YulIdentifier","src":"291453:1:21"}],"functionName":{"name":"shr","nativeSrc":"291442:3:21","nodeType":"YulIdentifier","src":"291442:3:21"},"nativeSrc":"291442:13:21","nodeType":"YulFunctionCall","src":"291442:13:21"}],"functionName":{"name":"shl","nativeSrc":"291431:3:21","nodeType":"YulIdentifier","src":"291431:3:21"},"nativeSrc":"291431:25:21","nodeType":"YulFunctionCall","src":"291431:25:21"}],"functionName":{"name":"mstore","nativeSrc":"291408:6:21","nodeType":"YulIdentifier","src":"291408:6:21"},"nativeSrc":"291408:49:21","nodeType":"YulFunctionCall","src":"291408:49:21"},"nativeSrc":"291408:49:21","nodeType":"YulExpressionStatement","src":"291408:49:21"}]},"name":"writeString","nativeSrc":"291129:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"291150:3:21","nodeType":"YulTypedName","src":"291150:3:21","type":""},{"name":"w","nativeSrc":"291155:1:21","nodeType":"YulTypedName","src":"291155:1:21","type":""}],"src":"291129:342:21"},{"nativeSrc":"291484:17:21","nodeType":"YulAssignment","src":"291484:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"291496:4:21","nodeType":"YulLiteral","src":"291496:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"291490:5:21","nodeType":"YulIdentifier","src":"291490:5:21"},"nativeSrc":"291490:11:21","nodeType":"YulFunctionCall","src":"291490:11:21"},"variableNames":[{"name":"m0","nativeSrc":"291484:2:21","nodeType":"YulIdentifier","src":"291484:2:21"}]},{"nativeSrc":"291514:17:21","nodeType":"YulAssignment","src":"291514:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"291526:4:21","nodeType":"YulLiteral","src":"291526:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"291520:5:21","nodeType":"YulIdentifier","src":"291520:5:21"},"nativeSrc":"291520:11:21","nodeType":"YulFunctionCall","src":"291520:11:21"},"variableNames":[{"name":"m1","nativeSrc":"291514:2:21","nodeType":"YulIdentifier","src":"291514:2:21"}]},{"nativeSrc":"291544:17:21","nodeType":"YulAssignment","src":"291544:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"291556:4:21","nodeType":"YulLiteral","src":"291556:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"291550:5:21","nodeType":"YulIdentifier","src":"291550:5:21"},"nativeSrc":"291550:11:21","nodeType":"YulFunctionCall","src":"291550:11:21"},"variableNames":[{"name":"m2","nativeSrc":"291544:2:21","nodeType":"YulIdentifier","src":"291544:2:21"}]},{"nativeSrc":"291574:17:21","nodeType":"YulAssignment","src":"291574:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"291586:4:21","nodeType":"YulLiteral","src":"291586:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"291580:5:21","nodeType":"YulIdentifier","src":"291580:5:21"},"nativeSrc":"291580:11:21","nodeType":"YulFunctionCall","src":"291580:11:21"},"variableNames":[{"name":"m3","nativeSrc":"291574:2:21","nodeType":"YulIdentifier","src":"291574:2:21"}]},{"nativeSrc":"291604:17:21","nodeType":"YulAssignment","src":"291604:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"291616:4:21","nodeType":"YulLiteral","src":"291616:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"291610:5:21","nodeType":"YulIdentifier","src":"291610:5:21"},"nativeSrc":"291610:11:21","nodeType":"YulFunctionCall","src":"291610:11:21"},"variableNames":[{"name":"m4","nativeSrc":"291604:2:21","nodeType":"YulIdentifier","src":"291604:2:21"}]},{"nativeSrc":"291634:17:21","nodeType":"YulAssignment","src":"291634:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"291646:4:21","nodeType":"YulLiteral","src":"291646:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"291640:5:21","nodeType":"YulIdentifier","src":"291640:5:21"},"nativeSrc":"291640:11:21","nodeType":"YulFunctionCall","src":"291640:11:21"},"variableNames":[{"name":"m5","nativeSrc":"291634:2:21","nodeType":"YulIdentifier","src":"291634:2:21"}]},{"nativeSrc":"291664:17:21","nodeType":"YulAssignment","src":"291664:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"291676:4:21","nodeType":"YulLiteral","src":"291676:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"291670:5:21","nodeType":"YulIdentifier","src":"291670:5:21"},"nativeSrc":"291670:11:21","nodeType":"YulFunctionCall","src":"291670:11:21"},"variableNames":[{"name":"m6","nativeSrc":"291664:2:21","nodeType":"YulIdentifier","src":"291664:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291764:4:21","nodeType":"YulLiteral","src":"291764:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"291770:10:21","nodeType":"YulLiteral","src":"291770:10:21","type":"","value":"0xa5b4fc99"}],"functionName":{"name":"mstore","nativeSrc":"291757:6:21","nodeType":"YulIdentifier","src":"291757:6:21"},"nativeSrc":"291757:24:21","nodeType":"YulFunctionCall","src":"291757:24:21"},"nativeSrc":"291757:24:21","nodeType":"YulExpressionStatement","src":"291757:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291801:4:21","nodeType":"YulLiteral","src":"291801:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"291807:2:21","nodeType":"YulIdentifier","src":"291807:2:21"}],"functionName":{"name":"mstore","nativeSrc":"291794:6:21","nodeType":"YulIdentifier","src":"291794:6:21"},"nativeSrc":"291794:16:21","nodeType":"YulFunctionCall","src":"291794:16:21"},"nativeSrc":"291794:16:21","nodeType":"YulExpressionStatement","src":"291794:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291830:4:21","nodeType":"YulLiteral","src":"291830:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"291836:2:21","nodeType":"YulIdentifier","src":"291836:2:21"}],"functionName":{"name":"mstore","nativeSrc":"291823:6:21","nodeType":"YulIdentifier","src":"291823:6:21"},"nativeSrc":"291823:16:21","nodeType":"YulFunctionCall","src":"291823:16:21"},"nativeSrc":"291823:16:21","nodeType":"YulExpressionStatement","src":"291823:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291859:4:21","nodeType":"YulLiteral","src":"291859:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"291865:2:21","nodeType":"YulIdentifier","src":"291865:2:21"}],"functionName":{"name":"mstore","nativeSrc":"291852:6:21","nodeType":"YulIdentifier","src":"291852:6:21"},"nativeSrc":"291852:16:21","nodeType":"YulFunctionCall","src":"291852:16:21"},"nativeSrc":"291852:16:21","nodeType":"YulExpressionStatement","src":"291852:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291888:4:21","nodeType":"YulLiteral","src":"291888:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"291894:4:21","nodeType":"YulLiteral","src":"291894:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"291881:6:21","nodeType":"YulIdentifier","src":"291881:6:21"},"nativeSrc":"291881:18:21","nodeType":"YulFunctionCall","src":"291881:18:21"},"nativeSrc":"291881:18:21","nodeType":"YulExpressionStatement","src":"291881:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291924:4:21","nodeType":"YulLiteral","src":"291924:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"291930:2:21","nodeType":"YulIdentifier","src":"291930:2:21"}],"functionName":{"name":"writeString","nativeSrc":"291912:11:21","nodeType":"YulIdentifier","src":"291912:11:21"},"nativeSrc":"291912:21:21","nodeType":"YulFunctionCall","src":"291912:21:21"},"nativeSrc":"291912:21:21","nodeType":"YulExpressionStatement","src":"291912:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36164,"isOffset":false,"isSlot":false,"src":"291484:2:21","valueSize":1},{"declaration":36167,"isOffset":false,"isSlot":false,"src":"291514:2:21","valueSize":1},{"declaration":36170,"isOffset":false,"isSlot":false,"src":"291544:2:21","valueSize":1},{"declaration":36173,"isOffset":false,"isSlot":false,"src":"291574:2:21","valueSize":1},{"declaration":36176,"isOffset":false,"isSlot":false,"src":"291604:2:21","valueSize":1},{"declaration":36179,"isOffset":false,"isSlot":false,"src":"291634:2:21","valueSize":1},{"declaration":36182,"isOffset":false,"isSlot":false,"src":"291664:2:21","valueSize":1},{"declaration":36154,"isOffset":false,"isSlot":false,"src":"291807:2:21","valueSize":1},{"declaration":36156,"isOffset":false,"isSlot":false,"src":"291836:2:21","valueSize":1},{"declaration":36158,"isOffset":false,"isSlot":false,"src":"291865:2:21","valueSize":1},{"declaration":36160,"isOffset":false,"isSlot":false,"src":"291930:2:21","valueSize":1}],"id":36184,"nodeType":"InlineAssembly","src":"291106:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"291968:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"291974:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36185,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"291952:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"291952:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36189,"nodeType":"ExpressionStatement","src":"291952:27:21"},{"AST":{"nativeSrc":"292041:214:21","nodeType":"YulBlock","src":"292041:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"292062:4:21","nodeType":"YulLiteral","src":"292062:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"292068:2:21","nodeType":"YulIdentifier","src":"292068:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292055:6:21","nodeType":"YulIdentifier","src":"292055:6:21"},"nativeSrc":"292055:16:21","nodeType":"YulFunctionCall","src":"292055:16:21"},"nativeSrc":"292055:16:21","nodeType":"YulExpressionStatement","src":"292055:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292091:4:21","nodeType":"YulLiteral","src":"292091:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"292097:2:21","nodeType":"YulIdentifier","src":"292097:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292084:6:21","nodeType":"YulIdentifier","src":"292084:6:21"},"nativeSrc":"292084:16:21","nodeType":"YulFunctionCall","src":"292084:16:21"},"nativeSrc":"292084:16:21","nodeType":"YulExpressionStatement","src":"292084:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292120:4:21","nodeType":"YulLiteral","src":"292120:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"292126:2:21","nodeType":"YulIdentifier","src":"292126:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292113:6:21","nodeType":"YulIdentifier","src":"292113:6:21"},"nativeSrc":"292113:16:21","nodeType":"YulFunctionCall","src":"292113:16:21"},"nativeSrc":"292113:16:21","nodeType":"YulExpressionStatement","src":"292113:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292149:4:21","nodeType":"YulLiteral","src":"292149:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"292155:2:21","nodeType":"YulIdentifier","src":"292155:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292142:6:21","nodeType":"YulIdentifier","src":"292142:6:21"},"nativeSrc":"292142:16:21","nodeType":"YulFunctionCall","src":"292142:16:21"},"nativeSrc":"292142:16:21","nodeType":"YulExpressionStatement","src":"292142:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292178:4:21","nodeType":"YulLiteral","src":"292178:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"292184:2:21","nodeType":"YulIdentifier","src":"292184:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292171:6:21","nodeType":"YulIdentifier","src":"292171:6:21"},"nativeSrc":"292171:16:21","nodeType":"YulFunctionCall","src":"292171:16:21"},"nativeSrc":"292171:16:21","nodeType":"YulExpressionStatement","src":"292171:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292207:4:21","nodeType":"YulLiteral","src":"292207:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"292213:2:21","nodeType":"YulIdentifier","src":"292213:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292200:6:21","nodeType":"YulIdentifier","src":"292200:6:21"},"nativeSrc":"292200:16:21","nodeType":"YulFunctionCall","src":"292200:16:21"},"nativeSrc":"292200:16:21","nodeType":"YulExpressionStatement","src":"292200:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292236:4:21","nodeType":"YulLiteral","src":"292236:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"292242:2:21","nodeType":"YulIdentifier","src":"292242:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292229:6:21","nodeType":"YulIdentifier","src":"292229:6:21"},"nativeSrc":"292229:16:21","nodeType":"YulFunctionCall","src":"292229:16:21"},"nativeSrc":"292229:16:21","nodeType":"YulExpressionStatement","src":"292229:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36164,"isOffset":false,"isSlot":false,"src":"292068:2:21","valueSize":1},{"declaration":36167,"isOffset":false,"isSlot":false,"src":"292097:2:21","valueSize":1},{"declaration":36170,"isOffset":false,"isSlot":false,"src":"292126:2:21","valueSize":1},{"declaration":36173,"isOffset":false,"isSlot":false,"src":"292155:2:21","valueSize":1},{"declaration":36176,"isOffset":false,"isSlot":false,"src":"292184:2:21","valueSize":1},{"declaration":36179,"isOffset":false,"isSlot":false,"src":"292213:2:21","valueSize":1},{"declaration":36182,"isOffset":false,"isSlot":false,"src":"292242:2:21","valueSize":1}],"id":36190,"nodeType":"InlineAssembly","src":"292032:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"290850:3:21","parameters":{"id":36161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36154,"mutability":"mutable","name":"p0","nameLocation":"290862:2:21","nodeType":"VariableDeclaration","scope":36192,"src":"290854:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36153,"name":"uint256","nodeType":"ElementaryTypeName","src":"290854:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36156,"mutability":"mutable","name":"p1","nameLocation":"290874:2:21","nodeType":"VariableDeclaration","scope":36192,"src":"290866:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36155,"name":"uint256","nodeType":"ElementaryTypeName","src":"290866:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36158,"mutability":"mutable","name":"p2","nameLocation":"290883:2:21","nodeType":"VariableDeclaration","scope":36192,"src":"290878:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36157,"name":"bool","nodeType":"ElementaryTypeName","src":"290878:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36160,"mutability":"mutable","name":"p3","nameLocation":"290895:2:21","nodeType":"VariableDeclaration","scope":36192,"src":"290887:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290887:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"290853:45:21"},"returnParameters":{"id":36162,"nodeType":"ParameterList","parameters":[],"src":"290913:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36226,"nodeType":"FunctionDefinition","src":"292267:878:21","nodes":[],"body":{"id":36225,"nodeType":"Block","src":"292342:803:21","nodes":[],"statements":[{"assignments":[36204],"declarations":[{"constant":false,"id":36204,"mutability":"mutable","name":"m0","nameLocation":"292360:2:21","nodeType":"VariableDeclaration","scope":36225,"src":"292352:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36203,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292352:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36205,"nodeType":"VariableDeclarationStatement","src":"292352:10:21"},{"assignments":[36207],"declarations":[{"constant":false,"id":36207,"mutability":"mutable","name":"m1","nameLocation":"292380:2:21","nodeType":"VariableDeclaration","scope":36225,"src":"292372:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292372:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36208,"nodeType":"VariableDeclarationStatement","src":"292372:10:21"},{"assignments":[36210],"declarations":[{"constant":false,"id":36210,"mutability":"mutable","name":"m2","nameLocation":"292400:2:21","nodeType":"VariableDeclaration","scope":36225,"src":"292392:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292392:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36211,"nodeType":"VariableDeclarationStatement","src":"292392:10:21"},{"assignments":[36213],"declarations":[{"constant":false,"id":36213,"mutability":"mutable","name":"m3","nameLocation":"292420:2:21","nodeType":"VariableDeclaration","scope":36225,"src":"292412:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292412:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36214,"nodeType":"VariableDeclarationStatement","src":"292412:10:21"},{"assignments":[36216],"declarations":[{"constant":false,"id":36216,"mutability":"mutable","name":"m4","nameLocation":"292440:2:21","nodeType":"VariableDeclaration","scope":36225,"src":"292432:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292432:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36217,"nodeType":"VariableDeclarationStatement","src":"292432:10:21"},{"AST":{"nativeSrc":"292504:381:21","nodeType":"YulBlock","src":"292504:381:21","statements":[{"nativeSrc":"292518:17:21","nodeType":"YulAssignment","src":"292518:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"292530:4:21","nodeType":"YulLiteral","src":"292530:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"292524:5:21","nodeType":"YulIdentifier","src":"292524:5:21"},"nativeSrc":"292524:11:21","nodeType":"YulFunctionCall","src":"292524:11:21"},"variableNames":[{"name":"m0","nativeSrc":"292518:2:21","nodeType":"YulIdentifier","src":"292518:2:21"}]},{"nativeSrc":"292548:17:21","nodeType":"YulAssignment","src":"292548:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"292560:4:21","nodeType":"YulLiteral","src":"292560:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"292554:5:21","nodeType":"YulIdentifier","src":"292554:5:21"},"nativeSrc":"292554:11:21","nodeType":"YulFunctionCall","src":"292554:11:21"},"variableNames":[{"name":"m1","nativeSrc":"292548:2:21","nodeType":"YulIdentifier","src":"292548:2:21"}]},{"nativeSrc":"292578:17:21","nodeType":"YulAssignment","src":"292578:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"292590:4:21","nodeType":"YulLiteral","src":"292590:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"292584:5:21","nodeType":"YulIdentifier","src":"292584:5:21"},"nativeSrc":"292584:11:21","nodeType":"YulFunctionCall","src":"292584:11:21"},"variableNames":[{"name":"m2","nativeSrc":"292578:2:21","nodeType":"YulIdentifier","src":"292578:2:21"}]},{"nativeSrc":"292608:17:21","nodeType":"YulAssignment","src":"292608:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"292620:4:21","nodeType":"YulLiteral","src":"292620:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"292614:5:21","nodeType":"YulIdentifier","src":"292614:5:21"},"nativeSrc":"292614:11:21","nodeType":"YulFunctionCall","src":"292614:11:21"},"variableNames":[{"name":"m3","nativeSrc":"292608:2:21","nodeType":"YulIdentifier","src":"292608:2:21"}]},{"nativeSrc":"292638:17:21","nodeType":"YulAssignment","src":"292638:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"292650:4:21","nodeType":"YulLiteral","src":"292650:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"292644:5:21","nodeType":"YulIdentifier","src":"292644:5:21"},"nativeSrc":"292644:11:21","nodeType":"YulFunctionCall","src":"292644:11:21"},"variableNames":[{"name":"m4","nativeSrc":"292638:2:21","nodeType":"YulIdentifier","src":"292638:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292742:4:21","nodeType":"YulLiteral","src":"292742:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"292748:10:21","nodeType":"YulLiteral","src":"292748:10:21","type":"","value":"0xfa8185af"}],"functionName":{"name":"mstore","nativeSrc":"292735:6:21","nodeType":"YulIdentifier","src":"292735:6:21"},"nativeSrc":"292735:24:21","nodeType":"YulFunctionCall","src":"292735:24:21"},"nativeSrc":"292735:24:21","nodeType":"YulExpressionStatement","src":"292735:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292779:4:21","nodeType":"YulLiteral","src":"292779:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"292785:2:21","nodeType":"YulIdentifier","src":"292785:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292772:6:21","nodeType":"YulIdentifier","src":"292772:6:21"},"nativeSrc":"292772:16:21","nodeType":"YulFunctionCall","src":"292772:16:21"},"nativeSrc":"292772:16:21","nodeType":"YulExpressionStatement","src":"292772:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292808:4:21","nodeType":"YulLiteral","src":"292808:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"292814:2:21","nodeType":"YulIdentifier","src":"292814:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292801:6:21","nodeType":"YulIdentifier","src":"292801:6:21"},"nativeSrc":"292801:16:21","nodeType":"YulFunctionCall","src":"292801:16:21"},"nativeSrc":"292801:16:21","nodeType":"YulExpressionStatement","src":"292801:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292837:4:21","nodeType":"YulLiteral","src":"292837:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"292843:2:21","nodeType":"YulIdentifier","src":"292843:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292830:6:21","nodeType":"YulIdentifier","src":"292830:6:21"},"nativeSrc":"292830:16:21","nodeType":"YulFunctionCall","src":"292830:16:21"},"nativeSrc":"292830:16:21","nodeType":"YulExpressionStatement","src":"292830:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292866:4:21","nodeType":"YulLiteral","src":"292866:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"292872:2:21","nodeType":"YulIdentifier","src":"292872:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292859:6:21","nodeType":"YulIdentifier","src":"292859:6:21"},"nativeSrc":"292859:16:21","nodeType":"YulFunctionCall","src":"292859:16:21"},"nativeSrc":"292859:16:21","nodeType":"YulExpressionStatement","src":"292859:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36204,"isOffset":false,"isSlot":false,"src":"292518:2:21","valueSize":1},{"declaration":36207,"isOffset":false,"isSlot":false,"src":"292548:2:21","valueSize":1},{"declaration":36210,"isOffset":false,"isSlot":false,"src":"292578:2:21","valueSize":1},{"declaration":36213,"isOffset":false,"isSlot":false,"src":"292608:2:21","valueSize":1},{"declaration":36216,"isOffset":false,"isSlot":false,"src":"292638:2:21","valueSize":1},{"declaration":36194,"isOffset":false,"isSlot":false,"src":"292785:2:21","valueSize":1},{"declaration":36196,"isOffset":false,"isSlot":false,"src":"292814:2:21","valueSize":1},{"declaration":36198,"isOffset":false,"isSlot":false,"src":"292843:2:21","valueSize":1},{"declaration":36200,"isOffset":false,"isSlot":false,"src":"292872:2:21","valueSize":1}],"id":36218,"nodeType":"InlineAssembly","src":"292495:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"292910:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"292916:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":36219,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"292894:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"292894:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36223,"nodeType":"ExpressionStatement","src":"292894:27:21"},{"AST":{"nativeSrc":"292983:156:21","nodeType":"YulBlock","src":"292983:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"293004:4:21","nodeType":"YulLiteral","src":"293004:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"293010:2:21","nodeType":"YulIdentifier","src":"293010:2:21"}],"functionName":{"name":"mstore","nativeSrc":"292997:6:21","nodeType":"YulIdentifier","src":"292997:6:21"},"nativeSrc":"292997:16:21","nodeType":"YulFunctionCall","src":"292997:16:21"},"nativeSrc":"292997:16:21","nodeType":"YulExpressionStatement","src":"292997:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293033:4:21","nodeType":"YulLiteral","src":"293033:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"293039:2:21","nodeType":"YulIdentifier","src":"293039:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293026:6:21","nodeType":"YulIdentifier","src":"293026:6:21"},"nativeSrc":"293026:16:21","nodeType":"YulFunctionCall","src":"293026:16:21"},"nativeSrc":"293026:16:21","nodeType":"YulExpressionStatement","src":"293026:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293062:4:21","nodeType":"YulLiteral","src":"293062:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"293068:2:21","nodeType":"YulIdentifier","src":"293068:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293055:6:21","nodeType":"YulIdentifier","src":"293055:6:21"},"nativeSrc":"293055:16:21","nodeType":"YulFunctionCall","src":"293055:16:21"},"nativeSrc":"293055:16:21","nodeType":"YulExpressionStatement","src":"293055:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293091:4:21","nodeType":"YulLiteral","src":"293091:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"293097:2:21","nodeType":"YulIdentifier","src":"293097:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293084:6:21","nodeType":"YulIdentifier","src":"293084:6:21"},"nativeSrc":"293084:16:21","nodeType":"YulFunctionCall","src":"293084:16:21"},"nativeSrc":"293084:16:21","nodeType":"YulExpressionStatement","src":"293084:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293120:4:21","nodeType":"YulLiteral","src":"293120:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"293126:2:21","nodeType":"YulIdentifier","src":"293126:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293113:6:21","nodeType":"YulIdentifier","src":"293113:6:21"},"nativeSrc":"293113:16:21","nodeType":"YulFunctionCall","src":"293113:16:21"},"nativeSrc":"293113:16:21","nodeType":"YulExpressionStatement","src":"293113:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36204,"isOffset":false,"isSlot":false,"src":"293010:2:21","valueSize":1},{"declaration":36207,"isOffset":false,"isSlot":false,"src":"293039:2:21","valueSize":1},{"declaration":36210,"isOffset":false,"isSlot":false,"src":"293068:2:21","valueSize":1},{"declaration":36213,"isOffset":false,"isSlot":false,"src":"293097:2:21","valueSize":1},{"declaration":36216,"isOffset":false,"isSlot":false,"src":"293126:2:21","valueSize":1}],"id":36224,"nodeType":"InlineAssembly","src":"292974:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"292276:3:21","parameters":{"id":36201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36194,"mutability":"mutable","name":"p0","nameLocation":"292288:2:21","nodeType":"VariableDeclaration","scope":36226,"src":"292280:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36193,"name":"uint256","nodeType":"ElementaryTypeName","src":"292280:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36196,"mutability":"mutable","name":"p1","nameLocation":"292300:2:21","nodeType":"VariableDeclaration","scope":36226,"src":"292292:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36195,"name":"uint256","nodeType":"ElementaryTypeName","src":"292292:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36198,"mutability":"mutable","name":"p2","nameLocation":"292312:2:21","nodeType":"VariableDeclaration","scope":36226,"src":"292304:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36197,"name":"uint256","nodeType":"ElementaryTypeName","src":"292304:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36200,"mutability":"mutable","name":"p3","nameLocation":"292324:2:21","nodeType":"VariableDeclaration","scope":36226,"src":"292316:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36199,"name":"address","nodeType":"ElementaryTypeName","src":"292316:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"292279:48:21"},"returnParameters":{"id":36202,"nodeType":"ParameterList","parameters":[],"src":"292342:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36260,"nodeType":"FunctionDefinition","src":"293151:872:21","nodes":[],"body":{"id":36259,"nodeType":"Block","src":"293223:800:21","nodes":[],"statements":[{"assignments":[36238],"declarations":[{"constant":false,"id":36238,"mutability":"mutable","name":"m0","nameLocation":"293241:2:21","nodeType":"VariableDeclaration","scope":36259,"src":"293233:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293233:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36239,"nodeType":"VariableDeclarationStatement","src":"293233:10:21"},{"assignments":[36241],"declarations":[{"constant":false,"id":36241,"mutability":"mutable","name":"m1","nameLocation":"293261:2:21","nodeType":"VariableDeclaration","scope":36259,"src":"293253:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293253:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36242,"nodeType":"VariableDeclarationStatement","src":"293253:10:21"},{"assignments":[36244],"declarations":[{"constant":false,"id":36244,"mutability":"mutable","name":"m2","nameLocation":"293281:2:21","nodeType":"VariableDeclaration","scope":36259,"src":"293273:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36243,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293273:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36245,"nodeType":"VariableDeclarationStatement","src":"293273:10:21"},{"assignments":[36247],"declarations":[{"constant":false,"id":36247,"mutability":"mutable","name":"m3","nameLocation":"293301:2:21","nodeType":"VariableDeclaration","scope":36259,"src":"293293:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293293:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36248,"nodeType":"VariableDeclarationStatement","src":"293293:10:21"},{"assignments":[36250],"declarations":[{"constant":false,"id":36250,"mutability":"mutable","name":"m4","nameLocation":"293321:2:21","nodeType":"VariableDeclaration","scope":36259,"src":"293313:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293313:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36251,"nodeType":"VariableDeclarationStatement","src":"293313:10:21"},{"AST":{"nativeSrc":"293385:378:21","nodeType":"YulBlock","src":"293385:378:21","statements":[{"nativeSrc":"293399:17:21","nodeType":"YulAssignment","src":"293399:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"293411:4:21","nodeType":"YulLiteral","src":"293411:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"293405:5:21","nodeType":"YulIdentifier","src":"293405:5:21"},"nativeSrc":"293405:11:21","nodeType":"YulFunctionCall","src":"293405:11:21"},"variableNames":[{"name":"m0","nativeSrc":"293399:2:21","nodeType":"YulIdentifier","src":"293399:2:21"}]},{"nativeSrc":"293429:17:21","nodeType":"YulAssignment","src":"293429:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"293441:4:21","nodeType":"YulLiteral","src":"293441:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"293435:5:21","nodeType":"YulIdentifier","src":"293435:5:21"},"nativeSrc":"293435:11:21","nodeType":"YulFunctionCall","src":"293435:11:21"},"variableNames":[{"name":"m1","nativeSrc":"293429:2:21","nodeType":"YulIdentifier","src":"293429:2:21"}]},{"nativeSrc":"293459:17:21","nodeType":"YulAssignment","src":"293459:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"293471:4:21","nodeType":"YulLiteral","src":"293471:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"293465:5:21","nodeType":"YulIdentifier","src":"293465:5:21"},"nativeSrc":"293465:11:21","nodeType":"YulFunctionCall","src":"293465:11:21"},"variableNames":[{"name":"m2","nativeSrc":"293459:2:21","nodeType":"YulIdentifier","src":"293459:2:21"}]},{"nativeSrc":"293489:17:21","nodeType":"YulAssignment","src":"293489:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"293501:4:21","nodeType":"YulLiteral","src":"293501:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"293495:5:21","nodeType":"YulIdentifier","src":"293495:5:21"},"nativeSrc":"293495:11:21","nodeType":"YulFunctionCall","src":"293495:11:21"},"variableNames":[{"name":"m3","nativeSrc":"293489:2:21","nodeType":"YulIdentifier","src":"293489:2:21"}]},{"nativeSrc":"293519:17:21","nodeType":"YulAssignment","src":"293519:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"293531:4:21","nodeType":"YulLiteral","src":"293531:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"293525:5:21","nodeType":"YulIdentifier","src":"293525:5:21"},"nativeSrc":"293525:11:21","nodeType":"YulFunctionCall","src":"293525:11:21"},"variableNames":[{"name":"m4","nativeSrc":"293519:2:21","nodeType":"YulIdentifier","src":"293519:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293620:4:21","nodeType":"YulLiteral","src":"293620:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"293626:10:21","nodeType":"YulLiteral","src":"293626:10:21","type":"","value":"0xc598d185"}],"functionName":{"name":"mstore","nativeSrc":"293613:6:21","nodeType":"YulIdentifier","src":"293613:6:21"},"nativeSrc":"293613:24:21","nodeType":"YulFunctionCall","src":"293613:24:21"},"nativeSrc":"293613:24:21","nodeType":"YulExpressionStatement","src":"293613:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293657:4:21","nodeType":"YulLiteral","src":"293657:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"293663:2:21","nodeType":"YulIdentifier","src":"293663:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293650:6:21","nodeType":"YulIdentifier","src":"293650:6:21"},"nativeSrc":"293650:16:21","nodeType":"YulFunctionCall","src":"293650:16:21"},"nativeSrc":"293650:16:21","nodeType":"YulExpressionStatement","src":"293650:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293686:4:21","nodeType":"YulLiteral","src":"293686:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"293692:2:21","nodeType":"YulIdentifier","src":"293692:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293679:6:21","nodeType":"YulIdentifier","src":"293679:6:21"},"nativeSrc":"293679:16:21","nodeType":"YulFunctionCall","src":"293679:16:21"},"nativeSrc":"293679:16:21","nodeType":"YulExpressionStatement","src":"293679:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293715:4:21","nodeType":"YulLiteral","src":"293715:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"293721:2:21","nodeType":"YulIdentifier","src":"293721:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293708:6:21","nodeType":"YulIdentifier","src":"293708:6:21"},"nativeSrc":"293708:16:21","nodeType":"YulFunctionCall","src":"293708:16:21"},"nativeSrc":"293708:16:21","nodeType":"YulExpressionStatement","src":"293708:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293744:4:21","nodeType":"YulLiteral","src":"293744:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"293750:2:21","nodeType":"YulIdentifier","src":"293750:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293737:6:21","nodeType":"YulIdentifier","src":"293737:6:21"},"nativeSrc":"293737:16:21","nodeType":"YulFunctionCall","src":"293737:16:21"},"nativeSrc":"293737:16:21","nodeType":"YulExpressionStatement","src":"293737:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36238,"isOffset":false,"isSlot":false,"src":"293399:2:21","valueSize":1},{"declaration":36241,"isOffset":false,"isSlot":false,"src":"293429:2:21","valueSize":1},{"declaration":36244,"isOffset":false,"isSlot":false,"src":"293459:2:21","valueSize":1},{"declaration":36247,"isOffset":false,"isSlot":false,"src":"293489:2:21","valueSize":1},{"declaration":36250,"isOffset":false,"isSlot":false,"src":"293519:2:21","valueSize":1},{"declaration":36228,"isOffset":false,"isSlot":false,"src":"293663:2:21","valueSize":1},{"declaration":36230,"isOffset":false,"isSlot":false,"src":"293692:2:21","valueSize":1},{"declaration":36232,"isOffset":false,"isSlot":false,"src":"293721:2:21","valueSize":1},{"declaration":36234,"isOffset":false,"isSlot":false,"src":"293750:2:21","valueSize":1}],"id":36252,"nodeType":"InlineAssembly","src":"293376:387:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"293788:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"293794:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":36253,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"293772:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293772:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36257,"nodeType":"ExpressionStatement","src":"293772:27:21"},{"AST":{"nativeSrc":"293861:156:21","nodeType":"YulBlock","src":"293861:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"293882:4:21","nodeType":"YulLiteral","src":"293882:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"293888:2:21","nodeType":"YulIdentifier","src":"293888:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293875:6:21","nodeType":"YulIdentifier","src":"293875:6:21"},"nativeSrc":"293875:16:21","nodeType":"YulFunctionCall","src":"293875:16:21"},"nativeSrc":"293875:16:21","nodeType":"YulExpressionStatement","src":"293875:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293911:4:21","nodeType":"YulLiteral","src":"293911:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"293917:2:21","nodeType":"YulIdentifier","src":"293917:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293904:6:21","nodeType":"YulIdentifier","src":"293904:6:21"},"nativeSrc":"293904:16:21","nodeType":"YulFunctionCall","src":"293904:16:21"},"nativeSrc":"293904:16:21","nodeType":"YulExpressionStatement","src":"293904:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293940:4:21","nodeType":"YulLiteral","src":"293940:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"293946:2:21","nodeType":"YulIdentifier","src":"293946:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293933:6:21","nodeType":"YulIdentifier","src":"293933:6:21"},"nativeSrc":"293933:16:21","nodeType":"YulFunctionCall","src":"293933:16:21"},"nativeSrc":"293933:16:21","nodeType":"YulExpressionStatement","src":"293933:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293969:4:21","nodeType":"YulLiteral","src":"293969:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"293975:2:21","nodeType":"YulIdentifier","src":"293975:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293962:6:21","nodeType":"YulIdentifier","src":"293962:6:21"},"nativeSrc":"293962:16:21","nodeType":"YulFunctionCall","src":"293962:16:21"},"nativeSrc":"293962:16:21","nodeType":"YulExpressionStatement","src":"293962:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293998:4:21","nodeType":"YulLiteral","src":"293998:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"294004:2:21","nodeType":"YulIdentifier","src":"294004:2:21"}],"functionName":{"name":"mstore","nativeSrc":"293991:6:21","nodeType":"YulIdentifier","src":"293991:6:21"},"nativeSrc":"293991:16:21","nodeType":"YulFunctionCall","src":"293991:16:21"},"nativeSrc":"293991:16:21","nodeType":"YulExpressionStatement","src":"293991:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36238,"isOffset":false,"isSlot":false,"src":"293888:2:21","valueSize":1},{"declaration":36241,"isOffset":false,"isSlot":false,"src":"293917:2:21","valueSize":1},{"declaration":36244,"isOffset":false,"isSlot":false,"src":"293946:2:21","valueSize":1},{"declaration":36247,"isOffset":false,"isSlot":false,"src":"293975:2:21","valueSize":1},{"declaration":36250,"isOffset":false,"isSlot":false,"src":"294004:2:21","valueSize":1}],"id":36258,"nodeType":"InlineAssembly","src":"293852:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"293160:3:21","parameters":{"id":36235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36228,"mutability":"mutable","name":"p0","nameLocation":"293172:2:21","nodeType":"VariableDeclaration","scope":36260,"src":"293164:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36227,"name":"uint256","nodeType":"ElementaryTypeName","src":"293164:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36230,"mutability":"mutable","name":"p1","nameLocation":"293184:2:21","nodeType":"VariableDeclaration","scope":36260,"src":"293176:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36229,"name":"uint256","nodeType":"ElementaryTypeName","src":"293176:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36232,"mutability":"mutable","name":"p2","nameLocation":"293196:2:21","nodeType":"VariableDeclaration","scope":36260,"src":"293188:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36231,"name":"uint256","nodeType":"ElementaryTypeName","src":"293188:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36234,"mutability":"mutable","name":"p3","nameLocation":"293205:2:21","nodeType":"VariableDeclaration","scope":36260,"src":"293200:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36233,"name":"bool","nodeType":"ElementaryTypeName","src":"293200:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"293163:45:21"},"returnParameters":{"id":36236,"nodeType":"ParameterList","parameters":[],"src":"293223:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36294,"nodeType":"FunctionDefinition","src":"294029:878:21","nodes":[],"body":{"id":36293,"nodeType":"Block","src":"294104:803:21","nodes":[],"statements":[{"assignments":[36272],"declarations":[{"constant":false,"id":36272,"mutability":"mutable","name":"m0","nameLocation":"294122:2:21","nodeType":"VariableDeclaration","scope":36293,"src":"294114:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294114:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36273,"nodeType":"VariableDeclarationStatement","src":"294114:10:21"},{"assignments":[36275],"declarations":[{"constant":false,"id":36275,"mutability":"mutable","name":"m1","nameLocation":"294142:2:21","nodeType":"VariableDeclaration","scope":36293,"src":"294134:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294134:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36276,"nodeType":"VariableDeclarationStatement","src":"294134:10:21"},{"assignments":[36278],"declarations":[{"constant":false,"id":36278,"mutability":"mutable","name":"m2","nameLocation":"294162:2:21","nodeType":"VariableDeclaration","scope":36293,"src":"294154:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294154:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36279,"nodeType":"VariableDeclarationStatement","src":"294154:10:21"},{"assignments":[36281],"declarations":[{"constant":false,"id":36281,"mutability":"mutable","name":"m3","nameLocation":"294182:2:21","nodeType":"VariableDeclaration","scope":36293,"src":"294174:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294174:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36282,"nodeType":"VariableDeclarationStatement","src":"294174:10:21"},{"assignments":[36284],"declarations":[{"constant":false,"id":36284,"mutability":"mutable","name":"m4","nameLocation":"294202:2:21","nodeType":"VariableDeclaration","scope":36293,"src":"294194:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294194:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36285,"nodeType":"VariableDeclarationStatement","src":"294194:10:21"},{"AST":{"nativeSrc":"294266:381:21","nodeType":"YulBlock","src":"294266:381:21","statements":[{"nativeSrc":"294280:17:21","nodeType":"YulAssignment","src":"294280:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"294292:4:21","nodeType":"YulLiteral","src":"294292:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"294286:5:21","nodeType":"YulIdentifier","src":"294286:5:21"},"nativeSrc":"294286:11:21","nodeType":"YulFunctionCall","src":"294286:11:21"},"variableNames":[{"name":"m0","nativeSrc":"294280:2:21","nodeType":"YulIdentifier","src":"294280:2:21"}]},{"nativeSrc":"294310:17:21","nodeType":"YulAssignment","src":"294310:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"294322:4:21","nodeType":"YulLiteral","src":"294322:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"294316:5:21","nodeType":"YulIdentifier","src":"294316:5:21"},"nativeSrc":"294316:11:21","nodeType":"YulFunctionCall","src":"294316:11:21"},"variableNames":[{"name":"m1","nativeSrc":"294310:2:21","nodeType":"YulIdentifier","src":"294310:2:21"}]},{"nativeSrc":"294340:17:21","nodeType":"YulAssignment","src":"294340:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"294352:4:21","nodeType":"YulLiteral","src":"294352:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"294346:5:21","nodeType":"YulIdentifier","src":"294346:5:21"},"nativeSrc":"294346:11:21","nodeType":"YulFunctionCall","src":"294346:11:21"},"variableNames":[{"name":"m2","nativeSrc":"294340:2:21","nodeType":"YulIdentifier","src":"294340:2:21"}]},{"nativeSrc":"294370:17:21","nodeType":"YulAssignment","src":"294370:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"294382:4:21","nodeType":"YulLiteral","src":"294382:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"294376:5:21","nodeType":"YulIdentifier","src":"294376:5:21"},"nativeSrc":"294376:11:21","nodeType":"YulFunctionCall","src":"294376:11:21"},"variableNames":[{"name":"m3","nativeSrc":"294370:2:21","nodeType":"YulIdentifier","src":"294370:2:21"}]},{"nativeSrc":"294400:17:21","nodeType":"YulAssignment","src":"294400:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"294412:4:21","nodeType":"YulLiteral","src":"294412:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"294406:5:21","nodeType":"YulIdentifier","src":"294406:5:21"},"nativeSrc":"294406:11:21","nodeType":"YulFunctionCall","src":"294406:11:21"},"variableNames":[{"name":"m4","nativeSrc":"294400:2:21","nodeType":"YulIdentifier","src":"294400:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294504:4:21","nodeType":"YulLiteral","src":"294504:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"294510:10:21","nodeType":"YulLiteral","src":"294510:10:21","type":"","value":"0x193fb800"}],"functionName":{"name":"mstore","nativeSrc":"294497:6:21","nodeType":"YulIdentifier","src":"294497:6:21"},"nativeSrc":"294497:24:21","nodeType":"YulFunctionCall","src":"294497:24:21"},"nativeSrc":"294497:24:21","nodeType":"YulExpressionStatement","src":"294497:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294541:4:21","nodeType":"YulLiteral","src":"294541:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"294547:2:21","nodeType":"YulIdentifier","src":"294547:2:21"}],"functionName":{"name":"mstore","nativeSrc":"294534:6:21","nodeType":"YulIdentifier","src":"294534:6:21"},"nativeSrc":"294534:16:21","nodeType":"YulFunctionCall","src":"294534:16:21"},"nativeSrc":"294534:16:21","nodeType":"YulExpressionStatement","src":"294534:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294570:4:21","nodeType":"YulLiteral","src":"294570:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"294576:2:21","nodeType":"YulIdentifier","src":"294576:2:21"}],"functionName":{"name":"mstore","nativeSrc":"294563:6:21","nodeType":"YulIdentifier","src":"294563:6:21"},"nativeSrc":"294563:16:21","nodeType":"YulFunctionCall","src":"294563:16:21"},"nativeSrc":"294563:16:21","nodeType":"YulExpressionStatement","src":"294563:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294599:4:21","nodeType":"YulLiteral","src":"294599:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"294605:2:21","nodeType":"YulIdentifier","src":"294605:2:21"}],"functionName":{"name":"mstore","nativeSrc":"294592:6:21","nodeType":"YulIdentifier","src":"294592:6:21"},"nativeSrc":"294592:16:21","nodeType":"YulFunctionCall","src":"294592:16:21"},"nativeSrc":"294592:16:21","nodeType":"YulExpressionStatement","src":"294592:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294628:4:21","nodeType":"YulLiteral","src":"294628:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"294634:2:21","nodeType":"YulIdentifier","src":"294634:2:21"}],"functionName":{"name":"mstore","nativeSrc":"294621:6:21","nodeType":"YulIdentifier","src":"294621:6:21"},"nativeSrc":"294621:16:21","nodeType":"YulFunctionCall","src":"294621:16:21"},"nativeSrc":"294621:16:21","nodeType":"YulExpressionStatement","src":"294621:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36272,"isOffset":false,"isSlot":false,"src":"294280:2:21","valueSize":1},{"declaration":36275,"isOffset":false,"isSlot":false,"src":"294310:2:21","valueSize":1},{"declaration":36278,"isOffset":false,"isSlot":false,"src":"294340:2:21","valueSize":1},{"declaration":36281,"isOffset":false,"isSlot":false,"src":"294370:2:21","valueSize":1},{"declaration":36284,"isOffset":false,"isSlot":false,"src":"294400:2:21","valueSize":1},{"declaration":36262,"isOffset":false,"isSlot":false,"src":"294547:2:21","valueSize":1},{"declaration":36264,"isOffset":false,"isSlot":false,"src":"294576:2:21","valueSize":1},{"declaration":36266,"isOffset":false,"isSlot":false,"src":"294605:2:21","valueSize":1},{"declaration":36268,"isOffset":false,"isSlot":false,"src":"294634:2:21","valueSize":1}],"id":36286,"nodeType":"InlineAssembly","src":"294257:390:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"294672:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"294678:4:21","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":36287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"294656:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"294656:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36291,"nodeType":"ExpressionStatement","src":"294656:27:21"},{"AST":{"nativeSrc":"294745:156:21","nodeType":"YulBlock","src":"294745:156:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"294766:4:21","nodeType":"YulLiteral","src":"294766:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"294772:2:21","nodeType":"YulIdentifier","src":"294772:2:21"}],"functionName":{"name":"mstore","nativeSrc":"294759:6:21","nodeType":"YulIdentifier","src":"294759:6:21"},"nativeSrc":"294759:16:21","nodeType":"YulFunctionCall","src":"294759:16:21"},"nativeSrc":"294759:16:21","nodeType":"YulExpressionStatement","src":"294759:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294795:4:21","nodeType":"YulLiteral","src":"294795:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"294801:2:21","nodeType":"YulIdentifier","src":"294801:2:21"}],"functionName":{"name":"mstore","nativeSrc":"294788:6:21","nodeType":"YulIdentifier","src":"294788:6:21"},"nativeSrc":"294788:16:21","nodeType":"YulFunctionCall","src":"294788:16:21"},"nativeSrc":"294788:16:21","nodeType":"YulExpressionStatement","src":"294788:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294824:4:21","nodeType":"YulLiteral","src":"294824:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"294830:2:21","nodeType":"YulIdentifier","src":"294830:2:21"}],"functionName":{"name":"mstore","nativeSrc":"294817:6:21","nodeType":"YulIdentifier","src":"294817:6:21"},"nativeSrc":"294817:16:21","nodeType":"YulFunctionCall","src":"294817:16:21"},"nativeSrc":"294817:16:21","nodeType":"YulExpressionStatement","src":"294817:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294853:4:21","nodeType":"YulLiteral","src":"294853:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"294859:2:21","nodeType":"YulIdentifier","src":"294859:2:21"}],"functionName":{"name":"mstore","nativeSrc":"294846:6:21","nodeType":"YulIdentifier","src":"294846:6:21"},"nativeSrc":"294846:16:21","nodeType":"YulFunctionCall","src":"294846:16:21"},"nativeSrc":"294846:16:21","nodeType":"YulExpressionStatement","src":"294846:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294882:4:21","nodeType":"YulLiteral","src":"294882:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"294888:2:21","nodeType":"YulIdentifier","src":"294888:2:21"}],"functionName":{"name":"mstore","nativeSrc":"294875:6:21","nodeType":"YulIdentifier","src":"294875:6:21"},"nativeSrc":"294875:16:21","nodeType":"YulFunctionCall","src":"294875:16:21"},"nativeSrc":"294875:16:21","nodeType":"YulExpressionStatement","src":"294875:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36272,"isOffset":false,"isSlot":false,"src":"294772:2:21","valueSize":1},{"declaration":36275,"isOffset":false,"isSlot":false,"src":"294801:2:21","valueSize":1},{"declaration":36278,"isOffset":false,"isSlot":false,"src":"294830:2:21","valueSize":1},{"declaration":36281,"isOffset":false,"isSlot":false,"src":"294859:2:21","valueSize":1},{"declaration":36284,"isOffset":false,"isSlot":false,"src":"294888:2:21","valueSize":1}],"id":36292,"nodeType":"InlineAssembly","src":"294736:165:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"294038:3:21","parameters":{"id":36269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36262,"mutability":"mutable","name":"p0","nameLocation":"294050:2:21","nodeType":"VariableDeclaration","scope":36294,"src":"294042:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36261,"name":"uint256","nodeType":"ElementaryTypeName","src":"294042:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36264,"mutability":"mutable","name":"p1","nameLocation":"294062:2:21","nodeType":"VariableDeclaration","scope":36294,"src":"294054:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36263,"name":"uint256","nodeType":"ElementaryTypeName","src":"294054:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36266,"mutability":"mutable","name":"p2","nameLocation":"294074:2:21","nodeType":"VariableDeclaration","scope":36294,"src":"294066:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36265,"name":"uint256","nodeType":"ElementaryTypeName","src":"294066:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36268,"mutability":"mutable","name":"p3","nameLocation":"294086:2:21","nodeType":"VariableDeclaration","scope":36294,"src":"294078:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36267,"name":"uint256","nodeType":"ElementaryTypeName","src":"294078:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"294041:48:21"},"returnParameters":{"id":36270,"nodeType":"ParameterList","parameters":[],"src":"294104:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36334,"nodeType":"FunctionDefinition","src":"294913:1426:21","nodes":[],"body":{"id":36333,"nodeType":"Block","src":"294988:1351:21","nodes":[],"statements":[{"assignments":[36306],"declarations":[{"constant":false,"id":36306,"mutability":"mutable","name":"m0","nameLocation":"295006:2:21","nodeType":"VariableDeclaration","scope":36333,"src":"294998:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294998:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36307,"nodeType":"VariableDeclarationStatement","src":"294998:10:21"},{"assignments":[36309],"declarations":[{"constant":false,"id":36309,"mutability":"mutable","name":"m1","nameLocation":"295026:2:21","nodeType":"VariableDeclaration","scope":36333,"src":"295018:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295018:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36310,"nodeType":"VariableDeclarationStatement","src":"295018:10:21"},{"assignments":[36312],"declarations":[{"constant":false,"id":36312,"mutability":"mutable","name":"m2","nameLocation":"295046:2:21","nodeType":"VariableDeclaration","scope":36333,"src":"295038:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295038:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36313,"nodeType":"VariableDeclarationStatement","src":"295038:10:21"},{"assignments":[36315],"declarations":[{"constant":false,"id":36315,"mutability":"mutable","name":"m3","nameLocation":"295066:2:21","nodeType":"VariableDeclaration","scope":36333,"src":"295058:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295058:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36316,"nodeType":"VariableDeclarationStatement","src":"295058:10:21"},{"assignments":[36318],"declarations":[{"constant":false,"id":36318,"mutability":"mutable","name":"m4","nameLocation":"295086:2:21","nodeType":"VariableDeclaration","scope":36333,"src":"295078:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295078:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36319,"nodeType":"VariableDeclarationStatement","src":"295078:10:21"},{"assignments":[36321],"declarations":[{"constant":false,"id":36321,"mutability":"mutable","name":"m5","nameLocation":"295106:2:21","nodeType":"VariableDeclaration","scope":36333,"src":"295098:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295098:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36322,"nodeType":"VariableDeclarationStatement","src":"295098:10:21"},{"assignments":[36324],"declarations":[{"constant":false,"id":36324,"mutability":"mutable","name":"m6","nameLocation":"295126:2:21","nodeType":"VariableDeclaration","scope":36333,"src":"295118:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295118:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36325,"nodeType":"VariableDeclarationStatement","src":"295118:10:21"},{"AST":{"nativeSrc":"295190:831:21","nodeType":"YulBlock","src":"295190:831:21","statements":[{"body":{"nativeSrc":"295233:313:21","nodeType":"YulBlock","src":"295233:313:21","statements":[{"nativeSrc":"295251:15:21","nodeType":"YulVariableDeclaration","src":"295251:15:21","value":{"kind":"number","nativeSrc":"295265:1:21","nodeType":"YulLiteral","src":"295265:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"295255:6:21","nodeType":"YulTypedName","src":"295255:6:21","type":""}]},{"body":{"nativeSrc":"295336:40:21","nodeType":"YulBlock","src":"295336:40:21","statements":[{"body":{"nativeSrc":"295365:9:21","nodeType":"YulBlock","src":"295365:9:21","statements":[{"nativeSrc":"295367:5:21","nodeType":"YulBreak","src":"295367:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"295353:6:21","nodeType":"YulIdentifier","src":"295353:6:21"},{"name":"w","nativeSrc":"295361:1:21","nodeType":"YulIdentifier","src":"295361:1:21"}],"functionName":{"name":"byte","nativeSrc":"295348:4:21","nodeType":"YulIdentifier","src":"295348:4:21"},"nativeSrc":"295348:15:21","nodeType":"YulFunctionCall","src":"295348:15:21"}],"functionName":{"name":"iszero","nativeSrc":"295341:6:21","nodeType":"YulIdentifier","src":"295341:6:21"},"nativeSrc":"295341:23:21","nodeType":"YulFunctionCall","src":"295341:23:21"},"nativeSrc":"295338:36:21","nodeType":"YulIf","src":"295338:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"295293:6:21","nodeType":"YulIdentifier","src":"295293:6:21"},{"kind":"number","nativeSrc":"295301:4:21","nodeType":"YulLiteral","src":"295301:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"295290:2:21","nodeType":"YulIdentifier","src":"295290:2:21"},"nativeSrc":"295290:16:21","nodeType":"YulFunctionCall","src":"295290:16:21"},"nativeSrc":"295283:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"295307:28:21","nodeType":"YulBlock","src":"295307:28:21","statements":[{"nativeSrc":"295309:24:21","nodeType":"YulAssignment","src":"295309:24:21","value":{"arguments":[{"name":"length","nativeSrc":"295323:6:21","nodeType":"YulIdentifier","src":"295323:6:21"},{"kind":"number","nativeSrc":"295331:1:21","nodeType":"YulLiteral","src":"295331:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"295319:3:21","nodeType":"YulIdentifier","src":"295319:3:21"},"nativeSrc":"295319:14:21","nodeType":"YulFunctionCall","src":"295319:14:21"},"variableNames":[{"name":"length","nativeSrc":"295309:6:21","nodeType":"YulIdentifier","src":"295309:6:21"}]}]},"pre":{"nativeSrc":"295287:2:21","nodeType":"YulBlock","src":"295287:2:21","statements":[]},"src":"295283:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"295400:3:21","nodeType":"YulIdentifier","src":"295400:3:21"},{"name":"length","nativeSrc":"295405:6:21","nodeType":"YulIdentifier","src":"295405:6:21"}],"functionName":{"name":"mstore","nativeSrc":"295393:6:21","nodeType":"YulIdentifier","src":"295393:6:21"},"nativeSrc":"295393:19:21","nodeType":"YulFunctionCall","src":"295393:19:21"},"nativeSrc":"295393:19:21","nodeType":"YulExpressionStatement","src":"295393:19:21"},{"nativeSrc":"295429:37:21","nodeType":"YulVariableDeclaration","src":"295429:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"295446:3:21","nodeType":"YulLiteral","src":"295446:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"295455:1:21","nodeType":"YulLiteral","src":"295455:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"295458:6:21","nodeType":"YulIdentifier","src":"295458:6:21"}],"functionName":{"name":"shl","nativeSrc":"295451:3:21","nodeType":"YulIdentifier","src":"295451:3:21"},"nativeSrc":"295451:14:21","nodeType":"YulFunctionCall","src":"295451:14:21"}],"functionName":{"name":"sub","nativeSrc":"295442:3:21","nodeType":"YulIdentifier","src":"295442:3:21"},"nativeSrc":"295442:24:21","nodeType":"YulFunctionCall","src":"295442:24:21"},"variables":[{"name":"shift","nativeSrc":"295433:5:21","nodeType":"YulTypedName","src":"295433:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"295494:3:21","nodeType":"YulIdentifier","src":"295494:3:21"},{"kind":"number","nativeSrc":"295499:4:21","nodeType":"YulLiteral","src":"295499:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"295490:3:21","nodeType":"YulIdentifier","src":"295490:3:21"},"nativeSrc":"295490:14:21","nodeType":"YulFunctionCall","src":"295490:14:21"},{"arguments":[{"name":"shift","nativeSrc":"295510:5:21","nodeType":"YulIdentifier","src":"295510:5:21"},{"arguments":[{"name":"shift","nativeSrc":"295521:5:21","nodeType":"YulIdentifier","src":"295521:5:21"},{"name":"w","nativeSrc":"295528:1:21","nodeType":"YulIdentifier","src":"295528:1:21"}],"functionName":{"name":"shr","nativeSrc":"295517:3:21","nodeType":"YulIdentifier","src":"295517:3:21"},"nativeSrc":"295517:13:21","nodeType":"YulFunctionCall","src":"295517:13:21"}],"functionName":{"name":"shl","nativeSrc":"295506:3:21","nodeType":"YulIdentifier","src":"295506:3:21"},"nativeSrc":"295506:25:21","nodeType":"YulFunctionCall","src":"295506:25:21"}],"functionName":{"name":"mstore","nativeSrc":"295483:6:21","nodeType":"YulIdentifier","src":"295483:6:21"},"nativeSrc":"295483:49:21","nodeType":"YulFunctionCall","src":"295483:49:21"},"nativeSrc":"295483:49:21","nodeType":"YulExpressionStatement","src":"295483:49:21"}]},"name":"writeString","nativeSrc":"295204:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"295225:3:21","nodeType":"YulTypedName","src":"295225:3:21","type":""},{"name":"w","nativeSrc":"295230:1:21","nodeType":"YulTypedName","src":"295230:1:21","type":""}],"src":"295204:342:21"},{"nativeSrc":"295559:17:21","nodeType":"YulAssignment","src":"295559:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"295571:4:21","nodeType":"YulLiteral","src":"295571:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"295565:5:21","nodeType":"YulIdentifier","src":"295565:5:21"},"nativeSrc":"295565:11:21","nodeType":"YulFunctionCall","src":"295565:11:21"},"variableNames":[{"name":"m0","nativeSrc":"295559:2:21","nodeType":"YulIdentifier","src":"295559:2:21"}]},{"nativeSrc":"295589:17:21","nodeType":"YulAssignment","src":"295589:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"295601:4:21","nodeType":"YulLiteral","src":"295601:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"295595:5:21","nodeType":"YulIdentifier","src":"295595:5:21"},"nativeSrc":"295595:11:21","nodeType":"YulFunctionCall","src":"295595:11:21"},"variableNames":[{"name":"m1","nativeSrc":"295589:2:21","nodeType":"YulIdentifier","src":"295589:2:21"}]},{"nativeSrc":"295619:17:21","nodeType":"YulAssignment","src":"295619:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"295631:4:21","nodeType":"YulLiteral","src":"295631:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"295625:5:21","nodeType":"YulIdentifier","src":"295625:5:21"},"nativeSrc":"295625:11:21","nodeType":"YulFunctionCall","src":"295625:11:21"},"variableNames":[{"name":"m2","nativeSrc":"295619:2:21","nodeType":"YulIdentifier","src":"295619:2:21"}]},{"nativeSrc":"295649:17:21","nodeType":"YulAssignment","src":"295649:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"295661:4:21","nodeType":"YulLiteral","src":"295661:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"295655:5:21","nodeType":"YulIdentifier","src":"295655:5:21"},"nativeSrc":"295655:11:21","nodeType":"YulFunctionCall","src":"295655:11:21"},"variableNames":[{"name":"m3","nativeSrc":"295649:2:21","nodeType":"YulIdentifier","src":"295649:2:21"}]},{"nativeSrc":"295679:17:21","nodeType":"YulAssignment","src":"295679:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"295691:4:21","nodeType":"YulLiteral","src":"295691:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"295685:5:21","nodeType":"YulIdentifier","src":"295685:5:21"},"nativeSrc":"295685:11:21","nodeType":"YulFunctionCall","src":"295685:11:21"},"variableNames":[{"name":"m4","nativeSrc":"295679:2:21","nodeType":"YulIdentifier","src":"295679:2:21"}]},{"nativeSrc":"295709:17:21","nodeType":"YulAssignment","src":"295709:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"295721:4:21","nodeType":"YulLiteral","src":"295721:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"295715:5:21","nodeType":"YulIdentifier","src":"295715:5:21"},"nativeSrc":"295715:11:21","nodeType":"YulFunctionCall","src":"295715:11:21"},"variableNames":[{"name":"m5","nativeSrc":"295709:2:21","nodeType":"YulIdentifier","src":"295709:2:21"}]},{"nativeSrc":"295739:17:21","nodeType":"YulAssignment","src":"295739:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"295751:4:21","nodeType":"YulLiteral","src":"295751:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"295745:5:21","nodeType":"YulIdentifier","src":"295745:5:21"},"nativeSrc":"295745:11:21","nodeType":"YulFunctionCall","src":"295745:11:21"},"variableNames":[{"name":"m6","nativeSrc":"295739:2:21","nodeType":"YulIdentifier","src":"295739:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295842:4:21","nodeType":"YulLiteral","src":"295842:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"295848:10:21","nodeType":"YulLiteral","src":"295848:10:21","type":"","value":"0x59cfcbe3"}],"functionName":{"name":"mstore","nativeSrc":"295835:6:21","nodeType":"YulIdentifier","src":"295835:6:21"},"nativeSrc":"295835:24:21","nodeType":"YulFunctionCall","src":"295835:24:21"},"nativeSrc":"295835:24:21","nodeType":"YulExpressionStatement","src":"295835:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295879:4:21","nodeType":"YulLiteral","src":"295879:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"295885:2:21","nodeType":"YulIdentifier","src":"295885:2:21"}],"functionName":{"name":"mstore","nativeSrc":"295872:6:21","nodeType":"YulIdentifier","src":"295872:6:21"},"nativeSrc":"295872:16:21","nodeType":"YulFunctionCall","src":"295872:16:21"},"nativeSrc":"295872:16:21","nodeType":"YulExpressionStatement","src":"295872:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295908:4:21","nodeType":"YulLiteral","src":"295908:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"295914:2:21","nodeType":"YulIdentifier","src":"295914:2:21"}],"functionName":{"name":"mstore","nativeSrc":"295901:6:21","nodeType":"YulIdentifier","src":"295901:6:21"},"nativeSrc":"295901:16:21","nodeType":"YulFunctionCall","src":"295901:16:21"},"nativeSrc":"295901:16:21","nodeType":"YulExpressionStatement","src":"295901:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295937:4:21","nodeType":"YulLiteral","src":"295937:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"295943:2:21","nodeType":"YulIdentifier","src":"295943:2:21"}],"functionName":{"name":"mstore","nativeSrc":"295930:6:21","nodeType":"YulIdentifier","src":"295930:6:21"},"nativeSrc":"295930:16:21","nodeType":"YulFunctionCall","src":"295930:16:21"},"nativeSrc":"295930:16:21","nodeType":"YulExpressionStatement","src":"295930:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295966:4:21","nodeType":"YulLiteral","src":"295966:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"295972:4:21","nodeType":"YulLiteral","src":"295972:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"295959:6:21","nodeType":"YulIdentifier","src":"295959:6:21"},"nativeSrc":"295959:18:21","nodeType":"YulFunctionCall","src":"295959:18:21"},"nativeSrc":"295959:18:21","nodeType":"YulExpressionStatement","src":"295959:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296002:4:21","nodeType":"YulLiteral","src":"296002:4:21","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"296008:2:21","nodeType":"YulIdentifier","src":"296008:2:21"}],"functionName":{"name":"writeString","nativeSrc":"295990:11:21","nodeType":"YulIdentifier","src":"295990:11:21"},"nativeSrc":"295990:21:21","nodeType":"YulFunctionCall","src":"295990:21:21"},"nativeSrc":"295990:21:21","nodeType":"YulExpressionStatement","src":"295990:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36306,"isOffset":false,"isSlot":false,"src":"295559:2:21","valueSize":1},{"declaration":36309,"isOffset":false,"isSlot":false,"src":"295589:2:21","valueSize":1},{"declaration":36312,"isOffset":false,"isSlot":false,"src":"295619:2:21","valueSize":1},{"declaration":36315,"isOffset":false,"isSlot":false,"src":"295649:2:21","valueSize":1},{"declaration":36318,"isOffset":false,"isSlot":false,"src":"295679:2:21","valueSize":1},{"declaration":36321,"isOffset":false,"isSlot":false,"src":"295709:2:21","valueSize":1},{"declaration":36324,"isOffset":false,"isSlot":false,"src":"295739:2:21","valueSize":1},{"declaration":36296,"isOffset":false,"isSlot":false,"src":"295885:2:21","valueSize":1},{"declaration":36298,"isOffset":false,"isSlot":false,"src":"295914:2:21","valueSize":1},{"declaration":36300,"isOffset":false,"isSlot":false,"src":"295943:2:21","valueSize":1},{"declaration":36302,"isOffset":false,"isSlot":false,"src":"296008:2:21","valueSize":1}],"id":36326,"nodeType":"InlineAssembly","src":"295181:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"296046:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"296052:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36327,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"296030:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"296030:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36331,"nodeType":"ExpressionStatement","src":"296030:27:21"},{"AST":{"nativeSrc":"296119:214:21","nodeType":"YulBlock","src":"296119:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"296140:4:21","nodeType":"YulLiteral","src":"296140:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"296146:2:21","nodeType":"YulIdentifier","src":"296146:2:21"}],"functionName":{"name":"mstore","nativeSrc":"296133:6:21","nodeType":"YulIdentifier","src":"296133:6:21"},"nativeSrc":"296133:16:21","nodeType":"YulFunctionCall","src":"296133:16:21"},"nativeSrc":"296133:16:21","nodeType":"YulExpressionStatement","src":"296133:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296169:4:21","nodeType":"YulLiteral","src":"296169:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"296175:2:21","nodeType":"YulIdentifier","src":"296175:2:21"}],"functionName":{"name":"mstore","nativeSrc":"296162:6:21","nodeType":"YulIdentifier","src":"296162:6:21"},"nativeSrc":"296162:16:21","nodeType":"YulFunctionCall","src":"296162:16:21"},"nativeSrc":"296162:16:21","nodeType":"YulExpressionStatement","src":"296162:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296198:4:21","nodeType":"YulLiteral","src":"296198:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"296204:2:21","nodeType":"YulIdentifier","src":"296204:2:21"}],"functionName":{"name":"mstore","nativeSrc":"296191:6:21","nodeType":"YulIdentifier","src":"296191:6:21"},"nativeSrc":"296191:16:21","nodeType":"YulFunctionCall","src":"296191:16:21"},"nativeSrc":"296191:16:21","nodeType":"YulExpressionStatement","src":"296191:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296227:4:21","nodeType":"YulLiteral","src":"296227:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"296233:2:21","nodeType":"YulIdentifier","src":"296233:2:21"}],"functionName":{"name":"mstore","nativeSrc":"296220:6:21","nodeType":"YulIdentifier","src":"296220:6:21"},"nativeSrc":"296220:16:21","nodeType":"YulFunctionCall","src":"296220:16:21"},"nativeSrc":"296220:16:21","nodeType":"YulExpressionStatement","src":"296220:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296256:4:21","nodeType":"YulLiteral","src":"296256:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"296262:2:21","nodeType":"YulIdentifier","src":"296262:2:21"}],"functionName":{"name":"mstore","nativeSrc":"296249:6:21","nodeType":"YulIdentifier","src":"296249:6:21"},"nativeSrc":"296249:16:21","nodeType":"YulFunctionCall","src":"296249:16:21"},"nativeSrc":"296249:16:21","nodeType":"YulExpressionStatement","src":"296249:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296285:4:21","nodeType":"YulLiteral","src":"296285:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"296291:2:21","nodeType":"YulIdentifier","src":"296291:2:21"}],"functionName":{"name":"mstore","nativeSrc":"296278:6:21","nodeType":"YulIdentifier","src":"296278:6:21"},"nativeSrc":"296278:16:21","nodeType":"YulFunctionCall","src":"296278:16:21"},"nativeSrc":"296278:16:21","nodeType":"YulExpressionStatement","src":"296278:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296314:4:21","nodeType":"YulLiteral","src":"296314:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"296320:2:21","nodeType":"YulIdentifier","src":"296320:2:21"}],"functionName":{"name":"mstore","nativeSrc":"296307:6:21","nodeType":"YulIdentifier","src":"296307:6:21"},"nativeSrc":"296307:16:21","nodeType":"YulFunctionCall","src":"296307:16:21"},"nativeSrc":"296307:16:21","nodeType":"YulExpressionStatement","src":"296307:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36306,"isOffset":false,"isSlot":false,"src":"296146:2:21","valueSize":1},{"declaration":36309,"isOffset":false,"isSlot":false,"src":"296175:2:21","valueSize":1},{"declaration":36312,"isOffset":false,"isSlot":false,"src":"296204:2:21","valueSize":1},{"declaration":36315,"isOffset":false,"isSlot":false,"src":"296233:2:21","valueSize":1},{"declaration":36318,"isOffset":false,"isSlot":false,"src":"296262:2:21","valueSize":1},{"declaration":36321,"isOffset":false,"isSlot":false,"src":"296291:2:21","valueSize":1},{"declaration":36324,"isOffset":false,"isSlot":false,"src":"296320:2:21","valueSize":1}],"id":36332,"nodeType":"InlineAssembly","src":"296110:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"294922:3:21","parameters":{"id":36303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36296,"mutability":"mutable","name":"p0","nameLocation":"294934:2:21","nodeType":"VariableDeclaration","scope":36334,"src":"294926:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36295,"name":"uint256","nodeType":"ElementaryTypeName","src":"294926:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36298,"mutability":"mutable","name":"p1","nameLocation":"294946:2:21","nodeType":"VariableDeclaration","scope":36334,"src":"294938:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36297,"name":"uint256","nodeType":"ElementaryTypeName","src":"294938:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36300,"mutability":"mutable","name":"p2","nameLocation":"294958:2:21","nodeType":"VariableDeclaration","scope":36334,"src":"294950:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36299,"name":"uint256","nodeType":"ElementaryTypeName","src":"294950:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36302,"mutability":"mutable","name":"p3","nameLocation":"294970:2:21","nodeType":"VariableDeclaration","scope":36334,"src":"294962:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294962:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"294925:48:21"},"returnParameters":{"id":36304,"nodeType":"ParameterList","parameters":[],"src":"294988:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36374,"nodeType":"FunctionDefinition","src":"296345:1426:21","nodes":[],"body":{"id":36373,"nodeType":"Block","src":"296420:1351:21","nodes":[],"statements":[{"assignments":[36346],"declarations":[{"constant":false,"id":36346,"mutability":"mutable","name":"m0","nameLocation":"296438:2:21","nodeType":"VariableDeclaration","scope":36373,"src":"296430:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296430:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36347,"nodeType":"VariableDeclarationStatement","src":"296430:10:21"},{"assignments":[36349],"declarations":[{"constant":false,"id":36349,"mutability":"mutable","name":"m1","nameLocation":"296458:2:21","nodeType":"VariableDeclaration","scope":36373,"src":"296450:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296450:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36350,"nodeType":"VariableDeclarationStatement","src":"296450:10:21"},{"assignments":[36352],"declarations":[{"constant":false,"id":36352,"mutability":"mutable","name":"m2","nameLocation":"296478:2:21","nodeType":"VariableDeclaration","scope":36373,"src":"296470:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296470:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36353,"nodeType":"VariableDeclarationStatement","src":"296470:10:21"},{"assignments":[36355],"declarations":[{"constant":false,"id":36355,"mutability":"mutable","name":"m3","nameLocation":"296498:2:21","nodeType":"VariableDeclaration","scope":36373,"src":"296490:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296490:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36356,"nodeType":"VariableDeclarationStatement","src":"296490:10:21"},{"assignments":[36358],"declarations":[{"constant":false,"id":36358,"mutability":"mutable","name":"m4","nameLocation":"296518:2:21","nodeType":"VariableDeclaration","scope":36373,"src":"296510:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36357,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296510:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36359,"nodeType":"VariableDeclarationStatement","src":"296510:10:21"},{"assignments":[36361],"declarations":[{"constant":false,"id":36361,"mutability":"mutable","name":"m5","nameLocation":"296538:2:21","nodeType":"VariableDeclaration","scope":36373,"src":"296530:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36360,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296530:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36362,"nodeType":"VariableDeclarationStatement","src":"296530:10:21"},{"assignments":[36364],"declarations":[{"constant":false,"id":36364,"mutability":"mutable","name":"m6","nameLocation":"296558:2:21","nodeType":"VariableDeclaration","scope":36373,"src":"296550:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296550:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36365,"nodeType":"VariableDeclarationStatement","src":"296550:10:21"},{"AST":{"nativeSrc":"296622:831:21","nodeType":"YulBlock","src":"296622:831:21","statements":[{"body":{"nativeSrc":"296665:313:21","nodeType":"YulBlock","src":"296665:313:21","statements":[{"nativeSrc":"296683:15:21","nodeType":"YulVariableDeclaration","src":"296683:15:21","value":{"kind":"number","nativeSrc":"296697:1:21","nodeType":"YulLiteral","src":"296697:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"296687:6:21","nodeType":"YulTypedName","src":"296687:6:21","type":""}]},{"body":{"nativeSrc":"296768:40:21","nodeType":"YulBlock","src":"296768:40:21","statements":[{"body":{"nativeSrc":"296797:9:21","nodeType":"YulBlock","src":"296797:9:21","statements":[{"nativeSrc":"296799:5:21","nodeType":"YulBreak","src":"296799:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"296785:6:21","nodeType":"YulIdentifier","src":"296785:6:21"},{"name":"w","nativeSrc":"296793:1:21","nodeType":"YulIdentifier","src":"296793:1:21"}],"functionName":{"name":"byte","nativeSrc":"296780:4:21","nodeType":"YulIdentifier","src":"296780:4:21"},"nativeSrc":"296780:15:21","nodeType":"YulFunctionCall","src":"296780:15:21"}],"functionName":{"name":"iszero","nativeSrc":"296773:6:21","nodeType":"YulIdentifier","src":"296773:6:21"},"nativeSrc":"296773:23:21","nodeType":"YulFunctionCall","src":"296773:23:21"},"nativeSrc":"296770:36:21","nodeType":"YulIf","src":"296770:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"296725:6:21","nodeType":"YulIdentifier","src":"296725:6:21"},{"kind":"number","nativeSrc":"296733:4:21","nodeType":"YulLiteral","src":"296733:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"296722:2:21","nodeType":"YulIdentifier","src":"296722:2:21"},"nativeSrc":"296722:16:21","nodeType":"YulFunctionCall","src":"296722:16:21"},"nativeSrc":"296715:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"296739:28:21","nodeType":"YulBlock","src":"296739:28:21","statements":[{"nativeSrc":"296741:24:21","nodeType":"YulAssignment","src":"296741:24:21","value":{"arguments":[{"name":"length","nativeSrc":"296755:6:21","nodeType":"YulIdentifier","src":"296755:6:21"},{"kind":"number","nativeSrc":"296763:1:21","nodeType":"YulLiteral","src":"296763:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"296751:3:21","nodeType":"YulIdentifier","src":"296751:3:21"},"nativeSrc":"296751:14:21","nodeType":"YulFunctionCall","src":"296751:14:21"},"variableNames":[{"name":"length","nativeSrc":"296741:6:21","nodeType":"YulIdentifier","src":"296741:6:21"}]}]},"pre":{"nativeSrc":"296719:2:21","nodeType":"YulBlock","src":"296719:2:21","statements":[]},"src":"296715:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"296832:3:21","nodeType":"YulIdentifier","src":"296832:3:21"},{"name":"length","nativeSrc":"296837:6:21","nodeType":"YulIdentifier","src":"296837:6:21"}],"functionName":{"name":"mstore","nativeSrc":"296825:6:21","nodeType":"YulIdentifier","src":"296825:6:21"},"nativeSrc":"296825:19:21","nodeType":"YulFunctionCall","src":"296825:19:21"},"nativeSrc":"296825:19:21","nodeType":"YulExpressionStatement","src":"296825:19:21"},{"nativeSrc":"296861:37:21","nodeType":"YulVariableDeclaration","src":"296861:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"296878:3:21","nodeType":"YulLiteral","src":"296878:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"296887:1:21","nodeType":"YulLiteral","src":"296887:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"296890:6:21","nodeType":"YulIdentifier","src":"296890:6:21"}],"functionName":{"name":"shl","nativeSrc":"296883:3:21","nodeType":"YulIdentifier","src":"296883:3:21"},"nativeSrc":"296883:14:21","nodeType":"YulFunctionCall","src":"296883:14:21"}],"functionName":{"name":"sub","nativeSrc":"296874:3:21","nodeType":"YulIdentifier","src":"296874:3:21"},"nativeSrc":"296874:24:21","nodeType":"YulFunctionCall","src":"296874:24:21"},"variables":[{"name":"shift","nativeSrc":"296865:5:21","nodeType":"YulTypedName","src":"296865:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"296926:3:21","nodeType":"YulIdentifier","src":"296926:3:21"},{"kind":"number","nativeSrc":"296931:4:21","nodeType":"YulLiteral","src":"296931:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"296922:3:21","nodeType":"YulIdentifier","src":"296922:3:21"},"nativeSrc":"296922:14:21","nodeType":"YulFunctionCall","src":"296922:14:21"},{"arguments":[{"name":"shift","nativeSrc":"296942:5:21","nodeType":"YulIdentifier","src":"296942:5:21"},{"arguments":[{"name":"shift","nativeSrc":"296953:5:21","nodeType":"YulIdentifier","src":"296953:5:21"},{"name":"w","nativeSrc":"296960:1:21","nodeType":"YulIdentifier","src":"296960:1:21"}],"functionName":{"name":"shr","nativeSrc":"296949:3:21","nodeType":"YulIdentifier","src":"296949:3:21"},"nativeSrc":"296949:13:21","nodeType":"YulFunctionCall","src":"296949:13:21"}],"functionName":{"name":"shl","nativeSrc":"296938:3:21","nodeType":"YulIdentifier","src":"296938:3:21"},"nativeSrc":"296938:25:21","nodeType":"YulFunctionCall","src":"296938:25:21"}],"functionName":{"name":"mstore","nativeSrc":"296915:6:21","nodeType":"YulIdentifier","src":"296915:6:21"},"nativeSrc":"296915:49:21","nodeType":"YulFunctionCall","src":"296915:49:21"},"nativeSrc":"296915:49:21","nodeType":"YulExpressionStatement","src":"296915:49:21"}]},"name":"writeString","nativeSrc":"296636:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"296657:3:21","nodeType":"YulTypedName","src":"296657:3:21","type":""},{"name":"w","nativeSrc":"296662:1:21","nodeType":"YulTypedName","src":"296662:1:21","type":""}],"src":"296636:342:21"},{"nativeSrc":"296991:17:21","nodeType":"YulAssignment","src":"296991:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"297003:4:21","nodeType":"YulLiteral","src":"297003:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"296997:5:21","nodeType":"YulIdentifier","src":"296997:5:21"},"nativeSrc":"296997:11:21","nodeType":"YulFunctionCall","src":"296997:11:21"},"variableNames":[{"name":"m0","nativeSrc":"296991:2:21","nodeType":"YulIdentifier","src":"296991:2:21"}]},{"nativeSrc":"297021:17:21","nodeType":"YulAssignment","src":"297021:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"297033:4:21","nodeType":"YulLiteral","src":"297033:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"297027:5:21","nodeType":"YulIdentifier","src":"297027:5:21"},"nativeSrc":"297027:11:21","nodeType":"YulFunctionCall","src":"297027:11:21"},"variableNames":[{"name":"m1","nativeSrc":"297021:2:21","nodeType":"YulIdentifier","src":"297021:2:21"}]},{"nativeSrc":"297051:17:21","nodeType":"YulAssignment","src":"297051:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"297063:4:21","nodeType":"YulLiteral","src":"297063:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"297057:5:21","nodeType":"YulIdentifier","src":"297057:5:21"},"nativeSrc":"297057:11:21","nodeType":"YulFunctionCall","src":"297057:11:21"},"variableNames":[{"name":"m2","nativeSrc":"297051:2:21","nodeType":"YulIdentifier","src":"297051:2:21"}]},{"nativeSrc":"297081:17:21","nodeType":"YulAssignment","src":"297081:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"297093:4:21","nodeType":"YulLiteral","src":"297093:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"297087:5:21","nodeType":"YulIdentifier","src":"297087:5:21"},"nativeSrc":"297087:11:21","nodeType":"YulFunctionCall","src":"297087:11:21"},"variableNames":[{"name":"m3","nativeSrc":"297081:2:21","nodeType":"YulIdentifier","src":"297081:2:21"}]},{"nativeSrc":"297111:17:21","nodeType":"YulAssignment","src":"297111:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"297123:4:21","nodeType":"YulLiteral","src":"297123:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"297117:5:21","nodeType":"YulIdentifier","src":"297117:5:21"},"nativeSrc":"297117:11:21","nodeType":"YulFunctionCall","src":"297117:11:21"},"variableNames":[{"name":"m4","nativeSrc":"297111:2:21","nodeType":"YulIdentifier","src":"297111:2:21"}]},{"nativeSrc":"297141:17:21","nodeType":"YulAssignment","src":"297141:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"297153:4:21","nodeType":"YulLiteral","src":"297153:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"297147:5:21","nodeType":"YulIdentifier","src":"297147:5:21"},"nativeSrc":"297147:11:21","nodeType":"YulFunctionCall","src":"297147:11:21"},"variableNames":[{"name":"m5","nativeSrc":"297141:2:21","nodeType":"YulIdentifier","src":"297141:2:21"}]},{"nativeSrc":"297171:17:21","nodeType":"YulAssignment","src":"297171:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"297183:4:21","nodeType":"YulLiteral","src":"297183:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"297177:5:21","nodeType":"YulIdentifier","src":"297177:5:21"},"nativeSrc":"297177:11:21","nodeType":"YulFunctionCall","src":"297177:11:21"},"variableNames":[{"name":"m6","nativeSrc":"297171:2:21","nodeType":"YulIdentifier","src":"297171:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297274:4:21","nodeType":"YulLiteral","src":"297274:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"297280:10:21","nodeType":"YulLiteral","src":"297280:10:21","type":"","value":"0x42d21db7"}],"functionName":{"name":"mstore","nativeSrc":"297267:6:21","nodeType":"YulIdentifier","src":"297267:6:21"},"nativeSrc":"297267:24:21","nodeType":"YulFunctionCall","src":"297267:24:21"},"nativeSrc":"297267:24:21","nodeType":"YulExpressionStatement","src":"297267:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297311:4:21","nodeType":"YulLiteral","src":"297311:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"297317:2:21","nodeType":"YulIdentifier","src":"297317:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297304:6:21","nodeType":"YulIdentifier","src":"297304:6:21"},"nativeSrc":"297304:16:21","nodeType":"YulFunctionCall","src":"297304:16:21"},"nativeSrc":"297304:16:21","nodeType":"YulExpressionStatement","src":"297304:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297340:4:21","nodeType":"YulLiteral","src":"297340:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"297346:2:21","nodeType":"YulIdentifier","src":"297346:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297333:6:21","nodeType":"YulIdentifier","src":"297333:6:21"},"nativeSrc":"297333:16:21","nodeType":"YulFunctionCall","src":"297333:16:21"},"nativeSrc":"297333:16:21","nodeType":"YulExpressionStatement","src":"297333:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297369:4:21","nodeType":"YulLiteral","src":"297369:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"297375:4:21","nodeType":"YulLiteral","src":"297375:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"297362:6:21","nodeType":"YulIdentifier","src":"297362:6:21"},"nativeSrc":"297362:18:21","nodeType":"YulFunctionCall","src":"297362:18:21"},"nativeSrc":"297362:18:21","nodeType":"YulExpressionStatement","src":"297362:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297400:4:21","nodeType":"YulLiteral","src":"297400:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"297406:2:21","nodeType":"YulIdentifier","src":"297406:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297393:6:21","nodeType":"YulIdentifier","src":"297393:6:21"},"nativeSrc":"297393:16:21","nodeType":"YulFunctionCall","src":"297393:16:21"},"nativeSrc":"297393:16:21","nodeType":"YulExpressionStatement","src":"297393:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297434:4:21","nodeType":"YulLiteral","src":"297434:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"297440:2:21","nodeType":"YulIdentifier","src":"297440:2:21"}],"functionName":{"name":"writeString","nativeSrc":"297422:11:21","nodeType":"YulIdentifier","src":"297422:11:21"},"nativeSrc":"297422:21:21","nodeType":"YulFunctionCall","src":"297422:21:21"},"nativeSrc":"297422:21:21","nodeType":"YulExpressionStatement","src":"297422:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36346,"isOffset":false,"isSlot":false,"src":"296991:2:21","valueSize":1},{"declaration":36349,"isOffset":false,"isSlot":false,"src":"297021:2:21","valueSize":1},{"declaration":36352,"isOffset":false,"isSlot":false,"src":"297051:2:21","valueSize":1},{"declaration":36355,"isOffset":false,"isSlot":false,"src":"297081:2:21","valueSize":1},{"declaration":36358,"isOffset":false,"isSlot":false,"src":"297111:2:21","valueSize":1},{"declaration":36361,"isOffset":false,"isSlot":false,"src":"297141:2:21","valueSize":1},{"declaration":36364,"isOffset":false,"isSlot":false,"src":"297171:2:21","valueSize":1},{"declaration":36336,"isOffset":false,"isSlot":false,"src":"297317:2:21","valueSize":1},{"declaration":36338,"isOffset":false,"isSlot":false,"src":"297346:2:21","valueSize":1},{"declaration":36340,"isOffset":false,"isSlot":false,"src":"297440:2:21","valueSize":1},{"declaration":36342,"isOffset":false,"isSlot":false,"src":"297406:2:21","valueSize":1}],"id":36366,"nodeType":"InlineAssembly","src":"296613:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"297478:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"297484:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36367,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"297462:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"297462:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36371,"nodeType":"ExpressionStatement","src":"297462:27:21"},{"AST":{"nativeSrc":"297551:214:21","nodeType":"YulBlock","src":"297551:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"297572:4:21","nodeType":"YulLiteral","src":"297572:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"297578:2:21","nodeType":"YulIdentifier","src":"297578:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297565:6:21","nodeType":"YulIdentifier","src":"297565:6:21"},"nativeSrc":"297565:16:21","nodeType":"YulFunctionCall","src":"297565:16:21"},"nativeSrc":"297565:16:21","nodeType":"YulExpressionStatement","src":"297565:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297601:4:21","nodeType":"YulLiteral","src":"297601:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"297607:2:21","nodeType":"YulIdentifier","src":"297607:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297594:6:21","nodeType":"YulIdentifier","src":"297594:6:21"},"nativeSrc":"297594:16:21","nodeType":"YulFunctionCall","src":"297594:16:21"},"nativeSrc":"297594:16:21","nodeType":"YulExpressionStatement","src":"297594:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297630:4:21","nodeType":"YulLiteral","src":"297630:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"297636:2:21","nodeType":"YulIdentifier","src":"297636:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297623:6:21","nodeType":"YulIdentifier","src":"297623:6:21"},"nativeSrc":"297623:16:21","nodeType":"YulFunctionCall","src":"297623:16:21"},"nativeSrc":"297623:16:21","nodeType":"YulExpressionStatement","src":"297623:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297659:4:21","nodeType":"YulLiteral","src":"297659:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"297665:2:21","nodeType":"YulIdentifier","src":"297665:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297652:6:21","nodeType":"YulIdentifier","src":"297652:6:21"},"nativeSrc":"297652:16:21","nodeType":"YulFunctionCall","src":"297652:16:21"},"nativeSrc":"297652:16:21","nodeType":"YulExpressionStatement","src":"297652:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297688:4:21","nodeType":"YulLiteral","src":"297688:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"297694:2:21","nodeType":"YulIdentifier","src":"297694:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297681:6:21","nodeType":"YulIdentifier","src":"297681:6:21"},"nativeSrc":"297681:16:21","nodeType":"YulFunctionCall","src":"297681:16:21"},"nativeSrc":"297681:16:21","nodeType":"YulExpressionStatement","src":"297681:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297717:4:21","nodeType":"YulLiteral","src":"297717:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"297723:2:21","nodeType":"YulIdentifier","src":"297723:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297710:6:21","nodeType":"YulIdentifier","src":"297710:6:21"},"nativeSrc":"297710:16:21","nodeType":"YulFunctionCall","src":"297710:16:21"},"nativeSrc":"297710:16:21","nodeType":"YulExpressionStatement","src":"297710:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297746:4:21","nodeType":"YulLiteral","src":"297746:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"297752:2:21","nodeType":"YulIdentifier","src":"297752:2:21"}],"functionName":{"name":"mstore","nativeSrc":"297739:6:21","nodeType":"YulIdentifier","src":"297739:6:21"},"nativeSrc":"297739:16:21","nodeType":"YulFunctionCall","src":"297739:16:21"},"nativeSrc":"297739:16:21","nodeType":"YulExpressionStatement","src":"297739:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36346,"isOffset":false,"isSlot":false,"src":"297578:2:21","valueSize":1},{"declaration":36349,"isOffset":false,"isSlot":false,"src":"297607:2:21","valueSize":1},{"declaration":36352,"isOffset":false,"isSlot":false,"src":"297636:2:21","valueSize":1},{"declaration":36355,"isOffset":false,"isSlot":false,"src":"297665:2:21","valueSize":1},{"declaration":36358,"isOffset":false,"isSlot":false,"src":"297694:2:21","valueSize":1},{"declaration":36361,"isOffset":false,"isSlot":false,"src":"297723:2:21","valueSize":1},{"declaration":36364,"isOffset":false,"isSlot":false,"src":"297752:2:21","valueSize":1}],"id":36372,"nodeType":"InlineAssembly","src":"297542:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"296354:3:21","parameters":{"id":36343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36336,"mutability":"mutable","name":"p0","nameLocation":"296366:2:21","nodeType":"VariableDeclaration","scope":36374,"src":"296358:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36335,"name":"uint256","nodeType":"ElementaryTypeName","src":"296358:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36338,"mutability":"mutable","name":"p1","nameLocation":"296378:2:21","nodeType":"VariableDeclaration","scope":36374,"src":"296370:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36337,"name":"uint256","nodeType":"ElementaryTypeName","src":"296370:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36340,"mutability":"mutable","name":"p2","nameLocation":"296390:2:21","nodeType":"VariableDeclaration","scope":36374,"src":"296382:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296382:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36342,"mutability":"mutable","name":"p3","nameLocation":"296402:2:21","nodeType":"VariableDeclaration","scope":36374,"src":"296394:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36341,"name":"address","nodeType":"ElementaryTypeName","src":"296394:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"296357:48:21"},"returnParameters":{"id":36344,"nodeType":"ParameterList","parameters":[],"src":"296420:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36414,"nodeType":"FunctionDefinition","src":"297777:1420:21","nodes":[],"body":{"id":36413,"nodeType":"Block","src":"297849:1348:21","nodes":[],"statements":[{"assignments":[36386],"declarations":[{"constant":false,"id":36386,"mutability":"mutable","name":"m0","nameLocation":"297867:2:21","nodeType":"VariableDeclaration","scope":36413,"src":"297859:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297859:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36387,"nodeType":"VariableDeclarationStatement","src":"297859:10:21"},{"assignments":[36389],"declarations":[{"constant":false,"id":36389,"mutability":"mutable","name":"m1","nameLocation":"297887:2:21","nodeType":"VariableDeclaration","scope":36413,"src":"297879:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297879:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36390,"nodeType":"VariableDeclarationStatement","src":"297879:10:21"},{"assignments":[36392],"declarations":[{"constant":false,"id":36392,"mutability":"mutable","name":"m2","nameLocation":"297907:2:21","nodeType":"VariableDeclaration","scope":36413,"src":"297899:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297899:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36393,"nodeType":"VariableDeclarationStatement","src":"297899:10:21"},{"assignments":[36395],"declarations":[{"constant":false,"id":36395,"mutability":"mutable","name":"m3","nameLocation":"297927:2:21","nodeType":"VariableDeclaration","scope":36413,"src":"297919:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297919:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36396,"nodeType":"VariableDeclarationStatement","src":"297919:10:21"},{"assignments":[36398],"declarations":[{"constant":false,"id":36398,"mutability":"mutable","name":"m4","nameLocation":"297947:2:21","nodeType":"VariableDeclaration","scope":36413,"src":"297939:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297939:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36399,"nodeType":"VariableDeclarationStatement","src":"297939:10:21"},{"assignments":[36401],"declarations":[{"constant":false,"id":36401,"mutability":"mutable","name":"m5","nameLocation":"297967:2:21","nodeType":"VariableDeclaration","scope":36413,"src":"297959:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36400,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297959:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36402,"nodeType":"VariableDeclarationStatement","src":"297959:10:21"},{"assignments":[36404],"declarations":[{"constant":false,"id":36404,"mutability":"mutable","name":"m6","nameLocation":"297987:2:21","nodeType":"VariableDeclaration","scope":36413,"src":"297979:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36403,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297979:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36405,"nodeType":"VariableDeclarationStatement","src":"297979:10:21"},{"AST":{"nativeSrc":"298051:828:21","nodeType":"YulBlock","src":"298051:828:21","statements":[{"body":{"nativeSrc":"298094:313:21","nodeType":"YulBlock","src":"298094:313:21","statements":[{"nativeSrc":"298112:15:21","nodeType":"YulVariableDeclaration","src":"298112:15:21","value":{"kind":"number","nativeSrc":"298126:1:21","nodeType":"YulLiteral","src":"298126:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"298116:6:21","nodeType":"YulTypedName","src":"298116:6:21","type":""}]},{"body":{"nativeSrc":"298197:40:21","nodeType":"YulBlock","src":"298197:40:21","statements":[{"body":{"nativeSrc":"298226:9:21","nodeType":"YulBlock","src":"298226:9:21","statements":[{"nativeSrc":"298228:5:21","nodeType":"YulBreak","src":"298228:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"298214:6:21","nodeType":"YulIdentifier","src":"298214:6:21"},{"name":"w","nativeSrc":"298222:1:21","nodeType":"YulIdentifier","src":"298222:1:21"}],"functionName":{"name":"byte","nativeSrc":"298209:4:21","nodeType":"YulIdentifier","src":"298209:4:21"},"nativeSrc":"298209:15:21","nodeType":"YulFunctionCall","src":"298209:15:21"}],"functionName":{"name":"iszero","nativeSrc":"298202:6:21","nodeType":"YulIdentifier","src":"298202:6:21"},"nativeSrc":"298202:23:21","nodeType":"YulFunctionCall","src":"298202:23:21"},"nativeSrc":"298199:36:21","nodeType":"YulIf","src":"298199:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"298154:6:21","nodeType":"YulIdentifier","src":"298154:6:21"},{"kind":"number","nativeSrc":"298162:4:21","nodeType":"YulLiteral","src":"298162:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"298151:2:21","nodeType":"YulIdentifier","src":"298151:2:21"},"nativeSrc":"298151:16:21","nodeType":"YulFunctionCall","src":"298151:16:21"},"nativeSrc":"298144:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"298168:28:21","nodeType":"YulBlock","src":"298168:28:21","statements":[{"nativeSrc":"298170:24:21","nodeType":"YulAssignment","src":"298170:24:21","value":{"arguments":[{"name":"length","nativeSrc":"298184:6:21","nodeType":"YulIdentifier","src":"298184:6:21"},{"kind":"number","nativeSrc":"298192:1:21","nodeType":"YulLiteral","src":"298192:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"298180:3:21","nodeType":"YulIdentifier","src":"298180:3:21"},"nativeSrc":"298180:14:21","nodeType":"YulFunctionCall","src":"298180:14:21"},"variableNames":[{"name":"length","nativeSrc":"298170:6:21","nodeType":"YulIdentifier","src":"298170:6:21"}]}]},"pre":{"nativeSrc":"298148:2:21","nodeType":"YulBlock","src":"298148:2:21","statements":[]},"src":"298144:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"298261:3:21","nodeType":"YulIdentifier","src":"298261:3:21"},{"name":"length","nativeSrc":"298266:6:21","nodeType":"YulIdentifier","src":"298266:6:21"}],"functionName":{"name":"mstore","nativeSrc":"298254:6:21","nodeType":"YulIdentifier","src":"298254:6:21"},"nativeSrc":"298254:19:21","nodeType":"YulFunctionCall","src":"298254:19:21"},"nativeSrc":"298254:19:21","nodeType":"YulExpressionStatement","src":"298254:19:21"},{"nativeSrc":"298290:37:21","nodeType":"YulVariableDeclaration","src":"298290:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"298307:3:21","nodeType":"YulLiteral","src":"298307:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"298316:1:21","nodeType":"YulLiteral","src":"298316:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"298319:6:21","nodeType":"YulIdentifier","src":"298319:6:21"}],"functionName":{"name":"shl","nativeSrc":"298312:3:21","nodeType":"YulIdentifier","src":"298312:3:21"},"nativeSrc":"298312:14:21","nodeType":"YulFunctionCall","src":"298312:14:21"}],"functionName":{"name":"sub","nativeSrc":"298303:3:21","nodeType":"YulIdentifier","src":"298303:3:21"},"nativeSrc":"298303:24:21","nodeType":"YulFunctionCall","src":"298303:24:21"},"variables":[{"name":"shift","nativeSrc":"298294:5:21","nodeType":"YulTypedName","src":"298294:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"298355:3:21","nodeType":"YulIdentifier","src":"298355:3:21"},{"kind":"number","nativeSrc":"298360:4:21","nodeType":"YulLiteral","src":"298360:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"298351:3:21","nodeType":"YulIdentifier","src":"298351:3:21"},"nativeSrc":"298351:14:21","nodeType":"YulFunctionCall","src":"298351:14:21"},{"arguments":[{"name":"shift","nativeSrc":"298371:5:21","nodeType":"YulIdentifier","src":"298371:5:21"},{"arguments":[{"name":"shift","nativeSrc":"298382:5:21","nodeType":"YulIdentifier","src":"298382:5:21"},{"name":"w","nativeSrc":"298389:1:21","nodeType":"YulIdentifier","src":"298389:1:21"}],"functionName":{"name":"shr","nativeSrc":"298378:3:21","nodeType":"YulIdentifier","src":"298378:3:21"},"nativeSrc":"298378:13:21","nodeType":"YulFunctionCall","src":"298378:13:21"}],"functionName":{"name":"shl","nativeSrc":"298367:3:21","nodeType":"YulIdentifier","src":"298367:3:21"},"nativeSrc":"298367:25:21","nodeType":"YulFunctionCall","src":"298367:25:21"}],"functionName":{"name":"mstore","nativeSrc":"298344:6:21","nodeType":"YulIdentifier","src":"298344:6:21"},"nativeSrc":"298344:49:21","nodeType":"YulFunctionCall","src":"298344:49:21"},"nativeSrc":"298344:49:21","nodeType":"YulExpressionStatement","src":"298344:49:21"}]},"name":"writeString","nativeSrc":"298065:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"298086:3:21","nodeType":"YulTypedName","src":"298086:3:21","type":""},{"name":"w","nativeSrc":"298091:1:21","nodeType":"YulTypedName","src":"298091:1:21","type":""}],"src":"298065:342:21"},{"nativeSrc":"298420:17:21","nodeType":"YulAssignment","src":"298420:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"298432:4:21","nodeType":"YulLiteral","src":"298432:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"298426:5:21","nodeType":"YulIdentifier","src":"298426:5:21"},"nativeSrc":"298426:11:21","nodeType":"YulFunctionCall","src":"298426:11:21"},"variableNames":[{"name":"m0","nativeSrc":"298420:2:21","nodeType":"YulIdentifier","src":"298420:2:21"}]},{"nativeSrc":"298450:17:21","nodeType":"YulAssignment","src":"298450:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"298462:4:21","nodeType":"YulLiteral","src":"298462:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"298456:5:21","nodeType":"YulIdentifier","src":"298456:5:21"},"nativeSrc":"298456:11:21","nodeType":"YulFunctionCall","src":"298456:11:21"},"variableNames":[{"name":"m1","nativeSrc":"298450:2:21","nodeType":"YulIdentifier","src":"298450:2:21"}]},{"nativeSrc":"298480:17:21","nodeType":"YulAssignment","src":"298480:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"298492:4:21","nodeType":"YulLiteral","src":"298492:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"298486:5:21","nodeType":"YulIdentifier","src":"298486:5:21"},"nativeSrc":"298486:11:21","nodeType":"YulFunctionCall","src":"298486:11:21"},"variableNames":[{"name":"m2","nativeSrc":"298480:2:21","nodeType":"YulIdentifier","src":"298480:2:21"}]},{"nativeSrc":"298510:17:21","nodeType":"YulAssignment","src":"298510:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"298522:4:21","nodeType":"YulLiteral","src":"298522:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"298516:5:21","nodeType":"YulIdentifier","src":"298516:5:21"},"nativeSrc":"298516:11:21","nodeType":"YulFunctionCall","src":"298516:11:21"},"variableNames":[{"name":"m3","nativeSrc":"298510:2:21","nodeType":"YulIdentifier","src":"298510:2:21"}]},{"nativeSrc":"298540:17:21","nodeType":"YulAssignment","src":"298540:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"298552:4:21","nodeType":"YulLiteral","src":"298552:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"298546:5:21","nodeType":"YulIdentifier","src":"298546:5:21"},"nativeSrc":"298546:11:21","nodeType":"YulFunctionCall","src":"298546:11:21"},"variableNames":[{"name":"m4","nativeSrc":"298540:2:21","nodeType":"YulIdentifier","src":"298540:2:21"}]},{"nativeSrc":"298570:17:21","nodeType":"YulAssignment","src":"298570:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"298582:4:21","nodeType":"YulLiteral","src":"298582:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"298576:5:21","nodeType":"YulIdentifier","src":"298576:5:21"},"nativeSrc":"298576:11:21","nodeType":"YulFunctionCall","src":"298576:11:21"},"variableNames":[{"name":"m5","nativeSrc":"298570:2:21","nodeType":"YulIdentifier","src":"298570:2:21"}]},{"nativeSrc":"298600:17:21","nodeType":"YulAssignment","src":"298600:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"298612:4:21","nodeType":"YulLiteral","src":"298612:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"298606:5:21","nodeType":"YulIdentifier","src":"298606:5:21"},"nativeSrc":"298606:11:21","nodeType":"YulFunctionCall","src":"298606:11:21"},"variableNames":[{"name":"m6","nativeSrc":"298600:2:21","nodeType":"YulIdentifier","src":"298600:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298700:4:21","nodeType":"YulLiteral","src":"298700:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"298706:10:21","nodeType":"YulLiteral","src":"298706:10:21","type":"","value":"0x7af6ab25"}],"functionName":{"name":"mstore","nativeSrc":"298693:6:21","nodeType":"YulIdentifier","src":"298693:6:21"},"nativeSrc":"298693:24:21","nodeType":"YulFunctionCall","src":"298693:24:21"},"nativeSrc":"298693:24:21","nodeType":"YulExpressionStatement","src":"298693:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298737:4:21","nodeType":"YulLiteral","src":"298737:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"298743:2:21","nodeType":"YulIdentifier","src":"298743:2:21"}],"functionName":{"name":"mstore","nativeSrc":"298730:6:21","nodeType":"YulIdentifier","src":"298730:6:21"},"nativeSrc":"298730:16:21","nodeType":"YulFunctionCall","src":"298730:16:21"},"nativeSrc":"298730:16:21","nodeType":"YulExpressionStatement","src":"298730:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298766:4:21","nodeType":"YulLiteral","src":"298766:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"298772:2:21","nodeType":"YulIdentifier","src":"298772:2:21"}],"functionName":{"name":"mstore","nativeSrc":"298759:6:21","nodeType":"YulIdentifier","src":"298759:6:21"},"nativeSrc":"298759:16:21","nodeType":"YulFunctionCall","src":"298759:16:21"},"nativeSrc":"298759:16:21","nodeType":"YulExpressionStatement","src":"298759:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298795:4:21","nodeType":"YulLiteral","src":"298795:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"298801:4:21","nodeType":"YulLiteral","src":"298801:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"298788:6:21","nodeType":"YulIdentifier","src":"298788:6:21"},"nativeSrc":"298788:18:21","nodeType":"YulFunctionCall","src":"298788:18:21"},"nativeSrc":"298788:18:21","nodeType":"YulExpressionStatement","src":"298788:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298826:4:21","nodeType":"YulLiteral","src":"298826:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"298832:2:21","nodeType":"YulIdentifier","src":"298832:2:21"}],"functionName":{"name":"mstore","nativeSrc":"298819:6:21","nodeType":"YulIdentifier","src":"298819:6:21"},"nativeSrc":"298819:16:21","nodeType":"YulFunctionCall","src":"298819:16:21"},"nativeSrc":"298819:16:21","nodeType":"YulExpressionStatement","src":"298819:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298860:4:21","nodeType":"YulLiteral","src":"298860:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"298866:2:21","nodeType":"YulIdentifier","src":"298866:2:21"}],"functionName":{"name":"writeString","nativeSrc":"298848:11:21","nodeType":"YulIdentifier","src":"298848:11:21"},"nativeSrc":"298848:21:21","nodeType":"YulFunctionCall","src":"298848:21:21"},"nativeSrc":"298848:21:21","nodeType":"YulExpressionStatement","src":"298848:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36386,"isOffset":false,"isSlot":false,"src":"298420:2:21","valueSize":1},{"declaration":36389,"isOffset":false,"isSlot":false,"src":"298450:2:21","valueSize":1},{"declaration":36392,"isOffset":false,"isSlot":false,"src":"298480:2:21","valueSize":1},{"declaration":36395,"isOffset":false,"isSlot":false,"src":"298510:2:21","valueSize":1},{"declaration":36398,"isOffset":false,"isSlot":false,"src":"298540:2:21","valueSize":1},{"declaration":36401,"isOffset":false,"isSlot":false,"src":"298570:2:21","valueSize":1},{"declaration":36404,"isOffset":false,"isSlot":false,"src":"298600:2:21","valueSize":1},{"declaration":36376,"isOffset":false,"isSlot":false,"src":"298743:2:21","valueSize":1},{"declaration":36378,"isOffset":false,"isSlot":false,"src":"298772:2:21","valueSize":1},{"declaration":36380,"isOffset":false,"isSlot":false,"src":"298866:2:21","valueSize":1},{"declaration":36382,"isOffset":false,"isSlot":false,"src":"298832:2:21","valueSize":1}],"id":36406,"nodeType":"InlineAssembly","src":"298042:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"298904:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"298910:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36407,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"298888:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"298888:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36411,"nodeType":"ExpressionStatement","src":"298888:27:21"},{"AST":{"nativeSrc":"298977:214:21","nodeType":"YulBlock","src":"298977:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"298998:4:21","nodeType":"YulLiteral","src":"298998:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"299004:2:21","nodeType":"YulIdentifier","src":"299004:2:21"}],"functionName":{"name":"mstore","nativeSrc":"298991:6:21","nodeType":"YulIdentifier","src":"298991:6:21"},"nativeSrc":"298991:16:21","nodeType":"YulFunctionCall","src":"298991:16:21"},"nativeSrc":"298991:16:21","nodeType":"YulExpressionStatement","src":"298991:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299027:4:21","nodeType":"YulLiteral","src":"299027:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"299033:2:21","nodeType":"YulIdentifier","src":"299033:2:21"}],"functionName":{"name":"mstore","nativeSrc":"299020:6:21","nodeType":"YulIdentifier","src":"299020:6:21"},"nativeSrc":"299020:16:21","nodeType":"YulFunctionCall","src":"299020:16:21"},"nativeSrc":"299020:16:21","nodeType":"YulExpressionStatement","src":"299020:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299056:4:21","nodeType":"YulLiteral","src":"299056:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"299062:2:21","nodeType":"YulIdentifier","src":"299062:2:21"}],"functionName":{"name":"mstore","nativeSrc":"299049:6:21","nodeType":"YulIdentifier","src":"299049:6:21"},"nativeSrc":"299049:16:21","nodeType":"YulFunctionCall","src":"299049:16:21"},"nativeSrc":"299049:16:21","nodeType":"YulExpressionStatement","src":"299049:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299085:4:21","nodeType":"YulLiteral","src":"299085:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"299091:2:21","nodeType":"YulIdentifier","src":"299091:2:21"}],"functionName":{"name":"mstore","nativeSrc":"299078:6:21","nodeType":"YulIdentifier","src":"299078:6:21"},"nativeSrc":"299078:16:21","nodeType":"YulFunctionCall","src":"299078:16:21"},"nativeSrc":"299078:16:21","nodeType":"YulExpressionStatement","src":"299078:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299114:4:21","nodeType":"YulLiteral","src":"299114:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"299120:2:21","nodeType":"YulIdentifier","src":"299120:2:21"}],"functionName":{"name":"mstore","nativeSrc":"299107:6:21","nodeType":"YulIdentifier","src":"299107:6:21"},"nativeSrc":"299107:16:21","nodeType":"YulFunctionCall","src":"299107:16:21"},"nativeSrc":"299107:16:21","nodeType":"YulExpressionStatement","src":"299107:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299143:4:21","nodeType":"YulLiteral","src":"299143:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"299149:2:21","nodeType":"YulIdentifier","src":"299149:2:21"}],"functionName":{"name":"mstore","nativeSrc":"299136:6:21","nodeType":"YulIdentifier","src":"299136:6:21"},"nativeSrc":"299136:16:21","nodeType":"YulFunctionCall","src":"299136:16:21"},"nativeSrc":"299136:16:21","nodeType":"YulExpressionStatement","src":"299136:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299172:4:21","nodeType":"YulLiteral","src":"299172:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"299178:2:21","nodeType":"YulIdentifier","src":"299178:2:21"}],"functionName":{"name":"mstore","nativeSrc":"299165:6:21","nodeType":"YulIdentifier","src":"299165:6:21"},"nativeSrc":"299165:16:21","nodeType":"YulFunctionCall","src":"299165:16:21"},"nativeSrc":"299165:16:21","nodeType":"YulExpressionStatement","src":"299165:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36386,"isOffset":false,"isSlot":false,"src":"299004:2:21","valueSize":1},{"declaration":36389,"isOffset":false,"isSlot":false,"src":"299033:2:21","valueSize":1},{"declaration":36392,"isOffset":false,"isSlot":false,"src":"299062:2:21","valueSize":1},{"declaration":36395,"isOffset":false,"isSlot":false,"src":"299091:2:21","valueSize":1},{"declaration":36398,"isOffset":false,"isSlot":false,"src":"299120:2:21","valueSize":1},{"declaration":36401,"isOffset":false,"isSlot":false,"src":"299149:2:21","valueSize":1},{"declaration":36404,"isOffset":false,"isSlot":false,"src":"299178:2:21","valueSize":1}],"id":36412,"nodeType":"InlineAssembly","src":"298968:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"297786:3:21","parameters":{"id":36383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36376,"mutability":"mutable","name":"p0","nameLocation":"297798:2:21","nodeType":"VariableDeclaration","scope":36414,"src":"297790:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36375,"name":"uint256","nodeType":"ElementaryTypeName","src":"297790:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36378,"mutability":"mutable","name":"p1","nameLocation":"297810:2:21","nodeType":"VariableDeclaration","scope":36414,"src":"297802:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36377,"name":"uint256","nodeType":"ElementaryTypeName","src":"297802:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36380,"mutability":"mutable","name":"p2","nameLocation":"297822:2:21","nodeType":"VariableDeclaration","scope":36414,"src":"297814:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297814:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36382,"mutability":"mutable","name":"p3","nameLocation":"297831:2:21","nodeType":"VariableDeclaration","scope":36414,"src":"297826:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36381,"name":"bool","nodeType":"ElementaryTypeName","src":"297826:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"297789:45:21"},"returnParameters":{"id":36384,"nodeType":"ParameterList","parameters":[],"src":"297849:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36454,"nodeType":"FunctionDefinition","src":"299203:1426:21","nodes":[],"body":{"id":36453,"nodeType":"Block","src":"299278:1351:21","nodes":[],"statements":[{"assignments":[36426],"declarations":[{"constant":false,"id":36426,"mutability":"mutable","name":"m0","nameLocation":"299296:2:21","nodeType":"VariableDeclaration","scope":36453,"src":"299288:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299288:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36427,"nodeType":"VariableDeclarationStatement","src":"299288:10:21"},{"assignments":[36429],"declarations":[{"constant":false,"id":36429,"mutability":"mutable","name":"m1","nameLocation":"299316:2:21","nodeType":"VariableDeclaration","scope":36453,"src":"299308:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299308:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36430,"nodeType":"VariableDeclarationStatement","src":"299308:10:21"},{"assignments":[36432],"declarations":[{"constant":false,"id":36432,"mutability":"mutable","name":"m2","nameLocation":"299336:2:21","nodeType":"VariableDeclaration","scope":36453,"src":"299328:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299328:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36433,"nodeType":"VariableDeclarationStatement","src":"299328:10:21"},{"assignments":[36435],"declarations":[{"constant":false,"id":36435,"mutability":"mutable","name":"m3","nameLocation":"299356:2:21","nodeType":"VariableDeclaration","scope":36453,"src":"299348:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299348:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36436,"nodeType":"VariableDeclarationStatement","src":"299348:10:21"},{"assignments":[36438],"declarations":[{"constant":false,"id":36438,"mutability":"mutable","name":"m4","nameLocation":"299376:2:21","nodeType":"VariableDeclaration","scope":36453,"src":"299368:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299368:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36439,"nodeType":"VariableDeclarationStatement","src":"299368:10:21"},{"assignments":[36441],"declarations":[{"constant":false,"id":36441,"mutability":"mutable","name":"m5","nameLocation":"299396:2:21","nodeType":"VariableDeclaration","scope":36453,"src":"299388:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299388:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36442,"nodeType":"VariableDeclarationStatement","src":"299388:10:21"},{"assignments":[36444],"declarations":[{"constant":false,"id":36444,"mutability":"mutable","name":"m6","nameLocation":"299416:2:21","nodeType":"VariableDeclaration","scope":36453,"src":"299408:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299408:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36445,"nodeType":"VariableDeclarationStatement","src":"299408:10:21"},{"AST":{"nativeSrc":"299480:831:21","nodeType":"YulBlock","src":"299480:831:21","statements":[{"body":{"nativeSrc":"299523:313:21","nodeType":"YulBlock","src":"299523:313:21","statements":[{"nativeSrc":"299541:15:21","nodeType":"YulVariableDeclaration","src":"299541:15:21","value":{"kind":"number","nativeSrc":"299555:1:21","nodeType":"YulLiteral","src":"299555:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"299545:6:21","nodeType":"YulTypedName","src":"299545:6:21","type":""}]},{"body":{"nativeSrc":"299626:40:21","nodeType":"YulBlock","src":"299626:40:21","statements":[{"body":{"nativeSrc":"299655:9:21","nodeType":"YulBlock","src":"299655:9:21","statements":[{"nativeSrc":"299657:5:21","nodeType":"YulBreak","src":"299657:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"299643:6:21","nodeType":"YulIdentifier","src":"299643:6:21"},{"name":"w","nativeSrc":"299651:1:21","nodeType":"YulIdentifier","src":"299651:1:21"}],"functionName":{"name":"byte","nativeSrc":"299638:4:21","nodeType":"YulIdentifier","src":"299638:4:21"},"nativeSrc":"299638:15:21","nodeType":"YulFunctionCall","src":"299638:15:21"}],"functionName":{"name":"iszero","nativeSrc":"299631:6:21","nodeType":"YulIdentifier","src":"299631:6:21"},"nativeSrc":"299631:23:21","nodeType":"YulFunctionCall","src":"299631:23:21"},"nativeSrc":"299628:36:21","nodeType":"YulIf","src":"299628:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"299583:6:21","nodeType":"YulIdentifier","src":"299583:6:21"},{"kind":"number","nativeSrc":"299591:4:21","nodeType":"YulLiteral","src":"299591:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"299580:2:21","nodeType":"YulIdentifier","src":"299580:2:21"},"nativeSrc":"299580:16:21","nodeType":"YulFunctionCall","src":"299580:16:21"},"nativeSrc":"299573:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"299597:28:21","nodeType":"YulBlock","src":"299597:28:21","statements":[{"nativeSrc":"299599:24:21","nodeType":"YulAssignment","src":"299599:24:21","value":{"arguments":[{"name":"length","nativeSrc":"299613:6:21","nodeType":"YulIdentifier","src":"299613:6:21"},{"kind":"number","nativeSrc":"299621:1:21","nodeType":"YulLiteral","src":"299621:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"299609:3:21","nodeType":"YulIdentifier","src":"299609:3:21"},"nativeSrc":"299609:14:21","nodeType":"YulFunctionCall","src":"299609:14:21"},"variableNames":[{"name":"length","nativeSrc":"299599:6:21","nodeType":"YulIdentifier","src":"299599:6:21"}]}]},"pre":{"nativeSrc":"299577:2:21","nodeType":"YulBlock","src":"299577:2:21","statements":[]},"src":"299573:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"299690:3:21","nodeType":"YulIdentifier","src":"299690:3:21"},{"name":"length","nativeSrc":"299695:6:21","nodeType":"YulIdentifier","src":"299695:6:21"}],"functionName":{"name":"mstore","nativeSrc":"299683:6:21","nodeType":"YulIdentifier","src":"299683:6:21"},"nativeSrc":"299683:19:21","nodeType":"YulFunctionCall","src":"299683:19:21"},"nativeSrc":"299683:19:21","nodeType":"YulExpressionStatement","src":"299683:19:21"},{"nativeSrc":"299719:37:21","nodeType":"YulVariableDeclaration","src":"299719:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"299736:3:21","nodeType":"YulLiteral","src":"299736:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"299745:1:21","nodeType":"YulLiteral","src":"299745:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"299748:6:21","nodeType":"YulIdentifier","src":"299748:6:21"}],"functionName":{"name":"shl","nativeSrc":"299741:3:21","nodeType":"YulIdentifier","src":"299741:3:21"},"nativeSrc":"299741:14:21","nodeType":"YulFunctionCall","src":"299741:14:21"}],"functionName":{"name":"sub","nativeSrc":"299732:3:21","nodeType":"YulIdentifier","src":"299732:3:21"},"nativeSrc":"299732:24:21","nodeType":"YulFunctionCall","src":"299732:24:21"},"variables":[{"name":"shift","nativeSrc":"299723:5:21","nodeType":"YulTypedName","src":"299723:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"299784:3:21","nodeType":"YulIdentifier","src":"299784:3:21"},{"kind":"number","nativeSrc":"299789:4:21","nodeType":"YulLiteral","src":"299789:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"299780:3:21","nodeType":"YulIdentifier","src":"299780:3:21"},"nativeSrc":"299780:14:21","nodeType":"YulFunctionCall","src":"299780:14:21"},{"arguments":[{"name":"shift","nativeSrc":"299800:5:21","nodeType":"YulIdentifier","src":"299800:5:21"},{"arguments":[{"name":"shift","nativeSrc":"299811:5:21","nodeType":"YulIdentifier","src":"299811:5:21"},{"name":"w","nativeSrc":"299818:1:21","nodeType":"YulIdentifier","src":"299818:1:21"}],"functionName":{"name":"shr","nativeSrc":"299807:3:21","nodeType":"YulIdentifier","src":"299807:3:21"},"nativeSrc":"299807:13:21","nodeType":"YulFunctionCall","src":"299807:13:21"}],"functionName":{"name":"shl","nativeSrc":"299796:3:21","nodeType":"YulIdentifier","src":"299796:3:21"},"nativeSrc":"299796:25:21","nodeType":"YulFunctionCall","src":"299796:25:21"}],"functionName":{"name":"mstore","nativeSrc":"299773:6:21","nodeType":"YulIdentifier","src":"299773:6:21"},"nativeSrc":"299773:49:21","nodeType":"YulFunctionCall","src":"299773:49:21"},"nativeSrc":"299773:49:21","nodeType":"YulExpressionStatement","src":"299773:49:21"}]},"name":"writeString","nativeSrc":"299494:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"299515:3:21","nodeType":"YulTypedName","src":"299515:3:21","type":""},{"name":"w","nativeSrc":"299520:1:21","nodeType":"YulTypedName","src":"299520:1:21","type":""}],"src":"299494:342:21"},{"nativeSrc":"299849:17:21","nodeType":"YulAssignment","src":"299849:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"299861:4:21","nodeType":"YulLiteral","src":"299861:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"299855:5:21","nodeType":"YulIdentifier","src":"299855:5:21"},"nativeSrc":"299855:11:21","nodeType":"YulFunctionCall","src":"299855:11:21"},"variableNames":[{"name":"m0","nativeSrc":"299849:2:21","nodeType":"YulIdentifier","src":"299849:2:21"}]},{"nativeSrc":"299879:17:21","nodeType":"YulAssignment","src":"299879:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"299891:4:21","nodeType":"YulLiteral","src":"299891:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"299885:5:21","nodeType":"YulIdentifier","src":"299885:5:21"},"nativeSrc":"299885:11:21","nodeType":"YulFunctionCall","src":"299885:11:21"},"variableNames":[{"name":"m1","nativeSrc":"299879:2:21","nodeType":"YulIdentifier","src":"299879:2:21"}]},{"nativeSrc":"299909:17:21","nodeType":"YulAssignment","src":"299909:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"299921:4:21","nodeType":"YulLiteral","src":"299921:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"299915:5:21","nodeType":"YulIdentifier","src":"299915:5:21"},"nativeSrc":"299915:11:21","nodeType":"YulFunctionCall","src":"299915:11:21"},"variableNames":[{"name":"m2","nativeSrc":"299909:2:21","nodeType":"YulIdentifier","src":"299909:2:21"}]},{"nativeSrc":"299939:17:21","nodeType":"YulAssignment","src":"299939:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"299951:4:21","nodeType":"YulLiteral","src":"299951:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"299945:5:21","nodeType":"YulIdentifier","src":"299945:5:21"},"nativeSrc":"299945:11:21","nodeType":"YulFunctionCall","src":"299945:11:21"},"variableNames":[{"name":"m3","nativeSrc":"299939:2:21","nodeType":"YulIdentifier","src":"299939:2:21"}]},{"nativeSrc":"299969:17:21","nodeType":"YulAssignment","src":"299969:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"299981:4:21","nodeType":"YulLiteral","src":"299981:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"299975:5:21","nodeType":"YulIdentifier","src":"299975:5:21"},"nativeSrc":"299975:11:21","nodeType":"YulFunctionCall","src":"299975:11:21"},"variableNames":[{"name":"m4","nativeSrc":"299969:2:21","nodeType":"YulIdentifier","src":"299969:2:21"}]},{"nativeSrc":"299999:17:21","nodeType":"YulAssignment","src":"299999:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"300011:4:21","nodeType":"YulLiteral","src":"300011:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"300005:5:21","nodeType":"YulIdentifier","src":"300005:5:21"},"nativeSrc":"300005:11:21","nodeType":"YulFunctionCall","src":"300005:11:21"},"variableNames":[{"name":"m5","nativeSrc":"299999:2:21","nodeType":"YulIdentifier","src":"299999:2:21"}]},{"nativeSrc":"300029:17:21","nodeType":"YulAssignment","src":"300029:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"300041:4:21","nodeType":"YulLiteral","src":"300041:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"300035:5:21","nodeType":"YulIdentifier","src":"300035:5:21"},"nativeSrc":"300035:11:21","nodeType":"YulFunctionCall","src":"300035:11:21"},"variableNames":[{"name":"m6","nativeSrc":"300029:2:21","nodeType":"YulIdentifier","src":"300029:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300132:4:21","nodeType":"YulLiteral","src":"300132:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"300138:10:21","nodeType":"YulLiteral","src":"300138:10:21","type":"","value":"0x5da297eb"}],"functionName":{"name":"mstore","nativeSrc":"300125:6:21","nodeType":"YulIdentifier","src":"300125:6:21"},"nativeSrc":"300125:24:21","nodeType":"YulFunctionCall","src":"300125:24:21"},"nativeSrc":"300125:24:21","nodeType":"YulExpressionStatement","src":"300125:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300169:4:21","nodeType":"YulLiteral","src":"300169:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"300175:2:21","nodeType":"YulIdentifier","src":"300175:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300162:6:21","nodeType":"YulIdentifier","src":"300162:6:21"},"nativeSrc":"300162:16:21","nodeType":"YulFunctionCall","src":"300162:16:21"},"nativeSrc":"300162:16:21","nodeType":"YulExpressionStatement","src":"300162:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300198:4:21","nodeType":"YulLiteral","src":"300198:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"300204:2:21","nodeType":"YulIdentifier","src":"300204:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300191:6:21","nodeType":"YulIdentifier","src":"300191:6:21"},"nativeSrc":"300191:16:21","nodeType":"YulFunctionCall","src":"300191:16:21"},"nativeSrc":"300191:16:21","nodeType":"YulExpressionStatement","src":"300191:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300227:4:21","nodeType":"YulLiteral","src":"300227:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"300233:4:21","nodeType":"YulLiteral","src":"300233:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"300220:6:21","nodeType":"YulIdentifier","src":"300220:6:21"},"nativeSrc":"300220:18:21","nodeType":"YulFunctionCall","src":"300220:18:21"},"nativeSrc":"300220:18:21","nodeType":"YulExpressionStatement","src":"300220:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300258:4:21","nodeType":"YulLiteral","src":"300258:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"300264:2:21","nodeType":"YulIdentifier","src":"300264:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300251:6:21","nodeType":"YulIdentifier","src":"300251:6:21"},"nativeSrc":"300251:16:21","nodeType":"YulFunctionCall","src":"300251:16:21"},"nativeSrc":"300251:16:21","nodeType":"YulExpressionStatement","src":"300251:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300292:4:21","nodeType":"YulLiteral","src":"300292:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"300298:2:21","nodeType":"YulIdentifier","src":"300298:2:21"}],"functionName":{"name":"writeString","nativeSrc":"300280:11:21","nodeType":"YulIdentifier","src":"300280:11:21"},"nativeSrc":"300280:21:21","nodeType":"YulFunctionCall","src":"300280:21:21"},"nativeSrc":"300280:21:21","nodeType":"YulExpressionStatement","src":"300280:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36426,"isOffset":false,"isSlot":false,"src":"299849:2:21","valueSize":1},{"declaration":36429,"isOffset":false,"isSlot":false,"src":"299879:2:21","valueSize":1},{"declaration":36432,"isOffset":false,"isSlot":false,"src":"299909:2:21","valueSize":1},{"declaration":36435,"isOffset":false,"isSlot":false,"src":"299939:2:21","valueSize":1},{"declaration":36438,"isOffset":false,"isSlot":false,"src":"299969:2:21","valueSize":1},{"declaration":36441,"isOffset":false,"isSlot":false,"src":"299999:2:21","valueSize":1},{"declaration":36444,"isOffset":false,"isSlot":false,"src":"300029:2:21","valueSize":1},{"declaration":36416,"isOffset":false,"isSlot":false,"src":"300175:2:21","valueSize":1},{"declaration":36418,"isOffset":false,"isSlot":false,"src":"300204:2:21","valueSize":1},{"declaration":36420,"isOffset":false,"isSlot":false,"src":"300298:2:21","valueSize":1},{"declaration":36422,"isOffset":false,"isSlot":false,"src":"300264:2:21","valueSize":1}],"id":36446,"nodeType":"InlineAssembly","src":"299471:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"300336:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"300342:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36447,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"300320:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"300320:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36451,"nodeType":"ExpressionStatement","src":"300320:27:21"},{"AST":{"nativeSrc":"300409:214:21","nodeType":"YulBlock","src":"300409:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"300430:4:21","nodeType":"YulLiteral","src":"300430:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"300436:2:21","nodeType":"YulIdentifier","src":"300436:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300423:6:21","nodeType":"YulIdentifier","src":"300423:6:21"},"nativeSrc":"300423:16:21","nodeType":"YulFunctionCall","src":"300423:16:21"},"nativeSrc":"300423:16:21","nodeType":"YulExpressionStatement","src":"300423:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300459:4:21","nodeType":"YulLiteral","src":"300459:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"300465:2:21","nodeType":"YulIdentifier","src":"300465:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300452:6:21","nodeType":"YulIdentifier","src":"300452:6:21"},"nativeSrc":"300452:16:21","nodeType":"YulFunctionCall","src":"300452:16:21"},"nativeSrc":"300452:16:21","nodeType":"YulExpressionStatement","src":"300452:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300488:4:21","nodeType":"YulLiteral","src":"300488:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"300494:2:21","nodeType":"YulIdentifier","src":"300494:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300481:6:21","nodeType":"YulIdentifier","src":"300481:6:21"},"nativeSrc":"300481:16:21","nodeType":"YulFunctionCall","src":"300481:16:21"},"nativeSrc":"300481:16:21","nodeType":"YulExpressionStatement","src":"300481:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300517:4:21","nodeType":"YulLiteral","src":"300517:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"300523:2:21","nodeType":"YulIdentifier","src":"300523:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300510:6:21","nodeType":"YulIdentifier","src":"300510:6:21"},"nativeSrc":"300510:16:21","nodeType":"YulFunctionCall","src":"300510:16:21"},"nativeSrc":"300510:16:21","nodeType":"YulExpressionStatement","src":"300510:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300546:4:21","nodeType":"YulLiteral","src":"300546:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"300552:2:21","nodeType":"YulIdentifier","src":"300552:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300539:6:21","nodeType":"YulIdentifier","src":"300539:6:21"},"nativeSrc":"300539:16:21","nodeType":"YulFunctionCall","src":"300539:16:21"},"nativeSrc":"300539:16:21","nodeType":"YulExpressionStatement","src":"300539:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300575:4:21","nodeType":"YulLiteral","src":"300575:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"300581:2:21","nodeType":"YulIdentifier","src":"300581:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300568:6:21","nodeType":"YulIdentifier","src":"300568:6:21"},"nativeSrc":"300568:16:21","nodeType":"YulFunctionCall","src":"300568:16:21"},"nativeSrc":"300568:16:21","nodeType":"YulExpressionStatement","src":"300568:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300604:4:21","nodeType":"YulLiteral","src":"300604:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"300610:2:21","nodeType":"YulIdentifier","src":"300610:2:21"}],"functionName":{"name":"mstore","nativeSrc":"300597:6:21","nodeType":"YulIdentifier","src":"300597:6:21"},"nativeSrc":"300597:16:21","nodeType":"YulFunctionCall","src":"300597:16:21"},"nativeSrc":"300597:16:21","nodeType":"YulExpressionStatement","src":"300597:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36426,"isOffset":false,"isSlot":false,"src":"300436:2:21","valueSize":1},{"declaration":36429,"isOffset":false,"isSlot":false,"src":"300465:2:21","valueSize":1},{"declaration":36432,"isOffset":false,"isSlot":false,"src":"300494:2:21","valueSize":1},{"declaration":36435,"isOffset":false,"isSlot":false,"src":"300523:2:21","valueSize":1},{"declaration":36438,"isOffset":false,"isSlot":false,"src":"300552:2:21","valueSize":1},{"declaration":36441,"isOffset":false,"isSlot":false,"src":"300581:2:21","valueSize":1},{"declaration":36444,"isOffset":false,"isSlot":false,"src":"300610:2:21","valueSize":1}],"id":36452,"nodeType":"InlineAssembly","src":"300400:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"299212:3:21","parameters":{"id":36423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36416,"mutability":"mutable","name":"p0","nameLocation":"299224:2:21","nodeType":"VariableDeclaration","scope":36454,"src":"299216:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36415,"name":"uint256","nodeType":"ElementaryTypeName","src":"299216:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36418,"mutability":"mutable","name":"p1","nameLocation":"299236:2:21","nodeType":"VariableDeclaration","scope":36454,"src":"299228:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36417,"name":"uint256","nodeType":"ElementaryTypeName","src":"299228:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36420,"mutability":"mutable","name":"p2","nameLocation":"299248:2:21","nodeType":"VariableDeclaration","scope":36454,"src":"299240:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299240:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36422,"mutability":"mutable","name":"p3","nameLocation":"299260:2:21","nodeType":"VariableDeclaration","scope":36454,"src":"299252:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36421,"name":"uint256","nodeType":"ElementaryTypeName","src":"299252:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"299215:48:21"},"returnParameters":{"id":36424,"nodeType":"ParameterList","parameters":[],"src":"299278:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36500,"nodeType":"FunctionDefinition","src":"300635:1622:21","nodes":[],"body":{"id":36499,"nodeType":"Block","src":"300710:1547:21","nodes":[],"statements":[{"assignments":[36466],"declarations":[{"constant":false,"id":36466,"mutability":"mutable","name":"m0","nameLocation":"300728:2:21","nodeType":"VariableDeclaration","scope":36499,"src":"300720:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300720:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36467,"nodeType":"VariableDeclarationStatement","src":"300720:10:21"},{"assignments":[36469],"declarations":[{"constant":false,"id":36469,"mutability":"mutable","name":"m1","nameLocation":"300748:2:21","nodeType":"VariableDeclaration","scope":36499,"src":"300740:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300740:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36470,"nodeType":"VariableDeclarationStatement","src":"300740:10:21"},{"assignments":[36472],"declarations":[{"constant":false,"id":36472,"mutability":"mutable","name":"m2","nameLocation":"300768:2:21","nodeType":"VariableDeclaration","scope":36499,"src":"300760:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300760:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36473,"nodeType":"VariableDeclarationStatement","src":"300760:10:21"},{"assignments":[36475],"declarations":[{"constant":false,"id":36475,"mutability":"mutable","name":"m3","nameLocation":"300788:2:21","nodeType":"VariableDeclaration","scope":36499,"src":"300780:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300780:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36476,"nodeType":"VariableDeclarationStatement","src":"300780:10:21"},{"assignments":[36478],"declarations":[{"constant":false,"id":36478,"mutability":"mutable","name":"m4","nameLocation":"300808:2:21","nodeType":"VariableDeclaration","scope":36499,"src":"300800:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300800:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36479,"nodeType":"VariableDeclarationStatement","src":"300800:10:21"},{"assignments":[36481],"declarations":[{"constant":false,"id":36481,"mutability":"mutable","name":"m5","nameLocation":"300828:2:21","nodeType":"VariableDeclaration","scope":36499,"src":"300820:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300820:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36482,"nodeType":"VariableDeclarationStatement","src":"300820:10:21"},{"assignments":[36484],"declarations":[{"constant":false,"id":36484,"mutability":"mutable","name":"m6","nameLocation":"300848:2:21","nodeType":"VariableDeclaration","scope":36499,"src":"300840:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36483,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300840:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36485,"nodeType":"VariableDeclarationStatement","src":"300840:10:21"},{"assignments":[36487],"declarations":[{"constant":false,"id":36487,"mutability":"mutable","name":"m7","nameLocation":"300868:2:21","nodeType":"VariableDeclaration","scope":36499,"src":"300860:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36486,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300860:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36488,"nodeType":"VariableDeclarationStatement","src":"300860:10:21"},{"assignments":[36490],"declarations":[{"constant":false,"id":36490,"mutability":"mutable","name":"m8","nameLocation":"300888:2:21","nodeType":"VariableDeclaration","scope":36499,"src":"300880:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300880:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36491,"nodeType":"VariableDeclarationStatement","src":"300880:10:21"},{"AST":{"nativeSrc":"300952:927:21","nodeType":"YulBlock","src":"300952:927:21","statements":[{"body":{"nativeSrc":"300995:313:21","nodeType":"YulBlock","src":"300995:313:21","statements":[{"nativeSrc":"301013:15:21","nodeType":"YulVariableDeclaration","src":"301013:15:21","value":{"kind":"number","nativeSrc":"301027:1:21","nodeType":"YulLiteral","src":"301027:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"301017:6:21","nodeType":"YulTypedName","src":"301017:6:21","type":""}]},{"body":{"nativeSrc":"301098:40:21","nodeType":"YulBlock","src":"301098:40:21","statements":[{"body":{"nativeSrc":"301127:9:21","nodeType":"YulBlock","src":"301127:9:21","statements":[{"nativeSrc":"301129:5:21","nodeType":"YulBreak","src":"301129:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"301115:6:21","nodeType":"YulIdentifier","src":"301115:6:21"},{"name":"w","nativeSrc":"301123:1:21","nodeType":"YulIdentifier","src":"301123:1:21"}],"functionName":{"name":"byte","nativeSrc":"301110:4:21","nodeType":"YulIdentifier","src":"301110:4:21"},"nativeSrc":"301110:15:21","nodeType":"YulFunctionCall","src":"301110:15:21"}],"functionName":{"name":"iszero","nativeSrc":"301103:6:21","nodeType":"YulIdentifier","src":"301103:6:21"},"nativeSrc":"301103:23:21","nodeType":"YulFunctionCall","src":"301103:23:21"},"nativeSrc":"301100:36:21","nodeType":"YulIf","src":"301100:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"301055:6:21","nodeType":"YulIdentifier","src":"301055:6:21"},{"kind":"number","nativeSrc":"301063:4:21","nodeType":"YulLiteral","src":"301063:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"301052:2:21","nodeType":"YulIdentifier","src":"301052:2:21"},"nativeSrc":"301052:16:21","nodeType":"YulFunctionCall","src":"301052:16:21"},"nativeSrc":"301045:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"301069:28:21","nodeType":"YulBlock","src":"301069:28:21","statements":[{"nativeSrc":"301071:24:21","nodeType":"YulAssignment","src":"301071:24:21","value":{"arguments":[{"name":"length","nativeSrc":"301085:6:21","nodeType":"YulIdentifier","src":"301085:6:21"},{"kind":"number","nativeSrc":"301093:1:21","nodeType":"YulLiteral","src":"301093:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"301081:3:21","nodeType":"YulIdentifier","src":"301081:3:21"},"nativeSrc":"301081:14:21","nodeType":"YulFunctionCall","src":"301081:14:21"},"variableNames":[{"name":"length","nativeSrc":"301071:6:21","nodeType":"YulIdentifier","src":"301071:6:21"}]}]},"pre":{"nativeSrc":"301049:2:21","nodeType":"YulBlock","src":"301049:2:21","statements":[]},"src":"301045:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"301162:3:21","nodeType":"YulIdentifier","src":"301162:3:21"},{"name":"length","nativeSrc":"301167:6:21","nodeType":"YulIdentifier","src":"301167:6:21"}],"functionName":{"name":"mstore","nativeSrc":"301155:6:21","nodeType":"YulIdentifier","src":"301155:6:21"},"nativeSrc":"301155:19:21","nodeType":"YulFunctionCall","src":"301155:19:21"},"nativeSrc":"301155:19:21","nodeType":"YulExpressionStatement","src":"301155:19:21"},{"nativeSrc":"301191:37:21","nodeType":"YulVariableDeclaration","src":"301191:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"301208:3:21","nodeType":"YulLiteral","src":"301208:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"301217:1:21","nodeType":"YulLiteral","src":"301217:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"301220:6:21","nodeType":"YulIdentifier","src":"301220:6:21"}],"functionName":{"name":"shl","nativeSrc":"301213:3:21","nodeType":"YulIdentifier","src":"301213:3:21"},"nativeSrc":"301213:14:21","nodeType":"YulFunctionCall","src":"301213:14:21"}],"functionName":{"name":"sub","nativeSrc":"301204:3:21","nodeType":"YulIdentifier","src":"301204:3:21"},"nativeSrc":"301204:24:21","nodeType":"YulFunctionCall","src":"301204:24:21"},"variables":[{"name":"shift","nativeSrc":"301195:5:21","nodeType":"YulTypedName","src":"301195:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"301256:3:21","nodeType":"YulIdentifier","src":"301256:3:21"},{"kind":"number","nativeSrc":"301261:4:21","nodeType":"YulLiteral","src":"301261:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"301252:3:21","nodeType":"YulIdentifier","src":"301252:3:21"},"nativeSrc":"301252:14:21","nodeType":"YulFunctionCall","src":"301252:14:21"},{"arguments":[{"name":"shift","nativeSrc":"301272:5:21","nodeType":"YulIdentifier","src":"301272:5:21"},{"arguments":[{"name":"shift","nativeSrc":"301283:5:21","nodeType":"YulIdentifier","src":"301283:5:21"},{"name":"w","nativeSrc":"301290:1:21","nodeType":"YulIdentifier","src":"301290:1:21"}],"functionName":{"name":"shr","nativeSrc":"301279:3:21","nodeType":"YulIdentifier","src":"301279:3:21"},"nativeSrc":"301279:13:21","nodeType":"YulFunctionCall","src":"301279:13:21"}],"functionName":{"name":"shl","nativeSrc":"301268:3:21","nodeType":"YulIdentifier","src":"301268:3:21"},"nativeSrc":"301268:25:21","nodeType":"YulFunctionCall","src":"301268:25:21"}],"functionName":{"name":"mstore","nativeSrc":"301245:6:21","nodeType":"YulIdentifier","src":"301245:6:21"},"nativeSrc":"301245:49:21","nodeType":"YulFunctionCall","src":"301245:49:21"},"nativeSrc":"301245:49:21","nodeType":"YulExpressionStatement","src":"301245:49:21"}]},"name":"writeString","nativeSrc":"300966:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"300987:3:21","nodeType":"YulTypedName","src":"300987:3:21","type":""},{"name":"w","nativeSrc":"300992:1:21","nodeType":"YulTypedName","src":"300992:1:21","type":""}],"src":"300966:342:21"},{"nativeSrc":"301321:17:21","nodeType":"YulAssignment","src":"301321:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"301333:4:21","nodeType":"YulLiteral","src":"301333:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"301327:5:21","nodeType":"YulIdentifier","src":"301327:5:21"},"nativeSrc":"301327:11:21","nodeType":"YulFunctionCall","src":"301327:11:21"},"variableNames":[{"name":"m0","nativeSrc":"301321:2:21","nodeType":"YulIdentifier","src":"301321:2:21"}]},{"nativeSrc":"301351:17:21","nodeType":"YulAssignment","src":"301351:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"301363:4:21","nodeType":"YulLiteral","src":"301363:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"301357:5:21","nodeType":"YulIdentifier","src":"301357:5:21"},"nativeSrc":"301357:11:21","nodeType":"YulFunctionCall","src":"301357:11:21"},"variableNames":[{"name":"m1","nativeSrc":"301351:2:21","nodeType":"YulIdentifier","src":"301351:2:21"}]},{"nativeSrc":"301381:17:21","nodeType":"YulAssignment","src":"301381:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"301393:4:21","nodeType":"YulLiteral","src":"301393:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"301387:5:21","nodeType":"YulIdentifier","src":"301387:5:21"},"nativeSrc":"301387:11:21","nodeType":"YulFunctionCall","src":"301387:11:21"},"variableNames":[{"name":"m2","nativeSrc":"301381:2:21","nodeType":"YulIdentifier","src":"301381:2:21"}]},{"nativeSrc":"301411:17:21","nodeType":"YulAssignment","src":"301411:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"301423:4:21","nodeType":"YulLiteral","src":"301423:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"301417:5:21","nodeType":"YulIdentifier","src":"301417:5:21"},"nativeSrc":"301417:11:21","nodeType":"YulFunctionCall","src":"301417:11:21"},"variableNames":[{"name":"m3","nativeSrc":"301411:2:21","nodeType":"YulIdentifier","src":"301411:2:21"}]},{"nativeSrc":"301441:17:21","nodeType":"YulAssignment","src":"301441:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"301453:4:21","nodeType":"YulLiteral","src":"301453:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"301447:5:21","nodeType":"YulIdentifier","src":"301447:5:21"},"nativeSrc":"301447:11:21","nodeType":"YulFunctionCall","src":"301447:11:21"},"variableNames":[{"name":"m4","nativeSrc":"301441:2:21","nodeType":"YulIdentifier","src":"301441:2:21"}]},{"nativeSrc":"301471:17:21","nodeType":"YulAssignment","src":"301471:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"301483:4:21","nodeType":"YulLiteral","src":"301483:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"301477:5:21","nodeType":"YulIdentifier","src":"301477:5:21"},"nativeSrc":"301477:11:21","nodeType":"YulFunctionCall","src":"301477:11:21"},"variableNames":[{"name":"m5","nativeSrc":"301471:2:21","nodeType":"YulIdentifier","src":"301471:2:21"}]},{"nativeSrc":"301501:17:21","nodeType":"YulAssignment","src":"301501:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"301513:4:21","nodeType":"YulLiteral","src":"301513:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"301507:5:21","nodeType":"YulIdentifier","src":"301507:5:21"},"nativeSrc":"301507:11:21","nodeType":"YulFunctionCall","src":"301507:11:21"},"variableNames":[{"name":"m6","nativeSrc":"301501:2:21","nodeType":"YulIdentifier","src":"301501:2:21"}]},{"nativeSrc":"301531:17:21","nodeType":"YulAssignment","src":"301531:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"301543:4:21","nodeType":"YulLiteral","src":"301543:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"301537:5:21","nodeType":"YulIdentifier","src":"301537:5:21"},"nativeSrc":"301537:11:21","nodeType":"YulFunctionCall","src":"301537:11:21"},"variableNames":[{"name":"m7","nativeSrc":"301531:2:21","nodeType":"YulIdentifier","src":"301531:2:21"}]},{"nativeSrc":"301561:18:21","nodeType":"YulAssignment","src":"301561:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"301573:5:21","nodeType":"YulLiteral","src":"301573:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"301567:5:21","nodeType":"YulIdentifier","src":"301567:5:21"},"nativeSrc":"301567:12:21","nodeType":"YulFunctionCall","src":"301567:12:21"},"variableNames":[{"name":"m8","nativeSrc":"301561:2:21","nodeType":"YulIdentifier","src":"301561:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301664:4:21","nodeType":"YulLiteral","src":"301664:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"301670:10:21","nodeType":"YulLiteral","src":"301670:10:21","type":"","value":"0x27d8afd2"}],"functionName":{"name":"mstore","nativeSrc":"301657:6:21","nodeType":"YulIdentifier","src":"301657:6:21"},"nativeSrc":"301657:24:21","nodeType":"YulFunctionCall","src":"301657:24:21"},"nativeSrc":"301657:24:21","nodeType":"YulExpressionStatement","src":"301657:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301701:4:21","nodeType":"YulLiteral","src":"301701:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"301707:2:21","nodeType":"YulIdentifier","src":"301707:2:21"}],"functionName":{"name":"mstore","nativeSrc":"301694:6:21","nodeType":"YulIdentifier","src":"301694:6:21"},"nativeSrc":"301694:16:21","nodeType":"YulFunctionCall","src":"301694:16:21"},"nativeSrc":"301694:16:21","nodeType":"YulExpressionStatement","src":"301694:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301730:4:21","nodeType":"YulLiteral","src":"301730:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"301736:2:21","nodeType":"YulIdentifier","src":"301736:2:21"}],"functionName":{"name":"mstore","nativeSrc":"301723:6:21","nodeType":"YulIdentifier","src":"301723:6:21"},"nativeSrc":"301723:16:21","nodeType":"YulFunctionCall","src":"301723:16:21"},"nativeSrc":"301723:16:21","nodeType":"YulExpressionStatement","src":"301723:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301759:4:21","nodeType":"YulLiteral","src":"301759:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"301765:4:21","nodeType":"YulLiteral","src":"301765:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"301752:6:21","nodeType":"YulIdentifier","src":"301752:6:21"},"nativeSrc":"301752:18:21","nodeType":"YulFunctionCall","src":"301752:18:21"},"nativeSrc":"301752:18:21","nodeType":"YulExpressionStatement","src":"301752:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301790:4:21","nodeType":"YulLiteral","src":"301790:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"301796:4:21","nodeType":"YulLiteral","src":"301796:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"301783:6:21","nodeType":"YulIdentifier","src":"301783:6:21"},"nativeSrc":"301783:18:21","nodeType":"YulFunctionCall","src":"301783:18:21"},"nativeSrc":"301783:18:21","nodeType":"YulExpressionStatement","src":"301783:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301826:4:21","nodeType":"YulLiteral","src":"301826:4:21","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"301832:2:21","nodeType":"YulIdentifier","src":"301832:2:21"}],"functionName":{"name":"writeString","nativeSrc":"301814:11:21","nodeType":"YulIdentifier","src":"301814:11:21"},"nativeSrc":"301814:21:21","nodeType":"YulFunctionCall","src":"301814:21:21"},"nativeSrc":"301814:21:21","nodeType":"YulExpressionStatement","src":"301814:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301860:4:21","nodeType":"YulLiteral","src":"301860:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"301866:2:21","nodeType":"YulIdentifier","src":"301866:2:21"}],"functionName":{"name":"writeString","nativeSrc":"301848:11:21","nodeType":"YulIdentifier","src":"301848:11:21"},"nativeSrc":"301848:21:21","nodeType":"YulFunctionCall","src":"301848:21:21"},"nativeSrc":"301848:21:21","nodeType":"YulExpressionStatement","src":"301848:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36466,"isOffset":false,"isSlot":false,"src":"301321:2:21","valueSize":1},{"declaration":36469,"isOffset":false,"isSlot":false,"src":"301351:2:21","valueSize":1},{"declaration":36472,"isOffset":false,"isSlot":false,"src":"301381:2:21","valueSize":1},{"declaration":36475,"isOffset":false,"isSlot":false,"src":"301411:2:21","valueSize":1},{"declaration":36478,"isOffset":false,"isSlot":false,"src":"301441:2:21","valueSize":1},{"declaration":36481,"isOffset":false,"isSlot":false,"src":"301471:2:21","valueSize":1},{"declaration":36484,"isOffset":false,"isSlot":false,"src":"301501:2:21","valueSize":1},{"declaration":36487,"isOffset":false,"isSlot":false,"src":"301531:2:21","valueSize":1},{"declaration":36490,"isOffset":false,"isSlot":false,"src":"301561:2:21","valueSize":1},{"declaration":36456,"isOffset":false,"isSlot":false,"src":"301707:2:21","valueSize":1},{"declaration":36458,"isOffset":false,"isSlot":false,"src":"301736:2:21","valueSize":1},{"declaration":36460,"isOffset":false,"isSlot":false,"src":"301832:2:21","valueSize":1},{"declaration":36462,"isOffset":false,"isSlot":false,"src":"301866:2:21","valueSize":1}],"id":36492,"nodeType":"InlineAssembly","src":"300943:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"301904:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"301910:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36493,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"301888:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301888:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36497,"nodeType":"ExpressionStatement","src":"301888:28:21"},{"AST":{"nativeSrc":"301978:273:21","nodeType":"YulBlock","src":"301978:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"301999:4:21","nodeType":"YulLiteral","src":"301999:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"302005:2:21","nodeType":"YulIdentifier","src":"302005:2:21"}],"functionName":{"name":"mstore","nativeSrc":"301992:6:21","nodeType":"YulIdentifier","src":"301992:6:21"},"nativeSrc":"301992:16:21","nodeType":"YulFunctionCall","src":"301992:16:21"},"nativeSrc":"301992:16:21","nodeType":"YulExpressionStatement","src":"301992:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302028:4:21","nodeType":"YulLiteral","src":"302028:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"302034:2:21","nodeType":"YulIdentifier","src":"302034:2:21"}],"functionName":{"name":"mstore","nativeSrc":"302021:6:21","nodeType":"YulIdentifier","src":"302021:6:21"},"nativeSrc":"302021:16:21","nodeType":"YulFunctionCall","src":"302021:16:21"},"nativeSrc":"302021:16:21","nodeType":"YulExpressionStatement","src":"302021:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302057:4:21","nodeType":"YulLiteral","src":"302057:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"302063:2:21","nodeType":"YulIdentifier","src":"302063:2:21"}],"functionName":{"name":"mstore","nativeSrc":"302050:6:21","nodeType":"YulIdentifier","src":"302050:6:21"},"nativeSrc":"302050:16:21","nodeType":"YulFunctionCall","src":"302050:16:21"},"nativeSrc":"302050:16:21","nodeType":"YulExpressionStatement","src":"302050:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302086:4:21","nodeType":"YulLiteral","src":"302086:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"302092:2:21","nodeType":"YulIdentifier","src":"302092:2:21"}],"functionName":{"name":"mstore","nativeSrc":"302079:6:21","nodeType":"YulIdentifier","src":"302079:6:21"},"nativeSrc":"302079:16:21","nodeType":"YulFunctionCall","src":"302079:16:21"},"nativeSrc":"302079:16:21","nodeType":"YulExpressionStatement","src":"302079:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302115:4:21","nodeType":"YulLiteral","src":"302115:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"302121:2:21","nodeType":"YulIdentifier","src":"302121:2:21"}],"functionName":{"name":"mstore","nativeSrc":"302108:6:21","nodeType":"YulIdentifier","src":"302108:6:21"},"nativeSrc":"302108:16:21","nodeType":"YulFunctionCall","src":"302108:16:21"},"nativeSrc":"302108:16:21","nodeType":"YulExpressionStatement","src":"302108:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302144:4:21","nodeType":"YulLiteral","src":"302144:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"302150:2:21","nodeType":"YulIdentifier","src":"302150:2:21"}],"functionName":{"name":"mstore","nativeSrc":"302137:6:21","nodeType":"YulIdentifier","src":"302137:6:21"},"nativeSrc":"302137:16:21","nodeType":"YulFunctionCall","src":"302137:16:21"},"nativeSrc":"302137:16:21","nodeType":"YulExpressionStatement","src":"302137:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302173:4:21","nodeType":"YulLiteral","src":"302173:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"302179:2:21","nodeType":"YulIdentifier","src":"302179:2:21"}],"functionName":{"name":"mstore","nativeSrc":"302166:6:21","nodeType":"YulIdentifier","src":"302166:6:21"},"nativeSrc":"302166:16:21","nodeType":"YulFunctionCall","src":"302166:16:21"},"nativeSrc":"302166:16:21","nodeType":"YulExpressionStatement","src":"302166:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302202:4:21","nodeType":"YulLiteral","src":"302202:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"302208:2:21","nodeType":"YulIdentifier","src":"302208:2:21"}],"functionName":{"name":"mstore","nativeSrc":"302195:6:21","nodeType":"YulIdentifier","src":"302195:6:21"},"nativeSrc":"302195:16:21","nodeType":"YulFunctionCall","src":"302195:16:21"},"nativeSrc":"302195:16:21","nodeType":"YulExpressionStatement","src":"302195:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302231:5:21","nodeType":"YulLiteral","src":"302231:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"302238:2:21","nodeType":"YulIdentifier","src":"302238:2:21"}],"functionName":{"name":"mstore","nativeSrc":"302224:6:21","nodeType":"YulIdentifier","src":"302224:6:21"},"nativeSrc":"302224:17:21","nodeType":"YulFunctionCall","src":"302224:17:21"},"nativeSrc":"302224:17:21","nodeType":"YulExpressionStatement","src":"302224:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36466,"isOffset":false,"isSlot":false,"src":"302005:2:21","valueSize":1},{"declaration":36469,"isOffset":false,"isSlot":false,"src":"302034:2:21","valueSize":1},{"declaration":36472,"isOffset":false,"isSlot":false,"src":"302063:2:21","valueSize":1},{"declaration":36475,"isOffset":false,"isSlot":false,"src":"302092:2:21","valueSize":1},{"declaration":36478,"isOffset":false,"isSlot":false,"src":"302121:2:21","valueSize":1},{"declaration":36481,"isOffset":false,"isSlot":false,"src":"302150:2:21","valueSize":1},{"declaration":36484,"isOffset":false,"isSlot":false,"src":"302179:2:21","valueSize":1},{"declaration":36487,"isOffset":false,"isSlot":false,"src":"302208:2:21","valueSize":1},{"declaration":36490,"isOffset":false,"isSlot":false,"src":"302238:2:21","valueSize":1}],"id":36498,"nodeType":"InlineAssembly","src":"301969:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"300644:3:21","parameters":{"id":36463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36456,"mutability":"mutable","name":"p0","nameLocation":"300656:2:21","nodeType":"VariableDeclaration","scope":36500,"src":"300648:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36455,"name":"uint256","nodeType":"ElementaryTypeName","src":"300648:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36458,"mutability":"mutable","name":"p1","nameLocation":"300668:2:21","nodeType":"VariableDeclaration","scope":36500,"src":"300660:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36457,"name":"uint256","nodeType":"ElementaryTypeName","src":"300660:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36460,"mutability":"mutable","name":"p2","nameLocation":"300680:2:21","nodeType":"VariableDeclaration","scope":36500,"src":"300672:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300672:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36462,"mutability":"mutable","name":"p3","nameLocation":"300692:2:21","nodeType":"VariableDeclaration","scope":36500,"src":"300684:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300684:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"300647:48:21"},"returnParameters":{"id":36464,"nodeType":"ParameterList","parameters":[],"src":"300710:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36540,"nodeType":"FunctionDefinition","src":"302263:1426:21","nodes":[],"body":{"id":36539,"nodeType":"Block","src":"302338:1351:21","nodes":[],"statements":[{"assignments":[36512],"declarations":[{"constant":false,"id":36512,"mutability":"mutable","name":"m0","nameLocation":"302356:2:21","nodeType":"VariableDeclaration","scope":36539,"src":"302348:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302348:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36513,"nodeType":"VariableDeclarationStatement","src":"302348:10:21"},{"assignments":[36515],"declarations":[{"constant":false,"id":36515,"mutability":"mutable","name":"m1","nameLocation":"302376:2:21","nodeType":"VariableDeclaration","scope":36539,"src":"302368:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302368:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36516,"nodeType":"VariableDeclarationStatement","src":"302368:10:21"},{"assignments":[36518],"declarations":[{"constant":false,"id":36518,"mutability":"mutable","name":"m2","nameLocation":"302396:2:21","nodeType":"VariableDeclaration","scope":36539,"src":"302388:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302388:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36519,"nodeType":"VariableDeclarationStatement","src":"302388:10:21"},{"assignments":[36521],"declarations":[{"constant":false,"id":36521,"mutability":"mutable","name":"m3","nameLocation":"302416:2:21","nodeType":"VariableDeclaration","scope":36539,"src":"302408:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36520,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302408:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36522,"nodeType":"VariableDeclarationStatement","src":"302408:10:21"},{"assignments":[36524],"declarations":[{"constant":false,"id":36524,"mutability":"mutable","name":"m4","nameLocation":"302436:2:21","nodeType":"VariableDeclaration","scope":36539,"src":"302428:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302428:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36525,"nodeType":"VariableDeclarationStatement","src":"302428:10:21"},{"assignments":[36527],"declarations":[{"constant":false,"id":36527,"mutability":"mutable","name":"m5","nameLocation":"302456:2:21","nodeType":"VariableDeclaration","scope":36539,"src":"302448:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36526,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302448:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36528,"nodeType":"VariableDeclarationStatement","src":"302448:10:21"},{"assignments":[36530],"declarations":[{"constant":false,"id":36530,"mutability":"mutable","name":"m6","nameLocation":"302476:2:21","nodeType":"VariableDeclaration","scope":36539,"src":"302468:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302468:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36531,"nodeType":"VariableDeclarationStatement","src":"302468:10:21"},{"AST":{"nativeSrc":"302540:831:21","nodeType":"YulBlock","src":"302540:831:21","statements":[{"body":{"nativeSrc":"302583:313:21","nodeType":"YulBlock","src":"302583:313:21","statements":[{"nativeSrc":"302601:15:21","nodeType":"YulVariableDeclaration","src":"302601:15:21","value":{"kind":"number","nativeSrc":"302615:1:21","nodeType":"YulLiteral","src":"302615:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"302605:6:21","nodeType":"YulTypedName","src":"302605:6:21","type":""}]},{"body":{"nativeSrc":"302686:40:21","nodeType":"YulBlock","src":"302686:40:21","statements":[{"body":{"nativeSrc":"302715:9:21","nodeType":"YulBlock","src":"302715:9:21","statements":[{"nativeSrc":"302717:5:21","nodeType":"YulBreak","src":"302717:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"302703:6:21","nodeType":"YulIdentifier","src":"302703:6:21"},{"name":"w","nativeSrc":"302711:1:21","nodeType":"YulIdentifier","src":"302711:1:21"}],"functionName":{"name":"byte","nativeSrc":"302698:4:21","nodeType":"YulIdentifier","src":"302698:4:21"},"nativeSrc":"302698:15:21","nodeType":"YulFunctionCall","src":"302698:15:21"}],"functionName":{"name":"iszero","nativeSrc":"302691:6:21","nodeType":"YulIdentifier","src":"302691:6:21"},"nativeSrc":"302691:23:21","nodeType":"YulFunctionCall","src":"302691:23:21"},"nativeSrc":"302688:36:21","nodeType":"YulIf","src":"302688:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"302643:6:21","nodeType":"YulIdentifier","src":"302643:6:21"},{"kind":"number","nativeSrc":"302651:4:21","nodeType":"YulLiteral","src":"302651:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"302640:2:21","nodeType":"YulIdentifier","src":"302640:2:21"},"nativeSrc":"302640:16:21","nodeType":"YulFunctionCall","src":"302640:16:21"},"nativeSrc":"302633:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"302657:28:21","nodeType":"YulBlock","src":"302657:28:21","statements":[{"nativeSrc":"302659:24:21","nodeType":"YulAssignment","src":"302659:24:21","value":{"arguments":[{"name":"length","nativeSrc":"302673:6:21","nodeType":"YulIdentifier","src":"302673:6:21"},{"kind":"number","nativeSrc":"302681:1:21","nodeType":"YulLiteral","src":"302681:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"302669:3:21","nodeType":"YulIdentifier","src":"302669:3:21"},"nativeSrc":"302669:14:21","nodeType":"YulFunctionCall","src":"302669:14:21"},"variableNames":[{"name":"length","nativeSrc":"302659:6:21","nodeType":"YulIdentifier","src":"302659:6:21"}]}]},"pre":{"nativeSrc":"302637:2:21","nodeType":"YulBlock","src":"302637:2:21","statements":[]},"src":"302633:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"302750:3:21","nodeType":"YulIdentifier","src":"302750:3:21"},{"name":"length","nativeSrc":"302755:6:21","nodeType":"YulIdentifier","src":"302755:6:21"}],"functionName":{"name":"mstore","nativeSrc":"302743:6:21","nodeType":"YulIdentifier","src":"302743:6:21"},"nativeSrc":"302743:19:21","nodeType":"YulFunctionCall","src":"302743:19:21"},"nativeSrc":"302743:19:21","nodeType":"YulExpressionStatement","src":"302743:19:21"},{"nativeSrc":"302779:37:21","nodeType":"YulVariableDeclaration","src":"302779:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"302796:3:21","nodeType":"YulLiteral","src":"302796:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"302805:1:21","nodeType":"YulLiteral","src":"302805:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"302808:6:21","nodeType":"YulIdentifier","src":"302808:6:21"}],"functionName":{"name":"shl","nativeSrc":"302801:3:21","nodeType":"YulIdentifier","src":"302801:3:21"},"nativeSrc":"302801:14:21","nodeType":"YulFunctionCall","src":"302801:14:21"}],"functionName":{"name":"sub","nativeSrc":"302792:3:21","nodeType":"YulIdentifier","src":"302792:3:21"},"nativeSrc":"302792:24:21","nodeType":"YulFunctionCall","src":"302792:24:21"},"variables":[{"name":"shift","nativeSrc":"302783:5:21","nodeType":"YulTypedName","src":"302783:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"302844:3:21","nodeType":"YulIdentifier","src":"302844:3:21"},{"kind":"number","nativeSrc":"302849:4:21","nodeType":"YulLiteral","src":"302849:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"302840:3:21","nodeType":"YulIdentifier","src":"302840:3:21"},"nativeSrc":"302840:14:21","nodeType":"YulFunctionCall","src":"302840:14:21"},{"arguments":[{"name":"shift","nativeSrc":"302860:5:21","nodeType":"YulIdentifier","src":"302860:5:21"},{"arguments":[{"name":"shift","nativeSrc":"302871:5:21","nodeType":"YulIdentifier","src":"302871:5:21"},{"name":"w","nativeSrc":"302878:1:21","nodeType":"YulIdentifier","src":"302878:1:21"}],"functionName":{"name":"shr","nativeSrc":"302867:3:21","nodeType":"YulIdentifier","src":"302867:3:21"},"nativeSrc":"302867:13:21","nodeType":"YulFunctionCall","src":"302867:13:21"}],"functionName":{"name":"shl","nativeSrc":"302856:3:21","nodeType":"YulIdentifier","src":"302856:3:21"},"nativeSrc":"302856:25:21","nodeType":"YulFunctionCall","src":"302856:25:21"}],"functionName":{"name":"mstore","nativeSrc":"302833:6:21","nodeType":"YulIdentifier","src":"302833:6:21"},"nativeSrc":"302833:49:21","nodeType":"YulFunctionCall","src":"302833:49:21"},"nativeSrc":"302833:49:21","nodeType":"YulExpressionStatement","src":"302833:49:21"}]},"name":"writeString","nativeSrc":"302554:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"302575:3:21","nodeType":"YulTypedName","src":"302575:3:21","type":""},{"name":"w","nativeSrc":"302580:1:21","nodeType":"YulTypedName","src":"302580:1:21","type":""}],"src":"302554:342:21"},{"nativeSrc":"302909:17:21","nodeType":"YulAssignment","src":"302909:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"302921:4:21","nodeType":"YulLiteral","src":"302921:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"302915:5:21","nodeType":"YulIdentifier","src":"302915:5:21"},"nativeSrc":"302915:11:21","nodeType":"YulFunctionCall","src":"302915:11:21"},"variableNames":[{"name":"m0","nativeSrc":"302909:2:21","nodeType":"YulIdentifier","src":"302909:2:21"}]},{"nativeSrc":"302939:17:21","nodeType":"YulAssignment","src":"302939:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"302951:4:21","nodeType":"YulLiteral","src":"302951:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"302945:5:21","nodeType":"YulIdentifier","src":"302945:5:21"},"nativeSrc":"302945:11:21","nodeType":"YulFunctionCall","src":"302945:11:21"},"variableNames":[{"name":"m1","nativeSrc":"302939:2:21","nodeType":"YulIdentifier","src":"302939:2:21"}]},{"nativeSrc":"302969:17:21","nodeType":"YulAssignment","src":"302969:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"302981:4:21","nodeType":"YulLiteral","src":"302981:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"302975:5:21","nodeType":"YulIdentifier","src":"302975:5:21"},"nativeSrc":"302975:11:21","nodeType":"YulFunctionCall","src":"302975:11:21"},"variableNames":[{"name":"m2","nativeSrc":"302969:2:21","nodeType":"YulIdentifier","src":"302969:2:21"}]},{"nativeSrc":"302999:17:21","nodeType":"YulAssignment","src":"302999:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"303011:4:21","nodeType":"YulLiteral","src":"303011:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"303005:5:21","nodeType":"YulIdentifier","src":"303005:5:21"},"nativeSrc":"303005:11:21","nodeType":"YulFunctionCall","src":"303005:11:21"},"variableNames":[{"name":"m3","nativeSrc":"302999:2:21","nodeType":"YulIdentifier","src":"302999:2:21"}]},{"nativeSrc":"303029:17:21","nodeType":"YulAssignment","src":"303029:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"303041:4:21","nodeType":"YulLiteral","src":"303041:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"303035:5:21","nodeType":"YulIdentifier","src":"303035:5:21"},"nativeSrc":"303035:11:21","nodeType":"YulFunctionCall","src":"303035:11:21"},"variableNames":[{"name":"m4","nativeSrc":"303029:2:21","nodeType":"YulIdentifier","src":"303029:2:21"}]},{"nativeSrc":"303059:17:21","nodeType":"YulAssignment","src":"303059:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"303071:4:21","nodeType":"YulLiteral","src":"303071:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"303065:5:21","nodeType":"YulIdentifier","src":"303065:5:21"},"nativeSrc":"303065:11:21","nodeType":"YulFunctionCall","src":"303065:11:21"},"variableNames":[{"name":"m5","nativeSrc":"303059:2:21","nodeType":"YulIdentifier","src":"303059:2:21"}]},{"nativeSrc":"303089:17:21","nodeType":"YulAssignment","src":"303089:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"303101:4:21","nodeType":"YulLiteral","src":"303101:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"303095:5:21","nodeType":"YulIdentifier","src":"303095:5:21"},"nativeSrc":"303095:11:21","nodeType":"YulFunctionCall","src":"303095:11:21"},"variableNames":[{"name":"m6","nativeSrc":"303089:2:21","nodeType":"YulIdentifier","src":"303089:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303192:4:21","nodeType":"YulLiteral","src":"303192:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"303198:10:21","nodeType":"YulLiteral","src":"303198:10:21","type":"","value":"0x6168ed61"}],"functionName":{"name":"mstore","nativeSrc":"303185:6:21","nodeType":"YulIdentifier","src":"303185:6:21"},"nativeSrc":"303185:24:21","nodeType":"YulFunctionCall","src":"303185:24:21"},"nativeSrc":"303185:24:21","nodeType":"YulExpressionStatement","src":"303185:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303229:4:21","nodeType":"YulLiteral","src":"303229:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"303235:2:21","nodeType":"YulIdentifier","src":"303235:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303222:6:21","nodeType":"YulIdentifier","src":"303222:6:21"},"nativeSrc":"303222:16:21","nodeType":"YulFunctionCall","src":"303222:16:21"},"nativeSrc":"303222:16:21","nodeType":"YulExpressionStatement","src":"303222:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303258:4:21","nodeType":"YulLiteral","src":"303258:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"303264:4:21","nodeType":"YulLiteral","src":"303264:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"303251:6:21","nodeType":"YulIdentifier","src":"303251:6:21"},"nativeSrc":"303251:18:21","nodeType":"YulFunctionCall","src":"303251:18:21"},"nativeSrc":"303251:18:21","nodeType":"YulExpressionStatement","src":"303251:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303289:4:21","nodeType":"YulLiteral","src":"303289:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"303295:2:21","nodeType":"YulIdentifier","src":"303295:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303282:6:21","nodeType":"YulIdentifier","src":"303282:6:21"},"nativeSrc":"303282:16:21","nodeType":"YulFunctionCall","src":"303282:16:21"},"nativeSrc":"303282:16:21","nodeType":"YulExpressionStatement","src":"303282:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303318:4:21","nodeType":"YulLiteral","src":"303318:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"303324:2:21","nodeType":"YulIdentifier","src":"303324:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303311:6:21","nodeType":"YulIdentifier","src":"303311:6:21"},"nativeSrc":"303311:16:21","nodeType":"YulFunctionCall","src":"303311:16:21"},"nativeSrc":"303311:16:21","nodeType":"YulExpressionStatement","src":"303311:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303352:4:21","nodeType":"YulLiteral","src":"303352:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"303358:2:21","nodeType":"YulIdentifier","src":"303358:2:21"}],"functionName":{"name":"writeString","nativeSrc":"303340:11:21","nodeType":"YulIdentifier","src":"303340:11:21"},"nativeSrc":"303340:21:21","nodeType":"YulFunctionCall","src":"303340:21:21"},"nativeSrc":"303340:21:21","nodeType":"YulExpressionStatement","src":"303340:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36512,"isOffset":false,"isSlot":false,"src":"302909:2:21","valueSize":1},{"declaration":36515,"isOffset":false,"isSlot":false,"src":"302939:2:21","valueSize":1},{"declaration":36518,"isOffset":false,"isSlot":false,"src":"302969:2:21","valueSize":1},{"declaration":36521,"isOffset":false,"isSlot":false,"src":"302999:2:21","valueSize":1},{"declaration":36524,"isOffset":false,"isSlot":false,"src":"303029:2:21","valueSize":1},{"declaration":36527,"isOffset":false,"isSlot":false,"src":"303059:2:21","valueSize":1},{"declaration":36530,"isOffset":false,"isSlot":false,"src":"303089:2:21","valueSize":1},{"declaration":36502,"isOffset":false,"isSlot":false,"src":"303235:2:21","valueSize":1},{"declaration":36504,"isOffset":false,"isSlot":false,"src":"303358:2:21","valueSize":1},{"declaration":36506,"isOffset":false,"isSlot":false,"src":"303295:2:21","valueSize":1},{"declaration":36508,"isOffset":false,"isSlot":false,"src":"303324:2:21","valueSize":1}],"id":36532,"nodeType":"InlineAssembly","src":"302531:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"303396:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"303402:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36533,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"303380:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"303380:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36537,"nodeType":"ExpressionStatement","src":"303380:27:21"},{"AST":{"nativeSrc":"303469:214:21","nodeType":"YulBlock","src":"303469:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"303490:4:21","nodeType":"YulLiteral","src":"303490:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"303496:2:21","nodeType":"YulIdentifier","src":"303496:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303483:6:21","nodeType":"YulIdentifier","src":"303483:6:21"},"nativeSrc":"303483:16:21","nodeType":"YulFunctionCall","src":"303483:16:21"},"nativeSrc":"303483:16:21","nodeType":"YulExpressionStatement","src":"303483:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303519:4:21","nodeType":"YulLiteral","src":"303519:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"303525:2:21","nodeType":"YulIdentifier","src":"303525:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303512:6:21","nodeType":"YulIdentifier","src":"303512:6:21"},"nativeSrc":"303512:16:21","nodeType":"YulFunctionCall","src":"303512:16:21"},"nativeSrc":"303512:16:21","nodeType":"YulExpressionStatement","src":"303512:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303548:4:21","nodeType":"YulLiteral","src":"303548:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"303554:2:21","nodeType":"YulIdentifier","src":"303554:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303541:6:21","nodeType":"YulIdentifier","src":"303541:6:21"},"nativeSrc":"303541:16:21","nodeType":"YulFunctionCall","src":"303541:16:21"},"nativeSrc":"303541:16:21","nodeType":"YulExpressionStatement","src":"303541:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303577:4:21","nodeType":"YulLiteral","src":"303577:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"303583:2:21","nodeType":"YulIdentifier","src":"303583:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303570:6:21","nodeType":"YulIdentifier","src":"303570:6:21"},"nativeSrc":"303570:16:21","nodeType":"YulFunctionCall","src":"303570:16:21"},"nativeSrc":"303570:16:21","nodeType":"YulExpressionStatement","src":"303570:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303606:4:21","nodeType":"YulLiteral","src":"303606:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"303612:2:21","nodeType":"YulIdentifier","src":"303612:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303599:6:21","nodeType":"YulIdentifier","src":"303599:6:21"},"nativeSrc":"303599:16:21","nodeType":"YulFunctionCall","src":"303599:16:21"},"nativeSrc":"303599:16:21","nodeType":"YulExpressionStatement","src":"303599:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303635:4:21","nodeType":"YulLiteral","src":"303635:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"303641:2:21","nodeType":"YulIdentifier","src":"303641:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303628:6:21","nodeType":"YulIdentifier","src":"303628:6:21"},"nativeSrc":"303628:16:21","nodeType":"YulFunctionCall","src":"303628:16:21"},"nativeSrc":"303628:16:21","nodeType":"YulExpressionStatement","src":"303628:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303664:4:21","nodeType":"YulLiteral","src":"303664:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"303670:2:21","nodeType":"YulIdentifier","src":"303670:2:21"}],"functionName":{"name":"mstore","nativeSrc":"303657:6:21","nodeType":"YulIdentifier","src":"303657:6:21"},"nativeSrc":"303657:16:21","nodeType":"YulFunctionCall","src":"303657:16:21"},"nativeSrc":"303657:16:21","nodeType":"YulExpressionStatement","src":"303657:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36512,"isOffset":false,"isSlot":false,"src":"303496:2:21","valueSize":1},{"declaration":36515,"isOffset":false,"isSlot":false,"src":"303525:2:21","valueSize":1},{"declaration":36518,"isOffset":false,"isSlot":false,"src":"303554:2:21","valueSize":1},{"declaration":36521,"isOffset":false,"isSlot":false,"src":"303583:2:21","valueSize":1},{"declaration":36524,"isOffset":false,"isSlot":false,"src":"303612:2:21","valueSize":1},{"declaration":36527,"isOffset":false,"isSlot":false,"src":"303641:2:21","valueSize":1},{"declaration":36530,"isOffset":false,"isSlot":false,"src":"303670:2:21","valueSize":1}],"id":36538,"nodeType":"InlineAssembly","src":"303460:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"302272:3:21","parameters":{"id":36509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36502,"mutability":"mutable","name":"p0","nameLocation":"302284:2:21","nodeType":"VariableDeclaration","scope":36540,"src":"302276:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36501,"name":"uint256","nodeType":"ElementaryTypeName","src":"302276:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36504,"mutability":"mutable","name":"p1","nameLocation":"302296:2:21","nodeType":"VariableDeclaration","scope":36540,"src":"302288:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302288:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36506,"mutability":"mutable","name":"p2","nameLocation":"302308:2:21","nodeType":"VariableDeclaration","scope":36540,"src":"302300:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36505,"name":"address","nodeType":"ElementaryTypeName","src":"302300:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36508,"mutability":"mutable","name":"p3","nameLocation":"302320:2:21","nodeType":"VariableDeclaration","scope":36540,"src":"302312:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36507,"name":"address","nodeType":"ElementaryTypeName","src":"302312:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"302275:48:21"},"returnParameters":{"id":36510,"nodeType":"ParameterList","parameters":[],"src":"302338:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36580,"nodeType":"FunctionDefinition","src":"303695:1420:21","nodes":[],"body":{"id":36579,"nodeType":"Block","src":"303767:1348:21","nodes":[],"statements":[{"assignments":[36552],"declarations":[{"constant":false,"id":36552,"mutability":"mutable","name":"m0","nameLocation":"303785:2:21","nodeType":"VariableDeclaration","scope":36579,"src":"303777:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303777:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36553,"nodeType":"VariableDeclarationStatement","src":"303777:10:21"},{"assignments":[36555],"declarations":[{"constant":false,"id":36555,"mutability":"mutable","name":"m1","nameLocation":"303805:2:21","nodeType":"VariableDeclaration","scope":36579,"src":"303797:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303797:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36556,"nodeType":"VariableDeclarationStatement","src":"303797:10:21"},{"assignments":[36558],"declarations":[{"constant":false,"id":36558,"mutability":"mutable","name":"m2","nameLocation":"303825:2:21","nodeType":"VariableDeclaration","scope":36579,"src":"303817:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303817:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36559,"nodeType":"VariableDeclarationStatement","src":"303817:10:21"},{"assignments":[36561],"declarations":[{"constant":false,"id":36561,"mutability":"mutable","name":"m3","nameLocation":"303845:2:21","nodeType":"VariableDeclaration","scope":36579,"src":"303837:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303837:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36562,"nodeType":"VariableDeclarationStatement","src":"303837:10:21"},{"assignments":[36564],"declarations":[{"constant":false,"id":36564,"mutability":"mutable","name":"m4","nameLocation":"303865:2:21","nodeType":"VariableDeclaration","scope":36579,"src":"303857:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303857:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36565,"nodeType":"VariableDeclarationStatement","src":"303857:10:21"},{"assignments":[36567],"declarations":[{"constant":false,"id":36567,"mutability":"mutable","name":"m5","nameLocation":"303885:2:21","nodeType":"VariableDeclaration","scope":36579,"src":"303877:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303877:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36568,"nodeType":"VariableDeclarationStatement","src":"303877:10:21"},{"assignments":[36570],"declarations":[{"constant":false,"id":36570,"mutability":"mutable","name":"m6","nameLocation":"303905:2:21","nodeType":"VariableDeclaration","scope":36579,"src":"303897:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303897:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36571,"nodeType":"VariableDeclarationStatement","src":"303897:10:21"},{"AST":{"nativeSrc":"303969:828:21","nodeType":"YulBlock","src":"303969:828:21","statements":[{"body":{"nativeSrc":"304012:313:21","nodeType":"YulBlock","src":"304012:313:21","statements":[{"nativeSrc":"304030:15:21","nodeType":"YulVariableDeclaration","src":"304030:15:21","value":{"kind":"number","nativeSrc":"304044:1:21","nodeType":"YulLiteral","src":"304044:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"304034:6:21","nodeType":"YulTypedName","src":"304034:6:21","type":""}]},{"body":{"nativeSrc":"304115:40:21","nodeType":"YulBlock","src":"304115:40:21","statements":[{"body":{"nativeSrc":"304144:9:21","nodeType":"YulBlock","src":"304144:9:21","statements":[{"nativeSrc":"304146:5:21","nodeType":"YulBreak","src":"304146:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"304132:6:21","nodeType":"YulIdentifier","src":"304132:6:21"},{"name":"w","nativeSrc":"304140:1:21","nodeType":"YulIdentifier","src":"304140:1:21"}],"functionName":{"name":"byte","nativeSrc":"304127:4:21","nodeType":"YulIdentifier","src":"304127:4:21"},"nativeSrc":"304127:15:21","nodeType":"YulFunctionCall","src":"304127:15:21"}],"functionName":{"name":"iszero","nativeSrc":"304120:6:21","nodeType":"YulIdentifier","src":"304120:6:21"},"nativeSrc":"304120:23:21","nodeType":"YulFunctionCall","src":"304120:23:21"},"nativeSrc":"304117:36:21","nodeType":"YulIf","src":"304117:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"304072:6:21","nodeType":"YulIdentifier","src":"304072:6:21"},{"kind":"number","nativeSrc":"304080:4:21","nodeType":"YulLiteral","src":"304080:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"304069:2:21","nodeType":"YulIdentifier","src":"304069:2:21"},"nativeSrc":"304069:16:21","nodeType":"YulFunctionCall","src":"304069:16:21"},"nativeSrc":"304062:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"304086:28:21","nodeType":"YulBlock","src":"304086:28:21","statements":[{"nativeSrc":"304088:24:21","nodeType":"YulAssignment","src":"304088:24:21","value":{"arguments":[{"name":"length","nativeSrc":"304102:6:21","nodeType":"YulIdentifier","src":"304102:6:21"},{"kind":"number","nativeSrc":"304110:1:21","nodeType":"YulLiteral","src":"304110:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"304098:3:21","nodeType":"YulIdentifier","src":"304098:3:21"},"nativeSrc":"304098:14:21","nodeType":"YulFunctionCall","src":"304098:14:21"},"variableNames":[{"name":"length","nativeSrc":"304088:6:21","nodeType":"YulIdentifier","src":"304088:6:21"}]}]},"pre":{"nativeSrc":"304066:2:21","nodeType":"YulBlock","src":"304066:2:21","statements":[]},"src":"304062:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"304179:3:21","nodeType":"YulIdentifier","src":"304179:3:21"},{"name":"length","nativeSrc":"304184:6:21","nodeType":"YulIdentifier","src":"304184:6:21"}],"functionName":{"name":"mstore","nativeSrc":"304172:6:21","nodeType":"YulIdentifier","src":"304172:6:21"},"nativeSrc":"304172:19:21","nodeType":"YulFunctionCall","src":"304172:19:21"},"nativeSrc":"304172:19:21","nodeType":"YulExpressionStatement","src":"304172:19:21"},{"nativeSrc":"304208:37:21","nodeType":"YulVariableDeclaration","src":"304208:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"304225:3:21","nodeType":"YulLiteral","src":"304225:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"304234:1:21","nodeType":"YulLiteral","src":"304234:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"304237:6:21","nodeType":"YulIdentifier","src":"304237:6:21"}],"functionName":{"name":"shl","nativeSrc":"304230:3:21","nodeType":"YulIdentifier","src":"304230:3:21"},"nativeSrc":"304230:14:21","nodeType":"YulFunctionCall","src":"304230:14:21"}],"functionName":{"name":"sub","nativeSrc":"304221:3:21","nodeType":"YulIdentifier","src":"304221:3:21"},"nativeSrc":"304221:24:21","nodeType":"YulFunctionCall","src":"304221:24:21"},"variables":[{"name":"shift","nativeSrc":"304212:5:21","nodeType":"YulTypedName","src":"304212:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"304273:3:21","nodeType":"YulIdentifier","src":"304273:3:21"},{"kind":"number","nativeSrc":"304278:4:21","nodeType":"YulLiteral","src":"304278:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"304269:3:21","nodeType":"YulIdentifier","src":"304269:3:21"},"nativeSrc":"304269:14:21","nodeType":"YulFunctionCall","src":"304269:14:21"},{"arguments":[{"name":"shift","nativeSrc":"304289:5:21","nodeType":"YulIdentifier","src":"304289:5:21"},{"arguments":[{"name":"shift","nativeSrc":"304300:5:21","nodeType":"YulIdentifier","src":"304300:5:21"},{"name":"w","nativeSrc":"304307:1:21","nodeType":"YulIdentifier","src":"304307:1:21"}],"functionName":{"name":"shr","nativeSrc":"304296:3:21","nodeType":"YulIdentifier","src":"304296:3:21"},"nativeSrc":"304296:13:21","nodeType":"YulFunctionCall","src":"304296:13:21"}],"functionName":{"name":"shl","nativeSrc":"304285:3:21","nodeType":"YulIdentifier","src":"304285:3:21"},"nativeSrc":"304285:25:21","nodeType":"YulFunctionCall","src":"304285:25:21"}],"functionName":{"name":"mstore","nativeSrc":"304262:6:21","nodeType":"YulIdentifier","src":"304262:6:21"},"nativeSrc":"304262:49:21","nodeType":"YulFunctionCall","src":"304262:49:21"},"nativeSrc":"304262:49:21","nodeType":"YulExpressionStatement","src":"304262:49:21"}]},"name":"writeString","nativeSrc":"303983:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"304004:3:21","nodeType":"YulTypedName","src":"304004:3:21","type":""},{"name":"w","nativeSrc":"304009:1:21","nodeType":"YulTypedName","src":"304009:1:21","type":""}],"src":"303983:342:21"},{"nativeSrc":"304338:17:21","nodeType":"YulAssignment","src":"304338:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"304350:4:21","nodeType":"YulLiteral","src":"304350:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"304344:5:21","nodeType":"YulIdentifier","src":"304344:5:21"},"nativeSrc":"304344:11:21","nodeType":"YulFunctionCall","src":"304344:11:21"},"variableNames":[{"name":"m0","nativeSrc":"304338:2:21","nodeType":"YulIdentifier","src":"304338:2:21"}]},{"nativeSrc":"304368:17:21","nodeType":"YulAssignment","src":"304368:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"304380:4:21","nodeType":"YulLiteral","src":"304380:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"304374:5:21","nodeType":"YulIdentifier","src":"304374:5:21"},"nativeSrc":"304374:11:21","nodeType":"YulFunctionCall","src":"304374:11:21"},"variableNames":[{"name":"m1","nativeSrc":"304368:2:21","nodeType":"YulIdentifier","src":"304368:2:21"}]},{"nativeSrc":"304398:17:21","nodeType":"YulAssignment","src":"304398:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"304410:4:21","nodeType":"YulLiteral","src":"304410:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"304404:5:21","nodeType":"YulIdentifier","src":"304404:5:21"},"nativeSrc":"304404:11:21","nodeType":"YulFunctionCall","src":"304404:11:21"},"variableNames":[{"name":"m2","nativeSrc":"304398:2:21","nodeType":"YulIdentifier","src":"304398:2:21"}]},{"nativeSrc":"304428:17:21","nodeType":"YulAssignment","src":"304428:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"304440:4:21","nodeType":"YulLiteral","src":"304440:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"304434:5:21","nodeType":"YulIdentifier","src":"304434:5:21"},"nativeSrc":"304434:11:21","nodeType":"YulFunctionCall","src":"304434:11:21"},"variableNames":[{"name":"m3","nativeSrc":"304428:2:21","nodeType":"YulIdentifier","src":"304428:2:21"}]},{"nativeSrc":"304458:17:21","nodeType":"YulAssignment","src":"304458:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"304470:4:21","nodeType":"YulLiteral","src":"304470:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"304464:5:21","nodeType":"YulIdentifier","src":"304464:5:21"},"nativeSrc":"304464:11:21","nodeType":"YulFunctionCall","src":"304464:11:21"},"variableNames":[{"name":"m4","nativeSrc":"304458:2:21","nodeType":"YulIdentifier","src":"304458:2:21"}]},{"nativeSrc":"304488:17:21","nodeType":"YulAssignment","src":"304488:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"304500:4:21","nodeType":"YulLiteral","src":"304500:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"304494:5:21","nodeType":"YulIdentifier","src":"304494:5:21"},"nativeSrc":"304494:11:21","nodeType":"YulFunctionCall","src":"304494:11:21"},"variableNames":[{"name":"m5","nativeSrc":"304488:2:21","nodeType":"YulIdentifier","src":"304488:2:21"}]},{"nativeSrc":"304518:17:21","nodeType":"YulAssignment","src":"304518:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"304530:4:21","nodeType":"YulLiteral","src":"304530:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"304524:5:21","nodeType":"YulIdentifier","src":"304524:5:21"},"nativeSrc":"304524:11:21","nodeType":"YulFunctionCall","src":"304524:11:21"},"variableNames":[{"name":"m6","nativeSrc":"304518:2:21","nodeType":"YulIdentifier","src":"304518:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304618:4:21","nodeType":"YulLiteral","src":"304618:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"304624:10:21","nodeType":"YulLiteral","src":"304624:10:21","type":"","value":"0x90c30a56"}],"functionName":{"name":"mstore","nativeSrc":"304611:6:21","nodeType":"YulIdentifier","src":"304611:6:21"},"nativeSrc":"304611:24:21","nodeType":"YulFunctionCall","src":"304611:24:21"},"nativeSrc":"304611:24:21","nodeType":"YulExpressionStatement","src":"304611:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304655:4:21","nodeType":"YulLiteral","src":"304655:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"304661:2:21","nodeType":"YulIdentifier","src":"304661:2:21"}],"functionName":{"name":"mstore","nativeSrc":"304648:6:21","nodeType":"YulIdentifier","src":"304648:6:21"},"nativeSrc":"304648:16:21","nodeType":"YulFunctionCall","src":"304648:16:21"},"nativeSrc":"304648:16:21","nodeType":"YulExpressionStatement","src":"304648:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304684:4:21","nodeType":"YulLiteral","src":"304684:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"304690:4:21","nodeType":"YulLiteral","src":"304690:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"304677:6:21","nodeType":"YulIdentifier","src":"304677:6:21"},"nativeSrc":"304677:18:21","nodeType":"YulFunctionCall","src":"304677:18:21"},"nativeSrc":"304677:18:21","nodeType":"YulExpressionStatement","src":"304677:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304715:4:21","nodeType":"YulLiteral","src":"304715:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"304721:2:21","nodeType":"YulIdentifier","src":"304721:2:21"}],"functionName":{"name":"mstore","nativeSrc":"304708:6:21","nodeType":"YulIdentifier","src":"304708:6:21"},"nativeSrc":"304708:16:21","nodeType":"YulFunctionCall","src":"304708:16:21"},"nativeSrc":"304708:16:21","nodeType":"YulExpressionStatement","src":"304708:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304744:4:21","nodeType":"YulLiteral","src":"304744:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"304750:2:21","nodeType":"YulIdentifier","src":"304750:2:21"}],"functionName":{"name":"mstore","nativeSrc":"304737:6:21","nodeType":"YulIdentifier","src":"304737:6:21"},"nativeSrc":"304737:16:21","nodeType":"YulFunctionCall","src":"304737:16:21"},"nativeSrc":"304737:16:21","nodeType":"YulExpressionStatement","src":"304737:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304778:4:21","nodeType":"YulLiteral","src":"304778:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"304784:2:21","nodeType":"YulIdentifier","src":"304784:2:21"}],"functionName":{"name":"writeString","nativeSrc":"304766:11:21","nodeType":"YulIdentifier","src":"304766:11:21"},"nativeSrc":"304766:21:21","nodeType":"YulFunctionCall","src":"304766:21:21"},"nativeSrc":"304766:21:21","nodeType":"YulExpressionStatement","src":"304766:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36552,"isOffset":false,"isSlot":false,"src":"304338:2:21","valueSize":1},{"declaration":36555,"isOffset":false,"isSlot":false,"src":"304368:2:21","valueSize":1},{"declaration":36558,"isOffset":false,"isSlot":false,"src":"304398:2:21","valueSize":1},{"declaration":36561,"isOffset":false,"isSlot":false,"src":"304428:2:21","valueSize":1},{"declaration":36564,"isOffset":false,"isSlot":false,"src":"304458:2:21","valueSize":1},{"declaration":36567,"isOffset":false,"isSlot":false,"src":"304488:2:21","valueSize":1},{"declaration":36570,"isOffset":false,"isSlot":false,"src":"304518:2:21","valueSize":1},{"declaration":36542,"isOffset":false,"isSlot":false,"src":"304661:2:21","valueSize":1},{"declaration":36544,"isOffset":false,"isSlot":false,"src":"304784:2:21","valueSize":1},{"declaration":36546,"isOffset":false,"isSlot":false,"src":"304721:2:21","valueSize":1},{"declaration":36548,"isOffset":false,"isSlot":false,"src":"304750:2:21","valueSize":1}],"id":36572,"nodeType":"InlineAssembly","src":"303960:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"304822:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"304828:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36573,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"304806:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"304806:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36577,"nodeType":"ExpressionStatement","src":"304806:27:21"},{"AST":{"nativeSrc":"304895:214:21","nodeType":"YulBlock","src":"304895:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"304916:4:21","nodeType":"YulLiteral","src":"304916:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"304922:2:21","nodeType":"YulIdentifier","src":"304922:2:21"}],"functionName":{"name":"mstore","nativeSrc":"304909:6:21","nodeType":"YulIdentifier","src":"304909:6:21"},"nativeSrc":"304909:16:21","nodeType":"YulFunctionCall","src":"304909:16:21"},"nativeSrc":"304909:16:21","nodeType":"YulExpressionStatement","src":"304909:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304945:4:21","nodeType":"YulLiteral","src":"304945:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"304951:2:21","nodeType":"YulIdentifier","src":"304951:2:21"}],"functionName":{"name":"mstore","nativeSrc":"304938:6:21","nodeType":"YulIdentifier","src":"304938:6:21"},"nativeSrc":"304938:16:21","nodeType":"YulFunctionCall","src":"304938:16:21"},"nativeSrc":"304938:16:21","nodeType":"YulExpressionStatement","src":"304938:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304974:4:21","nodeType":"YulLiteral","src":"304974:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"304980:2:21","nodeType":"YulIdentifier","src":"304980:2:21"}],"functionName":{"name":"mstore","nativeSrc":"304967:6:21","nodeType":"YulIdentifier","src":"304967:6:21"},"nativeSrc":"304967:16:21","nodeType":"YulFunctionCall","src":"304967:16:21"},"nativeSrc":"304967:16:21","nodeType":"YulExpressionStatement","src":"304967:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305003:4:21","nodeType":"YulLiteral","src":"305003:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"305009:2:21","nodeType":"YulIdentifier","src":"305009:2:21"}],"functionName":{"name":"mstore","nativeSrc":"304996:6:21","nodeType":"YulIdentifier","src":"304996:6:21"},"nativeSrc":"304996:16:21","nodeType":"YulFunctionCall","src":"304996:16:21"},"nativeSrc":"304996:16:21","nodeType":"YulExpressionStatement","src":"304996:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305032:4:21","nodeType":"YulLiteral","src":"305032:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"305038:2:21","nodeType":"YulIdentifier","src":"305038:2:21"}],"functionName":{"name":"mstore","nativeSrc":"305025:6:21","nodeType":"YulIdentifier","src":"305025:6:21"},"nativeSrc":"305025:16:21","nodeType":"YulFunctionCall","src":"305025:16:21"},"nativeSrc":"305025:16:21","nodeType":"YulExpressionStatement","src":"305025:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305061:4:21","nodeType":"YulLiteral","src":"305061:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"305067:2:21","nodeType":"YulIdentifier","src":"305067:2:21"}],"functionName":{"name":"mstore","nativeSrc":"305054:6:21","nodeType":"YulIdentifier","src":"305054:6:21"},"nativeSrc":"305054:16:21","nodeType":"YulFunctionCall","src":"305054:16:21"},"nativeSrc":"305054:16:21","nodeType":"YulExpressionStatement","src":"305054:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305090:4:21","nodeType":"YulLiteral","src":"305090:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"305096:2:21","nodeType":"YulIdentifier","src":"305096:2:21"}],"functionName":{"name":"mstore","nativeSrc":"305083:6:21","nodeType":"YulIdentifier","src":"305083:6:21"},"nativeSrc":"305083:16:21","nodeType":"YulFunctionCall","src":"305083:16:21"},"nativeSrc":"305083:16:21","nodeType":"YulExpressionStatement","src":"305083:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36552,"isOffset":false,"isSlot":false,"src":"304922:2:21","valueSize":1},{"declaration":36555,"isOffset":false,"isSlot":false,"src":"304951:2:21","valueSize":1},{"declaration":36558,"isOffset":false,"isSlot":false,"src":"304980:2:21","valueSize":1},{"declaration":36561,"isOffset":false,"isSlot":false,"src":"305009:2:21","valueSize":1},{"declaration":36564,"isOffset":false,"isSlot":false,"src":"305038:2:21","valueSize":1},{"declaration":36567,"isOffset":false,"isSlot":false,"src":"305067:2:21","valueSize":1},{"declaration":36570,"isOffset":false,"isSlot":false,"src":"305096:2:21","valueSize":1}],"id":36578,"nodeType":"InlineAssembly","src":"304886:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"303704:3:21","parameters":{"id":36549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36542,"mutability":"mutable","name":"p0","nameLocation":"303716:2:21","nodeType":"VariableDeclaration","scope":36580,"src":"303708:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36541,"name":"uint256","nodeType":"ElementaryTypeName","src":"303708:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36544,"mutability":"mutable","name":"p1","nameLocation":"303728:2:21","nodeType":"VariableDeclaration","scope":36580,"src":"303720:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36543,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303720:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36546,"mutability":"mutable","name":"p2","nameLocation":"303740:2:21","nodeType":"VariableDeclaration","scope":36580,"src":"303732:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36545,"name":"address","nodeType":"ElementaryTypeName","src":"303732:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36548,"mutability":"mutable","name":"p3","nameLocation":"303749:2:21","nodeType":"VariableDeclaration","scope":36580,"src":"303744:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36547,"name":"bool","nodeType":"ElementaryTypeName","src":"303744:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"303707:45:21"},"returnParameters":{"id":36550,"nodeType":"ParameterList","parameters":[],"src":"303767:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36620,"nodeType":"FunctionDefinition","src":"305121:1426:21","nodes":[],"body":{"id":36619,"nodeType":"Block","src":"305196:1351:21","nodes":[],"statements":[{"assignments":[36592],"declarations":[{"constant":false,"id":36592,"mutability":"mutable","name":"m0","nameLocation":"305214:2:21","nodeType":"VariableDeclaration","scope":36619,"src":"305206:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305206:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36593,"nodeType":"VariableDeclarationStatement","src":"305206:10:21"},{"assignments":[36595],"declarations":[{"constant":false,"id":36595,"mutability":"mutable","name":"m1","nameLocation":"305234:2:21","nodeType":"VariableDeclaration","scope":36619,"src":"305226:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305226:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36596,"nodeType":"VariableDeclarationStatement","src":"305226:10:21"},{"assignments":[36598],"declarations":[{"constant":false,"id":36598,"mutability":"mutable","name":"m2","nameLocation":"305254:2:21","nodeType":"VariableDeclaration","scope":36619,"src":"305246:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305246:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36599,"nodeType":"VariableDeclarationStatement","src":"305246:10:21"},{"assignments":[36601],"declarations":[{"constant":false,"id":36601,"mutability":"mutable","name":"m3","nameLocation":"305274:2:21","nodeType":"VariableDeclaration","scope":36619,"src":"305266:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305266:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36602,"nodeType":"VariableDeclarationStatement","src":"305266:10:21"},{"assignments":[36604],"declarations":[{"constant":false,"id":36604,"mutability":"mutable","name":"m4","nameLocation":"305294:2:21","nodeType":"VariableDeclaration","scope":36619,"src":"305286:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305286:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36605,"nodeType":"VariableDeclarationStatement","src":"305286:10:21"},{"assignments":[36607],"declarations":[{"constant":false,"id":36607,"mutability":"mutable","name":"m5","nameLocation":"305314:2:21","nodeType":"VariableDeclaration","scope":36619,"src":"305306:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305306:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36608,"nodeType":"VariableDeclarationStatement","src":"305306:10:21"},{"assignments":[36610],"declarations":[{"constant":false,"id":36610,"mutability":"mutable","name":"m6","nameLocation":"305334:2:21","nodeType":"VariableDeclaration","scope":36619,"src":"305326:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305326:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36611,"nodeType":"VariableDeclarationStatement","src":"305326:10:21"},{"AST":{"nativeSrc":"305398:831:21","nodeType":"YulBlock","src":"305398:831:21","statements":[{"body":{"nativeSrc":"305441:313:21","nodeType":"YulBlock","src":"305441:313:21","statements":[{"nativeSrc":"305459:15:21","nodeType":"YulVariableDeclaration","src":"305459:15:21","value":{"kind":"number","nativeSrc":"305473:1:21","nodeType":"YulLiteral","src":"305473:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"305463:6:21","nodeType":"YulTypedName","src":"305463:6:21","type":""}]},{"body":{"nativeSrc":"305544:40:21","nodeType":"YulBlock","src":"305544:40:21","statements":[{"body":{"nativeSrc":"305573:9:21","nodeType":"YulBlock","src":"305573:9:21","statements":[{"nativeSrc":"305575:5:21","nodeType":"YulBreak","src":"305575:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"305561:6:21","nodeType":"YulIdentifier","src":"305561:6:21"},{"name":"w","nativeSrc":"305569:1:21","nodeType":"YulIdentifier","src":"305569:1:21"}],"functionName":{"name":"byte","nativeSrc":"305556:4:21","nodeType":"YulIdentifier","src":"305556:4:21"},"nativeSrc":"305556:15:21","nodeType":"YulFunctionCall","src":"305556:15:21"}],"functionName":{"name":"iszero","nativeSrc":"305549:6:21","nodeType":"YulIdentifier","src":"305549:6:21"},"nativeSrc":"305549:23:21","nodeType":"YulFunctionCall","src":"305549:23:21"},"nativeSrc":"305546:36:21","nodeType":"YulIf","src":"305546:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"305501:6:21","nodeType":"YulIdentifier","src":"305501:6:21"},{"kind":"number","nativeSrc":"305509:4:21","nodeType":"YulLiteral","src":"305509:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"305498:2:21","nodeType":"YulIdentifier","src":"305498:2:21"},"nativeSrc":"305498:16:21","nodeType":"YulFunctionCall","src":"305498:16:21"},"nativeSrc":"305491:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"305515:28:21","nodeType":"YulBlock","src":"305515:28:21","statements":[{"nativeSrc":"305517:24:21","nodeType":"YulAssignment","src":"305517:24:21","value":{"arguments":[{"name":"length","nativeSrc":"305531:6:21","nodeType":"YulIdentifier","src":"305531:6:21"},{"kind":"number","nativeSrc":"305539:1:21","nodeType":"YulLiteral","src":"305539:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"305527:3:21","nodeType":"YulIdentifier","src":"305527:3:21"},"nativeSrc":"305527:14:21","nodeType":"YulFunctionCall","src":"305527:14:21"},"variableNames":[{"name":"length","nativeSrc":"305517:6:21","nodeType":"YulIdentifier","src":"305517:6:21"}]}]},"pre":{"nativeSrc":"305495:2:21","nodeType":"YulBlock","src":"305495:2:21","statements":[]},"src":"305491:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"305608:3:21","nodeType":"YulIdentifier","src":"305608:3:21"},{"name":"length","nativeSrc":"305613:6:21","nodeType":"YulIdentifier","src":"305613:6:21"}],"functionName":{"name":"mstore","nativeSrc":"305601:6:21","nodeType":"YulIdentifier","src":"305601:6:21"},"nativeSrc":"305601:19:21","nodeType":"YulFunctionCall","src":"305601:19:21"},"nativeSrc":"305601:19:21","nodeType":"YulExpressionStatement","src":"305601:19:21"},{"nativeSrc":"305637:37:21","nodeType":"YulVariableDeclaration","src":"305637:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"305654:3:21","nodeType":"YulLiteral","src":"305654:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"305663:1:21","nodeType":"YulLiteral","src":"305663:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"305666:6:21","nodeType":"YulIdentifier","src":"305666:6:21"}],"functionName":{"name":"shl","nativeSrc":"305659:3:21","nodeType":"YulIdentifier","src":"305659:3:21"},"nativeSrc":"305659:14:21","nodeType":"YulFunctionCall","src":"305659:14:21"}],"functionName":{"name":"sub","nativeSrc":"305650:3:21","nodeType":"YulIdentifier","src":"305650:3:21"},"nativeSrc":"305650:24:21","nodeType":"YulFunctionCall","src":"305650:24:21"},"variables":[{"name":"shift","nativeSrc":"305641:5:21","nodeType":"YulTypedName","src":"305641:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"305702:3:21","nodeType":"YulIdentifier","src":"305702:3:21"},{"kind":"number","nativeSrc":"305707:4:21","nodeType":"YulLiteral","src":"305707:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"305698:3:21","nodeType":"YulIdentifier","src":"305698:3:21"},"nativeSrc":"305698:14:21","nodeType":"YulFunctionCall","src":"305698:14:21"},{"arguments":[{"name":"shift","nativeSrc":"305718:5:21","nodeType":"YulIdentifier","src":"305718:5:21"},{"arguments":[{"name":"shift","nativeSrc":"305729:5:21","nodeType":"YulIdentifier","src":"305729:5:21"},{"name":"w","nativeSrc":"305736:1:21","nodeType":"YulIdentifier","src":"305736:1:21"}],"functionName":{"name":"shr","nativeSrc":"305725:3:21","nodeType":"YulIdentifier","src":"305725:3:21"},"nativeSrc":"305725:13:21","nodeType":"YulFunctionCall","src":"305725:13:21"}],"functionName":{"name":"shl","nativeSrc":"305714:3:21","nodeType":"YulIdentifier","src":"305714:3:21"},"nativeSrc":"305714:25:21","nodeType":"YulFunctionCall","src":"305714:25:21"}],"functionName":{"name":"mstore","nativeSrc":"305691:6:21","nodeType":"YulIdentifier","src":"305691:6:21"},"nativeSrc":"305691:49:21","nodeType":"YulFunctionCall","src":"305691:49:21"},"nativeSrc":"305691:49:21","nodeType":"YulExpressionStatement","src":"305691:49:21"}]},"name":"writeString","nativeSrc":"305412:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"305433:3:21","nodeType":"YulTypedName","src":"305433:3:21","type":""},{"name":"w","nativeSrc":"305438:1:21","nodeType":"YulTypedName","src":"305438:1:21","type":""}],"src":"305412:342:21"},{"nativeSrc":"305767:17:21","nodeType":"YulAssignment","src":"305767:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"305779:4:21","nodeType":"YulLiteral","src":"305779:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"305773:5:21","nodeType":"YulIdentifier","src":"305773:5:21"},"nativeSrc":"305773:11:21","nodeType":"YulFunctionCall","src":"305773:11:21"},"variableNames":[{"name":"m0","nativeSrc":"305767:2:21","nodeType":"YulIdentifier","src":"305767:2:21"}]},{"nativeSrc":"305797:17:21","nodeType":"YulAssignment","src":"305797:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"305809:4:21","nodeType":"YulLiteral","src":"305809:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"305803:5:21","nodeType":"YulIdentifier","src":"305803:5:21"},"nativeSrc":"305803:11:21","nodeType":"YulFunctionCall","src":"305803:11:21"},"variableNames":[{"name":"m1","nativeSrc":"305797:2:21","nodeType":"YulIdentifier","src":"305797:2:21"}]},{"nativeSrc":"305827:17:21","nodeType":"YulAssignment","src":"305827:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"305839:4:21","nodeType":"YulLiteral","src":"305839:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"305833:5:21","nodeType":"YulIdentifier","src":"305833:5:21"},"nativeSrc":"305833:11:21","nodeType":"YulFunctionCall","src":"305833:11:21"},"variableNames":[{"name":"m2","nativeSrc":"305827:2:21","nodeType":"YulIdentifier","src":"305827:2:21"}]},{"nativeSrc":"305857:17:21","nodeType":"YulAssignment","src":"305857:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"305869:4:21","nodeType":"YulLiteral","src":"305869:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"305863:5:21","nodeType":"YulIdentifier","src":"305863:5:21"},"nativeSrc":"305863:11:21","nodeType":"YulFunctionCall","src":"305863:11:21"},"variableNames":[{"name":"m3","nativeSrc":"305857:2:21","nodeType":"YulIdentifier","src":"305857:2:21"}]},{"nativeSrc":"305887:17:21","nodeType":"YulAssignment","src":"305887:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"305899:4:21","nodeType":"YulLiteral","src":"305899:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"305893:5:21","nodeType":"YulIdentifier","src":"305893:5:21"},"nativeSrc":"305893:11:21","nodeType":"YulFunctionCall","src":"305893:11:21"},"variableNames":[{"name":"m4","nativeSrc":"305887:2:21","nodeType":"YulIdentifier","src":"305887:2:21"}]},{"nativeSrc":"305917:17:21","nodeType":"YulAssignment","src":"305917:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"305929:4:21","nodeType":"YulLiteral","src":"305929:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"305923:5:21","nodeType":"YulIdentifier","src":"305923:5:21"},"nativeSrc":"305923:11:21","nodeType":"YulFunctionCall","src":"305923:11:21"},"variableNames":[{"name":"m5","nativeSrc":"305917:2:21","nodeType":"YulIdentifier","src":"305917:2:21"}]},{"nativeSrc":"305947:17:21","nodeType":"YulAssignment","src":"305947:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"305959:4:21","nodeType":"YulLiteral","src":"305959:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"305953:5:21","nodeType":"YulIdentifier","src":"305953:5:21"},"nativeSrc":"305953:11:21","nodeType":"YulFunctionCall","src":"305953:11:21"},"variableNames":[{"name":"m6","nativeSrc":"305947:2:21","nodeType":"YulIdentifier","src":"305947:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306050:4:21","nodeType":"YulLiteral","src":"306050:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"306056:10:21","nodeType":"YulLiteral","src":"306056:10:21","type":"","value":"0xe8d3018d"}],"functionName":{"name":"mstore","nativeSrc":"306043:6:21","nodeType":"YulIdentifier","src":"306043:6:21"},"nativeSrc":"306043:24:21","nodeType":"YulFunctionCall","src":"306043:24:21"},"nativeSrc":"306043:24:21","nodeType":"YulExpressionStatement","src":"306043:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306087:4:21","nodeType":"YulLiteral","src":"306087:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"306093:2:21","nodeType":"YulIdentifier","src":"306093:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306080:6:21","nodeType":"YulIdentifier","src":"306080:6:21"},"nativeSrc":"306080:16:21","nodeType":"YulFunctionCall","src":"306080:16:21"},"nativeSrc":"306080:16:21","nodeType":"YulExpressionStatement","src":"306080:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306116:4:21","nodeType":"YulLiteral","src":"306116:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"306122:4:21","nodeType":"YulLiteral","src":"306122:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"306109:6:21","nodeType":"YulIdentifier","src":"306109:6:21"},"nativeSrc":"306109:18:21","nodeType":"YulFunctionCall","src":"306109:18:21"},"nativeSrc":"306109:18:21","nodeType":"YulExpressionStatement","src":"306109:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306147:4:21","nodeType":"YulLiteral","src":"306147:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"306153:2:21","nodeType":"YulIdentifier","src":"306153:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306140:6:21","nodeType":"YulIdentifier","src":"306140:6:21"},"nativeSrc":"306140:16:21","nodeType":"YulFunctionCall","src":"306140:16:21"},"nativeSrc":"306140:16:21","nodeType":"YulExpressionStatement","src":"306140:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306176:4:21","nodeType":"YulLiteral","src":"306176:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"306182:2:21","nodeType":"YulIdentifier","src":"306182:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306169:6:21","nodeType":"YulIdentifier","src":"306169:6:21"},"nativeSrc":"306169:16:21","nodeType":"YulFunctionCall","src":"306169:16:21"},"nativeSrc":"306169:16:21","nodeType":"YulExpressionStatement","src":"306169:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306210:4:21","nodeType":"YulLiteral","src":"306210:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"306216:2:21","nodeType":"YulIdentifier","src":"306216:2:21"}],"functionName":{"name":"writeString","nativeSrc":"306198:11:21","nodeType":"YulIdentifier","src":"306198:11:21"},"nativeSrc":"306198:21:21","nodeType":"YulFunctionCall","src":"306198:21:21"},"nativeSrc":"306198:21:21","nodeType":"YulExpressionStatement","src":"306198:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36592,"isOffset":false,"isSlot":false,"src":"305767:2:21","valueSize":1},{"declaration":36595,"isOffset":false,"isSlot":false,"src":"305797:2:21","valueSize":1},{"declaration":36598,"isOffset":false,"isSlot":false,"src":"305827:2:21","valueSize":1},{"declaration":36601,"isOffset":false,"isSlot":false,"src":"305857:2:21","valueSize":1},{"declaration":36604,"isOffset":false,"isSlot":false,"src":"305887:2:21","valueSize":1},{"declaration":36607,"isOffset":false,"isSlot":false,"src":"305917:2:21","valueSize":1},{"declaration":36610,"isOffset":false,"isSlot":false,"src":"305947:2:21","valueSize":1},{"declaration":36582,"isOffset":false,"isSlot":false,"src":"306093:2:21","valueSize":1},{"declaration":36584,"isOffset":false,"isSlot":false,"src":"306216:2:21","valueSize":1},{"declaration":36586,"isOffset":false,"isSlot":false,"src":"306153:2:21","valueSize":1},{"declaration":36588,"isOffset":false,"isSlot":false,"src":"306182:2:21","valueSize":1}],"id":36612,"nodeType":"InlineAssembly","src":"305389:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"306254:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"306260:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36613,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"306238:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"306238:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36617,"nodeType":"ExpressionStatement","src":"306238:27:21"},{"AST":{"nativeSrc":"306327:214:21","nodeType":"YulBlock","src":"306327:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"306348:4:21","nodeType":"YulLiteral","src":"306348:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"306354:2:21","nodeType":"YulIdentifier","src":"306354:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306341:6:21","nodeType":"YulIdentifier","src":"306341:6:21"},"nativeSrc":"306341:16:21","nodeType":"YulFunctionCall","src":"306341:16:21"},"nativeSrc":"306341:16:21","nodeType":"YulExpressionStatement","src":"306341:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306377:4:21","nodeType":"YulLiteral","src":"306377:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"306383:2:21","nodeType":"YulIdentifier","src":"306383:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306370:6:21","nodeType":"YulIdentifier","src":"306370:6:21"},"nativeSrc":"306370:16:21","nodeType":"YulFunctionCall","src":"306370:16:21"},"nativeSrc":"306370:16:21","nodeType":"YulExpressionStatement","src":"306370:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306406:4:21","nodeType":"YulLiteral","src":"306406:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"306412:2:21","nodeType":"YulIdentifier","src":"306412:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306399:6:21","nodeType":"YulIdentifier","src":"306399:6:21"},"nativeSrc":"306399:16:21","nodeType":"YulFunctionCall","src":"306399:16:21"},"nativeSrc":"306399:16:21","nodeType":"YulExpressionStatement","src":"306399:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306435:4:21","nodeType":"YulLiteral","src":"306435:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"306441:2:21","nodeType":"YulIdentifier","src":"306441:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306428:6:21","nodeType":"YulIdentifier","src":"306428:6:21"},"nativeSrc":"306428:16:21","nodeType":"YulFunctionCall","src":"306428:16:21"},"nativeSrc":"306428:16:21","nodeType":"YulExpressionStatement","src":"306428:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306464:4:21","nodeType":"YulLiteral","src":"306464:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"306470:2:21","nodeType":"YulIdentifier","src":"306470:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306457:6:21","nodeType":"YulIdentifier","src":"306457:6:21"},"nativeSrc":"306457:16:21","nodeType":"YulFunctionCall","src":"306457:16:21"},"nativeSrc":"306457:16:21","nodeType":"YulExpressionStatement","src":"306457:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306493:4:21","nodeType":"YulLiteral","src":"306493:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"306499:2:21","nodeType":"YulIdentifier","src":"306499:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306486:6:21","nodeType":"YulIdentifier","src":"306486:6:21"},"nativeSrc":"306486:16:21","nodeType":"YulFunctionCall","src":"306486:16:21"},"nativeSrc":"306486:16:21","nodeType":"YulExpressionStatement","src":"306486:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306522:4:21","nodeType":"YulLiteral","src":"306522:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"306528:2:21","nodeType":"YulIdentifier","src":"306528:2:21"}],"functionName":{"name":"mstore","nativeSrc":"306515:6:21","nodeType":"YulIdentifier","src":"306515:6:21"},"nativeSrc":"306515:16:21","nodeType":"YulFunctionCall","src":"306515:16:21"},"nativeSrc":"306515:16:21","nodeType":"YulExpressionStatement","src":"306515:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36592,"isOffset":false,"isSlot":false,"src":"306354:2:21","valueSize":1},{"declaration":36595,"isOffset":false,"isSlot":false,"src":"306383:2:21","valueSize":1},{"declaration":36598,"isOffset":false,"isSlot":false,"src":"306412:2:21","valueSize":1},{"declaration":36601,"isOffset":false,"isSlot":false,"src":"306441:2:21","valueSize":1},{"declaration":36604,"isOffset":false,"isSlot":false,"src":"306470:2:21","valueSize":1},{"declaration":36607,"isOffset":false,"isSlot":false,"src":"306499:2:21","valueSize":1},{"declaration":36610,"isOffset":false,"isSlot":false,"src":"306528:2:21","valueSize":1}],"id":36618,"nodeType":"InlineAssembly","src":"306318:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"305130:3:21","parameters":{"id":36589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36582,"mutability":"mutable","name":"p0","nameLocation":"305142:2:21","nodeType":"VariableDeclaration","scope":36620,"src":"305134:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36581,"name":"uint256","nodeType":"ElementaryTypeName","src":"305134:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36584,"mutability":"mutable","name":"p1","nameLocation":"305154:2:21","nodeType":"VariableDeclaration","scope":36620,"src":"305146:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305146:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36586,"mutability":"mutable","name":"p2","nameLocation":"305166:2:21","nodeType":"VariableDeclaration","scope":36620,"src":"305158:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36585,"name":"address","nodeType":"ElementaryTypeName","src":"305158:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36588,"mutability":"mutable","name":"p3","nameLocation":"305178:2:21","nodeType":"VariableDeclaration","scope":36620,"src":"305170:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36587,"name":"uint256","nodeType":"ElementaryTypeName","src":"305170:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"305133:48:21"},"returnParameters":{"id":36590,"nodeType":"ParameterList","parameters":[],"src":"305196:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36666,"nodeType":"FunctionDefinition","src":"306553:1622:21","nodes":[],"body":{"id":36665,"nodeType":"Block","src":"306628:1547:21","nodes":[],"statements":[{"assignments":[36632],"declarations":[{"constant":false,"id":36632,"mutability":"mutable","name":"m0","nameLocation":"306646:2:21","nodeType":"VariableDeclaration","scope":36665,"src":"306638:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306638:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36633,"nodeType":"VariableDeclarationStatement","src":"306638:10:21"},{"assignments":[36635],"declarations":[{"constant":false,"id":36635,"mutability":"mutable","name":"m1","nameLocation":"306666:2:21","nodeType":"VariableDeclaration","scope":36665,"src":"306658:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306658:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36636,"nodeType":"VariableDeclarationStatement","src":"306658:10:21"},{"assignments":[36638],"declarations":[{"constant":false,"id":36638,"mutability":"mutable","name":"m2","nameLocation":"306686:2:21","nodeType":"VariableDeclaration","scope":36665,"src":"306678:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306678:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36639,"nodeType":"VariableDeclarationStatement","src":"306678:10:21"},{"assignments":[36641],"declarations":[{"constant":false,"id":36641,"mutability":"mutable","name":"m3","nameLocation":"306706:2:21","nodeType":"VariableDeclaration","scope":36665,"src":"306698:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306698:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36642,"nodeType":"VariableDeclarationStatement","src":"306698:10:21"},{"assignments":[36644],"declarations":[{"constant":false,"id":36644,"mutability":"mutable","name":"m4","nameLocation":"306726:2:21","nodeType":"VariableDeclaration","scope":36665,"src":"306718:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306718:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36645,"nodeType":"VariableDeclarationStatement","src":"306718:10:21"},{"assignments":[36647],"declarations":[{"constant":false,"id":36647,"mutability":"mutable","name":"m5","nameLocation":"306746:2:21","nodeType":"VariableDeclaration","scope":36665,"src":"306738:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306738:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36648,"nodeType":"VariableDeclarationStatement","src":"306738:10:21"},{"assignments":[36650],"declarations":[{"constant":false,"id":36650,"mutability":"mutable","name":"m6","nameLocation":"306766:2:21","nodeType":"VariableDeclaration","scope":36665,"src":"306758:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306758:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36651,"nodeType":"VariableDeclarationStatement","src":"306758:10:21"},{"assignments":[36653],"declarations":[{"constant":false,"id":36653,"mutability":"mutable","name":"m7","nameLocation":"306786:2:21","nodeType":"VariableDeclaration","scope":36665,"src":"306778:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306778:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36654,"nodeType":"VariableDeclarationStatement","src":"306778:10:21"},{"assignments":[36656],"declarations":[{"constant":false,"id":36656,"mutability":"mutable","name":"m8","nameLocation":"306806:2:21","nodeType":"VariableDeclaration","scope":36665,"src":"306798:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306798:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36657,"nodeType":"VariableDeclarationStatement","src":"306798:10:21"},{"AST":{"nativeSrc":"306870:927:21","nodeType":"YulBlock","src":"306870:927:21","statements":[{"body":{"nativeSrc":"306913:313:21","nodeType":"YulBlock","src":"306913:313:21","statements":[{"nativeSrc":"306931:15:21","nodeType":"YulVariableDeclaration","src":"306931:15:21","value":{"kind":"number","nativeSrc":"306945:1:21","nodeType":"YulLiteral","src":"306945:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"306935:6:21","nodeType":"YulTypedName","src":"306935:6:21","type":""}]},{"body":{"nativeSrc":"307016:40:21","nodeType":"YulBlock","src":"307016:40:21","statements":[{"body":{"nativeSrc":"307045:9:21","nodeType":"YulBlock","src":"307045:9:21","statements":[{"nativeSrc":"307047:5:21","nodeType":"YulBreak","src":"307047:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"307033:6:21","nodeType":"YulIdentifier","src":"307033:6:21"},{"name":"w","nativeSrc":"307041:1:21","nodeType":"YulIdentifier","src":"307041:1:21"}],"functionName":{"name":"byte","nativeSrc":"307028:4:21","nodeType":"YulIdentifier","src":"307028:4:21"},"nativeSrc":"307028:15:21","nodeType":"YulFunctionCall","src":"307028:15:21"}],"functionName":{"name":"iszero","nativeSrc":"307021:6:21","nodeType":"YulIdentifier","src":"307021:6:21"},"nativeSrc":"307021:23:21","nodeType":"YulFunctionCall","src":"307021:23:21"},"nativeSrc":"307018:36:21","nodeType":"YulIf","src":"307018:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"306973:6:21","nodeType":"YulIdentifier","src":"306973:6:21"},{"kind":"number","nativeSrc":"306981:4:21","nodeType":"YulLiteral","src":"306981:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"306970:2:21","nodeType":"YulIdentifier","src":"306970:2:21"},"nativeSrc":"306970:16:21","nodeType":"YulFunctionCall","src":"306970:16:21"},"nativeSrc":"306963:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"306987:28:21","nodeType":"YulBlock","src":"306987:28:21","statements":[{"nativeSrc":"306989:24:21","nodeType":"YulAssignment","src":"306989:24:21","value":{"arguments":[{"name":"length","nativeSrc":"307003:6:21","nodeType":"YulIdentifier","src":"307003:6:21"},{"kind":"number","nativeSrc":"307011:1:21","nodeType":"YulLiteral","src":"307011:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"306999:3:21","nodeType":"YulIdentifier","src":"306999:3:21"},"nativeSrc":"306999:14:21","nodeType":"YulFunctionCall","src":"306999:14:21"},"variableNames":[{"name":"length","nativeSrc":"306989:6:21","nodeType":"YulIdentifier","src":"306989:6:21"}]}]},"pre":{"nativeSrc":"306967:2:21","nodeType":"YulBlock","src":"306967:2:21","statements":[]},"src":"306963:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"307080:3:21","nodeType":"YulIdentifier","src":"307080:3:21"},{"name":"length","nativeSrc":"307085:6:21","nodeType":"YulIdentifier","src":"307085:6:21"}],"functionName":{"name":"mstore","nativeSrc":"307073:6:21","nodeType":"YulIdentifier","src":"307073:6:21"},"nativeSrc":"307073:19:21","nodeType":"YulFunctionCall","src":"307073:19:21"},"nativeSrc":"307073:19:21","nodeType":"YulExpressionStatement","src":"307073:19:21"},{"nativeSrc":"307109:37:21","nodeType":"YulVariableDeclaration","src":"307109:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"307126:3:21","nodeType":"YulLiteral","src":"307126:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"307135:1:21","nodeType":"YulLiteral","src":"307135:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"307138:6:21","nodeType":"YulIdentifier","src":"307138:6:21"}],"functionName":{"name":"shl","nativeSrc":"307131:3:21","nodeType":"YulIdentifier","src":"307131:3:21"},"nativeSrc":"307131:14:21","nodeType":"YulFunctionCall","src":"307131:14:21"}],"functionName":{"name":"sub","nativeSrc":"307122:3:21","nodeType":"YulIdentifier","src":"307122:3:21"},"nativeSrc":"307122:24:21","nodeType":"YulFunctionCall","src":"307122:24:21"},"variables":[{"name":"shift","nativeSrc":"307113:5:21","nodeType":"YulTypedName","src":"307113:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"307174:3:21","nodeType":"YulIdentifier","src":"307174:3:21"},{"kind":"number","nativeSrc":"307179:4:21","nodeType":"YulLiteral","src":"307179:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"307170:3:21","nodeType":"YulIdentifier","src":"307170:3:21"},"nativeSrc":"307170:14:21","nodeType":"YulFunctionCall","src":"307170:14:21"},{"arguments":[{"name":"shift","nativeSrc":"307190:5:21","nodeType":"YulIdentifier","src":"307190:5:21"},{"arguments":[{"name":"shift","nativeSrc":"307201:5:21","nodeType":"YulIdentifier","src":"307201:5:21"},{"name":"w","nativeSrc":"307208:1:21","nodeType":"YulIdentifier","src":"307208:1:21"}],"functionName":{"name":"shr","nativeSrc":"307197:3:21","nodeType":"YulIdentifier","src":"307197:3:21"},"nativeSrc":"307197:13:21","nodeType":"YulFunctionCall","src":"307197:13:21"}],"functionName":{"name":"shl","nativeSrc":"307186:3:21","nodeType":"YulIdentifier","src":"307186:3:21"},"nativeSrc":"307186:25:21","nodeType":"YulFunctionCall","src":"307186:25:21"}],"functionName":{"name":"mstore","nativeSrc":"307163:6:21","nodeType":"YulIdentifier","src":"307163:6:21"},"nativeSrc":"307163:49:21","nodeType":"YulFunctionCall","src":"307163:49:21"},"nativeSrc":"307163:49:21","nodeType":"YulExpressionStatement","src":"307163:49:21"}]},"name":"writeString","nativeSrc":"306884:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"306905:3:21","nodeType":"YulTypedName","src":"306905:3:21","type":""},{"name":"w","nativeSrc":"306910:1:21","nodeType":"YulTypedName","src":"306910:1:21","type":""}],"src":"306884:342:21"},{"nativeSrc":"307239:17:21","nodeType":"YulAssignment","src":"307239:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"307251:4:21","nodeType":"YulLiteral","src":"307251:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"307245:5:21","nodeType":"YulIdentifier","src":"307245:5:21"},"nativeSrc":"307245:11:21","nodeType":"YulFunctionCall","src":"307245:11:21"},"variableNames":[{"name":"m0","nativeSrc":"307239:2:21","nodeType":"YulIdentifier","src":"307239:2:21"}]},{"nativeSrc":"307269:17:21","nodeType":"YulAssignment","src":"307269:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"307281:4:21","nodeType":"YulLiteral","src":"307281:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"307275:5:21","nodeType":"YulIdentifier","src":"307275:5:21"},"nativeSrc":"307275:11:21","nodeType":"YulFunctionCall","src":"307275:11:21"},"variableNames":[{"name":"m1","nativeSrc":"307269:2:21","nodeType":"YulIdentifier","src":"307269:2:21"}]},{"nativeSrc":"307299:17:21","nodeType":"YulAssignment","src":"307299:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"307311:4:21","nodeType":"YulLiteral","src":"307311:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"307305:5:21","nodeType":"YulIdentifier","src":"307305:5:21"},"nativeSrc":"307305:11:21","nodeType":"YulFunctionCall","src":"307305:11:21"},"variableNames":[{"name":"m2","nativeSrc":"307299:2:21","nodeType":"YulIdentifier","src":"307299:2:21"}]},{"nativeSrc":"307329:17:21","nodeType":"YulAssignment","src":"307329:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"307341:4:21","nodeType":"YulLiteral","src":"307341:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"307335:5:21","nodeType":"YulIdentifier","src":"307335:5:21"},"nativeSrc":"307335:11:21","nodeType":"YulFunctionCall","src":"307335:11:21"},"variableNames":[{"name":"m3","nativeSrc":"307329:2:21","nodeType":"YulIdentifier","src":"307329:2:21"}]},{"nativeSrc":"307359:17:21","nodeType":"YulAssignment","src":"307359:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"307371:4:21","nodeType":"YulLiteral","src":"307371:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"307365:5:21","nodeType":"YulIdentifier","src":"307365:5:21"},"nativeSrc":"307365:11:21","nodeType":"YulFunctionCall","src":"307365:11:21"},"variableNames":[{"name":"m4","nativeSrc":"307359:2:21","nodeType":"YulIdentifier","src":"307359:2:21"}]},{"nativeSrc":"307389:17:21","nodeType":"YulAssignment","src":"307389:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"307401:4:21","nodeType":"YulLiteral","src":"307401:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"307395:5:21","nodeType":"YulIdentifier","src":"307395:5:21"},"nativeSrc":"307395:11:21","nodeType":"YulFunctionCall","src":"307395:11:21"},"variableNames":[{"name":"m5","nativeSrc":"307389:2:21","nodeType":"YulIdentifier","src":"307389:2:21"}]},{"nativeSrc":"307419:17:21","nodeType":"YulAssignment","src":"307419:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"307431:4:21","nodeType":"YulLiteral","src":"307431:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"307425:5:21","nodeType":"YulIdentifier","src":"307425:5:21"},"nativeSrc":"307425:11:21","nodeType":"YulFunctionCall","src":"307425:11:21"},"variableNames":[{"name":"m6","nativeSrc":"307419:2:21","nodeType":"YulIdentifier","src":"307419:2:21"}]},{"nativeSrc":"307449:17:21","nodeType":"YulAssignment","src":"307449:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"307461:4:21","nodeType":"YulLiteral","src":"307461:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"307455:5:21","nodeType":"YulIdentifier","src":"307455:5:21"},"nativeSrc":"307455:11:21","nodeType":"YulFunctionCall","src":"307455:11:21"},"variableNames":[{"name":"m7","nativeSrc":"307449:2:21","nodeType":"YulIdentifier","src":"307449:2:21"}]},{"nativeSrc":"307479:18:21","nodeType":"YulAssignment","src":"307479:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"307491:5:21","nodeType":"YulLiteral","src":"307491:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"307485:5:21","nodeType":"YulIdentifier","src":"307485:5:21"},"nativeSrc":"307485:12:21","nodeType":"YulFunctionCall","src":"307485:12:21"},"variableNames":[{"name":"m8","nativeSrc":"307479:2:21","nodeType":"YulIdentifier","src":"307479:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307582:4:21","nodeType":"YulLiteral","src":"307582:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"307588:10:21","nodeType":"YulLiteral","src":"307588:10:21","type":"","value":"0x9c3adfa1"}],"functionName":{"name":"mstore","nativeSrc":"307575:6:21","nodeType":"YulIdentifier","src":"307575:6:21"},"nativeSrc":"307575:24:21","nodeType":"YulFunctionCall","src":"307575:24:21"},"nativeSrc":"307575:24:21","nodeType":"YulExpressionStatement","src":"307575:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307619:4:21","nodeType":"YulLiteral","src":"307619:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"307625:2:21","nodeType":"YulIdentifier","src":"307625:2:21"}],"functionName":{"name":"mstore","nativeSrc":"307612:6:21","nodeType":"YulIdentifier","src":"307612:6:21"},"nativeSrc":"307612:16:21","nodeType":"YulFunctionCall","src":"307612:16:21"},"nativeSrc":"307612:16:21","nodeType":"YulExpressionStatement","src":"307612:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307648:4:21","nodeType":"YulLiteral","src":"307648:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"307654:4:21","nodeType":"YulLiteral","src":"307654:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"307641:6:21","nodeType":"YulIdentifier","src":"307641:6:21"},"nativeSrc":"307641:18:21","nodeType":"YulFunctionCall","src":"307641:18:21"},"nativeSrc":"307641:18:21","nodeType":"YulExpressionStatement","src":"307641:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307679:4:21","nodeType":"YulLiteral","src":"307679:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"307685:2:21","nodeType":"YulIdentifier","src":"307685:2:21"}],"functionName":{"name":"mstore","nativeSrc":"307672:6:21","nodeType":"YulIdentifier","src":"307672:6:21"},"nativeSrc":"307672:16:21","nodeType":"YulFunctionCall","src":"307672:16:21"},"nativeSrc":"307672:16:21","nodeType":"YulExpressionStatement","src":"307672:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307708:4:21","nodeType":"YulLiteral","src":"307708:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"307714:4:21","nodeType":"YulLiteral","src":"307714:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"307701:6:21","nodeType":"YulIdentifier","src":"307701:6:21"},"nativeSrc":"307701:18:21","nodeType":"YulFunctionCall","src":"307701:18:21"},"nativeSrc":"307701:18:21","nodeType":"YulExpressionStatement","src":"307701:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307744:4:21","nodeType":"YulLiteral","src":"307744:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"307750:2:21","nodeType":"YulIdentifier","src":"307750:2:21"}],"functionName":{"name":"writeString","nativeSrc":"307732:11:21","nodeType":"YulIdentifier","src":"307732:11:21"},"nativeSrc":"307732:21:21","nodeType":"YulFunctionCall","src":"307732:21:21"},"nativeSrc":"307732:21:21","nodeType":"YulExpressionStatement","src":"307732:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307778:4:21","nodeType":"YulLiteral","src":"307778:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"307784:2:21","nodeType":"YulIdentifier","src":"307784:2:21"}],"functionName":{"name":"writeString","nativeSrc":"307766:11:21","nodeType":"YulIdentifier","src":"307766:11:21"},"nativeSrc":"307766:21:21","nodeType":"YulFunctionCall","src":"307766:21:21"},"nativeSrc":"307766:21:21","nodeType":"YulExpressionStatement","src":"307766:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36632,"isOffset":false,"isSlot":false,"src":"307239:2:21","valueSize":1},{"declaration":36635,"isOffset":false,"isSlot":false,"src":"307269:2:21","valueSize":1},{"declaration":36638,"isOffset":false,"isSlot":false,"src":"307299:2:21","valueSize":1},{"declaration":36641,"isOffset":false,"isSlot":false,"src":"307329:2:21","valueSize":1},{"declaration":36644,"isOffset":false,"isSlot":false,"src":"307359:2:21","valueSize":1},{"declaration":36647,"isOffset":false,"isSlot":false,"src":"307389:2:21","valueSize":1},{"declaration":36650,"isOffset":false,"isSlot":false,"src":"307419:2:21","valueSize":1},{"declaration":36653,"isOffset":false,"isSlot":false,"src":"307449:2:21","valueSize":1},{"declaration":36656,"isOffset":false,"isSlot":false,"src":"307479:2:21","valueSize":1},{"declaration":36622,"isOffset":false,"isSlot":false,"src":"307625:2:21","valueSize":1},{"declaration":36624,"isOffset":false,"isSlot":false,"src":"307750:2:21","valueSize":1},{"declaration":36626,"isOffset":false,"isSlot":false,"src":"307685:2:21","valueSize":1},{"declaration":36628,"isOffset":false,"isSlot":false,"src":"307784:2:21","valueSize":1}],"id":36658,"nodeType":"InlineAssembly","src":"306861:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"307822:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"307828:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36659,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"307806:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"307806:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36663,"nodeType":"ExpressionStatement","src":"307806:28:21"},{"AST":{"nativeSrc":"307896:273:21","nodeType":"YulBlock","src":"307896:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"307917:4:21","nodeType":"YulLiteral","src":"307917:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"307923:2:21","nodeType":"YulIdentifier","src":"307923:2:21"}],"functionName":{"name":"mstore","nativeSrc":"307910:6:21","nodeType":"YulIdentifier","src":"307910:6:21"},"nativeSrc":"307910:16:21","nodeType":"YulFunctionCall","src":"307910:16:21"},"nativeSrc":"307910:16:21","nodeType":"YulExpressionStatement","src":"307910:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307946:4:21","nodeType":"YulLiteral","src":"307946:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"307952:2:21","nodeType":"YulIdentifier","src":"307952:2:21"}],"functionName":{"name":"mstore","nativeSrc":"307939:6:21","nodeType":"YulIdentifier","src":"307939:6:21"},"nativeSrc":"307939:16:21","nodeType":"YulFunctionCall","src":"307939:16:21"},"nativeSrc":"307939:16:21","nodeType":"YulExpressionStatement","src":"307939:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307975:4:21","nodeType":"YulLiteral","src":"307975:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"307981:2:21","nodeType":"YulIdentifier","src":"307981:2:21"}],"functionName":{"name":"mstore","nativeSrc":"307968:6:21","nodeType":"YulIdentifier","src":"307968:6:21"},"nativeSrc":"307968:16:21","nodeType":"YulFunctionCall","src":"307968:16:21"},"nativeSrc":"307968:16:21","nodeType":"YulExpressionStatement","src":"307968:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308004:4:21","nodeType":"YulLiteral","src":"308004:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"308010:2:21","nodeType":"YulIdentifier","src":"308010:2:21"}],"functionName":{"name":"mstore","nativeSrc":"307997:6:21","nodeType":"YulIdentifier","src":"307997:6:21"},"nativeSrc":"307997:16:21","nodeType":"YulFunctionCall","src":"307997:16:21"},"nativeSrc":"307997:16:21","nodeType":"YulExpressionStatement","src":"307997:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308033:4:21","nodeType":"YulLiteral","src":"308033:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"308039:2:21","nodeType":"YulIdentifier","src":"308039:2:21"}],"functionName":{"name":"mstore","nativeSrc":"308026:6:21","nodeType":"YulIdentifier","src":"308026:6:21"},"nativeSrc":"308026:16:21","nodeType":"YulFunctionCall","src":"308026:16:21"},"nativeSrc":"308026:16:21","nodeType":"YulExpressionStatement","src":"308026:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308062:4:21","nodeType":"YulLiteral","src":"308062:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"308068:2:21","nodeType":"YulIdentifier","src":"308068:2:21"}],"functionName":{"name":"mstore","nativeSrc":"308055:6:21","nodeType":"YulIdentifier","src":"308055:6:21"},"nativeSrc":"308055:16:21","nodeType":"YulFunctionCall","src":"308055:16:21"},"nativeSrc":"308055:16:21","nodeType":"YulExpressionStatement","src":"308055:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308091:4:21","nodeType":"YulLiteral","src":"308091:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"308097:2:21","nodeType":"YulIdentifier","src":"308097:2:21"}],"functionName":{"name":"mstore","nativeSrc":"308084:6:21","nodeType":"YulIdentifier","src":"308084:6:21"},"nativeSrc":"308084:16:21","nodeType":"YulFunctionCall","src":"308084:16:21"},"nativeSrc":"308084:16:21","nodeType":"YulExpressionStatement","src":"308084:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308120:4:21","nodeType":"YulLiteral","src":"308120:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"308126:2:21","nodeType":"YulIdentifier","src":"308126:2:21"}],"functionName":{"name":"mstore","nativeSrc":"308113:6:21","nodeType":"YulIdentifier","src":"308113:6:21"},"nativeSrc":"308113:16:21","nodeType":"YulFunctionCall","src":"308113:16:21"},"nativeSrc":"308113:16:21","nodeType":"YulExpressionStatement","src":"308113:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308149:5:21","nodeType":"YulLiteral","src":"308149:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"308156:2:21","nodeType":"YulIdentifier","src":"308156:2:21"}],"functionName":{"name":"mstore","nativeSrc":"308142:6:21","nodeType":"YulIdentifier","src":"308142:6:21"},"nativeSrc":"308142:17:21","nodeType":"YulFunctionCall","src":"308142:17:21"},"nativeSrc":"308142:17:21","nodeType":"YulExpressionStatement","src":"308142:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36632,"isOffset":false,"isSlot":false,"src":"307923:2:21","valueSize":1},{"declaration":36635,"isOffset":false,"isSlot":false,"src":"307952:2:21","valueSize":1},{"declaration":36638,"isOffset":false,"isSlot":false,"src":"307981:2:21","valueSize":1},{"declaration":36641,"isOffset":false,"isSlot":false,"src":"308010:2:21","valueSize":1},{"declaration":36644,"isOffset":false,"isSlot":false,"src":"308039:2:21","valueSize":1},{"declaration":36647,"isOffset":false,"isSlot":false,"src":"308068:2:21","valueSize":1},{"declaration":36650,"isOffset":false,"isSlot":false,"src":"308097:2:21","valueSize":1},{"declaration":36653,"isOffset":false,"isSlot":false,"src":"308126:2:21","valueSize":1},{"declaration":36656,"isOffset":false,"isSlot":false,"src":"308156:2:21","valueSize":1}],"id":36664,"nodeType":"InlineAssembly","src":"307887:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"306562:3:21","parameters":{"id":36629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36622,"mutability":"mutable","name":"p0","nameLocation":"306574:2:21","nodeType":"VariableDeclaration","scope":36666,"src":"306566:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36621,"name":"uint256","nodeType":"ElementaryTypeName","src":"306566:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36624,"mutability":"mutable","name":"p1","nameLocation":"306586:2:21","nodeType":"VariableDeclaration","scope":36666,"src":"306578:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306578:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36626,"mutability":"mutable","name":"p2","nameLocation":"306598:2:21","nodeType":"VariableDeclaration","scope":36666,"src":"306590:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36625,"name":"address","nodeType":"ElementaryTypeName","src":"306590:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36628,"mutability":"mutable","name":"p3","nameLocation":"306610:2:21","nodeType":"VariableDeclaration","scope":36666,"src":"306602:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306602:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"306565:48:21"},"returnParameters":{"id":36630,"nodeType":"ParameterList","parameters":[],"src":"306628:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36706,"nodeType":"FunctionDefinition","src":"308181:1420:21","nodes":[],"body":{"id":36705,"nodeType":"Block","src":"308253:1348:21","nodes":[],"statements":[{"assignments":[36678],"declarations":[{"constant":false,"id":36678,"mutability":"mutable","name":"m0","nameLocation":"308271:2:21","nodeType":"VariableDeclaration","scope":36705,"src":"308263:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308263:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36679,"nodeType":"VariableDeclarationStatement","src":"308263:10:21"},{"assignments":[36681],"declarations":[{"constant":false,"id":36681,"mutability":"mutable","name":"m1","nameLocation":"308291:2:21","nodeType":"VariableDeclaration","scope":36705,"src":"308283:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36680,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308283:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36682,"nodeType":"VariableDeclarationStatement","src":"308283:10:21"},{"assignments":[36684],"declarations":[{"constant":false,"id":36684,"mutability":"mutable","name":"m2","nameLocation":"308311:2:21","nodeType":"VariableDeclaration","scope":36705,"src":"308303:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308303:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36685,"nodeType":"VariableDeclarationStatement","src":"308303:10:21"},{"assignments":[36687],"declarations":[{"constant":false,"id":36687,"mutability":"mutable","name":"m3","nameLocation":"308331:2:21","nodeType":"VariableDeclaration","scope":36705,"src":"308323:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308323:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36688,"nodeType":"VariableDeclarationStatement","src":"308323:10:21"},{"assignments":[36690],"declarations":[{"constant":false,"id":36690,"mutability":"mutable","name":"m4","nameLocation":"308351:2:21","nodeType":"VariableDeclaration","scope":36705,"src":"308343:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308343:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36691,"nodeType":"VariableDeclarationStatement","src":"308343:10:21"},{"assignments":[36693],"declarations":[{"constant":false,"id":36693,"mutability":"mutable","name":"m5","nameLocation":"308371:2:21","nodeType":"VariableDeclaration","scope":36705,"src":"308363:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308363:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36694,"nodeType":"VariableDeclarationStatement","src":"308363:10:21"},{"assignments":[36696],"declarations":[{"constant":false,"id":36696,"mutability":"mutable","name":"m6","nameLocation":"308391:2:21","nodeType":"VariableDeclaration","scope":36705,"src":"308383:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308383:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36697,"nodeType":"VariableDeclarationStatement","src":"308383:10:21"},{"AST":{"nativeSrc":"308455:828:21","nodeType":"YulBlock","src":"308455:828:21","statements":[{"body":{"nativeSrc":"308498:313:21","nodeType":"YulBlock","src":"308498:313:21","statements":[{"nativeSrc":"308516:15:21","nodeType":"YulVariableDeclaration","src":"308516:15:21","value":{"kind":"number","nativeSrc":"308530:1:21","nodeType":"YulLiteral","src":"308530:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"308520:6:21","nodeType":"YulTypedName","src":"308520:6:21","type":""}]},{"body":{"nativeSrc":"308601:40:21","nodeType":"YulBlock","src":"308601:40:21","statements":[{"body":{"nativeSrc":"308630:9:21","nodeType":"YulBlock","src":"308630:9:21","statements":[{"nativeSrc":"308632:5:21","nodeType":"YulBreak","src":"308632:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"308618:6:21","nodeType":"YulIdentifier","src":"308618:6:21"},{"name":"w","nativeSrc":"308626:1:21","nodeType":"YulIdentifier","src":"308626:1:21"}],"functionName":{"name":"byte","nativeSrc":"308613:4:21","nodeType":"YulIdentifier","src":"308613:4:21"},"nativeSrc":"308613:15:21","nodeType":"YulFunctionCall","src":"308613:15:21"}],"functionName":{"name":"iszero","nativeSrc":"308606:6:21","nodeType":"YulIdentifier","src":"308606:6:21"},"nativeSrc":"308606:23:21","nodeType":"YulFunctionCall","src":"308606:23:21"},"nativeSrc":"308603:36:21","nodeType":"YulIf","src":"308603:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"308558:6:21","nodeType":"YulIdentifier","src":"308558:6:21"},{"kind":"number","nativeSrc":"308566:4:21","nodeType":"YulLiteral","src":"308566:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"308555:2:21","nodeType":"YulIdentifier","src":"308555:2:21"},"nativeSrc":"308555:16:21","nodeType":"YulFunctionCall","src":"308555:16:21"},"nativeSrc":"308548:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"308572:28:21","nodeType":"YulBlock","src":"308572:28:21","statements":[{"nativeSrc":"308574:24:21","nodeType":"YulAssignment","src":"308574:24:21","value":{"arguments":[{"name":"length","nativeSrc":"308588:6:21","nodeType":"YulIdentifier","src":"308588:6:21"},{"kind":"number","nativeSrc":"308596:1:21","nodeType":"YulLiteral","src":"308596:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"308584:3:21","nodeType":"YulIdentifier","src":"308584:3:21"},"nativeSrc":"308584:14:21","nodeType":"YulFunctionCall","src":"308584:14:21"},"variableNames":[{"name":"length","nativeSrc":"308574:6:21","nodeType":"YulIdentifier","src":"308574:6:21"}]}]},"pre":{"nativeSrc":"308552:2:21","nodeType":"YulBlock","src":"308552:2:21","statements":[]},"src":"308548:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"308665:3:21","nodeType":"YulIdentifier","src":"308665:3:21"},{"name":"length","nativeSrc":"308670:6:21","nodeType":"YulIdentifier","src":"308670:6:21"}],"functionName":{"name":"mstore","nativeSrc":"308658:6:21","nodeType":"YulIdentifier","src":"308658:6:21"},"nativeSrc":"308658:19:21","nodeType":"YulFunctionCall","src":"308658:19:21"},"nativeSrc":"308658:19:21","nodeType":"YulExpressionStatement","src":"308658:19:21"},{"nativeSrc":"308694:37:21","nodeType":"YulVariableDeclaration","src":"308694:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"308711:3:21","nodeType":"YulLiteral","src":"308711:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"308720:1:21","nodeType":"YulLiteral","src":"308720:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"308723:6:21","nodeType":"YulIdentifier","src":"308723:6:21"}],"functionName":{"name":"shl","nativeSrc":"308716:3:21","nodeType":"YulIdentifier","src":"308716:3:21"},"nativeSrc":"308716:14:21","nodeType":"YulFunctionCall","src":"308716:14:21"}],"functionName":{"name":"sub","nativeSrc":"308707:3:21","nodeType":"YulIdentifier","src":"308707:3:21"},"nativeSrc":"308707:24:21","nodeType":"YulFunctionCall","src":"308707:24:21"},"variables":[{"name":"shift","nativeSrc":"308698:5:21","nodeType":"YulTypedName","src":"308698:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"308759:3:21","nodeType":"YulIdentifier","src":"308759:3:21"},{"kind":"number","nativeSrc":"308764:4:21","nodeType":"YulLiteral","src":"308764:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"308755:3:21","nodeType":"YulIdentifier","src":"308755:3:21"},"nativeSrc":"308755:14:21","nodeType":"YulFunctionCall","src":"308755:14:21"},{"arguments":[{"name":"shift","nativeSrc":"308775:5:21","nodeType":"YulIdentifier","src":"308775:5:21"},{"arguments":[{"name":"shift","nativeSrc":"308786:5:21","nodeType":"YulIdentifier","src":"308786:5:21"},{"name":"w","nativeSrc":"308793:1:21","nodeType":"YulIdentifier","src":"308793:1:21"}],"functionName":{"name":"shr","nativeSrc":"308782:3:21","nodeType":"YulIdentifier","src":"308782:3:21"},"nativeSrc":"308782:13:21","nodeType":"YulFunctionCall","src":"308782:13:21"}],"functionName":{"name":"shl","nativeSrc":"308771:3:21","nodeType":"YulIdentifier","src":"308771:3:21"},"nativeSrc":"308771:25:21","nodeType":"YulFunctionCall","src":"308771:25:21"}],"functionName":{"name":"mstore","nativeSrc":"308748:6:21","nodeType":"YulIdentifier","src":"308748:6:21"},"nativeSrc":"308748:49:21","nodeType":"YulFunctionCall","src":"308748:49:21"},"nativeSrc":"308748:49:21","nodeType":"YulExpressionStatement","src":"308748:49:21"}]},"name":"writeString","nativeSrc":"308469:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"308490:3:21","nodeType":"YulTypedName","src":"308490:3:21","type":""},{"name":"w","nativeSrc":"308495:1:21","nodeType":"YulTypedName","src":"308495:1:21","type":""}],"src":"308469:342:21"},{"nativeSrc":"308824:17:21","nodeType":"YulAssignment","src":"308824:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"308836:4:21","nodeType":"YulLiteral","src":"308836:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"308830:5:21","nodeType":"YulIdentifier","src":"308830:5:21"},"nativeSrc":"308830:11:21","nodeType":"YulFunctionCall","src":"308830:11:21"},"variableNames":[{"name":"m0","nativeSrc":"308824:2:21","nodeType":"YulIdentifier","src":"308824:2:21"}]},{"nativeSrc":"308854:17:21","nodeType":"YulAssignment","src":"308854:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"308866:4:21","nodeType":"YulLiteral","src":"308866:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"308860:5:21","nodeType":"YulIdentifier","src":"308860:5:21"},"nativeSrc":"308860:11:21","nodeType":"YulFunctionCall","src":"308860:11:21"},"variableNames":[{"name":"m1","nativeSrc":"308854:2:21","nodeType":"YulIdentifier","src":"308854:2:21"}]},{"nativeSrc":"308884:17:21","nodeType":"YulAssignment","src":"308884:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"308896:4:21","nodeType":"YulLiteral","src":"308896:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"308890:5:21","nodeType":"YulIdentifier","src":"308890:5:21"},"nativeSrc":"308890:11:21","nodeType":"YulFunctionCall","src":"308890:11:21"},"variableNames":[{"name":"m2","nativeSrc":"308884:2:21","nodeType":"YulIdentifier","src":"308884:2:21"}]},{"nativeSrc":"308914:17:21","nodeType":"YulAssignment","src":"308914:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"308926:4:21","nodeType":"YulLiteral","src":"308926:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"308920:5:21","nodeType":"YulIdentifier","src":"308920:5:21"},"nativeSrc":"308920:11:21","nodeType":"YulFunctionCall","src":"308920:11:21"},"variableNames":[{"name":"m3","nativeSrc":"308914:2:21","nodeType":"YulIdentifier","src":"308914:2:21"}]},{"nativeSrc":"308944:17:21","nodeType":"YulAssignment","src":"308944:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"308956:4:21","nodeType":"YulLiteral","src":"308956:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"308950:5:21","nodeType":"YulIdentifier","src":"308950:5:21"},"nativeSrc":"308950:11:21","nodeType":"YulFunctionCall","src":"308950:11:21"},"variableNames":[{"name":"m4","nativeSrc":"308944:2:21","nodeType":"YulIdentifier","src":"308944:2:21"}]},{"nativeSrc":"308974:17:21","nodeType":"YulAssignment","src":"308974:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"308986:4:21","nodeType":"YulLiteral","src":"308986:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"308980:5:21","nodeType":"YulIdentifier","src":"308980:5:21"},"nativeSrc":"308980:11:21","nodeType":"YulFunctionCall","src":"308980:11:21"},"variableNames":[{"name":"m5","nativeSrc":"308974:2:21","nodeType":"YulIdentifier","src":"308974:2:21"}]},{"nativeSrc":"309004:17:21","nodeType":"YulAssignment","src":"309004:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"309016:4:21","nodeType":"YulLiteral","src":"309016:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"309010:5:21","nodeType":"YulIdentifier","src":"309010:5:21"},"nativeSrc":"309010:11:21","nodeType":"YulFunctionCall","src":"309010:11:21"},"variableNames":[{"name":"m6","nativeSrc":"309004:2:21","nodeType":"YulIdentifier","src":"309004:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309104:4:21","nodeType":"YulLiteral","src":"309104:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"309110:10:21","nodeType":"YulLiteral","src":"309110:10:21","type":"","value":"0xae2ec581"}],"functionName":{"name":"mstore","nativeSrc":"309097:6:21","nodeType":"YulIdentifier","src":"309097:6:21"},"nativeSrc":"309097:24:21","nodeType":"YulFunctionCall","src":"309097:24:21"},"nativeSrc":"309097:24:21","nodeType":"YulExpressionStatement","src":"309097:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309141:4:21","nodeType":"YulLiteral","src":"309141:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"309147:2:21","nodeType":"YulIdentifier","src":"309147:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309134:6:21","nodeType":"YulIdentifier","src":"309134:6:21"},"nativeSrc":"309134:16:21","nodeType":"YulFunctionCall","src":"309134:16:21"},"nativeSrc":"309134:16:21","nodeType":"YulExpressionStatement","src":"309134:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309170:4:21","nodeType":"YulLiteral","src":"309170:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"309176:4:21","nodeType":"YulLiteral","src":"309176:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"309163:6:21","nodeType":"YulIdentifier","src":"309163:6:21"},"nativeSrc":"309163:18:21","nodeType":"YulFunctionCall","src":"309163:18:21"},"nativeSrc":"309163:18:21","nodeType":"YulExpressionStatement","src":"309163:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309201:4:21","nodeType":"YulLiteral","src":"309201:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"309207:2:21","nodeType":"YulIdentifier","src":"309207:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309194:6:21","nodeType":"YulIdentifier","src":"309194:6:21"},"nativeSrc":"309194:16:21","nodeType":"YulFunctionCall","src":"309194:16:21"},"nativeSrc":"309194:16:21","nodeType":"YulExpressionStatement","src":"309194:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309230:4:21","nodeType":"YulLiteral","src":"309230:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"309236:2:21","nodeType":"YulIdentifier","src":"309236:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309223:6:21","nodeType":"YulIdentifier","src":"309223:6:21"},"nativeSrc":"309223:16:21","nodeType":"YulFunctionCall","src":"309223:16:21"},"nativeSrc":"309223:16:21","nodeType":"YulExpressionStatement","src":"309223:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309264:4:21","nodeType":"YulLiteral","src":"309264:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"309270:2:21","nodeType":"YulIdentifier","src":"309270:2:21"}],"functionName":{"name":"writeString","nativeSrc":"309252:11:21","nodeType":"YulIdentifier","src":"309252:11:21"},"nativeSrc":"309252:21:21","nodeType":"YulFunctionCall","src":"309252:21:21"},"nativeSrc":"309252:21:21","nodeType":"YulExpressionStatement","src":"309252:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36678,"isOffset":false,"isSlot":false,"src":"308824:2:21","valueSize":1},{"declaration":36681,"isOffset":false,"isSlot":false,"src":"308854:2:21","valueSize":1},{"declaration":36684,"isOffset":false,"isSlot":false,"src":"308884:2:21","valueSize":1},{"declaration":36687,"isOffset":false,"isSlot":false,"src":"308914:2:21","valueSize":1},{"declaration":36690,"isOffset":false,"isSlot":false,"src":"308944:2:21","valueSize":1},{"declaration":36693,"isOffset":false,"isSlot":false,"src":"308974:2:21","valueSize":1},{"declaration":36696,"isOffset":false,"isSlot":false,"src":"309004:2:21","valueSize":1},{"declaration":36668,"isOffset":false,"isSlot":false,"src":"309147:2:21","valueSize":1},{"declaration":36670,"isOffset":false,"isSlot":false,"src":"309270:2:21","valueSize":1},{"declaration":36672,"isOffset":false,"isSlot":false,"src":"309207:2:21","valueSize":1},{"declaration":36674,"isOffset":false,"isSlot":false,"src":"309236:2:21","valueSize":1}],"id":36698,"nodeType":"InlineAssembly","src":"308446:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"309308:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"309314:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36699,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"309292:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309292:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36703,"nodeType":"ExpressionStatement","src":"309292:27:21"},{"AST":{"nativeSrc":"309381:214:21","nodeType":"YulBlock","src":"309381:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"309402:4:21","nodeType":"YulLiteral","src":"309402:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"309408:2:21","nodeType":"YulIdentifier","src":"309408:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309395:6:21","nodeType":"YulIdentifier","src":"309395:6:21"},"nativeSrc":"309395:16:21","nodeType":"YulFunctionCall","src":"309395:16:21"},"nativeSrc":"309395:16:21","nodeType":"YulExpressionStatement","src":"309395:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309431:4:21","nodeType":"YulLiteral","src":"309431:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"309437:2:21","nodeType":"YulIdentifier","src":"309437:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309424:6:21","nodeType":"YulIdentifier","src":"309424:6:21"},"nativeSrc":"309424:16:21","nodeType":"YulFunctionCall","src":"309424:16:21"},"nativeSrc":"309424:16:21","nodeType":"YulExpressionStatement","src":"309424:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309460:4:21","nodeType":"YulLiteral","src":"309460:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"309466:2:21","nodeType":"YulIdentifier","src":"309466:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309453:6:21","nodeType":"YulIdentifier","src":"309453:6:21"},"nativeSrc":"309453:16:21","nodeType":"YulFunctionCall","src":"309453:16:21"},"nativeSrc":"309453:16:21","nodeType":"YulExpressionStatement","src":"309453:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309489:4:21","nodeType":"YulLiteral","src":"309489:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"309495:2:21","nodeType":"YulIdentifier","src":"309495:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309482:6:21","nodeType":"YulIdentifier","src":"309482:6:21"},"nativeSrc":"309482:16:21","nodeType":"YulFunctionCall","src":"309482:16:21"},"nativeSrc":"309482:16:21","nodeType":"YulExpressionStatement","src":"309482:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309518:4:21","nodeType":"YulLiteral","src":"309518:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"309524:2:21","nodeType":"YulIdentifier","src":"309524:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309511:6:21","nodeType":"YulIdentifier","src":"309511:6:21"},"nativeSrc":"309511:16:21","nodeType":"YulFunctionCall","src":"309511:16:21"},"nativeSrc":"309511:16:21","nodeType":"YulExpressionStatement","src":"309511:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309547:4:21","nodeType":"YulLiteral","src":"309547:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"309553:2:21","nodeType":"YulIdentifier","src":"309553:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309540:6:21","nodeType":"YulIdentifier","src":"309540:6:21"},"nativeSrc":"309540:16:21","nodeType":"YulFunctionCall","src":"309540:16:21"},"nativeSrc":"309540:16:21","nodeType":"YulExpressionStatement","src":"309540:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309576:4:21","nodeType":"YulLiteral","src":"309576:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"309582:2:21","nodeType":"YulIdentifier","src":"309582:2:21"}],"functionName":{"name":"mstore","nativeSrc":"309569:6:21","nodeType":"YulIdentifier","src":"309569:6:21"},"nativeSrc":"309569:16:21","nodeType":"YulFunctionCall","src":"309569:16:21"},"nativeSrc":"309569:16:21","nodeType":"YulExpressionStatement","src":"309569:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36678,"isOffset":false,"isSlot":false,"src":"309408:2:21","valueSize":1},{"declaration":36681,"isOffset":false,"isSlot":false,"src":"309437:2:21","valueSize":1},{"declaration":36684,"isOffset":false,"isSlot":false,"src":"309466:2:21","valueSize":1},{"declaration":36687,"isOffset":false,"isSlot":false,"src":"309495:2:21","valueSize":1},{"declaration":36690,"isOffset":false,"isSlot":false,"src":"309524:2:21","valueSize":1},{"declaration":36693,"isOffset":false,"isSlot":false,"src":"309553:2:21","valueSize":1},{"declaration":36696,"isOffset":false,"isSlot":false,"src":"309582:2:21","valueSize":1}],"id":36704,"nodeType":"InlineAssembly","src":"309372:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"308190:3:21","parameters":{"id":36675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36668,"mutability":"mutable","name":"p0","nameLocation":"308202:2:21","nodeType":"VariableDeclaration","scope":36706,"src":"308194:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36667,"name":"uint256","nodeType":"ElementaryTypeName","src":"308194:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36670,"mutability":"mutable","name":"p1","nameLocation":"308214:2:21","nodeType":"VariableDeclaration","scope":36706,"src":"308206:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308206:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36672,"mutability":"mutable","name":"p2","nameLocation":"308223:2:21","nodeType":"VariableDeclaration","scope":36706,"src":"308218:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36671,"name":"bool","nodeType":"ElementaryTypeName","src":"308218:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36674,"mutability":"mutable","name":"p3","nameLocation":"308235:2:21","nodeType":"VariableDeclaration","scope":36706,"src":"308227:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36673,"name":"address","nodeType":"ElementaryTypeName","src":"308227:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"308193:45:21"},"returnParameters":{"id":36676,"nodeType":"ParameterList","parameters":[],"src":"308253:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36746,"nodeType":"FunctionDefinition","src":"309607:1414:21","nodes":[],"body":{"id":36745,"nodeType":"Block","src":"309676:1345:21","nodes":[],"statements":[{"assignments":[36718],"declarations":[{"constant":false,"id":36718,"mutability":"mutable","name":"m0","nameLocation":"309694:2:21","nodeType":"VariableDeclaration","scope":36745,"src":"309686:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309686:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36719,"nodeType":"VariableDeclarationStatement","src":"309686:10:21"},{"assignments":[36721],"declarations":[{"constant":false,"id":36721,"mutability":"mutable","name":"m1","nameLocation":"309714:2:21","nodeType":"VariableDeclaration","scope":36745,"src":"309706:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309706:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36722,"nodeType":"VariableDeclarationStatement","src":"309706:10:21"},{"assignments":[36724],"declarations":[{"constant":false,"id":36724,"mutability":"mutable","name":"m2","nameLocation":"309734:2:21","nodeType":"VariableDeclaration","scope":36745,"src":"309726:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309726:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36725,"nodeType":"VariableDeclarationStatement","src":"309726:10:21"},{"assignments":[36727],"declarations":[{"constant":false,"id":36727,"mutability":"mutable","name":"m3","nameLocation":"309754:2:21","nodeType":"VariableDeclaration","scope":36745,"src":"309746:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309746:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36728,"nodeType":"VariableDeclarationStatement","src":"309746:10:21"},{"assignments":[36730],"declarations":[{"constant":false,"id":36730,"mutability":"mutable","name":"m4","nameLocation":"309774:2:21","nodeType":"VariableDeclaration","scope":36745,"src":"309766:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309766:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36731,"nodeType":"VariableDeclarationStatement","src":"309766:10:21"},{"assignments":[36733],"declarations":[{"constant":false,"id":36733,"mutability":"mutable","name":"m5","nameLocation":"309794:2:21","nodeType":"VariableDeclaration","scope":36745,"src":"309786:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309786:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36734,"nodeType":"VariableDeclarationStatement","src":"309786:10:21"},{"assignments":[36736],"declarations":[{"constant":false,"id":36736,"mutability":"mutable","name":"m6","nameLocation":"309814:2:21","nodeType":"VariableDeclaration","scope":36745,"src":"309806:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309806:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36737,"nodeType":"VariableDeclarationStatement","src":"309806:10:21"},{"AST":{"nativeSrc":"309878:825:21","nodeType":"YulBlock","src":"309878:825:21","statements":[{"body":{"nativeSrc":"309921:313:21","nodeType":"YulBlock","src":"309921:313:21","statements":[{"nativeSrc":"309939:15:21","nodeType":"YulVariableDeclaration","src":"309939:15:21","value":{"kind":"number","nativeSrc":"309953:1:21","nodeType":"YulLiteral","src":"309953:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"309943:6:21","nodeType":"YulTypedName","src":"309943:6:21","type":""}]},{"body":{"nativeSrc":"310024:40:21","nodeType":"YulBlock","src":"310024:40:21","statements":[{"body":{"nativeSrc":"310053:9:21","nodeType":"YulBlock","src":"310053:9:21","statements":[{"nativeSrc":"310055:5:21","nodeType":"YulBreak","src":"310055:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"310041:6:21","nodeType":"YulIdentifier","src":"310041:6:21"},{"name":"w","nativeSrc":"310049:1:21","nodeType":"YulIdentifier","src":"310049:1:21"}],"functionName":{"name":"byte","nativeSrc":"310036:4:21","nodeType":"YulIdentifier","src":"310036:4:21"},"nativeSrc":"310036:15:21","nodeType":"YulFunctionCall","src":"310036:15:21"}],"functionName":{"name":"iszero","nativeSrc":"310029:6:21","nodeType":"YulIdentifier","src":"310029:6:21"},"nativeSrc":"310029:23:21","nodeType":"YulFunctionCall","src":"310029:23:21"},"nativeSrc":"310026:36:21","nodeType":"YulIf","src":"310026:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"309981:6:21","nodeType":"YulIdentifier","src":"309981:6:21"},{"kind":"number","nativeSrc":"309989:4:21","nodeType":"YulLiteral","src":"309989:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"309978:2:21","nodeType":"YulIdentifier","src":"309978:2:21"},"nativeSrc":"309978:16:21","nodeType":"YulFunctionCall","src":"309978:16:21"},"nativeSrc":"309971:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"309995:28:21","nodeType":"YulBlock","src":"309995:28:21","statements":[{"nativeSrc":"309997:24:21","nodeType":"YulAssignment","src":"309997:24:21","value":{"arguments":[{"name":"length","nativeSrc":"310011:6:21","nodeType":"YulIdentifier","src":"310011:6:21"},{"kind":"number","nativeSrc":"310019:1:21","nodeType":"YulLiteral","src":"310019:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"310007:3:21","nodeType":"YulIdentifier","src":"310007:3:21"},"nativeSrc":"310007:14:21","nodeType":"YulFunctionCall","src":"310007:14:21"},"variableNames":[{"name":"length","nativeSrc":"309997:6:21","nodeType":"YulIdentifier","src":"309997:6:21"}]}]},"pre":{"nativeSrc":"309975:2:21","nodeType":"YulBlock","src":"309975:2:21","statements":[]},"src":"309971:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"310088:3:21","nodeType":"YulIdentifier","src":"310088:3:21"},{"name":"length","nativeSrc":"310093:6:21","nodeType":"YulIdentifier","src":"310093:6:21"}],"functionName":{"name":"mstore","nativeSrc":"310081:6:21","nodeType":"YulIdentifier","src":"310081:6:21"},"nativeSrc":"310081:19:21","nodeType":"YulFunctionCall","src":"310081:19:21"},"nativeSrc":"310081:19:21","nodeType":"YulExpressionStatement","src":"310081:19:21"},{"nativeSrc":"310117:37:21","nodeType":"YulVariableDeclaration","src":"310117:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"310134:3:21","nodeType":"YulLiteral","src":"310134:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"310143:1:21","nodeType":"YulLiteral","src":"310143:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"310146:6:21","nodeType":"YulIdentifier","src":"310146:6:21"}],"functionName":{"name":"shl","nativeSrc":"310139:3:21","nodeType":"YulIdentifier","src":"310139:3:21"},"nativeSrc":"310139:14:21","nodeType":"YulFunctionCall","src":"310139:14:21"}],"functionName":{"name":"sub","nativeSrc":"310130:3:21","nodeType":"YulIdentifier","src":"310130:3:21"},"nativeSrc":"310130:24:21","nodeType":"YulFunctionCall","src":"310130:24:21"},"variables":[{"name":"shift","nativeSrc":"310121:5:21","nodeType":"YulTypedName","src":"310121:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"310182:3:21","nodeType":"YulIdentifier","src":"310182:3:21"},{"kind":"number","nativeSrc":"310187:4:21","nodeType":"YulLiteral","src":"310187:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"310178:3:21","nodeType":"YulIdentifier","src":"310178:3:21"},"nativeSrc":"310178:14:21","nodeType":"YulFunctionCall","src":"310178:14:21"},{"arguments":[{"name":"shift","nativeSrc":"310198:5:21","nodeType":"YulIdentifier","src":"310198:5:21"},{"arguments":[{"name":"shift","nativeSrc":"310209:5:21","nodeType":"YulIdentifier","src":"310209:5:21"},{"name":"w","nativeSrc":"310216:1:21","nodeType":"YulIdentifier","src":"310216:1:21"}],"functionName":{"name":"shr","nativeSrc":"310205:3:21","nodeType":"YulIdentifier","src":"310205:3:21"},"nativeSrc":"310205:13:21","nodeType":"YulFunctionCall","src":"310205:13:21"}],"functionName":{"name":"shl","nativeSrc":"310194:3:21","nodeType":"YulIdentifier","src":"310194:3:21"},"nativeSrc":"310194:25:21","nodeType":"YulFunctionCall","src":"310194:25:21"}],"functionName":{"name":"mstore","nativeSrc":"310171:6:21","nodeType":"YulIdentifier","src":"310171:6:21"},"nativeSrc":"310171:49:21","nodeType":"YulFunctionCall","src":"310171:49:21"},"nativeSrc":"310171:49:21","nodeType":"YulExpressionStatement","src":"310171:49:21"}]},"name":"writeString","nativeSrc":"309892:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"309913:3:21","nodeType":"YulTypedName","src":"309913:3:21","type":""},{"name":"w","nativeSrc":"309918:1:21","nodeType":"YulTypedName","src":"309918:1:21","type":""}],"src":"309892:342:21"},{"nativeSrc":"310247:17:21","nodeType":"YulAssignment","src":"310247:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"310259:4:21","nodeType":"YulLiteral","src":"310259:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"310253:5:21","nodeType":"YulIdentifier","src":"310253:5:21"},"nativeSrc":"310253:11:21","nodeType":"YulFunctionCall","src":"310253:11:21"},"variableNames":[{"name":"m0","nativeSrc":"310247:2:21","nodeType":"YulIdentifier","src":"310247:2:21"}]},{"nativeSrc":"310277:17:21","nodeType":"YulAssignment","src":"310277:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"310289:4:21","nodeType":"YulLiteral","src":"310289:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"310283:5:21","nodeType":"YulIdentifier","src":"310283:5:21"},"nativeSrc":"310283:11:21","nodeType":"YulFunctionCall","src":"310283:11:21"},"variableNames":[{"name":"m1","nativeSrc":"310277:2:21","nodeType":"YulIdentifier","src":"310277:2:21"}]},{"nativeSrc":"310307:17:21","nodeType":"YulAssignment","src":"310307:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"310319:4:21","nodeType":"YulLiteral","src":"310319:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"310313:5:21","nodeType":"YulIdentifier","src":"310313:5:21"},"nativeSrc":"310313:11:21","nodeType":"YulFunctionCall","src":"310313:11:21"},"variableNames":[{"name":"m2","nativeSrc":"310307:2:21","nodeType":"YulIdentifier","src":"310307:2:21"}]},{"nativeSrc":"310337:17:21","nodeType":"YulAssignment","src":"310337:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"310349:4:21","nodeType":"YulLiteral","src":"310349:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"310343:5:21","nodeType":"YulIdentifier","src":"310343:5:21"},"nativeSrc":"310343:11:21","nodeType":"YulFunctionCall","src":"310343:11:21"},"variableNames":[{"name":"m3","nativeSrc":"310337:2:21","nodeType":"YulIdentifier","src":"310337:2:21"}]},{"nativeSrc":"310367:17:21","nodeType":"YulAssignment","src":"310367:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"310379:4:21","nodeType":"YulLiteral","src":"310379:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"310373:5:21","nodeType":"YulIdentifier","src":"310373:5:21"},"nativeSrc":"310373:11:21","nodeType":"YulFunctionCall","src":"310373:11:21"},"variableNames":[{"name":"m4","nativeSrc":"310367:2:21","nodeType":"YulIdentifier","src":"310367:2:21"}]},{"nativeSrc":"310397:17:21","nodeType":"YulAssignment","src":"310397:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"310409:4:21","nodeType":"YulLiteral","src":"310409:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"310403:5:21","nodeType":"YulIdentifier","src":"310403:5:21"},"nativeSrc":"310403:11:21","nodeType":"YulFunctionCall","src":"310403:11:21"},"variableNames":[{"name":"m5","nativeSrc":"310397:2:21","nodeType":"YulIdentifier","src":"310397:2:21"}]},{"nativeSrc":"310427:17:21","nodeType":"YulAssignment","src":"310427:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"310439:4:21","nodeType":"YulLiteral","src":"310439:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"310433:5:21","nodeType":"YulIdentifier","src":"310433:5:21"},"nativeSrc":"310433:11:21","nodeType":"YulFunctionCall","src":"310433:11:21"},"variableNames":[{"name":"m6","nativeSrc":"310427:2:21","nodeType":"YulIdentifier","src":"310427:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310524:4:21","nodeType":"YulLiteral","src":"310524:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"310530:10:21","nodeType":"YulLiteral","src":"310530:10:21","type":"","value":"0xba535d9c"}],"functionName":{"name":"mstore","nativeSrc":"310517:6:21","nodeType":"YulIdentifier","src":"310517:6:21"},"nativeSrc":"310517:24:21","nodeType":"YulFunctionCall","src":"310517:24:21"},"nativeSrc":"310517:24:21","nodeType":"YulExpressionStatement","src":"310517:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310561:4:21","nodeType":"YulLiteral","src":"310561:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"310567:2:21","nodeType":"YulIdentifier","src":"310567:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310554:6:21","nodeType":"YulIdentifier","src":"310554:6:21"},"nativeSrc":"310554:16:21","nodeType":"YulFunctionCall","src":"310554:16:21"},"nativeSrc":"310554:16:21","nodeType":"YulExpressionStatement","src":"310554:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310590:4:21","nodeType":"YulLiteral","src":"310590:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"310596:4:21","nodeType":"YulLiteral","src":"310596:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"310583:6:21","nodeType":"YulIdentifier","src":"310583:6:21"},"nativeSrc":"310583:18:21","nodeType":"YulFunctionCall","src":"310583:18:21"},"nativeSrc":"310583:18:21","nodeType":"YulExpressionStatement","src":"310583:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310621:4:21","nodeType":"YulLiteral","src":"310621:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"310627:2:21","nodeType":"YulIdentifier","src":"310627:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310614:6:21","nodeType":"YulIdentifier","src":"310614:6:21"},"nativeSrc":"310614:16:21","nodeType":"YulFunctionCall","src":"310614:16:21"},"nativeSrc":"310614:16:21","nodeType":"YulExpressionStatement","src":"310614:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310650:4:21","nodeType":"YulLiteral","src":"310650:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"310656:2:21","nodeType":"YulIdentifier","src":"310656:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310643:6:21","nodeType":"YulIdentifier","src":"310643:6:21"},"nativeSrc":"310643:16:21","nodeType":"YulFunctionCall","src":"310643:16:21"},"nativeSrc":"310643:16:21","nodeType":"YulExpressionStatement","src":"310643:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310684:4:21","nodeType":"YulLiteral","src":"310684:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"310690:2:21","nodeType":"YulIdentifier","src":"310690:2:21"}],"functionName":{"name":"writeString","nativeSrc":"310672:11:21","nodeType":"YulIdentifier","src":"310672:11:21"},"nativeSrc":"310672:21:21","nodeType":"YulFunctionCall","src":"310672:21:21"},"nativeSrc":"310672:21:21","nodeType":"YulExpressionStatement","src":"310672:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36718,"isOffset":false,"isSlot":false,"src":"310247:2:21","valueSize":1},{"declaration":36721,"isOffset":false,"isSlot":false,"src":"310277:2:21","valueSize":1},{"declaration":36724,"isOffset":false,"isSlot":false,"src":"310307:2:21","valueSize":1},{"declaration":36727,"isOffset":false,"isSlot":false,"src":"310337:2:21","valueSize":1},{"declaration":36730,"isOffset":false,"isSlot":false,"src":"310367:2:21","valueSize":1},{"declaration":36733,"isOffset":false,"isSlot":false,"src":"310397:2:21","valueSize":1},{"declaration":36736,"isOffset":false,"isSlot":false,"src":"310427:2:21","valueSize":1},{"declaration":36708,"isOffset":false,"isSlot":false,"src":"310567:2:21","valueSize":1},{"declaration":36710,"isOffset":false,"isSlot":false,"src":"310690:2:21","valueSize":1},{"declaration":36712,"isOffset":false,"isSlot":false,"src":"310627:2:21","valueSize":1},{"declaration":36714,"isOffset":false,"isSlot":false,"src":"310656:2:21","valueSize":1}],"id":36738,"nodeType":"InlineAssembly","src":"309869:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"310728:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"310734:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36739,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"310712:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"310712:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36743,"nodeType":"ExpressionStatement","src":"310712:27:21"},{"AST":{"nativeSrc":"310801:214:21","nodeType":"YulBlock","src":"310801:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"310822:4:21","nodeType":"YulLiteral","src":"310822:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"310828:2:21","nodeType":"YulIdentifier","src":"310828:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310815:6:21","nodeType":"YulIdentifier","src":"310815:6:21"},"nativeSrc":"310815:16:21","nodeType":"YulFunctionCall","src":"310815:16:21"},"nativeSrc":"310815:16:21","nodeType":"YulExpressionStatement","src":"310815:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310851:4:21","nodeType":"YulLiteral","src":"310851:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"310857:2:21","nodeType":"YulIdentifier","src":"310857:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310844:6:21","nodeType":"YulIdentifier","src":"310844:6:21"},"nativeSrc":"310844:16:21","nodeType":"YulFunctionCall","src":"310844:16:21"},"nativeSrc":"310844:16:21","nodeType":"YulExpressionStatement","src":"310844:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310880:4:21","nodeType":"YulLiteral","src":"310880:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"310886:2:21","nodeType":"YulIdentifier","src":"310886:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310873:6:21","nodeType":"YulIdentifier","src":"310873:6:21"},"nativeSrc":"310873:16:21","nodeType":"YulFunctionCall","src":"310873:16:21"},"nativeSrc":"310873:16:21","nodeType":"YulExpressionStatement","src":"310873:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310909:4:21","nodeType":"YulLiteral","src":"310909:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"310915:2:21","nodeType":"YulIdentifier","src":"310915:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310902:6:21","nodeType":"YulIdentifier","src":"310902:6:21"},"nativeSrc":"310902:16:21","nodeType":"YulFunctionCall","src":"310902:16:21"},"nativeSrc":"310902:16:21","nodeType":"YulExpressionStatement","src":"310902:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310938:4:21","nodeType":"YulLiteral","src":"310938:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"310944:2:21","nodeType":"YulIdentifier","src":"310944:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310931:6:21","nodeType":"YulIdentifier","src":"310931:6:21"},"nativeSrc":"310931:16:21","nodeType":"YulFunctionCall","src":"310931:16:21"},"nativeSrc":"310931:16:21","nodeType":"YulExpressionStatement","src":"310931:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310967:4:21","nodeType":"YulLiteral","src":"310967:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"310973:2:21","nodeType":"YulIdentifier","src":"310973:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310960:6:21","nodeType":"YulIdentifier","src":"310960:6:21"},"nativeSrc":"310960:16:21","nodeType":"YulFunctionCall","src":"310960:16:21"},"nativeSrc":"310960:16:21","nodeType":"YulExpressionStatement","src":"310960:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310996:4:21","nodeType":"YulLiteral","src":"310996:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"311002:2:21","nodeType":"YulIdentifier","src":"311002:2:21"}],"functionName":{"name":"mstore","nativeSrc":"310989:6:21","nodeType":"YulIdentifier","src":"310989:6:21"},"nativeSrc":"310989:16:21","nodeType":"YulFunctionCall","src":"310989:16:21"},"nativeSrc":"310989:16:21","nodeType":"YulExpressionStatement","src":"310989:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36718,"isOffset":false,"isSlot":false,"src":"310828:2:21","valueSize":1},{"declaration":36721,"isOffset":false,"isSlot":false,"src":"310857:2:21","valueSize":1},{"declaration":36724,"isOffset":false,"isSlot":false,"src":"310886:2:21","valueSize":1},{"declaration":36727,"isOffset":false,"isSlot":false,"src":"310915:2:21","valueSize":1},{"declaration":36730,"isOffset":false,"isSlot":false,"src":"310944:2:21","valueSize":1},{"declaration":36733,"isOffset":false,"isSlot":false,"src":"310973:2:21","valueSize":1},{"declaration":36736,"isOffset":false,"isSlot":false,"src":"311002:2:21","valueSize":1}],"id":36744,"nodeType":"InlineAssembly","src":"310792:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"309616:3:21","parameters":{"id":36715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36708,"mutability":"mutable","name":"p0","nameLocation":"309628:2:21","nodeType":"VariableDeclaration","scope":36746,"src":"309620:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36707,"name":"uint256","nodeType":"ElementaryTypeName","src":"309620:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36710,"mutability":"mutable","name":"p1","nameLocation":"309640:2:21","nodeType":"VariableDeclaration","scope":36746,"src":"309632:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309632:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36712,"mutability":"mutable","name":"p2","nameLocation":"309649:2:21","nodeType":"VariableDeclaration","scope":36746,"src":"309644:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36711,"name":"bool","nodeType":"ElementaryTypeName","src":"309644:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36714,"mutability":"mutable","name":"p3","nameLocation":"309658:2:21","nodeType":"VariableDeclaration","scope":36746,"src":"309653:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36713,"name":"bool","nodeType":"ElementaryTypeName","src":"309653:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"309619:42:21"},"returnParameters":{"id":36716,"nodeType":"ParameterList","parameters":[],"src":"309676:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36786,"nodeType":"FunctionDefinition","src":"311027:1420:21","nodes":[],"body":{"id":36785,"nodeType":"Block","src":"311099:1348:21","nodes":[],"statements":[{"assignments":[36758],"declarations":[{"constant":false,"id":36758,"mutability":"mutable","name":"m0","nameLocation":"311117:2:21","nodeType":"VariableDeclaration","scope":36785,"src":"311109:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36757,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311109:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36759,"nodeType":"VariableDeclarationStatement","src":"311109:10:21"},{"assignments":[36761],"declarations":[{"constant":false,"id":36761,"mutability":"mutable","name":"m1","nameLocation":"311137:2:21","nodeType":"VariableDeclaration","scope":36785,"src":"311129:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311129:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36762,"nodeType":"VariableDeclarationStatement","src":"311129:10:21"},{"assignments":[36764],"declarations":[{"constant":false,"id":36764,"mutability":"mutable","name":"m2","nameLocation":"311157:2:21","nodeType":"VariableDeclaration","scope":36785,"src":"311149:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311149:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36765,"nodeType":"VariableDeclarationStatement","src":"311149:10:21"},{"assignments":[36767],"declarations":[{"constant":false,"id":36767,"mutability":"mutable","name":"m3","nameLocation":"311177:2:21","nodeType":"VariableDeclaration","scope":36785,"src":"311169:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311169:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36768,"nodeType":"VariableDeclarationStatement","src":"311169:10:21"},{"assignments":[36770],"declarations":[{"constant":false,"id":36770,"mutability":"mutable","name":"m4","nameLocation":"311197:2:21","nodeType":"VariableDeclaration","scope":36785,"src":"311189:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36769,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311189:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36771,"nodeType":"VariableDeclarationStatement","src":"311189:10:21"},{"assignments":[36773],"declarations":[{"constant":false,"id":36773,"mutability":"mutable","name":"m5","nameLocation":"311217:2:21","nodeType":"VariableDeclaration","scope":36785,"src":"311209:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311209:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36774,"nodeType":"VariableDeclarationStatement","src":"311209:10:21"},{"assignments":[36776],"declarations":[{"constant":false,"id":36776,"mutability":"mutable","name":"m6","nameLocation":"311237:2:21","nodeType":"VariableDeclaration","scope":36785,"src":"311229:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311229:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36777,"nodeType":"VariableDeclarationStatement","src":"311229:10:21"},{"AST":{"nativeSrc":"311301:828:21","nodeType":"YulBlock","src":"311301:828:21","statements":[{"body":{"nativeSrc":"311344:313:21","nodeType":"YulBlock","src":"311344:313:21","statements":[{"nativeSrc":"311362:15:21","nodeType":"YulVariableDeclaration","src":"311362:15:21","value":{"kind":"number","nativeSrc":"311376:1:21","nodeType":"YulLiteral","src":"311376:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"311366:6:21","nodeType":"YulTypedName","src":"311366:6:21","type":""}]},{"body":{"nativeSrc":"311447:40:21","nodeType":"YulBlock","src":"311447:40:21","statements":[{"body":{"nativeSrc":"311476:9:21","nodeType":"YulBlock","src":"311476:9:21","statements":[{"nativeSrc":"311478:5:21","nodeType":"YulBreak","src":"311478:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"311464:6:21","nodeType":"YulIdentifier","src":"311464:6:21"},{"name":"w","nativeSrc":"311472:1:21","nodeType":"YulIdentifier","src":"311472:1:21"}],"functionName":{"name":"byte","nativeSrc":"311459:4:21","nodeType":"YulIdentifier","src":"311459:4:21"},"nativeSrc":"311459:15:21","nodeType":"YulFunctionCall","src":"311459:15:21"}],"functionName":{"name":"iszero","nativeSrc":"311452:6:21","nodeType":"YulIdentifier","src":"311452:6:21"},"nativeSrc":"311452:23:21","nodeType":"YulFunctionCall","src":"311452:23:21"},"nativeSrc":"311449:36:21","nodeType":"YulIf","src":"311449:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"311404:6:21","nodeType":"YulIdentifier","src":"311404:6:21"},{"kind":"number","nativeSrc":"311412:4:21","nodeType":"YulLiteral","src":"311412:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"311401:2:21","nodeType":"YulIdentifier","src":"311401:2:21"},"nativeSrc":"311401:16:21","nodeType":"YulFunctionCall","src":"311401:16:21"},"nativeSrc":"311394:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"311418:28:21","nodeType":"YulBlock","src":"311418:28:21","statements":[{"nativeSrc":"311420:24:21","nodeType":"YulAssignment","src":"311420:24:21","value":{"arguments":[{"name":"length","nativeSrc":"311434:6:21","nodeType":"YulIdentifier","src":"311434:6:21"},{"kind":"number","nativeSrc":"311442:1:21","nodeType":"YulLiteral","src":"311442:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"311430:3:21","nodeType":"YulIdentifier","src":"311430:3:21"},"nativeSrc":"311430:14:21","nodeType":"YulFunctionCall","src":"311430:14:21"},"variableNames":[{"name":"length","nativeSrc":"311420:6:21","nodeType":"YulIdentifier","src":"311420:6:21"}]}]},"pre":{"nativeSrc":"311398:2:21","nodeType":"YulBlock","src":"311398:2:21","statements":[]},"src":"311394:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"311511:3:21","nodeType":"YulIdentifier","src":"311511:3:21"},{"name":"length","nativeSrc":"311516:6:21","nodeType":"YulIdentifier","src":"311516:6:21"}],"functionName":{"name":"mstore","nativeSrc":"311504:6:21","nodeType":"YulIdentifier","src":"311504:6:21"},"nativeSrc":"311504:19:21","nodeType":"YulFunctionCall","src":"311504:19:21"},"nativeSrc":"311504:19:21","nodeType":"YulExpressionStatement","src":"311504:19:21"},{"nativeSrc":"311540:37:21","nodeType":"YulVariableDeclaration","src":"311540:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"311557:3:21","nodeType":"YulLiteral","src":"311557:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"311566:1:21","nodeType":"YulLiteral","src":"311566:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"311569:6:21","nodeType":"YulIdentifier","src":"311569:6:21"}],"functionName":{"name":"shl","nativeSrc":"311562:3:21","nodeType":"YulIdentifier","src":"311562:3:21"},"nativeSrc":"311562:14:21","nodeType":"YulFunctionCall","src":"311562:14:21"}],"functionName":{"name":"sub","nativeSrc":"311553:3:21","nodeType":"YulIdentifier","src":"311553:3:21"},"nativeSrc":"311553:24:21","nodeType":"YulFunctionCall","src":"311553:24:21"},"variables":[{"name":"shift","nativeSrc":"311544:5:21","nodeType":"YulTypedName","src":"311544:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"311605:3:21","nodeType":"YulIdentifier","src":"311605:3:21"},{"kind":"number","nativeSrc":"311610:4:21","nodeType":"YulLiteral","src":"311610:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"311601:3:21","nodeType":"YulIdentifier","src":"311601:3:21"},"nativeSrc":"311601:14:21","nodeType":"YulFunctionCall","src":"311601:14:21"},{"arguments":[{"name":"shift","nativeSrc":"311621:5:21","nodeType":"YulIdentifier","src":"311621:5:21"},{"arguments":[{"name":"shift","nativeSrc":"311632:5:21","nodeType":"YulIdentifier","src":"311632:5:21"},{"name":"w","nativeSrc":"311639:1:21","nodeType":"YulIdentifier","src":"311639:1:21"}],"functionName":{"name":"shr","nativeSrc":"311628:3:21","nodeType":"YulIdentifier","src":"311628:3:21"},"nativeSrc":"311628:13:21","nodeType":"YulFunctionCall","src":"311628:13:21"}],"functionName":{"name":"shl","nativeSrc":"311617:3:21","nodeType":"YulIdentifier","src":"311617:3:21"},"nativeSrc":"311617:25:21","nodeType":"YulFunctionCall","src":"311617:25:21"}],"functionName":{"name":"mstore","nativeSrc":"311594:6:21","nodeType":"YulIdentifier","src":"311594:6:21"},"nativeSrc":"311594:49:21","nodeType":"YulFunctionCall","src":"311594:49:21"},"nativeSrc":"311594:49:21","nodeType":"YulExpressionStatement","src":"311594:49:21"}]},"name":"writeString","nativeSrc":"311315:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"311336:3:21","nodeType":"YulTypedName","src":"311336:3:21","type":""},{"name":"w","nativeSrc":"311341:1:21","nodeType":"YulTypedName","src":"311341:1:21","type":""}],"src":"311315:342:21"},{"nativeSrc":"311670:17:21","nodeType":"YulAssignment","src":"311670:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"311682:4:21","nodeType":"YulLiteral","src":"311682:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"311676:5:21","nodeType":"YulIdentifier","src":"311676:5:21"},"nativeSrc":"311676:11:21","nodeType":"YulFunctionCall","src":"311676:11:21"},"variableNames":[{"name":"m0","nativeSrc":"311670:2:21","nodeType":"YulIdentifier","src":"311670:2:21"}]},{"nativeSrc":"311700:17:21","nodeType":"YulAssignment","src":"311700:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"311712:4:21","nodeType":"YulLiteral","src":"311712:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"311706:5:21","nodeType":"YulIdentifier","src":"311706:5:21"},"nativeSrc":"311706:11:21","nodeType":"YulFunctionCall","src":"311706:11:21"},"variableNames":[{"name":"m1","nativeSrc":"311700:2:21","nodeType":"YulIdentifier","src":"311700:2:21"}]},{"nativeSrc":"311730:17:21","nodeType":"YulAssignment","src":"311730:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"311742:4:21","nodeType":"YulLiteral","src":"311742:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"311736:5:21","nodeType":"YulIdentifier","src":"311736:5:21"},"nativeSrc":"311736:11:21","nodeType":"YulFunctionCall","src":"311736:11:21"},"variableNames":[{"name":"m2","nativeSrc":"311730:2:21","nodeType":"YulIdentifier","src":"311730:2:21"}]},{"nativeSrc":"311760:17:21","nodeType":"YulAssignment","src":"311760:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"311772:4:21","nodeType":"YulLiteral","src":"311772:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"311766:5:21","nodeType":"YulIdentifier","src":"311766:5:21"},"nativeSrc":"311766:11:21","nodeType":"YulFunctionCall","src":"311766:11:21"},"variableNames":[{"name":"m3","nativeSrc":"311760:2:21","nodeType":"YulIdentifier","src":"311760:2:21"}]},{"nativeSrc":"311790:17:21","nodeType":"YulAssignment","src":"311790:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"311802:4:21","nodeType":"YulLiteral","src":"311802:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"311796:5:21","nodeType":"YulIdentifier","src":"311796:5:21"},"nativeSrc":"311796:11:21","nodeType":"YulFunctionCall","src":"311796:11:21"},"variableNames":[{"name":"m4","nativeSrc":"311790:2:21","nodeType":"YulIdentifier","src":"311790:2:21"}]},{"nativeSrc":"311820:17:21","nodeType":"YulAssignment","src":"311820:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"311832:4:21","nodeType":"YulLiteral","src":"311832:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"311826:5:21","nodeType":"YulIdentifier","src":"311826:5:21"},"nativeSrc":"311826:11:21","nodeType":"YulFunctionCall","src":"311826:11:21"},"variableNames":[{"name":"m5","nativeSrc":"311820:2:21","nodeType":"YulIdentifier","src":"311820:2:21"}]},{"nativeSrc":"311850:17:21","nodeType":"YulAssignment","src":"311850:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"311862:4:21","nodeType":"YulLiteral","src":"311862:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"311856:5:21","nodeType":"YulIdentifier","src":"311856:5:21"},"nativeSrc":"311856:11:21","nodeType":"YulFunctionCall","src":"311856:11:21"},"variableNames":[{"name":"m6","nativeSrc":"311850:2:21","nodeType":"YulIdentifier","src":"311850:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"311950:4:21","nodeType":"YulLiteral","src":"311950:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"311956:10:21","nodeType":"YulLiteral","src":"311956:10:21","type":"","value":"0xcf009880"}],"functionName":{"name":"mstore","nativeSrc":"311943:6:21","nodeType":"YulIdentifier","src":"311943:6:21"},"nativeSrc":"311943:24:21","nodeType":"YulFunctionCall","src":"311943:24:21"},"nativeSrc":"311943:24:21","nodeType":"YulExpressionStatement","src":"311943:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"311987:4:21","nodeType":"YulLiteral","src":"311987:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"311993:2:21","nodeType":"YulIdentifier","src":"311993:2:21"}],"functionName":{"name":"mstore","nativeSrc":"311980:6:21","nodeType":"YulIdentifier","src":"311980:6:21"},"nativeSrc":"311980:16:21","nodeType":"YulFunctionCall","src":"311980:16:21"},"nativeSrc":"311980:16:21","nodeType":"YulExpressionStatement","src":"311980:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312016:4:21","nodeType":"YulLiteral","src":"312016:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"312022:4:21","nodeType":"YulLiteral","src":"312022:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"312009:6:21","nodeType":"YulIdentifier","src":"312009:6:21"},"nativeSrc":"312009:18:21","nodeType":"YulFunctionCall","src":"312009:18:21"},"nativeSrc":"312009:18:21","nodeType":"YulExpressionStatement","src":"312009:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312047:4:21","nodeType":"YulLiteral","src":"312047:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"312053:2:21","nodeType":"YulIdentifier","src":"312053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"312040:6:21","nodeType":"YulIdentifier","src":"312040:6:21"},"nativeSrc":"312040:16:21","nodeType":"YulFunctionCall","src":"312040:16:21"},"nativeSrc":"312040:16:21","nodeType":"YulExpressionStatement","src":"312040:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312076:4:21","nodeType":"YulLiteral","src":"312076:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"312082:2:21","nodeType":"YulIdentifier","src":"312082:2:21"}],"functionName":{"name":"mstore","nativeSrc":"312069:6:21","nodeType":"YulIdentifier","src":"312069:6:21"},"nativeSrc":"312069:16:21","nodeType":"YulFunctionCall","src":"312069:16:21"},"nativeSrc":"312069:16:21","nodeType":"YulExpressionStatement","src":"312069:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312110:4:21","nodeType":"YulLiteral","src":"312110:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"312116:2:21","nodeType":"YulIdentifier","src":"312116:2:21"}],"functionName":{"name":"writeString","nativeSrc":"312098:11:21","nodeType":"YulIdentifier","src":"312098:11:21"},"nativeSrc":"312098:21:21","nodeType":"YulFunctionCall","src":"312098:21:21"},"nativeSrc":"312098:21:21","nodeType":"YulExpressionStatement","src":"312098:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36758,"isOffset":false,"isSlot":false,"src":"311670:2:21","valueSize":1},{"declaration":36761,"isOffset":false,"isSlot":false,"src":"311700:2:21","valueSize":1},{"declaration":36764,"isOffset":false,"isSlot":false,"src":"311730:2:21","valueSize":1},{"declaration":36767,"isOffset":false,"isSlot":false,"src":"311760:2:21","valueSize":1},{"declaration":36770,"isOffset":false,"isSlot":false,"src":"311790:2:21","valueSize":1},{"declaration":36773,"isOffset":false,"isSlot":false,"src":"311820:2:21","valueSize":1},{"declaration":36776,"isOffset":false,"isSlot":false,"src":"311850:2:21","valueSize":1},{"declaration":36748,"isOffset":false,"isSlot":false,"src":"311993:2:21","valueSize":1},{"declaration":36750,"isOffset":false,"isSlot":false,"src":"312116:2:21","valueSize":1},{"declaration":36752,"isOffset":false,"isSlot":false,"src":"312053:2:21","valueSize":1},{"declaration":36754,"isOffset":false,"isSlot":false,"src":"312082:2:21","valueSize":1}],"id":36778,"nodeType":"InlineAssembly","src":"311292:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"312154:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"312160:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36779,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"312138:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"312138:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36783,"nodeType":"ExpressionStatement","src":"312138:27:21"},{"AST":{"nativeSrc":"312227:214:21","nodeType":"YulBlock","src":"312227:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"312248:4:21","nodeType":"YulLiteral","src":"312248:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"312254:2:21","nodeType":"YulIdentifier","src":"312254:2:21"}],"functionName":{"name":"mstore","nativeSrc":"312241:6:21","nodeType":"YulIdentifier","src":"312241:6:21"},"nativeSrc":"312241:16:21","nodeType":"YulFunctionCall","src":"312241:16:21"},"nativeSrc":"312241:16:21","nodeType":"YulExpressionStatement","src":"312241:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312277:4:21","nodeType":"YulLiteral","src":"312277:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"312283:2:21","nodeType":"YulIdentifier","src":"312283:2:21"}],"functionName":{"name":"mstore","nativeSrc":"312270:6:21","nodeType":"YulIdentifier","src":"312270:6:21"},"nativeSrc":"312270:16:21","nodeType":"YulFunctionCall","src":"312270:16:21"},"nativeSrc":"312270:16:21","nodeType":"YulExpressionStatement","src":"312270:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312306:4:21","nodeType":"YulLiteral","src":"312306:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"312312:2:21","nodeType":"YulIdentifier","src":"312312:2:21"}],"functionName":{"name":"mstore","nativeSrc":"312299:6:21","nodeType":"YulIdentifier","src":"312299:6:21"},"nativeSrc":"312299:16:21","nodeType":"YulFunctionCall","src":"312299:16:21"},"nativeSrc":"312299:16:21","nodeType":"YulExpressionStatement","src":"312299:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312335:4:21","nodeType":"YulLiteral","src":"312335:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"312341:2:21","nodeType":"YulIdentifier","src":"312341:2:21"}],"functionName":{"name":"mstore","nativeSrc":"312328:6:21","nodeType":"YulIdentifier","src":"312328:6:21"},"nativeSrc":"312328:16:21","nodeType":"YulFunctionCall","src":"312328:16:21"},"nativeSrc":"312328:16:21","nodeType":"YulExpressionStatement","src":"312328:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312364:4:21","nodeType":"YulLiteral","src":"312364:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"312370:2:21","nodeType":"YulIdentifier","src":"312370:2:21"}],"functionName":{"name":"mstore","nativeSrc":"312357:6:21","nodeType":"YulIdentifier","src":"312357:6:21"},"nativeSrc":"312357:16:21","nodeType":"YulFunctionCall","src":"312357:16:21"},"nativeSrc":"312357:16:21","nodeType":"YulExpressionStatement","src":"312357:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312393:4:21","nodeType":"YulLiteral","src":"312393:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"312399:2:21","nodeType":"YulIdentifier","src":"312399:2:21"}],"functionName":{"name":"mstore","nativeSrc":"312386:6:21","nodeType":"YulIdentifier","src":"312386:6:21"},"nativeSrc":"312386:16:21","nodeType":"YulFunctionCall","src":"312386:16:21"},"nativeSrc":"312386:16:21","nodeType":"YulExpressionStatement","src":"312386:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312422:4:21","nodeType":"YulLiteral","src":"312422:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"312428:2:21","nodeType":"YulIdentifier","src":"312428:2:21"}],"functionName":{"name":"mstore","nativeSrc":"312415:6:21","nodeType":"YulIdentifier","src":"312415:6:21"},"nativeSrc":"312415:16:21","nodeType":"YulFunctionCall","src":"312415:16:21"},"nativeSrc":"312415:16:21","nodeType":"YulExpressionStatement","src":"312415:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36758,"isOffset":false,"isSlot":false,"src":"312254:2:21","valueSize":1},{"declaration":36761,"isOffset":false,"isSlot":false,"src":"312283:2:21","valueSize":1},{"declaration":36764,"isOffset":false,"isSlot":false,"src":"312312:2:21","valueSize":1},{"declaration":36767,"isOffset":false,"isSlot":false,"src":"312341:2:21","valueSize":1},{"declaration":36770,"isOffset":false,"isSlot":false,"src":"312370:2:21","valueSize":1},{"declaration":36773,"isOffset":false,"isSlot":false,"src":"312399:2:21","valueSize":1},{"declaration":36776,"isOffset":false,"isSlot":false,"src":"312428:2:21","valueSize":1}],"id":36784,"nodeType":"InlineAssembly","src":"312218:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"311036:3:21","parameters":{"id":36755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36748,"mutability":"mutable","name":"p0","nameLocation":"311048:2:21","nodeType":"VariableDeclaration","scope":36786,"src":"311040:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36747,"name":"uint256","nodeType":"ElementaryTypeName","src":"311040:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36750,"mutability":"mutable","name":"p1","nameLocation":"311060:2:21","nodeType":"VariableDeclaration","scope":36786,"src":"311052:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311052:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36752,"mutability":"mutable","name":"p2","nameLocation":"311069:2:21","nodeType":"VariableDeclaration","scope":36786,"src":"311064:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36751,"name":"bool","nodeType":"ElementaryTypeName","src":"311064:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36754,"mutability":"mutable","name":"p3","nameLocation":"311081:2:21","nodeType":"VariableDeclaration","scope":36786,"src":"311073:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36753,"name":"uint256","nodeType":"ElementaryTypeName","src":"311073:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"311039:45:21"},"returnParameters":{"id":36756,"nodeType":"ParameterList","parameters":[],"src":"311099:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36832,"nodeType":"FunctionDefinition","src":"312453:1616:21","nodes":[],"body":{"id":36831,"nodeType":"Block","src":"312525:1544:21","nodes":[],"statements":[{"assignments":[36798],"declarations":[{"constant":false,"id":36798,"mutability":"mutable","name":"m0","nameLocation":"312543:2:21","nodeType":"VariableDeclaration","scope":36831,"src":"312535:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312535:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36799,"nodeType":"VariableDeclarationStatement","src":"312535:10:21"},{"assignments":[36801],"declarations":[{"constant":false,"id":36801,"mutability":"mutable","name":"m1","nameLocation":"312563:2:21","nodeType":"VariableDeclaration","scope":36831,"src":"312555:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312555:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36802,"nodeType":"VariableDeclarationStatement","src":"312555:10:21"},{"assignments":[36804],"declarations":[{"constant":false,"id":36804,"mutability":"mutable","name":"m2","nameLocation":"312583:2:21","nodeType":"VariableDeclaration","scope":36831,"src":"312575:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312575:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36805,"nodeType":"VariableDeclarationStatement","src":"312575:10:21"},{"assignments":[36807],"declarations":[{"constant":false,"id":36807,"mutability":"mutable","name":"m3","nameLocation":"312603:2:21","nodeType":"VariableDeclaration","scope":36831,"src":"312595:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312595:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36808,"nodeType":"VariableDeclarationStatement","src":"312595:10:21"},{"assignments":[36810],"declarations":[{"constant":false,"id":36810,"mutability":"mutable","name":"m4","nameLocation":"312623:2:21","nodeType":"VariableDeclaration","scope":36831,"src":"312615:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36809,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312615:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36811,"nodeType":"VariableDeclarationStatement","src":"312615:10:21"},{"assignments":[36813],"declarations":[{"constant":false,"id":36813,"mutability":"mutable","name":"m5","nameLocation":"312643:2:21","nodeType":"VariableDeclaration","scope":36831,"src":"312635:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36812,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312635:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36814,"nodeType":"VariableDeclarationStatement","src":"312635:10:21"},{"assignments":[36816],"declarations":[{"constant":false,"id":36816,"mutability":"mutable","name":"m6","nameLocation":"312663:2:21","nodeType":"VariableDeclaration","scope":36831,"src":"312655:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312655:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36817,"nodeType":"VariableDeclarationStatement","src":"312655:10:21"},{"assignments":[36819],"declarations":[{"constant":false,"id":36819,"mutability":"mutable","name":"m7","nameLocation":"312683:2:21","nodeType":"VariableDeclaration","scope":36831,"src":"312675:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36818,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312675:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36820,"nodeType":"VariableDeclarationStatement","src":"312675:10:21"},{"assignments":[36822],"declarations":[{"constant":false,"id":36822,"mutability":"mutable","name":"m8","nameLocation":"312703:2:21","nodeType":"VariableDeclaration","scope":36831,"src":"312695:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312695:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36823,"nodeType":"VariableDeclarationStatement","src":"312695:10:21"},{"AST":{"nativeSrc":"312767:924:21","nodeType":"YulBlock","src":"312767:924:21","statements":[{"body":{"nativeSrc":"312810:313:21","nodeType":"YulBlock","src":"312810:313:21","statements":[{"nativeSrc":"312828:15:21","nodeType":"YulVariableDeclaration","src":"312828:15:21","value":{"kind":"number","nativeSrc":"312842:1:21","nodeType":"YulLiteral","src":"312842:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"312832:6:21","nodeType":"YulTypedName","src":"312832:6:21","type":""}]},{"body":{"nativeSrc":"312913:40:21","nodeType":"YulBlock","src":"312913:40:21","statements":[{"body":{"nativeSrc":"312942:9:21","nodeType":"YulBlock","src":"312942:9:21","statements":[{"nativeSrc":"312944:5:21","nodeType":"YulBreak","src":"312944:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"312930:6:21","nodeType":"YulIdentifier","src":"312930:6:21"},{"name":"w","nativeSrc":"312938:1:21","nodeType":"YulIdentifier","src":"312938:1:21"}],"functionName":{"name":"byte","nativeSrc":"312925:4:21","nodeType":"YulIdentifier","src":"312925:4:21"},"nativeSrc":"312925:15:21","nodeType":"YulFunctionCall","src":"312925:15:21"}],"functionName":{"name":"iszero","nativeSrc":"312918:6:21","nodeType":"YulIdentifier","src":"312918:6:21"},"nativeSrc":"312918:23:21","nodeType":"YulFunctionCall","src":"312918:23:21"},"nativeSrc":"312915:36:21","nodeType":"YulIf","src":"312915:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"312870:6:21","nodeType":"YulIdentifier","src":"312870:6:21"},{"kind":"number","nativeSrc":"312878:4:21","nodeType":"YulLiteral","src":"312878:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"312867:2:21","nodeType":"YulIdentifier","src":"312867:2:21"},"nativeSrc":"312867:16:21","nodeType":"YulFunctionCall","src":"312867:16:21"},"nativeSrc":"312860:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"312884:28:21","nodeType":"YulBlock","src":"312884:28:21","statements":[{"nativeSrc":"312886:24:21","nodeType":"YulAssignment","src":"312886:24:21","value":{"arguments":[{"name":"length","nativeSrc":"312900:6:21","nodeType":"YulIdentifier","src":"312900:6:21"},{"kind":"number","nativeSrc":"312908:1:21","nodeType":"YulLiteral","src":"312908:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"312896:3:21","nodeType":"YulIdentifier","src":"312896:3:21"},"nativeSrc":"312896:14:21","nodeType":"YulFunctionCall","src":"312896:14:21"},"variableNames":[{"name":"length","nativeSrc":"312886:6:21","nodeType":"YulIdentifier","src":"312886:6:21"}]}]},"pre":{"nativeSrc":"312864:2:21","nodeType":"YulBlock","src":"312864:2:21","statements":[]},"src":"312860:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"312977:3:21","nodeType":"YulIdentifier","src":"312977:3:21"},{"name":"length","nativeSrc":"312982:6:21","nodeType":"YulIdentifier","src":"312982:6:21"}],"functionName":{"name":"mstore","nativeSrc":"312970:6:21","nodeType":"YulIdentifier","src":"312970:6:21"},"nativeSrc":"312970:19:21","nodeType":"YulFunctionCall","src":"312970:19:21"},"nativeSrc":"312970:19:21","nodeType":"YulExpressionStatement","src":"312970:19:21"},{"nativeSrc":"313006:37:21","nodeType":"YulVariableDeclaration","src":"313006:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"313023:3:21","nodeType":"YulLiteral","src":"313023:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"313032:1:21","nodeType":"YulLiteral","src":"313032:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"313035:6:21","nodeType":"YulIdentifier","src":"313035:6:21"}],"functionName":{"name":"shl","nativeSrc":"313028:3:21","nodeType":"YulIdentifier","src":"313028:3:21"},"nativeSrc":"313028:14:21","nodeType":"YulFunctionCall","src":"313028:14:21"}],"functionName":{"name":"sub","nativeSrc":"313019:3:21","nodeType":"YulIdentifier","src":"313019:3:21"},"nativeSrc":"313019:24:21","nodeType":"YulFunctionCall","src":"313019:24:21"},"variables":[{"name":"shift","nativeSrc":"313010:5:21","nodeType":"YulTypedName","src":"313010:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"313071:3:21","nodeType":"YulIdentifier","src":"313071:3:21"},{"kind":"number","nativeSrc":"313076:4:21","nodeType":"YulLiteral","src":"313076:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"313067:3:21","nodeType":"YulIdentifier","src":"313067:3:21"},"nativeSrc":"313067:14:21","nodeType":"YulFunctionCall","src":"313067:14:21"},{"arguments":[{"name":"shift","nativeSrc":"313087:5:21","nodeType":"YulIdentifier","src":"313087:5:21"},{"arguments":[{"name":"shift","nativeSrc":"313098:5:21","nodeType":"YulIdentifier","src":"313098:5:21"},{"name":"w","nativeSrc":"313105:1:21","nodeType":"YulIdentifier","src":"313105:1:21"}],"functionName":{"name":"shr","nativeSrc":"313094:3:21","nodeType":"YulIdentifier","src":"313094:3:21"},"nativeSrc":"313094:13:21","nodeType":"YulFunctionCall","src":"313094:13:21"}],"functionName":{"name":"shl","nativeSrc":"313083:3:21","nodeType":"YulIdentifier","src":"313083:3:21"},"nativeSrc":"313083:25:21","nodeType":"YulFunctionCall","src":"313083:25:21"}],"functionName":{"name":"mstore","nativeSrc":"313060:6:21","nodeType":"YulIdentifier","src":"313060:6:21"},"nativeSrc":"313060:49:21","nodeType":"YulFunctionCall","src":"313060:49:21"},"nativeSrc":"313060:49:21","nodeType":"YulExpressionStatement","src":"313060:49:21"}]},"name":"writeString","nativeSrc":"312781:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"312802:3:21","nodeType":"YulTypedName","src":"312802:3:21","type":""},{"name":"w","nativeSrc":"312807:1:21","nodeType":"YulTypedName","src":"312807:1:21","type":""}],"src":"312781:342:21"},{"nativeSrc":"313136:17:21","nodeType":"YulAssignment","src":"313136:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"313148:4:21","nodeType":"YulLiteral","src":"313148:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"313142:5:21","nodeType":"YulIdentifier","src":"313142:5:21"},"nativeSrc":"313142:11:21","nodeType":"YulFunctionCall","src":"313142:11:21"},"variableNames":[{"name":"m0","nativeSrc":"313136:2:21","nodeType":"YulIdentifier","src":"313136:2:21"}]},{"nativeSrc":"313166:17:21","nodeType":"YulAssignment","src":"313166:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"313178:4:21","nodeType":"YulLiteral","src":"313178:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"313172:5:21","nodeType":"YulIdentifier","src":"313172:5:21"},"nativeSrc":"313172:11:21","nodeType":"YulFunctionCall","src":"313172:11:21"},"variableNames":[{"name":"m1","nativeSrc":"313166:2:21","nodeType":"YulIdentifier","src":"313166:2:21"}]},{"nativeSrc":"313196:17:21","nodeType":"YulAssignment","src":"313196:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"313208:4:21","nodeType":"YulLiteral","src":"313208:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"313202:5:21","nodeType":"YulIdentifier","src":"313202:5:21"},"nativeSrc":"313202:11:21","nodeType":"YulFunctionCall","src":"313202:11:21"},"variableNames":[{"name":"m2","nativeSrc":"313196:2:21","nodeType":"YulIdentifier","src":"313196:2:21"}]},{"nativeSrc":"313226:17:21","nodeType":"YulAssignment","src":"313226:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"313238:4:21","nodeType":"YulLiteral","src":"313238:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"313232:5:21","nodeType":"YulIdentifier","src":"313232:5:21"},"nativeSrc":"313232:11:21","nodeType":"YulFunctionCall","src":"313232:11:21"},"variableNames":[{"name":"m3","nativeSrc":"313226:2:21","nodeType":"YulIdentifier","src":"313226:2:21"}]},{"nativeSrc":"313256:17:21","nodeType":"YulAssignment","src":"313256:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"313268:4:21","nodeType":"YulLiteral","src":"313268:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"313262:5:21","nodeType":"YulIdentifier","src":"313262:5:21"},"nativeSrc":"313262:11:21","nodeType":"YulFunctionCall","src":"313262:11:21"},"variableNames":[{"name":"m4","nativeSrc":"313256:2:21","nodeType":"YulIdentifier","src":"313256:2:21"}]},{"nativeSrc":"313286:17:21","nodeType":"YulAssignment","src":"313286:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"313298:4:21","nodeType":"YulLiteral","src":"313298:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"313292:5:21","nodeType":"YulIdentifier","src":"313292:5:21"},"nativeSrc":"313292:11:21","nodeType":"YulFunctionCall","src":"313292:11:21"},"variableNames":[{"name":"m5","nativeSrc":"313286:2:21","nodeType":"YulIdentifier","src":"313286:2:21"}]},{"nativeSrc":"313316:17:21","nodeType":"YulAssignment","src":"313316:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"313328:4:21","nodeType":"YulLiteral","src":"313328:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"313322:5:21","nodeType":"YulIdentifier","src":"313322:5:21"},"nativeSrc":"313322:11:21","nodeType":"YulFunctionCall","src":"313322:11:21"},"variableNames":[{"name":"m6","nativeSrc":"313316:2:21","nodeType":"YulIdentifier","src":"313316:2:21"}]},{"nativeSrc":"313346:17:21","nodeType":"YulAssignment","src":"313346:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"313358:4:21","nodeType":"YulLiteral","src":"313358:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"313352:5:21","nodeType":"YulIdentifier","src":"313352:5:21"},"nativeSrc":"313352:11:21","nodeType":"YulFunctionCall","src":"313352:11:21"},"variableNames":[{"name":"m7","nativeSrc":"313346:2:21","nodeType":"YulIdentifier","src":"313346:2:21"}]},{"nativeSrc":"313376:18:21","nodeType":"YulAssignment","src":"313376:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"313388:5:21","nodeType":"YulLiteral","src":"313388:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"313382:5:21","nodeType":"YulIdentifier","src":"313382:5:21"},"nativeSrc":"313382:12:21","nodeType":"YulFunctionCall","src":"313382:12:21"},"variableNames":[{"name":"m8","nativeSrc":"313376:2:21","nodeType":"YulIdentifier","src":"313376:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313476:4:21","nodeType":"YulLiteral","src":"313476:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"313482:10:21","nodeType":"YulLiteral","src":"313482:10:21","type":"","value":"0xd2d423cd"}],"functionName":{"name":"mstore","nativeSrc":"313469:6:21","nodeType":"YulIdentifier","src":"313469:6:21"},"nativeSrc":"313469:24:21","nodeType":"YulFunctionCall","src":"313469:24:21"},"nativeSrc":"313469:24:21","nodeType":"YulExpressionStatement","src":"313469:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313513:4:21","nodeType":"YulLiteral","src":"313513:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"313519:2:21","nodeType":"YulIdentifier","src":"313519:2:21"}],"functionName":{"name":"mstore","nativeSrc":"313506:6:21","nodeType":"YulIdentifier","src":"313506:6:21"},"nativeSrc":"313506:16:21","nodeType":"YulFunctionCall","src":"313506:16:21"},"nativeSrc":"313506:16:21","nodeType":"YulExpressionStatement","src":"313506:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313542:4:21","nodeType":"YulLiteral","src":"313542:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"313548:4:21","nodeType":"YulLiteral","src":"313548:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"313535:6:21","nodeType":"YulIdentifier","src":"313535:6:21"},"nativeSrc":"313535:18:21","nodeType":"YulFunctionCall","src":"313535:18:21"},"nativeSrc":"313535:18:21","nodeType":"YulExpressionStatement","src":"313535:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313573:4:21","nodeType":"YulLiteral","src":"313573:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"313579:2:21","nodeType":"YulIdentifier","src":"313579:2:21"}],"functionName":{"name":"mstore","nativeSrc":"313566:6:21","nodeType":"YulIdentifier","src":"313566:6:21"},"nativeSrc":"313566:16:21","nodeType":"YulFunctionCall","src":"313566:16:21"},"nativeSrc":"313566:16:21","nodeType":"YulExpressionStatement","src":"313566:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313602:4:21","nodeType":"YulLiteral","src":"313602:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"313608:4:21","nodeType":"YulLiteral","src":"313608:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"313595:6:21","nodeType":"YulIdentifier","src":"313595:6:21"},"nativeSrc":"313595:18:21","nodeType":"YulFunctionCall","src":"313595:18:21"},"nativeSrc":"313595:18:21","nodeType":"YulExpressionStatement","src":"313595:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313638:4:21","nodeType":"YulLiteral","src":"313638:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"313644:2:21","nodeType":"YulIdentifier","src":"313644:2:21"}],"functionName":{"name":"writeString","nativeSrc":"313626:11:21","nodeType":"YulIdentifier","src":"313626:11:21"},"nativeSrc":"313626:21:21","nodeType":"YulFunctionCall","src":"313626:21:21"},"nativeSrc":"313626:21:21","nodeType":"YulExpressionStatement","src":"313626:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313672:4:21","nodeType":"YulLiteral","src":"313672:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"313678:2:21","nodeType":"YulIdentifier","src":"313678:2:21"}],"functionName":{"name":"writeString","nativeSrc":"313660:11:21","nodeType":"YulIdentifier","src":"313660:11:21"},"nativeSrc":"313660:21:21","nodeType":"YulFunctionCall","src":"313660:21:21"},"nativeSrc":"313660:21:21","nodeType":"YulExpressionStatement","src":"313660:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36798,"isOffset":false,"isSlot":false,"src":"313136:2:21","valueSize":1},{"declaration":36801,"isOffset":false,"isSlot":false,"src":"313166:2:21","valueSize":1},{"declaration":36804,"isOffset":false,"isSlot":false,"src":"313196:2:21","valueSize":1},{"declaration":36807,"isOffset":false,"isSlot":false,"src":"313226:2:21","valueSize":1},{"declaration":36810,"isOffset":false,"isSlot":false,"src":"313256:2:21","valueSize":1},{"declaration":36813,"isOffset":false,"isSlot":false,"src":"313286:2:21","valueSize":1},{"declaration":36816,"isOffset":false,"isSlot":false,"src":"313316:2:21","valueSize":1},{"declaration":36819,"isOffset":false,"isSlot":false,"src":"313346:2:21","valueSize":1},{"declaration":36822,"isOffset":false,"isSlot":false,"src":"313376:2:21","valueSize":1},{"declaration":36788,"isOffset":false,"isSlot":false,"src":"313519:2:21","valueSize":1},{"declaration":36790,"isOffset":false,"isSlot":false,"src":"313644:2:21","valueSize":1},{"declaration":36792,"isOffset":false,"isSlot":false,"src":"313579:2:21","valueSize":1},{"declaration":36794,"isOffset":false,"isSlot":false,"src":"313678:2:21","valueSize":1}],"id":36824,"nodeType":"InlineAssembly","src":"312758:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"313716:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"313722:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36825,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"313700:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"313700:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36829,"nodeType":"ExpressionStatement","src":"313700:28:21"},{"AST":{"nativeSrc":"313790:273:21","nodeType":"YulBlock","src":"313790:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"313811:4:21","nodeType":"YulLiteral","src":"313811:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"313817:2:21","nodeType":"YulIdentifier","src":"313817:2:21"}],"functionName":{"name":"mstore","nativeSrc":"313804:6:21","nodeType":"YulIdentifier","src":"313804:6:21"},"nativeSrc":"313804:16:21","nodeType":"YulFunctionCall","src":"313804:16:21"},"nativeSrc":"313804:16:21","nodeType":"YulExpressionStatement","src":"313804:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313840:4:21","nodeType":"YulLiteral","src":"313840:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"313846:2:21","nodeType":"YulIdentifier","src":"313846:2:21"}],"functionName":{"name":"mstore","nativeSrc":"313833:6:21","nodeType":"YulIdentifier","src":"313833:6:21"},"nativeSrc":"313833:16:21","nodeType":"YulFunctionCall","src":"313833:16:21"},"nativeSrc":"313833:16:21","nodeType":"YulExpressionStatement","src":"313833:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313869:4:21","nodeType":"YulLiteral","src":"313869:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"313875:2:21","nodeType":"YulIdentifier","src":"313875:2:21"}],"functionName":{"name":"mstore","nativeSrc":"313862:6:21","nodeType":"YulIdentifier","src":"313862:6:21"},"nativeSrc":"313862:16:21","nodeType":"YulFunctionCall","src":"313862:16:21"},"nativeSrc":"313862:16:21","nodeType":"YulExpressionStatement","src":"313862:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313898:4:21","nodeType":"YulLiteral","src":"313898:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"313904:2:21","nodeType":"YulIdentifier","src":"313904:2:21"}],"functionName":{"name":"mstore","nativeSrc":"313891:6:21","nodeType":"YulIdentifier","src":"313891:6:21"},"nativeSrc":"313891:16:21","nodeType":"YulFunctionCall","src":"313891:16:21"},"nativeSrc":"313891:16:21","nodeType":"YulExpressionStatement","src":"313891:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313927:4:21","nodeType":"YulLiteral","src":"313927:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"313933:2:21","nodeType":"YulIdentifier","src":"313933:2:21"}],"functionName":{"name":"mstore","nativeSrc":"313920:6:21","nodeType":"YulIdentifier","src":"313920:6:21"},"nativeSrc":"313920:16:21","nodeType":"YulFunctionCall","src":"313920:16:21"},"nativeSrc":"313920:16:21","nodeType":"YulExpressionStatement","src":"313920:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313956:4:21","nodeType":"YulLiteral","src":"313956:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"313962:2:21","nodeType":"YulIdentifier","src":"313962:2:21"}],"functionName":{"name":"mstore","nativeSrc":"313949:6:21","nodeType":"YulIdentifier","src":"313949:6:21"},"nativeSrc":"313949:16:21","nodeType":"YulFunctionCall","src":"313949:16:21"},"nativeSrc":"313949:16:21","nodeType":"YulExpressionStatement","src":"313949:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313985:4:21","nodeType":"YulLiteral","src":"313985:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"313991:2:21","nodeType":"YulIdentifier","src":"313991:2:21"}],"functionName":{"name":"mstore","nativeSrc":"313978:6:21","nodeType":"YulIdentifier","src":"313978:6:21"},"nativeSrc":"313978:16:21","nodeType":"YulFunctionCall","src":"313978:16:21"},"nativeSrc":"313978:16:21","nodeType":"YulExpressionStatement","src":"313978:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"314014:4:21","nodeType":"YulLiteral","src":"314014:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"314020:2:21","nodeType":"YulIdentifier","src":"314020:2:21"}],"functionName":{"name":"mstore","nativeSrc":"314007:6:21","nodeType":"YulIdentifier","src":"314007:6:21"},"nativeSrc":"314007:16:21","nodeType":"YulFunctionCall","src":"314007:16:21"},"nativeSrc":"314007:16:21","nodeType":"YulExpressionStatement","src":"314007:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"314043:5:21","nodeType":"YulLiteral","src":"314043:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"314050:2:21","nodeType":"YulIdentifier","src":"314050:2:21"}],"functionName":{"name":"mstore","nativeSrc":"314036:6:21","nodeType":"YulIdentifier","src":"314036:6:21"},"nativeSrc":"314036:17:21","nodeType":"YulFunctionCall","src":"314036:17:21"},"nativeSrc":"314036:17:21","nodeType":"YulExpressionStatement","src":"314036:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36798,"isOffset":false,"isSlot":false,"src":"313817:2:21","valueSize":1},{"declaration":36801,"isOffset":false,"isSlot":false,"src":"313846:2:21","valueSize":1},{"declaration":36804,"isOffset":false,"isSlot":false,"src":"313875:2:21","valueSize":1},{"declaration":36807,"isOffset":false,"isSlot":false,"src":"313904:2:21","valueSize":1},{"declaration":36810,"isOffset":false,"isSlot":false,"src":"313933:2:21","valueSize":1},{"declaration":36813,"isOffset":false,"isSlot":false,"src":"313962:2:21","valueSize":1},{"declaration":36816,"isOffset":false,"isSlot":false,"src":"313991:2:21","valueSize":1},{"declaration":36819,"isOffset":false,"isSlot":false,"src":"314020:2:21","valueSize":1},{"declaration":36822,"isOffset":false,"isSlot":false,"src":"314050:2:21","valueSize":1}],"id":36830,"nodeType":"InlineAssembly","src":"313781:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"312462:3:21","parameters":{"id":36795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36788,"mutability":"mutable","name":"p0","nameLocation":"312474:2:21","nodeType":"VariableDeclaration","scope":36832,"src":"312466:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36787,"name":"uint256","nodeType":"ElementaryTypeName","src":"312466:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36790,"mutability":"mutable","name":"p1","nameLocation":"312486:2:21","nodeType":"VariableDeclaration","scope":36832,"src":"312478:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312478:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36792,"mutability":"mutable","name":"p2","nameLocation":"312495:2:21","nodeType":"VariableDeclaration","scope":36832,"src":"312490:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36791,"name":"bool","nodeType":"ElementaryTypeName","src":"312490:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36794,"mutability":"mutable","name":"p3","nameLocation":"312507:2:21","nodeType":"VariableDeclaration","scope":36832,"src":"312499:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312499:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"312465:45:21"},"returnParameters":{"id":36796,"nodeType":"ParameterList","parameters":[],"src":"312525:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36872,"nodeType":"FunctionDefinition","src":"314075:1426:21","nodes":[],"body":{"id":36871,"nodeType":"Block","src":"314150:1351:21","nodes":[],"statements":[{"assignments":[36844],"declarations":[{"constant":false,"id":36844,"mutability":"mutable","name":"m0","nameLocation":"314168:2:21","nodeType":"VariableDeclaration","scope":36871,"src":"314160:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314160:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36845,"nodeType":"VariableDeclarationStatement","src":"314160:10:21"},{"assignments":[36847],"declarations":[{"constant":false,"id":36847,"mutability":"mutable","name":"m1","nameLocation":"314188:2:21","nodeType":"VariableDeclaration","scope":36871,"src":"314180:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314180:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36848,"nodeType":"VariableDeclarationStatement","src":"314180:10:21"},{"assignments":[36850],"declarations":[{"constant":false,"id":36850,"mutability":"mutable","name":"m2","nameLocation":"314208:2:21","nodeType":"VariableDeclaration","scope":36871,"src":"314200:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314200:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36851,"nodeType":"VariableDeclarationStatement","src":"314200:10:21"},{"assignments":[36853],"declarations":[{"constant":false,"id":36853,"mutability":"mutable","name":"m3","nameLocation":"314228:2:21","nodeType":"VariableDeclaration","scope":36871,"src":"314220:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314220:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36854,"nodeType":"VariableDeclarationStatement","src":"314220:10:21"},{"assignments":[36856],"declarations":[{"constant":false,"id":36856,"mutability":"mutable","name":"m4","nameLocation":"314248:2:21","nodeType":"VariableDeclaration","scope":36871,"src":"314240:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314240:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36857,"nodeType":"VariableDeclarationStatement","src":"314240:10:21"},{"assignments":[36859],"declarations":[{"constant":false,"id":36859,"mutability":"mutable","name":"m5","nameLocation":"314268:2:21","nodeType":"VariableDeclaration","scope":36871,"src":"314260:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36858,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314260:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36860,"nodeType":"VariableDeclarationStatement","src":"314260:10:21"},{"assignments":[36862],"declarations":[{"constant":false,"id":36862,"mutability":"mutable","name":"m6","nameLocation":"314288:2:21","nodeType":"VariableDeclaration","scope":36871,"src":"314280:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314280:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36863,"nodeType":"VariableDeclarationStatement","src":"314280:10:21"},{"AST":{"nativeSrc":"314352:831:21","nodeType":"YulBlock","src":"314352:831:21","statements":[{"body":{"nativeSrc":"314395:313:21","nodeType":"YulBlock","src":"314395:313:21","statements":[{"nativeSrc":"314413:15:21","nodeType":"YulVariableDeclaration","src":"314413:15:21","value":{"kind":"number","nativeSrc":"314427:1:21","nodeType":"YulLiteral","src":"314427:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"314417:6:21","nodeType":"YulTypedName","src":"314417:6:21","type":""}]},{"body":{"nativeSrc":"314498:40:21","nodeType":"YulBlock","src":"314498:40:21","statements":[{"body":{"nativeSrc":"314527:9:21","nodeType":"YulBlock","src":"314527:9:21","statements":[{"nativeSrc":"314529:5:21","nodeType":"YulBreak","src":"314529:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"314515:6:21","nodeType":"YulIdentifier","src":"314515:6:21"},{"name":"w","nativeSrc":"314523:1:21","nodeType":"YulIdentifier","src":"314523:1:21"}],"functionName":{"name":"byte","nativeSrc":"314510:4:21","nodeType":"YulIdentifier","src":"314510:4:21"},"nativeSrc":"314510:15:21","nodeType":"YulFunctionCall","src":"314510:15:21"}],"functionName":{"name":"iszero","nativeSrc":"314503:6:21","nodeType":"YulIdentifier","src":"314503:6:21"},"nativeSrc":"314503:23:21","nodeType":"YulFunctionCall","src":"314503:23:21"},"nativeSrc":"314500:36:21","nodeType":"YulIf","src":"314500:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"314455:6:21","nodeType":"YulIdentifier","src":"314455:6:21"},{"kind":"number","nativeSrc":"314463:4:21","nodeType":"YulLiteral","src":"314463:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"314452:2:21","nodeType":"YulIdentifier","src":"314452:2:21"},"nativeSrc":"314452:16:21","nodeType":"YulFunctionCall","src":"314452:16:21"},"nativeSrc":"314445:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"314469:28:21","nodeType":"YulBlock","src":"314469:28:21","statements":[{"nativeSrc":"314471:24:21","nodeType":"YulAssignment","src":"314471:24:21","value":{"arguments":[{"name":"length","nativeSrc":"314485:6:21","nodeType":"YulIdentifier","src":"314485:6:21"},{"kind":"number","nativeSrc":"314493:1:21","nodeType":"YulLiteral","src":"314493:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"314481:3:21","nodeType":"YulIdentifier","src":"314481:3:21"},"nativeSrc":"314481:14:21","nodeType":"YulFunctionCall","src":"314481:14:21"},"variableNames":[{"name":"length","nativeSrc":"314471:6:21","nodeType":"YulIdentifier","src":"314471:6:21"}]}]},"pre":{"nativeSrc":"314449:2:21","nodeType":"YulBlock","src":"314449:2:21","statements":[]},"src":"314445:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"314562:3:21","nodeType":"YulIdentifier","src":"314562:3:21"},{"name":"length","nativeSrc":"314567:6:21","nodeType":"YulIdentifier","src":"314567:6:21"}],"functionName":{"name":"mstore","nativeSrc":"314555:6:21","nodeType":"YulIdentifier","src":"314555:6:21"},"nativeSrc":"314555:19:21","nodeType":"YulFunctionCall","src":"314555:19:21"},"nativeSrc":"314555:19:21","nodeType":"YulExpressionStatement","src":"314555:19:21"},{"nativeSrc":"314591:37:21","nodeType":"YulVariableDeclaration","src":"314591:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"314608:3:21","nodeType":"YulLiteral","src":"314608:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"314617:1:21","nodeType":"YulLiteral","src":"314617:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"314620:6:21","nodeType":"YulIdentifier","src":"314620:6:21"}],"functionName":{"name":"shl","nativeSrc":"314613:3:21","nodeType":"YulIdentifier","src":"314613:3:21"},"nativeSrc":"314613:14:21","nodeType":"YulFunctionCall","src":"314613:14:21"}],"functionName":{"name":"sub","nativeSrc":"314604:3:21","nodeType":"YulIdentifier","src":"314604:3:21"},"nativeSrc":"314604:24:21","nodeType":"YulFunctionCall","src":"314604:24:21"},"variables":[{"name":"shift","nativeSrc":"314595:5:21","nodeType":"YulTypedName","src":"314595:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"314656:3:21","nodeType":"YulIdentifier","src":"314656:3:21"},{"kind":"number","nativeSrc":"314661:4:21","nodeType":"YulLiteral","src":"314661:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"314652:3:21","nodeType":"YulIdentifier","src":"314652:3:21"},"nativeSrc":"314652:14:21","nodeType":"YulFunctionCall","src":"314652:14:21"},{"arguments":[{"name":"shift","nativeSrc":"314672:5:21","nodeType":"YulIdentifier","src":"314672:5:21"},{"arguments":[{"name":"shift","nativeSrc":"314683:5:21","nodeType":"YulIdentifier","src":"314683:5:21"},{"name":"w","nativeSrc":"314690:1:21","nodeType":"YulIdentifier","src":"314690:1:21"}],"functionName":{"name":"shr","nativeSrc":"314679:3:21","nodeType":"YulIdentifier","src":"314679:3:21"},"nativeSrc":"314679:13:21","nodeType":"YulFunctionCall","src":"314679:13:21"}],"functionName":{"name":"shl","nativeSrc":"314668:3:21","nodeType":"YulIdentifier","src":"314668:3:21"},"nativeSrc":"314668:25:21","nodeType":"YulFunctionCall","src":"314668:25:21"}],"functionName":{"name":"mstore","nativeSrc":"314645:6:21","nodeType":"YulIdentifier","src":"314645:6:21"},"nativeSrc":"314645:49:21","nodeType":"YulFunctionCall","src":"314645:49:21"},"nativeSrc":"314645:49:21","nodeType":"YulExpressionStatement","src":"314645:49:21"}]},"name":"writeString","nativeSrc":"314366:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"314387:3:21","nodeType":"YulTypedName","src":"314387:3:21","type":""},{"name":"w","nativeSrc":"314392:1:21","nodeType":"YulTypedName","src":"314392:1:21","type":""}],"src":"314366:342:21"},{"nativeSrc":"314721:17:21","nodeType":"YulAssignment","src":"314721:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"314733:4:21","nodeType":"YulLiteral","src":"314733:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"314727:5:21","nodeType":"YulIdentifier","src":"314727:5:21"},"nativeSrc":"314727:11:21","nodeType":"YulFunctionCall","src":"314727:11:21"},"variableNames":[{"name":"m0","nativeSrc":"314721:2:21","nodeType":"YulIdentifier","src":"314721:2:21"}]},{"nativeSrc":"314751:17:21","nodeType":"YulAssignment","src":"314751:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"314763:4:21","nodeType":"YulLiteral","src":"314763:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"314757:5:21","nodeType":"YulIdentifier","src":"314757:5:21"},"nativeSrc":"314757:11:21","nodeType":"YulFunctionCall","src":"314757:11:21"},"variableNames":[{"name":"m1","nativeSrc":"314751:2:21","nodeType":"YulIdentifier","src":"314751:2:21"}]},{"nativeSrc":"314781:17:21","nodeType":"YulAssignment","src":"314781:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"314793:4:21","nodeType":"YulLiteral","src":"314793:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"314787:5:21","nodeType":"YulIdentifier","src":"314787:5:21"},"nativeSrc":"314787:11:21","nodeType":"YulFunctionCall","src":"314787:11:21"},"variableNames":[{"name":"m2","nativeSrc":"314781:2:21","nodeType":"YulIdentifier","src":"314781:2:21"}]},{"nativeSrc":"314811:17:21","nodeType":"YulAssignment","src":"314811:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"314823:4:21","nodeType":"YulLiteral","src":"314823:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"314817:5:21","nodeType":"YulIdentifier","src":"314817:5:21"},"nativeSrc":"314817:11:21","nodeType":"YulFunctionCall","src":"314817:11:21"},"variableNames":[{"name":"m3","nativeSrc":"314811:2:21","nodeType":"YulIdentifier","src":"314811:2:21"}]},{"nativeSrc":"314841:17:21","nodeType":"YulAssignment","src":"314841:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"314853:4:21","nodeType":"YulLiteral","src":"314853:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"314847:5:21","nodeType":"YulIdentifier","src":"314847:5:21"},"nativeSrc":"314847:11:21","nodeType":"YulFunctionCall","src":"314847:11:21"},"variableNames":[{"name":"m4","nativeSrc":"314841:2:21","nodeType":"YulIdentifier","src":"314841:2:21"}]},{"nativeSrc":"314871:17:21","nodeType":"YulAssignment","src":"314871:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"314883:4:21","nodeType":"YulLiteral","src":"314883:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"314877:5:21","nodeType":"YulIdentifier","src":"314877:5:21"},"nativeSrc":"314877:11:21","nodeType":"YulFunctionCall","src":"314877:11:21"},"variableNames":[{"name":"m5","nativeSrc":"314871:2:21","nodeType":"YulIdentifier","src":"314871:2:21"}]},{"nativeSrc":"314901:17:21","nodeType":"YulAssignment","src":"314901:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"314913:4:21","nodeType":"YulLiteral","src":"314913:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"314907:5:21","nodeType":"YulIdentifier","src":"314907:5:21"},"nativeSrc":"314907:11:21","nodeType":"YulFunctionCall","src":"314907:11:21"},"variableNames":[{"name":"m6","nativeSrc":"314901:2:21","nodeType":"YulIdentifier","src":"314901:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315004:4:21","nodeType":"YulLiteral","src":"315004:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"315010:10:21","nodeType":"YulLiteral","src":"315010:10:21","type":"","value":"0x3b2279b4"}],"functionName":{"name":"mstore","nativeSrc":"314997:6:21","nodeType":"YulIdentifier","src":"314997:6:21"},"nativeSrc":"314997:24:21","nodeType":"YulFunctionCall","src":"314997:24:21"},"nativeSrc":"314997:24:21","nodeType":"YulExpressionStatement","src":"314997:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315041:4:21","nodeType":"YulLiteral","src":"315041:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"315047:2:21","nodeType":"YulIdentifier","src":"315047:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315034:6:21","nodeType":"YulIdentifier","src":"315034:6:21"},"nativeSrc":"315034:16:21","nodeType":"YulFunctionCall","src":"315034:16:21"},"nativeSrc":"315034:16:21","nodeType":"YulExpressionStatement","src":"315034:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315070:4:21","nodeType":"YulLiteral","src":"315070:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"315076:4:21","nodeType":"YulLiteral","src":"315076:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"315063:6:21","nodeType":"YulIdentifier","src":"315063:6:21"},"nativeSrc":"315063:18:21","nodeType":"YulFunctionCall","src":"315063:18:21"},"nativeSrc":"315063:18:21","nodeType":"YulExpressionStatement","src":"315063:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315101:4:21","nodeType":"YulLiteral","src":"315101:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"315107:2:21","nodeType":"YulIdentifier","src":"315107:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315094:6:21","nodeType":"YulIdentifier","src":"315094:6:21"},"nativeSrc":"315094:16:21","nodeType":"YulFunctionCall","src":"315094:16:21"},"nativeSrc":"315094:16:21","nodeType":"YulExpressionStatement","src":"315094:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315130:4:21","nodeType":"YulLiteral","src":"315130:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"315136:2:21","nodeType":"YulIdentifier","src":"315136:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315123:6:21","nodeType":"YulIdentifier","src":"315123:6:21"},"nativeSrc":"315123:16:21","nodeType":"YulFunctionCall","src":"315123:16:21"},"nativeSrc":"315123:16:21","nodeType":"YulExpressionStatement","src":"315123:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315164:4:21","nodeType":"YulLiteral","src":"315164:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"315170:2:21","nodeType":"YulIdentifier","src":"315170:2:21"}],"functionName":{"name":"writeString","nativeSrc":"315152:11:21","nodeType":"YulIdentifier","src":"315152:11:21"},"nativeSrc":"315152:21:21","nodeType":"YulFunctionCall","src":"315152:21:21"},"nativeSrc":"315152:21:21","nodeType":"YulExpressionStatement","src":"315152:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36844,"isOffset":false,"isSlot":false,"src":"314721:2:21","valueSize":1},{"declaration":36847,"isOffset":false,"isSlot":false,"src":"314751:2:21","valueSize":1},{"declaration":36850,"isOffset":false,"isSlot":false,"src":"314781:2:21","valueSize":1},{"declaration":36853,"isOffset":false,"isSlot":false,"src":"314811:2:21","valueSize":1},{"declaration":36856,"isOffset":false,"isSlot":false,"src":"314841:2:21","valueSize":1},{"declaration":36859,"isOffset":false,"isSlot":false,"src":"314871:2:21","valueSize":1},{"declaration":36862,"isOffset":false,"isSlot":false,"src":"314901:2:21","valueSize":1},{"declaration":36834,"isOffset":false,"isSlot":false,"src":"315047:2:21","valueSize":1},{"declaration":36836,"isOffset":false,"isSlot":false,"src":"315170:2:21","valueSize":1},{"declaration":36838,"isOffset":false,"isSlot":false,"src":"315107:2:21","valueSize":1},{"declaration":36840,"isOffset":false,"isSlot":false,"src":"315136:2:21","valueSize":1}],"id":36864,"nodeType":"InlineAssembly","src":"314343:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"315208:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"315214:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36865,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"315192:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"315192:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36869,"nodeType":"ExpressionStatement","src":"315192:27:21"},{"AST":{"nativeSrc":"315281:214:21","nodeType":"YulBlock","src":"315281:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"315302:4:21","nodeType":"YulLiteral","src":"315302:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"315308:2:21","nodeType":"YulIdentifier","src":"315308:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315295:6:21","nodeType":"YulIdentifier","src":"315295:6:21"},"nativeSrc":"315295:16:21","nodeType":"YulFunctionCall","src":"315295:16:21"},"nativeSrc":"315295:16:21","nodeType":"YulExpressionStatement","src":"315295:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315331:4:21","nodeType":"YulLiteral","src":"315331:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"315337:2:21","nodeType":"YulIdentifier","src":"315337:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315324:6:21","nodeType":"YulIdentifier","src":"315324:6:21"},"nativeSrc":"315324:16:21","nodeType":"YulFunctionCall","src":"315324:16:21"},"nativeSrc":"315324:16:21","nodeType":"YulExpressionStatement","src":"315324:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315360:4:21","nodeType":"YulLiteral","src":"315360:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"315366:2:21","nodeType":"YulIdentifier","src":"315366:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315353:6:21","nodeType":"YulIdentifier","src":"315353:6:21"},"nativeSrc":"315353:16:21","nodeType":"YulFunctionCall","src":"315353:16:21"},"nativeSrc":"315353:16:21","nodeType":"YulExpressionStatement","src":"315353:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315389:4:21","nodeType":"YulLiteral","src":"315389:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"315395:2:21","nodeType":"YulIdentifier","src":"315395:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315382:6:21","nodeType":"YulIdentifier","src":"315382:6:21"},"nativeSrc":"315382:16:21","nodeType":"YulFunctionCall","src":"315382:16:21"},"nativeSrc":"315382:16:21","nodeType":"YulExpressionStatement","src":"315382:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315418:4:21","nodeType":"YulLiteral","src":"315418:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"315424:2:21","nodeType":"YulIdentifier","src":"315424:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315411:6:21","nodeType":"YulIdentifier","src":"315411:6:21"},"nativeSrc":"315411:16:21","nodeType":"YulFunctionCall","src":"315411:16:21"},"nativeSrc":"315411:16:21","nodeType":"YulExpressionStatement","src":"315411:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315447:4:21","nodeType":"YulLiteral","src":"315447:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"315453:2:21","nodeType":"YulIdentifier","src":"315453:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315440:6:21","nodeType":"YulIdentifier","src":"315440:6:21"},"nativeSrc":"315440:16:21","nodeType":"YulFunctionCall","src":"315440:16:21"},"nativeSrc":"315440:16:21","nodeType":"YulExpressionStatement","src":"315440:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315476:4:21","nodeType":"YulLiteral","src":"315476:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"315482:2:21","nodeType":"YulIdentifier","src":"315482:2:21"}],"functionName":{"name":"mstore","nativeSrc":"315469:6:21","nodeType":"YulIdentifier","src":"315469:6:21"},"nativeSrc":"315469:16:21","nodeType":"YulFunctionCall","src":"315469:16:21"},"nativeSrc":"315469:16:21","nodeType":"YulExpressionStatement","src":"315469:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36844,"isOffset":false,"isSlot":false,"src":"315308:2:21","valueSize":1},{"declaration":36847,"isOffset":false,"isSlot":false,"src":"315337:2:21","valueSize":1},{"declaration":36850,"isOffset":false,"isSlot":false,"src":"315366:2:21","valueSize":1},{"declaration":36853,"isOffset":false,"isSlot":false,"src":"315395:2:21","valueSize":1},{"declaration":36856,"isOffset":false,"isSlot":false,"src":"315424:2:21","valueSize":1},{"declaration":36859,"isOffset":false,"isSlot":false,"src":"315453:2:21","valueSize":1},{"declaration":36862,"isOffset":false,"isSlot":false,"src":"315482:2:21","valueSize":1}],"id":36870,"nodeType":"InlineAssembly","src":"315272:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"314084:3:21","parameters":{"id":36841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36834,"mutability":"mutable","name":"p0","nameLocation":"314096:2:21","nodeType":"VariableDeclaration","scope":36872,"src":"314088:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36833,"name":"uint256","nodeType":"ElementaryTypeName","src":"314088:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36836,"mutability":"mutable","name":"p1","nameLocation":"314108:2:21","nodeType":"VariableDeclaration","scope":36872,"src":"314100:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314100:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36838,"mutability":"mutable","name":"p2","nameLocation":"314120:2:21","nodeType":"VariableDeclaration","scope":36872,"src":"314112:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36837,"name":"uint256","nodeType":"ElementaryTypeName","src":"314112:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36840,"mutability":"mutable","name":"p3","nameLocation":"314132:2:21","nodeType":"VariableDeclaration","scope":36872,"src":"314124:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36839,"name":"address","nodeType":"ElementaryTypeName","src":"314124:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"314087:48:21"},"returnParameters":{"id":36842,"nodeType":"ParameterList","parameters":[],"src":"314150:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36912,"nodeType":"FunctionDefinition","src":"315507:1420:21","nodes":[],"body":{"id":36911,"nodeType":"Block","src":"315579:1348:21","nodes":[],"statements":[{"assignments":[36884],"declarations":[{"constant":false,"id":36884,"mutability":"mutable","name":"m0","nameLocation":"315597:2:21","nodeType":"VariableDeclaration","scope":36911,"src":"315589:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315589:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36885,"nodeType":"VariableDeclarationStatement","src":"315589:10:21"},{"assignments":[36887],"declarations":[{"constant":false,"id":36887,"mutability":"mutable","name":"m1","nameLocation":"315617:2:21","nodeType":"VariableDeclaration","scope":36911,"src":"315609:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315609:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36888,"nodeType":"VariableDeclarationStatement","src":"315609:10:21"},{"assignments":[36890],"declarations":[{"constant":false,"id":36890,"mutability":"mutable","name":"m2","nameLocation":"315637:2:21","nodeType":"VariableDeclaration","scope":36911,"src":"315629:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36889,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315629:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36891,"nodeType":"VariableDeclarationStatement","src":"315629:10:21"},{"assignments":[36893],"declarations":[{"constant":false,"id":36893,"mutability":"mutable","name":"m3","nameLocation":"315657:2:21","nodeType":"VariableDeclaration","scope":36911,"src":"315649:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315649:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36894,"nodeType":"VariableDeclarationStatement","src":"315649:10:21"},{"assignments":[36896],"declarations":[{"constant":false,"id":36896,"mutability":"mutable","name":"m4","nameLocation":"315677:2:21","nodeType":"VariableDeclaration","scope":36911,"src":"315669:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315669:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36897,"nodeType":"VariableDeclarationStatement","src":"315669:10:21"},{"assignments":[36899],"declarations":[{"constant":false,"id":36899,"mutability":"mutable","name":"m5","nameLocation":"315697:2:21","nodeType":"VariableDeclaration","scope":36911,"src":"315689:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36898,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315689:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36900,"nodeType":"VariableDeclarationStatement","src":"315689:10:21"},{"assignments":[36902],"declarations":[{"constant":false,"id":36902,"mutability":"mutable","name":"m6","nameLocation":"315717:2:21","nodeType":"VariableDeclaration","scope":36911,"src":"315709:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36901,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315709:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36903,"nodeType":"VariableDeclarationStatement","src":"315709:10:21"},{"AST":{"nativeSrc":"315781:828:21","nodeType":"YulBlock","src":"315781:828:21","statements":[{"body":{"nativeSrc":"315824:313:21","nodeType":"YulBlock","src":"315824:313:21","statements":[{"nativeSrc":"315842:15:21","nodeType":"YulVariableDeclaration","src":"315842:15:21","value":{"kind":"number","nativeSrc":"315856:1:21","nodeType":"YulLiteral","src":"315856:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"315846:6:21","nodeType":"YulTypedName","src":"315846:6:21","type":""}]},{"body":{"nativeSrc":"315927:40:21","nodeType":"YulBlock","src":"315927:40:21","statements":[{"body":{"nativeSrc":"315956:9:21","nodeType":"YulBlock","src":"315956:9:21","statements":[{"nativeSrc":"315958:5:21","nodeType":"YulBreak","src":"315958:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"315944:6:21","nodeType":"YulIdentifier","src":"315944:6:21"},{"name":"w","nativeSrc":"315952:1:21","nodeType":"YulIdentifier","src":"315952:1:21"}],"functionName":{"name":"byte","nativeSrc":"315939:4:21","nodeType":"YulIdentifier","src":"315939:4:21"},"nativeSrc":"315939:15:21","nodeType":"YulFunctionCall","src":"315939:15:21"}],"functionName":{"name":"iszero","nativeSrc":"315932:6:21","nodeType":"YulIdentifier","src":"315932:6:21"},"nativeSrc":"315932:23:21","nodeType":"YulFunctionCall","src":"315932:23:21"},"nativeSrc":"315929:36:21","nodeType":"YulIf","src":"315929:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"315884:6:21","nodeType":"YulIdentifier","src":"315884:6:21"},{"kind":"number","nativeSrc":"315892:4:21","nodeType":"YulLiteral","src":"315892:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"315881:2:21","nodeType":"YulIdentifier","src":"315881:2:21"},"nativeSrc":"315881:16:21","nodeType":"YulFunctionCall","src":"315881:16:21"},"nativeSrc":"315874:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"315898:28:21","nodeType":"YulBlock","src":"315898:28:21","statements":[{"nativeSrc":"315900:24:21","nodeType":"YulAssignment","src":"315900:24:21","value":{"arguments":[{"name":"length","nativeSrc":"315914:6:21","nodeType":"YulIdentifier","src":"315914:6:21"},{"kind":"number","nativeSrc":"315922:1:21","nodeType":"YulLiteral","src":"315922:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"315910:3:21","nodeType":"YulIdentifier","src":"315910:3:21"},"nativeSrc":"315910:14:21","nodeType":"YulFunctionCall","src":"315910:14:21"},"variableNames":[{"name":"length","nativeSrc":"315900:6:21","nodeType":"YulIdentifier","src":"315900:6:21"}]}]},"pre":{"nativeSrc":"315878:2:21","nodeType":"YulBlock","src":"315878:2:21","statements":[]},"src":"315874:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"315991:3:21","nodeType":"YulIdentifier","src":"315991:3:21"},{"name":"length","nativeSrc":"315996:6:21","nodeType":"YulIdentifier","src":"315996:6:21"}],"functionName":{"name":"mstore","nativeSrc":"315984:6:21","nodeType":"YulIdentifier","src":"315984:6:21"},"nativeSrc":"315984:19:21","nodeType":"YulFunctionCall","src":"315984:19:21"},"nativeSrc":"315984:19:21","nodeType":"YulExpressionStatement","src":"315984:19:21"},{"nativeSrc":"316020:37:21","nodeType":"YulVariableDeclaration","src":"316020:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"316037:3:21","nodeType":"YulLiteral","src":"316037:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"316046:1:21","nodeType":"YulLiteral","src":"316046:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"316049:6:21","nodeType":"YulIdentifier","src":"316049:6:21"}],"functionName":{"name":"shl","nativeSrc":"316042:3:21","nodeType":"YulIdentifier","src":"316042:3:21"},"nativeSrc":"316042:14:21","nodeType":"YulFunctionCall","src":"316042:14:21"}],"functionName":{"name":"sub","nativeSrc":"316033:3:21","nodeType":"YulIdentifier","src":"316033:3:21"},"nativeSrc":"316033:24:21","nodeType":"YulFunctionCall","src":"316033:24:21"},"variables":[{"name":"shift","nativeSrc":"316024:5:21","nodeType":"YulTypedName","src":"316024:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"316085:3:21","nodeType":"YulIdentifier","src":"316085:3:21"},{"kind":"number","nativeSrc":"316090:4:21","nodeType":"YulLiteral","src":"316090:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"316081:3:21","nodeType":"YulIdentifier","src":"316081:3:21"},"nativeSrc":"316081:14:21","nodeType":"YulFunctionCall","src":"316081:14:21"},{"arguments":[{"name":"shift","nativeSrc":"316101:5:21","nodeType":"YulIdentifier","src":"316101:5:21"},{"arguments":[{"name":"shift","nativeSrc":"316112:5:21","nodeType":"YulIdentifier","src":"316112:5:21"},{"name":"w","nativeSrc":"316119:1:21","nodeType":"YulIdentifier","src":"316119:1:21"}],"functionName":{"name":"shr","nativeSrc":"316108:3:21","nodeType":"YulIdentifier","src":"316108:3:21"},"nativeSrc":"316108:13:21","nodeType":"YulFunctionCall","src":"316108:13:21"}],"functionName":{"name":"shl","nativeSrc":"316097:3:21","nodeType":"YulIdentifier","src":"316097:3:21"},"nativeSrc":"316097:25:21","nodeType":"YulFunctionCall","src":"316097:25:21"}],"functionName":{"name":"mstore","nativeSrc":"316074:6:21","nodeType":"YulIdentifier","src":"316074:6:21"},"nativeSrc":"316074:49:21","nodeType":"YulFunctionCall","src":"316074:49:21"},"nativeSrc":"316074:49:21","nodeType":"YulExpressionStatement","src":"316074:49:21"}]},"name":"writeString","nativeSrc":"315795:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"315816:3:21","nodeType":"YulTypedName","src":"315816:3:21","type":""},{"name":"w","nativeSrc":"315821:1:21","nodeType":"YulTypedName","src":"315821:1:21","type":""}],"src":"315795:342:21"},{"nativeSrc":"316150:17:21","nodeType":"YulAssignment","src":"316150:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"316162:4:21","nodeType":"YulLiteral","src":"316162:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"316156:5:21","nodeType":"YulIdentifier","src":"316156:5:21"},"nativeSrc":"316156:11:21","nodeType":"YulFunctionCall","src":"316156:11:21"},"variableNames":[{"name":"m0","nativeSrc":"316150:2:21","nodeType":"YulIdentifier","src":"316150:2:21"}]},{"nativeSrc":"316180:17:21","nodeType":"YulAssignment","src":"316180:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"316192:4:21","nodeType":"YulLiteral","src":"316192:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"316186:5:21","nodeType":"YulIdentifier","src":"316186:5:21"},"nativeSrc":"316186:11:21","nodeType":"YulFunctionCall","src":"316186:11:21"},"variableNames":[{"name":"m1","nativeSrc":"316180:2:21","nodeType":"YulIdentifier","src":"316180:2:21"}]},{"nativeSrc":"316210:17:21","nodeType":"YulAssignment","src":"316210:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"316222:4:21","nodeType":"YulLiteral","src":"316222:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"316216:5:21","nodeType":"YulIdentifier","src":"316216:5:21"},"nativeSrc":"316216:11:21","nodeType":"YulFunctionCall","src":"316216:11:21"},"variableNames":[{"name":"m2","nativeSrc":"316210:2:21","nodeType":"YulIdentifier","src":"316210:2:21"}]},{"nativeSrc":"316240:17:21","nodeType":"YulAssignment","src":"316240:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"316252:4:21","nodeType":"YulLiteral","src":"316252:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"316246:5:21","nodeType":"YulIdentifier","src":"316246:5:21"},"nativeSrc":"316246:11:21","nodeType":"YulFunctionCall","src":"316246:11:21"},"variableNames":[{"name":"m3","nativeSrc":"316240:2:21","nodeType":"YulIdentifier","src":"316240:2:21"}]},{"nativeSrc":"316270:17:21","nodeType":"YulAssignment","src":"316270:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"316282:4:21","nodeType":"YulLiteral","src":"316282:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"316276:5:21","nodeType":"YulIdentifier","src":"316276:5:21"},"nativeSrc":"316276:11:21","nodeType":"YulFunctionCall","src":"316276:11:21"},"variableNames":[{"name":"m4","nativeSrc":"316270:2:21","nodeType":"YulIdentifier","src":"316270:2:21"}]},{"nativeSrc":"316300:17:21","nodeType":"YulAssignment","src":"316300:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"316312:4:21","nodeType":"YulLiteral","src":"316312:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"316306:5:21","nodeType":"YulIdentifier","src":"316306:5:21"},"nativeSrc":"316306:11:21","nodeType":"YulFunctionCall","src":"316306:11:21"},"variableNames":[{"name":"m5","nativeSrc":"316300:2:21","nodeType":"YulIdentifier","src":"316300:2:21"}]},{"nativeSrc":"316330:17:21","nodeType":"YulAssignment","src":"316330:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"316342:4:21","nodeType":"YulLiteral","src":"316342:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"316336:5:21","nodeType":"YulIdentifier","src":"316336:5:21"},"nativeSrc":"316336:11:21","nodeType":"YulFunctionCall","src":"316336:11:21"},"variableNames":[{"name":"m6","nativeSrc":"316330:2:21","nodeType":"YulIdentifier","src":"316330:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316430:4:21","nodeType":"YulLiteral","src":"316430:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"316436:10:21","nodeType":"YulLiteral","src":"316436:10:21","type":"","value":"0x691a8f74"}],"functionName":{"name":"mstore","nativeSrc":"316423:6:21","nodeType":"YulIdentifier","src":"316423:6:21"},"nativeSrc":"316423:24:21","nodeType":"YulFunctionCall","src":"316423:24:21"},"nativeSrc":"316423:24:21","nodeType":"YulExpressionStatement","src":"316423:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316467:4:21","nodeType":"YulLiteral","src":"316467:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"316473:2:21","nodeType":"YulIdentifier","src":"316473:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316460:6:21","nodeType":"YulIdentifier","src":"316460:6:21"},"nativeSrc":"316460:16:21","nodeType":"YulFunctionCall","src":"316460:16:21"},"nativeSrc":"316460:16:21","nodeType":"YulExpressionStatement","src":"316460:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316496:4:21","nodeType":"YulLiteral","src":"316496:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"316502:4:21","nodeType":"YulLiteral","src":"316502:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"316489:6:21","nodeType":"YulIdentifier","src":"316489:6:21"},"nativeSrc":"316489:18:21","nodeType":"YulFunctionCall","src":"316489:18:21"},"nativeSrc":"316489:18:21","nodeType":"YulExpressionStatement","src":"316489:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316527:4:21","nodeType":"YulLiteral","src":"316527:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"316533:2:21","nodeType":"YulIdentifier","src":"316533:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316520:6:21","nodeType":"YulIdentifier","src":"316520:6:21"},"nativeSrc":"316520:16:21","nodeType":"YulFunctionCall","src":"316520:16:21"},"nativeSrc":"316520:16:21","nodeType":"YulExpressionStatement","src":"316520:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316556:4:21","nodeType":"YulLiteral","src":"316556:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"316562:2:21","nodeType":"YulIdentifier","src":"316562:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316549:6:21","nodeType":"YulIdentifier","src":"316549:6:21"},"nativeSrc":"316549:16:21","nodeType":"YulFunctionCall","src":"316549:16:21"},"nativeSrc":"316549:16:21","nodeType":"YulExpressionStatement","src":"316549:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316590:4:21","nodeType":"YulLiteral","src":"316590:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"316596:2:21","nodeType":"YulIdentifier","src":"316596:2:21"}],"functionName":{"name":"writeString","nativeSrc":"316578:11:21","nodeType":"YulIdentifier","src":"316578:11:21"},"nativeSrc":"316578:21:21","nodeType":"YulFunctionCall","src":"316578:21:21"},"nativeSrc":"316578:21:21","nodeType":"YulExpressionStatement","src":"316578:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36884,"isOffset":false,"isSlot":false,"src":"316150:2:21","valueSize":1},{"declaration":36887,"isOffset":false,"isSlot":false,"src":"316180:2:21","valueSize":1},{"declaration":36890,"isOffset":false,"isSlot":false,"src":"316210:2:21","valueSize":1},{"declaration":36893,"isOffset":false,"isSlot":false,"src":"316240:2:21","valueSize":1},{"declaration":36896,"isOffset":false,"isSlot":false,"src":"316270:2:21","valueSize":1},{"declaration":36899,"isOffset":false,"isSlot":false,"src":"316300:2:21","valueSize":1},{"declaration":36902,"isOffset":false,"isSlot":false,"src":"316330:2:21","valueSize":1},{"declaration":36874,"isOffset":false,"isSlot":false,"src":"316473:2:21","valueSize":1},{"declaration":36876,"isOffset":false,"isSlot":false,"src":"316596:2:21","valueSize":1},{"declaration":36878,"isOffset":false,"isSlot":false,"src":"316533:2:21","valueSize":1},{"declaration":36880,"isOffset":false,"isSlot":false,"src":"316562:2:21","valueSize":1}],"id":36904,"nodeType":"InlineAssembly","src":"315772:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"316634:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"316640:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36905,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"316618:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"316618:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36909,"nodeType":"ExpressionStatement","src":"316618:27:21"},{"AST":{"nativeSrc":"316707:214:21","nodeType":"YulBlock","src":"316707:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"316728:4:21","nodeType":"YulLiteral","src":"316728:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"316734:2:21","nodeType":"YulIdentifier","src":"316734:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316721:6:21","nodeType":"YulIdentifier","src":"316721:6:21"},"nativeSrc":"316721:16:21","nodeType":"YulFunctionCall","src":"316721:16:21"},"nativeSrc":"316721:16:21","nodeType":"YulExpressionStatement","src":"316721:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316757:4:21","nodeType":"YulLiteral","src":"316757:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"316763:2:21","nodeType":"YulIdentifier","src":"316763:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316750:6:21","nodeType":"YulIdentifier","src":"316750:6:21"},"nativeSrc":"316750:16:21","nodeType":"YulFunctionCall","src":"316750:16:21"},"nativeSrc":"316750:16:21","nodeType":"YulExpressionStatement","src":"316750:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316786:4:21","nodeType":"YulLiteral","src":"316786:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"316792:2:21","nodeType":"YulIdentifier","src":"316792:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316779:6:21","nodeType":"YulIdentifier","src":"316779:6:21"},"nativeSrc":"316779:16:21","nodeType":"YulFunctionCall","src":"316779:16:21"},"nativeSrc":"316779:16:21","nodeType":"YulExpressionStatement","src":"316779:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316815:4:21","nodeType":"YulLiteral","src":"316815:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"316821:2:21","nodeType":"YulIdentifier","src":"316821:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316808:6:21","nodeType":"YulIdentifier","src":"316808:6:21"},"nativeSrc":"316808:16:21","nodeType":"YulFunctionCall","src":"316808:16:21"},"nativeSrc":"316808:16:21","nodeType":"YulExpressionStatement","src":"316808:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316844:4:21","nodeType":"YulLiteral","src":"316844:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"316850:2:21","nodeType":"YulIdentifier","src":"316850:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316837:6:21","nodeType":"YulIdentifier","src":"316837:6:21"},"nativeSrc":"316837:16:21","nodeType":"YulFunctionCall","src":"316837:16:21"},"nativeSrc":"316837:16:21","nodeType":"YulExpressionStatement","src":"316837:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316873:4:21","nodeType":"YulLiteral","src":"316873:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"316879:2:21","nodeType":"YulIdentifier","src":"316879:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316866:6:21","nodeType":"YulIdentifier","src":"316866:6:21"},"nativeSrc":"316866:16:21","nodeType":"YulFunctionCall","src":"316866:16:21"},"nativeSrc":"316866:16:21","nodeType":"YulExpressionStatement","src":"316866:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316902:4:21","nodeType":"YulLiteral","src":"316902:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"316908:2:21","nodeType":"YulIdentifier","src":"316908:2:21"}],"functionName":{"name":"mstore","nativeSrc":"316895:6:21","nodeType":"YulIdentifier","src":"316895:6:21"},"nativeSrc":"316895:16:21","nodeType":"YulFunctionCall","src":"316895:16:21"},"nativeSrc":"316895:16:21","nodeType":"YulExpressionStatement","src":"316895:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36884,"isOffset":false,"isSlot":false,"src":"316734:2:21","valueSize":1},{"declaration":36887,"isOffset":false,"isSlot":false,"src":"316763:2:21","valueSize":1},{"declaration":36890,"isOffset":false,"isSlot":false,"src":"316792:2:21","valueSize":1},{"declaration":36893,"isOffset":false,"isSlot":false,"src":"316821:2:21","valueSize":1},{"declaration":36896,"isOffset":false,"isSlot":false,"src":"316850:2:21","valueSize":1},{"declaration":36899,"isOffset":false,"isSlot":false,"src":"316879:2:21","valueSize":1},{"declaration":36902,"isOffset":false,"isSlot":false,"src":"316908:2:21","valueSize":1}],"id":36910,"nodeType":"InlineAssembly","src":"316698:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"315516:3:21","parameters":{"id":36881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36874,"mutability":"mutable","name":"p0","nameLocation":"315528:2:21","nodeType":"VariableDeclaration","scope":36912,"src":"315520:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36873,"name":"uint256","nodeType":"ElementaryTypeName","src":"315520:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36876,"mutability":"mutable","name":"p1","nameLocation":"315540:2:21","nodeType":"VariableDeclaration","scope":36912,"src":"315532:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315532:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36878,"mutability":"mutable","name":"p2","nameLocation":"315552:2:21","nodeType":"VariableDeclaration","scope":36912,"src":"315544:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36877,"name":"uint256","nodeType":"ElementaryTypeName","src":"315544:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36880,"mutability":"mutable","name":"p3","nameLocation":"315561:2:21","nodeType":"VariableDeclaration","scope":36912,"src":"315556:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36879,"name":"bool","nodeType":"ElementaryTypeName","src":"315556:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"315519:45:21"},"returnParameters":{"id":36882,"nodeType":"ParameterList","parameters":[],"src":"315579:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36952,"nodeType":"FunctionDefinition","src":"316933:1426:21","nodes":[],"body":{"id":36951,"nodeType":"Block","src":"317008:1351:21","nodes":[],"statements":[{"assignments":[36924],"declarations":[{"constant":false,"id":36924,"mutability":"mutable","name":"m0","nameLocation":"317026:2:21","nodeType":"VariableDeclaration","scope":36951,"src":"317018:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317018:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36925,"nodeType":"VariableDeclarationStatement","src":"317018:10:21"},{"assignments":[36927],"declarations":[{"constant":false,"id":36927,"mutability":"mutable","name":"m1","nameLocation":"317046:2:21","nodeType":"VariableDeclaration","scope":36951,"src":"317038:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317038:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36928,"nodeType":"VariableDeclarationStatement","src":"317038:10:21"},{"assignments":[36930],"declarations":[{"constant":false,"id":36930,"mutability":"mutable","name":"m2","nameLocation":"317066:2:21","nodeType":"VariableDeclaration","scope":36951,"src":"317058:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317058:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36931,"nodeType":"VariableDeclarationStatement","src":"317058:10:21"},{"assignments":[36933],"declarations":[{"constant":false,"id":36933,"mutability":"mutable","name":"m3","nameLocation":"317086:2:21","nodeType":"VariableDeclaration","scope":36951,"src":"317078:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317078:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36934,"nodeType":"VariableDeclarationStatement","src":"317078:10:21"},{"assignments":[36936],"declarations":[{"constant":false,"id":36936,"mutability":"mutable","name":"m4","nameLocation":"317106:2:21","nodeType":"VariableDeclaration","scope":36951,"src":"317098:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36935,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317098:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36937,"nodeType":"VariableDeclarationStatement","src":"317098:10:21"},{"assignments":[36939],"declarations":[{"constant":false,"id":36939,"mutability":"mutable","name":"m5","nameLocation":"317126:2:21","nodeType":"VariableDeclaration","scope":36951,"src":"317118:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36938,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317118:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36940,"nodeType":"VariableDeclarationStatement","src":"317118:10:21"},{"assignments":[36942],"declarations":[{"constant":false,"id":36942,"mutability":"mutable","name":"m6","nameLocation":"317146:2:21","nodeType":"VariableDeclaration","scope":36951,"src":"317138:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36941,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317138:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36943,"nodeType":"VariableDeclarationStatement","src":"317138:10:21"},{"AST":{"nativeSrc":"317210:831:21","nodeType":"YulBlock","src":"317210:831:21","statements":[{"body":{"nativeSrc":"317253:313:21","nodeType":"YulBlock","src":"317253:313:21","statements":[{"nativeSrc":"317271:15:21","nodeType":"YulVariableDeclaration","src":"317271:15:21","value":{"kind":"number","nativeSrc":"317285:1:21","nodeType":"YulLiteral","src":"317285:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"317275:6:21","nodeType":"YulTypedName","src":"317275:6:21","type":""}]},{"body":{"nativeSrc":"317356:40:21","nodeType":"YulBlock","src":"317356:40:21","statements":[{"body":{"nativeSrc":"317385:9:21","nodeType":"YulBlock","src":"317385:9:21","statements":[{"nativeSrc":"317387:5:21","nodeType":"YulBreak","src":"317387:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"317373:6:21","nodeType":"YulIdentifier","src":"317373:6:21"},{"name":"w","nativeSrc":"317381:1:21","nodeType":"YulIdentifier","src":"317381:1:21"}],"functionName":{"name":"byte","nativeSrc":"317368:4:21","nodeType":"YulIdentifier","src":"317368:4:21"},"nativeSrc":"317368:15:21","nodeType":"YulFunctionCall","src":"317368:15:21"}],"functionName":{"name":"iszero","nativeSrc":"317361:6:21","nodeType":"YulIdentifier","src":"317361:6:21"},"nativeSrc":"317361:23:21","nodeType":"YulFunctionCall","src":"317361:23:21"},"nativeSrc":"317358:36:21","nodeType":"YulIf","src":"317358:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"317313:6:21","nodeType":"YulIdentifier","src":"317313:6:21"},{"kind":"number","nativeSrc":"317321:4:21","nodeType":"YulLiteral","src":"317321:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"317310:2:21","nodeType":"YulIdentifier","src":"317310:2:21"},"nativeSrc":"317310:16:21","nodeType":"YulFunctionCall","src":"317310:16:21"},"nativeSrc":"317303:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"317327:28:21","nodeType":"YulBlock","src":"317327:28:21","statements":[{"nativeSrc":"317329:24:21","nodeType":"YulAssignment","src":"317329:24:21","value":{"arguments":[{"name":"length","nativeSrc":"317343:6:21","nodeType":"YulIdentifier","src":"317343:6:21"},{"kind":"number","nativeSrc":"317351:1:21","nodeType":"YulLiteral","src":"317351:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"317339:3:21","nodeType":"YulIdentifier","src":"317339:3:21"},"nativeSrc":"317339:14:21","nodeType":"YulFunctionCall","src":"317339:14:21"},"variableNames":[{"name":"length","nativeSrc":"317329:6:21","nodeType":"YulIdentifier","src":"317329:6:21"}]}]},"pre":{"nativeSrc":"317307:2:21","nodeType":"YulBlock","src":"317307:2:21","statements":[]},"src":"317303:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"317420:3:21","nodeType":"YulIdentifier","src":"317420:3:21"},{"name":"length","nativeSrc":"317425:6:21","nodeType":"YulIdentifier","src":"317425:6:21"}],"functionName":{"name":"mstore","nativeSrc":"317413:6:21","nodeType":"YulIdentifier","src":"317413:6:21"},"nativeSrc":"317413:19:21","nodeType":"YulFunctionCall","src":"317413:19:21"},"nativeSrc":"317413:19:21","nodeType":"YulExpressionStatement","src":"317413:19:21"},{"nativeSrc":"317449:37:21","nodeType":"YulVariableDeclaration","src":"317449:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"317466:3:21","nodeType":"YulLiteral","src":"317466:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"317475:1:21","nodeType":"YulLiteral","src":"317475:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"317478:6:21","nodeType":"YulIdentifier","src":"317478:6:21"}],"functionName":{"name":"shl","nativeSrc":"317471:3:21","nodeType":"YulIdentifier","src":"317471:3:21"},"nativeSrc":"317471:14:21","nodeType":"YulFunctionCall","src":"317471:14:21"}],"functionName":{"name":"sub","nativeSrc":"317462:3:21","nodeType":"YulIdentifier","src":"317462:3:21"},"nativeSrc":"317462:24:21","nodeType":"YulFunctionCall","src":"317462:24:21"},"variables":[{"name":"shift","nativeSrc":"317453:5:21","nodeType":"YulTypedName","src":"317453:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"317514:3:21","nodeType":"YulIdentifier","src":"317514:3:21"},{"kind":"number","nativeSrc":"317519:4:21","nodeType":"YulLiteral","src":"317519:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"317510:3:21","nodeType":"YulIdentifier","src":"317510:3:21"},"nativeSrc":"317510:14:21","nodeType":"YulFunctionCall","src":"317510:14:21"},{"arguments":[{"name":"shift","nativeSrc":"317530:5:21","nodeType":"YulIdentifier","src":"317530:5:21"},{"arguments":[{"name":"shift","nativeSrc":"317541:5:21","nodeType":"YulIdentifier","src":"317541:5:21"},{"name":"w","nativeSrc":"317548:1:21","nodeType":"YulIdentifier","src":"317548:1:21"}],"functionName":{"name":"shr","nativeSrc":"317537:3:21","nodeType":"YulIdentifier","src":"317537:3:21"},"nativeSrc":"317537:13:21","nodeType":"YulFunctionCall","src":"317537:13:21"}],"functionName":{"name":"shl","nativeSrc":"317526:3:21","nodeType":"YulIdentifier","src":"317526:3:21"},"nativeSrc":"317526:25:21","nodeType":"YulFunctionCall","src":"317526:25:21"}],"functionName":{"name":"mstore","nativeSrc":"317503:6:21","nodeType":"YulIdentifier","src":"317503:6:21"},"nativeSrc":"317503:49:21","nodeType":"YulFunctionCall","src":"317503:49:21"},"nativeSrc":"317503:49:21","nodeType":"YulExpressionStatement","src":"317503:49:21"}]},"name":"writeString","nativeSrc":"317224:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"317245:3:21","nodeType":"YulTypedName","src":"317245:3:21","type":""},{"name":"w","nativeSrc":"317250:1:21","nodeType":"YulTypedName","src":"317250:1:21","type":""}],"src":"317224:342:21"},{"nativeSrc":"317579:17:21","nodeType":"YulAssignment","src":"317579:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"317591:4:21","nodeType":"YulLiteral","src":"317591:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"317585:5:21","nodeType":"YulIdentifier","src":"317585:5:21"},"nativeSrc":"317585:11:21","nodeType":"YulFunctionCall","src":"317585:11:21"},"variableNames":[{"name":"m0","nativeSrc":"317579:2:21","nodeType":"YulIdentifier","src":"317579:2:21"}]},{"nativeSrc":"317609:17:21","nodeType":"YulAssignment","src":"317609:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"317621:4:21","nodeType":"YulLiteral","src":"317621:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"317615:5:21","nodeType":"YulIdentifier","src":"317615:5:21"},"nativeSrc":"317615:11:21","nodeType":"YulFunctionCall","src":"317615:11:21"},"variableNames":[{"name":"m1","nativeSrc":"317609:2:21","nodeType":"YulIdentifier","src":"317609:2:21"}]},{"nativeSrc":"317639:17:21","nodeType":"YulAssignment","src":"317639:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"317651:4:21","nodeType":"YulLiteral","src":"317651:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"317645:5:21","nodeType":"YulIdentifier","src":"317645:5:21"},"nativeSrc":"317645:11:21","nodeType":"YulFunctionCall","src":"317645:11:21"},"variableNames":[{"name":"m2","nativeSrc":"317639:2:21","nodeType":"YulIdentifier","src":"317639:2:21"}]},{"nativeSrc":"317669:17:21","nodeType":"YulAssignment","src":"317669:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"317681:4:21","nodeType":"YulLiteral","src":"317681:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"317675:5:21","nodeType":"YulIdentifier","src":"317675:5:21"},"nativeSrc":"317675:11:21","nodeType":"YulFunctionCall","src":"317675:11:21"},"variableNames":[{"name":"m3","nativeSrc":"317669:2:21","nodeType":"YulIdentifier","src":"317669:2:21"}]},{"nativeSrc":"317699:17:21","nodeType":"YulAssignment","src":"317699:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"317711:4:21","nodeType":"YulLiteral","src":"317711:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"317705:5:21","nodeType":"YulIdentifier","src":"317705:5:21"},"nativeSrc":"317705:11:21","nodeType":"YulFunctionCall","src":"317705:11:21"},"variableNames":[{"name":"m4","nativeSrc":"317699:2:21","nodeType":"YulIdentifier","src":"317699:2:21"}]},{"nativeSrc":"317729:17:21","nodeType":"YulAssignment","src":"317729:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"317741:4:21","nodeType":"YulLiteral","src":"317741:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"317735:5:21","nodeType":"YulIdentifier","src":"317735:5:21"},"nativeSrc":"317735:11:21","nodeType":"YulFunctionCall","src":"317735:11:21"},"variableNames":[{"name":"m5","nativeSrc":"317729:2:21","nodeType":"YulIdentifier","src":"317729:2:21"}]},{"nativeSrc":"317759:17:21","nodeType":"YulAssignment","src":"317759:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"317771:4:21","nodeType":"YulLiteral","src":"317771:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"317765:5:21","nodeType":"YulIdentifier","src":"317765:5:21"},"nativeSrc":"317765:11:21","nodeType":"YulFunctionCall","src":"317765:11:21"},"variableNames":[{"name":"m6","nativeSrc":"317759:2:21","nodeType":"YulIdentifier","src":"317759:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317862:4:21","nodeType":"YulLiteral","src":"317862:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"317868:10:21","nodeType":"YulLiteral","src":"317868:10:21","type":"","value":"0x82c25b74"}],"functionName":{"name":"mstore","nativeSrc":"317855:6:21","nodeType":"YulIdentifier","src":"317855:6:21"},"nativeSrc":"317855:24:21","nodeType":"YulFunctionCall","src":"317855:24:21"},"nativeSrc":"317855:24:21","nodeType":"YulExpressionStatement","src":"317855:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317899:4:21","nodeType":"YulLiteral","src":"317899:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"317905:2:21","nodeType":"YulIdentifier","src":"317905:2:21"}],"functionName":{"name":"mstore","nativeSrc":"317892:6:21","nodeType":"YulIdentifier","src":"317892:6:21"},"nativeSrc":"317892:16:21","nodeType":"YulFunctionCall","src":"317892:16:21"},"nativeSrc":"317892:16:21","nodeType":"YulExpressionStatement","src":"317892:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317928:4:21","nodeType":"YulLiteral","src":"317928:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"317934:4:21","nodeType":"YulLiteral","src":"317934:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"317921:6:21","nodeType":"YulIdentifier","src":"317921:6:21"},"nativeSrc":"317921:18:21","nodeType":"YulFunctionCall","src":"317921:18:21"},"nativeSrc":"317921:18:21","nodeType":"YulExpressionStatement","src":"317921:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317959:4:21","nodeType":"YulLiteral","src":"317959:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"317965:2:21","nodeType":"YulIdentifier","src":"317965:2:21"}],"functionName":{"name":"mstore","nativeSrc":"317952:6:21","nodeType":"YulIdentifier","src":"317952:6:21"},"nativeSrc":"317952:16:21","nodeType":"YulFunctionCall","src":"317952:16:21"},"nativeSrc":"317952:16:21","nodeType":"YulExpressionStatement","src":"317952:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317988:4:21","nodeType":"YulLiteral","src":"317988:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"317994:2:21","nodeType":"YulIdentifier","src":"317994:2:21"}],"functionName":{"name":"mstore","nativeSrc":"317981:6:21","nodeType":"YulIdentifier","src":"317981:6:21"},"nativeSrc":"317981:16:21","nodeType":"YulFunctionCall","src":"317981:16:21"},"nativeSrc":"317981:16:21","nodeType":"YulExpressionStatement","src":"317981:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318022:4:21","nodeType":"YulLiteral","src":"318022:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"318028:2:21","nodeType":"YulIdentifier","src":"318028:2:21"}],"functionName":{"name":"writeString","nativeSrc":"318010:11:21","nodeType":"YulIdentifier","src":"318010:11:21"},"nativeSrc":"318010:21:21","nodeType":"YulFunctionCall","src":"318010:21:21"},"nativeSrc":"318010:21:21","nodeType":"YulExpressionStatement","src":"318010:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36924,"isOffset":false,"isSlot":false,"src":"317579:2:21","valueSize":1},{"declaration":36927,"isOffset":false,"isSlot":false,"src":"317609:2:21","valueSize":1},{"declaration":36930,"isOffset":false,"isSlot":false,"src":"317639:2:21","valueSize":1},{"declaration":36933,"isOffset":false,"isSlot":false,"src":"317669:2:21","valueSize":1},{"declaration":36936,"isOffset":false,"isSlot":false,"src":"317699:2:21","valueSize":1},{"declaration":36939,"isOffset":false,"isSlot":false,"src":"317729:2:21","valueSize":1},{"declaration":36942,"isOffset":false,"isSlot":false,"src":"317759:2:21","valueSize":1},{"declaration":36914,"isOffset":false,"isSlot":false,"src":"317905:2:21","valueSize":1},{"declaration":36916,"isOffset":false,"isSlot":false,"src":"318028:2:21","valueSize":1},{"declaration":36918,"isOffset":false,"isSlot":false,"src":"317965:2:21","valueSize":1},{"declaration":36920,"isOffset":false,"isSlot":false,"src":"317994:2:21","valueSize":1}],"id":36944,"nodeType":"InlineAssembly","src":"317201:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"318066:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"318072:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36945,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"318050:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"318050:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36949,"nodeType":"ExpressionStatement","src":"318050:27:21"},{"AST":{"nativeSrc":"318139:214:21","nodeType":"YulBlock","src":"318139:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"318160:4:21","nodeType":"YulLiteral","src":"318160:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"318166:2:21","nodeType":"YulIdentifier","src":"318166:2:21"}],"functionName":{"name":"mstore","nativeSrc":"318153:6:21","nodeType":"YulIdentifier","src":"318153:6:21"},"nativeSrc":"318153:16:21","nodeType":"YulFunctionCall","src":"318153:16:21"},"nativeSrc":"318153:16:21","nodeType":"YulExpressionStatement","src":"318153:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318189:4:21","nodeType":"YulLiteral","src":"318189:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"318195:2:21","nodeType":"YulIdentifier","src":"318195:2:21"}],"functionName":{"name":"mstore","nativeSrc":"318182:6:21","nodeType":"YulIdentifier","src":"318182:6:21"},"nativeSrc":"318182:16:21","nodeType":"YulFunctionCall","src":"318182:16:21"},"nativeSrc":"318182:16:21","nodeType":"YulExpressionStatement","src":"318182:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318218:4:21","nodeType":"YulLiteral","src":"318218:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"318224:2:21","nodeType":"YulIdentifier","src":"318224:2:21"}],"functionName":{"name":"mstore","nativeSrc":"318211:6:21","nodeType":"YulIdentifier","src":"318211:6:21"},"nativeSrc":"318211:16:21","nodeType":"YulFunctionCall","src":"318211:16:21"},"nativeSrc":"318211:16:21","nodeType":"YulExpressionStatement","src":"318211:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318247:4:21","nodeType":"YulLiteral","src":"318247:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"318253:2:21","nodeType":"YulIdentifier","src":"318253:2:21"}],"functionName":{"name":"mstore","nativeSrc":"318240:6:21","nodeType":"YulIdentifier","src":"318240:6:21"},"nativeSrc":"318240:16:21","nodeType":"YulFunctionCall","src":"318240:16:21"},"nativeSrc":"318240:16:21","nodeType":"YulExpressionStatement","src":"318240:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318276:4:21","nodeType":"YulLiteral","src":"318276:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"318282:2:21","nodeType":"YulIdentifier","src":"318282:2:21"}],"functionName":{"name":"mstore","nativeSrc":"318269:6:21","nodeType":"YulIdentifier","src":"318269:6:21"},"nativeSrc":"318269:16:21","nodeType":"YulFunctionCall","src":"318269:16:21"},"nativeSrc":"318269:16:21","nodeType":"YulExpressionStatement","src":"318269:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318305:4:21","nodeType":"YulLiteral","src":"318305:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"318311:2:21","nodeType":"YulIdentifier","src":"318311:2:21"}],"functionName":{"name":"mstore","nativeSrc":"318298:6:21","nodeType":"YulIdentifier","src":"318298:6:21"},"nativeSrc":"318298:16:21","nodeType":"YulFunctionCall","src":"318298:16:21"},"nativeSrc":"318298:16:21","nodeType":"YulExpressionStatement","src":"318298:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318334:4:21","nodeType":"YulLiteral","src":"318334:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"318340:2:21","nodeType":"YulIdentifier","src":"318340:2:21"}],"functionName":{"name":"mstore","nativeSrc":"318327:6:21","nodeType":"YulIdentifier","src":"318327:6:21"},"nativeSrc":"318327:16:21","nodeType":"YulFunctionCall","src":"318327:16:21"},"nativeSrc":"318327:16:21","nodeType":"YulExpressionStatement","src":"318327:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36924,"isOffset":false,"isSlot":false,"src":"318166:2:21","valueSize":1},{"declaration":36927,"isOffset":false,"isSlot":false,"src":"318195:2:21","valueSize":1},{"declaration":36930,"isOffset":false,"isSlot":false,"src":"318224:2:21","valueSize":1},{"declaration":36933,"isOffset":false,"isSlot":false,"src":"318253:2:21","valueSize":1},{"declaration":36936,"isOffset":false,"isSlot":false,"src":"318282:2:21","valueSize":1},{"declaration":36939,"isOffset":false,"isSlot":false,"src":"318311:2:21","valueSize":1},{"declaration":36942,"isOffset":false,"isSlot":false,"src":"318340:2:21","valueSize":1}],"id":36950,"nodeType":"InlineAssembly","src":"318130:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"316942:3:21","parameters":{"id":36921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36914,"mutability":"mutable","name":"p0","nameLocation":"316954:2:21","nodeType":"VariableDeclaration","scope":36952,"src":"316946:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36913,"name":"uint256","nodeType":"ElementaryTypeName","src":"316946:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36916,"mutability":"mutable","name":"p1","nameLocation":"316966:2:21","nodeType":"VariableDeclaration","scope":36952,"src":"316958:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"316958:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36918,"mutability":"mutable","name":"p2","nameLocation":"316978:2:21","nodeType":"VariableDeclaration","scope":36952,"src":"316970:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36917,"name":"uint256","nodeType":"ElementaryTypeName","src":"316970:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36920,"mutability":"mutable","name":"p3","nameLocation":"316990:2:21","nodeType":"VariableDeclaration","scope":36952,"src":"316982:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36919,"name":"uint256","nodeType":"ElementaryTypeName","src":"316982:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"316945:48:21"},"returnParameters":{"id":36922,"nodeType":"ParameterList","parameters":[],"src":"317008:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36998,"nodeType":"FunctionDefinition","src":"318365:1622:21","nodes":[],"body":{"id":36997,"nodeType":"Block","src":"318440:1547:21","nodes":[],"statements":[{"assignments":[36964],"declarations":[{"constant":false,"id":36964,"mutability":"mutable","name":"m0","nameLocation":"318458:2:21","nodeType":"VariableDeclaration","scope":36997,"src":"318450:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318450:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36965,"nodeType":"VariableDeclarationStatement","src":"318450:10:21"},{"assignments":[36967],"declarations":[{"constant":false,"id":36967,"mutability":"mutable","name":"m1","nameLocation":"318478:2:21","nodeType":"VariableDeclaration","scope":36997,"src":"318470:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318470:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36968,"nodeType":"VariableDeclarationStatement","src":"318470:10:21"},{"assignments":[36970],"declarations":[{"constant":false,"id":36970,"mutability":"mutable","name":"m2","nameLocation":"318498:2:21","nodeType":"VariableDeclaration","scope":36997,"src":"318490:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318490:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36971,"nodeType":"VariableDeclarationStatement","src":"318490:10:21"},{"assignments":[36973],"declarations":[{"constant":false,"id":36973,"mutability":"mutable","name":"m3","nameLocation":"318518:2:21","nodeType":"VariableDeclaration","scope":36997,"src":"318510:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318510:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36974,"nodeType":"VariableDeclarationStatement","src":"318510:10:21"},{"assignments":[36976],"declarations":[{"constant":false,"id":36976,"mutability":"mutable","name":"m4","nameLocation":"318538:2:21","nodeType":"VariableDeclaration","scope":36997,"src":"318530:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318530:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36977,"nodeType":"VariableDeclarationStatement","src":"318530:10:21"},{"assignments":[36979],"declarations":[{"constant":false,"id":36979,"mutability":"mutable","name":"m5","nameLocation":"318558:2:21","nodeType":"VariableDeclaration","scope":36997,"src":"318550:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318550:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36980,"nodeType":"VariableDeclarationStatement","src":"318550:10:21"},{"assignments":[36982],"declarations":[{"constant":false,"id":36982,"mutability":"mutable","name":"m6","nameLocation":"318578:2:21","nodeType":"VariableDeclaration","scope":36997,"src":"318570:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36981,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318570:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36983,"nodeType":"VariableDeclarationStatement","src":"318570:10:21"},{"assignments":[36985],"declarations":[{"constant":false,"id":36985,"mutability":"mutable","name":"m7","nameLocation":"318598:2:21","nodeType":"VariableDeclaration","scope":36997,"src":"318590:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36984,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318590:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36986,"nodeType":"VariableDeclarationStatement","src":"318590:10:21"},{"assignments":[36988],"declarations":[{"constant":false,"id":36988,"mutability":"mutable","name":"m8","nameLocation":"318618:2:21","nodeType":"VariableDeclaration","scope":36997,"src":"318610:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318610:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36989,"nodeType":"VariableDeclarationStatement","src":"318610:10:21"},{"AST":{"nativeSrc":"318682:927:21","nodeType":"YulBlock","src":"318682:927:21","statements":[{"body":{"nativeSrc":"318725:313:21","nodeType":"YulBlock","src":"318725:313:21","statements":[{"nativeSrc":"318743:15:21","nodeType":"YulVariableDeclaration","src":"318743:15:21","value":{"kind":"number","nativeSrc":"318757:1:21","nodeType":"YulLiteral","src":"318757:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"318747:6:21","nodeType":"YulTypedName","src":"318747:6:21","type":""}]},{"body":{"nativeSrc":"318828:40:21","nodeType":"YulBlock","src":"318828:40:21","statements":[{"body":{"nativeSrc":"318857:9:21","nodeType":"YulBlock","src":"318857:9:21","statements":[{"nativeSrc":"318859:5:21","nodeType":"YulBreak","src":"318859:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"318845:6:21","nodeType":"YulIdentifier","src":"318845:6:21"},{"name":"w","nativeSrc":"318853:1:21","nodeType":"YulIdentifier","src":"318853:1:21"}],"functionName":{"name":"byte","nativeSrc":"318840:4:21","nodeType":"YulIdentifier","src":"318840:4:21"},"nativeSrc":"318840:15:21","nodeType":"YulFunctionCall","src":"318840:15:21"}],"functionName":{"name":"iszero","nativeSrc":"318833:6:21","nodeType":"YulIdentifier","src":"318833:6:21"},"nativeSrc":"318833:23:21","nodeType":"YulFunctionCall","src":"318833:23:21"},"nativeSrc":"318830:36:21","nodeType":"YulIf","src":"318830:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"318785:6:21","nodeType":"YulIdentifier","src":"318785:6:21"},{"kind":"number","nativeSrc":"318793:4:21","nodeType":"YulLiteral","src":"318793:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"318782:2:21","nodeType":"YulIdentifier","src":"318782:2:21"},"nativeSrc":"318782:16:21","nodeType":"YulFunctionCall","src":"318782:16:21"},"nativeSrc":"318775:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"318799:28:21","nodeType":"YulBlock","src":"318799:28:21","statements":[{"nativeSrc":"318801:24:21","nodeType":"YulAssignment","src":"318801:24:21","value":{"arguments":[{"name":"length","nativeSrc":"318815:6:21","nodeType":"YulIdentifier","src":"318815:6:21"},{"kind":"number","nativeSrc":"318823:1:21","nodeType":"YulLiteral","src":"318823:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"318811:3:21","nodeType":"YulIdentifier","src":"318811:3:21"},"nativeSrc":"318811:14:21","nodeType":"YulFunctionCall","src":"318811:14:21"},"variableNames":[{"name":"length","nativeSrc":"318801:6:21","nodeType":"YulIdentifier","src":"318801:6:21"}]}]},"pre":{"nativeSrc":"318779:2:21","nodeType":"YulBlock","src":"318779:2:21","statements":[]},"src":"318775:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"318892:3:21","nodeType":"YulIdentifier","src":"318892:3:21"},{"name":"length","nativeSrc":"318897:6:21","nodeType":"YulIdentifier","src":"318897:6:21"}],"functionName":{"name":"mstore","nativeSrc":"318885:6:21","nodeType":"YulIdentifier","src":"318885:6:21"},"nativeSrc":"318885:19:21","nodeType":"YulFunctionCall","src":"318885:19:21"},"nativeSrc":"318885:19:21","nodeType":"YulExpressionStatement","src":"318885:19:21"},{"nativeSrc":"318921:37:21","nodeType":"YulVariableDeclaration","src":"318921:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"318938:3:21","nodeType":"YulLiteral","src":"318938:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"318947:1:21","nodeType":"YulLiteral","src":"318947:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"318950:6:21","nodeType":"YulIdentifier","src":"318950:6:21"}],"functionName":{"name":"shl","nativeSrc":"318943:3:21","nodeType":"YulIdentifier","src":"318943:3:21"},"nativeSrc":"318943:14:21","nodeType":"YulFunctionCall","src":"318943:14:21"}],"functionName":{"name":"sub","nativeSrc":"318934:3:21","nodeType":"YulIdentifier","src":"318934:3:21"},"nativeSrc":"318934:24:21","nodeType":"YulFunctionCall","src":"318934:24:21"},"variables":[{"name":"shift","nativeSrc":"318925:5:21","nodeType":"YulTypedName","src":"318925:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"318986:3:21","nodeType":"YulIdentifier","src":"318986:3:21"},{"kind":"number","nativeSrc":"318991:4:21","nodeType":"YulLiteral","src":"318991:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"318982:3:21","nodeType":"YulIdentifier","src":"318982:3:21"},"nativeSrc":"318982:14:21","nodeType":"YulFunctionCall","src":"318982:14:21"},{"arguments":[{"name":"shift","nativeSrc":"319002:5:21","nodeType":"YulIdentifier","src":"319002:5:21"},{"arguments":[{"name":"shift","nativeSrc":"319013:5:21","nodeType":"YulIdentifier","src":"319013:5:21"},{"name":"w","nativeSrc":"319020:1:21","nodeType":"YulIdentifier","src":"319020:1:21"}],"functionName":{"name":"shr","nativeSrc":"319009:3:21","nodeType":"YulIdentifier","src":"319009:3:21"},"nativeSrc":"319009:13:21","nodeType":"YulFunctionCall","src":"319009:13:21"}],"functionName":{"name":"shl","nativeSrc":"318998:3:21","nodeType":"YulIdentifier","src":"318998:3:21"},"nativeSrc":"318998:25:21","nodeType":"YulFunctionCall","src":"318998:25:21"}],"functionName":{"name":"mstore","nativeSrc":"318975:6:21","nodeType":"YulIdentifier","src":"318975:6:21"},"nativeSrc":"318975:49:21","nodeType":"YulFunctionCall","src":"318975:49:21"},"nativeSrc":"318975:49:21","nodeType":"YulExpressionStatement","src":"318975:49:21"}]},"name":"writeString","nativeSrc":"318696:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"318717:3:21","nodeType":"YulTypedName","src":"318717:3:21","type":""},{"name":"w","nativeSrc":"318722:1:21","nodeType":"YulTypedName","src":"318722:1:21","type":""}],"src":"318696:342:21"},{"nativeSrc":"319051:17:21","nodeType":"YulAssignment","src":"319051:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"319063:4:21","nodeType":"YulLiteral","src":"319063:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"319057:5:21","nodeType":"YulIdentifier","src":"319057:5:21"},"nativeSrc":"319057:11:21","nodeType":"YulFunctionCall","src":"319057:11:21"},"variableNames":[{"name":"m0","nativeSrc":"319051:2:21","nodeType":"YulIdentifier","src":"319051:2:21"}]},{"nativeSrc":"319081:17:21","nodeType":"YulAssignment","src":"319081:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"319093:4:21","nodeType":"YulLiteral","src":"319093:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"319087:5:21","nodeType":"YulIdentifier","src":"319087:5:21"},"nativeSrc":"319087:11:21","nodeType":"YulFunctionCall","src":"319087:11:21"},"variableNames":[{"name":"m1","nativeSrc":"319081:2:21","nodeType":"YulIdentifier","src":"319081:2:21"}]},{"nativeSrc":"319111:17:21","nodeType":"YulAssignment","src":"319111:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"319123:4:21","nodeType":"YulLiteral","src":"319123:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"319117:5:21","nodeType":"YulIdentifier","src":"319117:5:21"},"nativeSrc":"319117:11:21","nodeType":"YulFunctionCall","src":"319117:11:21"},"variableNames":[{"name":"m2","nativeSrc":"319111:2:21","nodeType":"YulIdentifier","src":"319111:2:21"}]},{"nativeSrc":"319141:17:21","nodeType":"YulAssignment","src":"319141:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"319153:4:21","nodeType":"YulLiteral","src":"319153:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"319147:5:21","nodeType":"YulIdentifier","src":"319147:5:21"},"nativeSrc":"319147:11:21","nodeType":"YulFunctionCall","src":"319147:11:21"},"variableNames":[{"name":"m3","nativeSrc":"319141:2:21","nodeType":"YulIdentifier","src":"319141:2:21"}]},{"nativeSrc":"319171:17:21","nodeType":"YulAssignment","src":"319171:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"319183:4:21","nodeType":"YulLiteral","src":"319183:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"319177:5:21","nodeType":"YulIdentifier","src":"319177:5:21"},"nativeSrc":"319177:11:21","nodeType":"YulFunctionCall","src":"319177:11:21"},"variableNames":[{"name":"m4","nativeSrc":"319171:2:21","nodeType":"YulIdentifier","src":"319171:2:21"}]},{"nativeSrc":"319201:17:21","nodeType":"YulAssignment","src":"319201:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"319213:4:21","nodeType":"YulLiteral","src":"319213:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"319207:5:21","nodeType":"YulIdentifier","src":"319207:5:21"},"nativeSrc":"319207:11:21","nodeType":"YulFunctionCall","src":"319207:11:21"},"variableNames":[{"name":"m5","nativeSrc":"319201:2:21","nodeType":"YulIdentifier","src":"319201:2:21"}]},{"nativeSrc":"319231:17:21","nodeType":"YulAssignment","src":"319231:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"319243:4:21","nodeType":"YulLiteral","src":"319243:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"319237:5:21","nodeType":"YulIdentifier","src":"319237:5:21"},"nativeSrc":"319237:11:21","nodeType":"YulFunctionCall","src":"319237:11:21"},"variableNames":[{"name":"m6","nativeSrc":"319231:2:21","nodeType":"YulIdentifier","src":"319231:2:21"}]},{"nativeSrc":"319261:17:21","nodeType":"YulAssignment","src":"319261:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"319273:4:21","nodeType":"YulLiteral","src":"319273:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"319267:5:21","nodeType":"YulIdentifier","src":"319267:5:21"},"nativeSrc":"319267:11:21","nodeType":"YulFunctionCall","src":"319267:11:21"},"variableNames":[{"name":"m7","nativeSrc":"319261:2:21","nodeType":"YulIdentifier","src":"319261:2:21"}]},{"nativeSrc":"319291:18:21","nodeType":"YulAssignment","src":"319291:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"319303:5:21","nodeType":"YulLiteral","src":"319303:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"319297:5:21","nodeType":"YulIdentifier","src":"319297:5:21"},"nativeSrc":"319297:12:21","nodeType":"YulFunctionCall","src":"319297:12:21"},"variableNames":[{"name":"m8","nativeSrc":"319291:2:21","nodeType":"YulIdentifier","src":"319291:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319394:4:21","nodeType":"YulLiteral","src":"319394:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"319400:10:21","nodeType":"YulLiteral","src":"319400:10:21","type":"","value":"0xb7b914ca"}],"functionName":{"name":"mstore","nativeSrc":"319387:6:21","nodeType":"YulIdentifier","src":"319387:6:21"},"nativeSrc":"319387:24:21","nodeType":"YulFunctionCall","src":"319387:24:21"},"nativeSrc":"319387:24:21","nodeType":"YulExpressionStatement","src":"319387:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319431:4:21","nodeType":"YulLiteral","src":"319431:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"319437:2:21","nodeType":"YulIdentifier","src":"319437:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319424:6:21","nodeType":"YulIdentifier","src":"319424:6:21"},"nativeSrc":"319424:16:21","nodeType":"YulFunctionCall","src":"319424:16:21"},"nativeSrc":"319424:16:21","nodeType":"YulExpressionStatement","src":"319424:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319460:4:21","nodeType":"YulLiteral","src":"319460:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"319466:4:21","nodeType":"YulLiteral","src":"319466:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"319453:6:21","nodeType":"YulIdentifier","src":"319453:6:21"},"nativeSrc":"319453:18:21","nodeType":"YulFunctionCall","src":"319453:18:21"},"nativeSrc":"319453:18:21","nodeType":"YulExpressionStatement","src":"319453:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319491:4:21","nodeType":"YulLiteral","src":"319491:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"319497:2:21","nodeType":"YulIdentifier","src":"319497:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319484:6:21","nodeType":"YulIdentifier","src":"319484:6:21"},"nativeSrc":"319484:16:21","nodeType":"YulFunctionCall","src":"319484:16:21"},"nativeSrc":"319484:16:21","nodeType":"YulExpressionStatement","src":"319484:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319520:4:21","nodeType":"YulLiteral","src":"319520:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"319526:4:21","nodeType":"YulLiteral","src":"319526:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"319513:6:21","nodeType":"YulIdentifier","src":"319513:6:21"},"nativeSrc":"319513:18:21","nodeType":"YulFunctionCall","src":"319513:18:21"},"nativeSrc":"319513:18:21","nodeType":"YulExpressionStatement","src":"319513:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319556:4:21","nodeType":"YulLiteral","src":"319556:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"319562:2:21","nodeType":"YulIdentifier","src":"319562:2:21"}],"functionName":{"name":"writeString","nativeSrc":"319544:11:21","nodeType":"YulIdentifier","src":"319544:11:21"},"nativeSrc":"319544:21:21","nodeType":"YulFunctionCall","src":"319544:21:21"},"nativeSrc":"319544:21:21","nodeType":"YulExpressionStatement","src":"319544:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319590:4:21","nodeType":"YulLiteral","src":"319590:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"319596:2:21","nodeType":"YulIdentifier","src":"319596:2:21"}],"functionName":{"name":"writeString","nativeSrc":"319578:11:21","nodeType":"YulIdentifier","src":"319578:11:21"},"nativeSrc":"319578:21:21","nodeType":"YulFunctionCall","src":"319578:21:21"},"nativeSrc":"319578:21:21","nodeType":"YulExpressionStatement","src":"319578:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36964,"isOffset":false,"isSlot":false,"src":"319051:2:21","valueSize":1},{"declaration":36967,"isOffset":false,"isSlot":false,"src":"319081:2:21","valueSize":1},{"declaration":36970,"isOffset":false,"isSlot":false,"src":"319111:2:21","valueSize":1},{"declaration":36973,"isOffset":false,"isSlot":false,"src":"319141:2:21","valueSize":1},{"declaration":36976,"isOffset":false,"isSlot":false,"src":"319171:2:21","valueSize":1},{"declaration":36979,"isOffset":false,"isSlot":false,"src":"319201:2:21","valueSize":1},{"declaration":36982,"isOffset":false,"isSlot":false,"src":"319231:2:21","valueSize":1},{"declaration":36985,"isOffset":false,"isSlot":false,"src":"319261:2:21","valueSize":1},{"declaration":36988,"isOffset":false,"isSlot":false,"src":"319291:2:21","valueSize":1},{"declaration":36954,"isOffset":false,"isSlot":false,"src":"319437:2:21","valueSize":1},{"declaration":36956,"isOffset":false,"isSlot":false,"src":"319562:2:21","valueSize":1},{"declaration":36958,"isOffset":false,"isSlot":false,"src":"319497:2:21","valueSize":1},{"declaration":36960,"isOffset":false,"isSlot":false,"src":"319596:2:21","valueSize":1}],"id":36990,"nodeType":"InlineAssembly","src":"318673:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":36992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"319634:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"319640:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36991,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"319618:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"319618:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36995,"nodeType":"ExpressionStatement","src":"319618:28:21"},{"AST":{"nativeSrc":"319708:273:21","nodeType":"YulBlock","src":"319708:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"319729:4:21","nodeType":"YulLiteral","src":"319729:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"319735:2:21","nodeType":"YulIdentifier","src":"319735:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319722:6:21","nodeType":"YulIdentifier","src":"319722:6:21"},"nativeSrc":"319722:16:21","nodeType":"YulFunctionCall","src":"319722:16:21"},"nativeSrc":"319722:16:21","nodeType":"YulExpressionStatement","src":"319722:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319758:4:21","nodeType":"YulLiteral","src":"319758:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"319764:2:21","nodeType":"YulIdentifier","src":"319764:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319751:6:21","nodeType":"YulIdentifier","src":"319751:6:21"},"nativeSrc":"319751:16:21","nodeType":"YulFunctionCall","src":"319751:16:21"},"nativeSrc":"319751:16:21","nodeType":"YulExpressionStatement","src":"319751:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319787:4:21","nodeType":"YulLiteral","src":"319787:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"319793:2:21","nodeType":"YulIdentifier","src":"319793:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319780:6:21","nodeType":"YulIdentifier","src":"319780:6:21"},"nativeSrc":"319780:16:21","nodeType":"YulFunctionCall","src":"319780:16:21"},"nativeSrc":"319780:16:21","nodeType":"YulExpressionStatement","src":"319780:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319816:4:21","nodeType":"YulLiteral","src":"319816:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"319822:2:21","nodeType":"YulIdentifier","src":"319822:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319809:6:21","nodeType":"YulIdentifier","src":"319809:6:21"},"nativeSrc":"319809:16:21","nodeType":"YulFunctionCall","src":"319809:16:21"},"nativeSrc":"319809:16:21","nodeType":"YulExpressionStatement","src":"319809:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319845:4:21","nodeType":"YulLiteral","src":"319845:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"319851:2:21","nodeType":"YulIdentifier","src":"319851:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319838:6:21","nodeType":"YulIdentifier","src":"319838:6:21"},"nativeSrc":"319838:16:21","nodeType":"YulFunctionCall","src":"319838:16:21"},"nativeSrc":"319838:16:21","nodeType":"YulExpressionStatement","src":"319838:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319874:4:21","nodeType":"YulLiteral","src":"319874:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"319880:2:21","nodeType":"YulIdentifier","src":"319880:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319867:6:21","nodeType":"YulIdentifier","src":"319867:6:21"},"nativeSrc":"319867:16:21","nodeType":"YulFunctionCall","src":"319867:16:21"},"nativeSrc":"319867:16:21","nodeType":"YulExpressionStatement","src":"319867:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319903:4:21","nodeType":"YulLiteral","src":"319903:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"319909:2:21","nodeType":"YulIdentifier","src":"319909:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319896:6:21","nodeType":"YulIdentifier","src":"319896:6:21"},"nativeSrc":"319896:16:21","nodeType":"YulFunctionCall","src":"319896:16:21"},"nativeSrc":"319896:16:21","nodeType":"YulExpressionStatement","src":"319896:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319932:4:21","nodeType":"YulLiteral","src":"319932:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"319938:2:21","nodeType":"YulIdentifier","src":"319938:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319925:6:21","nodeType":"YulIdentifier","src":"319925:6:21"},"nativeSrc":"319925:16:21","nodeType":"YulFunctionCall","src":"319925:16:21"},"nativeSrc":"319925:16:21","nodeType":"YulExpressionStatement","src":"319925:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319961:5:21","nodeType":"YulLiteral","src":"319961:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"319968:2:21","nodeType":"YulIdentifier","src":"319968:2:21"}],"functionName":{"name":"mstore","nativeSrc":"319954:6:21","nodeType":"YulIdentifier","src":"319954:6:21"},"nativeSrc":"319954:17:21","nodeType":"YulFunctionCall","src":"319954:17:21"},"nativeSrc":"319954:17:21","nodeType":"YulExpressionStatement","src":"319954:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":36964,"isOffset":false,"isSlot":false,"src":"319735:2:21","valueSize":1},{"declaration":36967,"isOffset":false,"isSlot":false,"src":"319764:2:21","valueSize":1},{"declaration":36970,"isOffset":false,"isSlot":false,"src":"319793:2:21","valueSize":1},{"declaration":36973,"isOffset":false,"isSlot":false,"src":"319822:2:21","valueSize":1},{"declaration":36976,"isOffset":false,"isSlot":false,"src":"319851:2:21","valueSize":1},{"declaration":36979,"isOffset":false,"isSlot":false,"src":"319880:2:21","valueSize":1},{"declaration":36982,"isOffset":false,"isSlot":false,"src":"319909:2:21","valueSize":1},{"declaration":36985,"isOffset":false,"isSlot":false,"src":"319938:2:21","valueSize":1},{"declaration":36988,"isOffset":false,"isSlot":false,"src":"319968:2:21","valueSize":1}],"id":36996,"nodeType":"InlineAssembly","src":"319699:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"318374:3:21","parameters":{"id":36961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36954,"mutability":"mutable","name":"p0","nameLocation":"318386:2:21","nodeType":"VariableDeclaration","scope":36998,"src":"318378:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36953,"name":"uint256","nodeType":"ElementaryTypeName","src":"318378:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36956,"mutability":"mutable","name":"p1","nameLocation":"318398:2:21","nodeType":"VariableDeclaration","scope":36998,"src":"318390:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318390:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36958,"mutability":"mutable","name":"p2","nameLocation":"318410:2:21","nodeType":"VariableDeclaration","scope":36998,"src":"318402:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36957,"name":"uint256","nodeType":"ElementaryTypeName","src":"318402:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36960,"mutability":"mutable","name":"p3","nameLocation":"318422:2:21","nodeType":"VariableDeclaration","scope":36998,"src":"318414:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318414:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"318377:48:21"},"returnParameters":{"id":36962,"nodeType":"ParameterList","parameters":[],"src":"318440:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37044,"nodeType":"FunctionDefinition","src":"319993:1622:21","nodes":[],"body":{"id":37043,"nodeType":"Block","src":"320068:1547:21","nodes":[],"statements":[{"assignments":[37010],"declarations":[{"constant":false,"id":37010,"mutability":"mutable","name":"m0","nameLocation":"320086:2:21","nodeType":"VariableDeclaration","scope":37043,"src":"320078:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37009,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320078:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37011,"nodeType":"VariableDeclarationStatement","src":"320078:10:21"},{"assignments":[37013],"declarations":[{"constant":false,"id":37013,"mutability":"mutable","name":"m1","nameLocation":"320106:2:21","nodeType":"VariableDeclaration","scope":37043,"src":"320098:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320098:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37014,"nodeType":"VariableDeclarationStatement","src":"320098:10:21"},{"assignments":[37016],"declarations":[{"constant":false,"id":37016,"mutability":"mutable","name":"m2","nameLocation":"320126:2:21","nodeType":"VariableDeclaration","scope":37043,"src":"320118:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320118:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37017,"nodeType":"VariableDeclarationStatement","src":"320118:10:21"},{"assignments":[37019],"declarations":[{"constant":false,"id":37019,"mutability":"mutable","name":"m3","nameLocation":"320146:2:21","nodeType":"VariableDeclaration","scope":37043,"src":"320138:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320138:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37020,"nodeType":"VariableDeclarationStatement","src":"320138:10:21"},{"assignments":[37022],"declarations":[{"constant":false,"id":37022,"mutability":"mutable","name":"m4","nameLocation":"320166:2:21","nodeType":"VariableDeclaration","scope":37043,"src":"320158:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320158:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37023,"nodeType":"VariableDeclarationStatement","src":"320158:10:21"},{"assignments":[37025],"declarations":[{"constant":false,"id":37025,"mutability":"mutable","name":"m5","nameLocation":"320186:2:21","nodeType":"VariableDeclaration","scope":37043,"src":"320178:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320178:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37026,"nodeType":"VariableDeclarationStatement","src":"320178:10:21"},{"assignments":[37028],"declarations":[{"constant":false,"id":37028,"mutability":"mutable","name":"m6","nameLocation":"320206:2:21","nodeType":"VariableDeclaration","scope":37043,"src":"320198:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320198:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37029,"nodeType":"VariableDeclarationStatement","src":"320198:10:21"},{"assignments":[37031],"declarations":[{"constant":false,"id":37031,"mutability":"mutable","name":"m7","nameLocation":"320226:2:21","nodeType":"VariableDeclaration","scope":37043,"src":"320218:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320218:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37032,"nodeType":"VariableDeclarationStatement","src":"320218:10:21"},{"assignments":[37034],"declarations":[{"constant":false,"id":37034,"mutability":"mutable","name":"m8","nameLocation":"320246:2:21","nodeType":"VariableDeclaration","scope":37043,"src":"320238:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320238:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37035,"nodeType":"VariableDeclarationStatement","src":"320238:10:21"},{"AST":{"nativeSrc":"320310:927:21","nodeType":"YulBlock","src":"320310:927:21","statements":[{"body":{"nativeSrc":"320353:313:21","nodeType":"YulBlock","src":"320353:313:21","statements":[{"nativeSrc":"320371:15:21","nodeType":"YulVariableDeclaration","src":"320371:15:21","value":{"kind":"number","nativeSrc":"320385:1:21","nodeType":"YulLiteral","src":"320385:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"320375:6:21","nodeType":"YulTypedName","src":"320375:6:21","type":""}]},{"body":{"nativeSrc":"320456:40:21","nodeType":"YulBlock","src":"320456:40:21","statements":[{"body":{"nativeSrc":"320485:9:21","nodeType":"YulBlock","src":"320485:9:21","statements":[{"nativeSrc":"320487:5:21","nodeType":"YulBreak","src":"320487:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"320473:6:21","nodeType":"YulIdentifier","src":"320473:6:21"},{"name":"w","nativeSrc":"320481:1:21","nodeType":"YulIdentifier","src":"320481:1:21"}],"functionName":{"name":"byte","nativeSrc":"320468:4:21","nodeType":"YulIdentifier","src":"320468:4:21"},"nativeSrc":"320468:15:21","nodeType":"YulFunctionCall","src":"320468:15:21"}],"functionName":{"name":"iszero","nativeSrc":"320461:6:21","nodeType":"YulIdentifier","src":"320461:6:21"},"nativeSrc":"320461:23:21","nodeType":"YulFunctionCall","src":"320461:23:21"},"nativeSrc":"320458:36:21","nodeType":"YulIf","src":"320458:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"320413:6:21","nodeType":"YulIdentifier","src":"320413:6:21"},{"kind":"number","nativeSrc":"320421:4:21","nodeType":"YulLiteral","src":"320421:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"320410:2:21","nodeType":"YulIdentifier","src":"320410:2:21"},"nativeSrc":"320410:16:21","nodeType":"YulFunctionCall","src":"320410:16:21"},"nativeSrc":"320403:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"320427:28:21","nodeType":"YulBlock","src":"320427:28:21","statements":[{"nativeSrc":"320429:24:21","nodeType":"YulAssignment","src":"320429:24:21","value":{"arguments":[{"name":"length","nativeSrc":"320443:6:21","nodeType":"YulIdentifier","src":"320443:6:21"},{"kind":"number","nativeSrc":"320451:1:21","nodeType":"YulLiteral","src":"320451:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"320439:3:21","nodeType":"YulIdentifier","src":"320439:3:21"},"nativeSrc":"320439:14:21","nodeType":"YulFunctionCall","src":"320439:14:21"},"variableNames":[{"name":"length","nativeSrc":"320429:6:21","nodeType":"YulIdentifier","src":"320429:6:21"}]}]},"pre":{"nativeSrc":"320407:2:21","nodeType":"YulBlock","src":"320407:2:21","statements":[]},"src":"320403:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"320520:3:21","nodeType":"YulIdentifier","src":"320520:3:21"},{"name":"length","nativeSrc":"320525:6:21","nodeType":"YulIdentifier","src":"320525:6:21"}],"functionName":{"name":"mstore","nativeSrc":"320513:6:21","nodeType":"YulIdentifier","src":"320513:6:21"},"nativeSrc":"320513:19:21","nodeType":"YulFunctionCall","src":"320513:19:21"},"nativeSrc":"320513:19:21","nodeType":"YulExpressionStatement","src":"320513:19:21"},{"nativeSrc":"320549:37:21","nodeType":"YulVariableDeclaration","src":"320549:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"320566:3:21","nodeType":"YulLiteral","src":"320566:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"320575:1:21","nodeType":"YulLiteral","src":"320575:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"320578:6:21","nodeType":"YulIdentifier","src":"320578:6:21"}],"functionName":{"name":"shl","nativeSrc":"320571:3:21","nodeType":"YulIdentifier","src":"320571:3:21"},"nativeSrc":"320571:14:21","nodeType":"YulFunctionCall","src":"320571:14:21"}],"functionName":{"name":"sub","nativeSrc":"320562:3:21","nodeType":"YulIdentifier","src":"320562:3:21"},"nativeSrc":"320562:24:21","nodeType":"YulFunctionCall","src":"320562:24:21"},"variables":[{"name":"shift","nativeSrc":"320553:5:21","nodeType":"YulTypedName","src":"320553:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"320614:3:21","nodeType":"YulIdentifier","src":"320614:3:21"},{"kind":"number","nativeSrc":"320619:4:21","nodeType":"YulLiteral","src":"320619:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"320610:3:21","nodeType":"YulIdentifier","src":"320610:3:21"},"nativeSrc":"320610:14:21","nodeType":"YulFunctionCall","src":"320610:14:21"},{"arguments":[{"name":"shift","nativeSrc":"320630:5:21","nodeType":"YulIdentifier","src":"320630:5:21"},{"arguments":[{"name":"shift","nativeSrc":"320641:5:21","nodeType":"YulIdentifier","src":"320641:5:21"},{"name":"w","nativeSrc":"320648:1:21","nodeType":"YulIdentifier","src":"320648:1:21"}],"functionName":{"name":"shr","nativeSrc":"320637:3:21","nodeType":"YulIdentifier","src":"320637:3:21"},"nativeSrc":"320637:13:21","nodeType":"YulFunctionCall","src":"320637:13:21"}],"functionName":{"name":"shl","nativeSrc":"320626:3:21","nodeType":"YulIdentifier","src":"320626:3:21"},"nativeSrc":"320626:25:21","nodeType":"YulFunctionCall","src":"320626:25:21"}],"functionName":{"name":"mstore","nativeSrc":"320603:6:21","nodeType":"YulIdentifier","src":"320603:6:21"},"nativeSrc":"320603:49:21","nodeType":"YulFunctionCall","src":"320603:49:21"},"nativeSrc":"320603:49:21","nodeType":"YulExpressionStatement","src":"320603:49:21"}]},"name":"writeString","nativeSrc":"320324:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"320345:3:21","nodeType":"YulTypedName","src":"320345:3:21","type":""},{"name":"w","nativeSrc":"320350:1:21","nodeType":"YulTypedName","src":"320350:1:21","type":""}],"src":"320324:342:21"},{"nativeSrc":"320679:17:21","nodeType":"YulAssignment","src":"320679:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"320691:4:21","nodeType":"YulLiteral","src":"320691:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"320685:5:21","nodeType":"YulIdentifier","src":"320685:5:21"},"nativeSrc":"320685:11:21","nodeType":"YulFunctionCall","src":"320685:11:21"},"variableNames":[{"name":"m0","nativeSrc":"320679:2:21","nodeType":"YulIdentifier","src":"320679:2:21"}]},{"nativeSrc":"320709:17:21","nodeType":"YulAssignment","src":"320709:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"320721:4:21","nodeType":"YulLiteral","src":"320721:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"320715:5:21","nodeType":"YulIdentifier","src":"320715:5:21"},"nativeSrc":"320715:11:21","nodeType":"YulFunctionCall","src":"320715:11:21"},"variableNames":[{"name":"m1","nativeSrc":"320709:2:21","nodeType":"YulIdentifier","src":"320709:2:21"}]},{"nativeSrc":"320739:17:21","nodeType":"YulAssignment","src":"320739:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"320751:4:21","nodeType":"YulLiteral","src":"320751:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"320745:5:21","nodeType":"YulIdentifier","src":"320745:5:21"},"nativeSrc":"320745:11:21","nodeType":"YulFunctionCall","src":"320745:11:21"},"variableNames":[{"name":"m2","nativeSrc":"320739:2:21","nodeType":"YulIdentifier","src":"320739:2:21"}]},{"nativeSrc":"320769:17:21","nodeType":"YulAssignment","src":"320769:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"320781:4:21","nodeType":"YulLiteral","src":"320781:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"320775:5:21","nodeType":"YulIdentifier","src":"320775:5:21"},"nativeSrc":"320775:11:21","nodeType":"YulFunctionCall","src":"320775:11:21"},"variableNames":[{"name":"m3","nativeSrc":"320769:2:21","nodeType":"YulIdentifier","src":"320769:2:21"}]},{"nativeSrc":"320799:17:21","nodeType":"YulAssignment","src":"320799:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"320811:4:21","nodeType":"YulLiteral","src":"320811:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"320805:5:21","nodeType":"YulIdentifier","src":"320805:5:21"},"nativeSrc":"320805:11:21","nodeType":"YulFunctionCall","src":"320805:11:21"},"variableNames":[{"name":"m4","nativeSrc":"320799:2:21","nodeType":"YulIdentifier","src":"320799:2:21"}]},{"nativeSrc":"320829:17:21","nodeType":"YulAssignment","src":"320829:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"320841:4:21","nodeType":"YulLiteral","src":"320841:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"320835:5:21","nodeType":"YulIdentifier","src":"320835:5:21"},"nativeSrc":"320835:11:21","nodeType":"YulFunctionCall","src":"320835:11:21"},"variableNames":[{"name":"m5","nativeSrc":"320829:2:21","nodeType":"YulIdentifier","src":"320829:2:21"}]},{"nativeSrc":"320859:17:21","nodeType":"YulAssignment","src":"320859:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"320871:4:21","nodeType":"YulLiteral","src":"320871:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"320865:5:21","nodeType":"YulIdentifier","src":"320865:5:21"},"nativeSrc":"320865:11:21","nodeType":"YulFunctionCall","src":"320865:11:21"},"variableNames":[{"name":"m6","nativeSrc":"320859:2:21","nodeType":"YulIdentifier","src":"320859:2:21"}]},{"nativeSrc":"320889:17:21","nodeType":"YulAssignment","src":"320889:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"320901:4:21","nodeType":"YulLiteral","src":"320901:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"320895:5:21","nodeType":"YulIdentifier","src":"320895:5:21"},"nativeSrc":"320895:11:21","nodeType":"YulFunctionCall","src":"320895:11:21"},"variableNames":[{"name":"m7","nativeSrc":"320889:2:21","nodeType":"YulIdentifier","src":"320889:2:21"}]},{"nativeSrc":"320919:18:21","nodeType":"YulAssignment","src":"320919:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"320931:5:21","nodeType":"YulLiteral","src":"320931:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"320925:5:21","nodeType":"YulIdentifier","src":"320925:5:21"},"nativeSrc":"320925:12:21","nodeType":"YulFunctionCall","src":"320925:12:21"},"variableNames":[{"name":"m8","nativeSrc":"320919:2:21","nodeType":"YulIdentifier","src":"320919:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321022:4:21","nodeType":"YulLiteral","src":"321022:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"321028:10:21","nodeType":"YulLiteral","src":"321028:10:21","type":"","value":"0xd583c602"}],"functionName":{"name":"mstore","nativeSrc":"321015:6:21","nodeType":"YulIdentifier","src":"321015:6:21"},"nativeSrc":"321015:24:21","nodeType":"YulFunctionCall","src":"321015:24:21"},"nativeSrc":"321015:24:21","nodeType":"YulExpressionStatement","src":"321015:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321059:4:21","nodeType":"YulLiteral","src":"321059:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"321065:2:21","nodeType":"YulIdentifier","src":"321065:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321052:6:21","nodeType":"YulIdentifier","src":"321052:6:21"},"nativeSrc":"321052:16:21","nodeType":"YulFunctionCall","src":"321052:16:21"},"nativeSrc":"321052:16:21","nodeType":"YulExpressionStatement","src":"321052:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321088:4:21","nodeType":"YulLiteral","src":"321088:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"321094:4:21","nodeType":"YulLiteral","src":"321094:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"321081:6:21","nodeType":"YulIdentifier","src":"321081:6:21"},"nativeSrc":"321081:18:21","nodeType":"YulFunctionCall","src":"321081:18:21"},"nativeSrc":"321081:18:21","nodeType":"YulExpressionStatement","src":"321081:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321119:4:21","nodeType":"YulLiteral","src":"321119:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"321125:4:21","nodeType":"YulLiteral","src":"321125:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"321112:6:21","nodeType":"YulIdentifier","src":"321112:6:21"},"nativeSrc":"321112:18:21","nodeType":"YulFunctionCall","src":"321112:18:21"},"nativeSrc":"321112:18:21","nodeType":"YulExpressionStatement","src":"321112:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321150:4:21","nodeType":"YulLiteral","src":"321150:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"321156:2:21","nodeType":"YulIdentifier","src":"321156:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321143:6:21","nodeType":"YulIdentifier","src":"321143:6:21"},"nativeSrc":"321143:16:21","nodeType":"YulFunctionCall","src":"321143:16:21"},"nativeSrc":"321143:16:21","nodeType":"YulExpressionStatement","src":"321143:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321184:4:21","nodeType":"YulLiteral","src":"321184:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"321190:2:21","nodeType":"YulIdentifier","src":"321190:2:21"}],"functionName":{"name":"writeString","nativeSrc":"321172:11:21","nodeType":"YulIdentifier","src":"321172:11:21"},"nativeSrc":"321172:21:21","nodeType":"YulFunctionCall","src":"321172:21:21"},"nativeSrc":"321172:21:21","nodeType":"YulExpressionStatement","src":"321172:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321218:4:21","nodeType":"YulLiteral","src":"321218:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"321224:2:21","nodeType":"YulIdentifier","src":"321224:2:21"}],"functionName":{"name":"writeString","nativeSrc":"321206:11:21","nodeType":"YulIdentifier","src":"321206:11:21"},"nativeSrc":"321206:21:21","nodeType":"YulFunctionCall","src":"321206:21:21"},"nativeSrc":"321206:21:21","nodeType":"YulExpressionStatement","src":"321206:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37010,"isOffset":false,"isSlot":false,"src":"320679:2:21","valueSize":1},{"declaration":37013,"isOffset":false,"isSlot":false,"src":"320709:2:21","valueSize":1},{"declaration":37016,"isOffset":false,"isSlot":false,"src":"320739:2:21","valueSize":1},{"declaration":37019,"isOffset":false,"isSlot":false,"src":"320769:2:21","valueSize":1},{"declaration":37022,"isOffset":false,"isSlot":false,"src":"320799:2:21","valueSize":1},{"declaration":37025,"isOffset":false,"isSlot":false,"src":"320829:2:21","valueSize":1},{"declaration":37028,"isOffset":false,"isSlot":false,"src":"320859:2:21","valueSize":1},{"declaration":37031,"isOffset":false,"isSlot":false,"src":"320889:2:21","valueSize":1},{"declaration":37034,"isOffset":false,"isSlot":false,"src":"320919:2:21","valueSize":1},{"declaration":37000,"isOffset":false,"isSlot":false,"src":"321065:2:21","valueSize":1},{"declaration":37002,"isOffset":false,"isSlot":false,"src":"321190:2:21","valueSize":1},{"declaration":37004,"isOffset":false,"isSlot":false,"src":"321224:2:21","valueSize":1},{"declaration":37006,"isOffset":false,"isSlot":false,"src":"321156:2:21","valueSize":1}],"id":37036,"nodeType":"InlineAssembly","src":"320301:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"321262:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"321268:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37037,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"321246:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"321246:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37041,"nodeType":"ExpressionStatement","src":"321246:28:21"},{"AST":{"nativeSrc":"321336:273:21","nodeType":"YulBlock","src":"321336:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"321357:4:21","nodeType":"YulLiteral","src":"321357:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"321363:2:21","nodeType":"YulIdentifier","src":"321363:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321350:6:21","nodeType":"YulIdentifier","src":"321350:6:21"},"nativeSrc":"321350:16:21","nodeType":"YulFunctionCall","src":"321350:16:21"},"nativeSrc":"321350:16:21","nodeType":"YulExpressionStatement","src":"321350:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321386:4:21","nodeType":"YulLiteral","src":"321386:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"321392:2:21","nodeType":"YulIdentifier","src":"321392:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321379:6:21","nodeType":"YulIdentifier","src":"321379:6:21"},"nativeSrc":"321379:16:21","nodeType":"YulFunctionCall","src":"321379:16:21"},"nativeSrc":"321379:16:21","nodeType":"YulExpressionStatement","src":"321379:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321415:4:21","nodeType":"YulLiteral","src":"321415:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"321421:2:21","nodeType":"YulIdentifier","src":"321421:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321408:6:21","nodeType":"YulIdentifier","src":"321408:6:21"},"nativeSrc":"321408:16:21","nodeType":"YulFunctionCall","src":"321408:16:21"},"nativeSrc":"321408:16:21","nodeType":"YulExpressionStatement","src":"321408:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321444:4:21","nodeType":"YulLiteral","src":"321444:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"321450:2:21","nodeType":"YulIdentifier","src":"321450:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321437:6:21","nodeType":"YulIdentifier","src":"321437:6:21"},"nativeSrc":"321437:16:21","nodeType":"YulFunctionCall","src":"321437:16:21"},"nativeSrc":"321437:16:21","nodeType":"YulExpressionStatement","src":"321437:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321473:4:21","nodeType":"YulLiteral","src":"321473:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"321479:2:21","nodeType":"YulIdentifier","src":"321479:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321466:6:21","nodeType":"YulIdentifier","src":"321466:6:21"},"nativeSrc":"321466:16:21","nodeType":"YulFunctionCall","src":"321466:16:21"},"nativeSrc":"321466:16:21","nodeType":"YulExpressionStatement","src":"321466:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321502:4:21","nodeType":"YulLiteral","src":"321502:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"321508:2:21","nodeType":"YulIdentifier","src":"321508:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321495:6:21","nodeType":"YulIdentifier","src":"321495:6:21"},"nativeSrc":"321495:16:21","nodeType":"YulFunctionCall","src":"321495:16:21"},"nativeSrc":"321495:16:21","nodeType":"YulExpressionStatement","src":"321495:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321531:4:21","nodeType":"YulLiteral","src":"321531:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"321537:2:21","nodeType":"YulIdentifier","src":"321537:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321524:6:21","nodeType":"YulIdentifier","src":"321524:6:21"},"nativeSrc":"321524:16:21","nodeType":"YulFunctionCall","src":"321524:16:21"},"nativeSrc":"321524:16:21","nodeType":"YulExpressionStatement","src":"321524:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321560:4:21","nodeType":"YulLiteral","src":"321560:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"321566:2:21","nodeType":"YulIdentifier","src":"321566:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321553:6:21","nodeType":"YulIdentifier","src":"321553:6:21"},"nativeSrc":"321553:16:21","nodeType":"YulFunctionCall","src":"321553:16:21"},"nativeSrc":"321553:16:21","nodeType":"YulExpressionStatement","src":"321553:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321589:5:21","nodeType":"YulLiteral","src":"321589:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"321596:2:21","nodeType":"YulIdentifier","src":"321596:2:21"}],"functionName":{"name":"mstore","nativeSrc":"321582:6:21","nodeType":"YulIdentifier","src":"321582:6:21"},"nativeSrc":"321582:17:21","nodeType":"YulFunctionCall","src":"321582:17:21"},"nativeSrc":"321582:17:21","nodeType":"YulExpressionStatement","src":"321582:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37010,"isOffset":false,"isSlot":false,"src":"321363:2:21","valueSize":1},{"declaration":37013,"isOffset":false,"isSlot":false,"src":"321392:2:21","valueSize":1},{"declaration":37016,"isOffset":false,"isSlot":false,"src":"321421:2:21","valueSize":1},{"declaration":37019,"isOffset":false,"isSlot":false,"src":"321450:2:21","valueSize":1},{"declaration":37022,"isOffset":false,"isSlot":false,"src":"321479:2:21","valueSize":1},{"declaration":37025,"isOffset":false,"isSlot":false,"src":"321508:2:21","valueSize":1},{"declaration":37028,"isOffset":false,"isSlot":false,"src":"321537:2:21","valueSize":1},{"declaration":37031,"isOffset":false,"isSlot":false,"src":"321566:2:21","valueSize":1},{"declaration":37034,"isOffset":false,"isSlot":false,"src":"321596:2:21","valueSize":1}],"id":37042,"nodeType":"InlineAssembly","src":"321327:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"320002:3:21","parameters":{"id":37007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37000,"mutability":"mutable","name":"p0","nameLocation":"320014:2:21","nodeType":"VariableDeclaration","scope":37044,"src":"320006:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36999,"name":"uint256","nodeType":"ElementaryTypeName","src":"320006:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37002,"mutability":"mutable","name":"p1","nameLocation":"320026:2:21","nodeType":"VariableDeclaration","scope":37044,"src":"320018:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320018:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37004,"mutability":"mutable","name":"p2","nameLocation":"320038:2:21","nodeType":"VariableDeclaration","scope":37044,"src":"320030:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320030:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37006,"mutability":"mutable","name":"p3","nameLocation":"320050:2:21","nodeType":"VariableDeclaration","scope":37044,"src":"320042:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37005,"name":"address","nodeType":"ElementaryTypeName","src":"320042:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"320005:48:21"},"returnParameters":{"id":37008,"nodeType":"ParameterList","parameters":[],"src":"320068:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37090,"nodeType":"FunctionDefinition","src":"321621:1616:21","nodes":[],"body":{"id":37089,"nodeType":"Block","src":"321693:1544:21","nodes":[],"statements":[{"assignments":[37056],"declarations":[{"constant":false,"id":37056,"mutability":"mutable","name":"m0","nameLocation":"321711:2:21","nodeType":"VariableDeclaration","scope":37089,"src":"321703:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321703:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37057,"nodeType":"VariableDeclarationStatement","src":"321703:10:21"},{"assignments":[37059],"declarations":[{"constant":false,"id":37059,"mutability":"mutable","name":"m1","nameLocation":"321731:2:21","nodeType":"VariableDeclaration","scope":37089,"src":"321723:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37058,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321723:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37060,"nodeType":"VariableDeclarationStatement","src":"321723:10:21"},{"assignments":[37062],"declarations":[{"constant":false,"id":37062,"mutability":"mutable","name":"m2","nameLocation":"321751:2:21","nodeType":"VariableDeclaration","scope":37089,"src":"321743:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37061,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321743:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37063,"nodeType":"VariableDeclarationStatement","src":"321743:10:21"},{"assignments":[37065],"declarations":[{"constant":false,"id":37065,"mutability":"mutable","name":"m3","nameLocation":"321771:2:21","nodeType":"VariableDeclaration","scope":37089,"src":"321763:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321763:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37066,"nodeType":"VariableDeclarationStatement","src":"321763:10:21"},{"assignments":[37068],"declarations":[{"constant":false,"id":37068,"mutability":"mutable","name":"m4","nameLocation":"321791:2:21","nodeType":"VariableDeclaration","scope":37089,"src":"321783:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37067,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321783:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37069,"nodeType":"VariableDeclarationStatement","src":"321783:10:21"},{"assignments":[37071],"declarations":[{"constant":false,"id":37071,"mutability":"mutable","name":"m5","nameLocation":"321811:2:21","nodeType":"VariableDeclaration","scope":37089,"src":"321803:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37070,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321803:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37072,"nodeType":"VariableDeclarationStatement","src":"321803:10:21"},{"assignments":[37074],"declarations":[{"constant":false,"id":37074,"mutability":"mutable","name":"m6","nameLocation":"321831:2:21","nodeType":"VariableDeclaration","scope":37089,"src":"321823:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321823:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37075,"nodeType":"VariableDeclarationStatement","src":"321823:10:21"},{"assignments":[37077],"declarations":[{"constant":false,"id":37077,"mutability":"mutable","name":"m7","nameLocation":"321851:2:21","nodeType":"VariableDeclaration","scope":37089,"src":"321843:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321843:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37078,"nodeType":"VariableDeclarationStatement","src":"321843:10:21"},{"assignments":[37080],"declarations":[{"constant":false,"id":37080,"mutability":"mutable","name":"m8","nameLocation":"321871:2:21","nodeType":"VariableDeclaration","scope":37089,"src":"321863:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321863:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37081,"nodeType":"VariableDeclarationStatement","src":"321863:10:21"},{"AST":{"nativeSrc":"321935:924:21","nodeType":"YulBlock","src":"321935:924:21","statements":[{"body":{"nativeSrc":"321978:313:21","nodeType":"YulBlock","src":"321978:313:21","statements":[{"nativeSrc":"321996:15:21","nodeType":"YulVariableDeclaration","src":"321996:15:21","value":{"kind":"number","nativeSrc":"322010:1:21","nodeType":"YulLiteral","src":"322010:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"322000:6:21","nodeType":"YulTypedName","src":"322000:6:21","type":""}]},{"body":{"nativeSrc":"322081:40:21","nodeType":"YulBlock","src":"322081:40:21","statements":[{"body":{"nativeSrc":"322110:9:21","nodeType":"YulBlock","src":"322110:9:21","statements":[{"nativeSrc":"322112:5:21","nodeType":"YulBreak","src":"322112:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"322098:6:21","nodeType":"YulIdentifier","src":"322098:6:21"},{"name":"w","nativeSrc":"322106:1:21","nodeType":"YulIdentifier","src":"322106:1:21"}],"functionName":{"name":"byte","nativeSrc":"322093:4:21","nodeType":"YulIdentifier","src":"322093:4:21"},"nativeSrc":"322093:15:21","nodeType":"YulFunctionCall","src":"322093:15:21"}],"functionName":{"name":"iszero","nativeSrc":"322086:6:21","nodeType":"YulIdentifier","src":"322086:6:21"},"nativeSrc":"322086:23:21","nodeType":"YulFunctionCall","src":"322086:23:21"},"nativeSrc":"322083:36:21","nodeType":"YulIf","src":"322083:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"322038:6:21","nodeType":"YulIdentifier","src":"322038:6:21"},{"kind":"number","nativeSrc":"322046:4:21","nodeType":"YulLiteral","src":"322046:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"322035:2:21","nodeType":"YulIdentifier","src":"322035:2:21"},"nativeSrc":"322035:16:21","nodeType":"YulFunctionCall","src":"322035:16:21"},"nativeSrc":"322028:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"322052:28:21","nodeType":"YulBlock","src":"322052:28:21","statements":[{"nativeSrc":"322054:24:21","nodeType":"YulAssignment","src":"322054:24:21","value":{"arguments":[{"name":"length","nativeSrc":"322068:6:21","nodeType":"YulIdentifier","src":"322068:6:21"},{"kind":"number","nativeSrc":"322076:1:21","nodeType":"YulLiteral","src":"322076:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"322064:3:21","nodeType":"YulIdentifier","src":"322064:3:21"},"nativeSrc":"322064:14:21","nodeType":"YulFunctionCall","src":"322064:14:21"},"variableNames":[{"name":"length","nativeSrc":"322054:6:21","nodeType":"YulIdentifier","src":"322054:6:21"}]}]},"pre":{"nativeSrc":"322032:2:21","nodeType":"YulBlock","src":"322032:2:21","statements":[]},"src":"322028:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"322145:3:21","nodeType":"YulIdentifier","src":"322145:3:21"},{"name":"length","nativeSrc":"322150:6:21","nodeType":"YulIdentifier","src":"322150:6:21"}],"functionName":{"name":"mstore","nativeSrc":"322138:6:21","nodeType":"YulIdentifier","src":"322138:6:21"},"nativeSrc":"322138:19:21","nodeType":"YulFunctionCall","src":"322138:19:21"},"nativeSrc":"322138:19:21","nodeType":"YulExpressionStatement","src":"322138:19:21"},{"nativeSrc":"322174:37:21","nodeType":"YulVariableDeclaration","src":"322174:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"322191:3:21","nodeType":"YulLiteral","src":"322191:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"322200:1:21","nodeType":"YulLiteral","src":"322200:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"322203:6:21","nodeType":"YulIdentifier","src":"322203:6:21"}],"functionName":{"name":"shl","nativeSrc":"322196:3:21","nodeType":"YulIdentifier","src":"322196:3:21"},"nativeSrc":"322196:14:21","nodeType":"YulFunctionCall","src":"322196:14:21"}],"functionName":{"name":"sub","nativeSrc":"322187:3:21","nodeType":"YulIdentifier","src":"322187:3:21"},"nativeSrc":"322187:24:21","nodeType":"YulFunctionCall","src":"322187:24:21"},"variables":[{"name":"shift","nativeSrc":"322178:5:21","nodeType":"YulTypedName","src":"322178:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"322239:3:21","nodeType":"YulIdentifier","src":"322239:3:21"},{"kind":"number","nativeSrc":"322244:4:21","nodeType":"YulLiteral","src":"322244:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"322235:3:21","nodeType":"YulIdentifier","src":"322235:3:21"},"nativeSrc":"322235:14:21","nodeType":"YulFunctionCall","src":"322235:14:21"},{"arguments":[{"name":"shift","nativeSrc":"322255:5:21","nodeType":"YulIdentifier","src":"322255:5:21"},{"arguments":[{"name":"shift","nativeSrc":"322266:5:21","nodeType":"YulIdentifier","src":"322266:5:21"},{"name":"w","nativeSrc":"322273:1:21","nodeType":"YulIdentifier","src":"322273:1:21"}],"functionName":{"name":"shr","nativeSrc":"322262:3:21","nodeType":"YulIdentifier","src":"322262:3:21"},"nativeSrc":"322262:13:21","nodeType":"YulFunctionCall","src":"322262:13:21"}],"functionName":{"name":"shl","nativeSrc":"322251:3:21","nodeType":"YulIdentifier","src":"322251:3:21"},"nativeSrc":"322251:25:21","nodeType":"YulFunctionCall","src":"322251:25:21"}],"functionName":{"name":"mstore","nativeSrc":"322228:6:21","nodeType":"YulIdentifier","src":"322228:6:21"},"nativeSrc":"322228:49:21","nodeType":"YulFunctionCall","src":"322228:49:21"},"nativeSrc":"322228:49:21","nodeType":"YulExpressionStatement","src":"322228:49:21"}]},"name":"writeString","nativeSrc":"321949:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"321970:3:21","nodeType":"YulTypedName","src":"321970:3:21","type":""},{"name":"w","nativeSrc":"321975:1:21","nodeType":"YulTypedName","src":"321975:1:21","type":""}],"src":"321949:342:21"},{"nativeSrc":"322304:17:21","nodeType":"YulAssignment","src":"322304:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"322316:4:21","nodeType":"YulLiteral","src":"322316:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"322310:5:21","nodeType":"YulIdentifier","src":"322310:5:21"},"nativeSrc":"322310:11:21","nodeType":"YulFunctionCall","src":"322310:11:21"},"variableNames":[{"name":"m0","nativeSrc":"322304:2:21","nodeType":"YulIdentifier","src":"322304:2:21"}]},{"nativeSrc":"322334:17:21","nodeType":"YulAssignment","src":"322334:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"322346:4:21","nodeType":"YulLiteral","src":"322346:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"322340:5:21","nodeType":"YulIdentifier","src":"322340:5:21"},"nativeSrc":"322340:11:21","nodeType":"YulFunctionCall","src":"322340:11:21"},"variableNames":[{"name":"m1","nativeSrc":"322334:2:21","nodeType":"YulIdentifier","src":"322334:2:21"}]},{"nativeSrc":"322364:17:21","nodeType":"YulAssignment","src":"322364:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"322376:4:21","nodeType":"YulLiteral","src":"322376:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"322370:5:21","nodeType":"YulIdentifier","src":"322370:5:21"},"nativeSrc":"322370:11:21","nodeType":"YulFunctionCall","src":"322370:11:21"},"variableNames":[{"name":"m2","nativeSrc":"322364:2:21","nodeType":"YulIdentifier","src":"322364:2:21"}]},{"nativeSrc":"322394:17:21","nodeType":"YulAssignment","src":"322394:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"322406:4:21","nodeType":"YulLiteral","src":"322406:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"322400:5:21","nodeType":"YulIdentifier","src":"322400:5:21"},"nativeSrc":"322400:11:21","nodeType":"YulFunctionCall","src":"322400:11:21"},"variableNames":[{"name":"m3","nativeSrc":"322394:2:21","nodeType":"YulIdentifier","src":"322394:2:21"}]},{"nativeSrc":"322424:17:21","nodeType":"YulAssignment","src":"322424:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"322436:4:21","nodeType":"YulLiteral","src":"322436:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"322430:5:21","nodeType":"YulIdentifier","src":"322430:5:21"},"nativeSrc":"322430:11:21","nodeType":"YulFunctionCall","src":"322430:11:21"},"variableNames":[{"name":"m4","nativeSrc":"322424:2:21","nodeType":"YulIdentifier","src":"322424:2:21"}]},{"nativeSrc":"322454:17:21","nodeType":"YulAssignment","src":"322454:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"322466:4:21","nodeType":"YulLiteral","src":"322466:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"322460:5:21","nodeType":"YulIdentifier","src":"322460:5:21"},"nativeSrc":"322460:11:21","nodeType":"YulFunctionCall","src":"322460:11:21"},"variableNames":[{"name":"m5","nativeSrc":"322454:2:21","nodeType":"YulIdentifier","src":"322454:2:21"}]},{"nativeSrc":"322484:17:21","nodeType":"YulAssignment","src":"322484:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"322496:4:21","nodeType":"YulLiteral","src":"322496:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"322490:5:21","nodeType":"YulIdentifier","src":"322490:5:21"},"nativeSrc":"322490:11:21","nodeType":"YulFunctionCall","src":"322490:11:21"},"variableNames":[{"name":"m6","nativeSrc":"322484:2:21","nodeType":"YulIdentifier","src":"322484:2:21"}]},{"nativeSrc":"322514:17:21","nodeType":"YulAssignment","src":"322514:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"322526:4:21","nodeType":"YulLiteral","src":"322526:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"322520:5:21","nodeType":"YulIdentifier","src":"322520:5:21"},"nativeSrc":"322520:11:21","nodeType":"YulFunctionCall","src":"322520:11:21"},"variableNames":[{"name":"m7","nativeSrc":"322514:2:21","nodeType":"YulIdentifier","src":"322514:2:21"}]},{"nativeSrc":"322544:18:21","nodeType":"YulAssignment","src":"322544:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"322556:5:21","nodeType":"YulLiteral","src":"322556:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"322550:5:21","nodeType":"YulIdentifier","src":"322550:5:21"},"nativeSrc":"322550:12:21","nodeType":"YulFunctionCall","src":"322550:12:21"},"variableNames":[{"name":"m8","nativeSrc":"322544:2:21","nodeType":"YulIdentifier","src":"322544:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322644:4:21","nodeType":"YulLiteral","src":"322644:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"322650:10:21","nodeType":"YulLiteral","src":"322650:10:21","type":"","value":"0xb3a6b6bd"}],"functionName":{"name":"mstore","nativeSrc":"322637:6:21","nodeType":"YulIdentifier","src":"322637:6:21"},"nativeSrc":"322637:24:21","nodeType":"YulFunctionCall","src":"322637:24:21"},"nativeSrc":"322637:24:21","nodeType":"YulExpressionStatement","src":"322637:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322681:4:21","nodeType":"YulLiteral","src":"322681:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"322687:2:21","nodeType":"YulIdentifier","src":"322687:2:21"}],"functionName":{"name":"mstore","nativeSrc":"322674:6:21","nodeType":"YulIdentifier","src":"322674:6:21"},"nativeSrc":"322674:16:21","nodeType":"YulFunctionCall","src":"322674:16:21"},"nativeSrc":"322674:16:21","nodeType":"YulExpressionStatement","src":"322674:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322710:4:21","nodeType":"YulLiteral","src":"322710:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"322716:4:21","nodeType":"YulLiteral","src":"322716:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"322703:6:21","nodeType":"YulIdentifier","src":"322703:6:21"},"nativeSrc":"322703:18:21","nodeType":"YulFunctionCall","src":"322703:18:21"},"nativeSrc":"322703:18:21","nodeType":"YulExpressionStatement","src":"322703:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322741:4:21","nodeType":"YulLiteral","src":"322741:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"322747:4:21","nodeType":"YulLiteral","src":"322747:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"322734:6:21","nodeType":"YulIdentifier","src":"322734:6:21"},"nativeSrc":"322734:18:21","nodeType":"YulFunctionCall","src":"322734:18:21"},"nativeSrc":"322734:18:21","nodeType":"YulExpressionStatement","src":"322734:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322772:4:21","nodeType":"YulLiteral","src":"322772:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"322778:2:21","nodeType":"YulIdentifier","src":"322778:2:21"}],"functionName":{"name":"mstore","nativeSrc":"322765:6:21","nodeType":"YulIdentifier","src":"322765:6:21"},"nativeSrc":"322765:16:21","nodeType":"YulFunctionCall","src":"322765:16:21"},"nativeSrc":"322765:16:21","nodeType":"YulExpressionStatement","src":"322765:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322806:4:21","nodeType":"YulLiteral","src":"322806:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"322812:2:21","nodeType":"YulIdentifier","src":"322812:2:21"}],"functionName":{"name":"writeString","nativeSrc":"322794:11:21","nodeType":"YulIdentifier","src":"322794:11:21"},"nativeSrc":"322794:21:21","nodeType":"YulFunctionCall","src":"322794:21:21"},"nativeSrc":"322794:21:21","nodeType":"YulExpressionStatement","src":"322794:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322840:4:21","nodeType":"YulLiteral","src":"322840:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"322846:2:21","nodeType":"YulIdentifier","src":"322846:2:21"}],"functionName":{"name":"writeString","nativeSrc":"322828:11:21","nodeType":"YulIdentifier","src":"322828:11:21"},"nativeSrc":"322828:21:21","nodeType":"YulFunctionCall","src":"322828:21:21"},"nativeSrc":"322828:21:21","nodeType":"YulExpressionStatement","src":"322828:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37056,"isOffset":false,"isSlot":false,"src":"322304:2:21","valueSize":1},{"declaration":37059,"isOffset":false,"isSlot":false,"src":"322334:2:21","valueSize":1},{"declaration":37062,"isOffset":false,"isSlot":false,"src":"322364:2:21","valueSize":1},{"declaration":37065,"isOffset":false,"isSlot":false,"src":"322394:2:21","valueSize":1},{"declaration":37068,"isOffset":false,"isSlot":false,"src":"322424:2:21","valueSize":1},{"declaration":37071,"isOffset":false,"isSlot":false,"src":"322454:2:21","valueSize":1},{"declaration":37074,"isOffset":false,"isSlot":false,"src":"322484:2:21","valueSize":1},{"declaration":37077,"isOffset":false,"isSlot":false,"src":"322514:2:21","valueSize":1},{"declaration":37080,"isOffset":false,"isSlot":false,"src":"322544:2:21","valueSize":1},{"declaration":37046,"isOffset":false,"isSlot":false,"src":"322687:2:21","valueSize":1},{"declaration":37048,"isOffset":false,"isSlot":false,"src":"322812:2:21","valueSize":1},{"declaration":37050,"isOffset":false,"isSlot":false,"src":"322846:2:21","valueSize":1},{"declaration":37052,"isOffset":false,"isSlot":false,"src":"322778:2:21","valueSize":1}],"id":37082,"nodeType":"InlineAssembly","src":"321926:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322884:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322890:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37083,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"322868:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"322868:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37087,"nodeType":"ExpressionStatement","src":"322868:28:21"},{"AST":{"nativeSrc":"322958:273:21","nodeType":"YulBlock","src":"322958:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"322979:4:21","nodeType":"YulLiteral","src":"322979:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"322985:2:21","nodeType":"YulIdentifier","src":"322985:2:21"}],"functionName":{"name":"mstore","nativeSrc":"322972:6:21","nodeType":"YulIdentifier","src":"322972:6:21"},"nativeSrc":"322972:16:21","nodeType":"YulFunctionCall","src":"322972:16:21"},"nativeSrc":"322972:16:21","nodeType":"YulExpressionStatement","src":"322972:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323008:4:21","nodeType":"YulLiteral","src":"323008:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"323014:2:21","nodeType":"YulIdentifier","src":"323014:2:21"}],"functionName":{"name":"mstore","nativeSrc":"323001:6:21","nodeType":"YulIdentifier","src":"323001:6:21"},"nativeSrc":"323001:16:21","nodeType":"YulFunctionCall","src":"323001:16:21"},"nativeSrc":"323001:16:21","nodeType":"YulExpressionStatement","src":"323001:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323037:4:21","nodeType":"YulLiteral","src":"323037:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"323043:2:21","nodeType":"YulIdentifier","src":"323043:2:21"}],"functionName":{"name":"mstore","nativeSrc":"323030:6:21","nodeType":"YulIdentifier","src":"323030:6:21"},"nativeSrc":"323030:16:21","nodeType":"YulFunctionCall","src":"323030:16:21"},"nativeSrc":"323030:16:21","nodeType":"YulExpressionStatement","src":"323030:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323066:4:21","nodeType":"YulLiteral","src":"323066:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"323072:2:21","nodeType":"YulIdentifier","src":"323072:2:21"}],"functionName":{"name":"mstore","nativeSrc":"323059:6:21","nodeType":"YulIdentifier","src":"323059:6:21"},"nativeSrc":"323059:16:21","nodeType":"YulFunctionCall","src":"323059:16:21"},"nativeSrc":"323059:16:21","nodeType":"YulExpressionStatement","src":"323059:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323095:4:21","nodeType":"YulLiteral","src":"323095:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"323101:2:21","nodeType":"YulIdentifier","src":"323101:2:21"}],"functionName":{"name":"mstore","nativeSrc":"323088:6:21","nodeType":"YulIdentifier","src":"323088:6:21"},"nativeSrc":"323088:16:21","nodeType":"YulFunctionCall","src":"323088:16:21"},"nativeSrc":"323088:16:21","nodeType":"YulExpressionStatement","src":"323088:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323124:4:21","nodeType":"YulLiteral","src":"323124:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"323130:2:21","nodeType":"YulIdentifier","src":"323130:2:21"}],"functionName":{"name":"mstore","nativeSrc":"323117:6:21","nodeType":"YulIdentifier","src":"323117:6:21"},"nativeSrc":"323117:16:21","nodeType":"YulFunctionCall","src":"323117:16:21"},"nativeSrc":"323117:16:21","nodeType":"YulExpressionStatement","src":"323117:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323153:4:21","nodeType":"YulLiteral","src":"323153:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"323159:2:21","nodeType":"YulIdentifier","src":"323159:2:21"}],"functionName":{"name":"mstore","nativeSrc":"323146:6:21","nodeType":"YulIdentifier","src":"323146:6:21"},"nativeSrc":"323146:16:21","nodeType":"YulFunctionCall","src":"323146:16:21"},"nativeSrc":"323146:16:21","nodeType":"YulExpressionStatement","src":"323146:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323182:4:21","nodeType":"YulLiteral","src":"323182:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"323188:2:21","nodeType":"YulIdentifier","src":"323188:2:21"}],"functionName":{"name":"mstore","nativeSrc":"323175:6:21","nodeType":"YulIdentifier","src":"323175:6:21"},"nativeSrc":"323175:16:21","nodeType":"YulFunctionCall","src":"323175:16:21"},"nativeSrc":"323175:16:21","nodeType":"YulExpressionStatement","src":"323175:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323211:5:21","nodeType":"YulLiteral","src":"323211:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"323218:2:21","nodeType":"YulIdentifier","src":"323218:2:21"}],"functionName":{"name":"mstore","nativeSrc":"323204:6:21","nodeType":"YulIdentifier","src":"323204:6:21"},"nativeSrc":"323204:17:21","nodeType":"YulFunctionCall","src":"323204:17:21"},"nativeSrc":"323204:17:21","nodeType":"YulExpressionStatement","src":"323204:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37056,"isOffset":false,"isSlot":false,"src":"322985:2:21","valueSize":1},{"declaration":37059,"isOffset":false,"isSlot":false,"src":"323014:2:21","valueSize":1},{"declaration":37062,"isOffset":false,"isSlot":false,"src":"323043:2:21","valueSize":1},{"declaration":37065,"isOffset":false,"isSlot":false,"src":"323072:2:21","valueSize":1},{"declaration":37068,"isOffset":false,"isSlot":false,"src":"323101:2:21","valueSize":1},{"declaration":37071,"isOffset":false,"isSlot":false,"src":"323130:2:21","valueSize":1},{"declaration":37074,"isOffset":false,"isSlot":false,"src":"323159:2:21","valueSize":1},{"declaration":37077,"isOffset":false,"isSlot":false,"src":"323188:2:21","valueSize":1},{"declaration":37080,"isOffset":false,"isSlot":false,"src":"323218:2:21","valueSize":1}],"id":37088,"nodeType":"InlineAssembly","src":"322949:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"321630:3:21","parameters":{"id":37053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37046,"mutability":"mutable","name":"p0","nameLocation":"321642:2:21","nodeType":"VariableDeclaration","scope":37090,"src":"321634:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37045,"name":"uint256","nodeType":"ElementaryTypeName","src":"321634:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37048,"mutability":"mutable","name":"p1","nameLocation":"321654:2:21","nodeType":"VariableDeclaration","scope":37090,"src":"321646:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321646:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37050,"mutability":"mutable","name":"p2","nameLocation":"321666:2:21","nodeType":"VariableDeclaration","scope":37090,"src":"321658:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37049,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321658:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37052,"mutability":"mutable","name":"p3","nameLocation":"321675:2:21","nodeType":"VariableDeclaration","scope":37090,"src":"321670:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37051,"name":"bool","nodeType":"ElementaryTypeName","src":"321670:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"321633:45:21"},"returnParameters":{"id":37054,"nodeType":"ParameterList","parameters":[],"src":"321693:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37136,"nodeType":"FunctionDefinition","src":"323243:1622:21","nodes":[],"body":{"id":37135,"nodeType":"Block","src":"323318:1547:21","nodes":[],"statements":[{"assignments":[37102],"declarations":[{"constant":false,"id":37102,"mutability":"mutable","name":"m0","nameLocation":"323336:2:21","nodeType":"VariableDeclaration","scope":37135,"src":"323328:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323328:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37103,"nodeType":"VariableDeclarationStatement","src":"323328:10:21"},{"assignments":[37105],"declarations":[{"constant":false,"id":37105,"mutability":"mutable","name":"m1","nameLocation":"323356:2:21","nodeType":"VariableDeclaration","scope":37135,"src":"323348:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323348:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37106,"nodeType":"VariableDeclarationStatement","src":"323348:10:21"},{"assignments":[37108],"declarations":[{"constant":false,"id":37108,"mutability":"mutable","name":"m2","nameLocation":"323376:2:21","nodeType":"VariableDeclaration","scope":37135,"src":"323368:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323368:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37109,"nodeType":"VariableDeclarationStatement","src":"323368:10:21"},{"assignments":[37111],"declarations":[{"constant":false,"id":37111,"mutability":"mutable","name":"m3","nameLocation":"323396:2:21","nodeType":"VariableDeclaration","scope":37135,"src":"323388:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323388:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37112,"nodeType":"VariableDeclarationStatement","src":"323388:10:21"},{"assignments":[37114],"declarations":[{"constant":false,"id":37114,"mutability":"mutable","name":"m4","nameLocation":"323416:2:21","nodeType":"VariableDeclaration","scope":37135,"src":"323408:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37113,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323408:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37115,"nodeType":"VariableDeclarationStatement","src":"323408:10:21"},{"assignments":[37117],"declarations":[{"constant":false,"id":37117,"mutability":"mutable","name":"m5","nameLocation":"323436:2:21","nodeType":"VariableDeclaration","scope":37135,"src":"323428:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323428:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37118,"nodeType":"VariableDeclarationStatement","src":"323428:10:21"},{"assignments":[37120],"declarations":[{"constant":false,"id":37120,"mutability":"mutable","name":"m6","nameLocation":"323456:2:21","nodeType":"VariableDeclaration","scope":37135,"src":"323448:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323448:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37121,"nodeType":"VariableDeclarationStatement","src":"323448:10:21"},{"assignments":[37123],"declarations":[{"constant":false,"id":37123,"mutability":"mutable","name":"m7","nameLocation":"323476:2:21","nodeType":"VariableDeclaration","scope":37135,"src":"323468:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323468:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37124,"nodeType":"VariableDeclarationStatement","src":"323468:10:21"},{"assignments":[37126],"declarations":[{"constant":false,"id":37126,"mutability":"mutable","name":"m8","nameLocation":"323496:2:21","nodeType":"VariableDeclaration","scope":37135,"src":"323488:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323488:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37127,"nodeType":"VariableDeclarationStatement","src":"323488:10:21"},{"AST":{"nativeSrc":"323560:927:21","nodeType":"YulBlock","src":"323560:927:21","statements":[{"body":{"nativeSrc":"323603:313:21","nodeType":"YulBlock","src":"323603:313:21","statements":[{"nativeSrc":"323621:15:21","nodeType":"YulVariableDeclaration","src":"323621:15:21","value":{"kind":"number","nativeSrc":"323635:1:21","nodeType":"YulLiteral","src":"323635:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"323625:6:21","nodeType":"YulTypedName","src":"323625:6:21","type":""}]},{"body":{"nativeSrc":"323706:40:21","nodeType":"YulBlock","src":"323706:40:21","statements":[{"body":{"nativeSrc":"323735:9:21","nodeType":"YulBlock","src":"323735:9:21","statements":[{"nativeSrc":"323737:5:21","nodeType":"YulBreak","src":"323737:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"323723:6:21","nodeType":"YulIdentifier","src":"323723:6:21"},{"name":"w","nativeSrc":"323731:1:21","nodeType":"YulIdentifier","src":"323731:1:21"}],"functionName":{"name":"byte","nativeSrc":"323718:4:21","nodeType":"YulIdentifier","src":"323718:4:21"},"nativeSrc":"323718:15:21","nodeType":"YulFunctionCall","src":"323718:15:21"}],"functionName":{"name":"iszero","nativeSrc":"323711:6:21","nodeType":"YulIdentifier","src":"323711:6:21"},"nativeSrc":"323711:23:21","nodeType":"YulFunctionCall","src":"323711:23:21"},"nativeSrc":"323708:36:21","nodeType":"YulIf","src":"323708:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"323663:6:21","nodeType":"YulIdentifier","src":"323663:6:21"},{"kind":"number","nativeSrc":"323671:4:21","nodeType":"YulLiteral","src":"323671:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"323660:2:21","nodeType":"YulIdentifier","src":"323660:2:21"},"nativeSrc":"323660:16:21","nodeType":"YulFunctionCall","src":"323660:16:21"},"nativeSrc":"323653:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"323677:28:21","nodeType":"YulBlock","src":"323677:28:21","statements":[{"nativeSrc":"323679:24:21","nodeType":"YulAssignment","src":"323679:24:21","value":{"arguments":[{"name":"length","nativeSrc":"323693:6:21","nodeType":"YulIdentifier","src":"323693:6:21"},{"kind":"number","nativeSrc":"323701:1:21","nodeType":"YulLiteral","src":"323701:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"323689:3:21","nodeType":"YulIdentifier","src":"323689:3:21"},"nativeSrc":"323689:14:21","nodeType":"YulFunctionCall","src":"323689:14:21"},"variableNames":[{"name":"length","nativeSrc":"323679:6:21","nodeType":"YulIdentifier","src":"323679:6:21"}]}]},"pre":{"nativeSrc":"323657:2:21","nodeType":"YulBlock","src":"323657:2:21","statements":[]},"src":"323653:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"323770:3:21","nodeType":"YulIdentifier","src":"323770:3:21"},{"name":"length","nativeSrc":"323775:6:21","nodeType":"YulIdentifier","src":"323775:6:21"}],"functionName":{"name":"mstore","nativeSrc":"323763:6:21","nodeType":"YulIdentifier","src":"323763:6:21"},"nativeSrc":"323763:19:21","nodeType":"YulFunctionCall","src":"323763:19:21"},"nativeSrc":"323763:19:21","nodeType":"YulExpressionStatement","src":"323763:19:21"},{"nativeSrc":"323799:37:21","nodeType":"YulVariableDeclaration","src":"323799:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"323816:3:21","nodeType":"YulLiteral","src":"323816:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"323825:1:21","nodeType":"YulLiteral","src":"323825:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"323828:6:21","nodeType":"YulIdentifier","src":"323828:6:21"}],"functionName":{"name":"shl","nativeSrc":"323821:3:21","nodeType":"YulIdentifier","src":"323821:3:21"},"nativeSrc":"323821:14:21","nodeType":"YulFunctionCall","src":"323821:14:21"}],"functionName":{"name":"sub","nativeSrc":"323812:3:21","nodeType":"YulIdentifier","src":"323812:3:21"},"nativeSrc":"323812:24:21","nodeType":"YulFunctionCall","src":"323812:24:21"},"variables":[{"name":"shift","nativeSrc":"323803:5:21","nodeType":"YulTypedName","src":"323803:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"323864:3:21","nodeType":"YulIdentifier","src":"323864:3:21"},{"kind":"number","nativeSrc":"323869:4:21","nodeType":"YulLiteral","src":"323869:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"323860:3:21","nodeType":"YulIdentifier","src":"323860:3:21"},"nativeSrc":"323860:14:21","nodeType":"YulFunctionCall","src":"323860:14:21"},{"arguments":[{"name":"shift","nativeSrc":"323880:5:21","nodeType":"YulIdentifier","src":"323880:5:21"},{"arguments":[{"name":"shift","nativeSrc":"323891:5:21","nodeType":"YulIdentifier","src":"323891:5:21"},{"name":"w","nativeSrc":"323898:1:21","nodeType":"YulIdentifier","src":"323898:1:21"}],"functionName":{"name":"shr","nativeSrc":"323887:3:21","nodeType":"YulIdentifier","src":"323887:3:21"},"nativeSrc":"323887:13:21","nodeType":"YulFunctionCall","src":"323887:13:21"}],"functionName":{"name":"shl","nativeSrc":"323876:3:21","nodeType":"YulIdentifier","src":"323876:3:21"},"nativeSrc":"323876:25:21","nodeType":"YulFunctionCall","src":"323876:25:21"}],"functionName":{"name":"mstore","nativeSrc":"323853:6:21","nodeType":"YulIdentifier","src":"323853:6:21"},"nativeSrc":"323853:49:21","nodeType":"YulFunctionCall","src":"323853:49:21"},"nativeSrc":"323853:49:21","nodeType":"YulExpressionStatement","src":"323853:49:21"}]},"name":"writeString","nativeSrc":"323574:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"323595:3:21","nodeType":"YulTypedName","src":"323595:3:21","type":""},{"name":"w","nativeSrc":"323600:1:21","nodeType":"YulTypedName","src":"323600:1:21","type":""}],"src":"323574:342:21"},{"nativeSrc":"323929:17:21","nodeType":"YulAssignment","src":"323929:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"323941:4:21","nodeType":"YulLiteral","src":"323941:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"323935:5:21","nodeType":"YulIdentifier","src":"323935:5:21"},"nativeSrc":"323935:11:21","nodeType":"YulFunctionCall","src":"323935:11:21"},"variableNames":[{"name":"m0","nativeSrc":"323929:2:21","nodeType":"YulIdentifier","src":"323929:2:21"}]},{"nativeSrc":"323959:17:21","nodeType":"YulAssignment","src":"323959:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"323971:4:21","nodeType":"YulLiteral","src":"323971:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"323965:5:21","nodeType":"YulIdentifier","src":"323965:5:21"},"nativeSrc":"323965:11:21","nodeType":"YulFunctionCall","src":"323965:11:21"},"variableNames":[{"name":"m1","nativeSrc":"323959:2:21","nodeType":"YulIdentifier","src":"323959:2:21"}]},{"nativeSrc":"323989:17:21","nodeType":"YulAssignment","src":"323989:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"324001:4:21","nodeType":"YulLiteral","src":"324001:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"323995:5:21","nodeType":"YulIdentifier","src":"323995:5:21"},"nativeSrc":"323995:11:21","nodeType":"YulFunctionCall","src":"323995:11:21"},"variableNames":[{"name":"m2","nativeSrc":"323989:2:21","nodeType":"YulIdentifier","src":"323989:2:21"}]},{"nativeSrc":"324019:17:21","nodeType":"YulAssignment","src":"324019:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"324031:4:21","nodeType":"YulLiteral","src":"324031:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"324025:5:21","nodeType":"YulIdentifier","src":"324025:5:21"},"nativeSrc":"324025:11:21","nodeType":"YulFunctionCall","src":"324025:11:21"},"variableNames":[{"name":"m3","nativeSrc":"324019:2:21","nodeType":"YulIdentifier","src":"324019:2:21"}]},{"nativeSrc":"324049:17:21","nodeType":"YulAssignment","src":"324049:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"324061:4:21","nodeType":"YulLiteral","src":"324061:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"324055:5:21","nodeType":"YulIdentifier","src":"324055:5:21"},"nativeSrc":"324055:11:21","nodeType":"YulFunctionCall","src":"324055:11:21"},"variableNames":[{"name":"m4","nativeSrc":"324049:2:21","nodeType":"YulIdentifier","src":"324049:2:21"}]},{"nativeSrc":"324079:17:21","nodeType":"YulAssignment","src":"324079:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"324091:4:21","nodeType":"YulLiteral","src":"324091:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"324085:5:21","nodeType":"YulIdentifier","src":"324085:5:21"},"nativeSrc":"324085:11:21","nodeType":"YulFunctionCall","src":"324085:11:21"},"variableNames":[{"name":"m5","nativeSrc":"324079:2:21","nodeType":"YulIdentifier","src":"324079:2:21"}]},{"nativeSrc":"324109:17:21","nodeType":"YulAssignment","src":"324109:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"324121:4:21","nodeType":"YulLiteral","src":"324121:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"324115:5:21","nodeType":"YulIdentifier","src":"324115:5:21"},"nativeSrc":"324115:11:21","nodeType":"YulFunctionCall","src":"324115:11:21"},"variableNames":[{"name":"m6","nativeSrc":"324109:2:21","nodeType":"YulIdentifier","src":"324109:2:21"}]},{"nativeSrc":"324139:17:21","nodeType":"YulAssignment","src":"324139:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"324151:4:21","nodeType":"YulLiteral","src":"324151:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"324145:5:21","nodeType":"YulIdentifier","src":"324145:5:21"},"nativeSrc":"324145:11:21","nodeType":"YulFunctionCall","src":"324145:11:21"},"variableNames":[{"name":"m7","nativeSrc":"324139:2:21","nodeType":"YulIdentifier","src":"324139:2:21"}]},{"nativeSrc":"324169:18:21","nodeType":"YulAssignment","src":"324169:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"324181:5:21","nodeType":"YulLiteral","src":"324181:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"324175:5:21","nodeType":"YulIdentifier","src":"324175:5:21"},"nativeSrc":"324175:12:21","nodeType":"YulFunctionCall","src":"324175:12:21"},"variableNames":[{"name":"m8","nativeSrc":"324169:2:21","nodeType":"YulIdentifier","src":"324169:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324272:4:21","nodeType":"YulLiteral","src":"324272:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"324278:10:21","nodeType":"YulLiteral","src":"324278:10:21","type":"","value":"0xb028c9bd"}],"functionName":{"name":"mstore","nativeSrc":"324265:6:21","nodeType":"YulIdentifier","src":"324265:6:21"},"nativeSrc":"324265:24:21","nodeType":"YulFunctionCall","src":"324265:24:21"},"nativeSrc":"324265:24:21","nodeType":"YulExpressionStatement","src":"324265:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324309:4:21","nodeType":"YulLiteral","src":"324309:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"324315:2:21","nodeType":"YulIdentifier","src":"324315:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324302:6:21","nodeType":"YulIdentifier","src":"324302:6:21"},"nativeSrc":"324302:16:21","nodeType":"YulFunctionCall","src":"324302:16:21"},"nativeSrc":"324302:16:21","nodeType":"YulExpressionStatement","src":"324302:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324338:4:21","nodeType":"YulLiteral","src":"324338:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"324344:4:21","nodeType":"YulLiteral","src":"324344:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"324331:6:21","nodeType":"YulIdentifier","src":"324331:6:21"},"nativeSrc":"324331:18:21","nodeType":"YulFunctionCall","src":"324331:18:21"},"nativeSrc":"324331:18:21","nodeType":"YulExpressionStatement","src":"324331:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324369:4:21","nodeType":"YulLiteral","src":"324369:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"324375:4:21","nodeType":"YulLiteral","src":"324375:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"324362:6:21","nodeType":"YulIdentifier","src":"324362:6:21"},"nativeSrc":"324362:18:21","nodeType":"YulFunctionCall","src":"324362:18:21"},"nativeSrc":"324362:18:21","nodeType":"YulExpressionStatement","src":"324362:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324400:4:21","nodeType":"YulLiteral","src":"324400:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"324406:2:21","nodeType":"YulIdentifier","src":"324406:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324393:6:21","nodeType":"YulIdentifier","src":"324393:6:21"},"nativeSrc":"324393:16:21","nodeType":"YulFunctionCall","src":"324393:16:21"},"nativeSrc":"324393:16:21","nodeType":"YulExpressionStatement","src":"324393:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324434:4:21","nodeType":"YulLiteral","src":"324434:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"324440:2:21","nodeType":"YulIdentifier","src":"324440:2:21"}],"functionName":{"name":"writeString","nativeSrc":"324422:11:21","nodeType":"YulIdentifier","src":"324422:11:21"},"nativeSrc":"324422:21:21","nodeType":"YulFunctionCall","src":"324422:21:21"},"nativeSrc":"324422:21:21","nodeType":"YulExpressionStatement","src":"324422:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324468:4:21","nodeType":"YulLiteral","src":"324468:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"324474:2:21","nodeType":"YulIdentifier","src":"324474:2:21"}],"functionName":{"name":"writeString","nativeSrc":"324456:11:21","nodeType":"YulIdentifier","src":"324456:11:21"},"nativeSrc":"324456:21:21","nodeType":"YulFunctionCall","src":"324456:21:21"},"nativeSrc":"324456:21:21","nodeType":"YulExpressionStatement","src":"324456:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37102,"isOffset":false,"isSlot":false,"src":"323929:2:21","valueSize":1},{"declaration":37105,"isOffset":false,"isSlot":false,"src":"323959:2:21","valueSize":1},{"declaration":37108,"isOffset":false,"isSlot":false,"src":"323989:2:21","valueSize":1},{"declaration":37111,"isOffset":false,"isSlot":false,"src":"324019:2:21","valueSize":1},{"declaration":37114,"isOffset":false,"isSlot":false,"src":"324049:2:21","valueSize":1},{"declaration":37117,"isOffset":false,"isSlot":false,"src":"324079:2:21","valueSize":1},{"declaration":37120,"isOffset":false,"isSlot":false,"src":"324109:2:21","valueSize":1},{"declaration":37123,"isOffset":false,"isSlot":false,"src":"324139:2:21","valueSize":1},{"declaration":37126,"isOffset":false,"isSlot":false,"src":"324169:2:21","valueSize":1},{"declaration":37092,"isOffset":false,"isSlot":false,"src":"324315:2:21","valueSize":1},{"declaration":37094,"isOffset":false,"isSlot":false,"src":"324440:2:21","valueSize":1},{"declaration":37096,"isOffset":false,"isSlot":false,"src":"324474:2:21","valueSize":1},{"declaration":37098,"isOffset":false,"isSlot":false,"src":"324406:2:21","valueSize":1}],"id":37128,"nodeType":"InlineAssembly","src":"323551:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"324512:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"324518:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37129,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"324496:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"324496:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37133,"nodeType":"ExpressionStatement","src":"324496:28:21"},{"AST":{"nativeSrc":"324586:273:21","nodeType":"YulBlock","src":"324586:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"324607:4:21","nodeType":"YulLiteral","src":"324607:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"324613:2:21","nodeType":"YulIdentifier","src":"324613:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324600:6:21","nodeType":"YulIdentifier","src":"324600:6:21"},"nativeSrc":"324600:16:21","nodeType":"YulFunctionCall","src":"324600:16:21"},"nativeSrc":"324600:16:21","nodeType":"YulExpressionStatement","src":"324600:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324636:4:21","nodeType":"YulLiteral","src":"324636:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"324642:2:21","nodeType":"YulIdentifier","src":"324642:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324629:6:21","nodeType":"YulIdentifier","src":"324629:6:21"},"nativeSrc":"324629:16:21","nodeType":"YulFunctionCall","src":"324629:16:21"},"nativeSrc":"324629:16:21","nodeType":"YulExpressionStatement","src":"324629:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324665:4:21","nodeType":"YulLiteral","src":"324665:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"324671:2:21","nodeType":"YulIdentifier","src":"324671:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324658:6:21","nodeType":"YulIdentifier","src":"324658:6:21"},"nativeSrc":"324658:16:21","nodeType":"YulFunctionCall","src":"324658:16:21"},"nativeSrc":"324658:16:21","nodeType":"YulExpressionStatement","src":"324658:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324694:4:21","nodeType":"YulLiteral","src":"324694:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"324700:2:21","nodeType":"YulIdentifier","src":"324700:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324687:6:21","nodeType":"YulIdentifier","src":"324687:6:21"},"nativeSrc":"324687:16:21","nodeType":"YulFunctionCall","src":"324687:16:21"},"nativeSrc":"324687:16:21","nodeType":"YulExpressionStatement","src":"324687:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324723:4:21","nodeType":"YulLiteral","src":"324723:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"324729:2:21","nodeType":"YulIdentifier","src":"324729:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324716:6:21","nodeType":"YulIdentifier","src":"324716:6:21"},"nativeSrc":"324716:16:21","nodeType":"YulFunctionCall","src":"324716:16:21"},"nativeSrc":"324716:16:21","nodeType":"YulExpressionStatement","src":"324716:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324752:4:21","nodeType":"YulLiteral","src":"324752:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"324758:2:21","nodeType":"YulIdentifier","src":"324758:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324745:6:21","nodeType":"YulIdentifier","src":"324745:6:21"},"nativeSrc":"324745:16:21","nodeType":"YulFunctionCall","src":"324745:16:21"},"nativeSrc":"324745:16:21","nodeType":"YulExpressionStatement","src":"324745:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324781:4:21","nodeType":"YulLiteral","src":"324781:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"324787:2:21","nodeType":"YulIdentifier","src":"324787:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324774:6:21","nodeType":"YulIdentifier","src":"324774:6:21"},"nativeSrc":"324774:16:21","nodeType":"YulFunctionCall","src":"324774:16:21"},"nativeSrc":"324774:16:21","nodeType":"YulExpressionStatement","src":"324774:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324810:4:21","nodeType":"YulLiteral","src":"324810:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"324816:2:21","nodeType":"YulIdentifier","src":"324816:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324803:6:21","nodeType":"YulIdentifier","src":"324803:6:21"},"nativeSrc":"324803:16:21","nodeType":"YulFunctionCall","src":"324803:16:21"},"nativeSrc":"324803:16:21","nodeType":"YulExpressionStatement","src":"324803:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324839:5:21","nodeType":"YulLiteral","src":"324839:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"324846:2:21","nodeType":"YulIdentifier","src":"324846:2:21"}],"functionName":{"name":"mstore","nativeSrc":"324832:6:21","nodeType":"YulIdentifier","src":"324832:6:21"},"nativeSrc":"324832:17:21","nodeType":"YulFunctionCall","src":"324832:17:21"},"nativeSrc":"324832:17:21","nodeType":"YulExpressionStatement","src":"324832:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37102,"isOffset":false,"isSlot":false,"src":"324613:2:21","valueSize":1},{"declaration":37105,"isOffset":false,"isSlot":false,"src":"324642:2:21","valueSize":1},{"declaration":37108,"isOffset":false,"isSlot":false,"src":"324671:2:21","valueSize":1},{"declaration":37111,"isOffset":false,"isSlot":false,"src":"324700:2:21","valueSize":1},{"declaration":37114,"isOffset":false,"isSlot":false,"src":"324729:2:21","valueSize":1},{"declaration":37117,"isOffset":false,"isSlot":false,"src":"324758:2:21","valueSize":1},{"declaration":37120,"isOffset":false,"isSlot":false,"src":"324787:2:21","valueSize":1},{"declaration":37123,"isOffset":false,"isSlot":false,"src":"324816:2:21","valueSize":1},{"declaration":37126,"isOffset":false,"isSlot":false,"src":"324846:2:21","valueSize":1}],"id":37134,"nodeType":"InlineAssembly","src":"324577:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"323252:3:21","parameters":{"id":37099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37092,"mutability":"mutable","name":"p0","nameLocation":"323264:2:21","nodeType":"VariableDeclaration","scope":37136,"src":"323256:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37091,"name":"uint256","nodeType":"ElementaryTypeName","src":"323256:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37094,"mutability":"mutable","name":"p1","nameLocation":"323276:2:21","nodeType":"VariableDeclaration","scope":37136,"src":"323268:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323268:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37096,"mutability":"mutable","name":"p2","nameLocation":"323288:2:21","nodeType":"VariableDeclaration","scope":37136,"src":"323280:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323280:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37098,"mutability":"mutable","name":"p3","nameLocation":"323300:2:21","nodeType":"VariableDeclaration","scope":37136,"src":"323292:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37097,"name":"uint256","nodeType":"ElementaryTypeName","src":"323292:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"323255:48:21"},"returnParameters":{"id":37100,"nodeType":"ParameterList","parameters":[],"src":"323318:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37188,"nodeType":"FunctionDefinition","src":"324871:1824:21","nodes":[],"body":{"id":37187,"nodeType":"Block","src":"324946:1749:21","nodes":[],"statements":[{"assignments":[37148],"declarations":[{"constant":false,"id":37148,"mutability":"mutable","name":"m0","nameLocation":"324964:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"324956:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324956:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37149,"nodeType":"VariableDeclarationStatement","src":"324956:10:21"},{"assignments":[37151],"declarations":[{"constant":false,"id":37151,"mutability":"mutable","name":"m1","nameLocation":"324984:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"324976:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324976:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37152,"nodeType":"VariableDeclarationStatement","src":"324976:10:21"},{"assignments":[37154],"declarations":[{"constant":false,"id":37154,"mutability":"mutable","name":"m2","nameLocation":"325004:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"324996:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324996:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37155,"nodeType":"VariableDeclarationStatement","src":"324996:10:21"},{"assignments":[37157],"declarations":[{"constant":false,"id":37157,"mutability":"mutable","name":"m3","nameLocation":"325024:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"325016:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325016:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37158,"nodeType":"VariableDeclarationStatement","src":"325016:10:21"},{"assignments":[37160],"declarations":[{"constant":false,"id":37160,"mutability":"mutable","name":"m4","nameLocation":"325044:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"325036:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325036:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37161,"nodeType":"VariableDeclarationStatement","src":"325036:10:21"},{"assignments":[37163],"declarations":[{"constant":false,"id":37163,"mutability":"mutable","name":"m5","nameLocation":"325064:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"325056:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325056:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37164,"nodeType":"VariableDeclarationStatement","src":"325056:10:21"},{"assignments":[37166],"declarations":[{"constant":false,"id":37166,"mutability":"mutable","name":"m6","nameLocation":"325084:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"325076:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325076:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37167,"nodeType":"VariableDeclarationStatement","src":"325076:10:21"},{"assignments":[37169],"declarations":[{"constant":false,"id":37169,"mutability":"mutable","name":"m7","nameLocation":"325104:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"325096:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325096:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37170,"nodeType":"VariableDeclarationStatement","src":"325096:10:21"},{"assignments":[37172],"declarations":[{"constant":false,"id":37172,"mutability":"mutable","name":"m8","nameLocation":"325124:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"325116:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325116:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37173,"nodeType":"VariableDeclarationStatement","src":"325116:10:21"},{"assignments":[37175],"declarations":[{"constant":false,"id":37175,"mutability":"mutable","name":"m9","nameLocation":"325144:2:21","nodeType":"VariableDeclaration","scope":37187,"src":"325136:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325136:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37176,"nodeType":"VariableDeclarationStatement","src":"325136:10:21"},{"assignments":[37178],"declarations":[{"constant":false,"id":37178,"mutability":"mutable","name":"m10","nameLocation":"325164:3:21","nodeType":"VariableDeclaration","scope":37187,"src":"325156:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325156:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37179,"nodeType":"VariableDeclarationStatement","src":"325156:11:21"},{"AST":{"nativeSrc":"325229:1027:21","nodeType":"YulBlock","src":"325229:1027:21","statements":[{"body":{"nativeSrc":"325272:313:21","nodeType":"YulBlock","src":"325272:313:21","statements":[{"nativeSrc":"325290:15:21","nodeType":"YulVariableDeclaration","src":"325290:15:21","value":{"kind":"number","nativeSrc":"325304:1:21","nodeType":"YulLiteral","src":"325304:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"325294:6:21","nodeType":"YulTypedName","src":"325294:6:21","type":""}]},{"body":{"nativeSrc":"325375:40:21","nodeType":"YulBlock","src":"325375:40:21","statements":[{"body":{"nativeSrc":"325404:9:21","nodeType":"YulBlock","src":"325404:9:21","statements":[{"nativeSrc":"325406:5:21","nodeType":"YulBreak","src":"325406:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"325392:6:21","nodeType":"YulIdentifier","src":"325392:6:21"},{"name":"w","nativeSrc":"325400:1:21","nodeType":"YulIdentifier","src":"325400:1:21"}],"functionName":{"name":"byte","nativeSrc":"325387:4:21","nodeType":"YulIdentifier","src":"325387:4:21"},"nativeSrc":"325387:15:21","nodeType":"YulFunctionCall","src":"325387:15:21"}],"functionName":{"name":"iszero","nativeSrc":"325380:6:21","nodeType":"YulIdentifier","src":"325380:6:21"},"nativeSrc":"325380:23:21","nodeType":"YulFunctionCall","src":"325380:23:21"},"nativeSrc":"325377:36:21","nodeType":"YulIf","src":"325377:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"325332:6:21","nodeType":"YulIdentifier","src":"325332:6:21"},{"kind":"number","nativeSrc":"325340:4:21","nodeType":"YulLiteral","src":"325340:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"325329:2:21","nodeType":"YulIdentifier","src":"325329:2:21"},"nativeSrc":"325329:16:21","nodeType":"YulFunctionCall","src":"325329:16:21"},"nativeSrc":"325322:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"325346:28:21","nodeType":"YulBlock","src":"325346:28:21","statements":[{"nativeSrc":"325348:24:21","nodeType":"YulAssignment","src":"325348:24:21","value":{"arguments":[{"name":"length","nativeSrc":"325362:6:21","nodeType":"YulIdentifier","src":"325362:6:21"},{"kind":"number","nativeSrc":"325370:1:21","nodeType":"YulLiteral","src":"325370:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"325358:3:21","nodeType":"YulIdentifier","src":"325358:3:21"},"nativeSrc":"325358:14:21","nodeType":"YulFunctionCall","src":"325358:14:21"},"variableNames":[{"name":"length","nativeSrc":"325348:6:21","nodeType":"YulIdentifier","src":"325348:6:21"}]}]},"pre":{"nativeSrc":"325326:2:21","nodeType":"YulBlock","src":"325326:2:21","statements":[]},"src":"325322:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"325439:3:21","nodeType":"YulIdentifier","src":"325439:3:21"},{"name":"length","nativeSrc":"325444:6:21","nodeType":"YulIdentifier","src":"325444:6:21"}],"functionName":{"name":"mstore","nativeSrc":"325432:6:21","nodeType":"YulIdentifier","src":"325432:6:21"},"nativeSrc":"325432:19:21","nodeType":"YulFunctionCall","src":"325432:19:21"},"nativeSrc":"325432:19:21","nodeType":"YulExpressionStatement","src":"325432:19:21"},{"nativeSrc":"325468:37:21","nodeType":"YulVariableDeclaration","src":"325468:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"325485:3:21","nodeType":"YulLiteral","src":"325485:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"325494:1:21","nodeType":"YulLiteral","src":"325494:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"325497:6:21","nodeType":"YulIdentifier","src":"325497:6:21"}],"functionName":{"name":"shl","nativeSrc":"325490:3:21","nodeType":"YulIdentifier","src":"325490:3:21"},"nativeSrc":"325490:14:21","nodeType":"YulFunctionCall","src":"325490:14:21"}],"functionName":{"name":"sub","nativeSrc":"325481:3:21","nodeType":"YulIdentifier","src":"325481:3:21"},"nativeSrc":"325481:24:21","nodeType":"YulFunctionCall","src":"325481:24:21"},"variables":[{"name":"shift","nativeSrc":"325472:5:21","nodeType":"YulTypedName","src":"325472:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"325533:3:21","nodeType":"YulIdentifier","src":"325533:3:21"},{"kind":"number","nativeSrc":"325538:4:21","nodeType":"YulLiteral","src":"325538:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"325529:3:21","nodeType":"YulIdentifier","src":"325529:3:21"},"nativeSrc":"325529:14:21","nodeType":"YulFunctionCall","src":"325529:14:21"},{"arguments":[{"name":"shift","nativeSrc":"325549:5:21","nodeType":"YulIdentifier","src":"325549:5:21"},{"arguments":[{"name":"shift","nativeSrc":"325560:5:21","nodeType":"YulIdentifier","src":"325560:5:21"},{"name":"w","nativeSrc":"325567:1:21","nodeType":"YulIdentifier","src":"325567:1:21"}],"functionName":{"name":"shr","nativeSrc":"325556:3:21","nodeType":"YulIdentifier","src":"325556:3:21"},"nativeSrc":"325556:13:21","nodeType":"YulFunctionCall","src":"325556:13:21"}],"functionName":{"name":"shl","nativeSrc":"325545:3:21","nodeType":"YulIdentifier","src":"325545:3:21"},"nativeSrc":"325545:25:21","nodeType":"YulFunctionCall","src":"325545:25:21"}],"functionName":{"name":"mstore","nativeSrc":"325522:6:21","nodeType":"YulIdentifier","src":"325522:6:21"},"nativeSrc":"325522:49:21","nodeType":"YulFunctionCall","src":"325522:49:21"},"nativeSrc":"325522:49:21","nodeType":"YulExpressionStatement","src":"325522:49:21"}]},"name":"writeString","nativeSrc":"325243:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"325264:3:21","nodeType":"YulTypedName","src":"325264:3:21","type":""},{"name":"w","nativeSrc":"325269:1:21","nodeType":"YulTypedName","src":"325269:1:21","type":""}],"src":"325243:342:21"},{"nativeSrc":"325598:17:21","nodeType":"YulAssignment","src":"325598:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"325610:4:21","nodeType":"YulLiteral","src":"325610:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"325604:5:21","nodeType":"YulIdentifier","src":"325604:5:21"},"nativeSrc":"325604:11:21","nodeType":"YulFunctionCall","src":"325604:11:21"},"variableNames":[{"name":"m0","nativeSrc":"325598:2:21","nodeType":"YulIdentifier","src":"325598:2:21"}]},{"nativeSrc":"325628:17:21","nodeType":"YulAssignment","src":"325628:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"325640:4:21","nodeType":"YulLiteral","src":"325640:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"325634:5:21","nodeType":"YulIdentifier","src":"325634:5:21"},"nativeSrc":"325634:11:21","nodeType":"YulFunctionCall","src":"325634:11:21"},"variableNames":[{"name":"m1","nativeSrc":"325628:2:21","nodeType":"YulIdentifier","src":"325628:2:21"}]},{"nativeSrc":"325658:17:21","nodeType":"YulAssignment","src":"325658:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"325670:4:21","nodeType":"YulLiteral","src":"325670:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"325664:5:21","nodeType":"YulIdentifier","src":"325664:5:21"},"nativeSrc":"325664:11:21","nodeType":"YulFunctionCall","src":"325664:11:21"},"variableNames":[{"name":"m2","nativeSrc":"325658:2:21","nodeType":"YulIdentifier","src":"325658:2:21"}]},{"nativeSrc":"325688:17:21","nodeType":"YulAssignment","src":"325688:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"325700:4:21","nodeType":"YulLiteral","src":"325700:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"325694:5:21","nodeType":"YulIdentifier","src":"325694:5:21"},"nativeSrc":"325694:11:21","nodeType":"YulFunctionCall","src":"325694:11:21"},"variableNames":[{"name":"m3","nativeSrc":"325688:2:21","nodeType":"YulIdentifier","src":"325688:2:21"}]},{"nativeSrc":"325718:17:21","nodeType":"YulAssignment","src":"325718:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"325730:4:21","nodeType":"YulLiteral","src":"325730:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"325724:5:21","nodeType":"YulIdentifier","src":"325724:5:21"},"nativeSrc":"325724:11:21","nodeType":"YulFunctionCall","src":"325724:11:21"},"variableNames":[{"name":"m4","nativeSrc":"325718:2:21","nodeType":"YulIdentifier","src":"325718:2:21"}]},{"nativeSrc":"325748:17:21","nodeType":"YulAssignment","src":"325748:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"325760:4:21","nodeType":"YulLiteral","src":"325760:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"325754:5:21","nodeType":"YulIdentifier","src":"325754:5:21"},"nativeSrc":"325754:11:21","nodeType":"YulFunctionCall","src":"325754:11:21"},"variableNames":[{"name":"m5","nativeSrc":"325748:2:21","nodeType":"YulIdentifier","src":"325748:2:21"}]},{"nativeSrc":"325778:17:21","nodeType":"YulAssignment","src":"325778:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"325790:4:21","nodeType":"YulLiteral","src":"325790:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"325784:5:21","nodeType":"YulIdentifier","src":"325784:5:21"},"nativeSrc":"325784:11:21","nodeType":"YulFunctionCall","src":"325784:11:21"},"variableNames":[{"name":"m6","nativeSrc":"325778:2:21","nodeType":"YulIdentifier","src":"325778:2:21"}]},{"nativeSrc":"325808:17:21","nodeType":"YulAssignment","src":"325808:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"325820:4:21","nodeType":"YulLiteral","src":"325820:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"325814:5:21","nodeType":"YulIdentifier","src":"325814:5:21"},"nativeSrc":"325814:11:21","nodeType":"YulFunctionCall","src":"325814:11:21"},"variableNames":[{"name":"m7","nativeSrc":"325808:2:21","nodeType":"YulIdentifier","src":"325808:2:21"}]},{"nativeSrc":"325838:18:21","nodeType":"YulAssignment","src":"325838:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"325850:5:21","nodeType":"YulLiteral","src":"325850:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"325844:5:21","nodeType":"YulIdentifier","src":"325844:5:21"},"nativeSrc":"325844:12:21","nodeType":"YulFunctionCall","src":"325844:12:21"},"variableNames":[{"name":"m8","nativeSrc":"325838:2:21","nodeType":"YulIdentifier","src":"325838:2:21"}]},{"nativeSrc":"325869:18:21","nodeType":"YulAssignment","src":"325869:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"325881:5:21","nodeType":"YulLiteral","src":"325881:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"325875:5:21","nodeType":"YulIdentifier","src":"325875:5:21"},"nativeSrc":"325875:12:21","nodeType":"YulFunctionCall","src":"325875:12:21"},"variableNames":[{"name":"m9","nativeSrc":"325869:2:21","nodeType":"YulIdentifier","src":"325869:2:21"}]},{"nativeSrc":"325900:19:21","nodeType":"YulAssignment","src":"325900:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"325913:5:21","nodeType":"YulLiteral","src":"325913:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"325907:5:21","nodeType":"YulIdentifier","src":"325907:5:21"},"nativeSrc":"325907:12:21","nodeType":"YulFunctionCall","src":"325907:12:21"},"variableNames":[{"name":"m10","nativeSrc":"325900:3:21","nodeType":"YulIdentifier","src":"325900:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326003:4:21","nodeType":"YulLiteral","src":"326003:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"326009:10:21","nodeType":"YulLiteral","src":"326009:10:21","type":"","value":"0x21ad0683"}],"functionName":{"name":"mstore","nativeSrc":"325996:6:21","nodeType":"YulIdentifier","src":"325996:6:21"},"nativeSrc":"325996:24:21","nodeType":"YulFunctionCall","src":"325996:24:21"},"nativeSrc":"325996:24:21","nodeType":"YulExpressionStatement","src":"325996:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326040:4:21","nodeType":"YulLiteral","src":"326040:4:21","type":"","value":"0x20"},{"name":"p0","nativeSrc":"326046:2:21","nodeType":"YulIdentifier","src":"326046:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326033:6:21","nodeType":"YulIdentifier","src":"326033:6:21"},"nativeSrc":"326033:16:21","nodeType":"YulFunctionCall","src":"326033:16:21"},"nativeSrc":"326033:16:21","nodeType":"YulExpressionStatement","src":"326033:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326069:4:21","nodeType":"YulLiteral","src":"326069:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"326075:4:21","nodeType":"YulLiteral","src":"326075:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"326062:6:21","nodeType":"YulIdentifier","src":"326062:6:21"},"nativeSrc":"326062:18:21","nodeType":"YulFunctionCall","src":"326062:18:21"},"nativeSrc":"326062:18:21","nodeType":"YulExpressionStatement","src":"326062:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326100:4:21","nodeType":"YulLiteral","src":"326100:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"326106:4:21","nodeType":"YulLiteral","src":"326106:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"326093:6:21","nodeType":"YulIdentifier","src":"326093:6:21"},"nativeSrc":"326093:18:21","nodeType":"YulFunctionCall","src":"326093:18:21"},"nativeSrc":"326093:18:21","nodeType":"YulExpressionStatement","src":"326093:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326131:4:21","nodeType":"YulLiteral","src":"326131:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"326137:5:21","nodeType":"YulLiteral","src":"326137:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"326124:6:21","nodeType":"YulIdentifier","src":"326124:6:21"},"nativeSrc":"326124:19:21","nodeType":"YulFunctionCall","src":"326124:19:21"},"nativeSrc":"326124:19:21","nodeType":"YulExpressionStatement","src":"326124:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326168:4:21","nodeType":"YulLiteral","src":"326168:4:21","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"326174:2:21","nodeType":"YulIdentifier","src":"326174:2:21"}],"functionName":{"name":"writeString","nativeSrc":"326156:11:21","nodeType":"YulIdentifier","src":"326156:11:21"},"nativeSrc":"326156:21:21","nodeType":"YulFunctionCall","src":"326156:21:21"},"nativeSrc":"326156:21:21","nodeType":"YulExpressionStatement","src":"326156:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326202:4:21","nodeType":"YulLiteral","src":"326202:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"326208:2:21","nodeType":"YulIdentifier","src":"326208:2:21"}],"functionName":{"name":"writeString","nativeSrc":"326190:11:21","nodeType":"YulIdentifier","src":"326190:11:21"},"nativeSrc":"326190:21:21","nodeType":"YulFunctionCall","src":"326190:21:21"},"nativeSrc":"326190:21:21","nodeType":"YulExpressionStatement","src":"326190:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326236:5:21","nodeType":"YulLiteral","src":"326236:5:21","type":"","value":"0x120"},{"name":"p3","nativeSrc":"326243:2:21","nodeType":"YulIdentifier","src":"326243:2:21"}],"functionName":{"name":"writeString","nativeSrc":"326224:11:21","nodeType":"YulIdentifier","src":"326224:11:21"},"nativeSrc":"326224:22:21","nodeType":"YulFunctionCall","src":"326224:22:21"},"nativeSrc":"326224:22:21","nodeType":"YulExpressionStatement","src":"326224:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37148,"isOffset":false,"isSlot":false,"src":"325598:2:21","valueSize":1},{"declaration":37151,"isOffset":false,"isSlot":false,"src":"325628:2:21","valueSize":1},{"declaration":37178,"isOffset":false,"isSlot":false,"src":"325900:3:21","valueSize":1},{"declaration":37154,"isOffset":false,"isSlot":false,"src":"325658:2:21","valueSize":1},{"declaration":37157,"isOffset":false,"isSlot":false,"src":"325688:2:21","valueSize":1},{"declaration":37160,"isOffset":false,"isSlot":false,"src":"325718:2:21","valueSize":1},{"declaration":37163,"isOffset":false,"isSlot":false,"src":"325748:2:21","valueSize":1},{"declaration":37166,"isOffset":false,"isSlot":false,"src":"325778:2:21","valueSize":1},{"declaration":37169,"isOffset":false,"isSlot":false,"src":"325808:2:21","valueSize":1},{"declaration":37172,"isOffset":false,"isSlot":false,"src":"325838:2:21","valueSize":1},{"declaration":37175,"isOffset":false,"isSlot":false,"src":"325869:2:21","valueSize":1},{"declaration":37138,"isOffset":false,"isSlot":false,"src":"326046:2:21","valueSize":1},{"declaration":37140,"isOffset":false,"isSlot":false,"src":"326174:2:21","valueSize":1},{"declaration":37142,"isOffset":false,"isSlot":false,"src":"326208:2:21","valueSize":1},{"declaration":37144,"isOffset":false,"isSlot":false,"src":"326243:2:21","valueSize":1}],"id":37180,"nodeType":"InlineAssembly","src":"325220:1036:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"326281:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":37183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"326287:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":37181,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"326265:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"326265:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37185,"nodeType":"ExpressionStatement","src":"326265:28:21"},{"AST":{"nativeSrc":"326355:334:21","nodeType":"YulBlock","src":"326355:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"326376:4:21","nodeType":"YulLiteral","src":"326376:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"326382:2:21","nodeType":"YulIdentifier","src":"326382:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326369:6:21","nodeType":"YulIdentifier","src":"326369:6:21"},"nativeSrc":"326369:16:21","nodeType":"YulFunctionCall","src":"326369:16:21"},"nativeSrc":"326369:16:21","nodeType":"YulExpressionStatement","src":"326369:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326405:4:21","nodeType":"YulLiteral","src":"326405:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"326411:2:21","nodeType":"YulIdentifier","src":"326411:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326398:6:21","nodeType":"YulIdentifier","src":"326398:6:21"},"nativeSrc":"326398:16:21","nodeType":"YulFunctionCall","src":"326398:16:21"},"nativeSrc":"326398:16:21","nodeType":"YulExpressionStatement","src":"326398:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326434:4:21","nodeType":"YulLiteral","src":"326434:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"326440:2:21","nodeType":"YulIdentifier","src":"326440:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326427:6:21","nodeType":"YulIdentifier","src":"326427:6:21"},"nativeSrc":"326427:16:21","nodeType":"YulFunctionCall","src":"326427:16:21"},"nativeSrc":"326427:16:21","nodeType":"YulExpressionStatement","src":"326427:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326463:4:21","nodeType":"YulLiteral","src":"326463:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"326469:2:21","nodeType":"YulIdentifier","src":"326469:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326456:6:21","nodeType":"YulIdentifier","src":"326456:6:21"},"nativeSrc":"326456:16:21","nodeType":"YulFunctionCall","src":"326456:16:21"},"nativeSrc":"326456:16:21","nodeType":"YulExpressionStatement","src":"326456:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326492:4:21","nodeType":"YulLiteral","src":"326492:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"326498:2:21","nodeType":"YulIdentifier","src":"326498:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326485:6:21","nodeType":"YulIdentifier","src":"326485:6:21"},"nativeSrc":"326485:16:21","nodeType":"YulFunctionCall","src":"326485:16:21"},"nativeSrc":"326485:16:21","nodeType":"YulExpressionStatement","src":"326485:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326521:4:21","nodeType":"YulLiteral","src":"326521:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"326527:2:21","nodeType":"YulIdentifier","src":"326527:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326514:6:21","nodeType":"YulIdentifier","src":"326514:6:21"},"nativeSrc":"326514:16:21","nodeType":"YulFunctionCall","src":"326514:16:21"},"nativeSrc":"326514:16:21","nodeType":"YulExpressionStatement","src":"326514:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326550:4:21","nodeType":"YulLiteral","src":"326550:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"326556:2:21","nodeType":"YulIdentifier","src":"326556:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326543:6:21","nodeType":"YulIdentifier","src":"326543:6:21"},"nativeSrc":"326543:16:21","nodeType":"YulFunctionCall","src":"326543:16:21"},"nativeSrc":"326543:16:21","nodeType":"YulExpressionStatement","src":"326543:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326579:4:21","nodeType":"YulLiteral","src":"326579:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"326585:2:21","nodeType":"YulIdentifier","src":"326585:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326572:6:21","nodeType":"YulIdentifier","src":"326572:6:21"},"nativeSrc":"326572:16:21","nodeType":"YulFunctionCall","src":"326572:16:21"},"nativeSrc":"326572:16:21","nodeType":"YulExpressionStatement","src":"326572:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326608:5:21","nodeType":"YulLiteral","src":"326608:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"326615:2:21","nodeType":"YulIdentifier","src":"326615:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326601:6:21","nodeType":"YulIdentifier","src":"326601:6:21"},"nativeSrc":"326601:17:21","nodeType":"YulFunctionCall","src":"326601:17:21"},"nativeSrc":"326601:17:21","nodeType":"YulExpressionStatement","src":"326601:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326638:5:21","nodeType":"YulLiteral","src":"326638:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"326645:2:21","nodeType":"YulIdentifier","src":"326645:2:21"}],"functionName":{"name":"mstore","nativeSrc":"326631:6:21","nodeType":"YulIdentifier","src":"326631:6:21"},"nativeSrc":"326631:17:21","nodeType":"YulFunctionCall","src":"326631:17:21"},"nativeSrc":"326631:17:21","nodeType":"YulExpressionStatement","src":"326631:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326668:5:21","nodeType":"YulLiteral","src":"326668:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"326675:3:21","nodeType":"YulIdentifier","src":"326675:3:21"}],"functionName":{"name":"mstore","nativeSrc":"326661:6:21","nodeType":"YulIdentifier","src":"326661:6:21"},"nativeSrc":"326661:18:21","nodeType":"YulFunctionCall","src":"326661:18:21"},"nativeSrc":"326661:18:21","nodeType":"YulExpressionStatement","src":"326661:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37148,"isOffset":false,"isSlot":false,"src":"326382:2:21","valueSize":1},{"declaration":37151,"isOffset":false,"isSlot":false,"src":"326411:2:21","valueSize":1},{"declaration":37178,"isOffset":false,"isSlot":false,"src":"326675:3:21","valueSize":1},{"declaration":37154,"isOffset":false,"isSlot":false,"src":"326440:2:21","valueSize":1},{"declaration":37157,"isOffset":false,"isSlot":false,"src":"326469:2:21","valueSize":1},{"declaration":37160,"isOffset":false,"isSlot":false,"src":"326498:2:21","valueSize":1},{"declaration":37163,"isOffset":false,"isSlot":false,"src":"326527:2:21","valueSize":1},{"declaration":37166,"isOffset":false,"isSlot":false,"src":"326556:2:21","valueSize":1},{"declaration":37169,"isOffset":false,"isSlot":false,"src":"326585:2:21","valueSize":1},{"declaration":37172,"isOffset":false,"isSlot":false,"src":"326615:2:21","valueSize":1},{"declaration":37175,"isOffset":false,"isSlot":false,"src":"326645:2:21","valueSize":1}],"id":37186,"nodeType":"InlineAssembly","src":"326346:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"324880:3:21","parameters":{"id":37145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37138,"mutability":"mutable","name":"p0","nameLocation":"324892:2:21","nodeType":"VariableDeclaration","scope":37188,"src":"324884:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37137,"name":"uint256","nodeType":"ElementaryTypeName","src":"324884:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37140,"mutability":"mutable","name":"p1","nameLocation":"324904:2:21","nodeType":"VariableDeclaration","scope":37188,"src":"324896:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324896:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37142,"mutability":"mutable","name":"p2","nameLocation":"324916:2:21","nodeType":"VariableDeclaration","scope":37188,"src":"324908:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324908:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37144,"mutability":"mutable","name":"p3","nameLocation":"324928:2:21","nodeType":"VariableDeclaration","scope":37188,"src":"324920:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324920:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"324883:48:21"},"returnParameters":{"id":37146,"nodeType":"ParameterList","parameters":[],"src":"324946:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37228,"nodeType":"FunctionDefinition","src":"326701:1426:21","nodes":[],"body":{"id":37227,"nodeType":"Block","src":"326776:1351:21","nodes":[],"statements":[{"assignments":[37200],"declarations":[{"constant":false,"id":37200,"mutability":"mutable","name":"m0","nameLocation":"326794:2:21","nodeType":"VariableDeclaration","scope":37227,"src":"326786:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326786:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37201,"nodeType":"VariableDeclarationStatement","src":"326786:10:21"},{"assignments":[37203],"declarations":[{"constant":false,"id":37203,"mutability":"mutable","name":"m1","nameLocation":"326814:2:21","nodeType":"VariableDeclaration","scope":37227,"src":"326806:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326806:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37204,"nodeType":"VariableDeclarationStatement","src":"326806:10:21"},{"assignments":[37206],"declarations":[{"constant":false,"id":37206,"mutability":"mutable","name":"m2","nameLocation":"326834:2:21","nodeType":"VariableDeclaration","scope":37227,"src":"326826:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326826:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37207,"nodeType":"VariableDeclarationStatement","src":"326826:10:21"},{"assignments":[37209],"declarations":[{"constant":false,"id":37209,"mutability":"mutable","name":"m3","nameLocation":"326854:2:21","nodeType":"VariableDeclaration","scope":37227,"src":"326846:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326846:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37210,"nodeType":"VariableDeclarationStatement","src":"326846:10:21"},{"assignments":[37212],"declarations":[{"constant":false,"id":37212,"mutability":"mutable","name":"m4","nameLocation":"326874:2:21","nodeType":"VariableDeclaration","scope":37227,"src":"326866:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326866:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37213,"nodeType":"VariableDeclarationStatement","src":"326866:10:21"},{"assignments":[37215],"declarations":[{"constant":false,"id":37215,"mutability":"mutable","name":"m5","nameLocation":"326894:2:21","nodeType":"VariableDeclaration","scope":37227,"src":"326886:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326886:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37216,"nodeType":"VariableDeclarationStatement","src":"326886:10:21"},{"assignments":[37218],"declarations":[{"constant":false,"id":37218,"mutability":"mutable","name":"m6","nameLocation":"326914:2:21","nodeType":"VariableDeclaration","scope":37227,"src":"326906:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326906:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37219,"nodeType":"VariableDeclarationStatement","src":"326906:10:21"},{"AST":{"nativeSrc":"326978:831:21","nodeType":"YulBlock","src":"326978:831:21","statements":[{"body":{"nativeSrc":"327021:313:21","nodeType":"YulBlock","src":"327021:313:21","statements":[{"nativeSrc":"327039:15:21","nodeType":"YulVariableDeclaration","src":"327039:15:21","value":{"kind":"number","nativeSrc":"327053:1:21","nodeType":"YulLiteral","src":"327053:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"327043:6:21","nodeType":"YulTypedName","src":"327043:6:21","type":""}]},{"body":{"nativeSrc":"327124:40:21","nodeType":"YulBlock","src":"327124:40:21","statements":[{"body":{"nativeSrc":"327153:9:21","nodeType":"YulBlock","src":"327153:9:21","statements":[{"nativeSrc":"327155:5:21","nodeType":"YulBreak","src":"327155:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"327141:6:21","nodeType":"YulIdentifier","src":"327141:6:21"},{"name":"w","nativeSrc":"327149:1:21","nodeType":"YulIdentifier","src":"327149:1:21"}],"functionName":{"name":"byte","nativeSrc":"327136:4:21","nodeType":"YulIdentifier","src":"327136:4:21"},"nativeSrc":"327136:15:21","nodeType":"YulFunctionCall","src":"327136:15:21"}],"functionName":{"name":"iszero","nativeSrc":"327129:6:21","nodeType":"YulIdentifier","src":"327129:6:21"},"nativeSrc":"327129:23:21","nodeType":"YulFunctionCall","src":"327129:23:21"},"nativeSrc":"327126:36:21","nodeType":"YulIf","src":"327126:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"327081:6:21","nodeType":"YulIdentifier","src":"327081:6:21"},{"kind":"number","nativeSrc":"327089:4:21","nodeType":"YulLiteral","src":"327089:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"327078:2:21","nodeType":"YulIdentifier","src":"327078:2:21"},"nativeSrc":"327078:16:21","nodeType":"YulFunctionCall","src":"327078:16:21"},"nativeSrc":"327071:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"327095:28:21","nodeType":"YulBlock","src":"327095:28:21","statements":[{"nativeSrc":"327097:24:21","nodeType":"YulAssignment","src":"327097:24:21","value":{"arguments":[{"name":"length","nativeSrc":"327111:6:21","nodeType":"YulIdentifier","src":"327111:6:21"},{"kind":"number","nativeSrc":"327119:1:21","nodeType":"YulLiteral","src":"327119:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"327107:3:21","nodeType":"YulIdentifier","src":"327107:3:21"},"nativeSrc":"327107:14:21","nodeType":"YulFunctionCall","src":"327107:14:21"},"variableNames":[{"name":"length","nativeSrc":"327097:6:21","nodeType":"YulIdentifier","src":"327097:6:21"}]}]},"pre":{"nativeSrc":"327075:2:21","nodeType":"YulBlock","src":"327075:2:21","statements":[]},"src":"327071:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"327188:3:21","nodeType":"YulIdentifier","src":"327188:3:21"},{"name":"length","nativeSrc":"327193:6:21","nodeType":"YulIdentifier","src":"327193:6:21"}],"functionName":{"name":"mstore","nativeSrc":"327181:6:21","nodeType":"YulIdentifier","src":"327181:6:21"},"nativeSrc":"327181:19:21","nodeType":"YulFunctionCall","src":"327181:19:21"},"nativeSrc":"327181:19:21","nodeType":"YulExpressionStatement","src":"327181:19:21"},{"nativeSrc":"327217:37:21","nodeType":"YulVariableDeclaration","src":"327217:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"327234:3:21","nodeType":"YulLiteral","src":"327234:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"327243:1:21","nodeType":"YulLiteral","src":"327243:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"327246:6:21","nodeType":"YulIdentifier","src":"327246:6:21"}],"functionName":{"name":"shl","nativeSrc":"327239:3:21","nodeType":"YulIdentifier","src":"327239:3:21"},"nativeSrc":"327239:14:21","nodeType":"YulFunctionCall","src":"327239:14:21"}],"functionName":{"name":"sub","nativeSrc":"327230:3:21","nodeType":"YulIdentifier","src":"327230:3:21"},"nativeSrc":"327230:24:21","nodeType":"YulFunctionCall","src":"327230:24:21"},"variables":[{"name":"shift","nativeSrc":"327221:5:21","nodeType":"YulTypedName","src":"327221:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"327282:3:21","nodeType":"YulIdentifier","src":"327282:3:21"},{"kind":"number","nativeSrc":"327287:4:21","nodeType":"YulLiteral","src":"327287:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"327278:3:21","nodeType":"YulIdentifier","src":"327278:3:21"},"nativeSrc":"327278:14:21","nodeType":"YulFunctionCall","src":"327278:14:21"},{"arguments":[{"name":"shift","nativeSrc":"327298:5:21","nodeType":"YulIdentifier","src":"327298:5:21"},{"arguments":[{"name":"shift","nativeSrc":"327309:5:21","nodeType":"YulIdentifier","src":"327309:5:21"},{"name":"w","nativeSrc":"327316:1:21","nodeType":"YulIdentifier","src":"327316:1:21"}],"functionName":{"name":"shr","nativeSrc":"327305:3:21","nodeType":"YulIdentifier","src":"327305:3:21"},"nativeSrc":"327305:13:21","nodeType":"YulFunctionCall","src":"327305:13:21"}],"functionName":{"name":"shl","nativeSrc":"327294:3:21","nodeType":"YulIdentifier","src":"327294:3:21"},"nativeSrc":"327294:25:21","nodeType":"YulFunctionCall","src":"327294:25:21"}],"functionName":{"name":"mstore","nativeSrc":"327271:6:21","nodeType":"YulIdentifier","src":"327271:6:21"},"nativeSrc":"327271:49:21","nodeType":"YulFunctionCall","src":"327271:49:21"},"nativeSrc":"327271:49:21","nodeType":"YulExpressionStatement","src":"327271:49:21"}]},"name":"writeString","nativeSrc":"326992:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"327013:3:21","nodeType":"YulTypedName","src":"327013:3:21","type":""},{"name":"w","nativeSrc":"327018:1:21","nodeType":"YulTypedName","src":"327018:1:21","type":""}],"src":"326992:342:21"},{"nativeSrc":"327347:17:21","nodeType":"YulAssignment","src":"327347:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"327359:4:21","nodeType":"YulLiteral","src":"327359:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"327353:5:21","nodeType":"YulIdentifier","src":"327353:5:21"},"nativeSrc":"327353:11:21","nodeType":"YulFunctionCall","src":"327353:11:21"},"variableNames":[{"name":"m0","nativeSrc":"327347:2:21","nodeType":"YulIdentifier","src":"327347:2:21"}]},{"nativeSrc":"327377:17:21","nodeType":"YulAssignment","src":"327377:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"327389:4:21","nodeType":"YulLiteral","src":"327389:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"327383:5:21","nodeType":"YulIdentifier","src":"327383:5:21"},"nativeSrc":"327383:11:21","nodeType":"YulFunctionCall","src":"327383:11:21"},"variableNames":[{"name":"m1","nativeSrc":"327377:2:21","nodeType":"YulIdentifier","src":"327377:2:21"}]},{"nativeSrc":"327407:17:21","nodeType":"YulAssignment","src":"327407:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"327419:4:21","nodeType":"YulLiteral","src":"327419:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"327413:5:21","nodeType":"YulIdentifier","src":"327413:5:21"},"nativeSrc":"327413:11:21","nodeType":"YulFunctionCall","src":"327413:11:21"},"variableNames":[{"name":"m2","nativeSrc":"327407:2:21","nodeType":"YulIdentifier","src":"327407:2:21"}]},{"nativeSrc":"327437:17:21","nodeType":"YulAssignment","src":"327437:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"327449:4:21","nodeType":"YulLiteral","src":"327449:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"327443:5:21","nodeType":"YulIdentifier","src":"327443:5:21"},"nativeSrc":"327443:11:21","nodeType":"YulFunctionCall","src":"327443:11:21"},"variableNames":[{"name":"m3","nativeSrc":"327437:2:21","nodeType":"YulIdentifier","src":"327437:2:21"}]},{"nativeSrc":"327467:17:21","nodeType":"YulAssignment","src":"327467:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"327479:4:21","nodeType":"YulLiteral","src":"327479:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"327473:5:21","nodeType":"YulIdentifier","src":"327473:5:21"},"nativeSrc":"327473:11:21","nodeType":"YulFunctionCall","src":"327473:11:21"},"variableNames":[{"name":"m4","nativeSrc":"327467:2:21","nodeType":"YulIdentifier","src":"327467:2:21"}]},{"nativeSrc":"327497:17:21","nodeType":"YulAssignment","src":"327497:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"327509:4:21","nodeType":"YulLiteral","src":"327509:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"327503:5:21","nodeType":"YulIdentifier","src":"327503:5:21"},"nativeSrc":"327503:11:21","nodeType":"YulFunctionCall","src":"327503:11:21"},"variableNames":[{"name":"m5","nativeSrc":"327497:2:21","nodeType":"YulIdentifier","src":"327497:2:21"}]},{"nativeSrc":"327527:17:21","nodeType":"YulAssignment","src":"327527:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"327539:4:21","nodeType":"YulLiteral","src":"327539:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"327533:5:21","nodeType":"YulIdentifier","src":"327533:5:21"},"nativeSrc":"327533:11:21","nodeType":"YulFunctionCall","src":"327533:11:21"},"variableNames":[{"name":"m6","nativeSrc":"327527:2:21","nodeType":"YulIdentifier","src":"327527:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327630:4:21","nodeType":"YulLiteral","src":"327630:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"327636:10:21","nodeType":"YulLiteral","src":"327636:10:21","type":"","value":"0xed8f28f6"}],"functionName":{"name":"mstore","nativeSrc":"327623:6:21","nodeType":"YulIdentifier","src":"327623:6:21"},"nativeSrc":"327623:24:21","nodeType":"YulFunctionCall","src":"327623:24:21"},"nativeSrc":"327623:24:21","nodeType":"YulExpressionStatement","src":"327623:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327667:4:21","nodeType":"YulLiteral","src":"327667:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"327673:4:21","nodeType":"YulLiteral","src":"327673:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"327660:6:21","nodeType":"YulIdentifier","src":"327660:6:21"},"nativeSrc":"327660:18:21","nodeType":"YulFunctionCall","src":"327660:18:21"},"nativeSrc":"327660:18:21","nodeType":"YulExpressionStatement","src":"327660:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327698:4:21","nodeType":"YulLiteral","src":"327698:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"327704:2:21","nodeType":"YulIdentifier","src":"327704:2:21"}],"functionName":{"name":"mstore","nativeSrc":"327691:6:21","nodeType":"YulIdentifier","src":"327691:6:21"},"nativeSrc":"327691:16:21","nodeType":"YulFunctionCall","src":"327691:16:21"},"nativeSrc":"327691:16:21","nodeType":"YulExpressionStatement","src":"327691:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327727:4:21","nodeType":"YulLiteral","src":"327727:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"327733:2:21","nodeType":"YulIdentifier","src":"327733:2:21"}],"functionName":{"name":"mstore","nativeSrc":"327720:6:21","nodeType":"YulIdentifier","src":"327720:6:21"},"nativeSrc":"327720:16:21","nodeType":"YulFunctionCall","src":"327720:16:21"},"nativeSrc":"327720:16:21","nodeType":"YulExpressionStatement","src":"327720:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327756:4:21","nodeType":"YulLiteral","src":"327756:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"327762:2:21","nodeType":"YulIdentifier","src":"327762:2:21"}],"functionName":{"name":"mstore","nativeSrc":"327749:6:21","nodeType":"YulIdentifier","src":"327749:6:21"},"nativeSrc":"327749:16:21","nodeType":"YulFunctionCall","src":"327749:16:21"},"nativeSrc":"327749:16:21","nodeType":"YulExpressionStatement","src":"327749:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327790:4:21","nodeType":"YulLiteral","src":"327790:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"327796:2:21","nodeType":"YulIdentifier","src":"327796:2:21"}],"functionName":{"name":"writeString","nativeSrc":"327778:11:21","nodeType":"YulIdentifier","src":"327778:11:21"},"nativeSrc":"327778:21:21","nodeType":"YulFunctionCall","src":"327778:21:21"},"nativeSrc":"327778:21:21","nodeType":"YulExpressionStatement","src":"327778:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37200,"isOffset":false,"isSlot":false,"src":"327347:2:21","valueSize":1},{"declaration":37203,"isOffset":false,"isSlot":false,"src":"327377:2:21","valueSize":1},{"declaration":37206,"isOffset":false,"isSlot":false,"src":"327407:2:21","valueSize":1},{"declaration":37209,"isOffset":false,"isSlot":false,"src":"327437:2:21","valueSize":1},{"declaration":37212,"isOffset":false,"isSlot":false,"src":"327467:2:21","valueSize":1},{"declaration":37215,"isOffset":false,"isSlot":false,"src":"327497:2:21","valueSize":1},{"declaration":37218,"isOffset":false,"isSlot":false,"src":"327527:2:21","valueSize":1},{"declaration":37190,"isOffset":false,"isSlot":false,"src":"327796:2:21","valueSize":1},{"declaration":37192,"isOffset":false,"isSlot":false,"src":"327704:2:21","valueSize":1},{"declaration":37194,"isOffset":false,"isSlot":false,"src":"327733:2:21","valueSize":1},{"declaration":37196,"isOffset":false,"isSlot":false,"src":"327762:2:21","valueSize":1}],"id":37220,"nodeType":"InlineAssembly","src":"326969:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"327834:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"327840:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37221,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"327818:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"327818:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37225,"nodeType":"ExpressionStatement","src":"327818:27:21"},{"AST":{"nativeSrc":"327907:214:21","nodeType":"YulBlock","src":"327907:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"327928:4:21","nodeType":"YulLiteral","src":"327928:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"327934:2:21","nodeType":"YulIdentifier","src":"327934:2:21"}],"functionName":{"name":"mstore","nativeSrc":"327921:6:21","nodeType":"YulIdentifier","src":"327921:6:21"},"nativeSrc":"327921:16:21","nodeType":"YulFunctionCall","src":"327921:16:21"},"nativeSrc":"327921:16:21","nodeType":"YulExpressionStatement","src":"327921:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327957:4:21","nodeType":"YulLiteral","src":"327957:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"327963:2:21","nodeType":"YulIdentifier","src":"327963:2:21"}],"functionName":{"name":"mstore","nativeSrc":"327950:6:21","nodeType":"YulIdentifier","src":"327950:6:21"},"nativeSrc":"327950:16:21","nodeType":"YulFunctionCall","src":"327950:16:21"},"nativeSrc":"327950:16:21","nodeType":"YulExpressionStatement","src":"327950:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327986:4:21","nodeType":"YulLiteral","src":"327986:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"327992:2:21","nodeType":"YulIdentifier","src":"327992:2:21"}],"functionName":{"name":"mstore","nativeSrc":"327979:6:21","nodeType":"YulIdentifier","src":"327979:6:21"},"nativeSrc":"327979:16:21","nodeType":"YulFunctionCall","src":"327979:16:21"},"nativeSrc":"327979:16:21","nodeType":"YulExpressionStatement","src":"327979:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328015:4:21","nodeType":"YulLiteral","src":"328015:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"328021:2:21","nodeType":"YulIdentifier","src":"328021:2:21"}],"functionName":{"name":"mstore","nativeSrc":"328008:6:21","nodeType":"YulIdentifier","src":"328008:6:21"},"nativeSrc":"328008:16:21","nodeType":"YulFunctionCall","src":"328008:16:21"},"nativeSrc":"328008:16:21","nodeType":"YulExpressionStatement","src":"328008:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328044:4:21","nodeType":"YulLiteral","src":"328044:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"328050:2:21","nodeType":"YulIdentifier","src":"328050:2:21"}],"functionName":{"name":"mstore","nativeSrc":"328037:6:21","nodeType":"YulIdentifier","src":"328037:6:21"},"nativeSrc":"328037:16:21","nodeType":"YulFunctionCall","src":"328037:16:21"},"nativeSrc":"328037:16:21","nodeType":"YulExpressionStatement","src":"328037:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328073:4:21","nodeType":"YulLiteral","src":"328073:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"328079:2:21","nodeType":"YulIdentifier","src":"328079:2:21"}],"functionName":{"name":"mstore","nativeSrc":"328066:6:21","nodeType":"YulIdentifier","src":"328066:6:21"},"nativeSrc":"328066:16:21","nodeType":"YulFunctionCall","src":"328066:16:21"},"nativeSrc":"328066:16:21","nodeType":"YulExpressionStatement","src":"328066:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328102:4:21","nodeType":"YulLiteral","src":"328102:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"328108:2:21","nodeType":"YulIdentifier","src":"328108:2:21"}],"functionName":{"name":"mstore","nativeSrc":"328095:6:21","nodeType":"YulIdentifier","src":"328095:6:21"},"nativeSrc":"328095:16:21","nodeType":"YulFunctionCall","src":"328095:16:21"},"nativeSrc":"328095:16:21","nodeType":"YulExpressionStatement","src":"328095:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37200,"isOffset":false,"isSlot":false,"src":"327934:2:21","valueSize":1},{"declaration":37203,"isOffset":false,"isSlot":false,"src":"327963:2:21","valueSize":1},{"declaration":37206,"isOffset":false,"isSlot":false,"src":"327992:2:21","valueSize":1},{"declaration":37209,"isOffset":false,"isSlot":false,"src":"328021:2:21","valueSize":1},{"declaration":37212,"isOffset":false,"isSlot":false,"src":"328050:2:21","valueSize":1},{"declaration":37215,"isOffset":false,"isSlot":false,"src":"328079:2:21","valueSize":1},{"declaration":37218,"isOffset":false,"isSlot":false,"src":"328108:2:21","valueSize":1}],"id":37226,"nodeType":"InlineAssembly","src":"327898:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"326710:3:21","parameters":{"id":37197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37190,"mutability":"mutable","name":"p0","nameLocation":"326722:2:21","nodeType":"VariableDeclaration","scope":37228,"src":"326714:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326714:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37192,"mutability":"mutable","name":"p1","nameLocation":"326734:2:21","nodeType":"VariableDeclaration","scope":37228,"src":"326726:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37191,"name":"address","nodeType":"ElementaryTypeName","src":"326726:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37194,"mutability":"mutable","name":"p2","nameLocation":"326746:2:21","nodeType":"VariableDeclaration","scope":37228,"src":"326738:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37193,"name":"address","nodeType":"ElementaryTypeName","src":"326738:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37196,"mutability":"mutable","name":"p3","nameLocation":"326758:2:21","nodeType":"VariableDeclaration","scope":37228,"src":"326750:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37195,"name":"address","nodeType":"ElementaryTypeName","src":"326750:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"326713:48:21"},"returnParameters":{"id":37198,"nodeType":"ParameterList","parameters":[],"src":"326776:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37268,"nodeType":"FunctionDefinition","src":"328133:1420:21","nodes":[],"body":{"id":37267,"nodeType":"Block","src":"328205:1348:21","nodes":[],"statements":[{"assignments":[37240],"declarations":[{"constant":false,"id":37240,"mutability":"mutable","name":"m0","nameLocation":"328223:2:21","nodeType":"VariableDeclaration","scope":37267,"src":"328215:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328215:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37241,"nodeType":"VariableDeclarationStatement","src":"328215:10:21"},{"assignments":[37243],"declarations":[{"constant":false,"id":37243,"mutability":"mutable","name":"m1","nameLocation":"328243:2:21","nodeType":"VariableDeclaration","scope":37267,"src":"328235:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328235:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37244,"nodeType":"VariableDeclarationStatement","src":"328235:10:21"},{"assignments":[37246],"declarations":[{"constant":false,"id":37246,"mutability":"mutable","name":"m2","nameLocation":"328263:2:21","nodeType":"VariableDeclaration","scope":37267,"src":"328255:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328255:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37247,"nodeType":"VariableDeclarationStatement","src":"328255:10:21"},{"assignments":[37249],"declarations":[{"constant":false,"id":37249,"mutability":"mutable","name":"m3","nameLocation":"328283:2:21","nodeType":"VariableDeclaration","scope":37267,"src":"328275:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328275:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37250,"nodeType":"VariableDeclarationStatement","src":"328275:10:21"},{"assignments":[37252],"declarations":[{"constant":false,"id":37252,"mutability":"mutable","name":"m4","nameLocation":"328303:2:21","nodeType":"VariableDeclaration","scope":37267,"src":"328295:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328295:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37253,"nodeType":"VariableDeclarationStatement","src":"328295:10:21"},{"assignments":[37255],"declarations":[{"constant":false,"id":37255,"mutability":"mutable","name":"m5","nameLocation":"328323:2:21","nodeType":"VariableDeclaration","scope":37267,"src":"328315:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328315:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37256,"nodeType":"VariableDeclarationStatement","src":"328315:10:21"},{"assignments":[37258],"declarations":[{"constant":false,"id":37258,"mutability":"mutable","name":"m6","nameLocation":"328343:2:21","nodeType":"VariableDeclaration","scope":37267,"src":"328335:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328335:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37259,"nodeType":"VariableDeclarationStatement","src":"328335:10:21"},{"AST":{"nativeSrc":"328407:828:21","nodeType":"YulBlock","src":"328407:828:21","statements":[{"body":{"nativeSrc":"328450:313:21","nodeType":"YulBlock","src":"328450:313:21","statements":[{"nativeSrc":"328468:15:21","nodeType":"YulVariableDeclaration","src":"328468:15:21","value":{"kind":"number","nativeSrc":"328482:1:21","nodeType":"YulLiteral","src":"328482:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"328472:6:21","nodeType":"YulTypedName","src":"328472:6:21","type":""}]},{"body":{"nativeSrc":"328553:40:21","nodeType":"YulBlock","src":"328553:40:21","statements":[{"body":{"nativeSrc":"328582:9:21","nodeType":"YulBlock","src":"328582:9:21","statements":[{"nativeSrc":"328584:5:21","nodeType":"YulBreak","src":"328584:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"328570:6:21","nodeType":"YulIdentifier","src":"328570:6:21"},{"name":"w","nativeSrc":"328578:1:21","nodeType":"YulIdentifier","src":"328578:1:21"}],"functionName":{"name":"byte","nativeSrc":"328565:4:21","nodeType":"YulIdentifier","src":"328565:4:21"},"nativeSrc":"328565:15:21","nodeType":"YulFunctionCall","src":"328565:15:21"}],"functionName":{"name":"iszero","nativeSrc":"328558:6:21","nodeType":"YulIdentifier","src":"328558:6:21"},"nativeSrc":"328558:23:21","nodeType":"YulFunctionCall","src":"328558:23:21"},"nativeSrc":"328555:36:21","nodeType":"YulIf","src":"328555:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"328510:6:21","nodeType":"YulIdentifier","src":"328510:6:21"},{"kind":"number","nativeSrc":"328518:4:21","nodeType":"YulLiteral","src":"328518:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"328507:2:21","nodeType":"YulIdentifier","src":"328507:2:21"},"nativeSrc":"328507:16:21","nodeType":"YulFunctionCall","src":"328507:16:21"},"nativeSrc":"328500:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"328524:28:21","nodeType":"YulBlock","src":"328524:28:21","statements":[{"nativeSrc":"328526:24:21","nodeType":"YulAssignment","src":"328526:24:21","value":{"arguments":[{"name":"length","nativeSrc":"328540:6:21","nodeType":"YulIdentifier","src":"328540:6:21"},{"kind":"number","nativeSrc":"328548:1:21","nodeType":"YulLiteral","src":"328548:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"328536:3:21","nodeType":"YulIdentifier","src":"328536:3:21"},"nativeSrc":"328536:14:21","nodeType":"YulFunctionCall","src":"328536:14:21"},"variableNames":[{"name":"length","nativeSrc":"328526:6:21","nodeType":"YulIdentifier","src":"328526:6:21"}]}]},"pre":{"nativeSrc":"328504:2:21","nodeType":"YulBlock","src":"328504:2:21","statements":[]},"src":"328500:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"328617:3:21","nodeType":"YulIdentifier","src":"328617:3:21"},{"name":"length","nativeSrc":"328622:6:21","nodeType":"YulIdentifier","src":"328622:6:21"}],"functionName":{"name":"mstore","nativeSrc":"328610:6:21","nodeType":"YulIdentifier","src":"328610:6:21"},"nativeSrc":"328610:19:21","nodeType":"YulFunctionCall","src":"328610:19:21"},"nativeSrc":"328610:19:21","nodeType":"YulExpressionStatement","src":"328610:19:21"},{"nativeSrc":"328646:37:21","nodeType":"YulVariableDeclaration","src":"328646:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"328663:3:21","nodeType":"YulLiteral","src":"328663:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"328672:1:21","nodeType":"YulLiteral","src":"328672:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"328675:6:21","nodeType":"YulIdentifier","src":"328675:6:21"}],"functionName":{"name":"shl","nativeSrc":"328668:3:21","nodeType":"YulIdentifier","src":"328668:3:21"},"nativeSrc":"328668:14:21","nodeType":"YulFunctionCall","src":"328668:14:21"}],"functionName":{"name":"sub","nativeSrc":"328659:3:21","nodeType":"YulIdentifier","src":"328659:3:21"},"nativeSrc":"328659:24:21","nodeType":"YulFunctionCall","src":"328659:24:21"},"variables":[{"name":"shift","nativeSrc":"328650:5:21","nodeType":"YulTypedName","src":"328650:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"328711:3:21","nodeType":"YulIdentifier","src":"328711:3:21"},{"kind":"number","nativeSrc":"328716:4:21","nodeType":"YulLiteral","src":"328716:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"328707:3:21","nodeType":"YulIdentifier","src":"328707:3:21"},"nativeSrc":"328707:14:21","nodeType":"YulFunctionCall","src":"328707:14:21"},{"arguments":[{"name":"shift","nativeSrc":"328727:5:21","nodeType":"YulIdentifier","src":"328727:5:21"},{"arguments":[{"name":"shift","nativeSrc":"328738:5:21","nodeType":"YulIdentifier","src":"328738:5:21"},{"name":"w","nativeSrc":"328745:1:21","nodeType":"YulIdentifier","src":"328745:1:21"}],"functionName":{"name":"shr","nativeSrc":"328734:3:21","nodeType":"YulIdentifier","src":"328734:3:21"},"nativeSrc":"328734:13:21","nodeType":"YulFunctionCall","src":"328734:13:21"}],"functionName":{"name":"shl","nativeSrc":"328723:3:21","nodeType":"YulIdentifier","src":"328723:3:21"},"nativeSrc":"328723:25:21","nodeType":"YulFunctionCall","src":"328723:25:21"}],"functionName":{"name":"mstore","nativeSrc":"328700:6:21","nodeType":"YulIdentifier","src":"328700:6:21"},"nativeSrc":"328700:49:21","nodeType":"YulFunctionCall","src":"328700:49:21"},"nativeSrc":"328700:49:21","nodeType":"YulExpressionStatement","src":"328700:49:21"}]},"name":"writeString","nativeSrc":"328421:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"328442:3:21","nodeType":"YulTypedName","src":"328442:3:21","type":""},{"name":"w","nativeSrc":"328447:1:21","nodeType":"YulTypedName","src":"328447:1:21","type":""}],"src":"328421:342:21"},{"nativeSrc":"328776:17:21","nodeType":"YulAssignment","src":"328776:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"328788:4:21","nodeType":"YulLiteral","src":"328788:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"328782:5:21","nodeType":"YulIdentifier","src":"328782:5:21"},"nativeSrc":"328782:11:21","nodeType":"YulFunctionCall","src":"328782:11:21"},"variableNames":[{"name":"m0","nativeSrc":"328776:2:21","nodeType":"YulIdentifier","src":"328776:2:21"}]},{"nativeSrc":"328806:17:21","nodeType":"YulAssignment","src":"328806:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"328818:4:21","nodeType":"YulLiteral","src":"328818:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"328812:5:21","nodeType":"YulIdentifier","src":"328812:5:21"},"nativeSrc":"328812:11:21","nodeType":"YulFunctionCall","src":"328812:11:21"},"variableNames":[{"name":"m1","nativeSrc":"328806:2:21","nodeType":"YulIdentifier","src":"328806:2:21"}]},{"nativeSrc":"328836:17:21","nodeType":"YulAssignment","src":"328836:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"328848:4:21","nodeType":"YulLiteral","src":"328848:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"328842:5:21","nodeType":"YulIdentifier","src":"328842:5:21"},"nativeSrc":"328842:11:21","nodeType":"YulFunctionCall","src":"328842:11:21"},"variableNames":[{"name":"m2","nativeSrc":"328836:2:21","nodeType":"YulIdentifier","src":"328836:2:21"}]},{"nativeSrc":"328866:17:21","nodeType":"YulAssignment","src":"328866:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"328878:4:21","nodeType":"YulLiteral","src":"328878:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"328872:5:21","nodeType":"YulIdentifier","src":"328872:5:21"},"nativeSrc":"328872:11:21","nodeType":"YulFunctionCall","src":"328872:11:21"},"variableNames":[{"name":"m3","nativeSrc":"328866:2:21","nodeType":"YulIdentifier","src":"328866:2:21"}]},{"nativeSrc":"328896:17:21","nodeType":"YulAssignment","src":"328896:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"328908:4:21","nodeType":"YulLiteral","src":"328908:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"328902:5:21","nodeType":"YulIdentifier","src":"328902:5:21"},"nativeSrc":"328902:11:21","nodeType":"YulFunctionCall","src":"328902:11:21"},"variableNames":[{"name":"m4","nativeSrc":"328896:2:21","nodeType":"YulIdentifier","src":"328896:2:21"}]},{"nativeSrc":"328926:17:21","nodeType":"YulAssignment","src":"328926:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"328938:4:21","nodeType":"YulLiteral","src":"328938:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"328932:5:21","nodeType":"YulIdentifier","src":"328932:5:21"},"nativeSrc":"328932:11:21","nodeType":"YulFunctionCall","src":"328932:11:21"},"variableNames":[{"name":"m5","nativeSrc":"328926:2:21","nodeType":"YulIdentifier","src":"328926:2:21"}]},{"nativeSrc":"328956:17:21","nodeType":"YulAssignment","src":"328956:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"328968:4:21","nodeType":"YulLiteral","src":"328968:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"328962:5:21","nodeType":"YulIdentifier","src":"328962:5:21"},"nativeSrc":"328962:11:21","nodeType":"YulFunctionCall","src":"328962:11:21"},"variableNames":[{"name":"m6","nativeSrc":"328956:2:21","nodeType":"YulIdentifier","src":"328956:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329056:4:21","nodeType":"YulLiteral","src":"329056:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"329062:10:21","nodeType":"YulLiteral","src":"329062:10:21","type":"","value":"0xb59dbd60"}],"functionName":{"name":"mstore","nativeSrc":"329049:6:21","nodeType":"YulIdentifier","src":"329049:6:21"},"nativeSrc":"329049:24:21","nodeType":"YulFunctionCall","src":"329049:24:21"},"nativeSrc":"329049:24:21","nodeType":"YulExpressionStatement","src":"329049:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329093:4:21","nodeType":"YulLiteral","src":"329093:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"329099:4:21","nodeType":"YulLiteral","src":"329099:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"329086:6:21","nodeType":"YulIdentifier","src":"329086:6:21"},"nativeSrc":"329086:18:21","nodeType":"YulFunctionCall","src":"329086:18:21"},"nativeSrc":"329086:18:21","nodeType":"YulExpressionStatement","src":"329086:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329124:4:21","nodeType":"YulLiteral","src":"329124:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"329130:2:21","nodeType":"YulIdentifier","src":"329130:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329117:6:21","nodeType":"YulIdentifier","src":"329117:6:21"},"nativeSrc":"329117:16:21","nodeType":"YulFunctionCall","src":"329117:16:21"},"nativeSrc":"329117:16:21","nodeType":"YulExpressionStatement","src":"329117:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329153:4:21","nodeType":"YulLiteral","src":"329153:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"329159:2:21","nodeType":"YulIdentifier","src":"329159:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329146:6:21","nodeType":"YulIdentifier","src":"329146:6:21"},"nativeSrc":"329146:16:21","nodeType":"YulFunctionCall","src":"329146:16:21"},"nativeSrc":"329146:16:21","nodeType":"YulExpressionStatement","src":"329146:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329182:4:21","nodeType":"YulLiteral","src":"329182:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"329188:2:21","nodeType":"YulIdentifier","src":"329188:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329175:6:21","nodeType":"YulIdentifier","src":"329175:6:21"},"nativeSrc":"329175:16:21","nodeType":"YulFunctionCall","src":"329175:16:21"},"nativeSrc":"329175:16:21","nodeType":"YulExpressionStatement","src":"329175:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329216:4:21","nodeType":"YulLiteral","src":"329216:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"329222:2:21","nodeType":"YulIdentifier","src":"329222:2:21"}],"functionName":{"name":"writeString","nativeSrc":"329204:11:21","nodeType":"YulIdentifier","src":"329204:11:21"},"nativeSrc":"329204:21:21","nodeType":"YulFunctionCall","src":"329204:21:21"},"nativeSrc":"329204:21:21","nodeType":"YulExpressionStatement","src":"329204:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37240,"isOffset":false,"isSlot":false,"src":"328776:2:21","valueSize":1},{"declaration":37243,"isOffset":false,"isSlot":false,"src":"328806:2:21","valueSize":1},{"declaration":37246,"isOffset":false,"isSlot":false,"src":"328836:2:21","valueSize":1},{"declaration":37249,"isOffset":false,"isSlot":false,"src":"328866:2:21","valueSize":1},{"declaration":37252,"isOffset":false,"isSlot":false,"src":"328896:2:21","valueSize":1},{"declaration":37255,"isOffset":false,"isSlot":false,"src":"328926:2:21","valueSize":1},{"declaration":37258,"isOffset":false,"isSlot":false,"src":"328956:2:21","valueSize":1},{"declaration":37230,"isOffset":false,"isSlot":false,"src":"329222:2:21","valueSize":1},{"declaration":37232,"isOffset":false,"isSlot":false,"src":"329130:2:21","valueSize":1},{"declaration":37234,"isOffset":false,"isSlot":false,"src":"329159:2:21","valueSize":1},{"declaration":37236,"isOffset":false,"isSlot":false,"src":"329188:2:21","valueSize":1}],"id":37260,"nodeType":"InlineAssembly","src":"328398:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"329260:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"329266:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37261,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"329244:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"329244:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37265,"nodeType":"ExpressionStatement","src":"329244:27:21"},{"AST":{"nativeSrc":"329333:214:21","nodeType":"YulBlock","src":"329333:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"329354:4:21","nodeType":"YulLiteral","src":"329354:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"329360:2:21","nodeType":"YulIdentifier","src":"329360:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329347:6:21","nodeType":"YulIdentifier","src":"329347:6:21"},"nativeSrc":"329347:16:21","nodeType":"YulFunctionCall","src":"329347:16:21"},"nativeSrc":"329347:16:21","nodeType":"YulExpressionStatement","src":"329347:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329383:4:21","nodeType":"YulLiteral","src":"329383:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"329389:2:21","nodeType":"YulIdentifier","src":"329389:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329376:6:21","nodeType":"YulIdentifier","src":"329376:6:21"},"nativeSrc":"329376:16:21","nodeType":"YulFunctionCall","src":"329376:16:21"},"nativeSrc":"329376:16:21","nodeType":"YulExpressionStatement","src":"329376:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329412:4:21","nodeType":"YulLiteral","src":"329412:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"329418:2:21","nodeType":"YulIdentifier","src":"329418:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329405:6:21","nodeType":"YulIdentifier","src":"329405:6:21"},"nativeSrc":"329405:16:21","nodeType":"YulFunctionCall","src":"329405:16:21"},"nativeSrc":"329405:16:21","nodeType":"YulExpressionStatement","src":"329405:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329441:4:21","nodeType":"YulLiteral","src":"329441:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"329447:2:21","nodeType":"YulIdentifier","src":"329447:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329434:6:21","nodeType":"YulIdentifier","src":"329434:6:21"},"nativeSrc":"329434:16:21","nodeType":"YulFunctionCall","src":"329434:16:21"},"nativeSrc":"329434:16:21","nodeType":"YulExpressionStatement","src":"329434:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329470:4:21","nodeType":"YulLiteral","src":"329470:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"329476:2:21","nodeType":"YulIdentifier","src":"329476:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329463:6:21","nodeType":"YulIdentifier","src":"329463:6:21"},"nativeSrc":"329463:16:21","nodeType":"YulFunctionCall","src":"329463:16:21"},"nativeSrc":"329463:16:21","nodeType":"YulExpressionStatement","src":"329463:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329499:4:21","nodeType":"YulLiteral","src":"329499:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"329505:2:21","nodeType":"YulIdentifier","src":"329505:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329492:6:21","nodeType":"YulIdentifier","src":"329492:6:21"},"nativeSrc":"329492:16:21","nodeType":"YulFunctionCall","src":"329492:16:21"},"nativeSrc":"329492:16:21","nodeType":"YulExpressionStatement","src":"329492:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329528:4:21","nodeType":"YulLiteral","src":"329528:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"329534:2:21","nodeType":"YulIdentifier","src":"329534:2:21"}],"functionName":{"name":"mstore","nativeSrc":"329521:6:21","nodeType":"YulIdentifier","src":"329521:6:21"},"nativeSrc":"329521:16:21","nodeType":"YulFunctionCall","src":"329521:16:21"},"nativeSrc":"329521:16:21","nodeType":"YulExpressionStatement","src":"329521:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37240,"isOffset":false,"isSlot":false,"src":"329360:2:21","valueSize":1},{"declaration":37243,"isOffset":false,"isSlot":false,"src":"329389:2:21","valueSize":1},{"declaration":37246,"isOffset":false,"isSlot":false,"src":"329418:2:21","valueSize":1},{"declaration":37249,"isOffset":false,"isSlot":false,"src":"329447:2:21","valueSize":1},{"declaration":37252,"isOffset":false,"isSlot":false,"src":"329476:2:21","valueSize":1},{"declaration":37255,"isOffset":false,"isSlot":false,"src":"329505:2:21","valueSize":1},{"declaration":37258,"isOffset":false,"isSlot":false,"src":"329534:2:21","valueSize":1}],"id":37266,"nodeType":"InlineAssembly","src":"329324:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"328142:3:21","parameters":{"id":37237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37230,"mutability":"mutable","name":"p0","nameLocation":"328154:2:21","nodeType":"VariableDeclaration","scope":37268,"src":"328146:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328146:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37232,"mutability":"mutable","name":"p1","nameLocation":"328166:2:21","nodeType":"VariableDeclaration","scope":37268,"src":"328158:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37231,"name":"address","nodeType":"ElementaryTypeName","src":"328158:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37234,"mutability":"mutable","name":"p2","nameLocation":"328178:2:21","nodeType":"VariableDeclaration","scope":37268,"src":"328170:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37233,"name":"address","nodeType":"ElementaryTypeName","src":"328170:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37236,"mutability":"mutable","name":"p3","nameLocation":"328187:2:21","nodeType":"VariableDeclaration","scope":37268,"src":"328182:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37235,"name":"bool","nodeType":"ElementaryTypeName","src":"328182:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"328145:45:21"},"returnParameters":{"id":37238,"nodeType":"ParameterList","parameters":[],"src":"328205:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37308,"nodeType":"FunctionDefinition","src":"329559:1426:21","nodes":[],"body":{"id":37307,"nodeType":"Block","src":"329634:1351:21","nodes":[],"statements":[{"assignments":[37280],"declarations":[{"constant":false,"id":37280,"mutability":"mutable","name":"m0","nameLocation":"329652:2:21","nodeType":"VariableDeclaration","scope":37307,"src":"329644:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329644:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37281,"nodeType":"VariableDeclarationStatement","src":"329644:10:21"},{"assignments":[37283],"declarations":[{"constant":false,"id":37283,"mutability":"mutable","name":"m1","nameLocation":"329672:2:21","nodeType":"VariableDeclaration","scope":37307,"src":"329664:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37282,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329664:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37284,"nodeType":"VariableDeclarationStatement","src":"329664:10:21"},{"assignments":[37286],"declarations":[{"constant":false,"id":37286,"mutability":"mutable","name":"m2","nameLocation":"329692:2:21","nodeType":"VariableDeclaration","scope":37307,"src":"329684:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329684:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37287,"nodeType":"VariableDeclarationStatement","src":"329684:10:21"},{"assignments":[37289],"declarations":[{"constant":false,"id":37289,"mutability":"mutable","name":"m3","nameLocation":"329712:2:21","nodeType":"VariableDeclaration","scope":37307,"src":"329704:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329704:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37290,"nodeType":"VariableDeclarationStatement","src":"329704:10:21"},{"assignments":[37292],"declarations":[{"constant":false,"id":37292,"mutability":"mutable","name":"m4","nameLocation":"329732:2:21","nodeType":"VariableDeclaration","scope":37307,"src":"329724:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329724:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37293,"nodeType":"VariableDeclarationStatement","src":"329724:10:21"},{"assignments":[37295],"declarations":[{"constant":false,"id":37295,"mutability":"mutable","name":"m5","nameLocation":"329752:2:21","nodeType":"VariableDeclaration","scope":37307,"src":"329744:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329744:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37296,"nodeType":"VariableDeclarationStatement","src":"329744:10:21"},{"assignments":[37298],"declarations":[{"constant":false,"id":37298,"mutability":"mutable","name":"m6","nameLocation":"329772:2:21","nodeType":"VariableDeclaration","scope":37307,"src":"329764:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37297,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329764:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37299,"nodeType":"VariableDeclarationStatement","src":"329764:10:21"},{"AST":{"nativeSrc":"329836:831:21","nodeType":"YulBlock","src":"329836:831:21","statements":[{"body":{"nativeSrc":"329879:313:21","nodeType":"YulBlock","src":"329879:313:21","statements":[{"nativeSrc":"329897:15:21","nodeType":"YulVariableDeclaration","src":"329897:15:21","value":{"kind":"number","nativeSrc":"329911:1:21","nodeType":"YulLiteral","src":"329911:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"329901:6:21","nodeType":"YulTypedName","src":"329901:6:21","type":""}]},{"body":{"nativeSrc":"329982:40:21","nodeType":"YulBlock","src":"329982:40:21","statements":[{"body":{"nativeSrc":"330011:9:21","nodeType":"YulBlock","src":"330011:9:21","statements":[{"nativeSrc":"330013:5:21","nodeType":"YulBreak","src":"330013:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"329999:6:21","nodeType":"YulIdentifier","src":"329999:6:21"},{"name":"w","nativeSrc":"330007:1:21","nodeType":"YulIdentifier","src":"330007:1:21"}],"functionName":{"name":"byte","nativeSrc":"329994:4:21","nodeType":"YulIdentifier","src":"329994:4:21"},"nativeSrc":"329994:15:21","nodeType":"YulFunctionCall","src":"329994:15:21"}],"functionName":{"name":"iszero","nativeSrc":"329987:6:21","nodeType":"YulIdentifier","src":"329987:6:21"},"nativeSrc":"329987:23:21","nodeType":"YulFunctionCall","src":"329987:23:21"},"nativeSrc":"329984:36:21","nodeType":"YulIf","src":"329984:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"329939:6:21","nodeType":"YulIdentifier","src":"329939:6:21"},{"kind":"number","nativeSrc":"329947:4:21","nodeType":"YulLiteral","src":"329947:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"329936:2:21","nodeType":"YulIdentifier","src":"329936:2:21"},"nativeSrc":"329936:16:21","nodeType":"YulFunctionCall","src":"329936:16:21"},"nativeSrc":"329929:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"329953:28:21","nodeType":"YulBlock","src":"329953:28:21","statements":[{"nativeSrc":"329955:24:21","nodeType":"YulAssignment","src":"329955:24:21","value":{"arguments":[{"name":"length","nativeSrc":"329969:6:21","nodeType":"YulIdentifier","src":"329969:6:21"},{"kind":"number","nativeSrc":"329977:1:21","nodeType":"YulLiteral","src":"329977:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"329965:3:21","nodeType":"YulIdentifier","src":"329965:3:21"},"nativeSrc":"329965:14:21","nodeType":"YulFunctionCall","src":"329965:14:21"},"variableNames":[{"name":"length","nativeSrc":"329955:6:21","nodeType":"YulIdentifier","src":"329955:6:21"}]}]},"pre":{"nativeSrc":"329933:2:21","nodeType":"YulBlock","src":"329933:2:21","statements":[]},"src":"329929:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"330046:3:21","nodeType":"YulIdentifier","src":"330046:3:21"},{"name":"length","nativeSrc":"330051:6:21","nodeType":"YulIdentifier","src":"330051:6:21"}],"functionName":{"name":"mstore","nativeSrc":"330039:6:21","nodeType":"YulIdentifier","src":"330039:6:21"},"nativeSrc":"330039:19:21","nodeType":"YulFunctionCall","src":"330039:19:21"},"nativeSrc":"330039:19:21","nodeType":"YulExpressionStatement","src":"330039:19:21"},{"nativeSrc":"330075:37:21","nodeType":"YulVariableDeclaration","src":"330075:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"330092:3:21","nodeType":"YulLiteral","src":"330092:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"330101:1:21","nodeType":"YulLiteral","src":"330101:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"330104:6:21","nodeType":"YulIdentifier","src":"330104:6:21"}],"functionName":{"name":"shl","nativeSrc":"330097:3:21","nodeType":"YulIdentifier","src":"330097:3:21"},"nativeSrc":"330097:14:21","nodeType":"YulFunctionCall","src":"330097:14:21"}],"functionName":{"name":"sub","nativeSrc":"330088:3:21","nodeType":"YulIdentifier","src":"330088:3:21"},"nativeSrc":"330088:24:21","nodeType":"YulFunctionCall","src":"330088:24:21"},"variables":[{"name":"shift","nativeSrc":"330079:5:21","nodeType":"YulTypedName","src":"330079:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"330140:3:21","nodeType":"YulIdentifier","src":"330140:3:21"},{"kind":"number","nativeSrc":"330145:4:21","nodeType":"YulLiteral","src":"330145:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"330136:3:21","nodeType":"YulIdentifier","src":"330136:3:21"},"nativeSrc":"330136:14:21","nodeType":"YulFunctionCall","src":"330136:14:21"},{"arguments":[{"name":"shift","nativeSrc":"330156:5:21","nodeType":"YulIdentifier","src":"330156:5:21"},{"arguments":[{"name":"shift","nativeSrc":"330167:5:21","nodeType":"YulIdentifier","src":"330167:5:21"},{"name":"w","nativeSrc":"330174:1:21","nodeType":"YulIdentifier","src":"330174:1:21"}],"functionName":{"name":"shr","nativeSrc":"330163:3:21","nodeType":"YulIdentifier","src":"330163:3:21"},"nativeSrc":"330163:13:21","nodeType":"YulFunctionCall","src":"330163:13:21"}],"functionName":{"name":"shl","nativeSrc":"330152:3:21","nodeType":"YulIdentifier","src":"330152:3:21"},"nativeSrc":"330152:25:21","nodeType":"YulFunctionCall","src":"330152:25:21"}],"functionName":{"name":"mstore","nativeSrc":"330129:6:21","nodeType":"YulIdentifier","src":"330129:6:21"},"nativeSrc":"330129:49:21","nodeType":"YulFunctionCall","src":"330129:49:21"},"nativeSrc":"330129:49:21","nodeType":"YulExpressionStatement","src":"330129:49:21"}]},"name":"writeString","nativeSrc":"329850:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"329871:3:21","nodeType":"YulTypedName","src":"329871:3:21","type":""},{"name":"w","nativeSrc":"329876:1:21","nodeType":"YulTypedName","src":"329876:1:21","type":""}],"src":"329850:342:21"},{"nativeSrc":"330205:17:21","nodeType":"YulAssignment","src":"330205:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"330217:4:21","nodeType":"YulLiteral","src":"330217:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"330211:5:21","nodeType":"YulIdentifier","src":"330211:5:21"},"nativeSrc":"330211:11:21","nodeType":"YulFunctionCall","src":"330211:11:21"},"variableNames":[{"name":"m0","nativeSrc":"330205:2:21","nodeType":"YulIdentifier","src":"330205:2:21"}]},{"nativeSrc":"330235:17:21","nodeType":"YulAssignment","src":"330235:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"330247:4:21","nodeType":"YulLiteral","src":"330247:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"330241:5:21","nodeType":"YulIdentifier","src":"330241:5:21"},"nativeSrc":"330241:11:21","nodeType":"YulFunctionCall","src":"330241:11:21"},"variableNames":[{"name":"m1","nativeSrc":"330235:2:21","nodeType":"YulIdentifier","src":"330235:2:21"}]},{"nativeSrc":"330265:17:21","nodeType":"YulAssignment","src":"330265:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"330277:4:21","nodeType":"YulLiteral","src":"330277:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"330271:5:21","nodeType":"YulIdentifier","src":"330271:5:21"},"nativeSrc":"330271:11:21","nodeType":"YulFunctionCall","src":"330271:11:21"},"variableNames":[{"name":"m2","nativeSrc":"330265:2:21","nodeType":"YulIdentifier","src":"330265:2:21"}]},{"nativeSrc":"330295:17:21","nodeType":"YulAssignment","src":"330295:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"330307:4:21","nodeType":"YulLiteral","src":"330307:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"330301:5:21","nodeType":"YulIdentifier","src":"330301:5:21"},"nativeSrc":"330301:11:21","nodeType":"YulFunctionCall","src":"330301:11:21"},"variableNames":[{"name":"m3","nativeSrc":"330295:2:21","nodeType":"YulIdentifier","src":"330295:2:21"}]},{"nativeSrc":"330325:17:21","nodeType":"YulAssignment","src":"330325:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"330337:4:21","nodeType":"YulLiteral","src":"330337:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"330331:5:21","nodeType":"YulIdentifier","src":"330331:5:21"},"nativeSrc":"330331:11:21","nodeType":"YulFunctionCall","src":"330331:11:21"},"variableNames":[{"name":"m4","nativeSrc":"330325:2:21","nodeType":"YulIdentifier","src":"330325:2:21"}]},{"nativeSrc":"330355:17:21","nodeType":"YulAssignment","src":"330355:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"330367:4:21","nodeType":"YulLiteral","src":"330367:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"330361:5:21","nodeType":"YulIdentifier","src":"330361:5:21"},"nativeSrc":"330361:11:21","nodeType":"YulFunctionCall","src":"330361:11:21"},"variableNames":[{"name":"m5","nativeSrc":"330355:2:21","nodeType":"YulIdentifier","src":"330355:2:21"}]},{"nativeSrc":"330385:17:21","nodeType":"YulAssignment","src":"330385:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"330397:4:21","nodeType":"YulLiteral","src":"330397:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"330391:5:21","nodeType":"YulIdentifier","src":"330391:5:21"},"nativeSrc":"330391:11:21","nodeType":"YulFunctionCall","src":"330391:11:21"},"variableNames":[{"name":"m6","nativeSrc":"330385:2:21","nodeType":"YulIdentifier","src":"330385:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330488:4:21","nodeType":"YulLiteral","src":"330488:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"330494:10:21","nodeType":"YulLiteral","src":"330494:10:21","type":"","value":"0x8ef3f399"}],"functionName":{"name":"mstore","nativeSrc":"330481:6:21","nodeType":"YulIdentifier","src":"330481:6:21"},"nativeSrc":"330481:24:21","nodeType":"YulFunctionCall","src":"330481:24:21"},"nativeSrc":"330481:24:21","nodeType":"YulExpressionStatement","src":"330481:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330525:4:21","nodeType":"YulLiteral","src":"330525:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"330531:4:21","nodeType":"YulLiteral","src":"330531:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"330518:6:21","nodeType":"YulIdentifier","src":"330518:6:21"},"nativeSrc":"330518:18:21","nodeType":"YulFunctionCall","src":"330518:18:21"},"nativeSrc":"330518:18:21","nodeType":"YulExpressionStatement","src":"330518:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330556:4:21","nodeType":"YulLiteral","src":"330556:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"330562:2:21","nodeType":"YulIdentifier","src":"330562:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330549:6:21","nodeType":"YulIdentifier","src":"330549:6:21"},"nativeSrc":"330549:16:21","nodeType":"YulFunctionCall","src":"330549:16:21"},"nativeSrc":"330549:16:21","nodeType":"YulExpressionStatement","src":"330549:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330585:4:21","nodeType":"YulLiteral","src":"330585:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"330591:2:21","nodeType":"YulIdentifier","src":"330591:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330578:6:21","nodeType":"YulIdentifier","src":"330578:6:21"},"nativeSrc":"330578:16:21","nodeType":"YulFunctionCall","src":"330578:16:21"},"nativeSrc":"330578:16:21","nodeType":"YulExpressionStatement","src":"330578:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330614:4:21","nodeType":"YulLiteral","src":"330614:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"330620:2:21","nodeType":"YulIdentifier","src":"330620:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330607:6:21","nodeType":"YulIdentifier","src":"330607:6:21"},"nativeSrc":"330607:16:21","nodeType":"YulFunctionCall","src":"330607:16:21"},"nativeSrc":"330607:16:21","nodeType":"YulExpressionStatement","src":"330607:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330648:4:21","nodeType":"YulLiteral","src":"330648:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"330654:2:21","nodeType":"YulIdentifier","src":"330654:2:21"}],"functionName":{"name":"writeString","nativeSrc":"330636:11:21","nodeType":"YulIdentifier","src":"330636:11:21"},"nativeSrc":"330636:21:21","nodeType":"YulFunctionCall","src":"330636:21:21"},"nativeSrc":"330636:21:21","nodeType":"YulExpressionStatement","src":"330636:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37280,"isOffset":false,"isSlot":false,"src":"330205:2:21","valueSize":1},{"declaration":37283,"isOffset":false,"isSlot":false,"src":"330235:2:21","valueSize":1},{"declaration":37286,"isOffset":false,"isSlot":false,"src":"330265:2:21","valueSize":1},{"declaration":37289,"isOffset":false,"isSlot":false,"src":"330295:2:21","valueSize":1},{"declaration":37292,"isOffset":false,"isSlot":false,"src":"330325:2:21","valueSize":1},{"declaration":37295,"isOffset":false,"isSlot":false,"src":"330355:2:21","valueSize":1},{"declaration":37298,"isOffset":false,"isSlot":false,"src":"330385:2:21","valueSize":1},{"declaration":37270,"isOffset":false,"isSlot":false,"src":"330654:2:21","valueSize":1},{"declaration":37272,"isOffset":false,"isSlot":false,"src":"330562:2:21","valueSize":1},{"declaration":37274,"isOffset":false,"isSlot":false,"src":"330591:2:21","valueSize":1},{"declaration":37276,"isOffset":false,"isSlot":false,"src":"330620:2:21","valueSize":1}],"id":37300,"nodeType":"InlineAssembly","src":"329827:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"330692:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"330698:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37301,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"330676:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"330676:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37305,"nodeType":"ExpressionStatement","src":"330676:27:21"},{"AST":{"nativeSrc":"330765:214:21","nodeType":"YulBlock","src":"330765:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"330786:4:21","nodeType":"YulLiteral","src":"330786:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"330792:2:21","nodeType":"YulIdentifier","src":"330792:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330779:6:21","nodeType":"YulIdentifier","src":"330779:6:21"},"nativeSrc":"330779:16:21","nodeType":"YulFunctionCall","src":"330779:16:21"},"nativeSrc":"330779:16:21","nodeType":"YulExpressionStatement","src":"330779:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330815:4:21","nodeType":"YulLiteral","src":"330815:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"330821:2:21","nodeType":"YulIdentifier","src":"330821:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330808:6:21","nodeType":"YulIdentifier","src":"330808:6:21"},"nativeSrc":"330808:16:21","nodeType":"YulFunctionCall","src":"330808:16:21"},"nativeSrc":"330808:16:21","nodeType":"YulExpressionStatement","src":"330808:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330844:4:21","nodeType":"YulLiteral","src":"330844:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"330850:2:21","nodeType":"YulIdentifier","src":"330850:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330837:6:21","nodeType":"YulIdentifier","src":"330837:6:21"},"nativeSrc":"330837:16:21","nodeType":"YulFunctionCall","src":"330837:16:21"},"nativeSrc":"330837:16:21","nodeType":"YulExpressionStatement","src":"330837:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330873:4:21","nodeType":"YulLiteral","src":"330873:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"330879:2:21","nodeType":"YulIdentifier","src":"330879:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330866:6:21","nodeType":"YulIdentifier","src":"330866:6:21"},"nativeSrc":"330866:16:21","nodeType":"YulFunctionCall","src":"330866:16:21"},"nativeSrc":"330866:16:21","nodeType":"YulExpressionStatement","src":"330866:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330902:4:21","nodeType":"YulLiteral","src":"330902:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"330908:2:21","nodeType":"YulIdentifier","src":"330908:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330895:6:21","nodeType":"YulIdentifier","src":"330895:6:21"},"nativeSrc":"330895:16:21","nodeType":"YulFunctionCall","src":"330895:16:21"},"nativeSrc":"330895:16:21","nodeType":"YulExpressionStatement","src":"330895:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330931:4:21","nodeType":"YulLiteral","src":"330931:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"330937:2:21","nodeType":"YulIdentifier","src":"330937:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330924:6:21","nodeType":"YulIdentifier","src":"330924:6:21"},"nativeSrc":"330924:16:21","nodeType":"YulFunctionCall","src":"330924:16:21"},"nativeSrc":"330924:16:21","nodeType":"YulExpressionStatement","src":"330924:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330960:4:21","nodeType":"YulLiteral","src":"330960:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"330966:2:21","nodeType":"YulIdentifier","src":"330966:2:21"}],"functionName":{"name":"mstore","nativeSrc":"330953:6:21","nodeType":"YulIdentifier","src":"330953:6:21"},"nativeSrc":"330953:16:21","nodeType":"YulFunctionCall","src":"330953:16:21"},"nativeSrc":"330953:16:21","nodeType":"YulExpressionStatement","src":"330953:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37280,"isOffset":false,"isSlot":false,"src":"330792:2:21","valueSize":1},{"declaration":37283,"isOffset":false,"isSlot":false,"src":"330821:2:21","valueSize":1},{"declaration":37286,"isOffset":false,"isSlot":false,"src":"330850:2:21","valueSize":1},{"declaration":37289,"isOffset":false,"isSlot":false,"src":"330879:2:21","valueSize":1},{"declaration":37292,"isOffset":false,"isSlot":false,"src":"330908:2:21","valueSize":1},{"declaration":37295,"isOffset":false,"isSlot":false,"src":"330937:2:21","valueSize":1},{"declaration":37298,"isOffset":false,"isSlot":false,"src":"330966:2:21","valueSize":1}],"id":37306,"nodeType":"InlineAssembly","src":"330756:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"329568:3:21","parameters":{"id":37277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37270,"mutability":"mutable","name":"p0","nameLocation":"329580:2:21","nodeType":"VariableDeclaration","scope":37308,"src":"329572:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329572:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37272,"mutability":"mutable","name":"p1","nameLocation":"329592:2:21","nodeType":"VariableDeclaration","scope":37308,"src":"329584:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37271,"name":"address","nodeType":"ElementaryTypeName","src":"329584:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37274,"mutability":"mutable","name":"p2","nameLocation":"329604:2:21","nodeType":"VariableDeclaration","scope":37308,"src":"329596:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37273,"name":"address","nodeType":"ElementaryTypeName","src":"329596:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37276,"mutability":"mutable","name":"p3","nameLocation":"329616:2:21","nodeType":"VariableDeclaration","scope":37308,"src":"329608:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37275,"name":"uint256","nodeType":"ElementaryTypeName","src":"329608:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"329571:48:21"},"returnParameters":{"id":37278,"nodeType":"ParameterList","parameters":[],"src":"329634:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37354,"nodeType":"FunctionDefinition","src":"330991:1622:21","nodes":[],"body":{"id":37353,"nodeType":"Block","src":"331066:1547:21","nodes":[],"statements":[{"assignments":[37320],"declarations":[{"constant":false,"id":37320,"mutability":"mutable","name":"m0","nameLocation":"331084:2:21","nodeType":"VariableDeclaration","scope":37353,"src":"331076:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331076:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37321,"nodeType":"VariableDeclarationStatement","src":"331076:10:21"},{"assignments":[37323],"declarations":[{"constant":false,"id":37323,"mutability":"mutable","name":"m1","nameLocation":"331104:2:21","nodeType":"VariableDeclaration","scope":37353,"src":"331096:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331096:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37324,"nodeType":"VariableDeclarationStatement","src":"331096:10:21"},{"assignments":[37326],"declarations":[{"constant":false,"id":37326,"mutability":"mutable","name":"m2","nameLocation":"331124:2:21","nodeType":"VariableDeclaration","scope":37353,"src":"331116:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331116:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37327,"nodeType":"VariableDeclarationStatement","src":"331116:10:21"},{"assignments":[37329],"declarations":[{"constant":false,"id":37329,"mutability":"mutable","name":"m3","nameLocation":"331144:2:21","nodeType":"VariableDeclaration","scope":37353,"src":"331136:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331136:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37330,"nodeType":"VariableDeclarationStatement","src":"331136:10:21"},{"assignments":[37332],"declarations":[{"constant":false,"id":37332,"mutability":"mutable","name":"m4","nameLocation":"331164:2:21","nodeType":"VariableDeclaration","scope":37353,"src":"331156:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37331,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331156:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37333,"nodeType":"VariableDeclarationStatement","src":"331156:10:21"},{"assignments":[37335],"declarations":[{"constant":false,"id":37335,"mutability":"mutable","name":"m5","nameLocation":"331184:2:21","nodeType":"VariableDeclaration","scope":37353,"src":"331176:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331176:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37336,"nodeType":"VariableDeclarationStatement","src":"331176:10:21"},{"assignments":[37338],"declarations":[{"constant":false,"id":37338,"mutability":"mutable","name":"m6","nameLocation":"331204:2:21","nodeType":"VariableDeclaration","scope":37353,"src":"331196:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37337,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331196:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37339,"nodeType":"VariableDeclarationStatement","src":"331196:10:21"},{"assignments":[37341],"declarations":[{"constant":false,"id":37341,"mutability":"mutable","name":"m7","nameLocation":"331224:2:21","nodeType":"VariableDeclaration","scope":37353,"src":"331216:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331216:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37342,"nodeType":"VariableDeclarationStatement","src":"331216:10:21"},{"assignments":[37344],"declarations":[{"constant":false,"id":37344,"mutability":"mutable","name":"m8","nameLocation":"331244:2:21","nodeType":"VariableDeclaration","scope":37353,"src":"331236:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331236:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37345,"nodeType":"VariableDeclarationStatement","src":"331236:10:21"},{"AST":{"nativeSrc":"331308:927:21","nodeType":"YulBlock","src":"331308:927:21","statements":[{"body":{"nativeSrc":"331351:313:21","nodeType":"YulBlock","src":"331351:313:21","statements":[{"nativeSrc":"331369:15:21","nodeType":"YulVariableDeclaration","src":"331369:15:21","value":{"kind":"number","nativeSrc":"331383:1:21","nodeType":"YulLiteral","src":"331383:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"331373:6:21","nodeType":"YulTypedName","src":"331373:6:21","type":""}]},{"body":{"nativeSrc":"331454:40:21","nodeType":"YulBlock","src":"331454:40:21","statements":[{"body":{"nativeSrc":"331483:9:21","nodeType":"YulBlock","src":"331483:9:21","statements":[{"nativeSrc":"331485:5:21","nodeType":"YulBreak","src":"331485:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"331471:6:21","nodeType":"YulIdentifier","src":"331471:6:21"},{"name":"w","nativeSrc":"331479:1:21","nodeType":"YulIdentifier","src":"331479:1:21"}],"functionName":{"name":"byte","nativeSrc":"331466:4:21","nodeType":"YulIdentifier","src":"331466:4:21"},"nativeSrc":"331466:15:21","nodeType":"YulFunctionCall","src":"331466:15:21"}],"functionName":{"name":"iszero","nativeSrc":"331459:6:21","nodeType":"YulIdentifier","src":"331459:6:21"},"nativeSrc":"331459:23:21","nodeType":"YulFunctionCall","src":"331459:23:21"},"nativeSrc":"331456:36:21","nodeType":"YulIf","src":"331456:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"331411:6:21","nodeType":"YulIdentifier","src":"331411:6:21"},{"kind":"number","nativeSrc":"331419:4:21","nodeType":"YulLiteral","src":"331419:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"331408:2:21","nodeType":"YulIdentifier","src":"331408:2:21"},"nativeSrc":"331408:16:21","nodeType":"YulFunctionCall","src":"331408:16:21"},"nativeSrc":"331401:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"331425:28:21","nodeType":"YulBlock","src":"331425:28:21","statements":[{"nativeSrc":"331427:24:21","nodeType":"YulAssignment","src":"331427:24:21","value":{"arguments":[{"name":"length","nativeSrc":"331441:6:21","nodeType":"YulIdentifier","src":"331441:6:21"},{"kind":"number","nativeSrc":"331449:1:21","nodeType":"YulLiteral","src":"331449:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"331437:3:21","nodeType":"YulIdentifier","src":"331437:3:21"},"nativeSrc":"331437:14:21","nodeType":"YulFunctionCall","src":"331437:14:21"},"variableNames":[{"name":"length","nativeSrc":"331427:6:21","nodeType":"YulIdentifier","src":"331427:6:21"}]}]},"pre":{"nativeSrc":"331405:2:21","nodeType":"YulBlock","src":"331405:2:21","statements":[]},"src":"331401:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"331518:3:21","nodeType":"YulIdentifier","src":"331518:3:21"},{"name":"length","nativeSrc":"331523:6:21","nodeType":"YulIdentifier","src":"331523:6:21"}],"functionName":{"name":"mstore","nativeSrc":"331511:6:21","nodeType":"YulIdentifier","src":"331511:6:21"},"nativeSrc":"331511:19:21","nodeType":"YulFunctionCall","src":"331511:19:21"},"nativeSrc":"331511:19:21","nodeType":"YulExpressionStatement","src":"331511:19:21"},{"nativeSrc":"331547:37:21","nodeType":"YulVariableDeclaration","src":"331547:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"331564:3:21","nodeType":"YulLiteral","src":"331564:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"331573:1:21","nodeType":"YulLiteral","src":"331573:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"331576:6:21","nodeType":"YulIdentifier","src":"331576:6:21"}],"functionName":{"name":"shl","nativeSrc":"331569:3:21","nodeType":"YulIdentifier","src":"331569:3:21"},"nativeSrc":"331569:14:21","nodeType":"YulFunctionCall","src":"331569:14:21"}],"functionName":{"name":"sub","nativeSrc":"331560:3:21","nodeType":"YulIdentifier","src":"331560:3:21"},"nativeSrc":"331560:24:21","nodeType":"YulFunctionCall","src":"331560:24:21"},"variables":[{"name":"shift","nativeSrc":"331551:5:21","nodeType":"YulTypedName","src":"331551:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"331612:3:21","nodeType":"YulIdentifier","src":"331612:3:21"},{"kind":"number","nativeSrc":"331617:4:21","nodeType":"YulLiteral","src":"331617:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"331608:3:21","nodeType":"YulIdentifier","src":"331608:3:21"},"nativeSrc":"331608:14:21","nodeType":"YulFunctionCall","src":"331608:14:21"},{"arguments":[{"name":"shift","nativeSrc":"331628:5:21","nodeType":"YulIdentifier","src":"331628:5:21"},{"arguments":[{"name":"shift","nativeSrc":"331639:5:21","nodeType":"YulIdentifier","src":"331639:5:21"},{"name":"w","nativeSrc":"331646:1:21","nodeType":"YulIdentifier","src":"331646:1:21"}],"functionName":{"name":"shr","nativeSrc":"331635:3:21","nodeType":"YulIdentifier","src":"331635:3:21"},"nativeSrc":"331635:13:21","nodeType":"YulFunctionCall","src":"331635:13:21"}],"functionName":{"name":"shl","nativeSrc":"331624:3:21","nodeType":"YulIdentifier","src":"331624:3:21"},"nativeSrc":"331624:25:21","nodeType":"YulFunctionCall","src":"331624:25:21"}],"functionName":{"name":"mstore","nativeSrc":"331601:6:21","nodeType":"YulIdentifier","src":"331601:6:21"},"nativeSrc":"331601:49:21","nodeType":"YulFunctionCall","src":"331601:49:21"},"nativeSrc":"331601:49:21","nodeType":"YulExpressionStatement","src":"331601:49:21"}]},"name":"writeString","nativeSrc":"331322:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"331343:3:21","nodeType":"YulTypedName","src":"331343:3:21","type":""},{"name":"w","nativeSrc":"331348:1:21","nodeType":"YulTypedName","src":"331348:1:21","type":""}],"src":"331322:342:21"},{"nativeSrc":"331677:17:21","nodeType":"YulAssignment","src":"331677:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"331689:4:21","nodeType":"YulLiteral","src":"331689:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"331683:5:21","nodeType":"YulIdentifier","src":"331683:5:21"},"nativeSrc":"331683:11:21","nodeType":"YulFunctionCall","src":"331683:11:21"},"variableNames":[{"name":"m0","nativeSrc":"331677:2:21","nodeType":"YulIdentifier","src":"331677:2:21"}]},{"nativeSrc":"331707:17:21","nodeType":"YulAssignment","src":"331707:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"331719:4:21","nodeType":"YulLiteral","src":"331719:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"331713:5:21","nodeType":"YulIdentifier","src":"331713:5:21"},"nativeSrc":"331713:11:21","nodeType":"YulFunctionCall","src":"331713:11:21"},"variableNames":[{"name":"m1","nativeSrc":"331707:2:21","nodeType":"YulIdentifier","src":"331707:2:21"}]},{"nativeSrc":"331737:17:21","nodeType":"YulAssignment","src":"331737:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"331749:4:21","nodeType":"YulLiteral","src":"331749:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"331743:5:21","nodeType":"YulIdentifier","src":"331743:5:21"},"nativeSrc":"331743:11:21","nodeType":"YulFunctionCall","src":"331743:11:21"},"variableNames":[{"name":"m2","nativeSrc":"331737:2:21","nodeType":"YulIdentifier","src":"331737:2:21"}]},{"nativeSrc":"331767:17:21","nodeType":"YulAssignment","src":"331767:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"331779:4:21","nodeType":"YulLiteral","src":"331779:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"331773:5:21","nodeType":"YulIdentifier","src":"331773:5:21"},"nativeSrc":"331773:11:21","nodeType":"YulFunctionCall","src":"331773:11:21"},"variableNames":[{"name":"m3","nativeSrc":"331767:2:21","nodeType":"YulIdentifier","src":"331767:2:21"}]},{"nativeSrc":"331797:17:21","nodeType":"YulAssignment","src":"331797:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"331809:4:21","nodeType":"YulLiteral","src":"331809:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"331803:5:21","nodeType":"YulIdentifier","src":"331803:5:21"},"nativeSrc":"331803:11:21","nodeType":"YulFunctionCall","src":"331803:11:21"},"variableNames":[{"name":"m4","nativeSrc":"331797:2:21","nodeType":"YulIdentifier","src":"331797:2:21"}]},{"nativeSrc":"331827:17:21","nodeType":"YulAssignment","src":"331827:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"331839:4:21","nodeType":"YulLiteral","src":"331839:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"331833:5:21","nodeType":"YulIdentifier","src":"331833:5:21"},"nativeSrc":"331833:11:21","nodeType":"YulFunctionCall","src":"331833:11:21"},"variableNames":[{"name":"m5","nativeSrc":"331827:2:21","nodeType":"YulIdentifier","src":"331827:2:21"}]},{"nativeSrc":"331857:17:21","nodeType":"YulAssignment","src":"331857:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"331869:4:21","nodeType":"YulLiteral","src":"331869:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"331863:5:21","nodeType":"YulIdentifier","src":"331863:5:21"},"nativeSrc":"331863:11:21","nodeType":"YulFunctionCall","src":"331863:11:21"},"variableNames":[{"name":"m6","nativeSrc":"331857:2:21","nodeType":"YulIdentifier","src":"331857:2:21"}]},{"nativeSrc":"331887:17:21","nodeType":"YulAssignment","src":"331887:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"331899:4:21","nodeType":"YulLiteral","src":"331899:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"331893:5:21","nodeType":"YulIdentifier","src":"331893:5:21"},"nativeSrc":"331893:11:21","nodeType":"YulFunctionCall","src":"331893:11:21"},"variableNames":[{"name":"m7","nativeSrc":"331887:2:21","nodeType":"YulIdentifier","src":"331887:2:21"}]},{"nativeSrc":"331917:18:21","nodeType":"YulAssignment","src":"331917:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"331929:5:21","nodeType":"YulLiteral","src":"331929:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"331923:5:21","nodeType":"YulIdentifier","src":"331923:5:21"},"nativeSrc":"331923:12:21","nodeType":"YulFunctionCall","src":"331923:12:21"},"variableNames":[{"name":"m8","nativeSrc":"331917:2:21","nodeType":"YulIdentifier","src":"331917:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332020:4:21","nodeType":"YulLiteral","src":"332020:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"332026:10:21","nodeType":"YulLiteral","src":"332026:10:21","type":"","value":"0x800a1c67"}],"functionName":{"name":"mstore","nativeSrc":"332013:6:21","nodeType":"YulIdentifier","src":"332013:6:21"},"nativeSrc":"332013:24:21","nodeType":"YulFunctionCall","src":"332013:24:21"},"nativeSrc":"332013:24:21","nodeType":"YulExpressionStatement","src":"332013:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332057:4:21","nodeType":"YulLiteral","src":"332057:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"332063:4:21","nodeType":"YulLiteral","src":"332063:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"332050:6:21","nodeType":"YulIdentifier","src":"332050:6:21"},"nativeSrc":"332050:18:21","nodeType":"YulFunctionCall","src":"332050:18:21"},"nativeSrc":"332050:18:21","nodeType":"YulExpressionStatement","src":"332050:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332088:4:21","nodeType":"YulLiteral","src":"332088:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"332094:2:21","nodeType":"YulIdentifier","src":"332094:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332081:6:21","nodeType":"YulIdentifier","src":"332081:6:21"},"nativeSrc":"332081:16:21","nodeType":"YulFunctionCall","src":"332081:16:21"},"nativeSrc":"332081:16:21","nodeType":"YulExpressionStatement","src":"332081:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332117:4:21","nodeType":"YulLiteral","src":"332117:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"332123:2:21","nodeType":"YulIdentifier","src":"332123:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332110:6:21","nodeType":"YulIdentifier","src":"332110:6:21"},"nativeSrc":"332110:16:21","nodeType":"YulFunctionCall","src":"332110:16:21"},"nativeSrc":"332110:16:21","nodeType":"YulExpressionStatement","src":"332110:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332146:4:21","nodeType":"YulLiteral","src":"332146:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"332152:4:21","nodeType":"YulLiteral","src":"332152:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"332139:6:21","nodeType":"YulIdentifier","src":"332139:6:21"},"nativeSrc":"332139:18:21","nodeType":"YulFunctionCall","src":"332139:18:21"},"nativeSrc":"332139:18:21","nodeType":"YulExpressionStatement","src":"332139:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332182:4:21","nodeType":"YulLiteral","src":"332182:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"332188:2:21","nodeType":"YulIdentifier","src":"332188:2:21"}],"functionName":{"name":"writeString","nativeSrc":"332170:11:21","nodeType":"YulIdentifier","src":"332170:11:21"},"nativeSrc":"332170:21:21","nodeType":"YulFunctionCall","src":"332170:21:21"},"nativeSrc":"332170:21:21","nodeType":"YulExpressionStatement","src":"332170:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332216:4:21","nodeType":"YulLiteral","src":"332216:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"332222:2:21","nodeType":"YulIdentifier","src":"332222:2:21"}],"functionName":{"name":"writeString","nativeSrc":"332204:11:21","nodeType":"YulIdentifier","src":"332204:11:21"},"nativeSrc":"332204:21:21","nodeType":"YulFunctionCall","src":"332204:21:21"},"nativeSrc":"332204:21:21","nodeType":"YulExpressionStatement","src":"332204:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37320,"isOffset":false,"isSlot":false,"src":"331677:2:21","valueSize":1},{"declaration":37323,"isOffset":false,"isSlot":false,"src":"331707:2:21","valueSize":1},{"declaration":37326,"isOffset":false,"isSlot":false,"src":"331737:2:21","valueSize":1},{"declaration":37329,"isOffset":false,"isSlot":false,"src":"331767:2:21","valueSize":1},{"declaration":37332,"isOffset":false,"isSlot":false,"src":"331797:2:21","valueSize":1},{"declaration":37335,"isOffset":false,"isSlot":false,"src":"331827:2:21","valueSize":1},{"declaration":37338,"isOffset":false,"isSlot":false,"src":"331857:2:21","valueSize":1},{"declaration":37341,"isOffset":false,"isSlot":false,"src":"331887:2:21","valueSize":1},{"declaration":37344,"isOffset":false,"isSlot":false,"src":"331917:2:21","valueSize":1},{"declaration":37310,"isOffset":false,"isSlot":false,"src":"332188:2:21","valueSize":1},{"declaration":37312,"isOffset":false,"isSlot":false,"src":"332094:2:21","valueSize":1},{"declaration":37314,"isOffset":false,"isSlot":false,"src":"332123:2:21","valueSize":1},{"declaration":37316,"isOffset":false,"isSlot":false,"src":"332222:2:21","valueSize":1}],"id":37346,"nodeType":"InlineAssembly","src":"331299:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"332260:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"332266:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37347,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"332244:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"332244:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37351,"nodeType":"ExpressionStatement","src":"332244:28:21"},{"AST":{"nativeSrc":"332334:273:21","nodeType":"YulBlock","src":"332334:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"332355:4:21","nodeType":"YulLiteral","src":"332355:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"332361:2:21","nodeType":"YulIdentifier","src":"332361:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332348:6:21","nodeType":"YulIdentifier","src":"332348:6:21"},"nativeSrc":"332348:16:21","nodeType":"YulFunctionCall","src":"332348:16:21"},"nativeSrc":"332348:16:21","nodeType":"YulExpressionStatement","src":"332348:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332384:4:21","nodeType":"YulLiteral","src":"332384:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"332390:2:21","nodeType":"YulIdentifier","src":"332390:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332377:6:21","nodeType":"YulIdentifier","src":"332377:6:21"},"nativeSrc":"332377:16:21","nodeType":"YulFunctionCall","src":"332377:16:21"},"nativeSrc":"332377:16:21","nodeType":"YulExpressionStatement","src":"332377:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332413:4:21","nodeType":"YulLiteral","src":"332413:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"332419:2:21","nodeType":"YulIdentifier","src":"332419:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332406:6:21","nodeType":"YulIdentifier","src":"332406:6:21"},"nativeSrc":"332406:16:21","nodeType":"YulFunctionCall","src":"332406:16:21"},"nativeSrc":"332406:16:21","nodeType":"YulExpressionStatement","src":"332406:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332442:4:21","nodeType":"YulLiteral","src":"332442:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"332448:2:21","nodeType":"YulIdentifier","src":"332448:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332435:6:21","nodeType":"YulIdentifier","src":"332435:6:21"},"nativeSrc":"332435:16:21","nodeType":"YulFunctionCall","src":"332435:16:21"},"nativeSrc":"332435:16:21","nodeType":"YulExpressionStatement","src":"332435:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332471:4:21","nodeType":"YulLiteral","src":"332471:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"332477:2:21","nodeType":"YulIdentifier","src":"332477:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332464:6:21","nodeType":"YulIdentifier","src":"332464:6:21"},"nativeSrc":"332464:16:21","nodeType":"YulFunctionCall","src":"332464:16:21"},"nativeSrc":"332464:16:21","nodeType":"YulExpressionStatement","src":"332464:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332500:4:21","nodeType":"YulLiteral","src":"332500:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"332506:2:21","nodeType":"YulIdentifier","src":"332506:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332493:6:21","nodeType":"YulIdentifier","src":"332493:6:21"},"nativeSrc":"332493:16:21","nodeType":"YulFunctionCall","src":"332493:16:21"},"nativeSrc":"332493:16:21","nodeType":"YulExpressionStatement","src":"332493:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332529:4:21","nodeType":"YulLiteral","src":"332529:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"332535:2:21","nodeType":"YulIdentifier","src":"332535:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332522:6:21","nodeType":"YulIdentifier","src":"332522:6:21"},"nativeSrc":"332522:16:21","nodeType":"YulFunctionCall","src":"332522:16:21"},"nativeSrc":"332522:16:21","nodeType":"YulExpressionStatement","src":"332522:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332558:4:21","nodeType":"YulLiteral","src":"332558:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"332564:2:21","nodeType":"YulIdentifier","src":"332564:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332551:6:21","nodeType":"YulIdentifier","src":"332551:6:21"},"nativeSrc":"332551:16:21","nodeType":"YulFunctionCall","src":"332551:16:21"},"nativeSrc":"332551:16:21","nodeType":"YulExpressionStatement","src":"332551:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332587:5:21","nodeType":"YulLiteral","src":"332587:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"332594:2:21","nodeType":"YulIdentifier","src":"332594:2:21"}],"functionName":{"name":"mstore","nativeSrc":"332580:6:21","nodeType":"YulIdentifier","src":"332580:6:21"},"nativeSrc":"332580:17:21","nodeType":"YulFunctionCall","src":"332580:17:21"},"nativeSrc":"332580:17:21","nodeType":"YulExpressionStatement","src":"332580:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37320,"isOffset":false,"isSlot":false,"src":"332361:2:21","valueSize":1},{"declaration":37323,"isOffset":false,"isSlot":false,"src":"332390:2:21","valueSize":1},{"declaration":37326,"isOffset":false,"isSlot":false,"src":"332419:2:21","valueSize":1},{"declaration":37329,"isOffset":false,"isSlot":false,"src":"332448:2:21","valueSize":1},{"declaration":37332,"isOffset":false,"isSlot":false,"src":"332477:2:21","valueSize":1},{"declaration":37335,"isOffset":false,"isSlot":false,"src":"332506:2:21","valueSize":1},{"declaration":37338,"isOffset":false,"isSlot":false,"src":"332535:2:21","valueSize":1},{"declaration":37341,"isOffset":false,"isSlot":false,"src":"332564:2:21","valueSize":1},{"declaration":37344,"isOffset":false,"isSlot":false,"src":"332594:2:21","valueSize":1}],"id":37352,"nodeType":"InlineAssembly","src":"332325:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"331000:3:21","parameters":{"id":37317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37310,"mutability":"mutable","name":"p0","nameLocation":"331012:2:21","nodeType":"VariableDeclaration","scope":37354,"src":"331004:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331004:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37312,"mutability":"mutable","name":"p1","nameLocation":"331024:2:21","nodeType":"VariableDeclaration","scope":37354,"src":"331016:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37311,"name":"address","nodeType":"ElementaryTypeName","src":"331016:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37314,"mutability":"mutable","name":"p2","nameLocation":"331036:2:21","nodeType":"VariableDeclaration","scope":37354,"src":"331028:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37313,"name":"address","nodeType":"ElementaryTypeName","src":"331028:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37316,"mutability":"mutable","name":"p3","nameLocation":"331048:2:21","nodeType":"VariableDeclaration","scope":37354,"src":"331040:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331040:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"331003:48:21"},"returnParameters":{"id":37318,"nodeType":"ParameterList","parameters":[],"src":"331066:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37394,"nodeType":"FunctionDefinition","src":"332619:1420:21","nodes":[],"body":{"id":37393,"nodeType":"Block","src":"332691:1348:21","nodes":[],"statements":[{"assignments":[37366],"declarations":[{"constant":false,"id":37366,"mutability":"mutable","name":"m0","nameLocation":"332709:2:21","nodeType":"VariableDeclaration","scope":37393,"src":"332701:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332701:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37367,"nodeType":"VariableDeclarationStatement","src":"332701:10:21"},{"assignments":[37369],"declarations":[{"constant":false,"id":37369,"mutability":"mutable","name":"m1","nameLocation":"332729:2:21","nodeType":"VariableDeclaration","scope":37393,"src":"332721:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332721:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37370,"nodeType":"VariableDeclarationStatement","src":"332721:10:21"},{"assignments":[37372],"declarations":[{"constant":false,"id":37372,"mutability":"mutable","name":"m2","nameLocation":"332749:2:21","nodeType":"VariableDeclaration","scope":37393,"src":"332741:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332741:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37373,"nodeType":"VariableDeclarationStatement","src":"332741:10:21"},{"assignments":[37375],"declarations":[{"constant":false,"id":37375,"mutability":"mutable","name":"m3","nameLocation":"332769:2:21","nodeType":"VariableDeclaration","scope":37393,"src":"332761:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332761:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37376,"nodeType":"VariableDeclarationStatement","src":"332761:10:21"},{"assignments":[37378],"declarations":[{"constant":false,"id":37378,"mutability":"mutable","name":"m4","nameLocation":"332789:2:21","nodeType":"VariableDeclaration","scope":37393,"src":"332781:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332781:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37379,"nodeType":"VariableDeclarationStatement","src":"332781:10:21"},{"assignments":[37381],"declarations":[{"constant":false,"id":37381,"mutability":"mutable","name":"m5","nameLocation":"332809:2:21","nodeType":"VariableDeclaration","scope":37393,"src":"332801:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332801:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37382,"nodeType":"VariableDeclarationStatement","src":"332801:10:21"},{"assignments":[37384],"declarations":[{"constant":false,"id":37384,"mutability":"mutable","name":"m6","nameLocation":"332829:2:21","nodeType":"VariableDeclaration","scope":37393,"src":"332821:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37383,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332821:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37385,"nodeType":"VariableDeclarationStatement","src":"332821:10:21"},{"AST":{"nativeSrc":"332893:828:21","nodeType":"YulBlock","src":"332893:828:21","statements":[{"body":{"nativeSrc":"332936:313:21","nodeType":"YulBlock","src":"332936:313:21","statements":[{"nativeSrc":"332954:15:21","nodeType":"YulVariableDeclaration","src":"332954:15:21","value":{"kind":"number","nativeSrc":"332968:1:21","nodeType":"YulLiteral","src":"332968:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"332958:6:21","nodeType":"YulTypedName","src":"332958:6:21","type":""}]},{"body":{"nativeSrc":"333039:40:21","nodeType":"YulBlock","src":"333039:40:21","statements":[{"body":{"nativeSrc":"333068:9:21","nodeType":"YulBlock","src":"333068:9:21","statements":[{"nativeSrc":"333070:5:21","nodeType":"YulBreak","src":"333070:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"333056:6:21","nodeType":"YulIdentifier","src":"333056:6:21"},{"name":"w","nativeSrc":"333064:1:21","nodeType":"YulIdentifier","src":"333064:1:21"}],"functionName":{"name":"byte","nativeSrc":"333051:4:21","nodeType":"YulIdentifier","src":"333051:4:21"},"nativeSrc":"333051:15:21","nodeType":"YulFunctionCall","src":"333051:15:21"}],"functionName":{"name":"iszero","nativeSrc":"333044:6:21","nodeType":"YulIdentifier","src":"333044:6:21"},"nativeSrc":"333044:23:21","nodeType":"YulFunctionCall","src":"333044:23:21"},"nativeSrc":"333041:36:21","nodeType":"YulIf","src":"333041:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"332996:6:21","nodeType":"YulIdentifier","src":"332996:6:21"},{"kind":"number","nativeSrc":"333004:4:21","nodeType":"YulLiteral","src":"333004:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"332993:2:21","nodeType":"YulIdentifier","src":"332993:2:21"},"nativeSrc":"332993:16:21","nodeType":"YulFunctionCall","src":"332993:16:21"},"nativeSrc":"332986:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"333010:28:21","nodeType":"YulBlock","src":"333010:28:21","statements":[{"nativeSrc":"333012:24:21","nodeType":"YulAssignment","src":"333012:24:21","value":{"arguments":[{"name":"length","nativeSrc":"333026:6:21","nodeType":"YulIdentifier","src":"333026:6:21"},{"kind":"number","nativeSrc":"333034:1:21","nodeType":"YulLiteral","src":"333034:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"333022:3:21","nodeType":"YulIdentifier","src":"333022:3:21"},"nativeSrc":"333022:14:21","nodeType":"YulFunctionCall","src":"333022:14:21"},"variableNames":[{"name":"length","nativeSrc":"333012:6:21","nodeType":"YulIdentifier","src":"333012:6:21"}]}]},"pre":{"nativeSrc":"332990:2:21","nodeType":"YulBlock","src":"332990:2:21","statements":[]},"src":"332986:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"333103:3:21","nodeType":"YulIdentifier","src":"333103:3:21"},{"name":"length","nativeSrc":"333108:6:21","nodeType":"YulIdentifier","src":"333108:6:21"}],"functionName":{"name":"mstore","nativeSrc":"333096:6:21","nodeType":"YulIdentifier","src":"333096:6:21"},"nativeSrc":"333096:19:21","nodeType":"YulFunctionCall","src":"333096:19:21"},"nativeSrc":"333096:19:21","nodeType":"YulExpressionStatement","src":"333096:19:21"},{"nativeSrc":"333132:37:21","nodeType":"YulVariableDeclaration","src":"333132:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"333149:3:21","nodeType":"YulLiteral","src":"333149:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"333158:1:21","nodeType":"YulLiteral","src":"333158:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"333161:6:21","nodeType":"YulIdentifier","src":"333161:6:21"}],"functionName":{"name":"shl","nativeSrc":"333154:3:21","nodeType":"YulIdentifier","src":"333154:3:21"},"nativeSrc":"333154:14:21","nodeType":"YulFunctionCall","src":"333154:14:21"}],"functionName":{"name":"sub","nativeSrc":"333145:3:21","nodeType":"YulIdentifier","src":"333145:3:21"},"nativeSrc":"333145:24:21","nodeType":"YulFunctionCall","src":"333145:24:21"},"variables":[{"name":"shift","nativeSrc":"333136:5:21","nodeType":"YulTypedName","src":"333136:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"333197:3:21","nodeType":"YulIdentifier","src":"333197:3:21"},{"kind":"number","nativeSrc":"333202:4:21","nodeType":"YulLiteral","src":"333202:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"333193:3:21","nodeType":"YulIdentifier","src":"333193:3:21"},"nativeSrc":"333193:14:21","nodeType":"YulFunctionCall","src":"333193:14:21"},{"arguments":[{"name":"shift","nativeSrc":"333213:5:21","nodeType":"YulIdentifier","src":"333213:5:21"},{"arguments":[{"name":"shift","nativeSrc":"333224:5:21","nodeType":"YulIdentifier","src":"333224:5:21"},{"name":"w","nativeSrc":"333231:1:21","nodeType":"YulIdentifier","src":"333231:1:21"}],"functionName":{"name":"shr","nativeSrc":"333220:3:21","nodeType":"YulIdentifier","src":"333220:3:21"},"nativeSrc":"333220:13:21","nodeType":"YulFunctionCall","src":"333220:13:21"}],"functionName":{"name":"shl","nativeSrc":"333209:3:21","nodeType":"YulIdentifier","src":"333209:3:21"},"nativeSrc":"333209:25:21","nodeType":"YulFunctionCall","src":"333209:25:21"}],"functionName":{"name":"mstore","nativeSrc":"333186:6:21","nodeType":"YulIdentifier","src":"333186:6:21"},"nativeSrc":"333186:49:21","nodeType":"YulFunctionCall","src":"333186:49:21"},"nativeSrc":"333186:49:21","nodeType":"YulExpressionStatement","src":"333186:49:21"}]},"name":"writeString","nativeSrc":"332907:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"332928:3:21","nodeType":"YulTypedName","src":"332928:3:21","type":""},{"name":"w","nativeSrc":"332933:1:21","nodeType":"YulTypedName","src":"332933:1:21","type":""}],"src":"332907:342:21"},{"nativeSrc":"333262:17:21","nodeType":"YulAssignment","src":"333262:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"333274:4:21","nodeType":"YulLiteral","src":"333274:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"333268:5:21","nodeType":"YulIdentifier","src":"333268:5:21"},"nativeSrc":"333268:11:21","nodeType":"YulFunctionCall","src":"333268:11:21"},"variableNames":[{"name":"m0","nativeSrc":"333262:2:21","nodeType":"YulIdentifier","src":"333262:2:21"}]},{"nativeSrc":"333292:17:21","nodeType":"YulAssignment","src":"333292:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"333304:4:21","nodeType":"YulLiteral","src":"333304:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"333298:5:21","nodeType":"YulIdentifier","src":"333298:5:21"},"nativeSrc":"333298:11:21","nodeType":"YulFunctionCall","src":"333298:11:21"},"variableNames":[{"name":"m1","nativeSrc":"333292:2:21","nodeType":"YulIdentifier","src":"333292:2:21"}]},{"nativeSrc":"333322:17:21","nodeType":"YulAssignment","src":"333322:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"333334:4:21","nodeType":"YulLiteral","src":"333334:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"333328:5:21","nodeType":"YulIdentifier","src":"333328:5:21"},"nativeSrc":"333328:11:21","nodeType":"YulFunctionCall","src":"333328:11:21"},"variableNames":[{"name":"m2","nativeSrc":"333322:2:21","nodeType":"YulIdentifier","src":"333322:2:21"}]},{"nativeSrc":"333352:17:21","nodeType":"YulAssignment","src":"333352:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"333364:4:21","nodeType":"YulLiteral","src":"333364:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"333358:5:21","nodeType":"YulIdentifier","src":"333358:5:21"},"nativeSrc":"333358:11:21","nodeType":"YulFunctionCall","src":"333358:11:21"},"variableNames":[{"name":"m3","nativeSrc":"333352:2:21","nodeType":"YulIdentifier","src":"333352:2:21"}]},{"nativeSrc":"333382:17:21","nodeType":"YulAssignment","src":"333382:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"333394:4:21","nodeType":"YulLiteral","src":"333394:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"333388:5:21","nodeType":"YulIdentifier","src":"333388:5:21"},"nativeSrc":"333388:11:21","nodeType":"YulFunctionCall","src":"333388:11:21"},"variableNames":[{"name":"m4","nativeSrc":"333382:2:21","nodeType":"YulIdentifier","src":"333382:2:21"}]},{"nativeSrc":"333412:17:21","nodeType":"YulAssignment","src":"333412:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"333424:4:21","nodeType":"YulLiteral","src":"333424:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"333418:5:21","nodeType":"YulIdentifier","src":"333418:5:21"},"nativeSrc":"333418:11:21","nodeType":"YulFunctionCall","src":"333418:11:21"},"variableNames":[{"name":"m5","nativeSrc":"333412:2:21","nodeType":"YulIdentifier","src":"333412:2:21"}]},{"nativeSrc":"333442:17:21","nodeType":"YulAssignment","src":"333442:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"333454:4:21","nodeType":"YulLiteral","src":"333454:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"333448:5:21","nodeType":"YulIdentifier","src":"333448:5:21"},"nativeSrc":"333448:11:21","nodeType":"YulFunctionCall","src":"333448:11:21"},"variableNames":[{"name":"m6","nativeSrc":"333442:2:21","nodeType":"YulIdentifier","src":"333442:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333542:4:21","nodeType":"YulLiteral","src":"333542:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"333548:10:21","nodeType":"YulLiteral","src":"333548:10:21","type":"","value":"0x223603bd"}],"functionName":{"name":"mstore","nativeSrc":"333535:6:21","nodeType":"YulIdentifier","src":"333535:6:21"},"nativeSrc":"333535:24:21","nodeType":"YulFunctionCall","src":"333535:24:21"},"nativeSrc":"333535:24:21","nodeType":"YulExpressionStatement","src":"333535:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333579:4:21","nodeType":"YulLiteral","src":"333579:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"333585:4:21","nodeType":"YulLiteral","src":"333585:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"333572:6:21","nodeType":"YulIdentifier","src":"333572:6:21"},"nativeSrc":"333572:18:21","nodeType":"YulFunctionCall","src":"333572:18:21"},"nativeSrc":"333572:18:21","nodeType":"YulExpressionStatement","src":"333572:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333610:4:21","nodeType":"YulLiteral","src":"333610:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"333616:2:21","nodeType":"YulIdentifier","src":"333616:2:21"}],"functionName":{"name":"mstore","nativeSrc":"333603:6:21","nodeType":"YulIdentifier","src":"333603:6:21"},"nativeSrc":"333603:16:21","nodeType":"YulFunctionCall","src":"333603:16:21"},"nativeSrc":"333603:16:21","nodeType":"YulExpressionStatement","src":"333603:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333639:4:21","nodeType":"YulLiteral","src":"333639:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"333645:2:21","nodeType":"YulIdentifier","src":"333645:2:21"}],"functionName":{"name":"mstore","nativeSrc":"333632:6:21","nodeType":"YulIdentifier","src":"333632:6:21"},"nativeSrc":"333632:16:21","nodeType":"YulFunctionCall","src":"333632:16:21"},"nativeSrc":"333632:16:21","nodeType":"YulExpressionStatement","src":"333632:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333668:4:21","nodeType":"YulLiteral","src":"333668:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"333674:2:21","nodeType":"YulIdentifier","src":"333674:2:21"}],"functionName":{"name":"mstore","nativeSrc":"333661:6:21","nodeType":"YulIdentifier","src":"333661:6:21"},"nativeSrc":"333661:16:21","nodeType":"YulFunctionCall","src":"333661:16:21"},"nativeSrc":"333661:16:21","nodeType":"YulExpressionStatement","src":"333661:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333702:4:21","nodeType":"YulLiteral","src":"333702:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"333708:2:21","nodeType":"YulIdentifier","src":"333708:2:21"}],"functionName":{"name":"writeString","nativeSrc":"333690:11:21","nodeType":"YulIdentifier","src":"333690:11:21"},"nativeSrc":"333690:21:21","nodeType":"YulFunctionCall","src":"333690:21:21"},"nativeSrc":"333690:21:21","nodeType":"YulExpressionStatement","src":"333690:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37366,"isOffset":false,"isSlot":false,"src":"333262:2:21","valueSize":1},{"declaration":37369,"isOffset":false,"isSlot":false,"src":"333292:2:21","valueSize":1},{"declaration":37372,"isOffset":false,"isSlot":false,"src":"333322:2:21","valueSize":1},{"declaration":37375,"isOffset":false,"isSlot":false,"src":"333352:2:21","valueSize":1},{"declaration":37378,"isOffset":false,"isSlot":false,"src":"333382:2:21","valueSize":1},{"declaration":37381,"isOffset":false,"isSlot":false,"src":"333412:2:21","valueSize":1},{"declaration":37384,"isOffset":false,"isSlot":false,"src":"333442:2:21","valueSize":1},{"declaration":37356,"isOffset":false,"isSlot":false,"src":"333708:2:21","valueSize":1},{"declaration":37358,"isOffset":false,"isSlot":false,"src":"333616:2:21","valueSize":1},{"declaration":37360,"isOffset":false,"isSlot":false,"src":"333645:2:21","valueSize":1},{"declaration":37362,"isOffset":false,"isSlot":false,"src":"333674:2:21","valueSize":1}],"id":37386,"nodeType":"InlineAssembly","src":"332884:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"333746:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"333752:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37387,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"333730:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"333730:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37391,"nodeType":"ExpressionStatement","src":"333730:27:21"},{"AST":{"nativeSrc":"333819:214:21","nodeType":"YulBlock","src":"333819:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"333840:4:21","nodeType":"YulLiteral","src":"333840:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"333846:2:21","nodeType":"YulIdentifier","src":"333846:2:21"}],"functionName":{"name":"mstore","nativeSrc":"333833:6:21","nodeType":"YulIdentifier","src":"333833:6:21"},"nativeSrc":"333833:16:21","nodeType":"YulFunctionCall","src":"333833:16:21"},"nativeSrc":"333833:16:21","nodeType":"YulExpressionStatement","src":"333833:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333869:4:21","nodeType":"YulLiteral","src":"333869:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"333875:2:21","nodeType":"YulIdentifier","src":"333875:2:21"}],"functionName":{"name":"mstore","nativeSrc":"333862:6:21","nodeType":"YulIdentifier","src":"333862:6:21"},"nativeSrc":"333862:16:21","nodeType":"YulFunctionCall","src":"333862:16:21"},"nativeSrc":"333862:16:21","nodeType":"YulExpressionStatement","src":"333862:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333898:4:21","nodeType":"YulLiteral","src":"333898:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"333904:2:21","nodeType":"YulIdentifier","src":"333904:2:21"}],"functionName":{"name":"mstore","nativeSrc":"333891:6:21","nodeType":"YulIdentifier","src":"333891:6:21"},"nativeSrc":"333891:16:21","nodeType":"YulFunctionCall","src":"333891:16:21"},"nativeSrc":"333891:16:21","nodeType":"YulExpressionStatement","src":"333891:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333927:4:21","nodeType":"YulLiteral","src":"333927:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"333933:2:21","nodeType":"YulIdentifier","src":"333933:2:21"}],"functionName":{"name":"mstore","nativeSrc":"333920:6:21","nodeType":"YulIdentifier","src":"333920:6:21"},"nativeSrc":"333920:16:21","nodeType":"YulFunctionCall","src":"333920:16:21"},"nativeSrc":"333920:16:21","nodeType":"YulExpressionStatement","src":"333920:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333956:4:21","nodeType":"YulLiteral","src":"333956:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"333962:2:21","nodeType":"YulIdentifier","src":"333962:2:21"}],"functionName":{"name":"mstore","nativeSrc":"333949:6:21","nodeType":"YulIdentifier","src":"333949:6:21"},"nativeSrc":"333949:16:21","nodeType":"YulFunctionCall","src":"333949:16:21"},"nativeSrc":"333949:16:21","nodeType":"YulExpressionStatement","src":"333949:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333985:4:21","nodeType":"YulLiteral","src":"333985:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"333991:2:21","nodeType":"YulIdentifier","src":"333991:2:21"}],"functionName":{"name":"mstore","nativeSrc":"333978:6:21","nodeType":"YulIdentifier","src":"333978:6:21"},"nativeSrc":"333978:16:21","nodeType":"YulFunctionCall","src":"333978:16:21"},"nativeSrc":"333978:16:21","nodeType":"YulExpressionStatement","src":"333978:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"334014:4:21","nodeType":"YulLiteral","src":"334014:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"334020:2:21","nodeType":"YulIdentifier","src":"334020:2:21"}],"functionName":{"name":"mstore","nativeSrc":"334007:6:21","nodeType":"YulIdentifier","src":"334007:6:21"},"nativeSrc":"334007:16:21","nodeType":"YulFunctionCall","src":"334007:16:21"},"nativeSrc":"334007:16:21","nodeType":"YulExpressionStatement","src":"334007:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37366,"isOffset":false,"isSlot":false,"src":"333846:2:21","valueSize":1},{"declaration":37369,"isOffset":false,"isSlot":false,"src":"333875:2:21","valueSize":1},{"declaration":37372,"isOffset":false,"isSlot":false,"src":"333904:2:21","valueSize":1},{"declaration":37375,"isOffset":false,"isSlot":false,"src":"333933:2:21","valueSize":1},{"declaration":37378,"isOffset":false,"isSlot":false,"src":"333962:2:21","valueSize":1},{"declaration":37381,"isOffset":false,"isSlot":false,"src":"333991:2:21","valueSize":1},{"declaration":37384,"isOffset":false,"isSlot":false,"src":"334020:2:21","valueSize":1}],"id":37392,"nodeType":"InlineAssembly","src":"333810:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"332628:3:21","parameters":{"id":37363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37356,"mutability":"mutable","name":"p0","nameLocation":"332640:2:21","nodeType":"VariableDeclaration","scope":37394,"src":"332632:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332632:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37358,"mutability":"mutable","name":"p1","nameLocation":"332652:2:21","nodeType":"VariableDeclaration","scope":37394,"src":"332644:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37357,"name":"address","nodeType":"ElementaryTypeName","src":"332644:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37360,"mutability":"mutable","name":"p2","nameLocation":"332661:2:21","nodeType":"VariableDeclaration","scope":37394,"src":"332656:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37359,"name":"bool","nodeType":"ElementaryTypeName","src":"332656:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37362,"mutability":"mutable","name":"p3","nameLocation":"332673:2:21","nodeType":"VariableDeclaration","scope":37394,"src":"332665:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37361,"name":"address","nodeType":"ElementaryTypeName","src":"332665:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"332631:45:21"},"returnParameters":{"id":37364,"nodeType":"ParameterList","parameters":[],"src":"332691:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37434,"nodeType":"FunctionDefinition","src":"334045:1414:21","nodes":[],"body":{"id":37433,"nodeType":"Block","src":"334114:1345:21","nodes":[],"statements":[{"assignments":[37406],"declarations":[{"constant":false,"id":37406,"mutability":"mutable","name":"m0","nameLocation":"334132:2:21","nodeType":"VariableDeclaration","scope":37433,"src":"334124:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334124:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37407,"nodeType":"VariableDeclarationStatement","src":"334124:10:21"},{"assignments":[37409],"declarations":[{"constant":false,"id":37409,"mutability":"mutable","name":"m1","nameLocation":"334152:2:21","nodeType":"VariableDeclaration","scope":37433,"src":"334144:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334144:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37410,"nodeType":"VariableDeclarationStatement","src":"334144:10:21"},{"assignments":[37412],"declarations":[{"constant":false,"id":37412,"mutability":"mutable","name":"m2","nameLocation":"334172:2:21","nodeType":"VariableDeclaration","scope":37433,"src":"334164:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334164:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37413,"nodeType":"VariableDeclarationStatement","src":"334164:10:21"},{"assignments":[37415],"declarations":[{"constant":false,"id":37415,"mutability":"mutable","name":"m3","nameLocation":"334192:2:21","nodeType":"VariableDeclaration","scope":37433,"src":"334184:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334184:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37416,"nodeType":"VariableDeclarationStatement","src":"334184:10:21"},{"assignments":[37418],"declarations":[{"constant":false,"id":37418,"mutability":"mutable","name":"m4","nameLocation":"334212:2:21","nodeType":"VariableDeclaration","scope":37433,"src":"334204:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334204:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37419,"nodeType":"VariableDeclarationStatement","src":"334204:10:21"},{"assignments":[37421],"declarations":[{"constant":false,"id":37421,"mutability":"mutable","name":"m5","nameLocation":"334232:2:21","nodeType":"VariableDeclaration","scope":37433,"src":"334224:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334224:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37422,"nodeType":"VariableDeclarationStatement","src":"334224:10:21"},{"assignments":[37424],"declarations":[{"constant":false,"id":37424,"mutability":"mutable","name":"m6","nameLocation":"334252:2:21","nodeType":"VariableDeclaration","scope":37433,"src":"334244:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37423,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334244:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37425,"nodeType":"VariableDeclarationStatement","src":"334244:10:21"},{"AST":{"nativeSrc":"334316:825:21","nodeType":"YulBlock","src":"334316:825:21","statements":[{"body":{"nativeSrc":"334359:313:21","nodeType":"YulBlock","src":"334359:313:21","statements":[{"nativeSrc":"334377:15:21","nodeType":"YulVariableDeclaration","src":"334377:15:21","value":{"kind":"number","nativeSrc":"334391:1:21","nodeType":"YulLiteral","src":"334391:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"334381:6:21","nodeType":"YulTypedName","src":"334381:6:21","type":""}]},{"body":{"nativeSrc":"334462:40:21","nodeType":"YulBlock","src":"334462:40:21","statements":[{"body":{"nativeSrc":"334491:9:21","nodeType":"YulBlock","src":"334491:9:21","statements":[{"nativeSrc":"334493:5:21","nodeType":"YulBreak","src":"334493:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"334479:6:21","nodeType":"YulIdentifier","src":"334479:6:21"},{"name":"w","nativeSrc":"334487:1:21","nodeType":"YulIdentifier","src":"334487:1:21"}],"functionName":{"name":"byte","nativeSrc":"334474:4:21","nodeType":"YulIdentifier","src":"334474:4:21"},"nativeSrc":"334474:15:21","nodeType":"YulFunctionCall","src":"334474:15:21"}],"functionName":{"name":"iszero","nativeSrc":"334467:6:21","nodeType":"YulIdentifier","src":"334467:6:21"},"nativeSrc":"334467:23:21","nodeType":"YulFunctionCall","src":"334467:23:21"},"nativeSrc":"334464:36:21","nodeType":"YulIf","src":"334464:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"334419:6:21","nodeType":"YulIdentifier","src":"334419:6:21"},{"kind":"number","nativeSrc":"334427:4:21","nodeType":"YulLiteral","src":"334427:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"334416:2:21","nodeType":"YulIdentifier","src":"334416:2:21"},"nativeSrc":"334416:16:21","nodeType":"YulFunctionCall","src":"334416:16:21"},"nativeSrc":"334409:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"334433:28:21","nodeType":"YulBlock","src":"334433:28:21","statements":[{"nativeSrc":"334435:24:21","nodeType":"YulAssignment","src":"334435:24:21","value":{"arguments":[{"name":"length","nativeSrc":"334449:6:21","nodeType":"YulIdentifier","src":"334449:6:21"},{"kind":"number","nativeSrc":"334457:1:21","nodeType":"YulLiteral","src":"334457:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"334445:3:21","nodeType":"YulIdentifier","src":"334445:3:21"},"nativeSrc":"334445:14:21","nodeType":"YulFunctionCall","src":"334445:14:21"},"variableNames":[{"name":"length","nativeSrc":"334435:6:21","nodeType":"YulIdentifier","src":"334435:6:21"}]}]},"pre":{"nativeSrc":"334413:2:21","nodeType":"YulBlock","src":"334413:2:21","statements":[]},"src":"334409:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"334526:3:21","nodeType":"YulIdentifier","src":"334526:3:21"},{"name":"length","nativeSrc":"334531:6:21","nodeType":"YulIdentifier","src":"334531:6:21"}],"functionName":{"name":"mstore","nativeSrc":"334519:6:21","nodeType":"YulIdentifier","src":"334519:6:21"},"nativeSrc":"334519:19:21","nodeType":"YulFunctionCall","src":"334519:19:21"},"nativeSrc":"334519:19:21","nodeType":"YulExpressionStatement","src":"334519:19:21"},{"nativeSrc":"334555:37:21","nodeType":"YulVariableDeclaration","src":"334555:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"334572:3:21","nodeType":"YulLiteral","src":"334572:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"334581:1:21","nodeType":"YulLiteral","src":"334581:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"334584:6:21","nodeType":"YulIdentifier","src":"334584:6:21"}],"functionName":{"name":"shl","nativeSrc":"334577:3:21","nodeType":"YulIdentifier","src":"334577:3:21"},"nativeSrc":"334577:14:21","nodeType":"YulFunctionCall","src":"334577:14:21"}],"functionName":{"name":"sub","nativeSrc":"334568:3:21","nodeType":"YulIdentifier","src":"334568:3:21"},"nativeSrc":"334568:24:21","nodeType":"YulFunctionCall","src":"334568:24:21"},"variables":[{"name":"shift","nativeSrc":"334559:5:21","nodeType":"YulTypedName","src":"334559:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"334620:3:21","nodeType":"YulIdentifier","src":"334620:3:21"},{"kind":"number","nativeSrc":"334625:4:21","nodeType":"YulLiteral","src":"334625:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"334616:3:21","nodeType":"YulIdentifier","src":"334616:3:21"},"nativeSrc":"334616:14:21","nodeType":"YulFunctionCall","src":"334616:14:21"},{"arguments":[{"name":"shift","nativeSrc":"334636:5:21","nodeType":"YulIdentifier","src":"334636:5:21"},{"arguments":[{"name":"shift","nativeSrc":"334647:5:21","nodeType":"YulIdentifier","src":"334647:5:21"},{"name":"w","nativeSrc":"334654:1:21","nodeType":"YulIdentifier","src":"334654:1:21"}],"functionName":{"name":"shr","nativeSrc":"334643:3:21","nodeType":"YulIdentifier","src":"334643:3:21"},"nativeSrc":"334643:13:21","nodeType":"YulFunctionCall","src":"334643:13:21"}],"functionName":{"name":"shl","nativeSrc":"334632:3:21","nodeType":"YulIdentifier","src":"334632:3:21"},"nativeSrc":"334632:25:21","nodeType":"YulFunctionCall","src":"334632:25:21"}],"functionName":{"name":"mstore","nativeSrc":"334609:6:21","nodeType":"YulIdentifier","src":"334609:6:21"},"nativeSrc":"334609:49:21","nodeType":"YulFunctionCall","src":"334609:49:21"},"nativeSrc":"334609:49:21","nodeType":"YulExpressionStatement","src":"334609:49:21"}]},"name":"writeString","nativeSrc":"334330:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"334351:3:21","nodeType":"YulTypedName","src":"334351:3:21","type":""},{"name":"w","nativeSrc":"334356:1:21","nodeType":"YulTypedName","src":"334356:1:21","type":""}],"src":"334330:342:21"},{"nativeSrc":"334685:17:21","nodeType":"YulAssignment","src":"334685:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"334697:4:21","nodeType":"YulLiteral","src":"334697:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"334691:5:21","nodeType":"YulIdentifier","src":"334691:5:21"},"nativeSrc":"334691:11:21","nodeType":"YulFunctionCall","src":"334691:11:21"},"variableNames":[{"name":"m0","nativeSrc":"334685:2:21","nodeType":"YulIdentifier","src":"334685:2:21"}]},{"nativeSrc":"334715:17:21","nodeType":"YulAssignment","src":"334715:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"334727:4:21","nodeType":"YulLiteral","src":"334727:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"334721:5:21","nodeType":"YulIdentifier","src":"334721:5:21"},"nativeSrc":"334721:11:21","nodeType":"YulFunctionCall","src":"334721:11:21"},"variableNames":[{"name":"m1","nativeSrc":"334715:2:21","nodeType":"YulIdentifier","src":"334715:2:21"}]},{"nativeSrc":"334745:17:21","nodeType":"YulAssignment","src":"334745:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"334757:4:21","nodeType":"YulLiteral","src":"334757:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"334751:5:21","nodeType":"YulIdentifier","src":"334751:5:21"},"nativeSrc":"334751:11:21","nodeType":"YulFunctionCall","src":"334751:11:21"},"variableNames":[{"name":"m2","nativeSrc":"334745:2:21","nodeType":"YulIdentifier","src":"334745:2:21"}]},{"nativeSrc":"334775:17:21","nodeType":"YulAssignment","src":"334775:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"334787:4:21","nodeType":"YulLiteral","src":"334787:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"334781:5:21","nodeType":"YulIdentifier","src":"334781:5:21"},"nativeSrc":"334781:11:21","nodeType":"YulFunctionCall","src":"334781:11:21"},"variableNames":[{"name":"m3","nativeSrc":"334775:2:21","nodeType":"YulIdentifier","src":"334775:2:21"}]},{"nativeSrc":"334805:17:21","nodeType":"YulAssignment","src":"334805:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"334817:4:21","nodeType":"YulLiteral","src":"334817:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"334811:5:21","nodeType":"YulIdentifier","src":"334811:5:21"},"nativeSrc":"334811:11:21","nodeType":"YulFunctionCall","src":"334811:11:21"},"variableNames":[{"name":"m4","nativeSrc":"334805:2:21","nodeType":"YulIdentifier","src":"334805:2:21"}]},{"nativeSrc":"334835:17:21","nodeType":"YulAssignment","src":"334835:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"334847:4:21","nodeType":"YulLiteral","src":"334847:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"334841:5:21","nodeType":"YulIdentifier","src":"334841:5:21"},"nativeSrc":"334841:11:21","nodeType":"YulFunctionCall","src":"334841:11:21"},"variableNames":[{"name":"m5","nativeSrc":"334835:2:21","nodeType":"YulIdentifier","src":"334835:2:21"}]},{"nativeSrc":"334865:17:21","nodeType":"YulAssignment","src":"334865:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"334877:4:21","nodeType":"YulLiteral","src":"334877:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"334871:5:21","nodeType":"YulIdentifier","src":"334871:5:21"},"nativeSrc":"334871:11:21","nodeType":"YulFunctionCall","src":"334871:11:21"},"variableNames":[{"name":"m6","nativeSrc":"334865:2:21","nodeType":"YulIdentifier","src":"334865:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"334962:4:21","nodeType":"YulLiteral","src":"334962:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"334968:10:21","nodeType":"YulLiteral","src":"334968:10:21","type":"","value":"0x79884c2b"}],"functionName":{"name":"mstore","nativeSrc":"334955:6:21","nodeType":"YulIdentifier","src":"334955:6:21"},"nativeSrc":"334955:24:21","nodeType":"YulFunctionCall","src":"334955:24:21"},"nativeSrc":"334955:24:21","nodeType":"YulExpressionStatement","src":"334955:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"334999:4:21","nodeType":"YulLiteral","src":"334999:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"335005:4:21","nodeType":"YulLiteral","src":"335005:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"334992:6:21","nodeType":"YulIdentifier","src":"334992:6:21"},"nativeSrc":"334992:18:21","nodeType":"YulFunctionCall","src":"334992:18:21"},"nativeSrc":"334992:18:21","nodeType":"YulExpressionStatement","src":"334992:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335030:4:21","nodeType":"YulLiteral","src":"335030:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"335036:2:21","nodeType":"YulIdentifier","src":"335036:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335023:6:21","nodeType":"YulIdentifier","src":"335023:6:21"},"nativeSrc":"335023:16:21","nodeType":"YulFunctionCall","src":"335023:16:21"},"nativeSrc":"335023:16:21","nodeType":"YulExpressionStatement","src":"335023:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335059:4:21","nodeType":"YulLiteral","src":"335059:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"335065:2:21","nodeType":"YulIdentifier","src":"335065:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335052:6:21","nodeType":"YulIdentifier","src":"335052:6:21"},"nativeSrc":"335052:16:21","nodeType":"YulFunctionCall","src":"335052:16:21"},"nativeSrc":"335052:16:21","nodeType":"YulExpressionStatement","src":"335052:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335088:4:21","nodeType":"YulLiteral","src":"335088:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"335094:2:21","nodeType":"YulIdentifier","src":"335094:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335081:6:21","nodeType":"YulIdentifier","src":"335081:6:21"},"nativeSrc":"335081:16:21","nodeType":"YulFunctionCall","src":"335081:16:21"},"nativeSrc":"335081:16:21","nodeType":"YulExpressionStatement","src":"335081:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335122:4:21","nodeType":"YulLiteral","src":"335122:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"335128:2:21","nodeType":"YulIdentifier","src":"335128:2:21"}],"functionName":{"name":"writeString","nativeSrc":"335110:11:21","nodeType":"YulIdentifier","src":"335110:11:21"},"nativeSrc":"335110:21:21","nodeType":"YulFunctionCall","src":"335110:21:21"},"nativeSrc":"335110:21:21","nodeType":"YulExpressionStatement","src":"335110:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37406,"isOffset":false,"isSlot":false,"src":"334685:2:21","valueSize":1},{"declaration":37409,"isOffset":false,"isSlot":false,"src":"334715:2:21","valueSize":1},{"declaration":37412,"isOffset":false,"isSlot":false,"src":"334745:2:21","valueSize":1},{"declaration":37415,"isOffset":false,"isSlot":false,"src":"334775:2:21","valueSize":1},{"declaration":37418,"isOffset":false,"isSlot":false,"src":"334805:2:21","valueSize":1},{"declaration":37421,"isOffset":false,"isSlot":false,"src":"334835:2:21","valueSize":1},{"declaration":37424,"isOffset":false,"isSlot":false,"src":"334865:2:21","valueSize":1},{"declaration":37396,"isOffset":false,"isSlot":false,"src":"335128:2:21","valueSize":1},{"declaration":37398,"isOffset":false,"isSlot":false,"src":"335036:2:21","valueSize":1},{"declaration":37400,"isOffset":false,"isSlot":false,"src":"335065:2:21","valueSize":1},{"declaration":37402,"isOffset":false,"isSlot":false,"src":"335094:2:21","valueSize":1}],"id":37426,"nodeType":"InlineAssembly","src":"334307:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"335166:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"335172:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37427,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"335150:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"335150:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37431,"nodeType":"ExpressionStatement","src":"335150:27:21"},{"AST":{"nativeSrc":"335239:214:21","nodeType":"YulBlock","src":"335239:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"335260:4:21","nodeType":"YulLiteral","src":"335260:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"335266:2:21","nodeType":"YulIdentifier","src":"335266:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335253:6:21","nodeType":"YulIdentifier","src":"335253:6:21"},"nativeSrc":"335253:16:21","nodeType":"YulFunctionCall","src":"335253:16:21"},"nativeSrc":"335253:16:21","nodeType":"YulExpressionStatement","src":"335253:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335289:4:21","nodeType":"YulLiteral","src":"335289:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"335295:2:21","nodeType":"YulIdentifier","src":"335295:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335282:6:21","nodeType":"YulIdentifier","src":"335282:6:21"},"nativeSrc":"335282:16:21","nodeType":"YulFunctionCall","src":"335282:16:21"},"nativeSrc":"335282:16:21","nodeType":"YulExpressionStatement","src":"335282:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335318:4:21","nodeType":"YulLiteral","src":"335318:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"335324:2:21","nodeType":"YulIdentifier","src":"335324:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335311:6:21","nodeType":"YulIdentifier","src":"335311:6:21"},"nativeSrc":"335311:16:21","nodeType":"YulFunctionCall","src":"335311:16:21"},"nativeSrc":"335311:16:21","nodeType":"YulExpressionStatement","src":"335311:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335347:4:21","nodeType":"YulLiteral","src":"335347:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"335353:2:21","nodeType":"YulIdentifier","src":"335353:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335340:6:21","nodeType":"YulIdentifier","src":"335340:6:21"},"nativeSrc":"335340:16:21","nodeType":"YulFunctionCall","src":"335340:16:21"},"nativeSrc":"335340:16:21","nodeType":"YulExpressionStatement","src":"335340:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335376:4:21","nodeType":"YulLiteral","src":"335376:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"335382:2:21","nodeType":"YulIdentifier","src":"335382:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335369:6:21","nodeType":"YulIdentifier","src":"335369:6:21"},"nativeSrc":"335369:16:21","nodeType":"YulFunctionCall","src":"335369:16:21"},"nativeSrc":"335369:16:21","nodeType":"YulExpressionStatement","src":"335369:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335405:4:21","nodeType":"YulLiteral","src":"335405:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"335411:2:21","nodeType":"YulIdentifier","src":"335411:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335398:6:21","nodeType":"YulIdentifier","src":"335398:6:21"},"nativeSrc":"335398:16:21","nodeType":"YulFunctionCall","src":"335398:16:21"},"nativeSrc":"335398:16:21","nodeType":"YulExpressionStatement","src":"335398:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335434:4:21","nodeType":"YulLiteral","src":"335434:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"335440:2:21","nodeType":"YulIdentifier","src":"335440:2:21"}],"functionName":{"name":"mstore","nativeSrc":"335427:6:21","nodeType":"YulIdentifier","src":"335427:6:21"},"nativeSrc":"335427:16:21","nodeType":"YulFunctionCall","src":"335427:16:21"},"nativeSrc":"335427:16:21","nodeType":"YulExpressionStatement","src":"335427:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37406,"isOffset":false,"isSlot":false,"src":"335266:2:21","valueSize":1},{"declaration":37409,"isOffset":false,"isSlot":false,"src":"335295:2:21","valueSize":1},{"declaration":37412,"isOffset":false,"isSlot":false,"src":"335324:2:21","valueSize":1},{"declaration":37415,"isOffset":false,"isSlot":false,"src":"335353:2:21","valueSize":1},{"declaration":37418,"isOffset":false,"isSlot":false,"src":"335382:2:21","valueSize":1},{"declaration":37421,"isOffset":false,"isSlot":false,"src":"335411:2:21","valueSize":1},{"declaration":37424,"isOffset":false,"isSlot":false,"src":"335440:2:21","valueSize":1}],"id":37432,"nodeType":"InlineAssembly","src":"335230:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"334054:3:21","parameters":{"id":37403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37396,"mutability":"mutable","name":"p0","nameLocation":"334066:2:21","nodeType":"VariableDeclaration","scope":37434,"src":"334058:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334058:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37398,"mutability":"mutable","name":"p1","nameLocation":"334078:2:21","nodeType":"VariableDeclaration","scope":37434,"src":"334070:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37397,"name":"address","nodeType":"ElementaryTypeName","src":"334070:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37400,"mutability":"mutable","name":"p2","nameLocation":"334087:2:21","nodeType":"VariableDeclaration","scope":37434,"src":"334082:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37399,"name":"bool","nodeType":"ElementaryTypeName","src":"334082:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37402,"mutability":"mutable","name":"p3","nameLocation":"334096:2:21","nodeType":"VariableDeclaration","scope":37434,"src":"334091:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37401,"name":"bool","nodeType":"ElementaryTypeName","src":"334091:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"334057:42:21"},"returnParameters":{"id":37404,"nodeType":"ParameterList","parameters":[],"src":"334114:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37474,"nodeType":"FunctionDefinition","src":"335465:1420:21","nodes":[],"body":{"id":37473,"nodeType":"Block","src":"335537:1348:21","nodes":[],"statements":[{"assignments":[37446],"declarations":[{"constant":false,"id":37446,"mutability":"mutable","name":"m0","nameLocation":"335555:2:21","nodeType":"VariableDeclaration","scope":37473,"src":"335547:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335547:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37447,"nodeType":"VariableDeclarationStatement","src":"335547:10:21"},{"assignments":[37449],"declarations":[{"constant":false,"id":37449,"mutability":"mutable","name":"m1","nameLocation":"335575:2:21","nodeType":"VariableDeclaration","scope":37473,"src":"335567:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335567:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37450,"nodeType":"VariableDeclarationStatement","src":"335567:10:21"},{"assignments":[37452],"declarations":[{"constant":false,"id":37452,"mutability":"mutable","name":"m2","nameLocation":"335595:2:21","nodeType":"VariableDeclaration","scope":37473,"src":"335587:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335587:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37453,"nodeType":"VariableDeclarationStatement","src":"335587:10:21"},{"assignments":[37455],"declarations":[{"constant":false,"id":37455,"mutability":"mutable","name":"m3","nameLocation":"335615:2:21","nodeType":"VariableDeclaration","scope":37473,"src":"335607:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335607:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37456,"nodeType":"VariableDeclarationStatement","src":"335607:10:21"},{"assignments":[37458],"declarations":[{"constant":false,"id":37458,"mutability":"mutable","name":"m4","nameLocation":"335635:2:21","nodeType":"VariableDeclaration","scope":37473,"src":"335627:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335627:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37459,"nodeType":"VariableDeclarationStatement","src":"335627:10:21"},{"assignments":[37461],"declarations":[{"constant":false,"id":37461,"mutability":"mutable","name":"m5","nameLocation":"335655:2:21","nodeType":"VariableDeclaration","scope":37473,"src":"335647:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335647:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37462,"nodeType":"VariableDeclarationStatement","src":"335647:10:21"},{"assignments":[37464],"declarations":[{"constant":false,"id":37464,"mutability":"mutable","name":"m6","nameLocation":"335675:2:21","nodeType":"VariableDeclaration","scope":37473,"src":"335667:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335667:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37465,"nodeType":"VariableDeclarationStatement","src":"335667:10:21"},{"AST":{"nativeSrc":"335739:828:21","nodeType":"YulBlock","src":"335739:828:21","statements":[{"body":{"nativeSrc":"335782:313:21","nodeType":"YulBlock","src":"335782:313:21","statements":[{"nativeSrc":"335800:15:21","nodeType":"YulVariableDeclaration","src":"335800:15:21","value":{"kind":"number","nativeSrc":"335814:1:21","nodeType":"YulLiteral","src":"335814:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"335804:6:21","nodeType":"YulTypedName","src":"335804:6:21","type":""}]},{"body":{"nativeSrc":"335885:40:21","nodeType":"YulBlock","src":"335885:40:21","statements":[{"body":{"nativeSrc":"335914:9:21","nodeType":"YulBlock","src":"335914:9:21","statements":[{"nativeSrc":"335916:5:21","nodeType":"YulBreak","src":"335916:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"335902:6:21","nodeType":"YulIdentifier","src":"335902:6:21"},{"name":"w","nativeSrc":"335910:1:21","nodeType":"YulIdentifier","src":"335910:1:21"}],"functionName":{"name":"byte","nativeSrc":"335897:4:21","nodeType":"YulIdentifier","src":"335897:4:21"},"nativeSrc":"335897:15:21","nodeType":"YulFunctionCall","src":"335897:15:21"}],"functionName":{"name":"iszero","nativeSrc":"335890:6:21","nodeType":"YulIdentifier","src":"335890:6:21"},"nativeSrc":"335890:23:21","nodeType":"YulFunctionCall","src":"335890:23:21"},"nativeSrc":"335887:36:21","nodeType":"YulIf","src":"335887:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"335842:6:21","nodeType":"YulIdentifier","src":"335842:6:21"},{"kind":"number","nativeSrc":"335850:4:21","nodeType":"YulLiteral","src":"335850:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"335839:2:21","nodeType":"YulIdentifier","src":"335839:2:21"},"nativeSrc":"335839:16:21","nodeType":"YulFunctionCall","src":"335839:16:21"},"nativeSrc":"335832:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"335856:28:21","nodeType":"YulBlock","src":"335856:28:21","statements":[{"nativeSrc":"335858:24:21","nodeType":"YulAssignment","src":"335858:24:21","value":{"arguments":[{"name":"length","nativeSrc":"335872:6:21","nodeType":"YulIdentifier","src":"335872:6:21"},{"kind":"number","nativeSrc":"335880:1:21","nodeType":"YulLiteral","src":"335880:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"335868:3:21","nodeType":"YulIdentifier","src":"335868:3:21"},"nativeSrc":"335868:14:21","nodeType":"YulFunctionCall","src":"335868:14:21"},"variableNames":[{"name":"length","nativeSrc":"335858:6:21","nodeType":"YulIdentifier","src":"335858:6:21"}]}]},"pre":{"nativeSrc":"335836:2:21","nodeType":"YulBlock","src":"335836:2:21","statements":[]},"src":"335832:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"335949:3:21","nodeType":"YulIdentifier","src":"335949:3:21"},{"name":"length","nativeSrc":"335954:6:21","nodeType":"YulIdentifier","src":"335954:6:21"}],"functionName":{"name":"mstore","nativeSrc":"335942:6:21","nodeType":"YulIdentifier","src":"335942:6:21"},"nativeSrc":"335942:19:21","nodeType":"YulFunctionCall","src":"335942:19:21"},"nativeSrc":"335942:19:21","nodeType":"YulExpressionStatement","src":"335942:19:21"},{"nativeSrc":"335978:37:21","nodeType":"YulVariableDeclaration","src":"335978:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"335995:3:21","nodeType":"YulLiteral","src":"335995:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"336004:1:21","nodeType":"YulLiteral","src":"336004:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"336007:6:21","nodeType":"YulIdentifier","src":"336007:6:21"}],"functionName":{"name":"shl","nativeSrc":"336000:3:21","nodeType":"YulIdentifier","src":"336000:3:21"},"nativeSrc":"336000:14:21","nodeType":"YulFunctionCall","src":"336000:14:21"}],"functionName":{"name":"sub","nativeSrc":"335991:3:21","nodeType":"YulIdentifier","src":"335991:3:21"},"nativeSrc":"335991:24:21","nodeType":"YulFunctionCall","src":"335991:24:21"},"variables":[{"name":"shift","nativeSrc":"335982:5:21","nodeType":"YulTypedName","src":"335982:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"336043:3:21","nodeType":"YulIdentifier","src":"336043:3:21"},{"kind":"number","nativeSrc":"336048:4:21","nodeType":"YulLiteral","src":"336048:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"336039:3:21","nodeType":"YulIdentifier","src":"336039:3:21"},"nativeSrc":"336039:14:21","nodeType":"YulFunctionCall","src":"336039:14:21"},{"arguments":[{"name":"shift","nativeSrc":"336059:5:21","nodeType":"YulIdentifier","src":"336059:5:21"},{"arguments":[{"name":"shift","nativeSrc":"336070:5:21","nodeType":"YulIdentifier","src":"336070:5:21"},{"name":"w","nativeSrc":"336077:1:21","nodeType":"YulIdentifier","src":"336077:1:21"}],"functionName":{"name":"shr","nativeSrc":"336066:3:21","nodeType":"YulIdentifier","src":"336066:3:21"},"nativeSrc":"336066:13:21","nodeType":"YulFunctionCall","src":"336066:13:21"}],"functionName":{"name":"shl","nativeSrc":"336055:3:21","nodeType":"YulIdentifier","src":"336055:3:21"},"nativeSrc":"336055:25:21","nodeType":"YulFunctionCall","src":"336055:25:21"}],"functionName":{"name":"mstore","nativeSrc":"336032:6:21","nodeType":"YulIdentifier","src":"336032:6:21"},"nativeSrc":"336032:49:21","nodeType":"YulFunctionCall","src":"336032:49:21"},"nativeSrc":"336032:49:21","nodeType":"YulExpressionStatement","src":"336032:49:21"}]},"name":"writeString","nativeSrc":"335753:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"335774:3:21","nodeType":"YulTypedName","src":"335774:3:21","type":""},{"name":"w","nativeSrc":"335779:1:21","nodeType":"YulTypedName","src":"335779:1:21","type":""}],"src":"335753:342:21"},{"nativeSrc":"336108:17:21","nodeType":"YulAssignment","src":"336108:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"336120:4:21","nodeType":"YulLiteral","src":"336120:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"336114:5:21","nodeType":"YulIdentifier","src":"336114:5:21"},"nativeSrc":"336114:11:21","nodeType":"YulFunctionCall","src":"336114:11:21"},"variableNames":[{"name":"m0","nativeSrc":"336108:2:21","nodeType":"YulIdentifier","src":"336108:2:21"}]},{"nativeSrc":"336138:17:21","nodeType":"YulAssignment","src":"336138:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"336150:4:21","nodeType":"YulLiteral","src":"336150:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"336144:5:21","nodeType":"YulIdentifier","src":"336144:5:21"},"nativeSrc":"336144:11:21","nodeType":"YulFunctionCall","src":"336144:11:21"},"variableNames":[{"name":"m1","nativeSrc":"336138:2:21","nodeType":"YulIdentifier","src":"336138:2:21"}]},{"nativeSrc":"336168:17:21","nodeType":"YulAssignment","src":"336168:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"336180:4:21","nodeType":"YulLiteral","src":"336180:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"336174:5:21","nodeType":"YulIdentifier","src":"336174:5:21"},"nativeSrc":"336174:11:21","nodeType":"YulFunctionCall","src":"336174:11:21"},"variableNames":[{"name":"m2","nativeSrc":"336168:2:21","nodeType":"YulIdentifier","src":"336168:2:21"}]},{"nativeSrc":"336198:17:21","nodeType":"YulAssignment","src":"336198:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"336210:4:21","nodeType":"YulLiteral","src":"336210:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"336204:5:21","nodeType":"YulIdentifier","src":"336204:5:21"},"nativeSrc":"336204:11:21","nodeType":"YulFunctionCall","src":"336204:11:21"},"variableNames":[{"name":"m3","nativeSrc":"336198:2:21","nodeType":"YulIdentifier","src":"336198:2:21"}]},{"nativeSrc":"336228:17:21","nodeType":"YulAssignment","src":"336228:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"336240:4:21","nodeType":"YulLiteral","src":"336240:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"336234:5:21","nodeType":"YulIdentifier","src":"336234:5:21"},"nativeSrc":"336234:11:21","nodeType":"YulFunctionCall","src":"336234:11:21"},"variableNames":[{"name":"m4","nativeSrc":"336228:2:21","nodeType":"YulIdentifier","src":"336228:2:21"}]},{"nativeSrc":"336258:17:21","nodeType":"YulAssignment","src":"336258:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"336270:4:21","nodeType":"YulLiteral","src":"336270:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"336264:5:21","nodeType":"YulIdentifier","src":"336264:5:21"},"nativeSrc":"336264:11:21","nodeType":"YulFunctionCall","src":"336264:11:21"},"variableNames":[{"name":"m5","nativeSrc":"336258:2:21","nodeType":"YulIdentifier","src":"336258:2:21"}]},{"nativeSrc":"336288:17:21","nodeType":"YulAssignment","src":"336288:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"336300:4:21","nodeType":"YulLiteral","src":"336300:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"336294:5:21","nodeType":"YulIdentifier","src":"336294:5:21"},"nativeSrc":"336294:11:21","nodeType":"YulFunctionCall","src":"336294:11:21"},"variableNames":[{"name":"m6","nativeSrc":"336288:2:21","nodeType":"YulIdentifier","src":"336288:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336388:4:21","nodeType":"YulLiteral","src":"336388:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"336394:10:21","nodeType":"YulLiteral","src":"336394:10:21","type":"","value":"0x3e9f866a"}],"functionName":{"name":"mstore","nativeSrc":"336381:6:21","nodeType":"YulIdentifier","src":"336381:6:21"},"nativeSrc":"336381:24:21","nodeType":"YulFunctionCall","src":"336381:24:21"},"nativeSrc":"336381:24:21","nodeType":"YulExpressionStatement","src":"336381:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336425:4:21","nodeType":"YulLiteral","src":"336425:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"336431:4:21","nodeType":"YulLiteral","src":"336431:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"336418:6:21","nodeType":"YulIdentifier","src":"336418:6:21"},"nativeSrc":"336418:18:21","nodeType":"YulFunctionCall","src":"336418:18:21"},"nativeSrc":"336418:18:21","nodeType":"YulExpressionStatement","src":"336418:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336456:4:21","nodeType":"YulLiteral","src":"336456:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"336462:2:21","nodeType":"YulIdentifier","src":"336462:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336449:6:21","nodeType":"YulIdentifier","src":"336449:6:21"},"nativeSrc":"336449:16:21","nodeType":"YulFunctionCall","src":"336449:16:21"},"nativeSrc":"336449:16:21","nodeType":"YulExpressionStatement","src":"336449:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336485:4:21","nodeType":"YulLiteral","src":"336485:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"336491:2:21","nodeType":"YulIdentifier","src":"336491:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336478:6:21","nodeType":"YulIdentifier","src":"336478:6:21"},"nativeSrc":"336478:16:21","nodeType":"YulFunctionCall","src":"336478:16:21"},"nativeSrc":"336478:16:21","nodeType":"YulExpressionStatement","src":"336478:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336514:4:21","nodeType":"YulLiteral","src":"336514:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"336520:2:21","nodeType":"YulIdentifier","src":"336520:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336507:6:21","nodeType":"YulIdentifier","src":"336507:6:21"},"nativeSrc":"336507:16:21","nodeType":"YulFunctionCall","src":"336507:16:21"},"nativeSrc":"336507:16:21","nodeType":"YulExpressionStatement","src":"336507:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336548:4:21","nodeType":"YulLiteral","src":"336548:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"336554:2:21","nodeType":"YulIdentifier","src":"336554:2:21"}],"functionName":{"name":"writeString","nativeSrc":"336536:11:21","nodeType":"YulIdentifier","src":"336536:11:21"},"nativeSrc":"336536:21:21","nodeType":"YulFunctionCall","src":"336536:21:21"},"nativeSrc":"336536:21:21","nodeType":"YulExpressionStatement","src":"336536:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37446,"isOffset":false,"isSlot":false,"src":"336108:2:21","valueSize":1},{"declaration":37449,"isOffset":false,"isSlot":false,"src":"336138:2:21","valueSize":1},{"declaration":37452,"isOffset":false,"isSlot":false,"src":"336168:2:21","valueSize":1},{"declaration":37455,"isOffset":false,"isSlot":false,"src":"336198:2:21","valueSize":1},{"declaration":37458,"isOffset":false,"isSlot":false,"src":"336228:2:21","valueSize":1},{"declaration":37461,"isOffset":false,"isSlot":false,"src":"336258:2:21","valueSize":1},{"declaration":37464,"isOffset":false,"isSlot":false,"src":"336288:2:21","valueSize":1},{"declaration":37436,"isOffset":false,"isSlot":false,"src":"336554:2:21","valueSize":1},{"declaration":37438,"isOffset":false,"isSlot":false,"src":"336462:2:21","valueSize":1},{"declaration":37440,"isOffset":false,"isSlot":false,"src":"336491:2:21","valueSize":1},{"declaration":37442,"isOffset":false,"isSlot":false,"src":"336520:2:21","valueSize":1}],"id":37466,"nodeType":"InlineAssembly","src":"335730:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"336592:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"336598:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37467,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"336576:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"336576:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37471,"nodeType":"ExpressionStatement","src":"336576:27:21"},{"AST":{"nativeSrc":"336665:214:21","nodeType":"YulBlock","src":"336665:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"336686:4:21","nodeType":"YulLiteral","src":"336686:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"336692:2:21","nodeType":"YulIdentifier","src":"336692:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336679:6:21","nodeType":"YulIdentifier","src":"336679:6:21"},"nativeSrc":"336679:16:21","nodeType":"YulFunctionCall","src":"336679:16:21"},"nativeSrc":"336679:16:21","nodeType":"YulExpressionStatement","src":"336679:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336715:4:21","nodeType":"YulLiteral","src":"336715:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"336721:2:21","nodeType":"YulIdentifier","src":"336721:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336708:6:21","nodeType":"YulIdentifier","src":"336708:6:21"},"nativeSrc":"336708:16:21","nodeType":"YulFunctionCall","src":"336708:16:21"},"nativeSrc":"336708:16:21","nodeType":"YulExpressionStatement","src":"336708:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336744:4:21","nodeType":"YulLiteral","src":"336744:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"336750:2:21","nodeType":"YulIdentifier","src":"336750:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336737:6:21","nodeType":"YulIdentifier","src":"336737:6:21"},"nativeSrc":"336737:16:21","nodeType":"YulFunctionCall","src":"336737:16:21"},"nativeSrc":"336737:16:21","nodeType":"YulExpressionStatement","src":"336737:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336773:4:21","nodeType":"YulLiteral","src":"336773:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"336779:2:21","nodeType":"YulIdentifier","src":"336779:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336766:6:21","nodeType":"YulIdentifier","src":"336766:6:21"},"nativeSrc":"336766:16:21","nodeType":"YulFunctionCall","src":"336766:16:21"},"nativeSrc":"336766:16:21","nodeType":"YulExpressionStatement","src":"336766:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336802:4:21","nodeType":"YulLiteral","src":"336802:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"336808:2:21","nodeType":"YulIdentifier","src":"336808:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336795:6:21","nodeType":"YulIdentifier","src":"336795:6:21"},"nativeSrc":"336795:16:21","nodeType":"YulFunctionCall","src":"336795:16:21"},"nativeSrc":"336795:16:21","nodeType":"YulExpressionStatement","src":"336795:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336831:4:21","nodeType":"YulLiteral","src":"336831:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"336837:2:21","nodeType":"YulIdentifier","src":"336837:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336824:6:21","nodeType":"YulIdentifier","src":"336824:6:21"},"nativeSrc":"336824:16:21","nodeType":"YulFunctionCall","src":"336824:16:21"},"nativeSrc":"336824:16:21","nodeType":"YulExpressionStatement","src":"336824:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336860:4:21","nodeType":"YulLiteral","src":"336860:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"336866:2:21","nodeType":"YulIdentifier","src":"336866:2:21"}],"functionName":{"name":"mstore","nativeSrc":"336853:6:21","nodeType":"YulIdentifier","src":"336853:6:21"},"nativeSrc":"336853:16:21","nodeType":"YulFunctionCall","src":"336853:16:21"},"nativeSrc":"336853:16:21","nodeType":"YulExpressionStatement","src":"336853:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37446,"isOffset":false,"isSlot":false,"src":"336692:2:21","valueSize":1},{"declaration":37449,"isOffset":false,"isSlot":false,"src":"336721:2:21","valueSize":1},{"declaration":37452,"isOffset":false,"isSlot":false,"src":"336750:2:21","valueSize":1},{"declaration":37455,"isOffset":false,"isSlot":false,"src":"336779:2:21","valueSize":1},{"declaration":37458,"isOffset":false,"isSlot":false,"src":"336808:2:21","valueSize":1},{"declaration":37461,"isOffset":false,"isSlot":false,"src":"336837:2:21","valueSize":1},{"declaration":37464,"isOffset":false,"isSlot":false,"src":"336866:2:21","valueSize":1}],"id":37472,"nodeType":"InlineAssembly","src":"336656:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"335474:3:21","parameters":{"id":37443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37436,"mutability":"mutable","name":"p0","nameLocation":"335486:2:21","nodeType":"VariableDeclaration","scope":37474,"src":"335478:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37435,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335478:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37438,"mutability":"mutable","name":"p1","nameLocation":"335498:2:21","nodeType":"VariableDeclaration","scope":37474,"src":"335490:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37437,"name":"address","nodeType":"ElementaryTypeName","src":"335490:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37440,"mutability":"mutable","name":"p2","nameLocation":"335507:2:21","nodeType":"VariableDeclaration","scope":37474,"src":"335502:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37439,"name":"bool","nodeType":"ElementaryTypeName","src":"335502:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37442,"mutability":"mutable","name":"p3","nameLocation":"335519:2:21","nodeType":"VariableDeclaration","scope":37474,"src":"335511:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37441,"name":"uint256","nodeType":"ElementaryTypeName","src":"335511:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"335477:45:21"},"returnParameters":{"id":37444,"nodeType":"ParameterList","parameters":[],"src":"335537:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37520,"nodeType":"FunctionDefinition","src":"336891:1616:21","nodes":[],"body":{"id":37519,"nodeType":"Block","src":"336963:1544:21","nodes":[],"statements":[{"assignments":[37486],"declarations":[{"constant":false,"id":37486,"mutability":"mutable","name":"m0","nameLocation":"336981:2:21","nodeType":"VariableDeclaration","scope":37519,"src":"336973:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336973:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37487,"nodeType":"VariableDeclarationStatement","src":"336973:10:21"},{"assignments":[37489],"declarations":[{"constant":false,"id":37489,"mutability":"mutable","name":"m1","nameLocation":"337001:2:21","nodeType":"VariableDeclaration","scope":37519,"src":"336993:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37488,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336993:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37490,"nodeType":"VariableDeclarationStatement","src":"336993:10:21"},{"assignments":[37492],"declarations":[{"constant":false,"id":37492,"mutability":"mutable","name":"m2","nameLocation":"337021:2:21","nodeType":"VariableDeclaration","scope":37519,"src":"337013:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337013:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37493,"nodeType":"VariableDeclarationStatement","src":"337013:10:21"},{"assignments":[37495],"declarations":[{"constant":false,"id":37495,"mutability":"mutable","name":"m3","nameLocation":"337041:2:21","nodeType":"VariableDeclaration","scope":37519,"src":"337033:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337033:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37496,"nodeType":"VariableDeclarationStatement","src":"337033:10:21"},{"assignments":[37498],"declarations":[{"constant":false,"id":37498,"mutability":"mutable","name":"m4","nameLocation":"337061:2:21","nodeType":"VariableDeclaration","scope":37519,"src":"337053:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337053:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37499,"nodeType":"VariableDeclarationStatement","src":"337053:10:21"},{"assignments":[37501],"declarations":[{"constant":false,"id":37501,"mutability":"mutable","name":"m5","nameLocation":"337081:2:21","nodeType":"VariableDeclaration","scope":37519,"src":"337073:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337073:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37502,"nodeType":"VariableDeclarationStatement","src":"337073:10:21"},{"assignments":[37504],"declarations":[{"constant":false,"id":37504,"mutability":"mutable","name":"m6","nameLocation":"337101:2:21","nodeType":"VariableDeclaration","scope":37519,"src":"337093:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337093:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37505,"nodeType":"VariableDeclarationStatement","src":"337093:10:21"},{"assignments":[37507],"declarations":[{"constant":false,"id":37507,"mutability":"mutable","name":"m7","nameLocation":"337121:2:21","nodeType":"VariableDeclaration","scope":37519,"src":"337113:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337113:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37508,"nodeType":"VariableDeclarationStatement","src":"337113:10:21"},{"assignments":[37510],"declarations":[{"constant":false,"id":37510,"mutability":"mutable","name":"m8","nameLocation":"337141:2:21","nodeType":"VariableDeclaration","scope":37519,"src":"337133:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37509,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337133:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37511,"nodeType":"VariableDeclarationStatement","src":"337133:10:21"},{"AST":{"nativeSrc":"337205:924:21","nodeType":"YulBlock","src":"337205:924:21","statements":[{"body":{"nativeSrc":"337248:313:21","nodeType":"YulBlock","src":"337248:313:21","statements":[{"nativeSrc":"337266:15:21","nodeType":"YulVariableDeclaration","src":"337266:15:21","value":{"kind":"number","nativeSrc":"337280:1:21","nodeType":"YulLiteral","src":"337280:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"337270:6:21","nodeType":"YulTypedName","src":"337270:6:21","type":""}]},{"body":{"nativeSrc":"337351:40:21","nodeType":"YulBlock","src":"337351:40:21","statements":[{"body":{"nativeSrc":"337380:9:21","nodeType":"YulBlock","src":"337380:9:21","statements":[{"nativeSrc":"337382:5:21","nodeType":"YulBreak","src":"337382:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"337368:6:21","nodeType":"YulIdentifier","src":"337368:6:21"},{"name":"w","nativeSrc":"337376:1:21","nodeType":"YulIdentifier","src":"337376:1:21"}],"functionName":{"name":"byte","nativeSrc":"337363:4:21","nodeType":"YulIdentifier","src":"337363:4:21"},"nativeSrc":"337363:15:21","nodeType":"YulFunctionCall","src":"337363:15:21"}],"functionName":{"name":"iszero","nativeSrc":"337356:6:21","nodeType":"YulIdentifier","src":"337356:6:21"},"nativeSrc":"337356:23:21","nodeType":"YulFunctionCall","src":"337356:23:21"},"nativeSrc":"337353:36:21","nodeType":"YulIf","src":"337353:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"337308:6:21","nodeType":"YulIdentifier","src":"337308:6:21"},{"kind":"number","nativeSrc":"337316:4:21","nodeType":"YulLiteral","src":"337316:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"337305:2:21","nodeType":"YulIdentifier","src":"337305:2:21"},"nativeSrc":"337305:16:21","nodeType":"YulFunctionCall","src":"337305:16:21"},"nativeSrc":"337298:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"337322:28:21","nodeType":"YulBlock","src":"337322:28:21","statements":[{"nativeSrc":"337324:24:21","nodeType":"YulAssignment","src":"337324:24:21","value":{"arguments":[{"name":"length","nativeSrc":"337338:6:21","nodeType":"YulIdentifier","src":"337338:6:21"},{"kind":"number","nativeSrc":"337346:1:21","nodeType":"YulLiteral","src":"337346:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"337334:3:21","nodeType":"YulIdentifier","src":"337334:3:21"},"nativeSrc":"337334:14:21","nodeType":"YulFunctionCall","src":"337334:14:21"},"variableNames":[{"name":"length","nativeSrc":"337324:6:21","nodeType":"YulIdentifier","src":"337324:6:21"}]}]},"pre":{"nativeSrc":"337302:2:21","nodeType":"YulBlock","src":"337302:2:21","statements":[]},"src":"337298:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"337415:3:21","nodeType":"YulIdentifier","src":"337415:3:21"},{"name":"length","nativeSrc":"337420:6:21","nodeType":"YulIdentifier","src":"337420:6:21"}],"functionName":{"name":"mstore","nativeSrc":"337408:6:21","nodeType":"YulIdentifier","src":"337408:6:21"},"nativeSrc":"337408:19:21","nodeType":"YulFunctionCall","src":"337408:19:21"},"nativeSrc":"337408:19:21","nodeType":"YulExpressionStatement","src":"337408:19:21"},{"nativeSrc":"337444:37:21","nodeType":"YulVariableDeclaration","src":"337444:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"337461:3:21","nodeType":"YulLiteral","src":"337461:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"337470:1:21","nodeType":"YulLiteral","src":"337470:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"337473:6:21","nodeType":"YulIdentifier","src":"337473:6:21"}],"functionName":{"name":"shl","nativeSrc":"337466:3:21","nodeType":"YulIdentifier","src":"337466:3:21"},"nativeSrc":"337466:14:21","nodeType":"YulFunctionCall","src":"337466:14:21"}],"functionName":{"name":"sub","nativeSrc":"337457:3:21","nodeType":"YulIdentifier","src":"337457:3:21"},"nativeSrc":"337457:24:21","nodeType":"YulFunctionCall","src":"337457:24:21"},"variables":[{"name":"shift","nativeSrc":"337448:5:21","nodeType":"YulTypedName","src":"337448:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"337509:3:21","nodeType":"YulIdentifier","src":"337509:3:21"},{"kind":"number","nativeSrc":"337514:4:21","nodeType":"YulLiteral","src":"337514:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"337505:3:21","nodeType":"YulIdentifier","src":"337505:3:21"},"nativeSrc":"337505:14:21","nodeType":"YulFunctionCall","src":"337505:14:21"},{"arguments":[{"name":"shift","nativeSrc":"337525:5:21","nodeType":"YulIdentifier","src":"337525:5:21"},{"arguments":[{"name":"shift","nativeSrc":"337536:5:21","nodeType":"YulIdentifier","src":"337536:5:21"},{"name":"w","nativeSrc":"337543:1:21","nodeType":"YulIdentifier","src":"337543:1:21"}],"functionName":{"name":"shr","nativeSrc":"337532:3:21","nodeType":"YulIdentifier","src":"337532:3:21"},"nativeSrc":"337532:13:21","nodeType":"YulFunctionCall","src":"337532:13:21"}],"functionName":{"name":"shl","nativeSrc":"337521:3:21","nodeType":"YulIdentifier","src":"337521:3:21"},"nativeSrc":"337521:25:21","nodeType":"YulFunctionCall","src":"337521:25:21"}],"functionName":{"name":"mstore","nativeSrc":"337498:6:21","nodeType":"YulIdentifier","src":"337498:6:21"},"nativeSrc":"337498:49:21","nodeType":"YulFunctionCall","src":"337498:49:21"},"nativeSrc":"337498:49:21","nodeType":"YulExpressionStatement","src":"337498:49:21"}]},"name":"writeString","nativeSrc":"337219:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"337240:3:21","nodeType":"YulTypedName","src":"337240:3:21","type":""},{"name":"w","nativeSrc":"337245:1:21","nodeType":"YulTypedName","src":"337245:1:21","type":""}],"src":"337219:342:21"},{"nativeSrc":"337574:17:21","nodeType":"YulAssignment","src":"337574:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"337586:4:21","nodeType":"YulLiteral","src":"337586:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"337580:5:21","nodeType":"YulIdentifier","src":"337580:5:21"},"nativeSrc":"337580:11:21","nodeType":"YulFunctionCall","src":"337580:11:21"},"variableNames":[{"name":"m0","nativeSrc":"337574:2:21","nodeType":"YulIdentifier","src":"337574:2:21"}]},{"nativeSrc":"337604:17:21","nodeType":"YulAssignment","src":"337604:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"337616:4:21","nodeType":"YulLiteral","src":"337616:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"337610:5:21","nodeType":"YulIdentifier","src":"337610:5:21"},"nativeSrc":"337610:11:21","nodeType":"YulFunctionCall","src":"337610:11:21"},"variableNames":[{"name":"m1","nativeSrc":"337604:2:21","nodeType":"YulIdentifier","src":"337604:2:21"}]},{"nativeSrc":"337634:17:21","nodeType":"YulAssignment","src":"337634:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"337646:4:21","nodeType":"YulLiteral","src":"337646:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"337640:5:21","nodeType":"YulIdentifier","src":"337640:5:21"},"nativeSrc":"337640:11:21","nodeType":"YulFunctionCall","src":"337640:11:21"},"variableNames":[{"name":"m2","nativeSrc":"337634:2:21","nodeType":"YulIdentifier","src":"337634:2:21"}]},{"nativeSrc":"337664:17:21","nodeType":"YulAssignment","src":"337664:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"337676:4:21","nodeType":"YulLiteral","src":"337676:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"337670:5:21","nodeType":"YulIdentifier","src":"337670:5:21"},"nativeSrc":"337670:11:21","nodeType":"YulFunctionCall","src":"337670:11:21"},"variableNames":[{"name":"m3","nativeSrc":"337664:2:21","nodeType":"YulIdentifier","src":"337664:2:21"}]},{"nativeSrc":"337694:17:21","nodeType":"YulAssignment","src":"337694:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"337706:4:21","nodeType":"YulLiteral","src":"337706:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"337700:5:21","nodeType":"YulIdentifier","src":"337700:5:21"},"nativeSrc":"337700:11:21","nodeType":"YulFunctionCall","src":"337700:11:21"},"variableNames":[{"name":"m4","nativeSrc":"337694:2:21","nodeType":"YulIdentifier","src":"337694:2:21"}]},{"nativeSrc":"337724:17:21","nodeType":"YulAssignment","src":"337724:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"337736:4:21","nodeType":"YulLiteral","src":"337736:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"337730:5:21","nodeType":"YulIdentifier","src":"337730:5:21"},"nativeSrc":"337730:11:21","nodeType":"YulFunctionCall","src":"337730:11:21"},"variableNames":[{"name":"m5","nativeSrc":"337724:2:21","nodeType":"YulIdentifier","src":"337724:2:21"}]},{"nativeSrc":"337754:17:21","nodeType":"YulAssignment","src":"337754:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"337766:4:21","nodeType":"YulLiteral","src":"337766:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"337760:5:21","nodeType":"YulIdentifier","src":"337760:5:21"},"nativeSrc":"337760:11:21","nodeType":"YulFunctionCall","src":"337760:11:21"},"variableNames":[{"name":"m6","nativeSrc":"337754:2:21","nodeType":"YulIdentifier","src":"337754:2:21"}]},{"nativeSrc":"337784:17:21","nodeType":"YulAssignment","src":"337784:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"337796:4:21","nodeType":"YulLiteral","src":"337796:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"337790:5:21","nodeType":"YulIdentifier","src":"337790:5:21"},"nativeSrc":"337790:11:21","nodeType":"YulFunctionCall","src":"337790:11:21"},"variableNames":[{"name":"m7","nativeSrc":"337784:2:21","nodeType":"YulIdentifier","src":"337784:2:21"}]},{"nativeSrc":"337814:18:21","nodeType":"YulAssignment","src":"337814:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"337826:5:21","nodeType":"YulLiteral","src":"337826:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"337820:5:21","nodeType":"YulIdentifier","src":"337820:5:21"},"nativeSrc":"337820:12:21","nodeType":"YulFunctionCall","src":"337820:12:21"},"variableNames":[{"name":"m8","nativeSrc":"337814:2:21","nodeType":"YulIdentifier","src":"337814:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"337914:4:21","nodeType":"YulLiteral","src":"337914:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"337920:10:21","nodeType":"YulLiteral","src":"337920:10:21","type":"","value":"0x0454c079"}],"functionName":{"name":"mstore","nativeSrc":"337907:6:21","nodeType":"YulIdentifier","src":"337907:6:21"},"nativeSrc":"337907:24:21","nodeType":"YulFunctionCall","src":"337907:24:21"},"nativeSrc":"337907:24:21","nodeType":"YulExpressionStatement","src":"337907:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"337951:4:21","nodeType":"YulLiteral","src":"337951:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"337957:4:21","nodeType":"YulLiteral","src":"337957:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"337944:6:21","nodeType":"YulIdentifier","src":"337944:6:21"},"nativeSrc":"337944:18:21","nodeType":"YulFunctionCall","src":"337944:18:21"},"nativeSrc":"337944:18:21","nodeType":"YulExpressionStatement","src":"337944:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"337982:4:21","nodeType":"YulLiteral","src":"337982:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"337988:2:21","nodeType":"YulIdentifier","src":"337988:2:21"}],"functionName":{"name":"mstore","nativeSrc":"337975:6:21","nodeType":"YulIdentifier","src":"337975:6:21"},"nativeSrc":"337975:16:21","nodeType":"YulFunctionCall","src":"337975:16:21"},"nativeSrc":"337975:16:21","nodeType":"YulExpressionStatement","src":"337975:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338011:4:21","nodeType":"YulLiteral","src":"338011:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"338017:2:21","nodeType":"YulIdentifier","src":"338017:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338004:6:21","nodeType":"YulIdentifier","src":"338004:6:21"},"nativeSrc":"338004:16:21","nodeType":"YulFunctionCall","src":"338004:16:21"},"nativeSrc":"338004:16:21","nodeType":"YulExpressionStatement","src":"338004:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338040:4:21","nodeType":"YulLiteral","src":"338040:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"338046:4:21","nodeType":"YulLiteral","src":"338046:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"338033:6:21","nodeType":"YulIdentifier","src":"338033:6:21"},"nativeSrc":"338033:18:21","nodeType":"YulFunctionCall","src":"338033:18:21"},"nativeSrc":"338033:18:21","nodeType":"YulExpressionStatement","src":"338033:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338076:4:21","nodeType":"YulLiteral","src":"338076:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"338082:2:21","nodeType":"YulIdentifier","src":"338082:2:21"}],"functionName":{"name":"writeString","nativeSrc":"338064:11:21","nodeType":"YulIdentifier","src":"338064:11:21"},"nativeSrc":"338064:21:21","nodeType":"YulFunctionCall","src":"338064:21:21"},"nativeSrc":"338064:21:21","nodeType":"YulExpressionStatement","src":"338064:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338110:4:21","nodeType":"YulLiteral","src":"338110:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"338116:2:21","nodeType":"YulIdentifier","src":"338116:2:21"}],"functionName":{"name":"writeString","nativeSrc":"338098:11:21","nodeType":"YulIdentifier","src":"338098:11:21"},"nativeSrc":"338098:21:21","nodeType":"YulFunctionCall","src":"338098:21:21"},"nativeSrc":"338098:21:21","nodeType":"YulExpressionStatement","src":"338098:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37486,"isOffset":false,"isSlot":false,"src":"337574:2:21","valueSize":1},{"declaration":37489,"isOffset":false,"isSlot":false,"src":"337604:2:21","valueSize":1},{"declaration":37492,"isOffset":false,"isSlot":false,"src":"337634:2:21","valueSize":1},{"declaration":37495,"isOffset":false,"isSlot":false,"src":"337664:2:21","valueSize":1},{"declaration":37498,"isOffset":false,"isSlot":false,"src":"337694:2:21","valueSize":1},{"declaration":37501,"isOffset":false,"isSlot":false,"src":"337724:2:21","valueSize":1},{"declaration":37504,"isOffset":false,"isSlot":false,"src":"337754:2:21","valueSize":1},{"declaration":37507,"isOffset":false,"isSlot":false,"src":"337784:2:21","valueSize":1},{"declaration":37510,"isOffset":false,"isSlot":false,"src":"337814:2:21","valueSize":1},{"declaration":37476,"isOffset":false,"isSlot":false,"src":"338082:2:21","valueSize":1},{"declaration":37478,"isOffset":false,"isSlot":false,"src":"337988:2:21","valueSize":1},{"declaration":37480,"isOffset":false,"isSlot":false,"src":"338017:2:21","valueSize":1},{"declaration":37482,"isOffset":false,"isSlot":false,"src":"338116:2:21","valueSize":1}],"id":37512,"nodeType":"InlineAssembly","src":"337196:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"338154:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"338160:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37513,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"338138:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"338138:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37517,"nodeType":"ExpressionStatement","src":"338138:28:21"},{"AST":{"nativeSrc":"338228:273:21","nodeType":"YulBlock","src":"338228:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"338249:4:21","nodeType":"YulLiteral","src":"338249:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"338255:2:21","nodeType":"YulIdentifier","src":"338255:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338242:6:21","nodeType":"YulIdentifier","src":"338242:6:21"},"nativeSrc":"338242:16:21","nodeType":"YulFunctionCall","src":"338242:16:21"},"nativeSrc":"338242:16:21","nodeType":"YulExpressionStatement","src":"338242:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338278:4:21","nodeType":"YulLiteral","src":"338278:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"338284:2:21","nodeType":"YulIdentifier","src":"338284:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338271:6:21","nodeType":"YulIdentifier","src":"338271:6:21"},"nativeSrc":"338271:16:21","nodeType":"YulFunctionCall","src":"338271:16:21"},"nativeSrc":"338271:16:21","nodeType":"YulExpressionStatement","src":"338271:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338307:4:21","nodeType":"YulLiteral","src":"338307:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"338313:2:21","nodeType":"YulIdentifier","src":"338313:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338300:6:21","nodeType":"YulIdentifier","src":"338300:6:21"},"nativeSrc":"338300:16:21","nodeType":"YulFunctionCall","src":"338300:16:21"},"nativeSrc":"338300:16:21","nodeType":"YulExpressionStatement","src":"338300:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338336:4:21","nodeType":"YulLiteral","src":"338336:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"338342:2:21","nodeType":"YulIdentifier","src":"338342:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338329:6:21","nodeType":"YulIdentifier","src":"338329:6:21"},"nativeSrc":"338329:16:21","nodeType":"YulFunctionCall","src":"338329:16:21"},"nativeSrc":"338329:16:21","nodeType":"YulExpressionStatement","src":"338329:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338365:4:21","nodeType":"YulLiteral","src":"338365:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"338371:2:21","nodeType":"YulIdentifier","src":"338371:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338358:6:21","nodeType":"YulIdentifier","src":"338358:6:21"},"nativeSrc":"338358:16:21","nodeType":"YulFunctionCall","src":"338358:16:21"},"nativeSrc":"338358:16:21","nodeType":"YulExpressionStatement","src":"338358:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338394:4:21","nodeType":"YulLiteral","src":"338394:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"338400:2:21","nodeType":"YulIdentifier","src":"338400:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338387:6:21","nodeType":"YulIdentifier","src":"338387:6:21"},"nativeSrc":"338387:16:21","nodeType":"YulFunctionCall","src":"338387:16:21"},"nativeSrc":"338387:16:21","nodeType":"YulExpressionStatement","src":"338387:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338423:4:21","nodeType":"YulLiteral","src":"338423:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"338429:2:21","nodeType":"YulIdentifier","src":"338429:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338416:6:21","nodeType":"YulIdentifier","src":"338416:6:21"},"nativeSrc":"338416:16:21","nodeType":"YulFunctionCall","src":"338416:16:21"},"nativeSrc":"338416:16:21","nodeType":"YulExpressionStatement","src":"338416:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338452:4:21","nodeType":"YulLiteral","src":"338452:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"338458:2:21","nodeType":"YulIdentifier","src":"338458:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338445:6:21","nodeType":"YulIdentifier","src":"338445:6:21"},"nativeSrc":"338445:16:21","nodeType":"YulFunctionCall","src":"338445:16:21"},"nativeSrc":"338445:16:21","nodeType":"YulExpressionStatement","src":"338445:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338481:5:21","nodeType":"YulLiteral","src":"338481:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"338488:2:21","nodeType":"YulIdentifier","src":"338488:2:21"}],"functionName":{"name":"mstore","nativeSrc":"338474:6:21","nodeType":"YulIdentifier","src":"338474:6:21"},"nativeSrc":"338474:17:21","nodeType":"YulFunctionCall","src":"338474:17:21"},"nativeSrc":"338474:17:21","nodeType":"YulExpressionStatement","src":"338474:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37486,"isOffset":false,"isSlot":false,"src":"338255:2:21","valueSize":1},{"declaration":37489,"isOffset":false,"isSlot":false,"src":"338284:2:21","valueSize":1},{"declaration":37492,"isOffset":false,"isSlot":false,"src":"338313:2:21","valueSize":1},{"declaration":37495,"isOffset":false,"isSlot":false,"src":"338342:2:21","valueSize":1},{"declaration":37498,"isOffset":false,"isSlot":false,"src":"338371:2:21","valueSize":1},{"declaration":37501,"isOffset":false,"isSlot":false,"src":"338400:2:21","valueSize":1},{"declaration":37504,"isOffset":false,"isSlot":false,"src":"338429:2:21","valueSize":1},{"declaration":37507,"isOffset":false,"isSlot":false,"src":"338458:2:21","valueSize":1},{"declaration":37510,"isOffset":false,"isSlot":false,"src":"338488:2:21","valueSize":1}],"id":37518,"nodeType":"InlineAssembly","src":"338219:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"336900:3:21","parameters":{"id":37483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37476,"mutability":"mutable","name":"p0","nameLocation":"336912:2:21","nodeType":"VariableDeclaration","scope":37520,"src":"336904:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336904:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37478,"mutability":"mutable","name":"p1","nameLocation":"336924:2:21","nodeType":"VariableDeclaration","scope":37520,"src":"336916:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37477,"name":"address","nodeType":"ElementaryTypeName","src":"336916:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37480,"mutability":"mutable","name":"p2","nameLocation":"336933:2:21","nodeType":"VariableDeclaration","scope":37520,"src":"336928:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37479,"name":"bool","nodeType":"ElementaryTypeName","src":"336928:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37482,"mutability":"mutable","name":"p3","nameLocation":"336945:2:21","nodeType":"VariableDeclaration","scope":37520,"src":"336937:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336937:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"336903:45:21"},"returnParameters":{"id":37484,"nodeType":"ParameterList","parameters":[],"src":"336963:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37560,"nodeType":"FunctionDefinition","src":"338513:1426:21","nodes":[],"body":{"id":37559,"nodeType":"Block","src":"338588:1351:21","nodes":[],"statements":[{"assignments":[37532],"declarations":[{"constant":false,"id":37532,"mutability":"mutable","name":"m0","nameLocation":"338606:2:21","nodeType":"VariableDeclaration","scope":37559,"src":"338598:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338598:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37533,"nodeType":"VariableDeclarationStatement","src":"338598:10:21"},{"assignments":[37535],"declarations":[{"constant":false,"id":37535,"mutability":"mutable","name":"m1","nameLocation":"338626:2:21","nodeType":"VariableDeclaration","scope":37559,"src":"338618:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37534,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338618:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37536,"nodeType":"VariableDeclarationStatement","src":"338618:10:21"},{"assignments":[37538],"declarations":[{"constant":false,"id":37538,"mutability":"mutable","name":"m2","nameLocation":"338646:2:21","nodeType":"VariableDeclaration","scope":37559,"src":"338638:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338638:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37539,"nodeType":"VariableDeclarationStatement","src":"338638:10:21"},{"assignments":[37541],"declarations":[{"constant":false,"id":37541,"mutability":"mutable","name":"m3","nameLocation":"338666:2:21","nodeType":"VariableDeclaration","scope":37559,"src":"338658:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338658:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37542,"nodeType":"VariableDeclarationStatement","src":"338658:10:21"},{"assignments":[37544],"declarations":[{"constant":false,"id":37544,"mutability":"mutable","name":"m4","nameLocation":"338686:2:21","nodeType":"VariableDeclaration","scope":37559,"src":"338678:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37543,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338678:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37545,"nodeType":"VariableDeclarationStatement","src":"338678:10:21"},{"assignments":[37547],"declarations":[{"constant":false,"id":37547,"mutability":"mutable","name":"m5","nameLocation":"338706:2:21","nodeType":"VariableDeclaration","scope":37559,"src":"338698:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37546,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338698:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37548,"nodeType":"VariableDeclarationStatement","src":"338698:10:21"},{"assignments":[37550],"declarations":[{"constant":false,"id":37550,"mutability":"mutable","name":"m6","nameLocation":"338726:2:21","nodeType":"VariableDeclaration","scope":37559,"src":"338718:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37549,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338718:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37551,"nodeType":"VariableDeclarationStatement","src":"338718:10:21"},{"AST":{"nativeSrc":"338790:831:21","nodeType":"YulBlock","src":"338790:831:21","statements":[{"body":{"nativeSrc":"338833:313:21","nodeType":"YulBlock","src":"338833:313:21","statements":[{"nativeSrc":"338851:15:21","nodeType":"YulVariableDeclaration","src":"338851:15:21","value":{"kind":"number","nativeSrc":"338865:1:21","nodeType":"YulLiteral","src":"338865:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"338855:6:21","nodeType":"YulTypedName","src":"338855:6:21","type":""}]},{"body":{"nativeSrc":"338936:40:21","nodeType":"YulBlock","src":"338936:40:21","statements":[{"body":{"nativeSrc":"338965:9:21","nodeType":"YulBlock","src":"338965:9:21","statements":[{"nativeSrc":"338967:5:21","nodeType":"YulBreak","src":"338967:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"338953:6:21","nodeType":"YulIdentifier","src":"338953:6:21"},{"name":"w","nativeSrc":"338961:1:21","nodeType":"YulIdentifier","src":"338961:1:21"}],"functionName":{"name":"byte","nativeSrc":"338948:4:21","nodeType":"YulIdentifier","src":"338948:4:21"},"nativeSrc":"338948:15:21","nodeType":"YulFunctionCall","src":"338948:15:21"}],"functionName":{"name":"iszero","nativeSrc":"338941:6:21","nodeType":"YulIdentifier","src":"338941:6:21"},"nativeSrc":"338941:23:21","nodeType":"YulFunctionCall","src":"338941:23:21"},"nativeSrc":"338938:36:21","nodeType":"YulIf","src":"338938:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"338893:6:21","nodeType":"YulIdentifier","src":"338893:6:21"},{"kind":"number","nativeSrc":"338901:4:21","nodeType":"YulLiteral","src":"338901:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"338890:2:21","nodeType":"YulIdentifier","src":"338890:2:21"},"nativeSrc":"338890:16:21","nodeType":"YulFunctionCall","src":"338890:16:21"},"nativeSrc":"338883:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"338907:28:21","nodeType":"YulBlock","src":"338907:28:21","statements":[{"nativeSrc":"338909:24:21","nodeType":"YulAssignment","src":"338909:24:21","value":{"arguments":[{"name":"length","nativeSrc":"338923:6:21","nodeType":"YulIdentifier","src":"338923:6:21"},{"kind":"number","nativeSrc":"338931:1:21","nodeType":"YulLiteral","src":"338931:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"338919:3:21","nodeType":"YulIdentifier","src":"338919:3:21"},"nativeSrc":"338919:14:21","nodeType":"YulFunctionCall","src":"338919:14:21"},"variableNames":[{"name":"length","nativeSrc":"338909:6:21","nodeType":"YulIdentifier","src":"338909:6:21"}]}]},"pre":{"nativeSrc":"338887:2:21","nodeType":"YulBlock","src":"338887:2:21","statements":[]},"src":"338883:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"339000:3:21","nodeType":"YulIdentifier","src":"339000:3:21"},{"name":"length","nativeSrc":"339005:6:21","nodeType":"YulIdentifier","src":"339005:6:21"}],"functionName":{"name":"mstore","nativeSrc":"338993:6:21","nodeType":"YulIdentifier","src":"338993:6:21"},"nativeSrc":"338993:19:21","nodeType":"YulFunctionCall","src":"338993:19:21"},"nativeSrc":"338993:19:21","nodeType":"YulExpressionStatement","src":"338993:19:21"},{"nativeSrc":"339029:37:21","nodeType":"YulVariableDeclaration","src":"339029:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"339046:3:21","nodeType":"YulLiteral","src":"339046:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"339055:1:21","nodeType":"YulLiteral","src":"339055:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"339058:6:21","nodeType":"YulIdentifier","src":"339058:6:21"}],"functionName":{"name":"shl","nativeSrc":"339051:3:21","nodeType":"YulIdentifier","src":"339051:3:21"},"nativeSrc":"339051:14:21","nodeType":"YulFunctionCall","src":"339051:14:21"}],"functionName":{"name":"sub","nativeSrc":"339042:3:21","nodeType":"YulIdentifier","src":"339042:3:21"},"nativeSrc":"339042:24:21","nodeType":"YulFunctionCall","src":"339042:24:21"},"variables":[{"name":"shift","nativeSrc":"339033:5:21","nodeType":"YulTypedName","src":"339033:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"339094:3:21","nodeType":"YulIdentifier","src":"339094:3:21"},{"kind":"number","nativeSrc":"339099:4:21","nodeType":"YulLiteral","src":"339099:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"339090:3:21","nodeType":"YulIdentifier","src":"339090:3:21"},"nativeSrc":"339090:14:21","nodeType":"YulFunctionCall","src":"339090:14:21"},{"arguments":[{"name":"shift","nativeSrc":"339110:5:21","nodeType":"YulIdentifier","src":"339110:5:21"},{"arguments":[{"name":"shift","nativeSrc":"339121:5:21","nodeType":"YulIdentifier","src":"339121:5:21"},{"name":"w","nativeSrc":"339128:1:21","nodeType":"YulIdentifier","src":"339128:1:21"}],"functionName":{"name":"shr","nativeSrc":"339117:3:21","nodeType":"YulIdentifier","src":"339117:3:21"},"nativeSrc":"339117:13:21","nodeType":"YulFunctionCall","src":"339117:13:21"}],"functionName":{"name":"shl","nativeSrc":"339106:3:21","nodeType":"YulIdentifier","src":"339106:3:21"},"nativeSrc":"339106:25:21","nodeType":"YulFunctionCall","src":"339106:25:21"}],"functionName":{"name":"mstore","nativeSrc":"339083:6:21","nodeType":"YulIdentifier","src":"339083:6:21"},"nativeSrc":"339083:49:21","nodeType":"YulFunctionCall","src":"339083:49:21"},"nativeSrc":"339083:49:21","nodeType":"YulExpressionStatement","src":"339083:49:21"}]},"name":"writeString","nativeSrc":"338804:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"338825:3:21","nodeType":"YulTypedName","src":"338825:3:21","type":""},{"name":"w","nativeSrc":"338830:1:21","nodeType":"YulTypedName","src":"338830:1:21","type":""}],"src":"338804:342:21"},{"nativeSrc":"339159:17:21","nodeType":"YulAssignment","src":"339159:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"339171:4:21","nodeType":"YulLiteral","src":"339171:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"339165:5:21","nodeType":"YulIdentifier","src":"339165:5:21"},"nativeSrc":"339165:11:21","nodeType":"YulFunctionCall","src":"339165:11:21"},"variableNames":[{"name":"m0","nativeSrc":"339159:2:21","nodeType":"YulIdentifier","src":"339159:2:21"}]},{"nativeSrc":"339189:17:21","nodeType":"YulAssignment","src":"339189:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"339201:4:21","nodeType":"YulLiteral","src":"339201:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"339195:5:21","nodeType":"YulIdentifier","src":"339195:5:21"},"nativeSrc":"339195:11:21","nodeType":"YulFunctionCall","src":"339195:11:21"},"variableNames":[{"name":"m1","nativeSrc":"339189:2:21","nodeType":"YulIdentifier","src":"339189:2:21"}]},{"nativeSrc":"339219:17:21","nodeType":"YulAssignment","src":"339219:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"339231:4:21","nodeType":"YulLiteral","src":"339231:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"339225:5:21","nodeType":"YulIdentifier","src":"339225:5:21"},"nativeSrc":"339225:11:21","nodeType":"YulFunctionCall","src":"339225:11:21"},"variableNames":[{"name":"m2","nativeSrc":"339219:2:21","nodeType":"YulIdentifier","src":"339219:2:21"}]},{"nativeSrc":"339249:17:21","nodeType":"YulAssignment","src":"339249:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"339261:4:21","nodeType":"YulLiteral","src":"339261:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"339255:5:21","nodeType":"YulIdentifier","src":"339255:5:21"},"nativeSrc":"339255:11:21","nodeType":"YulFunctionCall","src":"339255:11:21"},"variableNames":[{"name":"m3","nativeSrc":"339249:2:21","nodeType":"YulIdentifier","src":"339249:2:21"}]},{"nativeSrc":"339279:17:21","nodeType":"YulAssignment","src":"339279:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"339291:4:21","nodeType":"YulLiteral","src":"339291:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"339285:5:21","nodeType":"YulIdentifier","src":"339285:5:21"},"nativeSrc":"339285:11:21","nodeType":"YulFunctionCall","src":"339285:11:21"},"variableNames":[{"name":"m4","nativeSrc":"339279:2:21","nodeType":"YulIdentifier","src":"339279:2:21"}]},{"nativeSrc":"339309:17:21","nodeType":"YulAssignment","src":"339309:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"339321:4:21","nodeType":"YulLiteral","src":"339321:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"339315:5:21","nodeType":"YulIdentifier","src":"339315:5:21"},"nativeSrc":"339315:11:21","nodeType":"YulFunctionCall","src":"339315:11:21"},"variableNames":[{"name":"m5","nativeSrc":"339309:2:21","nodeType":"YulIdentifier","src":"339309:2:21"}]},{"nativeSrc":"339339:17:21","nodeType":"YulAssignment","src":"339339:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"339351:4:21","nodeType":"YulLiteral","src":"339351:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"339345:5:21","nodeType":"YulIdentifier","src":"339345:5:21"},"nativeSrc":"339345:11:21","nodeType":"YulFunctionCall","src":"339345:11:21"},"variableNames":[{"name":"m6","nativeSrc":"339339:2:21","nodeType":"YulIdentifier","src":"339339:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339442:4:21","nodeType":"YulLiteral","src":"339442:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"339448:10:21","nodeType":"YulLiteral","src":"339448:10:21","type":"","value":"0x63fb8bc5"}],"functionName":{"name":"mstore","nativeSrc":"339435:6:21","nodeType":"YulIdentifier","src":"339435:6:21"},"nativeSrc":"339435:24:21","nodeType":"YulFunctionCall","src":"339435:24:21"},"nativeSrc":"339435:24:21","nodeType":"YulExpressionStatement","src":"339435:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339479:4:21","nodeType":"YulLiteral","src":"339479:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"339485:4:21","nodeType":"YulLiteral","src":"339485:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"339472:6:21","nodeType":"YulIdentifier","src":"339472:6:21"},"nativeSrc":"339472:18:21","nodeType":"YulFunctionCall","src":"339472:18:21"},"nativeSrc":"339472:18:21","nodeType":"YulExpressionStatement","src":"339472:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339510:4:21","nodeType":"YulLiteral","src":"339510:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"339516:2:21","nodeType":"YulIdentifier","src":"339516:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339503:6:21","nodeType":"YulIdentifier","src":"339503:6:21"},"nativeSrc":"339503:16:21","nodeType":"YulFunctionCall","src":"339503:16:21"},"nativeSrc":"339503:16:21","nodeType":"YulExpressionStatement","src":"339503:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339539:4:21","nodeType":"YulLiteral","src":"339539:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"339545:2:21","nodeType":"YulIdentifier","src":"339545:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339532:6:21","nodeType":"YulIdentifier","src":"339532:6:21"},"nativeSrc":"339532:16:21","nodeType":"YulFunctionCall","src":"339532:16:21"},"nativeSrc":"339532:16:21","nodeType":"YulExpressionStatement","src":"339532:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339568:4:21","nodeType":"YulLiteral","src":"339568:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"339574:2:21","nodeType":"YulIdentifier","src":"339574:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339561:6:21","nodeType":"YulIdentifier","src":"339561:6:21"},"nativeSrc":"339561:16:21","nodeType":"YulFunctionCall","src":"339561:16:21"},"nativeSrc":"339561:16:21","nodeType":"YulExpressionStatement","src":"339561:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339602:4:21","nodeType":"YulLiteral","src":"339602:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"339608:2:21","nodeType":"YulIdentifier","src":"339608:2:21"}],"functionName":{"name":"writeString","nativeSrc":"339590:11:21","nodeType":"YulIdentifier","src":"339590:11:21"},"nativeSrc":"339590:21:21","nodeType":"YulFunctionCall","src":"339590:21:21"},"nativeSrc":"339590:21:21","nodeType":"YulExpressionStatement","src":"339590:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37532,"isOffset":false,"isSlot":false,"src":"339159:2:21","valueSize":1},{"declaration":37535,"isOffset":false,"isSlot":false,"src":"339189:2:21","valueSize":1},{"declaration":37538,"isOffset":false,"isSlot":false,"src":"339219:2:21","valueSize":1},{"declaration":37541,"isOffset":false,"isSlot":false,"src":"339249:2:21","valueSize":1},{"declaration":37544,"isOffset":false,"isSlot":false,"src":"339279:2:21","valueSize":1},{"declaration":37547,"isOffset":false,"isSlot":false,"src":"339309:2:21","valueSize":1},{"declaration":37550,"isOffset":false,"isSlot":false,"src":"339339:2:21","valueSize":1},{"declaration":37522,"isOffset":false,"isSlot":false,"src":"339608:2:21","valueSize":1},{"declaration":37524,"isOffset":false,"isSlot":false,"src":"339516:2:21","valueSize":1},{"declaration":37526,"isOffset":false,"isSlot":false,"src":"339545:2:21","valueSize":1},{"declaration":37528,"isOffset":false,"isSlot":false,"src":"339574:2:21","valueSize":1}],"id":37552,"nodeType":"InlineAssembly","src":"338781:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"339646:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"339652:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37553,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"339630:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"339630:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37557,"nodeType":"ExpressionStatement","src":"339630:27:21"},{"AST":{"nativeSrc":"339719:214:21","nodeType":"YulBlock","src":"339719:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"339740:4:21","nodeType":"YulLiteral","src":"339740:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"339746:2:21","nodeType":"YulIdentifier","src":"339746:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339733:6:21","nodeType":"YulIdentifier","src":"339733:6:21"},"nativeSrc":"339733:16:21","nodeType":"YulFunctionCall","src":"339733:16:21"},"nativeSrc":"339733:16:21","nodeType":"YulExpressionStatement","src":"339733:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339769:4:21","nodeType":"YulLiteral","src":"339769:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"339775:2:21","nodeType":"YulIdentifier","src":"339775:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339762:6:21","nodeType":"YulIdentifier","src":"339762:6:21"},"nativeSrc":"339762:16:21","nodeType":"YulFunctionCall","src":"339762:16:21"},"nativeSrc":"339762:16:21","nodeType":"YulExpressionStatement","src":"339762:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339798:4:21","nodeType":"YulLiteral","src":"339798:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"339804:2:21","nodeType":"YulIdentifier","src":"339804:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339791:6:21","nodeType":"YulIdentifier","src":"339791:6:21"},"nativeSrc":"339791:16:21","nodeType":"YulFunctionCall","src":"339791:16:21"},"nativeSrc":"339791:16:21","nodeType":"YulExpressionStatement","src":"339791:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339827:4:21","nodeType":"YulLiteral","src":"339827:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"339833:2:21","nodeType":"YulIdentifier","src":"339833:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339820:6:21","nodeType":"YulIdentifier","src":"339820:6:21"},"nativeSrc":"339820:16:21","nodeType":"YulFunctionCall","src":"339820:16:21"},"nativeSrc":"339820:16:21","nodeType":"YulExpressionStatement","src":"339820:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339856:4:21","nodeType":"YulLiteral","src":"339856:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"339862:2:21","nodeType":"YulIdentifier","src":"339862:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339849:6:21","nodeType":"YulIdentifier","src":"339849:6:21"},"nativeSrc":"339849:16:21","nodeType":"YulFunctionCall","src":"339849:16:21"},"nativeSrc":"339849:16:21","nodeType":"YulExpressionStatement","src":"339849:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339885:4:21","nodeType":"YulLiteral","src":"339885:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"339891:2:21","nodeType":"YulIdentifier","src":"339891:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339878:6:21","nodeType":"YulIdentifier","src":"339878:6:21"},"nativeSrc":"339878:16:21","nodeType":"YulFunctionCall","src":"339878:16:21"},"nativeSrc":"339878:16:21","nodeType":"YulExpressionStatement","src":"339878:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339914:4:21","nodeType":"YulLiteral","src":"339914:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"339920:2:21","nodeType":"YulIdentifier","src":"339920:2:21"}],"functionName":{"name":"mstore","nativeSrc":"339907:6:21","nodeType":"YulIdentifier","src":"339907:6:21"},"nativeSrc":"339907:16:21","nodeType":"YulFunctionCall","src":"339907:16:21"},"nativeSrc":"339907:16:21","nodeType":"YulExpressionStatement","src":"339907:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37532,"isOffset":false,"isSlot":false,"src":"339746:2:21","valueSize":1},{"declaration":37535,"isOffset":false,"isSlot":false,"src":"339775:2:21","valueSize":1},{"declaration":37538,"isOffset":false,"isSlot":false,"src":"339804:2:21","valueSize":1},{"declaration":37541,"isOffset":false,"isSlot":false,"src":"339833:2:21","valueSize":1},{"declaration":37544,"isOffset":false,"isSlot":false,"src":"339862:2:21","valueSize":1},{"declaration":37547,"isOffset":false,"isSlot":false,"src":"339891:2:21","valueSize":1},{"declaration":37550,"isOffset":false,"isSlot":false,"src":"339920:2:21","valueSize":1}],"id":37558,"nodeType":"InlineAssembly","src":"339710:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"338522:3:21","parameters":{"id":37529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37522,"mutability":"mutable","name":"p0","nameLocation":"338534:2:21","nodeType":"VariableDeclaration","scope":37560,"src":"338526:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338526:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37524,"mutability":"mutable","name":"p1","nameLocation":"338546:2:21","nodeType":"VariableDeclaration","scope":37560,"src":"338538:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37523,"name":"address","nodeType":"ElementaryTypeName","src":"338538:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37526,"mutability":"mutable","name":"p2","nameLocation":"338558:2:21","nodeType":"VariableDeclaration","scope":37560,"src":"338550:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37525,"name":"uint256","nodeType":"ElementaryTypeName","src":"338550:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37528,"mutability":"mutable","name":"p3","nameLocation":"338570:2:21","nodeType":"VariableDeclaration","scope":37560,"src":"338562:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37527,"name":"address","nodeType":"ElementaryTypeName","src":"338562:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"338525:48:21"},"returnParameters":{"id":37530,"nodeType":"ParameterList","parameters":[],"src":"338588:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37600,"nodeType":"FunctionDefinition","src":"339945:1420:21","nodes":[],"body":{"id":37599,"nodeType":"Block","src":"340017:1348:21","nodes":[],"statements":[{"assignments":[37572],"declarations":[{"constant":false,"id":37572,"mutability":"mutable","name":"m0","nameLocation":"340035:2:21","nodeType":"VariableDeclaration","scope":37599,"src":"340027:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340027:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37573,"nodeType":"VariableDeclarationStatement","src":"340027:10:21"},{"assignments":[37575],"declarations":[{"constant":false,"id":37575,"mutability":"mutable","name":"m1","nameLocation":"340055:2:21","nodeType":"VariableDeclaration","scope":37599,"src":"340047:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340047:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37576,"nodeType":"VariableDeclarationStatement","src":"340047:10:21"},{"assignments":[37578],"declarations":[{"constant":false,"id":37578,"mutability":"mutable","name":"m2","nameLocation":"340075:2:21","nodeType":"VariableDeclaration","scope":37599,"src":"340067:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340067:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37579,"nodeType":"VariableDeclarationStatement","src":"340067:10:21"},{"assignments":[37581],"declarations":[{"constant":false,"id":37581,"mutability":"mutable","name":"m3","nameLocation":"340095:2:21","nodeType":"VariableDeclaration","scope":37599,"src":"340087:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340087:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37582,"nodeType":"VariableDeclarationStatement","src":"340087:10:21"},{"assignments":[37584],"declarations":[{"constant":false,"id":37584,"mutability":"mutable","name":"m4","nameLocation":"340115:2:21","nodeType":"VariableDeclaration","scope":37599,"src":"340107:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340107:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37585,"nodeType":"VariableDeclarationStatement","src":"340107:10:21"},{"assignments":[37587],"declarations":[{"constant":false,"id":37587,"mutability":"mutable","name":"m5","nameLocation":"340135:2:21","nodeType":"VariableDeclaration","scope":37599,"src":"340127:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340127:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37588,"nodeType":"VariableDeclarationStatement","src":"340127:10:21"},{"assignments":[37590],"declarations":[{"constant":false,"id":37590,"mutability":"mutable","name":"m6","nameLocation":"340155:2:21","nodeType":"VariableDeclaration","scope":37599,"src":"340147:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340147:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37591,"nodeType":"VariableDeclarationStatement","src":"340147:10:21"},{"AST":{"nativeSrc":"340219:828:21","nodeType":"YulBlock","src":"340219:828:21","statements":[{"body":{"nativeSrc":"340262:313:21","nodeType":"YulBlock","src":"340262:313:21","statements":[{"nativeSrc":"340280:15:21","nodeType":"YulVariableDeclaration","src":"340280:15:21","value":{"kind":"number","nativeSrc":"340294:1:21","nodeType":"YulLiteral","src":"340294:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"340284:6:21","nodeType":"YulTypedName","src":"340284:6:21","type":""}]},{"body":{"nativeSrc":"340365:40:21","nodeType":"YulBlock","src":"340365:40:21","statements":[{"body":{"nativeSrc":"340394:9:21","nodeType":"YulBlock","src":"340394:9:21","statements":[{"nativeSrc":"340396:5:21","nodeType":"YulBreak","src":"340396:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"340382:6:21","nodeType":"YulIdentifier","src":"340382:6:21"},{"name":"w","nativeSrc":"340390:1:21","nodeType":"YulIdentifier","src":"340390:1:21"}],"functionName":{"name":"byte","nativeSrc":"340377:4:21","nodeType":"YulIdentifier","src":"340377:4:21"},"nativeSrc":"340377:15:21","nodeType":"YulFunctionCall","src":"340377:15:21"}],"functionName":{"name":"iszero","nativeSrc":"340370:6:21","nodeType":"YulIdentifier","src":"340370:6:21"},"nativeSrc":"340370:23:21","nodeType":"YulFunctionCall","src":"340370:23:21"},"nativeSrc":"340367:36:21","nodeType":"YulIf","src":"340367:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"340322:6:21","nodeType":"YulIdentifier","src":"340322:6:21"},{"kind":"number","nativeSrc":"340330:4:21","nodeType":"YulLiteral","src":"340330:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"340319:2:21","nodeType":"YulIdentifier","src":"340319:2:21"},"nativeSrc":"340319:16:21","nodeType":"YulFunctionCall","src":"340319:16:21"},"nativeSrc":"340312:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"340336:28:21","nodeType":"YulBlock","src":"340336:28:21","statements":[{"nativeSrc":"340338:24:21","nodeType":"YulAssignment","src":"340338:24:21","value":{"arguments":[{"name":"length","nativeSrc":"340352:6:21","nodeType":"YulIdentifier","src":"340352:6:21"},{"kind":"number","nativeSrc":"340360:1:21","nodeType":"YulLiteral","src":"340360:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"340348:3:21","nodeType":"YulIdentifier","src":"340348:3:21"},"nativeSrc":"340348:14:21","nodeType":"YulFunctionCall","src":"340348:14:21"},"variableNames":[{"name":"length","nativeSrc":"340338:6:21","nodeType":"YulIdentifier","src":"340338:6:21"}]}]},"pre":{"nativeSrc":"340316:2:21","nodeType":"YulBlock","src":"340316:2:21","statements":[]},"src":"340312:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"340429:3:21","nodeType":"YulIdentifier","src":"340429:3:21"},{"name":"length","nativeSrc":"340434:6:21","nodeType":"YulIdentifier","src":"340434:6:21"}],"functionName":{"name":"mstore","nativeSrc":"340422:6:21","nodeType":"YulIdentifier","src":"340422:6:21"},"nativeSrc":"340422:19:21","nodeType":"YulFunctionCall","src":"340422:19:21"},"nativeSrc":"340422:19:21","nodeType":"YulExpressionStatement","src":"340422:19:21"},{"nativeSrc":"340458:37:21","nodeType":"YulVariableDeclaration","src":"340458:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"340475:3:21","nodeType":"YulLiteral","src":"340475:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"340484:1:21","nodeType":"YulLiteral","src":"340484:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"340487:6:21","nodeType":"YulIdentifier","src":"340487:6:21"}],"functionName":{"name":"shl","nativeSrc":"340480:3:21","nodeType":"YulIdentifier","src":"340480:3:21"},"nativeSrc":"340480:14:21","nodeType":"YulFunctionCall","src":"340480:14:21"}],"functionName":{"name":"sub","nativeSrc":"340471:3:21","nodeType":"YulIdentifier","src":"340471:3:21"},"nativeSrc":"340471:24:21","nodeType":"YulFunctionCall","src":"340471:24:21"},"variables":[{"name":"shift","nativeSrc":"340462:5:21","nodeType":"YulTypedName","src":"340462:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"340523:3:21","nodeType":"YulIdentifier","src":"340523:3:21"},{"kind":"number","nativeSrc":"340528:4:21","nodeType":"YulLiteral","src":"340528:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"340519:3:21","nodeType":"YulIdentifier","src":"340519:3:21"},"nativeSrc":"340519:14:21","nodeType":"YulFunctionCall","src":"340519:14:21"},{"arguments":[{"name":"shift","nativeSrc":"340539:5:21","nodeType":"YulIdentifier","src":"340539:5:21"},{"arguments":[{"name":"shift","nativeSrc":"340550:5:21","nodeType":"YulIdentifier","src":"340550:5:21"},{"name":"w","nativeSrc":"340557:1:21","nodeType":"YulIdentifier","src":"340557:1:21"}],"functionName":{"name":"shr","nativeSrc":"340546:3:21","nodeType":"YulIdentifier","src":"340546:3:21"},"nativeSrc":"340546:13:21","nodeType":"YulFunctionCall","src":"340546:13:21"}],"functionName":{"name":"shl","nativeSrc":"340535:3:21","nodeType":"YulIdentifier","src":"340535:3:21"},"nativeSrc":"340535:25:21","nodeType":"YulFunctionCall","src":"340535:25:21"}],"functionName":{"name":"mstore","nativeSrc":"340512:6:21","nodeType":"YulIdentifier","src":"340512:6:21"},"nativeSrc":"340512:49:21","nodeType":"YulFunctionCall","src":"340512:49:21"},"nativeSrc":"340512:49:21","nodeType":"YulExpressionStatement","src":"340512:49:21"}]},"name":"writeString","nativeSrc":"340233:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"340254:3:21","nodeType":"YulTypedName","src":"340254:3:21","type":""},{"name":"w","nativeSrc":"340259:1:21","nodeType":"YulTypedName","src":"340259:1:21","type":""}],"src":"340233:342:21"},{"nativeSrc":"340588:17:21","nodeType":"YulAssignment","src":"340588:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"340600:4:21","nodeType":"YulLiteral","src":"340600:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"340594:5:21","nodeType":"YulIdentifier","src":"340594:5:21"},"nativeSrc":"340594:11:21","nodeType":"YulFunctionCall","src":"340594:11:21"},"variableNames":[{"name":"m0","nativeSrc":"340588:2:21","nodeType":"YulIdentifier","src":"340588:2:21"}]},{"nativeSrc":"340618:17:21","nodeType":"YulAssignment","src":"340618:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"340630:4:21","nodeType":"YulLiteral","src":"340630:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"340624:5:21","nodeType":"YulIdentifier","src":"340624:5:21"},"nativeSrc":"340624:11:21","nodeType":"YulFunctionCall","src":"340624:11:21"},"variableNames":[{"name":"m1","nativeSrc":"340618:2:21","nodeType":"YulIdentifier","src":"340618:2:21"}]},{"nativeSrc":"340648:17:21","nodeType":"YulAssignment","src":"340648:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"340660:4:21","nodeType":"YulLiteral","src":"340660:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"340654:5:21","nodeType":"YulIdentifier","src":"340654:5:21"},"nativeSrc":"340654:11:21","nodeType":"YulFunctionCall","src":"340654:11:21"},"variableNames":[{"name":"m2","nativeSrc":"340648:2:21","nodeType":"YulIdentifier","src":"340648:2:21"}]},{"nativeSrc":"340678:17:21","nodeType":"YulAssignment","src":"340678:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"340690:4:21","nodeType":"YulLiteral","src":"340690:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"340684:5:21","nodeType":"YulIdentifier","src":"340684:5:21"},"nativeSrc":"340684:11:21","nodeType":"YulFunctionCall","src":"340684:11:21"},"variableNames":[{"name":"m3","nativeSrc":"340678:2:21","nodeType":"YulIdentifier","src":"340678:2:21"}]},{"nativeSrc":"340708:17:21","nodeType":"YulAssignment","src":"340708:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"340720:4:21","nodeType":"YulLiteral","src":"340720:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"340714:5:21","nodeType":"YulIdentifier","src":"340714:5:21"},"nativeSrc":"340714:11:21","nodeType":"YulFunctionCall","src":"340714:11:21"},"variableNames":[{"name":"m4","nativeSrc":"340708:2:21","nodeType":"YulIdentifier","src":"340708:2:21"}]},{"nativeSrc":"340738:17:21","nodeType":"YulAssignment","src":"340738:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"340750:4:21","nodeType":"YulLiteral","src":"340750:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"340744:5:21","nodeType":"YulIdentifier","src":"340744:5:21"},"nativeSrc":"340744:11:21","nodeType":"YulFunctionCall","src":"340744:11:21"},"variableNames":[{"name":"m5","nativeSrc":"340738:2:21","nodeType":"YulIdentifier","src":"340738:2:21"}]},{"nativeSrc":"340768:17:21","nodeType":"YulAssignment","src":"340768:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"340780:4:21","nodeType":"YulLiteral","src":"340780:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"340774:5:21","nodeType":"YulIdentifier","src":"340774:5:21"},"nativeSrc":"340774:11:21","nodeType":"YulFunctionCall","src":"340774:11:21"},"variableNames":[{"name":"m6","nativeSrc":"340768:2:21","nodeType":"YulIdentifier","src":"340768:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340868:4:21","nodeType":"YulLiteral","src":"340868:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"340874:10:21","nodeType":"YulLiteral","src":"340874:10:21","type":"","value":"0xfc4845f0"}],"functionName":{"name":"mstore","nativeSrc":"340861:6:21","nodeType":"YulIdentifier","src":"340861:6:21"},"nativeSrc":"340861:24:21","nodeType":"YulFunctionCall","src":"340861:24:21"},"nativeSrc":"340861:24:21","nodeType":"YulExpressionStatement","src":"340861:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340905:4:21","nodeType":"YulLiteral","src":"340905:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"340911:4:21","nodeType":"YulLiteral","src":"340911:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"340898:6:21","nodeType":"YulIdentifier","src":"340898:6:21"},"nativeSrc":"340898:18:21","nodeType":"YulFunctionCall","src":"340898:18:21"},"nativeSrc":"340898:18:21","nodeType":"YulExpressionStatement","src":"340898:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340936:4:21","nodeType":"YulLiteral","src":"340936:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"340942:2:21","nodeType":"YulIdentifier","src":"340942:2:21"}],"functionName":{"name":"mstore","nativeSrc":"340929:6:21","nodeType":"YulIdentifier","src":"340929:6:21"},"nativeSrc":"340929:16:21","nodeType":"YulFunctionCall","src":"340929:16:21"},"nativeSrc":"340929:16:21","nodeType":"YulExpressionStatement","src":"340929:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340965:4:21","nodeType":"YulLiteral","src":"340965:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"340971:2:21","nodeType":"YulIdentifier","src":"340971:2:21"}],"functionName":{"name":"mstore","nativeSrc":"340958:6:21","nodeType":"YulIdentifier","src":"340958:6:21"},"nativeSrc":"340958:16:21","nodeType":"YulFunctionCall","src":"340958:16:21"},"nativeSrc":"340958:16:21","nodeType":"YulExpressionStatement","src":"340958:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340994:4:21","nodeType":"YulLiteral","src":"340994:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"341000:2:21","nodeType":"YulIdentifier","src":"341000:2:21"}],"functionName":{"name":"mstore","nativeSrc":"340987:6:21","nodeType":"YulIdentifier","src":"340987:6:21"},"nativeSrc":"340987:16:21","nodeType":"YulFunctionCall","src":"340987:16:21"},"nativeSrc":"340987:16:21","nodeType":"YulExpressionStatement","src":"340987:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341028:4:21","nodeType":"YulLiteral","src":"341028:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"341034:2:21","nodeType":"YulIdentifier","src":"341034:2:21"}],"functionName":{"name":"writeString","nativeSrc":"341016:11:21","nodeType":"YulIdentifier","src":"341016:11:21"},"nativeSrc":"341016:21:21","nodeType":"YulFunctionCall","src":"341016:21:21"},"nativeSrc":"341016:21:21","nodeType":"YulExpressionStatement","src":"341016:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37572,"isOffset":false,"isSlot":false,"src":"340588:2:21","valueSize":1},{"declaration":37575,"isOffset":false,"isSlot":false,"src":"340618:2:21","valueSize":1},{"declaration":37578,"isOffset":false,"isSlot":false,"src":"340648:2:21","valueSize":1},{"declaration":37581,"isOffset":false,"isSlot":false,"src":"340678:2:21","valueSize":1},{"declaration":37584,"isOffset":false,"isSlot":false,"src":"340708:2:21","valueSize":1},{"declaration":37587,"isOffset":false,"isSlot":false,"src":"340738:2:21","valueSize":1},{"declaration":37590,"isOffset":false,"isSlot":false,"src":"340768:2:21","valueSize":1},{"declaration":37562,"isOffset":false,"isSlot":false,"src":"341034:2:21","valueSize":1},{"declaration":37564,"isOffset":false,"isSlot":false,"src":"340942:2:21","valueSize":1},{"declaration":37566,"isOffset":false,"isSlot":false,"src":"340971:2:21","valueSize":1},{"declaration":37568,"isOffset":false,"isSlot":false,"src":"341000:2:21","valueSize":1}],"id":37592,"nodeType":"InlineAssembly","src":"340210:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"341072:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"341078:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37593,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"341056:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"341056:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37597,"nodeType":"ExpressionStatement","src":"341056:27:21"},{"AST":{"nativeSrc":"341145:214:21","nodeType":"YulBlock","src":"341145:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"341166:4:21","nodeType":"YulLiteral","src":"341166:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"341172:2:21","nodeType":"YulIdentifier","src":"341172:2:21"}],"functionName":{"name":"mstore","nativeSrc":"341159:6:21","nodeType":"YulIdentifier","src":"341159:6:21"},"nativeSrc":"341159:16:21","nodeType":"YulFunctionCall","src":"341159:16:21"},"nativeSrc":"341159:16:21","nodeType":"YulExpressionStatement","src":"341159:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341195:4:21","nodeType":"YulLiteral","src":"341195:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"341201:2:21","nodeType":"YulIdentifier","src":"341201:2:21"}],"functionName":{"name":"mstore","nativeSrc":"341188:6:21","nodeType":"YulIdentifier","src":"341188:6:21"},"nativeSrc":"341188:16:21","nodeType":"YulFunctionCall","src":"341188:16:21"},"nativeSrc":"341188:16:21","nodeType":"YulExpressionStatement","src":"341188:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341224:4:21","nodeType":"YulLiteral","src":"341224:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"341230:2:21","nodeType":"YulIdentifier","src":"341230:2:21"}],"functionName":{"name":"mstore","nativeSrc":"341217:6:21","nodeType":"YulIdentifier","src":"341217:6:21"},"nativeSrc":"341217:16:21","nodeType":"YulFunctionCall","src":"341217:16:21"},"nativeSrc":"341217:16:21","nodeType":"YulExpressionStatement","src":"341217:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341253:4:21","nodeType":"YulLiteral","src":"341253:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"341259:2:21","nodeType":"YulIdentifier","src":"341259:2:21"}],"functionName":{"name":"mstore","nativeSrc":"341246:6:21","nodeType":"YulIdentifier","src":"341246:6:21"},"nativeSrc":"341246:16:21","nodeType":"YulFunctionCall","src":"341246:16:21"},"nativeSrc":"341246:16:21","nodeType":"YulExpressionStatement","src":"341246:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341282:4:21","nodeType":"YulLiteral","src":"341282:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"341288:2:21","nodeType":"YulIdentifier","src":"341288:2:21"}],"functionName":{"name":"mstore","nativeSrc":"341275:6:21","nodeType":"YulIdentifier","src":"341275:6:21"},"nativeSrc":"341275:16:21","nodeType":"YulFunctionCall","src":"341275:16:21"},"nativeSrc":"341275:16:21","nodeType":"YulExpressionStatement","src":"341275:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341311:4:21","nodeType":"YulLiteral","src":"341311:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"341317:2:21","nodeType":"YulIdentifier","src":"341317:2:21"}],"functionName":{"name":"mstore","nativeSrc":"341304:6:21","nodeType":"YulIdentifier","src":"341304:6:21"},"nativeSrc":"341304:16:21","nodeType":"YulFunctionCall","src":"341304:16:21"},"nativeSrc":"341304:16:21","nodeType":"YulExpressionStatement","src":"341304:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341340:4:21","nodeType":"YulLiteral","src":"341340:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"341346:2:21","nodeType":"YulIdentifier","src":"341346:2:21"}],"functionName":{"name":"mstore","nativeSrc":"341333:6:21","nodeType":"YulIdentifier","src":"341333:6:21"},"nativeSrc":"341333:16:21","nodeType":"YulFunctionCall","src":"341333:16:21"},"nativeSrc":"341333:16:21","nodeType":"YulExpressionStatement","src":"341333:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37572,"isOffset":false,"isSlot":false,"src":"341172:2:21","valueSize":1},{"declaration":37575,"isOffset":false,"isSlot":false,"src":"341201:2:21","valueSize":1},{"declaration":37578,"isOffset":false,"isSlot":false,"src":"341230:2:21","valueSize":1},{"declaration":37581,"isOffset":false,"isSlot":false,"src":"341259:2:21","valueSize":1},{"declaration":37584,"isOffset":false,"isSlot":false,"src":"341288:2:21","valueSize":1},{"declaration":37587,"isOffset":false,"isSlot":false,"src":"341317:2:21","valueSize":1},{"declaration":37590,"isOffset":false,"isSlot":false,"src":"341346:2:21","valueSize":1}],"id":37598,"nodeType":"InlineAssembly","src":"341136:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"339954:3:21","parameters":{"id":37569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37562,"mutability":"mutable","name":"p0","nameLocation":"339966:2:21","nodeType":"VariableDeclaration","scope":37600,"src":"339958:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37561,"name":"bytes32","nodeType":"ElementaryTypeName","src":"339958:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37564,"mutability":"mutable","name":"p1","nameLocation":"339978:2:21","nodeType":"VariableDeclaration","scope":37600,"src":"339970:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37563,"name":"address","nodeType":"ElementaryTypeName","src":"339970:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37566,"mutability":"mutable","name":"p2","nameLocation":"339990:2:21","nodeType":"VariableDeclaration","scope":37600,"src":"339982:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37565,"name":"uint256","nodeType":"ElementaryTypeName","src":"339982:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37568,"mutability":"mutable","name":"p3","nameLocation":"339999:2:21","nodeType":"VariableDeclaration","scope":37600,"src":"339994:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37567,"name":"bool","nodeType":"ElementaryTypeName","src":"339994:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"339957:45:21"},"returnParameters":{"id":37570,"nodeType":"ParameterList","parameters":[],"src":"340017:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37640,"nodeType":"FunctionDefinition","src":"341371:1426:21","nodes":[],"body":{"id":37639,"nodeType":"Block","src":"341446:1351:21","nodes":[],"statements":[{"assignments":[37612],"declarations":[{"constant":false,"id":37612,"mutability":"mutable","name":"m0","nameLocation":"341464:2:21","nodeType":"VariableDeclaration","scope":37639,"src":"341456:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341456:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37613,"nodeType":"VariableDeclarationStatement","src":"341456:10:21"},{"assignments":[37615],"declarations":[{"constant":false,"id":37615,"mutability":"mutable","name":"m1","nameLocation":"341484:2:21","nodeType":"VariableDeclaration","scope":37639,"src":"341476:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341476:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37616,"nodeType":"VariableDeclarationStatement","src":"341476:10:21"},{"assignments":[37618],"declarations":[{"constant":false,"id":37618,"mutability":"mutable","name":"m2","nameLocation":"341504:2:21","nodeType":"VariableDeclaration","scope":37639,"src":"341496:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341496:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37619,"nodeType":"VariableDeclarationStatement","src":"341496:10:21"},{"assignments":[37621],"declarations":[{"constant":false,"id":37621,"mutability":"mutable","name":"m3","nameLocation":"341524:2:21","nodeType":"VariableDeclaration","scope":37639,"src":"341516:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341516:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37622,"nodeType":"VariableDeclarationStatement","src":"341516:10:21"},{"assignments":[37624],"declarations":[{"constant":false,"id":37624,"mutability":"mutable","name":"m4","nameLocation":"341544:2:21","nodeType":"VariableDeclaration","scope":37639,"src":"341536:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341536:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37625,"nodeType":"VariableDeclarationStatement","src":"341536:10:21"},{"assignments":[37627],"declarations":[{"constant":false,"id":37627,"mutability":"mutable","name":"m5","nameLocation":"341564:2:21","nodeType":"VariableDeclaration","scope":37639,"src":"341556:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341556:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37628,"nodeType":"VariableDeclarationStatement","src":"341556:10:21"},{"assignments":[37630],"declarations":[{"constant":false,"id":37630,"mutability":"mutable","name":"m6","nameLocation":"341584:2:21","nodeType":"VariableDeclaration","scope":37639,"src":"341576:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341576:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37631,"nodeType":"VariableDeclarationStatement","src":"341576:10:21"},{"AST":{"nativeSrc":"341648:831:21","nodeType":"YulBlock","src":"341648:831:21","statements":[{"body":{"nativeSrc":"341691:313:21","nodeType":"YulBlock","src":"341691:313:21","statements":[{"nativeSrc":"341709:15:21","nodeType":"YulVariableDeclaration","src":"341709:15:21","value":{"kind":"number","nativeSrc":"341723:1:21","nodeType":"YulLiteral","src":"341723:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"341713:6:21","nodeType":"YulTypedName","src":"341713:6:21","type":""}]},{"body":{"nativeSrc":"341794:40:21","nodeType":"YulBlock","src":"341794:40:21","statements":[{"body":{"nativeSrc":"341823:9:21","nodeType":"YulBlock","src":"341823:9:21","statements":[{"nativeSrc":"341825:5:21","nodeType":"YulBreak","src":"341825:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"341811:6:21","nodeType":"YulIdentifier","src":"341811:6:21"},{"name":"w","nativeSrc":"341819:1:21","nodeType":"YulIdentifier","src":"341819:1:21"}],"functionName":{"name":"byte","nativeSrc":"341806:4:21","nodeType":"YulIdentifier","src":"341806:4:21"},"nativeSrc":"341806:15:21","nodeType":"YulFunctionCall","src":"341806:15:21"}],"functionName":{"name":"iszero","nativeSrc":"341799:6:21","nodeType":"YulIdentifier","src":"341799:6:21"},"nativeSrc":"341799:23:21","nodeType":"YulFunctionCall","src":"341799:23:21"},"nativeSrc":"341796:36:21","nodeType":"YulIf","src":"341796:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"341751:6:21","nodeType":"YulIdentifier","src":"341751:6:21"},{"kind":"number","nativeSrc":"341759:4:21","nodeType":"YulLiteral","src":"341759:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"341748:2:21","nodeType":"YulIdentifier","src":"341748:2:21"},"nativeSrc":"341748:16:21","nodeType":"YulFunctionCall","src":"341748:16:21"},"nativeSrc":"341741:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"341765:28:21","nodeType":"YulBlock","src":"341765:28:21","statements":[{"nativeSrc":"341767:24:21","nodeType":"YulAssignment","src":"341767:24:21","value":{"arguments":[{"name":"length","nativeSrc":"341781:6:21","nodeType":"YulIdentifier","src":"341781:6:21"},{"kind":"number","nativeSrc":"341789:1:21","nodeType":"YulLiteral","src":"341789:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"341777:3:21","nodeType":"YulIdentifier","src":"341777:3:21"},"nativeSrc":"341777:14:21","nodeType":"YulFunctionCall","src":"341777:14:21"},"variableNames":[{"name":"length","nativeSrc":"341767:6:21","nodeType":"YulIdentifier","src":"341767:6:21"}]}]},"pre":{"nativeSrc":"341745:2:21","nodeType":"YulBlock","src":"341745:2:21","statements":[]},"src":"341741:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"341858:3:21","nodeType":"YulIdentifier","src":"341858:3:21"},{"name":"length","nativeSrc":"341863:6:21","nodeType":"YulIdentifier","src":"341863:6:21"}],"functionName":{"name":"mstore","nativeSrc":"341851:6:21","nodeType":"YulIdentifier","src":"341851:6:21"},"nativeSrc":"341851:19:21","nodeType":"YulFunctionCall","src":"341851:19:21"},"nativeSrc":"341851:19:21","nodeType":"YulExpressionStatement","src":"341851:19:21"},{"nativeSrc":"341887:37:21","nodeType":"YulVariableDeclaration","src":"341887:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"341904:3:21","nodeType":"YulLiteral","src":"341904:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"341913:1:21","nodeType":"YulLiteral","src":"341913:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"341916:6:21","nodeType":"YulIdentifier","src":"341916:6:21"}],"functionName":{"name":"shl","nativeSrc":"341909:3:21","nodeType":"YulIdentifier","src":"341909:3:21"},"nativeSrc":"341909:14:21","nodeType":"YulFunctionCall","src":"341909:14:21"}],"functionName":{"name":"sub","nativeSrc":"341900:3:21","nodeType":"YulIdentifier","src":"341900:3:21"},"nativeSrc":"341900:24:21","nodeType":"YulFunctionCall","src":"341900:24:21"},"variables":[{"name":"shift","nativeSrc":"341891:5:21","nodeType":"YulTypedName","src":"341891:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"341952:3:21","nodeType":"YulIdentifier","src":"341952:3:21"},{"kind":"number","nativeSrc":"341957:4:21","nodeType":"YulLiteral","src":"341957:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"341948:3:21","nodeType":"YulIdentifier","src":"341948:3:21"},"nativeSrc":"341948:14:21","nodeType":"YulFunctionCall","src":"341948:14:21"},{"arguments":[{"name":"shift","nativeSrc":"341968:5:21","nodeType":"YulIdentifier","src":"341968:5:21"},{"arguments":[{"name":"shift","nativeSrc":"341979:5:21","nodeType":"YulIdentifier","src":"341979:5:21"},{"name":"w","nativeSrc":"341986:1:21","nodeType":"YulIdentifier","src":"341986:1:21"}],"functionName":{"name":"shr","nativeSrc":"341975:3:21","nodeType":"YulIdentifier","src":"341975:3:21"},"nativeSrc":"341975:13:21","nodeType":"YulFunctionCall","src":"341975:13:21"}],"functionName":{"name":"shl","nativeSrc":"341964:3:21","nodeType":"YulIdentifier","src":"341964:3:21"},"nativeSrc":"341964:25:21","nodeType":"YulFunctionCall","src":"341964:25:21"}],"functionName":{"name":"mstore","nativeSrc":"341941:6:21","nodeType":"YulIdentifier","src":"341941:6:21"},"nativeSrc":"341941:49:21","nodeType":"YulFunctionCall","src":"341941:49:21"},"nativeSrc":"341941:49:21","nodeType":"YulExpressionStatement","src":"341941:49:21"}]},"name":"writeString","nativeSrc":"341662:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"341683:3:21","nodeType":"YulTypedName","src":"341683:3:21","type":""},{"name":"w","nativeSrc":"341688:1:21","nodeType":"YulTypedName","src":"341688:1:21","type":""}],"src":"341662:342:21"},{"nativeSrc":"342017:17:21","nodeType":"YulAssignment","src":"342017:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"342029:4:21","nodeType":"YulLiteral","src":"342029:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"342023:5:21","nodeType":"YulIdentifier","src":"342023:5:21"},"nativeSrc":"342023:11:21","nodeType":"YulFunctionCall","src":"342023:11:21"},"variableNames":[{"name":"m0","nativeSrc":"342017:2:21","nodeType":"YulIdentifier","src":"342017:2:21"}]},{"nativeSrc":"342047:17:21","nodeType":"YulAssignment","src":"342047:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"342059:4:21","nodeType":"YulLiteral","src":"342059:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"342053:5:21","nodeType":"YulIdentifier","src":"342053:5:21"},"nativeSrc":"342053:11:21","nodeType":"YulFunctionCall","src":"342053:11:21"},"variableNames":[{"name":"m1","nativeSrc":"342047:2:21","nodeType":"YulIdentifier","src":"342047:2:21"}]},{"nativeSrc":"342077:17:21","nodeType":"YulAssignment","src":"342077:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"342089:4:21","nodeType":"YulLiteral","src":"342089:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"342083:5:21","nodeType":"YulIdentifier","src":"342083:5:21"},"nativeSrc":"342083:11:21","nodeType":"YulFunctionCall","src":"342083:11:21"},"variableNames":[{"name":"m2","nativeSrc":"342077:2:21","nodeType":"YulIdentifier","src":"342077:2:21"}]},{"nativeSrc":"342107:17:21","nodeType":"YulAssignment","src":"342107:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"342119:4:21","nodeType":"YulLiteral","src":"342119:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"342113:5:21","nodeType":"YulIdentifier","src":"342113:5:21"},"nativeSrc":"342113:11:21","nodeType":"YulFunctionCall","src":"342113:11:21"},"variableNames":[{"name":"m3","nativeSrc":"342107:2:21","nodeType":"YulIdentifier","src":"342107:2:21"}]},{"nativeSrc":"342137:17:21","nodeType":"YulAssignment","src":"342137:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"342149:4:21","nodeType":"YulLiteral","src":"342149:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"342143:5:21","nodeType":"YulIdentifier","src":"342143:5:21"},"nativeSrc":"342143:11:21","nodeType":"YulFunctionCall","src":"342143:11:21"},"variableNames":[{"name":"m4","nativeSrc":"342137:2:21","nodeType":"YulIdentifier","src":"342137:2:21"}]},{"nativeSrc":"342167:17:21","nodeType":"YulAssignment","src":"342167:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"342179:4:21","nodeType":"YulLiteral","src":"342179:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"342173:5:21","nodeType":"YulIdentifier","src":"342173:5:21"},"nativeSrc":"342173:11:21","nodeType":"YulFunctionCall","src":"342173:11:21"},"variableNames":[{"name":"m5","nativeSrc":"342167:2:21","nodeType":"YulIdentifier","src":"342167:2:21"}]},{"nativeSrc":"342197:17:21","nodeType":"YulAssignment","src":"342197:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"342209:4:21","nodeType":"YulLiteral","src":"342209:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"342203:5:21","nodeType":"YulIdentifier","src":"342203:5:21"},"nativeSrc":"342203:11:21","nodeType":"YulFunctionCall","src":"342203:11:21"},"variableNames":[{"name":"m6","nativeSrc":"342197:2:21","nodeType":"YulIdentifier","src":"342197:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342300:4:21","nodeType":"YulLiteral","src":"342300:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"342306:10:21","nodeType":"YulLiteral","src":"342306:10:21","type":"","value":"0xf8f51b1e"}],"functionName":{"name":"mstore","nativeSrc":"342293:6:21","nodeType":"YulIdentifier","src":"342293:6:21"},"nativeSrc":"342293:24:21","nodeType":"YulFunctionCall","src":"342293:24:21"},"nativeSrc":"342293:24:21","nodeType":"YulExpressionStatement","src":"342293:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342337:4:21","nodeType":"YulLiteral","src":"342337:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"342343:4:21","nodeType":"YulLiteral","src":"342343:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"342330:6:21","nodeType":"YulIdentifier","src":"342330:6:21"},"nativeSrc":"342330:18:21","nodeType":"YulFunctionCall","src":"342330:18:21"},"nativeSrc":"342330:18:21","nodeType":"YulExpressionStatement","src":"342330:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342368:4:21","nodeType":"YulLiteral","src":"342368:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"342374:2:21","nodeType":"YulIdentifier","src":"342374:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342361:6:21","nodeType":"YulIdentifier","src":"342361:6:21"},"nativeSrc":"342361:16:21","nodeType":"YulFunctionCall","src":"342361:16:21"},"nativeSrc":"342361:16:21","nodeType":"YulExpressionStatement","src":"342361:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342397:4:21","nodeType":"YulLiteral","src":"342397:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"342403:2:21","nodeType":"YulIdentifier","src":"342403:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342390:6:21","nodeType":"YulIdentifier","src":"342390:6:21"},"nativeSrc":"342390:16:21","nodeType":"YulFunctionCall","src":"342390:16:21"},"nativeSrc":"342390:16:21","nodeType":"YulExpressionStatement","src":"342390:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342426:4:21","nodeType":"YulLiteral","src":"342426:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"342432:2:21","nodeType":"YulIdentifier","src":"342432:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342419:6:21","nodeType":"YulIdentifier","src":"342419:6:21"},"nativeSrc":"342419:16:21","nodeType":"YulFunctionCall","src":"342419:16:21"},"nativeSrc":"342419:16:21","nodeType":"YulExpressionStatement","src":"342419:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342460:4:21","nodeType":"YulLiteral","src":"342460:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"342466:2:21","nodeType":"YulIdentifier","src":"342466:2:21"}],"functionName":{"name":"writeString","nativeSrc":"342448:11:21","nodeType":"YulIdentifier","src":"342448:11:21"},"nativeSrc":"342448:21:21","nodeType":"YulFunctionCall","src":"342448:21:21"},"nativeSrc":"342448:21:21","nodeType":"YulExpressionStatement","src":"342448:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37612,"isOffset":false,"isSlot":false,"src":"342017:2:21","valueSize":1},{"declaration":37615,"isOffset":false,"isSlot":false,"src":"342047:2:21","valueSize":1},{"declaration":37618,"isOffset":false,"isSlot":false,"src":"342077:2:21","valueSize":1},{"declaration":37621,"isOffset":false,"isSlot":false,"src":"342107:2:21","valueSize":1},{"declaration":37624,"isOffset":false,"isSlot":false,"src":"342137:2:21","valueSize":1},{"declaration":37627,"isOffset":false,"isSlot":false,"src":"342167:2:21","valueSize":1},{"declaration":37630,"isOffset":false,"isSlot":false,"src":"342197:2:21","valueSize":1},{"declaration":37602,"isOffset":false,"isSlot":false,"src":"342466:2:21","valueSize":1},{"declaration":37604,"isOffset":false,"isSlot":false,"src":"342374:2:21","valueSize":1},{"declaration":37606,"isOffset":false,"isSlot":false,"src":"342403:2:21","valueSize":1},{"declaration":37608,"isOffset":false,"isSlot":false,"src":"342432:2:21","valueSize":1}],"id":37632,"nodeType":"InlineAssembly","src":"341639:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"342504:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"342510:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37633,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"342488:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"342488:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37637,"nodeType":"ExpressionStatement","src":"342488:27:21"},{"AST":{"nativeSrc":"342577:214:21","nodeType":"YulBlock","src":"342577:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"342598:4:21","nodeType":"YulLiteral","src":"342598:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"342604:2:21","nodeType":"YulIdentifier","src":"342604:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342591:6:21","nodeType":"YulIdentifier","src":"342591:6:21"},"nativeSrc":"342591:16:21","nodeType":"YulFunctionCall","src":"342591:16:21"},"nativeSrc":"342591:16:21","nodeType":"YulExpressionStatement","src":"342591:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342627:4:21","nodeType":"YulLiteral","src":"342627:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"342633:2:21","nodeType":"YulIdentifier","src":"342633:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342620:6:21","nodeType":"YulIdentifier","src":"342620:6:21"},"nativeSrc":"342620:16:21","nodeType":"YulFunctionCall","src":"342620:16:21"},"nativeSrc":"342620:16:21","nodeType":"YulExpressionStatement","src":"342620:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342656:4:21","nodeType":"YulLiteral","src":"342656:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"342662:2:21","nodeType":"YulIdentifier","src":"342662:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342649:6:21","nodeType":"YulIdentifier","src":"342649:6:21"},"nativeSrc":"342649:16:21","nodeType":"YulFunctionCall","src":"342649:16:21"},"nativeSrc":"342649:16:21","nodeType":"YulExpressionStatement","src":"342649:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342685:4:21","nodeType":"YulLiteral","src":"342685:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"342691:2:21","nodeType":"YulIdentifier","src":"342691:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342678:6:21","nodeType":"YulIdentifier","src":"342678:6:21"},"nativeSrc":"342678:16:21","nodeType":"YulFunctionCall","src":"342678:16:21"},"nativeSrc":"342678:16:21","nodeType":"YulExpressionStatement","src":"342678:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342714:4:21","nodeType":"YulLiteral","src":"342714:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"342720:2:21","nodeType":"YulIdentifier","src":"342720:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342707:6:21","nodeType":"YulIdentifier","src":"342707:6:21"},"nativeSrc":"342707:16:21","nodeType":"YulFunctionCall","src":"342707:16:21"},"nativeSrc":"342707:16:21","nodeType":"YulExpressionStatement","src":"342707:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342743:4:21","nodeType":"YulLiteral","src":"342743:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"342749:2:21","nodeType":"YulIdentifier","src":"342749:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342736:6:21","nodeType":"YulIdentifier","src":"342736:6:21"},"nativeSrc":"342736:16:21","nodeType":"YulFunctionCall","src":"342736:16:21"},"nativeSrc":"342736:16:21","nodeType":"YulExpressionStatement","src":"342736:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342772:4:21","nodeType":"YulLiteral","src":"342772:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"342778:2:21","nodeType":"YulIdentifier","src":"342778:2:21"}],"functionName":{"name":"mstore","nativeSrc":"342765:6:21","nodeType":"YulIdentifier","src":"342765:6:21"},"nativeSrc":"342765:16:21","nodeType":"YulFunctionCall","src":"342765:16:21"},"nativeSrc":"342765:16:21","nodeType":"YulExpressionStatement","src":"342765:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37612,"isOffset":false,"isSlot":false,"src":"342604:2:21","valueSize":1},{"declaration":37615,"isOffset":false,"isSlot":false,"src":"342633:2:21","valueSize":1},{"declaration":37618,"isOffset":false,"isSlot":false,"src":"342662:2:21","valueSize":1},{"declaration":37621,"isOffset":false,"isSlot":false,"src":"342691:2:21","valueSize":1},{"declaration":37624,"isOffset":false,"isSlot":false,"src":"342720:2:21","valueSize":1},{"declaration":37627,"isOffset":false,"isSlot":false,"src":"342749:2:21","valueSize":1},{"declaration":37630,"isOffset":false,"isSlot":false,"src":"342778:2:21","valueSize":1}],"id":37638,"nodeType":"InlineAssembly","src":"342568:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"341380:3:21","parameters":{"id":37609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37602,"mutability":"mutable","name":"p0","nameLocation":"341392:2:21","nodeType":"VariableDeclaration","scope":37640,"src":"341384:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341384:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37604,"mutability":"mutable","name":"p1","nameLocation":"341404:2:21","nodeType":"VariableDeclaration","scope":37640,"src":"341396:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37603,"name":"address","nodeType":"ElementaryTypeName","src":"341396:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37606,"mutability":"mutable","name":"p2","nameLocation":"341416:2:21","nodeType":"VariableDeclaration","scope":37640,"src":"341408:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37605,"name":"uint256","nodeType":"ElementaryTypeName","src":"341408:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37608,"mutability":"mutable","name":"p3","nameLocation":"341428:2:21","nodeType":"VariableDeclaration","scope":37640,"src":"341420:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37607,"name":"uint256","nodeType":"ElementaryTypeName","src":"341420:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"341383:48:21"},"returnParameters":{"id":37610,"nodeType":"ParameterList","parameters":[],"src":"341446:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37686,"nodeType":"FunctionDefinition","src":"342803:1622:21","nodes":[],"body":{"id":37685,"nodeType":"Block","src":"342878:1547:21","nodes":[],"statements":[{"assignments":[37652],"declarations":[{"constant":false,"id":37652,"mutability":"mutable","name":"m0","nameLocation":"342896:2:21","nodeType":"VariableDeclaration","scope":37685,"src":"342888:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342888:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37653,"nodeType":"VariableDeclarationStatement","src":"342888:10:21"},{"assignments":[37655],"declarations":[{"constant":false,"id":37655,"mutability":"mutable","name":"m1","nameLocation":"342916:2:21","nodeType":"VariableDeclaration","scope":37685,"src":"342908:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342908:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37656,"nodeType":"VariableDeclarationStatement","src":"342908:10:21"},{"assignments":[37658],"declarations":[{"constant":false,"id":37658,"mutability":"mutable","name":"m2","nameLocation":"342936:2:21","nodeType":"VariableDeclaration","scope":37685,"src":"342928:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342928:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37659,"nodeType":"VariableDeclarationStatement","src":"342928:10:21"},{"assignments":[37661],"declarations":[{"constant":false,"id":37661,"mutability":"mutable","name":"m3","nameLocation":"342956:2:21","nodeType":"VariableDeclaration","scope":37685,"src":"342948:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37660,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342948:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37662,"nodeType":"VariableDeclarationStatement","src":"342948:10:21"},{"assignments":[37664],"declarations":[{"constant":false,"id":37664,"mutability":"mutable","name":"m4","nameLocation":"342976:2:21","nodeType":"VariableDeclaration","scope":37685,"src":"342968:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342968:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37665,"nodeType":"VariableDeclarationStatement","src":"342968:10:21"},{"assignments":[37667],"declarations":[{"constant":false,"id":37667,"mutability":"mutable","name":"m5","nameLocation":"342996:2:21","nodeType":"VariableDeclaration","scope":37685,"src":"342988:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342988:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37668,"nodeType":"VariableDeclarationStatement","src":"342988:10:21"},{"assignments":[37670],"declarations":[{"constant":false,"id":37670,"mutability":"mutable","name":"m6","nameLocation":"343016:2:21","nodeType":"VariableDeclaration","scope":37685,"src":"343008:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"343008:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37671,"nodeType":"VariableDeclarationStatement","src":"343008:10:21"},{"assignments":[37673],"declarations":[{"constant":false,"id":37673,"mutability":"mutable","name":"m7","nameLocation":"343036:2:21","nodeType":"VariableDeclaration","scope":37685,"src":"343028:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37672,"name":"bytes32","nodeType":"ElementaryTypeName","src":"343028:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37674,"nodeType":"VariableDeclarationStatement","src":"343028:10:21"},{"assignments":[37676],"declarations":[{"constant":false,"id":37676,"mutability":"mutable","name":"m8","nameLocation":"343056:2:21","nodeType":"VariableDeclaration","scope":37685,"src":"343048:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"343048:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37677,"nodeType":"VariableDeclarationStatement","src":"343048:10:21"},{"AST":{"nativeSrc":"343120:927:21","nodeType":"YulBlock","src":"343120:927:21","statements":[{"body":{"nativeSrc":"343163:313:21","nodeType":"YulBlock","src":"343163:313:21","statements":[{"nativeSrc":"343181:15:21","nodeType":"YulVariableDeclaration","src":"343181:15:21","value":{"kind":"number","nativeSrc":"343195:1:21","nodeType":"YulLiteral","src":"343195:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"343185:6:21","nodeType":"YulTypedName","src":"343185:6:21","type":""}]},{"body":{"nativeSrc":"343266:40:21","nodeType":"YulBlock","src":"343266:40:21","statements":[{"body":{"nativeSrc":"343295:9:21","nodeType":"YulBlock","src":"343295:9:21","statements":[{"nativeSrc":"343297:5:21","nodeType":"YulBreak","src":"343297:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"343283:6:21","nodeType":"YulIdentifier","src":"343283:6:21"},{"name":"w","nativeSrc":"343291:1:21","nodeType":"YulIdentifier","src":"343291:1:21"}],"functionName":{"name":"byte","nativeSrc":"343278:4:21","nodeType":"YulIdentifier","src":"343278:4:21"},"nativeSrc":"343278:15:21","nodeType":"YulFunctionCall","src":"343278:15:21"}],"functionName":{"name":"iszero","nativeSrc":"343271:6:21","nodeType":"YulIdentifier","src":"343271:6:21"},"nativeSrc":"343271:23:21","nodeType":"YulFunctionCall","src":"343271:23:21"},"nativeSrc":"343268:36:21","nodeType":"YulIf","src":"343268:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"343223:6:21","nodeType":"YulIdentifier","src":"343223:6:21"},{"kind":"number","nativeSrc":"343231:4:21","nodeType":"YulLiteral","src":"343231:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"343220:2:21","nodeType":"YulIdentifier","src":"343220:2:21"},"nativeSrc":"343220:16:21","nodeType":"YulFunctionCall","src":"343220:16:21"},"nativeSrc":"343213:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"343237:28:21","nodeType":"YulBlock","src":"343237:28:21","statements":[{"nativeSrc":"343239:24:21","nodeType":"YulAssignment","src":"343239:24:21","value":{"arguments":[{"name":"length","nativeSrc":"343253:6:21","nodeType":"YulIdentifier","src":"343253:6:21"},{"kind":"number","nativeSrc":"343261:1:21","nodeType":"YulLiteral","src":"343261:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"343249:3:21","nodeType":"YulIdentifier","src":"343249:3:21"},"nativeSrc":"343249:14:21","nodeType":"YulFunctionCall","src":"343249:14:21"},"variableNames":[{"name":"length","nativeSrc":"343239:6:21","nodeType":"YulIdentifier","src":"343239:6:21"}]}]},"pre":{"nativeSrc":"343217:2:21","nodeType":"YulBlock","src":"343217:2:21","statements":[]},"src":"343213:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"343330:3:21","nodeType":"YulIdentifier","src":"343330:3:21"},{"name":"length","nativeSrc":"343335:6:21","nodeType":"YulIdentifier","src":"343335:6:21"}],"functionName":{"name":"mstore","nativeSrc":"343323:6:21","nodeType":"YulIdentifier","src":"343323:6:21"},"nativeSrc":"343323:19:21","nodeType":"YulFunctionCall","src":"343323:19:21"},"nativeSrc":"343323:19:21","nodeType":"YulExpressionStatement","src":"343323:19:21"},{"nativeSrc":"343359:37:21","nodeType":"YulVariableDeclaration","src":"343359:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"343376:3:21","nodeType":"YulLiteral","src":"343376:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"343385:1:21","nodeType":"YulLiteral","src":"343385:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"343388:6:21","nodeType":"YulIdentifier","src":"343388:6:21"}],"functionName":{"name":"shl","nativeSrc":"343381:3:21","nodeType":"YulIdentifier","src":"343381:3:21"},"nativeSrc":"343381:14:21","nodeType":"YulFunctionCall","src":"343381:14:21"}],"functionName":{"name":"sub","nativeSrc":"343372:3:21","nodeType":"YulIdentifier","src":"343372:3:21"},"nativeSrc":"343372:24:21","nodeType":"YulFunctionCall","src":"343372:24:21"},"variables":[{"name":"shift","nativeSrc":"343363:5:21","nodeType":"YulTypedName","src":"343363:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"343424:3:21","nodeType":"YulIdentifier","src":"343424:3:21"},{"kind":"number","nativeSrc":"343429:4:21","nodeType":"YulLiteral","src":"343429:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"343420:3:21","nodeType":"YulIdentifier","src":"343420:3:21"},"nativeSrc":"343420:14:21","nodeType":"YulFunctionCall","src":"343420:14:21"},{"arguments":[{"name":"shift","nativeSrc":"343440:5:21","nodeType":"YulIdentifier","src":"343440:5:21"},{"arguments":[{"name":"shift","nativeSrc":"343451:5:21","nodeType":"YulIdentifier","src":"343451:5:21"},{"name":"w","nativeSrc":"343458:1:21","nodeType":"YulIdentifier","src":"343458:1:21"}],"functionName":{"name":"shr","nativeSrc":"343447:3:21","nodeType":"YulIdentifier","src":"343447:3:21"},"nativeSrc":"343447:13:21","nodeType":"YulFunctionCall","src":"343447:13:21"}],"functionName":{"name":"shl","nativeSrc":"343436:3:21","nodeType":"YulIdentifier","src":"343436:3:21"},"nativeSrc":"343436:25:21","nodeType":"YulFunctionCall","src":"343436:25:21"}],"functionName":{"name":"mstore","nativeSrc":"343413:6:21","nodeType":"YulIdentifier","src":"343413:6:21"},"nativeSrc":"343413:49:21","nodeType":"YulFunctionCall","src":"343413:49:21"},"nativeSrc":"343413:49:21","nodeType":"YulExpressionStatement","src":"343413:49:21"}]},"name":"writeString","nativeSrc":"343134:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"343155:3:21","nodeType":"YulTypedName","src":"343155:3:21","type":""},{"name":"w","nativeSrc":"343160:1:21","nodeType":"YulTypedName","src":"343160:1:21","type":""}],"src":"343134:342:21"},{"nativeSrc":"343489:17:21","nodeType":"YulAssignment","src":"343489:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"343501:4:21","nodeType":"YulLiteral","src":"343501:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"343495:5:21","nodeType":"YulIdentifier","src":"343495:5:21"},"nativeSrc":"343495:11:21","nodeType":"YulFunctionCall","src":"343495:11:21"},"variableNames":[{"name":"m0","nativeSrc":"343489:2:21","nodeType":"YulIdentifier","src":"343489:2:21"}]},{"nativeSrc":"343519:17:21","nodeType":"YulAssignment","src":"343519:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"343531:4:21","nodeType":"YulLiteral","src":"343531:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"343525:5:21","nodeType":"YulIdentifier","src":"343525:5:21"},"nativeSrc":"343525:11:21","nodeType":"YulFunctionCall","src":"343525:11:21"},"variableNames":[{"name":"m1","nativeSrc":"343519:2:21","nodeType":"YulIdentifier","src":"343519:2:21"}]},{"nativeSrc":"343549:17:21","nodeType":"YulAssignment","src":"343549:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"343561:4:21","nodeType":"YulLiteral","src":"343561:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"343555:5:21","nodeType":"YulIdentifier","src":"343555:5:21"},"nativeSrc":"343555:11:21","nodeType":"YulFunctionCall","src":"343555:11:21"},"variableNames":[{"name":"m2","nativeSrc":"343549:2:21","nodeType":"YulIdentifier","src":"343549:2:21"}]},{"nativeSrc":"343579:17:21","nodeType":"YulAssignment","src":"343579:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"343591:4:21","nodeType":"YulLiteral","src":"343591:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"343585:5:21","nodeType":"YulIdentifier","src":"343585:5:21"},"nativeSrc":"343585:11:21","nodeType":"YulFunctionCall","src":"343585:11:21"},"variableNames":[{"name":"m3","nativeSrc":"343579:2:21","nodeType":"YulIdentifier","src":"343579:2:21"}]},{"nativeSrc":"343609:17:21","nodeType":"YulAssignment","src":"343609:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"343621:4:21","nodeType":"YulLiteral","src":"343621:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"343615:5:21","nodeType":"YulIdentifier","src":"343615:5:21"},"nativeSrc":"343615:11:21","nodeType":"YulFunctionCall","src":"343615:11:21"},"variableNames":[{"name":"m4","nativeSrc":"343609:2:21","nodeType":"YulIdentifier","src":"343609:2:21"}]},{"nativeSrc":"343639:17:21","nodeType":"YulAssignment","src":"343639:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"343651:4:21","nodeType":"YulLiteral","src":"343651:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"343645:5:21","nodeType":"YulIdentifier","src":"343645:5:21"},"nativeSrc":"343645:11:21","nodeType":"YulFunctionCall","src":"343645:11:21"},"variableNames":[{"name":"m5","nativeSrc":"343639:2:21","nodeType":"YulIdentifier","src":"343639:2:21"}]},{"nativeSrc":"343669:17:21","nodeType":"YulAssignment","src":"343669:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"343681:4:21","nodeType":"YulLiteral","src":"343681:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"343675:5:21","nodeType":"YulIdentifier","src":"343675:5:21"},"nativeSrc":"343675:11:21","nodeType":"YulFunctionCall","src":"343675:11:21"},"variableNames":[{"name":"m6","nativeSrc":"343669:2:21","nodeType":"YulIdentifier","src":"343669:2:21"}]},{"nativeSrc":"343699:17:21","nodeType":"YulAssignment","src":"343699:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"343711:4:21","nodeType":"YulLiteral","src":"343711:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"343705:5:21","nodeType":"YulIdentifier","src":"343705:5:21"},"nativeSrc":"343705:11:21","nodeType":"YulFunctionCall","src":"343705:11:21"},"variableNames":[{"name":"m7","nativeSrc":"343699:2:21","nodeType":"YulIdentifier","src":"343699:2:21"}]},{"nativeSrc":"343729:18:21","nodeType":"YulAssignment","src":"343729:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"343741:5:21","nodeType":"YulLiteral","src":"343741:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"343735:5:21","nodeType":"YulIdentifier","src":"343735:5:21"},"nativeSrc":"343735:12:21","nodeType":"YulFunctionCall","src":"343735:12:21"},"variableNames":[{"name":"m8","nativeSrc":"343729:2:21","nodeType":"YulIdentifier","src":"343729:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343832:4:21","nodeType":"YulLiteral","src":"343832:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"343838:10:21","nodeType":"YulLiteral","src":"343838:10:21","type":"","value":"0x5a477632"}],"functionName":{"name":"mstore","nativeSrc":"343825:6:21","nodeType":"YulIdentifier","src":"343825:6:21"},"nativeSrc":"343825:24:21","nodeType":"YulFunctionCall","src":"343825:24:21"},"nativeSrc":"343825:24:21","nodeType":"YulExpressionStatement","src":"343825:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343869:4:21","nodeType":"YulLiteral","src":"343869:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"343875:4:21","nodeType":"YulLiteral","src":"343875:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"343862:6:21","nodeType":"YulIdentifier","src":"343862:6:21"},"nativeSrc":"343862:18:21","nodeType":"YulFunctionCall","src":"343862:18:21"},"nativeSrc":"343862:18:21","nodeType":"YulExpressionStatement","src":"343862:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343900:4:21","nodeType":"YulLiteral","src":"343900:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"343906:2:21","nodeType":"YulIdentifier","src":"343906:2:21"}],"functionName":{"name":"mstore","nativeSrc":"343893:6:21","nodeType":"YulIdentifier","src":"343893:6:21"},"nativeSrc":"343893:16:21","nodeType":"YulFunctionCall","src":"343893:16:21"},"nativeSrc":"343893:16:21","nodeType":"YulExpressionStatement","src":"343893:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343929:4:21","nodeType":"YulLiteral","src":"343929:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"343935:2:21","nodeType":"YulIdentifier","src":"343935:2:21"}],"functionName":{"name":"mstore","nativeSrc":"343922:6:21","nodeType":"YulIdentifier","src":"343922:6:21"},"nativeSrc":"343922:16:21","nodeType":"YulFunctionCall","src":"343922:16:21"},"nativeSrc":"343922:16:21","nodeType":"YulExpressionStatement","src":"343922:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343958:4:21","nodeType":"YulLiteral","src":"343958:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"343964:4:21","nodeType":"YulLiteral","src":"343964:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"343951:6:21","nodeType":"YulIdentifier","src":"343951:6:21"},"nativeSrc":"343951:18:21","nodeType":"YulFunctionCall","src":"343951:18:21"},"nativeSrc":"343951:18:21","nodeType":"YulExpressionStatement","src":"343951:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343994:4:21","nodeType":"YulLiteral","src":"343994:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"344000:2:21","nodeType":"YulIdentifier","src":"344000:2:21"}],"functionName":{"name":"writeString","nativeSrc":"343982:11:21","nodeType":"YulIdentifier","src":"343982:11:21"},"nativeSrc":"343982:21:21","nodeType":"YulFunctionCall","src":"343982:21:21"},"nativeSrc":"343982:21:21","nodeType":"YulExpressionStatement","src":"343982:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344028:4:21","nodeType":"YulLiteral","src":"344028:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"344034:2:21","nodeType":"YulIdentifier","src":"344034:2:21"}],"functionName":{"name":"writeString","nativeSrc":"344016:11:21","nodeType":"YulIdentifier","src":"344016:11:21"},"nativeSrc":"344016:21:21","nodeType":"YulFunctionCall","src":"344016:21:21"},"nativeSrc":"344016:21:21","nodeType":"YulExpressionStatement","src":"344016:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37652,"isOffset":false,"isSlot":false,"src":"343489:2:21","valueSize":1},{"declaration":37655,"isOffset":false,"isSlot":false,"src":"343519:2:21","valueSize":1},{"declaration":37658,"isOffset":false,"isSlot":false,"src":"343549:2:21","valueSize":1},{"declaration":37661,"isOffset":false,"isSlot":false,"src":"343579:2:21","valueSize":1},{"declaration":37664,"isOffset":false,"isSlot":false,"src":"343609:2:21","valueSize":1},{"declaration":37667,"isOffset":false,"isSlot":false,"src":"343639:2:21","valueSize":1},{"declaration":37670,"isOffset":false,"isSlot":false,"src":"343669:2:21","valueSize":1},{"declaration":37673,"isOffset":false,"isSlot":false,"src":"343699:2:21","valueSize":1},{"declaration":37676,"isOffset":false,"isSlot":false,"src":"343729:2:21","valueSize":1},{"declaration":37642,"isOffset":false,"isSlot":false,"src":"344000:2:21","valueSize":1},{"declaration":37644,"isOffset":false,"isSlot":false,"src":"343906:2:21","valueSize":1},{"declaration":37646,"isOffset":false,"isSlot":false,"src":"343935:2:21","valueSize":1},{"declaration":37648,"isOffset":false,"isSlot":false,"src":"344034:2:21","valueSize":1}],"id":37678,"nodeType":"InlineAssembly","src":"343111:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"344072:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"344078:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37679,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"344056:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"344056:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37683,"nodeType":"ExpressionStatement","src":"344056:28:21"},{"AST":{"nativeSrc":"344146:273:21","nodeType":"YulBlock","src":"344146:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"344167:4:21","nodeType":"YulLiteral","src":"344167:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"344173:2:21","nodeType":"YulIdentifier","src":"344173:2:21"}],"functionName":{"name":"mstore","nativeSrc":"344160:6:21","nodeType":"YulIdentifier","src":"344160:6:21"},"nativeSrc":"344160:16:21","nodeType":"YulFunctionCall","src":"344160:16:21"},"nativeSrc":"344160:16:21","nodeType":"YulExpressionStatement","src":"344160:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344196:4:21","nodeType":"YulLiteral","src":"344196:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"344202:2:21","nodeType":"YulIdentifier","src":"344202:2:21"}],"functionName":{"name":"mstore","nativeSrc":"344189:6:21","nodeType":"YulIdentifier","src":"344189:6:21"},"nativeSrc":"344189:16:21","nodeType":"YulFunctionCall","src":"344189:16:21"},"nativeSrc":"344189:16:21","nodeType":"YulExpressionStatement","src":"344189:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344225:4:21","nodeType":"YulLiteral","src":"344225:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"344231:2:21","nodeType":"YulIdentifier","src":"344231:2:21"}],"functionName":{"name":"mstore","nativeSrc":"344218:6:21","nodeType":"YulIdentifier","src":"344218:6:21"},"nativeSrc":"344218:16:21","nodeType":"YulFunctionCall","src":"344218:16:21"},"nativeSrc":"344218:16:21","nodeType":"YulExpressionStatement","src":"344218:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344254:4:21","nodeType":"YulLiteral","src":"344254:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"344260:2:21","nodeType":"YulIdentifier","src":"344260:2:21"}],"functionName":{"name":"mstore","nativeSrc":"344247:6:21","nodeType":"YulIdentifier","src":"344247:6:21"},"nativeSrc":"344247:16:21","nodeType":"YulFunctionCall","src":"344247:16:21"},"nativeSrc":"344247:16:21","nodeType":"YulExpressionStatement","src":"344247:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344283:4:21","nodeType":"YulLiteral","src":"344283:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"344289:2:21","nodeType":"YulIdentifier","src":"344289:2:21"}],"functionName":{"name":"mstore","nativeSrc":"344276:6:21","nodeType":"YulIdentifier","src":"344276:6:21"},"nativeSrc":"344276:16:21","nodeType":"YulFunctionCall","src":"344276:16:21"},"nativeSrc":"344276:16:21","nodeType":"YulExpressionStatement","src":"344276:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344312:4:21","nodeType":"YulLiteral","src":"344312:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"344318:2:21","nodeType":"YulIdentifier","src":"344318:2:21"}],"functionName":{"name":"mstore","nativeSrc":"344305:6:21","nodeType":"YulIdentifier","src":"344305:6:21"},"nativeSrc":"344305:16:21","nodeType":"YulFunctionCall","src":"344305:16:21"},"nativeSrc":"344305:16:21","nodeType":"YulExpressionStatement","src":"344305:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344341:4:21","nodeType":"YulLiteral","src":"344341:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"344347:2:21","nodeType":"YulIdentifier","src":"344347:2:21"}],"functionName":{"name":"mstore","nativeSrc":"344334:6:21","nodeType":"YulIdentifier","src":"344334:6:21"},"nativeSrc":"344334:16:21","nodeType":"YulFunctionCall","src":"344334:16:21"},"nativeSrc":"344334:16:21","nodeType":"YulExpressionStatement","src":"344334:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344370:4:21","nodeType":"YulLiteral","src":"344370:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"344376:2:21","nodeType":"YulIdentifier","src":"344376:2:21"}],"functionName":{"name":"mstore","nativeSrc":"344363:6:21","nodeType":"YulIdentifier","src":"344363:6:21"},"nativeSrc":"344363:16:21","nodeType":"YulFunctionCall","src":"344363:16:21"},"nativeSrc":"344363:16:21","nodeType":"YulExpressionStatement","src":"344363:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344399:5:21","nodeType":"YulLiteral","src":"344399:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"344406:2:21","nodeType":"YulIdentifier","src":"344406:2:21"}],"functionName":{"name":"mstore","nativeSrc":"344392:6:21","nodeType":"YulIdentifier","src":"344392:6:21"},"nativeSrc":"344392:17:21","nodeType":"YulFunctionCall","src":"344392:17:21"},"nativeSrc":"344392:17:21","nodeType":"YulExpressionStatement","src":"344392:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37652,"isOffset":false,"isSlot":false,"src":"344173:2:21","valueSize":1},{"declaration":37655,"isOffset":false,"isSlot":false,"src":"344202:2:21","valueSize":1},{"declaration":37658,"isOffset":false,"isSlot":false,"src":"344231:2:21","valueSize":1},{"declaration":37661,"isOffset":false,"isSlot":false,"src":"344260:2:21","valueSize":1},{"declaration":37664,"isOffset":false,"isSlot":false,"src":"344289:2:21","valueSize":1},{"declaration":37667,"isOffset":false,"isSlot":false,"src":"344318:2:21","valueSize":1},{"declaration":37670,"isOffset":false,"isSlot":false,"src":"344347:2:21","valueSize":1},{"declaration":37673,"isOffset":false,"isSlot":false,"src":"344376:2:21","valueSize":1},{"declaration":37676,"isOffset":false,"isSlot":false,"src":"344406:2:21","valueSize":1}],"id":37684,"nodeType":"InlineAssembly","src":"344137:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"342812:3:21","parameters":{"id":37649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37642,"mutability":"mutable","name":"p0","nameLocation":"342824:2:21","nodeType":"VariableDeclaration","scope":37686,"src":"342816:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342816:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37644,"mutability":"mutable","name":"p1","nameLocation":"342836:2:21","nodeType":"VariableDeclaration","scope":37686,"src":"342828:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37643,"name":"address","nodeType":"ElementaryTypeName","src":"342828:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37646,"mutability":"mutable","name":"p2","nameLocation":"342848:2:21","nodeType":"VariableDeclaration","scope":37686,"src":"342840:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37645,"name":"uint256","nodeType":"ElementaryTypeName","src":"342840:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37648,"mutability":"mutable","name":"p3","nameLocation":"342860:2:21","nodeType":"VariableDeclaration","scope":37686,"src":"342852:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342852:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"342815:48:21"},"returnParameters":{"id":37650,"nodeType":"ParameterList","parameters":[],"src":"342878:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37732,"nodeType":"FunctionDefinition","src":"344431:1622:21","nodes":[],"body":{"id":37731,"nodeType":"Block","src":"344506:1547:21","nodes":[],"statements":[{"assignments":[37698],"declarations":[{"constant":false,"id":37698,"mutability":"mutable","name":"m0","nameLocation":"344524:2:21","nodeType":"VariableDeclaration","scope":37731,"src":"344516:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344516:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37699,"nodeType":"VariableDeclarationStatement","src":"344516:10:21"},{"assignments":[37701],"declarations":[{"constant":false,"id":37701,"mutability":"mutable","name":"m1","nameLocation":"344544:2:21","nodeType":"VariableDeclaration","scope":37731,"src":"344536:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344536:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37702,"nodeType":"VariableDeclarationStatement","src":"344536:10:21"},{"assignments":[37704],"declarations":[{"constant":false,"id":37704,"mutability":"mutable","name":"m2","nameLocation":"344564:2:21","nodeType":"VariableDeclaration","scope":37731,"src":"344556:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344556:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37705,"nodeType":"VariableDeclarationStatement","src":"344556:10:21"},{"assignments":[37707],"declarations":[{"constant":false,"id":37707,"mutability":"mutable","name":"m3","nameLocation":"344584:2:21","nodeType":"VariableDeclaration","scope":37731,"src":"344576:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344576:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37708,"nodeType":"VariableDeclarationStatement","src":"344576:10:21"},{"assignments":[37710],"declarations":[{"constant":false,"id":37710,"mutability":"mutable","name":"m4","nameLocation":"344604:2:21","nodeType":"VariableDeclaration","scope":37731,"src":"344596:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344596:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37711,"nodeType":"VariableDeclarationStatement","src":"344596:10:21"},{"assignments":[37713],"declarations":[{"constant":false,"id":37713,"mutability":"mutable","name":"m5","nameLocation":"344624:2:21","nodeType":"VariableDeclaration","scope":37731,"src":"344616:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344616:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37714,"nodeType":"VariableDeclarationStatement","src":"344616:10:21"},{"assignments":[37716],"declarations":[{"constant":false,"id":37716,"mutability":"mutable","name":"m6","nameLocation":"344644:2:21","nodeType":"VariableDeclaration","scope":37731,"src":"344636:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37715,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344636:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37717,"nodeType":"VariableDeclarationStatement","src":"344636:10:21"},{"assignments":[37719],"declarations":[{"constant":false,"id":37719,"mutability":"mutable","name":"m7","nameLocation":"344664:2:21","nodeType":"VariableDeclaration","scope":37731,"src":"344656:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344656:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37720,"nodeType":"VariableDeclarationStatement","src":"344656:10:21"},{"assignments":[37722],"declarations":[{"constant":false,"id":37722,"mutability":"mutable","name":"m8","nameLocation":"344684:2:21","nodeType":"VariableDeclaration","scope":37731,"src":"344676:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37721,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344676:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37723,"nodeType":"VariableDeclarationStatement","src":"344676:10:21"},{"AST":{"nativeSrc":"344748:927:21","nodeType":"YulBlock","src":"344748:927:21","statements":[{"body":{"nativeSrc":"344791:313:21","nodeType":"YulBlock","src":"344791:313:21","statements":[{"nativeSrc":"344809:15:21","nodeType":"YulVariableDeclaration","src":"344809:15:21","value":{"kind":"number","nativeSrc":"344823:1:21","nodeType":"YulLiteral","src":"344823:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"344813:6:21","nodeType":"YulTypedName","src":"344813:6:21","type":""}]},{"body":{"nativeSrc":"344894:40:21","nodeType":"YulBlock","src":"344894:40:21","statements":[{"body":{"nativeSrc":"344923:9:21","nodeType":"YulBlock","src":"344923:9:21","statements":[{"nativeSrc":"344925:5:21","nodeType":"YulBreak","src":"344925:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"344911:6:21","nodeType":"YulIdentifier","src":"344911:6:21"},{"name":"w","nativeSrc":"344919:1:21","nodeType":"YulIdentifier","src":"344919:1:21"}],"functionName":{"name":"byte","nativeSrc":"344906:4:21","nodeType":"YulIdentifier","src":"344906:4:21"},"nativeSrc":"344906:15:21","nodeType":"YulFunctionCall","src":"344906:15:21"}],"functionName":{"name":"iszero","nativeSrc":"344899:6:21","nodeType":"YulIdentifier","src":"344899:6:21"},"nativeSrc":"344899:23:21","nodeType":"YulFunctionCall","src":"344899:23:21"},"nativeSrc":"344896:36:21","nodeType":"YulIf","src":"344896:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"344851:6:21","nodeType":"YulIdentifier","src":"344851:6:21"},{"kind":"number","nativeSrc":"344859:4:21","nodeType":"YulLiteral","src":"344859:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"344848:2:21","nodeType":"YulIdentifier","src":"344848:2:21"},"nativeSrc":"344848:16:21","nodeType":"YulFunctionCall","src":"344848:16:21"},"nativeSrc":"344841:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"344865:28:21","nodeType":"YulBlock","src":"344865:28:21","statements":[{"nativeSrc":"344867:24:21","nodeType":"YulAssignment","src":"344867:24:21","value":{"arguments":[{"name":"length","nativeSrc":"344881:6:21","nodeType":"YulIdentifier","src":"344881:6:21"},{"kind":"number","nativeSrc":"344889:1:21","nodeType":"YulLiteral","src":"344889:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"344877:3:21","nodeType":"YulIdentifier","src":"344877:3:21"},"nativeSrc":"344877:14:21","nodeType":"YulFunctionCall","src":"344877:14:21"},"variableNames":[{"name":"length","nativeSrc":"344867:6:21","nodeType":"YulIdentifier","src":"344867:6:21"}]}]},"pre":{"nativeSrc":"344845:2:21","nodeType":"YulBlock","src":"344845:2:21","statements":[]},"src":"344841:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"344958:3:21","nodeType":"YulIdentifier","src":"344958:3:21"},{"name":"length","nativeSrc":"344963:6:21","nodeType":"YulIdentifier","src":"344963:6:21"}],"functionName":{"name":"mstore","nativeSrc":"344951:6:21","nodeType":"YulIdentifier","src":"344951:6:21"},"nativeSrc":"344951:19:21","nodeType":"YulFunctionCall","src":"344951:19:21"},"nativeSrc":"344951:19:21","nodeType":"YulExpressionStatement","src":"344951:19:21"},{"nativeSrc":"344987:37:21","nodeType":"YulVariableDeclaration","src":"344987:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"345004:3:21","nodeType":"YulLiteral","src":"345004:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"345013:1:21","nodeType":"YulLiteral","src":"345013:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"345016:6:21","nodeType":"YulIdentifier","src":"345016:6:21"}],"functionName":{"name":"shl","nativeSrc":"345009:3:21","nodeType":"YulIdentifier","src":"345009:3:21"},"nativeSrc":"345009:14:21","nodeType":"YulFunctionCall","src":"345009:14:21"}],"functionName":{"name":"sub","nativeSrc":"345000:3:21","nodeType":"YulIdentifier","src":"345000:3:21"},"nativeSrc":"345000:24:21","nodeType":"YulFunctionCall","src":"345000:24:21"},"variables":[{"name":"shift","nativeSrc":"344991:5:21","nodeType":"YulTypedName","src":"344991:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"345052:3:21","nodeType":"YulIdentifier","src":"345052:3:21"},{"kind":"number","nativeSrc":"345057:4:21","nodeType":"YulLiteral","src":"345057:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"345048:3:21","nodeType":"YulIdentifier","src":"345048:3:21"},"nativeSrc":"345048:14:21","nodeType":"YulFunctionCall","src":"345048:14:21"},{"arguments":[{"name":"shift","nativeSrc":"345068:5:21","nodeType":"YulIdentifier","src":"345068:5:21"},{"arguments":[{"name":"shift","nativeSrc":"345079:5:21","nodeType":"YulIdentifier","src":"345079:5:21"},{"name":"w","nativeSrc":"345086:1:21","nodeType":"YulIdentifier","src":"345086:1:21"}],"functionName":{"name":"shr","nativeSrc":"345075:3:21","nodeType":"YulIdentifier","src":"345075:3:21"},"nativeSrc":"345075:13:21","nodeType":"YulFunctionCall","src":"345075:13:21"}],"functionName":{"name":"shl","nativeSrc":"345064:3:21","nodeType":"YulIdentifier","src":"345064:3:21"},"nativeSrc":"345064:25:21","nodeType":"YulFunctionCall","src":"345064:25:21"}],"functionName":{"name":"mstore","nativeSrc":"345041:6:21","nodeType":"YulIdentifier","src":"345041:6:21"},"nativeSrc":"345041:49:21","nodeType":"YulFunctionCall","src":"345041:49:21"},"nativeSrc":"345041:49:21","nodeType":"YulExpressionStatement","src":"345041:49:21"}]},"name":"writeString","nativeSrc":"344762:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"344783:3:21","nodeType":"YulTypedName","src":"344783:3:21","type":""},{"name":"w","nativeSrc":"344788:1:21","nodeType":"YulTypedName","src":"344788:1:21","type":""}],"src":"344762:342:21"},{"nativeSrc":"345117:17:21","nodeType":"YulAssignment","src":"345117:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"345129:4:21","nodeType":"YulLiteral","src":"345129:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"345123:5:21","nodeType":"YulIdentifier","src":"345123:5:21"},"nativeSrc":"345123:11:21","nodeType":"YulFunctionCall","src":"345123:11:21"},"variableNames":[{"name":"m0","nativeSrc":"345117:2:21","nodeType":"YulIdentifier","src":"345117:2:21"}]},{"nativeSrc":"345147:17:21","nodeType":"YulAssignment","src":"345147:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"345159:4:21","nodeType":"YulLiteral","src":"345159:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"345153:5:21","nodeType":"YulIdentifier","src":"345153:5:21"},"nativeSrc":"345153:11:21","nodeType":"YulFunctionCall","src":"345153:11:21"},"variableNames":[{"name":"m1","nativeSrc":"345147:2:21","nodeType":"YulIdentifier","src":"345147:2:21"}]},{"nativeSrc":"345177:17:21","nodeType":"YulAssignment","src":"345177:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"345189:4:21","nodeType":"YulLiteral","src":"345189:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"345183:5:21","nodeType":"YulIdentifier","src":"345183:5:21"},"nativeSrc":"345183:11:21","nodeType":"YulFunctionCall","src":"345183:11:21"},"variableNames":[{"name":"m2","nativeSrc":"345177:2:21","nodeType":"YulIdentifier","src":"345177:2:21"}]},{"nativeSrc":"345207:17:21","nodeType":"YulAssignment","src":"345207:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"345219:4:21","nodeType":"YulLiteral","src":"345219:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"345213:5:21","nodeType":"YulIdentifier","src":"345213:5:21"},"nativeSrc":"345213:11:21","nodeType":"YulFunctionCall","src":"345213:11:21"},"variableNames":[{"name":"m3","nativeSrc":"345207:2:21","nodeType":"YulIdentifier","src":"345207:2:21"}]},{"nativeSrc":"345237:17:21","nodeType":"YulAssignment","src":"345237:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"345249:4:21","nodeType":"YulLiteral","src":"345249:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"345243:5:21","nodeType":"YulIdentifier","src":"345243:5:21"},"nativeSrc":"345243:11:21","nodeType":"YulFunctionCall","src":"345243:11:21"},"variableNames":[{"name":"m4","nativeSrc":"345237:2:21","nodeType":"YulIdentifier","src":"345237:2:21"}]},{"nativeSrc":"345267:17:21","nodeType":"YulAssignment","src":"345267:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"345279:4:21","nodeType":"YulLiteral","src":"345279:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"345273:5:21","nodeType":"YulIdentifier","src":"345273:5:21"},"nativeSrc":"345273:11:21","nodeType":"YulFunctionCall","src":"345273:11:21"},"variableNames":[{"name":"m5","nativeSrc":"345267:2:21","nodeType":"YulIdentifier","src":"345267:2:21"}]},{"nativeSrc":"345297:17:21","nodeType":"YulAssignment","src":"345297:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"345309:4:21","nodeType":"YulLiteral","src":"345309:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"345303:5:21","nodeType":"YulIdentifier","src":"345303:5:21"},"nativeSrc":"345303:11:21","nodeType":"YulFunctionCall","src":"345303:11:21"},"variableNames":[{"name":"m6","nativeSrc":"345297:2:21","nodeType":"YulIdentifier","src":"345297:2:21"}]},{"nativeSrc":"345327:17:21","nodeType":"YulAssignment","src":"345327:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"345339:4:21","nodeType":"YulLiteral","src":"345339:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"345333:5:21","nodeType":"YulIdentifier","src":"345333:5:21"},"nativeSrc":"345333:11:21","nodeType":"YulFunctionCall","src":"345333:11:21"},"variableNames":[{"name":"m7","nativeSrc":"345327:2:21","nodeType":"YulIdentifier","src":"345327:2:21"}]},{"nativeSrc":"345357:18:21","nodeType":"YulAssignment","src":"345357:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"345369:5:21","nodeType":"YulLiteral","src":"345369:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"345363:5:21","nodeType":"YulIdentifier","src":"345363:5:21"},"nativeSrc":"345363:12:21","nodeType":"YulFunctionCall","src":"345363:12:21"},"variableNames":[{"name":"m8","nativeSrc":"345357:2:21","nodeType":"YulIdentifier","src":"345357:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345460:4:21","nodeType":"YulLiteral","src":"345460:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"345466:10:21","nodeType":"YulLiteral","src":"345466:10:21","type":"","value":"0xaabc9a31"}],"functionName":{"name":"mstore","nativeSrc":"345453:6:21","nodeType":"YulIdentifier","src":"345453:6:21"},"nativeSrc":"345453:24:21","nodeType":"YulFunctionCall","src":"345453:24:21"},"nativeSrc":"345453:24:21","nodeType":"YulExpressionStatement","src":"345453:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345497:4:21","nodeType":"YulLiteral","src":"345497:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"345503:4:21","nodeType":"YulLiteral","src":"345503:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"345490:6:21","nodeType":"YulIdentifier","src":"345490:6:21"},"nativeSrc":"345490:18:21","nodeType":"YulFunctionCall","src":"345490:18:21"},"nativeSrc":"345490:18:21","nodeType":"YulExpressionStatement","src":"345490:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345528:4:21","nodeType":"YulLiteral","src":"345528:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"345534:2:21","nodeType":"YulIdentifier","src":"345534:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345521:6:21","nodeType":"YulIdentifier","src":"345521:6:21"},"nativeSrc":"345521:16:21","nodeType":"YulFunctionCall","src":"345521:16:21"},"nativeSrc":"345521:16:21","nodeType":"YulExpressionStatement","src":"345521:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345557:4:21","nodeType":"YulLiteral","src":"345557:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"345563:4:21","nodeType":"YulLiteral","src":"345563:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"345550:6:21","nodeType":"YulIdentifier","src":"345550:6:21"},"nativeSrc":"345550:18:21","nodeType":"YulFunctionCall","src":"345550:18:21"},"nativeSrc":"345550:18:21","nodeType":"YulExpressionStatement","src":"345550:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345588:4:21","nodeType":"YulLiteral","src":"345588:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"345594:2:21","nodeType":"YulIdentifier","src":"345594:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345581:6:21","nodeType":"YulIdentifier","src":"345581:6:21"},"nativeSrc":"345581:16:21","nodeType":"YulFunctionCall","src":"345581:16:21"},"nativeSrc":"345581:16:21","nodeType":"YulExpressionStatement","src":"345581:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345622:4:21","nodeType":"YulLiteral","src":"345622:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"345628:2:21","nodeType":"YulIdentifier","src":"345628:2:21"}],"functionName":{"name":"writeString","nativeSrc":"345610:11:21","nodeType":"YulIdentifier","src":"345610:11:21"},"nativeSrc":"345610:21:21","nodeType":"YulFunctionCall","src":"345610:21:21"},"nativeSrc":"345610:21:21","nodeType":"YulExpressionStatement","src":"345610:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345656:4:21","nodeType":"YulLiteral","src":"345656:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"345662:2:21","nodeType":"YulIdentifier","src":"345662:2:21"}],"functionName":{"name":"writeString","nativeSrc":"345644:11:21","nodeType":"YulIdentifier","src":"345644:11:21"},"nativeSrc":"345644:21:21","nodeType":"YulFunctionCall","src":"345644:21:21"},"nativeSrc":"345644:21:21","nodeType":"YulExpressionStatement","src":"345644:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37698,"isOffset":false,"isSlot":false,"src":"345117:2:21","valueSize":1},{"declaration":37701,"isOffset":false,"isSlot":false,"src":"345147:2:21","valueSize":1},{"declaration":37704,"isOffset":false,"isSlot":false,"src":"345177:2:21","valueSize":1},{"declaration":37707,"isOffset":false,"isSlot":false,"src":"345207:2:21","valueSize":1},{"declaration":37710,"isOffset":false,"isSlot":false,"src":"345237:2:21","valueSize":1},{"declaration":37713,"isOffset":false,"isSlot":false,"src":"345267:2:21","valueSize":1},{"declaration":37716,"isOffset":false,"isSlot":false,"src":"345297:2:21","valueSize":1},{"declaration":37719,"isOffset":false,"isSlot":false,"src":"345327:2:21","valueSize":1},{"declaration":37722,"isOffset":false,"isSlot":false,"src":"345357:2:21","valueSize":1},{"declaration":37688,"isOffset":false,"isSlot":false,"src":"345628:2:21","valueSize":1},{"declaration":37690,"isOffset":false,"isSlot":false,"src":"345534:2:21","valueSize":1},{"declaration":37692,"isOffset":false,"isSlot":false,"src":"345662:2:21","valueSize":1},{"declaration":37694,"isOffset":false,"isSlot":false,"src":"345594:2:21","valueSize":1}],"id":37724,"nodeType":"InlineAssembly","src":"344739:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"345700:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"345706:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37725,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"345684:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"345684:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37729,"nodeType":"ExpressionStatement","src":"345684:28:21"},{"AST":{"nativeSrc":"345774:273:21","nodeType":"YulBlock","src":"345774:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"345795:4:21","nodeType":"YulLiteral","src":"345795:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"345801:2:21","nodeType":"YulIdentifier","src":"345801:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345788:6:21","nodeType":"YulIdentifier","src":"345788:6:21"},"nativeSrc":"345788:16:21","nodeType":"YulFunctionCall","src":"345788:16:21"},"nativeSrc":"345788:16:21","nodeType":"YulExpressionStatement","src":"345788:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345824:4:21","nodeType":"YulLiteral","src":"345824:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"345830:2:21","nodeType":"YulIdentifier","src":"345830:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345817:6:21","nodeType":"YulIdentifier","src":"345817:6:21"},"nativeSrc":"345817:16:21","nodeType":"YulFunctionCall","src":"345817:16:21"},"nativeSrc":"345817:16:21","nodeType":"YulExpressionStatement","src":"345817:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345853:4:21","nodeType":"YulLiteral","src":"345853:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"345859:2:21","nodeType":"YulIdentifier","src":"345859:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345846:6:21","nodeType":"YulIdentifier","src":"345846:6:21"},"nativeSrc":"345846:16:21","nodeType":"YulFunctionCall","src":"345846:16:21"},"nativeSrc":"345846:16:21","nodeType":"YulExpressionStatement","src":"345846:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345882:4:21","nodeType":"YulLiteral","src":"345882:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"345888:2:21","nodeType":"YulIdentifier","src":"345888:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345875:6:21","nodeType":"YulIdentifier","src":"345875:6:21"},"nativeSrc":"345875:16:21","nodeType":"YulFunctionCall","src":"345875:16:21"},"nativeSrc":"345875:16:21","nodeType":"YulExpressionStatement","src":"345875:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345911:4:21","nodeType":"YulLiteral","src":"345911:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"345917:2:21","nodeType":"YulIdentifier","src":"345917:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345904:6:21","nodeType":"YulIdentifier","src":"345904:6:21"},"nativeSrc":"345904:16:21","nodeType":"YulFunctionCall","src":"345904:16:21"},"nativeSrc":"345904:16:21","nodeType":"YulExpressionStatement","src":"345904:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345940:4:21","nodeType":"YulLiteral","src":"345940:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"345946:2:21","nodeType":"YulIdentifier","src":"345946:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345933:6:21","nodeType":"YulIdentifier","src":"345933:6:21"},"nativeSrc":"345933:16:21","nodeType":"YulFunctionCall","src":"345933:16:21"},"nativeSrc":"345933:16:21","nodeType":"YulExpressionStatement","src":"345933:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345969:4:21","nodeType":"YulLiteral","src":"345969:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"345975:2:21","nodeType":"YulIdentifier","src":"345975:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345962:6:21","nodeType":"YulIdentifier","src":"345962:6:21"},"nativeSrc":"345962:16:21","nodeType":"YulFunctionCall","src":"345962:16:21"},"nativeSrc":"345962:16:21","nodeType":"YulExpressionStatement","src":"345962:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345998:4:21","nodeType":"YulLiteral","src":"345998:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"346004:2:21","nodeType":"YulIdentifier","src":"346004:2:21"}],"functionName":{"name":"mstore","nativeSrc":"345991:6:21","nodeType":"YulIdentifier","src":"345991:6:21"},"nativeSrc":"345991:16:21","nodeType":"YulFunctionCall","src":"345991:16:21"},"nativeSrc":"345991:16:21","nodeType":"YulExpressionStatement","src":"345991:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"346027:5:21","nodeType":"YulLiteral","src":"346027:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"346034:2:21","nodeType":"YulIdentifier","src":"346034:2:21"}],"functionName":{"name":"mstore","nativeSrc":"346020:6:21","nodeType":"YulIdentifier","src":"346020:6:21"},"nativeSrc":"346020:17:21","nodeType":"YulFunctionCall","src":"346020:17:21"},"nativeSrc":"346020:17:21","nodeType":"YulExpressionStatement","src":"346020:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37698,"isOffset":false,"isSlot":false,"src":"345801:2:21","valueSize":1},{"declaration":37701,"isOffset":false,"isSlot":false,"src":"345830:2:21","valueSize":1},{"declaration":37704,"isOffset":false,"isSlot":false,"src":"345859:2:21","valueSize":1},{"declaration":37707,"isOffset":false,"isSlot":false,"src":"345888:2:21","valueSize":1},{"declaration":37710,"isOffset":false,"isSlot":false,"src":"345917:2:21","valueSize":1},{"declaration":37713,"isOffset":false,"isSlot":false,"src":"345946:2:21","valueSize":1},{"declaration":37716,"isOffset":false,"isSlot":false,"src":"345975:2:21","valueSize":1},{"declaration":37719,"isOffset":false,"isSlot":false,"src":"346004:2:21","valueSize":1},{"declaration":37722,"isOffset":false,"isSlot":false,"src":"346034:2:21","valueSize":1}],"id":37730,"nodeType":"InlineAssembly","src":"345765:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"344440:3:21","parameters":{"id":37695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37688,"mutability":"mutable","name":"p0","nameLocation":"344452:2:21","nodeType":"VariableDeclaration","scope":37732,"src":"344444:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344444:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37690,"mutability":"mutable","name":"p1","nameLocation":"344464:2:21","nodeType":"VariableDeclaration","scope":37732,"src":"344456:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37689,"name":"address","nodeType":"ElementaryTypeName","src":"344456:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37692,"mutability":"mutable","name":"p2","nameLocation":"344476:2:21","nodeType":"VariableDeclaration","scope":37732,"src":"344468:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344468:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37694,"mutability":"mutable","name":"p3","nameLocation":"344488:2:21","nodeType":"VariableDeclaration","scope":37732,"src":"344480:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37693,"name":"address","nodeType":"ElementaryTypeName","src":"344480:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"344443:48:21"},"returnParameters":{"id":37696,"nodeType":"ParameterList","parameters":[],"src":"344506:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37778,"nodeType":"FunctionDefinition","src":"346059:1616:21","nodes":[],"body":{"id":37777,"nodeType":"Block","src":"346131:1544:21","nodes":[],"statements":[{"assignments":[37744],"declarations":[{"constant":false,"id":37744,"mutability":"mutable","name":"m0","nameLocation":"346149:2:21","nodeType":"VariableDeclaration","scope":37777,"src":"346141:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346141:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37745,"nodeType":"VariableDeclarationStatement","src":"346141:10:21"},{"assignments":[37747],"declarations":[{"constant":false,"id":37747,"mutability":"mutable","name":"m1","nameLocation":"346169:2:21","nodeType":"VariableDeclaration","scope":37777,"src":"346161:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346161:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37748,"nodeType":"VariableDeclarationStatement","src":"346161:10:21"},{"assignments":[37750],"declarations":[{"constant":false,"id":37750,"mutability":"mutable","name":"m2","nameLocation":"346189:2:21","nodeType":"VariableDeclaration","scope":37777,"src":"346181:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346181:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37751,"nodeType":"VariableDeclarationStatement","src":"346181:10:21"},{"assignments":[37753],"declarations":[{"constant":false,"id":37753,"mutability":"mutable","name":"m3","nameLocation":"346209:2:21","nodeType":"VariableDeclaration","scope":37777,"src":"346201:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346201:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37754,"nodeType":"VariableDeclarationStatement","src":"346201:10:21"},{"assignments":[37756],"declarations":[{"constant":false,"id":37756,"mutability":"mutable","name":"m4","nameLocation":"346229:2:21","nodeType":"VariableDeclaration","scope":37777,"src":"346221:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346221:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37757,"nodeType":"VariableDeclarationStatement","src":"346221:10:21"},{"assignments":[37759],"declarations":[{"constant":false,"id":37759,"mutability":"mutable","name":"m5","nameLocation":"346249:2:21","nodeType":"VariableDeclaration","scope":37777,"src":"346241:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346241:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37760,"nodeType":"VariableDeclarationStatement","src":"346241:10:21"},{"assignments":[37762],"declarations":[{"constant":false,"id":37762,"mutability":"mutable","name":"m6","nameLocation":"346269:2:21","nodeType":"VariableDeclaration","scope":37777,"src":"346261:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346261:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37763,"nodeType":"VariableDeclarationStatement","src":"346261:10:21"},{"assignments":[37765],"declarations":[{"constant":false,"id":37765,"mutability":"mutable","name":"m7","nameLocation":"346289:2:21","nodeType":"VariableDeclaration","scope":37777,"src":"346281:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346281:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37766,"nodeType":"VariableDeclarationStatement","src":"346281:10:21"},{"assignments":[37768],"declarations":[{"constant":false,"id":37768,"mutability":"mutable","name":"m8","nameLocation":"346309:2:21","nodeType":"VariableDeclaration","scope":37777,"src":"346301:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346301:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37769,"nodeType":"VariableDeclarationStatement","src":"346301:10:21"},{"AST":{"nativeSrc":"346373:924:21","nodeType":"YulBlock","src":"346373:924:21","statements":[{"body":{"nativeSrc":"346416:313:21","nodeType":"YulBlock","src":"346416:313:21","statements":[{"nativeSrc":"346434:15:21","nodeType":"YulVariableDeclaration","src":"346434:15:21","value":{"kind":"number","nativeSrc":"346448:1:21","nodeType":"YulLiteral","src":"346448:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"346438:6:21","nodeType":"YulTypedName","src":"346438:6:21","type":""}]},{"body":{"nativeSrc":"346519:40:21","nodeType":"YulBlock","src":"346519:40:21","statements":[{"body":{"nativeSrc":"346548:9:21","nodeType":"YulBlock","src":"346548:9:21","statements":[{"nativeSrc":"346550:5:21","nodeType":"YulBreak","src":"346550:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"346536:6:21","nodeType":"YulIdentifier","src":"346536:6:21"},{"name":"w","nativeSrc":"346544:1:21","nodeType":"YulIdentifier","src":"346544:1:21"}],"functionName":{"name":"byte","nativeSrc":"346531:4:21","nodeType":"YulIdentifier","src":"346531:4:21"},"nativeSrc":"346531:15:21","nodeType":"YulFunctionCall","src":"346531:15:21"}],"functionName":{"name":"iszero","nativeSrc":"346524:6:21","nodeType":"YulIdentifier","src":"346524:6:21"},"nativeSrc":"346524:23:21","nodeType":"YulFunctionCall","src":"346524:23:21"},"nativeSrc":"346521:36:21","nodeType":"YulIf","src":"346521:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"346476:6:21","nodeType":"YulIdentifier","src":"346476:6:21"},{"kind":"number","nativeSrc":"346484:4:21","nodeType":"YulLiteral","src":"346484:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"346473:2:21","nodeType":"YulIdentifier","src":"346473:2:21"},"nativeSrc":"346473:16:21","nodeType":"YulFunctionCall","src":"346473:16:21"},"nativeSrc":"346466:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"346490:28:21","nodeType":"YulBlock","src":"346490:28:21","statements":[{"nativeSrc":"346492:24:21","nodeType":"YulAssignment","src":"346492:24:21","value":{"arguments":[{"name":"length","nativeSrc":"346506:6:21","nodeType":"YulIdentifier","src":"346506:6:21"},{"kind":"number","nativeSrc":"346514:1:21","nodeType":"YulLiteral","src":"346514:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"346502:3:21","nodeType":"YulIdentifier","src":"346502:3:21"},"nativeSrc":"346502:14:21","nodeType":"YulFunctionCall","src":"346502:14:21"},"variableNames":[{"name":"length","nativeSrc":"346492:6:21","nodeType":"YulIdentifier","src":"346492:6:21"}]}]},"pre":{"nativeSrc":"346470:2:21","nodeType":"YulBlock","src":"346470:2:21","statements":[]},"src":"346466:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"346583:3:21","nodeType":"YulIdentifier","src":"346583:3:21"},{"name":"length","nativeSrc":"346588:6:21","nodeType":"YulIdentifier","src":"346588:6:21"}],"functionName":{"name":"mstore","nativeSrc":"346576:6:21","nodeType":"YulIdentifier","src":"346576:6:21"},"nativeSrc":"346576:19:21","nodeType":"YulFunctionCall","src":"346576:19:21"},"nativeSrc":"346576:19:21","nodeType":"YulExpressionStatement","src":"346576:19:21"},{"nativeSrc":"346612:37:21","nodeType":"YulVariableDeclaration","src":"346612:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"346629:3:21","nodeType":"YulLiteral","src":"346629:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"346638:1:21","nodeType":"YulLiteral","src":"346638:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"346641:6:21","nodeType":"YulIdentifier","src":"346641:6:21"}],"functionName":{"name":"shl","nativeSrc":"346634:3:21","nodeType":"YulIdentifier","src":"346634:3:21"},"nativeSrc":"346634:14:21","nodeType":"YulFunctionCall","src":"346634:14:21"}],"functionName":{"name":"sub","nativeSrc":"346625:3:21","nodeType":"YulIdentifier","src":"346625:3:21"},"nativeSrc":"346625:24:21","nodeType":"YulFunctionCall","src":"346625:24:21"},"variables":[{"name":"shift","nativeSrc":"346616:5:21","nodeType":"YulTypedName","src":"346616:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"346677:3:21","nodeType":"YulIdentifier","src":"346677:3:21"},{"kind":"number","nativeSrc":"346682:4:21","nodeType":"YulLiteral","src":"346682:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"346673:3:21","nodeType":"YulIdentifier","src":"346673:3:21"},"nativeSrc":"346673:14:21","nodeType":"YulFunctionCall","src":"346673:14:21"},{"arguments":[{"name":"shift","nativeSrc":"346693:5:21","nodeType":"YulIdentifier","src":"346693:5:21"},{"arguments":[{"name":"shift","nativeSrc":"346704:5:21","nodeType":"YulIdentifier","src":"346704:5:21"},{"name":"w","nativeSrc":"346711:1:21","nodeType":"YulIdentifier","src":"346711:1:21"}],"functionName":{"name":"shr","nativeSrc":"346700:3:21","nodeType":"YulIdentifier","src":"346700:3:21"},"nativeSrc":"346700:13:21","nodeType":"YulFunctionCall","src":"346700:13:21"}],"functionName":{"name":"shl","nativeSrc":"346689:3:21","nodeType":"YulIdentifier","src":"346689:3:21"},"nativeSrc":"346689:25:21","nodeType":"YulFunctionCall","src":"346689:25:21"}],"functionName":{"name":"mstore","nativeSrc":"346666:6:21","nodeType":"YulIdentifier","src":"346666:6:21"},"nativeSrc":"346666:49:21","nodeType":"YulFunctionCall","src":"346666:49:21"},"nativeSrc":"346666:49:21","nodeType":"YulExpressionStatement","src":"346666:49:21"}]},"name":"writeString","nativeSrc":"346387:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"346408:3:21","nodeType":"YulTypedName","src":"346408:3:21","type":""},{"name":"w","nativeSrc":"346413:1:21","nodeType":"YulTypedName","src":"346413:1:21","type":""}],"src":"346387:342:21"},{"nativeSrc":"346742:17:21","nodeType":"YulAssignment","src":"346742:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"346754:4:21","nodeType":"YulLiteral","src":"346754:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"346748:5:21","nodeType":"YulIdentifier","src":"346748:5:21"},"nativeSrc":"346748:11:21","nodeType":"YulFunctionCall","src":"346748:11:21"},"variableNames":[{"name":"m0","nativeSrc":"346742:2:21","nodeType":"YulIdentifier","src":"346742:2:21"}]},{"nativeSrc":"346772:17:21","nodeType":"YulAssignment","src":"346772:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"346784:4:21","nodeType":"YulLiteral","src":"346784:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"346778:5:21","nodeType":"YulIdentifier","src":"346778:5:21"},"nativeSrc":"346778:11:21","nodeType":"YulFunctionCall","src":"346778:11:21"},"variableNames":[{"name":"m1","nativeSrc":"346772:2:21","nodeType":"YulIdentifier","src":"346772:2:21"}]},{"nativeSrc":"346802:17:21","nodeType":"YulAssignment","src":"346802:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"346814:4:21","nodeType":"YulLiteral","src":"346814:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"346808:5:21","nodeType":"YulIdentifier","src":"346808:5:21"},"nativeSrc":"346808:11:21","nodeType":"YulFunctionCall","src":"346808:11:21"},"variableNames":[{"name":"m2","nativeSrc":"346802:2:21","nodeType":"YulIdentifier","src":"346802:2:21"}]},{"nativeSrc":"346832:17:21","nodeType":"YulAssignment","src":"346832:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"346844:4:21","nodeType":"YulLiteral","src":"346844:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"346838:5:21","nodeType":"YulIdentifier","src":"346838:5:21"},"nativeSrc":"346838:11:21","nodeType":"YulFunctionCall","src":"346838:11:21"},"variableNames":[{"name":"m3","nativeSrc":"346832:2:21","nodeType":"YulIdentifier","src":"346832:2:21"}]},{"nativeSrc":"346862:17:21","nodeType":"YulAssignment","src":"346862:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"346874:4:21","nodeType":"YulLiteral","src":"346874:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"346868:5:21","nodeType":"YulIdentifier","src":"346868:5:21"},"nativeSrc":"346868:11:21","nodeType":"YulFunctionCall","src":"346868:11:21"},"variableNames":[{"name":"m4","nativeSrc":"346862:2:21","nodeType":"YulIdentifier","src":"346862:2:21"}]},{"nativeSrc":"346892:17:21","nodeType":"YulAssignment","src":"346892:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"346904:4:21","nodeType":"YulLiteral","src":"346904:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"346898:5:21","nodeType":"YulIdentifier","src":"346898:5:21"},"nativeSrc":"346898:11:21","nodeType":"YulFunctionCall","src":"346898:11:21"},"variableNames":[{"name":"m5","nativeSrc":"346892:2:21","nodeType":"YulIdentifier","src":"346892:2:21"}]},{"nativeSrc":"346922:17:21","nodeType":"YulAssignment","src":"346922:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"346934:4:21","nodeType":"YulLiteral","src":"346934:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"346928:5:21","nodeType":"YulIdentifier","src":"346928:5:21"},"nativeSrc":"346928:11:21","nodeType":"YulFunctionCall","src":"346928:11:21"},"variableNames":[{"name":"m6","nativeSrc":"346922:2:21","nodeType":"YulIdentifier","src":"346922:2:21"}]},{"nativeSrc":"346952:17:21","nodeType":"YulAssignment","src":"346952:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"346964:4:21","nodeType":"YulLiteral","src":"346964:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"346958:5:21","nodeType":"YulIdentifier","src":"346958:5:21"},"nativeSrc":"346958:11:21","nodeType":"YulFunctionCall","src":"346958:11:21"},"variableNames":[{"name":"m7","nativeSrc":"346952:2:21","nodeType":"YulIdentifier","src":"346952:2:21"}]},{"nativeSrc":"346982:18:21","nodeType":"YulAssignment","src":"346982:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"346994:5:21","nodeType":"YulLiteral","src":"346994:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"346988:5:21","nodeType":"YulIdentifier","src":"346988:5:21"},"nativeSrc":"346988:12:21","nodeType":"YulFunctionCall","src":"346988:12:21"},"variableNames":[{"name":"m8","nativeSrc":"346982:2:21","nodeType":"YulIdentifier","src":"346982:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347082:4:21","nodeType":"YulLiteral","src":"347082:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"347088:10:21","nodeType":"YulLiteral","src":"347088:10:21","type":"","value":"0x5f15d28c"}],"functionName":{"name":"mstore","nativeSrc":"347075:6:21","nodeType":"YulIdentifier","src":"347075:6:21"},"nativeSrc":"347075:24:21","nodeType":"YulFunctionCall","src":"347075:24:21"},"nativeSrc":"347075:24:21","nodeType":"YulExpressionStatement","src":"347075:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347119:4:21","nodeType":"YulLiteral","src":"347119:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"347125:4:21","nodeType":"YulLiteral","src":"347125:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"347112:6:21","nodeType":"YulIdentifier","src":"347112:6:21"},"nativeSrc":"347112:18:21","nodeType":"YulFunctionCall","src":"347112:18:21"},"nativeSrc":"347112:18:21","nodeType":"YulExpressionStatement","src":"347112:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347150:4:21","nodeType":"YulLiteral","src":"347150:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"347156:2:21","nodeType":"YulIdentifier","src":"347156:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347143:6:21","nodeType":"YulIdentifier","src":"347143:6:21"},"nativeSrc":"347143:16:21","nodeType":"YulFunctionCall","src":"347143:16:21"},"nativeSrc":"347143:16:21","nodeType":"YulExpressionStatement","src":"347143:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347179:4:21","nodeType":"YulLiteral","src":"347179:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"347185:4:21","nodeType":"YulLiteral","src":"347185:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"347172:6:21","nodeType":"YulIdentifier","src":"347172:6:21"},"nativeSrc":"347172:18:21","nodeType":"YulFunctionCall","src":"347172:18:21"},"nativeSrc":"347172:18:21","nodeType":"YulExpressionStatement","src":"347172:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347210:4:21","nodeType":"YulLiteral","src":"347210:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"347216:2:21","nodeType":"YulIdentifier","src":"347216:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347203:6:21","nodeType":"YulIdentifier","src":"347203:6:21"},"nativeSrc":"347203:16:21","nodeType":"YulFunctionCall","src":"347203:16:21"},"nativeSrc":"347203:16:21","nodeType":"YulExpressionStatement","src":"347203:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347244:4:21","nodeType":"YulLiteral","src":"347244:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"347250:2:21","nodeType":"YulIdentifier","src":"347250:2:21"}],"functionName":{"name":"writeString","nativeSrc":"347232:11:21","nodeType":"YulIdentifier","src":"347232:11:21"},"nativeSrc":"347232:21:21","nodeType":"YulFunctionCall","src":"347232:21:21"},"nativeSrc":"347232:21:21","nodeType":"YulExpressionStatement","src":"347232:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347278:4:21","nodeType":"YulLiteral","src":"347278:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"347284:2:21","nodeType":"YulIdentifier","src":"347284:2:21"}],"functionName":{"name":"writeString","nativeSrc":"347266:11:21","nodeType":"YulIdentifier","src":"347266:11:21"},"nativeSrc":"347266:21:21","nodeType":"YulFunctionCall","src":"347266:21:21"},"nativeSrc":"347266:21:21","nodeType":"YulExpressionStatement","src":"347266:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37744,"isOffset":false,"isSlot":false,"src":"346742:2:21","valueSize":1},{"declaration":37747,"isOffset":false,"isSlot":false,"src":"346772:2:21","valueSize":1},{"declaration":37750,"isOffset":false,"isSlot":false,"src":"346802:2:21","valueSize":1},{"declaration":37753,"isOffset":false,"isSlot":false,"src":"346832:2:21","valueSize":1},{"declaration":37756,"isOffset":false,"isSlot":false,"src":"346862:2:21","valueSize":1},{"declaration":37759,"isOffset":false,"isSlot":false,"src":"346892:2:21","valueSize":1},{"declaration":37762,"isOffset":false,"isSlot":false,"src":"346922:2:21","valueSize":1},{"declaration":37765,"isOffset":false,"isSlot":false,"src":"346952:2:21","valueSize":1},{"declaration":37768,"isOffset":false,"isSlot":false,"src":"346982:2:21","valueSize":1},{"declaration":37734,"isOffset":false,"isSlot":false,"src":"347250:2:21","valueSize":1},{"declaration":37736,"isOffset":false,"isSlot":false,"src":"347156:2:21","valueSize":1},{"declaration":37738,"isOffset":false,"isSlot":false,"src":"347284:2:21","valueSize":1},{"declaration":37740,"isOffset":false,"isSlot":false,"src":"347216:2:21","valueSize":1}],"id":37770,"nodeType":"InlineAssembly","src":"346364:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"347322:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"347328:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37771,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"347306:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"347306:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37775,"nodeType":"ExpressionStatement","src":"347306:28:21"},{"AST":{"nativeSrc":"347396:273:21","nodeType":"YulBlock","src":"347396:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"347417:4:21","nodeType":"YulLiteral","src":"347417:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"347423:2:21","nodeType":"YulIdentifier","src":"347423:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347410:6:21","nodeType":"YulIdentifier","src":"347410:6:21"},"nativeSrc":"347410:16:21","nodeType":"YulFunctionCall","src":"347410:16:21"},"nativeSrc":"347410:16:21","nodeType":"YulExpressionStatement","src":"347410:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347446:4:21","nodeType":"YulLiteral","src":"347446:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"347452:2:21","nodeType":"YulIdentifier","src":"347452:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347439:6:21","nodeType":"YulIdentifier","src":"347439:6:21"},"nativeSrc":"347439:16:21","nodeType":"YulFunctionCall","src":"347439:16:21"},"nativeSrc":"347439:16:21","nodeType":"YulExpressionStatement","src":"347439:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347475:4:21","nodeType":"YulLiteral","src":"347475:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"347481:2:21","nodeType":"YulIdentifier","src":"347481:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347468:6:21","nodeType":"YulIdentifier","src":"347468:6:21"},"nativeSrc":"347468:16:21","nodeType":"YulFunctionCall","src":"347468:16:21"},"nativeSrc":"347468:16:21","nodeType":"YulExpressionStatement","src":"347468:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347504:4:21","nodeType":"YulLiteral","src":"347504:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"347510:2:21","nodeType":"YulIdentifier","src":"347510:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347497:6:21","nodeType":"YulIdentifier","src":"347497:6:21"},"nativeSrc":"347497:16:21","nodeType":"YulFunctionCall","src":"347497:16:21"},"nativeSrc":"347497:16:21","nodeType":"YulExpressionStatement","src":"347497:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347533:4:21","nodeType":"YulLiteral","src":"347533:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"347539:2:21","nodeType":"YulIdentifier","src":"347539:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347526:6:21","nodeType":"YulIdentifier","src":"347526:6:21"},"nativeSrc":"347526:16:21","nodeType":"YulFunctionCall","src":"347526:16:21"},"nativeSrc":"347526:16:21","nodeType":"YulExpressionStatement","src":"347526:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347562:4:21","nodeType":"YulLiteral","src":"347562:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"347568:2:21","nodeType":"YulIdentifier","src":"347568:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347555:6:21","nodeType":"YulIdentifier","src":"347555:6:21"},"nativeSrc":"347555:16:21","nodeType":"YulFunctionCall","src":"347555:16:21"},"nativeSrc":"347555:16:21","nodeType":"YulExpressionStatement","src":"347555:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347591:4:21","nodeType":"YulLiteral","src":"347591:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"347597:2:21","nodeType":"YulIdentifier","src":"347597:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347584:6:21","nodeType":"YulIdentifier","src":"347584:6:21"},"nativeSrc":"347584:16:21","nodeType":"YulFunctionCall","src":"347584:16:21"},"nativeSrc":"347584:16:21","nodeType":"YulExpressionStatement","src":"347584:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347620:4:21","nodeType":"YulLiteral","src":"347620:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"347626:2:21","nodeType":"YulIdentifier","src":"347626:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347613:6:21","nodeType":"YulIdentifier","src":"347613:6:21"},"nativeSrc":"347613:16:21","nodeType":"YulFunctionCall","src":"347613:16:21"},"nativeSrc":"347613:16:21","nodeType":"YulExpressionStatement","src":"347613:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347649:5:21","nodeType":"YulLiteral","src":"347649:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"347656:2:21","nodeType":"YulIdentifier","src":"347656:2:21"}],"functionName":{"name":"mstore","nativeSrc":"347642:6:21","nodeType":"YulIdentifier","src":"347642:6:21"},"nativeSrc":"347642:17:21","nodeType":"YulFunctionCall","src":"347642:17:21"},"nativeSrc":"347642:17:21","nodeType":"YulExpressionStatement","src":"347642:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37744,"isOffset":false,"isSlot":false,"src":"347423:2:21","valueSize":1},{"declaration":37747,"isOffset":false,"isSlot":false,"src":"347452:2:21","valueSize":1},{"declaration":37750,"isOffset":false,"isSlot":false,"src":"347481:2:21","valueSize":1},{"declaration":37753,"isOffset":false,"isSlot":false,"src":"347510:2:21","valueSize":1},{"declaration":37756,"isOffset":false,"isSlot":false,"src":"347539:2:21","valueSize":1},{"declaration":37759,"isOffset":false,"isSlot":false,"src":"347568:2:21","valueSize":1},{"declaration":37762,"isOffset":false,"isSlot":false,"src":"347597:2:21","valueSize":1},{"declaration":37765,"isOffset":false,"isSlot":false,"src":"347626:2:21","valueSize":1},{"declaration":37768,"isOffset":false,"isSlot":false,"src":"347656:2:21","valueSize":1}],"id":37776,"nodeType":"InlineAssembly","src":"347387:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"346068:3:21","parameters":{"id":37741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37734,"mutability":"mutable","name":"p0","nameLocation":"346080:2:21","nodeType":"VariableDeclaration","scope":37778,"src":"346072:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346072:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37736,"mutability":"mutable","name":"p1","nameLocation":"346092:2:21","nodeType":"VariableDeclaration","scope":37778,"src":"346084:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37735,"name":"address","nodeType":"ElementaryTypeName","src":"346084:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37738,"mutability":"mutable","name":"p2","nameLocation":"346104:2:21","nodeType":"VariableDeclaration","scope":37778,"src":"346096:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37737,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346096:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37740,"mutability":"mutable","name":"p3","nameLocation":"346113:2:21","nodeType":"VariableDeclaration","scope":37778,"src":"346108:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37739,"name":"bool","nodeType":"ElementaryTypeName","src":"346108:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"346071:45:21"},"returnParameters":{"id":37742,"nodeType":"ParameterList","parameters":[],"src":"346131:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37824,"nodeType":"FunctionDefinition","src":"347681:1622:21","nodes":[],"body":{"id":37823,"nodeType":"Block","src":"347756:1547:21","nodes":[],"statements":[{"assignments":[37790],"declarations":[{"constant":false,"id":37790,"mutability":"mutable","name":"m0","nameLocation":"347774:2:21","nodeType":"VariableDeclaration","scope":37823,"src":"347766:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347766:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37791,"nodeType":"VariableDeclarationStatement","src":"347766:10:21"},{"assignments":[37793],"declarations":[{"constant":false,"id":37793,"mutability":"mutable","name":"m1","nameLocation":"347794:2:21","nodeType":"VariableDeclaration","scope":37823,"src":"347786:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347786:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37794,"nodeType":"VariableDeclarationStatement","src":"347786:10:21"},{"assignments":[37796],"declarations":[{"constant":false,"id":37796,"mutability":"mutable","name":"m2","nameLocation":"347814:2:21","nodeType":"VariableDeclaration","scope":37823,"src":"347806:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347806:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37797,"nodeType":"VariableDeclarationStatement","src":"347806:10:21"},{"assignments":[37799],"declarations":[{"constant":false,"id":37799,"mutability":"mutable","name":"m3","nameLocation":"347834:2:21","nodeType":"VariableDeclaration","scope":37823,"src":"347826:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347826:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37800,"nodeType":"VariableDeclarationStatement","src":"347826:10:21"},{"assignments":[37802],"declarations":[{"constant":false,"id":37802,"mutability":"mutable","name":"m4","nameLocation":"347854:2:21","nodeType":"VariableDeclaration","scope":37823,"src":"347846:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37801,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347846:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37803,"nodeType":"VariableDeclarationStatement","src":"347846:10:21"},{"assignments":[37805],"declarations":[{"constant":false,"id":37805,"mutability":"mutable","name":"m5","nameLocation":"347874:2:21","nodeType":"VariableDeclaration","scope":37823,"src":"347866:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37804,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347866:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37806,"nodeType":"VariableDeclarationStatement","src":"347866:10:21"},{"assignments":[37808],"declarations":[{"constant":false,"id":37808,"mutability":"mutable","name":"m6","nameLocation":"347894:2:21","nodeType":"VariableDeclaration","scope":37823,"src":"347886:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347886:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37809,"nodeType":"VariableDeclarationStatement","src":"347886:10:21"},{"assignments":[37811],"declarations":[{"constant":false,"id":37811,"mutability":"mutable","name":"m7","nameLocation":"347914:2:21","nodeType":"VariableDeclaration","scope":37823,"src":"347906:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37810,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347906:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37812,"nodeType":"VariableDeclarationStatement","src":"347906:10:21"},{"assignments":[37814],"declarations":[{"constant":false,"id":37814,"mutability":"mutable","name":"m8","nameLocation":"347934:2:21","nodeType":"VariableDeclaration","scope":37823,"src":"347926:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347926:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37815,"nodeType":"VariableDeclarationStatement","src":"347926:10:21"},{"AST":{"nativeSrc":"347998:927:21","nodeType":"YulBlock","src":"347998:927:21","statements":[{"body":{"nativeSrc":"348041:313:21","nodeType":"YulBlock","src":"348041:313:21","statements":[{"nativeSrc":"348059:15:21","nodeType":"YulVariableDeclaration","src":"348059:15:21","value":{"kind":"number","nativeSrc":"348073:1:21","nodeType":"YulLiteral","src":"348073:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"348063:6:21","nodeType":"YulTypedName","src":"348063:6:21","type":""}]},{"body":{"nativeSrc":"348144:40:21","nodeType":"YulBlock","src":"348144:40:21","statements":[{"body":{"nativeSrc":"348173:9:21","nodeType":"YulBlock","src":"348173:9:21","statements":[{"nativeSrc":"348175:5:21","nodeType":"YulBreak","src":"348175:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"348161:6:21","nodeType":"YulIdentifier","src":"348161:6:21"},{"name":"w","nativeSrc":"348169:1:21","nodeType":"YulIdentifier","src":"348169:1:21"}],"functionName":{"name":"byte","nativeSrc":"348156:4:21","nodeType":"YulIdentifier","src":"348156:4:21"},"nativeSrc":"348156:15:21","nodeType":"YulFunctionCall","src":"348156:15:21"}],"functionName":{"name":"iszero","nativeSrc":"348149:6:21","nodeType":"YulIdentifier","src":"348149:6:21"},"nativeSrc":"348149:23:21","nodeType":"YulFunctionCall","src":"348149:23:21"},"nativeSrc":"348146:36:21","nodeType":"YulIf","src":"348146:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"348101:6:21","nodeType":"YulIdentifier","src":"348101:6:21"},{"kind":"number","nativeSrc":"348109:4:21","nodeType":"YulLiteral","src":"348109:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"348098:2:21","nodeType":"YulIdentifier","src":"348098:2:21"},"nativeSrc":"348098:16:21","nodeType":"YulFunctionCall","src":"348098:16:21"},"nativeSrc":"348091:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"348115:28:21","nodeType":"YulBlock","src":"348115:28:21","statements":[{"nativeSrc":"348117:24:21","nodeType":"YulAssignment","src":"348117:24:21","value":{"arguments":[{"name":"length","nativeSrc":"348131:6:21","nodeType":"YulIdentifier","src":"348131:6:21"},{"kind":"number","nativeSrc":"348139:1:21","nodeType":"YulLiteral","src":"348139:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"348127:3:21","nodeType":"YulIdentifier","src":"348127:3:21"},"nativeSrc":"348127:14:21","nodeType":"YulFunctionCall","src":"348127:14:21"},"variableNames":[{"name":"length","nativeSrc":"348117:6:21","nodeType":"YulIdentifier","src":"348117:6:21"}]}]},"pre":{"nativeSrc":"348095:2:21","nodeType":"YulBlock","src":"348095:2:21","statements":[]},"src":"348091:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"348208:3:21","nodeType":"YulIdentifier","src":"348208:3:21"},{"name":"length","nativeSrc":"348213:6:21","nodeType":"YulIdentifier","src":"348213:6:21"}],"functionName":{"name":"mstore","nativeSrc":"348201:6:21","nodeType":"YulIdentifier","src":"348201:6:21"},"nativeSrc":"348201:19:21","nodeType":"YulFunctionCall","src":"348201:19:21"},"nativeSrc":"348201:19:21","nodeType":"YulExpressionStatement","src":"348201:19:21"},{"nativeSrc":"348237:37:21","nodeType":"YulVariableDeclaration","src":"348237:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"348254:3:21","nodeType":"YulLiteral","src":"348254:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"348263:1:21","nodeType":"YulLiteral","src":"348263:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"348266:6:21","nodeType":"YulIdentifier","src":"348266:6:21"}],"functionName":{"name":"shl","nativeSrc":"348259:3:21","nodeType":"YulIdentifier","src":"348259:3:21"},"nativeSrc":"348259:14:21","nodeType":"YulFunctionCall","src":"348259:14:21"}],"functionName":{"name":"sub","nativeSrc":"348250:3:21","nodeType":"YulIdentifier","src":"348250:3:21"},"nativeSrc":"348250:24:21","nodeType":"YulFunctionCall","src":"348250:24:21"},"variables":[{"name":"shift","nativeSrc":"348241:5:21","nodeType":"YulTypedName","src":"348241:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"348302:3:21","nodeType":"YulIdentifier","src":"348302:3:21"},{"kind":"number","nativeSrc":"348307:4:21","nodeType":"YulLiteral","src":"348307:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"348298:3:21","nodeType":"YulIdentifier","src":"348298:3:21"},"nativeSrc":"348298:14:21","nodeType":"YulFunctionCall","src":"348298:14:21"},{"arguments":[{"name":"shift","nativeSrc":"348318:5:21","nodeType":"YulIdentifier","src":"348318:5:21"},{"arguments":[{"name":"shift","nativeSrc":"348329:5:21","nodeType":"YulIdentifier","src":"348329:5:21"},{"name":"w","nativeSrc":"348336:1:21","nodeType":"YulIdentifier","src":"348336:1:21"}],"functionName":{"name":"shr","nativeSrc":"348325:3:21","nodeType":"YulIdentifier","src":"348325:3:21"},"nativeSrc":"348325:13:21","nodeType":"YulFunctionCall","src":"348325:13:21"}],"functionName":{"name":"shl","nativeSrc":"348314:3:21","nodeType":"YulIdentifier","src":"348314:3:21"},"nativeSrc":"348314:25:21","nodeType":"YulFunctionCall","src":"348314:25:21"}],"functionName":{"name":"mstore","nativeSrc":"348291:6:21","nodeType":"YulIdentifier","src":"348291:6:21"},"nativeSrc":"348291:49:21","nodeType":"YulFunctionCall","src":"348291:49:21"},"nativeSrc":"348291:49:21","nodeType":"YulExpressionStatement","src":"348291:49:21"}]},"name":"writeString","nativeSrc":"348012:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"348033:3:21","nodeType":"YulTypedName","src":"348033:3:21","type":""},{"name":"w","nativeSrc":"348038:1:21","nodeType":"YulTypedName","src":"348038:1:21","type":""}],"src":"348012:342:21"},{"nativeSrc":"348367:17:21","nodeType":"YulAssignment","src":"348367:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"348379:4:21","nodeType":"YulLiteral","src":"348379:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"348373:5:21","nodeType":"YulIdentifier","src":"348373:5:21"},"nativeSrc":"348373:11:21","nodeType":"YulFunctionCall","src":"348373:11:21"},"variableNames":[{"name":"m0","nativeSrc":"348367:2:21","nodeType":"YulIdentifier","src":"348367:2:21"}]},{"nativeSrc":"348397:17:21","nodeType":"YulAssignment","src":"348397:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"348409:4:21","nodeType":"YulLiteral","src":"348409:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"348403:5:21","nodeType":"YulIdentifier","src":"348403:5:21"},"nativeSrc":"348403:11:21","nodeType":"YulFunctionCall","src":"348403:11:21"},"variableNames":[{"name":"m1","nativeSrc":"348397:2:21","nodeType":"YulIdentifier","src":"348397:2:21"}]},{"nativeSrc":"348427:17:21","nodeType":"YulAssignment","src":"348427:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"348439:4:21","nodeType":"YulLiteral","src":"348439:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"348433:5:21","nodeType":"YulIdentifier","src":"348433:5:21"},"nativeSrc":"348433:11:21","nodeType":"YulFunctionCall","src":"348433:11:21"},"variableNames":[{"name":"m2","nativeSrc":"348427:2:21","nodeType":"YulIdentifier","src":"348427:2:21"}]},{"nativeSrc":"348457:17:21","nodeType":"YulAssignment","src":"348457:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"348469:4:21","nodeType":"YulLiteral","src":"348469:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"348463:5:21","nodeType":"YulIdentifier","src":"348463:5:21"},"nativeSrc":"348463:11:21","nodeType":"YulFunctionCall","src":"348463:11:21"},"variableNames":[{"name":"m3","nativeSrc":"348457:2:21","nodeType":"YulIdentifier","src":"348457:2:21"}]},{"nativeSrc":"348487:17:21","nodeType":"YulAssignment","src":"348487:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"348499:4:21","nodeType":"YulLiteral","src":"348499:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"348493:5:21","nodeType":"YulIdentifier","src":"348493:5:21"},"nativeSrc":"348493:11:21","nodeType":"YulFunctionCall","src":"348493:11:21"},"variableNames":[{"name":"m4","nativeSrc":"348487:2:21","nodeType":"YulIdentifier","src":"348487:2:21"}]},{"nativeSrc":"348517:17:21","nodeType":"YulAssignment","src":"348517:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"348529:4:21","nodeType":"YulLiteral","src":"348529:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"348523:5:21","nodeType":"YulIdentifier","src":"348523:5:21"},"nativeSrc":"348523:11:21","nodeType":"YulFunctionCall","src":"348523:11:21"},"variableNames":[{"name":"m5","nativeSrc":"348517:2:21","nodeType":"YulIdentifier","src":"348517:2:21"}]},{"nativeSrc":"348547:17:21","nodeType":"YulAssignment","src":"348547:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"348559:4:21","nodeType":"YulLiteral","src":"348559:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"348553:5:21","nodeType":"YulIdentifier","src":"348553:5:21"},"nativeSrc":"348553:11:21","nodeType":"YulFunctionCall","src":"348553:11:21"},"variableNames":[{"name":"m6","nativeSrc":"348547:2:21","nodeType":"YulIdentifier","src":"348547:2:21"}]},{"nativeSrc":"348577:17:21","nodeType":"YulAssignment","src":"348577:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"348589:4:21","nodeType":"YulLiteral","src":"348589:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"348583:5:21","nodeType":"YulIdentifier","src":"348583:5:21"},"nativeSrc":"348583:11:21","nodeType":"YulFunctionCall","src":"348583:11:21"},"variableNames":[{"name":"m7","nativeSrc":"348577:2:21","nodeType":"YulIdentifier","src":"348577:2:21"}]},{"nativeSrc":"348607:18:21","nodeType":"YulAssignment","src":"348607:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"348619:5:21","nodeType":"YulLiteral","src":"348619:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"348613:5:21","nodeType":"YulIdentifier","src":"348613:5:21"},"nativeSrc":"348613:12:21","nodeType":"YulFunctionCall","src":"348613:12:21"},"variableNames":[{"name":"m8","nativeSrc":"348607:2:21","nodeType":"YulIdentifier","src":"348607:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348710:4:21","nodeType":"YulLiteral","src":"348710:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"348716:10:21","nodeType":"YulLiteral","src":"348716:10:21","type":"","value":"0x91d1112e"}],"functionName":{"name":"mstore","nativeSrc":"348703:6:21","nodeType":"YulIdentifier","src":"348703:6:21"},"nativeSrc":"348703:24:21","nodeType":"YulFunctionCall","src":"348703:24:21"},"nativeSrc":"348703:24:21","nodeType":"YulExpressionStatement","src":"348703:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348747:4:21","nodeType":"YulLiteral","src":"348747:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"348753:4:21","nodeType":"YulLiteral","src":"348753:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"348740:6:21","nodeType":"YulIdentifier","src":"348740:6:21"},"nativeSrc":"348740:18:21","nodeType":"YulFunctionCall","src":"348740:18:21"},"nativeSrc":"348740:18:21","nodeType":"YulExpressionStatement","src":"348740:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348778:4:21","nodeType":"YulLiteral","src":"348778:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"348784:2:21","nodeType":"YulIdentifier","src":"348784:2:21"}],"functionName":{"name":"mstore","nativeSrc":"348771:6:21","nodeType":"YulIdentifier","src":"348771:6:21"},"nativeSrc":"348771:16:21","nodeType":"YulFunctionCall","src":"348771:16:21"},"nativeSrc":"348771:16:21","nodeType":"YulExpressionStatement","src":"348771:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348807:4:21","nodeType":"YulLiteral","src":"348807:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"348813:4:21","nodeType":"YulLiteral","src":"348813:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"348800:6:21","nodeType":"YulIdentifier","src":"348800:6:21"},"nativeSrc":"348800:18:21","nodeType":"YulFunctionCall","src":"348800:18:21"},"nativeSrc":"348800:18:21","nodeType":"YulExpressionStatement","src":"348800:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348838:4:21","nodeType":"YulLiteral","src":"348838:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"348844:2:21","nodeType":"YulIdentifier","src":"348844:2:21"}],"functionName":{"name":"mstore","nativeSrc":"348831:6:21","nodeType":"YulIdentifier","src":"348831:6:21"},"nativeSrc":"348831:16:21","nodeType":"YulFunctionCall","src":"348831:16:21"},"nativeSrc":"348831:16:21","nodeType":"YulExpressionStatement","src":"348831:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348872:4:21","nodeType":"YulLiteral","src":"348872:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"348878:2:21","nodeType":"YulIdentifier","src":"348878:2:21"}],"functionName":{"name":"writeString","nativeSrc":"348860:11:21","nodeType":"YulIdentifier","src":"348860:11:21"},"nativeSrc":"348860:21:21","nodeType":"YulFunctionCall","src":"348860:21:21"},"nativeSrc":"348860:21:21","nodeType":"YulExpressionStatement","src":"348860:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348906:4:21","nodeType":"YulLiteral","src":"348906:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"348912:2:21","nodeType":"YulIdentifier","src":"348912:2:21"}],"functionName":{"name":"writeString","nativeSrc":"348894:11:21","nodeType":"YulIdentifier","src":"348894:11:21"},"nativeSrc":"348894:21:21","nodeType":"YulFunctionCall","src":"348894:21:21"},"nativeSrc":"348894:21:21","nodeType":"YulExpressionStatement","src":"348894:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37790,"isOffset":false,"isSlot":false,"src":"348367:2:21","valueSize":1},{"declaration":37793,"isOffset":false,"isSlot":false,"src":"348397:2:21","valueSize":1},{"declaration":37796,"isOffset":false,"isSlot":false,"src":"348427:2:21","valueSize":1},{"declaration":37799,"isOffset":false,"isSlot":false,"src":"348457:2:21","valueSize":1},{"declaration":37802,"isOffset":false,"isSlot":false,"src":"348487:2:21","valueSize":1},{"declaration":37805,"isOffset":false,"isSlot":false,"src":"348517:2:21","valueSize":1},{"declaration":37808,"isOffset":false,"isSlot":false,"src":"348547:2:21","valueSize":1},{"declaration":37811,"isOffset":false,"isSlot":false,"src":"348577:2:21","valueSize":1},{"declaration":37814,"isOffset":false,"isSlot":false,"src":"348607:2:21","valueSize":1},{"declaration":37780,"isOffset":false,"isSlot":false,"src":"348878:2:21","valueSize":1},{"declaration":37782,"isOffset":false,"isSlot":false,"src":"348784:2:21","valueSize":1},{"declaration":37784,"isOffset":false,"isSlot":false,"src":"348912:2:21","valueSize":1},{"declaration":37786,"isOffset":false,"isSlot":false,"src":"348844:2:21","valueSize":1}],"id":37816,"nodeType":"InlineAssembly","src":"347989:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"348950:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"348956:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37817,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"348934:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"348934:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37821,"nodeType":"ExpressionStatement","src":"348934:28:21"},{"AST":{"nativeSrc":"349024:273:21","nodeType":"YulBlock","src":"349024:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"349045:4:21","nodeType":"YulLiteral","src":"349045:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"349051:2:21","nodeType":"YulIdentifier","src":"349051:2:21"}],"functionName":{"name":"mstore","nativeSrc":"349038:6:21","nodeType":"YulIdentifier","src":"349038:6:21"},"nativeSrc":"349038:16:21","nodeType":"YulFunctionCall","src":"349038:16:21"},"nativeSrc":"349038:16:21","nodeType":"YulExpressionStatement","src":"349038:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349074:4:21","nodeType":"YulLiteral","src":"349074:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"349080:2:21","nodeType":"YulIdentifier","src":"349080:2:21"}],"functionName":{"name":"mstore","nativeSrc":"349067:6:21","nodeType":"YulIdentifier","src":"349067:6:21"},"nativeSrc":"349067:16:21","nodeType":"YulFunctionCall","src":"349067:16:21"},"nativeSrc":"349067:16:21","nodeType":"YulExpressionStatement","src":"349067:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349103:4:21","nodeType":"YulLiteral","src":"349103:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"349109:2:21","nodeType":"YulIdentifier","src":"349109:2:21"}],"functionName":{"name":"mstore","nativeSrc":"349096:6:21","nodeType":"YulIdentifier","src":"349096:6:21"},"nativeSrc":"349096:16:21","nodeType":"YulFunctionCall","src":"349096:16:21"},"nativeSrc":"349096:16:21","nodeType":"YulExpressionStatement","src":"349096:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349132:4:21","nodeType":"YulLiteral","src":"349132:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"349138:2:21","nodeType":"YulIdentifier","src":"349138:2:21"}],"functionName":{"name":"mstore","nativeSrc":"349125:6:21","nodeType":"YulIdentifier","src":"349125:6:21"},"nativeSrc":"349125:16:21","nodeType":"YulFunctionCall","src":"349125:16:21"},"nativeSrc":"349125:16:21","nodeType":"YulExpressionStatement","src":"349125:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349161:4:21","nodeType":"YulLiteral","src":"349161:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"349167:2:21","nodeType":"YulIdentifier","src":"349167:2:21"}],"functionName":{"name":"mstore","nativeSrc":"349154:6:21","nodeType":"YulIdentifier","src":"349154:6:21"},"nativeSrc":"349154:16:21","nodeType":"YulFunctionCall","src":"349154:16:21"},"nativeSrc":"349154:16:21","nodeType":"YulExpressionStatement","src":"349154:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349190:4:21","nodeType":"YulLiteral","src":"349190:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"349196:2:21","nodeType":"YulIdentifier","src":"349196:2:21"}],"functionName":{"name":"mstore","nativeSrc":"349183:6:21","nodeType":"YulIdentifier","src":"349183:6:21"},"nativeSrc":"349183:16:21","nodeType":"YulFunctionCall","src":"349183:16:21"},"nativeSrc":"349183:16:21","nodeType":"YulExpressionStatement","src":"349183:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349219:4:21","nodeType":"YulLiteral","src":"349219:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"349225:2:21","nodeType":"YulIdentifier","src":"349225:2:21"}],"functionName":{"name":"mstore","nativeSrc":"349212:6:21","nodeType":"YulIdentifier","src":"349212:6:21"},"nativeSrc":"349212:16:21","nodeType":"YulFunctionCall","src":"349212:16:21"},"nativeSrc":"349212:16:21","nodeType":"YulExpressionStatement","src":"349212:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349248:4:21","nodeType":"YulLiteral","src":"349248:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"349254:2:21","nodeType":"YulIdentifier","src":"349254:2:21"}],"functionName":{"name":"mstore","nativeSrc":"349241:6:21","nodeType":"YulIdentifier","src":"349241:6:21"},"nativeSrc":"349241:16:21","nodeType":"YulFunctionCall","src":"349241:16:21"},"nativeSrc":"349241:16:21","nodeType":"YulExpressionStatement","src":"349241:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349277:5:21","nodeType":"YulLiteral","src":"349277:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"349284:2:21","nodeType":"YulIdentifier","src":"349284:2:21"}],"functionName":{"name":"mstore","nativeSrc":"349270:6:21","nodeType":"YulIdentifier","src":"349270:6:21"},"nativeSrc":"349270:17:21","nodeType":"YulFunctionCall","src":"349270:17:21"},"nativeSrc":"349270:17:21","nodeType":"YulExpressionStatement","src":"349270:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37790,"isOffset":false,"isSlot":false,"src":"349051:2:21","valueSize":1},{"declaration":37793,"isOffset":false,"isSlot":false,"src":"349080:2:21","valueSize":1},{"declaration":37796,"isOffset":false,"isSlot":false,"src":"349109:2:21","valueSize":1},{"declaration":37799,"isOffset":false,"isSlot":false,"src":"349138:2:21","valueSize":1},{"declaration":37802,"isOffset":false,"isSlot":false,"src":"349167:2:21","valueSize":1},{"declaration":37805,"isOffset":false,"isSlot":false,"src":"349196:2:21","valueSize":1},{"declaration":37808,"isOffset":false,"isSlot":false,"src":"349225:2:21","valueSize":1},{"declaration":37811,"isOffset":false,"isSlot":false,"src":"349254:2:21","valueSize":1},{"declaration":37814,"isOffset":false,"isSlot":false,"src":"349284:2:21","valueSize":1}],"id":37822,"nodeType":"InlineAssembly","src":"349015:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"347690:3:21","parameters":{"id":37787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37780,"mutability":"mutable","name":"p0","nameLocation":"347702:2:21","nodeType":"VariableDeclaration","scope":37824,"src":"347694:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347694:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37782,"mutability":"mutable","name":"p1","nameLocation":"347714:2:21","nodeType":"VariableDeclaration","scope":37824,"src":"347706:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37781,"name":"address","nodeType":"ElementaryTypeName","src":"347706:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37784,"mutability":"mutable","name":"p2","nameLocation":"347726:2:21","nodeType":"VariableDeclaration","scope":37824,"src":"347718:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347718:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37786,"mutability":"mutable","name":"p3","nameLocation":"347738:2:21","nodeType":"VariableDeclaration","scope":37824,"src":"347730:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37785,"name":"uint256","nodeType":"ElementaryTypeName","src":"347730:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"347693:48:21"},"returnParameters":{"id":37788,"nodeType":"ParameterList","parameters":[],"src":"347756:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37876,"nodeType":"FunctionDefinition","src":"349309:1824:21","nodes":[],"body":{"id":37875,"nodeType":"Block","src":"349384:1749:21","nodes":[],"statements":[{"assignments":[37836],"declarations":[{"constant":false,"id":37836,"mutability":"mutable","name":"m0","nameLocation":"349402:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349394:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349394:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37837,"nodeType":"VariableDeclarationStatement","src":"349394:10:21"},{"assignments":[37839],"declarations":[{"constant":false,"id":37839,"mutability":"mutable","name":"m1","nameLocation":"349422:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349414:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349414:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37840,"nodeType":"VariableDeclarationStatement","src":"349414:10:21"},{"assignments":[37842],"declarations":[{"constant":false,"id":37842,"mutability":"mutable","name":"m2","nameLocation":"349442:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349434:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349434:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37843,"nodeType":"VariableDeclarationStatement","src":"349434:10:21"},{"assignments":[37845],"declarations":[{"constant":false,"id":37845,"mutability":"mutable","name":"m3","nameLocation":"349462:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349454:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349454:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37846,"nodeType":"VariableDeclarationStatement","src":"349454:10:21"},{"assignments":[37848],"declarations":[{"constant":false,"id":37848,"mutability":"mutable","name":"m4","nameLocation":"349482:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349474:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349474:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37849,"nodeType":"VariableDeclarationStatement","src":"349474:10:21"},{"assignments":[37851],"declarations":[{"constant":false,"id":37851,"mutability":"mutable","name":"m5","nameLocation":"349502:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349494:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349494:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37852,"nodeType":"VariableDeclarationStatement","src":"349494:10:21"},{"assignments":[37854],"declarations":[{"constant":false,"id":37854,"mutability":"mutable","name":"m6","nameLocation":"349522:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349514:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349514:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37855,"nodeType":"VariableDeclarationStatement","src":"349514:10:21"},{"assignments":[37857],"declarations":[{"constant":false,"id":37857,"mutability":"mutable","name":"m7","nameLocation":"349542:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349534:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349534:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37858,"nodeType":"VariableDeclarationStatement","src":"349534:10:21"},{"assignments":[37860],"declarations":[{"constant":false,"id":37860,"mutability":"mutable","name":"m8","nameLocation":"349562:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349554:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349554:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37861,"nodeType":"VariableDeclarationStatement","src":"349554:10:21"},{"assignments":[37863],"declarations":[{"constant":false,"id":37863,"mutability":"mutable","name":"m9","nameLocation":"349582:2:21","nodeType":"VariableDeclaration","scope":37875,"src":"349574:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349574:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37864,"nodeType":"VariableDeclarationStatement","src":"349574:10:21"},{"assignments":[37866],"declarations":[{"constant":false,"id":37866,"mutability":"mutable","name":"m10","nameLocation":"349602:3:21","nodeType":"VariableDeclaration","scope":37875,"src":"349594:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349594:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37867,"nodeType":"VariableDeclarationStatement","src":"349594:11:21"},{"AST":{"nativeSrc":"349667:1027:21","nodeType":"YulBlock","src":"349667:1027:21","statements":[{"body":{"nativeSrc":"349710:313:21","nodeType":"YulBlock","src":"349710:313:21","statements":[{"nativeSrc":"349728:15:21","nodeType":"YulVariableDeclaration","src":"349728:15:21","value":{"kind":"number","nativeSrc":"349742:1:21","nodeType":"YulLiteral","src":"349742:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"349732:6:21","nodeType":"YulTypedName","src":"349732:6:21","type":""}]},{"body":{"nativeSrc":"349813:40:21","nodeType":"YulBlock","src":"349813:40:21","statements":[{"body":{"nativeSrc":"349842:9:21","nodeType":"YulBlock","src":"349842:9:21","statements":[{"nativeSrc":"349844:5:21","nodeType":"YulBreak","src":"349844:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"349830:6:21","nodeType":"YulIdentifier","src":"349830:6:21"},{"name":"w","nativeSrc":"349838:1:21","nodeType":"YulIdentifier","src":"349838:1:21"}],"functionName":{"name":"byte","nativeSrc":"349825:4:21","nodeType":"YulIdentifier","src":"349825:4:21"},"nativeSrc":"349825:15:21","nodeType":"YulFunctionCall","src":"349825:15:21"}],"functionName":{"name":"iszero","nativeSrc":"349818:6:21","nodeType":"YulIdentifier","src":"349818:6:21"},"nativeSrc":"349818:23:21","nodeType":"YulFunctionCall","src":"349818:23:21"},"nativeSrc":"349815:36:21","nodeType":"YulIf","src":"349815:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"349770:6:21","nodeType":"YulIdentifier","src":"349770:6:21"},{"kind":"number","nativeSrc":"349778:4:21","nodeType":"YulLiteral","src":"349778:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"349767:2:21","nodeType":"YulIdentifier","src":"349767:2:21"},"nativeSrc":"349767:16:21","nodeType":"YulFunctionCall","src":"349767:16:21"},"nativeSrc":"349760:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"349784:28:21","nodeType":"YulBlock","src":"349784:28:21","statements":[{"nativeSrc":"349786:24:21","nodeType":"YulAssignment","src":"349786:24:21","value":{"arguments":[{"name":"length","nativeSrc":"349800:6:21","nodeType":"YulIdentifier","src":"349800:6:21"},{"kind":"number","nativeSrc":"349808:1:21","nodeType":"YulLiteral","src":"349808:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"349796:3:21","nodeType":"YulIdentifier","src":"349796:3:21"},"nativeSrc":"349796:14:21","nodeType":"YulFunctionCall","src":"349796:14:21"},"variableNames":[{"name":"length","nativeSrc":"349786:6:21","nodeType":"YulIdentifier","src":"349786:6:21"}]}]},"pre":{"nativeSrc":"349764:2:21","nodeType":"YulBlock","src":"349764:2:21","statements":[]},"src":"349760:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"349877:3:21","nodeType":"YulIdentifier","src":"349877:3:21"},{"name":"length","nativeSrc":"349882:6:21","nodeType":"YulIdentifier","src":"349882:6:21"}],"functionName":{"name":"mstore","nativeSrc":"349870:6:21","nodeType":"YulIdentifier","src":"349870:6:21"},"nativeSrc":"349870:19:21","nodeType":"YulFunctionCall","src":"349870:19:21"},"nativeSrc":"349870:19:21","nodeType":"YulExpressionStatement","src":"349870:19:21"},{"nativeSrc":"349906:37:21","nodeType":"YulVariableDeclaration","src":"349906:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"349923:3:21","nodeType":"YulLiteral","src":"349923:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"349932:1:21","nodeType":"YulLiteral","src":"349932:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"349935:6:21","nodeType":"YulIdentifier","src":"349935:6:21"}],"functionName":{"name":"shl","nativeSrc":"349928:3:21","nodeType":"YulIdentifier","src":"349928:3:21"},"nativeSrc":"349928:14:21","nodeType":"YulFunctionCall","src":"349928:14:21"}],"functionName":{"name":"sub","nativeSrc":"349919:3:21","nodeType":"YulIdentifier","src":"349919:3:21"},"nativeSrc":"349919:24:21","nodeType":"YulFunctionCall","src":"349919:24:21"},"variables":[{"name":"shift","nativeSrc":"349910:5:21","nodeType":"YulTypedName","src":"349910:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"349971:3:21","nodeType":"YulIdentifier","src":"349971:3:21"},{"kind":"number","nativeSrc":"349976:4:21","nodeType":"YulLiteral","src":"349976:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"349967:3:21","nodeType":"YulIdentifier","src":"349967:3:21"},"nativeSrc":"349967:14:21","nodeType":"YulFunctionCall","src":"349967:14:21"},{"arguments":[{"name":"shift","nativeSrc":"349987:5:21","nodeType":"YulIdentifier","src":"349987:5:21"},{"arguments":[{"name":"shift","nativeSrc":"349998:5:21","nodeType":"YulIdentifier","src":"349998:5:21"},{"name":"w","nativeSrc":"350005:1:21","nodeType":"YulIdentifier","src":"350005:1:21"}],"functionName":{"name":"shr","nativeSrc":"349994:3:21","nodeType":"YulIdentifier","src":"349994:3:21"},"nativeSrc":"349994:13:21","nodeType":"YulFunctionCall","src":"349994:13:21"}],"functionName":{"name":"shl","nativeSrc":"349983:3:21","nodeType":"YulIdentifier","src":"349983:3:21"},"nativeSrc":"349983:25:21","nodeType":"YulFunctionCall","src":"349983:25:21"}],"functionName":{"name":"mstore","nativeSrc":"349960:6:21","nodeType":"YulIdentifier","src":"349960:6:21"},"nativeSrc":"349960:49:21","nodeType":"YulFunctionCall","src":"349960:49:21"},"nativeSrc":"349960:49:21","nodeType":"YulExpressionStatement","src":"349960:49:21"}]},"name":"writeString","nativeSrc":"349681:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"349702:3:21","nodeType":"YulTypedName","src":"349702:3:21","type":""},{"name":"w","nativeSrc":"349707:1:21","nodeType":"YulTypedName","src":"349707:1:21","type":""}],"src":"349681:342:21"},{"nativeSrc":"350036:17:21","nodeType":"YulAssignment","src":"350036:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"350048:4:21","nodeType":"YulLiteral","src":"350048:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"350042:5:21","nodeType":"YulIdentifier","src":"350042:5:21"},"nativeSrc":"350042:11:21","nodeType":"YulFunctionCall","src":"350042:11:21"},"variableNames":[{"name":"m0","nativeSrc":"350036:2:21","nodeType":"YulIdentifier","src":"350036:2:21"}]},{"nativeSrc":"350066:17:21","nodeType":"YulAssignment","src":"350066:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"350078:4:21","nodeType":"YulLiteral","src":"350078:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"350072:5:21","nodeType":"YulIdentifier","src":"350072:5:21"},"nativeSrc":"350072:11:21","nodeType":"YulFunctionCall","src":"350072:11:21"},"variableNames":[{"name":"m1","nativeSrc":"350066:2:21","nodeType":"YulIdentifier","src":"350066:2:21"}]},{"nativeSrc":"350096:17:21","nodeType":"YulAssignment","src":"350096:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"350108:4:21","nodeType":"YulLiteral","src":"350108:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"350102:5:21","nodeType":"YulIdentifier","src":"350102:5:21"},"nativeSrc":"350102:11:21","nodeType":"YulFunctionCall","src":"350102:11:21"},"variableNames":[{"name":"m2","nativeSrc":"350096:2:21","nodeType":"YulIdentifier","src":"350096:2:21"}]},{"nativeSrc":"350126:17:21","nodeType":"YulAssignment","src":"350126:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"350138:4:21","nodeType":"YulLiteral","src":"350138:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"350132:5:21","nodeType":"YulIdentifier","src":"350132:5:21"},"nativeSrc":"350132:11:21","nodeType":"YulFunctionCall","src":"350132:11:21"},"variableNames":[{"name":"m3","nativeSrc":"350126:2:21","nodeType":"YulIdentifier","src":"350126:2:21"}]},{"nativeSrc":"350156:17:21","nodeType":"YulAssignment","src":"350156:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"350168:4:21","nodeType":"YulLiteral","src":"350168:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"350162:5:21","nodeType":"YulIdentifier","src":"350162:5:21"},"nativeSrc":"350162:11:21","nodeType":"YulFunctionCall","src":"350162:11:21"},"variableNames":[{"name":"m4","nativeSrc":"350156:2:21","nodeType":"YulIdentifier","src":"350156:2:21"}]},{"nativeSrc":"350186:17:21","nodeType":"YulAssignment","src":"350186:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"350198:4:21","nodeType":"YulLiteral","src":"350198:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"350192:5:21","nodeType":"YulIdentifier","src":"350192:5:21"},"nativeSrc":"350192:11:21","nodeType":"YulFunctionCall","src":"350192:11:21"},"variableNames":[{"name":"m5","nativeSrc":"350186:2:21","nodeType":"YulIdentifier","src":"350186:2:21"}]},{"nativeSrc":"350216:17:21","nodeType":"YulAssignment","src":"350216:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"350228:4:21","nodeType":"YulLiteral","src":"350228:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"350222:5:21","nodeType":"YulIdentifier","src":"350222:5:21"},"nativeSrc":"350222:11:21","nodeType":"YulFunctionCall","src":"350222:11:21"},"variableNames":[{"name":"m6","nativeSrc":"350216:2:21","nodeType":"YulIdentifier","src":"350216:2:21"}]},{"nativeSrc":"350246:17:21","nodeType":"YulAssignment","src":"350246:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"350258:4:21","nodeType":"YulLiteral","src":"350258:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"350252:5:21","nodeType":"YulIdentifier","src":"350252:5:21"},"nativeSrc":"350252:11:21","nodeType":"YulFunctionCall","src":"350252:11:21"},"variableNames":[{"name":"m7","nativeSrc":"350246:2:21","nodeType":"YulIdentifier","src":"350246:2:21"}]},{"nativeSrc":"350276:18:21","nodeType":"YulAssignment","src":"350276:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"350288:5:21","nodeType":"YulLiteral","src":"350288:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"350282:5:21","nodeType":"YulIdentifier","src":"350282:5:21"},"nativeSrc":"350282:12:21","nodeType":"YulFunctionCall","src":"350282:12:21"},"variableNames":[{"name":"m8","nativeSrc":"350276:2:21","nodeType":"YulIdentifier","src":"350276:2:21"}]},{"nativeSrc":"350307:18:21","nodeType":"YulAssignment","src":"350307:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"350319:5:21","nodeType":"YulLiteral","src":"350319:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"350313:5:21","nodeType":"YulIdentifier","src":"350313:5:21"},"nativeSrc":"350313:12:21","nodeType":"YulFunctionCall","src":"350313:12:21"},"variableNames":[{"name":"m9","nativeSrc":"350307:2:21","nodeType":"YulIdentifier","src":"350307:2:21"}]},{"nativeSrc":"350338:19:21","nodeType":"YulAssignment","src":"350338:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"350351:5:21","nodeType":"YulLiteral","src":"350351:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"350345:5:21","nodeType":"YulIdentifier","src":"350345:5:21"},"nativeSrc":"350345:12:21","nodeType":"YulFunctionCall","src":"350345:12:21"},"variableNames":[{"name":"m10","nativeSrc":"350338:3:21","nodeType":"YulIdentifier","src":"350338:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350441:4:21","nodeType":"YulLiteral","src":"350441:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"350447:10:21","nodeType":"YulLiteral","src":"350447:10:21","type":"","value":"0x245986f2"}],"functionName":{"name":"mstore","nativeSrc":"350434:6:21","nodeType":"YulIdentifier","src":"350434:6:21"},"nativeSrc":"350434:24:21","nodeType":"YulFunctionCall","src":"350434:24:21"},"nativeSrc":"350434:24:21","nodeType":"YulExpressionStatement","src":"350434:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350478:4:21","nodeType":"YulLiteral","src":"350478:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"350484:4:21","nodeType":"YulLiteral","src":"350484:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"350471:6:21","nodeType":"YulIdentifier","src":"350471:6:21"},"nativeSrc":"350471:18:21","nodeType":"YulFunctionCall","src":"350471:18:21"},"nativeSrc":"350471:18:21","nodeType":"YulExpressionStatement","src":"350471:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350509:4:21","nodeType":"YulLiteral","src":"350509:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"350515:2:21","nodeType":"YulIdentifier","src":"350515:2:21"}],"functionName":{"name":"mstore","nativeSrc":"350502:6:21","nodeType":"YulIdentifier","src":"350502:6:21"},"nativeSrc":"350502:16:21","nodeType":"YulFunctionCall","src":"350502:16:21"},"nativeSrc":"350502:16:21","nodeType":"YulExpressionStatement","src":"350502:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350538:4:21","nodeType":"YulLiteral","src":"350538:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"350544:4:21","nodeType":"YulLiteral","src":"350544:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"350531:6:21","nodeType":"YulIdentifier","src":"350531:6:21"},"nativeSrc":"350531:18:21","nodeType":"YulFunctionCall","src":"350531:18:21"},"nativeSrc":"350531:18:21","nodeType":"YulExpressionStatement","src":"350531:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350569:4:21","nodeType":"YulLiteral","src":"350569:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"350575:5:21","nodeType":"YulLiteral","src":"350575:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"350562:6:21","nodeType":"YulIdentifier","src":"350562:6:21"},"nativeSrc":"350562:19:21","nodeType":"YulFunctionCall","src":"350562:19:21"},"nativeSrc":"350562:19:21","nodeType":"YulExpressionStatement","src":"350562:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350606:4:21","nodeType":"YulLiteral","src":"350606:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"350612:2:21","nodeType":"YulIdentifier","src":"350612:2:21"}],"functionName":{"name":"writeString","nativeSrc":"350594:11:21","nodeType":"YulIdentifier","src":"350594:11:21"},"nativeSrc":"350594:21:21","nodeType":"YulFunctionCall","src":"350594:21:21"},"nativeSrc":"350594:21:21","nodeType":"YulExpressionStatement","src":"350594:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350640:4:21","nodeType":"YulLiteral","src":"350640:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"350646:2:21","nodeType":"YulIdentifier","src":"350646:2:21"}],"functionName":{"name":"writeString","nativeSrc":"350628:11:21","nodeType":"YulIdentifier","src":"350628:11:21"},"nativeSrc":"350628:21:21","nodeType":"YulFunctionCall","src":"350628:21:21"},"nativeSrc":"350628:21:21","nodeType":"YulExpressionStatement","src":"350628:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350674:5:21","nodeType":"YulLiteral","src":"350674:5:21","type":"","value":"0x120"},{"name":"p3","nativeSrc":"350681:2:21","nodeType":"YulIdentifier","src":"350681:2:21"}],"functionName":{"name":"writeString","nativeSrc":"350662:11:21","nodeType":"YulIdentifier","src":"350662:11:21"},"nativeSrc":"350662:22:21","nodeType":"YulFunctionCall","src":"350662:22:21"},"nativeSrc":"350662:22:21","nodeType":"YulExpressionStatement","src":"350662:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37836,"isOffset":false,"isSlot":false,"src":"350036:2:21","valueSize":1},{"declaration":37839,"isOffset":false,"isSlot":false,"src":"350066:2:21","valueSize":1},{"declaration":37866,"isOffset":false,"isSlot":false,"src":"350338:3:21","valueSize":1},{"declaration":37842,"isOffset":false,"isSlot":false,"src":"350096:2:21","valueSize":1},{"declaration":37845,"isOffset":false,"isSlot":false,"src":"350126:2:21","valueSize":1},{"declaration":37848,"isOffset":false,"isSlot":false,"src":"350156:2:21","valueSize":1},{"declaration":37851,"isOffset":false,"isSlot":false,"src":"350186:2:21","valueSize":1},{"declaration":37854,"isOffset":false,"isSlot":false,"src":"350216:2:21","valueSize":1},{"declaration":37857,"isOffset":false,"isSlot":false,"src":"350246:2:21","valueSize":1},{"declaration":37860,"isOffset":false,"isSlot":false,"src":"350276:2:21","valueSize":1},{"declaration":37863,"isOffset":false,"isSlot":false,"src":"350307:2:21","valueSize":1},{"declaration":37826,"isOffset":false,"isSlot":false,"src":"350612:2:21","valueSize":1},{"declaration":37828,"isOffset":false,"isSlot":false,"src":"350515:2:21","valueSize":1},{"declaration":37830,"isOffset":false,"isSlot":false,"src":"350646:2:21","valueSize":1},{"declaration":37832,"isOffset":false,"isSlot":false,"src":"350681:2:21","valueSize":1}],"id":37868,"nodeType":"InlineAssembly","src":"349658:1036:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"350719:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":37871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"350725:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":37869,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"350703:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"350703:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37873,"nodeType":"ExpressionStatement","src":"350703:28:21"},{"AST":{"nativeSrc":"350793:334:21","nodeType":"YulBlock","src":"350793:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"350814:4:21","nodeType":"YulLiteral","src":"350814:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"350820:2:21","nodeType":"YulIdentifier","src":"350820:2:21"}],"functionName":{"name":"mstore","nativeSrc":"350807:6:21","nodeType":"YulIdentifier","src":"350807:6:21"},"nativeSrc":"350807:16:21","nodeType":"YulFunctionCall","src":"350807:16:21"},"nativeSrc":"350807:16:21","nodeType":"YulExpressionStatement","src":"350807:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350843:4:21","nodeType":"YulLiteral","src":"350843:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"350849:2:21","nodeType":"YulIdentifier","src":"350849:2:21"}],"functionName":{"name":"mstore","nativeSrc":"350836:6:21","nodeType":"YulIdentifier","src":"350836:6:21"},"nativeSrc":"350836:16:21","nodeType":"YulFunctionCall","src":"350836:16:21"},"nativeSrc":"350836:16:21","nodeType":"YulExpressionStatement","src":"350836:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350872:4:21","nodeType":"YulLiteral","src":"350872:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"350878:2:21","nodeType":"YulIdentifier","src":"350878:2:21"}],"functionName":{"name":"mstore","nativeSrc":"350865:6:21","nodeType":"YulIdentifier","src":"350865:6:21"},"nativeSrc":"350865:16:21","nodeType":"YulFunctionCall","src":"350865:16:21"},"nativeSrc":"350865:16:21","nodeType":"YulExpressionStatement","src":"350865:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350901:4:21","nodeType":"YulLiteral","src":"350901:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"350907:2:21","nodeType":"YulIdentifier","src":"350907:2:21"}],"functionName":{"name":"mstore","nativeSrc":"350894:6:21","nodeType":"YulIdentifier","src":"350894:6:21"},"nativeSrc":"350894:16:21","nodeType":"YulFunctionCall","src":"350894:16:21"},"nativeSrc":"350894:16:21","nodeType":"YulExpressionStatement","src":"350894:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350930:4:21","nodeType":"YulLiteral","src":"350930:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"350936:2:21","nodeType":"YulIdentifier","src":"350936:2:21"}],"functionName":{"name":"mstore","nativeSrc":"350923:6:21","nodeType":"YulIdentifier","src":"350923:6:21"},"nativeSrc":"350923:16:21","nodeType":"YulFunctionCall","src":"350923:16:21"},"nativeSrc":"350923:16:21","nodeType":"YulExpressionStatement","src":"350923:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350959:4:21","nodeType":"YulLiteral","src":"350959:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"350965:2:21","nodeType":"YulIdentifier","src":"350965:2:21"}],"functionName":{"name":"mstore","nativeSrc":"350952:6:21","nodeType":"YulIdentifier","src":"350952:6:21"},"nativeSrc":"350952:16:21","nodeType":"YulFunctionCall","src":"350952:16:21"},"nativeSrc":"350952:16:21","nodeType":"YulExpressionStatement","src":"350952:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350988:4:21","nodeType":"YulLiteral","src":"350988:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"350994:2:21","nodeType":"YulIdentifier","src":"350994:2:21"}],"functionName":{"name":"mstore","nativeSrc":"350981:6:21","nodeType":"YulIdentifier","src":"350981:6:21"},"nativeSrc":"350981:16:21","nodeType":"YulFunctionCall","src":"350981:16:21"},"nativeSrc":"350981:16:21","nodeType":"YulExpressionStatement","src":"350981:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351017:4:21","nodeType":"YulLiteral","src":"351017:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"351023:2:21","nodeType":"YulIdentifier","src":"351023:2:21"}],"functionName":{"name":"mstore","nativeSrc":"351010:6:21","nodeType":"YulIdentifier","src":"351010:6:21"},"nativeSrc":"351010:16:21","nodeType":"YulFunctionCall","src":"351010:16:21"},"nativeSrc":"351010:16:21","nodeType":"YulExpressionStatement","src":"351010:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351046:5:21","nodeType":"YulLiteral","src":"351046:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"351053:2:21","nodeType":"YulIdentifier","src":"351053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"351039:6:21","nodeType":"YulIdentifier","src":"351039:6:21"},"nativeSrc":"351039:17:21","nodeType":"YulFunctionCall","src":"351039:17:21"},"nativeSrc":"351039:17:21","nodeType":"YulExpressionStatement","src":"351039:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351076:5:21","nodeType":"YulLiteral","src":"351076:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"351083:2:21","nodeType":"YulIdentifier","src":"351083:2:21"}],"functionName":{"name":"mstore","nativeSrc":"351069:6:21","nodeType":"YulIdentifier","src":"351069:6:21"},"nativeSrc":"351069:17:21","nodeType":"YulFunctionCall","src":"351069:17:21"},"nativeSrc":"351069:17:21","nodeType":"YulExpressionStatement","src":"351069:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351106:5:21","nodeType":"YulLiteral","src":"351106:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"351113:3:21","nodeType":"YulIdentifier","src":"351113:3:21"}],"functionName":{"name":"mstore","nativeSrc":"351099:6:21","nodeType":"YulIdentifier","src":"351099:6:21"},"nativeSrc":"351099:18:21","nodeType":"YulFunctionCall","src":"351099:18:21"},"nativeSrc":"351099:18:21","nodeType":"YulExpressionStatement","src":"351099:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37836,"isOffset":false,"isSlot":false,"src":"350820:2:21","valueSize":1},{"declaration":37839,"isOffset":false,"isSlot":false,"src":"350849:2:21","valueSize":1},{"declaration":37866,"isOffset":false,"isSlot":false,"src":"351113:3:21","valueSize":1},{"declaration":37842,"isOffset":false,"isSlot":false,"src":"350878:2:21","valueSize":1},{"declaration":37845,"isOffset":false,"isSlot":false,"src":"350907:2:21","valueSize":1},{"declaration":37848,"isOffset":false,"isSlot":false,"src":"350936:2:21","valueSize":1},{"declaration":37851,"isOffset":false,"isSlot":false,"src":"350965:2:21","valueSize":1},{"declaration":37854,"isOffset":false,"isSlot":false,"src":"350994:2:21","valueSize":1},{"declaration":37857,"isOffset":false,"isSlot":false,"src":"351023:2:21","valueSize":1},{"declaration":37860,"isOffset":false,"isSlot":false,"src":"351053:2:21","valueSize":1},{"declaration":37863,"isOffset":false,"isSlot":false,"src":"351083:2:21","valueSize":1}],"id":37874,"nodeType":"InlineAssembly","src":"350784:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"349318:3:21","parameters":{"id":37833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37826,"mutability":"mutable","name":"p0","nameLocation":"349330:2:21","nodeType":"VariableDeclaration","scope":37876,"src":"349322:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349322:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37828,"mutability":"mutable","name":"p1","nameLocation":"349342:2:21","nodeType":"VariableDeclaration","scope":37876,"src":"349334:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37827,"name":"address","nodeType":"ElementaryTypeName","src":"349334:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37830,"mutability":"mutable","name":"p2","nameLocation":"349354:2:21","nodeType":"VariableDeclaration","scope":37876,"src":"349346:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349346:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37832,"mutability":"mutable","name":"p3","nameLocation":"349366:2:21","nodeType":"VariableDeclaration","scope":37876,"src":"349358:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349358:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"349321:48:21"},"returnParameters":{"id":37834,"nodeType":"ParameterList","parameters":[],"src":"349384:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37916,"nodeType":"FunctionDefinition","src":"351139:1420:21","nodes":[],"body":{"id":37915,"nodeType":"Block","src":"351211:1348:21","nodes":[],"statements":[{"assignments":[37888],"declarations":[{"constant":false,"id":37888,"mutability":"mutable","name":"m0","nameLocation":"351229:2:21","nodeType":"VariableDeclaration","scope":37915,"src":"351221:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351221:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37889,"nodeType":"VariableDeclarationStatement","src":"351221:10:21"},{"assignments":[37891],"declarations":[{"constant":false,"id":37891,"mutability":"mutable","name":"m1","nameLocation":"351249:2:21","nodeType":"VariableDeclaration","scope":37915,"src":"351241:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351241:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37892,"nodeType":"VariableDeclarationStatement","src":"351241:10:21"},{"assignments":[37894],"declarations":[{"constant":false,"id":37894,"mutability":"mutable","name":"m2","nameLocation":"351269:2:21","nodeType":"VariableDeclaration","scope":37915,"src":"351261:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351261:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37895,"nodeType":"VariableDeclarationStatement","src":"351261:10:21"},{"assignments":[37897],"declarations":[{"constant":false,"id":37897,"mutability":"mutable","name":"m3","nameLocation":"351289:2:21","nodeType":"VariableDeclaration","scope":37915,"src":"351281:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351281:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37898,"nodeType":"VariableDeclarationStatement","src":"351281:10:21"},{"assignments":[37900],"declarations":[{"constant":false,"id":37900,"mutability":"mutable","name":"m4","nameLocation":"351309:2:21","nodeType":"VariableDeclaration","scope":37915,"src":"351301:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351301:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37901,"nodeType":"VariableDeclarationStatement","src":"351301:10:21"},{"assignments":[37903],"declarations":[{"constant":false,"id":37903,"mutability":"mutable","name":"m5","nameLocation":"351329:2:21","nodeType":"VariableDeclaration","scope":37915,"src":"351321:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351321:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37904,"nodeType":"VariableDeclarationStatement","src":"351321:10:21"},{"assignments":[37906],"declarations":[{"constant":false,"id":37906,"mutability":"mutable","name":"m6","nameLocation":"351349:2:21","nodeType":"VariableDeclaration","scope":37915,"src":"351341:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351341:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37907,"nodeType":"VariableDeclarationStatement","src":"351341:10:21"},{"AST":{"nativeSrc":"351413:828:21","nodeType":"YulBlock","src":"351413:828:21","statements":[{"body":{"nativeSrc":"351456:313:21","nodeType":"YulBlock","src":"351456:313:21","statements":[{"nativeSrc":"351474:15:21","nodeType":"YulVariableDeclaration","src":"351474:15:21","value":{"kind":"number","nativeSrc":"351488:1:21","nodeType":"YulLiteral","src":"351488:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"351478:6:21","nodeType":"YulTypedName","src":"351478:6:21","type":""}]},{"body":{"nativeSrc":"351559:40:21","nodeType":"YulBlock","src":"351559:40:21","statements":[{"body":{"nativeSrc":"351588:9:21","nodeType":"YulBlock","src":"351588:9:21","statements":[{"nativeSrc":"351590:5:21","nodeType":"YulBreak","src":"351590:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"351576:6:21","nodeType":"YulIdentifier","src":"351576:6:21"},{"name":"w","nativeSrc":"351584:1:21","nodeType":"YulIdentifier","src":"351584:1:21"}],"functionName":{"name":"byte","nativeSrc":"351571:4:21","nodeType":"YulIdentifier","src":"351571:4:21"},"nativeSrc":"351571:15:21","nodeType":"YulFunctionCall","src":"351571:15:21"}],"functionName":{"name":"iszero","nativeSrc":"351564:6:21","nodeType":"YulIdentifier","src":"351564:6:21"},"nativeSrc":"351564:23:21","nodeType":"YulFunctionCall","src":"351564:23:21"},"nativeSrc":"351561:36:21","nodeType":"YulIf","src":"351561:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"351516:6:21","nodeType":"YulIdentifier","src":"351516:6:21"},{"kind":"number","nativeSrc":"351524:4:21","nodeType":"YulLiteral","src":"351524:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"351513:2:21","nodeType":"YulIdentifier","src":"351513:2:21"},"nativeSrc":"351513:16:21","nodeType":"YulFunctionCall","src":"351513:16:21"},"nativeSrc":"351506:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"351530:28:21","nodeType":"YulBlock","src":"351530:28:21","statements":[{"nativeSrc":"351532:24:21","nodeType":"YulAssignment","src":"351532:24:21","value":{"arguments":[{"name":"length","nativeSrc":"351546:6:21","nodeType":"YulIdentifier","src":"351546:6:21"},{"kind":"number","nativeSrc":"351554:1:21","nodeType":"YulLiteral","src":"351554:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"351542:3:21","nodeType":"YulIdentifier","src":"351542:3:21"},"nativeSrc":"351542:14:21","nodeType":"YulFunctionCall","src":"351542:14:21"},"variableNames":[{"name":"length","nativeSrc":"351532:6:21","nodeType":"YulIdentifier","src":"351532:6:21"}]}]},"pre":{"nativeSrc":"351510:2:21","nodeType":"YulBlock","src":"351510:2:21","statements":[]},"src":"351506:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"351623:3:21","nodeType":"YulIdentifier","src":"351623:3:21"},{"name":"length","nativeSrc":"351628:6:21","nodeType":"YulIdentifier","src":"351628:6:21"}],"functionName":{"name":"mstore","nativeSrc":"351616:6:21","nodeType":"YulIdentifier","src":"351616:6:21"},"nativeSrc":"351616:19:21","nodeType":"YulFunctionCall","src":"351616:19:21"},"nativeSrc":"351616:19:21","nodeType":"YulExpressionStatement","src":"351616:19:21"},{"nativeSrc":"351652:37:21","nodeType":"YulVariableDeclaration","src":"351652:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"351669:3:21","nodeType":"YulLiteral","src":"351669:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"351678:1:21","nodeType":"YulLiteral","src":"351678:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"351681:6:21","nodeType":"YulIdentifier","src":"351681:6:21"}],"functionName":{"name":"shl","nativeSrc":"351674:3:21","nodeType":"YulIdentifier","src":"351674:3:21"},"nativeSrc":"351674:14:21","nodeType":"YulFunctionCall","src":"351674:14:21"}],"functionName":{"name":"sub","nativeSrc":"351665:3:21","nodeType":"YulIdentifier","src":"351665:3:21"},"nativeSrc":"351665:24:21","nodeType":"YulFunctionCall","src":"351665:24:21"},"variables":[{"name":"shift","nativeSrc":"351656:5:21","nodeType":"YulTypedName","src":"351656:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"351717:3:21","nodeType":"YulIdentifier","src":"351717:3:21"},{"kind":"number","nativeSrc":"351722:4:21","nodeType":"YulLiteral","src":"351722:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"351713:3:21","nodeType":"YulIdentifier","src":"351713:3:21"},"nativeSrc":"351713:14:21","nodeType":"YulFunctionCall","src":"351713:14:21"},{"arguments":[{"name":"shift","nativeSrc":"351733:5:21","nodeType":"YulIdentifier","src":"351733:5:21"},{"arguments":[{"name":"shift","nativeSrc":"351744:5:21","nodeType":"YulIdentifier","src":"351744:5:21"},{"name":"w","nativeSrc":"351751:1:21","nodeType":"YulIdentifier","src":"351751:1:21"}],"functionName":{"name":"shr","nativeSrc":"351740:3:21","nodeType":"YulIdentifier","src":"351740:3:21"},"nativeSrc":"351740:13:21","nodeType":"YulFunctionCall","src":"351740:13:21"}],"functionName":{"name":"shl","nativeSrc":"351729:3:21","nodeType":"YulIdentifier","src":"351729:3:21"},"nativeSrc":"351729:25:21","nodeType":"YulFunctionCall","src":"351729:25:21"}],"functionName":{"name":"mstore","nativeSrc":"351706:6:21","nodeType":"YulIdentifier","src":"351706:6:21"},"nativeSrc":"351706:49:21","nodeType":"YulFunctionCall","src":"351706:49:21"},"nativeSrc":"351706:49:21","nodeType":"YulExpressionStatement","src":"351706:49:21"}]},"name":"writeString","nativeSrc":"351427:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"351448:3:21","nodeType":"YulTypedName","src":"351448:3:21","type":""},{"name":"w","nativeSrc":"351453:1:21","nodeType":"YulTypedName","src":"351453:1:21","type":""}],"src":"351427:342:21"},{"nativeSrc":"351782:17:21","nodeType":"YulAssignment","src":"351782:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"351794:4:21","nodeType":"YulLiteral","src":"351794:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"351788:5:21","nodeType":"YulIdentifier","src":"351788:5:21"},"nativeSrc":"351788:11:21","nodeType":"YulFunctionCall","src":"351788:11:21"},"variableNames":[{"name":"m0","nativeSrc":"351782:2:21","nodeType":"YulIdentifier","src":"351782:2:21"}]},{"nativeSrc":"351812:17:21","nodeType":"YulAssignment","src":"351812:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"351824:4:21","nodeType":"YulLiteral","src":"351824:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"351818:5:21","nodeType":"YulIdentifier","src":"351818:5:21"},"nativeSrc":"351818:11:21","nodeType":"YulFunctionCall","src":"351818:11:21"},"variableNames":[{"name":"m1","nativeSrc":"351812:2:21","nodeType":"YulIdentifier","src":"351812:2:21"}]},{"nativeSrc":"351842:17:21","nodeType":"YulAssignment","src":"351842:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"351854:4:21","nodeType":"YulLiteral","src":"351854:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"351848:5:21","nodeType":"YulIdentifier","src":"351848:5:21"},"nativeSrc":"351848:11:21","nodeType":"YulFunctionCall","src":"351848:11:21"},"variableNames":[{"name":"m2","nativeSrc":"351842:2:21","nodeType":"YulIdentifier","src":"351842:2:21"}]},{"nativeSrc":"351872:17:21","nodeType":"YulAssignment","src":"351872:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"351884:4:21","nodeType":"YulLiteral","src":"351884:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"351878:5:21","nodeType":"YulIdentifier","src":"351878:5:21"},"nativeSrc":"351878:11:21","nodeType":"YulFunctionCall","src":"351878:11:21"},"variableNames":[{"name":"m3","nativeSrc":"351872:2:21","nodeType":"YulIdentifier","src":"351872:2:21"}]},{"nativeSrc":"351902:17:21","nodeType":"YulAssignment","src":"351902:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"351914:4:21","nodeType":"YulLiteral","src":"351914:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"351908:5:21","nodeType":"YulIdentifier","src":"351908:5:21"},"nativeSrc":"351908:11:21","nodeType":"YulFunctionCall","src":"351908:11:21"},"variableNames":[{"name":"m4","nativeSrc":"351902:2:21","nodeType":"YulIdentifier","src":"351902:2:21"}]},{"nativeSrc":"351932:17:21","nodeType":"YulAssignment","src":"351932:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"351944:4:21","nodeType":"YulLiteral","src":"351944:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"351938:5:21","nodeType":"YulIdentifier","src":"351938:5:21"},"nativeSrc":"351938:11:21","nodeType":"YulFunctionCall","src":"351938:11:21"},"variableNames":[{"name":"m5","nativeSrc":"351932:2:21","nodeType":"YulIdentifier","src":"351932:2:21"}]},{"nativeSrc":"351962:17:21","nodeType":"YulAssignment","src":"351962:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"351974:4:21","nodeType":"YulLiteral","src":"351974:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"351968:5:21","nodeType":"YulIdentifier","src":"351968:5:21"},"nativeSrc":"351968:11:21","nodeType":"YulFunctionCall","src":"351968:11:21"},"variableNames":[{"name":"m6","nativeSrc":"351962:2:21","nodeType":"YulIdentifier","src":"351962:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352062:4:21","nodeType":"YulLiteral","src":"352062:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"352068:10:21","nodeType":"YulLiteral","src":"352068:10:21","type":"","value":"0x33e9dd1d"}],"functionName":{"name":"mstore","nativeSrc":"352055:6:21","nodeType":"YulIdentifier","src":"352055:6:21"},"nativeSrc":"352055:24:21","nodeType":"YulFunctionCall","src":"352055:24:21"},"nativeSrc":"352055:24:21","nodeType":"YulExpressionStatement","src":"352055:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352099:4:21","nodeType":"YulLiteral","src":"352099:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"352105:4:21","nodeType":"YulLiteral","src":"352105:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"352092:6:21","nodeType":"YulIdentifier","src":"352092:6:21"},"nativeSrc":"352092:18:21","nodeType":"YulFunctionCall","src":"352092:18:21"},"nativeSrc":"352092:18:21","nodeType":"YulExpressionStatement","src":"352092:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352130:4:21","nodeType":"YulLiteral","src":"352130:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"352136:2:21","nodeType":"YulIdentifier","src":"352136:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352123:6:21","nodeType":"YulIdentifier","src":"352123:6:21"},"nativeSrc":"352123:16:21","nodeType":"YulFunctionCall","src":"352123:16:21"},"nativeSrc":"352123:16:21","nodeType":"YulExpressionStatement","src":"352123:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352159:4:21","nodeType":"YulLiteral","src":"352159:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"352165:2:21","nodeType":"YulIdentifier","src":"352165:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352152:6:21","nodeType":"YulIdentifier","src":"352152:6:21"},"nativeSrc":"352152:16:21","nodeType":"YulFunctionCall","src":"352152:16:21"},"nativeSrc":"352152:16:21","nodeType":"YulExpressionStatement","src":"352152:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352188:4:21","nodeType":"YulLiteral","src":"352188:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"352194:2:21","nodeType":"YulIdentifier","src":"352194:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352181:6:21","nodeType":"YulIdentifier","src":"352181:6:21"},"nativeSrc":"352181:16:21","nodeType":"YulFunctionCall","src":"352181:16:21"},"nativeSrc":"352181:16:21","nodeType":"YulExpressionStatement","src":"352181:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352222:4:21","nodeType":"YulLiteral","src":"352222:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"352228:2:21","nodeType":"YulIdentifier","src":"352228:2:21"}],"functionName":{"name":"writeString","nativeSrc":"352210:11:21","nodeType":"YulIdentifier","src":"352210:11:21"},"nativeSrc":"352210:21:21","nodeType":"YulFunctionCall","src":"352210:21:21"},"nativeSrc":"352210:21:21","nodeType":"YulExpressionStatement","src":"352210:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37888,"isOffset":false,"isSlot":false,"src":"351782:2:21","valueSize":1},{"declaration":37891,"isOffset":false,"isSlot":false,"src":"351812:2:21","valueSize":1},{"declaration":37894,"isOffset":false,"isSlot":false,"src":"351842:2:21","valueSize":1},{"declaration":37897,"isOffset":false,"isSlot":false,"src":"351872:2:21","valueSize":1},{"declaration":37900,"isOffset":false,"isSlot":false,"src":"351902:2:21","valueSize":1},{"declaration":37903,"isOffset":false,"isSlot":false,"src":"351932:2:21","valueSize":1},{"declaration":37906,"isOffset":false,"isSlot":false,"src":"351962:2:21","valueSize":1},{"declaration":37878,"isOffset":false,"isSlot":false,"src":"352228:2:21","valueSize":1},{"declaration":37880,"isOffset":false,"isSlot":false,"src":"352136:2:21","valueSize":1},{"declaration":37882,"isOffset":false,"isSlot":false,"src":"352165:2:21","valueSize":1},{"declaration":37884,"isOffset":false,"isSlot":false,"src":"352194:2:21","valueSize":1}],"id":37908,"nodeType":"InlineAssembly","src":"351404:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"352266:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"352272:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37909,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"352250:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"352250:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37913,"nodeType":"ExpressionStatement","src":"352250:27:21"},{"AST":{"nativeSrc":"352339:214:21","nodeType":"YulBlock","src":"352339:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"352360:4:21","nodeType":"YulLiteral","src":"352360:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"352366:2:21","nodeType":"YulIdentifier","src":"352366:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352353:6:21","nodeType":"YulIdentifier","src":"352353:6:21"},"nativeSrc":"352353:16:21","nodeType":"YulFunctionCall","src":"352353:16:21"},"nativeSrc":"352353:16:21","nodeType":"YulExpressionStatement","src":"352353:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352389:4:21","nodeType":"YulLiteral","src":"352389:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"352395:2:21","nodeType":"YulIdentifier","src":"352395:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352382:6:21","nodeType":"YulIdentifier","src":"352382:6:21"},"nativeSrc":"352382:16:21","nodeType":"YulFunctionCall","src":"352382:16:21"},"nativeSrc":"352382:16:21","nodeType":"YulExpressionStatement","src":"352382:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352418:4:21","nodeType":"YulLiteral","src":"352418:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"352424:2:21","nodeType":"YulIdentifier","src":"352424:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352411:6:21","nodeType":"YulIdentifier","src":"352411:6:21"},"nativeSrc":"352411:16:21","nodeType":"YulFunctionCall","src":"352411:16:21"},"nativeSrc":"352411:16:21","nodeType":"YulExpressionStatement","src":"352411:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352447:4:21","nodeType":"YulLiteral","src":"352447:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"352453:2:21","nodeType":"YulIdentifier","src":"352453:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352440:6:21","nodeType":"YulIdentifier","src":"352440:6:21"},"nativeSrc":"352440:16:21","nodeType":"YulFunctionCall","src":"352440:16:21"},"nativeSrc":"352440:16:21","nodeType":"YulExpressionStatement","src":"352440:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352476:4:21","nodeType":"YulLiteral","src":"352476:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"352482:2:21","nodeType":"YulIdentifier","src":"352482:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352469:6:21","nodeType":"YulIdentifier","src":"352469:6:21"},"nativeSrc":"352469:16:21","nodeType":"YulFunctionCall","src":"352469:16:21"},"nativeSrc":"352469:16:21","nodeType":"YulExpressionStatement","src":"352469:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352505:4:21","nodeType":"YulLiteral","src":"352505:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"352511:2:21","nodeType":"YulIdentifier","src":"352511:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352498:6:21","nodeType":"YulIdentifier","src":"352498:6:21"},"nativeSrc":"352498:16:21","nodeType":"YulFunctionCall","src":"352498:16:21"},"nativeSrc":"352498:16:21","nodeType":"YulExpressionStatement","src":"352498:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352534:4:21","nodeType":"YulLiteral","src":"352534:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"352540:2:21","nodeType":"YulIdentifier","src":"352540:2:21"}],"functionName":{"name":"mstore","nativeSrc":"352527:6:21","nodeType":"YulIdentifier","src":"352527:6:21"},"nativeSrc":"352527:16:21","nodeType":"YulFunctionCall","src":"352527:16:21"},"nativeSrc":"352527:16:21","nodeType":"YulExpressionStatement","src":"352527:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37888,"isOffset":false,"isSlot":false,"src":"352366:2:21","valueSize":1},{"declaration":37891,"isOffset":false,"isSlot":false,"src":"352395:2:21","valueSize":1},{"declaration":37894,"isOffset":false,"isSlot":false,"src":"352424:2:21","valueSize":1},{"declaration":37897,"isOffset":false,"isSlot":false,"src":"352453:2:21","valueSize":1},{"declaration":37900,"isOffset":false,"isSlot":false,"src":"352482:2:21","valueSize":1},{"declaration":37903,"isOffset":false,"isSlot":false,"src":"352511:2:21","valueSize":1},{"declaration":37906,"isOffset":false,"isSlot":false,"src":"352540:2:21","valueSize":1}],"id":37914,"nodeType":"InlineAssembly","src":"352330:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"351148:3:21","parameters":{"id":37885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37878,"mutability":"mutable","name":"p0","nameLocation":"351160:2:21","nodeType":"VariableDeclaration","scope":37916,"src":"351152:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351152:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37880,"mutability":"mutable","name":"p1","nameLocation":"351169:2:21","nodeType":"VariableDeclaration","scope":37916,"src":"351164:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37879,"name":"bool","nodeType":"ElementaryTypeName","src":"351164:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37882,"mutability":"mutable","name":"p2","nameLocation":"351181:2:21","nodeType":"VariableDeclaration","scope":37916,"src":"351173:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37881,"name":"address","nodeType":"ElementaryTypeName","src":"351173:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37884,"mutability":"mutable","name":"p3","nameLocation":"351193:2:21","nodeType":"VariableDeclaration","scope":37916,"src":"351185:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37883,"name":"address","nodeType":"ElementaryTypeName","src":"351185:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"351151:45:21"},"returnParameters":{"id":37886,"nodeType":"ParameterList","parameters":[],"src":"351211:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37956,"nodeType":"FunctionDefinition","src":"352565:1414:21","nodes":[],"body":{"id":37955,"nodeType":"Block","src":"352634:1345:21","nodes":[],"statements":[{"assignments":[37928],"declarations":[{"constant":false,"id":37928,"mutability":"mutable","name":"m0","nameLocation":"352652:2:21","nodeType":"VariableDeclaration","scope":37955,"src":"352644:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352644:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37929,"nodeType":"VariableDeclarationStatement","src":"352644:10:21"},{"assignments":[37931],"declarations":[{"constant":false,"id":37931,"mutability":"mutable","name":"m1","nameLocation":"352672:2:21","nodeType":"VariableDeclaration","scope":37955,"src":"352664:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37930,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352664:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37932,"nodeType":"VariableDeclarationStatement","src":"352664:10:21"},{"assignments":[37934],"declarations":[{"constant":false,"id":37934,"mutability":"mutable","name":"m2","nameLocation":"352692:2:21","nodeType":"VariableDeclaration","scope":37955,"src":"352684:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352684:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37935,"nodeType":"VariableDeclarationStatement","src":"352684:10:21"},{"assignments":[37937],"declarations":[{"constant":false,"id":37937,"mutability":"mutable","name":"m3","nameLocation":"352712:2:21","nodeType":"VariableDeclaration","scope":37955,"src":"352704:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352704:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37938,"nodeType":"VariableDeclarationStatement","src":"352704:10:21"},{"assignments":[37940],"declarations":[{"constant":false,"id":37940,"mutability":"mutable","name":"m4","nameLocation":"352732:2:21","nodeType":"VariableDeclaration","scope":37955,"src":"352724:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352724:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37941,"nodeType":"VariableDeclarationStatement","src":"352724:10:21"},{"assignments":[37943],"declarations":[{"constant":false,"id":37943,"mutability":"mutable","name":"m5","nameLocation":"352752:2:21","nodeType":"VariableDeclaration","scope":37955,"src":"352744:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37942,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352744:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37944,"nodeType":"VariableDeclarationStatement","src":"352744:10:21"},{"assignments":[37946],"declarations":[{"constant":false,"id":37946,"mutability":"mutable","name":"m6","nameLocation":"352772:2:21","nodeType":"VariableDeclaration","scope":37955,"src":"352764:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352764:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37947,"nodeType":"VariableDeclarationStatement","src":"352764:10:21"},{"AST":{"nativeSrc":"352836:825:21","nodeType":"YulBlock","src":"352836:825:21","statements":[{"body":{"nativeSrc":"352879:313:21","nodeType":"YulBlock","src":"352879:313:21","statements":[{"nativeSrc":"352897:15:21","nodeType":"YulVariableDeclaration","src":"352897:15:21","value":{"kind":"number","nativeSrc":"352911:1:21","nodeType":"YulLiteral","src":"352911:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"352901:6:21","nodeType":"YulTypedName","src":"352901:6:21","type":""}]},{"body":{"nativeSrc":"352982:40:21","nodeType":"YulBlock","src":"352982:40:21","statements":[{"body":{"nativeSrc":"353011:9:21","nodeType":"YulBlock","src":"353011:9:21","statements":[{"nativeSrc":"353013:5:21","nodeType":"YulBreak","src":"353013:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"352999:6:21","nodeType":"YulIdentifier","src":"352999:6:21"},{"name":"w","nativeSrc":"353007:1:21","nodeType":"YulIdentifier","src":"353007:1:21"}],"functionName":{"name":"byte","nativeSrc":"352994:4:21","nodeType":"YulIdentifier","src":"352994:4:21"},"nativeSrc":"352994:15:21","nodeType":"YulFunctionCall","src":"352994:15:21"}],"functionName":{"name":"iszero","nativeSrc":"352987:6:21","nodeType":"YulIdentifier","src":"352987:6:21"},"nativeSrc":"352987:23:21","nodeType":"YulFunctionCall","src":"352987:23:21"},"nativeSrc":"352984:36:21","nodeType":"YulIf","src":"352984:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"352939:6:21","nodeType":"YulIdentifier","src":"352939:6:21"},{"kind":"number","nativeSrc":"352947:4:21","nodeType":"YulLiteral","src":"352947:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"352936:2:21","nodeType":"YulIdentifier","src":"352936:2:21"},"nativeSrc":"352936:16:21","nodeType":"YulFunctionCall","src":"352936:16:21"},"nativeSrc":"352929:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"352953:28:21","nodeType":"YulBlock","src":"352953:28:21","statements":[{"nativeSrc":"352955:24:21","nodeType":"YulAssignment","src":"352955:24:21","value":{"arguments":[{"name":"length","nativeSrc":"352969:6:21","nodeType":"YulIdentifier","src":"352969:6:21"},{"kind":"number","nativeSrc":"352977:1:21","nodeType":"YulLiteral","src":"352977:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"352965:3:21","nodeType":"YulIdentifier","src":"352965:3:21"},"nativeSrc":"352965:14:21","nodeType":"YulFunctionCall","src":"352965:14:21"},"variableNames":[{"name":"length","nativeSrc":"352955:6:21","nodeType":"YulIdentifier","src":"352955:6:21"}]}]},"pre":{"nativeSrc":"352933:2:21","nodeType":"YulBlock","src":"352933:2:21","statements":[]},"src":"352929:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"353046:3:21","nodeType":"YulIdentifier","src":"353046:3:21"},{"name":"length","nativeSrc":"353051:6:21","nodeType":"YulIdentifier","src":"353051:6:21"}],"functionName":{"name":"mstore","nativeSrc":"353039:6:21","nodeType":"YulIdentifier","src":"353039:6:21"},"nativeSrc":"353039:19:21","nodeType":"YulFunctionCall","src":"353039:19:21"},"nativeSrc":"353039:19:21","nodeType":"YulExpressionStatement","src":"353039:19:21"},{"nativeSrc":"353075:37:21","nodeType":"YulVariableDeclaration","src":"353075:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"353092:3:21","nodeType":"YulLiteral","src":"353092:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"353101:1:21","nodeType":"YulLiteral","src":"353101:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"353104:6:21","nodeType":"YulIdentifier","src":"353104:6:21"}],"functionName":{"name":"shl","nativeSrc":"353097:3:21","nodeType":"YulIdentifier","src":"353097:3:21"},"nativeSrc":"353097:14:21","nodeType":"YulFunctionCall","src":"353097:14:21"}],"functionName":{"name":"sub","nativeSrc":"353088:3:21","nodeType":"YulIdentifier","src":"353088:3:21"},"nativeSrc":"353088:24:21","nodeType":"YulFunctionCall","src":"353088:24:21"},"variables":[{"name":"shift","nativeSrc":"353079:5:21","nodeType":"YulTypedName","src":"353079:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"353140:3:21","nodeType":"YulIdentifier","src":"353140:3:21"},{"kind":"number","nativeSrc":"353145:4:21","nodeType":"YulLiteral","src":"353145:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"353136:3:21","nodeType":"YulIdentifier","src":"353136:3:21"},"nativeSrc":"353136:14:21","nodeType":"YulFunctionCall","src":"353136:14:21"},{"arguments":[{"name":"shift","nativeSrc":"353156:5:21","nodeType":"YulIdentifier","src":"353156:5:21"},{"arguments":[{"name":"shift","nativeSrc":"353167:5:21","nodeType":"YulIdentifier","src":"353167:5:21"},{"name":"w","nativeSrc":"353174:1:21","nodeType":"YulIdentifier","src":"353174:1:21"}],"functionName":{"name":"shr","nativeSrc":"353163:3:21","nodeType":"YulIdentifier","src":"353163:3:21"},"nativeSrc":"353163:13:21","nodeType":"YulFunctionCall","src":"353163:13:21"}],"functionName":{"name":"shl","nativeSrc":"353152:3:21","nodeType":"YulIdentifier","src":"353152:3:21"},"nativeSrc":"353152:25:21","nodeType":"YulFunctionCall","src":"353152:25:21"}],"functionName":{"name":"mstore","nativeSrc":"353129:6:21","nodeType":"YulIdentifier","src":"353129:6:21"},"nativeSrc":"353129:49:21","nodeType":"YulFunctionCall","src":"353129:49:21"},"nativeSrc":"353129:49:21","nodeType":"YulExpressionStatement","src":"353129:49:21"}]},"name":"writeString","nativeSrc":"352850:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"352871:3:21","nodeType":"YulTypedName","src":"352871:3:21","type":""},{"name":"w","nativeSrc":"352876:1:21","nodeType":"YulTypedName","src":"352876:1:21","type":""}],"src":"352850:342:21"},{"nativeSrc":"353205:17:21","nodeType":"YulAssignment","src":"353205:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"353217:4:21","nodeType":"YulLiteral","src":"353217:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"353211:5:21","nodeType":"YulIdentifier","src":"353211:5:21"},"nativeSrc":"353211:11:21","nodeType":"YulFunctionCall","src":"353211:11:21"},"variableNames":[{"name":"m0","nativeSrc":"353205:2:21","nodeType":"YulIdentifier","src":"353205:2:21"}]},{"nativeSrc":"353235:17:21","nodeType":"YulAssignment","src":"353235:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"353247:4:21","nodeType":"YulLiteral","src":"353247:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"353241:5:21","nodeType":"YulIdentifier","src":"353241:5:21"},"nativeSrc":"353241:11:21","nodeType":"YulFunctionCall","src":"353241:11:21"},"variableNames":[{"name":"m1","nativeSrc":"353235:2:21","nodeType":"YulIdentifier","src":"353235:2:21"}]},{"nativeSrc":"353265:17:21","nodeType":"YulAssignment","src":"353265:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"353277:4:21","nodeType":"YulLiteral","src":"353277:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"353271:5:21","nodeType":"YulIdentifier","src":"353271:5:21"},"nativeSrc":"353271:11:21","nodeType":"YulFunctionCall","src":"353271:11:21"},"variableNames":[{"name":"m2","nativeSrc":"353265:2:21","nodeType":"YulIdentifier","src":"353265:2:21"}]},{"nativeSrc":"353295:17:21","nodeType":"YulAssignment","src":"353295:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"353307:4:21","nodeType":"YulLiteral","src":"353307:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"353301:5:21","nodeType":"YulIdentifier","src":"353301:5:21"},"nativeSrc":"353301:11:21","nodeType":"YulFunctionCall","src":"353301:11:21"},"variableNames":[{"name":"m3","nativeSrc":"353295:2:21","nodeType":"YulIdentifier","src":"353295:2:21"}]},{"nativeSrc":"353325:17:21","nodeType":"YulAssignment","src":"353325:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"353337:4:21","nodeType":"YulLiteral","src":"353337:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"353331:5:21","nodeType":"YulIdentifier","src":"353331:5:21"},"nativeSrc":"353331:11:21","nodeType":"YulFunctionCall","src":"353331:11:21"},"variableNames":[{"name":"m4","nativeSrc":"353325:2:21","nodeType":"YulIdentifier","src":"353325:2:21"}]},{"nativeSrc":"353355:17:21","nodeType":"YulAssignment","src":"353355:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"353367:4:21","nodeType":"YulLiteral","src":"353367:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"353361:5:21","nodeType":"YulIdentifier","src":"353361:5:21"},"nativeSrc":"353361:11:21","nodeType":"YulFunctionCall","src":"353361:11:21"},"variableNames":[{"name":"m5","nativeSrc":"353355:2:21","nodeType":"YulIdentifier","src":"353355:2:21"}]},{"nativeSrc":"353385:17:21","nodeType":"YulAssignment","src":"353385:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"353397:4:21","nodeType":"YulLiteral","src":"353397:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"353391:5:21","nodeType":"YulIdentifier","src":"353391:5:21"},"nativeSrc":"353391:11:21","nodeType":"YulFunctionCall","src":"353391:11:21"},"variableNames":[{"name":"m6","nativeSrc":"353385:2:21","nodeType":"YulIdentifier","src":"353385:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353482:4:21","nodeType":"YulLiteral","src":"353482:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"353488:10:21","nodeType":"YulLiteral","src":"353488:10:21","type":"","value":"0x958c28c6"}],"functionName":{"name":"mstore","nativeSrc":"353475:6:21","nodeType":"YulIdentifier","src":"353475:6:21"},"nativeSrc":"353475:24:21","nodeType":"YulFunctionCall","src":"353475:24:21"},"nativeSrc":"353475:24:21","nodeType":"YulExpressionStatement","src":"353475:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353519:4:21","nodeType":"YulLiteral","src":"353519:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"353525:4:21","nodeType":"YulLiteral","src":"353525:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"353512:6:21","nodeType":"YulIdentifier","src":"353512:6:21"},"nativeSrc":"353512:18:21","nodeType":"YulFunctionCall","src":"353512:18:21"},"nativeSrc":"353512:18:21","nodeType":"YulExpressionStatement","src":"353512:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353550:4:21","nodeType":"YulLiteral","src":"353550:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"353556:2:21","nodeType":"YulIdentifier","src":"353556:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353543:6:21","nodeType":"YulIdentifier","src":"353543:6:21"},"nativeSrc":"353543:16:21","nodeType":"YulFunctionCall","src":"353543:16:21"},"nativeSrc":"353543:16:21","nodeType":"YulExpressionStatement","src":"353543:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353579:4:21","nodeType":"YulLiteral","src":"353579:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"353585:2:21","nodeType":"YulIdentifier","src":"353585:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353572:6:21","nodeType":"YulIdentifier","src":"353572:6:21"},"nativeSrc":"353572:16:21","nodeType":"YulFunctionCall","src":"353572:16:21"},"nativeSrc":"353572:16:21","nodeType":"YulExpressionStatement","src":"353572:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353608:4:21","nodeType":"YulLiteral","src":"353608:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"353614:2:21","nodeType":"YulIdentifier","src":"353614:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353601:6:21","nodeType":"YulIdentifier","src":"353601:6:21"},"nativeSrc":"353601:16:21","nodeType":"YulFunctionCall","src":"353601:16:21"},"nativeSrc":"353601:16:21","nodeType":"YulExpressionStatement","src":"353601:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353642:4:21","nodeType":"YulLiteral","src":"353642:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"353648:2:21","nodeType":"YulIdentifier","src":"353648:2:21"}],"functionName":{"name":"writeString","nativeSrc":"353630:11:21","nodeType":"YulIdentifier","src":"353630:11:21"},"nativeSrc":"353630:21:21","nodeType":"YulFunctionCall","src":"353630:21:21"},"nativeSrc":"353630:21:21","nodeType":"YulExpressionStatement","src":"353630:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37928,"isOffset":false,"isSlot":false,"src":"353205:2:21","valueSize":1},{"declaration":37931,"isOffset":false,"isSlot":false,"src":"353235:2:21","valueSize":1},{"declaration":37934,"isOffset":false,"isSlot":false,"src":"353265:2:21","valueSize":1},{"declaration":37937,"isOffset":false,"isSlot":false,"src":"353295:2:21","valueSize":1},{"declaration":37940,"isOffset":false,"isSlot":false,"src":"353325:2:21","valueSize":1},{"declaration":37943,"isOffset":false,"isSlot":false,"src":"353355:2:21","valueSize":1},{"declaration":37946,"isOffset":false,"isSlot":false,"src":"353385:2:21","valueSize":1},{"declaration":37918,"isOffset":false,"isSlot":false,"src":"353648:2:21","valueSize":1},{"declaration":37920,"isOffset":false,"isSlot":false,"src":"353556:2:21","valueSize":1},{"declaration":37922,"isOffset":false,"isSlot":false,"src":"353585:2:21","valueSize":1},{"declaration":37924,"isOffset":false,"isSlot":false,"src":"353614:2:21","valueSize":1}],"id":37948,"nodeType":"InlineAssembly","src":"352827:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"353686:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"353692:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37949,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"353670:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"353670:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37953,"nodeType":"ExpressionStatement","src":"353670:27:21"},{"AST":{"nativeSrc":"353759:214:21","nodeType":"YulBlock","src":"353759:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"353780:4:21","nodeType":"YulLiteral","src":"353780:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"353786:2:21","nodeType":"YulIdentifier","src":"353786:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353773:6:21","nodeType":"YulIdentifier","src":"353773:6:21"},"nativeSrc":"353773:16:21","nodeType":"YulFunctionCall","src":"353773:16:21"},"nativeSrc":"353773:16:21","nodeType":"YulExpressionStatement","src":"353773:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353809:4:21","nodeType":"YulLiteral","src":"353809:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"353815:2:21","nodeType":"YulIdentifier","src":"353815:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353802:6:21","nodeType":"YulIdentifier","src":"353802:6:21"},"nativeSrc":"353802:16:21","nodeType":"YulFunctionCall","src":"353802:16:21"},"nativeSrc":"353802:16:21","nodeType":"YulExpressionStatement","src":"353802:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353838:4:21","nodeType":"YulLiteral","src":"353838:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"353844:2:21","nodeType":"YulIdentifier","src":"353844:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353831:6:21","nodeType":"YulIdentifier","src":"353831:6:21"},"nativeSrc":"353831:16:21","nodeType":"YulFunctionCall","src":"353831:16:21"},"nativeSrc":"353831:16:21","nodeType":"YulExpressionStatement","src":"353831:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353867:4:21","nodeType":"YulLiteral","src":"353867:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"353873:2:21","nodeType":"YulIdentifier","src":"353873:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353860:6:21","nodeType":"YulIdentifier","src":"353860:6:21"},"nativeSrc":"353860:16:21","nodeType":"YulFunctionCall","src":"353860:16:21"},"nativeSrc":"353860:16:21","nodeType":"YulExpressionStatement","src":"353860:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353896:4:21","nodeType":"YulLiteral","src":"353896:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"353902:2:21","nodeType":"YulIdentifier","src":"353902:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353889:6:21","nodeType":"YulIdentifier","src":"353889:6:21"},"nativeSrc":"353889:16:21","nodeType":"YulFunctionCall","src":"353889:16:21"},"nativeSrc":"353889:16:21","nodeType":"YulExpressionStatement","src":"353889:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353925:4:21","nodeType":"YulLiteral","src":"353925:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"353931:2:21","nodeType":"YulIdentifier","src":"353931:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353918:6:21","nodeType":"YulIdentifier","src":"353918:6:21"},"nativeSrc":"353918:16:21","nodeType":"YulFunctionCall","src":"353918:16:21"},"nativeSrc":"353918:16:21","nodeType":"YulExpressionStatement","src":"353918:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353954:4:21","nodeType":"YulLiteral","src":"353954:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"353960:2:21","nodeType":"YulIdentifier","src":"353960:2:21"}],"functionName":{"name":"mstore","nativeSrc":"353947:6:21","nodeType":"YulIdentifier","src":"353947:6:21"},"nativeSrc":"353947:16:21","nodeType":"YulFunctionCall","src":"353947:16:21"},"nativeSrc":"353947:16:21","nodeType":"YulExpressionStatement","src":"353947:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37928,"isOffset":false,"isSlot":false,"src":"353786:2:21","valueSize":1},{"declaration":37931,"isOffset":false,"isSlot":false,"src":"353815:2:21","valueSize":1},{"declaration":37934,"isOffset":false,"isSlot":false,"src":"353844:2:21","valueSize":1},{"declaration":37937,"isOffset":false,"isSlot":false,"src":"353873:2:21","valueSize":1},{"declaration":37940,"isOffset":false,"isSlot":false,"src":"353902:2:21","valueSize":1},{"declaration":37943,"isOffset":false,"isSlot":false,"src":"353931:2:21","valueSize":1},{"declaration":37946,"isOffset":false,"isSlot":false,"src":"353960:2:21","valueSize":1}],"id":37954,"nodeType":"InlineAssembly","src":"353750:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"352574:3:21","parameters":{"id":37925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37918,"mutability":"mutable","name":"p0","nameLocation":"352586:2:21","nodeType":"VariableDeclaration","scope":37956,"src":"352578:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352578:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37920,"mutability":"mutable","name":"p1","nameLocation":"352595:2:21","nodeType":"VariableDeclaration","scope":37956,"src":"352590:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37919,"name":"bool","nodeType":"ElementaryTypeName","src":"352590:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37922,"mutability":"mutable","name":"p2","nameLocation":"352607:2:21","nodeType":"VariableDeclaration","scope":37956,"src":"352599:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37921,"name":"address","nodeType":"ElementaryTypeName","src":"352599:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37924,"mutability":"mutable","name":"p3","nameLocation":"352616:2:21","nodeType":"VariableDeclaration","scope":37956,"src":"352611:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37923,"name":"bool","nodeType":"ElementaryTypeName","src":"352611:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"352577:42:21"},"returnParameters":{"id":37926,"nodeType":"ParameterList","parameters":[],"src":"352634:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37996,"nodeType":"FunctionDefinition","src":"353985:1420:21","nodes":[],"body":{"id":37995,"nodeType":"Block","src":"354057:1348:21","nodes":[],"statements":[{"assignments":[37968],"declarations":[{"constant":false,"id":37968,"mutability":"mutable","name":"m0","nameLocation":"354075:2:21","nodeType":"VariableDeclaration","scope":37995,"src":"354067:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354067:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37969,"nodeType":"VariableDeclarationStatement","src":"354067:10:21"},{"assignments":[37971],"declarations":[{"constant":false,"id":37971,"mutability":"mutable","name":"m1","nameLocation":"354095:2:21","nodeType":"VariableDeclaration","scope":37995,"src":"354087:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354087:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37972,"nodeType":"VariableDeclarationStatement","src":"354087:10:21"},{"assignments":[37974],"declarations":[{"constant":false,"id":37974,"mutability":"mutable","name":"m2","nameLocation":"354115:2:21","nodeType":"VariableDeclaration","scope":37995,"src":"354107:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354107:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37975,"nodeType":"VariableDeclarationStatement","src":"354107:10:21"},{"assignments":[37977],"declarations":[{"constant":false,"id":37977,"mutability":"mutable","name":"m3","nameLocation":"354135:2:21","nodeType":"VariableDeclaration","scope":37995,"src":"354127:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354127:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37978,"nodeType":"VariableDeclarationStatement","src":"354127:10:21"},{"assignments":[37980],"declarations":[{"constant":false,"id":37980,"mutability":"mutable","name":"m4","nameLocation":"354155:2:21","nodeType":"VariableDeclaration","scope":37995,"src":"354147:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354147:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37981,"nodeType":"VariableDeclarationStatement","src":"354147:10:21"},{"assignments":[37983],"declarations":[{"constant":false,"id":37983,"mutability":"mutable","name":"m5","nameLocation":"354175:2:21","nodeType":"VariableDeclaration","scope":37995,"src":"354167:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37982,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354167:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37984,"nodeType":"VariableDeclarationStatement","src":"354167:10:21"},{"assignments":[37986],"declarations":[{"constant":false,"id":37986,"mutability":"mutable","name":"m6","nameLocation":"354195:2:21","nodeType":"VariableDeclaration","scope":37995,"src":"354187:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354187:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37987,"nodeType":"VariableDeclarationStatement","src":"354187:10:21"},{"AST":{"nativeSrc":"354259:828:21","nodeType":"YulBlock","src":"354259:828:21","statements":[{"body":{"nativeSrc":"354302:313:21","nodeType":"YulBlock","src":"354302:313:21","statements":[{"nativeSrc":"354320:15:21","nodeType":"YulVariableDeclaration","src":"354320:15:21","value":{"kind":"number","nativeSrc":"354334:1:21","nodeType":"YulLiteral","src":"354334:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"354324:6:21","nodeType":"YulTypedName","src":"354324:6:21","type":""}]},{"body":{"nativeSrc":"354405:40:21","nodeType":"YulBlock","src":"354405:40:21","statements":[{"body":{"nativeSrc":"354434:9:21","nodeType":"YulBlock","src":"354434:9:21","statements":[{"nativeSrc":"354436:5:21","nodeType":"YulBreak","src":"354436:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"354422:6:21","nodeType":"YulIdentifier","src":"354422:6:21"},{"name":"w","nativeSrc":"354430:1:21","nodeType":"YulIdentifier","src":"354430:1:21"}],"functionName":{"name":"byte","nativeSrc":"354417:4:21","nodeType":"YulIdentifier","src":"354417:4:21"},"nativeSrc":"354417:15:21","nodeType":"YulFunctionCall","src":"354417:15:21"}],"functionName":{"name":"iszero","nativeSrc":"354410:6:21","nodeType":"YulIdentifier","src":"354410:6:21"},"nativeSrc":"354410:23:21","nodeType":"YulFunctionCall","src":"354410:23:21"},"nativeSrc":"354407:36:21","nodeType":"YulIf","src":"354407:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"354362:6:21","nodeType":"YulIdentifier","src":"354362:6:21"},{"kind":"number","nativeSrc":"354370:4:21","nodeType":"YulLiteral","src":"354370:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"354359:2:21","nodeType":"YulIdentifier","src":"354359:2:21"},"nativeSrc":"354359:16:21","nodeType":"YulFunctionCall","src":"354359:16:21"},"nativeSrc":"354352:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"354376:28:21","nodeType":"YulBlock","src":"354376:28:21","statements":[{"nativeSrc":"354378:24:21","nodeType":"YulAssignment","src":"354378:24:21","value":{"arguments":[{"name":"length","nativeSrc":"354392:6:21","nodeType":"YulIdentifier","src":"354392:6:21"},{"kind":"number","nativeSrc":"354400:1:21","nodeType":"YulLiteral","src":"354400:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"354388:3:21","nodeType":"YulIdentifier","src":"354388:3:21"},"nativeSrc":"354388:14:21","nodeType":"YulFunctionCall","src":"354388:14:21"},"variableNames":[{"name":"length","nativeSrc":"354378:6:21","nodeType":"YulIdentifier","src":"354378:6:21"}]}]},"pre":{"nativeSrc":"354356:2:21","nodeType":"YulBlock","src":"354356:2:21","statements":[]},"src":"354352:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"354469:3:21","nodeType":"YulIdentifier","src":"354469:3:21"},{"name":"length","nativeSrc":"354474:6:21","nodeType":"YulIdentifier","src":"354474:6:21"}],"functionName":{"name":"mstore","nativeSrc":"354462:6:21","nodeType":"YulIdentifier","src":"354462:6:21"},"nativeSrc":"354462:19:21","nodeType":"YulFunctionCall","src":"354462:19:21"},"nativeSrc":"354462:19:21","nodeType":"YulExpressionStatement","src":"354462:19:21"},{"nativeSrc":"354498:37:21","nodeType":"YulVariableDeclaration","src":"354498:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"354515:3:21","nodeType":"YulLiteral","src":"354515:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"354524:1:21","nodeType":"YulLiteral","src":"354524:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"354527:6:21","nodeType":"YulIdentifier","src":"354527:6:21"}],"functionName":{"name":"shl","nativeSrc":"354520:3:21","nodeType":"YulIdentifier","src":"354520:3:21"},"nativeSrc":"354520:14:21","nodeType":"YulFunctionCall","src":"354520:14:21"}],"functionName":{"name":"sub","nativeSrc":"354511:3:21","nodeType":"YulIdentifier","src":"354511:3:21"},"nativeSrc":"354511:24:21","nodeType":"YulFunctionCall","src":"354511:24:21"},"variables":[{"name":"shift","nativeSrc":"354502:5:21","nodeType":"YulTypedName","src":"354502:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"354563:3:21","nodeType":"YulIdentifier","src":"354563:3:21"},{"kind":"number","nativeSrc":"354568:4:21","nodeType":"YulLiteral","src":"354568:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"354559:3:21","nodeType":"YulIdentifier","src":"354559:3:21"},"nativeSrc":"354559:14:21","nodeType":"YulFunctionCall","src":"354559:14:21"},{"arguments":[{"name":"shift","nativeSrc":"354579:5:21","nodeType":"YulIdentifier","src":"354579:5:21"},{"arguments":[{"name":"shift","nativeSrc":"354590:5:21","nodeType":"YulIdentifier","src":"354590:5:21"},{"name":"w","nativeSrc":"354597:1:21","nodeType":"YulIdentifier","src":"354597:1:21"}],"functionName":{"name":"shr","nativeSrc":"354586:3:21","nodeType":"YulIdentifier","src":"354586:3:21"},"nativeSrc":"354586:13:21","nodeType":"YulFunctionCall","src":"354586:13:21"}],"functionName":{"name":"shl","nativeSrc":"354575:3:21","nodeType":"YulIdentifier","src":"354575:3:21"},"nativeSrc":"354575:25:21","nodeType":"YulFunctionCall","src":"354575:25:21"}],"functionName":{"name":"mstore","nativeSrc":"354552:6:21","nodeType":"YulIdentifier","src":"354552:6:21"},"nativeSrc":"354552:49:21","nodeType":"YulFunctionCall","src":"354552:49:21"},"nativeSrc":"354552:49:21","nodeType":"YulExpressionStatement","src":"354552:49:21"}]},"name":"writeString","nativeSrc":"354273:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"354294:3:21","nodeType":"YulTypedName","src":"354294:3:21","type":""},{"name":"w","nativeSrc":"354299:1:21","nodeType":"YulTypedName","src":"354299:1:21","type":""}],"src":"354273:342:21"},{"nativeSrc":"354628:17:21","nodeType":"YulAssignment","src":"354628:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"354640:4:21","nodeType":"YulLiteral","src":"354640:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"354634:5:21","nodeType":"YulIdentifier","src":"354634:5:21"},"nativeSrc":"354634:11:21","nodeType":"YulFunctionCall","src":"354634:11:21"},"variableNames":[{"name":"m0","nativeSrc":"354628:2:21","nodeType":"YulIdentifier","src":"354628:2:21"}]},{"nativeSrc":"354658:17:21","nodeType":"YulAssignment","src":"354658:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"354670:4:21","nodeType":"YulLiteral","src":"354670:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"354664:5:21","nodeType":"YulIdentifier","src":"354664:5:21"},"nativeSrc":"354664:11:21","nodeType":"YulFunctionCall","src":"354664:11:21"},"variableNames":[{"name":"m1","nativeSrc":"354658:2:21","nodeType":"YulIdentifier","src":"354658:2:21"}]},{"nativeSrc":"354688:17:21","nodeType":"YulAssignment","src":"354688:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"354700:4:21","nodeType":"YulLiteral","src":"354700:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"354694:5:21","nodeType":"YulIdentifier","src":"354694:5:21"},"nativeSrc":"354694:11:21","nodeType":"YulFunctionCall","src":"354694:11:21"},"variableNames":[{"name":"m2","nativeSrc":"354688:2:21","nodeType":"YulIdentifier","src":"354688:2:21"}]},{"nativeSrc":"354718:17:21","nodeType":"YulAssignment","src":"354718:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"354730:4:21","nodeType":"YulLiteral","src":"354730:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"354724:5:21","nodeType":"YulIdentifier","src":"354724:5:21"},"nativeSrc":"354724:11:21","nodeType":"YulFunctionCall","src":"354724:11:21"},"variableNames":[{"name":"m3","nativeSrc":"354718:2:21","nodeType":"YulIdentifier","src":"354718:2:21"}]},{"nativeSrc":"354748:17:21","nodeType":"YulAssignment","src":"354748:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"354760:4:21","nodeType":"YulLiteral","src":"354760:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"354754:5:21","nodeType":"YulIdentifier","src":"354754:5:21"},"nativeSrc":"354754:11:21","nodeType":"YulFunctionCall","src":"354754:11:21"},"variableNames":[{"name":"m4","nativeSrc":"354748:2:21","nodeType":"YulIdentifier","src":"354748:2:21"}]},{"nativeSrc":"354778:17:21","nodeType":"YulAssignment","src":"354778:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"354790:4:21","nodeType":"YulLiteral","src":"354790:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"354784:5:21","nodeType":"YulIdentifier","src":"354784:5:21"},"nativeSrc":"354784:11:21","nodeType":"YulFunctionCall","src":"354784:11:21"},"variableNames":[{"name":"m5","nativeSrc":"354778:2:21","nodeType":"YulIdentifier","src":"354778:2:21"}]},{"nativeSrc":"354808:17:21","nodeType":"YulAssignment","src":"354808:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"354820:4:21","nodeType":"YulLiteral","src":"354820:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"354814:5:21","nodeType":"YulIdentifier","src":"354814:5:21"},"nativeSrc":"354814:11:21","nodeType":"YulFunctionCall","src":"354814:11:21"},"variableNames":[{"name":"m6","nativeSrc":"354808:2:21","nodeType":"YulIdentifier","src":"354808:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"354908:4:21","nodeType":"YulLiteral","src":"354908:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"354914:10:21","nodeType":"YulLiteral","src":"354914:10:21","type":"","value":"0x5d08bb05"}],"functionName":{"name":"mstore","nativeSrc":"354901:6:21","nodeType":"YulIdentifier","src":"354901:6:21"},"nativeSrc":"354901:24:21","nodeType":"YulFunctionCall","src":"354901:24:21"},"nativeSrc":"354901:24:21","nodeType":"YulExpressionStatement","src":"354901:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"354945:4:21","nodeType":"YulLiteral","src":"354945:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"354951:4:21","nodeType":"YulLiteral","src":"354951:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"354938:6:21","nodeType":"YulIdentifier","src":"354938:6:21"},"nativeSrc":"354938:18:21","nodeType":"YulFunctionCall","src":"354938:18:21"},"nativeSrc":"354938:18:21","nodeType":"YulExpressionStatement","src":"354938:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"354976:4:21","nodeType":"YulLiteral","src":"354976:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"354982:2:21","nodeType":"YulIdentifier","src":"354982:2:21"}],"functionName":{"name":"mstore","nativeSrc":"354969:6:21","nodeType":"YulIdentifier","src":"354969:6:21"},"nativeSrc":"354969:16:21","nodeType":"YulFunctionCall","src":"354969:16:21"},"nativeSrc":"354969:16:21","nodeType":"YulExpressionStatement","src":"354969:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355005:4:21","nodeType":"YulLiteral","src":"355005:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"355011:2:21","nodeType":"YulIdentifier","src":"355011:2:21"}],"functionName":{"name":"mstore","nativeSrc":"354998:6:21","nodeType":"YulIdentifier","src":"354998:6:21"},"nativeSrc":"354998:16:21","nodeType":"YulFunctionCall","src":"354998:16:21"},"nativeSrc":"354998:16:21","nodeType":"YulExpressionStatement","src":"354998:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355034:4:21","nodeType":"YulLiteral","src":"355034:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"355040:2:21","nodeType":"YulIdentifier","src":"355040:2:21"}],"functionName":{"name":"mstore","nativeSrc":"355027:6:21","nodeType":"YulIdentifier","src":"355027:6:21"},"nativeSrc":"355027:16:21","nodeType":"YulFunctionCall","src":"355027:16:21"},"nativeSrc":"355027:16:21","nodeType":"YulExpressionStatement","src":"355027:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355068:4:21","nodeType":"YulLiteral","src":"355068:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"355074:2:21","nodeType":"YulIdentifier","src":"355074:2:21"}],"functionName":{"name":"writeString","nativeSrc":"355056:11:21","nodeType":"YulIdentifier","src":"355056:11:21"},"nativeSrc":"355056:21:21","nodeType":"YulFunctionCall","src":"355056:21:21"},"nativeSrc":"355056:21:21","nodeType":"YulExpressionStatement","src":"355056:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37968,"isOffset":false,"isSlot":false,"src":"354628:2:21","valueSize":1},{"declaration":37971,"isOffset":false,"isSlot":false,"src":"354658:2:21","valueSize":1},{"declaration":37974,"isOffset":false,"isSlot":false,"src":"354688:2:21","valueSize":1},{"declaration":37977,"isOffset":false,"isSlot":false,"src":"354718:2:21","valueSize":1},{"declaration":37980,"isOffset":false,"isSlot":false,"src":"354748:2:21","valueSize":1},{"declaration":37983,"isOffset":false,"isSlot":false,"src":"354778:2:21","valueSize":1},{"declaration":37986,"isOffset":false,"isSlot":false,"src":"354808:2:21","valueSize":1},{"declaration":37958,"isOffset":false,"isSlot":false,"src":"355074:2:21","valueSize":1},{"declaration":37960,"isOffset":false,"isSlot":false,"src":"354982:2:21","valueSize":1},{"declaration":37962,"isOffset":false,"isSlot":false,"src":"355011:2:21","valueSize":1},{"declaration":37964,"isOffset":false,"isSlot":false,"src":"355040:2:21","valueSize":1}],"id":37988,"nodeType":"InlineAssembly","src":"354250:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":37990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"355112:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"355118:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37989,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"355096:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"355096:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37993,"nodeType":"ExpressionStatement","src":"355096:27:21"},{"AST":{"nativeSrc":"355185:214:21","nodeType":"YulBlock","src":"355185:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"355206:4:21","nodeType":"YulLiteral","src":"355206:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"355212:2:21","nodeType":"YulIdentifier","src":"355212:2:21"}],"functionName":{"name":"mstore","nativeSrc":"355199:6:21","nodeType":"YulIdentifier","src":"355199:6:21"},"nativeSrc":"355199:16:21","nodeType":"YulFunctionCall","src":"355199:16:21"},"nativeSrc":"355199:16:21","nodeType":"YulExpressionStatement","src":"355199:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355235:4:21","nodeType":"YulLiteral","src":"355235:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"355241:2:21","nodeType":"YulIdentifier","src":"355241:2:21"}],"functionName":{"name":"mstore","nativeSrc":"355228:6:21","nodeType":"YulIdentifier","src":"355228:6:21"},"nativeSrc":"355228:16:21","nodeType":"YulFunctionCall","src":"355228:16:21"},"nativeSrc":"355228:16:21","nodeType":"YulExpressionStatement","src":"355228:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355264:4:21","nodeType":"YulLiteral","src":"355264:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"355270:2:21","nodeType":"YulIdentifier","src":"355270:2:21"}],"functionName":{"name":"mstore","nativeSrc":"355257:6:21","nodeType":"YulIdentifier","src":"355257:6:21"},"nativeSrc":"355257:16:21","nodeType":"YulFunctionCall","src":"355257:16:21"},"nativeSrc":"355257:16:21","nodeType":"YulExpressionStatement","src":"355257:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355293:4:21","nodeType":"YulLiteral","src":"355293:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"355299:2:21","nodeType":"YulIdentifier","src":"355299:2:21"}],"functionName":{"name":"mstore","nativeSrc":"355286:6:21","nodeType":"YulIdentifier","src":"355286:6:21"},"nativeSrc":"355286:16:21","nodeType":"YulFunctionCall","src":"355286:16:21"},"nativeSrc":"355286:16:21","nodeType":"YulExpressionStatement","src":"355286:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355322:4:21","nodeType":"YulLiteral","src":"355322:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"355328:2:21","nodeType":"YulIdentifier","src":"355328:2:21"}],"functionName":{"name":"mstore","nativeSrc":"355315:6:21","nodeType":"YulIdentifier","src":"355315:6:21"},"nativeSrc":"355315:16:21","nodeType":"YulFunctionCall","src":"355315:16:21"},"nativeSrc":"355315:16:21","nodeType":"YulExpressionStatement","src":"355315:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355351:4:21","nodeType":"YulLiteral","src":"355351:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"355357:2:21","nodeType":"YulIdentifier","src":"355357:2:21"}],"functionName":{"name":"mstore","nativeSrc":"355344:6:21","nodeType":"YulIdentifier","src":"355344:6:21"},"nativeSrc":"355344:16:21","nodeType":"YulFunctionCall","src":"355344:16:21"},"nativeSrc":"355344:16:21","nodeType":"YulExpressionStatement","src":"355344:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355380:4:21","nodeType":"YulLiteral","src":"355380:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"355386:2:21","nodeType":"YulIdentifier","src":"355386:2:21"}],"functionName":{"name":"mstore","nativeSrc":"355373:6:21","nodeType":"YulIdentifier","src":"355373:6:21"},"nativeSrc":"355373:16:21","nodeType":"YulFunctionCall","src":"355373:16:21"},"nativeSrc":"355373:16:21","nodeType":"YulExpressionStatement","src":"355373:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":37968,"isOffset":false,"isSlot":false,"src":"355212:2:21","valueSize":1},{"declaration":37971,"isOffset":false,"isSlot":false,"src":"355241:2:21","valueSize":1},{"declaration":37974,"isOffset":false,"isSlot":false,"src":"355270:2:21","valueSize":1},{"declaration":37977,"isOffset":false,"isSlot":false,"src":"355299:2:21","valueSize":1},{"declaration":37980,"isOffset":false,"isSlot":false,"src":"355328:2:21","valueSize":1},{"declaration":37983,"isOffset":false,"isSlot":false,"src":"355357:2:21","valueSize":1},{"declaration":37986,"isOffset":false,"isSlot":false,"src":"355386:2:21","valueSize":1}],"id":37994,"nodeType":"InlineAssembly","src":"355176:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"353994:3:21","parameters":{"id":37965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37958,"mutability":"mutable","name":"p0","nameLocation":"354006:2:21","nodeType":"VariableDeclaration","scope":37996,"src":"353998:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"353998:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37960,"mutability":"mutable","name":"p1","nameLocation":"354015:2:21","nodeType":"VariableDeclaration","scope":37996,"src":"354010:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37959,"name":"bool","nodeType":"ElementaryTypeName","src":"354010:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37962,"mutability":"mutable","name":"p2","nameLocation":"354027:2:21","nodeType":"VariableDeclaration","scope":37996,"src":"354019:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37961,"name":"address","nodeType":"ElementaryTypeName","src":"354019:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37964,"mutability":"mutable","name":"p3","nameLocation":"354039:2:21","nodeType":"VariableDeclaration","scope":37996,"src":"354031:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37963,"name":"uint256","nodeType":"ElementaryTypeName","src":"354031:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"353997:45:21"},"returnParameters":{"id":37966,"nodeType":"ParameterList","parameters":[],"src":"354057:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38042,"nodeType":"FunctionDefinition","src":"355411:1616:21","nodes":[],"body":{"id":38041,"nodeType":"Block","src":"355483:1544:21","nodes":[],"statements":[{"assignments":[38008],"declarations":[{"constant":false,"id":38008,"mutability":"mutable","name":"m0","nameLocation":"355501:2:21","nodeType":"VariableDeclaration","scope":38041,"src":"355493:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355493:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38009,"nodeType":"VariableDeclarationStatement","src":"355493:10:21"},{"assignments":[38011],"declarations":[{"constant":false,"id":38011,"mutability":"mutable","name":"m1","nameLocation":"355521:2:21","nodeType":"VariableDeclaration","scope":38041,"src":"355513:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355513:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38012,"nodeType":"VariableDeclarationStatement","src":"355513:10:21"},{"assignments":[38014],"declarations":[{"constant":false,"id":38014,"mutability":"mutable","name":"m2","nameLocation":"355541:2:21","nodeType":"VariableDeclaration","scope":38041,"src":"355533:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355533:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38015,"nodeType":"VariableDeclarationStatement","src":"355533:10:21"},{"assignments":[38017],"declarations":[{"constant":false,"id":38017,"mutability":"mutable","name":"m3","nameLocation":"355561:2:21","nodeType":"VariableDeclaration","scope":38041,"src":"355553:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355553:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38018,"nodeType":"VariableDeclarationStatement","src":"355553:10:21"},{"assignments":[38020],"declarations":[{"constant":false,"id":38020,"mutability":"mutable","name":"m4","nameLocation":"355581:2:21","nodeType":"VariableDeclaration","scope":38041,"src":"355573:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355573:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38021,"nodeType":"VariableDeclarationStatement","src":"355573:10:21"},{"assignments":[38023],"declarations":[{"constant":false,"id":38023,"mutability":"mutable","name":"m5","nameLocation":"355601:2:21","nodeType":"VariableDeclaration","scope":38041,"src":"355593:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355593:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38024,"nodeType":"VariableDeclarationStatement","src":"355593:10:21"},{"assignments":[38026],"declarations":[{"constant":false,"id":38026,"mutability":"mutable","name":"m6","nameLocation":"355621:2:21","nodeType":"VariableDeclaration","scope":38041,"src":"355613:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355613:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38027,"nodeType":"VariableDeclarationStatement","src":"355613:10:21"},{"assignments":[38029],"declarations":[{"constant":false,"id":38029,"mutability":"mutable","name":"m7","nameLocation":"355641:2:21","nodeType":"VariableDeclaration","scope":38041,"src":"355633:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355633:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38030,"nodeType":"VariableDeclarationStatement","src":"355633:10:21"},{"assignments":[38032],"declarations":[{"constant":false,"id":38032,"mutability":"mutable","name":"m8","nameLocation":"355661:2:21","nodeType":"VariableDeclaration","scope":38041,"src":"355653:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355653:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38033,"nodeType":"VariableDeclarationStatement","src":"355653:10:21"},{"AST":{"nativeSrc":"355725:924:21","nodeType":"YulBlock","src":"355725:924:21","statements":[{"body":{"nativeSrc":"355768:313:21","nodeType":"YulBlock","src":"355768:313:21","statements":[{"nativeSrc":"355786:15:21","nodeType":"YulVariableDeclaration","src":"355786:15:21","value":{"kind":"number","nativeSrc":"355800:1:21","nodeType":"YulLiteral","src":"355800:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"355790:6:21","nodeType":"YulTypedName","src":"355790:6:21","type":""}]},{"body":{"nativeSrc":"355871:40:21","nodeType":"YulBlock","src":"355871:40:21","statements":[{"body":{"nativeSrc":"355900:9:21","nodeType":"YulBlock","src":"355900:9:21","statements":[{"nativeSrc":"355902:5:21","nodeType":"YulBreak","src":"355902:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"355888:6:21","nodeType":"YulIdentifier","src":"355888:6:21"},{"name":"w","nativeSrc":"355896:1:21","nodeType":"YulIdentifier","src":"355896:1:21"}],"functionName":{"name":"byte","nativeSrc":"355883:4:21","nodeType":"YulIdentifier","src":"355883:4:21"},"nativeSrc":"355883:15:21","nodeType":"YulFunctionCall","src":"355883:15:21"}],"functionName":{"name":"iszero","nativeSrc":"355876:6:21","nodeType":"YulIdentifier","src":"355876:6:21"},"nativeSrc":"355876:23:21","nodeType":"YulFunctionCall","src":"355876:23:21"},"nativeSrc":"355873:36:21","nodeType":"YulIf","src":"355873:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"355828:6:21","nodeType":"YulIdentifier","src":"355828:6:21"},{"kind":"number","nativeSrc":"355836:4:21","nodeType":"YulLiteral","src":"355836:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"355825:2:21","nodeType":"YulIdentifier","src":"355825:2:21"},"nativeSrc":"355825:16:21","nodeType":"YulFunctionCall","src":"355825:16:21"},"nativeSrc":"355818:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"355842:28:21","nodeType":"YulBlock","src":"355842:28:21","statements":[{"nativeSrc":"355844:24:21","nodeType":"YulAssignment","src":"355844:24:21","value":{"arguments":[{"name":"length","nativeSrc":"355858:6:21","nodeType":"YulIdentifier","src":"355858:6:21"},{"kind":"number","nativeSrc":"355866:1:21","nodeType":"YulLiteral","src":"355866:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"355854:3:21","nodeType":"YulIdentifier","src":"355854:3:21"},"nativeSrc":"355854:14:21","nodeType":"YulFunctionCall","src":"355854:14:21"},"variableNames":[{"name":"length","nativeSrc":"355844:6:21","nodeType":"YulIdentifier","src":"355844:6:21"}]}]},"pre":{"nativeSrc":"355822:2:21","nodeType":"YulBlock","src":"355822:2:21","statements":[]},"src":"355818:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"355935:3:21","nodeType":"YulIdentifier","src":"355935:3:21"},{"name":"length","nativeSrc":"355940:6:21","nodeType":"YulIdentifier","src":"355940:6:21"}],"functionName":{"name":"mstore","nativeSrc":"355928:6:21","nodeType":"YulIdentifier","src":"355928:6:21"},"nativeSrc":"355928:19:21","nodeType":"YulFunctionCall","src":"355928:19:21"},"nativeSrc":"355928:19:21","nodeType":"YulExpressionStatement","src":"355928:19:21"},{"nativeSrc":"355964:37:21","nodeType":"YulVariableDeclaration","src":"355964:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"355981:3:21","nodeType":"YulLiteral","src":"355981:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"355990:1:21","nodeType":"YulLiteral","src":"355990:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"355993:6:21","nodeType":"YulIdentifier","src":"355993:6:21"}],"functionName":{"name":"shl","nativeSrc":"355986:3:21","nodeType":"YulIdentifier","src":"355986:3:21"},"nativeSrc":"355986:14:21","nodeType":"YulFunctionCall","src":"355986:14:21"}],"functionName":{"name":"sub","nativeSrc":"355977:3:21","nodeType":"YulIdentifier","src":"355977:3:21"},"nativeSrc":"355977:24:21","nodeType":"YulFunctionCall","src":"355977:24:21"},"variables":[{"name":"shift","nativeSrc":"355968:5:21","nodeType":"YulTypedName","src":"355968:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"356029:3:21","nodeType":"YulIdentifier","src":"356029:3:21"},{"kind":"number","nativeSrc":"356034:4:21","nodeType":"YulLiteral","src":"356034:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"356025:3:21","nodeType":"YulIdentifier","src":"356025:3:21"},"nativeSrc":"356025:14:21","nodeType":"YulFunctionCall","src":"356025:14:21"},{"arguments":[{"name":"shift","nativeSrc":"356045:5:21","nodeType":"YulIdentifier","src":"356045:5:21"},{"arguments":[{"name":"shift","nativeSrc":"356056:5:21","nodeType":"YulIdentifier","src":"356056:5:21"},{"name":"w","nativeSrc":"356063:1:21","nodeType":"YulIdentifier","src":"356063:1:21"}],"functionName":{"name":"shr","nativeSrc":"356052:3:21","nodeType":"YulIdentifier","src":"356052:3:21"},"nativeSrc":"356052:13:21","nodeType":"YulFunctionCall","src":"356052:13:21"}],"functionName":{"name":"shl","nativeSrc":"356041:3:21","nodeType":"YulIdentifier","src":"356041:3:21"},"nativeSrc":"356041:25:21","nodeType":"YulFunctionCall","src":"356041:25:21"}],"functionName":{"name":"mstore","nativeSrc":"356018:6:21","nodeType":"YulIdentifier","src":"356018:6:21"},"nativeSrc":"356018:49:21","nodeType":"YulFunctionCall","src":"356018:49:21"},"nativeSrc":"356018:49:21","nodeType":"YulExpressionStatement","src":"356018:49:21"}]},"name":"writeString","nativeSrc":"355739:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"355760:3:21","nodeType":"YulTypedName","src":"355760:3:21","type":""},{"name":"w","nativeSrc":"355765:1:21","nodeType":"YulTypedName","src":"355765:1:21","type":""}],"src":"355739:342:21"},{"nativeSrc":"356094:17:21","nodeType":"YulAssignment","src":"356094:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"356106:4:21","nodeType":"YulLiteral","src":"356106:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"356100:5:21","nodeType":"YulIdentifier","src":"356100:5:21"},"nativeSrc":"356100:11:21","nodeType":"YulFunctionCall","src":"356100:11:21"},"variableNames":[{"name":"m0","nativeSrc":"356094:2:21","nodeType":"YulIdentifier","src":"356094:2:21"}]},{"nativeSrc":"356124:17:21","nodeType":"YulAssignment","src":"356124:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"356136:4:21","nodeType":"YulLiteral","src":"356136:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"356130:5:21","nodeType":"YulIdentifier","src":"356130:5:21"},"nativeSrc":"356130:11:21","nodeType":"YulFunctionCall","src":"356130:11:21"},"variableNames":[{"name":"m1","nativeSrc":"356124:2:21","nodeType":"YulIdentifier","src":"356124:2:21"}]},{"nativeSrc":"356154:17:21","nodeType":"YulAssignment","src":"356154:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"356166:4:21","nodeType":"YulLiteral","src":"356166:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"356160:5:21","nodeType":"YulIdentifier","src":"356160:5:21"},"nativeSrc":"356160:11:21","nodeType":"YulFunctionCall","src":"356160:11:21"},"variableNames":[{"name":"m2","nativeSrc":"356154:2:21","nodeType":"YulIdentifier","src":"356154:2:21"}]},{"nativeSrc":"356184:17:21","nodeType":"YulAssignment","src":"356184:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"356196:4:21","nodeType":"YulLiteral","src":"356196:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"356190:5:21","nodeType":"YulIdentifier","src":"356190:5:21"},"nativeSrc":"356190:11:21","nodeType":"YulFunctionCall","src":"356190:11:21"},"variableNames":[{"name":"m3","nativeSrc":"356184:2:21","nodeType":"YulIdentifier","src":"356184:2:21"}]},{"nativeSrc":"356214:17:21","nodeType":"YulAssignment","src":"356214:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"356226:4:21","nodeType":"YulLiteral","src":"356226:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"356220:5:21","nodeType":"YulIdentifier","src":"356220:5:21"},"nativeSrc":"356220:11:21","nodeType":"YulFunctionCall","src":"356220:11:21"},"variableNames":[{"name":"m4","nativeSrc":"356214:2:21","nodeType":"YulIdentifier","src":"356214:2:21"}]},{"nativeSrc":"356244:17:21","nodeType":"YulAssignment","src":"356244:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"356256:4:21","nodeType":"YulLiteral","src":"356256:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"356250:5:21","nodeType":"YulIdentifier","src":"356250:5:21"},"nativeSrc":"356250:11:21","nodeType":"YulFunctionCall","src":"356250:11:21"},"variableNames":[{"name":"m5","nativeSrc":"356244:2:21","nodeType":"YulIdentifier","src":"356244:2:21"}]},{"nativeSrc":"356274:17:21","nodeType":"YulAssignment","src":"356274:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"356286:4:21","nodeType":"YulLiteral","src":"356286:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"356280:5:21","nodeType":"YulIdentifier","src":"356280:5:21"},"nativeSrc":"356280:11:21","nodeType":"YulFunctionCall","src":"356280:11:21"},"variableNames":[{"name":"m6","nativeSrc":"356274:2:21","nodeType":"YulIdentifier","src":"356274:2:21"}]},{"nativeSrc":"356304:17:21","nodeType":"YulAssignment","src":"356304:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"356316:4:21","nodeType":"YulLiteral","src":"356316:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"356310:5:21","nodeType":"YulIdentifier","src":"356310:5:21"},"nativeSrc":"356310:11:21","nodeType":"YulFunctionCall","src":"356310:11:21"},"variableNames":[{"name":"m7","nativeSrc":"356304:2:21","nodeType":"YulIdentifier","src":"356304:2:21"}]},{"nativeSrc":"356334:18:21","nodeType":"YulAssignment","src":"356334:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"356346:5:21","nodeType":"YulLiteral","src":"356346:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"356340:5:21","nodeType":"YulIdentifier","src":"356340:5:21"},"nativeSrc":"356340:12:21","nodeType":"YulFunctionCall","src":"356340:12:21"},"variableNames":[{"name":"m8","nativeSrc":"356334:2:21","nodeType":"YulIdentifier","src":"356334:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356434:4:21","nodeType":"YulLiteral","src":"356434:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"356440:10:21","nodeType":"YulLiteral","src":"356440:10:21","type":"","value":"0x2d8e33a4"}],"functionName":{"name":"mstore","nativeSrc":"356427:6:21","nodeType":"YulIdentifier","src":"356427:6:21"},"nativeSrc":"356427:24:21","nodeType":"YulFunctionCall","src":"356427:24:21"},"nativeSrc":"356427:24:21","nodeType":"YulExpressionStatement","src":"356427:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356471:4:21","nodeType":"YulLiteral","src":"356471:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"356477:4:21","nodeType":"YulLiteral","src":"356477:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"356464:6:21","nodeType":"YulIdentifier","src":"356464:6:21"},"nativeSrc":"356464:18:21","nodeType":"YulFunctionCall","src":"356464:18:21"},"nativeSrc":"356464:18:21","nodeType":"YulExpressionStatement","src":"356464:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356502:4:21","nodeType":"YulLiteral","src":"356502:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"356508:2:21","nodeType":"YulIdentifier","src":"356508:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356495:6:21","nodeType":"YulIdentifier","src":"356495:6:21"},"nativeSrc":"356495:16:21","nodeType":"YulFunctionCall","src":"356495:16:21"},"nativeSrc":"356495:16:21","nodeType":"YulExpressionStatement","src":"356495:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356531:4:21","nodeType":"YulLiteral","src":"356531:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"356537:2:21","nodeType":"YulIdentifier","src":"356537:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356524:6:21","nodeType":"YulIdentifier","src":"356524:6:21"},"nativeSrc":"356524:16:21","nodeType":"YulFunctionCall","src":"356524:16:21"},"nativeSrc":"356524:16:21","nodeType":"YulExpressionStatement","src":"356524:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356560:4:21","nodeType":"YulLiteral","src":"356560:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"356566:4:21","nodeType":"YulLiteral","src":"356566:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"356553:6:21","nodeType":"YulIdentifier","src":"356553:6:21"},"nativeSrc":"356553:18:21","nodeType":"YulFunctionCall","src":"356553:18:21"},"nativeSrc":"356553:18:21","nodeType":"YulExpressionStatement","src":"356553:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356596:4:21","nodeType":"YulLiteral","src":"356596:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"356602:2:21","nodeType":"YulIdentifier","src":"356602:2:21"}],"functionName":{"name":"writeString","nativeSrc":"356584:11:21","nodeType":"YulIdentifier","src":"356584:11:21"},"nativeSrc":"356584:21:21","nodeType":"YulFunctionCall","src":"356584:21:21"},"nativeSrc":"356584:21:21","nodeType":"YulExpressionStatement","src":"356584:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356630:4:21","nodeType":"YulLiteral","src":"356630:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"356636:2:21","nodeType":"YulIdentifier","src":"356636:2:21"}],"functionName":{"name":"writeString","nativeSrc":"356618:11:21","nodeType":"YulIdentifier","src":"356618:11:21"},"nativeSrc":"356618:21:21","nodeType":"YulFunctionCall","src":"356618:21:21"},"nativeSrc":"356618:21:21","nodeType":"YulExpressionStatement","src":"356618:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38008,"isOffset":false,"isSlot":false,"src":"356094:2:21","valueSize":1},{"declaration":38011,"isOffset":false,"isSlot":false,"src":"356124:2:21","valueSize":1},{"declaration":38014,"isOffset":false,"isSlot":false,"src":"356154:2:21","valueSize":1},{"declaration":38017,"isOffset":false,"isSlot":false,"src":"356184:2:21","valueSize":1},{"declaration":38020,"isOffset":false,"isSlot":false,"src":"356214:2:21","valueSize":1},{"declaration":38023,"isOffset":false,"isSlot":false,"src":"356244:2:21","valueSize":1},{"declaration":38026,"isOffset":false,"isSlot":false,"src":"356274:2:21","valueSize":1},{"declaration":38029,"isOffset":false,"isSlot":false,"src":"356304:2:21","valueSize":1},{"declaration":38032,"isOffset":false,"isSlot":false,"src":"356334:2:21","valueSize":1},{"declaration":37998,"isOffset":false,"isSlot":false,"src":"356602:2:21","valueSize":1},{"declaration":38000,"isOffset":false,"isSlot":false,"src":"356508:2:21","valueSize":1},{"declaration":38002,"isOffset":false,"isSlot":false,"src":"356537:2:21","valueSize":1},{"declaration":38004,"isOffset":false,"isSlot":false,"src":"356636:2:21","valueSize":1}],"id":38034,"nodeType":"InlineAssembly","src":"355716:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"356674:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"356680:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38035,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"356658:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"356658:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38039,"nodeType":"ExpressionStatement","src":"356658:28:21"},{"AST":{"nativeSrc":"356748:273:21","nodeType":"YulBlock","src":"356748:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"356769:4:21","nodeType":"YulLiteral","src":"356769:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"356775:2:21","nodeType":"YulIdentifier","src":"356775:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356762:6:21","nodeType":"YulIdentifier","src":"356762:6:21"},"nativeSrc":"356762:16:21","nodeType":"YulFunctionCall","src":"356762:16:21"},"nativeSrc":"356762:16:21","nodeType":"YulExpressionStatement","src":"356762:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356798:4:21","nodeType":"YulLiteral","src":"356798:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"356804:2:21","nodeType":"YulIdentifier","src":"356804:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356791:6:21","nodeType":"YulIdentifier","src":"356791:6:21"},"nativeSrc":"356791:16:21","nodeType":"YulFunctionCall","src":"356791:16:21"},"nativeSrc":"356791:16:21","nodeType":"YulExpressionStatement","src":"356791:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356827:4:21","nodeType":"YulLiteral","src":"356827:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"356833:2:21","nodeType":"YulIdentifier","src":"356833:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356820:6:21","nodeType":"YulIdentifier","src":"356820:6:21"},"nativeSrc":"356820:16:21","nodeType":"YulFunctionCall","src":"356820:16:21"},"nativeSrc":"356820:16:21","nodeType":"YulExpressionStatement","src":"356820:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356856:4:21","nodeType":"YulLiteral","src":"356856:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"356862:2:21","nodeType":"YulIdentifier","src":"356862:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356849:6:21","nodeType":"YulIdentifier","src":"356849:6:21"},"nativeSrc":"356849:16:21","nodeType":"YulFunctionCall","src":"356849:16:21"},"nativeSrc":"356849:16:21","nodeType":"YulExpressionStatement","src":"356849:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356885:4:21","nodeType":"YulLiteral","src":"356885:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"356891:2:21","nodeType":"YulIdentifier","src":"356891:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356878:6:21","nodeType":"YulIdentifier","src":"356878:6:21"},"nativeSrc":"356878:16:21","nodeType":"YulFunctionCall","src":"356878:16:21"},"nativeSrc":"356878:16:21","nodeType":"YulExpressionStatement","src":"356878:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356914:4:21","nodeType":"YulLiteral","src":"356914:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"356920:2:21","nodeType":"YulIdentifier","src":"356920:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356907:6:21","nodeType":"YulIdentifier","src":"356907:6:21"},"nativeSrc":"356907:16:21","nodeType":"YulFunctionCall","src":"356907:16:21"},"nativeSrc":"356907:16:21","nodeType":"YulExpressionStatement","src":"356907:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356943:4:21","nodeType":"YulLiteral","src":"356943:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"356949:2:21","nodeType":"YulIdentifier","src":"356949:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356936:6:21","nodeType":"YulIdentifier","src":"356936:6:21"},"nativeSrc":"356936:16:21","nodeType":"YulFunctionCall","src":"356936:16:21"},"nativeSrc":"356936:16:21","nodeType":"YulExpressionStatement","src":"356936:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356972:4:21","nodeType":"YulLiteral","src":"356972:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"356978:2:21","nodeType":"YulIdentifier","src":"356978:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356965:6:21","nodeType":"YulIdentifier","src":"356965:6:21"},"nativeSrc":"356965:16:21","nodeType":"YulFunctionCall","src":"356965:16:21"},"nativeSrc":"356965:16:21","nodeType":"YulExpressionStatement","src":"356965:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"357001:5:21","nodeType":"YulLiteral","src":"357001:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"357008:2:21","nodeType":"YulIdentifier","src":"357008:2:21"}],"functionName":{"name":"mstore","nativeSrc":"356994:6:21","nodeType":"YulIdentifier","src":"356994:6:21"},"nativeSrc":"356994:17:21","nodeType":"YulFunctionCall","src":"356994:17:21"},"nativeSrc":"356994:17:21","nodeType":"YulExpressionStatement","src":"356994:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38008,"isOffset":false,"isSlot":false,"src":"356775:2:21","valueSize":1},{"declaration":38011,"isOffset":false,"isSlot":false,"src":"356804:2:21","valueSize":1},{"declaration":38014,"isOffset":false,"isSlot":false,"src":"356833:2:21","valueSize":1},{"declaration":38017,"isOffset":false,"isSlot":false,"src":"356862:2:21","valueSize":1},{"declaration":38020,"isOffset":false,"isSlot":false,"src":"356891:2:21","valueSize":1},{"declaration":38023,"isOffset":false,"isSlot":false,"src":"356920:2:21","valueSize":1},{"declaration":38026,"isOffset":false,"isSlot":false,"src":"356949:2:21","valueSize":1},{"declaration":38029,"isOffset":false,"isSlot":false,"src":"356978:2:21","valueSize":1},{"declaration":38032,"isOffset":false,"isSlot":false,"src":"357008:2:21","valueSize":1}],"id":38040,"nodeType":"InlineAssembly","src":"356739:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"355420:3:21","parameters":{"id":38005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37998,"mutability":"mutable","name":"p0","nameLocation":"355432:2:21","nodeType":"VariableDeclaration","scope":38042,"src":"355424:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355424:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38000,"mutability":"mutable","name":"p1","nameLocation":"355441:2:21","nodeType":"VariableDeclaration","scope":38042,"src":"355436:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37999,"name":"bool","nodeType":"ElementaryTypeName","src":"355436:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38002,"mutability":"mutable","name":"p2","nameLocation":"355453:2:21","nodeType":"VariableDeclaration","scope":38042,"src":"355445:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38001,"name":"address","nodeType":"ElementaryTypeName","src":"355445:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38004,"mutability":"mutable","name":"p3","nameLocation":"355465:2:21","nodeType":"VariableDeclaration","scope":38042,"src":"355457:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355457:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"355423:45:21"},"returnParameters":{"id":38006,"nodeType":"ParameterList","parameters":[],"src":"355483:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38082,"nodeType":"FunctionDefinition","src":"357033:1414:21","nodes":[],"body":{"id":38081,"nodeType":"Block","src":"357102:1345:21","nodes":[],"statements":[{"assignments":[38054],"declarations":[{"constant":false,"id":38054,"mutability":"mutable","name":"m0","nameLocation":"357120:2:21","nodeType":"VariableDeclaration","scope":38081,"src":"357112:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357112:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38055,"nodeType":"VariableDeclarationStatement","src":"357112:10:21"},{"assignments":[38057],"declarations":[{"constant":false,"id":38057,"mutability":"mutable","name":"m1","nameLocation":"357140:2:21","nodeType":"VariableDeclaration","scope":38081,"src":"357132:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357132:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38058,"nodeType":"VariableDeclarationStatement","src":"357132:10:21"},{"assignments":[38060],"declarations":[{"constant":false,"id":38060,"mutability":"mutable","name":"m2","nameLocation":"357160:2:21","nodeType":"VariableDeclaration","scope":38081,"src":"357152:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357152:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38061,"nodeType":"VariableDeclarationStatement","src":"357152:10:21"},{"assignments":[38063],"declarations":[{"constant":false,"id":38063,"mutability":"mutable","name":"m3","nameLocation":"357180:2:21","nodeType":"VariableDeclaration","scope":38081,"src":"357172:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357172:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38064,"nodeType":"VariableDeclarationStatement","src":"357172:10:21"},{"assignments":[38066],"declarations":[{"constant":false,"id":38066,"mutability":"mutable","name":"m4","nameLocation":"357200:2:21","nodeType":"VariableDeclaration","scope":38081,"src":"357192:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357192:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38067,"nodeType":"VariableDeclarationStatement","src":"357192:10:21"},{"assignments":[38069],"declarations":[{"constant":false,"id":38069,"mutability":"mutable","name":"m5","nameLocation":"357220:2:21","nodeType":"VariableDeclaration","scope":38081,"src":"357212:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357212:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38070,"nodeType":"VariableDeclarationStatement","src":"357212:10:21"},{"assignments":[38072],"declarations":[{"constant":false,"id":38072,"mutability":"mutable","name":"m6","nameLocation":"357240:2:21","nodeType":"VariableDeclaration","scope":38081,"src":"357232:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357232:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38073,"nodeType":"VariableDeclarationStatement","src":"357232:10:21"},{"AST":{"nativeSrc":"357304:825:21","nodeType":"YulBlock","src":"357304:825:21","statements":[{"body":{"nativeSrc":"357347:313:21","nodeType":"YulBlock","src":"357347:313:21","statements":[{"nativeSrc":"357365:15:21","nodeType":"YulVariableDeclaration","src":"357365:15:21","value":{"kind":"number","nativeSrc":"357379:1:21","nodeType":"YulLiteral","src":"357379:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"357369:6:21","nodeType":"YulTypedName","src":"357369:6:21","type":""}]},{"body":{"nativeSrc":"357450:40:21","nodeType":"YulBlock","src":"357450:40:21","statements":[{"body":{"nativeSrc":"357479:9:21","nodeType":"YulBlock","src":"357479:9:21","statements":[{"nativeSrc":"357481:5:21","nodeType":"YulBreak","src":"357481:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"357467:6:21","nodeType":"YulIdentifier","src":"357467:6:21"},{"name":"w","nativeSrc":"357475:1:21","nodeType":"YulIdentifier","src":"357475:1:21"}],"functionName":{"name":"byte","nativeSrc":"357462:4:21","nodeType":"YulIdentifier","src":"357462:4:21"},"nativeSrc":"357462:15:21","nodeType":"YulFunctionCall","src":"357462:15:21"}],"functionName":{"name":"iszero","nativeSrc":"357455:6:21","nodeType":"YulIdentifier","src":"357455:6:21"},"nativeSrc":"357455:23:21","nodeType":"YulFunctionCall","src":"357455:23:21"},"nativeSrc":"357452:36:21","nodeType":"YulIf","src":"357452:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"357407:6:21","nodeType":"YulIdentifier","src":"357407:6:21"},{"kind":"number","nativeSrc":"357415:4:21","nodeType":"YulLiteral","src":"357415:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"357404:2:21","nodeType":"YulIdentifier","src":"357404:2:21"},"nativeSrc":"357404:16:21","nodeType":"YulFunctionCall","src":"357404:16:21"},"nativeSrc":"357397:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"357421:28:21","nodeType":"YulBlock","src":"357421:28:21","statements":[{"nativeSrc":"357423:24:21","nodeType":"YulAssignment","src":"357423:24:21","value":{"arguments":[{"name":"length","nativeSrc":"357437:6:21","nodeType":"YulIdentifier","src":"357437:6:21"},{"kind":"number","nativeSrc":"357445:1:21","nodeType":"YulLiteral","src":"357445:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"357433:3:21","nodeType":"YulIdentifier","src":"357433:3:21"},"nativeSrc":"357433:14:21","nodeType":"YulFunctionCall","src":"357433:14:21"},"variableNames":[{"name":"length","nativeSrc":"357423:6:21","nodeType":"YulIdentifier","src":"357423:6:21"}]}]},"pre":{"nativeSrc":"357401:2:21","nodeType":"YulBlock","src":"357401:2:21","statements":[]},"src":"357397:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"357514:3:21","nodeType":"YulIdentifier","src":"357514:3:21"},{"name":"length","nativeSrc":"357519:6:21","nodeType":"YulIdentifier","src":"357519:6:21"}],"functionName":{"name":"mstore","nativeSrc":"357507:6:21","nodeType":"YulIdentifier","src":"357507:6:21"},"nativeSrc":"357507:19:21","nodeType":"YulFunctionCall","src":"357507:19:21"},"nativeSrc":"357507:19:21","nodeType":"YulExpressionStatement","src":"357507:19:21"},{"nativeSrc":"357543:37:21","nodeType":"YulVariableDeclaration","src":"357543:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"357560:3:21","nodeType":"YulLiteral","src":"357560:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"357569:1:21","nodeType":"YulLiteral","src":"357569:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"357572:6:21","nodeType":"YulIdentifier","src":"357572:6:21"}],"functionName":{"name":"shl","nativeSrc":"357565:3:21","nodeType":"YulIdentifier","src":"357565:3:21"},"nativeSrc":"357565:14:21","nodeType":"YulFunctionCall","src":"357565:14:21"}],"functionName":{"name":"sub","nativeSrc":"357556:3:21","nodeType":"YulIdentifier","src":"357556:3:21"},"nativeSrc":"357556:24:21","nodeType":"YulFunctionCall","src":"357556:24:21"},"variables":[{"name":"shift","nativeSrc":"357547:5:21","nodeType":"YulTypedName","src":"357547:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"357608:3:21","nodeType":"YulIdentifier","src":"357608:3:21"},{"kind":"number","nativeSrc":"357613:4:21","nodeType":"YulLiteral","src":"357613:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"357604:3:21","nodeType":"YulIdentifier","src":"357604:3:21"},"nativeSrc":"357604:14:21","nodeType":"YulFunctionCall","src":"357604:14:21"},{"arguments":[{"name":"shift","nativeSrc":"357624:5:21","nodeType":"YulIdentifier","src":"357624:5:21"},{"arguments":[{"name":"shift","nativeSrc":"357635:5:21","nodeType":"YulIdentifier","src":"357635:5:21"},{"name":"w","nativeSrc":"357642:1:21","nodeType":"YulIdentifier","src":"357642:1:21"}],"functionName":{"name":"shr","nativeSrc":"357631:3:21","nodeType":"YulIdentifier","src":"357631:3:21"},"nativeSrc":"357631:13:21","nodeType":"YulFunctionCall","src":"357631:13:21"}],"functionName":{"name":"shl","nativeSrc":"357620:3:21","nodeType":"YulIdentifier","src":"357620:3:21"},"nativeSrc":"357620:25:21","nodeType":"YulFunctionCall","src":"357620:25:21"}],"functionName":{"name":"mstore","nativeSrc":"357597:6:21","nodeType":"YulIdentifier","src":"357597:6:21"},"nativeSrc":"357597:49:21","nodeType":"YulFunctionCall","src":"357597:49:21"},"nativeSrc":"357597:49:21","nodeType":"YulExpressionStatement","src":"357597:49:21"}]},"name":"writeString","nativeSrc":"357318:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"357339:3:21","nodeType":"YulTypedName","src":"357339:3:21","type":""},{"name":"w","nativeSrc":"357344:1:21","nodeType":"YulTypedName","src":"357344:1:21","type":""}],"src":"357318:342:21"},{"nativeSrc":"357673:17:21","nodeType":"YulAssignment","src":"357673:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"357685:4:21","nodeType":"YulLiteral","src":"357685:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"357679:5:21","nodeType":"YulIdentifier","src":"357679:5:21"},"nativeSrc":"357679:11:21","nodeType":"YulFunctionCall","src":"357679:11:21"},"variableNames":[{"name":"m0","nativeSrc":"357673:2:21","nodeType":"YulIdentifier","src":"357673:2:21"}]},{"nativeSrc":"357703:17:21","nodeType":"YulAssignment","src":"357703:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"357715:4:21","nodeType":"YulLiteral","src":"357715:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"357709:5:21","nodeType":"YulIdentifier","src":"357709:5:21"},"nativeSrc":"357709:11:21","nodeType":"YulFunctionCall","src":"357709:11:21"},"variableNames":[{"name":"m1","nativeSrc":"357703:2:21","nodeType":"YulIdentifier","src":"357703:2:21"}]},{"nativeSrc":"357733:17:21","nodeType":"YulAssignment","src":"357733:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"357745:4:21","nodeType":"YulLiteral","src":"357745:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"357739:5:21","nodeType":"YulIdentifier","src":"357739:5:21"},"nativeSrc":"357739:11:21","nodeType":"YulFunctionCall","src":"357739:11:21"},"variableNames":[{"name":"m2","nativeSrc":"357733:2:21","nodeType":"YulIdentifier","src":"357733:2:21"}]},{"nativeSrc":"357763:17:21","nodeType":"YulAssignment","src":"357763:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"357775:4:21","nodeType":"YulLiteral","src":"357775:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"357769:5:21","nodeType":"YulIdentifier","src":"357769:5:21"},"nativeSrc":"357769:11:21","nodeType":"YulFunctionCall","src":"357769:11:21"},"variableNames":[{"name":"m3","nativeSrc":"357763:2:21","nodeType":"YulIdentifier","src":"357763:2:21"}]},{"nativeSrc":"357793:17:21","nodeType":"YulAssignment","src":"357793:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"357805:4:21","nodeType":"YulLiteral","src":"357805:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"357799:5:21","nodeType":"YulIdentifier","src":"357799:5:21"},"nativeSrc":"357799:11:21","nodeType":"YulFunctionCall","src":"357799:11:21"},"variableNames":[{"name":"m4","nativeSrc":"357793:2:21","nodeType":"YulIdentifier","src":"357793:2:21"}]},{"nativeSrc":"357823:17:21","nodeType":"YulAssignment","src":"357823:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"357835:4:21","nodeType":"YulLiteral","src":"357835:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"357829:5:21","nodeType":"YulIdentifier","src":"357829:5:21"},"nativeSrc":"357829:11:21","nodeType":"YulFunctionCall","src":"357829:11:21"},"variableNames":[{"name":"m5","nativeSrc":"357823:2:21","nodeType":"YulIdentifier","src":"357823:2:21"}]},{"nativeSrc":"357853:17:21","nodeType":"YulAssignment","src":"357853:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"357865:4:21","nodeType":"YulLiteral","src":"357865:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"357859:5:21","nodeType":"YulIdentifier","src":"357859:5:21"},"nativeSrc":"357859:11:21","nodeType":"YulFunctionCall","src":"357859:11:21"},"variableNames":[{"name":"m6","nativeSrc":"357853:2:21","nodeType":"YulIdentifier","src":"357853:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"357950:4:21","nodeType":"YulLiteral","src":"357950:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"357956:10:21","nodeType":"YulLiteral","src":"357956:10:21","type":"","value":"0x7190a529"}],"functionName":{"name":"mstore","nativeSrc":"357943:6:21","nodeType":"YulIdentifier","src":"357943:6:21"},"nativeSrc":"357943:24:21","nodeType":"YulFunctionCall","src":"357943:24:21"},"nativeSrc":"357943:24:21","nodeType":"YulExpressionStatement","src":"357943:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"357987:4:21","nodeType":"YulLiteral","src":"357987:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"357993:4:21","nodeType":"YulLiteral","src":"357993:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"357980:6:21","nodeType":"YulIdentifier","src":"357980:6:21"},"nativeSrc":"357980:18:21","nodeType":"YulFunctionCall","src":"357980:18:21"},"nativeSrc":"357980:18:21","nodeType":"YulExpressionStatement","src":"357980:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358018:4:21","nodeType":"YulLiteral","src":"358018:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"358024:2:21","nodeType":"YulIdentifier","src":"358024:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358011:6:21","nodeType":"YulIdentifier","src":"358011:6:21"},"nativeSrc":"358011:16:21","nodeType":"YulFunctionCall","src":"358011:16:21"},"nativeSrc":"358011:16:21","nodeType":"YulExpressionStatement","src":"358011:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358047:4:21","nodeType":"YulLiteral","src":"358047:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"358053:2:21","nodeType":"YulIdentifier","src":"358053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358040:6:21","nodeType":"YulIdentifier","src":"358040:6:21"},"nativeSrc":"358040:16:21","nodeType":"YulFunctionCall","src":"358040:16:21"},"nativeSrc":"358040:16:21","nodeType":"YulExpressionStatement","src":"358040:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358076:4:21","nodeType":"YulLiteral","src":"358076:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"358082:2:21","nodeType":"YulIdentifier","src":"358082:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358069:6:21","nodeType":"YulIdentifier","src":"358069:6:21"},"nativeSrc":"358069:16:21","nodeType":"YulFunctionCall","src":"358069:16:21"},"nativeSrc":"358069:16:21","nodeType":"YulExpressionStatement","src":"358069:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358110:4:21","nodeType":"YulLiteral","src":"358110:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"358116:2:21","nodeType":"YulIdentifier","src":"358116:2:21"}],"functionName":{"name":"writeString","nativeSrc":"358098:11:21","nodeType":"YulIdentifier","src":"358098:11:21"},"nativeSrc":"358098:21:21","nodeType":"YulFunctionCall","src":"358098:21:21"},"nativeSrc":"358098:21:21","nodeType":"YulExpressionStatement","src":"358098:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38054,"isOffset":false,"isSlot":false,"src":"357673:2:21","valueSize":1},{"declaration":38057,"isOffset":false,"isSlot":false,"src":"357703:2:21","valueSize":1},{"declaration":38060,"isOffset":false,"isSlot":false,"src":"357733:2:21","valueSize":1},{"declaration":38063,"isOffset":false,"isSlot":false,"src":"357763:2:21","valueSize":1},{"declaration":38066,"isOffset":false,"isSlot":false,"src":"357793:2:21","valueSize":1},{"declaration":38069,"isOffset":false,"isSlot":false,"src":"357823:2:21","valueSize":1},{"declaration":38072,"isOffset":false,"isSlot":false,"src":"357853:2:21","valueSize":1},{"declaration":38044,"isOffset":false,"isSlot":false,"src":"358116:2:21","valueSize":1},{"declaration":38046,"isOffset":false,"isSlot":false,"src":"358024:2:21","valueSize":1},{"declaration":38048,"isOffset":false,"isSlot":false,"src":"358053:2:21","valueSize":1},{"declaration":38050,"isOffset":false,"isSlot":false,"src":"358082:2:21","valueSize":1}],"id":38074,"nodeType":"InlineAssembly","src":"357295:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"358154:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"358160:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"358138:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"358138:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38079,"nodeType":"ExpressionStatement","src":"358138:27:21"},{"AST":{"nativeSrc":"358227:214:21","nodeType":"YulBlock","src":"358227:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"358248:4:21","nodeType":"YulLiteral","src":"358248:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"358254:2:21","nodeType":"YulIdentifier","src":"358254:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358241:6:21","nodeType":"YulIdentifier","src":"358241:6:21"},"nativeSrc":"358241:16:21","nodeType":"YulFunctionCall","src":"358241:16:21"},"nativeSrc":"358241:16:21","nodeType":"YulExpressionStatement","src":"358241:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358277:4:21","nodeType":"YulLiteral","src":"358277:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"358283:2:21","nodeType":"YulIdentifier","src":"358283:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358270:6:21","nodeType":"YulIdentifier","src":"358270:6:21"},"nativeSrc":"358270:16:21","nodeType":"YulFunctionCall","src":"358270:16:21"},"nativeSrc":"358270:16:21","nodeType":"YulExpressionStatement","src":"358270:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358306:4:21","nodeType":"YulLiteral","src":"358306:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"358312:2:21","nodeType":"YulIdentifier","src":"358312:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358299:6:21","nodeType":"YulIdentifier","src":"358299:6:21"},"nativeSrc":"358299:16:21","nodeType":"YulFunctionCall","src":"358299:16:21"},"nativeSrc":"358299:16:21","nodeType":"YulExpressionStatement","src":"358299:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358335:4:21","nodeType":"YulLiteral","src":"358335:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"358341:2:21","nodeType":"YulIdentifier","src":"358341:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358328:6:21","nodeType":"YulIdentifier","src":"358328:6:21"},"nativeSrc":"358328:16:21","nodeType":"YulFunctionCall","src":"358328:16:21"},"nativeSrc":"358328:16:21","nodeType":"YulExpressionStatement","src":"358328:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358364:4:21","nodeType":"YulLiteral","src":"358364:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"358370:2:21","nodeType":"YulIdentifier","src":"358370:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358357:6:21","nodeType":"YulIdentifier","src":"358357:6:21"},"nativeSrc":"358357:16:21","nodeType":"YulFunctionCall","src":"358357:16:21"},"nativeSrc":"358357:16:21","nodeType":"YulExpressionStatement","src":"358357:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358393:4:21","nodeType":"YulLiteral","src":"358393:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"358399:2:21","nodeType":"YulIdentifier","src":"358399:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358386:6:21","nodeType":"YulIdentifier","src":"358386:6:21"},"nativeSrc":"358386:16:21","nodeType":"YulFunctionCall","src":"358386:16:21"},"nativeSrc":"358386:16:21","nodeType":"YulExpressionStatement","src":"358386:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358422:4:21","nodeType":"YulLiteral","src":"358422:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"358428:2:21","nodeType":"YulIdentifier","src":"358428:2:21"}],"functionName":{"name":"mstore","nativeSrc":"358415:6:21","nodeType":"YulIdentifier","src":"358415:6:21"},"nativeSrc":"358415:16:21","nodeType":"YulFunctionCall","src":"358415:16:21"},"nativeSrc":"358415:16:21","nodeType":"YulExpressionStatement","src":"358415:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38054,"isOffset":false,"isSlot":false,"src":"358254:2:21","valueSize":1},{"declaration":38057,"isOffset":false,"isSlot":false,"src":"358283:2:21","valueSize":1},{"declaration":38060,"isOffset":false,"isSlot":false,"src":"358312:2:21","valueSize":1},{"declaration":38063,"isOffset":false,"isSlot":false,"src":"358341:2:21","valueSize":1},{"declaration":38066,"isOffset":false,"isSlot":false,"src":"358370:2:21","valueSize":1},{"declaration":38069,"isOffset":false,"isSlot":false,"src":"358399:2:21","valueSize":1},{"declaration":38072,"isOffset":false,"isSlot":false,"src":"358428:2:21","valueSize":1}],"id":38080,"nodeType":"InlineAssembly","src":"358218:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"357042:3:21","parameters":{"id":38051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38044,"mutability":"mutable","name":"p0","nameLocation":"357054:2:21","nodeType":"VariableDeclaration","scope":38082,"src":"357046:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357046:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38046,"mutability":"mutable","name":"p1","nameLocation":"357063:2:21","nodeType":"VariableDeclaration","scope":38082,"src":"357058:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38045,"name":"bool","nodeType":"ElementaryTypeName","src":"357058:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38048,"mutability":"mutable","name":"p2","nameLocation":"357072:2:21","nodeType":"VariableDeclaration","scope":38082,"src":"357067:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38047,"name":"bool","nodeType":"ElementaryTypeName","src":"357067:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38050,"mutability":"mutable","name":"p3","nameLocation":"357084:2:21","nodeType":"VariableDeclaration","scope":38082,"src":"357076:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38049,"name":"address","nodeType":"ElementaryTypeName","src":"357076:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"357045:42:21"},"returnParameters":{"id":38052,"nodeType":"ParameterList","parameters":[],"src":"357102:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38122,"nodeType":"FunctionDefinition","src":"358453:1408:21","nodes":[],"body":{"id":38121,"nodeType":"Block","src":"358519:1342:21","nodes":[],"statements":[{"assignments":[38094],"declarations":[{"constant":false,"id":38094,"mutability":"mutable","name":"m0","nameLocation":"358537:2:21","nodeType":"VariableDeclaration","scope":38121,"src":"358529:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358529:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38095,"nodeType":"VariableDeclarationStatement","src":"358529:10:21"},{"assignments":[38097],"declarations":[{"constant":false,"id":38097,"mutability":"mutable","name":"m1","nameLocation":"358557:2:21","nodeType":"VariableDeclaration","scope":38121,"src":"358549:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358549:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38098,"nodeType":"VariableDeclarationStatement","src":"358549:10:21"},{"assignments":[38100],"declarations":[{"constant":false,"id":38100,"mutability":"mutable","name":"m2","nameLocation":"358577:2:21","nodeType":"VariableDeclaration","scope":38121,"src":"358569:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358569:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38101,"nodeType":"VariableDeclarationStatement","src":"358569:10:21"},{"assignments":[38103],"declarations":[{"constant":false,"id":38103,"mutability":"mutable","name":"m3","nameLocation":"358597:2:21","nodeType":"VariableDeclaration","scope":38121,"src":"358589:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358589:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38104,"nodeType":"VariableDeclarationStatement","src":"358589:10:21"},{"assignments":[38106],"declarations":[{"constant":false,"id":38106,"mutability":"mutable","name":"m4","nameLocation":"358617:2:21","nodeType":"VariableDeclaration","scope":38121,"src":"358609:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358609:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38107,"nodeType":"VariableDeclarationStatement","src":"358609:10:21"},{"assignments":[38109],"declarations":[{"constant":false,"id":38109,"mutability":"mutable","name":"m5","nameLocation":"358637:2:21","nodeType":"VariableDeclaration","scope":38121,"src":"358629:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358629:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38110,"nodeType":"VariableDeclarationStatement","src":"358629:10:21"},{"assignments":[38112],"declarations":[{"constant":false,"id":38112,"mutability":"mutable","name":"m6","nameLocation":"358657:2:21","nodeType":"VariableDeclaration","scope":38121,"src":"358649:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358649:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38113,"nodeType":"VariableDeclarationStatement","src":"358649:10:21"},{"AST":{"nativeSrc":"358721:822:21","nodeType":"YulBlock","src":"358721:822:21","statements":[{"body":{"nativeSrc":"358764:313:21","nodeType":"YulBlock","src":"358764:313:21","statements":[{"nativeSrc":"358782:15:21","nodeType":"YulVariableDeclaration","src":"358782:15:21","value":{"kind":"number","nativeSrc":"358796:1:21","nodeType":"YulLiteral","src":"358796:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"358786:6:21","nodeType":"YulTypedName","src":"358786:6:21","type":""}]},{"body":{"nativeSrc":"358867:40:21","nodeType":"YulBlock","src":"358867:40:21","statements":[{"body":{"nativeSrc":"358896:9:21","nodeType":"YulBlock","src":"358896:9:21","statements":[{"nativeSrc":"358898:5:21","nodeType":"YulBreak","src":"358898:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"358884:6:21","nodeType":"YulIdentifier","src":"358884:6:21"},{"name":"w","nativeSrc":"358892:1:21","nodeType":"YulIdentifier","src":"358892:1:21"}],"functionName":{"name":"byte","nativeSrc":"358879:4:21","nodeType":"YulIdentifier","src":"358879:4:21"},"nativeSrc":"358879:15:21","nodeType":"YulFunctionCall","src":"358879:15:21"}],"functionName":{"name":"iszero","nativeSrc":"358872:6:21","nodeType":"YulIdentifier","src":"358872:6:21"},"nativeSrc":"358872:23:21","nodeType":"YulFunctionCall","src":"358872:23:21"},"nativeSrc":"358869:36:21","nodeType":"YulIf","src":"358869:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"358824:6:21","nodeType":"YulIdentifier","src":"358824:6:21"},{"kind":"number","nativeSrc":"358832:4:21","nodeType":"YulLiteral","src":"358832:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"358821:2:21","nodeType":"YulIdentifier","src":"358821:2:21"},"nativeSrc":"358821:16:21","nodeType":"YulFunctionCall","src":"358821:16:21"},"nativeSrc":"358814:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"358838:28:21","nodeType":"YulBlock","src":"358838:28:21","statements":[{"nativeSrc":"358840:24:21","nodeType":"YulAssignment","src":"358840:24:21","value":{"arguments":[{"name":"length","nativeSrc":"358854:6:21","nodeType":"YulIdentifier","src":"358854:6:21"},{"kind":"number","nativeSrc":"358862:1:21","nodeType":"YulLiteral","src":"358862:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"358850:3:21","nodeType":"YulIdentifier","src":"358850:3:21"},"nativeSrc":"358850:14:21","nodeType":"YulFunctionCall","src":"358850:14:21"},"variableNames":[{"name":"length","nativeSrc":"358840:6:21","nodeType":"YulIdentifier","src":"358840:6:21"}]}]},"pre":{"nativeSrc":"358818:2:21","nodeType":"YulBlock","src":"358818:2:21","statements":[]},"src":"358814:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"358931:3:21","nodeType":"YulIdentifier","src":"358931:3:21"},{"name":"length","nativeSrc":"358936:6:21","nodeType":"YulIdentifier","src":"358936:6:21"}],"functionName":{"name":"mstore","nativeSrc":"358924:6:21","nodeType":"YulIdentifier","src":"358924:6:21"},"nativeSrc":"358924:19:21","nodeType":"YulFunctionCall","src":"358924:19:21"},"nativeSrc":"358924:19:21","nodeType":"YulExpressionStatement","src":"358924:19:21"},{"nativeSrc":"358960:37:21","nodeType":"YulVariableDeclaration","src":"358960:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"358977:3:21","nodeType":"YulLiteral","src":"358977:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"358986:1:21","nodeType":"YulLiteral","src":"358986:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"358989:6:21","nodeType":"YulIdentifier","src":"358989:6:21"}],"functionName":{"name":"shl","nativeSrc":"358982:3:21","nodeType":"YulIdentifier","src":"358982:3:21"},"nativeSrc":"358982:14:21","nodeType":"YulFunctionCall","src":"358982:14:21"}],"functionName":{"name":"sub","nativeSrc":"358973:3:21","nodeType":"YulIdentifier","src":"358973:3:21"},"nativeSrc":"358973:24:21","nodeType":"YulFunctionCall","src":"358973:24:21"},"variables":[{"name":"shift","nativeSrc":"358964:5:21","nodeType":"YulTypedName","src":"358964:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"359025:3:21","nodeType":"YulIdentifier","src":"359025:3:21"},{"kind":"number","nativeSrc":"359030:4:21","nodeType":"YulLiteral","src":"359030:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"359021:3:21","nodeType":"YulIdentifier","src":"359021:3:21"},"nativeSrc":"359021:14:21","nodeType":"YulFunctionCall","src":"359021:14:21"},{"arguments":[{"name":"shift","nativeSrc":"359041:5:21","nodeType":"YulIdentifier","src":"359041:5:21"},{"arguments":[{"name":"shift","nativeSrc":"359052:5:21","nodeType":"YulIdentifier","src":"359052:5:21"},{"name":"w","nativeSrc":"359059:1:21","nodeType":"YulIdentifier","src":"359059:1:21"}],"functionName":{"name":"shr","nativeSrc":"359048:3:21","nodeType":"YulIdentifier","src":"359048:3:21"},"nativeSrc":"359048:13:21","nodeType":"YulFunctionCall","src":"359048:13:21"}],"functionName":{"name":"shl","nativeSrc":"359037:3:21","nodeType":"YulIdentifier","src":"359037:3:21"},"nativeSrc":"359037:25:21","nodeType":"YulFunctionCall","src":"359037:25:21"}],"functionName":{"name":"mstore","nativeSrc":"359014:6:21","nodeType":"YulIdentifier","src":"359014:6:21"},"nativeSrc":"359014:49:21","nodeType":"YulFunctionCall","src":"359014:49:21"},"nativeSrc":"359014:49:21","nodeType":"YulExpressionStatement","src":"359014:49:21"}]},"name":"writeString","nativeSrc":"358735:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"358756:3:21","nodeType":"YulTypedName","src":"358756:3:21","type":""},{"name":"w","nativeSrc":"358761:1:21","nodeType":"YulTypedName","src":"358761:1:21","type":""}],"src":"358735:342:21"},{"nativeSrc":"359090:17:21","nodeType":"YulAssignment","src":"359090:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"359102:4:21","nodeType":"YulLiteral","src":"359102:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"359096:5:21","nodeType":"YulIdentifier","src":"359096:5:21"},"nativeSrc":"359096:11:21","nodeType":"YulFunctionCall","src":"359096:11:21"},"variableNames":[{"name":"m0","nativeSrc":"359090:2:21","nodeType":"YulIdentifier","src":"359090:2:21"}]},{"nativeSrc":"359120:17:21","nodeType":"YulAssignment","src":"359120:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"359132:4:21","nodeType":"YulLiteral","src":"359132:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"359126:5:21","nodeType":"YulIdentifier","src":"359126:5:21"},"nativeSrc":"359126:11:21","nodeType":"YulFunctionCall","src":"359126:11:21"},"variableNames":[{"name":"m1","nativeSrc":"359120:2:21","nodeType":"YulIdentifier","src":"359120:2:21"}]},{"nativeSrc":"359150:17:21","nodeType":"YulAssignment","src":"359150:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"359162:4:21","nodeType":"YulLiteral","src":"359162:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"359156:5:21","nodeType":"YulIdentifier","src":"359156:5:21"},"nativeSrc":"359156:11:21","nodeType":"YulFunctionCall","src":"359156:11:21"},"variableNames":[{"name":"m2","nativeSrc":"359150:2:21","nodeType":"YulIdentifier","src":"359150:2:21"}]},{"nativeSrc":"359180:17:21","nodeType":"YulAssignment","src":"359180:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"359192:4:21","nodeType":"YulLiteral","src":"359192:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"359186:5:21","nodeType":"YulIdentifier","src":"359186:5:21"},"nativeSrc":"359186:11:21","nodeType":"YulFunctionCall","src":"359186:11:21"},"variableNames":[{"name":"m3","nativeSrc":"359180:2:21","nodeType":"YulIdentifier","src":"359180:2:21"}]},{"nativeSrc":"359210:17:21","nodeType":"YulAssignment","src":"359210:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"359222:4:21","nodeType":"YulLiteral","src":"359222:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"359216:5:21","nodeType":"YulIdentifier","src":"359216:5:21"},"nativeSrc":"359216:11:21","nodeType":"YulFunctionCall","src":"359216:11:21"},"variableNames":[{"name":"m4","nativeSrc":"359210:2:21","nodeType":"YulIdentifier","src":"359210:2:21"}]},{"nativeSrc":"359240:17:21","nodeType":"YulAssignment","src":"359240:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"359252:4:21","nodeType":"YulLiteral","src":"359252:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"359246:5:21","nodeType":"YulIdentifier","src":"359246:5:21"},"nativeSrc":"359246:11:21","nodeType":"YulFunctionCall","src":"359246:11:21"},"variableNames":[{"name":"m5","nativeSrc":"359240:2:21","nodeType":"YulIdentifier","src":"359240:2:21"}]},{"nativeSrc":"359270:17:21","nodeType":"YulAssignment","src":"359270:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"359282:4:21","nodeType":"YulLiteral","src":"359282:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"359276:5:21","nodeType":"YulIdentifier","src":"359276:5:21"},"nativeSrc":"359276:11:21","nodeType":"YulFunctionCall","src":"359276:11:21"},"variableNames":[{"name":"m6","nativeSrc":"359270:2:21","nodeType":"YulIdentifier","src":"359270:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359364:4:21","nodeType":"YulLiteral","src":"359364:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"359370:10:21","nodeType":"YulLiteral","src":"359370:10:21","type":"","value":"0x895af8c5"}],"functionName":{"name":"mstore","nativeSrc":"359357:6:21","nodeType":"YulIdentifier","src":"359357:6:21"},"nativeSrc":"359357:24:21","nodeType":"YulFunctionCall","src":"359357:24:21"},"nativeSrc":"359357:24:21","nodeType":"YulExpressionStatement","src":"359357:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359401:4:21","nodeType":"YulLiteral","src":"359401:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"359407:4:21","nodeType":"YulLiteral","src":"359407:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"359394:6:21","nodeType":"YulIdentifier","src":"359394:6:21"},"nativeSrc":"359394:18:21","nodeType":"YulFunctionCall","src":"359394:18:21"},"nativeSrc":"359394:18:21","nodeType":"YulExpressionStatement","src":"359394:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359432:4:21","nodeType":"YulLiteral","src":"359432:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"359438:2:21","nodeType":"YulIdentifier","src":"359438:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359425:6:21","nodeType":"YulIdentifier","src":"359425:6:21"},"nativeSrc":"359425:16:21","nodeType":"YulFunctionCall","src":"359425:16:21"},"nativeSrc":"359425:16:21","nodeType":"YulExpressionStatement","src":"359425:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359461:4:21","nodeType":"YulLiteral","src":"359461:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"359467:2:21","nodeType":"YulIdentifier","src":"359467:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359454:6:21","nodeType":"YulIdentifier","src":"359454:6:21"},"nativeSrc":"359454:16:21","nodeType":"YulFunctionCall","src":"359454:16:21"},"nativeSrc":"359454:16:21","nodeType":"YulExpressionStatement","src":"359454:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359490:4:21","nodeType":"YulLiteral","src":"359490:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"359496:2:21","nodeType":"YulIdentifier","src":"359496:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359483:6:21","nodeType":"YulIdentifier","src":"359483:6:21"},"nativeSrc":"359483:16:21","nodeType":"YulFunctionCall","src":"359483:16:21"},"nativeSrc":"359483:16:21","nodeType":"YulExpressionStatement","src":"359483:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359524:4:21","nodeType":"YulLiteral","src":"359524:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"359530:2:21","nodeType":"YulIdentifier","src":"359530:2:21"}],"functionName":{"name":"writeString","nativeSrc":"359512:11:21","nodeType":"YulIdentifier","src":"359512:11:21"},"nativeSrc":"359512:21:21","nodeType":"YulFunctionCall","src":"359512:21:21"},"nativeSrc":"359512:21:21","nodeType":"YulExpressionStatement","src":"359512:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38094,"isOffset":false,"isSlot":false,"src":"359090:2:21","valueSize":1},{"declaration":38097,"isOffset":false,"isSlot":false,"src":"359120:2:21","valueSize":1},{"declaration":38100,"isOffset":false,"isSlot":false,"src":"359150:2:21","valueSize":1},{"declaration":38103,"isOffset":false,"isSlot":false,"src":"359180:2:21","valueSize":1},{"declaration":38106,"isOffset":false,"isSlot":false,"src":"359210:2:21","valueSize":1},{"declaration":38109,"isOffset":false,"isSlot":false,"src":"359240:2:21","valueSize":1},{"declaration":38112,"isOffset":false,"isSlot":false,"src":"359270:2:21","valueSize":1},{"declaration":38084,"isOffset":false,"isSlot":false,"src":"359530:2:21","valueSize":1},{"declaration":38086,"isOffset":false,"isSlot":false,"src":"359438:2:21","valueSize":1},{"declaration":38088,"isOffset":false,"isSlot":false,"src":"359467:2:21","valueSize":1},{"declaration":38090,"isOffset":false,"isSlot":false,"src":"359496:2:21","valueSize":1}],"id":38114,"nodeType":"InlineAssembly","src":"358712:831:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359568:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359574:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"359552:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"359552:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38119,"nodeType":"ExpressionStatement","src":"359552:27:21"},{"AST":{"nativeSrc":"359641:214:21","nodeType":"YulBlock","src":"359641:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"359662:4:21","nodeType":"YulLiteral","src":"359662:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"359668:2:21","nodeType":"YulIdentifier","src":"359668:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359655:6:21","nodeType":"YulIdentifier","src":"359655:6:21"},"nativeSrc":"359655:16:21","nodeType":"YulFunctionCall","src":"359655:16:21"},"nativeSrc":"359655:16:21","nodeType":"YulExpressionStatement","src":"359655:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359691:4:21","nodeType":"YulLiteral","src":"359691:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"359697:2:21","nodeType":"YulIdentifier","src":"359697:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359684:6:21","nodeType":"YulIdentifier","src":"359684:6:21"},"nativeSrc":"359684:16:21","nodeType":"YulFunctionCall","src":"359684:16:21"},"nativeSrc":"359684:16:21","nodeType":"YulExpressionStatement","src":"359684:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359720:4:21","nodeType":"YulLiteral","src":"359720:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"359726:2:21","nodeType":"YulIdentifier","src":"359726:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359713:6:21","nodeType":"YulIdentifier","src":"359713:6:21"},"nativeSrc":"359713:16:21","nodeType":"YulFunctionCall","src":"359713:16:21"},"nativeSrc":"359713:16:21","nodeType":"YulExpressionStatement","src":"359713:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359749:4:21","nodeType":"YulLiteral","src":"359749:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"359755:2:21","nodeType":"YulIdentifier","src":"359755:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359742:6:21","nodeType":"YulIdentifier","src":"359742:6:21"},"nativeSrc":"359742:16:21","nodeType":"YulFunctionCall","src":"359742:16:21"},"nativeSrc":"359742:16:21","nodeType":"YulExpressionStatement","src":"359742:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359778:4:21","nodeType":"YulLiteral","src":"359778:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"359784:2:21","nodeType":"YulIdentifier","src":"359784:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359771:6:21","nodeType":"YulIdentifier","src":"359771:6:21"},"nativeSrc":"359771:16:21","nodeType":"YulFunctionCall","src":"359771:16:21"},"nativeSrc":"359771:16:21","nodeType":"YulExpressionStatement","src":"359771:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359807:4:21","nodeType":"YulLiteral","src":"359807:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"359813:2:21","nodeType":"YulIdentifier","src":"359813:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359800:6:21","nodeType":"YulIdentifier","src":"359800:6:21"},"nativeSrc":"359800:16:21","nodeType":"YulFunctionCall","src":"359800:16:21"},"nativeSrc":"359800:16:21","nodeType":"YulExpressionStatement","src":"359800:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359836:4:21","nodeType":"YulLiteral","src":"359836:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"359842:2:21","nodeType":"YulIdentifier","src":"359842:2:21"}],"functionName":{"name":"mstore","nativeSrc":"359829:6:21","nodeType":"YulIdentifier","src":"359829:6:21"},"nativeSrc":"359829:16:21","nodeType":"YulFunctionCall","src":"359829:16:21"},"nativeSrc":"359829:16:21","nodeType":"YulExpressionStatement","src":"359829:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38094,"isOffset":false,"isSlot":false,"src":"359668:2:21","valueSize":1},{"declaration":38097,"isOffset":false,"isSlot":false,"src":"359697:2:21","valueSize":1},{"declaration":38100,"isOffset":false,"isSlot":false,"src":"359726:2:21","valueSize":1},{"declaration":38103,"isOffset":false,"isSlot":false,"src":"359755:2:21","valueSize":1},{"declaration":38106,"isOffset":false,"isSlot":false,"src":"359784:2:21","valueSize":1},{"declaration":38109,"isOffset":false,"isSlot":false,"src":"359813:2:21","valueSize":1},{"declaration":38112,"isOffset":false,"isSlot":false,"src":"359842:2:21","valueSize":1}],"id":38120,"nodeType":"InlineAssembly","src":"359632:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"358462:3:21","parameters":{"id":38091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38084,"mutability":"mutable","name":"p0","nameLocation":"358474:2:21","nodeType":"VariableDeclaration","scope":38122,"src":"358466:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38083,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358466:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38086,"mutability":"mutable","name":"p1","nameLocation":"358483:2:21","nodeType":"VariableDeclaration","scope":38122,"src":"358478:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38085,"name":"bool","nodeType":"ElementaryTypeName","src":"358478:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38088,"mutability":"mutable","name":"p2","nameLocation":"358492:2:21","nodeType":"VariableDeclaration","scope":38122,"src":"358487:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38087,"name":"bool","nodeType":"ElementaryTypeName","src":"358487:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38090,"mutability":"mutable","name":"p3","nameLocation":"358501:2:21","nodeType":"VariableDeclaration","scope":38122,"src":"358496:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38089,"name":"bool","nodeType":"ElementaryTypeName","src":"358496:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"358465:39:21"},"returnParameters":{"id":38092,"nodeType":"ParameterList","parameters":[],"src":"358519:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38162,"nodeType":"FunctionDefinition","src":"359867:1414:21","nodes":[],"body":{"id":38161,"nodeType":"Block","src":"359936:1345:21","nodes":[],"statements":[{"assignments":[38134],"declarations":[{"constant":false,"id":38134,"mutability":"mutable","name":"m0","nameLocation":"359954:2:21","nodeType":"VariableDeclaration","scope":38161,"src":"359946:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359946:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38135,"nodeType":"VariableDeclarationStatement","src":"359946:10:21"},{"assignments":[38137],"declarations":[{"constant":false,"id":38137,"mutability":"mutable","name":"m1","nameLocation":"359974:2:21","nodeType":"VariableDeclaration","scope":38161,"src":"359966:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359966:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38138,"nodeType":"VariableDeclarationStatement","src":"359966:10:21"},{"assignments":[38140],"declarations":[{"constant":false,"id":38140,"mutability":"mutable","name":"m2","nameLocation":"359994:2:21","nodeType":"VariableDeclaration","scope":38161,"src":"359986:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359986:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38141,"nodeType":"VariableDeclarationStatement","src":"359986:10:21"},{"assignments":[38143],"declarations":[{"constant":false,"id":38143,"mutability":"mutable","name":"m3","nameLocation":"360014:2:21","nodeType":"VariableDeclaration","scope":38161,"src":"360006:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360006:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38144,"nodeType":"VariableDeclarationStatement","src":"360006:10:21"},{"assignments":[38146],"declarations":[{"constant":false,"id":38146,"mutability":"mutable","name":"m4","nameLocation":"360034:2:21","nodeType":"VariableDeclaration","scope":38161,"src":"360026:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360026:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38147,"nodeType":"VariableDeclarationStatement","src":"360026:10:21"},{"assignments":[38149],"declarations":[{"constant":false,"id":38149,"mutability":"mutable","name":"m5","nameLocation":"360054:2:21","nodeType":"VariableDeclaration","scope":38161,"src":"360046:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360046:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38150,"nodeType":"VariableDeclarationStatement","src":"360046:10:21"},{"assignments":[38152],"declarations":[{"constant":false,"id":38152,"mutability":"mutable","name":"m6","nameLocation":"360074:2:21","nodeType":"VariableDeclaration","scope":38161,"src":"360066:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360066:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38153,"nodeType":"VariableDeclarationStatement","src":"360066:10:21"},{"AST":{"nativeSrc":"360138:825:21","nodeType":"YulBlock","src":"360138:825:21","statements":[{"body":{"nativeSrc":"360181:313:21","nodeType":"YulBlock","src":"360181:313:21","statements":[{"nativeSrc":"360199:15:21","nodeType":"YulVariableDeclaration","src":"360199:15:21","value":{"kind":"number","nativeSrc":"360213:1:21","nodeType":"YulLiteral","src":"360213:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"360203:6:21","nodeType":"YulTypedName","src":"360203:6:21","type":""}]},{"body":{"nativeSrc":"360284:40:21","nodeType":"YulBlock","src":"360284:40:21","statements":[{"body":{"nativeSrc":"360313:9:21","nodeType":"YulBlock","src":"360313:9:21","statements":[{"nativeSrc":"360315:5:21","nodeType":"YulBreak","src":"360315:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"360301:6:21","nodeType":"YulIdentifier","src":"360301:6:21"},{"name":"w","nativeSrc":"360309:1:21","nodeType":"YulIdentifier","src":"360309:1:21"}],"functionName":{"name":"byte","nativeSrc":"360296:4:21","nodeType":"YulIdentifier","src":"360296:4:21"},"nativeSrc":"360296:15:21","nodeType":"YulFunctionCall","src":"360296:15:21"}],"functionName":{"name":"iszero","nativeSrc":"360289:6:21","nodeType":"YulIdentifier","src":"360289:6:21"},"nativeSrc":"360289:23:21","nodeType":"YulFunctionCall","src":"360289:23:21"},"nativeSrc":"360286:36:21","nodeType":"YulIf","src":"360286:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"360241:6:21","nodeType":"YulIdentifier","src":"360241:6:21"},{"kind":"number","nativeSrc":"360249:4:21","nodeType":"YulLiteral","src":"360249:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"360238:2:21","nodeType":"YulIdentifier","src":"360238:2:21"},"nativeSrc":"360238:16:21","nodeType":"YulFunctionCall","src":"360238:16:21"},"nativeSrc":"360231:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"360255:28:21","nodeType":"YulBlock","src":"360255:28:21","statements":[{"nativeSrc":"360257:24:21","nodeType":"YulAssignment","src":"360257:24:21","value":{"arguments":[{"name":"length","nativeSrc":"360271:6:21","nodeType":"YulIdentifier","src":"360271:6:21"},{"kind":"number","nativeSrc":"360279:1:21","nodeType":"YulLiteral","src":"360279:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"360267:3:21","nodeType":"YulIdentifier","src":"360267:3:21"},"nativeSrc":"360267:14:21","nodeType":"YulFunctionCall","src":"360267:14:21"},"variableNames":[{"name":"length","nativeSrc":"360257:6:21","nodeType":"YulIdentifier","src":"360257:6:21"}]}]},"pre":{"nativeSrc":"360235:2:21","nodeType":"YulBlock","src":"360235:2:21","statements":[]},"src":"360231:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"360348:3:21","nodeType":"YulIdentifier","src":"360348:3:21"},{"name":"length","nativeSrc":"360353:6:21","nodeType":"YulIdentifier","src":"360353:6:21"}],"functionName":{"name":"mstore","nativeSrc":"360341:6:21","nodeType":"YulIdentifier","src":"360341:6:21"},"nativeSrc":"360341:19:21","nodeType":"YulFunctionCall","src":"360341:19:21"},"nativeSrc":"360341:19:21","nodeType":"YulExpressionStatement","src":"360341:19:21"},{"nativeSrc":"360377:37:21","nodeType":"YulVariableDeclaration","src":"360377:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"360394:3:21","nodeType":"YulLiteral","src":"360394:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"360403:1:21","nodeType":"YulLiteral","src":"360403:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"360406:6:21","nodeType":"YulIdentifier","src":"360406:6:21"}],"functionName":{"name":"shl","nativeSrc":"360399:3:21","nodeType":"YulIdentifier","src":"360399:3:21"},"nativeSrc":"360399:14:21","nodeType":"YulFunctionCall","src":"360399:14:21"}],"functionName":{"name":"sub","nativeSrc":"360390:3:21","nodeType":"YulIdentifier","src":"360390:3:21"},"nativeSrc":"360390:24:21","nodeType":"YulFunctionCall","src":"360390:24:21"},"variables":[{"name":"shift","nativeSrc":"360381:5:21","nodeType":"YulTypedName","src":"360381:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"360442:3:21","nodeType":"YulIdentifier","src":"360442:3:21"},{"kind":"number","nativeSrc":"360447:4:21","nodeType":"YulLiteral","src":"360447:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"360438:3:21","nodeType":"YulIdentifier","src":"360438:3:21"},"nativeSrc":"360438:14:21","nodeType":"YulFunctionCall","src":"360438:14:21"},{"arguments":[{"name":"shift","nativeSrc":"360458:5:21","nodeType":"YulIdentifier","src":"360458:5:21"},{"arguments":[{"name":"shift","nativeSrc":"360469:5:21","nodeType":"YulIdentifier","src":"360469:5:21"},{"name":"w","nativeSrc":"360476:1:21","nodeType":"YulIdentifier","src":"360476:1:21"}],"functionName":{"name":"shr","nativeSrc":"360465:3:21","nodeType":"YulIdentifier","src":"360465:3:21"},"nativeSrc":"360465:13:21","nodeType":"YulFunctionCall","src":"360465:13:21"}],"functionName":{"name":"shl","nativeSrc":"360454:3:21","nodeType":"YulIdentifier","src":"360454:3:21"},"nativeSrc":"360454:25:21","nodeType":"YulFunctionCall","src":"360454:25:21"}],"functionName":{"name":"mstore","nativeSrc":"360431:6:21","nodeType":"YulIdentifier","src":"360431:6:21"},"nativeSrc":"360431:49:21","nodeType":"YulFunctionCall","src":"360431:49:21"},"nativeSrc":"360431:49:21","nodeType":"YulExpressionStatement","src":"360431:49:21"}]},"name":"writeString","nativeSrc":"360152:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"360173:3:21","nodeType":"YulTypedName","src":"360173:3:21","type":""},{"name":"w","nativeSrc":"360178:1:21","nodeType":"YulTypedName","src":"360178:1:21","type":""}],"src":"360152:342:21"},{"nativeSrc":"360507:17:21","nodeType":"YulAssignment","src":"360507:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"360519:4:21","nodeType":"YulLiteral","src":"360519:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"360513:5:21","nodeType":"YulIdentifier","src":"360513:5:21"},"nativeSrc":"360513:11:21","nodeType":"YulFunctionCall","src":"360513:11:21"},"variableNames":[{"name":"m0","nativeSrc":"360507:2:21","nodeType":"YulIdentifier","src":"360507:2:21"}]},{"nativeSrc":"360537:17:21","nodeType":"YulAssignment","src":"360537:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"360549:4:21","nodeType":"YulLiteral","src":"360549:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"360543:5:21","nodeType":"YulIdentifier","src":"360543:5:21"},"nativeSrc":"360543:11:21","nodeType":"YulFunctionCall","src":"360543:11:21"},"variableNames":[{"name":"m1","nativeSrc":"360537:2:21","nodeType":"YulIdentifier","src":"360537:2:21"}]},{"nativeSrc":"360567:17:21","nodeType":"YulAssignment","src":"360567:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"360579:4:21","nodeType":"YulLiteral","src":"360579:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"360573:5:21","nodeType":"YulIdentifier","src":"360573:5:21"},"nativeSrc":"360573:11:21","nodeType":"YulFunctionCall","src":"360573:11:21"},"variableNames":[{"name":"m2","nativeSrc":"360567:2:21","nodeType":"YulIdentifier","src":"360567:2:21"}]},{"nativeSrc":"360597:17:21","nodeType":"YulAssignment","src":"360597:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"360609:4:21","nodeType":"YulLiteral","src":"360609:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"360603:5:21","nodeType":"YulIdentifier","src":"360603:5:21"},"nativeSrc":"360603:11:21","nodeType":"YulFunctionCall","src":"360603:11:21"},"variableNames":[{"name":"m3","nativeSrc":"360597:2:21","nodeType":"YulIdentifier","src":"360597:2:21"}]},{"nativeSrc":"360627:17:21","nodeType":"YulAssignment","src":"360627:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"360639:4:21","nodeType":"YulLiteral","src":"360639:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"360633:5:21","nodeType":"YulIdentifier","src":"360633:5:21"},"nativeSrc":"360633:11:21","nodeType":"YulFunctionCall","src":"360633:11:21"},"variableNames":[{"name":"m4","nativeSrc":"360627:2:21","nodeType":"YulIdentifier","src":"360627:2:21"}]},{"nativeSrc":"360657:17:21","nodeType":"YulAssignment","src":"360657:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"360669:4:21","nodeType":"YulLiteral","src":"360669:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"360663:5:21","nodeType":"YulIdentifier","src":"360663:5:21"},"nativeSrc":"360663:11:21","nodeType":"YulFunctionCall","src":"360663:11:21"},"variableNames":[{"name":"m5","nativeSrc":"360657:2:21","nodeType":"YulIdentifier","src":"360657:2:21"}]},{"nativeSrc":"360687:17:21","nodeType":"YulAssignment","src":"360687:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"360699:4:21","nodeType":"YulLiteral","src":"360699:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"360693:5:21","nodeType":"YulIdentifier","src":"360693:5:21"},"nativeSrc":"360693:11:21","nodeType":"YulFunctionCall","src":"360693:11:21"},"variableNames":[{"name":"m6","nativeSrc":"360687:2:21","nodeType":"YulIdentifier","src":"360687:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360784:4:21","nodeType":"YulLiteral","src":"360784:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"360790:10:21","nodeType":"YulLiteral","src":"360790:10:21","type":"","value":"0x8e3f78a9"}],"functionName":{"name":"mstore","nativeSrc":"360777:6:21","nodeType":"YulIdentifier","src":"360777:6:21"},"nativeSrc":"360777:24:21","nodeType":"YulFunctionCall","src":"360777:24:21"},"nativeSrc":"360777:24:21","nodeType":"YulExpressionStatement","src":"360777:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360821:4:21","nodeType":"YulLiteral","src":"360821:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"360827:4:21","nodeType":"YulLiteral","src":"360827:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"360814:6:21","nodeType":"YulIdentifier","src":"360814:6:21"},"nativeSrc":"360814:18:21","nodeType":"YulFunctionCall","src":"360814:18:21"},"nativeSrc":"360814:18:21","nodeType":"YulExpressionStatement","src":"360814:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360852:4:21","nodeType":"YulLiteral","src":"360852:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"360858:2:21","nodeType":"YulIdentifier","src":"360858:2:21"}],"functionName":{"name":"mstore","nativeSrc":"360845:6:21","nodeType":"YulIdentifier","src":"360845:6:21"},"nativeSrc":"360845:16:21","nodeType":"YulFunctionCall","src":"360845:16:21"},"nativeSrc":"360845:16:21","nodeType":"YulExpressionStatement","src":"360845:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360881:4:21","nodeType":"YulLiteral","src":"360881:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"360887:2:21","nodeType":"YulIdentifier","src":"360887:2:21"}],"functionName":{"name":"mstore","nativeSrc":"360874:6:21","nodeType":"YulIdentifier","src":"360874:6:21"},"nativeSrc":"360874:16:21","nodeType":"YulFunctionCall","src":"360874:16:21"},"nativeSrc":"360874:16:21","nodeType":"YulExpressionStatement","src":"360874:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360910:4:21","nodeType":"YulLiteral","src":"360910:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"360916:2:21","nodeType":"YulIdentifier","src":"360916:2:21"}],"functionName":{"name":"mstore","nativeSrc":"360903:6:21","nodeType":"YulIdentifier","src":"360903:6:21"},"nativeSrc":"360903:16:21","nodeType":"YulFunctionCall","src":"360903:16:21"},"nativeSrc":"360903:16:21","nodeType":"YulExpressionStatement","src":"360903:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360944:4:21","nodeType":"YulLiteral","src":"360944:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"360950:2:21","nodeType":"YulIdentifier","src":"360950:2:21"}],"functionName":{"name":"writeString","nativeSrc":"360932:11:21","nodeType":"YulIdentifier","src":"360932:11:21"},"nativeSrc":"360932:21:21","nodeType":"YulFunctionCall","src":"360932:21:21"},"nativeSrc":"360932:21:21","nodeType":"YulExpressionStatement","src":"360932:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38134,"isOffset":false,"isSlot":false,"src":"360507:2:21","valueSize":1},{"declaration":38137,"isOffset":false,"isSlot":false,"src":"360537:2:21","valueSize":1},{"declaration":38140,"isOffset":false,"isSlot":false,"src":"360567:2:21","valueSize":1},{"declaration":38143,"isOffset":false,"isSlot":false,"src":"360597:2:21","valueSize":1},{"declaration":38146,"isOffset":false,"isSlot":false,"src":"360627:2:21","valueSize":1},{"declaration":38149,"isOffset":false,"isSlot":false,"src":"360657:2:21","valueSize":1},{"declaration":38152,"isOffset":false,"isSlot":false,"src":"360687:2:21","valueSize":1},{"declaration":38124,"isOffset":false,"isSlot":false,"src":"360950:2:21","valueSize":1},{"declaration":38126,"isOffset":false,"isSlot":false,"src":"360858:2:21","valueSize":1},{"declaration":38128,"isOffset":false,"isSlot":false,"src":"360887:2:21","valueSize":1},{"declaration":38130,"isOffset":false,"isSlot":false,"src":"360916:2:21","valueSize":1}],"id":38154,"nodeType":"InlineAssembly","src":"360129:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"360988:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"360994:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"360972:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"360972:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38159,"nodeType":"ExpressionStatement","src":"360972:27:21"},{"AST":{"nativeSrc":"361061:214:21","nodeType":"YulBlock","src":"361061:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"361082:4:21","nodeType":"YulLiteral","src":"361082:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"361088:2:21","nodeType":"YulIdentifier","src":"361088:2:21"}],"functionName":{"name":"mstore","nativeSrc":"361075:6:21","nodeType":"YulIdentifier","src":"361075:6:21"},"nativeSrc":"361075:16:21","nodeType":"YulFunctionCall","src":"361075:16:21"},"nativeSrc":"361075:16:21","nodeType":"YulExpressionStatement","src":"361075:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361111:4:21","nodeType":"YulLiteral","src":"361111:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"361117:2:21","nodeType":"YulIdentifier","src":"361117:2:21"}],"functionName":{"name":"mstore","nativeSrc":"361104:6:21","nodeType":"YulIdentifier","src":"361104:6:21"},"nativeSrc":"361104:16:21","nodeType":"YulFunctionCall","src":"361104:16:21"},"nativeSrc":"361104:16:21","nodeType":"YulExpressionStatement","src":"361104:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361140:4:21","nodeType":"YulLiteral","src":"361140:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"361146:2:21","nodeType":"YulIdentifier","src":"361146:2:21"}],"functionName":{"name":"mstore","nativeSrc":"361133:6:21","nodeType":"YulIdentifier","src":"361133:6:21"},"nativeSrc":"361133:16:21","nodeType":"YulFunctionCall","src":"361133:16:21"},"nativeSrc":"361133:16:21","nodeType":"YulExpressionStatement","src":"361133:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361169:4:21","nodeType":"YulLiteral","src":"361169:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"361175:2:21","nodeType":"YulIdentifier","src":"361175:2:21"}],"functionName":{"name":"mstore","nativeSrc":"361162:6:21","nodeType":"YulIdentifier","src":"361162:6:21"},"nativeSrc":"361162:16:21","nodeType":"YulFunctionCall","src":"361162:16:21"},"nativeSrc":"361162:16:21","nodeType":"YulExpressionStatement","src":"361162:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361198:4:21","nodeType":"YulLiteral","src":"361198:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"361204:2:21","nodeType":"YulIdentifier","src":"361204:2:21"}],"functionName":{"name":"mstore","nativeSrc":"361191:6:21","nodeType":"YulIdentifier","src":"361191:6:21"},"nativeSrc":"361191:16:21","nodeType":"YulFunctionCall","src":"361191:16:21"},"nativeSrc":"361191:16:21","nodeType":"YulExpressionStatement","src":"361191:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361227:4:21","nodeType":"YulLiteral","src":"361227:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"361233:2:21","nodeType":"YulIdentifier","src":"361233:2:21"}],"functionName":{"name":"mstore","nativeSrc":"361220:6:21","nodeType":"YulIdentifier","src":"361220:6:21"},"nativeSrc":"361220:16:21","nodeType":"YulFunctionCall","src":"361220:16:21"},"nativeSrc":"361220:16:21","nodeType":"YulExpressionStatement","src":"361220:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361256:4:21","nodeType":"YulLiteral","src":"361256:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"361262:2:21","nodeType":"YulIdentifier","src":"361262:2:21"}],"functionName":{"name":"mstore","nativeSrc":"361249:6:21","nodeType":"YulIdentifier","src":"361249:6:21"},"nativeSrc":"361249:16:21","nodeType":"YulFunctionCall","src":"361249:16:21"},"nativeSrc":"361249:16:21","nodeType":"YulExpressionStatement","src":"361249:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38134,"isOffset":false,"isSlot":false,"src":"361088:2:21","valueSize":1},{"declaration":38137,"isOffset":false,"isSlot":false,"src":"361117:2:21","valueSize":1},{"declaration":38140,"isOffset":false,"isSlot":false,"src":"361146:2:21","valueSize":1},{"declaration":38143,"isOffset":false,"isSlot":false,"src":"361175:2:21","valueSize":1},{"declaration":38146,"isOffset":false,"isSlot":false,"src":"361204:2:21","valueSize":1},{"declaration":38149,"isOffset":false,"isSlot":false,"src":"361233:2:21","valueSize":1},{"declaration":38152,"isOffset":false,"isSlot":false,"src":"361262:2:21","valueSize":1}],"id":38160,"nodeType":"InlineAssembly","src":"361052:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"359876:3:21","parameters":{"id":38131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38124,"mutability":"mutable","name":"p0","nameLocation":"359888:2:21","nodeType":"VariableDeclaration","scope":38162,"src":"359880:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38123,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359880:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38126,"mutability":"mutable","name":"p1","nameLocation":"359897:2:21","nodeType":"VariableDeclaration","scope":38162,"src":"359892:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38125,"name":"bool","nodeType":"ElementaryTypeName","src":"359892:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38128,"mutability":"mutable","name":"p2","nameLocation":"359906:2:21","nodeType":"VariableDeclaration","scope":38162,"src":"359901:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38127,"name":"bool","nodeType":"ElementaryTypeName","src":"359901:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38130,"mutability":"mutable","name":"p3","nameLocation":"359918:2:21","nodeType":"VariableDeclaration","scope":38162,"src":"359910:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38129,"name":"uint256","nodeType":"ElementaryTypeName","src":"359910:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"359879:42:21"},"returnParameters":{"id":38132,"nodeType":"ParameterList","parameters":[],"src":"359936:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38208,"nodeType":"FunctionDefinition","src":"361287:1610:21","nodes":[],"body":{"id":38207,"nodeType":"Block","src":"361356:1541:21","nodes":[],"statements":[{"assignments":[38174],"declarations":[{"constant":false,"id":38174,"mutability":"mutable","name":"m0","nameLocation":"361374:2:21","nodeType":"VariableDeclaration","scope":38207,"src":"361366:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361366:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38175,"nodeType":"VariableDeclarationStatement","src":"361366:10:21"},{"assignments":[38177],"declarations":[{"constant":false,"id":38177,"mutability":"mutable","name":"m1","nameLocation":"361394:2:21","nodeType":"VariableDeclaration","scope":38207,"src":"361386:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361386:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38178,"nodeType":"VariableDeclarationStatement","src":"361386:10:21"},{"assignments":[38180],"declarations":[{"constant":false,"id":38180,"mutability":"mutable","name":"m2","nameLocation":"361414:2:21","nodeType":"VariableDeclaration","scope":38207,"src":"361406:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361406:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38181,"nodeType":"VariableDeclarationStatement","src":"361406:10:21"},{"assignments":[38183],"declarations":[{"constant":false,"id":38183,"mutability":"mutable","name":"m3","nameLocation":"361434:2:21","nodeType":"VariableDeclaration","scope":38207,"src":"361426:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361426:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38184,"nodeType":"VariableDeclarationStatement","src":"361426:10:21"},{"assignments":[38186],"declarations":[{"constant":false,"id":38186,"mutability":"mutable","name":"m4","nameLocation":"361454:2:21","nodeType":"VariableDeclaration","scope":38207,"src":"361446:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361446:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38187,"nodeType":"VariableDeclarationStatement","src":"361446:10:21"},{"assignments":[38189],"declarations":[{"constant":false,"id":38189,"mutability":"mutable","name":"m5","nameLocation":"361474:2:21","nodeType":"VariableDeclaration","scope":38207,"src":"361466:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361466:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38190,"nodeType":"VariableDeclarationStatement","src":"361466:10:21"},{"assignments":[38192],"declarations":[{"constant":false,"id":38192,"mutability":"mutable","name":"m6","nameLocation":"361494:2:21","nodeType":"VariableDeclaration","scope":38207,"src":"361486:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361486:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38193,"nodeType":"VariableDeclarationStatement","src":"361486:10:21"},{"assignments":[38195],"declarations":[{"constant":false,"id":38195,"mutability":"mutable","name":"m7","nameLocation":"361514:2:21","nodeType":"VariableDeclaration","scope":38207,"src":"361506:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361506:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38196,"nodeType":"VariableDeclarationStatement","src":"361506:10:21"},{"assignments":[38198],"declarations":[{"constant":false,"id":38198,"mutability":"mutable","name":"m8","nameLocation":"361534:2:21","nodeType":"VariableDeclaration","scope":38207,"src":"361526:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361526:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38199,"nodeType":"VariableDeclarationStatement","src":"361526:10:21"},{"AST":{"nativeSrc":"361598:921:21","nodeType":"YulBlock","src":"361598:921:21","statements":[{"body":{"nativeSrc":"361641:313:21","nodeType":"YulBlock","src":"361641:313:21","statements":[{"nativeSrc":"361659:15:21","nodeType":"YulVariableDeclaration","src":"361659:15:21","value":{"kind":"number","nativeSrc":"361673:1:21","nodeType":"YulLiteral","src":"361673:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"361663:6:21","nodeType":"YulTypedName","src":"361663:6:21","type":""}]},{"body":{"nativeSrc":"361744:40:21","nodeType":"YulBlock","src":"361744:40:21","statements":[{"body":{"nativeSrc":"361773:9:21","nodeType":"YulBlock","src":"361773:9:21","statements":[{"nativeSrc":"361775:5:21","nodeType":"YulBreak","src":"361775:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"361761:6:21","nodeType":"YulIdentifier","src":"361761:6:21"},{"name":"w","nativeSrc":"361769:1:21","nodeType":"YulIdentifier","src":"361769:1:21"}],"functionName":{"name":"byte","nativeSrc":"361756:4:21","nodeType":"YulIdentifier","src":"361756:4:21"},"nativeSrc":"361756:15:21","nodeType":"YulFunctionCall","src":"361756:15:21"}],"functionName":{"name":"iszero","nativeSrc":"361749:6:21","nodeType":"YulIdentifier","src":"361749:6:21"},"nativeSrc":"361749:23:21","nodeType":"YulFunctionCall","src":"361749:23:21"},"nativeSrc":"361746:36:21","nodeType":"YulIf","src":"361746:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"361701:6:21","nodeType":"YulIdentifier","src":"361701:6:21"},{"kind":"number","nativeSrc":"361709:4:21","nodeType":"YulLiteral","src":"361709:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"361698:2:21","nodeType":"YulIdentifier","src":"361698:2:21"},"nativeSrc":"361698:16:21","nodeType":"YulFunctionCall","src":"361698:16:21"},"nativeSrc":"361691:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"361715:28:21","nodeType":"YulBlock","src":"361715:28:21","statements":[{"nativeSrc":"361717:24:21","nodeType":"YulAssignment","src":"361717:24:21","value":{"arguments":[{"name":"length","nativeSrc":"361731:6:21","nodeType":"YulIdentifier","src":"361731:6:21"},{"kind":"number","nativeSrc":"361739:1:21","nodeType":"YulLiteral","src":"361739:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"361727:3:21","nodeType":"YulIdentifier","src":"361727:3:21"},"nativeSrc":"361727:14:21","nodeType":"YulFunctionCall","src":"361727:14:21"},"variableNames":[{"name":"length","nativeSrc":"361717:6:21","nodeType":"YulIdentifier","src":"361717:6:21"}]}]},"pre":{"nativeSrc":"361695:2:21","nodeType":"YulBlock","src":"361695:2:21","statements":[]},"src":"361691:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"361808:3:21","nodeType":"YulIdentifier","src":"361808:3:21"},{"name":"length","nativeSrc":"361813:6:21","nodeType":"YulIdentifier","src":"361813:6:21"}],"functionName":{"name":"mstore","nativeSrc":"361801:6:21","nodeType":"YulIdentifier","src":"361801:6:21"},"nativeSrc":"361801:19:21","nodeType":"YulFunctionCall","src":"361801:19:21"},"nativeSrc":"361801:19:21","nodeType":"YulExpressionStatement","src":"361801:19:21"},{"nativeSrc":"361837:37:21","nodeType":"YulVariableDeclaration","src":"361837:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"361854:3:21","nodeType":"YulLiteral","src":"361854:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"361863:1:21","nodeType":"YulLiteral","src":"361863:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"361866:6:21","nodeType":"YulIdentifier","src":"361866:6:21"}],"functionName":{"name":"shl","nativeSrc":"361859:3:21","nodeType":"YulIdentifier","src":"361859:3:21"},"nativeSrc":"361859:14:21","nodeType":"YulFunctionCall","src":"361859:14:21"}],"functionName":{"name":"sub","nativeSrc":"361850:3:21","nodeType":"YulIdentifier","src":"361850:3:21"},"nativeSrc":"361850:24:21","nodeType":"YulFunctionCall","src":"361850:24:21"},"variables":[{"name":"shift","nativeSrc":"361841:5:21","nodeType":"YulTypedName","src":"361841:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"361902:3:21","nodeType":"YulIdentifier","src":"361902:3:21"},{"kind":"number","nativeSrc":"361907:4:21","nodeType":"YulLiteral","src":"361907:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"361898:3:21","nodeType":"YulIdentifier","src":"361898:3:21"},"nativeSrc":"361898:14:21","nodeType":"YulFunctionCall","src":"361898:14:21"},{"arguments":[{"name":"shift","nativeSrc":"361918:5:21","nodeType":"YulIdentifier","src":"361918:5:21"},{"arguments":[{"name":"shift","nativeSrc":"361929:5:21","nodeType":"YulIdentifier","src":"361929:5:21"},{"name":"w","nativeSrc":"361936:1:21","nodeType":"YulIdentifier","src":"361936:1:21"}],"functionName":{"name":"shr","nativeSrc":"361925:3:21","nodeType":"YulIdentifier","src":"361925:3:21"},"nativeSrc":"361925:13:21","nodeType":"YulFunctionCall","src":"361925:13:21"}],"functionName":{"name":"shl","nativeSrc":"361914:3:21","nodeType":"YulIdentifier","src":"361914:3:21"},"nativeSrc":"361914:25:21","nodeType":"YulFunctionCall","src":"361914:25:21"}],"functionName":{"name":"mstore","nativeSrc":"361891:6:21","nodeType":"YulIdentifier","src":"361891:6:21"},"nativeSrc":"361891:49:21","nodeType":"YulFunctionCall","src":"361891:49:21"},"nativeSrc":"361891:49:21","nodeType":"YulExpressionStatement","src":"361891:49:21"}]},"name":"writeString","nativeSrc":"361612:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"361633:3:21","nodeType":"YulTypedName","src":"361633:3:21","type":""},{"name":"w","nativeSrc":"361638:1:21","nodeType":"YulTypedName","src":"361638:1:21","type":""}],"src":"361612:342:21"},{"nativeSrc":"361967:17:21","nodeType":"YulAssignment","src":"361967:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"361979:4:21","nodeType":"YulLiteral","src":"361979:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"361973:5:21","nodeType":"YulIdentifier","src":"361973:5:21"},"nativeSrc":"361973:11:21","nodeType":"YulFunctionCall","src":"361973:11:21"},"variableNames":[{"name":"m0","nativeSrc":"361967:2:21","nodeType":"YulIdentifier","src":"361967:2:21"}]},{"nativeSrc":"361997:17:21","nodeType":"YulAssignment","src":"361997:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"362009:4:21","nodeType":"YulLiteral","src":"362009:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"362003:5:21","nodeType":"YulIdentifier","src":"362003:5:21"},"nativeSrc":"362003:11:21","nodeType":"YulFunctionCall","src":"362003:11:21"},"variableNames":[{"name":"m1","nativeSrc":"361997:2:21","nodeType":"YulIdentifier","src":"361997:2:21"}]},{"nativeSrc":"362027:17:21","nodeType":"YulAssignment","src":"362027:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"362039:4:21","nodeType":"YulLiteral","src":"362039:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"362033:5:21","nodeType":"YulIdentifier","src":"362033:5:21"},"nativeSrc":"362033:11:21","nodeType":"YulFunctionCall","src":"362033:11:21"},"variableNames":[{"name":"m2","nativeSrc":"362027:2:21","nodeType":"YulIdentifier","src":"362027:2:21"}]},{"nativeSrc":"362057:17:21","nodeType":"YulAssignment","src":"362057:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"362069:4:21","nodeType":"YulLiteral","src":"362069:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"362063:5:21","nodeType":"YulIdentifier","src":"362063:5:21"},"nativeSrc":"362063:11:21","nodeType":"YulFunctionCall","src":"362063:11:21"},"variableNames":[{"name":"m3","nativeSrc":"362057:2:21","nodeType":"YulIdentifier","src":"362057:2:21"}]},{"nativeSrc":"362087:17:21","nodeType":"YulAssignment","src":"362087:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"362099:4:21","nodeType":"YulLiteral","src":"362099:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"362093:5:21","nodeType":"YulIdentifier","src":"362093:5:21"},"nativeSrc":"362093:11:21","nodeType":"YulFunctionCall","src":"362093:11:21"},"variableNames":[{"name":"m4","nativeSrc":"362087:2:21","nodeType":"YulIdentifier","src":"362087:2:21"}]},{"nativeSrc":"362117:17:21","nodeType":"YulAssignment","src":"362117:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"362129:4:21","nodeType":"YulLiteral","src":"362129:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"362123:5:21","nodeType":"YulIdentifier","src":"362123:5:21"},"nativeSrc":"362123:11:21","nodeType":"YulFunctionCall","src":"362123:11:21"},"variableNames":[{"name":"m5","nativeSrc":"362117:2:21","nodeType":"YulIdentifier","src":"362117:2:21"}]},{"nativeSrc":"362147:17:21","nodeType":"YulAssignment","src":"362147:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"362159:4:21","nodeType":"YulLiteral","src":"362159:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"362153:5:21","nodeType":"YulIdentifier","src":"362153:5:21"},"nativeSrc":"362153:11:21","nodeType":"YulFunctionCall","src":"362153:11:21"},"variableNames":[{"name":"m6","nativeSrc":"362147:2:21","nodeType":"YulIdentifier","src":"362147:2:21"}]},{"nativeSrc":"362177:17:21","nodeType":"YulAssignment","src":"362177:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"362189:4:21","nodeType":"YulLiteral","src":"362189:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"362183:5:21","nodeType":"YulIdentifier","src":"362183:5:21"},"nativeSrc":"362183:11:21","nodeType":"YulFunctionCall","src":"362183:11:21"},"variableNames":[{"name":"m7","nativeSrc":"362177:2:21","nodeType":"YulIdentifier","src":"362177:2:21"}]},{"nativeSrc":"362207:18:21","nodeType":"YulAssignment","src":"362207:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"362219:5:21","nodeType":"YulLiteral","src":"362219:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"362213:5:21","nodeType":"YulIdentifier","src":"362213:5:21"},"nativeSrc":"362213:12:21","nodeType":"YulFunctionCall","src":"362213:12:21"},"variableNames":[{"name":"m8","nativeSrc":"362207:2:21","nodeType":"YulIdentifier","src":"362207:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362304:4:21","nodeType":"YulLiteral","src":"362304:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"362310:10:21","nodeType":"YulLiteral","src":"362310:10:21","type":"","value":"0x9d22d5dd"}],"functionName":{"name":"mstore","nativeSrc":"362297:6:21","nodeType":"YulIdentifier","src":"362297:6:21"},"nativeSrc":"362297:24:21","nodeType":"YulFunctionCall","src":"362297:24:21"},"nativeSrc":"362297:24:21","nodeType":"YulExpressionStatement","src":"362297:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362341:4:21","nodeType":"YulLiteral","src":"362341:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"362347:4:21","nodeType":"YulLiteral","src":"362347:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"362334:6:21","nodeType":"YulIdentifier","src":"362334:6:21"},"nativeSrc":"362334:18:21","nodeType":"YulFunctionCall","src":"362334:18:21"},"nativeSrc":"362334:18:21","nodeType":"YulExpressionStatement","src":"362334:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362372:4:21","nodeType":"YulLiteral","src":"362372:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"362378:2:21","nodeType":"YulIdentifier","src":"362378:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362365:6:21","nodeType":"YulIdentifier","src":"362365:6:21"},"nativeSrc":"362365:16:21","nodeType":"YulFunctionCall","src":"362365:16:21"},"nativeSrc":"362365:16:21","nodeType":"YulExpressionStatement","src":"362365:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362401:4:21","nodeType":"YulLiteral","src":"362401:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"362407:2:21","nodeType":"YulIdentifier","src":"362407:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362394:6:21","nodeType":"YulIdentifier","src":"362394:6:21"},"nativeSrc":"362394:16:21","nodeType":"YulFunctionCall","src":"362394:16:21"},"nativeSrc":"362394:16:21","nodeType":"YulExpressionStatement","src":"362394:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362430:4:21","nodeType":"YulLiteral","src":"362430:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"362436:4:21","nodeType":"YulLiteral","src":"362436:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"362423:6:21","nodeType":"YulIdentifier","src":"362423:6:21"},"nativeSrc":"362423:18:21","nodeType":"YulFunctionCall","src":"362423:18:21"},"nativeSrc":"362423:18:21","nodeType":"YulExpressionStatement","src":"362423:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362466:4:21","nodeType":"YulLiteral","src":"362466:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"362472:2:21","nodeType":"YulIdentifier","src":"362472:2:21"}],"functionName":{"name":"writeString","nativeSrc":"362454:11:21","nodeType":"YulIdentifier","src":"362454:11:21"},"nativeSrc":"362454:21:21","nodeType":"YulFunctionCall","src":"362454:21:21"},"nativeSrc":"362454:21:21","nodeType":"YulExpressionStatement","src":"362454:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362500:4:21","nodeType":"YulLiteral","src":"362500:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"362506:2:21","nodeType":"YulIdentifier","src":"362506:2:21"}],"functionName":{"name":"writeString","nativeSrc":"362488:11:21","nodeType":"YulIdentifier","src":"362488:11:21"},"nativeSrc":"362488:21:21","nodeType":"YulFunctionCall","src":"362488:21:21"},"nativeSrc":"362488:21:21","nodeType":"YulExpressionStatement","src":"362488:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38174,"isOffset":false,"isSlot":false,"src":"361967:2:21","valueSize":1},{"declaration":38177,"isOffset":false,"isSlot":false,"src":"361997:2:21","valueSize":1},{"declaration":38180,"isOffset":false,"isSlot":false,"src":"362027:2:21","valueSize":1},{"declaration":38183,"isOffset":false,"isSlot":false,"src":"362057:2:21","valueSize":1},{"declaration":38186,"isOffset":false,"isSlot":false,"src":"362087:2:21","valueSize":1},{"declaration":38189,"isOffset":false,"isSlot":false,"src":"362117:2:21","valueSize":1},{"declaration":38192,"isOffset":false,"isSlot":false,"src":"362147:2:21","valueSize":1},{"declaration":38195,"isOffset":false,"isSlot":false,"src":"362177:2:21","valueSize":1},{"declaration":38198,"isOffset":false,"isSlot":false,"src":"362207:2:21","valueSize":1},{"declaration":38164,"isOffset":false,"isSlot":false,"src":"362472:2:21","valueSize":1},{"declaration":38166,"isOffset":false,"isSlot":false,"src":"362378:2:21","valueSize":1},{"declaration":38168,"isOffset":false,"isSlot":false,"src":"362407:2:21","valueSize":1},{"declaration":38170,"isOffset":false,"isSlot":false,"src":"362506:2:21","valueSize":1}],"id":38200,"nodeType":"InlineAssembly","src":"361589:930:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"362544:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"362550:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"362528:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"362528:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38205,"nodeType":"ExpressionStatement","src":"362528:28:21"},{"AST":{"nativeSrc":"362618:273:21","nodeType":"YulBlock","src":"362618:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"362639:4:21","nodeType":"YulLiteral","src":"362639:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"362645:2:21","nodeType":"YulIdentifier","src":"362645:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362632:6:21","nodeType":"YulIdentifier","src":"362632:6:21"},"nativeSrc":"362632:16:21","nodeType":"YulFunctionCall","src":"362632:16:21"},"nativeSrc":"362632:16:21","nodeType":"YulExpressionStatement","src":"362632:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362668:4:21","nodeType":"YulLiteral","src":"362668:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"362674:2:21","nodeType":"YulIdentifier","src":"362674:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362661:6:21","nodeType":"YulIdentifier","src":"362661:6:21"},"nativeSrc":"362661:16:21","nodeType":"YulFunctionCall","src":"362661:16:21"},"nativeSrc":"362661:16:21","nodeType":"YulExpressionStatement","src":"362661:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362697:4:21","nodeType":"YulLiteral","src":"362697:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"362703:2:21","nodeType":"YulIdentifier","src":"362703:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362690:6:21","nodeType":"YulIdentifier","src":"362690:6:21"},"nativeSrc":"362690:16:21","nodeType":"YulFunctionCall","src":"362690:16:21"},"nativeSrc":"362690:16:21","nodeType":"YulExpressionStatement","src":"362690:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362726:4:21","nodeType":"YulLiteral","src":"362726:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"362732:2:21","nodeType":"YulIdentifier","src":"362732:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362719:6:21","nodeType":"YulIdentifier","src":"362719:6:21"},"nativeSrc":"362719:16:21","nodeType":"YulFunctionCall","src":"362719:16:21"},"nativeSrc":"362719:16:21","nodeType":"YulExpressionStatement","src":"362719:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362755:4:21","nodeType":"YulLiteral","src":"362755:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"362761:2:21","nodeType":"YulIdentifier","src":"362761:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362748:6:21","nodeType":"YulIdentifier","src":"362748:6:21"},"nativeSrc":"362748:16:21","nodeType":"YulFunctionCall","src":"362748:16:21"},"nativeSrc":"362748:16:21","nodeType":"YulExpressionStatement","src":"362748:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362784:4:21","nodeType":"YulLiteral","src":"362784:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"362790:2:21","nodeType":"YulIdentifier","src":"362790:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362777:6:21","nodeType":"YulIdentifier","src":"362777:6:21"},"nativeSrc":"362777:16:21","nodeType":"YulFunctionCall","src":"362777:16:21"},"nativeSrc":"362777:16:21","nodeType":"YulExpressionStatement","src":"362777:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362813:4:21","nodeType":"YulLiteral","src":"362813:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"362819:2:21","nodeType":"YulIdentifier","src":"362819:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362806:6:21","nodeType":"YulIdentifier","src":"362806:6:21"},"nativeSrc":"362806:16:21","nodeType":"YulFunctionCall","src":"362806:16:21"},"nativeSrc":"362806:16:21","nodeType":"YulExpressionStatement","src":"362806:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362842:4:21","nodeType":"YulLiteral","src":"362842:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"362848:2:21","nodeType":"YulIdentifier","src":"362848:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362835:6:21","nodeType":"YulIdentifier","src":"362835:6:21"},"nativeSrc":"362835:16:21","nodeType":"YulFunctionCall","src":"362835:16:21"},"nativeSrc":"362835:16:21","nodeType":"YulExpressionStatement","src":"362835:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362871:5:21","nodeType":"YulLiteral","src":"362871:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"362878:2:21","nodeType":"YulIdentifier","src":"362878:2:21"}],"functionName":{"name":"mstore","nativeSrc":"362864:6:21","nodeType":"YulIdentifier","src":"362864:6:21"},"nativeSrc":"362864:17:21","nodeType":"YulFunctionCall","src":"362864:17:21"},"nativeSrc":"362864:17:21","nodeType":"YulExpressionStatement","src":"362864:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38174,"isOffset":false,"isSlot":false,"src":"362645:2:21","valueSize":1},{"declaration":38177,"isOffset":false,"isSlot":false,"src":"362674:2:21","valueSize":1},{"declaration":38180,"isOffset":false,"isSlot":false,"src":"362703:2:21","valueSize":1},{"declaration":38183,"isOffset":false,"isSlot":false,"src":"362732:2:21","valueSize":1},{"declaration":38186,"isOffset":false,"isSlot":false,"src":"362761:2:21","valueSize":1},{"declaration":38189,"isOffset":false,"isSlot":false,"src":"362790:2:21","valueSize":1},{"declaration":38192,"isOffset":false,"isSlot":false,"src":"362819:2:21","valueSize":1},{"declaration":38195,"isOffset":false,"isSlot":false,"src":"362848:2:21","valueSize":1},{"declaration":38198,"isOffset":false,"isSlot":false,"src":"362878:2:21","valueSize":1}],"id":38206,"nodeType":"InlineAssembly","src":"362609:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"361296:3:21","parameters":{"id":38171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38164,"mutability":"mutable","name":"p0","nameLocation":"361308:2:21","nodeType":"VariableDeclaration","scope":38208,"src":"361300:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361300:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38166,"mutability":"mutable","name":"p1","nameLocation":"361317:2:21","nodeType":"VariableDeclaration","scope":38208,"src":"361312:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38165,"name":"bool","nodeType":"ElementaryTypeName","src":"361312:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38168,"mutability":"mutable","name":"p2","nameLocation":"361326:2:21","nodeType":"VariableDeclaration","scope":38208,"src":"361321:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38167,"name":"bool","nodeType":"ElementaryTypeName","src":"361321:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38170,"mutability":"mutable","name":"p3","nameLocation":"361338:2:21","nodeType":"VariableDeclaration","scope":38208,"src":"361330:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361330:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"361299:42:21"},"returnParameters":{"id":38172,"nodeType":"ParameterList","parameters":[],"src":"361356:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38248,"nodeType":"FunctionDefinition","src":"362903:1420:21","nodes":[],"body":{"id":38247,"nodeType":"Block","src":"362975:1348:21","nodes":[],"statements":[{"assignments":[38220],"declarations":[{"constant":false,"id":38220,"mutability":"mutable","name":"m0","nameLocation":"362993:2:21","nodeType":"VariableDeclaration","scope":38247,"src":"362985:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"362985:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38221,"nodeType":"VariableDeclarationStatement","src":"362985:10:21"},{"assignments":[38223],"declarations":[{"constant":false,"id":38223,"mutability":"mutable","name":"m1","nameLocation":"363013:2:21","nodeType":"VariableDeclaration","scope":38247,"src":"363005:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363005:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38224,"nodeType":"VariableDeclarationStatement","src":"363005:10:21"},{"assignments":[38226],"declarations":[{"constant":false,"id":38226,"mutability":"mutable","name":"m2","nameLocation":"363033:2:21","nodeType":"VariableDeclaration","scope":38247,"src":"363025:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363025:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38227,"nodeType":"VariableDeclarationStatement","src":"363025:10:21"},{"assignments":[38229],"declarations":[{"constant":false,"id":38229,"mutability":"mutable","name":"m3","nameLocation":"363053:2:21","nodeType":"VariableDeclaration","scope":38247,"src":"363045:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363045:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38230,"nodeType":"VariableDeclarationStatement","src":"363045:10:21"},{"assignments":[38232],"declarations":[{"constant":false,"id":38232,"mutability":"mutable","name":"m4","nameLocation":"363073:2:21","nodeType":"VariableDeclaration","scope":38247,"src":"363065:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363065:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38233,"nodeType":"VariableDeclarationStatement","src":"363065:10:21"},{"assignments":[38235],"declarations":[{"constant":false,"id":38235,"mutability":"mutable","name":"m5","nameLocation":"363093:2:21","nodeType":"VariableDeclaration","scope":38247,"src":"363085:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363085:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38236,"nodeType":"VariableDeclarationStatement","src":"363085:10:21"},{"assignments":[38238],"declarations":[{"constant":false,"id":38238,"mutability":"mutable","name":"m6","nameLocation":"363113:2:21","nodeType":"VariableDeclaration","scope":38247,"src":"363105:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363105:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38239,"nodeType":"VariableDeclarationStatement","src":"363105:10:21"},{"AST":{"nativeSrc":"363177:828:21","nodeType":"YulBlock","src":"363177:828:21","statements":[{"body":{"nativeSrc":"363220:313:21","nodeType":"YulBlock","src":"363220:313:21","statements":[{"nativeSrc":"363238:15:21","nodeType":"YulVariableDeclaration","src":"363238:15:21","value":{"kind":"number","nativeSrc":"363252:1:21","nodeType":"YulLiteral","src":"363252:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"363242:6:21","nodeType":"YulTypedName","src":"363242:6:21","type":""}]},{"body":{"nativeSrc":"363323:40:21","nodeType":"YulBlock","src":"363323:40:21","statements":[{"body":{"nativeSrc":"363352:9:21","nodeType":"YulBlock","src":"363352:9:21","statements":[{"nativeSrc":"363354:5:21","nodeType":"YulBreak","src":"363354:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"363340:6:21","nodeType":"YulIdentifier","src":"363340:6:21"},{"name":"w","nativeSrc":"363348:1:21","nodeType":"YulIdentifier","src":"363348:1:21"}],"functionName":{"name":"byte","nativeSrc":"363335:4:21","nodeType":"YulIdentifier","src":"363335:4:21"},"nativeSrc":"363335:15:21","nodeType":"YulFunctionCall","src":"363335:15:21"}],"functionName":{"name":"iszero","nativeSrc":"363328:6:21","nodeType":"YulIdentifier","src":"363328:6:21"},"nativeSrc":"363328:23:21","nodeType":"YulFunctionCall","src":"363328:23:21"},"nativeSrc":"363325:36:21","nodeType":"YulIf","src":"363325:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"363280:6:21","nodeType":"YulIdentifier","src":"363280:6:21"},{"kind":"number","nativeSrc":"363288:4:21","nodeType":"YulLiteral","src":"363288:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"363277:2:21","nodeType":"YulIdentifier","src":"363277:2:21"},"nativeSrc":"363277:16:21","nodeType":"YulFunctionCall","src":"363277:16:21"},"nativeSrc":"363270:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"363294:28:21","nodeType":"YulBlock","src":"363294:28:21","statements":[{"nativeSrc":"363296:24:21","nodeType":"YulAssignment","src":"363296:24:21","value":{"arguments":[{"name":"length","nativeSrc":"363310:6:21","nodeType":"YulIdentifier","src":"363310:6:21"},{"kind":"number","nativeSrc":"363318:1:21","nodeType":"YulLiteral","src":"363318:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"363306:3:21","nodeType":"YulIdentifier","src":"363306:3:21"},"nativeSrc":"363306:14:21","nodeType":"YulFunctionCall","src":"363306:14:21"},"variableNames":[{"name":"length","nativeSrc":"363296:6:21","nodeType":"YulIdentifier","src":"363296:6:21"}]}]},"pre":{"nativeSrc":"363274:2:21","nodeType":"YulBlock","src":"363274:2:21","statements":[]},"src":"363270:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"363387:3:21","nodeType":"YulIdentifier","src":"363387:3:21"},{"name":"length","nativeSrc":"363392:6:21","nodeType":"YulIdentifier","src":"363392:6:21"}],"functionName":{"name":"mstore","nativeSrc":"363380:6:21","nodeType":"YulIdentifier","src":"363380:6:21"},"nativeSrc":"363380:19:21","nodeType":"YulFunctionCall","src":"363380:19:21"},"nativeSrc":"363380:19:21","nodeType":"YulExpressionStatement","src":"363380:19:21"},{"nativeSrc":"363416:37:21","nodeType":"YulVariableDeclaration","src":"363416:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"363433:3:21","nodeType":"YulLiteral","src":"363433:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"363442:1:21","nodeType":"YulLiteral","src":"363442:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"363445:6:21","nodeType":"YulIdentifier","src":"363445:6:21"}],"functionName":{"name":"shl","nativeSrc":"363438:3:21","nodeType":"YulIdentifier","src":"363438:3:21"},"nativeSrc":"363438:14:21","nodeType":"YulFunctionCall","src":"363438:14:21"}],"functionName":{"name":"sub","nativeSrc":"363429:3:21","nodeType":"YulIdentifier","src":"363429:3:21"},"nativeSrc":"363429:24:21","nodeType":"YulFunctionCall","src":"363429:24:21"},"variables":[{"name":"shift","nativeSrc":"363420:5:21","nodeType":"YulTypedName","src":"363420:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"363481:3:21","nodeType":"YulIdentifier","src":"363481:3:21"},{"kind":"number","nativeSrc":"363486:4:21","nodeType":"YulLiteral","src":"363486:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"363477:3:21","nodeType":"YulIdentifier","src":"363477:3:21"},"nativeSrc":"363477:14:21","nodeType":"YulFunctionCall","src":"363477:14:21"},{"arguments":[{"name":"shift","nativeSrc":"363497:5:21","nodeType":"YulIdentifier","src":"363497:5:21"},{"arguments":[{"name":"shift","nativeSrc":"363508:5:21","nodeType":"YulIdentifier","src":"363508:5:21"},{"name":"w","nativeSrc":"363515:1:21","nodeType":"YulIdentifier","src":"363515:1:21"}],"functionName":{"name":"shr","nativeSrc":"363504:3:21","nodeType":"YulIdentifier","src":"363504:3:21"},"nativeSrc":"363504:13:21","nodeType":"YulFunctionCall","src":"363504:13:21"}],"functionName":{"name":"shl","nativeSrc":"363493:3:21","nodeType":"YulIdentifier","src":"363493:3:21"},"nativeSrc":"363493:25:21","nodeType":"YulFunctionCall","src":"363493:25:21"}],"functionName":{"name":"mstore","nativeSrc":"363470:6:21","nodeType":"YulIdentifier","src":"363470:6:21"},"nativeSrc":"363470:49:21","nodeType":"YulFunctionCall","src":"363470:49:21"},"nativeSrc":"363470:49:21","nodeType":"YulExpressionStatement","src":"363470:49:21"}]},"name":"writeString","nativeSrc":"363191:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"363212:3:21","nodeType":"YulTypedName","src":"363212:3:21","type":""},{"name":"w","nativeSrc":"363217:1:21","nodeType":"YulTypedName","src":"363217:1:21","type":""}],"src":"363191:342:21"},{"nativeSrc":"363546:17:21","nodeType":"YulAssignment","src":"363546:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"363558:4:21","nodeType":"YulLiteral","src":"363558:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"363552:5:21","nodeType":"YulIdentifier","src":"363552:5:21"},"nativeSrc":"363552:11:21","nodeType":"YulFunctionCall","src":"363552:11:21"},"variableNames":[{"name":"m0","nativeSrc":"363546:2:21","nodeType":"YulIdentifier","src":"363546:2:21"}]},{"nativeSrc":"363576:17:21","nodeType":"YulAssignment","src":"363576:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"363588:4:21","nodeType":"YulLiteral","src":"363588:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"363582:5:21","nodeType":"YulIdentifier","src":"363582:5:21"},"nativeSrc":"363582:11:21","nodeType":"YulFunctionCall","src":"363582:11:21"},"variableNames":[{"name":"m1","nativeSrc":"363576:2:21","nodeType":"YulIdentifier","src":"363576:2:21"}]},{"nativeSrc":"363606:17:21","nodeType":"YulAssignment","src":"363606:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"363618:4:21","nodeType":"YulLiteral","src":"363618:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"363612:5:21","nodeType":"YulIdentifier","src":"363612:5:21"},"nativeSrc":"363612:11:21","nodeType":"YulFunctionCall","src":"363612:11:21"},"variableNames":[{"name":"m2","nativeSrc":"363606:2:21","nodeType":"YulIdentifier","src":"363606:2:21"}]},{"nativeSrc":"363636:17:21","nodeType":"YulAssignment","src":"363636:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"363648:4:21","nodeType":"YulLiteral","src":"363648:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"363642:5:21","nodeType":"YulIdentifier","src":"363642:5:21"},"nativeSrc":"363642:11:21","nodeType":"YulFunctionCall","src":"363642:11:21"},"variableNames":[{"name":"m3","nativeSrc":"363636:2:21","nodeType":"YulIdentifier","src":"363636:2:21"}]},{"nativeSrc":"363666:17:21","nodeType":"YulAssignment","src":"363666:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"363678:4:21","nodeType":"YulLiteral","src":"363678:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"363672:5:21","nodeType":"YulIdentifier","src":"363672:5:21"},"nativeSrc":"363672:11:21","nodeType":"YulFunctionCall","src":"363672:11:21"},"variableNames":[{"name":"m4","nativeSrc":"363666:2:21","nodeType":"YulIdentifier","src":"363666:2:21"}]},{"nativeSrc":"363696:17:21","nodeType":"YulAssignment","src":"363696:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"363708:4:21","nodeType":"YulLiteral","src":"363708:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"363702:5:21","nodeType":"YulIdentifier","src":"363702:5:21"},"nativeSrc":"363702:11:21","nodeType":"YulFunctionCall","src":"363702:11:21"},"variableNames":[{"name":"m5","nativeSrc":"363696:2:21","nodeType":"YulIdentifier","src":"363696:2:21"}]},{"nativeSrc":"363726:17:21","nodeType":"YulAssignment","src":"363726:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"363738:4:21","nodeType":"YulLiteral","src":"363738:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"363732:5:21","nodeType":"YulIdentifier","src":"363732:5:21"},"nativeSrc":"363732:11:21","nodeType":"YulFunctionCall","src":"363732:11:21"},"variableNames":[{"name":"m6","nativeSrc":"363726:2:21","nodeType":"YulIdentifier","src":"363726:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363826:4:21","nodeType":"YulLiteral","src":"363826:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"363832:10:21","nodeType":"YulLiteral","src":"363832:10:21","type":"","value":"0x935e09bf"}],"functionName":{"name":"mstore","nativeSrc":"363819:6:21","nodeType":"YulIdentifier","src":"363819:6:21"},"nativeSrc":"363819:24:21","nodeType":"YulFunctionCall","src":"363819:24:21"},"nativeSrc":"363819:24:21","nodeType":"YulExpressionStatement","src":"363819:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363863:4:21","nodeType":"YulLiteral","src":"363863:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"363869:4:21","nodeType":"YulLiteral","src":"363869:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"363856:6:21","nodeType":"YulIdentifier","src":"363856:6:21"},"nativeSrc":"363856:18:21","nodeType":"YulFunctionCall","src":"363856:18:21"},"nativeSrc":"363856:18:21","nodeType":"YulExpressionStatement","src":"363856:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363894:4:21","nodeType":"YulLiteral","src":"363894:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"363900:2:21","nodeType":"YulIdentifier","src":"363900:2:21"}],"functionName":{"name":"mstore","nativeSrc":"363887:6:21","nodeType":"YulIdentifier","src":"363887:6:21"},"nativeSrc":"363887:16:21","nodeType":"YulFunctionCall","src":"363887:16:21"},"nativeSrc":"363887:16:21","nodeType":"YulExpressionStatement","src":"363887:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363923:4:21","nodeType":"YulLiteral","src":"363923:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"363929:2:21","nodeType":"YulIdentifier","src":"363929:2:21"}],"functionName":{"name":"mstore","nativeSrc":"363916:6:21","nodeType":"YulIdentifier","src":"363916:6:21"},"nativeSrc":"363916:16:21","nodeType":"YulFunctionCall","src":"363916:16:21"},"nativeSrc":"363916:16:21","nodeType":"YulExpressionStatement","src":"363916:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363952:4:21","nodeType":"YulLiteral","src":"363952:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"363958:2:21","nodeType":"YulIdentifier","src":"363958:2:21"}],"functionName":{"name":"mstore","nativeSrc":"363945:6:21","nodeType":"YulIdentifier","src":"363945:6:21"},"nativeSrc":"363945:16:21","nodeType":"YulFunctionCall","src":"363945:16:21"},"nativeSrc":"363945:16:21","nodeType":"YulExpressionStatement","src":"363945:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363986:4:21","nodeType":"YulLiteral","src":"363986:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"363992:2:21","nodeType":"YulIdentifier","src":"363992:2:21"}],"functionName":{"name":"writeString","nativeSrc":"363974:11:21","nodeType":"YulIdentifier","src":"363974:11:21"},"nativeSrc":"363974:21:21","nodeType":"YulFunctionCall","src":"363974:21:21"},"nativeSrc":"363974:21:21","nodeType":"YulExpressionStatement","src":"363974:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38220,"isOffset":false,"isSlot":false,"src":"363546:2:21","valueSize":1},{"declaration":38223,"isOffset":false,"isSlot":false,"src":"363576:2:21","valueSize":1},{"declaration":38226,"isOffset":false,"isSlot":false,"src":"363606:2:21","valueSize":1},{"declaration":38229,"isOffset":false,"isSlot":false,"src":"363636:2:21","valueSize":1},{"declaration":38232,"isOffset":false,"isSlot":false,"src":"363666:2:21","valueSize":1},{"declaration":38235,"isOffset":false,"isSlot":false,"src":"363696:2:21","valueSize":1},{"declaration":38238,"isOffset":false,"isSlot":false,"src":"363726:2:21","valueSize":1},{"declaration":38210,"isOffset":false,"isSlot":false,"src":"363992:2:21","valueSize":1},{"declaration":38212,"isOffset":false,"isSlot":false,"src":"363900:2:21","valueSize":1},{"declaration":38214,"isOffset":false,"isSlot":false,"src":"363929:2:21","valueSize":1},{"declaration":38216,"isOffset":false,"isSlot":false,"src":"363958:2:21","valueSize":1}],"id":38240,"nodeType":"InlineAssembly","src":"363168:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"364030:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"364036:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"364014:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"364014:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38245,"nodeType":"ExpressionStatement","src":"364014:27:21"},{"AST":{"nativeSrc":"364103:214:21","nodeType":"YulBlock","src":"364103:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"364124:4:21","nodeType":"YulLiteral","src":"364124:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"364130:2:21","nodeType":"YulIdentifier","src":"364130:2:21"}],"functionName":{"name":"mstore","nativeSrc":"364117:6:21","nodeType":"YulIdentifier","src":"364117:6:21"},"nativeSrc":"364117:16:21","nodeType":"YulFunctionCall","src":"364117:16:21"},"nativeSrc":"364117:16:21","nodeType":"YulExpressionStatement","src":"364117:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364153:4:21","nodeType":"YulLiteral","src":"364153:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"364159:2:21","nodeType":"YulIdentifier","src":"364159:2:21"}],"functionName":{"name":"mstore","nativeSrc":"364146:6:21","nodeType":"YulIdentifier","src":"364146:6:21"},"nativeSrc":"364146:16:21","nodeType":"YulFunctionCall","src":"364146:16:21"},"nativeSrc":"364146:16:21","nodeType":"YulExpressionStatement","src":"364146:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364182:4:21","nodeType":"YulLiteral","src":"364182:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"364188:2:21","nodeType":"YulIdentifier","src":"364188:2:21"}],"functionName":{"name":"mstore","nativeSrc":"364175:6:21","nodeType":"YulIdentifier","src":"364175:6:21"},"nativeSrc":"364175:16:21","nodeType":"YulFunctionCall","src":"364175:16:21"},"nativeSrc":"364175:16:21","nodeType":"YulExpressionStatement","src":"364175:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364211:4:21","nodeType":"YulLiteral","src":"364211:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"364217:2:21","nodeType":"YulIdentifier","src":"364217:2:21"}],"functionName":{"name":"mstore","nativeSrc":"364204:6:21","nodeType":"YulIdentifier","src":"364204:6:21"},"nativeSrc":"364204:16:21","nodeType":"YulFunctionCall","src":"364204:16:21"},"nativeSrc":"364204:16:21","nodeType":"YulExpressionStatement","src":"364204:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364240:4:21","nodeType":"YulLiteral","src":"364240:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"364246:2:21","nodeType":"YulIdentifier","src":"364246:2:21"}],"functionName":{"name":"mstore","nativeSrc":"364233:6:21","nodeType":"YulIdentifier","src":"364233:6:21"},"nativeSrc":"364233:16:21","nodeType":"YulFunctionCall","src":"364233:16:21"},"nativeSrc":"364233:16:21","nodeType":"YulExpressionStatement","src":"364233:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364269:4:21","nodeType":"YulLiteral","src":"364269:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"364275:2:21","nodeType":"YulIdentifier","src":"364275:2:21"}],"functionName":{"name":"mstore","nativeSrc":"364262:6:21","nodeType":"YulIdentifier","src":"364262:6:21"},"nativeSrc":"364262:16:21","nodeType":"YulFunctionCall","src":"364262:16:21"},"nativeSrc":"364262:16:21","nodeType":"YulExpressionStatement","src":"364262:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364298:4:21","nodeType":"YulLiteral","src":"364298:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"364304:2:21","nodeType":"YulIdentifier","src":"364304:2:21"}],"functionName":{"name":"mstore","nativeSrc":"364291:6:21","nodeType":"YulIdentifier","src":"364291:6:21"},"nativeSrc":"364291:16:21","nodeType":"YulFunctionCall","src":"364291:16:21"},"nativeSrc":"364291:16:21","nodeType":"YulExpressionStatement","src":"364291:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38220,"isOffset":false,"isSlot":false,"src":"364130:2:21","valueSize":1},{"declaration":38223,"isOffset":false,"isSlot":false,"src":"364159:2:21","valueSize":1},{"declaration":38226,"isOffset":false,"isSlot":false,"src":"364188:2:21","valueSize":1},{"declaration":38229,"isOffset":false,"isSlot":false,"src":"364217:2:21","valueSize":1},{"declaration":38232,"isOffset":false,"isSlot":false,"src":"364246:2:21","valueSize":1},{"declaration":38235,"isOffset":false,"isSlot":false,"src":"364275:2:21","valueSize":1},{"declaration":38238,"isOffset":false,"isSlot":false,"src":"364304:2:21","valueSize":1}],"id":38246,"nodeType":"InlineAssembly","src":"364094:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"362912:3:21","parameters":{"id":38217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38210,"mutability":"mutable","name":"p0","nameLocation":"362924:2:21","nodeType":"VariableDeclaration","scope":38248,"src":"362916:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"362916:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38212,"mutability":"mutable","name":"p1","nameLocation":"362933:2:21","nodeType":"VariableDeclaration","scope":38248,"src":"362928:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38211,"name":"bool","nodeType":"ElementaryTypeName","src":"362928:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38214,"mutability":"mutable","name":"p2","nameLocation":"362945:2:21","nodeType":"VariableDeclaration","scope":38248,"src":"362937:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38213,"name":"uint256","nodeType":"ElementaryTypeName","src":"362937:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38216,"mutability":"mutable","name":"p3","nameLocation":"362957:2:21","nodeType":"VariableDeclaration","scope":38248,"src":"362949:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38215,"name":"address","nodeType":"ElementaryTypeName","src":"362949:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"362915:45:21"},"returnParameters":{"id":38218,"nodeType":"ParameterList","parameters":[],"src":"362975:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38288,"nodeType":"FunctionDefinition","src":"364329:1414:21","nodes":[],"body":{"id":38287,"nodeType":"Block","src":"364398:1345:21","nodes":[],"statements":[{"assignments":[38260],"declarations":[{"constant":false,"id":38260,"mutability":"mutable","name":"m0","nameLocation":"364416:2:21","nodeType":"VariableDeclaration","scope":38287,"src":"364408:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364408:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38261,"nodeType":"VariableDeclarationStatement","src":"364408:10:21"},{"assignments":[38263],"declarations":[{"constant":false,"id":38263,"mutability":"mutable","name":"m1","nameLocation":"364436:2:21","nodeType":"VariableDeclaration","scope":38287,"src":"364428:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364428:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38264,"nodeType":"VariableDeclarationStatement","src":"364428:10:21"},{"assignments":[38266],"declarations":[{"constant":false,"id":38266,"mutability":"mutable","name":"m2","nameLocation":"364456:2:21","nodeType":"VariableDeclaration","scope":38287,"src":"364448:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364448:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38267,"nodeType":"VariableDeclarationStatement","src":"364448:10:21"},{"assignments":[38269],"declarations":[{"constant":false,"id":38269,"mutability":"mutable","name":"m3","nameLocation":"364476:2:21","nodeType":"VariableDeclaration","scope":38287,"src":"364468:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364468:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38270,"nodeType":"VariableDeclarationStatement","src":"364468:10:21"},{"assignments":[38272],"declarations":[{"constant":false,"id":38272,"mutability":"mutable","name":"m4","nameLocation":"364496:2:21","nodeType":"VariableDeclaration","scope":38287,"src":"364488:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364488:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38273,"nodeType":"VariableDeclarationStatement","src":"364488:10:21"},{"assignments":[38275],"declarations":[{"constant":false,"id":38275,"mutability":"mutable","name":"m5","nameLocation":"364516:2:21","nodeType":"VariableDeclaration","scope":38287,"src":"364508:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364508:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38276,"nodeType":"VariableDeclarationStatement","src":"364508:10:21"},{"assignments":[38278],"declarations":[{"constant":false,"id":38278,"mutability":"mutable","name":"m6","nameLocation":"364536:2:21","nodeType":"VariableDeclaration","scope":38287,"src":"364528:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364528:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38279,"nodeType":"VariableDeclarationStatement","src":"364528:10:21"},{"AST":{"nativeSrc":"364600:825:21","nodeType":"YulBlock","src":"364600:825:21","statements":[{"body":{"nativeSrc":"364643:313:21","nodeType":"YulBlock","src":"364643:313:21","statements":[{"nativeSrc":"364661:15:21","nodeType":"YulVariableDeclaration","src":"364661:15:21","value":{"kind":"number","nativeSrc":"364675:1:21","nodeType":"YulLiteral","src":"364675:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"364665:6:21","nodeType":"YulTypedName","src":"364665:6:21","type":""}]},{"body":{"nativeSrc":"364746:40:21","nodeType":"YulBlock","src":"364746:40:21","statements":[{"body":{"nativeSrc":"364775:9:21","nodeType":"YulBlock","src":"364775:9:21","statements":[{"nativeSrc":"364777:5:21","nodeType":"YulBreak","src":"364777:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"364763:6:21","nodeType":"YulIdentifier","src":"364763:6:21"},{"name":"w","nativeSrc":"364771:1:21","nodeType":"YulIdentifier","src":"364771:1:21"}],"functionName":{"name":"byte","nativeSrc":"364758:4:21","nodeType":"YulIdentifier","src":"364758:4:21"},"nativeSrc":"364758:15:21","nodeType":"YulFunctionCall","src":"364758:15:21"}],"functionName":{"name":"iszero","nativeSrc":"364751:6:21","nodeType":"YulIdentifier","src":"364751:6:21"},"nativeSrc":"364751:23:21","nodeType":"YulFunctionCall","src":"364751:23:21"},"nativeSrc":"364748:36:21","nodeType":"YulIf","src":"364748:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"364703:6:21","nodeType":"YulIdentifier","src":"364703:6:21"},{"kind":"number","nativeSrc":"364711:4:21","nodeType":"YulLiteral","src":"364711:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"364700:2:21","nodeType":"YulIdentifier","src":"364700:2:21"},"nativeSrc":"364700:16:21","nodeType":"YulFunctionCall","src":"364700:16:21"},"nativeSrc":"364693:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"364717:28:21","nodeType":"YulBlock","src":"364717:28:21","statements":[{"nativeSrc":"364719:24:21","nodeType":"YulAssignment","src":"364719:24:21","value":{"arguments":[{"name":"length","nativeSrc":"364733:6:21","nodeType":"YulIdentifier","src":"364733:6:21"},{"kind":"number","nativeSrc":"364741:1:21","nodeType":"YulLiteral","src":"364741:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"364729:3:21","nodeType":"YulIdentifier","src":"364729:3:21"},"nativeSrc":"364729:14:21","nodeType":"YulFunctionCall","src":"364729:14:21"},"variableNames":[{"name":"length","nativeSrc":"364719:6:21","nodeType":"YulIdentifier","src":"364719:6:21"}]}]},"pre":{"nativeSrc":"364697:2:21","nodeType":"YulBlock","src":"364697:2:21","statements":[]},"src":"364693:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"364810:3:21","nodeType":"YulIdentifier","src":"364810:3:21"},{"name":"length","nativeSrc":"364815:6:21","nodeType":"YulIdentifier","src":"364815:6:21"}],"functionName":{"name":"mstore","nativeSrc":"364803:6:21","nodeType":"YulIdentifier","src":"364803:6:21"},"nativeSrc":"364803:19:21","nodeType":"YulFunctionCall","src":"364803:19:21"},"nativeSrc":"364803:19:21","nodeType":"YulExpressionStatement","src":"364803:19:21"},{"nativeSrc":"364839:37:21","nodeType":"YulVariableDeclaration","src":"364839:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"364856:3:21","nodeType":"YulLiteral","src":"364856:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"364865:1:21","nodeType":"YulLiteral","src":"364865:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"364868:6:21","nodeType":"YulIdentifier","src":"364868:6:21"}],"functionName":{"name":"shl","nativeSrc":"364861:3:21","nodeType":"YulIdentifier","src":"364861:3:21"},"nativeSrc":"364861:14:21","nodeType":"YulFunctionCall","src":"364861:14:21"}],"functionName":{"name":"sub","nativeSrc":"364852:3:21","nodeType":"YulIdentifier","src":"364852:3:21"},"nativeSrc":"364852:24:21","nodeType":"YulFunctionCall","src":"364852:24:21"},"variables":[{"name":"shift","nativeSrc":"364843:5:21","nodeType":"YulTypedName","src":"364843:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"364904:3:21","nodeType":"YulIdentifier","src":"364904:3:21"},{"kind":"number","nativeSrc":"364909:4:21","nodeType":"YulLiteral","src":"364909:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"364900:3:21","nodeType":"YulIdentifier","src":"364900:3:21"},"nativeSrc":"364900:14:21","nodeType":"YulFunctionCall","src":"364900:14:21"},{"arguments":[{"name":"shift","nativeSrc":"364920:5:21","nodeType":"YulIdentifier","src":"364920:5:21"},{"arguments":[{"name":"shift","nativeSrc":"364931:5:21","nodeType":"YulIdentifier","src":"364931:5:21"},{"name":"w","nativeSrc":"364938:1:21","nodeType":"YulIdentifier","src":"364938:1:21"}],"functionName":{"name":"shr","nativeSrc":"364927:3:21","nodeType":"YulIdentifier","src":"364927:3:21"},"nativeSrc":"364927:13:21","nodeType":"YulFunctionCall","src":"364927:13:21"}],"functionName":{"name":"shl","nativeSrc":"364916:3:21","nodeType":"YulIdentifier","src":"364916:3:21"},"nativeSrc":"364916:25:21","nodeType":"YulFunctionCall","src":"364916:25:21"}],"functionName":{"name":"mstore","nativeSrc":"364893:6:21","nodeType":"YulIdentifier","src":"364893:6:21"},"nativeSrc":"364893:49:21","nodeType":"YulFunctionCall","src":"364893:49:21"},"nativeSrc":"364893:49:21","nodeType":"YulExpressionStatement","src":"364893:49:21"}]},"name":"writeString","nativeSrc":"364614:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"364635:3:21","nodeType":"YulTypedName","src":"364635:3:21","type":""},{"name":"w","nativeSrc":"364640:1:21","nodeType":"YulTypedName","src":"364640:1:21","type":""}],"src":"364614:342:21"},{"nativeSrc":"364969:17:21","nodeType":"YulAssignment","src":"364969:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"364981:4:21","nodeType":"YulLiteral","src":"364981:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"364975:5:21","nodeType":"YulIdentifier","src":"364975:5:21"},"nativeSrc":"364975:11:21","nodeType":"YulFunctionCall","src":"364975:11:21"},"variableNames":[{"name":"m0","nativeSrc":"364969:2:21","nodeType":"YulIdentifier","src":"364969:2:21"}]},{"nativeSrc":"364999:17:21","nodeType":"YulAssignment","src":"364999:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"365011:4:21","nodeType":"YulLiteral","src":"365011:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"365005:5:21","nodeType":"YulIdentifier","src":"365005:5:21"},"nativeSrc":"365005:11:21","nodeType":"YulFunctionCall","src":"365005:11:21"},"variableNames":[{"name":"m1","nativeSrc":"364999:2:21","nodeType":"YulIdentifier","src":"364999:2:21"}]},{"nativeSrc":"365029:17:21","nodeType":"YulAssignment","src":"365029:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"365041:4:21","nodeType":"YulLiteral","src":"365041:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"365035:5:21","nodeType":"YulIdentifier","src":"365035:5:21"},"nativeSrc":"365035:11:21","nodeType":"YulFunctionCall","src":"365035:11:21"},"variableNames":[{"name":"m2","nativeSrc":"365029:2:21","nodeType":"YulIdentifier","src":"365029:2:21"}]},{"nativeSrc":"365059:17:21","nodeType":"YulAssignment","src":"365059:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"365071:4:21","nodeType":"YulLiteral","src":"365071:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"365065:5:21","nodeType":"YulIdentifier","src":"365065:5:21"},"nativeSrc":"365065:11:21","nodeType":"YulFunctionCall","src":"365065:11:21"},"variableNames":[{"name":"m3","nativeSrc":"365059:2:21","nodeType":"YulIdentifier","src":"365059:2:21"}]},{"nativeSrc":"365089:17:21","nodeType":"YulAssignment","src":"365089:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"365101:4:21","nodeType":"YulLiteral","src":"365101:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"365095:5:21","nodeType":"YulIdentifier","src":"365095:5:21"},"nativeSrc":"365095:11:21","nodeType":"YulFunctionCall","src":"365095:11:21"},"variableNames":[{"name":"m4","nativeSrc":"365089:2:21","nodeType":"YulIdentifier","src":"365089:2:21"}]},{"nativeSrc":"365119:17:21","nodeType":"YulAssignment","src":"365119:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"365131:4:21","nodeType":"YulLiteral","src":"365131:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"365125:5:21","nodeType":"YulIdentifier","src":"365125:5:21"},"nativeSrc":"365125:11:21","nodeType":"YulFunctionCall","src":"365125:11:21"},"variableNames":[{"name":"m5","nativeSrc":"365119:2:21","nodeType":"YulIdentifier","src":"365119:2:21"}]},{"nativeSrc":"365149:17:21","nodeType":"YulAssignment","src":"365149:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"365161:4:21","nodeType":"YulLiteral","src":"365161:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"365155:5:21","nodeType":"YulIdentifier","src":"365155:5:21"},"nativeSrc":"365155:11:21","nodeType":"YulFunctionCall","src":"365155:11:21"},"variableNames":[{"name":"m6","nativeSrc":"365149:2:21","nodeType":"YulIdentifier","src":"365149:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365246:4:21","nodeType":"YulLiteral","src":"365246:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"365252:10:21","nodeType":"YulLiteral","src":"365252:10:21","type":"","value":"0x8af7cf8a"}],"functionName":{"name":"mstore","nativeSrc":"365239:6:21","nodeType":"YulIdentifier","src":"365239:6:21"},"nativeSrc":"365239:24:21","nodeType":"YulFunctionCall","src":"365239:24:21"},"nativeSrc":"365239:24:21","nodeType":"YulExpressionStatement","src":"365239:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365283:4:21","nodeType":"YulLiteral","src":"365283:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"365289:4:21","nodeType":"YulLiteral","src":"365289:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"365276:6:21","nodeType":"YulIdentifier","src":"365276:6:21"},"nativeSrc":"365276:18:21","nodeType":"YulFunctionCall","src":"365276:18:21"},"nativeSrc":"365276:18:21","nodeType":"YulExpressionStatement","src":"365276:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365314:4:21","nodeType":"YulLiteral","src":"365314:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"365320:2:21","nodeType":"YulIdentifier","src":"365320:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365307:6:21","nodeType":"YulIdentifier","src":"365307:6:21"},"nativeSrc":"365307:16:21","nodeType":"YulFunctionCall","src":"365307:16:21"},"nativeSrc":"365307:16:21","nodeType":"YulExpressionStatement","src":"365307:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365343:4:21","nodeType":"YulLiteral","src":"365343:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"365349:2:21","nodeType":"YulIdentifier","src":"365349:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365336:6:21","nodeType":"YulIdentifier","src":"365336:6:21"},"nativeSrc":"365336:16:21","nodeType":"YulFunctionCall","src":"365336:16:21"},"nativeSrc":"365336:16:21","nodeType":"YulExpressionStatement","src":"365336:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365372:4:21","nodeType":"YulLiteral","src":"365372:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"365378:2:21","nodeType":"YulIdentifier","src":"365378:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365365:6:21","nodeType":"YulIdentifier","src":"365365:6:21"},"nativeSrc":"365365:16:21","nodeType":"YulFunctionCall","src":"365365:16:21"},"nativeSrc":"365365:16:21","nodeType":"YulExpressionStatement","src":"365365:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365406:4:21","nodeType":"YulLiteral","src":"365406:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"365412:2:21","nodeType":"YulIdentifier","src":"365412:2:21"}],"functionName":{"name":"writeString","nativeSrc":"365394:11:21","nodeType":"YulIdentifier","src":"365394:11:21"},"nativeSrc":"365394:21:21","nodeType":"YulFunctionCall","src":"365394:21:21"},"nativeSrc":"365394:21:21","nodeType":"YulExpressionStatement","src":"365394:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38260,"isOffset":false,"isSlot":false,"src":"364969:2:21","valueSize":1},{"declaration":38263,"isOffset":false,"isSlot":false,"src":"364999:2:21","valueSize":1},{"declaration":38266,"isOffset":false,"isSlot":false,"src":"365029:2:21","valueSize":1},{"declaration":38269,"isOffset":false,"isSlot":false,"src":"365059:2:21","valueSize":1},{"declaration":38272,"isOffset":false,"isSlot":false,"src":"365089:2:21","valueSize":1},{"declaration":38275,"isOffset":false,"isSlot":false,"src":"365119:2:21","valueSize":1},{"declaration":38278,"isOffset":false,"isSlot":false,"src":"365149:2:21","valueSize":1},{"declaration":38250,"isOffset":false,"isSlot":false,"src":"365412:2:21","valueSize":1},{"declaration":38252,"isOffset":false,"isSlot":false,"src":"365320:2:21","valueSize":1},{"declaration":38254,"isOffset":false,"isSlot":false,"src":"365349:2:21","valueSize":1},{"declaration":38256,"isOffset":false,"isSlot":false,"src":"365378:2:21","valueSize":1}],"id":38280,"nodeType":"InlineAssembly","src":"364591:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"365450:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"365456:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38281,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"365434:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"365434:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38285,"nodeType":"ExpressionStatement","src":"365434:27:21"},{"AST":{"nativeSrc":"365523:214:21","nodeType":"YulBlock","src":"365523:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"365544:4:21","nodeType":"YulLiteral","src":"365544:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"365550:2:21","nodeType":"YulIdentifier","src":"365550:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365537:6:21","nodeType":"YulIdentifier","src":"365537:6:21"},"nativeSrc":"365537:16:21","nodeType":"YulFunctionCall","src":"365537:16:21"},"nativeSrc":"365537:16:21","nodeType":"YulExpressionStatement","src":"365537:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365573:4:21","nodeType":"YulLiteral","src":"365573:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"365579:2:21","nodeType":"YulIdentifier","src":"365579:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365566:6:21","nodeType":"YulIdentifier","src":"365566:6:21"},"nativeSrc":"365566:16:21","nodeType":"YulFunctionCall","src":"365566:16:21"},"nativeSrc":"365566:16:21","nodeType":"YulExpressionStatement","src":"365566:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365602:4:21","nodeType":"YulLiteral","src":"365602:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"365608:2:21","nodeType":"YulIdentifier","src":"365608:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365595:6:21","nodeType":"YulIdentifier","src":"365595:6:21"},"nativeSrc":"365595:16:21","nodeType":"YulFunctionCall","src":"365595:16:21"},"nativeSrc":"365595:16:21","nodeType":"YulExpressionStatement","src":"365595:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365631:4:21","nodeType":"YulLiteral","src":"365631:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"365637:2:21","nodeType":"YulIdentifier","src":"365637:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365624:6:21","nodeType":"YulIdentifier","src":"365624:6:21"},"nativeSrc":"365624:16:21","nodeType":"YulFunctionCall","src":"365624:16:21"},"nativeSrc":"365624:16:21","nodeType":"YulExpressionStatement","src":"365624:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365660:4:21","nodeType":"YulLiteral","src":"365660:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"365666:2:21","nodeType":"YulIdentifier","src":"365666:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365653:6:21","nodeType":"YulIdentifier","src":"365653:6:21"},"nativeSrc":"365653:16:21","nodeType":"YulFunctionCall","src":"365653:16:21"},"nativeSrc":"365653:16:21","nodeType":"YulExpressionStatement","src":"365653:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365689:4:21","nodeType":"YulLiteral","src":"365689:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"365695:2:21","nodeType":"YulIdentifier","src":"365695:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365682:6:21","nodeType":"YulIdentifier","src":"365682:6:21"},"nativeSrc":"365682:16:21","nodeType":"YulFunctionCall","src":"365682:16:21"},"nativeSrc":"365682:16:21","nodeType":"YulExpressionStatement","src":"365682:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365718:4:21","nodeType":"YulLiteral","src":"365718:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"365724:2:21","nodeType":"YulIdentifier","src":"365724:2:21"}],"functionName":{"name":"mstore","nativeSrc":"365711:6:21","nodeType":"YulIdentifier","src":"365711:6:21"},"nativeSrc":"365711:16:21","nodeType":"YulFunctionCall","src":"365711:16:21"},"nativeSrc":"365711:16:21","nodeType":"YulExpressionStatement","src":"365711:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38260,"isOffset":false,"isSlot":false,"src":"365550:2:21","valueSize":1},{"declaration":38263,"isOffset":false,"isSlot":false,"src":"365579:2:21","valueSize":1},{"declaration":38266,"isOffset":false,"isSlot":false,"src":"365608:2:21","valueSize":1},{"declaration":38269,"isOffset":false,"isSlot":false,"src":"365637:2:21","valueSize":1},{"declaration":38272,"isOffset":false,"isSlot":false,"src":"365666:2:21","valueSize":1},{"declaration":38275,"isOffset":false,"isSlot":false,"src":"365695:2:21","valueSize":1},{"declaration":38278,"isOffset":false,"isSlot":false,"src":"365724:2:21","valueSize":1}],"id":38286,"nodeType":"InlineAssembly","src":"365514:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"364338:3:21","parameters":{"id":38257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38250,"mutability":"mutable","name":"p0","nameLocation":"364350:2:21","nodeType":"VariableDeclaration","scope":38288,"src":"364342:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364342:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38252,"mutability":"mutable","name":"p1","nameLocation":"364359:2:21","nodeType":"VariableDeclaration","scope":38288,"src":"364354:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38251,"name":"bool","nodeType":"ElementaryTypeName","src":"364354:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38254,"mutability":"mutable","name":"p2","nameLocation":"364371:2:21","nodeType":"VariableDeclaration","scope":38288,"src":"364363:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38253,"name":"uint256","nodeType":"ElementaryTypeName","src":"364363:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38256,"mutability":"mutable","name":"p3","nameLocation":"364380:2:21","nodeType":"VariableDeclaration","scope":38288,"src":"364375:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38255,"name":"bool","nodeType":"ElementaryTypeName","src":"364375:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"364341:42:21"},"returnParameters":{"id":38258,"nodeType":"ParameterList","parameters":[],"src":"364398:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38328,"nodeType":"FunctionDefinition","src":"365749:1420:21","nodes":[],"body":{"id":38327,"nodeType":"Block","src":"365821:1348:21","nodes":[],"statements":[{"assignments":[38300],"declarations":[{"constant":false,"id":38300,"mutability":"mutable","name":"m0","nameLocation":"365839:2:21","nodeType":"VariableDeclaration","scope":38327,"src":"365831:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365831:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38301,"nodeType":"VariableDeclarationStatement","src":"365831:10:21"},{"assignments":[38303],"declarations":[{"constant":false,"id":38303,"mutability":"mutable","name":"m1","nameLocation":"365859:2:21","nodeType":"VariableDeclaration","scope":38327,"src":"365851:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365851:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38304,"nodeType":"VariableDeclarationStatement","src":"365851:10:21"},{"assignments":[38306],"declarations":[{"constant":false,"id":38306,"mutability":"mutable","name":"m2","nameLocation":"365879:2:21","nodeType":"VariableDeclaration","scope":38327,"src":"365871:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365871:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38307,"nodeType":"VariableDeclarationStatement","src":"365871:10:21"},{"assignments":[38309],"declarations":[{"constant":false,"id":38309,"mutability":"mutable","name":"m3","nameLocation":"365899:2:21","nodeType":"VariableDeclaration","scope":38327,"src":"365891:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365891:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38310,"nodeType":"VariableDeclarationStatement","src":"365891:10:21"},{"assignments":[38312],"declarations":[{"constant":false,"id":38312,"mutability":"mutable","name":"m4","nameLocation":"365919:2:21","nodeType":"VariableDeclaration","scope":38327,"src":"365911:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365911:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38313,"nodeType":"VariableDeclarationStatement","src":"365911:10:21"},{"assignments":[38315],"declarations":[{"constant":false,"id":38315,"mutability":"mutable","name":"m5","nameLocation":"365939:2:21","nodeType":"VariableDeclaration","scope":38327,"src":"365931:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365931:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38316,"nodeType":"VariableDeclarationStatement","src":"365931:10:21"},{"assignments":[38318],"declarations":[{"constant":false,"id":38318,"mutability":"mutable","name":"m6","nameLocation":"365959:2:21","nodeType":"VariableDeclaration","scope":38327,"src":"365951:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365951:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38319,"nodeType":"VariableDeclarationStatement","src":"365951:10:21"},{"AST":{"nativeSrc":"366023:828:21","nodeType":"YulBlock","src":"366023:828:21","statements":[{"body":{"nativeSrc":"366066:313:21","nodeType":"YulBlock","src":"366066:313:21","statements":[{"nativeSrc":"366084:15:21","nodeType":"YulVariableDeclaration","src":"366084:15:21","value":{"kind":"number","nativeSrc":"366098:1:21","nodeType":"YulLiteral","src":"366098:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"366088:6:21","nodeType":"YulTypedName","src":"366088:6:21","type":""}]},{"body":{"nativeSrc":"366169:40:21","nodeType":"YulBlock","src":"366169:40:21","statements":[{"body":{"nativeSrc":"366198:9:21","nodeType":"YulBlock","src":"366198:9:21","statements":[{"nativeSrc":"366200:5:21","nodeType":"YulBreak","src":"366200:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"366186:6:21","nodeType":"YulIdentifier","src":"366186:6:21"},{"name":"w","nativeSrc":"366194:1:21","nodeType":"YulIdentifier","src":"366194:1:21"}],"functionName":{"name":"byte","nativeSrc":"366181:4:21","nodeType":"YulIdentifier","src":"366181:4:21"},"nativeSrc":"366181:15:21","nodeType":"YulFunctionCall","src":"366181:15:21"}],"functionName":{"name":"iszero","nativeSrc":"366174:6:21","nodeType":"YulIdentifier","src":"366174:6:21"},"nativeSrc":"366174:23:21","nodeType":"YulFunctionCall","src":"366174:23:21"},"nativeSrc":"366171:36:21","nodeType":"YulIf","src":"366171:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"366126:6:21","nodeType":"YulIdentifier","src":"366126:6:21"},{"kind":"number","nativeSrc":"366134:4:21","nodeType":"YulLiteral","src":"366134:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"366123:2:21","nodeType":"YulIdentifier","src":"366123:2:21"},"nativeSrc":"366123:16:21","nodeType":"YulFunctionCall","src":"366123:16:21"},"nativeSrc":"366116:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"366140:28:21","nodeType":"YulBlock","src":"366140:28:21","statements":[{"nativeSrc":"366142:24:21","nodeType":"YulAssignment","src":"366142:24:21","value":{"arguments":[{"name":"length","nativeSrc":"366156:6:21","nodeType":"YulIdentifier","src":"366156:6:21"},{"kind":"number","nativeSrc":"366164:1:21","nodeType":"YulLiteral","src":"366164:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"366152:3:21","nodeType":"YulIdentifier","src":"366152:3:21"},"nativeSrc":"366152:14:21","nodeType":"YulFunctionCall","src":"366152:14:21"},"variableNames":[{"name":"length","nativeSrc":"366142:6:21","nodeType":"YulIdentifier","src":"366142:6:21"}]}]},"pre":{"nativeSrc":"366120:2:21","nodeType":"YulBlock","src":"366120:2:21","statements":[]},"src":"366116:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"366233:3:21","nodeType":"YulIdentifier","src":"366233:3:21"},{"name":"length","nativeSrc":"366238:6:21","nodeType":"YulIdentifier","src":"366238:6:21"}],"functionName":{"name":"mstore","nativeSrc":"366226:6:21","nodeType":"YulIdentifier","src":"366226:6:21"},"nativeSrc":"366226:19:21","nodeType":"YulFunctionCall","src":"366226:19:21"},"nativeSrc":"366226:19:21","nodeType":"YulExpressionStatement","src":"366226:19:21"},{"nativeSrc":"366262:37:21","nodeType":"YulVariableDeclaration","src":"366262:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"366279:3:21","nodeType":"YulLiteral","src":"366279:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"366288:1:21","nodeType":"YulLiteral","src":"366288:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"366291:6:21","nodeType":"YulIdentifier","src":"366291:6:21"}],"functionName":{"name":"shl","nativeSrc":"366284:3:21","nodeType":"YulIdentifier","src":"366284:3:21"},"nativeSrc":"366284:14:21","nodeType":"YulFunctionCall","src":"366284:14:21"}],"functionName":{"name":"sub","nativeSrc":"366275:3:21","nodeType":"YulIdentifier","src":"366275:3:21"},"nativeSrc":"366275:24:21","nodeType":"YulFunctionCall","src":"366275:24:21"},"variables":[{"name":"shift","nativeSrc":"366266:5:21","nodeType":"YulTypedName","src":"366266:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"366327:3:21","nodeType":"YulIdentifier","src":"366327:3:21"},{"kind":"number","nativeSrc":"366332:4:21","nodeType":"YulLiteral","src":"366332:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"366323:3:21","nodeType":"YulIdentifier","src":"366323:3:21"},"nativeSrc":"366323:14:21","nodeType":"YulFunctionCall","src":"366323:14:21"},{"arguments":[{"name":"shift","nativeSrc":"366343:5:21","nodeType":"YulIdentifier","src":"366343:5:21"},{"arguments":[{"name":"shift","nativeSrc":"366354:5:21","nodeType":"YulIdentifier","src":"366354:5:21"},{"name":"w","nativeSrc":"366361:1:21","nodeType":"YulIdentifier","src":"366361:1:21"}],"functionName":{"name":"shr","nativeSrc":"366350:3:21","nodeType":"YulIdentifier","src":"366350:3:21"},"nativeSrc":"366350:13:21","nodeType":"YulFunctionCall","src":"366350:13:21"}],"functionName":{"name":"shl","nativeSrc":"366339:3:21","nodeType":"YulIdentifier","src":"366339:3:21"},"nativeSrc":"366339:25:21","nodeType":"YulFunctionCall","src":"366339:25:21"}],"functionName":{"name":"mstore","nativeSrc":"366316:6:21","nodeType":"YulIdentifier","src":"366316:6:21"},"nativeSrc":"366316:49:21","nodeType":"YulFunctionCall","src":"366316:49:21"},"nativeSrc":"366316:49:21","nodeType":"YulExpressionStatement","src":"366316:49:21"}]},"name":"writeString","nativeSrc":"366037:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"366058:3:21","nodeType":"YulTypedName","src":"366058:3:21","type":""},{"name":"w","nativeSrc":"366063:1:21","nodeType":"YulTypedName","src":"366063:1:21","type":""}],"src":"366037:342:21"},{"nativeSrc":"366392:17:21","nodeType":"YulAssignment","src":"366392:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"366404:4:21","nodeType":"YulLiteral","src":"366404:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"366398:5:21","nodeType":"YulIdentifier","src":"366398:5:21"},"nativeSrc":"366398:11:21","nodeType":"YulFunctionCall","src":"366398:11:21"},"variableNames":[{"name":"m0","nativeSrc":"366392:2:21","nodeType":"YulIdentifier","src":"366392:2:21"}]},{"nativeSrc":"366422:17:21","nodeType":"YulAssignment","src":"366422:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"366434:4:21","nodeType":"YulLiteral","src":"366434:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"366428:5:21","nodeType":"YulIdentifier","src":"366428:5:21"},"nativeSrc":"366428:11:21","nodeType":"YulFunctionCall","src":"366428:11:21"},"variableNames":[{"name":"m1","nativeSrc":"366422:2:21","nodeType":"YulIdentifier","src":"366422:2:21"}]},{"nativeSrc":"366452:17:21","nodeType":"YulAssignment","src":"366452:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"366464:4:21","nodeType":"YulLiteral","src":"366464:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"366458:5:21","nodeType":"YulIdentifier","src":"366458:5:21"},"nativeSrc":"366458:11:21","nodeType":"YulFunctionCall","src":"366458:11:21"},"variableNames":[{"name":"m2","nativeSrc":"366452:2:21","nodeType":"YulIdentifier","src":"366452:2:21"}]},{"nativeSrc":"366482:17:21","nodeType":"YulAssignment","src":"366482:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"366494:4:21","nodeType":"YulLiteral","src":"366494:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"366488:5:21","nodeType":"YulIdentifier","src":"366488:5:21"},"nativeSrc":"366488:11:21","nodeType":"YulFunctionCall","src":"366488:11:21"},"variableNames":[{"name":"m3","nativeSrc":"366482:2:21","nodeType":"YulIdentifier","src":"366482:2:21"}]},{"nativeSrc":"366512:17:21","nodeType":"YulAssignment","src":"366512:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"366524:4:21","nodeType":"YulLiteral","src":"366524:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"366518:5:21","nodeType":"YulIdentifier","src":"366518:5:21"},"nativeSrc":"366518:11:21","nodeType":"YulFunctionCall","src":"366518:11:21"},"variableNames":[{"name":"m4","nativeSrc":"366512:2:21","nodeType":"YulIdentifier","src":"366512:2:21"}]},{"nativeSrc":"366542:17:21","nodeType":"YulAssignment","src":"366542:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"366554:4:21","nodeType":"YulLiteral","src":"366554:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"366548:5:21","nodeType":"YulIdentifier","src":"366548:5:21"},"nativeSrc":"366548:11:21","nodeType":"YulFunctionCall","src":"366548:11:21"},"variableNames":[{"name":"m5","nativeSrc":"366542:2:21","nodeType":"YulIdentifier","src":"366542:2:21"}]},{"nativeSrc":"366572:17:21","nodeType":"YulAssignment","src":"366572:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"366584:4:21","nodeType":"YulLiteral","src":"366584:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"366578:5:21","nodeType":"YulIdentifier","src":"366578:5:21"},"nativeSrc":"366578:11:21","nodeType":"YulFunctionCall","src":"366578:11:21"},"variableNames":[{"name":"m6","nativeSrc":"366572:2:21","nodeType":"YulIdentifier","src":"366572:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366672:4:21","nodeType":"YulLiteral","src":"366672:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"366678:10:21","nodeType":"YulLiteral","src":"366678:10:21","type":"","value":"0x64b5bb67"}],"functionName":{"name":"mstore","nativeSrc":"366665:6:21","nodeType":"YulIdentifier","src":"366665:6:21"},"nativeSrc":"366665:24:21","nodeType":"YulFunctionCall","src":"366665:24:21"},"nativeSrc":"366665:24:21","nodeType":"YulExpressionStatement","src":"366665:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366709:4:21","nodeType":"YulLiteral","src":"366709:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"366715:4:21","nodeType":"YulLiteral","src":"366715:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"366702:6:21","nodeType":"YulIdentifier","src":"366702:6:21"},"nativeSrc":"366702:18:21","nodeType":"YulFunctionCall","src":"366702:18:21"},"nativeSrc":"366702:18:21","nodeType":"YulExpressionStatement","src":"366702:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366740:4:21","nodeType":"YulLiteral","src":"366740:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"366746:2:21","nodeType":"YulIdentifier","src":"366746:2:21"}],"functionName":{"name":"mstore","nativeSrc":"366733:6:21","nodeType":"YulIdentifier","src":"366733:6:21"},"nativeSrc":"366733:16:21","nodeType":"YulFunctionCall","src":"366733:16:21"},"nativeSrc":"366733:16:21","nodeType":"YulExpressionStatement","src":"366733:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366769:4:21","nodeType":"YulLiteral","src":"366769:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"366775:2:21","nodeType":"YulIdentifier","src":"366775:2:21"}],"functionName":{"name":"mstore","nativeSrc":"366762:6:21","nodeType":"YulIdentifier","src":"366762:6:21"},"nativeSrc":"366762:16:21","nodeType":"YulFunctionCall","src":"366762:16:21"},"nativeSrc":"366762:16:21","nodeType":"YulExpressionStatement","src":"366762:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366798:4:21","nodeType":"YulLiteral","src":"366798:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"366804:2:21","nodeType":"YulIdentifier","src":"366804:2:21"}],"functionName":{"name":"mstore","nativeSrc":"366791:6:21","nodeType":"YulIdentifier","src":"366791:6:21"},"nativeSrc":"366791:16:21","nodeType":"YulFunctionCall","src":"366791:16:21"},"nativeSrc":"366791:16:21","nodeType":"YulExpressionStatement","src":"366791:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366832:4:21","nodeType":"YulLiteral","src":"366832:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"366838:2:21","nodeType":"YulIdentifier","src":"366838:2:21"}],"functionName":{"name":"writeString","nativeSrc":"366820:11:21","nodeType":"YulIdentifier","src":"366820:11:21"},"nativeSrc":"366820:21:21","nodeType":"YulFunctionCall","src":"366820:21:21"},"nativeSrc":"366820:21:21","nodeType":"YulExpressionStatement","src":"366820:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38300,"isOffset":false,"isSlot":false,"src":"366392:2:21","valueSize":1},{"declaration":38303,"isOffset":false,"isSlot":false,"src":"366422:2:21","valueSize":1},{"declaration":38306,"isOffset":false,"isSlot":false,"src":"366452:2:21","valueSize":1},{"declaration":38309,"isOffset":false,"isSlot":false,"src":"366482:2:21","valueSize":1},{"declaration":38312,"isOffset":false,"isSlot":false,"src":"366512:2:21","valueSize":1},{"declaration":38315,"isOffset":false,"isSlot":false,"src":"366542:2:21","valueSize":1},{"declaration":38318,"isOffset":false,"isSlot":false,"src":"366572:2:21","valueSize":1},{"declaration":38290,"isOffset":false,"isSlot":false,"src":"366838:2:21","valueSize":1},{"declaration":38292,"isOffset":false,"isSlot":false,"src":"366746:2:21","valueSize":1},{"declaration":38294,"isOffset":false,"isSlot":false,"src":"366775:2:21","valueSize":1},{"declaration":38296,"isOffset":false,"isSlot":false,"src":"366804:2:21","valueSize":1}],"id":38320,"nodeType":"InlineAssembly","src":"366014:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"366876:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"366882:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"366860:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"366860:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38325,"nodeType":"ExpressionStatement","src":"366860:27:21"},{"AST":{"nativeSrc":"366949:214:21","nodeType":"YulBlock","src":"366949:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"366970:4:21","nodeType":"YulLiteral","src":"366970:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"366976:2:21","nodeType":"YulIdentifier","src":"366976:2:21"}],"functionName":{"name":"mstore","nativeSrc":"366963:6:21","nodeType":"YulIdentifier","src":"366963:6:21"},"nativeSrc":"366963:16:21","nodeType":"YulFunctionCall","src":"366963:16:21"},"nativeSrc":"366963:16:21","nodeType":"YulExpressionStatement","src":"366963:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366999:4:21","nodeType":"YulLiteral","src":"366999:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"367005:2:21","nodeType":"YulIdentifier","src":"367005:2:21"}],"functionName":{"name":"mstore","nativeSrc":"366992:6:21","nodeType":"YulIdentifier","src":"366992:6:21"},"nativeSrc":"366992:16:21","nodeType":"YulFunctionCall","src":"366992:16:21"},"nativeSrc":"366992:16:21","nodeType":"YulExpressionStatement","src":"366992:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367028:4:21","nodeType":"YulLiteral","src":"367028:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"367034:2:21","nodeType":"YulIdentifier","src":"367034:2:21"}],"functionName":{"name":"mstore","nativeSrc":"367021:6:21","nodeType":"YulIdentifier","src":"367021:6:21"},"nativeSrc":"367021:16:21","nodeType":"YulFunctionCall","src":"367021:16:21"},"nativeSrc":"367021:16:21","nodeType":"YulExpressionStatement","src":"367021:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367057:4:21","nodeType":"YulLiteral","src":"367057:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"367063:2:21","nodeType":"YulIdentifier","src":"367063:2:21"}],"functionName":{"name":"mstore","nativeSrc":"367050:6:21","nodeType":"YulIdentifier","src":"367050:6:21"},"nativeSrc":"367050:16:21","nodeType":"YulFunctionCall","src":"367050:16:21"},"nativeSrc":"367050:16:21","nodeType":"YulExpressionStatement","src":"367050:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367086:4:21","nodeType":"YulLiteral","src":"367086:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"367092:2:21","nodeType":"YulIdentifier","src":"367092:2:21"}],"functionName":{"name":"mstore","nativeSrc":"367079:6:21","nodeType":"YulIdentifier","src":"367079:6:21"},"nativeSrc":"367079:16:21","nodeType":"YulFunctionCall","src":"367079:16:21"},"nativeSrc":"367079:16:21","nodeType":"YulExpressionStatement","src":"367079:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367115:4:21","nodeType":"YulLiteral","src":"367115:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"367121:2:21","nodeType":"YulIdentifier","src":"367121:2:21"}],"functionName":{"name":"mstore","nativeSrc":"367108:6:21","nodeType":"YulIdentifier","src":"367108:6:21"},"nativeSrc":"367108:16:21","nodeType":"YulFunctionCall","src":"367108:16:21"},"nativeSrc":"367108:16:21","nodeType":"YulExpressionStatement","src":"367108:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367144:4:21","nodeType":"YulLiteral","src":"367144:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"367150:2:21","nodeType":"YulIdentifier","src":"367150:2:21"}],"functionName":{"name":"mstore","nativeSrc":"367137:6:21","nodeType":"YulIdentifier","src":"367137:6:21"},"nativeSrc":"367137:16:21","nodeType":"YulFunctionCall","src":"367137:16:21"},"nativeSrc":"367137:16:21","nodeType":"YulExpressionStatement","src":"367137:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38300,"isOffset":false,"isSlot":false,"src":"366976:2:21","valueSize":1},{"declaration":38303,"isOffset":false,"isSlot":false,"src":"367005:2:21","valueSize":1},{"declaration":38306,"isOffset":false,"isSlot":false,"src":"367034:2:21","valueSize":1},{"declaration":38309,"isOffset":false,"isSlot":false,"src":"367063:2:21","valueSize":1},{"declaration":38312,"isOffset":false,"isSlot":false,"src":"367092:2:21","valueSize":1},{"declaration":38315,"isOffset":false,"isSlot":false,"src":"367121:2:21","valueSize":1},{"declaration":38318,"isOffset":false,"isSlot":false,"src":"367150:2:21","valueSize":1}],"id":38326,"nodeType":"InlineAssembly","src":"366940:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"365758:3:21","parameters":{"id":38297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38290,"mutability":"mutable","name":"p0","nameLocation":"365770:2:21","nodeType":"VariableDeclaration","scope":38328,"src":"365762:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365762:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38292,"mutability":"mutable","name":"p1","nameLocation":"365779:2:21","nodeType":"VariableDeclaration","scope":38328,"src":"365774:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38291,"name":"bool","nodeType":"ElementaryTypeName","src":"365774:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38294,"mutability":"mutable","name":"p2","nameLocation":"365791:2:21","nodeType":"VariableDeclaration","scope":38328,"src":"365783:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38293,"name":"uint256","nodeType":"ElementaryTypeName","src":"365783:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38296,"mutability":"mutable","name":"p3","nameLocation":"365803:2:21","nodeType":"VariableDeclaration","scope":38328,"src":"365795:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38295,"name":"uint256","nodeType":"ElementaryTypeName","src":"365795:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"365761:45:21"},"returnParameters":{"id":38298,"nodeType":"ParameterList","parameters":[],"src":"365821:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38374,"nodeType":"FunctionDefinition","src":"367175:1616:21","nodes":[],"body":{"id":38373,"nodeType":"Block","src":"367247:1544:21","nodes":[],"statements":[{"assignments":[38340],"declarations":[{"constant":false,"id":38340,"mutability":"mutable","name":"m0","nameLocation":"367265:2:21","nodeType":"VariableDeclaration","scope":38373,"src":"367257:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367257:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38341,"nodeType":"VariableDeclarationStatement","src":"367257:10:21"},{"assignments":[38343],"declarations":[{"constant":false,"id":38343,"mutability":"mutable","name":"m1","nameLocation":"367285:2:21","nodeType":"VariableDeclaration","scope":38373,"src":"367277:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367277:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38344,"nodeType":"VariableDeclarationStatement","src":"367277:10:21"},{"assignments":[38346],"declarations":[{"constant":false,"id":38346,"mutability":"mutable","name":"m2","nameLocation":"367305:2:21","nodeType":"VariableDeclaration","scope":38373,"src":"367297:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367297:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38347,"nodeType":"VariableDeclarationStatement","src":"367297:10:21"},{"assignments":[38349],"declarations":[{"constant":false,"id":38349,"mutability":"mutable","name":"m3","nameLocation":"367325:2:21","nodeType":"VariableDeclaration","scope":38373,"src":"367317:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367317:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38350,"nodeType":"VariableDeclarationStatement","src":"367317:10:21"},{"assignments":[38352],"declarations":[{"constant":false,"id":38352,"mutability":"mutable","name":"m4","nameLocation":"367345:2:21","nodeType":"VariableDeclaration","scope":38373,"src":"367337:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367337:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38353,"nodeType":"VariableDeclarationStatement","src":"367337:10:21"},{"assignments":[38355],"declarations":[{"constant":false,"id":38355,"mutability":"mutable","name":"m5","nameLocation":"367365:2:21","nodeType":"VariableDeclaration","scope":38373,"src":"367357:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367357:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38356,"nodeType":"VariableDeclarationStatement","src":"367357:10:21"},{"assignments":[38358],"declarations":[{"constant":false,"id":38358,"mutability":"mutable","name":"m6","nameLocation":"367385:2:21","nodeType":"VariableDeclaration","scope":38373,"src":"367377:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38357,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367377:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38359,"nodeType":"VariableDeclarationStatement","src":"367377:10:21"},{"assignments":[38361],"declarations":[{"constant":false,"id":38361,"mutability":"mutable","name":"m7","nameLocation":"367405:2:21","nodeType":"VariableDeclaration","scope":38373,"src":"367397:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38360,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367397:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38362,"nodeType":"VariableDeclarationStatement","src":"367397:10:21"},{"assignments":[38364],"declarations":[{"constant":false,"id":38364,"mutability":"mutable","name":"m8","nameLocation":"367425:2:21","nodeType":"VariableDeclaration","scope":38373,"src":"367417:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367417:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38365,"nodeType":"VariableDeclarationStatement","src":"367417:10:21"},{"AST":{"nativeSrc":"367489:924:21","nodeType":"YulBlock","src":"367489:924:21","statements":[{"body":{"nativeSrc":"367532:313:21","nodeType":"YulBlock","src":"367532:313:21","statements":[{"nativeSrc":"367550:15:21","nodeType":"YulVariableDeclaration","src":"367550:15:21","value":{"kind":"number","nativeSrc":"367564:1:21","nodeType":"YulLiteral","src":"367564:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"367554:6:21","nodeType":"YulTypedName","src":"367554:6:21","type":""}]},{"body":{"nativeSrc":"367635:40:21","nodeType":"YulBlock","src":"367635:40:21","statements":[{"body":{"nativeSrc":"367664:9:21","nodeType":"YulBlock","src":"367664:9:21","statements":[{"nativeSrc":"367666:5:21","nodeType":"YulBreak","src":"367666:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"367652:6:21","nodeType":"YulIdentifier","src":"367652:6:21"},{"name":"w","nativeSrc":"367660:1:21","nodeType":"YulIdentifier","src":"367660:1:21"}],"functionName":{"name":"byte","nativeSrc":"367647:4:21","nodeType":"YulIdentifier","src":"367647:4:21"},"nativeSrc":"367647:15:21","nodeType":"YulFunctionCall","src":"367647:15:21"}],"functionName":{"name":"iszero","nativeSrc":"367640:6:21","nodeType":"YulIdentifier","src":"367640:6:21"},"nativeSrc":"367640:23:21","nodeType":"YulFunctionCall","src":"367640:23:21"},"nativeSrc":"367637:36:21","nodeType":"YulIf","src":"367637:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"367592:6:21","nodeType":"YulIdentifier","src":"367592:6:21"},{"kind":"number","nativeSrc":"367600:4:21","nodeType":"YulLiteral","src":"367600:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"367589:2:21","nodeType":"YulIdentifier","src":"367589:2:21"},"nativeSrc":"367589:16:21","nodeType":"YulFunctionCall","src":"367589:16:21"},"nativeSrc":"367582:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"367606:28:21","nodeType":"YulBlock","src":"367606:28:21","statements":[{"nativeSrc":"367608:24:21","nodeType":"YulAssignment","src":"367608:24:21","value":{"arguments":[{"name":"length","nativeSrc":"367622:6:21","nodeType":"YulIdentifier","src":"367622:6:21"},{"kind":"number","nativeSrc":"367630:1:21","nodeType":"YulLiteral","src":"367630:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"367618:3:21","nodeType":"YulIdentifier","src":"367618:3:21"},"nativeSrc":"367618:14:21","nodeType":"YulFunctionCall","src":"367618:14:21"},"variableNames":[{"name":"length","nativeSrc":"367608:6:21","nodeType":"YulIdentifier","src":"367608:6:21"}]}]},"pre":{"nativeSrc":"367586:2:21","nodeType":"YulBlock","src":"367586:2:21","statements":[]},"src":"367582:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"367699:3:21","nodeType":"YulIdentifier","src":"367699:3:21"},{"name":"length","nativeSrc":"367704:6:21","nodeType":"YulIdentifier","src":"367704:6:21"}],"functionName":{"name":"mstore","nativeSrc":"367692:6:21","nodeType":"YulIdentifier","src":"367692:6:21"},"nativeSrc":"367692:19:21","nodeType":"YulFunctionCall","src":"367692:19:21"},"nativeSrc":"367692:19:21","nodeType":"YulExpressionStatement","src":"367692:19:21"},{"nativeSrc":"367728:37:21","nodeType":"YulVariableDeclaration","src":"367728:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"367745:3:21","nodeType":"YulLiteral","src":"367745:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"367754:1:21","nodeType":"YulLiteral","src":"367754:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"367757:6:21","nodeType":"YulIdentifier","src":"367757:6:21"}],"functionName":{"name":"shl","nativeSrc":"367750:3:21","nodeType":"YulIdentifier","src":"367750:3:21"},"nativeSrc":"367750:14:21","nodeType":"YulFunctionCall","src":"367750:14:21"}],"functionName":{"name":"sub","nativeSrc":"367741:3:21","nodeType":"YulIdentifier","src":"367741:3:21"},"nativeSrc":"367741:24:21","nodeType":"YulFunctionCall","src":"367741:24:21"},"variables":[{"name":"shift","nativeSrc":"367732:5:21","nodeType":"YulTypedName","src":"367732:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"367793:3:21","nodeType":"YulIdentifier","src":"367793:3:21"},{"kind":"number","nativeSrc":"367798:4:21","nodeType":"YulLiteral","src":"367798:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"367789:3:21","nodeType":"YulIdentifier","src":"367789:3:21"},"nativeSrc":"367789:14:21","nodeType":"YulFunctionCall","src":"367789:14:21"},{"arguments":[{"name":"shift","nativeSrc":"367809:5:21","nodeType":"YulIdentifier","src":"367809:5:21"},{"arguments":[{"name":"shift","nativeSrc":"367820:5:21","nodeType":"YulIdentifier","src":"367820:5:21"},{"name":"w","nativeSrc":"367827:1:21","nodeType":"YulIdentifier","src":"367827:1:21"}],"functionName":{"name":"shr","nativeSrc":"367816:3:21","nodeType":"YulIdentifier","src":"367816:3:21"},"nativeSrc":"367816:13:21","nodeType":"YulFunctionCall","src":"367816:13:21"}],"functionName":{"name":"shl","nativeSrc":"367805:3:21","nodeType":"YulIdentifier","src":"367805:3:21"},"nativeSrc":"367805:25:21","nodeType":"YulFunctionCall","src":"367805:25:21"}],"functionName":{"name":"mstore","nativeSrc":"367782:6:21","nodeType":"YulIdentifier","src":"367782:6:21"},"nativeSrc":"367782:49:21","nodeType":"YulFunctionCall","src":"367782:49:21"},"nativeSrc":"367782:49:21","nodeType":"YulExpressionStatement","src":"367782:49:21"}]},"name":"writeString","nativeSrc":"367503:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"367524:3:21","nodeType":"YulTypedName","src":"367524:3:21","type":""},{"name":"w","nativeSrc":"367529:1:21","nodeType":"YulTypedName","src":"367529:1:21","type":""}],"src":"367503:342:21"},{"nativeSrc":"367858:17:21","nodeType":"YulAssignment","src":"367858:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"367870:4:21","nodeType":"YulLiteral","src":"367870:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"367864:5:21","nodeType":"YulIdentifier","src":"367864:5:21"},"nativeSrc":"367864:11:21","nodeType":"YulFunctionCall","src":"367864:11:21"},"variableNames":[{"name":"m0","nativeSrc":"367858:2:21","nodeType":"YulIdentifier","src":"367858:2:21"}]},{"nativeSrc":"367888:17:21","nodeType":"YulAssignment","src":"367888:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"367900:4:21","nodeType":"YulLiteral","src":"367900:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"367894:5:21","nodeType":"YulIdentifier","src":"367894:5:21"},"nativeSrc":"367894:11:21","nodeType":"YulFunctionCall","src":"367894:11:21"},"variableNames":[{"name":"m1","nativeSrc":"367888:2:21","nodeType":"YulIdentifier","src":"367888:2:21"}]},{"nativeSrc":"367918:17:21","nodeType":"YulAssignment","src":"367918:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"367930:4:21","nodeType":"YulLiteral","src":"367930:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"367924:5:21","nodeType":"YulIdentifier","src":"367924:5:21"},"nativeSrc":"367924:11:21","nodeType":"YulFunctionCall","src":"367924:11:21"},"variableNames":[{"name":"m2","nativeSrc":"367918:2:21","nodeType":"YulIdentifier","src":"367918:2:21"}]},{"nativeSrc":"367948:17:21","nodeType":"YulAssignment","src":"367948:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"367960:4:21","nodeType":"YulLiteral","src":"367960:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"367954:5:21","nodeType":"YulIdentifier","src":"367954:5:21"},"nativeSrc":"367954:11:21","nodeType":"YulFunctionCall","src":"367954:11:21"},"variableNames":[{"name":"m3","nativeSrc":"367948:2:21","nodeType":"YulIdentifier","src":"367948:2:21"}]},{"nativeSrc":"367978:17:21","nodeType":"YulAssignment","src":"367978:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"367990:4:21","nodeType":"YulLiteral","src":"367990:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"367984:5:21","nodeType":"YulIdentifier","src":"367984:5:21"},"nativeSrc":"367984:11:21","nodeType":"YulFunctionCall","src":"367984:11:21"},"variableNames":[{"name":"m4","nativeSrc":"367978:2:21","nodeType":"YulIdentifier","src":"367978:2:21"}]},{"nativeSrc":"368008:17:21","nodeType":"YulAssignment","src":"368008:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"368020:4:21","nodeType":"YulLiteral","src":"368020:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"368014:5:21","nodeType":"YulIdentifier","src":"368014:5:21"},"nativeSrc":"368014:11:21","nodeType":"YulFunctionCall","src":"368014:11:21"},"variableNames":[{"name":"m5","nativeSrc":"368008:2:21","nodeType":"YulIdentifier","src":"368008:2:21"}]},{"nativeSrc":"368038:17:21","nodeType":"YulAssignment","src":"368038:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"368050:4:21","nodeType":"YulLiteral","src":"368050:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"368044:5:21","nodeType":"YulIdentifier","src":"368044:5:21"},"nativeSrc":"368044:11:21","nodeType":"YulFunctionCall","src":"368044:11:21"},"variableNames":[{"name":"m6","nativeSrc":"368038:2:21","nodeType":"YulIdentifier","src":"368038:2:21"}]},{"nativeSrc":"368068:17:21","nodeType":"YulAssignment","src":"368068:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"368080:4:21","nodeType":"YulLiteral","src":"368080:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"368074:5:21","nodeType":"YulIdentifier","src":"368074:5:21"},"nativeSrc":"368074:11:21","nodeType":"YulFunctionCall","src":"368074:11:21"},"variableNames":[{"name":"m7","nativeSrc":"368068:2:21","nodeType":"YulIdentifier","src":"368068:2:21"}]},{"nativeSrc":"368098:18:21","nodeType":"YulAssignment","src":"368098:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"368110:5:21","nodeType":"YulLiteral","src":"368110:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"368104:5:21","nodeType":"YulIdentifier","src":"368104:5:21"},"nativeSrc":"368104:12:21","nodeType":"YulFunctionCall","src":"368104:12:21"},"variableNames":[{"name":"m8","nativeSrc":"368098:2:21","nodeType":"YulIdentifier","src":"368098:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368198:4:21","nodeType":"YulLiteral","src":"368198:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"368204:10:21","nodeType":"YulLiteral","src":"368204:10:21","type":"","value":"0x742d6ee7"}],"functionName":{"name":"mstore","nativeSrc":"368191:6:21","nodeType":"YulIdentifier","src":"368191:6:21"},"nativeSrc":"368191:24:21","nodeType":"YulFunctionCall","src":"368191:24:21"},"nativeSrc":"368191:24:21","nodeType":"YulExpressionStatement","src":"368191:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368235:4:21","nodeType":"YulLiteral","src":"368235:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"368241:4:21","nodeType":"YulLiteral","src":"368241:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"368228:6:21","nodeType":"YulIdentifier","src":"368228:6:21"},"nativeSrc":"368228:18:21","nodeType":"YulFunctionCall","src":"368228:18:21"},"nativeSrc":"368228:18:21","nodeType":"YulExpressionStatement","src":"368228:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368266:4:21","nodeType":"YulLiteral","src":"368266:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"368272:2:21","nodeType":"YulIdentifier","src":"368272:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368259:6:21","nodeType":"YulIdentifier","src":"368259:6:21"},"nativeSrc":"368259:16:21","nodeType":"YulFunctionCall","src":"368259:16:21"},"nativeSrc":"368259:16:21","nodeType":"YulExpressionStatement","src":"368259:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368295:4:21","nodeType":"YulLiteral","src":"368295:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"368301:2:21","nodeType":"YulIdentifier","src":"368301:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368288:6:21","nodeType":"YulIdentifier","src":"368288:6:21"},"nativeSrc":"368288:16:21","nodeType":"YulFunctionCall","src":"368288:16:21"},"nativeSrc":"368288:16:21","nodeType":"YulExpressionStatement","src":"368288:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368324:4:21","nodeType":"YulLiteral","src":"368324:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"368330:4:21","nodeType":"YulLiteral","src":"368330:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"368317:6:21","nodeType":"YulIdentifier","src":"368317:6:21"},"nativeSrc":"368317:18:21","nodeType":"YulFunctionCall","src":"368317:18:21"},"nativeSrc":"368317:18:21","nodeType":"YulExpressionStatement","src":"368317:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368360:4:21","nodeType":"YulLiteral","src":"368360:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"368366:2:21","nodeType":"YulIdentifier","src":"368366:2:21"}],"functionName":{"name":"writeString","nativeSrc":"368348:11:21","nodeType":"YulIdentifier","src":"368348:11:21"},"nativeSrc":"368348:21:21","nodeType":"YulFunctionCall","src":"368348:21:21"},"nativeSrc":"368348:21:21","nodeType":"YulExpressionStatement","src":"368348:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368394:4:21","nodeType":"YulLiteral","src":"368394:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"368400:2:21","nodeType":"YulIdentifier","src":"368400:2:21"}],"functionName":{"name":"writeString","nativeSrc":"368382:11:21","nodeType":"YulIdentifier","src":"368382:11:21"},"nativeSrc":"368382:21:21","nodeType":"YulFunctionCall","src":"368382:21:21"},"nativeSrc":"368382:21:21","nodeType":"YulExpressionStatement","src":"368382:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38340,"isOffset":false,"isSlot":false,"src":"367858:2:21","valueSize":1},{"declaration":38343,"isOffset":false,"isSlot":false,"src":"367888:2:21","valueSize":1},{"declaration":38346,"isOffset":false,"isSlot":false,"src":"367918:2:21","valueSize":1},{"declaration":38349,"isOffset":false,"isSlot":false,"src":"367948:2:21","valueSize":1},{"declaration":38352,"isOffset":false,"isSlot":false,"src":"367978:2:21","valueSize":1},{"declaration":38355,"isOffset":false,"isSlot":false,"src":"368008:2:21","valueSize":1},{"declaration":38358,"isOffset":false,"isSlot":false,"src":"368038:2:21","valueSize":1},{"declaration":38361,"isOffset":false,"isSlot":false,"src":"368068:2:21","valueSize":1},{"declaration":38364,"isOffset":false,"isSlot":false,"src":"368098:2:21","valueSize":1},{"declaration":38330,"isOffset":false,"isSlot":false,"src":"368366:2:21","valueSize":1},{"declaration":38332,"isOffset":false,"isSlot":false,"src":"368272:2:21","valueSize":1},{"declaration":38334,"isOffset":false,"isSlot":false,"src":"368301:2:21","valueSize":1},{"declaration":38336,"isOffset":false,"isSlot":false,"src":"368400:2:21","valueSize":1}],"id":38366,"nodeType":"InlineAssembly","src":"367480:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"368438:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"368444:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38367,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"368422:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"368422:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38371,"nodeType":"ExpressionStatement","src":"368422:28:21"},{"AST":{"nativeSrc":"368512:273:21","nodeType":"YulBlock","src":"368512:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"368533:4:21","nodeType":"YulLiteral","src":"368533:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"368539:2:21","nodeType":"YulIdentifier","src":"368539:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368526:6:21","nodeType":"YulIdentifier","src":"368526:6:21"},"nativeSrc":"368526:16:21","nodeType":"YulFunctionCall","src":"368526:16:21"},"nativeSrc":"368526:16:21","nodeType":"YulExpressionStatement","src":"368526:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368562:4:21","nodeType":"YulLiteral","src":"368562:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"368568:2:21","nodeType":"YulIdentifier","src":"368568:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368555:6:21","nodeType":"YulIdentifier","src":"368555:6:21"},"nativeSrc":"368555:16:21","nodeType":"YulFunctionCall","src":"368555:16:21"},"nativeSrc":"368555:16:21","nodeType":"YulExpressionStatement","src":"368555:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368591:4:21","nodeType":"YulLiteral","src":"368591:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"368597:2:21","nodeType":"YulIdentifier","src":"368597:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368584:6:21","nodeType":"YulIdentifier","src":"368584:6:21"},"nativeSrc":"368584:16:21","nodeType":"YulFunctionCall","src":"368584:16:21"},"nativeSrc":"368584:16:21","nodeType":"YulExpressionStatement","src":"368584:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368620:4:21","nodeType":"YulLiteral","src":"368620:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"368626:2:21","nodeType":"YulIdentifier","src":"368626:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368613:6:21","nodeType":"YulIdentifier","src":"368613:6:21"},"nativeSrc":"368613:16:21","nodeType":"YulFunctionCall","src":"368613:16:21"},"nativeSrc":"368613:16:21","nodeType":"YulExpressionStatement","src":"368613:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368649:4:21","nodeType":"YulLiteral","src":"368649:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"368655:2:21","nodeType":"YulIdentifier","src":"368655:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368642:6:21","nodeType":"YulIdentifier","src":"368642:6:21"},"nativeSrc":"368642:16:21","nodeType":"YulFunctionCall","src":"368642:16:21"},"nativeSrc":"368642:16:21","nodeType":"YulExpressionStatement","src":"368642:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368678:4:21","nodeType":"YulLiteral","src":"368678:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"368684:2:21","nodeType":"YulIdentifier","src":"368684:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368671:6:21","nodeType":"YulIdentifier","src":"368671:6:21"},"nativeSrc":"368671:16:21","nodeType":"YulFunctionCall","src":"368671:16:21"},"nativeSrc":"368671:16:21","nodeType":"YulExpressionStatement","src":"368671:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368707:4:21","nodeType":"YulLiteral","src":"368707:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"368713:2:21","nodeType":"YulIdentifier","src":"368713:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368700:6:21","nodeType":"YulIdentifier","src":"368700:6:21"},"nativeSrc":"368700:16:21","nodeType":"YulFunctionCall","src":"368700:16:21"},"nativeSrc":"368700:16:21","nodeType":"YulExpressionStatement","src":"368700:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368736:4:21","nodeType":"YulLiteral","src":"368736:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"368742:2:21","nodeType":"YulIdentifier","src":"368742:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368729:6:21","nodeType":"YulIdentifier","src":"368729:6:21"},"nativeSrc":"368729:16:21","nodeType":"YulFunctionCall","src":"368729:16:21"},"nativeSrc":"368729:16:21","nodeType":"YulExpressionStatement","src":"368729:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368765:5:21","nodeType":"YulLiteral","src":"368765:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"368772:2:21","nodeType":"YulIdentifier","src":"368772:2:21"}],"functionName":{"name":"mstore","nativeSrc":"368758:6:21","nodeType":"YulIdentifier","src":"368758:6:21"},"nativeSrc":"368758:17:21","nodeType":"YulFunctionCall","src":"368758:17:21"},"nativeSrc":"368758:17:21","nodeType":"YulExpressionStatement","src":"368758:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38340,"isOffset":false,"isSlot":false,"src":"368539:2:21","valueSize":1},{"declaration":38343,"isOffset":false,"isSlot":false,"src":"368568:2:21","valueSize":1},{"declaration":38346,"isOffset":false,"isSlot":false,"src":"368597:2:21","valueSize":1},{"declaration":38349,"isOffset":false,"isSlot":false,"src":"368626:2:21","valueSize":1},{"declaration":38352,"isOffset":false,"isSlot":false,"src":"368655:2:21","valueSize":1},{"declaration":38355,"isOffset":false,"isSlot":false,"src":"368684:2:21","valueSize":1},{"declaration":38358,"isOffset":false,"isSlot":false,"src":"368713:2:21","valueSize":1},{"declaration":38361,"isOffset":false,"isSlot":false,"src":"368742:2:21","valueSize":1},{"declaration":38364,"isOffset":false,"isSlot":false,"src":"368772:2:21","valueSize":1}],"id":38372,"nodeType":"InlineAssembly","src":"368503:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"367184:3:21","parameters":{"id":38337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38330,"mutability":"mutable","name":"p0","nameLocation":"367196:2:21","nodeType":"VariableDeclaration","scope":38374,"src":"367188:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367188:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38332,"mutability":"mutable","name":"p1","nameLocation":"367205:2:21","nodeType":"VariableDeclaration","scope":38374,"src":"367200:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38331,"name":"bool","nodeType":"ElementaryTypeName","src":"367200:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38334,"mutability":"mutable","name":"p2","nameLocation":"367217:2:21","nodeType":"VariableDeclaration","scope":38374,"src":"367209:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38333,"name":"uint256","nodeType":"ElementaryTypeName","src":"367209:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38336,"mutability":"mutable","name":"p3","nameLocation":"367229:2:21","nodeType":"VariableDeclaration","scope":38374,"src":"367221:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367221:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"367187:45:21"},"returnParameters":{"id":38338,"nodeType":"ParameterList","parameters":[],"src":"367247:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38420,"nodeType":"FunctionDefinition","src":"368797:1616:21","nodes":[],"body":{"id":38419,"nodeType":"Block","src":"368869:1544:21","nodes":[],"statements":[{"assignments":[38386],"declarations":[{"constant":false,"id":38386,"mutability":"mutable","name":"m0","nameLocation":"368887:2:21","nodeType":"VariableDeclaration","scope":38419,"src":"368879:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368879:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38387,"nodeType":"VariableDeclarationStatement","src":"368879:10:21"},{"assignments":[38389],"declarations":[{"constant":false,"id":38389,"mutability":"mutable","name":"m1","nameLocation":"368907:2:21","nodeType":"VariableDeclaration","scope":38419,"src":"368899:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368899:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38390,"nodeType":"VariableDeclarationStatement","src":"368899:10:21"},{"assignments":[38392],"declarations":[{"constant":false,"id":38392,"mutability":"mutable","name":"m2","nameLocation":"368927:2:21","nodeType":"VariableDeclaration","scope":38419,"src":"368919:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368919:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38393,"nodeType":"VariableDeclarationStatement","src":"368919:10:21"},{"assignments":[38395],"declarations":[{"constant":false,"id":38395,"mutability":"mutable","name":"m3","nameLocation":"368947:2:21","nodeType":"VariableDeclaration","scope":38419,"src":"368939:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368939:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38396,"nodeType":"VariableDeclarationStatement","src":"368939:10:21"},{"assignments":[38398],"declarations":[{"constant":false,"id":38398,"mutability":"mutable","name":"m4","nameLocation":"368967:2:21","nodeType":"VariableDeclaration","scope":38419,"src":"368959:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368959:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38399,"nodeType":"VariableDeclarationStatement","src":"368959:10:21"},{"assignments":[38401],"declarations":[{"constant":false,"id":38401,"mutability":"mutable","name":"m5","nameLocation":"368987:2:21","nodeType":"VariableDeclaration","scope":38419,"src":"368979:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38400,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368979:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38402,"nodeType":"VariableDeclarationStatement","src":"368979:10:21"},{"assignments":[38404],"declarations":[{"constant":false,"id":38404,"mutability":"mutable","name":"m6","nameLocation":"369007:2:21","nodeType":"VariableDeclaration","scope":38419,"src":"368999:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38403,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368999:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38405,"nodeType":"VariableDeclarationStatement","src":"368999:10:21"},{"assignments":[38407],"declarations":[{"constant":false,"id":38407,"mutability":"mutable","name":"m7","nameLocation":"369027:2:21","nodeType":"VariableDeclaration","scope":38419,"src":"369019:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38406,"name":"bytes32","nodeType":"ElementaryTypeName","src":"369019:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38408,"nodeType":"VariableDeclarationStatement","src":"369019:10:21"},{"assignments":[38410],"declarations":[{"constant":false,"id":38410,"mutability":"mutable","name":"m8","nameLocation":"369047:2:21","nodeType":"VariableDeclaration","scope":38419,"src":"369039:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"369039:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38411,"nodeType":"VariableDeclarationStatement","src":"369039:10:21"},{"AST":{"nativeSrc":"369111:924:21","nodeType":"YulBlock","src":"369111:924:21","statements":[{"body":{"nativeSrc":"369154:313:21","nodeType":"YulBlock","src":"369154:313:21","statements":[{"nativeSrc":"369172:15:21","nodeType":"YulVariableDeclaration","src":"369172:15:21","value":{"kind":"number","nativeSrc":"369186:1:21","nodeType":"YulLiteral","src":"369186:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"369176:6:21","nodeType":"YulTypedName","src":"369176:6:21","type":""}]},{"body":{"nativeSrc":"369257:40:21","nodeType":"YulBlock","src":"369257:40:21","statements":[{"body":{"nativeSrc":"369286:9:21","nodeType":"YulBlock","src":"369286:9:21","statements":[{"nativeSrc":"369288:5:21","nodeType":"YulBreak","src":"369288:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"369274:6:21","nodeType":"YulIdentifier","src":"369274:6:21"},{"name":"w","nativeSrc":"369282:1:21","nodeType":"YulIdentifier","src":"369282:1:21"}],"functionName":{"name":"byte","nativeSrc":"369269:4:21","nodeType":"YulIdentifier","src":"369269:4:21"},"nativeSrc":"369269:15:21","nodeType":"YulFunctionCall","src":"369269:15:21"}],"functionName":{"name":"iszero","nativeSrc":"369262:6:21","nodeType":"YulIdentifier","src":"369262:6:21"},"nativeSrc":"369262:23:21","nodeType":"YulFunctionCall","src":"369262:23:21"},"nativeSrc":"369259:36:21","nodeType":"YulIf","src":"369259:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"369214:6:21","nodeType":"YulIdentifier","src":"369214:6:21"},{"kind":"number","nativeSrc":"369222:4:21","nodeType":"YulLiteral","src":"369222:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"369211:2:21","nodeType":"YulIdentifier","src":"369211:2:21"},"nativeSrc":"369211:16:21","nodeType":"YulFunctionCall","src":"369211:16:21"},"nativeSrc":"369204:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"369228:28:21","nodeType":"YulBlock","src":"369228:28:21","statements":[{"nativeSrc":"369230:24:21","nodeType":"YulAssignment","src":"369230:24:21","value":{"arguments":[{"name":"length","nativeSrc":"369244:6:21","nodeType":"YulIdentifier","src":"369244:6:21"},{"kind":"number","nativeSrc":"369252:1:21","nodeType":"YulLiteral","src":"369252:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"369240:3:21","nodeType":"YulIdentifier","src":"369240:3:21"},"nativeSrc":"369240:14:21","nodeType":"YulFunctionCall","src":"369240:14:21"},"variableNames":[{"name":"length","nativeSrc":"369230:6:21","nodeType":"YulIdentifier","src":"369230:6:21"}]}]},"pre":{"nativeSrc":"369208:2:21","nodeType":"YulBlock","src":"369208:2:21","statements":[]},"src":"369204:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"369321:3:21","nodeType":"YulIdentifier","src":"369321:3:21"},{"name":"length","nativeSrc":"369326:6:21","nodeType":"YulIdentifier","src":"369326:6:21"}],"functionName":{"name":"mstore","nativeSrc":"369314:6:21","nodeType":"YulIdentifier","src":"369314:6:21"},"nativeSrc":"369314:19:21","nodeType":"YulFunctionCall","src":"369314:19:21"},"nativeSrc":"369314:19:21","nodeType":"YulExpressionStatement","src":"369314:19:21"},{"nativeSrc":"369350:37:21","nodeType":"YulVariableDeclaration","src":"369350:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"369367:3:21","nodeType":"YulLiteral","src":"369367:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"369376:1:21","nodeType":"YulLiteral","src":"369376:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"369379:6:21","nodeType":"YulIdentifier","src":"369379:6:21"}],"functionName":{"name":"shl","nativeSrc":"369372:3:21","nodeType":"YulIdentifier","src":"369372:3:21"},"nativeSrc":"369372:14:21","nodeType":"YulFunctionCall","src":"369372:14:21"}],"functionName":{"name":"sub","nativeSrc":"369363:3:21","nodeType":"YulIdentifier","src":"369363:3:21"},"nativeSrc":"369363:24:21","nodeType":"YulFunctionCall","src":"369363:24:21"},"variables":[{"name":"shift","nativeSrc":"369354:5:21","nodeType":"YulTypedName","src":"369354:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"369415:3:21","nodeType":"YulIdentifier","src":"369415:3:21"},{"kind":"number","nativeSrc":"369420:4:21","nodeType":"YulLiteral","src":"369420:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"369411:3:21","nodeType":"YulIdentifier","src":"369411:3:21"},"nativeSrc":"369411:14:21","nodeType":"YulFunctionCall","src":"369411:14:21"},{"arguments":[{"name":"shift","nativeSrc":"369431:5:21","nodeType":"YulIdentifier","src":"369431:5:21"},{"arguments":[{"name":"shift","nativeSrc":"369442:5:21","nodeType":"YulIdentifier","src":"369442:5:21"},{"name":"w","nativeSrc":"369449:1:21","nodeType":"YulIdentifier","src":"369449:1:21"}],"functionName":{"name":"shr","nativeSrc":"369438:3:21","nodeType":"YulIdentifier","src":"369438:3:21"},"nativeSrc":"369438:13:21","nodeType":"YulFunctionCall","src":"369438:13:21"}],"functionName":{"name":"shl","nativeSrc":"369427:3:21","nodeType":"YulIdentifier","src":"369427:3:21"},"nativeSrc":"369427:25:21","nodeType":"YulFunctionCall","src":"369427:25:21"}],"functionName":{"name":"mstore","nativeSrc":"369404:6:21","nodeType":"YulIdentifier","src":"369404:6:21"},"nativeSrc":"369404:49:21","nodeType":"YulFunctionCall","src":"369404:49:21"},"nativeSrc":"369404:49:21","nodeType":"YulExpressionStatement","src":"369404:49:21"}]},"name":"writeString","nativeSrc":"369125:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"369146:3:21","nodeType":"YulTypedName","src":"369146:3:21","type":""},{"name":"w","nativeSrc":"369151:1:21","nodeType":"YulTypedName","src":"369151:1:21","type":""}],"src":"369125:342:21"},{"nativeSrc":"369480:17:21","nodeType":"YulAssignment","src":"369480:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"369492:4:21","nodeType":"YulLiteral","src":"369492:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"369486:5:21","nodeType":"YulIdentifier","src":"369486:5:21"},"nativeSrc":"369486:11:21","nodeType":"YulFunctionCall","src":"369486:11:21"},"variableNames":[{"name":"m0","nativeSrc":"369480:2:21","nodeType":"YulIdentifier","src":"369480:2:21"}]},{"nativeSrc":"369510:17:21","nodeType":"YulAssignment","src":"369510:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"369522:4:21","nodeType":"YulLiteral","src":"369522:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"369516:5:21","nodeType":"YulIdentifier","src":"369516:5:21"},"nativeSrc":"369516:11:21","nodeType":"YulFunctionCall","src":"369516:11:21"},"variableNames":[{"name":"m1","nativeSrc":"369510:2:21","nodeType":"YulIdentifier","src":"369510:2:21"}]},{"nativeSrc":"369540:17:21","nodeType":"YulAssignment","src":"369540:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"369552:4:21","nodeType":"YulLiteral","src":"369552:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"369546:5:21","nodeType":"YulIdentifier","src":"369546:5:21"},"nativeSrc":"369546:11:21","nodeType":"YulFunctionCall","src":"369546:11:21"},"variableNames":[{"name":"m2","nativeSrc":"369540:2:21","nodeType":"YulIdentifier","src":"369540:2:21"}]},{"nativeSrc":"369570:17:21","nodeType":"YulAssignment","src":"369570:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"369582:4:21","nodeType":"YulLiteral","src":"369582:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"369576:5:21","nodeType":"YulIdentifier","src":"369576:5:21"},"nativeSrc":"369576:11:21","nodeType":"YulFunctionCall","src":"369576:11:21"},"variableNames":[{"name":"m3","nativeSrc":"369570:2:21","nodeType":"YulIdentifier","src":"369570:2:21"}]},{"nativeSrc":"369600:17:21","nodeType":"YulAssignment","src":"369600:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"369612:4:21","nodeType":"YulLiteral","src":"369612:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"369606:5:21","nodeType":"YulIdentifier","src":"369606:5:21"},"nativeSrc":"369606:11:21","nodeType":"YulFunctionCall","src":"369606:11:21"},"variableNames":[{"name":"m4","nativeSrc":"369600:2:21","nodeType":"YulIdentifier","src":"369600:2:21"}]},{"nativeSrc":"369630:17:21","nodeType":"YulAssignment","src":"369630:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"369642:4:21","nodeType":"YulLiteral","src":"369642:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"369636:5:21","nodeType":"YulIdentifier","src":"369636:5:21"},"nativeSrc":"369636:11:21","nodeType":"YulFunctionCall","src":"369636:11:21"},"variableNames":[{"name":"m5","nativeSrc":"369630:2:21","nodeType":"YulIdentifier","src":"369630:2:21"}]},{"nativeSrc":"369660:17:21","nodeType":"YulAssignment","src":"369660:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"369672:4:21","nodeType":"YulLiteral","src":"369672:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"369666:5:21","nodeType":"YulIdentifier","src":"369666:5:21"},"nativeSrc":"369666:11:21","nodeType":"YulFunctionCall","src":"369666:11:21"},"variableNames":[{"name":"m6","nativeSrc":"369660:2:21","nodeType":"YulIdentifier","src":"369660:2:21"}]},{"nativeSrc":"369690:17:21","nodeType":"YulAssignment","src":"369690:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"369702:4:21","nodeType":"YulLiteral","src":"369702:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"369696:5:21","nodeType":"YulIdentifier","src":"369696:5:21"},"nativeSrc":"369696:11:21","nodeType":"YulFunctionCall","src":"369696:11:21"},"variableNames":[{"name":"m7","nativeSrc":"369690:2:21","nodeType":"YulIdentifier","src":"369690:2:21"}]},{"nativeSrc":"369720:18:21","nodeType":"YulAssignment","src":"369720:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"369732:5:21","nodeType":"YulLiteral","src":"369732:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"369726:5:21","nodeType":"YulIdentifier","src":"369726:5:21"},"nativeSrc":"369726:12:21","nodeType":"YulFunctionCall","src":"369726:12:21"},"variableNames":[{"name":"m8","nativeSrc":"369720:2:21","nodeType":"YulIdentifier","src":"369720:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369820:4:21","nodeType":"YulLiteral","src":"369820:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"369826:10:21","nodeType":"YulLiteral","src":"369826:10:21","type":"","value":"0xe0625b29"}],"functionName":{"name":"mstore","nativeSrc":"369813:6:21","nodeType":"YulIdentifier","src":"369813:6:21"},"nativeSrc":"369813:24:21","nodeType":"YulFunctionCall","src":"369813:24:21"},"nativeSrc":"369813:24:21","nodeType":"YulExpressionStatement","src":"369813:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369857:4:21","nodeType":"YulLiteral","src":"369857:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"369863:4:21","nodeType":"YulLiteral","src":"369863:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"369850:6:21","nodeType":"YulIdentifier","src":"369850:6:21"},"nativeSrc":"369850:18:21","nodeType":"YulFunctionCall","src":"369850:18:21"},"nativeSrc":"369850:18:21","nodeType":"YulExpressionStatement","src":"369850:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369888:4:21","nodeType":"YulLiteral","src":"369888:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"369894:2:21","nodeType":"YulIdentifier","src":"369894:2:21"}],"functionName":{"name":"mstore","nativeSrc":"369881:6:21","nodeType":"YulIdentifier","src":"369881:6:21"},"nativeSrc":"369881:16:21","nodeType":"YulFunctionCall","src":"369881:16:21"},"nativeSrc":"369881:16:21","nodeType":"YulExpressionStatement","src":"369881:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369917:4:21","nodeType":"YulLiteral","src":"369917:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"369923:4:21","nodeType":"YulLiteral","src":"369923:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"369910:6:21","nodeType":"YulIdentifier","src":"369910:6:21"},"nativeSrc":"369910:18:21","nodeType":"YulFunctionCall","src":"369910:18:21"},"nativeSrc":"369910:18:21","nodeType":"YulExpressionStatement","src":"369910:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369948:4:21","nodeType":"YulLiteral","src":"369948:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"369954:2:21","nodeType":"YulIdentifier","src":"369954:2:21"}],"functionName":{"name":"mstore","nativeSrc":"369941:6:21","nodeType":"YulIdentifier","src":"369941:6:21"},"nativeSrc":"369941:16:21","nodeType":"YulFunctionCall","src":"369941:16:21"},"nativeSrc":"369941:16:21","nodeType":"YulExpressionStatement","src":"369941:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369982:4:21","nodeType":"YulLiteral","src":"369982:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"369988:2:21","nodeType":"YulIdentifier","src":"369988:2:21"}],"functionName":{"name":"writeString","nativeSrc":"369970:11:21","nodeType":"YulIdentifier","src":"369970:11:21"},"nativeSrc":"369970:21:21","nodeType":"YulFunctionCall","src":"369970:21:21"},"nativeSrc":"369970:21:21","nodeType":"YulExpressionStatement","src":"369970:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370016:4:21","nodeType":"YulLiteral","src":"370016:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"370022:2:21","nodeType":"YulIdentifier","src":"370022:2:21"}],"functionName":{"name":"writeString","nativeSrc":"370004:11:21","nodeType":"YulIdentifier","src":"370004:11:21"},"nativeSrc":"370004:21:21","nodeType":"YulFunctionCall","src":"370004:21:21"},"nativeSrc":"370004:21:21","nodeType":"YulExpressionStatement","src":"370004:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38386,"isOffset":false,"isSlot":false,"src":"369480:2:21","valueSize":1},{"declaration":38389,"isOffset":false,"isSlot":false,"src":"369510:2:21","valueSize":1},{"declaration":38392,"isOffset":false,"isSlot":false,"src":"369540:2:21","valueSize":1},{"declaration":38395,"isOffset":false,"isSlot":false,"src":"369570:2:21","valueSize":1},{"declaration":38398,"isOffset":false,"isSlot":false,"src":"369600:2:21","valueSize":1},{"declaration":38401,"isOffset":false,"isSlot":false,"src":"369630:2:21","valueSize":1},{"declaration":38404,"isOffset":false,"isSlot":false,"src":"369660:2:21","valueSize":1},{"declaration":38407,"isOffset":false,"isSlot":false,"src":"369690:2:21","valueSize":1},{"declaration":38410,"isOffset":false,"isSlot":false,"src":"369720:2:21","valueSize":1},{"declaration":38376,"isOffset":false,"isSlot":false,"src":"369988:2:21","valueSize":1},{"declaration":38378,"isOffset":false,"isSlot":false,"src":"369894:2:21","valueSize":1},{"declaration":38380,"isOffset":false,"isSlot":false,"src":"370022:2:21","valueSize":1},{"declaration":38382,"isOffset":false,"isSlot":false,"src":"369954:2:21","valueSize":1}],"id":38412,"nodeType":"InlineAssembly","src":"369102:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"370060:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"370066:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38413,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"370044:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"370044:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38417,"nodeType":"ExpressionStatement","src":"370044:28:21"},{"AST":{"nativeSrc":"370134:273:21","nodeType":"YulBlock","src":"370134:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"370155:4:21","nodeType":"YulLiteral","src":"370155:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"370161:2:21","nodeType":"YulIdentifier","src":"370161:2:21"}],"functionName":{"name":"mstore","nativeSrc":"370148:6:21","nodeType":"YulIdentifier","src":"370148:6:21"},"nativeSrc":"370148:16:21","nodeType":"YulFunctionCall","src":"370148:16:21"},"nativeSrc":"370148:16:21","nodeType":"YulExpressionStatement","src":"370148:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370184:4:21","nodeType":"YulLiteral","src":"370184:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"370190:2:21","nodeType":"YulIdentifier","src":"370190:2:21"}],"functionName":{"name":"mstore","nativeSrc":"370177:6:21","nodeType":"YulIdentifier","src":"370177:6:21"},"nativeSrc":"370177:16:21","nodeType":"YulFunctionCall","src":"370177:16:21"},"nativeSrc":"370177:16:21","nodeType":"YulExpressionStatement","src":"370177:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370213:4:21","nodeType":"YulLiteral","src":"370213:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"370219:2:21","nodeType":"YulIdentifier","src":"370219:2:21"}],"functionName":{"name":"mstore","nativeSrc":"370206:6:21","nodeType":"YulIdentifier","src":"370206:6:21"},"nativeSrc":"370206:16:21","nodeType":"YulFunctionCall","src":"370206:16:21"},"nativeSrc":"370206:16:21","nodeType":"YulExpressionStatement","src":"370206:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370242:4:21","nodeType":"YulLiteral","src":"370242:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"370248:2:21","nodeType":"YulIdentifier","src":"370248:2:21"}],"functionName":{"name":"mstore","nativeSrc":"370235:6:21","nodeType":"YulIdentifier","src":"370235:6:21"},"nativeSrc":"370235:16:21","nodeType":"YulFunctionCall","src":"370235:16:21"},"nativeSrc":"370235:16:21","nodeType":"YulExpressionStatement","src":"370235:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370271:4:21","nodeType":"YulLiteral","src":"370271:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"370277:2:21","nodeType":"YulIdentifier","src":"370277:2:21"}],"functionName":{"name":"mstore","nativeSrc":"370264:6:21","nodeType":"YulIdentifier","src":"370264:6:21"},"nativeSrc":"370264:16:21","nodeType":"YulFunctionCall","src":"370264:16:21"},"nativeSrc":"370264:16:21","nodeType":"YulExpressionStatement","src":"370264:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370300:4:21","nodeType":"YulLiteral","src":"370300:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"370306:2:21","nodeType":"YulIdentifier","src":"370306:2:21"}],"functionName":{"name":"mstore","nativeSrc":"370293:6:21","nodeType":"YulIdentifier","src":"370293:6:21"},"nativeSrc":"370293:16:21","nodeType":"YulFunctionCall","src":"370293:16:21"},"nativeSrc":"370293:16:21","nodeType":"YulExpressionStatement","src":"370293:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370329:4:21","nodeType":"YulLiteral","src":"370329:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"370335:2:21","nodeType":"YulIdentifier","src":"370335:2:21"}],"functionName":{"name":"mstore","nativeSrc":"370322:6:21","nodeType":"YulIdentifier","src":"370322:6:21"},"nativeSrc":"370322:16:21","nodeType":"YulFunctionCall","src":"370322:16:21"},"nativeSrc":"370322:16:21","nodeType":"YulExpressionStatement","src":"370322:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370358:4:21","nodeType":"YulLiteral","src":"370358:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"370364:2:21","nodeType":"YulIdentifier","src":"370364:2:21"}],"functionName":{"name":"mstore","nativeSrc":"370351:6:21","nodeType":"YulIdentifier","src":"370351:6:21"},"nativeSrc":"370351:16:21","nodeType":"YulFunctionCall","src":"370351:16:21"},"nativeSrc":"370351:16:21","nodeType":"YulExpressionStatement","src":"370351:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370387:5:21","nodeType":"YulLiteral","src":"370387:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"370394:2:21","nodeType":"YulIdentifier","src":"370394:2:21"}],"functionName":{"name":"mstore","nativeSrc":"370380:6:21","nodeType":"YulIdentifier","src":"370380:6:21"},"nativeSrc":"370380:17:21","nodeType":"YulFunctionCall","src":"370380:17:21"},"nativeSrc":"370380:17:21","nodeType":"YulExpressionStatement","src":"370380:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38386,"isOffset":false,"isSlot":false,"src":"370161:2:21","valueSize":1},{"declaration":38389,"isOffset":false,"isSlot":false,"src":"370190:2:21","valueSize":1},{"declaration":38392,"isOffset":false,"isSlot":false,"src":"370219:2:21","valueSize":1},{"declaration":38395,"isOffset":false,"isSlot":false,"src":"370248:2:21","valueSize":1},{"declaration":38398,"isOffset":false,"isSlot":false,"src":"370277:2:21","valueSize":1},{"declaration":38401,"isOffset":false,"isSlot":false,"src":"370306:2:21","valueSize":1},{"declaration":38404,"isOffset":false,"isSlot":false,"src":"370335:2:21","valueSize":1},{"declaration":38407,"isOffset":false,"isSlot":false,"src":"370364:2:21","valueSize":1},{"declaration":38410,"isOffset":false,"isSlot":false,"src":"370394:2:21","valueSize":1}],"id":38418,"nodeType":"InlineAssembly","src":"370125:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"368806:3:21","parameters":{"id":38383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38376,"mutability":"mutable","name":"p0","nameLocation":"368818:2:21","nodeType":"VariableDeclaration","scope":38420,"src":"368810:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368810:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38378,"mutability":"mutable","name":"p1","nameLocation":"368827:2:21","nodeType":"VariableDeclaration","scope":38420,"src":"368822:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38377,"name":"bool","nodeType":"ElementaryTypeName","src":"368822:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38380,"mutability":"mutable","name":"p2","nameLocation":"368839:2:21","nodeType":"VariableDeclaration","scope":38420,"src":"368831:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368831:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38382,"mutability":"mutable","name":"p3","nameLocation":"368851:2:21","nodeType":"VariableDeclaration","scope":38420,"src":"368843:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38381,"name":"address","nodeType":"ElementaryTypeName","src":"368843:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"368809:45:21"},"returnParameters":{"id":38384,"nodeType":"ParameterList","parameters":[],"src":"368869:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38466,"nodeType":"FunctionDefinition","src":"370419:1610:21","nodes":[],"body":{"id":38465,"nodeType":"Block","src":"370488:1541:21","nodes":[],"statements":[{"assignments":[38432],"declarations":[{"constant":false,"id":38432,"mutability":"mutable","name":"m0","nameLocation":"370506:2:21","nodeType":"VariableDeclaration","scope":38465,"src":"370498:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370498:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38433,"nodeType":"VariableDeclarationStatement","src":"370498:10:21"},{"assignments":[38435],"declarations":[{"constant":false,"id":38435,"mutability":"mutable","name":"m1","nameLocation":"370526:2:21","nodeType":"VariableDeclaration","scope":38465,"src":"370518:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370518:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38436,"nodeType":"VariableDeclarationStatement","src":"370518:10:21"},{"assignments":[38438],"declarations":[{"constant":false,"id":38438,"mutability":"mutable","name":"m2","nameLocation":"370546:2:21","nodeType":"VariableDeclaration","scope":38465,"src":"370538:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370538:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38439,"nodeType":"VariableDeclarationStatement","src":"370538:10:21"},{"assignments":[38441],"declarations":[{"constant":false,"id":38441,"mutability":"mutable","name":"m3","nameLocation":"370566:2:21","nodeType":"VariableDeclaration","scope":38465,"src":"370558:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370558:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38442,"nodeType":"VariableDeclarationStatement","src":"370558:10:21"},{"assignments":[38444],"declarations":[{"constant":false,"id":38444,"mutability":"mutable","name":"m4","nameLocation":"370586:2:21","nodeType":"VariableDeclaration","scope":38465,"src":"370578:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370578:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38445,"nodeType":"VariableDeclarationStatement","src":"370578:10:21"},{"assignments":[38447],"declarations":[{"constant":false,"id":38447,"mutability":"mutable","name":"m5","nameLocation":"370606:2:21","nodeType":"VariableDeclaration","scope":38465,"src":"370598:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370598:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38448,"nodeType":"VariableDeclarationStatement","src":"370598:10:21"},{"assignments":[38450],"declarations":[{"constant":false,"id":38450,"mutability":"mutable","name":"m6","nameLocation":"370626:2:21","nodeType":"VariableDeclaration","scope":38465,"src":"370618:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370618:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38451,"nodeType":"VariableDeclarationStatement","src":"370618:10:21"},{"assignments":[38453],"declarations":[{"constant":false,"id":38453,"mutability":"mutable","name":"m7","nameLocation":"370646:2:21","nodeType":"VariableDeclaration","scope":38465,"src":"370638:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370638:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38454,"nodeType":"VariableDeclarationStatement","src":"370638:10:21"},{"assignments":[38456],"declarations":[{"constant":false,"id":38456,"mutability":"mutable","name":"m8","nameLocation":"370666:2:21","nodeType":"VariableDeclaration","scope":38465,"src":"370658:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370658:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38457,"nodeType":"VariableDeclarationStatement","src":"370658:10:21"},{"AST":{"nativeSrc":"370730:921:21","nodeType":"YulBlock","src":"370730:921:21","statements":[{"body":{"nativeSrc":"370773:313:21","nodeType":"YulBlock","src":"370773:313:21","statements":[{"nativeSrc":"370791:15:21","nodeType":"YulVariableDeclaration","src":"370791:15:21","value":{"kind":"number","nativeSrc":"370805:1:21","nodeType":"YulLiteral","src":"370805:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"370795:6:21","nodeType":"YulTypedName","src":"370795:6:21","type":""}]},{"body":{"nativeSrc":"370876:40:21","nodeType":"YulBlock","src":"370876:40:21","statements":[{"body":{"nativeSrc":"370905:9:21","nodeType":"YulBlock","src":"370905:9:21","statements":[{"nativeSrc":"370907:5:21","nodeType":"YulBreak","src":"370907:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"370893:6:21","nodeType":"YulIdentifier","src":"370893:6:21"},{"name":"w","nativeSrc":"370901:1:21","nodeType":"YulIdentifier","src":"370901:1:21"}],"functionName":{"name":"byte","nativeSrc":"370888:4:21","nodeType":"YulIdentifier","src":"370888:4:21"},"nativeSrc":"370888:15:21","nodeType":"YulFunctionCall","src":"370888:15:21"}],"functionName":{"name":"iszero","nativeSrc":"370881:6:21","nodeType":"YulIdentifier","src":"370881:6:21"},"nativeSrc":"370881:23:21","nodeType":"YulFunctionCall","src":"370881:23:21"},"nativeSrc":"370878:36:21","nodeType":"YulIf","src":"370878:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"370833:6:21","nodeType":"YulIdentifier","src":"370833:6:21"},{"kind":"number","nativeSrc":"370841:4:21","nodeType":"YulLiteral","src":"370841:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"370830:2:21","nodeType":"YulIdentifier","src":"370830:2:21"},"nativeSrc":"370830:16:21","nodeType":"YulFunctionCall","src":"370830:16:21"},"nativeSrc":"370823:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"370847:28:21","nodeType":"YulBlock","src":"370847:28:21","statements":[{"nativeSrc":"370849:24:21","nodeType":"YulAssignment","src":"370849:24:21","value":{"arguments":[{"name":"length","nativeSrc":"370863:6:21","nodeType":"YulIdentifier","src":"370863:6:21"},{"kind":"number","nativeSrc":"370871:1:21","nodeType":"YulLiteral","src":"370871:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"370859:3:21","nodeType":"YulIdentifier","src":"370859:3:21"},"nativeSrc":"370859:14:21","nodeType":"YulFunctionCall","src":"370859:14:21"},"variableNames":[{"name":"length","nativeSrc":"370849:6:21","nodeType":"YulIdentifier","src":"370849:6:21"}]}]},"pre":{"nativeSrc":"370827:2:21","nodeType":"YulBlock","src":"370827:2:21","statements":[]},"src":"370823:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"370940:3:21","nodeType":"YulIdentifier","src":"370940:3:21"},{"name":"length","nativeSrc":"370945:6:21","nodeType":"YulIdentifier","src":"370945:6:21"}],"functionName":{"name":"mstore","nativeSrc":"370933:6:21","nodeType":"YulIdentifier","src":"370933:6:21"},"nativeSrc":"370933:19:21","nodeType":"YulFunctionCall","src":"370933:19:21"},"nativeSrc":"370933:19:21","nodeType":"YulExpressionStatement","src":"370933:19:21"},{"nativeSrc":"370969:37:21","nodeType":"YulVariableDeclaration","src":"370969:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"370986:3:21","nodeType":"YulLiteral","src":"370986:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"370995:1:21","nodeType":"YulLiteral","src":"370995:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"370998:6:21","nodeType":"YulIdentifier","src":"370998:6:21"}],"functionName":{"name":"shl","nativeSrc":"370991:3:21","nodeType":"YulIdentifier","src":"370991:3:21"},"nativeSrc":"370991:14:21","nodeType":"YulFunctionCall","src":"370991:14:21"}],"functionName":{"name":"sub","nativeSrc":"370982:3:21","nodeType":"YulIdentifier","src":"370982:3:21"},"nativeSrc":"370982:24:21","nodeType":"YulFunctionCall","src":"370982:24:21"},"variables":[{"name":"shift","nativeSrc":"370973:5:21","nodeType":"YulTypedName","src":"370973:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"371034:3:21","nodeType":"YulIdentifier","src":"371034:3:21"},{"kind":"number","nativeSrc":"371039:4:21","nodeType":"YulLiteral","src":"371039:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"371030:3:21","nodeType":"YulIdentifier","src":"371030:3:21"},"nativeSrc":"371030:14:21","nodeType":"YulFunctionCall","src":"371030:14:21"},{"arguments":[{"name":"shift","nativeSrc":"371050:5:21","nodeType":"YulIdentifier","src":"371050:5:21"},{"arguments":[{"name":"shift","nativeSrc":"371061:5:21","nodeType":"YulIdentifier","src":"371061:5:21"},{"name":"w","nativeSrc":"371068:1:21","nodeType":"YulIdentifier","src":"371068:1:21"}],"functionName":{"name":"shr","nativeSrc":"371057:3:21","nodeType":"YulIdentifier","src":"371057:3:21"},"nativeSrc":"371057:13:21","nodeType":"YulFunctionCall","src":"371057:13:21"}],"functionName":{"name":"shl","nativeSrc":"371046:3:21","nodeType":"YulIdentifier","src":"371046:3:21"},"nativeSrc":"371046:25:21","nodeType":"YulFunctionCall","src":"371046:25:21"}],"functionName":{"name":"mstore","nativeSrc":"371023:6:21","nodeType":"YulIdentifier","src":"371023:6:21"},"nativeSrc":"371023:49:21","nodeType":"YulFunctionCall","src":"371023:49:21"},"nativeSrc":"371023:49:21","nodeType":"YulExpressionStatement","src":"371023:49:21"}]},"name":"writeString","nativeSrc":"370744:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"370765:3:21","nodeType":"YulTypedName","src":"370765:3:21","type":""},{"name":"w","nativeSrc":"370770:1:21","nodeType":"YulTypedName","src":"370770:1:21","type":""}],"src":"370744:342:21"},{"nativeSrc":"371099:17:21","nodeType":"YulAssignment","src":"371099:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"371111:4:21","nodeType":"YulLiteral","src":"371111:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"371105:5:21","nodeType":"YulIdentifier","src":"371105:5:21"},"nativeSrc":"371105:11:21","nodeType":"YulFunctionCall","src":"371105:11:21"},"variableNames":[{"name":"m0","nativeSrc":"371099:2:21","nodeType":"YulIdentifier","src":"371099:2:21"}]},{"nativeSrc":"371129:17:21","nodeType":"YulAssignment","src":"371129:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"371141:4:21","nodeType":"YulLiteral","src":"371141:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"371135:5:21","nodeType":"YulIdentifier","src":"371135:5:21"},"nativeSrc":"371135:11:21","nodeType":"YulFunctionCall","src":"371135:11:21"},"variableNames":[{"name":"m1","nativeSrc":"371129:2:21","nodeType":"YulIdentifier","src":"371129:2:21"}]},{"nativeSrc":"371159:17:21","nodeType":"YulAssignment","src":"371159:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"371171:4:21","nodeType":"YulLiteral","src":"371171:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"371165:5:21","nodeType":"YulIdentifier","src":"371165:5:21"},"nativeSrc":"371165:11:21","nodeType":"YulFunctionCall","src":"371165:11:21"},"variableNames":[{"name":"m2","nativeSrc":"371159:2:21","nodeType":"YulIdentifier","src":"371159:2:21"}]},{"nativeSrc":"371189:17:21","nodeType":"YulAssignment","src":"371189:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"371201:4:21","nodeType":"YulLiteral","src":"371201:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"371195:5:21","nodeType":"YulIdentifier","src":"371195:5:21"},"nativeSrc":"371195:11:21","nodeType":"YulFunctionCall","src":"371195:11:21"},"variableNames":[{"name":"m3","nativeSrc":"371189:2:21","nodeType":"YulIdentifier","src":"371189:2:21"}]},{"nativeSrc":"371219:17:21","nodeType":"YulAssignment","src":"371219:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"371231:4:21","nodeType":"YulLiteral","src":"371231:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"371225:5:21","nodeType":"YulIdentifier","src":"371225:5:21"},"nativeSrc":"371225:11:21","nodeType":"YulFunctionCall","src":"371225:11:21"},"variableNames":[{"name":"m4","nativeSrc":"371219:2:21","nodeType":"YulIdentifier","src":"371219:2:21"}]},{"nativeSrc":"371249:17:21","nodeType":"YulAssignment","src":"371249:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"371261:4:21","nodeType":"YulLiteral","src":"371261:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"371255:5:21","nodeType":"YulIdentifier","src":"371255:5:21"},"nativeSrc":"371255:11:21","nodeType":"YulFunctionCall","src":"371255:11:21"},"variableNames":[{"name":"m5","nativeSrc":"371249:2:21","nodeType":"YulIdentifier","src":"371249:2:21"}]},{"nativeSrc":"371279:17:21","nodeType":"YulAssignment","src":"371279:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"371291:4:21","nodeType":"YulLiteral","src":"371291:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"371285:5:21","nodeType":"YulIdentifier","src":"371285:5:21"},"nativeSrc":"371285:11:21","nodeType":"YulFunctionCall","src":"371285:11:21"},"variableNames":[{"name":"m6","nativeSrc":"371279:2:21","nodeType":"YulIdentifier","src":"371279:2:21"}]},{"nativeSrc":"371309:17:21","nodeType":"YulAssignment","src":"371309:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"371321:4:21","nodeType":"YulLiteral","src":"371321:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"371315:5:21","nodeType":"YulIdentifier","src":"371315:5:21"},"nativeSrc":"371315:11:21","nodeType":"YulFunctionCall","src":"371315:11:21"},"variableNames":[{"name":"m7","nativeSrc":"371309:2:21","nodeType":"YulIdentifier","src":"371309:2:21"}]},{"nativeSrc":"371339:18:21","nodeType":"YulAssignment","src":"371339:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"371351:5:21","nodeType":"YulLiteral","src":"371351:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"371345:5:21","nodeType":"YulIdentifier","src":"371345:5:21"},"nativeSrc":"371345:12:21","nodeType":"YulFunctionCall","src":"371345:12:21"},"variableNames":[{"name":"m8","nativeSrc":"371339:2:21","nodeType":"YulIdentifier","src":"371339:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371436:4:21","nodeType":"YulLiteral","src":"371436:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"371442:10:21","nodeType":"YulLiteral","src":"371442:10:21","type":"","value":"0x3f8a701d"}],"functionName":{"name":"mstore","nativeSrc":"371429:6:21","nodeType":"YulIdentifier","src":"371429:6:21"},"nativeSrc":"371429:24:21","nodeType":"YulFunctionCall","src":"371429:24:21"},"nativeSrc":"371429:24:21","nodeType":"YulExpressionStatement","src":"371429:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371473:4:21","nodeType":"YulLiteral","src":"371473:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"371479:4:21","nodeType":"YulLiteral","src":"371479:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"371466:6:21","nodeType":"YulIdentifier","src":"371466:6:21"},"nativeSrc":"371466:18:21","nodeType":"YulFunctionCall","src":"371466:18:21"},"nativeSrc":"371466:18:21","nodeType":"YulExpressionStatement","src":"371466:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371504:4:21","nodeType":"YulLiteral","src":"371504:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"371510:2:21","nodeType":"YulIdentifier","src":"371510:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371497:6:21","nodeType":"YulIdentifier","src":"371497:6:21"},"nativeSrc":"371497:16:21","nodeType":"YulFunctionCall","src":"371497:16:21"},"nativeSrc":"371497:16:21","nodeType":"YulExpressionStatement","src":"371497:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371533:4:21","nodeType":"YulLiteral","src":"371533:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"371539:4:21","nodeType":"YulLiteral","src":"371539:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"371526:6:21","nodeType":"YulIdentifier","src":"371526:6:21"},"nativeSrc":"371526:18:21","nodeType":"YulFunctionCall","src":"371526:18:21"},"nativeSrc":"371526:18:21","nodeType":"YulExpressionStatement","src":"371526:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371564:4:21","nodeType":"YulLiteral","src":"371564:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"371570:2:21","nodeType":"YulIdentifier","src":"371570:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371557:6:21","nodeType":"YulIdentifier","src":"371557:6:21"},"nativeSrc":"371557:16:21","nodeType":"YulFunctionCall","src":"371557:16:21"},"nativeSrc":"371557:16:21","nodeType":"YulExpressionStatement","src":"371557:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371598:4:21","nodeType":"YulLiteral","src":"371598:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"371604:2:21","nodeType":"YulIdentifier","src":"371604:2:21"}],"functionName":{"name":"writeString","nativeSrc":"371586:11:21","nodeType":"YulIdentifier","src":"371586:11:21"},"nativeSrc":"371586:21:21","nodeType":"YulFunctionCall","src":"371586:21:21"},"nativeSrc":"371586:21:21","nodeType":"YulExpressionStatement","src":"371586:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371632:4:21","nodeType":"YulLiteral","src":"371632:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"371638:2:21","nodeType":"YulIdentifier","src":"371638:2:21"}],"functionName":{"name":"writeString","nativeSrc":"371620:11:21","nodeType":"YulIdentifier","src":"371620:11:21"},"nativeSrc":"371620:21:21","nodeType":"YulFunctionCall","src":"371620:21:21"},"nativeSrc":"371620:21:21","nodeType":"YulExpressionStatement","src":"371620:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38432,"isOffset":false,"isSlot":false,"src":"371099:2:21","valueSize":1},{"declaration":38435,"isOffset":false,"isSlot":false,"src":"371129:2:21","valueSize":1},{"declaration":38438,"isOffset":false,"isSlot":false,"src":"371159:2:21","valueSize":1},{"declaration":38441,"isOffset":false,"isSlot":false,"src":"371189:2:21","valueSize":1},{"declaration":38444,"isOffset":false,"isSlot":false,"src":"371219:2:21","valueSize":1},{"declaration":38447,"isOffset":false,"isSlot":false,"src":"371249:2:21","valueSize":1},{"declaration":38450,"isOffset":false,"isSlot":false,"src":"371279:2:21","valueSize":1},{"declaration":38453,"isOffset":false,"isSlot":false,"src":"371309:2:21","valueSize":1},{"declaration":38456,"isOffset":false,"isSlot":false,"src":"371339:2:21","valueSize":1},{"declaration":38422,"isOffset":false,"isSlot":false,"src":"371604:2:21","valueSize":1},{"declaration":38424,"isOffset":false,"isSlot":false,"src":"371510:2:21","valueSize":1},{"declaration":38426,"isOffset":false,"isSlot":false,"src":"371638:2:21","valueSize":1},{"declaration":38428,"isOffset":false,"isSlot":false,"src":"371570:2:21","valueSize":1}],"id":38458,"nodeType":"InlineAssembly","src":"370721:930:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"371676:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"371682:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38459,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"371660:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"371660:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38463,"nodeType":"ExpressionStatement","src":"371660:28:21"},{"AST":{"nativeSrc":"371750:273:21","nodeType":"YulBlock","src":"371750:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"371771:4:21","nodeType":"YulLiteral","src":"371771:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"371777:2:21","nodeType":"YulIdentifier","src":"371777:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371764:6:21","nodeType":"YulIdentifier","src":"371764:6:21"},"nativeSrc":"371764:16:21","nodeType":"YulFunctionCall","src":"371764:16:21"},"nativeSrc":"371764:16:21","nodeType":"YulExpressionStatement","src":"371764:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371800:4:21","nodeType":"YulLiteral","src":"371800:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"371806:2:21","nodeType":"YulIdentifier","src":"371806:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371793:6:21","nodeType":"YulIdentifier","src":"371793:6:21"},"nativeSrc":"371793:16:21","nodeType":"YulFunctionCall","src":"371793:16:21"},"nativeSrc":"371793:16:21","nodeType":"YulExpressionStatement","src":"371793:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371829:4:21","nodeType":"YulLiteral","src":"371829:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"371835:2:21","nodeType":"YulIdentifier","src":"371835:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371822:6:21","nodeType":"YulIdentifier","src":"371822:6:21"},"nativeSrc":"371822:16:21","nodeType":"YulFunctionCall","src":"371822:16:21"},"nativeSrc":"371822:16:21","nodeType":"YulExpressionStatement","src":"371822:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371858:4:21","nodeType":"YulLiteral","src":"371858:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"371864:2:21","nodeType":"YulIdentifier","src":"371864:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371851:6:21","nodeType":"YulIdentifier","src":"371851:6:21"},"nativeSrc":"371851:16:21","nodeType":"YulFunctionCall","src":"371851:16:21"},"nativeSrc":"371851:16:21","nodeType":"YulExpressionStatement","src":"371851:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371887:4:21","nodeType":"YulLiteral","src":"371887:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"371893:2:21","nodeType":"YulIdentifier","src":"371893:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371880:6:21","nodeType":"YulIdentifier","src":"371880:6:21"},"nativeSrc":"371880:16:21","nodeType":"YulFunctionCall","src":"371880:16:21"},"nativeSrc":"371880:16:21","nodeType":"YulExpressionStatement","src":"371880:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371916:4:21","nodeType":"YulLiteral","src":"371916:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"371922:2:21","nodeType":"YulIdentifier","src":"371922:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371909:6:21","nodeType":"YulIdentifier","src":"371909:6:21"},"nativeSrc":"371909:16:21","nodeType":"YulFunctionCall","src":"371909:16:21"},"nativeSrc":"371909:16:21","nodeType":"YulExpressionStatement","src":"371909:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371945:4:21","nodeType":"YulLiteral","src":"371945:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"371951:2:21","nodeType":"YulIdentifier","src":"371951:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371938:6:21","nodeType":"YulIdentifier","src":"371938:6:21"},"nativeSrc":"371938:16:21","nodeType":"YulFunctionCall","src":"371938:16:21"},"nativeSrc":"371938:16:21","nodeType":"YulExpressionStatement","src":"371938:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371974:4:21","nodeType":"YulLiteral","src":"371974:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"371980:2:21","nodeType":"YulIdentifier","src":"371980:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371967:6:21","nodeType":"YulIdentifier","src":"371967:6:21"},"nativeSrc":"371967:16:21","nodeType":"YulFunctionCall","src":"371967:16:21"},"nativeSrc":"371967:16:21","nodeType":"YulExpressionStatement","src":"371967:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"372003:5:21","nodeType":"YulLiteral","src":"372003:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"372010:2:21","nodeType":"YulIdentifier","src":"372010:2:21"}],"functionName":{"name":"mstore","nativeSrc":"371996:6:21","nodeType":"YulIdentifier","src":"371996:6:21"},"nativeSrc":"371996:17:21","nodeType":"YulFunctionCall","src":"371996:17:21"},"nativeSrc":"371996:17:21","nodeType":"YulExpressionStatement","src":"371996:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38432,"isOffset":false,"isSlot":false,"src":"371777:2:21","valueSize":1},{"declaration":38435,"isOffset":false,"isSlot":false,"src":"371806:2:21","valueSize":1},{"declaration":38438,"isOffset":false,"isSlot":false,"src":"371835:2:21","valueSize":1},{"declaration":38441,"isOffset":false,"isSlot":false,"src":"371864:2:21","valueSize":1},{"declaration":38444,"isOffset":false,"isSlot":false,"src":"371893:2:21","valueSize":1},{"declaration":38447,"isOffset":false,"isSlot":false,"src":"371922:2:21","valueSize":1},{"declaration":38450,"isOffset":false,"isSlot":false,"src":"371951:2:21","valueSize":1},{"declaration":38453,"isOffset":false,"isSlot":false,"src":"371980:2:21","valueSize":1},{"declaration":38456,"isOffset":false,"isSlot":false,"src":"372010:2:21","valueSize":1}],"id":38464,"nodeType":"InlineAssembly","src":"371741:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"370428:3:21","parameters":{"id":38429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38422,"mutability":"mutable","name":"p0","nameLocation":"370440:2:21","nodeType":"VariableDeclaration","scope":38466,"src":"370432:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370432:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38424,"mutability":"mutable","name":"p1","nameLocation":"370449:2:21","nodeType":"VariableDeclaration","scope":38466,"src":"370444:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38423,"name":"bool","nodeType":"ElementaryTypeName","src":"370444:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38426,"mutability":"mutable","name":"p2","nameLocation":"370461:2:21","nodeType":"VariableDeclaration","scope":38466,"src":"370453:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370453:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38428,"mutability":"mutable","name":"p3","nameLocation":"370470:2:21","nodeType":"VariableDeclaration","scope":38466,"src":"370465:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38427,"name":"bool","nodeType":"ElementaryTypeName","src":"370465:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"370431:42:21"},"returnParameters":{"id":38430,"nodeType":"ParameterList","parameters":[],"src":"370488:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38512,"nodeType":"FunctionDefinition","src":"372035:1616:21","nodes":[],"body":{"id":38511,"nodeType":"Block","src":"372107:1544:21","nodes":[],"statements":[{"assignments":[38478],"declarations":[{"constant":false,"id":38478,"mutability":"mutable","name":"m0","nameLocation":"372125:2:21","nodeType":"VariableDeclaration","scope":38511,"src":"372117:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372117:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38479,"nodeType":"VariableDeclarationStatement","src":"372117:10:21"},{"assignments":[38481],"declarations":[{"constant":false,"id":38481,"mutability":"mutable","name":"m1","nameLocation":"372145:2:21","nodeType":"VariableDeclaration","scope":38511,"src":"372137:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372137:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38482,"nodeType":"VariableDeclarationStatement","src":"372137:10:21"},{"assignments":[38484],"declarations":[{"constant":false,"id":38484,"mutability":"mutable","name":"m2","nameLocation":"372165:2:21","nodeType":"VariableDeclaration","scope":38511,"src":"372157:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38483,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372157:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38485,"nodeType":"VariableDeclarationStatement","src":"372157:10:21"},{"assignments":[38487],"declarations":[{"constant":false,"id":38487,"mutability":"mutable","name":"m3","nameLocation":"372185:2:21","nodeType":"VariableDeclaration","scope":38511,"src":"372177:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38486,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372177:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38488,"nodeType":"VariableDeclarationStatement","src":"372177:10:21"},{"assignments":[38490],"declarations":[{"constant":false,"id":38490,"mutability":"mutable","name":"m4","nameLocation":"372205:2:21","nodeType":"VariableDeclaration","scope":38511,"src":"372197:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372197:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38491,"nodeType":"VariableDeclarationStatement","src":"372197:10:21"},{"assignments":[38493],"declarations":[{"constant":false,"id":38493,"mutability":"mutable","name":"m5","nameLocation":"372225:2:21","nodeType":"VariableDeclaration","scope":38511,"src":"372217:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372217:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38494,"nodeType":"VariableDeclarationStatement","src":"372217:10:21"},{"assignments":[38496],"declarations":[{"constant":false,"id":38496,"mutability":"mutable","name":"m6","nameLocation":"372245:2:21","nodeType":"VariableDeclaration","scope":38511,"src":"372237:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372237:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38497,"nodeType":"VariableDeclarationStatement","src":"372237:10:21"},{"assignments":[38499],"declarations":[{"constant":false,"id":38499,"mutability":"mutable","name":"m7","nameLocation":"372265:2:21","nodeType":"VariableDeclaration","scope":38511,"src":"372257:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372257:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38500,"nodeType":"VariableDeclarationStatement","src":"372257:10:21"},{"assignments":[38502],"declarations":[{"constant":false,"id":38502,"mutability":"mutable","name":"m8","nameLocation":"372285:2:21","nodeType":"VariableDeclaration","scope":38511,"src":"372277:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372277:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38503,"nodeType":"VariableDeclarationStatement","src":"372277:10:21"},{"AST":{"nativeSrc":"372349:924:21","nodeType":"YulBlock","src":"372349:924:21","statements":[{"body":{"nativeSrc":"372392:313:21","nodeType":"YulBlock","src":"372392:313:21","statements":[{"nativeSrc":"372410:15:21","nodeType":"YulVariableDeclaration","src":"372410:15:21","value":{"kind":"number","nativeSrc":"372424:1:21","nodeType":"YulLiteral","src":"372424:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"372414:6:21","nodeType":"YulTypedName","src":"372414:6:21","type":""}]},{"body":{"nativeSrc":"372495:40:21","nodeType":"YulBlock","src":"372495:40:21","statements":[{"body":{"nativeSrc":"372524:9:21","nodeType":"YulBlock","src":"372524:9:21","statements":[{"nativeSrc":"372526:5:21","nodeType":"YulBreak","src":"372526:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"372512:6:21","nodeType":"YulIdentifier","src":"372512:6:21"},{"name":"w","nativeSrc":"372520:1:21","nodeType":"YulIdentifier","src":"372520:1:21"}],"functionName":{"name":"byte","nativeSrc":"372507:4:21","nodeType":"YulIdentifier","src":"372507:4:21"},"nativeSrc":"372507:15:21","nodeType":"YulFunctionCall","src":"372507:15:21"}],"functionName":{"name":"iszero","nativeSrc":"372500:6:21","nodeType":"YulIdentifier","src":"372500:6:21"},"nativeSrc":"372500:23:21","nodeType":"YulFunctionCall","src":"372500:23:21"},"nativeSrc":"372497:36:21","nodeType":"YulIf","src":"372497:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"372452:6:21","nodeType":"YulIdentifier","src":"372452:6:21"},{"kind":"number","nativeSrc":"372460:4:21","nodeType":"YulLiteral","src":"372460:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"372449:2:21","nodeType":"YulIdentifier","src":"372449:2:21"},"nativeSrc":"372449:16:21","nodeType":"YulFunctionCall","src":"372449:16:21"},"nativeSrc":"372442:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"372466:28:21","nodeType":"YulBlock","src":"372466:28:21","statements":[{"nativeSrc":"372468:24:21","nodeType":"YulAssignment","src":"372468:24:21","value":{"arguments":[{"name":"length","nativeSrc":"372482:6:21","nodeType":"YulIdentifier","src":"372482:6:21"},{"kind":"number","nativeSrc":"372490:1:21","nodeType":"YulLiteral","src":"372490:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"372478:3:21","nodeType":"YulIdentifier","src":"372478:3:21"},"nativeSrc":"372478:14:21","nodeType":"YulFunctionCall","src":"372478:14:21"},"variableNames":[{"name":"length","nativeSrc":"372468:6:21","nodeType":"YulIdentifier","src":"372468:6:21"}]}]},"pre":{"nativeSrc":"372446:2:21","nodeType":"YulBlock","src":"372446:2:21","statements":[]},"src":"372442:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"372559:3:21","nodeType":"YulIdentifier","src":"372559:3:21"},{"name":"length","nativeSrc":"372564:6:21","nodeType":"YulIdentifier","src":"372564:6:21"}],"functionName":{"name":"mstore","nativeSrc":"372552:6:21","nodeType":"YulIdentifier","src":"372552:6:21"},"nativeSrc":"372552:19:21","nodeType":"YulFunctionCall","src":"372552:19:21"},"nativeSrc":"372552:19:21","nodeType":"YulExpressionStatement","src":"372552:19:21"},{"nativeSrc":"372588:37:21","nodeType":"YulVariableDeclaration","src":"372588:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"372605:3:21","nodeType":"YulLiteral","src":"372605:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"372614:1:21","nodeType":"YulLiteral","src":"372614:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"372617:6:21","nodeType":"YulIdentifier","src":"372617:6:21"}],"functionName":{"name":"shl","nativeSrc":"372610:3:21","nodeType":"YulIdentifier","src":"372610:3:21"},"nativeSrc":"372610:14:21","nodeType":"YulFunctionCall","src":"372610:14:21"}],"functionName":{"name":"sub","nativeSrc":"372601:3:21","nodeType":"YulIdentifier","src":"372601:3:21"},"nativeSrc":"372601:24:21","nodeType":"YulFunctionCall","src":"372601:24:21"},"variables":[{"name":"shift","nativeSrc":"372592:5:21","nodeType":"YulTypedName","src":"372592:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"372653:3:21","nodeType":"YulIdentifier","src":"372653:3:21"},{"kind":"number","nativeSrc":"372658:4:21","nodeType":"YulLiteral","src":"372658:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"372649:3:21","nodeType":"YulIdentifier","src":"372649:3:21"},"nativeSrc":"372649:14:21","nodeType":"YulFunctionCall","src":"372649:14:21"},{"arguments":[{"name":"shift","nativeSrc":"372669:5:21","nodeType":"YulIdentifier","src":"372669:5:21"},{"arguments":[{"name":"shift","nativeSrc":"372680:5:21","nodeType":"YulIdentifier","src":"372680:5:21"},{"name":"w","nativeSrc":"372687:1:21","nodeType":"YulIdentifier","src":"372687:1:21"}],"functionName":{"name":"shr","nativeSrc":"372676:3:21","nodeType":"YulIdentifier","src":"372676:3:21"},"nativeSrc":"372676:13:21","nodeType":"YulFunctionCall","src":"372676:13:21"}],"functionName":{"name":"shl","nativeSrc":"372665:3:21","nodeType":"YulIdentifier","src":"372665:3:21"},"nativeSrc":"372665:25:21","nodeType":"YulFunctionCall","src":"372665:25:21"}],"functionName":{"name":"mstore","nativeSrc":"372642:6:21","nodeType":"YulIdentifier","src":"372642:6:21"},"nativeSrc":"372642:49:21","nodeType":"YulFunctionCall","src":"372642:49:21"},"nativeSrc":"372642:49:21","nodeType":"YulExpressionStatement","src":"372642:49:21"}]},"name":"writeString","nativeSrc":"372363:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"372384:3:21","nodeType":"YulTypedName","src":"372384:3:21","type":""},{"name":"w","nativeSrc":"372389:1:21","nodeType":"YulTypedName","src":"372389:1:21","type":""}],"src":"372363:342:21"},{"nativeSrc":"372718:17:21","nodeType":"YulAssignment","src":"372718:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"372730:4:21","nodeType":"YulLiteral","src":"372730:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"372724:5:21","nodeType":"YulIdentifier","src":"372724:5:21"},"nativeSrc":"372724:11:21","nodeType":"YulFunctionCall","src":"372724:11:21"},"variableNames":[{"name":"m0","nativeSrc":"372718:2:21","nodeType":"YulIdentifier","src":"372718:2:21"}]},{"nativeSrc":"372748:17:21","nodeType":"YulAssignment","src":"372748:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"372760:4:21","nodeType":"YulLiteral","src":"372760:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"372754:5:21","nodeType":"YulIdentifier","src":"372754:5:21"},"nativeSrc":"372754:11:21","nodeType":"YulFunctionCall","src":"372754:11:21"},"variableNames":[{"name":"m1","nativeSrc":"372748:2:21","nodeType":"YulIdentifier","src":"372748:2:21"}]},{"nativeSrc":"372778:17:21","nodeType":"YulAssignment","src":"372778:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"372790:4:21","nodeType":"YulLiteral","src":"372790:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"372784:5:21","nodeType":"YulIdentifier","src":"372784:5:21"},"nativeSrc":"372784:11:21","nodeType":"YulFunctionCall","src":"372784:11:21"},"variableNames":[{"name":"m2","nativeSrc":"372778:2:21","nodeType":"YulIdentifier","src":"372778:2:21"}]},{"nativeSrc":"372808:17:21","nodeType":"YulAssignment","src":"372808:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"372820:4:21","nodeType":"YulLiteral","src":"372820:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"372814:5:21","nodeType":"YulIdentifier","src":"372814:5:21"},"nativeSrc":"372814:11:21","nodeType":"YulFunctionCall","src":"372814:11:21"},"variableNames":[{"name":"m3","nativeSrc":"372808:2:21","nodeType":"YulIdentifier","src":"372808:2:21"}]},{"nativeSrc":"372838:17:21","nodeType":"YulAssignment","src":"372838:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"372850:4:21","nodeType":"YulLiteral","src":"372850:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"372844:5:21","nodeType":"YulIdentifier","src":"372844:5:21"},"nativeSrc":"372844:11:21","nodeType":"YulFunctionCall","src":"372844:11:21"},"variableNames":[{"name":"m4","nativeSrc":"372838:2:21","nodeType":"YulIdentifier","src":"372838:2:21"}]},{"nativeSrc":"372868:17:21","nodeType":"YulAssignment","src":"372868:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"372880:4:21","nodeType":"YulLiteral","src":"372880:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"372874:5:21","nodeType":"YulIdentifier","src":"372874:5:21"},"nativeSrc":"372874:11:21","nodeType":"YulFunctionCall","src":"372874:11:21"},"variableNames":[{"name":"m5","nativeSrc":"372868:2:21","nodeType":"YulIdentifier","src":"372868:2:21"}]},{"nativeSrc":"372898:17:21","nodeType":"YulAssignment","src":"372898:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"372910:4:21","nodeType":"YulLiteral","src":"372910:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"372904:5:21","nodeType":"YulIdentifier","src":"372904:5:21"},"nativeSrc":"372904:11:21","nodeType":"YulFunctionCall","src":"372904:11:21"},"variableNames":[{"name":"m6","nativeSrc":"372898:2:21","nodeType":"YulIdentifier","src":"372898:2:21"}]},{"nativeSrc":"372928:17:21","nodeType":"YulAssignment","src":"372928:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"372940:4:21","nodeType":"YulLiteral","src":"372940:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"372934:5:21","nodeType":"YulIdentifier","src":"372934:5:21"},"nativeSrc":"372934:11:21","nodeType":"YulFunctionCall","src":"372934:11:21"},"variableNames":[{"name":"m7","nativeSrc":"372928:2:21","nodeType":"YulIdentifier","src":"372928:2:21"}]},{"nativeSrc":"372958:18:21","nodeType":"YulAssignment","src":"372958:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"372970:5:21","nodeType":"YulLiteral","src":"372970:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"372964:5:21","nodeType":"YulIdentifier","src":"372964:5:21"},"nativeSrc":"372964:12:21","nodeType":"YulFunctionCall","src":"372964:12:21"},"variableNames":[{"name":"m8","nativeSrc":"372958:2:21","nodeType":"YulIdentifier","src":"372958:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373058:4:21","nodeType":"YulLiteral","src":"373058:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"373064:10:21","nodeType":"YulLiteral","src":"373064:10:21","type":"","value":"0x24f91465"}],"functionName":{"name":"mstore","nativeSrc":"373051:6:21","nodeType":"YulIdentifier","src":"373051:6:21"},"nativeSrc":"373051:24:21","nodeType":"YulFunctionCall","src":"373051:24:21"},"nativeSrc":"373051:24:21","nodeType":"YulExpressionStatement","src":"373051:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373095:4:21","nodeType":"YulLiteral","src":"373095:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"373101:4:21","nodeType":"YulLiteral","src":"373101:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"373088:6:21","nodeType":"YulIdentifier","src":"373088:6:21"},"nativeSrc":"373088:18:21","nodeType":"YulFunctionCall","src":"373088:18:21"},"nativeSrc":"373088:18:21","nodeType":"YulExpressionStatement","src":"373088:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373126:4:21","nodeType":"YulLiteral","src":"373126:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"373132:2:21","nodeType":"YulIdentifier","src":"373132:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373119:6:21","nodeType":"YulIdentifier","src":"373119:6:21"},"nativeSrc":"373119:16:21","nodeType":"YulFunctionCall","src":"373119:16:21"},"nativeSrc":"373119:16:21","nodeType":"YulExpressionStatement","src":"373119:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373155:4:21","nodeType":"YulLiteral","src":"373155:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"373161:4:21","nodeType":"YulLiteral","src":"373161:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"373148:6:21","nodeType":"YulIdentifier","src":"373148:6:21"},"nativeSrc":"373148:18:21","nodeType":"YulFunctionCall","src":"373148:18:21"},"nativeSrc":"373148:18:21","nodeType":"YulExpressionStatement","src":"373148:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373186:4:21","nodeType":"YulLiteral","src":"373186:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"373192:2:21","nodeType":"YulIdentifier","src":"373192:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373179:6:21","nodeType":"YulIdentifier","src":"373179:6:21"},"nativeSrc":"373179:16:21","nodeType":"YulFunctionCall","src":"373179:16:21"},"nativeSrc":"373179:16:21","nodeType":"YulExpressionStatement","src":"373179:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373220:4:21","nodeType":"YulLiteral","src":"373220:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"373226:2:21","nodeType":"YulIdentifier","src":"373226:2:21"}],"functionName":{"name":"writeString","nativeSrc":"373208:11:21","nodeType":"YulIdentifier","src":"373208:11:21"},"nativeSrc":"373208:21:21","nodeType":"YulFunctionCall","src":"373208:21:21"},"nativeSrc":"373208:21:21","nodeType":"YulExpressionStatement","src":"373208:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373254:4:21","nodeType":"YulLiteral","src":"373254:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"373260:2:21","nodeType":"YulIdentifier","src":"373260:2:21"}],"functionName":{"name":"writeString","nativeSrc":"373242:11:21","nodeType":"YulIdentifier","src":"373242:11:21"},"nativeSrc":"373242:21:21","nodeType":"YulFunctionCall","src":"373242:21:21"},"nativeSrc":"373242:21:21","nodeType":"YulExpressionStatement","src":"373242:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38478,"isOffset":false,"isSlot":false,"src":"372718:2:21","valueSize":1},{"declaration":38481,"isOffset":false,"isSlot":false,"src":"372748:2:21","valueSize":1},{"declaration":38484,"isOffset":false,"isSlot":false,"src":"372778:2:21","valueSize":1},{"declaration":38487,"isOffset":false,"isSlot":false,"src":"372808:2:21","valueSize":1},{"declaration":38490,"isOffset":false,"isSlot":false,"src":"372838:2:21","valueSize":1},{"declaration":38493,"isOffset":false,"isSlot":false,"src":"372868:2:21","valueSize":1},{"declaration":38496,"isOffset":false,"isSlot":false,"src":"372898:2:21","valueSize":1},{"declaration":38499,"isOffset":false,"isSlot":false,"src":"372928:2:21","valueSize":1},{"declaration":38502,"isOffset":false,"isSlot":false,"src":"372958:2:21","valueSize":1},{"declaration":38468,"isOffset":false,"isSlot":false,"src":"373226:2:21","valueSize":1},{"declaration":38470,"isOffset":false,"isSlot":false,"src":"373132:2:21","valueSize":1},{"declaration":38472,"isOffset":false,"isSlot":false,"src":"373260:2:21","valueSize":1},{"declaration":38474,"isOffset":false,"isSlot":false,"src":"373192:2:21","valueSize":1}],"id":38504,"nodeType":"InlineAssembly","src":"372340:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"373298:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"373304:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"373282:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"373282:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38509,"nodeType":"ExpressionStatement","src":"373282:28:21"},{"AST":{"nativeSrc":"373372:273:21","nodeType":"YulBlock","src":"373372:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"373393:4:21","nodeType":"YulLiteral","src":"373393:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"373399:2:21","nodeType":"YulIdentifier","src":"373399:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373386:6:21","nodeType":"YulIdentifier","src":"373386:6:21"},"nativeSrc":"373386:16:21","nodeType":"YulFunctionCall","src":"373386:16:21"},"nativeSrc":"373386:16:21","nodeType":"YulExpressionStatement","src":"373386:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373422:4:21","nodeType":"YulLiteral","src":"373422:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"373428:2:21","nodeType":"YulIdentifier","src":"373428:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373415:6:21","nodeType":"YulIdentifier","src":"373415:6:21"},"nativeSrc":"373415:16:21","nodeType":"YulFunctionCall","src":"373415:16:21"},"nativeSrc":"373415:16:21","nodeType":"YulExpressionStatement","src":"373415:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373451:4:21","nodeType":"YulLiteral","src":"373451:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"373457:2:21","nodeType":"YulIdentifier","src":"373457:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373444:6:21","nodeType":"YulIdentifier","src":"373444:6:21"},"nativeSrc":"373444:16:21","nodeType":"YulFunctionCall","src":"373444:16:21"},"nativeSrc":"373444:16:21","nodeType":"YulExpressionStatement","src":"373444:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373480:4:21","nodeType":"YulLiteral","src":"373480:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"373486:2:21","nodeType":"YulIdentifier","src":"373486:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373473:6:21","nodeType":"YulIdentifier","src":"373473:6:21"},"nativeSrc":"373473:16:21","nodeType":"YulFunctionCall","src":"373473:16:21"},"nativeSrc":"373473:16:21","nodeType":"YulExpressionStatement","src":"373473:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373509:4:21","nodeType":"YulLiteral","src":"373509:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"373515:2:21","nodeType":"YulIdentifier","src":"373515:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373502:6:21","nodeType":"YulIdentifier","src":"373502:6:21"},"nativeSrc":"373502:16:21","nodeType":"YulFunctionCall","src":"373502:16:21"},"nativeSrc":"373502:16:21","nodeType":"YulExpressionStatement","src":"373502:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373538:4:21","nodeType":"YulLiteral","src":"373538:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"373544:2:21","nodeType":"YulIdentifier","src":"373544:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373531:6:21","nodeType":"YulIdentifier","src":"373531:6:21"},"nativeSrc":"373531:16:21","nodeType":"YulFunctionCall","src":"373531:16:21"},"nativeSrc":"373531:16:21","nodeType":"YulExpressionStatement","src":"373531:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373567:4:21","nodeType":"YulLiteral","src":"373567:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"373573:2:21","nodeType":"YulIdentifier","src":"373573:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373560:6:21","nodeType":"YulIdentifier","src":"373560:6:21"},"nativeSrc":"373560:16:21","nodeType":"YulFunctionCall","src":"373560:16:21"},"nativeSrc":"373560:16:21","nodeType":"YulExpressionStatement","src":"373560:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373596:4:21","nodeType":"YulLiteral","src":"373596:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"373602:2:21","nodeType":"YulIdentifier","src":"373602:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373589:6:21","nodeType":"YulIdentifier","src":"373589:6:21"},"nativeSrc":"373589:16:21","nodeType":"YulFunctionCall","src":"373589:16:21"},"nativeSrc":"373589:16:21","nodeType":"YulExpressionStatement","src":"373589:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373625:5:21","nodeType":"YulLiteral","src":"373625:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"373632:2:21","nodeType":"YulIdentifier","src":"373632:2:21"}],"functionName":{"name":"mstore","nativeSrc":"373618:6:21","nodeType":"YulIdentifier","src":"373618:6:21"},"nativeSrc":"373618:17:21","nodeType":"YulFunctionCall","src":"373618:17:21"},"nativeSrc":"373618:17:21","nodeType":"YulExpressionStatement","src":"373618:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38478,"isOffset":false,"isSlot":false,"src":"373399:2:21","valueSize":1},{"declaration":38481,"isOffset":false,"isSlot":false,"src":"373428:2:21","valueSize":1},{"declaration":38484,"isOffset":false,"isSlot":false,"src":"373457:2:21","valueSize":1},{"declaration":38487,"isOffset":false,"isSlot":false,"src":"373486:2:21","valueSize":1},{"declaration":38490,"isOffset":false,"isSlot":false,"src":"373515:2:21","valueSize":1},{"declaration":38493,"isOffset":false,"isSlot":false,"src":"373544:2:21","valueSize":1},{"declaration":38496,"isOffset":false,"isSlot":false,"src":"373573:2:21","valueSize":1},{"declaration":38499,"isOffset":false,"isSlot":false,"src":"373602:2:21","valueSize":1},{"declaration":38502,"isOffset":false,"isSlot":false,"src":"373632:2:21","valueSize":1}],"id":38510,"nodeType":"InlineAssembly","src":"373363:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"372044:3:21","parameters":{"id":38475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38468,"mutability":"mutable","name":"p0","nameLocation":"372056:2:21","nodeType":"VariableDeclaration","scope":38512,"src":"372048:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372048:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38470,"mutability":"mutable","name":"p1","nameLocation":"372065:2:21","nodeType":"VariableDeclaration","scope":38512,"src":"372060:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38469,"name":"bool","nodeType":"ElementaryTypeName","src":"372060:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38472,"mutability":"mutable","name":"p2","nameLocation":"372077:2:21","nodeType":"VariableDeclaration","scope":38512,"src":"372069:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372069:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38474,"mutability":"mutable","name":"p3","nameLocation":"372089:2:21","nodeType":"VariableDeclaration","scope":38512,"src":"372081:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38473,"name":"uint256","nodeType":"ElementaryTypeName","src":"372081:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"372047:45:21"},"returnParameters":{"id":38476,"nodeType":"ParameterList","parameters":[],"src":"372107:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38564,"nodeType":"FunctionDefinition","src":"373657:1818:21","nodes":[],"body":{"id":38563,"nodeType":"Block","src":"373729:1746:21","nodes":[],"statements":[{"assignments":[38524],"declarations":[{"constant":false,"id":38524,"mutability":"mutable","name":"m0","nameLocation":"373747:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373739:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373739:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38525,"nodeType":"VariableDeclarationStatement","src":"373739:10:21"},{"assignments":[38527],"declarations":[{"constant":false,"id":38527,"mutability":"mutable","name":"m1","nameLocation":"373767:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373759:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38526,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373759:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38528,"nodeType":"VariableDeclarationStatement","src":"373759:10:21"},{"assignments":[38530],"declarations":[{"constant":false,"id":38530,"mutability":"mutable","name":"m2","nameLocation":"373787:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373779:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373779:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38531,"nodeType":"VariableDeclarationStatement","src":"373779:10:21"},{"assignments":[38533],"declarations":[{"constant":false,"id":38533,"mutability":"mutable","name":"m3","nameLocation":"373807:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373799:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373799:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38534,"nodeType":"VariableDeclarationStatement","src":"373799:10:21"},{"assignments":[38536],"declarations":[{"constant":false,"id":38536,"mutability":"mutable","name":"m4","nameLocation":"373827:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373819:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38535,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373819:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38537,"nodeType":"VariableDeclarationStatement","src":"373819:10:21"},{"assignments":[38539],"declarations":[{"constant":false,"id":38539,"mutability":"mutable","name":"m5","nameLocation":"373847:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373839:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373839:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38540,"nodeType":"VariableDeclarationStatement","src":"373839:10:21"},{"assignments":[38542],"declarations":[{"constant":false,"id":38542,"mutability":"mutable","name":"m6","nameLocation":"373867:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373859:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373859:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38543,"nodeType":"VariableDeclarationStatement","src":"373859:10:21"},{"assignments":[38545],"declarations":[{"constant":false,"id":38545,"mutability":"mutable","name":"m7","nameLocation":"373887:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373879:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373879:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38546,"nodeType":"VariableDeclarationStatement","src":"373879:10:21"},{"assignments":[38548],"declarations":[{"constant":false,"id":38548,"mutability":"mutable","name":"m8","nameLocation":"373907:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373899:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373899:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38549,"nodeType":"VariableDeclarationStatement","src":"373899:10:21"},{"assignments":[38551],"declarations":[{"constant":false,"id":38551,"mutability":"mutable","name":"m9","nameLocation":"373927:2:21","nodeType":"VariableDeclaration","scope":38563,"src":"373919:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373919:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38552,"nodeType":"VariableDeclarationStatement","src":"373919:10:21"},{"assignments":[38554],"declarations":[{"constant":false,"id":38554,"mutability":"mutable","name":"m10","nameLocation":"373947:3:21","nodeType":"VariableDeclaration","scope":38563,"src":"373939:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373939:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38555,"nodeType":"VariableDeclarationStatement","src":"373939:11:21"},{"AST":{"nativeSrc":"374012:1024:21","nodeType":"YulBlock","src":"374012:1024:21","statements":[{"body":{"nativeSrc":"374055:313:21","nodeType":"YulBlock","src":"374055:313:21","statements":[{"nativeSrc":"374073:15:21","nodeType":"YulVariableDeclaration","src":"374073:15:21","value":{"kind":"number","nativeSrc":"374087:1:21","nodeType":"YulLiteral","src":"374087:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"374077:6:21","nodeType":"YulTypedName","src":"374077:6:21","type":""}]},{"body":{"nativeSrc":"374158:40:21","nodeType":"YulBlock","src":"374158:40:21","statements":[{"body":{"nativeSrc":"374187:9:21","nodeType":"YulBlock","src":"374187:9:21","statements":[{"nativeSrc":"374189:5:21","nodeType":"YulBreak","src":"374189:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"374175:6:21","nodeType":"YulIdentifier","src":"374175:6:21"},{"name":"w","nativeSrc":"374183:1:21","nodeType":"YulIdentifier","src":"374183:1:21"}],"functionName":{"name":"byte","nativeSrc":"374170:4:21","nodeType":"YulIdentifier","src":"374170:4:21"},"nativeSrc":"374170:15:21","nodeType":"YulFunctionCall","src":"374170:15:21"}],"functionName":{"name":"iszero","nativeSrc":"374163:6:21","nodeType":"YulIdentifier","src":"374163:6:21"},"nativeSrc":"374163:23:21","nodeType":"YulFunctionCall","src":"374163:23:21"},"nativeSrc":"374160:36:21","nodeType":"YulIf","src":"374160:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"374115:6:21","nodeType":"YulIdentifier","src":"374115:6:21"},{"kind":"number","nativeSrc":"374123:4:21","nodeType":"YulLiteral","src":"374123:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"374112:2:21","nodeType":"YulIdentifier","src":"374112:2:21"},"nativeSrc":"374112:16:21","nodeType":"YulFunctionCall","src":"374112:16:21"},"nativeSrc":"374105:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"374129:28:21","nodeType":"YulBlock","src":"374129:28:21","statements":[{"nativeSrc":"374131:24:21","nodeType":"YulAssignment","src":"374131:24:21","value":{"arguments":[{"name":"length","nativeSrc":"374145:6:21","nodeType":"YulIdentifier","src":"374145:6:21"},{"kind":"number","nativeSrc":"374153:1:21","nodeType":"YulLiteral","src":"374153:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"374141:3:21","nodeType":"YulIdentifier","src":"374141:3:21"},"nativeSrc":"374141:14:21","nodeType":"YulFunctionCall","src":"374141:14:21"},"variableNames":[{"name":"length","nativeSrc":"374131:6:21","nodeType":"YulIdentifier","src":"374131:6:21"}]}]},"pre":{"nativeSrc":"374109:2:21","nodeType":"YulBlock","src":"374109:2:21","statements":[]},"src":"374105:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"374222:3:21","nodeType":"YulIdentifier","src":"374222:3:21"},{"name":"length","nativeSrc":"374227:6:21","nodeType":"YulIdentifier","src":"374227:6:21"}],"functionName":{"name":"mstore","nativeSrc":"374215:6:21","nodeType":"YulIdentifier","src":"374215:6:21"},"nativeSrc":"374215:19:21","nodeType":"YulFunctionCall","src":"374215:19:21"},"nativeSrc":"374215:19:21","nodeType":"YulExpressionStatement","src":"374215:19:21"},{"nativeSrc":"374251:37:21","nodeType":"YulVariableDeclaration","src":"374251:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"374268:3:21","nodeType":"YulLiteral","src":"374268:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"374277:1:21","nodeType":"YulLiteral","src":"374277:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"374280:6:21","nodeType":"YulIdentifier","src":"374280:6:21"}],"functionName":{"name":"shl","nativeSrc":"374273:3:21","nodeType":"YulIdentifier","src":"374273:3:21"},"nativeSrc":"374273:14:21","nodeType":"YulFunctionCall","src":"374273:14:21"}],"functionName":{"name":"sub","nativeSrc":"374264:3:21","nodeType":"YulIdentifier","src":"374264:3:21"},"nativeSrc":"374264:24:21","nodeType":"YulFunctionCall","src":"374264:24:21"},"variables":[{"name":"shift","nativeSrc":"374255:5:21","nodeType":"YulTypedName","src":"374255:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"374316:3:21","nodeType":"YulIdentifier","src":"374316:3:21"},{"kind":"number","nativeSrc":"374321:4:21","nodeType":"YulLiteral","src":"374321:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"374312:3:21","nodeType":"YulIdentifier","src":"374312:3:21"},"nativeSrc":"374312:14:21","nodeType":"YulFunctionCall","src":"374312:14:21"},{"arguments":[{"name":"shift","nativeSrc":"374332:5:21","nodeType":"YulIdentifier","src":"374332:5:21"},{"arguments":[{"name":"shift","nativeSrc":"374343:5:21","nodeType":"YulIdentifier","src":"374343:5:21"},{"name":"w","nativeSrc":"374350:1:21","nodeType":"YulIdentifier","src":"374350:1:21"}],"functionName":{"name":"shr","nativeSrc":"374339:3:21","nodeType":"YulIdentifier","src":"374339:3:21"},"nativeSrc":"374339:13:21","nodeType":"YulFunctionCall","src":"374339:13:21"}],"functionName":{"name":"shl","nativeSrc":"374328:3:21","nodeType":"YulIdentifier","src":"374328:3:21"},"nativeSrc":"374328:25:21","nodeType":"YulFunctionCall","src":"374328:25:21"}],"functionName":{"name":"mstore","nativeSrc":"374305:6:21","nodeType":"YulIdentifier","src":"374305:6:21"},"nativeSrc":"374305:49:21","nodeType":"YulFunctionCall","src":"374305:49:21"},"nativeSrc":"374305:49:21","nodeType":"YulExpressionStatement","src":"374305:49:21"}]},"name":"writeString","nativeSrc":"374026:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"374047:3:21","nodeType":"YulTypedName","src":"374047:3:21","type":""},{"name":"w","nativeSrc":"374052:1:21","nodeType":"YulTypedName","src":"374052:1:21","type":""}],"src":"374026:342:21"},{"nativeSrc":"374381:17:21","nodeType":"YulAssignment","src":"374381:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"374393:4:21","nodeType":"YulLiteral","src":"374393:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"374387:5:21","nodeType":"YulIdentifier","src":"374387:5:21"},"nativeSrc":"374387:11:21","nodeType":"YulFunctionCall","src":"374387:11:21"},"variableNames":[{"name":"m0","nativeSrc":"374381:2:21","nodeType":"YulIdentifier","src":"374381:2:21"}]},{"nativeSrc":"374411:17:21","nodeType":"YulAssignment","src":"374411:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"374423:4:21","nodeType":"YulLiteral","src":"374423:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"374417:5:21","nodeType":"YulIdentifier","src":"374417:5:21"},"nativeSrc":"374417:11:21","nodeType":"YulFunctionCall","src":"374417:11:21"},"variableNames":[{"name":"m1","nativeSrc":"374411:2:21","nodeType":"YulIdentifier","src":"374411:2:21"}]},{"nativeSrc":"374441:17:21","nodeType":"YulAssignment","src":"374441:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"374453:4:21","nodeType":"YulLiteral","src":"374453:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"374447:5:21","nodeType":"YulIdentifier","src":"374447:5:21"},"nativeSrc":"374447:11:21","nodeType":"YulFunctionCall","src":"374447:11:21"},"variableNames":[{"name":"m2","nativeSrc":"374441:2:21","nodeType":"YulIdentifier","src":"374441:2:21"}]},{"nativeSrc":"374471:17:21","nodeType":"YulAssignment","src":"374471:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"374483:4:21","nodeType":"YulLiteral","src":"374483:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"374477:5:21","nodeType":"YulIdentifier","src":"374477:5:21"},"nativeSrc":"374477:11:21","nodeType":"YulFunctionCall","src":"374477:11:21"},"variableNames":[{"name":"m3","nativeSrc":"374471:2:21","nodeType":"YulIdentifier","src":"374471:2:21"}]},{"nativeSrc":"374501:17:21","nodeType":"YulAssignment","src":"374501:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"374513:4:21","nodeType":"YulLiteral","src":"374513:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"374507:5:21","nodeType":"YulIdentifier","src":"374507:5:21"},"nativeSrc":"374507:11:21","nodeType":"YulFunctionCall","src":"374507:11:21"},"variableNames":[{"name":"m4","nativeSrc":"374501:2:21","nodeType":"YulIdentifier","src":"374501:2:21"}]},{"nativeSrc":"374531:17:21","nodeType":"YulAssignment","src":"374531:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"374543:4:21","nodeType":"YulLiteral","src":"374543:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"374537:5:21","nodeType":"YulIdentifier","src":"374537:5:21"},"nativeSrc":"374537:11:21","nodeType":"YulFunctionCall","src":"374537:11:21"},"variableNames":[{"name":"m5","nativeSrc":"374531:2:21","nodeType":"YulIdentifier","src":"374531:2:21"}]},{"nativeSrc":"374561:17:21","nodeType":"YulAssignment","src":"374561:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"374573:4:21","nodeType":"YulLiteral","src":"374573:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"374567:5:21","nodeType":"YulIdentifier","src":"374567:5:21"},"nativeSrc":"374567:11:21","nodeType":"YulFunctionCall","src":"374567:11:21"},"variableNames":[{"name":"m6","nativeSrc":"374561:2:21","nodeType":"YulIdentifier","src":"374561:2:21"}]},{"nativeSrc":"374591:17:21","nodeType":"YulAssignment","src":"374591:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"374603:4:21","nodeType":"YulLiteral","src":"374603:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"374597:5:21","nodeType":"YulIdentifier","src":"374597:5:21"},"nativeSrc":"374597:11:21","nodeType":"YulFunctionCall","src":"374597:11:21"},"variableNames":[{"name":"m7","nativeSrc":"374591:2:21","nodeType":"YulIdentifier","src":"374591:2:21"}]},{"nativeSrc":"374621:18:21","nodeType":"YulAssignment","src":"374621:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"374633:5:21","nodeType":"YulLiteral","src":"374633:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"374627:5:21","nodeType":"YulIdentifier","src":"374627:5:21"},"nativeSrc":"374627:12:21","nodeType":"YulFunctionCall","src":"374627:12:21"},"variableNames":[{"name":"m8","nativeSrc":"374621:2:21","nodeType":"YulIdentifier","src":"374621:2:21"}]},{"nativeSrc":"374652:18:21","nodeType":"YulAssignment","src":"374652:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"374664:5:21","nodeType":"YulLiteral","src":"374664:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"374658:5:21","nodeType":"YulIdentifier","src":"374658:5:21"},"nativeSrc":"374658:12:21","nodeType":"YulFunctionCall","src":"374658:12:21"},"variableNames":[{"name":"m9","nativeSrc":"374652:2:21","nodeType":"YulIdentifier","src":"374652:2:21"}]},{"nativeSrc":"374683:19:21","nodeType":"YulAssignment","src":"374683:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"374696:5:21","nodeType":"YulLiteral","src":"374696:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"374690:5:21","nodeType":"YulIdentifier","src":"374690:5:21"},"nativeSrc":"374690:12:21","nodeType":"YulFunctionCall","src":"374690:12:21"},"variableNames":[{"name":"m10","nativeSrc":"374683:3:21","nodeType":"YulIdentifier","src":"374683:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374783:4:21","nodeType":"YulLiteral","src":"374783:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"374789:10:21","nodeType":"YulLiteral","src":"374789:10:21","type":"","value":"0xa826caeb"}],"functionName":{"name":"mstore","nativeSrc":"374776:6:21","nodeType":"YulIdentifier","src":"374776:6:21"},"nativeSrc":"374776:24:21","nodeType":"YulFunctionCall","src":"374776:24:21"},"nativeSrc":"374776:24:21","nodeType":"YulExpressionStatement","src":"374776:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374820:4:21","nodeType":"YulLiteral","src":"374820:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"374826:4:21","nodeType":"YulLiteral","src":"374826:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"374813:6:21","nodeType":"YulIdentifier","src":"374813:6:21"},"nativeSrc":"374813:18:21","nodeType":"YulFunctionCall","src":"374813:18:21"},"nativeSrc":"374813:18:21","nodeType":"YulExpressionStatement","src":"374813:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374851:4:21","nodeType":"YulLiteral","src":"374851:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"374857:2:21","nodeType":"YulIdentifier","src":"374857:2:21"}],"functionName":{"name":"mstore","nativeSrc":"374844:6:21","nodeType":"YulIdentifier","src":"374844:6:21"},"nativeSrc":"374844:16:21","nodeType":"YulFunctionCall","src":"374844:16:21"},"nativeSrc":"374844:16:21","nodeType":"YulExpressionStatement","src":"374844:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374880:4:21","nodeType":"YulLiteral","src":"374880:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"374886:4:21","nodeType":"YulLiteral","src":"374886:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"374873:6:21","nodeType":"YulIdentifier","src":"374873:6:21"},"nativeSrc":"374873:18:21","nodeType":"YulFunctionCall","src":"374873:18:21"},"nativeSrc":"374873:18:21","nodeType":"YulExpressionStatement","src":"374873:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374911:4:21","nodeType":"YulLiteral","src":"374911:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"374917:5:21","nodeType":"YulLiteral","src":"374917:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"374904:6:21","nodeType":"YulIdentifier","src":"374904:6:21"},"nativeSrc":"374904:19:21","nodeType":"YulFunctionCall","src":"374904:19:21"},"nativeSrc":"374904:19:21","nodeType":"YulExpressionStatement","src":"374904:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374948:4:21","nodeType":"YulLiteral","src":"374948:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"374954:2:21","nodeType":"YulIdentifier","src":"374954:2:21"}],"functionName":{"name":"writeString","nativeSrc":"374936:11:21","nodeType":"YulIdentifier","src":"374936:11:21"},"nativeSrc":"374936:21:21","nodeType":"YulFunctionCall","src":"374936:21:21"},"nativeSrc":"374936:21:21","nodeType":"YulExpressionStatement","src":"374936:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374982:4:21","nodeType":"YulLiteral","src":"374982:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"374988:2:21","nodeType":"YulIdentifier","src":"374988:2:21"}],"functionName":{"name":"writeString","nativeSrc":"374970:11:21","nodeType":"YulIdentifier","src":"374970:11:21"},"nativeSrc":"374970:21:21","nodeType":"YulFunctionCall","src":"374970:21:21"},"nativeSrc":"374970:21:21","nodeType":"YulExpressionStatement","src":"374970:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375016:5:21","nodeType":"YulLiteral","src":"375016:5:21","type":"","value":"0x120"},{"name":"p3","nativeSrc":"375023:2:21","nodeType":"YulIdentifier","src":"375023:2:21"}],"functionName":{"name":"writeString","nativeSrc":"375004:11:21","nodeType":"YulIdentifier","src":"375004:11:21"},"nativeSrc":"375004:22:21","nodeType":"YulFunctionCall","src":"375004:22:21"},"nativeSrc":"375004:22:21","nodeType":"YulExpressionStatement","src":"375004:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38524,"isOffset":false,"isSlot":false,"src":"374381:2:21","valueSize":1},{"declaration":38527,"isOffset":false,"isSlot":false,"src":"374411:2:21","valueSize":1},{"declaration":38554,"isOffset":false,"isSlot":false,"src":"374683:3:21","valueSize":1},{"declaration":38530,"isOffset":false,"isSlot":false,"src":"374441:2:21","valueSize":1},{"declaration":38533,"isOffset":false,"isSlot":false,"src":"374471:2:21","valueSize":1},{"declaration":38536,"isOffset":false,"isSlot":false,"src":"374501:2:21","valueSize":1},{"declaration":38539,"isOffset":false,"isSlot":false,"src":"374531:2:21","valueSize":1},{"declaration":38542,"isOffset":false,"isSlot":false,"src":"374561:2:21","valueSize":1},{"declaration":38545,"isOffset":false,"isSlot":false,"src":"374591:2:21","valueSize":1},{"declaration":38548,"isOffset":false,"isSlot":false,"src":"374621:2:21","valueSize":1},{"declaration":38551,"isOffset":false,"isSlot":false,"src":"374652:2:21","valueSize":1},{"declaration":38514,"isOffset":false,"isSlot":false,"src":"374954:2:21","valueSize":1},{"declaration":38516,"isOffset":false,"isSlot":false,"src":"374857:2:21","valueSize":1},{"declaration":38518,"isOffset":false,"isSlot":false,"src":"374988:2:21","valueSize":1},{"declaration":38520,"isOffset":false,"isSlot":false,"src":"375023:2:21","valueSize":1}],"id":38556,"nodeType":"InlineAssembly","src":"374003:1033:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"375061:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":38559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"375067:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":38557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"375045:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"375045:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38561,"nodeType":"ExpressionStatement","src":"375045:28:21"},{"AST":{"nativeSrc":"375135:334:21","nodeType":"YulBlock","src":"375135:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"375156:4:21","nodeType":"YulLiteral","src":"375156:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"375162:2:21","nodeType":"YulIdentifier","src":"375162:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375149:6:21","nodeType":"YulIdentifier","src":"375149:6:21"},"nativeSrc":"375149:16:21","nodeType":"YulFunctionCall","src":"375149:16:21"},"nativeSrc":"375149:16:21","nodeType":"YulExpressionStatement","src":"375149:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375185:4:21","nodeType":"YulLiteral","src":"375185:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"375191:2:21","nodeType":"YulIdentifier","src":"375191:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375178:6:21","nodeType":"YulIdentifier","src":"375178:6:21"},"nativeSrc":"375178:16:21","nodeType":"YulFunctionCall","src":"375178:16:21"},"nativeSrc":"375178:16:21","nodeType":"YulExpressionStatement","src":"375178:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375214:4:21","nodeType":"YulLiteral","src":"375214:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"375220:2:21","nodeType":"YulIdentifier","src":"375220:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375207:6:21","nodeType":"YulIdentifier","src":"375207:6:21"},"nativeSrc":"375207:16:21","nodeType":"YulFunctionCall","src":"375207:16:21"},"nativeSrc":"375207:16:21","nodeType":"YulExpressionStatement","src":"375207:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375243:4:21","nodeType":"YulLiteral","src":"375243:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"375249:2:21","nodeType":"YulIdentifier","src":"375249:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375236:6:21","nodeType":"YulIdentifier","src":"375236:6:21"},"nativeSrc":"375236:16:21","nodeType":"YulFunctionCall","src":"375236:16:21"},"nativeSrc":"375236:16:21","nodeType":"YulExpressionStatement","src":"375236:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375272:4:21","nodeType":"YulLiteral","src":"375272:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"375278:2:21","nodeType":"YulIdentifier","src":"375278:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375265:6:21","nodeType":"YulIdentifier","src":"375265:6:21"},"nativeSrc":"375265:16:21","nodeType":"YulFunctionCall","src":"375265:16:21"},"nativeSrc":"375265:16:21","nodeType":"YulExpressionStatement","src":"375265:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375301:4:21","nodeType":"YulLiteral","src":"375301:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"375307:2:21","nodeType":"YulIdentifier","src":"375307:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375294:6:21","nodeType":"YulIdentifier","src":"375294:6:21"},"nativeSrc":"375294:16:21","nodeType":"YulFunctionCall","src":"375294:16:21"},"nativeSrc":"375294:16:21","nodeType":"YulExpressionStatement","src":"375294:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375330:4:21","nodeType":"YulLiteral","src":"375330:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"375336:2:21","nodeType":"YulIdentifier","src":"375336:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375323:6:21","nodeType":"YulIdentifier","src":"375323:6:21"},"nativeSrc":"375323:16:21","nodeType":"YulFunctionCall","src":"375323:16:21"},"nativeSrc":"375323:16:21","nodeType":"YulExpressionStatement","src":"375323:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375359:4:21","nodeType":"YulLiteral","src":"375359:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"375365:2:21","nodeType":"YulIdentifier","src":"375365:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375352:6:21","nodeType":"YulIdentifier","src":"375352:6:21"},"nativeSrc":"375352:16:21","nodeType":"YulFunctionCall","src":"375352:16:21"},"nativeSrc":"375352:16:21","nodeType":"YulExpressionStatement","src":"375352:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375388:5:21","nodeType":"YulLiteral","src":"375388:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"375395:2:21","nodeType":"YulIdentifier","src":"375395:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375381:6:21","nodeType":"YulIdentifier","src":"375381:6:21"},"nativeSrc":"375381:17:21","nodeType":"YulFunctionCall","src":"375381:17:21"},"nativeSrc":"375381:17:21","nodeType":"YulExpressionStatement","src":"375381:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375418:5:21","nodeType":"YulLiteral","src":"375418:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"375425:2:21","nodeType":"YulIdentifier","src":"375425:2:21"}],"functionName":{"name":"mstore","nativeSrc":"375411:6:21","nodeType":"YulIdentifier","src":"375411:6:21"},"nativeSrc":"375411:17:21","nodeType":"YulFunctionCall","src":"375411:17:21"},"nativeSrc":"375411:17:21","nodeType":"YulExpressionStatement","src":"375411:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375448:5:21","nodeType":"YulLiteral","src":"375448:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"375455:3:21","nodeType":"YulIdentifier","src":"375455:3:21"}],"functionName":{"name":"mstore","nativeSrc":"375441:6:21","nodeType":"YulIdentifier","src":"375441:6:21"},"nativeSrc":"375441:18:21","nodeType":"YulFunctionCall","src":"375441:18:21"},"nativeSrc":"375441:18:21","nodeType":"YulExpressionStatement","src":"375441:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38524,"isOffset":false,"isSlot":false,"src":"375162:2:21","valueSize":1},{"declaration":38527,"isOffset":false,"isSlot":false,"src":"375191:2:21","valueSize":1},{"declaration":38554,"isOffset":false,"isSlot":false,"src":"375455:3:21","valueSize":1},{"declaration":38530,"isOffset":false,"isSlot":false,"src":"375220:2:21","valueSize":1},{"declaration":38533,"isOffset":false,"isSlot":false,"src":"375249:2:21","valueSize":1},{"declaration":38536,"isOffset":false,"isSlot":false,"src":"375278:2:21","valueSize":1},{"declaration":38539,"isOffset":false,"isSlot":false,"src":"375307:2:21","valueSize":1},{"declaration":38542,"isOffset":false,"isSlot":false,"src":"375336:2:21","valueSize":1},{"declaration":38545,"isOffset":false,"isSlot":false,"src":"375365:2:21","valueSize":1},{"declaration":38548,"isOffset":false,"isSlot":false,"src":"375395:2:21","valueSize":1},{"declaration":38551,"isOffset":false,"isSlot":false,"src":"375425:2:21","valueSize":1}],"id":38562,"nodeType":"InlineAssembly","src":"375126:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"373666:3:21","parameters":{"id":38521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38514,"mutability":"mutable","name":"p0","nameLocation":"373678:2:21","nodeType":"VariableDeclaration","scope":38564,"src":"373670:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373670:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38516,"mutability":"mutable","name":"p1","nameLocation":"373687:2:21","nodeType":"VariableDeclaration","scope":38564,"src":"373682:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38515,"name":"bool","nodeType":"ElementaryTypeName","src":"373682:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38518,"mutability":"mutable","name":"p2","nameLocation":"373699:2:21","nodeType":"VariableDeclaration","scope":38564,"src":"373691:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373691:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38520,"mutability":"mutable","name":"p3","nameLocation":"373711:2:21","nodeType":"VariableDeclaration","scope":38564,"src":"373703:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373703:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"373669:45:21"},"returnParameters":{"id":38522,"nodeType":"ParameterList","parameters":[],"src":"373729:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38604,"nodeType":"FunctionDefinition","src":"375481:1426:21","nodes":[],"body":{"id":38603,"nodeType":"Block","src":"375556:1351:21","nodes":[],"statements":[{"assignments":[38576],"declarations":[{"constant":false,"id":38576,"mutability":"mutable","name":"m0","nameLocation":"375574:2:21","nodeType":"VariableDeclaration","scope":38603,"src":"375566:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375566:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38577,"nodeType":"VariableDeclarationStatement","src":"375566:10:21"},{"assignments":[38579],"declarations":[{"constant":false,"id":38579,"mutability":"mutable","name":"m1","nameLocation":"375594:2:21","nodeType":"VariableDeclaration","scope":38603,"src":"375586:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375586:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38580,"nodeType":"VariableDeclarationStatement","src":"375586:10:21"},{"assignments":[38582],"declarations":[{"constant":false,"id":38582,"mutability":"mutable","name":"m2","nameLocation":"375614:2:21","nodeType":"VariableDeclaration","scope":38603,"src":"375606:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375606:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38583,"nodeType":"VariableDeclarationStatement","src":"375606:10:21"},{"assignments":[38585],"declarations":[{"constant":false,"id":38585,"mutability":"mutable","name":"m3","nameLocation":"375634:2:21","nodeType":"VariableDeclaration","scope":38603,"src":"375626:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375626:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38586,"nodeType":"VariableDeclarationStatement","src":"375626:10:21"},{"assignments":[38588],"declarations":[{"constant":false,"id":38588,"mutability":"mutable","name":"m4","nameLocation":"375654:2:21","nodeType":"VariableDeclaration","scope":38603,"src":"375646:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375646:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38589,"nodeType":"VariableDeclarationStatement","src":"375646:10:21"},{"assignments":[38591],"declarations":[{"constant":false,"id":38591,"mutability":"mutable","name":"m5","nameLocation":"375674:2:21","nodeType":"VariableDeclaration","scope":38603,"src":"375666:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375666:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38592,"nodeType":"VariableDeclarationStatement","src":"375666:10:21"},{"assignments":[38594],"declarations":[{"constant":false,"id":38594,"mutability":"mutable","name":"m6","nameLocation":"375694:2:21","nodeType":"VariableDeclaration","scope":38603,"src":"375686:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375686:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38595,"nodeType":"VariableDeclarationStatement","src":"375686:10:21"},{"AST":{"nativeSrc":"375758:831:21","nodeType":"YulBlock","src":"375758:831:21","statements":[{"body":{"nativeSrc":"375801:313:21","nodeType":"YulBlock","src":"375801:313:21","statements":[{"nativeSrc":"375819:15:21","nodeType":"YulVariableDeclaration","src":"375819:15:21","value":{"kind":"number","nativeSrc":"375833:1:21","nodeType":"YulLiteral","src":"375833:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"375823:6:21","nodeType":"YulTypedName","src":"375823:6:21","type":""}]},{"body":{"nativeSrc":"375904:40:21","nodeType":"YulBlock","src":"375904:40:21","statements":[{"body":{"nativeSrc":"375933:9:21","nodeType":"YulBlock","src":"375933:9:21","statements":[{"nativeSrc":"375935:5:21","nodeType":"YulBreak","src":"375935:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"375921:6:21","nodeType":"YulIdentifier","src":"375921:6:21"},{"name":"w","nativeSrc":"375929:1:21","nodeType":"YulIdentifier","src":"375929:1:21"}],"functionName":{"name":"byte","nativeSrc":"375916:4:21","nodeType":"YulIdentifier","src":"375916:4:21"},"nativeSrc":"375916:15:21","nodeType":"YulFunctionCall","src":"375916:15:21"}],"functionName":{"name":"iszero","nativeSrc":"375909:6:21","nodeType":"YulIdentifier","src":"375909:6:21"},"nativeSrc":"375909:23:21","nodeType":"YulFunctionCall","src":"375909:23:21"},"nativeSrc":"375906:36:21","nodeType":"YulIf","src":"375906:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"375861:6:21","nodeType":"YulIdentifier","src":"375861:6:21"},{"kind":"number","nativeSrc":"375869:4:21","nodeType":"YulLiteral","src":"375869:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"375858:2:21","nodeType":"YulIdentifier","src":"375858:2:21"},"nativeSrc":"375858:16:21","nodeType":"YulFunctionCall","src":"375858:16:21"},"nativeSrc":"375851:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"375875:28:21","nodeType":"YulBlock","src":"375875:28:21","statements":[{"nativeSrc":"375877:24:21","nodeType":"YulAssignment","src":"375877:24:21","value":{"arguments":[{"name":"length","nativeSrc":"375891:6:21","nodeType":"YulIdentifier","src":"375891:6:21"},{"kind":"number","nativeSrc":"375899:1:21","nodeType":"YulLiteral","src":"375899:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"375887:3:21","nodeType":"YulIdentifier","src":"375887:3:21"},"nativeSrc":"375887:14:21","nodeType":"YulFunctionCall","src":"375887:14:21"},"variableNames":[{"name":"length","nativeSrc":"375877:6:21","nodeType":"YulIdentifier","src":"375877:6:21"}]}]},"pre":{"nativeSrc":"375855:2:21","nodeType":"YulBlock","src":"375855:2:21","statements":[]},"src":"375851:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"375968:3:21","nodeType":"YulIdentifier","src":"375968:3:21"},{"name":"length","nativeSrc":"375973:6:21","nodeType":"YulIdentifier","src":"375973:6:21"}],"functionName":{"name":"mstore","nativeSrc":"375961:6:21","nodeType":"YulIdentifier","src":"375961:6:21"},"nativeSrc":"375961:19:21","nodeType":"YulFunctionCall","src":"375961:19:21"},"nativeSrc":"375961:19:21","nodeType":"YulExpressionStatement","src":"375961:19:21"},{"nativeSrc":"375997:37:21","nodeType":"YulVariableDeclaration","src":"375997:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"376014:3:21","nodeType":"YulLiteral","src":"376014:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"376023:1:21","nodeType":"YulLiteral","src":"376023:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"376026:6:21","nodeType":"YulIdentifier","src":"376026:6:21"}],"functionName":{"name":"shl","nativeSrc":"376019:3:21","nodeType":"YulIdentifier","src":"376019:3:21"},"nativeSrc":"376019:14:21","nodeType":"YulFunctionCall","src":"376019:14:21"}],"functionName":{"name":"sub","nativeSrc":"376010:3:21","nodeType":"YulIdentifier","src":"376010:3:21"},"nativeSrc":"376010:24:21","nodeType":"YulFunctionCall","src":"376010:24:21"},"variables":[{"name":"shift","nativeSrc":"376001:5:21","nodeType":"YulTypedName","src":"376001:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"376062:3:21","nodeType":"YulIdentifier","src":"376062:3:21"},{"kind":"number","nativeSrc":"376067:4:21","nodeType":"YulLiteral","src":"376067:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"376058:3:21","nodeType":"YulIdentifier","src":"376058:3:21"},"nativeSrc":"376058:14:21","nodeType":"YulFunctionCall","src":"376058:14:21"},{"arguments":[{"name":"shift","nativeSrc":"376078:5:21","nodeType":"YulIdentifier","src":"376078:5:21"},{"arguments":[{"name":"shift","nativeSrc":"376089:5:21","nodeType":"YulIdentifier","src":"376089:5:21"},{"name":"w","nativeSrc":"376096:1:21","nodeType":"YulIdentifier","src":"376096:1:21"}],"functionName":{"name":"shr","nativeSrc":"376085:3:21","nodeType":"YulIdentifier","src":"376085:3:21"},"nativeSrc":"376085:13:21","nodeType":"YulFunctionCall","src":"376085:13:21"}],"functionName":{"name":"shl","nativeSrc":"376074:3:21","nodeType":"YulIdentifier","src":"376074:3:21"},"nativeSrc":"376074:25:21","nodeType":"YulFunctionCall","src":"376074:25:21"}],"functionName":{"name":"mstore","nativeSrc":"376051:6:21","nodeType":"YulIdentifier","src":"376051:6:21"},"nativeSrc":"376051:49:21","nodeType":"YulFunctionCall","src":"376051:49:21"},"nativeSrc":"376051:49:21","nodeType":"YulExpressionStatement","src":"376051:49:21"}]},"name":"writeString","nativeSrc":"375772:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"375793:3:21","nodeType":"YulTypedName","src":"375793:3:21","type":""},{"name":"w","nativeSrc":"375798:1:21","nodeType":"YulTypedName","src":"375798:1:21","type":""}],"src":"375772:342:21"},{"nativeSrc":"376127:17:21","nodeType":"YulAssignment","src":"376127:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"376139:4:21","nodeType":"YulLiteral","src":"376139:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"376133:5:21","nodeType":"YulIdentifier","src":"376133:5:21"},"nativeSrc":"376133:11:21","nodeType":"YulFunctionCall","src":"376133:11:21"},"variableNames":[{"name":"m0","nativeSrc":"376127:2:21","nodeType":"YulIdentifier","src":"376127:2:21"}]},{"nativeSrc":"376157:17:21","nodeType":"YulAssignment","src":"376157:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"376169:4:21","nodeType":"YulLiteral","src":"376169:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"376163:5:21","nodeType":"YulIdentifier","src":"376163:5:21"},"nativeSrc":"376163:11:21","nodeType":"YulFunctionCall","src":"376163:11:21"},"variableNames":[{"name":"m1","nativeSrc":"376157:2:21","nodeType":"YulIdentifier","src":"376157:2:21"}]},{"nativeSrc":"376187:17:21","nodeType":"YulAssignment","src":"376187:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"376199:4:21","nodeType":"YulLiteral","src":"376199:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"376193:5:21","nodeType":"YulIdentifier","src":"376193:5:21"},"nativeSrc":"376193:11:21","nodeType":"YulFunctionCall","src":"376193:11:21"},"variableNames":[{"name":"m2","nativeSrc":"376187:2:21","nodeType":"YulIdentifier","src":"376187:2:21"}]},{"nativeSrc":"376217:17:21","nodeType":"YulAssignment","src":"376217:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"376229:4:21","nodeType":"YulLiteral","src":"376229:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"376223:5:21","nodeType":"YulIdentifier","src":"376223:5:21"},"nativeSrc":"376223:11:21","nodeType":"YulFunctionCall","src":"376223:11:21"},"variableNames":[{"name":"m3","nativeSrc":"376217:2:21","nodeType":"YulIdentifier","src":"376217:2:21"}]},{"nativeSrc":"376247:17:21","nodeType":"YulAssignment","src":"376247:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"376259:4:21","nodeType":"YulLiteral","src":"376259:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"376253:5:21","nodeType":"YulIdentifier","src":"376253:5:21"},"nativeSrc":"376253:11:21","nodeType":"YulFunctionCall","src":"376253:11:21"},"variableNames":[{"name":"m4","nativeSrc":"376247:2:21","nodeType":"YulIdentifier","src":"376247:2:21"}]},{"nativeSrc":"376277:17:21","nodeType":"YulAssignment","src":"376277:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"376289:4:21","nodeType":"YulLiteral","src":"376289:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"376283:5:21","nodeType":"YulIdentifier","src":"376283:5:21"},"nativeSrc":"376283:11:21","nodeType":"YulFunctionCall","src":"376283:11:21"},"variableNames":[{"name":"m5","nativeSrc":"376277:2:21","nodeType":"YulIdentifier","src":"376277:2:21"}]},{"nativeSrc":"376307:17:21","nodeType":"YulAssignment","src":"376307:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"376319:4:21","nodeType":"YulLiteral","src":"376319:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"376313:5:21","nodeType":"YulIdentifier","src":"376313:5:21"},"nativeSrc":"376313:11:21","nodeType":"YulFunctionCall","src":"376313:11:21"},"variableNames":[{"name":"m6","nativeSrc":"376307:2:21","nodeType":"YulIdentifier","src":"376307:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376410:4:21","nodeType":"YulLiteral","src":"376410:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"376416:10:21","nodeType":"YulLiteral","src":"376416:10:21","type":"","value":"0x5ea2b7ae"}],"functionName":{"name":"mstore","nativeSrc":"376403:6:21","nodeType":"YulIdentifier","src":"376403:6:21"},"nativeSrc":"376403:24:21","nodeType":"YulFunctionCall","src":"376403:24:21"},"nativeSrc":"376403:24:21","nodeType":"YulExpressionStatement","src":"376403:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376447:4:21","nodeType":"YulLiteral","src":"376447:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"376453:4:21","nodeType":"YulLiteral","src":"376453:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"376440:6:21","nodeType":"YulIdentifier","src":"376440:6:21"},"nativeSrc":"376440:18:21","nodeType":"YulFunctionCall","src":"376440:18:21"},"nativeSrc":"376440:18:21","nodeType":"YulExpressionStatement","src":"376440:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376478:4:21","nodeType":"YulLiteral","src":"376478:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"376484:2:21","nodeType":"YulIdentifier","src":"376484:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376471:6:21","nodeType":"YulIdentifier","src":"376471:6:21"},"nativeSrc":"376471:16:21","nodeType":"YulFunctionCall","src":"376471:16:21"},"nativeSrc":"376471:16:21","nodeType":"YulExpressionStatement","src":"376471:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376507:4:21","nodeType":"YulLiteral","src":"376507:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"376513:2:21","nodeType":"YulIdentifier","src":"376513:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376500:6:21","nodeType":"YulIdentifier","src":"376500:6:21"},"nativeSrc":"376500:16:21","nodeType":"YulFunctionCall","src":"376500:16:21"},"nativeSrc":"376500:16:21","nodeType":"YulExpressionStatement","src":"376500:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376536:4:21","nodeType":"YulLiteral","src":"376536:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"376542:2:21","nodeType":"YulIdentifier","src":"376542:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376529:6:21","nodeType":"YulIdentifier","src":"376529:6:21"},"nativeSrc":"376529:16:21","nodeType":"YulFunctionCall","src":"376529:16:21"},"nativeSrc":"376529:16:21","nodeType":"YulExpressionStatement","src":"376529:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376570:4:21","nodeType":"YulLiteral","src":"376570:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"376576:2:21","nodeType":"YulIdentifier","src":"376576:2:21"}],"functionName":{"name":"writeString","nativeSrc":"376558:11:21","nodeType":"YulIdentifier","src":"376558:11:21"},"nativeSrc":"376558:21:21","nodeType":"YulFunctionCall","src":"376558:21:21"},"nativeSrc":"376558:21:21","nodeType":"YulExpressionStatement","src":"376558:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38576,"isOffset":false,"isSlot":false,"src":"376127:2:21","valueSize":1},{"declaration":38579,"isOffset":false,"isSlot":false,"src":"376157:2:21","valueSize":1},{"declaration":38582,"isOffset":false,"isSlot":false,"src":"376187:2:21","valueSize":1},{"declaration":38585,"isOffset":false,"isSlot":false,"src":"376217:2:21","valueSize":1},{"declaration":38588,"isOffset":false,"isSlot":false,"src":"376247:2:21","valueSize":1},{"declaration":38591,"isOffset":false,"isSlot":false,"src":"376277:2:21","valueSize":1},{"declaration":38594,"isOffset":false,"isSlot":false,"src":"376307:2:21","valueSize":1},{"declaration":38566,"isOffset":false,"isSlot":false,"src":"376576:2:21","valueSize":1},{"declaration":38568,"isOffset":false,"isSlot":false,"src":"376484:2:21","valueSize":1},{"declaration":38570,"isOffset":false,"isSlot":false,"src":"376513:2:21","valueSize":1},{"declaration":38572,"isOffset":false,"isSlot":false,"src":"376542:2:21","valueSize":1}],"id":38596,"nodeType":"InlineAssembly","src":"375749:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"376614:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"376620:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"376598:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"376598:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38601,"nodeType":"ExpressionStatement","src":"376598:27:21"},{"AST":{"nativeSrc":"376687:214:21","nodeType":"YulBlock","src":"376687:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"376708:4:21","nodeType":"YulLiteral","src":"376708:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"376714:2:21","nodeType":"YulIdentifier","src":"376714:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376701:6:21","nodeType":"YulIdentifier","src":"376701:6:21"},"nativeSrc":"376701:16:21","nodeType":"YulFunctionCall","src":"376701:16:21"},"nativeSrc":"376701:16:21","nodeType":"YulExpressionStatement","src":"376701:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376737:4:21","nodeType":"YulLiteral","src":"376737:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"376743:2:21","nodeType":"YulIdentifier","src":"376743:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376730:6:21","nodeType":"YulIdentifier","src":"376730:6:21"},"nativeSrc":"376730:16:21","nodeType":"YulFunctionCall","src":"376730:16:21"},"nativeSrc":"376730:16:21","nodeType":"YulExpressionStatement","src":"376730:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376766:4:21","nodeType":"YulLiteral","src":"376766:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"376772:2:21","nodeType":"YulIdentifier","src":"376772:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376759:6:21","nodeType":"YulIdentifier","src":"376759:6:21"},"nativeSrc":"376759:16:21","nodeType":"YulFunctionCall","src":"376759:16:21"},"nativeSrc":"376759:16:21","nodeType":"YulExpressionStatement","src":"376759:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376795:4:21","nodeType":"YulLiteral","src":"376795:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"376801:2:21","nodeType":"YulIdentifier","src":"376801:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376788:6:21","nodeType":"YulIdentifier","src":"376788:6:21"},"nativeSrc":"376788:16:21","nodeType":"YulFunctionCall","src":"376788:16:21"},"nativeSrc":"376788:16:21","nodeType":"YulExpressionStatement","src":"376788:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376824:4:21","nodeType":"YulLiteral","src":"376824:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"376830:2:21","nodeType":"YulIdentifier","src":"376830:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376817:6:21","nodeType":"YulIdentifier","src":"376817:6:21"},"nativeSrc":"376817:16:21","nodeType":"YulFunctionCall","src":"376817:16:21"},"nativeSrc":"376817:16:21","nodeType":"YulExpressionStatement","src":"376817:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376853:4:21","nodeType":"YulLiteral","src":"376853:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"376859:2:21","nodeType":"YulIdentifier","src":"376859:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376846:6:21","nodeType":"YulIdentifier","src":"376846:6:21"},"nativeSrc":"376846:16:21","nodeType":"YulFunctionCall","src":"376846:16:21"},"nativeSrc":"376846:16:21","nodeType":"YulExpressionStatement","src":"376846:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376882:4:21","nodeType":"YulLiteral","src":"376882:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"376888:2:21","nodeType":"YulIdentifier","src":"376888:2:21"}],"functionName":{"name":"mstore","nativeSrc":"376875:6:21","nodeType":"YulIdentifier","src":"376875:6:21"},"nativeSrc":"376875:16:21","nodeType":"YulFunctionCall","src":"376875:16:21"},"nativeSrc":"376875:16:21","nodeType":"YulExpressionStatement","src":"376875:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38576,"isOffset":false,"isSlot":false,"src":"376714:2:21","valueSize":1},{"declaration":38579,"isOffset":false,"isSlot":false,"src":"376743:2:21","valueSize":1},{"declaration":38582,"isOffset":false,"isSlot":false,"src":"376772:2:21","valueSize":1},{"declaration":38585,"isOffset":false,"isSlot":false,"src":"376801:2:21","valueSize":1},{"declaration":38588,"isOffset":false,"isSlot":false,"src":"376830:2:21","valueSize":1},{"declaration":38591,"isOffset":false,"isSlot":false,"src":"376859:2:21","valueSize":1},{"declaration":38594,"isOffset":false,"isSlot":false,"src":"376888:2:21","valueSize":1}],"id":38602,"nodeType":"InlineAssembly","src":"376678:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"375490:3:21","parameters":{"id":38573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38566,"mutability":"mutable","name":"p0","nameLocation":"375502:2:21","nodeType":"VariableDeclaration","scope":38604,"src":"375494:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375494:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38568,"mutability":"mutable","name":"p1","nameLocation":"375514:2:21","nodeType":"VariableDeclaration","scope":38604,"src":"375506:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38567,"name":"uint256","nodeType":"ElementaryTypeName","src":"375506:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38570,"mutability":"mutable","name":"p2","nameLocation":"375526:2:21","nodeType":"VariableDeclaration","scope":38604,"src":"375518:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38569,"name":"address","nodeType":"ElementaryTypeName","src":"375518:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38572,"mutability":"mutable","name":"p3","nameLocation":"375538:2:21","nodeType":"VariableDeclaration","scope":38604,"src":"375530:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38571,"name":"address","nodeType":"ElementaryTypeName","src":"375530:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"375493:48:21"},"returnParameters":{"id":38574,"nodeType":"ParameterList","parameters":[],"src":"375556:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38644,"nodeType":"FunctionDefinition","src":"376913:1420:21","nodes":[],"body":{"id":38643,"nodeType":"Block","src":"376985:1348:21","nodes":[],"statements":[{"assignments":[38616],"declarations":[{"constant":false,"id":38616,"mutability":"mutable","name":"m0","nameLocation":"377003:2:21","nodeType":"VariableDeclaration","scope":38643,"src":"376995:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"376995:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38617,"nodeType":"VariableDeclarationStatement","src":"376995:10:21"},{"assignments":[38619],"declarations":[{"constant":false,"id":38619,"mutability":"mutable","name":"m1","nameLocation":"377023:2:21","nodeType":"VariableDeclaration","scope":38643,"src":"377015:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377015:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38620,"nodeType":"VariableDeclarationStatement","src":"377015:10:21"},{"assignments":[38622],"declarations":[{"constant":false,"id":38622,"mutability":"mutable","name":"m2","nameLocation":"377043:2:21","nodeType":"VariableDeclaration","scope":38643,"src":"377035:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377035:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38623,"nodeType":"VariableDeclarationStatement","src":"377035:10:21"},{"assignments":[38625],"declarations":[{"constant":false,"id":38625,"mutability":"mutable","name":"m3","nameLocation":"377063:2:21","nodeType":"VariableDeclaration","scope":38643,"src":"377055:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377055:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38626,"nodeType":"VariableDeclarationStatement","src":"377055:10:21"},{"assignments":[38628],"declarations":[{"constant":false,"id":38628,"mutability":"mutable","name":"m4","nameLocation":"377083:2:21","nodeType":"VariableDeclaration","scope":38643,"src":"377075:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377075:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38629,"nodeType":"VariableDeclarationStatement","src":"377075:10:21"},{"assignments":[38631],"declarations":[{"constant":false,"id":38631,"mutability":"mutable","name":"m5","nameLocation":"377103:2:21","nodeType":"VariableDeclaration","scope":38643,"src":"377095:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377095:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38632,"nodeType":"VariableDeclarationStatement","src":"377095:10:21"},{"assignments":[38634],"declarations":[{"constant":false,"id":38634,"mutability":"mutable","name":"m6","nameLocation":"377123:2:21","nodeType":"VariableDeclaration","scope":38643,"src":"377115:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377115:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38635,"nodeType":"VariableDeclarationStatement","src":"377115:10:21"},{"AST":{"nativeSrc":"377187:828:21","nodeType":"YulBlock","src":"377187:828:21","statements":[{"body":{"nativeSrc":"377230:313:21","nodeType":"YulBlock","src":"377230:313:21","statements":[{"nativeSrc":"377248:15:21","nodeType":"YulVariableDeclaration","src":"377248:15:21","value":{"kind":"number","nativeSrc":"377262:1:21","nodeType":"YulLiteral","src":"377262:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"377252:6:21","nodeType":"YulTypedName","src":"377252:6:21","type":""}]},{"body":{"nativeSrc":"377333:40:21","nodeType":"YulBlock","src":"377333:40:21","statements":[{"body":{"nativeSrc":"377362:9:21","nodeType":"YulBlock","src":"377362:9:21","statements":[{"nativeSrc":"377364:5:21","nodeType":"YulBreak","src":"377364:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"377350:6:21","nodeType":"YulIdentifier","src":"377350:6:21"},{"name":"w","nativeSrc":"377358:1:21","nodeType":"YulIdentifier","src":"377358:1:21"}],"functionName":{"name":"byte","nativeSrc":"377345:4:21","nodeType":"YulIdentifier","src":"377345:4:21"},"nativeSrc":"377345:15:21","nodeType":"YulFunctionCall","src":"377345:15:21"}],"functionName":{"name":"iszero","nativeSrc":"377338:6:21","nodeType":"YulIdentifier","src":"377338:6:21"},"nativeSrc":"377338:23:21","nodeType":"YulFunctionCall","src":"377338:23:21"},"nativeSrc":"377335:36:21","nodeType":"YulIf","src":"377335:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"377290:6:21","nodeType":"YulIdentifier","src":"377290:6:21"},{"kind":"number","nativeSrc":"377298:4:21","nodeType":"YulLiteral","src":"377298:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"377287:2:21","nodeType":"YulIdentifier","src":"377287:2:21"},"nativeSrc":"377287:16:21","nodeType":"YulFunctionCall","src":"377287:16:21"},"nativeSrc":"377280:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"377304:28:21","nodeType":"YulBlock","src":"377304:28:21","statements":[{"nativeSrc":"377306:24:21","nodeType":"YulAssignment","src":"377306:24:21","value":{"arguments":[{"name":"length","nativeSrc":"377320:6:21","nodeType":"YulIdentifier","src":"377320:6:21"},{"kind":"number","nativeSrc":"377328:1:21","nodeType":"YulLiteral","src":"377328:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"377316:3:21","nodeType":"YulIdentifier","src":"377316:3:21"},"nativeSrc":"377316:14:21","nodeType":"YulFunctionCall","src":"377316:14:21"},"variableNames":[{"name":"length","nativeSrc":"377306:6:21","nodeType":"YulIdentifier","src":"377306:6:21"}]}]},"pre":{"nativeSrc":"377284:2:21","nodeType":"YulBlock","src":"377284:2:21","statements":[]},"src":"377280:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"377397:3:21","nodeType":"YulIdentifier","src":"377397:3:21"},{"name":"length","nativeSrc":"377402:6:21","nodeType":"YulIdentifier","src":"377402:6:21"}],"functionName":{"name":"mstore","nativeSrc":"377390:6:21","nodeType":"YulIdentifier","src":"377390:6:21"},"nativeSrc":"377390:19:21","nodeType":"YulFunctionCall","src":"377390:19:21"},"nativeSrc":"377390:19:21","nodeType":"YulExpressionStatement","src":"377390:19:21"},{"nativeSrc":"377426:37:21","nodeType":"YulVariableDeclaration","src":"377426:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"377443:3:21","nodeType":"YulLiteral","src":"377443:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"377452:1:21","nodeType":"YulLiteral","src":"377452:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"377455:6:21","nodeType":"YulIdentifier","src":"377455:6:21"}],"functionName":{"name":"shl","nativeSrc":"377448:3:21","nodeType":"YulIdentifier","src":"377448:3:21"},"nativeSrc":"377448:14:21","nodeType":"YulFunctionCall","src":"377448:14:21"}],"functionName":{"name":"sub","nativeSrc":"377439:3:21","nodeType":"YulIdentifier","src":"377439:3:21"},"nativeSrc":"377439:24:21","nodeType":"YulFunctionCall","src":"377439:24:21"},"variables":[{"name":"shift","nativeSrc":"377430:5:21","nodeType":"YulTypedName","src":"377430:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"377491:3:21","nodeType":"YulIdentifier","src":"377491:3:21"},{"kind":"number","nativeSrc":"377496:4:21","nodeType":"YulLiteral","src":"377496:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"377487:3:21","nodeType":"YulIdentifier","src":"377487:3:21"},"nativeSrc":"377487:14:21","nodeType":"YulFunctionCall","src":"377487:14:21"},{"arguments":[{"name":"shift","nativeSrc":"377507:5:21","nodeType":"YulIdentifier","src":"377507:5:21"},{"arguments":[{"name":"shift","nativeSrc":"377518:5:21","nodeType":"YulIdentifier","src":"377518:5:21"},{"name":"w","nativeSrc":"377525:1:21","nodeType":"YulIdentifier","src":"377525:1:21"}],"functionName":{"name":"shr","nativeSrc":"377514:3:21","nodeType":"YulIdentifier","src":"377514:3:21"},"nativeSrc":"377514:13:21","nodeType":"YulFunctionCall","src":"377514:13:21"}],"functionName":{"name":"shl","nativeSrc":"377503:3:21","nodeType":"YulIdentifier","src":"377503:3:21"},"nativeSrc":"377503:25:21","nodeType":"YulFunctionCall","src":"377503:25:21"}],"functionName":{"name":"mstore","nativeSrc":"377480:6:21","nodeType":"YulIdentifier","src":"377480:6:21"},"nativeSrc":"377480:49:21","nodeType":"YulFunctionCall","src":"377480:49:21"},"nativeSrc":"377480:49:21","nodeType":"YulExpressionStatement","src":"377480:49:21"}]},"name":"writeString","nativeSrc":"377201:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"377222:3:21","nodeType":"YulTypedName","src":"377222:3:21","type":""},{"name":"w","nativeSrc":"377227:1:21","nodeType":"YulTypedName","src":"377227:1:21","type":""}],"src":"377201:342:21"},{"nativeSrc":"377556:17:21","nodeType":"YulAssignment","src":"377556:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"377568:4:21","nodeType":"YulLiteral","src":"377568:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"377562:5:21","nodeType":"YulIdentifier","src":"377562:5:21"},"nativeSrc":"377562:11:21","nodeType":"YulFunctionCall","src":"377562:11:21"},"variableNames":[{"name":"m0","nativeSrc":"377556:2:21","nodeType":"YulIdentifier","src":"377556:2:21"}]},{"nativeSrc":"377586:17:21","nodeType":"YulAssignment","src":"377586:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"377598:4:21","nodeType":"YulLiteral","src":"377598:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"377592:5:21","nodeType":"YulIdentifier","src":"377592:5:21"},"nativeSrc":"377592:11:21","nodeType":"YulFunctionCall","src":"377592:11:21"},"variableNames":[{"name":"m1","nativeSrc":"377586:2:21","nodeType":"YulIdentifier","src":"377586:2:21"}]},{"nativeSrc":"377616:17:21","nodeType":"YulAssignment","src":"377616:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"377628:4:21","nodeType":"YulLiteral","src":"377628:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"377622:5:21","nodeType":"YulIdentifier","src":"377622:5:21"},"nativeSrc":"377622:11:21","nodeType":"YulFunctionCall","src":"377622:11:21"},"variableNames":[{"name":"m2","nativeSrc":"377616:2:21","nodeType":"YulIdentifier","src":"377616:2:21"}]},{"nativeSrc":"377646:17:21","nodeType":"YulAssignment","src":"377646:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"377658:4:21","nodeType":"YulLiteral","src":"377658:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"377652:5:21","nodeType":"YulIdentifier","src":"377652:5:21"},"nativeSrc":"377652:11:21","nodeType":"YulFunctionCall","src":"377652:11:21"},"variableNames":[{"name":"m3","nativeSrc":"377646:2:21","nodeType":"YulIdentifier","src":"377646:2:21"}]},{"nativeSrc":"377676:17:21","nodeType":"YulAssignment","src":"377676:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"377688:4:21","nodeType":"YulLiteral","src":"377688:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"377682:5:21","nodeType":"YulIdentifier","src":"377682:5:21"},"nativeSrc":"377682:11:21","nodeType":"YulFunctionCall","src":"377682:11:21"},"variableNames":[{"name":"m4","nativeSrc":"377676:2:21","nodeType":"YulIdentifier","src":"377676:2:21"}]},{"nativeSrc":"377706:17:21","nodeType":"YulAssignment","src":"377706:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"377718:4:21","nodeType":"YulLiteral","src":"377718:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"377712:5:21","nodeType":"YulIdentifier","src":"377712:5:21"},"nativeSrc":"377712:11:21","nodeType":"YulFunctionCall","src":"377712:11:21"},"variableNames":[{"name":"m5","nativeSrc":"377706:2:21","nodeType":"YulIdentifier","src":"377706:2:21"}]},{"nativeSrc":"377736:17:21","nodeType":"YulAssignment","src":"377736:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"377748:4:21","nodeType":"YulLiteral","src":"377748:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"377742:5:21","nodeType":"YulIdentifier","src":"377742:5:21"},"nativeSrc":"377742:11:21","nodeType":"YulFunctionCall","src":"377742:11:21"},"variableNames":[{"name":"m6","nativeSrc":"377736:2:21","nodeType":"YulIdentifier","src":"377736:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377836:4:21","nodeType":"YulLiteral","src":"377836:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"377842:10:21","nodeType":"YulLiteral","src":"377842:10:21","type":"","value":"0x82112a42"}],"functionName":{"name":"mstore","nativeSrc":"377829:6:21","nodeType":"YulIdentifier","src":"377829:6:21"},"nativeSrc":"377829:24:21","nodeType":"YulFunctionCall","src":"377829:24:21"},"nativeSrc":"377829:24:21","nodeType":"YulExpressionStatement","src":"377829:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377873:4:21","nodeType":"YulLiteral","src":"377873:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"377879:4:21","nodeType":"YulLiteral","src":"377879:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"377866:6:21","nodeType":"YulIdentifier","src":"377866:6:21"},"nativeSrc":"377866:18:21","nodeType":"YulFunctionCall","src":"377866:18:21"},"nativeSrc":"377866:18:21","nodeType":"YulExpressionStatement","src":"377866:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377904:4:21","nodeType":"YulLiteral","src":"377904:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"377910:2:21","nodeType":"YulIdentifier","src":"377910:2:21"}],"functionName":{"name":"mstore","nativeSrc":"377897:6:21","nodeType":"YulIdentifier","src":"377897:6:21"},"nativeSrc":"377897:16:21","nodeType":"YulFunctionCall","src":"377897:16:21"},"nativeSrc":"377897:16:21","nodeType":"YulExpressionStatement","src":"377897:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377933:4:21","nodeType":"YulLiteral","src":"377933:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"377939:2:21","nodeType":"YulIdentifier","src":"377939:2:21"}],"functionName":{"name":"mstore","nativeSrc":"377926:6:21","nodeType":"YulIdentifier","src":"377926:6:21"},"nativeSrc":"377926:16:21","nodeType":"YulFunctionCall","src":"377926:16:21"},"nativeSrc":"377926:16:21","nodeType":"YulExpressionStatement","src":"377926:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377962:4:21","nodeType":"YulLiteral","src":"377962:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"377968:2:21","nodeType":"YulIdentifier","src":"377968:2:21"}],"functionName":{"name":"mstore","nativeSrc":"377955:6:21","nodeType":"YulIdentifier","src":"377955:6:21"},"nativeSrc":"377955:16:21","nodeType":"YulFunctionCall","src":"377955:16:21"},"nativeSrc":"377955:16:21","nodeType":"YulExpressionStatement","src":"377955:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377996:4:21","nodeType":"YulLiteral","src":"377996:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"378002:2:21","nodeType":"YulIdentifier","src":"378002:2:21"}],"functionName":{"name":"writeString","nativeSrc":"377984:11:21","nodeType":"YulIdentifier","src":"377984:11:21"},"nativeSrc":"377984:21:21","nodeType":"YulFunctionCall","src":"377984:21:21"},"nativeSrc":"377984:21:21","nodeType":"YulExpressionStatement","src":"377984:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38616,"isOffset":false,"isSlot":false,"src":"377556:2:21","valueSize":1},{"declaration":38619,"isOffset":false,"isSlot":false,"src":"377586:2:21","valueSize":1},{"declaration":38622,"isOffset":false,"isSlot":false,"src":"377616:2:21","valueSize":1},{"declaration":38625,"isOffset":false,"isSlot":false,"src":"377646:2:21","valueSize":1},{"declaration":38628,"isOffset":false,"isSlot":false,"src":"377676:2:21","valueSize":1},{"declaration":38631,"isOffset":false,"isSlot":false,"src":"377706:2:21","valueSize":1},{"declaration":38634,"isOffset":false,"isSlot":false,"src":"377736:2:21","valueSize":1},{"declaration":38606,"isOffset":false,"isSlot":false,"src":"378002:2:21","valueSize":1},{"declaration":38608,"isOffset":false,"isSlot":false,"src":"377910:2:21","valueSize":1},{"declaration":38610,"isOffset":false,"isSlot":false,"src":"377939:2:21","valueSize":1},{"declaration":38612,"isOffset":false,"isSlot":false,"src":"377968:2:21","valueSize":1}],"id":38636,"nodeType":"InlineAssembly","src":"377178:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"378040:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"378046:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"378024:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"378024:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38641,"nodeType":"ExpressionStatement","src":"378024:27:21"},{"AST":{"nativeSrc":"378113:214:21","nodeType":"YulBlock","src":"378113:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"378134:4:21","nodeType":"YulLiteral","src":"378134:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"378140:2:21","nodeType":"YulIdentifier","src":"378140:2:21"}],"functionName":{"name":"mstore","nativeSrc":"378127:6:21","nodeType":"YulIdentifier","src":"378127:6:21"},"nativeSrc":"378127:16:21","nodeType":"YulFunctionCall","src":"378127:16:21"},"nativeSrc":"378127:16:21","nodeType":"YulExpressionStatement","src":"378127:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378163:4:21","nodeType":"YulLiteral","src":"378163:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"378169:2:21","nodeType":"YulIdentifier","src":"378169:2:21"}],"functionName":{"name":"mstore","nativeSrc":"378156:6:21","nodeType":"YulIdentifier","src":"378156:6:21"},"nativeSrc":"378156:16:21","nodeType":"YulFunctionCall","src":"378156:16:21"},"nativeSrc":"378156:16:21","nodeType":"YulExpressionStatement","src":"378156:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378192:4:21","nodeType":"YulLiteral","src":"378192:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"378198:2:21","nodeType":"YulIdentifier","src":"378198:2:21"}],"functionName":{"name":"mstore","nativeSrc":"378185:6:21","nodeType":"YulIdentifier","src":"378185:6:21"},"nativeSrc":"378185:16:21","nodeType":"YulFunctionCall","src":"378185:16:21"},"nativeSrc":"378185:16:21","nodeType":"YulExpressionStatement","src":"378185:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378221:4:21","nodeType":"YulLiteral","src":"378221:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"378227:2:21","nodeType":"YulIdentifier","src":"378227:2:21"}],"functionName":{"name":"mstore","nativeSrc":"378214:6:21","nodeType":"YulIdentifier","src":"378214:6:21"},"nativeSrc":"378214:16:21","nodeType":"YulFunctionCall","src":"378214:16:21"},"nativeSrc":"378214:16:21","nodeType":"YulExpressionStatement","src":"378214:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378250:4:21","nodeType":"YulLiteral","src":"378250:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"378256:2:21","nodeType":"YulIdentifier","src":"378256:2:21"}],"functionName":{"name":"mstore","nativeSrc":"378243:6:21","nodeType":"YulIdentifier","src":"378243:6:21"},"nativeSrc":"378243:16:21","nodeType":"YulFunctionCall","src":"378243:16:21"},"nativeSrc":"378243:16:21","nodeType":"YulExpressionStatement","src":"378243:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378279:4:21","nodeType":"YulLiteral","src":"378279:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"378285:2:21","nodeType":"YulIdentifier","src":"378285:2:21"}],"functionName":{"name":"mstore","nativeSrc":"378272:6:21","nodeType":"YulIdentifier","src":"378272:6:21"},"nativeSrc":"378272:16:21","nodeType":"YulFunctionCall","src":"378272:16:21"},"nativeSrc":"378272:16:21","nodeType":"YulExpressionStatement","src":"378272:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378308:4:21","nodeType":"YulLiteral","src":"378308:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"378314:2:21","nodeType":"YulIdentifier","src":"378314:2:21"}],"functionName":{"name":"mstore","nativeSrc":"378301:6:21","nodeType":"YulIdentifier","src":"378301:6:21"},"nativeSrc":"378301:16:21","nodeType":"YulFunctionCall","src":"378301:16:21"},"nativeSrc":"378301:16:21","nodeType":"YulExpressionStatement","src":"378301:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38616,"isOffset":false,"isSlot":false,"src":"378140:2:21","valueSize":1},{"declaration":38619,"isOffset":false,"isSlot":false,"src":"378169:2:21","valueSize":1},{"declaration":38622,"isOffset":false,"isSlot":false,"src":"378198:2:21","valueSize":1},{"declaration":38625,"isOffset":false,"isSlot":false,"src":"378227:2:21","valueSize":1},{"declaration":38628,"isOffset":false,"isSlot":false,"src":"378256:2:21","valueSize":1},{"declaration":38631,"isOffset":false,"isSlot":false,"src":"378285:2:21","valueSize":1},{"declaration":38634,"isOffset":false,"isSlot":false,"src":"378314:2:21","valueSize":1}],"id":38642,"nodeType":"InlineAssembly","src":"378104:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"376922:3:21","parameters":{"id":38613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38606,"mutability":"mutable","name":"p0","nameLocation":"376934:2:21","nodeType":"VariableDeclaration","scope":38644,"src":"376926:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"376926:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38608,"mutability":"mutable","name":"p1","nameLocation":"376946:2:21","nodeType":"VariableDeclaration","scope":38644,"src":"376938:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38607,"name":"uint256","nodeType":"ElementaryTypeName","src":"376938:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38610,"mutability":"mutable","name":"p2","nameLocation":"376958:2:21","nodeType":"VariableDeclaration","scope":38644,"src":"376950:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38609,"name":"address","nodeType":"ElementaryTypeName","src":"376950:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38612,"mutability":"mutable","name":"p3","nameLocation":"376967:2:21","nodeType":"VariableDeclaration","scope":38644,"src":"376962:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38611,"name":"bool","nodeType":"ElementaryTypeName","src":"376962:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"376925:45:21"},"returnParameters":{"id":38614,"nodeType":"ParameterList","parameters":[],"src":"376985:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38684,"nodeType":"FunctionDefinition","src":"378339:1426:21","nodes":[],"body":{"id":38683,"nodeType":"Block","src":"378414:1351:21","nodes":[],"statements":[{"assignments":[38656],"declarations":[{"constant":false,"id":38656,"mutability":"mutable","name":"m0","nameLocation":"378432:2:21","nodeType":"VariableDeclaration","scope":38683,"src":"378424:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378424:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38657,"nodeType":"VariableDeclarationStatement","src":"378424:10:21"},{"assignments":[38659],"declarations":[{"constant":false,"id":38659,"mutability":"mutable","name":"m1","nameLocation":"378452:2:21","nodeType":"VariableDeclaration","scope":38683,"src":"378444:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378444:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38660,"nodeType":"VariableDeclarationStatement","src":"378444:10:21"},{"assignments":[38662],"declarations":[{"constant":false,"id":38662,"mutability":"mutable","name":"m2","nameLocation":"378472:2:21","nodeType":"VariableDeclaration","scope":38683,"src":"378464:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378464:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38663,"nodeType":"VariableDeclarationStatement","src":"378464:10:21"},{"assignments":[38665],"declarations":[{"constant":false,"id":38665,"mutability":"mutable","name":"m3","nameLocation":"378492:2:21","nodeType":"VariableDeclaration","scope":38683,"src":"378484:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378484:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38666,"nodeType":"VariableDeclarationStatement","src":"378484:10:21"},{"assignments":[38668],"declarations":[{"constant":false,"id":38668,"mutability":"mutable","name":"m4","nameLocation":"378512:2:21","nodeType":"VariableDeclaration","scope":38683,"src":"378504:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378504:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38669,"nodeType":"VariableDeclarationStatement","src":"378504:10:21"},{"assignments":[38671],"declarations":[{"constant":false,"id":38671,"mutability":"mutable","name":"m5","nameLocation":"378532:2:21","nodeType":"VariableDeclaration","scope":38683,"src":"378524:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378524:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38672,"nodeType":"VariableDeclarationStatement","src":"378524:10:21"},{"assignments":[38674],"declarations":[{"constant":false,"id":38674,"mutability":"mutable","name":"m6","nameLocation":"378552:2:21","nodeType":"VariableDeclaration","scope":38683,"src":"378544:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378544:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38675,"nodeType":"VariableDeclarationStatement","src":"378544:10:21"},{"AST":{"nativeSrc":"378616:831:21","nodeType":"YulBlock","src":"378616:831:21","statements":[{"body":{"nativeSrc":"378659:313:21","nodeType":"YulBlock","src":"378659:313:21","statements":[{"nativeSrc":"378677:15:21","nodeType":"YulVariableDeclaration","src":"378677:15:21","value":{"kind":"number","nativeSrc":"378691:1:21","nodeType":"YulLiteral","src":"378691:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"378681:6:21","nodeType":"YulTypedName","src":"378681:6:21","type":""}]},{"body":{"nativeSrc":"378762:40:21","nodeType":"YulBlock","src":"378762:40:21","statements":[{"body":{"nativeSrc":"378791:9:21","nodeType":"YulBlock","src":"378791:9:21","statements":[{"nativeSrc":"378793:5:21","nodeType":"YulBreak","src":"378793:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"378779:6:21","nodeType":"YulIdentifier","src":"378779:6:21"},{"name":"w","nativeSrc":"378787:1:21","nodeType":"YulIdentifier","src":"378787:1:21"}],"functionName":{"name":"byte","nativeSrc":"378774:4:21","nodeType":"YulIdentifier","src":"378774:4:21"},"nativeSrc":"378774:15:21","nodeType":"YulFunctionCall","src":"378774:15:21"}],"functionName":{"name":"iszero","nativeSrc":"378767:6:21","nodeType":"YulIdentifier","src":"378767:6:21"},"nativeSrc":"378767:23:21","nodeType":"YulFunctionCall","src":"378767:23:21"},"nativeSrc":"378764:36:21","nodeType":"YulIf","src":"378764:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"378719:6:21","nodeType":"YulIdentifier","src":"378719:6:21"},{"kind":"number","nativeSrc":"378727:4:21","nodeType":"YulLiteral","src":"378727:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"378716:2:21","nodeType":"YulIdentifier","src":"378716:2:21"},"nativeSrc":"378716:16:21","nodeType":"YulFunctionCall","src":"378716:16:21"},"nativeSrc":"378709:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"378733:28:21","nodeType":"YulBlock","src":"378733:28:21","statements":[{"nativeSrc":"378735:24:21","nodeType":"YulAssignment","src":"378735:24:21","value":{"arguments":[{"name":"length","nativeSrc":"378749:6:21","nodeType":"YulIdentifier","src":"378749:6:21"},{"kind":"number","nativeSrc":"378757:1:21","nodeType":"YulLiteral","src":"378757:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"378745:3:21","nodeType":"YulIdentifier","src":"378745:3:21"},"nativeSrc":"378745:14:21","nodeType":"YulFunctionCall","src":"378745:14:21"},"variableNames":[{"name":"length","nativeSrc":"378735:6:21","nodeType":"YulIdentifier","src":"378735:6:21"}]}]},"pre":{"nativeSrc":"378713:2:21","nodeType":"YulBlock","src":"378713:2:21","statements":[]},"src":"378709:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"378826:3:21","nodeType":"YulIdentifier","src":"378826:3:21"},{"name":"length","nativeSrc":"378831:6:21","nodeType":"YulIdentifier","src":"378831:6:21"}],"functionName":{"name":"mstore","nativeSrc":"378819:6:21","nodeType":"YulIdentifier","src":"378819:6:21"},"nativeSrc":"378819:19:21","nodeType":"YulFunctionCall","src":"378819:19:21"},"nativeSrc":"378819:19:21","nodeType":"YulExpressionStatement","src":"378819:19:21"},{"nativeSrc":"378855:37:21","nodeType":"YulVariableDeclaration","src":"378855:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"378872:3:21","nodeType":"YulLiteral","src":"378872:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"378881:1:21","nodeType":"YulLiteral","src":"378881:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"378884:6:21","nodeType":"YulIdentifier","src":"378884:6:21"}],"functionName":{"name":"shl","nativeSrc":"378877:3:21","nodeType":"YulIdentifier","src":"378877:3:21"},"nativeSrc":"378877:14:21","nodeType":"YulFunctionCall","src":"378877:14:21"}],"functionName":{"name":"sub","nativeSrc":"378868:3:21","nodeType":"YulIdentifier","src":"378868:3:21"},"nativeSrc":"378868:24:21","nodeType":"YulFunctionCall","src":"378868:24:21"},"variables":[{"name":"shift","nativeSrc":"378859:5:21","nodeType":"YulTypedName","src":"378859:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"378920:3:21","nodeType":"YulIdentifier","src":"378920:3:21"},{"kind":"number","nativeSrc":"378925:4:21","nodeType":"YulLiteral","src":"378925:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"378916:3:21","nodeType":"YulIdentifier","src":"378916:3:21"},"nativeSrc":"378916:14:21","nodeType":"YulFunctionCall","src":"378916:14:21"},{"arguments":[{"name":"shift","nativeSrc":"378936:5:21","nodeType":"YulIdentifier","src":"378936:5:21"},{"arguments":[{"name":"shift","nativeSrc":"378947:5:21","nodeType":"YulIdentifier","src":"378947:5:21"},{"name":"w","nativeSrc":"378954:1:21","nodeType":"YulIdentifier","src":"378954:1:21"}],"functionName":{"name":"shr","nativeSrc":"378943:3:21","nodeType":"YulIdentifier","src":"378943:3:21"},"nativeSrc":"378943:13:21","nodeType":"YulFunctionCall","src":"378943:13:21"}],"functionName":{"name":"shl","nativeSrc":"378932:3:21","nodeType":"YulIdentifier","src":"378932:3:21"},"nativeSrc":"378932:25:21","nodeType":"YulFunctionCall","src":"378932:25:21"}],"functionName":{"name":"mstore","nativeSrc":"378909:6:21","nodeType":"YulIdentifier","src":"378909:6:21"},"nativeSrc":"378909:49:21","nodeType":"YulFunctionCall","src":"378909:49:21"},"nativeSrc":"378909:49:21","nodeType":"YulExpressionStatement","src":"378909:49:21"}]},"name":"writeString","nativeSrc":"378630:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"378651:3:21","nodeType":"YulTypedName","src":"378651:3:21","type":""},{"name":"w","nativeSrc":"378656:1:21","nodeType":"YulTypedName","src":"378656:1:21","type":""}],"src":"378630:342:21"},{"nativeSrc":"378985:17:21","nodeType":"YulAssignment","src":"378985:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"378997:4:21","nodeType":"YulLiteral","src":"378997:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"378991:5:21","nodeType":"YulIdentifier","src":"378991:5:21"},"nativeSrc":"378991:11:21","nodeType":"YulFunctionCall","src":"378991:11:21"},"variableNames":[{"name":"m0","nativeSrc":"378985:2:21","nodeType":"YulIdentifier","src":"378985:2:21"}]},{"nativeSrc":"379015:17:21","nodeType":"YulAssignment","src":"379015:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"379027:4:21","nodeType":"YulLiteral","src":"379027:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"379021:5:21","nodeType":"YulIdentifier","src":"379021:5:21"},"nativeSrc":"379021:11:21","nodeType":"YulFunctionCall","src":"379021:11:21"},"variableNames":[{"name":"m1","nativeSrc":"379015:2:21","nodeType":"YulIdentifier","src":"379015:2:21"}]},{"nativeSrc":"379045:17:21","nodeType":"YulAssignment","src":"379045:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"379057:4:21","nodeType":"YulLiteral","src":"379057:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"379051:5:21","nodeType":"YulIdentifier","src":"379051:5:21"},"nativeSrc":"379051:11:21","nodeType":"YulFunctionCall","src":"379051:11:21"},"variableNames":[{"name":"m2","nativeSrc":"379045:2:21","nodeType":"YulIdentifier","src":"379045:2:21"}]},{"nativeSrc":"379075:17:21","nodeType":"YulAssignment","src":"379075:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"379087:4:21","nodeType":"YulLiteral","src":"379087:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"379081:5:21","nodeType":"YulIdentifier","src":"379081:5:21"},"nativeSrc":"379081:11:21","nodeType":"YulFunctionCall","src":"379081:11:21"},"variableNames":[{"name":"m3","nativeSrc":"379075:2:21","nodeType":"YulIdentifier","src":"379075:2:21"}]},{"nativeSrc":"379105:17:21","nodeType":"YulAssignment","src":"379105:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"379117:4:21","nodeType":"YulLiteral","src":"379117:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"379111:5:21","nodeType":"YulIdentifier","src":"379111:5:21"},"nativeSrc":"379111:11:21","nodeType":"YulFunctionCall","src":"379111:11:21"},"variableNames":[{"name":"m4","nativeSrc":"379105:2:21","nodeType":"YulIdentifier","src":"379105:2:21"}]},{"nativeSrc":"379135:17:21","nodeType":"YulAssignment","src":"379135:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"379147:4:21","nodeType":"YulLiteral","src":"379147:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"379141:5:21","nodeType":"YulIdentifier","src":"379141:5:21"},"nativeSrc":"379141:11:21","nodeType":"YulFunctionCall","src":"379141:11:21"},"variableNames":[{"name":"m5","nativeSrc":"379135:2:21","nodeType":"YulIdentifier","src":"379135:2:21"}]},{"nativeSrc":"379165:17:21","nodeType":"YulAssignment","src":"379165:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"379177:4:21","nodeType":"YulLiteral","src":"379177:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"379171:5:21","nodeType":"YulIdentifier","src":"379171:5:21"},"nativeSrc":"379171:11:21","nodeType":"YulFunctionCall","src":"379171:11:21"},"variableNames":[{"name":"m6","nativeSrc":"379165:2:21","nodeType":"YulIdentifier","src":"379165:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379268:4:21","nodeType":"YulLiteral","src":"379268:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"379274:10:21","nodeType":"YulLiteral","src":"379274:10:21","type":"","value":"0x4f04fdc6"}],"functionName":{"name":"mstore","nativeSrc":"379261:6:21","nodeType":"YulIdentifier","src":"379261:6:21"},"nativeSrc":"379261:24:21","nodeType":"YulFunctionCall","src":"379261:24:21"},"nativeSrc":"379261:24:21","nodeType":"YulExpressionStatement","src":"379261:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379305:4:21","nodeType":"YulLiteral","src":"379305:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"379311:4:21","nodeType":"YulLiteral","src":"379311:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"379298:6:21","nodeType":"YulIdentifier","src":"379298:6:21"},"nativeSrc":"379298:18:21","nodeType":"YulFunctionCall","src":"379298:18:21"},"nativeSrc":"379298:18:21","nodeType":"YulExpressionStatement","src":"379298:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379336:4:21","nodeType":"YulLiteral","src":"379336:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"379342:2:21","nodeType":"YulIdentifier","src":"379342:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379329:6:21","nodeType":"YulIdentifier","src":"379329:6:21"},"nativeSrc":"379329:16:21","nodeType":"YulFunctionCall","src":"379329:16:21"},"nativeSrc":"379329:16:21","nodeType":"YulExpressionStatement","src":"379329:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379365:4:21","nodeType":"YulLiteral","src":"379365:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"379371:2:21","nodeType":"YulIdentifier","src":"379371:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379358:6:21","nodeType":"YulIdentifier","src":"379358:6:21"},"nativeSrc":"379358:16:21","nodeType":"YulFunctionCall","src":"379358:16:21"},"nativeSrc":"379358:16:21","nodeType":"YulExpressionStatement","src":"379358:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379394:4:21","nodeType":"YulLiteral","src":"379394:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"379400:2:21","nodeType":"YulIdentifier","src":"379400:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379387:6:21","nodeType":"YulIdentifier","src":"379387:6:21"},"nativeSrc":"379387:16:21","nodeType":"YulFunctionCall","src":"379387:16:21"},"nativeSrc":"379387:16:21","nodeType":"YulExpressionStatement","src":"379387:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379428:4:21","nodeType":"YulLiteral","src":"379428:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"379434:2:21","nodeType":"YulIdentifier","src":"379434:2:21"}],"functionName":{"name":"writeString","nativeSrc":"379416:11:21","nodeType":"YulIdentifier","src":"379416:11:21"},"nativeSrc":"379416:21:21","nodeType":"YulFunctionCall","src":"379416:21:21"},"nativeSrc":"379416:21:21","nodeType":"YulExpressionStatement","src":"379416:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38656,"isOffset":false,"isSlot":false,"src":"378985:2:21","valueSize":1},{"declaration":38659,"isOffset":false,"isSlot":false,"src":"379015:2:21","valueSize":1},{"declaration":38662,"isOffset":false,"isSlot":false,"src":"379045:2:21","valueSize":1},{"declaration":38665,"isOffset":false,"isSlot":false,"src":"379075:2:21","valueSize":1},{"declaration":38668,"isOffset":false,"isSlot":false,"src":"379105:2:21","valueSize":1},{"declaration":38671,"isOffset":false,"isSlot":false,"src":"379135:2:21","valueSize":1},{"declaration":38674,"isOffset":false,"isSlot":false,"src":"379165:2:21","valueSize":1},{"declaration":38646,"isOffset":false,"isSlot":false,"src":"379434:2:21","valueSize":1},{"declaration":38648,"isOffset":false,"isSlot":false,"src":"379342:2:21","valueSize":1},{"declaration":38650,"isOffset":false,"isSlot":false,"src":"379371:2:21","valueSize":1},{"declaration":38652,"isOffset":false,"isSlot":false,"src":"379400:2:21","valueSize":1}],"id":38676,"nodeType":"InlineAssembly","src":"378607:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"379472:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"379478:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"379456:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"379456:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38681,"nodeType":"ExpressionStatement","src":"379456:27:21"},{"AST":{"nativeSrc":"379545:214:21","nodeType":"YulBlock","src":"379545:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"379566:4:21","nodeType":"YulLiteral","src":"379566:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"379572:2:21","nodeType":"YulIdentifier","src":"379572:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379559:6:21","nodeType":"YulIdentifier","src":"379559:6:21"},"nativeSrc":"379559:16:21","nodeType":"YulFunctionCall","src":"379559:16:21"},"nativeSrc":"379559:16:21","nodeType":"YulExpressionStatement","src":"379559:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379595:4:21","nodeType":"YulLiteral","src":"379595:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"379601:2:21","nodeType":"YulIdentifier","src":"379601:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379588:6:21","nodeType":"YulIdentifier","src":"379588:6:21"},"nativeSrc":"379588:16:21","nodeType":"YulFunctionCall","src":"379588:16:21"},"nativeSrc":"379588:16:21","nodeType":"YulExpressionStatement","src":"379588:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379624:4:21","nodeType":"YulLiteral","src":"379624:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"379630:2:21","nodeType":"YulIdentifier","src":"379630:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379617:6:21","nodeType":"YulIdentifier","src":"379617:6:21"},"nativeSrc":"379617:16:21","nodeType":"YulFunctionCall","src":"379617:16:21"},"nativeSrc":"379617:16:21","nodeType":"YulExpressionStatement","src":"379617:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379653:4:21","nodeType":"YulLiteral","src":"379653:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"379659:2:21","nodeType":"YulIdentifier","src":"379659:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379646:6:21","nodeType":"YulIdentifier","src":"379646:6:21"},"nativeSrc":"379646:16:21","nodeType":"YulFunctionCall","src":"379646:16:21"},"nativeSrc":"379646:16:21","nodeType":"YulExpressionStatement","src":"379646:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379682:4:21","nodeType":"YulLiteral","src":"379682:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"379688:2:21","nodeType":"YulIdentifier","src":"379688:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379675:6:21","nodeType":"YulIdentifier","src":"379675:6:21"},"nativeSrc":"379675:16:21","nodeType":"YulFunctionCall","src":"379675:16:21"},"nativeSrc":"379675:16:21","nodeType":"YulExpressionStatement","src":"379675:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379711:4:21","nodeType":"YulLiteral","src":"379711:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"379717:2:21","nodeType":"YulIdentifier","src":"379717:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379704:6:21","nodeType":"YulIdentifier","src":"379704:6:21"},"nativeSrc":"379704:16:21","nodeType":"YulFunctionCall","src":"379704:16:21"},"nativeSrc":"379704:16:21","nodeType":"YulExpressionStatement","src":"379704:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379740:4:21","nodeType":"YulLiteral","src":"379740:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"379746:2:21","nodeType":"YulIdentifier","src":"379746:2:21"}],"functionName":{"name":"mstore","nativeSrc":"379733:6:21","nodeType":"YulIdentifier","src":"379733:6:21"},"nativeSrc":"379733:16:21","nodeType":"YulFunctionCall","src":"379733:16:21"},"nativeSrc":"379733:16:21","nodeType":"YulExpressionStatement","src":"379733:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38656,"isOffset":false,"isSlot":false,"src":"379572:2:21","valueSize":1},{"declaration":38659,"isOffset":false,"isSlot":false,"src":"379601:2:21","valueSize":1},{"declaration":38662,"isOffset":false,"isSlot":false,"src":"379630:2:21","valueSize":1},{"declaration":38665,"isOffset":false,"isSlot":false,"src":"379659:2:21","valueSize":1},{"declaration":38668,"isOffset":false,"isSlot":false,"src":"379688:2:21","valueSize":1},{"declaration":38671,"isOffset":false,"isSlot":false,"src":"379717:2:21","valueSize":1},{"declaration":38674,"isOffset":false,"isSlot":false,"src":"379746:2:21","valueSize":1}],"id":38682,"nodeType":"InlineAssembly","src":"379536:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"378348:3:21","parameters":{"id":38653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38646,"mutability":"mutable","name":"p0","nameLocation":"378360:2:21","nodeType":"VariableDeclaration","scope":38684,"src":"378352:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378352:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38648,"mutability":"mutable","name":"p1","nameLocation":"378372:2:21","nodeType":"VariableDeclaration","scope":38684,"src":"378364:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38647,"name":"uint256","nodeType":"ElementaryTypeName","src":"378364:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38650,"mutability":"mutable","name":"p2","nameLocation":"378384:2:21","nodeType":"VariableDeclaration","scope":38684,"src":"378376:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38649,"name":"address","nodeType":"ElementaryTypeName","src":"378376:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38652,"mutability":"mutable","name":"p3","nameLocation":"378396:2:21","nodeType":"VariableDeclaration","scope":38684,"src":"378388:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38651,"name":"uint256","nodeType":"ElementaryTypeName","src":"378388:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"378351:48:21"},"returnParameters":{"id":38654,"nodeType":"ParameterList","parameters":[],"src":"378414:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38730,"nodeType":"FunctionDefinition","src":"379771:1622:21","nodes":[],"body":{"id":38729,"nodeType":"Block","src":"379846:1547:21","nodes":[],"statements":[{"assignments":[38696],"declarations":[{"constant":false,"id":38696,"mutability":"mutable","name":"m0","nameLocation":"379864:2:21","nodeType":"VariableDeclaration","scope":38729,"src":"379856:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379856:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38697,"nodeType":"VariableDeclarationStatement","src":"379856:10:21"},{"assignments":[38699],"declarations":[{"constant":false,"id":38699,"mutability":"mutable","name":"m1","nameLocation":"379884:2:21","nodeType":"VariableDeclaration","scope":38729,"src":"379876:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379876:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38700,"nodeType":"VariableDeclarationStatement","src":"379876:10:21"},{"assignments":[38702],"declarations":[{"constant":false,"id":38702,"mutability":"mutable","name":"m2","nameLocation":"379904:2:21","nodeType":"VariableDeclaration","scope":38729,"src":"379896:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379896:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38703,"nodeType":"VariableDeclarationStatement","src":"379896:10:21"},{"assignments":[38705],"declarations":[{"constant":false,"id":38705,"mutability":"mutable","name":"m3","nameLocation":"379924:2:21","nodeType":"VariableDeclaration","scope":38729,"src":"379916:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379916:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38706,"nodeType":"VariableDeclarationStatement","src":"379916:10:21"},{"assignments":[38708],"declarations":[{"constant":false,"id":38708,"mutability":"mutable","name":"m4","nameLocation":"379944:2:21","nodeType":"VariableDeclaration","scope":38729,"src":"379936:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379936:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38709,"nodeType":"VariableDeclarationStatement","src":"379936:10:21"},{"assignments":[38711],"declarations":[{"constant":false,"id":38711,"mutability":"mutable","name":"m5","nameLocation":"379964:2:21","nodeType":"VariableDeclaration","scope":38729,"src":"379956:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379956:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38712,"nodeType":"VariableDeclarationStatement","src":"379956:10:21"},{"assignments":[38714],"declarations":[{"constant":false,"id":38714,"mutability":"mutable","name":"m6","nameLocation":"379984:2:21","nodeType":"VariableDeclaration","scope":38729,"src":"379976:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379976:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38715,"nodeType":"VariableDeclarationStatement","src":"379976:10:21"},{"assignments":[38717],"declarations":[{"constant":false,"id":38717,"mutability":"mutable","name":"m7","nameLocation":"380004:2:21","nodeType":"VariableDeclaration","scope":38729,"src":"379996:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379996:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38718,"nodeType":"VariableDeclarationStatement","src":"379996:10:21"},{"assignments":[38720],"declarations":[{"constant":false,"id":38720,"mutability":"mutable","name":"m8","nameLocation":"380024:2:21","nodeType":"VariableDeclaration","scope":38729,"src":"380016:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"380016:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38721,"nodeType":"VariableDeclarationStatement","src":"380016:10:21"},{"AST":{"nativeSrc":"380088:927:21","nodeType":"YulBlock","src":"380088:927:21","statements":[{"body":{"nativeSrc":"380131:313:21","nodeType":"YulBlock","src":"380131:313:21","statements":[{"nativeSrc":"380149:15:21","nodeType":"YulVariableDeclaration","src":"380149:15:21","value":{"kind":"number","nativeSrc":"380163:1:21","nodeType":"YulLiteral","src":"380163:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"380153:6:21","nodeType":"YulTypedName","src":"380153:6:21","type":""}]},{"body":{"nativeSrc":"380234:40:21","nodeType":"YulBlock","src":"380234:40:21","statements":[{"body":{"nativeSrc":"380263:9:21","nodeType":"YulBlock","src":"380263:9:21","statements":[{"nativeSrc":"380265:5:21","nodeType":"YulBreak","src":"380265:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"380251:6:21","nodeType":"YulIdentifier","src":"380251:6:21"},{"name":"w","nativeSrc":"380259:1:21","nodeType":"YulIdentifier","src":"380259:1:21"}],"functionName":{"name":"byte","nativeSrc":"380246:4:21","nodeType":"YulIdentifier","src":"380246:4:21"},"nativeSrc":"380246:15:21","nodeType":"YulFunctionCall","src":"380246:15:21"}],"functionName":{"name":"iszero","nativeSrc":"380239:6:21","nodeType":"YulIdentifier","src":"380239:6:21"},"nativeSrc":"380239:23:21","nodeType":"YulFunctionCall","src":"380239:23:21"},"nativeSrc":"380236:36:21","nodeType":"YulIf","src":"380236:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"380191:6:21","nodeType":"YulIdentifier","src":"380191:6:21"},{"kind":"number","nativeSrc":"380199:4:21","nodeType":"YulLiteral","src":"380199:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"380188:2:21","nodeType":"YulIdentifier","src":"380188:2:21"},"nativeSrc":"380188:16:21","nodeType":"YulFunctionCall","src":"380188:16:21"},"nativeSrc":"380181:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"380205:28:21","nodeType":"YulBlock","src":"380205:28:21","statements":[{"nativeSrc":"380207:24:21","nodeType":"YulAssignment","src":"380207:24:21","value":{"arguments":[{"name":"length","nativeSrc":"380221:6:21","nodeType":"YulIdentifier","src":"380221:6:21"},{"kind":"number","nativeSrc":"380229:1:21","nodeType":"YulLiteral","src":"380229:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"380217:3:21","nodeType":"YulIdentifier","src":"380217:3:21"},"nativeSrc":"380217:14:21","nodeType":"YulFunctionCall","src":"380217:14:21"},"variableNames":[{"name":"length","nativeSrc":"380207:6:21","nodeType":"YulIdentifier","src":"380207:6:21"}]}]},"pre":{"nativeSrc":"380185:2:21","nodeType":"YulBlock","src":"380185:2:21","statements":[]},"src":"380181:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"380298:3:21","nodeType":"YulIdentifier","src":"380298:3:21"},{"name":"length","nativeSrc":"380303:6:21","nodeType":"YulIdentifier","src":"380303:6:21"}],"functionName":{"name":"mstore","nativeSrc":"380291:6:21","nodeType":"YulIdentifier","src":"380291:6:21"},"nativeSrc":"380291:19:21","nodeType":"YulFunctionCall","src":"380291:19:21"},"nativeSrc":"380291:19:21","nodeType":"YulExpressionStatement","src":"380291:19:21"},{"nativeSrc":"380327:37:21","nodeType":"YulVariableDeclaration","src":"380327:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"380344:3:21","nodeType":"YulLiteral","src":"380344:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"380353:1:21","nodeType":"YulLiteral","src":"380353:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"380356:6:21","nodeType":"YulIdentifier","src":"380356:6:21"}],"functionName":{"name":"shl","nativeSrc":"380349:3:21","nodeType":"YulIdentifier","src":"380349:3:21"},"nativeSrc":"380349:14:21","nodeType":"YulFunctionCall","src":"380349:14:21"}],"functionName":{"name":"sub","nativeSrc":"380340:3:21","nodeType":"YulIdentifier","src":"380340:3:21"},"nativeSrc":"380340:24:21","nodeType":"YulFunctionCall","src":"380340:24:21"},"variables":[{"name":"shift","nativeSrc":"380331:5:21","nodeType":"YulTypedName","src":"380331:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"380392:3:21","nodeType":"YulIdentifier","src":"380392:3:21"},{"kind":"number","nativeSrc":"380397:4:21","nodeType":"YulLiteral","src":"380397:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"380388:3:21","nodeType":"YulIdentifier","src":"380388:3:21"},"nativeSrc":"380388:14:21","nodeType":"YulFunctionCall","src":"380388:14:21"},{"arguments":[{"name":"shift","nativeSrc":"380408:5:21","nodeType":"YulIdentifier","src":"380408:5:21"},{"arguments":[{"name":"shift","nativeSrc":"380419:5:21","nodeType":"YulIdentifier","src":"380419:5:21"},{"name":"w","nativeSrc":"380426:1:21","nodeType":"YulIdentifier","src":"380426:1:21"}],"functionName":{"name":"shr","nativeSrc":"380415:3:21","nodeType":"YulIdentifier","src":"380415:3:21"},"nativeSrc":"380415:13:21","nodeType":"YulFunctionCall","src":"380415:13:21"}],"functionName":{"name":"shl","nativeSrc":"380404:3:21","nodeType":"YulIdentifier","src":"380404:3:21"},"nativeSrc":"380404:25:21","nodeType":"YulFunctionCall","src":"380404:25:21"}],"functionName":{"name":"mstore","nativeSrc":"380381:6:21","nodeType":"YulIdentifier","src":"380381:6:21"},"nativeSrc":"380381:49:21","nodeType":"YulFunctionCall","src":"380381:49:21"},"nativeSrc":"380381:49:21","nodeType":"YulExpressionStatement","src":"380381:49:21"}]},"name":"writeString","nativeSrc":"380102:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"380123:3:21","nodeType":"YulTypedName","src":"380123:3:21","type":""},{"name":"w","nativeSrc":"380128:1:21","nodeType":"YulTypedName","src":"380128:1:21","type":""}],"src":"380102:342:21"},{"nativeSrc":"380457:17:21","nodeType":"YulAssignment","src":"380457:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"380469:4:21","nodeType":"YulLiteral","src":"380469:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"380463:5:21","nodeType":"YulIdentifier","src":"380463:5:21"},"nativeSrc":"380463:11:21","nodeType":"YulFunctionCall","src":"380463:11:21"},"variableNames":[{"name":"m0","nativeSrc":"380457:2:21","nodeType":"YulIdentifier","src":"380457:2:21"}]},{"nativeSrc":"380487:17:21","nodeType":"YulAssignment","src":"380487:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"380499:4:21","nodeType":"YulLiteral","src":"380499:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"380493:5:21","nodeType":"YulIdentifier","src":"380493:5:21"},"nativeSrc":"380493:11:21","nodeType":"YulFunctionCall","src":"380493:11:21"},"variableNames":[{"name":"m1","nativeSrc":"380487:2:21","nodeType":"YulIdentifier","src":"380487:2:21"}]},{"nativeSrc":"380517:17:21","nodeType":"YulAssignment","src":"380517:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"380529:4:21","nodeType":"YulLiteral","src":"380529:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"380523:5:21","nodeType":"YulIdentifier","src":"380523:5:21"},"nativeSrc":"380523:11:21","nodeType":"YulFunctionCall","src":"380523:11:21"},"variableNames":[{"name":"m2","nativeSrc":"380517:2:21","nodeType":"YulIdentifier","src":"380517:2:21"}]},{"nativeSrc":"380547:17:21","nodeType":"YulAssignment","src":"380547:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"380559:4:21","nodeType":"YulLiteral","src":"380559:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"380553:5:21","nodeType":"YulIdentifier","src":"380553:5:21"},"nativeSrc":"380553:11:21","nodeType":"YulFunctionCall","src":"380553:11:21"},"variableNames":[{"name":"m3","nativeSrc":"380547:2:21","nodeType":"YulIdentifier","src":"380547:2:21"}]},{"nativeSrc":"380577:17:21","nodeType":"YulAssignment","src":"380577:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"380589:4:21","nodeType":"YulLiteral","src":"380589:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"380583:5:21","nodeType":"YulIdentifier","src":"380583:5:21"},"nativeSrc":"380583:11:21","nodeType":"YulFunctionCall","src":"380583:11:21"},"variableNames":[{"name":"m4","nativeSrc":"380577:2:21","nodeType":"YulIdentifier","src":"380577:2:21"}]},{"nativeSrc":"380607:17:21","nodeType":"YulAssignment","src":"380607:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"380619:4:21","nodeType":"YulLiteral","src":"380619:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"380613:5:21","nodeType":"YulIdentifier","src":"380613:5:21"},"nativeSrc":"380613:11:21","nodeType":"YulFunctionCall","src":"380613:11:21"},"variableNames":[{"name":"m5","nativeSrc":"380607:2:21","nodeType":"YulIdentifier","src":"380607:2:21"}]},{"nativeSrc":"380637:17:21","nodeType":"YulAssignment","src":"380637:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"380649:4:21","nodeType":"YulLiteral","src":"380649:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"380643:5:21","nodeType":"YulIdentifier","src":"380643:5:21"},"nativeSrc":"380643:11:21","nodeType":"YulFunctionCall","src":"380643:11:21"},"variableNames":[{"name":"m6","nativeSrc":"380637:2:21","nodeType":"YulIdentifier","src":"380637:2:21"}]},{"nativeSrc":"380667:17:21","nodeType":"YulAssignment","src":"380667:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"380679:4:21","nodeType":"YulLiteral","src":"380679:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"380673:5:21","nodeType":"YulIdentifier","src":"380673:5:21"},"nativeSrc":"380673:11:21","nodeType":"YulFunctionCall","src":"380673:11:21"},"variableNames":[{"name":"m7","nativeSrc":"380667:2:21","nodeType":"YulIdentifier","src":"380667:2:21"}]},{"nativeSrc":"380697:18:21","nodeType":"YulAssignment","src":"380697:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"380709:5:21","nodeType":"YulLiteral","src":"380709:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"380703:5:21","nodeType":"YulIdentifier","src":"380703:5:21"},"nativeSrc":"380703:12:21","nodeType":"YulFunctionCall","src":"380703:12:21"},"variableNames":[{"name":"m8","nativeSrc":"380697:2:21","nodeType":"YulIdentifier","src":"380697:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380800:4:21","nodeType":"YulLiteral","src":"380800:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"380806:10:21","nodeType":"YulLiteral","src":"380806:10:21","type":"","value":"0x9ffb2f93"}],"functionName":{"name":"mstore","nativeSrc":"380793:6:21","nodeType":"YulIdentifier","src":"380793:6:21"},"nativeSrc":"380793:24:21","nodeType":"YulFunctionCall","src":"380793:24:21"},"nativeSrc":"380793:24:21","nodeType":"YulExpressionStatement","src":"380793:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380837:4:21","nodeType":"YulLiteral","src":"380837:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"380843:4:21","nodeType":"YulLiteral","src":"380843:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"380830:6:21","nodeType":"YulIdentifier","src":"380830:6:21"},"nativeSrc":"380830:18:21","nodeType":"YulFunctionCall","src":"380830:18:21"},"nativeSrc":"380830:18:21","nodeType":"YulExpressionStatement","src":"380830:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380868:4:21","nodeType":"YulLiteral","src":"380868:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"380874:2:21","nodeType":"YulIdentifier","src":"380874:2:21"}],"functionName":{"name":"mstore","nativeSrc":"380861:6:21","nodeType":"YulIdentifier","src":"380861:6:21"},"nativeSrc":"380861:16:21","nodeType":"YulFunctionCall","src":"380861:16:21"},"nativeSrc":"380861:16:21","nodeType":"YulExpressionStatement","src":"380861:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380897:4:21","nodeType":"YulLiteral","src":"380897:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"380903:2:21","nodeType":"YulIdentifier","src":"380903:2:21"}],"functionName":{"name":"mstore","nativeSrc":"380890:6:21","nodeType":"YulIdentifier","src":"380890:6:21"},"nativeSrc":"380890:16:21","nodeType":"YulFunctionCall","src":"380890:16:21"},"nativeSrc":"380890:16:21","nodeType":"YulExpressionStatement","src":"380890:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380926:4:21","nodeType":"YulLiteral","src":"380926:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"380932:4:21","nodeType":"YulLiteral","src":"380932:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"380919:6:21","nodeType":"YulIdentifier","src":"380919:6:21"},"nativeSrc":"380919:18:21","nodeType":"YulFunctionCall","src":"380919:18:21"},"nativeSrc":"380919:18:21","nodeType":"YulExpressionStatement","src":"380919:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380962:4:21","nodeType":"YulLiteral","src":"380962:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"380968:2:21","nodeType":"YulIdentifier","src":"380968:2:21"}],"functionName":{"name":"writeString","nativeSrc":"380950:11:21","nodeType":"YulIdentifier","src":"380950:11:21"},"nativeSrc":"380950:21:21","nodeType":"YulFunctionCall","src":"380950:21:21"},"nativeSrc":"380950:21:21","nodeType":"YulExpressionStatement","src":"380950:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380996:4:21","nodeType":"YulLiteral","src":"380996:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"381002:2:21","nodeType":"YulIdentifier","src":"381002:2:21"}],"functionName":{"name":"writeString","nativeSrc":"380984:11:21","nodeType":"YulIdentifier","src":"380984:11:21"},"nativeSrc":"380984:21:21","nodeType":"YulFunctionCall","src":"380984:21:21"},"nativeSrc":"380984:21:21","nodeType":"YulExpressionStatement","src":"380984:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38696,"isOffset":false,"isSlot":false,"src":"380457:2:21","valueSize":1},{"declaration":38699,"isOffset":false,"isSlot":false,"src":"380487:2:21","valueSize":1},{"declaration":38702,"isOffset":false,"isSlot":false,"src":"380517:2:21","valueSize":1},{"declaration":38705,"isOffset":false,"isSlot":false,"src":"380547:2:21","valueSize":1},{"declaration":38708,"isOffset":false,"isSlot":false,"src":"380577:2:21","valueSize":1},{"declaration":38711,"isOffset":false,"isSlot":false,"src":"380607:2:21","valueSize":1},{"declaration":38714,"isOffset":false,"isSlot":false,"src":"380637:2:21","valueSize":1},{"declaration":38717,"isOffset":false,"isSlot":false,"src":"380667:2:21","valueSize":1},{"declaration":38720,"isOffset":false,"isSlot":false,"src":"380697:2:21","valueSize":1},{"declaration":38686,"isOffset":false,"isSlot":false,"src":"380968:2:21","valueSize":1},{"declaration":38688,"isOffset":false,"isSlot":false,"src":"380874:2:21","valueSize":1},{"declaration":38690,"isOffset":false,"isSlot":false,"src":"380903:2:21","valueSize":1},{"declaration":38692,"isOffset":false,"isSlot":false,"src":"381002:2:21","valueSize":1}],"id":38722,"nodeType":"InlineAssembly","src":"380079:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"381040:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"381046:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38723,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"381024:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"381024:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38727,"nodeType":"ExpressionStatement","src":"381024:28:21"},{"AST":{"nativeSrc":"381114:273:21","nodeType":"YulBlock","src":"381114:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"381135:4:21","nodeType":"YulLiteral","src":"381135:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"381141:2:21","nodeType":"YulIdentifier","src":"381141:2:21"}],"functionName":{"name":"mstore","nativeSrc":"381128:6:21","nodeType":"YulIdentifier","src":"381128:6:21"},"nativeSrc":"381128:16:21","nodeType":"YulFunctionCall","src":"381128:16:21"},"nativeSrc":"381128:16:21","nodeType":"YulExpressionStatement","src":"381128:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381164:4:21","nodeType":"YulLiteral","src":"381164:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"381170:2:21","nodeType":"YulIdentifier","src":"381170:2:21"}],"functionName":{"name":"mstore","nativeSrc":"381157:6:21","nodeType":"YulIdentifier","src":"381157:6:21"},"nativeSrc":"381157:16:21","nodeType":"YulFunctionCall","src":"381157:16:21"},"nativeSrc":"381157:16:21","nodeType":"YulExpressionStatement","src":"381157:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381193:4:21","nodeType":"YulLiteral","src":"381193:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"381199:2:21","nodeType":"YulIdentifier","src":"381199:2:21"}],"functionName":{"name":"mstore","nativeSrc":"381186:6:21","nodeType":"YulIdentifier","src":"381186:6:21"},"nativeSrc":"381186:16:21","nodeType":"YulFunctionCall","src":"381186:16:21"},"nativeSrc":"381186:16:21","nodeType":"YulExpressionStatement","src":"381186:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381222:4:21","nodeType":"YulLiteral","src":"381222:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"381228:2:21","nodeType":"YulIdentifier","src":"381228:2:21"}],"functionName":{"name":"mstore","nativeSrc":"381215:6:21","nodeType":"YulIdentifier","src":"381215:6:21"},"nativeSrc":"381215:16:21","nodeType":"YulFunctionCall","src":"381215:16:21"},"nativeSrc":"381215:16:21","nodeType":"YulExpressionStatement","src":"381215:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381251:4:21","nodeType":"YulLiteral","src":"381251:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"381257:2:21","nodeType":"YulIdentifier","src":"381257:2:21"}],"functionName":{"name":"mstore","nativeSrc":"381244:6:21","nodeType":"YulIdentifier","src":"381244:6:21"},"nativeSrc":"381244:16:21","nodeType":"YulFunctionCall","src":"381244:16:21"},"nativeSrc":"381244:16:21","nodeType":"YulExpressionStatement","src":"381244:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381280:4:21","nodeType":"YulLiteral","src":"381280:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"381286:2:21","nodeType":"YulIdentifier","src":"381286:2:21"}],"functionName":{"name":"mstore","nativeSrc":"381273:6:21","nodeType":"YulIdentifier","src":"381273:6:21"},"nativeSrc":"381273:16:21","nodeType":"YulFunctionCall","src":"381273:16:21"},"nativeSrc":"381273:16:21","nodeType":"YulExpressionStatement","src":"381273:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381309:4:21","nodeType":"YulLiteral","src":"381309:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"381315:2:21","nodeType":"YulIdentifier","src":"381315:2:21"}],"functionName":{"name":"mstore","nativeSrc":"381302:6:21","nodeType":"YulIdentifier","src":"381302:6:21"},"nativeSrc":"381302:16:21","nodeType":"YulFunctionCall","src":"381302:16:21"},"nativeSrc":"381302:16:21","nodeType":"YulExpressionStatement","src":"381302:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381338:4:21","nodeType":"YulLiteral","src":"381338:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"381344:2:21","nodeType":"YulIdentifier","src":"381344:2:21"}],"functionName":{"name":"mstore","nativeSrc":"381331:6:21","nodeType":"YulIdentifier","src":"381331:6:21"},"nativeSrc":"381331:16:21","nodeType":"YulFunctionCall","src":"381331:16:21"},"nativeSrc":"381331:16:21","nodeType":"YulExpressionStatement","src":"381331:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381367:5:21","nodeType":"YulLiteral","src":"381367:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"381374:2:21","nodeType":"YulIdentifier","src":"381374:2:21"}],"functionName":{"name":"mstore","nativeSrc":"381360:6:21","nodeType":"YulIdentifier","src":"381360:6:21"},"nativeSrc":"381360:17:21","nodeType":"YulFunctionCall","src":"381360:17:21"},"nativeSrc":"381360:17:21","nodeType":"YulExpressionStatement","src":"381360:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38696,"isOffset":false,"isSlot":false,"src":"381141:2:21","valueSize":1},{"declaration":38699,"isOffset":false,"isSlot":false,"src":"381170:2:21","valueSize":1},{"declaration":38702,"isOffset":false,"isSlot":false,"src":"381199:2:21","valueSize":1},{"declaration":38705,"isOffset":false,"isSlot":false,"src":"381228:2:21","valueSize":1},{"declaration":38708,"isOffset":false,"isSlot":false,"src":"381257:2:21","valueSize":1},{"declaration":38711,"isOffset":false,"isSlot":false,"src":"381286:2:21","valueSize":1},{"declaration":38714,"isOffset":false,"isSlot":false,"src":"381315:2:21","valueSize":1},{"declaration":38717,"isOffset":false,"isSlot":false,"src":"381344:2:21","valueSize":1},{"declaration":38720,"isOffset":false,"isSlot":false,"src":"381374:2:21","valueSize":1}],"id":38728,"nodeType":"InlineAssembly","src":"381105:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"379780:3:21","parameters":{"id":38693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38686,"mutability":"mutable","name":"p0","nameLocation":"379792:2:21","nodeType":"VariableDeclaration","scope":38730,"src":"379784:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379784:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38688,"mutability":"mutable","name":"p1","nameLocation":"379804:2:21","nodeType":"VariableDeclaration","scope":38730,"src":"379796:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38687,"name":"uint256","nodeType":"ElementaryTypeName","src":"379796:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38690,"mutability":"mutable","name":"p2","nameLocation":"379816:2:21","nodeType":"VariableDeclaration","scope":38730,"src":"379808:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38689,"name":"address","nodeType":"ElementaryTypeName","src":"379808:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38692,"mutability":"mutable","name":"p3","nameLocation":"379828:2:21","nodeType":"VariableDeclaration","scope":38730,"src":"379820:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379820:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"379783:48:21"},"returnParameters":{"id":38694,"nodeType":"ParameterList","parameters":[],"src":"379846:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38770,"nodeType":"FunctionDefinition","src":"381399:1420:21","nodes":[],"body":{"id":38769,"nodeType":"Block","src":"381471:1348:21","nodes":[],"statements":[{"assignments":[38742],"declarations":[{"constant":false,"id":38742,"mutability":"mutable","name":"m0","nameLocation":"381489:2:21","nodeType":"VariableDeclaration","scope":38769,"src":"381481:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381481:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38743,"nodeType":"VariableDeclarationStatement","src":"381481:10:21"},{"assignments":[38745],"declarations":[{"constant":false,"id":38745,"mutability":"mutable","name":"m1","nameLocation":"381509:2:21","nodeType":"VariableDeclaration","scope":38769,"src":"381501:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381501:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38746,"nodeType":"VariableDeclarationStatement","src":"381501:10:21"},{"assignments":[38748],"declarations":[{"constant":false,"id":38748,"mutability":"mutable","name":"m2","nameLocation":"381529:2:21","nodeType":"VariableDeclaration","scope":38769,"src":"381521:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381521:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38749,"nodeType":"VariableDeclarationStatement","src":"381521:10:21"},{"assignments":[38751],"declarations":[{"constant":false,"id":38751,"mutability":"mutable","name":"m3","nameLocation":"381549:2:21","nodeType":"VariableDeclaration","scope":38769,"src":"381541:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381541:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38752,"nodeType":"VariableDeclarationStatement","src":"381541:10:21"},{"assignments":[38754],"declarations":[{"constant":false,"id":38754,"mutability":"mutable","name":"m4","nameLocation":"381569:2:21","nodeType":"VariableDeclaration","scope":38769,"src":"381561:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381561:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38755,"nodeType":"VariableDeclarationStatement","src":"381561:10:21"},{"assignments":[38757],"declarations":[{"constant":false,"id":38757,"mutability":"mutable","name":"m5","nameLocation":"381589:2:21","nodeType":"VariableDeclaration","scope":38769,"src":"381581:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381581:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38758,"nodeType":"VariableDeclarationStatement","src":"381581:10:21"},{"assignments":[38760],"declarations":[{"constant":false,"id":38760,"mutability":"mutable","name":"m6","nameLocation":"381609:2:21","nodeType":"VariableDeclaration","scope":38769,"src":"381601:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381601:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38761,"nodeType":"VariableDeclarationStatement","src":"381601:10:21"},{"AST":{"nativeSrc":"381673:828:21","nodeType":"YulBlock","src":"381673:828:21","statements":[{"body":{"nativeSrc":"381716:313:21","nodeType":"YulBlock","src":"381716:313:21","statements":[{"nativeSrc":"381734:15:21","nodeType":"YulVariableDeclaration","src":"381734:15:21","value":{"kind":"number","nativeSrc":"381748:1:21","nodeType":"YulLiteral","src":"381748:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"381738:6:21","nodeType":"YulTypedName","src":"381738:6:21","type":""}]},{"body":{"nativeSrc":"381819:40:21","nodeType":"YulBlock","src":"381819:40:21","statements":[{"body":{"nativeSrc":"381848:9:21","nodeType":"YulBlock","src":"381848:9:21","statements":[{"nativeSrc":"381850:5:21","nodeType":"YulBreak","src":"381850:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"381836:6:21","nodeType":"YulIdentifier","src":"381836:6:21"},{"name":"w","nativeSrc":"381844:1:21","nodeType":"YulIdentifier","src":"381844:1:21"}],"functionName":{"name":"byte","nativeSrc":"381831:4:21","nodeType":"YulIdentifier","src":"381831:4:21"},"nativeSrc":"381831:15:21","nodeType":"YulFunctionCall","src":"381831:15:21"}],"functionName":{"name":"iszero","nativeSrc":"381824:6:21","nodeType":"YulIdentifier","src":"381824:6:21"},"nativeSrc":"381824:23:21","nodeType":"YulFunctionCall","src":"381824:23:21"},"nativeSrc":"381821:36:21","nodeType":"YulIf","src":"381821:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"381776:6:21","nodeType":"YulIdentifier","src":"381776:6:21"},{"kind":"number","nativeSrc":"381784:4:21","nodeType":"YulLiteral","src":"381784:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"381773:2:21","nodeType":"YulIdentifier","src":"381773:2:21"},"nativeSrc":"381773:16:21","nodeType":"YulFunctionCall","src":"381773:16:21"},"nativeSrc":"381766:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"381790:28:21","nodeType":"YulBlock","src":"381790:28:21","statements":[{"nativeSrc":"381792:24:21","nodeType":"YulAssignment","src":"381792:24:21","value":{"arguments":[{"name":"length","nativeSrc":"381806:6:21","nodeType":"YulIdentifier","src":"381806:6:21"},{"kind":"number","nativeSrc":"381814:1:21","nodeType":"YulLiteral","src":"381814:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"381802:3:21","nodeType":"YulIdentifier","src":"381802:3:21"},"nativeSrc":"381802:14:21","nodeType":"YulFunctionCall","src":"381802:14:21"},"variableNames":[{"name":"length","nativeSrc":"381792:6:21","nodeType":"YulIdentifier","src":"381792:6:21"}]}]},"pre":{"nativeSrc":"381770:2:21","nodeType":"YulBlock","src":"381770:2:21","statements":[]},"src":"381766:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"381883:3:21","nodeType":"YulIdentifier","src":"381883:3:21"},{"name":"length","nativeSrc":"381888:6:21","nodeType":"YulIdentifier","src":"381888:6:21"}],"functionName":{"name":"mstore","nativeSrc":"381876:6:21","nodeType":"YulIdentifier","src":"381876:6:21"},"nativeSrc":"381876:19:21","nodeType":"YulFunctionCall","src":"381876:19:21"},"nativeSrc":"381876:19:21","nodeType":"YulExpressionStatement","src":"381876:19:21"},{"nativeSrc":"381912:37:21","nodeType":"YulVariableDeclaration","src":"381912:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"381929:3:21","nodeType":"YulLiteral","src":"381929:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"381938:1:21","nodeType":"YulLiteral","src":"381938:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"381941:6:21","nodeType":"YulIdentifier","src":"381941:6:21"}],"functionName":{"name":"shl","nativeSrc":"381934:3:21","nodeType":"YulIdentifier","src":"381934:3:21"},"nativeSrc":"381934:14:21","nodeType":"YulFunctionCall","src":"381934:14:21"}],"functionName":{"name":"sub","nativeSrc":"381925:3:21","nodeType":"YulIdentifier","src":"381925:3:21"},"nativeSrc":"381925:24:21","nodeType":"YulFunctionCall","src":"381925:24:21"},"variables":[{"name":"shift","nativeSrc":"381916:5:21","nodeType":"YulTypedName","src":"381916:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"381977:3:21","nodeType":"YulIdentifier","src":"381977:3:21"},{"kind":"number","nativeSrc":"381982:4:21","nodeType":"YulLiteral","src":"381982:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"381973:3:21","nodeType":"YulIdentifier","src":"381973:3:21"},"nativeSrc":"381973:14:21","nodeType":"YulFunctionCall","src":"381973:14:21"},{"arguments":[{"name":"shift","nativeSrc":"381993:5:21","nodeType":"YulIdentifier","src":"381993:5:21"},{"arguments":[{"name":"shift","nativeSrc":"382004:5:21","nodeType":"YulIdentifier","src":"382004:5:21"},{"name":"w","nativeSrc":"382011:1:21","nodeType":"YulIdentifier","src":"382011:1:21"}],"functionName":{"name":"shr","nativeSrc":"382000:3:21","nodeType":"YulIdentifier","src":"382000:3:21"},"nativeSrc":"382000:13:21","nodeType":"YulFunctionCall","src":"382000:13:21"}],"functionName":{"name":"shl","nativeSrc":"381989:3:21","nodeType":"YulIdentifier","src":"381989:3:21"},"nativeSrc":"381989:25:21","nodeType":"YulFunctionCall","src":"381989:25:21"}],"functionName":{"name":"mstore","nativeSrc":"381966:6:21","nodeType":"YulIdentifier","src":"381966:6:21"},"nativeSrc":"381966:49:21","nodeType":"YulFunctionCall","src":"381966:49:21"},"nativeSrc":"381966:49:21","nodeType":"YulExpressionStatement","src":"381966:49:21"}]},"name":"writeString","nativeSrc":"381687:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"381708:3:21","nodeType":"YulTypedName","src":"381708:3:21","type":""},{"name":"w","nativeSrc":"381713:1:21","nodeType":"YulTypedName","src":"381713:1:21","type":""}],"src":"381687:342:21"},{"nativeSrc":"382042:17:21","nodeType":"YulAssignment","src":"382042:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"382054:4:21","nodeType":"YulLiteral","src":"382054:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"382048:5:21","nodeType":"YulIdentifier","src":"382048:5:21"},"nativeSrc":"382048:11:21","nodeType":"YulFunctionCall","src":"382048:11:21"},"variableNames":[{"name":"m0","nativeSrc":"382042:2:21","nodeType":"YulIdentifier","src":"382042:2:21"}]},{"nativeSrc":"382072:17:21","nodeType":"YulAssignment","src":"382072:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"382084:4:21","nodeType":"YulLiteral","src":"382084:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"382078:5:21","nodeType":"YulIdentifier","src":"382078:5:21"},"nativeSrc":"382078:11:21","nodeType":"YulFunctionCall","src":"382078:11:21"},"variableNames":[{"name":"m1","nativeSrc":"382072:2:21","nodeType":"YulIdentifier","src":"382072:2:21"}]},{"nativeSrc":"382102:17:21","nodeType":"YulAssignment","src":"382102:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"382114:4:21","nodeType":"YulLiteral","src":"382114:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"382108:5:21","nodeType":"YulIdentifier","src":"382108:5:21"},"nativeSrc":"382108:11:21","nodeType":"YulFunctionCall","src":"382108:11:21"},"variableNames":[{"name":"m2","nativeSrc":"382102:2:21","nodeType":"YulIdentifier","src":"382102:2:21"}]},{"nativeSrc":"382132:17:21","nodeType":"YulAssignment","src":"382132:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"382144:4:21","nodeType":"YulLiteral","src":"382144:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"382138:5:21","nodeType":"YulIdentifier","src":"382138:5:21"},"nativeSrc":"382138:11:21","nodeType":"YulFunctionCall","src":"382138:11:21"},"variableNames":[{"name":"m3","nativeSrc":"382132:2:21","nodeType":"YulIdentifier","src":"382132:2:21"}]},{"nativeSrc":"382162:17:21","nodeType":"YulAssignment","src":"382162:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"382174:4:21","nodeType":"YulLiteral","src":"382174:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"382168:5:21","nodeType":"YulIdentifier","src":"382168:5:21"},"nativeSrc":"382168:11:21","nodeType":"YulFunctionCall","src":"382168:11:21"},"variableNames":[{"name":"m4","nativeSrc":"382162:2:21","nodeType":"YulIdentifier","src":"382162:2:21"}]},{"nativeSrc":"382192:17:21","nodeType":"YulAssignment","src":"382192:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"382204:4:21","nodeType":"YulLiteral","src":"382204:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"382198:5:21","nodeType":"YulIdentifier","src":"382198:5:21"},"nativeSrc":"382198:11:21","nodeType":"YulFunctionCall","src":"382198:11:21"},"variableNames":[{"name":"m5","nativeSrc":"382192:2:21","nodeType":"YulIdentifier","src":"382192:2:21"}]},{"nativeSrc":"382222:17:21","nodeType":"YulAssignment","src":"382222:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"382234:4:21","nodeType":"YulLiteral","src":"382234:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"382228:5:21","nodeType":"YulIdentifier","src":"382228:5:21"},"nativeSrc":"382228:11:21","nodeType":"YulFunctionCall","src":"382228:11:21"},"variableNames":[{"name":"m6","nativeSrc":"382222:2:21","nodeType":"YulIdentifier","src":"382222:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382322:4:21","nodeType":"YulLiteral","src":"382322:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"382328:10:21","nodeType":"YulLiteral","src":"382328:10:21","type":"","value":"0xe0e95b98"}],"functionName":{"name":"mstore","nativeSrc":"382315:6:21","nodeType":"YulIdentifier","src":"382315:6:21"},"nativeSrc":"382315:24:21","nodeType":"YulFunctionCall","src":"382315:24:21"},"nativeSrc":"382315:24:21","nodeType":"YulExpressionStatement","src":"382315:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382359:4:21","nodeType":"YulLiteral","src":"382359:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"382365:4:21","nodeType":"YulLiteral","src":"382365:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"382352:6:21","nodeType":"YulIdentifier","src":"382352:6:21"},"nativeSrc":"382352:18:21","nodeType":"YulFunctionCall","src":"382352:18:21"},"nativeSrc":"382352:18:21","nodeType":"YulExpressionStatement","src":"382352:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382390:4:21","nodeType":"YulLiteral","src":"382390:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"382396:2:21","nodeType":"YulIdentifier","src":"382396:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382383:6:21","nodeType":"YulIdentifier","src":"382383:6:21"},"nativeSrc":"382383:16:21","nodeType":"YulFunctionCall","src":"382383:16:21"},"nativeSrc":"382383:16:21","nodeType":"YulExpressionStatement","src":"382383:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382419:4:21","nodeType":"YulLiteral","src":"382419:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"382425:2:21","nodeType":"YulIdentifier","src":"382425:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382412:6:21","nodeType":"YulIdentifier","src":"382412:6:21"},"nativeSrc":"382412:16:21","nodeType":"YulFunctionCall","src":"382412:16:21"},"nativeSrc":"382412:16:21","nodeType":"YulExpressionStatement","src":"382412:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382448:4:21","nodeType":"YulLiteral","src":"382448:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"382454:2:21","nodeType":"YulIdentifier","src":"382454:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382441:6:21","nodeType":"YulIdentifier","src":"382441:6:21"},"nativeSrc":"382441:16:21","nodeType":"YulFunctionCall","src":"382441:16:21"},"nativeSrc":"382441:16:21","nodeType":"YulExpressionStatement","src":"382441:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382482:4:21","nodeType":"YulLiteral","src":"382482:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"382488:2:21","nodeType":"YulIdentifier","src":"382488:2:21"}],"functionName":{"name":"writeString","nativeSrc":"382470:11:21","nodeType":"YulIdentifier","src":"382470:11:21"},"nativeSrc":"382470:21:21","nodeType":"YulFunctionCall","src":"382470:21:21"},"nativeSrc":"382470:21:21","nodeType":"YulExpressionStatement","src":"382470:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38742,"isOffset":false,"isSlot":false,"src":"382042:2:21","valueSize":1},{"declaration":38745,"isOffset":false,"isSlot":false,"src":"382072:2:21","valueSize":1},{"declaration":38748,"isOffset":false,"isSlot":false,"src":"382102:2:21","valueSize":1},{"declaration":38751,"isOffset":false,"isSlot":false,"src":"382132:2:21","valueSize":1},{"declaration":38754,"isOffset":false,"isSlot":false,"src":"382162:2:21","valueSize":1},{"declaration":38757,"isOffset":false,"isSlot":false,"src":"382192:2:21","valueSize":1},{"declaration":38760,"isOffset":false,"isSlot":false,"src":"382222:2:21","valueSize":1},{"declaration":38732,"isOffset":false,"isSlot":false,"src":"382488:2:21","valueSize":1},{"declaration":38734,"isOffset":false,"isSlot":false,"src":"382396:2:21","valueSize":1},{"declaration":38736,"isOffset":false,"isSlot":false,"src":"382425:2:21","valueSize":1},{"declaration":38738,"isOffset":false,"isSlot":false,"src":"382454:2:21","valueSize":1}],"id":38762,"nodeType":"InlineAssembly","src":"381664:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"382526:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"382532:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38763,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"382510:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"382510:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38767,"nodeType":"ExpressionStatement","src":"382510:27:21"},{"AST":{"nativeSrc":"382599:214:21","nodeType":"YulBlock","src":"382599:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"382620:4:21","nodeType":"YulLiteral","src":"382620:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"382626:2:21","nodeType":"YulIdentifier","src":"382626:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382613:6:21","nodeType":"YulIdentifier","src":"382613:6:21"},"nativeSrc":"382613:16:21","nodeType":"YulFunctionCall","src":"382613:16:21"},"nativeSrc":"382613:16:21","nodeType":"YulExpressionStatement","src":"382613:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382649:4:21","nodeType":"YulLiteral","src":"382649:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"382655:2:21","nodeType":"YulIdentifier","src":"382655:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382642:6:21","nodeType":"YulIdentifier","src":"382642:6:21"},"nativeSrc":"382642:16:21","nodeType":"YulFunctionCall","src":"382642:16:21"},"nativeSrc":"382642:16:21","nodeType":"YulExpressionStatement","src":"382642:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382678:4:21","nodeType":"YulLiteral","src":"382678:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"382684:2:21","nodeType":"YulIdentifier","src":"382684:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382671:6:21","nodeType":"YulIdentifier","src":"382671:6:21"},"nativeSrc":"382671:16:21","nodeType":"YulFunctionCall","src":"382671:16:21"},"nativeSrc":"382671:16:21","nodeType":"YulExpressionStatement","src":"382671:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382707:4:21","nodeType":"YulLiteral","src":"382707:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"382713:2:21","nodeType":"YulIdentifier","src":"382713:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382700:6:21","nodeType":"YulIdentifier","src":"382700:6:21"},"nativeSrc":"382700:16:21","nodeType":"YulFunctionCall","src":"382700:16:21"},"nativeSrc":"382700:16:21","nodeType":"YulExpressionStatement","src":"382700:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382736:4:21","nodeType":"YulLiteral","src":"382736:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"382742:2:21","nodeType":"YulIdentifier","src":"382742:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382729:6:21","nodeType":"YulIdentifier","src":"382729:6:21"},"nativeSrc":"382729:16:21","nodeType":"YulFunctionCall","src":"382729:16:21"},"nativeSrc":"382729:16:21","nodeType":"YulExpressionStatement","src":"382729:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382765:4:21","nodeType":"YulLiteral","src":"382765:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"382771:2:21","nodeType":"YulIdentifier","src":"382771:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382758:6:21","nodeType":"YulIdentifier","src":"382758:6:21"},"nativeSrc":"382758:16:21","nodeType":"YulFunctionCall","src":"382758:16:21"},"nativeSrc":"382758:16:21","nodeType":"YulExpressionStatement","src":"382758:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382794:4:21","nodeType":"YulLiteral","src":"382794:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"382800:2:21","nodeType":"YulIdentifier","src":"382800:2:21"}],"functionName":{"name":"mstore","nativeSrc":"382787:6:21","nodeType":"YulIdentifier","src":"382787:6:21"},"nativeSrc":"382787:16:21","nodeType":"YulFunctionCall","src":"382787:16:21"},"nativeSrc":"382787:16:21","nodeType":"YulExpressionStatement","src":"382787:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38742,"isOffset":false,"isSlot":false,"src":"382626:2:21","valueSize":1},{"declaration":38745,"isOffset":false,"isSlot":false,"src":"382655:2:21","valueSize":1},{"declaration":38748,"isOffset":false,"isSlot":false,"src":"382684:2:21","valueSize":1},{"declaration":38751,"isOffset":false,"isSlot":false,"src":"382713:2:21","valueSize":1},{"declaration":38754,"isOffset":false,"isSlot":false,"src":"382742:2:21","valueSize":1},{"declaration":38757,"isOffset":false,"isSlot":false,"src":"382771:2:21","valueSize":1},{"declaration":38760,"isOffset":false,"isSlot":false,"src":"382800:2:21","valueSize":1}],"id":38768,"nodeType":"InlineAssembly","src":"382590:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"381408:3:21","parameters":{"id":38739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38732,"mutability":"mutable","name":"p0","nameLocation":"381420:2:21","nodeType":"VariableDeclaration","scope":38770,"src":"381412:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381412:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38734,"mutability":"mutable","name":"p1","nameLocation":"381432:2:21","nodeType":"VariableDeclaration","scope":38770,"src":"381424:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38733,"name":"uint256","nodeType":"ElementaryTypeName","src":"381424:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38736,"mutability":"mutable","name":"p2","nameLocation":"381441:2:21","nodeType":"VariableDeclaration","scope":38770,"src":"381436:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38735,"name":"bool","nodeType":"ElementaryTypeName","src":"381436:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38738,"mutability":"mutable","name":"p3","nameLocation":"381453:2:21","nodeType":"VariableDeclaration","scope":38770,"src":"381445:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38737,"name":"address","nodeType":"ElementaryTypeName","src":"381445:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"381411:45:21"},"returnParameters":{"id":38740,"nodeType":"ParameterList","parameters":[],"src":"381471:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38810,"nodeType":"FunctionDefinition","src":"382825:1414:21","nodes":[],"body":{"id":38809,"nodeType":"Block","src":"382894:1345:21","nodes":[],"statements":[{"assignments":[38782],"declarations":[{"constant":false,"id":38782,"mutability":"mutable","name":"m0","nameLocation":"382912:2:21","nodeType":"VariableDeclaration","scope":38809,"src":"382904:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382904:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38783,"nodeType":"VariableDeclarationStatement","src":"382904:10:21"},{"assignments":[38785],"declarations":[{"constant":false,"id":38785,"mutability":"mutable","name":"m1","nameLocation":"382932:2:21","nodeType":"VariableDeclaration","scope":38809,"src":"382924:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382924:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38786,"nodeType":"VariableDeclarationStatement","src":"382924:10:21"},{"assignments":[38788],"declarations":[{"constant":false,"id":38788,"mutability":"mutable","name":"m2","nameLocation":"382952:2:21","nodeType":"VariableDeclaration","scope":38809,"src":"382944:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382944:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38789,"nodeType":"VariableDeclarationStatement","src":"382944:10:21"},{"assignments":[38791],"declarations":[{"constant":false,"id":38791,"mutability":"mutable","name":"m3","nameLocation":"382972:2:21","nodeType":"VariableDeclaration","scope":38809,"src":"382964:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382964:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38792,"nodeType":"VariableDeclarationStatement","src":"382964:10:21"},{"assignments":[38794],"declarations":[{"constant":false,"id":38794,"mutability":"mutable","name":"m4","nameLocation":"382992:2:21","nodeType":"VariableDeclaration","scope":38809,"src":"382984:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382984:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38795,"nodeType":"VariableDeclarationStatement","src":"382984:10:21"},{"assignments":[38797],"declarations":[{"constant":false,"id":38797,"mutability":"mutable","name":"m5","nameLocation":"383012:2:21","nodeType":"VariableDeclaration","scope":38809,"src":"383004:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"383004:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38798,"nodeType":"VariableDeclarationStatement","src":"383004:10:21"},{"assignments":[38800],"declarations":[{"constant":false,"id":38800,"mutability":"mutable","name":"m6","nameLocation":"383032:2:21","nodeType":"VariableDeclaration","scope":38809,"src":"383024:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"383024:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38801,"nodeType":"VariableDeclarationStatement","src":"383024:10:21"},{"AST":{"nativeSrc":"383096:825:21","nodeType":"YulBlock","src":"383096:825:21","statements":[{"body":{"nativeSrc":"383139:313:21","nodeType":"YulBlock","src":"383139:313:21","statements":[{"nativeSrc":"383157:15:21","nodeType":"YulVariableDeclaration","src":"383157:15:21","value":{"kind":"number","nativeSrc":"383171:1:21","nodeType":"YulLiteral","src":"383171:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"383161:6:21","nodeType":"YulTypedName","src":"383161:6:21","type":""}]},{"body":{"nativeSrc":"383242:40:21","nodeType":"YulBlock","src":"383242:40:21","statements":[{"body":{"nativeSrc":"383271:9:21","nodeType":"YulBlock","src":"383271:9:21","statements":[{"nativeSrc":"383273:5:21","nodeType":"YulBreak","src":"383273:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"383259:6:21","nodeType":"YulIdentifier","src":"383259:6:21"},{"name":"w","nativeSrc":"383267:1:21","nodeType":"YulIdentifier","src":"383267:1:21"}],"functionName":{"name":"byte","nativeSrc":"383254:4:21","nodeType":"YulIdentifier","src":"383254:4:21"},"nativeSrc":"383254:15:21","nodeType":"YulFunctionCall","src":"383254:15:21"}],"functionName":{"name":"iszero","nativeSrc":"383247:6:21","nodeType":"YulIdentifier","src":"383247:6:21"},"nativeSrc":"383247:23:21","nodeType":"YulFunctionCall","src":"383247:23:21"},"nativeSrc":"383244:36:21","nodeType":"YulIf","src":"383244:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"383199:6:21","nodeType":"YulIdentifier","src":"383199:6:21"},{"kind":"number","nativeSrc":"383207:4:21","nodeType":"YulLiteral","src":"383207:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"383196:2:21","nodeType":"YulIdentifier","src":"383196:2:21"},"nativeSrc":"383196:16:21","nodeType":"YulFunctionCall","src":"383196:16:21"},"nativeSrc":"383189:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"383213:28:21","nodeType":"YulBlock","src":"383213:28:21","statements":[{"nativeSrc":"383215:24:21","nodeType":"YulAssignment","src":"383215:24:21","value":{"arguments":[{"name":"length","nativeSrc":"383229:6:21","nodeType":"YulIdentifier","src":"383229:6:21"},{"kind":"number","nativeSrc":"383237:1:21","nodeType":"YulLiteral","src":"383237:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"383225:3:21","nodeType":"YulIdentifier","src":"383225:3:21"},"nativeSrc":"383225:14:21","nodeType":"YulFunctionCall","src":"383225:14:21"},"variableNames":[{"name":"length","nativeSrc":"383215:6:21","nodeType":"YulIdentifier","src":"383215:6:21"}]}]},"pre":{"nativeSrc":"383193:2:21","nodeType":"YulBlock","src":"383193:2:21","statements":[]},"src":"383189:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"383306:3:21","nodeType":"YulIdentifier","src":"383306:3:21"},{"name":"length","nativeSrc":"383311:6:21","nodeType":"YulIdentifier","src":"383311:6:21"}],"functionName":{"name":"mstore","nativeSrc":"383299:6:21","nodeType":"YulIdentifier","src":"383299:6:21"},"nativeSrc":"383299:19:21","nodeType":"YulFunctionCall","src":"383299:19:21"},"nativeSrc":"383299:19:21","nodeType":"YulExpressionStatement","src":"383299:19:21"},{"nativeSrc":"383335:37:21","nodeType":"YulVariableDeclaration","src":"383335:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"383352:3:21","nodeType":"YulLiteral","src":"383352:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"383361:1:21","nodeType":"YulLiteral","src":"383361:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"383364:6:21","nodeType":"YulIdentifier","src":"383364:6:21"}],"functionName":{"name":"shl","nativeSrc":"383357:3:21","nodeType":"YulIdentifier","src":"383357:3:21"},"nativeSrc":"383357:14:21","nodeType":"YulFunctionCall","src":"383357:14:21"}],"functionName":{"name":"sub","nativeSrc":"383348:3:21","nodeType":"YulIdentifier","src":"383348:3:21"},"nativeSrc":"383348:24:21","nodeType":"YulFunctionCall","src":"383348:24:21"},"variables":[{"name":"shift","nativeSrc":"383339:5:21","nodeType":"YulTypedName","src":"383339:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"383400:3:21","nodeType":"YulIdentifier","src":"383400:3:21"},{"kind":"number","nativeSrc":"383405:4:21","nodeType":"YulLiteral","src":"383405:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"383396:3:21","nodeType":"YulIdentifier","src":"383396:3:21"},"nativeSrc":"383396:14:21","nodeType":"YulFunctionCall","src":"383396:14:21"},{"arguments":[{"name":"shift","nativeSrc":"383416:5:21","nodeType":"YulIdentifier","src":"383416:5:21"},{"arguments":[{"name":"shift","nativeSrc":"383427:5:21","nodeType":"YulIdentifier","src":"383427:5:21"},{"name":"w","nativeSrc":"383434:1:21","nodeType":"YulIdentifier","src":"383434:1:21"}],"functionName":{"name":"shr","nativeSrc":"383423:3:21","nodeType":"YulIdentifier","src":"383423:3:21"},"nativeSrc":"383423:13:21","nodeType":"YulFunctionCall","src":"383423:13:21"}],"functionName":{"name":"shl","nativeSrc":"383412:3:21","nodeType":"YulIdentifier","src":"383412:3:21"},"nativeSrc":"383412:25:21","nodeType":"YulFunctionCall","src":"383412:25:21"}],"functionName":{"name":"mstore","nativeSrc":"383389:6:21","nodeType":"YulIdentifier","src":"383389:6:21"},"nativeSrc":"383389:49:21","nodeType":"YulFunctionCall","src":"383389:49:21"},"nativeSrc":"383389:49:21","nodeType":"YulExpressionStatement","src":"383389:49:21"}]},"name":"writeString","nativeSrc":"383110:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"383131:3:21","nodeType":"YulTypedName","src":"383131:3:21","type":""},{"name":"w","nativeSrc":"383136:1:21","nodeType":"YulTypedName","src":"383136:1:21","type":""}],"src":"383110:342:21"},{"nativeSrc":"383465:17:21","nodeType":"YulAssignment","src":"383465:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"383477:4:21","nodeType":"YulLiteral","src":"383477:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"383471:5:21","nodeType":"YulIdentifier","src":"383471:5:21"},"nativeSrc":"383471:11:21","nodeType":"YulFunctionCall","src":"383471:11:21"},"variableNames":[{"name":"m0","nativeSrc":"383465:2:21","nodeType":"YulIdentifier","src":"383465:2:21"}]},{"nativeSrc":"383495:17:21","nodeType":"YulAssignment","src":"383495:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"383507:4:21","nodeType":"YulLiteral","src":"383507:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"383501:5:21","nodeType":"YulIdentifier","src":"383501:5:21"},"nativeSrc":"383501:11:21","nodeType":"YulFunctionCall","src":"383501:11:21"},"variableNames":[{"name":"m1","nativeSrc":"383495:2:21","nodeType":"YulIdentifier","src":"383495:2:21"}]},{"nativeSrc":"383525:17:21","nodeType":"YulAssignment","src":"383525:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"383537:4:21","nodeType":"YulLiteral","src":"383537:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"383531:5:21","nodeType":"YulIdentifier","src":"383531:5:21"},"nativeSrc":"383531:11:21","nodeType":"YulFunctionCall","src":"383531:11:21"},"variableNames":[{"name":"m2","nativeSrc":"383525:2:21","nodeType":"YulIdentifier","src":"383525:2:21"}]},{"nativeSrc":"383555:17:21","nodeType":"YulAssignment","src":"383555:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"383567:4:21","nodeType":"YulLiteral","src":"383567:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"383561:5:21","nodeType":"YulIdentifier","src":"383561:5:21"},"nativeSrc":"383561:11:21","nodeType":"YulFunctionCall","src":"383561:11:21"},"variableNames":[{"name":"m3","nativeSrc":"383555:2:21","nodeType":"YulIdentifier","src":"383555:2:21"}]},{"nativeSrc":"383585:17:21","nodeType":"YulAssignment","src":"383585:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"383597:4:21","nodeType":"YulLiteral","src":"383597:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"383591:5:21","nodeType":"YulIdentifier","src":"383591:5:21"},"nativeSrc":"383591:11:21","nodeType":"YulFunctionCall","src":"383591:11:21"},"variableNames":[{"name":"m4","nativeSrc":"383585:2:21","nodeType":"YulIdentifier","src":"383585:2:21"}]},{"nativeSrc":"383615:17:21","nodeType":"YulAssignment","src":"383615:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"383627:4:21","nodeType":"YulLiteral","src":"383627:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"383621:5:21","nodeType":"YulIdentifier","src":"383621:5:21"},"nativeSrc":"383621:11:21","nodeType":"YulFunctionCall","src":"383621:11:21"},"variableNames":[{"name":"m5","nativeSrc":"383615:2:21","nodeType":"YulIdentifier","src":"383615:2:21"}]},{"nativeSrc":"383645:17:21","nodeType":"YulAssignment","src":"383645:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"383657:4:21","nodeType":"YulLiteral","src":"383657:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"383651:5:21","nodeType":"YulIdentifier","src":"383651:5:21"},"nativeSrc":"383651:11:21","nodeType":"YulFunctionCall","src":"383651:11:21"},"variableNames":[{"name":"m6","nativeSrc":"383645:2:21","nodeType":"YulIdentifier","src":"383645:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383742:4:21","nodeType":"YulLiteral","src":"383742:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"383748:10:21","nodeType":"YulLiteral","src":"383748:10:21","type":"","value":"0x354c36d6"}],"functionName":{"name":"mstore","nativeSrc":"383735:6:21","nodeType":"YulIdentifier","src":"383735:6:21"},"nativeSrc":"383735:24:21","nodeType":"YulFunctionCall","src":"383735:24:21"},"nativeSrc":"383735:24:21","nodeType":"YulExpressionStatement","src":"383735:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383779:4:21","nodeType":"YulLiteral","src":"383779:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"383785:4:21","nodeType":"YulLiteral","src":"383785:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"383772:6:21","nodeType":"YulIdentifier","src":"383772:6:21"},"nativeSrc":"383772:18:21","nodeType":"YulFunctionCall","src":"383772:18:21"},"nativeSrc":"383772:18:21","nodeType":"YulExpressionStatement","src":"383772:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383810:4:21","nodeType":"YulLiteral","src":"383810:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"383816:2:21","nodeType":"YulIdentifier","src":"383816:2:21"}],"functionName":{"name":"mstore","nativeSrc":"383803:6:21","nodeType":"YulIdentifier","src":"383803:6:21"},"nativeSrc":"383803:16:21","nodeType":"YulFunctionCall","src":"383803:16:21"},"nativeSrc":"383803:16:21","nodeType":"YulExpressionStatement","src":"383803:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383839:4:21","nodeType":"YulLiteral","src":"383839:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"383845:2:21","nodeType":"YulIdentifier","src":"383845:2:21"}],"functionName":{"name":"mstore","nativeSrc":"383832:6:21","nodeType":"YulIdentifier","src":"383832:6:21"},"nativeSrc":"383832:16:21","nodeType":"YulFunctionCall","src":"383832:16:21"},"nativeSrc":"383832:16:21","nodeType":"YulExpressionStatement","src":"383832:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383868:4:21","nodeType":"YulLiteral","src":"383868:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"383874:2:21","nodeType":"YulIdentifier","src":"383874:2:21"}],"functionName":{"name":"mstore","nativeSrc":"383861:6:21","nodeType":"YulIdentifier","src":"383861:6:21"},"nativeSrc":"383861:16:21","nodeType":"YulFunctionCall","src":"383861:16:21"},"nativeSrc":"383861:16:21","nodeType":"YulExpressionStatement","src":"383861:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383902:4:21","nodeType":"YulLiteral","src":"383902:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"383908:2:21","nodeType":"YulIdentifier","src":"383908:2:21"}],"functionName":{"name":"writeString","nativeSrc":"383890:11:21","nodeType":"YulIdentifier","src":"383890:11:21"},"nativeSrc":"383890:21:21","nodeType":"YulFunctionCall","src":"383890:21:21"},"nativeSrc":"383890:21:21","nodeType":"YulExpressionStatement","src":"383890:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38782,"isOffset":false,"isSlot":false,"src":"383465:2:21","valueSize":1},{"declaration":38785,"isOffset":false,"isSlot":false,"src":"383495:2:21","valueSize":1},{"declaration":38788,"isOffset":false,"isSlot":false,"src":"383525:2:21","valueSize":1},{"declaration":38791,"isOffset":false,"isSlot":false,"src":"383555:2:21","valueSize":1},{"declaration":38794,"isOffset":false,"isSlot":false,"src":"383585:2:21","valueSize":1},{"declaration":38797,"isOffset":false,"isSlot":false,"src":"383615:2:21","valueSize":1},{"declaration":38800,"isOffset":false,"isSlot":false,"src":"383645:2:21","valueSize":1},{"declaration":38772,"isOffset":false,"isSlot":false,"src":"383908:2:21","valueSize":1},{"declaration":38774,"isOffset":false,"isSlot":false,"src":"383816:2:21","valueSize":1},{"declaration":38776,"isOffset":false,"isSlot":false,"src":"383845:2:21","valueSize":1},{"declaration":38778,"isOffset":false,"isSlot":false,"src":"383874:2:21","valueSize":1}],"id":38802,"nodeType":"InlineAssembly","src":"383087:834:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"383946:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"383952:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"383930:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"383930:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38807,"nodeType":"ExpressionStatement","src":"383930:27:21"},{"AST":{"nativeSrc":"384019:214:21","nodeType":"YulBlock","src":"384019:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"384040:4:21","nodeType":"YulLiteral","src":"384040:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"384046:2:21","nodeType":"YulIdentifier","src":"384046:2:21"}],"functionName":{"name":"mstore","nativeSrc":"384033:6:21","nodeType":"YulIdentifier","src":"384033:6:21"},"nativeSrc":"384033:16:21","nodeType":"YulFunctionCall","src":"384033:16:21"},"nativeSrc":"384033:16:21","nodeType":"YulExpressionStatement","src":"384033:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384069:4:21","nodeType":"YulLiteral","src":"384069:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"384075:2:21","nodeType":"YulIdentifier","src":"384075:2:21"}],"functionName":{"name":"mstore","nativeSrc":"384062:6:21","nodeType":"YulIdentifier","src":"384062:6:21"},"nativeSrc":"384062:16:21","nodeType":"YulFunctionCall","src":"384062:16:21"},"nativeSrc":"384062:16:21","nodeType":"YulExpressionStatement","src":"384062:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384098:4:21","nodeType":"YulLiteral","src":"384098:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"384104:2:21","nodeType":"YulIdentifier","src":"384104:2:21"}],"functionName":{"name":"mstore","nativeSrc":"384091:6:21","nodeType":"YulIdentifier","src":"384091:6:21"},"nativeSrc":"384091:16:21","nodeType":"YulFunctionCall","src":"384091:16:21"},"nativeSrc":"384091:16:21","nodeType":"YulExpressionStatement","src":"384091:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384127:4:21","nodeType":"YulLiteral","src":"384127:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"384133:2:21","nodeType":"YulIdentifier","src":"384133:2:21"}],"functionName":{"name":"mstore","nativeSrc":"384120:6:21","nodeType":"YulIdentifier","src":"384120:6:21"},"nativeSrc":"384120:16:21","nodeType":"YulFunctionCall","src":"384120:16:21"},"nativeSrc":"384120:16:21","nodeType":"YulExpressionStatement","src":"384120:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384156:4:21","nodeType":"YulLiteral","src":"384156:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"384162:2:21","nodeType":"YulIdentifier","src":"384162:2:21"}],"functionName":{"name":"mstore","nativeSrc":"384149:6:21","nodeType":"YulIdentifier","src":"384149:6:21"},"nativeSrc":"384149:16:21","nodeType":"YulFunctionCall","src":"384149:16:21"},"nativeSrc":"384149:16:21","nodeType":"YulExpressionStatement","src":"384149:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384185:4:21","nodeType":"YulLiteral","src":"384185:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"384191:2:21","nodeType":"YulIdentifier","src":"384191:2:21"}],"functionName":{"name":"mstore","nativeSrc":"384178:6:21","nodeType":"YulIdentifier","src":"384178:6:21"},"nativeSrc":"384178:16:21","nodeType":"YulFunctionCall","src":"384178:16:21"},"nativeSrc":"384178:16:21","nodeType":"YulExpressionStatement","src":"384178:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384214:4:21","nodeType":"YulLiteral","src":"384214:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"384220:2:21","nodeType":"YulIdentifier","src":"384220:2:21"}],"functionName":{"name":"mstore","nativeSrc":"384207:6:21","nodeType":"YulIdentifier","src":"384207:6:21"},"nativeSrc":"384207:16:21","nodeType":"YulFunctionCall","src":"384207:16:21"},"nativeSrc":"384207:16:21","nodeType":"YulExpressionStatement","src":"384207:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38782,"isOffset":false,"isSlot":false,"src":"384046:2:21","valueSize":1},{"declaration":38785,"isOffset":false,"isSlot":false,"src":"384075:2:21","valueSize":1},{"declaration":38788,"isOffset":false,"isSlot":false,"src":"384104:2:21","valueSize":1},{"declaration":38791,"isOffset":false,"isSlot":false,"src":"384133:2:21","valueSize":1},{"declaration":38794,"isOffset":false,"isSlot":false,"src":"384162:2:21","valueSize":1},{"declaration":38797,"isOffset":false,"isSlot":false,"src":"384191:2:21","valueSize":1},{"declaration":38800,"isOffset":false,"isSlot":false,"src":"384220:2:21","valueSize":1}],"id":38808,"nodeType":"InlineAssembly","src":"384010:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"382834:3:21","parameters":{"id":38779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38772,"mutability":"mutable","name":"p0","nameLocation":"382846:2:21","nodeType":"VariableDeclaration","scope":38810,"src":"382838:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382838:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38774,"mutability":"mutable","name":"p1","nameLocation":"382858:2:21","nodeType":"VariableDeclaration","scope":38810,"src":"382850:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38773,"name":"uint256","nodeType":"ElementaryTypeName","src":"382850:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38776,"mutability":"mutable","name":"p2","nameLocation":"382867:2:21","nodeType":"VariableDeclaration","scope":38810,"src":"382862:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38775,"name":"bool","nodeType":"ElementaryTypeName","src":"382862:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38778,"mutability":"mutable","name":"p3","nameLocation":"382876:2:21","nodeType":"VariableDeclaration","scope":38810,"src":"382871:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38777,"name":"bool","nodeType":"ElementaryTypeName","src":"382871:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"382837:42:21"},"returnParameters":{"id":38780,"nodeType":"ParameterList","parameters":[],"src":"382894:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38850,"nodeType":"FunctionDefinition","src":"384245:1420:21","nodes":[],"body":{"id":38849,"nodeType":"Block","src":"384317:1348:21","nodes":[],"statements":[{"assignments":[38822],"declarations":[{"constant":false,"id":38822,"mutability":"mutable","name":"m0","nameLocation":"384335:2:21","nodeType":"VariableDeclaration","scope":38849,"src":"384327:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384327:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38823,"nodeType":"VariableDeclarationStatement","src":"384327:10:21"},{"assignments":[38825],"declarations":[{"constant":false,"id":38825,"mutability":"mutable","name":"m1","nameLocation":"384355:2:21","nodeType":"VariableDeclaration","scope":38849,"src":"384347:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384347:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38826,"nodeType":"VariableDeclarationStatement","src":"384347:10:21"},{"assignments":[38828],"declarations":[{"constant":false,"id":38828,"mutability":"mutable","name":"m2","nameLocation":"384375:2:21","nodeType":"VariableDeclaration","scope":38849,"src":"384367:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384367:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38829,"nodeType":"VariableDeclarationStatement","src":"384367:10:21"},{"assignments":[38831],"declarations":[{"constant":false,"id":38831,"mutability":"mutable","name":"m3","nameLocation":"384395:2:21","nodeType":"VariableDeclaration","scope":38849,"src":"384387:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384387:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38832,"nodeType":"VariableDeclarationStatement","src":"384387:10:21"},{"assignments":[38834],"declarations":[{"constant":false,"id":38834,"mutability":"mutable","name":"m4","nameLocation":"384415:2:21","nodeType":"VariableDeclaration","scope":38849,"src":"384407:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384407:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38835,"nodeType":"VariableDeclarationStatement","src":"384407:10:21"},{"assignments":[38837],"declarations":[{"constant":false,"id":38837,"mutability":"mutable","name":"m5","nameLocation":"384435:2:21","nodeType":"VariableDeclaration","scope":38849,"src":"384427:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384427:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38838,"nodeType":"VariableDeclarationStatement","src":"384427:10:21"},{"assignments":[38840],"declarations":[{"constant":false,"id":38840,"mutability":"mutable","name":"m6","nameLocation":"384455:2:21","nodeType":"VariableDeclaration","scope":38849,"src":"384447:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384447:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38841,"nodeType":"VariableDeclarationStatement","src":"384447:10:21"},{"AST":{"nativeSrc":"384519:828:21","nodeType":"YulBlock","src":"384519:828:21","statements":[{"body":{"nativeSrc":"384562:313:21","nodeType":"YulBlock","src":"384562:313:21","statements":[{"nativeSrc":"384580:15:21","nodeType":"YulVariableDeclaration","src":"384580:15:21","value":{"kind":"number","nativeSrc":"384594:1:21","nodeType":"YulLiteral","src":"384594:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"384584:6:21","nodeType":"YulTypedName","src":"384584:6:21","type":""}]},{"body":{"nativeSrc":"384665:40:21","nodeType":"YulBlock","src":"384665:40:21","statements":[{"body":{"nativeSrc":"384694:9:21","nodeType":"YulBlock","src":"384694:9:21","statements":[{"nativeSrc":"384696:5:21","nodeType":"YulBreak","src":"384696:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"384682:6:21","nodeType":"YulIdentifier","src":"384682:6:21"},{"name":"w","nativeSrc":"384690:1:21","nodeType":"YulIdentifier","src":"384690:1:21"}],"functionName":{"name":"byte","nativeSrc":"384677:4:21","nodeType":"YulIdentifier","src":"384677:4:21"},"nativeSrc":"384677:15:21","nodeType":"YulFunctionCall","src":"384677:15:21"}],"functionName":{"name":"iszero","nativeSrc":"384670:6:21","nodeType":"YulIdentifier","src":"384670:6:21"},"nativeSrc":"384670:23:21","nodeType":"YulFunctionCall","src":"384670:23:21"},"nativeSrc":"384667:36:21","nodeType":"YulIf","src":"384667:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"384622:6:21","nodeType":"YulIdentifier","src":"384622:6:21"},{"kind":"number","nativeSrc":"384630:4:21","nodeType":"YulLiteral","src":"384630:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"384619:2:21","nodeType":"YulIdentifier","src":"384619:2:21"},"nativeSrc":"384619:16:21","nodeType":"YulFunctionCall","src":"384619:16:21"},"nativeSrc":"384612:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"384636:28:21","nodeType":"YulBlock","src":"384636:28:21","statements":[{"nativeSrc":"384638:24:21","nodeType":"YulAssignment","src":"384638:24:21","value":{"arguments":[{"name":"length","nativeSrc":"384652:6:21","nodeType":"YulIdentifier","src":"384652:6:21"},{"kind":"number","nativeSrc":"384660:1:21","nodeType":"YulLiteral","src":"384660:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"384648:3:21","nodeType":"YulIdentifier","src":"384648:3:21"},"nativeSrc":"384648:14:21","nodeType":"YulFunctionCall","src":"384648:14:21"},"variableNames":[{"name":"length","nativeSrc":"384638:6:21","nodeType":"YulIdentifier","src":"384638:6:21"}]}]},"pre":{"nativeSrc":"384616:2:21","nodeType":"YulBlock","src":"384616:2:21","statements":[]},"src":"384612:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"384729:3:21","nodeType":"YulIdentifier","src":"384729:3:21"},{"name":"length","nativeSrc":"384734:6:21","nodeType":"YulIdentifier","src":"384734:6:21"}],"functionName":{"name":"mstore","nativeSrc":"384722:6:21","nodeType":"YulIdentifier","src":"384722:6:21"},"nativeSrc":"384722:19:21","nodeType":"YulFunctionCall","src":"384722:19:21"},"nativeSrc":"384722:19:21","nodeType":"YulExpressionStatement","src":"384722:19:21"},{"nativeSrc":"384758:37:21","nodeType":"YulVariableDeclaration","src":"384758:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"384775:3:21","nodeType":"YulLiteral","src":"384775:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"384784:1:21","nodeType":"YulLiteral","src":"384784:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"384787:6:21","nodeType":"YulIdentifier","src":"384787:6:21"}],"functionName":{"name":"shl","nativeSrc":"384780:3:21","nodeType":"YulIdentifier","src":"384780:3:21"},"nativeSrc":"384780:14:21","nodeType":"YulFunctionCall","src":"384780:14:21"}],"functionName":{"name":"sub","nativeSrc":"384771:3:21","nodeType":"YulIdentifier","src":"384771:3:21"},"nativeSrc":"384771:24:21","nodeType":"YulFunctionCall","src":"384771:24:21"},"variables":[{"name":"shift","nativeSrc":"384762:5:21","nodeType":"YulTypedName","src":"384762:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"384823:3:21","nodeType":"YulIdentifier","src":"384823:3:21"},{"kind":"number","nativeSrc":"384828:4:21","nodeType":"YulLiteral","src":"384828:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"384819:3:21","nodeType":"YulIdentifier","src":"384819:3:21"},"nativeSrc":"384819:14:21","nodeType":"YulFunctionCall","src":"384819:14:21"},{"arguments":[{"name":"shift","nativeSrc":"384839:5:21","nodeType":"YulIdentifier","src":"384839:5:21"},{"arguments":[{"name":"shift","nativeSrc":"384850:5:21","nodeType":"YulIdentifier","src":"384850:5:21"},{"name":"w","nativeSrc":"384857:1:21","nodeType":"YulIdentifier","src":"384857:1:21"}],"functionName":{"name":"shr","nativeSrc":"384846:3:21","nodeType":"YulIdentifier","src":"384846:3:21"},"nativeSrc":"384846:13:21","nodeType":"YulFunctionCall","src":"384846:13:21"}],"functionName":{"name":"shl","nativeSrc":"384835:3:21","nodeType":"YulIdentifier","src":"384835:3:21"},"nativeSrc":"384835:25:21","nodeType":"YulFunctionCall","src":"384835:25:21"}],"functionName":{"name":"mstore","nativeSrc":"384812:6:21","nodeType":"YulIdentifier","src":"384812:6:21"},"nativeSrc":"384812:49:21","nodeType":"YulFunctionCall","src":"384812:49:21"},"nativeSrc":"384812:49:21","nodeType":"YulExpressionStatement","src":"384812:49:21"}]},"name":"writeString","nativeSrc":"384533:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"384554:3:21","nodeType":"YulTypedName","src":"384554:3:21","type":""},{"name":"w","nativeSrc":"384559:1:21","nodeType":"YulTypedName","src":"384559:1:21","type":""}],"src":"384533:342:21"},{"nativeSrc":"384888:17:21","nodeType":"YulAssignment","src":"384888:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"384900:4:21","nodeType":"YulLiteral","src":"384900:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"384894:5:21","nodeType":"YulIdentifier","src":"384894:5:21"},"nativeSrc":"384894:11:21","nodeType":"YulFunctionCall","src":"384894:11:21"},"variableNames":[{"name":"m0","nativeSrc":"384888:2:21","nodeType":"YulIdentifier","src":"384888:2:21"}]},{"nativeSrc":"384918:17:21","nodeType":"YulAssignment","src":"384918:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"384930:4:21","nodeType":"YulLiteral","src":"384930:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"384924:5:21","nodeType":"YulIdentifier","src":"384924:5:21"},"nativeSrc":"384924:11:21","nodeType":"YulFunctionCall","src":"384924:11:21"},"variableNames":[{"name":"m1","nativeSrc":"384918:2:21","nodeType":"YulIdentifier","src":"384918:2:21"}]},{"nativeSrc":"384948:17:21","nodeType":"YulAssignment","src":"384948:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"384960:4:21","nodeType":"YulLiteral","src":"384960:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"384954:5:21","nodeType":"YulIdentifier","src":"384954:5:21"},"nativeSrc":"384954:11:21","nodeType":"YulFunctionCall","src":"384954:11:21"},"variableNames":[{"name":"m2","nativeSrc":"384948:2:21","nodeType":"YulIdentifier","src":"384948:2:21"}]},{"nativeSrc":"384978:17:21","nodeType":"YulAssignment","src":"384978:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"384990:4:21","nodeType":"YulLiteral","src":"384990:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"384984:5:21","nodeType":"YulIdentifier","src":"384984:5:21"},"nativeSrc":"384984:11:21","nodeType":"YulFunctionCall","src":"384984:11:21"},"variableNames":[{"name":"m3","nativeSrc":"384978:2:21","nodeType":"YulIdentifier","src":"384978:2:21"}]},{"nativeSrc":"385008:17:21","nodeType":"YulAssignment","src":"385008:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"385020:4:21","nodeType":"YulLiteral","src":"385020:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"385014:5:21","nodeType":"YulIdentifier","src":"385014:5:21"},"nativeSrc":"385014:11:21","nodeType":"YulFunctionCall","src":"385014:11:21"},"variableNames":[{"name":"m4","nativeSrc":"385008:2:21","nodeType":"YulIdentifier","src":"385008:2:21"}]},{"nativeSrc":"385038:17:21","nodeType":"YulAssignment","src":"385038:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"385050:4:21","nodeType":"YulLiteral","src":"385050:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"385044:5:21","nodeType":"YulIdentifier","src":"385044:5:21"},"nativeSrc":"385044:11:21","nodeType":"YulFunctionCall","src":"385044:11:21"},"variableNames":[{"name":"m5","nativeSrc":"385038:2:21","nodeType":"YulIdentifier","src":"385038:2:21"}]},{"nativeSrc":"385068:17:21","nodeType":"YulAssignment","src":"385068:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"385080:4:21","nodeType":"YulLiteral","src":"385080:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"385074:5:21","nodeType":"YulIdentifier","src":"385074:5:21"},"nativeSrc":"385074:11:21","nodeType":"YulFunctionCall","src":"385074:11:21"},"variableNames":[{"name":"m6","nativeSrc":"385068:2:21","nodeType":"YulIdentifier","src":"385068:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385168:4:21","nodeType":"YulLiteral","src":"385168:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"385174:10:21","nodeType":"YulLiteral","src":"385174:10:21","type":"","value":"0xe41b6f6f"}],"functionName":{"name":"mstore","nativeSrc":"385161:6:21","nodeType":"YulIdentifier","src":"385161:6:21"},"nativeSrc":"385161:24:21","nodeType":"YulFunctionCall","src":"385161:24:21"},"nativeSrc":"385161:24:21","nodeType":"YulExpressionStatement","src":"385161:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385205:4:21","nodeType":"YulLiteral","src":"385205:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"385211:4:21","nodeType":"YulLiteral","src":"385211:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"385198:6:21","nodeType":"YulIdentifier","src":"385198:6:21"},"nativeSrc":"385198:18:21","nodeType":"YulFunctionCall","src":"385198:18:21"},"nativeSrc":"385198:18:21","nodeType":"YulExpressionStatement","src":"385198:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385236:4:21","nodeType":"YulLiteral","src":"385236:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"385242:2:21","nodeType":"YulIdentifier","src":"385242:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385229:6:21","nodeType":"YulIdentifier","src":"385229:6:21"},"nativeSrc":"385229:16:21","nodeType":"YulFunctionCall","src":"385229:16:21"},"nativeSrc":"385229:16:21","nodeType":"YulExpressionStatement","src":"385229:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385265:4:21","nodeType":"YulLiteral","src":"385265:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"385271:2:21","nodeType":"YulIdentifier","src":"385271:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385258:6:21","nodeType":"YulIdentifier","src":"385258:6:21"},"nativeSrc":"385258:16:21","nodeType":"YulFunctionCall","src":"385258:16:21"},"nativeSrc":"385258:16:21","nodeType":"YulExpressionStatement","src":"385258:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385294:4:21","nodeType":"YulLiteral","src":"385294:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"385300:2:21","nodeType":"YulIdentifier","src":"385300:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385287:6:21","nodeType":"YulIdentifier","src":"385287:6:21"},"nativeSrc":"385287:16:21","nodeType":"YulFunctionCall","src":"385287:16:21"},"nativeSrc":"385287:16:21","nodeType":"YulExpressionStatement","src":"385287:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385328:4:21","nodeType":"YulLiteral","src":"385328:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"385334:2:21","nodeType":"YulIdentifier","src":"385334:2:21"}],"functionName":{"name":"writeString","nativeSrc":"385316:11:21","nodeType":"YulIdentifier","src":"385316:11:21"},"nativeSrc":"385316:21:21","nodeType":"YulFunctionCall","src":"385316:21:21"},"nativeSrc":"385316:21:21","nodeType":"YulExpressionStatement","src":"385316:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38822,"isOffset":false,"isSlot":false,"src":"384888:2:21","valueSize":1},{"declaration":38825,"isOffset":false,"isSlot":false,"src":"384918:2:21","valueSize":1},{"declaration":38828,"isOffset":false,"isSlot":false,"src":"384948:2:21","valueSize":1},{"declaration":38831,"isOffset":false,"isSlot":false,"src":"384978:2:21","valueSize":1},{"declaration":38834,"isOffset":false,"isSlot":false,"src":"385008:2:21","valueSize":1},{"declaration":38837,"isOffset":false,"isSlot":false,"src":"385038:2:21","valueSize":1},{"declaration":38840,"isOffset":false,"isSlot":false,"src":"385068:2:21","valueSize":1},{"declaration":38812,"isOffset":false,"isSlot":false,"src":"385334:2:21","valueSize":1},{"declaration":38814,"isOffset":false,"isSlot":false,"src":"385242:2:21","valueSize":1},{"declaration":38816,"isOffset":false,"isSlot":false,"src":"385271:2:21","valueSize":1},{"declaration":38818,"isOffset":false,"isSlot":false,"src":"385300:2:21","valueSize":1}],"id":38842,"nodeType":"InlineAssembly","src":"384510:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"385372:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"385378:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38843,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"385356:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"385356:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38847,"nodeType":"ExpressionStatement","src":"385356:27:21"},{"AST":{"nativeSrc":"385445:214:21","nodeType":"YulBlock","src":"385445:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"385466:4:21","nodeType":"YulLiteral","src":"385466:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"385472:2:21","nodeType":"YulIdentifier","src":"385472:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385459:6:21","nodeType":"YulIdentifier","src":"385459:6:21"},"nativeSrc":"385459:16:21","nodeType":"YulFunctionCall","src":"385459:16:21"},"nativeSrc":"385459:16:21","nodeType":"YulExpressionStatement","src":"385459:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385495:4:21","nodeType":"YulLiteral","src":"385495:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"385501:2:21","nodeType":"YulIdentifier","src":"385501:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385488:6:21","nodeType":"YulIdentifier","src":"385488:6:21"},"nativeSrc":"385488:16:21","nodeType":"YulFunctionCall","src":"385488:16:21"},"nativeSrc":"385488:16:21","nodeType":"YulExpressionStatement","src":"385488:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385524:4:21","nodeType":"YulLiteral","src":"385524:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"385530:2:21","nodeType":"YulIdentifier","src":"385530:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385517:6:21","nodeType":"YulIdentifier","src":"385517:6:21"},"nativeSrc":"385517:16:21","nodeType":"YulFunctionCall","src":"385517:16:21"},"nativeSrc":"385517:16:21","nodeType":"YulExpressionStatement","src":"385517:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385553:4:21","nodeType":"YulLiteral","src":"385553:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"385559:2:21","nodeType":"YulIdentifier","src":"385559:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385546:6:21","nodeType":"YulIdentifier","src":"385546:6:21"},"nativeSrc":"385546:16:21","nodeType":"YulFunctionCall","src":"385546:16:21"},"nativeSrc":"385546:16:21","nodeType":"YulExpressionStatement","src":"385546:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385582:4:21","nodeType":"YulLiteral","src":"385582:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"385588:2:21","nodeType":"YulIdentifier","src":"385588:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385575:6:21","nodeType":"YulIdentifier","src":"385575:6:21"},"nativeSrc":"385575:16:21","nodeType":"YulFunctionCall","src":"385575:16:21"},"nativeSrc":"385575:16:21","nodeType":"YulExpressionStatement","src":"385575:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385611:4:21","nodeType":"YulLiteral","src":"385611:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"385617:2:21","nodeType":"YulIdentifier","src":"385617:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385604:6:21","nodeType":"YulIdentifier","src":"385604:6:21"},"nativeSrc":"385604:16:21","nodeType":"YulFunctionCall","src":"385604:16:21"},"nativeSrc":"385604:16:21","nodeType":"YulExpressionStatement","src":"385604:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385640:4:21","nodeType":"YulLiteral","src":"385640:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"385646:2:21","nodeType":"YulIdentifier","src":"385646:2:21"}],"functionName":{"name":"mstore","nativeSrc":"385633:6:21","nodeType":"YulIdentifier","src":"385633:6:21"},"nativeSrc":"385633:16:21","nodeType":"YulFunctionCall","src":"385633:16:21"},"nativeSrc":"385633:16:21","nodeType":"YulExpressionStatement","src":"385633:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38822,"isOffset":false,"isSlot":false,"src":"385472:2:21","valueSize":1},{"declaration":38825,"isOffset":false,"isSlot":false,"src":"385501:2:21","valueSize":1},{"declaration":38828,"isOffset":false,"isSlot":false,"src":"385530:2:21","valueSize":1},{"declaration":38831,"isOffset":false,"isSlot":false,"src":"385559:2:21","valueSize":1},{"declaration":38834,"isOffset":false,"isSlot":false,"src":"385588:2:21","valueSize":1},{"declaration":38837,"isOffset":false,"isSlot":false,"src":"385617:2:21","valueSize":1},{"declaration":38840,"isOffset":false,"isSlot":false,"src":"385646:2:21","valueSize":1}],"id":38848,"nodeType":"InlineAssembly","src":"385436:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"384254:3:21","parameters":{"id":38819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38812,"mutability":"mutable","name":"p0","nameLocation":"384266:2:21","nodeType":"VariableDeclaration","scope":38850,"src":"384258:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384258:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38814,"mutability":"mutable","name":"p1","nameLocation":"384278:2:21","nodeType":"VariableDeclaration","scope":38850,"src":"384270:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38813,"name":"uint256","nodeType":"ElementaryTypeName","src":"384270:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38816,"mutability":"mutable","name":"p2","nameLocation":"384287:2:21","nodeType":"VariableDeclaration","scope":38850,"src":"384282:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38815,"name":"bool","nodeType":"ElementaryTypeName","src":"384282:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38818,"mutability":"mutable","name":"p3","nameLocation":"384299:2:21","nodeType":"VariableDeclaration","scope":38850,"src":"384291:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38817,"name":"uint256","nodeType":"ElementaryTypeName","src":"384291:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"384257:45:21"},"returnParameters":{"id":38820,"nodeType":"ParameterList","parameters":[],"src":"384317:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38896,"nodeType":"FunctionDefinition","src":"385671:1616:21","nodes":[],"body":{"id":38895,"nodeType":"Block","src":"385743:1544:21","nodes":[],"statements":[{"assignments":[38862],"declarations":[{"constant":false,"id":38862,"mutability":"mutable","name":"m0","nameLocation":"385761:2:21","nodeType":"VariableDeclaration","scope":38895,"src":"385753:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385753:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38863,"nodeType":"VariableDeclarationStatement","src":"385753:10:21"},{"assignments":[38865],"declarations":[{"constant":false,"id":38865,"mutability":"mutable","name":"m1","nameLocation":"385781:2:21","nodeType":"VariableDeclaration","scope":38895,"src":"385773:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385773:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38866,"nodeType":"VariableDeclarationStatement","src":"385773:10:21"},{"assignments":[38868],"declarations":[{"constant":false,"id":38868,"mutability":"mutable","name":"m2","nameLocation":"385801:2:21","nodeType":"VariableDeclaration","scope":38895,"src":"385793:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385793:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38869,"nodeType":"VariableDeclarationStatement","src":"385793:10:21"},{"assignments":[38871],"declarations":[{"constant":false,"id":38871,"mutability":"mutable","name":"m3","nameLocation":"385821:2:21","nodeType":"VariableDeclaration","scope":38895,"src":"385813:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385813:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38872,"nodeType":"VariableDeclarationStatement","src":"385813:10:21"},{"assignments":[38874],"declarations":[{"constant":false,"id":38874,"mutability":"mutable","name":"m4","nameLocation":"385841:2:21","nodeType":"VariableDeclaration","scope":38895,"src":"385833:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385833:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38875,"nodeType":"VariableDeclarationStatement","src":"385833:10:21"},{"assignments":[38877],"declarations":[{"constant":false,"id":38877,"mutability":"mutable","name":"m5","nameLocation":"385861:2:21","nodeType":"VariableDeclaration","scope":38895,"src":"385853:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385853:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38878,"nodeType":"VariableDeclarationStatement","src":"385853:10:21"},{"assignments":[38880],"declarations":[{"constant":false,"id":38880,"mutability":"mutable","name":"m6","nameLocation":"385881:2:21","nodeType":"VariableDeclaration","scope":38895,"src":"385873:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385873:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38881,"nodeType":"VariableDeclarationStatement","src":"385873:10:21"},{"assignments":[38883],"declarations":[{"constant":false,"id":38883,"mutability":"mutable","name":"m7","nameLocation":"385901:2:21","nodeType":"VariableDeclaration","scope":38895,"src":"385893:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385893:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38884,"nodeType":"VariableDeclarationStatement","src":"385893:10:21"},{"assignments":[38886],"declarations":[{"constant":false,"id":38886,"mutability":"mutable","name":"m8","nameLocation":"385921:2:21","nodeType":"VariableDeclaration","scope":38895,"src":"385913:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385913:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38887,"nodeType":"VariableDeclarationStatement","src":"385913:10:21"},{"AST":{"nativeSrc":"385985:924:21","nodeType":"YulBlock","src":"385985:924:21","statements":[{"body":{"nativeSrc":"386028:313:21","nodeType":"YulBlock","src":"386028:313:21","statements":[{"nativeSrc":"386046:15:21","nodeType":"YulVariableDeclaration","src":"386046:15:21","value":{"kind":"number","nativeSrc":"386060:1:21","nodeType":"YulLiteral","src":"386060:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"386050:6:21","nodeType":"YulTypedName","src":"386050:6:21","type":""}]},{"body":{"nativeSrc":"386131:40:21","nodeType":"YulBlock","src":"386131:40:21","statements":[{"body":{"nativeSrc":"386160:9:21","nodeType":"YulBlock","src":"386160:9:21","statements":[{"nativeSrc":"386162:5:21","nodeType":"YulBreak","src":"386162:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"386148:6:21","nodeType":"YulIdentifier","src":"386148:6:21"},{"name":"w","nativeSrc":"386156:1:21","nodeType":"YulIdentifier","src":"386156:1:21"}],"functionName":{"name":"byte","nativeSrc":"386143:4:21","nodeType":"YulIdentifier","src":"386143:4:21"},"nativeSrc":"386143:15:21","nodeType":"YulFunctionCall","src":"386143:15:21"}],"functionName":{"name":"iszero","nativeSrc":"386136:6:21","nodeType":"YulIdentifier","src":"386136:6:21"},"nativeSrc":"386136:23:21","nodeType":"YulFunctionCall","src":"386136:23:21"},"nativeSrc":"386133:36:21","nodeType":"YulIf","src":"386133:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"386088:6:21","nodeType":"YulIdentifier","src":"386088:6:21"},{"kind":"number","nativeSrc":"386096:4:21","nodeType":"YulLiteral","src":"386096:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"386085:2:21","nodeType":"YulIdentifier","src":"386085:2:21"},"nativeSrc":"386085:16:21","nodeType":"YulFunctionCall","src":"386085:16:21"},"nativeSrc":"386078:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"386102:28:21","nodeType":"YulBlock","src":"386102:28:21","statements":[{"nativeSrc":"386104:24:21","nodeType":"YulAssignment","src":"386104:24:21","value":{"arguments":[{"name":"length","nativeSrc":"386118:6:21","nodeType":"YulIdentifier","src":"386118:6:21"},{"kind":"number","nativeSrc":"386126:1:21","nodeType":"YulLiteral","src":"386126:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"386114:3:21","nodeType":"YulIdentifier","src":"386114:3:21"},"nativeSrc":"386114:14:21","nodeType":"YulFunctionCall","src":"386114:14:21"},"variableNames":[{"name":"length","nativeSrc":"386104:6:21","nodeType":"YulIdentifier","src":"386104:6:21"}]}]},"pre":{"nativeSrc":"386082:2:21","nodeType":"YulBlock","src":"386082:2:21","statements":[]},"src":"386078:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"386195:3:21","nodeType":"YulIdentifier","src":"386195:3:21"},{"name":"length","nativeSrc":"386200:6:21","nodeType":"YulIdentifier","src":"386200:6:21"}],"functionName":{"name":"mstore","nativeSrc":"386188:6:21","nodeType":"YulIdentifier","src":"386188:6:21"},"nativeSrc":"386188:19:21","nodeType":"YulFunctionCall","src":"386188:19:21"},"nativeSrc":"386188:19:21","nodeType":"YulExpressionStatement","src":"386188:19:21"},{"nativeSrc":"386224:37:21","nodeType":"YulVariableDeclaration","src":"386224:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"386241:3:21","nodeType":"YulLiteral","src":"386241:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"386250:1:21","nodeType":"YulLiteral","src":"386250:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"386253:6:21","nodeType":"YulIdentifier","src":"386253:6:21"}],"functionName":{"name":"shl","nativeSrc":"386246:3:21","nodeType":"YulIdentifier","src":"386246:3:21"},"nativeSrc":"386246:14:21","nodeType":"YulFunctionCall","src":"386246:14:21"}],"functionName":{"name":"sub","nativeSrc":"386237:3:21","nodeType":"YulIdentifier","src":"386237:3:21"},"nativeSrc":"386237:24:21","nodeType":"YulFunctionCall","src":"386237:24:21"},"variables":[{"name":"shift","nativeSrc":"386228:5:21","nodeType":"YulTypedName","src":"386228:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"386289:3:21","nodeType":"YulIdentifier","src":"386289:3:21"},{"kind":"number","nativeSrc":"386294:4:21","nodeType":"YulLiteral","src":"386294:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"386285:3:21","nodeType":"YulIdentifier","src":"386285:3:21"},"nativeSrc":"386285:14:21","nodeType":"YulFunctionCall","src":"386285:14:21"},{"arguments":[{"name":"shift","nativeSrc":"386305:5:21","nodeType":"YulIdentifier","src":"386305:5:21"},{"arguments":[{"name":"shift","nativeSrc":"386316:5:21","nodeType":"YulIdentifier","src":"386316:5:21"},{"name":"w","nativeSrc":"386323:1:21","nodeType":"YulIdentifier","src":"386323:1:21"}],"functionName":{"name":"shr","nativeSrc":"386312:3:21","nodeType":"YulIdentifier","src":"386312:3:21"},"nativeSrc":"386312:13:21","nodeType":"YulFunctionCall","src":"386312:13:21"}],"functionName":{"name":"shl","nativeSrc":"386301:3:21","nodeType":"YulIdentifier","src":"386301:3:21"},"nativeSrc":"386301:25:21","nodeType":"YulFunctionCall","src":"386301:25:21"}],"functionName":{"name":"mstore","nativeSrc":"386278:6:21","nodeType":"YulIdentifier","src":"386278:6:21"},"nativeSrc":"386278:49:21","nodeType":"YulFunctionCall","src":"386278:49:21"},"nativeSrc":"386278:49:21","nodeType":"YulExpressionStatement","src":"386278:49:21"}]},"name":"writeString","nativeSrc":"385999:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"386020:3:21","nodeType":"YulTypedName","src":"386020:3:21","type":""},{"name":"w","nativeSrc":"386025:1:21","nodeType":"YulTypedName","src":"386025:1:21","type":""}],"src":"385999:342:21"},{"nativeSrc":"386354:17:21","nodeType":"YulAssignment","src":"386354:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"386366:4:21","nodeType":"YulLiteral","src":"386366:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"386360:5:21","nodeType":"YulIdentifier","src":"386360:5:21"},"nativeSrc":"386360:11:21","nodeType":"YulFunctionCall","src":"386360:11:21"},"variableNames":[{"name":"m0","nativeSrc":"386354:2:21","nodeType":"YulIdentifier","src":"386354:2:21"}]},{"nativeSrc":"386384:17:21","nodeType":"YulAssignment","src":"386384:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"386396:4:21","nodeType":"YulLiteral","src":"386396:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"386390:5:21","nodeType":"YulIdentifier","src":"386390:5:21"},"nativeSrc":"386390:11:21","nodeType":"YulFunctionCall","src":"386390:11:21"},"variableNames":[{"name":"m1","nativeSrc":"386384:2:21","nodeType":"YulIdentifier","src":"386384:2:21"}]},{"nativeSrc":"386414:17:21","nodeType":"YulAssignment","src":"386414:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"386426:4:21","nodeType":"YulLiteral","src":"386426:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"386420:5:21","nodeType":"YulIdentifier","src":"386420:5:21"},"nativeSrc":"386420:11:21","nodeType":"YulFunctionCall","src":"386420:11:21"},"variableNames":[{"name":"m2","nativeSrc":"386414:2:21","nodeType":"YulIdentifier","src":"386414:2:21"}]},{"nativeSrc":"386444:17:21","nodeType":"YulAssignment","src":"386444:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"386456:4:21","nodeType":"YulLiteral","src":"386456:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"386450:5:21","nodeType":"YulIdentifier","src":"386450:5:21"},"nativeSrc":"386450:11:21","nodeType":"YulFunctionCall","src":"386450:11:21"},"variableNames":[{"name":"m3","nativeSrc":"386444:2:21","nodeType":"YulIdentifier","src":"386444:2:21"}]},{"nativeSrc":"386474:17:21","nodeType":"YulAssignment","src":"386474:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"386486:4:21","nodeType":"YulLiteral","src":"386486:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"386480:5:21","nodeType":"YulIdentifier","src":"386480:5:21"},"nativeSrc":"386480:11:21","nodeType":"YulFunctionCall","src":"386480:11:21"},"variableNames":[{"name":"m4","nativeSrc":"386474:2:21","nodeType":"YulIdentifier","src":"386474:2:21"}]},{"nativeSrc":"386504:17:21","nodeType":"YulAssignment","src":"386504:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"386516:4:21","nodeType":"YulLiteral","src":"386516:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"386510:5:21","nodeType":"YulIdentifier","src":"386510:5:21"},"nativeSrc":"386510:11:21","nodeType":"YulFunctionCall","src":"386510:11:21"},"variableNames":[{"name":"m5","nativeSrc":"386504:2:21","nodeType":"YulIdentifier","src":"386504:2:21"}]},{"nativeSrc":"386534:17:21","nodeType":"YulAssignment","src":"386534:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"386546:4:21","nodeType":"YulLiteral","src":"386546:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"386540:5:21","nodeType":"YulIdentifier","src":"386540:5:21"},"nativeSrc":"386540:11:21","nodeType":"YulFunctionCall","src":"386540:11:21"},"variableNames":[{"name":"m6","nativeSrc":"386534:2:21","nodeType":"YulIdentifier","src":"386534:2:21"}]},{"nativeSrc":"386564:17:21","nodeType":"YulAssignment","src":"386564:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"386576:4:21","nodeType":"YulLiteral","src":"386576:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"386570:5:21","nodeType":"YulIdentifier","src":"386570:5:21"},"nativeSrc":"386570:11:21","nodeType":"YulFunctionCall","src":"386570:11:21"},"variableNames":[{"name":"m7","nativeSrc":"386564:2:21","nodeType":"YulIdentifier","src":"386564:2:21"}]},{"nativeSrc":"386594:18:21","nodeType":"YulAssignment","src":"386594:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"386606:5:21","nodeType":"YulLiteral","src":"386606:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"386600:5:21","nodeType":"YulIdentifier","src":"386600:5:21"},"nativeSrc":"386600:12:21","nodeType":"YulFunctionCall","src":"386600:12:21"},"variableNames":[{"name":"m8","nativeSrc":"386594:2:21","nodeType":"YulIdentifier","src":"386594:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386694:4:21","nodeType":"YulLiteral","src":"386694:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"386700:10:21","nodeType":"YulLiteral","src":"386700:10:21","type":"","value":"0xabf73a98"}],"functionName":{"name":"mstore","nativeSrc":"386687:6:21","nodeType":"YulIdentifier","src":"386687:6:21"},"nativeSrc":"386687:24:21","nodeType":"YulFunctionCall","src":"386687:24:21"},"nativeSrc":"386687:24:21","nodeType":"YulExpressionStatement","src":"386687:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386731:4:21","nodeType":"YulLiteral","src":"386731:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"386737:4:21","nodeType":"YulLiteral","src":"386737:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"386724:6:21","nodeType":"YulIdentifier","src":"386724:6:21"},"nativeSrc":"386724:18:21","nodeType":"YulFunctionCall","src":"386724:18:21"},"nativeSrc":"386724:18:21","nodeType":"YulExpressionStatement","src":"386724:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386762:4:21","nodeType":"YulLiteral","src":"386762:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"386768:2:21","nodeType":"YulIdentifier","src":"386768:2:21"}],"functionName":{"name":"mstore","nativeSrc":"386755:6:21","nodeType":"YulIdentifier","src":"386755:6:21"},"nativeSrc":"386755:16:21","nodeType":"YulFunctionCall","src":"386755:16:21"},"nativeSrc":"386755:16:21","nodeType":"YulExpressionStatement","src":"386755:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386791:4:21","nodeType":"YulLiteral","src":"386791:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"386797:2:21","nodeType":"YulIdentifier","src":"386797:2:21"}],"functionName":{"name":"mstore","nativeSrc":"386784:6:21","nodeType":"YulIdentifier","src":"386784:6:21"},"nativeSrc":"386784:16:21","nodeType":"YulFunctionCall","src":"386784:16:21"},"nativeSrc":"386784:16:21","nodeType":"YulExpressionStatement","src":"386784:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386820:4:21","nodeType":"YulLiteral","src":"386820:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"386826:4:21","nodeType":"YulLiteral","src":"386826:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"386813:6:21","nodeType":"YulIdentifier","src":"386813:6:21"},"nativeSrc":"386813:18:21","nodeType":"YulFunctionCall","src":"386813:18:21"},"nativeSrc":"386813:18:21","nodeType":"YulExpressionStatement","src":"386813:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386856:4:21","nodeType":"YulLiteral","src":"386856:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"386862:2:21","nodeType":"YulIdentifier","src":"386862:2:21"}],"functionName":{"name":"writeString","nativeSrc":"386844:11:21","nodeType":"YulIdentifier","src":"386844:11:21"},"nativeSrc":"386844:21:21","nodeType":"YulFunctionCall","src":"386844:21:21"},"nativeSrc":"386844:21:21","nodeType":"YulExpressionStatement","src":"386844:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386890:4:21","nodeType":"YulLiteral","src":"386890:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"386896:2:21","nodeType":"YulIdentifier","src":"386896:2:21"}],"functionName":{"name":"writeString","nativeSrc":"386878:11:21","nodeType":"YulIdentifier","src":"386878:11:21"},"nativeSrc":"386878:21:21","nodeType":"YulFunctionCall","src":"386878:21:21"},"nativeSrc":"386878:21:21","nodeType":"YulExpressionStatement","src":"386878:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38862,"isOffset":false,"isSlot":false,"src":"386354:2:21","valueSize":1},{"declaration":38865,"isOffset":false,"isSlot":false,"src":"386384:2:21","valueSize":1},{"declaration":38868,"isOffset":false,"isSlot":false,"src":"386414:2:21","valueSize":1},{"declaration":38871,"isOffset":false,"isSlot":false,"src":"386444:2:21","valueSize":1},{"declaration":38874,"isOffset":false,"isSlot":false,"src":"386474:2:21","valueSize":1},{"declaration":38877,"isOffset":false,"isSlot":false,"src":"386504:2:21","valueSize":1},{"declaration":38880,"isOffset":false,"isSlot":false,"src":"386534:2:21","valueSize":1},{"declaration":38883,"isOffset":false,"isSlot":false,"src":"386564:2:21","valueSize":1},{"declaration":38886,"isOffset":false,"isSlot":false,"src":"386594:2:21","valueSize":1},{"declaration":38852,"isOffset":false,"isSlot":false,"src":"386862:2:21","valueSize":1},{"declaration":38854,"isOffset":false,"isSlot":false,"src":"386768:2:21","valueSize":1},{"declaration":38856,"isOffset":false,"isSlot":false,"src":"386797:2:21","valueSize":1},{"declaration":38858,"isOffset":false,"isSlot":false,"src":"386896:2:21","valueSize":1}],"id":38888,"nodeType":"InlineAssembly","src":"385976:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"386934:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"386940:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38889,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"386918:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"386918:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38893,"nodeType":"ExpressionStatement","src":"386918:28:21"},{"AST":{"nativeSrc":"387008:273:21","nodeType":"YulBlock","src":"387008:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"387029:4:21","nodeType":"YulLiteral","src":"387029:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"387035:2:21","nodeType":"YulIdentifier","src":"387035:2:21"}],"functionName":{"name":"mstore","nativeSrc":"387022:6:21","nodeType":"YulIdentifier","src":"387022:6:21"},"nativeSrc":"387022:16:21","nodeType":"YulFunctionCall","src":"387022:16:21"},"nativeSrc":"387022:16:21","nodeType":"YulExpressionStatement","src":"387022:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387058:4:21","nodeType":"YulLiteral","src":"387058:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"387064:2:21","nodeType":"YulIdentifier","src":"387064:2:21"}],"functionName":{"name":"mstore","nativeSrc":"387051:6:21","nodeType":"YulIdentifier","src":"387051:6:21"},"nativeSrc":"387051:16:21","nodeType":"YulFunctionCall","src":"387051:16:21"},"nativeSrc":"387051:16:21","nodeType":"YulExpressionStatement","src":"387051:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387087:4:21","nodeType":"YulLiteral","src":"387087:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"387093:2:21","nodeType":"YulIdentifier","src":"387093:2:21"}],"functionName":{"name":"mstore","nativeSrc":"387080:6:21","nodeType":"YulIdentifier","src":"387080:6:21"},"nativeSrc":"387080:16:21","nodeType":"YulFunctionCall","src":"387080:16:21"},"nativeSrc":"387080:16:21","nodeType":"YulExpressionStatement","src":"387080:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387116:4:21","nodeType":"YulLiteral","src":"387116:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"387122:2:21","nodeType":"YulIdentifier","src":"387122:2:21"}],"functionName":{"name":"mstore","nativeSrc":"387109:6:21","nodeType":"YulIdentifier","src":"387109:6:21"},"nativeSrc":"387109:16:21","nodeType":"YulFunctionCall","src":"387109:16:21"},"nativeSrc":"387109:16:21","nodeType":"YulExpressionStatement","src":"387109:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387145:4:21","nodeType":"YulLiteral","src":"387145:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"387151:2:21","nodeType":"YulIdentifier","src":"387151:2:21"}],"functionName":{"name":"mstore","nativeSrc":"387138:6:21","nodeType":"YulIdentifier","src":"387138:6:21"},"nativeSrc":"387138:16:21","nodeType":"YulFunctionCall","src":"387138:16:21"},"nativeSrc":"387138:16:21","nodeType":"YulExpressionStatement","src":"387138:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387174:4:21","nodeType":"YulLiteral","src":"387174:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"387180:2:21","nodeType":"YulIdentifier","src":"387180:2:21"}],"functionName":{"name":"mstore","nativeSrc":"387167:6:21","nodeType":"YulIdentifier","src":"387167:6:21"},"nativeSrc":"387167:16:21","nodeType":"YulFunctionCall","src":"387167:16:21"},"nativeSrc":"387167:16:21","nodeType":"YulExpressionStatement","src":"387167:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387203:4:21","nodeType":"YulLiteral","src":"387203:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"387209:2:21","nodeType":"YulIdentifier","src":"387209:2:21"}],"functionName":{"name":"mstore","nativeSrc":"387196:6:21","nodeType":"YulIdentifier","src":"387196:6:21"},"nativeSrc":"387196:16:21","nodeType":"YulFunctionCall","src":"387196:16:21"},"nativeSrc":"387196:16:21","nodeType":"YulExpressionStatement","src":"387196:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387232:4:21","nodeType":"YulLiteral","src":"387232:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"387238:2:21","nodeType":"YulIdentifier","src":"387238:2:21"}],"functionName":{"name":"mstore","nativeSrc":"387225:6:21","nodeType":"YulIdentifier","src":"387225:6:21"},"nativeSrc":"387225:16:21","nodeType":"YulFunctionCall","src":"387225:16:21"},"nativeSrc":"387225:16:21","nodeType":"YulExpressionStatement","src":"387225:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387261:5:21","nodeType":"YulLiteral","src":"387261:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"387268:2:21","nodeType":"YulIdentifier","src":"387268:2:21"}],"functionName":{"name":"mstore","nativeSrc":"387254:6:21","nodeType":"YulIdentifier","src":"387254:6:21"},"nativeSrc":"387254:17:21","nodeType":"YulFunctionCall","src":"387254:17:21"},"nativeSrc":"387254:17:21","nodeType":"YulExpressionStatement","src":"387254:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38862,"isOffset":false,"isSlot":false,"src":"387035:2:21","valueSize":1},{"declaration":38865,"isOffset":false,"isSlot":false,"src":"387064:2:21","valueSize":1},{"declaration":38868,"isOffset":false,"isSlot":false,"src":"387093:2:21","valueSize":1},{"declaration":38871,"isOffset":false,"isSlot":false,"src":"387122:2:21","valueSize":1},{"declaration":38874,"isOffset":false,"isSlot":false,"src":"387151:2:21","valueSize":1},{"declaration":38877,"isOffset":false,"isSlot":false,"src":"387180:2:21","valueSize":1},{"declaration":38880,"isOffset":false,"isSlot":false,"src":"387209:2:21","valueSize":1},{"declaration":38883,"isOffset":false,"isSlot":false,"src":"387238:2:21","valueSize":1},{"declaration":38886,"isOffset":false,"isSlot":false,"src":"387268:2:21","valueSize":1}],"id":38894,"nodeType":"InlineAssembly","src":"386999:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"385680:3:21","parameters":{"id":38859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38852,"mutability":"mutable","name":"p0","nameLocation":"385692:2:21","nodeType":"VariableDeclaration","scope":38896,"src":"385684:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385684:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38854,"mutability":"mutable","name":"p1","nameLocation":"385704:2:21","nodeType":"VariableDeclaration","scope":38896,"src":"385696:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38853,"name":"uint256","nodeType":"ElementaryTypeName","src":"385696:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38856,"mutability":"mutable","name":"p2","nameLocation":"385713:2:21","nodeType":"VariableDeclaration","scope":38896,"src":"385708:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38855,"name":"bool","nodeType":"ElementaryTypeName","src":"385708:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38858,"mutability":"mutable","name":"p3","nameLocation":"385725:2:21","nodeType":"VariableDeclaration","scope":38896,"src":"385717:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385717:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"385683:45:21"},"returnParameters":{"id":38860,"nodeType":"ParameterList","parameters":[],"src":"385743:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38936,"nodeType":"FunctionDefinition","src":"387293:1426:21","nodes":[],"body":{"id":38935,"nodeType":"Block","src":"387368:1351:21","nodes":[],"statements":[{"assignments":[38908],"declarations":[{"constant":false,"id":38908,"mutability":"mutable","name":"m0","nameLocation":"387386:2:21","nodeType":"VariableDeclaration","scope":38935,"src":"387378:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38907,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387378:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38909,"nodeType":"VariableDeclarationStatement","src":"387378:10:21"},{"assignments":[38911],"declarations":[{"constant":false,"id":38911,"mutability":"mutable","name":"m1","nameLocation":"387406:2:21","nodeType":"VariableDeclaration","scope":38935,"src":"387398:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387398:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38912,"nodeType":"VariableDeclarationStatement","src":"387398:10:21"},{"assignments":[38914],"declarations":[{"constant":false,"id":38914,"mutability":"mutable","name":"m2","nameLocation":"387426:2:21","nodeType":"VariableDeclaration","scope":38935,"src":"387418:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387418:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38915,"nodeType":"VariableDeclarationStatement","src":"387418:10:21"},{"assignments":[38917],"declarations":[{"constant":false,"id":38917,"mutability":"mutable","name":"m3","nameLocation":"387446:2:21","nodeType":"VariableDeclaration","scope":38935,"src":"387438:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387438:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38918,"nodeType":"VariableDeclarationStatement","src":"387438:10:21"},{"assignments":[38920],"declarations":[{"constant":false,"id":38920,"mutability":"mutable","name":"m4","nameLocation":"387466:2:21","nodeType":"VariableDeclaration","scope":38935,"src":"387458:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387458:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38921,"nodeType":"VariableDeclarationStatement","src":"387458:10:21"},{"assignments":[38923],"declarations":[{"constant":false,"id":38923,"mutability":"mutable","name":"m5","nameLocation":"387486:2:21","nodeType":"VariableDeclaration","scope":38935,"src":"387478:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387478:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38924,"nodeType":"VariableDeclarationStatement","src":"387478:10:21"},{"assignments":[38926],"declarations":[{"constant":false,"id":38926,"mutability":"mutable","name":"m6","nameLocation":"387506:2:21","nodeType":"VariableDeclaration","scope":38935,"src":"387498:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387498:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38927,"nodeType":"VariableDeclarationStatement","src":"387498:10:21"},{"AST":{"nativeSrc":"387570:831:21","nodeType":"YulBlock","src":"387570:831:21","statements":[{"body":{"nativeSrc":"387613:313:21","nodeType":"YulBlock","src":"387613:313:21","statements":[{"nativeSrc":"387631:15:21","nodeType":"YulVariableDeclaration","src":"387631:15:21","value":{"kind":"number","nativeSrc":"387645:1:21","nodeType":"YulLiteral","src":"387645:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"387635:6:21","nodeType":"YulTypedName","src":"387635:6:21","type":""}]},{"body":{"nativeSrc":"387716:40:21","nodeType":"YulBlock","src":"387716:40:21","statements":[{"body":{"nativeSrc":"387745:9:21","nodeType":"YulBlock","src":"387745:9:21","statements":[{"nativeSrc":"387747:5:21","nodeType":"YulBreak","src":"387747:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"387733:6:21","nodeType":"YulIdentifier","src":"387733:6:21"},{"name":"w","nativeSrc":"387741:1:21","nodeType":"YulIdentifier","src":"387741:1:21"}],"functionName":{"name":"byte","nativeSrc":"387728:4:21","nodeType":"YulIdentifier","src":"387728:4:21"},"nativeSrc":"387728:15:21","nodeType":"YulFunctionCall","src":"387728:15:21"}],"functionName":{"name":"iszero","nativeSrc":"387721:6:21","nodeType":"YulIdentifier","src":"387721:6:21"},"nativeSrc":"387721:23:21","nodeType":"YulFunctionCall","src":"387721:23:21"},"nativeSrc":"387718:36:21","nodeType":"YulIf","src":"387718:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"387673:6:21","nodeType":"YulIdentifier","src":"387673:6:21"},{"kind":"number","nativeSrc":"387681:4:21","nodeType":"YulLiteral","src":"387681:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"387670:2:21","nodeType":"YulIdentifier","src":"387670:2:21"},"nativeSrc":"387670:16:21","nodeType":"YulFunctionCall","src":"387670:16:21"},"nativeSrc":"387663:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"387687:28:21","nodeType":"YulBlock","src":"387687:28:21","statements":[{"nativeSrc":"387689:24:21","nodeType":"YulAssignment","src":"387689:24:21","value":{"arguments":[{"name":"length","nativeSrc":"387703:6:21","nodeType":"YulIdentifier","src":"387703:6:21"},{"kind":"number","nativeSrc":"387711:1:21","nodeType":"YulLiteral","src":"387711:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"387699:3:21","nodeType":"YulIdentifier","src":"387699:3:21"},"nativeSrc":"387699:14:21","nodeType":"YulFunctionCall","src":"387699:14:21"},"variableNames":[{"name":"length","nativeSrc":"387689:6:21","nodeType":"YulIdentifier","src":"387689:6:21"}]}]},"pre":{"nativeSrc":"387667:2:21","nodeType":"YulBlock","src":"387667:2:21","statements":[]},"src":"387663:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"387780:3:21","nodeType":"YulIdentifier","src":"387780:3:21"},{"name":"length","nativeSrc":"387785:6:21","nodeType":"YulIdentifier","src":"387785:6:21"}],"functionName":{"name":"mstore","nativeSrc":"387773:6:21","nodeType":"YulIdentifier","src":"387773:6:21"},"nativeSrc":"387773:19:21","nodeType":"YulFunctionCall","src":"387773:19:21"},"nativeSrc":"387773:19:21","nodeType":"YulExpressionStatement","src":"387773:19:21"},{"nativeSrc":"387809:37:21","nodeType":"YulVariableDeclaration","src":"387809:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"387826:3:21","nodeType":"YulLiteral","src":"387826:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"387835:1:21","nodeType":"YulLiteral","src":"387835:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"387838:6:21","nodeType":"YulIdentifier","src":"387838:6:21"}],"functionName":{"name":"shl","nativeSrc":"387831:3:21","nodeType":"YulIdentifier","src":"387831:3:21"},"nativeSrc":"387831:14:21","nodeType":"YulFunctionCall","src":"387831:14:21"}],"functionName":{"name":"sub","nativeSrc":"387822:3:21","nodeType":"YulIdentifier","src":"387822:3:21"},"nativeSrc":"387822:24:21","nodeType":"YulFunctionCall","src":"387822:24:21"},"variables":[{"name":"shift","nativeSrc":"387813:5:21","nodeType":"YulTypedName","src":"387813:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"387874:3:21","nodeType":"YulIdentifier","src":"387874:3:21"},{"kind":"number","nativeSrc":"387879:4:21","nodeType":"YulLiteral","src":"387879:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"387870:3:21","nodeType":"YulIdentifier","src":"387870:3:21"},"nativeSrc":"387870:14:21","nodeType":"YulFunctionCall","src":"387870:14:21"},{"arguments":[{"name":"shift","nativeSrc":"387890:5:21","nodeType":"YulIdentifier","src":"387890:5:21"},{"arguments":[{"name":"shift","nativeSrc":"387901:5:21","nodeType":"YulIdentifier","src":"387901:5:21"},{"name":"w","nativeSrc":"387908:1:21","nodeType":"YulIdentifier","src":"387908:1:21"}],"functionName":{"name":"shr","nativeSrc":"387897:3:21","nodeType":"YulIdentifier","src":"387897:3:21"},"nativeSrc":"387897:13:21","nodeType":"YulFunctionCall","src":"387897:13:21"}],"functionName":{"name":"shl","nativeSrc":"387886:3:21","nodeType":"YulIdentifier","src":"387886:3:21"},"nativeSrc":"387886:25:21","nodeType":"YulFunctionCall","src":"387886:25:21"}],"functionName":{"name":"mstore","nativeSrc":"387863:6:21","nodeType":"YulIdentifier","src":"387863:6:21"},"nativeSrc":"387863:49:21","nodeType":"YulFunctionCall","src":"387863:49:21"},"nativeSrc":"387863:49:21","nodeType":"YulExpressionStatement","src":"387863:49:21"}]},"name":"writeString","nativeSrc":"387584:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"387605:3:21","nodeType":"YulTypedName","src":"387605:3:21","type":""},{"name":"w","nativeSrc":"387610:1:21","nodeType":"YulTypedName","src":"387610:1:21","type":""}],"src":"387584:342:21"},{"nativeSrc":"387939:17:21","nodeType":"YulAssignment","src":"387939:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"387951:4:21","nodeType":"YulLiteral","src":"387951:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"387945:5:21","nodeType":"YulIdentifier","src":"387945:5:21"},"nativeSrc":"387945:11:21","nodeType":"YulFunctionCall","src":"387945:11:21"},"variableNames":[{"name":"m0","nativeSrc":"387939:2:21","nodeType":"YulIdentifier","src":"387939:2:21"}]},{"nativeSrc":"387969:17:21","nodeType":"YulAssignment","src":"387969:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"387981:4:21","nodeType":"YulLiteral","src":"387981:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"387975:5:21","nodeType":"YulIdentifier","src":"387975:5:21"},"nativeSrc":"387975:11:21","nodeType":"YulFunctionCall","src":"387975:11:21"},"variableNames":[{"name":"m1","nativeSrc":"387969:2:21","nodeType":"YulIdentifier","src":"387969:2:21"}]},{"nativeSrc":"387999:17:21","nodeType":"YulAssignment","src":"387999:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"388011:4:21","nodeType":"YulLiteral","src":"388011:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"388005:5:21","nodeType":"YulIdentifier","src":"388005:5:21"},"nativeSrc":"388005:11:21","nodeType":"YulFunctionCall","src":"388005:11:21"},"variableNames":[{"name":"m2","nativeSrc":"387999:2:21","nodeType":"YulIdentifier","src":"387999:2:21"}]},{"nativeSrc":"388029:17:21","nodeType":"YulAssignment","src":"388029:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"388041:4:21","nodeType":"YulLiteral","src":"388041:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"388035:5:21","nodeType":"YulIdentifier","src":"388035:5:21"},"nativeSrc":"388035:11:21","nodeType":"YulFunctionCall","src":"388035:11:21"},"variableNames":[{"name":"m3","nativeSrc":"388029:2:21","nodeType":"YulIdentifier","src":"388029:2:21"}]},{"nativeSrc":"388059:17:21","nodeType":"YulAssignment","src":"388059:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"388071:4:21","nodeType":"YulLiteral","src":"388071:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"388065:5:21","nodeType":"YulIdentifier","src":"388065:5:21"},"nativeSrc":"388065:11:21","nodeType":"YulFunctionCall","src":"388065:11:21"},"variableNames":[{"name":"m4","nativeSrc":"388059:2:21","nodeType":"YulIdentifier","src":"388059:2:21"}]},{"nativeSrc":"388089:17:21","nodeType":"YulAssignment","src":"388089:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"388101:4:21","nodeType":"YulLiteral","src":"388101:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"388095:5:21","nodeType":"YulIdentifier","src":"388095:5:21"},"nativeSrc":"388095:11:21","nodeType":"YulFunctionCall","src":"388095:11:21"},"variableNames":[{"name":"m5","nativeSrc":"388089:2:21","nodeType":"YulIdentifier","src":"388089:2:21"}]},{"nativeSrc":"388119:17:21","nodeType":"YulAssignment","src":"388119:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"388131:4:21","nodeType":"YulLiteral","src":"388131:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"388125:5:21","nodeType":"YulIdentifier","src":"388125:5:21"},"nativeSrc":"388125:11:21","nodeType":"YulFunctionCall","src":"388125:11:21"},"variableNames":[{"name":"m6","nativeSrc":"388119:2:21","nodeType":"YulIdentifier","src":"388119:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388222:4:21","nodeType":"YulLiteral","src":"388222:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"388228:10:21","nodeType":"YulLiteral","src":"388228:10:21","type":"","value":"0xe21de278"}],"functionName":{"name":"mstore","nativeSrc":"388215:6:21","nodeType":"YulIdentifier","src":"388215:6:21"},"nativeSrc":"388215:24:21","nodeType":"YulFunctionCall","src":"388215:24:21"},"nativeSrc":"388215:24:21","nodeType":"YulExpressionStatement","src":"388215:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388259:4:21","nodeType":"YulLiteral","src":"388259:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"388265:4:21","nodeType":"YulLiteral","src":"388265:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"388252:6:21","nodeType":"YulIdentifier","src":"388252:6:21"},"nativeSrc":"388252:18:21","nodeType":"YulFunctionCall","src":"388252:18:21"},"nativeSrc":"388252:18:21","nodeType":"YulExpressionStatement","src":"388252:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388290:4:21","nodeType":"YulLiteral","src":"388290:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"388296:2:21","nodeType":"YulIdentifier","src":"388296:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388283:6:21","nodeType":"YulIdentifier","src":"388283:6:21"},"nativeSrc":"388283:16:21","nodeType":"YulFunctionCall","src":"388283:16:21"},"nativeSrc":"388283:16:21","nodeType":"YulExpressionStatement","src":"388283:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388319:4:21","nodeType":"YulLiteral","src":"388319:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"388325:2:21","nodeType":"YulIdentifier","src":"388325:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388312:6:21","nodeType":"YulIdentifier","src":"388312:6:21"},"nativeSrc":"388312:16:21","nodeType":"YulFunctionCall","src":"388312:16:21"},"nativeSrc":"388312:16:21","nodeType":"YulExpressionStatement","src":"388312:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388348:4:21","nodeType":"YulLiteral","src":"388348:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"388354:2:21","nodeType":"YulIdentifier","src":"388354:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388341:6:21","nodeType":"YulIdentifier","src":"388341:6:21"},"nativeSrc":"388341:16:21","nodeType":"YulFunctionCall","src":"388341:16:21"},"nativeSrc":"388341:16:21","nodeType":"YulExpressionStatement","src":"388341:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388382:4:21","nodeType":"YulLiteral","src":"388382:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"388388:2:21","nodeType":"YulIdentifier","src":"388388:2:21"}],"functionName":{"name":"writeString","nativeSrc":"388370:11:21","nodeType":"YulIdentifier","src":"388370:11:21"},"nativeSrc":"388370:21:21","nodeType":"YulFunctionCall","src":"388370:21:21"},"nativeSrc":"388370:21:21","nodeType":"YulExpressionStatement","src":"388370:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38908,"isOffset":false,"isSlot":false,"src":"387939:2:21","valueSize":1},{"declaration":38911,"isOffset":false,"isSlot":false,"src":"387969:2:21","valueSize":1},{"declaration":38914,"isOffset":false,"isSlot":false,"src":"387999:2:21","valueSize":1},{"declaration":38917,"isOffset":false,"isSlot":false,"src":"388029:2:21","valueSize":1},{"declaration":38920,"isOffset":false,"isSlot":false,"src":"388059:2:21","valueSize":1},{"declaration":38923,"isOffset":false,"isSlot":false,"src":"388089:2:21","valueSize":1},{"declaration":38926,"isOffset":false,"isSlot":false,"src":"388119:2:21","valueSize":1},{"declaration":38898,"isOffset":false,"isSlot":false,"src":"388388:2:21","valueSize":1},{"declaration":38900,"isOffset":false,"isSlot":false,"src":"388296:2:21","valueSize":1},{"declaration":38902,"isOffset":false,"isSlot":false,"src":"388325:2:21","valueSize":1},{"declaration":38904,"isOffset":false,"isSlot":false,"src":"388354:2:21","valueSize":1}],"id":38928,"nodeType":"InlineAssembly","src":"387561:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"388426:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"388432:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38929,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"388410:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"388410:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38933,"nodeType":"ExpressionStatement","src":"388410:27:21"},{"AST":{"nativeSrc":"388499:214:21","nodeType":"YulBlock","src":"388499:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"388520:4:21","nodeType":"YulLiteral","src":"388520:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"388526:2:21","nodeType":"YulIdentifier","src":"388526:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388513:6:21","nodeType":"YulIdentifier","src":"388513:6:21"},"nativeSrc":"388513:16:21","nodeType":"YulFunctionCall","src":"388513:16:21"},"nativeSrc":"388513:16:21","nodeType":"YulExpressionStatement","src":"388513:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388549:4:21","nodeType":"YulLiteral","src":"388549:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"388555:2:21","nodeType":"YulIdentifier","src":"388555:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388542:6:21","nodeType":"YulIdentifier","src":"388542:6:21"},"nativeSrc":"388542:16:21","nodeType":"YulFunctionCall","src":"388542:16:21"},"nativeSrc":"388542:16:21","nodeType":"YulExpressionStatement","src":"388542:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388578:4:21","nodeType":"YulLiteral","src":"388578:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"388584:2:21","nodeType":"YulIdentifier","src":"388584:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388571:6:21","nodeType":"YulIdentifier","src":"388571:6:21"},"nativeSrc":"388571:16:21","nodeType":"YulFunctionCall","src":"388571:16:21"},"nativeSrc":"388571:16:21","nodeType":"YulExpressionStatement","src":"388571:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388607:4:21","nodeType":"YulLiteral","src":"388607:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"388613:2:21","nodeType":"YulIdentifier","src":"388613:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388600:6:21","nodeType":"YulIdentifier","src":"388600:6:21"},"nativeSrc":"388600:16:21","nodeType":"YulFunctionCall","src":"388600:16:21"},"nativeSrc":"388600:16:21","nodeType":"YulExpressionStatement","src":"388600:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388636:4:21","nodeType":"YulLiteral","src":"388636:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"388642:2:21","nodeType":"YulIdentifier","src":"388642:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388629:6:21","nodeType":"YulIdentifier","src":"388629:6:21"},"nativeSrc":"388629:16:21","nodeType":"YulFunctionCall","src":"388629:16:21"},"nativeSrc":"388629:16:21","nodeType":"YulExpressionStatement","src":"388629:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388665:4:21","nodeType":"YulLiteral","src":"388665:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"388671:2:21","nodeType":"YulIdentifier","src":"388671:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388658:6:21","nodeType":"YulIdentifier","src":"388658:6:21"},"nativeSrc":"388658:16:21","nodeType":"YulFunctionCall","src":"388658:16:21"},"nativeSrc":"388658:16:21","nodeType":"YulExpressionStatement","src":"388658:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388694:4:21","nodeType":"YulLiteral","src":"388694:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"388700:2:21","nodeType":"YulIdentifier","src":"388700:2:21"}],"functionName":{"name":"mstore","nativeSrc":"388687:6:21","nodeType":"YulIdentifier","src":"388687:6:21"},"nativeSrc":"388687:16:21","nodeType":"YulFunctionCall","src":"388687:16:21"},"nativeSrc":"388687:16:21","nodeType":"YulExpressionStatement","src":"388687:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38908,"isOffset":false,"isSlot":false,"src":"388526:2:21","valueSize":1},{"declaration":38911,"isOffset":false,"isSlot":false,"src":"388555:2:21","valueSize":1},{"declaration":38914,"isOffset":false,"isSlot":false,"src":"388584:2:21","valueSize":1},{"declaration":38917,"isOffset":false,"isSlot":false,"src":"388613:2:21","valueSize":1},{"declaration":38920,"isOffset":false,"isSlot":false,"src":"388642:2:21","valueSize":1},{"declaration":38923,"isOffset":false,"isSlot":false,"src":"388671:2:21","valueSize":1},{"declaration":38926,"isOffset":false,"isSlot":false,"src":"388700:2:21","valueSize":1}],"id":38934,"nodeType":"InlineAssembly","src":"388490:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"387302:3:21","parameters":{"id":38905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38898,"mutability":"mutable","name":"p0","nameLocation":"387314:2:21","nodeType":"VariableDeclaration","scope":38936,"src":"387306:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387306:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38900,"mutability":"mutable","name":"p1","nameLocation":"387326:2:21","nodeType":"VariableDeclaration","scope":38936,"src":"387318:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38899,"name":"uint256","nodeType":"ElementaryTypeName","src":"387318:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38902,"mutability":"mutable","name":"p2","nameLocation":"387338:2:21","nodeType":"VariableDeclaration","scope":38936,"src":"387330:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38901,"name":"uint256","nodeType":"ElementaryTypeName","src":"387330:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38904,"mutability":"mutable","name":"p3","nameLocation":"387350:2:21","nodeType":"VariableDeclaration","scope":38936,"src":"387342:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38903,"name":"address","nodeType":"ElementaryTypeName","src":"387342:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"387305:48:21"},"returnParameters":{"id":38906,"nodeType":"ParameterList","parameters":[],"src":"387368:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38976,"nodeType":"FunctionDefinition","src":"388725:1420:21","nodes":[],"body":{"id":38975,"nodeType":"Block","src":"388797:1348:21","nodes":[],"statements":[{"assignments":[38948],"declarations":[{"constant":false,"id":38948,"mutability":"mutable","name":"m0","nameLocation":"388815:2:21","nodeType":"VariableDeclaration","scope":38975,"src":"388807:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38947,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388807:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38949,"nodeType":"VariableDeclarationStatement","src":"388807:10:21"},{"assignments":[38951],"declarations":[{"constant":false,"id":38951,"mutability":"mutable","name":"m1","nameLocation":"388835:2:21","nodeType":"VariableDeclaration","scope":38975,"src":"388827:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38950,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388827:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38952,"nodeType":"VariableDeclarationStatement","src":"388827:10:21"},{"assignments":[38954],"declarations":[{"constant":false,"id":38954,"mutability":"mutable","name":"m2","nameLocation":"388855:2:21","nodeType":"VariableDeclaration","scope":38975,"src":"388847:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388847:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38955,"nodeType":"VariableDeclarationStatement","src":"388847:10:21"},{"assignments":[38957],"declarations":[{"constant":false,"id":38957,"mutability":"mutable","name":"m3","nameLocation":"388875:2:21","nodeType":"VariableDeclaration","scope":38975,"src":"388867:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388867:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38958,"nodeType":"VariableDeclarationStatement","src":"388867:10:21"},{"assignments":[38960],"declarations":[{"constant":false,"id":38960,"mutability":"mutable","name":"m4","nameLocation":"388895:2:21","nodeType":"VariableDeclaration","scope":38975,"src":"388887:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388887:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38961,"nodeType":"VariableDeclarationStatement","src":"388887:10:21"},{"assignments":[38963],"declarations":[{"constant":false,"id":38963,"mutability":"mutable","name":"m5","nameLocation":"388915:2:21","nodeType":"VariableDeclaration","scope":38975,"src":"388907:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38962,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388907:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38964,"nodeType":"VariableDeclarationStatement","src":"388907:10:21"},{"assignments":[38966],"declarations":[{"constant":false,"id":38966,"mutability":"mutable","name":"m6","nameLocation":"388935:2:21","nodeType":"VariableDeclaration","scope":38975,"src":"388927:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388927:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38967,"nodeType":"VariableDeclarationStatement","src":"388927:10:21"},{"AST":{"nativeSrc":"388999:828:21","nodeType":"YulBlock","src":"388999:828:21","statements":[{"body":{"nativeSrc":"389042:313:21","nodeType":"YulBlock","src":"389042:313:21","statements":[{"nativeSrc":"389060:15:21","nodeType":"YulVariableDeclaration","src":"389060:15:21","value":{"kind":"number","nativeSrc":"389074:1:21","nodeType":"YulLiteral","src":"389074:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"389064:6:21","nodeType":"YulTypedName","src":"389064:6:21","type":""}]},{"body":{"nativeSrc":"389145:40:21","nodeType":"YulBlock","src":"389145:40:21","statements":[{"body":{"nativeSrc":"389174:9:21","nodeType":"YulBlock","src":"389174:9:21","statements":[{"nativeSrc":"389176:5:21","nodeType":"YulBreak","src":"389176:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"389162:6:21","nodeType":"YulIdentifier","src":"389162:6:21"},{"name":"w","nativeSrc":"389170:1:21","nodeType":"YulIdentifier","src":"389170:1:21"}],"functionName":{"name":"byte","nativeSrc":"389157:4:21","nodeType":"YulIdentifier","src":"389157:4:21"},"nativeSrc":"389157:15:21","nodeType":"YulFunctionCall","src":"389157:15:21"}],"functionName":{"name":"iszero","nativeSrc":"389150:6:21","nodeType":"YulIdentifier","src":"389150:6:21"},"nativeSrc":"389150:23:21","nodeType":"YulFunctionCall","src":"389150:23:21"},"nativeSrc":"389147:36:21","nodeType":"YulIf","src":"389147:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"389102:6:21","nodeType":"YulIdentifier","src":"389102:6:21"},{"kind":"number","nativeSrc":"389110:4:21","nodeType":"YulLiteral","src":"389110:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"389099:2:21","nodeType":"YulIdentifier","src":"389099:2:21"},"nativeSrc":"389099:16:21","nodeType":"YulFunctionCall","src":"389099:16:21"},"nativeSrc":"389092:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"389116:28:21","nodeType":"YulBlock","src":"389116:28:21","statements":[{"nativeSrc":"389118:24:21","nodeType":"YulAssignment","src":"389118:24:21","value":{"arguments":[{"name":"length","nativeSrc":"389132:6:21","nodeType":"YulIdentifier","src":"389132:6:21"},{"kind":"number","nativeSrc":"389140:1:21","nodeType":"YulLiteral","src":"389140:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"389128:3:21","nodeType":"YulIdentifier","src":"389128:3:21"},"nativeSrc":"389128:14:21","nodeType":"YulFunctionCall","src":"389128:14:21"},"variableNames":[{"name":"length","nativeSrc":"389118:6:21","nodeType":"YulIdentifier","src":"389118:6:21"}]}]},"pre":{"nativeSrc":"389096:2:21","nodeType":"YulBlock","src":"389096:2:21","statements":[]},"src":"389092:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"389209:3:21","nodeType":"YulIdentifier","src":"389209:3:21"},{"name":"length","nativeSrc":"389214:6:21","nodeType":"YulIdentifier","src":"389214:6:21"}],"functionName":{"name":"mstore","nativeSrc":"389202:6:21","nodeType":"YulIdentifier","src":"389202:6:21"},"nativeSrc":"389202:19:21","nodeType":"YulFunctionCall","src":"389202:19:21"},"nativeSrc":"389202:19:21","nodeType":"YulExpressionStatement","src":"389202:19:21"},{"nativeSrc":"389238:37:21","nodeType":"YulVariableDeclaration","src":"389238:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"389255:3:21","nodeType":"YulLiteral","src":"389255:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"389264:1:21","nodeType":"YulLiteral","src":"389264:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"389267:6:21","nodeType":"YulIdentifier","src":"389267:6:21"}],"functionName":{"name":"shl","nativeSrc":"389260:3:21","nodeType":"YulIdentifier","src":"389260:3:21"},"nativeSrc":"389260:14:21","nodeType":"YulFunctionCall","src":"389260:14:21"}],"functionName":{"name":"sub","nativeSrc":"389251:3:21","nodeType":"YulIdentifier","src":"389251:3:21"},"nativeSrc":"389251:24:21","nodeType":"YulFunctionCall","src":"389251:24:21"},"variables":[{"name":"shift","nativeSrc":"389242:5:21","nodeType":"YulTypedName","src":"389242:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"389303:3:21","nodeType":"YulIdentifier","src":"389303:3:21"},{"kind":"number","nativeSrc":"389308:4:21","nodeType":"YulLiteral","src":"389308:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"389299:3:21","nodeType":"YulIdentifier","src":"389299:3:21"},"nativeSrc":"389299:14:21","nodeType":"YulFunctionCall","src":"389299:14:21"},{"arguments":[{"name":"shift","nativeSrc":"389319:5:21","nodeType":"YulIdentifier","src":"389319:5:21"},{"arguments":[{"name":"shift","nativeSrc":"389330:5:21","nodeType":"YulIdentifier","src":"389330:5:21"},{"name":"w","nativeSrc":"389337:1:21","nodeType":"YulIdentifier","src":"389337:1:21"}],"functionName":{"name":"shr","nativeSrc":"389326:3:21","nodeType":"YulIdentifier","src":"389326:3:21"},"nativeSrc":"389326:13:21","nodeType":"YulFunctionCall","src":"389326:13:21"}],"functionName":{"name":"shl","nativeSrc":"389315:3:21","nodeType":"YulIdentifier","src":"389315:3:21"},"nativeSrc":"389315:25:21","nodeType":"YulFunctionCall","src":"389315:25:21"}],"functionName":{"name":"mstore","nativeSrc":"389292:6:21","nodeType":"YulIdentifier","src":"389292:6:21"},"nativeSrc":"389292:49:21","nodeType":"YulFunctionCall","src":"389292:49:21"},"nativeSrc":"389292:49:21","nodeType":"YulExpressionStatement","src":"389292:49:21"}]},"name":"writeString","nativeSrc":"389013:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"389034:3:21","nodeType":"YulTypedName","src":"389034:3:21","type":""},{"name":"w","nativeSrc":"389039:1:21","nodeType":"YulTypedName","src":"389039:1:21","type":""}],"src":"389013:342:21"},{"nativeSrc":"389368:17:21","nodeType":"YulAssignment","src":"389368:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"389380:4:21","nodeType":"YulLiteral","src":"389380:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"389374:5:21","nodeType":"YulIdentifier","src":"389374:5:21"},"nativeSrc":"389374:11:21","nodeType":"YulFunctionCall","src":"389374:11:21"},"variableNames":[{"name":"m0","nativeSrc":"389368:2:21","nodeType":"YulIdentifier","src":"389368:2:21"}]},{"nativeSrc":"389398:17:21","nodeType":"YulAssignment","src":"389398:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"389410:4:21","nodeType":"YulLiteral","src":"389410:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"389404:5:21","nodeType":"YulIdentifier","src":"389404:5:21"},"nativeSrc":"389404:11:21","nodeType":"YulFunctionCall","src":"389404:11:21"},"variableNames":[{"name":"m1","nativeSrc":"389398:2:21","nodeType":"YulIdentifier","src":"389398:2:21"}]},{"nativeSrc":"389428:17:21","nodeType":"YulAssignment","src":"389428:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"389440:4:21","nodeType":"YulLiteral","src":"389440:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"389434:5:21","nodeType":"YulIdentifier","src":"389434:5:21"},"nativeSrc":"389434:11:21","nodeType":"YulFunctionCall","src":"389434:11:21"},"variableNames":[{"name":"m2","nativeSrc":"389428:2:21","nodeType":"YulIdentifier","src":"389428:2:21"}]},{"nativeSrc":"389458:17:21","nodeType":"YulAssignment","src":"389458:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"389470:4:21","nodeType":"YulLiteral","src":"389470:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"389464:5:21","nodeType":"YulIdentifier","src":"389464:5:21"},"nativeSrc":"389464:11:21","nodeType":"YulFunctionCall","src":"389464:11:21"},"variableNames":[{"name":"m3","nativeSrc":"389458:2:21","nodeType":"YulIdentifier","src":"389458:2:21"}]},{"nativeSrc":"389488:17:21","nodeType":"YulAssignment","src":"389488:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"389500:4:21","nodeType":"YulLiteral","src":"389500:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"389494:5:21","nodeType":"YulIdentifier","src":"389494:5:21"},"nativeSrc":"389494:11:21","nodeType":"YulFunctionCall","src":"389494:11:21"},"variableNames":[{"name":"m4","nativeSrc":"389488:2:21","nodeType":"YulIdentifier","src":"389488:2:21"}]},{"nativeSrc":"389518:17:21","nodeType":"YulAssignment","src":"389518:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"389530:4:21","nodeType":"YulLiteral","src":"389530:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"389524:5:21","nodeType":"YulIdentifier","src":"389524:5:21"},"nativeSrc":"389524:11:21","nodeType":"YulFunctionCall","src":"389524:11:21"},"variableNames":[{"name":"m5","nativeSrc":"389518:2:21","nodeType":"YulIdentifier","src":"389518:2:21"}]},{"nativeSrc":"389548:17:21","nodeType":"YulAssignment","src":"389548:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"389560:4:21","nodeType":"YulLiteral","src":"389560:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"389554:5:21","nodeType":"YulIdentifier","src":"389554:5:21"},"nativeSrc":"389554:11:21","nodeType":"YulFunctionCall","src":"389554:11:21"},"variableNames":[{"name":"m6","nativeSrc":"389548:2:21","nodeType":"YulIdentifier","src":"389548:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389648:4:21","nodeType":"YulLiteral","src":"389648:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"389654:10:21","nodeType":"YulLiteral","src":"389654:10:21","type":"","value":"0x7626db92"}],"functionName":{"name":"mstore","nativeSrc":"389641:6:21","nodeType":"YulIdentifier","src":"389641:6:21"},"nativeSrc":"389641:24:21","nodeType":"YulFunctionCall","src":"389641:24:21"},"nativeSrc":"389641:24:21","nodeType":"YulExpressionStatement","src":"389641:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389685:4:21","nodeType":"YulLiteral","src":"389685:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"389691:4:21","nodeType":"YulLiteral","src":"389691:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"389678:6:21","nodeType":"YulIdentifier","src":"389678:6:21"},"nativeSrc":"389678:18:21","nodeType":"YulFunctionCall","src":"389678:18:21"},"nativeSrc":"389678:18:21","nodeType":"YulExpressionStatement","src":"389678:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389716:4:21","nodeType":"YulLiteral","src":"389716:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"389722:2:21","nodeType":"YulIdentifier","src":"389722:2:21"}],"functionName":{"name":"mstore","nativeSrc":"389709:6:21","nodeType":"YulIdentifier","src":"389709:6:21"},"nativeSrc":"389709:16:21","nodeType":"YulFunctionCall","src":"389709:16:21"},"nativeSrc":"389709:16:21","nodeType":"YulExpressionStatement","src":"389709:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389745:4:21","nodeType":"YulLiteral","src":"389745:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"389751:2:21","nodeType":"YulIdentifier","src":"389751:2:21"}],"functionName":{"name":"mstore","nativeSrc":"389738:6:21","nodeType":"YulIdentifier","src":"389738:6:21"},"nativeSrc":"389738:16:21","nodeType":"YulFunctionCall","src":"389738:16:21"},"nativeSrc":"389738:16:21","nodeType":"YulExpressionStatement","src":"389738:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389774:4:21","nodeType":"YulLiteral","src":"389774:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"389780:2:21","nodeType":"YulIdentifier","src":"389780:2:21"}],"functionName":{"name":"mstore","nativeSrc":"389767:6:21","nodeType":"YulIdentifier","src":"389767:6:21"},"nativeSrc":"389767:16:21","nodeType":"YulFunctionCall","src":"389767:16:21"},"nativeSrc":"389767:16:21","nodeType":"YulExpressionStatement","src":"389767:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389808:4:21","nodeType":"YulLiteral","src":"389808:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"389814:2:21","nodeType":"YulIdentifier","src":"389814:2:21"}],"functionName":{"name":"writeString","nativeSrc":"389796:11:21","nodeType":"YulIdentifier","src":"389796:11:21"},"nativeSrc":"389796:21:21","nodeType":"YulFunctionCall","src":"389796:21:21"},"nativeSrc":"389796:21:21","nodeType":"YulExpressionStatement","src":"389796:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38948,"isOffset":false,"isSlot":false,"src":"389368:2:21","valueSize":1},{"declaration":38951,"isOffset":false,"isSlot":false,"src":"389398:2:21","valueSize":1},{"declaration":38954,"isOffset":false,"isSlot":false,"src":"389428:2:21","valueSize":1},{"declaration":38957,"isOffset":false,"isSlot":false,"src":"389458:2:21","valueSize":1},{"declaration":38960,"isOffset":false,"isSlot":false,"src":"389488:2:21","valueSize":1},{"declaration":38963,"isOffset":false,"isSlot":false,"src":"389518:2:21","valueSize":1},{"declaration":38966,"isOffset":false,"isSlot":false,"src":"389548:2:21","valueSize":1},{"declaration":38938,"isOffset":false,"isSlot":false,"src":"389814:2:21","valueSize":1},{"declaration":38940,"isOffset":false,"isSlot":false,"src":"389722:2:21","valueSize":1},{"declaration":38942,"isOffset":false,"isSlot":false,"src":"389751:2:21","valueSize":1},{"declaration":38944,"isOffset":false,"isSlot":false,"src":"389780:2:21","valueSize":1}],"id":38968,"nodeType":"InlineAssembly","src":"388990:837:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":38970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"389852:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"389858:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38969,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"389836:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"389836:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38973,"nodeType":"ExpressionStatement","src":"389836:27:21"},{"AST":{"nativeSrc":"389925:214:21","nodeType":"YulBlock","src":"389925:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"389946:4:21","nodeType":"YulLiteral","src":"389946:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"389952:2:21","nodeType":"YulIdentifier","src":"389952:2:21"}],"functionName":{"name":"mstore","nativeSrc":"389939:6:21","nodeType":"YulIdentifier","src":"389939:6:21"},"nativeSrc":"389939:16:21","nodeType":"YulFunctionCall","src":"389939:16:21"},"nativeSrc":"389939:16:21","nodeType":"YulExpressionStatement","src":"389939:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389975:4:21","nodeType":"YulLiteral","src":"389975:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"389981:2:21","nodeType":"YulIdentifier","src":"389981:2:21"}],"functionName":{"name":"mstore","nativeSrc":"389968:6:21","nodeType":"YulIdentifier","src":"389968:6:21"},"nativeSrc":"389968:16:21","nodeType":"YulFunctionCall","src":"389968:16:21"},"nativeSrc":"389968:16:21","nodeType":"YulExpressionStatement","src":"389968:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390004:4:21","nodeType":"YulLiteral","src":"390004:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"390010:2:21","nodeType":"YulIdentifier","src":"390010:2:21"}],"functionName":{"name":"mstore","nativeSrc":"389997:6:21","nodeType":"YulIdentifier","src":"389997:6:21"},"nativeSrc":"389997:16:21","nodeType":"YulFunctionCall","src":"389997:16:21"},"nativeSrc":"389997:16:21","nodeType":"YulExpressionStatement","src":"389997:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390033:4:21","nodeType":"YulLiteral","src":"390033:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"390039:2:21","nodeType":"YulIdentifier","src":"390039:2:21"}],"functionName":{"name":"mstore","nativeSrc":"390026:6:21","nodeType":"YulIdentifier","src":"390026:6:21"},"nativeSrc":"390026:16:21","nodeType":"YulFunctionCall","src":"390026:16:21"},"nativeSrc":"390026:16:21","nodeType":"YulExpressionStatement","src":"390026:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390062:4:21","nodeType":"YulLiteral","src":"390062:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"390068:2:21","nodeType":"YulIdentifier","src":"390068:2:21"}],"functionName":{"name":"mstore","nativeSrc":"390055:6:21","nodeType":"YulIdentifier","src":"390055:6:21"},"nativeSrc":"390055:16:21","nodeType":"YulFunctionCall","src":"390055:16:21"},"nativeSrc":"390055:16:21","nodeType":"YulExpressionStatement","src":"390055:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390091:4:21","nodeType":"YulLiteral","src":"390091:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"390097:2:21","nodeType":"YulIdentifier","src":"390097:2:21"}],"functionName":{"name":"mstore","nativeSrc":"390084:6:21","nodeType":"YulIdentifier","src":"390084:6:21"},"nativeSrc":"390084:16:21","nodeType":"YulFunctionCall","src":"390084:16:21"},"nativeSrc":"390084:16:21","nodeType":"YulExpressionStatement","src":"390084:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390120:4:21","nodeType":"YulLiteral","src":"390120:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"390126:2:21","nodeType":"YulIdentifier","src":"390126:2:21"}],"functionName":{"name":"mstore","nativeSrc":"390113:6:21","nodeType":"YulIdentifier","src":"390113:6:21"},"nativeSrc":"390113:16:21","nodeType":"YulFunctionCall","src":"390113:16:21"},"nativeSrc":"390113:16:21","nodeType":"YulExpressionStatement","src":"390113:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38948,"isOffset":false,"isSlot":false,"src":"389952:2:21","valueSize":1},{"declaration":38951,"isOffset":false,"isSlot":false,"src":"389981:2:21","valueSize":1},{"declaration":38954,"isOffset":false,"isSlot":false,"src":"390010:2:21","valueSize":1},{"declaration":38957,"isOffset":false,"isSlot":false,"src":"390039:2:21","valueSize":1},{"declaration":38960,"isOffset":false,"isSlot":false,"src":"390068:2:21","valueSize":1},{"declaration":38963,"isOffset":false,"isSlot":false,"src":"390097:2:21","valueSize":1},{"declaration":38966,"isOffset":false,"isSlot":false,"src":"390126:2:21","valueSize":1}],"id":38974,"nodeType":"InlineAssembly","src":"389916:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"388734:3:21","parameters":{"id":38945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38938,"mutability":"mutable","name":"p0","nameLocation":"388746:2:21","nodeType":"VariableDeclaration","scope":38976,"src":"388738:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388738:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38940,"mutability":"mutable","name":"p1","nameLocation":"388758:2:21","nodeType":"VariableDeclaration","scope":38976,"src":"388750:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38939,"name":"uint256","nodeType":"ElementaryTypeName","src":"388750:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38942,"mutability":"mutable","name":"p2","nameLocation":"388770:2:21","nodeType":"VariableDeclaration","scope":38976,"src":"388762:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38941,"name":"uint256","nodeType":"ElementaryTypeName","src":"388762:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38944,"mutability":"mutable","name":"p3","nameLocation":"388779:2:21","nodeType":"VariableDeclaration","scope":38976,"src":"388774:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38943,"name":"bool","nodeType":"ElementaryTypeName","src":"388774:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"388737:45:21"},"returnParameters":{"id":38946,"nodeType":"ParameterList","parameters":[],"src":"388797:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39016,"nodeType":"FunctionDefinition","src":"390151:1426:21","nodes":[],"body":{"id":39015,"nodeType":"Block","src":"390226:1351:21","nodes":[],"statements":[{"assignments":[38988],"declarations":[{"constant":false,"id":38988,"mutability":"mutable","name":"m0","nameLocation":"390244:2:21","nodeType":"VariableDeclaration","scope":39015,"src":"390236:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390236:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38989,"nodeType":"VariableDeclarationStatement","src":"390236:10:21"},{"assignments":[38991],"declarations":[{"constant":false,"id":38991,"mutability":"mutable","name":"m1","nameLocation":"390264:2:21","nodeType":"VariableDeclaration","scope":39015,"src":"390256:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390256:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38992,"nodeType":"VariableDeclarationStatement","src":"390256:10:21"},{"assignments":[38994],"declarations":[{"constant":false,"id":38994,"mutability":"mutable","name":"m2","nameLocation":"390284:2:21","nodeType":"VariableDeclaration","scope":39015,"src":"390276:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38993,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390276:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38995,"nodeType":"VariableDeclarationStatement","src":"390276:10:21"},{"assignments":[38997],"declarations":[{"constant":false,"id":38997,"mutability":"mutable","name":"m3","nameLocation":"390304:2:21","nodeType":"VariableDeclaration","scope":39015,"src":"390296:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390296:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38998,"nodeType":"VariableDeclarationStatement","src":"390296:10:21"},{"assignments":[39000],"declarations":[{"constant":false,"id":39000,"mutability":"mutable","name":"m4","nameLocation":"390324:2:21","nodeType":"VariableDeclaration","scope":39015,"src":"390316:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38999,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390316:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39001,"nodeType":"VariableDeclarationStatement","src":"390316:10:21"},{"assignments":[39003],"declarations":[{"constant":false,"id":39003,"mutability":"mutable","name":"m5","nameLocation":"390344:2:21","nodeType":"VariableDeclaration","scope":39015,"src":"390336:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39002,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390336:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39004,"nodeType":"VariableDeclarationStatement","src":"390336:10:21"},{"assignments":[39006],"declarations":[{"constant":false,"id":39006,"mutability":"mutable","name":"m6","nameLocation":"390364:2:21","nodeType":"VariableDeclaration","scope":39015,"src":"390356:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39005,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390356:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39007,"nodeType":"VariableDeclarationStatement","src":"390356:10:21"},{"AST":{"nativeSrc":"390428:831:21","nodeType":"YulBlock","src":"390428:831:21","statements":[{"body":{"nativeSrc":"390471:313:21","nodeType":"YulBlock","src":"390471:313:21","statements":[{"nativeSrc":"390489:15:21","nodeType":"YulVariableDeclaration","src":"390489:15:21","value":{"kind":"number","nativeSrc":"390503:1:21","nodeType":"YulLiteral","src":"390503:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"390493:6:21","nodeType":"YulTypedName","src":"390493:6:21","type":""}]},{"body":{"nativeSrc":"390574:40:21","nodeType":"YulBlock","src":"390574:40:21","statements":[{"body":{"nativeSrc":"390603:9:21","nodeType":"YulBlock","src":"390603:9:21","statements":[{"nativeSrc":"390605:5:21","nodeType":"YulBreak","src":"390605:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"390591:6:21","nodeType":"YulIdentifier","src":"390591:6:21"},{"name":"w","nativeSrc":"390599:1:21","nodeType":"YulIdentifier","src":"390599:1:21"}],"functionName":{"name":"byte","nativeSrc":"390586:4:21","nodeType":"YulIdentifier","src":"390586:4:21"},"nativeSrc":"390586:15:21","nodeType":"YulFunctionCall","src":"390586:15:21"}],"functionName":{"name":"iszero","nativeSrc":"390579:6:21","nodeType":"YulIdentifier","src":"390579:6:21"},"nativeSrc":"390579:23:21","nodeType":"YulFunctionCall","src":"390579:23:21"},"nativeSrc":"390576:36:21","nodeType":"YulIf","src":"390576:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"390531:6:21","nodeType":"YulIdentifier","src":"390531:6:21"},{"kind":"number","nativeSrc":"390539:4:21","nodeType":"YulLiteral","src":"390539:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"390528:2:21","nodeType":"YulIdentifier","src":"390528:2:21"},"nativeSrc":"390528:16:21","nodeType":"YulFunctionCall","src":"390528:16:21"},"nativeSrc":"390521:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"390545:28:21","nodeType":"YulBlock","src":"390545:28:21","statements":[{"nativeSrc":"390547:24:21","nodeType":"YulAssignment","src":"390547:24:21","value":{"arguments":[{"name":"length","nativeSrc":"390561:6:21","nodeType":"YulIdentifier","src":"390561:6:21"},{"kind":"number","nativeSrc":"390569:1:21","nodeType":"YulLiteral","src":"390569:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"390557:3:21","nodeType":"YulIdentifier","src":"390557:3:21"},"nativeSrc":"390557:14:21","nodeType":"YulFunctionCall","src":"390557:14:21"},"variableNames":[{"name":"length","nativeSrc":"390547:6:21","nodeType":"YulIdentifier","src":"390547:6:21"}]}]},"pre":{"nativeSrc":"390525:2:21","nodeType":"YulBlock","src":"390525:2:21","statements":[]},"src":"390521:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"390638:3:21","nodeType":"YulIdentifier","src":"390638:3:21"},{"name":"length","nativeSrc":"390643:6:21","nodeType":"YulIdentifier","src":"390643:6:21"}],"functionName":{"name":"mstore","nativeSrc":"390631:6:21","nodeType":"YulIdentifier","src":"390631:6:21"},"nativeSrc":"390631:19:21","nodeType":"YulFunctionCall","src":"390631:19:21"},"nativeSrc":"390631:19:21","nodeType":"YulExpressionStatement","src":"390631:19:21"},{"nativeSrc":"390667:37:21","nodeType":"YulVariableDeclaration","src":"390667:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"390684:3:21","nodeType":"YulLiteral","src":"390684:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"390693:1:21","nodeType":"YulLiteral","src":"390693:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"390696:6:21","nodeType":"YulIdentifier","src":"390696:6:21"}],"functionName":{"name":"shl","nativeSrc":"390689:3:21","nodeType":"YulIdentifier","src":"390689:3:21"},"nativeSrc":"390689:14:21","nodeType":"YulFunctionCall","src":"390689:14:21"}],"functionName":{"name":"sub","nativeSrc":"390680:3:21","nodeType":"YulIdentifier","src":"390680:3:21"},"nativeSrc":"390680:24:21","nodeType":"YulFunctionCall","src":"390680:24:21"},"variables":[{"name":"shift","nativeSrc":"390671:5:21","nodeType":"YulTypedName","src":"390671:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"390732:3:21","nodeType":"YulIdentifier","src":"390732:3:21"},{"kind":"number","nativeSrc":"390737:4:21","nodeType":"YulLiteral","src":"390737:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"390728:3:21","nodeType":"YulIdentifier","src":"390728:3:21"},"nativeSrc":"390728:14:21","nodeType":"YulFunctionCall","src":"390728:14:21"},{"arguments":[{"name":"shift","nativeSrc":"390748:5:21","nodeType":"YulIdentifier","src":"390748:5:21"},{"arguments":[{"name":"shift","nativeSrc":"390759:5:21","nodeType":"YulIdentifier","src":"390759:5:21"},{"name":"w","nativeSrc":"390766:1:21","nodeType":"YulIdentifier","src":"390766:1:21"}],"functionName":{"name":"shr","nativeSrc":"390755:3:21","nodeType":"YulIdentifier","src":"390755:3:21"},"nativeSrc":"390755:13:21","nodeType":"YulFunctionCall","src":"390755:13:21"}],"functionName":{"name":"shl","nativeSrc":"390744:3:21","nodeType":"YulIdentifier","src":"390744:3:21"},"nativeSrc":"390744:25:21","nodeType":"YulFunctionCall","src":"390744:25:21"}],"functionName":{"name":"mstore","nativeSrc":"390721:6:21","nodeType":"YulIdentifier","src":"390721:6:21"},"nativeSrc":"390721:49:21","nodeType":"YulFunctionCall","src":"390721:49:21"},"nativeSrc":"390721:49:21","nodeType":"YulExpressionStatement","src":"390721:49:21"}]},"name":"writeString","nativeSrc":"390442:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"390463:3:21","nodeType":"YulTypedName","src":"390463:3:21","type":""},{"name":"w","nativeSrc":"390468:1:21","nodeType":"YulTypedName","src":"390468:1:21","type":""}],"src":"390442:342:21"},{"nativeSrc":"390797:17:21","nodeType":"YulAssignment","src":"390797:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"390809:4:21","nodeType":"YulLiteral","src":"390809:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"390803:5:21","nodeType":"YulIdentifier","src":"390803:5:21"},"nativeSrc":"390803:11:21","nodeType":"YulFunctionCall","src":"390803:11:21"},"variableNames":[{"name":"m0","nativeSrc":"390797:2:21","nodeType":"YulIdentifier","src":"390797:2:21"}]},{"nativeSrc":"390827:17:21","nodeType":"YulAssignment","src":"390827:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"390839:4:21","nodeType":"YulLiteral","src":"390839:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"390833:5:21","nodeType":"YulIdentifier","src":"390833:5:21"},"nativeSrc":"390833:11:21","nodeType":"YulFunctionCall","src":"390833:11:21"},"variableNames":[{"name":"m1","nativeSrc":"390827:2:21","nodeType":"YulIdentifier","src":"390827:2:21"}]},{"nativeSrc":"390857:17:21","nodeType":"YulAssignment","src":"390857:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"390869:4:21","nodeType":"YulLiteral","src":"390869:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"390863:5:21","nodeType":"YulIdentifier","src":"390863:5:21"},"nativeSrc":"390863:11:21","nodeType":"YulFunctionCall","src":"390863:11:21"},"variableNames":[{"name":"m2","nativeSrc":"390857:2:21","nodeType":"YulIdentifier","src":"390857:2:21"}]},{"nativeSrc":"390887:17:21","nodeType":"YulAssignment","src":"390887:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"390899:4:21","nodeType":"YulLiteral","src":"390899:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"390893:5:21","nodeType":"YulIdentifier","src":"390893:5:21"},"nativeSrc":"390893:11:21","nodeType":"YulFunctionCall","src":"390893:11:21"},"variableNames":[{"name":"m3","nativeSrc":"390887:2:21","nodeType":"YulIdentifier","src":"390887:2:21"}]},{"nativeSrc":"390917:17:21","nodeType":"YulAssignment","src":"390917:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"390929:4:21","nodeType":"YulLiteral","src":"390929:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"390923:5:21","nodeType":"YulIdentifier","src":"390923:5:21"},"nativeSrc":"390923:11:21","nodeType":"YulFunctionCall","src":"390923:11:21"},"variableNames":[{"name":"m4","nativeSrc":"390917:2:21","nodeType":"YulIdentifier","src":"390917:2:21"}]},{"nativeSrc":"390947:17:21","nodeType":"YulAssignment","src":"390947:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"390959:4:21","nodeType":"YulLiteral","src":"390959:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"390953:5:21","nodeType":"YulIdentifier","src":"390953:5:21"},"nativeSrc":"390953:11:21","nodeType":"YulFunctionCall","src":"390953:11:21"},"variableNames":[{"name":"m5","nativeSrc":"390947:2:21","nodeType":"YulIdentifier","src":"390947:2:21"}]},{"nativeSrc":"390977:17:21","nodeType":"YulAssignment","src":"390977:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"390989:4:21","nodeType":"YulLiteral","src":"390989:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"390983:5:21","nodeType":"YulIdentifier","src":"390983:5:21"},"nativeSrc":"390983:11:21","nodeType":"YulFunctionCall","src":"390983:11:21"},"variableNames":[{"name":"m6","nativeSrc":"390977:2:21","nodeType":"YulIdentifier","src":"390977:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391080:4:21","nodeType":"YulLiteral","src":"391080:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"391086:10:21","nodeType":"YulLiteral","src":"391086:10:21","type":"","value":"0xa7a87853"}],"functionName":{"name":"mstore","nativeSrc":"391073:6:21","nodeType":"YulIdentifier","src":"391073:6:21"},"nativeSrc":"391073:24:21","nodeType":"YulFunctionCall","src":"391073:24:21"},"nativeSrc":"391073:24:21","nodeType":"YulExpressionStatement","src":"391073:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391117:4:21","nodeType":"YulLiteral","src":"391117:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"391123:4:21","nodeType":"YulLiteral","src":"391123:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"391110:6:21","nodeType":"YulIdentifier","src":"391110:6:21"},"nativeSrc":"391110:18:21","nodeType":"YulFunctionCall","src":"391110:18:21"},"nativeSrc":"391110:18:21","nodeType":"YulExpressionStatement","src":"391110:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391148:4:21","nodeType":"YulLiteral","src":"391148:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"391154:2:21","nodeType":"YulIdentifier","src":"391154:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391141:6:21","nodeType":"YulIdentifier","src":"391141:6:21"},"nativeSrc":"391141:16:21","nodeType":"YulFunctionCall","src":"391141:16:21"},"nativeSrc":"391141:16:21","nodeType":"YulExpressionStatement","src":"391141:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391177:4:21","nodeType":"YulLiteral","src":"391177:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"391183:2:21","nodeType":"YulIdentifier","src":"391183:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391170:6:21","nodeType":"YulIdentifier","src":"391170:6:21"},"nativeSrc":"391170:16:21","nodeType":"YulFunctionCall","src":"391170:16:21"},"nativeSrc":"391170:16:21","nodeType":"YulExpressionStatement","src":"391170:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391206:4:21","nodeType":"YulLiteral","src":"391206:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"391212:2:21","nodeType":"YulIdentifier","src":"391212:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391199:6:21","nodeType":"YulIdentifier","src":"391199:6:21"},"nativeSrc":"391199:16:21","nodeType":"YulFunctionCall","src":"391199:16:21"},"nativeSrc":"391199:16:21","nodeType":"YulExpressionStatement","src":"391199:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391240:4:21","nodeType":"YulLiteral","src":"391240:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"391246:2:21","nodeType":"YulIdentifier","src":"391246:2:21"}],"functionName":{"name":"writeString","nativeSrc":"391228:11:21","nodeType":"YulIdentifier","src":"391228:11:21"},"nativeSrc":"391228:21:21","nodeType":"YulFunctionCall","src":"391228:21:21"},"nativeSrc":"391228:21:21","nodeType":"YulExpressionStatement","src":"391228:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38988,"isOffset":false,"isSlot":false,"src":"390797:2:21","valueSize":1},{"declaration":38991,"isOffset":false,"isSlot":false,"src":"390827:2:21","valueSize":1},{"declaration":38994,"isOffset":false,"isSlot":false,"src":"390857:2:21","valueSize":1},{"declaration":38997,"isOffset":false,"isSlot":false,"src":"390887:2:21","valueSize":1},{"declaration":39000,"isOffset":false,"isSlot":false,"src":"390917:2:21","valueSize":1},{"declaration":39003,"isOffset":false,"isSlot":false,"src":"390947:2:21","valueSize":1},{"declaration":39006,"isOffset":false,"isSlot":false,"src":"390977:2:21","valueSize":1},{"declaration":38978,"isOffset":false,"isSlot":false,"src":"391246:2:21","valueSize":1},{"declaration":38980,"isOffset":false,"isSlot":false,"src":"391154:2:21","valueSize":1},{"declaration":38982,"isOffset":false,"isSlot":false,"src":"391183:2:21","valueSize":1},{"declaration":38984,"isOffset":false,"isSlot":false,"src":"391212:2:21","valueSize":1}],"id":39008,"nodeType":"InlineAssembly","src":"390419:840:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"391284:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":39011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"391290:4:21","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":39009,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"391268:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"391268:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39013,"nodeType":"ExpressionStatement","src":"391268:27:21"},{"AST":{"nativeSrc":"391357:214:21","nodeType":"YulBlock","src":"391357:214:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"391378:4:21","nodeType":"YulLiteral","src":"391378:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"391384:2:21","nodeType":"YulIdentifier","src":"391384:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391371:6:21","nodeType":"YulIdentifier","src":"391371:6:21"},"nativeSrc":"391371:16:21","nodeType":"YulFunctionCall","src":"391371:16:21"},"nativeSrc":"391371:16:21","nodeType":"YulExpressionStatement","src":"391371:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391407:4:21","nodeType":"YulLiteral","src":"391407:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"391413:2:21","nodeType":"YulIdentifier","src":"391413:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391400:6:21","nodeType":"YulIdentifier","src":"391400:6:21"},"nativeSrc":"391400:16:21","nodeType":"YulFunctionCall","src":"391400:16:21"},"nativeSrc":"391400:16:21","nodeType":"YulExpressionStatement","src":"391400:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391436:4:21","nodeType":"YulLiteral","src":"391436:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"391442:2:21","nodeType":"YulIdentifier","src":"391442:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391429:6:21","nodeType":"YulIdentifier","src":"391429:6:21"},"nativeSrc":"391429:16:21","nodeType":"YulFunctionCall","src":"391429:16:21"},"nativeSrc":"391429:16:21","nodeType":"YulExpressionStatement","src":"391429:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391465:4:21","nodeType":"YulLiteral","src":"391465:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"391471:2:21","nodeType":"YulIdentifier","src":"391471:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391458:6:21","nodeType":"YulIdentifier","src":"391458:6:21"},"nativeSrc":"391458:16:21","nodeType":"YulFunctionCall","src":"391458:16:21"},"nativeSrc":"391458:16:21","nodeType":"YulExpressionStatement","src":"391458:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391494:4:21","nodeType":"YulLiteral","src":"391494:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"391500:2:21","nodeType":"YulIdentifier","src":"391500:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391487:6:21","nodeType":"YulIdentifier","src":"391487:6:21"},"nativeSrc":"391487:16:21","nodeType":"YulFunctionCall","src":"391487:16:21"},"nativeSrc":"391487:16:21","nodeType":"YulExpressionStatement","src":"391487:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391523:4:21","nodeType":"YulLiteral","src":"391523:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"391529:2:21","nodeType":"YulIdentifier","src":"391529:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391516:6:21","nodeType":"YulIdentifier","src":"391516:6:21"},"nativeSrc":"391516:16:21","nodeType":"YulFunctionCall","src":"391516:16:21"},"nativeSrc":"391516:16:21","nodeType":"YulExpressionStatement","src":"391516:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391552:4:21","nodeType":"YulLiteral","src":"391552:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"391558:2:21","nodeType":"YulIdentifier","src":"391558:2:21"}],"functionName":{"name":"mstore","nativeSrc":"391545:6:21","nodeType":"YulIdentifier","src":"391545:6:21"},"nativeSrc":"391545:16:21","nodeType":"YulFunctionCall","src":"391545:16:21"},"nativeSrc":"391545:16:21","nodeType":"YulExpressionStatement","src":"391545:16:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":38988,"isOffset":false,"isSlot":false,"src":"391384:2:21","valueSize":1},{"declaration":38991,"isOffset":false,"isSlot":false,"src":"391413:2:21","valueSize":1},{"declaration":38994,"isOffset":false,"isSlot":false,"src":"391442:2:21","valueSize":1},{"declaration":38997,"isOffset":false,"isSlot":false,"src":"391471:2:21","valueSize":1},{"declaration":39000,"isOffset":false,"isSlot":false,"src":"391500:2:21","valueSize":1},{"declaration":39003,"isOffset":false,"isSlot":false,"src":"391529:2:21","valueSize":1},{"declaration":39006,"isOffset":false,"isSlot":false,"src":"391558:2:21","valueSize":1}],"id":39014,"nodeType":"InlineAssembly","src":"391348:223:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"390160:3:21","parameters":{"id":38985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38978,"mutability":"mutable","name":"p0","nameLocation":"390172:2:21","nodeType":"VariableDeclaration","scope":39016,"src":"390164:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390164:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38980,"mutability":"mutable","name":"p1","nameLocation":"390184:2:21","nodeType":"VariableDeclaration","scope":39016,"src":"390176:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38979,"name":"uint256","nodeType":"ElementaryTypeName","src":"390176:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38982,"mutability":"mutable","name":"p2","nameLocation":"390196:2:21","nodeType":"VariableDeclaration","scope":39016,"src":"390188:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38981,"name":"uint256","nodeType":"ElementaryTypeName","src":"390188:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38984,"mutability":"mutable","name":"p3","nameLocation":"390208:2:21","nodeType":"VariableDeclaration","scope":39016,"src":"390200:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38983,"name":"uint256","nodeType":"ElementaryTypeName","src":"390200:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"390163:48:21"},"returnParameters":{"id":38986,"nodeType":"ParameterList","parameters":[],"src":"390226:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39062,"nodeType":"FunctionDefinition","src":"391583:1622:21","nodes":[],"body":{"id":39061,"nodeType":"Block","src":"391658:1547:21","nodes":[],"statements":[{"assignments":[39028],"declarations":[{"constant":false,"id":39028,"mutability":"mutable","name":"m0","nameLocation":"391676:2:21","nodeType":"VariableDeclaration","scope":39061,"src":"391668:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391668:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39029,"nodeType":"VariableDeclarationStatement","src":"391668:10:21"},{"assignments":[39031],"declarations":[{"constant":false,"id":39031,"mutability":"mutable","name":"m1","nameLocation":"391696:2:21","nodeType":"VariableDeclaration","scope":39061,"src":"391688:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391688:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39032,"nodeType":"VariableDeclarationStatement","src":"391688:10:21"},{"assignments":[39034],"declarations":[{"constant":false,"id":39034,"mutability":"mutable","name":"m2","nameLocation":"391716:2:21","nodeType":"VariableDeclaration","scope":39061,"src":"391708:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391708:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39035,"nodeType":"VariableDeclarationStatement","src":"391708:10:21"},{"assignments":[39037],"declarations":[{"constant":false,"id":39037,"mutability":"mutable","name":"m3","nameLocation":"391736:2:21","nodeType":"VariableDeclaration","scope":39061,"src":"391728:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391728:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39038,"nodeType":"VariableDeclarationStatement","src":"391728:10:21"},{"assignments":[39040],"declarations":[{"constant":false,"id":39040,"mutability":"mutable","name":"m4","nameLocation":"391756:2:21","nodeType":"VariableDeclaration","scope":39061,"src":"391748:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391748:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39041,"nodeType":"VariableDeclarationStatement","src":"391748:10:21"},{"assignments":[39043],"declarations":[{"constant":false,"id":39043,"mutability":"mutable","name":"m5","nameLocation":"391776:2:21","nodeType":"VariableDeclaration","scope":39061,"src":"391768:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391768:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39044,"nodeType":"VariableDeclarationStatement","src":"391768:10:21"},{"assignments":[39046],"declarations":[{"constant":false,"id":39046,"mutability":"mutable","name":"m6","nameLocation":"391796:2:21","nodeType":"VariableDeclaration","scope":39061,"src":"391788:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391788:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39047,"nodeType":"VariableDeclarationStatement","src":"391788:10:21"},{"assignments":[39049],"declarations":[{"constant":false,"id":39049,"mutability":"mutable","name":"m7","nameLocation":"391816:2:21","nodeType":"VariableDeclaration","scope":39061,"src":"391808:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39048,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391808:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39050,"nodeType":"VariableDeclarationStatement","src":"391808:10:21"},{"assignments":[39052],"declarations":[{"constant":false,"id":39052,"mutability":"mutable","name":"m8","nameLocation":"391836:2:21","nodeType":"VariableDeclaration","scope":39061,"src":"391828:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391828:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39053,"nodeType":"VariableDeclarationStatement","src":"391828:10:21"},{"AST":{"nativeSrc":"391900:927:21","nodeType":"YulBlock","src":"391900:927:21","statements":[{"body":{"nativeSrc":"391943:313:21","nodeType":"YulBlock","src":"391943:313:21","statements":[{"nativeSrc":"391961:15:21","nodeType":"YulVariableDeclaration","src":"391961:15:21","value":{"kind":"number","nativeSrc":"391975:1:21","nodeType":"YulLiteral","src":"391975:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"391965:6:21","nodeType":"YulTypedName","src":"391965:6:21","type":""}]},{"body":{"nativeSrc":"392046:40:21","nodeType":"YulBlock","src":"392046:40:21","statements":[{"body":{"nativeSrc":"392075:9:21","nodeType":"YulBlock","src":"392075:9:21","statements":[{"nativeSrc":"392077:5:21","nodeType":"YulBreak","src":"392077:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"392063:6:21","nodeType":"YulIdentifier","src":"392063:6:21"},{"name":"w","nativeSrc":"392071:1:21","nodeType":"YulIdentifier","src":"392071:1:21"}],"functionName":{"name":"byte","nativeSrc":"392058:4:21","nodeType":"YulIdentifier","src":"392058:4:21"},"nativeSrc":"392058:15:21","nodeType":"YulFunctionCall","src":"392058:15:21"}],"functionName":{"name":"iszero","nativeSrc":"392051:6:21","nodeType":"YulIdentifier","src":"392051:6:21"},"nativeSrc":"392051:23:21","nodeType":"YulFunctionCall","src":"392051:23:21"},"nativeSrc":"392048:36:21","nodeType":"YulIf","src":"392048:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"392003:6:21","nodeType":"YulIdentifier","src":"392003:6:21"},{"kind":"number","nativeSrc":"392011:4:21","nodeType":"YulLiteral","src":"392011:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"392000:2:21","nodeType":"YulIdentifier","src":"392000:2:21"},"nativeSrc":"392000:16:21","nodeType":"YulFunctionCall","src":"392000:16:21"},"nativeSrc":"391993:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"392017:28:21","nodeType":"YulBlock","src":"392017:28:21","statements":[{"nativeSrc":"392019:24:21","nodeType":"YulAssignment","src":"392019:24:21","value":{"arguments":[{"name":"length","nativeSrc":"392033:6:21","nodeType":"YulIdentifier","src":"392033:6:21"},{"kind":"number","nativeSrc":"392041:1:21","nodeType":"YulLiteral","src":"392041:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"392029:3:21","nodeType":"YulIdentifier","src":"392029:3:21"},"nativeSrc":"392029:14:21","nodeType":"YulFunctionCall","src":"392029:14:21"},"variableNames":[{"name":"length","nativeSrc":"392019:6:21","nodeType":"YulIdentifier","src":"392019:6:21"}]}]},"pre":{"nativeSrc":"391997:2:21","nodeType":"YulBlock","src":"391997:2:21","statements":[]},"src":"391993:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"392110:3:21","nodeType":"YulIdentifier","src":"392110:3:21"},{"name":"length","nativeSrc":"392115:6:21","nodeType":"YulIdentifier","src":"392115:6:21"}],"functionName":{"name":"mstore","nativeSrc":"392103:6:21","nodeType":"YulIdentifier","src":"392103:6:21"},"nativeSrc":"392103:19:21","nodeType":"YulFunctionCall","src":"392103:19:21"},"nativeSrc":"392103:19:21","nodeType":"YulExpressionStatement","src":"392103:19:21"},{"nativeSrc":"392139:37:21","nodeType":"YulVariableDeclaration","src":"392139:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"392156:3:21","nodeType":"YulLiteral","src":"392156:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"392165:1:21","nodeType":"YulLiteral","src":"392165:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"392168:6:21","nodeType":"YulIdentifier","src":"392168:6:21"}],"functionName":{"name":"shl","nativeSrc":"392161:3:21","nodeType":"YulIdentifier","src":"392161:3:21"},"nativeSrc":"392161:14:21","nodeType":"YulFunctionCall","src":"392161:14:21"}],"functionName":{"name":"sub","nativeSrc":"392152:3:21","nodeType":"YulIdentifier","src":"392152:3:21"},"nativeSrc":"392152:24:21","nodeType":"YulFunctionCall","src":"392152:24:21"},"variables":[{"name":"shift","nativeSrc":"392143:5:21","nodeType":"YulTypedName","src":"392143:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"392204:3:21","nodeType":"YulIdentifier","src":"392204:3:21"},{"kind":"number","nativeSrc":"392209:4:21","nodeType":"YulLiteral","src":"392209:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"392200:3:21","nodeType":"YulIdentifier","src":"392200:3:21"},"nativeSrc":"392200:14:21","nodeType":"YulFunctionCall","src":"392200:14:21"},{"arguments":[{"name":"shift","nativeSrc":"392220:5:21","nodeType":"YulIdentifier","src":"392220:5:21"},{"arguments":[{"name":"shift","nativeSrc":"392231:5:21","nodeType":"YulIdentifier","src":"392231:5:21"},{"name":"w","nativeSrc":"392238:1:21","nodeType":"YulIdentifier","src":"392238:1:21"}],"functionName":{"name":"shr","nativeSrc":"392227:3:21","nodeType":"YulIdentifier","src":"392227:3:21"},"nativeSrc":"392227:13:21","nodeType":"YulFunctionCall","src":"392227:13:21"}],"functionName":{"name":"shl","nativeSrc":"392216:3:21","nodeType":"YulIdentifier","src":"392216:3:21"},"nativeSrc":"392216:25:21","nodeType":"YulFunctionCall","src":"392216:25:21"}],"functionName":{"name":"mstore","nativeSrc":"392193:6:21","nodeType":"YulIdentifier","src":"392193:6:21"},"nativeSrc":"392193:49:21","nodeType":"YulFunctionCall","src":"392193:49:21"},"nativeSrc":"392193:49:21","nodeType":"YulExpressionStatement","src":"392193:49:21"}]},"name":"writeString","nativeSrc":"391914:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"391935:3:21","nodeType":"YulTypedName","src":"391935:3:21","type":""},{"name":"w","nativeSrc":"391940:1:21","nodeType":"YulTypedName","src":"391940:1:21","type":""}],"src":"391914:342:21"},{"nativeSrc":"392269:17:21","nodeType":"YulAssignment","src":"392269:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"392281:4:21","nodeType":"YulLiteral","src":"392281:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"392275:5:21","nodeType":"YulIdentifier","src":"392275:5:21"},"nativeSrc":"392275:11:21","nodeType":"YulFunctionCall","src":"392275:11:21"},"variableNames":[{"name":"m0","nativeSrc":"392269:2:21","nodeType":"YulIdentifier","src":"392269:2:21"}]},{"nativeSrc":"392299:17:21","nodeType":"YulAssignment","src":"392299:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"392311:4:21","nodeType":"YulLiteral","src":"392311:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"392305:5:21","nodeType":"YulIdentifier","src":"392305:5:21"},"nativeSrc":"392305:11:21","nodeType":"YulFunctionCall","src":"392305:11:21"},"variableNames":[{"name":"m1","nativeSrc":"392299:2:21","nodeType":"YulIdentifier","src":"392299:2:21"}]},{"nativeSrc":"392329:17:21","nodeType":"YulAssignment","src":"392329:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"392341:4:21","nodeType":"YulLiteral","src":"392341:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"392335:5:21","nodeType":"YulIdentifier","src":"392335:5:21"},"nativeSrc":"392335:11:21","nodeType":"YulFunctionCall","src":"392335:11:21"},"variableNames":[{"name":"m2","nativeSrc":"392329:2:21","nodeType":"YulIdentifier","src":"392329:2:21"}]},{"nativeSrc":"392359:17:21","nodeType":"YulAssignment","src":"392359:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"392371:4:21","nodeType":"YulLiteral","src":"392371:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"392365:5:21","nodeType":"YulIdentifier","src":"392365:5:21"},"nativeSrc":"392365:11:21","nodeType":"YulFunctionCall","src":"392365:11:21"},"variableNames":[{"name":"m3","nativeSrc":"392359:2:21","nodeType":"YulIdentifier","src":"392359:2:21"}]},{"nativeSrc":"392389:17:21","nodeType":"YulAssignment","src":"392389:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"392401:4:21","nodeType":"YulLiteral","src":"392401:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"392395:5:21","nodeType":"YulIdentifier","src":"392395:5:21"},"nativeSrc":"392395:11:21","nodeType":"YulFunctionCall","src":"392395:11:21"},"variableNames":[{"name":"m4","nativeSrc":"392389:2:21","nodeType":"YulIdentifier","src":"392389:2:21"}]},{"nativeSrc":"392419:17:21","nodeType":"YulAssignment","src":"392419:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"392431:4:21","nodeType":"YulLiteral","src":"392431:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"392425:5:21","nodeType":"YulIdentifier","src":"392425:5:21"},"nativeSrc":"392425:11:21","nodeType":"YulFunctionCall","src":"392425:11:21"},"variableNames":[{"name":"m5","nativeSrc":"392419:2:21","nodeType":"YulIdentifier","src":"392419:2:21"}]},{"nativeSrc":"392449:17:21","nodeType":"YulAssignment","src":"392449:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"392461:4:21","nodeType":"YulLiteral","src":"392461:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"392455:5:21","nodeType":"YulIdentifier","src":"392455:5:21"},"nativeSrc":"392455:11:21","nodeType":"YulFunctionCall","src":"392455:11:21"},"variableNames":[{"name":"m6","nativeSrc":"392449:2:21","nodeType":"YulIdentifier","src":"392449:2:21"}]},{"nativeSrc":"392479:17:21","nodeType":"YulAssignment","src":"392479:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"392491:4:21","nodeType":"YulLiteral","src":"392491:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"392485:5:21","nodeType":"YulIdentifier","src":"392485:5:21"},"nativeSrc":"392485:11:21","nodeType":"YulFunctionCall","src":"392485:11:21"},"variableNames":[{"name":"m7","nativeSrc":"392479:2:21","nodeType":"YulIdentifier","src":"392479:2:21"}]},{"nativeSrc":"392509:18:21","nodeType":"YulAssignment","src":"392509:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"392521:5:21","nodeType":"YulLiteral","src":"392521:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"392515:5:21","nodeType":"YulIdentifier","src":"392515:5:21"},"nativeSrc":"392515:12:21","nodeType":"YulFunctionCall","src":"392515:12:21"},"variableNames":[{"name":"m8","nativeSrc":"392509:2:21","nodeType":"YulIdentifier","src":"392509:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392612:4:21","nodeType":"YulLiteral","src":"392612:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"392618:10:21","nodeType":"YulLiteral","src":"392618:10:21","type":"","value":"0x854b3496"}],"functionName":{"name":"mstore","nativeSrc":"392605:6:21","nodeType":"YulIdentifier","src":"392605:6:21"},"nativeSrc":"392605:24:21","nodeType":"YulFunctionCall","src":"392605:24:21"},"nativeSrc":"392605:24:21","nodeType":"YulExpressionStatement","src":"392605:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392649:4:21","nodeType":"YulLiteral","src":"392649:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"392655:4:21","nodeType":"YulLiteral","src":"392655:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"392642:6:21","nodeType":"YulIdentifier","src":"392642:6:21"},"nativeSrc":"392642:18:21","nodeType":"YulFunctionCall","src":"392642:18:21"},"nativeSrc":"392642:18:21","nodeType":"YulExpressionStatement","src":"392642:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392680:4:21","nodeType":"YulLiteral","src":"392680:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"392686:2:21","nodeType":"YulIdentifier","src":"392686:2:21"}],"functionName":{"name":"mstore","nativeSrc":"392673:6:21","nodeType":"YulIdentifier","src":"392673:6:21"},"nativeSrc":"392673:16:21","nodeType":"YulFunctionCall","src":"392673:16:21"},"nativeSrc":"392673:16:21","nodeType":"YulExpressionStatement","src":"392673:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392709:4:21","nodeType":"YulLiteral","src":"392709:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"392715:2:21","nodeType":"YulIdentifier","src":"392715:2:21"}],"functionName":{"name":"mstore","nativeSrc":"392702:6:21","nodeType":"YulIdentifier","src":"392702:6:21"},"nativeSrc":"392702:16:21","nodeType":"YulFunctionCall","src":"392702:16:21"},"nativeSrc":"392702:16:21","nodeType":"YulExpressionStatement","src":"392702:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392738:4:21","nodeType":"YulLiteral","src":"392738:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"392744:4:21","nodeType":"YulLiteral","src":"392744:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"392731:6:21","nodeType":"YulIdentifier","src":"392731:6:21"},"nativeSrc":"392731:18:21","nodeType":"YulFunctionCall","src":"392731:18:21"},"nativeSrc":"392731:18:21","nodeType":"YulExpressionStatement","src":"392731:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392774:4:21","nodeType":"YulLiteral","src":"392774:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"392780:2:21","nodeType":"YulIdentifier","src":"392780:2:21"}],"functionName":{"name":"writeString","nativeSrc":"392762:11:21","nodeType":"YulIdentifier","src":"392762:11:21"},"nativeSrc":"392762:21:21","nodeType":"YulFunctionCall","src":"392762:21:21"},"nativeSrc":"392762:21:21","nodeType":"YulExpressionStatement","src":"392762:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392808:4:21","nodeType":"YulLiteral","src":"392808:4:21","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"392814:2:21","nodeType":"YulIdentifier","src":"392814:2:21"}],"functionName":{"name":"writeString","nativeSrc":"392796:11:21","nodeType":"YulIdentifier","src":"392796:11:21"},"nativeSrc":"392796:21:21","nodeType":"YulFunctionCall","src":"392796:21:21"},"nativeSrc":"392796:21:21","nodeType":"YulExpressionStatement","src":"392796:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39028,"isOffset":false,"isSlot":false,"src":"392269:2:21","valueSize":1},{"declaration":39031,"isOffset":false,"isSlot":false,"src":"392299:2:21","valueSize":1},{"declaration":39034,"isOffset":false,"isSlot":false,"src":"392329:2:21","valueSize":1},{"declaration":39037,"isOffset":false,"isSlot":false,"src":"392359:2:21","valueSize":1},{"declaration":39040,"isOffset":false,"isSlot":false,"src":"392389:2:21","valueSize":1},{"declaration":39043,"isOffset":false,"isSlot":false,"src":"392419:2:21","valueSize":1},{"declaration":39046,"isOffset":false,"isSlot":false,"src":"392449:2:21","valueSize":1},{"declaration":39049,"isOffset":false,"isSlot":false,"src":"392479:2:21","valueSize":1},{"declaration":39052,"isOffset":false,"isSlot":false,"src":"392509:2:21","valueSize":1},{"declaration":39018,"isOffset":false,"isSlot":false,"src":"392780:2:21","valueSize":1},{"declaration":39020,"isOffset":false,"isSlot":false,"src":"392686:2:21","valueSize":1},{"declaration":39022,"isOffset":false,"isSlot":false,"src":"392715:2:21","valueSize":1},{"declaration":39024,"isOffset":false,"isSlot":false,"src":"392814:2:21","valueSize":1}],"id":39054,"nodeType":"InlineAssembly","src":"391891:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"392852:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"392858:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"392836:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"392836:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39059,"nodeType":"ExpressionStatement","src":"392836:28:21"},{"AST":{"nativeSrc":"392926:273:21","nodeType":"YulBlock","src":"392926:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"392947:4:21","nodeType":"YulLiteral","src":"392947:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"392953:2:21","nodeType":"YulIdentifier","src":"392953:2:21"}],"functionName":{"name":"mstore","nativeSrc":"392940:6:21","nodeType":"YulIdentifier","src":"392940:6:21"},"nativeSrc":"392940:16:21","nodeType":"YulFunctionCall","src":"392940:16:21"},"nativeSrc":"392940:16:21","nodeType":"YulExpressionStatement","src":"392940:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392976:4:21","nodeType":"YulLiteral","src":"392976:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"392982:2:21","nodeType":"YulIdentifier","src":"392982:2:21"}],"functionName":{"name":"mstore","nativeSrc":"392969:6:21","nodeType":"YulIdentifier","src":"392969:6:21"},"nativeSrc":"392969:16:21","nodeType":"YulFunctionCall","src":"392969:16:21"},"nativeSrc":"392969:16:21","nodeType":"YulExpressionStatement","src":"392969:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393005:4:21","nodeType":"YulLiteral","src":"393005:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"393011:2:21","nodeType":"YulIdentifier","src":"393011:2:21"}],"functionName":{"name":"mstore","nativeSrc":"392998:6:21","nodeType":"YulIdentifier","src":"392998:6:21"},"nativeSrc":"392998:16:21","nodeType":"YulFunctionCall","src":"392998:16:21"},"nativeSrc":"392998:16:21","nodeType":"YulExpressionStatement","src":"392998:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393034:4:21","nodeType":"YulLiteral","src":"393034:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"393040:2:21","nodeType":"YulIdentifier","src":"393040:2:21"}],"functionName":{"name":"mstore","nativeSrc":"393027:6:21","nodeType":"YulIdentifier","src":"393027:6:21"},"nativeSrc":"393027:16:21","nodeType":"YulFunctionCall","src":"393027:16:21"},"nativeSrc":"393027:16:21","nodeType":"YulExpressionStatement","src":"393027:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393063:4:21","nodeType":"YulLiteral","src":"393063:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"393069:2:21","nodeType":"YulIdentifier","src":"393069:2:21"}],"functionName":{"name":"mstore","nativeSrc":"393056:6:21","nodeType":"YulIdentifier","src":"393056:6:21"},"nativeSrc":"393056:16:21","nodeType":"YulFunctionCall","src":"393056:16:21"},"nativeSrc":"393056:16:21","nodeType":"YulExpressionStatement","src":"393056:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393092:4:21","nodeType":"YulLiteral","src":"393092:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"393098:2:21","nodeType":"YulIdentifier","src":"393098:2:21"}],"functionName":{"name":"mstore","nativeSrc":"393085:6:21","nodeType":"YulIdentifier","src":"393085:6:21"},"nativeSrc":"393085:16:21","nodeType":"YulFunctionCall","src":"393085:16:21"},"nativeSrc":"393085:16:21","nodeType":"YulExpressionStatement","src":"393085:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393121:4:21","nodeType":"YulLiteral","src":"393121:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"393127:2:21","nodeType":"YulIdentifier","src":"393127:2:21"}],"functionName":{"name":"mstore","nativeSrc":"393114:6:21","nodeType":"YulIdentifier","src":"393114:6:21"},"nativeSrc":"393114:16:21","nodeType":"YulFunctionCall","src":"393114:16:21"},"nativeSrc":"393114:16:21","nodeType":"YulExpressionStatement","src":"393114:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393150:4:21","nodeType":"YulLiteral","src":"393150:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"393156:2:21","nodeType":"YulIdentifier","src":"393156:2:21"}],"functionName":{"name":"mstore","nativeSrc":"393143:6:21","nodeType":"YulIdentifier","src":"393143:6:21"},"nativeSrc":"393143:16:21","nodeType":"YulFunctionCall","src":"393143:16:21"},"nativeSrc":"393143:16:21","nodeType":"YulExpressionStatement","src":"393143:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393179:5:21","nodeType":"YulLiteral","src":"393179:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"393186:2:21","nodeType":"YulIdentifier","src":"393186:2:21"}],"functionName":{"name":"mstore","nativeSrc":"393172:6:21","nodeType":"YulIdentifier","src":"393172:6:21"},"nativeSrc":"393172:17:21","nodeType":"YulFunctionCall","src":"393172:17:21"},"nativeSrc":"393172:17:21","nodeType":"YulExpressionStatement","src":"393172:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39028,"isOffset":false,"isSlot":false,"src":"392953:2:21","valueSize":1},{"declaration":39031,"isOffset":false,"isSlot":false,"src":"392982:2:21","valueSize":1},{"declaration":39034,"isOffset":false,"isSlot":false,"src":"393011:2:21","valueSize":1},{"declaration":39037,"isOffset":false,"isSlot":false,"src":"393040:2:21","valueSize":1},{"declaration":39040,"isOffset":false,"isSlot":false,"src":"393069:2:21","valueSize":1},{"declaration":39043,"isOffset":false,"isSlot":false,"src":"393098:2:21","valueSize":1},{"declaration":39046,"isOffset":false,"isSlot":false,"src":"393127:2:21","valueSize":1},{"declaration":39049,"isOffset":false,"isSlot":false,"src":"393156:2:21","valueSize":1},{"declaration":39052,"isOffset":false,"isSlot":false,"src":"393186:2:21","valueSize":1}],"id":39060,"nodeType":"InlineAssembly","src":"392917:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"391592:3:21","parameters":{"id":39025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39018,"mutability":"mutable","name":"p0","nameLocation":"391604:2:21","nodeType":"VariableDeclaration","scope":39062,"src":"391596:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391596:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39020,"mutability":"mutable","name":"p1","nameLocation":"391616:2:21","nodeType":"VariableDeclaration","scope":39062,"src":"391608:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39019,"name":"uint256","nodeType":"ElementaryTypeName","src":"391608:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39022,"mutability":"mutable","name":"p2","nameLocation":"391628:2:21","nodeType":"VariableDeclaration","scope":39062,"src":"391620:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39021,"name":"uint256","nodeType":"ElementaryTypeName","src":"391620:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39024,"mutability":"mutable","name":"p3","nameLocation":"391640:2:21","nodeType":"VariableDeclaration","scope":39062,"src":"391632:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391632:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"391595:48:21"},"returnParameters":{"id":39026,"nodeType":"ParameterList","parameters":[],"src":"391658:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39108,"nodeType":"FunctionDefinition","src":"393211:1622:21","nodes":[],"body":{"id":39107,"nodeType":"Block","src":"393286:1547:21","nodes":[],"statements":[{"assignments":[39074],"declarations":[{"constant":false,"id":39074,"mutability":"mutable","name":"m0","nameLocation":"393304:2:21","nodeType":"VariableDeclaration","scope":39107,"src":"393296:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393296:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39075,"nodeType":"VariableDeclarationStatement","src":"393296:10:21"},{"assignments":[39077],"declarations":[{"constant":false,"id":39077,"mutability":"mutable","name":"m1","nameLocation":"393324:2:21","nodeType":"VariableDeclaration","scope":39107,"src":"393316:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393316:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39078,"nodeType":"VariableDeclarationStatement","src":"393316:10:21"},{"assignments":[39080],"declarations":[{"constant":false,"id":39080,"mutability":"mutable","name":"m2","nameLocation":"393344:2:21","nodeType":"VariableDeclaration","scope":39107,"src":"393336:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393336:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39081,"nodeType":"VariableDeclarationStatement","src":"393336:10:21"},{"assignments":[39083],"declarations":[{"constant":false,"id":39083,"mutability":"mutable","name":"m3","nameLocation":"393364:2:21","nodeType":"VariableDeclaration","scope":39107,"src":"393356:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393356:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39084,"nodeType":"VariableDeclarationStatement","src":"393356:10:21"},{"assignments":[39086],"declarations":[{"constant":false,"id":39086,"mutability":"mutable","name":"m4","nameLocation":"393384:2:21","nodeType":"VariableDeclaration","scope":39107,"src":"393376:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393376:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39087,"nodeType":"VariableDeclarationStatement","src":"393376:10:21"},{"assignments":[39089],"declarations":[{"constant":false,"id":39089,"mutability":"mutable","name":"m5","nameLocation":"393404:2:21","nodeType":"VariableDeclaration","scope":39107,"src":"393396:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393396:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39090,"nodeType":"VariableDeclarationStatement","src":"393396:10:21"},{"assignments":[39092],"declarations":[{"constant":false,"id":39092,"mutability":"mutable","name":"m6","nameLocation":"393424:2:21","nodeType":"VariableDeclaration","scope":39107,"src":"393416:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393416:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39093,"nodeType":"VariableDeclarationStatement","src":"393416:10:21"},{"assignments":[39095],"declarations":[{"constant":false,"id":39095,"mutability":"mutable","name":"m7","nameLocation":"393444:2:21","nodeType":"VariableDeclaration","scope":39107,"src":"393436:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39094,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393436:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39096,"nodeType":"VariableDeclarationStatement","src":"393436:10:21"},{"assignments":[39098],"declarations":[{"constant":false,"id":39098,"mutability":"mutable","name":"m8","nameLocation":"393464:2:21","nodeType":"VariableDeclaration","scope":39107,"src":"393456:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393456:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39099,"nodeType":"VariableDeclarationStatement","src":"393456:10:21"},{"AST":{"nativeSrc":"393528:927:21","nodeType":"YulBlock","src":"393528:927:21","statements":[{"body":{"nativeSrc":"393571:313:21","nodeType":"YulBlock","src":"393571:313:21","statements":[{"nativeSrc":"393589:15:21","nodeType":"YulVariableDeclaration","src":"393589:15:21","value":{"kind":"number","nativeSrc":"393603:1:21","nodeType":"YulLiteral","src":"393603:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"393593:6:21","nodeType":"YulTypedName","src":"393593:6:21","type":""}]},{"body":{"nativeSrc":"393674:40:21","nodeType":"YulBlock","src":"393674:40:21","statements":[{"body":{"nativeSrc":"393703:9:21","nodeType":"YulBlock","src":"393703:9:21","statements":[{"nativeSrc":"393705:5:21","nodeType":"YulBreak","src":"393705:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"393691:6:21","nodeType":"YulIdentifier","src":"393691:6:21"},{"name":"w","nativeSrc":"393699:1:21","nodeType":"YulIdentifier","src":"393699:1:21"}],"functionName":{"name":"byte","nativeSrc":"393686:4:21","nodeType":"YulIdentifier","src":"393686:4:21"},"nativeSrc":"393686:15:21","nodeType":"YulFunctionCall","src":"393686:15:21"}],"functionName":{"name":"iszero","nativeSrc":"393679:6:21","nodeType":"YulIdentifier","src":"393679:6:21"},"nativeSrc":"393679:23:21","nodeType":"YulFunctionCall","src":"393679:23:21"},"nativeSrc":"393676:36:21","nodeType":"YulIf","src":"393676:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"393631:6:21","nodeType":"YulIdentifier","src":"393631:6:21"},{"kind":"number","nativeSrc":"393639:4:21","nodeType":"YulLiteral","src":"393639:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"393628:2:21","nodeType":"YulIdentifier","src":"393628:2:21"},"nativeSrc":"393628:16:21","nodeType":"YulFunctionCall","src":"393628:16:21"},"nativeSrc":"393621:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"393645:28:21","nodeType":"YulBlock","src":"393645:28:21","statements":[{"nativeSrc":"393647:24:21","nodeType":"YulAssignment","src":"393647:24:21","value":{"arguments":[{"name":"length","nativeSrc":"393661:6:21","nodeType":"YulIdentifier","src":"393661:6:21"},{"kind":"number","nativeSrc":"393669:1:21","nodeType":"YulLiteral","src":"393669:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"393657:3:21","nodeType":"YulIdentifier","src":"393657:3:21"},"nativeSrc":"393657:14:21","nodeType":"YulFunctionCall","src":"393657:14:21"},"variableNames":[{"name":"length","nativeSrc":"393647:6:21","nodeType":"YulIdentifier","src":"393647:6:21"}]}]},"pre":{"nativeSrc":"393625:2:21","nodeType":"YulBlock","src":"393625:2:21","statements":[]},"src":"393621:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"393738:3:21","nodeType":"YulIdentifier","src":"393738:3:21"},{"name":"length","nativeSrc":"393743:6:21","nodeType":"YulIdentifier","src":"393743:6:21"}],"functionName":{"name":"mstore","nativeSrc":"393731:6:21","nodeType":"YulIdentifier","src":"393731:6:21"},"nativeSrc":"393731:19:21","nodeType":"YulFunctionCall","src":"393731:19:21"},"nativeSrc":"393731:19:21","nodeType":"YulExpressionStatement","src":"393731:19:21"},{"nativeSrc":"393767:37:21","nodeType":"YulVariableDeclaration","src":"393767:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"393784:3:21","nodeType":"YulLiteral","src":"393784:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"393793:1:21","nodeType":"YulLiteral","src":"393793:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"393796:6:21","nodeType":"YulIdentifier","src":"393796:6:21"}],"functionName":{"name":"shl","nativeSrc":"393789:3:21","nodeType":"YulIdentifier","src":"393789:3:21"},"nativeSrc":"393789:14:21","nodeType":"YulFunctionCall","src":"393789:14:21"}],"functionName":{"name":"sub","nativeSrc":"393780:3:21","nodeType":"YulIdentifier","src":"393780:3:21"},"nativeSrc":"393780:24:21","nodeType":"YulFunctionCall","src":"393780:24:21"},"variables":[{"name":"shift","nativeSrc":"393771:5:21","nodeType":"YulTypedName","src":"393771:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"393832:3:21","nodeType":"YulIdentifier","src":"393832:3:21"},{"kind":"number","nativeSrc":"393837:4:21","nodeType":"YulLiteral","src":"393837:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"393828:3:21","nodeType":"YulIdentifier","src":"393828:3:21"},"nativeSrc":"393828:14:21","nodeType":"YulFunctionCall","src":"393828:14:21"},{"arguments":[{"name":"shift","nativeSrc":"393848:5:21","nodeType":"YulIdentifier","src":"393848:5:21"},{"arguments":[{"name":"shift","nativeSrc":"393859:5:21","nodeType":"YulIdentifier","src":"393859:5:21"},{"name":"w","nativeSrc":"393866:1:21","nodeType":"YulIdentifier","src":"393866:1:21"}],"functionName":{"name":"shr","nativeSrc":"393855:3:21","nodeType":"YulIdentifier","src":"393855:3:21"},"nativeSrc":"393855:13:21","nodeType":"YulFunctionCall","src":"393855:13:21"}],"functionName":{"name":"shl","nativeSrc":"393844:3:21","nodeType":"YulIdentifier","src":"393844:3:21"},"nativeSrc":"393844:25:21","nodeType":"YulFunctionCall","src":"393844:25:21"}],"functionName":{"name":"mstore","nativeSrc":"393821:6:21","nodeType":"YulIdentifier","src":"393821:6:21"},"nativeSrc":"393821:49:21","nodeType":"YulFunctionCall","src":"393821:49:21"},"nativeSrc":"393821:49:21","nodeType":"YulExpressionStatement","src":"393821:49:21"}]},"name":"writeString","nativeSrc":"393542:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"393563:3:21","nodeType":"YulTypedName","src":"393563:3:21","type":""},{"name":"w","nativeSrc":"393568:1:21","nodeType":"YulTypedName","src":"393568:1:21","type":""}],"src":"393542:342:21"},{"nativeSrc":"393897:17:21","nodeType":"YulAssignment","src":"393897:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"393909:4:21","nodeType":"YulLiteral","src":"393909:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"393903:5:21","nodeType":"YulIdentifier","src":"393903:5:21"},"nativeSrc":"393903:11:21","nodeType":"YulFunctionCall","src":"393903:11:21"},"variableNames":[{"name":"m0","nativeSrc":"393897:2:21","nodeType":"YulIdentifier","src":"393897:2:21"}]},{"nativeSrc":"393927:17:21","nodeType":"YulAssignment","src":"393927:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"393939:4:21","nodeType":"YulLiteral","src":"393939:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"393933:5:21","nodeType":"YulIdentifier","src":"393933:5:21"},"nativeSrc":"393933:11:21","nodeType":"YulFunctionCall","src":"393933:11:21"},"variableNames":[{"name":"m1","nativeSrc":"393927:2:21","nodeType":"YulIdentifier","src":"393927:2:21"}]},{"nativeSrc":"393957:17:21","nodeType":"YulAssignment","src":"393957:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"393969:4:21","nodeType":"YulLiteral","src":"393969:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"393963:5:21","nodeType":"YulIdentifier","src":"393963:5:21"},"nativeSrc":"393963:11:21","nodeType":"YulFunctionCall","src":"393963:11:21"},"variableNames":[{"name":"m2","nativeSrc":"393957:2:21","nodeType":"YulIdentifier","src":"393957:2:21"}]},{"nativeSrc":"393987:17:21","nodeType":"YulAssignment","src":"393987:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"393999:4:21","nodeType":"YulLiteral","src":"393999:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"393993:5:21","nodeType":"YulIdentifier","src":"393993:5:21"},"nativeSrc":"393993:11:21","nodeType":"YulFunctionCall","src":"393993:11:21"},"variableNames":[{"name":"m3","nativeSrc":"393987:2:21","nodeType":"YulIdentifier","src":"393987:2:21"}]},{"nativeSrc":"394017:17:21","nodeType":"YulAssignment","src":"394017:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"394029:4:21","nodeType":"YulLiteral","src":"394029:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"394023:5:21","nodeType":"YulIdentifier","src":"394023:5:21"},"nativeSrc":"394023:11:21","nodeType":"YulFunctionCall","src":"394023:11:21"},"variableNames":[{"name":"m4","nativeSrc":"394017:2:21","nodeType":"YulIdentifier","src":"394017:2:21"}]},{"nativeSrc":"394047:17:21","nodeType":"YulAssignment","src":"394047:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"394059:4:21","nodeType":"YulLiteral","src":"394059:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"394053:5:21","nodeType":"YulIdentifier","src":"394053:5:21"},"nativeSrc":"394053:11:21","nodeType":"YulFunctionCall","src":"394053:11:21"},"variableNames":[{"name":"m5","nativeSrc":"394047:2:21","nodeType":"YulIdentifier","src":"394047:2:21"}]},{"nativeSrc":"394077:17:21","nodeType":"YulAssignment","src":"394077:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"394089:4:21","nodeType":"YulLiteral","src":"394089:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"394083:5:21","nodeType":"YulIdentifier","src":"394083:5:21"},"nativeSrc":"394083:11:21","nodeType":"YulFunctionCall","src":"394083:11:21"},"variableNames":[{"name":"m6","nativeSrc":"394077:2:21","nodeType":"YulIdentifier","src":"394077:2:21"}]},{"nativeSrc":"394107:17:21","nodeType":"YulAssignment","src":"394107:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"394119:4:21","nodeType":"YulLiteral","src":"394119:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"394113:5:21","nodeType":"YulIdentifier","src":"394113:5:21"},"nativeSrc":"394113:11:21","nodeType":"YulFunctionCall","src":"394113:11:21"},"variableNames":[{"name":"m7","nativeSrc":"394107:2:21","nodeType":"YulIdentifier","src":"394107:2:21"}]},{"nativeSrc":"394137:18:21","nodeType":"YulAssignment","src":"394137:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"394149:5:21","nodeType":"YulLiteral","src":"394149:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"394143:5:21","nodeType":"YulIdentifier","src":"394143:5:21"},"nativeSrc":"394143:12:21","nodeType":"YulFunctionCall","src":"394143:12:21"},"variableNames":[{"name":"m8","nativeSrc":"394137:2:21","nodeType":"YulIdentifier","src":"394137:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394240:4:21","nodeType":"YulLiteral","src":"394240:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"394246:10:21","nodeType":"YulLiteral","src":"394246:10:21","type":"","value":"0x7c4632a4"}],"functionName":{"name":"mstore","nativeSrc":"394233:6:21","nodeType":"YulIdentifier","src":"394233:6:21"},"nativeSrc":"394233:24:21","nodeType":"YulFunctionCall","src":"394233:24:21"},"nativeSrc":"394233:24:21","nodeType":"YulExpressionStatement","src":"394233:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394277:4:21","nodeType":"YulLiteral","src":"394277:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"394283:4:21","nodeType":"YulLiteral","src":"394283:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"394270:6:21","nodeType":"YulIdentifier","src":"394270:6:21"},"nativeSrc":"394270:18:21","nodeType":"YulFunctionCall","src":"394270:18:21"},"nativeSrc":"394270:18:21","nodeType":"YulExpressionStatement","src":"394270:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394308:4:21","nodeType":"YulLiteral","src":"394308:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"394314:2:21","nodeType":"YulIdentifier","src":"394314:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394301:6:21","nodeType":"YulIdentifier","src":"394301:6:21"},"nativeSrc":"394301:16:21","nodeType":"YulFunctionCall","src":"394301:16:21"},"nativeSrc":"394301:16:21","nodeType":"YulExpressionStatement","src":"394301:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394337:4:21","nodeType":"YulLiteral","src":"394337:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"394343:4:21","nodeType":"YulLiteral","src":"394343:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"394330:6:21","nodeType":"YulIdentifier","src":"394330:6:21"},"nativeSrc":"394330:18:21","nodeType":"YulFunctionCall","src":"394330:18:21"},"nativeSrc":"394330:18:21","nodeType":"YulExpressionStatement","src":"394330:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394368:4:21","nodeType":"YulLiteral","src":"394368:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"394374:2:21","nodeType":"YulIdentifier","src":"394374:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394361:6:21","nodeType":"YulIdentifier","src":"394361:6:21"},"nativeSrc":"394361:16:21","nodeType":"YulFunctionCall","src":"394361:16:21"},"nativeSrc":"394361:16:21","nodeType":"YulExpressionStatement","src":"394361:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394402:4:21","nodeType":"YulLiteral","src":"394402:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"394408:2:21","nodeType":"YulIdentifier","src":"394408:2:21"}],"functionName":{"name":"writeString","nativeSrc":"394390:11:21","nodeType":"YulIdentifier","src":"394390:11:21"},"nativeSrc":"394390:21:21","nodeType":"YulFunctionCall","src":"394390:21:21"},"nativeSrc":"394390:21:21","nodeType":"YulExpressionStatement","src":"394390:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394436:4:21","nodeType":"YulLiteral","src":"394436:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"394442:2:21","nodeType":"YulIdentifier","src":"394442:2:21"}],"functionName":{"name":"writeString","nativeSrc":"394424:11:21","nodeType":"YulIdentifier","src":"394424:11:21"},"nativeSrc":"394424:21:21","nodeType":"YulFunctionCall","src":"394424:21:21"},"nativeSrc":"394424:21:21","nodeType":"YulExpressionStatement","src":"394424:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39074,"isOffset":false,"isSlot":false,"src":"393897:2:21","valueSize":1},{"declaration":39077,"isOffset":false,"isSlot":false,"src":"393927:2:21","valueSize":1},{"declaration":39080,"isOffset":false,"isSlot":false,"src":"393957:2:21","valueSize":1},{"declaration":39083,"isOffset":false,"isSlot":false,"src":"393987:2:21","valueSize":1},{"declaration":39086,"isOffset":false,"isSlot":false,"src":"394017:2:21","valueSize":1},{"declaration":39089,"isOffset":false,"isSlot":false,"src":"394047:2:21","valueSize":1},{"declaration":39092,"isOffset":false,"isSlot":false,"src":"394077:2:21","valueSize":1},{"declaration":39095,"isOffset":false,"isSlot":false,"src":"394107:2:21","valueSize":1},{"declaration":39098,"isOffset":false,"isSlot":false,"src":"394137:2:21","valueSize":1},{"declaration":39064,"isOffset":false,"isSlot":false,"src":"394408:2:21","valueSize":1},{"declaration":39066,"isOffset":false,"isSlot":false,"src":"394314:2:21","valueSize":1},{"declaration":39068,"isOffset":false,"isSlot":false,"src":"394442:2:21","valueSize":1},{"declaration":39070,"isOffset":false,"isSlot":false,"src":"394374:2:21","valueSize":1}],"id":39100,"nodeType":"InlineAssembly","src":"393519:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"394480:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"394486:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39101,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"394464:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"394464:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39105,"nodeType":"ExpressionStatement","src":"394464:28:21"},{"AST":{"nativeSrc":"394554:273:21","nodeType":"YulBlock","src":"394554:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"394575:4:21","nodeType":"YulLiteral","src":"394575:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"394581:2:21","nodeType":"YulIdentifier","src":"394581:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394568:6:21","nodeType":"YulIdentifier","src":"394568:6:21"},"nativeSrc":"394568:16:21","nodeType":"YulFunctionCall","src":"394568:16:21"},"nativeSrc":"394568:16:21","nodeType":"YulExpressionStatement","src":"394568:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394604:4:21","nodeType":"YulLiteral","src":"394604:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"394610:2:21","nodeType":"YulIdentifier","src":"394610:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394597:6:21","nodeType":"YulIdentifier","src":"394597:6:21"},"nativeSrc":"394597:16:21","nodeType":"YulFunctionCall","src":"394597:16:21"},"nativeSrc":"394597:16:21","nodeType":"YulExpressionStatement","src":"394597:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394633:4:21","nodeType":"YulLiteral","src":"394633:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"394639:2:21","nodeType":"YulIdentifier","src":"394639:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394626:6:21","nodeType":"YulIdentifier","src":"394626:6:21"},"nativeSrc":"394626:16:21","nodeType":"YulFunctionCall","src":"394626:16:21"},"nativeSrc":"394626:16:21","nodeType":"YulExpressionStatement","src":"394626:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394662:4:21","nodeType":"YulLiteral","src":"394662:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"394668:2:21","nodeType":"YulIdentifier","src":"394668:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394655:6:21","nodeType":"YulIdentifier","src":"394655:6:21"},"nativeSrc":"394655:16:21","nodeType":"YulFunctionCall","src":"394655:16:21"},"nativeSrc":"394655:16:21","nodeType":"YulExpressionStatement","src":"394655:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394691:4:21","nodeType":"YulLiteral","src":"394691:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"394697:2:21","nodeType":"YulIdentifier","src":"394697:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394684:6:21","nodeType":"YulIdentifier","src":"394684:6:21"},"nativeSrc":"394684:16:21","nodeType":"YulFunctionCall","src":"394684:16:21"},"nativeSrc":"394684:16:21","nodeType":"YulExpressionStatement","src":"394684:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394720:4:21","nodeType":"YulLiteral","src":"394720:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"394726:2:21","nodeType":"YulIdentifier","src":"394726:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394713:6:21","nodeType":"YulIdentifier","src":"394713:6:21"},"nativeSrc":"394713:16:21","nodeType":"YulFunctionCall","src":"394713:16:21"},"nativeSrc":"394713:16:21","nodeType":"YulExpressionStatement","src":"394713:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394749:4:21","nodeType":"YulLiteral","src":"394749:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"394755:2:21","nodeType":"YulIdentifier","src":"394755:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394742:6:21","nodeType":"YulIdentifier","src":"394742:6:21"},"nativeSrc":"394742:16:21","nodeType":"YulFunctionCall","src":"394742:16:21"},"nativeSrc":"394742:16:21","nodeType":"YulExpressionStatement","src":"394742:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394778:4:21","nodeType":"YulLiteral","src":"394778:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"394784:2:21","nodeType":"YulIdentifier","src":"394784:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394771:6:21","nodeType":"YulIdentifier","src":"394771:6:21"},"nativeSrc":"394771:16:21","nodeType":"YulFunctionCall","src":"394771:16:21"},"nativeSrc":"394771:16:21","nodeType":"YulExpressionStatement","src":"394771:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394807:5:21","nodeType":"YulLiteral","src":"394807:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"394814:2:21","nodeType":"YulIdentifier","src":"394814:2:21"}],"functionName":{"name":"mstore","nativeSrc":"394800:6:21","nodeType":"YulIdentifier","src":"394800:6:21"},"nativeSrc":"394800:17:21","nodeType":"YulFunctionCall","src":"394800:17:21"},"nativeSrc":"394800:17:21","nodeType":"YulExpressionStatement","src":"394800:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39074,"isOffset":false,"isSlot":false,"src":"394581:2:21","valueSize":1},{"declaration":39077,"isOffset":false,"isSlot":false,"src":"394610:2:21","valueSize":1},{"declaration":39080,"isOffset":false,"isSlot":false,"src":"394639:2:21","valueSize":1},{"declaration":39083,"isOffset":false,"isSlot":false,"src":"394668:2:21","valueSize":1},{"declaration":39086,"isOffset":false,"isSlot":false,"src":"394697:2:21","valueSize":1},{"declaration":39089,"isOffset":false,"isSlot":false,"src":"394726:2:21","valueSize":1},{"declaration":39092,"isOffset":false,"isSlot":false,"src":"394755:2:21","valueSize":1},{"declaration":39095,"isOffset":false,"isSlot":false,"src":"394784:2:21","valueSize":1},{"declaration":39098,"isOffset":false,"isSlot":false,"src":"394814:2:21","valueSize":1}],"id":39106,"nodeType":"InlineAssembly","src":"394545:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"393220:3:21","parameters":{"id":39071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39064,"mutability":"mutable","name":"p0","nameLocation":"393232:2:21","nodeType":"VariableDeclaration","scope":39108,"src":"393224:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393224:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39066,"mutability":"mutable","name":"p1","nameLocation":"393244:2:21","nodeType":"VariableDeclaration","scope":39108,"src":"393236:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39065,"name":"uint256","nodeType":"ElementaryTypeName","src":"393236:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39068,"mutability":"mutable","name":"p2","nameLocation":"393256:2:21","nodeType":"VariableDeclaration","scope":39108,"src":"393248:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39067,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393248:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39070,"mutability":"mutable","name":"p3","nameLocation":"393268:2:21","nodeType":"VariableDeclaration","scope":39108,"src":"393260:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39069,"name":"address","nodeType":"ElementaryTypeName","src":"393260:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"393223:48:21"},"returnParameters":{"id":39072,"nodeType":"ParameterList","parameters":[],"src":"393286:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39154,"nodeType":"FunctionDefinition","src":"394839:1616:21","nodes":[],"body":{"id":39153,"nodeType":"Block","src":"394911:1544:21","nodes":[],"statements":[{"assignments":[39120],"declarations":[{"constant":false,"id":39120,"mutability":"mutable","name":"m0","nameLocation":"394929:2:21","nodeType":"VariableDeclaration","scope":39153,"src":"394921:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394921:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39121,"nodeType":"VariableDeclarationStatement","src":"394921:10:21"},{"assignments":[39123],"declarations":[{"constant":false,"id":39123,"mutability":"mutable","name":"m1","nameLocation":"394949:2:21","nodeType":"VariableDeclaration","scope":39153,"src":"394941:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394941:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39124,"nodeType":"VariableDeclarationStatement","src":"394941:10:21"},{"assignments":[39126],"declarations":[{"constant":false,"id":39126,"mutability":"mutable","name":"m2","nameLocation":"394969:2:21","nodeType":"VariableDeclaration","scope":39153,"src":"394961:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394961:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39127,"nodeType":"VariableDeclarationStatement","src":"394961:10:21"},{"assignments":[39129],"declarations":[{"constant":false,"id":39129,"mutability":"mutable","name":"m3","nameLocation":"394989:2:21","nodeType":"VariableDeclaration","scope":39153,"src":"394981:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39128,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394981:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39130,"nodeType":"VariableDeclarationStatement","src":"394981:10:21"},{"assignments":[39132],"declarations":[{"constant":false,"id":39132,"mutability":"mutable","name":"m4","nameLocation":"395009:2:21","nodeType":"VariableDeclaration","scope":39153,"src":"395001:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395001:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39133,"nodeType":"VariableDeclarationStatement","src":"395001:10:21"},{"assignments":[39135],"declarations":[{"constant":false,"id":39135,"mutability":"mutable","name":"m5","nameLocation":"395029:2:21","nodeType":"VariableDeclaration","scope":39153,"src":"395021:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395021:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39136,"nodeType":"VariableDeclarationStatement","src":"395021:10:21"},{"assignments":[39138],"declarations":[{"constant":false,"id":39138,"mutability":"mutable","name":"m6","nameLocation":"395049:2:21","nodeType":"VariableDeclaration","scope":39153,"src":"395041:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395041:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39139,"nodeType":"VariableDeclarationStatement","src":"395041:10:21"},{"assignments":[39141],"declarations":[{"constant":false,"id":39141,"mutability":"mutable","name":"m7","nameLocation":"395069:2:21","nodeType":"VariableDeclaration","scope":39153,"src":"395061:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395061:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39142,"nodeType":"VariableDeclarationStatement","src":"395061:10:21"},{"assignments":[39144],"declarations":[{"constant":false,"id":39144,"mutability":"mutable","name":"m8","nameLocation":"395089:2:21","nodeType":"VariableDeclaration","scope":39153,"src":"395081:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395081:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39145,"nodeType":"VariableDeclarationStatement","src":"395081:10:21"},{"AST":{"nativeSrc":"395153:924:21","nodeType":"YulBlock","src":"395153:924:21","statements":[{"body":{"nativeSrc":"395196:313:21","nodeType":"YulBlock","src":"395196:313:21","statements":[{"nativeSrc":"395214:15:21","nodeType":"YulVariableDeclaration","src":"395214:15:21","value":{"kind":"number","nativeSrc":"395228:1:21","nodeType":"YulLiteral","src":"395228:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"395218:6:21","nodeType":"YulTypedName","src":"395218:6:21","type":""}]},{"body":{"nativeSrc":"395299:40:21","nodeType":"YulBlock","src":"395299:40:21","statements":[{"body":{"nativeSrc":"395328:9:21","nodeType":"YulBlock","src":"395328:9:21","statements":[{"nativeSrc":"395330:5:21","nodeType":"YulBreak","src":"395330:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"395316:6:21","nodeType":"YulIdentifier","src":"395316:6:21"},{"name":"w","nativeSrc":"395324:1:21","nodeType":"YulIdentifier","src":"395324:1:21"}],"functionName":{"name":"byte","nativeSrc":"395311:4:21","nodeType":"YulIdentifier","src":"395311:4:21"},"nativeSrc":"395311:15:21","nodeType":"YulFunctionCall","src":"395311:15:21"}],"functionName":{"name":"iszero","nativeSrc":"395304:6:21","nodeType":"YulIdentifier","src":"395304:6:21"},"nativeSrc":"395304:23:21","nodeType":"YulFunctionCall","src":"395304:23:21"},"nativeSrc":"395301:36:21","nodeType":"YulIf","src":"395301:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"395256:6:21","nodeType":"YulIdentifier","src":"395256:6:21"},{"kind":"number","nativeSrc":"395264:4:21","nodeType":"YulLiteral","src":"395264:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"395253:2:21","nodeType":"YulIdentifier","src":"395253:2:21"},"nativeSrc":"395253:16:21","nodeType":"YulFunctionCall","src":"395253:16:21"},"nativeSrc":"395246:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"395270:28:21","nodeType":"YulBlock","src":"395270:28:21","statements":[{"nativeSrc":"395272:24:21","nodeType":"YulAssignment","src":"395272:24:21","value":{"arguments":[{"name":"length","nativeSrc":"395286:6:21","nodeType":"YulIdentifier","src":"395286:6:21"},{"kind":"number","nativeSrc":"395294:1:21","nodeType":"YulLiteral","src":"395294:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"395282:3:21","nodeType":"YulIdentifier","src":"395282:3:21"},"nativeSrc":"395282:14:21","nodeType":"YulFunctionCall","src":"395282:14:21"},"variableNames":[{"name":"length","nativeSrc":"395272:6:21","nodeType":"YulIdentifier","src":"395272:6:21"}]}]},"pre":{"nativeSrc":"395250:2:21","nodeType":"YulBlock","src":"395250:2:21","statements":[]},"src":"395246:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"395363:3:21","nodeType":"YulIdentifier","src":"395363:3:21"},{"name":"length","nativeSrc":"395368:6:21","nodeType":"YulIdentifier","src":"395368:6:21"}],"functionName":{"name":"mstore","nativeSrc":"395356:6:21","nodeType":"YulIdentifier","src":"395356:6:21"},"nativeSrc":"395356:19:21","nodeType":"YulFunctionCall","src":"395356:19:21"},"nativeSrc":"395356:19:21","nodeType":"YulExpressionStatement","src":"395356:19:21"},{"nativeSrc":"395392:37:21","nodeType":"YulVariableDeclaration","src":"395392:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"395409:3:21","nodeType":"YulLiteral","src":"395409:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"395418:1:21","nodeType":"YulLiteral","src":"395418:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"395421:6:21","nodeType":"YulIdentifier","src":"395421:6:21"}],"functionName":{"name":"shl","nativeSrc":"395414:3:21","nodeType":"YulIdentifier","src":"395414:3:21"},"nativeSrc":"395414:14:21","nodeType":"YulFunctionCall","src":"395414:14:21"}],"functionName":{"name":"sub","nativeSrc":"395405:3:21","nodeType":"YulIdentifier","src":"395405:3:21"},"nativeSrc":"395405:24:21","nodeType":"YulFunctionCall","src":"395405:24:21"},"variables":[{"name":"shift","nativeSrc":"395396:5:21","nodeType":"YulTypedName","src":"395396:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"395457:3:21","nodeType":"YulIdentifier","src":"395457:3:21"},{"kind":"number","nativeSrc":"395462:4:21","nodeType":"YulLiteral","src":"395462:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"395453:3:21","nodeType":"YulIdentifier","src":"395453:3:21"},"nativeSrc":"395453:14:21","nodeType":"YulFunctionCall","src":"395453:14:21"},{"arguments":[{"name":"shift","nativeSrc":"395473:5:21","nodeType":"YulIdentifier","src":"395473:5:21"},{"arguments":[{"name":"shift","nativeSrc":"395484:5:21","nodeType":"YulIdentifier","src":"395484:5:21"},{"name":"w","nativeSrc":"395491:1:21","nodeType":"YulIdentifier","src":"395491:1:21"}],"functionName":{"name":"shr","nativeSrc":"395480:3:21","nodeType":"YulIdentifier","src":"395480:3:21"},"nativeSrc":"395480:13:21","nodeType":"YulFunctionCall","src":"395480:13:21"}],"functionName":{"name":"shl","nativeSrc":"395469:3:21","nodeType":"YulIdentifier","src":"395469:3:21"},"nativeSrc":"395469:25:21","nodeType":"YulFunctionCall","src":"395469:25:21"}],"functionName":{"name":"mstore","nativeSrc":"395446:6:21","nodeType":"YulIdentifier","src":"395446:6:21"},"nativeSrc":"395446:49:21","nodeType":"YulFunctionCall","src":"395446:49:21"},"nativeSrc":"395446:49:21","nodeType":"YulExpressionStatement","src":"395446:49:21"}]},"name":"writeString","nativeSrc":"395167:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"395188:3:21","nodeType":"YulTypedName","src":"395188:3:21","type":""},{"name":"w","nativeSrc":"395193:1:21","nodeType":"YulTypedName","src":"395193:1:21","type":""}],"src":"395167:342:21"},{"nativeSrc":"395522:17:21","nodeType":"YulAssignment","src":"395522:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"395534:4:21","nodeType":"YulLiteral","src":"395534:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"395528:5:21","nodeType":"YulIdentifier","src":"395528:5:21"},"nativeSrc":"395528:11:21","nodeType":"YulFunctionCall","src":"395528:11:21"},"variableNames":[{"name":"m0","nativeSrc":"395522:2:21","nodeType":"YulIdentifier","src":"395522:2:21"}]},{"nativeSrc":"395552:17:21","nodeType":"YulAssignment","src":"395552:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"395564:4:21","nodeType":"YulLiteral","src":"395564:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"395558:5:21","nodeType":"YulIdentifier","src":"395558:5:21"},"nativeSrc":"395558:11:21","nodeType":"YulFunctionCall","src":"395558:11:21"},"variableNames":[{"name":"m1","nativeSrc":"395552:2:21","nodeType":"YulIdentifier","src":"395552:2:21"}]},{"nativeSrc":"395582:17:21","nodeType":"YulAssignment","src":"395582:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"395594:4:21","nodeType":"YulLiteral","src":"395594:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"395588:5:21","nodeType":"YulIdentifier","src":"395588:5:21"},"nativeSrc":"395588:11:21","nodeType":"YulFunctionCall","src":"395588:11:21"},"variableNames":[{"name":"m2","nativeSrc":"395582:2:21","nodeType":"YulIdentifier","src":"395582:2:21"}]},{"nativeSrc":"395612:17:21","nodeType":"YulAssignment","src":"395612:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"395624:4:21","nodeType":"YulLiteral","src":"395624:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"395618:5:21","nodeType":"YulIdentifier","src":"395618:5:21"},"nativeSrc":"395618:11:21","nodeType":"YulFunctionCall","src":"395618:11:21"},"variableNames":[{"name":"m3","nativeSrc":"395612:2:21","nodeType":"YulIdentifier","src":"395612:2:21"}]},{"nativeSrc":"395642:17:21","nodeType":"YulAssignment","src":"395642:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"395654:4:21","nodeType":"YulLiteral","src":"395654:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"395648:5:21","nodeType":"YulIdentifier","src":"395648:5:21"},"nativeSrc":"395648:11:21","nodeType":"YulFunctionCall","src":"395648:11:21"},"variableNames":[{"name":"m4","nativeSrc":"395642:2:21","nodeType":"YulIdentifier","src":"395642:2:21"}]},{"nativeSrc":"395672:17:21","nodeType":"YulAssignment","src":"395672:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"395684:4:21","nodeType":"YulLiteral","src":"395684:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"395678:5:21","nodeType":"YulIdentifier","src":"395678:5:21"},"nativeSrc":"395678:11:21","nodeType":"YulFunctionCall","src":"395678:11:21"},"variableNames":[{"name":"m5","nativeSrc":"395672:2:21","nodeType":"YulIdentifier","src":"395672:2:21"}]},{"nativeSrc":"395702:17:21","nodeType":"YulAssignment","src":"395702:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"395714:4:21","nodeType":"YulLiteral","src":"395714:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"395708:5:21","nodeType":"YulIdentifier","src":"395708:5:21"},"nativeSrc":"395708:11:21","nodeType":"YulFunctionCall","src":"395708:11:21"},"variableNames":[{"name":"m6","nativeSrc":"395702:2:21","nodeType":"YulIdentifier","src":"395702:2:21"}]},{"nativeSrc":"395732:17:21","nodeType":"YulAssignment","src":"395732:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"395744:4:21","nodeType":"YulLiteral","src":"395744:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"395738:5:21","nodeType":"YulIdentifier","src":"395738:5:21"},"nativeSrc":"395738:11:21","nodeType":"YulFunctionCall","src":"395738:11:21"},"variableNames":[{"name":"m7","nativeSrc":"395732:2:21","nodeType":"YulIdentifier","src":"395732:2:21"}]},{"nativeSrc":"395762:18:21","nodeType":"YulAssignment","src":"395762:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"395774:5:21","nodeType":"YulLiteral","src":"395774:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"395768:5:21","nodeType":"YulIdentifier","src":"395768:5:21"},"nativeSrc":"395768:12:21","nodeType":"YulFunctionCall","src":"395768:12:21"},"variableNames":[{"name":"m8","nativeSrc":"395762:2:21","nodeType":"YulIdentifier","src":"395762:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395862:4:21","nodeType":"YulLiteral","src":"395862:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"395868:10:21","nodeType":"YulLiteral","src":"395868:10:21","type":"","value":"0x7d24491d"}],"functionName":{"name":"mstore","nativeSrc":"395855:6:21","nodeType":"YulIdentifier","src":"395855:6:21"},"nativeSrc":"395855:24:21","nodeType":"YulFunctionCall","src":"395855:24:21"},"nativeSrc":"395855:24:21","nodeType":"YulExpressionStatement","src":"395855:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395899:4:21","nodeType":"YulLiteral","src":"395899:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"395905:4:21","nodeType":"YulLiteral","src":"395905:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"395892:6:21","nodeType":"YulIdentifier","src":"395892:6:21"},"nativeSrc":"395892:18:21","nodeType":"YulFunctionCall","src":"395892:18:21"},"nativeSrc":"395892:18:21","nodeType":"YulExpressionStatement","src":"395892:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395930:4:21","nodeType":"YulLiteral","src":"395930:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"395936:2:21","nodeType":"YulIdentifier","src":"395936:2:21"}],"functionName":{"name":"mstore","nativeSrc":"395923:6:21","nodeType":"YulIdentifier","src":"395923:6:21"},"nativeSrc":"395923:16:21","nodeType":"YulFunctionCall","src":"395923:16:21"},"nativeSrc":"395923:16:21","nodeType":"YulExpressionStatement","src":"395923:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395959:4:21","nodeType":"YulLiteral","src":"395959:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"395965:4:21","nodeType":"YulLiteral","src":"395965:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"395952:6:21","nodeType":"YulIdentifier","src":"395952:6:21"},"nativeSrc":"395952:18:21","nodeType":"YulFunctionCall","src":"395952:18:21"},"nativeSrc":"395952:18:21","nodeType":"YulExpressionStatement","src":"395952:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395990:4:21","nodeType":"YulLiteral","src":"395990:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"395996:2:21","nodeType":"YulIdentifier","src":"395996:2:21"}],"functionName":{"name":"mstore","nativeSrc":"395983:6:21","nodeType":"YulIdentifier","src":"395983:6:21"},"nativeSrc":"395983:16:21","nodeType":"YulFunctionCall","src":"395983:16:21"},"nativeSrc":"395983:16:21","nodeType":"YulExpressionStatement","src":"395983:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396024:4:21","nodeType":"YulLiteral","src":"396024:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"396030:2:21","nodeType":"YulIdentifier","src":"396030:2:21"}],"functionName":{"name":"writeString","nativeSrc":"396012:11:21","nodeType":"YulIdentifier","src":"396012:11:21"},"nativeSrc":"396012:21:21","nodeType":"YulFunctionCall","src":"396012:21:21"},"nativeSrc":"396012:21:21","nodeType":"YulExpressionStatement","src":"396012:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396058:4:21","nodeType":"YulLiteral","src":"396058:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"396064:2:21","nodeType":"YulIdentifier","src":"396064:2:21"}],"functionName":{"name":"writeString","nativeSrc":"396046:11:21","nodeType":"YulIdentifier","src":"396046:11:21"},"nativeSrc":"396046:21:21","nodeType":"YulFunctionCall","src":"396046:21:21"},"nativeSrc":"396046:21:21","nodeType":"YulExpressionStatement","src":"396046:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39120,"isOffset":false,"isSlot":false,"src":"395522:2:21","valueSize":1},{"declaration":39123,"isOffset":false,"isSlot":false,"src":"395552:2:21","valueSize":1},{"declaration":39126,"isOffset":false,"isSlot":false,"src":"395582:2:21","valueSize":1},{"declaration":39129,"isOffset":false,"isSlot":false,"src":"395612:2:21","valueSize":1},{"declaration":39132,"isOffset":false,"isSlot":false,"src":"395642:2:21","valueSize":1},{"declaration":39135,"isOffset":false,"isSlot":false,"src":"395672:2:21","valueSize":1},{"declaration":39138,"isOffset":false,"isSlot":false,"src":"395702:2:21","valueSize":1},{"declaration":39141,"isOffset":false,"isSlot":false,"src":"395732:2:21","valueSize":1},{"declaration":39144,"isOffset":false,"isSlot":false,"src":"395762:2:21","valueSize":1},{"declaration":39110,"isOffset":false,"isSlot":false,"src":"396030:2:21","valueSize":1},{"declaration":39112,"isOffset":false,"isSlot":false,"src":"395936:2:21","valueSize":1},{"declaration":39114,"isOffset":false,"isSlot":false,"src":"396064:2:21","valueSize":1},{"declaration":39116,"isOffset":false,"isSlot":false,"src":"395996:2:21","valueSize":1}],"id":39146,"nodeType":"InlineAssembly","src":"395144:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"396102:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"396108:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"396086:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"396086:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39151,"nodeType":"ExpressionStatement","src":"396086:28:21"},{"AST":{"nativeSrc":"396176:273:21","nodeType":"YulBlock","src":"396176:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"396197:4:21","nodeType":"YulLiteral","src":"396197:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"396203:2:21","nodeType":"YulIdentifier","src":"396203:2:21"}],"functionName":{"name":"mstore","nativeSrc":"396190:6:21","nodeType":"YulIdentifier","src":"396190:6:21"},"nativeSrc":"396190:16:21","nodeType":"YulFunctionCall","src":"396190:16:21"},"nativeSrc":"396190:16:21","nodeType":"YulExpressionStatement","src":"396190:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396226:4:21","nodeType":"YulLiteral","src":"396226:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"396232:2:21","nodeType":"YulIdentifier","src":"396232:2:21"}],"functionName":{"name":"mstore","nativeSrc":"396219:6:21","nodeType":"YulIdentifier","src":"396219:6:21"},"nativeSrc":"396219:16:21","nodeType":"YulFunctionCall","src":"396219:16:21"},"nativeSrc":"396219:16:21","nodeType":"YulExpressionStatement","src":"396219:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396255:4:21","nodeType":"YulLiteral","src":"396255:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"396261:2:21","nodeType":"YulIdentifier","src":"396261:2:21"}],"functionName":{"name":"mstore","nativeSrc":"396248:6:21","nodeType":"YulIdentifier","src":"396248:6:21"},"nativeSrc":"396248:16:21","nodeType":"YulFunctionCall","src":"396248:16:21"},"nativeSrc":"396248:16:21","nodeType":"YulExpressionStatement","src":"396248:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396284:4:21","nodeType":"YulLiteral","src":"396284:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"396290:2:21","nodeType":"YulIdentifier","src":"396290:2:21"}],"functionName":{"name":"mstore","nativeSrc":"396277:6:21","nodeType":"YulIdentifier","src":"396277:6:21"},"nativeSrc":"396277:16:21","nodeType":"YulFunctionCall","src":"396277:16:21"},"nativeSrc":"396277:16:21","nodeType":"YulExpressionStatement","src":"396277:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396313:4:21","nodeType":"YulLiteral","src":"396313:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"396319:2:21","nodeType":"YulIdentifier","src":"396319:2:21"}],"functionName":{"name":"mstore","nativeSrc":"396306:6:21","nodeType":"YulIdentifier","src":"396306:6:21"},"nativeSrc":"396306:16:21","nodeType":"YulFunctionCall","src":"396306:16:21"},"nativeSrc":"396306:16:21","nodeType":"YulExpressionStatement","src":"396306:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396342:4:21","nodeType":"YulLiteral","src":"396342:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"396348:2:21","nodeType":"YulIdentifier","src":"396348:2:21"}],"functionName":{"name":"mstore","nativeSrc":"396335:6:21","nodeType":"YulIdentifier","src":"396335:6:21"},"nativeSrc":"396335:16:21","nodeType":"YulFunctionCall","src":"396335:16:21"},"nativeSrc":"396335:16:21","nodeType":"YulExpressionStatement","src":"396335:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396371:4:21","nodeType":"YulLiteral","src":"396371:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"396377:2:21","nodeType":"YulIdentifier","src":"396377:2:21"}],"functionName":{"name":"mstore","nativeSrc":"396364:6:21","nodeType":"YulIdentifier","src":"396364:6:21"},"nativeSrc":"396364:16:21","nodeType":"YulFunctionCall","src":"396364:16:21"},"nativeSrc":"396364:16:21","nodeType":"YulExpressionStatement","src":"396364:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396400:4:21","nodeType":"YulLiteral","src":"396400:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"396406:2:21","nodeType":"YulIdentifier","src":"396406:2:21"}],"functionName":{"name":"mstore","nativeSrc":"396393:6:21","nodeType":"YulIdentifier","src":"396393:6:21"},"nativeSrc":"396393:16:21","nodeType":"YulFunctionCall","src":"396393:16:21"},"nativeSrc":"396393:16:21","nodeType":"YulExpressionStatement","src":"396393:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396429:5:21","nodeType":"YulLiteral","src":"396429:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"396436:2:21","nodeType":"YulIdentifier","src":"396436:2:21"}],"functionName":{"name":"mstore","nativeSrc":"396422:6:21","nodeType":"YulIdentifier","src":"396422:6:21"},"nativeSrc":"396422:17:21","nodeType":"YulFunctionCall","src":"396422:17:21"},"nativeSrc":"396422:17:21","nodeType":"YulExpressionStatement","src":"396422:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39120,"isOffset":false,"isSlot":false,"src":"396203:2:21","valueSize":1},{"declaration":39123,"isOffset":false,"isSlot":false,"src":"396232:2:21","valueSize":1},{"declaration":39126,"isOffset":false,"isSlot":false,"src":"396261:2:21","valueSize":1},{"declaration":39129,"isOffset":false,"isSlot":false,"src":"396290:2:21","valueSize":1},{"declaration":39132,"isOffset":false,"isSlot":false,"src":"396319:2:21","valueSize":1},{"declaration":39135,"isOffset":false,"isSlot":false,"src":"396348:2:21","valueSize":1},{"declaration":39138,"isOffset":false,"isSlot":false,"src":"396377:2:21","valueSize":1},{"declaration":39141,"isOffset":false,"isSlot":false,"src":"396406:2:21","valueSize":1},{"declaration":39144,"isOffset":false,"isSlot":false,"src":"396436:2:21","valueSize":1}],"id":39152,"nodeType":"InlineAssembly","src":"396167:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"394848:3:21","parameters":{"id":39117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39110,"mutability":"mutable","name":"p0","nameLocation":"394860:2:21","nodeType":"VariableDeclaration","scope":39154,"src":"394852:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394852:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39112,"mutability":"mutable","name":"p1","nameLocation":"394872:2:21","nodeType":"VariableDeclaration","scope":39154,"src":"394864:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39111,"name":"uint256","nodeType":"ElementaryTypeName","src":"394864:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39114,"mutability":"mutable","name":"p2","nameLocation":"394884:2:21","nodeType":"VariableDeclaration","scope":39154,"src":"394876:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39113,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394876:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39116,"mutability":"mutable","name":"p3","nameLocation":"394893:2:21","nodeType":"VariableDeclaration","scope":39154,"src":"394888:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39115,"name":"bool","nodeType":"ElementaryTypeName","src":"394888:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"394851:45:21"},"returnParameters":{"id":39118,"nodeType":"ParameterList","parameters":[],"src":"394911:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39200,"nodeType":"FunctionDefinition","src":"396461:1622:21","nodes":[],"body":{"id":39199,"nodeType":"Block","src":"396536:1547:21","nodes":[],"statements":[{"assignments":[39166],"declarations":[{"constant":false,"id":39166,"mutability":"mutable","name":"m0","nameLocation":"396554:2:21","nodeType":"VariableDeclaration","scope":39199,"src":"396546:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396546:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39167,"nodeType":"VariableDeclarationStatement","src":"396546:10:21"},{"assignments":[39169],"declarations":[{"constant":false,"id":39169,"mutability":"mutable","name":"m1","nameLocation":"396574:2:21","nodeType":"VariableDeclaration","scope":39199,"src":"396566:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396566:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39170,"nodeType":"VariableDeclarationStatement","src":"396566:10:21"},{"assignments":[39172],"declarations":[{"constant":false,"id":39172,"mutability":"mutable","name":"m2","nameLocation":"396594:2:21","nodeType":"VariableDeclaration","scope":39199,"src":"396586:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396586:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39173,"nodeType":"VariableDeclarationStatement","src":"396586:10:21"},{"assignments":[39175],"declarations":[{"constant":false,"id":39175,"mutability":"mutable","name":"m3","nameLocation":"396614:2:21","nodeType":"VariableDeclaration","scope":39199,"src":"396606:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396606:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39176,"nodeType":"VariableDeclarationStatement","src":"396606:10:21"},{"assignments":[39178],"declarations":[{"constant":false,"id":39178,"mutability":"mutable","name":"m4","nameLocation":"396634:2:21","nodeType":"VariableDeclaration","scope":39199,"src":"396626:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396626:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39179,"nodeType":"VariableDeclarationStatement","src":"396626:10:21"},{"assignments":[39181],"declarations":[{"constant":false,"id":39181,"mutability":"mutable","name":"m5","nameLocation":"396654:2:21","nodeType":"VariableDeclaration","scope":39199,"src":"396646:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39180,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396646:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39182,"nodeType":"VariableDeclarationStatement","src":"396646:10:21"},{"assignments":[39184],"declarations":[{"constant":false,"id":39184,"mutability":"mutable","name":"m6","nameLocation":"396674:2:21","nodeType":"VariableDeclaration","scope":39199,"src":"396666:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396666:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39185,"nodeType":"VariableDeclarationStatement","src":"396666:10:21"},{"assignments":[39187],"declarations":[{"constant":false,"id":39187,"mutability":"mutable","name":"m7","nameLocation":"396694:2:21","nodeType":"VariableDeclaration","scope":39199,"src":"396686:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396686:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39188,"nodeType":"VariableDeclarationStatement","src":"396686:10:21"},{"assignments":[39190],"declarations":[{"constant":false,"id":39190,"mutability":"mutable","name":"m8","nameLocation":"396714:2:21","nodeType":"VariableDeclaration","scope":39199,"src":"396706:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396706:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39191,"nodeType":"VariableDeclarationStatement","src":"396706:10:21"},{"AST":{"nativeSrc":"396778:927:21","nodeType":"YulBlock","src":"396778:927:21","statements":[{"body":{"nativeSrc":"396821:313:21","nodeType":"YulBlock","src":"396821:313:21","statements":[{"nativeSrc":"396839:15:21","nodeType":"YulVariableDeclaration","src":"396839:15:21","value":{"kind":"number","nativeSrc":"396853:1:21","nodeType":"YulLiteral","src":"396853:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"396843:6:21","nodeType":"YulTypedName","src":"396843:6:21","type":""}]},{"body":{"nativeSrc":"396924:40:21","nodeType":"YulBlock","src":"396924:40:21","statements":[{"body":{"nativeSrc":"396953:9:21","nodeType":"YulBlock","src":"396953:9:21","statements":[{"nativeSrc":"396955:5:21","nodeType":"YulBreak","src":"396955:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"396941:6:21","nodeType":"YulIdentifier","src":"396941:6:21"},{"name":"w","nativeSrc":"396949:1:21","nodeType":"YulIdentifier","src":"396949:1:21"}],"functionName":{"name":"byte","nativeSrc":"396936:4:21","nodeType":"YulIdentifier","src":"396936:4:21"},"nativeSrc":"396936:15:21","nodeType":"YulFunctionCall","src":"396936:15:21"}],"functionName":{"name":"iszero","nativeSrc":"396929:6:21","nodeType":"YulIdentifier","src":"396929:6:21"},"nativeSrc":"396929:23:21","nodeType":"YulFunctionCall","src":"396929:23:21"},"nativeSrc":"396926:36:21","nodeType":"YulIf","src":"396926:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"396881:6:21","nodeType":"YulIdentifier","src":"396881:6:21"},{"kind":"number","nativeSrc":"396889:4:21","nodeType":"YulLiteral","src":"396889:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"396878:2:21","nodeType":"YulIdentifier","src":"396878:2:21"},"nativeSrc":"396878:16:21","nodeType":"YulFunctionCall","src":"396878:16:21"},"nativeSrc":"396871:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"396895:28:21","nodeType":"YulBlock","src":"396895:28:21","statements":[{"nativeSrc":"396897:24:21","nodeType":"YulAssignment","src":"396897:24:21","value":{"arguments":[{"name":"length","nativeSrc":"396911:6:21","nodeType":"YulIdentifier","src":"396911:6:21"},{"kind":"number","nativeSrc":"396919:1:21","nodeType":"YulLiteral","src":"396919:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"396907:3:21","nodeType":"YulIdentifier","src":"396907:3:21"},"nativeSrc":"396907:14:21","nodeType":"YulFunctionCall","src":"396907:14:21"},"variableNames":[{"name":"length","nativeSrc":"396897:6:21","nodeType":"YulIdentifier","src":"396897:6:21"}]}]},"pre":{"nativeSrc":"396875:2:21","nodeType":"YulBlock","src":"396875:2:21","statements":[]},"src":"396871:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"396988:3:21","nodeType":"YulIdentifier","src":"396988:3:21"},{"name":"length","nativeSrc":"396993:6:21","nodeType":"YulIdentifier","src":"396993:6:21"}],"functionName":{"name":"mstore","nativeSrc":"396981:6:21","nodeType":"YulIdentifier","src":"396981:6:21"},"nativeSrc":"396981:19:21","nodeType":"YulFunctionCall","src":"396981:19:21"},"nativeSrc":"396981:19:21","nodeType":"YulExpressionStatement","src":"396981:19:21"},{"nativeSrc":"397017:37:21","nodeType":"YulVariableDeclaration","src":"397017:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"397034:3:21","nodeType":"YulLiteral","src":"397034:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"397043:1:21","nodeType":"YulLiteral","src":"397043:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"397046:6:21","nodeType":"YulIdentifier","src":"397046:6:21"}],"functionName":{"name":"shl","nativeSrc":"397039:3:21","nodeType":"YulIdentifier","src":"397039:3:21"},"nativeSrc":"397039:14:21","nodeType":"YulFunctionCall","src":"397039:14:21"}],"functionName":{"name":"sub","nativeSrc":"397030:3:21","nodeType":"YulIdentifier","src":"397030:3:21"},"nativeSrc":"397030:24:21","nodeType":"YulFunctionCall","src":"397030:24:21"},"variables":[{"name":"shift","nativeSrc":"397021:5:21","nodeType":"YulTypedName","src":"397021:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"397082:3:21","nodeType":"YulIdentifier","src":"397082:3:21"},{"kind":"number","nativeSrc":"397087:4:21","nodeType":"YulLiteral","src":"397087:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"397078:3:21","nodeType":"YulIdentifier","src":"397078:3:21"},"nativeSrc":"397078:14:21","nodeType":"YulFunctionCall","src":"397078:14:21"},{"arguments":[{"name":"shift","nativeSrc":"397098:5:21","nodeType":"YulIdentifier","src":"397098:5:21"},{"arguments":[{"name":"shift","nativeSrc":"397109:5:21","nodeType":"YulIdentifier","src":"397109:5:21"},{"name":"w","nativeSrc":"397116:1:21","nodeType":"YulIdentifier","src":"397116:1:21"}],"functionName":{"name":"shr","nativeSrc":"397105:3:21","nodeType":"YulIdentifier","src":"397105:3:21"},"nativeSrc":"397105:13:21","nodeType":"YulFunctionCall","src":"397105:13:21"}],"functionName":{"name":"shl","nativeSrc":"397094:3:21","nodeType":"YulIdentifier","src":"397094:3:21"},"nativeSrc":"397094:25:21","nodeType":"YulFunctionCall","src":"397094:25:21"}],"functionName":{"name":"mstore","nativeSrc":"397071:6:21","nodeType":"YulIdentifier","src":"397071:6:21"},"nativeSrc":"397071:49:21","nodeType":"YulFunctionCall","src":"397071:49:21"},"nativeSrc":"397071:49:21","nodeType":"YulExpressionStatement","src":"397071:49:21"}]},"name":"writeString","nativeSrc":"396792:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"396813:3:21","nodeType":"YulTypedName","src":"396813:3:21","type":""},{"name":"w","nativeSrc":"396818:1:21","nodeType":"YulTypedName","src":"396818:1:21","type":""}],"src":"396792:342:21"},{"nativeSrc":"397147:17:21","nodeType":"YulAssignment","src":"397147:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"397159:4:21","nodeType":"YulLiteral","src":"397159:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"397153:5:21","nodeType":"YulIdentifier","src":"397153:5:21"},"nativeSrc":"397153:11:21","nodeType":"YulFunctionCall","src":"397153:11:21"},"variableNames":[{"name":"m0","nativeSrc":"397147:2:21","nodeType":"YulIdentifier","src":"397147:2:21"}]},{"nativeSrc":"397177:17:21","nodeType":"YulAssignment","src":"397177:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"397189:4:21","nodeType":"YulLiteral","src":"397189:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"397183:5:21","nodeType":"YulIdentifier","src":"397183:5:21"},"nativeSrc":"397183:11:21","nodeType":"YulFunctionCall","src":"397183:11:21"},"variableNames":[{"name":"m1","nativeSrc":"397177:2:21","nodeType":"YulIdentifier","src":"397177:2:21"}]},{"nativeSrc":"397207:17:21","nodeType":"YulAssignment","src":"397207:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"397219:4:21","nodeType":"YulLiteral","src":"397219:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"397213:5:21","nodeType":"YulIdentifier","src":"397213:5:21"},"nativeSrc":"397213:11:21","nodeType":"YulFunctionCall","src":"397213:11:21"},"variableNames":[{"name":"m2","nativeSrc":"397207:2:21","nodeType":"YulIdentifier","src":"397207:2:21"}]},{"nativeSrc":"397237:17:21","nodeType":"YulAssignment","src":"397237:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"397249:4:21","nodeType":"YulLiteral","src":"397249:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"397243:5:21","nodeType":"YulIdentifier","src":"397243:5:21"},"nativeSrc":"397243:11:21","nodeType":"YulFunctionCall","src":"397243:11:21"},"variableNames":[{"name":"m3","nativeSrc":"397237:2:21","nodeType":"YulIdentifier","src":"397237:2:21"}]},{"nativeSrc":"397267:17:21","nodeType":"YulAssignment","src":"397267:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"397279:4:21","nodeType":"YulLiteral","src":"397279:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"397273:5:21","nodeType":"YulIdentifier","src":"397273:5:21"},"nativeSrc":"397273:11:21","nodeType":"YulFunctionCall","src":"397273:11:21"},"variableNames":[{"name":"m4","nativeSrc":"397267:2:21","nodeType":"YulIdentifier","src":"397267:2:21"}]},{"nativeSrc":"397297:17:21","nodeType":"YulAssignment","src":"397297:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"397309:4:21","nodeType":"YulLiteral","src":"397309:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"397303:5:21","nodeType":"YulIdentifier","src":"397303:5:21"},"nativeSrc":"397303:11:21","nodeType":"YulFunctionCall","src":"397303:11:21"},"variableNames":[{"name":"m5","nativeSrc":"397297:2:21","nodeType":"YulIdentifier","src":"397297:2:21"}]},{"nativeSrc":"397327:17:21","nodeType":"YulAssignment","src":"397327:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"397339:4:21","nodeType":"YulLiteral","src":"397339:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"397333:5:21","nodeType":"YulIdentifier","src":"397333:5:21"},"nativeSrc":"397333:11:21","nodeType":"YulFunctionCall","src":"397333:11:21"},"variableNames":[{"name":"m6","nativeSrc":"397327:2:21","nodeType":"YulIdentifier","src":"397327:2:21"}]},{"nativeSrc":"397357:17:21","nodeType":"YulAssignment","src":"397357:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"397369:4:21","nodeType":"YulLiteral","src":"397369:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"397363:5:21","nodeType":"YulIdentifier","src":"397363:5:21"},"nativeSrc":"397363:11:21","nodeType":"YulFunctionCall","src":"397363:11:21"},"variableNames":[{"name":"m7","nativeSrc":"397357:2:21","nodeType":"YulIdentifier","src":"397357:2:21"}]},{"nativeSrc":"397387:18:21","nodeType":"YulAssignment","src":"397387:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"397399:5:21","nodeType":"YulLiteral","src":"397399:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"397393:5:21","nodeType":"YulIdentifier","src":"397393:5:21"},"nativeSrc":"397393:12:21","nodeType":"YulFunctionCall","src":"397393:12:21"},"variableNames":[{"name":"m8","nativeSrc":"397387:2:21","nodeType":"YulIdentifier","src":"397387:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397490:4:21","nodeType":"YulLiteral","src":"397490:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"397496:10:21","nodeType":"YulLiteral","src":"397496:10:21","type":"","value":"0xc67ea9d1"}],"functionName":{"name":"mstore","nativeSrc":"397483:6:21","nodeType":"YulIdentifier","src":"397483:6:21"},"nativeSrc":"397483:24:21","nodeType":"YulFunctionCall","src":"397483:24:21"},"nativeSrc":"397483:24:21","nodeType":"YulExpressionStatement","src":"397483:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397527:4:21","nodeType":"YulLiteral","src":"397527:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"397533:4:21","nodeType":"YulLiteral","src":"397533:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"397520:6:21","nodeType":"YulIdentifier","src":"397520:6:21"},"nativeSrc":"397520:18:21","nodeType":"YulFunctionCall","src":"397520:18:21"},"nativeSrc":"397520:18:21","nodeType":"YulExpressionStatement","src":"397520:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397558:4:21","nodeType":"YulLiteral","src":"397558:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"397564:2:21","nodeType":"YulIdentifier","src":"397564:2:21"}],"functionName":{"name":"mstore","nativeSrc":"397551:6:21","nodeType":"YulIdentifier","src":"397551:6:21"},"nativeSrc":"397551:16:21","nodeType":"YulFunctionCall","src":"397551:16:21"},"nativeSrc":"397551:16:21","nodeType":"YulExpressionStatement","src":"397551:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397587:4:21","nodeType":"YulLiteral","src":"397587:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"397593:4:21","nodeType":"YulLiteral","src":"397593:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"397580:6:21","nodeType":"YulIdentifier","src":"397580:6:21"},"nativeSrc":"397580:18:21","nodeType":"YulFunctionCall","src":"397580:18:21"},"nativeSrc":"397580:18:21","nodeType":"YulExpressionStatement","src":"397580:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397618:4:21","nodeType":"YulLiteral","src":"397618:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"397624:2:21","nodeType":"YulIdentifier","src":"397624:2:21"}],"functionName":{"name":"mstore","nativeSrc":"397611:6:21","nodeType":"YulIdentifier","src":"397611:6:21"},"nativeSrc":"397611:16:21","nodeType":"YulFunctionCall","src":"397611:16:21"},"nativeSrc":"397611:16:21","nodeType":"YulExpressionStatement","src":"397611:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397652:4:21","nodeType":"YulLiteral","src":"397652:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"397658:2:21","nodeType":"YulIdentifier","src":"397658:2:21"}],"functionName":{"name":"writeString","nativeSrc":"397640:11:21","nodeType":"YulIdentifier","src":"397640:11:21"},"nativeSrc":"397640:21:21","nodeType":"YulFunctionCall","src":"397640:21:21"},"nativeSrc":"397640:21:21","nodeType":"YulExpressionStatement","src":"397640:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397686:4:21","nodeType":"YulLiteral","src":"397686:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"397692:2:21","nodeType":"YulIdentifier","src":"397692:2:21"}],"functionName":{"name":"writeString","nativeSrc":"397674:11:21","nodeType":"YulIdentifier","src":"397674:11:21"},"nativeSrc":"397674:21:21","nodeType":"YulFunctionCall","src":"397674:21:21"},"nativeSrc":"397674:21:21","nodeType":"YulExpressionStatement","src":"397674:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39166,"isOffset":false,"isSlot":false,"src":"397147:2:21","valueSize":1},{"declaration":39169,"isOffset":false,"isSlot":false,"src":"397177:2:21","valueSize":1},{"declaration":39172,"isOffset":false,"isSlot":false,"src":"397207:2:21","valueSize":1},{"declaration":39175,"isOffset":false,"isSlot":false,"src":"397237:2:21","valueSize":1},{"declaration":39178,"isOffset":false,"isSlot":false,"src":"397267:2:21","valueSize":1},{"declaration":39181,"isOffset":false,"isSlot":false,"src":"397297:2:21","valueSize":1},{"declaration":39184,"isOffset":false,"isSlot":false,"src":"397327:2:21","valueSize":1},{"declaration":39187,"isOffset":false,"isSlot":false,"src":"397357:2:21","valueSize":1},{"declaration":39190,"isOffset":false,"isSlot":false,"src":"397387:2:21","valueSize":1},{"declaration":39156,"isOffset":false,"isSlot":false,"src":"397658:2:21","valueSize":1},{"declaration":39158,"isOffset":false,"isSlot":false,"src":"397564:2:21","valueSize":1},{"declaration":39160,"isOffset":false,"isSlot":false,"src":"397692:2:21","valueSize":1},{"declaration":39162,"isOffset":false,"isSlot":false,"src":"397624:2:21","valueSize":1}],"id":39192,"nodeType":"InlineAssembly","src":"396769:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"397730:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"397736:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39193,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"397714:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"397714:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39197,"nodeType":"ExpressionStatement","src":"397714:28:21"},{"AST":{"nativeSrc":"397804:273:21","nodeType":"YulBlock","src":"397804:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"397825:4:21","nodeType":"YulLiteral","src":"397825:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"397831:2:21","nodeType":"YulIdentifier","src":"397831:2:21"}],"functionName":{"name":"mstore","nativeSrc":"397818:6:21","nodeType":"YulIdentifier","src":"397818:6:21"},"nativeSrc":"397818:16:21","nodeType":"YulFunctionCall","src":"397818:16:21"},"nativeSrc":"397818:16:21","nodeType":"YulExpressionStatement","src":"397818:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397854:4:21","nodeType":"YulLiteral","src":"397854:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"397860:2:21","nodeType":"YulIdentifier","src":"397860:2:21"}],"functionName":{"name":"mstore","nativeSrc":"397847:6:21","nodeType":"YulIdentifier","src":"397847:6:21"},"nativeSrc":"397847:16:21","nodeType":"YulFunctionCall","src":"397847:16:21"},"nativeSrc":"397847:16:21","nodeType":"YulExpressionStatement","src":"397847:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397883:4:21","nodeType":"YulLiteral","src":"397883:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"397889:2:21","nodeType":"YulIdentifier","src":"397889:2:21"}],"functionName":{"name":"mstore","nativeSrc":"397876:6:21","nodeType":"YulIdentifier","src":"397876:6:21"},"nativeSrc":"397876:16:21","nodeType":"YulFunctionCall","src":"397876:16:21"},"nativeSrc":"397876:16:21","nodeType":"YulExpressionStatement","src":"397876:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397912:4:21","nodeType":"YulLiteral","src":"397912:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"397918:2:21","nodeType":"YulIdentifier","src":"397918:2:21"}],"functionName":{"name":"mstore","nativeSrc":"397905:6:21","nodeType":"YulIdentifier","src":"397905:6:21"},"nativeSrc":"397905:16:21","nodeType":"YulFunctionCall","src":"397905:16:21"},"nativeSrc":"397905:16:21","nodeType":"YulExpressionStatement","src":"397905:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397941:4:21","nodeType":"YulLiteral","src":"397941:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"397947:2:21","nodeType":"YulIdentifier","src":"397947:2:21"}],"functionName":{"name":"mstore","nativeSrc":"397934:6:21","nodeType":"YulIdentifier","src":"397934:6:21"},"nativeSrc":"397934:16:21","nodeType":"YulFunctionCall","src":"397934:16:21"},"nativeSrc":"397934:16:21","nodeType":"YulExpressionStatement","src":"397934:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397970:4:21","nodeType":"YulLiteral","src":"397970:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"397976:2:21","nodeType":"YulIdentifier","src":"397976:2:21"}],"functionName":{"name":"mstore","nativeSrc":"397963:6:21","nodeType":"YulIdentifier","src":"397963:6:21"},"nativeSrc":"397963:16:21","nodeType":"YulFunctionCall","src":"397963:16:21"},"nativeSrc":"397963:16:21","nodeType":"YulExpressionStatement","src":"397963:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397999:4:21","nodeType":"YulLiteral","src":"397999:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"398005:2:21","nodeType":"YulIdentifier","src":"398005:2:21"}],"functionName":{"name":"mstore","nativeSrc":"397992:6:21","nodeType":"YulIdentifier","src":"397992:6:21"},"nativeSrc":"397992:16:21","nodeType":"YulFunctionCall","src":"397992:16:21"},"nativeSrc":"397992:16:21","nodeType":"YulExpressionStatement","src":"397992:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"398028:4:21","nodeType":"YulLiteral","src":"398028:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"398034:2:21","nodeType":"YulIdentifier","src":"398034:2:21"}],"functionName":{"name":"mstore","nativeSrc":"398021:6:21","nodeType":"YulIdentifier","src":"398021:6:21"},"nativeSrc":"398021:16:21","nodeType":"YulFunctionCall","src":"398021:16:21"},"nativeSrc":"398021:16:21","nodeType":"YulExpressionStatement","src":"398021:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"398057:5:21","nodeType":"YulLiteral","src":"398057:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"398064:2:21","nodeType":"YulIdentifier","src":"398064:2:21"}],"functionName":{"name":"mstore","nativeSrc":"398050:6:21","nodeType":"YulIdentifier","src":"398050:6:21"},"nativeSrc":"398050:17:21","nodeType":"YulFunctionCall","src":"398050:17:21"},"nativeSrc":"398050:17:21","nodeType":"YulExpressionStatement","src":"398050:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39166,"isOffset":false,"isSlot":false,"src":"397831:2:21","valueSize":1},{"declaration":39169,"isOffset":false,"isSlot":false,"src":"397860:2:21","valueSize":1},{"declaration":39172,"isOffset":false,"isSlot":false,"src":"397889:2:21","valueSize":1},{"declaration":39175,"isOffset":false,"isSlot":false,"src":"397918:2:21","valueSize":1},{"declaration":39178,"isOffset":false,"isSlot":false,"src":"397947:2:21","valueSize":1},{"declaration":39181,"isOffset":false,"isSlot":false,"src":"397976:2:21","valueSize":1},{"declaration":39184,"isOffset":false,"isSlot":false,"src":"398005:2:21","valueSize":1},{"declaration":39187,"isOffset":false,"isSlot":false,"src":"398034:2:21","valueSize":1},{"declaration":39190,"isOffset":false,"isSlot":false,"src":"398064:2:21","valueSize":1}],"id":39198,"nodeType":"InlineAssembly","src":"397795:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"396470:3:21","parameters":{"id":39163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39156,"mutability":"mutable","name":"p0","nameLocation":"396482:2:21","nodeType":"VariableDeclaration","scope":39200,"src":"396474:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396474:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39158,"mutability":"mutable","name":"p1","nameLocation":"396494:2:21","nodeType":"VariableDeclaration","scope":39200,"src":"396486:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39157,"name":"uint256","nodeType":"ElementaryTypeName","src":"396486:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39160,"mutability":"mutable","name":"p2","nameLocation":"396506:2:21","nodeType":"VariableDeclaration","scope":39200,"src":"396498:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396498:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39162,"mutability":"mutable","name":"p3","nameLocation":"396518:2:21","nodeType":"VariableDeclaration","scope":39200,"src":"396510:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39161,"name":"uint256","nodeType":"ElementaryTypeName","src":"396510:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"396473:48:21"},"returnParameters":{"id":39164,"nodeType":"ParameterList","parameters":[],"src":"396536:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39252,"nodeType":"FunctionDefinition","src":"398089:1824:21","nodes":[],"body":{"id":39251,"nodeType":"Block","src":"398164:1749:21","nodes":[],"statements":[{"assignments":[39212],"declarations":[{"constant":false,"id":39212,"mutability":"mutable","name":"m0","nameLocation":"398182:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398174:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398174:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39213,"nodeType":"VariableDeclarationStatement","src":"398174:10:21"},{"assignments":[39215],"declarations":[{"constant":false,"id":39215,"mutability":"mutable","name":"m1","nameLocation":"398202:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398194:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398194:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39216,"nodeType":"VariableDeclarationStatement","src":"398194:10:21"},{"assignments":[39218],"declarations":[{"constant":false,"id":39218,"mutability":"mutable","name":"m2","nameLocation":"398222:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398214:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398214:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39219,"nodeType":"VariableDeclarationStatement","src":"398214:10:21"},{"assignments":[39221],"declarations":[{"constant":false,"id":39221,"mutability":"mutable","name":"m3","nameLocation":"398242:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398234:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39220,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398234:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39222,"nodeType":"VariableDeclarationStatement","src":"398234:10:21"},{"assignments":[39224],"declarations":[{"constant":false,"id":39224,"mutability":"mutable","name":"m4","nameLocation":"398262:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398254:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398254:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39225,"nodeType":"VariableDeclarationStatement","src":"398254:10:21"},{"assignments":[39227],"declarations":[{"constant":false,"id":39227,"mutability":"mutable","name":"m5","nameLocation":"398282:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398274:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398274:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39228,"nodeType":"VariableDeclarationStatement","src":"398274:10:21"},{"assignments":[39230],"declarations":[{"constant":false,"id":39230,"mutability":"mutable","name":"m6","nameLocation":"398302:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398294:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398294:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39231,"nodeType":"VariableDeclarationStatement","src":"398294:10:21"},{"assignments":[39233],"declarations":[{"constant":false,"id":39233,"mutability":"mutable","name":"m7","nameLocation":"398322:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398314:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398314:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39234,"nodeType":"VariableDeclarationStatement","src":"398314:10:21"},{"assignments":[39236],"declarations":[{"constant":false,"id":39236,"mutability":"mutable","name":"m8","nameLocation":"398342:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398334:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398334:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39237,"nodeType":"VariableDeclarationStatement","src":"398334:10:21"},{"assignments":[39239],"declarations":[{"constant":false,"id":39239,"mutability":"mutable","name":"m9","nameLocation":"398362:2:21","nodeType":"VariableDeclaration","scope":39251,"src":"398354:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398354:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39240,"nodeType":"VariableDeclarationStatement","src":"398354:10:21"},{"assignments":[39242],"declarations":[{"constant":false,"id":39242,"mutability":"mutable","name":"m10","nameLocation":"398382:3:21","nodeType":"VariableDeclaration","scope":39251,"src":"398374:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398374:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39243,"nodeType":"VariableDeclarationStatement","src":"398374:11:21"},{"AST":{"nativeSrc":"398447:1027:21","nodeType":"YulBlock","src":"398447:1027:21","statements":[{"body":{"nativeSrc":"398490:313:21","nodeType":"YulBlock","src":"398490:313:21","statements":[{"nativeSrc":"398508:15:21","nodeType":"YulVariableDeclaration","src":"398508:15:21","value":{"kind":"number","nativeSrc":"398522:1:21","nodeType":"YulLiteral","src":"398522:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"398512:6:21","nodeType":"YulTypedName","src":"398512:6:21","type":""}]},{"body":{"nativeSrc":"398593:40:21","nodeType":"YulBlock","src":"398593:40:21","statements":[{"body":{"nativeSrc":"398622:9:21","nodeType":"YulBlock","src":"398622:9:21","statements":[{"nativeSrc":"398624:5:21","nodeType":"YulBreak","src":"398624:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"398610:6:21","nodeType":"YulIdentifier","src":"398610:6:21"},{"name":"w","nativeSrc":"398618:1:21","nodeType":"YulIdentifier","src":"398618:1:21"}],"functionName":{"name":"byte","nativeSrc":"398605:4:21","nodeType":"YulIdentifier","src":"398605:4:21"},"nativeSrc":"398605:15:21","nodeType":"YulFunctionCall","src":"398605:15:21"}],"functionName":{"name":"iszero","nativeSrc":"398598:6:21","nodeType":"YulIdentifier","src":"398598:6:21"},"nativeSrc":"398598:23:21","nodeType":"YulFunctionCall","src":"398598:23:21"},"nativeSrc":"398595:36:21","nodeType":"YulIf","src":"398595:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"398550:6:21","nodeType":"YulIdentifier","src":"398550:6:21"},{"kind":"number","nativeSrc":"398558:4:21","nodeType":"YulLiteral","src":"398558:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"398547:2:21","nodeType":"YulIdentifier","src":"398547:2:21"},"nativeSrc":"398547:16:21","nodeType":"YulFunctionCall","src":"398547:16:21"},"nativeSrc":"398540:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"398564:28:21","nodeType":"YulBlock","src":"398564:28:21","statements":[{"nativeSrc":"398566:24:21","nodeType":"YulAssignment","src":"398566:24:21","value":{"arguments":[{"name":"length","nativeSrc":"398580:6:21","nodeType":"YulIdentifier","src":"398580:6:21"},{"kind":"number","nativeSrc":"398588:1:21","nodeType":"YulLiteral","src":"398588:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"398576:3:21","nodeType":"YulIdentifier","src":"398576:3:21"},"nativeSrc":"398576:14:21","nodeType":"YulFunctionCall","src":"398576:14:21"},"variableNames":[{"name":"length","nativeSrc":"398566:6:21","nodeType":"YulIdentifier","src":"398566:6:21"}]}]},"pre":{"nativeSrc":"398544:2:21","nodeType":"YulBlock","src":"398544:2:21","statements":[]},"src":"398540:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"398657:3:21","nodeType":"YulIdentifier","src":"398657:3:21"},{"name":"length","nativeSrc":"398662:6:21","nodeType":"YulIdentifier","src":"398662:6:21"}],"functionName":{"name":"mstore","nativeSrc":"398650:6:21","nodeType":"YulIdentifier","src":"398650:6:21"},"nativeSrc":"398650:19:21","nodeType":"YulFunctionCall","src":"398650:19:21"},"nativeSrc":"398650:19:21","nodeType":"YulExpressionStatement","src":"398650:19:21"},{"nativeSrc":"398686:37:21","nodeType":"YulVariableDeclaration","src":"398686:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"398703:3:21","nodeType":"YulLiteral","src":"398703:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"398712:1:21","nodeType":"YulLiteral","src":"398712:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"398715:6:21","nodeType":"YulIdentifier","src":"398715:6:21"}],"functionName":{"name":"shl","nativeSrc":"398708:3:21","nodeType":"YulIdentifier","src":"398708:3:21"},"nativeSrc":"398708:14:21","nodeType":"YulFunctionCall","src":"398708:14:21"}],"functionName":{"name":"sub","nativeSrc":"398699:3:21","nodeType":"YulIdentifier","src":"398699:3:21"},"nativeSrc":"398699:24:21","nodeType":"YulFunctionCall","src":"398699:24:21"},"variables":[{"name":"shift","nativeSrc":"398690:5:21","nodeType":"YulTypedName","src":"398690:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"398751:3:21","nodeType":"YulIdentifier","src":"398751:3:21"},{"kind":"number","nativeSrc":"398756:4:21","nodeType":"YulLiteral","src":"398756:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"398747:3:21","nodeType":"YulIdentifier","src":"398747:3:21"},"nativeSrc":"398747:14:21","nodeType":"YulFunctionCall","src":"398747:14:21"},{"arguments":[{"name":"shift","nativeSrc":"398767:5:21","nodeType":"YulIdentifier","src":"398767:5:21"},{"arguments":[{"name":"shift","nativeSrc":"398778:5:21","nodeType":"YulIdentifier","src":"398778:5:21"},{"name":"w","nativeSrc":"398785:1:21","nodeType":"YulIdentifier","src":"398785:1:21"}],"functionName":{"name":"shr","nativeSrc":"398774:3:21","nodeType":"YulIdentifier","src":"398774:3:21"},"nativeSrc":"398774:13:21","nodeType":"YulFunctionCall","src":"398774:13:21"}],"functionName":{"name":"shl","nativeSrc":"398763:3:21","nodeType":"YulIdentifier","src":"398763:3:21"},"nativeSrc":"398763:25:21","nodeType":"YulFunctionCall","src":"398763:25:21"}],"functionName":{"name":"mstore","nativeSrc":"398740:6:21","nodeType":"YulIdentifier","src":"398740:6:21"},"nativeSrc":"398740:49:21","nodeType":"YulFunctionCall","src":"398740:49:21"},"nativeSrc":"398740:49:21","nodeType":"YulExpressionStatement","src":"398740:49:21"}]},"name":"writeString","nativeSrc":"398461:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"398482:3:21","nodeType":"YulTypedName","src":"398482:3:21","type":""},{"name":"w","nativeSrc":"398487:1:21","nodeType":"YulTypedName","src":"398487:1:21","type":""}],"src":"398461:342:21"},{"nativeSrc":"398816:17:21","nodeType":"YulAssignment","src":"398816:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"398828:4:21","nodeType":"YulLiteral","src":"398828:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"398822:5:21","nodeType":"YulIdentifier","src":"398822:5:21"},"nativeSrc":"398822:11:21","nodeType":"YulFunctionCall","src":"398822:11:21"},"variableNames":[{"name":"m0","nativeSrc":"398816:2:21","nodeType":"YulIdentifier","src":"398816:2:21"}]},{"nativeSrc":"398846:17:21","nodeType":"YulAssignment","src":"398846:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"398858:4:21","nodeType":"YulLiteral","src":"398858:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"398852:5:21","nodeType":"YulIdentifier","src":"398852:5:21"},"nativeSrc":"398852:11:21","nodeType":"YulFunctionCall","src":"398852:11:21"},"variableNames":[{"name":"m1","nativeSrc":"398846:2:21","nodeType":"YulIdentifier","src":"398846:2:21"}]},{"nativeSrc":"398876:17:21","nodeType":"YulAssignment","src":"398876:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"398888:4:21","nodeType":"YulLiteral","src":"398888:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"398882:5:21","nodeType":"YulIdentifier","src":"398882:5:21"},"nativeSrc":"398882:11:21","nodeType":"YulFunctionCall","src":"398882:11:21"},"variableNames":[{"name":"m2","nativeSrc":"398876:2:21","nodeType":"YulIdentifier","src":"398876:2:21"}]},{"nativeSrc":"398906:17:21","nodeType":"YulAssignment","src":"398906:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"398918:4:21","nodeType":"YulLiteral","src":"398918:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"398912:5:21","nodeType":"YulIdentifier","src":"398912:5:21"},"nativeSrc":"398912:11:21","nodeType":"YulFunctionCall","src":"398912:11:21"},"variableNames":[{"name":"m3","nativeSrc":"398906:2:21","nodeType":"YulIdentifier","src":"398906:2:21"}]},{"nativeSrc":"398936:17:21","nodeType":"YulAssignment","src":"398936:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"398948:4:21","nodeType":"YulLiteral","src":"398948:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"398942:5:21","nodeType":"YulIdentifier","src":"398942:5:21"},"nativeSrc":"398942:11:21","nodeType":"YulFunctionCall","src":"398942:11:21"},"variableNames":[{"name":"m4","nativeSrc":"398936:2:21","nodeType":"YulIdentifier","src":"398936:2:21"}]},{"nativeSrc":"398966:17:21","nodeType":"YulAssignment","src":"398966:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"398978:4:21","nodeType":"YulLiteral","src":"398978:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"398972:5:21","nodeType":"YulIdentifier","src":"398972:5:21"},"nativeSrc":"398972:11:21","nodeType":"YulFunctionCall","src":"398972:11:21"},"variableNames":[{"name":"m5","nativeSrc":"398966:2:21","nodeType":"YulIdentifier","src":"398966:2:21"}]},{"nativeSrc":"398996:17:21","nodeType":"YulAssignment","src":"398996:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"399008:4:21","nodeType":"YulLiteral","src":"399008:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"399002:5:21","nodeType":"YulIdentifier","src":"399002:5:21"},"nativeSrc":"399002:11:21","nodeType":"YulFunctionCall","src":"399002:11:21"},"variableNames":[{"name":"m6","nativeSrc":"398996:2:21","nodeType":"YulIdentifier","src":"398996:2:21"}]},{"nativeSrc":"399026:17:21","nodeType":"YulAssignment","src":"399026:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"399038:4:21","nodeType":"YulLiteral","src":"399038:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"399032:5:21","nodeType":"YulIdentifier","src":"399032:5:21"},"nativeSrc":"399032:11:21","nodeType":"YulFunctionCall","src":"399032:11:21"},"variableNames":[{"name":"m7","nativeSrc":"399026:2:21","nodeType":"YulIdentifier","src":"399026:2:21"}]},{"nativeSrc":"399056:18:21","nodeType":"YulAssignment","src":"399056:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"399068:5:21","nodeType":"YulLiteral","src":"399068:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"399062:5:21","nodeType":"YulIdentifier","src":"399062:5:21"},"nativeSrc":"399062:12:21","nodeType":"YulFunctionCall","src":"399062:12:21"},"variableNames":[{"name":"m8","nativeSrc":"399056:2:21","nodeType":"YulIdentifier","src":"399056:2:21"}]},{"nativeSrc":"399087:18:21","nodeType":"YulAssignment","src":"399087:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"399099:5:21","nodeType":"YulLiteral","src":"399099:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"399093:5:21","nodeType":"YulIdentifier","src":"399093:5:21"},"nativeSrc":"399093:12:21","nodeType":"YulFunctionCall","src":"399093:12:21"},"variableNames":[{"name":"m9","nativeSrc":"399087:2:21","nodeType":"YulIdentifier","src":"399087:2:21"}]},{"nativeSrc":"399118:19:21","nodeType":"YulAssignment","src":"399118:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"399131:5:21","nodeType":"YulLiteral","src":"399131:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"399125:5:21","nodeType":"YulIdentifier","src":"399125:5:21"},"nativeSrc":"399125:12:21","nodeType":"YulFunctionCall","src":"399125:12:21"},"variableNames":[{"name":"m10","nativeSrc":"399118:3:21","nodeType":"YulIdentifier","src":"399118:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399221:4:21","nodeType":"YulLiteral","src":"399221:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"399227:10:21","nodeType":"YulLiteral","src":"399227:10:21","type":"","value":"0x5ab84e1f"}],"functionName":{"name":"mstore","nativeSrc":"399214:6:21","nodeType":"YulIdentifier","src":"399214:6:21"},"nativeSrc":"399214:24:21","nodeType":"YulFunctionCall","src":"399214:24:21"},"nativeSrc":"399214:24:21","nodeType":"YulExpressionStatement","src":"399214:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399258:4:21","nodeType":"YulLiteral","src":"399258:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"399264:4:21","nodeType":"YulLiteral","src":"399264:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"399251:6:21","nodeType":"YulIdentifier","src":"399251:6:21"},"nativeSrc":"399251:18:21","nodeType":"YulFunctionCall","src":"399251:18:21"},"nativeSrc":"399251:18:21","nodeType":"YulExpressionStatement","src":"399251:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399289:4:21","nodeType":"YulLiteral","src":"399289:4:21","type":"","value":"0x40"},{"name":"p1","nativeSrc":"399295:2:21","nodeType":"YulIdentifier","src":"399295:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399282:6:21","nodeType":"YulIdentifier","src":"399282:6:21"},"nativeSrc":"399282:16:21","nodeType":"YulFunctionCall","src":"399282:16:21"},"nativeSrc":"399282:16:21","nodeType":"YulExpressionStatement","src":"399282:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399318:4:21","nodeType":"YulLiteral","src":"399318:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"399324:4:21","nodeType":"YulLiteral","src":"399324:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"399311:6:21","nodeType":"YulIdentifier","src":"399311:6:21"},"nativeSrc":"399311:18:21","nodeType":"YulFunctionCall","src":"399311:18:21"},"nativeSrc":"399311:18:21","nodeType":"YulExpressionStatement","src":"399311:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399349:4:21","nodeType":"YulLiteral","src":"399349:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"399355:5:21","nodeType":"YulLiteral","src":"399355:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"399342:6:21","nodeType":"YulIdentifier","src":"399342:6:21"},"nativeSrc":"399342:19:21","nodeType":"YulFunctionCall","src":"399342:19:21"},"nativeSrc":"399342:19:21","nodeType":"YulExpressionStatement","src":"399342:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399386:4:21","nodeType":"YulLiteral","src":"399386:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"399392:2:21","nodeType":"YulIdentifier","src":"399392:2:21"}],"functionName":{"name":"writeString","nativeSrc":"399374:11:21","nodeType":"YulIdentifier","src":"399374:11:21"},"nativeSrc":"399374:21:21","nodeType":"YulFunctionCall","src":"399374:21:21"},"nativeSrc":"399374:21:21","nodeType":"YulExpressionStatement","src":"399374:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399420:4:21","nodeType":"YulLiteral","src":"399420:4:21","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"399426:2:21","nodeType":"YulIdentifier","src":"399426:2:21"}],"functionName":{"name":"writeString","nativeSrc":"399408:11:21","nodeType":"YulIdentifier","src":"399408:11:21"},"nativeSrc":"399408:21:21","nodeType":"YulFunctionCall","src":"399408:21:21"},"nativeSrc":"399408:21:21","nodeType":"YulExpressionStatement","src":"399408:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399454:5:21","nodeType":"YulLiteral","src":"399454:5:21","type":"","value":"0x120"},{"name":"p3","nativeSrc":"399461:2:21","nodeType":"YulIdentifier","src":"399461:2:21"}],"functionName":{"name":"writeString","nativeSrc":"399442:11:21","nodeType":"YulIdentifier","src":"399442:11:21"},"nativeSrc":"399442:22:21","nodeType":"YulFunctionCall","src":"399442:22:21"},"nativeSrc":"399442:22:21","nodeType":"YulExpressionStatement","src":"399442:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39212,"isOffset":false,"isSlot":false,"src":"398816:2:21","valueSize":1},{"declaration":39215,"isOffset":false,"isSlot":false,"src":"398846:2:21","valueSize":1},{"declaration":39242,"isOffset":false,"isSlot":false,"src":"399118:3:21","valueSize":1},{"declaration":39218,"isOffset":false,"isSlot":false,"src":"398876:2:21","valueSize":1},{"declaration":39221,"isOffset":false,"isSlot":false,"src":"398906:2:21","valueSize":1},{"declaration":39224,"isOffset":false,"isSlot":false,"src":"398936:2:21","valueSize":1},{"declaration":39227,"isOffset":false,"isSlot":false,"src":"398966:2:21","valueSize":1},{"declaration":39230,"isOffset":false,"isSlot":false,"src":"398996:2:21","valueSize":1},{"declaration":39233,"isOffset":false,"isSlot":false,"src":"399026:2:21","valueSize":1},{"declaration":39236,"isOffset":false,"isSlot":false,"src":"399056:2:21","valueSize":1},{"declaration":39239,"isOffset":false,"isSlot":false,"src":"399087:2:21","valueSize":1},{"declaration":39202,"isOffset":false,"isSlot":false,"src":"399392:2:21","valueSize":1},{"declaration":39204,"isOffset":false,"isSlot":false,"src":"399295:2:21","valueSize":1},{"declaration":39206,"isOffset":false,"isSlot":false,"src":"399426:2:21","valueSize":1},{"declaration":39208,"isOffset":false,"isSlot":false,"src":"399461:2:21","valueSize":1}],"id":39244,"nodeType":"InlineAssembly","src":"398438:1036:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"399499:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"399505:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39245,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"399483:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"399483:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39249,"nodeType":"ExpressionStatement","src":"399483:28:21"},{"AST":{"nativeSrc":"399573:334:21","nodeType":"YulBlock","src":"399573:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"399594:4:21","nodeType":"YulLiteral","src":"399594:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"399600:2:21","nodeType":"YulIdentifier","src":"399600:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399587:6:21","nodeType":"YulIdentifier","src":"399587:6:21"},"nativeSrc":"399587:16:21","nodeType":"YulFunctionCall","src":"399587:16:21"},"nativeSrc":"399587:16:21","nodeType":"YulExpressionStatement","src":"399587:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399623:4:21","nodeType":"YulLiteral","src":"399623:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"399629:2:21","nodeType":"YulIdentifier","src":"399629:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399616:6:21","nodeType":"YulIdentifier","src":"399616:6:21"},"nativeSrc":"399616:16:21","nodeType":"YulFunctionCall","src":"399616:16:21"},"nativeSrc":"399616:16:21","nodeType":"YulExpressionStatement","src":"399616:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399652:4:21","nodeType":"YulLiteral","src":"399652:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"399658:2:21","nodeType":"YulIdentifier","src":"399658:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399645:6:21","nodeType":"YulIdentifier","src":"399645:6:21"},"nativeSrc":"399645:16:21","nodeType":"YulFunctionCall","src":"399645:16:21"},"nativeSrc":"399645:16:21","nodeType":"YulExpressionStatement","src":"399645:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399681:4:21","nodeType":"YulLiteral","src":"399681:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"399687:2:21","nodeType":"YulIdentifier","src":"399687:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399674:6:21","nodeType":"YulIdentifier","src":"399674:6:21"},"nativeSrc":"399674:16:21","nodeType":"YulFunctionCall","src":"399674:16:21"},"nativeSrc":"399674:16:21","nodeType":"YulExpressionStatement","src":"399674:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399710:4:21","nodeType":"YulLiteral","src":"399710:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"399716:2:21","nodeType":"YulIdentifier","src":"399716:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399703:6:21","nodeType":"YulIdentifier","src":"399703:6:21"},"nativeSrc":"399703:16:21","nodeType":"YulFunctionCall","src":"399703:16:21"},"nativeSrc":"399703:16:21","nodeType":"YulExpressionStatement","src":"399703:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399739:4:21","nodeType":"YulLiteral","src":"399739:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"399745:2:21","nodeType":"YulIdentifier","src":"399745:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399732:6:21","nodeType":"YulIdentifier","src":"399732:6:21"},"nativeSrc":"399732:16:21","nodeType":"YulFunctionCall","src":"399732:16:21"},"nativeSrc":"399732:16:21","nodeType":"YulExpressionStatement","src":"399732:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399768:4:21","nodeType":"YulLiteral","src":"399768:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"399774:2:21","nodeType":"YulIdentifier","src":"399774:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399761:6:21","nodeType":"YulIdentifier","src":"399761:6:21"},"nativeSrc":"399761:16:21","nodeType":"YulFunctionCall","src":"399761:16:21"},"nativeSrc":"399761:16:21","nodeType":"YulExpressionStatement","src":"399761:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399797:4:21","nodeType":"YulLiteral","src":"399797:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"399803:2:21","nodeType":"YulIdentifier","src":"399803:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399790:6:21","nodeType":"YulIdentifier","src":"399790:6:21"},"nativeSrc":"399790:16:21","nodeType":"YulFunctionCall","src":"399790:16:21"},"nativeSrc":"399790:16:21","nodeType":"YulExpressionStatement","src":"399790:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399826:5:21","nodeType":"YulLiteral","src":"399826:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"399833:2:21","nodeType":"YulIdentifier","src":"399833:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399819:6:21","nodeType":"YulIdentifier","src":"399819:6:21"},"nativeSrc":"399819:17:21","nodeType":"YulFunctionCall","src":"399819:17:21"},"nativeSrc":"399819:17:21","nodeType":"YulExpressionStatement","src":"399819:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399856:5:21","nodeType":"YulLiteral","src":"399856:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"399863:2:21","nodeType":"YulIdentifier","src":"399863:2:21"}],"functionName":{"name":"mstore","nativeSrc":"399849:6:21","nodeType":"YulIdentifier","src":"399849:6:21"},"nativeSrc":"399849:17:21","nodeType":"YulFunctionCall","src":"399849:17:21"},"nativeSrc":"399849:17:21","nodeType":"YulExpressionStatement","src":"399849:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399886:5:21","nodeType":"YulLiteral","src":"399886:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"399893:3:21","nodeType":"YulIdentifier","src":"399893:3:21"}],"functionName":{"name":"mstore","nativeSrc":"399879:6:21","nodeType":"YulIdentifier","src":"399879:6:21"},"nativeSrc":"399879:18:21","nodeType":"YulFunctionCall","src":"399879:18:21"},"nativeSrc":"399879:18:21","nodeType":"YulExpressionStatement","src":"399879:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39212,"isOffset":false,"isSlot":false,"src":"399600:2:21","valueSize":1},{"declaration":39215,"isOffset":false,"isSlot":false,"src":"399629:2:21","valueSize":1},{"declaration":39242,"isOffset":false,"isSlot":false,"src":"399893:3:21","valueSize":1},{"declaration":39218,"isOffset":false,"isSlot":false,"src":"399658:2:21","valueSize":1},{"declaration":39221,"isOffset":false,"isSlot":false,"src":"399687:2:21","valueSize":1},{"declaration":39224,"isOffset":false,"isSlot":false,"src":"399716:2:21","valueSize":1},{"declaration":39227,"isOffset":false,"isSlot":false,"src":"399745:2:21","valueSize":1},{"declaration":39230,"isOffset":false,"isSlot":false,"src":"399774:2:21","valueSize":1},{"declaration":39233,"isOffset":false,"isSlot":false,"src":"399803:2:21","valueSize":1},{"declaration":39236,"isOffset":false,"isSlot":false,"src":"399833:2:21","valueSize":1},{"declaration":39239,"isOffset":false,"isSlot":false,"src":"399863:2:21","valueSize":1}],"id":39250,"nodeType":"InlineAssembly","src":"399564:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"398098:3:21","parameters":{"id":39209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39202,"mutability":"mutable","name":"p0","nameLocation":"398110:2:21","nodeType":"VariableDeclaration","scope":39252,"src":"398102:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398102:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39204,"mutability":"mutable","name":"p1","nameLocation":"398122:2:21","nodeType":"VariableDeclaration","scope":39252,"src":"398114:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39203,"name":"uint256","nodeType":"ElementaryTypeName","src":"398114:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39206,"mutability":"mutable","name":"p2","nameLocation":"398134:2:21","nodeType":"VariableDeclaration","scope":39252,"src":"398126:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398126:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39208,"mutability":"mutable","name":"p3","nameLocation":"398146:2:21","nodeType":"VariableDeclaration","scope":39252,"src":"398138:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398138:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"398101:48:21"},"returnParameters":{"id":39210,"nodeType":"ParameterList","parameters":[],"src":"398164:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39298,"nodeType":"FunctionDefinition","src":"399919:1622:21","nodes":[],"body":{"id":39297,"nodeType":"Block","src":"399994:1547:21","nodes":[],"statements":[{"assignments":[39264],"declarations":[{"constant":false,"id":39264,"mutability":"mutable","name":"m0","nameLocation":"400012:2:21","nodeType":"VariableDeclaration","scope":39297,"src":"400004:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400004:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39265,"nodeType":"VariableDeclarationStatement","src":"400004:10:21"},{"assignments":[39267],"declarations":[{"constant":false,"id":39267,"mutability":"mutable","name":"m1","nameLocation":"400032:2:21","nodeType":"VariableDeclaration","scope":39297,"src":"400024:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400024:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39268,"nodeType":"VariableDeclarationStatement","src":"400024:10:21"},{"assignments":[39270],"declarations":[{"constant":false,"id":39270,"mutability":"mutable","name":"m2","nameLocation":"400052:2:21","nodeType":"VariableDeclaration","scope":39297,"src":"400044:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400044:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39271,"nodeType":"VariableDeclarationStatement","src":"400044:10:21"},{"assignments":[39273],"declarations":[{"constant":false,"id":39273,"mutability":"mutable","name":"m3","nameLocation":"400072:2:21","nodeType":"VariableDeclaration","scope":39297,"src":"400064:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400064:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39274,"nodeType":"VariableDeclarationStatement","src":"400064:10:21"},{"assignments":[39276],"declarations":[{"constant":false,"id":39276,"mutability":"mutable","name":"m4","nameLocation":"400092:2:21","nodeType":"VariableDeclaration","scope":39297,"src":"400084:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400084:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39277,"nodeType":"VariableDeclarationStatement","src":"400084:10:21"},{"assignments":[39279],"declarations":[{"constant":false,"id":39279,"mutability":"mutable","name":"m5","nameLocation":"400112:2:21","nodeType":"VariableDeclaration","scope":39297,"src":"400104:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400104:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39280,"nodeType":"VariableDeclarationStatement","src":"400104:10:21"},{"assignments":[39282],"declarations":[{"constant":false,"id":39282,"mutability":"mutable","name":"m6","nameLocation":"400132:2:21","nodeType":"VariableDeclaration","scope":39297,"src":"400124:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400124:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39283,"nodeType":"VariableDeclarationStatement","src":"400124:10:21"},{"assignments":[39285],"declarations":[{"constant":false,"id":39285,"mutability":"mutable","name":"m7","nameLocation":"400152:2:21","nodeType":"VariableDeclaration","scope":39297,"src":"400144:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400144:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39286,"nodeType":"VariableDeclarationStatement","src":"400144:10:21"},{"assignments":[39288],"declarations":[{"constant":false,"id":39288,"mutability":"mutable","name":"m8","nameLocation":"400172:2:21","nodeType":"VariableDeclaration","scope":39297,"src":"400164:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400164:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39289,"nodeType":"VariableDeclarationStatement","src":"400164:10:21"},{"AST":{"nativeSrc":"400236:927:21","nodeType":"YulBlock","src":"400236:927:21","statements":[{"body":{"nativeSrc":"400279:313:21","nodeType":"YulBlock","src":"400279:313:21","statements":[{"nativeSrc":"400297:15:21","nodeType":"YulVariableDeclaration","src":"400297:15:21","value":{"kind":"number","nativeSrc":"400311:1:21","nodeType":"YulLiteral","src":"400311:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"400301:6:21","nodeType":"YulTypedName","src":"400301:6:21","type":""}]},{"body":{"nativeSrc":"400382:40:21","nodeType":"YulBlock","src":"400382:40:21","statements":[{"body":{"nativeSrc":"400411:9:21","nodeType":"YulBlock","src":"400411:9:21","statements":[{"nativeSrc":"400413:5:21","nodeType":"YulBreak","src":"400413:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"400399:6:21","nodeType":"YulIdentifier","src":"400399:6:21"},{"name":"w","nativeSrc":"400407:1:21","nodeType":"YulIdentifier","src":"400407:1:21"}],"functionName":{"name":"byte","nativeSrc":"400394:4:21","nodeType":"YulIdentifier","src":"400394:4:21"},"nativeSrc":"400394:15:21","nodeType":"YulFunctionCall","src":"400394:15:21"}],"functionName":{"name":"iszero","nativeSrc":"400387:6:21","nodeType":"YulIdentifier","src":"400387:6:21"},"nativeSrc":"400387:23:21","nodeType":"YulFunctionCall","src":"400387:23:21"},"nativeSrc":"400384:36:21","nodeType":"YulIf","src":"400384:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"400339:6:21","nodeType":"YulIdentifier","src":"400339:6:21"},{"kind":"number","nativeSrc":"400347:4:21","nodeType":"YulLiteral","src":"400347:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"400336:2:21","nodeType":"YulIdentifier","src":"400336:2:21"},"nativeSrc":"400336:16:21","nodeType":"YulFunctionCall","src":"400336:16:21"},"nativeSrc":"400329:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"400353:28:21","nodeType":"YulBlock","src":"400353:28:21","statements":[{"nativeSrc":"400355:24:21","nodeType":"YulAssignment","src":"400355:24:21","value":{"arguments":[{"name":"length","nativeSrc":"400369:6:21","nodeType":"YulIdentifier","src":"400369:6:21"},{"kind":"number","nativeSrc":"400377:1:21","nodeType":"YulLiteral","src":"400377:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"400365:3:21","nodeType":"YulIdentifier","src":"400365:3:21"},"nativeSrc":"400365:14:21","nodeType":"YulFunctionCall","src":"400365:14:21"},"variableNames":[{"name":"length","nativeSrc":"400355:6:21","nodeType":"YulIdentifier","src":"400355:6:21"}]}]},"pre":{"nativeSrc":"400333:2:21","nodeType":"YulBlock","src":"400333:2:21","statements":[]},"src":"400329:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"400446:3:21","nodeType":"YulIdentifier","src":"400446:3:21"},{"name":"length","nativeSrc":"400451:6:21","nodeType":"YulIdentifier","src":"400451:6:21"}],"functionName":{"name":"mstore","nativeSrc":"400439:6:21","nodeType":"YulIdentifier","src":"400439:6:21"},"nativeSrc":"400439:19:21","nodeType":"YulFunctionCall","src":"400439:19:21"},"nativeSrc":"400439:19:21","nodeType":"YulExpressionStatement","src":"400439:19:21"},{"nativeSrc":"400475:37:21","nodeType":"YulVariableDeclaration","src":"400475:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"400492:3:21","nodeType":"YulLiteral","src":"400492:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"400501:1:21","nodeType":"YulLiteral","src":"400501:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"400504:6:21","nodeType":"YulIdentifier","src":"400504:6:21"}],"functionName":{"name":"shl","nativeSrc":"400497:3:21","nodeType":"YulIdentifier","src":"400497:3:21"},"nativeSrc":"400497:14:21","nodeType":"YulFunctionCall","src":"400497:14:21"}],"functionName":{"name":"sub","nativeSrc":"400488:3:21","nodeType":"YulIdentifier","src":"400488:3:21"},"nativeSrc":"400488:24:21","nodeType":"YulFunctionCall","src":"400488:24:21"},"variables":[{"name":"shift","nativeSrc":"400479:5:21","nodeType":"YulTypedName","src":"400479:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"400540:3:21","nodeType":"YulIdentifier","src":"400540:3:21"},{"kind":"number","nativeSrc":"400545:4:21","nodeType":"YulLiteral","src":"400545:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"400536:3:21","nodeType":"YulIdentifier","src":"400536:3:21"},"nativeSrc":"400536:14:21","nodeType":"YulFunctionCall","src":"400536:14:21"},{"arguments":[{"name":"shift","nativeSrc":"400556:5:21","nodeType":"YulIdentifier","src":"400556:5:21"},{"arguments":[{"name":"shift","nativeSrc":"400567:5:21","nodeType":"YulIdentifier","src":"400567:5:21"},{"name":"w","nativeSrc":"400574:1:21","nodeType":"YulIdentifier","src":"400574:1:21"}],"functionName":{"name":"shr","nativeSrc":"400563:3:21","nodeType":"YulIdentifier","src":"400563:3:21"},"nativeSrc":"400563:13:21","nodeType":"YulFunctionCall","src":"400563:13:21"}],"functionName":{"name":"shl","nativeSrc":"400552:3:21","nodeType":"YulIdentifier","src":"400552:3:21"},"nativeSrc":"400552:25:21","nodeType":"YulFunctionCall","src":"400552:25:21"}],"functionName":{"name":"mstore","nativeSrc":"400529:6:21","nodeType":"YulIdentifier","src":"400529:6:21"},"nativeSrc":"400529:49:21","nodeType":"YulFunctionCall","src":"400529:49:21"},"nativeSrc":"400529:49:21","nodeType":"YulExpressionStatement","src":"400529:49:21"}]},"name":"writeString","nativeSrc":"400250:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"400271:3:21","nodeType":"YulTypedName","src":"400271:3:21","type":""},{"name":"w","nativeSrc":"400276:1:21","nodeType":"YulTypedName","src":"400276:1:21","type":""}],"src":"400250:342:21"},{"nativeSrc":"400605:17:21","nodeType":"YulAssignment","src":"400605:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"400617:4:21","nodeType":"YulLiteral","src":"400617:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"400611:5:21","nodeType":"YulIdentifier","src":"400611:5:21"},"nativeSrc":"400611:11:21","nodeType":"YulFunctionCall","src":"400611:11:21"},"variableNames":[{"name":"m0","nativeSrc":"400605:2:21","nodeType":"YulIdentifier","src":"400605:2:21"}]},{"nativeSrc":"400635:17:21","nodeType":"YulAssignment","src":"400635:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"400647:4:21","nodeType":"YulLiteral","src":"400647:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"400641:5:21","nodeType":"YulIdentifier","src":"400641:5:21"},"nativeSrc":"400641:11:21","nodeType":"YulFunctionCall","src":"400641:11:21"},"variableNames":[{"name":"m1","nativeSrc":"400635:2:21","nodeType":"YulIdentifier","src":"400635:2:21"}]},{"nativeSrc":"400665:17:21","nodeType":"YulAssignment","src":"400665:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"400677:4:21","nodeType":"YulLiteral","src":"400677:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"400671:5:21","nodeType":"YulIdentifier","src":"400671:5:21"},"nativeSrc":"400671:11:21","nodeType":"YulFunctionCall","src":"400671:11:21"},"variableNames":[{"name":"m2","nativeSrc":"400665:2:21","nodeType":"YulIdentifier","src":"400665:2:21"}]},{"nativeSrc":"400695:17:21","nodeType":"YulAssignment","src":"400695:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"400707:4:21","nodeType":"YulLiteral","src":"400707:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"400701:5:21","nodeType":"YulIdentifier","src":"400701:5:21"},"nativeSrc":"400701:11:21","nodeType":"YulFunctionCall","src":"400701:11:21"},"variableNames":[{"name":"m3","nativeSrc":"400695:2:21","nodeType":"YulIdentifier","src":"400695:2:21"}]},{"nativeSrc":"400725:17:21","nodeType":"YulAssignment","src":"400725:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"400737:4:21","nodeType":"YulLiteral","src":"400737:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"400731:5:21","nodeType":"YulIdentifier","src":"400731:5:21"},"nativeSrc":"400731:11:21","nodeType":"YulFunctionCall","src":"400731:11:21"},"variableNames":[{"name":"m4","nativeSrc":"400725:2:21","nodeType":"YulIdentifier","src":"400725:2:21"}]},{"nativeSrc":"400755:17:21","nodeType":"YulAssignment","src":"400755:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"400767:4:21","nodeType":"YulLiteral","src":"400767:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"400761:5:21","nodeType":"YulIdentifier","src":"400761:5:21"},"nativeSrc":"400761:11:21","nodeType":"YulFunctionCall","src":"400761:11:21"},"variableNames":[{"name":"m5","nativeSrc":"400755:2:21","nodeType":"YulIdentifier","src":"400755:2:21"}]},{"nativeSrc":"400785:17:21","nodeType":"YulAssignment","src":"400785:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"400797:4:21","nodeType":"YulLiteral","src":"400797:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"400791:5:21","nodeType":"YulIdentifier","src":"400791:5:21"},"nativeSrc":"400791:11:21","nodeType":"YulFunctionCall","src":"400791:11:21"},"variableNames":[{"name":"m6","nativeSrc":"400785:2:21","nodeType":"YulIdentifier","src":"400785:2:21"}]},{"nativeSrc":"400815:17:21","nodeType":"YulAssignment","src":"400815:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"400827:4:21","nodeType":"YulLiteral","src":"400827:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"400821:5:21","nodeType":"YulIdentifier","src":"400821:5:21"},"nativeSrc":"400821:11:21","nodeType":"YulFunctionCall","src":"400821:11:21"},"variableNames":[{"name":"m7","nativeSrc":"400815:2:21","nodeType":"YulIdentifier","src":"400815:2:21"}]},{"nativeSrc":"400845:18:21","nodeType":"YulAssignment","src":"400845:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"400857:5:21","nodeType":"YulLiteral","src":"400857:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"400851:5:21","nodeType":"YulIdentifier","src":"400851:5:21"},"nativeSrc":"400851:12:21","nodeType":"YulFunctionCall","src":"400851:12:21"},"variableNames":[{"name":"m8","nativeSrc":"400845:2:21","nodeType":"YulIdentifier","src":"400845:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"400948:4:21","nodeType":"YulLiteral","src":"400948:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"400954:10:21","nodeType":"YulLiteral","src":"400954:10:21","type":"","value":"0x439c7bef"}],"functionName":{"name":"mstore","nativeSrc":"400941:6:21","nodeType":"YulIdentifier","src":"400941:6:21"},"nativeSrc":"400941:24:21","nodeType":"YulFunctionCall","src":"400941:24:21"},"nativeSrc":"400941:24:21","nodeType":"YulExpressionStatement","src":"400941:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"400985:4:21","nodeType":"YulLiteral","src":"400985:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"400991:4:21","nodeType":"YulLiteral","src":"400991:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"400978:6:21","nodeType":"YulIdentifier","src":"400978:6:21"},"nativeSrc":"400978:18:21","nodeType":"YulFunctionCall","src":"400978:18:21"},"nativeSrc":"400978:18:21","nodeType":"YulExpressionStatement","src":"400978:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401016:4:21","nodeType":"YulLiteral","src":"401016:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"401022:4:21","nodeType":"YulLiteral","src":"401022:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"401009:6:21","nodeType":"YulIdentifier","src":"401009:6:21"},"nativeSrc":"401009:18:21","nodeType":"YulFunctionCall","src":"401009:18:21"},"nativeSrc":"401009:18:21","nodeType":"YulExpressionStatement","src":"401009:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401047:4:21","nodeType":"YulLiteral","src":"401047:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"401053:2:21","nodeType":"YulIdentifier","src":"401053:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401040:6:21","nodeType":"YulIdentifier","src":"401040:6:21"},"nativeSrc":"401040:16:21","nodeType":"YulFunctionCall","src":"401040:16:21"},"nativeSrc":"401040:16:21","nodeType":"YulExpressionStatement","src":"401040:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401076:4:21","nodeType":"YulLiteral","src":"401076:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"401082:2:21","nodeType":"YulIdentifier","src":"401082:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401069:6:21","nodeType":"YulIdentifier","src":"401069:6:21"},"nativeSrc":"401069:16:21","nodeType":"YulFunctionCall","src":"401069:16:21"},"nativeSrc":"401069:16:21","nodeType":"YulExpressionStatement","src":"401069:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401110:4:21","nodeType":"YulLiteral","src":"401110:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"401116:2:21","nodeType":"YulIdentifier","src":"401116:2:21"}],"functionName":{"name":"writeString","nativeSrc":"401098:11:21","nodeType":"YulIdentifier","src":"401098:11:21"},"nativeSrc":"401098:21:21","nodeType":"YulFunctionCall","src":"401098:21:21"},"nativeSrc":"401098:21:21","nodeType":"YulExpressionStatement","src":"401098:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401144:4:21","nodeType":"YulLiteral","src":"401144:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"401150:2:21","nodeType":"YulIdentifier","src":"401150:2:21"}],"functionName":{"name":"writeString","nativeSrc":"401132:11:21","nodeType":"YulIdentifier","src":"401132:11:21"},"nativeSrc":"401132:21:21","nodeType":"YulFunctionCall","src":"401132:21:21"},"nativeSrc":"401132:21:21","nodeType":"YulExpressionStatement","src":"401132:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39264,"isOffset":false,"isSlot":false,"src":"400605:2:21","valueSize":1},{"declaration":39267,"isOffset":false,"isSlot":false,"src":"400635:2:21","valueSize":1},{"declaration":39270,"isOffset":false,"isSlot":false,"src":"400665:2:21","valueSize":1},{"declaration":39273,"isOffset":false,"isSlot":false,"src":"400695:2:21","valueSize":1},{"declaration":39276,"isOffset":false,"isSlot":false,"src":"400725:2:21","valueSize":1},{"declaration":39279,"isOffset":false,"isSlot":false,"src":"400755:2:21","valueSize":1},{"declaration":39282,"isOffset":false,"isSlot":false,"src":"400785:2:21","valueSize":1},{"declaration":39285,"isOffset":false,"isSlot":false,"src":"400815:2:21","valueSize":1},{"declaration":39288,"isOffset":false,"isSlot":false,"src":"400845:2:21","valueSize":1},{"declaration":39254,"isOffset":false,"isSlot":false,"src":"401116:2:21","valueSize":1},{"declaration":39256,"isOffset":false,"isSlot":false,"src":"401150:2:21","valueSize":1},{"declaration":39258,"isOffset":false,"isSlot":false,"src":"401053:2:21","valueSize":1},{"declaration":39260,"isOffset":false,"isSlot":false,"src":"401082:2:21","valueSize":1}],"id":39290,"nodeType":"InlineAssembly","src":"400227:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"401188:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"401194:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39291,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"401172:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"401172:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39295,"nodeType":"ExpressionStatement","src":"401172:28:21"},{"AST":{"nativeSrc":"401262:273:21","nodeType":"YulBlock","src":"401262:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"401283:4:21","nodeType":"YulLiteral","src":"401283:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"401289:2:21","nodeType":"YulIdentifier","src":"401289:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401276:6:21","nodeType":"YulIdentifier","src":"401276:6:21"},"nativeSrc":"401276:16:21","nodeType":"YulFunctionCall","src":"401276:16:21"},"nativeSrc":"401276:16:21","nodeType":"YulExpressionStatement","src":"401276:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401312:4:21","nodeType":"YulLiteral","src":"401312:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"401318:2:21","nodeType":"YulIdentifier","src":"401318:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401305:6:21","nodeType":"YulIdentifier","src":"401305:6:21"},"nativeSrc":"401305:16:21","nodeType":"YulFunctionCall","src":"401305:16:21"},"nativeSrc":"401305:16:21","nodeType":"YulExpressionStatement","src":"401305:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401341:4:21","nodeType":"YulLiteral","src":"401341:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"401347:2:21","nodeType":"YulIdentifier","src":"401347:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401334:6:21","nodeType":"YulIdentifier","src":"401334:6:21"},"nativeSrc":"401334:16:21","nodeType":"YulFunctionCall","src":"401334:16:21"},"nativeSrc":"401334:16:21","nodeType":"YulExpressionStatement","src":"401334:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401370:4:21","nodeType":"YulLiteral","src":"401370:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"401376:2:21","nodeType":"YulIdentifier","src":"401376:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401363:6:21","nodeType":"YulIdentifier","src":"401363:6:21"},"nativeSrc":"401363:16:21","nodeType":"YulFunctionCall","src":"401363:16:21"},"nativeSrc":"401363:16:21","nodeType":"YulExpressionStatement","src":"401363:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401399:4:21","nodeType":"YulLiteral","src":"401399:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"401405:2:21","nodeType":"YulIdentifier","src":"401405:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401392:6:21","nodeType":"YulIdentifier","src":"401392:6:21"},"nativeSrc":"401392:16:21","nodeType":"YulFunctionCall","src":"401392:16:21"},"nativeSrc":"401392:16:21","nodeType":"YulExpressionStatement","src":"401392:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401428:4:21","nodeType":"YulLiteral","src":"401428:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"401434:2:21","nodeType":"YulIdentifier","src":"401434:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401421:6:21","nodeType":"YulIdentifier","src":"401421:6:21"},"nativeSrc":"401421:16:21","nodeType":"YulFunctionCall","src":"401421:16:21"},"nativeSrc":"401421:16:21","nodeType":"YulExpressionStatement","src":"401421:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401457:4:21","nodeType":"YulLiteral","src":"401457:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"401463:2:21","nodeType":"YulIdentifier","src":"401463:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401450:6:21","nodeType":"YulIdentifier","src":"401450:6:21"},"nativeSrc":"401450:16:21","nodeType":"YulFunctionCall","src":"401450:16:21"},"nativeSrc":"401450:16:21","nodeType":"YulExpressionStatement","src":"401450:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401486:4:21","nodeType":"YulLiteral","src":"401486:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"401492:2:21","nodeType":"YulIdentifier","src":"401492:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401479:6:21","nodeType":"YulIdentifier","src":"401479:6:21"},"nativeSrc":"401479:16:21","nodeType":"YulFunctionCall","src":"401479:16:21"},"nativeSrc":"401479:16:21","nodeType":"YulExpressionStatement","src":"401479:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401515:5:21","nodeType":"YulLiteral","src":"401515:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"401522:2:21","nodeType":"YulIdentifier","src":"401522:2:21"}],"functionName":{"name":"mstore","nativeSrc":"401508:6:21","nodeType":"YulIdentifier","src":"401508:6:21"},"nativeSrc":"401508:17:21","nodeType":"YulFunctionCall","src":"401508:17:21"},"nativeSrc":"401508:17:21","nodeType":"YulExpressionStatement","src":"401508:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39264,"isOffset":false,"isSlot":false,"src":"401289:2:21","valueSize":1},{"declaration":39267,"isOffset":false,"isSlot":false,"src":"401318:2:21","valueSize":1},{"declaration":39270,"isOffset":false,"isSlot":false,"src":"401347:2:21","valueSize":1},{"declaration":39273,"isOffset":false,"isSlot":false,"src":"401376:2:21","valueSize":1},{"declaration":39276,"isOffset":false,"isSlot":false,"src":"401405:2:21","valueSize":1},{"declaration":39279,"isOffset":false,"isSlot":false,"src":"401434:2:21","valueSize":1},{"declaration":39282,"isOffset":false,"isSlot":false,"src":"401463:2:21","valueSize":1},{"declaration":39285,"isOffset":false,"isSlot":false,"src":"401492:2:21","valueSize":1},{"declaration":39288,"isOffset":false,"isSlot":false,"src":"401522:2:21","valueSize":1}],"id":39296,"nodeType":"InlineAssembly","src":"401253:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"399928:3:21","parameters":{"id":39261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39254,"mutability":"mutable","name":"p0","nameLocation":"399940:2:21","nodeType":"VariableDeclaration","scope":39298,"src":"399932:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"399932:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39256,"mutability":"mutable","name":"p1","nameLocation":"399952:2:21","nodeType":"VariableDeclaration","scope":39298,"src":"399944:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"399944:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39258,"mutability":"mutable","name":"p2","nameLocation":"399964:2:21","nodeType":"VariableDeclaration","scope":39298,"src":"399956:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39257,"name":"address","nodeType":"ElementaryTypeName","src":"399956:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39260,"mutability":"mutable","name":"p3","nameLocation":"399976:2:21","nodeType":"VariableDeclaration","scope":39298,"src":"399968:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39259,"name":"address","nodeType":"ElementaryTypeName","src":"399968:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"399931:48:21"},"returnParameters":{"id":39262,"nodeType":"ParameterList","parameters":[],"src":"399994:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39344,"nodeType":"FunctionDefinition","src":"401547:1616:21","nodes":[],"body":{"id":39343,"nodeType":"Block","src":"401619:1544:21","nodes":[],"statements":[{"assignments":[39310],"declarations":[{"constant":false,"id":39310,"mutability":"mutable","name":"m0","nameLocation":"401637:2:21","nodeType":"VariableDeclaration","scope":39343,"src":"401629:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401629:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39311,"nodeType":"VariableDeclarationStatement","src":"401629:10:21"},{"assignments":[39313],"declarations":[{"constant":false,"id":39313,"mutability":"mutable","name":"m1","nameLocation":"401657:2:21","nodeType":"VariableDeclaration","scope":39343,"src":"401649:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401649:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39314,"nodeType":"VariableDeclarationStatement","src":"401649:10:21"},{"assignments":[39316],"declarations":[{"constant":false,"id":39316,"mutability":"mutable","name":"m2","nameLocation":"401677:2:21","nodeType":"VariableDeclaration","scope":39343,"src":"401669:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401669:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39317,"nodeType":"VariableDeclarationStatement","src":"401669:10:21"},{"assignments":[39319],"declarations":[{"constant":false,"id":39319,"mutability":"mutable","name":"m3","nameLocation":"401697:2:21","nodeType":"VariableDeclaration","scope":39343,"src":"401689:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401689:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39320,"nodeType":"VariableDeclarationStatement","src":"401689:10:21"},{"assignments":[39322],"declarations":[{"constant":false,"id":39322,"mutability":"mutable","name":"m4","nameLocation":"401717:2:21","nodeType":"VariableDeclaration","scope":39343,"src":"401709:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401709:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39323,"nodeType":"VariableDeclarationStatement","src":"401709:10:21"},{"assignments":[39325],"declarations":[{"constant":false,"id":39325,"mutability":"mutable","name":"m5","nameLocation":"401737:2:21","nodeType":"VariableDeclaration","scope":39343,"src":"401729:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401729:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39326,"nodeType":"VariableDeclarationStatement","src":"401729:10:21"},{"assignments":[39328],"declarations":[{"constant":false,"id":39328,"mutability":"mutable","name":"m6","nameLocation":"401757:2:21","nodeType":"VariableDeclaration","scope":39343,"src":"401749:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39327,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401749:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39329,"nodeType":"VariableDeclarationStatement","src":"401749:10:21"},{"assignments":[39331],"declarations":[{"constant":false,"id":39331,"mutability":"mutable","name":"m7","nameLocation":"401777:2:21","nodeType":"VariableDeclaration","scope":39343,"src":"401769:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401769:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39332,"nodeType":"VariableDeclarationStatement","src":"401769:10:21"},{"assignments":[39334],"declarations":[{"constant":false,"id":39334,"mutability":"mutable","name":"m8","nameLocation":"401797:2:21","nodeType":"VariableDeclaration","scope":39343,"src":"401789:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401789:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39335,"nodeType":"VariableDeclarationStatement","src":"401789:10:21"},{"AST":{"nativeSrc":"401861:924:21","nodeType":"YulBlock","src":"401861:924:21","statements":[{"body":{"nativeSrc":"401904:313:21","nodeType":"YulBlock","src":"401904:313:21","statements":[{"nativeSrc":"401922:15:21","nodeType":"YulVariableDeclaration","src":"401922:15:21","value":{"kind":"number","nativeSrc":"401936:1:21","nodeType":"YulLiteral","src":"401936:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"401926:6:21","nodeType":"YulTypedName","src":"401926:6:21","type":""}]},{"body":{"nativeSrc":"402007:40:21","nodeType":"YulBlock","src":"402007:40:21","statements":[{"body":{"nativeSrc":"402036:9:21","nodeType":"YulBlock","src":"402036:9:21","statements":[{"nativeSrc":"402038:5:21","nodeType":"YulBreak","src":"402038:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"402024:6:21","nodeType":"YulIdentifier","src":"402024:6:21"},{"name":"w","nativeSrc":"402032:1:21","nodeType":"YulIdentifier","src":"402032:1:21"}],"functionName":{"name":"byte","nativeSrc":"402019:4:21","nodeType":"YulIdentifier","src":"402019:4:21"},"nativeSrc":"402019:15:21","nodeType":"YulFunctionCall","src":"402019:15:21"}],"functionName":{"name":"iszero","nativeSrc":"402012:6:21","nodeType":"YulIdentifier","src":"402012:6:21"},"nativeSrc":"402012:23:21","nodeType":"YulFunctionCall","src":"402012:23:21"},"nativeSrc":"402009:36:21","nodeType":"YulIf","src":"402009:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"401964:6:21","nodeType":"YulIdentifier","src":"401964:6:21"},{"kind":"number","nativeSrc":"401972:4:21","nodeType":"YulLiteral","src":"401972:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"401961:2:21","nodeType":"YulIdentifier","src":"401961:2:21"},"nativeSrc":"401961:16:21","nodeType":"YulFunctionCall","src":"401961:16:21"},"nativeSrc":"401954:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"401978:28:21","nodeType":"YulBlock","src":"401978:28:21","statements":[{"nativeSrc":"401980:24:21","nodeType":"YulAssignment","src":"401980:24:21","value":{"arguments":[{"name":"length","nativeSrc":"401994:6:21","nodeType":"YulIdentifier","src":"401994:6:21"},{"kind":"number","nativeSrc":"402002:1:21","nodeType":"YulLiteral","src":"402002:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"401990:3:21","nodeType":"YulIdentifier","src":"401990:3:21"},"nativeSrc":"401990:14:21","nodeType":"YulFunctionCall","src":"401990:14:21"},"variableNames":[{"name":"length","nativeSrc":"401980:6:21","nodeType":"YulIdentifier","src":"401980:6:21"}]}]},"pre":{"nativeSrc":"401958:2:21","nodeType":"YulBlock","src":"401958:2:21","statements":[]},"src":"401954:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"402071:3:21","nodeType":"YulIdentifier","src":"402071:3:21"},{"name":"length","nativeSrc":"402076:6:21","nodeType":"YulIdentifier","src":"402076:6:21"}],"functionName":{"name":"mstore","nativeSrc":"402064:6:21","nodeType":"YulIdentifier","src":"402064:6:21"},"nativeSrc":"402064:19:21","nodeType":"YulFunctionCall","src":"402064:19:21"},"nativeSrc":"402064:19:21","nodeType":"YulExpressionStatement","src":"402064:19:21"},{"nativeSrc":"402100:37:21","nodeType":"YulVariableDeclaration","src":"402100:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"402117:3:21","nodeType":"YulLiteral","src":"402117:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"402126:1:21","nodeType":"YulLiteral","src":"402126:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"402129:6:21","nodeType":"YulIdentifier","src":"402129:6:21"}],"functionName":{"name":"shl","nativeSrc":"402122:3:21","nodeType":"YulIdentifier","src":"402122:3:21"},"nativeSrc":"402122:14:21","nodeType":"YulFunctionCall","src":"402122:14:21"}],"functionName":{"name":"sub","nativeSrc":"402113:3:21","nodeType":"YulIdentifier","src":"402113:3:21"},"nativeSrc":"402113:24:21","nodeType":"YulFunctionCall","src":"402113:24:21"},"variables":[{"name":"shift","nativeSrc":"402104:5:21","nodeType":"YulTypedName","src":"402104:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"402165:3:21","nodeType":"YulIdentifier","src":"402165:3:21"},{"kind":"number","nativeSrc":"402170:4:21","nodeType":"YulLiteral","src":"402170:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"402161:3:21","nodeType":"YulIdentifier","src":"402161:3:21"},"nativeSrc":"402161:14:21","nodeType":"YulFunctionCall","src":"402161:14:21"},{"arguments":[{"name":"shift","nativeSrc":"402181:5:21","nodeType":"YulIdentifier","src":"402181:5:21"},{"arguments":[{"name":"shift","nativeSrc":"402192:5:21","nodeType":"YulIdentifier","src":"402192:5:21"},{"name":"w","nativeSrc":"402199:1:21","nodeType":"YulIdentifier","src":"402199:1:21"}],"functionName":{"name":"shr","nativeSrc":"402188:3:21","nodeType":"YulIdentifier","src":"402188:3:21"},"nativeSrc":"402188:13:21","nodeType":"YulFunctionCall","src":"402188:13:21"}],"functionName":{"name":"shl","nativeSrc":"402177:3:21","nodeType":"YulIdentifier","src":"402177:3:21"},"nativeSrc":"402177:25:21","nodeType":"YulFunctionCall","src":"402177:25:21"}],"functionName":{"name":"mstore","nativeSrc":"402154:6:21","nodeType":"YulIdentifier","src":"402154:6:21"},"nativeSrc":"402154:49:21","nodeType":"YulFunctionCall","src":"402154:49:21"},"nativeSrc":"402154:49:21","nodeType":"YulExpressionStatement","src":"402154:49:21"}]},"name":"writeString","nativeSrc":"401875:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"401896:3:21","nodeType":"YulTypedName","src":"401896:3:21","type":""},{"name":"w","nativeSrc":"401901:1:21","nodeType":"YulTypedName","src":"401901:1:21","type":""}],"src":"401875:342:21"},{"nativeSrc":"402230:17:21","nodeType":"YulAssignment","src":"402230:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"402242:4:21","nodeType":"YulLiteral","src":"402242:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"402236:5:21","nodeType":"YulIdentifier","src":"402236:5:21"},"nativeSrc":"402236:11:21","nodeType":"YulFunctionCall","src":"402236:11:21"},"variableNames":[{"name":"m0","nativeSrc":"402230:2:21","nodeType":"YulIdentifier","src":"402230:2:21"}]},{"nativeSrc":"402260:17:21","nodeType":"YulAssignment","src":"402260:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"402272:4:21","nodeType":"YulLiteral","src":"402272:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"402266:5:21","nodeType":"YulIdentifier","src":"402266:5:21"},"nativeSrc":"402266:11:21","nodeType":"YulFunctionCall","src":"402266:11:21"},"variableNames":[{"name":"m1","nativeSrc":"402260:2:21","nodeType":"YulIdentifier","src":"402260:2:21"}]},{"nativeSrc":"402290:17:21","nodeType":"YulAssignment","src":"402290:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"402302:4:21","nodeType":"YulLiteral","src":"402302:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"402296:5:21","nodeType":"YulIdentifier","src":"402296:5:21"},"nativeSrc":"402296:11:21","nodeType":"YulFunctionCall","src":"402296:11:21"},"variableNames":[{"name":"m2","nativeSrc":"402290:2:21","nodeType":"YulIdentifier","src":"402290:2:21"}]},{"nativeSrc":"402320:17:21","nodeType":"YulAssignment","src":"402320:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"402332:4:21","nodeType":"YulLiteral","src":"402332:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"402326:5:21","nodeType":"YulIdentifier","src":"402326:5:21"},"nativeSrc":"402326:11:21","nodeType":"YulFunctionCall","src":"402326:11:21"},"variableNames":[{"name":"m3","nativeSrc":"402320:2:21","nodeType":"YulIdentifier","src":"402320:2:21"}]},{"nativeSrc":"402350:17:21","nodeType":"YulAssignment","src":"402350:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"402362:4:21","nodeType":"YulLiteral","src":"402362:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"402356:5:21","nodeType":"YulIdentifier","src":"402356:5:21"},"nativeSrc":"402356:11:21","nodeType":"YulFunctionCall","src":"402356:11:21"},"variableNames":[{"name":"m4","nativeSrc":"402350:2:21","nodeType":"YulIdentifier","src":"402350:2:21"}]},{"nativeSrc":"402380:17:21","nodeType":"YulAssignment","src":"402380:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"402392:4:21","nodeType":"YulLiteral","src":"402392:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"402386:5:21","nodeType":"YulIdentifier","src":"402386:5:21"},"nativeSrc":"402386:11:21","nodeType":"YulFunctionCall","src":"402386:11:21"},"variableNames":[{"name":"m5","nativeSrc":"402380:2:21","nodeType":"YulIdentifier","src":"402380:2:21"}]},{"nativeSrc":"402410:17:21","nodeType":"YulAssignment","src":"402410:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"402422:4:21","nodeType":"YulLiteral","src":"402422:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"402416:5:21","nodeType":"YulIdentifier","src":"402416:5:21"},"nativeSrc":"402416:11:21","nodeType":"YulFunctionCall","src":"402416:11:21"},"variableNames":[{"name":"m6","nativeSrc":"402410:2:21","nodeType":"YulIdentifier","src":"402410:2:21"}]},{"nativeSrc":"402440:17:21","nodeType":"YulAssignment","src":"402440:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"402452:4:21","nodeType":"YulLiteral","src":"402452:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"402446:5:21","nodeType":"YulIdentifier","src":"402446:5:21"},"nativeSrc":"402446:11:21","nodeType":"YulFunctionCall","src":"402446:11:21"},"variableNames":[{"name":"m7","nativeSrc":"402440:2:21","nodeType":"YulIdentifier","src":"402440:2:21"}]},{"nativeSrc":"402470:18:21","nodeType":"YulAssignment","src":"402470:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"402482:5:21","nodeType":"YulLiteral","src":"402482:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"402476:5:21","nodeType":"YulIdentifier","src":"402476:5:21"},"nativeSrc":"402476:12:21","nodeType":"YulFunctionCall","src":"402476:12:21"},"variableNames":[{"name":"m8","nativeSrc":"402470:2:21","nodeType":"YulIdentifier","src":"402470:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402570:4:21","nodeType":"YulLiteral","src":"402570:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"402576:10:21","nodeType":"YulLiteral","src":"402576:10:21","type":"","value":"0x5ccd4e37"}],"functionName":{"name":"mstore","nativeSrc":"402563:6:21","nodeType":"YulIdentifier","src":"402563:6:21"},"nativeSrc":"402563:24:21","nodeType":"YulFunctionCall","src":"402563:24:21"},"nativeSrc":"402563:24:21","nodeType":"YulExpressionStatement","src":"402563:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402607:4:21","nodeType":"YulLiteral","src":"402607:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"402613:4:21","nodeType":"YulLiteral","src":"402613:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"402600:6:21","nodeType":"YulIdentifier","src":"402600:6:21"},"nativeSrc":"402600:18:21","nodeType":"YulFunctionCall","src":"402600:18:21"},"nativeSrc":"402600:18:21","nodeType":"YulExpressionStatement","src":"402600:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402638:4:21","nodeType":"YulLiteral","src":"402638:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"402644:4:21","nodeType":"YulLiteral","src":"402644:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"402631:6:21","nodeType":"YulIdentifier","src":"402631:6:21"},"nativeSrc":"402631:18:21","nodeType":"YulFunctionCall","src":"402631:18:21"},"nativeSrc":"402631:18:21","nodeType":"YulExpressionStatement","src":"402631:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402669:4:21","nodeType":"YulLiteral","src":"402669:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"402675:2:21","nodeType":"YulIdentifier","src":"402675:2:21"}],"functionName":{"name":"mstore","nativeSrc":"402662:6:21","nodeType":"YulIdentifier","src":"402662:6:21"},"nativeSrc":"402662:16:21","nodeType":"YulFunctionCall","src":"402662:16:21"},"nativeSrc":"402662:16:21","nodeType":"YulExpressionStatement","src":"402662:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402698:4:21","nodeType":"YulLiteral","src":"402698:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"402704:2:21","nodeType":"YulIdentifier","src":"402704:2:21"}],"functionName":{"name":"mstore","nativeSrc":"402691:6:21","nodeType":"YulIdentifier","src":"402691:6:21"},"nativeSrc":"402691:16:21","nodeType":"YulFunctionCall","src":"402691:16:21"},"nativeSrc":"402691:16:21","nodeType":"YulExpressionStatement","src":"402691:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402732:4:21","nodeType":"YulLiteral","src":"402732:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"402738:2:21","nodeType":"YulIdentifier","src":"402738:2:21"}],"functionName":{"name":"writeString","nativeSrc":"402720:11:21","nodeType":"YulIdentifier","src":"402720:11:21"},"nativeSrc":"402720:21:21","nodeType":"YulFunctionCall","src":"402720:21:21"},"nativeSrc":"402720:21:21","nodeType":"YulExpressionStatement","src":"402720:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402766:4:21","nodeType":"YulLiteral","src":"402766:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"402772:2:21","nodeType":"YulIdentifier","src":"402772:2:21"}],"functionName":{"name":"writeString","nativeSrc":"402754:11:21","nodeType":"YulIdentifier","src":"402754:11:21"},"nativeSrc":"402754:21:21","nodeType":"YulFunctionCall","src":"402754:21:21"},"nativeSrc":"402754:21:21","nodeType":"YulExpressionStatement","src":"402754:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39310,"isOffset":false,"isSlot":false,"src":"402230:2:21","valueSize":1},{"declaration":39313,"isOffset":false,"isSlot":false,"src":"402260:2:21","valueSize":1},{"declaration":39316,"isOffset":false,"isSlot":false,"src":"402290:2:21","valueSize":1},{"declaration":39319,"isOffset":false,"isSlot":false,"src":"402320:2:21","valueSize":1},{"declaration":39322,"isOffset":false,"isSlot":false,"src":"402350:2:21","valueSize":1},{"declaration":39325,"isOffset":false,"isSlot":false,"src":"402380:2:21","valueSize":1},{"declaration":39328,"isOffset":false,"isSlot":false,"src":"402410:2:21","valueSize":1},{"declaration":39331,"isOffset":false,"isSlot":false,"src":"402440:2:21","valueSize":1},{"declaration":39334,"isOffset":false,"isSlot":false,"src":"402470:2:21","valueSize":1},{"declaration":39300,"isOffset":false,"isSlot":false,"src":"402738:2:21","valueSize":1},{"declaration":39302,"isOffset":false,"isSlot":false,"src":"402772:2:21","valueSize":1},{"declaration":39304,"isOffset":false,"isSlot":false,"src":"402675:2:21","valueSize":1},{"declaration":39306,"isOffset":false,"isSlot":false,"src":"402704:2:21","valueSize":1}],"id":39336,"nodeType":"InlineAssembly","src":"401852:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"402810:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"402816:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39337,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"402794:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"402794:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39341,"nodeType":"ExpressionStatement","src":"402794:28:21"},{"AST":{"nativeSrc":"402884:273:21","nodeType":"YulBlock","src":"402884:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"402905:4:21","nodeType":"YulLiteral","src":"402905:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"402911:2:21","nodeType":"YulIdentifier","src":"402911:2:21"}],"functionName":{"name":"mstore","nativeSrc":"402898:6:21","nodeType":"YulIdentifier","src":"402898:6:21"},"nativeSrc":"402898:16:21","nodeType":"YulFunctionCall","src":"402898:16:21"},"nativeSrc":"402898:16:21","nodeType":"YulExpressionStatement","src":"402898:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402934:4:21","nodeType":"YulLiteral","src":"402934:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"402940:2:21","nodeType":"YulIdentifier","src":"402940:2:21"}],"functionName":{"name":"mstore","nativeSrc":"402927:6:21","nodeType":"YulIdentifier","src":"402927:6:21"},"nativeSrc":"402927:16:21","nodeType":"YulFunctionCall","src":"402927:16:21"},"nativeSrc":"402927:16:21","nodeType":"YulExpressionStatement","src":"402927:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402963:4:21","nodeType":"YulLiteral","src":"402963:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"402969:2:21","nodeType":"YulIdentifier","src":"402969:2:21"}],"functionName":{"name":"mstore","nativeSrc":"402956:6:21","nodeType":"YulIdentifier","src":"402956:6:21"},"nativeSrc":"402956:16:21","nodeType":"YulFunctionCall","src":"402956:16:21"},"nativeSrc":"402956:16:21","nodeType":"YulExpressionStatement","src":"402956:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402992:4:21","nodeType":"YulLiteral","src":"402992:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"402998:2:21","nodeType":"YulIdentifier","src":"402998:2:21"}],"functionName":{"name":"mstore","nativeSrc":"402985:6:21","nodeType":"YulIdentifier","src":"402985:6:21"},"nativeSrc":"402985:16:21","nodeType":"YulFunctionCall","src":"402985:16:21"},"nativeSrc":"402985:16:21","nodeType":"YulExpressionStatement","src":"402985:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403021:4:21","nodeType":"YulLiteral","src":"403021:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"403027:2:21","nodeType":"YulIdentifier","src":"403027:2:21"}],"functionName":{"name":"mstore","nativeSrc":"403014:6:21","nodeType":"YulIdentifier","src":"403014:6:21"},"nativeSrc":"403014:16:21","nodeType":"YulFunctionCall","src":"403014:16:21"},"nativeSrc":"403014:16:21","nodeType":"YulExpressionStatement","src":"403014:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403050:4:21","nodeType":"YulLiteral","src":"403050:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"403056:2:21","nodeType":"YulIdentifier","src":"403056:2:21"}],"functionName":{"name":"mstore","nativeSrc":"403043:6:21","nodeType":"YulIdentifier","src":"403043:6:21"},"nativeSrc":"403043:16:21","nodeType":"YulFunctionCall","src":"403043:16:21"},"nativeSrc":"403043:16:21","nodeType":"YulExpressionStatement","src":"403043:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403079:4:21","nodeType":"YulLiteral","src":"403079:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"403085:2:21","nodeType":"YulIdentifier","src":"403085:2:21"}],"functionName":{"name":"mstore","nativeSrc":"403072:6:21","nodeType":"YulIdentifier","src":"403072:6:21"},"nativeSrc":"403072:16:21","nodeType":"YulFunctionCall","src":"403072:16:21"},"nativeSrc":"403072:16:21","nodeType":"YulExpressionStatement","src":"403072:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403108:4:21","nodeType":"YulLiteral","src":"403108:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"403114:2:21","nodeType":"YulIdentifier","src":"403114:2:21"}],"functionName":{"name":"mstore","nativeSrc":"403101:6:21","nodeType":"YulIdentifier","src":"403101:6:21"},"nativeSrc":"403101:16:21","nodeType":"YulFunctionCall","src":"403101:16:21"},"nativeSrc":"403101:16:21","nodeType":"YulExpressionStatement","src":"403101:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403137:5:21","nodeType":"YulLiteral","src":"403137:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"403144:2:21","nodeType":"YulIdentifier","src":"403144:2:21"}],"functionName":{"name":"mstore","nativeSrc":"403130:6:21","nodeType":"YulIdentifier","src":"403130:6:21"},"nativeSrc":"403130:17:21","nodeType":"YulFunctionCall","src":"403130:17:21"},"nativeSrc":"403130:17:21","nodeType":"YulExpressionStatement","src":"403130:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39310,"isOffset":false,"isSlot":false,"src":"402911:2:21","valueSize":1},{"declaration":39313,"isOffset":false,"isSlot":false,"src":"402940:2:21","valueSize":1},{"declaration":39316,"isOffset":false,"isSlot":false,"src":"402969:2:21","valueSize":1},{"declaration":39319,"isOffset":false,"isSlot":false,"src":"402998:2:21","valueSize":1},{"declaration":39322,"isOffset":false,"isSlot":false,"src":"403027:2:21","valueSize":1},{"declaration":39325,"isOffset":false,"isSlot":false,"src":"403056:2:21","valueSize":1},{"declaration":39328,"isOffset":false,"isSlot":false,"src":"403085:2:21","valueSize":1},{"declaration":39331,"isOffset":false,"isSlot":false,"src":"403114:2:21","valueSize":1},{"declaration":39334,"isOffset":false,"isSlot":false,"src":"403144:2:21","valueSize":1}],"id":39342,"nodeType":"InlineAssembly","src":"402875:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"401556:3:21","parameters":{"id":39307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39300,"mutability":"mutable","name":"p0","nameLocation":"401568:2:21","nodeType":"VariableDeclaration","scope":39344,"src":"401560:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401560:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39302,"mutability":"mutable","name":"p1","nameLocation":"401580:2:21","nodeType":"VariableDeclaration","scope":39344,"src":"401572:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401572:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39304,"mutability":"mutable","name":"p2","nameLocation":"401592:2:21","nodeType":"VariableDeclaration","scope":39344,"src":"401584:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39303,"name":"address","nodeType":"ElementaryTypeName","src":"401584:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39306,"mutability":"mutable","name":"p3","nameLocation":"401601:2:21","nodeType":"VariableDeclaration","scope":39344,"src":"401596:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39305,"name":"bool","nodeType":"ElementaryTypeName","src":"401596:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"401559:45:21"},"returnParameters":{"id":39308,"nodeType":"ParameterList","parameters":[],"src":"401619:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39390,"nodeType":"FunctionDefinition","src":"403169:1622:21","nodes":[],"body":{"id":39389,"nodeType":"Block","src":"403244:1547:21","nodes":[],"statements":[{"assignments":[39356],"declarations":[{"constant":false,"id":39356,"mutability":"mutable","name":"m0","nameLocation":"403262:2:21","nodeType":"VariableDeclaration","scope":39389,"src":"403254:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403254:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39357,"nodeType":"VariableDeclarationStatement","src":"403254:10:21"},{"assignments":[39359],"declarations":[{"constant":false,"id":39359,"mutability":"mutable","name":"m1","nameLocation":"403282:2:21","nodeType":"VariableDeclaration","scope":39389,"src":"403274:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403274:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39360,"nodeType":"VariableDeclarationStatement","src":"403274:10:21"},{"assignments":[39362],"declarations":[{"constant":false,"id":39362,"mutability":"mutable","name":"m2","nameLocation":"403302:2:21","nodeType":"VariableDeclaration","scope":39389,"src":"403294:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403294:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39363,"nodeType":"VariableDeclarationStatement","src":"403294:10:21"},{"assignments":[39365],"declarations":[{"constant":false,"id":39365,"mutability":"mutable","name":"m3","nameLocation":"403322:2:21","nodeType":"VariableDeclaration","scope":39389,"src":"403314:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403314:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39366,"nodeType":"VariableDeclarationStatement","src":"403314:10:21"},{"assignments":[39368],"declarations":[{"constant":false,"id":39368,"mutability":"mutable","name":"m4","nameLocation":"403342:2:21","nodeType":"VariableDeclaration","scope":39389,"src":"403334:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403334:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39369,"nodeType":"VariableDeclarationStatement","src":"403334:10:21"},{"assignments":[39371],"declarations":[{"constant":false,"id":39371,"mutability":"mutable","name":"m5","nameLocation":"403362:2:21","nodeType":"VariableDeclaration","scope":39389,"src":"403354:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403354:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39372,"nodeType":"VariableDeclarationStatement","src":"403354:10:21"},{"assignments":[39374],"declarations":[{"constant":false,"id":39374,"mutability":"mutable","name":"m6","nameLocation":"403382:2:21","nodeType":"VariableDeclaration","scope":39389,"src":"403374:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403374:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39375,"nodeType":"VariableDeclarationStatement","src":"403374:10:21"},{"assignments":[39377],"declarations":[{"constant":false,"id":39377,"mutability":"mutable","name":"m7","nameLocation":"403402:2:21","nodeType":"VariableDeclaration","scope":39389,"src":"403394:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403394:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39378,"nodeType":"VariableDeclarationStatement","src":"403394:10:21"},{"assignments":[39380],"declarations":[{"constant":false,"id":39380,"mutability":"mutable","name":"m8","nameLocation":"403422:2:21","nodeType":"VariableDeclaration","scope":39389,"src":"403414:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403414:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39381,"nodeType":"VariableDeclarationStatement","src":"403414:10:21"},{"AST":{"nativeSrc":"403486:927:21","nodeType":"YulBlock","src":"403486:927:21","statements":[{"body":{"nativeSrc":"403529:313:21","nodeType":"YulBlock","src":"403529:313:21","statements":[{"nativeSrc":"403547:15:21","nodeType":"YulVariableDeclaration","src":"403547:15:21","value":{"kind":"number","nativeSrc":"403561:1:21","nodeType":"YulLiteral","src":"403561:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"403551:6:21","nodeType":"YulTypedName","src":"403551:6:21","type":""}]},{"body":{"nativeSrc":"403632:40:21","nodeType":"YulBlock","src":"403632:40:21","statements":[{"body":{"nativeSrc":"403661:9:21","nodeType":"YulBlock","src":"403661:9:21","statements":[{"nativeSrc":"403663:5:21","nodeType":"YulBreak","src":"403663:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"403649:6:21","nodeType":"YulIdentifier","src":"403649:6:21"},{"name":"w","nativeSrc":"403657:1:21","nodeType":"YulIdentifier","src":"403657:1:21"}],"functionName":{"name":"byte","nativeSrc":"403644:4:21","nodeType":"YulIdentifier","src":"403644:4:21"},"nativeSrc":"403644:15:21","nodeType":"YulFunctionCall","src":"403644:15:21"}],"functionName":{"name":"iszero","nativeSrc":"403637:6:21","nodeType":"YulIdentifier","src":"403637:6:21"},"nativeSrc":"403637:23:21","nodeType":"YulFunctionCall","src":"403637:23:21"},"nativeSrc":"403634:36:21","nodeType":"YulIf","src":"403634:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"403589:6:21","nodeType":"YulIdentifier","src":"403589:6:21"},{"kind":"number","nativeSrc":"403597:4:21","nodeType":"YulLiteral","src":"403597:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"403586:2:21","nodeType":"YulIdentifier","src":"403586:2:21"},"nativeSrc":"403586:16:21","nodeType":"YulFunctionCall","src":"403586:16:21"},"nativeSrc":"403579:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"403603:28:21","nodeType":"YulBlock","src":"403603:28:21","statements":[{"nativeSrc":"403605:24:21","nodeType":"YulAssignment","src":"403605:24:21","value":{"arguments":[{"name":"length","nativeSrc":"403619:6:21","nodeType":"YulIdentifier","src":"403619:6:21"},{"kind":"number","nativeSrc":"403627:1:21","nodeType":"YulLiteral","src":"403627:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"403615:3:21","nodeType":"YulIdentifier","src":"403615:3:21"},"nativeSrc":"403615:14:21","nodeType":"YulFunctionCall","src":"403615:14:21"},"variableNames":[{"name":"length","nativeSrc":"403605:6:21","nodeType":"YulIdentifier","src":"403605:6:21"}]}]},"pre":{"nativeSrc":"403583:2:21","nodeType":"YulBlock","src":"403583:2:21","statements":[]},"src":"403579:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"403696:3:21","nodeType":"YulIdentifier","src":"403696:3:21"},{"name":"length","nativeSrc":"403701:6:21","nodeType":"YulIdentifier","src":"403701:6:21"}],"functionName":{"name":"mstore","nativeSrc":"403689:6:21","nodeType":"YulIdentifier","src":"403689:6:21"},"nativeSrc":"403689:19:21","nodeType":"YulFunctionCall","src":"403689:19:21"},"nativeSrc":"403689:19:21","nodeType":"YulExpressionStatement","src":"403689:19:21"},{"nativeSrc":"403725:37:21","nodeType":"YulVariableDeclaration","src":"403725:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"403742:3:21","nodeType":"YulLiteral","src":"403742:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"403751:1:21","nodeType":"YulLiteral","src":"403751:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"403754:6:21","nodeType":"YulIdentifier","src":"403754:6:21"}],"functionName":{"name":"shl","nativeSrc":"403747:3:21","nodeType":"YulIdentifier","src":"403747:3:21"},"nativeSrc":"403747:14:21","nodeType":"YulFunctionCall","src":"403747:14:21"}],"functionName":{"name":"sub","nativeSrc":"403738:3:21","nodeType":"YulIdentifier","src":"403738:3:21"},"nativeSrc":"403738:24:21","nodeType":"YulFunctionCall","src":"403738:24:21"},"variables":[{"name":"shift","nativeSrc":"403729:5:21","nodeType":"YulTypedName","src":"403729:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"403790:3:21","nodeType":"YulIdentifier","src":"403790:3:21"},{"kind":"number","nativeSrc":"403795:4:21","nodeType":"YulLiteral","src":"403795:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"403786:3:21","nodeType":"YulIdentifier","src":"403786:3:21"},"nativeSrc":"403786:14:21","nodeType":"YulFunctionCall","src":"403786:14:21"},{"arguments":[{"name":"shift","nativeSrc":"403806:5:21","nodeType":"YulIdentifier","src":"403806:5:21"},{"arguments":[{"name":"shift","nativeSrc":"403817:5:21","nodeType":"YulIdentifier","src":"403817:5:21"},{"name":"w","nativeSrc":"403824:1:21","nodeType":"YulIdentifier","src":"403824:1:21"}],"functionName":{"name":"shr","nativeSrc":"403813:3:21","nodeType":"YulIdentifier","src":"403813:3:21"},"nativeSrc":"403813:13:21","nodeType":"YulFunctionCall","src":"403813:13:21"}],"functionName":{"name":"shl","nativeSrc":"403802:3:21","nodeType":"YulIdentifier","src":"403802:3:21"},"nativeSrc":"403802:25:21","nodeType":"YulFunctionCall","src":"403802:25:21"}],"functionName":{"name":"mstore","nativeSrc":"403779:6:21","nodeType":"YulIdentifier","src":"403779:6:21"},"nativeSrc":"403779:49:21","nodeType":"YulFunctionCall","src":"403779:49:21"},"nativeSrc":"403779:49:21","nodeType":"YulExpressionStatement","src":"403779:49:21"}]},"name":"writeString","nativeSrc":"403500:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"403521:3:21","nodeType":"YulTypedName","src":"403521:3:21","type":""},{"name":"w","nativeSrc":"403526:1:21","nodeType":"YulTypedName","src":"403526:1:21","type":""}],"src":"403500:342:21"},{"nativeSrc":"403855:17:21","nodeType":"YulAssignment","src":"403855:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"403867:4:21","nodeType":"YulLiteral","src":"403867:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"403861:5:21","nodeType":"YulIdentifier","src":"403861:5:21"},"nativeSrc":"403861:11:21","nodeType":"YulFunctionCall","src":"403861:11:21"},"variableNames":[{"name":"m0","nativeSrc":"403855:2:21","nodeType":"YulIdentifier","src":"403855:2:21"}]},{"nativeSrc":"403885:17:21","nodeType":"YulAssignment","src":"403885:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"403897:4:21","nodeType":"YulLiteral","src":"403897:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"403891:5:21","nodeType":"YulIdentifier","src":"403891:5:21"},"nativeSrc":"403891:11:21","nodeType":"YulFunctionCall","src":"403891:11:21"},"variableNames":[{"name":"m1","nativeSrc":"403885:2:21","nodeType":"YulIdentifier","src":"403885:2:21"}]},{"nativeSrc":"403915:17:21","nodeType":"YulAssignment","src":"403915:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"403927:4:21","nodeType":"YulLiteral","src":"403927:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"403921:5:21","nodeType":"YulIdentifier","src":"403921:5:21"},"nativeSrc":"403921:11:21","nodeType":"YulFunctionCall","src":"403921:11:21"},"variableNames":[{"name":"m2","nativeSrc":"403915:2:21","nodeType":"YulIdentifier","src":"403915:2:21"}]},{"nativeSrc":"403945:17:21","nodeType":"YulAssignment","src":"403945:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"403957:4:21","nodeType":"YulLiteral","src":"403957:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"403951:5:21","nodeType":"YulIdentifier","src":"403951:5:21"},"nativeSrc":"403951:11:21","nodeType":"YulFunctionCall","src":"403951:11:21"},"variableNames":[{"name":"m3","nativeSrc":"403945:2:21","nodeType":"YulIdentifier","src":"403945:2:21"}]},{"nativeSrc":"403975:17:21","nodeType":"YulAssignment","src":"403975:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"403987:4:21","nodeType":"YulLiteral","src":"403987:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"403981:5:21","nodeType":"YulIdentifier","src":"403981:5:21"},"nativeSrc":"403981:11:21","nodeType":"YulFunctionCall","src":"403981:11:21"},"variableNames":[{"name":"m4","nativeSrc":"403975:2:21","nodeType":"YulIdentifier","src":"403975:2:21"}]},{"nativeSrc":"404005:17:21","nodeType":"YulAssignment","src":"404005:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"404017:4:21","nodeType":"YulLiteral","src":"404017:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"404011:5:21","nodeType":"YulIdentifier","src":"404011:5:21"},"nativeSrc":"404011:11:21","nodeType":"YulFunctionCall","src":"404011:11:21"},"variableNames":[{"name":"m5","nativeSrc":"404005:2:21","nodeType":"YulIdentifier","src":"404005:2:21"}]},{"nativeSrc":"404035:17:21","nodeType":"YulAssignment","src":"404035:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"404047:4:21","nodeType":"YulLiteral","src":"404047:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"404041:5:21","nodeType":"YulIdentifier","src":"404041:5:21"},"nativeSrc":"404041:11:21","nodeType":"YulFunctionCall","src":"404041:11:21"},"variableNames":[{"name":"m6","nativeSrc":"404035:2:21","nodeType":"YulIdentifier","src":"404035:2:21"}]},{"nativeSrc":"404065:17:21","nodeType":"YulAssignment","src":"404065:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"404077:4:21","nodeType":"YulLiteral","src":"404077:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"404071:5:21","nodeType":"YulIdentifier","src":"404071:5:21"},"nativeSrc":"404071:11:21","nodeType":"YulFunctionCall","src":"404071:11:21"},"variableNames":[{"name":"m7","nativeSrc":"404065:2:21","nodeType":"YulIdentifier","src":"404065:2:21"}]},{"nativeSrc":"404095:18:21","nodeType":"YulAssignment","src":"404095:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"404107:5:21","nodeType":"YulLiteral","src":"404107:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"404101:5:21","nodeType":"YulIdentifier","src":"404101:5:21"},"nativeSrc":"404101:12:21","nodeType":"YulFunctionCall","src":"404101:12:21"},"variableNames":[{"name":"m8","nativeSrc":"404095:2:21","nodeType":"YulIdentifier","src":"404095:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404198:4:21","nodeType":"YulLiteral","src":"404198:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"404204:10:21","nodeType":"YulLiteral","src":"404204:10:21","type":"","value":"0x7cc3c607"}],"functionName":{"name":"mstore","nativeSrc":"404191:6:21","nodeType":"YulIdentifier","src":"404191:6:21"},"nativeSrc":"404191:24:21","nodeType":"YulFunctionCall","src":"404191:24:21"},"nativeSrc":"404191:24:21","nodeType":"YulExpressionStatement","src":"404191:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404235:4:21","nodeType":"YulLiteral","src":"404235:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"404241:4:21","nodeType":"YulLiteral","src":"404241:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"404228:6:21","nodeType":"YulIdentifier","src":"404228:6:21"},"nativeSrc":"404228:18:21","nodeType":"YulFunctionCall","src":"404228:18:21"},"nativeSrc":"404228:18:21","nodeType":"YulExpressionStatement","src":"404228:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404266:4:21","nodeType":"YulLiteral","src":"404266:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"404272:4:21","nodeType":"YulLiteral","src":"404272:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"404259:6:21","nodeType":"YulIdentifier","src":"404259:6:21"},"nativeSrc":"404259:18:21","nodeType":"YulFunctionCall","src":"404259:18:21"},"nativeSrc":"404259:18:21","nodeType":"YulExpressionStatement","src":"404259:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404297:4:21","nodeType":"YulLiteral","src":"404297:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"404303:2:21","nodeType":"YulIdentifier","src":"404303:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404290:6:21","nodeType":"YulIdentifier","src":"404290:6:21"},"nativeSrc":"404290:16:21","nodeType":"YulFunctionCall","src":"404290:16:21"},"nativeSrc":"404290:16:21","nodeType":"YulExpressionStatement","src":"404290:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404326:4:21","nodeType":"YulLiteral","src":"404326:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"404332:2:21","nodeType":"YulIdentifier","src":"404332:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404319:6:21","nodeType":"YulIdentifier","src":"404319:6:21"},"nativeSrc":"404319:16:21","nodeType":"YulFunctionCall","src":"404319:16:21"},"nativeSrc":"404319:16:21","nodeType":"YulExpressionStatement","src":"404319:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404360:4:21","nodeType":"YulLiteral","src":"404360:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"404366:2:21","nodeType":"YulIdentifier","src":"404366:2:21"}],"functionName":{"name":"writeString","nativeSrc":"404348:11:21","nodeType":"YulIdentifier","src":"404348:11:21"},"nativeSrc":"404348:21:21","nodeType":"YulFunctionCall","src":"404348:21:21"},"nativeSrc":"404348:21:21","nodeType":"YulExpressionStatement","src":"404348:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404394:4:21","nodeType":"YulLiteral","src":"404394:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"404400:2:21","nodeType":"YulIdentifier","src":"404400:2:21"}],"functionName":{"name":"writeString","nativeSrc":"404382:11:21","nodeType":"YulIdentifier","src":"404382:11:21"},"nativeSrc":"404382:21:21","nodeType":"YulFunctionCall","src":"404382:21:21"},"nativeSrc":"404382:21:21","nodeType":"YulExpressionStatement","src":"404382:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39356,"isOffset":false,"isSlot":false,"src":"403855:2:21","valueSize":1},{"declaration":39359,"isOffset":false,"isSlot":false,"src":"403885:2:21","valueSize":1},{"declaration":39362,"isOffset":false,"isSlot":false,"src":"403915:2:21","valueSize":1},{"declaration":39365,"isOffset":false,"isSlot":false,"src":"403945:2:21","valueSize":1},{"declaration":39368,"isOffset":false,"isSlot":false,"src":"403975:2:21","valueSize":1},{"declaration":39371,"isOffset":false,"isSlot":false,"src":"404005:2:21","valueSize":1},{"declaration":39374,"isOffset":false,"isSlot":false,"src":"404035:2:21","valueSize":1},{"declaration":39377,"isOffset":false,"isSlot":false,"src":"404065:2:21","valueSize":1},{"declaration":39380,"isOffset":false,"isSlot":false,"src":"404095:2:21","valueSize":1},{"declaration":39346,"isOffset":false,"isSlot":false,"src":"404366:2:21","valueSize":1},{"declaration":39348,"isOffset":false,"isSlot":false,"src":"404400:2:21","valueSize":1},{"declaration":39350,"isOffset":false,"isSlot":false,"src":"404303:2:21","valueSize":1},{"declaration":39352,"isOffset":false,"isSlot":false,"src":"404332:2:21","valueSize":1}],"id":39382,"nodeType":"InlineAssembly","src":"403477:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404438:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404444:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39383,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"404422:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"404422:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39387,"nodeType":"ExpressionStatement","src":"404422:28:21"},{"AST":{"nativeSrc":"404512:273:21","nodeType":"YulBlock","src":"404512:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"404533:4:21","nodeType":"YulLiteral","src":"404533:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"404539:2:21","nodeType":"YulIdentifier","src":"404539:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404526:6:21","nodeType":"YulIdentifier","src":"404526:6:21"},"nativeSrc":"404526:16:21","nodeType":"YulFunctionCall","src":"404526:16:21"},"nativeSrc":"404526:16:21","nodeType":"YulExpressionStatement","src":"404526:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404562:4:21","nodeType":"YulLiteral","src":"404562:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"404568:2:21","nodeType":"YulIdentifier","src":"404568:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404555:6:21","nodeType":"YulIdentifier","src":"404555:6:21"},"nativeSrc":"404555:16:21","nodeType":"YulFunctionCall","src":"404555:16:21"},"nativeSrc":"404555:16:21","nodeType":"YulExpressionStatement","src":"404555:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404591:4:21","nodeType":"YulLiteral","src":"404591:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"404597:2:21","nodeType":"YulIdentifier","src":"404597:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404584:6:21","nodeType":"YulIdentifier","src":"404584:6:21"},"nativeSrc":"404584:16:21","nodeType":"YulFunctionCall","src":"404584:16:21"},"nativeSrc":"404584:16:21","nodeType":"YulExpressionStatement","src":"404584:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404620:4:21","nodeType":"YulLiteral","src":"404620:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"404626:2:21","nodeType":"YulIdentifier","src":"404626:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404613:6:21","nodeType":"YulIdentifier","src":"404613:6:21"},"nativeSrc":"404613:16:21","nodeType":"YulFunctionCall","src":"404613:16:21"},"nativeSrc":"404613:16:21","nodeType":"YulExpressionStatement","src":"404613:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404649:4:21","nodeType":"YulLiteral","src":"404649:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"404655:2:21","nodeType":"YulIdentifier","src":"404655:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404642:6:21","nodeType":"YulIdentifier","src":"404642:6:21"},"nativeSrc":"404642:16:21","nodeType":"YulFunctionCall","src":"404642:16:21"},"nativeSrc":"404642:16:21","nodeType":"YulExpressionStatement","src":"404642:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404678:4:21","nodeType":"YulLiteral","src":"404678:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"404684:2:21","nodeType":"YulIdentifier","src":"404684:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404671:6:21","nodeType":"YulIdentifier","src":"404671:6:21"},"nativeSrc":"404671:16:21","nodeType":"YulFunctionCall","src":"404671:16:21"},"nativeSrc":"404671:16:21","nodeType":"YulExpressionStatement","src":"404671:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404707:4:21","nodeType":"YulLiteral","src":"404707:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"404713:2:21","nodeType":"YulIdentifier","src":"404713:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404700:6:21","nodeType":"YulIdentifier","src":"404700:6:21"},"nativeSrc":"404700:16:21","nodeType":"YulFunctionCall","src":"404700:16:21"},"nativeSrc":"404700:16:21","nodeType":"YulExpressionStatement","src":"404700:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404736:4:21","nodeType":"YulLiteral","src":"404736:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"404742:2:21","nodeType":"YulIdentifier","src":"404742:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404729:6:21","nodeType":"YulIdentifier","src":"404729:6:21"},"nativeSrc":"404729:16:21","nodeType":"YulFunctionCall","src":"404729:16:21"},"nativeSrc":"404729:16:21","nodeType":"YulExpressionStatement","src":"404729:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404765:5:21","nodeType":"YulLiteral","src":"404765:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"404772:2:21","nodeType":"YulIdentifier","src":"404772:2:21"}],"functionName":{"name":"mstore","nativeSrc":"404758:6:21","nodeType":"YulIdentifier","src":"404758:6:21"},"nativeSrc":"404758:17:21","nodeType":"YulFunctionCall","src":"404758:17:21"},"nativeSrc":"404758:17:21","nodeType":"YulExpressionStatement","src":"404758:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39356,"isOffset":false,"isSlot":false,"src":"404539:2:21","valueSize":1},{"declaration":39359,"isOffset":false,"isSlot":false,"src":"404568:2:21","valueSize":1},{"declaration":39362,"isOffset":false,"isSlot":false,"src":"404597:2:21","valueSize":1},{"declaration":39365,"isOffset":false,"isSlot":false,"src":"404626:2:21","valueSize":1},{"declaration":39368,"isOffset":false,"isSlot":false,"src":"404655:2:21","valueSize":1},{"declaration":39371,"isOffset":false,"isSlot":false,"src":"404684:2:21","valueSize":1},{"declaration":39374,"isOffset":false,"isSlot":false,"src":"404713:2:21","valueSize":1},{"declaration":39377,"isOffset":false,"isSlot":false,"src":"404742:2:21","valueSize":1},{"declaration":39380,"isOffset":false,"isSlot":false,"src":"404772:2:21","valueSize":1}],"id":39388,"nodeType":"InlineAssembly","src":"404503:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"403178:3:21","parameters":{"id":39353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39346,"mutability":"mutable","name":"p0","nameLocation":"403190:2:21","nodeType":"VariableDeclaration","scope":39390,"src":"403182:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403182:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39348,"mutability":"mutable","name":"p1","nameLocation":"403202:2:21","nodeType":"VariableDeclaration","scope":39390,"src":"403194:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403194:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39350,"mutability":"mutable","name":"p2","nameLocation":"403214:2:21","nodeType":"VariableDeclaration","scope":39390,"src":"403206:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39349,"name":"address","nodeType":"ElementaryTypeName","src":"403206:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39352,"mutability":"mutable","name":"p3","nameLocation":"403226:2:21","nodeType":"VariableDeclaration","scope":39390,"src":"403218:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39351,"name":"uint256","nodeType":"ElementaryTypeName","src":"403218:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"403181:48:21"},"returnParameters":{"id":39354,"nodeType":"ParameterList","parameters":[],"src":"403244:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39442,"nodeType":"FunctionDefinition","src":"404797:1824:21","nodes":[],"body":{"id":39441,"nodeType":"Block","src":"404872:1749:21","nodes":[],"statements":[{"assignments":[39402],"declarations":[{"constant":false,"id":39402,"mutability":"mutable","name":"m0","nameLocation":"404890:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"404882:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404882:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39403,"nodeType":"VariableDeclarationStatement","src":"404882:10:21"},{"assignments":[39405],"declarations":[{"constant":false,"id":39405,"mutability":"mutable","name":"m1","nameLocation":"404910:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"404902:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404902:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39406,"nodeType":"VariableDeclarationStatement","src":"404902:10:21"},{"assignments":[39408],"declarations":[{"constant":false,"id":39408,"mutability":"mutable","name":"m2","nameLocation":"404930:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"404922:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39407,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404922:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39409,"nodeType":"VariableDeclarationStatement","src":"404922:10:21"},{"assignments":[39411],"declarations":[{"constant":false,"id":39411,"mutability":"mutable","name":"m3","nameLocation":"404950:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"404942:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404942:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39412,"nodeType":"VariableDeclarationStatement","src":"404942:10:21"},{"assignments":[39414],"declarations":[{"constant":false,"id":39414,"mutability":"mutable","name":"m4","nameLocation":"404970:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"404962:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404962:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39415,"nodeType":"VariableDeclarationStatement","src":"404962:10:21"},{"assignments":[39417],"declarations":[{"constant":false,"id":39417,"mutability":"mutable","name":"m5","nameLocation":"404990:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"404982:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404982:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39418,"nodeType":"VariableDeclarationStatement","src":"404982:10:21"},{"assignments":[39420],"declarations":[{"constant":false,"id":39420,"mutability":"mutable","name":"m6","nameLocation":"405010:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"405002:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405002:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39421,"nodeType":"VariableDeclarationStatement","src":"405002:10:21"},{"assignments":[39423],"declarations":[{"constant":false,"id":39423,"mutability":"mutable","name":"m7","nameLocation":"405030:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"405022:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405022:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39424,"nodeType":"VariableDeclarationStatement","src":"405022:10:21"},{"assignments":[39426],"declarations":[{"constant":false,"id":39426,"mutability":"mutable","name":"m8","nameLocation":"405050:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"405042:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405042:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39427,"nodeType":"VariableDeclarationStatement","src":"405042:10:21"},{"assignments":[39429],"declarations":[{"constant":false,"id":39429,"mutability":"mutable","name":"m9","nameLocation":"405070:2:21","nodeType":"VariableDeclaration","scope":39441,"src":"405062:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405062:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39430,"nodeType":"VariableDeclarationStatement","src":"405062:10:21"},{"assignments":[39432],"declarations":[{"constant":false,"id":39432,"mutability":"mutable","name":"m10","nameLocation":"405090:3:21","nodeType":"VariableDeclaration","scope":39441,"src":"405082:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405082:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39433,"nodeType":"VariableDeclarationStatement","src":"405082:11:21"},{"AST":{"nativeSrc":"405155:1027:21","nodeType":"YulBlock","src":"405155:1027:21","statements":[{"body":{"nativeSrc":"405198:313:21","nodeType":"YulBlock","src":"405198:313:21","statements":[{"nativeSrc":"405216:15:21","nodeType":"YulVariableDeclaration","src":"405216:15:21","value":{"kind":"number","nativeSrc":"405230:1:21","nodeType":"YulLiteral","src":"405230:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"405220:6:21","nodeType":"YulTypedName","src":"405220:6:21","type":""}]},{"body":{"nativeSrc":"405301:40:21","nodeType":"YulBlock","src":"405301:40:21","statements":[{"body":{"nativeSrc":"405330:9:21","nodeType":"YulBlock","src":"405330:9:21","statements":[{"nativeSrc":"405332:5:21","nodeType":"YulBreak","src":"405332:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"405318:6:21","nodeType":"YulIdentifier","src":"405318:6:21"},{"name":"w","nativeSrc":"405326:1:21","nodeType":"YulIdentifier","src":"405326:1:21"}],"functionName":{"name":"byte","nativeSrc":"405313:4:21","nodeType":"YulIdentifier","src":"405313:4:21"},"nativeSrc":"405313:15:21","nodeType":"YulFunctionCall","src":"405313:15:21"}],"functionName":{"name":"iszero","nativeSrc":"405306:6:21","nodeType":"YulIdentifier","src":"405306:6:21"},"nativeSrc":"405306:23:21","nodeType":"YulFunctionCall","src":"405306:23:21"},"nativeSrc":"405303:36:21","nodeType":"YulIf","src":"405303:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"405258:6:21","nodeType":"YulIdentifier","src":"405258:6:21"},{"kind":"number","nativeSrc":"405266:4:21","nodeType":"YulLiteral","src":"405266:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"405255:2:21","nodeType":"YulIdentifier","src":"405255:2:21"},"nativeSrc":"405255:16:21","nodeType":"YulFunctionCall","src":"405255:16:21"},"nativeSrc":"405248:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"405272:28:21","nodeType":"YulBlock","src":"405272:28:21","statements":[{"nativeSrc":"405274:24:21","nodeType":"YulAssignment","src":"405274:24:21","value":{"arguments":[{"name":"length","nativeSrc":"405288:6:21","nodeType":"YulIdentifier","src":"405288:6:21"},{"kind":"number","nativeSrc":"405296:1:21","nodeType":"YulLiteral","src":"405296:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"405284:3:21","nodeType":"YulIdentifier","src":"405284:3:21"},"nativeSrc":"405284:14:21","nodeType":"YulFunctionCall","src":"405284:14:21"},"variableNames":[{"name":"length","nativeSrc":"405274:6:21","nodeType":"YulIdentifier","src":"405274:6:21"}]}]},"pre":{"nativeSrc":"405252:2:21","nodeType":"YulBlock","src":"405252:2:21","statements":[]},"src":"405248:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"405365:3:21","nodeType":"YulIdentifier","src":"405365:3:21"},{"name":"length","nativeSrc":"405370:6:21","nodeType":"YulIdentifier","src":"405370:6:21"}],"functionName":{"name":"mstore","nativeSrc":"405358:6:21","nodeType":"YulIdentifier","src":"405358:6:21"},"nativeSrc":"405358:19:21","nodeType":"YulFunctionCall","src":"405358:19:21"},"nativeSrc":"405358:19:21","nodeType":"YulExpressionStatement","src":"405358:19:21"},{"nativeSrc":"405394:37:21","nodeType":"YulVariableDeclaration","src":"405394:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"405411:3:21","nodeType":"YulLiteral","src":"405411:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"405420:1:21","nodeType":"YulLiteral","src":"405420:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"405423:6:21","nodeType":"YulIdentifier","src":"405423:6:21"}],"functionName":{"name":"shl","nativeSrc":"405416:3:21","nodeType":"YulIdentifier","src":"405416:3:21"},"nativeSrc":"405416:14:21","nodeType":"YulFunctionCall","src":"405416:14:21"}],"functionName":{"name":"sub","nativeSrc":"405407:3:21","nodeType":"YulIdentifier","src":"405407:3:21"},"nativeSrc":"405407:24:21","nodeType":"YulFunctionCall","src":"405407:24:21"},"variables":[{"name":"shift","nativeSrc":"405398:5:21","nodeType":"YulTypedName","src":"405398:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"405459:3:21","nodeType":"YulIdentifier","src":"405459:3:21"},{"kind":"number","nativeSrc":"405464:4:21","nodeType":"YulLiteral","src":"405464:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"405455:3:21","nodeType":"YulIdentifier","src":"405455:3:21"},"nativeSrc":"405455:14:21","nodeType":"YulFunctionCall","src":"405455:14:21"},{"arguments":[{"name":"shift","nativeSrc":"405475:5:21","nodeType":"YulIdentifier","src":"405475:5:21"},{"arguments":[{"name":"shift","nativeSrc":"405486:5:21","nodeType":"YulIdentifier","src":"405486:5:21"},{"name":"w","nativeSrc":"405493:1:21","nodeType":"YulIdentifier","src":"405493:1:21"}],"functionName":{"name":"shr","nativeSrc":"405482:3:21","nodeType":"YulIdentifier","src":"405482:3:21"},"nativeSrc":"405482:13:21","nodeType":"YulFunctionCall","src":"405482:13:21"}],"functionName":{"name":"shl","nativeSrc":"405471:3:21","nodeType":"YulIdentifier","src":"405471:3:21"},"nativeSrc":"405471:25:21","nodeType":"YulFunctionCall","src":"405471:25:21"}],"functionName":{"name":"mstore","nativeSrc":"405448:6:21","nodeType":"YulIdentifier","src":"405448:6:21"},"nativeSrc":"405448:49:21","nodeType":"YulFunctionCall","src":"405448:49:21"},"nativeSrc":"405448:49:21","nodeType":"YulExpressionStatement","src":"405448:49:21"}]},"name":"writeString","nativeSrc":"405169:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"405190:3:21","nodeType":"YulTypedName","src":"405190:3:21","type":""},{"name":"w","nativeSrc":"405195:1:21","nodeType":"YulTypedName","src":"405195:1:21","type":""}],"src":"405169:342:21"},{"nativeSrc":"405524:17:21","nodeType":"YulAssignment","src":"405524:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"405536:4:21","nodeType":"YulLiteral","src":"405536:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"405530:5:21","nodeType":"YulIdentifier","src":"405530:5:21"},"nativeSrc":"405530:11:21","nodeType":"YulFunctionCall","src":"405530:11:21"},"variableNames":[{"name":"m0","nativeSrc":"405524:2:21","nodeType":"YulIdentifier","src":"405524:2:21"}]},{"nativeSrc":"405554:17:21","nodeType":"YulAssignment","src":"405554:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"405566:4:21","nodeType":"YulLiteral","src":"405566:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"405560:5:21","nodeType":"YulIdentifier","src":"405560:5:21"},"nativeSrc":"405560:11:21","nodeType":"YulFunctionCall","src":"405560:11:21"},"variableNames":[{"name":"m1","nativeSrc":"405554:2:21","nodeType":"YulIdentifier","src":"405554:2:21"}]},{"nativeSrc":"405584:17:21","nodeType":"YulAssignment","src":"405584:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"405596:4:21","nodeType":"YulLiteral","src":"405596:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"405590:5:21","nodeType":"YulIdentifier","src":"405590:5:21"},"nativeSrc":"405590:11:21","nodeType":"YulFunctionCall","src":"405590:11:21"},"variableNames":[{"name":"m2","nativeSrc":"405584:2:21","nodeType":"YulIdentifier","src":"405584:2:21"}]},{"nativeSrc":"405614:17:21","nodeType":"YulAssignment","src":"405614:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"405626:4:21","nodeType":"YulLiteral","src":"405626:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"405620:5:21","nodeType":"YulIdentifier","src":"405620:5:21"},"nativeSrc":"405620:11:21","nodeType":"YulFunctionCall","src":"405620:11:21"},"variableNames":[{"name":"m3","nativeSrc":"405614:2:21","nodeType":"YulIdentifier","src":"405614:2:21"}]},{"nativeSrc":"405644:17:21","nodeType":"YulAssignment","src":"405644:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"405656:4:21","nodeType":"YulLiteral","src":"405656:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"405650:5:21","nodeType":"YulIdentifier","src":"405650:5:21"},"nativeSrc":"405650:11:21","nodeType":"YulFunctionCall","src":"405650:11:21"},"variableNames":[{"name":"m4","nativeSrc":"405644:2:21","nodeType":"YulIdentifier","src":"405644:2:21"}]},{"nativeSrc":"405674:17:21","nodeType":"YulAssignment","src":"405674:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"405686:4:21","nodeType":"YulLiteral","src":"405686:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"405680:5:21","nodeType":"YulIdentifier","src":"405680:5:21"},"nativeSrc":"405680:11:21","nodeType":"YulFunctionCall","src":"405680:11:21"},"variableNames":[{"name":"m5","nativeSrc":"405674:2:21","nodeType":"YulIdentifier","src":"405674:2:21"}]},{"nativeSrc":"405704:17:21","nodeType":"YulAssignment","src":"405704:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"405716:4:21","nodeType":"YulLiteral","src":"405716:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"405710:5:21","nodeType":"YulIdentifier","src":"405710:5:21"},"nativeSrc":"405710:11:21","nodeType":"YulFunctionCall","src":"405710:11:21"},"variableNames":[{"name":"m6","nativeSrc":"405704:2:21","nodeType":"YulIdentifier","src":"405704:2:21"}]},{"nativeSrc":"405734:17:21","nodeType":"YulAssignment","src":"405734:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"405746:4:21","nodeType":"YulLiteral","src":"405746:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"405740:5:21","nodeType":"YulIdentifier","src":"405740:5:21"},"nativeSrc":"405740:11:21","nodeType":"YulFunctionCall","src":"405740:11:21"},"variableNames":[{"name":"m7","nativeSrc":"405734:2:21","nodeType":"YulIdentifier","src":"405734:2:21"}]},{"nativeSrc":"405764:18:21","nodeType":"YulAssignment","src":"405764:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"405776:5:21","nodeType":"YulLiteral","src":"405776:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"405770:5:21","nodeType":"YulIdentifier","src":"405770:5:21"},"nativeSrc":"405770:12:21","nodeType":"YulFunctionCall","src":"405770:12:21"},"variableNames":[{"name":"m8","nativeSrc":"405764:2:21","nodeType":"YulIdentifier","src":"405764:2:21"}]},{"nativeSrc":"405795:18:21","nodeType":"YulAssignment","src":"405795:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"405807:5:21","nodeType":"YulLiteral","src":"405807:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"405801:5:21","nodeType":"YulIdentifier","src":"405801:5:21"},"nativeSrc":"405801:12:21","nodeType":"YulFunctionCall","src":"405801:12:21"},"variableNames":[{"name":"m9","nativeSrc":"405795:2:21","nodeType":"YulIdentifier","src":"405795:2:21"}]},{"nativeSrc":"405826:19:21","nodeType":"YulAssignment","src":"405826:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"405839:5:21","nodeType":"YulLiteral","src":"405839:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"405833:5:21","nodeType":"YulIdentifier","src":"405833:5:21"},"nativeSrc":"405833:12:21","nodeType":"YulFunctionCall","src":"405833:12:21"},"variableNames":[{"name":"m10","nativeSrc":"405826:3:21","nodeType":"YulIdentifier","src":"405826:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"405929:4:21","nodeType":"YulLiteral","src":"405929:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"405935:10:21","nodeType":"YulLiteral","src":"405935:10:21","type":"","value":"0xeb1bff80"}],"functionName":{"name":"mstore","nativeSrc":"405922:6:21","nodeType":"YulIdentifier","src":"405922:6:21"},"nativeSrc":"405922:24:21","nodeType":"YulFunctionCall","src":"405922:24:21"},"nativeSrc":"405922:24:21","nodeType":"YulExpressionStatement","src":"405922:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"405966:4:21","nodeType":"YulLiteral","src":"405966:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"405972:4:21","nodeType":"YulLiteral","src":"405972:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"405959:6:21","nodeType":"YulIdentifier","src":"405959:6:21"},"nativeSrc":"405959:18:21","nodeType":"YulFunctionCall","src":"405959:18:21"},"nativeSrc":"405959:18:21","nodeType":"YulExpressionStatement","src":"405959:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"405997:4:21","nodeType":"YulLiteral","src":"405997:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"406003:4:21","nodeType":"YulLiteral","src":"406003:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"405990:6:21","nodeType":"YulIdentifier","src":"405990:6:21"},"nativeSrc":"405990:18:21","nodeType":"YulFunctionCall","src":"405990:18:21"},"nativeSrc":"405990:18:21","nodeType":"YulExpressionStatement","src":"405990:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406028:4:21","nodeType":"YulLiteral","src":"406028:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"406034:2:21","nodeType":"YulIdentifier","src":"406034:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406021:6:21","nodeType":"YulIdentifier","src":"406021:6:21"},"nativeSrc":"406021:16:21","nodeType":"YulFunctionCall","src":"406021:16:21"},"nativeSrc":"406021:16:21","nodeType":"YulExpressionStatement","src":"406021:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406057:4:21","nodeType":"YulLiteral","src":"406057:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"406063:5:21","nodeType":"YulLiteral","src":"406063:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"406050:6:21","nodeType":"YulIdentifier","src":"406050:6:21"},"nativeSrc":"406050:19:21","nodeType":"YulFunctionCall","src":"406050:19:21"},"nativeSrc":"406050:19:21","nodeType":"YulExpressionStatement","src":"406050:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406094:4:21","nodeType":"YulLiteral","src":"406094:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"406100:2:21","nodeType":"YulIdentifier","src":"406100:2:21"}],"functionName":{"name":"writeString","nativeSrc":"406082:11:21","nodeType":"YulIdentifier","src":"406082:11:21"},"nativeSrc":"406082:21:21","nodeType":"YulFunctionCall","src":"406082:21:21"},"nativeSrc":"406082:21:21","nodeType":"YulExpressionStatement","src":"406082:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406128:4:21","nodeType":"YulLiteral","src":"406128:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"406134:2:21","nodeType":"YulIdentifier","src":"406134:2:21"}],"functionName":{"name":"writeString","nativeSrc":"406116:11:21","nodeType":"YulIdentifier","src":"406116:11:21"},"nativeSrc":"406116:21:21","nodeType":"YulFunctionCall","src":"406116:21:21"},"nativeSrc":"406116:21:21","nodeType":"YulExpressionStatement","src":"406116:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406162:5:21","nodeType":"YulLiteral","src":"406162:5:21","type":"","value":"0x120"},{"name":"p3","nativeSrc":"406169:2:21","nodeType":"YulIdentifier","src":"406169:2:21"}],"functionName":{"name":"writeString","nativeSrc":"406150:11:21","nodeType":"YulIdentifier","src":"406150:11:21"},"nativeSrc":"406150:22:21","nodeType":"YulFunctionCall","src":"406150:22:21"},"nativeSrc":"406150:22:21","nodeType":"YulExpressionStatement","src":"406150:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39402,"isOffset":false,"isSlot":false,"src":"405524:2:21","valueSize":1},{"declaration":39405,"isOffset":false,"isSlot":false,"src":"405554:2:21","valueSize":1},{"declaration":39432,"isOffset":false,"isSlot":false,"src":"405826:3:21","valueSize":1},{"declaration":39408,"isOffset":false,"isSlot":false,"src":"405584:2:21","valueSize":1},{"declaration":39411,"isOffset":false,"isSlot":false,"src":"405614:2:21","valueSize":1},{"declaration":39414,"isOffset":false,"isSlot":false,"src":"405644:2:21","valueSize":1},{"declaration":39417,"isOffset":false,"isSlot":false,"src":"405674:2:21","valueSize":1},{"declaration":39420,"isOffset":false,"isSlot":false,"src":"405704:2:21","valueSize":1},{"declaration":39423,"isOffset":false,"isSlot":false,"src":"405734:2:21","valueSize":1},{"declaration":39426,"isOffset":false,"isSlot":false,"src":"405764:2:21","valueSize":1},{"declaration":39429,"isOffset":false,"isSlot":false,"src":"405795:2:21","valueSize":1},{"declaration":39392,"isOffset":false,"isSlot":false,"src":"406100:2:21","valueSize":1},{"declaration":39394,"isOffset":false,"isSlot":false,"src":"406134:2:21","valueSize":1},{"declaration":39396,"isOffset":false,"isSlot":false,"src":"406034:2:21","valueSize":1},{"declaration":39398,"isOffset":false,"isSlot":false,"src":"406169:2:21","valueSize":1}],"id":39434,"nodeType":"InlineAssembly","src":"405146:1036:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"406207:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"406213:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"406191:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"406191:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39439,"nodeType":"ExpressionStatement","src":"406191:28:21"},{"AST":{"nativeSrc":"406281:334:21","nodeType":"YulBlock","src":"406281:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"406302:4:21","nodeType":"YulLiteral","src":"406302:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"406308:2:21","nodeType":"YulIdentifier","src":"406308:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406295:6:21","nodeType":"YulIdentifier","src":"406295:6:21"},"nativeSrc":"406295:16:21","nodeType":"YulFunctionCall","src":"406295:16:21"},"nativeSrc":"406295:16:21","nodeType":"YulExpressionStatement","src":"406295:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406331:4:21","nodeType":"YulLiteral","src":"406331:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"406337:2:21","nodeType":"YulIdentifier","src":"406337:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406324:6:21","nodeType":"YulIdentifier","src":"406324:6:21"},"nativeSrc":"406324:16:21","nodeType":"YulFunctionCall","src":"406324:16:21"},"nativeSrc":"406324:16:21","nodeType":"YulExpressionStatement","src":"406324:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406360:4:21","nodeType":"YulLiteral","src":"406360:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"406366:2:21","nodeType":"YulIdentifier","src":"406366:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406353:6:21","nodeType":"YulIdentifier","src":"406353:6:21"},"nativeSrc":"406353:16:21","nodeType":"YulFunctionCall","src":"406353:16:21"},"nativeSrc":"406353:16:21","nodeType":"YulExpressionStatement","src":"406353:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406389:4:21","nodeType":"YulLiteral","src":"406389:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"406395:2:21","nodeType":"YulIdentifier","src":"406395:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406382:6:21","nodeType":"YulIdentifier","src":"406382:6:21"},"nativeSrc":"406382:16:21","nodeType":"YulFunctionCall","src":"406382:16:21"},"nativeSrc":"406382:16:21","nodeType":"YulExpressionStatement","src":"406382:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406418:4:21","nodeType":"YulLiteral","src":"406418:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"406424:2:21","nodeType":"YulIdentifier","src":"406424:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406411:6:21","nodeType":"YulIdentifier","src":"406411:6:21"},"nativeSrc":"406411:16:21","nodeType":"YulFunctionCall","src":"406411:16:21"},"nativeSrc":"406411:16:21","nodeType":"YulExpressionStatement","src":"406411:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406447:4:21","nodeType":"YulLiteral","src":"406447:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"406453:2:21","nodeType":"YulIdentifier","src":"406453:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406440:6:21","nodeType":"YulIdentifier","src":"406440:6:21"},"nativeSrc":"406440:16:21","nodeType":"YulFunctionCall","src":"406440:16:21"},"nativeSrc":"406440:16:21","nodeType":"YulExpressionStatement","src":"406440:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406476:4:21","nodeType":"YulLiteral","src":"406476:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"406482:2:21","nodeType":"YulIdentifier","src":"406482:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406469:6:21","nodeType":"YulIdentifier","src":"406469:6:21"},"nativeSrc":"406469:16:21","nodeType":"YulFunctionCall","src":"406469:16:21"},"nativeSrc":"406469:16:21","nodeType":"YulExpressionStatement","src":"406469:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406505:4:21","nodeType":"YulLiteral","src":"406505:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"406511:2:21","nodeType":"YulIdentifier","src":"406511:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406498:6:21","nodeType":"YulIdentifier","src":"406498:6:21"},"nativeSrc":"406498:16:21","nodeType":"YulFunctionCall","src":"406498:16:21"},"nativeSrc":"406498:16:21","nodeType":"YulExpressionStatement","src":"406498:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406534:5:21","nodeType":"YulLiteral","src":"406534:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"406541:2:21","nodeType":"YulIdentifier","src":"406541:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406527:6:21","nodeType":"YulIdentifier","src":"406527:6:21"},"nativeSrc":"406527:17:21","nodeType":"YulFunctionCall","src":"406527:17:21"},"nativeSrc":"406527:17:21","nodeType":"YulExpressionStatement","src":"406527:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406564:5:21","nodeType":"YulLiteral","src":"406564:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"406571:2:21","nodeType":"YulIdentifier","src":"406571:2:21"}],"functionName":{"name":"mstore","nativeSrc":"406557:6:21","nodeType":"YulIdentifier","src":"406557:6:21"},"nativeSrc":"406557:17:21","nodeType":"YulFunctionCall","src":"406557:17:21"},"nativeSrc":"406557:17:21","nodeType":"YulExpressionStatement","src":"406557:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406594:5:21","nodeType":"YulLiteral","src":"406594:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"406601:3:21","nodeType":"YulIdentifier","src":"406601:3:21"}],"functionName":{"name":"mstore","nativeSrc":"406587:6:21","nodeType":"YulIdentifier","src":"406587:6:21"},"nativeSrc":"406587:18:21","nodeType":"YulFunctionCall","src":"406587:18:21"},"nativeSrc":"406587:18:21","nodeType":"YulExpressionStatement","src":"406587:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39402,"isOffset":false,"isSlot":false,"src":"406308:2:21","valueSize":1},{"declaration":39405,"isOffset":false,"isSlot":false,"src":"406337:2:21","valueSize":1},{"declaration":39432,"isOffset":false,"isSlot":false,"src":"406601:3:21","valueSize":1},{"declaration":39408,"isOffset":false,"isSlot":false,"src":"406366:2:21","valueSize":1},{"declaration":39411,"isOffset":false,"isSlot":false,"src":"406395:2:21","valueSize":1},{"declaration":39414,"isOffset":false,"isSlot":false,"src":"406424:2:21","valueSize":1},{"declaration":39417,"isOffset":false,"isSlot":false,"src":"406453:2:21","valueSize":1},{"declaration":39420,"isOffset":false,"isSlot":false,"src":"406482:2:21","valueSize":1},{"declaration":39423,"isOffset":false,"isSlot":false,"src":"406511:2:21","valueSize":1},{"declaration":39426,"isOffset":false,"isSlot":false,"src":"406541:2:21","valueSize":1},{"declaration":39429,"isOffset":false,"isSlot":false,"src":"406571:2:21","valueSize":1}],"id":39440,"nodeType":"InlineAssembly","src":"406272:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"404806:3:21","parameters":{"id":39399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39392,"mutability":"mutable","name":"p0","nameLocation":"404818:2:21","nodeType":"VariableDeclaration","scope":39442,"src":"404810:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404810:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39394,"mutability":"mutable","name":"p1","nameLocation":"404830:2:21","nodeType":"VariableDeclaration","scope":39442,"src":"404822:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404822:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39396,"mutability":"mutable","name":"p2","nameLocation":"404842:2:21","nodeType":"VariableDeclaration","scope":39442,"src":"404834:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39395,"name":"address","nodeType":"ElementaryTypeName","src":"404834:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39398,"mutability":"mutable","name":"p3","nameLocation":"404854:2:21","nodeType":"VariableDeclaration","scope":39442,"src":"404846:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404846:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"404809:48:21"},"returnParameters":{"id":39400,"nodeType":"ParameterList","parameters":[],"src":"404872:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39488,"nodeType":"FunctionDefinition","src":"406627:1616:21","nodes":[],"body":{"id":39487,"nodeType":"Block","src":"406699:1544:21","nodes":[],"statements":[{"assignments":[39454],"declarations":[{"constant":false,"id":39454,"mutability":"mutable","name":"m0","nameLocation":"406717:2:21","nodeType":"VariableDeclaration","scope":39487,"src":"406709:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406709:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39455,"nodeType":"VariableDeclarationStatement","src":"406709:10:21"},{"assignments":[39457],"declarations":[{"constant":false,"id":39457,"mutability":"mutable","name":"m1","nameLocation":"406737:2:21","nodeType":"VariableDeclaration","scope":39487,"src":"406729:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406729:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39458,"nodeType":"VariableDeclarationStatement","src":"406729:10:21"},{"assignments":[39460],"declarations":[{"constant":false,"id":39460,"mutability":"mutable","name":"m2","nameLocation":"406757:2:21","nodeType":"VariableDeclaration","scope":39487,"src":"406749:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406749:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39461,"nodeType":"VariableDeclarationStatement","src":"406749:10:21"},{"assignments":[39463],"declarations":[{"constant":false,"id":39463,"mutability":"mutable","name":"m3","nameLocation":"406777:2:21","nodeType":"VariableDeclaration","scope":39487,"src":"406769:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406769:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39464,"nodeType":"VariableDeclarationStatement","src":"406769:10:21"},{"assignments":[39466],"declarations":[{"constant":false,"id":39466,"mutability":"mutable","name":"m4","nameLocation":"406797:2:21","nodeType":"VariableDeclaration","scope":39487,"src":"406789:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406789:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39467,"nodeType":"VariableDeclarationStatement","src":"406789:10:21"},{"assignments":[39469],"declarations":[{"constant":false,"id":39469,"mutability":"mutable","name":"m5","nameLocation":"406817:2:21","nodeType":"VariableDeclaration","scope":39487,"src":"406809:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406809:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39470,"nodeType":"VariableDeclarationStatement","src":"406809:10:21"},{"assignments":[39472],"declarations":[{"constant":false,"id":39472,"mutability":"mutable","name":"m6","nameLocation":"406837:2:21","nodeType":"VariableDeclaration","scope":39487,"src":"406829:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406829:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39473,"nodeType":"VariableDeclarationStatement","src":"406829:10:21"},{"assignments":[39475],"declarations":[{"constant":false,"id":39475,"mutability":"mutable","name":"m7","nameLocation":"406857:2:21","nodeType":"VariableDeclaration","scope":39487,"src":"406849:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406849:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39476,"nodeType":"VariableDeclarationStatement","src":"406849:10:21"},{"assignments":[39478],"declarations":[{"constant":false,"id":39478,"mutability":"mutable","name":"m8","nameLocation":"406877:2:21","nodeType":"VariableDeclaration","scope":39487,"src":"406869:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406869:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39479,"nodeType":"VariableDeclarationStatement","src":"406869:10:21"},{"AST":{"nativeSrc":"406941:924:21","nodeType":"YulBlock","src":"406941:924:21","statements":[{"body":{"nativeSrc":"406984:313:21","nodeType":"YulBlock","src":"406984:313:21","statements":[{"nativeSrc":"407002:15:21","nodeType":"YulVariableDeclaration","src":"407002:15:21","value":{"kind":"number","nativeSrc":"407016:1:21","nodeType":"YulLiteral","src":"407016:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"407006:6:21","nodeType":"YulTypedName","src":"407006:6:21","type":""}]},{"body":{"nativeSrc":"407087:40:21","nodeType":"YulBlock","src":"407087:40:21","statements":[{"body":{"nativeSrc":"407116:9:21","nodeType":"YulBlock","src":"407116:9:21","statements":[{"nativeSrc":"407118:5:21","nodeType":"YulBreak","src":"407118:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"407104:6:21","nodeType":"YulIdentifier","src":"407104:6:21"},{"name":"w","nativeSrc":"407112:1:21","nodeType":"YulIdentifier","src":"407112:1:21"}],"functionName":{"name":"byte","nativeSrc":"407099:4:21","nodeType":"YulIdentifier","src":"407099:4:21"},"nativeSrc":"407099:15:21","nodeType":"YulFunctionCall","src":"407099:15:21"}],"functionName":{"name":"iszero","nativeSrc":"407092:6:21","nodeType":"YulIdentifier","src":"407092:6:21"},"nativeSrc":"407092:23:21","nodeType":"YulFunctionCall","src":"407092:23:21"},"nativeSrc":"407089:36:21","nodeType":"YulIf","src":"407089:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"407044:6:21","nodeType":"YulIdentifier","src":"407044:6:21"},{"kind":"number","nativeSrc":"407052:4:21","nodeType":"YulLiteral","src":"407052:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"407041:2:21","nodeType":"YulIdentifier","src":"407041:2:21"},"nativeSrc":"407041:16:21","nodeType":"YulFunctionCall","src":"407041:16:21"},"nativeSrc":"407034:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"407058:28:21","nodeType":"YulBlock","src":"407058:28:21","statements":[{"nativeSrc":"407060:24:21","nodeType":"YulAssignment","src":"407060:24:21","value":{"arguments":[{"name":"length","nativeSrc":"407074:6:21","nodeType":"YulIdentifier","src":"407074:6:21"},{"kind":"number","nativeSrc":"407082:1:21","nodeType":"YulLiteral","src":"407082:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"407070:3:21","nodeType":"YulIdentifier","src":"407070:3:21"},"nativeSrc":"407070:14:21","nodeType":"YulFunctionCall","src":"407070:14:21"},"variableNames":[{"name":"length","nativeSrc":"407060:6:21","nodeType":"YulIdentifier","src":"407060:6:21"}]}]},"pre":{"nativeSrc":"407038:2:21","nodeType":"YulBlock","src":"407038:2:21","statements":[]},"src":"407034:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"407151:3:21","nodeType":"YulIdentifier","src":"407151:3:21"},{"name":"length","nativeSrc":"407156:6:21","nodeType":"YulIdentifier","src":"407156:6:21"}],"functionName":{"name":"mstore","nativeSrc":"407144:6:21","nodeType":"YulIdentifier","src":"407144:6:21"},"nativeSrc":"407144:19:21","nodeType":"YulFunctionCall","src":"407144:19:21"},"nativeSrc":"407144:19:21","nodeType":"YulExpressionStatement","src":"407144:19:21"},{"nativeSrc":"407180:37:21","nodeType":"YulVariableDeclaration","src":"407180:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"407197:3:21","nodeType":"YulLiteral","src":"407197:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"407206:1:21","nodeType":"YulLiteral","src":"407206:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"407209:6:21","nodeType":"YulIdentifier","src":"407209:6:21"}],"functionName":{"name":"shl","nativeSrc":"407202:3:21","nodeType":"YulIdentifier","src":"407202:3:21"},"nativeSrc":"407202:14:21","nodeType":"YulFunctionCall","src":"407202:14:21"}],"functionName":{"name":"sub","nativeSrc":"407193:3:21","nodeType":"YulIdentifier","src":"407193:3:21"},"nativeSrc":"407193:24:21","nodeType":"YulFunctionCall","src":"407193:24:21"},"variables":[{"name":"shift","nativeSrc":"407184:5:21","nodeType":"YulTypedName","src":"407184:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"407245:3:21","nodeType":"YulIdentifier","src":"407245:3:21"},{"kind":"number","nativeSrc":"407250:4:21","nodeType":"YulLiteral","src":"407250:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"407241:3:21","nodeType":"YulIdentifier","src":"407241:3:21"},"nativeSrc":"407241:14:21","nodeType":"YulFunctionCall","src":"407241:14:21"},{"arguments":[{"name":"shift","nativeSrc":"407261:5:21","nodeType":"YulIdentifier","src":"407261:5:21"},{"arguments":[{"name":"shift","nativeSrc":"407272:5:21","nodeType":"YulIdentifier","src":"407272:5:21"},{"name":"w","nativeSrc":"407279:1:21","nodeType":"YulIdentifier","src":"407279:1:21"}],"functionName":{"name":"shr","nativeSrc":"407268:3:21","nodeType":"YulIdentifier","src":"407268:3:21"},"nativeSrc":"407268:13:21","nodeType":"YulFunctionCall","src":"407268:13:21"}],"functionName":{"name":"shl","nativeSrc":"407257:3:21","nodeType":"YulIdentifier","src":"407257:3:21"},"nativeSrc":"407257:25:21","nodeType":"YulFunctionCall","src":"407257:25:21"}],"functionName":{"name":"mstore","nativeSrc":"407234:6:21","nodeType":"YulIdentifier","src":"407234:6:21"},"nativeSrc":"407234:49:21","nodeType":"YulFunctionCall","src":"407234:49:21"},"nativeSrc":"407234:49:21","nodeType":"YulExpressionStatement","src":"407234:49:21"}]},"name":"writeString","nativeSrc":"406955:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"406976:3:21","nodeType":"YulTypedName","src":"406976:3:21","type":""},{"name":"w","nativeSrc":"406981:1:21","nodeType":"YulTypedName","src":"406981:1:21","type":""}],"src":"406955:342:21"},{"nativeSrc":"407310:17:21","nodeType":"YulAssignment","src":"407310:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"407322:4:21","nodeType":"YulLiteral","src":"407322:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"407316:5:21","nodeType":"YulIdentifier","src":"407316:5:21"},"nativeSrc":"407316:11:21","nodeType":"YulFunctionCall","src":"407316:11:21"},"variableNames":[{"name":"m0","nativeSrc":"407310:2:21","nodeType":"YulIdentifier","src":"407310:2:21"}]},{"nativeSrc":"407340:17:21","nodeType":"YulAssignment","src":"407340:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"407352:4:21","nodeType":"YulLiteral","src":"407352:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"407346:5:21","nodeType":"YulIdentifier","src":"407346:5:21"},"nativeSrc":"407346:11:21","nodeType":"YulFunctionCall","src":"407346:11:21"},"variableNames":[{"name":"m1","nativeSrc":"407340:2:21","nodeType":"YulIdentifier","src":"407340:2:21"}]},{"nativeSrc":"407370:17:21","nodeType":"YulAssignment","src":"407370:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"407382:4:21","nodeType":"YulLiteral","src":"407382:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"407376:5:21","nodeType":"YulIdentifier","src":"407376:5:21"},"nativeSrc":"407376:11:21","nodeType":"YulFunctionCall","src":"407376:11:21"},"variableNames":[{"name":"m2","nativeSrc":"407370:2:21","nodeType":"YulIdentifier","src":"407370:2:21"}]},{"nativeSrc":"407400:17:21","nodeType":"YulAssignment","src":"407400:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"407412:4:21","nodeType":"YulLiteral","src":"407412:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"407406:5:21","nodeType":"YulIdentifier","src":"407406:5:21"},"nativeSrc":"407406:11:21","nodeType":"YulFunctionCall","src":"407406:11:21"},"variableNames":[{"name":"m3","nativeSrc":"407400:2:21","nodeType":"YulIdentifier","src":"407400:2:21"}]},{"nativeSrc":"407430:17:21","nodeType":"YulAssignment","src":"407430:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"407442:4:21","nodeType":"YulLiteral","src":"407442:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"407436:5:21","nodeType":"YulIdentifier","src":"407436:5:21"},"nativeSrc":"407436:11:21","nodeType":"YulFunctionCall","src":"407436:11:21"},"variableNames":[{"name":"m4","nativeSrc":"407430:2:21","nodeType":"YulIdentifier","src":"407430:2:21"}]},{"nativeSrc":"407460:17:21","nodeType":"YulAssignment","src":"407460:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"407472:4:21","nodeType":"YulLiteral","src":"407472:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"407466:5:21","nodeType":"YulIdentifier","src":"407466:5:21"},"nativeSrc":"407466:11:21","nodeType":"YulFunctionCall","src":"407466:11:21"},"variableNames":[{"name":"m5","nativeSrc":"407460:2:21","nodeType":"YulIdentifier","src":"407460:2:21"}]},{"nativeSrc":"407490:17:21","nodeType":"YulAssignment","src":"407490:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"407502:4:21","nodeType":"YulLiteral","src":"407502:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"407496:5:21","nodeType":"YulIdentifier","src":"407496:5:21"},"nativeSrc":"407496:11:21","nodeType":"YulFunctionCall","src":"407496:11:21"},"variableNames":[{"name":"m6","nativeSrc":"407490:2:21","nodeType":"YulIdentifier","src":"407490:2:21"}]},{"nativeSrc":"407520:17:21","nodeType":"YulAssignment","src":"407520:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"407532:4:21","nodeType":"YulLiteral","src":"407532:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"407526:5:21","nodeType":"YulIdentifier","src":"407526:5:21"},"nativeSrc":"407526:11:21","nodeType":"YulFunctionCall","src":"407526:11:21"},"variableNames":[{"name":"m7","nativeSrc":"407520:2:21","nodeType":"YulIdentifier","src":"407520:2:21"}]},{"nativeSrc":"407550:18:21","nodeType":"YulAssignment","src":"407550:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"407562:5:21","nodeType":"YulLiteral","src":"407562:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"407556:5:21","nodeType":"YulIdentifier","src":"407556:5:21"},"nativeSrc":"407556:12:21","nodeType":"YulFunctionCall","src":"407556:12:21"},"variableNames":[{"name":"m8","nativeSrc":"407550:2:21","nodeType":"YulIdentifier","src":"407550:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407650:4:21","nodeType":"YulLiteral","src":"407650:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"407656:10:21","nodeType":"YulLiteral","src":"407656:10:21","type":"","value":"0xc371c7db"}],"functionName":{"name":"mstore","nativeSrc":"407643:6:21","nodeType":"YulIdentifier","src":"407643:6:21"},"nativeSrc":"407643:24:21","nodeType":"YulFunctionCall","src":"407643:24:21"},"nativeSrc":"407643:24:21","nodeType":"YulExpressionStatement","src":"407643:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407687:4:21","nodeType":"YulLiteral","src":"407687:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"407693:4:21","nodeType":"YulLiteral","src":"407693:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"407680:6:21","nodeType":"YulIdentifier","src":"407680:6:21"},"nativeSrc":"407680:18:21","nodeType":"YulFunctionCall","src":"407680:18:21"},"nativeSrc":"407680:18:21","nodeType":"YulExpressionStatement","src":"407680:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407718:4:21","nodeType":"YulLiteral","src":"407718:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"407724:4:21","nodeType":"YulLiteral","src":"407724:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"407711:6:21","nodeType":"YulIdentifier","src":"407711:6:21"},"nativeSrc":"407711:18:21","nodeType":"YulFunctionCall","src":"407711:18:21"},"nativeSrc":"407711:18:21","nodeType":"YulExpressionStatement","src":"407711:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407749:4:21","nodeType":"YulLiteral","src":"407749:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"407755:2:21","nodeType":"YulIdentifier","src":"407755:2:21"}],"functionName":{"name":"mstore","nativeSrc":"407742:6:21","nodeType":"YulIdentifier","src":"407742:6:21"},"nativeSrc":"407742:16:21","nodeType":"YulFunctionCall","src":"407742:16:21"},"nativeSrc":"407742:16:21","nodeType":"YulExpressionStatement","src":"407742:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407778:4:21","nodeType":"YulLiteral","src":"407778:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"407784:2:21","nodeType":"YulIdentifier","src":"407784:2:21"}],"functionName":{"name":"mstore","nativeSrc":"407771:6:21","nodeType":"YulIdentifier","src":"407771:6:21"},"nativeSrc":"407771:16:21","nodeType":"YulFunctionCall","src":"407771:16:21"},"nativeSrc":"407771:16:21","nodeType":"YulExpressionStatement","src":"407771:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407812:4:21","nodeType":"YulLiteral","src":"407812:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"407818:2:21","nodeType":"YulIdentifier","src":"407818:2:21"}],"functionName":{"name":"writeString","nativeSrc":"407800:11:21","nodeType":"YulIdentifier","src":"407800:11:21"},"nativeSrc":"407800:21:21","nodeType":"YulFunctionCall","src":"407800:21:21"},"nativeSrc":"407800:21:21","nodeType":"YulExpressionStatement","src":"407800:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407846:4:21","nodeType":"YulLiteral","src":"407846:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"407852:2:21","nodeType":"YulIdentifier","src":"407852:2:21"}],"functionName":{"name":"writeString","nativeSrc":"407834:11:21","nodeType":"YulIdentifier","src":"407834:11:21"},"nativeSrc":"407834:21:21","nodeType":"YulFunctionCall","src":"407834:21:21"},"nativeSrc":"407834:21:21","nodeType":"YulExpressionStatement","src":"407834:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39454,"isOffset":false,"isSlot":false,"src":"407310:2:21","valueSize":1},{"declaration":39457,"isOffset":false,"isSlot":false,"src":"407340:2:21","valueSize":1},{"declaration":39460,"isOffset":false,"isSlot":false,"src":"407370:2:21","valueSize":1},{"declaration":39463,"isOffset":false,"isSlot":false,"src":"407400:2:21","valueSize":1},{"declaration":39466,"isOffset":false,"isSlot":false,"src":"407430:2:21","valueSize":1},{"declaration":39469,"isOffset":false,"isSlot":false,"src":"407460:2:21","valueSize":1},{"declaration":39472,"isOffset":false,"isSlot":false,"src":"407490:2:21","valueSize":1},{"declaration":39475,"isOffset":false,"isSlot":false,"src":"407520:2:21","valueSize":1},{"declaration":39478,"isOffset":false,"isSlot":false,"src":"407550:2:21","valueSize":1},{"declaration":39444,"isOffset":false,"isSlot":false,"src":"407818:2:21","valueSize":1},{"declaration":39446,"isOffset":false,"isSlot":false,"src":"407852:2:21","valueSize":1},{"declaration":39448,"isOffset":false,"isSlot":false,"src":"407755:2:21","valueSize":1},{"declaration":39450,"isOffset":false,"isSlot":false,"src":"407784:2:21","valueSize":1}],"id":39480,"nodeType":"InlineAssembly","src":"406932:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"407890:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"407896:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39481,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"407874:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"407874:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39485,"nodeType":"ExpressionStatement","src":"407874:28:21"},{"AST":{"nativeSrc":"407964:273:21","nodeType":"YulBlock","src":"407964:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"407985:4:21","nodeType":"YulLiteral","src":"407985:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"407991:2:21","nodeType":"YulIdentifier","src":"407991:2:21"}],"functionName":{"name":"mstore","nativeSrc":"407978:6:21","nodeType":"YulIdentifier","src":"407978:6:21"},"nativeSrc":"407978:16:21","nodeType":"YulFunctionCall","src":"407978:16:21"},"nativeSrc":"407978:16:21","nodeType":"YulExpressionStatement","src":"407978:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408014:4:21","nodeType":"YulLiteral","src":"408014:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"408020:2:21","nodeType":"YulIdentifier","src":"408020:2:21"}],"functionName":{"name":"mstore","nativeSrc":"408007:6:21","nodeType":"YulIdentifier","src":"408007:6:21"},"nativeSrc":"408007:16:21","nodeType":"YulFunctionCall","src":"408007:16:21"},"nativeSrc":"408007:16:21","nodeType":"YulExpressionStatement","src":"408007:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408043:4:21","nodeType":"YulLiteral","src":"408043:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"408049:2:21","nodeType":"YulIdentifier","src":"408049:2:21"}],"functionName":{"name":"mstore","nativeSrc":"408036:6:21","nodeType":"YulIdentifier","src":"408036:6:21"},"nativeSrc":"408036:16:21","nodeType":"YulFunctionCall","src":"408036:16:21"},"nativeSrc":"408036:16:21","nodeType":"YulExpressionStatement","src":"408036:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408072:4:21","nodeType":"YulLiteral","src":"408072:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"408078:2:21","nodeType":"YulIdentifier","src":"408078:2:21"}],"functionName":{"name":"mstore","nativeSrc":"408065:6:21","nodeType":"YulIdentifier","src":"408065:6:21"},"nativeSrc":"408065:16:21","nodeType":"YulFunctionCall","src":"408065:16:21"},"nativeSrc":"408065:16:21","nodeType":"YulExpressionStatement","src":"408065:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408101:4:21","nodeType":"YulLiteral","src":"408101:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"408107:2:21","nodeType":"YulIdentifier","src":"408107:2:21"}],"functionName":{"name":"mstore","nativeSrc":"408094:6:21","nodeType":"YulIdentifier","src":"408094:6:21"},"nativeSrc":"408094:16:21","nodeType":"YulFunctionCall","src":"408094:16:21"},"nativeSrc":"408094:16:21","nodeType":"YulExpressionStatement","src":"408094:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408130:4:21","nodeType":"YulLiteral","src":"408130:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"408136:2:21","nodeType":"YulIdentifier","src":"408136:2:21"}],"functionName":{"name":"mstore","nativeSrc":"408123:6:21","nodeType":"YulIdentifier","src":"408123:6:21"},"nativeSrc":"408123:16:21","nodeType":"YulFunctionCall","src":"408123:16:21"},"nativeSrc":"408123:16:21","nodeType":"YulExpressionStatement","src":"408123:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408159:4:21","nodeType":"YulLiteral","src":"408159:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"408165:2:21","nodeType":"YulIdentifier","src":"408165:2:21"}],"functionName":{"name":"mstore","nativeSrc":"408152:6:21","nodeType":"YulIdentifier","src":"408152:6:21"},"nativeSrc":"408152:16:21","nodeType":"YulFunctionCall","src":"408152:16:21"},"nativeSrc":"408152:16:21","nodeType":"YulExpressionStatement","src":"408152:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408188:4:21","nodeType":"YulLiteral","src":"408188:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"408194:2:21","nodeType":"YulIdentifier","src":"408194:2:21"}],"functionName":{"name":"mstore","nativeSrc":"408181:6:21","nodeType":"YulIdentifier","src":"408181:6:21"},"nativeSrc":"408181:16:21","nodeType":"YulFunctionCall","src":"408181:16:21"},"nativeSrc":"408181:16:21","nodeType":"YulExpressionStatement","src":"408181:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408217:5:21","nodeType":"YulLiteral","src":"408217:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"408224:2:21","nodeType":"YulIdentifier","src":"408224:2:21"}],"functionName":{"name":"mstore","nativeSrc":"408210:6:21","nodeType":"YulIdentifier","src":"408210:6:21"},"nativeSrc":"408210:17:21","nodeType":"YulFunctionCall","src":"408210:17:21"},"nativeSrc":"408210:17:21","nodeType":"YulExpressionStatement","src":"408210:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39454,"isOffset":false,"isSlot":false,"src":"407991:2:21","valueSize":1},{"declaration":39457,"isOffset":false,"isSlot":false,"src":"408020:2:21","valueSize":1},{"declaration":39460,"isOffset":false,"isSlot":false,"src":"408049:2:21","valueSize":1},{"declaration":39463,"isOffset":false,"isSlot":false,"src":"408078:2:21","valueSize":1},{"declaration":39466,"isOffset":false,"isSlot":false,"src":"408107:2:21","valueSize":1},{"declaration":39469,"isOffset":false,"isSlot":false,"src":"408136:2:21","valueSize":1},{"declaration":39472,"isOffset":false,"isSlot":false,"src":"408165:2:21","valueSize":1},{"declaration":39475,"isOffset":false,"isSlot":false,"src":"408194:2:21","valueSize":1},{"declaration":39478,"isOffset":false,"isSlot":false,"src":"408224:2:21","valueSize":1}],"id":39486,"nodeType":"InlineAssembly","src":"407955:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"406636:3:21","parameters":{"id":39451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39444,"mutability":"mutable","name":"p0","nameLocation":"406648:2:21","nodeType":"VariableDeclaration","scope":39488,"src":"406640:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406640:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39446,"mutability":"mutable","name":"p1","nameLocation":"406660:2:21","nodeType":"VariableDeclaration","scope":39488,"src":"406652:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406652:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39448,"mutability":"mutable","name":"p2","nameLocation":"406669:2:21","nodeType":"VariableDeclaration","scope":39488,"src":"406664:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39447,"name":"bool","nodeType":"ElementaryTypeName","src":"406664:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39450,"mutability":"mutable","name":"p3","nameLocation":"406681:2:21","nodeType":"VariableDeclaration","scope":39488,"src":"406673:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39449,"name":"address","nodeType":"ElementaryTypeName","src":"406673:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"406639:45:21"},"returnParameters":{"id":39452,"nodeType":"ParameterList","parameters":[],"src":"406699:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39534,"nodeType":"FunctionDefinition","src":"408249:1610:21","nodes":[],"body":{"id":39533,"nodeType":"Block","src":"408318:1541:21","nodes":[],"statements":[{"assignments":[39500],"declarations":[{"constant":false,"id":39500,"mutability":"mutable","name":"m0","nameLocation":"408336:2:21","nodeType":"VariableDeclaration","scope":39533,"src":"408328:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408328:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39501,"nodeType":"VariableDeclarationStatement","src":"408328:10:21"},{"assignments":[39503],"declarations":[{"constant":false,"id":39503,"mutability":"mutable","name":"m1","nameLocation":"408356:2:21","nodeType":"VariableDeclaration","scope":39533,"src":"408348:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408348:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39504,"nodeType":"VariableDeclarationStatement","src":"408348:10:21"},{"assignments":[39506],"declarations":[{"constant":false,"id":39506,"mutability":"mutable","name":"m2","nameLocation":"408376:2:21","nodeType":"VariableDeclaration","scope":39533,"src":"408368:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39505,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408368:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39507,"nodeType":"VariableDeclarationStatement","src":"408368:10:21"},{"assignments":[39509],"declarations":[{"constant":false,"id":39509,"mutability":"mutable","name":"m3","nameLocation":"408396:2:21","nodeType":"VariableDeclaration","scope":39533,"src":"408388:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408388:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39510,"nodeType":"VariableDeclarationStatement","src":"408388:10:21"},{"assignments":[39512],"declarations":[{"constant":false,"id":39512,"mutability":"mutable","name":"m4","nameLocation":"408416:2:21","nodeType":"VariableDeclaration","scope":39533,"src":"408408:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408408:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39513,"nodeType":"VariableDeclarationStatement","src":"408408:10:21"},{"assignments":[39515],"declarations":[{"constant":false,"id":39515,"mutability":"mutable","name":"m5","nameLocation":"408436:2:21","nodeType":"VariableDeclaration","scope":39533,"src":"408428:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408428:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39516,"nodeType":"VariableDeclarationStatement","src":"408428:10:21"},{"assignments":[39518],"declarations":[{"constant":false,"id":39518,"mutability":"mutable","name":"m6","nameLocation":"408456:2:21","nodeType":"VariableDeclaration","scope":39533,"src":"408448:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408448:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39519,"nodeType":"VariableDeclarationStatement","src":"408448:10:21"},{"assignments":[39521],"declarations":[{"constant":false,"id":39521,"mutability":"mutable","name":"m7","nameLocation":"408476:2:21","nodeType":"VariableDeclaration","scope":39533,"src":"408468:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39520,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408468:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39522,"nodeType":"VariableDeclarationStatement","src":"408468:10:21"},{"assignments":[39524],"declarations":[{"constant":false,"id":39524,"mutability":"mutable","name":"m8","nameLocation":"408496:2:21","nodeType":"VariableDeclaration","scope":39533,"src":"408488:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408488:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39525,"nodeType":"VariableDeclarationStatement","src":"408488:10:21"},{"AST":{"nativeSrc":"408560:921:21","nodeType":"YulBlock","src":"408560:921:21","statements":[{"body":{"nativeSrc":"408603:313:21","nodeType":"YulBlock","src":"408603:313:21","statements":[{"nativeSrc":"408621:15:21","nodeType":"YulVariableDeclaration","src":"408621:15:21","value":{"kind":"number","nativeSrc":"408635:1:21","nodeType":"YulLiteral","src":"408635:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"408625:6:21","nodeType":"YulTypedName","src":"408625:6:21","type":""}]},{"body":{"nativeSrc":"408706:40:21","nodeType":"YulBlock","src":"408706:40:21","statements":[{"body":{"nativeSrc":"408735:9:21","nodeType":"YulBlock","src":"408735:9:21","statements":[{"nativeSrc":"408737:5:21","nodeType":"YulBreak","src":"408737:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"408723:6:21","nodeType":"YulIdentifier","src":"408723:6:21"},{"name":"w","nativeSrc":"408731:1:21","nodeType":"YulIdentifier","src":"408731:1:21"}],"functionName":{"name":"byte","nativeSrc":"408718:4:21","nodeType":"YulIdentifier","src":"408718:4:21"},"nativeSrc":"408718:15:21","nodeType":"YulFunctionCall","src":"408718:15:21"}],"functionName":{"name":"iszero","nativeSrc":"408711:6:21","nodeType":"YulIdentifier","src":"408711:6:21"},"nativeSrc":"408711:23:21","nodeType":"YulFunctionCall","src":"408711:23:21"},"nativeSrc":"408708:36:21","nodeType":"YulIf","src":"408708:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"408663:6:21","nodeType":"YulIdentifier","src":"408663:6:21"},{"kind":"number","nativeSrc":"408671:4:21","nodeType":"YulLiteral","src":"408671:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"408660:2:21","nodeType":"YulIdentifier","src":"408660:2:21"},"nativeSrc":"408660:16:21","nodeType":"YulFunctionCall","src":"408660:16:21"},"nativeSrc":"408653:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"408677:28:21","nodeType":"YulBlock","src":"408677:28:21","statements":[{"nativeSrc":"408679:24:21","nodeType":"YulAssignment","src":"408679:24:21","value":{"arguments":[{"name":"length","nativeSrc":"408693:6:21","nodeType":"YulIdentifier","src":"408693:6:21"},{"kind":"number","nativeSrc":"408701:1:21","nodeType":"YulLiteral","src":"408701:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"408689:3:21","nodeType":"YulIdentifier","src":"408689:3:21"},"nativeSrc":"408689:14:21","nodeType":"YulFunctionCall","src":"408689:14:21"},"variableNames":[{"name":"length","nativeSrc":"408679:6:21","nodeType":"YulIdentifier","src":"408679:6:21"}]}]},"pre":{"nativeSrc":"408657:2:21","nodeType":"YulBlock","src":"408657:2:21","statements":[]},"src":"408653:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"408770:3:21","nodeType":"YulIdentifier","src":"408770:3:21"},{"name":"length","nativeSrc":"408775:6:21","nodeType":"YulIdentifier","src":"408775:6:21"}],"functionName":{"name":"mstore","nativeSrc":"408763:6:21","nodeType":"YulIdentifier","src":"408763:6:21"},"nativeSrc":"408763:19:21","nodeType":"YulFunctionCall","src":"408763:19:21"},"nativeSrc":"408763:19:21","nodeType":"YulExpressionStatement","src":"408763:19:21"},{"nativeSrc":"408799:37:21","nodeType":"YulVariableDeclaration","src":"408799:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"408816:3:21","nodeType":"YulLiteral","src":"408816:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"408825:1:21","nodeType":"YulLiteral","src":"408825:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"408828:6:21","nodeType":"YulIdentifier","src":"408828:6:21"}],"functionName":{"name":"shl","nativeSrc":"408821:3:21","nodeType":"YulIdentifier","src":"408821:3:21"},"nativeSrc":"408821:14:21","nodeType":"YulFunctionCall","src":"408821:14:21"}],"functionName":{"name":"sub","nativeSrc":"408812:3:21","nodeType":"YulIdentifier","src":"408812:3:21"},"nativeSrc":"408812:24:21","nodeType":"YulFunctionCall","src":"408812:24:21"},"variables":[{"name":"shift","nativeSrc":"408803:5:21","nodeType":"YulTypedName","src":"408803:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"408864:3:21","nodeType":"YulIdentifier","src":"408864:3:21"},{"kind":"number","nativeSrc":"408869:4:21","nodeType":"YulLiteral","src":"408869:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"408860:3:21","nodeType":"YulIdentifier","src":"408860:3:21"},"nativeSrc":"408860:14:21","nodeType":"YulFunctionCall","src":"408860:14:21"},{"arguments":[{"name":"shift","nativeSrc":"408880:5:21","nodeType":"YulIdentifier","src":"408880:5:21"},{"arguments":[{"name":"shift","nativeSrc":"408891:5:21","nodeType":"YulIdentifier","src":"408891:5:21"},{"name":"w","nativeSrc":"408898:1:21","nodeType":"YulIdentifier","src":"408898:1:21"}],"functionName":{"name":"shr","nativeSrc":"408887:3:21","nodeType":"YulIdentifier","src":"408887:3:21"},"nativeSrc":"408887:13:21","nodeType":"YulFunctionCall","src":"408887:13:21"}],"functionName":{"name":"shl","nativeSrc":"408876:3:21","nodeType":"YulIdentifier","src":"408876:3:21"},"nativeSrc":"408876:25:21","nodeType":"YulFunctionCall","src":"408876:25:21"}],"functionName":{"name":"mstore","nativeSrc":"408853:6:21","nodeType":"YulIdentifier","src":"408853:6:21"},"nativeSrc":"408853:49:21","nodeType":"YulFunctionCall","src":"408853:49:21"},"nativeSrc":"408853:49:21","nodeType":"YulExpressionStatement","src":"408853:49:21"}]},"name":"writeString","nativeSrc":"408574:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"408595:3:21","nodeType":"YulTypedName","src":"408595:3:21","type":""},{"name":"w","nativeSrc":"408600:1:21","nodeType":"YulTypedName","src":"408600:1:21","type":""}],"src":"408574:342:21"},{"nativeSrc":"408929:17:21","nodeType":"YulAssignment","src":"408929:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"408941:4:21","nodeType":"YulLiteral","src":"408941:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"408935:5:21","nodeType":"YulIdentifier","src":"408935:5:21"},"nativeSrc":"408935:11:21","nodeType":"YulFunctionCall","src":"408935:11:21"},"variableNames":[{"name":"m0","nativeSrc":"408929:2:21","nodeType":"YulIdentifier","src":"408929:2:21"}]},{"nativeSrc":"408959:17:21","nodeType":"YulAssignment","src":"408959:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"408971:4:21","nodeType":"YulLiteral","src":"408971:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"408965:5:21","nodeType":"YulIdentifier","src":"408965:5:21"},"nativeSrc":"408965:11:21","nodeType":"YulFunctionCall","src":"408965:11:21"},"variableNames":[{"name":"m1","nativeSrc":"408959:2:21","nodeType":"YulIdentifier","src":"408959:2:21"}]},{"nativeSrc":"408989:17:21","nodeType":"YulAssignment","src":"408989:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"409001:4:21","nodeType":"YulLiteral","src":"409001:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"408995:5:21","nodeType":"YulIdentifier","src":"408995:5:21"},"nativeSrc":"408995:11:21","nodeType":"YulFunctionCall","src":"408995:11:21"},"variableNames":[{"name":"m2","nativeSrc":"408989:2:21","nodeType":"YulIdentifier","src":"408989:2:21"}]},{"nativeSrc":"409019:17:21","nodeType":"YulAssignment","src":"409019:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"409031:4:21","nodeType":"YulLiteral","src":"409031:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"409025:5:21","nodeType":"YulIdentifier","src":"409025:5:21"},"nativeSrc":"409025:11:21","nodeType":"YulFunctionCall","src":"409025:11:21"},"variableNames":[{"name":"m3","nativeSrc":"409019:2:21","nodeType":"YulIdentifier","src":"409019:2:21"}]},{"nativeSrc":"409049:17:21","nodeType":"YulAssignment","src":"409049:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"409061:4:21","nodeType":"YulLiteral","src":"409061:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"409055:5:21","nodeType":"YulIdentifier","src":"409055:5:21"},"nativeSrc":"409055:11:21","nodeType":"YulFunctionCall","src":"409055:11:21"},"variableNames":[{"name":"m4","nativeSrc":"409049:2:21","nodeType":"YulIdentifier","src":"409049:2:21"}]},{"nativeSrc":"409079:17:21","nodeType":"YulAssignment","src":"409079:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"409091:4:21","nodeType":"YulLiteral","src":"409091:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"409085:5:21","nodeType":"YulIdentifier","src":"409085:5:21"},"nativeSrc":"409085:11:21","nodeType":"YulFunctionCall","src":"409085:11:21"},"variableNames":[{"name":"m5","nativeSrc":"409079:2:21","nodeType":"YulIdentifier","src":"409079:2:21"}]},{"nativeSrc":"409109:17:21","nodeType":"YulAssignment","src":"409109:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"409121:4:21","nodeType":"YulLiteral","src":"409121:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"409115:5:21","nodeType":"YulIdentifier","src":"409115:5:21"},"nativeSrc":"409115:11:21","nodeType":"YulFunctionCall","src":"409115:11:21"},"variableNames":[{"name":"m6","nativeSrc":"409109:2:21","nodeType":"YulIdentifier","src":"409109:2:21"}]},{"nativeSrc":"409139:17:21","nodeType":"YulAssignment","src":"409139:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"409151:4:21","nodeType":"YulLiteral","src":"409151:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"409145:5:21","nodeType":"YulIdentifier","src":"409145:5:21"},"nativeSrc":"409145:11:21","nodeType":"YulFunctionCall","src":"409145:11:21"},"variableNames":[{"name":"m7","nativeSrc":"409139:2:21","nodeType":"YulIdentifier","src":"409139:2:21"}]},{"nativeSrc":"409169:18:21","nodeType":"YulAssignment","src":"409169:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"409181:5:21","nodeType":"YulLiteral","src":"409181:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"409175:5:21","nodeType":"YulIdentifier","src":"409175:5:21"},"nativeSrc":"409175:12:21","nodeType":"YulFunctionCall","src":"409175:12:21"},"variableNames":[{"name":"m8","nativeSrc":"409169:2:21","nodeType":"YulIdentifier","src":"409169:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409266:4:21","nodeType":"YulLiteral","src":"409266:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"409272:10:21","nodeType":"YulLiteral","src":"409272:10:21","type":"","value":"0x40785869"}],"functionName":{"name":"mstore","nativeSrc":"409259:6:21","nodeType":"YulIdentifier","src":"409259:6:21"},"nativeSrc":"409259:24:21","nodeType":"YulFunctionCall","src":"409259:24:21"},"nativeSrc":"409259:24:21","nodeType":"YulExpressionStatement","src":"409259:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409303:4:21","nodeType":"YulLiteral","src":"409303:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"409309:4:21","nodeType":"YulLiteral","src":"409309:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"409296:6:21","nodeType":"YulIdentifier","src":"409296:6:21"},"nativeSrc":"409296:18:21","nodeType":"YulFunctionCall","src":"409296:18:21"},"nativeSrc":"409296:18:21","nodeType":"YulExpressionStatement","src":"409296:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409334:4:21","nodeType":"YulLiteral","src":"409334:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"409340:4:21","nodeType":"YulLiteral","src":"409340:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"409327:6:21","nodeType":"YulIdentifier","src":"409327:6:21"},"nativeSrc":"409327:18:21","nodeType":"YulFunctionCall","src":"409327:18:21"},"nativeSrc":"409327:18:21","nodeType":"YulExpressionStatement","src":"409327:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409365:4:21","nodeType":"YulLiteral","src":"409365:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"409371:2:21","nodeType":"YulIdentifier","src":"409371:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409358:6:21","nodeType":"YulIdentifier","src":"409358:6:21"},"nativeSrc":"409358:16:21","nodeType":"YulFunctionCall","src":"409358:16:21"},"nativeSrc":"409358:16:21","nodeType":"YulExpressionStatement","src":"409358:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409394:4:21","nodeType":"YulLiteral","src":"409394:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"409400:2:21","nodeType":"YulIdentifier","src":"409400:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409387:6:21","nodeType":"YulIdentifier","src":"409387:6:21"},"nativeSrc":"409387:16:21","nodeType":"YulFunctionCall","src":"409387:16:21"},"nativeSrc":"409387:16:21","nodeType":"YulExpressionStatement","src":"409387:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409428:4:21","nodeType":"YulLiteral","src":"409428:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"409434:2:21","nodeType":"YulIdentifier","src":"409434:2:21"}],"functionName":{"name":"writeString","nativeSrc":"409416:11:21","nodeType":"YulIdentifier","src":"409416:11:21"},"nativeSrc":"409416:21:21","nodeType":"YulFunctionCall","src":"409416:21:21"},"nativeSrc":"409416:21:21","nodeType":"YulExpressionStatement","src":"409416:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409462:4:21","nodeType":"YulLiteral","src":"409462:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"409468:2:21","nodeType":"YulIdentifier","src":"409468:2:21"}],"functionName":{"name":"writeString","nativeSrc":"409450:11:21","nodeType":"YulIdentifier","src":"409450:11:21"},"nativeSrc":"409450:21:21","nodeType":"YulFunctionCall","src":"409450:21:21"},"nativeSrc":"409450:21:21","nodeType":"YulExpressionStatement","src":"409450:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39500,"isOffset":false,"isSlot":false,"src":"408929:2:21","valueSize":1},{"declaration":39503,"isOffset":false,"isSlot":false,"src":"408959:2:21","valueSize":1},{"declaration":39506,"isOffset":false,"isSlot":false,"src":"408989:2:21","valueSize":1},{"declaration":39509,"isOffset":false,"isSlot":false,"src":"409019:2:21","valueSize":1},{"declaration":39512,"isOffset":false,"isSlot":false,"src":"409049:2:21","valueSize":1},{"declaration":39515,"isOffset":false,"isSlot":false,"src":"409079:2:21","valueSize":1},{"declaration":39518,"isOffset":false,"isSlot":false,"src":"409109:2:21","valueSize":1},{"declaration":39521,"isOffset":false,"isSlot":false,"src":"409139:2:21","valueSize":1},{"declaration":39524,"isOffset":false,"isSlot":false,"src":"409169:2:21","valueSize":1},{"declaration":39490,"isOffset":false,"isSlot":false,"src":"409434:2:21","valueSize":1},{"declaration":39492,"isOffset":false,"isSlot":false,"src":"409468:2:21","valueSize":1},{"declaration":39494,"isOffset":false,"isSlot":false,"src":"409371:2:21","valueSize":1},{"declaration":39496,"isOffset":false,"isSlot":false,"src":"409400:2:21","valueSize":1}],"id":39526,"nodeType":"InlineAssembly","src":"408551:930:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"409506:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"409512:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39527,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"409490:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"409490:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39531,"nodeType":"ExpressionStatement","src":"409490:28:21"},{"AST":{"nativeSrc":"409580:273:21","nodeType":"YulBlock","src":"409580:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"409601:4:21","nodeType":"YulLiteral","src":"409601:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"409607:2:21","nodeType":"YulIdentifier","src":"409607:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409594:6:21","nodeType":"YulIdentifier","src":"409594:6:21"},"nativeSrc":"409594:16:21","nodeType":"YulFunctionCall","src":"409594:16:21"},"nativeSrc":"409594:16:21","nodeType":"YulExpressionStatement","src":"409594:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409630:4:21","nodeType":"YulLiteral","src":"409630:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"409636:2:21","nodeType":"YulIdentifier","src":"409636:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409623:6:21","nodeType":"YulIdentifier","src":"409623:6:21"},"nativeSrc":"409623:16:21","nodeType":"YulFunctionCall","src":"409623:16:21"},"nativeSrc":"409623:16:21","nodeType":"YulExpressionStatement","src":"409623:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409659:4:21","nodeType":"YulLiteral","src":"409659:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"409665:2:21","nodeType":"YulIdentifier","src":"409665:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409652:6:21","nodeType":"YulIdentifier","src":"409652:6:21"},"nativeSrc":"409652:16:21","nodeType":"YulFunctionCall","src":"409652:16:21"},"nativeSrc":"409652:16:21","nodeType":"YulExpressionStatement","src":"409652:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409688:4:21","nodeType":"YulLiteral","src":"409688:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"409694:2:21","nodeType":"YulIdentifier","src":"409694:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409681:6:21","nodeType":"YulIdentifier","src":"409681:6:21"},"nativeSrc":"409681:16:21","nodeType":"YulFunctionCall","src":"409681:16:21"},"nativeSrc":"409681:16:21","nodeType":"YulExpressionStatement","src":"409681:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409717:4:21","nodeType":"YulLiteral","src":"409717:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"409723:2:21","nodeType":"YulIdentifier","src":"409723:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409710:6:21","nodeType":"YulIdentifier","src":"409710:6:21"},"nativeSrc":"409710:16:21","nodeType":"YulFunctionCall","src":"409710:16:21"},"nativeSrc":"409710:16:21","nodeType":"YulExpressionStatement","src":"409710:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409746:4:21","nodeType":"YulLiteral","src":"409746:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"409752:2:21","nodeType":"YulIdentifier","src":"409752:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409739:6:21","nodeType":"YulIdentifier","src":"409739:6:21"},"nativeSrc":"409739:16:21","nodeType":"YulFunctionCall","src":"409739:16:21"},"nativeSrc":"409739:16:21","nodeType":"YulExpressionStatement","src":"409739:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409775:4:21","nodeType":"YulLiteral","src":"409775:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"409781:2:21","nodeType":"YulIdentifier","src":"409781:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409768:6:21","nodeType":"YulIdentifier","src":"409768:6:21"},"nativeSrc":"409768:16:21","nodeType":"YulFunctionCall","src":"409768:16:21"},"nativeSrc":"409768:16:21","nodeType":"YulExpressionStatement","src":"409768:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409804:4:21","nodeType":"YulLiteral","src":"409804:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"409810:2:21","nodeType":"YulIdentifier","src":"409810:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409797:6:21","nodeType":"YulIdentifier","src":"409797:6:21"},"nativeSrc":"409797:16:21","nodeType":"YulFunctionCall","src":"409797:16:21"},"nativeSrc":"409797:16:21","nodeType":"YulExpressionStatement","src":"409797:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409833:5:21","nodeType":"YulLiteral","src":"409833:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"409840:2:21","nodeType":"YulIdentifier","src":"409840:2:21"}],"functionName":{"name":"mstore","nativeSrc":"409826:6:21","nodeType":"YulIdentifier","src":"409826:6:21"},"nativeSrc":"409826:17:21","nodeType":"YulFunctionCall","src":"409826:17:21"},"nativeSrc":"409826:17:21","nodeType":"YulExpressionStatement","src":"409826:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39500,"isOffset":false,"isSlot":false,"src":"409607:2:21","valueSize":1},{"declaration":39503,"isOffset":false,"isSlot":false,"src":"409636:2:21","valueSize":1},{"declaration":39506,"isOffset":false,"isSlot":false,"src":"409665:2:21","valueSize":1},{"declaration":39509,"isOffset":false,"isSlot":false,"src":"409694:2:21","valueSize":1},{"declaration":39512,"isOffset":false,"isSlot":false,"src":"409723:2:21","valueSize":1},{"declaration":39515,"isOffset":false,"isSlot":false,"src":"409752:2:21","valueSize":1},{"declaration":39518,"isOffset":false,"isSlot":false,"src":"409781:2:21","valueSize":1},{"declaration":39521,"isOffset":false,"isSlot":false,"src":"409810:2:21","valueSize":1},{"declaration":39524,"isOffset":false,"isSlot":false,"src":"409840:2:21","valueSize":1}],"id":39532,"nodeType":"InlineAssembly","src":"409571:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"408258:3:21","parameters":{"id":39497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39490,"mutability":"mutable","name":"p0","nameLocation":"408270:2:21","nodeType":"VariableDeclaration","scope":39534,"src":"408262:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408262:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39492,"mutability":"mutable","name":"p1","nameLocation":"408282:2:21","nodeType":"VariableDeclaration","scope":39534,"src":"408274:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408274:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39494,"mutability":"mutable","name":"p2","nameLocation":"408291:2:21","nodeType":"VariableDeclaration","scope":39534,"src":"408286:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39493,"name":"bool","nodeType":"ElementaryTypeName","src":"408286:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39496,"mutability":"mutable","name":"p3","nameLocation":"408300:2:21","nodeType":"VariableDeclaration","scope":39534,"src":"408295:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39495,"name":"bool","nodeType":"ElementaryTypeName","src":"408295:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"408261:42:21"},"returnParameters":{"id":39498,"nodeType":"ParameterList","parameters":[],"src":"408318:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39580,"nodeType":"FunctionDefinition","src":"409865:1616:21","nodes":[],"body":{"id":39579,"nodeType":"Block","src":"409937:1544:21","nodes":[],"statements":[{"assignments":[39546],"declarations":[{"constant":false,"id":39546,"mutability":"mutable","name":"m0","nameLocation":"409955:2:21","nodeType":"VariableDeclaration","scope":39579,"src":"409947:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409947:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39547,"nodeType":"VariableDeclarationStatement","src":"409947:10:21"},{"assignments":[39549],"declarations":[{"constant":false,"id":39549,"mutability":"mutable","name":"m1","nameLocation":"409975:2:21","nodeType":"VariableDeclaration","scope":39579,"src":"409967:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409967:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39550,"nodeType":"VariableDeclarationStatement","src":"409967:10:21"},{"assignments":[39552],"declarations":[{"constant":false,"id":39552,"mutability":"mutable","name":"m2","nameLocation":"409995:2:21","nodeType":"VariableDeclaration","scope":39579,"src":"409987:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409987:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39553,"nodeType":"VariableDeclarationStatement","src":"409987:10:21"},{"assignments":[39555],"declarations":[{"constant":false,"id":39555,"mutability":"mutable","name":"m3","nameLocation":"410015:2:21","nodeType":"VariableDeclaration","scope":39579,"src":"410007:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410007:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39556,"nodeType":"VariableDeclarationStatement","src":"410007:10:21"},{"assignments":[39558],"declarations":[{"constant":false,"id":39558,"mutability":"mutable","name":"m4","nameLocation":"410035:2:21","nodeType":"VariableDeclaration","scope":39579,"src":"410027:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410027:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39559,"nodeType":"VariableDeclarationStatement","src":"410027:10:21"},{"assignments":[39561],"declarations":[{"constant":false,"id":39561,"mutability":"mutable","name":"m5","nameLocation":"410055:2:21","nodeType":"VariableDeclaration","scope":39579,"src":"410047:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410047:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39562,"nodeType":"VariableDeclarationStatement","src":"410047:10:21"},{"assignments":[39564],"declarations":[{"constant":false,"id":39564,"mutability":"mutable","name":"m6","nameLocation":"410075:2:21","nodeType":"VariableDeclaration","scope":39579,"src":"410067:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410067:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39565,"nodeType":"VariableDeclarationStatement","src":"410067:10:21"},{"assignments":[39567],"declarations":[{"constant":false,"id":39567,"mutability":"mutable","name":"m7","nameLocation":"410095:2:21","nodeType":"VariableDeclaration","scope":39579,"src":"410087:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410087:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39568,"nodeType":"VariableDeclarationStatement","src":"410087:10:21"},{"assignments":[39570],"declarations":[{"constant":false,"id":39570,"mutability":"mutable","name":"m8","nameLocation":"410115:2:21","nodeType":"VariableDeclaration","scope":39579,"src":"410107:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410107:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39571,"nodeType":"VariableDeclarationStatement","src":"410107:10:21"},{"AST":{"nativeSrc":"410179:924:21","nodeType":"YulBlock","src":"410179:924:21","statements":[{"body":{"nativeSrc":"410222:313:21","nodeType":"YulBlock","src":"410222:313:21","statements":[{"nativeSrc":"410240:15:21","nodeType":"YulVariableDeclaration","src":"410240:15:21","value":{"kind":"number","nativeSrc":"410254:1:21","nodeType":"YulLiteral","src":"410254:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"410244:6:21","nodeType":"YulTypedName","src":"410244:6:21","type":""}]},{"body":{"nativeSrc":"410325:40:21","nodeType":"YulBlock","src":"410325:40:21","statements":[{"body":{"nativeSrc":"410354:9:21","nodeType":"YulBlock","src":"410354:9:21","statements":[{"nativeSrc":"410356:5:21","nodeType":"YulBreak","src":"410356:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"410342:6:21","nodeType":"YulIdentifier","src":"410342:6:21"},{"name":"w","nativeSrc":"410350:1:21","nodeType":"YulIdentifier","src":"410350:1:21"}],"functionName":{"name":"byte","nativeSrc":"410337:4:21","nodeType":"YulIdentifier","src":"410337:4:21"},"nativeSrc":"410337:15:21","nodeType":"YulFunctionCall","src":"410337:15:21"}],"functionName":{"name":"iszero","nativeSrc":"410330:6:21","nodeType":"YulIdentifier","src":"410330:6:21"},"nativeSrc":"410330:23:21","nodeType":"YulFunctionCall","src":"410330:23:21"},"nativeSrc":"410327:36:21","nodeType":"YulIf","src":"410327:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"410282:6:21","nodeType":"YulIdentifier","src":"410282:6:21"},{"kind":"number","nativeSrc":"410290:4:21","nodeType":"YulLiteral","src":"410290:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"410279:2:21","nodeType":"YulIdentifier","src":"410279:2:21"},"nativeSrc":"410279:16:21","nodeType":"YulFunctionCall","src":"410279:16:21"},"nativeSrc":"410272:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"410296:28:21","nodeType":"YulBlock","src":"410296:28:21","statements":[{"nativeSrc":"410298:24:21","nodeType":"YulAssignment","src":"410298:24:21","value":{"arguments":[{"name":"length","nativeSrc":"410312:6:21","nodeType":"YulIdentifier","src":"410312:6:21"},{"kind":"number","nativeSrc":"410320:1:21","nodeType":"YulLiteral","src":"410320:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"410308:3:21","nodeType":"YulIdentifier","src":"410308:3:21"},"nativeSrc":"410308:14:21","nodeType":"YulFunctionCall","src":"410308:14:21"},"variableNames":[{"name":"length","nativeSrc":"410298:6:21","nodeType":"YulIdentifier","src":"410298:6:21"}]}]},"pre":{"nativeSrc":"410276:2:21","nodeType":"YulBlock","src":"410276:2:21","statements":[]},"src":"410272:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"410389:3:21","nodeType":"YulIdentifier","src":"410389:3:21"},{"name":"length","nativeSrc":"410394:6:21","nodeType":"YulIdentifier","src":"410394:6:21"}],"functionName":{"name":"mstore","nativeSrc":"410382:6:21","nodeType":"YulIdentifier","src":"410382:6:21"},"nativeSrc":"410382:19:21","nodeType":"YulFunctionCall","src":"410382:19:21"},"nativeSrc":"410382:19:21","nodeType":"YulExpressionStatement","src":"410382:19:21"},{"nativeSrc":"410418:37:21","nodeType":"YulVariableDeclaration","src":"410418:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"410435:3:21","nodeType":"YulLiteral","src":"410435:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"410444:1:21","nodeType":"YulLiteral","src":"410444:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"410447:6:21","nodeType":"YulIdentifier","src":"410447:6:21"}],"functionName":{"name":"shl","nativeSrc":"410440:3:21","nodeType":"YulIdentifier","src":"410440:3:21"},"nativeSrc":"410440:14:21","nodeType":"YulFunctionCall","src":"410440:14:21"}],"functionName":{"name":"sub","nativeSrc":"410431:3:21","nodeType":"YulIdentifier","src":"410431:3:21"},"nativeSrc":"410431:24:21","nodeType":"YulFunctionCall","src":"410431:24:21"},"variables":[{"name":"shift","nativeSrc":"410422:5:21","nodeType":"YulTypedName","src":"410422:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"410483:3:21","nodeType":"YulIdentifier","src":"410483:3:21"},{"kind":"number","nativeSrc":"410488:4:21","nodeType":"YulLiteral","src":"410488:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"410479:3:21","nodeType":"YulIdentifier","src":"410479:3:21"},"nativeSrc":"410479:14:21","nodeType":"YulFunctionCall","src":"410479:14:21"},{"arguments":[{"name":"shift","nativeSrc":"410499:5:21","nodeType":"YulIdentifier","src":"410499:5:21"},{"arguments":[{"name":"shift","nativeSrc":"410510:5:21","nodeType":"YulIdentifier","src":"410510:5:21"},{"name":"w","nativeSrc":"410517:1:21","nodeType":"YulIdentifier","src":"410517:1:21"}],"functionName":{"name":"shr","nativeSrc":"410506:3:21","nodeType":"YulIdentifier","src":"410506:3:21"},"nativeSrc":"410506:13:21","nodeType":"YulFunctionCall","src":"410506:13:21"}],"functionName":{"name":"shl","nativeSrc":"410495:3:21","nodeType":"YulIdentifier","src":"410495:3:21"},"nativeSrc":"410495:25:21","nodeType":"YulFunctionCall","src":"410495:25:21"}],"functionName":{"name":"mstore","nativeSrc":"410472:6:21","nodeType":"YulIdentifier","src":"410472:6:21"},"nativeSrc":"410472:49:21","nodeType":"YulFunctionCall","src":"410472:49:21"},"nativeSrc":"410472:49:21","nodeType":"YulExpressionStatement","src":"410472:49:21"}]},"name":"writeString","nativeSrc":"410193:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"410214:3:21","nodeType":"YulTypedName","src":"410214:3:21","type":""},{"name":"w","nativeSrc":"410219:1:21","nodeType":"YulTypedName","src":"410219:1:21","type":""}],"src":"410193:342:21"},{"nativeSrc":"410548:17:21","nodeType":"YulAssignment","src":"410548:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"410560:4:21","nodeType":"YulLiteral","src":"410560:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"410554:5:21","nodeType":"YulIdentifier","src":"410554:5:21"},"nativeSrc":"410554:11:21","nodeType":"YulFunctionCall","src":"410554:11:21"},"variableNames":[{"name":"m0","nativeSrc":"410548:2:21","nodeType":"YulIdentifier","src":"410548:2:21"}]},{"nativeSrc":"410578:17:21","nodeType":"YulAssignment","src":"410578:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"410590:4:21","nodeType":"YulLiteral","src":"410590:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"410584:5:21","nodeType":"YulIdentifier","src":"410584:5:21"},"nativeSrc":"410584:11:21","nodeType":"YulFunctionCall","src":"410584:11:21"},"variableNames":[{"name":"m1","nativeSrc":"410578:2:21","nodeType":"YulIdentifier","src":"410578:2:21"}]},{"nativeSrc":"410608:17:21","nodeType":"YulAssignment","src":"410608:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"410620:4:21","nodeType":"YulLiteral","src":"410620:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"410614:5:21","nodeType":"YulIdentifier","src":"410614:5:21"},"nativeSrc":"410614:11:21","nodeType":"YulFunctionCall","src":"410614:11:21"},"variableNames":[{"name":"m2","nativeSrc":"410608:2:21","nodeType":"YulIdentifier","src":"410608:2:21"}]},{"nativeSrc":"410638:17:21","nodeType":"YulAssignment","src":"410638:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"410650:4:21","nodeType":"YulLiteral","src":"410650:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"410644:5:21","nodeType":"YulIdentifier","src":"410644:5:21"},"nativeSrc":"410644:11:21","nodeType":"YulFunctionCall","src":"410644:11:21"},"variableNames":[{"name":"m3","nativeSrc":"410638:2:21","nodeType":"YulIdentifier","src":"410638:2:21"}]},{"nativeSrc":"410668:17:21","nodeType":"YulAssignment","src":"410668:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"410680:4:21","nodeType":"YulLiteral","src":"410680:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"410674:5:21","nodeType":"YulIdentifier","src":"410674:5:21"},"nativeSrc":"410674:11:21","nodeType":"YulFunctionCall","src":"410674:11:21"},"variableNames":[{"name":"m4","nativeSrc":"410668:2:21","nodeType":"YulIdentifier","src":"410668:2:21"}]},{"nativeSrc":"410698:17:21","nodeType":"YulAssignment","src":"410698:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"410710:4:21","nodeType":"YulLiteral","src":"410710:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"410704:5:21","nodeType":"YulIdentifier","src":"410704:5:21"},"nativeSrc":"410704:11:21","nodeType":"YulFunctionCall","src":"410704:11:21"},"variableNames":[{"name":"m5","nativeSrc":"410698:2:21","nodeType":"YulIdentifier","src":"410698:2:21"}]},{"nativeSrc":"410728:17:21","nodeType":"YulAssignment","src":"410728:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"410740:4:21","nodeType":"YulLiteral","src":"410740:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"410734:5:21","nodeType":"YulIdentifier","src":"410734:5:21"},"nativeSrc":"410734:11:21","nodeType":"YulFunctionCall","src":"410734:11:21"},"variableNames":[{"name":"m6","nativeSrc":"410728:2:21","nodeType":"YulIdentifier","src":"410728:2:21"}]},{"nativeSrc":"410758:17:21","nodeType":"YulAssignment","src":"410758:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"410770:4:21","nodeType":"YulLiteral","src":"410770:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"410764:5:21","nodeType":"YulIdentifier","src":"410764:5:21"},"nativeSrc":"410764:11:21","nodeType":"YulFunctionCall","src":"410764:11:21"},"variableNames":[{"name":"m7","nativeSrc":"410758:2:21","nodeType":"YulIdentifier","src":"410758:2:21"}]},{"nativeSrc":"410788:18:21","nodeType":"YulAssignment","src":"410788:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"410800:5:21","nodeType":"YulLiteral","src":"410800:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"410794:5:21","nodeType":"YulIdentifier","src":"410794:5:21"},"nativeSrc":"410794:12:21","nodeType":"YulFunctionCall","src":"410794:12:21"},"variableNames":[{"name":"m8","nativeSrc":"410788:2:21","nodeType":"YulIdentifier","src":"410788:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410888:4:21","nodeType":"YulLiteral","src":"410888:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"410894:10:21","nodeType":"YulLiteral","src":"410894:10:21","type":"","value":"0xd6aefad2"}],"functionName":{"name":"mstore","nativeSrc":"410881:6:21","nodeType":"YulIdentifier","src":"410881:6:21"},"nativeSrc":"410881:24:21","nodeType":"YulFunctionCall","src":"410881:24:21"},"nativeSrc":"410881:24:21","nodeType":"YulExpressionStatement","src":"410881:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410925:4:21","nodeType":"YulLiteral","src":"410925:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"410931:4:21","nodeType":"YulLiteral","src":"410931:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"410918:6:21","nodeType":"YulIdentifier","src":"410918:6:21"},"nativeSrc":"410918:18:21","nodeType":"YulFunctionCall","src":"410918:18:21"},"nativeSrc":"410918:18:21","nodeType":"YulExpressionStatement","src":"410918:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410956:4:21","nodeType":"YulLiteral","src":"410956:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"410962:4:21","nodeType":"YulLiteral","src":"410962:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"410949:6:21","nodeType":"YulIdentifier","src":"410949:6:21"},"nativeSrc":"410949:18:21","nodeType":"YulFunctionCall","src":"410949:18:21"},"nativeSrc":"410949:18:21","nodeType":"YulExpressionStatement","src":"410949:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410987:4:21","nodeType":"YulLiteral","src":"410987:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"410993:2:21","nodeType":"YulIdentifier","src":"410993:2:21"}],"functionName":{"name":"mstore","nativeSrc":"410980:6:21","nodeType":"YulIdentifier","src":"410980:6:21"},"nativeSrc":"410980:16:21","nodeType":"YulFunctionCall","src":"410980:16:21"},"nativeSrc":"410980:16:21","nodeType":"YulExpressionStatement","src":"410980:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411016:4:21","nodeType":"YulLiteral","src":"411016:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"411022:2:21","nodeType":"YulIdentifier","src":"411022:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411009:6:21","nodeType":"YulIdentifier","src":"411009:6:21"},"nativeSrc":"411009:16:21","nodeType":"YulFunctionCall","src":"411009:16:21"},"nativeSrc":"411009:16:21","nodeType":"YulExpressionStatement","src":"411009:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411050:4:21","nodeType":"YulLiteral","src":"411050:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"411056:2:21","nodeType":"YulIdentifier","src":"411056:2:21"}],"functionName":{"name":"writeString","nativeSrc":"411038:11:21","nodeType":"YulIdentifier","src":"411038:11:21"},"nativeSrc":"411038:21:21","nodeType":"YulFunctionCall","src":"411038:21:21"},"nativeSrc":"411038:21:21","nodeType":"YulExpressionStatement","src":"411038:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411084:4:21","nodeType":"YulLiteral","src":"411084:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"411090:2:21","nodeType":"YulIdentifier","src":"411090:2:21"}],"functionName":{"name":"writeString","nativeSrc":"411072:11:21","nodeType":"YulIdentifier","src":"411072:11:21"},"nativeSrc":"411072:21:21","nodeType":"YulFunctionCall","src":"411072:21:21"},"nativeSrc":"411072:21:21","nodeType":"YulExpressionStatement","src":"411072:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39546,"isOffset":false,"isSlot":false,"src":"410548:2:21","valueSize":1},{"declaration":39549,"isOffset":false,"isSlot":false,"src":"410578:2:21","valueSize":1},{"declaration":39552,"isOffset":false,"isSlot":false,"src":"410608:2:21","valueSize":1},{"declaration":39555,"isOffset":false,"isSlot":false,"src":"410638:2:21","valueSize":1},{"declaration":39558,"isOffset":false,"isSlot":false,"src":"410668:2:21","valueSize":1},{"declaration":39561,"isOffset":false,"isSlot":false,"src":"410698:2:21","valueSize":1},{"declaration":39564,"isOffset":false,"isSlot":false,"src":"410728:2:21","valueSize":1},{"declaration":39567,"isOffset":false,"isSlot":false,"src":"410758:2:21","valueSize":1},{"declaration":39570,"isOffset":false,"isSlot":false,"src":"410788:2:21","valueSize":1},{"declaration":39536,"isOffset":false,"isSlot":false,"src":"411056:2:21","valueSize":1},{"declaration":39538,"isOffset":false,"isSlot":false,"src":"411090:2:21","valueSize":1},{"declaration":39540,"isOffset":false,"isSlot":false,"src":"410993:2:21","valueSize":1},{"declaration":39542,"isOffset":false,"isSlot":false,"src":"411022:2:21","valueSize":1}],"id":39572,"nodeType":"InlineAssembly","src":"410170:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"411128:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"411134:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39573,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"411112:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"411112:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39577,"nodeType":"ExpressionStatement","src":"411112:28:21"},{"AST":{"nativeSrc":"411202:273:21","nodeType":"YulBlock","src":"411202:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"411223:4:21","nodeType":"YulLiteral","src":"411223:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"411229:2:21","nodeType":"YulIdentifier","src":"411229:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411216:6:21","nodeType":"YulIdentifier","src":"411216:6:21"},"nativeSrc":"411216:16:21","nodeType":"YulFunctionCall","src":"411216:16:21"},"nativeSrc":"411216:16:21","nodeType":"YulExpressionStatement","src":"411216:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411252:4:21","nodeType":"YulLiteral","src":"411252:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"411258:2:21","nodeType":"YulIdentifier","src":"411258:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411245:6:21","nodeType":"YulIdentifier","src":"411245:6:21"},"nativeSrc":"411245:16:21","nodeType":"YulFunctionCall","src":"411245:16:21"},"nativeSrc":"411245:16:21","nodeType":"YulExpressionStatement","src":"411245:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411281:4:21","nodeType":"YulLiteral","src":"411281:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"411287:2:21","nodeType":"YulIdentifier","src":"411287:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411274:6:21","nodeType":"YulIdentifier","src":"411274:6:21"},"nativeSrc":"411274:16:21","nodeType":"YulFunctionCall","src":"411274:16:21"},"nativeSrc":"411274:16:21","nodeType":"YulExpressionStatement","src":"411274:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411310:4:21","nodeType":"YulLiteral","src":"411310:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"411316:2:21","nodeType":"YulIdentifier","src":"411316:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411303:6:21","nodeType":"YulIdentifier","src":"411303:6:21"},"nativeSrc":"411303:16:21","nodeType":"YulFunctionCall","src":"411303:16:21"},"nativeSrc":"411303:16:21","nodeType":"YulExpressionStatement","src":"411303:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411339:4:21","nodeType":"YulLiteral","src":"411339:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"411345:2:21","nodeType":"YulIdentifier","src":"411345:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411332:6:21","nodeType":"YulIdentifier","src":"411332:6:21"},"nativeSrc":"411332:16:21","nodeType":"YulFunctionCall","src":"411332:16:21"},"nativeSrc":"411332:16:21","nodeType":"YulExpressionStatement","src":"411332:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411368:4:21","nodeType":"YulLiteral","src":"411368:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"411374:2:21","nodeType":"YulIdentifier","src":"411374:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411361:6:21","nodeType":"YulIdentifier","src":"411361:6:21"},"nativeSrc":"411361:16:21","nodeType":"YulFunctionCall","src":"411361:16:21"},"nativeSrc":"411361:16:21","nodeType":"YulExpressionStatement","src":"411361:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411397:4:21","nodeType":"YulLiteral","src":"411397:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"411403:2:21","nodeType":"YulIdentifier","src":"411403:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411390:6:21","nodeType":"YulIdentifier","src":"411390:6:21"},"nativeSrc":"411390:16:21","nodeType":"YulFunctionCall","src":"411390:16:21"},"nativeSrc":"411390:16:21","nodeType":"YulExpressionStatement","src":"411390:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411426:4:21","nodeType":"YulLiteral","src":"411426:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"411432:2:21","nodeType":"YulIdentifier","src":"411432:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411419:6:21","nodeType":"YulIdentifier","src":"411419:6:21"},"nativeSrc":"411419:16:21","nodeType":"YulFunctionCall","src":"411419:16:21"},"nativeSrc":"411419:16:21","nodeType":"YulExpressionStatement","src":"411419:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411455:5:21","nodeType":"YulLiteral","src":"411455:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"411462:2:21","nodeType":"YulIdentifier","src":"411462:2:21"}],"functionName":{"name":"mstore","nativeSrc":"411448:6:21","nodeType":"YulIdentifier","src":"411448:6:21"},"nativeSrc":"411448:17:21","nodeType":"YulFunctionCall","src":"411448:17:21"},"nativeSrc":"411448:17:21","nodeType":"YulExpressionStatement","src":"411448:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39546,"isOffset":false,"isSlot":false,"src":"411229:2:21","valueSize":1},{"declaration":39549,"isOffset":false,"isSlot":false,"src":"411258:2:21","valueSize":1},{"declaration":39552,"isOffset":false,"isSlot":false,"src":"411287:2:21","valueSize":1},{"declaration":39555,"isOffset":false,"isSlot":false,"src":"411316:2:21","valueSize":1},{"declaration":39558,"isOffset":false,"isSlot":false,"src":"411345:2:21","valueSize":1},{"declaration":39561,"isOffset":false,"isSlot":false,"src":"411374:2:21","valueSize":1},{"declaration":39564,"isOffset":false,"isSlot":false,"src":"411403:2:21","valueSize":1},{"declaration":39567,"isOffset":false,"isSlot":false,"src":"411432:2:21","valueSize":1},{"declaration":39570,"isOffset":false,"isSlot":false,"src":"411462:2:21","valueSize":1}],"id":39578,"nodeType":"InlineAssembly","src":"411193:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"409874:3:21","parameters":{"id":39543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39536,"mutability":"mutable","name":"p0","nameLocation":"409886:2:21","nodeType":"VariableDeclaration","scope":39580,"src":"409878:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39535,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409878:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39538,"mutability":"mutable","name":"p1","nameLocation":"409898:2:21","nodeType":"VariableDeclaration","scope":39580,"src":"409890:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409890:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39540,"mutability":"mutable","name":"p2","nameLocation":"409907:2:21","nodeType":"VariableDeclaration","scope":39580,"src":"409902:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39539,"name":"bool","nodeType":"ElementaryTypeName","src":"409902:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39542,"mutability":"mutable","name":"p3","nameLocation":"409919:2:21","nodeType":"VariableDeclaration","scope":39580,"src":"409911:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39541,"name":"uint256","nodeType":"ElementaryTypeName","src":"409911:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"409877:45:21"},"returnParameters":{"id":39544,"nodeType":"ParameterList","parameters":[],"src":"409937:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39632,"nodeType":"FunctionDefinition","src":"411487:1818:21","nodes":[],"body":{"id":39631,"nodeType":"Block","src":"411559:1746:21","nodes":[],"statements":[{"assignments":[39592],"declarations":[{"constant":false,"id":39592,"mutability":"mutable","name":"m0","nameLocation":"411577:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411569:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411569:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39593,"nodeType":"VariableDeclarationStatement","src":"411569:10:21"},{"assignments":[39595],"declarations":[{"constant":false,"id":39595,"mutability":"mutable","name":"m1","nameLocation":"411597:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411589:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411589:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39596,"nodeType":"VariableDeclarationStatement","src":"411589:10:21"},{"assignments":[39598],"declarations":[{"constant":false,"id":39598,"mutability":"mutable","name":"m2","nameLocation":"411617:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411609:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411609:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39599,"nodeType":"VariableDeclarationStatement","src":"411609:10:21"},{"assignments":[39601],"declarations":[{"constant":false,"id":39601,"mutability":"mutable","name":"m3","nameLocation":"411637:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411629:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411629:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39602,"nodeType":"VariableDeclarationStatement","src":"411629:10:21"},{"assignments":[39604],"declarations":[{"constant":false,"id":39604,"mutability":"mutable","name":"m4","nameLocation":"411657:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411649:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411649:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39605,"nodeType":"VariableDeclarationStatement","src":"411649:10:21"},{"assignments":[39607],"declarations":[{"constant":false,"id":39607,"mutability":"mutable","name":"m5","nameLocation":"411677:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411669:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411669:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39608,"nodeType":"VariableDeclarationStatement","src":"411669:10:21"},{"assignments":[39610],"declarations":[{"constant":false,"id":39610,"mutability":"mutable","name":"m6","nameLocation":"411697:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411689:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411689:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39611,"nodeType":"VariableDeclarationStatement","src":"411689:10:21"},{"assignments":[39613],"declarations":[{"constant":false,"id":39613,"mutability":"mutable","name":"m7","nameLocation":"411717:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411709:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411709:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39614,"nodeType":"VariableDeclarationStatement","src":"411709:10:21"},{"assignments":[39616],"declarations":[{"constant":false,"id":39616,"mutability":"mutable","name":"m8","nameLocation":"411737:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411729:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411729:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39617,"nodeType":"VariableDeclarationStatement","src":"411729:10:21"},{"assignments":[39619],"declarations":[{"constant":false,"id":39619,"mutability":"mutable","name":"m9","nameLocation":"411757:2:21","nodeType":"VariableDeclaration","scope":39631,"src":"411749:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411749:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39620,"nodeType":"VariableDeclarationStatement","src":"411749:10:21"},{"assignments":[39622],"declarations":[{"constant":false,"id":39622,"mutability":"mutable","name":"m10","nameLocation":"411777:3:21","nodeType":"VariableDeclaration","scope":39631,"src":"411769:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411769:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39623,"nodeType":"VariableDeclarationStatement","src":"411769:11:21"},{"AST":{"nativeSrc":"411842:1024:21","nodeType":"YulBlock","src":"411842:1024:21","statements":[{"body":{"nativeSrc":"411885:313:21","nodeType":"YulBlock","src":"411885:313:21","statements":[{"nativeSrc":"411903:15:21","nodeType":"YulVariableDeclaration","src":"411903:15:21","value":{"kind":"number","nativeSrc":"411917:1:21","nodeType":"YulLiteral","src":"411917:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"411907:6:21","nodeType":"YulTypedName","src":"411907:6:21","type":""}]},{"body":{"nativeSrc":"411988:40:21","nodeType":"YulBlock","src":"411988:40:21","statements":[{"body":{"nativeSrc":"412017:9:21","nodeType":"YulBlock","src":"412017:9:21","statements":[{"nativeSrc":"412019:5:21","nodeType":"YulBreak","src":"412019:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"412005:6:21","nodeType":"YulIdentifier","src":"412005:6:21"},{"name":"w","nativeSrc":"412013:1:21","nodeType":"YulIdentifier","src":"412013:1:21"}],"functionName":{"name":"byte","nativeSrc":"412000:4:21","nodeType":"YulIdentifier","src":"412000:4:21"},"nativeSrc":"412000:15:21","nodeType":"YulFunctionCall","src":"412000:15:21"}],"functionName":{"name":"iszero","nativeSrc":"411993:6:21","nodeType":"YulIdentifier","src":"411993:6:21"},"nativeSrc":"411993:23:21","nodeType":"YulFunctionCall","src":"411993:23:21"},"nativeSrc":"411990:36:21","nodeType":"YulIf","src":"411990:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"411945:6:21","nodeType":"YulIdentifier","src":"411945:6:21"},{"kind":"number","nativeSrc":"411953:4:21","nodeType":"YulLiteral","src":"411953:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"411942:2:21","nodeType":"YulIdentifier","src":"411942:2:21"},"nativeSrc":"411942:16:21","nodeType":"YulFunctionCall","src":"411942:16:21"},"nativeSrc":"411935:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"411959:28:21","nodeType":"YulBlock","src":"411959:28:21","statements":[{"nativeSrc":"411961:24:21","nodeType":"YulAssignment","src":"411961:24:21","value":{"arguments":[{"name":"length","nativeSrc":"411975:6:21","nodeType":"YulIdentifier","src":"411975:6:21"},{"kind":"number","nativeSrc":"411983:1:21","nodeType":"YulLiteral","src":"411983:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"411971:3:21","nodeType":"YulIdentifier","src":"411971:3:21"},"nativeSrc":"411971:14:21","nodeType":"YulFunctionCall","src":"411971:14:21"},"variableNames":[{"name":"length","nativeSrc":"411961:6:21","nodeType":"YulIdentifier","src":"411961:6:21"}]}]},"pre":{"nativeSrc":"411939:2:21","nodeType":"YulBlock","src":"411939:2:21","statements":[]},"src":"411935:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"412052:3:21","nodeType":"YulIdentifier","src":"412052:3:21"},{"name":"length","nativeSrc":"412057:6:21","nodeType":"YulIdentifier","src":"412057:6:21"}],"functionName":{"name":"mstore","nativeSrc":"412045:6:21","nodeType":"YulIdentifier","src":"412045:6:21"},"nativeSrc":"412045:19:21","nodeType":"YulFunctionCall","src":"412045:19:21"},"nativeSrc":"412045:19:21","nodeType":"YulExpressionStatement","src":"412045:19:21"},{"nativeSrc":"412081:37:21","nodeType":"YulVariableDeclaration","src":"412081:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"412098:3:21","nodeType":"YulLiteral","src":"412098:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"412107:1:21","nodeType":"YulLiteral","src":"412107:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"412110:6:21","nodeType":"YulIdentifier","src":"412110:6:21"}],"functionName":{"name":"shl","nativeSrc":"412103:3:21","nodeType":"YulIdentifier","src":"412103:3:21"},"nativeSrc":"412103:14:21","nodeType":"YulFunctionCall","src":"412103:14:21"}],"functionName":{"name":"sub","nativeSrc":"412094:3:21","nodeType":"YulIdentifier","src":"412094:3:21"},"nativeSrc":"412094:24:21","nodeType":"YulFunctionCall","src":"412094:24:21"},"variables":[{"name":"shift","nativeSrc":"412085:5:21","nodeType":"YulTypedName","src":"412085:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"412146:3:21","nodeType":"YulIdentifier","src":"412146:3:21"},{"kind":"number","nativeSrc":"412151:4:21","nodeType":"YulLiteral","src":"412151:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"412142:3:21","nodeType":"YulIdentifier","src":"412142:3:21"},"nativeSrc":"412142:14:21","nodeType":"YulFunctionCall","src":"412142:14:21"},{"arguments":[{"name":"shift","nativeSrc":"412162:5:21","nodeType":"YulIdentifier","src":"412162:5:21"},{"arguments":[{"name":"shift","nativeSrc":"412173:5:21","nodeType":"YulIdentifier","src":"412173:5:21"},{"name":"w","nativeSrc":"412180:1:21","nodeType":"YulIdentifier","src":"412180:1:21"}],"functionName":{"name":"shr","nativeSrc":"412169:3:21","nodeType":"YulIdentifier","src":"412169:3:21"},"nativeSrc":"412169:13:21","nodeType":"YulFunctionCall","src":"412169:13:21"}],"functionName":{"name":"shl","nativeSrc":"412158:3:21","nodeType":"YulIdentifier","src":"412158:3:21"},"nativeSrc":"412158:25:21","nodeType":"YulFunctionCall","src":"412158:25:21"}],"functionName":{"name":"mstore","nativeSrc":"412135:6:21","nodeType":"YulIdentifier","src":"412135:6:21"},"nativeSrc":"412135:49:21","nodeType":"YulFunctionCall","src":"412135:49:21"},"nativeSrc":"412135:49:21","nodeType":"YulExpressionStatement","src":"412135:49:21"}]},"name":"writeString","nativeSrc":"411856:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"411877:3:21","nodeType":"YulTypedName","src":"411877:3:21","type":""},{"name":"w","nativeSrc":"411882:1:21","nodeType":"YulTypedName","src":"411882:1:21","type":""}],"src":"411856:342:21"},{"nativeSrc":"412211:17:21","nodeType":"YulAssignment","src":"412211:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"412223:4:21","nodeType":"YulLiteral","src":"412223:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"412217:5:21","nodeType":"YulIdentifier","src":"412217:5:21"},"nativeSrc":"412217:11:21","nodeType":"YulFunctionCall","src":"412217:11:21"},"variableNames":[{"name":"m0","nativeSrc":"412211:2:21","nodeType":"YulIdentifier","src":"412211:2:21"}]},{"nativeSrc":"412241:17:21","nodeType":"YulAssignment","src":"412241:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"412253:4:21","nodeType":"YulLiteral","src":"412253:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"412247:5:21","nodeType":"YulIdentifier","src":"412247:5:21"},"nativeSrc":"412247:11:21","nodeType":"YulFunctionCall","src":"412247:11:21"},"variableNames":[{"name":"m1","nativeSrc":"412241:2:21","nodeType":"YulIdentifier","src":"412241:2:21"}]},{"nativeSrc":"412271:17:21","nodeType":"YulAssignment","src":"412271:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"412283:4:21","nodeType":"YulLiteral","src":"412283:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"412277:5:21","nodeType":"YulIdentifier","src":"412277:5:21"},"nativeSrc":"412277:11:21","nodeType":"YulFunctionCall","src":"412277:11:21"},"variableNames":[{"name":"m2","nativeSrc":"412271:2:21","nodeType":"YulIdentifier","src":"412271:2:21"}]},{"nativeSrc":"412301:17:21","nodeType":"YulAssignment","src":"412301:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"412313:4:21","nodeType":"YulLiteral","src":"412313:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"412307:5:21","nodeType":"YulIdentifier","src":"412307:5:21"},"nativeSrc":"412307:11:21","nodeType":"YulFunctionCall","src":"412307:11:21"},"variableNames":[{"name":"m3","nativeSrc":"412301:2:21","nodeType":"YulIdentifier","src":"412301:2:21"}]},{"nativeSrc":"412331:17:21","nodeType":"YulAssignment","src":"412331:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"412343:4:21","nodeType":"YulLiteral","src":"412343:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"412337:5:21","nodeType":"YulIdentifier","src":"412337:5:21"},"nativeSrc":"412337:11:21","nodeType":"YulFunctionCall","src":"412337:11:21"},"variableNames":[{"name":"m4","nativeSrc":"412331:2:21","nodeType":"YulIdentifier","src":"412331:2:21"}]},{"nativeSrc":"412361:17:21","nodeType":"YulAssignment","src":"412361:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"412373:4:21","nodeType":"YulLiteral","src":"412373:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"412367:5:21","nodeType":"YulIdentifier","src":"412367:5:21"},"nativeSrc":"412367:11:21","nodeType":"YulFunctionCall","src":"412367:11:21"},"variableNames":[{"name":"m5","nativeSrc":"412361:2:21","nodeType":"YulIdentifier","src":"412361:2:21"}]},{"nativeSrc":"412391:17:21","nodeType":"YulAssignment","src":"412391:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"412403:4:21","nodeType":"YulLiteral","src":"412403:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"412397:5:21","nodeType":"YulIdentifier","src":"412397:5:21"},"nativeSrc":"412397:11:21","nodeType":"YulFunctionCall","src":"412397:11:21"},"variableNames":[{"name":"m6","nativeSrc":"412391:2:21","nodeType":"YulIdentifier","src":"412391:2:21"}]},{"nativeSrc":"412421:17:21","nodeType":"YulAssignment","src":"412421:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"412433:4:21","nodeType":"YulLiteral","src":"412433:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"412427:5:21","nodeType":"YulIdentifier","src":"412427:5:21"},"nativeSrc":"412427:11:21","nodeType":"YulFunctionCall","src":"412427:11:21"},"variableNames":[{"name":"m7","nativeSrc":"412421:2:21","nodeType":"YulIdentifier","src":"412421:2:21"}]},{"nativeSrc":"412451:18:21","nodeType":"YulAssignment","src":"412451:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"412463:5:21","nodeType":"YulLiteral","src":"412463:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"412457:5:21","nodeType":"YulIdentifier","src":"412457:5:21"},"nativeSrc":"412457:12:21","nodeType":"YulFunctionCall","src":"412457:12:21"},"variableNames":[{"name":"m8","nativeSrc":"412451:2:21","nodeType":"YulIdentifier","src":"412451:2:21"}]},{"nativeSrc":"412482:18:21","nodeType":"YulAssignment","src":"412482:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"412494:5:21","nodeType":"YulLiteral","src":"412494:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"412488:5:21","nodeType":"YulIdentifier","src":"412488:5:21"},"nativeSrc":"412488:12:21","nodeType":"YulFunctionCall","src":"412488:12:21"},"variableNames":[{"name":"m9","nativeSrc":"412482:2:21","nodeType":"YulIdentifier","src":"412482:2:21"}]},{"nativeSrc":"412513:19:21","nodeType":"YulAssignment","src":"412513:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"412526:5:21","nodeType":"YulLiteral","src":"412526:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"412520:5:21","nodeType":"YulIdentifier","src":"412520:5:21"},"nativeSrc":"412520:12:21","nodeType":"YulFunctionCall","src":"412520:12:21"},"variableNames":[{"name":"m10","nativeSrc":"412513:3:21","nodeType":"YulIdentifier","src":"412513:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412613:4:21","nodeType":"YulLiteral","src":"412613:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"412619:10:21","nodeType":"YulLiteral","src":"412619:10:21","type":"","value":"0x5e84b0ea"}],"functionName":{"name":"mstore","nativeSrc":"412606:6:21","nodeType":"YulIdentifier","src":"412606:6:21"},"nativeSrc":"412606:24:21","nodeType":"YulFunctionCall","src":"412606:24:21"},"nativeSrc":"412606:24:21","nodeType":"YulExpressionStatement","src":"412606:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412650:4:21","nodeType":"YulLiteral","src":"412650:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"412656:4:21","nodeType":"YulLiteral","src":"412656:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"412643:6:21","nodeType":"YulIdentifier","src":"412643:6:21"},"nativeSrc":"412643:18:21","nodeType":"YulFunctionCall","src":"412643:18:21"},"nativeSrc":"412643:18:21","nodeType":"YulExpressionStatement","src":"412643:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412681:4:21","nodeType":"YulLiteral","src":"412681:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"412687:4:21","nodeType":"YulLiteral","src":"412687:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"412674:6:21","nodeType":"YulIdentifier","src":"412674:6:21"},"nativeSrc":"412674:18:21","nodeType":"YulFunctionCall","src":"412674:18:21"},"nativeSrc":"412674:18:21","nodeType":"YulExpressionStatement","src":"412674:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412712:4:21","nodeType":"YulLiteral","src":"412712:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"412718:2:21","nodeType":"YulIdentifier","src":"412718:2:21"}],"functionName":{"name":"mstore","nativeSrc":"412705:6:21","nodeType":"YulIdentifier","src":"412705:6:21"},"nativeSrc":"412705:16:21","nodeType":"YulFunctionCall","src":"412705:16:21"},"nativeSrc":"412705:16:21","nodeType":"YulExpressionStatement","src":"412705:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412741:4:21","nodeType":"YulLiteral","src":"412741:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"412747:5:21","nodeType":"YulLiteral","src":"412747:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"412734:6:21","nodeType":"YulIdentifier","src":"412734:6:21"},"nativeSrc":"412734:19:21","nodeType":"YulFunctionCall","src":"412734:19:21"},"nativeSrc":"412734:19:21","nodeType":"YulExpressionStatement","src":"412734:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412778:4:21","nodeType":"YulLiteral","src":"412778:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"412784:2:21","nodeType":"YulIdentifier","src":"412784:2:21"}],"functionName":{"name":"writeString","nativeSrc":"412766:11:21","nodeType":"YulIdentifier","src":"412766:11:21"},"nativeSrc":"412766:21:21","nodeType":"YulFunctionCall","src":"412766:21:21"},"nativeSrc":"412766:21:21","nodeType":"YulExpressionStatement","src":"412766:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412812:4:21","nodeType":"YulLiteral","src":"412812:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"412818:2:21","nodeType":"YulIdentifier","src":"412818:2:21"}],"functionName":{"name":"writeString","nativeSrc":"412800:11:21","nodeType":"YulIdentifier","src":"412800:11:21"},"nativeSrc":"412800:21:21","nodeType":"YulFunctionCall","src":"412800:21:21"},"nativeSrc":"412800:21:21","nodeType":"YulExpressionStatement","src":"412800:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412846:5:21","nodeType":"YulLiteral","src":"412846:5:21","type":"","value":"0x120"},{"name":"p3","nativeSrc":"412853:2:21","nodeType":"YulIdentifier","src":"412853:2:21"}],"functionName":{"name":"writeString","nativeSrc":"412834:11:21","nodeType":"YulIdentifier","src":"412834:11:21"},"nativeSrc":"412834:22:21","nodeType":"YulFunctionCall","src":"412834:22:21"},"nativeSrc":"412834:22:21","nodeType":"YulExpressionStatement","src":"412834:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39592,"isOffset":false,"isSlot":false,"src":"412211:2:21","valueSize":1},{"declaration":39595,"isOffset":false,"isSlot":false,"src":"412241:2:21","valueSize":1},{"declaration":39622,"isOffset":false,"isSlot":false,"src":"412513:3:21","valueSize":1},{"declaration":39598,"isOffset":false,"isSlot":false,"src":"412271:2:21","valueSize":1},{"declaration":39601,"isOffset":false,"isSlot":false,"src":"412301:2:21","valueSize":1},{"declaration":39604,"isOffset":false,"isSlot":false,"src":"412331:2:21","valueSize":1},{"declaration":39607,"isOffset":false,"isSlot":false,"src":"412361:2:21","valueSize":1},{"declaration":39610,"isOffset":false,"isSlot":false,"src":"412391:2:21","valueSize":1},{"declaration":39613,"isOffset":false,"isSlot":false,"src":"412421:2:21","valueSize":1},{"declaration":39616,"isOffset":false,"isSlot":false,"src":"412451:2:21","valueSize":1},{"declaration":39619,"isOffset":false,"isSlot":false,"src":"412482:2:21","valueSize":1},{"declaration":39582,"isOffset":false,"isSlot":false,"src":"412784:2:21","valueSize":1},{"declaration":39584,"isOffset":false,"isSlot":false,"src":"412818:2:21","valueSize":1},{"declaration":39586,"isOffset":false,"isSlot":false,"src":"412718:2:21","valueSize":1},{"declaration":39588,"isOffset":false,"isSlot":false,"src":"412853:2:21","valueSize":1}],"id":39624,"nodeType":"InlineAssembly","src":"411833:1033:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"412891:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"412897:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39625,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"412875:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"412875:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39629,"nodeType":"ExpressionStatement","src":"412875:28:21"},{"AST":{"nativeSrc":"412965:334:21","nodeType":"YulBlock","src":"412965:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"412986:4:21","nodeType":"YulLiteral","src":"412986:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"412992:2:21","nodeType":"YulIdentifier","src":"412992:2:21"}],"functionName":{"name":"mstore","nativeSrc":"412979:6:21","nodeType":"YulIdentifier","src":"412979:6:21"},"nativeSrc":"412979:16:21","nodeType":"YulFunctionCall","src":"412979:16:21"},"nativeSrc":"412979:16:21","nodeType":"YulExpressionStatement","src":"412979:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413015:4:21","nodeType":"YulLiteral","src":"413015:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"413021:2:21","nodeType":"YulIdentifier","src":"413021:2:21"}],"functionName":{"name":"mstore","nativeSrc":"413008:6:21","nodeType":"YulIdentifier","src":"413008:6:21"},"nativeSrc":"413008:16:21","nodeType":"YulFunctionCall","src":"413008:16:21"},"nativeSrc":"413008:16:21","nodeType":"YulExpressionStatement","src":"413008:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413044:4:21","nodeType":"YulLiteral","src":"413044:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"413050:2:21","nodeType":"YulIdentifier","src":"413050:2:21"}],"functionName":{"name":"mstore","nativeSrc":"413037:6:21","nodeType":"YulIdentifier","src":"413037:6:21"},"nativeSrc":"413037:16:21","nodeType":"YulFunctionCall","src":"413037:16:21"},"nativeSrc":"413037:16:21","nodeType":"YulExpressionStatement","src":"413037:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413073:4:21","nodeType":"YulLiteral","src":"413073:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"413079:2:21","nodeType":"YulIdentifier","src":"413079:2:21"}],"functionName":{"name":"mstore","nativeSrc":"413066:6:21","nodeType":"YulIdentifier","src":"413066:6:21"},"nativeSrc":"413066:16:21","nodeType":"YulFunctionCall","src":"413066:16:21"},"nativeSrc":"413066:16:21","nodeType":"YulExpressionStatement","src":"413066:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413102:4:21","nodeType":"YulLiteral","src":"413102:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"413108:2:21","nodeType":"YulIdentifier","src":"413108:2:21"}],"functionName":{"name":"mstore","nativeSrc":"413095:6:21","nodeType":"YulIdentifier","src":"413095:6:21"},"nativeSrc":"413095:16:21","nodeType":"YulFunctionCall","src":"413095:16:21"},"nativeSrc":"413095:16:21","nodeType":"YulExpressionStatement","src":"413095:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413131:4:21","nodeType":"YulLiteral","src":"413131:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"413137:2:21","nodeType":"YulIdentifier","src":"413137:2:21"}],"functionName":{"name":"mstore","nativeSrc":"413124:6:21","nodeType":"YulIdentifier","src":"413124:6:21"},"nativeSrc":"413124:16:21","nodeType":"YulFunctionCall","src":"413124:16:21"},"nativeSrc":"413124:16:21","nodeType":"YulExpressionStatement","src":"413124:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413160:4:21","nodeType":"YulLiteral","src":"413160:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"413166:2:21","nodeType":"YulIdentifier","src":"413166:2:21"}],"functionName":{"name":"mstore","nativeSrc":"413153:6:21","nodeType":"YulIdentifier","src":"413153:6:21"},"nativeSrc":"413153:16:21","nodeType":"YulFunctionCall","src":"413153:16:21"},"nativeSrc":"413153:16:21","nodeType":"YulExpressionStatement","src":"413153:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413189:4:21","nodeType":"YulLiteral","src":"413189:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"413195:2:21","nodeType":"YulIdentifier","src":"413195:2:21"}],"functionName":{"name":"mstore","nativeSrc":"413182:6:21","nodeType":"YulIdentifier","src":"413182:6:21"},"nativeSrc":"413182:16:21","nodeType":"YulFunctionCall","src":"413182:16:21"},"nativeSrc":"413182:16:21","nodeType":"YulExpressionStatement","src":"413182:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413218:5:21","nodeType":"YulLiteral","src":"413218:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"413225:2:21","nodeType":"YulIdentifier","src":"413225:2:21"}],"functionName":{"name":"mstore","nativeSrc":"413211:6:21","nodeType":"YulIdentifier","src":"413211:6:21"},"nativeSrc":"413211:17:21","nodeType":"YulFunctionCall","src":"413211:17:21"},"nativeSrc":"413211:17:21","nodeType":"YulExpressionStatement","src":"413211:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413248:5:21","nodeType":"YulLiteral","src":"413248:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"413255:2:21","nodeType":"YulIdentifier","src":"413255:2:21"}],"functionName":{"name":"mstore","nativeSrc":"413241:6:21","nodeType":"YulIdentifier","src":"413241:6:21"},"nativeSrc":"413241:17:21","nodeType":"YulFunctionCall","src":"413241:17:21"},"nativeSrc":"413241:17:21","nodeType":"YulExpressionStatement","src":"413241:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413278:5:21","nodeType":"YulLiteral","src":"413278:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"413285:3:21","nodeType":"YulIdentifier","src":"413285:3:21"}],"functionName":{"name":"mstore","nativeSrc":"413271:6:21","nodeType":"YulIdentifier","src":"413271:6:21"},"nativeSrc":"413271:18:21","nodeType":"YulFunctionCall","src":"413271:18:21"},"nativeSrc":"413271:18:21","nodeType":"YulExpressionStatement","src":"413271:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39592,"isOffset":false,"isSlot":false,"src":"412992:2:21","valueSize":1},{"declaration":39595,"isOffset":false,"isSlot":false,"src":"413021:2:21","valueSize":1},{"declaration":39622,"isOffset":false,"isSlot":false,"src":"413285:3:21","valueSize":1},{"declaration":39598,"isOffset":false,"isSlot":false,"src":"413050:2:21","valueSize":1},{"declaration":39601,"isOffset":false,"isSlot":false,"src":"413079:2:21","valueSize":1},{"declaration":39604,"isOffset":false,"isSlot":false,"src":"413108:2:21","valueSize":1},{"declaration":39607,"isOffset":false,"isSlot":false,"src":"413137:2:21","valueSize":1},{"declaration":39610,"isOffset":false,"isSlot":false,"src":"413166:2:21","valueSize":1},{"declaration":39613,"isOffset":false,"isSlot":false,"src":"413195:2:21","valueSize":1},{"declaration":39616,"isOffset":false,"isSlot":false,"src":"413225:2:21","valueSize":1},{"declaration":39619,"isOffset":false,"isSlot":false,"src":"413255:2:21","valueSize":1}],"id":39630,"nodeType":"InlineAssembly","src":"412956:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"411496:3:21","parameters":{"id":39589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39582,"mutability":"mutable","name":"p0","nameLocation":"411508:2:21","nodeType":"VariableDeclaration","scope":39632,"src":"411500:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411500:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39584,"mutability":"mutable","name":"p1","nameLocation":"411520:2:21","nodeType":"VariableDeclaration","scope":39632,"src":"411512:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411512:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39586,"mutability":"mutable","name":"p2","nameLocation":"411529:2:21","nodeType":"VariableDeclaration","scope":39632,"src":"411524:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39585,"name":"bool","nodeType":"ElementaryTypeName","src":"411524:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39588,"mutability":"mutable","name":"p3","nameLocation":"411541:2:21","nodeType":"VariableDeclaration","scope":39632,"src":"411533:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411533:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"411499:45:21"},"returnParameters":{"id":39590,"nodeType":"ParameterList","parameters":[],"src":"411559:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39678,"nodeType":"FunctionDefinition","src":"413311:1622:21","nodes":[],"body":{"id":39677,"nodeType":"Block","src":"413386:1547:21","nodes":[],"statements":[{"assignments":[39644],"declarations":[{"constant":false,"id":39644,"mutability":"mutable","name":"m0","nameLocation":"413404:2:21","nodeType":"VariableDeclaration","scope":39677,"src":"413396:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413396:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39645,"nodeType":"VariableDeclarationStatement","src":"413396:10:21"},{"assignments":[39647],"declarations":[{"constant":false,"id":39647,"mutability":"mutable","name":"m1","nameLocation":"413424:2:21","nodeType":"VariableDeclaration","scope":39677,"src":"413416:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413416:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39648,"nodeType":"VariableDeclarationStatement","src":"413416:10:21"},{"assignments":[39650],"declarations":[{"constant":false,"id":39650,"mutability":"mutable","name":"m2","nameLocation":"413444:2:21","nodeType":"VariableDeclaration","scope":39677,"src":"413436:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413436:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39651,"nodeType":"VariableDeclarationStatement","src":"413436:10:21"},{"assignments":[39653],"declarations":[{"constant":false,"id":39653,"mutability":"mutable","name":"m3","nameLocation":"413464:2:21","nodeType":"VariableDeclaration","scope":39677,"src":"413456:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413456:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39654,"nodeType":"VariableDeclarationStatement","src":"413456:10:21"},{"assignments":[39656],"declarations":[{"constant":false,"id":39656,"mutability":"mutable","name":"m4","nameLocation":"413484:2:21","nodeType":"VariableDeclaration","scope":39677,"src":"413476:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413476:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39657,"nodeType":"VariableDeclarationStatement","src":"413476:10:21"},{"assignments":[39659],"declarations":[{"constant":false,"id":39659,"mutability":"mutable","name":"m5","nameLocation":"413504:2:21","nodeType":"VariableDeclaration","scope":39677,"src":"413496:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413496:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39660,"nodeType":"VariableDeclarationStatement","src":"413496:10:21"},{"assignments":[39662],"declarations":[{"constant":false,"id":39662,"mutability":"mutable","name":"m6","nameLocation":"413524:2:21","nodeType":"VariableDeclaration","scope":39677,"src":"413516:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413516:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39663,"nodeType":"VariableDeclarationStatement","src":"413516:10:21"},{"assignments":[39665],"declarations":[{"constant":false,"id":39665,"mutability":"mutable","name":"m7","nameLocation":"413544:2:21","nodeType":"VariableDeclaration","scope":39677,"src":"413536:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413536:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39666,"nodeType":"VariableDeclarationStatement","src":"413536:10:21"},{"assignments":[39668],"declarations":[{"constant":false,"id":39668,"mutability":"mutable","name":"m8","nameLocation":"413564:2:21","nodeType":"VariableDeclaration","scope":39677,"src":"413556:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413556:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39669,"nodeType":"VariableDeclarationStatement","src":"413556:10:21"},{"AST":{"nativeSrc":"413628:927:21","nodeType":"YulBlock","src":"413628:927:21","statements":[{"body":{"nativeSrc":"413671:313:21","nodeType":"YulBlock","src":"413671:313:21","statements":[{"nativeSrc":"413689:15:21","nodeType":"YulVariableDeclaration","src":"413689:15:21","value":{"kind":"number","nativeSrc":"413703:1:21","nodeType":"YulLiteral","src":"413703:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"413693:6:21","nodeType":"YulTypedName","src":"413693:6:21","type":""}]},{"body":{"nativeSrc":"413774:40:21","nodeType":"YulBlock","src":"413774:40:21","statements":[{"body":{"nativeSrc":"413803:9:21","nodeType":"YulBlock","src":"413803:9:21","statements":[{"nativeSrc":"413805:5:21","nodeType":"YulBreak","src":"413805:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"413791:6:21","nodeType":"YulIdentifier","src":"413791:6:21"},{"name":"w","nativeSrc":"413799:1:21","nodeType":"YulIdentifier","src":"413799:1:21"}],"functionName":{"name":"byte","nativeSrc":"413786:4:21","nodeType":"YulIdentifier","src":"413786:4:21"},"nativeSrc":"413786:15:21","nodeType":"YulFunctionCall","src":"413786:15:21"}],"functionName":{"name":"iszero","nativeSrc":"413779:6:21","nodeType":"YulIdentifier","src":"413779:6:21"},"nativeSrc":"413779:23:21","nodeType":"YulFunctionCall","src":"413779:23:21"},"nativeSrc":"413776:36:21","nodeType":"YulIf","src":"413776:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"413731:6:21","nodeType":"YulIdentifier","src":"413731:6:21"},{"kind":"number","nativeSrc":"413739:4:21","nodeType":"YulLiteral","src":"413739:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"413728:2:21","nodeType":"YulIdentifier","src":"413728:2:21"},"nativeSrc":"413728:16:21","nodeType":"YulFunctionCall","src":"413728:16:21"},"nativeSrc":"413721:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"413745:28:21","nodeType":"YulBlock","src":"413745:28:21","statements":[{"nativeSrc":"413747:24:21","nodeType":"YulAssignment","src":"413747:24:21","value":{"arguments":[{"name":"length","nativeSrc":"413761:6:21","nodeType":"YulIdentifier","src":"413761:6:21"},{"kind":"number","nativeSrc":"413769:1:21","nodeType":"YulLiteral","src":"413769:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"413757:3:21","nodeType":"YulIdentifier","src":"413757:3:21"},"nativeSrc":"413757:14:21","nodeType":"YulFunctionCall","src":"413757:14:21"},"variableNames":[{"name":"length","nativeSrc":"413747:6:21","nodeType":"YulIdentifier","src":"413747:6:21"}]}]},"pre":{"nativeSrc":"413725:2:21","nodeType":"YulBlock","src":"413725:2:21","statements":[]},"src":"413721:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"413838:3:21","nodeType":"YulIdentifier","src":"413838:3:21"},{"name":"length","nativeSrc":"413843:6:21","nodeType":"YulIdentifier","src":"413843:6:21"}],"functionName":{"name":"mstore","nativeSrc":"413831:6:21","nodeType":"YulIdentifier","src":"413831:6:21"},"nativeSrc":"413831:19:21","nodeType":"YulFunctionCall","src":"413831:19:21"},"nativeSrc":"413831:19:21","nodeType":"YulExpressionStatement","src":"413831:19:21"},{"nativeSrc":"413867:37:21","nodeType":"YulVariableDeclaration","src":"413867:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"413884:3:21","nodeType":"YulLiteral","src":"413884:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"413893:1:21","nodeType":"YulLiteral","src":"413893:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"413896:6:21","nodeType":"YulIdentifier","src":"413896:6:21"}],"functionName":{"name":"shl","nativeSrc":"413889:3:21","nodeType":"YulIdentifier","src":"413889:3:21"},"nativeSrc":"413889:14:21","nodeType":"YulFunctionCall","src":"413889:14:21"}],"functionName":{"name":"sub","nativeSrc":"413880:3:21","nodeType":"YulIdentifier","src":"413880:3:21"},"nativeSrc":"413880:24:21","nodeType":"YulFunctionCall","src":"413880:24:21"},"variables":[{"name":"shift","nativeSrc":"413871:5:21","nodeType":"YulTypedName","src":"413871:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"413932:3:21","nodeType":"YulIdentifier","src":"413932:3:21"},{"kind":"number","nativeSrc":"413937:4:21","nodeType":"YulLiteral","src":"413937:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"413928:3:21","nodeType":"YulIdentifier","src":"413928:3:21"},"nativeSrc":"413928:14:21","nodeType":"YulFunctionCall","src":"413928:14:21"},{"arguments":[{"name":"shift","nativeSrc":"413948:5:21","nodeType":"YulIdentifier","src":"413948:5:21"},{"arguments":[{"name":"shift","nativeSrc":"413959:5:21","nodeType":"YulIdentifier","src":"413959:5:21"},{"name":"w","nativeSrc":"413966:1:21","nodeType":"YulIdentifier","src":"413966:1:21"}],"functionName":{"name":"shr","nativeSrc":"413955:3:21","nodeType":"YulIdentifier","src":"413955:3:21"},"nativeSrc":"413955:13:21","nodeType":"YulFunctionCall","src":"413955:13:21"}],"functionName":{"name":"shl","nativeSrc":"413944:3:21","nodeType":"YulIdentifier","src":"413944:3:21"},"nativeSrc":"413944:25:21","nodeType":"YulFunctionCall","src":"413944:25:21"}],"functionName":{"name":"mstore","nativeSrc":"413921:6:21","nodeType":"YulIdentifier","src":"413921:6:21"},"nativeSrc":"413921:49:21","nodeType":"YulFunctionCall","src":"413921:49:21"},"nativeSrc":"413921:49:21","nodeType":"YulExpressionStatement","src":"413921:49:21"}]},"name":"writeString","nativeSrc":"413642:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"413663:3:21","nodeType":"YulTypedName","src":"413663:3:21","type":""},{"name":"w","nativeSrc":"413668:1:21","nodeType":"YulTypedName","src":"413668:1:21","type":""}],"src":"413642:342:21"},{"nativeSrc":"413997:17:21","nodeType":"YulAssignment","src":"413997:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"414009:4:21","nodeType":"YulLiteral","src":"414009:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"414003:5:21","nodeType":"YulIdentifier","src":"414003:5:21"},"nativeSrc":"414003:11:21","nodeType":"YulFunctionCall","src":"414003:11:21"},"variableNames":[{"name":"m0","nativeSrc":"413997:2:21","nodeType":"YulIdentifier","src":"413997:2:21"}]},{"nativeSrc":"414027:17:21","nodeType":"YulAssignment","src":"414027:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"414039:4:21","nodeType":"YulLiteral","src":"414039:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"414033:5:21","nodeType":"YulIdentifier","src":"414033:5:21"},"nativeSrc":"414033:11:21","nodeType":"YulFunctionCall","src":"414033:11:21"},"variableNames":[{"name":"m1","nativeSrc":"414027:2:21","nodeType":"YulIdentifier","src":"414027:2:21"}]},{"nativeSrc":"414057:17:21","nodeType":"YulAssignment","src":"414057:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"414069:4:21","nodeType":"YulLiteral","src":"414069:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"414063:5:21","nodeType":"YulIdentifier","src":"414063:5:21"},"nativeSrc":"414063:11:21","nodeType":"YulFunctionCall","src":"414063:11:21"},"variableNames":[{"name":"m2","nativeSrc":"414057:2:21","nodeType":"YulIdentifier","src":"414057:2:21"}]},{"nativeSrc":"414087:17:21","nodeType":"YulAssignment","src":"414087:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"414099:4:21","nodeType":"YulLiteral","src":"414099:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"414093:5:21","nodeType":"YulIdentifier","src":"414093:5:21"},"nativeSrc":"414093:11:21","nodeType":"YulFunctionCall","src":"414093:11:21"},"variableNames":[{"name":"m3","nativeSrc":"414087:2:21","nodeType":"YulIdentifier","src":"414087:2:21"}]},{"nativeSrc":"414117:17:21","nodeType":"YulAssignment","src":"414117:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"414129:4:21","nodeType":"YulLiteral","src":"414129:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"414123:5:21","nodeType":"YulIdentifier","src":"414123:5:21"},"nativeSrc":"414123:11:21","nodeType":"YulFunctionCall","src":"414123:11:21"},"variableNames":[{"name":"m4","nativeSrc":"414117:2:21","nodeType":"YulIdentifier","src":"414117:2:21"}]},{"nativeSrc":"414147:17:21","nodeType":"YulAssignment","src":"414147:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"414159:4:21","nodeType":"YulLiteral","src":"414159:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"414153:5:21","nodeType":"YulIdentifier","src":"414153:5:21"},"nativeSrc":"414153:11:21","nodeType":"YulFunctionCall","src":"414153:11:21"},"variableNames":[{"name":"m5","nativeSrc":"414147:2:21","nodeType":"YulIdentifier","src":"414147:2:21"}]},{"nativeSrc":"414177:17:21","nodeType":"YulAssignment","src":"414177:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"414189:4:21","nodeType":"YulLiteral","src":"414189:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"414183:5:21","nodeType":"YulIdentifier","src":"414183:5:21"},"nativeSrc":"414183:11:21","nodeType":"YulFunctionCall","src":"414183:11:21"},"variableNames":[{"name":"m6","nativeSrc":"414177:2:21","nodeType":"YulIdentifier","src":"414177:2:21"}]},{"nativeSrc":"414207:17:21","nodeType":"YulAssignment","src":"414207:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"414219:4:21","nodeType":"YulLiteral","src":"414219:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"414213:5:21","nodeType":"YulIdentifier","src":"414213:5:21"},"nativeSrc":"414213:11:21","nodeType":"YulFunctionCall","src":"414213:11:21"},"variableNames":[{"name":"m7","nativeSrc":"414207:2:21","nodeType":"YulIdentifier","src":"414207:2:21"}]},{"nativeSrc":"414237:18:21","nodeType":"YulAssignment","src":"414237:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"414249:5:21","nodeType":"YulLiteral","src":"414249:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"414243:5:21","nodeType":"YulIdentifier","src":"414243:5:21"},"nativeSrc":"414243:12:21","nodeType":"YulFunctionCall","src":"414243:12:21"},"variableNames":[{"name":"m8","nativeSrc":"414237:2:21","nodeType":"YulIdentifier","src":"414237:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414340:4:21","nodeType":"YulLiteral","src":"414340:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"414346:10:21","nodeType":"YulLiteral","src":"414346:10:21","type":"","value":"0x1023f7b2"}],"functionName":{"name":"mstore","nativeSrc":"414333:6:21","nodeType":"YulIdentifier","src":"414333:6:21"},"nativeSrc":"414333:24:21","nodeType":"YulFunctionCall","src":"414333:24:21"},"nativeSrc":"414333:24:21","nodeType":"YulExpressionStatement","src":"414333:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414377:4:21","nodeType":"YulLiteral","src":"414377:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"414383:4:21","nodeType":"YulLiteral","src":"414383:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"414370:6:21","nodeType":"YulIdentifier","src":"414370:6:21"},"nativeSrc":"414370:18:21","nodeType":"YulFunctionCall","src":"414370:18:21"},"nativeSrc":"414370:18:21","nodeType":"YulExpressionStatement","src":"414370:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414408:4:21","nodeType":"YulLiteral","src":"414408:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"414414:4:21","nodeType":"YulLiteral","src":"414414:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"414401:6:21","nodeType":"YulIdentifier","src":"414401:6:21"},"nativeSrc":"414401:18:21","nodeType":"YulFunctionCall","src":"414401:18:21"},"nativeSrc":"414401:18:21","nodeType":"YulExpressionStatement","src":"414401:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414439:4:21","nodeType":"YulLiteral","src":"414439:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"414445:2:21","nodeType":"YulIdentifier","src":"414445:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414432:6:21","nodeType":"YulIdentifier","src":"414432:6:21"},"nativeSrc":"414432:16:21","nodeType":"YulFunctionCall","src":"414432:16:21"},"nativeSrc":"414432:16:21","nodeType":"YulExpressionStatement","src":"414432:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414468:4:21","nodeType":"YulLiteral","src":"414468:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"414474:2:21","nodeType":"YulIdentifier","src":"414474:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414461:6:21","nodeType":"YulIdentifier","src":"414461:6:21"},"nativeSrc":"414461:16:21","nodeType":"YulFunctionCall","src":"414461:16:21"},"nativeSrc":"414461:16:21","nodeType":"YulExpressionStatement","src":"414461:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414502:4:21","nodeType":"YulLiteral","src":"414502:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"414508:2:21","nodeType":"YulIdentifier","src":"414508:2:21"}],"functionName":{"name":"writeString","nativeSrc":"414490:11:21","nodeType":"YulIdentifier","src":"414490:11:21"},"nativeSrc":"414490:21:21","nodeType":"YulFunctionCall","src":"414490:21:21"},"nativeSrc":"414490:21:21","nodeType":"YulExpressionStatement","src":"414490:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414536:4:21","nodeType":"YulLiteral","src":"414536:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"414542:2:21","nodeType":"YulIdentifier","src":"414542:2:21"}],"functionName":{"name":"writeString","nativeSrc":"414524:11:21","nodeType":"YulIdentifier","src":"414524:11:21"},"nativeSrc":"414524:21:21","nodeType":"YulFunctionCall","src":"414524:21:21"},"nativeSrc":"414524:21:21","nodeType":"YulExpressionStatement","src":"414524:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39644,"isOffset":false,"isSlot":false,"src":"413997:2:21","valueSize":1},{"declaration":39647,"isOffset":false,"isSlot":false,"src":"414027:2:21","valueSize":1},{"declaration":39650,"isOffset":false,"isSlot":false,"src":"414057:2:21","valueSize":1},{"declaration":39653,"isOffset":false,"isSlot":false,"src":"414087:2:21","valueSize":1},{"declaration":39656,"isOffset":false,"isSlot":false,"src":"414117:2:21","valueSize":1},{"declaration":39659,"isOffset":false,"isSlot":false,"src":"414147:2:21","valueSize":1},{"declaration":39662,"isOffset":false,"isSlot":false,"src":"414177:2:21","valueSize":1},{"declaration":39665,"isOffset":false,"isSlot":false,"src":"414207:2:21","valueSize":1},{"declaration":39668,"isOffset":false,"isSlot":false,"src":"414237:2:21","valueSize":1},{"declaration":39634,"isOffset":false,"isSlot":false,"src":"414508:2:21","valueSize":1},{"declaration":39636,"isOffset":false,"isSlot":false,"src":"414542:2:21","valueSize":1},{"declaration":39638,"isOffset":false,"isSlot":false,"src":"414445:2:21","valueSize":1},{"declaration":39640,"isOffset":false,"isSlot":false,"src":"414474:2:21","valueSize":1}],"id":39670,"nodeType":"InlineAssembly","src":"413619:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"414580:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"414586:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39671,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"414564:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"414564:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39675,"nodeType":"ExpressionStatement","src":"414564:28:21"},{"AST":{"nativeSrc":"414654:273:21","nodeType":"YulBlock","src":"414654:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"414675:4:21","nodeType":"YulLiteral","src":"414675:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"414681:2:21","nodeType":"YulIdentifier","src":"414681:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414668:6:21","nodeType":"YulIdentifier","src":"414668:6:21"},"nativeSrc":"414668:16:21","nodeType":"YulFunctionCall","src":"414668:16:21"},"nativeSrc":"414668:16:21","nodeType":"YulExpressionStatement","src":"414668:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414704:4:21","nodeType":"YulLiteral","src":"414704:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"414710:2:21","nodeType":"YulIdentifier","src":"414710:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414697:6:21","nodeType":"YulIdentifier","src":"414697:6:21"},"nativeSrc":"414697:16:21","nodeType":"YulFunctionCall","src":"414697:16:21"},"nativeSrc":"414697:16:21","nodeType":"YulExpressionStatement","src":"414697:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414733:4:21","nodeType":"YulLiteral","src":"414733:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"414739:2:21","nodeType":"YulIdentifier","src":"414739:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414726:6:21","nodeType":"YulIdentifier","src":"414726:6:21"},"nativeSrc":"414726:16:21","nodeType":"YulFunctionCall","src":"414726:16:21"},"nativeSrc":"414726:16:21","nodeType":"YulExpressionStatement","src":"414726:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414762:4:21","nodeType":"YulLiteral","src":"414762:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"414768:2:21","nodeType":"YulIdentifier","src":"414768:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414755:6:21","nodeType":"YulIdentifier","src":"414755:6:21"},"nativeSrc":"414755:16:21","nodeType":"YulFunctionCall","src":"414755:16:21"},"nativeSrc":"414755:16:21","nodeType":"YulExpressionStatement","src":"414755:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414791:4:21","nodeType":"YulLiteral","src":"414791:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"414797:2:21","nodeType":"YulIdentifier","src":"414797:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414784:6:21","nodeType":"YulIdentifier","src":"414784:6:21"},"nativeSrc":"414784:16:21","nodeType":"YulFunctionCall","src":"414784:16:21"},"nativeSrc":"414784:16:21","nodeType":"YulExpressionStatement","src":"414784:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414820:4:21","nodeType":"YulLiteral","src":"414820:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"414826:2:21","nodeType":"YulIdentifier","src":"414826:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414813:6:21","nodeType":"YulIdentifier","src":"414813:6:21"},"nativeSrc":"414813:16:21","nodeType":"YulFunctionCall","src":"414813:16:21"},"nativeSrc":"414813:16:21","nodeType":"YulExpressionStatement","src":"414813:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414849:4:21","nodeType":"YulLiteral","src":"414849:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"414855:2:21","nodeType":"YulIdentifier","src":"414855:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414842:6:21","nodeType":"YulIdentifier","src":"414842:6:21"},"nativeSrc":"414842:16:21","nodeType":"YulFunctionCall","src":"414842:16:21"},"nativeSrc":"414842:16:21","nodeType":"YulExpressionStatement","src":"414842:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414878:4:21","nodeType":"YulLiteral","src":"414878:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"414884:2:21","nodeType":"YulIdentifier","src":"414884:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414871:6:21","nodeType":"YulIdentifier","src":"414871:6:21"},"nativeSrc":"414871:16:21","nodeType":"YulFunctionCall","src":"414871:16:21"},"nativeSrc":"414871:16:21","nodeType":"YulExpressionStatement","src":"414871:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414907:5:21","nodeType":"YulLiteral","src":"414907:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"414914:2:21","nodeType":"YulIdentifier","src":"414914:2:21"}],"functionName":{"name":"mstore","nativeSrc":"414900:6:21","nodeType":"YulIdentifier","src":"414900:6:21"},"nativeSrc":"414900:17:21","nodeType":"YulFunctionCall","src":"414900:17:21"},"nativeSrc":"414900:17:21","nodeType":"YulExpressionStatement","src":"414900:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39644,"isOffset":false,"isSlot":false,"src":"414681:2:21","valueSize":1},{"declaration":39647,"isOffset":false,"isSlot":false,"src":"414710:2:21","valueSize":1},{"declaration":39650,"isOffset":false,"isSlot":false,"src":"414739:2:21","valueSize":1},{"declaration":39653,"isOffset":false,"isSlot":false,"src":"414768:2:21","valueSize":1},{"declaration":39656,"isOffset":false,"isSlot":false,"src":"414797:2:21","valueSize":1},{"declaration":39659,"isOffset":false,"isSlot":false,"src":"414826:2:21","valueSize":1},{"declaration":39662,"isOffset":false,"isSlot":false,"src":"414855:2:21","valueSize":1},{"declaration":39665,"isOffset":false,"isSlot":false,"src":"414884:2:21","valueSize":1},{"declaration":39668,"isOffset":false,"isSlot":false,"src":"414914:2:21","valueSize":1}],"id":39676,"nodeType":"InlineAssembly","src":"414645:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"413320:3:21","parameters":{"id":39641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39634,"mutability":"mutable","name":"p0","nameLocation":"413332:2:21","nodeType":"VariableDeclaration","scope":39678,"src":"413324:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413324:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39636,"mutability":"mutable","name":"p1","nameLocation":"413344:2:21","nodeType":"VariableDeclaration","scope":39678,"src":"413336:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413336:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39638,"mutability":"mutable","name":"p2","nameLocation":"413356:2:21","nodeType":"VariableDeclaration","scope":39678,"src":"413348:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39637,"name":"uint256","nodeType":"ElementaryTypeName","src":"413348:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39640,"mutability":"mutable","name":"p3","nameLocation":"413368:2:21","nodeType":"VariableDeclaration","scope":39678,"src":"413360:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39639,"name":"address","nodeType":"ElementaryTypeName","src":"413360:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"413323:48:21"},"returnParameters":{"id":39642,"nodeType":"ParameterList","parameters":[],"src":"413386:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39724,"nodeType":"FunctionDefinition","src":"414939:1616:21","nodes":[],"body":{"id":39723,"nodeType":"Block","src":"415011:1544:21","nodes":[],"statements":[{"assignments":[39690],"declarations":[{"constant":false,"id":39690,"mutability":"mutable","name":"m0","nameLocation":"415029:2:21","nodeType":"VariableDeclaration","scope":39723,"src":"415021:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415021:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39691,"nodeType":"VariableDeclarationStatement","src":"415021:10:21"},{"assignments":[39693],"declarations":[{"constant":false,"id":39693,"mutability":"mutable","name":"m1","nameLocation":"415049:2:21","nodeType":"VariableDeclaration","scope":39723,"src":"415041:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415041:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39694,"nodeType":"VariableDeclarationStatement","src":"415041:10:21"},{"assignments":[39696],"declarations":[{"constant":false,"id":39696,"mutability":"mutable","name":"m2","nameLocation":"415069:2:21","nodeType":"VariableDeclaration","scope":39723,"src":"415061:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415061:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39697,"nodeType":"VariableDeclarationStatement","src":"415061:10:21"},{"assignments":[39699],"declarations":[{"constant":false,"id":39699,"mutability":"mutable","name":"m3","nameLocation":"415089:2:21","nodeType":"VariableDeclaration","scope":39723,"src":"415081:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415081:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39700,"nodeType":"VariableDeclarationStatement","src":"415081:10:21"},{"assignments":[39702],"declarations":[{"constant":false,"id":39702,"mutability":"mutable","name":"m4","nameLocation":"415109:2:21","nodeType":"VariableDeclaration","scope":39723,"src":"415101:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415101:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39703,"nodeType":"VariableDeclarationStatement","src":"415101:10:21"},{"assignments":[39705],"declarations":[{"constant":false,"id":39705,"mutability":"mutable","name":"m5","nameLocation":"415129:2:21","nodeType":"VariableDeclaration","scope":39723,"src":"415121:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415121:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39706,"nodeType":"VariableDeclarationStatement","src":"415121:10:21"},{"assignments":[39708],"declarations":[{"constant":false,"id":39708,"mutability":"mutable","name":"m6","nameLocation":"415149:2:21","nodeType":"VariableDeclaration","scope":39723,"src":"415141:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415141:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39709,"nodeType":"VariableDeclarationStatement","src":"415141:10:21"},{"assignments":[39711],"declarations":[{"constant":false,"id":39711,"mutability":"mutable","name":"m7","nameLocation":"415169:2:21","nodeType":"VariableDeclaration","scope":39723,"src":"415161:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415161:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39712,"nodeType":"VariableDeclarationStatement","src":"415161:10:21"},{"assignments":[39714],"declarations":[{"constant":false,"id":39714,"mutability":"mutable","name":"m8","nameLocation":"415189:2:21","nodeType":"VariableDeclaration","scope":39723,"src":"415181:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415181:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39715,"nodeType":"VariableDeclarationStatement","src":"415181:10:21"},{"AST":{"nativeSrc":"415253:924:21","nodeType":"YulBlock","src":"415253:924:21","statements":[{"body":{"nativeSrc":"415296:313:21","nodeType":"YulBlock","src":"415296:313:21","statements":[{"nativeSrc":"415314:15:21","nodeType":"YulVariableDeclaration","src":"415314:15:21","value":{"kind":"number","nativeSrc":"415328:1:21","nodeType":"YulLiteral","src":"415328:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"415318:6:21","nodeType":"YulTypedName","src":"415318:6:21","type":""}]},{"body":{"nativeSrc":"415399:40:21","nodeType":"YulBlock","src":"415399:40:21","statements":[{"body":{"nativeSrc":"415428:9:21","nodeType":"YulBlock","src":"415428:9:21","statements":[{"nativeSrc":"415430:5:21","nodeType":"YulBreak","src":"415430:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"415416:6:21","nodeType":"YulIdentifier","src":"415416:6:21"},{"name":"w","nativeSrc":"415424:1:21","nodeType":"YulIdentifier","src":"415424:1:21"}],"functionName":{"name":"byte","nativeSrc":"415411:4:21","nodeType":"YulIdentifier","src":"415411:4:21"},"nativeSrc":"415411:15:21","nodeType":"YulFunctionCall","src":"415411:15:21"}],"functionName":{"name":"iszero","nativeSrc":"415404:6:21","nodeType":"YulIdentifier","src":"415404:6:21"},"nativeSrc":"415404:23:21","nodeType":"YulFunctionCall","src":"415404:23:21"},"nativeSrc":"415401:36:21","nodeType":"YulIf","src":"415401:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"415356:6:21","nodeType":"YulIdentifier","src":"415356:6:21"},{"kind":"number","nativeSrc":"415364:4:21","nodeType":"YulLiteral","src":"415364:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"415353:2:21","nodeType":"YulIdentifier","src":"415353:2:21"},"nativeSrc":"415353:16:21","nodeType":"YulFunctionCall","src":"415353:16:21"},"nativeSrc":"415346:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"415370:28:21","nodeType":"YulBlock","src":"415370:28:21","statements":[{"nativeSrc":"415372:24:21","nodeType":"YulAssignment","src":"415372:24:21","value":{"arguments":[{"name":"length","nativeSrc":"415386:6:21","nodeType":"YulIdentifier","src":"415386:6:21"},{"kind":"number","nativeSrc":"415394:1:21","nodeType":"YulLiteral","src":"415394:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"415382:3:21","nodeType":"YulIdentifier","src":"415382:3:21"},"nativeSrc":"415382:14:21","nodeType":"YulFunctionCall","src":"415382:14:21"},"variableNames":[{"name":"length","nativeSrc":"415372:6:21","nodeType":"YulIdentifier","src":"415372:6:21"}]}]},"pre":{"nativeSrc":"415350:2:21","nodeType":"YulBlock","src":"415350:2:21","statements":[]},"src":"415346:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"415463:3:21","nodeType":"YulIdentifier","src":"415463:3:21"},{"name":"length","nativeSrc":"415468:6:21","nodeType":"YulIdentifier","src":"415468:6:21"}],"functionName":{"name":"mstore","nativeSrc":"415456:6:21","nodeType":"YulIdentifier","src":"415456:6:21"},"nativeSrc":"415456:19:21","nodeType":"YulFunctionCall","src":"415456:19:21"},"nativeSrc":"415456:19:21","nodeType":"YulExpressionStatement","src":"415456:19:21"},{"nativeSrc":"415492:37:21","nodeType":"YulVariableDeclaration","src":"415492:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"415509:3:21","nodeType":"YulLiteral","src":"415509:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"415518:1:21","nodeType":"YulLiteral","src":"415518:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"415521:6:21","nodeType":"YulIdentifier","src":"415521:6:21"}],"functionName":{"name":"shl","nativeSrc":"415514:3:21","nodeType":"YulIdentifier","src":"415514:3:21"},"nativeSrc":"415514:14:21","nodeType":"YulFunctionCall","src":"415514:14:21"}],"functionName":{"name":"sub","nativeSrc":"415505:3:21","nodeType":"YulIdentifier","src":"415505:3:21"},"nativeSrc":"415505:24:21","nodeType":"YulFunctionCall","src":"415505:24:21"},"variables":[{"name":"shift","nativeSrc":"415496:5:21","nodeType":"YulTypedName","src":"415496:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"415557:3:21","nodeType":"YulIdentifier","src":"415557:3:21"},{"kind":"number","nativeSrc":"415562:4:21","nodeType":"YulLiteral","src":"415562:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"415553:3:21","nodeType":"YulIdentifier","src":"415553:3:21"},"nativeSrc":"415553:14:21","nodeType":"YulFunctionCall","src":"415553:14:21"},{"arguments":[{"name":"shift","nativeSrc":"415573:5:21","nodeType":"YulIdentifier","src":"415573:5:21"},{"arguments":[{"name":"shift","nativeSrc":"415584:5:21","nodeType":"YulIdentifier","src":"415584:5:21"},{"name":"w","nativeSrc":"415591:1:21","nodeType":"YulIdentifier","src":"415591:1:21"}],"functionName":{"name":"shr","nativeSrc":"415580:3:21","nodeType":"YulIdentifier","src":"415580:3:21"},"nativeSrc":"415580:13:21","nodeType":"YulFunctionCall","src":"415580:13:21"}],"functionName":{"name":"shl","nativeSrc":"415569:3:21","nodeType":"YulIdentifier","src":"415569:3:21"},"nativeSrc":"415569:25:21","nodeType":"YulFunctionCall","src":"415569:25:21"}],"functionName":{"name":"mstore","nativeSrc":"415546:6:21","nodeType":"YulIdentifier","src":"415546:6:21"},"nativeSrc":"415546:49:21","nodeType":"YulFunctionCall","src":"415546:49:21"},"nativeSrc":"415546:49:21","nodeType":"YulExpressionStatement","src":"415546:49:21"}]},"name":"writeString","nativeSrc":"415267:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"415288:3:21","nodeType":"YulTypedName","src":"415288:3:21","type":""},{"name":"w","nativeSrc":"415293:1:21","nodeType":"YulTypedName","src":"415293:1:21","type":""}],"src":"415267:342:21"},{"nativeSrc":"415622:17:21","nodeType":"YulAssignment","src":"415622:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"415634:4:21","nodeType":"YulLiteral","src":"415634:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"415628:5:21","nodeType":"YulIdentifier","src":"415628:5:21"},"nativeSrc":"415628:11:21","nodeType":"YulFunctionCall","src":"415628:11:21"},"variableNames":[{"name":"m0","nativeSrc":"415622:2:21","nodeType":"YulIdentifier","src":"415622:2:21"}]},{"nativeSrc":"415652:17:21","nodeType":"YulAssignment","src":"415652:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"415664:4:21","nodeType":"YulLiteral","src":"415664:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"415658:5:21","nodeType":"YulIdentifier","src":"415658:5:21"},"nativeSrc":"415658:11:21","nodeType":"YulFunctionCall","src":"415658:11:21"},"variableNames":[{"name":"m1","nativeSrc":"415652:2:21","nodeType":"YulIdentifier","src":"415652:2:21"}]},{"nativeSrc":"415682:17:21","nodeType":"YulAssignment","src":"415682:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"415694:4:21","nodeType":"YulLiteral","src":"415694:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"415688:5:21","nodeType":"YulIdentifier","src":"415688:5:21"},"nativeSrc":"415688:11:21","nodeType":"YulFunctionCall","src":"415688:11:21"},"variableNames":[{"name":"m2","nativeSrc":"415682:2:21","nodeType":"YulIdentifier","src":"415682:2:21"}]},{"nativeSrc":"415712:17:21","nodeType":"YulAssignment","src":"415712:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"415724:4:21","nodeType":"YulLiteral","src":"415724:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"415718:5:21","nodeType":"YulIdentifier","src":"415718:5:21"},"nativeSrc":"415718:11:21","nodeType":"YulFunctionCall","src":"415718:11:21"},"variableNames":[{"name":"m3","nativeSrc":"415712:2:21","nodeType":"YulIdentifier","src":"415712:2:21"}]},{"nativeSrc":"415742:17:21","nodeType":"YulAssignment","src":"415742:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"415754:4:21","nodeType":"YulLiteral","src":"415754:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"415748:5:21","nodeType":"YulIdentifier","src":"415748:5:21"},"nativeSrc":"415748:11:21","nodeType":"YulFunctionCall","src":"415748:11:21"},"variableNames":[{"name":"m4","nativeSrc":"415742:2:21","nodeType":"YulIdentifier","src":"415742:2:21"}]},{"nativeSrc":"415772:17:21","nodeType":"YulAssignment","src":"415772:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"415784:4:21","nodeType":"YulLiteral","src":"415784:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"415778:5:21","nodeType":"YulIdentifier","src":"415778:5:21"},"nativeSrc":"415778:11:21","nodeType":"YulFunctionCall","src":"415778:11:21"},"variableNames":[{"name":"m5","nativeSrc":"415772:2:21","nodeType":"YulIdentifier","src":"415772:2:21"}]},{"nativeSrc":"415802:17:21","nodeType":"YulAssignment","src":"415802:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"415814:4:21","nodeType":"YulLiteral","src":"415814:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"415808:5:21","nodeType":"YulIdentifier","src":"415808:5:21"},"nativeSrc":"415808:11:21","nodeType":"YulFunctionCall","src":"415808:11:21"},"variableNames":[{"name":"m6","nativeSrc":"415802:2:21","nodeType":"YulIdentifier","src":"415802:2:21"}]},{"nativeSrc":"415832:17:21","nodeType":"YulAssignment","src":"415832:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"415844:4:21","nodeType":"YulLiteral","src":"415844:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"415838:5:21","nodeType":"YulIdentifier","src":"415838:5:21"},"nativeSrc":"415838:11:21","nodeType":"YulFunctionCall","src":"415838:11:21"},"variableNames":[{"name":"m7","nativeSrc":"415832:2:21","nodeType":"YulIdentifier","src":"415832:2:21"}]},{"nativeSrc":"415862:18:21","nodeType":"YulAssignment","src":"415862:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"415874:5:21","nodeType":"YulLiteral","src":"415874:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"415868:5:21","nodeType":"YulIdentifier","src":"415868:5:21"},"nativeSrc":"415868:12:21","nodeType":"YulFunctionCall","src":"415868:12:21"},"variableNames":[{"name":"m8","nativeSrc":"415862:2:21","nodeType":"YulIdentifier","src":"415862:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"415962:4:21","nodeType":"YulLiteral","src":"415962:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"415968:10:21","nodeType":"YulLiteral","src":"415968:10:21","type":"","value":"0xc3a8a654"}],"functionName":{"name":"mstore","nativeSrc":"415955:6:21","nodeType":"YulIdentifier","src":"415955:6:21"},"nativeSrc":"415955:24:21","nodeType":"YulFunctionCall","src":"415955:24:21"},"nativeSrc":"415955:24:21","nodeType":"YulExpressionStatement","src":"415955:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"415999:4:21","nodeType":"YulLiteral","src":"415999:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"416005:4:21","nodeType":"YulLiteral","src":"416005:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"415992:6:21","nodeType":"YulIdentifier","src":"415992:6:21"},"nativeSrc":"415992:18:21","nodeType":"YulFunctionCall","src":"415992:18:21"},"nativeSrc":"415992:18:21","nodeType":"YulExpressionStatement","src":"415992:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416030:4:21","nodeType":"YulLiteral","src":"416030:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"416036:4:21","nodeType":"YulLiteral","src":"416036:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"416023:6:21","nodeType":"YulIdentifier","src":"416023:6:21"},"nativeSrc":"416023:18:21","nodeType":"YulFunctionCall","src":"416023:18:21"},"nativeSrc":"416023:18:21","nodeType":"YulExpressionStatement","src":"416023:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416061:4:21","nodeType":"YulLiteral","src":"416061:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"416067:2:21","nodeType":"YulIdentifier","src":"416067:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416054:6:21","nodeType":"YulIdentifier","src":"416054:6:21"},"nativeSrc":"416054:16:21","nodeType":"YulFunctionCall","src":"416054:16:21"},"nativeSrc":"416054:16:21","nodeType":"YulExpressionStatement","src":"416054:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416090:4:21","nodeType":"YulLiteral","src":"416090:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"416096:2:21","nodeType":"YulIdentifier","src":"416096:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416083:6:21","nodeType":"YulIdentifier","src":"416083:6:21"},"nativeSrc":"416083:16:21","nodeType":"YulFunctionCall","src":"416083:16:21"},"nativeSrc":"416083:16:21","nodeType":"YulExpressionStatement","src":"416083:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416124:4:21","nodeType":"YulLiteral","src":"416124:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"416130:2:21","nodeType":"YulIdentifier","src":"416130:2:21"}],"functionName":{"name":"writeString","nativeSrc":"416112:11:21","nodeType":"YulIdentifier","src":"416112:11:21"},"nativeSrc":"416112:21:21","nodeType":"YulFunctionCall","src":"416112:21:21"},"nativeSrc":"416112:21:21","nodeType":"YulExpressionStatement","src":"416112:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416158:4:21","nodeType":"YulLiteral","src":"416158:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"416164:2:21","nodeType":"YulIdentifier","src":"416164:2:21"}],"functionName":{"name":"writeString","nativeSrc":"416146:11:21","nodeType":"YulIdentifier","src":"416146:11:21"},"nativeSrc":"416146:21:21","nodeType":"YulFunctionCall","src":"416146:21:21"},"nativeSrc":"416146:21:21","nodeType":"YulExpressionStatement","src":"416146:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39690,"isOffset":false,"isSlot":false,"src":"415622:2:21","valueSize":1},{"declaration":39693,"isOffset":false,"isSlot":false,"src":"415652:2:21","valueSize":1},{"declaration":39696,"isOffset":false,"isSlot":false,"src":"415682:2:21","valueSize":1},{"declaration":39699,"isOffset":false,"isSlot":false,"src":"415712:2:21","valueSize":1},{"declaration":39702,"isOffset":false,"isSlot":false,"src":"415742:2:21","valueSize":1},{"declaration":39705,"isOffset":false,"isSlot":false,"src":"415772:2:21","valueSize":1},{"declaration":39708,"isOffset":false,"isSlot":false,"src":"415802:2:21","valueSize":1},{"declaration":39711,"isOffset":false,"isSlot":false,"src":"415832:2:21","valueSize":1},{"declaration":39714,"isOffset":false,"isSlot":false,"src":"415862:2:21","valueSize":1},{"declaration":39680,"isOffset":false,"isSlot":false,"src":"416130:2:21","valueSize":1},{"declaration":39682,"isOffset":false,"isSlot":false,"src":"416164:2:21","valueSize":1},{"declaration":39684,"isOffset":false,"isSlot":false,"src":"416067:2:21","valueSize":1},{"declaration":39686,"isOffset":false,"isSlot":false,"src":"416096:2:21","valueSize":1}],"id":39716,"nodeType":"InlineAssembly","src":"415244:933:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"416202:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"416208:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39717,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"416186:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"416186:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39721,"nodeType":"ExpressionStatement","src":"416186:28:21"},{"AST":{"nativeSrc":"416276:273:21","nodeType":"YulBlock","src":"416276:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"416297:4:21","nodeType":"YulLiteral","src":"416297:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"416303:2:21","nodeType":"YulIdentifier","src":"416303:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416290:6:21","nodeType":"YulIdentifier","src":"416290:6:21"},"nativeSrc":"416290:16:21","nodeType":"YulFunctionCall","src":"416290:16:21"},"nativeSrc":"416290:16:21","nodeType":"YulExpressionStatement","src":"416290:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416326:4:21","nodeType":"YulLiteral","src":"416326:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"416332:2:21","nodeType":"YulIdentifier","src":"416332:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416319:6:21","nodeType":"YulIdentifier","src":"416319:6:21"},"nativeSrc":"416319:16:21","nodeType":"YulFunctionCall","src":"416319:16:21"},"nativeSrc":"416319:16:21","nodeType":"YulExpressionStatement","src":"416319:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416355:4:21","nodeType":"YulLiteral","src":"416355:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"416361:2:21","nodeType":"YulIdentifier","src":"416361:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416348:6:21","nodeType":"YulIdentifier","src":"416348:6:21"},"nativeSrc":"416348:16:21","nodeType":"YulFunctionCall","src":"416348:16:21"},"nativeSrc":"416348:16:21","nodeType":"YulExpressionStatement","src":"416348:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416384:4:21","nodeType":"YulLiteral","src":"416384:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"416390:2:21","nodeType":"YulIdentifier","src":"416390:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416377:6:21","nodeType":"YulIdentifier","src":"416377:6:21"},"nativeSrc":"416377:16:21","nodeType":"YulFunctionCall","src":"416377:16:21"},"nativeSrc":"416377:16:21","nodeType":"YulExpressionStatement","src":"416377:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416413:4:21","nodeType":"YulLiteral","src":"416413:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"416419:2:21","nodeType":"YulIdentifier","src":"416419:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416406:6:21","nodeType":"YulIdentifier","src":"416406:6:21"},"nativeSrc":"416406:16:21","nodeType":"YulFunctionCall","src":"416406:16:21"},"nativeSrc":"416406:16:21","nodeType":"YulExpressionStatement","src":"416406:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416442:4:21","nodeType":"YulLiteral","src":"416442:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"416448:2:21","nodeType":"YulIdentifier","src":"416448:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416435:6:21","nodeType":"YulIdentifier","src":"416435:6:21"},"nativeSrc":"416435:16:21","nodeType":"YulFunctionCall","src":"416435:16:21"},"nativeSrc":"416435:16:21","nodeType":"YulExpressionStatement","src":"416435:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416471:4:21","nodeType":"YulLiteral","src":"416471:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"416477:2:21","nodeType":"YulIdentifier","src":"416477:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416464:6:21","nodeType":"YulIdentifier","src":"416464:6:21"},"nativeSrc":"416464:16:21","nodeType":"YulFunctionCall","src":"416464:16:21"},"nativeSrc":"416464:16:21","nodeType":"YulExpressionStatement","src":"416464:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416500:4:21","nodeType":"YulLiteral","src":"416500:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"416506:2:21","nodeType":"YulIdentifier","src":"416506:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416493:6:21","nodeType":"YulIdentifier","src":"416493:6:21"},"nativeSrc":"416493:16:21","nodeType":"YulFunctionCall","src":"416493:16:21"},"nativeSrc":"416493:16:21","nodeType":"YulExpressionStatement","src":"416493:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416529:5:21","nodeType":"YulLiteral","src":"416529:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"416536:2:21","nodeType":"YulIdentifier","src":"416536:2:21"}],"functionName":{"name":"mstore","nativeSrc":"416522:6:21","nodeType":"YulIdentifier","src":"416522:6:21"},"nativeSrc":"416522:17:21","nodeType":"YulFunctionCall","src":"416522:17:21"},"nativeSrc":"416522:17:21","nodeType":"YulExpressionStatement","src":"416522:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39690,"isOffset":false,"isSlot":false,"src":"416303:2:21","valueSize":1},{"declaration":39693,"isOffset":false,"isSlot":false,"src":"416332:2:21","valueSize":1},{"declaration":39696,"isOffset":false,"isSlot":false,"src":"416361:2:21","valueSize":1},{"declaration":39699,"isOffset":false,"isSlot":false,"src":"416390:2:21","valueSize":1},{"declaration":39702,"isOffset":false,"isSlot":false,"src":"416419:2:21","valueSize":1},{"declaration":39705,"isOffset":false,"isSlot":false,"src":"416448:2:21","valueSize":1},{"declaration":39708,"isOffset":false,"isSlot":false,"src":"416477:2:21","valueSize":1},{"declaration":39711,"isOffset":false,"isSlot":false,"src":"416506:2:21","valueSize":1},{"declaration":39714,"isOffset":false,"isSlot":false,"src":"416536:2:21","valueSize":1}],"id":39722,"nodeType":"InlineAssembly","src":"416267:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"414948:3:21","parameters":{"id":39687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39680,"mutability":"mutable","name":"p0","nameLocation":"414960:2:21","nodeType":"VariableDeclaration","scope":39724,"src":"414952:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"414952:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39682,"mutability":"mutable","name":"p1","nameLocation":"414972:2:21","nodeType":"VariableDeclaration","scope":39724,"src":"414964:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"414964:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39684,"mutability":"mutable","name":"p2","nameLocation":"414984:2:21","nodeType":"VariableDeclaration","scope":39724,"src":"414976:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39683,"name":"uint256","nodeType":"ElementaryTypeName","src":"414976:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39686,"mutability":"mutable","name":"p3","nameLocation":"414993:2:21","nodeType":"VariableDeclaration","scope":39724,"src":"414988:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39685,"name":"bool","nodeType":"ElementaryTypeName","src":"414988:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"414951:45:21"},"returnParameters":{"id":39688,"nodeType":"ParameterList","parameters":[],"src":"415011:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39770,"nodeType":"FunctionDefinition","src":"416561:1622:21","nodes":[],"body":{"id":39769,"nodeType":"Block","src":"416636:1547:21","nodes":[],"statements":[{"assignments":[39736],"declarations":[{"constant":false,"id":39736,"mutability":"mutable","name":"m0","nameLocation":"416654:2:21","nodeType":"VariableDeclaration","scope":39769,"src":"416646:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416646:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39737,"nodeType":"VariableDeclarationStatement","src":"416646:10:21"},{"assignments":[39739],"declarations":[{"constant":false,"id":39739,"mutability":"mutable","name":"m1","nameLocation":"416674:2:21","nodeType":"VariableDeclaration","scope":39769,"src":"416666:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416666:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39740,"nodeType":"VariableDeclarationStatement","src":"416666:10:21"},{"assignments":[39742],"declarations":[{"constant":false,"id":39742,"mutability":"mutable","name":"m2","nameLocation":"416694:2:21","nodeType":"VariableDeclaration","scope":39769,"src":"416686:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416686:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39743,"nodeType":"VariableDeclarationStatement","src":"416686:10:21"},{"assignments":[39745],"declarations":[{"constant":false,"id":39745,"mutability":"mutable","name":"m3","nameLocation":"416714:2:21","nodeType":"VariableDeclaration","scope":39769,"src":"416706:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416706:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39746,"nodeType":"VariableDeclarationStatement","src":"416706:10:21"},{"assignments":[39748],"declarations":[{"constant":false,"id":39748,"mutability":"mutable","name":"m4","nameLocation":"416734:2:21","nodeType":"VariableDeclaration","scope":39769,"src":"416726:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416726:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39749,"nodeType":"VariableDeclarationStatement","src":"416726:10:21"},{"assignments":[39751],"declarations":[{"constant":false,"id":39751,"mutability":"mutable","name":"m5","nameLocation":"416754:2:21","nodeType":"VariableDeclaration","scope":39769,"src":"416746:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416746:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39752,"nodeType":"VariableDeclarationStatement","src":"416746:10:21"},{"assignments":[39754],"declarations":[{"constant":false,"id":39754,"mutability":"mutable","name":"m6","nameLocation":"416774:2:21","nodeType":"VariableDeclaration","scope":39769,"src":"416766:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416766:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39755,"nodeType":"VariableDeclarationStatement","src":"416766:10:21"},{"assignments":[39757],"declarations":[{"constant":false,"id":39757,"mutability":"mutable","name":"m7","nameLocation":"416794:2:21","nodeType":"VariableDeclaration","scope":39769,"src":"416786:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416786:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39758,"nodeType":"VariableDeclarationStatement","src":"416786:10:21"},{"assignments":[39760],"declarations":[{"constant":false,"id":39760,"mutability":"mutable","name":"m8","nameLocation":"416814:2:21","nodeType":"VariableDeclaration","scope":39769,"src":"416806:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416806:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39761,"nodeType":"VariableDeclarationStatement","src":"416806:10:21"},{"AST":{"nativeSrc":"416878:927:21","nodeType":"YulBlock","src":"416878:927:21","statements":[{"body":{"nativeSrc":"416921:313:21","nodeType":"YulBlock","src":"416921:313:21","statements":[{"nativeSrc":"416939:15:21","nodeType":"YulVariableDeclaration","src":"416939:15:21","value":{"kind":"number","nativeSrc":"416953:1:21","nodeType":"YulLiteral","src":"416953:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"416943:6:21","nodeType":"YulTypedName","src":"416943:6:21","type":""}]},{"body":{"nativeSrc":"417024:40:21","nodeType":"YulBlock","src":"417024:40:21","statements":[{"body":{"nativeSrc":"417053:9:21","nodeType":"YulBlock","src":"417053:9:21","statements":[{"nativeSrc":"417055:5:21","nodeType":"YulBreak","src":"417055:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"417041:6:21","nodeType":"YulIdentifier","src":"417041:6:21"},{"name":"w","nativeSrc":"417049:1:21","nodeType":"YulIdentifier","src":"417049:1:21"}],"functionName":{"name":"byte","nativeSrc":"417036:4:21","nodeType":"YulIdentifier","src":"417036:4:21"},"nativeSrc":"417036:15:21","nodeType":"YulFunctionCall","src":"417036:15:21"}],"functionName":{"name":"iszero","nativeSrc":"417029:6:21","nodeType":"YulIdentifier","src":"417029:6:21"},"nativeSrc":"417029:23:21","nodeType":"YulFunctionCall","src":"417029:23:21"},"nativeSrc":"417026:36:21","nodeType":"YulIf","src":"417026:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"416981:6:21","nodeType":"YulIdentifier","src":"416981:6:21"},{"kind":"number","nativeSrc":"416989:4:21","nodeType":"YulLiteral","src":"416989:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"416978:2:21","nodeType":"YulIdentifier","src":"416978:2:21"},"nativeSrc":"416978:16:21","nodeType":"YulFunctionCall","src":"416978:16:21"},"nativeSrc":"416971:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"416995:28:21","nodeType":"YulBlock","src":"416995:28:21","statements":[{"nativeSrc":"416997:24:21","nodeType":"YulAssignment","src":"416997:24:21","value":{"arguments":[{"name":"length","nativeSrc":"417011:6:21","nodeType":"YulIdentifier","src":"417011:6:21"},{"kind":"number","nativeSrc":"417019:1:21","nodeType":"YulLiteral","src":"417019:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"417007:3:21","nodeType":"YulIdentifier","src":"417007:3:21"},"nativeSrc":"417007:14:21","nodeType":"YulFunctionCall","src":"417007:14:21"},"variableNames":[{"name":"length","nativeSrc":"416997:6:21","nodeType":"YulIdentifier","src":"416997:6:21"}]}]},"pre":{"nativeSrc":"416975:2:21","nodeType":"YulBlock","src":"416975:2:21","statements":[]},"src":"416971:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"417088:3:21","nodeType":"YulIdentifier","src":"417088:3:21"},{"name":"length","nativeSrc":"417093:6:21","nodeType":"YulIdentifier","src":"417093:6:21"}],"functionName":{"name":"mstore","nativeSrc":"417081:6:21","nodeType":"YulIdentifier","src":"417081:6:21"},"nativeSrc":"417081:19:21","nodeType":"YulFunctionCall","src":"417081:19:21"},"nativeSrc":"417081:19:21","nodeType":"YulExpressionStatement","src":"417081:19:21"},{"nativeSrc":"417117:37:21","nodeType":"YulVariableDeclaration","src":"417117:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"417134:3:21","nodeType":"YulLiteral","src":"417134:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"417143:1:21","nodeType":"YulLiteral","src":"417143:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"417146:6:21","nodeType":"YulIdentifier","src":"417146:6:21"}],"functionName":{"name":"shl","nativeSrc":"417139:3:21","nodeType":"YulIdentifier","src":"417139:3:21"},"nativeSrc":"417139:14:21","nodeType":"YulFunctionCall","src":"417139:14:21"}],"functionName":{"name":"sub","nativeSrc":"417130:3:21","nodeType":"YulIdentifier","src":"417130:3:21"},"nativeSrc":"417130:24:21","nodeType":"YulFunctionCall","src":"417130:24:21"},"variables":[{"name":"shift","nativeSrc":"417121:5:21","nodeType":"YulTypedName","src":"417121:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"417182:3:21","nodeType":"YulIdentifier","src":"417182:3:21"},{"kind":"number","nativeSrc":"417187:4:21","nodeType":"YulLiteral","src":"417187:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"417178:3:21","nodeType":"YulIdentifier","src":"417178:3:21"},"nativeSrc":"417178:14:21","nodeType":"YulFunctionCall","src":"417178:14:21"},{"arguments":[{"name":"shift","nativeSrc":"417198:5:21","nodeType":"YulIdentifier","src":"417198:5:21"},{"arguments":[{"name":"shift","nativeSrc":"417209:5:21","nodeType":"YulIdentifier","src":"417209:5:21"},{"name":"w","nativeSrc":"417216:1:21","nodeType":"YulIdentifier","src":"417216:1:21"}],"functionName":{"name":"shr","nativeSrc":"417205:3:21","nodeType":"YulIdentifier","src":"417205:3:21"},"nativeSrc":"417205:13:21","nodeType":"YulFunctionCall","src":"417205:13:21"}],"functionName":{"name":"shl","nativeSrc":"417194:3:21","nodeType":"YulIdentifier","src":"417194:3:21"},"nativeSrc":"417194:25:21","nodeType":"YulFunctionCall","src":"417194:25:21"}],"functionName":{"name":"mstore","nativeSrc":"417171:6:21","nodeType":"YulIdentifier","src":"417171:6:21"},"nativeSrc":"417171:49:21","nodeType":"YulFunctionCall","src":"417171:49:21"},"nativeSrc":"417171:49:21","nodeType":"YulExpressionStatement","src":"417171:49:21"}]},"name":"writeString","nativeSrc":"416892:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"416913:3:21","nodeType":"YulTypedName","src":"416913:3:21","type":""},{"name":"w","nativeSrc":"416918:1:21","nodeType":"YulTypedName","src":"416918:1:21","type":""}],"src":"416892:342:21"},{"nativeSrc":"417247:17:21","nodeType":"YulAssignment","src":"417247:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"417259:4:21","nodeType":"YulLiteral","src":"417259:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"417253:5:21","nodeType":"YulIdentifier","src":"417253:5:21"},"nativeSrc":"417253:11:21","nodeType":"YulFunctionCall","src":"417253:11:21"},"variableNames":[{"name":"m0","nativeSrc":"417247:2:21","nodeType":"YulIdentifier","src":"417247:2:21"}]},{"nativeSrc":"417277:17:21","nodeType":"YulAssignment","src":"417277:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"417289:4:21","nodeType":"YulLiteral","src":"417289:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"417283:5:21","nodeType":"YulIdentifier","src":"417283:5:21"},"nativeSrc":"417283:11:21","nodeType":"YulFunctionCall","src":"417283:11:21"},"variableNames":[{"name":"m1","nativeSrc":"417277:2:21","nodeType":"YulIdentifier","src":"417277:2:21"}]},{"nativeSrc":"417307:17:21","nodeType":"YulAssignment","src":"417307:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"417319:4:21","nodeType":"YulLiteral","src":"417319:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"417313:5:21","nodeType":"YulIdentifier","src":"417313:5:21"},"nativeSrc":"417313:11:21","nodeType":"YulFunctionCall","src":"417313:11:21"},"variableNames":[{"name":"m2","nativeSrc":"417307:2:21","nodeType":"YulIdentifier","src":"417307:2:21"}]},{"nativeSrc":"417337:17:21","nodeType":"YulAssignment","src":"417337:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"417349:4:21","nodeType":"YulLiteral","src":"417349:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"417343:5:21","nodeType":"YulIdentifier","src":"417343:5:21"},"nativeSrc":"417343:11:21","nodeType":"YulFunctionCall","src":"417343:11:21"},"variableNames":[{"name":"m3","nativeSrc":"417337:2:21","nodeType":"YulIdentifier","src":"417337:2:21"}]},{"nativeSrc":"417367:17:21","nodeType":"YulAssignment","src":"417367:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"417379:4:21","nodeType":"YulLiteral","src":"417379:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"417373:5:21","nodeType":"YulIdentifier","src":"417373:5:21"},"nativeSrc":"417373:11:21","nodeType":"YulFunctionCall","src":"417373:11:21"},"variableNames":[{"name":"m4","nativeSrc":"417367:2:21","nodeType":"YulIdentifier","src":"417367:2:21"}]},{"nativeSrc":"417397:17:21","nodeType":"YulAssignment","src":"417397:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"417409:4:21","nodeType":"YulLiteral","src":"417409:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"417403:5:21","nodeType":"YulIdentifier","src":"417403:5:21"},"nativeSrc":"417403:11:21","nodeType":"YulFunctionCall","src":"417403:11:21"},"variableNames":[{"name":"m5","nativeSrc":"417397:2:21","nodeType":"YulIdentifier","src":"417397:2:21"}]},{"nativeSrc":"417427:17:21","nodeType":"YulAssignment","src":"417427:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"417439:4:21","nodeType":"YulLiteral","src":"417439:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"417433:5:21","nodeType":"YulIdentifier","src":"417433:5:21"},"nativeSrc":"417433:11:21","nodeType":"YulFunctionCall","src":"417433:11:21"},"variableNames":[{"name":"m6","nativeSrc":"417427:2:21","nodeType":"YulIdentifier","src":"417427:2:21"}]},{"nativeSrc":"417457:17:21","nodeType":"YulAssignment","src":"417457:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"417469:4:21","nodeType":"YulLiteral","src":"417469:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"417463:5:21","nodeType":"YulIdentifier","src":"417463:5:21"},"nativeSrc":"417463:11:21","nodeType":"YulFunctionCall","src":"417463:11:21"},"variableNames":[{"name":"m7","nativeSrc":"417457:2:21","nodeType":"YulIdentifier","src":"417457:2:21"}]},{"nativeSrc":"417487:18:21","nodeType":"YulAssignment","src":"417487:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"417499:5:21","nodeType":"YulLiteral","src":"417499:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"417493:5:21","nodeType":"YulIdentifier","src":"417493:5:21"},"nativeSrc":"417493:12:21","nodeType":"YulFunctionCall","src":"417493:12:21"},"variableNames":[{"name":"m8","nativeSrc":"417487:2:21","nodeType":"YulIdentifier","src":"417487:2:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417590:4:21","nodeType":"YulLiteral","src":"417590:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"417596:10:21","nodeType":"YulLiteral","src":"417596:10:21","type":"","value":"0xf45d7d2c"}],"functionName":{"name":"mstore","nativeSrc":"417583:6:21","nodeType":"YulIdentifier","src":"417583:6:21"},"nativeSrc":"417583:24:21","nodeType":"YulFunctionCall","src":"417583:24:21"},"nativeSrc":"417583:24:21","nodeType":"YulExpressionStatement","src":"417583:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417627:4:21","nodeType":"YulLiteral","src":"417627:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"417633:4:21","nodeType":"YulLiteral","src":"417633:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"417620:6:21","nodeType":"YulIdentifier","src":"417620:6:21"},"nativeSrc":"417620:18:21","nodeType":"YulFunctionCall","src":"417620:18:21"},"nativeSrc":"417620:18:21","nodeType":"YulExpressionStatement","src":"417620:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417658:4:21","nodeType":"YulLiteral","src":"417658:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"417664:4:21","nodeType":"YulLiteral","src":"417664:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"417651:6:21","nodeType":"YulIdentifier","src":"417651:6:21"},"nativeSrc":"417651:18:21","nodeType":"YulFunctionCall","src":"417651:18:21"},"nativeSrc":"417651:18:21","nodeType":"YulExpressionStatement","src":"417651:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417689:4:21","nodeType":"YulLiteral","src":"417689:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"417695:2:21","nodeType":"YulIdentifier","src":"417695:2:21"}],"functionName":{"name":"mstore","nativeSrc":"417682:6:21","nodeType":"YulIdentifier","src":"417682:6:21"},"nativeSrc":"417682:16:21","nodeType":"YulFunctionCall","src":"417682:16:21"},"nativeSrc":"417682:16:21","nodeType":"YulExpressionStatement","src":"417682:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417718:4:21","nodeType":"YulLiteral","src":"417718:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"417724:2:21","nodeType":"YulIdentifier","src":"417724:2:21"}],"functionName":{"name":"mstore","nativeSrc":"417711:6:21","nodeType":"YulIdentifier","src":"417711:6:21"},"nativeSrc":"417711:16:21","nodeType":"YulFunctionCall","src":"417711:16:21"},"nativeSrc":"417711:16:21","nodeType":"YulExpressionStatement","src":"417711:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417752:4:21","nodeType":"YulLiteral","src":"417752:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"417758:2:21","nodeType":"YulIdentifier","src":"417758:2:21"}],"functionName":{"name":"writeString","nativeSrc":"417740:11:21","nodeType":"YulIdentifier","src":"417740:11:21"},"nativeSrc":"417740:21:21","nodeType":"YulFunctionCall","src":"417740:21:21"},"nativeSrc":"417740:21:21","nodeType":"YulExpressionStatement","src":"417740:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417786:4:21","nodeType":"YulLiteral","src":"417786:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"417792:2:21","nodeType":"YulIdentifier","src":"417792:2:21"}],"functionName":{"name":"writeString","nativeSrc":"417774:11:21","nodeType":"YulIdentifier","src":"417774:11:21"},"nativeSrc":"417774:21:21","nodeType":"YulFunctionCall","src":"417774:21:21"},"nativeSrc":"417774:21:21","nodeType":"YulExpressionStatement","src":"417774:21:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39736,"isOffset":false,"isSlot":false,"src":"417247:2:21","valueSize":1},{"declaration":39739,"isOffset":false,"isSlot":false,"src":"417277:2:21","valueSize":1},{"declaration":39742,"isOffset":false,"isSlot":false,"src":"417307:2:21","valueSize":1},{"declaration":39745,"isOffset":false,"isSlot":false,"src":"417337:2:21","valueSize":1},{"declaration":39748,"isOffset":false,"isSlot":false,"src":"417367:2:21","valueSize":1},{"declaration":39751,"isOffset":false,"isSlot":false,"src":"417397:2:21","valueSize":1},{"declaration":39754,"isOffset":false,"isSlot":false,"src":"417427:2:21","valueSize":1},{"declaration":39757,"isOffset":false,"isSlot":false,"src":"417457:2:21","valueSize":1},{"declaration":39760,"isOffset":false,"isSlot":false,"src":"417487:2:21","valueSize":1},{"declaration":39726,"isOffset":false,"isSlot":false,"src":"417758:2:21","valueSize":1},{"declaration":39728,"isOffset":false,"isSlot":false,"src":"417792:2:21","valueSize":1},{"declaration":39730,"isOffset":false,"isSlot":false,"src":"417695:2:21","valueSize":1},{"declaration":39732,"isOffset":false,"isSlot":false,"src":"417724:2:21","valueSize":1}],"id":39762,"nodeType":"InlineAssembly","src":"416869:936:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"417830:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"417836:5:21","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39763,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"417814:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"417814:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39767,"nodeType":"ExpressionStatement","src":"417814:28:21"},{"AST":{"nativeSrc":"417904:273:21","nodeType":"YulBlock","src":"417904:273:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"417925:4:21","nodeType":"YulLiteral","src":"417925:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"417931:2:21","nodeType":"YulIdentifier","src":"417931:2:21"}],"functionName":{"name":"mstore","nativeSrc":"417918:6:21","nodeType":"YulIdentifier","src":"417918:6:21"},"nativeSrc":"417918:16:21","nodeType":"YulFunctionCall","src":"417918:16:21"},"nativeSrc":"417918:16:21","nodeType":"YulExpressionStatement","src":"417918:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417954:4:21","nodeType":"YulLiteral","src":"417954:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"417960:2:21","nodeType":"YulIdentifier","src":"417960:2:21"}],"functionName":{"name":"mstore","nativeSrc":"417947:6:21","nodeType":"YulIdentifier","src":"417947:6:21"},"nativeSrc":"417947:16:21","nodeType":"YulFunctionCall","src":"417947:16:21"},"nativeSrc":"417947:16:21","nodeType":"YulExpressionStatement","src":"417947:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417983:4:21","nodeType":"YulLiteral","src":"417983:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"417989:2:21","nodeType":"YulIdentifier","src":"417989:2:21"}],"functionName":{"name":"mstore","nativeSrc":"417976:6:21","nodeType":"YulIdentifier","src":"417976:6:21"},"nativeSrc":"417976:16:21","nodeType":"YulFunctionCall","src":"417976:16:21"},"nativeSrc":"417976:16:21","nodeType":"YulExpressionStatement","src":"417976:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418012:4:21","nodeType":"YulLiteral","src":"418012:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"418018:2:21","nodeType":"YulIdentifier","src":"418018:2:21"}],"functionName":{"name":"mstore","nativeSrc":"418005:6:21","nodeType":"YulIdentifier","src":"418005:6:21"},"nativeSrc":"418005:16:21","nodeType":"YulFunctionCall","src":"418005:16:21"},"nativeSrc":"418005:16:21","nodeType":"YulExpressionStatement","src":"418005:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418041:4:21","nodeType":"YulLiteral","src":"418041:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"418047:2:21","nodeType":"YulIdentifier","src":"418047:2:21"}],"functionName":{"name":"mstore","nativeSrc":"418034:6:21","nodeType":"YulIdentifier","src":"418034:6:21"},"nativeSrc":"418034:16:21","nodeType":"YulFunctionCall","src":"418034:16:21"},"nativeSrc":"418034:16:21","nodeType":"YulExpressionStatement","src":"418034:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418070:4:21","nodeType":"YulLiteral","src":"418070:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"418076:2:21","nodeType":"YulIdentifier","src":"418076:2:21"}],"functionName":{"name":"mstore","nativeSrc":"418063:6:21","nodeType":"YulIdentifier","src":"418063:6:21"},"nativeSrc":"418063:16:21","nodeType":"YulFunctionCall","src":"418063:16:21"},"nativeSrc":"418063:16:21","nodeType":"YulExpressionStatement","src":"418063:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418099:4:21","nodeType":"YulLiteral","src":"418099:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"418105:2:21","nodeType":"YulIdentifier","src":"418105:2:21"}],"functionName":{"name":"mstore","nativeSrc":"418092:6:21","nodeType":"YulIdentifier","src":"418092:6:21"},"nativeSrc":"418092:16:21","nodeType":"YulFunctionCall","src":"418092:16:21"},"nativeSrc":"418092:16:21","nodeType":"YulExpressionStatement","src":"418092:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418128:4:21","nodeType":"YulLiteral","src":"418128:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"418134:2:21","nodeType":"YulIdentifier","src":"418134:2:21"}],"functionName":{"name":"mstore","nativeSrc":"418121:6:21","nodeType":"YulIdentifier","src":"418121:6:21"},"nativeSrc":"418121:16:21","nodeType":"YulFunctionCall","src":"418121:16:21"},"nativeSrc":"418121:16:21","nodeType":"YulExpressionStatement","src":"418121:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418157:5:21","nodeType":"YulLiteral","src":"418157:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"418164:2:21","nodeType":"YulIdentifier","src":"418164:2:21"}],"functionName":{"name":"mstore","nativeSrc":"418150:6:21","nodeType":"YulIdentifier","src":"418150:6:21"},"nativeSrc":"418150:17:21","nodeType":"YulFunctionCall","src":"418150:17:21"},"nativeSrc":"418150:17:21","nodeType":"YulExpressionStatement","src":"418150:17:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39736,"isOffset":false,"isSlot":false,"src":"417931:2:21","valueSize":1},{"declaration":39739,"isOffset":false,"isSlot":false,"src":"417960:2:21","valueSize":1},{"declaration":39742,"isOffset":false,"isSlot":false,"src":"417989:2:21","valueSize":1},{"declaration":39745,"isOffset":false,"isSlot":false,"src":"418018:2:21","valueSize":1},{"declaration":39748,"isOffset":false,"isSlot":false,"src":"418047:2:21","valueSize":1},{"declaration":39751,"isOffset":false,"isSlot":false,"src":"418076:2:21","valueSize":1},{"declaration":39754,"isOffset":false,"isSlot":false,"src":"418105:2:21","valueSize":1},{"declaration":39757,"isOffset":false,"isSlot":false,"src":"418134:2:21","valueSize":1},{"declaration":39760,"isOffset":false,"isSlot":false,"src":"418164:2:21","valueSize":1}],"id":39768,"nodeType":"InlineAssembly","src":"417895:282:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"416570:3:21","parameters":{"id":39733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39726,"mutability":"mutable","name":"p0","nameLocation":"416582:2:21","nodeType":"VariableDeclaration","scope":39770,"src":"416574:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416574:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39728,"mutability":"mutable","name":"p1","nameLocation":"416594:2:21","nodeType":"VariableDeclaration","scope":39770,"src":"416586:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416586:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39730,"mutability":"mutable","name":"p2","nameLocation":"416606:2:21","nodeType":"VariableDeclaration","scope":39770,"src":"416598:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39729,"name":"uint256","nodeType":"ElementaryTypeName","src":"416598:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39732,"mutability":"mutable","name":"p3","nameLocation":"416618:2:21","nodeType":"VariableDeclaration","scope":39770,"src":"416610:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39731,"name":"uint256","nodeType":"ElementaryTypeName","src":"416610:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"416573:48:21"},"returnParameters":{"id":39734,"nodeType":"ParameterList","parameters":[],"src":"416636:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39822,"nodeType":"FunctionDefinition","src":"418189:1824:21","nodes":[],"body":{"id":39821,"nodeType":"Block","src":"418264:1749:21","nodes":[],"statements":[{"assignments":[39782],"declarations":[{"constant":false,"id":39782,"mutability":"mutable","name":"m0","nameLocation":"418282:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418274:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418274:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39783,"nodeType":"VariableDeclarationStatement","src":"418274:10:21"},{"assignments":[39785],"declarations":[{"constant":false,"id":39785,"mutability":"mutable","name":"m1","nameLocation":"418302:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418294:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418294:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39786,"nodeType":"VariableDeclarationStatement","src":"418294:10:21"},{"assignments":[39788],"declarations":[{"constant":false,"id":39788,"mutability":"mutable","name":"m2","nameLocation":"418322:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418314:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418314:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39789,"nodeType":"VariableDeclarationStatement","src":"418314:10:21"},{"assignments":[39791],"declarations":[{"constant":false,"id":39791,"mutability":"mutable","name":"m3","nameLocation":"418342:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418334:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418334:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39792,"nodeType":"VariableDeclarationStatement","src":"418334:10:21"},{"assignments":[39794],"declarations":[{"constant":false,"id":39794,"mutability":"mutable","name":"m4","nameLocation":"418362:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418354:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418354:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39795,"nodeType":"VariableDeclarationStatement","src":"418354:10:21"},{"assignments":[39797],"declarations":[{"constant":false,"id":39797,"mutability":"mutable","name":"m5","nameLocation":"418382:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418374:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418374:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39798,"nodeType":"VariableDeclarationStatement","src":"418374:10:21"},{"assignments":[39800],"declarations":[{"constant":false,"id":39800,"mutability":"mutable","name":"m6","nameLocation":"418402:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418394:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418394:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39801,"nodeType":"VariableDeclarationStatement","src":"418394:10:21"},{"assignments":[39803],"declarations":[{"constant":false,"id":39803,"mutability":"mutable","name":"m7","nameLocation":"418422:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418414:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418414:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39804,"nodeType":"VariableDeclarationStatement","src":"418414:10:21"},{"assignments":[39806],"declarations":[{"constant":false,"id":39806,"mutability":"mutable","name":"m8","nameLocation":"418442:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418434:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418434:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39807,"nodeType":"VariableDeclarationStatement","src":"418434:10:21"},{"assignments":[39809],"declarations":[{"constant":false,"id":39809,"mutability":"mutable","name":"m9","nameLocation":"418462:2:21","nodeType":"VariableDeclaration","scope":39821,"src":"418454:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418454:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39810,"nodeType":"VariableDeclarationStatement","src":"418454:10:21"},{"assignments":[39812],"declarations":[{"constant":false,"id":39812,"mutability":"mutable","name":"m10","nameLocation":"418482:3:21","nodeType":"VariableDeclaration","scope":39821,"src":"418474:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418474:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39813,"nodeType":"VariableDeclarationStatement","src":"418474:11:21"},{"AST":{"nativeSrc":"418547:1027:21","nodeType":"YulBlock","src":"418547:1027:21","statements":[{"body":{"nativeSrc":"418590:313:21","nodeType":"YulBlock","src":"418590:313:21","statements":[{"nativeSrc":"418608:15:21","nodeType":"YulVariableDeclaration","src":"418608:15:21","value":{"kind":"number","nativeSrc":"418622:1:21","nodeType":"YulLiteral","src":"418622:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"418612:6:21","nodeType":"YulTypedName","src":"418612:6:21","type":""}]},{"body":{"nativeSrc":"418693:40:21","nodeType":"YulBlock","src":"418693:40:21","statements":[{"body":{"nativeSrc":"418722:9:21","nodeType":"YulBlock","src":"418722:9:21","statements":[{"nativeSrc":"418724:5:21","nodeType":"YulBreak","src":"418724:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"418710:6:21","nodeType":"YulIdentifier","src":"418710:6:21"},{"name":"w","nativeSrc":"418718:1:21","nodeType":"YulIdentifier","src":"418718:1:21"}],"functionName":{"name":"byte","nativeSrc":"418705:4:21","nodeType":"YulIdentifier","src":"418705:4:21"},"nativeSrc":"418705:15:21","nodeType":"YulFunctionCall","src":"418705:15:21"}],"functionName":{"name":"iszero","nativeSrc":"418698:6:21","nodeType":"YulIdentifier","src":"418698:6:21"},"nativeSrc":"418698:23:21","nodeType":"YulFunctionCall","src":"418698:23:21"},"nativeSrc":"418695:36:21","nodeType":"YulIf","src":"418695:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"418650:6:21","nodeType":"YulIdentifier","src":"418650:6:21"},{"kind":"number","nativeSrc":"418658:4:21","nodeType":"YulLiteral","src":"418658:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"418647:2:21","nodeType":"YulIdentifier","src":"418647:2:21"},"nativeSrc":"418647:16:21","nodeType":"YulFunctionCall","src":"418647:16:21"},"nativeSrc":"418640:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"418664:28:21","nodeType":"YulBlock","src":"418664:28:21","statements":[{"nativeSrc":"418666:24:21","nodeType":"YulAssignment","src":"418666:24:21","value":{"arguments":[{"name":"length","nativeSrc":"418680:6:21","nodeType":"YulIdentifier","src":"418680:6:21"},{"kind":"number","nativeSrc":"418688:1:21","nodeType":"YulLiteral","src":"418688:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"418676:3:21","nodeType":"YulIdentifier","src":"418676:3:21"},"nativeSrc":"418676:14:21","nodeType":"YulFunctionCall","src":"418676:14:21"},"variableNames":[{"name":"length","nativeSrc":"418666:6:21","nodeType":"YulIdentifier","src":"418666:6:21"}]}]},"pre":{"nativeSrc":"418644:2:21","nodeType":"YulBlock","src":"418644:2:21","statements":[]},"src":"418640:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"418757:3:21","nodeType":"YulIdentifier","src":"418757:3:21"},{"name":"length","nativeSrc":"418762:6:21","nodeType":"YulIdentifier","src":"418762:6:21"}],"functionName":{"name":"mstore","nativeSrc":"418750:6:21","nodeType":"YulIdentifier","src":"418750:6:21"},"nativeSrc":"418750:19:21","nodeType":"YulFunctionCall","src":"418750:19:21"},"nativeSrc":"418750:19:21","nodeType":"YulExpressionStatement","src":"418750:19:21"},{"nativeSrc":"418786:37:21","nodeType":"YulVariableDeclaration","src":"418786:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"418803:3:21","nodeType":"YulLiteral","src":"418803:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"418812:1:21","nodeType":"YulLiteral","src":"418812:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"418815:6:21","nodeType":"YulIdentifier","src":"418815:6:21"}],"functionName":{"name":"shl","nativeSrc":"418808:3:21","nodeType":"YulIdentifier","src":"418808:3:21"},"nativeSrc":"418808:14:21","nodeType":"YulFunctionCall","src":"418808:14:21"}],"functionName":{"name":"sub","nativeSrc":"418799:3:21","nodeType":"YulIdentifier","src":"418799:3:21"},"nativeSrc":"418799:24:21","nodeType":"YulFunctionCall","src":"418799:24:21"},"variables":[{"name":"shift","nativeSrc":"418790:5:21","nodeType":"YulTypedName","src":"418790:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"418851:3:21","nodeType":"YulIdentifier","src":"418851:3:21"},{"kind":"number","nativeSrc":"418856:4:21","nodeType":"YulLiteral","src":"418856:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"418847:3:21","nodeType":"YulIdentifier","src":"418847:3:21"},"nativeSrc":"418847:14:21","nodeType":"YulFunctionCall","src":"418847:14:21"},{"arguments":[{"name":"shift","nativeSrc":"418867:5:21","nodeType":"YulIdentifier","src":"418867:5:21"},{"arguments":[{"name":"shift","nativeSrc":"418878:5:21","nodeType":"YulIdentifier","src":"418878:5:21"},{"name":"w","nativeSrc":"418885:1:21","nodeType":"YulIdentifier","src":"418885:1:21"}],"functionName":{"name":"shr","nativeSrc":"418874:3:21","nodeType":"YulIdentifier","src":"418874:3:21"},"nativeSrc":"418874:13:21","nodeType":"YulFunctionCall","src":"418874:13:21"}],"functionName":{"name":"shl","nativeSrc":"418863:3:21","nodeType":"YulIdentifier","src":"418863:3:21"},"nativeSrc":"418863:25:21","nodeType":"YulFunctionCall","src":"418863:25:21"}],"functionName":{"name":"mstore","nativeSrc":"418840:6:21","nodeType":"YulIdentifier","src":"418840:6:21"},"nativeSrc":"418840:49:21","nodeType":"YulFunctionCall","src":"418840:49:21"},"nativeSrc":"418840:49:21","nodeType":"YulExpressionStatement","src":"418840:49:21"}]},"name":"writeString","nativeSrc":"418561:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"418582:3:21","nodeType":"YulTypedName","src":"418582:3:21","type":""},{"name":"w","nativeSrc":"418587:1:21","nodeType":"YulTypedName","src":"418587:1:21","type":""}],"src":"418561:342:21"},{"nativeSrc":"418916:17:21","nodeType":"YulAssignment","src":"418916:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"418928:4:21","nodeType":"YulLiteral","src":"418928:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"418922:5:21","nodeType":"YulIdentifier","src":"418922:5:21"},"nativeSrc":"418922:11:21","nodeType":"YulFunctionCall","src":"418922:11:21"},"variableNames":[{"name":"m0","nativeSrc":"418916:2:21","nodeType":"YulIdentifier","src":"418916:2:21"}]},{"nativeSrc":"418946:17:21","nodeType":"YulAssignment","src":"418946:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"418958:4:21","nodeType":"YulLiteral","src":"418958:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"418952:5:21","nodeType":"YulIdentifier","src":"418952:5:21"},"nativeSrc":"418952:11:21","nodeType":"YulFunctionCall","src":"418952:11:21"},"variableNames":[{"name":"m1","nativeSrc":"418946:2:21","nodeType":"YulIdentifier","src":"418946:2:21"}]},{"nativeSrc":"418976:17:21","nodeType":"YulAssignment","src":"418976:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"418988:4:21","nodeType":"YulLiteral","src":"418988:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"418982:5:21","nodeType":"YulIdentifier","src":"418982:5:21"},"nativeSrc":"418982:11:21","nodeType":"YulFunctionCall","src":"418982:11:21"},"variableNames":[{"name":"m2","nativeSrc":"418976:2:21","nodeType":"YulIdentifier","src":"418976:2:21"}]},{"nativeSrc":"419006:17:21","nodeType":"YulAssignment","src":"419006:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"419018:4:21","nodeType":"YulLiteral","src":"419018:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"419012:5:21","nodeType":"YulIdentifier","src":"419012:5:21"},"nativeSrc":"419012:11:21","nodeType":"YulFunctionCall","src":"419012:11:21"},"variableNames":[{"name":"m3","nativeSrc":"419006:2:21","nodeType":"YulIdentifier","src":"419006:2:21"}]},{"nativeSrc":"419036:17:21","nodeType":"YulAssignment","src":"419036:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"419048:4:21","nodeType":"YulLiteral","src":"419048:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"419042:5:21","nodeType":"YulIdentifier","src":"419042:5:21"},"nativeSrc":"419042:11:21","nodeType":"YulFunctionCall","src":"419042:11:21"},"variableNames":[{"name":"m4","nativeSrc":"419036:2:21","nodeType":"YulIdentifier","src":"419036:2:21"}]},{"nativeSrc":"419066:17:21","nodeType":"YulAssignment","src":"419066:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"419078:4:21","nodeType":"YulLiteral","src":"419078:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"419072:5:21","nodeType":"YulIdentifier","src":"419072:5:21"},"nativeSrc":"419072:11:21","nodeType":"YulFunctionCall","src":"419072:11:21"},"variableNames":[{"name":"m5","nativeSrc":"419066:2:21","nodeType":"YulIdentifier","src":"419066:2:21"}]},{"nativeSrc":"419096:17:21","nodeType":"YulAssignment","src":"419096:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"419108:4:21","nodeType":"YulLiteral","src":"419108:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"419102:5:21","nodeType":"YulIdentifier","src":"419102:5:21"},"nativeSrc":"419102:11:21","nodeType":"YulFunctionCall","src":"419102:11:21"},"variableNames":[{"name":"m6","nativeSrc":"419096:2:21","nodeType":"YulIdentifier","src":"419096:2:21"}]},{"nativeSrc":"419126:17:21","nodeType":"YulAssignment","src":"419126:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"419138:4:21","nodeType":"YulLiteral","src":"419138:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"419132:5:21","nodeType":"YulIdentifier","src":"419132:5:21"},"nativeSrc":"419132:11:21","nodeType":"YulFunctionCall","src":"419132:11:21"},"variableNames":[{"name":"m7","nativeSrc":"419126:2:21","nodeType":"YulIdentifier","src":"419126:2:21"}]},{"nativeSrc":"419156:18:21","nodeType":"YulAssignment","src":"419156:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"419168:5:21","nodeType":"YulLiteral","src":"419168:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"419162:5:21","nodeType":"YulIdentifier","src":"419162:5:21"},"nativeSrc":"419162:12:21","nodeType":"YulFunctionCall","src":"419162:12:21"},"variableNames":[{"name":"m8","nativeSrc":"419156:2:21","nodeType":"YulIdentifier","src":"419156:2:21"}]},{"nativeSrc":"419187:18:21","nodeType":"YulAssignment","src":"419187:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"419199:5:21","nodeType":"YulLiteral","src":"419199:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"419193:5:21","nodeType":"YulIdentifier","src":"419193:5:21"},"nativeSrc":"419193:12:21","nodeType":"YulFunctionCall","src":"419193:12:21"},"variableNames":[{"name":"m9","nativeSrc":"419187:2:21","nodeType":"YulIdentifier","src":"419187:2:21"}]},{"nativeSrc":"419218:19:21","nodeType":"YulAssignment","src":"419218:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"419231:5:21","nodeType":"YulLiteral","src":"419231:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"419225:5:21","nodeType":"YulIdentifier","src":"419225:5:21"},"nativeSrc":"419225:12:21","nodeType":"YulFunctionCall","src":"419225:12:21"},"variableNames":[{"name":"m10","nativeSrc":"419218:3:21","nodeType":"YulIdentifier","src":"419218:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419321:4:21","nodeType":"YulLiteral","src":"419321:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"419327:10:21","nodeType":"YulLiteral","src":"419327:10:21","type":"","value":"0x5d1a971a"}],"functionName":{"name":"mstore","nativeSrc":"419314:6:21","nodeType":"YulIdentifier","src":"419314:6:21"},"nativeSrc":"419314:24:21","nodeType":"YulFunctionCall","src":"419314:24:21"},"nativeSrc":"419314:24:21","nodeType":"YulExpressionStatement","src":"419314:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419358:4:21","nodeType":"YulLiteral","src":"419358:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"419364:4:21","nodeType":"YulLiteral","src":"419364:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"419351:6:21","nodeType":"YulIdentifier","src":"419351:6:21"},"nativeSrc":"419351:18:21","nodeType":"YulFunctionCall","src":"419351:18:21"},"nativeSrc":"419351:18:21","nodeType":"YulExpressionStatement","src":"419351:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419389:4:21","nodeType":"YulLiteral","src":"419389:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"419395:4:21","nodeType":"YulLiteral","src":"419395:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"419382:6:21","nodeType":"YulIdentifier","src":"419382:6:21"},"nativeSrc":"419382:18:21","nodeType":"YulFunctionCall","src":"419382:18:21"},"nativeSrc":"419382:18:21","nodeType":"YulExpressionStatement","src":"419382:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419420:4:21","nodeType":"YulLiteral","src":"419420:4:21","type":"","value":"0x60"},{"name":"p2","nativeSrc":"419426:2:21","nodeType":"YulIdentifier","src":"419426:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419413:6:21","nodeType":"YulIdentifier","src":"419413:6:21"},"nativeSrc":"419413:16:21","nodeType":"YulFunctionCall","src":"419413:16:21"},"nativeSrc":"419413:16:21","nodeType":"YulExpressionStatement","src":"419413:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419449:4:21","nodeType":"YulLiteral","src":"419449:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"419455:5:21","nodeType":"YulLiteral","src":"419455:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"419442:6:21","nodeType":"YulIdentifier","src":"419442:6:21"},"nativeSrc":"419442:19:21","nodeType":"YulFunctionCall","src":"419442:19:21"},"nativeSrc":"419442:19:21","nodeType":"YulExpressionStatement","src":"419442:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419486:4:21","nodeType":"YulLiteral","src":"419486:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"419492:2:21","nodeType":"YulIdentifier","src":"419492:2:21"}],"functionName":{"name":"writeString","nativeSrc":"419474:11:21","nodeType":"YulIdentifier","src":"419474:11:21"},"nativeSrc":"419474:21:21","nodeType":"YulFunctionCall","src":"419474:21:21"},"nativeSrc":"419474:21:21","nodeType":"YulExpressionStatement","src":"419474:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419520:4:21","nodeType":"YulLiteral","src":"419520:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"419526:2:21","nodeType":"YulIdentifier","src":"419526:2:21"}],"functionName":{"name":"writeString","nativeSrc":"419508:11:21","nodeType":"YulIdentifier","src":"419508:11:21"},"nativeSrc":"419508:21:21","nodeType":"YulFunctionCall","src":"419508:21:21"},"nativeSrc":"419508:21:21","nodeType":"YulExpressionStatement","src":"419508:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419554:5:21","nodeType":"YulLiteral","src":"419554:5:21","type":"","value":"0x120"},{"name":"p3","nativeSrc":"419561:2:21","nodeType":"YulIdentifier","src":"419561:2:21"}],"functionName":{"name":"writeString","nativeSrc":"419542:11:21","nodeType":"YulIdentifier","src":"419542:11:21"},"nativeSrc":"419542:22:21","nodeType":"YulFunctionCall","src":"419542:22:21"},"nativeSrc":"419542:22:21","nodeType":"YulExpressionStatement","src":"419542:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39782,"isOffset":false,"isSlot":false,"src":"418916:2:21","valueSize":1},{"declaration":39785,"isOffset":false,"isSlot":false,"src":"418946:2:21","valueSize":1},{"declaration":39812,"isOffset":false,"isSlot":false,"src":"419218:3:21","valueSize":1},{"declaration":39788,"isOffset":false,"isSlot":false,"src":"418976:2:21","valueSize":1},{"declaration":39791,"isOffset":false,"isSlot":false,"src":"419006:2:21","valueSize":1},{"declaration":39794,"isOffset":false,"isSlot":false,"src":"419036:2:21","valueSize":1},{"declaration":39797,"isOffset":false,"isSlot":false,"src":"419066:2:21","valueSize":1},{"declaration":39800,"isOffset":false,"isSlot":false,"src":"419096:2:21","valueSize":1},{"declaration":39803,"isOffset":false,"isSlot":false,"src":"419126:2:21","valueSize":1},{"declaration":39806,"isOffset":false,"isSlot":false,"src":"419156:2:21","valueSize":1},{"declaration":39809,"isOffset":false,"isSlot":false,"src":"419187:2:21","valueSize":1},{"declaration":39772,"isOffset":false,"isSlot":false,"src":"419492:2:21","valueSize":1},{"declaration":39774,"isOffset":false,"isSlot":false,"src":"419526:2:21","valueSize":1},{"declaration":39776,"isOffset":false,"isSlot":false,"src":"419426:2:21","valueSize":1},{"declaration":39778,"isOffset":false,"isSlot":false,"src":"419561:2:21","valueSize":1}],"id":39814,"nodeType":"InlineAssembly","src":"418538:1036:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"419599:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"419605:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"419583:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"419583:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39819,"nodeType":"ExpressionStatement","src":"419583:28:21"},{"AST":{"nativeSrc":"419673:334:21","nodeType":"YulBlock","src":"419673:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"419694:4:21","nodeType":"YulLiteral","src":"419694:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"419700:2:21","nodeType":"YulIdentifier","src":"419700:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419687:6:21","nodeType":"YulIdentifier","src":"419687:6:21"},"nativeSrc":"419687:16:21","nodeType":"YulFunctionCall","src":"419687:16:21"},"nativeSrc":"419687:16:21","nodeType":"YulExpressionStatement","src":"419687:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419723:4:21","nodeType":"YulLiteral","src":"419723:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"419729:2:21","nodeType":"YulIdentifier","src":"419729:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419716:6:21","nodeType":"YulIdentifier","src":"419716:6:21"},"nativeSrc":"419716:16:21","nodeType":"YulFunctionCall","src":"419716:16:21"},"nativeSrc":"419716:16:21","nodeType":"YulExpressionStatement","src":"419716:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419752:4:21","nodeType":"YulLiteral","src":"419752:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"419758:2:21","nodeType":"YulIdentifier","src":"419758:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419745:6:21","nodeType":"YulIdentifier","src":"419745:6:21"},"nativeSrc":"419745:16:21","nodeType":"YulFunctionCall","src":"419745:16:21"},"nativeSrc":"419745:16:21","nodeType":"YulExpressionStatement","src":"419745:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419781:4:21","nodeType":"YulLiteral","src":"419781:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"419787:2:21","nodeType":"YulIdentifier","src":"419787:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419774:6:21","nodeType":"YulIdentifier","src":"419774:6:21"},"nativeSrc":"419774:16:21","nodeType":"YulFunctionCall","src":"419774:16:21"},"nativeSrc":"419774:16:21","nodeType":"YulExpressionStatement","src":"419774:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419810:4:21","nodeType":"YulLiteral","src":"419810:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"419816:2:21","nodeType":"YulIdentifier","src":"419816:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419803:6:21","nodeType":"YulIdentifier","src":"419803:6:21"},"nativeSrc":"419803:16:21","nodeType":"YulFunctionCall","src":"419803:16:21"},"nativeSrc":"419803:16:21","nodeType":"YulExpressionStatement","src":"419803:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419839:4:21","nodeType":"YulLiteral","src":"419839:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"419845:2:21","nodeType":"YulIdentifier","src":"419845:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419832:6:21","nodeType":"YulIdentifier","src":"419832:6:21"},"nativeSrc":"419832:16:21","nodeType":"YulFunctionCall","src":"419832:16:21"},"nativeSrc":"419832:16:21","nodeType":"YulExpressionStatement","src":"419832:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419868:4:21","nodeType":"YulLiteral","src":"419868:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"419874:2:21","nodeType":"YulIdentifier","src":"419874:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419861:6:21","nodeType":"YulIdentifier","src":"419861:6:21"},"nativeSrc":"419861:16:21","nodeType":"YulFunctionCall","src":"419861:16:21"},"nativeSrc":"419861:16:21","nodeType":"YulExpressionStatement","src":"419861:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419897:4:21","nodeType":"YulLiteral","src":"419897:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"419903:2:21","nodeType":"YulIdentifier","src":"419903:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419890:6:21","nodeType":"YulIdentifier","src":"419890:6:21"},"nativeSrc":"419890:16:21","nodeType":"YulFunctionCall","src":"419890:16:21"},"nativeSrc":"419890:16:21","nodeType":"YulExpressionStatement","src":"419890:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419926:5:21","nodeType":"YulLiteral","src":"419926:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"419933:2:21","nodeType":"YulIdentifier","src":"419933:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419919:6:21","nodeType":"YulIdentifier","src":"419919:6:21"},"nativeSrc":"419919:17:21","nodeType":"YulFunctionCall","src":"419919:17:21"},"nativeSrc":"419919:17:21","nodeType":"YulExpressionStatement","src":"419919:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419956:5:21","nodeType":"YulLiteral","src":"419956:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"419963:2:21","nodeType":"YulIdentifier","src":"419963:2:21"}],"functionName":{"name":"mstore","nativeSrc":"419949:6:21","nodeType":"YulIdentifier","src":"419949:6:21"},"nativeSrc":"419949:17:21","nodeType":"YulFunctionCall","src":"419949:17:21"},"nativeSrc":"419949:17:21","nodeType":"YulExpressionStatement","src":"419949:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419986:5:21","nodeType":"YulLiteral","src":"419986:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"419993:3:21","nodeType":"YulIdentifier","src":"419993:3:21"}],"functionName":{"name":"mstore","nativeSrc":"419979:6:21","nodeType":"YulIdentifier","src":"419979:6:21"},"nativeSrc":"419979:18:21","nodeType":"YulFunctionCall","src":"419979:18:21"},"nativeSrc":"419979:18:21","nodeType":"YulExpressionStatement","src":"419979:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39782,"isOffset":false,"isSlot":false,"src":"419700:2:21","valueSize":1},{"declaration":39785,"isOffset":false,"isSlot":false,"src":"419729:2:21","valueSize":1},{"declaration":39812,"isOffset":false,"isSlot":false,"src":"419993:3:21","valueSize":1},{"declaration":39788,"isOffset":false,"isSlot":false,"src":"419758:2:21","valueSize":1},{"declaration":39791,"isOffset":false,"isSlot":false,"src":"419787:2:21","valueSize":1},{"declaration":39794,"isOffset":false,"isSlot":false,"src":"419816:2:21","valueSize":1},{"declaration":39797,"isOffset":false,"isSlot":false,"src":"419845:2:21","valueSize":1},{"declaration":39800,"isOffset":false,"isSlot":false,"src":"419874:2:21","valueSize":1},{"declaration":39803,"isOffset":false,"isSlot":false,"src":"419903:2:21","valueSize":1},{"declaration":39806,"isOffset":false,"isSlot":false,"src":"419933:2:21","valueSize":1},{"declaration":39809,"isOffset":false,"isSlot":false,"src":"419963:2:21","valueSize":1}],"id":39820,"nodeType":"InlineAssembly","src":"419664:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"418198:3:21","parameters":{"id":39779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39772,"mutability":"mutable","name":"p0","nameLocation":"418210:2:21","nodeType":"VariableDeclaration","scope":39822,"src":"418202:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418202:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39774,"mutability":"mutable","name":"p1","nameLocation":"418222:2:21","nodeType":"VariableDeclaration","scope":39822,"src":"418214:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418214:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39776,"mutability":"mutable","name":"p2","nameLocation":"418234:2:21","nodeType":"VariableDeclaration","scope":39822,"src":"418226:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39775,"name":"uint256","nodeType":"ElementaryTypeName","src":"418226:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39778,"mutability":"mutable","name":"p3","nameLocation":"418246:2:21","nodeType":"VariableDeclaration","scope":39822,"src":"418238:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418238:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"418201:48:21"},"returnParameters":{"id":39780,"nodeType":"ParameterList","parameters":[],"src":"418264:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39874,"nodeType":"FunctionDefinition","src":"420019:1824:21","nodes":[],"body":{"id":39873,"nodeType":"Block","src":"420094:1749:21","nodes":[],"statements":[{"assignments":[39834],"declarations":[{"constant":false,"id":39834,"mutability":"mutable","name":"m0","nameLocation":"420112:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420104:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420104:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39835,"nodeType":"VariableDeclarationStatement","src":"420104:10:21"},{"assignments":[39837],"declarations":[{"constant":false,"id":39837,"mutability":"mutable","name":"m1","nameLocation":"420132:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420124:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420124:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39838,"nodeType":"VariableDeclarationStatement","src":"420124:10:21"},{"assignments":[39840],"declarations":[{"constant":false,"id":39840,"mutability":"mutable","name":"m2","nameLocation":"420152:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420144:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420144:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39841,"nodeType":"VariableDeclarationStatement","src":"420144:10:21"},{"assignments":[39843],"declarations":[{"constant":false,"id":39843,"mutability":"mutable","name":"m3","nameLocation":"420172:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420164:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420164:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39844,"nodeType":"VariableDeclarationStatement","src":"420164:10:21"},{"assignments":[39846],"declarations":[{"constant":false,"id":39846,"mutability":"mutable","name":"m4","nameLocation":"420192:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420184:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420184:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39847,"nodeType":"VariableDeclarationStatement","src":"420184:10:21"},{"assignments":[39849],"declarations":[{"constant":false,"id":39849,"mutability":"mutable","name":"m5","nameLocation":"420212:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420204:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420204:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39850,"nodeType":"VariableDeclarationStatement","src":"420204:10:21"},{"assignments":[39852],"declarations":[{"constant":false,"id":39852,"mutability":"mutable","name":"m6","nameLocation":"420232:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420224:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420224:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39853,"nodeType":"VariableDeclarationStatement","src":"420224:10:21"},{"assignments":[39855],"declarations":[{"constant":false,"id":39855,"mutability":"mutable","name":"m7","nameLocation":"420252:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420244:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420244:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39856,"nodeType":"VariableDeclarationStatement","src":"420244:10:21"},{"assignments":[39858],"declarations":[{"constant":false,"id":39858,"mutability":"mutable","name":"m8","nameLocation":"420272:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420264:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420264:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39859,"nodeType":"VariableDeclarationStatement","src":"420264:10:21"},{"assignments":[39861],"declarations":[{"constant":false,"id":39861,"mutability":"mutable","name":"m9","nameLocation":"420292:2:21","nodeType":"VariableDeclaration","scope":39873,"src":"420284:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420284:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39862,"nodeType":"VariableDeclarationStatement","src":"420284:10:21"},{"assignments":[39864],"declarations":[{"constant":false,"id":39864,"mutability":"mutable","name":"m10","nameLocation":"420312:3:21","nodeType":"VariableDeclaration","scope":39873,"src":"420304:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39863,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420304:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39865,"nodeType":"VariableDeclarationStatement","src":"420304:11:21"},{"AST":{"nativeSrc":"420377:1027:21","nodeType":"YulBlock","src":"420377:1027:21","statements":[{"body":{"nativeSrc":"420420:313:21","nodeType":"YulBlock","src":"420420:313:21","statements":[{"nativeSrc":"420438:15:21","nodeType":"YulVariableDeclaration","src":"420438:15:21","value":{"kind":"number","nativeSrc":"420452:1:21","nodeType":"YulLiteral","src":"420452:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"420442:6:21","nodeType":"YulTypedName","src":"420442:6:21","type":""}]},{"body":{"nativeSrc":"420523:40:21","nodeType":"YulBlock","src":"420523:40:21","statements":[{"body":{"nativeSrc":"420552:9:21","nodeType":"YulBlock","src":"420552:9:21","statements":[{"nativeSrc":"420554:5:21","nodeType":"YulBreak","src":"420554:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"420540:6:21","nodeType":"YulIdentifier","src":"420540:6:21"},{"name":"w","nativeSrc":"420548:1:21","nodeType":"YulIdentifier","src":"420548:1:21"}],"functionName":{"name":"byte","nativeSrc":"420535:4:21","nodeType":"YulIdentifier","src":"420535:4:21"},"nativeSrc":"420535:15:21","nodeType":"YulFunctionCall","src":"420535:15:21"}],"functionName":{"name":"iszero","nativeSrc":"420528:6:21","nodeType":"YulIdentifier","src":"420528:6:21"},"nativeSrc":"420528:23:21","nodeType":"YulFunctionCall","src":"420528:23:21"},"nativeSrc":"420525:36:21","nodeType":"YulIf","src":"420525:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"420480:6:21","nodeType":"YulIdentifier","src":"420480:6:21"},{"kind":"number","nativeSrc":"420488:4:21","nodeType":"YulLiteral","src":"420488:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"420477:2:21","nodeType":"YulIdentifier","src":"420477:2:21"},"nativeSrc":"420477:16:21","nodeType":"YulFunctionCall","src":"420477:16:21"},"nativeSrc":"420470:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"420494:28:21","nodeType":"YulBlock","src":"420494:28:21","statements":[{"nativeSrc":"420496:24:21","nodeType":"YulAssignment","src":"420496:24:21","value":{"arguments":[{"name":"length","nativeSrc":"420510:6:21","nodeType":"YulIdentifier","src":"420510:6:21"},{"kind":"number","nativeSrc":"420518:1:21","nodeType":"YulLiteral","src":"420518:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"420506:3:21","nodeType":"YulIdentifier","src":"420506:3:21"},"nativeSrc":"420506:14:21","nodeType":"YulFunctionCall","src":"420506:14:21"},"variableNames":[{"name":"length","nativeSrc":"420496:6:21","nodeType":"YulIdentifier","src":"420496:6:21"}]}]},"pre":{"nativeSrc":"420474:2:21","nodeType":"YulBlock","src":"420474:2:21","statements":[]},"src":"420470:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"420587:3:21","nodeType":"YulIdentifier","src":"420587:3:21"},{"name":"length","nativeSrc":"420592:6:21","nodeType":"YulIdentifier","src":"420592:6:21"}],"functionName":{"name":"mstore","nativeSrc":"420580:6:21","nodeType":"YulIdentifier","src":"420580:6:21"},"nativeSrc":"420580:19:21","nodeType":"YulFunctionCall","src":"420580:19:21"},"nativeSrc":"420580:19:21","nodeType":"YulExpressionStatement","src":"420580:19:21"},{"nativeSrc":"420616:37:21","nodeType":"YulVariableDeclaration","src":"420616:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"420633:3:21","nodeType":"YulLiteral","src":"420633:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"420642:1:21","nodeType":"YulLiteral","src":"420642:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"420645:6:21","nodeType":"YulIdentifier","src":"420645:6:21"}],"functionName":{"name":"shl","nativeSrc":"420638:3:21","nodeType":"YulIdentifier","src":"420638:3:21"},"nativeSrc":"420638:14:21","nodeType":"YulFunctionCall","src":"420638:14:21"}],"functionName":{"name":"sub","nativeSrc":"420629:3:21","nodeType":"YulIdentifier","src":"420629:3:21"},"nativeSrc":"420629:24:21","nodeType":"YulFunctionCall","src":"420629:24:21"},"variables":[{"name":"shift","nativeSrc":"420620:5:21","nodeType":"YulTypedName","src":"420620:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"420681:3:21","nodeType":"YulIdentifier","src":"420681:3:21"},{"kind":"number","nativeSrc":"420686:4:21","nodeType":"YulLiteral","src":"420686:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"420677:3:21","nodeType":"YulIdentifier","src":"420677:3:21"},"nativeSrc":"420677:14:21","nodeType":"YulFunctionCall","src":"420677:14:21"},{"arguments":[{"name":"shift","nativeSrc":"420697:5:21","nodeType":"YulIdentifier","src":"420697:5:21"},{"arguments":[{"name":"shift","nativeSrc":"420708:5:21","nodeType":"YulIdentifier","src":"420708:5:21"},{"name":"w","nativeSrc":"420715:1:21","nodeType":"YulIdentifier","src":"420715:1:21"}],"functionName":{"name":"shr","nativeSrc":"420704:3:21","nodeType":"YulIdentifier","src":"420704:3:21"},"nativeSrc":"420704:13:21","nodeType":"YulFunctionCall","src":"420704:13:21"}],"functionName":{"name":"shl","nativeSrc":"420693:3:21","nodeType":"YulIdentifier","src":"420693:3:21"},"nativeSrc":"420693:25:21","nodeType":"YulFunctionCall","src":"420693:25:21"}],"functionName":{"name":"mstore","nativeSrc":"420670:6:21","nodeType":"YulIdentifier","src":"420670:6:21"},"nativeSrc":"420670:49:21","nodeType":"YulFunctionCall","src":"420670:49:21"},"nativeSrc":"420670:49:21","nodeType":"YulExpressionStatement","src":"420670:49:21"}]},"name":"writeString","nativeSrc":"420391:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"420412:3:21","nodeType":"YulTypedName","src":"420412:3:21","type":""},{"name":"w","nativeSrc":"420417:1:21","nodeType":"YulTypedName","src":"420417:1:21","type":""}],"src":"420391:342:21"},{"nativeSrc":"420746:17:21","nodeType":"YulAssignment","src":"420746:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"420758:4:21","nodeType":"YulLiteral","src":"420758:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"420752:5:21","nodeType":"YulIdentifier","src":"420752:5:21"},"nativeSrc":"420752:11:21","nodeType":"YulFunctionCall","src":"420752:11:21"},"variableNames":[{"name":"m0","nativeSrc":"420746:2:21","nodeType":"YulIdentifier","src":"420746:2:21"}]},{"nativeSrc":"420776:17:21","nodeType":"YulAssignment","src":"420776:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"420788:4:21","nodeType":"YulLiteral","src":"420788:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"420782:5:21","nodeType":"YulIdentifier","src":"420782:5:21"},"nativeSrc":"420782:11:21","nodeType":"YulFunctionCall","src":"420782:11:21"},"variableNames":[{"name":"m1","nativeSrc":"420776:2:21","nodeType":"YulIdentifier","src":"420776:2:21"}]},{"nativeSrc":"420806:17:21","nodeType":"YulAssignment","src":"420806:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"420818:4:21","nodeType":"YulLiteral","src":"420818:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"420812:5:21","nodeType":"YulIdentifier","src":"420812:5:21"},"nativeSrc":"420812:11:21","nodeType":"YulFunctionCall","src":"420812:11:21"},"variableNames":[{"name":"m2","nativeSrc":"420806:2:21","nodeType":"YulIdentifier","src":"420806:2:21"}]},{"nativeSrc":"420836:17:21","nodeType":"YulAssignment","src":"420836:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"420848:4:21","nodeType":"YulLiteral","src":"420848:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"420842:5:21","nodeType":"YulIdentifier","src":"420842:5:21"},"nativeSrc":"420842:11:21","nodeType":"YulFunctionCall","src":"420842:11:21"},"variableNames":[{"name":"m3","nativeSrc":"420836:2:21","nodeType":"YulIdentifier","src":"420836:2:21"}]},{"nativeSrc":"420866:17:21","nodeType":"YulAssignment","src":"420866:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"420878:4:21","nodeType":"YulLiteral","src":"420878:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"420872:5:21","nodeType":"YulIdentifier","src":"420872:5:21"},"nativeSrc":"420872:11:21","nodeType":"YulFunctionCall","src":"420872:11:21"},"variableNames":[{"name":"m4","nativeSrc":"420866:2:21","nodeType":"YulIdentifier","src":"420866:2:21"}]},{"nativeSrc":"420896:17:21","nodeType":"YulAssignment","src":"420896:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"420908:4:21","nodeType":"YulLiteral","src":"420908:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"420902:5:21","nodeType":"YulIdentifier","src":"420902:5:21"},"nativeSrc":"420902:11:21","nodeType":"YulFunctionCall","src":"420902:11:21"},"variableNames":[{"name":"m5","nativeSrc":"420896:2:21","nodeType":"YulIdentifier","src":"420896:2:21"}]},{"nativeSrc":"420926:17:21","nodeType":"YulAssignment","src":"420926:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"420938:4:21","nodeType":"YulLiteral","src":"420938:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"420932:5:21","nodeType":"YulIdentifier","src":"420932:5:21"},"nativeSrc":"420932:11:21","nodeType":"YulFunctionCall","src":"420932:11:21"},"variableNames":[{"name":"m6","nativeSrc":"420926:2:21","nodeType":"YulIdentifier","src":"420926:2:21"}]},{"nativeSrc":"420956:17:21","nodeType":"YulAssignment","src":"420956:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"420968:4:21","nodeType":"YulLiteral","src":"420968:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"420962:5:21","nodeType":"YulIdentifier","src":"420962:5:21"},"nativeSrc":"420962:11:21","nodeType":"YulFunctionCall","src":"420962:11:21"},"variableNames":[{"name":"m7","nativeSrc":"420956:2:21","nodeType":"YulIdentifier","src":"420956:2:21"}]},{"nativeSrc":"420986:18:21","nodeType":"YulAssignment","src":"420986:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"420998:5:21","nodeType":"YulLiteral","src":"420998:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"420992:5:21","nodeType":"YulIdentifier","src":"420992:5:21"},"nativeSrc":"420992:12:21","nodeType":"YulFunctionCall","src":"420992:12:21"},"variableNames":[{"name":"m8","nativeSrc":"420986:2:21","nodeType":"YulIdentifier","src":"420986:2:21"}]},{"nativeSrc":"421017:18:21","nodeType":"YulAssignment","src":"421017:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"421029:5:21","nodeType":"YulLiteral","src":"421029:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"421023:5:21","nodeType":"YulIdentifier","src":"421023:5:21"},"nativeSrc":"421023:12:21","nodeType":"YulFunctionCall","src":"421023:12:21"},"variableNames":[{"name":"m9","nativeSrc":"421017:2:21","nodeType":"YulIdentifier","src":"421017:2:21"}]},{"nativeSrc":"421048:19:21","nodeType":"YulAssignment","src":"421048:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"421061:5:21","nodeType":"YulLiteral","src":"421061:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"421055:5:21","nodeType":"YulIdentifier","src":"421055:5:21"},"nativeSrc":"421055:12:21","nodeType":"YulFunctionCall","src":"421055:12:21"},"variableNames":[{"name":"m10","nativeSrc":"421048:3:21","nodeType":"YulIdentifier","src":"421048:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421151:4:21","nodeType":"YulLiteral","src":"421151:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"421157:10:21","nodeType":"YulLiteral","src":"421157:10:21","type":"","value":"0x6d572f44"}],"functionName":{"name":"mstore","nativeSrc":"421144:6:21","nodeType":"YulIdentifier","src":"421144:6:21"},"nativeSrc":"421144:24:21","nodeType":"YulFunctionCall","src":"421144:24:21"},"nativeSrc":"421144:24:21","nodeType":"YulExpressionStatement","src":"421144:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421188:4:21","nodeType":"YulLiteral","src":"421188:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"421194:4:21","nodeType":"YulLiteral","src":"421194:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"421181:6:21","nodeType":"YulIdentifier","src":"421181:6:21"},"nativeSrc":"421181:18:21","nodeType":"YulFunctionCall","src":"421181:18:21"},"nativeSrc":"421181:18:21","nodeType":"YulExpressionStatement","src":"421181:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421219:4:21","nodeType":"YulLiteral","src":"421219:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"421225:4:21","nodeType":"YulLiteral","src":"421225:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"421212:6:21","nodeType":"YulIdentifier","src":"421212:6:21"},"nativeSrc":"421212:18:21","nodeType":"YulFunctionCall","src":"421212:18:21"},"nativeSrc":"421212:18:21","nodeType":"YulExpressionStatement","src":"421212:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421250:4:21","nodeType":"YulLiteral","src":"421250:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"421256:5:21","nodeType":"YulLiteral","src":"421256:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"421243:6:21","nodeType":"YulIdentifier","src":"421243:6:21"},"nativeSrc":"421243:19:21","nodeType":"YulFunctionCall","src":"421243:19:21"},"nativeSrc":"421243:19:21","nodeType":"YulExpressionStatement","src":"421243:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421282:4:21","nodeType":"YulLiteral","src":"421282:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"421288:2:21","nodeType":"YulIdentifier","src":"421288:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421275:6:21","nodeType":"YulIdentifier","src":"421275:6:21"},"nativeSrc":"421275:16:21","nodeType":"YulFunctionCall","src":"421275:16:21"},"nativeSrc":"421275:16:21","nodeType":"YulExpressionStatement","src":"421275:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421316:4:21","nodeType":"YulLiteral","src":"421316:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"421322:2:21","nodeType":"YulIdentifier","src":"421322:2:21"}],"functionName":{"name":"writeString","nativeSrc":"421304:11:21","nodeType":"YulIdentifier","src":"421304:11:21"},"nativeSrc":"421304:21:21","nodeType":"YulFunctionCall","src":"421304:21:21"},"nativeSrc":"421304:21:21","nodeType":"YulExpressionStatement","src":"421304:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421350:4:21","nodeType":"YulLiteral","src":"421350:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"421356:2:21","nodeType":"YulIdentifier","src":"421356:2:21"}],"functionName":{"name":"writeString","nativeSrc":"421338:11:21","nodeType":"YulIdentifier","src":"421338:11:21"},"nativeSrc":"421338:21:21","nodeType":"YulFunctionCall","src":"421338:21:21"},"nativeSrc":"421338:21:21","nodeType":"YulExpressionStatement","src":"421338:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421384:5:21","nodeType":"YulLiteral","src":"421384:5:21","type":"","value":"0x120"},{"name":"p2","nativeSrc":"421391:2:21","nodeType":"YulIdentifier","src":"421391:2:21"}],"functionName":{"name":"writeString","nativeSrc":"421372:11:21","nodeType":"YulIdentifier","src":"421372:11:21"},"nativeSrc":"421372:22:21","nodeType":"YulFunctionCall","src":"421372:22:21"},"nativeSrc":"421372:22:21","nodeType":"YulExpressionStatement","src":"421372:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39834,"isOffset":false,"isSlot":false,"src":"420746:2:21","valueSize":1},{"declaration":39837,"isOffset":false,"isSlot":false,"src":"420776:2:21","valueSize":1},{"declaration":39864,"isOffset":false,"isSlot":false,"src":"421048:3:21","valueSize":1},{"declaration":39840,"isOffset":false,"isSlot":false,"src":"420806:2:21","valueSize":1},{"declaration":39843,"isOffset":false,"isSlot":false,"src":"420836:2:21","valueSize":1},{"declaration":39846,"isOffset":false,"isSlot":false,"src":"420866:2:21","valueSize":1},{"declaration":39849,"isOffset":false,"isSlot":false,"src":"420896:2:21","valueSize":1},{"declaration":39852,"isOffset":false,"isSlot":false,"src":"420926:2:21","valueSize":1},{"declaration":39855,"isOffset":false,"isSlot":false,"src":"420956:2:21","valueSize":1},{"declaration":39858,"isOffset":false,"isSlot":false,"src":"420986:2:21","valueSize":1},{"declaration":39861,"isOffset":false,"isSlot":false,"src":"421017:2:21","valueSize":1},{"declaration":39824,"isOffset":false,"isSlot":false,"src":"421322:2:21","valueSize":1},{"declaration":39826,"isOffset":false,"isSlot":false,"src":"421356:2:21","valueSize":1},{"declaration":39828,"isOffset":false,"isSlot":false,"src":"421391:2:21","valueSize":1},{"declaration":39830,"isOffset":false,"isSlot":false,"src":"421288:2:21","valueSize":1}],"id":39866,"nodeType":"InlineAssembly","src":"420368:1036:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"421429:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"421435:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39867,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"421413:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"421413:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39871,"nodeType":"ExpressionStatement","src":"421413:28:21"},{"AST":{"nativeSrc":"421503:334:21","nodeType":"YulBlock","src":"421503:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"421524:4:21","nodeType":"YulLiteral","src":"421524:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"421530:2:21","nodeType":"YulIdentifier","src":"421530:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421517:6:21","nodeType":"YulIdentifier","src":"421517:6:21"},"nativeSrc":"421517:16:21","nodeType":"YulFunctionCall","src":"421517:16:21"},"nativeSrc":"421517:16:21","nodeType":"YulExpressionStatement","src":"421517:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421553:4:21","nodeType":"YulLiteral","src":"421553:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"421559:2:21","nodeType":"YulIdentifier","src":"421559:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421546:6:21","nodeType":"YulIdentifier","src":"421546:6:21"},"nativeSrc":"421546:16:21","nodeType":"YulFunctionCall","src":"421546:16:21"},"nativeSrc":"421546:16:21","nodeType":"YulExpressionStatement","src":"421546:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421582:4:21","nodeType":"YulLiteral","src":"421582:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"421588:2:21","nodeType":"YulIdentifier","src":"421588:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421575:6:21","nodeType":"YulIdentifier","src":"421575:6:21"},"nativeSrc":"421575:16:21","nodeType":"YulFunctionCall","src":"421575:16:21"},"nativeSrc":"421575:16:21","nodeType":"YulExpressionStatement","src":"421575:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421611:4:21","nodeType":"YulLiteral","src":"421611:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"421617:2:21","nodeType":"YulIdentifier","src":"421617:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421604:6:21","nodeType":"YulIdentifier","src":"421604:6:21"},"nativeSrc":"421604:16:21","nodeType":"YulFunctionCall","src":"421604:16:21"},"nativeSrc":"421604:16:21","nodeType":"YulExpressionStatement","src":"421604:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421640:4:21","nodeType":"YulLiteral","src":"421640:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"421646:2:21","nodeType":"YulIdentifier","src":"421646:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421633:6:21","nodeType":"YulIdentifier","src":"421633:6:21"},"nativeSrc":"421633:16:21","nodeType":"YulFunctionCall","src":"421633:16:21"},"nativeSrc":"421633:16:21","nodeType":"YulExpressionStatement","src":"421633:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421669:4:21","nodeType":"YulLiteral","src":"421669:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"421675:2:21","nodeType":"YulIdentifier","src":"421675:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421662:6:21","nodeType":"YulIdentifier","src":"421662:6:21"},"nativeSrc":"421662:16:21","nodeType":"YulFunctionCall","src":"421662:16:21"},"nativeSrc":"421662:16:21","nodeType":"YulExpressionStatement","src":"421662:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421698:4:21","nodeType":"YulLiteral","src":"421698:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"421704:2:21","nodeType":"YulIdentifier","src":"421704:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421691:6:21","nodeType":"YulIdentifier","src":"421691:6:21"},"nativeSrc":"421691:16:21","nodeType":"YulFunctionCall","src":"421691:16:21"},"nativeSrc":"421691:16:21","nodeType":"YulExpressionStatement","src":"421691:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421727:4:21","nodeType":"YulLiteral","src":"421727:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"421733:2:21","nodeType":"YulIdentifier","src":"421733:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421720:6:21","nodeType":"YulIdentifier","src":"421720:6:21"},"nativeSrc":"421720:16:21","nodeType":"YulFunctionCall","src":"421720:16:21"},"nativeSrc":"421720:16:21","nodeType":"YulExpressionStatement","src":"421720:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421756:5:21","nodeType":"YulLiteral","src":"421756:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"421763:2:21","nodeType":"YulIdentifier","src":"421763:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421749:6:21","nodeType":"YulIdentifier","src":"421749:6:21"},"nativeSrc":"421749:17:21","nodeType":"YulFunctionCall","src":"421749:17:21"},"nativeSrc":"421749:17:21","nodeType":"YulExpressionStatement","src":"421749:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421786:5:21","nodeType":"YulLiteral","src":"421786:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"421793:2:21","nodeType":"YulIdentifier","src":"421793:2:21"}],"functionName":{"name":"mstore","nativeSrc":"421779:6:21","nodeType":"YulIdentifier","src":"421779:6:21"},"nativeSrc":"421779:17:21","nodeType":"YulFunctionCall","src":"421779:17:21"},"nativeSrc":"421779:17:21","nodeType":"YulExpressionStatement","src":"421779:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421816:5:21","nodeType":"YulLiteral","src":"421816:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"421823:3:21","nodeType":"YulIdentifier","src":"421823:3:21"}],"functionName":{"name":"mstore","nativeSrc":"421809:6:21","nodeType":"YulIdentifier","src":"421809:6:21"},"nativeSrc":"421809:18:21","nodeType":"YulFunctionCall","src":"421809:18:21"},"nativeSrc":"421809:18:21","nodeType":"YulExpressionStatement","src":"421809:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39834,"isOffset":false,"isSlot":false,"src":"421530:2:21","valueSize":1},{"declaration":39837,"isOffset":false,"isSlot":false,"src":"421559:2:21","valueSize":1},{"declaration":39864,"isOffset":false,"isSlot":false,"src":"421823:3:21","valueSize":1},{"declaration":39840,"isOffset":false,"isSlot":false,"src":"421588:2:21","valueSize":1},{"declaration":39843,"isOffset":false,"isSlot":false,"src":"421617:2:21","valueSize":1},{"declaration":39846,"isOffset":false,"isSlot":false,"src":"421646:2:21","valueSize":1},{"declaration":39849,"isOffset":false,"isSlot":false,"src":"421675:2:21","valueSize":1},{"declaration":39852,"isOffset":false,"isSlot":false,"src":"421704:2:21","valueSize":1},{"declaration":39855,"isOffset":false,"isSlot":false,"src":"421733:2:21","valueSize":1},{"declaration":39858,"isOffset":false,"isSlot":false,"src":"421763:2:21","valueSize":1},{"declaration":39861,"isOffset":false,"isSlot":false,"src":"421793:2:21","valueSize":1}],"id":39872,"nodeType":"InlineAssembly","src":"421494:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"420028:3:21","parameters":{"id":39831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39824,"mutability":"mutable","name":"p0","nameLocation":"420040:2:21","nodeType":"VariableDeclaration","scope":39874,"src":"420032:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420032:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39826,"mutability":"mutable","name":"p1","nameLocation":"420052:2:21","nodeType":"VariableDeclaration","scope":39874,"src":"420044:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420044:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39828,"mutability":"mutable","name":"p2","nameLocation":"420064:2:21","nodeType":"VariableDeclaration","scope":39874,"src":"420056:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420056:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39830,"mutability":"mutable","name":"p3","nameLocation":"420076:2:21","nodeType":"VariableDeclaration","scope":39874,"src":"420068:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39829,"name":"address","nodeType":"ElementaryTypeName","src":"420068:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"420031:48:21"},"returnParameters":{"id":39832,"nodeType":"ParameterList","parameters":[],"src":"420094:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39926,"nodeType":"FunctionDefinition","src":"421849:1818:21","nodes":[],"body":{"id":39925,"nodeType":"Block","src":"421921:1746:21","nodes":[],"statements":[{"assignments":[39886],"declarations":[{"constant":false,"id":39886,"mutability":"mutable","name":"m0","nameLocation":"421939:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"421931:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421931:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39887,"nodeType":"VariableDeclarationStatement","src":"421931:10:21"},{"assignments":[39889],"declarations":[{"constant":false,"id":39889,"mutability":"mutable","name":"m1","nameLocation":"421959:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"421951:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421951:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39890,"nodeType":"VariableDeclarationStatement","src":"421951:10:21"},{"assignments":[39892],"declarations":[{"constant":false,"id":39892,"mutability":"mutable","name":"m2","nameLocation":"421979:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"421971:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421971:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39893,"nodeType":"VariableDeclarationStatement","src":"421971:10:21"},{"assignments":[39895],"declarations":[{"constant":false,"id":39895,"mutability":"mutable","name":"m3","nameLocation":"421999:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"421991:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421991:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39896,"nodeType":"VariableDeclarationStatement","src":"421991:10:21"},{"assignments":[39898],"declarations":[{"constant":false,"id":39898,"mutability":"mutable","name":"m4","nameLocation":"422019:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"422011:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422011:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39899,"nodeType":"VariableDeclarationStatement","src":"422011:10:21"},{"assignments":[39901],"declarations":[{"constant":false,"id":39901,"mutability":"mutable","name":"m5","nameLocation":"422039:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"422031:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422031:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39902,"nodeType":"VariableDeclarationStatement","src":"422031:10:21"},{"assignments":[39904],"declarations":[{"constant":false,"id":39904,"mutability":"mutable","name":"m6","nameLocation":"422059:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"422051:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422051:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39905,"nodeType":"VariableDeclarationStatement","src":"422051:10:21"},{"assignments":[39907],"declarations":[{"constant":false,"id":39907,"mutability":"mutable","name":"m7","nameLocation":"422079:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"422071:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422071:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39908,"nodeType":"VariableDeclarationStatement","src":"422071:10:21"},{"assignments":[39910],"declarations":[{"constant":false,"id":39910,"mutability":"mutable","name":"m8","nameLocation":"422099:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"422091:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422091:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39911,"nodeType":"VariableDeclarationStatement","src":"422091:10:21"},{"assignments":[39913],"declarations":[{"constant":false,"id":39913,"mutability":"mutable","name":"m9","nameLocation":"422119:2:21","nodeType":"VariableDeclaration","scope":39925,"src":"422111:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422111:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39914,"nodeType":"VariableDeclarationStatement","src":"422111:10:21"},{"assignments":[39916],"declarations":[{"constant":false,"id":39916,"mutability":"mutable","name":"m10","nameLocation":"422139:3:21","nodeType":"VariableDeclaration","scope":39925,"src":"422131:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422131:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39917,"nodeType":"VariableDeclarationStatement","src":"422131:11:21"},{"AST":{"nativeSrc":"422204:1024:21","nodeType":"YulBlock","src":"422204:1024:21","statements":[{"body":{"nativeSrc":"422247:313:21","nodeType":"YulBlock","src":"422247:313:21","statements":[{"nativeSrc":"422265:15:21","nodeType":"YulVariableDeclaration","src":"422265:15:21","value":{"kind":"number","nativeSrc":"422279:1:21","nodeType":"YulLiteral","src":"422279:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"422269:6:21","nodeType":"YulTypedName","src":"422269:6:21","type":""}]},{"body":{"nativeSrc":"422350:40:21","nodeType":"YulBlock","src":"422350:40:21","statements":[{"body":{"nativeSrc":"422379:9:21","nodeType":"YulBlock","src":"422379:9:21","statements":[{"nativeSrc":"422381:5:21","nodeType":"YulBreak","src":"422381:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"422367:6:21","nodeType":"YulIdentifier","src":"422367:6:21"},{"name":"w","nativeSrc":"422375:1:21","nodeType":"YulIdentifier","src":"422375:1:21"}],"functionName":{"name":"byte","nativeSrc":"422362:4:21","nodeType":"YulIdentifier","src":"422362:4:21"},"nativeSrc":"422362:15:21","nodeType":"YulFunctionCall","src":"422362:15:21"}],"functionName":{"name":"iszero","nativeSrc":"422355:6:21","nodeType":"YulIdentifier","src":"422355:6:21"},"nativeSrc":"422355:23:21","nodeType":"YulFunctionCall","src":"422355:23:21"},"nativeSrc":"422352:36:21","nodeType":"YulIf","src":"422352:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"422307:6:21","nodeType":"YulIdentifier","src":"422307:6:21"},{"kind":"number","nativeSrc":"422315:4:21","nodeType":"YulLiteral","src":"422315:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"422304:2:21","nodeType":"YulIdentifier","src":"422304:2:21"},"nativeSrc":"422304:16:21","nodeType":"YulFunctionCall","src":"422304:16:21"},"nativeSrc":"422297:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"422321:28:21","nodeType":"YulBlock","src":"422321:28:21","statements":[{"nativeSrc":"422323:24:21","nodeType":"YulAssignment","src":"422323:24:21","value":{"arguments":[{"name":"length","nativeSrc":"422337:6:21","nodeType":"YulIdentifier","src":"422337:6:21"},{"kind":"number","nativeSrc":"422345:1:21","nodeType":"YulLiteral","src":"422345:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"422333:3:21","nodeType":"YulIdentifier","src":"422333:3:21"},"nativeSrc":"422333:14:21","nodeType":"YulFunctionCall","src":"422333:14:21"},"variableNames":[{"name":"length","nativeSrc":"422323:6:21","nodeType":"YulIdentifier","src":"422323:6:21"}]}]},"pre":{"nativeSrc":"422301:2:21","nodeType":"YulBlock","src":"422301:2:21","statements":[]},"src":"422297:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"422414:3:21","nodeType":"YulIdentifier","src":"422414:3:21"},{"name":"length","nativeSrc":"422419:6:21","nodeType":"YulIdentifier","src":"422419:6:21"}],"functionName":{"name":"mstore","nativeSrc":"422407:6:21","nodeType":"YulIdentifier","src":"422407:6:21"},"nativeSrc":"422407:19:21","nodeType":"YulFunctionCall","src":"422407:19:21"},"nativeSrc":"422407:19:21","nodeType":"YulExpressionStatement","src":"422407:19:21"},{"nativeSrc":"422443:37:21","nodeType":"YulVariableDeclaration","src":"422443:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"422460:3:21","nodeType":"YulLiteral","src":"422460:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"422469:1:21","nodeType":"YulLiteral","src":"422469:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"422472:6:21","nodeType":"YulIdentifier","src":"422472:6:21"}],"functionName":{"name":"shl","nativeSrc":"422465:3:21","nodeType":"YulIdentifier","src":"422465:3:21"},"nativeSrc":"422465:14:21","nodeType":"YulFunctionCall","src":"422465:14:21"}],"functionName":{"name":"sub","nativeSrc":"422456:3:21","nodeType":"YulIdentifier","src":"422456:3:21"},"nativeSrc":"422456:24:21","nodeType":"YulFunctionCall","src":"422456:24:21"},"variables":[{"name":"shift","nativeSrc":"422447:5:21","nodeType":"YulTypedName","src":"422447:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"422508:3:21","nodeType":"YulIdentifier","src":"422508:3:21"},{"kind":"number","nativeSrc":"422513:4:21","nodeType":"YulLiteral","src":"422513:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"422504:3:21","nodeType":"YulIdentifier","src":"422504:3:21"},"nativeSrc":"422504:14:21","nodeType":"YulFunctionCall","src":"422504:14:21"},{"arguments":[{"name":"shift","nativeSrc":"422524:5:21","nodeType":"YulIdentifier","src":"422524:5:21"},{"arguments":[{"name":"shift","nativeSrc":"422535:5:21","nodeType":"YulIdentifier","src":"422535:5:21"},{"name":"w","nativeSrc":"422542:1:21","nodeType":"YulIdentifier","src":"422542:1:21"}],"functionName":{"name":"shr","nativeSrc":"422531:3:21","nodeType":"YulIdentifier","src":"422531:3:21"},"nativeSrc":"422531:13:21","nodeType":"YulFunctionCall","src":"422531:13:21"}],"functionName":{"name":"shl","nativeSrc":"422520:3:21","nodeType":"YulIdentifier","src":"422520:3:21"},"nativeSrc":"422520:25:21","nodeType":"YulFunctionCall","src":"422520:25:21"}],"functionName":{"name":"mstore","nativeSrc":"422497:6:21","nodeType":"YulIdentifier","src":"422497:6:21"},"nativeSrc":"422497:49:21","nodeType":"YulFunctionCall","src":"422497:49:21"},"nativeSrc":"422497:49:21","nodeType":"YulExpressionStatement","src":"422497:49:21"}]},"name":"writeString","nativeSrc":"422218:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"422239:3:21","nodeType":"YulTypedName","src":"422239:3:21","type":""},{"name":"w","nativeSrc":"422244:1:21","nodeType":"YulTypedName","src":"422244:1:21","type":""}],"src":"422218:342:21"},{"nativeSrc":"422573:17:21","nodeType":"YulAssignment","src":"422573:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"422585:4:21","nodeType":"YulLiteral","src":"422585:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"422579:5:21","nodeType":"YulIdentifier","src":"422579:5:21"},"nativeSrc":"422579:11:21","nodeType":"YulFunctionCall","src":"422579:11:21"},"variableNames":[{"name":"m0","nativeSrc":"422573:2:21","nodeType":"YulIdentifier","src":"422573:2:21"}]},{"nativeSrc":"422603:17:21","nodeType":"YulAssignment","src":"422603:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"422615:4:21","nodeType":"YulLiteral","src":"422615:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"422609:5:21","nodeType":"YulIdentifier","src":"422609:5:21"},"nativeSrc":"422609:11:21","nodeType":"YulFunctionCall","src":"422609:11:21"},"variableNames":[{"name":"m1","nativeSrc":"422603:2:21","nodeType":"YulIdentifier","src":"422603:2:21"}]},{"nativeSrc":"422633:17:21","nodeType":"YulAssignment","src":"422633:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"422645:4:21","nodeType":"YulLiteral","src":"422645:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"422639:5:21","nodeType":"YulIdentifier","src":"422639:5:21"},"nativeSrc":"422639:11:21","nodeType":"YulFunctionCall","src":"422639:11:21"},"variableNames":[{"name":"m2","nativeSrc":"422633:2:21","nodeType":"YulIdentifier","src":"422633:2:21"}]},{"nativeSrc":"422663:17:21","nodeType":"YulAssignment","src":"422663:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"422675:4:21","nodeType":"YulLiteral","src":"422675:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"422669:5:21","nodeType":"YulIdentifier","src":"422669:5:21"},"nativeSrc":"422669:11:21","nodeType":"YulFunctionCall","src":"422669:11:21"},"variableNames":[{"name":"m3","nativeSrc":"422663:2:21","nodeType":"YulIdentifier","src":"422663:2:21"}]},{"nativeSrc":"422693:17:21","nodeType":"YulAssignment","src":"422693:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"422705:4:21","nodeType":"YulLiteral","src":"422705:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"422699:5:21","nodeType":"YulIdentifier","src":"422699:5:21"},"nativeSrc":"422699:11:21","nodeType":"YulFunctionCall","src":"422699:11:21"},"variableNames":[{"name":"m4","nativeSrc":"422693:2:21","nodeType":"YulIdentifier","src":"422693:2:21"}]},{"nativeSrc":"422723:17:21","nodeType":"YulAssignment","src":"422723:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"422735:4:21","nodeType":"YulLiteral","src":"422735:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"422729:5:21","nodeType":"YulIdentifier","src":"422729:5:21"},"nativeSrc":"422729:11:21","nodeType":"YulFunctionCall","src":"422729:11:21"},"variableNames":[{"name":"m5","nativeSrc":"422723:2:21","nodeType":"YulIdentifier","src":"422723:2:21"}]},{"nativeSrc":"422753:17:21","nodeType":"YulAssignment","src":"422753:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"422765:4:21","nodeType":"YulLiteral","src":"422765:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"422759:5:21","nodeType":"YulIdentifier","src":"422759:5:21"},"nativeSrc":"422759:11:21","nodeType":"YulFunctionCall","src":"422759:11:21"},"variableNames":[{"name":"m6","nativeSrc":"422753:2:21","nodeType":"YulIdentifier","src":"422753:2:21"}]},{"nativeSrc":"422783:17:21","nodeType":"YulAssignment","src":"422783:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"422795:4:21","nodeType":"YulLiteral","src":"422795:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"422789:5:21","nodeType":"YulIdentifier","src":"422789:5:21"},"nativeSrc":"422789:11:21","nodeType":"YulFunctionCall","src":"422789:11:21"},"variableNames":[{"name":"m7","nativeSrc":"422783:2:21","nodeType":"YulIdentifier","src":"422783:2:21"}]},{"nativeSrc":"422813:18:21","nodeType":"YulAssignment","src":"422813:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"422825:5:21","nodeType":"YulLiteral","src":"422825:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"422819:5:21","nodeType":"YulIdentifier","src":"422819:5:21"},"nativeSrc":"422819:12:21","nodeType":"YulFunctionCall","src":"422819:12:21"},"variableNames":[{"name":"m8","nativeSrc":"422813:2:21","nodeType":"YulIdentifier","src":"422813:2:21"}]},{"nativeSrc":"422844:18:21","nodeType":"YulAssignment","src":"422844:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"422856:5:21","nodeType":"YulLiteral","src":"422856:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"422850:5:21","nodeType":"YulIdentifier","src":"422850:5:21"},"nativeSrc":"422850:12:21","nodeType":"YulFunctionCall","src":"422850:12:21"},"variableNames":[{"name":"m9","nativeSrc":"422844:2:21","nodeType":"YulIdentifier","src":"422844:2:21"}]},{"nativeSrc":"422875:19:21","nodeType":"YulAssignment","src":"422875:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"422888:5:21","nodeType":"YulLiteral","src":"422888:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"422882:5:21","nodeType":"YulIdentifier","src":"422882:5:21"},"nativeSrc":"422882:12:21","nodeType":"YulFunctionCall","src":"422882:12:21"},"variableNames":[{"name":"m10","nativeSrc":"422875:3:21","nodeType":"YulIdentifier","src":"422875:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"422975:4:21","nodeType":"YulLiteral","src":"422975:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"422981:10:21","nodeType":"YulLiteral","src":"422981:10:21","type":"","value":"0x2c1754ed"}],"functionName":{"name":"mstore","nativeSrc":"422968:6:21","nodeType":"YulIdentifier","src":"422968:6:21"},"nativeSrc":"422968:24:21","nodeType":"YulFunctionCall","src":"422968:24:21"},"nativeSrc":"422968:24:21","nodeType":"YulExpressionStatement","src":"422968:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423012:4:21","nodeType":"YulLiteral","src":"423012:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"423018:4:21","nodeType":"YulLiteral","src":"423018:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"423005:6:21","nodeType":"YulIdentifier","src":"423005:6:21"},"nativeSrc":"423005:18:21","nodeType":"YulFunctionCall","src":"423005:18:21"},"nativeSrc":"423005:18:21","nodeType":"YulExpressionStatement","src":"423005:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423043:4:21","nodeType":"YulLiteral","src":"423043:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"423049:4:21","nodeType":"YulLiteral","src":"423049:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"423036:6:21","nodeType":"YulIdentifier","src":"423036:6:21"},"nativeSrc":"423036:18:21","nodeType":"YulFunctionCall","src":"423036:18:21"},"nativeSrc":"423036:18:21","nodeType":"YulExpressionStatement","src":"423036:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423074:4:21","nodeType":"YulLiteral","src":"423074:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"423080:5:21","nodeType":"YulLiteral","src":"423080:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"423067:6:21","nodeType":"YulIdentifier","src":"423067:6:21"},"nativeSrc":"423067:19:21","nodeType":"YulFunctionCall","src":"423067:19:21"},"nativeSrc":"423067:19:21","nodeType":"YulExpressionStatement","src":"423067:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423106:4:21","nodeType":"YulLiteral","src":"423106:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"423112:2:21","nodeType":"YulIdentifier","src":"423112:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423099:6:21","nodeType":"YulIdentifier","src":"423099:6:21"},"nativeSrc":"423099:16:21","nodeType":"YulFunctionCall","src":"423099:16:21"},"nativeSrc":"423099:16:21","nodeType":"YulExpressionStatement","src":"423099:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423140:4:21","nodeType":"YulLiteral","src":"423140:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"423146:2:21","nodeType":"YulIdentifier","src":"423146:2:21"}],"functionName":{"name":"writeString","nativeSrc":"423128:11:21","nodeType":"YulIdentifier","src":"423128:11:21"},"nativeSrc":"423128:21:21","nodeType":"YulFunctionCall","src":"423128:21:21"},"nativeSrc":"423128:21:21","nodeType":"YulExpressionStatement","src":"423128:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423174:4:21","nodeType":"YulLiteral","src":"423174:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"423180:2:21","nodeType":"YulIdentifier","src":"423180:2:21"}],"functionName":{"name":"writeString","nativeSrc":"423162:11:21","nodeType":"YulIdentifier","src":"423162:11:21"},"nativeSrc":"423162:21:21","nodeType":"YulFunctionCall","src":"423162:21:21"},"nativeSrc":"423162:21:21","nodeType":"YulExpressionStatement","src":"423162:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423208:5:21","nodeType":"YulLiteral","src":"423208:5:21","type":"","value":"0x120"},{"name":"p2","nativeSrc":"423215:2:21","nodeType":"YulIdentifier","src":"423215:2:21"}],"functionName":{"name":"writeString","nativeSrc":"423196:11:21","nodeType":"YulIdentifier","src":"423196:11:21"},"nativeSrc":"423196:22:21","nodeType":"YulFunctionCall","src":"423196:22:21"},"nativeSrc":"423196:22:21","nodeType":"YulExpressionStatement","src":"423196:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39886,"isOffset":false,"isSlot":false,"src":"422573:2:21","valueSize":1},{"declaration":39889,"isOffset":false,"isSlot":false,"src":"422603:2:21","valueSize":1},{"declaration":39916,"isOffset":false,"isSlot":false,"src":"422875:3:21","valueSize":1},{"declaration":39892,"isOffset":false,"isSlot":false,"src":"422633:2:21","valueSize":1},{"declaration":39895,"isOffset":false,"isSlot":false,"src":"422663:2:21","valueSize":1},{"declaration":39898,"isOffset":false,"isSlot":false,"src":"422693:2:21","valueSize":1},{"declaration":39901,"isOffset":false,"isSlot":false,"src":"422723:2:21","valueSize":1},{"declaration":39904,"isOffset":false,"isSlot":false,"src":"422753:2:21","valueSize":1},{"declaration":39907,"isOffset":false,"isSlot":false,"src":"422783:2:21","valueSize":1},{"declaration":39910,"isOffset":false,"isSlot":false,"src":"422813:2:21","valueSize":1},{"declaration":39913,"isOffset":false,"isSlot":false,"src":"422844:2:21","valueSize":1},{"declaration":39876,"isOffset":false,"isSlot":false,"src":"423146:2:21","valueSize":1},{"declaration":39878,"isOffset":false,"isSlot":false,"src":"423180:2:21","valueSize":1},{"declaration":39880,"isOffset":false,"isSlot":false,"src":"423215:2:21","valueSize":1},{"declaration":39882,"isOffset":false,"isSlot":false,"src":"423112:2:21","valueSize":1}],"id":39918,"nodeType":"InlineAssembly","src":"422195:1033:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"423253:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"423259:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39919,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"423237:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"423237:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39923,"nodeType":"ExpressionStatement","src":"423237:28:21"},{"AST":{"nativeSrc":"423327:334:21","nodeType":"YulBlock","src":"423327:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"423348:4:21","nodeType":"YulLiteral","src":"423348:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"423354:2:21","nodeType":"YulIdentifier","src":"423354:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423341:6:21","nodeType":"YulIdentifier","src":"423341:6:21"},"nativeSrc":"423341:16:21","nodeType":"YulFunctionCall","src":"423341:16:21"},"nativeSrc":"423341:16:21","nodeType":"YulExpressionStatement","src":"423341:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423377:4:21","nodeType":"YulLiteral","src":"423377:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"423383:2:21","nodeType":"YulIdentifier","src":"423383:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423370:6:21","nodeType":"YulIdentifier","src":"423370:6:21"},"nativeSrc":"423370:16:21","nodeType":"YulFunctionCall","src":"423370:16:21"},"nativeSrc":"423370:16:21","nodeType":"YulExpressionStatement","src":"423370:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423406:4:21","nodeType":"YulLiteral","src":"423406:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"423412:2:21","nodeType":"YulIdentifier","src":"423412:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423399:6:21","nodeType":"YulIdentifier","src":"423399:6:21"},"nativeSrc":"423399:16:21","nodeType":"YulFunctionCall","src":"423399:16:21"},"nativeSrc":"423399:16:21","nodeType":"YulExpressionStatement","src":"423399:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423435:4:21","nodeType":"YulLiteral","src":"423435:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"423441:2:21","nodeType":"YulIdentifier","src":"423441:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423428:6:21","nodeType":"YulIdentifier","src":"423428:6:21"},"nativeSrc":"423428:16:21","nodeType":"YulFunctionCall","src":"423428:16:21"},"nativeSrc":"423428:16:21","nodeType":"YulExpressionStatement","src":"423428:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423464:4:21","nodeType":"YulLiteral","src":"423464:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"423470:2:21","nodeType":"YulIdentifier","src":"423470:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423457:6:21","nodeType":"YulIdentifier","src":"423457:6:21"},"nativeSrc":"423457:16:21","nodeType":"YulFunctionCall","src":"423457:16:21"},"nativeSrc":"423457:16:21","nodeType":"YulExpressionStatement","src":"423457:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423493:4:21","nodeType":"YulLiteral","src":"423493:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"423499:2:21","nodeType":"YulIdentifier","src":"423499:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423486:6:21","nodeType":"YulIdentifier","src":"423486:6:21"},"nativeSrc":"423486:16:21","nodeType":"YulFunctionCall","src":"423486:16:21"},"nativeSrc":"423486:16:21","nodeType":"YulExpressionStatement","src":"423486:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423522:4:21","nodeType":"YulLiteral","src":"423522:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"423528:2:21","nodeType":"YulIdentifier","src":"423528:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423515:6:21","nodeType":"YulIdentifier","src":"423515:6:21"},"nativeSrc":"423515:16:21","nodeType":"YulFunctionCall","src":"423515:16:21"},"nativeSrc":"423515:16:21","nodeType":"YulExpressionStatement","src":"423515:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423551:4:21","nodeType":"YulLiteral","src":"423551:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"423557:2:21","nodeType":"YulIdentifier","src":"423557:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423544:6:21","nodeType":"YulIdentifier","src":"423544:6:21"},"nativeSrc":"423544:16:21","nodeType":"YulFunctionCall","src":"423544:16:21"},"nativeSrc":"423544:16:21","nodeType":"YulExpressionStatement","src":"423544:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423580:5:21","nodeType":"YulLiteral","src":"423580:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"423587:2:21","nodeType":"YulIdentifier","src":"423587:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423573:6:21","nodeType":"YulIdentifier","src":"423573:6:21"},"nativeSrc":"423573:17:21","nodeType":"YulFunctionCall","src":"423573:17:21"},"nativeSrc":"423573:17:21","nodeType":"YulExpressionStatement","src":"423573:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423610:5:21","nodeType":"YulLiteral","src":"423610:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"423617:2:21","nodeType":"YulIdentifier","src":"423617:2:21"}],"functionName":{"name":"mstore","nativeSrc":"423603:6:21","nodeType":"YulIdentifier","src":"423603:6:21"},"nativeSrc":"423603:17:21","nodeType":"YulFunctionCall","src":"423603:17:21"},"nativeSrc":"423603:17:21","nodeType":"YulExpressionStatement","src":"423603:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423640:5:21","nodeType":"YulLiteral","src":"423640:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"423647:3:21","nodeType":"YulIdentifier","src":"423647:3:21"}],"functionName":{"name":"mstore","nativeSrc":"423633:6:21","nodeType":"YulIdentifier","src":"423633:6:21"},"nativeSrc":"423633:18:21","nodeType":"YulFunctionCall","src":"423633:18:21"},"nativeSrc":"423633:18:21","nodeType":"YulExpressionStatement","src":"423633:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39886,"isOffset":false,"isSlot":false,"src":"423354:2:21","valueSize":1},{"declaration":39889,"isOffset":false,"isSlot":false,"src":"423383:2:21","valueSize":1},{"declaration":39916,"isOffset":false,"isSlot":false,"src":"423647:3:21","valueSize":1},{"declaration":39892,"isOffset":false,"isSlot":false,"src":"423412:2:21","valueSize":1},{"declaration":39895,"isOffset":false,"isSlot":false,"src":"423441:2:21","valueSize":1},{"declaration":39898,"isOffset":false,"isSlot":false,"src":"423470:2:21","valueSize":1},{"declaration":39901,"isOffset":false,"isSlot":false,"src":"423499:2:21","valueSize":1},{"declaration":39904,"isOffset":false,"isSlot":false,"src":"423528:2:21","valueSize":1},{"declaration":39907,"isOffset":false,"isSlot":false,"src":"423557:2:21","valueSize":1},{"declaration":39910,"isOffset":false,"isSlot":false,"src":"423587:2:21","valueSize":1},{"declaration":39913,"isOffset":false,"isSlot":false,"src":"423617:2:21","valueSize":1}],"id":39924,"nodeType":"InlineAssembly","src":"423318:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"421858:3:21","parameters":{"id":39883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39876,"mutability":"mutable","name":"p0","nameLocation":"421870:2:21","nodeType":"VariableDeclaration","scope":39926,"src":"421862:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421862:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39878,"mutability":"mutable","name":"p1","nameLocation":"421882:2:21","nodeType":"VariableDeclaration","scope":39926,"src":"421874:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421874:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39880,"mutability":"mutable","name":"p2","nameLocation":"421894:2:21","nodeType":"VariableDeclaration","scope":39926,"src":"421886:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421886:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39882,"mutability":"mutable","name":"p3","nameLocation":"421903:2:21","nodeType":"VariableDeclaration","scope":39926,"src":"421898:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39881,"name":"bool","nodeType":"ElementaryTypeName","src":"421898:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"421861:45:21"},"returnParameters":{"id":39884,"nodeType":"ParameterList","parameters":[],"src":"421921:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39978,"nodeType":"FunctionDefinition","src":"423673:1824:21","nodes":[],"body":{"id":39977,"nodeType":"Block","src":"423748:1749:21","nodes":[],"statements":[{"assignments":[39938],"declarations":[{"constant":false,"id":39938,"mutability":"mutable","name":"m0","nameLocation":"423766:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423758:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423758:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39939,"nodeType":"VariableDeclarationStatement","src":"423758:10:21"},{"assignments":[39941],"declarations":[{"constant":false,"id":39941,"mutability":"mutable","name":"m1","nameLocation":"423786:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423778:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423778:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39942,"nodeType":"VariableDeclarationStatement","src":"423778:10:21"},{"assignments":[39944],"declarations":[{"constant":false,"id":39944,"mutability":"mutable","name":"m2","nameLocation":"423806:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423798:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423798:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39945,"nodeType":"VariableDeclarationStatement","src":"423798:10:21"},{"assignments":[39947],"declarations":[{"constant":false,"id":39947,"mutability":"mutable","name":"m3","nameLocation":"423826:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423818:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423818:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39948,"nodeType":"VariableDeclarationStatement","src":"423818:10:21"},{"assignments":[39950],"declarations":[{"constant":false,"id":39950,"mutability":"mutable","name":"m4","nameLocation":"423846:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423838:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423838:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39951,"nodeType":"VariableDeclarationStatement","src":"423838:10:21"},{"assignments":[39953],"declarations":[{"constant":false,"id":39953,"mutability":"mutable","name":"m5","nameLocation":"423866:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423858:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423858:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39954,"nodeType":"VariableDeclarationStatement","src":"423858:10:21"},{"assignments":[39956],"declarations":[{"constant":false,"id":39956,"mutability":"mutable","name":"m6","nameLocation":"423886:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423878:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423878:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39957,"nodeType":"VariableDeclarationStatement","src":"423878:10:21"},{"assignments":[39959],"declarations":[{"constant":false,"id":39959,"mutability":"mutable","name":"m7","nameLocation":"423906:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423898:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423898:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39960,"nodeType":"VariableDeclarationStatement","src":"423898:10:21"},{"assignments":[39962],"declarations":[{"constant":false,"id":39962,"mutability":"mutable","name":"m8","nameLocation":"423926:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423918:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423918:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39963,"nodeType":"VariableDeclarationStatement","src":"423918:10:21"},{"assignments":[39965],"declarations":[{"constant":false,"id":39965,"mutability":"mutable","name":"m9","nameLocation":"423946:2:21","nodeType":"VariableDeclaration","scope":39977,"src":"423938:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423938:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39966,"nodeType":"VariableDeclarationStatement","src":"423938:10:21"},{"assignments":[39968],"declarations":[{"constant":false,"id":39968,"mutability":"mutable","name":"m10","nameLocation":"423966:3:21","nodeType":"VariableDeclaration","scope":39977,"src":"423958:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423958:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39969,"nodeType":"VariableDeclarationStatement","src":"423958:11:21"},{"AST":{"nativeSrc":"424031:1027:21","nodeType":"YulBlock","src":"424031:1027:21","statements":[{"body":{"nativeSrc":"424074:313:21","nodeType":"YulBlock","src":"424074:313:21","statements":[{"nativeSrc":"424092:15:21","nodeType":"YulVariableDeclaration","src":"424092:15:21","value":{"kind":"number","nativeSrc":"424106:1:21","nodeType":"YulLiteral","src":"424106:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"424096:6:21","nodeType":"YulTypedName","src":"424096:6:21","type":""}]},{"body":{"nativeSrc":"424177:40:21","nodeType":"YulBlock","src":"424177:40:21","statements":[{"body":{"nativeSrc":"424206:9:21","nodeType":"YulBlock","src":"424206:9:21","statements":[{"nativeSrc":"424208:5:21","nodeType":"YulBreak","src":"424208:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"424194:6:21","nodeType":"YulIdentifier","src":"424194:6:21"},{"name":"w","nativeSrc":"424202:1:21","nodeType":"YulIdentifier","src":"424202:1:21"}],"functionName":{"name":"byte","nativeSrc":"424189:4:21","nodeType":"YulIdentifier","src":"424189:4:21"},"nativeSrc":"424189:15:21","nodeType":"YulFunctionCall","src":"424189:15:21"}],"functionName":{"name":"iszero","nativeSrc":"424182:6:21","nodeType":"YulIdentifier","src":"424182:6:21"},"nativeSrc":"424182:23:21","nodeType":"YulFunctionCall","src":"424182:23:21"},"nativeSrc":"424179:36:21","nodeType":"YulIf","src":"424179:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"424134:6:21","nodeType":"YulIdentifier","src":"424134:6:21"},{"kind":"number","nativeSrc":"424142:4:21","nodeType":"YulLiteral","src":"424142:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"424131:2:21","nodeType":"YulIdentifier","src":"424131:2:21"},"nativeSrc":"424131:16:21","nodeType":"YulFunctionCall","src":"424131:16:21"},"nativeSrc":"424124:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"424148:28:21","nodeType":"YulBlock","src":"424148:28:21","statements":[{"nativeSrc":"424150:24:21","nodeType":"YulAssignment","src":"424150:24:21","value":{"arguments":[{"name":"length","nativeSrc":"424164:6:21","nodeType":"YulIdentifier","src":"424164:6:21"},{"kind":"number","nativeSrc":"424172:1:21","nodeType":"YulLiteral","src":"424172:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"424160:3:21","nodeType":"YulIdentifier","src":"424160:3:21"},"nativeSrc":"424160:14:21","nodeType":"YulFunctionCall","src":"424160:14:21"},"variableNames":[{"name":"length","nativeSrc":"424150:6:21","nodeType":"YulIdentifier","src":"424150:6:21"}]}]},"pre":{"nativeSrc":"424128:2:21","nodeType":"YulBlock","src":"424128:2:21","statements":[]},"src":"424124:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"424241:3:21","nodeType":"YulIdentifier","src":"424241:3:21"},{"name":"length","nativeSrc":"424246:6:21","nodeType":"YulIdentifier","src":"424246:6:21"}],"functionName":{"name":"mstore","nativeSrc":"424234:6:21","nodeType":"YulIdentifier","src":"424234:6:21"},"nativeSrc":"424234:19:21","nodeType":"YulFunctionCall","src":"424234:19:21"},"nativeSrc":"424234:19:21","nodeType":"YulExpressionStatement","src":"424234:19:21"},{"nativeSrc":"424270:37:21","nodeType":"YulVariableDeclaration","src":"424270:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"424287:3:21","nodeType":"YulLiteral","src":"424287:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"424296:1:21","nodeType":"YulLiteral","src":"424296:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"424299:6:21","nodeType":"YulIdentifier","src":"424299:6:21"}],"functionName":{"name":"shl","nativeSrc":"424292:3:21","nodeType":"YulIdentifier","src":"424292:3:21"},"nativeSrc":"424292:14:21","nodeType":"YulFunctionCall","src":"424292:14:21"}],"functionName":{"name":"sub","nativeSrc":"424283:3:21","nodeType":"YulIdentifier","src":"424283:3:21"},"nativeSrc":"424283:24:21","nodeType":"YulFunctionCall","src":"424283:24:21"},"variables":[{"name":"shift","nativeSrc":"424274:5:21","nodeType":"YulTypedName","src":"424274:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"424335:3:21","nodeType":"YulIdentifier","src":"424335:3:21"},{"kind":"number","nativeSrc":"424340:4:21","nodeType":"YulLiteral","src":"424340:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"424331:3:21","nodeType":"YulIdentifier","src":"424331:3:21"},"nativeSrc":"424331:14:21","nodeType":"YulFunctionCall","src":"424331:14:21"},{"arguments":[{"name":"shift","nativeSrc":"424351:5:21","nodeType":"YulIdentifier","src":"424351:5:21"},{"arguments":[{"name":"shift","nativeSrc":"424362:5:21","nodeType":"YulIdentifier","src":"424362:5:21"},{"name":"w","nativeSrc":"424369:1:21","nodeType":"YulIdentifier","src":"424369:1:21"}],"functionName":{"name":"shr","nativeSrc":"424358:3:21","nodeType":"YulIdentifier","src":"424358:3:21"},"nativeSrc":"424358:13:21","nodeType":"YulFunctionCall","src":"424358:13:21"}],"functionName":{"name":"shl","nativeSrc":"424347:3:21","nodeType":"YulIdentifier","src":"424347:3:21"},"nativeSrc":"424347:25:21","nodeType":"YulFunctionCall","src":"424347:25:21"}],"functionName":{"name":"mstore","nativeSrc":"424324:6:21","nodeType":"YulIdentifier","src":"424324:6:21"},"nativeSrc":"424324:49:21","nodeType":"YulFunctionCall","src":"424324:49:21"},"nativeSrc":"424324:49:21","nodeType":"YulExpressionStatement","src":"424324:49:21"}]},"name":"writeString","nativeSrc":"424045:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"424066:3:21","nodeType":"YulTypedName","src":"424066:3:21","type":""},{"name":"w","nativeSrc":"424071:1:21","nodeType":"YulTypedName","src":"424071:1:21","type":""}],"src":"424045:342:21"},{"nativeSrc":"424400:17:21","nodeType":"YulAssignment","src":"424400:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"424412:4:21","nodeType":"YulLiteral","src":"424412:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"424406:5:21","nodeType":"YulIdentifier","src":"424406:5:21"},"nativeSrc":"424406:11:21","nodeType":"YulFunctionCall","src":"424406:11:21"},"variableNames":[{"name":"m0","nativeSrc":"424400:2:21","nodeType":"YulIdentifier","src":"424400:2:21"}]},{"nativeSrc":"424430:17:21","nodeType":"YulAssignment","src":"424430:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"424442:4:21","nodeType":"YulLiteral","src":"424442:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"424436:5:21","nodeType":"YulIdentifier","src":"424436:5:21"},"nativeSrc":"424436:11:21","nodeType":"YulFunctionCall","src":"424436:11:21"},"variableNames":[{"name":"m1","nativeSrc":"424430:2:21","nodeType":"YulIdentifier","src":"424430:2:21"}]},{"nativeSrc":"424460:17:21","nodeType":"YulAssignment","src":"424460:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"424472:4:21","nodeType":"YulLiteral","src":"424472:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"424466:5:21","nodeType":"YulIdentifier","src":"424466:5:21"},"nativeSrc":"424466:11:21","nodeType":"YulFunctionCall","src":"424466:11:21"},"variableNames":[{"name":"m2","nativeSrc":"424460:2:21","nodeType":"YulIdentifier","src":"424460:2:21"}]},{"nativeSrc":"424490:17:21","nodeType":"YulAssignment","src":"424490:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"424502:4:21","nodeType":"YulLiteral","src":"424502:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"424496:5:21","nodeType":"YulIdentifier","src":"424496:5:21"},"nativeSrc":"424496:11:21","nodeType":"YulFunctionCall","src":"424496:11:21"},"variableNames":[{"name":"m3","nativeSrc":"424490:2:21","nodeType":"YulIdentifier","src":"424490:2:21"}]},{"nativeSrc":"424520:17:21","nodeType":"YulAssignment","src":"424520:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"424532:4:21","nodeType":"YulLiteral","src":"424532:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"424526:5:21","nodeType":"YulIdentifier","src":"424526:5:21"},"nativeSrc":"424526:11:21","nodeType":"YulFunctionCall","src":"424526:11:21"},"variableNames":[{"name":"m4","nativeSrc":"424520:2:21","nodeType":"YulIdentifier","src":"424520:2:21"}]},{"nativeSrc":"424550:17:21","nodeType":"YulAssignment","src":"424550:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"424562:4:21","nodeType":"YulLiteral","src":"424562:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"424556:5:21","nodeType":"YulIdentifier","src":"424556:5:21"},"nativeSrc":"424556:11:21","nodeType":"YulFunctionCall","src":"424556:11:21"},"variableNames":[{"name":"m5","nativeSrc":"424550:2:21","nodeType":"YulIdentifier","src":"424550:2:21"}]},{"nativeSrc":"424580:17:21","nodeType":"YulAssignment","src":"424580:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"424592:4:21","nodeType":"YulLiteral","src":"424592:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"424586:5:21","nodeType":"YulIdentifier","src":"424586:5:21"},"nativeSrc":"424586:11:21","nodeType":"YulFunctionCall","src":"424586:11:21"},"variableNames":[{"name":"m6","nativeSrc":"424580:2:21","nodeType":"YulIdentifier","src":"424580:2:21"}]},{"nativeSrc":"424610:17:21","nodeType":"YulAssignment","src":"424610:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"424622:4:21","nodeType":"YulLiteral","src":"424622:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"424616:5:21","nodeType":"YulIdentifier","src":"424616:5:21"},"nativeSrc":"424616:11:21","nodeType":"YulFunctionCall","src":"424616:11:21"},"variableNames":[{"name":"m7","nativeSrc":"424610:2:21","nodeType":"YulIdentifier","src":"424610:2:21"}]},{"nativeSrc":"424640:18:21","nodeType":"YulAssignment","src":"424640:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"424652:5:21","nodeType":"YulLiteral","src":"424652:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"424646:5:21","nodeType":"YulIdentifier","src":"424646:5:21"},"nativeSrc":"424646:12:21","nodeType":"YulFunctionCall","src":"424646:12:21"},"variableNames":[{"name":"m8","nativeSrc":"424640:2:21","nodeType":"YulIdentifier","src":"424640:2:21"}]},{"nativeSrc":"424671:18:21","nodeType":"YulAssignment","src":"424671:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"424683:5:21","nodeType":"YulLiteral","src":"424683:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"424677:5:21","nodeType":"YulIdentifier","src":"424677:5:21"},"nativeSrc":"424677:12:21","nodeType":"YulFunctionCall","src":"424677:12:21"},"variableNames":[{"name":"m9","nativeSrc":"424671:2:21","nodeType":"YulIdentifier","src":"424671:2:21"}]},{"nativeSrc":"424702:19:21","nodeType":"YulAssignment","src":"424702:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"424715:5:21","nodeType":"YulLiteral","src":"424715:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"424709:5:21","nodeType":"YulIdentifier","src":"424709:5:21"},"nativeSrc":"424709:12:21","nodeType":"YulFunctionCall","src":"424709:12:21"},"variableNames":[{"name":"m10","nativeSrc":"424702:3:21","nodeType":"YulIdentifier","src":"424702:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424805:4:21","nodeType":"YulLiteral","src":"424805:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"424811:10:21","nodeType":"YulLiteral","src":"424811:10:21","type":"","value":"0x8eafb02b"}],"functionName":{"name":"mstore","nativeSrc":"424798:6:21","nodeType":"YulIdentifier","src":"424798:6:21"},"nativeSrc":"424798:24:21","nodeType":"YulFunctionCall","src":"424798:24:21"},"nativeSrc":"424798:24:21","nodeType":"YulExpressionStatement","src":"424798:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424842:4:21","nodeType":"YulLiteral","src":"424842:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"424848:4:21","nodeType":"YulLiteral","src":"424848:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"424835:6:21","nodeType":"YulIdentifier","src":"424835:6:21"},"nativeSrc":"424835:18:21","nodeType":"YulFunctionCall","src":"424835:18:21"},"nativeSrc":"424835:18:21","nodeType":"YulExpressionStatement","src":"424835:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424873:4:21","nodeType":"YulLiteral","src":"424873:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"424879:4:21","nodeType":"YulLiteral","src":"424879:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"424866:6:21","nodeType":"YulIdentifier","src":"424866:6:21"},"nativeSrc":"424866:18:21","nodeType":"YulFunctionCall","src":"424866:18:21"},"nativeSrc":"424866:18:21","nodeType":"YulExpressionStatement","src":"424866:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424904:4:21","nodeType":"YulLiteral","src":"424904:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"424910:5:21","nodeType":"YulLiteral","src":"424910:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"424897:6:21","nodeType":"YulIdentifier","src":"424897:6:21"},"nativeSrc":"424897:19:21","nodeType":"YulFunctionCall","src":"424897:19:21"},"nativeSrc":"424897:19:21","nodeType":"YulExpressionStatement","src":"424897:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424936:4:21","nodeType":"YulLiteral","src":"424936:4:21","type":"","value":"0x80"},{"name":"p3","nativeSrc":"424942:2:21","nodeType":"YulIdentifier","src":"424942:2:21"}],"functionName":{"name":"mstore","nativeSrc":"424929:6:21","nodeType":"YulIdentifier","src":"424929:6:21"},"nativeSrc":"424929:16:21","nodeType":"YulFunctionCall","src":"424929:16:21"},"nativeSrc":"424929:16:21","nodeType":"YulExpressionStatement","src":"424929:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424970:4:21","nodeType":"YulLiteral","src":"424970:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"424976:2:21","nodeType":"YulIdentifier","src":"424976:2:21"}],"functionName":{"name":"writeString","nativeSrc":"424958:11:21","nodeType":"YulIdentifier","src":"424958:11:21"},"nativeSrc":"424958:21:21","nodeType":"YulFunctionCall","src":"424958:21:21"},"nativeSrc":"424958:21:21","nodeType":"YulExpressionStatement","src":"424958:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425004:4:21","nodeType":"YulLiteral","src":"425004:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"425010:2:21","nodeType":"YulIdentifier","src":"425010:2:21"}],"functionName":{"name":"writeString","nativeSrc":"424992:11:21","nodeType":"YulIdentifier","src":"424992:11:21"},"nativeSrc":"424992:21:21","nodeType":"YulFunctionCall","src":"424992:21:21"},"nativeSrc":"424992:21:21","nodeType":"YulExpressionStatement","src":"424992:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425038:5:21","nodeType":"YulLiteral","src":"425038:5:21","type":"","value":"0x120"},{"name":"p2","nativeSrc":"425045:2:21","nodeType":"YulIdentifier","src":"425045:2:21"}],"functionName":{"name":"writeString","nativeSrc":"425026:11:21","nodeType":"YulIdentifier","src":"425026:11:21"},"nativeSrc":"425026:22:21","nodeType":"YulFunctionCall","src":"425026:22:21"},"nativeSrc":"425026:22:21","nodeType":"YulExpressionStatement","src":"425026:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39938,"isOffset":false,"isSlot":false,"src":"424400:2:21","valueSize":1},{"declaration":39941,"isOffset":false,"isSlot":false,"src":"424430:2:21","valueSize":1},{"declaration":39968,"isOffset":false,"isSlot":false,"src":"424702:3:21","valueSize":1},{"declaration":39944,"isOffset":false,"isSlot":false,"src":"424460:2:21","valueSize":1},{"declaration":39947,"isOffset":false,"isSlot":false,"src":"424490:2:21","valueSize":1},{"declaration":39950,"isOffset":false,"isSlot":false,"src":"424520:2:21","valueSize":1},{"declaration":39953,"isOffset":false,"isSlot":false,"src":"424550:2:21","valueSize":1},{"declaration":39956,"isOffset":false,"isSlot":false,"src":"424580:2:21","valueSize":1},{"declaration":39959,"isOffset":false,"isSlot":false,"src":"424610:2:21","valueSize":1},{"declaration":39962,"isOffset":false,"isSlot":false,"src":"424640:2:21","valueSize":1},{"declaration":39965,"isOffset":false,"isSlot":false,"src":"424671:2:21","valueSize":1},{"declaration":39928,"isOffset":false,"isSlot":false,"src":"424976:2:21","valueSize":1},{"declaration":39930,"isOffset":false,"isSlot":false,"src":"425010:2:21","valueSize":1},{"declaration":39932,"isOffset":false,"isSlot":false,"src":"425045:2:21","valueSize":1},{"declaration":39934,"isOffset":false,"isSlot":false,"src":"424942:2:21","valueSize":1}],"id":39970,"nodeType":"InlineAssembly","src":"424022:1036:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":39972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"425083:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"425089:5:21","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39971,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"425067:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"425067:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39975,"nodeType":"ExpressionStatement","src":"425067:28:21"},{"AST":{"nativeSrc":"425157:334:21","nodeType":"YulBlock","src":"425157:334:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"425178:4:21","nodeType":"YulLiteral","src":"425178:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"425184:2:21","nodeType":"YulIdentifier","src":"425184:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425171:6:21","nodeType":"YulIdentifier","src":"425171:6:21"},"nativeSrc":"425171:16:21","nodeType":"YulFunctionCall","src":"425171:16:21"},"nativeSrc":"425171:16:21","nodeType":"YulExpressionStatement","src":"425171:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425207:4:21","nodeType":"YulLiteral","src":"425207:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"425213:2:21","nodeType":"YulIdentifier","src":"425213:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425200:6:21","nodeType":"YulIdentifier","src":"425200:6:21"},"nativeSrc":"425200:16:21","nodeType":"YulFunctionCall","src":"425200:16:21"},"nativeSrc":"425200:16:21","nodeType":"YulExpressionStatement","src":"425200:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425236:4:21","nodeType":"YulLiteral","src":"425236:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"425242:2:21","nodeType":"YulIdentifier","src":"425242:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425229:6:21","nodeType":"YulIdentifier","src":"425229:6:21"},"nativeSrc":"425229:16:21","nodeType":"YulFunctionCall","src":"425229:16:21"},"nativeSrc":"425229:16:21","nodeType":"YulExpressionStatement","src":"425229:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425265:4:21","nodeType":"YulLiteral","src":"425265:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"425271:2:21","nodeType":"YulIdentifier","src":"425271:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425258:6:21","nodeType":"YulIdentifier","src":"425258:6:21"},"nativeSrc":"425258:16:21","nodeType":"YulFunctionCall","src":"425258:16:21"},"nativeSrc":"425258:16:21","nodeType":"YulExpressionStatement","src":"425258:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425294:4:21","nodeType":"YulLiteral","src":"425294:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"425300:2:21","nodeType":"YulIdentifier","src":"425300:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425287:6:21","nodeType":"YulIdentifier","src":"425287:6:21"},"nativeSrc":"425287:16:21","nodeType":"YulFunctionCall","src":"425287:16:21"},"nativeSrc":"425287:16:21","nodeType":"YulExpressionStatement","src":"425287:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425323:4:21","nodeType":"YulLiteral","src":"425323:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"425329:2:21","nodeType":"YulIdentifier","src":"425329:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425316:6:21","nodeType":"YulIdentifier","src":"425316:6:21"},"nativeSrc":"425316:16:21","nodeType":"YulFunctionCall","src":"425316:16:21"},"nativeSrc":"425316:16:21","nodeType":"YulExpressionStatement","src":"425316:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425352:4:21","nodeType":"YulLiteral","src":"425352:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"425358:2:21","nodeType":"YulIdentifier","src":"425358:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425345:6:21","nodeType":"YulIdentifier","src":"425345:6:21"},"nativeSrc":"425345:16:21","nodeType":"YulFunctionCall","src":"425345:16:21"},"nativeSrc":"425345:16:21","nodeType":"YulExpressionStatement","src":"425345:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425381:4:21","nodeType":"YulLiteral","src":"425381:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"425387:2:21","nodeType":"YulIdentifier","src":"425387:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425374:6:21","nodeType":"YulIdentifier","src":"425374:6:21"},"nativeSrc":"425374:16:21","nodeType":"YulFunctionCall","src":"425374:16:21"},"nativeSrc":"425374:16:21","nodeType":"YulExpressionStatement","src":"425374:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425410:5:21","nodeType":"YulLiteral","src":"425410:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"425417:2:21","nodeType":"YulIdentifier","src":"425417:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425403:6:21","nodeType":"YulIdentifier","src":"425403:6:21"},"nativeSrc":"425403:17:21","nodeType":"YulFunctionCall","src":"425403:17:21"},"nativeSrc":"425403:17:21","nodeType":"YulExpressionStatement","src":"425403:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425440:5:21","nodeType":"YulLiteral","src":"425440:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"425447:2:21","nodeType":"YulIdentifier","src":"425447:2:21"}],"functionName":{"name":"mstore","nativeSrc":"425433:6:21","nodeType":"YulIdentifier","src":"425433:6:21"},"nativeSrc":"425433:17:21","nodeType":"YulFunctionCall","src":"425433:17:21"},"nativeSrc":"425433:17:21","nodeType":"YulExpressionStatement","src":"425433:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425470:5:21","nodeType":"YulLiteral","src":"425470:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"425477:3:21","nodeType":"YulIdentifier","src":"425477:3:21"}],"functionName":{"name":"mstore","nativeSrc":"425463:6:21","nodeType":"YulIdentifier","src":"425463:6:21"},"nativeSrc":"425463:18:21","nodeType":"YulFunctionCall","src":"425463:18:21"},"nativeSrc":"425463:18:21","nodeType":"YulExpressionStatement","src":"425463:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39938,"isOffset":false,"isSlot":false,"src":"425184:2:21","valueSize":1},{"declaration":39941,"isOffset":false,"isSlot":false,"src":"425213:2:21","valueSize":1},{"declaration":39968,"isOffset":false,"isSlot":false,"src":"425477:3:21","valueSize":1},{"declaration":39944,"isOffset":false,"isSlot":false,"src":"425242:2:21","valueSize":1},{"declaration":39947,"isOffset":false,"isSlot":false,"src":"425271:2:21","valueSize":1},{"declaration":39950,"isOffset":false,"isSlot":false,"src":"425300:2:21","valueSize":1},{"declaration":39953,"isOffset":false,"isSlot":false,"src":"425329:2:21","valueSize":1},{"declaration":39956,"isOffset":false,"isSlot":false,"src":"425358:2:21","valueSize":1},{"declaration":39959,"isOffset":false,"isSlot":false,"src":"425387:2:21","valueSize":1},{"declaration":39962,"isOffset":false,"isSlot":false,"src":"425417:2:21","valueSize":1},{"declaration":39965,"isOffset":false,"isSlot":false,"src":"425447:2:21","valueSize":1}],"id":39976,"nodeType":"InlineAssembly","src":"425148:343:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"423682:3:21","parameters":{"id":39935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39928,"mutability":"mutable","name":"p0","nameLocation":"423694:2:21","nodeType":"VariableDeclaration","scope":39978,"src":"423686:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423686:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39930,"mutability":"mutable","name":"p1","nameLocation":"423706:2:21","nodeType":"VariableDeclaration","scope":39978,"src":"423698:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423698:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39932,"mutability":"mutable","name":"p2","nameLocation":"423718:2:21","nodeType":"VariableDeclaration","scope":39978,"src":"423710:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423710:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39934,"mutability":"mutable","name":"p3","nameLocation":"423730:2:21","nodeType":"VariableDeclaration","scope":39978,"src":"423722:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39933,"name":"uint256","nodeType":"ElementaryTypeName","src":"423722:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"423685:48:21"},"returnParameters":{"id":39936,"nodeType":"ParameterList","parameters":[],"src":"423748:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":40036,"nodeType":"FunctionDefinition","src":"425503:2029:21","nodes":[],"body":{"id":40035,"nodeType":"Block","src":"425578:1954:21","nodes":[],"statements":[{"assignments":[39990],"declarations":[{"constant":false,"id":39990,"mutability":"mutable","name":"m0","nameLocation":"425596:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425588:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425588:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39991,"nodeType":"VariableDeclarationStatement","src":"425588:10:21"},{"assignments":[39993],"declarations":[{"constant":false,"id":39993,"mutability":"mutable","name":"m1","nameLocation":"425616:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425608:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425608:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39994,"nodeType":"VariableDeclarationStatement","src":"425608:10:21"},{"assignments":[39996],"declarations":[{"constant":false,"id":39996,"mutability":"mutable","name":"m2","nameLocation":"425636:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425628:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425628:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39997,"nodeType":"VariableDeclarationStatement","src":"425628:10:21"},{"assignments":[39999],"declarations":[{"constant":false,"id":39999,"mutability":"mutable","name":"m3","nameLocation":"425656:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425648:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425648:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40000,"nodeType":"VariableDeclarationStatement","src":"425648:10:21"},{"assignments":[40002],"declarations":[{"constant":false,"id":40002,"mutability":"mutable","name":"m4","nameLocation":"425676:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425668:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425668:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40003,"nodeType":"VariableDeclarationStatement","src":"425668:10:21"},{"assignments":[40005],"declarations":[{"constant":false,"id":40005,"mutability":"mutable","name":"m5","nameLocation":"425696:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425688:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425688:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40006,"nodeType":"VariableDeclarationStatement","src":"425688:10:21"},{"assignments":[40008],"declarations":[{"constant":false,"id":40008,"mutability":"mutable","name":"m6","nameLocation":"425716:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425708:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425708:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40009,"nodeType":"VariableDeclarationStatement","src":"425708:10:21"},{"assignments":[40011],"declarations":[{"constant":false,"id":40011,"mutability":"mutable","name":"m7","nameLocation":"425736:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425728:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425728:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40012,"nodeType":"VariableDeclarationStatement","src":"425728:10:21"},{"assignments":[40014],"declarations":[{"constant":false,"id":40014,"mutability":"mutable","name":"m8","nameLocation":"425756:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425748:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425748:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40015,"nodeType":"VariableDeclarationStatement","src":"425748:10:21"},{"assignments":[40017],"declarations":[{"constant":false,"id":40017,"mutability":"mutable","name":"m9","nameLocation":"425776:2:21","nodeType":"VariableDeclaration","scope":40035,"src":"425768:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425768:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40018,"nodeType":"VariableDeclarationStatement","src":"425768:10:21"},{"assignments":[40020],"declarations":[{"constant":false,"id":40020,"mutability":"mutable","name":"m10","nameLocation":"425796:3:21","nodeType":"VariableDeclaration","scope":40035,"src":"425788:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425788:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40021,"nodeType":"VariableDeclarationStatement","src":"425788:11:21"},{"assignments":[40023],"declarations":[{"constant":false,"id":40023,"mutability":"mutable","name":"m11","nameLocation":"425817:3:21","nodeType":"VariableDeclaration","scope":40035,"src":"425809:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425809:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40024,"nodeType":"VariableDeclarationStatement","src":"425809:11:21"},{"assignments":[40026],"declarations":[{"constant":false,"id":40026,"mutability":"mutable","name":"m12","nameLocation":"425838:3:21","nodeType":"VariableDeclaration","scope":40035,"src":"425830:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425830:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40027,"nodeType":"VariableDeclarationStatement","src":"425830:11:21"},{"AST":{"nativeSrc":"425903:1128:21","nodeType":"YulBlock","src":"425903:1128:21","statements":[{"body":{"nativeSrc":"425946:313:21","nodeType":"YulBlock","src":"425946:313:21","statements":[{"nativeSrc":"425964:15:21","nodeType":"YulVariableDeclaration","src":"425964:15:21","value":{"kind":"number","nativeSrc":"425978:1:21","nodeType":"YulLiteral","src":"425978:1:21","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"425968:6:21","nodeType":"YulTypedName","src":"425968:6:21","type":""}]},{"body":{"nativeSrc":"426049:40:21","nodeType":"YulBlock","src":"426049:40:21","statements":[{"body":{"nativeSrc":"426078:9:21","nodeType":"YulBlock","src":"426078:9:21","statements":[{"nativeSrc":"426080:5:21","nodeType":"YulBreak","src":"426080:5:21"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"426066:6:21","nodeType":"YulIdentifier","src":"426066:6:21"},{"name":"w","nativeSrc":"426074:1:21","nodeType":"YulIdentifier","src":"426074:1:21"}],"functionName":{"name":"byte","nativeSrc":"426061:4:21","nodeType":"YulIdentifier","src":"426061:4:21"},"nativeSrc":"426061:15:21","nodeType":"YulFunctionCall","src":"426061:15:21"}],"functionName":{"name":"iszero","nativeSrc":"426054:6:21","nodeType":"YulIdentifier","src":"426054:6:21"},"nativeSrc":"426054:23:21","nodeType":"YulFunctionCall","src":"426054:23:21"},"nativeSrc":"426051:36:21","nodeType":"YulIf","src":"426051:36:21"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"426006:6:21","nodeType":"YulIdentifier","src":"426006:6:21"},{"kind":"number","nativeSrc":"426014:4:21","nodeType":"YulLiteral","src":"426014:4:21","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"426003:2:21","nodeType":"YulIdentifier","src":"426003:2:21"},"nativeSrc":"426003:16:21","nodeType":"YulFunctionCall","src":"426003:16:21"},"nativeSrc":"425996:93:21","nodeType":"YulForLoop","post":{"nativeSrc":"426020:28:21","nodeType":"YulBlock","src":"426020:28:21","statements":[{"nativeSrc":"426022:24:21","nodeType":"YulAssignment","src":"426022:24:21","value":{"arguments":[{"name":"length","nativeSrc":"426036:6:21","nodeType":"YulIdentifier","src":"426036:6:21"},{"kind":"number","nativeSrc":"426044:1:21","nodeType":"YulLiteral","src":"426044:1:21","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"426032:3:21","nodeType":"YulIdentifier","src":"426032:3:21"},"nativeSrc":"426032:14:21","nodeType":"YulFunctionCall","src":"426032:14:21"},"variableNames":[{"name":"length","nativeSrc":"426022:6:21","nodeType":"YulIdentifier","src":"426022:6:21"}]}]},"pre":{"nativeSrc":"426000:2:21","nodeType":"YulBlock","src":"426000:2:21","statements":[]},"src":"425996:93:21"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"426113:3:21","nodeType":"YulIdentifier","src":"426113:3:21"},{"name":"length","nativeSrc":"426118:6:21","nodeType":"YulIdentifier","src":"426118:6:21"}],"functionName":{"name":"mstore","nativeSrc":"426106:6:21","nodeType":"YulIdentifier","src":"426106:6:21"},"nativeSrc":"426106:19:21","nodeType":"YulFunctionCall","src":"426106:19:21"},"nativeSrc":"426106:19:21","nodeType":"YulExpressionStatement","src":"426106:19:21"},{"nativeSrc":"426142:37:21","nodeType":"YulVariableDeclaration","src":"426142:37:21","value":{"arguments":[{"kind":"number","nativeSrc":"426159:3:21","nodeType":"YulLiteral","src":"426159:3:21","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"426168:1:21","nodeType":"YulLiteral","src":"426168:1:21","type":"","value":"3"},{"name":"length","nativeSrc":"426171:6:21","nodeType":"YulIdentifier","src":"426171:6:21"}],"functionName":{"name":"shl","nativeSrc":"426164:3:21","nodeType":"YulIdentifier","src":"426164:3:21"},"nativeSrc":"426164:14:21","nodeType":"YulFunctionCall","src":"426164:14:21"}],"functionName":{"name":"sub","nativeSrc":"426155:3:21","nodeType":"YulIdentifier","src":"426155:3:21"},"nativeSrc":"426155:24:21","nodeType":"YulFunctionCall","src":"426155:24:21"},"variables":[{"name":"shift","nativeSrc":"426146:5:21","nodeType":"YulTypedName","src":"426146:5:21","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"426207:3:21","nodeType":"YulIdentifier","src":"426207:3:21"},{"kind":"number","nativeSrc":"426212:4:21","nodeType":"YulLiteral","src":"426212:4:21","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"426203:3:21","nodeType":"YulIdentifier","src":"426203:3:21"},"nativeSrc":"426203:14:21","nodeType":"YulFunctionCall","src":"426203:14:21"},{"arguments":[{"name":"shift","nativeSrc":"426223:5:21","nodeType":"YulIdentifier","src":"426223:5:21"},{"arguments":[{"name":"shift","nativeSrc":"426234:5:21","nodeType":"YulIdentifier","src":"426234:5:21"},{"name":"w","nativeSrc":"426241:1:21","nodeType":"YulIdentifier","src":"426241:1:21"}],"functionName":{"name":"shr","nativeSrc":"426230:3:21","nodeType":"YulIdentifier","src":"426230:3:21"},"nativeSrc":"426230:13:21","nodeType":"YulFunctionCall","src":"426230:13:21"}],"functionName":{"name":"shl","nativeSrc":"426219:3:21","nodeType":"YulIdentifier","src":"426219:3:21"},"nativeSrc":"426219:25:21","nodeType":"YulFunctionCall","src":"426219:25:21"}],"functionName":{"name":"mstore","nativeSrc":"426196:6:21","nodeType":"YulIdentifier","src":"426196:6:21"},"nativeSrc":"426196:49:21","nodeType":"YulFunctionCall","src":"426196:49:21"},"nativeSrc":"426196:49:21","nodeType":"YulExpressionStatement","src":"426196:49:21"}]},"name":"writeString","nativeSrc":"425917:342:21","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"425938:3:21","nodeType":"YulTypedName","src":"425938:3:21","type":""},{"name":"w","nativeSrc":"425943:1:21","nodeType":"YulTypedName","src":"425943:1:21","type":""}],"src":"425917:342:21"},{"nativeSrc":"426272:17:21","nodeType":"YulAssignment","src":"426272:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"426284:4:21","nodeType":"YulLiteral","src":"426284:4:21","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"426278:5:21","nodeType":"YulIdentifier","src":"426278:5:21"},"nativeSrc":"426278:11:21","nodeType":"YulFunctionCall","src":"426278:11:21"},"variableNames":[{"name":"m0","nativeSrc":"426272:2:21","nodeType":"YulIdentifier","src":"426272:2:21"}]},{"nativeSrc":"426302:17:21","nodeType":"YulAssignment","src":"426302:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"426314:4:21","nodeType":"YulLiteral","src":"426314:4:21","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"426308:5:21","nodeType":"YulIdentifier","src":"426308:5:21"},"nativeSrc":"426308:11:21","nodeType":"YulFunctionCall","src":"426308:11:21"},"variableNames":[{"name":"m1","nativeSrc":"426302:2:21","nodeType":"YulIdentifier","src":"426302:2:21"}]},{"nativeSrc":"426332:17:21","nodeType":"YulAssignment","src":"426332:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"426344:4:21","nodeType":"YulLiteral","src":"426344:4:21","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"426338:5:21","nodeType":"YulIdentifier","src":"426338:5:21"},"nativeSrc":"426338:11:21","nodeType":"YulFunctionCall","src":"426338:11:21"},"variableNames":[{"name":"m2","nativeSrc":"426332:2:21","nodeType":"YulIdentifier","src":"426332:2:21"}]},{"nativeSrc":"426362:17:21","nodeType":"YulAssignment","src":"426362:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"426374:4:21","nodeType":"YulLiteral","src":"426374:4:21","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"426368:5:21","nodeType":"YulIdentifier","src":"426368:5:21"},"nativeSrc":"426368:11:21","nodeType":"YulFunctionCall","src":"426368:11:21"},"variableNames":[{"name":"m3","nativeSrc":"426362:2:21","nodeType":"YulIdentifier","src":"426362:2:21"}]},{"nativeSrc":"426392:17:21","nodeType":"YulAssignment","src":"426392:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"426404:4:21","nodeType":"YulLiteral","src":"426404:4:21","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"426398:5:21","nodeType":"YulIdentifier","src":"426398:5:21"},"nativeSrc":"426398:11:21","nodeType":"YulFunctionCall","src":"426398:11:21"},"variableNames":[{"name":"m4","nativeSrc":"426392:2:21","nodeType":"YulIdentifier","src":"426392:2:21"}]},{"nativeSrc":"426422:17:21","nodeType":"YulAssignment","src":"426422:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"426434:4:21","nodeType":"YulLiteral","src":"426434:4:21","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"426428:5:21","nodeType":"YulIdentifier","src":"426428:5:21"},"nativeSrc":"426428:11:21","nodeType":"YulFunctionCall","src":"426428:11:21"},"variableNames":[{"name":"m5","nativeSrc":"426422:2:21","nodeType":"YulIdentifier","src":"426422:2:21"}]},{"nativeSrc":"426452:17:21","nodeType":"YulAssignment","src":"426452:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"426464:4:21","nodeType":"YulLiteral","src":"426464:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"426458:5:21","nodeType":"YulIdentifier","src":"426458:5:21"},"nativeSrc":"426458:11:21","nodeType":"YulFunctionCall","src":"426458:11:21"},"variableNames":[{"name":"m6","nativeSrc":"426452:2:21","nodeType":"YulIdentifier","src":"426452:2:21"}]},{"nativeSrc":"426482:17:21","nodeType":"YulAssignment","src":"426482:17:21","value":{"arguments":[{"kind":"number","nativeSrc":"426494:4:21","nodeType":"YulLiteral","src":"426494:4:21","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"426488:5:21","nodeType":"YulIdentifier","src":"426488:5:21"},"nativeSrc":"426488:11:21","nodeType":"YulFunctionCall","src":"426488:11:21"},"variableNames":[{"name":"m7","nativeSrc":"426482:2:21","nodeType":"YulIdentifier","src":"426482:2:21"}]},{"nativeSrc":"426512:18:21","nodeType":"YulAssignment","src":"426512:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"426524:5:21","nodeType":"YulLiteral","src":"426524:5:21","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"426518:5:21","nodeType":"YulIdentifier","src":"426518:5:21"},"nativeSrc":"426518:12:21","nodeType":"YulFunctionCall","src":"426518:12:21"},"variableNames":[{"name":"m8","nativeSrc":"426512:2:21","nodeType":"YulIdentifier","src":"426512:2:21"}]},{"nativeSrc":"426543:18:21","nodeType":"YulAssignment","src":"426543:18:21","value":{"arguments":[{"kind":"number","nativeSrc":"426555:5:21","nodeType":"YulLiteral","src":"426555:5:21","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"426549:5:21","nodeType":"YulIdentifier","src":"426549:5:21"},"nativeSrc":"426549:12:21","nodeType":"YulFunctionCall","src":"426549:12:21"},"variableNames":[{"name":"m9","nativeSrc":"426543:2:21","nodeType":"YulIdentifier","src":"426543:2:21"}]},{"nativeSrc":"426574:19:21","nodeType":"YulAssignment","src":"426574:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"426587:5:21","nodeType":"YulLiteral","src":"426587:5:21","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"426581:5:21","nodeType":"YulIdentifier","src":"426581:5:21"},"nativeSrc":"426581:12:21","nodeType":"YulFunctionCall","src":"426581:12:21"},"variableNames":[{"name":"m10","nativeSrc":"426574:3:21","nodeType":"YulIdentifier","src":"426574:3:21"}]},{"nativeSrc":"426606:19:21","nodeType":"YulAssignment","src":"426606:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"426619:5:21","nodeType":"YulLiteral","src":"426619:5:21","type":"","value":"0x160"}],"functionName":{"name":"mload","nativeSrc":"426613:5:21","nodeType":"YulIdentifier","src":"426613:5:21"},"nativeSrc":"426613:12:21","nodeType":"YulFunctionCall","src":"426613:12:21"},"variableNames":[{"name":"m11","nativeSrc":"426606:3:21","nodeType":"YulIdentifier","src":"426606:3:21"}]},{"nativeSrc":"426638:19:21","nodeType":"YulAssignment","src":"426638:19:21","value":{"arguments":[{"kind":"number","nativeSrc":"426651:5:21","nodeType":"YulLiteral","src":"426651:5:21","type":"","value":"0x180"}],"functionName":{"name":"mload","nativeSrc":"426645:5:21","nodeType":"YulIdentifier","src":"426645:5:21"},"nativeSrc":"426645:12:21","nodeType":"YulFunctionCall","src":"426645:12:21"},"variableNames":[{"name":"m12","nativeSrc":"426638:3:21","nodeType":"YulIdentifier","src":"426638:3:21"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426740:4:21","nodeType":"YulLiteral","src":"426740:4:21","type":"","value":"0x00"},{"kind":"number","nativeSrc":"426746:10:21","nodeType":"YulLiteral","src":"426746:10:21","type":"","value":"0xde68f20a"}],"functionName":{"name":"mstore","nativeSrc":"426733:6:21","nodeType":"YulIdentifier","src":"426733:6:21"},"nativeSrc":"426733:24:21","nodeType":"YulFunctionCall","src":"426733:24:21"},"nativeSrc":"426733:24:21","nodeType":"YulExpressionStatement","src":"426733:24:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426777:4:21","nodeType":"YulLiteral","src":"426777:4:21","type":"","value":"0x20"},{"kind":"number","nativeSrc":"426783:4:21","nodeType":"YulLiteral","src":"426783:4:21","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"426770:6:21","nodeType":"YulIdentifier","src":"426770:6:21"},"nativeSrc":"426770:18:21","nodeType":"YulFunctionCall","src":"426770:18:21"},"nativeSrc":"426770:18:21","nodeType":"YulExpressionStatement","src":"426770:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426808:4:21","nodeType":"YulLiteral","src":"426808:4:21","type":"","value":"0x40"},{"kind":"number","nativeSrc":"426814:4:21","nodeType":"YulLiteral","src":"426814:4:21","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"426801:6:21","nodeType":"YulIdentifier","src":"426801:6:21"},"nativeSrc":"426801:18:21","nodeType":"YulFunctionCall","src":"426801:18:21"},"nativeSrc":"426801:18:21","nodeType":"YulExpressionStatement","src":"426801:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426839:4:21","nodeType":"YulLiteral","src":"426839:4:21","type":"","value":"0x60"},{"kind":"number","nativeSrc":"426845:5:21","nodeType":"YulLiteral","src":"426845:5:21","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"426832:6:21","nodeType":"YulIdentifier","src":"426832:6:21"},"nativeSrc":"426832:19:21","nodeType":"YulFunctionCall","src":"426832:19:21"},"nativeSrc":"426832:19:21","nodeType":"YulExpressionStatement","src":"426832:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426871:4:21","nodeType":"YulLiteral","src":"426871:4:21","type":"","value":"0x80"},{"kind":"number","nativeSrc":"426877:5:21","nodeType":"YulLiteral","src":"426877:5:21","type":"","value":"0x140"}],"functionName":{"name":"mstore","nativeSrc":"426864:6:21","nodeType":"YulIdentifier","src":"426864:6:21"},"nativeSrc":"426864:19:21","nodeType":"YulFunctionCall","src":"426864:19:21"},"nativeSrc":"426864:19:21","nodeType":"YulExpressionStatement","src":"426864:19:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426908:4:21","nodeType":"YulLiteral","src":"426908:4:21","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"426914:2:21","nodeType":"YulIdentifier","src":"426914:2:21"}],"functionName":{"name":"writeString","nativeSrc":"426896:11:21","nodeType":"YulIdentifier","src":"426896:11:21"},"nativeSrc":"426896:21:21","nodeType":"YulFunctionCall","src":"426896:21:21"},"nativeSrc":"426896:21:21","nodeType":"YulExpressionStatement","src":"426896:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426942:4:21","nodeType":"YulLiteral","src":"426942:4:21","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"426948:2:21","nodeType":"YulIdentifier","src":"426948:2:21"}],"functionName":{"name":"writeString","nativeSrc":"426930:11:21","nodeType":"YulIdentifier","src":"426930:11:21"},"nativeSrc":"426930:21:21","nodeType":"YulFunctionCall","src":"426930:21:21"},"nativeSrc":"426930:21:21","nodeType":"YulExpressionStatement","src":"426930:21:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426976:5:21","nodeType":"YulLiteral","src":"426976:5:21","type":"","value":"0x120"},{"name":"p2","nativeSrc":"426983:2:21","nodeType":"YulIdentifier","src":"426983:2:21"}],"functionName":{"name":"writeString","nativeSrc":"426964:11:21","nodeType":"YulIdentifier","src":"426964:11:21"},"nativeSrc":"426964:22:21","nodeType":"YulFunctionCall","src":"426964:22:21"},"nativeSrc":"426964:22:21","nodeType":"YulExpressionStatement","src":"426964:22:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427011:5:21","nodeType":"YulLiteral","src":"427011:5:21","type":"","value":"0x160"},{"name":"p3","nativeSrc":"427018:2:21","nodeType":"YulIdentifier","src":"427018:2:21"}],"functionName":{"name":"writeString","nativeSrc":"426999:11:21","nodeType":"YulIdentifier","src":"426999:11:21"},"nativeSrc":"426999:22:21","nodeType":"YulFunctionCall","src":"426999:22:21"},"nativeSrc":"426999:22:21","nodeType":"YulExpressionStatement","src":"426999:22:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39990,"isOffset":false,"isSlot":false,"src":"426272:2:21","valueSize":1},{"declaration":39993,"isOffset":false,"isSlot":false,"src":"426302:2:21","valueSize":1},{"declaration":40020,"isOffset":false,"isSlot":false,"src":"426574:3:21","valueSize":1},{"declaration":40023,"isOffset":false,"isSlot":false,"src":"426606:3:21","valueSize":1},{"declaration":40026,"isOffset":false,"isSlot":false,"src":"426638:3:21","valueSize":1},{"declaration":39996,"isOffset":false,"isSlot":false,"src":"426332:2:21","valueSize":1},{"declaration":39999,"isOffset":false,"isSlot":false,"src":"426362:2:21","valueSize":1},{"declaration":40002,"isOffset":false,"isSlot":false,"src":"426392:2:21","valueSize":1},{"declaration":40005,"isOffset":false,"isSlot":false,"src":"426422:2:21","valueSize":1},{"declaration":40008,"isOffset":false,"isSlot":false,"src":"426452:2:21","valueSize":1},{"declaration":40011,"isOffset":false,"isSlot":false,"src":"426482:2:21","valueSize":1},{"declaration":40014,"isOffset":false,"isSlot":false,"src":"426512:2:21","valueSize":1},{"declaration":40017,"isOffset":false,"isSlot":false,"src":"426543:2:21","valueSize":1},{"declaration":39980,"isOffset":false,"isSlot":false,"src":"426914:2:21","valueSize":1},{"declaration":39982,"isOffset":false,"isSlot":false,"src":"426948:2:21","valueSize":1},{"declaration":39984,"isOffset":false,"isSlot":false,"src":"426983:2:21","valueSize":1},{"declaration":39986,"isOffset":false,"isSlot":false,"src":"427018:2:21","valueSize":1}],"id":40028,"nodeType":"InlineAssembly","src":"425894:1137:21"},{"expression":{"arguments":[{"hexValue":"30783163","id":40030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"427056:4:21","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313834","id":40031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"427062:5:21","typeDescriptions":{"typeIdentifier":"t_rational_388_by_1","typeString":"int_const 388"},"value":"0x184"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_388_by_1","typeString":"int_const 388"}],"id":40029,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"427040:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"427040:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40033,"nodeType":"ExpressionStatement","src":"427040:28:21"},{"AST":{"nativeSrc":"427130:396:21","nodeType":"YulBlock","src":"427130:396:21","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"427151:4:21","nodeType":"YulLiteral","src":"427151:4:21","type":"","value":"0x00"},{"name":"m0","nativeSrc":"427157:2:21","nodeType":"YulIdentifier","src":"427157:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427144:6:21","nodeType":"YulIdentifier","src":"427144:6:21"},"nativeSrc":"427144:16:21","nodeType":"YulFunctionCall","src":"427144:16:21"},"nativeSrc":"427144:16:21","nodeType":"YulExpressionStatement","src":"427144:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427180:4:21","nodeType":"YulLiteral","src":"427180:4:21","type":"","value":"0x20"},{"name":"m1","nativeSrc":"427186:2:21","nodeType":"YulIdentifier","src":"427186:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427173:6:21","nodeType":"YulIdentifier","src":"427173:6:21"},"nativeSrc":"427173:16:21","nodeType":"YulFunctionCall","src":"427173:16:21"},"nativeSrc":"427173:16:21","nodeType":"YulExpressionStatement","src":"427173:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427209:4:21","nodeType":"YulLiteral","src":"427209:4:21","type":"","value":"0x40"},{"name":"m2","nativeSrc":"427215:2:21","nodeType":"YulIdentifier","src":"427215:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427202:6:21","nodeType":"YulIdentifier","src":"427202:6:21"},"nativeSrc":"427202:16:21","nodeType":"YulFunctionCall","src":"427202:16:21"},"nativeSrc":"427202:16:21","nodeType":"YulExpressionStatement","src":"427202:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427238:4:21","nodeType":"YulLiteral","src":"427238:4:21","type":"","value":"0x60"},{"name":"m3","nativeSrc":"427244:2:21","nodeType":"YulIdentifier","src":"427244:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427231:6:21","nodeType":"YulIdentifier","src":"427231:6:21"},"nativeSrc":"427231:16:21","nodeType":"YulFunctionCall","src":"427231:16:21"},"nativeSrc":"427231:16:21","nodeType":"YulExpressionStatement","src":"427231:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427267:4:21","nodeType":"YulLiteral","src":"427267:4:21","type":"","value":"0x80"},{"name":"m4","nativeSrc":"427273:2:21","nodeType":"YulIdentifier","src":"427273:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427260:6:21","nodeType":"YulIdentifier","src":"427260:6:21"},"nativeSrc":"427260:16:21","nodeType":"YulFunctionCall","src":"427260:16:21"},"nativeSrc":"427260:16:21","nodeType":"YulExpressionStatement","src":"427260:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427296:4:21","nodeType":"YulLiteral","src":"427296:4:21","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"427302:2:21","nodeType":"YulIdentifier","src":"427302:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427289:6:21","nodeType":"YulIdentifier","src":"427289:6:21"},"nativeSrc":"427289:16:21","nodeType":"YulFunctionCall","src":"427289:16:21"},"nativeSrc":"427289:16:21","nodeType":"YulExpressionStatement","src":"427289:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427325:4:21","nodeType":"YulLiteral","src":"427325:4:21","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"427331:2:21","nodeType":"YulIdentifier","src":"427331:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427318:6:21","nodeType":"YulIdentifier","src":"427318:6:21"},"nativeSrc":"427318:16:21","nodeType":"YulFunctionCall","src":"427318:16:21"},"nativeSrc":"427318:16:21","nodeType":"YulExpressionStatement","src":"427318:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427354:4:21","nodeType":"YulLiteral","src":"427354:4:21","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"427360:2:21","nodeType":"YulIdentifier","src":"427360:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427347:6:21","nodeType":"YulIdentifier","src":"427347:6:21"},"nativeSrc":"427347:16:21","nodeType":"YulFunctionCall","src":"427347:16:21"},"nativeSrc":"427347:16:21","nodeType":"YulExpressionStatement","src":"427347:16:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427383:5:21","nodeType":"YulLiteral","src":"427383:5:21","type":"","value":"0x100"},{"name":"m8","nativeSrc":"427390:2:21","nodeType":"YulIdentifier","src":"427390:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427376:6:21","nodeType":"YulIdentifier","src":"427376:6:21"},"nativeSrc":"427376:17:21","nodeType":"YulFunctionCall","src":"427376:17:21"},"nativeSrc":"427376:17:21","nodeType":"YulExpressionStatement","src":"427376:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427413:5:21","nodeType":"YulLiteral","src":"427413:5:21","type":"","value":"0x120"},{"name":"m9","nativeSrc":"427420:2:21","nodeType":"YulIdentifier","src":"427420:2:21"}],"functionName":{"name":"mstore","nativeSrc":"427406:6:21","nodeType":"YulIdentifier","src":"427406:6:21"},"nativeSrc":"427406:17:21","nodeType":"YulFunctionCall","src":"427406:17:21"},"nativeSrc":"427406:17:21","nodeType":"YulExpressionStatement","src":"427406:17:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427443:5:21","nodeType":"YulLiteral","src":"427443:5:21","type":"","value":"0x140"},{"name":"m10","nativeSrc":"427450:3:21","nodeType":"YulIdentifier","src":"427450:3:21"}],"functionName":{"name":"mstore","nativeSrc":"427436:6:21","nodeType":"YulIdentifier","src":"427436:6:21"},"nativeSrc":"427436:18:21","nodeType":"YulFunctionCall","src":"427436:18:21"},"nativeSrc":"427436:18:21","nodeType":"YulExpressionStatement","src":"427436:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427474:5:21","nodeType":"YulLiteral","src":"427474:5:21","type":"","value":"0x160"},{"name":"m11","nativeSrc":"427481:3:21","nodeType":"YulIdentifier","src":"427481:3:21"}],"functionName":{"name":"mstore","nativeSrc":"427467:6:21","nodeType":"YulIdentifier","src":"427467:6:21"},"nativeSrc":"427467:18:21","nodeType":"YulFunctionCall","src":"427467:18:21"},"nativeSrc":"427467:18:21","nodeType":"YulExpressionStatement","src":"427467:18:21"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427505:5:21","nodeType":"YulLiteral","src":"427505:5:21","type":"","value":"0x180"},{"name":"m12","nativeSrc":"427512:3:21","nodeType":"YulIdentifier","src":"427512:3:21"}],"functionName":{"name":"mstore","nativeSrc":"427498:6:21","nodeType":"YulIdentifier","src":"427498:6:21"},"nativeSrc":"427498:18:21","nodeType":"YulFunctionCall","src":"427498:18:21"},"nativeSrc":"427498:18:21","nodeType":"YulExpressionStatement","src":"427498:18:21"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":39990,"isOffset":false,"isSlot":false,"src":"427157:2:21","valueSize":1},{"declaration":39993,"isOffset":false,"isSlot":false,"src":"427186:2:21","valueSize":1},{"declaration":40020,"isOffset":false,"isSlot":false,"src":"427450:3:21","valueSize":1},{"declaration":40023,"isOffset":false,"isSlot":false,"src":"427481:3:21","valueSize":1},{"declaration":40026,"isOffset":false,"isSlot":false,"src":"427512:3:21","valueSize":1},{"declaration":39996,"isOffset":false,"isSlot":false,"src":"427215:2:21","valueSize":1},{"declaration":39999,"isOffset":false,"isSlot":false,"src":"427244:2:21","valueSize":1},{"declaration":40002,"isOffset":false,"isSlot":false,"src":"427273:2:21","valueSize":1},{"declaration":40005,"isOffset":false,"isSlot":false,"src":"427302:2:21","valueSize":1},{"declaration":40008,"isOffset":false,"isSlot":false,"src":"427331:2:21","valueSize":1},{"declaration":40011,"isOffset":false,"isSlot":false,"src":"427360:2:21","valueSize":1},{"declaration":40014,"isOffset":false,"isSlot":false,"src":"427390:2:21","valueSize":1},{"declaration":40017,"isOffset":false,"isSlot":false,"src":"427420:2:21","valueSize":1}],"id":40034,"nodeType":"InlineAssembly","src":"427121:405:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"425512:3:21","parameters":{"id":39987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39980,"mutability":"mutable","name":"p0","nameLocation":"425524:2:21","nodeType":"VariableDeclaration","scope":40036,"src":"425516:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425516:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39982,"mutability":"mutable","name":"p1","nameLocation":"425536:2:21","nodeType":"VariableDeclaration","scope":40036,"src":"425528:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39981,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425528:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39984,"mutability":"mutable","name":"p2","nameLocation":"425548:2:21","nodeType":"VariableDeclaration","scope":40036,"src":"425540:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425540:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39986,"mutability":"mutable","name":"p3","nameLocation":"425560:2:21","nodeType":"VariableDeclaration","scope":40036,"src":"425552:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425552:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"425515:48:21"},"returnParameters":{"id":39988,"nodeType":"ParameterList","parameters":[],"src":"425578:0:21"},"scope":40037,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"safeconsole","contractDependencies":[],"contractKind":"library","documentation":{"id":26965,"nodeType":"StructuredDocumentation","src":"65:98:21","text":"@author philogy \n @dev Code generated automatically by script."},"fullyImplemented":true,"linearizedBaseContracts":[40037],"name":"safeconsole","nameLocation":"171:11:21","scope":40038,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"id":22,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","id":40120,"exportedSymbols":{"IERC1363":[40119],"IERC165":[45175],"IERC20":[40923]},"nodeType":"SourceUnit","src":"107:4347:22","nodes":[{"id":40039,"nodeType":"PragmaDirective","src":"107:24:22","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":40041,"nodeType":"ImportDirective","src":"133:36:22","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":40120,"sourceUnit":40128,"symbolAliases":[{"foreign":{"id":40040,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"141:6:22","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40043,"nodeType":"ImportDirective","src":"170:38:22","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","file":"./IERC165.sol","nameLocation":"-1:-1:-1","scope":40120,"sourceUnit":40124,"symbolAliases":[{"foreign":{"id":40042,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45175,"src":"178:7:22","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40119,"nodeType":"ContractDefinition","src":"568:3885:22","nodes":[{"id":40058,"nodeType":"FunctionDefinition","src":"1523:76:22","nodes":[],"documentation":{"id":40049,"nodeType":"StructuredDocumentation","src":"1148:370:22","text":" @dev Moves a `value` amount of tokens from the caller's account to `to`\n and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n @param to The address which you want to transfer to.\n @param value The amount of tokens to be transferred.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"1296ee62","implemented":false,"kind":"function","modifiers":[],"name":"transferAndCall","nameLocation":"1532:15:22","parameters":{"id":40054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40051,"mutability":"mutable","name":"to","nameLocation":"1556:2:22","nodeType":"VariableDeclaration","scope":40058,"src":"1548:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40050,"name":"address","nodeType":"ElementaryTypeName","src":"1548:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40053,"mutability":"mutable","name":"value","nameLocation":"1568:5:22","nodeType":"VariableDeclaration","scope":40058,"src":"1560:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40052,"name":"uint256","nodeType":"ElementaryTypeName","src":"1560:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1547:27:22"},"returnParameters":{"id":40057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40058,"src":"1593:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40055,"name":"bool","nodeType":"ElementaryTypeName","src":"1593:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1592:6:22"},"scope":40119,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":40070,"nodeType":"FunctionDefinition","src":"2063:97:22","nodes":[],"documentation":{"id":40059,"nodeType":"StructuredDocumentation","src":"1605:453:22","text":" @dev Moves a `value` amount of tokens from the caller's account to `to`\n and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n @param to The address which you want to transfer to.\n @param value The amount of tokens to be transferred.\n @param data Additional data with no specified format, sent in call to `to`.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"4000aea0","implemented":false,"kind":"function","modifiers":[],"name":"transferAndCall","nameLocation":"2072:15:22","parameters":{"id":40066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40061,"mutability":"mutable","name":"to","nameLocation":"2096:2:22","nodeType":"VariableDeclaration","scope":40070,"src":"2088:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40060,"name":"address","nodeType":"ElementaryTypeName","src":"2088:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40063,"mutability":"mutable","name":"value","nameLocation":"2108:5:22","nodeType":"VariableDeclaration","scope":40070,"src":"2100:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40062,"name":"uint256","nodeType":"ElementaryTypeName","src":"2100:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40065,"mutability":"mutable","name":"data","nameLocation":"2130:4:22","nodeType":"VariableDeclaration","scope":40070,"src":"2115:19:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":40064,"name":"bytes","nodeType":"ElementaryTypeName","src":"2115:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2087:48:22"},"returnParameters":{"id":40069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40070,"src":"2154:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40067,"name":"bool","nodeType":"ElementaryTypeName","src":"2154:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2153:6:22"},"scope":40119,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":40082,"nodeType":"FunctionDefinition","src":"2624:94:22","nodes":[],"documentation":{"id":40071,"nodeType":"StructuredDocumentation","src":"2166:453:22","text":" @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n @param from The address which you want to send tokens from.\n @param to The address which you want to transfer to.\n @param value The amount of tokens to be transferred.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"d8fbe994","implemented":false,"kind":"function","modifiers":[],"name":"transferFromAndCall","nameLocation":"2633:19:22","parameters":{"id":40078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40073,"mutability":"mutable","name":"from","nameLocation":"2661:4:22","nodeType":"VariableDeclaration","scope":40082,"src":"2653:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40072,"name":"address","nodeType":"ElementaryTypeName","src":"2653:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40075,"mutability":"mutable","name":"to","nameLocation":"2675:2:22","nodeType":"VariableDeclaration","scope":40082,"src":"2667:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40074,"name":"address","nodeType":"ElementaryTypeName","src":"2667:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40077,"mutability":"mutable","name":"value","nameLocation":"2687:5:22","nodeType":"VariableDeclaration","scope":40082,"src":"2679:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40076,"name":"uint256","nodeType":"ElementaryTypeName","src":"2679:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2652:41:22"},"returnParameters":{"id":40081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40080,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40082,"src":"2712:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40079,"name":"bool","nodeType":"ElementaryTypeName","src":"2712:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2711:6:22"},"scope":40119,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":40096,"nodeType":"FunctionDefinition","src":"3265:115:22","nodes":[],"documentation":{"id":40083,"nodeType":"StructuredDocumentation","src":"2724:536:22","text":" @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n @param from The address which you want to send tokens from.\n @param to The address which you want to transfer to.\n @param value The amount of tokens to be transferred.\n @param data Additional data with no specified format, sent in call to `to`.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"c1d34b89","implemented":false,"kind":"function","modifiers":[],"name":"transferFromAndCall","nameLocation":"3274:19:22","parameters":{"id":40092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40085,"mutability":"mutable","name":"from","nameLocation":"3302:4:22","nodeType":"VariableDeclaration","scope":40096,"src":"3294:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40084,"name":"address","nodeType":"ElementaryTypeName","src":"3294:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40087,"mutability":"mutable","name":"to","nameLocation":"3316:2:22","nodeType":"VariableDeclaration","scope":40096,"src":"3308:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40086,"name":"address","nodeType":"ElementaryTypeName","src":"3308:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40089,"mutability":"mutable","name":"value","nameLocation":"3328:5:22","nodeType":"VariableDeclaration","scope":40096,"src":"3320:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40088,"name":"uint256","nodeType":"ElementaryTypeName","src":"3320:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40091,"mutability":"mutable","name":"data","nameLocation":"3350:4:22","nodeType":"VariableDeclaration","scope":40096,"src":"3335:19:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":40090,"name":"bytes","nodeType":"ElementaryTypeName","src":"3335:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3293:62:22"},"returnParameters":{"id":40095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40096,"src":"3374:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40093,"name":"bool","nodeType":"ElementaryTypeName","src":"3374:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3373:6:22"},"scope":40119,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":40106,"nodeType":"FunctionDefinition","src":"3781:80:22","nodes":[],"documentation":{"id":40097,"nodeType":"StructuredDocumentation","src":"3386:390:22","text":" @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n @param spender The address which will spend the funds.\n @param value The amount of tokens to be spent.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"3177029f","implemented":false,"kind":"function","modifiers":[],"name":"approveAndCall","nameLocation":"3790:14:22","parameters":{"id":40102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40099,"mutability":"mutable","name":"spender","nameLocation":"3813:7:22","nodeType":"VariableDeclaration","scope":40106,"src":"3805:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40098,"name":"address","nodeType":"ElementaryTypeName","src":"3805:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40101,"mutability":"mutable","name":"value","nameLocation":"3830:5:22","nodeType":"VariableDeclaration","scope":40106,"src":"3822:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40100,"name":"uint256","nodeType":"ElementaryTypeName","src":"3822:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3804:32:22"},"returnParameters":{"id":40105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40104,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40106,"src":"3855:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40103,"name":"bool","nodeType":"ElementaryTypeName","src":"3855:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3854:6:22"},"scope":40119,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":40118,"nodeType":"FunctionDefinition","src":"4350:101:22","nodes":[],"documentation":{"id":40107,"nodeType":"StructuredDocumentation","src":"3867:478:22","text":" @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n @param spender The address which will spend the funds.\n @param value The amount of tokens to be spent.\n @param data Additional data with no specified format, sent in call to `spender`.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"cae9ca51","implemented":false,"kind":"function","modifiers":[],"name":"approveAndCall","nameLocation":"4359:14:22","parameters":{"id":40114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40109,"mutability":"mutable","name":"spender","nameLocation":"4382:7:22","nodeType":"VariableDeclaration","scope":40118,"src":"4374:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40108,"name":"address","nodeType":"ElementaryTypeName","src":"4374:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40111,"mutability":"mutable","name":"value","nameLocation":"4399:5:22","nodeType":"VariableDeclaration","scope":40118,"src":"4391:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40110,"name":"uint256","nodeType":"ElementaryTypeName","src":"4391:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40113,"mutability":"mutable","name":"data","nameLocation":"4421:4:22","nodeType":"VariableDeclaration","scope":40118,"src":"4406:19:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":40112,"name":"bytes","nodeType":"ElementaryTypeName","src":"4406:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4373:53:22"},"returnParameters":{"id":40117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40118,"src":"4445:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40115,"name":"bool","nodeType":"ElementaryTypeName","src":"4445:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4444:6:22"},"scope":40119,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":40045,"name":"IERC20","nameLocations":["590:6:22"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"590:6:22"},"id":40046,"nodeType":"InheritanceSpecifier","src":"590:6:22"},{"baseName":{"id":40047,"name":"IERC165","nameLocations":["598:7:22"],"nodeType":"IdentifierPath","referencedDeclaration":45175,"src":"598:7:22"},"id":40048,"nodeType":"InheritanceSpecifier","src":"598:7:22"}],"canonicalName":"IERC1363","contractDependencies":[],"contractKind":"interface","documentation":{"id":40044,"nodeType":"StructuredDocumentation","src":"210:357:22","text":" @title IERC1363\n @dev Interface of the ERC-1363 standard as defined in the https://eips.ethereum.org/EIPS/eip-1363[ERC-1363].\n Defines an extension interface for ERC-20 tokens that supports executing code on a recipient contract\n after `transfer` or `transferFrom`, or code on a spender contract after `approve`, in a single transaction."},"fullyImplemented":false,"linearizedBaseContracts":[40119,45175,40923],"name":"IERC1363","nameLocation":"578:8:22","scope":40120,"usedErrors":[],"usedEvents":[40857,40866]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"id":23,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","id":40124,"exportedSymbols":{"IERC165":[45175]},"nodeType":"SourceUnit","src":"106:87:23","nodes":[{"id":40121,"nodeType":"PragmaDirective","src":"106:25:23","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":40123,"nodeType":"ImportDirective","src":"133:59:23","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","file":"../utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":40124,"sourceUnit":45176,"symbolAliases":[{"foreign":{"id":40122,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45175,"src":"141:7:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"id":24,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","id":40128,"exportedSymbols":{"IERC20":[40923]},"nodeType":"SourceUnit","src":"105:77:24","nodes":[{"id":40125,"nodeType":"PragmaDirective","src":"105:25:24","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":40127,"nodeType":"ImportDirective","src":"132:49:24","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":40128,"sourceUnit":40924,"symbolAliases":[{"foreign":{"id":40126,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"140:6:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"id":25,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol","id":40153,"exportedSymbols":{"IERC5267":[40152]},"nodeType":"SourceUnit","src":"107:633:25","nodes":[{"id":40129,"nodeType":"PragmaDirective","src":"107:25:25","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":40152,"nodeType":"ContractDefinition","src":"134:605:25","nodes":[{"id":40132,"nodeType":"EventDefinition","src":"248:28:25","nodes":[],"anonymous":false,"documentation":{"id":40130,"nodeType":"StructuredDocumentation","src":"159:84:25","text":" @dev MAY be emitted to signal that the domain could have changed."},"eventSelector":"0a6387c9ea3628b88a633bb4f3b151770f70085117a15f9bf3787cda53f13d31","name":"EIP712DomainChanged","nameLocation":"254:19:25","parameters":{"id":40131,"nodeType":"ParameterList","parameters":[],"src":"273:2:25"}},{"id":40151,"nodeType":"FunctionDefinition","src":"427:310:25","nodes":[],"documentation":{"id":40133,"nodeType":"StructuredDocumentation","src":"282:140:25","text":" @dev returns the fields and values that describe the domain separator used by this contract for EIP-712\n signature."},"functionSelector":"84b0196e","implemented":false,"kind":"function","modifiers":[],"name":"eip712Domain","nameLocation":"436:12:25","parameters":{"id":40134,"nodeType":"ParameterList","parameters":[],"src":"448:2:25"},"returnParameters":{"id":40150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40136,"mutability":"mutable","name":"fields","nameLocation":"518:6:25","nodeType":"VariableDeclaration","scope":40151,"src":"511:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":40135,"name":"bytes1","nodeType":"ElementaryTypeName","src":"511:6:25","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":40138,"mutability":"mutable","name":"name","nameLocation":"552:4:25","nodeType":"VariableDeclaration","scope":40151,"src":"538:18:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40137,"name":"string","nodeType":"ElementaryTypeName","src":"538:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":40140,"mutability":"mutable","name":"version","nameLocation":"584:7:25","nodeType":"VariableDeclaration","scope":40151,"src":"570:21:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40139,"name":"string","nodeType":"ElementaryTypeName","src":"570:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":40142,"mutability":"mutable","name":"chainId","nameLocation":"613:7:25","nodeType":"VariableDeclaration","scope":40151,"src":"605:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40141,"name":"uint256","nodeType":"ElementaryTypeName","src":"605:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40144,"mutability":"mutable","name":"verifyingContract","nameLocation":"642:17:25","nodeType":"VariableDeclaration","scope":40151,"src":"634:25:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40143,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40146,"mutability":"mutable","name":"salt","nameLocation":"681:4:25","nodeType":"VariableDeclaration","scope":40151,"src":"673:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"673:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40149,"mutability":"mutable","name":"extensions","nameLocation":"716:10:25","nodeType":"VariableDeclaration","scope":40151,"src":"699:27:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":40147,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40148,"nodeType":"ArrayTypeName","src":"699:9:25","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"497:239:25"},"scope":40152,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC5267","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[40152],"name":"IERC5267","nameLocation":"144:8:25","scope":40153,"usedErrors":[],"usedEvents":[40132]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"id":26,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","id":40290,"exportedSymbols":{"IERC1155Errors":[40289],"IERC20Errors":[40194],"IERC721Errors":[40242]},"nodeType":"SourceUnit","src":"113:6427:26","nodes":[{"id":40154,"nodeType":"PragmaDirective","src":"113:24:26","nodes":[],"literals":["solidity",">=","0.8",".4"]},{"id":40194,"nodeType":"ContractDefinition","src":"281:1764:26","nodes":[{"id":40164,"nodeType":"ErrorDefinition","src":"624:80:26","nodes":[],"documentation":{"id":40156,"nodeType":"StructuredDocumentation","src":"310:309:26","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"e450d38c","name":"ERC20InsufficientBalance","nameLocation":"630:24:26","parameters":{"id":40163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40158,"mutability":"mutable","name":"sender","nameLocation":"663:6:26","nodeType":"VariableDeclaration","scope":40164,"src":"655:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40157,"name":"address","nodeType":"ElementaryTypeName","src":"655:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40160,"mutability":"mutable","name":"balance","nameLocation":"679:7:26","nodeType":"VariableDeclaration","scope":40164,"src":"671:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40159,"name":"uint256","nodeType":"ElementaryTypeName","src":"671:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40162,"mutability":"mutable","name":"needed","nameLocation":"696:6:26","nodeType":"VariableDeclaration","scope":40164,"src":"688:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40161,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"654:49:26"}},{"id":40169,"nodeType":"ErrorDefinition","src":"867:41:26","nodes":[],"documentation":{"id":40165,"nodeType":"StructuredDocumentation","src":"710:152:26","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"96c6fd1e","name":"ERC20InvalidSender","nameLocation":"873:18:26","parameters":{"id":40168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40167,"mutability":"mutable","name":"sender","nameLocation":"900:6:26","nodeType":"VariableDeclaration","scope":40169,"src":"892:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40166,"name":"address","nodeType":"ElementaryTypeName","src":"892:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"891:16:26"}},{"id":40174,"nodeType":"ErrorDefinition","src":"1078:45:26","nodes":[],"documentation":{"id":40170,"nodeType":"StructuredDocumentation","src":"914:159:26","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"ec442f05","name":"ERC20InvalidReceiver","nameLocation":"1084:20:26","parameters":{"id":40173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40172,"mutability":"mutable","name":"receiver","nameLocation":"1113:8:26","nodeType":"VariableDeclaration","scope":40174,"src":"1105:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40171,"name":"address","nodeType":"ElementaryTypeName","src":"1105:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1104:18:26"}},{"id":40183,"nodeType":"ErrorDefinition","src":"1479:85:26","nodes":[],"documentation":{"id":40175,"nodeType":"StructuredDocumentation","src":"1129:345:26","text":" @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n @param spender Address that may be allowed to operate on tokens without being their owner.\n @param allowance Amount of tokens a `spender` is allowed to operate with.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"fb8f41b2","name":"ERC20InsufficientAllowance","nameLocation":"1485:26:26","parameters":{"id":40182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40177,"mutability":"mutable","name":"spender","nameLocation":"1520:7:26","nodeType":"VariableDeclaration","scope":40183,"src":"1512:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40176,"name":"address","nodeType":"ElementaryTypeName","src":"1512:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40179,"mutability":"mutable","name":"allowance","nameLocation":"1537:9:26","nodeType":"VariableDeclaration","scope":40183,"src":"1529:17:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40178,"name":"uint256","nodeType":"ElementaryTypeName","src":"1529:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40181,"mutability":"mutable","name":"needed","nameLocation":"1556:6:26","nodeType":"VariableDeclaration","scope":40183,"src":"1548:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40180,"name":"uint256","nodeType":"ElementaryTypeName","src":"1548:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1511:52:26"}},{"id":40188,"nodeType":"ErrorDefinition","src":"1749:45:26","nodes":[],"documentation":{"id":40184,"nodeType":"StructuredDocumentation","src":"1570:174:26","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"e602df05","name":"ERC20InvalidApprover","nameLocation":"1755:20:26","parameters":{"id":40187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40186,"mutability":"mutable","name":"approver","nameLocation":"1784:8:26","nodeType":"VariableDeclaration","scope":40188,"src":"1776:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40185,"name":"address","nodeType":"ElementaryTypeName","src":"1776:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1775:18:26"}},{"id":40193,"nodeType":"ErrorDefinition","src":"2000:43:26","nodes":[],"documentation":{"id":40189,"nodeType":"StructuredDocumentation","src":"1800:195:26","text":" @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n @param spender Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"94280d62","name":"ERC20InvalidSpender","nameLocation":"2006:19:26","parameters":{"id":40192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40191,"mutability":"mutable","name":"spender","nameLocation":"2034:7:26","nodeType":"VariableDeclaration","scope":40193,"src":"2026:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40190,"name":"address","nodeType":"ElementaryTypeName","src":"2026:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2025:17:26"}}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":40155,"nodeType":"StructuredDocumentation","src":"139:141:26","text":" @dev Standard ERC-20 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens."},"fullyImplemented":true,"linearizedBaseContracts":[40194],"name":"IERC20Errors","nameLocation":"291:12:26","scope":40290,"usedErrors":[40164,40169,40174,40183,40188,40193],"usedEvents":[]},{"id":40242,"nodeType":"ContractDefinition","src":"2191:2093:26","nodes":[{"id":40200,"nodeType":"ErrorDefinition","src":"2446:40:26","nodes":[],"documentation":{"id":40196,"nodeType":"StructuredDocumentation","src":"2221:220:26","text":" @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-721.\n Used in balance queries.\n @param owner Address of the current owner of a token."},"errorSelector":"89c62b64","name":"ERC721InvalidOwner","nameLocation":"2452:18:26","parameters":{"id":40199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40198,"mutability":"mutable","name":"owner","nameLocation":"2479:5:26","nodeType":"VariableDeclaration","scope":40200,"src":"2471:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40197,"name":"address","nodeType":"ElementaryTypeName","src":"2471:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2470:15:26"}},{"id":40205,"nodeType":"ErrorDefinition","src":"2629:46:26","nodes":[],"documentation":{"id":40201,"nodeType":"StructuredDocumentation","src":"2492:132:26","text":" @dev Indicates a `tokenId` whose `owner` is the zero address.\n @param tokenId Identifier number of a token."},"errorSelector":"7e273289","name":"ERC721NonexistentToken","nameLocation":"2635:22:26","parameters":{"id":40204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40203,"mutability":"mutable","name":"tokenId","nameLocation":"2666:7:26","nodeType":"VariableDeclaration","scope":40205,"src":"2658:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40202,"name":"uint256","nodeType":"ElementaryTypeName","src":"2658:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2657:17:26"}},{"id":40214,"nodeType":"ErrorDefinition","src":"2975:75:26","nodes":[],"documentation":{"id":40206,"nodeType":"StructuredDocumentation","src":"2681:289:26","text":" @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param tokenId Identifier number of a token.\n @param owner Address of the current owner of a token."},"errorSelector":"64283d7b","name":"ERC721IncorrectOwner","nameLocation":"2981:20:26","parameters":{"id":40213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40208,"mutability":"mutable","name":"sender","nameLocation":"3010:6:26","nodeType":"VariableDeclaration","scope":40214,"src":"3002:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40207,"name":"address","nodeType":"ElementaryTypeName","src":"3002:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40210,"mutability":"mutable","name":"tokenId","nameLocation":"3026:7:26","nodeType":"VariableDeclaration","scope":40214,"src":"3018:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40209,"name":"uint256","nodeType":"ElementaryTypeName","src":"3018:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40212,"mutability":"mutable","name":"owner","nameLocation":"3043:5:26","nodeType":"VariableDeclaration","scope":40214,"src":"3035:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40211,"name":"address","nodeType":"ElementaryTypeName","src":"3035:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3001:48:26"}},{"id":40219,"nodeType":"ErrorDefinition","src":"3213:42:26","nodes":[],"documentation":{"id":40215,"nodeType":"StructuredDocumentation","src":"3056:152:26","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"73c6ac6e","name":"ERC721InvalidSender","nameLocation":"3219:19:26","parameters":{"id":40218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40217,"mutability":"mutable","name":"sender","nameLocation":"3247:6:26","nodeType":"VariableDeclaration","scope":40219,"src":"3239:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40216,"name":"address","nodeType":"ElementaryTypeName","src":"3239:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3238:16:26"}},{"id":40224,"nodeType":"ErrorDefinition","src":"3425:46:26","nodes":[],"documentation":{"id":40220,"nodeType":"StructuredDocumentation","src":"3261:159:26","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"64a0ae92","name":"ERC721InvalidReceiver","nameLocation":"3431:21:26","parameters":{"id":40223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40222,"mutability":"mutable","name":"receiver","nameLocation":"3461:8:26","nodeType":"VariableDeclaration","scope":40224,"src":"3453:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40221,"name":"address","nodeType":"ElementaryTypeName","src":"3453:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3452:18:26"}},{"id":40231,"nodeType":"ErrorDefinition","src":"3729:68:26","nodes":[],"documentation":{"id":40225,"nodeType":"StructuredDocumentation","src":"3477:247:26","text":" @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param tokenId Identifier number of a token."},"errorSelector":"177e802f","name":"ERC721InsufficientApproval","nameLocation":"3735:26:26","parameters":{"id":40230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40227,"mutability":"mutable","name":"operator","nameLocation":"3770:8:26","nodeType":"VariableDeclaration","scope":40231,"src":"3762:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40226,"name":"address","nodeType":"ElementaryTypeName","src":"3762:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40229,"mutability":"mutable","name":"tokenId","nameLocation":"3788:7:26","nodeType":"VariableDeclaration","scope":40231,"src":"3780:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40228,"name":"uint256","nodeType":"ElementaryTypeName","src":"3780:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3761:35:26"}},{"id":40236,"nodeType":"ErrorDefinition","src":"3982:46:26","nodes":[],"documentation":{"id":40232,"nodeType":"StructuredDocumentation","src":"3803:174:26","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"a9fbf51f","name":"ERC721InvalidApprover","nameLocation":"3988:21:26","parameters":{"id":40235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40234,"mutability":"mutable","name":"approver","nameLocation":"4018:8:26","nodeType":"VariableDeclaration","scope":40236,"src":"4010:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40233,"name":"address","nodeType":"ElementaryTypeName","src":"4010:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4009:18:26"}},{"id":40241,"nodeType":"ErrorDefinition","src":"4236:46:26","nodes":[],"documentation":{"id":40237,"nodeType":"StructuredDocumentation","src":"4034:197:26","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"5b08ba18","name":"ERC721InvalidOperator","nameLocation":"4242:21:26","parameters":{"id":40240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40239,"mutability":"mutable","name":"operator","nameLocation":"4272:8:26","nodeType":"VariableDeclaration","scope":40241,"src":"4264:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40238,"name":"address","nodeType":"ElementaryTypeName","src":"4264:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4263:18:26"}}],"abstract":false,"baseContracts":[],"canonicalName":"IERC721Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":40195,"nodeType":"StructuredDocumentation","src":"2047:143:26","text":" @dev Standard ERC-721 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens."},"fullyImplemented":true,"linearizedBaseContracts":[40242],"name":"IERC721Errors","nameLocation":"2201:13:26","scope":40290,"usedErrors":[40200,40205,40214,40219,40224,40231,40236,40241],"usedEvents":[]},{"id":40289,"nodeType":"ContractDefinition","src":"4432:2107:26","nodes":[{"id":40254,"nodeType":"ErrorDefinition","src":"4829:99:26","nodes":[],"documentation":{"id":40244,"nodeType":"StructuredDocumentation","src":"4463:361:26","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer.\n @param tokenId Identifier number of a token."},"errorSelector":"03dee4c5","name":"ERC1155InsufficientBalance","nameLocation":"4835:26:26","parameters":{"id":40253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40246,"mutability":"mutable","name":"sender","nameLocation":"4870:6:26","nodeType":"VariableDeclaration","scope":40254,"src":"4862:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40245,"name":"address","nodeType":"ElementaryTypeName","src":"4862:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40248,"mutability":"mutable","name":"balance","nameLocation":"4886:7:26","nodeType":"VariableDeclaration","scope":40254,"src":"4878:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40247,"name":"uint256","nodeType":"ElementaryTypeName","src":"4878:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40250,"mutability":"mutable","name":"needed","nameLocation":"4903:6:26","nodeType":"VariableDeclaration","scope":40254,"src":"4895:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40249,"name":"uint256","nodeType":"ElementaryTypeName","src":"4895:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40252,"mutability":"mutable","name":"tokenId","nameLocation":"4919:7:26","nodeType":"VariableDeclaration","scope":40254,"src":"4911:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40251,"name":"uint256","nodeType":"ElementaryTypeName","src":"4911:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4861:66:26"}},{"id":40259,"nodeType":"ErrorDefinition","src":"5091:43:26","nodes":[],"documentation":{"id":40255,"nodeType":"StructuredDocumentation","src":"4934:152:26","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"01a83514","name":"ERC1155InvalidSender","nameLocation":"5097:20:26","parameters":{"id":40258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40257,"mutability":"mutable","name":"sender","nameLocation":"5126:6:26","nodeType":"VariableDeclaration","scope":40259,"src":"5118:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40256,"name":"address","nodeType":"ElementaryTypeName","src":"5118:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5117:16:26"}},{"id":40264,"nodeType":"ErrorDefinition","src":"5304:47:26","nodes":[],"documentation":{"id":40260,"nodeType":"StructuredDocumentation","src":"5140:159:26","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"57f447ce","name":"ERC1155InvalidReceiver","nameLocation":"5310:22:26","parameters":{"id":40263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40262,"mutability":"mutable","name":"receiver","nameLocation":"5341:8:26","nodeType":"VariableDeclaration","scope":40264,"src":"5333:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40261,"name":"address","nodeType":"ElementaryTypeName","src":"5333:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5332:18:26"}},{"id":40271,"nodeType":"ErrorDefinition","src":"5618:68:26","nodes":[],"documentation":{"id":40265,"nodeType":"StructuredDocumentation","src":"5357:256:26","text":" @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param owner Address of the current owner of a token."},"errorSelector":"e237d922","name":"ERC1155MissingApprovalForAll","nameLocation":"5624:28:26","parameters":{"id":40270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40267,"mutability":"mutable","name":"operator","nameLocation":"5661:8:26","nodeType":"VariableDeclaration","scope":40271,"src":"5653:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40266,"name":"address","nodeType":"ElementaryTypeName","src":"5653:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40269,"mutability":"mutable","name":"owner","nameLocation":"5679:5:26","nodeType":"VariableDeclaration","scope":40271,"src":"5671:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40268,"name":"address","nodeType":"ElementaryTypeName","src":"5671:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5652:33:26"}},{"id":40276,"nodeType":"ErrorDefinition","src":"5871:47:26","nodes":[],"documentation":{"id":40272,"nodeType":"StructuredDocumentation","src":"5692:174:26","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"3e31884e","name":"ERC1155InvalidApprover","nameLocation":"5877:22:26","parameters":{"id":40275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40274,"mutability":"mutable","name":"approver","nameLocation":"5908:8:26","nodeType":"VariableDeclaration","scope":40276,"src":"5900:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40273,"name":"address","nodeType":"ElementaryTypeName","src":"5900:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5899:18:26"}},{"id":40281,"nodeType":"ErrorDefinition","src":"6126:47:26","nodes":[],"documentation":{"id":40277,"nodeType":"StructuredDocumentation","src":"5924:197:26","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"ced3e100","name":"ERC1155InvalidOperator","nameLocation":"6132:22:26","parameters":{"id":40280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40279,"mutability":"mutable","name":"operator","nameLocation":"6163:8:26","nodeType":"VariableDeclaration","scope":40281,"src":"6155:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40278,"name":"address","nodeType":"ElementaryTypeName","src":"6155:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6154:18:26"}},{"id":40288,"nodeType":"ErrorDefinition","src":"6464:73:26","nodes":[],"documentation":{"id":40282,"nodeType":"StructuredDocumentation","src":"6179:280:26","text":" @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n Used in batch transfers.\n @param idsLength Length of the array of token identifiers\n @param valuesLength Length of the array of token amounts"},"errorSelector":"5b059991","name":"ERC1155InvalidArrayLength","nameLocation":"6470:25:26","parameters":{"id":40287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40284,"mutability":"mutable","name":"idsLength","nameLocation":"6504:9:26","nodeType":"VariableDeclaration","scope":40288,"src":"6496:17:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40283,"name":"uint256","nodeType":"ElementaryTypeName","src":"6496:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40286,"mutability":"mutable","name":"valuesLength","nameLocation":"6523:12:26","nodeType":"VariableDeclaration","scope":40288,"src":"6515:20:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40285,"name":"uint256","nodeType":"ElementaryTypeName","src":"6515:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6495:41:26"}}],"abstract":false,"baseContracts":[],"canonicalName":"IERC1155Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":40243,"nodeType":"StructuredDocumentation","src":"4286:145:26","text":" @dev Standard ERC-1155 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens."},"fullyImplemented":true,"linearizedBaseContracts":[40289],"name":"IERC1155Errors","nameLocation":"4442:14:26","scope":40290,"usedErrors":[40254,40259,40264,40271,40276,40281,40288],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"id":27,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol","id":40331,"exportedSymbols":{"ERC20":[40845],"ERC20Mock":[40330]},"nodeType":"SourceUnit","src":"32:360:27","nodes":[{"id":40291,"nodeType":"PragmaDirective","src":"32:24:27","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":40293,"nodeType":"ImportDirective","src":"58:50:27","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"../../token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":40331,"sourceUnit":40846,"symbolAliases":[{"foreign":{"id":40292,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40845,"src":"66:5:27","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40330,"nodeType":"ContractDefinition","src":"110:281:27","nodes":[{"id":40303,"nodeType":"FunctionDefinition","src":"144:43:27","nodes":[],"body":{"id":40302,"nodeType":"Block","src":"185:2:27","nodes":[],"statements":[]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"45524332304d6f636b","id":40298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"164:11:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e204670039f8eeeb54743b50a42c4eacdfe9c2a99e7c90a68653a84d2870ae","typeString":"literal_string \"ERC20Mock\""},"value":"ERC20Mock"},{"hexValue":"4532304d","id":40299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"177:6:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_e146b19f4863aaa90bb9ad2c640c77b569e376541b06949c872e8cb5e47c42ef","typeString":"literal_string \"E20M\""},"value":"E20M"}],"id":40300,"kind":"baseConstructorSpecifier","modifierName":{"id":40297,"name":"ERC20","nameLocations":["158:5:27"],"nodeType":"IdentifierPath","referencedDeclaration":40845,"src":"158:5:27"},"nodeType":"ModifierInvocation","src":"158:26:27"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":40296,"nodeType":"ParameterList","parameters":[],"src":"155:2:27"},"returnParameters":{"id":40301,"nodeType":"ParameterList","parameters":[],"src":"185:0:27"},"scope":40330,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":40316,"nodeType":"FunctionDefinition","src":"193:95:27","nodes":[],"body":{"id":40315,"nodeType":"Block","src":"249:39:27","nodes":[],"statements":[{"expression":{"arguments":[{"id":40311,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40305,"src":"265:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40312,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40307,"src":"274:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40310,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40685,"src":"259:5:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":40313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"259:22:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40314,"nodeType":"ExpressionStatement","src":"259:22:27"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"202:4:27","parameters":{"id":40308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40305,"mutability":"mutable","name":"account","nameLocation":"215:7:27","nodeType":"VariableDeclaration","scope":40316,"src":"207:15:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40304,"name":"address","nodeType":"ElementaryTypeName","src":"207:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40307,"mutability":"mutable","name":"amount","nameLocation":"232:6:27","nodeType":"VariableDeclaration","scope":40316,"src":"224:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40306,"name":"uint256","nodeType":"ElementaryTypeName","src":"224:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"206:33:27"},"returnParameters":{"id":40309,"nodeType":"ParameterList","parameters":[],"src":"249:0:27"},"scope":40330,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":40329,"nodeType":"FunctionDefinition","src":"294:95:27","nodes":[],"body":{"id":40328,"nodeType":"Block","src":"350:39:27","nodes":[],"statements":[{"expression":{"arguments":[{"id":40324,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40318,"src":"366:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40325,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40320,"src":"375:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40323,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40718,"src":"360:5:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":40326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"360:22:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40327,"nodeType":"ExpressionStatement","src":"360:22:27"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"303:4:27","parameters":{"id":40321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40318,"mutability":"mutable","name":"account","nameLocation":"316:7:27","nodeType":"VariableDeclaration","scope":40329,"src":"308:15:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40317,"name":"address","nodeType":"ElementaryTypeName","src":"308:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40320,"mutability":"mutable","name":"amount","nameLocation":"333:6:27","nodeType":"VariableDeclaration","scope":40329,"src":"325:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40319,"name":"uint256","nodeType":"ElementaryTypeName","src":"325:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"307:33:27"},"returnParameters":{"id":40322,"nodeType":"ParameterList","parameters":[],"src":"350:0:27"},"scope":40330,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":40294,"name":"ERC20","nameLocations":["132:5:27"],"nodeType":"IdentifierPath","referencedDeclaration":40845,"src":"132:5:27"},"id":40295,"nodeType":"InheritanceSpecifier","src":"132:5:27"}],"canonicalName":"ERC20Mock","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[40330,40845,40194,41103,40923,42337],"name":"ERC20Mock","nameLocation":"119:9:27","scope":40331,"usedErrors":[40164,40169,40174,40183,40188,40193],"usedEvents":[40857,40866]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"id":28,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":40846,"exportedSymbols":{"Context":[42337],"ERC20":[40845],"IERC20":[40923],"IERC20Errors":[40194],"IERC20Metadata":[41103]},"nodeType":"SourceUnit","src":"105:10695:28","nodes":[{"id":40332,"nodeType":"PragmaDirective","src":"105:24:28","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":40334,"nodeType":"ImportDirective","src":"131:36:28","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":40846,"sourceUnit":40924,"symbolAliases":[{"foreign":{"id":40333,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"139:6:28","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40336,"nodeType":"ImportDirective","src":"168:63:28","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":40846,"sourceUnit":41104,"symbolAliases":[{"foreign":{"id":40335,"name":"IERC20Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41103,"src":"176:14:28","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40338,"nodeType":"ImportDirective","src":"232:48:28","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":40846,"sourceUnit":42338,"symbolAliases":[{"foreign":{"id":40337,"name":"Context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42337,"src":"240:7:28","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40340,"nodeType":"ImportDirective","src":"281:65:28","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","file":"../../interfaces/draft-IERC6093.sol","nameLocation":"-1:-1:-1","scope":40846,"sourceUnit":40290,"symbolAliases":[{"foreign":{"id":40339,"name":"IERC20Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40194,"src":"289:12:28","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40845,"nodeType":"ContractDefinition","src":"1106:9693:28","nodes":[{"id":40353,"nodeType":"VariableDeclaration","src":"1185:53:28","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1229:9:28","scope":40845,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":40352,"keyName":"account","keyNameLocation":"1201:7:28","keyType":{"id":40350,"name":"address","nodeType":"ElementaryTypeName","src":"1193:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1185:35:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":40351,"name":"uint256","nodeType":"ElementaryTypeName","src":"1212:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":40359,"nodeType":"VariableDeclaration","src":"1245:83:28","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1317:11:28","scope":40845,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":40358,"keyName":"account","keyNameLocation":"1261:7:28","keyType":{"id":40354,"name":"address","nodeType":"ElementaryTypeName","src":"1253:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1245:63:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":40357,"keyName":"spender","keyNameLocation":"1288:7:28","keyType":{"id":40355,"name":"address","nodeType":"ElementaryTypeName","src":"1280:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1272:35:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":40356,"name":"uint256","nodeType":"ElementaryTypeName","src":"1299:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":40361,"nodeType":"VariableDeclaration","src":"1335:28:28","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1351:12:28","scope":40845,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40360,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":40363,"nodeType":"VariableDeclaration","src":"1370:20:28","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1385:5:28","scope":40845,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":40362,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":40365,"nodeType":"VariableDeclaration","src":"1396:22:28","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1411:7:28","scope":40845,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":40364,"name":"string","nodeType":"ElementaryTypeName","src":"1396:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":40382,"nodeType":"FunctionDefinition","src":"1582:113:28","nodes":[],"body":{"id":40381,"nodeType":"Block","src":"1638:57:28","nodes":[],"statements":[{"expression":{"id":40375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":40373,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40363,"src":"1648:5:28","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40374,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40368,"src":"1656:5:28","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1648:13:28","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":40376,"nodeType":"ExpressionStatement","src":"1648:13:28"},{"expression":{"id":40379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":40377,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40365,"src":"1671:7:28","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40378,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40370,"src":"1681:7:28","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1671:17:28","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":40380,"nodeType":"ExpressionStatement","src":"1671:17:28"}]},"documentation":{"id":40366,"nodeType":"StructuredDocumentation","src":"1425:152:28","text":" @dev Sets the values for {name} and {symbol}.\n Both values are immutable: they can only be set once during construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":40371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40368,"mutability":"mutable","name":"name_","nameLocation":"1608:5:28","nodeType":"VariableDeclaration","scope":40382,"src":"1594:19:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40367,"name":"string","nodeType":"ElementaryTypeName","src":"1594:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":40370,"mutability":"mutable","name":"symbol_","nameLocation":"1629:7:28","nodeType":"VariableDeclaration","scope":40382,"src":"1615:21:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40369,"name":"string","nodeType":"ElementaryTypeName","src":"1615:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1593:44:28"},"returnParameters":{"id":40372,"nodeType":"ParameterList","parameters":[],"src":"1638:0:28"},"scope":40845,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":40391,"nodeType":"FunctionDefinition","src":"1760:89:28","nodes":[],"body":{"id":40390,"nodeType":"Block","src":"1820:29:28","nodes":[],"statements":[{"expression":{"id":40388,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40363,"src":"1837:5:28","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":40387,"id":40389,"nodeType":"Return","src":"1830:12:28"}]},"baseFunctions":[41090],"documentation":{"id":40383,"nodeType":"StructuredDocumentation","src":"1701:54:28","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"1769:4:28","parameters":{"id":40384,"nodeType":"ParameterList","parameters":[],"src":"1773:2:28"},"returnParameters":{"id":40387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40391,"src":"1805:13:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40385,"name":"string","nodeType":"ElementaryTypeName","src":"1805:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1804:15:28"},"scope":40845,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40400,"nodeType":"FunctionDefinition","src":"1962:93:28","nodes":[],"body":{"id":40399,"nodeType":"Block","src":"2024:31:28","nodes":[],"statements":[{"expression":{"id":40397,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40365,"src":"2041:7:28","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":40396,"id":40398,"nodeType":"Return","src":"2034:14:28"}]},"baseFunctions":[41096],"documentation":{"id":40392,"nodeType":"StructuredDocumentation","src":"1855:102:28","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1971:6:28","parameters":{"id":40393,"nodeType":"ParameterList","parameters":[],"src":"1977:2:28"},"returnParameters":{"id":40396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40400,"src":"2009:13:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40394,"name":"string","nodeType":"ElementaryTypeName","src":"2009:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2008:15:28"},"scope":40845,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40409,"nodeType":"FunctionDefinition","src":"2688:82:28","nodes":[],"body":{"id":40408,"nodeType":"Block","src":"2744:26:28","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":40406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2761:2:28","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":40405,"id":40407,"nodeType":"Return","src":"2754:9:28"}]},"baseFunctions":[41102],"documentation":{"id":40401,"nodeType":"StructuredDocumentation","src":"2061:622:28","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2697:8:28","parameters":{"id":40402,"nodeType":"ParameterList","parameters":[],"src":"2705:2:28"},"returnParameters":{"id":40405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40404,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40409,"src":"2737:5:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":40403,"name":"uint8","nodeType":"ElementaryTypeName","src":"2737:5:28","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2736:7:28"},"scope":40845,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40418,"nodeType":"FunctionDefinition","src":"2803:97:28","nodes":[],"body":{"id":40417,"nodeType":"Block","src":"2864:36:28","nodes":[],"statements":[{"expression":{"id":40415,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40361,"src":"2881:12:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40414,"id":40416,"nodeType":"Return","src":"2874:19:28"}]},"baseFunctions":[40872],"documentation":{"id":40410,"nodeType":"StructuredDocumentation","src":"2776:22:28","text":"@inheritdoc IERC20"},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"2812:11:28","parameters":{"id":40411,"nodeType":"ParameterList","parameters":[],"src":"2823:2:28"},"returnParameters":{"id":40414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40413,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40418,"src":"2855:7:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40412,"name":"uint256","nodeType":"ElementaryTypeName","src":"2855:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2854:9:28"},"scope":40845,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40431,"nodeType":"FunctionDefinition","src":"2933:116:28","nodes":[],"body":{"id":40430,"nodeType":"Block","src":"3007:42:28","nodes":[],"statements":[{"expression":{"baseExpression":{"id":40426,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40353,"src":"3024:9:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":40428,"indexExpression":{"id":40427,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40421,"src":"3034:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3024:18:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40425,"id":40429,"nodeType":"Return","src":"3017:25:28"}]},"baseFunctions":[40880],"documentation":{"id":40419,"nodeType":"StructuredDocumentation","src":"2906:22:28","text":"@inheritdoc IERC20"},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"2942:9:28","parameters":{"id":40422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40421,"mutability":"mutable","name":"account","nameLocation":"2960:7:28","nodeType":"VariableDeclaration","scope":40431,"src":"2952:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40420,"name":"address","nodeType":"ElementaryTypeName","src":"2952:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2951:17:28"},"returnParameters":{"id":40425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40431,"src":"2998:7:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40423,"name":"uint256","nodeType":"ElementaryTypeName","src":"2998:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2997:9:28"},"scope":40845,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40455,"nodeType":"FunctionDefinition","src":"3244:178:28","nodes":[],"body":{"id":40454,"nodeType":"Block","src":"3319:103:28","nodes":[],"statements":[{"assignments":[40442],"declarations":[{"constant":false,"id":40442,"mutability":"mutable","name":"owner","nameLocation":"3337:5:28","nodeType":"VariableDeclaration","scope":40454,"src":"3329:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40441,"name":"address","nodeType":"ElementaryTypeName","src":"3329:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":40445,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40443,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42319,"src":"3345:10:28","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":40444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3345:12:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3329:28:28"},{"expression":{"arguments":[{"id":40447,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40442,"src":"3377:5:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40448,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40434,"src":"3384:2:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40449,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40436,"src":"3388:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40446,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40575,"src":"3367:9:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":40450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3367:27:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40451,"nodeType":"ExpressionStatement","src":"3367:27:28"},{"expression":{"hexValue":"74727565","id":40452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3411:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":40440,"id":40453,"nodeType":"Return","src":"3404:11:28"}]},"baseFunctions":[40890],"documentation":{"id":40432,"nodeType":"StructuredDocumentation","src":"3055:184:28","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `value`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3253:8:28","parameters":{"id":40437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40434,"mutability":"mutable","name":"to","nameLocation":"3270:2:28","nodeType":"VariableDeclaration","scope":40455,"src":"3262:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40433,"name":"address","nodeType":"ElementaryTypeName","src":"3262:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40436,"mutability":"mutable","name":"value","nameLocation":"3282:5:28","nodeType":"VariableDeclaration","scope":40455,"src":"3274:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40435,"name":"uint256","nodeType":"ElementaryTypeName","src":"3274:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3261:27:28"},"returnParameters":{"id":40440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40455,"src":"3313:4:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40438,"name":"bool","nodeType":"ElementaryTypeName","src":"3313:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3312:6:28"},"scope":40845,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":40472,"nodeType":"FunctionDefinition","src":"3455:140:28","nodes":[],"body":{"id":40471,"nodeType":"Block","src":"3544:51:28","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":40465,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40359,"src":"3561:11:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":40467,"indexExpression":{"id":40466,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40458,"src":"3573:5:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3561:18:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":40469,"indexExpression":{"id":40468,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40460,"src":"3580:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3561:27:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":40464,"id":40470,"nodeType":"Return","src":"3554:34:28"}]},"baseFunctions":[40900],"documentation":{"id":40456,"nodeType":"StructuredDocumentation","src":"3428:22:28","text":"@inheritdoc IERC20"},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3464:9:28","parameters":{"id":40461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40458,"mutability":"mutable","name":"owner","nameLocation":"3482:5:28","nodeType":"VariableDeclaration","scope":40472,"src":"3474:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40457,"name":"address","nodeType":"ElementaryTypeName","src":"3474:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40460,"mutability":"mutable","name":"spender","nameLocation":"3497:7:28","nodeType":"VariableDeclaration","scope":40472,"src":"3489:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40459,"name":"address","nodeType":"ElementaryTypeName","src":"3489:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3473:32:28"},"returnParameters":{"id":40464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40463,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40472,"src":"3535:7:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40462,"name":"uint256","nodeType":"ElementaryTypeName","src":"3535:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3534:9:28"},"scope":40845,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40496,"nodeType":"FunctionDefinition","src":"3902:186:28","nodes":[],"body":{"id":40495,"nodeType":"Block","src":"3981:107:28","nodes":[],"statements":[{"assignments":[40483],"declarations":[{"constant":false,"id":40483,"mutability":"mutable","name":"owner","nameLocation":"3999:5:28","nodeType":"VariableDeclaration","scope":40495,"src":"3991:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40482,"name":"address","nodeType":"ElementaryTypeName","src":"3991:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":40486,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40484,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42319,"src":"4007:10:28","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":40485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4007:12:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3991:28:28"},{"expression":{"arguments":[{"id":40488,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40483,"src":"4038:5:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40489,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40475,"src":"4045:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40490,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40477,"src":"4054:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40487,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[40736,40796],"referencedDeclaration":40736,"src":"4029:8:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":40491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4029:31:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40492,"nodeType":"ExpressionStatement","src":"4029:31:28"},{"expression":{"hexValue":"74727565","id":40493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4077:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":40481,"id":40494,"nodeType":"Return","src":"4070:11:28"}]},"baseFunctions":[40910],"documentation":{"id":40473,"nodeType":"StructuredDocumentation","src":"3601:296:28","text":" @dev See {IERC20-approve}.\n NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3911:7:28","parameters":{"id":40478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40475,"mutability":"mutable","name":"spender","nameLocation":"3927:7:28","nodeType":"VariableDeclaration","scope":40496,"src":"3919:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40474,"name":"address","nodeType":"ElementaryTypeName","src":"3919:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40477,"mutability":"mutable","name":"value","nameLocation":"3944:5:28","nodeType":"VariableDeclaration","scope":40496,"src":"3936:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40476,"name":"uint256","nodeType":"ElementaryTypeName","src":"3936:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3918:32:28"},"returnParameters":{"id":40481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40496,"src":"3975:4:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40479,"name":"bool","nodeType":"ElementaryTypeName","src":"3975:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3974:6:28"},"scope":40845,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":40528,"nodeType":"FunctionDefinition","src":"4680:244:28","nodes":[],"body":{"id":40527,"nodeType":"Block","src":"4773:151:28","nodes":[],"statements":[{"assignments":[40509],"declarations":[{"constant":false,"id":40509,"mutability":"mutable","name":"spender","nameLocation":"4791:7:28","nodeType":"VariableDeclaration","scope":40527,"src":"4783:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40508,"name":"address","nodeType":"ElementaryTypeName","src":"4783:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":40512,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40510,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42319,"src":"4801:10:28","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":40511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4801:12:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4783:30:28"},{"expression":{"arguments":[{"id":40514,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40499,"src":"4839:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40515,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40509,"src":"4845:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40516,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40503,"src":"4854:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40513,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40844,"src":"4823:15:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":40517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4823:37:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40518,"nodeType":"ExpressionStatement","src":"4823:37:28"},{"expression":{"arguments":[{"id":40520,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40499,"src":"4880:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40521,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40501,"src":"4886:2:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40522,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40503,"src":"4890:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40519,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40575,"src":"4870:9:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":40523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4870:26:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40524,"nodeType":"ExpressionStatement","src":"4870:26:28"},{"expression":{"hexValue":"74727565","id":40525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4913:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":40507,"id":40526,"nodeType":"Return","src":"4906:11:28"}]},"baseFunctions":[40922],"documentation":{"id":40497,"nodeType":"StructuredDocumentation","src":"4094:581:28","text":" @dev See {IERC20-transferFrom}.\n Skips emitting an {Approval} event indicating an allowance update. This is not\n required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `value`.\n - the caller must have allowance for ``from``'s tokens of at least\n `value`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4689:12:28","parameters":{"id":40504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40499,"mutability":"mutable","name":"from","nameLocation":"4710:4:28","nodeType":"VariableDeclaration","scope":40528,"src":"4702:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40498,"name":"address","nodeType":"ElementaryTypeName","src":"4702:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40501,"mutability":"mutable","name":"to","nameLocation":"4724:2:28","nodeType":"VariableDeclaration","scope":40528,"src":"4716:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40500,"name":"address","nodeType":"ElementaryTypeName","src":"4716:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40503,"mutability":"mutable","name":"value","nameLocation":"4736:5:28","nodeType":"VariableDeclaration","scope":40528,"src":"4728:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40502,"name":"uint256","nodeType":"ElementaryTypeName","src":"4728:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4701:41:28"},"returnParameters":{"id":40507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40506,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40528,"src":"4767:4:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40505,"name":"bool","nodeType":"ElementaryTypeName","src":"4767:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4766:6:28"},"scope":40845,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":40575,"nodeType":"FunctionDefinition","src":"5297:300:28","nodes":[],"body":{"id":40574,"nodeType":"Block","src":"5366:231:28","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40538,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40531,"src":"5380:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5396:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5388:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40539,"name":"address","nodeType":"ElementaryTypeName","src":"5388:7:28","typeDescriptions":{}}},"id":40542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5388:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5380:18:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40552,"nodeType":"IfStatement","src":"5376:86:28","trueBody":{"id":40551,"nodeType":"Block","src":"5400:62:28","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":40547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5448:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5440:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40545,"name":"address","nodeType":"ElementaryTypeName","src":"5440:7:28","typeDescriptions":{}}},"id":40548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40544,"name":"ERC20InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40169,"src":"5421:18:28","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":40549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5421:30:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40550,"nodeType":"RevertStatement","src":"5414:37:28"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40553,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40533,"src":"5475:2:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5489:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5481:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40554,"name":"address","nodeType":"ElementaryTypeName","src":"5481:7:28","typeDescriptions":{}}},"id":40557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5481:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5475:16:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40567,"nodeType":"IfStatement","src":"5471:86:28","trueBody":{"id":40566,"nodeType":"Block","src":"5493:64:28","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":40562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5543:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5535:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40560,"name":"address","nodeType":"ElementaryTypeName","src":"5535:7:28","typeDescriptions":{}}},"id":40563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5535:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40559,"name":"ERC20InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40174,"src":"5514:20:28","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":40564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5514:32:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40565,"nodeType":"RevertStatement","src":"5507:39:28"}]}},{"expression":{"arguments":[{"id":40569,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40531,"src":"5574:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40570,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40533,"src":"5580:2:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40571,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40535,"src":"5584:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40568,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40652,"src":"5566:7:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":40572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5566:24:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40573,"nodeType":"ExpressionStatement","src":"5566:24:28"}]},"documentation":{"id":40529,"nodeType":"StructuredDocumentation","src":"4930:362:28","text":" @dev Moves a `value` amount of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n NOTE: This function is not virtual, {_update} should be overridden instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"5306:9:28","parameters":{"id":40536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40531,"mutability":"mutable","name":"from","nameLocation":"5324:4:28","nodeType":"VariableDeclaration","scope":40575,"src":"5316:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40530,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40533,"mutability":"mutable","name":"to","nameLocation":"5338:2:28","nodeType":"VariableDeclaration","scope":40575,"src":"5330:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40532,"name":"address","nodeType":"ElementaryTypeName","src":"5330:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40535,"mutability":"mutable","name":"value","nameLocation":"5350:5:28","nodeType":"VariableDeclaration","scope":40575,"src":"5342:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40534,"name":"uint256","nodeType":"ElementaryTypeName","src":"5342:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5315:41:28"},"returnParameters":{"id":40537,"nodeType":"ParameterList","parameters":[],"src":"5366:0:28"},"scope":40845,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":40652,"nodeType":"FunctionDefinition","src":"5912:1107:28","nodes":[],"body":{"id":40651,"nodeType":"Block","src":"5987:1032:28","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40585,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"6001:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6017:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6009:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40586,"name":"address","nodeType":"ElementaryTypeName","src":"6009:7:28","typeDescriptions":{}}},"id":40589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6009:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6001:18:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":40622,"nodeType":"Block","src":"6175:362:28","statements":[{"assignments":[40597],"declarations":[{"constant":false,"id":40597,"mutability":"mutable","name":"fromBalance","nameLocation":"6197:11:28","nodeType":"VariableDeclaration","scope":40622,"src":"6189:19:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40596,"name":"uint256","nodeType":"ElementaryTypeName","src":"6189:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40601,"initialValue":{"baseExpression":{"id":40598,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40353,"src":"6211:9:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":40600,"indexExpression":{"id":40599,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"6221:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6211:15:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6189:37:28"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40602,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40597,"src":"6244:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":40603,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40582,"src":"6258:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6244:19:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40612,"nodeType":"IfStatement","src":"6240:115:28","trueBody":{"id":40611,"nodeType":"Block","src":"6265:90:28","statements":[{"errorCall":{"arguments":[{"id":40606,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"6315:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40607,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40597,"src":"6321:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":40608,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40582,"src":"6334:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40605,"name":"ERC20InsufficientBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40164,"src":"6290:24:28","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256,uint256) pure returns (error)"}},"id":40609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6290:50:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40610,"nodeType":"RevertStatement","src":"6283:57:28"}]}},{"id":40621,"nodeType":"UncheckedBlock","src":"6368:159:28","statements":[{"expression":{"id":40619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":40613,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40353,"src":"6475:9:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":40615,"indexExpression":{"id":40614,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"6485:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6475:15:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40616,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40597,"src":"6493:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":40617,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40582,"src":"6507:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6493:19:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6475:37:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40620,"nodeType":"ExpressionStatement","src":"6475:37:28"}]}]},"id":40623,"nodeType":"IfStatement","src":"5997:540:28","trueBody":{"id":40595,"nodeType":"Block","src":"6021:148:28","statements":[{"expression":{"id":40593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":40591,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40361,"src":"6137:12:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":40592,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40582,"src":"6153:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6137:21:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40594,"nodeType":"ExpressionStatement","src":"6137:21:28"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40624,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40580,"src":"6551:2:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6565:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6557:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40625,"name":"address","nodeType":"ElementaryTypeName","src":"6557:7:28","typeDescriptions":{}}},"id":40628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6557:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6551:16:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":40643,"nodeType":"Block","src":"6766:206:28","statements":[{"id":40642,"nodeType":"UncheckedBlock","src":"6780:182:28","statements":[{"expression":{"id":40640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":40636,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40353,"src":"6925:9:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":40638,"indexExpression":{"id":40637,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40580,"src":"6935:2:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6925:13:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":40639,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40582,"src":"6942:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6925:22:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40641,"nodeType":"ExpressionStatement","src":"6925:22:28"}]}]},"id":40644,"nodeType":"IfStatement","src":"6547:425:28","trueBody":{"id":40635,"nodeType":"Block","src":"6569:191:28","statements":[{"id":40634,"nodeType":"UncheckedBlock","src":"6583:167:28","statements":[{"expression":{"id":40632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":40630,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40361,"src":"6714:12:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":40631,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40582,"src":"6730:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6714:21:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40633,"nodeType":"ExpressionStatement","src":"6714:21:28"}]}]}},{"eventCall":{"arguments":[{"id":40646,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40578,"src":"6996:4:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40647,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40580,"src":"7002:2:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40648,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40582,"src":"7006:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40645,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40857,"src":"6987:8:28","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":40649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6987:25:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40650,"nodeType":"EmitStatement","src":"6982:30:28"}]},"documentation":{"id":40576,"nodeType":"StructuredDocumentation","src":"5603:304:28","text":" @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n this function.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"5921:7:28","parameters":{"id":40583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40578,"mutability":"mutable","name":"from","nameLocation":"5937:4:28","nodeType":"VariableDeclaration","scope":40652,"src":"5929:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40577,"name":"address","nodeType":"ElementaryTypeName","src":"5929:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40580,"mutability":"mutable","name":"to","nameLocation":"5951:2:28","nodeType":"VariableDeclaration","scope":40652,"src":"5943:10:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40579,"name":"address","nodeType":"ElementaryTypeName","src":"5943:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40582,"mutability":"mutable","name":"value","nameLocation":"5963:5:28","nodeType":"VariableDeclaration","scope":40652,"src":"5955:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40581,"name":"uint256","nodeType":"ElementaryTypeName","src":"5955:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5928:41:28"},"returnParameters":{"id":40584,"nodeType":"ParameterList","parameters":[],"src":"5987:0:28"},"scope":40845,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40685,"nodeType":"FunctionDefinition","src":"7362:208:28","nodes":[],"body":{"id":40684,"nodeType":"Block","src":"7418:152:28","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40660,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40655,"src":"7432:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7451:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7443:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40661,"name":"address","nodeType":"ElementaryTypeName","src":"7443:7:28","typeDescriptions":{}}},"id":40664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7443:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7432:21:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40674,"nodeType":"IfStatement","src":"7428:91:28","trueBody":{"id":40673,"nodeType":"Block","src":"7455:64:28","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":40669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7505:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7497:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40667,"name":"address","nodeType":"ElementaryTypeName","src":"7497:7:28","typeDescriptions":{}}},"id":40670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7497:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40666,"name":"ERC20InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40174,"src":"7476:20:28","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":40671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7476:32:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40672,"nodeType":"RevertStatement","src":"7469:39:28"}]}},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":40678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7544:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7536:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40676,"name":"address","nodeType":"ElementaryTypeName","src":"7536:7:28","typeDescriptions":{}}},"id":40679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7536:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40680,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40655,"src":"7548:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40681,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40657,"src":"7557:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40675,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40652,"src":"7528:7:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":40682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:35:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40683,"nodeType":"ExpressionStatement","src":"7528:35:28"}]},"documentation":{"id":40653,"nodeType":"StructuredDocumentation","src":"7025:332:28","text":" @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n Relies on the `_update` mechanism\n Emits a {Transfer} event with `from` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"7371:5:28","parameters":{"id":40658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40655,"mutability":"mutable","name":"account","nameLocation":"7385:7:28","nodeType":"VariableDeclaration","scope":40685,"src":"7377:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40654,"name":"address","nodeType":"ElementaryTypeName","src":"7377:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40657,"mutability":"mutable","name":"value","nameLocation":"7402:5:28","nodeType":"VariableDeclaration","scope":40685,"src":"7394:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40656,"name":"uint256","nodeType":"ElementaryTypeName","src":"7394:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7376:32:28"},"returnParameters":{"id":40659,"nodeType":"ParameterList","parameters":[],"src":"7418:0:28"},"scope":40845,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":40718,"nodeType":"FunctionDefinition","src":"7888:206:28","nodes":[],"body":{"id":40717,"nodeType":"Block","src":"7944:150:28","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40693,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40688,"src":"7958:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7977:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7969:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40694,"name":"address","nodeType":"ElementaryTypeName","src":"7969:7:28","typeDescriptions":{}}},"id":40697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7969:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7958:21:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40707,"nodeType":"IfStatement","src":"7954:89:28","trueBody":{"id":40706,"nodeType":"Block","src":"7981:62:28","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":40702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8029:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8021:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40700,"name":"address","nodeType":"ElementaryTypeName","src":"8021:7:28","typeDescriptions":{}}},"id":40703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8021:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40699,"name":"ERC20InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40169,"src":"8002:18:28","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":40704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8002:30:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40705,"nodeType":"RevertStatement","src":"7995:37:28"}]}},{"expression":{"arguments":[{"id":40709,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40688,"src":"8060:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":40712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8077:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8069:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40710,"name":"address","nodeType":"ElementaryTypeName","src":"8069:7:28","typeDescriptions":{}}},"id":40713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8069:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40714,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40690,"src":"8081:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40708,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40652,"src":"8052:7:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":40715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8052:35:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40716,"nodeType":"ExpressionStatement","src":"8052:35:28"}]},"documentation":{"id":40686,"nodeType":"StructuredDocumentation","src":"7576:307:28","text":" @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n Relies on the `_update` mechanism.\n Emits a {Transfer} event with `to` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead"},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"7897:5:28","parameters":{"id":40691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40688,"mutability":"mutable","name":"account","nameLocation":"7911:7:28","nodeType":"VariableDeclaration","scope":40718,"src":"7903:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40687,"name":"address","nodeType":"ElementaryTypeName","src":"7903:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40690,"mutability":"mutable","name":"value","nameLocation":"7928:5:28","nodeType":"VariableDeclaration","scope":40718,"src":"7920:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40689,"name":"uint256","nodeType":"ElementaryTypeName","src":"7920:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7902:32:28"},"returnParameters":{"id":40692,"nodeType":"ParameterList","parameters":[],"src":"7944:0:28"},"scope":40845,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":40736,"nodeType":"FunctionDefinition","src":"8630:128:28","nodes":[],"body":{"id":40735,"nodeType":"Block","src":"8704:54:28","nodes":[],"statements":[{"expression":{"arguments":[{"id":40729,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40721,"src":"8723:5:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40730,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40723,"src":"8730:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40731,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40725,"src":"8739:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":40732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8746:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":40728,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[40736,40796],"referencedDeclaration":40796,"src":"8714:8:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":40733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8714:37:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40734,"nodeType":"ExpressionStatement","src":"8714:37:28"}]},"documentation":{"id":40719,"nodeType":"StructuredDocumentation","src":"8100:525:28","text":" @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address.\n Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"8639:8:28","parameters":{"id":40726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40721,"mutability":"mutable","name":"owner","nameLocation":"8656:5:28","nodeType":"VariableDeclaration","scope":40736,"src":"8648:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40720,"name":"address","nodeType":"ElementaryTypeName","src":"8648:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40723,"mutability":"mutable","name":"spender","nameLocation":"8671:7:28","nodeType":"VariableDeclaration","scope":40736,"src":"8663:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40722,"name":"address","nodeType":"ElementaryTypeName","src":"8663:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40725,"mutability":"mutable","name":"value","nameLocation":"8688:5:28","nodeType":"VariableDeclaration","scope":40736,"src":"8680:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40724,"name":"uint256","nodeType":"ElementaryTypeName","src":"8680:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8647:47:28"},"returnParameters":{"id":40727,"nodeType":"ParameterList","parameters":[],"src":"8704:0:28"},"scope":40845,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":40796,"nodeType":"FunctionDefinition","src":"9607:432:28","nodes":[],"body":{"id":40795,"nodeType":"Block","src":"9705:334:28","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40748,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40739,"src":"9719:5:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9736:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9728:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40749,"name":"address","nodeType":"ElementaryTypeName","src":"9728:7:28","typeDescriptions":{}}},"id":40752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9728:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9719:19:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40762,"nodeType":"IfStatement","src":"9715:89:28","trueBody":{"id":40761,"nodeType":"Block","src":"9740:64:28","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":40757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9790:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9782:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40755,"name":"address","nodeType":"ElementaryTypeName","src":"9782:7:28","typeDescriptions":{}}},"id":40758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9782:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40754,"name":"ERC20InvalidApprover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40188,"src":"9761:20:28","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":40759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9761:32:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40760,"nodeType":"RevertStatement","src":"9754:39:28"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40763,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40741,"src":"9817:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":40766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9836:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9828:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40764,"name":"address","nodeType":"ElementaryTypeName","src":"9828:7:28","typeDescriptions":{}}},"id":40767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9828:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9817:21:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40777,"nodeType":"IfStatement","src":"9813:90:28","trueBody":{"id":40776,"nodeType":"Block","src":"9840:63:28","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":40772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9889:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9881:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40770,"name":"address","nodeType":"ElementaryTypeName","src":"9881:7:28","typeDescriptions":{}}},"id":40773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9881:10:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40769,"name":"ERC20InvalidSpender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40193,"src":"9861:19:28","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":40774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9861:31:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40775,"nodeType":"RevertStatement","src":"9854:38:28"}]}},{"expression":{"id":40784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":40778,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40359,"src":"9912:11:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":40781,"indexExpression":{"id":40779,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40739,"src":"9924:5:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9912:18:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":40782,"indexExpression":{"id":40780,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40741,"src":"9931:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9912:27:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40783,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40743,"src":"9942:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9912:35:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40785,"nodeType":"ExpressionStatement","src":"9912:35:28"},{"condition":{"id":40786,"name":"emitEvent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40745,"src":"9961:9:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40794,"nodeType":"IfStatement","src":"9957:76:28","trueBody":{"id":40793,"nodeType":"Block","src":"9972:61:28","statements":[{"eventCall":{"arguments":[{"id":40788,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40739,"src":"10000:5:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40789,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40741,"src":"10007:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40790,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40743,"src":"10016:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40787,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40866,"src":"9991:8:28","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":40791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9991:31:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40792,"nodeType":"EmitStatement","src":"9986:36:28"}]}}]},"documentation":{"id":40737,"nodeType":"StructuredDocumentation","src":"8764:838:28","text":" @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n `_spendAllowance` during the `transferFrom` operation sets the flag to false. This saves gas by not emitting any\n `Approval` event during `transferFrom` operations.\n Anyone who wishes to continue emitting `Approval` events on the `transferFrom` operation can force the flag to\n true using the following override:\n ```solidity\n function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n super._approve(owner, spender, value, true);\n }\n ```\n Requirements are the same as {_approve}."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"9616:8:28","parameters":{"id":40746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40739,"mutability":"mutable","name":"owner","nameLocation":"9633:5:28","nodeType":"VariableDeclaration","scope":40796,"src":"9625:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40738,"name":"address","nodeType":"ElementaryTypeName","src":"9625:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40741,"mutability":"mutable","name":"spender","nameLocation":"9648:7:28","nodeType":"VariableDeclaration","scope":40796,"src":"9640:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40740,"name":"address","nodeType":"ElementaryTypeName","src":"9640:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40743,"mutability":"mutable","name":"value","nameLocation":"9665:5:28","nodeType":"VariableDeclaration","scope":40796,"src":"9657:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40742,"name":"uint256","nodeType":"ElementaryTypeName","src":"9657:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40745,"mutability":"mutable","name":"emitEvent","nameLocation":"9677:9:28","nodeType":"VariableDeclaration","scope":40796,"src":"9672:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40744,"name":"bool","nodeType":"ElementaryTypeName","src":"9672:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9624:63:28"},"returnParameters":{"id":40747,"nodeType":"ParameterList","parameters":[],"src":"9705:0:28"},"scope":40845,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40844,"nodeType":"FunctionDefinition","src":"10321:476:28","nodes":[],"body":{"id":40843,"nodeType":"Block","src":"10410:387:28","nodes":[],"statements":[{"assignments":[40807],"declarations":[{"constant":false,"id":40807,"mutability":"mutable","name":"currentAllowance","nameLocation":"10428:16:28","nodeType":"VariableDeclaration","scope":40843,"src":"10420:24:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40806,"name":"uint256","nodeType":"ElementaryTypeName","src":"10420:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":40812,"initialValue":{"arguments":[{"id":40809,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40799,"src":"10457:5:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40810,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40801,"src":"10464:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":40808,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40472,"src":"10447:9:28","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":40811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10447:25:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10420:52:28"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40813,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40807,"src":"10486:16:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"id":40816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10510:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":40815,"name":"uint256","nodeType":"ElementaryTypeName","src":"10510:7:28","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":40814,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10505:4:28","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":40817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10505:13:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":40818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10519:3:28","memberName":"max","nodeType":"MemberAccess","src":"10505:17:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10486:36:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40842,"nodeType":"IfStatement","src":"10482:309:28","trueBody":{"id":40841,"nodeType":"Block","src":"10524:267:28","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40820,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40807,"src":"10542:16:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":40821,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40803,"src":"10561:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10542:24:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40830,"nodeType":"IfStatement","src":"10538:130:28","trueBody":{"id":40829,"nodeType":"Block","src":"10568:100:28","statements":[{"errorCall":{"arguments":[{"id":40824,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40801,"src":"10620:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40825,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40807,"src":"10629:16:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":40826,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40803,"src":"10647:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40823,"name":"ERC20InsufficientAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40183,"src":"10593:26:28","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256,uint256) pure returns (error)"}},"id":40827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:60:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40828,"nodeType":"RevertStatement","src":"10586:67:28"}]}},{"id":40840,"nodeType":"UncheckedBlock","src":"10681:100:28","statements":[{"expression":{"arguments":[{"id":40832,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40799,"src":"10718:5:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40833,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40801,"src":"10725:7:28","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40834,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40807,"src":"10734:16:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":40835,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40803,"src":"10753:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10734:24:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":40837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10760:5:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":40831,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[40736,40796],"referencedDeclaration":40796,"src":"10709:8:28","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":40838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10709:57:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40839,"nodeType":"ExpressionStatement","src":"10709:57:28"}]}]}}]},"documentation":{"id":40797,"nodeType":"StructuredDocumentation","src":"10045:271:28","text":" @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n Does not update the allowance value in case of infinite allowance.\n Revert if not enough allowance is available.\n Does not emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"10330:15:28","parameters":{"id":40804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40799,"mutability":"mutable","name":"owner","nameLocation":"10354:5:28","nodeType":"VariableDeclaration","scope":40844,"src":"10346:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40798,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40801,"mutability":"mutable","name":"spender","nameLocation":"10369:7:28","nodeType":"VariableDeclaration","scope":40844,"src":"10361:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40800,"name":"address","nodeType":"ElementaryTypeName","src":"10361:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40803,"mutability":"mutable","name":"value","nameLocation":"10386:5:28","nodeType":"VariableDeclaration","scope":40844,"src":"10378:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40802,"name":"uint256","nodeType":"ElementaryTypeName","src":"10378:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10345:47:28"},"returnParameters":{"id":40805,"nodeType":"ParameterList","parameters":[],"src":"10410:0:28"},"scope":40845,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":40342,"name":"Context","nameLocations":["1133:7:28"],"nodeType":"IdentifierPath","referencedDeclaration":42337,"src":"1133:7:28"},"id":40343,"nodeType":"InheritanceSpecifier","src":"1133:7:28"},{"baseName":{"id":40344,"name":"IERC20","nameLocations":["1142:6:28"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"1142:6:28"},"id":40345,"nodeType":"InheritanceSpecifier","src":"1142:6:28"},{"baseName":{"id":40346,"name":"IERC20Metadata","nameLocations":["1150:14:28"],"nodeType":"IdentifierPath","referencedDeclaration":41103,"src":"1150:14:28"},"id":40347,"nodeType":"InheritanceSpecifier","src":"1150:14:28"},{"baseName":{"id":40348,"name":"IERC20Errors","nameLocations":["1166:12:28"],"nodeType":"IdentifierPath","referencedDeclaration":40194,"src":"1166:12:28"},"id":40349,"nodeType":"InheritanceSpecifier","src":"1166:12:28"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":40341,"nodeType":"StructuredDocumentation","src":"348:757:28","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC-20\n applications."},"fullyImplemented":true,"linearizedBaseContracts":[40845,40194,41103,40923,42337],"name":"ERC20","nameLocation":"1124:5:28","scope":40846,"usedErrors":[40164,40169,40174,40183,40188,40193],"usedEvents":[40857,40866]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"id":29,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":40924,"exportedSymbols":{"IERC20":[40923]},"nodeType":"SourceUnit","src":"106:2675:29","nodes":[{"id":40847,"nodeType":"PragmaDirective","src":"106:25:29","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":40923,"nodeType":"ContractDefinition","src":"205:2575:29","nodes":[{"id":40857,"nodeType":"EventDefinition","src":"391:72:29","nodes":[],"anonymous":false,"documentation":{"id":40849,"nodeType":"StructuredDocumentation","src":"228:158:29","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"397:8:29","parameters":{"id":40856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40851,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"422:4:29","nodeType":"VariableDeclaration","scope":40857,"src":"406:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40850,"name":"address","nodeType":"ElementaryTypeName","src":"406:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40853,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"444:2:29","nodeType":"VariableDeclaration","scope":40857,"src":"428:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40852,"name":"address","nodeType":"ElementaryTypeName","src":"428:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40855,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"456:5:29","nodeType":"VariableDeclaration","scope":40857,"src":"448:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40854,"name":"uint256","nodeType":"ElementaryTypeName","src":"448:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"405:57:29"}},{"id":40866,"nodeType":"EventDefinition","src":"622:78:29","nodes":[],"anonymous":false,"documentation":{"id":40858,"nodeType":"StructuredDocumentation","src":"469:148:29","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"628:8:29","parameters":{"id":40865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40860,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"653:5:29","nodeType":"VariableDeclaration","scope":40866,"src":"637:21:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40859,"name":"address","nodeType":"ElementaryTypeName","src":"637:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40862,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"676:7:29","nodeType":"VariableDeclaration","scope":40866,"src":"660:23:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40861,"name":"address","nodeType":"ElementaryTypeName","src":"660:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40864,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"693:5:29","nodeType":"VariableDeclaration","scope":40866,"src":"685:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40863,"name":"uint256","nodeType":"ElementaryTypeName","src":"685:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"636:63:29"}},{"id":40872,"nodeType":"FunctionDefinition","src":"776:55:29","nodes":[],"documentation":{"id":40867,"nodeType":"StructuredDocumentation","src":"706:65:29","text":" @dev Returns the value of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"785:11:29","parameters":{"id":40868,"nodeType":"ParameterList","parameters":[],"src":"796:2:29"},"returnParameters":{"id":40871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40870,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40872,"src":"822:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40869,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:9:29"},"scope":40923,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":40880,"nodeType":"FunctionDefinition","src":"913:68:29","nodes":[],"documentation":{"id":40873,"nodeType":"StructuredDocumentation","src":"837:71:29","text":" @dev Returns the value of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"922:9:29","parameters":{"id":40876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40875,"mutability":"mutable","name":"account","nameLocation":"940:7:29","nodeType":"VariableDeclaration","scope":40880,"src":"932:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40874,"name":"address","nodeType":"ElementaryTypeName","src":"932:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"931:17:29"},"returnParameters":{"id":40879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40878,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40880,"src":"972:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40877,"name":"uint256","nodeType":"ElementaryTypeName","src":"972:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"971:9:29"},"scope":40923,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":40890,"nodeType":"FunctionDefinition","src":"1205:69:29","nodes":[],"documentation":{"id":40881,"nodeType":"StructuredDocumentation","src":"987:213:29","text":" @dev Moves a `value` amount of tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1214:8:29","parameters":{"id":40886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40883,"mutability":"mutable","name":"to","nameLocation":"1231:2:29","nodeType":"VariableDeclaration","scope":40890,"src":"1223:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40882,"name":"address","nodeType":"ElementaryTypeName","src":"1223:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40885,"mutability":"mutable","name":"value","nameLocation":"1243:5:29","nodeType":"VariableDeclaration","scope":40890,"src":"1235:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40884,"name":"uint256","nodeType":"ElementaryTypeName","src":"1235:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1222:27:29"},"returnParameters":{"id":40889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40890,"src":"1268:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40887,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:29"},"scope":40923,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":40900,"nodeType":"FunctionDefinition","src":"1549:83:29","nodes":[],"documentation":{"id":40891,"nodeType":"StructuredDocumentation","src":"1280:264:29","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:29","parameters":{"id":40896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40893,"mutability":"mutable","name":"owner","nameLocation":"1576:5:29","nodeType":"VariableDeclaration","scope":40900,"src":"1568:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40892,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40895,"mutability":"mutable","name":"spender","nameLocation":"1591:7:29","nodeType":"VariableDeclaration","scope":40900,"src":"1583:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40894,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:29"},"returnParameters":{"id":40899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40898,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40900,"src":"1623:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40897,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:29"},"scope":40923,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":40910,"nodeType":"FunctionDefinition","src":"2310:73:29","nodes":[],"documentation":{"id":40901,"nodeType":"StructuredDocumentation","src":"1638:667:29","text":" @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2319:7:29","parameters":{"id":40906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40903,"mutability":"mutable","name":"spender","nameLocation":"2335:7:29","nodeType":"VariableDeclaration","scope":40910,"src":"2327:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40902,"name":"address","nodeType":"ElementaryTypeName","src":"2327:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40905,"mutability":"mutable","name":"value","nameLocation":"2352:5:29","nodeType":"VariableDeclaration","scope":40910,"src":"2344:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40904,"name":"uint256","nodeType":"ElementaryTypeName","src":"2344:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2326:32:29"},"returnParameters":{"id":40909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40908,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40910,"src":"2377:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40907,"name":"bool","nodeType":"ElementaryTypeName","src":"2377:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2376:6:29"},"scope":40923,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":40922,"nodeType":"FunctionDefinition","src":"2691:87:29","nodes":[],"documentation":{"id":40911,"nodeType":"StructuredDocumentation","src":"2389:297:29","text":" @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2700:12:29","parameters":{"id":40918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40913,"mutability":"mutable","name":"from","nameLocation":"2721:4:29","nodeType":"VariableDeclaration","scope":40922,"src":"2713:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40912,"name":"address","nodeType":"ElementaryTypeName","src":"2713:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40915,"mutability":"mutable","name":"to","nameLocation":"2735:2:29","nodeType":"VariableDeclaration","scope":40922,"src":"2727:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40914,"name":"address","nodeType":"ElementaryTypeName","src":"2727:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40917,"mutability":"mutable","name":"value","nameLocation":"2747:5:29","nodeType":"VariableDeclaration","scope":40922,"src":"2739:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40916,"name":"uint256","nodeType":"ElementaryTypeName","src":"2739:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2712:41:29"},"returnParameters":{"id":40921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40920,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40922,"src":"2772:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40919,"name":"bool","nodeType":"ElementaryTypeName","src":"2772:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2771:6:29"},"scope":40923,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":40848,"nodeType":"StructuredDocumentation","src":"133:71:29","text":" @dev Interface of the ERC-20 standard as defined in the ERC."},"fullyImplemented":false,"linearizedBaseContracts":[40923],"name":"IERC20","nameLocation":"215:6:29","scope":40924,"usedErrors":[],"usedEvents":[40857,40866]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"id":30,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol","id":41078,"exportedSymbols":{"ECDSA":[44850],"EIP712":[45077],"ERC20":[40845],"ERC20Permit":[41077],"IERC20Permit":[41139],"Nonces":[42405]},"nodeType":"SourceUnit","src":"122:2599:30","nodes":[{"id":40925,"nodeType":"PragmaDirective","src":"122:24:30","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":40927,"nodeType":"ImportDirective","src":"148:48:30","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"./IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":41078,"sourceUnit":41140,"symbolAliases":[{"foreign":{"id":40926,"name":"IERC20Permit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41139,"src":"156:12:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40929,"nodeType":"ImportDirective","src":"197:35:30","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"../ERC20.sol","nameLocation":"-1:-1:-1","scope":41078,"sourceUnit":40846,"symbolAliases":[{"foreign":{"id":40928,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40845,"src":"205:5:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40931,"nodeType":"ImportDirective","src":"233:60:30","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol","file":"../../../utils/cryptography/ECDSA.sol","nameLocation":"-1:-1:-1","scope":41078,"sourceUnit":44851,"symbolAliases":[{"foreign":{"id":40930,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44850,"src":"241:5:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40933,"nodeType":"ImportDirective","src":"294:62:30","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol","file":"../../../utils/cryptography/EIP712.sol","nameLocation":"-1:-1:-1","scope":41078,"sourceUnit":45078,"symbolAliases":[{"foreign":{"id":40932,"name":"EIP712","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45077,"src":"302:6:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40935,"nodeType":"ImportDirective","src":"357:49:30","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Nonces.sol","file":"../../../utils/Nonces.sol","nameLocation":"-1:-1:-1","scope":41078,"sourceUnit":42406,"symbolAliases":[{"foreign":{"id":40934,"name":"Nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42405,"src":"365:6:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41077,"nodeType":"ContractDefinition","src":"898:1822:30","nodes":[{"id":40949,"nodeType":"VariableDeclaration","src":"973:146:30","nodes":[],"constant":true,"mutability":"constant","name":"PERMIT_TYPEHASH","nameLocation":"998:15:30","scope":41077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"973:7:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":40947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1034:84:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":40946,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1024:9:30","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":40948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1024:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":40954,"nodeType":"ErrorDefinition","src":"1183:48:30","nodes":[],"documentation":{"id":40950,"nodeType":"StructuredDocumentation","src":"1126:52:30","text":" @dev Permit deadline has expired."},"errorSelector":"62791302","name":"ERC2612ExpiredSignature","nameLocation":"1189:23:30","parameters":{"id":40953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40952,"mutability":"mutable","name":"deadline","nameLocation":"1221:8:30","nodeType":"VariableDeclaration","scope":40954,"src":"1213:16:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40951,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1212:18:30"}},{"id":40961,"nodeType":"ErrorDefinition","src":"1287:58:30","nodes":[],"documentation":{"id":40955,"nodeType":"StructuredDocumentation","src":"1237:45:30","text":" @dev Mismatched signature."},"errorSelector":"4b800e46","name":"ERC2612InvalidSigner","nameLocation":"1293:20:30","parameters":{"id":40960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40957,"mutability":"mutable","name":"signer","nameLocation":"1322:6:30","nodeType":"VariableDeclaration","scope":40961,"src":"1314:14:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40956,"name":"address","nodeType":"ElementaryTypeName","src":"1314:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40959,"mutability":"mutable","name":"owner","nameLocation":"1338:5:30","nodeType":"VariableDeclaration","scope":40961,"src":"1330:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40958,"name":"address","nodeType":"ElementaryTypeName","src":"1330:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1313:31:30"}},{"id":40972,"nodeType":"FunctionDefinition","src":"1577:52:30","nodes":[],"body":{"id":40971,"nodeType":"Block","src":"1627:2:30","nodes":[],"statements":[]},"documentation":{"id":40962,"nodeType":"StructuredDocumentation","src":"1351:221:30","text":" @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`.\n It's a good idea to use the same `name` that is defined as the ERC-20 token name."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":40967,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40964,"src":"1616:4:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"31","id":40968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1622:3:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"id":40969,"kind":"baseConstructorSpecifier","modifierName":{"id":40966,"name":"EIP712","nameLocations":["1609:6:30"],"nodeType":"IdentifierPath","referencedDeclaration":45077,"src":"1609:6:30"},"nodeType":"ModifierInvocation","src":"1609:17:30"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":40965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40964,"mutability":"mutable","name":"name","nameLocation":"1603:4:30","nodeType":"VariableDeclaration","scope":40972,"src":"1589:18:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40963,"name":"string","nodeType":"ElementaryTypeName","src":"1589:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1588:20:30"},"returnParameters":{"id":40970,"nodeType":"ParameterList","parameters":[],"src":"1627:0:30"},"scope":41077,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41049,"nodeType":"FunctionDefinition","src":"1668:672:30","nodes":[],"body":{"id":41048,"nodeType":"Block","src":"1857:483:30","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":40990,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1871:5:30","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":40991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1877:9:30","memberName":"timestamp","nodeType":"MemberAccess","src":"1871:15:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":40992,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40981,"src":"1889:8:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1871:26:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40999,"nodeType":"IfStatement","src":"1867:97:30","trueBody":{"id":40998,"nodeType":"Block","src":"1899:65:30","statements":[{"errorCall":{"arguments":[{"id":40995,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40981,"src":"1944:8:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40994,"name":"ERC2612ExpiredSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40954,"src":"1920:23:30","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":40996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:33:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40997,"nodeType":"RevertStatement","src":"1913:40:30"}]}},{"assignments":[41001],"declarations":[{"constant":false,"id":41001,"mutability":"mutable","name":"structHash","nameLocation":"1982:10:30","nodeType":"VariableDeclaration","scope":41048,"src":"1974:18:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41000,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1974:7:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41015,"initialValue":{"arguments":[{"arguments":[{"id":41005,"name":"PERMIT_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40949,"src":"2016:15:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":41006,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40975,"src":"2033:5:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41007,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40977,"src":"2040:7:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41008,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40979,"src":"2049:5:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":41010,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40975,"src":"2066:5:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41009,"name":"_useNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42379,"src":"2056:9:30","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":41011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2056:16:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":41012,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40981,"src":"2074:8:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41003,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2005:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":41004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2009:6:30","memberName":"encode","nodeType":"MemberAccess","src":"2005:10:30","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":41013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2005:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":41002,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1995:9:30","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":41014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1995:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1974:110:30"},{"assignments":[41017],"declarations":[{"constant":false,"id":41017,"mutability":"mutable","name":"hash","nameLocation":"2103:4:30","nodeType":"VariableDeclaration","scope":41048,"src":"2095:12:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2095:7:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41021,"initialValue":{"arguments":[{"id":41019,"name":"structHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41001,"src":"2127:10:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":41018,"name":"_hashTypedDataV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45010,"src":"2110:16:30","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":41020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:28:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2095:43:30"},{"assignments":[41023],"declarations":[{"constant":false,"id":41023,"mutability":"mutable","name":"signer","nameLocation":"2157:6:30","nodeType":"VariableDeclaration","scope":41048,"src":"2149:14:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41022,"name":"address","nodeType":"ElementaryTypeName","src":"2149:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":41031,"initialValue":{"arguments":[{"id":41026,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41017,"src":"2180:4:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":41027,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40983,"src":"2186:1:30","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":41028,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40985,"src":"2189:1:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":41029,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40987,"src":"2192:1:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":41024,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44850,"src":"2166:5:30","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$44850_$","typeString":"type(library ECDSA)"}},"id":41025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2172:7:30","memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":44772,"src":"2166:13:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":41030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2166:28:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2149:45:30"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":41034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41032,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41023,"src":"2208:6:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":41033,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40975,"src":"2218:5:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2208:15:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41041,"nodeType":"IfStatement","src":"2204:88:30","trueBody":{"id":41040,"nodeType":"Block","src":"2225:67:30","statements":[{"errorCall":{"arguments":[{"id":41036,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41023,"src":"2267:6:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41037,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40975,"src":"2275:5:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":41035,"name":"ERC2612InvalidSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40961,"src":"2246:20:30","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$_t_error_$","typeString":"function (address,address) pure returns (error)"}},"id":41038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2246:35:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41039,"nodeType":"RevertStatement","src":"2239:42:30"}]}},{"expression":{"arguments":[{"id":41043,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40975,"src":"2311:5:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41044,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40977,"src":"2318:7:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41045,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40979,"src":"2327:5:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41042,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[40736,40796],"referencedDeclaration":40736,"src":"2302:8:30","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":41046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2302:31:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41047,"nodeType":"ExpressionStatement","src":"2302:31:30"}]},"baseFunctions":[41124],"documentation":{"id":40973,"nodeType":"StructuredDocumentation","src":"1635:28:30","text":"@inheritdoc IERC20Permit"},"functionSelector":"d505accf","implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1677:6:30","parameters":{"id":40988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40975,"mutability":"mutable","name":"owner","nameLocation":"1701:5:30","nodeType":"VariableDeclaration","scope":41049,"src":"1693:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40974,"name":"address","nodeType":"ElementaryTypeName","src":"1693:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40977,"mutability":"mutable","name":"spender","nameLocation":"1724:7:30","nodeType":"VariableDeclaration","scope":41049,"src":"1716:15:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40976,"name":"address","nodeType":"ElementaryTypeName","src":"1716:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40979,"mutability":"mutable","name":"value","nameLocation":"1749:5:30","nodeType":"VariableDeclaration","scope":41049,"src":"1741:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40978,"name":"uint256","nodeType":"ElementaryTypeName","src":"1741:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40981,"mutability":"mutable","name":"deadline","nameLocation":"1772:8:30","nodeType":"VariableDeclaration","scope":41049,"src":"1764:16:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40980,"name":"uint256","nodeType":"ElementaryTypeName","src":"1764:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40983,"mutability":"mutable","name":"v","nameLocation":"1796:1:30","nodeType":"VariableDeclaration","scope":41049,"src":"1790:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":40982,"name":"uint8","nodeType":"ElementaryTypeName","src":"1790:5:30","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":40985,"mutability":"mutable","name":"r","nameLocation":"1815:1:30","nodeType":"VariableDeclaration","scope":41049,"src":"1807:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40984,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1807:7:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40987,"mutability":"mutable","name":"s","nameLocation":"1834:1:30","nodeType":"VariableDeclaration","scope":41049,"src":"1826:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1826:7:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1683:158:30"},"returnParameters":{"id":40989,"nodeType":"ParameterList","parameters":[],"src":"1857:0:30"},"scope":41077,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":41066,"nodeType":"FunctionDefinition","src":"2379:143:30","nodes":[],"body":{"id":41065,"nodeType":"Block","src":"2479:43:30","nodes":[],"statements":[{"expression":{"arguments":[{"id":41062,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41052,"src":"2509:5:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":41060,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2496:5:30","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Permit_$41077_$","typeString":"type(contract super ERC20Permit)"}},"id":41061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2502:6:30","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":42364,"src":"2496:12:30","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":41063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2496:19:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41059,"id":41064,"nodeType":"Return","src":"2489:26:30"}]},"baseFunctions":[41132,42364],"documentation":{"id":41050,"nodeType":"StructuredDocumentation","src":"2346:28:30","text":"@inheritdoc IERC20Permit"},"functionSelector":"7ecebe00","implemented":true,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"2388:6:30","overrides":{"id":41056,"nodeType":"OverrideSpecifier","overrides":[{"id":41054,"name":"IERC20Permit","nameLocations":["2439:12:30"],"nodeType":"IdentifierPath","referencedDeclaration":41139,"src":"2439:12:30"},{"id":41055,"name":"Nonces","nameLocations":["2453:6:30"],"nodeType":"IdentifierPath","referencedDeclaration":42405,"src":"2453:6:30"}],"src":"2430:30:30"},"parameters":{"id":41053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41052,"mutability":"mutable","name":"owner","nameLocation":"2403:5:30","nodeType":"VariableDeclaration","scope":41066,"src":"2395:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41051,"name":"address","nodeType":"ElementaryTypeName","src":"2395:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2394:15:30"},"returnParameters":{"id":41059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41058,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41066,"src":"2470:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41057,"name":"uint256","nodeType":"ElementaryTypeName","src":"2470:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2469:9:30"},"scope":41077,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":41076,"nodeType":"FunctionDefinition","src":"2614:104:30","nodes":[],"body":{"id":41075,"nodeType":"Block","src":"2674:44:30","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":41072,"name":"_domainSeparatorV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44973,"src":"2691:18:30","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":41073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2691:20:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":41071,"id":41074,"nodeType":"Return","src":"2684:27:30"}]},"baseFunctions":[41138],"documentation":{"id":41067,"nodeType":"StructuredDocumentation","src":"2528:28:30","text":"@inheritdoc IERC20Permit"},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2623:16:30","parameters":{"id":41068,"nodeType":"ParameterList","parameters":[],"src":"2639:2:30"},"returnParameters":{"id":41071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41076,"src":"2665:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2665:7:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2664:9:30"},"scope":41077,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":true,"baseContracts":[{"baseName":{"id":40937,"name":"ERC20","nameLocations":["931:5:30"],"nodeType":"IdentifierPath","referencedDeclaration":40845,"src":"931:5:30"},"id":40938,"nodeType":"InheritanceSpecifier","src":"931:5:30"},{"baseName":{"id":40939,"name":"IERC20Permit","nameLocations":["938:12:30"],"nodeType":"IdentifierPath","referencedDeclaration":41139,"src":"938:12:30"},"id":40940,"nodeType":"InheritanceSpecifier","src":"938:12:30"},{"baseName":{"id":40941,"name":"EIP712","nameLocations":["952:6:30"],"nodeType":"IdentifierPath","referencedDeclaration":45077,"src":"952:6:30"},"id":40942,"nodeType":"InheritanceSpecifier","src":"952:6:30"},{"baseName":{"id":40943,"name":"Nonces","nameLocations":["960:6:30"],"nodeType":"IdentifierPath","referencedDeclaration":42405,"src":"960:6:30"},"id":40944,"nodeType":"InheritanceSpecifier","src":"960:6:30"}],"canonicalName":"ERC20Permit","contractDependencies":[],"contractKind":"contract","documentation":{"id":40936,"nodeType":"StructuredDocumentation","src":"408:489:30","text":" @dev Implementation of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."},"fullyImplemented":true,"linearizedBaseContracts":[41077,42405,45077,40152,41139,40845,40194,41103,40923,42337],"name":"ERC20Permit","nameLocation":"916:11:30","scope":41078,"usedErrors":[40164,40169,40174,40183,40188,40193,40954,40961,42347,42584,42586,44402,44407,44412],"usedEvents":[40132,40857,40866]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"id":31,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":41104,"exportedSymbols":{"IERC20":[40923],"IERC20Metadata":[41103]},"nodeType":"SourceUnit","src":"125:559:31","nodes":[{"id":41079,"nodeType":"PragmaDirective","src":"125:24:31","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":41081,"nodeType":"ImportDirective","src":"151:37:31","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":41104,"sourceUnit":40924,"symbolAliases":[{"foreign":{"id":41080,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"159:6:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41103,"nodeType":"ContractDefinition","src":"278:405:31","nodes":[{"id":41090,"nodeType":"FunctionDefinition","src":"378:54:31","nodes":[],"documentation":{"id":41085,"nodeType":"StructuredDocumentation","src":"319:54:31","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"387:4:31","parameters":{"id":41086,"nodeType":"ParameterList","parameters":[],"src":"391:2:31"},"returnParameters":{"id":41089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41088,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41090,"src":"417:13:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41087,"name":"string","nodeType":"ElementaryTypeName","src":"417:6:31","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"416:15:31"},"scope":41103,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41096,"nodeType":"FunctionDefinition","src":"499:56:31","nodes":[],"documentation":{"id":41091,"nodeType":"StructuredDocumentation","src":"438:56:31","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"508:6:31","parameters":{"id":41092,"nodeType":"ParameterList","parameters":[],"src":"514:2:31"},"returnParameters":{"id":41095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41096,"src":"540:13:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41093,"name":"string","nodeType":"ElementaryTypeName","src":"540:6:31","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"539:15:31"},"scope":41103,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41102,"nodeType":"FunctionDefinition","src":"631:50:31","nodes":[],"documentation":{"id":41097,"nodeType":"StructuredDocumentation","src":"561:65:31","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"640:8:31","parameters":{"id":41098,"nodeType":"ParameterList","parameters":[],"src":"648:2:31"},"returnParameters":{"id":41101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41100,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41102,"src":"674:5:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":41099,"name":"uint8","nodeType":"ElementaryTypeName","src":"674:5:31","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"673:7:31"},"scope":41103,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":41083,"name":"IERC20","nameLocations":["306:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"306:6:31"},"id":41084,"nodeType":"InheritanceSpecifier","src":"306:6:31"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":41082,"nodeType":"StructuredDocumentation","src":"190:87:31","text":" @dev Interface for the optional metadata functions from the ERC-20 standard."},"fullyImplemented":false,"linearizedBaseContracts":[41103,40923],"name":"IERC20Metadata","nameLocation":"288:14:31","scope":41104,"usedErrors":[],"usedEvents":[40857,40866]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"id":32,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","id":41140,"exportedSymbols":{"IERC20Permit":[41139]},"nodeType":"SourceUnit","src":"123:3685:32","nodes":[{"id":41105,"nodeType":"PragmaDirective","src":"123:25:32","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":41139,"nodeType":"ContractDefinition","src":"2116:1691:32","nodes":[{"id":41124,"nodeType":"FunctionDefinition","src":"3002:183:32","nodes":[],"documentation":{"id":41107,"nodeType":"StructuredDocumentation","src":"2145:852:32","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also applies here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section].\n CAUTION: See Security Considerations above."},"functionSelector":"d505accf","implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"3011:6:32","parameters":{"id":41122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41109,"mutability":"mutable","name":"owner","nameLocation":"3035:5:32","nodeType":"VariableDeclaration","scope":41124,"src":"3027:13:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41108,"name":"address","nodeType":"ElementaryTypeName","src":"3027:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41111,"mutability":"mutable","name":"spender","nameLocation":"3058:7:32","nodeType":"VariableDeclaration","scope":41124,"src":"3050:15:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41110,"name":"address","nodeType":"ElementaryTypeName","src":"3050:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41113,"mutability":"mutable","name":"value","nameLocation":"3083:5:32","nodeType":"VariableDeclaration","scope":41124,"src":"3075:13:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41112,"name":"uint256","nodeType":"ElementaryTypeName","src":"3075:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41115,"mutability":"mutable","name":"deadline","nameLocation":"3106:8:32","nodeType":"VariableDeclaration","scope":41124,"src":"3098:16:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41114,"name":"uint256","nodeType":"ElementaryTypeName","src":"3098:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41117,"mutability":"mutable","name":"v","nameLocation":"3130:1:32","nodeType":"VariableDeclaration","scope":41124,"src":"3124:7:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":41116,"name":"uint8","nodeType":"ElementaryTypeName","src":"3124:5:32","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":41119,"mutability":"mutable","name":"r","nameLocation":"3149:1:32","nodeType":"VariableDeclaration","scope":41124,"src":"3141:9:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3141:7:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41121,"mutability":"mutable","name":"s","nameLocation":"3168:1:32","nodeType":"VariableDeclaration","scope":41124,"src":"3160:9:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3160:7:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3017:158:32"},"returnParameters":{"id":41123,"nodeType":"ParameterList","parameters":[],"src":"3184:0:32"},"scope":41139,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41132,"nodeType":"FunctionDefinition","src":"3490:63:32","nodes":[],"documentation":{"id":41125,"nodeType":"StructuredDocumentation","src":"3191:294:32","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"3499:6:32","parameters":{"id":41128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41127,"mutability":"mutable","name":"owner","nameLocation":"3514:5:32","nodeType":"VariableDeclaration","scope":41132,"src":"3506:13:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41126,"name":"address","nodeType":"ElementaryTypeName","src":"3506:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3505:15:32"},"returnParameters":{"id":41131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41130,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41132,"src":"3544:7:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41129,"name":"uint256","nodeType":"ElementaryTypeName","src":"3544:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3543:9:32"},"scope":41139,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41138,"nodeType":"FunctionDefinition","src":"3745:60:32","nodes":[],"documentation":{"id":41133,"nodeType":"StructuredDocumentation","src":"3559:128:32","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"3754:16:32","parameters":{"id":41134,"nodeType":"ParameterList","parameters":[],"src":"3770:2:32"},"returnParameters":{"id":41137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41138,"src":"3796:7:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3796:7:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3795:9:32"},"scope":41139,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":41106,"nodeType":"StructuredDocumentation","src":"150:1965:32","text":" @dev Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all.\n ==== Security Considerations\n There are two important considerations concerning the use of `permit`. The first is that a valid permit signature\n expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be\n considered as an intention to spend the allowance in any specific way. The second is that because permits have\n built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should\n take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be\n generally recommended is:\n ```solidity\n function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {\n try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}\n doThing(..., value);\n }\n function doThing(..., uint256 value) public {\n token.safeTransferFrom(msg.sender, address(this), value);\n ...\n }\n ```\n Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of\n `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also\n {SafeERC20-safeTransferFrom}).\n Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so\n contracts should have entry points that don't rely on permit."},"fullyImplemented":false,"linearizedBaseContracts":[41139],"name":"IERC20Permit","nameLocation":"2126:12:32","scope":41140,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"id":33,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":41595,"exportedSymbols":{"IERC1363":[40119],"IERC20":[40923],"SafeERC20":[41594]},"nodeType":"SourceUnit","src":"115:13199:33","nodes":[{"id":41141,"nodeType":"PragmaDirective","src":"115:24:33","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":41143,"nodeType":"ImportDirective","src":"141:37:33","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":41595,"sourceUnit":40924,"symbolAliases":[{"foreign":{"id":41142,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"149:6:33","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41145,"nodeType":"ImportDirective","src":"179:58:33","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","file":"../../../interfaces/IERC1363.sol","nameLocation":"-1:-1:-1","scope":41595,"sourceUnit":40120,"symbolAliases":[{"foreign":{"id":41144,"name":"IERC1363","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40119,"src":"187:8:33","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41594,"nodeType":"ContractDefinition","src":"698:12615:33","nodes":[{"id":41151,"nodeType":"ErrorDefinition","src":"792:46:33","nodes":[],"documentation":{"id":41147,"nodeType":"StructuredDocumentation","src":"722:65:33","text":" @dev An operation with an ERC-20 token failed."},"errorSelector":"5274afe7","name":"SafeERC20FailedOperation","nameLocation":"798:24:33","parameters":{"id":41150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41149,"mutability":"mutable","name":"token","nameLocation":"831:5:33","nodeType":"VariableDeclaration","scope":41151,"src":"823:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41148,"name":"address","nodeType":"ElementaryTypeName","src":"823:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"822:15:33"}},{"id":41160,"nodeType":"ErrorDefinition","src":"920:109:33","nodes":[],"documentation":{"id":41152,"nodeType":"StructuredDocumentation","src":"844:71:33","text":" @dev Indicates a failed `decreaseAllowance` request."},"errorSelector":"e570110f","name":"SafeERC20FailedDecreaseAllowance","nameLocation":"926:32:33","parameters":{"id":41159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41154,"mutability":"mutable","name":"spender","nameLocation":"967:7:33","nodeType":"VariableDeclaration","scope":41160,"src":"959:15:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41153,"name":"address","nodeType":"ElementaryTypeName","src":"959:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41156,"mutability":"mutable","name":"currentAllowance","nameLocation":"984:16:33","nodeType":"VariableDeclaration","scope":41160,"src":"976:24:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41155,"name":"uint256","nodeType":"ElementaryTypeName","src":"976:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41158,"mutability":"mutable","name":"requestedDecrease","nameLocation":"1010:17:33","nodeType":"VariableDeclaration","scope":41160,"src":"1002:25:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41157,"name":"uint256","nodeType":"ElementaryTypeName","src":"1002:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"958:70:33"}},{"id":41188,"nodeType":"FunctionDefinition","src":"1219:204:33","nodes":[],"body":{"id":41187,"nodeType":"Block","src":"1291:132:33","nodes":[],"statements":[{"condition":{"id":41177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1305:38:33","subExpression":{"arguments":[{"id":41172,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41164,"src":"1320:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":41173,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41166,"src":"1327:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41174,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41168,"src":"1331:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":41175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1338:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":41171,"name":"_safeTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41545,"src":"1306:13:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$","typeString":"function (contract IERC20,address,uint256,bool) returns (bool)"}},"id":41176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1306:37:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41186,"nodeType":"IfStatement","src":"1301:116:33","trueBody":{"id":41185,"nodeType":"Block","src":"1345:72:33","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":41181,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41164,"src":"1399:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}],"id":41180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1391:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41179,"name":"address","nodeType":"ElementaryTypeName","src":"1391:7:33","typeDescriptions":{}}},"id":41182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1391:14:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41178,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41151,"src":"1366:24:33","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1366:40:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41184,"nodeType":"RevertStatement","src":"1359:47:33"}]}}]},"documentation":{"id":41161,"nodeType":"StructuredDocumentation","src":"1035:179:33","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"1228:12:33","parameters":{"id":41169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41164,"mutability":"mutable","name":"token","nameLocation":"1248:5:33","nodeType":"VariableDeclaration","scope":41188,"src":"1241:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41163,"nodeType":"UserDefinedTypeName","pathNode":{"id":41162,"name":"IERC20","nameLocations":["1241:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"1241:6:33"},"referencedDeclaration":40923,"src":"1241:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41166,"mutability":"mutable","name":"to","nameLocation":"1263:2:33","nodeType":"VariableDeclaration","scope":41188,"src":"1255:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41165,"name":"address","nodeType":"ElementaryTypeName","src":"1255:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41168,"mutability":"mutable","name":"value","nameLocation":"1275:5:33","nodeType":"VariableDeclaration","scope":41188,"src":"1267:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41167,"name":"uint256","nodeType":"ElementaryTypeName","src":"1267:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1240:41:33"},"returnParameters":{"id":41170,"nodeType":"ParameterList","parameters":[],"src":"1291:0:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41219,"nodeType":"FunctionDefinition","src":"1662:232:33","nodes":[],"body":{"id":41218,"nodeType":"Block","src":"1752:142:33","nodes":[],"statements":[{"condition":{"id":41208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1766:48:33","subExpression":{"arguments":[{"id":41202,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41192,"src":"1785:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":41203,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41194,"src":"1792:4:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41204,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41196,"src":"1798:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41205,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41198,"src":"1802:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":41206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1809:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":41201,"name":"_safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41570,"src":"1767:17:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$","typeString":"function (contract IERC20,address,address,uint256,bool) returns (bool)"}},"id":41207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1767:47:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41217,"nodeType":"IfStatement","src":"1762:126:33","trueBody":{"id":41216,"nodeType":"Block","src":"1816:72:33","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":41212,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41192,"src":"1870:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}],"id":41211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1862:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41210,"name":"address","nodeType":"ElementaryTypeName","src":"1862:7:33","typeDescriptions":{}}},"id":41213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1862:14:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41209,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41151,"src":"1837:24:33","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1837:40:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41215,"nodeType":"RevertStatement","src":"1830:47:33"}]}}]},"documentation":{"id":41189,"nodeType":"StructuredDocumentation","src":"1429:228:33","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1671:16:33","parameters":{"id":41199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41192,"mutability":"mutable","name":"token","nameLocation":"1695:5:33","nodeType":"VariableDeclaration","scope":41219,"src":"1688:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41191,"nodeType":"UserDefinedTypeName","pathNode":{"id":41190,"name":"IERC20","nameLocations":["1688:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"1688:6:33"},"referencedDeclaration":40923,"src":"1688:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41194,"mutability":"mutable","name":"from","nameLocation":"1710:4:33","nodeType":"VariableDeclaration","scope":41219,"src":"1702:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41193,"name":"address","nodeType":"ElementaryTypeName","src":"1702:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41196,"mutability":"mutable","name":"to","nameLocation":"1724:2:33","nodeType":"VariableDeclaration","scope":41219,"src":"1716:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41195,"name":"address","nodeType":"ElementaryTypeName","src":"1716:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41198,"mutability":"mutable","name":"value","nameLocation":"1736:5:33","nodeType":"VariableDeclaration","scope":41219,"src":"1728:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41197,"name":"uint256","nodeType":"ElementaryTypeName","src":"1728:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1687:55:33"},"returnParameters":{"id":41200,"nodeType":"ParameterList","parameters":[],"src":"1752:0:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41240,"nodeType":"FunctionDefinition","src":"2031:152:33","nodes":[],"body":{"id":41239,"nodeType":"Block","src":"2121:62:33","nodes":[],"statements":[{"expression":{"arguments":[{"id":41233,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41223,"src":"2152:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":41234,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41225,"src":"2159:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41235,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41227,"src":"2163:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":41236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2170:5:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":41232,"name":"_safeTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41545,"src":"2138:13:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$","typeString":"function (contract IERC20,address,uint256,bool) returns (bool)"}},"id":41237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2138:38:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":41231,"id":41238,"nodeType":"Return","src":"2131:45:33"}]},"documentation":{"id":41220,"nodeType":"StructuredDocumentation","src":"1900:126:33","text":" @dev Variant of {safeTransfer} that returns a bool instead of reverting if the operation is not successful."},"implemented":true,"kind":"function","modifiers":[],"name":"trySafeTransfer","nameLocation":"2040:15:33","parameters":{"id":41228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41223,"mutability":"mutable","name":"token","nameLocation":"2063:5:33","nodeType":"VariableDeclaration","scope":41240,"src":"2056:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41222,"nodeType":"UserDefinedTypeName","pathNode":{"id":41221,"name":"IERC20","nameLocations":["2056:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"2056:6:33"},"referencedDeclaration":40923,"src":"2056:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41225,"mutability":"mutable","name":"to","nameLocation":"2078:2:33","nodeType":"VariableDeclaration","scope":41240,"src":"2070:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41224,"name":"address","nodeType":"ElementaryTypeName","src":"2070:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41227,"mutability":"mutable","name":"value","nameLocation":"2090:5:33","nodeType":"VariableDeclaration","scope":41240,"src":"2082:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41226,"name":"uint256","nodeType":"ElementaryTypeName","src":"2082:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2055:41:33"},"returnParameters":{"id":41231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41240,"src":"2115:4:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41229,"name":"bool","nodeType":"ElementaryTypeName","src":"2115:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2114:6:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41264,"nodeType":"FunctionDefinition","src":"2324:180:33","nodes":[],"body":{"id":41263,"nodeType":"Block","src":"2432:72:33","nodes":[],"statements":[{"expression":{"arguments":[{"id":41256,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41244,"src":"2467:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":41257,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41246,"src":"2474:4:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41258,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41248,"src":"2480:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41259,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41250,"src":"2484:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":41260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2491:5:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":41255,"name":"_safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41570,"src":"2449:17:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$","typeString":"function (contract IERC20,address,address,uint256,bool) returns (bool)"}},"id":41261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2449:48:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":41254,"id":41262,"nodeType":"Return","src":"2442:55:33"}]},"documentation":{"id":41241,"nodeType":"StructuredDocumentation","src":"2189:130:33","text":" @dev Variant of {safeTransferFrom} that returns a bool instead of reverting if the operation is not successful."},"implemented":true,"kind":"function","modifiers":[],"name":"trySafeTransferFrom","nameLocation":"2333:19:33","parameters":{"id":41251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41244,"mutability":"mutable","name":"token","nameLocation":"2360:5:33","nodeType":"VariableDeclaration","scope":41264,"src":"2353:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41243,"nodeType":"UserDefinedTypeName","pathNode":{"id":41242,"name":"IERC20","nameLocations":["2353:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"2353:6:33"},"referencedDeclaration":40923,"src":"2353:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41246,"mutability":"mutable","name":"from","nameLocation":"2375:4:33","nodeType":"VariableDeclaration","scope":41264,"src":"2367:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41245,"name":"address","nodeType":"ElementaryTypeName","src":"2367:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41248,"mutability":"mutable","name":"to","nameLocation":"2389:2:33","nodeType":"VariableDeclaration","scope":41264,"src":"2381:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41247,"name":"address","nodeType":"ElementaryTypeName","src":"2381:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41250,"mutability":"mutable","name":"value","nameLocation":"2401:5:33","nodeType":"VariableDeclaration","scope":41264,"src":"2393:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41249,"name":"uint256","nodeType":"ElementaryTypeName","src":"2393:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2352:55:33"},"returnParameters":{"id":41254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41253,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41264,"src":"2426:4:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41252,"name":"bool","nodeType":"ElementaryTypeName","src":"2426:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2425:6:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41295,"nodeType":"FunctionDefinition","src":"3160:225:33","nodes":[],"body":{"id":41294,"nodeType":"Block","src":"3246:139:33","nodes":[],"statements":[{"assignments":[41276],"declarations":[{"constant":false,"id":41276,"mutability":"mutable","name":"oldAllowance","nameLocation":"3264:12:33","nodeType":"VariableDeclaration","scope":41294,"src":"3256:20:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41275,"name":"uint256","nodeType":"ElementaryTypeName","src":"3256:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41285,"initialValue":{"arguments":[{"arguments":[{"id":41281,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3303:4:33","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$41594","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$41594","typeString":"library SafeERC20"}],"id":41280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3295:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41279,"name":"address","nodeType":"ElementaryTypeName","src":"3295:7:33","typeDescriptions":{}}},"id":41282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3295:13:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41283,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41270,"src":"3310:7:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":41277,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41268,"src":"3279:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"id":41278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3285:9:33","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":40900,"src":"3279:15:33","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":41284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3279:39:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3256:62:33"},{"expression":{"arguments":[{"id":41287,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41268,"src":"3341:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":41288,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41270,"src":"3348:7:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41289,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41276,"src":"3357:12:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":41290,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41272,"src":"3372:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3357:20:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41286,"name":"forceApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41389,"src":"3328:12:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":41292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3328:50:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41293,"nodeType":"ExpressionStatement","src":"3328:50:33"}]},"documentation":{"id":41265,"nodeType":"StructuredDocumentation","src":"2510:645:33","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful.\n IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"3169:21:33","parameters":{"id":41273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41268,"mutability":"mutable","name":"token","nameLocation":"3198:5:33","nodeType":"VariableDeclaration","scope":41295,"src":"3191:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41267,"nodeType":"UserDefinedTypeName","pathNode":{"id":41266,"name":"IERC20","nameLocations":["3191:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"3191:6:33"},"referencedDeclaration":40923,"src":"3191:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41270,"mutability":"mutable","name":"spender","nameLocation":"3213:7:33","nodeType":"VariableDeclaration","scope":41295,"src":"3205:15:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41269,"name":"address","nodeType":"ElementaryTypeName","src":"3205:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41272,"mutability":"mutable","name":"value","nameLocation":"3230:5:33","nodeType":"VariableDeclaration","scope":41295,"src":"3222:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41271,"name":"uint256","nodeType":"ElementaryTypeName","src":"3222:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3190:46:33"},"returnParameters":{"id":41274,"nodeType":"ParameterList","parameters":[],"src":"3246:0:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41338,"nodeType":"FunctionDefinition","src":"4053:468:33","nodes":[],"body":{"id":41337,"nodeType":"Block","src":"4151:370:33","nodes":[],"statements":[{"id":41336,"nodeType":"UncheckedBlock","src":"4161:354:33","statements":[{"assignments":[41307],"declarations":[{"constant":false,"id":41307,"mutability":"mutable","name":"currentAllowance","nameLocation":"4193:16:33","nodeType":"VariableDeclaration","scope":41336,"src":"4185:24:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41306,"name":"uint256","nodeType":"ElementaryTypeName","src":"4185:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41316,"initialValue":{"arguments":[{"arguments":[{"id":41312,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4236:4:33","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$41594","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$41594","typeString":"library SafeERC20"}],"id":41311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4228:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41310,"name":"address","nodeType":"ElementaryTypeName","src":"4228:7:33","typeDescriptions":{}}},"id":41313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4228:13:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41314,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41301,"src":"4243:7:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":41308,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41299,"src":"4212:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"id":41309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4218:9:33","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":40900,"src":"4212:15:33","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":41315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4212:39:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4185:66:33"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41317,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41307,"src":"4269:16:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":41318,"name":"requestedDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41303,"src":"4288:17:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4269:36:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41327,"nodeType":"IfStatement","src":"4265:160:33","trueBody":{"id":41326,"nodeType":"Block","src":"4307:118:33","statements":[{"errorCall":{"arguments":[{"id":41321,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41301,"src":"4365:7:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41322,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41307,"src":"4374:16:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":41323,"name":"requestedDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41303,"src":"4392:17:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41320,"name":"SafeERC20FailedDecreaseAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41160,"src":"4332:32:33","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256,uint256) pure returns (error)"}},"id":41324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4332:78:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41325,"nodeType":"RevertStatement","src":"4325:85:33"}]}},{"expression":{"arguments":[{"id":41329,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41299,"src":"4451:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":41330,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41301,"src":"4458:7:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41331,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41307,"src":"4467:16:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":41332,"name":"requestedDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41303,"src":"4486:17:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4467:36:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41328,"name":"forceApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41389,"src":"4438:12:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":41334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4438:66:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41335,"nodeType":"ExpressionStatement","src":"4438:66:33"}]}]},"documentation":{"id":41296,"nodeType":"StructuredDocumentation","src":"3391:657:33","text":" @dev Decrease the calling contract's allowance toward `spender` by `requestedDecrease`. If `token` returns no\n value, non-reverting calls are assumed to be successful.\n IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"4062:21:33","parameters":{"id":41304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41299,"mutability":"mutable","name":"token","nameLocation":"4091:5:33","nodeType":"VariableDeclaration","scope":41338,"src":"4084:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41298,"nodeType":"UserDefinedTypeName","pathNode":{"id":41297,"name":"IERC20","nameLocations":["4084:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"4084:6:33"},"referencedDeclaration":40923,"src":"4084:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41301,"mutability":"mutable","name":"spender","nameLocation":"4106:7:33","nodeType":"VariableDeclaration","scope":41338,"src":"4098:15:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41300,"name":"address","nodeType":"ElementaryTypeName","src":"4098:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41303,"mutability":"mutable","name":"requestedDecrease","nameLocation":"4123:17:33","nodeType":"VariableDeclaration","scope":41338,"src":"4115:25:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41302,"name":"uint256","nodeType":"ElementaryTypeName","src":"4115:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4083:58:33"},"returnParameters":{"id":41305,"nodeType":"ParameterList","parameters":[],"src":"4151:0:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41389,"nodeType":"FunctionDefinition","src":"5098:367:33","nodes":[],"body":{"id":41388,"nodeType":"Block","src":"5175:290:33","nodes":[],"statements":[{"condition":{"id":41355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5189:43:33","subExpression":{"arguments":[{"id":41350,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41342,"src":"5203:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":41351,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41344,"src":"5210:7:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41352,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41346,"src":"5219:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":41353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5226:5:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":41349,"name":"_safeApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41593,"src":"5190:12:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$","typeString":"function (contract IERC20,address,uint256,bool) returns (bool)"}},"id":41354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5190:42:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41387,"nodeType":"IfStatement","src":"5185:274:33","trueBody":{"id":41386,"nodeType":"Block","src":"5234:225:33","statements":[{"condition":{"id":41362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5252:38:33","subExpression":{"arguments":[{"id":41357,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41342,"src":"5266:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":41358,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41344,"src":"5273:7:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":41359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5282:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"74727565","id":41360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5285:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":41356,"name":"_safeApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41593,"src":"5253:12:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$","typeString":"function (contract IERC20,address,uint256,bool) returns (bool)"}},"id":41361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:37:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41370,"nodeType":"IfStatement","src":"5248:91:33","trueBody":{"errorCall":{"arguments":[{"arguments":[{"id":41366,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41342,"src":"5332:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}],"id":41365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5324:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41364,"name":"address","nodeType":"ElementaryTypeName","src":"5324:7:33","typeDescriptions":{}}},"id":41367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5324:14:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41363,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41151,"src":"5299:24:33","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5299:40:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41369,"nodeType":"RevertStatement","src":"5292:47:33"}},{"condition":{"id":41377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5357:42:33","subExpression":{"arguments":[{"id":41372,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41342,"src":"5371:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":41373,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41344,"src":"5378:7:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41374,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41346,"src":"5387:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":41375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5394:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":41371,"name":"_safeApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41593,"src":"5358:12:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$","typeString":"function (contract IERC20,address,uint256,bool) returns (bool)"}},"id":41376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5358:41:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41385,"nodeType":"IfStatement","src":"5353:95:33","trueBody":{"errorCall":{"arguments":[{"arguments":[{"id":41381,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41342,"src":"5441:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}],"id":41380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5433:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41379,"name":"address","nodeType":"ElementaryTypeName","src":"5433:7:33","typeDescriptions":{}}},"id":41382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5433:14:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41378,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41151,"src":"5408:24:33","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5408:40:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41384,"nodeType":"RevertStatement","src":"5401:47:33"}}]}}]},"documentation":{"id":41339,"nodeType":"StructuredDocumentation","src":"4527:566:33","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Meant to be used with tokens that require the approval\n to be set to zero before setting it to a non-zero value, such as USDT.\n NOTE: If the token implements ERC-7674, this function will not modify any temporary allowance. This function\n only sets the \"standard\" allowance. Any temporary allowance will remain active, in addition to the value being\n set here."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"5107:12:33","parameters":{"id":41347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41342,"mutability":"mutable","name":"token","nameLocation":"5127:5:33","nodeType":"VariableDeclaration","scope":41389,"src":"5120:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41341,"nodeType":"UserDefinedTypeName","pathNode":{"id":41340,"name":"IERC20","nameLocations":["5120:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"5120:6:33"},"referencedDeclaration":40923,"src":"5120:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41344,"mutability":"mutable","name":"spender","nameLocation":"5142:7:33","nodeType":"VariableDeclaration","scope":41389,"src":"5134:15:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41343,"name":"address","nodeType":"ElementaryTypeName","src":"5134:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41346,"mutability":"mutable","name":"value","nameLocation":"5159:5:33","nodeType":"VariableDeclaration","scope":41389,"src":"5151:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41345,"name":"uint256","nodeType":"ElementaryTypeName","src":"5151:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5119:46:33"},"returnParameters":{"id":41348,"nodeType":"ParameterList","parameters":[],"src":"5175:0:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41432,"nodeType":"FunctionDefinition","src":"5811:322:33","nodes":[],"body":{"id":41431,"nodeType":"Block","src":"5914:219:33","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":41402,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41395,"src":"5928:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5931:4:33","memberName":"code","nodeType":"MemberAccess","src":"5928:7:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5936:6:33","memberName":"length","nodeType":"MemberAccess","src":"5928:14:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":41405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5946:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5928:19:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":41420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6014:39:33","subExpression":{"arguments":[{"id":41416,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41395,"src":"6037:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41417,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41397,"src":"6041:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":41418,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41399,"src":"6048:4:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":41414,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41393,"src":"6015:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}},"id":41415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6021:15:33","memberName":"transferAndCall","nodeType":"MemberAccess","referencedDeclaration":40070,"src":"6015:21:33","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,uint256,bytes memory) external returns (bool)"}},"id":41419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6015:38:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41429,"nodeType":"IfStatement","src":"6010:117:33","trueBody":{"id":41428,"nodeType":"Block","src":"6055:72:33","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":41424,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41393,"src":"6109:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}],"id":41423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6101:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41422,"name":"address","nodeType":"ElementaryTypeName","src":"6101:7:33","typeDescriptions":{}}},"id":41425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6101:14:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41421,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41151,"src":"6076:24:33","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6076:40:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41427,"nodeType":"RevertStatement","src":"6069:47:33"}]}},"id":41430,"nodeType":"IfStatement","src":"5924:203:33","trueBody":{"id":41413,"nodeType":"Block","src":"5949:55:33","statements":[{"expression":{"arguments":[{"id":41408,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41393,"src":"5976:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}},{"id":41409,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41395,"src":"5983:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41410,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41397,"src":"5987:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41407,"name":"safeTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41188,"src":"5963:12:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":41411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5963:30:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41412,"nodeType":"ExpressionStatement","src":"5963:30:33"}]}}]},"documentation":{"id":41390,"nodeType":"StructuredDocumentation","src":"5471:335:33","text":" @dev Performs an {ERC1363} transferAndCall, with a fallback to the simple {ERC20} transfer if the target has no\n code. This can be used to implement an {ERC721}-like safe transfer that relies on {ERC1363} checks when\n targeting contracts.\n Reverts if the returned value is other than `true`."},"implemented":true,"kind":"function","modifiers":[],"name":"transferAndCallRelaxed","nameLocation":"5820:22:33","parameters":{"id":41400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41393,"mutability":"mutable","name":"token","nameLocation":"5852:5:33","nodeType":"VariableDeclaration","scope":41432,"src":"5843:14:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"},"typeName":{"id":41392,"nodeType":"UserDefinedTypeName","pathNode":{"id":41391,"name":"IERC1363","nameLocations":["5843:8:33"],"nodeType":"IdentifierPath","referencedDeclaration":40119,"src":"5843:8:33"},"referencedDeclaration":40119,"src":"5843:8:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}},"visibility":"internal"},{"constant":false,"id":41395,"mutability":"mutable","name":"to","nameLocation":"5867:2:33","nodeType":"VariableDeclaration","scope":41432,"src":"5859:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41394,"name":"address","nodeType":"ElementaryTypeName","src":"5859:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41397,"mutability":"mutable","name":"value","nameLocation":"5879:5:33","nodeType":"VariableDeclaration","scope":41432,"src":"5871:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41396,"name":"uint256","nodeType":"ElementaryTypeName","src":"5871:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41399,"mutability":"mutable","name":"data","nameLocation":"5899:4:33","nodeType":"VariableDeclaration","scope":41432,"src":"5886:17:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41398,"name":"bytes","nodeType":"ElementaryTypeName","src":"5886:5:33","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5842:62:33"},"returnParameters":{"id":41401,"nodeType":"ParameterList","parameters":[],"src":"5914:0:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41479,"nodeType":"FunctionDefinition","src":"6487:406:33","nodes":[],"body":{"id":41478,"nodeType":"Block","src":"6654:239:33","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":41447,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41440,"src":"6668:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6671:4:33","memberName":"code","nodeType":"MemberAccess","src":"6668:7:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6676:6:33","memberName":"length","nodeType":"MemberAccess","src":"6668:14:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":41450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6686:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6668:19:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":41467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6764:49:33","subExpression":{"arguments":[{"id":41462,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41438,"src":"6791:4:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41463,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41440,"src":"6797:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41464,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41442,"src":"6801:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":41465,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41444,"src":"6808:4:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":41460,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41436,"src":"6765:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}},"id":41461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6771:19:33","memberName":"transferFromAndCall","nodeType":"MemberAccess","referencedDeclaration":40096,"src":"6765:25:33","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) external returns (bool)"}},"id":41466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6765:48:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41476,"nodeType":"IfStatement","src":"6760:127:33","trueBody":{"id":41475,"nodeType":"Block","src":"6815:72:33","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":41471,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41436,"src":"6869:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}],"id":41470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6861:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41469,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:33","typeDescriptions":{}}},"id":41472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6861:14:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41468,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41151,"src":"6836:24:33","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6836:40:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41474,"nodeType":"RevertStatement","src":"6829:47:33"}]}},"id":41477,"nodeType":"IfStatement","src":"6664:223:33","trueBody":{"id":41459,"nodeType":"Block","src":"6689:65:33","statements":[{"expression":{"arguments":[{"id":41453,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41436,"src":"6720:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}},{"id":41454,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41438,"src":"6727:4:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41455,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41440,"src":"6733:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41456,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41442,"src":"6737:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41452,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41219,"src":"6703:16:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":41457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6703:40:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41458,"nodeType":"ExpressionStatement","src":"6703:40:33"}]}}]},"documentation":{"id":41433,"nodeType":"StructuredDocumentation","src":"6139:343:33","text":" @dev Performs an {ERC1363} transferFromAndCall, with a fallback to the simple {ERC20} transferFrom if the target\n has no code. This can be used to implement an {ERC721}-like safe transfer that relies on {ERC1363} checks when\n targeting contracts.\n Reverts if the returned value is other than `true`."},"implemented":true,"kind":"function","modifiers":[],"name":"transferFromAndCallRelaxed","nameLocation":"6496:26:33","parameters":{"id":41445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41436,"mutability":"mutable","name":"token","nameLocation":"6541:5:33","nodeType":"VariableDeclaration","scope":41479,"src":"6532:14:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"},"typeName":{"id":41435,"nodeType":"UserDefinedTypeName","pathNode":{"id":41434,"name":"IERC1363","nameLocations":["6532:8:33"],"nodeType":"IdentifierPath","referencedDeclaration":40119,"src":"6532:8:33"},"referencedDeclaration":40119,"src":"6532:8:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}},"visibility":"internal"},{"constant":false,"id":41438,"mutability":"mutable","name":"from","nameLocation":"6564:4:33","nodeType":"VariableDeclaration","scope":41479,"src":"6556:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41437,"name":"address","nodeType":"ElementaryTypeName","src":"6556:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41440,"mutability":"mutable","name":"to","nameLocation":"6586:2:33","nodeType":"VariableDeclaration","scope":41479,"src":"6578:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41439,"name":"address","nodeType":"ElementaryTypeName","src":"6578:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41442,"mutability":"mutable","name":"value","nameLocation":"6606:5:33","nodeType":"VariableDeclaration","scope":41479,"src":"6598:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41441,"name":"uint256","nodeType":"ElementaryTypeName","src":"6598:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41444,"mutability":"mutable","name":"data","nameLocation":"6634:4:33","nodeType":"VariableDeclaration","scope":41479,"src":"6621:17:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41443,"name":"bytes","nodeType":"ElementaryTypeName","src":"6621:5:33","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6522:122:33"},"returnParameters":{"id":41446,"nodeType":"ParameterList","parameters":[],"src":"6654:0:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41522,"nodeType":"FunctionDefinition","src":"7559:320:33","nodes":[],"body":{"id":41521,"nodeType":"Block","src":"7661:218:33","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":41492,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41485,"src":"7675:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7678:4:33","memberName":"code","nodeType":"MemberAccess","src":"7675:7:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7683:6:33","memberName":"length","nodeType":"MemberAccess","src":"7675:14:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":41495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7693:1:33","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7675:19:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":41510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7761:38:33","subExpression":{"arguments":[{"id":41506,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41485,"src":"7783:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41507,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41487,"src":"7787:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":41508,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41489,"src":"7794:4:33","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":41504,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41483,"src":"7762:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}},"id":41505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7768:14:33","memberName":"approveAndCall","nodeType":"MemberAccess","referencedDeclaration":40118,"src":"7762:20:33","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,uint256,bytes memory) external returns (bool)"}},"id":41509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7762:37:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41519,"nodeType":"IfStatement","src":"7757:116:33","trueBody":{"id":41518,"nodeType":"Block","src":"7801:72:33","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":41514,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41483,"src":"7855:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}],"id":41513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7847:7:33","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41512,"name":"address","nodeType":"ElementaryTypeName","src":"7847:7:33","typeDescriptions":{}}},"id":41515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7847:14:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41511,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41151,"src":"7822:24:33","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7822:40:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41517,"nodeType":"RevertStatement","src":"7815:47:33"}]}},"id":41520,"nodeType":"IfStatement","src":"7671:202:33","trueBody":{"id":41503,"nodeType":"Block","src":"7696:55:33","statements":[{"expression":{"arguments":[{"id":41498,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41483,"src":"7723:5:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}},{"id":41499,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41485,"src":"7730:2:33","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41500,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41487,"src":"7734:5:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41497,"name":"forceApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41389,"src":"7710:12:33","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":41501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7710:30:33","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41502,"nodeType":"ExpressionStatement","src":"7710:30:33"}]}}]},"documentation":{"id":41480,"nodeType":"StructuredDocumentation","src":"6899:655:33","text":" @dev Performs an {ERC1363} approveAndCall, with a fallback to the simple {ERC20} approve if the target has no\n code. This can be used to implement an {ERC721}-like safe transfer that rely on {ERC1363} checks when\n targeting contracts.\n NOTE: When the recipient address (`to`) has no code (i.e. is an EOA), this function behaves as {forceApprove}.\n Oppositely, when the recipient address (`to`) has code, this function only attempts to call {ERC1363-approveAndCall}\n once without retrying, and relies on the returned value to be true.\n Reverts if the returned value is other than `true`."},"implemented":true,"kind":"function","modifiers":[],"name":"approveAndCallRelaxed","nameLocation":"7568:21:33","parameters":{"id":41490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41483,"mutability":"mutable","name":"token","nameLocation":"7599:5:33","nodeType":"VariableDeclaration","scope":41522,"src":"7590:14:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"},"typeName":{"id":41482,"nodeType":"UserDefinedTypeName","pathNode":{"id":41481,"name":"IERC1363","nameLocations":["7590:8:33"],"nodeType":"IdentifierPath","referencedDeclaration":40119,"src":"7590:8:33"},"referencedDeclaration":40119,"src":"7590:8:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$40119","typeString":"contract IERC1363"}},"visibility":"internal"},{"constant":false,"id":41485,"mutability":"mutable","name":"to","nameLocation":"7614:2:33","nodeType":"VariableDeclaration","scope":41522,"src":"7606:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41484,"name":"address","nodeType":"ElementaryTypeName","src":"7606:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41487,"mutability":"mutable","name":"value","nameLocation":"7626:5:33","nodeType":"VariableDeclaration","scope":41522,"src":"7618:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41486,"name":"uint256","nodeType":"ElementaryTypeName","src":"7618:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41489,"mutability":"mutable","name":"data","nameLocation":"7646:4:33","nodeType":"VariableDeclaration","scope":41522,"src":"7633:17:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41488,"name":"bytes","nodeType":"ElementaryTypeName","src":"7633:5:33","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7589:62:33"},"returnParameters":{"id":41491,"nodeType":"ParameterList","parameters":[],"src":"7661:0:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41545,"nodeType":"FunctionDefinition","src":"8373:1244:33","nodes":[],"body":{"id":41544,"nodeType":"Block","src":"8481:1136:33","nodes":[],"statements":[{"assignments":[41538],"declarations":[{"constant":false,"id":41538,"mutability":"mutable","name":"selector","nameLocation":"8498:8:33","nodeType":"VariableDeclaration","scope":41544,"src":"8491:15:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":41537,"name":"bytes4","nodeType":"ElementaryTypeName","src":"8491:6:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":41542,"initialValue":{"expression":{"expression":{"id":41539,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"8509:6:33","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$40923_$","typeString":"type(contract IERC20)"}},"id":41540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8516:8:33","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":40890,"src":"8509:15:33","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function IERC20.transfer(address,uint256) returns (bool)"}},"id":41541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8525:8:33","memberName":"selector","nodeType":"MemberAccess","src":"8509:24:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"8491:42:33"},{"AST":{"nativeSrc":"8569:1042:33","nodeType":"YulBlock","src":"8569:1042:33","statements":[{"nativeSrc":"8583:22:33","nodeType":"YulVariableDeclaration","src":"8583:22:33","value":{"arguments":[{"kind":"number","nativeSrc":"8600:4:33","nodeType":"YulLiteral","src":"8600:4:33","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"8594:5:33","nodeType":"YulIdentifier","src":"8594:5:33"},"nativeSrc":"8594:11:33","nodeType":"YulFunctionCall","src":"8594:11:33"},"variables":[{"name":"fmp","nativeSrc":"8587:3:33","nodeType":"YulTypedName","src":"8587:3:33","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8625:4:33","nodeType":"YulLiteral","src":"8625:4:33","type":"","value":"0x00"},{"name":"selector","nativeSrc":"8631:8:33","nodeType":"YulIdentifier","src":"8631:8:33"}],"functionName":{"name":"mstore","nativeSrc":"8618:6:33","nodeType":"YulIdentifier","src":"8618:6:33"},"nativeSrc":"8618:22:33","nodeType":"YulFunctionCall","src":"8618:22:33"},"nativeSrc":"8618:22:33","nodeType":"YulExpressionStatement","src":"8618:22:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8660:4:33","nodeType":"YulLiteral","src":"8660:4:33","type":"","value":"0x04"},{"arguments":[{"name":"to","nativeSrc":"8670:2:33","nodeType":"YulIdentifier","src":"8670:2:33"},{"arguments":[{"kind":"number","nativeSrc":"8678:2:33","nodeType":"YulLiteral","src":"8678:2:33","type":"","value":"96"},{"arguments":[{"kind":"number","nativeSrc":"8686:1:33","nodeType":"YulLiteral","src":"8686:1:33","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"8682:3:33","nodeType":"YulIdentifier","src":"8682:3:33"},"nativeSrc":"8682:6:33","nodeType":"YulFunctionCall","src":"8682:6:33"}],"functionName":{"name":"shr","nativeSrc":"8674:3:33","nodeType":"YulIdentifier","src":"8674:3:33"},"nativeSrc":"8674:15:33","nodeType":"YulFunctionCall","src":"8674:15:33"}],"functionName":{"name":"and","nativeSrc":"8666:3:33","nodeType":"YulIdentifier","src":"8666:3:33"},"nativeSrc":"8666:24:33","nodeType":"YulFunctionCall","src":"8666:24:33"}],"functionName":{"name":"mstore","nativeSrc":"8653:6:33","nodeType":"YulIdentifier","src":"8653:6:33"},"nativeSrc":"8653:38:33","nodeType":"YulFunctionCall","src":"8653:38:33"},"nativeSrc":"8653:38:33","nodeType":"YulExpressionStatement","src":"8653:38:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8711:4:33","nodeType":"YulLiteral","src":"8711:4:33","type":"","value":"0x24"},{"name":"value","nativeSrc":"8717:5:33","nodeType":"YulIdentifier","src":"8717:5:33"}],"functionName":{"name":"mstore","nativeSrc":"8704:6:33","nodeType":"YulIdentifier","src":"8704:6:33"},"nativeSrc":"8704:19:33","nodeType":"YulFunctionCall","src":"8704:19:33"},"nativeSrc":"8704:19:33","nodeType":"YulExpressionStatement","src":"8704:19:33"},{"nativeSrc":"8736:56:33","nodeType":"YulAssignment","src":"8736:56:33","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"8752:3:33","nodeType":"YulIdentifier","src":"8752:3:33"},"nativeSrc":"8752:5:33","nodeType":"YulFunctionCall","src":"8752:5:33"},{"name":"token","nativeSrc":"8759:5:33","nodeType":"YulIdentifier","src":"8759:5:33"},{"kind":"number","nativeSrc":"8766:1:33","nodeType":"YulLiteral","src":"8766:1:33","type":"","value":"0"},{"kind":"number","nativeSrc":"8769:4:33","nodeType":"YulLiteral","src":"8769:4:33","type":"","value":"0x00"},{"kind":"number","nativeSrc":"8775:4:33","nodeType":"YulLiteral","src":"8775:4:33","type":"","value":"0x44"},{"kind":"number","nativeSrc":"8781:4:33","nodeType":"YulLiteral","src":"8781:4:33","type":"","value":"0x00"},{"kind":"number","nativeSrc":"8787:4:33","nodeType":"YulLiteral","src":"8787:4:33","type":"","value":"0x20"}],"functionName":{"name":"call","nativeSrc":"8747:4:33","nodeType":"YulIdentifier","src":"8747:4:33"},"nativeSrc":"8747:45:33","nodeType":"YulFunctionCall","src":"8747:45:33"},"variableNames":[{"name":"success","nativeSrc":"8736:7:33","nodeType":"YulIdentifier","src":"8736:7:33"}]},{"body":{"nativeSrc":"9009:562:33","nodeType":"YulBlock","src":"9009:562:33","statements":[{"body":{"nativeSrc":"9144:133:33","nodeType":"YulBlock","src":"9144:133:33","statements":[{"expression":{"arguments":[{"name":"fmp","nativeSrc":"9181:3:33","nodeType":"YulIdentifier","src":"9181:3:33"},{"kind":"number","nativeSrc":"9186:4:33","nodeType":"YulLiteral","src":"9186:4:33","type":"","value":"0x00"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"9192:14:33","nodeType":"YulIdentifier","src":"9192:14:33"},"nativeSrc":"9192:16:33","nodeType":"YulFunctionCall","src":"9192:16:33"}],"functionName":{"name":"returndatacopy","nativeSrc":"9166:14:33","nodeType":"YulIdentifier","src":"9166:14:33"},"nativeSrc":"9166:43:33","nodeType":"YulFunctionCall","src":"9166:43:33"},"nativeSrc":"9166:43:33","nodeType":"YulExpressionStatement","src":"9166:43:33"},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"9237:3:33","nodeType":"YulIdentifier","src":"9237:3:33"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"9242:14:33","nodeType":"YulIdentifier","src":"9242:14:33"},"nativeSrc":"9242:16:33","nodeType":"YulFunctionCall","src":"9242:16:33"}],"functionName":{"name":"revert","nativeSrc":"9230:6:33","nodeType":"YulIdentifier","src":"9230:6:33"},"nativeSrc":"9230:29:33","nodeType":"YulFunctionCall","src":"9230:29:33"},"nativeSrc":"9230:29:33","nodeType":"YulExpressionStatement","src":"9230:29:33"}]},"condition":{"arguments":[{"arguments":[{"name":"success","nativeSrc":"9126:7:33","nodeType":"YulIdentifier","src":"9126:7:33"}],"functionName":{"name":"iszero","nativeSrc":"9119:6:33","nodeType":"YulIdentifier","src":"9119:6:33"},"nativeSrc":"9119:15:33","nodeType":"YulFunctionCall","src":"9119:15:33"},{"name":"bubble","nativeSrc":"9136:6:33","nodeType":"YulIdentifier","src":"9136:6:33"}],"functionName":{"name":"and","nativeSrc":"9115:3:33","nodeType":"YulIdentifier","src":"9115:3:33"},"nativeSrc":"9115:28:33","nodeType":"YulFunctionCall","src":"9115:28:33"},"nativeSrc":"9112:165:33","nodeType":"YulIf","src":"9112:165:33"},{"nativeSrc":"9476:81:33","nodeType":"YulAssignment","src":"9476:81:33","value":{"arguments":[{"name":"success","nativeSrc":"9491:7:33","nodeType":"YulIdentifier","src":"9491:7:33"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"9511:14:33","nodeType":"YulIdentifier","src":"9511:14:33"},"nativeSrc":"9511:16:33","nodeType":"YulFunctionCall","src":"9511:16:33"}],"functionName":{"name":"iszero","nativeSrc":"9504:6:33","nodeType":"YulIdentifier","src":"9504:6:33"},"nativeSrc":"9504:24:33","nodeType":"YulFunctionCall","src":"9504:24:33"},{"arguments":[{"arguments":[{"name":"token","nativeSrc":"9545:5:33","nodeType":"YulIdentifier","src":"9545:5:33"}],"functionName":{"name":"extcodesize","nativeSrc":"9533:11:33","nodeType":"YulIdentifier","src":"9533:11:33"},"nativeSrc":"9533:18:33","nodeType":"YulFunctionCall","src":"9533:18:33"},{"kind":"number","nativeSrc":"9553:1:33","nodeType":"YulLiteral","src":"9553:1:33","type":"","value":"0"}],"functionName":{"name":"gt","nativeSrc":"9530:2:33","nodeType":"YulIdentifier","src":"9530:2:33"},"nativeSrc":"9530:25:33","nodeType":"YulFunctionCall","src":"9530:25:33"}],"functionName":{"name":"and","nativeSrc":"9500:3:33","nodeType":"YulIdentifier","src":"9500:3:33"},"nativeSrc":"9500:56:33","nodeType":"YulFunctionCall","src":"9500:56:33"}],"functionName":{"name":"and","nativeSrc":"9487:3:33","nodeType":"YulIdentifier","src":"9487:3:33"},"nativeSrc":"9487:70:33","nodeType":"YulFunctionCall","src":"9487:70:33"},"variableNames":[{"name":"success","nativeSrc":"9476:7:33","nodeType":"YulIdentifier","src":"9476:7:33"}]}]},"condition":{"arguments":[{"arguments":[{"name":"success","nativeSrc":"8979:7:33","nodeType":"YulIdentifier","src":"8979:7:33"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"8997:4:33","nodeType":"YulLiteral","src":"8997:4:33","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"8991:5:33","nodeType":"YulIdentifier","src":"8991:5:33"},"nativeSrc":"8991:11:33","nodeType":"YulFunctionCall","src":"8991:11:33"},{"kind":"number","nativeSrc":"9004:1:33","nodeType":"YulLiteral","src":"9004:1:33","type":"","value":"1"}],"functionName":{"name":"eq","nativeSrc":"8988:2:33","nodeType":"YulIdentifier","src":"8988:2:33"},"nativeSrc":"8988:18:33","nodeType":"YulFunctionCall","src":"8988:18:33"}],"functionName":{"name":"and","nativeSrc":"8975:3:33","nodeType":"YulIdentifier","src":"8975:3:33"},"nativeSrc":"8975:32:33","nodeType":"YulFunctionCall","src":"8975:32:33"}],"functionName":{"name":"iszero","nativeSrc":"8968:6:33","nodeType":"YulIdentifier","src":"8968:6:33"},"nativeSrc":"8968:40:33","nodeType":"YulFunctionCall","src":"8968:40:33"},"nativeSrc":"8965:606:33","nodeType":"YulIf","src":"8965:606:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9591:4:33","nodeType":"YulLiteral","src":"9591:4:33","type":"","value":"0x40"},{"name":"fmp","nativeSrc":"9597:3:33","nodeType":"YulIdentifier","src":"9597:3:33"}],"functionName":{"name":"mstore","nativeSrc":"9584:6:33","nodeType":"YulIdentifier","src":"9584:6:33"},"nativeSrc":"9584:17:33","nodeType":"YulFunctionCall","src":"9584:17:33"},"nativeSrc":"9584:17:33","nodeType":"YulExpressionStatement","src":"9584:17:33"}]},"evmVersion":"prague","externalReferences":[{"declaration":41532,"isOffset":false,"isSlot":false,"src":"9136:6:33","valueSize":1},{"declaration":41538,"isOffset":false,"isSlot":false,"src":"8631:8:33","valueSize":1},{"declaration":41535,"isOffset":false,"isSlot":false,"src":"8736:7:33","valueSize":1},{"declaration":41535,"isOffset":false,"isSlot":false,"src":"8979:7:33","valueSize":1},{"declaration":41535,"isOffset":false,"isSlot":false,"src":"9126:7:33","valueSize":1},{"declaration":41535,"isOffset":false,"isSlot":false,"src":"9476:7:33","valueSize":1},{"declaration":41535,"isOffset":false,"isSlot":false,"src":"9491:7:33","valueSize":1},{"declaration":41528,"isOffset":false,"isSlot":false,"src":"8670:2:33","valueSize":1},{"declaration":41526,"isOffset":false,"isSlot":false,"src":"8759:5:33","valueSize":1},{"declaration":41526,"isOffset":false,"isSlot":false,"src":"9545:5:33","valueSize":1},{"declaration":41530,"isOffset":false,"isSlot":false,"src":"8717:5:33","valueSize":1}],"flags":["memory-safe"],"id":41543,"nodeType":"InlineAssembly","src":"8544:1067:33"}]},"documentation":{"id":41523,"nodeType":"StructuredDocumentation","src":"7885:483:33","text":" @dev Imitates a Solidity `token.transfer(to, value)` call, relaxing the requirement on the return value: the\n return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param to The recipient of the tokens\n @param value The amount of token to transfer\n @param bubble Behavior switch if the transfer call reverts: bubble the revert reason or return a false boolean."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"8382:13:33","parameters":{"id":41533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41526,"mutability":"mutable","name":"token","nameLocation":"8403:5:33","nodeType":"VariableDeclaration","scope":41545,"src":"8396:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41525,"nodeType":"UserDefinedTypeName","pathNode":{"id":41524,"name":"IERC20","nameLocations":["8396:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"8396:6:33"},"referencedDeclaration":40923,"src":"8396:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41528,"mutability":"mutable","name":"to","nameLocation":"8418:2:33","nodeType":"VariableDeclaration","scope":41545,"src":"8410:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41527,"name":"address","nodeType":"ElementaryTypeName","src":"8410:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41530,"mutability":"mutable","name":"value","nameLocation":"8430:5:33","nodeType":"VariableDeclaration","scope":41545,"src":"8422:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41529,"name":"uint256","nodeType":"ElementaryTypeName","src":"8422:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41532,"mutability":"mutable","name":"bubble","nameLocation":"8442:6:33","nodeType":"VariableDeclaration","scope":41545,"src":"8437:11:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41531,"name":"bool","nodeType":"ElementaryTypeName","src":"8437:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8395:54:33"},"returnParameters":{"id":41536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41535,"mutability":"mutable","name":"success","nameLocation":"8472:7:33","nodeType":"VariableDeclaration","scope":41545,"src":"8467:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41534,"name":"bool","nodeType":"ElementaryTypeName","src":"8467:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8466:14:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":41570,"nodeType":"FunctionDefinition","src":"10165:1393:33","nodes":[],"body":{"id":41569,"nodeType":"Block","src":"10337:1221:33","nodes":[],"statements":[{"assignments":[41563],"declarations":[{"constant":false,"id":41563,"mutability":"mutable","name":"selector","nameLocation":"10354:8:33","nodeType":"VariableDeclaration","scope":41569,"src":"10347:15:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":41562,"name":"bytes4","nodeType":"ElementaryTypeName","src":"10347:6:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":41567,"initialValue":{"expression":{"expression":{"id":41564,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"10365:6:33","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$40923_$","typeString":"type(contract IERC20)"}},"id":41565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10372:12:33","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":40922,"src":"10365:19:33","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function IERC20.transferFrom(address,address,uint256) returns (bool)"}},"id":41566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10385:8:33","memberName":"selector","nodeType":"MemberAccess","src":"10365:28:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"10347:46:33"},{"AST":{"nativeSrc":"10429:1123:33","nodeType":"YulBlock","src":"10429:1123:33","statements":[{"nativeSrc":"10443:22:33","nodeType":"YulVariableDeclaration","src":"10443:22:33","value":{"arguments":[{"kind":"number","nativeSrc":"10460:4:33","nodeType":"YulLiteral","src":"10460:4:33","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"10454:5:33","nodeType":"YulIdentifier","src":"10454:5:33"},"nativeSrc":"10454:11:33","nodeType":"YulFunctionCall","src":"10454:11:33"},"variables":[{"name":"fmp","nativeSrc":"10447:3:33","nodeType":"YulTypedName","src":"10447:3:33","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10485:4:33","nodeType":"YulLiteral","src":"10485:4:33","type":"","value":"0x00"},{"name":"selector","nativeSrc":"10491:8:33","nodeType":"YulIdentifier","src":"10491:8:33"}],"functionName":{"name":"mstore","nativeSrc":"10478:6:33","nodeType":"YulIdentifier","src":"10478:6:33"},"nativeSrc":"10478:22:33","nodeType":"YulFunctionCall","src":"10478:22:33"},"nativeSrc":"10478:22:33","nodeType":"YulExpressionStatement","src":"10478:22:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10520:4:33","nodeType":"YulLiteral","src":"10520:4:33","type":"","value":"0x04"},{"arguments":[{"name":"from","nativeSrc":"10530:4:33","nodeType":"YulIdentifier","src":"10530:4:33"},{"arguments":[{"kind":"number","nativeSrc":"10540:2:33","nodeType":"YulLiteral","src":"10540:2:33","type":"","value":"96"},{"arguments":[{"kind":"number","nativeSrc":"10548:1:33","nodeType":"YulLiteral","src":"10548:1:33","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"10544:3:33","nodeType":"YulIdentifier","src":"10544:3:33"},"nativeSrc":"10544:6:33","nodeType":"YulFunctionCall","src":"10544:6:33"}],"functionName":{"name":"shr","nativeSrc":"10536:3:33","nodeType":"YulIdentifier","src":"10536:3:33"},"nativeSrc":"10536:15:33","nodeType":"YulFunctionCall","src":"10536:15:33"}],"functionName":{"name":"and","nativeSrc":"10526:3:33","nodeType":"YulIdentifier","src":"10526:3:33"},"nativeSrc":"10526:26:33","nodeType":"YulFunctionCall","src":"10526:26:33"}],"functionName":{"name":"mstore","nativeSrc":"10513:6:33","nodeType":"YulIdentifier","src":"10513:6:33"},"nativeSrc":"10513:40:33","nodeType":"YulFunctionCall","src":"10513:40:33"},"nativeSrc":"10513:40:33","nodeType":"YulExpressionStatement","src":"10513:40:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10573:4:33","nodeType":"YulLiteral","src":"10573:4:33","type":"","value":"0x24"},{"arguments":[{"name":"to","nativeSrc":"10583:2:33","nodeType":"YulIdentifier","src":"10583:2:33"},{"arguments":[{"kind":"number","nativeSrc":"10591:2:33","nodeType":"YulLiteral","src":"10591:2:33","type":"","value":"96"},{"arguments":[{"kind":"number","nativeSrc":"10599:1:33","nodeType":"YulLiteral","src":"10599:1:33","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"10595:3:33","nodeType":"YulIdentifier","src":"10595:3:33"},"nativeSrc":"10595:6:33","nodeType":"YulFunctionCall","src":"10595:6:33"}],"functionName":{"name":"shr","nativeSrc":"10587:3:33","nodeType":"YulIdentifier","src":"10587:3:33"},"nativeSrc":"10587:15:33","nodeType":"YulFunctionCall","src":"10587:15:33"}],"functionName":{"name":"and","nativeSrc":"10579:3:33","nodeType":"YulIdentifier","src":"10579:3:33"},"nativeSrc":"10579:24:33","nodeType":"YulFunctionCall","src":"10579:24:33"}],"functionName":{"name":"mstore","nativeSrc":"10566:6:33","nodeType":"YulIdentifier","src":"10566:6:33"},"nativeSrc":"10566:38:33","nodeType":"YulFunctionCall","src":"10566:38:33"},"nativeSrc":"10566:38:33","nodeType":"YulExpressionStatement","src":"10566:38:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10624:4:33","nodeType":"YulLiteral","src":"10624:4:33","type":"","value":"0x44"},{"name":"value","nativeSrc":"10630:5:33","nodeType":"YulIdentifier","src":"10630:5:33"}],"functionName":{"name":"mstore","nativeSrc":"10617:6:33","nodeType":"YulIdentifier","src":"10617:6:33"},"nativeSrc":"10617:19:33","nodeType":"YulFunctionCall","src":"10617:19:33"},"nativeSrc":"10617:19:33","nodeType":"YulExpressionStatement","src":"10617:19:33"},{"nativeSrc":"10649:56:33","nodeType":"YulAssignment","src":"10649:56:33","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"10665:3:33","nodeType":"YulIdentifier","src":"10665:3:33"},"nativeSrc":"10665:5:33","nodeType":"YulFunctionCall","src":"10665:5:33"},{"name":"token","nativeSrc":"10672:5:33","nodeType":"YulIdentifier","src":"10672:5:33"},{"kind":"number","nativeSrc":"10679:1:33","nodeType":"YulLiteral","src":"10679:1:33","type":"","value":"0"},{"kind":"number","nativeSrc":"10682:4:33","nodeType":"YulLiteral","src":"10682:4:33","type":"","value":"0x00"},{"kind":"number","nativeSrc":"10688:4:33","nodeType":"YulLiteral","src":"10688:4:33","type":"","value":"0x64"},{"kind":"number","nativeSrc":"10694:4:33","nodeType":"YulLiteral","src":"10694:4:33","type":"","value":"0x00"},{"kind":"number","nativeSrc":"10700:4:33","nodeType":"YulLiteral","src":"10700:4:33","type":"","value":"0x20"}],"functionName":{"name":"call","nativeSrc":"10660:4:33","nodeType":"YulIdentifier","src":"10660:4:33"},"nativeSrc":"10660:45:33","nodeType":"YulFunctionCall","src":"10660:45:33"},"variableNames":[{"name":"success","nativeSrc":"10649:7:33","nodeType":"YulIdentifier","src":"10649:7:33"}]},{"body":{"nativeSrc":"10922:562:33","nodeType":"YulBlock","src":"10922:562:33","statements":[{"body":{"nativeSrc":"11057:133:33","nodeType":"YulBlock","src":"11057:133:33","statements":[{"expression":{"arguments":[{"name":"fmp","nativeSrc":"11094:3:33","nodeType":"YulIdentifier","src":"11094:3:33"},{"kind":"number","nativeSrc":"11099:4:33","nodeType":"YulLiteral","src":"11099:4:33","type":"","value":"0x00"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"11105:14:33","nodeType":"YulIdentifier","src":"11105:14:33"},"nativeSrc":"11105:16:33","nodeType":"YulFunctionCall","src":"11105:16:33"}],"functionName":{"name":"returndatacopy","nativeSrc":"11079:14:33","nodeType":"YulIdentifier","src":"11079:14:33"},"nativeSrc":"11079:43:33","nodeType":"YulFunctionCall","src":"11079:43:33"},"nativeSrc":"11079:43:33","nodeType":"YulExpressionStatement","src":"11079:43:33"},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"11150:3:33","nodeType":"YulIdentifier","src":"11150:3:33"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"11155:14:33","nodeType":"YulIdentifier","src":"11155:14:33"},"nativeSrc":"11155:16:33","nodeType":"YulFunctionCall","src":"11155:16:33"}],"functionName":{"name":"revert","nativeSrc":"11143:6:33","nodeType":"YulIdentifier","src":"11143:6:33"},"nativeSrc":"11143:29:33","nodeType":"YulFunctionCall","src":"11143:29:33"},"nativeSrc":"11143:29:33","nodeType":"YulExpressionStatement","src":"11143:29:33"}]},"condition":{"arguments":[{"arguments":[{"name":"success","nativeSrc":"11039:7:33","nodeType":"YulIdentifier","src":"11039:7:33"}],"functionName":{"name":"iszero","nativeSrc":"11032:6:33","nodeType":"YulIdentifier","src":"11032:6:33"},"nativeSrc":"11032:15:33","nodeType":"YulFunctionCall","src":"11032:15:33"},{"name":"bubble","nativeSrc":"11049:6:33","nodeType":"YulIdentifier","src":"11049:6:33"}],"functionName":{"name":"and","nativeSrc":"11028:3:33","nodeType":"YulIdentifier","src":"11028:3:33"},"nativeSrc":"11028:28:33","nodeType":"YulFunctionCall","src":"11028:28:33"},"nativeSrc":"11025:165:33","nodeType":"YulIf","src":"11025:165:33"},{"nativeSrc":"11389:81:33","nodeType":"YulAssignment","src":"11389:81:33","value":{"arguments":[{"name":"success","nativeSrc":"11404:7:33","nodeType":"YulIdentifier","src":"11404:7:33"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"11424:14:33","nodeType":"YulIdentifier","src":"11424:14:33"},"nativeSrc":"11424:16:33","nodeType":"YulFunctionCall","src":"11424:16:33"}],"functionName":{"name":"iszero","nativeSrc":"11417:6:33","nodeType":"YulIdentifier","src":"11417:6:33"},"nativeSrc":"11417:24:33","nodeType":"YulFunctionCall","src":"11417:24:33"},{"arguments":[{"arguments":[{"name":"token","nativeSrc":"11458:5:33","nodeType":"YulIdentifier","src":"11458:5:33"}],"functionName":{"name":"extcodesize","nativeSrc":"11446:11:33","nodeType":"YulIdentifier","src":"11446:11:33"},"nativeSrc":"11446:18:33","nodeType":"YulFunctionCall","src":"11446:18:33"},{"kind":"number","nativeSrc":"11466:1:33","nodeType":"YulLiteral","src":"11466:1:33","type":"","value":"0"}],"functionName":{"name":"gt","nativeSrc":"11443:2:33","nodeType":"YulIdentifier","src":"11443:2:33"},"nativeSrc":"11443:25:33","nodeType":"YulFunctionCall","src":"11443:25:33"}],"functionName":{"name":"and","nativeSrc":"11413:3:33","nodeType":"YulIdentifier","src":"11413:3:33"},"nativeSrc":"11413:56:33","nodeType":"YulFunctionCall","src":"11413:56:33"}],"functionName":{"name":"and","nativeSrc":"11400:3:33","nodeType":"YulIdentifier","src":"11400:3:33"},"nativeSrc":"11400:70:33","nodeType":"YulFunctionCall","src":"11400:70:33"},"variableNames":[{"name":"success","nativeSrc":"11389:7:33","nodeType":"YulIdentifier","src":"11389:7:33"}]}]},"condition":{"arguments":[{"arguments":[{"name":"success","nativeSrc":"10892:7:33","nodeType":"YulIdentifier","src":"10892:7:33"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"10910:4:33","nodeType":"YulLiteral","src":"10910:4:33","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"10904:5:33","nodeType":"YulIdentifier","src":"10904:5:33"},"nativeSrc":"10904:11:33","nodeType":"YulFunctionCall","src":"10904:11:33"},{"kind":"number","nativeSrc":"10917:1:33","nodeType":"YulLiteral","src":"10917:1:33","type":"","value":"1"}],"functionName":{"name":"eq","nativeSrc":"10901:2:33","nodeType":"YulIdentifier","src":"10901:2:33"},"nativeSrc":"10901:18:33","nodeType":"YulFunctionCall","src":"10901:18:33"}],"functionName":{"name":"and","nativeSrc":"10888:3:33","nodeType":"YulIdentifier","src":"10888:3:33"},"nativeSrc":"10888:32:33","nodeType":"YulFunctionCall","src":"10888:32:33"}],"functionName":{"name":"iszero","nativeSrc":"10881:6:33","nodeType":"YulIdentifier","src":"10881:6:33"},"nativeSrc":"10881:40:33","nodeType":"YulFunctionCall","src":"10881:40:33"},"nativeSrc":"10878:606:33","nodeType":"YulIf","src":"10878:606:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11504:4:33","nodeType":"YulLiteral","src":"11504:4:33","type":"","value":"0x40"},{"name":"fmp","nativeSrc":"11510:3:33","nodeType":"YulIdentifier","src":"11510:3:33"}],"functionName":{"name":"mstore","nativeSrc":"11497:6:33","nodeType":"YulIdentifier","src":"11497:6:33"},"nativeSrc":"11497:17:33","nodeType":"YulFunctionCall","src":"11497:17:33"},"nativeSrc":"11497:17:33","nodeType":"YulExpressionStatement","src":"11497:17:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11534:4:33","nodeType":"YulLiteral","src":"11534:4:33","type":"","value":"0x60"},{"kind":"number","nativeSrc":"11540:1:33","nodeType":"YulLiteral","src":"11540:1:33","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"11527:6:33","nodeType":"YulIdentifier","src":"11527:6:33"},"nativeSrc":"11527:15:33","nodeType":"YulFunctionCall","src":"11527:15:33"},"nativeSrc":"11527:15:33","nodeType":"YulExpressionStatement","src":"11527:15:33"}]},"evmVersion":"prague","externalReferences":[{"declaration":41557,"isOffset":false,"isSlot":false,"src":"11049:6:33","valueSize":1},{"declaration":41551,"isOffset":false,"isSlot":false,"src":"10530:4:33","valueSize":1},{"declaration":41563,"isOffset":false,"isSlot":false,"src":"10491:8:33","valueSize":1},{"declaration":41560,"isOffset":false,"isSlot":false,"src":"10649:7:33","valueSize":1},{"declaration":41560,"isOffset":false,"isSlot":false,"src":"10892:7:33","valueSize":1},{"declaration":41560,"isOffset":false,"isSlot":false,"src":"11039:7:33","valueSize":1},{"declaration":41560,"isOffset":false,"isSlot":false,"src":"11389:7:33","valueSize":1},{"declaration":41560,"isOffset":false,"isSlot":false,"src":"11404:7:33","valueSize":1},{"declaration":41553,"isOffset":false,"isSlot":false,"src":"10583:2:33","valueSize":1},{"declaration":41549,"isOffset":false,"isSlot":false,"src":"10672:5:33","valueSize":1},{"declaration":41549,"isOffset":false,"isSlot":false,"src":"11458:5:33","valueSize":1},{"declaration":41555,"isOffset":false,"isSlot":false,"src":"10630:5:33","valueSize":1}],"flags":["memory-safe"],"id":41568,"nodeType":"InlineAssembly","src":"10404:1148:33"}]},"documentation":{"id":41546,"nodeType":"StructuredDocumentation","src":"9623:537:33","text":" @dev Imitates a Solidity `token.transferFrom(from, to, value)` call, relaxing the requirement on the return\n value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param from The sender of the tokens\n @param to The recipient of the tokens\n @param value The amount of token to transfer\n @param bubble Behavior switch if the transfer call reverts: bubble the revert reason or return a false boolean."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransferFrom","nameLocation":"10174:17:33","parameters":{"id":41558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41549,"mutability":"mutable","name":"token","nameLocation":"10208:5:33","nodeType":"VariableDeclaration","scope":41570,"src":"10201:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41548,"nodeType":"UserDefinedTypeName","pathNode":{"id":41547,"name":"IERC20","nameLocations":["10201:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"10201:6:33"},"referencedDeclaration":40923,"src":"10201:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41551,"mutability":"mutable","name":"from","nameLocation":"10231:4:33","nodeType":"VariableDeclaration","scope":41570,"src":"10223:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41550,"name":"address","nodeType":"ElementaryTypeName","src":"10223:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41553,"mutability":"mutable","name":"to","nameLocation":"10253:2:33","nodeType":"VariableDeclaration","scope":41570,"src":"10245:10:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41552,"name":"address","nodeType":"ElementaryTypeName","src":"10245:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41555,"mutability":"mutable","name":"value","nameLocation":"10273:5:33","nodeType":"VariableDeclaration","scope":41570,"src":"10265:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41554,"name":"uint256","nodeType":"ElementaryTypeName","src":"10265:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41557,"mutability":"mutable","name":"bubble","nameLocation":"10293:6:33","nodeType":"VariableDeclaration","scope":41570,"src":"10288:11:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41556,"name":"bool","nodeType":"ElementaryTypeName","src":"10288:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10191:114:33"},"returnParameters":{"id":41561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41560,"mutability":"mutable","name":"success","nameLocation":"10328:7:33","nodeType":"VariableDeclaration","scope":41570,"src":"10323:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41559,"name":"bool","nodeType":"ElementaryTypeName","src":"10323:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10322:14:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":41593,"nodeType":"FunctionDefinition","src":"12059:1252:33","nodes":[],"body":{"id":41592,"nodeType":"Block","src":"12171:1140:33","nodes":[],"statements":[{"assignments":[41586],"declarations":[{"constant":false,"id":41586,"mutability":"mutable","name":"selector","nameLocation":"12188:8:33","nodeType":"VariableDeclaration","scope":41592,"src":"12181:15:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":41585,"name":"bytes4","nodeType":"ElementaryTypeName","src":"12181:6:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":41590,"initialValue":{"expression":{"expression":{"id":41587,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"12199:6:33","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$40923_$","typeString":"type(contract IERC20)"}},"id":41588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12206:7:33","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40910,"src":"12199:14:33","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function IERC20.approve(address,uint256) returns (bool)"}},"id":41589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12214:8:33","memberName":"selector","nodeType":"MemberAccess","src":"12199:23:33","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"12181:41:33"},{"AST":{"nativeSrc":"12258:1047:33","nodeType":"YulBlock","src":"12258:1047:33","statements":[{"nativeSrc":"12272:22:33","nodeType":"YulVariableDeclaration","src":"12272:22:33","value":{"arguments":[{"kind":"number","nativeSrc":"12289:4:33","nodeType":"YulLiteral","src":"12289:4:33","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"12283:5:33","nodeType":"YulIdentifier","src":"12283:5:33"},"nativeSrc":"12283:11:33","nodeType":"YulFunctionCall","src":"12283:11:33"},"variables":[{"name":"fmp","nativeSrc":"12276:3:33","nodeType":"YulTypedName","src":"12276:3:33","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12314:4:33","nodeType":"YulLiteral","src":"12314:4:33","type":"","value":"0x00"},{"name":"selector","nativeSrc":"12320:8:33","nodeType":"YulIdentifier","src":"12320:8:33"}],"functionName":{"name":"mstore","nativeSrc":"12307:6:33","nodeType":"YulIdentifier","src":"12307:6:33"},"nativeSrc":"12307:22:33","nodeType":"YulFunctionCall","src":"12307:22:33"},"nativeSrc":"12307:22:33","nodeType":"YulExpressionStatement","src":"12307:22:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12349:4:33","nodeType":"YulLiteral","src":"12349:4:33","type":"","value":"0x04"},{"arguments":[{"name":"spender","nativeSrc":"12359:7:33","nodeType":"YulIdentifier","src":"12359:7:33"},{"arguments":[{"kind":"number","nativeSrc":"12372:2:33","nodeType":"YulLiteral","src":"12372:2:33","type":"","value":"96"},{"arguments":[{"kind":"number","nativeSrc":"12380:1:33","nodeType":"YulLiteral","src":"12380:1:33","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"12376:3:33","nodeType":"YulIdentifier","src":"12376:3:33"},"nativeSrc":"12376:6:33","nodeType":"YulFunctionCall","src":"12376:6:33"}],"functionName":{"name":"shr","nativeSrc":"12368:3:33","nodeType":"YulIdentifier","src":"12368:3:33"},"nativeSrc":"12368:15:33","nodeType":"YulFunctionCall","src":"12368:15:33"}],"functionName":{"name":"and","nativeSrc":"12355:3:33","nodeType":"YulIdentifier","src":"12355:3:33"},"nativeSrc":"12355:29:33","nodeType":"YulFunctionCall","src":"12355:29:33"}],"functionName":{"name":"mstore","nativeSrc":"12342:6:33","nodeType":"YulIdentifier","src":"12342:6:33"},"nativeSrc":"12342:43:33","nodeType":"YulFunctionCall","src":"12342:43:33"},"nativeSrc":"12342:43:33","nodeType":"YulExpressionStatement","src":"12342:43:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12405:4:33","nodeType":"YulLiteral","src":"12405:4:33","type":"","value":"0x24"},{"name":"value","nativeSrc":"12411:5:33","nodeType":"YulIdentifier","src":"12411:5:33"}],"functionName":{"name":"mstore","nativeSrc":"12398:6:33","nodeType":"YulIdentifier","src":"12398:6:33"},"nativeSrc":"12398:19:33","nodeType":"YulFunctionCall","src":"12398:19:33"},"nativeSrc":"12398:19:33","nodeType":"YulExpressionStatement","src":"12398:19:33"},{"nativeSrc":"12430:56:33","nodeType":"YulAssignment","src":"12430:56:33","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"12446:3:33","nodeType":"YulIdentifier","src":"12446:3:33"},"nativeSrc":"12446:5:33","nodeType":"YulFunctionCall","src":"12446:5:33"},{"name":"token","nativeSrc":"12453:5:33","nodeType":"YulIdentifier","src":"12453:5:33"},{"kind":"number","nativeSrc":"12460:1:33","nodeType":"YulLiteral","src":"12460:1:33","type":"","value":"0"},{"kind":"number","nativeSrc":"12463:4:33","nodeType":"YulLiteral","src":"12463:4:33","type":"","value":"0x00"},{"kind":"number","nativeSrc":"12469:4:33","nodeType":"YulLiteral","src":"12469:4:33","type":"","value":"0x44"},{"kind":"number","nativeSrc":"12475:4:33","nodeType":"YulLiteral","src":"12475:4:33","type":"","value":"0x00"},{"kind":"number","nativeSrc":"12481:4:33","nodeType":"YulLiteral","src":"12481:4:33","type":"","value":"0x20"}],"functionName":{"name":"call","nativeSrc":"12441:4:33","nodeType":"YulIdentifier","src":"12441:4:33"},"nativeSrc":"12441:45:33","nodeType":"YulFunctionCall","src":"12441:45:33"},"variableNames":[{"name":"success","nativeSrc":"12430:7:33","nodeType":"YulIdentifier","src":"12430:7:33"}]},{"body":{"nativeSrc":"12703:562:33","nodeType":"YulBlock","src":"12703:562:33","statements":[{"body":{"nativeSrc":"12838:133:33","nodeType":"YulBlock","src":"12838:133:33","statements":[{"expression":{"arguments":[{"name":"fmp","nativeSrc":"12875:3:33","nodeType":"YulIdentifier","src":"12875:3:33"},{"kind":"number","nativeSrc":"12880:4:33","nodeType":"YulLiteral","src":"12880:4:33","type":"","value":"0x00"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"12886:14:33","nodeType":"YulIdentifier","src":"12886:14:33"},"nativeSrc":"12886:16:33","nodeType":"YulFunctionCall","src":"12886:16:33"}],"functionName":{"name":"returndatacopy","nativeSrc":"12860:14:33","nodeType":"YulIdentifier","src":"12860:14:33"},"nativeSrc":"12860:43:33","nodeType":"YulFunctionCall","src":"12860:43:33"},"nativeSrc":"12860:43:33","nodeType":"YulExpressionStatement","src":"12860:43:33"},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"12931:3:33","nodeType":"YulIdentifier","src":"12931:3:33"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"12936:14:33","nodeType":"YulIdentifier","src":"12936:14:33"},"nativeSrc":"12936:16:33","nodeType":"YulFunctionCall","src":"12936:16:33"}],"functionName":{"name":"revert","nativeSrc":"12924:6:33","nodeType":"YulIdentifier","src":"12924:6:33"},"nativeSrc":"12924:29:33","nodeType":"YulFunctionCall","src":"12924:29:33"},"nativeSrc":"12924:29:33","nodeType":"YulExpressionStatement","src":"12924:29:33"}]},"condition":{"arguments":[{"arguments":[{"name":"success","nativeSrc":"12820:7:33","nodeType":"YulIdentifier","src":"12820:7:33"}],"functionName":{"name":"iszero","nativeSrc":"12813:6:33","nodeType":"YulIdentifier","src":"12813:6:33"},"nativeSrc":"12813:15:33","nodeType":"YulFunctionCall","src":"12813:15:33"},{"name":"bubble","nativeSrc":"12830:6:33","nodeType":"YulIdentifier","src":"12830:6:33"}],"functionName":{"name":"and","nativeSrc":"12809:3:33","nodeType":"YulIdentifier","src":"12809:3:33"},"nativeSrc":"12809:28:33","nodeType":"YulFunctionCall","src":"12809:28:33"},"nativeSrc":"12806:165:33","nodeType":"YulIf","src":"12806:165:33"},{"nativeSrc":"13170:81:33","nodeType":"YulAssignment","src":"13170:81:33","value":{"arguments":[{"name":"success","nativeSrc":"13185:7:33","nodeType":"YulIdentifier","src":"13185:7:33"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"13205:14:33","nodeType":"YulIdentifier","src":"13205:14:33"},"nativeSrc":"13205:16:33","nodeType":"YulFunctionCall","src":"13205:16:33"}],"functionName":{"name":"iszero","nativeSrc":"13198:6:33","nodeType":"YulIdentifier","src":"13198:6:33"},"nativeSrc":"13198:24:33","nodeType":"YulFunctionCall","src":"13198:24:33"},{"arguments":[{"arguments":[{"name":"token","nativeSrc":"13239:5:33","nodeType":"YulIdentifier","src":"13239:5:33"}],"functionName":{"name":"extcodesize","nativeSrc":"13227:11:33","nodeType":"YulIdentifier","src":"13227:11:33"},"nativeSrc":"13227:18:33","nodeType":"YulFunctionCall","src":"13227:18:33"},{"kind":"number","nativeSrc":"13247:1:33","nodeType":"YulLiteral","src":"13247:1:33","type":"","value":"0"}],"functionName":{"name":"gt","nativeSrc":"13224:2:33","nodeType":"YulIdentifier","src":"13224:2:33"},"nativeSrc":"13224:25:33","nodeType":"YulFunctionCall","src":"13224:25:33"}],"functionName":{"name":"and","nativeSrc":"13194:3:33","nodeType":"YulIdentifier","src":"13194:3:33"},"nativeSrc":"13194:56:33","nodeType":"YulFunctionCall","src":"13194:56:33"}],"functionName":{"name":"and","nativeSrc":"13181:3:33","nodeType":"YulIdentifier","src":"13181:3:33"},"nativeSrc":"13181:70:33","nodeType":"YulFunctionCall","src":"13181:70:33"},"variableNames":[{"name":"success","nativeSrc":"13170:7:33","nodeType":"YulIdentifier","src":"13170:7:33"}]}]},"condition":{"arguments":[{"arguments":[{"name":"success","nativeSrc":"12673:7:33","nodeType":"YulIdentifier","src":"12673:7:33"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12691:4:33","nodeType":"YulLiteral","src":"12691:4:33","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"12685:5:33","nodeType":"YulIdentifier","src":"12685:5:33"},"nativeSrc":"12685:11:33","nodeType":"YulFunctionCall","src":"12685:11:33"},{"kind":"number","nativeSrc":"12698:1:33","nodeType":"YulLiteral","src":"12698:1:33","type":"","value":"1"}],"functionName":{"name":"eq","nativeSrc":"12682:2:33","nodeType":"YulIdentifier","src":"12682:2:33"},"nativeSrc":"12682:18:33","nodeType":"YulFunctionCall","src":"12682:18:33"}],"functionName":{"name":"and","nativeSrc":"12669:3:33","nodeType":"YulIdentifier","src":"12669:3:33"},"nativeSrc":"12669:32:33","nodeType":"YulFunctionCall","src":"12669:32:33"}],"functionName":{"name":"iszero","nativeSrc":"12662:6:33","nodeType":"YulIdentifier","src":"12662:6:33"},"nativeSrc":"12662:40:33","nodeType":"YulFunctionCall","src":"12662:40:33"},"nativeSrc":"12659:606:33","nodeType":"YulIf","src":"12659:606:33"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13285:4:33","nodeType":"YulLiteral","src":"13285:4:33","type":"","value":"0x40"},{"name":"fmp","nativeSrc":"13291:3:33","nodeType":"YulIdentifier","src":"13291:3:33"}],"functionName":{"name":"mstore","nativeSrc":"13278:6:33","nodeType":"YulIdentifier","src":"13278:6:33"},"nativeSrc":"13278:17:33","nodeType":"YulFunctionCall","src":"13278:17:33"},"nativeSrc":"13278:17:33","nodeType":"YulExpressionStatement","src":"13278:17:33"}]},"evmVersion":"prague","externalReferences":[{"declaration":41580,"isOffset":false,"isSlot":false,"src":"12830:6:33","valueSize":1},{"declaration":41586,"isOffset":false,"isSlot":false,"src":"12320:8:33","valueSize":1},{"declaration":41576,"isOffset":false,"isSlot":false,"src":"12359:7:33","valueSize":1},{"declaration":41583,"isOffset":false,"isSlot":false,"src":"12430:7:33","valueSize":1},{"declaration":41583,"isOffset":false,"isSlot":false,"src":"12673:7:33","valueSize":1},{"declaration":41583,"isOffset":false,"isSlot":false,"src":"12820:7:33","valueSize":1},{"declaration":41583,"isOffset":false,"isSlot":false,"src":"13170:7:33","valueSize":1},{"declaration":41583,"isOffset":false,"isSlot":false,"src":"13185:7:33","valueSize":1},{"declaration":41574,"isOffset":false,"isSlot":false,"src":"12453:5:33","valueSize":1},{"declaration":41574,"isOffset":false,"isSlot":false,"src":"13239:5:33","valueSize":1},{"declaration":41578,"isOffset":false,"isSlot":false,"src":"12411:5:33","valueSize":1}],"flags":["memory-safe"],"id":41591,"nodeType":"InlineAssembly","src":"12233:1072:33"}]},"documentation":{"id":41571,"nodeType":"StructuredDocumentation","src":"11564:490:33","text":" @dev Imitates a Solidity `token.approve(spender, value)` call, relaxing the requirement on the return value:\n the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param spender The spender of the tokens\n @param value The amount of token to transfer\n @param bubble Behavior switch if the transfer call reverts: bubble the revert reason or return a false boolean."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeApprove","nameLocation":"12068:12:33","parameters":{"id":41581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41574,"mutability":"mutable","name":"token","nameLocation":"12088:5:33","nodeType":"VariableDeclaration","scope":41593,"src":"12081:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":41573,"nodeType":"UserDefinedTypeName","pathNode":{"id":41572,"name":"IERC20","nameLocations":["12081:6:33"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"12081:6:33"},"referencedDeclaration":40923,"src":"12081:6:33","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":41576,"mutability":"mutable","name":"spender","nameLocation":"12103:7:33","nodeType":"VariableDeclaration","scope":41593,"src":"12095:15:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41575,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41578,"mutability":"mutable","name":"value","nameLocation":"12120:5:33","nodeType":"VariableDeclaration","scope":41593,"src":"12112:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41577,"name":"uint256","nodeType":"ElementaryTypeName","src":"12112:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41580,"mutability":"mutable","name":"bubble","nameLocation":"12132:6:33","nodeType":"VariableDeclaration","scope":41593,"src":"12127:11:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41579,"name":"bool","nodeType":"ElementaryTypeName","src":"12127:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12080:59:33"},"returnParameters":{"id":41584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41583,"mutability":"mutable","name":"success","nameLocation":"12162:7:33","nodeType":"VariableDeclaration","scope":41593,"src":"12157:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41582,"name":"bool","nodeType":"ElementaryTypeName","src":"12157:4:33","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12156:14:33"},"scope":41594,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":41146,"nodeType":"StructuredDocumentation","src":"239:458:33","text":" @title SafeERC20\n @dev Wrappers around ERC-20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[41594],"name":"SafeERC20","nameLocation":"706:9:33","scope":41595,"usedErrors":[41151,41160],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Bytes.sol":{"id":34,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Bytes.sol","id":42308,"exportedSymbols":{"Bytes":[42307],"Math":[46817]},"nodeType":"SourceUnit","src":"99:11245:34","nodes":[{"id":41596,"nodeType":"PragmaDirective","src":"99:24:34","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":41598,"nodeType":"ImportDirective","src":"125:37:34","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"./math/Math.sol","nameLocation":"-1:-1:-1","scope":42308,"sourceUnit":46818,"symbolAliases":[{"foreign":{"id":41597,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"133:4:34","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42307,"nodeType":"ContractDefinition","src":"198:11145:34","nodes":[{"id":41616,"nodeType":"FunctionDefinition","src":"607:125:34","nodes":[],"body":{"id":41615,"nodeType":"Block","src":"687:45:34","nodes":[],"statements":[{"expression":{"arguments":[{"id":41610,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41602,"src":"712:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":41611,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41604,"src":"720:1:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"hexValue":"30","id":41612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"723:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":41609,"name":"indexOf","nodeType":"Identifier","overloadedDeclarations":[41616,41665],"referencedDeclaration":41665,"src":"704:7:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes1_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bytes memory,bytes1,uint256) pure returns (uint256)"}},"id":41613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"704:21:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41608,"id":41614,"nodeType":"Return","src":"697:28:34"}]},"documentation":{"id":41600,"nodeType":"StructuredDocumentation","src":"218:384:34","text":" @dev Forward search for `s` in `buffer`\n * If `s` is present in the buffer, returns the index of the first instance\n * If `s` is not present in the buffer, returns type(uint256).max\n NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf[Javascript's `Array.indexOf`]"},"implemented":true,"kind":"function","modifiers":[],"name":"indexOf","nameLocation":"616:7:34","parameters":{"id":41605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41602,"mutability":"mutable","name":"buffer","nameLocation":"637:6:34","nodeType":"VariableDeclaration","scope":41616,"src":"624:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41601,"name":"bytes","nodeType":"ElementaryTypeName","src":"624:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41604,"mutability":"mutable","name":"s","nameLocation":"652:1:34","nodeType":"VariableDeclaration","scope":41616,"src":"645:8:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":41603,"name":"bytes1","nodeType":"ElementaryTypeName","src":"645:6:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"623:31:34"},"returnParameters":{"id":41608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41616,"src":"678:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41606,"name":"uint256","nodeType":"ElementaryTypeName","src":"678:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"677:9:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":41665,"nodeType":"FunctionDefinition","src":"1193:339:34","nodes":[],"body":{"id":41664,"nodeType":"Block","src":"1286:246:34","nodes":[],"statements":[{"assignments":[41629],"declarations":[{"constant":false,"id":41629,"mutability":"mutable","name":"length","nameLocation":"1304:6:34","nodeType":"VariableDeclaration","scope":41664,"src":"1296:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41628,"name":"uint256","nodeType":"ElementaryTypeName","src":"1296:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41632,"initialValue":{"expression":{"id":41630,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41619,"src":"1313:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1320:6:34","memberName":"length","nodeType":"MemberAccess","src":"1313:13:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1296:30:34"},{"body":{"id":41656,"nodeType":"Block","src":"1375:117:34","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":41651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":41646,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41619,"src":"1423:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":41647,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41634,"src":"1431:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41645,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42306,"src":"1400:22:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":41648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1400:33:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":41644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1393:6:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":41643,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1393:6:34","typeDescriptions":{}}},"id":41649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1393:41:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":41650,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41621,"src":"1438:1:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"1393:46:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41655,"nodeType":"IfStatement","src":"1389:93:34","trueBody":{"id":41654,"nodeType":"Block","src":"1441:41:34","statements":[{"expression":{"id":41652,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41634,"src":"1466:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41627,"id":41653,"nodeType":"Return","src":"1459:8:34"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41634,"src":"1358:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":41638,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41629,"src":"1362:6:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1358:10:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41657,"initializationExpression":{"assignments":[41634],"declarations":[{"constant":false,"id":41634,"mutability":"mutable","name":"i","nameLocation":"1349:1:34","nodeType":"VariableDeclaration","scope":41657,"src":"1341:9:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41633,"name":"uint256","nodeType":"ElementaryTypeName","src":"1341:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41636,"initialValue":{"id":41635,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41623,"src":"1353:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1341:15:34"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":41641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"1370:3:34","subExpression":{"id":41640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41634,"src":"1372:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41642,"nodeType":"ExpressionStatement","src":"1370:3:34"},"nodeType":"ForStatement","src":"1336:156:34"},{"expression":{"expression":{"arguments":[{"id":41660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1513:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":41659,"name":"uint256","nodeType":"ElementaryTypeName","src":"1513:7:34","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":41658,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1508:4:34","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":41661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1508:13:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":41662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1522:3:34","memberName":"max","nodeType":"MemberAccess","src":"1508:17:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41627,"id":41663,"nodeType":"Return","src":"1501:24:34"}]},"documentation":{"id":41617,"nodeType":"StructuredDocumentation","src":"738:450:34","text":" @dev Forward search for `s` in `buffer` starting at position `pos`\n * If `s` is present in the buffer (at or after `pos`), returns the index of the next instance\n * If `s` is not present in the buffer (at or after `pos`), returns type(uint256).max\n NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf[Javascript's `Array.indexOf`]"},"implemented":true,"kind":"function","modifiers":[],"name":"indexOf","nameLocation":"1202:7:34","parameters":{"id":41624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41619,"mutability":"mutable","name":"buffer","nameLocation":"1223:6:34","nodeType":"VariableDeclaration","scope":41665,"src":"1210:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41618,"name":"bytes","nodeType":"ElementaryTypeName","src":"1210:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41621,"mutability":"mutable","name":"s","nameLocation":"1238:1:34","nodeType":"VariableDeclaration","scope":41665,"src":"1231:8:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":41620,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1231:6:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":41623,"mutability":"mutable","name":"pos","nameLocation":"1249:3:34","nodeType":"VariableDeclaration","scope":41665,"src":"1241:11:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41622,"name":"uint256","nodeType":"ElementaryTypeName","src":"1241:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1209:44:34"},"returnParameters":{"id":41627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41665,"src":"1277:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41625,"name":"uint256","nodeType":"ElementaryTypeName","src":"1277:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1276:9:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":41686,"nodeType":"FunctionDefinition","src":"1935:149:34","nodes":[],"body":{"id":41685,"nodeType":"Block","src":"2019:65:34","nodes":[],"statements":[{"expression":{"arguments":[{"id":41676,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41668,"src":"2048:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":41677,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41670,"src":"2056:1:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"expression":{"arguments":[{"id":41680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2064:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":41679,"name":"uint256","nodeType":"ElementaryTypeName","src":"2064:7:34","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":41678,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2059:4:34","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":41681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2059:13:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":41682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2073:3:34","memberName":"max","nodeType":"MemberAccess","src":"2059:17:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41675,"name":"lastIndexOf","nodeType":"Identifier","overloadedDeclarations":[41686,41748],"referencedDeclaration":41748,"src":"2036:11:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes1_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bytes memory,bytes1,uint256) pure returns (uint256)"}},"id":41683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2036:41:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41674,"id":41684,"nodeType":"Return","src":"2029:48:34"}]},"documentation":{"id":41666,"nodeType":"StructuredDocumentation","src":"1538:392:34","text":" @dev Backward search for `s` in `buffer`\n * If `s` is present in the buffer, returns the index of the last instance\n * If `s` is not present in the buffer, returns type(uint256).max\n NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf[Javascript's `Array.lastIndexOf`]"},"implemented":true,"kind":"function","modifiers":[],"name":"lastIndexOf","nameLocation":"1944:11:34","parameters":{"id":41671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41668,"mutability":"mutable","name":"buffer","nameLocation":"1969:6:34","nodeType":"VariableDeclaration","scope":41686,"src":"1956:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41667,"name":"bytes","nodeType":"ElementaryTypeName","src":"1956:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41670,"mutability":"mutable","name":"s","nameLocation":"1984:1:34","nodeType":"VariableDeclaration","scope":41686,"src":"1977:8:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":41669,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1977:6:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1955:31:34"},"returnParameters":{"id":41674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41673,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41686,"src":"2010:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41672,"name":"uint256","nodeType":"ElementaryTypeName","src":"2010:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2009:9:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":41748,"nodeType":"FunctionDefinition","src":"2560:445:34","nodes":[],"body":{"id":41747,"nodeType":"Block","src":"2657:348:34","nodes":[],"statements":[{"id":41746,"nodeType":"UncheckedBlock","src":"2667:332:34","statements":[{"assignments":[41699],"declarations":[{"constant":false,"id":41699,"mutability":"mutable","name":"length","nameLocation":"2699:6:34","nodeType":"VariableDeclaration","scope":41746,"src":"2691:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41698,"name":"uint256","nodeType":"ElementaryTypeName","src":"2691:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41702,"initialValue":{"expression":{"id":41700,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41689,"src":"2708:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2715:6:34","memberName":"length","nodeType":"MemberAccess","src":"2708:13:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2691:30:34"},{"body":{"id":41738,"nodeType":"Block","src":"2810:141:34","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":41731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":41724,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41689,"src":"2862:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41725,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41704,"src":"2870:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":41726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2874:1:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2870:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41723,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42306,"src":"2839:22:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":41728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2839:37:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":41722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2832:6:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":41721,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2832:6:34","typeDescriptions":{}}},"id":41729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2832:45:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":41730,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41691,"src":"2881:1:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2832:50:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41737,"nodeType":"IfStatement","src":"2828:109:34","trueBody":{"id":41736,"nodeType":"Block","src":"2884:53:34","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41732,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41704,"src":"2913:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":41733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2917:1:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2913:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41697,"id":41735,"nodeType":"Return","src":"2906:12:34"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41704,"src":"2798:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":41716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2802:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2798:5:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41739,"initializationExpression":{"assignments":[41704],"declarations":[{"constant":false,"id":41704,"mutability":"mutable","name":"i","nameLocation":"2748:1:34","nodeType":"VariableDeclaration","scope":41739,"src":"2740:9:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41703,"name":"uint256","nodeType":"ElementaryTypeName","src":"2740:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41714,"initialValue":{"arguments":[{"arguments":[{"id":41709,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41693,"src":"2780:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":41710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2785:1:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":41707,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"2761:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":41708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2766:13:34","memberName":"saturatingAdd","nodeType":"MemberAccess","referencedDeclaration":45387,"src":"2761:18:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":41711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:26:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":41712,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41699,"src":"2789:6:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41705,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"2752:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":41706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2757:3:34","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":45502,"src":"2752:8:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":41713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2752:44:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2740:56:34"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":41719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"2805:3:34","subExpression":{"id":41718,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41704,"src":"2807:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41720,"nodeType":"ExpressionStatement","src":"2805:3:34"},"nodeType":"ForStatement","src":"2735:216:34"},{"expression":{"expression":{"arguments":[{"id":41742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2976:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":41741,"name":"uint256","nodeType":"ElementaryTypeName","src":"2976:7:34","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":41740,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2971:4:34","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":41743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2971:13:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":41744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2985:3:34","memberName":"max","nodeType":"MemberAccess","src":"2971:17:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":41697,"id":41745,"nodeType":"Return","src":"2964:24:34"}]}]},"documentation":{"id":41687,"nodeType":"StructuredDocumentation","src":"2090:465:34","text":" @dev Backward search for `s` in `buffer` starting at position `pos`\n * If `s` is present in the buffer (at or before `pos`), returns the index of the previous instance\n * If `s` is not present in the buffer (at or before `pos`), returns type(uint256).max\n NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf[Javascript's `Array.lastIndexOf`]"},"implemented":true,"kind":"function","modifiers":[],"name":"lastIndexOf","nameLocation":"2569:11:34","parameters":{"id":41694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41689,"mutability":"mutable","name":"buffer","nameLocation":"2594:6:34","nodeType":"VariableDeclaration","scope":41748,"src":"2581:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41688,"name":"bytes","nodeType":"ElementaryTypeName","src":"2581:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41691,"mutability":"mutable","name":"s","nameLocation":"2609:1:34","nodeType":"VariableDeclaration","scope":41748,"src":"2602:8:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":41690,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2602:6:34","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":41693,"mutability":"mutable","name":"pos","nameLocation":"2620:3:34","nodeType":"VariableDeclaration","scope":41748,"src":"2612:11:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41692,"name":"uint256","nodeType":"ElementaryTypeName","src":"2612:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2580:44:34"},"returnParameters":{"id":41697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41696,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41748,"src":"2648:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41695,"name":"uint256","nodeType":"ElementaryTypeName","src":"2648:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2647:9:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":41766,"nodeType":"FunctionDefinition","src":"3328:147:34","nodes":[],"body":{"id":41765,"nodeType":"Block","src":"3416:59:34","nodes":[],"statements":[{"expression":{"arguments":[{"id":41759,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41751,"src":"3439:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":41760,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41753,"src":"3447:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":41761,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41751,"src":"3454:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3461:6:34","memberName":"length","nodeType":"MemberAccess","src":"3454:13:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41758,"name":"slice","nodeType":"Identifier","overloadedDeclarations":[41766,41808],"referencedDeclaration":41808,"src":"3433:5:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,uint256,uint256) pure returns (bytes memory)"}},"id":41763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3433:35:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":41757,"id":41764,"nodeType":"Return","src":"3426:42:34"}]},"documentation":{"id":41749,"nodeType":"StructuredDocumentation","src":"3011:312:34","text":" @dev Copies the content of `buffer`, from `start` (included) to the end of `buffer` into a new bytes object in\n memory.\n NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice[Javascript's `Array.slice`]"},"implemented":true,"kind":"function","modifiers":[],"name":"slice","nameLocation":"3337:5:34","parameters":{"id":41754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41751,"mutability":"mutable","name":"buffer","nameLocation":"3356:6:34","nodeType":"VariableDeclaration","scope":41766,"src":"3343:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41750,"name":"bytes","nodeType":"ElementaryTypeName","src":"3343:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41753,"mutability":"mutable","name":"start","nameLocation":"3372:5:34","nodeType":"VariableDeclaration","scope":41766,"src":"3364:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41752,"name":"uint256","nodeType":"ElementaryTypeName","src":"3364:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3342:36:34"},"returnParameters":{"id":41757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41766,"src":"3402:12:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41755,"name":"bytes","nodeType":"ElementaryTypeName","src":"3402:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3401:14:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":41808,"nodeType":"FunctionDefinition","src":"3858:448:34","nodes":[],"body":{"id":41807,"nodeType":"Block","src":"3959:347:34","nodes":[],"statements":[{"expression":{"id":41785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":41778,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41773,"src":"3989:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":41781,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41773,"src":"4004:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":41782,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41769,"src":"4009:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4016:6:34","memberName":"length","nodeType":"MemberAccess","src":"4009:13:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41779,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"3995:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":41780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4000:3:34","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":45502,"src":"3995:8:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":41784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:28:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3989:34:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41786,"nodeType":"ExpressionStatement","src":"3989:34:34"},{"expression":{"id":41793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":41787,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41771,"src":"4033:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":41790,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41771,"src":"4050:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":41791,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41773,"src":"4057:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41788,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"4041:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":41789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4046:3:34","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":45502,"src":"4041:8:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":41792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4041:20:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4033:28:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41794,"nodeType":"ExpressionStatement","src":"4033:28:34"},{"assignments":[41796],"declarations":[{"constant":false,"id":41796,"mutability":"mutable","name":"result","nameLocation":"4114:6:34","nodeType":"VariableDeclaration","scope":41807,"src":"4101:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41795,"name":"bytes","nodeType":"ElementaryTypeName","src":"4101:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":41803,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41799,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41773,"src":"4133:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":41800,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41771,"src":"4139:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4133:11:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4123:9:34","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":41797,"name":"bytes","nodeType":"ElementaryTypeName","src":"4127:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":41802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4123:22:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4101:44:34"},{"AST":{"nativeSrc":"4180:96:34","nodeType":"YulBlock","src":"4180:96:34","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"4204:6:34","nodeType":"YulIdentifier","src":"4204:6:34"},{"kind":"number","nativeSrc":"4212:4:34","nodeType":"YulLiteral","src":"4212:4:34","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4200:3:34","nodeType":"YulIdentifier","src":"4200:3:34"},"nativeSrc":"4200:17:34","nodeType":"YulFunctionCall","src":"4200:17:34"},{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"4227:6:34","nodeType":"YulIdentifier","src":"4227:6:34"},{"kind":"number","nativeSrc":"4235:4:34","nodeType":"YulLiteral","src":"4235:4:34","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4223:3:34","nodeType":"YulIdentifier","src":"4223:3:34"},"nativeSrc":"4223:17:34","nodeType":"YulFunctionCall","src":"4223:17:34"},{"name":"start","nativeSrc":"4242:5:34","nodeType":"YulIdentifier","src":"4242:5:34"}],"functionName":{"name":"add","nativeSrc":"4219:3:34","nodeType":"YulIdentifier","src":"4219:3:34"},"nativeSrc":"4219:29:34","nodeType":"YulFunctionCall","src":"4219:29:34"},{"arguments":[{"name":"end","nativeSrc":"4254:3:34","nodeType":"YulIdentifier","src":"4254:3:34"},{"name":"start","nativeSrc":"4259:5:34","nodeType":"YulIdentifier","src":"4259:5:34"}],"functionName":{"name":"sub","nativeSrc":"4250:3:34","nodeType":"YulIdentifier","src":"4250:3:34"},"nativeSrc":"4250:15:34","nodeType":"YulFunctionCall","src":"4250:15:34"}],"functionName":{"name":"mcopy","nativeSrc":"4194:5:34","nodeType":"YulIdentifier","src":"4194:5:34"},"nativeSrc":"4194:72:34","nodeType":"YulFunctionCall","src":"4194:72:34"},"nativeSrc":"4194:72:34","nodeType":"YulExpressionStatement","src":"4194:72:34"}]},"evmVersion":"prague","externalReferences":[{"declaration":41769,"isOffset":false,"isSlot":false,"src":"4227:6:34","valueSize":1},{"declaration":41773,"isOffset":false,"isSlot":false,"src":"4254:3:34","valueSize":1},{"declaration":41796,"isOffset":false,"isSlot":false,"src":"4204:6:34","valueSize":1},{"declaration":41771,"isOffset":false,"isSlot":false,"src":"4242:5:34","valueSize":1},{"declaration":41771,"isOffset":false,"isSlot":false,"src":"4259:5:34","valueSize":1}],"flags":["memory-safe"],"id":41804,"nodeType":"InlineAssembly","src":"4155:121:34"},{"expression":{"id":41805,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41796,"src":"4293:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":41777,"id":41806,"nodeType":"Return","src":"4286:13:34"}]},"documentation":{"id":41767,"nodeType":"StructuredDocumentation","src":"3481:372:34","text":" @dev Copies the content of `buffer`, from `start` (included) to `end` (excluded) into a new bytes object in\n memory. The `end` argument is truncated to the length of the `buffer`.\n NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice[Javascript's `Array.slice`]"},"implemented":true,"kind":"function","modifiers":[],"name":"slice","nameLocation":"3867:5:34","parameters":{"id":41774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41769,"mutability":"mutable","name":"buffer","nameLocation":"3886:6:34","nodeType":"VariableDeclaration","scope":41808,"src":"3873:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41768,"name":"bytes","nodeType":"ElementaryTypeName","src":"3873:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41771,"mutability":"mutable","name":"start","nameLocation":"3902:5:34","nodeType":"VariableDeclaration","scope":41808,"src":"3894:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41770,"name":"uint256","nodeType":"ElementaryTypeName","src":"3894:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41773,"mutability":"mutable","name":"end","nameLocation":"3917:3:34","nodeType":"VariableDeclaration","scope":41808,"src":"3909:11:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41772,"name":"uint256","nodeType":"ElementaryTypeName","src":"3909:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3872:49:34"},"returnParameters":{"id":41777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41776,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41808,"src":"3945:12:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41775,"name":"bytes","nodeType":"ElementaryTypeName","src":"3945:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3944:14:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":41826,"nodeType":"FunctionDefinition","src":"4748:149:34","nodes":[],"body":{"id":41825,"nodeType":"Block","src":"4837:60:34","nodes":[],"statements":[{"expression":{"arguments":[{"id":41819,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41811,"src":"4861:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":41820,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41813,"src":"4869:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":41821,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41811,"src":"4876:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4883:6:34","memberName":"length","nodeType":"MemberAccess","src":"4876:13:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41818,"name":"splice","nodeType":"Identifier","overloadedDeclarations":[41826,41859],"referencedDeclaration":41859,"src":"4854:6:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,uint256,uint256) pure returns (bytes memory)"}},"id":41823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4854:36:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":41817,"id":41824,"nodeType":"Return","src":"4847:43:34"}]},"documentation":{"id":41809,"nodeType":"StructuredDocumentation","src":"4312:431:34","text":" @dev Moves the content of `buffer`, from `start` (included) to the end of `buffer` to the start of that buffer.\n NOTE: This function modifies the provided buffer in place. If you need to preserve the original buffer, use {slice} instead\n NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice[Javascript's `Array.splice`]"},"implemented":true,"kind":"function","modifiers":[],"name":"splice","nameLocation":"4757:6:34","parameters":{"id":41814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41811,"mutability":"mutable","name":"buffer","nameLocation":"4777:6:34","nodeType":"VariableDeclaration","scope":41826,"src":"4764:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41810,"name":"bytes","nodeType":"ElementaryTypeName","src":"4764:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41813,"mutability":"mutable","name":"start","nameLocation":"4793:5:34","nodeType":"VariableDeclaration","scope":41826,"src":"4785:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41812,"name":"uint256","nodeType":"ElementaryTypeName","src":"4785:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4763:36:34"},"returnParameters":{"id":41817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41826,"src":"4823:12:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41815,"name":"bytes","nodeType":"ElementaryTypeName","src":"4823:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4822:14:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":41859,"nodeType":"FunctionDefinition","src":"5404:439:34","nodes":[],"body":{"id":41858,"nodeType":"Block","src":"5506:337:34","nodes":[],"statements":[{"expression":{"id":41845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":41838,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41833,"src":"5536:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":41841,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41833,"src":"5551:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":41842,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41829,"src":"5556:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5563:6:34","memberName":"length","nodeType":"MemberAccess","src":"5556:13:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41839,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"5542:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":41840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5547:3:34","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":45502,"src":"5542:8:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":41844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5542:28:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5536:34:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41846,"nodeType":"ExpressionStatement","src":"5536:34:34"},{"expression":{"id":41853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":41847,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41831,"src":"5580:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":41850,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41831,"src":"5597:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":41851,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41833,"src":"5604:3:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":41848,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"5588:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":41849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5593:3:34","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":45502,"src":"5588:8:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":41852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5588:20:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5580:28:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41854,"nodeType":"ExpressionStatement","src":"5580:28:34"},{"AST":{"nativeSrc":"5673:140:34","nodeType":"YulBlock","src":"5673:140:34","statements":[{"expression":{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"5697:6:34","nodeType":"YulIdentifier","src":"5697:6:34"},{"kind":"number","nativeSrc":"5705:4:34","nodeType":"YulLiteral","src":"5705:4:34","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5693:3:34","nodeType":"YulIdentifier","src":"5693:3:34"},"nativeSrc":"5693:17:34","nodeType":"YulFunctionCall","src":"5693:17:34"},{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"5720:6:34","nodeType":"YulIdentifier","src":"5720:6:34"},{"kind":"number","nativeSrc":"5728:4:34","nodeType":"YulLiteral","src":"5728:4:34","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5716:3:34","nodeType":"YulIdentifier","src":"5716:3:34"},"nativeSrc":"5716:17:34","nodeType":"YulFunctionCall","src":"5716:17:34"},{"name":"start","nativeSrc":"5735:5:34","nodeType":"YulIdentifier","src":"5735:5:34"}],"functionName":{"name":"add","nativeSrc":"5712:3:34","nodeType":"YulIdentifier","src":"5712:3:34"},"nativeSrc":"5712:29:34","nodeType":"YulFunctionCall","src":"5712:29:34"},{"arguments":[{"name":"end","nativeSrc":"5747:3:34","nodeType":"YulIdentifier","src":"5747:3:34"},{"name":"start","nativeSrc":"5752:5:34","nodeType":"YulIdentifier","src":"5752:5:34"}],"functionName":{"name":"sub","nativeSrc":"5743:3:34","nodeType":"YulIdentifier","src":"5743:3:34"},"nativeSrc":"5743:15:34","nodeType":"YulFunctionCall","src":"5743:15:34"}],"functionName":{"name":"mcopy","nativeSrc":"5687:5:34","nodeType":"YulIdentifier","src":"5687:5:34"},"nativeSrc":"5687:72:34","nodeType":"YulFunctionCall","src":"5687:72:34"},"nativeSrc":"5687:72:34","nodeType":"YulExpressionStatement","src":"5687:72:34"},{"expression":{"arguments":[{"name":"buffer","nativeSrc":"5779:6:34","nodeType":"YulIdentifier","src":"5779:6:34"},{"arguments":[{"name":"end","nativeSrc":"5791:3:34","nodeType":"YulIdentifier","src":"5791:3:34"},{"name":"start","nativeSrc":"5796:5:34","nodeType":"YulIdentifier","src":"5796:5:34"}],"functionName":{"name":"sub","nativeSrc":"5787:3:34","nodeType":"YulIdentifier","src":"5787:3:34"},"nativeSrc":"5787:15:34","nodeType":"YulFunctionCall","src":"5787:15:34"}],"functionName":{"name":"mstore","nativeSrc":"5772:6:34","nodeType":"YulIdentifier","src":"5772:6:34"},"nativeSrc":"5772:31:34","nodeType":"YulFunctionCall","src":"5772:31:34"},"nativeSrc":"5772:31:34","nodeType":"YulExpressionStatement","src":"5772:31:34"}]},"evmVersion":"prague","externalReferences":[{"declaration":41829,"isOffset":false,"isSlot":false,"src":"5697:6:34","valueSize":1},{"declaration":41829,"isOffset":false,"isSlot":false,"src":"5720:6:34","valueSize":1},{"declaration":41829,"isOffset":false,"isSlot":false,"src":"5779:6:34","valueSize":1},{"declaration":41833,"isOffset":false,"isSlot":false,"src":"5747:3:34","valueSize":1},{"declaration":41833,"isOffset":false,"isSlot":false,"src":"5791:3:34","valueSize":1},{"declaration":41831,"isOffset":false,"isSlot":false,"src":"5735:5:34","valueSize":1},{"declaration":41831,"isOffset":false,"isSlot":false,"src":"5752:5:34","valueSize":1},{"declaration":41831,"isOffset":false,"isSlot":false,"src":"5796:5:34","valueSize":1}],"flags":["memory-safe"],"id":41855,"nodeType":"InlineAssembly","src":"5648:165:34"},{"expression":{"id":41856,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41829,"src":"5830:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":41837,"id":41857,"nodeType":"Return","src":"5823:13:34"}]},"documentation":{"id":41827,"nodeType":"StructuredDocumentation","src":"4903:496:34","text":" @dev Moves the content of `buffer`, from `start` (included) to end (excluded) to the start of that buffer. The\n `end` argument is truncated to the length of the `buffer`.\n NOTE: This function modifies the provided buffer in place. If you need to preserve the original buffer, use {slice} instead\n NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice[Javascript's `Array.splice`]"},"implemented":true,"kind":"function","modifiers":[],"name":"splice","nameLocation":"5413:6:34","parameters":{"id":41834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41829,"mutability":"mutable","name":"buffer","nameLocation":"5433:6:34","nodeType":"VariableDeclaration","scope":41859,"src":"5420:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41828,"name":"bytes","nodeType":"ElementaryTypeName","src":"5420:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41831,"mutability":"mutable","name":"start","nameLocation":"5449:5:34","nodeType":"VariableDeclaration","scope":41859,"src":"5441:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41830,"name":"uint256","nodeType":"ElementaryTypeName","src":"5441:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41833,"mutability":"mutable","name":"end","nameLocation":"5464:3:34","nodeType":"VariableDeclaration","scope":41859,"src":"5456:11:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41832,"name":"uint256","nodeType":"ElementaryTypeName","src":"5456:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5419:49:34"},"returnParameters":{"id":41837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41836,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41859,"src":"5492:12:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41835,"name":"bytes","nodeType":"ElementaryTypeName","src":"5492:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5491:14:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":41932,"nodeType":"FunctionDefinition","src":"6303:640:34","nodes":[],"body":{"id":41931,"nodeType":"Block","src":"6380:563:34","nodes":[],"statements":[{"assignments":[41869],"declarations":[{"constant":false,"id":41869,"mutability":"mutable","name":"length","nameLocation":"6398:6:34","nodeType":"VariableDeclaration","scope":41931,"src":"6390:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41868,"name":"uint256","nodeType":"ElementaryTypeName","src":"6390:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41871,"initialValue":{"hexValue":"30","id":41870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6407:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6390:18:34"},{"body":{"id":41890,"nodeType":"Block","src":"6463:52:34","statements":[{"expression":{"id":41888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":41883,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41869,"src":"6477:6:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":41884,"name":"buffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41863,"src":"6487:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":41886,"indexExpression":{"id":41885,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41873,"src":"6495:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6487:10:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6498:6:34","memberName":"length","nodeType":"MemberAccess","src":"6487:17:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6477:27:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41889,"nodeType":"ExpressionStatement","src":"6477:27:34"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41876,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41873,"src":"6438:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":41877,"name":"buffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41863,"src":"6442:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":41878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6450:6:34","memberName":"length","nodeType":"MemberAccess","src":"6442:14:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6438:18:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41891,"initializationExpression":{"assignments":[41873],"declarations":[{"constant":false,"id":41873,"mutability":"mutable","name":"i","nameLocation":"6431:1:34","nodeType":"VariableDeclaration","scope":41891,"src":"6423:9:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41872,"name":"uint256","nodeType":"ElementaryTypeName","src":"6423:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41875,"initialValue":{"hexValue":"30","id":41874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6435:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6423:13:34"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":41881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"6458:3:34","subExpression":{"id":41880,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41873,"src":"6460:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41882,"nodeType":"ExpressionStatement","src":"6458:3:34"},"nodeType":"ForStatement","src":"6418:97:34"},{"assignments":[41893],"declarations":[{"constant":false,"id":41893,"mutability":"mutable","name":"result","nameLocation":"6538:6:34","nodeType":"VariableDeclaration","scope":41931,"src":"6525:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41892,"name":"bytes","nodeType":"ElementaryTypeName","src":"6525:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":41898,"initialValue":{"arguments":[{"id":41896,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41869,"src":"6557:6:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6547:9:34","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":41894,"name":"bytes","nodeType":"ElementaryTypeName","src":"6551:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":41897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6547:17:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6525:39:34"},{"assignments":[41900],"declarations":[{"constant":false,"id":41900,"mutability":"mutable","name":"offset","nameLocation":"6583:6:34","nodeType":"VariableDeclaration","scope":41931,"src":"6575:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41899,"name":"uint256","nodeType":"ElementaryTypeName","src":"6575:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41902,"initialValue":{"hexValue":"30783230","id":41901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6592:4:34","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"nodeType":"VariableDeclarationStatement","src":"6575:21:34"},{"body":{"id":41927,"nodeType":"Block","src":"6651:262:34","statements":[{"assignments":[41915],"declarations":[{"constant":false,"id":41915,"mutability":"mutable","name":"input","nameLocation":"6678:5:34","nodeType":"VariableDeclaration","scope":41927,"src":"6665:18:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41914,"name":"bytes","nodeType":"ElementaryTypeName","src":"6665:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":41919,"initialValue":{"baseExpression":{"id":41916,"name":"buffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41863,"src":"6686:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":41918,"indexExpression":{"id":41917,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41904,"src":"6694:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6686:10:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6665:31:34"},{"AST":{"nativeSrc":"6735:90:34","nodeType":"YulBlock","src":"6735:90:34","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"6763:6:34","nodeType":"YulIdentifier","src":"6763:6:34"},{"name":"offset","nativeSrc":"6771:6:34","nodeType":"YulIdentifier","src":"6771:6:34"}],"functionName":{"name":"add","nativeSrc":"6759:3:34","nodeType":"YulIdentifier","src":"6759:3:34"},"nativeSrc":"6759:19:34","nodeType":"YulFunctionCall","src":"6759:19:34"},{"arguments":[{"name":"input","nativeSrc":"6784:5:34","nodeType":"YulIdentifier","src":"6784:5:34"},{"kind":"number","nativeSrc":"6791:4:34","nodeType":"YulLiteral","src":"6791:4:34","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"6780:3:34","nodeType":"YulIdentifier","src":"6780:3:34"},"nativeSrc":"6780:16:34","nodeType":"YulFunctionCall","src":"6780:16:34"},{"arguments":[{"name":"input","nativeSrc":"6804:5:34","nodeType":"YulIdentifier","src":"6804:5:34"}],"functionName":{"name":"mload","nativeSrc":"6798:5:34","nodeType":"YulIdentifier","src":"6798:5:34"},"nativeSrc":"6798:12:34","nodeType":"YulFunctionCall","src":"6798:12:34"}],"functionName":{"name":"mcopy","nativeSrc":"6753:5:34","nodeType":"YulIdentifier","src":"6753:5:34"},"nativeSrc":"6753:58:34","nodeType":"YulFunctionCall","src":"6753:58:34"},"nativeSrc":"6753:58:34","nodeType":"YulExpressionStatement","src":"6753:58:34"}]},"evmVersion":"prague","externalReferences":[{"declaration":41915,"isOffset":false,"isSlot":false,"src":"6784:5:34","valueSize":1},{"declaration":41915,"isOffset":false,"isSlot":false,"src":"6804:5:34","valueSize":1},{"declaration":41900,"isOffset":false,"isSlot":false,"src":"6771:6:34","valueSize":1},{"declaration":41893,"isOffset":false,"isSlot":false,"src":"6763:6:34","valueSize":1}],"flags":["memory-safe"],"id":41920,"nodeType":"InlineAssembly","src":"6710:115:34"},{"id":41926,"nodeType":"UncheckedBlock","src":"6838:65:34","statements":[{"expression":{"id":41924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":41921,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41900,"src":"6866:6:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"id":41922,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41915,"src":"6876:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6882:6:34","memberName":"length","nodeType":"MemberAccess","src":"6876:12:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6866:22:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41925,"nodeType":"ExpressionStatement","src":"6866:22:34"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41907,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41904,"src":"6626:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":41908,"name":"buffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41863,"src":"6630:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":41909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6638:6:34","memberName":"length","nodeType":"MemberAccess","src":"6630:14:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6626:18:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41928,"initializationExpression":{"assignments":[41904],"declarations":[{"constant":false,"id":41904,"mutability":"mutable","name":"i","nameLocation":"6619:1:34","nodeType":"VariableDeclaration","scope":41928,"src":"6611:9:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41903,"name":"uint256","nodeType":"ElementaryTypeName","src":"6611:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41906,"initialValue":{"hexValue":"30","id":41905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6623:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6611:13:34"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":41912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"6646:3:34","subExpression":{"id":41911,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41904,"src":"6648:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41913,"nodeType":"ExpressionStatement","src":"6646:3:34"},"nodeType":"ForStatement","src":"6606:307:34"},{"expression":{"id":41929,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41893,"src":"6930:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":41867,"id":41930,"nodeType":"Return","src":"6923:13:34"}]},"documentation":{"id":41860,"nodeType":"StructuredDocumentation","src":"5849:449:34","text":" @dev Concatenate an array of bytes into a single bytes object.\n For fixed bytes types, we recommend using the solidity built-in `bytes.concat` or (equivalent)\n `abi.encodePacked`.\n NOTE: this could be done in assembly with a single loop that expands starting at the FMP, but that would be\n significantly less readable. It might be worth benchmarking the savings of the full-assembly approach."},"implemented":true,"kind":"function","modifiers":[],"name":"concat","nameLocation":"6312:6:34","parameters":{"id":41864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41863,"mutability":"mutable","name":"buffers","nameLocation":"6334:7:34","nodeType":"VariableDeclaration","scope":41932,"src":"6319:22:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":41861,"name":"bytes","nodeType":"ElementaryTypeName","src":"6319:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":41862,"nodeType":"ArrayTypeName","src":"6319:7:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6318:24:34"},"returnParameters":{"id":41867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41932,"src":"6366:12:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41865,"name":"bytes","nodeType":"ElementaryTypeName","src":"6366:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6365:14:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":41957,"nodeType":"FunctionDefinition","src":"7025:152:34","nodes":[],"body":{"id":41956,"nodeType":"Block","src":"7101:76:34","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":41954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":41942,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41935,"src":"7118:1:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7120:6:34","memberName":"length","nodeType":"MemberAccess","src":"7118:8:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":41944,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41937,"src":"7130:1:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7132:6:34","memberName":"length","nodeType":"MemberAccess","src":"7130:8:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7118:20:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":41948,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41935,"src":"7152:1:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":41947,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7142:9:34","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":41949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7142:12:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":41951,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41937,"src":"7168:1:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":41950,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7158:9:34","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":41952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7158:12:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7142:28:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7118:52:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":41941,"id":41955,"nodeType":"Return","src":"7111:59:34"}]},"documentation":{"id":41933,"nodeType":"StructuredDocumentation","src":"6949:71:34","text":" @dev Returns true if the two byte buffers are equal."},"implemented":true,"kind":"function","modifiers":[],"name":"equal","nameLocation":"7034:5:34","parameters":{"id":41938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41935,"mutability":"mutable","name":"a","nameLocation":"7053:1:34","nodeType":"VariableDeclaration","scope":41957,"src":"7040:14:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41934,"name":"bytes","nodeType":"ElementaryTypeName","src":"7040:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41937,"mutability":"mutable","name":"b","nameLocation":"7069:1:34","nodeType":"VariableDeclaration","scope":41957,"src":"7056:14:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41936,"name":"bytes","nodeType":"ElementaryTypeName","src":"7056:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7039:32:34"},"returnParameters":{"id":41941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41940,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41957,"src":"7095:4:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41939,"name":"bool","nodeType":"ElementaryTypeName","src":"7095:4:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7094:6:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42048,"nodeType":"FunctionDefinition","src":"7410:1095:34","nodes":[],"body":{"id":42047,"nodeType":"Block","src":"7481:1024:34","nodes":[],"statements":[{"expression":{"id":41981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":41965,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"7491:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41966,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"7527:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":41967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7536:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"7527:10:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41969,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7526:12:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830304646303046463030464630304646303046463030464630304646303046463030464630304646303046463030464630304646303046463030464630304646","id":41970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7541:66:34","typeDescriptions":{"typeIdentifier":"t_rational_450552876409790643671482431940419874915447411150352389258589821042463539455_by_1","typeString":"int_const 4505...(67 digits omitted)...9455"},"value":"0x00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF"},"src":"7526:81:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41972,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7525:83:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41973,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"7625:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830304646303046463030464630304646303046463030464630304646303046463030464630304646303046463030464630304646303046463030464630304646","id":41974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7633:66:34","typeDescriptions":{"typeIdentifier":"t_rational_450552876409790643671482431940419874915447411150352389258589821042463539455_by_1","typeString":"int_const 4505...(67 digits omitted)...9455"},"value":"0x00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF"},"src":"7625:74:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41976,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7624:76:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":41977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7704:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"7624:81:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41979,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7623:83:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7525:181:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7491:215:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41982,"nodeType":"ExpressionStatement","src":"7491:215:34"},{"expression":{"id":41999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":41983,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"7716:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41984,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"7764:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":41985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7773:2:34","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"7764:11:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41987,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7763:13:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030464646463030303046464646303030304646464630303030464646463030303046464646303030304646464630303030464646463030303046464646","id":41988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7779:66:34","typeDescriptions":{"typeIdentifier":"t_rational_1766820105243087041267848467410591083712559083657179364930612997358944255_by_1","typeString":"int_const 1766...(65 digits omitted)...4255"},"value":"0x0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF"},"src":"7763:82:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41990,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7762:84:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":41993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41991,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"7863:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030464646463030303046464646303030304646464630303030464646463030303046464646303030304646464630303030464646463030303046464646","id":41992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7871:66:34","typeDescriptions":{"typeIdentifier":"t_rational_1766820105243087041267848467410591083712559083657179364930612997358944255_by_1","typeString":"int_const 1766...(65 digits omitted)...4255"},"value":"0x0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF"},"src":"7863:74:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41994,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7862:76:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3136","id":41995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7942:2:34","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"7862:82:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":41997,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7861:84:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7762:183:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7716:229:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42000,"nodeType":"ExpressionStatement","src":"7716:229:34"},{"expression":{"id":42017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42001,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"7955:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42002,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"8003:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":42003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8012:2:34","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8003:11:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42005,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8002:13:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030303030304646464646464646303030303030303046464646464646463030303030303030464646464646464630303030303030304646464646464646","id":42006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8018:66:34","typeDescriptions":{"typeIdentifier":"t_rational_26959946660873538060741835960174461801791452538186943042387869433855_by_1","typeString":"int_const 2695...(60 digits omitted)...3855"},"value":"0x00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF"},"src":"8002:82:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42008,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8001:84:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42009,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"8102:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030303030304646464646464646303030303030303046464646464646463030303030303030464646464646464630303030303030304646464646464646","id":42010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8110:66:34","typeDescriptions":{"typeIdentifier":"t_rational_26959946660873538060741835960174461801791452538186943042387869433855_by_1","typeString":"int_const 2695...(60 digits omitted)...3855"},"value":"0x00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF"},"src":"8102:74:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42012,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8101:76:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3332","id":42013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8181:2:34","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8101:82:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42015,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8100:84:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8001:183:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7955:229:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42018,"nodeType":"ExpressionStatement","src":"7955:229:34"},{"expression":{"id":42035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42019,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"8194:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42020,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"8242:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":42021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8251:2:34","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8242:11:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42023,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8241:13:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030303030303030303030303030464646464646464646464646464646463030303030303030303030303030303046464646464646464646464646464646","id":42024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8257:66:34","typeDescriptions":{"typeIdentifier":"t_rational_6277101735386680763495507056286727952657427581105975853055_by_1","typeString":"int_const 6277...(50 digits omitted)...3055"},"value":"0x0000000000000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF"},"src":"8241:82:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42026,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8240:84:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42027,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"8341:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030303030303030303030303030464646464646464646464646464646463030303030303030303030303030303046464646464646464646464646464646","id":42028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8349:66:34","typeDescriptions":{"typeIdentifier":"t_rational_6277101735386680763495507056286727952657427581105975853055_by_1","typeString":"int_const 6277...(50 digits omitted)...3055"},"value":"0x0000000000000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF"},"src":"8341:74:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42030,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8340:76:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3634","id":42031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8420:2:34","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8340:82:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42033,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8339:84:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8240:183:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8194:229:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42036,"nodeType":"ExpressionStatement","src":"8194:229:34"},{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42037,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"8441:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":42038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8450:3:34","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8441:12:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42040,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8440:14:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42041,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41960,"src":"8458:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":42042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8467:3:34","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8458:12:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":42044,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8457:14:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8440:31:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":41964,"id":42046,"nodeType":"Return","src":"8433:38:34"}]},"documentation":{"id":41958,"nodeType":"StructuredDocumentation","src":"7183:222:34","text":" @dev Reverses the byte order of a bytes32 value, converting between little-endian and big-endian.\n Inspired by https://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel[Reverse Parallel]"},"implemented":true,"kind":"function","modifiers":[],"name":"reverseBytes32","nameLocation":"7419:14:34","parameters":{"id":41961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41960,"mutability":"mutable","name":"value","nameLocation":"7442:5:34","nodeType":"VariableDeclaration","scope":42048,"src":"7434:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7434:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7433:15:34"},"returnParameters":{"id":41964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41963,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42048,"src":"7472:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41962,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7472:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7471:9:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42121,"nodeType":"FunctionDefinition","src":"8583:661:34","nodes":[],"body":{"id":42120,"nodeType":"Block","src":"8654:590:34","nodes":[],"statements":[{"expression":{"id":42072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42056,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"8664:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42057,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"8700:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646303046463030464630304646303046463030464630304646303046463030","id":42058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8708:34:34","typeDescriptions":{"typeIdentifier":"t_rational_338958311018522360492699998064329424640_by_1","typeString":"int_const 3389...(31 digits omitted)...4640"},"value":"0xFF00FF00FF00FF00FF00FF00FF00FF00"},"src":"8700:42:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42060,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8699:44:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":42061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8747:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"8699:49:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42063,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8698:51:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42064,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"8766:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783030464630304646303046463030464630304646303046463030464630304646","id":42065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8774:34:34","typeDescriptions":{"typeIdentifier":"t_rational_1324055902416102970674609367438786815_by_1","typeString":"int_const 1324...(29 digits omitted)...6815"},"value":"0x00FF00FF00FF00FF00FF00FF00FF00FF"},"src":"8766:42:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42067,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8765:44:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":42068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8813:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"8765:49:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42070,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8764:51:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"src":"8698:117:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"src":"8664:151:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":42073,"nodeType":"ExpressionStatement","src":"8664:151:34"},{"expression":{"id":42090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42074,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"8825:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42075,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"8873:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646464630303030464646463030303046464646303030304646464630303030","id":42076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8881:34:34","typeDescriptions":{"typeIdentifier":"t_rational_340277174703306882242637262502835978240_by_1","typeString":"int_const 3402...(31 digits omitted)...8240"},"value":"0xFFFF0000FFFF0000FFFF0000FFFF0000"},"src":"8873:42:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42078,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8872:44:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":42079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8920:2:34","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"8872:50:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42081,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8871:52:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42082,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"8940:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783030303046464646303030304646464630303030464646463030303046464646","id":42083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8948:34:34","typeDescriptions":{"typeIdentifier":"t_rational_5192217631581220737344928932233215_by_1","typeString":"int_const 5192...(26 digits omitted)...3215"},"value":"0x0000FFFF0000FFFF0000FFFF0000FFFF"},"src":"8940:42:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42085,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8939:44:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3136","id":42086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8987:2:34","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"8939:50:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42088,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8938:52:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"src":"8871:119:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"src":"8825:165:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":42091,"nodeType":"ExpressionStatement","src":"8825:165:34"},{"expression":{"id":42108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42092,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"9000:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42093,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"9048:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646464646464646303030303030303046464646464646463030303030303030","id":42094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9056:34:34","typeDescriptions":{"typeIdentifier":"t_rational_340282366841710300967557013907638845440_by_1","typeString":"int_const 3402...(31 digits omitted)...5440"},"value":"0xFFFFFFFF00000000FFFFFFFF00000000"},"src":"9048:42:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42096,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9047:44:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":42097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9095:2:34","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9047:50:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42099,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9046:52:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42100,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"9115:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783030303030303030464646464646464630303030303030304646464646464646","id":42101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9123:34:34","typeDescriptions":{"typeIdentifier":"t_rational_79228162495817593524129366015_by_1","typeString":"int_const 79228162495817593524129366015"},"value":"0x00000000FFFFFFFF00000000FFFFFFFF"},"src":"9115:42:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42103,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9114:44:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3332","id":42104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9162:2:34","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9114:50:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42106,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9113:52:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"src":"9046:119:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"src":"9000:165:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":42109,"nodeType":"ExpressionStatement","src":"9000:165:34"},{"expression":{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42110,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"9183:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":42111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9192:2:34","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9183:11:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42113,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9182:13:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"id":42116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42114,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42051,"src":"9199:5:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3634","id":42115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9208:2:34","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9199:11:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"id":42117,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9198:13:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"src":"9182:29:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"functionReturnParameters":42055,"id":42119,"nodeType":"Return","src":"9175:36:34"}]},"documentation":{"id":42049,"nodeType":"StructuredDocumentation","src":"8511:67:34","text":"@dev Same as {reverseBytes32} but optimized for 128-bit values."},"implemented":true,"kind":"function","modifiers":[],"name":"reverseBytes16","nameLocation":"8592:14:34","parameters":{"id":42052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42051,"mutability":"mutable","name":"value","nameLocation":"8615:5:34","nodeType":"VariableDeclaration","scope":42121,"src":"8607:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":42050,"name":"bytes16","nodeType":"ElementaryTypeName","src":"8607:7:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"8606:15:34"},"returnParameters":{"id":42055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42054,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42121,"src":"8645:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":42053,"name":"bytes16","nodeType":"ElementaryTypeName","src":"8645:7:34","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"8644:9:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42176,"nodeType":"FunctionDefinition","src":"9321:371:34","nodes":[],"body":{"id":42175,"nodeType":"Block","src":"9389:303:34","nodes":[],"statements":[{"expression":{"id":42145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42129,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42124,"src":"9399:5:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42130,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42124,"src":"9409:5:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307846463030464630304646303046463030","id":42131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9417:18:34","typeDescriptions":{"typeIdentifier":"t_rational_18374966859414961920_by_1","typeString":"int_const 18374966859414961920"},"value":"0xFF00FF00FF00FF00"},"src":"9409:26:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42133,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9408:28:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":42134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9440:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9408:33:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9407:35:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42137,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42124,"src":"9447:5:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830304646303046463030464630304646","id":42138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9455:18:34","typeDescriptions":{"typeIdentifier":"t_rational_71777214294589695_by_1","typeString":"int_const 71777214294589695"},"value":"0x00FF00FF00FF00FF"},"src":"9447:26:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42140,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9446:28:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":42141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9478:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9446:33:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9445:35:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"src":"9407:73:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"src":"9399:81:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"id":42146,"nodeType":"ExpressionStatement","src":"9399:81:34"},{"expression":{"id":42163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42147,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42124,"src":"9504:5:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42148,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42124,"src":"9514:5:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307846464646303030304646464630303030","id":42149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9522:18:34","typeDescriptions":{"typeIdentifier":"t_rational_18446462603027742720_by_1","typeString":"int_const 18446462603027742720"},"value":"0xFFFF0000FFFF0000"},"src":"9514:26:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42151,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9513:28:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":42152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9545:2:34","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9513:34:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42154,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9512:36:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42155,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42124,"src":"9553:5:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030464646463030303046464646","id":42156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9561:18:34","typeDescriptions":{"typeIdentifier":"t_rational_281470681808895_by_1","typeString":"int_const 281470681808895"},"value":"0x0000FFFF0000FFFF"},"src":"9553:26:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42158,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9552:28:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3136","id":42159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9584:2:34","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9552:34:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42161,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9551:36:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"src":"9512:75:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"src":"9504:83:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"id":42164,"nodeType":"ExpressionStatement","src":"9504:83:34"},{"expression":{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42165,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42124,"src":"9631:5:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":42166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9640:2:34","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9631:11:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42168,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9630:13:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"id":42171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42169,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42124,"src":"9647:5:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3332","id":42170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9656:2:34","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9647:11:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"id":42172,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9646:13:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"src":"9630:29:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"functionReturnParameters":42128,"id":42174,"nodeType":"Return","src":"9623:36:34"}]},"documentation":{"id":42122,"nodeType":"StructuredDocumentation","src":"9250:66:34","text":"@dev Same as {reverseBytes32} but optimized for 64-bit values."},"implemented":true,"kind":"function","modifiers":[],"name":"reverseBytes8","nameLocation":"9330:13:34","parameters":{"id":42125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42124,"mutability":"mutable","name":"value","nameLocation":"9351:5:34","nodeType":"VariableDeclaration","scope":42176,"src":"9344:12:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":42123,"name":"bytes8","nodeType":"ElementaryTypeName","src":"9344:6:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"9343:14:34"},"returnParameters":{"id":42128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42127,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42176,"src":"9381:6:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":42126,"name":"bytes8","nodeType":"ElementaryTypeName","src":"9381:6:34","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"9380:8:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42213,"nodeType":"FunctionDefinition","src":"9769:236:34","nodes":[],"body":{"id":42212,"nodeType":"Block","src":"9837:168:34","nodes":[],"statements":[{"expression":{"id":42200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42184,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42179,"src":"9847:5:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42185,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42179,"src":"9857:5:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646303046463030","id":42186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9865:10:34","typeDescriptions":{"typeIdentifier":"t_rational_4278255360_by_1","typeString":"int_const 4278255360"},"value":"0xFF00FF00"},"src":"9857:18:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"id":42188,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9856:20:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":42189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9880:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9856:25:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"id":42191,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9855:27:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42192,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42179,"src":"9887:5:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783030464630304646","id":42193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9895:10:34","typeDescriptions":{"typeIdentifier":"t_rational_16711935_by_1","typeString":"int_const 16711935"},"value":"0x00FF00FF"},"src":"9887:18:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"id":42195,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9886:20:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":42196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9910:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9886:25:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"id":42198,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9885:27:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9855:57:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9847:65:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":42201,"nodeType":"ExpressionStatement","src":"9847:65:34"},{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42202,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42179,"src":"9944:5:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":42203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9953:2:34","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9944:11:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"id":42205,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9943:13:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42206,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42179,"src":"9960:5:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3136","id":42207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9969:2:34","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9960:11:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"id":42209,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9959:13:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9943:29:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":42183,"id":42211,"nodeType":"Return","src":"9936:36:34"}]},"documentation":{"id":42177,"nodeType":"StructuredDocumentation","src":"9698:66:34","text":"@dev Same as {reverseBytes32} but optimized for 32-bit values."},"implemented":true,"kind":"function","modifiers":[],"name":"reverseBytes4","nameLocation":"9778:13:34","parameters":{"id":42180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42179,"mutability":"mutable","name":"value","nameLocation":"9799:5:34","nodeType":"VariableDeclaration","scope":42213,"src":"9792:12:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":42178,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9792:6:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9791:14:34"},"returnParameters":{"id":42183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42182,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42213,"src":"9829:6:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":42181,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9829:6:34","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9828:8:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42232,"nodeType":"FunctionDefinition","src":"10082:119:34","nodes":[],"body":{"id":42231,"nodeType":"Block","src":"10150:51:34","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":42229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":42223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42221,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42216,"src":"10168:5:34","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":42222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10177:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10168:10:34","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"id":42224,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10167:12:34","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":42227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42225,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42216,"src":"10183:5:34","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":42226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10192:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10183:10:34","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"id":42228,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10182:12:34","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"10167:27:34","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"functionReturnParameters":42220,"id":42230,"nodeType":"Return","src":"10160:34:34"}]},"documentation":{"id":42214,"nodeType":"StructuredDocumentation","src":"10011:66:34","text":"@dev Same as {reverseBytes32} but optimized for 16-bit values."},"implemented":true,"kind":"function","modifiers":[],"name":"reverseBytes2","nameLocation":"10091:13:34","parameters":{"id":42217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42216,"mutability":"mutable","name":"value","nameLocation":"10112:5:34","nodeType":"VariableDeclaration","scope":42232,"src":"10105:12:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":42215,"name":"bytes2","nodeType":"ElementaryTypeName","src":"10105:6:34","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"10104:14:34"},"returnParameters":{"id":42220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42232,"src":"10142:6:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":42218,"name":"bytes2","nodeType":"ElementaryTypeName","src":"10142:6:34","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"10141:8:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42294,"nodeType":"FunctionDefinition","src":"10352:379:34","nodes":[],"body":{"id":42293,"nodeType":"Block","src":"10418:313:34","nodes":[],"statements":[{"body":{"id":42286,"nodeType":"Block","src":"10478:213:34","statements":[{"assignments":[42253],"declarations":[{"constant":false,"id":42253,"mutability":"mutable","name":"chunk","nameLocation":"10500:5:34","nodeType":"VariableDeclaration","scope":42286,"src":"10492:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10492:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42258,"initialValue":{"arguments":[{"id":42255,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42235,"src":"10531:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":42256,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42241,"src":"10539:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42254,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42306,"src":"10508:22:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":42257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10508:33:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10492:49:34"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42259,"name":"chunk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42253,"src":"10559:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":42262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10576:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10568:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":42260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10568:7:34","typeDescriptions":{}}},"id":42263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10568:10:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10559:19:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42285,"nodeType":"IfStatement","src":"10555:126:34","trueBody":{"id":42284,"nodeType":"Block","src":"10580:101:34","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"38","id":42267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10614:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":42268,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42241,"src":"10618:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10614:5:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"arguments":[{"id":42274,"name":"chunk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42253,"src":"10639:5:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":42273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10631:7:34","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":42272,"name":"uint256","nodeType":"ElementaryTypeName","src":"10631:7:34","typeDescriptions":{}}},"id":42275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10631:14:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":42270,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"10622:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":42271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10627:3:34","memberName":"clz","nodeType":"MemberAccess","referencedDeclaration":46816,"src":"10622:8:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":42276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10622:24:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10614:32:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"38","id":42278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10648:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":42279,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42235,"src":"10652:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10659:6:34","memberName":"length","nodeType":"MemberAccess","src":"10652:13:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10648:17:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":42265,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"10605:4:34","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":42266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10610:3:34","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":45502,"src":"10605:8:34","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":42282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10605:61:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42239,"id":42283,"nodeType":"Return","src":"10598:68:34"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42244,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42241,"src":"10448:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":42245,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42235,"src":"10452:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10459:6:34","memberName":"length","nodeType":"MemberAccess","src":"10452:13:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10448:17:34","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42287,"initializationExpression":{"assignments":[42241],"declarations":[{"constant":false,"id":42241,"mutability":"mutable","name":"i","nameLocation":"10441:1:34","nodeType":"VariableDeclaration","scope":42287,"src":"10433:9:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42240,"name":"uint256","nodeType":"ElementaryTypeName","src":"10433:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42243,"initialValue":{"hexValue":"30","id":42242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10445:1:34","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10433:13:34"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":42250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42248,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42241,"src":"10467:1:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"30783230","id":42249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10472:4:34","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"10467:9:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42251,"nodeType":"ExpressionStatement","src":"10467:9:34"},"nodeType":"ForStatement","src":"10428:263:34"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"38","id":42288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10707:1:34","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":42289,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42235,"src":"10711:6:34","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10718:6:34","memberName":"length","nodeType":"MemberAccess","src":"10711:13:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:17:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42239,"id":42292,"nodeType":"Return","src":"10700:24:34"}]},"documentation":{"id":42233,"nodeType":"StructuredDocumentation","src":"10207:140:34","text":" @dev Counts the number of leading zero bits a bytes array. Returns `8 * buffer.length`\n if the buffer is all zeros."},"implemented":true,"kind":"function","modifiers":[],"name":"clz","nameLocation":"10361:3:34","parameters":{"id":42236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42235,"mutability":"mutable","name":"buffer","nameLocation":"10378:6:34","nodeType":"VariableDeclaration","scope":42294,"src":"10365:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42234,"name":"bytes","nodeType":"ElementaryTypeName","src":"10365:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10364:21:34"},"returnParameters":{"id":42239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42294,"src":"10409:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42237,"name":"uint256","nodeType":"ElementaryTypeName","src":"10409:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10408:9:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42306,"nodeType":"FunctionDefinition","src":"11010:331:34","nodes":[],"body":{"id":42305,"nodeType":"Block","src":"11116:225:34","nodes":[],"statements":[{"AST":{"nativeSrc":"11265:70:34","nodeType":"YulBlock","src":"11265:70:34","statements":[{"nativeSrc":"11279:46:34","nodeType":"YulAssignment","src":"11279:46:34","value":{"arguments":[{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"11302:6:34","nodeType":"YulIdentifier","src":"11302:6:34"},{"kind":"number","nativeSrc":"11310:4:34","nodeType":"YulLiteral","src":"11310:4:34","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"11298:3:34","nodeType":"YulIdentifier","src":"11298:3:34"},"nativeSrc":"11298:17:34","nodeType":"YulFunctionCall","src":"11298:17:34"},{"name":"offset","nativeSrc":"11317:6:34","nodeType":"YulIdentifier","src":"11317:6:34"}],"functionName":{"name":"add","nativeSrc":"11294:3:34","nodeType":"YulIdentifier","src":"11294:3:34"},"nativeSrc":"11294:30:34","nodeType":"YulFunctionCall","src":"11294:30:34"}],"functionName":{"name":"mload","nativeSrc":"11288:5:34","nodeType":"YulIdentifier","src":"11288:5:34"},"nativeSrc":"11288:37:34","nodeType":"YulFunctionCall","src":"11288:37:34"},"variableNames":[{"name":"value","nativeSrc":"11279:5:34","nodeType":"YulIdentifier","src":"11279:5:34"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42297,"isOffset":false,"isSlot":false,"src":"11302:6:34","valueSize":1},{"declaration":42299,"isOffset":false,"isSlot":false,"src":"11317:6:34","valueSize":1},{"declaration":42302,"isOffset":false,"isSlot":false,"src":"11279:5:34","valueSize":1}],"flags":["memory-safe"],"id":42304,"nodeType":"InlineAssembly","src":"11240:95:34"}]},"documentation":{"id":42295,"nodeType":"StructuredDocumentation","src":"10737:268:34","text":" @dev Reads a bytes32 from a bytes array without bounds checking.\n NOTE: making this function internal would mean it could be used with memory unsafe offset, and marking the\n assembly block as such would prevent some optimizations."},"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeReadBytesOffset","nameLocation":"11019:22:34","parameters":{"id":42300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42297,"mutability":"mutable","name":"buffer","nameLocation":"11055:6:34","nodeType":"VariableDeclaration","scope":42306,"src":"11042:19:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42296,"name":"bytes","nodeType":"ElementaryTypeName","src":"11042:5:34","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":42299,"mutability":"mutable","name":"offset","nameLocation":"11071:6:34","nodeType":"VariableDeclaration","scope":42306,"src":"11063:14:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42298,"name":"uint256","nodeType":"ElementaryTypeName","src":"11063:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11041:37:34"},"returnParameters":{"id":42303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42302,"mutability":"mutable","name":"value","nameLocation":"11109:5:34","nodeType":"VariableDeclaration","scope":42306,"src":"11101:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11101:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11100:15:34"},"scope":42307,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"Bytes","contractDependencies":[],"contractKind":"library","documentation":{"id":41599,"nodeType":"StructuredDocumentation","src":"164:33:34","text":" @dev Bytes operations."},"fullyImplemented":true,"linearizedBaseContracts":[42307],"name":"Bytes","nameLocation":"206:5:34","scope":42308,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"id":35,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","id":42338,"exportedSymbols":{"Context":[42337]},"nodeType":"SourceUnit","src":"101:862:35","nodes":[{"id":42309,"nodeType":"PragmaDirective","src":"101:24:35","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":42337,"nodeType":"ContractDefinition","src":"624:338:35","nodes":[{"id":42319,"nodeType":"FunctionDefinition","src":"656:96:35","nodes":[],"body":{"id":42318,"nodeType":"Block","src":"718:34:35","nodes":[],"statements":[{"expression":{"expression":{"id":42315,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"735:3:35","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":42316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"739:6:35","memberName":"sender","nodeType":"MemberAccess","src":"735:10:35","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":42314,"id":42317,"nodeType":"Return","src":"728:17:35"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"665:10:35","parameters":{"id":42311,"nodeType":"ParameterList","parameters":[],"src":"675:2:35"},"returnParameters":{"id":42314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42313,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42319,"src":"709:7:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42312,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"708:9:35"},"scope":42337,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":42328,"nodeType":"FunctionDefinition","src":"758:99:35","nodes":[],"body":{"id":42327,"nodeType":"Block","src":"825:32:35","nodes":[],"statements":[{"expression":{"expression":{"id":42324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"842:3:35","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":42325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"846:4:35","memberName":"data","nodeType":"MemberAccess","src":"842:8:35","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":42323,"id":42326,"nodeType":"Return","src":"835:15:35"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"767:8:35","parameters":{"id":42320,"nodeType":"ParameterList","parameters":[],"src":"775:2:35"},"returnParameters":{"id":42323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42328,"src":"809:14:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42321,"name":"bytes","nodeType":"ElementaryTypeName","src":"809:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"808:16:35"},"scope":42337,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":42336,"nodeType":"FunctionDefinition","src":"863:97:35","nodes":[],"body":{"id":42335,"nodeType":"Block","src":"935:25:35","nodes":[],"statements":[{"expression":{"hexValue":"30","id":42333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"952:1:35","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":42332,"id":42334,"nodeType":"Return","src":"945:8:35"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_contextSuffixLength","nameLocation":"872:20:35","parameters":{"id":42329,"nodeType":"ParameterList","parameters":[],"src":"892:2:35"},"returnParameters":{"id":42332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42336,"src":"926:7:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42330,"name":"uint256","nodeType":"ElementaryTypeName","src":"926:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"925:9:35"},"scope":42337,"stateMutability":"view","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":42310,"nodeType":"StructuredDocumentation","src":"127:496:35","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"linearizedBaseContracts":[42337],"name":"Context","nameLocation":"642:7:35","scope":42338,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Nonces.sol":{"id":36,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Nonces.sol","id":42406,"exportedSymbols":{"Nonces":[42405]},"nodeType":"SourceUnit","src":"99:1391:36","nodes":[{"id":42339,"nodeType":"PragmaDirective","src":"99:24:36","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":42405,"nodeType":"ContractDefinition","src":"209:1280:36","nodes":[{"id":42347,"nodeType":"ErrorDefinition","src":"335:65:36","nodes":[],"documentation":{"id":42341,"nodeType":"StructuredDocumentation","src":"240:90:36","text":" @dev The nonce used for an `account` is not the expected current nonce."},"errorSelector":"752d88c0","name":"InvalidAccountNonce","nameLocation":"341:19:36","parameters":{"id":42346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42343,"mutability":"mutable","name":"account","nameLocation":"369:7:36","nodeType":"VariableDeclaration","scope":42347,"src":"361:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42342,"name":"address","nodeType":"ElementaryTypeName","src":"361:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42345,"mutability":"mutable","name":"currentNonce","nameLocation":"386:12:36","nodeType":"VariableDeclaration","scope":42347,"src":"378:20:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42344,"name":"uint256","nodeType":"ElementaryTypeName","src":"378:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"360:39:36"}},{"id":42351,"nodeType":"VariableDeclaration","src":"406:51:36","nodes":[],"constant":false,"mutability":"mutable","name":"_nonces","nameLocation":"450:7:36","scope":42405,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":42350,"keyName":"account","keyNameLocation":"422:7:36","keyType":{"id":42348,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"406:35:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":42349,"name":"uint256","nodeType":"ElementaryTypeName","src":"433:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":42364,"nodeType":"FunctionDefinition","src":"538:107:36","nodes":[],"body":{"id":42363,"nodeType":"Block","src":"607:38:36","nodes":[],"statements":[{"expression":{"baseExpression":{"id":42359,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42351,"src":"624:7:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42361,"indexExpression":{"id":42360,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42354,"src":"632:5:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"624:14:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42358,"id":42362,"nodeType":"Return","src":"617:21:36"}]},"documentation":{"id":42352,"nodeType":"StructuredDocumentation","src":"464:69:36","text":" @dev Returns the next unused nonce for an address."},"functionSelector":"7ecebe00","implemented":true,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"547:6:36","parameters":{"id":42355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42354,"mutability":"mutable","name":"owner","nameLocation":"562:5:36","nodeType":"VariableDeclaration","scope":42364,"src":"554:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42353,"name":"address","nodeType":"ElementaryTypeName","src":"554:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"553:15:36"},"returnParameters":{"id":42358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42364,"src":"598:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42356,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"597:9:36"},"scope":42405,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":42379,"nodeType":"FunctionDefinition","src":"759:395:36","nodes":[],"body":{"id":42378,"nodeType":"Block","src":"828:326:36","nodes":[],"statements":[{"id":42377,"nodeType":"UncheckedBlock","src":"1031:117:36","statements":[{"expression":{"id":42375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1121:16:36","subExpression":{"baseExpression":{"id":42372,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42351,"src":"1121:7:36","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42374,"indexExpression":{"id":42373,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42367,"src":"1129:5:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1121:14:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42371,"id":42376,"nodeType":"Return","src":"1114:23:36"}]}]},"documentation":{"id":42365,"nodeType":"StructuredDocumentation","src":"651:103:36","text":" @dev Consumes a nonce.\n Returns the current value and increments nonce."},"implemented":true,"kind":"function","modifiers":[],"name":"_useNonce","nameLocation":"768:9:36","parameters":{"id":42368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42367,"mutability":"mutable","name":"owner","nameLocation":"786:5:36","nodeType":"VariableDeclaration","scope":42379,"src":"778:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42366,"name":"address","nodeType":"ElementaryTypeName","src":"778:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"777:15:36"},"returnParameters":{"id":42371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42370,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42379,"src":"819:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42369,"name":"uint256","nodeType":"ElementaryTypeName","src":"819:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"818:9:36"},"scope":42405,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":42404,"nodeType":"FunctionDefinition","src":"1265:222:36","nodes":[],"body":{"id":42403,"nodeType":"Block","src":"1338:149:36","nodes":[],"statements":[{"assignments":[42388],"declarations":[{"constant":false,"id":42388,"mutability":"mutable","name":"current","nameLocation":"1356:7:36","nodeType":"VariableDeclaration","scope":42403,"src":"1348:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42387,"name":"uint256","nodeType":"ElementaryTypeName","src":"1348:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42392,"initialValue":{"arguments":[{"id":42390,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42382,"src":"1376:5:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42389,"name":"_useNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42379,"src":"1366:9:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":42391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1366:16:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1348:34:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42393,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42384,"src":"1396:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":42394,"name":"current","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42388,"src":"1405:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1396:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42402,"nodeType":"IfStatement","src":"1392:89:36","trueBody":{"id":42401,"nodeType":"Block","src":"1414:67:36","statements":[{"errorCall":{"arguments":[{"id":42397,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42382,"src":"1455:5:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42398,"name":"current","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42388,"src":"1462:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42396,"name":"InvalidAccountNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42347,"src":"1435:19:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256) pure returns (error)"}},"id":42399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1435:35:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42400,"nodeType":"RevertStatement","src":"1428:42:36"}]}}]},"documentation":{"id":42380,"nodeType":"StructuredDocumentation","src":"1160:100:36","text":" @dev Same as {_useNonce} but checking that `nonce` is the next valid for `owner`."},"implemented":true,"kind":"function","modifiers":[],"name":"_useCheckedNonce","nameLocation":"1274:16:36","parameters":{"id":42385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42382,"mutability":"mutable","name":"owner","nameLocation":"1299:5:36","nodeType":"VariableDeclaration","scope":42404,"src":"1291:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42381,"name":"address","nodeType":"ElementaryTypeName","src":"1291:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42384,"mutability":"mutable","name":"nonce","nameLocation":"1314:5:36","nodeType":"VariableDeclaration","scope":42404,"src":"1306:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42383,"name":"uint256","nodeType":"ElementaryTypeName","src":"1306:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1290:30:36"},"returnParameters":{"id":42386,"nodeType":"ParameterList","parameters":[],"src":"1338:0:36"},"scope":42405,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"Nonces","contractDependencies":[],"contractKind":"contract","documentation":{"id":42340,"nodeType":"StructuredDocumentation","src":"125:83:36","text":" @dev Provides tracking nonces for addresses. Nonces will only increment."},"fullyImplemented":true,"linearizedBaseContracts":[42405],"name":"Nonces","nameLocation":"227:6:36","scope":42406,"usedErrors":[42347],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"id":37,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Panic.sol","id":42458,"exportedSymbols":{"Panic":[42457]},"nodeType":"SourceUnit","src":"99:1874:37","nodes":[{"id":42407,"nodeType":"PragmaDirective","src":"99:24:37","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":42457,"nodeType":"ContractDefinition","src":"657:1315:37","nodes":[{"id":42412,"nodeType":"VariableDeclaration","src":"718:40:37","nodes":[],"constant":true,"documentation":{"id":42409,"nodeType":"StructuredDocumentation","src":"677:36:37","text":"@dev generic / unspecified error"},"mutability":"constant","name":"GENERIC","nameLocation":"744:7:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42410,"name":"uint256","nodeType":"ElementaryTypeName","src":"718:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783030","id":42411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"754:4:37","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"visibility":"internal"},{"id":42416,"nodeType":"VariableDeclaration","src":"806:39:37","nodes":[],"constant":true,"documentation":{"id":42413,"nodeType":"StructuredDocumentation","src":"764:37:37","text":"@dev used by the assert() builtin"},"mutability":"constant","name":"ASSERT","nameLocation":"832:6:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42414,"name":"uint256","nodeType":"ElementaryTypeName","src":"806:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":42415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"841:4:37","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":42420,"nodeType":"VariableDeclaration","src":"897:47:37","nodes":[],"constant":true,"documentation":{"id":42417,"nodeType":"StructuredDocumentation","src":"851:41:37","text":"@dev arithmetic underflow or overflow"},"mutability":"constant","name":"UNDER_OVERFLOW","nameLocation":"923:14:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42418,"name":"uint256","nodeType":"ElementaryTypeName","src":"897:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783131","id":42419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"940:4:37","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"0x11"},"visibility":"internal"},{"id":42424,"nodeType":"VariableDeclaration","src":"990:49:37","nodes":[],"constant":true,"documentation":{"id":42421,"nodeType":"StructuredDocumentation","src":"950:35:37","text":"@dev division or modulo by zero"},"mutability":"constant","name":"DIVISION_BY_ZERO","nameLocation":"1016:16:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42422,"name":"uint256","nodeType":"ElementaryTypeName","src":"990:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783132","id":42423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1035:4:37","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"0x12"},"visibility":"internal"},{"id":42428,"nodeType":"VariableDeclaration","src":"1080:54:37","nodes":[],"constant":true,"documentation":{"id":42425,"nodeType":"StructuredDocumentation","src":"1045:30:37","text":"@dev enum conversion error"},"mutability":"constant","name":"ENUM_CONVERSION_ERROR","nameLocation":"1106:21:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42426,"name":"uint256","nodeType":"ElementaryTypeName","src":"1080:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783231","id":42427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1130:4:37","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"0x21"},"visibility":"internal"},{"id":42432,"nodeType":"VariableDeclaration","src":"1181:55:37","nodes":[],"constant":true,"documentation":{"id":42429,"nodeType":"StructuredDocumentation","src":"1140:36:37","text":"@dev invalid encoding in storage"},"mutability":"constant","name":"STORAGE_ENCODING_ERROR","nameLocation":"1207:22:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42430,"name":"uint256","nodeType":"ElementaryTypeName","src":"1181:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783232","id":42431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1232:4:37","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"},"visibility":"internal"},{"id":42436,"nodeType":"VariableDeclaration","src":"1271:48:37","nodes":[],"constant":true,"documentation":{"id":42433,"nodeType":"StructuredDocumentation","src":"1242:24:37","text":"@dev empty array pop"},"mutability":"constant","name":"EMPTY_ARRAY_POP","nameLocation":"1297:15:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42434,"name":"uint256","nodeType":"ElementaryTypeName","src":"1271:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783331","id":42435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1315:4:37","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"0x31"},"visibility":"internal"},{"id":42440,"nodeType":"VariableDeclaration","src":"1365:52:37","nodes":[],"constant":true,"documentation":{"id":42437,"nodeType":"StructuredDocumentation","src":"1325:35:37","text":"@dev array out of bounds access"},"mutability":"constant","name":"ARRAY_OUT_OF_BOUNDS","nameLocation":"1391:19:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42438,"name":"uint256","nodeType":"ElementaryTypeName","src":"1365:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783332","id":42439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1413:4:37","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"0x32"},"visibility":"internal"},{"id":42444,"nodeType":"VariableDeclaration","src":"1493:47:37","nodes":[],"constant":true,"documentation":{"id":42441,"nodeType":"StructuredDocumentation","src":"1423:65:37","text":"@dev resource error (too large allocation or too large array)"},"mutability":"constant","name":"RESOURCE_ERROR","nameLocation":"1519:14:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42442,"name":"uint256","nodeType":"ElementaryTypeName","src":"1493:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783431","id":42443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1536:4:37","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"0x41"},"visibility":"internal"},{"id":42448,"nodeType":"VariableDeclaration","src":"1593:58:37","nodes":[],"constant":true,"documentation":{"id":42445,"nodeType":"StructuredDocumentation","src":"1546:42:37","text":"@dev calling invalid internal function"},"mutability":"constant","name":"INVALID_INTERNAL_FUNCTION","nameLocation":"1619:25:37","scope":42457,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42446,"name":"uint256","nodeType":"ElementaryTypeName","src":"1593:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783531","id":42447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1647:4:37","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"0x51"},"visibility":"internal"},{"id":42456,"nodeType":"FunctionDefinition","src":"1776:194:37","nodes":[],"body":{"id":42455,"nodeType":"Block","src":"1819:151:37","nodes":[],"statements":[{"AST":{"nativeSrc":"1854:110:37","nodeType":"YulBlock","src":"1854:110:37","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1875:4:37","nodeType":"YulLiteral","src":"1875:4:37","type":"","value":"0x00"},{"kind":"number","nativeSrc":"1881:10:37","nodeType":"YulLiteral","src":"1881:10:37","type":"","value":"0x4e487b71"}],"functionName":{"name":"mstore","nativeSrc":"1868:6:37","nodeType":"YulIdentifier","src":"1868:6:37"},"nativeSrc":"1868:24:37","nodeType":"YulFunctionCall","src":"1868:24:37"},"nativeSrc":"1868:24:37","nodeType":"YulExpressionStatement","src":"1868:24:37"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1912:4:37","nodeType":"YulLiteral","src":"1912:4:37","type":"","value":"0x20"},{"name":"code","nativeSrc":"1918:4:37","nodeType":"YulIdentifier","src":"1918:4:37"}],"functionName":{"name":"mstore","nativeSrc":"1905:6:37","nodeType":"YulIdentifier","src":"1905:6:37"},"nativeSrc":"1905:18:37","nodeType":"YulFunctionCall","src":"1905:18:37"},"nativeSrc":"1905:18:37","nodeType":"YulExpressionStatement","src":"1905:18:37"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1943:4:37","nodeType":"YulLiteral","src":"1943:4:37","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"1949:4:37","nodeType":"YulLiteral","src":"1949:4:37","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"1936:6:37","nodeType":"YulIdentifier","src":"1936:6:37"},"nativeSrc":"1936:18:37","nodeType":"YulFunctionCall","src":"1936:18:37"},"nativeSrc":"1936:18:37","nodeType":"YulExpressionStatement","src":"1936:18:37"}]},"evmVersion":"prague","externalReferences":[{"declaration":42451,"isOffset":false,"isSlot":false,"src":"1918:4:37","valueSize":1}],"flags":["memory-safe"],"id":42454,"nodeType":"InlineAssembly","src":"1829:135:37"}]},"documentation":{"id":42449,"nodeType":"StructuredDocumentation","src":"1658:113:37","text":"@dev Reverts with a panic code. Recommended to use with\n the internal constants with predefined codes."},"implemented":true,"kind":"function","modifiers":[],"name":"panic","nameLocation":"1785:5:37","parameters":{"id":42452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42451,"mutability":"mutable","name":"code","nameLocation":"1799:4:37","nodeType":"VariableDeclaration","scope":42456,"src":"1791:12:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42450,"name":"uint256","nodeType":"ElementaryTypeName","src":"1791:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1790:14:37"},"returnParameters":{"id":42453,"nodeType":"ParameterList","parameters":[],"src":"1819:0:37"},"scope":42457,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Panic","contractDependencies":[],"contractKind":"library","documentation":{"id":42408,"nodeType":"StructuredDocumentation","src":"125:489:37","text":" @dev Helper library for emitting standardized panic codes.\n ```solidity\n contract Example {\n using Panic for uint256;\n // Use any of the declared internal constants\n function foo() { Panic.GENERIC.panic(); }\n // Alternatively\n function foo() { Panic.panic(Panic.GENERIC); }\n }\n ```\n Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil].\n _Available since v5.1._"},"fullyImplemented":true,"linearizedBaseContracts":[42457],"name":"Panic","nameLocation":"665:5:37","scope":42458,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol":{"id":38,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol","id":42571,"exportedSymbols":{"ReentrancyGuard":[42570],"StorageSlot":[42911]},"nodeType":"SourceUnit","src":"109:4657:38","nodes":[{"id":42459,"nodeType":"PragmaDirective","src":"109:24:38","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":42461,"nodeType":"ImportDirective","src":"135:46:38","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","file":"./StorageSlot.sol","nameLocation":"-1:-1:-1","scope":42571,"sourceUnit":42912,"symbolAliases":[{"foreign":{"id":42460,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42911,"src":"143:11:38","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42570,"nodeType":"ContractDefinition","src":"1250:3515:38","nodes":[{"id":42465,"nodeType":"UsingForDirective","src":"1290:30:38","nodes":[],"global":false,"libraryName":{"id":42463,"name":"StorageSlot","nameLocations":["1296:11:38"],"nodeType":"IdentifierPath","referencedDeclaration":42911,"src":"1296:11:38"},"typeName":{"id":42464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1312:7:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"id":42468,"nodeType":"VariableDeclaration","src":"1445:126:38","nodes":[],"constant":true,"mutability":"constant","name":"REENTRANCY_GUARD_STORAGE","nameLocation":"1470:24:38","scope":42570,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1445:7:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307839623737396231373432326430646639323232333031386233326234643166613436653037313732336436383137653234383664303033626563633535663030","id":42467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1505:66:38","typeDescriptions":{"typeIdentifier":"t_rational_70319816728846589445362000750570655803700195216363692647688146666176345628416_by_1","typeString":"int_const 7031...(69 digits omitted)...8416"},"value":"0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00"},"visibility":"private"},{"id":42471,"nodeType":"VariableDeclaration","src":"2326:40:38","nodes":[],"constant":true,"mutability":"constant","name":"NOT_ENTERED","nameLocation":"2351:11:38","scope":42570,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42469,"name":"uint256","nodeType":"ElementaryTypeName","src":"2326:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":42470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2365:1:38","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"id":42474,"nodeType":"VariableDeclaration","src":"2372:36:38","nodes":[],"constant":true,"mutability":"constant","name":"ENTERED","nameLocation":"2397:7:38","scope":42570,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42472,"name":"uint256","nodeType":"ElementaryTypeName","src":"2372:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":42473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2407:1:38","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"id":42477,"nodeType":"ErrorDefinition","src":"2472:37:38","nodes":[],"documentation":{"id":42475,"nodeType":"StructuredDocumentation","src":"2415:52:38","text":" @dev Unauthorized reentrant call."},"errorSelector":"3ee5aeb5","name":"ReentrancyGuardReentrantCall","nameLocation":"2478:28:38","parameters":{"id":42476,"nodeType":"ParameterList","parameters":[],"src":"2506:2:38"}},{"id":42489,"nodeType":"FunctionDefinition","src":"2515:97:38","nodes":[],"body":{"id":42488,"nodeType":"Block","src":"2529:83:38","nodes":[],"statements":[{"expression":{"id":42486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42480,"name":"_reentrancyGuardStorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42569,"src":"2539:27:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":42481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2539:29:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2569:14:38","memberName":"getUint256Slot","nodeType":"MemberAccess","referencedDeclaration":42855,"src":"2539:44:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Uint256Slot_$42802_storage_ptr_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":42483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2539:46:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$42802_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":42484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2586:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":42801,"src":"2539:52:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42485,"name":"NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42471,"src":"2594:11:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2539:66:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42487,"nodeType":"ExpressionStatement","src":"2539:66:38"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":42478,"nodeType":"ParameterList","parameters":[],"src":"2526:2:38"},"returnParameters":{"id":42479,"nodeType":"ParameterList","parameters":[],"src":"2529:0:38"},"scope":42570,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":42500,"nodeType":"ModifierDefinition","src":"2989:103:38","nodes":[],"body":{"id":42499,"nodeType":"Block","src":"3013:79:38","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42492,"name":"_nonReentrantBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42534,"src":"3023:19:38","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":42493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3023:21:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42494,"nodeType":"ExpressionStatement","src":"3023:21:38"},{"id":42495,"nodeType":"PlaceholderStatement","src":"3054:1:38"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42496,"name":"_nonReentrantAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42546,"src":"3065:18:38","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":42497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3065:20:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42498,"nodeType":"ExpressionStatement","src":"3065:20:38"}]},"documentation":{"id":42490,"nodeType":"StructuredDocumentation","src":"2618:366:38","text":" @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant`\n function is not supported. It is possible to prevent this from happening\n by making the `nonReentrant` function external, and making it call a\n `private` function that does the actual work."},"name":"nonReentrant","nameLocation":"2998:12:38","parameters":{"id":42491,"nodeType":"ParameterList","parameters":[],"src":"3010:2:38"},"virtual":false,"visibility":"internal"},{"id":42508,"nodeType":"ModifierDefinition","src":"3499:81:38","nodes":[],"body":{"id":42507,"nodeType":"Block","src":"3527:53:38","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42503,"name":"_nonReentrantBeforeView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42519,"src":"3537:23:38","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":42504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3537:25:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42505,"nodeType":"ExpressionStatement","src":"3537:25:38"},{"id":42506,"nodeType":"PlaceholderStatement","src":"3572:1:38"}]},"documentation":{"id":42501,"nodeType":"StructuredDocumentation","src":"3098:396:38","text":" @dev A `view` only version of {nonReentrant}. Use to block view functions\n from being called, preventing reading from inconsistent contract state.\n CAUTION: This is a \"view\" modifier and does not change the reentrancy\n status. Use it only on view functions. For payable or non-payable functions,\n use the standard {nonReentrant} modifier instead."},"name":"nonReentrantView","nameLocation":"3508:16:38","parameters":{"id":42502,"nodeType":"ParameterList","parameters":[],"src":"3524:2:38"},"virtual":false,"visibility":"internal"},{"id":42519,"nodeType":"FunctionDefinition","src":"3586:157:38","nodes":[],"body":{"id":42518,"nodeType":"Block","src":"3634:109:38","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":42511,"name":"_reentrancyGuardEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42561,"src":"3648:23:38","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":42512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3648:25:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42517,"nodeType":"IfStatement","src":"3644:93:38","trueBody":{"id":42516,"nodeType":"Block","src":"3675:62:38","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":42513,"name":"ReentrancyGuardReentrantCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42477,"src":"3696:28:38","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":42514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3696:30:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42515,"nodeType":"RevertStatement","src":"3689:37:38"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantBeforeView","nameLocation":"3595:23:38","parameters":{"id":42509,"nodeType":"ParameterList","parameters":[],"src":"3618:2:38"},"returnParameters":{"id":42510,"nodeType":"ParameterList","parameters":[],"src":"3634:0:38"},"scope":42570,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":42534,"nodeType":"FunctionDefinition","src":"3749:292:38","nodes":[],"body":{"id":42533,"nodeType":"Block","src":"3788:253:38","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42522,"name":"_nonReentrantBeforeView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42519,"src":"3872:23:38","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":42523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3872:25:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42524,"nodeType":"ExpressionStatement","src":"3872:25:38"},{"expression":{"id":42531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42525,"name":"_reentrancyGuardStorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42569,"src":"3972:27:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":42526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3972:29:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4002:14:38","memberName":"getUint256Slot","nodeType":"MemberAccess","referencedDeclaration":42855,"src":"3972:44:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Uint256Slot_$42802_storage_ptr_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":42528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3972:46:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$42802_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":42529,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4019:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":42801,"src":"3972:52:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42530,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42474,"src":"4027:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3972:62:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42532,"nodeType":"ExpressionStatement","src":"3972:62:38"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantBefore","nameLocation":"3758:19:38","parameters":{"id":42520,"nodeType":"ParameterList","parameters":[],"src":"3777:2:38"},"returnParameters":{"id":42521,"nodeType":"ParameterList","parameters":[],"src":"3788:0:38"},"scope":42570,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":42546,"nodeType":"FunctionDefinition","src":"4047:253:38","nodes":[],"body":{"id":42545,"nodeType":"Block","src":"4085:215:38","nodes":[],"statements":[{"expression":{"id":42543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42537,"name":"_reentrancyGuardStorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42569,"src":"4227:27:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":42538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4227:29:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4257:14:38","memberName":"getUint256Slot","nodeType":"MemberAccess","referencedDeclaration":42855,"src":"4227:44:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Uint256Slot_$42802_storage_ptr_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":42540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4227:46:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$42802_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":42541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4274:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":42801,"src":"4227:52:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42542,"name":"NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42471,"src":"4282:11:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4227:66:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42544,"nodeType":"ExpressionStatement","src":"4227:66:38"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantAfter","nameLocation":"4056:18:38","parameters":{"id":42535,"nodeType":"ParameterList","parameters":[],"src":"4074:2:38"},"returnParameters":{"id":42536,"nodeType":"ParameterList","parameters":[],"src":"4085:0:38"},"scope":42570,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":42561,"nodeType":"FunctionDefinition","src":"4479:151:38","nodes":[],"body":{"id":42560,"nodeType":"Block","src":"4543:87:38","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42552,"name":"_reentrancyGuardStorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42569,"src":"4560:27:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":42553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4560:29:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4590:14:38","memberName":"getUint256Slot","nodeType":"MemberAccess","referencedDeclaration":42855,"src":"4560:44:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Uint256Slot_$42802_storage_ptr_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":42555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4560:46:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$42802_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":42556,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4607:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":42801,"src":"4560:52:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":42557,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42474,"src":"4616:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4560:63:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":42551,"id":42559,"nodeType":"Return","src":"4553:70:38"}]},"documentation":{"id":42547,"nodeType":"StructuredDocumentation","src":"4306:168:38","text":" @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n `nonReentrant` function in the call stack."},"implemented":true,"kind":"function","modifiers":[],"name":"_reentrancyGuardEntered","nameLocation":"4488:23:38","parameters":{"id":42548,"nodeType":"ParameterList","parameters":[],"src":"4511:2:38"},"returnParameters":{"id":42551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42550,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42561,"src":"4537:4:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42549,"name":"bool","nodeType":"ElementaryTypeName","src":"4537:4:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4536:6:38"},"scope":42570,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":42569,"nodeType":"FunctionDefinition","src":"4636:127:38","nodes":[],"body":{"id":42568,"nodeType":"Block","src":"4715:48:38","nodes":[],"statements":[{"expression":{"id":42566,"name":"REENTRANCY_GUARD_STORAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42468,"src":"4732:24:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":42565,"id":42567,"nodeType":"Return","src":"4725:31:38"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_reentrancyGuardStorageSlot","nameLocation":"4645:27:38","parameters":{"id":42562,"nodeType":"ParameterList","parameters":[],"src":"4672:2:38"},"returnParameters":{"id":42565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42569,"src":"4706:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4706:7:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4705:9:38"},"scope":42570,"stateMutability":"pure","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"ReentrancyGuard","contractDependencies":[],"contractKind":"contract","documentation":{"id":42462,"nodeType":"StructuredDocumentation","src":"183:1066:38","text":" @dev Contract module that helps prevent reentrant calls to a function.\n Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n available, which can be applied to functions to make sure there are no nested\n (reentrant) calls to them.\n Note that because there is a single `nonReentrant` guard, functions marked as\n `nonReentrant` may not call one another. This can be worked around by making\n those functions `private`, and then adding `external` `nonReentrant` entry\n points to them.\n TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,\n consider using {ReentrancyGuardTransient} instead.\n TIP: If you would like to learn more about reentrancy and alternative ways\n to protect against it, check out our blog post\n https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n IMPORTANT: Deprecated. This storage-based reentrancy guard will be removed and replaced\n by the {ReentrancyGuardTransient} variant in v6.0.\n @custom:stateless"},"fullyImplemented":true,"linearizedBaseContracts":[42570],"name":"ReentrancyGuard","nameLocation":"1268:15:38","scope":42571,"usedErrors":[42477],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"id":39,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol","id":42788,"exportedSymbols":{"ShortString":[42576],"ShortStrings":[42787],"StorageSlot":[42911]},"nodeType":"SourceUnit","src":"106:4204:39","nodes":[{"id":42572,"nodeType":"PragmaDirective","src":"106:24:39","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":42574,"nodeType":"ImportDirective","src":"132:46:39","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","file":"./StorageSlot.sol","nameLocation":"-1:-1:-1","scope":42788,"sourceUnit":42912,"symbolAliases":[{"foreign":{"id":42573,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42911,"src":"140:11:39","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42576,"nodeType":"UserDefinedValueTypeDefinition","src":"348:28:39","nodes":[],"canonicalName":"ShortString","name":"ShortString","nameLocation":"353:11:39","underlyingType":{"id":42575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"id":42787,"nodeType":"ContractDefinition","src":"1255:3054:39","nodes":[{"id":42580,"nodeType":"VariableDeclaration","src":"1345:111:39","nodes":[],"constant":true,"mutability":"constant","name":"FALLBACK_SENTINEL","nameLocation":"1370:17:39","scope":42787,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1345:7:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030304646","id":42579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1390:66:39","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0x00000000000000000000000000000000000000000000000000000000000000FF"},"visibility":"private"},{"id":42584,"nodeType":"ErrorDefinition","src":"1463:32:39","nodes":[],"errorSelector":"305a27a9","name":"StringTooLong","nameLocation":"1469:13:39","parameters":{"id":42583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42582,"mutability":"mutable","name":"str","nameLocation":"1490:3:39","nodeType":"VariableDeclaration","scope":42584,"src":"1483:10:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42581,"name":"string","nodeType":"ElementaryTypeName","src":"1483:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1482:12:39"}},{"id":42586,"nodeType":"ErrorDefinition","src":"1500:27:39","nodes":[],"errorSelector":"b3512b0c","name":"InvalidShortString","nameLocation":"1506:18:39","parameters":{"id":42585,"nodeType":"ParameterList","parameters":[],"src":"1524:2:39"}},{"id":42630,"nodeType":"FunctionDefinition","src":"1708:288:39","nodes":[],"body":{"id":42629,"nodeType":"Block","src":"1786:210:39","nodes":[],"statements":[{"assignments":[42596],"declarations":[{"constant":false,"id":42596,"mutability":"mutable","name":"bstr","nameLocation":"1809:4:39","nodeType":"VariableDeclaration","scope":42629,"src":"1796:17:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42595,"name":"bytes","nodeType":"ElementaryTypeName","src":"1796:5:39","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":42601,"initialValue":{"arguments":[{"id":42599,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42589,"src":"1822:3:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":42598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1816:5:39","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":42597,"name":"bytes","nodeType":"ElementaryTypeName","src":"1816:5:39","typeDescriptions":{}}},"id":42600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:10:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1796:30:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":42602,"name":"bstr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42596,"src":"1840:4:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1845:6:39","memberName":"length","nodeType":"MemberAccess","src":"1840:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30783166","id":42604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:4:39","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"0x1f"},"src":"1840:18:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42611,"nodeType":"IfStatement","src":"1836:74:39","trueBody":{"id":42610,"nodeType":"Block","src":"1860:50:39","statements":[{"errorCall":{"arguments":[{"id":42607,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42589,"src":"1895:3:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":42606,"name":"StringTooLong","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42584,"src":"1881:13:39","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":42608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1881:18:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42609,"nodeType":"RevertStatement","src":"1874:25:39"}]}},{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":42620,"name":"bstr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42596,"src":"1967:4:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":42619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1959:7:39","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":42618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1959:7:39","typeDescriptions":{}}},"id":42621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1959:13:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":42617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1951:7:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":42616,"name":"uint256","nodeType":"ElementaryTypeName","src":"1951:7:39","typeDescriptions":{}}},"id":42622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1951:22:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"expression":{"id":42623,"name":"bstr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42596,"src":"1976:4:39","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1981:6:39","memberName":"length","nodeType":"MemberAccess","src":"1976:11:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1951:36:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1943:7:39","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":42614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1943:7:39","typeDescriptions":{}}},"id":42626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1943:45:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":42612,"name":"ShortString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42576,"src":"1926:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"type(ShortString)"}},"id":42613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1938:4:39","memberName":"wrap","nodeType":"MemberAccess","src":"1926:16:39","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"function (bytes32) pure returns (ShortString)"}},"id":42627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1926:63:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"functionReturnParameters":42594,"id":42628,"nodeType":"Return","src":"1919:70:39"}]},"documentation":{"id":42587,"nodeType":"StructuredDocumentation","src":"1533:170:39","text":" @dev Encode a string of at most 31 chars into a `ShortString`.\n This will trigger a `StringTooLong` error is the input string is too long."},"implemented":true,"kind":"function","modifiers":[],"name":"toShortString","nameLocation":"1717:13:39","parameters":{"id":42590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42589,"mutability":"mutable","name":"str","nameLocation":"1745:3:39","nodeType":"VariableDeclaration","scope":42630,"src":"1731:17:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42588,"name":"string","nodeType":"ElementaryTypeName","src":"1731:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1730:19:39"},"returnParameters":{"id":42594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42630,"src":"1773:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"},"typeName":{"id":42592,"nodeType":"UserDefinedTypeName","pathNode":{"id":42591,"name":"ShortString","nameLocations":["1773:11:39"],"nodeType":"IdentifierPath","referencedDeclaration":42576,"src":"1773:11:39"},"referencedDeclaration":42576,"src":"1773:11:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"visibility":"internal"}],"src":"1772:13:39"},"scope":42787,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42656,"nodeType":"FunctionDefinition","src":"2080:380:39","nodes":[],"body":{"id":42655,"nodeType":"Block","src":"2154:306:39","nodes":[],"statements":[{"assignments":[42640],"declarations":[{"constant":false,"id":42640,"mutability":"mutable","name":"len","nameLocation":"2172:3:39","nodeType":"VariableDeclaration","scope":42655,"src":"2164:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42639,"name":"uint256","nodeType":"ElementaryTypeName","src":"2164:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42644,"initialValue":{"arguments":[{"id":42642,"name":"sstr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42634,"src":"2189:4:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}],"id":42641,"name":"byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42688,"src":"2178:10:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ShortString_$42576_$returns$_t_uint256_$","typeString":"function (ShortString) pure returns (uint256)"}},"id":42643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2178:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2164:30:39"},{"assignments":[42646],"declarations":[{"constant":false,"id":42646,"mutability":"mutable","name":"str","nameLocation":"2296:3:39","nodeType":"VariableDeclaration","scope":42655,"src":"2282:17:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42645,"name":"string","nodeType":"ElementaryTypeName","src":"2282:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":42651,"initialValue":{"arguments":[{"hexValue":"30783230","id":42649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2313:4:39","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"id":42648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2302:10:39","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":42647,"name":"string","nodeType":"ElementaryTypeName","src":"2306:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":42650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2302:16:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2282:36:39"},{"AST":{"nativeSrc":"2353:81:39","nodeType":"YulBlock","src":"2353:81:39","statements":[{"expression":{"arguments":[{"name":"str","nativeSrc":"2374:3:39","nodeType":"YulIdentifier","src":"2374:3:39"},{"name":"len","nativeSrc":"2379:3:39","nodeType":"YulIdentifier","src":"2379:3:39"}],"functionName":{"name":"mstore","nativeSrc":"2367:6:39","nodeType":"YulIdentifier","src":"2367:6:39"},"nativeSrc":"2367:16:39","nodeType":"YulFunctionCall","src":"2367:16:39"},"nativeSrc":"2367:16:39","nodeType":"YulExpressionStatement","src":"2367:16:39"},{"expression":{"arguments":[{"arguments":[{"name":"str","nativeSrc":"2407:3:39","nodeType":"YulIdentifier","src":"2407:3:39"},{"kind":"number","nativeSrc":"2412:4:39","nodeType":"YulLiteral","src":"2412:4:39","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2403:3:39","nodeType":"YulIdentifier","src":"2403:3:39"},"nativeSrc":"2403:14:39","nodeType":"YulFunctionCall","src":"2403:14:39"},{"name":"sstr","nativeSrc":"2419:4:39","nodeType":"YulIdentifier","src":"2419:4:39"}],"functionName":{"name":"mstore","nativeSrc":"2396:6:39","nodeType":"YulIdentifier","src":"2396:6:39"},"nativeSrc":"2396:28:39","nodeType":"YulFunctionCall","src":"2396:28:39"},"nativeSrc":"2396:28:39","nodeType":"YulExpressionStatement","src":"2396:28:39"}]},"evmVersion":"prague","externalReferences":[{"declaration":42640,"isOffset":false,"isSlot":false,"src":"2379:3:39","valueSize":1},{"declaration":42634,"isOffset":false,"isSlot":false,"src":"2419:4:39","valueSize":1},{"declaration":42646,"isOffset":false,"isSlot":false,"src":"2374:3:39","valueSize":1},{"declaration":42646,"isOffset":false,"isSlot":false,"src":"2407:3:39","valueSize":1}],"flags":["memory-safe"],"id":42652,"nodeType":"InlineAssembly","src":"2328:106:39"},{"expression":{"id":42653,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42646,"src":"2450:3:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":42638,"id":42654,"nodeType":"Return","src":"2443:10:39"}]},"documentation":{"id":42631,"nodeType":"StructuredDocumentation","src":"2002:73:39","text":" @dev Decode a `ShortString` back to a \"normal\" string."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"2089:8:39","parameters":{"id":42635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42634,"mutability":"mutable","name":"sstr","nameLocation":"2110:4:39","nodeType":"VariableDeclaration","scope":42656,"src":"2098:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"},"typeName":{"id":42633,"nodeType":"UserDefinedTypeName","pathNode":{"id":42632,"name":"ShortString","nameLocations":["2098:11:39"],"nodeType":"IdentifierPath","referencedDeclaration":42576,"src":"2098:11:39"},"referencedDeclaration":42576,"src":"2098:11:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"visibility":"internal"}],"src":"2097:18:39"},"returnParameters":{"id":42638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42656,"src":"2139:13:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42636,"name":"string","nodeType":"ElementaryTypeName","src":"2139:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2138:15:39"},"scope":42787,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42688,"nodeType":"FunctionDefinition","src":"2532:247:39","nodes":[],"body":{"id":42687,"nodeType":"Block","src":"2602:177:39","nodes":[],"statements":[{"assignments":[42666],"declarations":[{"constant":false,"id":42666,"mutability":"mutable","name":"result","nameLocation":"2620:6:39","nodeType":"VariableDeclaration","scope":42687,"src":"2612:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42665,"name":"uint256","nodeType":"ElementaryTypeName","src":"2612:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42676,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":42671,"name":"sstr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42660,"src":"2656:4:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}],"expression":{"id":42669,"name":"ShortString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42576,"src":"2637:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"type(ShortString)"}},"id":42670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2649:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"2637:18:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ShortString_$42576_$returns$_t_bytes32_$","typeString":"function (ShortString) pure returns (bytes32)"}},"id":42672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2637:24:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":42668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2629:7:39","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":42667,"name":"uint256","nodeType":"ElementaryTypeName","src":"2629:7:39","typeDescriptions":{}}},"id":42673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2629:33:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":42674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2665:4:39","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"2629:40:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2612:57:39"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42677,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42666,"src":"2683:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30783166","id":42678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2692:4:39","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"0x1f"},"src":"2683:13:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42684,"nodeType":"IfStatement","src":"2679:71:39","trueBody":{"id":42683,"nodeType":"Block","src":"2698:52:39","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":42680,"name":"InvalidShortString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42586,"src":"2719:18:39","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":42681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2719:20:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42682,"nodeType":"RevertStatement","src":"2712:27:39"}]}},{"expression":{"id":42685,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42666,"src":"2766:6:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42664,"id":42686,"nodeType":"Return","src":"2759:13:39"}]},"documentation":{"id":42657,"nodeType":"StructuredDocumentation","src":"2466:61:39","text":" @dev Return the length of a `ShortString`."},"implemented":true,"kind":"function","modifiers":[],"name":"byteLength","nameLocation":"2541:10:39","parameters":{"id":42661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42660,"mutability":"mutable","name":"sstr","nameLocation":"2564:4:39","nodeType":"VariableDeclaration","scope":42688,"src":"2552:16:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"},"typeName":{"id":42659,"nodeType":"UserDefinedTypeName","pathNode":{"id":42658,"name":"ShortString","nameLocations":["2552:11:39"],"nodeType":"IdentifierPath","referencedDeclaration":42576,"src":"2552:11:39"},"referencedDeclaration":42576,"src":"2552:11:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"visibility":"internal"}],"src":"2551:18:39"},"returnParameters":{"id":42664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42688,"src":"2593:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42662,"name":"uint256","nodeType":"ElementaryTypeName","src":"2593:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2592:9:39"},"scope":42787,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42728,"nodeType":"FunctionDefinition","src":"2893:342:39","nodes":[],"body":{"id":42727,"nodeType":"Block","src":"3002:233:39","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":42701,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42691,"src":"3022:5:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":42700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3016:5:39","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":42699,"name":"bytes","nodeType":"ElementaryTypeName","src":"3016:5:39","typeDescriptions":{}}},"id":42702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3016:12:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3029:6:39","memberName":"length","nodeType":"MemberAccess","src":"3016:19:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30783230","id":42704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3038:4:39","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"3016:26:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":42725,"nodeType":"Block","src":"3102:127:39","statements":[{"expression":{"id":42718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":42714,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42693,"src":"3142:5:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}],"expression":{"id":42711,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42911,"src":"3116:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$42911_$","typeString":"type(library StorageSlot)"}},"id":42713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3128:13:39","memberName":"getStringSlot","nodeType":"MemberAccess","referencedDeclaration":42888,"src":"3116:25:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_storage_ptr_$returns$_t_struct$_StringSlot_$42808_storage_ptr_$","typeString":"function (string storage pointer) pure returns (struct StorageSlot.StringSlot storage pointer)"}},"id":42715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3116:32:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$42808_storage_ptr","typeString":"struct StorageSlot.StringSlot storage pointer"}},"id":42716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3149:5:39","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":42807,"src":"3116:38:39","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42717,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42691,"src":"3157:5:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3116:46:39","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":42719,"nodeType":"ExpressionStatement","src":"3116:46:39"},{"expression":{"arguments":[{"id":42722,"name":"FALLBACK_SENTINEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42580,"src":"3200:17:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":42720,"name":"ShortString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42576,"src":"3183:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"type(ShortString)"}},"id":42721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3195:4:39","memberName":"wrap","nodeType":"MemberAccess","src":"3183:16:39","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"function (bytes32) pure returns (ShortString)"}},"id":42723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3183:35:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"functionReturnParameters":42698,"id":42724,"nodeType":"Return","src":"3176:42:39"}]},"id":42726,"nodeType":"IfStatement","src":"3012:217:39","trueBody":{"id":42710,"nodeType":"Block","src":"3044:52:39","statements":[{"expression":{"arguments":[{"id":42707,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42691,"src":"3079:5:39","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":42706,"name":"toShortString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42630,"src":"3065:13:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"function (string memory) pure returns (ShortString)"}},"id":42708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3065:20:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"functionReturnParameters":42698,"id":42709,"nodeType":"Return","src":"3058:27:39"}]}}]},"documentation":{"id":42689,"nodeType":"StructuredDocumentation","src":"2785:103:39","text":" @dev Encode a string into a `ShortString`, or write it to storage if it is too long."},"implemented":true,"kind":"function","modifiers":[],"name":"toShortStringWithFallback","nameLocation":"2902:25:39","parameters":{"id":42694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42691,"mutability":"mutable","name":"value","nameLocation":"2942:5:39","nodeType":"VariableDeclaration","scope":42728,"src":"2928:19:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42690,"name":"string","nodeType":"ElementaryTypeName","src":"2928:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42693,"mutability":"mutable","name":"store","nameLocation":"2964:5:39","nodeType":"VariableDeclaration","scope":42728,"src":"2949:20:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":42692,"name":"string","nodeType":"ElementaryTypeName","src":"2949:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2927:43:39"},"returnParameters":{"id":42698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42728,"src":"2989:11:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"},"typeName":{"id":42696,"nodeType":"UserDefinedTypeName","pathNode":{"id":42695,"name":"ShortString","nameLocations":["2989:11:39"],"nodeType":"IdentifierPath","referencedDeclaration":42576,"src":"2989:11:39"},"referencedDeclaration":42576,"src":"2989:11:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"visibility":"internal"}],"src":"2988:13:39"},"scope":42787,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":42755,"nodeType":"FunctionDefinition","src":"3376:267:39","nodes":[],"body":{"id":42754,"nodeType":"Block","src":"3485:158:39","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42741,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42732,"src":"3518:5:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}],"expression":{"id":42739,"name":"ShortString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42576,"src":"3499:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"type(ShortString)"}},"id":42740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3511:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"3499:18:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ShortString_$42576_$returns$_t_bytes32_$","typeString":"function (ShortString) pure returns (bytes32)"}},"id":42742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3499:25:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":42743,"name":"FALLBACK_SENTINEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42580,"src":"3528:17:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3499:46:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":42752,"nodeType":"Block","src":"3600:37:39","statements":[{"expression":{"id":42750,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42734,"src":"3621:5:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"functionReturnParameters":42738,"id":42751,"nodeType":"Return","src":"3614:12:39"}]},"id":42753,"nodeType":"IfStatement","src":"3495:142:39","trueBody":{"id":42749,"nodeType":"Block","src":"3547:47:39","statements":[{"expression":{"arguments":[{"id":42746,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42732,"src":"3577:5:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}],"id":42745,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42656,"src":"3568:8:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ShortString_$42576_$returns$_t_string_memory_ptr_$","typeString":"function (ShortString) pure returns (string memory)"}},"id":42747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3568:15:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":42738,"id":42748,"nodeType":"Return","src":"3561:22:39"}]}}]},"documentation":{"id":42729,"nodeType":"StructuredDocumentation","src":"3241:130:39","text":" @dev Decode a string that was encoded to `ShortString` or written to storage using {toShortStringWithFallback}."},"implemented":true,"kind":"function","modifiers":[],"name":"toStringWithFallback","nameLocation":"3385:20:39","parameters":{"id":42735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42732,"mutability":"mutable","name":"value","nameLocation":"3418:5:39","nodeType":"VariableDeclaration","scope":42755,"src":"3406:17:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"},"typeName":{"id":42731,"nodeType":"UserDefinedTypeName","pathNode":{"id":42730,"name":"ShortString","nameLocations":["3406:11:39"],"nodeType":"IdentifierPath","referencedDeclaration":42576,"src":"3406:11:39"},"referencedDeclaration":42576,"src":"3406:11:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"visibility":"internal"},{"constant":false,"id":42734,"mutability":"mutable","name":"store","nameLocation":"3440:5:39","nodeType":"VariableDeclaration","scope":42755,"src":"3425:20:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":42733,"name":"string","nodeType":"ElementaryTypeName","src":"3425:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3405:41:39"},"returnParameters":{"id":42738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42737,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42755,"src":"3470:13:39","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42736,"name":"string","nodeType":"ElementaryTypeName","src":"3470:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3469:15:39"},"scope":42787,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42786,"nodeType":"FunctionDefinition","src":"4028:279:39","nodes":[],"body":{"id":42785,"nodeType":"Block","src":"4133:174:39","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":42771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42768,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42759,"src":"4166:5:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}],"expression":{"id":42766,"name":"ShortString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42576,"src":"4147:11:39","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"type(ShortString)"}},"id":42767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4159:6:39","memberName":"unwrap","nodeType":"MemberAccess","src":"4147:18:39","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ShortString_$42576_$returns$_t_bytes32_$","typeString":"function (ShortString) pure returns (bytes32)"}},"id":42769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4147:25:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":42770,"name":"FALLBACK_SENTINEL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42580,"src":"4176:17:39","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4147:46:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":42783,"nodeType":"Block","src":"4250:51:39","statements":[{"expression":{"expression":{"arguments":[{"id":42779,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42761,"src":"4277:5:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}],"id":42778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4271:5:39","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":42777,"name":"bytes","nodeType":"ElementaryTypeName","src":"4271:5:39","typeDescriptions":{}}},"id":42780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4271:12:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},"id":42781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4284:6:39","memberName":"length","nodeType":"MemberAccess","src":"4271:19:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42765,"id":42782,"nodeType":"Return","src":"4264:26:39"}]},"id":42784,"nodeType":"IfStatement","src":"4143:158:39","trueBody":{"id":42776,"nodeType":"Block","src":"4195:49:39","statements":[{"expression":{"arguments":[{"id":42773,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42759,"src":"4227:5:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}],"id":42772,"name":"byteLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42688,"src":"4216:10:39","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ShortString_$42576_$returns$_t_uint256_$","typeString":"function (ShortString) pure returns (uint256)"}},"id":42774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4216:17:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42765,"id":42775,"nodeType":"Return","src":"4209:24:39"}]}}]},"documentation":{"id":42756,"nodeType":"StructuredDocumentation","src":"3649:374:39","text":" @dev Return the length of a string that was encoded to `ShortString` or written to storage using\n {toShortStringWithFallback}.\n WARNING: This will return the \"byte length\" of the string. This may not reflect the actual length in terms of\n actual characters as the UTF-8 encoding of a single character can span over multiple bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"byteLengthWithFallback","nameLocation":"4037:22:39","parameters":{"id":42762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42759,"mutability":"mutable","name":"value","nameLocation":"4072:5:39","nodeType":"VariableDeclaration","scope":42786,"src":"4060:17:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"},"typeName":{"id":42758,"nodeType":"UserDefinedTypeName","pathNode":{"id":42757,"name":"ShortString","nameLocations":["4060:11:39"],"nodeType":"IdentifierPath","referencedDeclaration":42576,"src":"4060:11:39"},"referencedDeclaration":42576,"src":"4060:11:39","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"visibility":"internal"},{"constant":false,"id":42761,"mutability":"mutable","name":"store","nameLocation":"4094:5:39","nodeType":"VariableDeclaration","scope":42786,"src":"4079:20:39","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":42760,"name":"string","nodeType":"ElementaryTypeName","src":"4079:6:39","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4059:41:39"},"returnParameters":{"id":42765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42764,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42786,"src":"4124:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42763,"name":"uint256","nodeType":"ElementaryTypeName","src":"4124:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4123:9:39"},"scope":42787,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"ShortStrings","contractDependencies":[],"contractKind":"library","documentation":{"id":42577,"nodeType":"StructuredDocumentation","src":"378:876:39","text":" @dev This library provides functions to convert short memory strings\n into a `ShortString` type that can be used as an immutable variable.\n Strings of arbitrary length can be optimized using this library if\n they are short enough (up to 31 bytes) by packing them with their\n length (1 byte) in a single EVM word (32 bytes). Additionally, a\n fallback mechanism can be used for every other case.\n Usage example:\n ```solidity\n contract Named {\n using ShortStrings for *;\n ShortString private immutable _name;\n string private _nameFallback;\n constructor(string memory contractName) {\n _name = contractName.toShortStringWithFallback(_nameFallback);\n }\n function name() external view returns (string memory) {\n return _name.toStringWithFallback(_nameFallback);\n }\n }\n ```"},"fullyImplemented":true,"linearizedBaseContracts":[42787],"name":"ShortStrings","nameLocation":"1263:12:39","scope":42788,"usedErrors":[42584,42586],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"id":40,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","id":42912,"exportedSymbols":{"StorageSlot":[42911]},"nodeType":"SourceUnit","src":"193:3989:40","nodes":[{"id":42789,"nodeType":"PragmaDirective","src":"193:24:40","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":42911,"nodeType":"ContractDefinition","src":"1407:2774:40","nodes":[{"id":42793,"nodeType":"StructDefinition","src":"1433:49:40","nodes":[],"canonicalName":"StorageSlot.AddressSlot","members":[{"constant":false,"id":42792,"mutability":"mutable","name":"value","nameLocation":"1470:5:40","nodeType":"VariableDeclaration","scope":42793,"src":"1462:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42791,"name":"address","nodeType":"ElementaryTypeName","src":"1462:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"AddressSlot","nameLocation":"1440:11:40","scope":42911,"visibility":"public"},{"id":42796,"nodeType":"StructDefinition","src":"1488:46:40","nodes":[],"canonicalName":"StorageSlot.BooleanSlot","members":[{"constant":false,"id":42795,"mutability":"mutable","name":"value","nameLocation":"1522:5:40","nodeType":"VariableDeclaration","scope":42796,"src":"1517:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42794,"name":"bool","nodeType":"ElementaryTypeName","src":"1517:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"BooleanSlot","nameLocation":"1495:11:40","scope":42911,"visibility":"public"},{"id":42799,"nodeType":"StructDefinition","src":"1540:49:40","nodes":[],"canonicalName":"StorageSlot.Bytes32Slot","members":[{"constant":false,"id":42798,"mutability":"mutable","name":"value","nameLocation":"1577:5:40","nodeType":"VariableDeclaration","scope":42799,"src":"1569:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1569:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Bytes32Slot","nameLocation":"1547:11:40","scope":42911,"visibility":"public"},{"id":42802,"nodeType":"StructDefinition","src":"1595:49:40","nodes":[],"canonicalName":"StorageSlot.Uint256Slot","members":[{"constant":false,"id":42801,"mutability":"mutable","name":"value","nameLocation":"1632:5:40","nodeType":"VariableDeclaration","scope":42802,"src":"1624:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42800,"name":"uint256","nodeType":"ElementaryTypeName","src":"1624:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Uint256Slot","nameLocation":"1602:11:40","scope":42911,"visibility":"public"},{"id":42805,"nodeType":"StructDefinition","src":"1650:47:40","nodes":[],"canonicalName":"StorageSlot.Int256Slot","members":[{"constant":false,"id":42804,"mutability":"mutable","name":"value","nameLocation":"1685:5:40","nodeType":"VariableDeclaration","scope":42805,"src":"1678:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":42803,"name":"int256","nodeType":"ElementaryTypeName","src":"1678:6:40","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"Int256Slot","nameLocation":"1657:10:40","scope":42911,"visibility":"public"},{"id":42808,"nodeType":"StructDefinition","src":"1703:47:40","nodes":[],"canonicalName":"StorageSlot.StringSlot","members":[{"constant":false,"id":42807,"mutability":"mutable","name":"value","nameLocation":"1738:5:40","nodeType":"VariableDeclaration","scope":42808,"src":"1731:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":42806,"name":"string","nodeType":"ElementaryTypeName","src":"1731:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"StringSlot","nameLocation":"1710:10:40","scope":42911,"visibility":"public"},{"id":42811,"nodeType":"StructDefinition","src":"1756:45:40","nodes":[],"canonicalName":"StorageSlot.BytesSlot","members":[{"constant":false,"id":42810,"mutability":"mutable","name":"value","nameLocation":"1789:5:40","nodeType":"VariableDeclaration","scope":42811,"src":"1783:11:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":42809,"name":"bytes","nodeType":"ElementaryTypeName","src":"1783:5:40","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"BytesSlot","nameLocation":"1763:9:40","scope":42911,"visibility":"public"},{"id":42822,"nodeType":"FunctionDefinition","src":"1899:163:40","nodes":[],"body":{"id":42821,"nodeType":"Block","src":"1983:79:40","nodes":[],"statements":[{"AST":{"nativeSrc":"2018:38:40","nodeType":"YulBlock","src":"2018:38:40","statements":[{"nativeSrc":"2032:14:40","nodeType":"YulAssignment","src":"2032:14:40","value":{"name":"slot","nativeSrc":"2042:4:40","nodeType":"YulIdentifier","src":"2042:4:40"},"variableNames":[{"name":"r.slot","nativeSrc":"2032:6:40","nodeType":"YulIdentifier","src":"2032:6:40"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42818,"isOffset":false,"isSlot":true,"src":"2032:6:40","suffix":"slot","valueSize":1},{"declaration":42814,"isOffset":false,"isSlot":false,"src":"2042:4:40","valueSize":1}],"flags":["memory-safe"],"id":42820,"nodeType":"InlineAssembly","src":"1993:63:40"}]},"documentation":{"id":42812,"nodeType":"StructuredDocumentation","src":"1807:87:40","text":" @dev Returns an `AddressSlot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getAddressSlot","nameLocation":"1908:14:40","parameters":{"id":42815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42814,"mutability":"mutable","name":"slot","nameLocation":"1931:4:40","nodeType":"VariableDeclaration","scope":42822,"src":"1923:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1923:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1922:14:40"},"returnParameters":{"id":42819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42818,"mutability":"mutable","name":"r","nameLocation":"1980:1:40","nodeType":"VariableDeclaration","scope":42822,"src":"1960:21:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$42793_storage_ptr","typeString":"struct StorageSlot.AddressSlot"},"typeName":{"id":42817,"nodeType":"UserDefinedTypeName","pathNode":{"id":42816,"name":"AddressSlot","nameLocations":["1960:11:40"],"nodeType":"IdentifierPath","referencedDeclaration":42793,"src":"1960:11:40"},"referencedDeclaration":42793,"src":"1960:11:40","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$42793_storage_ptr","typeString":"struct StorageSlot.AddressSlot"}},"visibility":"internal"}],"src":"1959:23:40"},"scope":42911,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42833,"nodeType":"FunctionDefinition","src":"2159:163:40","nodes":[],"body":{"id":42832,"nodeType":"Block","src":"2243:79:40","nodes":[],"statements":[{"AST":{"nativeSrc":"2278:38:40","nodeType":"YulBlock","src":"2278:38:40","statements":[{"nativeSrc":"2292:14:40","nodeType":"YulAssignment","src":"2292:14:40","value":{"name":"slot","nativeSrc":"2302:4:40","nodeType":"YulIdentifier","src":"2302:4:40"},"variableNames":[{"name":"r.slot","nativeSrc":"2292:6:40","nodeType":"YulIdentifier","src":"2292:6:40"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42829,"isOffset":false,"isSlot":true,"src":"2292:6:40","suffix":"slot","valueSize":1},{"declaration":42825,"isOffset":false,"isSlot":false,"src":"2302:4:40","valueSize":1}],"flags":["memory-safe"],"id":42831,"nodeType":"InlineAssembly","src":"2253:63:40"}]},"documentation":{"id":42823,"nodeType":"StructuredDocumentation","src":"2068:86:40","text":" @dev Returns a `BooleanSlot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getBooleanSlot","nameLocation":"2168:14:40","parameters":{"id":42826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42825,"mutability":"mutable","name":"slot","nameLocation":"2191:4:40","nodeType":"VariableDeclaration","scope":42833,"src":"2183:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2183:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2182:14:40"},"returnParameters":{"id":42830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42829,"mutability":"mutable","name":"r","nameLocation":"2240:1:40","nodeType":"VariableDeclaration","scope":42833,"src":"2220:21:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BooleanSlot_$42796_storage_ptr","typeString":"struct StorageSlot.BooleanSlot"},"typeName":{"id":42828,"nodeType":"UserDefinedTypeName","pathNode":{"id":42827,"name":"BooleanSlot","nameLocations":["2220:11:40"],"nodeType":"IdentifierPath","referencedDeclaration":42796,"src":"2220:11:40"},"referencedDeclaration":42796,"src":"2220:11:40","typeDescriptions":{"typeIdentifier":"t_struct$_BooleanSlot_$42796_storage_ptr","typeString":"struct StorageSlot.BooleanSlot"}},"visibility":"internal"}],"src":"2219:23:40"},"scope":42911,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42844,"nodeType":"FunctionDefinition","src":"2419:163:40","nodes":[],"body":{"id":42843,"nodeType":"Block","src":"2503:79:40","nodes":[],"statements":[{"AST":{"nativeSrc":"2538:38:40","nodeType":"YulBlock","src":"2538:38:40","statements":[{"nativeSrc":"2552:14:40","nodeType":"YulAssignment","src":"2552:14:40","value":{"name":"slot","nativeSrc":"2562:4:40","nodeType":"YulIdentifier","src":"2562:4:40"},"variableNames":[{"name":"r.slot","nativeSrc":"2552:6:40","nodeType":"YulIdentifier","src":"2552:6:40"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42840,"isOffset":false,"isSlot":true,"src":"2552:6:40","suffix":"slot","valueSize":1},{"declaration":42836,"isOffset":false,"isSlot":false,"src":"2562:4:40","valueSize":1}],"flags":["memory-safe"],"id":42842,"nodeType":"InlineAssembly","src":"2513:63:40"}]},"documentation":{"id":42834,"nodeType":"StructuredDocumentation","src":"2328:86:40","text":" @dev Returns a `Bytes32Slot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getBytes32Slot","nameLocation":"2428:14:40","parameters":{"id":42837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42836,"mutability":"mutable","name":"slot","nameLocation":"2451:4:40","nodeType":"VariableDeclaration","scope":42844,"src":"2443:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2443:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2442:14:40"},"returnParameters":{"id":42841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42840,"mutability":"mutable","name":"r","nameLocation":"2500:1:40","nodeType":"VariableDeclaration","scope":42844,"src":"2480:21:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$42799_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"},"typeName":{"id":42839,"nodeType":"UserDefinedTypeName","pathNode":{"id":42838,"name":"Bytes32Slot","nameLocations":["2480:11:40"],"nodeType":"IdentifierPath","referencedDeclaration":42799,"src":"2480:11:40"},"referencedDeclaration":42799,"src":"2480:11:40","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$42799_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"}},"visibility":"internal"}],"src":"2479:23:40"},"scope":42911,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42855,"nodeType":"FunctionDefinition","src":"2679:163:40","nodes":[],"body":{"id":42854,"nodeType":"Block","src":"2763:79:40","nodes":[],"statements":[{"AST":{"nativeSrc":"2798:38:40","nodeType":"YulBlock","src":"2798:38:40","statements":[{"nativeSrc":"2812:14:40","nodeType":"YulAssignment","src":"2812:14:40","value":{"name":"slot","nativeSrc":"2822:4:40","nodeType":"YulIdentifier","src":"2822:4:40"},"variableNames":[{"name":"r.slot","nativeSrc":"2812:6:40","nodeType":"YulIdentifier","src":"2812:6:40"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42851,"isOffset":false,"isSlot":true,"src":"2812:6:40","suffix":"slot","valueSize":1},{"declaration":42847,"isOffset":false,"isSlot":false,"src":"2822:4:40","valueSize":1}],"flags":["memory-safe"],"id":42853,"nodeType":"InlineAssembly","src":"2773:63:40"}]},"documentation":{"id":42845,"nodeType":"StructuredDocumentation","src":"2588:86:40","text":" @dev Returns a `Uint256Slot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getUint256Slot","nameLocation":"2688:14:40","parameters":{"id":42848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42847,"mutability":"mutable","name":"slot","nameLocation":"2711:4:40","nodeType":"VariableDeclaration","scope":42855,"src":"2703:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2703:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2702:14:40"},"returnParameters":{"id":42852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42851,"mutability":"mutable","name":"r","nameLocation":"2760:1:40","nodeType":"VariableDeclaration","scope":42855,"src":"2740:21:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$42802_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"},"typeName":{"id":42850,"nodeType":"UserDefinedTypeName","pathNode":{"id":42849,"name":"Uint256Slot","nameLocations":["2740:11:40"],"nodeType":"IdentifierPath","referencedDeclaration":42802,"src":"2740:11:40"},"referencedDeclaration":42802,"src":"2740:11:40","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$42802_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"}},"visibility":"internal"}],"src":"2739:23:40"},"scope":42911,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42866,"nodeType":"FunctionDefinition","src":"2938:161:40","nodes":[],"body":{"id":42865,"nodeType":"Block","src":"3020:79:40","nodes":[],"statements":[{"AST":{"nativeSrc":"3055:38:40","nodeType":"YulBlock","src":"3055:38:40","statements":[{"nativeSrc":"3069:14:40","nodeType":"YulAssignment","src":"3069:14:40","value":{"name":"slot","nativeSrc":"3079:4:40","nodeType":"YulIdentifier","src":"3079:4:40"},"variableNames":[{"name":"r.slot","nativeSrc":"3069:6:40","nodeType":"YulIdentifier","src":"3069:6:40"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42862,"isOffset":false,"isSlot":true,"src":"3069:6:40","suffix":"slot","valueSize":1},{"declaration":42858,"isOffset":false,"isSlot":false,"src":"3079:4:40","valueSize":1}],"flags":["memory-safe"],"id":42864,"nodeType":"InlineAssembly","src":"3030:63:40"}]},"documentation":{"id":42856,"nodeType":"StructuredDocumentation","src":"2848:85:40","text":" @dev Returns a `Int256Slot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getInt256Slot","nameLocation":"2947:13:40","parameters":{"id":42859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42858,"mutability":"mutable","name":"slot","nameLocation":"2969:4:40","nodeType":"VariableDeclaration","scope":42866,"src":"2961:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2961:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2960:14:40"},"returnParameters":{"id":42863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42862,"mutability":"mutable","name":"r","nameLocation":"3017:1:40","nodeType":"VariableDeclaration","scope":42866,"src":"2998:20:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Int256Slot_$42805_storage_ptr","typeString":"struct StorageSlot.Int256Slot"},"typeName":{"id":42861,"nodeType":"UserDefinedTypeName","pathNode":{"id":42860,"name":"Int256Slot","nameLocations":["2998:10:40"],"nodeType":"IdentifierPath","referencedDeclaration":42805,"src":"2998:10:40"},"referencedDeclaration":42805,"src":"2998:10:40","typeDescriptions":{"typeIdentifier":"t_struct$_Int256Slot_$42805_storage_ptr","typeString":"struct StorageSlot.Int256Slot"}},"visibility":"internal"}],"src":"2997:22:40"},"scope":42911,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42877,"nodeType":"FunctionDefinition","src":"3195:161:40","nodes":[],"body":{"id":42876,"nodeType":"Block","src":"3277:79:40","nodes":[],"statements":[{"AST":{"nativeSrc":"3312:38:40","nodeType":"YulBlock","src":"3312:38:40","statements":[{"nativeSrc":"3326:14:40","nodeType":"YulAssignment","src":"3326:14:40","value":{"name":"slot","nativeSrc":"3336:4:40","nodeType":"YulIdentifier","src":"3336:4:40"},"variableNames":[{"name":"r.slot","nativeSrc":"3326:6:40","nodeType":"YulIdentifier","src":"3326:6:40"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42873,"isOffset":false,"isSlot":true,"src":"3326:6:40","suffix":"slot","valueSize":1},{"declaration":42869,"isOffset":false,"isSlot":false,"src":"3336:4:40","valueSize":1}],"flags":["memory-safe"],"id":42875,"nodeType":"InlineAssembly","src":"3287:63:40"}]},"documentation":{"id":42867,"nodeType":"StructuredDocumentation","src":"3105:85:40","text":" @dev Returns a `StringSlot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getStringSlot","nameLocation":"3204:13:40","parameters":{"id":42870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42869,"mutability":"mutable","name":"slot","nameLocation":"3226:4:40","nodeType":"VariableDeclaration","scope":42877,"src":"3218:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3218:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3217:14:40"},"returnParameters":{"id":42874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42873,"mutability":"mutable","name":"r","nameLocation":"3274:1:40","nodeType":"VariableDeclaration","scope":42877,"src":"3255:20:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$42808_storage_ptr","typeString":"struct StorageSlot.StringSlot"},"typeName":{"id":42872,"nodeType":"UserDefinedTypeName","pathNode":{"id":42871,"name":"StringSlot","nameLocations":["3255:10:40"],"nodeType":"IdentifierPath","referencedDeclaration":42808,"src":"3255:10:40"},"referencedDeclaration":42808,"src":"3255:10:40","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$42808_storage_ptr","typeString":"struct StorageSlot.StringSlot"}},"visibility":"internal"}],"src":"3254:22:40"},"scope":42911,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42888,"nodeType":"FunctionDefinition","src":"3468:175:40","nodes":[],"body":{"id":42887,"nodeType":"Block","src":"3558:85:40","nodes":[],"statements":[{"AST":{"nativeSrc":"3593:44:40","nodeType":"YulBlock","src":"3593:44:40","statements":[{"nativeSrc":"3607:20:40","nodeType":"YulAssignment","src":"3607:20:40","value":{"name":"store.slot","nativeSrc":"3617:10:40","nodeType":"YulIdentifier","src":"3617:10:40"},"variableNames":[{"name":"r.slot","nativeSrc":"3607:6:40","nodeType":"YulIdentifier","src":"3607:6:40"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42884,"isOffset":false,"isSlot":true,"src":"3607:6:40","suffix":"slot","valueSize":1},{"declaration":42880,"isOffset":false,"isSlot":true,"src":"3617:10:40","suffix":"slot","valueSize":1}],"flags":["memory-safe"],"id":42886,"nodeType":"InlineAssembly","src":"3568:69:40"}]},"documentation":{"id":42878,"nodeType":"StructuredDocumentation","src":"3362:101:40","text":" @dev Returns an `StringSlot` representation of the string storage pointer `store`."},"implemented":true,"kind":"function","modifiers":[],"name":"getStringSlot","nameLocation":"3477:13:40","parameters":{"id":42881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42880,"mutability":"mutable","name":"store","nameLocation":"3506:5:40","nodeType":"VariableDeclaration","scope":42888,"src":"3491:20:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":42879,"name":"string","nodeType":"ElementaryTypeName","src":"3491:6:40","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3490:22:40"},"returnParameters":{"id":42885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42884,"mutability":"mutable","name":"r","nameLocation":"3555:1:40","nodeType":"VariableDeclaration","scope":42888,"src":"3536:20:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$42808_storage_ptr","typeString":"struct StorageSlot.StringSlot"},"typeName":{"id":42883,"nodeType":"UserDefinedTypeName","pathNode":{"id":42882,"name":"StringSlot","nameLocations":["3536:10:40"],"nodeType":"IdentifierPath","referencedDeclaration":42808,"src":"3536:10:40"},"referencedDeclaration":42808,"src":"3536:10:40","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$42808_storage_ptr","typeString":"struct StorageSlot.StringSlot"}},"visibility":"internal"}],"src":"3535:22:40"},"scope":42911,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42899,"nodeType":"FunctionDefinition","src":"3738:159:40","nodes":[],"body":{"id":42898,"nodeType":"Block","src":"3818:79:40","nodes":[],"statements":[{"AST":{"nativeSrc":"3853:38:40","nodeType":"YulBlock","src":"3853:38:40","statements":[{"nativeSrc":"3867:14:40","nodeType":"YulAssignment","src":"3867:14:40","value":{"name":"slot","nativeSrc":"3877:4:40","nodeType":"YulIdentifier","src":"3877:4:40"},"variableNames":[{"name":"r.slot","nativeSrc":"3867:6:40","nodeType":"YulIdentifier","src":"3867:6:40"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42895,"isOffset":false,"isSlot":true,"src":"3867:6:40","suffix":"slot","valueSize":1},{"declaration":42891,"isOffset":false,"isSlot":false,"src":"3877:4:40","valueSize":1}],"flags":["memory-safe"],"id":42897,"nodeType":"InlineAssembly","src":"3828:63:40"}]},"documentation":{"id":42889,"nodeType":"StructuredDocumentation","src":"3649:84:40","text":" @dev Returns a `BytesSlot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getBytesSlot","nameLocation":"3747:12:40","parameters":{"id":42892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42891,"mutability":"mutable","name":"slot","nameLocation":"3768:4:40","nodeType":"VariableDeclaration","scope":42899,"src":"3760:12:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3760:7:40","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3759:14:40"},"returnParameters":{"id":42896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42895,"mutability":"mutable","name":"r","nameLocation":"3815:1:40","nodeType":"VariableDeclaration","scope":42899,"src":"3797:19:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$42811_storage_ptr","typeString":"struct StorageSlot.BytesSlot"},"typeName":{"id":42894,"nodeType":"UserDefinedTypeName","pathNode":{"id":42893,"name":"BytesSlot","nameLocations":["3797:9:40"],"nodeType":"IdentifierPath","referencedDeclaration":42811,"src":"3797:9:40"},"referencedDeclaration":42811,"src":"3797:9:40","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$42811_storage_ptr","typeString":"struct StorageSlot.BytesSlot"}},"visibility":"internal"}],"src":"3796:21:40"},"scope":42911,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":42910,"nodeType":"FunctionDefinition","src":"4007:172:40","nodes":[],"body":{"id":42909,"nodeType":"Block","src":"4094:85:40","nodes":[],"statements":[{"AST":{"nativeSrc":"4129:44:40","nodeType":"YulBlock","src":"4129:44:40","statements":[{"nativeSrc":"4143:20:40","nodeType":"YulAssignment","src":"4143:20:40","value":{"name":"store.slot","nativeSrc":"4153:10:40","nodeType":"YulIdentifier","src":"4153:10:40"},"variableNames":[{"name":"r.slot","nativeSrc":"4143:6:40","nodeType":"YulIdentifier","src":"4143:6:40"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42906,"isOffset":false,"isSlot":true,"src":"4143:6:40","suffix":"slot","valueSize":1},{"declaration":42902,"isOffset":false,"isSlot":true,"src":"4153:10:40","suffix":"slot","valueSize":1}],"flags":["memory-safe"],"id":42908,"nodeType":"InlineAssembly","src":"4104:69:40"}]},"documentation":{"id":42900,"nodeType":"StructuredDocumentation","src":"3903:99:40","text":" @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`."},"implemented":true,"kind":"function","modifiers":[],"name":"getBytesSlot","nameLocation":"4016:12:40","parameters":{"id":42903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42902,"mutability":"mutable","name":"store","nameLocation":"4043:5:40","nodeType":"VariableDeclaration","scope":42910,"src":"4029:19:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":42901,"name":"bytes","nodeType":"ElementaryTypeName","src":"4029:5:40","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4028:21:40"},"returnParameters":{"id":42907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42906,"mutability":"mutable","name":"r","nameLocation":"4091:1:40","nodeType":"VariableDeclaration","scope":42910,"src":"4073:19:40","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$42811_storage_ptr","typeString":"struct StorageSlot.BytesSlot"},"typeName":{"id":42905,"nodeType":"UserDefinedTypeName","pathNode":{"id":42904,"name":"BytesSlot","nameLocations":["4073:9:40"],"nodeType":"IdentifierPath","referencedDeclaration":42811,"src":"4073:9:40"},"referencedDeclaration":42811,"src":"4073:9:40","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$42811_storage_ptr","typeString":"struct StorageSlot.BytesSlot"}},"visibility":"internal"}],"src":"4072:21:40"},"scope":42911,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StorageSlot","contractDependencies":[],"contractKind":"library","documentation":{"id":42790,"nodeType":"StructuredDocumentation","src":"219:1187:40","text":" @dev Library for reading and writing primitive types to specific storage slots.\n Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n This library helps with reading and writing to such slots without the need for inline assembly.\n The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n Example usage to set ERC-1967 implementation slot:\n ```solidity\n contract ERC1967 {\n // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n function _setImplementation(address newImplementation) internal {\n require(newImplementation.code.length > 0);\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n }\n ```\n TIP: Consider using this library along with {SlotDerivation}."},"fullyImplemented":true,"linearizedBaseContracts":[42911],"name":"StorageSlot","nameLocation":"1415:11:40","scope":42912,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"id":41,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","id":44392,"exportedSymbols":{"Bytes":[42307],"Math":[46817],"SafeCast":[48582],"SignedMath":[48726],"Strings":[44391]},"nodeType":"SourceUnit","src":"101:19782:41","nodes":[{"id":42913,"nodeType":"PragmaDirective","src":"101:24:41","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":42915,"nodeType":"ImportDirective","src":"127:37:41","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"./math/Math.sol","nameLocation":"-1:-1:-1","scope":44392,"sourceUnit":46818,"symbolAliases":[{"foreign":{"id":42914,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"135:4:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42917,"nodeType":"ImportDirective","src":"165:45:41","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","file":"./math/SafeCast.sol","nameLocation":"-1:-1:-1","scope":44392,"sourceUnit":48583,"symbolAliases":[{"foreign":{"id":42916,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"173:8:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42919,"nodeType":"ImportDirective","src":"211:49:41","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","file":"./math/SignedMath.sol","nameLocation":"-1:-1:-1","scope":44392,"sourceUnit":48727,"symbolAliases":[{"foreign":{"id":42918,"name":"SignedMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48726,"src":"219:10:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42921,"nodeType":"ImportDirective","src":"261:34:41","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Bytes.sol","file":"./Bytes.sol","nameLocation":"-1:-1:-1","scope":44392,"sourceUnit":42308,"symbolAliases":[{"foreign":{"id":42920,"name":"Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42307,"src":"269:5:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":44391,"nodeType":"ContractDefinition","src":"332:19550:41","nodes":[{"id":42924,"nodeType":"UsingForDirective","src":"354:21:41","nodes":[],"global":false,"libraryName":{"id":42923,"name":"SafeCast","nameLocations":["360:8:41"],"nodeType":"IdentifierPath","referencedDeclaration":48582,"src":"360:8:41"}},{"id":42927,"nodeType":"VariableDeclaration","src":"381:56:41","nodes":[],"constant":true,"mutability":"constant","name":"HEX_DIGITS","nameLocation":"406:10:41","scope":44391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":42925,"name":"bytes16","nodeType":"ElementaryTypeName","src":"381:7:41","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":42926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"419:18:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"id":42930,"nodeType":"VariableDeclaration","src":"443:42:41","nodes":[],"constant":true,"mutability":"constant","name":"ADDRESS_LENGTH","nameLocation":"466:14:41","scope":44391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":42928,"name":"uint8","nodeType":"ElementaryTypeName","src":"443:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":42929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"483:2:41","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"id":42966,"nodeType":"VariableDeclaration","src":"491:302:41","nodes":[],"constant":true,"mutability":"constant","name":"SPECIAL_CHARS_LOOKUP","nameLocation":"516:20:41","scope":44391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42931,"name":"uint256","nodeType":"ElementaryTypeName","src":"491:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_4951760157141521116776380160_by_1","typeString":"int_const 4951760157141521116776380160"},"id":42965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_17179883264_by_1","typeString":"int_const 17179883264"},"id":42960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_14080_by_1","typeString":"int_const 14080"},"id":42955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_5888_by_1","typeString":"int_const 5888"},"id":42950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_1792_by_1","typeString":"int_const 1792"},"id":42945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"},"id":42940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":42934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":42932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"548:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783038","id":42933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"553:4:41","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"0x08"},"src":"548:9:41","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}}],"id":42935,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"547:11:41","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"},"id":42938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":42936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"587:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783039","id":42937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"592:4:41","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"0x09"},"src":"587:9:41","typeDescriptions":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"}}],"id":42939,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"586:11:41","typeDescriptions":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"}},"src":"547:50:41","typeDescriptions":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"},"id":42943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":42941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"620:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783061","id":42942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"625:4:41","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"0x0a"},"src":"620:9:41","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"}}],"id":42944,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"619:11:41","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"}},"src":"547:83:41","typeDescriptions":{"typeIdentifier":"t_rational_1792_by_1","typeString":"int_const 1792"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"},"id":42948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":42946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"657:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783063","id":42947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"662:4:41","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"0x0c"},"src":"657:9:41","typeDescriptions":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"}}],"id":42949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"656:11:41","typeDescriptions":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"}},"src":"547:120:41","typeDescriptions":{"typeIdentifier":"t_rational_5888_by_1","typeString":"int_const 5888"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"},"id":42953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":42951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"696:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783064","id":42952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"701:4:41","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"0x0d"},"src":"696:9:41","typeDescriptions":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"}}],"id":42954,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"695:11:41","typeDescriptions":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"}},"src":"547:159:41","typeDescriptions":{"typeIdentifier":"t_rational_14080_by_1","typeString":"int_const 14080"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_17179869184_by_1","typeString":"int_const 17179869184"},"id":42958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":42956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"741:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783232","id":42957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"746:4:41","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"},"src":"741:9:41","typeDescriptions":{"typeIdentifier":"t_rational_17179869184_by_1","typeString":"int_const 17179869184"}}],"id":42959,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"740:11:41","typeDescriptions":{"typeIdentifier":"t_rational_17179869184_by_1","typeString":"int_const 17179869184"}},"src":"547:204:41","typeDescriptions":{"typeIdentifier":"t_rational_17179883264_by_1","typeString":"int_const 17179883264"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_4951760157141521099596496896_by_1","typeString":"int_const 4951760157141521099596496896"},"id":42963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":42961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"783:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783563","id":42962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"788:4:41","typeDescriptions":{"typeIdentifier":"t_rational_92_by_1","typeString":"int_const 92"},"value":"0x5c"},"src":"783:9:41","typeDescriptions":{"typeIdentifier":"t_rational_4951760157141521099596496896_by_1","typeString":"int_const 4951760157141521099596496896"}}],"id":42964,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"782:11:41","typeDescriptions":{"typeIdentifier":"t_rational_4951760157141521099596496896_by_1","typeString":"int_const 4951760157141521099596496896"}},"src":"547:246:41","typeDescriptions":{"typeIdentifier":"t_rational_4951760157141521116776380160_by_1","typeString":"int_const 4951760157141521116776380160"}},"visibility":"private"},{"id":42973,"nodeType":"ErrorDefinition","src":"899:66:41","nodes":[],"documentation":{"id":42967,"nodeType":"StructuredDocumentation","src":"813:81:41","text":" @dev The `value` string doesn't fit in the specified `length`."},"errorSelector":"e22e27eb","name":"StringsInsufficientHexLength","nameLocation":"905:28:41","parameters":{"id":42972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42969,"mutability":"mutable","name":"value","nameLocation":"942:5:41","nodeType":"VariableDeclaration","scope":42973,"src":"934:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42968,"name":"uint256","nodeType":"ElementaryTypeName","src":"934:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42971,"mutability":"mutable","name":"length","nameLocation":"957:6:41","nodeType":"VariableDeclaration","scope":42973,"src":"949:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42970,"name":"uint256","nodeType":"ElementaryTypeName","src":"949:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"933:31:41"}},{"id":42976,"nodeType":"ErrorDefinition","src":"1084:27:41","nodes":[],"documentation":{"id":42974,"nodeType":"StructuredDocumentation","src":"971:108:41","text":" @dev The string being parsed contains characters that are not in scope of the given base."},"errorSelector":"94e2737e","name":"StringsInvalidChar","nameLocation":"1090:18:41","parameters":{"id":42975,"nodeType":"ParameterList","parameters":[],"src":"1108:2:41"}},{"id":42979,"nodeType":"ErrorDefinition","src":"1206:36:41","nodes":[],"documentation":{"id":42977,"nodeType":"StructuredDocumentation","src":"1117:84:41","text":" @dev The string being parsed is not a properly formatted address."},"errorSelector":"1d15ae44","name":"StringsInvalidAddressFormat","nameLocation":"1212:27:41","parameters":{"id":42978,"nodeType":"ParameterList","parameters":[],"src":"1239:2:41"}},{"id":43027,"nodeType":"FunctionDefinition","src":"1343:634:41","nodes":[],"body":{"id":43026,"nodeType":"Block","src":"1414:563:41","nodes":[],"statements":[{"id":43025,"nodeType":"UncheckedBlock","src":"1424:547:41","statements":[{"assignments":[42988],"declarations":[{"constant":false,"id":42988,"mutability":"mutable","name":"length","nameLocation":"1456:6:41","nodeType":"VariableDeclaration","scope":43025,"src":"1448:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42987,"name":"uint256","nodeType":"ElementaryTypeName","src":"1448:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42995,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":42991,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42982,"src":"1476:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":42989,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"1465:4:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":42990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1470:5:41","memberName":"log10","nodeType":"MemberAccess","referencedDeclaration":46628,"src":"1465:10:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":42992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1465:17:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":42993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1485:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1465:21:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1448:38:41"},{"assignments":[42997],"declarations":[{"constant":false,"id":42997,"mutability":"mutable","name":"buffer","nameLocation":"1514:6:41","nodeType":"VariableDeclaration","scope":43025,"src":"1500:20:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42996,"name":"string","nodeType":"ElementaryTypeName","src":"1500:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":43002,"initialValue":{"arguments":[{"id":43000,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42988,"src":"1534:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1523:10:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":42998,"name":"string","nodeType":"ElementaryTypeName","src":"1527:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":43001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1523:18:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"1500:41:41"},{"assignments":[43004],"declarations":[{"constant":false,"id":43004,"mutability":"mutable","name":"ptr","nameLocation":"1563:3:41","nodeType":"VariableDeclaration","scope":43025,"src":"1555:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43003,"name":"uint256","nodeType":"ElementaryTypeName","src":"1555:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43005,"nodeType":"VariableDeclarationStatement","src":"1555:11:41"},{"AST":{"nativeSrc":"1605:69:41","nodeType":"YulBlock","src":"1605:69:41","statements":[{"nativeSrc":"1623:37:41","nodeType":"YulAssignment","src":"1623:37:41","value":{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"1638:6:41","nodeType":"YulIdentifier","src":"1638:6:41"},{"kind":"number","nativeSrc":"1646:4:41","nodeType":"YulLiteral","src":"1646:4:41","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1634:3:41","nodeType":"YulIdentifier","src":"1634:3:41"},"nativeSrc":"1634:17:41","nodeType":"YulFunctionCall","src":"1634:17:41"},{"name":"length","nativeSrc":"1653:6:41","nodeType":"YulIdentifier","src":"1653:6:41"}],"functionName":{"name":"add","nativeSrc":"1630:3:41","nodeType":"YulIdentifier","src":"1630:3:41"},"nativeSrc":"1630:30:41","nodeType":"YulFunctionCall","src":"1630:30:41"},"variableNames":[{"name":"ptr","nativeSrc":"1623:3:41","nodeType":"YulIdentifier","src":"1623:3:41"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":42997,"isOffset":false,"isSlot":false,"src":"1638:6:41","valueSize":1},{"declaration":42988,"isOffset":false,"isSlot":false,"src":"1653:6:41","valueSize":1},{"declaration":43004,"isOffset":false,"isSlot":false,"src":"1623:3:41","valueSize":1}],"flags":["memory-safe"],"id":43006,"nodeType":"InlineAssembly","src":"1580:94:41"},{"body":{"id":43021,"nodeType":"Block","src":"1700:234:41","statements":[{"expression":{"id":43009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"1718:5:41","subExpression":{"id":43008,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43004,"src":"1718:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43010,"nodeType":"ExpressionStatement","src":"1718:5:41"},{"AST":{"nativeSrc":"1766:86:41","nodeType":"YulBlock","src":"1766:86:41","statements":[{"expression":{"arguments":[{"name":"ptr","nativeSrc":"1796:3:41","nodeType":"YulIdentifier","src":"1796:3:41"},{"arguments":[{"arguments":[{"name":"value","nativeSrc":"1810:5:41","nodeType":"YulIdentifier","src":"1810:5:41"},{"kind":"number","nativeSrc":"1817:2:41","nodeType":"YulLiteral","src":"1817:2:41","type":"","value":"10"}],"functionName":{"name":"mod","nativeSrc":"1806:3:41","nodeType":"YulIdentifier","src":"1806:3:41"},"nativeSrc":"1806:14:41","nodeType":"YulFunctionCall","src":"1806:14:41"},{"name":"HEX_DIGITS","nativeSrc":"1822:10:41","nodeType":"YulIdentifier","src":"1822:10:41"}],"functionName":{"name":"byte","nativeSrc":"1801:4:41","nodeType":"YulIdentifier","src":"1801:4:41"},"nativeSrc":"1801:32:41","nodeType":"YulFunctionCall","src":"1801:32:41"}],"functionName":{"name":"mstore8","nativeSrc":"1788:7:41","nodeType":"YulIdentifier","src":"1788:7:41"},"nativeSrc":"1788:46:41","nodeType":"YulFunctionCall","src":"1788:46:41"},"nativeSrc":"1788:46:41","nodeType":"YulExpressionStatement","src":"1788:46:41"}]},"evmVersion":"prague","externalReferences":[{"declaration":42927,"isOffset":false,"isSlot":false,"src":"1822:10:41","valueSize":1},{"declaration":43004,"isOffset":false,"isSlot":false,"src":"1796:3:41","valueSize":1},{"declaration":42982,"isOffset":false,"isSlot":false,"src":"1810:5:41","valueSize":1}],"flags":["memory-safe"],"id":43011,"nodeType":"InlineAssembly","src":"1741:111:41"},{"expression":{"id":43014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43012,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42982,"src":"1869:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":43013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1878:2:41","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1869:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43015,"nodeType":"ExpressionStatement","src":"1869:11:41"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43016,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42982,"src":"1902:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":43017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1911:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1902:10:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43020,"nodeType":"IfStatement","src":"1898:21:41","trueBody":{"id":43019,"nodeType":"Break","src":"1914:5:41"}}]},"condition":{"hexValue":"74727565","id":43007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1694:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":43022,"nodeType":"WhileStatement","src":"1687:247:41"},{"expression":{"id":43023,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42997,"src":"1954:6:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":42986,"id":43024,"nodeType":"Return","src":"1947:13:41"}]}]},"documentation":{"id":42980,"nodeType":"StructuredDocumentation","src":"1248:90:41","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"1352:8:41","parameters":{"id":42983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42982,"mutability":"mutable","name":"value","nameLocation":"1369:5:41","nodeType":"VariableDeclaration","scope":43027,"src":"1361:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42981,"name":"uint256","nodeType":"ElementaryTypeName","src":"1361:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1360:15:41"},"returnParameters":{"id":42986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43027,"src":"1399:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42984,"name":"string","nodeType":"ElementaryTypeName","src":"1399:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1398:15:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43053,"nodeType":"FunctionDefinition","src":"2077:168:41","nodes":[],"body":{"id":43052,"nodeType":"Block","src":"2153:92:41","nodes":[],"statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":43040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43038,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43030,"src":"2184:5:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":43039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2192:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2184:9:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":43042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2202:2:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":43043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2184:20:41","trueExpression":{"hexValue":"2d","id":43041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2196:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""},"value":"-"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"arguments":[{"id":43047,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43030,"src":"2230:5:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":43045,"name":"SignedMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48726,"src":"2215:10:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SignedMath_$48726_$","typeString":"type(library SignedMath)"}},"id":43046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2226:3:41","memberName":"abs","nodeType":"MemberAccess","referencedDeclaration":48725,"src":"2215:14:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":43048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2215:21:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43044,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43027,"src":"2206:8:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":43049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2206:31:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":43036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2170:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":43035,"name":"string","nodeType":"ElementaryTypeName","src":"2170:6:41","typeDescriptions":{}}},"id":43037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2177:6:41","memberName":"concat","nodeType":"MemberAccess","src":"2170:13:41","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":43050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2170:68:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":43034,"id":43051,"nodeType":"Return","src":"2163:75:41"}]},"documentation":{"id":43028,"nodeType":"StructuredDocumentation","src":"1983:89:41","text":" @dev Converts a `int256` to its ASCII `string` decimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toStringSigned","nameLocation":"2086:14:41","parameters":{"id":43031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43030,"mutability":"mutable","name":"value","nameLocation":"2108:5:41","nodeType":"VariableDeclaration","scope":43053,"src":"2101:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":43029,"name":"int256","nodeType":"ElementaryTypeName","src":"2101:6:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2100:14:41"},"returnParameters":{"id":43034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43033,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43053,"src":"2138:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43032,"name":"string","nodeType":"ElementaryTypeName","src":"2138:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2137:15:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43073,"nodeType":"FunctionDefinition","src":"2350:174:41","nodes":[],"body":{"id":43072,"nodeType":"Block","src":"2424:100:41","nodes":[],"statements":[{"id":43071,"nodeType":"UncheckedBlock","src":"2434:84:41","statements":[{"expression":{"arguments":[{"id":43062,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43056,"src":"2477:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":43065,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43056,"src":"2496:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43063,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"2484:4:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":43064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2489:6:41","memberName":"log256","nodeType":"MemberAccess","referencedDeclaration":46739,"src":"2484:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":43066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2484:18:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":43067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2505:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2484:22:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43061,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[43073,43156,43176,43330],"referencedDeclaration":43156,"src":"2465:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":43069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2465:42:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":43060,"id":43070,"nodeType":"Return","src":"2458:49:41"}]}]},"documentation":{"id":43054,"nodeType":"StructuredDocumentation","src":"2251:94:41","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2359:11:41","parameters":{"id":43057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43056,"mutability":"mutable","name":"value","nameLocation":"2379:5:41","nodeType":"VariableDeclaration","scope":43073,"src":"2371:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43055,"name":"uint256","nodeType":"ElementaryTypeName","src":"2371:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2370:15:41"},"returnParameters":{"id":43060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43059,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43073,"src":"2409:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43058,"name":"string","nodeType":"ElementaryTypeName","src":"2409:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2408:15:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43156,"nodeType":"FunctionDefinition","src":"2647:525:41","nodes":[],"body":{"id":43155,"nodeType":"Block","src":"2737:435:41","nodes":[],"statements":[{"assignments":[43084],"declarations":[{"constant":false,"id":43084,"mutability":"mutable","name":"localValue","nameLocation":"2755:10:41","nodeType":"VariableDeclaration","scope":43155,"src":"2747:18:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43083,"name":"uint256","nodeType":"ElementaryTypeName","src":"2747:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43086,"initialValue":{"id":43085,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43076,"src":"2768:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2747:26:41"},{"assignments":[43088],"declarations":[{"constant":false,"id":43088,"mutability":"mutable","name":"buffer","nameLocation":"2796:6:41","nodeType":"VariableDeclaration","scope":43155,"src":"2783:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43087,"name":"bytes","nodeType":"ElementaryTypeName","src":"2783:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43097,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":43091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2815:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":43092,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43078,"src":"2819:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2815:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":43094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2828:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2815:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2805:9:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":43089,"name":"bytes","nodeType":"ElementaryTypeName","src":"2809:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":43096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2805:25:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2783:47:41"},{"expression":{"id":43102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":43098,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43088,"src":"2840:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43100,"indexExpression":{"hexValue":"30","id":43099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2847:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2840:9:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":43101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2852:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"2840:15:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":43103,"nodeType":"ExpressionStatement","src":"2840:15:41"},{"expression":{"id":43108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":43104,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43088,"src":"2865:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43106,"indexExpression":{"hexValue":"31","id":43105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2872:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2865:9:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":43107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2877:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"2865:15:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":43109,"nodeType":"ExpressionStatement","src":"2865:15:41"},{"body":{"id":43138,"nodeType":"Block","src":"2935:95:41","statements":[{"expression":{"id":43132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":43124,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43088,"src":"2949:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43126,"indexExpression":{"id":43125,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43111,"src":"2956:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2949:9:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":43127,"name":"HEX_DIGITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42927,"src":"2961:10:41","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":43131,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43128,"name":"localValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43084,"src":"2972:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":43129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2985:3:41","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"2972:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2961:28:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2949:40:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":43133,"nodeType":"ExpressionStatement","src":"2949:40:41"},{"expression":{"id":43136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43134,"name":"localValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43084,"src":"3003:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":43135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3018:1:41","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"3003:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43137,"nodeType":"ExpressionStatement","src":"3003:16:41"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43118,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43111,"src":"2923:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":43119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2927:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2923:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43139,"initializationExpression":{"assignments":[43111],"declarations":[{"constant":false,"id":43111,"mutability":"mutable","name":"i","nameLocation":"2903:1:41","nodeType":"VariableDeclaration","scope":43139,"src":"2895:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43110,"name":"uint256","nodeType":"ElementaryTypeName","src":"2895:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43117,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":43112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2907:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":43113,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43078,"src":"2911:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2907:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":43115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2920:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2907:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2895:26:41"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":43122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"2930:3:41","subExpression":{"id":43121,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43111,"src":"2932:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43123,"nodeType":"ExpressionStatement","src":"2930:3:41"},"nodeType":"ForStatement","src":"2890:140:41"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43140,"name":"localValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43084,"src":"3043:10:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":43141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3057:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3043:15:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43149,"nodeType":"IfStatement","src":"3039:96:41","trueBody":{"id":43148,"nodeType":"Block","src":"3060:75:41","statements":[{"errorCall":{"arguments":[{"id":43144,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43076,"src":"3110:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43145,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43078,"src":"3117:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43143,"name":"StringsInsufficientHexLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42973,"src":"3081:28:41","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":43146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3081:43:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43147,"nodeType":"RevertStatement","src":"3074:50:41"}]}},{"expression":{"arguments":[{"id":43152,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43088,"src":"3158:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3151:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":43150,"name":"string","nodeType":"ElementaryTypeName","src":"3151:6:41","typeDescriptions":{}}},"id":43153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3151:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":43082,"id":43154,"nodeType":"Return","src":"3144:21:41"}]},"documentation":{"id":43074,"nodeType":"StructuredDocumentation","src":"2530:112:41","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2656:11:41","parameters":{"id":43079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43076,"mutability":"mutable","name":"value","nameLocation":"2676:5:41","nodeType":"VariableDeclaration","scope":43156,"src":"2668:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43075,"name":"uint256","nodeType":"ElementaryTypeName","src":"2668:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43078,"mutability":"mutable","name":"length","nameLocation":"2691:6:41","nodeType":"VariableDeclaration","scope":43156,"src":"2683:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43077,"name":"uint256","nodeType":"ElementaryTypeName","src":"2683:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:31:41"},"returnParameters":{"id":43082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43156,"src":"2722:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43080,"name":"string","nodeType":"ElementaryTypeName","src":"2722:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2721:15:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43176,"nodeType":"FunctionDefinition","src":"3331:148:41","nodes":[],"body":{"id":43175,"nodeType":"Block","src":"3404:75:41","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":43169,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43159,"src":"3449:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":43168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3441:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":43167,"name":"uint160","nodeType":"ElementaryTypeName","src":"3441:7:41","typeDescriptions":{}}},"id":43170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3441:13:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":43166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3433:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":43165,"name":"uint256","nodeType":"ElementaryTypeName","src":"3433:7:41","typeDescriptions":{}}},"id":43171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3433:22:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43172,"name":"ADDRESS_LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42930,"src":"3457:14:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":43164,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[43073,43156,43176,43330],"referencedDeclaration":43156,"src":"3421:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":43173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3421:51:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":43163,"id":43174,"nodeType":"Return","src":"3414:58:41"}]},"documentation":{"id":43157,"nodeType":"StructuredDocumentation","src":"3178:148:41","text":" @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"3340:11:41","parameters":{"id":43160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43159,"mutability":"mutable","name":"addr","nameLocation":"3360:4:41","nodeType":"VariableDeclaration","scope":43176,"src":"3352:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43158,"name":"address","nodeType":"ElementaryTypeName","src":"3352:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3351:14:41"},"returnParameters":{"id":43163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43176,"src":"3389:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43161,"name":"string","nodeType":"ElementaryTypeName","src":"3389:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3388:15:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43241,"nodeType":"FunctionDefinition","src":"3655:723:41","nodes":[],"body":{"id":43240,"nodeType":"Block","src":"3736:642:41","nodes":[],"statements":[{"assignments":[43185],"declarations":[{"constant":false,"id":43185,"mutability":"mutable","name":"buffer","nameLocation":"3759:6:41","nodeType":"VariableDeclaration","scope":43240,"src":"3746:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43184,"name":"bytes","nodeType":"ElementaryTypeName","src":"3746:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43192,"initialValue":{"arguments":[{"arguments":[{"id":43189,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43179,"src":"3786:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":43188,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[43073,43156,43176,43330],"referencedDeclaration":43176,"src":"3774:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure returns (string memory)"}},"id":43190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3774:17:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3768:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43186,"name":"bytes","nodeType":"ElementaryTypeName","src":"3768:5:41","typeDescriptions":{}}},"id":43191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3768:24:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3746:46:41"},{"assignments":[43194],"declarations":[{"constant":false,"id":43194,"mutability":"mutable","name":"hashValue","nameLocation":"3885:9:41","nodeType":"VariableDeclaration","scope":43240,"src":"3877:17:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43193,"name":"uint256","nodeType":"ElementaryTypeName","src":"3877:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43195,"nodeType":"VariableDeclarationStatement","src":"3877:17:41"},{"AST":{"nativeSrc":"3929:78:41","nodeType":"YulBlock","src":"3929:78:41","statements":[{"nativeSrc":"3943:54:41","nodeType":"YulAssignment","src":"3943:54:41","value":{"arguments":[{"kind":"number","nativeSrc":"3960:2:41","nodeType":"YulLiteral","src":"3960:2:41","type":"","value":"96"},{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"3978:6:41","nodeType":"YulIdentifier","src":"3978:6:41"},{"kind":"number","nativeSrc":"3986:4:41","nodeType":"YulLiteral","src":"3986:4:41","type":"","value":"0x22"}],"functionName":{"name":"add","nativeSrc":"3974:3:41","nodeType":"YulIdentifier","src":"3974:3:41"},"nativeSrc":"3974:17:41","nodeType":"YulFunctionCall","src":"3974:17:41"},{"kind":"number","nativeSrc":"3993:2:41","nodeType":"YulLiteral","src":"3993:2:41","type":"","value":"40"}],"functionName":{"name":"keccak256","nativeSrc":"3964:9:41","nodeType":"YulIdentifier","src":"3964:9:41"},"nativeSrc":"3964:32:41","nodeType":"YulFunctionCall","src":"3964:32:41"}],"functionName":{"name":"shr","nativeSrc":"3956:3:41","nodeType":"YulIdentifier","src":"3956:3:41"},"nativeSrc":"3956:41:41","nodeType":"YulFunctionCall","src":"3956:41:41"},"variableNames":[{"name":"hashValue","nativeSrc":"3943:9:41","nodeType":"YulIdentifier","src":"3943:9:41"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":43185,"isOffset":false,"isSlot":false,"src":"3978:6:41","valueSize":1},{"declaration":43194,"isOffset":false,"isSlot":false,"src":"3943:9:41","valueSize":1}],"flags":["memory-safe"],"id":43196,"nodeType":"InlineAssembly","src":"3904:103:41"},{"body":{"id":43233,"nodeType":"Block","src":"4050:291:41","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43207,"name":"hashValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43194,"src":"4156:9:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":43208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4168:3:41","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"4156:15:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"37","id":43210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4174:1:41","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"4156:19:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":43219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"baseExpression":{"id":43214,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43185,"src":"4185:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43216,"indexExpression":{"id":43215,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43198,"src":"4192:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4185:9:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":43213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4179:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":43212,"name":"uint8","nodeType":"ElementaryTypeName","src":"4179:5:41","typeDescriptions":{}}},"id":43217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4179:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3936","id":43218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4198:2:41","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"4179:21:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4156:44:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43228,"nodeType":"IfStatement","src":"4152:150:41","trueBody":{"id":43227,"nodeType":"Block","src":"4202:100:41","statements":[{"expression":{"id":43225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":43221,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43185,"src":"4270:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43223,"indexExpression":{"id":43222,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43198,"src":"4277:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4270:9:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"^=","rightHandSide":{"hexValue":"30783230","id":43224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4283:4:41","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"4270:17:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":43226,"nodeType":"ExpressionStatement","src":"4270:17:41"}]}},{"expression":{"id":43231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43229,"name":"hashValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43194,"src":"4315:9:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":43230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4329:1:41","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"4315:15:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43232,"nodeType":"ExpressionStatement","src":"4315:15:41"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43201,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43198,"src":"4038:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":43202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4042:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4038:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43234,"initializationExpression":{"assignments":[43198],"declarations":[{"constant":false,"id":43198,"mutability":"mutable","name":"i","nameLocation":"4030:1:41","nodeType":"VariableDeclaration","scope":43234,"src":"4022:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43197,"name":"uint256","nodeType":"ElementaryTypeName","src":"4022:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43200,"initialValue":{"hexValue":"3431","id":43199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4034:2:41","typeDescriptions":{"typeIdentifier":"t_rational_41_by_1","typeString":"int_const 41"},"value":"41"},"nodeType":"VariableDeclarationStatement","src":"4022:14:41"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":43205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"4045:3:41","subExpression":{"id":43204,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43198,"src":"4047:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43206,"nodeType":"ExpressionStatement","src":"4045:3:41"},"nodeType":"ForStatement","src":"4017:324:41"},{"expression":{"arguments":[{"id":43237,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43185,"src":"4364:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4357:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":43235,"name":"string","nodeType":"ElementaryTypeName","src":"4357:6:41","typeDescriptions":{}}},"id":43238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4357:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":43183,"id":43239,"nodeType":"Return","src":"4350:21:41"}]},"documentation":{"id":43177,"nodeType":"StructuredDocumentation","src":"3485:165:41","text":" @dev Converts an `address` with fixed length of 20 bytes to its checksummed ASCII `string` hexadecimal\n representation, according to EIP-55."},"implemented":true,"kind":"function","modifiers":[],"name":"toChecksumHexString","nameLocation":"3664:19:41","parameters":{"id":43180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43179,"mutability":"mutable","name":"addr","nameLocation":"3692:4:41","nodeType":"VariableDeclaration","scope":43241,"src":"3684:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43178,"name":"address","nodeType":"ElementaryTypeName","src":"3684:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3683:14:41"},"returnParameters":{"id":43183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43182,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43241,"src":"3721:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43181,"name":"string","nodeType":"ElementaryTypeName","src":"3721:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3720:15:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43330,"nodeType":"FunctionDefinition","src":"4488:503:41","nodes":[],"body":{"id":43329,"nodeType":"Block","src":"4567:424:41","nodes":[],"statements":[{"id":43328,"nodeType":"UncheckedBlock","src":"4577:408:41","statements":[{"assignments":[43250],"declarations":[{"constant":false,"id":43250,"mutability":"mutable","name":"buffer","nameLocation":"4614:6:41","nodeType":"VariableDeclaration","scope":43328,"src":"4601:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43249,"name":"bytes","nodeType":"ElementaryTypeName","src":"4601:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43260,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":43253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4633:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":43254,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43244,"src":"4637:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4643:6:41","memberName":"length","nodeType":"MemberAccess","src":"4637:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4633:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":43257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4652:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"4633:20:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4623:9:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":43251,"name":"bytes","nodeType":"ElementaryTypeName","src":"4627:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":43259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4623:31:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4601:53:41"},{"expression":{"id":43265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":43261,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43250,"src":"4668:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43263,"indexExpression":{"hexValue":"30","id":43262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4675:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4668:9:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":43264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4680:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"4668:15:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":43266,"nodeType":"ExpressionStatement","src":"4668:15:41"},{"expression":{"id":43271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":43267,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43250,"src":"4697:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43269,"indexExpression":{"hexValue":"31","id":43268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4704:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4697:9:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":43270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4709:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"4697:15:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":43272,"nodeType":"ExpressionStatement","src":"4697:15:41"},{"body":{"id":43321,"nodeType":"Block","src":"4769:171:41","statements":[{"assignments":[43285],"declarations":[{"constant":false,"id":43285,"mutability":"mutable","name":"v","nameLocation":"4793:1:41","nodeType":"VariableDeclaration","scope":43321,"src":"4787:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":43284,"name":"uint8","nodeType":"ElementaryTypeName","src":"4787:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":43292,"initialValue":{"arguments":[{"baseExpression":{"id":43288,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43244,"src":"4803:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43290,"indexExpression":{"id":43289,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43274,"src":"4809:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4803:8:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":43287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4797:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":43286,"name":"uint8","nodeType":"ElementaryTypeName","src":"4797:5:41","typeDescriptions":{}}},"id":43291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4797:15:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"4787:25:41"},{"expression":{"id":43305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":43293,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43250,"src":"4830:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43299,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":43294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4837:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":43295,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43274,"src":"4841:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4837:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":43297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4845:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"4837:9:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4830:17:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":43300,"name":"HEX_DIGITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42927,"src":"4850:10:41","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":43304,"indexExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":43303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43301,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43285,"src":"4861:1:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"34","id":43302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4866:1:41","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"4861:6:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4850:18:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"4830:38:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":43306,"nodeType":"ExpressionStatement","src":"4830:38:41"},{"expression":{"id":43319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":43307,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43250,"src":"4886:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43313,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":43308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4893:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":43309,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43274,"src":"4897:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4893:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33","id":43311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4901:1:41","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"4893:9:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4886:17:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":43314,"name":"HEX_DIGITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42927,"src":"4906:10:41","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":43318,"indexExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":43317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43315,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43285,"src":"4917:1:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":43316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4921:3:41","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"4917:7:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4906:19:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"4886:39:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":43320,"nodeType":"ExpressionStatement","src":"4886:39:41"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43277,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43274,"src":"4746:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":43278,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43244,"src":"4750:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4756:6:41","memberName":"length","nodeType":"MemberAccess","src":"4750:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4746:16:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43322,"initializationExpression":{"assignments":[43274],"declarations":[{"constant":false,"id":43274,"mutability":"mutable","name":"i","nameLocation":"4739:1:41","nodeType":"VariableDeclaration","scope":43322,"src":"4731:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43273,"name":"uint256","nodeType":"ElementaryTypeName","src":"4731:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43276,"initialValue":{"hexValue":"30","id":43275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4743:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4731:13:41"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":43282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"4764:3:41","subExpression":{"id":43281,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43274,"src":"4766:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43283,"nodeType":"ExpressionStatement","src":"4764:3:41"},"nodeType":"ForStatement","src":"4726:214:41"},{"expression":{"arguments":[{"id":43325,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43250,"src":"4967:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4960:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":43323,"name":"string","nodeType":"ElementaryTypeName","src":"4960:6:41","typeDescriptions":{}}},"id":43326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4960:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":43248,"id":43327,"nodeType":"Return","src":"4953:21:41"}]}]},"documentation":{"id":43242,"nodeType":"StructuredDocumentation","src":"4384:99:41","text":" @dev Converts a `bytes` buffer to its ASCII `string` hexadecimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"4497:11:41","parameters":{"id":43245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43244,"mutability":"mutable","name":"input","nameLocation":"4522:5:41","nodeType":"VariableDeclaration","scope":43330,"src":"4509:18:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43243,"name":"bytes","nodeType":"ElementaryTypeName","src":"4509:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4508:20:41"},"returnParameters":{"id":43248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43247,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43330,"src":"4552:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43246,"name":"string","nodeType":"ElementaryTypeName","src":"4552:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4551:15:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43353,"nodeType":"FunctionDefinition","src":"5068:133:41","nodes":[],"body":{"id":43352,"nodeType":"Block","src":"5146:55:41","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":43344,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43333,"src":"5181:1:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5175:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43342,"name":"bytes","nodeType":"ElementaryTypeName","src":"5175:5:41","typeDescriptions":{}}},"id":43345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5175:8:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":43348,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43335,"src":"5191:1:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5185:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43346,"name":"bytes","nodeType":"ElementaryTypeName","src":"5185:5:41","typeDescriptions":{}}},"id":43349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5185:8:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":43340,"name":"Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42307,"src":"5163:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Bytes_$42307_$","typeString":"type(library Bytes)"}},"id":43341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5169:5:41","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":41957,"src":"5163:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory,bytes memory) pure returns (bool)"}},"id":43350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5163:31:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":43339,"id":43351,"nodeType":"Return","src":"5156:38:41"}]},"documentation":{"id":43331,"nodeType":"StructuredDocumentation","src":"4997:66:41","text":" @dev Returns true if the two strings are equal."},"implemented":true,"kind":"function","modifiers":[],"name":"equal","nameLocation":"5077:5:41","parameters":{"id":43336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43333,"mutability":"mutable","name":"a","nameLocation":"5097:1:41","nodeType":"VariableDeclaration","scope":43353,"src":"5083:15:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43332,"name":"string","nodeType":"ElementaryTypeName","src":"5083:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43335,"mutability":"mutable","name":"b","nameLocation":"5114:1:41","nodeType":"VariableDeclaration","scope":43353,"src":"5100:15:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43334,"name":"string","nodeType":"ElementaryTypeName","src":"5100:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5082:34:41"},"returnParameters":{"id":43339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43353,"src":"5140:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43337,"name":"bool","nodeType":"ElementaryTypeName","src":"5140:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5139:6:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43372,"nodeType":"FunctionDefinition","src":"5426:136:41","nodes":[],"body":{"id":43371,"nodeType":"Block","src":"5498:64:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":43362,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43356,"src":"5525:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":43363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5532:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":43366,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43356,"src":"5541:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5535:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43364,"name":"bytes","nodeType":"ElementaryTypeName","src":"5535:5:41","typeDescriptions":{}}},"id":43367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5535:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5548:6:41","memberName":"length","nodeType":"MemberAccess","src":"5535:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43361,"name":"parseUint","nodeType":"Identifier","overloadedDeclarations":[43372,43403],"referencedDeclaration":43403,"src":"5515:9:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (uint256)"}},"id":43369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5515:40:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43360,"id":43370,"nodeType":"Return","src":"5508:47:41"}]},"documentation":{"id":43354,"nodeType":"StructuredDocumentation","src":"5207:214:41","text":" @dev Parse a decimal string and returns the value as a `uint256`.\n Requirements:\n - The string must be formatted as `[0-9]*`\n - The result must fit into an `uint256` type"},"implemented":true,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"5435:9:41","parameters":{"id":43357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43356,"mutability":"mutable","name":"input","nameLocation":"5459:5:41","nodeType":"VariableDeclaration","scope":43372,"src":"5445:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43355,"name":"string","nodeType":"ElementaryTypeName","src":"5445:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5444:21:41"},"returnParameters":{"id":43360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43372,"src":"5489:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43358,"name":"uint256","nodeType":"ElementaryTypeName","src":"5489:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5488:9:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43403,"nodeType":"FunctionDefinition","src":"5867:253:41","nodes":[],"body":{"id":43402,"nodeType":"Block","src":"5967:153:41","nodes":[],"statements":[{"assignments":[43385,43387],"declarations":[{"constant":false,"id":43385,"mutability":"mutable","name":"success","nameLocation":"5983:7:41","nodeType":"VariableDeclaration","scope":43402,"src":"5978:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43384,"name":"bool","nodeType":"ElementaryTypeName","src":"5978:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43387,"mutability":"mutable","name":"value","nameLocation":"6000:5:41","nodeType":"VariableDeclaration","scope":43402,"src":"5992:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43386,"name":"uint256","nodeType":"ElementaryTypeName","src":"5992:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43393,"initialValue":{"arguments":[{"id":43389,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43375,"src":"6022:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43390,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43377,"src":"6029:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43391,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43379,"src":"6036:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43388,"name":"tryParseUint","nodeType":"Identifier","overloadedDeclarations":[43424,43461],"referencedDeclaration":43461,"src":"6009:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":43392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6009:31:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5977:63:41"},{"condition":{"id":43395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6054:8:41","subExpression":{"id":43394,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43385,"src":"6055:7:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43399,"nodeType":"IfStatement","src":"6050:41:41","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":43396,"name":"StringsInvalidChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42976,"src":"6071:18:41","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":43397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6071:20:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43398,"nodeType":"RevertStatement","src":"6064:27:41"}},{"expression":{"id":43400,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43387,"src":"6108:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43383,"id":43401,"nodeType":"Return","src":"6101:12:41"}]},"documentation":{"id":43373,"nodeType":"StructuredDocumentation","src":"5568:294:41","text":" @dev Variant of {parseUint-string} that parses a substring of `input` located between position `begin` (included) and\n `end` (excluded).\n Requirements:\n - The substring must be formatted as `[0-9]*`\n - The result must fit into an `uint256` type"},"implemented":true,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"5876:9:41","parameters":{"id":43380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43375,"mutability":"mutable","name":"input","nameLocation":"5900:5:41","nodeType":"VariableDeclaration","scope":43403,"src":"5886:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43374,"name":"string","nodeType":"ElementaryTypeName","src":"5886:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43377,"mutability":"mutable","name":"begin","nameLocation":"5915:5:41","nodeType":"VariableDeclaration","scope":43403,"src":"5907:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43376,"name":"uint256","nodeType":"ElementaryTypeName","src":"5907:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43379,"mutability":"mutable","name":"end","nameLocation":"5930:3:41","nodeType":"VariableDeclaration","scope":43403,"src":"5922:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43378,"name":"uint256","nodeType":"ElementaryTypeName","src":"5922:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5885:49:41"},"returnParameters":{"id":43383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43403,"src":"5958:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43381,"name":"uint256","nodeType":"ElementaryTypeName","src":"5958:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5957:9:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43424,"nodeType":"FunctionDefinition","src":"6346:178:41","nodes":[],"body":{"id":43423,"nodeType":"Block","src":"6441:83:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":43414,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43406,"src":"6487:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":43415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6494:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":43418,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43406,"src":"6503:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6497:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43416,"name":"bytes","nodeType":"ElementaryTypeName","src":"6497:5:41","typeDescriptions":{}}},"id":43419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6497:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6510:6:41","memberName":"length","nodeType":"MemberAccess","src":"6497:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43413,"name":"_tryParseUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43531,"src":"6458:28:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":43421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6458:59:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":43412,"id":43422,"nodeType":"Return","src":"6451:66:41"}]},"documentation":{"id":43404,"nodeType":"StructuredDocumentation","src":"6126:215:41","text":" @dev Variant of {parseUint-string} that returns false if the parsing fails because of an invalid character.\n NOTE: This function will revert if the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseUint","nameLocation":"6355:12:41","parameters":{"id":43407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43406,"mutability":"mutable","name":"input","nameLocation":"6382:5:41","nodeType":"VariableDeclaration","scope":43424,"src":"6368:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43405,"name":"string","nodeType":"ElementaryTypeName","src":"6368:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6367:21:41"},"returnParameters":{"id":43412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43409,"mutability":"mutable","name":"success","nameLocation":"6417:7:41","nodeType":"VariableDeclaration","scope":43424,"src":"6412:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43408,"name":"bool","nodeType":"ElementaryTypeName","src":"6412:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43411,"mutability":"mutable","name":"value","nameLocation":"6434:5:41","nodeType":"VariableDeclaration","scope":43424,"src":"6426:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43410,"name":"uint256","nodeType":"ElementaryTypeName","src":"6426:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6411:29:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43461,"nodeType":"FunctionDefinition","src":"6773:297:41","nodes":[],"body":{"id":43460,"nodeType":"Block","src":"6926:144:41","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43438,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43431,"src":"6940:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":43441,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43427,"src":"6952:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6946:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43439,"name":"bytes","nodeType":"ElementaryTypeName","src":"6946:5:41","typeDescriptions":{}}},"id":43442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6946:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6959:6:41","memberName":"length","nodeType":"MemberAccess","src":"6946:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6940:25:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43445,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43429,"src":"6969:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":43446,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43431,"src":"6977:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6969:11:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6940:40:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43453,"nodeType":"IfStatement","src":"6936:63:41","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":43449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6990:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":43450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6997:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":43451,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6989:10:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":43437,"id":43452,"nodeType":"Return","src":"6982:17:41"}},{"expression":{"arguments":[{"id":43455,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43427,"src":"7045:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43456,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43429,"src":"7052:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43457,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43431,"src":"7059:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43454,"name":"_tryParseUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43531,"src":"7016:28:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":43458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7016:47:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":43437,"id":43459,"nodeType":"Return","src":"7009:54:41"}]},"documentation":{"id":43425,"nodeType":"StructuredDocumentation","src":"6530:238:41","text":" @dev Variant of {parseUint-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n character.\n NOTE: This function will revert if the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseUint","nameLocation":"6782:12:41","parameters":{"id":43432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43427,"mutability":"mutable","name":"input","nameLocation":"6818:5:41","nodeType":"VariableDeclaration","scope":43461,"src":"6804:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43426,"name":"string","nodeType":"ElementaryTypeName","src":"6804:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43429,"mutability":"mutable","name":"begin","nameLocation":"6841:5:41","nodeType":"VariableDeclaration","scope":43461,"src":"6833:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43428,"name":"uint256","nodeType":"ElementaryTypeName","src":"6833:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43431,"mutability":"mutable","name":"end","nameLocation":"6864:3:41","nodeType":"VariableDeclaration","scope":43461,"src":"6856:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43430,"name":"uint256","nodeType":"ElementaryTypeName","src":"6856:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6794:79:41"},"returnParameters":{"id":43437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43434,"mutability":"mutable","name":"success","nameLocation":"6902:7:41","nodeType":"VariableDeclaration","scope":43461,"src":"6897:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43433,"name":"bool","nodeType":"ElementaryTypeName","src":"6897:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43436,"mutability":"mutable","name":"value","nameLocation":"6919:5:41","nodeType":"VariableDeclaration","scope":43461,"src":"6911:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43435,"name":"uint256","nodeType":"ElementaryTypeName","src":"6911:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6896:29:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43531,"nodeType":"FunctionDefinition","src":"7305:515:41","nodes":[],"body":{"id":43530,"nodeType":"Block","src":"7473:347:41","nodes":[],"statements":[{"assignments":[43476],"declarations":[{"constant":false,"id":43476,"mutability":"mutable","name":"buffer","nameLocation":"7496:6:41","nodeType":"VariableDeclaration","scope":43530,"src":"7483:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43475,"name":"bytes","nodeType":"ElementaryTypeName","src":"7483:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43481,"initialValue":{"arguments":[{"id":43479,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43464,"src":"7511:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7505:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43477,"name":"bytes","nodeType":"ElementaryTypeName","src":"7505:5:41","typeDescriptions":{}}},"id":43480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7505:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7483:34:41"},{"assignments":[43483],"declarations":[{"constant":false,"id":43483,"mutability":"mutable","name":"result","nameLocation":"7536:6:41","nodeType":"VariableDeclaration","scope":43530,"src":"7528:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43482,"name":"uint256","nodeType":"ElementaryTypeName","src":"7528:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43485,"initialValue":{"hexValue":"30","id":43484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7545:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7528:18:41"},{"body":{"id":43524,"nodeType":"Block","src":"7594:189:41","statements":[{"assignments":[43497],"declarations":[{"constant":false,"id":43497,"mutability":"mutable","name":"chr","nameLocation":"7614:3:41","nodeType":"VariableDeclaration","scope":43524,"src":"7608:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":43496,"name":"uint8","nodeType":"ElementaryTypeName","src":"7608:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":43507,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":43502,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43476,"src":"7663:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":43503,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43487,"src":"7671:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43501,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44390,"src":"7640:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":43504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7640:33:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":43500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7633:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":43499,"name":"bytes1","nodeType":"ElementaryTypeName","src":"7633:6:41","typeDescriptions":{}}},"id":43505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7633:41:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":43498,"name":"_tryParseChr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44211,"src":"7620:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$returns$_t_uint8_$","typeString":"function (bytes1) pure returns (uint8)"}},"id":43506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7620:55:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"7608:67:41"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":43510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43508,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43497,"src":"7693:3:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"39","id":43509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7699:1:41","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"src":"7693:7:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43515,"nodeType":"IfStatement","src":"7689:30:41","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":43511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7710:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":43512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7717:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":43513,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7709:10:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":43474,"id":43514,"nodeType":"Return","src":"7702:17:41"}},{"expression":{"id":43518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43516,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43483,"src":"7733:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"hexValue":"3130","id":43517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7743:2:41","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"7733:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43519,"nodeType":"ExpressionStatement","src":"7733:12:41"},{"expression":{"id":43522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43520,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43483,"src":"7759:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":43521,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43497,"src":"7769:3:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7759:13:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43523,"nodeType":"ExpressionStatement","src":"7759:13:41"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43490,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43487,"src":"7580:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":43491,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43468,"src":"7584:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7580:7:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43525,"initializationExpression":{"assignments":[43487],"declarations":[{"constant":false,"id":43487,"mutability":"mutable","name":"i","nameLocation":"7569:1:41","nodeType":"VariableDeclaration","scope":43525,"src":"7561:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43486,"name":"uint256","nodeType":"ElementaryTypeName","src":"7561:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43489,"initialValue":{"id":43488,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43466,"src":"7573:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7561:17:41"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":43494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7589:3:41","subExpression":{"id":43493,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43487,"src":"7591:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43495,"nodeType":"ExpressionStatement","src":"7589:3:41"},"nodeType":"ForStatement","src":"7556:227:41"},{"expression":{"components":[{"hexValue":"74727565","id":43526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7800:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":43527,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43483,"src":"7806:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":43528,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7799:14:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":43474,"id":43529,"nodeType":"Return","src":"7792:21:41"}]},"documentation":{"id":43462,"nodeType":"StructuredDocumentation","src":"7076:224:41","text":" @dev Implementation of {tryParseUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n `begin <= end <= input.length`. Other inputs would result in undefined behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"_tryParseUintUncheckedBounds","nameLocation":"7314:28:41","parameters":{"id":43469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43464,"mutability":"mutable","name":"input","nameLocation":"7366:5:41","nodeType":"VariableDeclaration","scope":43531,"src":"7352:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43463,"name":"string","nodeType":"ElementaryTypeName","src":"7352:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43466,"mutability":"mutable","name":"begin","nameLocation":"7389:5:41","nodeType":"VariableDeclaration","scope":43531,"src":"7381:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43465,"name":"uint256","nodeType":"ElementaryTypeName","src":"7381:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43468,"mutability":"mutable","name":"end","nameLocation":"7412:3:41","nodeType":"VariableDeclaration","scope":43531,"src":"7404:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43467,"name":"uint256","nodeType":"ElementaryTypeName","src":"7404:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7342:79:41"},"returnParameters":{"id":43474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43471,"mutability":"mutable","name":"success","nameLocation":"7449:7:41","nodeType":"VariableDeclaration","scope":43531,"src":"7444:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43470,"name":"bool","nodeType":"ElementaryTypeName","src":"7444:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43473,"mutability":"mutable","name":"value","nameLocation":"7466:5:41","nodeType":"VariableDeclaration","scope":43531,"src":"7458:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43472,"name":"uint256","nodeType":"ElementaryTypeName","src":"7458:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7443:29:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":43550,"nodeType":"FunctionDefinition","src":"8047:133:41","nodes":[],"body":{"id":43549,"nodeType":"Block","src":"8117:63:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":43540,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43534,"src":"8143:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":43541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8150:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":43544,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43534,"src":"8159:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8153:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43542,"name":"bytes","nodeType":"ElementaryTypeName","src":"8153:5:41","typeDescriptions":{}}},"id":43545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8153:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8166:6:41","memberName":"length","nodeType":"MemberAccess","src":"8153:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43539,"name":"parseInt","nodeType":"Identifier","overloadedDeclarations":[43550,43581],"referencedDeclaration":43581,"src":"8134:8:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_int256_$","typeString":"function (string memory,uint256,uint256) pure returns (int256)"}},"id":43547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8134:39:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":43538,"id":43548,"nodeType":"Return","src":"8127:46:41"}]},"documentation":{"id":43532,"nodeType":"StructuredDocumentation","src":"7826:216:41","text":" @dev Parse a decimal string and returns the value as a `int256`.\n Requirements:\n - The string must be formatted as `[-+]?[0-9]*`\n - The result must fit in an `int256` type."},"implemented":true,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"8056:8:41","parameters":{"id":43535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43534,"mutability":"mutable","name":"input","nameLocation":"8079:5:41","nodeType":"VariableDeclaration","scope":43550,"src":"8065:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43533,"name":"string","nodeType":"ElementaryTypeName","src":"8065:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8064:21:41"},"returnParameters":{"id":43538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43550,"src":"8109:6:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":43536,"name":"int256","nodeType":"ElementaryTypeName","src":"8109:6:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8108:8:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43581,"nodeType":"FunctionDefinition","src":"8487:249:41","nodes":[],"body":{"id":43580,"nodeType":"Block","src":"8585:151:41","nodes":[],"statements":[{"assignments":[43563,43565],"declarations":[{"constant":false,"id":43563,"mutability":"mutable","name":"success","nameLocation":"8601:7:41","nodeType":"VariableDeclaration","scope":43580,"src":"8596:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43562,"name":"bool","nodeType":"ElementaryTypeName","src":"8596:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43565,"mutability":"mutable","name":"value","nameLocation":"8617:5:41","nodeType":"VariableDeclaration","scope":43580,"src":"8610:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":43564,"name":"int256","nodeType":"ElementaryTypeName","src":"8610:6:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":43571,"initialValue":{"arguments":[{"id":43567,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43553,"src":"8638:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43568,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43555,"src":"8645:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43569,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43557,"src":"8652:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43566,"name":"tryParseInt","nodeType":"Identifier","overloadedDeclarations":[43602,43644],"referencedDeclaration":43644,"src":"8626:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_int256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,int256)"}},"id":43570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8626:30:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"nodeType":"VariableDeclarationStatement","src":"8595:61:41"},{"condition":{"id":43573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8670:8:41","subExpression":{"id":43572,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43563,"src":"8671:7:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43577,"nodeType":"IfStatement","src":"8666:41:41","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":43574,"name":"StringsInvalidChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42976,"src":"8687:18:41","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":43575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8687:20:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43576,"nodeType":"RevertStatement","src":"8680:27:41"}},{"expression":{"id":43578,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43565,"src":"8724:5:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":43561,"id":43579,"nodeType":"Return","src":"8717:12:41"}]},"documentation":{"id":43551,"nodeType":"StructuredDocumentation","src":"8186:296:41","text":" @dev Variant of {parseInt-string} that parses a substring of `input` located between position `begin` (included) and\n `end` (excluded).\n Requirements:\n - The substring must be formatted as `[-+]?[0-9]*`\n - The result must fit in an `int256` type."},"implemented":true,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"8496:8:41","parameters":{"id":43558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43553,"mutability":"mutable","name":"input","nameLocation":"8519:5:41","nodeType":"VariableDeclaration","scope":43581,"src":"8505:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43552,"name":"string","nodeType":"ElementaryTypeName","src":"8505:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43555,"mutability":"mutable","name":"begin","nameLocation":"8534:5:41","nodeType":"VariableDeclaration","scope":43581,"src":"8526:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43554,"name":"uint256","nodeType":"ElementaryTypeName","src":"8526:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43557,"mutability":"mutable","name":"end","nameLocation":"8549:3:41","nodeType":"VariableDeclaration","scope":43581,"src":"8541:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43556,"name":"uint256","nodeType":"ElementaryTypeName","src":"8541:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8504:49:41"},"returnParameters":{"id":43561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43581,"src":"8577:6:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":43559,"name":"int256","nodeType":"ElementaryTypeName","src":"8577:6:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8576:8:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43602,"nodeType":"FunctionDefinition","src":"9034:175:41","nodes":[],"body":{"id":43601,"nodeType":"Block","src":"9127:82:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":43592,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43584,"src":"9172:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":43593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9179:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":43596,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43584,"src":"9188:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9182:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43594,"name":"bytes","nodeType":"ElementaryTypeName","src":"9182:5:41","typeDescriptions":{}}},"id":43597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9182:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9195:6:41","memberName":"length","nodeType":"MemberAccess","src":"9182:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43591,"name":"_tryParseIntUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43765,"src":"9144:27:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_int256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,int256)"}},"id":43599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9144:58:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"functionReturnParameters":43590,"id":43600,"nodeType":"Return","src":"9137:65:41"}]},"documentation":{"id":43582,"nodeType":"StructuredDocumentation","src":"8742:287:41","text":" @dev Variant of {parseInt-string} that returns false if the parsing fails because of an invalid character or if\n the result does not fit in a `int256`.\n NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseInt","nameLocation":"9043:11:41","parameters":{"id":43585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43584,"mutability":"mutable","name":"input","nameLocation":"9069:5:41","nodeType":"VariableDeclaration","scope":43602,"src":"9055:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43583,"name":"string","nodeType":"ElementaryTypeName","src":"9055:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9054:21:41"},"returnParameters":{"id":43590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43587,"mutability":"mutable","name":"success","nameLocation":"9104:7:41","nodeType":"VariableDeclaration","scope":43602,"src":"9099:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43586,"name":"bool","nodeType":"ElementaryTypeName","src":"9099:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43589,"mutability":"mutable","name":"value","nameLocation":"9120:5:41","nodeType":"VariableDeclaration","scope":43602,"src":"9113:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":43588,"name":"int256","nodeType":"ElementaryTypeName","src":"9113:6:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9098:28:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43607,"nodeType":"VariableDeclaration","src":"9215:50:41","nodes":[],"constant":true,"mutability":"constant","name":"ABS_MIN_INT256","nameLocation":"9240:14:41","scope":44391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43603,"name":"uint256","nodeType":"ElementaryTypeName","src":"9215:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"id":43606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":43604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9257:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"323535","id":43605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9262:3:41","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"9257:8:41","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"}},"visibility":"private"},{"id":43644,"nodeType":"FunctionDefinition","src":"9580:294:41","nodes":[],"body":{"id":43643,"nodeType":"Block","src":"9731:143:41","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43621,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43614,"src":"9745:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":43624,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"9757:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9751:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43622,"name":"bytes","nodeType":"ElementaryTypeName","src":"9751:5:41","typeDescriptions":{}}},"id":43625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9751:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9764:6:41","memberName":"length","nodeType":"MemberAccess","src":"9751:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9745:25:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43628,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43612,"src":"9774:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":43629,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43614,"src":"9782:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9774:11:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9745:40:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43636,"nodeType":"IfStatement","src":"9741:63:41","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":43632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9795:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":43633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9802:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":43634,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9794:10:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":43620,"id":43635,"nodeType":"Return","src":"9787:17:41"}},{"expression":{"arguments":[{"id":43638,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43610,"src":"9849:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43639,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43612,"src":"9856:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43640,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43614,"src":"9863:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43637,"name":"_tryParseIntUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43765,"src":"9821:27:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_int256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,int256)"}},"id":43641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9821:46:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"functionReturnParameters":43620,"id":43642,"nodeType":"Return","src":"9814:53:41"}]},"documentation":{"id":43608,"nodeType":"StructuredDocumentation","src":"9272:303:41","text":" @dev Variant of {parseInt-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n character or if the result does not fit in a `int256`.\n NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseInt","nameLocation":"9589:11:41","parameters":{"id":43615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43610,"mutability":"mutable","name":"input","nameLocation":"9624:5:41","nodeType":"VariableDeclaration","scope":43644,"src":"9610:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43609,"name":"string","nodeType":"ElementaryTypeName","src":"9610:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43612,"mutability":"mutable","name":"begin","nameLocation":"9647:5:41","nodeType":"VariableDeclaration","scope":43644,"src":"9639:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43611,"name":"uint256","nodeType":"ElementaryTypeName","src":"9639:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43614,"mutability":"mutable","name":"end","nameLocation":"9670:3:41","nodeType":"VariableDeclaration","scope":43644,"src":"9662:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43613,"name":"uint256","nodeType":"ElementaryTypeName","src":"9662:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9600:79:41"},"returnParameters":{"id":43620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43617,"mutability":"mutable","name":"success","nameLocation":"9708:7:41","nodeType":"VariableDeclaration","scope":43644,"src":"9703:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43616,"name":"bool","nodeType":"ElementaryTypeName","src":"9703:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43619,"mutability":"mutable","name":"value","nameLocation":"9724:5:41","nodeType":"VariableDeclaration","scope":43644,"src":"9717:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":43618,"name":"int256","nodeType":"ElementaryTypeName","src":"9717:6:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9702:28:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43765,"nodeType":"FunctionDefinition","src":"10108:978:41","nodes":[],"body":{"id":43764,"nodeType":"Block","src":"10274:812:41","nodes":[],"statements":[{"assignments":[43659],"declarations":[{"constant":false,"id":43659,"mutability":"mutable","name":"buffer","nameLocation":"10297:6:41","nodeType":"VariableDeclaration","scope":43764,"src":"10284:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43658,"name":"bytes","nodeType":"ElementaryTypeName","src":"10284:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43664,"initialValue":{"arguments":[{"id":43662,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43647,"src":"10312:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10306:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43660,"name":"bytes","nodeType":"ElementaryTypeName","src":"10306:5:41","typeDescriptions":{}}},"id":43663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10306:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10284:34:41"},{"assignments":[43666],"declarations":[{"constant":false,"id":43666,"mutability":"mutable","name":"sign","nameLocation":"10382:4:41","nodeType":"VariableDeclaration","scope":43764,"src":"10375:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":43665,"name":"bytes1","nodeType":"ElementaryTypeName","src":"10375:6:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":43682,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43667,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43649,"src":"10389:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":43668,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43651,"src":"10398:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10389:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":43677,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43659,"src":"10446:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":43678,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43649,"src":"10454:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43676,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44390,"src":"10423:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":43679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10423:37:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":43675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10416:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":43674,"name":"bytes1","nodeType":"ElementaryTypeName","src":"10416:6:41","typeDescriptions":{}}},"id":43680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10416:45:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":43681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10389:72:41","trueExpression":{"arguments":[{"hexValue":"30","id":43672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10411:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":43671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10404:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":43670,"name":"bytes1","nodeType":"ElementaryTypeName","src":"10404:6:41","typeDescriptions":{}}},"id":43673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10404:9:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"10375:86:41"},{"assignments":[43684],"declarations":[{"constant":false,"id":43684,"mutability":"mutable","name":"positiveSign","nameLocation":"10547:12:41","nodeType":"VariableDeclaration","scope":43764,"src":"10542:17:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43683,"name":"bool","nodeType":"ElementaryTypeName","src":"10542:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":43691,"initialValue":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":43690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43685,"name":"sign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43666,"src":"10562:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"2b","id":43688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10577:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_728b8dbbe730d9acd55e30e768e6a28a04bea0c61b88108287c2c87d79c98bb8","typeString":"literal_string \"+\""},"value":"+"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_728b8dbbe730d9acd55e30e768e6a28a04bea0c61b88108287c2c87d79c98bb8","typeString":"literal_string \"+\""}],"id":43687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10570:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":43686,"name":"bytes1","nodeType":"ElementaryTypeName","src":"10570:6:41","typeDescriptions":{}}},"id":43689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10570:11:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"10562:19:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"10542:39:41"},{"assignments":[43693],"declarations":[{"constant":false,"id":43693,"mutability":"mutable","name":"negativeSign","nameLocation":"10596:12:41","nodeType":"VariableDeclaration","scope":43764,"src":"10591:17:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43692,"name":"bool","nodeType":"ElementaryTypeName","src":"10591:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":43700,"initialValue":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":43699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43694,"name":"sign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43666,"src":"10611:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"2d","id":43697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10626:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""},"value":"-"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""}],"id":43696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10619:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":43695,"name":"bytes1","nodeType":"ElementaryTypeName","src":"10619:6:41","typeDescriptions":{}}},"id":43698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10619:11:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"10611:19:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"10591:39:41"},{"assignments":[43702],"declarations":[{"constant":false,"id":43702,"mutability":"mutable","name":"offset","nameLocation":"10648:6:41","nodeType":"VariableDeclaration","scope":43764,"src":"10640:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43701,"name":"uint256","nodeType":"ElementaryTypeName","src":"10640:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43709,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43703,"name":"positiveSign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43684,"src":"10658:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":43704,"name":"negativeSign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43693,"src":"10674:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10658:28:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":43706,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10657:30:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10688:6:41","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"10657:37:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$attached_to$_t_bool_$","typeString":"function (bool) pure returns (uint256)"}},"id":43708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10657:39:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10640:56:41"},{"assignments":[43711,43713],"declarations":[{"constant":false,"id":43711,"mutability":"mutable","name":"absSuccess","nameLocation":"10713:10:41","nodeType":"VariableDeclaration","scope":43764,"src":"10708:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43710,"name":"bool","nodeType":"ElementaryTypeName","src":"10708:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43713,"mutability":"mutable","name":"absValue","nameLocation":"10733:8:41","nodeType":"VariableDeclaration","scope":43764,"src":"10725:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43712,"name":"uint256","nodeType":"ElementaryTypeName","src":"10725:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43721,"initialValue":{"arguments":[{"id":43715,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43647,"src":"10758:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43716,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43649,"src":"10765:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":43717,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43702,"src":"10773:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10765:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43719,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43651,"src":"10781:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43714,"name":"tryParseUint","nodeType":"Identifier","overloadedDeclarations":[43424,43461],"referencedDeclaration":43461,"src":"10745:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":43720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10745:40:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"10707:78:41"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43722,"name":"absSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43711,"src":"10800:10:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43723,"name":"absValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43713,"src":"10814:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":43724,"name":"ABS_MIN_INT256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43607,"src":"10825:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10814:25:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10800:39:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43742,"name":"absSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43711,"src":"10942:10:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":43743,"name":"negativeSign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43693,"src":"10956:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10942:26:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43745,"name":"absValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43713,"src":"10972:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":43746,"name":"ABS_MIN_INT256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43607,"src":"10984:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10972:26:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10942:56:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"expression":{"components":[{"hexValue":"66616c7365","id":43758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11070:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":43759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11077:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":43760,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"11069:10:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":43657,"id":43761,"nodeType":"Return","src":"11062:17:41"},"id":43762,"nodeType":"IfStatement","src":"10938:141:41","trueBody":{"id":43757,"nodeType":"Block","src":"11000:56:41","statements":[{"expression":{"components":[{"hexValue":"74727565","id":43749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11022:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"arguments":[{"id":43752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11033:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":43751,"name":"int256","nodeType":"ElementaryTypeName","src":"11033:6:41","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":43750,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11028:4:41","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":43753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11028:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":43754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11041:3:41","memberName":"min","nodeType":"MemberAccess","src":"11028:16:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":43755,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"11021:24:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"functionReturnParameters":43657,"id":43756,"nodeType":"Return","src":"11014:31:41"}]}},"id":43763,"nodeType":"IfStatement","src":"10796:283:41","trueBody":{"id":43741,"nodeType":"Block","src":"10841:91:41","statements":[{"expression":{"components":[{"hexValue":"74727565","id":43727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10863:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"condition":{"id":43728,"name":"negativeSign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43693,"src":"10869:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":43736,"name":"absValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43713,"src":"10911:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10904:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":43734,"name":"int256","nodeType":"ElementaryTypeName","src":"10904:6:41","typeDescriptions":{}}},"id":43737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10904:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":43738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10869:51:41","trueExpression":{"id":43733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"10884:17:41","subExpression":{"arguments":[{"id":43731,"name":"absValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43713,"src":"10892:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10885:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":43729,"name":"int256","nodeType":"ElementaryTypeName","src":"10885:6:41","typeDescriptions":{}}},"id":43732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10885:16:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":43739,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10862:59:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"functionReturnParameters":43657,"id":43740,"nodeType":"Return","src":"10855:66:41"}]}}]},"documentation":{"id":43645,"nodeType":"StructuredDocumentation","src":"9880:223:41","text":" @dev Implementation of {tryParseInt-string-uint256-uint256} that does not check bounds. Caller should make sure that\n `begin <= end <= input.length`. Other inputs would result in undefined behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"_tryParseIntUncheckedBounds","nameLocation":"10117:27:41","parameters":{"id":43652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43647,"mutability":"mutable","name":"input","nameLocation":"10168:5:41","nodeType":"VariableDeclaration","scope":43765,"src":"10154:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43646,"name":"string","nodeType":"ElementaryTypeName","src":"10154:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43649,"mutability":"mutable","name":"begin","nameLocation":"10191:5:41","nodeType":"VariableDeclaration","scope":43765,"src":"10183:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43648,"name":"uint256","nodeType":"ElementaryTypeName","src":"10183:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43651,"mutability":"mutable","name":"end","nameLocation":"10214:3:41","nodeType":"VariableDeclaration","scope":43765,"src":"10206:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43650,"name":"uint256","nodeType":"ElementaryTypeName","src":"10206:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10144:79:41"},"returnParameters":{"id":43657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43654,"mutability":"mutable","name":"success","nameLocation":"10251:7:41","nodeType":"VariableDeclaration","scope":43765,"src":"10246:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43653,"name":"bool","nodeType":"ElementaryTypeName","src":"10246:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43656,"mutability":"mutable","name":"value","nameLocation":"10267:5:41","nodeType":"VariableDeclaration","scope":43765,"src":"10260:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":43655,"name":"int256","nodeType":"ElementaryTypeName","src":"10260:6:41","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"10245:28:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":43784,"nodeType":"FunctionDefinition","src":"11356:142:41","nodes":[],"body":{"id":43783,"nodeType":"Block","src":"11431:67:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":43774,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43768,"src":"11461:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":43775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11468:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":43778,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43768,"src":"11477:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11471:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43776,"name":"bytes","nodeType":"ElementaryTypeName","src":"11471:5:41","typeDescriptions":{}}},"id":43779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11471:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11484:6:41","memberName":"length","nodeType":"MemberAccess","src":"11471:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43773,"name":"parseHexUint","nodeType":"Identifier","overloadedDeclarations":[43784,43815],"referencedDeclaration":43815,"src":"11448:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (uint256)"}},"id":43781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11448:43:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43772,"id":43782,"nodeType":"Return","src":"11441:50:41"}]},"documentation":{"id":43766,"nodeType":"StructuredDocumentation","src":"11092:259:41","text":" @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as a `uint256`.\n Requirements:\n - The string must be formatted as `(0x)?[0-9a-fA-F]*`\n - The result must fit in an `uint256` type."},"implemented":true,"kind":"function","modifiers":[],"name":"parseHexUint","nameLocation":"11365:12:41","parameters":{"id":43769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43768,"mutability":"mutable","name":"input","nameLocation":"11392:5:41","nodeType":"VariableDeclaration","scope":43784,"src":"11378:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43767,"name":"string","nodeType":"ElementaryTypeName","src":"11378:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11377:21:41"},"returnParameters":{"id":43772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43784,"src":"11422:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43770,"name":"uint256","nodeType":"ElementaryTypeName","src":"11422:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11421:9:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43815,"nodeType":"FunctionDefinition","src":"11816:259:41","nodes":[],"body":{"id":43814,"nodeType":"Block","src":"11919:156:41","nodes":[],"statements":[{"assignments":[43797,43799],"declarations":[{"constant":false,"id":43797,"mutability":"mutable","name":"success","nameLocation":"11935:7:41","nodeType":"VariableDeclaration","scope":43814,"src":"11930:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43796,"name":"bool","nodeType":"ElementaryTypeName","src":"11930:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43799,"mutability":"mutable","name":"value","nameLocation":"11952:5:41","nodeType":"VariableDeclaration","scope":43814,"src":"11944:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43798,"name":"uint256","nodeType":"ElementaryTypeName","src":"11944:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43805,"initialValue":{"arguments":[{"id":43801,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43787,"src":"11977:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43802,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43789,"src":"11984:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43803,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43791,"src":"11991:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43800,"name":"tryParseHexUint","nodeType":"Identifier","overloadedDeclarations":[43836,43873],"referencedDeclaration":43873,"src":"11961:15:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":43804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11961:34:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11929:66:41"},{"condition":{"id":43807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12009:8:41","subExpression":{"id":43806,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43797,"src":"12010:7:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43811,"nodeType":"IfStatement","src":"12005:41:41","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":43808,"name":"StringsInvalidChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42976,"src":"12026:18:41","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":43809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12026:20:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43810,"nodeType":"RevertStatement","src":"12019:27:41"}},{"expression":{"id":43812,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43799,"src":"12063:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":43795,"id":43813,"nodeType":"Return","src":"12056:12:41"}]},"documentation":{"id":43785,"nodeType":"StructuredDocumentation","src":"11504:307:41","text":" @dev Variant of {parseHexUint-string} that parses a substring of `input` located between position `begin` (included) and\n `end` (excluded).\n Requirements:\n - The substring must be formatted as `(0x)?[0-9a-fA-F]*`\n - The result must fit in an `uint256` type."},"implemented":true,"kind":"function","modifiers":[],"name":"parseHexUint","nameLocation":"11825:12:41","parameters":{"id":43792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43787,"mutability":"mutable","name":"input","nameLocation":"11852:5:41","nodeType":"VariableDeclaration","scope":43815,"src":"11838:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43786,"name":"string","nodeType":"ElementaryTypeName","src":"11838:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43789,"mutability":"mutable","name":"begin","nameLocation":"11867:5:41","nodeType":"VariableDeclaration","scope":43815,"src":"11859:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43788,"name":"uint256","nodeType":"ElementaryTypeName","src":"11859:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43791,"mutability":"mutable","name":"end","nameLocation":"11882:3:41","nodeType":"VariableDeclaration","scope":43815,"src":"11874:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43790,"name":"uint256","nodeType":"ElementaryTypeName","src":"11874:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11837:49:41"},"returnParameters":{"id":43795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43815,"src":"11910:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43793,"name":"uint256","nodeType":"ElementaryTypeName","src":"11910:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11909:9:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43836,"nodeType":"FunctionDefinition","src":"12304:184:41","nodes":[],"body":{"id":43835,"nodeType":"Block","src":"12402:86:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":43826,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43818,"src":"12451:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":43827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12458:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":43830,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43818,"src":"12467:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12461:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43828,"name":"bytes","nodeType":"ElementaryTypeName","src":"12461:5:41","typeDescriptions":{}}},"id":43831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12461:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12474:6:41","memberName":"length","nodeType":"MemberAccess","src":"12461:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43825,"name":"_tryParseHexUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43976,"src":"12419:31:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":43833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12419:62:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":43824,"id":43834,"nodeType":"Return","src":"12412:69:41"}]},"documentation":{"id":43816,"nodeType":"StructuredDocumentation","src":"12081:218:41","text":" @dev Variant of {parseHexUint-string} that returns false if the parsing fails because of an invalid character.\n NOTE: This function will revert if the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseHexUint","nameLocation":"12313:15:41","parameters":{"id":43819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43818,"mutability":"mutable","name":"input","nameLocation":"12343:5:41","nodeType":"VariableDeclaration","scope":43836,"src":"12329:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43817,"name":"string","nodeType":"ElementaryTypeName","src":"12329:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12328:21:41"},"returnParameters":{"id":43824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43821,"mutability":"mutable","name":"success","nameLocation":"12378:7:41","nodeType":"VariableDeclaration","scope":43836,"src":"12373:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43820,"name":"bool","nodeType":"ElementaryTypeName","src":"12373:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43823,"mutability":"mutable","name":"value","nameLocation":"12395:5:41","nodeType":"VariableDeclaration","scope":43836,"src":"12387:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43822,"name":"uint256","nodeType":"ElementaryTypeName","src":"12387:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12372:29:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43873,"nodeType":"FunctionDefinition","src":"12740:303:41","nodes":[],"body":{"id":43872,"nodeType":"Block","src":"12896:147:41","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43850,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43843,"src":"12910:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":43853,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43839,"src":"12922:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12916:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43851,"name":"bytes","nodeType":"ElementaryTypeName","src":"12916:5:41","typeDescriptions":{}}},"id":43854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12916:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12929:6:41","memberName":"length","nodeType":"MemberAccess","src":"12916:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12910:25:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43857,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43841,"src":"12939:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":43858,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43843,"src":"12947:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12939:11:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12910:40:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43865,"nodeType":"IfStatement","src":"12906:63:41","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":43861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12960:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":43862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12967:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":43863,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12959:10:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":43849,"id":43864,"nodeType":"Return","src":"12952:17:41"}},{"expression":{"arguments":[{"id":43867,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43839,"src":"13018:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43868,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43841,"src":"13025:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43869,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43843,"src":"13032:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43866,"name":"_tryParseHexUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43976,"src":"12986:31:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":43870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12986:50:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":43849,"id":43871,"nodeType":"Return","src":"12979:57:41"}]},"documentation":{"id":43837,"nodeType":"StructuredDocumentation","src":"12494:241:41","text":" @dev Variant of {parseHexUint-string-uint256-uint256} that returns false if the parsing fails because of an\n invalid character.\n NOTE: This function will revert if the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseHexUint","nameLocation":"12749:15:41","parameters":{"id":43844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43839,"mutability":"mutable","name":"input","nameLocation":"12788:5:41","nodeType":"VariableDeclaration","scope":43873,"src":"12774:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43838,"name":"string","nodeType":"ElementaryTypeName","src":"12774:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43841,"mutability":"mutable","name":"begin","nameLocation":"12811:5:41","nodeType":"VariableDeclaration","scope":43873,"src":"12803:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43840,"name":"uint256","nodeType":"ElementaryTypeName","src":"12803:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43843,"mutability":"mutable","name":"end","nameLocation":"12834:3:41","nodeType":"VariableDeclaration","scope":43873,"src":"12826:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43842,"name":"uint256","nodeType":"ElementaryTypeName","src":"12826:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12764:79:41"},"returnParameters":{"id":43849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43846,"mutability":"mutable","name":"success","nameLocation":"12872:7:41","nodeType":"VariableDeclaration","scope":43873,"src":"12867:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43845,"name":"bool","nodeType":"ElementaryTypeName","src":"12867:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43848,"mutability":"mutable","name":"value","nameLocation":"12889:5:41","nodeType":"VariableDeclaration","scope":43873,"src":"12881:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43847,"name":"uint256","nodeType":"ElementaryTypeName","src":"12881:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12866:29:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43976,"nodeType":"FunctionDefinition","src":"13281:1052:41","nodes":[],"body":{"id":43975,"nodeType":"Block","src":"13452:881:41","nodes":[],"statements":[{"assignments":[43888],"declarations":[{"constant":false,"id":43888,"mutability":"mutable","name":"buffer","nameLocation":"13475:6:41","nodeType":"VariableDeclaration","scope":43975,"src":"13462:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43887,"name":"bytes","nodeType":"ElementaryTypeName","src":"13462:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43893,"initialValue":{"arguments":[{"id":43891,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43876,"src":"13490:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13484:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43889,"name":"bytes","nodeType":"ElementaryTypeName","src":"13484:5:41","typeDescriptions":{}}},"id":43892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13484:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13462:34:41"},{"assignments":[43895],"declarations":[{"constant":false,"id":43895,"mutability":"mutable","name":"hasPrefix","nameLocation":"13549:9:41","nodeType":"VariableDeclaration","scope":43975,"src":"13544:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43894,"name":"bool","nodeType":"ElementaryTypeName","src":"13544:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":43915,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43896,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43880,"src":"13562:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43897,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43878,"src":"13568:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":43898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13576:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13568:9:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13562:15:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":43901,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13561:17:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":43913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":43905,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43888,"src":"13612:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":43906,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43878,"src":"13620:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43904,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44390,"src":"13589:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":43907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13589:37:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":43903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13582:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes2_$","typeString":"type(bytes2)"},"typeName":{"id":43902,"name":"bytes2","nodeType":"ElementaryTypeName","src":"13582:6:41","typeDescriptions":{}}},"id":43908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13582:45:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"3078","id":43911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13638:4:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837","typeString":"literal_string \"0x\""},"value":"0x"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837","typeString":"literal_string \"0x\""}],"id":43910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13631:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes2_$","typeString":"type(bytes2)"},"typeName":{"id":43909,"name":"bytes2","nodeType":"ElementaryTypeName","src":"13631:6:41","typeDescriptions":{}}},"id":43912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13631:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"13582:61:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13561:82:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13544:99:41"},{"assignments":[43917],"declarations":[{"constant":false,"id":43917,"mutability":"mutable","name":"offset","nameLocation":"13732:6:41","nodeType":"VariableDeclaration","scope":43975,"src":"13724:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43916,"name":"uint256","nodeType":"ElementaryTypeName","src":"13724:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43923,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":43918,"name":"hasPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43895,"src":"13741:9:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13751:6:41","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"13741:16:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$attached_to$_t_bool_$","typeString":"function (bool) pure returns (uint256)"}},"id":43920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13741:18:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":43921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13762:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"13741:22:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13724:39:41"},{"assignments":[43925],"declarations":[{"constant":false,"id":43925,"mutability":"mutable","name":"result","nameLocation":"13782:6:41","nodeType":"VariableDeclaration","scope":43975,"src":"13774:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43924,"name":"uint256","nodeType":"ElementaryTypeName","src":"13774:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43927,"initialValue":{"hexValue":"30","id":43926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13791:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13774:18:41"},{"body":{"id":43969,"nodeType":"Block","src":"13849:447:41","statements":[{"assignments":[43941],"declarations":[{"constant":false,"id":43941,"mutability":"mutable","name":"chr","nameLocation":"13869:3:41","nodeType":"VariableDeclaration","scope":43969,"src":"13863:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":43940,"name":"uint8","nodeType":"ElementaryTypeName","src":"13863:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":43951,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":43946,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43888,"src":"13918:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":43947,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43929,"src":"13926:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43945,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44390,"src":"13895:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":43948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13895:33:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":43944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13888:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":43943,"name":"bytes1","nodeType":"ElementaryTypeName","src":"13888:6:41","typeDescriptions":{}}},"id":43949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13888:41:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":43942,"name":"_tryParseChr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44211,"src":"13875:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$returns$_t_uint8_$","typeString":"function (bytes1) pure returns (uint8)"}},"id":43950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13875:55:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"13863:67:41"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":43954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43952,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43941,"src":"13948:3:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3135","id":43953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13954:2:41","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"src":"13948:8:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43959,"nodeType":"IfStatement","src":"13944:31:41","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":43955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13966:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":43956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13973:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":43957,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"13965:10:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":43886,"id":43958,"nodeType":"Return","src":"13958:17:41"}},{"expression":{"id":43962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43960,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43925,"src":"13989:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"hexValue":"3136","id":43961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13999:2:41","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"13989:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43963,"nodeType":"ExpressionStatement","src":"13989:12:41"},{"id":43968,"nodeType":"UncheckedBlock","src":"14015:271:41","statements":[{"expression":{"id":43966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43964,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43925,"src":"14258:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":43965,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43941,"src":"14268:3:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14258:13:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43967,"nodeType":"ExpressionStatement","src":"14258:13:41"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43934,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43929,"src":"13835:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":43935,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43880,"src":"13839:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13835:7:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43970,"initializationExpression":{"assignments":[43929],"declarations":[{"constant":false,"id":43929,"mutability":"mutable","name":"i","nameLocation":"13815:1:41","nodeType":"VariableDeclaration","scope":43970,"src":"13807:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43928,"name":"uint256","nodeType":"ElementaryTypeName","src":"13807:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43933,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43930,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43878,"src":"13819:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":43931,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43917,"src":"13827:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13819:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13807:26:41"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":43938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"13844:3:41","subExpression":{"id":43937,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43929,"src":"13846:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43939,"nodeType":"ExpressionStatement","src":"13844:3:41"},"nodeType":"ForStatement","src":"13802:494:41"},{"expression":{"components":[{"hexValue":"74727565","id":43971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14313:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":43972,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43925,"src":"14319:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":43973,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14312:14:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":43886,"id":43974,"nodeType":"Return","src":"14305:21:41"}]},"documentation":{"id":43874,"nodeType":"StructuredDocumentation","src":"13049:227:41","text":" @dev Implementation of {tryParseHexUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n `begin <= end <= input.length`. Other inputs would result in undefined behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"_tryParseHexUintUncheckedBounds","nameLocation":"13290:31:41","parameters":{"id":43881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43876,"mutability":"mutable","name":"input","nameLocation":"13345:5:41","nodeType":"VariableDeclaration","scope":43976,"src":"13331:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43875,"name":"string","nodeType":"ElementaryTypeName","src":"13331:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43878,"mutability":"mutable","name":"begin","nameLocation":"13368:5:41","nodeType":"VariableDeclaration","scope":43976,"src":"13360:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43877,"name":"uint256","nodeType":"ElementaryTypeName","src":"13360:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43880,"mutability":"mutable","name":"end","nameLocation":"13391:3:41","nodeType":"VariableDeclaration","scope":43976,"src":"13383:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43879,"name":"uint256","nodeType":"ElementaryTypeName","src":"13383:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13321:79:41"},"returnParameters":{"id":43886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43883,"mutability":"mutable","name":"success","nameLocation":"13428:7:41","nodeType":"VariableDeclaration","scope":43976,"src":"13423:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43882,"name":"bool","nodeType":"ElementaryTypeName","src":"13423:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43885,"mutability":"mutable","name":"value","nameLocation":"13445:5:41","nodeType":"VariableDeclaration","scope":43976,"src":"13437:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43884,"name":"uint256","nodeType":"ElementaryTypeName","src":"13437:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13422:29:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":43995,"nodeType":"FunctionDefinition","src":"14556:142:41","nodes":[],"body":{"id":43994,"nodeType":"Block","src":"14631:67:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":43985,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43979,"src":"14661:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":43986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14668:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":43989,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43979,"src":"14677:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":43988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14671:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":43987,"name":"bytes","nodeType":"ElementaryTypeName","src":"14671:5:41","typeDescriptions":{}}},"id":43990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14671:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14684:6:41","memberName":"length","nodeType":"MemberAccess","src":"14671:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43984,"name":"parseAddress","nodeType":"Identifier","overloadedDeclarations":[43995,44026],"referencedDeclaration":44026,"src":"14648:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_address_$","typeString":"function (string memory,uint256,uint256) pure returns (address)"}},"id":43992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14648:43:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":43983,"id":43993,"nodeType":"Return","src":"14641:50:41"}]},"documentation":{"id":43977,"nodeType":"StructuredDocumentation","src":"14339:212:41","text":" @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as an `address`.\n Requirements:\n - The string must be formatted as `(0x)?[0-9a-fA-F]{40}`"},"implemented":true,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"14565:12:41","parameters":{"id":43980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43979,"mutability":"mutable","name":"input","nameLocation":"14592:5:41","nodeType":"VariableDeclaration","scope":43995,"src":"14578:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43978,"name":"string","nodeType":"ElementaryTypeName","src":"14578:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14577:21:41"},"returnParameters":{"id":43983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43995,"src":"14622:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43981,"name":"address","nodeType":"ElementaryTypeName","src":"14622:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14621:9:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44026,"nodeType":"FunctionDefinition","src":"14968:268:41","nodes":[],"body":{"id":44025,"nodeType":"Block","src":"15071:165:41","nodes":[],"statements":[{"assignments":[44008,44010],"declarations":[{"constant":false,"id":44008,"mutability":"mutable","name":"success","nameLocation":"15087:7:41","nodeType":"VariableDeclaration","scope":44025,"src":"15082:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44007,"name":"bool","nodeType":"ElementaryTypeName","src":"15082:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44010,"mutability":"mutable","name":"value","nameLocation":"15104:5:41","nodeType":"VariableDeclaration","scope":44025,"src":"15096:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44009,"name":"address","nodeType":"ElementaryTypeName","src":"15096:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":44016,"initialValue":{"arguments":[{"id":44012,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43998,"src":"15129:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44013,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44000,"src":"15136:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44014,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44002,"src":"15143:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44011,"name":"tryParseAddress","nodeType":"Identifier","overloadedDeclarations":[44047,44151],"referencedDeclaration":44151,"src":"15113:15:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_address_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,address)"}},"id":44015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15113:34:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"15081:66:41"},{"condition":{"id":44018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15161:8:41","subExpression":{"id":44017,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44008,"src":"15162:7:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44022,"nodeType":"IfStatement","src":"15157:50:41","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":44019,"name":"StringsInvalidAddressFormat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42979,"src":"15178:27:41","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":44020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15178:29:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":44021,"nodeType":"RevertStatement","src":"15171:36:41"}},{"expression":{"id":44023,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44010,"src":"15224:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":44006,"id":44024,"nodeType":"Return","src":"15217:12:41"}]},"documentation":{"id":43996,"nodeType":"StructuredDocumentation","src":"14704:259:41","text":" @dev Variant of {parseAddress-string} that parses a substring of `input` located between position `begin` (included) and\n `end` (excluded).\n Requirements:\n - The substring must be formatted as `(0x)?[0-9a-fA-F]{40}`"},"implemented":true,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"14977:12:41","parameters":{"id":44003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43998,"mutability":"mutable","name":"input","nameLocation":"15004:5:41","nodeType":"VariableDeclaration","scope":44026,"src":"14990:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43997,"name":"string","nodeType":"ElementaryTypeName","src":"14990:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44000,"mutability":"mutable","name":"begin","nameLocation":"15019:5:41","nodeType":"VariableDeclaration","scope":44026,"src":"15011:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43999,"name":"uint256","nodeType":"ElementaryTypeName","src":"15011:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44002,"mutability":"mutable","name":"end","nameLocation":"15034:3:41","nodeType":"VariableDeclaration","scope":44026,"src":"15026:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44001,"name":"uint256","nodeType":"ElementaryTypeName","src":"15026:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14989:49:41"},"returnParameters":{"id":44006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44026,"src":"15062:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44004,"name":"address","nodeType":"ElementaryTypeName","src":"15062:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15061:9:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44047,"nodeType":"FunctionDefinition","src":"15445:168:41","nodes":[],"body":{"id":44046,"nodeType":"Block","src":"15543:70:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":44037,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44029,"src":"15576:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":44038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15583:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":44041,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44029,"src":"15592:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":44040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15586:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":44039,"name":"bytes","nodeType":"ElementaryTypeName","src":"15586:5:41","typeDescriptions":{}}},"id":44042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15586:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15599:6:41","memberName":"length","nodeType":"MemberAccess","src":"15586:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44036,"name":"tryParseAddress","nodeType":"Identifier","overloadedDeclarations":[44047,44151],"referencedDeclaration":44151,"src":"15560:15:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_address_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,address)"}},"id":44044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15560:46:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"functionReturnParameters":44035,"id":44045,"nodeType":"Return","src":"15553:53:41"}]},"documentation":{"id":44027,"nodeType":"StructuredDocumentation","src":"15242:198:41","text":" @dev Variant of {parseAddress-string} that returns false if the parsing fails because the input is not a properly\n formatted address. See {parseAddress-string} requirements."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseAddress","nameLocation":"15454:15:41","parameters":{"id":44030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44029,"mutability":"mutable","name":"input","nameLocation":"15484:5:41","nodeType":"VariableDeclaration","scope":44047,"src":"15470:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44028,"name":"string","nodeType":"ElementaryTypeName","src":"15470:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15469:21:41"},"returnParameters":{"id":44035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44032,"mutability":"mutable","name":"success","nameLocation":"15519:7:41","nodeType":"VariableDeclaration","scope":44047,"src":"15514:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44031,"name":"bool","nodeType":"ElementaryTypeName","src":"15514:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44034,"mutability":"mutable","name":"value","nameLocation":"15536:5:41","nodeType":"VariableDeclaration","scope":44047,"src":"15528:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44033,"name":"address","nodeType":"ElementaryTypeName","src":"15528:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15513:29:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44151,"nodeType":"FunctionDefinition","src":"15850:889:41","nodes":[],"body":{"id":44150,"nodeType":"Block","src":"16006:733:41","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":44071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44061,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44054,"src":"16020:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":44064,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44050,"src":"16032:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":44063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16026:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":44062,"name":"bytes","nodeType":"ElementaryTypeName","src":"16026:5:41","typeDescriptions":{}}},"id":44065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16026:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16039:6:41","memberName":"length","nodeType":"MemberAccess","src":"16026:19:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16020:25:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44068,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44052,"src":"16049:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":44069,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44054,"src":"16057:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16049:11:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16020:40:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44079,"nodeType":"IfStatement","src":"16016:72:41","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":44072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16070:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"30","id":44075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16085:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":44074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16077:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44073,"name":"address","nodeType":"ElementaryTypeName","src":"16077:7:41","typeDescriptions":{}}},"id":44076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16077:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":44077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"16069:19:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"functionReturnParameters":44060,"id":44078,"nodeType":"Return","src":"16062:26:41"}},{"assignments":[44081],"declarations":[{"constant":false,"id":44081,"mutability":"mutable","name":"hasPrefix","nameLocation":"16104:9:41","nodeType":"VariableDeclaration","scope":44150,"src":"16099:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44080,"name":"bool","nodeType":"ElementaryTypeName","src":"16099:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":44104,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":44103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44082,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44054,"src":"16117:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44083,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44052,"src":"16123:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":44084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16131:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16123:9:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16117:15:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":44087,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16116:17:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":44102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"id":44093,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44050,"src":"16173:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":44092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16167:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":44091,"name":"bytes","nodeType":"ElementaryTypeName","src":"16167:5:41","typeDescriptions":{}}},"id":44094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16167:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":44095,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44052,"src":"16181:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44090,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44390,"src":"16144:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":44096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16144:43:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16137:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes2_$","typeString":"type(bytes2)"},"typeName":{"id":44088,"name":"bytes2","nodeType":"ElementaryTypeName","src":"16137:6:41","typeDescriptions":{}}},"id":44097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:51:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"3078","id":44100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16199:4:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837","typeString":"literal_string \"0x\""},"value":"0x"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837","typeString":"literal_string \"0x\""}],"id":44099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16192:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes2_$","typeString":"type(bytes2)"},"typeName":{"id":44098,"name":"bytes2","nodeType":"ElementaryTypeName","src":"16192:6:41","typeDescriptions":{}}},"id":44101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16192:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"16137:67:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16116:88:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"16099:105:41"},{"assignments":[44106],"declarations":[{"constant":false,"id":44106,"mutability":"mutable","name":"expectedLength","nameLocation":"16293:14:41","nodeType":"VariableDeclaration","scope":44150,"src":"16285:22:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44105,"name":"uint256","nodeType":"ElementaryTypeName","src":"16285:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44114,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3430","id":44107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16310:2:41","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":44108,"name":"hasPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44081,"src":"16315:9:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16325:6:41","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"16315:16:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$attached_to$_t_bool_$","typeString":"function (bool) pure returns (uint256)"}},"id":44110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16315:18:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":44111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16336:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"16315:22:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16310:27:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16285:52:41"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44115,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44054,"src":"16402:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":44116,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44052,"src":"16408:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16402:11:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":44118,"name":"expectedLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44106,"src":"16417:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16402:29:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44148,"nodeType":"Block","src":"16682:51:41","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":44141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16704:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"30","id":44144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16719:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":44143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16711:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44142,"name":"address","nodeType":"ElementaryTypeName","src":"16711:7:41","typeDescriptions":{}}},"id":44145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16711:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":44146,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"16703:19:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"functionReturnParameters":44060,"id":44147,"nodeType":"Return","src":"16696:26:41"}]},"id":44149,"nodeType":"IfStatement","src":"16398:335:41","trueBody":{"id":44140,"nodeType":"Block","src":"16433:243:41","statements":[{"assignments":[44121,44123],"declarations":[{"constant":false,"id":44121,"mutability":"mutable","name":"s","nameLocation":"16554:1:41","nodeType":"VariableDeclaration","scope":44140,"src":"16549:6:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44120,"name":"bool","nodeType":"ElementaryTypeName","src":"16549:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44123,"mutability":"mutable","name":"v","nameLocation":"16565:1:41","nodeType":"VariableDeclaration","scope":44140,"src":"16557:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44122,"name":"uint256","nodeType":"ElementaryTypeName","src":"16557:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44129,"initialValue":{"arguments":[{"id":44125,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44050,"src":"16602:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44126,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44052,"src":"16609:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44127,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44054,"src":"16616:3:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44124,"name":"_tryParseHexUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43976,"src":"16570:31:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":44128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16570:50:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16548:72:41"},{"expression":{"components":[{"id":44130,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44121,"src":"16642:1:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"id":44135,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44123,"src":"16661:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16653:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":44133,"name":"uint160","nodeType":"ElementaryTypeName","src":"16653:7:41","typeDescriptions":{}}},"id":44136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16653:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":44132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16645:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44131,"name":"address","nodeType":"ElementaryTypeName","src":"16645:7:41","typeDescriptions":{}}},"id":44137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16645:19:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":44138,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16641:24:41","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"functionReturnParameters":44060,"id":44139,"nodeType":"Return","src":"16634:31:41"}]}}]},"documentation":{"id":44048,"nodeType":"StructuredDocumentation","src":"15619:226:41","text":" @dev Variant of {parseAddress-string-uint256-uint256} that returns false if the parsing fails because input is not a properly\n formatted address. See {parseAddress-string-uint256-uint256} requirements."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseAddress","nameLocation":"15859:15:41","parameters":{"id":44055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44050,"mutability":"mutable","name":"input","nameLocation":"15898:5:41","nodeType":"VariableDeclaration","scope":44151,"src":"15884:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44049,"name":"string","nodeType":"ElementaryTypeName","src":"15884:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44052,"mutability":"mutable","name":"begin","nameLocation":"15921:5:41","nodeType":"VariableDeclaration","scope":44151,"src":"15913:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44051,"name":"uint256","nodeType":"ElementaryTypeName","src":"15913:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44054,"mutability":"mutable","name":"end","nameLocation":"15944:3:41","nodeType":"VariableDeclaration","scope":44151,"src":"15936:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44053,"name":"uint256","nodeType":"ElementaryTypeName","src":"15936:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15874:79:41"},"returnParameters":{"id":44060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44057,"mutability":"mutable","name":"success","nameLocation":"15982:7:41","nodeType":"VariableDeclaration","scope":44151,"src":"15977:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44056,"name":"bool","nodeType":"ElementaryTypeName","src":"15977:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44059,"mutability":"mutable","name":"value","nameLocation":"15999:5:41","nodeType":"VariableDeclaration","scope":44151,"src":"15991:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44058,"name":"address","nodeType":"ElementaryTypeName","src":"15991:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15976:29:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44211,"nodeType":"FunctionDefinition","src":"16745:524:41","nodes":[],"body":{"id":44210,"nodeType":"Block","src":"16808:461:41","nodes":[],"statements":[{"assignments":[44159],"declarations":[{"constant":false,"id":44159,"mutability":"mutable","name":"value","nameLocation":"16824:5:41","nodeType":"VariableDeclaration","scope":44210,"src":"16818:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44158,"name":"uint8","nodeType":"ElementaryTypeName","src":"16818:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":44164,"initialValue":{"arguments":[{"id":44162,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44153,"src":"16838:3:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":44161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16832:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":44160,"name":"uint8","nodeType":"ElementaryTypeName","src":"16832:5:41","typeDescriptions":{}}},"id":44163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16832:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"16818:24:41"},{"id":44207,"nodeType":"UncheckedBlock","src":"17002:238:41","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":44171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":44167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44165,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17030:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3437","id":44166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17038:2:41","typeDescriptions":{"typeIdentifier":"t_rational_47_by_1","typeString":"int_const 47"},"value":"47"},"src":"17030:10:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":44170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44168,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17044:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3538","id":44169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17052:2:41","typeDescriptions":{"typeIdentifier":"t_rational_58_by_1","typeString":"int_const 58"},"value":"58"},"src":"17044:10:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17030:24:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":44182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":44178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44176,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17090:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3936","id":44177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17098:2:41","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"17090:10:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":44181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44179,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17104:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313033","id":44180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17112:3:41","typeDescriptions":{"typeIdentifier":"t_rational_103_by_1","typeString":"int_const 103"},"value":"103"},"src":"17104:11:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17090:25:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":44193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":44189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44187,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17151:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3634","id":44188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17159:2:41","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"17151:10:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":44192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44190,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17165:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3731","id":44191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17173:2:41","typeDescriptions":{"typeIdentifier":"t_rational_71_by_1","typeString":"int_const 71"},"value":"71"},"src":"17165:10:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17151:24:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"expression":{"expression":{"arguments":[{"id":44200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17219:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":44199,"name":"uint8","nodeType":"ElementaryTypeName","src":"17219:5:41","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":44198,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"17214:4:41","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":44201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17214:11:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":44202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17226:3:41","memberName":"max","nodeType":"MemberAccess","src":"17214:15:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":44157,"id":44203,"nodeType":"Return","src":"17207:22:41"},"id":44204,"nodeType":"IfStatement","src":"17147:82:41","trueBody":{"expression":{"id":44196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44194,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17177:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3535","id":44195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17186:2:41","typeDescriptions":{"typeIdentifier":"t_rational_55_by_1","typeString":"int_const 55"},"value":"55"},"src":"17177:11:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":44197,"nodeType":"ExpressionStatement","src":"17177:11:41"}},"id":44205,"nodeType":"IfStatement","src":"17086:143:41","trueBody":{"expression":{"id":44185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44183,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17117:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3837","id":44184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17126:2:41","typeDescriptions":{"typeIdentifier":"t_rational_87_by_1","typeString":"int_const 87"},"value":"87"},"src":"17117:11:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":44186,"nodeType":"ExpressionStatement","src":"17117:11:41"}},"id":44206,"nodeType":"IfStatement","src":"17026:203:41","trueBody":{"expression":{"id":44174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44172,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17056:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3438","id":44173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17065:2:41","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"17056:11:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":44175,"nodeType":"ExpressionStatement","src":"17056:11:41"}}]},{"expression":{"id":44208,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44159,"src":"17257:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":44157,"id":44209,"nodeType":"Return","src":"17250:12:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_tryParseChr","nameLocation":"16754:12:41","parameters":{"id":44154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44153,"mutability":"mutable","name":"chr","nameLocation":"16774:3:41","nodeType":"VariableDeclaration","scope":44211,"src":"16767:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":44152,"name":"bytes1","nodeType":"ElementaryTypeName","src":"16767:6:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"16766:12:41"},"returnParameters":{"id":44157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44211,"src":"16801:5:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44155,"name":"uint8","nodeType":"ElementaryTypeName","src":"16801:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16800:7:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44378,"nodeType":"FunctionDefinition","src":"17856:1414:41","nodes":[],"body":{"id":44377,"nodeType":"Block","src":"17935:1335:41","nodes":[],"statements":[{"assignments":[44220],"declarations":[{"constant":false,"id":44220,"mutability":"mutable","name":"buffer","nameLocation":"17958:6:41","nodeType":"VariableDeclaration","scope":44377,"src":"17945:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":44219,"name":"bytes","nodeType":"ElementaryTypeName","src":"17945:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":44225,"initialValue":{"arguments":[{"id":44223,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44214,"src":"17973:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":44222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17967:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":44221,"name":"bytes","nodeType":"ElementaryTypeName","src":"17967:5:41","typeDescriptions":{}}},"id":44224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17967:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17945:34:41"},{"assignments":[44227],"declarations":[{"constant":false,"id":44227,"mutability":"mutable","name":"output","nameLocation":"18002:6:41","nodeType":"VariableDeclaration","scope":44377,"src":"17989:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":44226,"name":"bytes","nodeType":"ElementaryTypeName","src":"17989:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":44235,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":44230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18021:1:41","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":44231,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44220,"src":"18025:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18032:6:41","memberName":"length","nodeType":"MemberAccess","src":"18025:13:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18021:17:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18011:9:41","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":44228,"name":"bytes","nodeType":"ElementaryTypeName","src":"18015:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":44234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18011:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17989:50:41"},{"assignments":[44237],"declarations":[{"constant":false,"id":44237,"mutability":"mutable","name":"outputLength","nameLocation":"18080:12:41","nodeType":"VariableDeclaration","scope":44377,"src":"18072:20:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44236,"name":"uint256","nodeType":"ElementaryTypeName","src":"18072:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44239,"initialValue":{"hexValue":"30","id":44238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18095:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18072:24:41"},{"body":{"id":44369,"nodeType":"Block","src":"18151:854:41","statements":[{"assignments":[44252],"declarations":[{"constant":false,"id":44252,"mutability":"mutable","name":"char","nameLocation":"18172:4:41","nodeType":"VariableDeclaration","scope":44369,"src":"18165:11:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":44251,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18165:6:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":44260,"initialValue":{"arguments":[{"arguments":[{"id":44256,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44220,"src":"18209:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":44257,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44241,"src":"18217:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44255,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44390,"src":"18186:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":44258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18186:33:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18179:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":44253,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18179:6:41","typeDescriptions":{}}},"id":44259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18179:41:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"18165:55:41"},{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44261,"name":"SPECIAL_CHARS_LOOKUP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42966,"src":"18240:20:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":44262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18264:1:41","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"id":44265,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"18275:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":44264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18269:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":44263,"name":"uint8","nodeType":"ElementaryTypeName","src":"18269:5:41","typeDescriptions":{}}},"id":44266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18269:11:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"18264:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":44268,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18263:18:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18240:41:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":44270,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18239:43:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":44271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18286:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18239:48:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":44273,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18238:50:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44367,"nodeType":"Block","src":"18933:62:41","statements":[{"expression":{"id":44365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44360,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"18951:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44363,"indexExpression":{"id":44362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18958:14:41","subExpression":{"id":44361,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44237,"src":"18958:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18951:22:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44364,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"18976:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"18951:29:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":44366,"nodeType":"ExpressionStatement","src":"18951:29:41"}]},"id":44368,"nodeType":"IfStatement","src":"18234:761:41","trueBody":{"id":44359,"nodeType":"Block","src":"18290:637:41","statements":[{"expression":{"id":44279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44274,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"18308:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44277,"indexExpression":{"id":44276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18315:14:41","subExpression":{"id":44275,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44237,"src":"18315:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18308:22:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"5c","id":44278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18333:4:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_731553fa98541ade8b78284229adfe09a819380dee9244baac20dd1e0aa24095","typeString":"literal_string \"\\\""},"value":"\\"},"src":"18308:29:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":44280,"nodeType":"ExpressionStatement","src":"18308:29:41"},{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":44283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44281,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"18359:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783038","id":44282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18367:4:41","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"0x08"},"src":"18359:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":44293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44291,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"18428:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783039","id":44292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18436:4:41","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"0x09"},"src":"18428:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":44303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44301,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"18497:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783061","id":44302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18505:4:41","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"0x0a"},"src":"18497:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":44313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44311,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"18566:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783063","id":44312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18574:4:41","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"0x0c"},"src":"18566:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":44323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44321,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"18635:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783064","id":44322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18643:4:41","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"0x0d"},"src":"18635:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":44333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44331,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"18704:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783563","id":44332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18712:4:41","typeDescriptions":{"typeIdentifier":"t_rational_92_by_1","typeString":"int_const 92"},"value":"0x5c"},"src":"18704:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":44343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44341,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"18774:4:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783232","id":44342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18782:4:41","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"},"src":"18774:12:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44352,"nodeType":"IfStatement","src":"18770:143:41","trueBody":{"id":44351,"nodeType":"Block","src":"18788:125:41","statements":[{"expression":{"id":44349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44344,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"18866:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44347,"indexExpression":{"id":44346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18873:14:41","subExpression":{"id":44345,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44237,"src":"18873:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18866:22:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"22","id":44348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18891:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},"src":"18866:28:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":44350,"nodeType":"ExpressionStatement","src":"18866:28:41"}]}},"id":44353,"nodeType":"IfStatement","src":"18700:213:41","trueBody":{"expression":{"id":44339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44334,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"18718:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44337,"indexExpression":{"id":44336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18725:14:41","subExpression":{"id":44335,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44237,"src":"18725:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18718:22:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"5c","id":44338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18743:4:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_731553fa98541ade8b78284229adfe09a819380dee9244baac20dd1e0aa24095","typeString":"literal_string \"\\\""},"value":"\\"},"src":"18718:29:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":44340,"nodeType":"ExpressionStatement","src":"18718:29:41"}},"id":44354,"nodeType":"IfStatement","src":"18631:282:41","trueBody":{"expression":{"id":44329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44324,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"18649:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44327,"indexExpression":{"id":44326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18656:14:41","subExpression":{"id":44325,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44237,"src":"18656:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18649:22:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"72","id":44328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18674:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_414f72a4d550cad29f17d9d99a4af64b3776ec5538cd440cef0f03fef2e9e010","typeString":"literal_string \"r\""},"value":"r"},"src":"18649:28:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":44330,"nodeType":"ExpressionStatement","src":"18649:28:41"}},"id":44355,"nodeType":"IfStatement","src":"18562:351:41","trueBody":{"expression":{"id":44319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44314,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"18580:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44317,"indexExpression":{"id":44316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18587:14:41","subExpression":{"id":44315,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44237,"src":"18587:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18580:22:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66","id":44318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18605:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1e8aeb79500496ef3dc2e57ba746a8315d048b7a664a2bf948db4fa91960483","typeString":"literal_string \"f\""},"value":"f"},"src":"18580:28:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":44320,"nodeType":"ExpressionStatement","src":"18580:28:41"}},"id":44356,"nodeType":"IfStatement","src":"18493:420:41","trueBody":{"expression":{"id":44309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44304,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"18511:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44307,"indexExpression":{"id":44306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18518:14:41","subExpression":{"id":44305,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44237,"src":"18518:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18511:22:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"6e","id":44308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18536:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b4ecedb4964a40fe416b16c7bd8b46092040ec42ef0aa69e59f09872f105cf3","typeString":"literal_string \"n\""},"value":"n"},"src":"18511:28:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":44310,"nodeType":"ExpressionStatement","src":"18511:28:41"}},"id":44357,"nodeType":"IfStatement","src":"18424:489:41","trueBody":{"expression":{"id":44299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44294,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"18442:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44297,"indexExpression":{"id":44296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18449:14:41","subExpression":{"id":44295,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44237,"src":"18449:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18442:22:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74","id":44298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18467:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac1bb71f0a97c8ac94ca9546b43178a9ad254c7b757ac07433aa6df35cd8089","typeString":"literal_string \"t\""},"value":"t"},"src":"18442:28:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":44300,"nodeType":"ExpressionStatement","src":"18442:28:41"}},"id":44358,"nodeType":"IfStatement","src":"18355:558:41","trueBody":{"expression":{"id":44289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44284,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"18373:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44287,"indexExpression":{"id":44286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18380:14:41","subExpression":{"id":44285,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44237,"src":"18380:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18373:22:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"62","id":44288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18398:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_b5553de315e0edf504d9150af82dafa5c4667fa618ed0a6f19c69b41166c5510","typeString":"literal_string \"b\""},"value":"b"},"src":"18373:28:41","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":44290,"nodeType":"ExpressionStatement","src":"18373:28:41"}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44244,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44241,"src":"18127:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":44245,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44220,"src":"18131:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18138:6:41","memberName":"length","nodeType":"MemberAccess","src":"18131:13:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18127:17:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44370,"initializationExpression":{"assignments":[44241],"declarations":[{"constant":false,"id":44241,"mutability":"mutable","name":"i","nameLocation":"18120:1:41","nodeType":"VariableDeclaration","scope":44370,"src":"18112:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44240,"name":"uint256","nodeType":"ElementaryTypeName","src":"18112:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44243,"initialValue":{"hexValue":"30","id":44242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18124:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"18112:13:41"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":44249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18146:3:41","subExpression":{"id":44248,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44241,"src":"18148:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44250,"nodeType":"ExpressionStatement","src":"18146:3:41"},"nodeType":"ForStatement","src":"18107:898:41"},{"AST":{"nativeSrc":"19103:129:41","nodeType":"YulBlock","src":"19103:129:41","statements":[{"expression":{"arguments":[{"name":"output","nativeSrc":"19124:6:41","nodeType":"YulIdentifier","src":"19124:6:41"},{"name":"outputLength","nativeSrc":"19132:12:41","nodeType":"YulIdentifier","src":"19132:12:41"}],"functionName":{"name":"mstore","nativeSrc":"19117:6:41","nodeType":"YulIdentifier","src":"19117:6:41"},"nativeSrc":"19117:28:41","nodeType":"YulFunctionCall","src":"19117:28:41"},"nativeSrc":"19117:28:41","nodeType":"YulExpressionStatement","src":"19117:28:41"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19165:4:41","nodeType":"YulLiteral","src":"19165:4:41","type":"","value":"0x40"},{"arguments":[{"name":"output","nativeSrc":"19175:6:41","nodeType":"YulIdentifier","src":"19175:6:41"},{"arguments":[{"kind":"number","nativeSrc":"19187:1:41","nodeType":"YulLiteral","src":"19187:1:41","type":"","value":"5"},{"arguments":[{"kind":"number","nativeSrc":"19194:1:41","nodeType":"YulLiteral","src":"19194:1:41","type":"","value":"5"},{"arguments":[{"name":"outputLength","nativeSrc":"19201:12:41","nodeType":"YulIdentifier","src":"19201:12:41"},{"kind":"number","nativeSrc":"19215:2:41","nodeType":"YulLiteral","src":"19215:2:41","type":"","value":"63"}],"functionName":{"name":"add","nativeSrc":"19197:3:41","nodeType":"YulIdentifier","src":"19197:3:41"},"nativeSrc":"19197:21:41","nodeType":"YulFunctionCall","src":"19197:21:41"}],"functionName":{"name":"shr","nativeSrc":"19190:3:41","nodeType":"YulIdentifier","src":"19190:3:41"},"nativeSrc":"19190:29:41","nodeType":"YulFunctionCall","src":"19190:29:41"}],"functionName":{"name":"shl","nativeSrc":"19183:3:41","nodeType":"YulIdentifier","src":"19183:3:41"},"nativeSrc":"19183:37:41","nodeType":"YulFunctionCall","src":"19183:37:41"}],"functionName":{"name":"add","nativeSrc":"19171:3:41","nodeType":"YulIdentifier","src":"19171:3:41"},"nativeSrc":"19171:50:41","nodeType":"YulFunctionCall","src":"19171:50:41"}],"functionName":{"name":"mstore","nativeSrc":"19158:6:41","nodeType":"YulIdentifier","src":"19158:6:41"},"nativeSrc":"19158:64:41","nodeType":"YulFunctionCall","src":"19158:64:41"},"nativeSrc":"19158:64:41","nodeType":"YulExpressionStatement","src":"19158:64:41"}]},"evmVersion":"prague","externalReferences":[{"declaration":44227,"isOffset":false,"isSlot":false,"src":"19124:6:41","valueSize":1},{"declaration":44227,"isOffset":false,"isSlot":false,"src":"19175:6:41","valueSize":1},{"declaration":44237,"isOffset":false,"isSlot":false,"src":"19132:12:41","valueSize":1},{"declaration":44237,"isOffset":false,"isSlot":false,"src":"19201:12:41","valueSize":1}],"flags":["memory-safe"],"id":44371,"nodeType":"InlineAssembly","src":"19078:154:41"},{"expression":{"arguments":[{"id":44374,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44227,"src":"19256:6:41","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19249:6:41","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":44372,"name":"string","nodeType":"ElementaryTypeName","src":"19249:6:41","typeDescriptions":{}}},"id":44375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19249:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":44218,"id":44376,"nodeType":"Return","src":"19242:21:41"}]},"documentation":{"id":44212,"nodeType":"StructuredDocumentation","src":"17275:576:41","text":" @dev Escape special characters in JSON strings. This can be useful to prevent JSON injection in NFT metadata.\n WARNING: This function should only be used in double quoted JSON strings. Single quotes are not escaped.\n NOTE: This function escapes all unicode characters, and not just the ones in ranges defined in section 2.5 of\n RFC-4627 (U+0000 to U+001F, U+0022 and U+005C). ECMAScript's `JSON.parse` does recover escaped unicode\n characters that are not in this range, but other tooling may provide different results."},"implemented":true,"kind":"function","modifiers":[],"name":"escapeJSON","nameLocation":"17865:10:41","parameters":{"id":44215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44214,"mutability":"mutable","name":"input","nameLocation":"17890:5:41","nodeType":"VariableDeclaration","scope":44378,"src":"17876:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44213,"name":"string","nodeType":"ElementaryTypeName","src":"17876:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17875:21:41"},"returnParameters":{"id":44218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44378,"src":"17920:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44216,"name":"string","nodeType":"ElementaryTypeName","src":"17920:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17919:15:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44390,"nodeType":"FunctionDefinition","src":"19549:331:41","nodes":[],"body":{"id":44389,"nodeType":"Block","src":"19655:225:41","nodes":[],"statements":[{"AST":{"nativeSrc":"19804:70:41","nodeType":"YulBlock","src":"19804:70:41","statements":[{"nativeSrc":"19818:46:41","nodeType":"YulAssignment","src":"19818:46:41","value":{"arguments":[{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"19841:6:41","nodeType":"YulIdentifier","src":"19841:6:41"},{"kind":"number","nativeSrc":"19849:4:41","nodeType":"YulLiteral","src":"19849:4:41","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19837:3:41","nodeType":"YulIdentifier","src":"19837:3:41"},"nativeSrc":"19837:17:41","nodeType":"YulFunctionCall","src":"19837:17:41"},{"name":"offset","nativeSrc":"19856:6:41","nodeType":"YulIdentifier","src":"19856:6:41"}],"functionName":{"name":"add","nativeSrc":"19833:3:41","nodeType":"YulIdentifier","src":"19833:3:41"},"nativeSrc":"19833:30:41","nodeType":"YulFunctionCall","src":"19833:30:41"}],"functionName":{"name":"mload","nativeSrc":"19827:5:41","nodeType":"YulIdentifier","src":"19827:5:41"},"nativeSrc":"19827:37:41","nodeType":"YulFunctionCall","src":"19827:37:41"},"variableNames":[{"name":"value","nativeSrc":"19818:5:41","nodeType":"YulIdentifier","src":"19818:5:41"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":44381,"isOffset":false,"isSlot":false,"src":"19841:6:41","valueSize":1},{"declaration":44383,"isOffset":false,"isSlot":false,"src":"19856:6:41","valueSize":1},{"declaration":44386,"isOffset":false,"isSlot":false,"src":"19818:5:41","valueSize":1}],"flags":["memory-safe"],"id":44388,"nodeType":"InlineAssembly","src":"19779:95:41"}]},"documentation":{"id":44379,"nodeType":"StructuredDocumentation","src":"19276:268:41","text":" @dev Reads a bytes32 from a bytes array without bounds checking.\n NOTE: making this function internal would mean it could be used with memory unsafe offset, and marking the\n assembly block as such would prevent some optimizations."},"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeReadBytesOffset","nameLocation":"19558:22:41","parameters":{"id":44384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44381,"mutability":"mutable","name":"buffer","nameLocation":"19594:6:41","nodeType":"VariableDeclaration","scope":44390,"src":"19581:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":44380,"name":"bytes","nodeType":"ElementaryTypeName","src":"19581:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":44383,"mutability":"mutable","name":"offset","nameLocation":"19610:6:41","nodeType":"VariableDeclaration","scope":44390,"src":"19602:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44382,"name":"uint256","nodeType":"ElementaryTypeName","src":"19602:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19580:37:41"},"returnParameters":{"id":44387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44386,"mutability":"mutable","name":"value","nameLocation":"19648:5:41","nodeType":"VariableDeclaration","scope":44390,"src":"19640:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19640:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19639:15:41"},"scope":44391,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"Strings","contractDependencies":[],"contractKind":"library","documentation":{"id":42922,"nodeType":"StructuredDocumentation","src":"297:34:41","text":" @dev String operations."},"fullyImplemented":true,"linearizedBaseContracts":[44391],"name":"Strings","nameLocation":"340:7:41","scope":44392,"usedErrors":[42973,42976,42979],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"id":42,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol","id":44851,"exportedSymbols":{"ECDSA":[44850]},"nodeType":"SourceUnit","src":"112:11797:42","nodes":[{"id":44393,"nodeType":"PragmaDirective","src":"112:24:42","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":44850,"nodeType":"ContractDefinition","src":"344:11564:42","nodes":[{"id":44399,"nodeType":"EnumDefinition","src":"364:126:42","nodes":[],"canonicalName":"ECDSA.RecoverError","members":[{"id":44395,"name":"NoError","nameLocation":"392:7:42","nodeType":"EnumValue","src":"392:7:42"},{"id":44396,"name":"InvalidSignature","nameLocation":"409:16:42","nodeType":"EnumValue","src":"409:16:42"},{"id":44397,"name":"InvalidSignatureLength","nameLocation":"435:22:42","nodeType":"EnumValue","src":"435:22:42"},{"id":44398,"name":"InvalidSignatureS","nameLocation":"467:17:42","nodeType":"EnumValue","src":"467:17:42"}],"name":"RecoverError","nameLocation":"369:12:42"},{"id":44402,"nodeType":"ErrorDefinition","src":"564:30:42","nodes":[],"documentation":{"id":44400,"nodeType":"StructuredDocumentation","src":"496:63:42","text":" @dev The signature derives the `address(0)`."},"errorSelector":"f645eedf","name":"ECDSAInvalidSignature","nameLocation":"570:21:42","parameters":{"id":44401,"nodeType":"ParameterList","parameters":[],"src":"591:2:42"}},{"id":44407,"nodeType":"ErrorDefinition","src":"665:50:42","nodes":[],"documentation":{"id":44403,"nodeType":"StructuredDocumentation","src":"600:60:42","text":" @dev The signature has an invalid length."},"errorSelector":"fce698f7","name":"ECDSAInvalidSignatureLength","nameLocation":"671:27:42","parameters":{"id":44406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44405,"mutability":"mutable","name":"length","nameLocation":"707:6:42","nodeType":"VariableDeclaration","scope":44407,"src":"699:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44404,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:16:42"}},{"id":44412,"nodeType":"ErrorDefinition","src":"811:40:42","nodes":[],"documentation":{"id":44408,"nodeType":"StructuredDocumentation","src":"721:85:42","text":" @dev The signature has an S value that is in the upper half order."},"errorSelector":"d78bce0c","name":"ECDSAInvalidSignatureS","nameLocation":"817:22:42","parameters":{"id":44411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44410,"mutability":"mutable","name":"s","nameLocation":"848:1:42","nodeType":"VariableDeclaration","scope":44412,"src":"840:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"840:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"839:11:42"}},{"id":44465,"nodeType":"FunctionDefinition","src":"2433:778:42","nodes":[],"body":{"id":44464,"nodeType":"Block","src":"2589:622:42","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":44427,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44417,"src":"2603:9:42","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2613:6:42","memberName":"length","nodeType":"MemberAccess","src":"2603:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":44429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2623:2:42","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"2603:22:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44462,"nodeType":"Block","src":"3097:108:42","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":44451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3127:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":44450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3119:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44449,"name":"address","nodeType":"ElementaryTypeName","src":"3119:7:42","typeDescriptions":{}}},"id":44452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3119:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":44453,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44399,"src":"3131:12:42","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$44399_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":44454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3144:22:42","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":44397,"src":"3131:35:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"expression":{"id":44457,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44417,"src":"3176:9:42","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":44458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3186:6:42","memberName":"length","nodeType":"MemberAccess","src":"3176:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3168:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":44455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3168:7:42","typeDescriptions":{}}},"id":44459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3168:25:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":44460,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3118:76:42","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":44426,"id":44461,"nodeType":"Return","src":"3111:83:42"}]},"id":44463,"nodeType":"IfStatement","src":"2599:606:42","trueBody":{"id":44448,"nodeType":"Block","src":"2627:464:42","statements":[{"assignments":[44432],"declarations":[{"constant":false,"id":44432,"mutability":"mutable","name":"r","nameLocation":"2649:1:42","nodeType":"VariableDeclaration","scope":44448,"src":"2641:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2641:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44433,"nodeType":"VariableDeclarationStatement","src":"2641:9:42"},{"assignments":[44435],"declarations":[{"constant":false,"id":44435,"mutability":"mutable","name":"s","nameLocation":"2672:1:42","nodeType":"VariableDeclaration","scope":44448,"src":"2664:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2664:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44436,"nodeType":"VariableDeclarationStatement","src":"2664:9:42"},{"assignments":[44438],"declarations":[{"constant":false,"id":44438,"mutability":"mutable","name":"v","nameLocation":"2693:1:42","nodeType":"VariableDeclaration","scope":44448,"src":"2687:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44437,"name":"uint8","nodeType":"ElementaryTypeName","src":"2687:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":44439,"nodeType":"VariableDeclarationStatement","src":"2687:7:42"},{"AST":{"nativeSrc":"2864:171:42","nodeType":"YulBlock","src":"2864:171:42","statements":[{"nativeSrc":"2882:32:42","nodeType":"YulAssignment","src":"2882:32:42","value":{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"2897:9:42","nodeType":"YulIdentifier","src":"2897:9:42"},{"kind":"number","nativeSrc":"2908:4:42","nodeType":"YulLiteral","src":"2908:4:42","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2893:3:42","nodeType":"YulIdentifier","src":"2893:3:42"},"nativeSrc":"2893:20:42","nodeType":"YulFunctionCall","src":"2893:20:42"}],"functionName":{"name":"mload","nativeSrc":"2887:5:42","nodeType":"YulIdentifier","src":"2887:5:42"},"nativeSrc":"2887:27:42","nodeType":"YulFunctionCall","src":"2887:27:42"},"variableNames":[{"name":"r","nativeSrc":"2882:1:42","nodeType":"YulIdentifier","src":"2882:1:42"}]},{"nativeSrc":"2931:32:42","nodeType":"YulAssignment","src":"2931:32:42","value":{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"2946:9:42","nodeType":"YulIdentifier","src":"2946:9:42"},{"kind":"number","nativeSrc":"2957:4:42","nodeType":"YulLiteral","src":"2957:4:42","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"2942:3:42","nodeType":"YulIdentifier","src":"2942:3:42"},"nativeSrc":"2942:20:42","nodeType":"YulFunctionCall","src":"2942:20:42"}],"functionName":{"name":"mload","nativeSrc":"2936:5:42","nodeType":"YulIdentifier","src":"2936:5:42"},"nativeSrc":"2936:27:42","nodeType":"YulFunctionCall","src":"2936:27:42"},"variableNames":[{"name":"s","nativeSrc":"2931:1:42","nodeType":"YulIdentifier","src":"2931:1:42"}]},{"nativeSrc":"2980:41:42","nodeType":"YulAssignment","src":"2980:41:42","value":{"arguments":[{"kind":"number","nativeSrc":"2990:1:42","nodeType":"YulLiteral","src":"2990:1:42","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"3003:9:42","nodeType":"YulIdentifier","src":"3003:9:42"},{"kind":"number","nativeSrc":"3014:4:42","nodeType":"YulLiteral","src":"3014:4:42","type":"","value":"0x60"}],"functionName":{"name":"add","nativeSrc":"2999:3:42","nodeType":"YulIdentifier","src":"2999:3:42"},"nativeSrc":"2999:20:42","nodeType":"YulFunctionCall","src":"2999:20:42"}],"functionName":{"name":"mload","nativeSrc":"2993:5:42","nodeType":"YulIdentifier","src":"2993:5:42"},"nativeSrc":"2993:27:42","nodeType":"YulFunctionCall","src":"2993:27:42"}],"functionName":{"name":"byte","nativeSrc":"2985:4:42","nodeType":"YulIdentifier","src":"2985:4:42"},"nativeSrc":"2985:36:42","nodeType":"YulFunctionCall","src":"2985:36:42"},"variableNames":[{"name":"v","nativeSrc":"2980:1:42","nodeType":"YulIdentifier","src":"2980:1:42"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":44432,"isOffset":false,"isSlot":false,"src":"2882:1:42","valueSize":1},{"declaration":44435,"isOffset":false,"isSlot":false,"src":"2931:1:42","valueSize":1},{"declaration":44417,"isOffset":false,"isSlot":false,"src":"2897:9:42","valueSize":1},{"declaration":44417,"isOffset":false,"isSlot":false,"src":"2946:9:42","valueSize":1},{"declaration":44417,"isOffset":false,"isSlot":false,"src":"3003:9:42","valueSize":1},{"declaration":44438,"isOffset":false,"isSlot":false,"src":"2980:1:42","valueSize":1}],"flags":["memory-safe"],"id":44440,"nodeType":"InlineAssembly","src":"2839:196:42"},{"expression":{"arguments":[{"id":44442,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44415,"src":"3066:4:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44443,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44438,"src":"3072:1:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":44444,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44432,"src":"3075:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44445,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44435,"src":"3078:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44441,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[44465,44628,44736],"referencedDeclaration":44736,"src":"3055:10:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":44446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3055:25:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":44426,"id":44447,"nodeType":"Return","src":"3048:32:42"}]}}]},"documentation":{"id":44413,"nodeType":"StructuredDocumentation","src":"857:1571:42","text":" @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n return address(0) without also returning an error description. Errors are documented using an enum (error type)\n and a bytes32 providing additional information about the error.\n If no error is returned, then the address can be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n NOTE: This function only supports 65-byte signatures. ERC-2098 short signatures are rejected. This restriction\n is DEPRECATED and will be removed in v6.0. Developers SHOULD NOT use signatures as unique identifiers; use hash\n invalidation or nonces for replay protection.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]"},"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"2442:10:42","parameters":{"id":44418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44415,"mutability":"mutable","name":"hash","nameLocation":"2470:4:42","nodeType":"VariableDeclaration","scope":44465,"src":"2462:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2462:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44417,"mutability":"mutable","name":"signature","nameLocation":"2497:9:42","nodeType":"VariableDeclaration","scope":44465,"src":"2484:22:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":44416,"name":"bytes","nodeType":"ElementaryTypeName","src":"2484:5:42","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2452:60:42"},"returnParameters":{"id":44426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44420,"mutability":"mutable","name":"recovered","nameLocation":"2544:9:42","nodeType":"VariableDeclaration","scope":44465,"src":"2536:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44419,"name":"address","nodeType":"ElementaryTypeName","src":"2536:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44423,"mutability":"mutable","name":"err","nameLocation":"2568:3:42","nodeType":"VariableDeclaration","scope":44465,"src":"2555:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":44422,"nodeType":"UserDefinedTypeName","pathNode":{"id":44421,"name":"RecoverError","nameLocations":["2555:12:42"],"nodeType":"IdentifierPath","referencedDeclaration":44399,"src":"2555:12:42"},"referencedDeclaration":44399,"src":"2555:12:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":44425,"mutability":"mutable","name":"errArg","nameLocation":"2581:6:42","nodeType":"VariableDeclaration","scope":44465,"src":"2573:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2573:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2535:53:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44518,"nodeType":"FunctionDefinition","src":"3304:882:42","nodes":[],"body":{"id":44517,"nodeType":"Block","src":"3470:716:42","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":44480,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44470,"src":"3484:9:42","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":44481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3494:6:42","memberName":"length","nodeType":"MemberAccess","src":"3484:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":44482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3504:2:42","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"3484:22:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44515,"nodeType":"Block","src":"4072:108:42","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":44504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4102:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":44503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4094:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44502,"name":"address","nodeType":"ElementaryTypeName","src":"4094:7:42","typeDescriptions":{}}},"id":44505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4094:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":44506,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44399,"src":"4106:12:42","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$44399_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":44507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4119:22:42","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":44397,"src":"4106:35:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"expression":{"id":44510,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44470,"src":"4151:9:42","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":44511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4161:6:42","memberName":"length","nodeType":"MemberAccess","src":"4151:16:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4143:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":44508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4143:7:42","typeDescriptions":{}}},"id":44512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4143:25:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":44513,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4093:76:42","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":44479,"id":44514,"nodeType":"Return","src":"4086:83:42"}]},"id":44516,"nodeType":"IfStatement","src":"3480:700:42","trueBody":{"id":44501,"nodeType":"Block","src":"3508:558:42","statements":[{"assignments":[44485],"declarations":[{"constant":false,"id":44485,"mutability":"mutable","name":"r","nameLocation":"3530:1:42","nodeType":"VariableDeclaration","scope":44501,"src":"3522:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3522:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44486,"nodeType":"VariableDeclarationStatement","src":"3522:9:42"},{"assignments":[44488],"declarations":[{"constant":false,"id":44488,"mutability":"mutable","name":"s","nameLocation":"3553:1:42","nodeType":"VariableDeclaration","scope":44501,"src":"3545:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3545:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44489,"nodeType":"VariableDeclarationStatement","src":"3545:9:42"},{"assignments":[44491],"declarations":[{"constant":false,"id":44491,"mutability":"mutable","name":"v","nameLocation":"3574:1:42","nodeType":"VariableDeclaration","scope":44501,"src":"3568:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44490,"name":"uint8","nodeType":"ElementaryTypeName","src":"3568:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":44492,"nodeType":"VariableDeclarationStatement","src":"3568:7:42"},{"AST":{"nativeSrc":"3808:202:42","nodeType":"YulBlock","src":"3808:202:42","statements":[{"nativeSrc":"3826:35:42","nodeType":"YulAssignment","src":"3826:35:42","value":{"arguments":[{"name":"signature.offset","nativeSrc":"3844:16:42","nodeType":"YulIdentifier","src":"3844:16:42"}],"functionName":{"name":"calldataload","nativeSrc":"3831:12:42","nodeType":"YulIdentifier","src":"3831:12:42"},"nativeSrc":"3831:30:42","nodeType":"YulFunctionCall","src":"3831:30:42"},"variableNames":[{"name":"r","nativeSrc":"3826:1:42","nodeType":"YulIdentifier","src":"3826:1:42"}]},{"nativeSrc":"3878:46:42","nodeType":"YulAssignment","src":"3878:46:42","value":{"arguments":[{"arguments":[{"name":"signature.offset","nativeSrc":"3900:16:42","nodeType":"YulIdentifier","src":"3900:16:42"},{"kind":"number","nativeSrc":"3918:4:42","nodeType":"YulLiteral","src":"3918:4:42","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3896:3:42","nodeType":"YulIdentifier","src":"3896:3:42"},"nativeSrc":"3896:27:42","nodeType":"YulFunctionCall","src":"3896:27:42"}],"functionName":{"name":"calldataload","nativeSrc":"3883:12:42","nodeType":"YulIdentifier","src":"3883:12:42"},"nativeSrc":"3883:41:42","nodeType":"YulFunctionCall","src":"3883:41:42"},"variableNames":[{"name":"s","nativeSrc":"3878:1:42","nodeType":"YulIdentifier","src":"3878:1:42"}]},{"nativeSrc":"3941:55:42","nodeType":"YulAssignment","src":"3941:55:42","value":{"arguments":[{"kind":"number","nativeSrc":"3951:1:42","nodeType":"YulLiteral","src":"3951:1:42","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature.offset","nativeSrc":"3971:16:42","nodeType":"YulIdentifier","src":"3971:16:42"},{"kind":"number","nativeSrc":"3989:4:42","nodeType":"YulLiteral","src":"3989:4:42","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3967:3:42","nodeType":"YulIdentifier","src":"3967:3:42"},"nativeSrc":"3967:27:42","nodeType":"YulFunctionCall","src":"3967:27:42"}],"functionName":{"name":"calldataload","nativeSrc":"3954:12:42","nodeType":"YulIdentifier","src":"3954:12:42"},"nativeSrc":"3954:41:42","nodeType":"YulFunctionCall","src":"3954:41:42"}],"functionName":{"name":"byte","nativeSrc":"3946:4:42","nodeType":"YulIdentifier","src":"3946:4:42"},"nativeSrc":"3946:50:42","nodeType":"YulFunctionCall","src":"3946:50:42"},"variableNames":[{"name":"v","nativeSrc":"3941:1:42","nodeType":"YulIdentifier","src":"3941:1:42"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":44485,"isOffset":false,"isSlot":false,"src":"3826:1:42","valueSize":1},{"declaration":44488,"isOffset":false,"isSlot":false,"src":"3878:1:42","valueSize":1},{"declaration":44470,"isOffset":true,"isSlot":false,"src":"3844:16:42","suffix":"offset","valueSize":1},{"declaration":44470,"isOffset":true,"isSlot":false,"src":"3900:16:42","suffix":"offset","valueSize":1},{"declaration":44470,"isOffset":true,"isSlot":false,"src":"3971:16:42","suffix":"offset","valueSize":1},{"declaration":44491,"isOffset":false,"isSlot":false,"src":"3941:1:42","valueSize":1}],"flags":["memory-safe"],"id":44493,"nodeType":"InlineAssembly","src":"3783:227:42"},{"expression":{"arguments":[{"id":44495,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44468,"src":"4041:4:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44496,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44491,"src":"4047:1:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":44497,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44485,"src":"4050:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44498,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44488,"src":"4053:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44494,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[44465,44628,44736],"referencedDeclaration":44736,"src":"4030:10:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":44499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4030:25:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":44479,"id":44500,"nodeType":"Return","src":"4023:32:42"}]}}]},"documentation":{"id":44466,"nodeType":"StructuredDocumentation","src":"3217:82:42","text":" @dev Variant of {tryRecover} that takes a signature in calldata"},"implemented":true,"kind":"function","modifiers":[],"name":"tryRecoverCalldata","nameLocation":"3313:18:42","parameters":{"id":44471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44468,"mutability":"mutable","name":"hash","nameLocation":"3349:4:42","nodeType":"VariableDeclaration","scope":44518,"src":"3341:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3341:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44470,"mutability":"mutable","name":"signature","nameLocation":"3378:9:42","nodeType":"VariableDeclaration","scope":44518,"src":"3363:24:42","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":44469,"name":"bytes","nodeType":"ElementaryTypeName","src":"3363:5:42","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3331:62:42"},"returnParameters":{"id":44479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44473,"mutability":"mutable","name":"recovered","nameLocation":"3425:9:42","nodeType":"VariableDeclaration","scope":44518,"src":"3417:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44472,"name":"address","nodeType":"ElementaryTypeName","src":"3417:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44476,"mutability":"mutable","name":"err","nameLocation":"3449:3:42","nodeType":"VariableDeclaration","scope":44518,"src":"3436:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":44475,"nodeType":"UserDefinedTypeName","pathNode":{"id":44474,"name":"RecoverError","nameLocations":["3436:12:42"],"nodeType":"IdentifierPath","referencedDeclaration":44399,"src":"3436:12:42"},"referencedDeclaration":44399,"src":"3436:12:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":44478,"mutability":"mutable","name":"errArg","nameLocation":"3462:6:42","nodeType":"VariableDeclaration","scope":44518,"src":"3454:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3454:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3416:53:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44548,"nodeType":"FunctionDefinition","src":"5290:255:42","nodes":[],"body":{"id":44547,"nodeType":"Block","src":"5377:168:42","nodes":[],"statements":[{"assignments":[44529,44532,44534],"declarations":[{"constant":false,"id":44529,"mutability":"mutable","name":"recovered","nameLocation":"5396:9:42","nodeType":"VariableDeclaration","scope":44547,"src":"5388:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44528,"name":"address","nodeType":"ElementaryTypeName","src":"5388:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44532,"mutability":"mutable","name":"error","nameLocation":"5420:5:42","nodeType":"VariableDeclaration","scope":44547,"src":"5407:18:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":44531,"nodeType":"UserDefinedTypeName","pathNode":{"id":44530,"name":"RecoverError","nameLocations":["5407:12:42"],"nodeType":"IdentifierPath","referencedDeclaration":44399,"src":"5407:12:42"},"referencedDeclaration":44399,"src":"5407:12:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":44534,"mutability":"mutable","name":"errorArg","nameLocation":"5435:8:42","nodeType":"VariableDeclaration","scope":44547,"src":"5427:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5427:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44539,"initialValue":{"arguments":[{"id":44536,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44521,"src":"5458:4:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44537,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44523,"src":"5464:9:42","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44535,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[44465,44628,44736],"referencedDeclaration":44465,"src":"5447:10:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":44538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5447:27:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"5387:87:42"},{"expression":{"arguments":[{"id":44541,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44532,"src":"5496:5:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},{"id":44542,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44534,"src":"5503:8:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44540,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44849,"src":"5484:11:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$44399_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":44543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5484:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44544,"nodeType":"ExpressionStatement","src":"5484:28:42"},{"expression":{"id":44545,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44529,"src":"5529:9:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":44527,"id":44546,"nodeType":"Return","src":"5522:16:42"}]},"documentation":{"id":44519,"nodeType":"StructuredDocumentation","src":"4192:1093:42","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n NOTE: This function only supports 65-byte signatures. ERC-2098 short signatures are rejected. This restriction\n is DEPRECATED and will be removed in v6.0. Developers SHOULD NOT use signatures as unique identifiers; use hash\n invalidation or nonces for replay protection.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it."},"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"5299:7:42","parameters":{"id":44524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44521,"mutability":"mutable","name":"hash","nameLocation":"5315:4:42","nodeType":"VariableDeclaration","scope":44548,"src":"5307:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44520,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5307:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44523,"mutability":"mutable","name":"signature","nameLocation":"5334:9:42","nodeType":"VariableDeclaration","scope":44548,"src":"5321:22:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":44522,"name":"bytes","nodeType":"ElementaryTypeName","src":"5321:5:42","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5306:38:42"},"returnParameters":{"id":44527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44526,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44548,"src":"5368:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44525,"name":"address","nodeType":"ElementaryTypeName","src":"5368:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5367:9:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44578,"nodeType":"FunctionDefinition","src":"5635:273:42","nodes":[],"body":{"id":44577,"nodeType":"Block","src":"5732:176:42","nodes":[],"statements":[{"assignments":[44559,44562,44564],"declarations":[{"constant":false,"id":44559,"mutability":"mutable","name":"recovered","nameLocation":"5751:9:42","nodeType":"VariableDeclaration","scope":44577,"src":"5743:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44558,"name":"address","nodeType":"ElementaryTypeName","src":"5743:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44562,"mutability":"mutable","name":"error","nameLocation":"5775:5:42","nodeType":"VariableDeclaration","scope":44577,"src":"5762:18:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":44561,"nodeType":"UserDefinedTypeName","pathNode":{"id":44560,"name":"RecoverError","nameLocations":["5762:12:42"],"nodeType":"IdentifierPath","referencedDeclaration":44399,"src":"5762:12:42"},"referencedDeclaration":44399,"src":"5762:12:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":44564,"mutability":"mutable","name":"errorArg","nameLocation":"5790:8:42","nodeType":"VariableDeclaration","scope":44577,"src":"5782:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5782:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44569,"initialValue":{"arguments":[{"id":44566,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44551,"src":"5821:4:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44567,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44553,"src":"5827:9:42","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":44565,"name":"tryRecoverCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44518,"src":"5802:18:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_calldata_ptr_$returns$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"function (bytes32,bytes calldata) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":44568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5802:35:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"5742:95:42"},{"expression":{"arguments":[{"id":44571,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44562,"src":"5859:5:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},{"id":44572,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44564,"src":"5866:8:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44570,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44849,"src":"5847:11:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$44399_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":44573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5847:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44574,"nodeType":"ExpressionStatement","src":"5847:28:42"},{"expression":{"id":44575,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44559,"src":"5892:9:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":44557,"id":44576,"nodeType":"Return","src":"5885:16:42"}]},"documentation":{"id":44549,"nodeType":"StructuredDocumentation","src":"5551:79:42","text":" @dev Variant of {recover} that takes a signature in calldata"},"implemented":true,"kind":"function","modifiers":[],"name":"recoverCalldata","nameLocation":"5644:15:42","parameters":{"id":44554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44551,"mutability":"mutable","name":"hash","nameLocation":"5668:4:42","nodeType":"VariableDeclaration","scope":44578,"src":"5660:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5660:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44553,"mutability":"mutable","name":"signature","nameLocation":"5689:9:42","nodeType":"VariableDeclaration","scope":44578,"src":"5674:24:42","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":44552,"name":"bytes","nodeType":"ElementaryTypeName","src":"5674:5:42","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5659:40:42"},"returnParameters":{"id":44557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44578,"src":"5723:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44555,"name":"address","nodeType":"ElementaryTypeName","src":"5723:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5722:9:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44628,"nodeType":"FunctionDefinition","src":"6124:505:42","nodes":[],"body":{"id":44627,"nodeType":"Block","src":"6287:342:42","nodes":[],"statements":[{"id":44626,"nodeType":"UncheckedBlock","src":"6297:326:42","statements":[{"assignments":[44596],"declarations":[{"constant":false,"id":44596,"mutability":"mutable","name":"s","nameLocation":"6329:1:42","nodeType":"VariableDeclaration","scope":44626,"src":"6321:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6321:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44603,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":44602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44597,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44585,"src":"6333:2:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"hexValue":"307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666","id":44600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6346:66:42","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"},"value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"}],"id":44599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6338:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":44598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6338:7:42","typeDescriptions":{}}},"id":44601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6338:75:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6333:80:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6321:92:42"},{"assignments":[44605],"declarations":[{"constant":false,"id":44605,"mutability":"mutable","name":"v","nameLocation":"6530:1:42","nodeType":"VariableDeclaration","scope":44626,"src":"6524:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44604,"name":"uint8","nodeType":"ElementaryTypeName","src":"6524:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":44618,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":44610,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44585,"src":"6549:2:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6541:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":44608,"name":"uint256","nodeType":"ElementaryTypeName","src":"6541:7:42","typeDescriptions":{}}},"id":44611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6541:11:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":44612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6556:3:42","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"6541:18:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":44614,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6540:20:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3237","id":44615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6563:2:42","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"6540:25:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6534:5:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":44606,"name":"uint8","nodeType":"ElementaryTypeName","src":"6534:5:42","typeDescriptions":{}}},"id":44617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6534:32:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"6524:42:42"},{"expression":{"arguments":[{"id":44620,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44581,"src":"6598:4:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44621,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44605,"src":"6604:1:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":44622,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44583,"src":"6607:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44623,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44596,"src":"6610:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44619,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[44465,44628,44736],"referencedDeclaration":44736,"src":"6587:10:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":44624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6587:25:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":44594,"id":44625,"nodeType":"Return","src":"6580:32:42"}]}]},"documentation":{"id":44579,"nodeType":"StructuredDocumentation","src":"5914:205:42","text":" @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]"},"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"6133:10:42","parameters":{"id":44586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44581,"mutability":"mutable","name":"hash","nameLocation":"6161:4:42","nodeType":"VariableDeclaration","scope":44628,"src":"6153:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6153:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44583,"mutability":"mutable","name":"r","nameLocation":"6183:1:42","nodeType":"VariableDeclaration","scope":44628,"src":"6175:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44582,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6175:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44585,"mutability":"mutable","name":"vs","nameLocation":"6202:2:42","nodeType":"VariableDeclaration","scope":44628,"src":"6194:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6194:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6143:67:42"},"returnParameters":{"id":44594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44588,"mutability":"mutable","name":"recovered","nameLocation":"6242:9:42","nodeType":"VariableDeclaration","scope":44628,"src":"6234:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44587,"name":"address","nodeType":"ElementaryTypeName","src":"6234:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44591,"mutability":"mutable","name":"err","nameLocation":"6266:3:42","nodeType":"VariableDeclaration","scope":44628,"src":"6253:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":44590,"nodeType":"UserDefinedTypeName","pathNode":{"id":44589,"name":"RecoverError","nameLocations":["6253:12:42"],"nodeType":"IdentifierPath","referencedDeclaration":44399,"src":"6253:12:42"},"referencedDeclaration":44399,"src":"6253:12:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":44593,"mutability":"mutable","name":"errArg","nameLocation":"6279:6:42","nodeType":"VariableDeclaration","scope":44628,"src":"6271:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6271:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6233:53:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44661,"nodeType":"FunctionDefinition","src":"6756:250:42","nodes":[],"body":{"id":44660,"nodeType":"Block","src":"6842:164:42","nodes":[],"statements":[{"assignments":[44641,44644,44646],"declarations":[{"constant":false,"id":44641,"mutability":"mutable","name":"recovered","nameLocation":"6861:9:42","nodeType":"VariableDeclaration","scope":44660,"src":"6853:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44640,"name":"address","nodeType":"ElementaryTypeName","src":"6853:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44644,"mutability":"mutable","name":"error","nameLocation":"6885:5:42","nodeType":"VariableDeclaration","scope":44660,"src":"6872:18:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":44643,"nodeType":"UserDefinedTypeName","pathNode":{"id":44642,"name":"RecoverError","nameLocations":["6872:12:42"],"nodeType":"IdentifierPath","referencedDeclaration":44399,"src":"6872:12:42"},"referencedDeclaration":44399,"src":"6872:12:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":44646,"mutability":"mutable","name":"errorArg","nameLocation":"6900:8:42","nodeType":"VariableDeclaration","scope":44660,"src":"6892:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6892:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44652,"initialValue":{"arguments":[{"id":44648,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44631,"src":"6923:4:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44649,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44633,"src":"6929:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44650,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44635,"src":"6932:2:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44647,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[44465,44628,44736],"referencedDeclaration":44628,"src":"6912:10:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":44651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6912:23:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"6852:83:42"},{"expression":{"arguments":[{"id":44654,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44644,"src":"6957:5:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},{"id":44655,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44646,"src":"6964:8:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44653,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44849,"src":"6945:11:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$44399_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":44656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6945:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44657,"nodeType":"ExpressionStatement","src":"6945:28:42"},{"expression":{"id":44658,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44641,"src":"6990:9:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":44639,"id":44659,"nodeType":"Return","src":"6983:16:42"}]},"documentation":{"id":44629,"nodeType":"StructuredDocumentation","src":"6635:116:42","text":" @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately."},"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"6765:7:42","parameters":{"id":44636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44631,"mutability":"mutable","name":"hash","nameLocation":"6781:4:42","nodeType":"VariableDeclaration","scope":44661,"src":"6773:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6773:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44633,"mutability":"mutable","name":"r","nameLocation":"6795:1:42","nodeType":"VariableDeclaration","scope":44661,"src":"6787:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6787:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44635,"mutability":"mutable","name":"vs","nameLocation":"6806:2:42","nodeType":"VariableDeclaration","scope":44661,"src":"6798:10:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6798:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6772:37:42"},"returnParameters":{"id":44639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44638,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44661,"src":"6833:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44637,"name":"address","nodeType":"ElementaryTypeName","src":"6833:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6832:9:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44736,"nodeType":"FunctionDefinition","src":"7142:1551:42","nodes":[],"body":{"id":44735,"nodeType":"Block","src":"7321:1372:42","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":44682,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44670,"src":"8217:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8209:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":44680,"name":"uint256","nodeType":"ElementaryTypeName","src":"8209:7:42","typeDescriptions":{}}},"id":44683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8209:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130","id":44684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8222:66:42","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1","typeString":"int_const 5789...(69 digits omitted)...7168"},"value":"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0"},"src":"8209:79:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44696,"nodeType":"IfStatement","src":"8205:164:42","trueBody":{"id":44695,"nodeType":"Block","src":"8290:79:42","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":44688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8320:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":44687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8312:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44686,"name":"address","nodeType":"ElementaryTypeName","src":"8312:7:42","typeDescriptions":{}}},"id":44689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8312:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":44690,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44399,"src":"8324:12:42","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$44399_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":44691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8337:17:42","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":44398,"src":"8324:30:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},{"id":44692,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44670,"src":"8356:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":44693,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8311:47:42","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":44679,"id":44694,"nodeType":"Return","src":"8304:54:42"}]}},{"assignments":[44698],"declarations":[{"constant":false,"id":44698,"mutability":"mutable","name":"signer","nameLocation":"8471:6:42","nodeType":"VariableDeclaration","scope":44735,"src":"8463:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44697,"name":"address","nodeType":"ElementaryTypeName","src":"8463:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":44705,"initialValue":{"arguments":[{"id":44700,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44664,"src":"8490:4:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44701,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44666,"src":"8496:1:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":44702,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44668,"src":"8499:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44703,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44670,"src":"8502:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44699,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"8480:9:42","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":44704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8480:24:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"8463:41:42"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":44711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44706,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44698,"src":"8518:6:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":44709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8536:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":44708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8528:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44707,"name":"address","nodeType":"ElementaryTypeName","src":"8528:7:42","typeDescriptions":{}}},"id":44710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8528:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8518:20:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44725,"nodeType":"IfStatement","src":"8514:113:42","trueBody":{"id":44724,"nodeType":"Block","src":"8540:87:42","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":44714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8570:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":44713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8562:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44712,"name":"address","nodeType":"ElementaryTypeName","src":"8562:7:42","typeDescriptions":{}}},"id":44715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8562:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":44716,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44399,"src":"8574:12:42","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$44399_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":44717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8587:16:42","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":44396,"src":"8574:29:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":44720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8613:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":44719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8605:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":44718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8605:7:42","typeDescriptions":{}}},"id":44721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8605:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":44722,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8561:55:42","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":44679,"id":44723,"nodeType":"Return","src":"8554:62:42"}]}},{"expression":{"components":[{"id":44726,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44698,"src":"8645:6:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":44727,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44399,"src":"8653:12:42","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$44399_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":44728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8666:7:42","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":44395,"src":"8653:20:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},{"arguments":[{"hexValue":"30","id":44731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8683:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":44730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8675:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":44729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8675:7:42","typeDescriptions":{}}},"id":44732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8675:10:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":44733,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8644:42:42","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"functionReturnParameters":44679,"id":44734,"nodeType":"Return","src":"8637:49:42"}]},"documentation":{"id":44662,"nodeType":"StructuredDocumentation","src":"7012:125:42","text":" @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately."},"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"7151:10:42","parameters":{"id":44671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44664,"mutability":"mutable","name":"hash","nameLocation":"7179:4:42","nodeType":"VariableDeclaration","scope":44736,"src":"7171:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7171:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44666,"mutability":"mutable","name":"v","nameLocation":"7199:1:42","nodeType":"VariableDeclaration","scope":44736,"src":"7193:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44665,"name":"uint8","nodeType":"ElementaryTypeName","src":"7193:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":44668,"mutability":"mutable","name":"r","nameLocation":"7218:1:42","nodeType":"VariableDeclaration","scope":44736,"src":"7210:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7210:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44670,"mutability":"mutable","name":"s","nameLocation":"7237:1:42","nodeType":"VariableDeclaration","scope":44736,"src":"7229:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7229:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7161:83:42"},"returnParameters":{"id":44679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44673,"mutability":"mutable","name":"recovered","nameLocation":"7276:9:42","nodeType":"VariableDeclaration","scope":44736,"src":"7268:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44672,"name":"address","nodeType":"ElementaryTypeName","src":"7268:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44676,"mutability":"mutable","name":"err","nameLocation":"7300:3:42","nodeType":"VariableDeclaration","scope":44736,"src":"7287:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":44675,"nodeType":"UserDefinedTypeName","pathNode":{"id":44674,"name":"RecoverError","nameLocations":["7287:12:42"],"nodeType":"IdentifierPath","referencedDeclaration":44399,"src":"7287:12:42"},"referencedDeclaration":44399,"src":"7287:12:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":44678,"mutability":"mutable","name":"errArg","nameLocation":"7313:6:42","nodeType":"VariableDeclaration","scope":44736,"src":"7305:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7305:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7267:53:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44772,"nodeType":"FunctionDefinition","src":"8826:260:42","nodes":[],"body":{"id":44771,"nodeType":"Block","src":"8920:166:42","nodes":[],"statements":[{"assignments":[44751,44754,44756],"declarations":[{"constant":false,"id":44751,"mutability":"mutable","name":"recovered","nameLocation":"8939:9:42","nodeType":"VariableDeclaration","scope":44771,"src":"8931:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44750,"name":"address","nodeType":"ElementaryTypeName","src":"8931:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44754,"mutability":"mutable","name":"error","nameLocation":"8963:5:42","nodeType":"VariableDeclaration","scope":44771,"src":"8950:18:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":44753,"nodeType":"UserDefinedTypeName","pathNode":{"id":44752,"name":"RecoverError","nameLocations":["8950:12:42"],"nodeType":"IdentifierPath","referencedDeclaration":44399,"src":"8950:12:42"},"referencedDeclaration":44399,"src":"8950:12:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":44756,"mutability":"mutable","name":"errorArg","nameLocation":"8978:8:42","nodeType":"VariableDeclaration","scope":44771,"src":"8970:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8970:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44763,"initialValue":{"arguments":[{"id":44758,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44739,"src":"9001:4:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44759,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44741,"src":"9007:1:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":44760,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44743,"src":"9010:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44761,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44745,"src":"9013:1:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44757,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[44465,44628,44736],"referencedDeclaration":44736,"src":"8990:10:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError,bytes32)"}},"id":44762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8990:25:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$44399_$_t_bytes32_$","typeString":"tuple(address,enum ECDSA.RecoverError,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"8930:85:42"},{"expression":{"arguments":[{"id":44765,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44754,"src":"9037:5:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},{"id":44766,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44756,"src":"9044:8:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44764,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44849,"src":"9025:11:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$44399_$_t_bytes32_$returns$__$","typeString":"function (enum ECDSA.RecoverError,bytes32) pure"}},"id":44767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9025:28:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44768,"nodeType":"ExpressionStatement","src":"9025:28:42"},{"expression":{"id":44769,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44751,"src":"9070:9:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":44749,"id":44770,"nodeType":"Return","src":"9063:16:42"}]},"documentation":{"id":44737,"nodeType":"StructuredDocumentation","src":"8699:122:42","text":" @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately."},"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"8835:7:42","parameters":{"id":44746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44739,"mutability":"mutable","name":"hash","nameLocation":"8851:4:42","nodeType":"VariableDeclaration","scope":44772,"src":"8843:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8843:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44741,"mutability":"mutable","name":"v","nameLocation":"8863:1:42","nodeType":"VariableDeclaration","scope":44772,"src":"8857:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44740,"name":"uint8","nodeType":"ElementaryTypeName","src":"8857:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":44743,"mutability":"mutable","name":"r","nameLocation":"8874:1:42","nodeType":"VariableDeclaration","scope":44772,"src":"8866:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8866:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44745,"mutability":"mutable","name":"s","nameLocation":"8885:1:42","nodeType":"VariableDeclaration","scope":44772,"src":"8877:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8877:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8842:45:42"},"returnParameters":{"id":44749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44772,"src":"8911:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44747,"name":"address","nodeType":"ElementaryTypeName","src":"8911:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8910:9:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44786,"nodeType":"FunctionDefinition","src":"9323:886:42","nodes":[],"body":{"id":44785,"nodeType":"Block","src":"9416:793:42","nodes":[],"statements":[{"AST":{"nativeSrc":"9451:752:42","nodeType":"YulBlock","src":"9451:752:42","statements":[{"cases":[{"body":{"nativeSrc":"9604:171:42","nodeType":"YulBlock","src":"9604:171:42","statements":[{"nativeSrc":"9622:32:42","nodeType":"YulAssignment","src":"9622:32:42","value":{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"9637:9:42","nodeType":"YulIdentifier","src":"9637:9:42"},{"kind":"number","nativeSrc":"9648:4:42","nodeType":"YulLiteral","src":"9648:4:42","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"9633:3:42","nodeType":"YulIdentifier","src":"9633:3:42"},"nativeSrc":"9633:20:42","nodeType":"YulFunctionCall","src":"9633:20:42"}],"functionName":{"name":"mload","nativeSrc":"9627:5:42","nodeType":"YulIdentifier","src":"9627:5:42"},"nativeSrc":"9627:27:42","nodeType":"YulFunctionCall","src":"9627:27:42"},"variableNames":[{"name":"r","nativeSrc":"9622:1:42","nodeType":"YulIdentifier","src":"9622:1:42"}]},{"nativeSrc":"9671:32:42","nodeType":"YulAssignment","src":"9671:32:42","value":{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"9686:9:42","nodeType":"YulIdentifier","src":"9686:9:42"},{"kind":"number","nativeSrc":"9697:4:42","nodeType":"YulLiteral","src":"9697:4:42","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"9682:3:42","nodeType":"YulIdentifier","src":"9682:3:42"},"nativeSrc":"9682:20:42","nodeType":"YulFunctionCall","src":"9682:20:42"}],"functionName":{"name":"mload","nativeSrc":"9676:5:42","nodeType":"YulIdentifier","src":"9676:5:42"},"nativeSrc":"9676:27:42","nodeType":"YulFunctionCall","src":"9676:27:42"},"variableNames":[{"name":"s","nativeSrc":"9671:1:42","nodeType":"YulIdentifier","src":"9671:1:42"}]},{"nativeSrc":"9720:41:42","nodeType":"YulAssignment","src":"9720:41:42","value":{"arguments":[{"kind":"number","nativeSrc":"9730:1:42","nodeType":"YulLiteral","src":"9730:1:42","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"9743:9:42","nodeType":"YulIdentifier","src":"9743:9:42"},{"kind":"number","nativeSrc":"9754:4:42","nodeType":"YulLiteral","src":"9754:4:42","type":"","value":"0x60"}],"functionName":{"name":"add","nativeSrc":"9739:3:42","nodeType":"YulIdentifier","src":"9739:3:42"},"nativeSrc":"9739:20:42","nodeType":"YulFunctionCall","src":"9739:20:42"}],"functionName":{"name":"mload","nativeSrc":"9733:5:42","nodeType":"YulIdentifier","src":"9733:5:42"},"nativeSrc":"9733:27:42","nodeType":"YulFunctionCall","src":"9733:27:42"}],"functionName":{"name":"byte","nativeSrc":"9725:4:42","nodeType":"YulIdentifier","src":"9725:4:42"},"nativeSrc":"9725:36:42","nodeType":"YulFunctionCall","src":"9725:36:42"},"variableNames":[{"name":"v","nativeSrc":"9720:1:42","nodeType":"YulIdentifier","src":"9720:1:42"}]}]},"nativeSrc":"9596:179:42","nodeType":"YulCase","src":"9596:179:42","value":{"kind":"number","nativeSrc":"9601:2:42","nodeType":"YulLiteral","src":"9601:2:42","type":"","value":"65"}},{"body":{"nativeSrc":"9882:206:42","nodeType":"YulBlock","src":"9882:206:42","statements":[{"nativeSrc":"9900:37:42","nodeType":"YulVariableDeclaration","src":"9900:37:42","value":{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"9920:9:42","nodeType":"YulIdentifier","src":"9920:9:42"},{"kind":"number","nativeSrc":"9931:4:42","nodeType":"YulLiteral","src":"9931:4:42","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"9916:3:42","nodeType":"YulIdentifier","src":"9916:3:42"},"nativeSrc":"9916:20:42","nodeType":"YulFunctionCall","src":"9916:20:42"}],"functionName":{"name":"mload","nativeSrc":"9910:5:42","nodeType":"YulIdentifier","src":"9910:5:42"},"nativeSrc":"9910:27:42","nodeType":"YulFunctionCall","src":"9910:27:42"},"variables":[{"name":"vs","nativeSrc":"9904:2:42","nodeType":"YulTypedName","src":"9904:2:42","type":""}]},{"nativeSrc":"9954:32:42","nodeType":"YulAssignment","src":"9954:32:42","value":{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"9969:9:42","nodeType":"YulIdentifier","src":"9969:9:42"},{"kind":"number","nativeSrc":"9980:4:42","nodeType":"YulLiteral","src":"9980:4:42","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"9965:3:42","nodeType":"YulIdentifier","src":"9965:3:42"},"nativeSrc":"9965:20:42","nodeType":"YulFunctionCall","src":"9965:20:42"}],"functionName":{"name":"mload","nativeSrc":"9959:5:42","nodeType":"YulIdentifier","src":"9959:5:42"},"nativeSrc":"9959:27:42","nodeType":"YulFunctionCall","src":"9959:27:42"},"variableNames":[{"name":"r","nativeSrc":"9954:1:42","nodeType":"YulIdentifier","src":"9954:1:42"}]},{"nativeSrc":"10003:28:42","nodeType":"YulAssignment","src":"10003:28:42","value":{"arguments":[{"name":"vs","nativeSrc":"10012:2:42","nodeType":"YulIdentifier","src":"10012:2:42"},{"arguments":[{"kind":"number","nativeSrc":"10020:1:42","nodeType":"YulLiteral","src":"10020:1:42","type":"","value":"1"},{"arguments":[{"kind":"number","nativeSrc":"10027:1:42","nodeType":"YulLiteral","src":"10027:1:42","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"10023:3:42","nodeType":"YulIdentifier","src":"10023:3:42"},"nativeSrc":"10023:6:42","nodeType":"YulFunctionCall","src":"10023:6:42"}],"functionName":{"name":"shr","nativeSrc":"10016:3:42","nodeType":"YulIdentifier","src":"10016:3:42"},"nativeSrc":"10016:14:42","nodeType":"YulFunctionCall","src":"10016:14:42"}],"functionName":{"name":"and","nativeSrc":"10008:3:42","nodeType":"YulIdentifier","src":"10008:3:42"},"nativeSrc":"10008:23:42","nodeType":"YulFunctionCall","src":"10008:23:42"},"variableNames":[{"name":"s","nativeSrc":"10003:1:42","nodeType":"YulIdentifier","src":"10003:1:42"}]},{"nativeSrc":"10048:26:42","nodeType":"YulAssignment","src":"10048:26:42","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"10061:3:42","nodeType":"YulLiteral","src":"10061:3:42","type":"","value":"255"},{"name":"vs","nativeSrc":"10066:2:42","nodeType":"YulIdentifier","src":"10066:2:42"}],"functionName":{"name":"shr","nativeSrc":"10057:3:42","nodeType":"YulIdentifier","src":"10057:3:42"},"nativeSrc":"10057:12:42","nodeType":"YulFunctionCall","src":"10057:12:42"},{"kind":"number","nativeSrc":"10071:2:42","nodeType":"YulLiteral","src":"10071:2:42","type":"","value":"27"}],"functionName":{"name":"add","nativeSrc":"10053:3:42","nodeType":"YulIdentifier","src":"10053:3:42"},"nativeSrc":"10053:21:42","nodeType":"YulFunctionCall","src":"10053:21:42"},"variableNames":[{"name":"v","nativeSrc":"10048:1:42","nodeType":"YulIdentifier","src":"10048:1:42"}]}]},"nativeSrc":"9874:214:42","nodeType":"YulCase","src":"9874:214:42","value":{"kind":"number","nativeSrc":"9879:2:42","nodeType":"YulLiteral","src":"9879:2:42","type":"","value":"64"}},{"body":{"nativeSrc":"10109:84:42","nodeType":"YulBlock","src":"10109:84:42","statements":[{"nativeSrc":"10127:6:42","nodeType":"YulAssignment","src":"10127:6:42","value":{"kind":"number","nativeSrc":"10132:1:42","nodeType":"YulLiteral","src":"10132:1:42","type":"","value":"0"},"variableNames":[{"name":"r","nativeSrc":"10127:1:42","nodeType":"YulIdentifier","src":"10127:1:42"}]},{"nativeSrc":"10150:6:42","nodeType":"YulAssignment","src":"10150:6:42","value":{"kind":"number","nativeSrc":"10155:1:42","nodeType":"YulLiteral","src":"10155:1:42","type":"","value":"0"},"variableNames":[{"name":"s","nativeSrc":"10150:1:42","nodeType":"YulIdentifier","src":"10150:1:42"}]},{"nativeSrc":"10173:6:42","nodeType":"YulAssignment","src":"10173:6:42","value":{"kind":"number","nativeSrc":"10178:1:42","nodeType":"YulLiteral","src":"10178:1:42","type":"","value":"0"},"variableNames":[{"name":"v","nativeSrc":"10173:1:42","nodeType":"YulIdentifier","src":"10173:1:42"}]}]},"nativeSrc":"10101:92:42","nodeType":"YulCase","src":"10101:92:42","value":"default"}],"expression":{"arguments":[{"name":"signature","nativeSrc":"9520:9:42","nodeType":"YulIdentifier","src":"9520:9:42"}],"functionName":{"name":"mload","nativeSrc":"9514:5:42","nodeType":"YulIdentifier","src":"9514:5:42"},"nativeSrc":"9514:16:42","nodeType":"YulFunctionCall","src":"9514:16:42"},"nativeSrc":"9507:686:42","nodeType":"YulSwitch","src":"9507:686:42"}]},"evmVersion":"prague","externalReferences":[{"declaration":44780,"isOffset":false,"isSlot":false,"src":"10127:1:42","valueSize":1},{"declaration":44780,"isOffset":false,"isSlot":false,"src":"9622:1:42","valueSize":1},{"declaration":44780,"isOffset":false,"isSlot":false,"src":"9954:1:42","valueSize":1},{"declaration":44782,"isOffset":false,"isSlot":false,"src":"10003:1:42","valueSize":1},{"declaration":44782,"isOffset":false,"isSlot":false,"src":"10150:1:42","valueSize":1},{"declaration":44782,"isOffset":false,"isSlot":false,"src":"9671:1:42","valueSize":1},{"declaration":44775,"isOffset":false,"isSlot":false,"src":"9520:9:42","valueSize":1},{"declaration":44775,"isOffset":false,"isSlot":false,"src":"9637:9:42","valueSize":1},{"declaration":44775,"isOffset":false,"isSlot":false,"src":"9686:9:42","valueSize":1},{"declaration":44775,"isOffset":false,"isSlot":false,"src":"9743:9:42","valueSize":1},{"declaration":44775,"isOffset":false,"isSlot":false,"src":"9920:9:42","valueSize":1},{"declaration":44775,"isOffset":false,"isSlot":false,"src":"9969:9:42","valueSize":1},{"declaration":44778,"isOffset":false,"isSlot":false,"src":"10048:1:42","valueSize":1},{"declaration":44778,"isOffset":false,"isSlot":false,"src":"10173:1:42","valueSize":1},{"declaration":44778,"isOffset":false,"isSlot":false,"src":"9720:1:42","valueSize":1}],"flags":["memory-safe"],"id":44784,"nodeType":"InlineAssembly","src":"9426:777:42"}]},"documentation":{"id":44773,"nodeType":"StructuredDocumentation","src":"9092:226:42","text":" @dev Parse a signature into its `v`, `r` and `s` components. Supports 65-byte and 64-byte (ERC-2098)\n formats. Returns (0,0,0) for invalid signatures. Consider skipping {tryRecover} or {recover} if so."},"implemented":true,"kind":"function","modifiers":[],"name":"parse","nameLocation":"9332:5:42","parameters":{"id":44776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44775,"mutability":"mutable","name":"signature","nameLocation":"9351:9:42","nodeType":"VariableDeclaration","scope":44786,"src":"9338:22:42","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":44774,"name":"bytes","nodeType":"ElementaryTypeName","src":"9338:5:42","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9337:24:42"},"returnParameters":{"id":44783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44778,"mutability":"mutable","name":"v","nameLocation":"9391:1:42","nodeType":"VariableDeclaration","scope":44786,"src":"9385:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44777,"name":"uint8","nodeType":"ElementaryTypeName","src":"9385:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":44780,"mutability":"mutable","name":"r","nameLocation":"9402:1:42","nodeType":"VariableDeclaration","scope":44786,"src":"9394:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9394:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44782,"mutability":"mutable","name":"s","nameLocation":"9413:1:42","nodeType":"VariableDeclaration","scope":44786,"src":"9405:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9405:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9384:31:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44800,"nodeType":"FunctionDefinition","src":"10297:944:42","nodes":[],"body":{"id":44799,"nodeType":"Block","src":"10400:841:42","nodes":[],"statements":[{"AST":{"nativeSrc":"10435:800:42","nodeType":"YulBlock","src":"10435:800:42","statements":[{"cases":[{"body":{"nativeSrc":"10588:202:42","nodeType":"YulBlock","src":"10588:202:42","statements":[{"nativeSrc":"10606:35:42","nodeType":"YulAssignment","src":"10606:35:42","value":{"arguments":[{"name":"signature.offset","nativeSrc":"10624:16:42","nodeType":"YulIdentifier","src":"10624:16:42"}],"functionName":{"name":"calldataload","nativeSrc":"10611:12:42","nodeType":"YulIdentifier","src":"10611:12:42"},"nativeSrc":"10611:30:42","nodeType":"YulFunctionCall","src":"10611:30:42"},"variableNames":[{"name":"r","nativeSrc":"10606:1:42","nodeType":"YulIdentifier","src":"10606:1:42"}]},{"nativeSrc":"10658:46:42","nodeType":"YulAssignment","src":"10658:46:42","value":{"arguments":[{"arguments":[{"name":"signature.offset","nativeSrc":"10680:16:42","nodeType":"YulIdentifier","src":"10680:16:42"},{"kind":"number","nativeSrc":"10698:4:42","nodeType":"YulLiteral","src":"10698:4:42","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"10676:3:42","nodeType":"YulIdentifier","src":"10676:3:42"},"nativeSrc":"10676:27:42","nodeType":"YulFunctionCall","src":"10676:27:42"}],"functionName":{"name":"calldataload","nativeSrc":"10663:12:42","nodeType":"YulIdentifier","src":"10663:12:42"},"nativeSrc":"10663:41:42","nodeType":"YulFunctionCall","src":"10663:41:42"},"variableNames":[{"name":"s","nativeSrc":"10658:1:42","nodeType":"YulIdentifier","src":"10658:1:42"}]},{"nativeSrc":"10721:55:42","nodeType":"YulAssignment","src":"10721:55:42","value":{"arguments":[{"kind":"number","nativeSrc":"10731:1:42","nodeType":"YulLiteral","src":"10731:1:42","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature.offset","nativeSrc":"10751:16:42","nodeType":"YulIdentifier","src":"10751:16:42"},{"kind":"number","nativeSrc":"10769:4:42","nodeType":"YulLiteral","src":"10769:4:42","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"10747:3:42","nodeType":"YulIdentifier","src":"10747:3:42"},"nativeSrc":"10747:27:42","nodeType":"YulFunctionCall","src":"10747:27:42"}],"functionName":{"name":"calldataload","nativeSrc":"10734:12:42","nodeType":"YulIdentifier","src":"10734:12:42"},"nativeSrc":"10734:41:42","nodeType":"YulFunctionCall","src":"10734:41:42"}],"functionName":{"name":"byte","nativeSrc":"10726:4:42","nodeType":"YulIdentifier","src":"10726:4:42"},"nativeSrc":"10726:50:42","nodeType":"YulFunctionCall","src":"10726:50:42"},"variableNames":[{"name":"v","nativeSrc":"10721:1:42","nodeType":"YulIdentifier","src":"10721:1:42"}]}]},"nativeSrc":"10580:210:42","nodeType":"YulCase","src":"10580:210:42","value":{"kind":"number","nativeSrc":"10585:2:42","nodeType":"YulLiteral","src":"10585:2:42","type":"","value":"65"}},{"body":{"nativeSrc":"10897:223:42","nodeType":"YulBlock","src":"10897:223:42","statements":[{"nativeSrc":"10915:51:42","nodeType":"YulVariableDeclaration","src":"10915:51:42","value":{"arguments":[{"arguments":[{"name":"signature.offset","nativeSrc":"10942:16:42","nodeType":"YulIdentifier","src":"10942:16:42"},{"kind":"number","nativeSrc":"10960:4:42","nodeType":"YulLiteral","src":"10960:4:42","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"10938:3:42","nodeType":"YulIdentifier","src":"10938:3:42"},"nativeSrc":"10938:27:42","nodeType":"YulFunctionCall","src":"10938:27:42"}],"functionName":{"name":"calldataload","nativeSrc":"10925:12:42","nodeType":"YulIdentifier","src":"10925:12:42"},"nativeSrc":"10925:41:42","nodeType":"YulFunctionCall","src":"10925:41:42"},"variables":[{"name":"vs","nativeSrc":"10919:2:42","nodeType":"YulTypedName","src":"10919:2:42","type":""}]},{"nativeSrc":"10983:35:42","nodeType":"YulAssignment","src":"10983:35:42","value":{"arguments":[{"name":"signature.offset","nativeSrc":"11001:16:42","nodeType":"YulIdentifier","src":"11001:16:42"}],"functionName":{"name":"calldataload","nativeSrc":"10988:12:42","nodeType":"YulIdentifier","src":"10988:12:42"},"nativeSrc":"10988:30:42","nodeType":"YulFunctionCall","src":"10988:30:42"},"variableNames":[{"name":"r","nativeSrc":"10983:1:42","nodeType":"YulIdentifier","src":"10983:1:42"}]},{"nativeSrc":"11035:28:42","nodeType":"YulAssignment","src":"11035:28:42","value":{"arguments":[{"name":"vs","nativeSrc":"11044:2:42","nodeType":"YulIdentifier","src":"11044:2:42"},{"arguments":[{"kind":"number","nativeSrc":"11052:1:42","nodeType":"YulLiteral","src":"11052:1:42","type":"","value":"1"},{"arguments":[{"kind":"number","nativeSrc":"11059:1:42","nodeType":"YulLiteral","src":"11059:1:42","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"11055:3:42","nodeType":"YulIdentifier","src":"11055:3:42"},"nativeSrc":"11055:6:42","nodeType":"YulFunctionCall","src":"11055:6:42"}],"functionName":{"name":"shr","nativeSrc":"11048:3:42","nodeType":"YulIdentifier","src":"11048:3:42"},"nativeSrc":"11048:14:42","nodeType":"YulFunctionCall","src":"11048:14:42"}],"functionName":{"name":"and","nativeSrc":"11040:3:42","nodeType":"YulIdentifier","src":"11040:3:42"},"nativeSrc":"11040:23:42","nodeType":"YulFunctionCall","src":"11040:23:42"},"variableNames":[{"name":"s","nativeSrc":"11035:1:42","nodeType":"YulIdentifier","src":"11035:1:42"}]},{"nativeSrc":"11080:26:42","nodeType":"YulAssignment","src":"11080:26:42","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"11093:3:42","nodeType":"YulLiteral","src":"11093:3:42","type":"","value":"255"},{"name":"vs","nativeSrc":"11098:2:42","nodeType":"YulIdentifier","src":"11098:2:42"}],"functionName":{"name":"shr","nativeSrc":"11089:3:42","nodeType":"YulIdentifier","src":"11089:3:42"},"nativeSrc":"11089:12:42","nodeType":"YulFunctionCall","src":"11089:12:42"},{"kind":"number","nativeSrc":"11103:2:42","nodeType":"YulLiteral","src":"11103:2:42","type":"","value":"27"}],"functionName":{"name":"add","nativeSrc":"11085:3:42","nodeType":"YulIdentifier","src":"11085:3:42"},"nativeSrc":"11085:21:42","nodeType":"YulFunctionCall","src":"11085:21:42"},"variableNames":[{"name":"v","nativeSrc":"11080:1:42","nodeType":"YulIdentifier","src":"11080:1:42"}]}]},"nativeSrc":"10889:231:42","nodeType":"YulCase","src":"10889:231:42","value":{"kind":"number","nativeSrc":"10894:2:42","nodeType":"YulLiteral","src":"10894:2:42","type":"","value":"64"}},{"body":{"nativeSrc":"11141:84:42","nodeType":"YulBlock","src":"11141:84:42","statements":[{"nativeSrc":"11159:6:42","nodeType":"YulAssignment","src":"11159:6:42","value":{"kind":"number","nativeSrc":"11164:1:42","nodeType":"YulLiteral","src":"11164:1:42","type":"","value":"0"},"variableNames":[{"name":"r","nativeSrc":"11159:1:42","nodeType":"YulIdentifier","src":"11159:1:42"}]},{"nativeSrc":"11182:6:42","nodeType":"YulAssignment","src":"11182:6:42","value":{"kind":"number","nativeSrc":"11187:1:42","nodeType":"YulLiteral","src":"11187:1:42","type":"","value":"0"},"variableNames":[{"name":"s","nativeSrc":"11182:1:42","nodeType":"YulIdentifier","src":"11182:1:42"}]},{"nativeSrc":"11205:6:42","nodeType":"YulAssignment","src":"11205:6:42","value":{"kind":"number","nativeSrc":"11210:1:42","nodeType":"YulLiteral","src":"11210:1:42","type":"","value":"0"},"variableNames":[{"name":"v","nativeSrc":"11205:1:42","nodeType":"YulIdentifier","src":"11205:1:42"}]}]},"nativeSrc":"11133:92:42","nodeType":"YulCase","src":"11133:92:42","value":"default"}],"expression":{"name":"signature.length","nativeSrc":"10498:16:42","nodeType":"YulIdentifier","src":"10498:16:42"},"nativeSrc":"10491:734:42","nodeType":"YulSwitch","src":"10491:734:42"}]},"evmVersion":"prague","externalReferences":[{"declaration":44794,"isOffset":false,"isSlot":false,"src":"10606:1:42","valueSize":1},{"declaration":44794,"isOffset":false,"isSlot":false,"src":"10983:1:42","valueSize":1},{"declaration":44794,"isOffset":false,"isSlot":false,"src":"11159:1:42","valueSize":1},{"declaration":44796,"isOffset":false,"isSlot":false,"src":"10658:1:42","valueSize":1},{"declaration":44796,"isOffset":false,"isSlot":false,"src":"11035:1:42","valueSize":1},{"declaration":44796,"isOffset":false,"isSlot":false,"src":"11182:1:42","valueSize":1},{"declaration":44789,"isOffset":false,"isSlot":false,"src":"10498:16:42","suffix":"length","valueSize":1},{"declaration":44789,"isOffset":true,"isSlot":false,"src":"10624:16:42","suffix":"offset","valueSize":1},{"declaration":44789,"isOffset":true,"isSlot":false,"src":"10680:16:42","suffix":"offset","valueSize":1},{"declaration":44789,"isOffset":true,"isSlot":false,"src":"10751:16:42","suffix":"offset","valueSize":1},{"declaration":44789,"isOffset":true,"isSlot":false,"src":"10942:16:42","suffix":"offset","valueSize":1},{"declaration":44789,"isOffset":true,"isSlot":false,"src":"11001:16:42","suffix":"offset","valueSize":1},{"declaration":44792,"isOffset":false,"isSlot":false,"src":"10721:1:42","valueSize":1},{"declaration":44792,"isOffset":false,"isSlot":false,"src":"11080:1:42","valueSize":1},{"declaration":44792,"isOffset":false,"isSlot":false,"src":"11205:1:42","valueSize":1}],"flags":["memory-safe"],"id":44798,"nodeType":"InlineAssembly","src":"10410:825:42"}]},"documentation":{"id":44787,"nodeType":"StructuredDocumentation","src":"10215:77:42","text":" @dev Variant of {parse} that takes a signature in calldata"},"implemented":true,"kind":"function","modifiers":[],"name":"parseCalldata","nameLocation":"10306:13:42","parameters":{"id":44790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44789,"mutability":"mutable","name":"signature","nameLocation":"10335:9:42","nodeType":"VariableDeclaration","scope":44800,"src":"10320:24:42","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":44788,"name":"bytes","nodeType":"ElementaryTypeName","src":"10320:5:42","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10319:26:42"},"returnParameters":{"id":44797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44792,"mutability":"mutable","name":"v","nameLocation":"10375:1:42","nodeType":"VariableDeclaration","scope":44800,"src":"10369:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44791,"name":"uint8","nodeType":"ElementaryTypeName","src":"10369:5:42","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":44794,"mutability":"mutable","name":"r","nameLocation":"10386:1:42","nodeType":"VariableDeclaration","scope":44800,"src":"10378:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10378:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44796,"mutability":"mutable","name":"s","nameLocation":"10397:1:42","nodeType":"VariableDeclaration","scope":44800,"src":"10389:9:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10389:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10368:31:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44849,"nodeType":"FunctionDefinition","src":"11374:532:42","nodes":[],"body":{"id":44848,"nodeType":"Block","src":"11446:460:42","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"id":44812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44809,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44804,"src":"11460:5:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":44810,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44399,"src":"11469:12:42","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$44399_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":44811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11482:7:42","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":44395,"src":"11469:20:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"src":"11460:29:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"id":44818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44815,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44804,"src":"11556:5:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":44816,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44399,"src":"11565:12:42","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$44399_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":44817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11578:16:42","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":44396,"src":"11565:29:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"src":"11556:38:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"id":44826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44823,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44804,"src":"11661:5:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":44824,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44399,"src":"11670:12:42","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$44399_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":44825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11683:22:42","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":44397,"src":"11670:35:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"src":"11661:44:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"id":44838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44835,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44804,"src":"11795:5:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":44836,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44399,"src":"11804:12:42","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$44399_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":44837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11817:17:42","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":44398,"src":"11804:30:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"src":"11795:39:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44844,"nodeType":"IfStatement","src":"11791:109:42","trueBody":{"id":44843,"nodeType":"Block","src":"11836:64:42","statements":[{"errorCall":{"arguments":[{"id":44840,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44806,"src":"11880:8:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44839,"name":"ECDSAInvalidSignatureS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44412,"src":"11857:22:42","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$_t_error_$","typeString":"function (bytes32) pure returns (error)"}},"id":44841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11857:32:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":44842,"nodeType":"RevertStatement","src":"11850:39:42"}]}},"id":44845,"nodeType":"IfStatement","src":"11657:243:42","trueBody":{"id":44834,"nodeType":"Block","src":"11707:78:42","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":44830,"name":"errorArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44806,"src":"11764:8:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11756:7:42","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":44828,"name":"uint256","nodeType":"ElementaryTypeName","src":"11756:7:42","typeDescriptions":{}}},"id":44831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11756:17:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44827,"name":"ECDSAInvalidSignatureLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44407,"src":"11728:27:42","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":44832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11728:46:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":44833,"nodeType":"RevertStatement","src":"11721:53:42"}]}},"id":44846,"nodeType":"IfStatement","src":"11552:348:42","trueBody":{"id":44822,"nodeType":"Block","src":"11596:55:42","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":44819,"name":"ECDSAInvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44402,"src":"11617:21:42","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":44820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11617:23:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":44821,"nodeType":"RevertStatement","src":"11610:30:42"}]}},"id":44847,"nodeType":"IfStatement","src":"11456:444:42","trueBody":{"id":44814,"nodeType":"Block","src":"11491:55:42","statements":[{"functionReturnParameters":44808,"id":44813,"nodeType":"Return","src":"11505:7:42"}]}}]},"documentation":{"id":44801,"nodeType":"StructuredDocumentation","src":"11247:122:42","text":" @dev Optionally reverts with the corresponding custom error according to the `error` argument provided."},"implemented":true,"kind":"function","modifiers":[],"name":"_throwError","nameLocation":"11383:11:42","parameters":{"id":44807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44804,"mutability":"mutable","name":"error","nameLocation":"11408:5:42","nodeType":"VariableDeclaration","scope":44849,"src":"11395:18:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":44803,"nodeType":"UserDefinedTypeName","pathNode":{"id":44802,"name":"RecoverError","nameLocations":["11395:12:42"],"nodeType":"IdentifierPath","referencedDeclaration":44399,"src":"11395:12:42"},"referencedDeclaration":44399,"src":"11395:12:42","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$44399","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"},{"constant":false,"id":44806,"mutability":"mutable","name":"errorArg","nameLocation":"11423:8:42","nodeType":"VariableDeclaration","scope":44849,"src":"11415:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11415:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11394:38:42"},"returnParameters":{"id":44808,"nodeType":"ParameterList","parameters":[],"src":"11446:0:42"},"scope":44850,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"ECDSA","contractDependencies":[],"contractKind":"library","documentation":{"id":44394,"nodeType":"StructuredDocumentation","src":"138:205:42","text":" @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."},"fullyImplemented":true,"linearizedBaseContracts":[44850],"name":"ECDSA","nameLocation":"352:5:42","scope":44851,"usedErrors":[44402,44407,44412],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"id":43,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol","id":45078,"exportedSymbols":{"EIP712":[45077],"IERC5267":[40152],"MessageHashUtils":[45163],"ShortString":[42576],"ShortStrings":[42787]},"nodeType":"SourceUnit","src":"113:6582:43","nodes":[{"id":44852,"nodeType":"PragmaDirective","src":"113:24:43","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":44854,"nodeType":"ImportDirective","src":"139:56:43","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol","file":"./MessageHashUtils.sol","nameLocation":"-1:-1:-1","scope":45078,"sourceUnit":45164,"symbolAliases":[{"foreign":{"id":44853,"name":"MessageHashUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45163,"src":"147:16:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":44857,"nodeType":"ImportDirective","src":"196:62:43","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol","file":"../ShortStrings.sol","nameLocation":"-1:-1:-1","scope":45078,"sourceUnit":42788,"symbolAliases":[{"foreign":{"id":44855,"name":"ShortStrings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42787,"src":"204:12:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":44856,"name":"ShortString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42576,"src":"218:11:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":44859,"nodeType":"ImportDirective","src":"259:55:43","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol","file":"../../interfaces/IERC5267.sol","nameLocation":"-1:-1:-1","scope":45078,"sourceUnit":40153,"symbolAliases":[{"foreign":{"id":44858,"name":"IERC5267","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40152,"src":"267:8:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":45077,"nodeType":"ContractDefinition","src":"1960:4734:43","nodes":[{"id":44864,"nodeType":"UsingForDirective","src":"2003:25:43","nodes":[],"global":false,"libraryName":{"id":44863,"name":"ShortStrings","nameLocations":["2009:12:43"],"nodeType":"IdentifierPath","referencedDeclaration":42787,"src":"2009:12:43"}},{"id":44869,"nodeType":"VariableDeclaration","src":"2034:140:43","nodes":[],"constant":true,"mutability":"constant","name":"TYPE_HASH","nameLocation":"2059:9:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2034:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":44867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2089:84:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":44866,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2079:9:43","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2079:95:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":44871,"nodeType":"VariableDeclaration","src":"2373:48:43","nodes":[],"constant":false,"mutability":"immutable","name":"_cachedDomainSeparator","nameLocation":"2399:22:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2373:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":44873,"nodeType":"VariableDeclaration","src":"2427:40:43","nodes":[],"constant":false,"mutability":"immutable","name":"_cachedChainId","nameLocation":"2453:14:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44872,"name":"uint256","nodeType":"ElementaryTypeName","src":"2427:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":44875,"nodeType":"VariableDeclaration","src":"2473:37:43","nodes":[],"constant":false,"mutability":"immutable","name":"_cachedThis","nameLocation":"2499:11:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44874,"name":"address","nodeType":"ElementaryTypeName","src":"2473:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":44877,"nodeType":"VariableDeclaration","src":"2517:37:43","nodes":[],"constant":false,"mutability":"immutable","name":"_hashedName","nameLocation":"2543:11:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2517:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":44879,"nodeType":"VariableDeclaration","src":"2560:40:43","nodes":[],"constant":false,"mutability":"immutable","name":"_hashedVersion","nameLocation":"2586:14:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2560:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":44882,"nodeType":"VariableDeclaration","src":"2607:35:43","nodes":[],"constant":false,"mutability":"immutable","name":"_name","nameLocation":"2637:5:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"},"typeName":{"id":44881,"nodeType":"UserDefinedTypeName","pathNode":{"id":44880,"name":"ShortString","nameLocations":["2607:11:43"],"nodeType":"IdentifierPath","referencedDeclaration":42576,"src":"2607:11:43"},"referencedDeclaration":42576,"src":"2607:11:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"visibility":"private"},{"id":44885,"nodeType":"VariableDeclaration","src":"2648:38:43","nodes":[],"constant":false,"mutability":"immutable","name":"_version","nameLocation":"2678:8:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"},"typeName":{"id":44884,"nodeType":"UserDefinedTypeName","pathNode":{"id":44883,"name":"ShortString","nameLocations":["2648:11:43"],"nodeType":"IdentifierPath","referencedDeclaration":42576,"src":"2648:11:43"},"referencedDeclaration":42576,"src":"2648:11:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"visibility":"private"},{"id":44887,"nodeType":"VariableDeclaration","src":"2742:28:43","nodes":[],"constant":false,"mutability":"mutable","name":"_nameFallback","nameLocation":"2757:13:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":44886,"name":"string","nodeType":"ElementaryTypeName","src":"2742:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":44889,"nodeType":"VariableDeclaration","src":"2826:31:43","nodes":[],"constant":false,"mutability":"mutable","name":"_versionFallback","nameLocation":"2841:16:43","scope":45077,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":44888,"name":"string","nodeType":"ElementaryTypeName","src":"2826:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":44947,"nodeType":"FunctionDefinition","src":"3428:431:43","nodes":[],"body":{"id":44946,"nodeType":"Block","src":"3483:376:43","nodes":[],"statements":[{"expression":{"id":44902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44897,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44882,"src":"3493:5:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":44900,"name":"_nameFallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44887,"src":"3532:13:43","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":44898,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44892,"src":"3501:4:43","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":44899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3506:25:43","memberName":"toShortStringWithFallback","nodeType":"MemberAccess","referencedDeclaration":42728,"src":"3501:30:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_storage_ptr_$returns$_t_userDefinedValueType$_ShortString_$42576_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string storage pointer) returns (ShortString)"}},"id":44901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3501:45:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"src":"3493:53:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"id":44903,"nodeType":"ExpressionStatement","src":"3493:53:43"},{"expression":{"id":44909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44904,"name":"_version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44885,"src":"3556:8:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":44907,"name":"_versionFallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44889,"src":"3601:16:43","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":44905,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44894,"src":"3567:7:43","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":44906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3575:25:43","memberName":"toShortStringWithFallback","nodeType":"MemberAccess","referencedDeclaration":42728,"src":"3567:33:43","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_storage_ptr_$returns$_t_userDefinedValueType$_ShortString_$42576_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string storage pointer) returns (ShortString)"}},"id":44908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3567:51:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"src":"3556:62:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"id":44910,"nodeType":"ExpressionStatement","src":"3556:62:43"},{"expression":{"id":44918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44911,"name":"_hashedName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44877,"src":"3628:11:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":44915,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44892,"src":"3658:4:43","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":44914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3652:5:43","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":44913,"name":"bytes","nodeType":"ElementaryTypeName","src":"3652:5:43","typeDescriptions":{}}},"id":44916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3652:11:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44912,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3642:9:43","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3642:22:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3628:36:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44919,"nodeType":"ExpressionStatement","src":"3628:36:43"},{"expression":{"id":44927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44920,"name":"_hashedVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44879,"src":"3674:14:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":44924,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44894,"src":"3707:7:43","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":44923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3701:5:43","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":44922,"name":"bytes","nodeType":"ElementaryTypeName","src":"3701:5:43","typeDescriptions":{}}},"id":44925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3701:14:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44921,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3691:9:43","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3691:25:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3674:42:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44928,"nodeType":"ExpressionStatement","src":"3674:42:43"},{"expression":{"id":44932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44929,"name":"_cachedChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44873,"src":"3727:14:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":44930,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3744:5:43","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":44931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3750:7:43","memberName":"chainid","nodeType":"MemberAccess","src":"3744:13:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3727:30:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44933,"nodeType":"ExpressionStatement","src":"3727:30:43"},{"expression":{"id":44937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44934,"name":"_cachedDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44871,"src":"3767:22:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":44935,"name":"_buildDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44994,"src":"3792:21:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":44936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3792:23:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3767:48:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44938,"nodeType":"ExpressionStatement","src":"3767:48:43"},{"expression":{"id":44944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44939,"name":"_cachedThis","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44875,"src":"3825:11:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":44942,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3847:4:43","typeDescriptions":{"typeIdentifier":"t_contract$_EIP712_$45077","typeString":"contract EIP712"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EIP712_$45077","typeString":"contract EIP712"}],"id":44941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3839:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44940,"name":"address","nodeType":"ElementaryTypeName","src":"3839:7:43","typeDescriptions":{}}},"id":44943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3839:13:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3825:27:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":44945,"nodeType":"ExpressionStatement","src":"3825:27:43"}]},"documentation":{"id":44890,"nodeType":"StructuredDocumentation","src":"2864:559:43","text":" @dev Initializes the domain separator and parameter caches.\n The meaning of `name` and `version` is specified in\n https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP-712]:\n - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol.\n - `version`: the current major version of the signing domain.\n NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart\n contract upgrade]."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":44895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44892,"mutability":"mutable","name":"name","nameLocation":"3454:4:43","nodeType":"VariableDeclaration","scope":44947,"src":"3440:18:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44891,"name":"string","nodeType":"ElementaryTypeName","src":"3440:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44894,"mutability":"mutable","name":"version","nameLocation":"3474:7:43","nodeType":"VariableDeclaration","scope":44947,"src":"3460:21:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44893,"name":"string","nodeType":"ElementaryTypeName","src":"3460:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3439:43:43"},"returnParameters":{"id":44896,"nodeType":"ParameterList","parameters":[],"src":"3483:0:43"},"scope":45077,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":44973,"nodeType":"FunctionDefinition","src":"3945:262:43","nodes":[],"body":{"id":44972,"nodeType":"Block","src":"4007:200:43","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":44963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":44958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":44955,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4029:4:43","typeDescriptions":{"typeIdentifier":"t_contract$_EIP712_$45077","typeString":"contract EIP712"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EIP712_$45077","typeString":"contract EIP712"}],"id":44954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4021:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44953,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:43","typeDescriptions":{}}},"id":44956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4021:13:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":44957,"name":"_cachedThis","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44875,"src":"4038:11:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4021:28:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":44959,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4053:5:43","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":44960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4059:7:43","memberName":"chainid","nodeType":"MemberAccess","src":"4053:13:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":44961,"name":"_cachedChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44873,"src":"4070:14:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4053:31:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4021:63:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44970,"nodeType":"Block","src":"4146:55:43","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":44967,"name":"_buildDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44994,"src":"4167:21:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":44968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4167:23:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":44952,"id":44969,"nodeType":"Return","src":"4160:30:43"}]},"id":44971,"nodeType":"IfStatement","src":"4017:184:43","trueBody":{"id":44966,"nodeType":"Block","src":"4086:54:43","statements":[{"expression":{"id":44964,"name":"_cachedDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44871,"src":"4107:22:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":44952,"id":44965,"nodeType":"Return","src":"4100:29:43"}]}}]},"documentation":{"id":44948,"nodeType":"StructuredDocumentation","src":"3865:75:43","text":" @dev Returns the domain separator for the current chain."},"implemented":true,"kind":"function","modifiers":[],"name":"_domainSeparatorV4","nameLocation":"3954:18:43","parameters":{"id":44949,"nodeType":"ParameterList","parameters":[],"src":"3972:2:43"},"returnParameters":{"id":44952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44951,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44973,"src":"3998:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44950,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3998:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3997:9:43"},"scope":45077,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44994,"nodeType":"FunctionDefinition","src":"4213:179:43","nodes":[],"body":{"id":44993,"nodeType":"Block","src":"4277:115:43","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":44981,"name":"TYPE_HASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44869,"src":"4315:9:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44982,"name":"_hashedName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44877,"src":"4326:11:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44983,"name":"_hashedVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44879,"src":"4339:14:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":44984,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4355:5:43","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":44985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4361:7:43","memberName":"chainid","nodeType":"MemberAccess","src":"4355:13:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":44988,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4378:4:43","typeDescriptions":{"typeIdentifier":"t_contract$_EIP712_$45077","typeString":"contract EIP712"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EIP712_$45077","typeString":"contract EIP712"}],"id":44987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4370:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44986,"name":"address","nodeType":"ElementaryTypeName","src":"4370:7:43","typeDescriptions":{}}},"id":44989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4370:13:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44979,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4304:3:43","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4308:6:43","memberName":"encode","nodeType":"MemberAccess","src":"4304:10:43","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":44990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4304:80:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44978,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4294:9:43","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4294:91:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":44977,"id":44992,"nodeType":"Return","src":"4287:98:43"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_buildDomainSeparator","nameLocation":"4222:21:43","parameters":{"id":44974,"nodeType":"ParameterList","parameters":[],"src":"4243:2:43"},"returnParameters":{"id":44977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44994,"src":"4268:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4268:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4267:9:43"},"scope":45077,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":45010,"nodeType":"FunctionDefinition","src":"5017:176:43","nodes":[],"body":{"id":45009,"nodeType":"Block","src":"5103:90:43","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":45004,"name":"_domainSeparatorV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44973,"src":"5153:18:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":45005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5153:20:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":45006,"name":"structHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44997,"src":"5175:10:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":45002,"name":"MessageHashUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45163,"src":"5120:16:43","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MessageHashUtils_$45163_$","typeString":"type(library MessageHashUtils)"}},"id":45003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5137:15:43","memberName":"toTypedDataHash","nodeType":"MemberAccess","referencedDeclaration":45162,"src":"5120:32:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) pure returns (bytes32)"}},"id":45007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5120:66:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":45001,"id":45008,"nodeType":"Return","src":"5113:73:43"}]},"documentation":{"id":44995,"nodeType":"StructuredDocumentation","src":"4398:614:43","text":" @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this\n function returns the hash of the fully encoded EIP712 message for this domain.\n This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example:\n ```solidity\n bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(\n keccak256(\"Mail(address to,string contents)\"),\n mailTo,\n keccak256(bytes(mailContents))\n )));\n address signer = ECDSA.recover(digest, signature);\n ```"},"implemented":true,"kind":"function","modifiers":[],"name":"_hashTypedDataV4","nameLocation":"5026:16:43","parameters":{"id":44998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44997,"mutability":"mutable","name":"structHash","nameLocation":"5051:10:43","nodeType":"VariableDeclaration","scope":45010,"src":"5043:18:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5043:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5042:20:43"},"returnParameters":{"id":45001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45000,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45010,"src":"5094:7:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44999,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5094:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5093:9:43"},"scope":45077,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":45052,"nodeType":"FunctionDefinition","src":"5228:557:43","nodes":[],"body":{"id":45051,"nodeType":"Block","src":"5556:229:43","nodes":[],"statements":[{"expression":{"components":[{"hexValue":"0f","id":45029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"5587:7:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d725c5ee53025f027da36bea8d3af3b6a3e9d2d1542d47c162631de48e66c1c","typeString":"literal_string hex\"0f\""},"value":"\u000f"},{"arguments":[],"expression":{"argumentTypes":[],"id":45030,"name":"_EIP712Name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45064,"src":"5617:11:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":45031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5617:13:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":45032,"name":"_EIP712Version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45076,"src":"5644:14:43","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":45033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5644:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":45034,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5674:5:43","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":45035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5680:7:43","memberName":"chainid","nodeType":"MemberAccess","src":"5674:13:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":45038,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5709:4:43","typeDescriptions":{"typeIdentifier":"t_contract$_EIP712_$45077","typeString":"contract EIP712"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EIP712_$45077","typeString":"contract EIP712"}],"id":45037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5701:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":45036,"name":"address","nodeType":"ElementaryTypeName","src":"5701:7:43","typeDescriptions":{}}},"id":45039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5701:13:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":45042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5736:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":45041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5728:7:43","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":45040,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5728:7:43","typeDescriptions":{}}},"id":45043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5728:10:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":45047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5766:1:43","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":45046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5752:13:43","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":45044,"name":"uint256","nodeType":"ElementaryTypeName","src":"5756:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45045,"nodeType":"ArrayTypeName","src":"5756:9:43","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":45048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5752:16:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"id":45049,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5573:205:43","typeDescriptions":{"typeIdentifier":"t_tuple$_t_stringliteral_3d725c5ee53025f027da36bea8d3af3b6a3e9d2d1542d47c162631de48e66c1c_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_address_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"tuple(literal_string hex\"0f\",string memory,string memory,uint256,address,bytes32,uint256[] memory)"}},"functionReturnParameters":45028,"id":45050,"nodeType":"Return","src":"5566:212:43"}]},"baseFunctions":[40151],"documentation":{"id":45011,"nodeType":"StructuredDocumentation","src":"5199:24:43","text":"@inheritdoc IERC5267"},"functionSelector":"84b0196e","implemented":true,"kind":"function","modifiers":[],"name":"eip712Domain","nameLocation":"5237:12:43","parameters":{"id":45012,"nodeType":"ParameterList","parameters":[],"src":"5249:2:43"},"returnParameters":{"id":45028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45014,"mutability":"mutable","name":"fields","nameLocation":"5333:6:43","nodeType":"VariableDeclaration","scope":45052,"src":"5326:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":45013,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5326:6:43","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":45016,"mutability":"mutable","name":"name","nameLocation":"5367:4:43","nodeType":"VariableDeclaration","scope":45052,"src":"5353:18:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45015,"name":"string","nodeType":"ElementaryTypeName","src":"5353:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45018,"mutability":"mutable","name":"version","nameLocation":"5399:7:43","nodeType":"VariableDeclaration","scope":45052,"src":"5385:21:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45017,"name":"string","nodeType":"ElementaryTypeName","src":"5385:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45020,"mutability":"mutable","name":"chainId","nameLocation":"5428:7:43","nodeType":"VariableDeclaration","scope":45052,"src":"5420:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45019,"name":"uint256","nodeType":"ElementaryTypeName","src":"5420:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45022,"mutability":"mutable","name":"verifyingContract","nameLocation":"5457:17:43","nodeType":"VariableDeclaration","scope":45052,"src":"5449:25:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45021,"name":"address","nodeType":"ElementaryTypeName","src":"5449:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45024,"mutability":"mutable","name":"salt","nameLocation":"5496:4:43","nodeType":"VariableDeclaration","scope":45052,"src":"5488:12:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5488:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":45027,"mutability":"mutable","name":"extensions","nameLocation":"5531:10:43","nodeType":"VariableDeclaration","scope":45052,"src":"5514:27:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":45025,"name":"uint256","nodeType":"ElementaryTypeName","src":"5514:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45026,"nodeType":"ArrayTypeName","src":"5514:9:43","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5312:239:43"},"scope":45077,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":45064,"nodeType":"FunctionDefinition","src":"6105:126:43","nodes":[],"body":{"id":45063,"nodeType":"Block","src":"6166:65:43","nodes":[],"statements":[{"expression":{"arguments":[{"id":45060,"name":"_nameFallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44887,"src":"6210:13:43","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":45058,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44882,"src":"6183:5:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"id":45059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6189:20:43","memberName":"toStringWithFallback","nodeType":"MemberAccess","referencedDeclaration":42755,"src":"6183:26:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ShortString_$42576_$_t_string_storage_ptr_$returns$_t_string_memory_ptr_$attached_to$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"function (ShortString,string storage pointer) pure returns (string memory)"}},"id":45061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6183:41:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":45057,"id":45062,"nodeType":"Return","src":"6176:48:43"}]},"documentation":{"id":45053,"nodeType":"StructuredDocumentation","src":"5791:256:43","text":" @dev The name parameter for the EIP712 domain.\n NOTE: By default this function reads _name which is an immutable value.\n It only reads from storage if necessary (in case the value is too large to fit in a ShortString)."},"implemented":true,"kind":"function","modifiers":[],"name":"_EIP712Name","nameLocation":"6114:11:43","parameters":{"id":45054,"nodeType":"ParameterList","parameters":[],"src":"6125:2:43"},"returnParameters":{"id":45057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45064,"src":"6151:13:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45055,"name":"string","nodeType":"ElementaryTypeName","src":"6151:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6150:15:43"},"scope":45077,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45076,"nodeType":"FunctionDefinition","src":"6557:135:43","nodes":[],"body":{"id":45075,"nodeType":"Block","src":"6621:71:43","nodes":[],"statements":[{"expression":{"arguments":[{"id":45072,"name":"_versionFallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44889,"src":"6668:16:43","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":45070,"name":"_version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44885,"src":"6638:8:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ShortString_$42576","typeString":"ShortString"}},"id":45071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6647:20:43","memberName":"toStringWithFallback","nodeType":"MemberAccess","referencedDeclaration":42755,"src":"6638:29:43","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ShortString_$42576_$_t_string_storage_ptr_$returns$_t_string_memory_ptr_$attached_to$_t_userDefinedValueType$_ShortString_$42576_$","typeString":"function (ShortString,string storage pointer) pure returns (string memory)"}},"id":45073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6638:47:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":45069,"id":45074,"nodeType":"Return","src":"6631:54:43"}]},"documentation":{"id":45065,"nodeType":"StructuredDocumentation","src":"6237:262:43","text":" @dev The version parameter for the EIP712 domain.\n NOTE: By default this function reads _version which is an immutable value.\n It only reads from storage if necessary (in case the value is too large to fit in a ShortString)."},"implemented":true,"kind":"function","modifiers":[],"name":"_EIP712Version","nameLocation":"6566:14:43","parameters":{"id":45066,"nodeType":"ParameterList","parameters":[],"src":"6580:2:43"},"returnParameters":{"id":45069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45076,"src":"6606:13:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45067,"name":"string","nodeType":"ElementaryTypeName","src":"6606:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6605:15:43"},"scope":45077,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":44861,"name":"IERC5267","nameLocations":["1988:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":40152,"src":"1988:8:43"},"id":44862,"nodeType":"InheritanceSpecifier","src":"1988:8:43"}],"canonicalName":"EIP712","contractDependencies":[],"contractKind":"contract","documentation":{"id":44860,"nodeType":"StructuredDocumentation","src":"316:1643:43","text":" @dev https://eips.ethereum.org/EIPS/eip-712[EIP-712] is a standard for hashing and signing of typed structured data.\n The encoding scheme specified in the EIP requires a domain separator and a hash of the typed structured data, whose\n encoding is very generic and therefore its implementation in Solidity is not feasible, thus this contract\n does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in order to\n produce the hash of their typed data using a combination of `abi.encode` and `keccak256`.\n This contract implements the EIP-712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding\n scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA\n ({_hashTypedDataV4}).\n The implementation of the domain separator was designed to be as efficient as possible while still properly updating\n the chain id to protect against replay attacks on an eventual fork of the chain.\n NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method\n https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].\n NOTE: In the upgradeable version of this contract, the cached values will correspond to the address, and the domain\n separator of the implementation contract. This will cause the {_domainSeparatorV4} function to always rebuild the\n separator from the immutable values, which is cheaper than accessing a cached version in cold storage.\n @custom:oz-upgrades-unsafe-allow state-variable-immutable"},"fullyImplemented":true,"linearizedBaseContracts":[45077,40152],"name":"EIP712","nameLocation":"1978:6:43","scope":45078,"usedErrors":[42584,42586],"usedEvents":[40132]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"id":44,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol","id":45164,"exportedSymbols":{"MessageHashUtils":[45163],"Strings":[44391]},"nodeType":"SourceUnit","src":"123:4128:44","nodes":[{"id":45079,"nodeType":"PragmaDirective","src":"123:24:44","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":45081,"nodeType":"ImportDirective","src":"149:39:44","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","file":"../Strings.sol","nameLocation":"-1:-1:-1","scope":45164,"sourceUnit":44392,"symbolAliases":[{"foreign":{"id":45080,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44391,"src":"157:7:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":45163,"nodeType":"ContractDefinition","src":"521:3729:44","nodes":[{"id":45092,"nodeType":"FunctionDefinition","src":"1247:433:44","nodes":[],"body":{"id":45091,"nodeType":"Block","src":"1339:341:44","nodes":[],"statements":[{"AST":{"nativeSrc":"1374:300:44","nodeType":"YulBlock","src":"1374:300:44","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1395:4:44","nodeType":"YulLiteral","src":"1395:4:44","type":"","value":"0x00"},{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","kind":"string","nativeSrc":"1401:34:44","nodeType":"YulLiteral","src":"1401:34:44","type":"","value":"\u0019Ethereum Signed Message:\n32"}],"functionName":{"name":"mstore","nativeSrc":"1388:6:44","nodeType":"YulIdentifier","src":"1388:6:44"},"nativeSrc":"1388:48:44","nodeType":"YulFunctionCall","src":"1388:48:44"},"nativeSrc":"1388:48:44","nodeType":"YulExpressionStatement","src":"1388:48:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1497:4:44","nodeType":"YulLiteral","src":"1497:4:44","type":"","value":"0x1c"},{"name":"messageHash","nativeSrc":"1503:11:44","nodeType":"YulIdentifier","src":"1503:11:44"}],"functionName":{"name":"mstore","nativeSrc":"1490:6:44","nodeType":"YulIdentifier","src":"1490:6:44"},"nativeSrc":"1490:25:44","nodeType":"YulFunctionCall","src":"1490:25:44"},"nativeSrc":"1490:25:44","nodeType":"YulExpressionStatement","src":"1490:25:44"},{"nativeSrc":"1569:31:44","nodeType":"YulAssignment","src":"1569:31:44","value":{"arguments":[{"kind":"number","nativeSrc":"1589:4:44","nodeType":"YulLiteral","src":"1589:4:44","type":"","value":"0x00"},{"kind":"number","nativeSrc":"1595:4:44","nodeType":"YulLiteral","src":"1595:4:44","type":"","value":"0x3c"}],"functionName":{"name":"keccak256","nativeSrc":"1579:9:44","nodeType":"YulIdentifier","src":"1579:9:44"},"nativeSrc":"1579:21:44","nodeType":"YulFunctionCall","src":"1579:21:44"},"variableNames":[{"name":"digest","nativeSrc":"1569:6:44","nodeType":"YulIdentifier","src":"1569:6:44"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45088,"isOffset":false,"isSlot":false,"src":"1569:6:44","valueSize":1},{"declaration":45085,"isOffset":false,"isSlot":false,"src":"1503:11:44","valueSize":1}],"flags":["memory-safe"],"id":45090,"nodeType":"InlineAssembly","src":"1349:325:44"}]},"documentation":{"id":45083,"nodeType":"StructuredDocumentation","src":"552:690:44","text":" @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x45` (`personal_sign` messages).\n The digest is calculated by prefixing a bytes32 `messageHash` with\n `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n hash signed when using the https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sign[`eth_sign`] JSON-RPC method.\n NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n keccak256, although any bytes32 value can be safely used because the final digest will\n be re-hashed.\n See {ECDSA-recover}."},"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"1256:22:44","parameters":{"id":45086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45085,"mutability":"mutable","name":"messageHash","nameLocation":"1287:11:44","nodeType":"VariableDeclaration","scope":45092,"src":"1279:19:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1279:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1278:21:44"},"returnParameters":{"id":45089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45088,"mutability":"mutable","name":"digest","nameLocation":"1331:6:44","nodeType":"VariableDeclaration","scope":45092,"src":"1323:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1323:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1322:16:44"},"scope":45163,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45118,"nodeType":"FunctionDefinition","src":"2171:229:44","nodes":[],"body":{"id":45117,"nodeType":"Block","src":"2257:143:44","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a","id":45104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2309:32:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},"value":"\u0019Ethereum Signed Message:\n"},{"arguments":[{"arguments":[{"expression":{"id":45109,"name":"message","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45095,"src":"2366:7:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2374:6:44","memberName":"length","nodeType":"MemberAccess","src":"2366:14:44","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45107,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44391,"src":"2349:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$44391_$","typeString":"type(library Strings)"}},"id":45108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2357:8:44","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":43027,"src":"2349:16:44","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":45111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2349:32:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2343:5:44","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45105,"name":"bytes","nodeType":"ElementaryTypeName","src":"2343:5:44","typeDescriptions":{}}},"id":45112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2343:39:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":45113,"name":"message","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45095,"src":"2384:7:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":45102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2296:5:44","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45101,"name":"bytes","nodeType":"ElementaryTypeName","src":"2296:5:44","typeDescriptions":{}}},"id":45103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2302:6:44","memberName":"concat","nodeType":"MemberAccess","src":"2296:12:44","typeDescriptions":{"typeIdentifier":"t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":45114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2296:96:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45100,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2286:9:44","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":45115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2286:107:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":45099,"id":45116,"nodeType":"Return","src":"2267:126:44"}]},"documentation":{"id":45093,"nodeType":"StructuredDocumentation","src":"1686:480:44","text":" @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x45` (`personal_sign` messages).\n The digest is calculated by prefixing an arbitrary `message` with\n `\"\\x19Ethereum Signed Message:\\n\" + len(message)` and hashing the result. It corresponds with the\n hash signed when using the https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sign[`eth_sign`] JSON-RPC method.\n See {ECDSA-recover}."},"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"2180:22:44","parameters":{"id":45096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45095,"mutability":"mutable","name":"message","nameLocation":"2216:7:44","nodeType":"VariableDeclaration","scope":45118,"src":"2203:20:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45094,"name":"bytes","nodeType":"ElementaryTypeName","src":"2203:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2202:22:44"},"returnParameters":{"id":45099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45098,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45118,"src":"2248:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2248:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2247:9:44"},"scope":45163,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45138,"nodeType":"FunctionDefinition","src":"2743:191:44","nodes":[],"body":{"id":45137,"nodeType":"Block","src":"2854:80:44","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"1900","id":45131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"2898:10:44","typeDescriptions":{"typeIdentifier":"t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a","typeString":"literal_string hex\"1900\""},"value":"\u0019\u0000"},{"id":45132,"name":"validator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45121,"src":"2910:9:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45133,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45123,"src":"2921:4:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a","typeString":"literal_string hex\"1900\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":45129,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2881:3:44","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2885:12:44","memberName":"encodePacked","nodeType":"MemberAccess","src":"2881:16:44","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":45134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2881:45:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45128,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2871:9:44","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":45135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2871:56:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":45127,"id":45136,"nodeType":"Return","src":"2864:63:44"}]},"documentation":{"id":45119,"nodeType":"StructuredDocumentation","src":"2406:332:44","text":" @dev Returns the keccak256 digest of an ERC-191 signed data with version\n `0x00` (data with intended validator).\n The digest is calculated by prefixing an arbitrary `data` with `\"\\x19\\x00\"` and the intended\n `validator` address. Then hashing the result.\n See {ECDSA-recover}."},"implemented":true,"kind":"function","modifiers":[],"name":"toDataWithIntendedValidatorHash","nameLocation":"2752:31:44","parameters":{"id":45124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45121,"mutability":"mutable","name":"validator","nameLocation":"2792:9:44","nodeType":"VariableDeclaration","scope":45138,"src":"2784:17:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45120,"name":"address","nodeType":"ElementaryTypeName","src":"2784:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45123,"mutability":"mutable","name":"data","nameLocation":"2816:4:44","nodeType":"VariableDeclaration","scope":45138,"src":"2803:17:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45122,"name":"bytes","nodeType":"ElementaryTypeName","src":"2803:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2783:38:44"},"returnParameters":{"id":45127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45138,"src":"2845:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2845:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2844:9:44"},"scope":45163,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45150,"nodeType":"FunctionDefinition","src":"3074:358:44","nodes":[],"body":{"id":45149,"nodeType":"Block","src":"3216:216:44","nodes":[],"statements":[{"AST":{"nativeSrc":"3251:175:44","nodeType":"YulBlock","src":"3251:175:44","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3272:4:44","nodeType":"YulLiteral","src":"3272:4:44","type":"","value":"0x00"},{"hexValue":"1900","kind":"string","nativeSrc":"3278:10:44","nodeType":"YulLiteral","src":"3278:10:44","type":"","value":"\u0019\u0000"}],"functionName":{"name":"mstore","nativeSrc":"3265:6:44","nodeType":"YulIdentifier","src":"3265:6:44"},"nativeSrc":"3265:24:44","nodeType":"YulFunctionCall","src":"3265:24:44"},"nativeSrc":"3265:24:44","nodeType":"YulExpressionStatement","src":"3265:24:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3309:4:44","nodeType":"YulLiteral","src":"3309:4:44","type":"","value":"0x02"},{"arguments":[{"kind":"number","nativeSrc":"3319:2:44","nodeType":"YulLiteral","src":"3319:2:44","type":"","value":"96"},{"name":"validator","nativeSrc":"3323:9:44","nodeType":"YulIdentifier","src":"3323:9:44"}],"functionName":{"name":"shl","nativeSrc":"3315:3:44","nodeType":"YulIdentifier","src":"3315:3:44"},"nativeSrc":"3315:18:44","nodeType":"YulFunctionCall","src":"3315:18:44"}],"functionName":{"name":"mstore","nativeSrc":"3302:6:44","nodeType":"YulIdentifier","src":"3302:6:44"},"nativeSrc":"3302:32:44","nodeType":"YulFunctionCall","src":"3302:32:44"},"nativeSrc":"3302:32:44","nodeType":"YulExpressionStatement","src":"3302:32:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3354:4:44","nodeType":"YulLiteral","src":"3354:4:44","type":"","value":"0x16"},{"name":"messageHash","nativeSrc":"3360:11:44","nodeType":"YulIdentifier","src":"3360:11:44"}],"functionName":{"name":"mstore","nativeSrc":"3347:6:44","nodeType":"YulIdentifier","src":"3347:6:44"},"nativeSrc":"3347:25:44","nodeType":"YulFunctionCall","src":"3347:25:44"},"nativeSrc":"3347:25:44","nodeType":"YulExpressionStatement","src":"3347:25:44"},{"nativeSrc":"3385:31:44","nodeType":"YulAssignment","src":"3385:31:44","value":{"arguments":[{"kind":"number","nativeSrc":"3405:4:44","nodeType":"YulLiteral","src":"3405:4:44","type":"","value":"0x00"},{"kind":"number","nativeSrc":"3411:4:44","nodeType":"YulLiteral","src":"3411:4:44","type":"","value":"0x36"}],"functionName":{"name":"keccak256","nativeSrc":"3395:9:44","nodeType":"YulIdentifier","src":"3395:9:44"},"nativeSrc":"3395:21:44","nodeType":"YulFunctionCall","src":"3395:21:44"},"variableNames":[{"name":"digest","nativeSrc":"3385:6:44","nodeType":"YulIdentifier","src":"3385:6:44"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45146,"isOffset":false,"isSlot":false,"src":"3385:6:44","valueSize":1},{"declaration":45143,"isOffset":false,"isSlot":false,"src":"3360:11:44","valueSize":1},{"declaration":45141,"isOffset":false,"isSlot":false,"src":"3323:9:44","valueSize":1}],"flags":["memory-safe"],"id":45148,"nodeType":"InlineAssembly","src":"3226:200:44"}]},"documentation":{"id":45139,"nodeType":"StructuredDocumentation","src":"2940:129:44","text":" @dev Variant of {toDataWithIntendedValidatorHash-address-bytes} optimized for cases where `data` is a bytes32."},"implemented":true,"kind":"function","modifiers":[],"name":"toDataWithIntendedValidatorHash","nameLocation":"3083:31:44","parameters":{"id":45144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45141,"mutability":"mutable","name":"validator","nameLocation":"3132:9:44","nodeType":"VariableDeclaration","scope":45150,"src":"3124:17:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45140,"name":"address","nodeType":"ElementaryTypeName","src":"3124:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45143,"mutability":"mutable","name":"messageHash","nameLocation":"3159:11:44","nodeType":"VariableDeclaration","scope":45150,"src":"3151:19:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3151:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3114:62:44"},"returnParameters":{"id":45147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45146,"mutability":"mutable","name":"digest","nameLocation":"3208:6:44","nodeType":"VariableDeclaration","scope":45150,"src":"3200:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3200:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3199:16:44"},"scope":45163,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45162,"nodeType":"FunctionDefinition","src":"3874:374:44","nodes":[],"body":{"id":45161,"nodeType":"Block","src":"3983:265:44","nodes":[],"statements":[{"AST":{"nativeSrc":"4018:224:44","nodeType":"YulBlock","src":"4018:224:44","statements":[{"nativeSrc":"4032:22:44","nodeType":"YulVariableDeclaration","src":"4032:22:44","value":{"arguments":[{"kind":"number","nativeSrc":"4049:4:44","nodeType":"YulLiteral","src":"4049:4:44","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"4043:5:44","nodeType":"YulIdentifier","src":"4043:5:44"},"nativeSrc":"4043:11:44","nodeType":"YulFunctionCall","src":"4043:11:44"},"variables":[{"name":"ptr","nativeSrc":"4036:3:44","nodeType":"YulTypedName","src":"4036:3:44","type":""}]},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"4074:3:44","nodeType":"YulIdentifier","src":"4074:3:44"},{"hexValue":"1901","kind":"string","nativeSrc":"4079:10:44","nodeType":"YulLiteral","src":"4079:10:44","type":"","value":"\u0019\u0001"}],"functionName":{"name":"mstore","nativeSrc":"4067:6:44","nodeType":"YulIdentifier","src":"4067:6:44"},"nativeSrc":"4067:23:44","nodeType":"YulFunctionCall","src":"4067:23:44"},"nativeSrc":"4067:23:44","nodeType":"YulExpressionStatement","src":"4067:23:44"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"4114:3:44","nodeType":"YulIdentifier","src":"4114:3:44"},{"kind":"number","nativeSrc":"4119:4:44","nodeType":"YulLiteral","src":"4119:4:44","type":"","value":"0x02"}],"functionName":{"name":"add","nativeSrc":"4110:3:44","nodeType":"YulIdentifier","src":"4110:3:44"},"nativeSrc":"4110:14:44","nodeType":"YulFunctionCall","src":"4110:14:44"},{"name":"domainSeparator","nativeSrc":"4126:15:44","nodeType":"YulIdentifier","src":"4126:15:44"}],"functionName":{"name":"mstore","nativeSrc":"4103:6:44","nodeType":"YulIdentifier","src":"4103:6:44"},"nativeSrc":"4103:39:44","nodeType":"YulFunctionCall","src":"4103:39:44"},"nativeSrc":"4103:39:44","nodeType":"YulExpressionStatement","src":"4103:39:44"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"4166:3:44","nodeType":"YulIdentifier","src":"4166:3:44"},{"kind":"number","nativeSrc":"4171:4:44","nodeType":"YulLiteral","src":"4171:4:44","type":"","value":"0x22"}],"functionName":{"name":"add","nativeSrc":"4162:3:44","nodeType":"YulIdentifier","src":"4162:3:44"},"nativeSrc":"4162:14:44","nodeType":"YulFunctionCall","src":"4162:14:44"},{"name":"structHash","nativeSrc":"4178:10:44","nodeType":"YulIdentifier","src":"4178:10:44"}],"functionName":{"name":"mstore","nativeSrc":"4155:6:44","nodeType":"YulIdentifier","src":"4155:6:44"},"nativeSrc":"4155:34:44","nodeType":"YulFunctionCall","src":"4155:34:44"},"nativeSrc":"4155:34:44","nodeType":"YulExpressionStatement","src":"4155:34:44"},{"nativeSrc":"4202:30:44","nodeType":"YulAssignment","src":"4202:30:44","value":{"arguments":[{"name":"ptr","nativeSrc":"4222:3:44","nodeType":"YulIdentifier","src":"4222:3:44"},{"kind":"number","nativeSrc":"4227:4:44","nodeType":"YulLiteral","src":"4227:4:44","type":"","value":"0x42"}],"functionName":{"name":"keccak256","nativeSrc":"4212:9:44","nodeType":"YulIdentifier","src":"4212:9:44"},"nativeSrc":"4212:20:44","nodeType":"YulFunctionCall","src":"4212:20:44"},"variableNames":[{"name":"digest","nativeSrc":"4202:6:44","nodeType":"YulIdentifier","src":"4202:6:44"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45158,"isOffset":false,"isSlot":false,"src":"4202:6:44","valueSize":1},{"declaration":45153,"isOffset":false,"isSlot":false,"src":"4126:15:44","valueSize":1},{"declaration":45155,"isOffset":false,"isSlot":false,"src":"4178:10:44","valueSize":1}],"flags":["memory-safe"],"id":45160,"nodeType":"InlineAssembly","src":"3993:249:44"}]},"documentation":{"id":45151,"nodeType":"StructuredDocumentation","src":"3438:431:44","text":" @dev Returns the keccak256 digest of an EIP-712 typed data (ERC-191 version `0x01`).\n The digest is calculated from a `domainSeparator` and a `structHash`, by prefixing them with\n `\\x19\\x01` and hashing the result. It corresponds to the hash signed by the\n https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] JSON-RPC method as part of EIP-712.\n See {ECDSA-recover}."},"implemented":true,"kind":"function","modifiers":[],"name":"toTypedDataHash","nameLocation":"3883:15:44","parameters":{"id":45156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45153,"mutability":"mutable","name":"domainSeparator","nameLocation":"3907:15:44","nodeType":"VariableDeclaration","scope":45162,"src":"3899:23:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3899:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":45155,"mutability":"mutable","name":"structHash","nameLocation":"3932:10:44","nodeType":"VariableDeclaration","scope":45162,"src":"3924:18:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45154,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3924:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3898:45:44"},"returnParameters":{"id":45159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45158,"mutability":"mutable","name":"digest","nameLocation":"3975:6:44","nodeType":"VariableDeclaration","scope":45162,"src":"3967:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3967:7:44","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3966:16:44"},"scope":45163,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"MessageHashUtils","contractDependencies":[],"contractKind":"library","documentation":{"id":45082,"nodeType":"StructuredDocumentation","src":"190:330:44","text":" @dev Signature message hash utilities for producing digests to be consumed by {ECDSA} recovery or signing.\n The library provides methods for generating a hash of a message that conforms to the\n https://eips.ethereum.org/EIPS/eip-191[ERC-191] and https://eips.ethereum.org/EIPS/eip-712[EIP 712]\n specifications."},"fullyImplemented":true,"linearizedBaseContracts":[45163],"name":"MessageHashUtils","nameLocation":"529:16:44","scope":45164,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"id":45,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","id":45176,"exportedSymbols":{"IERC165":[45175]},"nodeType":"SourceUnit","src":"115:756:45","nodes":[{"id":45165,"nodeType":"PragmaDirective","src":"115:25:45","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":45175,"nodeType":"ContractDefinition","src":"423:447:45","nodes":[{"id":45174,"nodeType":"FunctionDefinition","src":"792:76:45","nodes":[],"documentation":{"id":45167,"nodeType":"StructuredDocumentation","src":"447:340:45","text":" @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."},"functionSelector":"01ffc9a7","implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"801:17:45","parameters":{"id":45170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45169,"mutability":"mutable","name":"interfaceId","nameLocation":"826:11:45","nodeType":"VariableDeclaration","scope":45174,"src":"819:18:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45168,"name":"bytes4","nodeType":"ElementaryTypeName","src":"819:6:45","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"818:20:45"},"returnParameters":{"id":45173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45172,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45174,"src":"862:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45171,"name":"bool","nodeType":"ElementaryTypeName","src":"862:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"861:6:45"},"scope":45175,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","documentation":{"id":45166,"nodeType":"StructuredDocumentation","src":"142:280:45","text":" @dev Interface of the ERC-165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[ERC].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."},"fullyImplemented":false,"linearizedBaseContracts":[45175],"name":"IERC165","nameLocation":"433:7:45","scope":45176,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"id":46,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","id":46818,"exportedSymbols":{"Math":[46817],"Panic":[42457],"SafeCast":[48582]},"nodeType":"SourceUnit","src":"103:32260:46","nodes":[{"id":45177,"nodeType":"PragmaDirective","src":"103:24:46","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":45179,"nodeType":"ImportDirective","src":"129:35:46","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Panic.sol","file":"../Panic.sol","nameLocation":"-1:-1:-1","scope":46818,"sourceUnit":42458,"symbolAliases":[{"foreign":{"id":45178,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"137:5:46","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":45181,"nodeType":"ImportDirective","src":"165:40:46","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","file":"./SafeCast.sol","nameLocation":"-1:-1:-1","scope":46818,"sourceUnit":48583,"symbolAliases":[{"foreign":{"id":45180,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"173:8:46","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":46817,"nodeType":"ContractDefinition","src":"281:32081:46","nodes":[{"id":45187,"nodeType":"EnumDefinition","src":"300:169:46","nodes":[],"canonicalName":"Math.Rounding","members":[{"id":45183,"name":"Floor","nameLocation":"324:5:46","nodeType":"EnumValue","src":"324:5:46"},{"id":45184,"name":"Ceil","nameLocation":"367:4:46","nodeType":"EnumValue","src":"367:4:46"},{"id":45185,"name":"Trunc","nameLocation":"409:5:46","nodeType":"EnumValue","src":"409:5:46"},{"id":45186,"name":"Expand","nameLocation":"439:6:46","nodeType":"EnumValue","src":"439:6:46"}],"name":"Rounding","nameLocation":"305:8:46"},{"id":45201,"nodeType":"FunctionDefinition","src":"643:200:46","nodes":[],"body":{"id":45200,"nodeType":"Block","src":"731:112:46","nodes":[],"statements":[{"AST":{"nativeSrc":"766:71:46","nodeType":"YulBlock","src":"766:71:46","statements":[{"nativeSrc":"780:16:46","nodeType":"YulAssignment","src":"780:16:46","value":{"arguments":[{"name":"a","nativeSrc":"791:1:46","nodeType":"YulIdentifier","src":"791:1:46"},{"name":"b","nativeSrc":"794:1:46","nodeType":"YulIdentifier","src":"794:1:46"}],"functionName":{"name":"add","nativeSrc":"787:3:46","nodeType":"YulIdentifier","src":"787:3:46"},"nativeSrc":"787:9:46","nodeType":"YulFunctionCall","src":"787:9:46"},"variableNames":[{"name":"low","nativeSrc":"780:3:46","nodeType":"YulIdentifier","src":"780:3:46"}]},{"nativeSrc":"809:18:46","nodeType":"YulAssignment","src":"809:18:46","value":{"arguments":[{"name":"low","nativeSrc":"820:3:46","nodeType":"YulIdentifier","src":"820:3:46"},{"name":"a","nativeSrc":"825:1:46","nodeType":"YulIdentifier","src":"825:1:46"}],"functionName":{"name":"lt","nativeSrc":"817:2:46","nodeType":"YulIdentifier","src":"817:2:46"},"nativeSrc":"817:10:46","nodeType":"YulFunctionCall","src":"817:10:46"},"variableNames":[{"name":"high","nativeSrc":"809:4:46","nodeType":"YulIdentifier","src":"809:4:46"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45190,"isOffset":false,"isSlot":false,"src":"791:1:46","valueSize":1},{"declaration":45190,"isOffset":false,"isSlot":false,"src":"825:1:46","valueSize":1},{"declaration":45192,"isOffset":false,"isSlot":false,"src":"794:1:46","valueSize":1},{"declaration":45195,"isOffset":false,"isSlot":false,"src":"809:4:46","valueSize":1},{"declaration":45197,"isOffset":false,"isSlot":false,"src":"780:3:46","valueSize":1},{"declaration":45197,"isOffset":false,"isSlot":false,"src":"820:3:46","valueSize":1}],"flags":["memory-safe"],"id":45199,"nodeType":"InlineAssembly","src":"741:96:46"}]},"documentation":{"id":45188,"nodeType":"StructuredDocumentation","src":"475:163:46","text":" @dev Return the 512-bit addition of two uint256.\n The result is stored in two 256 variables such that sum = high * 2²⁵⁶ + low."},"implemented":true,"kind":"function","modifiers":[],"name":"add512","nameLocation":"652:6:46","parameters":{"id":45193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45190,"mutability":"mutable","name":"a","nameLocation":"667:1:46","nodeType":"VariableDeclaration","scope":45201,"src":"659:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45189,"name":"uint256","nodeType":"ElementaryTypeName","src":"659:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45192,"mutability":"mutable","name":"b","nameLocation":"678:1:46","nodeType":"VariableDeclaration","scope":45201,"src":"670:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45191,"name":"uint256","nodeType":"ElementaryTypeName","src":"670:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"658:22:46"},"returnParameters":{"id":45198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45195,"mutability":"mutable","name":"high","nameLocation":"712:4:46","nodeType":"VariableDeclaration","scope":45201,"src":"704:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45194,"name":"uint256","nodeType":"ElementaryTypeName","src":"704:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45197,"mutability":"mutable","name":"low","nameLocation":"726:3:46","nodeType":"VariableDeclaration","scope":45201,"src":"718:11:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45196,"name":"uint256","nodeType":"ElementaryTypeName","src":"718:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"703:27:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45215,"nodeType":"FunctionDefinition","src":"1027:550:46","nodes":[],"body":{"id":45214,"nodeType":"Block","src":"1115:462:46","nodes":[],"statements":[{"AST":{"nativeSrc":"1437:134:46","nodeType":"YulBlock","src":"1437:134:46","statements":[{"nativeSrc":"1451:30:46","nodeType":"YulVariableDeclaration","src":"1451:30:46","value":{"arguments":[{"name":"a","nativeSrc":"1468:1:46","nodeType":"YulIdentifier","src":"1468:1:46"},{"name":"b","nativeSrc":"1471:1:46","nodeType":"YulIdentifier","src":"1471:1:46"},{"arguments":[{"kind":"number","nativeSrc":"1478:1:46","nodeType":"YulLiteral","src":"1478:1:46","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"1474:3:46","nodeType":"YulIdentifier","src":"1474:3:46"},"nativeSrc":"1474:6:46","nodeType":"YulFunctionCall","src":"1474:6:46"}],"functionName":{"name":"mulmod","nativeSrc":"1461:6:46","nodeType":"YulIdentifier","src":"1461:6:46"},"nativeSrc":"1461:20:46","nodeType":"YulFunctionCall","src":"1461:20:46"},"variables":[{"name":"mm","nativeSrc":"1455:2:46","nodeType":"YulTypedName","src":"1455:2:46","type":""}]},{"nativeSrc":"1494:16:46","nodeType":"YulAssignment","src":"1494:16:46","value":{"arguments":[{"name":"a","nativeSrc":"1505:1:46","nodeType":"YulIdentifier","src":"1505:1:46"},{"name":"b","nativeSrc":"1508:1:46","nodeType":"YulIdentifier","src":"1508:1:46"}],"functionName":{"name":"mul","nativeSrc":"1501:3:46","nodeType":"YulIdentifier","src":"1501:3:46"},"nativeSrc":"1501:9:46","nodeType":"YulFunctionCall","src":"1501:9:46"},"variableNames":[{"name":"low","nativeSrc":"1494:3:46","nodeType":"YulIdentifier","src":"1494:3:46"}]},{"nativeSrc":"1523:38:46","nodeType":"YulAssignment","src":"1523:38:46","value":{"arguments":[{"arguments":[{"name":"mm","nativeSrc":"1539:2:46","nodeType":"YulIdentifier","src":"1539:2:46"},{"name":"low","nativeSrc":"1543:3:46","nodeType":"YulIdentifier","src":"1543:3:46"}],"functionName":{"name":"sub","nativeSrc":"1535:3:46","nodeType":"YulIdentifier","src":"1535:3:46"},"nativeSrc":"1535:12:46","nodeType":"YulFunctionCall","src":"1535:12:46"},{"arguments":[{"name":"mm","nativeSrc":"1552:2:46","nodeType":"YulIdentifier","src":"1552:2:46"},{"name":"low","nativeSrc":"1556:3:46","nodeType":"YulIdentifier","src":"1556:3:46"}],"functionName":{"name":"lt","nativeSrc":"1549:2:46","nodeType":"YulIdentifier","src":"1549:2:46"},"nativeSrc":"1549:11:46","nodeType":"YulFunctionCall","src":"1549:11:46"}],"functionName":{"name":"sub","nativeSrc":"1531:3:46","nodeType":"YulIdentifier","src":"1531:3:46"},"nativeSrc":"1531:30:46","nodeType":"YulFunctionCall","src":"1531:30:46"},"variableNames":[{"name":"high","nativeSrc":"1523:4:46","nodeType":"YulIdentifier","src":"1523:4:46"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45204,"isOffset":false,"isSlot":false,"src":"1468:1:46","valueSize":1},{"declaration":45204,"isOffset":false,"isSlot":false,"src":"1505:1:46","valueSize":1},{"declaration":45206,"isOffset":false,"isSlot":false,"src":"1471:1:46","valueSize":1},{"declaration":45206,"isOffset":false,"isSlot":false,"src":"1508:1:46","valueSize":1},{"declaration":45209,"isOffset":false,"isSlot":false,"src":"1523:4:46","valueSize":1},{"declaration":45211,"isOffset":false,"isSlot":false,"src":"1494:3:46","valueSize":1},{"declaration":45211,"isOffset":false,"isSlot":false,"src":"1543:3:46","valueSize":1},{"declaration":45211,"isOffset":false,"isSlot":false,"src":"1556:3:46","valueSize":1}],"flags":["memory-safe"],"id":45213,"nodeType":"InlineAssembly","src":"1412:159:46"}]},"documentation":{"id":45202,"nodeType":"StructuredDocumentation","src":"849:173:46","text":" @dev Return the 512-bit multiplication of two uint256.\n The result is stored in two 256 variables such that product = high * 2²⁵⁶ + low."},"implemented":true,"kind":"function","modifiers":[],"name":"mul512","nameLocation":"1036:6:46","parameters":{"id":45207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45204,"mutability":"mutable","name":"a","nameLocation":"1051:1:46","nodeType":"VariableDeclaration","scope":45215,"src":"1043:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45203,"name":"uint256","nodeType":"ElementaryTypeName","src":"1043:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45206,"mutability":"mutable","name":"b","nameLocation":"1062:1:46","nodeType":"VariableDeclaration","scope":45215,"src":"1054:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45205,"name":"uint256","nodeType":"ElementaryTypeName","src":"1054:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1042:22:46"},"returnParameters":{"id":45212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45209,"mutability":"mutable","name":"high","nameLocation":"1096:4:46","nodeType":"VariableDeclaration","scope":45215,"src":"1088:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45208,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45211,"mutability":"mutable","name":"low","nameLocation":"1110:3:46","nodeType":"VariableDeclaration","scope":45215,"src":"1102:11:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45210,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1087:27:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45250,"nodeType":"FunctionDefinition","src":"1693:240:46","nodes":[],"body":{"id":45249,"nodeType":"Block","src":"1784:149:46","nodes":[],"statements":[{"id":45248,"nodeType":"UncheckedBlock","src":"1794:133:46","statements":[{"assignments":[45228],"declarations":[{"constant":false,"id":45228,"mutability":"mutable","name":"c","nameLocation":"1826:1:46","nodeType":"VariableDeclaration","scope":45248,"src":"1818:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45227,"name":"uint256","nodeType":"ElementaryTypeName","src":"1818:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45232,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45229,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45218,"src":"1830:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":45230,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45220,"src":"1834:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1830:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1818:17:46"},{"expression":{"id":45237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45233,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45223,"src":"1849:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45234,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45228,"src":"1859:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":45235,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45218,"src":"1864:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1859:6:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1849:16:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45238,"nodeType":"ExpressionStatement","src":"1849:16:46"},{"expression":{"id":45246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45239,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45225,"src":"1879:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45240,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45228,"src":"1888:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":45243,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45223,"src":"1908:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45241,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"1892:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":45242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1901:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"1892:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":45244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1892:24:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1888:28:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1879:37:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45247,"nodeType":"ExpressionStatement","src":"1879:37:46"}]}]},"documentation":{"id":45216,"nodeType":"StructuredDocumentation","src":"1583:105:46","text":" @dev Returns the addition of two unsigned integers, with a success flag (no overflow)."},"implemented":true,"kind":"function","modifiers":[],"name":"tryAdd","nameLocation":"1702:6:46","parameters":{"id":45221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45218,"mutability":"mutable","name":"a","nameLocation":"1717:1:46","nodeType":"VariableDeclaration","scope":45250,"src":"1709:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45217,"name":"uint256","nodeType":"ElementaryTypeName","src":"1709:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45220,"mutability":"mutable","name":"b","nameLocation":"1728:1:46","nodeType":"VariableDeclaration","scope":45250,"src":"1720:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45219,"name":"uint256","nodeType":"ElementaryTypeName","src":"1720:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1708:22:46"},"returnParameters":{"id":45226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45223,"mutability":"mutable","name":"success","nameLocation":"1759:7:46","nodeType":"VariableDeclaration","scope":45250,"src":"1754:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45222,"name":"bool","nodeType":"ElementaryTypeName","src":"1754:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45225,"mutability":"mutable","name":"result","nameLocation":"1776:6:46","nodeType":"VariableDeclaration","scope":45250,"src":"1768:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45224,"name":"uint256","nodeType":"ElementaryTypeName","src":"1768:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1753:30:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45285,"nodeType":"FunctionDefinition","src":"2052:240:46","nodes":[],"body":{"id":45284,"nodeType":"Block","src":"2143:149:46","nodes":[],"statements":[{"id":45283,"nodeType":"UncheckedBlock","src":"2153:133:46","statements":[{"assignments":[45263],"declarations":[{"constant":false,"id":45263,"mutability":"mutable","name":"c","nameLocation":"2185:1:46","nodeType":"VariableDeclaration","scope":45283,"src":"2177:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45262,"name":"uint256","nodeType":"ElementaryTypeName","src":"2177:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45267,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45264,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45253,"src":"2189:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":45265,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45255,"src":"2193:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2189:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2177:17:46"},{"expression":{"id":45272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45268,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45258,"src":"2208:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45269,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45263,"src":"2218:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":45270,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45253,"src":"2223:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2218:6:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2208:16:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45273,"nodeType":"ExpressionStatement","src":"2208:16:46"},{"expression":{"id":45281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45274,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45260,"src":"2238:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45275,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45263,"src":"2247:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":45278,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45258,"src":"2267:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45276,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"2251:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":45277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2260:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"2251:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":45279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2251:24:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2247:28:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2238:37:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45282,"nodeType":"ExpressionStatement","src":"2238:37:46"}]}]},"documentation":{"id":45251,"nodeType":"StructuredDocumentation","src":"1939:108:46","text":" @dev Returns the subtraction of two unsigned integers, with a success flag (no overflow)."},"implemented":true,"kind":"function","modifiers":[],"name":"trySub","nameLocation":"2061:6:46","parameters":{"id":45256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45253,"mutability":"mutable","name":"a","nameLocation":"2076:1:46","nodeType":"VariableDeclaration","scope":45285,"src":"2068:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45252,"name":"uint256","nodeType":"ElementaryTypeName","src":"2068:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45255,"mutability":"mutable","name":"b","nameLocation":"2087:1:46","nodeType":"VariableDeclaration","scope":45285,"src":"2079:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45254,"name":"uint256","nodeType":"ElementaryTypeName","src":"2079:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2067:22:46"},"returnParameters":{"id":45261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45258,"mutability":"mutable","name":"success","nameLocation":"2118:7:46","nodeType":"VariableDeclaration","scope":45285,"src":"2113:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45257,"name":"bool","nodeType":"ElementaryTypeName","src":"2113:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45260,"mutability":"mutable","name":"result","nameLocation":"2135:6:46","nodeType":"VariableDeclaration","scope":45285,"src":"2127:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45259,"name":"uint256","nodeType":"ElementaryTypeName","src":"2127:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2112:30:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45315,"nodeType":"FunctionDefinition","src":"2414:482:46","nodes":[],"body":{"id":45314,"nodeType":"Block","src":"2505:391:46","nodes":[],"statements":[{"id":45313,"nodeType":"UncheckedBlock","src":"2515:375:46","statements":[{"assignments":[45298],"declarations":[{"constant":false,"id":45298,"mutability":"mutable","name":"c","nameLocation":"2547:1:46","nodeType":"VariableDeclaration","scope":45313,"src":"2539:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45297,"name":"uint256","nodeType":"ElementaryTypeName","src":"2539:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45302,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45299,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45288,"src":"2551:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45300,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45290,"src":"2555:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2551:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2539:17:46"},{"AST":{"nativeSrc":"2595:188:46","nodeType":"YulBlock","src":"2595:188:46","statements":[{"nativeSrc":"2727:42:46","nodeType":"YulAssignment","src":"2727:42:46","value":{"arguments":[{"arguments":[{"arguments":[{"name":"c","nativeSrc":"2748:1:46","nodeType":"YulIdentifier","src":"2748:1:46"},{"name":"a","nativeSrc":"2751:1:46","nodeType":"YulIdentifier","src":"2751:1:46"}],"functionName":{"name":"div","nativeSrc":"2744:3:46","nodeType":"YulIdentifier","src":"2744:3:46"},"nativeSrc":"2744:9:46","nodeType":"YulFunctionCall","src":"2744:9:46"},{"name":"b","nativeSrc":"2755:1:46","nodeType":"YulIdentifier","src":"2755:1:46"}],"functionName":{"name":"eq","nativeSrc":"2741:2:46","nodeType":"YulIdentifier","src":"2741:2:46"},"nativeSrc":"2741:16:46","nodeType":"YulFunctionCall","src":"2741:16:46"},{"arguments":[{"name":"a","nativeSrc":"2766:1:46","nodeType":"YulIdentifier","src":"2766:1:46"}],"functionName":{"name":"iszero","nativeSrc":"2759:6:46","nodeType":"YulIdentifier","src":"2759:6:46"},"nativeSrc":"2759:9:46","nodeType":"YulFunctionCall","src":"2759:9:46"}],"functionName":{"name":"or","nativeSrc":"2738:2:46","nodeType":"YulIdentifier","src":"2738:2:46"},"nativeSrc":"2738:31:46","nodeType":"YulFunctionCall","src":"2738:31:46"},"variableNames":[{"name":"success","nativeSrc":"2727:7:46","nodeType":"YulIdentifier","src":"2727:7:46"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45288,"isOffset":false,"isSlot":false,"src":"2751:1:46","valueSize":1},{"declaration":45288,"isOffset":false,"isSlot":false,"src":"2766:1:46","valueSize":1},{"declaration":45290,"isOffset":false,"isSlot":false,"src":"2755:1:46","valueSize":1},{"declaration":45298,"isOffset":false,"isSlot":false,"src":"2748:1:46","valueSize":1},{"declaration":45293,"isOffset":false,"isSlot":false,"src":"2727:7:46","valueSize":1}],"flags":["memory-safe"],"id":45303,"nodeType":"InlineAssembly","src":"2570:213:46"},{"expression":{"id":45311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45304,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45295,"src":"2842:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45305,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45298,"src":"2851:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":45308,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45293,"src":"2871:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45306,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"2855:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":45307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2864:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"2855:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":45309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2855:24:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2851:28:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2842:37:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45312,"nodeType":"ExpressionStatement","src":"2842:37:46"}]}]},"documentation":{"id":45286,"nodeType":"StructuredDocumentation","src":"2298:111:46","text":" @dev Returns the multiplication of two unsigned integers, with a success flag (no overflow)."},"implemented":true,"kind":"function","modifiers":[],"name":"tryMul","nameLocation":"2423:6:46","parameters":{"id":45291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45288,"mutability":"mutable","name":"a","nameLocation":"2438:1:46","nodeType":"VariableDeclaration","scope":45315,"src":"2430:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45287,"name":"uint256","nodeType":"ElementaryTypeName","src":"2430:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45290,"mutability":"mutable","name":"b","nameLocation":"2449:1:46","nodeType":"VariableDeclaration","scope":45315,"src":"2441:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45289,"name":"uint256","nodeType":"ElementaryTypeName","src":"2441:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2429:22:46"},"returnParameters":{"id":45296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45293,"mutability":"mutable","name":"success","nameLocation":"2480:7:46","nodeType":"VariableDeclaration","scope":45315,"src":"2475:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45292,"name":"bool","nodeType":"ElementaryTypeName","src":"2475:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45295,"mutability":"mutable","name":"result","nameLocation":"2497:6:46","nodeType":"VariableDeclaration","scope":45315,"src":"2489:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45294,"name":"uint256","nodeType":"ElementaryTypeName","src":"2489:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2474:30:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45336,"nodeType":"FunctionDefinition","src":"3020:322:46","nodes":[],"body":{"id":45335,"nodeType":"Block","src":"3111:231:46","nodes":[],"statements":[{"id":45334,"nodeType":"UncheckedBlock","src":"3121:215:46","statements":[{"expression":{"id":45331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45327,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45323,"src":"3145:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45328,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45320,"src":"3155:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":45329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3159:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3155:5:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3145:15:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45332,"nodeType":"ExpressionStatement","src":"3145:15:46"},{"AST":{"nativeSrc":"3199:127:46","nodeType":"YulBlock","src":"3199:127:46","statements":[{"nativeSrc":"3293:19:46","nodeType":"YulAssignment","src":"3293:19:46","value":{"arguments":[{"name":"a","nativeSrc":"3307:1:46","nodeType":"YulIdentifier","src":"3307:1:46"},{"name":"b","nativeSrc":"3310:1:46","nodeType":"YulIdentifier","src":"3310:1:46"}],"functionName":{"name":"div","nativeSrc":"3303:3:46","nodeType":"YulIdentifier","src":"3303:3:46"},"nativeSrc":"3303:9:46","nodeType":"YulFunctionCall","src":"3303:9:46"},"variableNames":[{"name":"result","nativeSrc":"3293:6:46","nodeType":"YulIdentifier","src":"3293:6:46"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45318,"isOffset":false,"isSlot":false,"src":"3307:1:46","valueSize":1},{"declaration":45320,"isOffset":false,"isSlot":false,"src":"3310:1:46","valueSize":1},{"declaration":45325,"isOffset":false,"isSlot":false,"src":"3293:6:46","valueSize":1}],"flags":["memory-safe"],"id":45333,"nodeType":"InlineAssembly","src":"3174:152:46"}]}]},"documentation":{"id":45316,"nodeType":"StructuredDocumentation","src":"2902:113:46","text":" @dev Returns the division of two unsigned integers, with a success flag (no division by zero)."},"implemented":true,"kind":"function","modifiers":[],"name":"tryDiv","nameLocation":"3029:6:46","parameters":{"id":45321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45318,"mutability":"mutable","name":"a","nameLocation":"3044:1:46","nodeType":"VariableDeclaration","scope":45336,"src":"3036:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45317,"name":"uint256","nodeType":"ElementaryTypeName","src":"3036:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45320,"mutability":"mutable","name":"b","nameLocation":"3055:1:46","nodeType":"VariableDeclaration","scope":45336,"src":"3047:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45319,"name":"uint256","nodeType":"ElementaryTypeName","src":"3047:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3035:22:46"},"returnParameters":{"id":45326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45323,"mutability":"mutable","name":"success","nameLocation":"3086:7:46","nodeType":"VariableDeclaration","scope":45336,"src":"3081:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45322,"name":"bool","nodeType":"ElementaryTypeName","src":"3081:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45325,"mutability":"mutable","name":"result","nameLocation":"3103:6:46","nodeType":"VariableDeclaration","scope":45336,"src":"3095:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45324,"name":"uint256","nodeType":"ElementaryTypeName","src":"3095:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3080:30:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45357,"nodeType":"FunctionDefinition","src":"3476:322:46","nodes":[],"body":{"id":45356,"nodeType":"Block","src":"3567:231:46","nodes":[],"statements":[{"id":45355,"nodeType":"UncheckedBlock","src":"3577:215:46","statements":[{"expression":{"id":45352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45348,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45344,"src":"3601:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45349,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45341,"src":"3611:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":45350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3615:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3611:5:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3601:15:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45353,"nodeType":"ExpressionStatement","src":"3601:15:46"},{"AST":{"nativeSrc":"3655:127:46","nodeType":"YulBlock","src":"3655:127:46","statements":[{"nativeSrc":"3749:19:46","nodeType":"YulAssignment","src":"3749:19:46","value":{"arguments":[{"name":"a","nativeSrc":"3763:1:46","nodeType":"YulIdentifier","src":"3763:1:46"},{"name":"b","nativeSrc":"3766:1:46","nodeType":"YulIdentifier","src":"3766:1:46"}],"functionName":{"name":"mod","nativeSrc":"3759:3:46","nodeType":"YulIdentifier","src":"3759:3:46"},"nativeSrc":"3759:9:46","nodeType":"YulFunctionCall","src":"3759:9:46"},"variableNames":[{"name":"result","nativeSrc":"3749:6:46","nodeType":"YulIdentifier","src":"3749:6:46"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45339,"isOffset":false,"isSlot":false,"src":"3763:1:46","valueSize":1},{"declaration":45341,"isOffset":false,"isSlot":false,"src":"3766:1:46","valueSize":1},{"declaration":45346,"isOffset":false,"isSlot":false,"src":"3749:6:46","valueSize":1}],"flags":["memory-safe"],"id":45354,"nodeType":"InlineAssembly","src":"3630:152:46"}]}]},"documentation":{"id":45337,"nodeType":"StructuredDocumentation","src":"3348:123:46","text":" @dev Returns the remainder of dividing two unsigned integers, with a success flag (no division by zero)."},"implemented":true,"kind":"function","modifiers":[],"name":"tryMod","nameLocation":"3485:6:46","parameters":{"id":45342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45339,"mutability":"mutable","name":"a","nameLocation":"3500:1:46","nodeType":"VariableDeclaration","scope":45357,"src":"3492:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45338,"name":"uint256","nodeType":"ElementaryTypeName","src":"3492:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45341,"mutability":"mutable","name":"b","nameLocation":"3511:1:46","nodeType":"VariableDeclaration","scope":45357,"src":"3503:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45340,"name":"uint256","nodeType":"ElementaryTypeName","src":"3503:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3491:22:46"},"returnParameters":{"id":45347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45344,"mutability":"mutable","name":"success","nameLocation":"3542:7:46","nodeType":"VariableDeclaration","scope":45357,"src":"3537:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45343,"name":"bool","nodeType":"ElementaryTypeName","src":"3537:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45346,"mutability":"mutable","name":"result","nameLocation":"3559:6:46","nodeType":"VariableDeclaration","scope":45357,"src":"3551:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45345,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3536:30:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45387,"nodeType":"FunctionDefinition","src":"3912:199:46","nodes":[],"body":{"id":45386,"nodeType":"Block","src":"3989:122:46","nodes":[],"statements":[{"assignments":[45368,45370],"declarations":[{"constant":false,"id":45368,"mutability":"mutable","name":"success","nameLocation":"4005:7:46","nodeType":"VariableDeclaration","scope":45386,"src":"4000:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45367,"name":"bool","nodeType":"ElementaryTypeName","src":"4000:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45370,"mutability":"mutable","name":"result","nameLocation":"4022:6:46","nodeType":"VariableDeclaration","scope":45386,"src":"4014:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45369,"name":"uint256","nodeType":"ElementaryTypeName","src":"4014:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45375,"initialValue":{"arguments":[{"id":45372,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45360,"src":"4039:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45373,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45362,"src":"4042:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45371,"name":"tryAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45250,"src":"4032:6:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (bool,uint256)"}},"id":45374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4032:12:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3999:45:46"},{"expression":{"arguments":[{"id":45377,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45368,"src":"4069:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45378,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45370,"src":"4078:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"arguments":[{"id":45381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4091:7:46","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":45380,"name":"uint256","nodeType":"ElementaryTypeName","src":"4091:7:46","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":45379,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4086:4:46","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":45382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4086:13:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":45383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4100:3:46","memberName":"max","nodeType":"MemberAccess","src":"4086:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45376,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45464,"src":"4061:7:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":45384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:43:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45366,"id":45385,"nodeType":"Return","src":"4054:50:46"}]},"documentation":{"id":45358,"nodeType":"StructuredDocumentation","src":"3804:103:46","text":" @dev Unsigned saturating addition, bounds to `2²⁵⁶ - 1` instead of overflowing."},"implemented":true,"kind":"function","modifiers":[],"name":"saturatingAdd","nameLocation":"3921:13:46","parameters":{"id":45363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45360,"mutability":"mutable","name":"a","nameLocation":"3943:1:46","nodeType":"VariableDeclaration","scope":45387,"src":"3935:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45359,"name":"uint256","nodeType":"ElementaryTypeName","src":"3935:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45362,"mutability":"mutable","name":"b","nameLocation":"3954:1:46","nodeType":"VariableDeclaration","scope":45387,"src":"3946:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45361,"name":"uint256","nodeType":"ElementaryTypeName","src":"3946:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3934:22:46"},"returnParameters":{"id":45366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45365,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45387,"src":"3980:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45364,"name":"uint256","nodeType":"ElementaryTypeName","src":"3980:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3979:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45407,"nodeType":"FunctionDefinition","src":"4217:150:46","nodes":[],"body":{"id":45406,"nodeType":"Block","src":"4294:73:46","nodes":[],"statements":[{"assignments":[null,45398],"declarations":[null,{"constant":false,"id":45398,"mutability":"mutable","name":"result","nameLocation":"4315:6:46","nodeType":"VariableDeclaration","scope":45406,"src":"4307:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45397,"name":"uint256","nodeType":"ElementaryTypeName","src":"4307:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45403,"initialValue":{"arguments":[{"id":45400,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45390,"src":"4332:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45401,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45392,"src":"4335:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45399,"name":"trySub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45285,"src":"4325:6:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (bool,uint256)"}},"id":45402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4325:12:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"4304:33:46"},{"expression":{"id":45404,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45398,"src":"4354:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45396,"id":45405,"nodeType":"Return","src":"4347:13:46"}]},"documentation":{"id":45388,"nodeType":"StructuredDocumentation","src":"4117:95:46","text":" @dev Unsigned saturating subtraction, bounds to zero instead of overflowing."},"implemented":true,"kind":"function","modifiers":[],"name":"saturatingSub","nameLocation":"4226:13:46","parameters":{"id":45393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45390,"mutability":"mutable","name":"a","nameLocation":"4248:1:46","nodeType":"VariableDeclaration","scope":45407,"src":"4240:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45389,"name":"uint256","nodeType":"ElementaryTypeName","src":"4240:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45392,"mutability":"mutable","name":"b","nameLocation":"4259:1:46","nodeType":"VariableDeclaration","scope":45407,"src":"4251:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45391,"name":"uint256","nodeType":"ElementaryTypeName","src":"4251:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4239:22:46"},"returnParameters":{"id":45396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45407,"src":"4285:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45394,"name":"uint256","nodeType":"ElementaryTypeName","src":"4285:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4284:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45437,"nodeType":"FunctionDefinition","src":"4487:199:46","nodes":[],"body":{"id":45436,"nodeType":"Block","src":"4564:122:46","nodes":[],"statements":[{"assignments":[45418,45420],"declarations":[{"constant":false,"id":45418,"mutability":"mutable","name":"success","nameLocation":"4580:7:46","nodeType":"VariableDeclaration","scope":45436,"src":"4575:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45417,"name":"bool","nodeType":"ElementaryTypeName","src":"4575:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45420,"mutability":"mutable","name":"result","nameLocation":"4597:6:46","nodeType":"VariableDeclaration","scope":45436,"src":"4589:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45419,"name":"uint256","nodeType":"ElementaryTypeName","src":"4589:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45425,"initialValue":{"arguments":[{"id":45422,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45410,"src":"4614:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45423,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45412,"src":"4617:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45421,"name":"tryMul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45315,"src":"4607:6:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (bool,uint256)"}},"id":45424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4607:12:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"4574:45:46"},{"expression":{"arguments":[{"id":45427,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45418,"src":"4644:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45428,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45420,"src":"4653:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"arguments":[{"id":45431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4666:7:46","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":45430,"name":"uint256","nodeType":"ElementaryTypeName","src":"4666:7:46","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":45429,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4661:4:46","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":45432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4661:13:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":45433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4675:3:46","memberName":"max","nodeType":"MemberAccess","src":"4661:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45426,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45464,"src":"4636:7:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":45434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4636:43:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45416,"id":45435,"nodeType":"Return","src":"4629:50:46"}]},"documentation":{"id":45408,"nodeType":"StructuredDocumentation","src":"4373:109:46","text":" @dev Unsigned saturating multiplication, bounds to `2²⁵⁶ - 1` instead of overflowing."},"implemented":true,"kind":"function","modifiers":[],"name":"saturatingMul","nameLocation":"4496:13:46","parameters":{"id":45413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45410,"mutability":"mutable","name":"a","nameLocation":"4518:1:46","nodeType":"VariableDeclaration","scope":45437,"src":"4510:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45409,"name":"uint256","nodeType":"ElementaryTypeName","src":"4510:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45412,"mutability":"mutable","name":"b","nameLocation":"4529:1:46","nodeType":"VariableDeclaration","scope":45437,"src":"4521:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45411,"name":"uint256","nodeType":"ElementaryTypeName","src":"4521:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4509:22:46"},"returnParameters":{"id":45416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45437,"src":"4555:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45414,"name":"uint256","nodeType":"ElementaryTypeName","src":"4555:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4554:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45464,"nodeType":"FunctionDefinition","src":"5087:294:46","nodes":[],"body":{"id":45463,"nodeType":"Block","src":"5174:207:46","nodes":[],"statements":[{"id":45462,"nodeType":"UncheckedBlock","src":"5184:191:46","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45449,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45444,"src":"5322:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45450,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45442,"src":"5328:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":45451,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45444,"src":"5332:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5328:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45453,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5327:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":45456,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45440,"src":"5353:9:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45454,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"5337:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":45455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5346:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"5337:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":45457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5337:26:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5327:36:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45459,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5326:38:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:42:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45448,"id":45461,"nodeType":"Return","src":"5315:49:46"}]}]},"documentation":{"id":45438,"nodeType":"StructuredDocumentation","src":"4692:390:46","text":" @dev Branchless ternary evaluation for `condition ? a : b`. Gas costs are constant.\n IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n However, the compiler may optimize Solidity ternary operations (i.e. `condition ? a : b`) to only compute\n one branch when needed, making this function more expensive."},"implemented":true,"kind":"function","modifiers":[],"name":"ternary","nameLocation":"5096:7:46","parameters":{"id":45445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45440,"mutability":"mutable","name":"condition","nameLocation":"5109:9:46","nodeType":"VariableDeclaration","scope":45464,"src":"5104:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45439,"name":"bool","nodeType":"ElementaryTypeName","src":"5104:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45442,"mutability":"mutable","name":"a","nameLocation":"5128:1:46","nodeType":"VariableDeclaration","scope":45464,"src":"5120:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45441,"name":"uint256","nodeType":"ElementaryTypeName","src":"5120:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45444,"mutability":"mutable","name":"b","nameLocation":"5139:1:46","nodeType":"VariableDeclaration","scope":45464,"src":"5131:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45443,"name":"uint256","nodeType":"ElementaryTypeName","src":"5131:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5103:38:46"},"returnParameters":{"id":45448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45464,"src":"5165:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45446,"name":"uint256","nodeType":"ElementaryTypeName","src":"5165:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5164:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45483,"nodeType":"FunctionDefinition","src":"5451:111:46","nodes":[],"body":{"id":45482,"nodeType":"Block","src":"5518:44:46","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45475,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45467,"src":"5543:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":45476,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45469,"src":"5547:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5543:5:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45478,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45467,"src":"5550:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45479,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45469,"src":"5553:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45474,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45464,"src":"5535:7:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":45480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5535:20:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45473,"id":45481,"nodeType":"Return","src":"5528:27:46"}]},"documentation":{"id":45465,"nodeType":"StructuredDocumentation","src":"5387:59:46","text":" @dev Returns the largest of two numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"5460:3:46","parameters":{"id":45470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45467,"mutability":"mutable","name":"a","nameLocation":"5472:1:46","nodeType":"VariableDeclaration","scope":45483,"src":"5464:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45466,"name":"uint256","nodeType":"ElementaryTypeName","src":"5464:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45469,"mutability":"mutable","name":"b","nameLocation":"5483:1:46","nodeType":"VariableDeclaration","scope":45483,"src":"5475:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45468,"name":"uint256","nodeType":"ElementaryTypeName","src":"5475:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5463:22:46"},"returnParameters":{"id":45473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45483,"src":"5509:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45471,"name":"uint256","nodeType":"ElementaryTypeName","src":"5509:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5508:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45502,"nodeType":"FunctionDefinition","src":"5633:111:46","nodes":[],"body":{"id":45501,"nodeType":"Block","src":"5700:44:46","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45494,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45486,"src":"5725:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":45495,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45488,"src":"5729:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5725:5:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45497,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45486,"src":"5732:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45498,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45488,"src":"5735:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45493,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45464,"src":"5717:7:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":45499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5717:20:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45492,"id":45500,"nodeType":"Return","src":"5710:27:46"}]},"documentation":{"id":45484,"nodeType":"StructuredDocumentation","src":"5568:60:46","text":" @dev Returns the smallest of two numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"5642:3:46","parameters":{"id":45489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45486,"mutability":"mutable","name":"a","nameLocation":"5654:1:46","nodeType":"VariableDeclaration","scope":45502,"src":"5646:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45485,"name":"uint256","nodeType":"ElementaryTypeName","src":"5646:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45488,"mutability":"mutable","name":"b","nameLocation":"5665:1:46","nodeType":"VariableDeclaration","scope":45502,"src":"5657:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45487,"name":"uint256","nodeType":"ElementaryTypeName","src":"5657:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5645:22:46"},"returnParameters":{"id":45492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45502,"src":"5691:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45490,"name":"uint256","nodeType":"ElementaryTypeName","src":"5691:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5690:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45525,"nodeType":"FunctionDefinition","src":"5857:153:46","nodes":[],"body":{"id":45524,"nodeType":"Block","src":"5928:82:46","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45512,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45505,"src":"5983:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":45513,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45507,"src":"5987:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5983:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45515,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5982:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45516,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45505,"src":"5993:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":45517,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45507,"src":"5997:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5993:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45519,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5992:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":45520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6002:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5992:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5982:21:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45511,"id":45523,"nodeType":"Return","src":"5975:28:46"}]},"documentation":{"id":45503,"nodeType":"StructuredDocumentation","src":"5750:102:46","text":" @dev Returns the average of two numbers. The result is rounded towards\n zero."},"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"5866:7:46","parameters":{"id":45508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45505,"mutability":"mutable","name":"a","nameLocation":"5882:1:46","nodeType":"VariableDeclaration","scope":45525,"src":"5874:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45504,"name":"uint256","nodeType":"ElementaryTypeName","src":"5874:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45507,"mutability":"mutable","name":"b","nameLocation":"5893:1:46","nodeType":"VariableDeclaration","scope":45525,"src":"5885:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45506,"name":"uint256","nodeType":"ElementaryTypeName","src":"5885:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5873:22:46"},"returnParameters":{"id":45511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45510,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45525,"src":"5919:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45509,"name":"uint256","nodeType":"ElementaryTypeName","src":"5919:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5918:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45566,"nodeType":"FunctionDefinition","src":"6231:704:46","nodes":[],"body":{"id":45565,"nodeType":"Block","src":"6302:633:46","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45535,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45530,"src":"6316:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":45536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6321:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6316:6:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45546,"nodeType":"IfStatement","src":"6312:150:46","trueBody":{"id":45545,"nodeType":"Block","src":"6324:138:46","statements":[{"expression":{"arguments":[{"expression":{"id":45541,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"6428:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":45542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6434:16:46","memberName":"DIVISION_BY_ZERO","nodeType":"MemberAccess","referencedDeclaration":42424,"src":"6428:22:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45538,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"6416:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":45540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6422:5:46","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":42456,"src":"6416:11:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":45543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:35:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45544,"nodeType":"ExpressionStatement","src":"6416:35:46"}]}},{"id":45564,"nodeType":"UncheckedBlock","src":"6845:84:46","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45549,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45528,"src":"6892:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":45550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6896:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6892:5:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45547,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"6876:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":45548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6885:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"6876:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":45552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6876:22:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45553,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45528,"src":"6903:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":45554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6907:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6903:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45556,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6902:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":45557,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45530,"src":"6912:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6902:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":45559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6916:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6902:15:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45561,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6901:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6876:42:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45534,"id":45563,"nodeType":"Return","src":"6869:49:46"}]}]},"documentation":{"id":45526,"nodeType":"StructuredDocumentation","src":"6016:210:46","text":" @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds towards infinity instead\n of rounding towards zero."},"implemented":true,"kind":"function","modifiers":[],"name":"ceilDiv","nameLocation":"6240:7:46","parameters":{"id":45531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45528,"mutability":"mutable","name":"a","nameLocation":"6256:1:46","nodeType":"VariableDeclaration","scope":45566,"src":"6248:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45527,"name":"uint256","nodeType":"ElementaryTypeName","src":"6248:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45530,"mutability":"mutable","name":"b","nameLocation":"6267:1:46","nodeType":"VariableDeclaration","scope":45566,"src":"6259:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45529,"name":"uint256","nodeType":"ElementaryTypeName","src":"6259:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6247:22:46"},"returnParameters":{"id":45534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45533,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45566,"src":"6293:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45532,"name":"uint256","nodeType":"ElementaryTypeName","src":"6293:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6292:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45702,"nodeType":"FunctionDefinition","src":"7258:3683:46","nodes":[],"body":{"id":45701,"nodeType":"Block","src":"7356:3585:46","nodes":[],"statements":[{"id":45700,"nodeType":"UncheckedBlock","src":"7366:3569:46","statements":[{"assignments":[45579,45581],"declarations":[{"constant":false,"id":45579,"mutability":"mutable","name":"high","nameLocation":"7399:4:46","nodeType":"VariableDeclaration","scope":45700,"src":"7391:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45578,"name":"uint256","nodeType":"ElementaryTypeName","src":"7391:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45581,"mutability":"mutable","name":"low","nameLocation":"7413:3:46","nodeType":"VariableDeclaration","scope":45700,"src":"7405:11:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45580,"name":"uint256","nodeType":"ElementaryTypeName","src":"7405:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45586,"initialValue":{"arguments":[{"id":45583,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45569,"src":"7427:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45584,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45571,"src":"7430:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45582,"name":"mul512","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45215,"src":"7420:6:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256,uint256)"}},"id":45585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7420:12:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7390:42:46"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45587,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45579,"src":"7514:4:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":45588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7522:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7514:9:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45595,"nodeType":"IfStatement","src":"7510:365:46","trueBody":{"id":45594,"nodeType":"Block","src":"7525:350:46","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45590,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45581,"src":"7843:3:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":45591,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"7849:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7843:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45577,"id":45593,"nodeType":"Return","src":"7836:24:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45596,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"7985:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":45597,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45579,"src":"8000:4:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7985:19:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45614,"nodeType":"IfStatement","src":"7981:142:46","trueBody":{"id":45613,"nodeType":"Block","src":"8006:117:46","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45603,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"8044:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":45604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8059:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8044:16:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":45606,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"8062:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":45607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8068:16:46","memberName":"DIVISION_BY_ZERO","nodeType":"MemberAccess","referencedDeclaration":42424,"src":"8062:22:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":45608,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"8086:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":45609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8092:14:46","memberName":"UNDER_OVERFLOW","nodeType":"MemberAccess","referencedDeclaration":42420,"src":"8086:20:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45602,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45464,"src":"8036:7:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":45610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8036:71:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45599,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"8024:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":45601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8030:5:46","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":42456,"src":"8024:11:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":45611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8024:84:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45612,"nodeType":"ExpressionStatement","src":"8024:84:46"}]}},{"assignments":[45616],"declarations":[{"constant":false,"id":45616,"mutability":"mutable","name":"remainder","nameLocation":"8383:9:46","nodeType":"VariableDeclaration","scope":45700,"src":"8375:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45615,"name":"uint256","nodeType":"ElementaryTypeName","src":"8375:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45617,"nodeType":"VariableDeclarationStatement","src":"8375:17:46"},{"AST":{"nativeSrc":"8431:283:46","nodeType":"YulBlock","src":"8431:283:46","statements":[{"nativeSrc":"8500:38:46","nodeType":"YulAssignment","src":"8500:38:46","value":{"arguments":[{"name":"x","nativeSrc":"8520:1:46","nodeType":"YulIdentifier","src":"8520:1:46"},{"name":"y","nativeSrc":"8523:1:46","nodeType":"YulIdentifier","src":"8523:1:46"},{"name":"denominator","nativeSrc":"8526:11:46","nodeType":"YulIdentifier","src":"8526:11:46"}],"functionName":{"name":"mulmod","nativeSrc":"8513:6:46","nodeType":"YulIdentifier","src":"8513:6:46"},"nativeSrc":"8513:25:46","nodeType":"YulFunctionCall","src":"8513:25:46"},"variableNames":[{"name":"remainder","nativeSrc":"8500:9:46","nodeType":"YulIdentifier","src":"8500:9:46"}]},{"nativeSrc":"8620:37:46","nodeType":"YulAssignment","src":"8620:37:46","value":{"arguments":[{"name":"high","nativeSrc":"8632:4:46","nodeType":"YulIdentifier","src":"8632:4:46"},{"arguments":[{"name":"remainder","nativeSrc":"8641:9:46","nodeType":"YulIdentifier","src":"8641:9:46"},{"name":"low","nativeSrc":"8652:3:46","nodeType":"YulIdentifier","src":"8652:3:46"}],"functionName":{"name":"gt","nativeSrc":"8638:2:46","nodeType":"YulIdentifier","src":"8638:2:46"},"nativeSrc":"8638:18:46","nodeType":"YulFunctionCall","src":"8638:18:46"}],"functionName":{"name":"sub","nativeSrc":"8628:3:46","nodeType":"YulIdentifier","src":"8628:3:46"},"nativeSrc":"8628:29:46","nodeType":"YulFunctionCall","src":"8628:29:46"},"variableNames":[{"name":"high","nativeSrc":"8620:4:46","nodeType":"YulIdentifier","src":"8620:4:46"}]},{"nativeSrc":"8674:26:46","nodeType":"YulAssignment","src":"8674:26:46","value":{"arguments":[{"name":"low","nativeSrc":"8685:3:46","nodeType":"YulIdentifier","src":"8685:3:46"},{"name":"remainder","nativeSrc":"8690:9:46","nodeType":"YulIdentifier","src":"8690:9:46"}],"functionName":{"name":"sub","nativeSrc":"8681:3:46","nodeType":"YulIdentifier","src":"8681:3:46"},"nativeSrc":"8681:19:46","nodeType":"YulFunctionCall","src":"8681:19:46"},"variableNames":[{"name":"low","nativeSrc":"8674:3:46","nodeType":"YulIdentifier","src":"8674:3:46"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45573,"isOffset":false,"isSlot":false,"src":"8526:11:46","valueSize":1},{"declaration":45579,"isOffset":false,"isSlot":false,"src":"8620:4:46","valueSize":1},{"declaration":45579,"isOffset":false,"isSlot":false,"src":"8632:4:46","valueSize":1},{"declaration":45581,"isOffset":false,"isSlot":false,"src":"8652:3:46","valueSize":1},{"declaration":45581,"isOffset":false,"isSlot":false,"src":"8674:3:46","valueSize":1},{"declaration":45581,"isOffset":false,"isSlot":false,"src":"8685:3:46","valueSize":1},{"declaration":45616,"isOffset":false,"isSlot":false,"src":"8500:9:46","valueSize":1},{"declaration":45616,"isOffset":false,"isSlot":false,"src":"8641:9:46","valueSize":1},{"declaration":45616,"isOffset":false,"isSlot":false,"src":"8690:9:46","valueSize":1},{"declaration":45569,"isOffset":false,"isSlot":false,"src":"8520:1:46","valueSize":1},{"declaration":45571,"isOffset":false,"isSlot":false,"src":"8523:1:46","valueSize":1}],"flags":["memory-safe"],"id":45618,"nodeType":"InlineAssembly","src":"8406:308:46"},{"assignments":[45620],"declarations":[{"constant":false,"id":45620,"mutability":"mutable","name":"twos","nameLocation":"8926:4:46","nodeType":"VariableDeclaration","scope":45700,"src":"8918:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45619,"name":"uint256","nodeType":"ElementaryTypeName","src":"8918:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45627,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45621,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"8933:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"30","id":45622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8948:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":45623,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"8952:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8948:15:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45625,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8947:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8933:31:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8918:46:46"},{"AST":{"nativeSrc":"9003:359:46","nodeType":"YulBlock","src":"9003:359:46","statements":[{"nativeSrc":"9068:37:46","nodeType":"YulAssignment","src":"9068:37:46","value":{"arguments":[{"name":"denominator","nativeSrc":"9087:11:46","nodeType":"YulIdentifier","src":"9087:11:46"},{"name":"twos","nativeSrc":"9100:4:46","nodeType":"YulIdentifier","src":"9100:4:46"}],"functionName":{"name":"div","nativeSrc":"9083:3:46","nodeType":"YulIdentifier","src":"9083:3:46"},"nativeSrc":"9083:22:46","nodeType":"YulFunctionCall","src":"9083:22:46"},"variableNames":[{"name":"denominator","nativeSrc":"9068:11:46","nodeType":"YulIdentifier","src":"9068:11:46"}]},{"nativeSrc":"9169:21:46","nodeType":"YulAssignment","src":"9169:21:46","value":{"arguments":[{"name":"low","nativeSrc":"9180:3:46","nodeType":"YulIdentifier","src":"9180:3:46"},{"name":"twos","nativeSrc":"9185:4:46","nodeType":"YulIdentifier","src":"9185:4:46"}],"functionName":{"name":"div","nativeSrc":"9176:3:46","nodeType":"YulIdentifier","src":"9176:3:46"},"nativeSrc":"9176:14:46","nodeType":"YulFunctionCall","src":"9176:14:46"},"variableNames":[{"name":"low","nativeSrc":"9169:3:46","nodeType":"YulIdentifier","src":"9169:3:46"}]},{"nativeSrc":"9309:39:46","nodeType":"YulAssignment","src":"9309:39:46","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"9329:1:46","nodeType":"YulLiteral","src":"9329:1:46","type":"","value":"0"},{"name":"twos","nativeSrc":"9332:4:46","nodeType":"YulIdentifier","src":"9332:4:46"}],"functionName":{"name":"sub","nativeSrc":"9325:3:46","nodeType":"YulIdentifier","src":"9325:3:46"},"nativeSrc":"9325:12:46","nodeType":"YulFunctionCall","src":"9325:12:46"},{"name":"twos","nativeSrc":"9339:4:46","nodeType":"YulIdentifier","src":"9339:4:46"}],"functionName":{"name":"div","nativeSrc":"9321:3:46","nodeType":"YulIdentifier","src":"9321:3:46"},"nativeSrc":"9321:23:46","nodeType":"YulFunctionCall","src":"9321:23:46"},{"kind":"number","nativeSrc":"9346:1:46","nodeType":"YulLiteral","src":"9346:1:46","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"9317:3:46","nodeType":"YulIdentifier","src":"9317:3:46"},"nativeSrc":"9317:31:46","nodeType":"YulFunctionCall","src":"9317:31:46"},"variableNames":[{"name":"twos","nativeSrc":"9309:4:46","nodeType":"YulIdentifier","src":"9309:4:46"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45573,"isOffset":false,"isSlot":false,"src":"9068:11:46","valueSize":1},{"declaration":45573,"isOffset":false,"isSlot":false,"src":"9087:11:46","valueSize":1},{"declaration":45581,"isOffset":false,"isSlot":false,"src":"9169:3:46","valueSize":1},{"declaration":45581,"isOffset":false,"isSlot":false,"src":"9180:3:46","valueSize":1},{"declaration":45620,"isOffset":false,"isSlot":false,"src":"9100:4:46","valueSize":1},{"declaration":45620,"isOffset":false,"isSlot":false,"src":"9185:4:46","valueSize":1},{"declaration":45620,"isOffset":false,"isSlot":false,"src":"9309:4:46","valueSize":1},{"declaration":45620,"isOffset":false,"isSlot":false,"src":"9332:4:46","valueSize":1},{"declaration":45620,"isOffset":false,"isSlot":false,"src":"9339:4:46","valueSize":1}],"flags":["memory-safe"],"id":45628,"nodeType":"InlineAssembly","src":"8978:384:46"},{"expression":{"id":45633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45629,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45581,"src":"9425:3:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45630,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45579,"src":"9432:4:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45631,"name":"twos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45620,"src":"9439:4:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9432:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9425:18:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45634,"nodeType":"ExpressionStatement","src":"9425:18:46"},{"assignments":[45636],"declarations":[{"constant":false,"id":45636,"mutability":"mutable","name":"inverse","nameLocation":"9786:7:46","nodeType":"VariableDeclaration","scope":45700,"src":"9778:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45635,"name":"uint256","nodeType":"ElementaryTypeName","src":"9778:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45643,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":45637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9797:1:46","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45638,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"9801:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9797:15:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45640,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9796:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"hexValue":"32","id":45641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9816:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9796:21:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9778:39:46"},{"expression":{"id":45650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45644,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10034:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10045:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45646,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"10049:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45647,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10063:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10049:21:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10045:25:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10034:36:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45651,"nodeType":"ExpressionStatement","src":"10034:36:46"},{"expression":{"id":45658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45652,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10104:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10115:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45654,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"10119:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45655,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10133:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10119:21:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10115:25:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10104:36:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45659,"nodeType":"ExpressionStatement","src":"10104:36:46"},{"expression":{"id":45666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45660,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10176:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10187:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45662,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"10191:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45663,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10205:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10191:21:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10187:25:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10176:36:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45667,"nodeType":"ExpressionStatement","src":"10176:36:46"},{"expression":{"id":45674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45668,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10247:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10258:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45670,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"10262:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45671,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10276:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10262:21:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10258:25:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10247:36:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45675,"nodeType":"ExpressionStatement","src":"10247:36:46"},{"expression":{"id":45682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45676,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10320:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10331:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45678,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"10335:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45679,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10349:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10335:21:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10331:25:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10320:36:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45683,"nodeType":"ExpressionStatement","src":"10320:36:46"},{"expression":{"id":45690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45684,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10394:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10405:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45686,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45573,"src":"10409:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45687,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10423:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10409:21:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10405:25:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10394:36:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45691,"nodeType":"ExpressionStatement","src":"10394:36:46"},{"expression":{"id":45696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45692,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45576,"src":"10875:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45693,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45581,"src":"10884:3:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45694,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"10890:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10884:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10875:22:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45697,"nodeType":"ExpressionStatement","src":"10875:22:46"},{"expression":{"id":45698,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45576,"src":"10918:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45577,"id":45699,"nodeType":"Return","src":"10911:13:46"}]}]},"documentation":{"id":45567,"nodeType":"StructuredDocumentation","src":"6941:312:46","text":" @dev Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n denominator == 0.\n Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n Uniswap Labs also under MIT license."},"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"7267:6:46","parameters":{"id":45574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45569,"mutability":"mutable","name":"x","nameLocation":"7282:1:46","nodeType":"VariableDeclaration","scope":45702,"src":"7274:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45568,"name":"uint256","nodeType":"ElementaryTypeName","src":"7274:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45571,"mutability":"mutable","name":"y","nameLocation":"7293:1:46","nodeType":"VariableDeclaration","scope":45702,"src":"7285:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45570,"name":"uint256","nodeType":"ElementaryTypeName","src":"7285:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45573,"mutability":"mutable","name":"denominator","nameLocation":"7304:11:46","nodeType":"VariableDeclaration","scope":45702,"src":"7296:19:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45572,"name":"uint256","nodeType":"ElementaryTypeName","src":"7296:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7273:43:46"},"returnParameters":{"id":45577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45576,"mutability":"mutable","name":"result","nameLocation":"7348:6:46","nodeType":"VariableDeclaration","scope":45702,"src":"7340:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45575,"name":"uint256","nodeType":"ElementaryTypeName","src":"7340:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7339:16:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45739,"nodeType":"FunctionDefinition","src":"11070:238:46","nodes":[],"body":{"id":45738,"nodeType":"Block","src":"11180:128:46","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":45718,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45705,"src":"11204:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45719,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45707,"src":"11207:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45720,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45709,"src":"11210:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45717,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[45702,45739],"referencedDeclaration":45702,"src":"11197:6:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":45721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11197:25:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":45725,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45712,"src":"11258:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}],"id":45724,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46795,"src":"11241:16:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$45187_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":45726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11241:26:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":45728,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45705,"src":"11278:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45729,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45707,"src":"11281:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45730,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45709,"src":"11284:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45727,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"11271:6:46","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":45731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11271:25:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":45732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11299:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11271:29:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11241:59:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45722,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"11225:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":45723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11234:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"11225:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":45735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11225:76:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11197:104:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45716,"id":45737,"nodeType":"Return","src":"11190:111:46"}]},"documentation":{"id":45703,"nodeType":"StructuredDocumentation","src":"10947:118:46","text":" @dev Calculates x * y / denominator with full precision, following the selected rounding direction."},"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"11079:6:46","parameters":{"id":45713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45705,"mutability":"mutable","name":"x","nameLocation":"11094:1:46","nodeType":"VariableDeclaration","scope":45739,"src":"11086:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45704,"name":"uint256","nodeType":"ElementaryTypeName","src":"11086:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45707,"mutability":"mutable","name":"y","nameLocation":"11105:1:46","nodeType":"VariableDeclaration","scope":45739,"src":"11097:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45706,"name":"uint256","nodeType":"ElementaryTypeName","src":"11097:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45709,"mutability":"mutable","name":"denominator","nameLocation":"11116:11:46","nodeType":"VariableDeclaration","scope":45739,"src":"11108:19:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45708,"name":"uint256","nodeType":"ElementaryTypeName","src":"11108:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45712,"mutability":"mutable","name":"rounding","nameLocation":"11138:8:46","nodeType":"VariableDeclaration","scope":45739,"src":"11129:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"},"typeName":{"id":45711,"nodeType":"UserDefinedTypeName","pathNode":{"id":45710,"name":"Rounding","nameLocations":["11129:8:46"],"nodeType":"IdentifierPath","referencedDeclaration":45187,"src":"11129:8:46"},"referencedDeclaration":45187,"src":"11129:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"11085:62:46"},"returnParameters":{"id":45716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45715,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45739,"src":"11171:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45714,"name":"uint256","nodeType":"ElementaryTypeName","src":"11171:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11170:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45789,"nodeType":"FunctionDefinition","src":"11430:331:46","nodes":[],"body":{"id":45788,"nodeType":"Block","src":"11516:245:46","nodes":[],"statements":[{"id":45787,"nodeType":"UncheckedBlock","src":"11526:229:46","statements":[{"assignments":[45752,45754],"declarations":[{"constant":false,"id":45752,"mutability":"mutable","name":"high","nameLocation":"11559:4:46","nodeType":"VariableDeclaration","scope":45787,"src":"11551:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45751,"name":"uint256","nodeType":"ElementaryTypeName","src":"11551:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45754,"mutability":"mutable","name":"low","nameLocation":"11573:3:46","nodeType":"VariableDeclaration","scope":45787,"src":"11565:11:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45753,"name":"uint256","nodeType":"ElementaryTypeName","src":"11565:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45759,"initialValue":{"arguments":[{"id":45756,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45742,"src":"11587:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45757,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45744,"src":"11590:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45755,"name":"mul512","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45215,"src":"11580:6:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256,uint256)"}},"id":45758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11580:12:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11550:42:46"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45760,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45752,"src":"11610:4:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":45761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11618:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":45762,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45746,"src":"11623:1:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11618:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11610:14:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45773,"nodeType":"IfStatement","src":"11606:86:46","trueBody":{"id":45772,"nodeType":"Block","src":"11626:66:46","statements":[{"expression":{"arguments":[{"expression":{"id":45768,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"11656:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":45769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11662:14:46","memberName":"UNDER_OVERFLOW","nodeType":"MemberAccess","referencedDeclaration":42420,"src":"11656:20:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45765,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"11644:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":45767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11650:5:46","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":42456,"src":"11644:11:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":45770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11644:33:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45771,"nodeType":"ExpressionStatement","src":"11644:33:46"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45774,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45752,"src":"11713:4:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint16","typeString":"uint16"},"id":45777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":45775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11722:3:46","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":45776,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45746,"src":"11728:1:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11722:7:46","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"id":45778,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11721:9:46","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"11713:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45780,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11712:19:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45781,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45754,"src":"11735:3:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":45782,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45746,"src":"11742:1:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11735:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45784,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11734:10:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11712:32:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45750,"id":45786,"nodeType":"Return","src":"11705:39:46"}]}]},"documentation":{"id":45740,"nodeType":"StructuredDocumentation","src":"11314:111:46","text":" @dev Calculates floor(x * y >> n) with full precision. Throws if result overflows a uint256."},"implemented":true,"kind":"function","modifiers":[],"name":"mulShr","nameLocation":"11439:6:46","parameters":{"id":45747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45742,"mutability":"mutable","name":"x","nameLocation":"11454:1:46","nodeType":"VariableDeclaration","scope":45789,"src":"11446:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45741,"name":"uint256","nodeType":"ElementaryTypeName","src":"11446:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45744,"mutability":"mutable","name":"y","nameLocation":"11465:1:46","nodeType":"VariableDeclaration","scope":45789,"src":"11457:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45743,"name":"uint256","nodeType":"ElementaryTypeName","src":"11457:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45746,"mutability":"mutable","name":"n","nameLocation":"11474:1:46","nodeType":"VariableDeclaration","scope":45789,"src":"11468:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":45745,"name":"uint8","nodeType":"ElementaryTypeName","src":"11468:5:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"11445:31:46"},"returnParameters":{"id":45750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45749,"mutability":"mutable","name":"result","nameLocation":"11508:6:46","nodeType":"VariableDeclaration","scope":45789,"src":"11500:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45748,"name":"uint256","nodeType":"ElementaryTypeName","src":"11500:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11499:16:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45828,"nodeType":"FunctionDefinition","src":"11881:211:46","nodes":[],"body":{"id":45827,"nodeType":"Block","src":"11979:113:46","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":45805,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45792,"src":"12003:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45806,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45794,"src":"12006:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45807,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45796,"src":"12009:1:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":45804,"name":"mulShr","nodeType":"Identifier","overloadedDeclarations":[45789,45828],"referencedDeclaration":45789,"src":"11996:6:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint8) pure returns (uint256)"}},"id":45808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11996:15:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":45812,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45799,"src":"12047:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}],"id":45811,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46795,"src":"12030:16:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$45187_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":45813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12030:26:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":45815,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45792,"src":"12067:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45816,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45794,"src":"12070:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":45817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12073:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":45818,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45796,"src":"12078:1:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12073:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45814,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"12060:6:46","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":45820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12060:20:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":45821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12083:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12060:24:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12030:54:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45809,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"12014:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":45810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12023:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"12014:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":45824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12014:71:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11996:89:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45803,"id":45826,"nodeType":"Return","src":"11989:96:46"}]},"documentation":{"id":45790,"nodeType":"StructuredDocumentation","src":"11767:109:46","text":" @dev Calculates x * y >> n with full precision, following the selected rounding direction."},"implemented":true,"kind":"function","modifiers":[],"name":"mulShr","nameLocation":"11890:6:46","parameters":{"id":45800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45792,"mutability":"mutable","name":"x","nameLocation":"11905:1:46","nodeType":"VariableDeclaration","scope":45828,"src":"11897:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45791,"name":"uint256","nodeType":"ElementaryTypeName","src":"11897:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45794,"mutability":"mutable","name":"y","nameLocation":"11916:1:46","nodeType":"VariableDeclaration","scope":45828,"src":"11908:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45793,"name":"uint256","nodeType":"ElementaryTypeName","src":"11908:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45796,"mutability":"mutable","name":"n","nameLocation":"11925:1:46","nodeType":"VariableDeclaration","scope":45828,"src":"11919:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":45795,"name":"uint8","nodeType":"ElementaryTypeName","src":"11919:5:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":45799,"mutability":"mutable","name":"rounding","nameLocation":"11937:8:46","nodeType":"VariableDeclaration","scope":45828,"src":"11928:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"},"typeName":{"id":45798,"nodeType":"UserDefinedTypeName","pathNode":{"id":45797,"name":"Rounding","nameLocations":["11928:8:46"],"nodeType":"IdentifierPath","referencedDeclaration":45187,"src":"11928:8:46"},"referencedDeclaration":45187,"src":"11928:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"11896:50:46"},"returnParameters":{"id":45803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45802,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45828,"src":"11970:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45801,"name":"uint256","nodeType":"ElementaryTypeName","src":"11970:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11969:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45925,"nodeType":"FunctionDefinition","src":"12656:1919:46","nodes":[],"body":{"id":45924,"nodeType":"Block","src":"12726:1849:46","nodes":[],"statements":[{"id":45923,"nodeType":"UncheckedBlock","src":"12736:1833:46","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45838,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45833,"src":"12764:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":45839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12769:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12764:6:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45843,"nodeType":"IfStatement","src":"12760:20:46","trueBody":{"expression":{"hexValue":"30","id":45841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12779:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":45837,"id":45842,"nodeType":"Return","src":"12772:8:46"}},{"assignments":[45845],"declarations":[{"constant":false,"id":45845,"mutability":"mutable","name":"remainder","nameLocation":"13259:9:46","nodeType":"VariableDeclaration","scope":45923,"src":"13251:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45844,"name":"uint256","nodeType":"ElementaryTypeName","src":"13251:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45849,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45846,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45831,"src":"13271:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":45847,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45833,"src":"13275:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13271:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13251:25:46"},{"assignments":[45851],"declarations":[{"constant":false,"id":45851,"mutability":"mutable","name":"gcd","nameLocation":"13298:3:46","nodeType":"VariableDeclaration","scope":45923,"src":"13290:11:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45850,"name":"uint256","nodeType":"ElementaryTypeName","src":"13290:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45853,"initialValue":{"id":45852,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45833,"src":"13304:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13290:15:46"},{"assignments":[45855],"declarations":[{"constant":false,"id":45855,"mutability":"mutable","name":"x","nameLocation":"13448:1:46","nodeType":"VariableDeclaration","scope":45923,"src":"13441:8:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45854,"name":"int256","nodeType":"ElementaryTypeName","src":"13441:6:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":45857,"initialValue":{"hexValue":"30","id":45856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13452:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13441:12:46"},{"assignments":[45859],"declarations":[{"constant":false,"id":45859,"mutability":"mutable","name":"y","nameLocation":"13474:1:46","nodeType":"VariableDeclaration","scope":45923,"src":"13467:8:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45858,"name":"int256","nodeType":"ElementaryTypeName","src":"13467:6:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":45861,"initialValue":{"hexValue":"31","id":45860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13478:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"13467:12:46"},{"body":{"id":45898,"nodeType":"Block","src":"13517:882:46","statements":[{"assignments":[45866],"declarations":[{"constant":false,"id":45866,"mutability":"mutable","name":"quotient","nameLocation":"13543:8:46","nodeType":"VariableDeclaration","scope":45898,"src":"13535:16:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45865,"name":"uint256","nodeType":"ElementaryTypeName","src":"13535:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45870,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45867,"name":"gcd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45851,"src":"13554:3:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":45868,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45845,"src":"13560:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13554:15:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13535:34:46"},{"expression":{"id":45881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":45871,"name":"gcd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45851,"src":"13589:3:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45872,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45845,"src":"13594:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45873,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"13588:16:46","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":45874,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45845,"src":"13694:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45875,"name":"gcd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45851,"src":"13939:3:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45876,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45845,"src":"13945:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45877,"name":"quotient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45866,"src":"13957:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13945:20:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13939:26:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45880,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13607:376:46","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"src":"13588:395:46","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45882,"nodeType":"ExpressionStatement","src":"13588:395:46"},{"expression":{"id":45896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":45883,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45855,"src":"14003:1:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":45884,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45859,"src":"14006:1:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":45885,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"14002:6:46","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_int256_$","typeString":"tuple(int256,int256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":45886,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45859,"src":"14088:1:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":45894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45887,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45855,"src":"14342:1:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":45893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45888,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45859,"src":"14346:1:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":45891,"name":"quotient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45866,"src":"14357:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14350:6:46","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":45889,"name":"int256","nodeType":"ElementaryTypeName","src":"14350:6:46","typeDescriptions":{}}},"id":45892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14350:16:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14346:20:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14342:24:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":45895,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14011:373:46","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_int256_$","typeString":"tuple(int256,int256)"}},"src":"14002:382:46","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45897,"nodeType":"ExpressionStatement","src":"14002:382:46"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45862,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45845,"src":"13501:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":45863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13514:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13501:14:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45899,"nodeType":"WhileStatement","src":"13494:905:46"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45900,"name":"gcd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45851,"src":"14417:3:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"31","id":45901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14424:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14417:8:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45905,"nodeType":"IfStatement","src":"14413:22:46","trueBody":{"expression":{"hexValue":"30","id":45903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14434:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":45837,"id":45904,"nodeType":"Return","src":"14427:8:46"}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":45909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45907,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45855,"src":"14486:1:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":45908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14490:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14486:5:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45910,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45833,"src":"14493:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":45914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"14505:2:46","subExpression":{"id":45913,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45855,"src":"14506:1:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":45912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14497:7:46","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":45911,"name":"uint256","nodeType":"ElementaryTypeName","src":"14497:7:46","typeDescriptions":{}}},"id":45915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14497:11:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14493:15:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":45919,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45855,"src":"14518:1:46","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":45918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14510:7:46","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":45917,"name":"uint256","nodeType":"ElementaryTypeName","src":"14510:7:46","typeDescriptions":{}}},"id":45920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14510:10:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45906,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45464,"src":"14478:7:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":45921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14478:43:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45837,"id":45922,"nodeType":"Return","src":"14471:50:46"}]}]},"documentation":{"id":45829,"nodeType":"StructuredDocumentation","src":"12098:553:46","text":" @dev Calculate the modular multiplicative inverse of a number in Z/nZ.\n If n is a prime, then Z/nZ is a field. In that case all elements are inversible, except 0.\n If n is not a prime, then Z/nZ is not a field, and some elements might not be inversible.\n If the input value is not inversible, 0 is returned.\n NOTE: If you know for sure that n is (big) a prime, it may be cheaper to use Fermat's little theorem and get the\n inverse using `Math.modExp(a, n - 2, n)`. See {invModPrime}."},"implemented":true,"kind":"function","modifiers":[],"name":"invMod","nameLocation":"12665:6:46","parameters":{"id":45834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45831,"mutability":"mutable","name":"a","nameLocation":"12680:1:46","nodeType":"VariableDeclaration","scope":45925,"src":"12672:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45830,"name":"uint256","nodeType":"ElementaryTypeName","src":"12672:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45833,"mutability":"mutable","name":"n","nameLocation":"12691:1:46","nodeType":"VariableDeclaration","scope":45925,"src":"12683:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45832,"name":"uint256","nodeType":"ElementaryTypeName","src":"12683:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12671:22:46"},"returnParameters":{"id":45837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45836,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45925,"src":"12717:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45835,"name":"uint256","nodeType":"ElementaryTypeName","src":"12717:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12716:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45946,"nodeType":"FunctionDefinition","src":"15100:157:46","nodes":[],"body":{"id":45945,"nodeType":"Block","src":"15175:82:46","nodes":[],"statements":[{"id":45944,"nodeType":"UncheckedBlock","src":"15185:66:46","statements":[{"expression":{"arguments":[{"id":45937,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45928,"src":"15228:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45938,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45930,"src":"15231:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":45939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15235:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"15231:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45941,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45930,"src":"15238:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45935,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46817,"src":"15216:4:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$46817_$","typeString":"type(library Math)"}},"id":45936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15221:6:46","memberName":"modExp","nodeType":"MemberAccess","referencedDeclaration":45982,"src":"15216:11:46","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":45942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15216:24:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45934,"id":45943,"nodeType":"Return","src":"15209:31:46"}]}]},"documentation":{"id":45926,"nodeType":"StructuredDocumentation","src":"14581:514:46","text":" @dev Variant of {invMod}. More efficient, but only works if `p` is known to be a prime greater than `2`.\n From https://en.wikipedia.org/wiki/Fermat%27s_little_theorem[Fermat's little theorem], we know that if p is\n prime, then `a**(p-1) ≡ 1 mod p`. As a consequence, we have `a * a**(p-2) ≡ 1 mod p`, which means that\n `a**(p-2)` is the modular multiplicative inverse of a in Fp.\n NOTE: this function does NOT check that `p` is a prime greater than `2`."},"implemented":true,"kind":"function","modifiers":[],"name":"invModPrime","nameLocation":"15109:11:46","parameters":{"id":45931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45928,"mutability":"mutable","name":"a","nameLocation":"15129:1:46","nodeType":"VariableDeclaration","scope":45946,"src":"15121:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45927,"name":"uint256","nodeType":"ElementaryTypeName","src":"15121:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45930,"mutability":"mutable","name":"p","nameLocation":"15140:1:46","nodeType":"VariableDeclaration","scope":45946,"src":"15132:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45929,"name":"uint256","nodeType":"ElementaryTypeName","src":"15132:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15120:22:46"},"returnParameters":{"id":45934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45946,"src":"15166:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45932,"name":"uint256","nodeType":"ElementaryTypeName","src":"15166:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15165:9:46"},"scope":46817,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45982,"nodeType":"FunctionDefinition","src":"15946:255:46","nodes":[],"body":{"id":45981,"nodeType":"Block","src":"16027:174:46","nodes":[],"statements":[{"assignments":[45959,45961],"declarations":[{"constant":false,"id":45959,"mutability":"mutable","name":"success","nameLocation":"16043:7:46","nodeType":"VariableDeclaration","scope":45981,"src":"16038:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45958,"name":"bool","nodeType":"ElementaryTypeName","src":"16038:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45961,"mutability":"mutable","name":"result","nameLocation":"16060:6:46","nodeType":"VariableDeclaration","scope":45981,"src":"16052:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45960,"name":"uint256","nodeType":"ElementaryTypeName","src":"16052:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45967,"initialValue":{"arguments":[{"id":45963,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45949,"src":"16080:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45964,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45951,"src":"16083:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45965,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45953,"src":"16086:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45962,"name":"tryModExp","nodeType":"Identifier","overloadedDeclarations":[46006,46088],"referencedDeclaration":46006,"src":"16070:9:46","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (bool,uint256)"}},"id":45966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16070:18:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16037:51:46"},{"condition":{"id":45969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16102:8:46","subExpression":{"id":45968,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45959,"src":"16103:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45978,"nodeType":"IfStatement","src":"16098:74:46","trueBody":{"id":45977,"nodeType":"Block","src":"16112:60:46","statements":[{"expression":{"arguments":[{"expression":{"id":45973,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"16138:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":45974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16144:16:46","memberName":"DIVISION_BY_ZERO","nodeType":"MemberAccess","referencedDeclaration":42424,"src":"16138:22:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45970,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"16126:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":45972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16132:5:46","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":42456,"src":"16126:11:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":45975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16126:35:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45976,"nodeType":"ExpressionStatement","src":"16126:35:46"}]}},{"expression":{"id":45979,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45961,"src":"16188:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45957,"id":45980,"nodeType":"Return","src":"16181:13:46"}]},"documentation":{"id":45947,"nodeType":"StructuredDocumentation","src":"15263:678:46","text":" @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m)\n Requirements:\n - modulus can't be zero\n - underlying staticcall to precompile must succeed\n IMPORTANT: The result is only valid if the underlying call succeeds. When using this function, make\n sure the chain you're using it on supports the precompiled contract for modular exponentiation\n at address 0x05 as specified in https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise,\n the underlying function will succeed given the lack of a revert, but the result may be incorrectly\n interpreted as 0."},"implemented":true,"kind":"function","modifiers":[],"name":"modExp","nameLocation":"15955:6:46","parameters":{"id":45954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45949,"mutability":"mutable","name":"b","nameLocation":"15970:1:46","nodeType":"VariableDeclaration","scope":45982,"src":"15962:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45948,"name":"uint256","nodeType":"ElementaryTypeName","src":"15962:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45951,"mutability":"mutable","name":"e","nameLocation":"15981:1:46","nodeType":"VariableDeclaration","scope":45982,"src":"15973:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45950,"name":"uint256","nodeType":"ElementaryTypeName","src":"15973:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45953,"mutability":"mutable","name":"m","nameLocation":"15992:1:46","nodeType":"VariableDeclaration","scope":45982,"src":"15984:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45952,"name":"uint256","nodeType":"ElementaryTypeName","src":"15984:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15961:33:46"},"returnParameters":{"id":45957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45956,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45982,"src":"16018:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45955,"name":"uint256","nodeType":"ElementaryTypeName","src":"16018:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16017:9:46"},"scope":46817,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46006,"nodeType":"FunctionDefinition","src":"16950:1598:46","nodes":[],"body":{"id":46005,"nodeType":"Block","src":"17055:1493:46","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45996,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45989,"src":"17069:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":45997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17074:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17069:6:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46003,"nodeType":"IfStatement","src":"17065:29:46","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":45999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17085:5:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":46000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17092:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":46001,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"17084:10:46","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":45995,"id":46002,"nodeType":"Return","src":"17077:17:46"}},{"AST":{"nativeSrc":"17129:1413:46","nodeType":"YulBlock","src":"17129:1413:46","statements":[{"nativeSrc":"17143:22:46","nodeType":"YulVariableDeclaration","src":"17143:22:46","value":{"arguments":[{"kind":"number","nativeSrc":"17160:4:46","nodeType":"YulLiteral","src":"17160:4:46","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17154:5:46","nodeType":"YulIdentifier","src":"17154:5:46"},"nativeSrc":"17154:11:46","nodeType":"YulFunctionCall","src":"17154:11:46"},"variables":[{"name":"ptr","nativeSrc":"17147:3:46","nodeType":"YulTypedName","src":"17147:3:46","type":""}]},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"18073:3:46","nodeType":"YulIdentifier","src":"18073:3:46"},{"kind":"number","nativeSrc":"18078:4:46","nodeType":"YulLiteral","src":"18078:4:46","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"18066:6:46","nodeType":"YulIdentifier","src":"18066:6:46"},"nativeSrc":"18066:17:46","nodeType":"YulFunctionCall","src":"18066:17:46"},"nativeSrc":"18066:17:46","nodeType":"YulExpressionStatement","src":"18066:17:46"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18107:3:46","nodeType":"YulIdentifier","src":"18107:3:46"},{"kind":"number","nativeSrc":"18112:4:46","nodeType":"YulLiteral","src":"18112:4:46","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18103:3:46","nodeType":"YulIdentifier","src":"18103:3:46"},"nativeSrc":"18103:14:46","nodeType":"YulFunctionCall","src":"18103:14:46"},{"kind":"number","nativeSrc":"18119:4:46","nodeType":"YulLiteral","src":"18119:4:46","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"18096:6:46","nodeType":"YulIdentifier","src":"18096:6:46"},"nativeSrc":"18096:28:46","nodeType":"YulFunctionCall","src":"18096:28:46"},"nativeSrc":"18096:28:46","nodeType":"YulExpressionStatement","src":"18096:28:46"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18148:3:46","nodeType":"YulIdentifier","src":"18148:3:46"},{"kind":"number","nativeSrc":"18153:4:46","nodeType":"YulLiteral","src":"18153:4:46","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"18144:3:46","nodeType":"YulIdentifier","src":"18144:3:46"},"nativeSrc":"18144:14:46","nodeType":"YulFunctionCall","src":"18144:14:46"},{"kind":"number","nativeSrc":"18160:4:46","nodeType":"YulLiteral","src":"18160:4:46","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"18137:6:46","nodeType":"YulIdentifier","src":"18137:6:46"},"nativeSrc":"18137:28:46","nodeType":"YulFunctionCall","src":"18137:28:46"},"nativeSrc":"18137:28:46","nodeType":"YulExpressionStatement","src":"18137:28:46"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18189:3:46","nodeType":"YulIdentifier","src":"18189:3:46"},{"kind":"number","nativeSrc":"18194:4:46","nodeType":"YulLiteral","src":"18194:4:46","type":"","value":"0x60"}],"functionName":{"name":"add","nativeSrc":"18185:3:46","nodeType":"YulIdentifier","src":"18185:3:46"},"nativeSrc":"18185:14:46","nodeType":"YulFunctionCall","src":"18185:14:46"},{"name":"b","nativeSrc":"18201:1:46","nodeType":"YulIdentifier","src":"18201:1:46"}],"functionName":{"name":"mstore","nativeSrc":"18178:6:46","nodeType":"YulIdentifier","src":"18178:6:46"},"nativeSrc":"18178:25:46","nodeType":"YulFunctionCall","src":"18178:25:46"},"nativeSrc":"18178:25:46","nodeType":"YulExpressionStatement","src":"18178:25:46"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18227:3:46","nodeType":"YulIdentifier","src":"18227:3:46"},{"kind":"number","nativeSrc":"18232:4:46","nodeType":"YulLiteral","src":"18232:4:46","type":"","value":"0x80"}],"functionName":{"name":"add","nativeSrc":"18223:3:46","nodeType":"YulIdentifier","src":"18223:3:46"},"nativeSrc":"18223:14:46","nodeType":"YulFunctionCall","src":"18223:14:46"},{"name":"e","nativeSrc":"18239:1:46","nodeType":"YulIdentifier","src":"18239:1:46"}],"functionName":{"name":"mstore","nativeSrc":"18216:6:46","nodeType":"YulIdentifier","src":"18216:6:46"},"nativeSrc":"18216:25:46","nodeType":"YulFunctionCall","src":"18216:25:46"},"nativeSrc":"18216:25:46","nodeType":"YulExpressionStatement","src":"18216:25:46"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18265:3:46","nodeType":"YulIdentifier","src":"18265:3:46"},{"kind":"number","nativeSrc":"18270:4:46","nodeType":"YulLiteral","src":"18270:4:46","type":"","value":"0xa0"}],"functionName":{"name":"add","nativeSrc":"18261:3:46","nodeType":"YulIdentifier","src":"18261:3:46"},"nativeSrc":"18261:14:46","nodeType":"YulFunctionCall","src":"18261:14:46"},{"name":"m","nativeSrc":"18277:1:46","nodeType":"YulIdentifier","src":"18277:1:46"}],"functionName":{"name":"mstore","nativeSrc":"18254:6:46","nodeType":"YulIdentifier","src":"18254:6:46"},"nativeSrc":"18254:25:46","nodeType":"YulFunctionCall","src":"18254:25:46"},"nativeSrc":"18254:25:46","nodeType":"YulExpressionStatement","src":"18254:25:46"},{"nativeSrc":"18441:57:46","nodeType":"YulAssignment","src":"18441:57:46","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"18463:3:46","nodeType":"YulIdentifier","src":"18463:3:46"},"nativeSrc":"18463:5:46","nodeType":"YulFunctionCall","src":"18463:5:46"},{"kind":"number","nativeSrc":"18470:4:46","nodeType":"YulLiteral","src":"18470:4:46","type":"","value":"0x05"},{"name":"ptr","nativeSrc":"18476:3:46","nodeType":"YulIdentifier","src":"18476:3:46"},{"kind":"number","nativeSrc":"18481:4:46","nodeType":"YulLiteral","src":"18481:4:46","type":"","value":"0xc0"},{"kind":"number","nativeSrc":"18487:4:46","nodeType":"YulLiteral","src":"18487:4:46","type":"","value":"0x00"},{"kind":"number","nativeSrc":"18493:4:46","nodeType":"YulLiteral","src":"18493:4:46","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nativeSrc":"18452:10:46","nodeType":"YulIdentifier","src":"18452:10:46"},"nativeSrc":"18452:46:46","nodeType":"YulFunctionCall","src":"18452:46:46"},"variableNames":[{"name":"success","nativeSrc":"18441:7:46","nodeType":"YulIdentifier","src":"18441:7:46"}]},{"nativeSrc":"18511:21:46","nodeType":"YulAssignment","src":"18511:21:46","value":{"arguments":[{"kind":"number","nativeSrc":"18527:4:46","nodeType":"YulLiteral","src":"18527:4:46","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"18521:5:46","nodeType":"YulIdentifier","src":"18521:5:46"},"nativeSrc":"18521:11:46","nodeType":"YulFunctionCall","src":"18521:11:46"},"variableNames":[{"name":"result","nativeSrc":"18511:6:46","nodeType":"YulIdentifier","src":"18511:6:46"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":45985,"isOffset":false,"isSlot":false,"src":"18201:1:46","valueSize":1},{"declaration":45987,"isOffset":false,"isSlot":false,"src":"18239:1:46","valueSize":1},{"declaration":45989,"isOffset":false,"isSlot":false,"src":"18277:1:46","valueSize":1},{"declaration":45994,"isOffset":false,"isSlot":false,"src":"18511:6:46","valueSize":1},{"declaration":45992,"isOffset":false,"isSlot":false,"src":"18441:7:46","valueSize":1}],"flags":["memory-safe"],"id":46004,"nodeType":"InlineAssembly","src":"17104:1438:46"}]},"documentation":{"id":45983,"nodeType":"StructuredDocumentation","src":"16207:738:46","text":" @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m).\n It includes a success flag indicating if the operation succeeded. Operation will be marked as failed if trying\n to operate modulo 0 or if the underlying precompile reverted.\n IMPORTANT: The result is only valid if the success flag is true. When using this function, make sure the chain\n you're using it on supports the precompiled contract for modular exponentiation at address 0x05 as specified in\n https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise, the underlying function will succeed given the lack\n of a revert, but the result may be incorrectly interpreted as 0."},"implemented":true,"kind":"function","modifiers":[],"name":"tryModExp","nameLocation":"16959:9:46","parameters":{"id":45990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45985,"mutability":"mutable","name":"b","nameLocation":"16977:1:46","nodeType":"VariableDeclaration","scope":46006,"src":"16969:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45984,"name":"uint256","nodeType":"ElementaryTypeName","src":"16969:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45987,"mutability":"mutable","name":"e","nameLocation":"16988:1:46","nodeType":"VariableDeclaration","scope":46006,"src":"16980:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45986,"name":"uint256","nodeType":"ElementaryTypeName","src":"16980:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45989,"mutability":"mutable","name":"m","nameLocation":"16999:1:46","nodeType":"VariableDeclaration","scope":46006,"src":"16991:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45988,"name":"uint256","nodeType":"ElementaryTypeName","src":"16991:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16968:33:46"},"returnParameters":{"id":45995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45992,"mutability":"mutable","name":"success","nameLocation":"17030:7:46","nodeType":"VariableDeclaration","scope":46006,"src":"17025:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45991,"name":"bool","nodeType":"ElementaryTypeName","src":"17025:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45994,"mutability":"mutable","name":"result","nameLocation":"17047:6:46","nodeType":"VariableDeclaration","scope":46006,"src":"17039:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45993,"name":"uint256","nodeType":"ElementaryTypeName","src":"17039:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17024:30:46"},"scope":46817,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46042,"nodeType":"FunctionDefinition","src":"18644:280:46","nodes":[],"body":{"id":46041,"nodeType":"Block","src":"18745:179:46","nodes":[],"statements":[{"assignments":[46019,46021],"declarations":[{"constant":false,"id":46019,"mutability":"mutable","name":"success","nameLocation":"18761:7:46","nodeType":"VariableDeclaration","scope":46041,"src":"18756:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46018,"name":"bool","nodeType":"ElementaryTypeName","src":"18756:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46021,"mutability":"mutable","name":"result","nameLocation":"18783:6:46","nodeType":"VariableDeclaration","scope":46041,"src":"18770:19:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46020,"name":"bytes","nodeType":"ElementaryTypeName","src":"18770:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":46027,"initialValue":{"arguments":[{"id":46023,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46009,"src":"18803:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":46024,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46011,"src":"18806:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":46025,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46013,"src":"18809:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46022,"name":"tryModExp","nodeType":"Identifier","overloadedDeclarations":[46006,46088],"referencedDeclaration":46088,"src":"18793:9:46","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,bytes memory,bytes memory) view returns (bool,bytes memory)"}},"id":46026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18793:18:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"18755:56:46"},{"condition":{"id":46029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18825:8:46","subExpression":{"id":46028,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46019,"src":"18826:7:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46038,"nodeType":"IfStatement","src":"18821:74:46","trueBody":{"id":46037,"nodeType":"Block","src":"18835:60:46","statements":[{"expression":{"arguments":[{"expression":{"id":46033,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"18861:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":46034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18867:16:46","memberName":"DIVISION_BY_ZERO","nodeType":"MemberAccess","referencedDeclaration":42424,"src":"18861:22:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46030,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42457,"src":"18849:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$42457_$","typeString":"type(library Panic)"}},"id":46032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18855:5:46","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":42456,"src":"18849:11:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":46035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18849:35:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46036,"nodeType":"ExpressionStatement","src":"18849:35:46"}]}},{"expression":{"id":46039,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46021,"src":"18911:6:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":46017,"id":46040,"nodeType":"Return","src":"18904:13:46"}]},"documentation":{"id":46007,"nodeType":"StructuredDocumentation","src":"18554:85:46","text":" @dev Variant of {modExp} that supports inputs of arbitrary length."},"implemented":true,"kind":"function","modifiers":[],"name":"modExp","nameLocation":"18653:6:46","parameters":{"id":46014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46009,"mutability":"mutable","name":"b","nameLocation":"18673:1:46","nodeType":"VariableDeclaration","scope":46042,"src":"18660:14:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46008,"name":"bytes","nodeType":"ElementaryTypeName","src":"18660:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":46011,"mutability":"mutable","name":"e","nameLocation":"18689:1:46","nodeType":"VariableDeclaration","scope":46042,"src":"18676:14:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46010,"name":"bytes","nodeType":"ElementaryTypeName","src":"18676:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":46013,"mutability":"mutable","name":"m","nameLocation":"18705:1:46","nodeType":"VariableDeclaration","scope":46042,"src":"18692:14:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46012,"name":"bytes","nodeType":"ElementaryTypeName","src":"18692:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18659:48:46"},"returnParameters":{"id":46017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46042,"src":"18731:12:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46015,"name":"bytes","nodeType":"ElementaryTypeName","src":"18731:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18730:14:46"},"scope":46817,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46088,"nodeType":"FunctionDefinition","src":"19023:926:46","nodes":[],"body":{"id":46087,"nodeType":"Block","src":"19178:771:46","nodes":[],"statements":[{"condition":{"arguments":[{"id":46057,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46049,"src":"19203:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46056,"name":"_zeroBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46121,"src":"19192:10:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory) pure returns (bool)"}},"id":46058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19192:13:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46066,"nodeType":"IfStatement","src":"19188:47:46","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":46059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19215:5:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"30","id":46062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19232:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":46061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19222:9:46","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":46060,"name":"bytes","nodeType":"ElementaryTypeName","src":"19226:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":46063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19222:12:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":46064,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"19214:21:46","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"functionReturnParameters":46055,"id":46065,"nodeType":"Return","src":"19207:28:46"}},{"assignments":[46068],"declarations":[{"constant":false,"id":46068,"mutability":"mutable","name":"mLen","nameLocation":"19254:4:46","nodeType":"VariableDeclaration","scope":46087,"src":"19246:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46067,"name":"uint256","nodeType":"ElementaryTypeName","src":"19246:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46071,"initialValue":{"expression":{"id":46069,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46049,"src":"19261:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19263:6:46","memberName":"length","nodeType":"MemberAccess","src":"19261:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19246:23:46"},{"expression":{"id":46084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46072,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46054,"src":"19351:6:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":46075,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46045,"src":"19377:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19379:6:46","memberName":"length","nodeType":"MemberAccess","src":"19377:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46077,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46047,"src":"19387:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19389:6:46","memberName":"length","nodeType":"MemberAccess","src":"19387:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46079,"name":"mLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46068,"src":"19397:4:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46080,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46045,"src":"19403:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":46081,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46047,"src":"19406:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":46082,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46049,"src":"19409:1:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":46073,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19360:3:46","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19364:12:46","memberName":"encodePacked","nodeType":"MemberAccess","src":"19360:16:46","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":46083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19360:51:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"19351:60:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46085,"nodeType":"ExpressionStatement","src":"19351:60:46"},{"AST":{"nativeSrc":"19447:496:46","nodeType":"YulBlock","src":"19447:496:46","statements":[{"nativeSrc":"19461:32:46","nodeType":"YulVariableDeclaration","src":"19461:32:46","value":{"arguments":[{"name":"result","nativeSrc":"19480:6:46","nodeType":"YulIdentifier","src":"19480:6:46"},{"kind":"number","nativeSrc":"19488:4:46","nodeType":"YulLiteral","src":"19488:4:46","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19476:3:46","nodeType":"YulIdentifier","src":"19476:3:46"},"nativeSrc":"19476:17:46","nodeType":"YulFunctionCall","src":"19476:17:46"},"variables":[{"name":"dataPtr","nativeSrc":"19465:7:46","nodeType":"YulTypedName","src":"19465:7:46","type":""}]},{"nativeSrc":"19583:73:46","nodeType":"YulAssignment","src":"19583:73:46","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"19605:3:46","nodeType":"YulIdentifier","src":"19605:3:46"},"nativeSrc":"19605:5:46","nodeType":"YulFunctionCall","src":"19605:5:46"},{"kind":"number","nativeSrc":"19612:4:46","nodeType":"YulLiteral","src":"19612:4:46","type":"","value":"0x05"},{"name":"dataPtr","nativeSrc":"19618:7:46","nodeType":"YulIdentifier","src":"19618:7:46"},{"arguments":[{"name":"result","nativeSrc":"19633:6:46","nodeType":"YulIdentifier","src":"19633:6:46"}],"functionName":{"name":"mload","nativeSrc":"19627:5:46","nodeType":"YulIdentifier","src":"19627:5:46"},"nativeSrc":"19627:13:46","nodeType":"YulFunctionCall","src":"19627:13:46"},{"name":"dataPtr","nativeSrc":"19642:7:46","nodeType":"YulIdentifier","src":"19642:7:46"},{"name":"mLen","nativeSrc":"19651:4:46","nodeType":"YulIdentifier","src":"19651:4:46"}],"functionName":{"name":"staticcall","nativeSrc":"19594:10:46","nodeType":"YulIdentifier","src":"19594:10:46"},"nativeSrc":"19594:62:46","nodeType":"YulFunctionCall","src":"19594:62:46"},"variableNames":[{"name":"success","nativeSrc":"19583:7:46","nodeType":"YulIdentifier","src":"19583:7:46"}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"19812:6:46","nodeType":"YulIdentifier","src":"19812:6:46"},{"name":"mLen","nativeSrc":"19820:4:46","nodeType":"YulIdentifier","src":"19820:4:46"}],"functionName":{"name":"mstore","nativeSrc":"19805:6:46","nodeType":"YulIdentifier","src":"19805:6:46"},"nativeSrc":"19805:20:46","nodeType":"YulFunctionCall","src":"19805:20:46"},"nativeSrc":"19805:20:46","nodeType":"YulExpressionStatement","src":"19805:20:46"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19908:4:46","nodeType":"YulLiteral","src":"19908:4:46","type":"","value":"0x40"},{"arguments":[{"name":"dataPtr","nativeSrc":"19918:7:46","nodeType":"YulIdentifier","src":"19918:7:46"},{"name":"mLen","nativeSrc":"19927:4:46","nodeType":"YulIdentifier","src":"19927:4:46"}],"functionName":{"name":"add","nativeSrc":"19914:3:46","nodeType":"YulIdentifier","src":"19914:3:46"},"nativeSrc":"19914:18:46","nodeType":"YulFunctionCall","src":"19914:18:46"}],"functionName":{"name":"mstore","nativeSrc":"19901:6:46","nodeType":"YulIdentifier","src":"19901:6:46"},"nativeSrc":"19901:32:46","nodeType":"YulFunctionCall","src":"19901:32:46"},"nativeSrc":"19901:32:46","nodeType":"YulExpressionStatement","src":"19901:32:46"}]},"evmVersion":"prague","externalReferences":[{"declaration":46068,"isOffset":false,"isSlot":false,"src":"19651:4:46","valueSize":1},{"declaration":46068,"isOffset":false,"isSlot":false,"src":"19820:4:46","valueSize":1},{"declaration":46068,"isOffset":false,"isSlot":false,"src":"19927:4:46","valueSize":1},{"declaration":46054,"isOffset":false,"isSlot":false,"src":"19480:6:46","valueSize":1},{"declaration":46054,"isOffset":false,"isSlot":false,"src":"19633:6:46","valueSize":1},{"declaration":46054,"isOffset":false,"isSlot":false,"src":"19812:6:46","valueSize":1},{"declaration":46052,"isOffset":false,"isSlot":false,"src":"19583:7:46","valueSize":1}],"flags":["memory-safe"],"id":46086,"nodeType":"InlineAssembly","src":"19422:521:46"}]},"documentation":{"id":46043,"nodeType":"StructuredDocumentation","src":"18930:88:46","text":" @dev Variant of {tryModExp} that supports inputs of arbitrary length."},"implemented":true,"kind":"function","modifiers":[],"name":"tryModExp","nameLocation":"19032:9:46","parameters":{"id":46050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46045,"mutability":"mutable","name":"b","nameLocation":"19064:1:46","nodeType":"VariableDeclaration","scope":46088,"src":"19051:14:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46044,"name":"bytes","nodeType":"ElementaryTypeName","src":"19051:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":46047,"mutability":"mutable","name":"e","nameLocation":"19088:1:46","nodeType":"VariableDeclaration","scope":46088,"src":"19075:14:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46046,"name":"bytes","nodeType":"ElementaryTypeName","src":"19075:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":46049,"mutability":"mutable","name":"m","nameLocation":"19112:1:46","nodeType":"VariableDeclaration","scope":46088,"src":"19099:14:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46048,"name":"bytes","nodeType":"ElementaryTypeName","src":"19099:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19041:78:46"},"returnParameters":{"id":46055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46052,"mutability":"mutable","name":"success","nameLocation":"19148:7:46","nodeType":"VariableDeclaration","scope":46088,"src":"19143:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46051,"name":"bool","nodeType":"ElementaryTypeName","src":"19143:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46054,"mutability":"mutable","name":"result","nameLocation":"19170:6:46","nodeType":"VariableDeclaration","scope":46088,"src":"19157:19:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46053,"name":"bytes","nodeType":"ElementaryTypeName","src":"19157:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19142:35:46"},"scope":46817,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46121,"nodeType":"FunctionDefinition","src":"20032:248:46","nodes":[],"body":{"id":46120,"nodeType":"Block","src":"20104:176:46","nodes":[],"statements":[{"body":{"id":46116,"nodeType":"Block","src":"20161:92:46","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":46111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":46107,"name":"byteArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46091,"src":"20179:9:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46109,"indexExpression":{"id":46108,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46097,"src":"20189:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20179:12:46","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":46110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20195:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20179:17:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46115,"nodeType":"IfStatement","src":"20175:68:46","trueBody":{"id":46114,"nodeType":"Block","src":"20198:45:46","statements":[{"expression":{"hexValue":"66616c7365","id":46112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20223:5:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":46095,"id":46113,"nodeType":"Return","src":"20216:12:46"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46100,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46097,"src":"20134:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":46101,"name":"byteArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46091,"src":"20138:9:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20148:6:46","memberName":"length","nodeType":"MemberAccess","src":"20138:16:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20134:20:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46117,"initializationExpression":{"assignments":[46097],"declarations":[{"constant":false,"id":46097,"mutability":"mutable","name":"i","nameLocation":"20127:1:46","nodeType":"VariableDeclaration","scope":46117,"src":"20119:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46096,"name":"uint256","nodeType":"ElementaryTypeName","src":"20119:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46099,"initialValue":{"hexValue":"30","id":46098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20131:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"20119:13:46"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":46105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"20156:3:46","subExpression":{"id":46104,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46097,"src":"20158:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46106,"nodeType":"ExpressionStatement","src":"20156:3:46"},"nodeType":"ForStatement","src":"20114:139:46"},{"expression":{"hexValue":"74727565","id":46118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20269:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":46095,"id":46119,"nodeType":"Return","src":"20262:11:46"}]},"documentation":{"id":46089,"nodeType":"StructuredDocumentation","src":"19955:72:46","text":" @dev Returns whether the provided byte array is zero."},"implemented":true,"kind":"function","modifiers":[],"name":"_zeroBytes","nameLocation":"20041:10:46","parameters":{"id":46092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46091,"mutability":"mutable","name":"byteArray","nameLocation":"20065:9:46","nodeType":"VariableDeclaration","scope":46121,"src":"20052:22:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46090,"name":"bytes","nodeType":"ElementaryTypeName","src":"20052:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20051:24:46"},"returnParameters":{"id":46095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46121,"src":"20098:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46093,"name":"bool","nodeType":"ElementaryTypeName","src":"20098:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20097:6:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":46340,"nodeType":"FunctionDefinition","src":"20583:5181:46","nodes":[],"body":{"id":46339,"nodeType":"Block","src":"20640:5124:46","nodes":[],"statements":[{"id":46338,"nodeType":"UncheckedBlock","src":"20650:5108:46","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46129,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"20744:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"31","id":46130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20749:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"20744:6:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46135,"nodeType":"IfStatement","src":"20740:53:46","trueBody":{"id":46134,"nodeType":"Block","src":"20752:41:46","statements":[{"expression":{"id":46132,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"20777:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46128,"id":46133,"nodeType":"Return","src":"20770:8:46"}]}},{"assignments":[46137],"declarations":[{"constant":false,"id":46137,"mutability":"mutable","name":"aa","nameLocation":"21728:2:46","nodeType":"VariableDeclaration","scope":46338,"src":"21720:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46136,"name":"uint256","nodeType":"ElementaryTypeName","src":"21720:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46139,"initialValue":{"id":46138,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"21733:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21720:14:46"},{"assignments":[46141],"declarations":[{"constant":false,"id":46141,"mutability":"mutable","name":"xn","nameLocation":"21756:2:46","nodeType":"VariableDeclaration","scope":46338,"src":"21748:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46140,"name":"uint256","nodeType":"ElementaryTypeName","src":"21748:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46143,"initialValue":{"hexValue":"31","id":46142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21761:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"21748:14:46"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46144,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"21781:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":46147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21788:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":46146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21793:3:46","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"21788:8:46","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"id":46148,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21787:10:46","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"src":"21781:16:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46159,"nodeType":"IfStatement","src":"21777:92:46","trueBody":{"id":46158,"nodeType":"Block","src":"21799:70:46","statements":[{"expression":{"id":46152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46150,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"21817:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":46151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21824:3:46","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"21817:10:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46153,"nodeType":"ExpressionStatement","src":"21817:10:46"},{"expression":{"id":46156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46154,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"21845:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"3634","id":46155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21852:2:46","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"21845:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46157,"nodeType":"ExpressionStatement","src":"21845:9:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46160,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"21886:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":46163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21893:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3634","id":46162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21898:2:46","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"21893:7:46","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}}],"id":46164,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21892:9:46","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"21886:15:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46175,"nodeType":"IfStatement","src":"21882:90:46","trueBody":{"id":46174,"nodeType":"Block","src":"21903:69:46","statements":[{"expression":{"id":46168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46166,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"21921:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":46167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21928:2:46","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"21921:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46169,"nodeType":"ExpressionStatement","src":"21921:9:46"},{"expression":{"id":46172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46170,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"21948:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"3332","id":46171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21955:2:46","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"21948:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46173,"nodeType":"ExpressionStatement","src":"21948:9:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46176,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"21989:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"},"id":46179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21996:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3332","id":46178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22001:2:46","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"21996:7:46","typeDescriptions":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"}}],"id":46180,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21995:9:46","typeDescriptions":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"}},"src":"21989:15:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46191,"nodeType":"IfStatement","src":"21985:90:46","trueBody":{"id":46190,"nodeType":"Block","src":"22006:69:46","statements":[{"expression":{"id":46184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46182,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"22024:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":46183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22031:2:46","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"22024:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46185,"nodeType":"ExpressionStatement","src":"22024:9:46"},{"expression":{"id":46188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46186,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"22051:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"3136","id":46187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22058:2:46","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"22051:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46189,"nodeType":"ExpressionStatement","src":"22051:9:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46192,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"22092:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"id":46195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22099:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3136","id":46194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22104:2:46","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"22099:7:46","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}}],"id":46196,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22098:9:46","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}},"src":"22092:15:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46207,"nodeType":"IfStatement","src":"22088:89:46","trueBody":{"id":46206,"nodeType":"Block","src":"22109:68:46","statements":[{"expression":{"id":46200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46198,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"22127:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":46199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22134:2:46","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"22127:9:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46201,"nodeType":"ExpressionStatement","src":"22127:9:46"},{"expression":{"id":46204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46202,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"22154:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"38","id":46203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22161:1:46","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"22154:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46205,"nodeType":"ExpressionStatement","src":"22154:8:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46208,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"22194:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":46211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22201:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":46210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22206:1:46","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"22201:6:46","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}}],"id":46212,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22200:8:46","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"src":"22194:14:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46223,"nodeType":"IfStatement","src":"22190:87:46","trueBody":{"id":46222,"nodeType":"Block","src":"22210:67:46","statements":[{"expression":{"id":46216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46214,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"22228:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":46215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22235:1:46","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"22228:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46217,"nodeType":"ExpressionStatement","src":"22228:8:46"},{"expression":{"id":46220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46218,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"22254:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"34","id":46219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22261:1:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"22254:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46221,"nodeType":"ExpressionStatement","src":"22254:8:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46224,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"22294:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"id":46227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22301:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":46226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22306:1:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"22301:6:46","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}}],"id":46228,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22300:8:46","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}},"src":"22294:14:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46239,"nodeType":"IfStatement","src":"22290:87:46","trueBody":{"id":46238,"nodeType":"Block","src":"22310:67:46","statements":[{"expression":{"id":46232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46230,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"22328:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":46231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22335:1:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"22328:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46233,"nodeType":"ExpressionStatement","src":"22328:8:46"},{"expression":{"id":46236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46234,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"22354:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"32","id":46235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22361:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"22354:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46237,"nodeType":"ExpressionStatement","src":"22354:8:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46240,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"22394:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"id":46243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22401:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"32","id":46242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22406:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"22401:6:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}}],"id":46244,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22400:8:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}},"src":"22394:14:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46251,"nodeType":"IfStatement","src":"22390:61:46","trueBody":{"id":46250,"nodeType":"Block","src":"22410:41:46","statements":[{"expression":{"id":46248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46246,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"22428:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"31","id":46247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22435:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"22428:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46249,"nodeType":"ExpressionStatement","src":"22428:8:46"}]}},{"expression":{"id":46259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46252,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"22871:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":46253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22877:1:46","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":46254,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"22881:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22877:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46256,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22876:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":46257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22888:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"22876:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22871:18:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46260,"nodeType":"ExpressionStatement","src":"22871:18:46"},{"expression":{"id":46270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46261,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"24776:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46262,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"24782:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46263,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"24787:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":46264,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"24791:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24787:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24782:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46267,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24781:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":46268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24798:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24781:18:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24776:23:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46271,"nodeType":"ExpressionStatement","src":"24776:23:46"},{"expression":{"id":46281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46272,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"24885:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46273,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"24891:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46274,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"24896:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":46275,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"24900:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24896:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24891:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46278,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24890:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":46279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24907:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24890:18:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24885:23:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46282,"nodeType":"ExpressionStatement","src":"24885:23:46"},{"expression":{"id":46292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46283,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"24996:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46284,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25002:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46285,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"25007:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":46286,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25011:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25007:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25002:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46289,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25001:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":46290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25018:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25001:18:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24996:23:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46293,"nodeType":"ExpressionStatement","src":"24996:23:46"},{"expression":{"id":46303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46294,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25105:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46295,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25111:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46296,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"25116:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":46297,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25120:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25116:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25111:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46300,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25110:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":46301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25127:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25110:18:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25105:23:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46304,"nodeType":"ExpressionStatement","src":"25105:23:46"},{"expression":{"id":46314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46305,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25215:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46306,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25221:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46307,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"25226:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":46308,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25230:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25226:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25221:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46311,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25220:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":46312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25237:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25220:18:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25215:23:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46315,"nodeType":"ExpressionStatement","src":"25215:23:46"},{"expression":{"id":46325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46316,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25325:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46317,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25331:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46318,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"25336:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":46319,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25340:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25336:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25331:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46322,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25330:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":46323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25347:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25330:18:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25325:23:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46326,"nodeType":"ExpressionStatement","src":"25325:23:46"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46327,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25714:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46330,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25735:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46331,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46124,"src":"25740:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":46332,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"25744:2:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25740:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25735:11:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46328,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"25719:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25728:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"25719:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25719:28:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25714:33:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46128,"id":46337,"nodeType":"Return","src":"25707:40:46"}]}]},"documentation":{"id":46122,"nodeType":"StructuredDocumentation","src":"20286:292:46","text":" @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n towards zero.\n This method is based on Newton's method for computing square roots; the algorithm is restricted to only\n using integer operations."},"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"20592:4:46","parameters":{"id":46125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46124,"mutability":"mutable","name":"a","nameLocation":"20605:1:46","nodeType":"VariableDeclaration","scope":46340,"src":"20597:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46123,"name":"uint256","nodeType":"ElementaryTypeName","src":"20597:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20596:11:46"},"returnParameters":{"id":46128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46127,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46340,"src":"20631:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46126,"name":"uint256","nodeType":"ElementaryTypeName","src":"20631:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20630:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46374,"nodeType":"FunctionDefinition","src":"25861:247:46","nodes":[],"body":{"id":46373,"nodeType":"Block","src":"25937:171:46","nodes":[],"statements":[{"id":46372,"nodeType":"UncheckedBlock","src":"25947:155:46","statements":[{"assignments":[46352],"declarations":[{"constant":false,"id":46352,"mutability":"mutable","name":"result","nameLocation":"25979:6:46","nodeType":"VariableDeclaration","scope":46372,"src":"25971:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46351,"name":"uint256","nodeType":"ElementaryTypeName","src":"25971:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46356,"initialValue":{"arguments":[{"id":46354,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46343,"src":"25993:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46353,"name":"sqrt","nodeType":"Identifier","overloadedDeclarations":[46340,46374],"referencedDeclaration":46340,"src":"25988:4:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":46355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25988:7:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25971:24:46"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46357,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46352,"src":"26016:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46361,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46346,"src":"26058:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}],"id":46360,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46795,"src":"26041:16:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$45187_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":46362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26041:26:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46363,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46352,"src":"26071:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":46364,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46352,"src":"26080:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26071:15:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":46366,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46343,"src":"26089:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26071:19:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"26041:49:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46358,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"26025:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26034:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"26025:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26025:66:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26016:75:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46350,"id":46371,"nodeType":"Return","src":"26009:82:46"}]}]},"documentation":{"id":46341,"nodeType":"StructuredDocumentation","src":"25770:86:46","text":" @dev Calculates sqrt(a), following the selected rounding direction."},"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"25870:4:46","parameters":{"id":46347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46343,"mutability":"mutable","name":"a","nameLocation":"25883:1:46","nodeType":"VariableDeclaration","scope":46374,"src":"25875:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46342,"name":"uint256","nodeType":"ElementaryTypeName","src":"25875:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46346,"mutability":"mutable","name":"rounding","nameLocation":"25895:8:46","nodeType":"VariableDeclaration","scope":46374,"src":"25886:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"},"typeName":{"id":46345,"nodeType":"UserDefinedTypeName","pathNode":{"id":46344,"name":"Rounding","nameLocations":["25886:8:46"],"nodeType":"IdentifierPath","referencedDeclaration":45187,"src":"25886:8:46"},"referencedDeclaration":45187,"src":"25886:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"25874:30:46"},"returnParameters":{"id":46350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46349,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46374,"src":"25928:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46348,"name":"uint256","nodeType":"ElementaryTypeName","src":"25928:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25927:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46465,"nodeType":"FunctionDefinition","src":"26238:2393:46","nodes":[],"body":{"id":46464,"nodeType":"Block","src":"26297:2334:46","nodes":[],"statements":[{"expression":{"id":46391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46382,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"26379:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46385,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46377,"src":"26399:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666666666666666666666666666666666666666666666666666666666666666","id":46386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26403:34:46","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211455_by_1","typeString":"int_const 3402...(31 digits omitted)...1455"},"value":"0xffffffffffffffffffffffffffffffff"},"src":"26399:38:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46383,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"26383:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26392:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"26383:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26383:55:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"37","id":46389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26442:1:46","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"26383:60:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26379:64:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46392,"nodeType":"ExpressionStatement","src":"26379:64:46"},{"expression":{"id":46405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46393,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"26519:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46396,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46377,"src":"26541:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":46397,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"26546:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26541:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46399,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26540:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866666666666666666666666666666666","id":46400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26551:18:46","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551615_by_1","typeString":"int_const 18446744073709551615"},"value":"0xffffffffffffffff"},"src":"26540:29:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46394,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"26524:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26533:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"26524:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26524:46:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"36","id":46403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26574:1:46","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"26524:51:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26519:56:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46406,"nodeType":"ExpressionStatement","src":"26519:56:46"},{"expression":{"id":46419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46407,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"26650:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46410,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46377,"src":"26672:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":46411,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"26677:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26672:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46413,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26671:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666666666666666","id":46414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26682:10:46","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"},"value":"0xffffffff"},"src":"26671:21:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46408,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"26655:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26664:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"26655:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26655:38:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":46417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26697:1:46","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"26655:43:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26650:48:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46420,"nodeType":"ExpressionStatement","src":"26650:48:46"},{"expression":{"id":46433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46421,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"26773:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46424,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46377,"src":"26795:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":46425,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"26800:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26795:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46427,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26794:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866666666","id":46428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26805:6:46","typeDescriptions":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"},"value":"0xffff"},"src":"26794:17:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46422,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"26778:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26787:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"26778:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26778:34:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":46431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26816:1:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"26778:39:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26773:44:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46434,"nodeType":"ExpressionStatement","src":"26773:44:46"},{"expression":{"id":46447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46435,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"26890:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46438,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46377,"src":"26912:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":46439,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"26917:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26912:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46441,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26911:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666","id":46442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26922:4:46","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"26911:15:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46436,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"26895:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26904:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"26895:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26895:32:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"33","id":46445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26931:1:46","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"26895:37:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26890:42:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46448,"nodeType":"ExpressionStatement","src":"26890:42:46"},{"expression":{"id":46461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46449,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"27004:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46452,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46377,"src":"27026:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":46453,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46380,"src":"27031:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27026:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46455,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"27025:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866","id":46456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27036:3:46","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"27025:14:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46450,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"27009:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27018:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"27009:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27009:31:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"32","id":46459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27044:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"27009:36:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27004:41:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46462,"nodeType":"ExpressionStatement","src":"27004:41:46"},{"AST":{"nativeSrc":"28506:119:46","nodeType":"YulBlock","src":"28506:119:46","statements":[{"nativeSrc":"28520:95:46","nodeType":"YulAssignment","src":"28520:95:46","value":{"arguments":[{"name":"r","nativeSrc":"28528:1:46","nodeType":"YulIdentifier","src":"28528:1:46"},{"arguments":[{"arguments":[{"name":"r","nativeSrc":"28540:1:46","nodeType":"YulIdentifier","src":"28540:1:46"},{"name":"x","nativeSrc":"28543:1:46","nodeType":"YulIdentifier","src":"28543:1:46"}],"functionName":{"name":"shr","nativeSrc":"28536:3:46","nodeType":"YulIdentifier","src":"28536:3:46"},"nativeSrc":"28536:9:46","nodeType":"YulFunctionCall","src":"28536:9:46"},{"kind":"number","nativeSrc":"28547:66:46","nodeType":"YulLiteral","src":"28547:66:46","type":"","value":"0x0000010102020202030303030303030300000000000000000000000000000000"}],"functionName":{"name":"byte","nativeSrc":"28531:4:46","nodeType":"YulIdentifier","src":"28531:4:46"},"nativeSrc":"28531:83:46","nodeType":"YulFunctionCall","src":"28531:83:46"}],"functionName":{"name":"or","nativeSrc":"28525:2:46","nodeType":"YulIdentifier","src":"28525:2:46"},"nativeSrc":"28525:90:46","nodeType":"YulFunctionCall","src":"28525:90:46"},"variableNames":[{"name":"r","nativeSrc":"28520:1:46","nodeType":"YulIdentifier","src":"28520:1:46"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":46380,"isOffset":false,"isSlot":false,"src":"28520:1:46","valueSize":1},{"declaration":46380,"isOffset":false,"isSlot":false,"src":"28528:1:46","valueSize":1},{"declaration":46380,"isOffset":false,"isSlot":false,"src":"28540:1:46","valueSize":1},{"declaration":46377,"isOffset":false,"isSlot":false,"src":"28543:1:46","valueSize":1}],"flags":["memory-safe"],"id":46463,"nodeType":"InlineAssembly","src":"28481:144:46"}]},"documentation":{"id":46375,"nodeType":"StructuredDocumentation","src":"26114:119:46","text":" @dev Return the log in base 2 of a positive value rounded towards zero.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"26247:4:46","parameters":{"id":46378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46377,"mutability":"mutable","name":"x","nameLocation":"26260:1:46","nodeType":"VariableDeclaration","scope":46465,"src":"26252:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46376,"name":"uint256","nodeType":"ElementaryTypeName","src":"26252:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26251:11:46"},"returnParameters":{"id":46381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46380,"mutability":"mutable","name":"r","nameLocation":"26294:1:46","nodeType":"VariableDeclaration","scope":46465,"src":"26286:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46379,"name":"uint256","nodeType":"ElementaryTypeName","src":"26286:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26285:11:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46499,"nodeType":"FunctionDefinition","src":"28784:255:46","nodes":[],"body":{"id":46498,"nodeType":"Block","src":"28864:175:46","nodes":[],"statements":[{"id":46497,"nodeType":"UncheckedBlock","src":"28874:159:46","statements":[{"assignments":[46477],"declarations":[{"constant":false,"id":46477,"mutability":"mutable","name":"result","nameLocation":"28906:6:46","nodeType":"VariableDeclaration","scope":46497,"src":"28898:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46476,"name":"uint256","nodeType":"ElementaryTypeName","src":"28898:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46481,"initialValue":{"arguments":[{"id":46479,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"28920:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46478,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[46465,46499],"referencedDeclaration":46465,"src":"28915:4:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":46480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28915:11:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28898:28:46"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46482,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46477,"src":"28947:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46486,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46471,"src":"28989:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}],"id":46485,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46795,"src":"28972:16:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$45187_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":46487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28972:26:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29002:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":46489,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46477,"src":"29007:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29002:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":46491,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"29016:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29002:19:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28972:49:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46483,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"28956:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28965:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"28956:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28956:66:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28947:75:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46475,"id":46496,"nodeType":"Return","src":"28940:82:46"}]}]},"documentation":{"id":46466,"nodeType":"StructuredDocumentation","src":"28637:142:46","text":" @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"28793:4:46","parameters":{"id":46472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46468,"mutability":"mutable","name":"value","nameLocation":"28806:5:46","nodeType":"VariableDeclaration","scope":46499,"src":"28798:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46467,"name":"uint256","nodeType":"ElementaryTypeName","src":"28798:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46471,"mutability":"mutable","name":"rounding","nameLocation":"28822:8:46","nodeType":"VariableDeclaration","scope":46499,"src":"28813:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"},"typeName":{"id":46470,"nodeType":"UserDefinedTypeName","pathNode":{"id":46469,"name":"Rounding","nameLocations":["28813:8:46"],"nodeType":"IdentifierPath","referencedDeclaration":45187,"src":"28813:8:46"},"referencedDeclaration":45187,"src":"28813:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"28797:34:46"},"returnParameters":{"id":46475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46499,"src":"28855:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46473,"name":"uint256","nodeType":"ElementaryTypeName","src":"28855:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28854:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46628,"nodeType":"FunctionDefinition","src":"29170:916:46","nodes":[],"body":{"id":46627,"nodeType":"Block","src":"29232:854:46","nodes":[],"statements":[{"assignments":[46508],"declarations":[{"constant":false,"id":46508,"mutability":"mutable","name":"result","nameLocation":"29250:6:46","nodeType":"VariableDeclaration","scope":46627,"src":"29242:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46507,"name":"uint256","nodeType":"ElementaryTypeName","src":"29242:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46510,"initialValue":{"hexValue":"30","id":46509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29259:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29242:18:46"},{"id":46624,"nodeType":"UncheckedBlock","src":"29270:787:46","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46511,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29298:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":46514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29307:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":46513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29313:2:46","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"29307:8:46","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"29298:17:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46527,"nodeType":"IfStatement","src":"29294:103:46","trueBody":{"id":46526,"nodeType":"Block","src":"29317:80:46","statements":[{"expression":{"id":46520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46516,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29335:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":46519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29344:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":46518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29350:2:46","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"29344:8:46","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"29335:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46521,"nodeType":"ExpressionStatement","src":"29335:17:46"},{"expression":{"id":46524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46522,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"29370:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":46523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29380:2:46","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"29370:12:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46525,"nodeType":"ExpressionStatement","src":"29370:12:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46528,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29414:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":46531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29423:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":46530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29429:2:46","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"29423:8:46","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"29414:17:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46544,"nodeType":"IfStatement","src":"29410:103:46","trueBody":{"id":46543,"nodeType":"Block","src":"29433:80:46","statements":[{"expression":{"id":46537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46533,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29451:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":46536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29460:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":46535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29466:2:46","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"29460:8:46","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"29451:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46538,"nodeType":"ExpressionStatement","src":"29451:17:46"},{"expression":{"id":46541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46539,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"29486:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":46540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29496:2:46","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"29486:12:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46542,"nodeType":"ExpressionStatement","src":"29486:12:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46545,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29530:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":46548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29539:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":46547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29545:2:46","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"29539:8:46","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"29530:17:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46561,"nodeType":"IfStatement","src":"29526:103:46","trueBody":{"id":46560,"nodeType":"Block","src":"29549:80:46","statements":[{"expression":{"id":46554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46550,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29567:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":46553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29576:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":46552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29582:2:46","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"29576:8:46","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"29567:17:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46555,"nodeType":"ExpressionStatement","src":"29567:17:46"},{"expression":{"id":46558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46556,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"29602:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":46557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29612:2:46","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"29602:12:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46559,"nodeType":"ExpressionStatement","src":"29602:12:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46562,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29646:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":46565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29655:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":46564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29661:1:46","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"29655:7:46","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"29646:16:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46578,"nodeType":"IfStatement","src":"29642:100:46","trueBody":{"id":46577,"nodeType":"Block","src":"29664:78:46","statements":[{"expression":{"id":46571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46567,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29682:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":46570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29691:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":46569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29697:1:46","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"29691:7:46","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"29682:16:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46572,"nodeType":"ExpressionStatement","src":"29682:16:46"},{"expression":{"id":46575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46573,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"29716:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":46574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29726:1:46","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"29716:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46576,"nodeType":"ExpressionStatement","src":"29716:11:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46579,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29759:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":46582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29768:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":46581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29774:1:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"29768:7:46","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"29759:16:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46595,"nodeType":"IfStatement","src":"29755:100:46","trueBody":{"id":46594,"nodeType":"Block","src":"29777:78:46","statements":[{"expression":{"id":46588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46584,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29795:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":46587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29804:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":46586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29810:1:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"29804:7:46","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"29795:16:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46589,"nodeType":"ExpressionStatement","src":"29795:16:46"},{"expression":{"id":46592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46590,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"29829:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":46591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29839:1:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"29829:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46593,"nodeType":"ExpressionStatement","src":"29829:11:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46596,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29872:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":46599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29881:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":46598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29887:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"29881:7:46","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"29872:16:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46612,"nodeType":"IfStatement","src":"29868:100:46","trueBody":{"id":46611,"nodeType":"Block","src":"29890:78:46","statements":[{"expression":{"id":46605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46601,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29908:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":46604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29917:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":46603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29923:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"29917:7:46","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"29908:16:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46606,"nodeType":"ExpressionStatement","src":"29908:16:46"},{"expression":{"id":46609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46607,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"29942:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":46608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29952:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"29942:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46610,"nodeType":"ExpressionStatement","src":"29942:11:46"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46613,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"29985:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"id":46616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29994:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"31","id":46615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30000:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"29994:7:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}},"src":"29985:16:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46623,"nodeType":"IfStatement","src":"29981:66:46","trueBody":{"id":46622,"nodeType":"Block","src":"30003:44:46","statements":[{"expression":{"id":46620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46618,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"30021:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":46619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30031:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30021:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46621,"nodeType":"ExpressionStatement","src":"30021:11:46"}]}}]},{"expression":{"id":46625,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"30073:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46506,"id":46626,"nodeType":"Return","src":"30066:13:46"}]},"documentation":{"id":46500,"nodeType":"StructuredDocumentation","src":"29045:120:46","text":" @dev Return the log in base 10 of a positive value rounded towards zero.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"29179:5:46","parameters":{"id":46503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46502,"mutability":"mutable","name":"value","nameLocation":"29193:5:46","nodeType":"VariableDeclaration","scope":46628,"src":"29185:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46501,"name":"uint256","nodeType":"ElementaryTypeName","src":"29185:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29184:15:46"},"returnParameters":{"id":46506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46628,"src":"29223:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46504,"name":"uint256","nodeType":"ElementaryTypeName","src":"29223:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29222:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46662,"nodeType":"FunctionDefinition","src":"30240:258:46","nodes":[],"body":{"id":46661,"nodeType":"Block","src":"30321:177:46","nodes":[],"statements":[{"id":46660,"nodeType":"UncheckedBlock","src":"30331:161:46","statements":[{"assignments":[46640],"declarations":[{"constant":false,"id":46640,"mutability":"mutable","name":"result","nameLocation":"30363:6:46","nodeType":"VariableDeclaration","scope":46660,"src":"30355:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46639,"name":"uint256","nodeType":"ElementaryTypeName","src":"30355:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46644,"initialValue":{"arguments":[{"id":46642,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46631,"src":"30378:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46641,"name":"log10","nodeType":"Identifier","overloadedDeclarations":[46628,46662],"referencedDeclaration":46628,"src":"30372:5:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":46643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30372:12:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30355:29:46"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46645,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46640,"src":"30405:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46649,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46634,"src":"30447:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}],"id":46648,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46795,"src":"30430:16:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$45187_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":46650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30430:26:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":46651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30460:2:46","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":46652,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46640,"src":"30466:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30460:12:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":46654,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46631,"src":"30475:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30460:20:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30430:50:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46646,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"30414:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30423:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"30414:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30414:67:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30405:76:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46638,"id":46659,"nodeType":"Return","src":"30398:83:46"}]}]},"documentation":{"id":46629,"nodeType":"StructuredDocumentation","src":"30092:143:46","text":" @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"30249:5:46","parameters":{"id":46635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46631,"mutability":"mutable","name":"value","nameLocation":"30263:5:46","nodeType":"VariableDeclaration","scope":46662,"src":"30255:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46630,"name":"uint256","nodeType":"ElementaryTypeName","src":"30255:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46634,"mutability":"mutable","name":"rounding","nameLocation":"30279:8:46","nodeType":"VariableDeclaration","scope":46662,"src":"30270:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"},"typeName":{"id":46633,"nodeType":"UserDefinedTypeName","pathNode":{"id":46632,"name":"Rounding","nameLocations":["30270:8:46"],"nodeType":"IdentifierPath","referencedDeclaration":45187,"src":"30270:8:46"},"referencedDeclaration":45187,"src":"30270:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"30254:34:46"},"returnParameters":{"id":46638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46662,"src":"30312:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46636,"name":"uint256","nodeType":"ElementaryTypeName","src":"30312:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30311:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46739,"nodeType":"FunctionDefinition","src":"30755:736:46","nodes":[],"body":{"id":46738,"nodeType":"Block","src":"30816:675:46","nodes":[],"statements":[{"expression":{"id":46679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46670,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46668,"src":"30898:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46673,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46665,"src":"30918:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666666666666666666666666666666666666666666666666666666666666666","id":46674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30922:34:46","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211455_by_1","typeString":"int_const 3402...(31 digits omitted)...1455"},"value":"0xffffffffffffffffffffffffffffffff"},"src":"30918:38:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46671,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"30902:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30911:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"30902:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30902:55:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"37","id":46677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30961:1:46","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"30902:60:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30898:64:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46680,"nodeType":"ExpressionStatement","src":"30898:64:46"},{"expression":{"id":46693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46681,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46668,"src":"31038:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46684,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46665,"src":"31060:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":46685,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46668,"src":"31065:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31060:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46687,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31059:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866666666666666666666666666666666","id":46688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31070:18:46","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551615_by_1","typeString":"int_const 18446744073709551615"},"value":"0xffffffffffffffff"},"src":"31059:29:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46682,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"31043:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31052:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"31043:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31043:46:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"36","id":46691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31093:1:46","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"31043:51:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31038:56:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46694,"nodeType":"ExpressionStatement","src":"31038:56:46"},{"expression":{"id":46707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46695,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46668,"src":"31169:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46698,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46665,"src":"31191:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":46699,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46668,"src":"31196:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31191:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46701,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31190:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666666666666666","id":46702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31201:10:46","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"},"value":"0xffffffff"},"src":"31190:21:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46696,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"31174:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31183:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"31174:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31174:38:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":46705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31216:1:46","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"31174:43:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31169:48:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46708,"nodeType":"ExpressionStatement","src":"31169:48:46"},{"expression":{"id":46721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46709,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46668,"src":"31292:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46712,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46665,"src":"31314:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":46713,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46668,"src":"31319:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31314:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46715,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31313:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866666666","id":46716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31324:6:46","typeDescriptions":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"},"value":"0xffff"},"src":"31313:17:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46710,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"31297:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31306:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"31297:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31297:34:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":46719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31335:1:46","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"31297:39:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31292:44:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46722,"nodeType":"ExpressionStatement","src":"31292:44:46"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46723,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46668,"src":"31442:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"33","id":46724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31447:1:46","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"31442:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46726,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31441:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46729,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46665,"src":"31469:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":46730,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46668,"src":"31474:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31469:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46732,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31468:8:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666","id":46733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31479:4:46","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"31468:15:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46727,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"31452:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31461:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"31452:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31452:32:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31441:43:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46669,"id":46737,"nodeType":"Return","src":"31434:50:46"}]},"documentation":{"id":46663,"nodeType":"StructuredDocumentation","src":"30504:246:46","text":" @dev Return the log in base 256 of a positive value rounded towards zero.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string."},"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"30764:6:46","parameters":{"id":46666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46665,"mutability":"mutable","name":"x","nameLocation":"30779:1:46","nodeType":"VariableDeclaration","scope":46739,"src":"30771:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46664,"name":"uint256","nodeType":"ElementaryTypeName","src":"30771:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30770:11:46"},"returnParameters":{"id":46669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46668,"mutability":"mutable","name":"r","nameLocation":"30813:1:46","nodeType":"VariableDeclaration","scope":46739,"src":"30805:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46667,"name":"uint256","nodeType":"ElementaryTypeName","src":"30805:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30804:11:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46776,"nodeType":"FunctionDefinition","src":"31646:266:46","nodes":[],"body":{"id":46775,"nodeType":"Block","src":"31728:184:46","nodes":[],"statements":[{"id":46774,"nodeType":"UncheckedBlock","src":"31738:168:46","statements":[{"assignments":[46751],"declarations":[{"constant":false,"id":46751,"mutability":"mutable","name":"result","nameLocation":"31770:6:46","nodeType":"VariableDeclaration","scope":46774,"src":"31762:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46750,"name":"uint256","nodeType":"ElementaryTypeName","src":"31762:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46755,"initialValue":{"arguments":[{"id":46753,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46742,"src":"31786:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46752,"name":"log256","nodeType":"Identifier","overloadedDeclarations":[46739,46776],"referencedDeclaration":46739,"src":"31779:6:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":46754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31779:13:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31762:30:46"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46756,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46751,"src":"31813:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46760,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46745,"src":"31855:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}],"id":46759,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46795,"src":"31838:16:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$45187_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":46761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31838:26:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31868:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46763,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46751,"src":"31874:6:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"33","id":46764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31884:1:46","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"31874:11:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46766,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31873:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31868:18:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":46768,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46742,"src":"31889:5:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31868:26:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"31838:56:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46757,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"31822:8:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":46758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31831:6:46","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"31822:15:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31822:73:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31813:82:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46749,"id":46773,"nodeType":"Return","src":"31806:89:46"}]}]},"documentation":{"id":46740,"nodeType":"StructuredDocumentation","src":"31497:144:46","text":" @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"31655:6:46","parameters":{"id":46746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46742,"mutability":"mutable","name":"value","nameLocation":"31670:5:46","nodeType":"VariableDeclaration","scope":46776,"src":"31662:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46741,"name":"uint256","nodeType":"ElementaryTypeName","src":"31662:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46745,"mutability":"mutable","name":"rounding","nameLocation":"31686:8:46","nodeType":"VariableDeclaration","scope":46776,"src":"31677:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"},"typeName":{"id":46744,"nodeType":"UserDefinedTypeName","pathNode":{"id":46743,"name":"Rounding","nameLocations":["31677:8:46"],"nodeType":"IdentifierPath","referencedDeclaration":45187,"src":"31677:8:46"},"referencedDeclaration":45187,"src":"31677:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"31661:34:46"},"returnParameters":{"id":46749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46776,"src":"31719:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46747,"name":"uint256","nodeType":"ElementaryTypeName","src":"31719:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31718:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46795,"nodeType":"FunctionDefinition","src":"32036:122:46","nodes":[],"body":{"id":46794,"nodeType":"Block","src":"32110:48:46","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46787,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46780,"src":"32133:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}],"id":46786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32127:5:46","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":46785,"name":"uint8","nodeType":"ElementaryTypeName","src":"32127:5:46","typeDescriptions":{}}},"id":46788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32127:15:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"32","id":46789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32145:1:46","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"32127:19:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":46791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32150:1:46","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"32127:24:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46784,"id":46793,"nodeType":"Return","src":"32120:31:46"}]},"documentation":{"id":46777,"nodeType":"StructuredDocumentation","src":"31918:113:46","text":" @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers."},"implemented":true,"kind":"function","modifiers":[],"name":"unsignedRoundsUp","nameLocation":"32045:16:46","parameters":{"id":46781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46780,"mutability":"mutable","name":"rounding","nameLocation":"32071:8:46","nodeType":"VariableDeclaration","scope":46795,"src":"32062:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"},"typeName":{"id":46779,"nodeType":"UserDefinedTypeName","pathNode":{"id":46778,"name":"Rounding","nameLocations":["32062:8:46"],"nodeType":"IdentifierPath","referencedDeclaration":45187,"src":"32062:8:46"},"referencedDeclaration":45187,"src":"32062:8:46","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$45187","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"32061:19:46"},"returnParameters":{"id":46784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46795,"src":"32104:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46782,"name":"bool","nodeType":"ElementaryTypeName","src":"32104:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32103:6:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46816,"nodeType":"FunctionDefinition","src":"32245:115:46","nodes":[],"body":{"id":46815,"nodeType":"Block","src":"32301:59:46","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46804,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46798,"src":"32326:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32331:1:46","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32326:6:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"323536","id":46807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32334:3:46","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323535","id":46808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32339:3:46","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":46810,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46798,"src":"32350:1:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46809,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[46465,46499],"referencedDeclaration":46465,"src":"32345:4:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":46811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32345:7:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32339:13:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46803,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45464,"src":"32318:7:46","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":46813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32318:35:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46802,"id":46814,"nodeType":"Return","src":"32311:42:46"}]},"documentation":{"id":46796,"nodeType":"StructuredDocumentation","src":"32164:76:46","text":" @dev Counts the number of leading zero bits in a uint256."},"implemented":true,"kind":"function","modifiers":[],"name":"clz","nameLocation":"32254:3:46","parameters":{"id":46799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46798,"mutability":"mutable","name":"x","nameLocation":"32266:1:46","nodeType":"VariableDeclaration","scope":46816,"src":"32258:9:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46797,"name":"uint256","nodeType":"ElementaryTypeName","src":"32258:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32257:11:46"},"returnParameters":{"id":46802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46801,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46816,"src":"32292:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46800,"name":"uint256","nodeType":"ElementaryTypeName","src":"32292:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32291:9:46"},"scope":46817,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Math","contractDependencies":[],"contractKind":"library","documentation":{"id":45182,"nodeType":"StructuredDocumentation","src":"207:73:46","text":" @dev Standard math utilities missing in the Solidity language."},"fullyImplemented":true,"linearizedBaseContracts":[46817],"name":"Math","nameLocation":"289:4:46","scope":46818,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"id":47,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","id":48583,"exportedSymbols":{"SafeCast":[48582]},"nodeType":"SourceUnit","src":"192:34751:47","nodes":[{"id":46819,"nodeType":"PragmaDirective","src":"192:24:47","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":48582,"nodeType":"ContractDefinition","src":"769:34173:47","nodes":[{"id":46827,"nodeType":"ErrorDefinition","src":"865:64:47","nodes":[],"documentation":{"id":46821,"nodeType":"StructuredDocumentation","src":"792:68:47","text":" @dev Value doesn't fit in an uint of `bits` size."},"errorSelector":"6dfcc650","name":"SafeCastOverflowedUintDowncast","nameLocation":"871:30:47","parameters":{"id":46826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46823,"mutability":"mutable","name":"bits","nameLocation":"908:4:47","nodeType":"VariableDeclaration","scope":46827,"src":"902:10:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":46822,"name":"uint8","nodeType":"ElementaryTypeName","src":"902:5:47","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":46825,"mutability":"mutable","name":"value","nameLocation":"922:5:47","nodeType":"VariableDeclaration","scope":46827,"src":"914:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46824,"name":"uint256","nodeType":"ElementaryTypeName","src":"914:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"901:27:47"}},{"id":46832,"nodeType":"ErrorDefinition","src":"1015:48:47","nodes":[],"documentation":{"id":46828,"nodeType":"StructuredDocumentation","src":"935:75:47","text":" @dev An int value doesn't fit in an uint of `bits` size."},"errorSelector":"a8ce4432","name":"SafeCastOverflowedIntToUint","nameLocation":"1021:27:47","parameters":{"id":46831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46830,"mutability":"mutable","name":"value","nameLocation":"1056:5:47","nodeType":"VariableDeclaration","scope":46832,"src":"1049:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46829,"name":"int256","nodeType":"ElementaryTypeName","src":"1049:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1048:14:47"}},{"id":46839,"nodeType":"ErrorDefinition","src":"1141:62:47","nodes":[],"documentation":{"id":46833,"nodeType":"StructuredDocumentation","src":"1069:67:47","text":" @dev Value doesn't fit in an int of `bits` size."},"errorSelector":"327269a7","name":"SafeCastOverflowedIntDowncast","nameLocation":"1147:29:47","parameters":{"id":46838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46835,"mutability":"mutable","name":"bits","nameLocation":"1183:4:47","nodeType":"VariableDeclaration","scope":46839,"src":"1177:10:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":46834,"name":"uint8","nodeType":"ElementaryTypeName","src":"1177:5:47","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":46837,"mutability":"mutable","name":"value","nameLocation":"1196:5:47","nodeType":"VariableDeclaration","scope":46839,"src":"1189:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46836,"name":"int256","nodeType":"ElementaryTypeName","src":"1189:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1176:26:47"}},{"id":46844,"nodeType":"ErrorDefinition","src":"1289:49:47","nodes":[],"documentation":{"id":46840,"nodeType":"StructuredDocumentation","src":"1209:75:47","text":" @dev An uint value doesn't fit in an int of `bits` size."},"errorSelector":"24775e06","name":"SafeCastOverflowedUintToInt","nameLocation":"1295:27:47","parameters":{"id":46843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46842,"mutability":"mutable","name":"value","nameLocation":"1331:5:47","nodeType":"VariableDeclaration","scope":46844,"src":"1323:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46841,"name":"uint256","nodeType":"ElementaryTypeName","src":"1323:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1322:15:47"}},{"id":46872,"nodeType":"FunctionDefinition","src":"1629:218:47","nodes":[],"body":{"id":46871,"nodeType":"Block","src":"1695:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46852,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46847,"src":"1709:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":46855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1722:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":46854,"name":"uint248","nodeType":"ElementaryTypeName","src":"1722:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"}],"id":46853,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1717:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1717:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint248","typeString":"type(uint248)"}},"id":46857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1731:3:47","memberName":"max","nodeType":"MemberAccess","src":"1717:17:47","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"src":"1709:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46865,"nodeType":"IfStatement","src":"1705:105:47","trueBody":{"id":46864,"nodeType":"Block","src":"1736:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323438","id":46860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1788:3:47","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"},{"id":46861,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46847,"src":"1793:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46859,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"1757:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":46862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1757:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":46863,"nodeType":"RevertStatement","src":"1750:49:47"}]}},{"expression":{"arguments":[{"id":46868,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46847,"src":"1834:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1826:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":46866,"name":"uint248","nodeType":"ElementaryTypeName","src":"1826:7:47","typeDescriptions":{}}},"id":46869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1826:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"functionReturnParameters":46851,"id":46870,"nodeType":"Return","src":"1819:21:47"}]},"documentation":{"id":46845,"nodeType":"StructuredDocumentation","src":"1344:280:47","text":" @dev Returns the downcasted uint248 from uint256, reverting on\n overflow (when the input is greater than largest uint248).\n Counterpart to Solidity's `uint248` operator.\n Requirements:\n - input must fit into 248 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint248","nameLocation":"1638:9:47","parameters":{"id":46848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46847,"mutability":"mutable","name":"value","nameLocation":"1656:5:47","nodeType":"VariableDeclaration","scope":46872,"src":"1648:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46846,"name":"uint256","nodeType":"ElementaryTypeName","src":"1648:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1647:15:47"},"returnParameters":{"id":46851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46850,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46872,"src":"1686:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"},"typeName":{"id":46849,"name":"uint248","nodeType":"ElementaryTypeName","src":"1686:7:47","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"visibility":"internal"}],"src":"1685:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46900,"nodeType":"FunctionDefinition","src":"2138:218:47","nodes":[],"body":{"id":46899,"nodeType":"Block","src":"2204:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46880,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46875,"src":"2218:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":46883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2231:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":46882,"name":"uint240","nodeType":"ElementaryTypeName","src":"2231:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"}],"id":46881,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2226:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2226:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint240","typeString":"type(uint240)"}},"id":46885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2240:3:47","memberName":"max","nodeType":"MemberAccess","src":"2226:17:47","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"src":"2218:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46893,"nodeType":"IfStatement","src":"2214:105:47","trueBody":{"id":46892,"nodeType":"Block","src":"2245:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323430","id":46888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2297:3:47","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"240"},{"id":46889,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46875,"src":"2302:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46887,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"2266:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":46890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2266:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":46891,"nodeType":"RevertStatement","src":"2259:49:47"}]}},{"expression":{"arguments":[{"id":46896,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46875,"src":"2343:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2335:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":46894,"name":"uint240","nodeType":"ElementaryTypeName","src":"2335:7:47","typeDescriptions":{}}},"id":46897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2335:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"functionReturnParameters":46879,"id":46898,"nodeType":"Return","src":"2328:21:47"}]},"documentation":{"id":46873,"nodeType":"StructuredDocumentation","src":"1853:280:47","text":" @dev Returns the downcasted uint240 from uint256, reverting on\n overflow (when the input is greater than largest uint240).\n Counterpart to Solidity's `uint240` operator.\n Requirements:\n - input must fit into 240 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint240","nameLocation":"2147:9:47","parameters":{"id":46876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46875,"mutability":"mutable","name":"value","nameLocation":"2165:5:47","nodeType":"VariableDeclaration","scope":46900,"src":"2157:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46874,"name":"uint256","nodeType":"ElementaryTypeName","src":"2157:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2156:15:47"},"returnParameters":{"id":46879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46878,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46900,"src":"2195:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"},"typeName":{"id":46877,"name":"uint240","nodeType":"ElementaryTypeName","src":"2195:7:47","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"visibility":"internal"}],"src":"2194:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46928,"nodeType":"FunctionDefinition","src":"2647:218:47","nodes":[],"body":{"id":46927,"nodeType":"Block","src":"2713:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46908,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46903,"src":"2727:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":46911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2740:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":46910,"name":"uint232","nodeType":"ElementaryTypeName","src":"2740:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"}],"id":46909,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2735:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2735:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint232","typeString":"type(uint232)"}},"id":46913,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2749:3:47","memberName":"max","nodeType":"MemberAccess","src":"2735:17:47","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"src":"2727:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46921,"nodeType":"IfStatement","src":"2723:105:47","trueBody":{"id":46920,"nodeType":"Block","src":"2754:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323332","id":46916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2806:3:47","typeDescriptions":{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},"value":"232"},{"id":46917,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46903,"src":"2811:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46915,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"2775:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":46918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2775:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":46919,"nodeType":"RevertStatement","src":"2768:49:47"}]}},{"expression":{"arguments":[{"id":46924,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46903,"src":"2852:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2844:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":46922,"name":"uint232","nodeType":"ElementaryTypeName","src":"2844:7:47","typeDescriptions":{}}},"id":46925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2844:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"functionReturnParameters":46907,"id":46926,"nodeType":"Return","src":"2837:21:47"}]},"documentation":{"id":46901,"nodeType":"StructuredDocumentation","src":"2362:280:47","text":" @dev Returns the downcasted uint232 from uint256, reverting on\n overflow (when the input is greater than largest uint232).\n Counterpart to Solidity's `uint232` operator.\n Requirements:\n - input must fit into 232 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint232","nameLocation":"2656:9:47","parameters":{"id":46904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46903,"mutability":"mutable","name":"value","nameLocation":"2674:5:47","nodeType":"VariableDeclaration","scope":46928,"src":"2666:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46902,"name":"uint256","nodeType":"ElementaryTypeName","src":"2666:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2665:15:47"},"returnParameters":{"id":46907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46928,"src":"2704:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"},"typeName":{"id":46905,"name":"uint232","nodeType":"ElementaryTypeName","src":"2704:7:47","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"visibility":"internal"}],"src":"2703:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46956,"nodeType":"FunctionDefinition","src":"3156:218:47","nodes":[],"body":{"id":46955,"nodeType":"Block","src":"3222:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46936,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46931,"src":"3236:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":46939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3249:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":46938,"name":"uint224","nodeType":"ElementaryTypeName","src":"3249:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"}],"id":46937,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3244:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3244:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint224","typeString":"type(uint224)"}},"id":46941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3258:3:47","memberName":"max","nodeType":"MemberAccess","src":"3244:17:47","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"3236:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46949,"nodeType":"IfStatement","src":"3232:105:47","trueBody":{"id":46948,"nodeType":"Block","src":"3263:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323234","id":46944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3315:3:47","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},{"id":46945,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46931,"src":"3320:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46943,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"3284:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":46946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3284:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":46947,"nodeType":"RevertStatement","src":"3277:49:47"}]}},{"expression":{"arguments":[{"id":46952,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46931,"src":"3361:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3353:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":46950,"name":"uint224","nodeType":"ElementaryTypeName","src":"3353:7:47","typeDescriptions":{}}},"id":46953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3353:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":46935,"id":46954,"nodeType":"Return","src":"3346:21:47"}]},"documentation":{"id":46929,"nodeType":"StructuredDocumentation","src":"2871:280:47","text":" @dev Returns the downcasted uint224 from uint256, reverting on\n overflow (when the input is greater than largest uint224).\n Counterpart to Solidity's `uint224` operator.\n Requirements:\n - input must fit into 224 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint224","nameLocation":"3165:9:47","parameters":{"id":46932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46931,"mutability":"mutable","name":"value","nameLocation":"3183:5:47","nodeType":"VariableDeclaration","scope":46956,"src":"3175:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46930,"name":"uint256","nodeType":"ElementaryTypeName","src":"3175:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3174:15:47"},"returnParameters":{"id":46935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46934,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46956,"src":"3213:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":46933,"name":"uint224","nodeType":"ElementaryTypeName","src":"3213:7:47","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"3212:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46984,"nodeType":"FunctionDefinition","src":"3665:218:47","nodes":[],"body":{"id":46983,"nodeType":"Block","src":"3731:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46964,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46959,"src":"3745:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":46967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3758:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":46966,"name":"uint216","nodeType":"ElementaryTypeName","src":"3758:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"}],"id":46965,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3753:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3753:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint216","typeString":"type(uint216)"}},"id":46969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3767:3:47","memberName":"max","nodeType":"MemberAccess","src":"3753:17:47","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"src":"3745:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46977,"nodeType":"IfStatement","src":"3741:105:47","trueBody":{"id":46976,"nodeType":"Block","src":"3772:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323136","id":46972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3824:3:47","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"216"},{"id":46973,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46959,"src":"3829:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46971,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"3793:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":46974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3793:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":46975,"nodeType":"RevertStatement","src":"3786:49:47"}]}},{"expression":{"arguments":[{"id":46980,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46959,"src":"3870:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3862:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":46978,"name":"uint216","nodeType":"ElementaryTypeName","src":"3862:7:47","typeDescriptions":{}}},"id":46981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3862:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"functionReturnParameters":46963,"id":46982,"nodeType":"Return","src":"3855:21:47"}]},"documentation":{"id":46957,"nodeType":"StructuredDocumentation","src":"3380:280:47","text":" @dev Returns the downcasted uint216 from uint256, reverting on\n overflow (when the input is greater than largest uint216).\n Counterpart to Solidity's `uint216` operator.\n Requirements:\n - input must fit into 216 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint216","nameLocation":"3674:9:47","parameters":{"id":46960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46959,"mutability":"mutable","name":"value","nameLocation":"3692:5:47","nodeType":"VariableDeclaration","scope":46984,"src":"3684:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46958,"name":"uint256","nodeType":"ElementaryTypeName","src":"3684:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3683:15:47"},"returnParameters":{"id":46963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46984,"src":"3722:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"},"typeName":{"id":46961,"name":"uint216","nodeType":"ElementaryTypeName","src":"3722:7:47","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"visibility":"internal"}],"src":"3721:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47012,"nodeType":"FunctionDefinition","src":"4174:218:47","nodes":[],"body":{"id":47011,"nodeType":"Block","src":"4240:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46992,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46987,"src":"4254:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":46995,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4267:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":46994,"name":"uint208","nodeType":"ElementaryTypeName","src":"4267:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"}],"id":46993,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4262:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4262:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint208","typeString":"type(uint208)"}},"id":46997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4276:3:47","memberName":"max","nodeType":"MemberAccess","src":"4262:17:47","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"4254:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47005,"nodeType":"IfStatement","src":"4250:105:47","trueBody":{"id":47004,"nodeType":"Block","src":"4281:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323038","id":47000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4333:3:47","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"},{"id":47001,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46987,"src":"4338:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46999,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"4302:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4302:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47003,"nodeType":"RevertStatement","src":"4295:49:47"}]}},{"expression":{"arguments":[{"id":47008,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46987,"src":"4379:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4371:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":47006,"name":"uint208","nodeType":"ElementaryTypeName","src":"4371:7:47","typeDescriptions":{}}},"id":47009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4371:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":46991,"id":47010,"nodeType":"Return","src":"4364:21:47"}]},"documentation":{"id":46985,"nodeType":"StructuredDocumentation","src":"3889:280:47","text":" @dev Returns the downcasted uint208 from uint256, reverting on\n overflow (when the input is greater than largest uint208).\n Counterpart to Solidity's `uint208` operator.\n Requirements:\n - input must fit into 208 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint208","nameLocation":"4183:9:47","parameters":{"id":46988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46987,"mutability":"mutable","name":"value","nameLocation":"4201:5:47","nodeType":"VariableDeclaration","scope":47012,"src":"4193:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46986,"name":"uint256","nodeType":"ElementaryTypeName","src":"4193:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4192:15:47"},"returnParameters":{"id":46991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46990,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47012,"src":"4231:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":46989,"name":"uint208","nodeType":"ElementaryTypeName","src":"4231:7:47","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"4230:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47040,"nodeType":"FunctionDefinition","src":"4683:218:47","nodes":[],"body":{"id":47039,"nodeType":"Block","src":"4749:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47020,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47015,"src":"4763:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4776:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":47022,"name":"uint200","nodeType":"ElementaryTypeName","src":"4776:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"}],"id":47021,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4771:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4771:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint200","typeString":"type(uint200)"}},"id":47025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4785:3:47","memberName":"max","nodeType":"MemberAccess","src":"4771:17:47","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"src":"4763:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47033,"nodeType":"IfStatement","src":"4759:105:47","trueBody":{"id":47032,"nodeType":"Block","src":"4790:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323030","id":47028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4842:3:47","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},{"id":47029,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47015,"src":"4847:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47027,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"4811:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4811:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47031,"nodeType":"RevertStatement","src":"4804:49:47"}]}},{"expression":{"arguments":[{"id":47036,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47015,"src":"4888:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4880:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":47034,"name":"uint200","nodeType":"ElementaryTypeName","src":"4880:7:47","typeDescriptions":{}}},"id":47037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4880:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"functionReturnParameters":47019,"id":47038,"nodeType":"Return","src":"4873:21:47"}]},"documentation":{"id":47013,"nodeType":"StructuredDocumentation","src":"4398:280:47","text":" @dev Returns the downcasted uint200 from uint256, reverting on\n overflow (when the input is greater than largest uint200).\n Counterpart to Solidity's `uint200` operator.\n Requirements:\n - input must fit into 200 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint200","nameLocation":"4692:9:47","parameters":{"id":47016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47015,"mutability":"mutable","name":"value","nameLocation":"4710:5:47","nodeType":"VariableDeclaration","scope":47040,"src":"4702:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47014,"name":"uint256","nodeType":"ElementaryTypeName","src":"4702:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4701:15:47"},"returnParameters":{"id":47019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47040,"src":"4740:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"},"typeName":{"id":47017,"name":"uint200","nodeType":"ElementaryTypeName","src":"4740:7:47","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"visibility":"internal"}],"src":"4739:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47068,"nodeType":"FunctionDefinition","src":"5192:218:47","nodes":[],"body":{"id":47067,"nodeType":"Block","src":"5258:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47048,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47043,"src":"5272:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5285:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":47050,"name":"uint192","nodeType":"ElementaryTypeName","src":"5285:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"}],"id":47049,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5280:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5280:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint192","typeString":"type(uint192)"}},"id":47053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5294:3:47","memberName":"max","nodeType":"MemberAccess","src":"5280:17:47","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"src":"5272:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47061,"nodeType":"IfStatement","src":"5268:105:47","trueBody":{"id":47060,"nodeType":"Block","src":"5299:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313932","id":47056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5351:3:47","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},{"id":47057,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47043,"src":"5356:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47055,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"5320:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5320:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47059,"nodeType":"RevertStatement","src":"5313:49:47"}]}},{"expression":{"arguments":[{"id":47064,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47043,"src":"5397:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5389:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":47062,"name":"uint192","nodeType":"ElementaryTypeName","src":"5389:7:47","typeDescriptions":{}}},"id":47065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5389:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"functionReturnParameters":47047,"id":47066,"nodeType":"Return","src":"5382:21:47"}]},"documentation":{"id":47041,"nodeType":"StructuredDocumentation","src":"4907:280:47","text":" @dev Returns the downcasted uint192 from uint256, reverting on\n overflow (when the input is greater than largest uint192).\n Counterpart to Solidity's `uint192` operator.\n Requirements:\n - input must fit into 192 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint192","nameLocation":"5201:9:47","parameters":{"id":47044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47043,"mutability":"mutable","name":"value","nameLocation":"5219:5:47","nodeType":"VariableDeclaration","scope":47068,"src":"5211:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47042,"name":"uint256","nodeType":"ElementaryTypeName","src":"5211:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5210:15:47"},"returnParameters":{"id":47047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47046,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47068,"src":"5249:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"},"typeName":{"id":47045,"name":"uint192","nodeType":"ElementaryTypeName","src":"5249:7:47","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"visibility":"internal"}],"src":"5248:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47096,"nodeType":"FunctionDefinition","src":"5701:218:47","nodes":[],"body":{"id":47095,"nodeType":"Block","src":"5767:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47076,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47071,"src":"5781:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5794:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":47078,"name":"uint184","nodeType":"ElementaryTypeName","src":"5794:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"}],"id":47077,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5789:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5789:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint184","typeString":"type(uint184)"}},"id":47081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5803:3:47","memberName":"max","nodeType":"MemberAccess","src":"5789:17:47","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"src":"5781:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47089,"nodeType":"IfStatement","src":"5777:105:47","trueBody":{"id":47088,"nodeType":"Block","src":"5808:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313834","id":47084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5860:3:47","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"},{"id":47085,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47071,"src":"5865:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47083,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"5829:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5829:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47087,"nodeType":"RevertStatement","src":"5822:49:47"}]}},{"expression":{"arguments":[{"id":47092,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47071,"src":"5906:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5898:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":47090,"name":"uint184","nodeType":"ElementaryTypeName","src":"5898:7:47","typeDescriptions":{}}},"id":47093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5898:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"functionReturnParameters":47075,"id":47094,"nodeType":"Return","src":"5891:21:47"}]},"documentation":{"id":47069,"nodeType":"StructuredDocumentation","src":"5416:280:47","text":" @dev Returns the downcasted uint184 from uint256, reverting on\n overflow (when the input is greater than largest uint184).\n Counterpart to Solidity's `uint184` operator.\n Requirements:\n - input must fit into 184 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint184","nameLocation":"5710:9:47","parameters":{"id":47072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47071,"mutability":"mutable","name":"value","nameLocation":"5728:5:47","nodeType":"VariableDeclaration","scope":47096,"src":"5720:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47070,"name":"uint256","nodeType":"ElementaryTypeName","src":"5720:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5719:15:47"},"returnParameters":{"id":47075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47074,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47096,"src":"5758:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"},"typeName":{"id":47073,"name":"uint184","nodeType":"ElementaryTypeName","src":"5758:7:47","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"visibility":"internal"}],"src":"5757:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47124,"nodeType":"FunctionDefinition","src":"6210:218:47","nodes":[],"body":{"id":47123,"nodeType":"Block","src":"6276:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47104,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47099,"src":"6290:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6303:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":47106,"name":"uint176","nodeType":"ElementaryTypeName","src":"6303:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"}],"id":47105,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6298:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint176","typeString":"type(uint176)"}},"id":47109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6312:3:47","memberName":"max","nodeType":"MemberAccess","src":"6298:17:47","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"src":"6290:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47117,"nodeType":"IfStatement","src":"6286:105:47","trueBody":{"id":47116,"nodeType":"Block","src":"6317:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313736","id":47112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6369:3:47","typeDescriptions":{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},"value":"176"},{"id":47113,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47099,"src":"6374:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47111,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"6338:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6338:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47115,"nodeType":"RevertStatement","src":"6331:49:47"}]}},{"expression":{"arguments":[{"id":47120,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47099,"src":"6415:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6407:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":47118,"name":"uint176","nodeType":"ElementaryTypeName","src":"6407:7:47","typeDescriptions":{}}},"id":47121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6407:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"functionReturnParameters":47103,"id":47122,"nodeType":"Return","src":"6400:21:47"}]},"documentation":{"id":47097,"nodeType":"StructuredDocumentation","src":"5925:280:47","text":" @dev Returns the downcasted uint176 from uint256, reverting on\n overflow (when the input is greater than largest uint176).\n Counterpart to Solidity's `uint176` operator.\n Requirements:\n - input must fit into 176 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint176","nameLocation":"6219:9:47","parameters":{"id":47100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47099,"mutability":"mutable","name":"value","nameLocation":"6237:5:47","nodeType":"VariableDeclaration","scope":47124,"src":"6229:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47098,"name":"uint256","nodeType":"ElementaryTypeName","src":"6229:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6228:15:47"},"returnParameters":{"id":47103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47124,"src":"6267:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"},"typeName":{"id":47101,"name":"uint176","nodeType":"ElementaryTypeName","src":"6267:7:47","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"visibility":"internal"}],"src":"6266:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47152,"nodeType":"FunctionDefinition","src":"6719:218:47","nodes":[],"body":{"id":47151,"nodeType":"Block","src":"6785:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47132,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47127,"src":"6799:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6812:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":47134,"name":"uint168","nodeType":"ElementaryTypeName","src":"6812:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"}],"id":47133,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6807:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6807:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint168","typeString":"type(uint168)"}},"id":47137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6821:3:47","memberName":"max","nodeType":"MemberAccess","src":"6807:17:47","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"src":"6799:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47145,"nodeType":"IfStatement","src":"6795:105:47","trueBody":{"id":47144,"nodeType":"Block","src":"6826:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313638","id":47140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6878:3:47","typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"},{"id":47141,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47127,"src":"6883:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47139,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"6847:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6847:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47143,"nodeType":"RevertStatement","src":"6840:49:47"}]}},{"expression":{"arguments":[{"id":47148,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47127,"src":"6924:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6916:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":47146,"name":"uint168","nodeType":"ElementaryTypeName","src":"6916:7:47","typeDescriptions":{}}},"id":47149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6916:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"functionReturnParameters":47131,"id":47150,"nodeType":"Return","src":"6909:21:47"}]},"documentation":{"id":47125,"nodeType":"StructuredDocumentation","src":"6434:280:47","text":" @dev Returns the downcasted uint168 from uint256, reverting on\n overflow (when the input is greater than largest uint168).\n Counterpart to Solidity's `uint168` operator.\n Requirements:\n - input must fit into 168 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint168","nameLocation":"6728:9:47","parameters":{"id":47128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47127,"mutability":"mutable","name":"value","nameLocation":"6746:5:47","nodeType":"VariableDeclaration","scope":47152,"src":"6738:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47126,"name":"uint256","nodeType":"ElementaryTypeName","src":"6738:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6737:15:47"},"returnParameters":{"id":47131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47130,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47152,"src":"6776:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"},"typeName":{"id":47129,"name":"uint168","nodeType":"ElementaryTypeName","src":"6776:7:47","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"visibility":"internal"}],"src":"6775:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47180,"nodeType":"FunctionDefinition","src":"7228:218:47","nodes":[],"body":{"id":47179,"nodeType":"Block","src":"7294:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47160,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47155,"src":"7308:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7321:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":47162,"name":"uint160","nodeType":"ElementaryTypeName","src":"7321:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"}],"id":47161,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7316:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7316:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint160","typeString":"type(uint160)"}},"id":47165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7330:3:47","memberName":"max","nodeType":"MemberAccess","src":"7316:17:47","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"7308:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47173,"nodeType":"IfStatement","src":"7304:105:47","trueBody":{"id":47172,"nodeType":"Block","src":"7335:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313630","id":47168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7387:3:47","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},{"id":47169,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47155,"src":"7392:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47167,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"7356:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7356:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47171,"nodeType":"RevertStatement","src":"7349:49:47"}]}},{"expression":{"arguments":[{"id":47176,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47155,"src":"7433:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7425:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":47174,"name":"uint160","nodeType":"ElementaryTypeName","src":"7425:7:47","typeDescriptions":{}}},"id":47177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7425:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":47159,"id":47178,"nodeType":"Return","src":"7418:21:47"}]},"documentation":{"id":47153,"nodeType":"StructuredDocumentation","src":"6943:280:47","text":" @dev Returns the downcasted uint160 from uint256, reverting on\n overflow (when the input is greater than largest uint160).\n Counterpart to Solidity's `uint160` operator.\n Requirements:\n - input must fit into 160 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint160","nameLocation":"7237:9:47","parameters":{"id":47156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47155,"mutability":"mutable","name":"value","nameLocation":"7255:5:47","nodeType":"VariableDeclaration","scope":47180,"src":"7247:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47154,"name":"uint256","nodeType":"ElementaryTypeName","src":"7247:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7246:15:47"},"returnParameters":{"id":47159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47158,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47180,"src":"7285:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47157,"name":"uint160","nodeType":"ElementaryTypeName","src":"7285:7:47","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"7284:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47208,"nodeType":"FunctionDefinition","src":"7737:218:47","nodes":[],"body":{"id":47207,"nodeType":"Block","src":"7803:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47188,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47183,"src":"7817:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7830:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":47190,"name":"uint152","nodeType":"ElementaryTypeName","src":"7830:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"}],"id":47189,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7825:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7825:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint152","typeString":"type(uint152)"}},"id":47193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7839:3:47","memberName":"max","nodeType":"MemberAccess","src":"7825:17:47","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"src":"7817:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47201,"nodeType":"IfStatement","src":"7813:105:47","trueBody":{"id":47200,"nodeType":"Block","src":"7844:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313532","id":47196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7896:3:47","typeDescriptions":{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},"value":"152"},{"id":47197,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47183,"src":"7901:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47195,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"7865:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7865:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47199,"nodeType":"RevertStatement","src":"7858:49:47"}]}},{"expression":{"arguments":[{"id":47204,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47183,"src":"7942:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7934:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":47202,"name":"uint152","nodeType":"ElementaryTypeName","src":"7934:7:47","typeDescriptions":{}}},"id":47205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7934:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"functionReturnParameters":47187,"id":47206,"nodeType":"Return","src":"7927:21:47"}]},"documentation":{"id":47181,"nodeType":"StructuredDocumentation","src":"7452:280:47","text":" @dev Returns the downcasted uint152 from uint256, reverting on\n overflow (when the input is greater than largest uint152).\n Counterpart to Solidity's `uint152` operator.\n Requirements:\n - input must fit into 152 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint152","nameLocation":"7746:9:47","parameters":{"id":47184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47183,"mutability":"mutable","name":"value","nameLocation":"7764:5:47","nodeType":"VariableDeclaration","scope":47208,"src":"7756:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47182,"name":"uint256","nodeType":"ElementaryTypeName","src":"7756:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7755:15:47"},"returnParameters":{"id":47187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47186,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47208,"src":"7794:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"},"typeName":{"id":47185,"name":"uint152","nodeType":"ElementaryTypeName","src":"7794:7:47","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"visibility":"internal"}],"src":"7793:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47236,"nodeType":"FunctionDefinition","src":"8246:218:47","nodes":[],"body":{"id":47235,"nodeType":"Block","src":"8312:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47216,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47211,"src":"8326:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8339:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":47218,"name":"uint144","nodeType":"ElementaryTypeName","src":"8339:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"}],"id":47217,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8334:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8334:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint144","typeString":"type(uint144)"}},"id":47221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8348:3:47","memberName":"max","nodeType":"MemberAccess","src":"8334:17:47","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"src":"8326:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47229,"nodeType":"IfStatement","src":"8322:105:47","trueBody":{"id":47228,"nodeType":"Block","src":"8353:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313434","id":47224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8405:3:47","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"},{"id":47225,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47211,"src":"8410:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47223,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"8374:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8374:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47227,"nodeType":"RevertStatement","src":"8367:49:47"}]}},{"expression":{"arguments":[{"id":47232,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47211,"src":"8451:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8443:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":47230,"name":"uint144","nodeType":"ElementaryTypeName","src":"8443:7:47","typeDescriptions":{}}},"id":47233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8443:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"functionReturnParameters":47215,"id":47234,"nodeType":"Return","src":"8436:21:47"}]},"documentation":{"id":47209,"nodeType":"StructuredDocumentation","src":"7961:280:47","text":" @dev Returns the downcasted uint144 from uint256, reverting on\n overflow (when the input is greater than largest uint144).\n Counterpart to Solidity's `uint144` operator.\n Requirements:\n - input must fit into 144 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint144","nameLocation":"8255:9:47","parameters":{"id":47212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47211,"mutability":"mutable","name":"value","nameLocation":"8273:5:47","nodeType":"VariableDeclaration","scope":47236,"src":"8265:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47210,"name":"uint256","nodeType":"ElementaryTypeName","src":"8265:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8264:15:47"},"returnParameters":{"id":47215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47214,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47236,"src":"8303:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"},"typeName":{"id":47213,"name":"uint144","nodeType":"ElementaryTypeName","src":"8303:7:47","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"visibility":"internal"}],"src":"8302:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47264,"nodeType":"FunctionDefinition","src":"8755:218:47","nodes":[],"body":{"id":47263,"nodeType":"Block","src":"8821:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47244,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47239,"src":"8835:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8848:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":47246,"name":"uint136","nodeType":"ElementaryTypeName","src":"8848:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"}],"id":47245,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8843:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8843:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint136","typeString":"type(uint136)"}},"id":47249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8857:3:47","memberName":"max","nodeType":"MemberAccess","src":"8843:17:47","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"src":"8835:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47257,"nodeType":"IfStatement","src":"8831:105:47","trueBody":{"id":47256,"nodeType":"Block","src":"8862:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313336","id":47252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8914:3:47","typeDescriptions":{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},"value":"136"},{"id":47253,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47239,"src":"8919:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47251,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"8883:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8883:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47255,"nodeType":"RevertStatement","src":"8876:49:47"}]}},{"expression":{"arguments":[{"id":47260,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47239,"src":"8960:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8952:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":47258,"name":"uint136","nodeType":"ElementaryTypeName","src":"8952:7:47","typeDescriptions":{}}},"id":47261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"functionReturnParameters":47243,"id":47262,"nodeType":"Return","src":"8945:21:47"}]},"documentation":{"id":47237,"nodeType":"StructuredDocumentation","src":"8470:280:47","text":" @dev Returns the downcasted uint136 from uint256, reverting on\n overflow (when the input is greater than largest uint136).\n Counterpart to Solidity's `uint136` operator.\n Requirements:\n - input must fit into 136 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint136","nameLocation":"8764:9:47","parameters":{"id":47240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47239,"mutability":"mutable","name":"value","nameLocation":"8782:5:47","nodeType":"VariableDeclaration","scope":47264,"src":"8774:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47238,"name":"uint256","nodeType":"ElementaryTypeName","src":"8774:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8773:15:47"},"returnParameters":{"id":47243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47242,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47264,"src":"8812:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"},"typeName":{"id":47241,"name":"uint136","nodeType":"ElementaryTypeName","src":"8812:7:47","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"visibility":"internal"}],"src":"8811:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47292,"nodeType":"FunctionDefinition","src":"9264:218:47","nodes":[],"body":{"id":47291,"nodeType":"Block","src":"9330:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47272,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47267,"src":"9344:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9357:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":47274,"name":"uint128","nodeType":"ElementaryTypeName","src":"9357:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":47273,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9352:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9352:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":47277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9366:3:47","memberName":"max","nodeType":"MemberAccess","src":"9352:17:47","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"9344:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47285,"nodeType":"IfStatement","src":"9340:105:47","trueBody":{"id":47284,"nodeType":"Block","src":"9371:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313238","id":47280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9423:3:47","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},{"id":47281,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47267,"src":"9428:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47279,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"9392:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9392:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47283,"nodeType":"RevertStatement","src":"9385:49:47"}]}},{"expression":{"arguments":[{"id":47288,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47267,"src":"9469:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9461:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":47286,"name":"uint128","nodeType":"ElementaryTypeName","src":"9461:7:47","typeDescriptions":{}}},"id":47289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9461:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"functionReturnParameters":47271,"id":47290,"nodeType":"Return","src":"9454:21:47"}]},"documentation":{"id":47265,"nodeType":"StructuredDocumentation","src":"8979:280:47","text":" @dev Returns the downcasted uint128 from uint256, reverting on\n overflow (when the input is greater than largest uint128).\n Counterpart to Solidity's `uint128` operator.\n Requirements:\n - input must fit into 128 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint128","nameLocation":"9273:9:47","parameters":{"id":47268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47267,"mutability":"mutable","name":"value","nameLocation":"9291:5:47","nodeType":"VariableDeclaration","scope":47292,"src":"9283:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47266,"name":"uint256","nodeType":"ElementaryTypeName","src":"9283:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9282:15:47"},"returnParameters":{"id":47271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47292,"src":"9321:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47269,"name":"uint128","nodeType":"ElementaryTypeName","src":"9321:7:47","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"9320:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47320,"nodeType":"FunctionDefinition","src":"9773:218:47","nodes":[],"body":{"id":47319,"nodeType":"Block","src":"9839:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47300,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47295,"src":"9853:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9866:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":47302,"name":"uint120","nodeType":"ElementaryTypeName","src":"9866:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"}],"id":47301,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9861:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9861:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint120","typeString":"type(uint120)"}},"id":47305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9875:3:47","memberName":"max","nodeType":"MemberAccess","src":"9861:17:47","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"src":"9853:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47313,"nodeType":"IfStatement","src":"9849:105:47","trueBody":{"id":47312,"nodeType":"Block","src":"9880:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313230","id":47308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9932:3:47","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"id":47309,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47295,"src":"9937:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47307,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"9901:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9901:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47311,"nodeType":"RevertStatement","src":"9894:49:47"}]}},{"expression":{"arguments":[{"id":47316,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47295,"src":"9978:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9970:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":47314,"name":"uint120","nodeType":"ElementaryTypeName","src":"9970:7:47","typeDescriptions":{}}},"id":47317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9970:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"functionReturnParameters":47299,"id":47318,"nodeType":"Return","src":"9963:21:47"}]},"documentation":{"id":47293,"nodeType":"StructuredDocumentation","src":"9488:280:47","text":" @dev Returns the downcasted uint120 from uint256, reverting on\n overflow (when the input is greater than largest uint120).\n Counterpart to Solidity's `uint120` operator.\n Requirements:\n - input must fit into 120 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint120","nameLocation":"9782:9:47","parameters":{"id":47296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47295,"mutability":"mutable","name":"value","nameLocation":"9800:5:47","nodeType":"VariableDeclaration","scope":47320,"src":"9792:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47294,"name":"uint256","nodeType":"ElementaryTypeName","src":"9792:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9791:15:47"},"returnParameters":{"id":47299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47320,"src":"9830:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"},"typeName":{"id":47297,"name":"uint120","nodeType":"ElementaryTypeName","src":"9830:7:47","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"visibility":"internal"}],"src":"9829:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47348,"nodeType":"FunctionDefinition","src":"10282:218:47","nodes":[],"body":{"id":47347,"nodeType":"Block","src":"10348:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47328,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47323,"src":"10362:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10375:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":47330,"name":"uint112","nodeType":"ElementaryTypeName","src":"10375:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"}],"id":47329,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10370:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10370:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint112","typeString":"type(uint112)"}},"id":47333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10384:3:47","memberName":"max","nodeType":"MemberAccess","src":"10370:17:47","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"src":"10362:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47341,"nodeType":"IfStatement","src":"10358:105:47","trueBody":{"id":47340,"nodeType":"Block","src":"10389:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313132","id":47336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10441:3:47","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"value":"112"},{"id":47337,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47323,"src":"10446:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47335,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"10410:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10410:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47339,"nodeType":"RevertStatement","src":"10403:49:47"}]}},{"expression":{"arguments":[{"id":47344,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47323,"src":"10487:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10479:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":47342,"name":"uint112","nodeType":"ElementaryTypeName","src":"10479:7:47","typeDescriptions":{}}},"id":47345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10479:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"functionReturnParameters":47327,"id":47346,"nodeType":"Return","src":"10472:21:47"}]},"documentation":{"id":47321,"nodeType":"StructuredDocumentation","src":"9997:280:47","text":" @dev Returns the downcasted uint112 from uint256, reverting on\n overflow (when the input is greater than largest uint112).\n Counterpart to Solidity's `uint112` operator.\n Requirements:\n - input must fit into 112 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint112","nameLocation":"10291:9:47","parameters":{"id":47324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47323,"mutability":"mutable","name":"value","nameLocation":"10309:5:47","nodeType":"VariableDeclaration","scope":47348,"src":"10301:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47322,"name":"uint256","nodeType":"ElementaryTypeName","src":"10301:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10300:15:47"},"returnParameters":{"id":47327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47326,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47348,"src":"10339:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"},"typeName":{"id":47325,"name":"uint112","nodeType":"ElementaryTypeName","src":"10339:7:47","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"visibility":"internal"}],"src":"10338:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47376,"nodeType":"FunctionDefinition","src":"10791:218:47","nodes":[],"body":{"id":47375,"nodeType":"Block","src":"10857:152:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47356,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47351,"src":"10871:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10884:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":47358,"name":"uint104","nodeType":"ElementaryTypeName","src":"10884:7:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"}],"id":47357,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10879:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10879:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint104","typeString":"type(uint104)"}},"id":47361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10893:3:47","memberName":"max","nodeType":"MemberAccess","src":"10879:17:47","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"src":"10871:25:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47369,"nodeType":"IfStatement","src":"10867:105:47","trueBody":{"id":47368,"nodeType":"Block","src":"10898:74:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313034","id":47364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10950:3:47","typeDescriptions":{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},"value":"104"},{"id":47365,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47351,"src":"10955:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47363,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"10919:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10919:42:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47367,"nodeType":"RevertStatement","src":"10912:49:47"}]}},{"expression":{"arguments":[{"id":47372,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47351,"src":"10996:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10988:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":47370,"name":"uint104","nodeType":"ElementaryTypeName","src":"10988:7:47","typeDescriptions":{}}},"id":47373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10988:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"functionReturnParameters":47355,"id":47374,"nodeType":"Return","src":"10981:21:47"}]},"documentation":{"id":47349,"nodeType":"StructuredDocumentation","src":"10506:280:47","text":" @dev Returns the downcasted uint104 from uint256, reverting on\n overflow (when the input is greater than largest uint104).\n Counterpart to Solidity's `uint104` operator.\n Requirements:\n - input must fit into 104 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint104","nameLocation":"10800:9:47","parameters":{"id":47352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47351,"mutability":"mutable","name":"value","nameLocation":"10818:5:47","nodeType":"VariableDeclaration","scope":47376,"src":"10810:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47350,"name":"uint256","nodeType":"ElementaryTypeName","src":"10810:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10809:15:47"},"returnParameters":{"id":47355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47376,"src":"10848:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"},"typeName":{"id":47353,"name":"uint104","nodeType":"ElementaryTypeName","src":"10848:7:47","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"visibility":"internal"}],"src":"10847:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47404,"nodeType":"FunctionDefinition","src":"11296:213:47","nodes":[],"body":{"id":47403,"nodeType":"Block","src":"11360:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47384,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47379,"src":"11374:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11387:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":47386,"name":"uint96","nodeType":"ElementaryTypeName","src":"11387:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"}],"id":47385,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11382:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11382:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint96","typeString":"type(uint96)"}},"id":47389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11395:3:47","memberName":"max","nodeType":"MemberAccess","src":"11382:16:47","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"11374:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47397,"nodeType":"IfStatement","src":"11370:103:47","trueBody":{"id":47396,"nodeType":"Block","src":"11400:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3936","id":47392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11452:2:47","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},{"id":47393,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47379,"src":"11456:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47391,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"11421:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11421:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47395,"nodeType":"RevertStatement","src":"11414:48:47"}]}},{"expression":{"arguments":[{"id":47400,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47379,"src":"11496:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11489:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":47398,"name":"uint96","nodeType":"ElementaryTypeName","src":"11489:6:47","typeDescriptions":{}}},"id":47401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11489:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":47383,"id":47402,"nodeType":"Return","src":"11482:20:47"}]},"documentation":{"id":47377,"nodeType":"StructuredDocumentation","src":"11015:276:47","text":" @dev Returns the downcasted uint96 from uint256, reverting on\n overflow (when the input is greater than largest uint96).\n Counterpart to Solidity's `uint96` operator.\n Requirements:\n - input must fit into 96 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint96","nameLocation":"11305:8:47","parameters":{"id":47380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47379,"mutability":"mutable","name":"value","nameLocation":"11322:5:47","nodeType":"VariableDeclaration","scope":47404,"src":"11314:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47378,"name":"uint256","nodeType":"ElementaryTypeName","src":"11314:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11313:15:47"},"returnParameters":{"id":47383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47404,"src":"11352:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":47381,"name":"uint96","nodeType":"ElementaryTypeName","src":"11352:6:47","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"11351:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47432,"nodeType":"FunctionDefinition","src":"11796:213:47","nodes":[],"body":{"id":47431,"nodeType":"Block","src":"11860:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47412,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47407,"src":"11874:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11887:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":47414,"name":"uint88","nodeType":"ElementaryTypeName","src":"11887:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"}],"id":47413,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11882:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11882:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint88","typeString":"type(uint88)"}},"id":47417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11895:3:47","memberName":"max","nodeType":"MemberAccess","src":"11882:16:47","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"src":"11874:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47425,"nodeType":"IfStatement","src":"11870:103:47","trueBody":{"id":47424,"nodeType":"Block","src":"11900:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3838","id":47420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11952:2:47","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"},{"id":47421,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47407,"src":"11956:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47419,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"11921:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11921:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47423,"nodeType":"RevertStatement","src":"11914:48:47"}]}},{"expression":{"arguments":[{"id":47428,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47407,"src":"11996:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11989:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":47426,"name":"uint88","nodeType":"ElementaryTypeName","src":"11989:6:47","typeDescriptions":{}}},"id":47429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11989:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"functionReturnParameters":47411,"id":47430,"nodeType":"Return","src":"11982:20:47"}]},"documentation":{"id":47405,"nodeType":"StructuredDocumentation","src":"11515:276:47","text":" @dev Returns the downcasted uint88 from uint256, reverting on\n overflow (when the input is greater than largest uint88).\n Counterpart to Solidity's `uint88` operator.\n Requirements:\n - input must fit into 88 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint88","nameLocation":"11805:8:47","parameters":{"id":47408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47407,"mutability":"mutable","name":"value","nameLocation":"11822:5:47","nodeType":"VariableDeclaration","scope":47432,"src":"11814:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47406,"name":"uint256","nodeType":"ElementaryTypeName","src":"11814:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11813:15:47"},"returnParameters":{"id":47411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47410,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47432,"src":"11852:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"},"typeName":{"id":47409,"name":"uint88","nodeType":"ElementaryTypeName","src":"11852:6:47","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"visibility":"internal"}],"src":"11851:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47460,"nodeType":"FunctionDefinition","src":"12296:213:47","nodes":[],"body":{"id":47459,"nodeType":"Block","src":"12360:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47440,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47435,"src":"12374:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12387:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":47442,"name":"uint80","nodeType":"ElementaryTypeName","src":"12387:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"}],"id":47441,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12382:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12382:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint80","typeString":"type(uint80)"}},"id":47445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12395:3:47","memberName":"max","nodeType":"MemberAccess","src":"12382:16:47","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"src":"12374:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47453,"nodeType":"IfStatement","src":"12370:103:47","trueBody":{"id":47452,"nodeType":"Block","src":"12400:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3830","id":47448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12452:2:47","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},{"id":47449,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47435,"src":"12456:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47447,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"12421:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12421:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47451,"nodeType":"RevertStatement","src":"12414:48:47"}]}},{"expression":{"arguments":[{"id":47456,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47435,"src":"12496:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12489:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":47454,"name":"uint80","nodeType":"ElementaryTypeName","src":"12489:6:47","typeDescriptions":{}}},"id":47457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12489:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"functionReturnParameters":47439,"id":47458,"nodeType":"Return","src":"12482:20:47"}]},"documentation":{"id":47433,"nodeType":"StructuredDocumentation","src":"12015:276:47","text":" @dev Returns the downcasted uint80 from uint256, reverting on\n overflow (when the input is greater than largest uint80).\n Counterpart to Solidity's `uint80` operator.\n Requirements:\n - input must fit into 80 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint80","nameLocation":"12305:8:47","parameters":{"id":47436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47435,"mutability":"mutable","name":"value","nameLocation":"12322:5:47","nodeType":"VariableDeclaration","scope":47460,"src":"12314:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47434,"name":"uint256","nodeType":"ElementaryTypeName","src":"12314:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12313:15:47"},"returnParameters":{"id":47439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47460,"src":"12352:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":47437,"name":"uint80","nodeType":"ElementaryTypeName","src":"12352:6:47","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"}],"src":"12351:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47488,"nodeType":"FunctionDefinition","src":"12796:213:47","nodes":[],"body":{"id":47487,"nodeType":"Block","src":"12860:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47468,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47463,"src":"12874:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12887:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":47470,"name":"uint72","nodeType":"ElementaryTypeName","src":"12887:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"}],"id":47469,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12882:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12882:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint72","typeString":"type(uint72)"}},"id":47473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12895:3:47","memberName":"max","nodeType":"MemberAccess","src":"12882:16:47","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"src":"12874:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47481,"nodeType":"IfStatement","src":"12870:103:47","trueBody":{"id":47480,"nodeType":"Block","src":"12900:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3732","id":47476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12952:2:47","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"},{"id":47477,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47463,"src":"12956:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47475,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"12921:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12921:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47479,"nodeType":"RevertStatement","src":"12914:48:47"}]}},{"expression":{"arguments":[{"id":47484,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47463,"src":"12996:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12989:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":47482,"name":"uint72","nodeType":"ElementaryTypeName","src":"12989:6:47","typeDescriptions":{}}},"id":47485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12989:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"functionReturnParameters":47467,"id":47486,"nodeType":"Return","src":"12982:20:47"}]},"documentation":{"id":47461,"nodeType":"StructuredDocumentation","src":"12515:276:47","text":" @dev Returns the downcasted uint72 from uint256, reverting on\n overflow (when the input is greater than largest uint72).\n Counterpart to Solidity's `uint72` operator.\n Requirements:\n - input must fit into 72 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint72","nameLocation":"12805:8:47","parameters":{"id":47464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47463,"mutability":"mutable","name":"value","nameLocation":"12822:5:47","nodeType":"VariableDeclaration","scope":47488,"src":"12814:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47462,"name":"uint256","nodeType":"ElementaryTypeName","src":"12814:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12813:15:47"},"returnParameters":{"id":47467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47488,"src":"12852:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"},"typeName":{"id":47465,"name":"uint72","nodeType":"ElementaryTypeName","src":"12852:6:47","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"visibility":"internal"}],"src":"12851:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47516,"nodeType":"FunctionDefinition","src":"13296:213:47","nodes":[],"body":{"id":47515,"nodeType":"Block","src":"13360:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47496,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47491,"src":"13374:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13387:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":47498,"name":"uint64","nodeType":"ElementaryTypeName","src":"13387:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":47497,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13382:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13382:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":47501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13395:3:47","memberName":"max","nodeType":"MemberAccess","src":"13382:16:47","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13374:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47509,"nodeType":"IfStatement","src":"13370:103:47","trueBody":{"id":47508,"nodeType":"Block","src":"13400:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3634","id":47504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13452:2:47","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},{"id":47505,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47491,"src":"13456:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47503,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"13421:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13421:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47507,"nodeType":"RevertStatement","src":"13414:48:47"}]}},{"expression":{"arguments":[{"id":47512,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47491,"src":"13496:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13489:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":47510,"name":"uint64","nodeType":"ElementaryTypeName","src":"13489:6:47","typeDescriptions":{}}},"id":47513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13489:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":47495,"id":47514,"nodeType":"Return","src":"13482:20:47"}]},"documentation":{"id":47489,"nodeType":"StructuredDocumentation","src":"13015:276:47","text":" @dev Returns the downcasted uint64 from uint256, reverting on\n overflow (when the input is greater than largest uint64).\n Counterpart to Solidity's `uint64` operator.\n Requirements:\n - input must fit into 64 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint64","nameLocation":"13305:8:47","parameters":{"id":47492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47491,"mutability":"mutable","name":"value","nameLocation":"13322:5:47","nodeType":"VariableDeclaration","scope":47516,"src":"13314:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47490,"name":"uint256","nodeType":"ElementaryTypeName","src":"13314:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13313:15:47"},"returnParameters":{"id":47495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47516,"src":"13352:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":47493,"name":"uint64","nodeType":"ElementaryTypeName","src":"13352:6:47","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"13351:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47544,"nodeType":"FunctionDefinition","src":"13796:213:47","nodes":[],"body":{"id":47543,"nodeType":"Block","src":"13860:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47524,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47519,"src":"13874:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13887:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":47526,"name":"uint56","nodeType":"ElementaryTypeName","src":"13887:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"}],"id":47525,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13882:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13882:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint56","typeString":"type(uint56)"}},"id":47529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13895:3:47","memberName":"max","nodeType":"MemberAccess","src":"13882:16:47","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"src":"13874:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47537,"nodeType":"IfStatement","src":"13870:103:47","trueBody":{"id":47536,"nodeType":"Block","src":"13900:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3536","id":47532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13952:2:47","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"id":47533,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47519,"src":"13956:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47531,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"13921:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13921:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47535,"nodeType":"RevertStatement","src":"13914:48:47"}]}},{"expression":{"arguments":[{"id":47540,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47519,"src":"13996:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13989:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":47538,"name":"uint56","nodeType":"ElementaryTypeName","src":"13989:6:47","typeDescriptions":{}}},"id":47541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13989:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"functionReturnParameters":47523,"id":47542,"nodeType":"Return","src":"13982:20:47"}]},"documentation":{"id":47517,"nodeType":"StructuredDocumentation","src":"13515:276:47","text":" @dev Returns the downcasted uint56 from uint256, reverting on\n overflow (when the input is greater than largest uint56).\n Counterpart to Solidity's `uint56` operator.\n Requirements:\n - input must fit into 56 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint56","nameLocation":"13805:8:47","parameters":{"id":47520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47519,"mutability":"mutable","name":"value","nameLocation":"13822:5:47","nodeType":"VariableDeclaration","scope":47544,"src":"13814:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47518,"name":"uint256","nodeType":"ElementaryTypeName","src":"13814:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13813:15:47"},"returnParameters":{"id":47523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47544,"src":"13852:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"},"typeName":{"id":47521,"name":"uint56","nodeType":"ElementaryTypeName","src":"13852:6:47","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"visibility":"internal"}],"src":"13851:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47572,"nodeType":"FunctionDefinition","src":"14296:213:47","nodes":[],"body":{"id":47571,"nodeType":"Block","src":"14360:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47552,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47547,"src":"14374:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14387:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":47554,"name":"uint48","nodeType":"ElementaryTypeName","src":"14387:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"}],"id":47553,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14382:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14382:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint48","typeString":"type(uint48)"}},"id":47557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14395:3:47","memberName":"max","nodeType":"MemberAccess","src":"14382:16:47","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"14374:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47565,"nodeType":"IfStatement","src":"14370:103:47","trueBody":{"id":47564,"nodeType":"Block","src":"14400:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3438","id":47560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14452:2:47","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},{"id":47561,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47547,"src":"14456:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47559,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"14421:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14421:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47563,"nodeType":"RevertStatement","src":"14414:48:47"}]}},{"expression":{"arguments":[{"id":47568,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47547,"src":"14496:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14489:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":47566,"name":"uint48","nodeType":"ElementaryTypeName","src":"14489:6:47","typeDescriptions":{}}},"id":47569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14489:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":47551,"id":47570,"nodeType":"Return","src":"14482:20:47"}]},"documentation":{"id":47545,"nodeType":"StructuredDocumentation","src":"14015:276:47","text":" @dev Returns the downcasted uint48 from uint256, reverting on\n overflow (when the input is greater than largest uint48).\n Counterpart to Solidity's `uint48` operator.\n Requirements:\n - input must fit into 48 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint48","nameLocation":"14305:8:47","parameters":{"id":47548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47547,"mutability":"mutable","name":"value","nameLocation":"14322:5:47","nodeType":"VariableDeclaration","scope":47572,"src":"14314:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47546,"name":"uint256","nodeType":"ElementaryTypeName","src":"14314:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14313:15:47"},"returnParameters":{"id":47551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47550,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47572,"src":"14352:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":47549,"name":"uint48","nodeType":"ElementaryTypeName","src":"14352:6:47","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"14351:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47600,"nodeType":"FunctionDefinition","src":"14796:213:47","nodes":[],"body":{"id":47599,"nodeType":"Block","src":"14860:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47580,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47575,"src":"14874:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14887:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":47582,"name":"uint40","nodeType":"ElementaryTypeName","src":"14887:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"}],"id":47581,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14882:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14882:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint40","typeString":"type(uint40)"}},"id":47585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14895:3:47","memberName":"max","nodeType":"MemberAccess","src":"14882:16:47","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"src":"14874:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47593,"nodeType":"IfStatement","src":"14870:103:47","trueBody":{"id":47592,"nodeType":"Block","src":"14900:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3430","id":47588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14952:2:47","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},{"id":47589,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47575,"src":"14956:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47587,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"14921:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14921:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47591,"nodeType":"RevertStatement","src":"14914:48:47"}]}},{"expression":{"arguments":[{"id":47596,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47575,"src":"14996:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14989:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":47594,"name":"uint40","nodeType":"ElementaryTypeName","src":"14989:6:47","typeDescriptions":{}}},"id":47597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14989:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"functionReturnParameters":47579,"id":47598,"nodeType":"Return","src":"14982:20:47"}]},"documentation":{"id":47573,"nodeType":"StructuredDocumentation","src":"14515:276:47","text":" @dev Returns the downcasted uint40 from uint256, reverting on\n overflow (when the input is greater than largest uint40).\n Counterpart to Solidity's `uint40` operator.\n Requirements:\n - input must fit into 40 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint40","nameLocation":"14805:8:47","parameters":{"id":47576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47575,"mutability":"mutable","name":"value","nameLocation":"14822:5:47","nodeType":"VariableDeclaration","scope":47600,"src":"14814:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47574,"name":"uint256","nodeType":"ElementaryTypeName","src":"14814:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14813:15:47"},"returnParameters":{"id":47579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47600,"src":"14852:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":47577,"name":"uint40","nodeType":"ElementaryTypeName","src":"14852:6:47","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"}],"src":"14851:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47628,"nodeType":"FunctionDefinition","src":"15296:213:47","nodes":[],"body":{"id":47627,"nodeType":"Block","src":"15360:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47608,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47603,"src":"15374:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15387:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":47610,"name":"uint32","nodeType":"ElementaryTypeName","src":"15387:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":47609,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15382:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15382:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":47613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15395:3:47","memberName":"max","nodeType":"MemberAccess","src":"15382:16:47","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"15374:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47621,"nodeType":"IfStatement","src":"15370:103:47","trueBody":{"id":47620,"nodeType":"Block","src":"15400:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3332","id":47616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15452:2:47","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":47617,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47603,"src":"15456:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47615,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"15421:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15421:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47619,"nodeType":"RevertStatement","src":"15414:48:47"}]}},{"expression":{"arguments":[{"id":47624,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47603,"src":"15496:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15489:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":47622,"name":"uint32","nodeType":"ElementaryTypeName","src":"15489:6:47","typeDescriptions":{}}},"id":47625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15489:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":47607,"id":47626,"nodeType":"Return","src":"15482:20:47"}]},"documentation":{"id":47601,"nodeType":"StructuredDocumentation","src":"15015:276:47","text":" @dev Returns the downcasted uint32 from uint256, reverting on\n overflow (when the input is greater than largest uint32).\n Counterpart to Solidity's `uint32` operator.\n Requirements:\n - input must fit into 32 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint32","nameLocation":"15305:8:47","parameters":{"id":47604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47603,"mutability":"mutable","name":"value","nameLocation":"15322:5:47","nodeType":"VariableDeclaration","scope":47628,"src":"15314:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47602,"name":"uint256","nodeType":"ElementaryTypeName","src":"15314:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15313:15:47"},"returnParameters":{"id":47607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47628,"src":"15352:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":47605,"name":"uint32","nodeType":"ElementaryTypeName","src":"15352:6:47","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15351:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47656,"nodeType":"FunctionDefinition","src":"15796:213:47","nodes":[],"body":{"id":47655,"nodeType":"Block","src":"15860:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47636,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47631,"src":"15874:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15887:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":47638,"name":"uint24","nodeType":"ElementaryTypeName","src":"15887:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"}],"id":47637,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15882:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15882:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint24","typeString":"type(uint24)"}},"id":47641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15895:3:47","memberName":"max","nodeType":"MemberAccess","src":"15882:16:47","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"15874:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47649,"nodeType":"IfStatement","src":"15870:103:47","trueBody":{"id":47648,"nodeType":"Block","src":"15900:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3234","id":47644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15952:2:47","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"id":47645,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47631,"src":"15956:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47643,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"15921:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15921:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47647,"nodeType":"RevertStatement","src":"15914:48:47"}]}},{"expression":{"arguments":[{"id":47652,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47631,"src":"15996:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15989:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":47650,"name":"uint24","nodeType":"ElementaryTypeName","src":"15989:6:47","typeDescriptions":{}}},"id":47653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15989:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"functionReturnParameters":47635,"id":47654,"nodeType":"Return","src":"15982:20:47"}]},"documentation":{"id":47629,"nodeType":"StructuredDocumentation","src":"15515:276:47","text":" @dev Returns the downcasted uint24 from uint256, reverting on\n overflow (when the input is greater than largest uint24).\n Counterpart to Solidity's `uint24` operator.\n Requirements:\n - input must fit into 24 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint24","nameLocation":"15805:8:47","parameters":{"id":47632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47631,"mutability":"mutable","name":"value","nameLocation":"15822:5:47","nodeType":"VariableDeclaration","scope":47656,"src":"15814:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47630,"name":"uint256","nodeType":"ElementaryTypeName","src":"15814:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15813:15:47"},"returnParameters":{"id":47635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47634,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47656,"src":"15852:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":47633,"name":"uint24","nodeType":"ElementaryTypeName","src":"15852:6:47","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"15851:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47684,"nodeType":"FunctionDefinition","src":"16296:213:47","nodes":[],"body":{"id":47683,"nodeType":"Block","src":"16360:149:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47664,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47659,"src":"16374:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":47666,"name":"uint16","nodeType":"ElementaryTypeName","src":"16387:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"}],"id":47665,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16382:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16382:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint16","typeString":"type(uint16)"}},"id":47669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16395:3:47","memberName":"max","nodeType":"MemberAccess","src":"16382:16:47","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"16374:24:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47677,"nodeType":"IfStatement","src":"16370:103:47","trueBody":{"id":47676,"nodeType":"Block","src":"16400:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3136","id":47672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16452:2:47","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"id":47673,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47659,"src":"16456:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47671,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"16421:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16421:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47675,"nodeType":"RevertStatement","src":"16414:48:47"}]}},{"expression":{"arguments":[{"id":47680,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47659,"src":"16496:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16489:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":47678,"name":"uint16","nodeType":"ElementaryTypeName","src":"16489:6:47","typeDescriptions":{}}},"id":47681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16489:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"functionReturnParameters":47663,"id":47682,"nodeType":"Return","src":"16482:20:47"}]},"documentation":{"id":47657,"nodeType":"StructuredDocumentation","src":"16015:276:47","text":" @dev Returns the downcasted uint16 from uint256, reverting on\n overflow (when the input is greater than largest uint16).\n Counterpart to Solidity's `uint16` operator.\n Requirements:\n - input must fit into 16 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint16","nameLocation":"16305:8:47","parameters":{"id":47660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47659,"mutability":"mutable","name":"value","nameLocation":"16322:5:47","nodeType":"VariableDeclaration","scope":47684,"src":"16314:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47658,"name":"uint256","nodeType":"ElementaryTypeName","src":"16314:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16313:15:47"},"returnParameters":{"id":47663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47662,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47684,"src":"16352:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":47661,"name":"uint16","nodeType":"ElementaryTypeName","src":"16352:6:47","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"16351:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47712,"nodeType":"FunctionDefinition","src":"16792:208:47","nodes":[],"body":{"id":47711,"nodeType":"Block","src":"16854:146:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47692,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47687,"src":"16868:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":47695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16881:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":47694,"name":"uint8","nodeType":"ElementaryTypeName","src":"16881:5:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":47693,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16876:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16876:11:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":47697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16888:3:47","memberName":"max","nodeType":"MemberAccess","src":"16876:15:47","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16868:23:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47705,"nodeType":"IfStatement","src":"16864:101:47","trueBody":{"id":47704,"nodeType":"Block","src":"16893:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"38","id":47700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16945:1:47","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"id":47701,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47687,"src":"16948:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47699,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46827,"src":"16914:30:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":47702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16914:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47703,"nodeType":"RevertStatement","src":"16907:47:47"}]}},{"expression":{"arguments":[{"id":47708,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47687,"src":"16987:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16981:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":47706,"name":"uint8","nodeType":"ElementaryTypeName","src":"16981:5:47","typeDescriptions":{}}},"id":47709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16981:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":47691,"id":47710,"nodeType":"Return","src":"16974:19:47"}]},"documentation":{"id":47685,"nodeType":"StructuredDocumentation","src":"16515:272:47","text":" @dev Returns the downcasted uint8 from uint256, reverting on\n overflow (when the input is greater than largest uint8).\n Counterpart to Solidity's `uint8` operator.\n Requirements:\n - input must fit into 8 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint8","nameLocation":"16801:7:47","parameters":{"id":47688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47687,"mutability":"mutable","name":"value","nameLocation":"16817:5:47","nodeType":"VariableDeclaration","scope":47712,"src":"16809:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47686,"name":"uint256","nodeType":"ElementaryTypeName","src":"16809:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16808:15:47"},"returnParameters":{"id":47691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47712,"src":"16847:5:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":47689,"name":"uint8","nodeType":"ElementaryTypeName","src":"16847:5:47","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16846:7:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47735,"nodeType":"FunctionDefinition","src":"17171:193:47","nodes":[],"body":{"id":47734,"nodeType":"Block","src":"17236:128:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47720,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47715,"src":"17250:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":47721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17258:1:47","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17250:9:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47728,"nodeType":"IfStatement","src":"17246:81:47","trueBody":{"id":47727,"nodeType":"Block","src":"17261:66:47","statements":[{"errorCall":{"arguments":[{"id":47724,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47715,"src":"17310:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47723,"name":"SafeCastOverflowedIntToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46832,"src":"17282:27:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int256_$returns$_t_error_$","typeString":"function (int256) pure returns (error)"}},"id":47725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17282:34:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47726,"nodeType":"RevertStatement","src":"17275:41:47"}]}},{"expression":{"arguments":[{"id":47731,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47715,"src":"17351:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17343:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47729,"name":"uint256","nodeType":"ElementaryTypeName","src":"17343:7:47","typeDescriptions":{}}},"id":47732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17343:14:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47719,"id":47733,"nodeType":"Return","src":"17336:21:47"}]},"documentation":{"id":47713,"nodeType":"StructuredDocumentation","src":"17006:160:47","text":" @dev Converts a signed int256 into an unsigned uint256.\n Requirements:\n - input must be greater than or equal to 0."},"implemented":true,"kind":"function","modifiers":[],"name":"toUint256","nameLocation":"17180:9:47","parameters":{"id":47716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47715,"mutability":"mutable","name":"value","nameLocation":"17197:5:47","nodeType":"VariableDeclaration","scope":47735,"src":"17190:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47714,"name":"int256","nodeType":"ElementaryTypeName","src":"17190:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17189:14:47"},"returnParameters":{"id":47719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47718,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47735,"src":"17227:7:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47717,"name":"uint256","nodeType":"ElementaryTypeName","src":"17227:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17226:9:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47761,"nodeType":"FunctionDefinition","src":"17687:224:47","nodes":[],"body":{"id":47760,"nodeType":"Block","src":"17761:150:47","nodes":[],"statements":[{"expression":{"id":47748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47743,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47741,"src":"17771:10:47","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47746,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47738,"src":"17791:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17784:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int248_$","typeString":"type(int248)"},"typeName":{"id":47744,"name":"int248","nodeType":"ElementaryTypeName","src":"17784:6:47","typeDescriptions":{}}},"id":47747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17784:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"src":"17771:26:47","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"id":47749,"nodeType":"ExpressionStatement","src":"17771:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47750,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47741,"src":"17811:10:47","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47751,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47738,"src":"17825:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17811:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47759,"nodeType":"IfStatement","src":"17807:98:47","trueBody":{"id":47758,"nodeType":"Block","src":"17832:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323438","id":47754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17883:3:47","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"},{"id":47755,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47738,"src":"17888:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47753,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"17853:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17853:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47757,"nodeType":"RevertStatement","src":"17846:48:47"}]}}]},"documentation":{"id":47736,"nodeType":"StructuredDocumentation","src":"17370:312:47","text":" @dev Returns the downcasted int248 from int256, reverting on\n overflow (when the input is less than smallest int248 or\n greater than largest int248).\n Counterpart to Solidity's `int248` operator.\n Requirements:\n - input must fit into 248 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt248","nameLocation":"17696:8:47","parameters":{"id":47739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47738,"mutability":"mutable","name":"value","nameLocation":"17712:5:47","nodeType":"VariableDeclaration","scope":47761,"src":"17705:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47737,"name":"int256","nodeType":"ElementaryTypeName","src":"17705:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17704:14:47"},"returnParameters":{"id":47742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47741,"mutability":"mutable","name":"downcasted","nameLocation":"17749:10:47","nodeType":"VariableDeclaration","scope":47761,"src":"17742:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"},"typeName":{"id":47740,"name":"int248","nodeType":"ElementaryTypeName","src":"17742:6:47","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"visibility":"internal"}],"src":"17741:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47787,"nodeType":"FunctionDefinition","src":"18234:224:47","nodes":[],"body":{"id":47786,"nodeType":"Block","src":"18308:150:47","nodes":[],"statements":[{"expression":{"id":47774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47769,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47767,"src":"18318:10:47","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47772,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47764,"src":"18338:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18331:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int240_$","typeString":"type(int240)"},"typeName":{"id":47770,"name":"int240","nodeType":"ElementaryTypeName","src":"18331:6:47","typeDescriptions":{}}},"id":47773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18331:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"src":"18318:26:47","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"id":47775,"nodeType":"ExpressionStatement","src":"18318:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47776,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47767,"src":"18358:10:47","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47777,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47764,"src":"18372:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18358:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47785,"nodeType":"IfStatement","src":"18354:98:47","trueBody":{"id":47784,"nodeType":"Block","src":"18379:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323430","id":47780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18430:3:47","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"240"},{"id":47781,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47764,"src":"18435:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47779,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"18400:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18400:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47783,"nodeType":"RevertStatement","src":"18393:48:47"}]}}]},"documentation":{"id":47762,"nodeType":"StructuredDocumentation","src":"17917:312:47","text":" @dev Returns the downcasted int240 from int256, reverting on\n overflow (when the input is less than smallest int240 or\n greater than largest int240).\n Counterpart to Solidity's `int240` operator.\n Requirements:\n - input must fit into 240 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt240","nameLocation":"18243:8:47","parameters":{"id":47765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47764,"mutability":"mutable","name":"value","nameLocation":"18259:5:47","nodeType":"VariableDeclaration","scope":47787,"src":"18252:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47763,"name":"int256","nodeType":"ElementaryTypeName","src":"18252:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18251:14:47"},"returnParameters":{"id":47768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47767,"mutability":"mutable","name":"downcasted","nameLocation":"18296:10:47","nodeType":"VariableDeclaration","scope":47787,"src":"18289:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"},"typeName":{"id":47766,"name":"int240","nodeType":"ElementaryTypeName","src":"18289:6:47","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"visibility":"internal"}],"src":"18288:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47813,"nodeType":"FunctionDefinition","src":"18781:224:47","nodes":[],"body":{"id":47812,"nodeType":"Block","src":"18855:150:47","nodes":[],"statements":[{"expression":{"id":47800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47795,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47793,"src":"18865:10:47","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47798,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47790,"src":"18885:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int232_$","typeString":"type(int232)"},"typeName":{"id":47796,"name":"int232","nodeType":"ElementaryTypeName","src":"18878:6:47","typeDescriptions":{}}},"id":47799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"src":"18865:26:47","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"id":47801,"nodeType":"ExpressionStatement","src":"18865:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47802,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47793,"src":"18905:10:47","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47803,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47790,"src":"18919:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18905:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47811,"nodeType":"IfStatement","src":"18901:98:47","trueBody":{"id":47810,"nodeType":"Block","src":"18926:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323332","id":47806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18977:3:47","typeDescriptions":{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},"value":"232"},{"id":47807,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47790,"src":"18982:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47805,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"18947:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18947:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47809,"nodeType":"RevertStatement","src":"18940:48:47"}]}}]},"documentation":{"id":47788,"nodeType":"StructuredDocumentation","src":"18464:312:47","text":" @dev Returns the downcasted int232 from int256, reverting on\n overflow (when the input is less than smallest int232 or\n greater than largest int232).\n Counterpart to Solidity's `int232` operator.\n Requirements:\n - input must fit into 232 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt232","nameLocation":"18790:8:47","parameters":{"id":47791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47790,"mutability":"mutable","name":"value","nameLocation":"18806:5:47","nodeType":"VariableDeclaration","scope":47813,"src":"18799:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47789,"name":"int256","nodeType":"ElementaryTypeName","src":"18799:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18798:14:47"},"returnParameters":{"id":47794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47793,"mutability":"mutable","name":"downcasted","nameLocation":"18843:10:47","nodeType":"VariableDeclaration","scope":47813,"src":"18836:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"},"typeName":{"id":47792,"name":"int232","nodeType":"ElementaryTypeName","src":"18836:6:47","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"visibility":"internal"}],"src":"18835:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47839,"nodeType":"FunctionDefinition","src":"19328:224:47","nodes":[],"body":{"id":47838,"nodeType":"Block","src":"19402:150:47","nodes":[],"statements":[{"expression":{"id":47826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47821,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47819,"src":"19412:10:47","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47824,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47816,"src":"19432:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19425:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int224_$","typeString":"type(int224)"},"typeName":{"id":47822,"name":"int224","nodeType":"ElementaryTypeName","src":"19425:6:47","typeDescriptions":{}}},"id":47825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19425:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"src":"19412:26:47","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"id":47827,"nodeType":"ExpressionStatement","src":"19412:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47828,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47819,"src":"19452:10:47","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47829,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47816,"src":"19466:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"19452:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47837,"nodeType":"IfStatement","src":"19448:98:47","trueBody":{"id":47836,"nodeType":"Block","src":"19473:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323234","id":47832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19524:3:47","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},{"id":47833,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47816,"src":"19529:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47831,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"19494:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19494:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47835,"nodeType":"RevertStatement","src":"19487:48:47"}]}}]},"documentation":{"id":47814,"nodeType":"StructuredDocumentation","src":"19011:312:47","text":" @dev Returns the downcasted int224 from int256, reverting on\n overflow (when the input is less than smallest int224 or\n greater than largest int224).\n Counterpart to Solidity's `int224` operator.\n Requirements:\n - input must fit into 224 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt224","nameLocation":"19337:8:47","parameters":{"id":47817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47816,"mutability":"mutable","name":"value","nameLocation":"19353:5:47","nodeType":"VariableDeclaration","scope":47839,"src":"19346:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47815,"name":"int256","nodeType":"ElementaryTypeName","src":"19346:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19345:14:47"},"returnParameters":{"id":47820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47819,"mutability":"mutable","name":"downcasted","nameLocation":"19390:10:47","nodeType":"VariableDeclaration","scope":47839,"src":"19383:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"},"typeName":{"id":47818,"name":"int224","nodeType":"ElementaryTypeName","src":"19383:6:47","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"visibility":"internal"}],"src":"19382:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47865,"nodeType":"FunctionDefinition","src":"19875:224:47","nodes":[],"body":{"id":47864,"nodeType":"Block","src":"19949:150:47","nodes":[],"statements":[{"expression":{"id":47852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47847,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47845,"src":"19959:10:47","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47850,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47842,"src":"19979:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19972:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int216_$","typeString":"type(int216)"},"typeName":{"id":47848,"name":"int216","nodeType":"ElementaryTypeName","src":"19972:6:47","typeDescriptions":{}}},"id":47851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19972:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"src":"19959:26:47","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"id":47853,"nodeType":"ExpressionStatement","src":"19959:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47854,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47845,"src":"19999:10:47","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47855,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47842,"src":"20013:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"19999:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47863,"nodeType":"IfStatement","src":"19995:98:47","trueBody":{"id":47862,"nodeType":"Block","src":"20020:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323136","id":47858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20071:3:47","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"216"},{"id":47859,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47842,"src":"20076:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47857,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"20041:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20041:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47861,"nodeType":"RevertStatement","src":"20034:48:47"}]}}]},"documentation":{"id":47840,"nodeType":"StructuredDocumentation","src":"19558:312:47","text":" @dev Returns the downcasted int216 from int256, reverting on\n overflow (when the input is less than smallest int216 or\n greater than largest int216).\n Counterpart to Solidity's `int216` operator.\n Requirements:\n - input must fit into 216 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt216","nameLocation":"19884:8:47","parameters":{"id":47843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47842,"mutability":"mutable","name":"value","nameLocation":"19900:5:47","nodeType":"VariableDeclaration","scope":47865,"src":"19893:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47841,"name":"int256","nodeType":"ElementaryTypeName","src":"19893:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19892:14:47"},"returnParameters":{"id":47846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47845,"mutability":"mutable","name":"downcasted","nameLocation":"19937:10:47","nodeType":"VariableDeclaration","scope":47865,"src":"19930:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"},"typeName":{"id":47844,"name":"int216","nodeType":"ElementaryTypeName","src":"19930:6:47","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"visibility":"internal"}],"src":"19929:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47891,"nodeType":"FunctionDefinition","src":"20422:224:47","nodes":[],"body":{"id":47890,"nodeType":"Block","src":"20496:150:47","nodes":[],"statements":[{"expression":{"id":47878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47873,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47871,"src":"20506:10:47","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47876,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47868,"src":"20526:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20519:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int208_$","typeString":"type(int208)"},"typeName":{"id":47874,"name":"int208","nodeType":"ElementaryTypeName","src":"20519:6:47","typeDescriptions":{}}},"id":47877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20519:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"src":"20506:26:47","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"id":47879,"nodeType":"ExpressionStatement","src":"20506:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47880,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47871,"src":"20546:10:47","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47881,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47868,"src":"20560:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"20546:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47889,"nodeType":"IfStatement","src":"20542:98:47","trueBody":{"id":47888,"nodeType":"Block","src":"20567:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323038","id":47884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20618:3:47","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"},{"id":47885,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47868,"src":"20623:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47883,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"20588:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20588:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47887,"nodeType":"RevertStatement","src":"20581:48:47"}]}}]},"documentation":{"id":47866,"nodeType":"StructuredDocumentation","src":"20105:312:47","text":" @dev Returns the downcasted int208 from int256, reverting on\n overflow (when the input is less than smallest int208 or\n greater than largest int208).\n Counterpart to Solidity's `int208` operator.\n Requirements:\n - input must fit into 208 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt208","nameLocation":"20431:8:47","parameters":{"id":47869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47868,"mutability":"mutable","name":"value","nameLocation":"20447:5:47","nodeType":"VariableDeclaration","scope":47891,"src":"20440:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47867,"name":"int256","nodeType":"ElementaryTypeName","src":"20440:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"20439:14:47"},"returnParameters":{"id":47872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47871,"mutability":"mutable","name":"downcasted","nameLocation":"20484:10:47","nodeType":"VariableDeclaration","scope":47891,"src":"20477:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"},"typeName":{"id":47870,"name":"int208","nodeType":"ElementaryTypeName","src":"20477:6:47","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"visibility":"internal"}],"src":"20476:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47917,"nodeType":"FunctionDefinition","src":"20969:224:47","nodes":[],"body":{"id":47916,"nodeType":"Block","src":"21043:150:47","nodes":[],"statements":[{"expression":{"id":47904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47899,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47897,"src":"21053:10:47","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47902,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47894,"src":"21073:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21066:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int200_$","typeString":"type(int200)"},"typeName":{"id":47900,"name":"int200","nodeType":"ElementaryTypeName","src":"21066:6:47","typeDescriptions":{}}},"id":47903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21066:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"src":"21053:26:47","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"id":47905,"nodeType":"ExpressionStatement","src":"21053:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47906,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47897,"src":"21093:10:47","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47907,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47894,"src":"21107:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21093:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47915,"nodeType":"IfStatement","src":"21089:98:47","trueBody":{"id":47914,"nodeType":"Block","src":"21114:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"323030","id":47910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21165:3:47","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},{"id":47911,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47894,"src":"21170:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47909,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"21135:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21135:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47913,"nodeType":"RevertStatement","src":"21128:48:47"}]}}]},"documentation":{"id":47892,"nodeType":"StructuredDocumentation","src":"20652:312:47","text":" @dev Returns the downcasted int200 from int256, reverting on\n overflow (when the input is less than smallest int200 or\n greater than largest int200).\n Counterpart to Solidity's `int200` operator.\n Requirements:\n - input must fit into 200 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt200","nameLocation":"20978:8:47","parameters":{"id":47895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47894,"mutability":"mutable","name":"value","nameLocation":"20994:5:47","nodeType":"VariableDeclaration","scope":47917,"src":"20987:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47893,"name":"int256","nodeType":"ElementaryTypeName","src":"20987:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"20986:14:47"},"returnParameters":{"id":47898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47897,"mutability":"mutable","name":"downcasted","nameLocation":"21031:10:47","nodeType":"VariableDeclaration","scope":47917,"src":"21024:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"},"typeName":{"id":47896,"name":"int200","nodeType":"ElementaryTypeName","src":"21024:6:47","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"visibility":"internal"}],"src":"21023:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47943,"nodeType":"FunctionDefinition","src":"21516:224:47","nodes":[],"body":{"id":47942,"nodeType":"Block","src":"21590:150:47","nodes":[],"statements":[{"expression":{"id":47930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47925,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47923,"src":"21600:10:47","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47928,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47920,"src":"21620:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21613:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int192_$","typeString":"type(int192)"},"typeName":{"id":47926,"name":"int192","nodeType":"ElementaryTypeName","src":"21613:6:47","typeDescriptions":{}}},"id":47929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21613:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"src":"21600:26:47","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"id":47931,"nodeType":"ExpressionStatement","src":"21600:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47932,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47923,"src":"21640:10:47","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47933,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47920,"src":"21654:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21640:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47941,"nodeType":"IfStatement","src":"21636:98:47","trueBody":{"id":47940,"nodeType":"Block","src":"21661:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313932","id":47936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21712:3:47","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},{"id":47937,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47920,"src":"21717:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47935,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"21682:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21682:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47939,"nodeType":"RevertStatement","src":"21675:48:47"}]}}]},"documentation":{"id":47918,"nodeType":"StructuredDocumentation","src":"21199:312:47","text":" @dev Returns the downcasted int192 from int256, reverting on\n overflow (when the input is less than smallest int192 or\n greater than largest int192).\n Counterpart to Solidity's `int192` operator.\n Requirements:\n - input must fit into 192 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt192","nameLocation":"21525:8:47","parameters":{"id":47921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47920,"mutability":"mutable","name":"value","nameLocation":"21541:5:47","nodeType":"VariableDeclaration","scope":47943,"src":"21534:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47919,"name":"int256","nodeType":"ElementaryTypeName","src":"21534:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21533:14:47"},"returnParameters":{"id":47924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47923,"mutability":"mutable","name":"downcasted","nameLocation":"21578:10:47","nodeType":"VariableDeclaration","scope":47943,"src":"21571:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"},"typeName":{"id":47922,"name":"int192","nodeType":"ElementaryTypeName","src":"21571:6:47","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"visibility":"internal"}],"src":"21570:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47969,"nodeType":"FunctionDefinition","src":"22063:224:47","nodes":[],"body":{"id":47968,"nodeType":"Block","src":"22137:150:47","nodes":[],"statements":[{"expression":{"id":47956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47951,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"22147:10:47","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47954,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47946,"src":"22167:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22160:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int184_$","typeString":"type(int184)"},"typeName":{"id":47952,"name":"int184","nodeType":"ElementaryTypeName","src":"22160:6:47","typeDescriptions":{}}},"id":47955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22160:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"src":"22147:26:47","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"id":47957,"nodeType":"ExpressionStatement","src":"22147:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47958,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"22187:10:47","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47959,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47946,"src":"22201:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22187:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47967,"nodeType":"IfStatement","src":"22183:98:47","trueBody":{"id":47966,"nodeType":"Block","src":"22208:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313834","id":47962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22259:3:47","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"},{"id":47963,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47946,"src":"22264:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47961,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"22229:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22229:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47965,"nodeType":"RevertStatement","src":"22222:48:47"}]}}]},"documentation":{"id":47944,"nodeType":"StructuredDocumentation","src":"21746:312:47","text":" @dev Returns the downcasted int184 from int256, reverting on\n overflow (when the input is less than smallest int184 or\n greater than largest int184).\n Counterpart to Solidity's `int184` operator.\n Requirements:\n - input must fit into 184 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt184","nameLocation":"22072:8:47","parameters":{"id":47947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47946,"mutability":"mutable","name":"value","nameLocation":"22088:5:47","nodeType":"VariableDeclaration","scope":47969,"src":"22081:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47945,"name":"int256","nodeType":"ElementaryTypeName","src":"22081:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22080:14:47"},"returnParameters":{"id":47950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47949,"mutability":"mutable","name":"downcasted","nameLocation":"22125:10:47","nodeType":"VariableDeclaration","scope":47969,"src":"22118:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"},"typeName":{"id":47948,"name":"int184","nodeType":"ElementaryTypeName","src":"22118:6:47","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"visibility":"internal"}],"src":"22117:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47995,"nodeType":"FunctionDefinition","src":"22610:224:47","nodes":[],"body":{"id":47994,"nodeType":"Block","src":"22684:150:47","nodes":[],"statements":[{"expression":{"id":47982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47977,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47975,"src":"22694:10:47","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47980,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47972,"src":"22714:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22707:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int176_$","typeString":"type(int176)"},"typeName":{"id":47978,"name":"int176","nodeType":"ElementaryTypeName","src":"22707:6:47","typeDescriptions":{}}},"id":47981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22707:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"src":"22694:26:47","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"id":47983,"nodeType":"ExpressionStatement","src":"22694:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47984,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47975,"src":"22734:10:47","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47985,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47972,"src":"22748:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22734:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47993,"nodeType":"IfStatement","src":"22730:98:47","trueBody":{"id":47992,"nodeType":"Block","src":"22755:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313736","id":47988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22806:3:47","typeDescriptions":{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},"value":"176"},{"id":47989,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47972,"src":"22811:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47987,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"22776:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":47990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22776:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":47991,"nodeType":"RevertStatement","src":"22769:48:47"}]}}]},"documentation":{"id":47970,"nodeType":"StructuredDocumentation","src":"22293:312:47","text":" @dev Returns the downcasted int176 from int256, reverting on\n overflow (when the input is less than smallest int176 or\n greater than largest int176).\n Counterpart to Solidity's `int176` operator.\n Requirements:\n - input must fit into 176 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt176","nameLocation":"22619:8:47","parameters":{"id":47973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47972,"mutability":"mutable","name":"value","nameLocation":"22635:5:47","nodeType":"VariableDeclaration","scope":47995,"src":"22628:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47971,"name":"int256","nodeType":"ElementaryTypeName","src":"22628:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22627:14:47"},"returnParameters":{"id":47976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47975,"mutability":"mutable","name":"downcasted","nameLocation":"22672:10:47","nodeType":"VariableDeclaration","scope":47995,"src":"22665:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"},"typeName":{"id":47974,"name":"int176","nodeType":"ElementaryTypeName","src":"22665:6:47","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"visibility":"internal"}],"src":"22664:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48021,"nodeType":"FunctionDefinition","src":"23157:224:47","nodes":[],"body":{"id":48020,"nodeType":"Block","src":"23231:150:47","nodes":[],"statements":[{"expression":{"id":48008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48003,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48001,"src":"23241:10:47","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48006,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47998,"src":"23261:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23254:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int168_$","typeString":"type(int168)"},"typeName":{"id":48004,"name":"int168","nodeType":"ElementaryTypeName","src":"23254:6:47","typeDescriptions":{}}},"id":48007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23254:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"src":"23241:26:47","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"id":48009,"nodeType":"ExpressionStatement","src":"23241:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48010,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48001,"src":"23281:10:47","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48011,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47998,"src":"23295:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23281:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48019,"nodeType":"IfStatement","src":"23277:98:47","trueBody":{"id":48018,"nodeType":"Block","src":"23302:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313638","id":48014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23353:3:47","typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"},{"id":48015,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47998,"src":"23358:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48013,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"23323:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23323:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48017,"nodeType":"RevertStatement","src":"23316:48:47"}]}}]},"documentation":{"id":47996,"nodeType":"StructuredDocumentation","src":"22840:312:47","text":" @dev Returns the downcasted int168 from int256, reverting on\n overflow (when the input is less than smallest int168 or\n greater than largest int168).\n Counterpart to Solidity's `int168` operator.\n Requirements:\n - input must fit into 168 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt168","nameLocation":"23166:8:47","parameters":{"id":47999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47998,"mutability":"mutable","name":"value","nameLocation":"23182:5:47","nodeType":"VariableDeclaration","scope":48021,"src":"23175:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47997,"name":"int256","nodeType":"ElementaryTypeName","src":"23175:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23174:14:47"},"returnParameters":{"id":48002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48001,"mutability":"mutable","name":"downcasted","nameLocation":"23219:10:47","nodeType":"VariableDeclaration","scope":48021,"src":"23212:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"},"typeName":{"id":48000,"name":"int168","nodeType":"ElementaryTypeName","src":"23212:6:47","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"visibility":"internal"}],"src":"23211:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48047,"nodeType":"FunctionDefinition","src":"23704:224:47","nodes":[],"body":{"id":48046,"nodeType":"Block","src":"23778:150:47","nodes":[],"statements":[{"expression":{"id":48034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48029,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48027,"src":"23788:10:47","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48032,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48024,"src":"23808:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23801:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int160_$","typeString":"type(int160)"},"typeName":{"id":48030,"name":"int160","nodeType":"ElementaryTypeName","src":"23801:6:47","typeDescriptions":{}}},"id":48033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23801:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"src":"23788:26:47","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"id":48035,"nodeType":"ExpressionStatement","src":"23788:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48036,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48027,"src":"23828:10:47","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48037,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48024,"src":"23842:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23828:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48045,"nodeType":"IfStatement","src":"23824:98:47","trueBody":{"id":48044,"nodeType":"Block","src":"23849:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313630","id":48040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23900:3:47","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},{"id":48041,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48024,"src":"23905:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48039,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"23870:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23870:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48043,"nodeType":"RevertStatement","src":"23863:48:47"}]}}]},"documentation":{"id":48022,"nodeType":"StructuredDocumentation","src":"23387:312:47","text":" @dev Returns the downcasted int160 from int256, reverting on\n overflow (when the input is less than smallest int160 or\n greater than largest int160).\n Counterpart to Solidity's `int160` operator.\n Requirements:\n - input must fit into 160 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt160","nameLocation":"23713:8:47","parameters":{"id":48025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48024,"mutability":"mutable","name":"value","nameLocation":"23729:5:47","nodeType":"VariableDeclaration","scope":48047,"src":"23722:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48023,"name":"int256","nodeType":"ElementaryTypeName","src":"23722:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23721:14:47"},"returnParameters":{"id":48028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48027,"mutability":"mutable","name":"downcasted","nameLocation":"23766:10:47","nodeType":"VariableDeclaration","scope":48047,"src":"23759:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"},"typeName":{"id":48026,"name":"int160","nodeType":"ElementaryTypeName","src":"23759:6:47","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"visibility":"internal"}],"src":"23758:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48073,"nodeType":"FunctionDefinition","src":"24251:224:47","nodes":[],"body":{"id":48072,"nodeType":"Block","src":"24325:150:47","nodes":[],"statements":[{"expression":{"id":48060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48055,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48053,"src":"24335:10:47","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48058,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48050,"src":"24355:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24348:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int152_$","typeString":"type(int152)"},"typeName":{"id":48056,"name":"int152","nodeType":"ElementaryTypeName","src":"24348:6:47","typeDescriptions":{}}},"id":48059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24348:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"src":"24335:26:47","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"id":48061,"nodeType":"ExpressionStatement","src":"24335:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48062,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48053,"src":"24375:10:47","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48063,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48050,"src":"24389:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"24375:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48071,"nodeType":"IfStatement","src":"24371:98:47","trueBody":{"id":48070,"nodeType":"Block","src":"24396:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313532","id":48066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24447:3:47","typeDescriptions":{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},"value":"152"},{"id":48067,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48050,"src":"24452:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48065,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"24417:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24417:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48069,"nodeType":"RevertStatement","src":"24410:48:47"}]}}]},"documentation":{"id":48048,"nodeType":"StructuredDocumentation","src":"23934:312:47","text":" @dev Returns the downcasted int152 from int256, reverting on\n overflow (when the input is less than smallest int152 or\n greater than largest int152).\n Counterpart to Solidity's `int152` operator.\n Requirements:\n - input must fit into 152 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt152","nameLocation":"24260:8:47","parameters":{"id":48051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48050,"mutability":"mutable","name":"value","nameLocation":"24276:5:47","nodeType":"VariableDeclaration","scope":48073,"src":"24269:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48049,"name":"int256","nodeType":"ElementaryTypeName","src":"24269:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24268:14:47"},"returnParameters":{"id":48054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48053,"mutability":"mutable","name":"downcasted","nameLocation":"24313:10:47","nodeType":"VariableDeclaration","scope":48073,"src":"24306:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"},"typeName":{"id":48052,"name":"int152","nodeType":"ElementaryTypeName","src":"24306:6:47","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"visibility":"internal"}],"src":"24305:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48099,"nodeType":"FunctionDefinition","src":"24798:224:47","nodes":[],"body":{"id":48098,"nodeType":"Block","src":"24872:150:47","nodes":[],"statements":[{"expression":{"id":48086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48081,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48079,"src":"24882:10:47","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48084,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48076,"src":"24902:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24895:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int144_$","typeString":"type(int144)"},"typeName":{"id":48082,"name":"int144","nodeType":"ElementaryTypeName","src":"24895:6:47","typeDescriptions":{}}},"id":48085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24895:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"src":"24882:26:47","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"id":48087,"nodeType":"ExpressionStatement","src":"24882:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48088,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48079,"src":"24922:10:47","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48089,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48076,"src":"24936:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"24922:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48097,"nodeType":"IfStatement","src":"24918:98:47","trueBody":{"id":48096,"nodeType":"Block","src":"24943:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313434","id":48092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24994:3:47","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"},{"id":48093,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48076,"src":"24999:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48091,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"24964:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24964:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48095,"nodeType":"RevertStatement","src":"24957:48:47"}]}}]},"documentation":{"id":48074,"nodeType":"StructuredDocumentation","src":"24481:312:47","text":" @dev Returns the downcasted int144 from int256, reverting on\n overflow (when the input is less than smallest int144 or\n greater than largest int144).\n Counterpart to Solidity's `int144` operator.\n Requirements:\n - input must fit into 144 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt144","nameLocation":"24807:8:47","parameters":{"id":48077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48076,"mutability":"mutable","name":"value","nameLocation":"24823:5:47","nodeType":"VariableDeclaration","scope":48099,"src":"24816:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48075,"name":"int256","nodeType":"ElementaryTypeName","src":"24816:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24815:14:47"},"returnParameters":{"id":48080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48079,"mutability":"mutable","name":"downcasted","nameLocation":"24860:10:47","nodeType":"VariableDeclaration","scope":48099,"src":"24853:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"},"typeName":{"id":48078,"name":"int144","nodeType":"ElementaryTypeName","src":"24853:6:47","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"visibility":"internal"}],"src":"24852:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48125,"nodeType":"FunctionDefinition","src":"25345:224:47","nodes":[],"body":{"id":48124,"nodeType":"Block","src":"25419:150:47","nodes":[],"statements":[{"expression":{"id":48112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48107,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48105,"src":"25429:10:47","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48110,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48102,"src":"25449:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25442:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int136_$","typeString":"type(int136)"},"typeName":{"id":48108,"name":"int136","nodeType":"ElementaryTypeName","src":"25442:6:47","typeDescriptions":{}}},"id":48111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25442:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"src":"25429:26:47","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"id":48113,"nodeType":"ExpressionStatement","src":"25429:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48114,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48105,"src":"25469:10:47","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48115,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48102,"src":"25483:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"25469:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48123,"nodeType":"IfStatement","src":"25465:98:47","trueBody":{"id":48122,"nodeType":"Block","src":"25490:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313336","id":48118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25541:3:47","typeDescriptions":{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},"value":"136"},{"id":48119,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48102,"src":"25546:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48117,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"25511:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25511:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48121,"nodeType":"RevertStatement","src":"25504:48:47"}]}}]},"documentation":{"id":48100,"nodeType":"StructuredDocumentation","src":"25028:312:47","text":" @dev Returns the downcasted int136 from int256, reverting on\n overflow (when the input is less than smallest int136 or\n greater than largest int136).\n Counterpart to Solidity's `int136` operator.\n Requirements:\n - input must fit into 136 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt136","nameLocation":"25354:8:47","parameters":{"id":48103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48102,"mutability":"mutable","name":"value","nameLocation":"25370:5:47","nodeType":"VariableDeclaration","scope":48125,"src":"25363:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48101,"name":"int256","nodeType":"ElementaryTypeName","src":"25363:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25362:14:47"},"returnParameters":{"id":48106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48105,"mutability":"mutable","name":"downcasted","nameLocation":"25407:10:47","nodeType":"VariableDeclaration","scope":48125,"src":"25400:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"},"typeName":{"id":48104,"name":"int136","nodeType":"ElementaryTypeName","src":"25400:6:47","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"visibility":"internal"}],"src":"25399:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48151,"nodeType":"FunctionDefinition","src":"25892:224:47","nodes":[],"body":{"id":48150,"nodeType":"Block","src":"25966:150:47","nodes":[],"statements":[{"expression":{"id":48138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48133,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48131,"src":"25976:10:47","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48136,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48128,"src":"25996:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25989:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":48134,"name":"int128","nodeType":"ElementaryTypeName","src":"25989:6:47","typeDescriptions":{}}},"id":48137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25989:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"25976:26:47","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":48139,"nodeType":"ExpressionStatement","src":"25976:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48140,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48131,"src":"26016:10:47","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48141,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48128,"src":"26030:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26016:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48149,"nodeType":"IfStatement","src":"26012:98:47","trueBody":{"id":48148,"nodeType":"Block","src":"26037:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313238","id":48144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26088:3:47","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},{"id":48145,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48128,"src":"26093:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48143,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"26058:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26058:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48147,"nodeType":"RevertStatement","src":"26051:48:47"}]}}]},"documentation":{"id":48126,"nodeType":"StructuredDocumentation","src":"25575:312:47","text":" @dev Returns the downcasted int128 from int256, reverting on\n overflow (when the input is less than smallest int128 or\n greater than largest int128).\n Counterpart to Solidity's `int128` operator.\n Requirements:\n - input must fit into 128 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt128","nameLocation":"25901:8:47","parameters":{"id":48129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48128,"mutability":"mutable","name":"value","nameLocation":"25917:5:47","nodeType":"VariableDeclaration","scope":48151,"src":"25910:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48127,"name":"int256","nodeType":"ElementaryTypeName","src":"25910:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25909:14:47"},"returnParameters":{"id":48132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48131,"mutability":"mutable","name":"downcasted","nameLocation":"25954:10:47","nodeType":"VariableDeclaration","scope":48151,"src":"25947:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":48130,"name":"int128","nodeType":"ElementaryTypeName","src":"25947:6:47","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"25946:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48177,"nodeType":"FunctionDefinition","src":"26439:224:47","nodes":[],"body":{"id":48176,"nodeType":"Block","src":"26513:150:47","nodes":[],"statements":[{"expression":{"id":48164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48159,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48157,"src":"26523:10:47","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48162,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48154,"src":"26543:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26536:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int120_$","typeString":"type(int120)"},"typeName":{"id":48160,"name":"int120","nodeType":"ElementaryTypeName","src":"26536:6:47","typeDescriptions":{}}},"id":48163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26536:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"src":"26523:26:47","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"id":48165,"nodeType":"ExpressionStatement","src":"26523:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48166,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48157,"src":"26563:10:47","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48167,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48154,"src":"26577:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26563:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48175,"nodeType":"IfStatement","src":"26559:98:47","trueBody":{"id":48174,"nodeType":"Block","src":"26584:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313230","id":48170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26635:3:47","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"id":48171,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48154,"src":"26640:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48169,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"26605:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26605:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48173,"nodeType":"RevertStatement","src":"26598:48:47"}]}}]},"documentation":{"id":48152,"nodeType":"StructuredDocumentation","src":"26122:312:47","text":" @dev Returns the downcasted int120 from int256, reverting on\n overflow (when the input is less than smallest int120 or\n greater than largest int120).\n Counterpart to Solidity's `int120` operator.\n Requirements:\n - input must fit into 120 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt120","nameLocation":"26448:8:47","parameters":{"id":48155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48154,"mutability":"mutable","name":"value","nameLocation":"26464:5:47","nodeType":"VariableDeclaration","scope":48177,"src":"26457:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48153,"name":"int256","nodeType":"ElementaryTypeName","src":"26457:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"26456:14:47"},"returnParameters":{"id":48158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48157,"mutability":"mutable","name":"downcasted","nameLocation":"26501:10:47","nodeType":"VariableDeclaration","scope":48177,"src":"26494:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"},"typeName":{"id":48156,"name":"int120","nodeType":"ElementaryTypeName","src":"26494:6:47","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"visibility":"internal"}],"src":"26493:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48203,"nodeType":"FunctionDefinition","src":"26986:224:47","nodes":[],"body":{"id":48202,"nodeType":"Block","src":"27060:150:47","nodes":[],"statements":[{"expression":{"id":48190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48185,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48183,"src":"27070:10:47","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48188,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48180,"src":"27090:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27083:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int112_$","typeString":"type(int112)"},"typeName":{"id":48186,"name":"int112","nodeType":"ElementaryTypeName","src":"27083:6:47","typeDescriptions":{}}},"id":48189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27083:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"src":"27070:26:47","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"id":48191,"nodeType":"ExpressionStatement","src":"27070:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48192,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48183,"src":"27110:10:47","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48193,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48180,"src":"27124:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27110:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48201,"nodeType":"IfStatement","src":"27106:98:47","trueBody":{"id":48200,"nodeType":"Block","src":"27131:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313132","id":48196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27182:3:47","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"value":"112"},{"id":48197,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48180,"src":"27187:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48195,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"27152:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27152:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48199,"nodeType":"RevertStatement","src":"27145:48:47"}]}}]},"documentation":{"id":48178,"nodeType":"StructuredDocumentation","src":"26669:312:47","text":" @dev Returns the downcasted int112 from int256, reverting on\n overflow (when the input is less than smallest int112 or\n greater than largest int112).\n Counterpart to Solidity's `int112` operator.\n Requirements:\n - input must fit into 112 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt112","nameLocation":"26995:8:47","parameters":{"id":48181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48180,"mutability":"mutable","name":"value","nameLocation":"27011:5:47","nodeType":"VariableDeclaration","scope":48203,"src":"27004:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48179,"name":"int256","nodeType":"ElementaryTypeName","src":"27004:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27003:14:47"},"returnParameters":{"id":48184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48183,"mutability":"mutable","name":"downcasted","nameLocation":"27048:10:47","nodeType":"VariableDeclaration","scope":48203,"src":"27041:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"},"typeName":{"id":48182,"name":"int112","nodeType":"ElementaryTypeName","src":"27041:6:47","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"visibility":"internal"}],"src":"27040:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48229,"nodeType":"FunctionDefinition","src":"27533:224:47","nodes":[],"body":{"id":48228,"nodeType":"Block","src":"27607:150:47","nodes":[],"statements":[{"expression":{"id":48216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48211,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48209,"src":"27617:10:47","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48214,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48206,"src":"27637:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27630:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int104_$","typeString":"type(int104)"},"typeName":{"id":48212,"name":"int104","nodeType":"ElementaryTypeName","src":"27630:6:47","typeDescriptions":{}}},"id":48215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27630:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"src":"27617:26:47","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"id":48217,"nodeType":"ExpressionStatement","src":"27617:26:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48218,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48209,"src":"27657:10:47","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48219,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48206,"src":"27671:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27657:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48227,"nodeType":"IfStatement","src":"27653:98:47","trueBody":{"id":48226,"nodeType":"Block","src":"27678:73:47","statements":[{"errorCall":{"arguments":[{"hexValue":"313034","id":48222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27729:3:47","typeDescriptions":{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},"value":"104"},{"id":48223,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48206,"src":"27734:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48221,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"27699:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27699:41:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48225,"nodeType":"RevertStatement","src":"27692:48:47"}]}}]},"documentation":{"id":48204,"nodeType":"StructuredDocumentation","src":"27216:312:47","text":" @dev Returns the downcasted int104 from int256, reverting on\n overflow (when the input is less than smallest int104 or\n greater than largest int104).\n Counterpart to Solidity's `int104` operator.\n Requirements:\n - input must fit into 104 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt104","nameLocation":"27542:8:47","parameters":{"id":48207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48206,"mutability":"mutable","name":"value","nameLocation":"27558:5:47","nodeType":"VariableDeclaration","scope":48229,"src":"27551:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48205,"name":"int256","nodeType":"ElementaryTypeName","src":"27551:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27550:14:47"},"returnParameters":{"id":48210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48209,"mutability":"mutable","name":"downcasted","nameLocation":"27595:10:47","nodeType":"VariableDeclaration","scope":48229,"src":"27588:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"},"typeName":{"id":48208,"name":"int104","nodeType":"ElementaryTypeName","src":"27588:6:47","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"visibility":"internal"}],"src":"27587:19:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48255,"nodeType":"FunctionDefinition","src":"28075:220:47","nodes":[],"body":{"id":48254,"nodeType":"Block","src":"28147:148:47","nodes":[],"statements":[{"expression":{"id":48242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48237,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48235,"src":"28157:10:47","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48240,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48232,"src":"28176:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28170:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int96_$","typeString":"type(int96)"},"typeName":{"id":48238,"name":"int96","nodeType":"ElementaryTypeName","src":"28170:5:47","typeDescriptions":{}}},"id":48241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28170:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"src":"28157:25:47","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"id":48243,"nodeType":"ExpressionStatement","src":"28157:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48244,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48235,"src":"28196:10:47","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48245,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48232,"src":"28210:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28196:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48253,"nodeType":"IfStatement","src":"28192:97:47","trueBody":{"id":48252,"nodeType":"Block","src":"28217:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3936","id":48248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28268:2:47","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},{"id":48249,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48232,"src":"28272:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48247,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"28238:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28238:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48251,"nodeType":"RevertStatement","src":"28231:47:47"}]}}]},"documentation":{"id":48230,"nodeType":"StructuredDocumentation","src":"27763:307:47","text":" @dev Returns the downcasted int96 from int256, reverting on\n overflow (when the input is less than smallest int96 or\n greater than largest int96).\n Counterpart to Solidity's `int96` operator.\n Requirements:\n - input must fit into 96 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt96","nameLocation":"28084:7:47","parameters":{"id":48233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48232,"mutability":"mutable","name":"value","nameLocation":"28099:5:47","nodeType":"VariableDeclaration","scope":48255,"src":"28092:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48231,"name":"int256","nodeType":"ElementaryTypeName","src":"28092:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28091:14:47"},"returnParameters":{"id":48236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48235,"mutability":"mutable","name":"downcasted","nameLocation":"28135:10:47","nodeType":"VariableDeclaration","scope":48255,"src":"28129:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"},"typeName":{"id":48234,"name":"int96","nodeType":"ElementaryTypeName","src":"28129:5:47","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"visibility":"internal"}],"src":"28128:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48281,"nodeType":"FunctionDefinition","src":"28613:220:47","nodes":[],"body":{"id":48280,"nodeType":"Block","src":"28685:148:47","nodes":[],"statements":[{"expression":{"id":48268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48263,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48261,"src":"28695:10:47","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48266,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48258,"src":"28714:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28708:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int88_$","typeString":"type(int88)"},"typeName":{"id":48264,"name":"int88","nodeType":"ElementaryTypeName","src":"28708:5:47","typeDescriptions":{}}},"id":48267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28708:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"src":"28695:25:47","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"id":48269,"nodeType":"ExpressionStatement","src":"28695:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48270,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48261,"src":"28734:10:47","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48271,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48258,"src":"28748:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28734:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48279,"nodeType":"IfStatement","src":"28730:97:47","trueBody":{"id":48278,"nodeType":"Block","src":"28755:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3838","id":48274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28806:2:47","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"},{"id":48275,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48258,"src":"28810:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48273,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"28776:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28776:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48277,"nodeType":"RevertStatement","src":"28769:47:47"}]}}]},"documentation":{"id":48256,"nodeType":"StructuredDocumentation","src":"28301:307:47","text":" @dev Returns the downcasted int88 from int256, reverting on\n overflow (when the input is less than smallest int88 or\n greater than largest int88).\n Counterpart to Solidity's `int88` operator.\n Requirements:\n - input must fit into 88 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt88","nameLocation":"28622:7:47","parameters":{"id":48259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48258,"mutability":"mutable","name":"value","nameLocation":"28637:5:47","nodeType":"VariableDeclaration","scope":48281,"src":"28630:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48257,"name":"int256","nodeType":"ElementaryTypeName","src":"28630:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28629:14:47"},"returnParameters":{"id":48262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48261,"mutability":"mutable","name":"downcasted","nameLocation":"28673:10:47","nodeType":"VariableDeclaration","scope":48281,"src":"28667:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"},"typeName":{"id":48260,"name":"int88","nodeType":"ElementaryTypeName","src":"28667:5:47","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"visibility":"internal"}],"src":"28666:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48307,"nodeType":"FunctionDefinition","src":"29151:220:47","nodes":[],"body":{"id":48306,"nodeType":"Block","src":"29223:148:47","nodes":[],"statements":[{"expression":{"id":48294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48289,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48287,"src":"29233:10:47","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48292,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48284,"src":"29252:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29246:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int80_$","typeString":"type(int80)"},"typeName":{"id":48290,"name":"int80","nodeType":"ElementaryTypeName","src":"29246:5:47","typeDescriptions":{}}},"id":48293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29246:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"src":"29233:25:47","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"id":48295,"nodeType":"ExpressionStatement","src":"29233:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48296,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48287,"src":"29272:10:47","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48297,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48284,"src":"29286:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29272:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48305,"nodeType":"IfStatement","src":"29268:97:47","trueBody":{"id":48304,"nodeType":"Block","src":"29293:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3830","id":48300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29344:2:47","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},{"id":48301,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48284,"src":"29348:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48299,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"29314:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29314:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48303,"nodeType":"RevertStatement","src":"29307:47:47"}]}}]},"documentation":{"id":48282,"nodeType":"StructuredDocumentation","src":"28839:307:47","text":" @dev Returns the downcasted int80 from int256, reverting on\n overflow (when the input is less than smallest int80 or\n greater than largest int80).\n Counterpart to Solidity's `int80` operator.\n Requirements:\n - input must fit into 80 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt80","nameLocation":"29160:7:47","parameters":{"id":48285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48284,"mutability":"mutable","name":"value","nameLocation":"29175:5:47","nodeType":"VariableDeclaration","scope":48307,"src":"29168:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48283,"name":"int256","nodeType":"ElementaryTypeName","src":"29168:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29167:14:47"},"returnParameters":{"id":48288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48287,"mutability":"mutable","name":"downcasted","nameLocation":"29211:10:47","nodeType":"VariableDeclaration","scope":48307,"src":"29205:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"},"typeName":{"id":48286,"name":"int80","nodeType":"ElementaryTypeName","src":"29205:5:47","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"visibility":"internal"}],"src":"29204:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48333,"nodeType":"FunctionDefinition","src":"29689:220:47","nodes":[],"body":{"id":48332,"nodeType":"Block","src":"29761:148:47","nodes":[],"statements":[{"expression":{"id":48320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48315,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48313,"src":"29771:10:47","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48318,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"29790:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29784:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int72_$","typeString":"type(int72)"},"typeName":{"id":48316,"name":"int72","nodeType":"ElementaryTypeName","src":"29784:5:47","typeDescriptions":{}}},"id":48319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29784:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"src":"29771:25:47","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"id":48321,"nodeType":"ExpressionStatement","src":"29771:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48322,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48313,"src":"29810:10:47","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48323,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"29824:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29810:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48331,"nodeType":"IfStatement","src":"29806:97:47","trueBody":{"id":48330,"nodeType":"Block","src":"29831:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3732","id":48326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29882:2:47","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"},{"id":48327,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"29886:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48325,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"29852:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29852:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48329,"nodeType":"RevertStatement","src":"29845:47:47"}]}}]},"documentation":{"id":48308,"nodeType":"StructuredDocumentation","src":"29377:307:47","text":" @dev Returns the downcasted int72 from int256, reverting on\n overflow (when the input is less than smallest int72 or\n greater than largest int72).\n Counterpart to Solidity's `int72` operator.\n Requirements:\n - input must fit into 72 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt72","nameLocation":"29698:7:47","parameters":{"id":48311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48310,"mutability":"mutable","name":"value","nameLocation":"29713:5:47","nodeType":"VariableDeclaration","scope":48333,"src":"29706:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48309,"name":"int256","nodeType":"ElementaryTypeName","src":"29706:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29705:14:47"},"returnParameters":{"id":48314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48313,"mutability":"mutable","name":"downcasted","nameLocation":"29749:10:47","nodeType":"VariableDeclaration","scope":48333,"src":"29743:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"},"typeName":{"id":48312,"name":"int72","nodeType":"ElementaryTypeName","src":"29743:5:47","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"visibility":"internal"}],"src":"29742:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48359,"nodeType":"FunctionDefinition","src":"30227:220:47","nodes":[],"body":{"id":48358,"nodeType":"Block","src":"30299:148:47","nodes":[],"statements":[{"expression":{"id":48346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48341,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48339,"src":"30309:10:47","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48344,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48336,"src":"30328:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30322:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":48342,"name":"int64","nodeType":"ElementaryTypeName","src":"30322:5:47","typeDescriptions":{}}},"id":48345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30322:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"src":"30309:25:47","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":48347,"nodeType":"ExpressionStatement","src":"30309:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48348,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48339,"src":"30348:10:47","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48349,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48336,"src":"30362:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30348:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48357,"nodeType":"IfStatement","src":"30344:97:47","trueBody":{"id":48356,"nodeType":"Block","src":"30369:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3634","id":48352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30420:2:47","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},{"id":48353,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48336,"src":"30424:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48351,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"30390:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30390:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48355,"nodeType":"RevertStatement","src":"30383:47:47"}]}}]},"documentation":{"id":48334,"nodeType":"StructuredDocumentation","src":"29915:307:47","text":" @dev Returns the downcasted int64 from int256, reverting on\n overflow (when the input is less than smallest int64 or\n greater than largest int64).\n Counterpart to Solidity's `int64` operator.\n Requirements:\n - input must fit into 64 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt64","nameLocation":"30236:7:47","parameters":{"id":48337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48336,"mutability":"mutable","name":"value","nameLocation":"30251:5:47","nodeType":"VariableDeclaration","scope":48359,"src":"30244:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48335,"name":"int256","nodeType":"ElementaryTypeName","src":"30244:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"30243:14:47"},"returnParameters":{"id":48340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48339,"mutability":"mutable","name":"downcasted","nameLocation":"30287:10:47","nodeType":"VariableDeclaration","scope":48359,"src":"30281:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":48338,"name":"int64","nodeType":"ElementaryTypeName","src":"30281:5:47","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"30280:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48385,"nodeType":"FunctionDefinition","src":"30765:220:47","nodes":[],"body":{"id":48384,"nodeType":"Block","src":"30837:148:47","nodes":[],"statements":[{"expression":{"id":48372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48367,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48365,"src":"30847:10:47","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48370,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48362,"src":"30866:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30860:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int56_$","typeString":"type(int56)"},"typeName":{"id":48368,"name":"int56","nodeType":"ElementaryTypeName","src":"30860:5:47","typeDescriptions":{}}},"id":48371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30860:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"src":"30847:25:47","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":48373,"nodeType":"ExpressionStatement","src":"30847:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48374,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48365,"src":"30886:10:47","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48375,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48362,"src":"30900:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30886:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48383,"nodeType":"IfStatement","src":"30882:97:47","trueBody":{"id":48382,"nodeType":"Block","src":"30907:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3536","id":48378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30958:2:47","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"id":48379,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48362,"src":"30962:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48377,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"30928:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30928:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48381,"nodeType":"RevertStatement","src":"30921:47:47"}]}}]},"documentation":{"id":48360,"nodeType":"StructuredDocumentation","src":"30453:307:47","text":" @dev Returns the downcasted int56 from int256, reverting on\n overflow (when the input is less than smallest int56 or\n greater than largest int56).\n Counterpart to Solidity's `int56` operator.\n Requirements:\n - input must fit into 56 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt56","nameLocation":"30774:7:47","parameters":{"id":48363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48362,"mutability":"mutable","name":"value","nameLocation":"30789:5:47","nodeType":"VariableDeclaration","scope":48385,"src":"30782:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48361,"name":"int256","nodeType":"ElementaryTypeName","src":"30782:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"30781:14:47"},"returnParameters":{"id":48366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48365,"mutability":"mutable","name":"downcasted","nameLocation":"30825:10:47","nodeType":"VariableDeclaration","scope":48385,"src":"30819:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"},"typeName":{"id":48364,"name":"int56","nodeType":"ElementaryTypeName","src":"30819:5:47","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"visibility":"internal"}],"src":"30818:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48411,"nodeType":"FunctionDefinition","src":"31303:220:47","nodes":[],"body":{"id":48410,"nodeType":"Block","src":"31375:148:47","nodes":[],"statements":[{"expression":{"id":48398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48393,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48391,"src":"31385:10:47","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48396,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48388,"src":"31404:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31398:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int48_$","typeString":"type(int48)"},"typeName":{"id":48394,"name":"int48","nodeType":"ElementaryTypeName","src":"31398:5:47","typeDescriptions":{}}},"id":48397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31398:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"src":"31385:25:47","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"id":48399,"nodeType":"ExpressionStatement","src":"31385:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48400,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48391,"src":"31424:10:47","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48401,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48388,"src":"31438:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31424:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48409,"nodeType":"IfStatement","src":"31420:97:47","trueBody":{"id":48408,"nodeType":"Block","src":"31445:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3438","id":48404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31496:2:47","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},{"id":48405,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48388,"src":"31500:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48403,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"31466:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31466:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48407,"nodeType":"RevertStatement","src":"31459:47:47"}]}}]},"documentation":{"id":48386,"nodeType":"StructuredDocumentation","src":"30991:307:47","text":" @dev Returns the downcasted int48 from int256, reverting on\n overflow (when the input is less than smallest int48 or\n greater than largest int48).\n Counterpart to Solidity's `int48` operator.\n Requirements:\n - input must fit into 48 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt48","nameLocation":"31312:7:47","parameters":{"id":48389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48388,"mutability":"mutable","name":"value","nameLocation":"31327:5:47","nodeType":"VariableDeclaration","scope":48411,"src":"31320:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48387,"name":"int256","nodeType":"ElementaryTypeName","src":"31320:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31319:14:47"},"returnParameters":{"id":48392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48391,"mutability":"mutable","name":"downcasted","nameLocation":"31363:10:47","nodeType":"VariableDeclaration","scope":48411,"src":"31357:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"},"typeName":{"id":48390,"name":"int48","nodeType":"ElementaryTypeName","src":"31357:5:47","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"visibility":"internal"}],"src":"31356:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48437,"nodeType":"FunctionDefinition","src":"31841:220:47","nodes":[],"body":{"id":48436,"nodeType":"Block","src":"31913:148:47","nodes":[],"statements":[{"expression":{"id":48424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48419,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48417,"src":"31923:10:47","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48422,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48414,"src":"31942:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31936:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int40_$","typeString":"type(int40)"},"typeName":{"id":48420,"name":"int40","nodeType":"ElementaryTypeName","src":"31936:5:47","typeDescriptions":{}}},"id":48423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31936:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"src":"31923:25:47","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"id":48425,"nodeType":"ExpressionStatement","src":"31923:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48426,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48417,"src":"31962:10:47","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48427,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48414,"src":"31976:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31962:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48435,"nodeType":"IfStatement","src":"31958:97:47","trueBody":{"id":48434,"nodeType":"Block","src":"31983:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3430","id":48430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32034:2:47","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},{"id":48431,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48414,"src":"32038:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48429,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"32004:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32004:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48433,"nodeType":"RevertStatement","src":"31997:47:47"}]}}]},"documentation":{"id":48412,"nodeType":"StructuredDocumentation","src":"31529:307:47","text":" @dev Returns the downcasted int40 from int256, reverting on\n overflow (when the input is less than smallest int40 or\n greater than largest int40).\n Counterpart to Solidity's `int40` operator.\n Requirements:\n - input must fit into 40 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt40","nameLocation":"31850:7:47","parameters":{"id":48415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48414,"mutability":"mutable","name":"value","nameLocation":"31865:5:47","nodeType":"VariableDeclaration","scope":48437,"src":"31858:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48413,"name":"int256","nodeType":"ElementaryTypeName","src":"31858:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31857:14:47"},"returnParameters":{"id":48418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48417,"mutability":"mutable","name":"downcasted","nameLocation":"31901:10:47","nodeType":"VariableDeclaration","scope":48437,"src":"31895:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"},"typeName":{"id":48416,"name":"int40","nodeType":"ElementaryTypeName","src":"31895:5:47","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"visibility":"internal"}],"src":"31894:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48463,"nodeType":"FunctionDefinition","src":"32379:220:47","nodes":[],"body":{"id":48462,"nodeType":"Block","src":"32451:148:47","nodes":[],"statements":[{"expression":{"id":48450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48445,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48443,"src":"32461:10:47","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48448,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48440,"src":"32480:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32474:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":48446,"name":"int32","nodeType":"ElementaryTypeName","src":"32474:5:47","typeDescriptions":{}}},"id":48449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32474:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"32461:25:47","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":48451,"nodeType":"ExpressionStatement","src":"32461:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48452,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48443,"src":"32500:10:47","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48453,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48440,"src":"32514:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32500:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48461,"nodeType":"IfStatement","src":"32496:97:47","trueBody":{"id":48460,"nodeType":"Block","src":"32521:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3332","id":48456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32572:2:47","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":48457,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48440,"src":"32576:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48455,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"32542:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32542:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48459,"nodeType":"RevertStatement","src":"32535:47:47"}]}}]},"documentation":{"id":48438,"nodeType":"StructuredDocumentation","src":"32067:307:47","text":" @dev Returns the downcasted int32 from int256, reverting on\n overflow (when the input is less than smallest int32 or\n greater than largest int32).\n Counterpart to Solidity's `int32` operator.\n Requirements:\n - input must fit into 32 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt32","nameLocation":"32388:7:47","parameters":{"id":48441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48440,"mutability":"mutable","name":"value","nameLocation":"32403:5:47","nodeType":"VariableDeclaration","scope":48463,"src":"32396:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48439,"name":"int256","nodeType":"ElementaryTypeName","src":"32396:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32395:14:47"},"returnParameters":{"id":48444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48443,"mutability":"mutable","name":"downcasted","nameLocation":"32439:10:47","nodeType":"VariableDeclaration","scope":48463,"src":"32433:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":48442,"name":"int32","nodeType":"ElementaryTypeName","src":"32433:5:47","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"32432:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48489,"nodeType":"FunctionDefinition","src":"32917:220:47","nodes":[],"body":{"id":48488,"nodeType":"Block","src":"32989:148:47","nodes":[],"statements":[{"expression":{"id":48476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48471,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48469,"src":"32999:10:47","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48474,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48466,"src":"33018:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33012:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":48472,"name":"int24","nodeType":"ElementaryTypeName","src":"33012:5:47","typeDescriptions":{}}},"id":48475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33012:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"32999:25:47","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":48477,"nodeType":"ExpressionStatement","src":"32999:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48478,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48469,"src":"33038:10:47","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48479,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48466,"src":"33052:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33038:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48487,"nodeType":"IfStatement","src":"33034:97:47","trueBody":{"id":48486,"nodeType":"Block","src":"33059:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3234","id":48482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33110:2:47","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"id":48483,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48466,"src":"33114:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48481,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"33080:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33080:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48485,"nodeType":"RevertStatement","src":"33073:47:47"}]}}]},"documentation":{"id":48464,"nodeType":"StructuredDocumentation","src":"32605:307:47","text":" @dev Returns the downcasted int24 from int256, reverting on\n overflow (when the input is less than smallest int24 or\n greater than largest int24).\n Counterpart to Solidity's `int24` operator.\n Requirements:\n - input must fit into 24 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt24","nameLocation":"32926:7:47","parameters":{"id":48467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48466,"mutability":"mutable","name":"value","nameLocation":"32941:5:47","nodeType":"VariableDeclaration","scope":48489,"src":"32934:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48465,"name":"int256","nodeType":"ElementaryTypeName","src":"32934:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32933:14:47"},"returnParameters":{"id":48470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48469,"mutability":"mutable","name":"downcasted","nameLocation":"32977:10:47","nodeType":"VariableDeclaration","scope":48489,"src":"32971:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":48468,"name":"int24","nodeType":"ElementaryTypeName","src":"32971:5:47","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"32970:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48515,"nodeType":"FunctionDefinition","src":"33455:220:47","nodes":[],"body":{"id":48514,"nodeType":"Block","src":"33527:148:47","nodes":[],"statements":[{"expression":{"id":48502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48497,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48495,"src":"33537:10:47","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48500,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48492,"src":"33556:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33550:5:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int16_$","typeString":"type(int16)"},"typeName":{"id":48498,"name":"int16","nodeType":"ElementaryTypeName","src":"33550:5:47","typeDescriptions":{}}},"id":48501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33550:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"src":"33537:25:47","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"id":48503,"nodeType":"ExpressionStatement","src":"33537:25:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48504,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48495,"src":"33576:10:47","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48505,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48492,"src":"33590:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33576:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48513,"nodeType":"IfStatement","src":"33572:97:47","trueBody":{"id":48512,"nodeType":"Block","src":"33597:72:47","statements":[{"errorCall":{"arguments":[{"hexValue":"3136","id":48508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33648:2:47","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"id":48509,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48492,"src":"33652:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48507,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"33618:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33618:40:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48511,"nodeType":"RevertStatement","src":"33611:47:47"}]}}]},"documentation":{"id":48490,"nodeType":"StructuredDocumentation","src":"33143:307:47","text":" @dev Returns the downcasted int16 from int256, reverting on\n overflow (when the input is less than smallest int16 or\n greater than largest int16).\n Counterpart to Solidity's `int16` operator.\n Requirements:\n - input must fit into 16 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt16","nameLocation":"33464:7:47","parameters":{"id":48493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48492,"mutability":"mutable","name":"value","nameLocation":"33479:5:47","nodeType":"VariableDeclaration","scope":48515,"src":"33472:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48491,"name":"int256","nodeType":"ElementaryTypeName","src":"33472:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33471:14:47"},"returnParameters":{"id":48496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48495,"mutability":"mutable","name":"downcasted","nameLocation":"33515:10:47","nodeType":"VariableDeclaration","scope":48515,"src":"33509:16:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"},"typeName":{"id":48494,"name":"int16","nodeType":"ElementaryTypeName","src":"33509:5:47","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"}],"src":"33508:18:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48541,"nodeType":"FunctionDefinition","src":"33988:216:47","nodes":[],"body":{"id":48540,"nodeType":"Block","src":"34058:146:47","nodes":[],"statements":[{"expression":{"id":48528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48523,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48521,"src":"34068:10:47","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48526,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48518,"src":"34086:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34081:4:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int8_$","typeString":"type(int8)"},"typeName":{"id":48524,"name":"int8","nodeType":"ElementaryTypeName","src":"34081:4:47","typeDescriptions":{}}},"id":48527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34081:11:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"src":"34068:24:47","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"id":48529,"nodeType":"ExpressionStatement","src":"34068:24:47"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48530,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48521,"src":"34106:10:47","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":48531,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48518,"src":"34120:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"34106:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48539,"nodeType":"IfStatement","src":"34102:96:47","trueBody":{"id":48538,"nodeType":"Block","src":"34127:71:47","statements":[{"errorCall":{"arguments":[{"hexValue":"38","id":48534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34178:1:47","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"id":48535,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48518,"src":"34181:5:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48533,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"34148:29:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":48536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34148:39:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48537,"nodeType":"RevertStatement","src":"34141:46:47"}]}}]},"documentation":{"id":48516,"nodeType":"StructuredDocumentation","src":"33681:302:47","text":" @dev Returns the downcasted int8 from int256, reverting on\n overflow (when the input is less than smallest int8 or\n greater than largest int8).\n Counterpart to Solidity's `int8` operator.\n Requirements:\n - input must fit into 8 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt8","nameLocation":"33997:6:47","parameters":{"id":48519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48518,"mutability":"mutable","name":"value","nameLocation":"34011:5:47","nodeType":"VariableDeclaration","scope":48541,"src":"34004:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48517,"name":"int256","nodeType":"ElementaryTypeName","src":"34004:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34003:14:47"},"returnParameters":{"id":48522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48521,"mutability":"mutable","name":"downcasted","nameLocation":"34046:10:47","nodeType":"VariableDeclaration","scope":48541,"src":"34041:15:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"},"typeName":{"id":48520,"name":"int8","nodeType":"ElementaryTypeName","src":"34041:4:47","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"visibility":"internal"}],"src":"34040:17:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48571,"nodeType":"FunctionDefinition","src":"34380:314:47","nodes":[],"body":{"id":48570,"nodeType":"Block","src":"34444:250:47","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48549,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48544,"src":"34557:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"expression":{"arguments":[{"id":48554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34578:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":48553,"name":"int256","nodeType":"ElementaryTypeName","src":"34578:6:47","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":48552,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"34573:4:47","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34573:12:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":48556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34586:3:47","memberName":"max","nodeType":"MemberAccess","src":"34573:16:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34565:7:47","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":48550,"name":"uint256","nodeType":"ElementaryTypeName","src":"34565:7:47","typeDescriptions":{}}},"id":48557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34565:25:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34557:33:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48564,"nodeType":"IfStatement","src":"34553:105:47","trueBody":{"id":48563,"nodeType":"Block","src":"34592:66:47","statements":[{"errorCall":{"arguments":[{"id":48560,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48544,"src":"34641:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48559,"name":"SafeCastOverflowedUintToInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46844,"src":"34613:27:47","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":48561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34613:34:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48562,"nodeType":"RevertStatement","src":"34606:41:47"}]}},{"expression":{"arguments":[{"id":48567,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48544,"src":"34681:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34674:6:47","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":48565,"name":"int256","nodeType":"ElementaryTypeName","src":"34674:6:47","typeDescriptions":{}}},"id":48568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34674:13:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":48548,"id":48569,"nodeType":"Return","src":"34667:20:47"}]},"documentation":{"id":48542,"nodeType":"StructuredDocumentation","src":"34210:165:47","text":" @dev Converts an unsigned uint256 into a signed int256.\n Requirements:\n - input must be less than or equal to maxInt256."},"implemented":true,"kind":"function","modifiers":[],"name":"toInt256","nameLocation":"34389:8:47","parameters":{"id":48545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48544,"mutability":"mutable","name":"value","nameLocation":"34406:5:47","nodeType":"VariableDeclaration","scope":48571,"src":"34398:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48543,"name":"uint256","nodeType":"ElementaryTypeName","src":"34398:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34397:15:47"},"returnParameters":{"id":48548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48547,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48571,"src":"34436:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48546,"name":"int256","nodeType":"ElementaryTypeName","src":"34436:6:47","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34435:8:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48581,"nodeType":"FunctionDefinition","src":"34795:145:47","nodes":[],"body":{"id":48580,"nodeType":"Block","src":"34853:87:47","nodes":[],"statements":[{"AST":{"nativeSrc":"34888:46:47","nodeType":"YulBlock","src":"34888:46:47","statements":[{"nativeSrc":"34902:22:47","nodeType":"YulAssignment","src":"34902:22:47","value":{"arguments":[{"arguments":[{"name":"b","nativeSrc":"34921:1:47","nodeType":"YulIdentifier","src":"34921:1:47"}],"functionName":{"name":"iszero","nativeSrc":"34914:6:47","nodeType":"YulIdentifier","src":"34914:6:47"},"nativeSrc":"34914:9:47","nodeType":"YulFunctionCall","src":"34914:9:47"}],"functionName":{"name":"iszero","nativeSrc":"34907:6:47","nodeType":"YulIdentifier","src":"34907:6:47"},"nativeSrc":"34907:17:47","nodeType":"YulFunctionCall","src":"34907:17:47"},"variableNames":[{"name":"u","nativeSrc":"34902:1:47","nodeType":"YulIdentifier","src":"34902:1:47"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":48574,"isOffset":false,"isSlot":false,"src":"34921:1:47","valueSize":1},{"declaration":48577,"isOffset":false,"isSlot":false,"src":"34902:1:47","valueSize":1}],"flags":["memory-safe"],"id":48579,"nodeType":"InlineAssembly","src":"34863:71:47"}]},"documentation":{"id":48572,"nodeType":"StructuredDocumentation","src":"34700:90:47","text":" @dev Cast a boolean (false or true) to a uint256 (0 or 1) with no jump."},"implemented":true,"kind":"function","modifiers":[],"name":"toUint","nameLocation":"34804:6:47","parameters":{"id":48575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48574,"mutability":"mutable","name":"b","nameLocation":"34816:1:47","nodeType":"VariableDeclaration","scope":48581,"src":"34811:6:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48573,"name":"bool","nodeType":"ElementaryTypeName","src":"34811:4:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34810:8:47"},"returnParameters":{"id":48578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48577,"mutability":"mutable","name":"u","nameLocation":"34850:1:47","nodeType":"VariableDeclaration","scope":48581,"src":"34842:9:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48576,"name":"uint256","nodeType":"ElementaryTypeName","src":"34842:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34841:11:47"},"scope":48582,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeCast","contractDependencies":[],"contractKind":"library","documentation":{"id":46820,"nodeType":"StructuredDocumentation","src":"218:550:47","text":" @dev Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow\n checks.\n Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n easily result in undesired exploitation or bugs, since developers usually\n assume that overflows raise errors. `SafeCast` restores this intuition by\n reverting the transaction when such an operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always."},"fullyImplemented":true,"linearizedBaseContracts":[48582],"name":"SafeCast","nameLocation":"777:8:47","scope":48583,"usedErrors":[46827,46832,46839,46844],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"id":48,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","id":48727,"exportedSymbols":{"SafeCast":[48582],"SignedMath":[48726]},"nodeType":"SourceUnit","src":"109:2504:48","nodes":[{"id":48584,"nodeType":"PragmaDirective","src":"109:24:48","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":48586,"nodeType":"ImportDirective","src":"135:40:48","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","file":"./SafeCast.sol","nameLocation":"-1:-1:-1","scope":48727,"sourceUnit":48583,"symbolAliases":[{"foreign":{"id":48585,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"143:8:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48726,"nodeType":"ContractDefinition","src":"258:2354:48","nodes":[{"id":48617,"nodeType":"FunctionDefinition","src":"662:299:48","nodes":[],"body":{"id":48616,"nodeType":"Block","src":"746:215:48","nodes":[],"statements":[{"id":48615,"nodeType":"UncheckedBlock","src":"756:199:48","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48599,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48594,"src":"894:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48600,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48592,"src":"900:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":48601,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48594,"src":"904:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"900:5:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":48603,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"899:7:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":48608,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48590,"src":"932:9:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48606,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"916:8:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$48582_$","typeString":"type(library SafeCast)"}},"id":48607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"925:6:48","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":48581,"src":"916:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"916:26:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"909:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":48604,"name":"int256","nodeType":"ElementaryTypeName","src":"909:6:48","typeDescriptions":{}}},"id":48610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"909:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"899:44:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":48612,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"898:46:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"894:50:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":48598,"id":48614,"nodeType":"Return","src":"887:57:48"}]}]},"documentation":{"id":48588,"nodeType":"StructuredDocumentation","src":"283:374:48","text":" @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n one branch when needed, making this function more expensive."},"implemented":true,"kind":"function","modifiers":[],"name":"ternary","nameLocation":"671:7:48","parameters":{"id":48595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48590,"mutability":"mutable","name":"condition","nameLocation":"684:9:48","nodeType":"VariableDeclaration","scope":48617,"src":"679:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48589,"name":"bool","nodeType":"ElementaryTypeName","src":"679:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48592,"mutability":"mutable","name":"a","nameLocation":"702:1:48","nodeType":"VariableDeclaration","scope":48617,"src":"695:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48591,"name":"int256","nodeType":"ElementaryTypeName","src":"695:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":48594,"mutability":"mutable","name":"b","nameLocation":"712:1:48","nodeType":"VariableDeclaration","scope":48617,"src":"705:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48593,"name":"int256","nodeType":"ElementaryTypeName","src":"705:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"678:36:48"},"returnParameters":{"id":48598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48617,"src":"738:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48596,"name":"int256","nodeType":"ElementaryTypeName","src":"738:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"737:8:48"},"scope":48726,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48636,"nodeType":"FunctionDefinition","src":"1038:108:48","nodes":[],"body":{"id":48635,"nodeType":"Block","src":"1102:44:48","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48628,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48620,"src":"1127:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":48629,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48622,"src":"1131:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1127:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48631,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48620,"src":"1134:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":48632,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48622,"src":"1137:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48627,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48617,"src":"1119:7:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (bool,int256,int256) pure returns (int256)"}},"id":48633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1119:20:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":48626,"id":48634,"nodeType":"Return","src":"1112:27:48"}]},"documentation":{"id":48618,"nodeType":"StructuredDocumentation","src":"967:66:48","text":" @dev Returns the largest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"1047:3:48","parameters":{"id":48623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48620,"mutability":"mutable","name":"a","nameLocation":"1058:1:48","nodeType":"VariableDeclaration","scope":48636,"src":"1051:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48619,"name":"int256","nodeType":"ElementaryTypeName","src":"1051:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":48622,"mutability":"mutable","name":"b","nameLocation":"1068:1:48","nodeType":"VariableDeclaration","scope":48636,"src":"1061:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48621,"name":"int256","nodeType":"ElementaryTypeName","src":"1061:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1050:20:48"},"returnParameters":{"id":48626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48625,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48636,"src":"1094:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48624,"name":"int256","nodeType":"ElementaryTypeName","src":"1094:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1093:8:48"},"scope":48726,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48655,"nodeType":"FunctionDefinition","src":"1224:108:48","nodes":[],"body":{"id":48654,"nodeType":"Block","src":"1288:44:48","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48647,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48639,"src":"1313:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":48648,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48641,"src":"1317:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1313:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48650,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48639,"src":"1320:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":48651,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48641,"src":"1323:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48646,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48617,"src":"1305:7:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (bool,int256,int256) pure returns (int256)"}},"id":48652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1305:20:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":48645,"id":48653,"nodeType":"Return","src":"1298:27:48"}]},"documentation":{"id":48637,"nodeType":"StructuredDocumentation","src":"1152:67:48","text":" @dev Returns the smallest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"1233:3:48","parameters":{"id":48642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48639,"mutability":"mutable","name":"a","nameLocation":"1244:1:48","nodeType":"VariableDeclaration","scope":48655,"src":"1237:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48638,"name":"int256","nodeType":"ElementaryTypeName","src":"1237:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":48641,"mutability":"mutable","name":"b","nameLocation":"1254:1:48","nodeType":"VariableDeclaration","scope":48655,"src":"1247:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48640,"name":"int256","nodeType":"ElementaryTypeName","src":"1247:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1236:20:48"},"returnParameters":{"id":48645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48644,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48655,"src":"1280:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48643,"name":"int256","nodeType":"ElementaryTypeName","src":"1280:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1279:8:48"},"scope":48726,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48699,"nodeType":"FunctionDefinition","src":"1469:230:48","nodes":[],"body":{"id":48698,"nodeType":"Block","src":"1537:162:48","nodes":[],"statements":[{"assignments":[48666],"declarations":[{"constant":false,"id":48666,"mutability":"mutable","name":"x","nameLocation":"1606:1:48","nodeType":"VariableDeclaration","scope":48698,"src":"1599:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48665,"name":"int256","nodeType":"ElementaryTypeName","src":"1599:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":48679,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48667,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48658,"src":"1611:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":48668,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48660,"src":"1615:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1611:5:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":48670,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1610:7:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48671,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48658,"src":"1622:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":48672,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48660,"src":"1626:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1622:5:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":48674,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1621:7:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":48675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1632:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1621:12:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":48677,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1620:14:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1610:24:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"1599:35:48"},{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48680,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48666,"src":"1651:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48685,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48666,"src":"1671:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1663:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":48683,"name":"uint256","nodeType":"ElementaryTypeName","src":"1663:7:48","typeDescriptions":{}}},"id":48686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1663:10:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":48687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1677:3:48","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"1663:17:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1656:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":48681,"name":"int256","nodeType":"ElementaryTypeName","src":"1656:6:48","typeDescriptions":{}}},"id":48689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1656:25:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48690,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48658,"src":"1685:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":48691,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48660,"src":"1689:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1685:5:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":48693,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1684:7:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1656:35:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":48695,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1655:37:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1651:41:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":48664,"id":48697,"nodeType":"Return","src":"1644:48:48"}]},"documentation":{"id":48656,"nodeType":"StructuredDocumentation","src":"1338:126:48","text":" @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero."},"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"1478:7:48","parameters":{"id":48661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48658,"mutability":"mutable","name":"a","nameLocation":"1493:1:48","nodeType":"VariableDeclaration","scope":48699,"src":"1486:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48657,"name":"int256","nodeType":"ElementaryTypeName","src":"1486:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":48660,"mutability":"mutable","name":"b","nameLocation":"1503:1:48","nodeType":"VariableDeclaration","scope":48699,"src":"1496:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48659,"name":"int256","nodeType":"ElementaryTypeName","src":"1496:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1485:20:48"},"returnParameters":{"id":48664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48699,"src":"1529:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48662,"name":"int256","nodeType":"ElementaryTypeName","src":"1529:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1528:8:48"},"scope":48726,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48725,"nodeType":"FunctionDefinition","src":"1788:822:48","nodes":[],"body":{"id":48724,"nodeType":"Block","src":"1843:767:48","nodes":[],"statements":[{"id":48723,"nodeType":"UncheckedBlock","src":"1853:751:48","statements":[{"assignments":[48708],"declarations":[{"constant":false,"id":48708,"mutability":"mutable","name":"mask","nameLocation":"2424:4:48","nodeType":"VariableDeclaration","scope":48723,"src":"2417:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48707,"name":"int256","nodeType":"ElementaryTypeName","src":"2417:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":48712,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48709,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48702,"src":"2431:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":48710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2436:3:48","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"2431:8:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"2417:22:48"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48715,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48702,"src":"2576:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":48716,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48708,"src":"2580:4:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2576:8:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":48718,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2575:10:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":48719,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48708,"src":"2588:4:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2575:17:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":48714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2567:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":48713,"name":"uint256","nodeType":"ElementaryTypeName","src":"2567:7:48","typeDescriptions":{}}},"id":48721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2567:26:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48706,"id":48722,"nodeType":"Return","src":"2560:33:48"}]}]},"documentation":{"id":48700,"nodeType":"StructuredDocumentation","src":"1705:78:48","text":" @dev Returns the absolute unsigned value of a signed value."},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"1797:3:48","parameters":{"id":48703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48702,"mutability":"mutable","name":"n","nameLocation":"1808:1:48","nodeType":"VariableDeclaration","scope":48725,"src":"1801:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48701,"name":"int256","nodeType":"ElementaryTypeName","src":"1801:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1800:10:48"},"returnParameters":{"id":48706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48705,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48725,"src":"1834:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48704,"name":"uint256","nodeType":"ElementaryTypeName","src":"1834:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1833:9:48"},"scope":48726,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SignedMath","contractDependencies":[],"contractKind":"library","documentation":{"id":48587,"nodeType":"StructuredDocumentation","src":"177:80:48","text":" @dev Standard signed math utilities missing in the Solidity language."},"fullyImplemented":true,"linearizedBaseContracts":[48726],"name":"SignedMath","nameLocation":"266:10:48","scope":48727,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/tstorish/src/Tstorish.sol":{"id":49,"ast":{"absolutePath":"lib/tstorish/src/Tstorish.sol","id":48975,"exportedSymbols":{"Tstorish":[48974]},"nodeType":"SourceUnit","src":"32:9724:49","nodes":[{"id":48728,"nodeType":"PragmaDirective","src":"32:24:49","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":48974,"nodeType":"ContractDefinition","src":"58:9697:49","nodes":[{"id":48730,"nodeType":"VariableDeclaration","src":"188:27:49","nodes":[],"constant":false,"mutability":"mutable","name":"_tstoreSupport","nameLocation":"201:14:49","scope":48974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48729,"name":"bool","nodeType":"ElementaryTypeName","src":"188:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":48733,"nodeType":"VariableDeclaration","src":"1209:66:49","nodes":[],"constant":true,"mutability":"constant","name":"_TLOAD_TEST_PAYLOAD","nameLocation":"1226:19:49","scope":48974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48731,"name":"uint256","nodeType":"ElementaryTypeName","src":"1209:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078363030325f363031655f3631336435635f33645f35325f6633","id":48732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1248:27:49","typeDescriptions":{"typeIdentifier":"t_rational_453391001923826470441715_by_1","typeString":"int_const 453391001923826470441715"},"value":"0x6002_601e_613d5c_3d_52_f3"},"visibility":"internal"},{"id":48736,"nodeType":"VariableDeclaration","src":"1281:50:49","nodes":[],"constant":true,"mutability":"constant","name":"_TLOAD_TEST_PAYLOAD_LENGTH","nameLocation":"1298:26:49","scope":48974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48734,"name":"uint256","nodeType":"ElementaryTypeName","src":"1281:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783061","id":48735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1327:4:49","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"0x0a"},"visibility":"internal"},{"id":48739,"nodeType":"VariableDeclaration","src":"1337:50:49","nodes":[],"constant":true,"mutability":"constant","name":"_TLOAD_TEST_PAYLOAD_OFFSET","nameLocation":"1354:26:49","scope":48974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48737,"name":"uint256","nodeType":"ElementaryTypeName","src":"1337:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783136","id":48738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1383:4:49","typeDescriptions":{"typeIdentifier":"t_rational_22_by_1","typeString":"int_const 22"},"value":"0x16"},"visibility":"internal"},{"id":48741,"nodeType":"VariableDeclaration","src":"1474:44:49","nodes":[],"constant":false,"mutability":"immutable","name":"_tloadTestContract","nameLocation":"1500:18:49","scope":48974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48740,"name":"address","nodeType":"ElementaryTypeName","src":"1474:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":48743,"nodeType":"VariableDeclaration","src":"1606:44:49","nodes":[],"constant":false,"mutability":"immutable","name":"_tstoreInitialSupport","nameLocation":"1629:21:49","scope":48974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48742,"name":"bool","nodeType":"ElementaryTypeName","src":"1606:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":48751,"nodeType":"VariableDeclaration","src":"1802:57:49","nodes":[],"constant":false,"mutability":"immutable","name":"_setTstorish","nameLocation":"1847:12:49","scope":48974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"},"typeName":{"id":48750,"nodeType":"FunctionTypeName","parameterTypes":{"id":48748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48750,"src":"1811:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48744,"name":"uint256","nodeType":"ElementaryTypeName","src":"1811:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48750,"src":"1819:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48746,"name":"uint256","nodeType":"ElementaryTypeName","src":"1819:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1810:17:49"},"returnParameterTypes":{"id":48749,"nodeType":"ParameterList","parameters":[],"src":"1837:0:49"},"src":"1802:44:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"},"visibility":"internal"},"visibility":"internal"},{"id":48759,"nodeType":"VariableDeclaration","src":"2011:72:49","nodes":[],"constant":false,"mutability":"immutable","name":"_getTstorish","nameLocation":"2071:12:49","scope":48974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"},"typeName":{"id":48758,"nodeType":"FunctionTypeName","parameterTypes":{"id":48754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48758,"src":"2020:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48752,"name":"uint256","nodeType":"ElementaryTypeName","src":"2020:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2019:9:49"},"returnParameterTypes":{"id":48757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48758,"src":"2043:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48755,"name":"uint256","nodeType":"ElementaryTypeName","src":"2043:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2042:9:49"},"src":"2011:49:49","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"},"visibility":"internal"},"visibility":"internal"},{"id":48765,"nodeType":"VariableDeclaration","src":"2237:51:49","nodes":[],"constant":false,"mutability":"immutable","name":"_clearTstorish","nameLocation":"2274:14:49","scope":48974,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"},"typeName":{"id":48764,"nodeType":"FunctionTypeName","parameterTypes":{"id":48762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48764,"src":"2246:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48760,"name":"uint256","nodeType":"ElementaryTypeName","src":"2246:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2245:9:49"},"returnParameterTypes":{"id":48763,"nodeType":"ParameterList","parameters":[],"src":"2264:0:49"},"src":"2237:36:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"},"visibility":"internal"},"visibility":"internal"},{"id":48767,"nodeType":"ErrorDefinition","src":"2343:31:49","nodes":[],"errorSelector":"f45b98b0","name":"TStoreAlreadyActivated","nameLocation":"2349:22:49","parameters":{"id":48766,"nodeType":"ParameterList","parameters":[],"src":"2371:2:49"}},{"id":48769,"nodeType":"ErrorDefinition","src":"2379:27:49","nodes":[],"errorSelector":"70a4078f","name":"TStoreNotSupported","nameLocation":"2385:18:49","parameters":{"id":48768,"nodeType":"ParameterList","parameters":[],"src":"2403:2:49"}},{"id":48771,"nodeType":"ErrorDefinition","src":"2411:42:49","nodes":[],"errorSelector":"2aea5887","name":"TloadTestContractDeploymentFailed","nameLocation":"2417:33:49","parameters":{"id":48770,"nodeType":"ParameterList","parameters":[],"src":"2450:2:49"}},{"id":48773,"nodeType":"ErrorDefinition","src":"2458:24:49","nodes":[],"errorSelector":"25994314","name":"OnlyDirectCalls","nameLocation":"2464:15:49","parameters":{"id":48772,"nodeType":"ParameterList","parameters":[],"src":"2479:2:49"}},{"id":48836,"nodeType":"FunctionDefinition","src":"2803:1271:49","nodes":[],"body":{"id":48835,"nodeType":"Block","src":"2817:1257:49","nodes":[],"statements":[{"assignments":[48778],"declarations":[{"constant":false,"id":48778,"mutability":"mutable","name":"tloadTestContract","nameLocation":"2911:17:49","nodeType":"VariableDeclaration","scope":48835,"src":"2903:25:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48777,"name":"address","nodeType":"ElementaryTypeName","src":"2903:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":48781,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":48779,"name":"_prepareTloadTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48951,"src":"2931:17:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":48780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2931:19:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2903:47:49"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48782,"name":"tloadTestContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48778,"src":"3014:17:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":48785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3043:1:49","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":48784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3035:7:49","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48783,"name":"address","nodeType":"ElementaryTypeName","src":"3035:7:49","typeDescriptions":{}}},"id":48786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3035:10:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3014:31:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48792,"nodeType":"IfStatement","src":"3010:104:49","trueBody":{"id":48791,"nodeType":"Block","src":"3047:67:49","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":48788,"name":"TloadTestContractDeploymentFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48771,"src":"3068:33:49","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":48789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3068:35:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48790,"nodeType":"RevertStatement","src":"3061:42:49"}]}},{"assignments":[48794],"declarations":[{"constant":false,"id":48794,"mutability":"mutable","name":"tstoreInitialSupport","nameLocation":"3174:20:49","nodeType":"VariableDeclaration","scope":48835,"src":"3169:25:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48793,"name":"bool","nodeType":"ElementaryTypeName","src":"3169:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":48798,"initialValue":{"arguments":[{"id":48796,"name":"tloadTestContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48778,"src":"3208:17:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":48795,"name":"_testTload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48973,"src":"3197:10:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":48797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3197:29:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"3169:57:49"},{"condition":{"id":48799,"name":"tstoreInitialSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48794,"src":"3241:20:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":48825,"nodeType":"Block","src":"3542:342:49","statements":[{"expression":{"id":48815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48813,"name":"_setTstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48751,"src":"3707:12:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48814,"name":"_setTstorishWithSstoreFallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48897,"src":"3722:30:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"src":"3707:45:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":48816,"nodeType":"ExpressionStatement","src":"3707:45:49"},{"expression":{"id":48819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48817,"name":"_getTstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48759,"src":"3766:12:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48818,"name":"_getTstorishWithSloadFallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48922,"src":"3781:29:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"src":"3766:44:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":48820,"nodeType":"ExpressionStatement","src":"3766:44:49"},{"expression":{"id":48823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48821,"name":"_clearTstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48765,"src":"3824:14:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48822,"name":"_clearTstorishWithSstoreFallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48943,"src":"3841:32:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"src":"3824:49:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":48824,"nodeType":"ExpressionStatement","src":"3824:49:49"}]},"id":48826,"nodeType":"IfStatement","src":"3237:647:49","trueBody":{"id":48812,"nodeType":"Block","src":"3263:273:49","statements":[{"expression":{"id":48802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48800,"name":"_setTstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48751,"src":"3418:12:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48801,"name":"_setTstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48882,"src":"3433:10:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"src":"3418:25:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":48803,"nodeType":"ExpressionStatement","src":"3418:25:49"},{"expression":{"id":48806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48804,"name":"_getTstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48759,"src":"3457:12:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48805,"name":"_getTstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48907,"src":"3472:10:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"src":"3457:25:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":48807,"nodeType":"ExpressionStatement","src":"3457:25:49"},{"expression":{"id":48810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48808,"name":"_clearTstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48765,"src":"3496:14:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48809,"name":"_clearTstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48930,"src":"3513:12:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"src":"3496:29:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":48811,"nodeType":"ExpressionStatement","src":"3496:29:49"}]}},{"expression":{"id":48829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48827,"name":"_tstoreInitialSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48743,"src":"3894:21:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48828,"name":"tstoreInitialSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48794,"src":"3918:20:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3894:44:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48830,"nodeType":"ExpressionStatement","src":"3894:44:49"},{"expression":{"id":48833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48831,"name":"_tloadTestContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48741,"src":"4029:18:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48832,"name":"tloadTestContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48778,"src":"4050:17:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4029:38:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":48834,"nodeType":"ExpressionStatement","src":"4029:38:49"}]},"documentation":{"id":48774,"nodeType":"StructuredDocumentation","src":"2488:310:49","text":" @dev Determine TSTORE availability during deployment. This involves\n attempting to deploy a contract that utilizes TLOAD as part of the\n contract construction bytecode, and configuring initial support for\n using TSTORE in place of SSTORE based on the result."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":48775,"nodeType":"ParameterList","parameters":[],"src":"2814:2:49"},"returnParameters":{"id":48776,"nodeType":"ParameterList","parameters":[],"src":"2817:0:49"},"scope":48974,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":48872,"nodeType":"FunctionDefinition","src":"4491:617:49","nodes":[],"body":{"id":48871,"nodeType":"Block","src":"4528:580:49","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48840,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4621:3:49","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4625:6:49","memberName":"sender","nodeType":"MemberAccess","src":"4621:10:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":48842,"name":"tx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-26,"src":"4635:2:49","typeDescriptions":{"typeIdentifier":"t_magic_transaction","typeString":"tx"}},"id":48843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4638:6:49","memberName":"origin","nodeType":"MemberAccess","src":"4635:9:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4621:23:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48849,"nodeType":"IfStatement","src":"4617:78:49","trueBody":{"id":48848,"nodeType":"Block","src":"4646:49:49","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":48845,"name":"OnlyDirectCalls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48773,"src":"4667:15:49","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":48846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4667:17:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48847,"nodeType":"RevertStatement","src":"4660:24:49"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48850,"name":"_tstoreInitialSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48743,"src":"4770:21:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":48851,"name":"_tstoreSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48730,"src":"4795:14:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4770:39:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48857,"nodeType":"IfStatement","src":"4766:101:49","trueBody":{"id":48856,"nodeType":"Block","src":"4811:56:49","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":48853,"name":"TStoreAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48767,"src":"4832:22:49","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":48854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4832:24:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48855,"nodeType":"RevertStatement","src":"4825:31:49"}]}},{"condition":{"id":48861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4948:31:49","subExpression":{"arguments":[{"id":48859,"name":"_tloadTestContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48741,"src":"4960:18:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":48858,"name":"_testTload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48973,"src":"4949:10:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":48860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4949:30:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48866,"nodeType":"IfStatement","src":"4944:89:49","trueBody":{"id":48865,"nodeType":"Block","src":"4981:52:49","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":48862,"name":"TStoreNotSupported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48769,"src":"5002:18:49","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":48863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5002:20:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48864,"nodeType":"RevertStatement","src":"4995:27:49"}]}},{"expression":{"id":48869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48867,"name":"_tstoreSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48730,"src":"5080:14:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":48868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5097:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5080:21:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48870,"nodeType":"ExpressionStatement","src":"5080:21:49"}]},"documentation":{"id":48837,"nodeType":"StructuredDocumentation","src":"4080:406:49","text":" @dev External function to activate TSTORE usage. Does not need to be\n called if TSTORE is supported from deployment, and only needs to be\n called once. Reverts if TSTORE has already been activated or if the\n opcode is not available. Note that this must be called directly from\n an externally-owned account to avoid potential reentrancy issues."},"functionSelector":"7423eb3c","implemented":true,"kind":"function","modifiers":[],"name":"__activateTstore","nameLocation":"4500:16:49","parameters":{"id":48838,"nodeType":"ParameterList","parameters":[],"src":"4516:2:49"},"returnParameters":{"id":48839,"nodeType":"ParameterList","parameters":[],"src":"4528:0:49"},"scope":48974,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":48882,"nodeType":"FunctionDefinition","src":"5440:139:49","nodes":[],"body":{"id":48881,"nodeType":"Block","src":"5504:75:49","nodes":[],"statements":[{"AST":{"nativeSrc":"5523:50:49","nodeType":"YulBlock","src":"5523:50:49","statements":[{"expression":{"arguments":[{"name":"storageSlot","nativeSrc":"5544:11:49","nodeType":"YulIdentifier","src":"5544:11:49"},{"name":"value","nativeSrc":"5557:5:49","nodeType":"YulIdentifier","src":"5557:5:49"}],"functionName":{"name":"tstore","nativeSrc":"5537:6:49","nodeType":"YulIdentifier","src":"5537:6:49"},"nativeSrc":"5537:26:49","nodeType":"YulFunctionCall","src":"5537:26:49"},"nativeSrc":"5537:26:49","nodeType":"YulExpressionStatement","src":"5537:26:49"}]},"evmVersion":"prague","externalReferences":[{"declaration":48875,"isOffset":false,"isSlot":false,"src":"5544:11:49","valueSize":1},{"declaration":48877,"isOffset":false,"isSlot":false,"src":"5557:5:49","valueSize":1}],"id":48880,"nodeType":"InlineAssembly","src":"5514:59:49"}]},"documentation":{"id":48873,"nodeType":"StructuredDocumentation","src":"5114:321:49","text":" @dev Private function to set a TSTORISH value. Assigned to _setTstorish \n internal function variable at construction if chain has tstore support.\n @param storageSlot The slot to write the TSTORISH value to.\n @param value The value to write to the given storage slot."},"implemented":true,"kind":"function","modifiers":[],"name":"_setTstore","nameLocation":"5449:10:49","parameters":{"id":48878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48875,"mutability":"mutable","name":"storageSlot","nameLocation":"5468:11:49","nodeType":"VariableDeclaration","scope":48882,"src":"5460:19:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48874,"name":"uint256","nodeType":"ElementaryTypeName","src":"5460:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48877,"mutability":"mutable","name":"value","nameLocation":"5489:5:49","nodeType":"VariableDeclaration","scope":48882,"src":"5481:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48876,"name":"uint256","nodeType":"ElementaryTypeName","src":"5481:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5459:36:49"},"returnParameters":{"id":48879,"nodeType":"ParameterList","parameters":[],"src":"5504:0:49"},"scope":48974,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":48897,"nodeType":"FunctionDefinition","src":"5954:308:49","nodes":[],"body":{"id":48896,"nodeType":"Block","src":"6038:224:49","nodes":[],"statements":[{"condition":{"id":48890,"name":"_tstoreSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48730,"src":"6052:14:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":48894,"nodeType":"Block","src":"6165:91:49","statements":[{"AST":{"nativeSrc":"6188:58:49","nodeType":"YulBlock","src":"6188:58:49","statements":[{"expression":{"arguments":[{"name":"storageSlot","nativeSrc":"6213:11:49","nodeType":"YulIdentifier","src":"6213:11:49"},{"name":"value","nativeSrc":"6226:5:49","nodeType":"YulIdentifier","src":"6226:5:49"}],"functionName":{"name":"sstore","nativeSrc":"6206:6:49","nodeType":"YulIdentifier","src":"6206:6:49"},"nativeSrc":"6206:26:49","nodeType":"YulFunctionCall","src":"6206:26:49"},"nativeSrc":"6206:26:49","nodeType":"YulExpressionStatement","src":"6206:26:49"}]},"evmVersion":"prague","externalReferences":[{"declaration":48885,"isOffset":false,"isSlot":false,"src":"6213:11:49","valueSize":1},{"declaration":48887,"isOffset":false,"isSlot":false,"src":"6226:5:49","valueSize":1}],"id":48893,"nodeType":"InlineAssembly","src":"6179:67:49"}]},"id":48895,"nodeType":"IfStatement","src":"6048:208:49","trueBody":{"id":48892,"nodeType":"Block","src":"6068:91:49","statements":[{"AST":{"nativeSrc":"6091:58:49","nodeType":"YulBlock","src":"6091:58:49","statements":[{"expression":{"arguments":[{"name":"storageSlot","nativeSrc":"6116:11:49","nodeType":"YulIdentifier","src":"6116:11:49"},{"name":"value","nativeSrc":"6129:5:49","nodeType":"YulIdentifier","src":"6129:5:49"}],"functionName":{"name":"tstore","nativeSrc":"6109:6:49","nodeType":"YulIdentifier","src":"6109:6:49"},"nativeSrc":"6109:26:49","nodeType":"YulFunctionCall","src":"6109:26:49"},"nativeSrc":"6109:26:49","nodeType":"YulExpressionStatement","src":"6109:26:49"}]},"evmVersion":"prague","externalReferences":[{"declaration":48885,"isOffset":false,"isSlot":false,"src":"6116:11:49","valueSize":1},{"declaration":48887,"isOffset":false,"isSlot":false,"src":"6129:5:49","valueSize":1}],"id":48891,"nodeType":"InlineAssembly","src":"6082:67:49"}]}}]},"documentation":{"id":48883,"nodeType":"StructuredDocumentation","src":"5585:364:49","text":" @dev Private function to set a TSTORISH value with sstore fallback. \n Assigned to _setTstorish internal function variable at construction\n if chain does not have tstore support.\n @param storageSlot The slot to write the TSTORISH value to.\n @param value The value to write to the given storage slot."},"implemented":true,"kind":"function","modifiers":[],"name":"_setTstorishWithSstoreFallback","nameLocation":"5963:30:49","parameters":{"id":48888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48885,"mutability":"mutable","name":"storageSlot","nameLocation":"6002:11:49","nodeType":"VariableDeclaration","scope":48897,"src":"5994:19:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48884,"name":"uint256","nodeType":"ElementaryTypeName","src":"5994:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48887,"mutability":"mutable","name":"value","nameLocation":"6023:5:49","nodeType":"VariableDeclaration","scope":48897,"src":"6015:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48886,"name":"uint256","nodeType":"ElementaryTypeName","src":"6015:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5993:36:49"},"returnParameters":{"id":48889,"nodeType":"ParameterList","parameters":[],"src":"6038:0:49"},"scope":48974,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":48907,"nodeType":"FunctionDefinition","src":"6597:168:49","nodes":[],"body":{"id":48906,"nodeType":"Block","src":"6689:76:49","nodes":[],"statements":[{"AST":{"nativeSrc":"6708:51:49","nodeType":"YulBlock","src":"6708:51:49","statements":[{"nativeSrc":"6722:27:49","nodeType":"YulAssignment","src":"6722:27:49","value":{"arguments":[{"name":"storageSlot","nativeSrc":"6737:11:49","nodeType":"YulIdentifier","src":"6737:11:49"}],"functionName":{"name":"tload","nativeSrc":"6731:5:49","nodeType":"YulIdentifier","src":"6731:5:49"},"nativeSrc":"6731:18:49","nodeType":"YulFunctionCall","src":"6731:18:49"},"variableNames":[{"name":"value","nativeSrc":"6722:5:49","nodeType":"YulIdentifier","src":"6722:5:49"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":48900,"isOffset":false,"isSlot":false,"src":"6737:11:49","valueSize":1},{"declaration":48903,"isOffset":false,"isSlot":false,"src":"6722:5:49","valueSize":1}],"id":48905,"nodeType":"InlineAssembly","src":"6699:60:49"}]},"documentation":{"id":48898,"nodeType":"StructuredDocumentation","src":"6268:324:49","text":" @dev Private function to read a TSTORISH value. Assigned to _getTstorish\n internal function variable at construction if chain has tstore support.\n @param storageSlot The slot to read the TSTORISH value from.\n @return value The TSTORISH value at the given storage slot."},"implemented":true,"kind":"function","modifiers":[],"name":"_getTstore","nameLocation":"6606:10:49","parameters":{"id":48901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48900,"mutability":"mutable","name":"storageSlot","nameLocation":"6634:11:49","nodeType":"VariableDeclaration","scope":48907,"src":"6626:19:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48899,"name":"uint256","nodeType":"ElementaryTypeName","src":"6626:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6616:35:49"},"returnParameters":{"id":48904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48903,"mutability":"mutable","name":"value","nameLocation":"6682:5:49","nodeType":"VariableDeclaration","scope":48907,"src":"6674:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48902,"name":"uint256","nodeType":"ElementaryTypeName","src":"6674:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6673:15:49"},"scope":48974,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":48922,"nodeType":"FunctionDefinition","src":"7143:337:49","nodes":[],"body":{"id":48921,"nodeType":"Block","src":"7254:226:49","nodes":[],"statements":[{"condition":{"id":48915,"name":"_tstoreSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48730,"src":"7268:14:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":48919,"nodeType":"Block","src":"7382:92:49","statements":[{"AST":{"nativeSrc":"7405:59:49","nodeType":"YulBlock","src":"7405:59:49","statements":[{"nativeSrc":"7423:27:49","nodeType":"YulAssignment","src":"7423:27:49","value":{"arguments":[{"name":"storageSlot","nativeSrc":"7438:11:49","nodeType":"YulIdentifier","src":"7438:11:49"}],"functionName":{"name":"sload","nativeSrc":"7432:5:49","nodeType":"YulIdentifier","src":"7432:5:49"},"nativeSrc":"7432:18:49","nodeType":"YulFunctionCall","src":"7432:18:49"},"variableNames":[{"name":"value","nativeSrc":"7423:5:49","nodeType":"YulIdentifier","src":"7423:5:49"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":48910,"isOffset":false,"isSlot":false,"src":"7438:11:49","valueSize":1},{"declaration":48913,"isOffset":false,"isSlot":false,"src":"7423:5:49","valueSize":1}],"id":48918,"nodeType":"InlineAssembly","src":"7396:68:49"}]},"id":48920,"nodeType":"IfStatement","src":"7264:210:49","trueBody":{"id":48917,"nodeType":"Block","src":"7284:92:49","statements":[{"AST":{"nativeSrc":"7307:59:49","nodeType":"YulBlock","src":"7307:59:49","statements":[{"nativeSrc":"7325:27:49","nodeType":"YulAssignment","src":"7325:27:49","value":{"arguments":[{"name":"storageSlot","nativeSrc":"7340:11:49","nodeType":"YulIdentifier","src":"7340:11:49"}],"functionName":{"name":"tload","nativeSrc":"7334:5:49","nodeType":"YulIdentifier","src":"7334:5:49"},"nativeSrc":"7334:18:49","nodeType":"YulFunctionCall","src":"7334:18:49"},"variableNames":[{"name":"value","nativeSrc":"7325:5:49","nodeType":"YulIdentifier","src":"7325:5:49"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":48910,"isOffset":false,"isSlot":false,"src":"7340:11:49","valueSize":1},{"declaration":48913,"isOffset":false,"isSlot":false,"src":"7325:5:49","valueSize":1}],"id":48916,"nodeType":"InlineAssembly","src":"7298:68:49"}]}}]},"documentation":{"id":48908,"nodeType":"StructuredDocumentation","src":"6771:367:49","text":" @dev Private function to read a TSTORISH value with sload fallback. \n Assigned to _getTstorish internal function variable at construction\n if chain does not have tstore support.\n @param storageSlot The slot to read the TSTORISH value from.\n @return value The TSTORISH value at the given storage slot."},"implemented":true,"kind":"function","modifiers":[],"name":"_getTstorishWithSloadFallback","nameLocation":"7152:29:49","parameters":{"id":48911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48910,"mutability":"mutable","name":"storageSlot","nameLocation":"7199:11:49","nodeType":"VariableDeclaration","scope":48922,"src":"7191:19:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48909,"name":"uint256","nodeType":"ElementaryTypeName","src":"7191:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7181:35:49"},"returnParameters":{"id":48914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48913,"mutability":"mutable","name":"value","nameLocation":"7247:5:49","nodeType":"VariableDeclaration","scope":48922,"src":"7239:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48912,"name":"uint256","nodeType":"ElementaryTypeName","src":"7239:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7238:15:49"},"scope":48974,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":48930,"nodeType":"FunctionDefinition","src":"7745:122:49","nodes":[],"body":{"id":48929,"nodeType":"Block","src":"7796:71:49","nodes":[],"statements":[{"AST":{"nativeSrc":"7815:46:49","nodeType":"YulBlock","src":"7815:46:49","statements":[{"expression":{"arguments":[{"name":"storageSlot","nativeSrc":"7836:11:49","nodeType":"YulIdentifier","src":"7836:11:49"},{"kind":"number","nativeSrc":"7849:1:49","nodeType":"YulLiteral","src":"7849:1:49","type":"","value":"0"}],"functionName":{"name":"tstore","nativeSrc":"7829:6:49","nodeType":"YulIdentifier","src":"7829:6:49"},"nativeSrc":"7829:22:49","nodeType":"YulFunctionCall","src":"7829:22:49"},"nativeSrc":"7829:22:49","nodeType":"YulExpressionStatement","src":"7829:22:49"}]},"evmVersion":"prague","externalReferences":[{"declaration":48925,"isOffset":false,"isSlot":false,"src":"7836:11:49","valueSize":1}],"id":48928,"nodeType":"InlineAssembly","src":"7806:55:49"}]},"documentation":{"id":48923,"nodeType":"StructuredDocumentation","src":"7486:254:49","text":" @dev Private function to clear a TSTORISH value. Assigned to _clearTstorish internal \n function variable at construction if chain has tstore support.\n @param storageSlot The slot to clear the TSTORISH value for."},"implemented":true,"kind":"function","modifiers":[],"name":"_clearTstore","nameLocation":"7754:12:49","parameters":{"id":48926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48925,"mutability":"mutable","name":"storageSlot","nameLocation":"7775:11:49","nodeType":"VariableDeclaration","scope":48930,"src":"7767:19:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48924,"name":"uint256","nodeType":"ElementaryTypeName","src":"7767:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7766:21:49"},"returnParameters":{"id":48927,"nodeType":"ParameterList","parameters":[],"src":"7796:0:49"},"scope":48974,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":48943,"nodeType":"FunctionDefinition","src":"8175:287:49","nodes":[],"body":{"id":48942,"nodeType":"Block","src":"8246:216:49","nodes":[],"statements":[{"condition":{"id":48936,"name":"_tstoreSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48730,"src":"8260:14:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":48940,"nodeType":"Block","src":"8369:87:49","statements":[{"AST":{"nativeSrc":"8392:54:49","nodeType":"YulBlock","src":"8392:54:49","statements":[{"expression":{"arguments":[{"name":"storageSlot","nativeSrc":"8417:11:49","nodeType":"YulIdentifier","src":"8417:11:49"},{"kind":"number","nativeSrc":"8430:1:49","nodeType":"YulLiteral","src":"8430:1:49","type":"","value":"0"}],"functionName":{"name":"sstore","nativeSrc":"8410:6:49","nodeType":"YulIdentifier","src":"8410:6:49"},"nativeSrc":"8410:22:49","nodeType":"YulFunctionCall","src":"8410:22:49"},"nativeSrc":"8410:22:49","nodeType":"YulExpressionStatement","src":"8410:22:49"}]},"evmVersion":"prague","externalReferences":[{"declaration":48933,"isOffset":false,"isSlot":false,"src":"8417:11:49","valueSize":1}],"id":48939,"nodeType":"InlineAssembly","src":"8383:63:49"}]},"id":48941,"nodeType":"IfStatement","src":"8256:200:49","trueBody":{"id":48938,"nodeType":"Block","src":"8276:87:49","statements":[{"AST":{"nativeSrc":"8299:54:49","nodeType":"YulBlock","src":"8299:54:49","statements":[{"expression":{"arguments":[{"name":"storageSlot","nativeSrc":"8324:11:49","nodeType":"YulIdentifier","src":"8324:11:49"},{"kind":"number","nativeSrc":"8337:1:49","nodeType":"YulLiteral","src":"8337:1:49","type":"","value":"0"}],"functionName":{"name":"tstore","nativeSrc":"8317:6:49","nodeType":"YulIdentifier","src":"8317:6:49"},"nativeSrc":"8317:22:49","nodeType":"YulFunctionCall","src":"8317:22:49"},"nativeSrc":"8317:22:49","nodeType":"YulExpressionStatement","src":"8317:22:49"}]},"evmVersion":"prague","externalReferences":[{"declaration":48933,"isOffset":false,"isSlot":false,"src":"8324:11:49","valueSize":1}],"id":48937,"nodeType":"InlineAssembly","src":"8290:63:49"}]}}]},"documentation":{"id":48931,"nodeType":"StructuredDocumentation","src":"7873:297:49","text":" @dev Private function to clear a TSTORISH value with sstore fallback. \n Assigned to _clearTstorish internal function variable at construction\n if chain does not have tstore support.\n @param storageSlot The slot to clear the TSTORISH value for."},"implemented":true,"kind":"function","modifiers":[],"name":"_clearTstorishWithSstoreFallback","nameLocation":"8184:32:49","parameters":{"id":48934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48933,"mutability":"mutable","name":"storageSlot","nameLocation":"8225:11:49","nodeType":"VariableDeclaration","scope":48943,"src":"8217:19:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48932,"name":"uint256","nodeType":"ElementaryTypeName","src":"8217:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8216:21:49"},"returnParameters":{"id":48935,"nodeType":"ParameterList","parameters":[],"src":"8246:0:49"},"scope":48974,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":48951,"nodeType":"FunctionDefinition","src":"8602:494:49","nodes":[],"body":{"id":48950,"nodeType":"Block","src":"8673:423:49","nodes":[],"statements":[{"AST":{"nativeSrc":"8764:326:49","nodeType":"YulBlock","src":"8764:326:49","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8861:1:49","nodeType":"YulLiteral","src":"8861:1:49","type":"","value":"0"},{"name":"_TLOAD_TEST_PAYLOAD","nativeSrc":"8864:19:49","nodeType":"YulIdentifier","src":"8864:19:49"}],"functionName":{"name":"mstore","nativeSrc":"8854:6:49","nodeType":"YulIdentifier","src":"8854:6:49"},"nativeSrc":"8854:30:49","nodeType":"YulFunctionCall","src":"8854:30:49"},"nativeSrc":"8854:30:49","nodeType":"YulExpressionStatement","src":"8854:30:49"},{"nativeSrc":"8934:146:49","nodeType":"YulAssignment","src":"8934:146:49","value":{"arguments":[{"kind":"number","nativeSrc":"8977:1:49","nodeType":"YulLiteral","src":"8977:1:49","type":"","value":"0"},{"name":"_TLOAD_TEST_PAYLOAD_OFFSET","nativeSrc":"8996:26:49","nodeType":"YulIdentifier","src":"8996:26:49"},{"name":"_TLOAD_TEST_PAYLOAD_LENGTH","nativeSrc":"9040:26:49","nodeType":"YulIdentifier","src":"9040:26:49"}],"functionName":{"name":"create","nativeSrc":"8953:6:49","nodeType":"YulIdentifier","src":"8953:6:49"},"nativeSrc":"8953:127:49","nodeType":"YulFunctionCall","src":"8953:127:49"},"variableNames":[{"name":"contractAddress","nativeSrc":"8934:15:49","nodeType":"YulIdentifier","src":"8934:15:49"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":48733,"isOffset":false,"isSlot":false,"src":"8864:19:49","valueSize":1},{"declaration":48736,"isOffset":false,"isSlot":false,"src":"9040:26:49","valueSize":1},{"declaration":48739,"isOffset":false,"isSlot":false,"src":"8996:26:49","valueSize":1},{"declaration":48947,"isOffset":false,"isSlot":false,"src":"8934:15:49","valueSize":1}],"id":48949,"nodeType":"InlineAssembly","src":"8755:335:49"}]},"documentation":{"id":48944,"nodeType":"StructuredDocumentation","src":"8468:129:49","text":" @dev Private function to deploy a test contract that utilizes TLOAD as\n part of its fallback logic."},"implemented":true,"kind":"function","modifiers":[],"name":"_prepareTloadTest","nameLocation":"8611:17:49","parameters":{"id":48945,"nodeType":"ParameterList","parameters":[],"src":"8628:2:49"},"returnParameters":{"id":48948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48947,"mutability":"mutable","name":"contractAddress","nameLocation":"8656:15:49","nodeType":"VariableDeclaration","scope":48951,"src":"8648:23:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48946,"name":"address","nodeType":"ElementaryTypeName","src":"8648:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8647:25:49"},"scope":48974,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":48973,"nodeType":"FunctionDefinition","src":"9346:407:49","nodes":[],"body":{"id":48972,"nodeType":"Block","src":"9438:315:49","nodes":[],"statements":[{"expression":{"id":48970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":48959,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48957,"src":"9683:2:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null],"id":48960,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"9682:6:49","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$","typeString":"tuple(bool,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"","id":48968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9743:2:49","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":48961,"name":"tloadTestContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48954,"src":"9691:17:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":48962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9709:10:49","memberName":"staticcall","nodeType":"MemberAccess","src":"9691:28:49","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":48967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["gas"],"nodeType":"FunctionCallOptions","options":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":48963,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"9726:7:49","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":48964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9726:9:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3130","id":48965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9738:2:49","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"9726:14:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9691:51:49","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gas","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":48969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9691:55:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"9682:64:49","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48971,"nodeType":"ExpressionStatement","src":"9682:64:49"}]},"documentation":{"id":48952,"nodeType":"StructuredDocumentation","src":"9102:239:49","text":" @dev Private view function to determine if TSTORE/TLOAD are supported by\n the current EVM implementation by attempting to call the test\n contract, which utilizes TLOAD as part of its fallback logic."},"implemented":true,"kind":"function","modifiers":[],"name":"_testTload","nameLocation":"9355:10:49","parameters":{"id":48955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48954,"mutability":"mutable","name":"tloadTestContract","nameLocation":"9383:17:49","nodeType":"VariableDeclaration","scope":48973,"src":"9375:25:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48953,"name":"address","nodeType":"ElementaryTypeName","src":"9375:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9365:41:49"},"returnParameters":{"id":48958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48957,"mutability":"mutable","name":"ok","nameLocation":"9434:2:49","nodeType":"VariableDeclaration","scope":48973,"src":"9429:7:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48956,"name":"bool","nodeType":"ElementaryTypeName","src":"9429:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9428:9:49"},"scope":48974,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"Tstorish","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"internalFunctionIDs":{"48882":1,"48897":2,"48907":3,"48922":4,"48930":5,"48943":6},"linearizedBaseContracts":[48974],"name":"Tstorish","nameLocation":"67:8:49","scope":48975,"usedErrors":[48767,48769,48771,48773],"usedEvents":[]}],"license":"MIT"}},"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol":{"id":50,"ast":{"absolutePath":"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol","id":48995,"exportedSymbols":{"IDelegatedExtension":[48994]},"nodeType":"SourceUnit","src":"39:626:50","nodes":[{"id":48976,"nodeType":"PragmaDirective","src":"39:24:50","nodes":[],"literals":["solidity","^","0.8",".27"]},{"id":48994,"nodeType":"ContractDefinition","src":"181:483:50","nodes":[{"id":48993,"nodeType":"FunctionDefinition","src":"476:185:50","nodes":[],"documentation":{"id":48978,"nodeType":"StructuredDocumentation","src":"216:257:50","text":"@notice Handle a sequence delegate call\n @param _opHash The operation hash\n @param _startingGas The starting gas\n @param _index The index\n @param _numCalls The number of calls\n @param _space The space\n @param _data The data"},"functionSelector":"4c4e814c","implemented":false,"kind":"function","modifiers":[],"name":"handleSequenceDelegateCall","nameLocation":"485:26:50","parameters":{"id":48991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48980,"mutability":"mutable","name":"_opHash","nameLocation":"525:7:50","nodeType":"VariableDeclaration","scope":48993,"src":"517:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"517:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":48982,"mutability":"mutable","name":"_startingGas","nameLocation":"546:12:50","nodeType":"VariableDeclaration","scope":48993,"src":"538:20:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48981,"name":"uint256","nodeType":"ElementaryTypeName","src":"538:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48984,"mutability":"mutable","name":"_index","nameLocation":"572:6:50","nodeType":"VariableDeclaration","scope":48993,"src":"564:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48983,"name":"uint256","nodeType":"ElementaryTypeName","src":"564:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48986,"mutability":"mutable","name":"_numCalls","nameLocation":"592:9:50","nodeType":"VariableDeclaration","scope":48993,"src":"584:17:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48985,"name":"uint256","nodeType":"ElementaryTypeName","src":"584:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48988,"mutability":"mutable","name":"_space","nameLocation":"615:6:50","nodeType":"VariableDeclaration","scope":48993,"src":"607:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48987,"name":"uint256","nodeType":"ElementaryTypeName","src":"607:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48990,"mutability":"mutable","name":"_data","nameLocation":"642:5:50","nodeType":"VariableDeclaration","scope":48993,"src":"627:20:50","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":48989,"name":"bytes","nodeType":"ElementaryTypeName","src":"627:5:50","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"511:140:50"},"returnParameters":{"id":48992,"nodeType":"ParameterList","parameters":[],"src":"660:0:50"},"scope":48994,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IDelegatedExtension","contractDependencies":[],"contractKind":"interface","documentation":{"id":48977,"nodeType":"StructuredDocumentation","src":"65:116:50","text":"@title IDelegatedExtension\n @author Agustin Aguilar\n @notice Interface for the delegated extension module"},"fullyImplemented":false,"linearizedBaseContracts":[48994],"name":"IDelegatedExtension","nameLocation":"191:19:50","scope":48995,"usedErrors":[],"usedEvents":[]}],"license":"Apache-2.0"}},"script/TrailsIntentEntrypoint.s.sol":{"id":51,"ast":{"absolutePath":"script/TrailsIntentEntrypoint.s.sol","id":49060,"exportedSymbols":{"Deploy":[49059],"SingletonDeployer":[210],"TrailsIntentEntrypoint":[49680],"console":[26795]},"nodeType":"SourceUnit","src":"32:983:51","nodes":[{"id":48996,"nodeType":"PragmaDirective","src":"32:24:51","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":48999,"nodeType":"ImportDirective","src":"58:87:51","nodes":[],"absolutePath":"lib/erc2470-libs/script/SingletonDeployer.s.sol","file":"erc2470-libs/script/SingletonDeployer.s.sol","nameLocation":"-1:-1:-1","scope":49060,"sourceUnit":211,"symbolAliases":[{"foreign":{"id":48997,"name":"SingletonDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"66:17:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":48998,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"85:7:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49001,"nodeType":"ImportDirective","src":"146:73:51","nodes":[],"absolutePath":"src/TrailsIntentEntrypoint.sol","file":"../src/TrailsIntentEntrypoint.sol","nameLocation":"-1:-1:-1","scope":49060,"sourceUnit":49681,"symbolAliases":[{"foreign":{"id":49000,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"154:22:51","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49059,"nodeType":"ContractDefinition","src":"221:793:51","nodes":[{"id":49058,"nodeType":"FunctionDefinition","src":"438:574:51","nodes":[],"body":{"id":49057,"nodeType":"Block","src":"462:550:51","nodes":[],"statements":[{"assignments":[49007],"declarations":[{"constant":false,"id":49007,"mutability":"mutable","name":"privateKey","nameLocation":"480:10:51","nodeType":"VariableDeclaration","scope":49057,"src":"472:18:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49006,"name":"uint256","nodeType":"ElementaryTypeName","src":"472:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49012,"initialValue":{"arguments":[{"hexValue":"505249564154455f4b4559","id":49010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"504:13:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""}],"expression":{"id":49008,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"493:2:51","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":49009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"496:7:51","memberName":"envUint","nodeType":"MemberAccess","referencedDeclaration":14280,"src":"493:10:51","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":49011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"493:25:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"472:46:51"},{"assignments":[49014],"declarations":[{"constant":false,"id":49014,"mutability":"mutable","name":"deployerAddress","nameLocation":"536:15:51","nodeType":"VariableDeclaration","scope":49057,"src":"528:23:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49013,"name":"address","nodeType":"ElementaryTypeName","src":"528:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49019,"initialValue":{"arguments":[{"id":49017,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49007,"src":"562:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49015,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"554:2:51","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":49016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"557:4:51","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":14336,"src":"554:7:51","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":49018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"554:19:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"528:45:51"},{"expression":{"arguments":[{"hexValue":"4465706c6f79657220416464726573733a","id":49023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"595:19:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},"value":"Deployer Address:"},{"id":49024,"name":"deployerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49014,"src":"616:15:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49020,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"583:7:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":49022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"591:3:51","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19490,"src":"583:11:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":49025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"583:49:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49026,"nodeType":"ExpressionStatement","src":"583:49:51"},{"assignments":[49028],"declarations":[{"constant":false,"id":49028,"mutability":"mutable","name":"salt","nameLocation":"651:4:51","nodeType":"VariableDeclaration","scope":49057,"src":"643:12:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"643:7:51","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49033,"initialValue":{"arguments":[{"hexValue":"30","id":49031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"666:1:51","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":49030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"658:7:51","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":49029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"658:7:51","typeDescriptions":{}}},"id":49032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"658:10:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"643:25:51"},{"assignments":[49035],"declarations":[{"constant":false,"id":49035,"mutability":"mutable","name":"initCode","nameLocation":"782:8:51","nodeType":"VariableDeclaration","scope":49057,"src":"769:21:51","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49034,"name":"bytes","nodeType":"ElementaryTypeName","src":"769:5:51","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":49040,"initialValue":{"expression":{"arguments":[{"id":49037,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"798:22:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}],"id":49036,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"793:4:51","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"793:28:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_TrailsIntentEntrypoint_$49680","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":49039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"822:12:51","memberName":"creationCode","nodeType":"MemberAccess","src":"793:41:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"769:65:51"},{"assignments":[49042],"declarations":[{"constant":false,"id":49042,"mutability":"mutable","name":"sweeper","nameLocation":"852:7:51","nodeType":"VariableDeclaration","scope":49057,"src":"844:15:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49041,"name":"address","nodeType":"ElementaryTypeName","src":"844:7:51","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49049,"initialValue":{"arguments":[{"hexValue":"547261696c73496e74656e74456e747279706f696e74","id":49044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"882:24:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f5","typeString":"literal_string \"TrailsIntentEntrypoint\""},"value":"TrailsIntentEntrypoint"},{"id":49045,"name":"initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49035,"src":"908:8:51","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":49046,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49028,"src":"918:4:51","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49047,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49007,"src":"924:10:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f5","typeString":"literal_string \"TrailsIntentEntrypoint\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49043,"name":"_deployIfNotAlready","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":172,"src":"862:19:51","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_address_$","typeString":"function (string memory,bytes memory,bytes32,uint256) returns (address)"}},"id":49048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"862:73:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"844:91:51"},{"expression":{"arguments":[{"hexValue":"547261696c73496e74656e74456e747279706f696e74206465706c6f7965642061743a","id":49053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"958:37:51","typeDescriptions":{"typeIdentifier":"t_stringliteral_01db402151cb2ca235786c0d4724659ddd0807c8a0dd6a2729cfcc09284ebd2e","typeString":"literal_string \"TrailsIntentEntrypoint deployed at:\""},"value":"TrailsIntentEntrypoint deployed at:"},{"id":49054,"name":"sweeper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49042,"src":"997:7:51","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_01db402151cb2ca235786c0d4724659ddd0807c8a0dd6a2729cfcc09284ebd2e","typeString":"literal_string \"TrailsIntentEntrypoint deployed at:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49050,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"946:7:51","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":49052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"954:3:51","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19490,"src":"946:11:51","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":49055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"946:59:51","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49056,"nodeType":"ExpressionStatement","src":"946:59:51"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"447:3:51","parameters":{"id":49004,"nodeType":"ParameterList","parameters":[],"src":"450:2:51"},"returnParameters":{"id":49005,"nodeType":"ParameterList","parameters":[],"src":"462:0:51"},"scope":49059,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":49002,"name":"SingletonDeployer","nameLocations":["240:17:51"],"nodeType":"IdentifierPath","referencedDeclaration":210,"src":"240:17:51"},"id":49003,"nodeType":"InheritanceSpecifier","src":"240:17:51"}],"canonicalName":"Deploy","contractDependencies":[49680],"contractKind":"contract","fullyImplemented":true,"internalFunctionIDs":{"18695":1},"linearizedBaseContracts":[49059,210,335,13420,6247,4157,294,282],"name":"Deploy","nameLocation":"230:6:51","scope":49060,"usedErrors":[14],"usedEvents":[]}],"license":"MIT"}},"script/TrailsRouter.s.sol":{"id":52,"ast":{"absolutePath":"script/TrailsRouter.s.sol","id":49152,"exportedSymbols":{"Deploy":[49151],"SingletonDeployer":[210],"TrailsRouter":[50972],"console":[26795]},"nodeType":"SourceUnit","src":"32:1312:52","nodes":[{"id":49061,"nodeType":"PragmaDirective","src":"32:24:52","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":49064,"nodeType":"ImportDirective","src":"58:87:52","nodes":[],"absolutePath":"lib/erc2470-libs/script/SingletonDeployer.s.sol","file":"erc2470-libs/script/SingletonDeployer.s.sol","nameLocation":"-1:-1:-1","scope":49152,"sourceUnit":211,"symbolAliases":[{"foreign":{"id":49062,"name":"SingletonDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"66:17:52","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":49063,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"85:7:52","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49066,"nodeType":"ImportDirective","src":"146:53:52","nodes":[],"absolutePath":"src/TrailsRouter.sol","file":"../src/TrailsRouter.sol","nameLocation":"-1:-1:-1","scope":49152,"sourceUnit":50973,"symbolAliases":[{"foreign":{"id":49065,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"154:12:52","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49151,"nodeType":"ContractDefinition","src":"201:1142:52","nodes":[{"id":49106,"nodeType":"FunctionDefinition","src":"418:287:52","nodes":[],"body":{"id":49105,"nodeType":"Block","src":"442:263:52","nodes":[],"statements":[{"assignments":[49072],"declarations":[{"constant":false,"id":49072,"mutability":"mutable","name":"pk","nameLocation":"460:2:52","nodeType":"VariableDeclaration","scope":49105,"src":"452:10:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49071,"name":"uint256","nodeType":"ElementaryTypeName","src":"452:7:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49077,"initialValue":{"arguments":[{"hexValue":"505249564154455f4b4559","id":49075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"476:13:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""}],"expression":{"id":49073,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"465:2:52","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":49074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"468:7:52","memberName":"envUint","nodeType":"MemberAccess","referencedDeclaration":14280,"src":"465:10:52","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":49076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"465:25:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"452:38:52"},{"assignments":[49079],"declarations":[{"constant":false,"id":49079,"mutability":"mutable","name":"deployerAddress","nameLocation":"508:15:52","nodeType":"VariableDeclaration","scope":49105,"src":"500:23:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49078,"name":"address","nodeType":"ElementaryTypeName","src":"500:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49084,"initialValue":{"arguments":[{"id":49082,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49072,"src":"534:2:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49080,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"526:2:52","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":49081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"529:4:52","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":14336,"src":"526:7:52","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":49083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"526:11:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"500:37:52"},{"expression":{"arguments":[{"hexValue":"4465706c6f79657220416464726573733a","id":49088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"559:19:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},"value":"Deployer Address:"},{"id":49089,"name":"deployerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49079,"src":"580:15:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49085,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"547:7:52","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":49087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"555:3:52","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19490,"src":"547:11:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":49090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"547:49:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49091,"nodeType":"ExpressionStatement","src":"547:49:52"},{"assignments":[49093],"declarations":[{"constant":false,"id":49093,"mutability":"mutable","name":"router","nameLocation":"615:6:52","nodeType":"VariableDeclaration","scope":49105,"src":"607:14:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49092,"name":"address","nodeType":"ElementaryTypeName","src":"607:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49097,"initialValue":{"arguments":[{"id":49095,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49072,"src":"637:2:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49094,"name":"deployRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49150,"src":"624:12:52","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) returns (address)"}},"id":49096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"624:16:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"607:33:52"},{"expression":{"arguments":[{"hexValue":"547261696c73526f75746572206465706c6f7965642061743a","id":49101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"662:27:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff6e0c998b52b8a6c18a1176cb6d2269cb31392fe97d0606f0e4bbfcb2962c83","typeString":"literal_string \"TrailsRouter deployed at:\""},"value":"TrailsRouter deployed at:"},{"id":49102,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49093,"src":"691:6:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ff6e0c998b52b8a6c18a1176cb6d2269cb31392fe97d0606f0e4bbfcb2962c83","typeString":"literal_string \"TrailsRouter deployed at:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49098,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"650:7:52","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":49100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"658:3:52","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19490,"src":"650:11:52","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":49103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"650:48:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49104,"nodeType":"ExpressionStatement","src":"650:48:52"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"427:3:52","parameters":{"id":49069,"nodeType":"ParameterList","parameters":[],"src":"430:2:52"},"returnParameters":{"id":49070,"nodeType":"ParameterList","parameters":[],"src":"442:0:52"},"scope":49151,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":49150,"nodeType":"FunctionDefinition","src":"895:446:52","nodes":[],"body":{"id":49149,"nodeType":"Block","src":"954:387:52","nodes":[],"statements":[{"assignments":[49114],"declarations":[{"constant":false,"id":49114,"mutability":"mutable","name":"salt","nameLocation":"972:4:52","nodeType":"VariableDeclaration","scope":49149,"src":"964:12:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49113,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:52","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49119,"initialValue":{"arguments":[{"hexValue":"30","id":49117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"987:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":49116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"979:7:52","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":49115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"979:7:52","typeDescriptions":{}}},"id":49118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"979:10:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"964:25:52"},{"assignments":[49121],"declarations":[{"constant":false,"id":49121,"mutability":"mutable","name":"multicall3","nameLocation":"1007:10:52","nodeType":"VariableDeclaration","scope":49149,"src":"999:18:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49120,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49123,"initialValue":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":49122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1020:42:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"nodeType":"VariableDeclarationStatement","src":"999:63:52"},{"assignments":[49125],"declarations":[{"constant":false,"id":49125,"mutability":"mutable","name":"initCode","nameLocation":"1144:8:52","nodeType":"VariableDeclaration","scope":49149,"src":"1131:21:52","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49124,"name":"bytes","nodeType":"ElementaryTypeName","src":"1131:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":49137,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":49129,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"1177:12:52","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}],"id":49128,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1172:4:52","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1172:18:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_TrailsRouter_$50972","typeString":"type(contract TrailsRouter)"}},"id":49131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1191:12:52","memberName":"creationCode","nodeType":"MemberAccess","src":"1172:31:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":49134,"name":"multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49121,"src":"1216:10:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49132,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1205:3:52","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1209:6:52","memberName":"encode","nodeType":"MemberAccess","src":"1205:10:52","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":49135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1205:22:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":49126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1155:3:52","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1159:12:52","memberName":"encodePacked","nodeType":"MemberAccess","src":"1155:16:52","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":49136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1155:73:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1131:97:52"},{"assignments":[49139],"declarations":[{"constant":false,"id":49139,"mutability":"mutable","name":"router","nameLocation":"1246:6:52","nodeType":"VariableDeclaration","scope":49149,"src":"1238:14:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49138,"name":"address","nodeType":"ElementaryTypeName","src":"1238:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49146,"initialValue":{"arguments":[{"hexValue":"547261696c73526f75746572","id":49141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1275:14:52","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a64165688f3dd4df236c4c226a75c5fb6b4cf781f4df11c9fd382cde570d4a0","typeString":"literal_string \"TrailsRouter\""},"value":"TrailsRouter"},{"id":49142,"name":"initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49125,"src":"1291:8:52","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":49143,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49114,"src":"1301:4:52","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49144,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49108,"src":"1307:2:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a64165688f3dd4df236c4c226a75c5fb6b4cf781f4df11c9fd382cde570d4a0","typeString":"literal_string \"TrailsRouter\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49140,"name":"_deployIfNotAlready","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":172,"src":"1255:19:52","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_address_$","typeString":"function (string memory,bytes memory,bytes32,uint256) returns (address)"}},"id":49145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1255:55:52","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1238:72:52"},{"expression":{"id":49147,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49139,"src":"1328:6:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":49112,"id":49148,"nodeType":"Return","src":"1321:13:52"}]},"functionSelector":"f0c9a429","implemented":true,"kind":"function","modifiers":[],"name":"deployRouter","nameLocation":"904:12:52","parameters":{"id":49109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49108,"mutability":"mutable","name":"pk","nameLocation":"925:2:52","nodeType":"VariableDeclaration","scope":49150,"src":"917:10:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49107,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"916:12:52"},"returnParameters":{"id":49112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49150,"src":"945:7:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49110,"name":"address","nodeType":"ElementaryTypeName","src":"945:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"944:9:52"},"scope":49151,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":49067,"name":"SingletonDeployer","nameLocations":["220:17:52"],"nodeType":"IdentifierPath","referencedDeclaration":210,"src":"220:17:52"},"id":49068,"nodeType":"InheritanceSpecifier","src":"220:17:52"}],"canonicalName":"Deploy","contractDependencies":[50972],"contractKind":"contract","fullyImplemented":true,"internalFunctionIDs":{"18695":1},"linearizedBaseContracts":[49151,210,335,13420,6247,4157,294,282],"name":"Deploy","nameLocation":"210:6:52","scope":49152,"usedErrors":[14],"usedEvents":[]}],"license":"MIT"}},"script/TrailsRouterShim.s.sol":{"id":53,"ast":{"absolutePath":"script/TrailsRouterShim.s.sol","id":49255,"exportedSymbols":{"Deploy":[49254],"SingletonDeployer":[210],"TrailsRouterDeploy":[49151],"TrailsRouterShim":[51106],"console":[26795]},"nodeType":"SourceUnit","src":"32:1591:53","nodes":[{"id":49153,"nodeType":"PragmaDirective","src":"32:24:53","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":49156,"nodeType":"ImportDirective","src":"58:87:53","nodes":[],"absolutePath":"lib/erc2470-libs/script/SingletonDeployer.s.sol","file":"erc2470-libs/script/SingletonDeployer.s.sol","nameLocation":"-1:-1:-1","scope":49255,"sourceUnit":211,"symbolAliases":[{"foreign":{"id":49154,"name":"SingletonDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"66:17:53","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":49155,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"85:7:53","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49158,"nodeType":"ImportDirective","src":"146:61:53","nodes":[],"absolutePath":"src/TrailsRouterShim.sol","file":"../src/TrailsRouterShim.sol","nameLocation":"-1:-1:-1","scope":49255,"sourceUnit":51107,"symbolAliases":[{"foreign":{"id":49157,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"154:16:53","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49160,"nodeType":"ImportDirective","src":"208:66:53","nodes":[],"absolutePath":"script/TrailsRouter.s.sol","file":"./TrailsRouter.s.sol","nameLocation":"-1:-1:-1","scope":49255,"sourceUnit":49152,"symbolAliases":[{"foreign":{"id":49159,"name":"Deploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49151,"src":"216:6:53","typeDescriptions":{}},"local":"TrailsRouterDeploy","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49254,"nodeType":"ContractDefinition","src":"276:1346:53","nodes":[{"id":49164,"nodeType":"VariableDeclaration","src":"505:28:53","nodes":[],"constant":false,"functionSelector":"3268cc56","mutability":"mutable","name":"routerAddress","nameLocation":"520:13:53","scope":49254,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49163,"name":"address","nodeType":"ElementaryTypeName","src":"505:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":49253,"nodeType":"FunctionDefinition","src":"714:906:53","nodes":[],"body":{"id":49252,"nodeType":"Block","src":"738:882:53","nodes":[],"statements":[{"assignments":[49168],"declarations":[{"constant":false,"id":49168,"mutability":"mutable","name":"pk","nameLocation":"756:2:53","nodeType":"VariableDeclaration","scope":49252,"src":"748:10:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49167,"name":"uint256","nodeType":"ElementaryTypeName","src":"748:7:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49173,"initialValue":{"arguments":[{"hexValue":"505249564154455f4b4559","id":49171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"772:13:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""}],"expression":{"id":49169,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"761:2:53","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":49170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"764:7:53","memberName":"envUint","nodeType":"MemberAccess","referencedDeclaration":14280,"src":"761:10:53","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":49172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"761:25:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"748:38:53"},{"assignments":[49175],"declarations":[{"constant":false,"id":49175,"mutability":"mutable","name":"deployerAddress","nameLocation":"804:15:53","nodeType":"VariableDeclaration","scope":49252,"src":"796:23:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49174,"name":"address","nodeType":"ElementaryTypeName","src":"796:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49180,"initialValue":{"arguments":[{"id":49178,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49168,"src":"830:2:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49176,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"822:2:53","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":49177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"825:4:53","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":14336,"src":"822:7:53","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":49179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"822:11:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"796:37:53"},{"expression":{"arguments":[{"hexValue":"4465706c6f79657220416464726573733a","id":49184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"855:19:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},"value":"Deployer Address:"},{"id":49185,"name":"deployerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49175,"src":"876:15:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49181,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"843:7:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":49183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"851:3:53","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19490,"src":"843:11:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":49186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"843:49:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49187,"nodeType":"ExpressionStatement","src":"843:49:53"},{"assignments":[49189],"declarations":[{"constant":false,"id":49189,"mutability":"mutable","name":"salt","nameLocation":"911:4:53","nodeType":"VariableDeclaration","scope":49252,"src":"903:12:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"903:7:53","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49194,"initialValue":{"arguments":[{"hexValue":"30","id":49192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"926:1:53","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":49191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"918:7:53","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":49190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"918:7:53","typeDescriptions":{}}},"id":49193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"918:10:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"903:25:53"},{"assignments":[49197],"declarations":[{"constant":false,"id":49197,"mutability":"mutable","name":"routerDeploy","nameLocation":"1030:12:53","nodeType":"VariableDeclaration","scope":49252,"src":"1011:31:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"},"typeName":{"id":49196,"nodeType":"UserDefinedTypeName","pathNode":{"id":49195,"name":"TrailsRouterDeploy","nameLocations":["1011:18:53"],"nodeType":"IdentifierPath","referencedDeclaration":49151,"src":"1011:18:53"},"referencedDeclaration":49151,"src":"1011:18:53","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"visibility":"internal"}],"id":49202,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1045:22:53","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Deploy_$49151_$","typeString":"function () returns (contract Deploy)"},"typeName":{"id":49199,"nodeType":"UserDefinedTypeName","pathNode":{"id":49198,"name":"TrailsRouterDeploy","nameLocations":["1049:18:53"],"nodeType":"IdentifierPath","referencedDeclaration":49151,"src":"1049:18:53"},"referencedDeclaration":49151,"src":"1049:18:53","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}}},"id":49201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1045:24:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"nodeType":"VariableDeclarationStatement","src":"1011:58:53"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49203,"name":"routerDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49197,"src":"1079:12:53","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"id":49205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1092:3:53","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49106,"src":"1079:16:53","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":49206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1079:18:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49207,"nodeType":"ExpressionStatement","src":"1079:18:53"},{"expression":{"id":49213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49208,"name":"routerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49164,"src":"1178:13:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49211,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49168,"src":"1220:2:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49209,"name":"routerDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49197,"src":"1194:12:53","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"id":49210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1207:12:53","memberName":"deployRouter","nodeType":"MemberAccess","referencedDeclaration":49150,"src":"1194:25:53","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) external returns (address)"}},"id":49212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1194:29:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1178:45:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":49214,"nodeType":"ExpressionStatement","src":"1178:45:53"},{"expression":{"arguments":[{"hexValue":"547261696c73526f75746572206465706c6f7965642061743a","id":49218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1245:27:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff6e0c998b52b8a6c18a1176cb6d2269cb31392fe97d0606f0e4bbfcb2962c83","typeString":"literal_string \"TrailsRouter deployed at:\""},"value":"TrailsRouter deployed at:"},{"id":49219,"name":"routerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49164,"src":"1274:13:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ff6e0c998b52b8a6c18a1176cb6d2269cb31392fe97d0606f0e4bbfcb2962c83","typeString":"literal_string \"TrailsRouter deployed at:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49215,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"1233:7:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":49217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1241:3:53","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19490,"src":"1233:11:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":49220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:55:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49221,"nodeType":"ExpressionStatement","src":"1233:55:53"},{"assignments":[49223],"declarations":[{"constant":false,"id":49223,"mutability":"mutable","name":"initCode","nameLocation":"1371:8:53","nodeType":"VariableDeclaration","scope":49252,"src":"1358:21:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49222,"name":"bytes","nodeType":"ElementaryTypeName","src":"1358:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":49235,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":49227,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"1404:16:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}],"id":49226,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1399:4:53","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1399:22:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_TrailsRouterShim_$51106","typeString":"type(contract TrailsRouterShim)"}},"id":49229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1422:12:53","memberName":"creationCode","nodeType":"MemberAccess","src":"1399:35:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":49232,"name":"routerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49164,"src":"1447:13:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49230,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1436:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1440:6:53","memberName":"encode","nodeType":"MemberAccess","src":"1436:10:53","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":49233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1436:25:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":49224,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1382:3:53","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1386:12:53","memberName":"encodePacked","nodeType":"MemberAccess","src":"1382:16:53","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":49234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1382:80:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1358:104:53"},{"assignments":[49237],"declarations":[{"constant":false,"id":49237,"mutability":"mutable","name":"wrapper","nameLocation":"1480:7:53","nodeType":"VariableDeclaration","scope":49252,"src":"1472:15:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49236,"name":"address","nodeType":"ElementaryTypeName","src":"1472:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49244,"initialValue":{"arguments":[{"hexValue":"547261696c73526f757465725368696d","id":49239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1510:18:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_37a9acdad5048706b3c37fcd68607f8f76f427ea01381f7ba9eed3fc8189156c","typeString":"literal_string \"TrailsRouterShim\""},"value":"TrailsRouterShim"},{"id":49240,"name":"initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49223,"src":"1530:8:53","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":49241,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49189,"src":"1540:4:53","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49242,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49168,"src":"1546:2:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_37a9acdad5048706b3c37fcd68607f8f76f427ea01381f7ba9eed3fc8189156c","typeString":"literal_string \"TrailsRouterShim\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49238,"name":"_deployIfNotAlready","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":172,"src":"1490:19:53","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_address_$","typeString":"function (string memory,bytes memory,bytes32,uint256) returns (address)"}},"id":49243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1490:59:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1472:77:53"},{"expression":{"arguments":[{"hexValue":"547261696c73526f757465725368696d206465706c6f7965642061743a","id":49248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1572:31:53","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6ca5927345981e02bd9b6620dc01450878b6c95094acca2e3767c052e6b0e3","typeString":"literal_string \"TrailsRouterShim deployed at:\""},"value":"TrailsRouterShim deployed at:"},{"id":49249,"name":"wrapper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49237,"src":"1605:7:53","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6ca5927345981e02bd9b6620dc01450878b6c95094acca2e3767c052e6b0e3","typeString":"literal_string \"TrailsRouterShim deployed at:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49245,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"1560:7:53","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":49247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1568:3:53","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19490,"src":"1560:11:53","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":49250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1560:53:53","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49251,"nodeType":"ExpressionStatement","src":"1560:53:53"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"723:3:53","parameters":{"id":49165,"nodeType":"ParameterList","parameters":[],"src":"726:2:53"},"returnParameters":{"id":49166,"nodeType":"ParameterList","parameters":[],"src":"738:0:53"},"scope":49254,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":49161,"name":"SingletonDeployer","nameLocations":["295:17:53"],"nodeType":"IdentifierPath","referencedDeclaration":210,"src":"295:17:53"},"id":49162,"nodeType":"InheritanceSpecifier","src":"295:17:53"}],"canonicalName":"Deploy","contractDependencies":[49151,51106],"contractKind":"contract","fullyImplemented":true,"internalFunctionIDs":{"18695":1},"linearizedBaseContracts":[49254,210,335,13420,6247,4157,294,282],"name":"Deploy","nameLocation":"285:6:53","scope":49255,"usedErrors":[14],"usedEvents":[]}],"license":"MIT"}},"src/TrailsIntentEntrypoint.sol":{"id":54,"ast":{"absolutePath":"src/TrailsIntentEntrypoint.sol","id":49681,"exportedSymbols":{"ECDSA":[44850],"IERC20":[40923],"IERC20Permit":[41139],"ITrailsIntentEntrypoint":[51300],"ReentrancyGuard":[42570],"SafeERC20":[41594],"TrailsIntentEntrypoint":[49680]},"nodeType":"SourceUnit","src":"32:8354:54","nodes":[{"id":49256,"nodeType":"PragmaDirective","src":"32:24:54","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":49258,"nodeType":"ImportDirective","src":"58:70:54","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":49681,"sourceUnit":40924,"symbolAliases":[{"foreign":{"id":49257,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"66:6:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49260,"nodeType":"ImportDirective","src":"129:93:54","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":49681,"sourceUnit":41140,"symbolAliases":[{"foreign":{"id":49259,"name":"IERC20Permit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41139,"src":"137:12:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49262,"nodeType":"ImportDirective","src":"223:82:54","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":49681,"sourceUnit":41595,"symbolAliases":[{"foreign":{"id":49261,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41594,"src":"231:9:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49264,"nodeType":"ImportDirective","src":"306:75:54","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol","file":"@openzeppelin/contracts/utils/cryptography/ECDSA.sol","nameLocation":"-1:-1:-1","scope":49681,"sourceUnit":44851,"symbolAliases":[{"foreign":{"id":49263,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44850,"src":"314:5:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49266,"nodeType":"ImportDirective","src":"382:82:54","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol","file":"@openzeppelin/contracts/utils/ReentrancyGuard.sol","nameLocation":"-1:-1:-1","scope":49681,"sourceUnit":42571,"symbolAliases":[{"foreign":{"id":49265,"name":"ReentrancyGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42570,"src":"390:15:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49268,"nodeType":"ImportDirective","src":"465:81:54","nodes":[],"absolutePath":"src/interfaces/ITrailsIntentEntrypoint.sol","file":"./interfaces/ITrailsIntentEntrypoint.sol","nameLocation":"-1:-1:-1","scope":49681,"sourceUnit":51301,"symbolAliases":[{"foreign":{"id":49267,"name":"ITrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51300,"src":"473:23:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49680,"nodeType":"ContractDefinition","src":"703:7682:54","nodes":[{"id":49276,"nodeType":"UsingForDirective","src":"964:24:54","nodes":[],"global":false,"libraryName":{"id":49274,"name":"ECDSA","nameLocations":["970:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":44850,"src":"970:5:54"},"typeName":{"id":49275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"980:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"id":49280,"nodeType":"UsingForDirective","src":"993:27:54","nodes":[],"global":false,"libraryName":{"id":49277,"name":"SafeERC20","nameLocations":["999:9:54"],"nodeType":"IdentifierPath","referencedDeclaration":41594,"src":"999:9:54"},"typeName":{"id":49279,"nodeType":"UserDefinedTypeName","pathNode":{"id":49278,"name":"IERC20","nameLocations":["1013:6:54"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"1013:6:54"},"referencedDeclaration":40923,"src":"1013:6:54","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}}},{"id":49285,"nodeType":"VariableDeclaration","src":"1206:239:54","nodes":[],"baseFunctions":[51225],"constant":true,"functionSelector":"f3961040","mutability":"constant","name":"TRAILS_INTENT_TYPEHASH","nameLocation":"1230:22:54","scope":49680,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1206:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"547261696c73496e74656e74286164647265737320757365722c6164647265737320746f6b656e2c75696e7432353620616d6f756e742c6164647265737320696e74656e74416464726573732c75696e7432353620646561646c696e652c75696e7432353620636861696e49642c75696e74323536206e6f6e63652c75696e7432353620666565416d6f756e742c6164647265737320666565436f6c6c6563746f7229","id":49283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1274:165:54","typeDescriptions":{"typeIdentifier":"t_stringliteral_928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c9","typeString":"literal_string \"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)\""},"value":"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c9","typeString":"literal_string \"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)\""}],"id":49282,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1255:9:54","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1255:190:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":49288,"nodeType":"VariableDeclaration","src":"1451:36:54","nodes":[],"baseFunctions":[51231],"constant":true,"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"1474:7:54","scope":49680,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49286,"name":"string","nodeType":"ElementaryTypeName","src":"1451:6:54","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"31","id":49287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1484:3:54","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"},"visibility":"public"},{"id":49293,"nodeType":"VariableDeclaration","src":"1494:153:54","nodes":[],"constant":true,"mutability":"constant","name":"EIP712_DOMAIN_TYPEHASH","nameLocation":"1519:22:54","scope":49680,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1494:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":49291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1562:84:54","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":49290,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1552:9:54","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1552:95:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":49301,"nodeType":"VariableDeclaration","src":"1653:88:54","nodes":[],"constant":true,"mutability":"constant","name":"EIP712_DOMAIN_NAME","nameLocation":"1678:18:54","scope":49680,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1653:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"arguments":[{"hexValue":"547261696c73496e74656e74456e747279706f696e74","id":49298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1715:24:54","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f5","typeString":"literal_string \"TrailsIntentEntrypoint\""},"value":"TrailsIntentEntrypoint"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f5","typeString":"literal_string \"TrailsIntentEntrypoint\""}],"id":49297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1709:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49296,"name":"bytes","nodeType":"ElementaryTypeName","src":"1709:5:54","typeDescriptions":{}}},"id":49299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1709:31:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49295,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1699:9:54","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1699:42:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":49309,"nodeType":"VariableDeclaration","src":"1747:74:54","nodes":[],"constant":true,"mutability":"constant","name":"EIP712_DOMAIN_VERSION","nameLocation":"1772:21:54","scope":49680,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1747:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"arguments":[{"id":49306,"name":"VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49288,"src":"1812:7:54","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":49305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1806:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49304,"name":"bytes","nodeType":"ElementaryTypeName","src":"1806:5:54","typeDescriptions":{}}},"id":49307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1806:14:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49303,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1796:9:54","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1796:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":49311,"nodeType":"ErrorDefinition","src":"2005:22:54","nodes":[],"errorSelector":"2c5211c6","name":"InvalidAmount","nameLocation":"2011:13:54","parameters":{"id":49310,"nodeType":"ParameterList","parameters":[],"src":"2024:2:54"}},{"id":49313,"nodeType":"ErrorDefinition","src":"2032:21:54","nodes":[],"errorSelector":"c1ab6dc1","name":"InvalidToken","nameLocation":"2038:12:54","parameters":{"id":49312,"nodeType":"ParameterList","parameters":[],"src":"2050:2:54"}},{"id":49315,"nodeType":"ErrorDefinition","src":"2058:29:54","nodes":[],"errorSelector":"b6a75fc1","name":"InvalidIntentAddress","nameLocation":"2064:20:54","parameters":{"id":49314,"nodeType":"ParameterList","parameters":[],"src":"2084:2:54"}},{"id":49317,"nodeType":"ErrorDefinition","src":"2092:22:54","nodes":[],"errorSelector":"408b2234","name":"IntentExpired","nameLocation":"2098:13:54","parameters":{"id":49316,"nodeType":"ParameterList","parameters":[],"src":"2111:2:54"}},{"id":49319,"nodeType":"ErrorDefinition","src":"2119:31:54","nodes":[],"errorSelector":"ebe05229","name":"InvalidIntentSignature","nameLocation":"2125:22:54","parameters":{"id":49318,"nodeType":"ParameterList","parameters":[],"src":"2147:2:54"}},{"id":49321,"nodeType":"ErrorDefinition","src":"2155:21:54","nodes":[],"errorSelector":"756688fe","name":"InvalidNonce","nameLocation":"2161:12:54","parameters":{"id":49320,"nodeType":"ParameterList","parameters":[],"src":"2173:2:54"}},{"id":49323,"nodeType":"ErrorDefinition","src":"2181:29:54","nodes":[],"errorSelector":"4db7e851","name":"InvalidFeeParameters","nameLocation":"2187:20:54","parameters":{"id":49322,"nodeType":"ParameterList","parameters":[],"src":"2207:2:54"}},{"id":49325,"nodeType":"ErrorDefinition","src":"2215:29:54","nodes":[],"errorSelector":"7719991e","name":"PermitAmountMismatch","nameLocation":"2221:20:54","parameters":{"id":49324,"nodeType":"ParameterList","parameters":[],"src":"2241:2:54"}},{"id":49330,"nodeType":"VariableDeclaration","src":"2506:41:54","nodes":[],"baseFunctions":[51239],"constant":false,"documentation":{"id":49326,"nodeType":"StructuredDocumentation","src":"2436:65:54","text":"@notice Tracks nonce for each user to prevent replay attacks."},"functionSelector":"7ecebe00","mutability":"mutable","name":"nonces","nameLocation":"2541:6:54","scope":49680,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":49329,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49327,"name":"address","nodeType":"ElementaryTypeName","src":"2514:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2506:27:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":49328,"name":"uint256","nodeType":"ElementaryTypeName","src":"2525:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":49352,"nodeType":"FunctionDefinition","src":"2778:239:54","nodes":[],"body":{"id":49351,"nodeType":"Block","src":"2853:164:54","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":49339,"name":"EIP712_DOMAIN_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49293,"src":"2904:22:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49340,"name":"EIP712_DOMAIN_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49301,"src":"2928:18:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49341,"name":"EIP712_DOMAIN_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49309,"src":"2948:21:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":49342,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2971:5:54","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":49343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2977:7:54","memberName":"chainid","nodeType":"MemberAccess","src":"2971:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":49346,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2994:4:54","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":49345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2986:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49344,"name":"address","nodeType":"ElementaryTypeName","src":"2986:7:54","typeDescriptions":{}}},"id":49347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2986:13:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49337,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2893:3:54","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2897:6:54","memberName":"encode","nodeType":"MemberAccess","src":"2893:10:54","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":49348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2893:107:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49336,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2870:9:54","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2870:140:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":49335,"id":49350,"nodeType":"Return","src":"2863:147:54"}]},"baseFunctions":[51219],"documentation":{"id":49331,"nodeType":"StructuredDocumentation","src":"2734:39:54","text":"@inheritdoc ITrailsIntentEntrypoint"},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2787:16:54","parameters":{"id":49332,"nodeType":"ParameterList","parameters":[],"src":"2803:2:54"},"returnParameters":{"id":49335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49334,"mutability":"mutable","name":"_domainSeparator","nameLocation":"2835:16:54","nodeType":"VariableDeclaration","scope":49352,"src":"2827:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2827:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2826:26:54"},"scope":49680,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":49442,"nodeType":"FunctionDefinition","src":"3067:1362:54","nodes":[],"body":{"id":49441,"nodeType":"Block","src":"3503:926:54","nodes":[],"statements":[{"expression":{"arguments":[{"id":49389,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49355,"src":"3547:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49390,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49357,"src":"3553:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49391,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49359,"src":"3560:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49392,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49363,"src":"3568:13:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49393,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49365,"src":"3583:8:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49394,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49367,"src":"3593:5:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49395,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49369,"src":"3600:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49396,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49371,"src":"3611:12:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49397,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49379,"src":"3625:4:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":49398,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49381,"src":"3631:4:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49399,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49383,"src":"3637:4:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":49388,"name":"_verifyAndMarkIntent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49679,"src":"3513:20:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)"}},"id":49400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3513:138:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49401,"nodeType":"ExpressionStatement","src":"3513:138:54"},{"id":49411,"nodeType":"UncheckedBlock","src":"3849:104:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49402,"name":"permitAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49361,"src":"3877:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49403,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49359,"src":"3893:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":49404,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49369,"src":"3902:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3893:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3877:34:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49410,"nodeType":"IfStatement","src":"3873:69:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49407,"name":"PermitAmountMismatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49325,"src":"3920:20:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3920:22:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49409,"nodeType":"RevertStatement","src":"3913:29:54"}}]},{"clauses":[{"block":{"id":49427,"nodeType":"Block","src":"4185:39:54","statements":[]},"errorName":"","id":49428,"nodeType":"TryCatchClause","src":"4185:39:54"},{"block":{"id":49429,"nodeType":"Block","src":"4243:93:54","statements":[]},"errorName":"","id":49430,"nodeType":"TryCatchClause","src":"4237:99:54"}],"externalCall":{"arguments":[{"id":49416,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49355,"src":"4113:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":49419,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4127:4:54","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":49418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4119:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49417,"name":"address","nodeType":"ElementaryTypeName","src":"4119:7:54","typeDescriptions":{}}},"id":49420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4119:13:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49421,"name":"permitAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49361,"src":"4134:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49422,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49365,"src":"4148:8:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49423,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49373,"src":"4158:7:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":49424,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49375,"src":"4167:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49425,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49377,"src":"4176:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[{"id":49413,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49357,"src":"4099:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49412,"name":"IERC20Permit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41139,"src":"4086:12:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Permit_$41139_$","typeString":"type(contract IERC20Permit)"}},"id":49414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4086:19:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$41139","typeString":"contract IERC20Permit"}},"id":49415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4106:6:54","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":41124,"src":"4086:26:54","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":49426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4086:98:54","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49431,"nodeType":"TryStatement","src":"4082:254:54"},{"expression":{"arguments":[{"id":49433,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49355,"src":"4362:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49434,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49357,"src":"4368:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49435,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49359,"src":"4375:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49436,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49363,"src":"4383:13:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49437,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49369,"src":"4398:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49438,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49371,"src":"4409:12:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49432,"name":"_processDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49569,"src":"4346:15:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address,uint256,address)"}},"id":49439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4346:76:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49440,"nodeType":"ExpressionStatement","src":"4346:76:54"}]},"baseFunctions":[51273],"documentation":{"id":49353,"nodeType":"StructuredDocumentation","src":"3023:39:54","text":"@inheritdoc ITrailsIntentEntrypoint"},"functionSelector":"358a8f48","implemented":true,"kind":"function","modifiers":[{"id":49386,"kind":"modifierInvocation","modifierName":{"id":49385,"name":"nonReentrant","nameLocations":["3490:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":42500,"src":"3490:12:54"},"nodeType":"ModifierInvocation","src":"3490:12:54"}],"name":"depositToIntentWithPermit","nameLocation":"3076:25:54","parameters":{"id":49384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49355,"mutability":"mutable","name":"user","nameLocation":"3119:4:54","nodeType":"VariableDeclaration","scope":49442,"src":"3111:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49354,"name":"address","nodeType":"ElementaryTypeName","src":"3111:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49357,"mutability":"mutable","name":"token","nameLocation":"3141:5:54","nodeType":"VariableDeclaration","scope":49442,"src":"3133:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49356,"name":"address","nodeType":"ElementaryTypeName","src":"3133:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49359,"mutability":"mutable","name":"amount","nameLocation":"3164:6:54","nodeType":"VariableDeclaration","scope":49442,"src":"3156:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49358,"name":"uint256","nodeType":"ElementaryTypeName","src":"3156:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49361,"mutability":"mutable","name":"permitAmount","nameLocation":"3188:12:54","nodeType":"VariableDeclaration","scope":49442,"src":"3180:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49360,"name":"uint256","nodeType":"ElementaryTypeName","src":"3180:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49363,"mutability":"mutable","name":"intentAddress","nameLocation":"3218:13:54","nodeType":"VariableDeclaration","scope":49442,"src":"3210:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49362,"name":"address","nodeType":"ElementaryTypeName","src":"3210:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49365,"mutability":"mutable","name":"deadline","nameLocation":"3249:8:54","nodeType":"VariableDeclaration","scope":49442,"src":"3241:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49364,"name":"uint256","nodeType":"ElementaryTypeName","src":"3241:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49367,"mutability":"mutable","name":"nonce","nameLocation":"3275:5:54","nodeType":"VariableDeclaration","scope":49442,"src":"3267:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49366,"name":"uint256","nodeType":"ElementaryTypeName","src":"3267:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49369,"mutability":"mutable","name":"feeAmount","nameLocation":"3298:9:54","nodeType":"VariableDeclaration","scope":49442,"src":"3290:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49368,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49371,"mutability":"mutable","name":"feeCollector","nameLocation":"3325:12:54","nodeType":"VariableDeclaration","scope":49442,"src":"3317:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49370,"name":"address","nodeType":"ElementaryTypeName","src":"3317:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49373,"mutability":"mutable","name":"permitV","nameLocation":"3353:7:54","nodeType":"VariableDeclaration","scope":49442,"src":"3347:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":49372,"name":"uint8","nodeType":"ElementaryTypeName","src":"3347:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":49375,"mutability":"mutable","name":"permitR","nameLocation":"3378:7:54","nodeType":"VariableDeclaration","scope":49442,"src":"3370:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3370:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":49377,"mutability":"mutable","name":"permitS","nameLocation":"3403:7:54","nodeType":"VariableDeclaration","scope":49442,"src":"3395:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3395:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":49379,"mutability":"mutable","name":"sigV","nameLocation":"3426:4:54","nodeType":"VariableDeclaration","scope":49442,"src":"3420:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":49378,"name":"uint8","nodeType":"ElementaryTypeName","src":"3420:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":49381,"mutability":"mutable","name":"sigR","nameLocation":"3448:4:54","nodeType":"VariableDeclaration","scope":49442,"src":"3440:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3440:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":49383,"mutability":"mutable","name":"sigS","nameLocation":"3470:4:54","nodeType":"VariableDeclaration","scope":49442,"src":"3462:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3462:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3101:379:54"},"returnParameters":{"id":49387,"nodeType":"ParameterList","parameters":[],"src":"3503:0:54"},"scope":49680,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":49494,"nodeType":"FunctionDefinition","src":"4479:564:54","nodes":[],"body":{"id":49493,"nodeType":"Block","src":"4802:241:54","nodes":[],"statements":[{"expression":{"arguments":[{"id":49471,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49445,"src":"4846:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49472,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49447,"src":"4852:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49473,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49449,"src":"4859:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49474,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49451,"src":"4867:13:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49475,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49453,"src":"4882:8:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49476,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49455,"src":"4892:5:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49477,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49457,"src":"4899:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49478,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49459,"src":"4910:12:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49479,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49461,"src":"4924:4:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":49480,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49463,"src":"4930:4:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49481,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49465,"src":"4936:4:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":49470,"name":"_verifyAndMarkIntent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49679,"src":"4812:20:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)"}},"id":49482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4812:138:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49483,"nodeType":"ExpressionStatement","src":"4812:138:54"},{"expression":{"arguments":[{"id":49485,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49445,"src":"4976:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49486,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49447,"src":"4982:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49487,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49449,"src":"4989:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49488,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49451,"src":"4997:13:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49489,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49457,"src":"5012:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49490,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49459,"src":"5023:12:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49484,"name":"_processDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49569,"src":"4960:15:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address,uint256,address)"}},"id":49491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4960:76:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49492,"nodeType":"ExpressionStatement","src":"4960:76:54"}]},"baseFunctions":[51299],"documentation":{"id":49443,"nodeType":"StructuredDocumentation","src":"4435:39:54","text":"@inheritdoc ITrailsIntentEntrypoint"},"functionSelector":"3525916f","implemented":true,"kind":"function","modifiers":[{"id":49468,"kind":"modifierInvocation","modifierName":{"id":49467,"name":"nonReentrant","nameLocations":["4789:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":42500,"src":"4789:12:54"},"nodeType":"ModifierInvocation","src":"4789:12:54"}],"name":"depositToIntent","nameLocation":"4488:15:54","parameters":{"id":49466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49445,"mutability":"mutable","name":"user","nameLocation":"4521:4:54","nodeType":"VariableDeclaration","scope":49494,"src":"4513:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49444,"name":"address","nodeType":"ElementaryTypeName","src":"4513:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49447,"mutability":"mutable","name":"token","nameLocation":"4543:5:54","nodeType":"VariableDeclaration","scope":49494,"src":"4535:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49446,"name":"address","nodeType":"ElementaryTypeName","src":"4535:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49449,"mutability":"mutable","name":"amount","nameLocation":"4566:6:54","nodeType":"VariableDeclaration","scope":49494,"src":"4558:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49448,"name":"uint256","nodeType":"ElementaryTypeName","src":"4558:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49451,"mutability":"mutable","name":"intentAddress","nameLocation":"4590:13:54","nodeType":"VariableDeclaration","scope":49494,"src":"4582:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49450,"name":"address","nodeType":"ElementaryTypeName","src":"4582:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49453,"mutability":"mutable","name":"deadline","nameLocation":"4621:8:54","nodeType":"VariableDeclaration","scope":49494,"src":"4613:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49452,"name":"uint256","nodeType":"ElementaryTypeName","src":"4613:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49455,"mutability":"mutable","name":"nonce","nameLocation":"4647:5:54","nodeType":"VariableDeclaration","scope":49494,"src":"4639:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49454,"name":"uint256","nodeType":"ElementaryTypeName","src":"4639:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49457,"mutability":"mutable","name":"feeAmount","nameLocation":"4670:9:54","nodeType":"VariableDeclaration","scope":49494,"src":"4662:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49456,"name":"uint256","nodeType":"ElementaryTypeName","src":"4662:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49459,"mutability":"mutable","name":"feeCollector","nameLocation":"4697:12:54","nodeType":"VariableDeclaration","scope":49494,"src":"4689:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49458,"name":"address","nodeType":"ElementaryTypeName","src":"4689:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49461,"mutability":"mutable","name":"sigV","nameLocation":"4725:4:54","nodeType":"VariableDeclaration","scope":49494,"src":"4719:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":49460,"name":"uint8","nodeType":"ElementaryTypeName","src":"4719:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":49463,"mutability":"mutable","name":"sigR","nameLocation":"4747:4:54","nodeType":"VariableDeclaration","scope":49494,"src":"4739:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4739:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":49465,"mutability":"mutable","name":"sigS","nameLocation":"4769:4:54","nodeType":"VariableDeclaration","scope":49494,"src":"4761:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4761:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4503:276:54"},"returnParameters":{"id":49469,"nodeType":"ParameterList","parameters":[],"src":"4802:0:54"},"scope":49680,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":49569,"nodeType":"FunctionDefinition","src":"5049:900:54","nodes":[],"body":{"id":49568,"nodeType":"Block","src":"5246:703:54","nodes":[],"statements":[{"expression":{"arguments":[{"id":49513,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49496,"src":"5287:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49514,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49502,"src":"5293:13:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49515,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49500,"src":"5308:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":49510,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49498,"src":"5263:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49509,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"5256:6:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$40923_$","typeString":"type(contract IERC20)"}},"id":49511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5256:13:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"id":49512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5270:16:54","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":41219,"src":"5256:30:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$40923_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":49516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5256:59:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49517,"nodeType":"ExpressionStatement","src":"5256:59:54"},{"assignments":[49519],"declarations":[{"constant":false,"id":49519,"mutability":"mutable","name":"feeAmountSupplied","nameLocation":"5400:17:54","nodeType":"VariableDeclaration","scope":49568,"src":"5395:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49518,"name":"bool","nodeType":"ElementaryTypeName","src":"5395:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":49523,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49520,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49504,"src":"5420:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":49521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5432:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5420:13:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5395:38:54"},{"assignments":[49525],"declarations":[{"constant":false,"id":49525,"mutability":"mutable","name":"feeCollectorSupplied","nameLocation":"5448:20:54","nodeType":"VariableDeclaration","scope":49568,"src":"5443:25:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49524,"name":"bool","nodeType":"ElementaryTypeName","src":"5443:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":49532,"initialValue":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49526,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49506,"src":"5471:12:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":49529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5495:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":49528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5487:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49527,"name":"address","nodeType":"ElementaryTypeName","src":"5487:7:54","typeDescriptions":{}}},"id":49530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5487:10:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5471:26:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5443:54:54"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":49535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49533,"name":"feeAmountSupplied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49519,"src":"5511:17:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49534,"name":"feeCollectorSupplied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49525,"src":"5532:20:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5511:41:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49540,"nodeType":"IfStatement","src":"5507:172:54","trueBody":{"id":49539,"nodeType":"Block","src":"5554:125:54","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49536,"name":"InvalidFeeParameters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49323,"src":"5646:20:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5646:22:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49538,"nodeType":"RevertStatement","src":"5639:29:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":49543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49541,"name":"feeAmountSupplied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49519,"src":"5692:17:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":49542,"name":"feeCollectorSupplied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49525,"src":"5713:20:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5692:41:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49561,"nodeType":"IfStatement","src":"5688:197:54","trueBody":{"id":49560,"nodeType":"Block","src":"5735:150:54","statements":[{"expression":{"arguments":[{"id":49548,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49496,"src":"5780:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49549,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49506,"src":"5786:12:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49550,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49504,"src":"5800:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":49545,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49498,"src":"5756:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49544,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"5749:6:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$40923_$","typeString":"type(contract IERC20)"}},"id":49546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5749:13:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"id":49547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5763:16:54","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":41219,"src":"5749:30:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$40923_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":49551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5749:61:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49552,"nodeType":"ExpressionStatement","src":"5749:61:54"},{"eventCall":{"arguments":[{"id":49554,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49496,"src":"5837:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49555,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49498,"src":"5843:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49556,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49504,"src":"5850:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49557,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49506,"src":"5861:12:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49553,"name":"FeePaid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51213,"src":"5829:7:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address)"}},"id":49558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5829:45:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49559,"nodeType":"EmitStatement","src":"5824:50:54"}]}},{"eventCall":{"arguments":[{"id":49563,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49496,"src":"5914:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49564,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49502,"src":"5920:13:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49565,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49500,"src":"5935:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49562,"name":"IntentDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51202,"src":"5900:13:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":49566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5900:42:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49567,"nodeType":"EmitStatement","src":"5895:47:54"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_processDeposit","nameLocation":"5058:15:54","parameters":{"id":49507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49496,"mutability":"mutable","name":"user","nameLocation":"5091:4:54","nodeType":"VariableDeclaration","scope":49569,"src":"5083:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49495,"name":"address","nodeType":"ElementaryTypeName","src":"5083:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49498,"mutability":"mutable","name":"token","nameLocation":"5113:5:54","nodeType":"VariableDeclaration","scope":49569,"src":"5105:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49497,"name":"address","nodeType":"ElementaryTypeName","src":"5105:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49500,"mutability":"mutable","name":"amount","nameLocation":"5136:6:54","nodeType":"VariableDeclaration","scope":49569,"src":"5128:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49499,"name":"uint256","nodeType":"ElementaryTypeName","src":"5128:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49502,"mutability":"mutable","name":"intentAddress","nameLocation":"5160:13:54","nodeType":"VariableDeclaration","scope":49569,"src":"5152:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49501,"name":"address","nodeType":"ElementaryTypeName","src":"5152:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49504,"mutability":"mutable","name":"feeAmount","nameLocation":"5191:9:54","nodeType":"VariableDeclaration","scope":49569,"src":"5183:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49503,"name":"uint256","nodeType":"ElementaryTypeName","src":"5183:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49506,"mutability":"mutable","name":"feeCollector","nameLocation":"5218:12:54","nodeType":"VariableDeclaration","scope":49569,"src":"5210:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49505,"name":"address","nodeType":"ElementaryTypeName","src":"5210:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5073:163:54"},"returnParameters":{"id":49508,"nodeType":"ParameterList","parameters":[],"src":"5246:0:54"},"scope":49680,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":49679,"nodeType":"FunctionDefinition","src":"6203:2180:54","nodes":[],"body":{"id":49678,"nodeType":"Block","src":"6518:1865:54","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49595,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49576,"src":"6532:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":49596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6542:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6532:11:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49601,"nodeType":"IfStatement","src":"6528:39:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49598,"name":"InvalidAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49311,"src":"6552:13:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6552:15:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49600,"nodeType":"RevertStatement","src":"6545:22:54"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49602,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49574,"src":"6581:5:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":49605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6598:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":49604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6590:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49603,"name":"address","nodeType":"ElementaryTypeName","src":"6590:7:54","typeDescriptions":{}}},"id":49606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6590:10:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6581:19:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49611,"nodeType":"IfStatement","src":"6577:46:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49608,"name":"InvalidToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49313,"src":"6609:12:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6609:14:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49610,"nodeType":"RevertStatement","src":"6602:21:54"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49612,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49578,"src":"6637:13:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":49615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6662:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":49614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6654:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49613,"name":"address","nodeType":"ElementaryTypeName","src":"6654:7:54","typeDescriptions":{}}},"id":49616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6654:10:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6637:27:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49621,"nodeType":"IfStatement","src":"6633:62:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49618,"name":"InvalidIntentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49315,"src":"6673:20:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6673:22:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49620,"nodeType":"RevertStatement","src":"6666:29:54"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":49622,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6709:5:54","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":49623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6715:9:54","memberName":"timestamp","nodeType":"MemberAccess","src":"6709:15:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":49624,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49580,"src":"6727:8:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6709:26:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49629,"nodeType":"IfStatement","src":"6705:54:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49626,"name":"IntentExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49317,"src":"6744:13:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6744:15:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49628,"nodeType":"RevertStatement","src":"6737:22:54"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49630,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"6943:5:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"baseExpression":{"id":49631,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49330,"src":"6952:6:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":49633,"indexExpression":{"id":49632,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49572,"src":"6959:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6952:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6943:21:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49638,"nodeType":"IfStatement","src":"6939:48:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49635,"name":"InvalidNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49321,"src":"6973:12:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6973:14:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49637,"nodeType":"RevertStatement","src":"6966:21:54"}},{"assignments":[49640],"declarations":[{"constant":false,"id":49640,"mutability":"mutable","name":"_typehash","nameLocation":"7006:9:54","nodeType":"VariableDeclaration","scope":49678,"src":"6998:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6998:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49642,"initialValue":{"id":49641,"name":"TRAILS_INTENT_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49285,"src":"7018:22:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6998:42:54"},{"assignments":[49644],"declarations":[{"constant":false,"id":49644,"mutability":"mutable","name":"intentHash","nameLocation":"7058:10:54","nodeType":"VariableDeclaration","scope":49678,"src":"7050:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7050:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49645,"nodeType":"VariableDeclarationStatement","src":"7050:18:54"},{"AST":{"nativeSrc":"7232:535:54","nodeType":"YulBlock","src":"7232:535:54","statements":[{"nativeSrc":"7246:22:54","nodeType":"YulVariableDeclaration","src":"7246:22:54","value":{"arguments":[{"kind":"number","nativeSrc":"7263:4:54","nodeType":"YulLiteral","src":"7263:4:54","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"7257:5:54","nodeType":"YulIdentifier","src":"7257:5:54"},"nativeSrc":"7257:11:54","nodeType":"YulFunctionCall","src":"7257:11:54"},"variables":[{"name":"ptr","nativeSrc":"7250:3:54","nodeType":"YulTypedName","src":"7250:3:54","type":""}]},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"7288:3:54","nodeType":"YulIdentifier","src":"7288:3:54"},{"name":"_typehash","nativeSrc":"7293:9:54","nodeType":"YulIdentifier","src":"7293:9:54"}],"functionName":{"name":"mstore","nativeSrc":"7281:6:54","nodeType":"YulIdentifier","src":"7281:6:54"},"nativeSrc":"7281:22:54","nodeType":"YulFunctionCall","src":"7281:22:54"},"nativeSrc":"7281:22:54","nodeType":"YulExpressionStatement","src":"7281:22:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"7327:3:54","nodeType":"YulIdentifier","src":"7327:3:54"},{"kind":"number","nativeSrc":"7332:4:54","nodeType":"YulLiteral","src":"7332:4:54","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"7323:3:54","nodeType":"YulIdentifier","src":"7323:3:54"},"nativeSrc":"7323:14:54","nodeType":"YulFunctionCall","src":"7323:14:54"},{"name":"user","nativeSrc":"7339:4:54","nodeType":"YulIdentifier","src":"7339:4:54"}],"functionName":{"name":"mstore","nativeSrc":"7316:6:54","nodeType":"YulIdentifier","src":"7316:6:54"},"nativeSrc":"7316:28:54","nodeType":"YulFunctionCall","src":"7316:28:54"},"nativeSrc":"7316:28:54","nodeType":"YulExpressionStatement","src":"7316:28:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"7368:3:54","nodeType":"YulIdentifier","src":"7368:3:54"},{"kind":"number","nativeSrc":"7373:4:54","nodeType":"YulLiteral","src":"7373:4:54","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"7364:3:54","nodeType":"YulIdentifier","src":"7364:3:54"},"nativeSrc":"7364:14:54","nodeType":"YulFunctionCall","src":"7364:14:54"},{"name":"token","nativeSrc":"7380:5:54","nodeType":"YulIdentifier","src":"7380:5:54"}],"functionName":{"name":"mstore","nativeSrc":"7357:6:54","nodeType":"YulIdentifier","src":"7357:6:54"},"nativeSrc":"7357:29:54","nodeType":"YulFunctionCall","src":"7357:29:54"},"nativeSrc":"7357:29:54","nodeType":"YulExpressionStatement","src":"7357:29:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"7410:3:54","nodeType":"YulIdentifier","src":"7410:3:54"},{"kind":"number","nativeSrc":"7415:4:54","nodeType":"YulLiteral","src":"7415:4:54","type":"","value":"0x60"}],"functionName":{"name":"add","nativeSrc":"7406:3:54","nodeType":"YulIdentifier","src":"7406:3:54"},"nativeSrc":"7406:14:54","nodeType":"YulFunctionCall","src":"7406:14:54"},{"name":"amount","nativeSrc":"7422:6:54","nodeType":"YulIdentifier","src":"7422:6:54"}],"functionName":{"name":"mstore","nativeSrc":"7399:6:54","nodeType":"YulIdentifier","src":"7399:6:54"},"nativeSrc":"7399:30:54","nodeType":"YulFunctionCall","src":"7399:30:54"},"nativeSrc":"7399:30:54","nodeType":"YulExpressionStatement","src":"7399:30:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"7453:3:54","nodeType":"YulIdentifier","src":"7453:3:54"},{"kind":"number","nativeSrc":"7458:4:54","nodeType":"YulLiteral","src":"7458:4:54","type":"","value":"0x80"}],"functionName":{"name":"add","nativeSrc":"7449:3:54","nodeType":"YulIdentifier","src":"7449:3:54"},"nativeSrc":"7449:14:54","nodeType":"YulFunctionCall","src":"7449:14:54"},{"name":"intentAddress","nativeSrc":"7465:13:54","nodeType":"YulIdentifier","src":"7465:13:54"}],"functionName":{"name":"mstore","nativeSrc":"7442:6:54","nodeType":"YulIdentifier","src":"7442:6:54"},"nativeSrc":"7442:37:54","nodeType":"YulFunctionCall","src":"7442:37:54"},"nativeSrc":"7442:37:54","nodeType":"YulExpressionStatement","src":"7442:37:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"7503:3:54","nodeType":"YulIdentifier","src":"7503:3:54"},{"kind":"number","nativeSrc":"7508:4:54","nodeType":"YulLiteral","src":"7508:4:54","type":"","value":"0xa0"}],"functionName":{"name":"add","nativeSrc":"7499:3:54","nodeType":"YulIdentifier","src":"7499:3:54"},"nativeSrc":"7499:14:54","nodeType":"YulFunctionCall","src":"7499:14:54"},{"name":"deadline","nativeSrc":"7515:8:54","nodeType":"YulIdentifier","src":"7515:8:54"}],"functionName":{"name":"mstore","nativeSrc":"7492:6:54","nodeType":"YulIdentifier","src":"7492:6:54"},"nativeSrc":"7492:32:54","nodeType":"YulFunctionCall","src":"7492:32:54"},"nativeSrc":"7492:32:54","nodeType":"YulExpressionStatement","src":"7492:32:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"7548:3:54","nodeType":"YulIdentifier","src":"7548:3:54"},{"kind":"number","nativeSrc":"7553:4:54","nodeType":"YulLiteral","src":"7553:4:54","type":"","value":"0xc0"}],"functionName":{"name":"add","nativeSrc":"7544:3:54","nodeType":"YulIdentifier","src":"7544:3:54"},"nativeSrc":"7544:14:54","nodeType":"YulFunctionCall","src":"7544:14:54"},{"arguments":[],"functionName":{"name":"chainid","nativeSrc":"7560:7:54","nodeType":"YulIdentifier","src":"7560:7:54"},"nativeSrc":"7560:9:54","nodeType":"YulFunctionCall","src":"7560:9:54"}],"functionName":{"name":"mstore","nativeSrc":"7537:6:54","nodeType":"YulIdentifier","src":"7537:6:54"},"nativeSrc":"7537:33:54","nodeType":"YulFunctionCall","src":"7537:33:54"},"nativeSrc":"7537:33:54","nodeType":"YulExpressionStatement","src":"7537:33:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"7594:3:54","nodeType":"YulIdentifier","src":"7594:3:54"},{"kind":"number","nativeSrc":"7599:4:54","nodeType":"YulLiteral","src":"7599:4:54","type":"","value":"0xe0"}],"functionName":{"name":"add","nativeSrc":"7590:3:54","nodeType":"YulIdentifier","src":"7590:3:54"},"nativeSrc":"7590:14:54","nodeType":"YulFunctionCall","src":"7590:14:54"},{"name":"nonce","nativeSrc":"7606:5:54","nodeType":"YulIdentifier","src":"7606:5:54"}],"functionName":{"name":"mstore","nativeSrc":"7583:6:54","nodeType":"YulIdentifier","src":"7583:6:54"},"nativeSrc":"7583:29:54","nodeType":"YulFunctionCall","src":"7583:29:54"},"nativeSrc":"7583:29:54","nodeType":"YulExpressionStatement","src":"7583:29:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"7636:3:54","nodeType":"YulIdentifier","src":"7636:3:54"},{"kind":"number","nativeSrc":"7641:5:54","nodeType":"YulLiteral","src":"7641:5:54","type":"","value":"0x100"}],"functionName":{"name":"add","nativeSrc":"7632:3:54","nodeType":"YulIdentifier","src":"7632:3:54"},"nativeSrc":"7632:15:54","nodeType":"YulFunctionCall","src":"7632:15:54"},{"name":"feeAmount","nativeSrc":"7649:9:54","nodeType":"YulIdentifier","src":"7649:9:54"}],"functionName":{"name":"mstore","nativeSrc":"7625:6:54","nodeType":"YulIdentifier","src":"7625:6:54"},"nativeSrc":"7625:34:54","nodeType":"YulFunctionCall","src":"7625:34:54"},"nativeSrc":"7625:34:54","nodeType":"YulExpressionStatement","src":"7625:34:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"7683:3:54","nodeType":"YulIdentifier","src":"7683:3:54"},{"kind":"number","nativeSrc":"7688:5:54","nodeType":"YulLiteral","src":"7688:5:54","type":"","value":"0x120"}],"functionName":{"name":"add","nativeSrc":"7679:3:54","nodeType":"YulIdentifier","src":"7679:3:54"},"nativeSrc":"7679:15:54","nodeType":"YulFunctionCall","src":"7679:15:54"},{"name":"feeCollector","nativeSrc":"7696:12:54","nodeType":"YulIdentifier","src":"7696:12:54"}],"functionName":{"name":"mstore","nativeSrc":"7672:6:54","nodeType":"YulIdentifier","src":"7672:6:54"},"nativeSrc":"7672:37:54","nodeType":"YulFunctionCall","src":"7672:37:54"},"nativeSrc":"7672:37:54","nodeType":"YulExpressionStatement","src":"7672:37:54"},{"nativeSrc":"7722:35:54","nodeType":"YulAssignment","src":"7722:35:54","value":{"arguments":[{"name":"ptr","nativeSrc":"7746:3:54","nodeType":"YulIdentifier","src":"7746:3:54"},{"kind":"number","nativeSrc":"7751:5:54","nodeType":"YulLiteral","src":"7751:5:54","type":"","value":"0x140"}],"functionName":{"name":"keccak256","nativeSrc":"7736:9:54","nodeType":"YulIdentifier","src":"7736:9:54"},"nativeSrc":"7736:21:54","nodeType":"YulFunctionCall","src":"7736:21:54"},"variableNames":[{"name":"intentHash","nativeSrc":"7722:10:54","nodeType":"YulIdentifier","src":"7722:10:54"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":49640,"isOffset":false,"isSlot":false,"src":"7293:9:54","valueSize":1},{"declaration":49576,"isOffset":false,"isSlot":false,"src":"7422:6:54","valueSize":1},{"declaration":49580,"isOffset":false,"isSlot":false,"src":"7515:8:54","valueSize":1},{"declaration":49584,"isOffset":false,"isSlot":false,"src":"7649:9:54","valueSize":1},{"declaration":49586,"isOffset":false,"isSlot":false,"src":"7696:12:54","valueSize":1},{"declaration":49578,"isOffset":false,"isSlot":false,"src":"7465:13:54","valueSize":1},{"declaration":49644,"isOffset":false,"isSlot":false,"src":"7722:10:54","valueSize":1},{"declaration":49582,"isOffset":false,"isSlot":false,"src":"7606:5:54","valueSize":1},{"declaration":49574,"isOffset":false,"isSlot":false,"src":"7380:5:54","valueSize":1},{"declaration":49572,"isOffset":false,"isSlot":false,"src":"7339:4:54","valueSize":1}],"id":49646,"nodeType":"InlineAssembly","src":"7223:544:54"},{"assignments":[49648],"declarations":[{"constant":false,"id":49648,"mutability":"mutable","name":"_domainSeparator","nameLocation":"7785:16:54","nodeType":"VariableDeclaration","scope":49678,"src":"7777:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7777:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49651,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":49649,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49352,"src":"7804:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":49650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7804:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7777:45:54"},{"assignments":[49653],"declarations":[{"constant":false,"id":49653,"mutability":"mutable","name":"digest","nameLocation":"7840:6:54","nodeType":"VariableDeclaration","scope":49678,"src":"7832:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7832:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49654,"nodeType":"VariableDeclarationStatement","src":"7832:14:54"},{"AST":{"nativeSrc":"7947:232:54","nodeType":"YulBlock","src":"7947:232:54","statements":[{"nativeSrc":"7961:22:54","nodeType":"YulVariableDeclaration","src":"7961:22:54","value":{"arguments":[{"kind":"number","nativeSrc":"7978:4:54","nodeType":"YulLiteral","src":"7978:4:54","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"7972:5:54","nodeType":"YulIdentifier","src":"7972:5:54"},"nativeSrc":"7972:11:54","nodeType":"YulFunctionCall","src":"7972:11:54"},"variables":[{"name":"ptr","nativeSrc":"7965:3:54","nodeType":"YulTypedName","src":"7965:3:54","type":""}]},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"8003:3:54","nodeType":"YulIdentifier","src":"8003:3:54"},{"kind":"number","nativeSrc":"8008:6:54","nodeType":"YulLiteral","src":"8008:6:54","type":"","value":"0x1901"}],"functionName":{"name":"mstore","nativeSrc":"7996:6:54","nodeType":"YulIdentifier","src":"7996:6:54"},"nativeSrc":"7996:19:54","nodeType":"YulFunctionCall","src":"7996:19:54"},"nativeSrc":"7996:19:54","nodeType":"YulExpressionStatement","src":"7996:19:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"8039:3:54","nodeType":"YulIdentifier","src":"8039:3:54"},{"kind":"number","nativeSrc":"8044:4:54","nodeType":"YulLiteral","src":"8044:4:54","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"8035:3:54","nodeType":"YulIdentifier","src":"8035:3:54"},"nativeSrc":"8035:14:54","nodeType":"YulFunctionCall","src":"8035:14:54"},{"name":"_domainSeparator","nativeSrc":"8051:16:54","nodeType":"YulIdentifier","src":"8051:16:54"}],"functionName":{"name":"mstore","nativeSrc":"8028:6:54","nodeType":"YulIdentifier","src":"8028:6:54"},"nativeSrc":"8028:40:54","nodeType":"YulFunctionCall","src":"8028:40:54"},"nativeSrc":"8028:40:54","nodeType":"YulExpressionStatement","src":"8028:40:54"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"8092:3:54","nodeType":"YulIdentifier","src":"8092:3:54"},{"kind":"number","nativeSrc":"8097:4:54","nodeType":"YulLiteral","src":"8097:4:54","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"8088:3:54","nodeType":"YulIdentifier","src":"8088:3:54"},"nativeSrc":"8088:14:54","nodeType":"YulFunctionCall","src":"8088:14:54"},{"name":"intentHash","nativeSrc":"8104:10:54","nodeType":"YulIdentifier","src":"8104:10:54"}],"functionName":{"name":"mstore","nativeSrc":"8081:6:54","nodeType":"YulIdentifier","src":"8081:6:54"},"nativeSrc":"8081:34:54","nodeType":"YulFunctionCall","src":"8081:34:54"},"nativeSrc":"8081:34:54","nodeType":"YulExpressionStatement","src":"8081:34:54"},{"nativeSrc":"8128:41:54","nodeType":"YulAssignment","src":"8128:41:54","value":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"8152:3:54","nodeType":"YulIdentifier","src":"8152:3:54"},{"kind":"number","nativeSrc":"8157:4:54","nodeType":"YulLiteral","src":"8157:4:54","type":"","value":"0x1e"}],"functionName":{"name":"add","nativeSrc":"8148:3:54","nodeType":"YulIdentifier","src":"8148:3:54"},"nativeSrc":"8148:14:54","nodeType":"YulFunctionCall","src":"8148:14:54"},{"kind":"number","nativeSrc":"8164:4:54","nodeType":"YulLiteral","src":"8164:4:54","type":"","value":"0x42"}],"functionName":{"name":"keccak256","nativeSrc":"8138:9:54","nodeType":"YulIdentifier","src":"8138:9:54"},"nativeSrc":"8138:31:54","nodeType":"YulFunctionCall","src":"8138:31:54"},"variableNames":[{"name":"digest","nativeSrc":"8128:6:54","nodeType":"YulIdentifier","src":"8128:6:54"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":49648,"isOffset":false,"isSlot":false,"src":"8051:16:54","valueSize":1},{"declaration":49653,"isOffset":false,"isSlot":false,"src":"8128:6:54","valueSize":1},{"declaration":49644,"isOffset":false,"isSlot":false,"src":"8104:10:54","valueSize":1}],"id":49655,"nodeType":"InlineAssembly","src":"7938:241:54"},{"assignments":[49657],"declarations":[{"constant":false,"id":49657,"mutability":"mutable","name":"recovered","nameLocation":"8196:9:54","nodeType":"VariableDeclaration","scope":49678,"src":"8188:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49656,"name":"address","nodeType":"ElementaryTypeName","src":"8188:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49665,"initialValue":{"arguments":[{"id":49660,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49653,"src":"8222:6:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49661,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49588,"src":"8230:4:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":49662,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49590,"src":"8236:4:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":49663,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49592,"src":"8242:4:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":49658,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44850,"src":"8208:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$44850_$","typeString":"type(library ECDSA)"}},"id":49659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8214:7:54","memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":44772,"src":"8208:13:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":49664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8208:39:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"8188:59:54"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49666,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49657,"src":"8261:9:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49667,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49572,"src":"8274:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8261:17:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49672,"nodeType":"IfStatement","src":"8257:54:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49669,"name":"InvalidIntentSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49319,"src":"8287:22:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8287:24:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49671,"nodeType":"RevertStatement","src":"8280:31:54"}},{"expression":{"id":49676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8362:14:54","subExpression":{"baseExpression":{"id":49673,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49330,"src":"8362:6:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":49675,"indexExpression":{"id":49674,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49572,"src":"8369:4:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8362:12:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49677,"nodeType":"ExpressionStatement","src":"8362:14:54"}]},"documentation":{"id":49570,"nodeType":"StructuredDocumentation","src":"6144:54:54","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_verifyAndMarkIntent","nameLocation":"6212:20:54","parameters":{"id":49593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49572,"mutability":"mutable","name":"user","nameLocation":"6250:4:54","nodeType":"VariableDeclaration","scope":49679,"src":"6242:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49571,"name":"address","nodeType":"ElementaryTypeName","src":"6242:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49574,"mutability":"mutable","name":"token","nameLocation":"6272:5:54","nodeType":"VariableDeclaration","scope":49679,"src":"6264:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49573,"name":"address","nodeType":"ElementaryTypeName","src":"6264:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49576,"mutability":"mutable","name":"amount","nameLocation":"6295:6:54","nodeType":"VariableDeclaration","scope":49679,"src":"6287:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49575,"name":"uint256","nodeType":"ElementaryTypeName","src":"6287:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49578,"mutability":"mutable","name":"intentAddress","nameLocation":"6319:13:54","nodeType":"VariableDeclaration","scope":49679,"src":"6311:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49577,"name":"address","nodeType":"ElementaryTypeName","src":"6311:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49580,"mutability":"mutable","name":"deadline","nameLocation":"6350:8:54","nodeType":"VariableDeclaration","scope":49679,"src":"6342:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49579,"name":"uint256","nodeType":"ElementaryTypeName","src":"6342:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49582,"mutability":"mutable","name":"nonce","nameLocation":"6376:5:54","nodeType":"VariableDeclaration","scope":49679,"src":"6368:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49581,"name":"uint256","nodeType":"ElementaryTypeName","src":"6368:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49584,"mutability":"mutable","name":"feeAmount","nameLocation":"6399:9:54","nodeType":"VariableDeclaration","scope":49679,"src":"6391:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49583,"name":"uint256","nodeType":"ElementaryTypeName","src":"6391:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49586,"mutability":"mutable","name":"feeCollector","nameLocation":"6426:12:54","nodeType":"VariableDeclaration","scope":49679,"src":"6418:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49585,"name":"address","nodeType":"ElementaryTypeName","src":"6418:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49588,"mutability":"mutable","name":"sigV","nameLocation":"6454:4:54","nodeType":"VariableDeclaration","scope":49679,"src":"6448:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":49587,"name":"uint8","nodeType":"ElementaryTypeName","src":"6448:5:54","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":49590,"mutability":"mutable","name":"sigR","nameLocation":"6476:4:54","nodeType":"VariableDeclaration","scope":49679,"src":"6468:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6468:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":49592,"mutability":"mutable","name":"sigS","nameLocation":"6498:4:54","nodeType":"VariableDeclaration","scope":49679,"src":"6490:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6490:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6232:276:54"},"returnParameters":{"id":49594,"nodeType":"ParameterList","parameters":[],"src":"6518:0:54"},"scope":49680,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":49270,"name":"ReentrancyGuard","nameLocations":["738:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":42570,"src":"738:15:54"},"id":49271,"nodeType":"InheritanceSpecifier","src":"738:15:54"},{"baseName":{"id":49272,"name":"ITrailsIntentEntrypoint","nameLocations":["755:23:54"],"nodeType":"IdentifierPath","referencedDeclaration":51300,"src":"755:23:54"},"id":49273,"nodeType":"InheritanceSpecifier","src":"755:23:54"}],"canonicalName":"TrailsIntentEntrypoint","contractDependencies":[],"contractKind":"contract","documentation":{"id":49269,"nodeType":"StructuredDocumentation","src":"548:155:54","text":"@title TrailsIntentEntrypoint\n @author Miguel Mota\n @notice A contract to facilitate deposits to intent addresses with off-chain signed intents."},"fullyImplemented":true,"linearizedBaseContracts":[49680,51300,42570],"name":"TrailsIntentEntrypoint","nameLocation":"712:22:54","scope":49681,"usedErrors":[41151,42477,44402,44407,44412,49311,49313,49315,49317,49319,49321,49323,49325],"usedEvents":[51202,51213]}],"license":"MIT"}},"src/TrailsRouter.sol":{"id":55,"ast":{"absolutePath":"src/TrailsRouter.sol","id":50973,"exportedSymbols":{"DelegatecallGuard":[51143],"IDelegatedExtension":[48994],"IERC20":[40923],"IMulticall3":[51190],"ITrailsRouter":[51476],"SafeERC20":[41594],"TrailsRouter":[50972],"TrailsSentinelLib":[51527],"Tstorish":[48974]},"nodeType":"SourceUnit","src":"32:16224:55","nodes":[{"id":49682,"nodeType":"PragmaDirective","src":"32:24:55","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":49684,"nodeType":"ImportDirective","src":"58:82:55","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":50973,"sourceUnit":41595,"symbolAliases":[{"foreign":{"id":49683,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41594,"src":"66:9:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49686,"nodeType":"ImportDirective","src":"141:70:55","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":50973,"sourceUnit":40924,"symbolAliases":[{"foreign":{"id":49685,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"149:6:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49688,"nodeType":"ImportDirective","src":"212:99:55","nodes":[],"absolutePath":"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol","file":"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol","nameLocation":"-1:-1:-1","scope":50973,"sourceUnit":48995,"symbolAliases":[{"foreign":{"id":49687,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"220:19:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49690,"nodeType":"ImportDirective","src":"312:47:55","nodes":[],"absolutePath":"lib/tstorish/src/Tstorish.sol","file":"tstorish/Tstorish.sol","nameLocation":"-1:-1:-1","scope":50973,"sourceUnit":48975,"symbolAliases":[{"foreign":{"id":49689,"name":"Tstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48974,"src":"320:8:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49692,"nodeType":"ImportDirective","src":"360:65:55","nodes":[],"absolutePath":"src/guards/DelegatecallGuard.sol","file":"./guards/DelegatecallGuard.sol","nameLocation":"-1:-1:-1","scope":50973,"sourceUnit":51144,"symbolAliases":[{"foreign":{"id":49691,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"368:17:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49694,"nodeType":"ImportDirective","src":"426:57:55","nodes":[],"absolutePath":"src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":50973,"sourceUnit":51191,"symbolAliases":[{"foreign":{"id":49693,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"434:11:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49696,"nodeType":"ImportDirective","src":"484:61:55","nodes":[],"absolutePath":"src/interfaces/ITrailsRouter.sol","file":"./interfaces/ITrailsRouter.sol","nameLocation":"-1:-1:-1","scope":50973,"sourceUnit":51477,"symbolAliases":[{"foreign":{"id":49695,"name":"ITrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51476,"src":"492:13:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49698,"nodeType":"ImportDirective","src":"546:68:55","nodes":[],"absolutePath":"src/libraries/TrailsSentinelLib.sol","file":"./libraries/TrailsSentinelLib.sol","nameLocation":"-1:-1:-1","scope":50973,"sourceUnit":51528,"symbolAliases":[{"foreign":{"id":49697,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"554:17:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":50972,"nodeType":"ContractDefinition","src":"911:15344:55","nodes":[{"id":49711,"nodeType":"UsingForDirective","src":"1185:27:55","nodes":[],"global":false,"libraryName":{"id":49708,"name":"SafeERC20","nameLocations":["1191:9:55"],"nodeType":"IdentifierPath","referencedDeclaration":41594,"src":"1191:9:55"},"typeName":{"id":49710,"nodeType":"UserDefinedTypeName","pathNode":{"id":49709,"name":"IERC20","nameLocations":["1205:6:55"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"1205:6:55"},"referencedDeclaration":40923,"src":"1205:6:55","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}}},{"id":49713,"nodeType":"VariableDeclaration","src":"1408:35:55","nodes":[],"constant":false,"functionSelector":"c2add59d","mutability":"immutable","name":"MULTICALL3","nameLocation":"1433:10:55","scope":50972,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49712,"name":"address","nodeType":"ElementaryTypeName","src":"1408:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":49723,"nodeType":"FunctionDefinition","src":"1632:74:55","nodes":[],"body":{"id":49722,"nodeType":"Block","src":"1665:41:55","nodes":[],"statements":[{"expression":{"id":49720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49718,"name":"MULTICALL3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49713,"src":"1675:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":49719,"name":"_multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49715,"src":"1688:11:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1675:24:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":49721,"nodeType":"ExpressionStatement","src":"1675:24:55"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":49716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49715,"mutability":"mutable","name":"_multicall3","nameLocation":"1652:11:55","nodeType":"VariableDeclaration","scope":49723,"src":"1644:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49714,"name":"address","nodeType":"ElementaryTypeName","src":"1644:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1643:21:55"},"returnParameters":{"id":49717,"nodeType":"ParameterList","parameters":[],"src":"1665:0:55"},"scope":50972,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":49725,"nodeType":"ErrorDefinition","src":"1889:29:55","nodes":[],"errorSelector":"f4b3b1bc","name":"NativeTransferFailed","nameLocation":"1895:20:55","parameters":{"id":49724,"nodeType":"ParameterList","parameters":[],"src":"1915:2:55"}},{"id":49729,"nodeType":"ErrorDefinition","src":"1923:48:55","nodes":[],"errorSelector":"fbdc7301","name":"InvalidDelegatedSelector","nameLocation":"1929:24:55","parameters":{"id":49728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49727,"mutability":"mutable","name":"selector","nameLocation":"1961:8:55","nodeType":"VariableDeclaration","scope":49729,"src":"1954:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":49726,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1954:6:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1953:17:55"}},{"id":49733,"nodeType":"ErrorDefinition","src":"1976:47:55","nodes":[],"errorSelector":"432df3c4","name":"InvalidFunctionSelector","nameLocation":"1982:23:55","parameters":{"id":49732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49731,"mutability":"mutable","name":"selector","nameLocation":"2013:8:55","nodeType":"VariableDeclaration","scope":49733,"src":"2006:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":49730,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2006:6:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2005:17:55"}},{"id":49737,"nodeType":"ErrorDefinition","src":"2028:49:55","nodes":[],"errorSelector":"ae701fc4","name":"AllowFailureMustBeFalse","nameLocation":"2034:23:55","parameters":{"id":49736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49735,"mutability":"mutable","name":"callIndex","nameLocation":"2066:9:55","nodeType":"VariableDeclaration","scope":49737,"src":"2058:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49734,"name":"uint256","nodeType":"ElementaryTypeName","src":"2058:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2057:19:55"}},{"id":49739,"nodeType":"ErrorDefinition","src":"2082:30:55","nodes":[],"errorSelector":"43f7ed76","name":"SuccessSentinelNotSet","nameLocation":"2088:21:55","parameters":{"id":49738,"nodeType":"ParameterList","parameters":[],"src":"2109:2:55"}},{"id":49741,"nodeType":"ErrorDefinition","src":"2117:25:55","nodes":[],"errorSelector":"891a31ae","name":"NoValueAvailable","nameLocation":"2123:16:55","parameters":{"id":49740,"nodeType":"ParameterList","parameters":[],"src":"2139:2:55"}},{"id":49743,"nodeType":"ErrorDefinition","src":"2147:23:55","nodes":[],"errorSelector":"6920aa0f","name":"NoTokensToPull","nameLocation":"2153:14:55","parameters":{"id":49742,"nodeType":"ParameterList","parameters":[],"src":"2167:2:55"}},{"id":49749,"nodeType":"ErrorDefinition","src":"2175:57:55","nodes":[],"errorSelector":"b25102da","name":"IncorrectValue","nameLocation":"2181:14:55","parameters":{"id":49748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49745,"mutability":"mutable","name":"required","nameLocation":"2204:8:55","nodeType":"VariableDeclaration","scope":49749,"src":"2196:16:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49744,"name":"uint256","nodeType":"ElementaryTypeName","src":"2196:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49747,"mutability":"mutable","name":"received","nameLocation":"2222:8:55","nodeType":"VariableDeclaration","scope":49749,"src":"2214:16:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49746,"name":"uint256","nodeType":"ElementaryTypeName","src":"2214:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2195:36:55"}},{"id":49751,"nodeType":"ErrorDefinition","src":"2237:24:55","nodes":[],"errorSelector":"22fbbd6a","name":"NoTokensToSweep","nameLocation":"2243:15:55","parameters":{"id":49750,"nodeType":"ParameterList","parameters":[],"src":"2258:2:55"}},{"id":49753,"nodeType":"ErrorDefinition","src":"2266:32:55","nodes":[],"errorSelector":"4daf251f","name":"AmountOffsetOutOfBounds","nameLocation":"2272:23:55","parameters":{"id":49752,"nodeType":"ParameterList","parameters":[],"src":"2295:2:55"}},{"id":49755,"nodeType":"ErrorDefinition","src":"2303:28:55","nodes":[],"errorSelector":"cc00c48a","name":"PlaceholderMismatch","nameLocation":"2309:19:55","parameters":{"id":49754,"nodeType":"ParameterList","parameters":[],"src":"2328:2:55"}},{"id":49759,"nodeType":"ErrorDefinition","src":"2336:41:55","nodes":[],"errorSelector":"a932c97a","name":"TargetCallFailed","nameLocation":"2342:16:55","parameters":{"id":49758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49757,"mutability":"mutable","name":"revertData","nameLocation":"2365:10:55","nodeType":"VariableDeclaration","scope":49759,"src":"2359:16:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49756,"name":"bytes","nodeType":"ElementaryTypeName","src":"2359:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2358:18:55"}},{"id":49764,"nodeType":"FunctionDefinition","src":"2651:29:55","nodes":[],"body":{"id":49763,"nodeType":"Block","src":"2678:2:55","nodes":[],"statements":[]},"documentation":{"id":49760,"nodeType":"StructuredDocumentation","src":"2565:81:55","text":"@notice Allow direct native token transfers when contract is used standalone."},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":49761,"nodeType":"ParameterList","parameters":[],"src":"2658:2:55"},"returnParameters":{"id":49762,"nodeType":"ParameterList","parameters":[],"src":"2678:0:55"},"scope":50972,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":49804,"nodeType":"FunctionDefinition","src":"2918:350:55","nodes":[],"body":{"id":49803,"nodeType":"Block","src":"3023:245:55","nodes":[],"statements":[{"expression":{"arguments":[{"id":49775,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49767,"src":"3053:4:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":49774,"name":"_validateRouterCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50971,"src":"3033:19:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (bytes calldata) pure"}},"id":49776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3033:25:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49777,"nodeType":"ExpressionStatement","src":"3033:25:55"},{"assignments":[49779,49781],"declarations":[{"constant":false,"id":49779,"mutability":"mutable","name":"success","nameLocation":"3074:7:55","nodeType":"VariableDeclaration","scope":49803,"src":"3069:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49778,"name":"bool","nodeType":"ElementaryTypeName","src":"3069:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49781,"mutability":"mutable","name":"returnData","nameLocation":"3096:10:55","nodeType":"VariableDeclaration","scope":49803,"src":"3083:23:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49780,"name":"bytes","nodeType":"ElementaryTypeName","src":"3083:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":49786,"initialValue":{"arguments":[{"id":49784,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49767,"src":"3134:4:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":49782,"name":"MULTICALL3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49713,"src":"3110:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":49783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3121:12:55","memberName":"delegatecall","nodeType":"MemberAccess","src":"3110:23:55","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":49785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3110:29:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3068:71:55"},{"condition":{"id":49788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3153:8:55","subExpression":{"id":49787,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49779,"src":"3154:7:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49793,"nodeType":"IfStatement","src":"3149:49:55","trueBody":{"errorCall":{"arguments":[{"id":49790,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49781,"src":"3187:10:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49789,"name":"TargetCallFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49759,"src":"3170:16:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":49791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3170:28:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49792,"nodeType":"RevertStatement","src":"3163:35:55"}},{"expression":{"arguments":[{"id":49796,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49781,"src":"3226:10:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":49797,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"3239:11:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":49798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3251:6:55","memberName":"Result","nodeType":"MemberAccess","referencedDeclaration":51167,"src":"3239:18:55","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$51167_storage_ptr_$","typeString":"type(struct IMulticall3.Result storage pointer)"}},"id":49799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3239:20:55","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Result memory[] memory)"}}],"id":49800,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3238:22:55","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Result memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Result memory[] memory)"}],"expression":{"id":49794,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3215:3:55","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3219:6:55","memberName":"decode","nodeType":"MemberAccess","src":"3215:10:55","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":49801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3215:46:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"functionReturnParameters":49773,"id":49802,"nodeType":"Return","src":"3208:53:55"}]},"baseFunctions":[51375],"documentation":{"id":49765,"nodeType":"StructuredDocumentation","src":"2884:29:55","text":"@inheritdoc ITrailsRouter"},"functionSelector":"09c5eabe","implemented":true,"kind":"function","modifiers":[],"name":"execute","nameLocation":"2927:7:55","parameters":{"id":49768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49767,"mutability":"mutable","name":"data","nameLocation":"2950:4:55","nodeType":"VariableDeclaration","scope":49804,"src":"2935:19:55","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":49766,"name":"bytes","nodeType":"ElementaryTypeName","src":"2935:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2934:21:55"},"returnParameters":{"id":49773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49772,"mutability":"mutable","name":"returnResults","nameLocation":"3008:13:55","nodeType":"VariableDeclaration","scope":49804,"src":"2980:41:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":49770,"nodeType":"UserDefinedTypeName","pathNode":{"id":49769,"name":"IMulticall3.Result","nameLocations":["2980:11:55","2992:6:55"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"2980:18:55"},"referencedDeclaration":51167,"src":"2980:18:55","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":49771,"nodeType":"ArrayTypeName","src":"2980:20:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2979:43:55"},"scope":50972,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":49863,"nodeType":"FunctionDefinition","src":"3308:505:55","nodes":[],"body":{"id":49862,"nodeType":"Block","src":"3463:350:55","nodes":[],"statements":[{"assignments":[49817],"declarations":[{"constant":false,"id":49817,"mutability":"mutable","name":"amount","nameLocation":"3481:6:55","nodeType":"VariableDeclaration","scope":49862,"src":"3473:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49816,"name":"uint256","nodeType":"ElementaryTypeName","src":"3473:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49818,"nodeType":"VariableDeclarationStatement","src":"3473:14:55"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49819,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49807,"src":"3501:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":49822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3518:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":49821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3510:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49820,"name":"address","nodeType":"ElementaryTypeName","src":"3510:7:55","typeDescriptions":{}}},"id":49823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3510:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3501:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":49854,"nodeType":"Block","src":"3630:118:55","statements":[{"expression":{"id":49845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49839,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49817,"src":"3644:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49841,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49807,"src":"3665:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":49842,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3672:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3676:6:55","memberName":"sender","nodeType":"MemberAccess","src":"3672:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49840,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"3653:11:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":49844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3653:30:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3644:39:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49846,"nodeType":"ExpressionStatement","src":"3644:39:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49847,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49817,"src":"3701:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":49848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3711:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3701:11:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49853,"nodeType":"IfStatement","src":"3697:40:55","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49850,"name":"NoTokensToPull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49743,"src":"3721:14:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3721:16:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49852,"nodeType":"RevertStatement","src":"3714:23:55"}}]},"id":49855,"nodeType":"IfStatement","src":"3497:251:55","trueBody":{"id":49838,"nodeType":"Block","src":"3522:102:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":49825,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3540:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3544:5:55","memberName":"value","nodeType":"MemberAccess","src":"3540:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":49827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3553:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3540:14:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49832,"nodeType":"IfStatement","src":"3536:45:55","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":49829,"name":"NoValueAvailable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49741,"src":"3563:16:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3563:18:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49831,"nodeType":"RevertStatement","src":"3556:25:55"}},{"expression":{"id":49836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49833,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49817,"src":"3595:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":49834,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3604:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3608:5:55","memberName":"value","nodeType":"MemberAccess","src":"3604:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3595:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49837,"nodeType":"ExpressionStatement","src":"3595:18:55"}]}},{"expression":{"arguments":[{"id":49857,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49807,"src":"3786:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49858,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49817,"src":"3793:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49859,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49809,"src":"3801:4:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":49856,"name":"pullAmountAndExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49991,"src":"3765:20:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes calldata) returns (struct IMulticall3.Result memory[] memory)"}},"id":49860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3765:41:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"functionReturnParameters":49815,"id":49861,"nodeType":"Return","src":"3758:48:55"}]},"baseFunctions":[51387],"documentation":{"id":49805,"nodeType":"StructuredDocumentation","src":"3274:29:55","text":"@inheritdoc ITrailsRouter"},"functionSelector":"7a7eeb4f","implemented":true,"kind":"function","modifiers":[],"name":"pullAndExecute","nameLocation":"3317:14:55","parameters":{"id":49810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49807,"mutability":"mutable","name":"token","nameLocation":"3340:5:55","nodeType":"VariableDeclaration","scope":49863,"src":"3332:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49806,"name":"address","nodeType":"ElementaryTypeName","src":"3332:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49809,"mutability":"mutable","name":"data","nameLocation":"3362:4:55","nodeType":"VariableDeclaration","scope":49863,"src":"3347:19:55","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":49808,"name":"bytes","nodeType":"ElementaryTypeName","src":"3347:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3331:36:55"},"returnParameters":{"id":49815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49814,"mutability":"mutable","name":"returnResults","nameLocation":"3444:13:55","nodeType":"VariableDeclaration","scope":49863,"src":"3416:41:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":49812,"nodeType":"UserDefinedTypeName","pathNode":{"id":49811,"name":"IMulticall3.Result","nameLocations":["3416:11:55","3428:6:55"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"3416:18:55"},"referencedDeclaration":51167,"src":"3416:18:55","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":49813,"nodeType":"ArrayTypeName","src":"3416:20:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"3415:43:55"},"scope":50972,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":49991,"nodeType":"FunctionDefinition","src":"3853:1265:55","nodes":[],"body":{"id":49990,"nodeType":"Block","src":"4030:1088:55","nodes":[],"statements":[{"expression":{"arguments":[{"id":49878,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49870,"src":"4060:4:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":49877,"name":"_validateRouterCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50971,"src":"4040:19:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (bytes calldata) pure"}},"id":49879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4040:25:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49880,"nodeType":"ExpressionStatement","src":"4040:25:55"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49881,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49866,"src":"4079:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":49884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4096:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":49883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4088:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49882,"name":"address","nodeType":"ElementaryTypeName","src":"4088:7:55","typeDescriptions":{}}},"id":49885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4088:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4079:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":49921,"nodeType":"Block","src":"4196:153:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":49899,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4214:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4218:5:55","memberName":"value","nodeType":"MemberAccess","src":"4214:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":49901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4227:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4214:14:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49909,"nodeType":"IfStatement","src":"4210:55:55","trueBody":{"errorCall":{"arguments":[{"hexValue":"30","id":49904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4252:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":49905,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4255:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4259:5:55","memberName":"value","nodeType":"MemberAccess","src":"4255:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49903,"name":"IncorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49749,"src":"4237:14:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":49907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4237:28:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49908,"nodeType":"RevertStatement","src":"4230:35:55"}},{"expression":{"arguments":[{"id":49911,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49866,"src":"4297:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":49912,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4304:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4308:6:55","memberName":"sender","nodeType":"MemberAccess","src":"4304:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":49916,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4324:4:55","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":49915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4316:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49914,"name":"address","nodeType":"ElementaryTypeName","src":"4316:7:55","typeDescriptions":{}}},"id":49917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4316:13:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49918,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49868,"src":"4331:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49910,"name":"_safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50566,"src":"4279:17:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256)"}},"id":49919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4279:59:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49920,"nodeType":"ExpressionStatement","src":"4279:59:55"}]},"id":49922,"nodeType":"IfStatement","src":"4075:274:55","trueBody":{"id":49898,"nodeType":"Block","src":"4100:90:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":49887,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4118:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4122:5:55","memberName":"value","nodeType":"MemberAccess","src":"4118:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49889,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49868,"src":"4131:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4118:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49897,"nodeType":"IfStatement","src":"4114:65:55","trueBody":{"errorCall":{"arguments":[{"id":49892,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49868,"src":"4161:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":49893,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4169:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4173:5:55","memberName":"value","nodeType":"MemberAccess","src":"4169:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49891,"name":"IncorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49749,"src":"4146:14:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":49895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4146:33:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49896,"nodeType":"RevertStatement","src":"4139:40:55"}}]}},{"assignments":[49924,49926],"declarations":[{"constant":false,"id":49924,"mutability":"mutable","name":"success","nameLocation":"4365:7:55","nodeType":"VariableDeclaration","scope":49990,"src":"4360:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49923,"name":"bool","nodeType":"ElementaryTypeName","src":"4360:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49926,"mutability":"mutable","name":"returnData","nameLocation":"4387:10:55","nodeType":"VariableDeclaration","scope":49990,"src":"4374:23:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49925,"name":"bytes","nodeType":"ElementaryTypeName","src":"4374:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":49931,"initialValue":{"arguments":[{"id":49929,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49870,"src":"4425:4:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":49927,"name":"MULTICALL3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49713,"src":"4401:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":49928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4412:12:55","memberName":"delegatecall","nodeType":"MemberAccess","src":"4401:23:55","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":49930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4401:29:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4359:71:55"},{"condition":{"id":49933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4444:8:55","subExpression":{"id":49932,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49924,"src":"4445:7:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49938,"nodeType":"IfStatement","src":"4440:49:55","trueBody":{"errorCall":{"arguments":[{"id":49935,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49926,"src":"4478:10:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49934,"name":"TargetCallFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49759,"src":"4461:16:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":49936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4461:28:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49937,"nodeType":"RevertStatement","src":"4454:35:55"}},{"expression":{"id":49948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49939,"name":"returnResults","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49875,"src":"4499:13:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49942,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49926,"src":"4526:10:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":49943,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"4539:11:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":49944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4551:6:55","memberName":"Result","nodeType":"MemberAccess","referencedDeclaration":51167,"src":"4539:18:55","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$51167_storage_ptr_$","typeString":"type(struct IMulticall3.Result storage pointer)"}},"id":49945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4539:20:55","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Result memory[] memory)"}}],"id":49946,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4538:22:55","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Result memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Result memory[] memory)"}],"expression":{"id":49940,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4515:3:55","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4519:6:55","memberName":"decode","nodeType":"MemberAccess","src":"4515:10:55","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":49947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4515:46:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"src":"4499:62:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":49949,"nodeType":"ExpressionStatement","src":"4499:62:55"},{"assignments":[49951],"declarations":[{"constant":false,"id":49951,"mutability":"mutable","name":"remaining","nameLocation":"4792:9:55","nodeType":"VariableDeclaration","scope":49990,"src":"4784:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49950,"name":"uint256","nodeType":"ElementaryTypeName","src":"4784:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49955,"initialValue":{"arguments":[{"id":49953,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49866,"src":"4820:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49952,"name":"_getSelfBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50663,"src":"4804:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":49954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4804:22:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4784:42:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49956,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49951,"src":"4840:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":49957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4852:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4840:13:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49989,"nodeType":"IfStatement","src":"4836:276:55","trueBody":{"id":49988,"nodeType":"Block","src":"4855:257:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49959,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49866,"src":"4873:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":49962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4890:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":49961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4882:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49960,"name":"address","nodeType":"ElementaryTypeName","src":"4882:7:55","typeDescriptions":{}}},"id":49963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4882:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4873:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":49979,"nodeType":"Block","src":"4971:77:55","statements":[{"expression":{"arguments":[{"id":49973,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49866,"src":"5004:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":49974,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5011:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5015:6:55","memberName":"sender","nodeType":"MemberAccess","src":"5011:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49976,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49951,"src":"5023:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49972,"name":"_transferERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50619,"src":"4989:14:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":49977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4989:44:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49978,"nodeType":"ExpressionStatement","src":"4989:44:55"}]},"id":49980,"nodeType":"IfStatement","src":"4869:179:55","trueBody":{"id":49971,"nodeType":"Block","src":"4894:71:55","statements":[{"expression":{"arguments":[{"expression":{"id":49966,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4928:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4932:6:55","memberName":"sender","nodeType":"MemberAccess","src":"4928:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49968,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49951,"src":"4940:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49965,"name":"_transferNative","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50593,"src":"4912:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":49969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4912:38:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49970,"nodeType":"ExpressionStatement","src":"4912:38:55"}]}},{"eventCall":{"arguments":[{"id":49982,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49866,"src":"5072:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":49983,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5079:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5083:6:55","memberName":"sender","nodeType":"MemberAccess","src":"5079:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49985,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49951,"src":"5091:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49981,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51341,"src":"5066:5:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":49986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5066:35:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49987,"nodeType":"EmitStatement","src":"5061:40:55"}]}}]},"baseFunctions":[51401],"documentation":{"id":49864,"nodeType":"StructuredDocumentation","src":"3819:29:55","text":"@inheritdoc ITrailsRouter"},"functionSelector":"a9baaaf5","implemented":true,"kind":"function","modifiers":[],"name":"pullAmountAndExecute","nameLocation":"3862:20:55","parameters":{"id":49871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49866,"mutability":"mutable","name":"token","nameLocation":"3891:5:55","nodeType":"VariableDeclaration","scope":49991,"src":"3883:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49865,"name":"address","nodeType":"ElementaryTypeName","src":"3883:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49868,"mutability":"mutable","name":"amount","nameLocation":"3906:6:55","nodeType":"VariableDeclaration","scope":49991,"src":"3898:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49867,"name":"uint256","nodeType":"ElementaryTypeName","src":"3898:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49870,"mutability":"mutable","name":"data","nameLocation":"3929:4:55","nodeType":"VariableDeclaration","scope":49991,"src":"3914:19:55","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":49869,"name":"bytes","nodeType":"ElementaryTypeName","src":"3914:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3882:52:55"},"returnParameters":{"id":49876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49875,"mutability":"mutable","name":"returnResults","nameLocation":"4011:13:55","nodeType":"VariableDeclaration","scope":49991,"src":"3983:41:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":49873,"nodeType":"UserDefinedTypeName","pathNode":{"id":49872,"name":"IMulticall3.Result","nameLocations":["3983:11:55","3995:6:55"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"3983:18:55"},"referencedDeclaration":51167,"src":"3983:18:55","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":49874,"nodeType":"ArrayTypeName","src":"3983:20:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"3982:43:55"},"scope":50972,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":50076,"nodeType":"FunctionDefinition","src":"5356:763:55","nodes":[],"body":{"id":50075,"nodeType":"Block","src":"5546:573:55","nodes":[],"statements":[{"assignments":[50006],"declarations":[{"constant":false,"id":50006,"mutability":"mutable","name":"callerBalance","nameLocation":"5564:13:55","nodeType":"VariableDeclaration","scope":50075,"src":"5556:21:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50005,"name":"uint256","nodeType":"ElementaryTypeName","src":"5556:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50007,"nodeType":"VariableDeclarationStatement","src":"5556:21:55"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50008,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49994,"src":"5592:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5609:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5601:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50009,"name":"address","nodeType":"ElementaryTypeName","src":"5601:7:55","typeDescriptions":{}}},"id":50012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5601:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5592:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50064,"nodeType":"Block","src":"5732:282:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50027,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5750:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5754:5:55","memberName":"value","nodeType":"MemberAccess","src":"5750:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":50029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5763:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5750:14:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50037,"nodeType":"IfStatement","src":"5746:55:55","trueBody":{"errorCall":{"arguments":[{"hexValue":"30","id":50032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5788:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":50033,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5791:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5795:5:55","memberName":"value","nodeType":"MemberAccess","src":"5791:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50031,"name":"IncorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49749,"src":"5773:14:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":50035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5773:28:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50036,"nodeType":"RevertStatement","src":"5766:35:55"}},{"expression":{"id":50044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50038,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50006,"src":"5815:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50040,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49994,"src":"5843:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":50041,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5850:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5854:6:55","memberName":"sender","nodeType":"MemberAccess","src":"5850:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50039,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"5831:11:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":50043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5831:30:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5815:46:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50045,"nodeType":"ExpressionStatement","src":"5815:46:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50046,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50006,"src":"5879:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5896:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5879:18:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50052,"nodeType":"IfStatement","src":"5875:48:55","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50049,"name":"NoTokensToSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49751,"src":"5906:15:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5906:17:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50051,"nodeType":"RevertStatement","src":"5899:24:55"}},{"expression":{"arguments":[{"id":50054,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49994,"src":"5955:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":50055,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5962:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5966:6:55","memberName":"sender","nodeType":"MemberAccess","src":"5962:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":50059,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5982:4:55","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":50058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5974:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50057,"name":"address","nodeType":"ElementaryTypeName","src":"5974:7:55","typeDescriptions":{}}},"id":50060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:13:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50061,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50006,"src":"5989:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50053,"name":"_safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50566,"src":"5937:17:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256)"}},"id":50062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5937:66:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50063,"nodeType":"ExpressionStatement","src":"5937:66:55"}]},"id":50065,"nodeType":"IfStatement","src":"5588:426:55","trueBody":{"id":50026,"nodeType":"Block","src":"5613:113:55","statements":[{"expression":{"id":50017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50014,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50006,"src":"5627:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":50015,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5643:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5647:5:55","memberName":"value","nodeType":"MemberAccess","src":"5643:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5627:25:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50018,"nodeType":"ExpressionStatement","src":"5627:25:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50019,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50006,"src":"5670:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5687:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5670:18:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50025,"nodeType":"IfStatement","src":"5666:49:55","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50022,"name":"NoValueAvailable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49741,"src":"5697:16:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:18:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50024,"nodeType":"RevertStatement","src":"5690:25:55"}}]}},{"expression":{"arguments":[{"id":50067,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49994,"src":"6046:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50068,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49996,"src":"6053:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50069,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49998,"src":"6061:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":50070,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50000,"src":"6071:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50071,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50002,"src":"6085:11:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":50072,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50006,"src":"6098:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50066,"name":"_injectAndExecuteCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50847,"src":"6024:21:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32,uint256)"}},"id":50073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6024:88:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50074,"nodeType":"ExpressionStatement","src":"6024:88:55"}]},"baseFunctions":[51415],"documentation":{"id":49992,"nodeType":"StructuredDocumentation","src":"5322:29:55","text":"@inheritdoc ITrailsRouter"},"functionSelector":"c5e5153b","implemented":true,"kind":"function","modifiers":[],"name":"injectSweepAndCall","nameLocation":"5365:18:55","parameters":{"id":50003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49994,"mutability":"mutable","name":"token","nameLocation":"5401:5:55","nodeType":"VariableDeclaration","scope":50076,"src":"5393:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49993,"name":"address","nodeType":"ElementaryTypeName","src":"5393:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49996,"mutability":"mutable","name":"target","nameLocation":"5424:6:55","nodeType":"VariableDeclaration","scope":50076,"src":"5416:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49995,"name":"address","nodeType":"ElementaryTypeName","src":"5416:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49998,"mutability":"mutable","name":"callData","nameLocation":"5455:8:55","nodeType":"VariableDeclaration","scope":50076,"src":"5440:23:55","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":49997,"name":"bytes","nodeType":"ElementaryTypeName","src":"5440:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":50000,"mutability":"mutable","name":"amountOffset","nameLocation":"5481:12:55","nodeType":"VariableDeclaration","scope":50076,"src":"5473:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49999,"name":"uint256","nodeType":"ElementaryTypeName","src":"5473:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50002,"mutability":"mutable","name":"placeholder","nameLocation":"5511:11:55","nodeType":"VariableDeclaration","scope":50076,"src":"5503:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5503:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5383:145:55"},"returnParameters":{"id":50004,"nodeType":"ParameterList","parameters":[],"src":"5546:0:55"},"scope":50972,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":50145,"nodeType":"FunctionDefinition","src":"6159:661:55","nodes":[],"body":{"id":50144,"nodeType":"Block","src":"6342:478:55","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":50100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50090,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50079,"src":"6356:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6373:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6365:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50091,"name":"address","nodeType":"ElementaryTypeName","src":"6365:7:55","typeDescriptions":{}}},"id":50094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6365:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6356:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50096,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6379:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6383:5:55","memberName":"value","nodeType":"MemberAccess","src":"6379:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":50098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6392:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6379:14:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6356:37:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50108,"nodeType":"IfStatement","src":"6352:103:55","trueBody":{"id":50107,"nodeType":"Block","src":"6395:60:55","statements":[{"errorCall":{"arguments":[{"hexValue":"30","id":50102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6431:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":50103,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6434:3:55","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6438:5:55","memberName":"value","nodeType":"MemberAccess","src":"6434:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50101,"name":"IncorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49749,"src":"6416:14:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":50105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:28:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50106,"nodeType":"RevertStatement","src":"6409:35:55"}]}},{"assignments":[50110],"declarations":[{"constant":false,"id":50110,"mutability":"mutable","name":"callerBalance","nameLocation":"6473:13:55","nodeType":"VariableDeclaration","scope":50144,"src":"6465:21:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50109,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50114,"initialValue":{"arguments":[{"id":50112,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50079,"src":"6505:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50111,"name":"_getSelfBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50663,"src":"6489:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":50113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6489:22:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6465:46:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50115,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50110,"src":"6525:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6542:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6525:18:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50134,"nodeType":"IfStatement","src":"6521:194:55","trueBody":{"id":50133,"nodeType":"Block","src":"6545:170:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50118,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50079,"src":"6563:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6580:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6572:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50119,"name":"address","nodeType":"ElementaryTypeName","src":"6572:7:55","typeDescriptions":{}}},"id":50122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6572:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6563:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50131,"nodeType":"Block","src":"6648:57:55","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50128,"name":"NoTokensToSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49751,"src":"6673:15:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6673:17:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50130,"nodeType":"RevertStatement","src":"6666:24:55"}]},"id":50132,"nodeType":"IfStatement","src":"6559:146:55","trueBody":{"id":50127,"nodeType":"Block","src":"6584:58:55","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50124,"name":"NoValueAvailable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49741,"src":"6609:16:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6609:18:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50126,"nodeType":"RevertStatement","src":"6602:25:55"}]}}]}},{"expression":{"arguments":[{"id":50136,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50079,"src":"6747:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50137,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50081,"src":"6754:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50138,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50083,"src":"6762:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":50139,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50085,"src":"6772:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50140,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50087,"src":"6786:11:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":50141,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50110,"src":"6799:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50135,"name":"_injectAndExecuteCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50847,"src":"6725:21:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32,uint256)"}},"id":50142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6725:88:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50143,"nodeType":"ExpressionStatement","src":"6725:88:55"}]},"baseFunctions":[51429],"documentation":{"id":50077,"nodeType":"StructuredDocumentation","src":"6125:29:55","text":"@inheritdoc ITrailsRouter"},"functionSelector":"5b5e6516","implemented":true,"kind":"function","modifiers":[],"name":"injectAndCall","nameLocation":"6168:13:55","parameters":{"id":50088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50079,"mutability":"mutable","name":"token","nameLocation":"6199:5:55","nodeType":"VariableDeclaration","scope":50145,"src":"6191:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50078,"name":"address","nodeType":"ElementaryTypeName","src":"6191:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50081,"mutability":"mutable","name":"target","nameLocation":"6222:6:55","nodeType":"VariableDeclaration","scope":50145,"src":"6214:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50080,"name":"address","nodeType":"ElementaryTypeName","src":"6214:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50083,"mutability":"mutable","name":"callData","nameLocation":"6253:8:55","nodeType":"VariableDeclaration","scope":50145,"src":"6238:23:55","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":50082,"name":"bytes","nodeType":"ElementaryTypeName","src":"6238:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":50085,"mutability":"mutable","name":"amountOffset","nameLocation":"6279:12:55","nodeType":"VariableDeclaration","scope":50145,"src":"6271:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50084,"name":"uint256","nodeType":"ElementaryTypeName","src":"6271:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50087,"mutability":"mutable","name":"placeholder","nameLocation":"6309:11:55","nodeType":"VariableDeclaration","scope":50145,"src":"6301:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6301:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6181:145:55"},"returnParameters":{"id":50089,"nodeType":"ParameterList","parameters":[],"src":"6342:0:55"},"scope":50972,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":50193,"nodeType":"FunctionDefinition","src":"7054:416:55","nodes":[],"body":{"id":50192,"nodeType":"Block","src":"7137:333:55","nodes":[],"statements":[{"assignments":[50156],"declarations":[{"constant":false,"id":50156,"mutability":"mutable","name":"amount","nameLocation":"7155:6:55","nodeType":"VariableDeclaration","scope":50192,"src":"7147:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50155,"name":"uint256","nodeType":"ElementaryTypeName","src":"7147:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50160,"initialValue":{"arguments":[{"id":50158,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50148,"src":"7180:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50157,"name":"_getSelfBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50663,"src":"7164:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":50159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7164:23:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7147:40:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50161,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50156,"src":"7201:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7210:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7201:10:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50191,"nodeType":"IfStatement","src":"7197:267:55","trueBody":{"id":50190,"nodeType":"Block","src":"7213:251:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50164,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50148,"src":"7231:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7249:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7241:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50165,"name":"address","nodeType":"ElementaryTypeName","src":"7241:7:55","typeDescriptions":{}}},"id":50168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7241:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7231:20:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50182,"nodeType":"Block","src":"7327:75:55","statements":[{"expression":{"arguments":[{"id":50177,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50148,"src":"7360:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50178,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50150,"src":"7368:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50179,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50156,"src":"7380:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50176,"name":"_transferERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50619,"src":"7345:14:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":50180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7345:42:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50181,"nodeType":"ExpressionStatement","src":"7345:42:55"}]},"id":50183,"nodeType":"IfStatement","src":"7227:175:55","trueBody":{"id":50175,"nodeType":"Block","src":"7253:68:55","statements":[{"expression":{"arguments":[{"id":50171,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50150,"src":"7287:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50172,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50156,"src":"7299:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50170,"name":"_transferNative","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50593,"src":"7271:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":50173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7271:35:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50174,"nodeType":"ExpressionStatement","src":"7271:35:55"}]}},{"eventCall":{"arguments":[{"id":50185,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50148,"src":"7426:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50186,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50150,"src":"7434:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50187,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50156,"src":"7446:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50184,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51341,"src":"7420:5:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":50188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7420:33:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50189,"nodeType":"EmitStatement","src":"7415:38:55"}]}}]},"baseFunctions":[51447],"documentation":{"id":50146,"nodeType":"StructuredDocumentation","src":"7020:29:55","text":"@inheritdoc ITrailsRouter"},"functionSelector":"b8dc491b","implemented":true,"kind":"function","modifiers":[{"id":50153,"kind":"modifierInvocation","modifierName":{"id":50152,"name":"onlyDelegatecall","nameLocations":["7120:16:55"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"7120:16:55"},"nodeType":"ModifierInvocation","src":"7120:16:55"}],"name":"sweep","nameLocation":"7063:5:55","parameters":{"id":50151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50148,"mutability":"mutable","name":"_token","nameLocation":"7077:6:55","nodeType":"VariableDeclaration","scope":50193,"src":"7069:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50147,"name":"address","nodeType":"ElementaryTypeName","src":"7069:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50150,"mutability":"mutable","name":"_recipient","nameLocation":"7093:10:55","nodeType":"VariableDeclaration","scope":50193,"src":"7085:18:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50149,"name":"address","nodeType":"ElementaryTypeName","src":"7085:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7068:36:55"},"returnParameters":{"id":50154,"nodeType":"ParameterList","parameters":[],"src":"7137:0:55"},"scope":50972,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":50312,"nodeType":"FunctionDefinition","src":"7510:1244:55","nodes":[],"body":{"id":50311,"nodeType":"Block","src":"7684:1070:55","nodes":[],"statements":[{"assignments":[50208],"declarations":[{"constant":false,"id":50208,"mutability":"mutable","name":"current","nameLocation":"7702:7:55","nodeType":"VariableDeclaration","scope":50311,"src":"7694:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50207,"name":"uint256","nodeType":"ElementaryTypeName","src":"7694:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50212,"initialValue":{"arguments":[{"id":50210,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"7728:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50209,"name":"_getSelfBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50663,"src":"7712:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":50211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7712:23:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7694:41:55"},{"assignments":[50214],"declarations":[{"constant":false,"id":50214,"mutability":"mutable","name":"actualRefund","nameLocation":"7754:12:55","nodeType":"VariableDeclaration","scope":50311,"src":"7746:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50213,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50221,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50215,"name":"_refundAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50200,"src":"7769:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":50216,"name":"current","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50208,"src":"7785:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7769:23:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":50219,"name":"_refundAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50200,"src":"7805:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"7769:49:55","trueExpression":{"id":50218,"name":"current","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50208,"src":"7795:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:72:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50222,"name":"actualRefund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50214,"src":"7832:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50223,"name":"_refundAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50200,"src":"7848:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7832:29:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50233,"nodeType":"IfStatement","src":"7828:132:55","trueBody":{"id":50232,"nodeType":"Block","src":"7863:97:55","statements":[{"eventCall":{"arguments":[{"id":50226,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"7895:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50227,"name":"_refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50198,"src":"7903:16:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50228,"name":"_refundAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50200,"src":"7921:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50229,"name":"actualRefund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50214,"src":"7936:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50225,"name":"ActualRefund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51365,"src":"7882:12:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":50230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7882:67:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50231,"nodeType":"EmitStatement","src":"7877:72:55"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50234,"name":"actualRefund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50214,"src":"7973:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7988:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7973:16:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50264,"nodeType":"IfStatement","src":"7969:310:55","trueBody":{"id":50263,"nodeType":"Block","src":"7991:288:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50237,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"8009:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8027:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8019:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50238,"name":"address","nodeType":"ElementaryTypeName","src":"8019:7:55","typeDescriptions":{}}},"id":50241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8019:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8009:20:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50255,"nodeType":"Block","src":"8117:87:55","statements":[{"expression":{"arguments":[{"id":50250,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"8150:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50251,"name":"_refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50198,"src":"8158:16:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50252,"name":"actualRefund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50214,"src":"8176:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50249,"name":"_transferERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50619,"src":"8135:14:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":50253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8135:54:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50254,"nodeType":"ExpressionStatement","src":"8135:54:55"}]},"id":50256,"nodeType":"IfStatement","src":"8005:199:55","trueBody":{"id":50248,"nodeType":"Block","src":"8031:80:55","statements":[{"expression":{"arguments":[{"id":50244,"name":"_refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50198,"src":"8065:16:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50245,"name":"actualRefund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50214,"src":"8083:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50243,"name":"_transferNative","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50593,"src":"8049:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":50246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8049:47:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50247,"nodeType":"ExpressionStatement","src":"8049:47:55"}]}},{"eventCall":{"arguments":[{"id":50258,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"8229:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50259,"name":"_refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50198,"src":"8237:16:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50260,"name":"actualRefund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50214,"src":"8255:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50257,"name":"Refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51333,"src":"8222:6:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":50261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8222:46:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50262,"nodeType":"EmitStatement","src":"8217:51:55"}]}},{"assignments":[50266],"declarations":[{"constant":false,"id":50266,"mutability":"mutable","name":"remaining","nameLocation":"8297:9:55","nodeType":"VariableDeclaration","scope":50311,"src":"8289:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50265,"name":"uint256","nodeType":"ElementaryTypeName","src":"8289:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50270,"initialValue":{"arguments":[{"id":50268,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"8325:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50267,"name":"_getSelfBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50663,"src":"8309:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":50269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8309:23:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8289:43:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50271,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50266,"src":"8346:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8358:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8346:13:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50301,"nodeType":"IfStatement","src":"8342:294:55","trueBody":{"id":50300,"nodeType":"Block","src":"8361:275:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50274,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"8379:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8397:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8389:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50275,"name":"address","nodeType":"ElementaryTypeName","src":"8389:7:55","typeDescriptions":{}}},"id":50278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8389:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8379:20:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50292,"nodeType":"Block","src":"8483:83:55","statements":[{"expression":{"arguments":[{"id":50287,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"8516:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50288,"name":"_sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50202,"src":"8524:15:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50289,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50266,"src":"8541:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50286,"name":"_transferERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50619,"src":"8501:14:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":50290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8501:50:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50291,"nodeType":"ExpressionStatement","src":"8501:50:55"}]},"id":50293,"nodeType":"IfStatement","src":"8375:191:55","trueBody":{"id":50285,"nodeType":"Block","src":"8401:76:55","statements":[{"expression":{"arguments":[{"id":50281,"name":"_sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50202,"src":"8435:15:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50282,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50266,"src":"8452:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50280,"name":"_transferNative","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50593,"src":"8419:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":50283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8419:43:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50284,"nodeType":"ExpressionStatement","src":"8419:43:55"}]}},{"eventCall":{"arguments":[{"id":50295,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"8590:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50296,"name":"_sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50202,"src":"8598:15:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50297,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50266,"src":"8615:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50294,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51341,"src":"8584:5:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":50298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8584:41:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50299,"nodeType":"EmitStatement","src":"8579:46:55"}]}},{"eventCall":{"arguments":[{"id":50303,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50196,"src":"8665:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50304,"name":"_refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50198,"src":"8673:16:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50305,"name":"_refundAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50200,"src":"8691:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50306,"name":"_sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50202,"src":"8706:15:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50307,"name":"actualRefund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50214,"src":"8723:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50308,"name":"remaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50266,"src":"8737:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50302,"name":"RefundAndSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51355,"src":"8650:14:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256)"}},"id":50309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8650:97:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50310,"nodeType":"EmitStatement","src":"8645:102:55"}]},"baseFunctions":[51459],"documentation":{"id":50194,"nodeType":"StructuredDocumentation","src":"7476:29:55","text":"@inheritdoc ITrailsRouter"},"functionSelector":"4784226e","implemented":true,"kind":"function","modifiers":[{"id":50205,"kind":"modifierInvocation","modifierName":{"id":50204,"name":"onlyDelegatecall","nameLocations":["7663:16:55"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"7663:16:55"},"nodeType":"ModifierInvocation","src":"7663:16:55"}],"name":"refundAndSweep","nameLocation":"7519:14:55","parameters":{"id":50203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50196,"mutability":"mutable","name":"_token","nameLocation":"7542:6:55","nodeType":"VariableDeclaration","scope":50312,"src":"7534:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50195,"name":"address","nodeType":"ElementaryTypeName","src":"7534:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50198,"mutability":"mutable","name":"_refundRecipient","nameLocation":"7558:16:55","nodeType":"VariableDeclaration","scope":50312,"src":"7550:24:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50197,"name":"address","nodeType":"ElementaryTypeName","src":"7550:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50200,"mutability":"mutable","name":"_refundAmount","nameLocation":"7584:13:55","nodeType":"VariableDeclaration","scope":50312,"src":"7576:21:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50199,"name":"uint256","nodeType":"ElementaryTypeName","src":"7576:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50202,"mutability":"mutable","name":"_sweepRecipient","nameLocation":"7607:15:55","nodeType":"VariableDeclaration","scope":50312,"src":"7599:23:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50201,"name":"address","nodeType":"ElementaryTypeName","src":"7599:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7533:90:55"},"returnParameters":{"id":50206,"nodeType":"ParameterList","parameters":[],"src":"7684:0:55"},"scope":50972,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":50348,"nodeType":"FunctionDefinition","src":"8794:371:55","nodes":[],"body":{"id":50347,"nodeType":"Block","src":"8938:227:55","nodes":[],"statements":[{"assignments":[50325],"declarations":[{"constant":false,"id":50325,"mutability":"mutable","name":"slot","nameLocation":"8956:4:55","nodeType":"VariableDeclaration","scope":50347,"src":"8948:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50324,"name":"uint256","nodeType":"ElementaryTypeName","src":"8948:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50330,"initialValue":{"arguments":[{"id":50328,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50315,"src":"8993:6:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":50326,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"8963:17:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":50327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8981:11:55","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"8963:29:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":50329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8963:37:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8948:52:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":50332,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50325,"src":"9027:4:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50331,"name":"_getTstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48759,"src":"9014:12:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":50333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9014:18:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":50334,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"9036:17:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":50335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9054:13:55","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"9036:31:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9014:53:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50341,"nodeType":"IfStatement","src":"9010:114:55","trueBody":{"id":50340,"nodeType":"Block","src":"9069:55:55","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50337,"name":"SuccessSentinelNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49739,"src":"9090:21:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9090:23:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50339,"nodeType":"RevertStatement","src":"9083:30:55"}]}},{"expression":{"arguments":[{"id":50343,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50317,"src":"9139:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50344,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50319,"src":"9147:10:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50342,"name":"sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50193,"src":"9133:5:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":50345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9133:25:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50346,"nodeType":"ExpressionStatement","src":"9133:25:55"}]},"baseFunctions":[51439],"documentation":{"id":50313,"nodeType":"StructuredDocumentation","src":"8760:29:55","text":"@inheritdoc ITrailsRouter"},"functionSelector":"2a3ee126","implemented":true,"kind":"function","modifiers":[{"id":50322,"kind":"modifierInvocation","modifierName":{"id":50321,"name":"onlyDelegatecall","nameLocations":["8917:16:55"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"8917:16:55"},"nodeType":"ModifierInvocation","src":"8917:16:55"}],"name":"validateOpHashAndSweep","nameLocation":"8803:22:55","parameters":{"id":50320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50315,"mutability":"mutable","name":"opHash","nameLocation":"8834:6:55","nodeType":"VariableDeclaration","scope":50348,"src":"8826:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8826:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":50317,"mutability":"mutable","name":"_token","nameLocation":"8850:6:55","nodeType":"VariableDeclaration","scope":50348,"src":"8842:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50316,"name":"address","nodeType":"ElementaryTypeName","src":"8842:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50319,"mutability":"mutable","name":"_recipient","nameLocation":"8866:10:55","nodeType":"VariableDeclaration","scope":50348,"src":"8858:18:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50318,"name":"address","nodeType":"ElementaryTypeName","src":"8858:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8825:52:55"},"returnParameters":{"id":50323,"nodeType":"ParameterList","parameters":[],"src":"8938:0:55"},"scope":50972,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":50537,"nodeType":"FunctionDefinition","src":"9422:1755:55","nodes":[],"body":{"id":50536,"nodeType":"Block","src":"9747:1430:55","nodes":[],"statements":[{"assignments":[50370],"declarations":[{"constant":false,"id":50370,"mutability":"mutable","name":"selector","nameLocation":"9764:8:55","nodeType":"VariableDeclaration","scope":50536,"src":"9757:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":50369,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9757:6:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":50371,"nodeType":"VariableDeclarationStatement","src":"9757:15:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50372,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50361,"src":"9786:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":50373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9792:6:55","memberName":"length","nodeType":"MemberAccess","src":"9786:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"34","id":50374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9802:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9786:17:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50387,"nodeType":"IfStatement","src":"9782:77:55","trueBody":{"id":50386,"nodeType":"Block","src":"9805:54:55","statements":[{"expression":{"id":50384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50376,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50370,"src":"9819:8:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":50379,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50361,"src":"9837:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"endExpression":{"hexValue":"34","id":50381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9845:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"id":50382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"9837:10:55","startExpression":{"hexValue":"30","id":50380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9843:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}],"id":50378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9830:6:55","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":50377,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9830:6:55","typeDescriptions":{}}},"id":50383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9830:18:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9819:29:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":50385,"nodeType":"ExpressionStatement","src":"9819:29:55"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":50392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50388,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50370,"src":"9912:8:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":50389,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9924:4:55","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":50390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9929:13:55","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"9924:18:55","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":50391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9943:8:55","memberName":"selector","nodeType":"MemberAccess","src":"9924:27:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9912:39:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50431,"nodeType":"IfStatement","src":"9908:361:55","trueBody":{"id":50430,"nodeType":"Block","src":"9953:316:55","statements":[{"assignments":[50394,50396,50398,50400,50402],"declarations":[{"constant":false,"id":50394,"mutability":"mutable","name":"token","nameLocation":"9976:5:55","nodeType":"VariableDeclaration","scope":50430,"src":"9968:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50393,"name":"address","nodeType":"ElementaryTypeName","src":"9968:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50396,"mutability":"mutable","name":"target","nameLocation":"9991:6:55","nodeType":"VariableDeclaration","scope":50430,"src":"9983:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50395,"name":"address","nodeType":"ElementaryTypeName","src":"9983:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50398,"mutability":"mutable","name":"callData","nameLocation":"10012:8:55","nodeType":"VariableDeclaration","scope":50430,"src":"9999:21:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50397,"name":"bytes","nodeType":"ElementaryTypeName","src":"9999:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":50400,"mutability":"mutable","name":"amountOffset","nameLocation":"10030:12:55","nodeType":"VariableDeclaration","scope":50430,"src":"10022:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50399,"name":"uint256","nodeType":"ElementaryTypeName","src":"10022:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50402,"mutability":"mutable","name":"placeholder","nameLocation":"10052:11:55","nodeType":"VariableDeclaration","scope":50430,"src":"10044:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10044:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":50420,"initialValue":{"arguments":[{"baseExpression":{"id":50405,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50361,"src":"10094:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":50407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"10094:9:55","startExpression":{"hexValue":"34","id":50406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10100:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},{"components":[{"id":50409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10106:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50408,"name":"address","nodeType":"ElementaryTypeName","src":"10106:7:55","typeDescriptions":{}}},{"id":50411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10115:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50410,"name":"address","nodeType":"ElementaryTypeName","src":"10115:7:55","typeDescriptions":{}}},{"id":50413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10124:5:55","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":50412,"name":"bytes","nodeType":"ElementaryTypeName","src":"10124:5:55","typeDescriptions":{}}},{"id":50415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10131:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50414,"name":"uint256","nodeType":"ElementaryTypeName","src":"10131:7:55","typeDescriptions":{}}},{"id":50417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10140:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":50416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10140:7:55","typeDescriptions":{}}}],"id":50418,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10105:43:55","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_address_$_$_t_type$_t_bytes_storage_ptr_$_$_t_type$_t_uint256_$_$_t_type$_t_bytes32_$_$","typeString":"tuple(type(address),type(address),type(bytes storage pointer),type(uint256),type(bytes32))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_address_$_$_t_type$_t_bytes_storage_ptr_$_$_t_type$_t_uint256_$_$_t_type$_t_bytes32_$_$","typeString":"tuple(type(address),type(address),type(bytes storage pointer),type(uint256),type(bytes32))"}],"expression":{"id":50403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10083:3:55","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10087:6:55","memberName":"decode","nodeType":"MemberAccess","src":"10083:10:55","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10083:66:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_address_payable_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$","typeString":"tuple(address payable,address payable,bytes memory,uint256,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"9967:182:55"},{"expression":{"arguments":[{"id":50422,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50394,"src":"10187:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50423,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50396,"src":"10194:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50424,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50398,"src":"10202:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":50425,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50400,"src":"10212:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50426,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50402,"src":"10226:11:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50421,"name":"_injectAndCallDelegated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50713,"src":"10163:23:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32)"}},"id":50427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10163:75:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50428,"nodeType":"ExpressionStatement","src":"10163:75:55"},{"functionReturnParameters":50368,"id":50429,"nodeType":"Return","src":"10252:7:55"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":50436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50432,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50370,"src":"10318:8:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":50433,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10330:4:55","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":50434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10335:5:55","memberName":"sweep","nodeType":"MemberAccess","referencedDeclaration":50193,"src":"10330:10:55","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) payable external"}},"id":50435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10341:8:55","memberName":"selector","nodeType":"MemberAccess","src":"10330:19:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"10318:31:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50460,"nodeType":"IfStatement","src":"10314:197:55","trueBody":{"id":50459,"nodeType":"Block","src":"10351:160:55","statements":[{"assignments":[50438,50440],"declarations":[{"constant":false,"id":50438,"mutability":"mutable","name":"token","nameLocation":"10374:5:55","nodeType":"VariableDeclaration","scope":50459,"src":"10366:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50437,"name":"address","nodeType":"ElementaryTypeName","src":"10366:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50440,"mutability":"mutable","name":"recipient","nameLocation":"10389:9:55","nodeType":"VariableDeclaration","scope":50459,"src":"10381:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50439,"name":"address","nodeType":"ElementaryTypeName","src":"10381:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":50452,"initialValue":{"arguments":[{"baseExpression":{"id":50443,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50361,"src":"10413:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":50445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"10413:9:55","startExpression":{"hexValue":"34","id":50444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10419:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},{"components":[{"id":50447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10425:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50446,"name":"address","nodeType":"ElementaryTypeName","src":"10425:7:55","typeDescriptions":{}}},{"id":50449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10434:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50448,"name":"address","nodeType":"ElementaryTypeName","src":"10434:7:55","typeDescriptions":{}}}],"id":50450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10424:18:55","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_address_$_$","typeString":"tuple(type(address),type(address))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_address_$_$","typeString":"tuple(type(address),type(address))"}],"expression":{"id":50441,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10402:3:55","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10406:6:55","memberName":"decode","nodeType":"MemberAccess","src":"10402:10:55","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10402:41:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_address_payable_$","typeString":"tuple(address payable,address payable)"}},"nodeType":"VariableDeclarationStatement","src":"10365:78:55"},{"expression":{"arguments":[{"id":50454,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50438,"src":"10463:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50455,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50440,"src":"10470:9:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50453,"name":"sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50193,"src":"10457:5:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":50456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10457:23:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50457,"nodeType":"ExpressionStatement","src":"10457:23:55"},{"functionReturnParameters":50368,"id":50458,"nodeType":"Return","src":"10494:7:55"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":50465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50461,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50370,"src":"10525:8:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":50462,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10537:4:55","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":50463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10542:14:55","memberName":"refundAndSweep","nodeType":"MemberAccess","referencedDeclaration":50312,"src":"10537:19:55","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address) payable external"}},"id":50464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10557:8:55","memberName":"selector","nodeType":"MemberAccess","src":"10537:28:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"10525:40:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50499,"nodeType":"IfStatement","src":"10521:337:55","trueBody":{"id":50498,"nodeType":"Block","src":"10567:291:55","statements":[{"assignments":[50467,50469,50471,50473],"declarations":[{"constant":false,"id":50467,"mutability":"mutable","name":"token","nameLocation":"10590:5:55","nodeType":"VariableDeclaration","scope":50498,"src":"10582:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50466,"name":"address","nodeType":"ElementaryTypeName","src":"10582:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50469,"mutability":"mutable","name":"refundRecipient","nameLocation":"10605:15:55","nodeType":"VariableDeclaration","scope":50498,"src":"10597:23:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50468,"name":"address","nodeType":"ElementaryTypeName","src":"10597:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50471,"mutability":"mutable","name":"refundAmount","nameLocation":"10630:12:55","nodeType":"VariableDeclaration","scope":50498,"src":"10622:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50470,"name":"uint256","nodeType":"ElementaryTypeName","src":"10622:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50473,"mutability":"mutable","name":"sweepRecipient","nameLocation":"10652:14:55","nodeType":"VariableDeclaration","scope":50498,"src":"10644:22:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50472,"name":"address","nodeType":"ElementaryTypeName","src":"10644:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":50489,"initialValue":{"arguments":[{"baseExpression":{"id":50476,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50361,"src":"10697:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":50478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"10697:9:55","startExpression":{"hexValue":"34","id":50477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10703:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},{"components":[{"id":50480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10709:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50479,"name":"address","nodeType":"ElementaryTypeName","src":"10709:7:55","typeDescriptions":{}}},{"id":50482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10718:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50481,"name":"address","nodeType":"ElementaryTypeName","src":"10718:7:55","typeDescriptions":{}}},{"id":50484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10727:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50483,"name":"uint256","nodeType":"ElementaryTypeName","src":"10727:7:55","typeDescriptions":{}}},{"id":50486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10736:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50485,"name":"address","nodeType":"ElementaryTypeName","src":"10736:7:55","typeDescriptions":{}}}],"id":50487,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10708:36:55","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$_t_type$_t_address_$_$","typeString":"tuple(type(address),type(address),type(uint256),type(address))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$_t_type$_t_address_$_$","typeString":"tuple(type(address),type(address),type(uint256),type(address))"}],"expression":{"id":50474,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10686:3:55","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10690:6:55","memberName":"decode","nodeType":"MemberAccess","src":"10686:10:55","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10686:59:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_address_payable_$_t_uint256_$_t_address_payable_$","typeString":"tuple(address payable,address payable,uint256,address payable)"}},"nodeType":"VariableDeclarationStatement","src":"10581:164:55"},{"expression":{"arguments":[{"id":50491,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50467,"src":"10774:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50492,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50469,"src":"10781:15:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50493,"name":"refundAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50471,"src":"10798:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50494,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50473,"src":"10812:14:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50490,"name":"refundAndSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50312,"src":"10759:14:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address)"}},"id":50495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10759:68:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50496,"nodeType":"ExpressionStatement","src":"10759:68:55"},{"functionReturnParameters":50368,"id":50497,"nodeType":"Return","src":"10841:7:55"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":50504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50500,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50370,"src":"10872:8:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":50501,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10884:4:55","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":50502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10889:22:55","memberName":"validateOpHashAndSweep","nodeType":"MemberAccess","referencedDeclaration":50348,"src":"10884:27:55","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address) payable external"}},"id":50503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10912:8:55","memberName":"selector","nodeType":"MemberAccess","src":"10884:36:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"10872:48:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50531,"nodeType":"IfStatement","src":"10868:251:55","trueBody":{"id":50530,"nodeType":"Block","src":"10922:197:55","statements":[{"assignments":[null,50506,50508],"declarations":[null,{"constant":false,"id":50506,"mutability":"mutable","name":"token","nameLocation":"10947:5:55","nodeType":"VariableDeclaration","scope":50530,"src":"10939:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50505,"name":"address","nodeType":"ElementaryTypeName","src":"10939:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50508,"mutability":"mutable","name":"recipient","nameLocation":"10962:9:55","nodeType":"VariableDeclaration","scope":50530,"src":"10954:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50507,"name":"address","nodeType":"ElementaryTypeName","src":"10954:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":50522,"initialValue":{"arguments":[{"baseExpression":{"id":50511,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50361,"src":"10986:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":50513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"10986:9:55","startExpression":{"hexValue":"34","id":50512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10992:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},{"components":[{"id":50515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10998:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":50514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10998:7:55","typeDescriptions":{}}},{"id":50517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11007:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50516,"name":"address","nodeType":"ElementaryTypeName","src":"11007:7:55","typeDescriptions":{}}},{"id":50519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11016:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50518,"name":"address","nodeType":"ElementaryTypeName","src":"11016:7:55","typeDescriptions":{}}}],"id":50520,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10997:27:55","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_bytes32_$_$_t_type$_t_address_$_$_t_type$_t_address_$_$","typeString":"tuple(type(bytes32),type(address),type(address))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"},{"typeIdentifier":"t_tuple$_t_type$_t_bytes32_$_$_t_type$_t_address_$_$_t_type$_t_address_$_$","typeString":"tuple(type(bytes32),type(address),type(address))"}],"expression":{"id":50509,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10975:3:55","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10979:6:55","memberName":"decode","nodeType":"MemberAccess","src":"10975:10:55","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10975:50:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes32_$_t_address_payable_$_t_address_payable_$","typeString":"tuple(bytes32,address payable,address payable)"}},"nodeType":"VariableDeclarationStatement","src":"10936:89:55"},{"expression":{"arguments":[{"id":50524,"name":"_opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50351,"src":"11062:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":50525,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50506,"src":"11071:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50526,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50508,"src":"11078:9:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50523,"name":"validateOpHashAndSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50348,"src":"11039:22:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":50527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11039:49:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50528,"nodeType":"ExpressionStatement","src":"11039:49:55"},{"functionReturnParameters":50368,"id":50529,"nodeType":"Return","src":"11102:7:55"}]}},{"errorCall":{"arguments":[{"id":50533,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50370,"src":"11161:8:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":50532,"name":"InvalidDelegatedSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49729,"src":"11136:24:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes4_$returns$_t_error_$","typeString":"function (bytes4) pure returns (error)"}},"id":50534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11136:34:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50535,"nodeType":"RevertStatement","src":"11129:41:55"}]},"baseFunctions":[48993,51475],"documentation":{"id":50349,"nodeType":"StructuredDocumentation","src":"9382:35:55","text":"@inheritdoc IDelegatedExtension"},"functionSelector":"4c4e814c","implemented":true,"kind":"function","modifiers":[{"id":50367,"kind":"modifierInvocation","modifierName":{"id":50366,"name":"onlyDelegatecall","nameLocations":["9726:16:55"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"9726:16:55"},"nodeType":"ModifierInvocation","src":"9726:16:55"}],"name":"handleSequenceDelegateCall","nameLocation":"9431:26:55","overrides":{"id":50365,"nodeType":"OverrideSpecifier","overrides":[{"id":50363,"name":"IDelegatedExtension","nameLocations":["9682:19:55"],"nodeType":"IdentifierPath","referencedDeclaration":48994,"src":"9682:19:55"},{"id":50364,"name":"ITrailsRouter","nameLocations":["9703:13:55"],"nodeType":"IdentifierPath","referencedDeclaration":51476,"src":"9703:13:55"}],"src":"9673:44:55"},"parameters":{"id":50362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50351,"mutability":"mutable","name":"_opHash","nameLocation":"9475:7:55","nodeType":"VariableDeclaration","scope":50537,"src":"9467:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9467:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":50353,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50537,"src":"9492:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50352,"name":"uint256","nodeType":"ElementaryTypeName","src":"9492:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50355,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50537,"src":"9528:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50354,"name":"uint256","nodeType":"ElementaryTypeName","src":"9528:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50537,"src":"9558:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50356,"name":"uint256","nodeType":"ElementaryTypeName","src":"9558:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50537,"src":"9591:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50358,"name":"uint256","nodeType":"ElementaryTypeName","src":"9591:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50361,"mutability":"mutable","name":"_data","nameLocation":"9636:5:55","nodeType":"VariableDeclaration","scope":50537,"src":"9621:20:55","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":50360,"name":"bytes","nodeType":"ElementaryTypeName","src":"9621:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9457:190:55"},"returnParameters":{"id":50368,"nodeType":"ParameterList","parameters":[],"src":"9747:0:55"},"scope":50972,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":50566,"nodeType":"FunctionDefinition","src":"11429:199:55","nodes":[],"body":{"id":50565,"nodeType":"Block","src":"11522:106:55","nodes":[],"statements":[{"assignments":[50551],"declarations":[{"constant":false,"id":50551,"mutability":"mutable","name":"erc20","nameLocation":"11539:5:55","nodeType":"VariableDeclaration","scope":50565,"src":"11532:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":50550,"nodeType":"UserDefinedTypeName","pathNode":{"id":50549,"name":"IERC20","nameLocations":["11532:6:55"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"11532:6:55"},"referencedDeclaration":40923,"src":"11532:6:55","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"}],"id":50555,"initialValue":{"arguments":[{"id":50553,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50540,"src":"11554:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50552,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"11547:6:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$40923_$","typeString":"type(contract IERC20)"}},"id":50554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11547:13:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"nodeType":"VariableDeclarationStatement","src":"11532:28:55"},{"expression":{"arguments":[{"id":50559,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50551,"src":"11597:5:55","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":50560,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50542,"src":"11604:4:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50561,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50544,"src":"11610:2:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50562,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50546,"src":"11614:6:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50556,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41594,"src":"11570:9:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeERC20_$41594_$","typeString":"type(library SafeERC20)"}},"id":50558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11580:16:55","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":41219,"src":"11570:26:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":50563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11570:51:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50564,"nodeType":"ExpressionStatement","src":"11570:51:55"}]},"documentation":{"id":50538,"nodeType":"StructuredDocumentation","src":"11370:54:55","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransferFrom","nameLocation":"11438:17:55","parameters":{"id":50547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50540,"mutability":"mutable","name":"token","nameLocation":"11464:5:55","nodeType":"VariableDeclaration","scope":50566,"src":"11456:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50539,"name":"address","nodeType":"ElementaryTypeName","src":"11456:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50542,"mutability":"mutable","name":"from","nameLocation":"11479:4:55","nodeType":"VariableDeclaration","scope":50566,"src":"11471:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50541,"name":"address","nodeType":"ElementaryTypeName","src":"11471:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50544,"mutability":"mutable","name":"to","nameLocation":"11493:2:55","nodeType":"VariableDeclaration","scope":50566,"src":"11485:10:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50543,"name":"address","nodeType":"ElementaryTypeName","src":"11485:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50546,"mutability":"mutable","name":"amount","nameLocation":"11505:6:55","nodeType":"VariableDeclaration","scope":50566,"src":"11497:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50545,"name":"uint256","nodeType":"ElementaryTypeName","src":"11497:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11455:57:55"},"returnParameters":{"id":50548,"nodeType":"ParameterList","parameters":[],"src":"11522:0:55"},"scope":50972,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50593,"nodeType":"FunctionDefinition","src":"11693:189:55","nodes":[],"body":{"id":50592,"nodeType":"Block","src":"11757:125:55","nodes":[],"statements":[{"assignments":[50575,null],"declarations":[{"constant":false,"id":50575,"mutability":"mutable","name":"success","nameLocation":"11773:7:55","nodeType":"VariableDeclaration","scope":50592,"src":"11768:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50574,"name":"bool","nodeType":"ElementaryTypeName","src":"11768:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":50585,"initialValue":{"arguments":[{"hexValue":"","id":50583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11819:2:55","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":50578,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50569,"src":"11793:3:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11785:8:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":50576,"name":"address","nodeType":"ElementaryTypeName","src":"11785:8:55","stateMutability":"payable","typeDescriptions":{}}},"id":50579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11785:12:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":50580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11798:4:55","memberName":"call","nodeType":"MemberAccess","src":"11785:17:55","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":50582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":50581,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50571,"src":"11810:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"11785:33:55","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":50584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11785:37:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"11767:55:55"},{"condition":{"id":50587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11836:8:55","subExpression":{"id":50586,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50575,"src":"11837:7:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50591,"nodeType":"IfStatement","src":"11832:43:55","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50588,"name":"NativeTransferFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49725,"src":"11853:20:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11853:22:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50590,"nodeType":"RevertStatement","src":"11846:29:55"}}]},"documentation":{"id":50567,"nodeType":"StructuredDocumentation","src":"11634:54:55","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_transferNative","nameLocation":"11702:15:55","parameters":{"id":50572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50569,"mutability":"mutable","name":"_to","nameLocation":"11726:3:55","nodeType":"VariableDeclaration","scope":50593,"src":"11718:11:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50568,"name":"address","nodeType":"ElementaryTypeName","src":"11718:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50571,"mutability":"mutable","name":"_amount","nameLocation":"11739:7:55","nodeType":"VariableDeclaration","scope":50593,"src":"11731:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50570,"name":"uint256","nodeType":"ElementaryTypeName","src":"11731:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11717:30:55"},"returnParameters":{"id":50573,"nodeType":"ParameterList","parameters":[],"src":"11757:0:55"},"scope":50972,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50619,"nodeType":"FunctionDefinition","src":"11947:178:55","nodes":[],"body":{"id":50618,"nodeType":"Block","src":"12026:99:55","nodes":[],"statements":[{"assignments":[50605],"declarations":[{"constant":false,"id":50605,"mutability":"mutable","name":"erc20","nameLocation":"12043:5:55","nodeType":"VariableDeclaration","scope":50618,"src":"12036:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":50604,"nodeType":"UserDefinedTypeName","pathNode":{"id":50603,"name":"IERC20","nameLocations":["12036:6:55"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"12036:6:55"},"referencedDeclaration":40923,"src":"12036:6:55","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"}],"id":50609,"initialValue":{"arguments":[{"id":50607,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50596,"src":"12058:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50606,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"12051:6:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$40923_$","typeString":"type(contract IERC20)"}},"id":50608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12051:14:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"nodeType":"VariableDeclarationStatement","src":"12036:29:55"},{"expression":{"arguments":[{"id":50613,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50605,"src":"12098:5:55","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":50614,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50598,"src":"12105:3:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50615,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50600,"src":"12110:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50610,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41594,"src":"12075:9:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeERC20_$41594_$","typeString":"type(library SafeERC20)"}},"id":50612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12085:12:55","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":41188,"src":"12075:22:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":50616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12075:43:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50617,"nodeType":"ExpressionStatement","src":"12075:43:55"}]},"documentation":{"id":50594,"nodeType":"StructuredDocumentation","src":"11888:54:55","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_transferERC20","nameLocation":"11956:14:55","parameters":{"id":50601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50596,"mutability":"mutable","name":"_token","nameLocation":"11979:6:55","nodeType":"VariableDeclaration","scope":50619,"src":"11971:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50595,"name":"address","nodeType":"ElementaryTypeName","src":"11971:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50598,"mutability":"mutable","name":"_to","nameLocation":"11995:3:55","nodeType":"VariableDeclaration","scope":50619,"src":"11987:11:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50597,"name":"address","nodeType":"ElementaryTypeName","src":"11987:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50600,"mutability":"mutable","name":"_amount","nameLocation":"12008:7:55","nodeType":"VariableDeclaration","scope":50619,"src":"12000:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50599,"name":"uint256","nodeType":"ElementaryTypeName","src":"12000:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11970:46:55"},"returnParameters":{"id":50602,"nodeType":"ParameterList","parameters":[],"src":"12026:0:55"},"scope":50972,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50646,"nodeType":"FunctionDefinition","src":"12190:181:55","nodes":[],"body":{"id":50645,"nodeType":"Block","src":"12275:96:55","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50629,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50622,"src":"12292:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12309:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12301:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50630,"name":"address","nodeType":"ElementaryTypeName","src":"12301:7:55","typeDescriptions":{}}},"id":50633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12301:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12292:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":50641,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50624,"src":"12356:7:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":50638,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50622,"src":"12339:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50637,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"12332:6:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$40923_$","typeString":"type(contract IERC20)"}},"id":50639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12332:13:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"id":50640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12346:9:55","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40880,"src":"12332:23:55","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":50642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12332:32:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12292:72:55","trueExpression":{"expression":{"id":50635,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50624,"src":"12314:7:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":50636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12322:7:55","memberName":"balance","nodeType":"MemberAccess","src":"12314:15:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50628,"id":50644,"nodeType":"Return","src":"12285:79:55"}]},"documentation":{"id":50620,"nodeType":"StructuredDocumentation","src":"12131:54:55","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_getBalance","nameLocation":"12199:11:55","parameters":{"id":50625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50622,"mutability":"mutable","name":"token","nameLocation":"12219:5:55","nodeType":"VariableDeclaration","scope":50646,"src":"12211:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50621,"name":"address","nodeType":"ElementaryTypeName","src":"12211:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50624,"mutability":"mutable","name":"account","nameLocation":"12234:7:55","nodeType":"VariableDeclaration","scope":50646,"src":"12226:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50623,"name":"address","nodeType":"ElementaryTypeName","src":"12226:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12210:32:55"},"returnParameters":{"id":50628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50627,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50646,"src":"12266:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50626,"name":"uint256","nodeType":"ElementaryTypeName","src":"12266:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12265:9:55"},"scope":50972,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50663,"nodeType":"FunctionDefinition","src":"12436:129:55","nodes":[],"body":{"id":50662,"nodeType":"Block","src":"12508:57:55","nodes":[],"statements":[{"expression":{"arguments":[{"id":50655,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50649,"src":"12537:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":50658,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12552:4:55","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":50657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12544:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50656,"name":"address","nodeType":"ElementaryTypeName","src":"12544:7:55","typeDescriptions":{}}},"id":50659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12544:13:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50654,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50646,"src":"12525:11:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":50660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12525:33:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50653,"id":50661,"nodeType":"Return","src":"12518:40:55"}]},"documentation":{"id":50647,"nodeType":"StructuredDocumentation","src":"12377:54:55","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_getSelfBalance","nameLocation":"12445:15:55","parameters":{"id":50650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50649,"mutability":"mutable","name":"token","nameLocation":"12469:5:55","nodeType":"VariableDeclaration","scope":50663,"src":"12461:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50648,"name":"address","nodeType":"ElementaryTypeName","src":"12461:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12460:15:55"},"returnParameters":{"id":50653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50663,"src":"12499:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50651,"name":"uint256","nodeType":"ElementaryTypeName","src":"12499:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12498:9:55"},"scope":50972,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50713,"nodeType":"FunctionDefinition","src":"12630:550:55","nodes":[],"body":{"id":50712,"nodeType":"Block","src":"12815:365:55","nodes":[],"statements":[{"assignments":[50678],"declarations":[{"constant":false,"id":50678,"mutability":"mutable","name":"callerBalance","nameLocation":"12833:13:55","nodeType":"VariableDeclaration","scope":50712,"src":"12825:21:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50677,"name":"uint256","nodeType":"ElementaryTypeName","src":"12825:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50682,"initialValue":{"arguments":[{"id":50680,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50666,"src":"12865:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50679,"name":"_getSelfBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50663,"src":"12849:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":50681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12849:22:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12825:46:55"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50683,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50678,"src":"12885:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12902:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12885:18:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50702,"nodeType":"IfStatement","src":"12881:194:55","trueBody":{"id":50701,"nodeType":"Block","src":"12905:170:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50686,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50666,"src":"12923:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12940:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12932:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50687,"name":"address","nodeType":"ElementaryTypeName","src":"12932:7:55","typeDescriptions":{}}},"id":50690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12932:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12923:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50699,"nodeType":"Block","src":"13008:57:55","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50696,"name":"NoTokensToSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49751,"src":"13033:15:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13033:17:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50698,"nodeType":"RevertStatement","src":"13026:24:55"}]},"id":50700,"nodeType":"IfStatement","src":"12919:146:55","trueBody":{"id":50695,"nodeType":"Block","src":"12944:58:55","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50692,"name":"NoValueAvailable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49741,"src":"12969:16:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12969:18:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50694,"nodeType":"RevertStatement","src":"12962:25:55"}]}}]}},{"expression":{"arguments":[{"id":50704,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50666,"src":"13107:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50705,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50668,"src":"13114:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50706,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50670,"src":"13122:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":50707,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50672,"src":"13132:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50708,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50674,"src":"13146:11:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":50709,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50678,"src":"13159:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50703,"name":"_injectAndExecuteCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50847,"src":"13085:21:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32,uint256)"}},"id":50710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13085:88:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50711,"nodeType":"ExpressionStatement","src":"13085:88:55"}]},"documentation":{"id":50664,"nodeType":"StructuredDocumentation","src":"12571:54:55","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_injectAndCallDelegated","nameLocation":"12639:23:55","parameters":{"id":50675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50666,"mutability":"mutable","name":"token","nameLocation":"12680:5:55","nodeType":"VariableDeclaration","scope":50713,"src":"12672:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50665,"name":"address","nodeType":"ElementaryTypeName","src":"12672:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50668,"mutability":"mutable","name":"target","nameLocation":"12703:6:55","nodeType":"VariableDeclaration","scope":50713,"src":"12695:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50667,"name":"address","nodeType":"ElementaryTypeName","src":"12695:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50670,"mutability":"mutable","name":"callData","nameLocation":"12732:8:55","nodeType":"VariableDeclaration","scope":50713,"src":"12719:21:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50669,"name":"bytes","nodeType":"ElementaryTypeName","src":"12719:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":50672,"mutability":"mutable","name":"amountOffset","nameLocation":"12758:12:55","nodeType":"VariableDeclaration","scope":50713,"src":"12750:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50671,"name":"uint256","nodeType":"ElementaryTypeName","src":"12750:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50674,"mutability":"mutable","name":"placeholder","nameLocation":"12788:11:55","nodeType":"VariableDeclaration","scope":50713,"src":"12780:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12780:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12662:143:55"},"returnParameters":{"id":50676,"nodeType":"ParameterList","parameters":[],"src":"12815:0:55"},"scope":50972,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50847,"nodeType":"FunctionDefinition","src":"13245:1530:55","nodes":[],"body":{"id":50846,"nodeType":"Block","src":"13459:1316:55","nodes":[],"statements":[{"assignments":[50730],"declarations":[{"constant":false,"id":50730,"mutability":"mutable","name":"shouldReplace","nameLocation":"13535:13:55","nodeType":"VariableDeclaration","scope":50846,"src":"13530:18:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50729,"name":"bool","nodeType":"ElementaryTypeName","src":"13530:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":50742,"initialValue":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":50740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50731,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50722,"src":"13552:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":50732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13568:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13552:17:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":50739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50734,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50724,"src":"13573:11:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":50737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13596:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13588:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":50735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13588:7:55","typeDescriptions":{}}},"id":50738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13588:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13573:25:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13552:46:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":50741,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13551:48:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13530:69:55"},{"condition":{"id":50743,"name":"shouldReplace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50730,"src":"13614:13:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50767,"nodeType":"IfStatement","src":"13610:433:55","trueBody":{"id":50766,"nodeType":"Block","src":"13629:414:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50744,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50720,"src":"13647:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":50745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13656:6:55","memberName":"length","nodeType":"MemberAccess","src":"13647:15:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50746,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50722,"src":"13665:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3332","id":50747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13680:2:55","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"13665:17:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13647:35:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50753,"nodeType":"IfStatement","src":"13643:73:55","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50750,"name":"AmountOffsetOutOfBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49753,"src":"13691:23:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13691:25:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50752,"nodeType":"RevertStatement","src":"13684:32:55"}},{"assignments":[50755],"declarations":[{"constant":false,"id":50755,"mutability":"mutable","name":"found","nameLocation":"13739:5:55","nodeType":"VariableDeclaration","scope":50766,"src":"13731:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13731:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":50756,"nodeType":"VariableDeclarationStatement","src":"13731:13:55"},{"AST":{"nativeSrc":"13767:84:55","nodeType":"YulBlock","src":"13767:84:55","statements":[{"nativeSrc":"13785:52:55","nodeType":"YulAssignment","src":"13785:52:55","value":{"arguments":[{"arguments":[{"arguments":[{"name":"callData","nativeSrc":"13808:8:55","nodeType":"YulIdentifier","src":"13808:8:55"},{"kind":"number","nativeSrc":"13818:2:55","nodeType":"YulLiteral","src":"13818:2:55","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13804:3:55","nodeType":"YulIdentifier","src":"13804:3:55"},"nativeSrc":"13804:17:55","nodeType":"YulFunctionCall","src":"13804:17:55"},{"name":"amountOffset","nativeSrc":"13823:12:55","nodeType":"YulIdentifier","src":"13823:12:55"}],"functionName":{"name":"add","nativeSrc":"13800:3:55","nodeType":"YulIdentifier","src":"13800:3:55"},"nativeSrc":"13800:36:55","nodeType":"YulFunctionCall","src":"13800:36:55"}],"functionName":{"name":"mload","nativeSrc":"13794:5:55","nodeType":"YulIdentifier","src":"13794:5:55"},"nativeSrc":"13794:43:55","nodeType":"YulFunctionCall","src":"13794:43:55"},"variableNames":[{"name":"found","nativeSrc":"13785:5:55","nodeType":"YulIdentifier","src":"13785:5:55"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":50722,"isOffset":false,"isSlot":false,"src":"13823:12:55","valueSize":1},{"declaration":50720,"isOffset":false,"isSlot":false,"src":"13808:8:55","valueSize":1},{"declaration":50755,"isOffset":false,"isSlot":false,"src":"13785:5:55","valueSize":1}],"id":50757,"nodeType":"InlineAssembly","src":"13758:93:55"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":50760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50758,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50755,"src":"13868:5:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50759,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50724,"src":"13877:11:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13868:20:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50764,"nodeType":"IfStatement","src":"13864:54:55","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50761,"name":"PlaceholderMismatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49755,"src":"13897:19:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13897:21:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50763,"nodeType":"RevertStatement","src":"13890:28:55"}},{"AST":{"nativeSrc":"13942:91:55","nodeType":"YulBlock","src":"13942:91:55","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"callData","nativeSrc":"13975:8:55","nodeType":"YulIdentifier","src":"13975:8:55"},{"kind":"number","nativeSrc":"13985:2:55","nodeType":"YulLiteral","src":"13985:2:55","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13971:3:55","nodeType":"YulIdentifier","src":"13971:3:55"},"nativeSrc":"13971:17:55","nodeType":"YulFunctionCall","src":"13971:17:55"},{"name":"amountOffset","nativeSrc":"13990:12:55","nodeType":"YulIdentifier","src":"13990:12:55"}],"functionName":{"name":"add","nativeSrc":"13967:3:55","nodeType":"YulIdentifier","src":"13967:3:55"},"nativeSrc":"13967:36:55","nodeType":"YulFunctionCall","src":"13967:36:55"},{"name":"callerBalance","nativeSrc":"14005:13:55","nodeType":"YulIdentifier","src":"14005:13:55"}],"functionName":{"name":"mstore","nativeSrc":"13960:6:55","nodeType":"YulIdentifier","src":"13960:6:55"},"nativeSrc":"13960:59:55","nodeType":"YulFunctionCall","src":"13960:59:55"},"nativeSrc":"13960:59:55","nodeType":"YulExpressionStatement","src":"13960:59:55"}]},"evmVersion":"prague","externalReferences":[{"declaration":50722,"isOffset":false,"isSlot":false,"src":"13990:12:55","valueSize":1},{"declaration":50720,"isOffset":false,"isSlot":false,"src":"13975:8:55","valueSize":1},{"declaration":50726,"isOffset":false,"isSlot":false,"src":"14005:13:55","valueSize":1}],"id":50765,"nodeType":"InlineAssembly","src":"13933:100:55"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50768,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50716,"src":"14101:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14118:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14110:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50769,"name":"address","nodeType":"ElementaryTypeName","src":"14110:7:55","typeDescriptions":{}}},"id":50772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14110:10:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14101:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50844,"nodeType":"Block","src":"14405:364:55","statements":[{"assignments":[50805],"declarations":[{"constant":false,"id":50805,"mutability":"mutable","name":"erc20","nameLocation":"14426:5:55","nodeType":"VariableDeclaration","scope":50844,"src":"14419:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},"typeName":{"id":50804,"nodeType":"UserDefinedTypeName","pathNode":{"id":50803,"name":"IERC20","nameLocations":["14419:6:55"],"nodeType":"IdentifierPath","referencedDeclaration":40923,"src":"14419:6:55"},"referencedDeclaration":40923,"src":"14419:6:55","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"visibility":"internal"}],"id":50809,"initialValue":{"arguments":[{"id":50807,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50716,"src":"14441:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50806,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40923,"src":"14434:6:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$40923_$","typeString":"type(contract IERC20)"}},"id":50808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14434:13:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},"nodeType":"VariableDeclarationStatement","src":"14419:28:55"},{"expression":{"arguments":[{"id":50813,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50805,"src":"14484:5:55","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"}},{"id":50814,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50718,"src":"14491:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50815,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50726,"src":"14499:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$40923","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50810,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41594,"src":"14461:9:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeERC20_$41594_$","typeString":"type(library SafeERC20)"}},"id":50812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14471:12:55","memberName":"forceApprove","nodeType":"MemberAccess","referencedDeclaration":41389,"src":"14461:22:55","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$40923_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":50816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14461:52:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50817,"nodeType":"ExpressionStatement","src":"14461:52:55"},{"assignments":[50819,50821],"declarations":[{"constant":false,"id":50819,"mutability":"mutable","name":"success","nameLocation":"14534:7:55","nodeType":"VariableDeclaration","scope":50844,"src":"14529:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50818,"name":"bool","nodeType":"ElementaryTypeName","src":"14529:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50821,"mutability":"mutable","name":"result","nameLocation":"14556:6:55","nodeType":"VariableDeclaration","scope":50844,"src":"14543:19:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50820,"name":"bytes","nodeType":"ElementaryTypeName","src":"14543:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":50826,"initialValue":{"arguments":[{"id":50824,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50720,"src":"14578:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":50822,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50718,"src":"14566:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":50823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14573:4:55","memberName":"call","nodeType":"MemberAccess","src":"14566:11:55","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":50825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14566:21:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"14528:59:55"},{"eventCall":{"arguments":[{"id":50828,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50716,"src":"14626:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50829,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50718,"src":"14633:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50830,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50724,"src":"14641:11:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":50831,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50726,"src":"14654:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50832,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50722,"src":"14669:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50833,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50819,"src":"14683:7:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50834,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50821,"src":"14692:6:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50827,"name":"BalanceInjectorCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51325,"src":"14606:19:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,bytes32,uint256,uint256,bool,bytes memory)"}},"id":50835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14606:93:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50836,"nodeType":"EmitStatement","src":"14601:98:55"},{"condition":{"id":50838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14717:8:55","subExpression":{"id":50837,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50819,"src":"14718:7:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50843,"nodeType":"IfStatement","src":"14713:45:55","trueBody":{"errorCall":{"arguments":[{"id":50840,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50821,"src":"14751:6:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50839,"name":"TargetCallFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49759,"src":"14734:16:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":50841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14734:24:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50842,"nodeType":"RevertStatement","src":"14727:31:55"}}]},"id":50845,"nodeType":"IfStatement","src":"14097:672:55","trueBody":{"id":50802,"nodeType":"Block","src":"14122:277:55","statements":[{"assignments":[50775,50777],"declarations":[{"constant":false,"id":50775,"mutability":"mutable","name":"success","nameLocation":"14142:7:55","nodeType":"VariableDeclaration","scope":50802,"src":"14137:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50774,"name":"bool","nodeType":"ElementaryTypeName","src":"14137:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50777,"mutability":"mutable","name":"result","nameLocation":"14164:6:55","nodeType":"VariableDeclaration","scope":50802,"src":"14151:19:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50776,"name":"bytes","nodeType":"ElementaryTypeName","src":"14151:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":50784,"initialValue":{"arguments":[{"id":50782,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50720,"src":"14208:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":50778,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50718,"src":"14174:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":50779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14181:4:55","memberName":"call","nodeType":"MemberAccess","src":"14174:11:55","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":50781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":50780,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50726,"src":"14193:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"14174:33:55","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":50783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14174:43:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"14136:81:55"},{"eventCall":{"arguments":[{"id":50786,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50716,"src":"14256:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50787,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50718,"src":"14263:6:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50788,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50724,"src":"14271:11:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":50789,"name":"callerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50726,"src":"14284:13:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50790,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50722,"src":"14299:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50791,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50775,"src":"14313:7:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50792,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50777,"src":"14322:6:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50785,"name":"BalanceInjectorCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51325,"src":"14236:19:55","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,bytes32,uint256,uint256,bool,bytes memory)"}},"id":50793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14236:93:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50794,"nodeType":"EmitStatement","src":"14231:98:55"},{"condition":{"id":50796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14347:8:55","subExpression":{"id":50795,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50775,"src":"14348:7:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50801,"nodeType":"IfStatement","src":"14343:45:55","trueBody":{"errorCall":{"arguments":[{"id":50798,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50777,"src":"14381:6:55","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50797,"name":"TargetCallFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49759,"src":"14364:16:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":50799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14364:24:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50800,"nodeType":"RevertStatement","src":"14357:31:55"}}]}}]},"documentation":{"id":50714,"nodeType":"StructuredDocumentation","src":"13186:54:55","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_injectAndExecuteCall","nameLocation":"13254:21:55","parameters":{"id":50727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50716,"mutability":"mutable","name":"token","nameLocation":"13293:5:55","nodeType":"VariableDeclaration","scope":50847,"src":"13285:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50715,"name":"address","nodeType":"ElementaryTypeName","src":"13285:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50718,"mutability":"mutable","name":"target","nameLocation":"13316:6:55","nodeType":"VariableDeclaration","scope":50847,"src":"13308:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50717,"name":"address","nodeType":"ElementaryTypeName","src":"13308:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50720,"mutability":"mutable","name":"callData","nameLocation":"13345:8:55","nodeType":"VariableDeclaration","scope":50847,"src":"13332:21:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50719,"name":"bytes","nodeType":"ElementaryTypeName","src":"13332:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":50722,"mutability":"mutable","name":"amountOffset","nameLocation":"13371:12:55","nodeType":"VariableDeclaration","scope":50847,"src":"13363:20:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50721,"name":"uint256","nodeType":"ElementaryTypeName","src":"13363:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50724,"mutability":"mutable","name":"placeholder","nameLocation":"13401:11:55","nodeType":"VariableDeclaration","scope":50847,"src":"13393:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13393:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":50726,"mutability":"mutable","name":"callerBalance","nameLocation":"13430:13:55","nodeType":"VariableDeclaration","scope":50847,"src":"13422:21:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50725,"name":"uint256","nodeType":"ElementaryTypeName","src":"13422:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13275:174:55"},"returnParameters":{"id":50728,"nodeType":"ParameterList","parameters":[],"src":"13459:0:55"},"scope":50972,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50971,"nodeType":"FunctionDefinition","src":"14840:1413:55","nodes":[],"body":{"id":50970,"nodeType":"Block","src":"14908:1345:55","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50853,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50850,"src":"14959:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":50854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14968:6:55","memberName":"length","nodeType":"MemberAccess","src":"14959:15:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"34","id":50855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14977:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"14959:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50864,"nodeType":"IfStatement","src":"14955:66:55","trueBody":{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":50860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15018:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":50859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15011:6:55","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":50858,"name":"bytes4","nodeType":"ElementaryTypeName","src":"15011:6:55","typeDescriptions":{}}},"id":50861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15011:9:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":50857,"name":"InvalidFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49733,"src":"14987:23:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes4_$returns$_t_error_$","typeString":"function (bytes4) pure returns (error)"}},"id":50862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14987:34:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50863,"nodeType":"RevertStatement","src":"14980:41:55"}},{"assignments":[50866],"declarations":[{"constant":false,"id":50866,"mutability":"mutable","name":"selector","nameLocation":"15039:8:55","nodeType":"VariableDeclaration","scope":50970,"src":"15032:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":50865,"name":"bytes4","nodeType":"ElementaryTypeName","src":"15032:6:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":50874,"initialValue":{"arguments":[{"baseExpression":{"id":50869,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50850,"src":"15057:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"endExpression":{"hexValue":"34","id":50871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15068:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"id":50872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"15057:13:55","startExpression":{"hexValue":"30","id":50870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15066:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}],"id":50868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15050:6:55","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":50867,"name":"bytes4","nodeType":"ElementaryTypeName","src":"15050:6:55","typeDescriptions":{}}},"id":50873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15050:21:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"15032:39:55"},{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":50877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50875,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50866,"src":"15169:8:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783137346465613731","id":50876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15181:10:55","typeDescriptions":{"typeIdentifier":"t_rational_390982257_by_1","typeString":"int_const 390982257"},"value":"0x174dea71"},"src":"15169:22:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":50921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50919,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50866,"src":"15685:8:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783832616435366362","id":50920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15697:10:55","typeDescriptions":{"typeIdentifier":"t_rational_2192398027_by_1","typeString":"int_const 2192398027"},"value":"0x82ad56cb"},"src":"15685:22:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50967,"nodeType":"Block","src":"16182:65:55","statements":[{"errorCall":{"arguments":[{"id":50964,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50866,"src":"16227:8:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":50963,"name":"InvalidFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49733,"src":"16203:23:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes4_$returns$_t_error_$","typeString":"function (bytes4) pure returns (error)"}},"id":50965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16203:33:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50966,"nodeType":"RevertStatement","src":"16196:40:55"}]},"id":50968,"nodeType":"IfStatement","src":"15681:566:55","trueBody":{"id":50962,"nodeType":"Block","src":"15709:467:55","statements":[{"assignments":[50927],"declarations":[{"constant":false,"id":50927,"mutability":"mutable","name":"calls","nameLocation":"15846:5:55","nodeType":"VariableDeclaration","scope":50962,"src":"15819:32:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":50925,"nodeType":"UserDefinedTypeName","pathNode":{"id":50924,"name":"IMulticall3.Call3","nameLocations":["15819:11:55","15831:5:55"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"15819:17:55"},"referencedDeclaration":51153,"src":"15819:17:55","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":50926,"nodeType":"ArrayTypeName","src":"15819:19:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":50938,"initialValue":{"arguments":[{"baseExpression":{"id":50930,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50850,"src":"15865:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":50932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"15865:12:55","startExpression":{"hexValue":"34","id":50931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15874:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},{"components":[{"baseExpression":{"expression":{"id":50933,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"15880:11:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":50934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15892:5:55","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"15880:17:55","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":50935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15880:19:55","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Call3 memory[] memory)"}}],"id":50936,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15879:21:55","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Call3 memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"},{"typeIdentifier":"t_type$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Call3 memory[] memory)"}],"expression":{"id":50928,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15854:3:55","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15858:6:55","memberName":"decode","nodeType":"MemberAccess","src":"15854:10:55","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15854:47:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15819:82:55"},{"body":{"id":50960,"nodeType":"Block","src":"16033:133:55","statements":[{"condition":{"expression":{"baseExpression":{"id":50950,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50927,"src":"16055:5:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":50952,"indexExpression":{"id":50951,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50940,"src":"16061:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16055:8:55","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":50953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16064:12:55","memberName":"allowFailure","nodeType":"MemberAccess","referencedDeclaration":51150,"src":"16055:21:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50959,"nodeType":"IfStatement","src":"16051:101:55","trueBody":{"id":50958,"nodeType":"Block","src":"16078:74:55","statements":[{"errorCall":{"arguments":[{"id":50955,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50940,"src":"16131:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50954,"name":"AllowFailureMustBeFalse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49737,"src":"16107:23:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":50956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16107:26:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50957,"nodeType":"RevertStatement","src":"16100:33:55"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50943,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50940,"src":"16010:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":50944,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50927,"src":"16014:5:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":50945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16020:6:55","memberName":"length","nodeType":"MemberAccess","src":"16014:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16010:16:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50961,"initializationExpression":{"assignments":[50940],"declarations":[{"constant":false,"id":50940,"mutability":"mutable","name":"i","nameLocation":"16003:1:55","nodeType":"VariableDeclaration","scope":50961,"src":"15995:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50939,"name":"uint256","nodeType":"ElementaryTypeName","src":"15995:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50942,"initialValue":{"hexValue":"30","id":50941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16007:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15995:13:55"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":50948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16028:3:55","subExpression":{"id":50947,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50940,"src":"16028:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50949,"nodeType":"ExpressionStatement","src":"16028:3:55"},"nodeType":"ForStatement","src":"15990:176:55"}]}},"id":50969,"nodeType":"IfStatement","src":"15165:1082:55","trueBody":{"id":50918,"nodeType":"Block","src":"15193:482:55","statements":[{"assignments":[50883],"declarations":[{"constant":false,"id":50883,"mutability":"mutable","name":"calls","nameLocation":"15340:5:55","nodeType":"VariableDeclaration","scope":50918,"src":"15308:37:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":50881,"nodeType":"UserDefinedTypeName","pathNode":{"id":50880,"name":"IMulticall3.Call3Value","nameLocations":["15308:11:55","15320:10:55"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"15308:22:55"},"referencedDeclaration":51162,"src":"15308:22:55","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":50882,"nodeType":"ArrayTypeName","src":"15308:24:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":50894,"initialValue":{"arguments":[{"baseExpression":{"id":50886,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50850,"src":"15359:8:55","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":50888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"15359:12:55","startExpression":{"hexValue":"34","id":50887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15368:1:55","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},{"components":[{"baseExpression":{"expression":{"id":50889,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"15374:11:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":50890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15386:10:55","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"15374:22:55","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":50891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15374:24:55","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Call3Value memory[] memory)"}}],"id":50892,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15373:26:55","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Call3Value memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"},{"typeIdentifier":"t_type$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IMulticall3.Call3Value memory[] memory)"}],"expression":{"id":50884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15348:3:55","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15352:6:55","memberName":"decode","nodeType":"MemberAccess","src":"15348:10:55","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15348:52:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15308:92:55"},{"body":{"id":50916,"nodeType":"Block","src":"15532:133:55","statements":[{"condition":{"expression":{"baseExpression":{"id":50906,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50883,"src":"15554:5:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":50908,"indexExpression":{"id":50907,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50896,"src":"15560:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15554:8:55","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":50909,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15563:12:55","memberName":"allowFailure","nodeType":"MemberAccess","referencedDeclaration":51157,"src":"15554:21:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50915,"nodeType":"IfStatement","src":"15550:101:55","trueBody":{"id":50914,"nodeType":"Block","src":"15577:74:55","statements":[{"errorCall":{"arguments":[{"id":50911,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50896,"src":"15630:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50910,"name":"AllowFailureMustBeFalse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49737,"src":"15606:23:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":50912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15606:26:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50913,"nodeType":"RevertStatement","src":"15599:33:55"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50899,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50896,"src":"15509:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":50900,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50883,"src":"15513:5:55","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":50901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15519:6:55","memberName":"length","nodeType":"MemberAccess","src":"15513:12:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15509:16:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50917,"initializationExpression":{"assignments":[50896],"declarations":[{"constant":false,"id":50896,"mutability":"mutable","name":"i","nameLocation":"15502:1:55","nodeType":"VariableDeclaration","scope":50917,"src":"15494:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50895,"name":"uint256","nodeType":"ElementaryTypeName","src":"15494:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50898,"initialValue":{"hexValue":"30","id":50897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15506:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15494:13:55"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":50904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15527:3:55","subExpression":{"id":50903,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50896,"src":"15527:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50905,"nodeType":"ExpressionStatement","src":"15527:3:55"},"nodeType":"ForStatement","src":"15489:176:55"}]}}]},"documentation":{"id":50848,"nodeType":"StructuredDocumentation","src":"14781:54:55","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_validateRouterCall","nameLocation":"14849:19:55","parameters":{"id":50851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50850,"mutability":"mutable","name":"callData","nameLocation":"14884:8:55","nodeType":"VariableDeclaration","scope":50971,"src":"14869:23:55","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":50849,"name":"bytes","nodeType":"ElementaryTypeName","src":"14869:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14868:25:55"},"returnParameters":{"id":50852,"nodeType":"ParameterList","parameters":[],"src":"14908:0:55"},"scope":50972,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":49700,"name":"IDelegatedExtension","nameLocations":["936:19:55"],"nodeType":"IdentifierPath","referencedDeclaration":48994,"src":"936:19:55"},"id":49701,"nodeType":"InheritanceSpecifier","src":"936:19:55"},{"baseName":{"id":49702,"name":"ITrailsRouter","nameLocations":["957:13:55"],"nodeType":"IdentifierPath","referencedDeclaration":51476,"src":"957:13:55"},"id":49703,"nodeType":"InheritanceSpecifier","src":"957:13:55"},{"baseName":{"id":49704,"name":"DelegatecallGuard","nameLocations":["972:17:55"],"nodeType":"IdentifierPath","referencedDeclaration":51143,"src":"972:17:55"},"id":49705,"nodeType":"InheritanceSpecifier","src":"972:17:55"},{"baseName":{"id":49706,"name":"Tstorish","nameLocations":["991:8:55"],"nodeType":"IdentifierPath","referencedDeclaration":48974,"src":"991:8:55"},"id":49707,"nodeType":"InheritanceSpecifier","src":"991:8:55"}],"canonicalName":"TrailsRouter","contractDependencies":[],"contractKind":"contract","documentation":{"id":49699,"nodeType":"StructuredDocumentation","src":"616:295:55","text":"@title TrailsRouter\n @author Miguel Mota, Shun Kakinoki\n @notice Consolidated router for Trails operations including multicall routing, balance injection, and token sweeping\n @dev Must be delegatecalled via the Sequence delegated extension module to access wallet storage/balances."},"fullyImplemented":true,"internalFunctionIDs":{"48882":1,"48897":2,"48907":3,"48922":4,"48930":5,"48943":6},"linearizedBaseContracts":[50972,48974,51143,51476,48994],"name":"TrailsRouter","nameLocation":"920:12:55","scope":50973,"usedErrors":[41151,48767,48769,48771,48773,49725,49729,49733,49737,49739,49741,49743,49749,49751,49753,49755,49759,51112],"usedEvents":[51325,51333,51341,51355,51365]}],"license":"MIT"}},"src/TrailsRouterShim.sol":{"id":56,"ast":{"absolutePath":"src/TrailsRouterShim.sol","id":51107,"exportedSymbols":{"DelegatecallGuard":[51143],"ITrailsRouterShim":[51500],"TrailsRouterShim":[51106],"TrailsSentinelLib":[51527],"Tstorish":[48974]},"nodeType":"SourceUnit","src":"32:3153:56","nodes":[{"id":50974,"nodeType":"PragmaDirective","src":"32:24:56","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":50976,"nodeType":"ImportDirective","src":"58:47:56","nodes":[],"absolutePath":"lib/tstorish/src/Tstorish.sol","file":"tstorish/Tstorish.sol","nameLocation":"-1:-1:-1","scope":51107,"sourceUnit":48975,"symbolAliases":[{"foreign":{"id":50975,"name":"Tstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48974,"src":"66:8:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":50978,"nodeType":"ImportDirective","src":"106:68:56","nodes":[],"absolutePath":"src/libraries/TrailsSentinelLib.sol","file":"./libraries/TrailsSentinelLib.sol","nameLocation":"-1:-1:-1","scope":51107,"sourceUnit":51528,"symbolAliases":[{"foreign":{"id":50977,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"114:17:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":50980,"nodeType":"ImportDirective","src":"175:69:56","nodes":[],"absolutePath":"src/interfaces/ITrailsRouterShim.sol","file":"./interfaces/ITrailsRouterShim.sol","nameLocation":"-1:-1:-1","scope":51107,"sourceUnit":51501,"symbolAliases":[{"foreign":{"id":50979,"name":"ITrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51500,"src":"183:17:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":50982,"nodeType":"ImportDirective","src":"245:65:56","nodes":[],"absolutePath":"src/guards/DelegatecallGuard.sol","file":"./guards/DelegatecallGuard.sol","nameLocation":"-1:-1:-1","scope":51107,"sourceUnit":51144,"symbolAliases":[{"foreign":{"id":50981,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"253:17:56","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51106,"nodeType":"ContractDefinition","src":"476:2708:56","nodes":[{"id":50992,"nodeType":"VariableDeclaration","src":"831:31:56","nodes":[],"constant":false,"documentation":{"id":50990,"nodeType":"StructuredDocumentation","src":"748:78:56","text":"@notice Address of the deployed TrailsMulticall3Router to forward calls to"},"functionSelector":"32fe7b26","mutability":"immutable","name":"ROUTER","nameLocation":"856:6:56","scope":51106,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50991,"name":"address","nodeType":"ElementaryTypeName","src":"831:7:56","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":50996,"nodeType":"ErrorDefinition","src":"1088:35:56","nodes":[],"errorSelector":"0ef439b9","name":"RouterCallFailed","nameLocation":"1094:16:56","parameters":{"id":50995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50994,"mutability":"mutable","name":"data","nameLocation":"1117:4:56","nodeType":"VariableDeclaration","scope":50996,"src":"1111:10:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50993,"name":"bytes","nodeType":"ElementaryTypeName","src":"1111:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1110:12:56"}},{"id":50998,"nodeType":"ErrorDefinition","src":"1128:26:56","nodes":[],"errorSelector":"1df13ab5","name":"ZeroRouterAddress","nameLocation":"1134:17:56","parameters":{"id":50997,"nodeType":"ParameterList","parameters":[],"src":"1151:2:56"}},{"id":51019,"nodeType":"FunctionDefinition","src":"1411:125:56","nodes":[],"body":{"id":51018,"nodeType":"Block","src":"1440:96:56","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51004,"name":"router_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51001,"src":"1454:7:56","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":51007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1473:1:56","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":51006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1465:7:56","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51005,"name":"address","nodeType":"ElementaryTypeName","src":"1465:7:56","typeDescriptions":{}}},"id":51008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1465:10:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1454:21:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51013,"nodeType":"IfStatement","src":"1450:53:56","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":51010,"name":"ZeroRouterAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50998,"src":"1484:17:56","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":51011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1484:19:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":51012,"nodeType":"RevertStatement","src":"1477:26:56"}},{"expression":{"id":51016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51014,"name":"ROUTER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50992,"src":"1513:6:56","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":51015,"name":"router_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51001,"src":"1522:7:56","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1513:16:56","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":51017,"nodeType":"ExpressionStatement","src":"1513:16:56"}]},"documentation":{"id":50999,"nodeType":"StructuredDocumentation","src":"1342:64:56","text":"@param router_ The address of the router to forward calls to"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":51002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51001,"mutability":"mutable","name":"router_","nameLocation":"1431:7:56","nodeType":"VariableDeclaration","scope":51019,"src":"1423:15:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51000,"name":"address","nodeType":"ElementaryTypeName","src":"1423:7:56","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1422:17:56"},"returnParameters":{"id":51003,"nodeType":"ParameterList","parameters":[],"src":"1440:0:56"},"scope":51106,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":51073,"nodeType":"FunctionDefinition","src":"1781:856:56","nodes":[],"body":{"id":51072,"nodeType":"Block","src":"2071:566:56","nodes":[],"statements":[{"assignments":[51038,51040],"declarations":[{"constant":false,"id":51038,"mutability":"mutable","name":"inner","nameLocation":"2172:5:56","nodeType":"VariableDeclaration","scope":51072,"src":"2159:18:56","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51037,"name":"bytes","nodeType":"ElementaryTypeName","src":"2159:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":51040,"mutability":"mutable","name":"callValue","nameLocation":"2187:9:56","nodeType":"VariableDeclaration","scope":51072,"src":"2179:17:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51039,"name":"uint256","nodeType":"ElementaryTypeName","src":"2179:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51050,"initialValue":{"arguments":[{"id":51043,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51032,"src":"2211:4:56","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":51045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2218:5:56","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":51044,"name":"bytes","nodeType":"ElementaryTypeName","src":"2218:5:56","typeDescriptions":{}}},{"id":51047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2225:7:56","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51046,"name":"uint256","nodeType":"ElementaryTypeName","src":"2225:7:56","typeDescriptions":{}}}],"id":51048,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2217:16:56","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_bytes_storage_ptr_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(bytes storage pointer),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_tuple$_t_type$_t_bytes_storage_ptr_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(bytes storage pointer),type(uint256))"}],"expression":{"id":51041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2200:3:56","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2204:6:56","memberName":"decode","nodeType":"MemberAccess","src":"2200:10:56","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2200:34:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_uint256_$","typeString":"tuple(bytes memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"2158:76:56"},{"assignments":[51052],"declarations":[{"constant":false,"id":51052,"mutability":"mutable","name":"routerReturn","nameLocation":"2300:12:56","nodeType":"VariableDeclaration","scope":51072,"src":"2287:25:56","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51051,"name":"bytes","nodeType":"ElementaryTypeName","src":"2287:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":51057,"initialValue":{"arguments":[{"id":51054,"name":"inner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51038,"src":"2332:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":51055,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51040,"src":"2339:9:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51053,"name":"_forwardToRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51105,"src":"2315:16:56","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,uint256) returns (bytes memory)"}},"id":51056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2315:34:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2287:62:56"},{"assignments":[51059],"declarations":[{"constant":false,"id":51059,"mutability":"mutable","name":"slot","nameLocation":"2432:4:56","nodeType":"VariableDeclaration","scope":51072,"src":"2424:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51058,"name":"uint256","nodeType":"ElementaryTypeName","src":"2424:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51064,"initialValue":{"arguments":[{"id":51062,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51022,"src":"2469:6:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51060,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"2439:17:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":51061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2457:11:56","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"2439:29:56","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":51063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2439:37:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2424:52:56"},{"expression":{"arguments":[{"id":51066,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51059,"src":"2499:4:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51067,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"2505:17:56","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":51068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2523:13:56","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"2505:31:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51065,"name":"_setTstorish","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48751,"src":"2486:12:56","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":51069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2486:51:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51070,"nodeType":"ExpressionStatement","src":"2486:51:56"},{"AST":{"nativeSrc":"2557:74:56","nodeType":"YulBlock","src":"2557:74:56","statements":[{"expression":{"arguments":[{"arguments":[{"name":"routerReturn","nativeSrc":"2582:12:56","nodeType":"YulIdentifier","src":"2582:12:56"},{"kind":"number","nativeSrc":"2596:2:56","nodeType":"YulLiteral","src":"2596:2:56","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"2578:3:56","nodeType":"YulIdentifier","src":"2578:3:56"},"nativeSrc":"2578:21:56","nodeType":"YulFunctionCall","src":"2578:21:56"},{"arguments":[{"name":"routerReturn","nativeSrc":"2607:12:56","nodeType":"YulIdentifier","src":"2607:12:56"}],"functionName":{"name":"mload","nativeSrc":"2601:5:56","nodeType":"YulIdentifier","src":"2601:5:56"},"nativeSrc":"2601:19:56","nodeType":"YulFunctionCall","src":"2601:19:56"}],"functionName":{"name":"return","nativeSrc":"2571:6:56","nodeType":"YulIdentifier","src":"2571:6:56"},"nativeSrc":"2571:50:56","nodeType":"YulFunctionCall","src":"2571:50:56"},"nativeSrc":"2571:50:56","nodeType":"YulExpressionStatement","src":"2571:50:56"}]},"evmVersion":"prague","externalReferences":[{"declaration":51052,"isOffset":false,"isSlot":false,"src":"2582:12:56","valueSize":1},{"declaration":51052,"isOffset":false,"isSlot":false,"src":"2607:12:56","valueSize":1}],"id":51071,"nodeType":"InlineAssembly","src":"2548:83:56"}]},"baseFunctions":[51499],"documentation":{"id":51020,"nodeType":"StructuredDocumentation","src":"1743:33:56","text":"@inheritdoc ITrailsRouterShim"},"functionSelector":"4c4e814c","implemented":true,"kind":"function","modifiers":[{"id":51035,"kind":"modifierInvocation","modifierName":{"id":51034,"name":"onlyDelegatecall","nameLocations":["2050:16:56"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"2050:16:56"},"nodeType":"ModifierInvocation","src":"2050:16:56"}],"name":"handleSequenceDelegateCall","nameLocation":"1790:26:56","parameters":{"id":51033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51022,"mutability":"mutable","name":"opHash","nameLocation":"1834:6:56","nodeType":"VariableDeclaration","scope":51073,"src":"1826:14:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1826:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51073,"src":"1850:7:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51023,"name":"uint256","nodeType":"ElementaryTypeName","src":"1850:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51073,"src":"1891:7:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51025,"name":"uint256","nodeType":"ElementaryTypeName","src":"1891:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51028,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51073,"src":"1926:7:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51027,"name":"uint256","nodeType":"ElementaryTypeName","src":"1926:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51073,"src":"1964:7:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51029,"name":"uint256","nodeType":"ElementaryTypeName","src":"1964:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51032,"mutability":"mutable","name":"data","nameLocation":"2014:4:56","nodeType":"VariableDeclaration","scope":51073,"src":"1999:19:56","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51031,"name":"bytes","nodeType":"ElementaryTypeName","src":"1999:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1816:208:56"},"returnParameters":{"id":51036,"nodeType":"ParameterList","parameters":[],"src":"2071:0:56"},"scope":51106,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":51105,"nodeType":"FunctionDefinition","src":"2889:293:56","nodes":[],"body":{"id":51104,"nodeType":"Block","src":"2992:190:56","nodes":[],"statements":[{"assignments":[51084,51086],"declarations":[{"constant":false,"id":51084,"mutability":"mutable","name":"success","nameLocation":"3008:7:56","nodeType":"VariableDeclaration","scope":51104,"src":"3003:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51083,"name":"bool","nodeType":"ElementaryTypeName","src":"3003:4:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51086,"mutability":"mutable","name":"ret","nameLocation":"3030:3:56","nodeType":"VariableDeclaration","scope":51104,"src":"3017:16:56","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51085,"name":"bytes","nodeType":"ElementaryTypeName","src":"3017:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":51093,"initialValue":{"arguments":[{"id":51091,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51076,"src":"3067:11:56","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":51087,"name":"ROUTER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50992,"src":"3037:6:56","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":51088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3044:4:56","memberName":"call","nodeType":"MemberAccess","src":"3037:11:56","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":51090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":51089,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51078,"src":"3056:9:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"3037:29:56","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":51092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3037:42:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3002:77:56"},{"condition":{"id":51095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3093:8:56","subExpression":{"id":51094,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51084,"src":"3094:7:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51101,"nodeType":"IfStatement","src":"3089:67:56","trueBody":{"id":51100,"nodeType":"Block","src":"3103:53:56","statements":[{"errorCall":{"arguments":[{"id":51097,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51086,"src":"3141:3:56","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51096,"name":"RouterCallFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50996,"src":"3124:16:56","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":51098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3124:21:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":51099,"nodeType":"RevertStatement","src":"3117:28:56"}]}},{"expression":{"id":51102,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51086,"src":"3172:3:56","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":51082,"id":51103,"nodeType":"Return","src":"3165:10:56"}]},"documentation":{"id":51074,"nodeType":"StructuredDocumentation","src":"2830:54:56","text":"forge-lint: disable-next-line(mixed-case-function)"},"implemented":true,"kind":"function","modifiers":[],"name":"_forwardToRouter","nameLocation":"2898:16:56","parameters":{"id":51079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51076,"mutability":"mutable","name":"forwardData","nameLocation":"2928:11:56","nodeType":"VariableDeclaration","scope":51105,"src":"2915:24:56","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51075,"name":"bytes","nodeType":"ElementaryTypeName","src":"2915:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":51078,"mutability":"mutable","name":"callValue","nameLocation":"2949:9:56","nodeType":"VariableDeclaration","scope":51105,"src":"2941:17:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51077,"name":"uint256","nodeType":"ElementaryTypeName","src":"2941:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2914:45:56"},"returnParameters":{"id":51082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51105,"src":"2978:12:56","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51080,"name":"bytes","nodeType":"ElementaryTypeName","src":"2978:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2977:14:56"},"scope":51106,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":50984,"name":"ITrailsRouterShim","nameLocations":["505:17:56"],"nodeType":"IdentifierPath","referencedDeclaration":51500,"src":"505:17:56"},"id":50985,"nodeType":"InheritanceSpecifier","src":"505:17:56"},{"baseName":{"id":50986,"name":"DelegatecallGuard","nameLocations":["524:17:56"],"nodeType":"IdentifierPath","referencedDeclaration":51143,"src":"524:17:56"},"id":50987,"nodeType":"InheritanceSpecifier","src":"524:17:56"},{"baseName":{"id":50988,"name":"Tstorish","nameLocations":["543:8:56"],"nodeType":"IdentifierPath","referencedDeclaration":48974,"src":"543:8:56"},"id":50989,"nodeType":"InheritanceSpecifier","src":"543:8:56"}],"canonicalName":"TrailsRouterShim","contractDependencies":[],"contractKind":"contract","documentation":{"id":50983,"nodeType":"StructuredDocumentation","src":"312:164:56","text":"@title TrailsRouterShim\n @author Shun Kakinoki\n @notice Sequence delegate-call extension that forwards Trails router calls and records success sentinels."},"fullyImplemented":true,"internalFunctionIDs":{"48882":1,"48897":2,"48907":3,"48922":4,"48930":5,"48943":6},"linearizedBaseContracts":[51106,48974,51143,51500,48994],"name":"TrailsRouterShim","nameLocation":"485:16:56","scope":51107,"usedErrors":[48767,48769,48771,48773,50996,50998,51112],"usedEvents":[]}],"license":"MIT"}},"src/guards/DelegatecallGuard.sol":{"id":57,"ast":{"absolutePath":"src/guards/DelegatecallGuard.sol","id":51144,"exportedSymbols":{"DelegatecallGuard":[51143]},"nodeType":"SourceUnit","src":"32:1469:57","nodes":[{"id":51108,"nodeType":"PragmaDirective","src":"32:24:57","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":51143,"nodeType":"ContractDefinition","src":"134:1366:57","nodes":[{"id":51112,"nodeType":"ErrorDefinition","src":"445:24:57","nodes":[],"documentation":{"id":51110,"nodeType":"StructuredDocumentation","src":"353:87:57","text":"@dev Error thrown when a function expected to be delegatecalled is invoked directly"},"errorSelector":"4f0898d2","name":"NotDelegateCall","nameLocation":"451:15:57","parameters":{"id":51111,"nodeType":"ParameterList","parameters":[],"src":"466:2:57"}},{"id":51119,"nodeType":"VariableDeclaration","src":"741:48:57","nodes":[],"constant":false,"documentation":{"id":51113,"nodeType":"StructuredDocumentation","src":"665:71:57","text":"@dev Cached address of this contract to detect delegatecall context"},"mutability":"immutable","name":"_SELF","nameLocation":"768:5:57","scope":51143,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51114,"name":"address","nodeType":"ElementaryTypeName","src":"741:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"id":51117,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"784:4:57","typeDescriptions":{"typeIdentifier":"t_contract$_DelegatecallGuard_$51143","typeString":"contract DelegatecallGuard"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DelegatecallGuard_$51143","typeString":"contract DelegatecallGuard"}],"id":51116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"776:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51115,"name":"address","nodeType":"ElementaryTypeName","src":"776:7:57","typeDescriptions":{}}},"id":51118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"776:13:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":51127,"nodeType":"ModifierDefinition","src":"1057:75:57","nodes":[],"body":{"id":51126,"nodeType":"Block","src":"1085:47:57","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":51122,"name":"_onlyDelegatecall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51142,"src":"1095:17:57","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":51123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1095:19:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51124,"nodeType":"ExpressionStatement","src":"1095:19:57"},{"id":51125,"nodeType":"PlaceholderStatement","src":"1124:1:57"}]},"documentation":{"id":51120,"nodeType":"StructuredDocumentation","src":"976:76:57","text":"@dev Modifier restricting functions to only be executed via delegatecall"},"name":"onlyDelegatecall","nameLocation":"1066:16:57","parameters":{"id":51121,"nodeType":"ParameterList","parameters":[],"src":"1082:2:57"},"virtual":false,"visibility":"internal"},{"id":51142,"nodeType":"FunctionDefinition","src":"1386:112:57","nodes":[],"body":{"id":51141,"nodeType":"Block","src":"1429:69:57","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":51133,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1451:4:57","typeDescriptions":{"typeIdentifier":"t_contract$_DelegatecallGuard_$51143","typeString":"contract DelegatecallGuard"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DelegatecallGuard_$51143","typeString":"contract DelegatecallGuard"}],"id":51132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1443:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51131,"name":"address","nodeType":"ElementaryTypeName","src":"1443:7:57","typeDescriptions":{}}},"id":51134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1443:13:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":51135,"name":"_SELF","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51119,"src":"1460:5:57","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1443:22:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51140,"nodeType":"IfStatement","src":"1439:52:57","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":51137,"name":"NotDelegateCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51112,"src":"1474:15:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":51138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1474:17:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":51139,"nodeType":"RevertStatement","src":"1467:24:57"}}]},"documentation":{"id":51128,"nodeType":"StructuredDocumentation","src":"1327:54:57","text":"@dev Internal check enforcing delegatecall context"},"implemented":true,"kind":"function","modifiers":[],"name":"_onlyDelegatecall","nameLocation":"1395:17:57","parameters":{"id":51129,"nodeType":"ParameterList","parameters":[],"src":"1412:2:57"},"returnParameters":{"id":51130,"nodeType":"ParameterList","parameters":[],"src":"1429:0:57"},"scope":51143,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"DelegatecallGuard","contractDependencies":[],"contractKind":"contract","documentation":{"id":51109,"nodeType":"StructuredDocumentation","src":"58:76:57","text":"@notice Abstract contract providing a reusable delegatecall-only guard."},"fullyImplemented":true,"linearizedBaseContracts":[51143],"name":"DelegatecallGuard","nameLocation":"152:17:57","scope":51144,"usedErrors":[51112],"usedEvents":[]}],"license":"MIT"}},"src/interfaces/IMulticall3.sol":{"id":58,"ast":{"absolutePath":"src/interfaces/IMulticall3.sol","id":51191,"exportedSymbols":{"IMulticall3":[51190]},"nodeType":"SourceUnit","src":"32:1123:58","nodes":[{"id":51145,"nodeType":"PragmaDirective","src":"32:24:58","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":51190,"nodeType":"ContractDefinition","src":"249:905:58","nodes":[{"id":51153,"nodeType":"StructDefinition","src":"455:95:58","nodes":[],"canonicalName":"IMulticall3.Call3","members":[{"constant":false,"id":51148,"mutability":"mutable","name":"target","nameLocation":"486:6:58","nodeType":"VariableDeclaration","scope":51153,"src":"478:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51147,"name":"address","nodeType":"ElementaryTypeName","src":"478:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51150,"mutability":"mutable","name":"allowFailure","nameLocation":"507:12:58","nodeType":"VariableDeclaration","scope":51153,"src":"502:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51149,"name":"bool","nodeType":"ElementaryTypeName","src":"502:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51152,"mutability":"mutable","name":"callData","nameLocation":"535:8:58","nodeType":"VariableDeclaration","scope":51153,"src":"529:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":51151,"name":"bytes","nodeType":"ElementaryTypeName","src":"529:5:58","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"462:5:58","scope":51190,"visibility":"public"},{"id":51162,"nodeType":"StructDefinition","src":"556:123:58","nodes":[],"canonicalName":"IMulticall3.Call3Value","members":[{"constant":false,"id":51155,"mutability":"mutable","name":"target","nameLocation":"592:6:58","nodeType":"VariableDeclaration","scope":51162,"src":"584:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51154,"name":"address","nodeType":"ElementaryTypeName","src":"584:7:58","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51157,"mutability":"mutable","name":"allowFailure","nameLocation":"613:12:58","nodeType":"VariableDeclaration","scope":51162,"src":"608:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51156,"name":"bool","nodeType":"ElementaryTypeName","src":"608:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51159,"mutability":"mutable","name":"value","nameLocation":"643:5:58","nodeType":"VariableDeclaration","scope":51162,"src":"635:13:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51158,"name":"uint256","nodeType":"ElementaryTypeName","src":"635:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51161,"mutability":"mutable","name":"callData","nameLocation":"664:8:58","nodeType":"VariableDeclaration","scope":51162,"src":"658:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":51160,"name":"bytes","nodeType":"ElementaryTypeName","src":"658:5:58","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"563:10:58","scope":51190,"visibility":"public"},{"id":51167,"nodeType":"StructDefinition","src":"685:69:58","nodes":[],"canonicalName":"IMulticall3.Result","members":[{"constant":false,"id":51164,"mutability":"mutable","name":"success","nameLocation":"714:7:58","nodeType":"VariableDeclaration","scope":51167,"src":"709:12:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51163,"name":"bool","nodeType":"ElementaryTypeName","src":"709:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51166,"mutability":"mutable","name":"returnData","nameLocation":"737:10:58","nodeType":"VariableDeclaration","scope":51167,"src":"731:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":51165,"name":"bytes","nodeType":"ElementaryTypeName","src":"731:5:58","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"692:6:58","scope":51190,"visibility":"public"},{"id":51178,"nodeType":"FunctionDefinition","src":"940:98:58","nodes":[],"functionSelector":"82ad56cb","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"949:10:58","parameters":{"id":51172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51171,"mutability":"mutable","name":"calls","nameLocation":"977:5:58","nodeType":"VariableDeclaration","scope":51178,"src":"960:22:58","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":51169,"nodeType":"UserDefinedTypeName","pathNode":{"id":51168,"name":"Call3","nameLocations":["960:5:58"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"960:5:58"},"referencedDeclaration":51153,"src":"960:5:58","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":51170,"nodeType":"ArrayTypeName","src":"960:7:58","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"959:24:58"},"returnParameters":{"id":51177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51176,"mutability":"mutable","name":"returnData","nameLocation":"1026:10:58","nodeType":"VariableDeclaration","scope":51178,"src":"1010:26:58","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":51174,"nodeType":"UserDefinedTypeName","pathNode":{"id":51173,"name":"Result","nameLocations":["1010:6:58"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"1010:6:58"},"referencedDeclaration":51167,"src":"1010:6:58","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":51175,"nodeType":"ArrayTypeName","src":"1010:8:58","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1009:28:58"},"scope":51190,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":51189,"nodeType":"FunctionDefinition","src":"1044:108:58","nodes":[],"functionSelector":"174dea71","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"1053:15:58","parameters":{"id":51183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51182,"mutability":"mutable","name":"calls","nameLocation":"1091:5:58","nodeType":"VariableDeclaration","scope":51189,"src":"1069:27:58","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":51180,"nodeType":"UserDefinedTypeName","pathNode":{"id":51179,"name":"Call3Value","nameLocations":["1069:10:58"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"1069:10:58"},"referencedDeclaration":51162,"src":"1069:10:58","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":51181,"nodeType":"ArrayTypeName","src":"1069:12:58","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"1068:29:58"},"returnParameters":{"id":51188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51187,"mutability":"mutable","name":"returnData","nameLocation":"1140:10:58","nodeType":"VariableDeclaration","scope":51189,"src":"1124:26:58","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":51185,"nodeType":"UserDefinedTypeName","pathNode":{"id":51184,"name":"Result","nameLocations":["1124:6:58"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"1124:6:58"},"referencedDeclaration":51167,"src":"1124:6:58","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":51186,"nodeType":"ArrayTypeName","src":"1124:8:58","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1123:28:58"},"scope":51190,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","documentation":{"id":51146,"nodeType":"StructuredDocumentation","src":"58:191:58","text":"@title IMulticall3\n @notice Minimal subset of Multicall3 used by Trails router.\n @dev Matches the canonical implementation deployed at `0xcA11bde05977b3631167028862bE2a173976CA11`."},"fullyImplemented":false,"linearizedBaseContracts":[51190],"name":"IMulticall3","nameLocation":"259:11:58","scope":51191,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"src/interfaces/ITrailsIntentEntrypoint.sol":{"id":59,"ast":{"absolutePath":"src/interfaces/ITrailsIntentEntrypoint.sol","id":51301,"exportedSymbols":{"ITrailsIntentEntrypoint":[51300]},"nodeType":"SourceUnit","src":"32:4650:59","nodes":[{"id":51192,"nodeType":"PragmaDirective","src":"32:24:59","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":51300,"nodeType":"ContractDefinition","src":"155:4526:59","nodes":[{"id":51202,"nodeType":"EventDefinition","src":"616:89:59","nodes":[],"anonymous":false,"documentation":{"id":51194,"nodeType":"StructuredDocumentation","src":"372:239:59","text":"@notice Emitted when a user deposits tokens to an intent address\n @param user The user making the deposit\n @param intentAddress The intent address receiving the deposit\n @param amount The amount of tokens deposited"},"eventSelector":"09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf157","name":"IntentDeposit","nameLocation":"622:13:59","parameters":{"id":51201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51196,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"652:4:59","nodeType":"VariableDeclaration","scope":51202,"src":"636:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51195,"name":"address","nodeType":"ElementaryTypeName","src":"636:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51198,"indexed":true,"mutability":"mutable","name":"intentAddress","nameLocation":"674:13:59","nodeType":"VariableDeclaration","scope":51202,"src":"658:29:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51197,"name":"address","nodeType":"ElementaryTypeName","src":"658:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51200,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"697:6:59","nodeType":"VariableDeclaration","scope":51202,"src":"689:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51199,"name":"uint256","nodeType":"ElementaryTypeName","src":"689:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"635:69:59"}},{"id":51213,"nodeType":"EventDefinition","src":"991:111:59","nodes":[],"anonymous":false,"documentation":{"id":51203,"nodeType":"StructuredDocumentation","src":"711:275:59","text":"@notice Emitted when a fee is paid.\n @param user The account from which the fee was taken.\n @param feeToken The ERC-20 token used to pay the fee.\n @param feeAmount The amount of the fee paid.\n @param feeCollector The address receiving the fee."},"eventSelector":"f9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f","name":"FeePaid","nameLocation":"997:7:59","parameters":{"id":51212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51205,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"1021:4:59","nodeType":"VariableDeclaration","scope":51213,"src":"1005:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51204,"name":"address","nodeType":"ElementaryTypeName","src":"1005:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51207,"indexed":true,"mutability":"mutable","name":"feeToken","nameLocation":"1043:8:59","nodeType":"VariableDeclaration","scope":51213,"src":"1027:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51206,"name":"address","nodeType":"ElementaryTypeName","src":"1027:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51209,"indexed":false,"mutability":"mutable","name":"feeAmount","nameLocation":"1061:9:59","nodeType":"VariableDeclaration","scope":51213,"src":"1053:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51208,"name":"uint256","nodeType":"ElementaryTypeName","src":"1053:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51211,"indexed":true,"mutability":"mutable","name":"feeCollector","nameLocation":"1088:12:59","nodeType":"VariableDeclaration","scope":51213,"src":"1072:28:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51210,"name":"address","nodeType":"ElementaryTypeName","src":"1072:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1004:97:59"}},{"id":51219,"nodeType":"FunctionDefinition","src":"1424:60:59","nodes":[],"documentation":{"id":51214,"nodeType":"StructuredDocumentation","src":"1284:135:59","text":"@notice Returns the EIP-712 domain separator used for intent signatures.\n forge-lint: disable-next-line(mixed-case-function)"},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"1433:16:59","parameters":{"id":51215,"nodeType":"ParameterList","parameters":[],"src":"1449:2:59"},"returnParameters":{"id":51218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51219,"src":"1475:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1475:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1474:9:59"},"scope":51300,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":51225,"nodeType":"FunctionDefinition","src":"1637:66:59","nodes":[],"documentation":{"id":51220,"nodeType":"StructuredDocumentation","src":"1490:142:59","text":"@notice Returns the trails intent typehash constant used in EIP-712 signatures.\n forge-lint: disable-next-line(mixed-case-function)"},"functionSelector":"f3961040","implemented":false,"kind":"function","modifiers":[],"name":"TRAILS_INTENT_TYPEHASH","nameLocation":"1646:22:59","parameters":{"id":51221,"nodeType":"ParameterList","parameters":[],"src":"1668:2:59"},"returnParameters":{"id":51224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51225,"src":"1694:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1694:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1693:9:59"},"scope":51300,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":51231,"nodeType":"FunctionDefinition","src":"1828:57:59","nodes":[],"documentation":{"id":51226,"nodeType":"StructuredDocumentation","src":"1709:114:59","text":"@notice Returns the version string of the contract.\n forge-lint: disable-next-line(mixed-case-function)"},"functionSelector":"ffa1ad74","implemented":false,"kind":"function","modifiers":[],"name":"VERSION","nameLocation":"1837:7:59","parameters":{"id":51227,"nodeType":"ParameterList","parameters":[],"src":"1844:2:59"},"returnParameters":{"id":51230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51229,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51231,"src":"1870:13:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51228,"name":"string","nodeType":"ElementaryTypeName","src":"1870:6:59","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1869:15:59"},"scope":51300,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":51239,"nodeType":"FunctionDefinition","src":"1998:62:59","nodes":[],"documentation":{"id":51232,"nodeType":"StructuredDocumentation","src":"1891:102:59","text":"@notice Returns the current nonce for a given user.\n @param user The user address to query."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"2007:6:59","parameters":{"id":51235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51234,"mutability":"mutable","name":"user","nameLocation":"2022:4:59","nodeType":"VariableDeclaration","scope":51239,"src":"2014:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51233,"name":"address","nodeType":"ElementaryTypeName","src":"2014:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2013:14:59"},"returnParameters":{"id":51238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51239,"src":"2051:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51236,"name":"uint256","nodeType":"ElementaryTypeName","src":"2051:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2050:9:59"},"scope":51300,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":51273,"nodeType":"FunctionDefinition","src":"3222:423:59","nodes":[],"documentation":{"id":51240,"nodeType":"StructuredDocumentation","src":"2246:971:59","text":"@notice Deposit tokens to an intent address using ERC20 permit\n @param user The user making the deposit\n @param token The token to deposit (also used for fee payment)\n @param amount The amount to deposit\n @param permitAmount The amount to permit for spending (amount + feeAmount if paying fee)\n @param intentAddress The intent address to deposit to\n @param deadline The permit deadline\n @param nonce The nonce for this user\n @param feeAmount The amount of fee to pay (0 for no fee, paid in same token)\n @param feeCollector The address to receive the fee (address(0) for no fee)\n @param permitV The permit signature v component\n @param permitR The permit signature r component\n @param permitS The permit signature s component\n @param sigV The intent signature v component\n @param sigR The intent signature r component\n @param sigS The intent signature s component"},"functionSelector":"358a8f48","implemented":false,"kind":"function","modifiers":[],"name":"depositToIntentWithPermit","nameLocation":"3231:25:59","parameters":{"id":51271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51242,"mutability":"mutable","name":"user","nameLocation":"3274:4:59","nodeType":"VariableDeclaration","scope":51273,"src":"3266:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51241,"name":"address","nodeType":"ElementaryTypeName","src":"3266:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51244,"mutability":"mutable","name":"token","nameLocation":"3296:5:59","nodeType":"VariableDeclaration","scope":51273,"src":"3288:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51243,"name":"address","nodeType":"ElementaryTypeName","src":"3288:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51246,"mutability":"mutable","name":"amount","nameLocation":"3319:6:59","nodeType":"VariableDeclaration","scope":51273,"src":"3311:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51245,"name":"uint256","nodeType":"ElementaryTypeName","src":"3311:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51248,"mutability":"mutable","name":"permitAmount","nameLocation":"3343:12:59","nodeType":"VariableDeclaration","scope":51273,"src":"3335:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51247,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51250,"mutability":"mutable","name":"intentAddress","nameLocation":"3373:13:59","nodeType":"VariableDeclaration","scope":51273,"src":"3365:21:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51249,"name":"address","nodeType":"ElementaryTypeName","src":"3365:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51252,"mutability":"mutable","name":"deadline","nameLocation":"3404:8:59","nodeType":"VariableDeclaration","scope":51273,"src":"3396:16:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51251,"name":"uint256","nodeType":"ElementaryTypeName","src":"3396:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51254,"mutability":"mutable","name":"nonce","nameLocation":"3430:5:59","nodeType":"VariableDeclaration","scope":51273,"src":"3422:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51253,"name":"uint256","nodeType":"ElementaryTypeName","src":"3422:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51256,"mutability":"mutable","name":"feeAmount","nameLocation":"3453:9:59","nodeType":"VariableDeclaration","scope":51273,"src":"3445:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51255,"name":"uint256","nodeType":"ElementaryTypeName","src":"3445:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51258,"mutability":"mutable","name":"feeCollector","nameLocation":"3480:12:59","nodeType":"VariableDeclaration","scope":51273,"src":"3472:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51257,"name":"address","nodeType":"ElementaryTypeName","src":"3472:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51260,"mutability":"mutable","name":"permitV","nameLocation":"3508:7:59","nodeType":"VariableDeclaration","scope":51273,"src":"3502:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":51259,"name":"uint8","nodeType":"ElementaryTypeName","src":"3502:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":51262,"mutability":"mutable","name":"permitR","nameLocation":"3533:7:59","nodeType":"VariableDeclaration","scope":51273,"src":"3525:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3525:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51264,"mutability":"mutable","name":"permitS","nameLocation":"3558:7:59","nodeType":"VariableDeclaration","scope":51273,"src":"3550:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3550:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51266,"mutability":"mutable","name":"sigV","nameLocation":"3581:4:59","nodeType":"VariableDeclaration","scope":51273,"src":"3575:10:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":51265,"name":"uint8","nodeType":"ElementaryTypeName","src":"3575:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":51268,"mutability":"mutable","name":"sigR","nameLocation":"3603:4:59","nodeType":"VariableDeclaration","scope":51273,"src":"3595:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3595:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51270,"mutability":"mutable","name":"sigS","nameLocation":"3625:4:59","nodeType":"VariableDeclaration","scope":51273,"src":"3617:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3617:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3256:379:59"},"returnParameters":{"id":51272,"nodeType":"ParameterList","parameters":[],"src":"3644:0:59"},"scope":51300,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":51299,"nodeType":"FunctionDefinition","src":"4369:310:59","nodes":[],"documentation":{"id":51274,"nodeType":"StructuredDocumentation","src":"3651:713:59","text":"@notice Deposit tokens to an intent address (requires prior approval)\n @param user The user making the deposit\n @param token The token to deposit (also used for fee payment)\n @param amount The amount to deposit\n @param intentAddress The intent address to deposit to\n @param deadline The intent deadline\n @param nonce The nonce for this user\n @param feeAmount The amount of fee to pay (0 for no fee, paid in same token)\n @param feeCollector The address to receive the fee (address(0) for no fee)\n @param sigV The intent signature v component\n @param sigR The intent signature r component\n @param sigS The intent signature s component"},"functionSelector":"3525916f","implemented":false,"kind":"function","modifiers":[],"name":"depositToIntent","nameLocation":"4378:15:59","parameters":{"id":51297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51276,"mutability":"mutable","name":"user","nameLocation":"4411:4:59","nodeType":"VariableDeclaration","scope":51299,"src":"4403:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51275,"name":"address","nodeType":"ElementaryTypeName","src":"4403:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51278,"mutability":"mutable","name":"token","nameLocation":"4433:5:59","nodeType":"VariableDeclaration","scope":51299,"src":"4425:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51277,"name":"address","nodeType":"ElementaryTypeName","src":"4425:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51280,"mutability":"mutable","name":"amount","nameLocation":"4456:6:59","nodeType":"VariableDeclaration","scope":51299,"src":"4448:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51279,"name":"uint256","nodeType":"ElementaryTypeName","src":"4448:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51282,"mutability":"mutable","name":"intentAddress","nameLocation":"4480:13:59","nodeType":"VariableDeclaration","scope":51299,"src":"4472:21:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51281,"name":"address","nodeType":"ElementaryTypeName","src":"4472:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51284,"mutability":"mutable","name":"deadline","nameLocation":"4511:8:59","nodeType":"VariableDeclaration","scope":51299,"src":"4503:16:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51283,"name":"uint256","nodeType":"ElementaryTypeName","src":"4503:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51286,"mutability":"mutable","name":"nonce","nameLocation":"4537:5:59","nodeType":"VariableDeclaration","scope":51299,"src":"4529:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51285,"name":"uint256","nodeType":"ElementaryTypeName","src":"4529:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51288,"mutability":"mutable","name":"feeAmount","nameLocation":"4560:9:59","nodeType":"VariableDeclaration","scope":51299,"src":"4552:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51287,"name":"uint256","nodeType":"ElementaryTypeName","src":"4552:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51290,"mutability":"mutable","name":"feeCollector","nameLocation":"4587:12:59","nodeType":"VariableDeclaration","scope":51299,"src":"4579:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51289,"name":"address","nodeType":"ElementaryTypeName","src":"4579:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51292,"mutability":"mutable","name":"sigV","nameLocation":"4615:4:59","nodeType":"VariableDeclaration","scope":51299,"src":"4609:10:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":51291,"name":"uint8","nodeType":"ElementaryTypeName","src":"4609:5:59","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":51294,"mutability":"mutable","name":"sigR","nameLocation":"4637:4:59","nodeType":"VariableDeclaration","scope":51299,"src":"4629:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4629:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51296,"mutability":"mutable","name":"sigS","nameLocation":"4659:4:59","nodeType":"VariableDeclaration","scope":51299,"src":"4651:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4651:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4393:276:59"},"returnParameters":{"id":51298,"nodeType":"ParameterList","parameters":[],"src":"4678:0:59"},"scope":51300,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ITrailsIntentEntrypoint","contractDependencies":[],"contractKind":"interface","documentation":{"id":51193,"nodeType":"StructuredDocumentation","src":"58:97:59","text":"@title ITrailsIntentEntrypoint\n @notice Interface for the TrailsIntentEntrypoint contract"},"fullyImplemented":false,"linearizedBaseContracts":[51300],"name":"ITrailsIntentEntrypoint","nameLocation":"165:23:59","scope":51301,"usedErrors":[],"usedEvents":[51202,51213]}],"license":"MIT"}},"src/interfaces/ITrailsRouter.sol":{"id":60,"ast":{"absolutePath":"src/interfaces/ITrailsRouter.sol","id":51477,"exportedSymbols":{"IDelegatedExtension":[48994],"IMulticall3":[51190],"ITrailsRouter":[51476]},"nodeType":"SourceUnit","src":"32:6485:60","nodes":[{"id":51302,"nodeType":"PragmaDirective","src":"32:24:60","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":51304,"nodeType":"ImportDirective","src":"58:99:60","nodes":[],"absolutePath":"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol","file":"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol","nameLocation":"-1:-1:-1","scope":51477,"sourceUnit":48995,"symbolAliases":[{"foreign":{"id":51303,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"66:19:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51306,"nodeType":"ImportDirective","src":"158:46:60","nodes":[],"absolutePath":"src/interfaces/IMulticall3.sol","file":"./IMulticall3.sol","nameLocation":"-1:-1:-1","scope":51477,"sourceUnit":51191,"symbolAliases":[{"foreign":{"id":51305,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"166:11:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51476,"nodeType":"ContractDefinition","src":"328:6188:60","nodes":[{"id":51325,"nodeType":"EventDefinition","src":"550:230:60","nodes":[],"anonymous":false,"eventSelector":"5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d91","name":"BalanceInjectorCall","nameLocation":"556:19:60","parameters":{"id":51324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51311,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"601:5:60","nodeType":"VariableDeclaration","scope":51325,"src":"585:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51310,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51313,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"632:6:60","nodeType":"VariableDeclaration","scope":51325,"src":"616:22:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51312,"name":"address","nodeType":"ElementaryTypeName","src":"616:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51315,"indexed":false,"mutability":"mutable","name":"placeholder","nameLocation":"656:11:60","nodeType":"VariableDeclaration","scope":51325,"src":"648:19:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"648:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51317,"indexed":false,"mutability":"mutable","name":"amountReplaced","nameLocation":"685:14:60","nodeType":"VariableDeclaration","scope":51325,"src":"677:22:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51316,"name":"uint256","nodeType":"ElementaryTypeName","src":"677:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51319,"indexed":false,"mutability":"mutable","name":"amountOffset","nameLocation":"717:12:60","nodeType":"VariableDeclaration","scope":51325,"src":"709:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51318,"name":"uint256","nodeType":"ElementaryTypeName","src":"709:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51321,"indexed":false,"mutability":"mutable","name":"success","nameLocation":"744:7:60","nodeType":"VariableDeclaration","scope":51325,"src":"739:12:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51320,"name":"bool","nodeType":"ElementaryTypeName","src":"739:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51323,"indexed":false,"mutability":"mutable","name":"result","nameLocation":"767:6:60","nodeType":"VariableDeclaration","scope":51325,"src":"761:12:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51322,"name":"bytes","nodeType":"ElementaryTypeName","src":"761:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"575:204:60"}},{"id":51333,"nodeType":"EventDefinition","src":"785:79:60","nodes":[],"anonymous":false,"eventSelector":"f40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae","name":"Refund","nameLocation":"791:6:60","parameters":{"id":51332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51327,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"814:5:60","nodeType":"VariableDeclaration","scope":51333,"src":"798:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51326,"name":"address","nodeType":"ElementaryTypeName","src":"798:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51329,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"837:9:60","nodeType":"VariableDeclaration","scope":51333,"src":"821:25:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51328,"name":"address","nodeType":"ElementaryTypeName","src":"821:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51331,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"856:6:60","nodeType":"VariableDeclaration","scope":51333,"src":"848:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51330,"name":"uint256","nodeType":"ElementaryTypeName","src":"848:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"797:66:60"}},{"id":51341,"nodeType":"EventDefinition","src":"869:78:60","nodes":[],"anonymous":false,"eventSelector":"ed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7","name":"Sweep","nameLocation":"875:5:60","parameters":{"id":51340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51335,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"897:5:60","nodeType":"VariableDeclaration","scope":51341,"src":"881:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51334,"name":"address","nodeType":"ElementaryTypeName","src":"881:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51337,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"920:9:60","nodeType":"VariableDeclaration","scope":51341,"src":"904:25:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51336,"name":"address","nodeType":"ElementaryTypeName","src":"904:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51339,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"939:6:60","nodeType":"VariableDeclaration","scope":51341,"src":"931:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51338,"name":"uint256","nodeType":"ElementaryTypeName","src":"931:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"880:66:60"}},{"id":51355,"nodeType":"EventDefinition","src":"952:226:60","nodes":[],"anonymous":false,"eventSelector":"e8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea","name":"RefundAndSweep","nameLocation":"958:14:60","parameters":{"id":51354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51343,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"998:5:60","nodeType":"VariableDeclaration","scope":51355,"src":"982:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51342,"name":"address","nodeType":"ElementaryTypeName","src":"982:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51345,"indexed":true,"mutability":"mutable","name":"refundRecipient","nameLocation":"1029:15:60","nodeType":"VariableDeclaration","scope":51355,"src":"1013:31:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51344,"name":"address","nodeType":"ElementaryTypeName","src":"1013:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51347,"indexed":false,"mutability":"mutable","name":"refundAmount","nameLocation":"1062:12:60","nodeType":"VariableDeclaration","scope":51355,"src":"1054:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51346,"name":"uint256","nodeType":"ElementaryTypeName","src":"1054:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51349,"indexed":true,"mutability":"mutable","name":"sweepRecipient","nameLocation":"1100:14:60","nodeType":"VariableDeclaration","scope":51355,"src":"1084:30:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51348,"name":"address","nodeType":"ElementaryTypeName","src":"1084:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51351,"indexed":false,"mutability":"mutable","name":"actualRefund","nameLocation":"1132:12:60","nodeType":"VariableDeclaration","scope":51355,"src":"1124:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51350,"name":"uint256","nodeType":"ElementaryTypeName","src":"1124:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51353,"indexed":false,"mutability":"mutable","name":"remaining","nameLocation":"1162:9:60","nodeType":"VariableDeclaration","scope":51355,"src":"1154:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51352,"name":"uint256","nodeType":"ElementaryTypeName","src":"1154:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"972:205:60"}},{"id":51365,"nodeType":"EventDefinition","src":"1183:103:60","nodes":[],"anonymous":false,"eventSelector":"bc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf85","name":"ActualRefund","nameLocation":"1189:12:60","parameters":{"id":51364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51357,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"1218:5:60","nodeType":"VariableDeclaration","scope":51365,"src":"1202:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51356,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51359,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"1241:9:60","nodeType":"VariableDeclaration","scope":51365,"src":"1225:25:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51358,"name":"address","nodeType":"ElementaryTypeName","src":"1225:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51361,"indexed":false,"mutability":"mutable","name":"expected","nameLocation":"1260:8:60","nodeType":"VariableDeclaration","scope":51365,"src":"1252:16:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51360,"name":"uint256","nodeType":"ElementaryTypeName","src":"1252:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51363,"indexed":false,"mutability":"mutable","name":"actual","nameLocation":"1278:6:60","nodeType":"VariableDeclaration","scope":51365,"src":"1270:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51362,"name":"uint256","nodeType":"ElementaryTypeName","src":"1270:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1201:84:60"}},{"id":51375,"nodeType":"FunctionDefinition","src":"1716:107:60","nodes":[],"documentation":{"id":51366,"nodeType":"StructuredDocumentation","src":"1475:236:60","text":"@notice Delegates to Multicall3 to preserve msg.sender context.\n @dev Delegates to Multicall3 to preserve msg.sender context.\n @param data The data to execute.\n @return returnResults The result of the execution."},"functionSelector":"09c5eabe","implemented":false,"kind":"function","modifiers":[],"name":"execute","nameLocation":"1725:7:60","parameters":{"id":51369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51368,"mutability":"mutable","name":"data","nameLocation":"1748:4:60","nodeType":"VariableDeclaration","scope":51375,"src":"1733:19:60","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51367,"name":"bytes","nodeType":"ElementaryTypeName","src":"1733:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1732:21:60"},"returnParameters":{"id":51374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51373,"mutability":"mutable","name":"returnResults","nameLocation":"1808:13:60","nodeType":"VariableDeclaration","scope":51375,"src":"1780:41:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":51371,"nodeType":"UserDefinedTypeName","pathNode":{"id":51370,"name":"IMulticall3.Result","nameLocations":["1780:11:60","1792:6:60"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"1780:18:60"},"referencedDeclaration":51167,"src":"1780:18:60","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":51372,"nodeType":"ArrayTypeName","src":"1780:20:60","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1779:43:60"},"scope":51476,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":51387,"nodeType":"FunctionDefinition","src":"2185:153:60","nodes":[],"documentation":{"id":51376,"nodeType":"StructuredDocumentation","src":"1829:351:60","text":"@notice Pull tokens from msg.sender, then delegatecall into Multicall3.\n @dev For ERC20: pulls entire balance and requires prior approval. For ETH: uses msg.value.\n @param token The ERC20 token to pull, or address(0) for ETH.\n @param data The calldata for Multicall3.\n @return returnResults The result of the execution."},"functionSelector":"7a7eeb4f","implemented":false,"kind":"function","modifiers":[],"name":"pullAndExecute","nameLocation":"2194:14:60","parameters":{"id":51381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51378,"mutability":"mutable","name":"token","nameLocation":"2217:5:60","nodeType":"VariableDeclaration","scope":51387,"src":"2209:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51377,"name":"address","nodeType":"ElementaryTypeName","src":"2209:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51380,"mutability":"mutable","name":"data","nameLocation":"2239:4:60","nodeType":"VariableDeclaration","scope":51387,"src":"2224:19:60","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51379,"name":"bytes","nodeType":"ElementaryTypeName","src":"2224:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2208:36:60"},"returnParameters":{"id":51386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51385,"mutability":"mutable","name":"returnResults","nameLocation":"2323:13:60","nodeType":"VariableDeclaration","scope":51387,"src":"2295:41:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":51383,"nodeType":"UserDefinedTypeName","pathNode":{"id":51382,"name":"IMulticall3.Result","nameLocations":["2295:11:60","2307:6:60"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"2295:18:60"},"referencedDeclaration":51167,"src":"2295:18:60","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":51384,"nodeType":"ArrayTypeName","src":"2295:20:60","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2294:43:60"},"scope":51476,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":51401,"nodeType":"FunctionDefinition","src":"2740:175:60","nodes":[],"documentation":{"id":51388,"nodeType":"StructuredDocumentation","src":"2344:391:60","text":"@notice Pull specific amount of tokens from msg.sender, then delegatecall into Multicall3.\n @dev For ERC20: requires prior approval. For ETH: requires msg.value.\n @param token The ERC20 token to pull, or address(0) for ETH.\n @param amount The amount to pull.\n @param data The calldata for Multicall3.\n @return returnResults The result of the execution."},"functionSelector":"a9baaaf5","implemented":false,"kind":"function","modifiers":[],"name":"pullAmountAndExecute","nameLocation":"2749:20:60","parameters":{"id":51395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51390,"mutability":"mutable","name":"token","nameLocation":"2778:5:60","nodeType":"VariableDeclaration","scope":51401,"src":"2770:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51389,"name":"address","nodeType":"ElementaryTypeName","src":"2770:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51392,"mutability":"mutable","name":"amount","nameLocation":"2793:6:60","nodeType":"VariableDeclaration","scope":51401,"src":"2785:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51391,"name":"uint256","nodeType":"ElementaryTypeName","src":"2785:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51394,"mutability":"mutable","name":"data","nameLocation":"2816:4:60","nodeType":"VariableDeclaration","scope":51401,"src":"2801:19:60","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51393,"name":"bytes","nodeType":"ElementaryTypeName","src":"2801:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2769:52:60"},"returnParameters":{"id":51400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51399,"mutability":"mutable","name":"returnResults","nameLocation":"2900:13:60","nodeType":"VariableDeclaration","scope":51401,"src":"2872:41:60","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":51397,"nodeType":"UserDefinedTypeName","pathNode":{"id":51396,"name":"IMulticall3.Result","nameLocations":["2872:11:60","2884:6:60"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"2872:18:60"},"referencedDeclaration":51167,"src":"2872:18:60","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":51398,"nodeType":"ArrayTypeName","src":"2872:20:60","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2871:43:60"},"scope":51476,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":51415,"nodeType":"FunctionDefinition","src":"3656:190:60","nodes":[],"documentation":{"id":51402,"nodeType":"StructuredDocumentation","src":"3101:550:60","text":"@notice Sweeps tokens from msg.sender and calls target with modified calldata.\n @dev Transfers tokens from msg.sender to this contract first.\n @param token The ERC-20 token to sweep, or address(0) for ETH.\n @param target The address to call with modified calldata.\n @param callData The original calldata (must include a 32-byte placeholder).\n @param amountOffset The byte offset in calldata where the placeholder is located.\n @param placeholder The 32-byte placeholder that will be replaced with balance."},"functionSelector":"c5e5153b","implemented":false,"kind":"function","modifiers":[],"name":"injectSweepAndCall","nameLocation":"3665:18:60","parameters":{"id":51413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51404,"mutability":"mutable","name":"token","nameLocation":"3701:5:60","nodeType":"VariableDeclaration","scope":51415,"src":"3693:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51403,"name":"address","nodeType":"ElementaryTypeName","src":"3693:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51406,"mutability":"mutable","name":"target","nameLocation":"3724:6:60","nodeType":"VariableDeclaration","scope":51415,"src":"3716:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51405,"name":"address","nodeType":"ElementaryTypeName","src":"3716:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51408,"mutability":"mutable","name":"callData","nameLocation":"3755:8:60","nodeType":"VariableDeclaration","scope":51415,"src":"3740:23:60","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51407,"name":"bytes","nodeType":"ElementaryTypeName","src":"3740:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":51410,"mutability":"mutable","name":"amountOffset","nameLocation":"3781:12:60","nodeType":"VariableDeclaration","scope":51415,"src":"3773:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51409,"name":"uint256","nodeType":"ElementaryTypeName","src":"3773:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51412,"mutability":"mutable","name":"placeholder","nameLocation":"3811:11:60","nodeType":"VariableDeclaration","scope":51415,"src":"3803:19:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3803:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3683:145:60"},"returnParameters":{"id":51414,"nodeType":"ParameterList","parameters":[],"src":"3845:0:60"},"scope":51476,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":51429,"nodeType":"FunctionDefinition","src":"4327:185:60","nodes":[],"documentation":{"id":51416,"nodeType":"StructuredDocumentation","src":"3852:470:60","text":"@notice Injects balance and calls target (for delegatecall context).\n @param token The ERC-20 token to sweep, or address(0) for ETH.\n @param target The address to call with modified calldata.\n @param callData The original calldata (must include a 32-byte placeholder).\n @param amountOffset The byte offset in calldata where the placeholder is located.\n @param placeholder The 32-byte placeholder that will be replaced with balance."},"functionSelector":"5b5e6516","implemented":false,"kind":"function","modifiers":[],"name":"injectAndCall","nameLocation":"4336:13:60","parameters":{"id":51427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51418,"mutability":"mutable","name":"token","nameLocation":"4367:5:60","nodeType":"VariableDeclaration","scope":51429,"src":"4359:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51417,"name":"address","nodeType":"ElementaryTypeName","src":"4359:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51420,"mutability":"mutable","name":"target","nameLocation":"4390:6:60","nodeType":"VariableDeclaration","scope":51429,"src":"4382:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51419,"name":"address","nodeType":"ElementaryTypeName","src":"4382:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51422,"mutability":"mutable","name":"callData","nameLocation":"4421:8:60","nodeType":"VariableDeclaration","scope":51429,"src":"4406:23:60","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51421,"name":"bytes","nodeType":"ElementaryTypeName","src":"4406:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":51424,"mutability":"mutable","name":"amountOffset","nameLocation":"4447:12:60","nodeType":"VariableDeclaration","scope":51429,"src":"4439:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51423,"name":"uint256","nodeType":"ElementaryTypeName","src":"4439:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51426,"mutability":"mutable","name":"placeholder","nameLocation":"4477:11:60","nodeType":"VariableDeclaration","scope":51429,"src":"4469:19:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4469:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4349:145:60"},"returnParameters":{"id":51428,"nodeType":"ParameterList","parameters":[],"src":"4511:0:60"},"scope":51476,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":51439,"nodeType":"FunctionDefinition","src":"4841:99:60","nodes":[],"documentation":{"id":51430,"nodeType":"StructuredDocumentation","src":"4518:318:60","text":"@notice Validates that the success sentinel for an opHash is set, then sweeps tokens.\n @dev For delegatecall context. Used to ensure prior operation succeeded.\n @param opHash The operation hash to validate.\n @param token The token to sweep.\n @param recipient The recipient of the sweep."},"functionSelector":"2a3ee126","implemented":false,"kind":"function","modifiers":[],"name":"validateOpHashAndSweep","nameLocation":"4850:22:60","parameters":{"id":51437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51432,"mutability":"mutable","name":"opHash","nameLocation":"4881:6:60","nodeType":"VariableDeclaration","scope":51439,"src":"4873:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4873:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51434,"mutability":"mutable","name":"token","nameLocation":"4897:5:60","nodeType":"VariableDeclaration","scope":51439,"src":"4889:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51433,"name":"address","nodeType":"ElementaryTypeName","src":"4889:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51436,"mutability":"mutable","name":"recipient","nameLocation":"4912:9:60","nodeType":"VariableDeclaration","scope":51439,"src":"4904:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51435,"name":"address","nodeType":"ElementaryTypeName","src":"4904:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4872:50:60"},"returnParameters":{"id":51438,"nodeType":"ParameterList","parameters":[],"src":"4939:0:60"},"scope":51476,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":51447,"nodeType":"FunctionDefinition","src":"5432:66:60","nodes":[],"documentation":{"id":51440,"nodeType":"StructuredDocumentation","src":"5116:311:60","text":"@notice Sweeps the entire balance to recipient.\n @dev For delegatecall context. Transfers all tokens/ETH held by the wallet to the recipient.\n @param token The address of the token to sweep. Use address(0) for the native token.\n @param recipient The address to send the swept tokens to."},"functionSelector":"b8dc491b","implemented":false,"kind":"function","modifiers":[],"name":"sweep","nameLocation":"5441:5:60","parameters":{"id":51445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51442,"mutability":"mutable","name":"token","nameLocation":"5455:5:60","nodeType":"VariableDeclaration","scope":51447,"src":"5447:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51441,"name":"address","nodeType":"ElementaryTypeName","src":"5447:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51444,"mutability":"mutable","name":"recipient","nameLocation":"5470:9:60","nodeType":"VariableDeclaration","scope":51447,"src":"5462:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51443,"name":"address","nodeType":"ElementaryTypeName","src":"5462:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5446:34:60"},"returnParameters":{"id":51446,"nodeType":"ParameterList","parameters":[],"src":"5497:0:60"},"scope":51476,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":51459,"nodeType":"FunctionDefinition","src":"5943:143:60","nodes":[],"documentation":{"id":51448,"nodeType":"StructuredDocumentation","src":"5504:434:60","text":"@notice Refunds up to `_refundAmount` to `_refundRecipient`, then sweeps any remaining balance to `_sweepRecipient`.\n @dev For delegatecall context.\n @param token The token address to operate on. Use address(0) for native.\n @param refundRecipient Address receiving the refund portion.\n @param refundAmount Maximum amount to refund.\n @param sweepRecipient Address receiving the remaining balance."},"functionSelector":"4784226e","implemented":false,"kind":"function","modifiers":[],"name":"refundAndSweep","nameLocation":"5952:14:60","parameters":{"id":51457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51450,"mutability":"mutable","name":"token","nameLocation":"5975:5:60","nodeType":"VariableDeclaration","scope":51459,"src":"5967:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51449,"name":"address","nodeType":"ElementaryTypeName","src":"5967:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51452,"mutability":"mutable","name":"refundRecipient","nameLocation":"5990:15:60","nodeType":"VariableDeclaration","scope":51459,"src":"5982:23:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51451,"name":"address","nodeType":"ElementaryTypeName","src":"5982:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51454,"mutability":"mutable","name":"refundAmount","nameLocation":"6015:12:60","nodeType":"VariableDeclaration","scope":51459,"src":"6007:20:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51453,"name":"uint256","nodeType":"ElementaryTypeName","src":"6007:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51456,"mutability":"mutable","name":"sweepRecipient","nameLocation":"6037:14:60","nodeType":"VariableDeclaration","scope":51459,"src":"6029:22:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51455,"name":"address","nodeType":"ElementaryTypeName","src":"6029:7:60","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5966:86:60"},"returnParameters":{"id":51458,"nodeType":"ParameterList","parameters":[],"src":"6085:0:60"},"scope":51476,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":51475,"nodeType":"FunctionDefinition","src":"6309:205:60","nodes":[],"baseFunctions":[48993],"documentation":{"id":51460,"nodeType":"StructuredDocumentation","src":"6269:35:60","text":"@inheritdoc IDelegatedExtension"},"functionSelector":"4c4e814c","implemented":false,"kind":"function","modifiers":[],"name":"handleSequenceDelegateCall","nameLocation":"6318:26:60","parameters":{"id":51473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51462,"mutability":"mutable","name":"opHash","nameLocation":"6362:6:60","nodeType":"VariableDeclaration","scope":51475,"src":"6354:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6354:7:60","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51464,"mutability":"mutable","name":"startingGas","nameLocation":"6386:11:60","nodeType":"VariableDeclaration","scope":51475,"src":"6378:19:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51463,"name":"uint256","nodeType":"ElementaryTypeName","src":"6378:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51466,"mutability":"mutable","name":"index","nameLocation":"6415:5:60","nodeType":"VariableDeclaration","scope":51475,"src":"6407:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51465,"name":"uint256","nodeType":"ElementaryTypeName","src":"6407:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51468,"mutability":"mutable","name":"numCalls","nameLocation":"6438:8:60","nodeType":"VariableDeclaration","scope":51475,"src":"6430:16:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51467,"name":"uint256","nodeType":"ElementaryTypeName","src":"6430:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51470,"mutability":"mutable","name":"space","nameLocation":"6464:5:60","nodeType":"VariableDeclaration","scope":51475,"src":"6456:13:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51469,"name":"uint256","nodeType":"ElementaryTypeName","src":"6456:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51472,"mutability":"mutable","name":"data","nameLocation":"6494:4:60","nodeType":"VariableDeclaration","scope":51475,"src":"6479:19:60","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51471,"name":"bytes","nodeType":"ElementaryTypeName","src":"6479:5:60","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6344:160:60"},"returnParameters":{"id":51474,"nodeType":"ParameterList","parameters":[],"src":"6513:0:60"},"scope":51476,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":51308,"name":"IDelegatedExtension","nameLocations":["355:19:60"],"nodeType":"IdentifierPath","referencedDeclaration":48994,"src":"355:19:60"},"id":51309,"nodeType":"InheritanceSpecifier","src":"355:19:60"}],"canonicalName":"ITrailsRouter","contractDependencies":[],"contractKind":"interface","documentation":{"id":51307,"nodeType":"StructuredDocumentation","src":"206:122:60","text":"@title ITrailsRouter\n @notice Interface describing the delegate-call router utilities exposed to Sequence wallets."},"fullyImplemented":false,"linearizedBaseContracts":[51476,48994],"name":"ITrailsRouter","nameLocation":"338:13:60","scope":51477,"usedErrors":[],"usedEvents":[51325,51333,51341,51355,51365]}],"license":"MIT"}},"src/interfaces/ITrailsRouterShim.sol":{"id":61,"ast":{"absolutePath":"src/interfaces/ITrailsRouterShim.sol","id":51501,"exportedSymbols":{"IDelegatedExtension":[48994],"ITrailsRouterShim":[51500]},"nodeType":"SourceUnit","src":"32:735:61","nodes":[{"id":51478,"nodeType":"PragmaDirective","src":"32:24:61","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":51480,"nodeType":"ImportDirective","src":"58:99:61","nodes":[],"absolutePath":"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol","file":"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol","nameLocation":"-1:-1:-1","scope":51501,"sourceUnit":48995,"symbolAliases":[{"foreign":{"id":51479,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"66:19:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51500,"nodeType":"ContractDefinition","src":"282:484:61","nodes":[{"id":51499,"nodeType":"FunctionDefinition","src":"559:205:61","nodes":[],"baseFunctions":[48993],"documentation":{"id":51484,"nodeType":"StructuredDocumentation","src":"519:35:61","text":"@inheritdoc IDelegatedExtension"},"functionSelector":"4c4e814c","implemented":false,"kind":"function","modifiers":[],"name":"handleSequenceDelegateCall","nameLocation":"568:26:61","parameters":{"id":51497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51486,"mutability":"mutable","name":"opHash","nameLocation":"612:6:61","nodeType":"VariableDeclaration","scope":51499,"src":"604:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"604:7:61","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51488,"mutability":"mutable","name":"startingGas","nameLocation":"636:11:61","nodeType":"VariableDeclaration","scope":51499,"src":"628:19:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51487,"name":"uint256","nodeType":"ElementaryTypeName","src":"628:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51490,"mutability":"mutable","name":"index","nameLocation":"665:5:61","nodeType":"VariableDeclaration","scope":51499,"src":"657:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51489,"name":"uint256","nodeType":"ElementaryTypeName","src":"657:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51492,"mutability":"mutable","name":"numCalls","nameLocation":"688:8:61","nodeType":"VariableDeclaration","scope":51499,"src":"680:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51491,"name":"uint256","nodeType":"ElementaryTypeName","src":"680:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51494,"mutability":"mutable","name":"space","nameLocation":"714:5:61","nodeType":"VariableDeclaration","scope":51499,"src":"706:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51493,"name":"uint256","nodeType":"ElementaryTypeName","src":"706:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51496,"mutability":"mutable","name":"data","nameLocation":"744:4:61","nodeType":"VariableDeclaration","scope":51499,"src":"729:19:61","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51495,"name":"bytes","nodeType":"ElementaryTypeName","src":"729:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"594:160:61"},"returnParameters":{"id":51498,"nodeType":"ParameterList","parameters":[],"src":"763:0:61"},"scope":51500,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":51482,"name":"IDelegatedExtension","nameLocations":["313:19:61"],"nodeType":"IdentifierPath","referencedDeclaration":48994,"src":"313:19:61"},"id":51483,"nodeType":"InheritanceSpecifier","src":"313:19:61"}],"canonicalName":"ITrailsRouterShim","contractDependencies":[],"contractKind":"interface","documentation":{"id":51481,"nodeType":"StructuredDocumentation","src":"159:123:61","text":"@title ITrailsRouterShim\n @notice Interface for the router shim that bridges Sequence wallets to the Trails router."},"fullyImplemented":false,"linearizedBaseContracts":[51500,48994],"name":"ITrailsRouterShim","nameLocation":"292:17:61","scope":51501,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"src/libraries/TrailsSentinelLib.sol":{"id":62,"ast":{"absolutePath":"src/libraries/TrailsSentinelLib.sol","id":51528,"exportedSymbols":{"TrailsSentinelLib":[51527]},"nodeType":"SourceUnit","src":"32:1093:62","nodes":[{"id":51502,"nodeType":"PragmaDirective","src":"32:24:62","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":51527,"nodeType":"ContractDefinition","src":"223:901:62","nodes":[{"id":51507,"nodeType":"VariableDeclaration","src":"434:93:62","nodes":[],"constant":true,"functionSelector":"68eca913","mutability":"constant","name":"SENTINEL_NAMESPACE","nameLocation":"458:18:62","scope":51527,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"434:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"6f72672e73657175656e63652e747261696c732e726f757465722e73656e74696e656c","id":51505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"489:37:62","typeDescriptions":{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""},"value":"org.sequence.trails.router.sentinel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""}],"id":51504,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"479:9:62","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"479:48:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":51513,"nodeType":"VariableDeclaration","src":"533:50:62","nodes":[],"constant":true,"functionSelector":"88cf2ff5","mutability":"constant","name":"SUCCESS_VALUE","nameLocation":"557:13:62","scope":51527,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51508,"name":"uint256","nodeType":"ElementaryTypeName","src":"533:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"arguments":[{"hexValue":"31","id":51511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"581:1:62","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":51510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"573:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51509,"name":"uint256","nodeType":"ElementaryTypeName","src":"573:7:62","typeDescriptions":{}}},"id":51512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"573:10:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":51526,"nodeType":"FunctionDefinition","src":"780:342:62","nodes":[],"body":{"id":51525,"nodeType":"Block","src":"856:266:62","nodes":[],"statements":[{"assignments":[51521],"declarations":[{"constant":false,"id":51521,"mutability":"mutable","name":"namespace","nameLocation":"943:9:62","nodeType":"VariableDeclaration","scope":51525,"src":"935:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51520,"name":"bytes32","nodeType":"ElementaryTypeName","src":"935:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51523,"initialValue":{"id":51522,"name":"SENTINEL_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51507,"src":"955:18:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"935:38:62"},{"AST":{"nativeSrc":"992:124:62","nodeType":"YulBlock","src":"992:124:62","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1013:4:62","nodeType":"YulLiteral","src":"1013:4:62","type":"","value":"0x00"},{"name":"namespace","nativeSrc":"1019:9:62","nodeType":"YulIdentifier","src":"1019:9:62"}],"functionName":{"name":"mstore","nativeSrc":"1006:6:62","nodeType":"YulIdentifier","src":"1006:6:62"},"nativeSrc":"1006:23:62","nodeType":"YulFunctionCall","src":"1006:23:62"},"nativeSrc":"1006:23:62","nodeType":"YulExpressionStatement","src":"1006:23:62"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1049:4:62","nodeType":"YulLiteral","src":"1049:4:62","type":"","value":"0x20"},{"name":"opHash","nativeSrc":"1055:6:62","nodeType":"YulIdentifier","src":"1055:6:62"}],"functionName":{"name":"mstore","nativeSrc":"1042:6:62","nodeType":"YulIdentifier","src":"1042:6:62"},"nativeSrc":"1042:20:62","nodeType":"YulFunctionCall","src":"1042:20:62"},"nativeSrc":"1042:20:62","nodeType":"YulExpressionStatement","src":"1042:20:62"},{"nativeSrc":"1075:31:62","nodeType":"YulAssignment","src":"1075:31:62","value":{"arguments":[{"kind":"number","nativeSrc":"1095:4:62","nodeType":"YulLiteral","src":"1095:4:62","type":"","value":"0x00"},{"kind":"number","nativeSrc":"1101:4:62","nodeType":"YulLiteral","src":"1101:4:62","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"1085:9:62","nodeType":"YulIdentifier","src":"1085:9:62"},"nativeSrc":"1085:21:62","nodeType":"YulFunctionCall","src":"1085:21:62"},"variableNames":[{"name":"result","nativeSrc":"1075:6:62","nodeType":"YulIdentifier","src":"1075:6:62"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":51521,"isOffset":false,"isSlot":false,"src":"1019:9:62","valueSize":1},{"declaration":51515,"isOffset":false,"isSlot":false,"src":"1055:6:62","valueSize":1},{"declaration":51518,"isOffset":false,"isSlot":false,"src":"1075:6:62","valueSize":1}],"id":51524,"nodeType":"InlineAssembly","src":"983:133:62"}]},"implemented":true,"kind":"function","modifiers":[],"name":"successSlot","nameLocation":"789:11:62","parameters":{"id":51516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51515,"mutability":"mutable","name":"opHash","nameLocation":"809:6:62","nodeType":"VariableDeclaration","scope":51526,"src":"801:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"801:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"800:16:62"},"returnParameters":{"id":51519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51518,"mutability":"mutable","name":"result","nameLocation":"848:6:62","nodeType":"VariableDeclaration","scope":51526,"src":"840:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51517,"name":"uint256","nodeType":"ElementaryTypeName","src":"840:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"839:16:62"},"scope":51527,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TrailsSentinelLib","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[51527],"name":"TrailsSentinelLib","nameLocation":"231:17:62","scope":51528,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"test/TrailsIntentEntrypoint.t.sol":{"id":63,"ast":{"absolutePath":"test/TrailsIntentEntrypoint.t.sol","id":58523,"exportedSymbols":{"ERC20":[40845],"ERC20Permit":[41077],"MockERC20Permit":[51566],"MockNonStandardERC20":[68448],"Test":[13474],"TrailsIntentEntrypoint":[49680],"TrailsIntentEntrypointTest":[58522]},"nodeType":"SourceUnit","src":"32:79000:63","nodes":[{"id":51529,"nodeType":"PragmaDirective","src":"32:24:63","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":51531,"nodeType":"ImportDirective","src":"58:40:63","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":58523,"sourceUnit":13475,"symbolAliases":[{"foreign":{"id":51530,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"66:4:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51533,"nodeType":"ImportDirective","src":"99:73:63","nodes":[],"absolutePath":"src/TrailsIntentEntrypoint.sol","file":"../src/TrailsIntentEntrypoint.sol","nameLocation":"-1:-1:-1","scope":58523,"sourceUnit":49681,"symbolAliases":[{"foreign":{"id":51532,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"107:22:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51535,"nodeType":"ImportDirective","src":"173:68:63","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":58523,"sourceUnit":40846,"symbolAliases":[{"foreign":{"id":51534,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40845,"src":"181:5:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51537,"nodeType":"ImportDirective","src":"242:91:63","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol","file":"@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol","nameLocation":"-1:-1:-1","scope":58523,"sourceUnit":41078,"symbolAliases":[{"foreign":{"id":51536,"name":"ERC20Permit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41077,"src":"250:11:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51539,"nodeType":"ImportDirective","src":"334:70:63","nodes":[],"absolutePath":"test/mocks/MockNonStandardERC20.sol","file":"./mocks/MockNonStandardERC20.sol","nameLocation":"-1:-1:-1","scope":58523,"sourceUnit":68449,"symbolAliases":[{"foreign":{"id":51538,"name":"MockNonStandardERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68448,"src":"342:20:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51566,"nodeType":"ContractDefinition","src":"464:184:63","nodes":[{"id":51565,"nodeType":"FunctionDefinition","src":"517:129:63","nodes":[],"body":{"id":51564,"nodeType":"Block","src":"584:62:63","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":51554,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"600:3:63","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"604:6:63","memberName":"sender","nodeType":"MemberAccess","src":"600:10:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31303030303030","id":51556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"612:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1000000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":51557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"622:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":51558,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40409,"src":"628:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint8_$","typeString":"function () view returns (uint8)"}},"id":51559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"628:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"622:16:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"612:26:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51553,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40685,"src":"594:5:63","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":51562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"594:45:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51563,"nodeType":"ExpressionStatement","src":"594:45:63"}]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"4d6f636b20546f6b656e","id":51546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"537:12:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb96b779e2a421c78f42d9b3999c8bc0c7726c66c63accdd9ba94f2ff1357844","typeString":"literal_string \"Mock Token\""},"value":"Mock Token"},{"hexValue":"4d544b","id":51547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"551:5:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_793539e36336d70961c91bdb898dff4b065dbb5ef5ac709025f5b68be91dd01e","typeString":"literal_string \"MTK\""},"value":"MTK"}],"id":51548,"kind":"baseConstructorSpecifier","modifierName":{"id":51545,"name":"ERC20","nameLocations":["531:5:63"],"nodeType":"IdentifierPath","referencedDeclaration":40845,"src":"531:5:63"},"nodeType":"ModifierInvocation","src":"531:26:63"},{"arguments":[{"hexValue":"4d6f636b20546f6b656e","id":51550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"570:12:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb96b779e2a421c78f42d9b3999c8bc0c7726c66c63accdd9ba94f2ff1357844","typeString":"literal_string \"Mock Token\""},"value":"Mock Token"}],"id":51551,"kind":"baseConstructorSpecifier","modifierName":{"id":51549,"name":"ERC20Permit","nameLocations":["558:11:63"],"nodeType":"IdentifierPath","referencedDeclaration":41077,"src":"558:11:63"},"nodeType":"ModifierInvocation","src":"558:25:63"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":51544,"nodeType":"ParameterList","parameters":[],"src":"528:2:63"},"returnParameters":{"id":51552,"nodeType":"ParameterList","parameters":[],"src":"584:0:63"},"scope":51566,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":51540,"name":"ERC20","nameLocations":["492:5:63"],"nodeType":"IdentifierPath","referencedDeclaration":40845,"src":"492:5:63"},"id":51541,"nodeType":"InheritanceSpecifier","src":"492:5:63"},{"baseName":{"id":51542,"name":"ERC20Permit","nameLocations":["499:11:63"],"nodeType":"IdentifierPath","referencedDeclaration":41077,"src":"499:11:63"},"id":51543,"nodeType":"InheritanceSpecifier","src":"499:11:63"}],"canonicalName":"MockERC20Permit","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[51566,41077,42405,45077,40152,41139,40845,40194,41103,40923,42337],"name":"MockERC20Permit","nameLocation":"473:15:63","scope":58523,"usedErrors":[40164,40169,40174,40183,40188,40193,40954,40961,42347,42584,42586,44402,44407,44412],"usedEvents":[40132,40857,40866]},{"id":58522,"nodeType":"ContractDefinition","src":"830:78201:63","nodes":[{"id":51578,"nodeType":"EventDefinition","src":"926:111:63","nodes":[],"anonymous":false,"eventSelector":"f9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f","name":"FeePaid","nameLocation":"932:7:63","parameters":{"id":51577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51570,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"956:4:63","nodeType":"VariableDeclaration","scope":51578,"src":"940:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51569,"name":"address","nodeType":"ElementaryTypeName","src":"940:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51572,"indexed":true,"mutability":"mutable","name":"feeToken","nameLocation":"978:8:63","nodeType":"VariableDeclaration","scope":51578,"src":"962:24:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51571,"name":"address","nodeType":"ElementaryTypeName","src":"962:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51574,"indexed":false,"mutability":"mutable","name":"feeAmount","nameLocation":"996:9:63","nodeType":"VariableDeclaration","scope":51578,"src":"988:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51573,"name":"uint256","nodeType":"ElementaryTypeName","src":"988:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51576,"indexed":true,"mutability":"mutable","name":"feeCollector","nameLocation":"1023:12:63","nodeType":"VariableDeclaration","scope":51578,"src":"1007:28:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51575,"name":"address","nodeType":"ElementaryTypeName","src":"1007:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"939:97:63"}},{"id":51581,"nodeType":"VariableDeclaration","src":"1233:40:63","nodes":[],"constant":false,"functionSelector":"a65d69d4","mutability":"mutable","name":"entrypoint","nameLocation":"1263:10:63","scope":58522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"},"typeName":{"id":51580,"nodeType":"UserDefinedTypeName","pathNode":{"id":51579,"name":"TrailsIntentEntrypoint","nameLocations":["1233:22:63"],"nodeType":"IdentifierPath","referencedDeclaration":49680,"src":"1233:22:63"},"referencedDeclaration":49680,"src":"1233:22:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"visibility":"public"},{"id":51584,"nodeType":"VariableDeclaration","src":"1279:28:63","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1302:5:63","scope":58522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"},"typeName":{"id":51583,"nodeType":"UserDefinedTypeName","pathNode":{"id":51582,"name":"MockERC20Permit","nameLocations":["1279:15:63"],"nodeType":"IdentifierPath","referencedDeclaration":51566,"src":"1279:15:63"},"referencedDeclaration":51566,"src":"1279:15:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"visibility":"public"},{"id":51590,"nodeType":"VariableDeclaration","src":"1313:42:63","nodes":[],"constant":false,"functionSelector":"4f8632ba","mutability":"mutable","name":"user","nameLocation":"1328:4:63","scope":58522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51585,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"3078313233343536373839","id":51588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1343:11:63","typeDescriptions":{"typeIdentifier":"t_rational_4886718345_by_1","typeString":"int_const 4886718345"},"value":"0x123456789"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4886718345_by_1","typeString":"int_const 4886718345"}],"expression":{"id":51586,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1335:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":51587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1338:4:63","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":14336,"src":"1335:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":51589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1335:20:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":51593,"nodeType":"VariableDeclaration","src":"1361:43:63","nodes":[],"constant":false,"functionSelector":"8cb2b6bf","mutability":"mutable","name":"userPrivateKey","nameLocation":"1376:14:63","scope":58522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51591,"name":"uint256","nodeType":"ElementaryTypeName","src":"1361:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313233343536373839","id":51592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1393:11:63","typeDescriptions":{"typeIdentifier":"t_rational_4886718345_by_1","typeString":"int_const 4886718345"},"value":"0x123456789"},"visibility":"public"},{"id":51625,"nodeType":"FunctionDefinition","src":"1411:255:63","nodes":[],"body":{"id":51624,"nodeType":"Block","src":"1435:231:63","nodes":[],"statements":[{"expression":{"id":51601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51596,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"1445:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":51599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1458:26:63","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"function () returns (contract TrailsIntentEntrypoint)"},"typeName":{"id":51598,"nodeType":"UserDefinedTypeName","pathNode":{"id":51597,"name":"TrailsIntentEntrypoint","nameLocations":["1462:22:63"],"nodeType":"IdentifierPath","referencedDeclaration":49680,"src":"1462:22:63"},"referencedDeclaration":49680,"src":"1462:22:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}},"id":51600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1458:28:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"src":"1445:41:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":51602,"nodeType":"ExpressionStatement","src":"1445:41:63"},{"expression":{"id":51608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51603,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"1496:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":51606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1504:19:63","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20Permit_$51566_$","typeString":"function () returns (contract MockERC20Permit)"},"typeName":{"id":51605,"nodeType":"UserDefinedTypeName","pathNode":{"id":51604,"name":"MockERC20Permit","nameLocations":["1508:15:63"],"nodeType":"IdentifierPath","referencedDeclaration":51566,"src":"1508:15:63"},"referencedDeclaration":51566,"src":"1508:15:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}},"id":51607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1504:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"src":"1496:29:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51609,"nodeType":"ExpressionStatement","src":"1496:29:63"},{"expression":{"arguments":[{"arguments":[{"id":51613,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"1622:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31303030","id":51614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1628:4:63","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":51615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1635:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51616,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"1641:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1647:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"1641:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":51618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1641:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1635:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1628:29:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51611,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"1607:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1613:8:63","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":40455,"src":"1607:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":51621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1607:51:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51610,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":568,"src":"1596:10:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":51622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1596:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51623,"nodeType":"ExpressionStatement","src":"1596:63:63"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1420:5:63","parameters":{"id":51594,"nodeType":"ParameterList","parameters":[],"src":"1425:2:63"},"returnParameters":{"id":51595,"nodeType":"ParameterList","parameters":[],"src":"1435:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":51641,"nodeType":"FunctionDefinition","src":"1672:176:63","nodes":[],"body":{"id":51640,"nodeType":"Block","src":"1711:137:63","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":51631,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"1815:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":51630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1807:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51629,"name":"address","nodeType":"ElementaryTypeName","src":"1807:7:63","typeDescriptions":{}}},"id":51632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1807:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":51635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1838:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":51634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1830:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51633,"name":"address","nodeType":"ElementaryTypeName","src":"1830:7:63","typeDescriptions":{}}},"id":51636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1830:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1807:33:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51628,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":568,"src":"1796:10:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":51638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1796:45:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51639,"nodeType":"ExpressionStatement","src":"1796:45:63"}]},"functionSelector":"c2e9f2e4","implemented":true,"kind":"function","modifiers":[],"name":"testConstructor","nameLocation":"1681:15:63","parameters":{"id":51626,"nodeType":"ParameterList","parameters":[],"src":"1696:2:63"},"returnParameters":{"id":51627,"nodeType":"ParameterList","parameters":[],"src":"1711:0:63"},"scope":58522,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":51850,"nodeType":"FunctionDefinition","src":"1854:2609:63","nodes":[],"body":{"id":51849,"nodeType":"Block","src":"1900:2563:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":51647,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"1924:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51644,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1910:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":51646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1913:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"1910:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":51648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1910:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51649,"nodeType":"ExpressionStatement","src":"1910:19:63"},{"assignments":[51651],"declarations":[{"constant":false,"id":51651,"mutability":"mutable","name":"intentAddress","nameLocation":"1948:13:63","nodeType":"VariableDeclaration","scope":51849,"src":"1940:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51650,"name":"address","nodeType":"ElementaryTypeName","src":"1940:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":51656,"initialValue":{"arguments":[{"hexValue":"307835363738","id":51654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1972:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":51653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1964:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51652,"name":"address","nodeType":"ElementaryTypeName","src":"1964:7:63","typeDescriptions":{}}},"id":51655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1964:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1940:39:63"},{"assignments":[51658],"declarations":[{"constant":false,"id":51658,"mutability":"mutable","name":"amount","nameLocation":"1997:6:63","nodeType":"VariableDeclaration","scope":51849,"src":"1989:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51657,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51666,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":51659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2006:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":51660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2011:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51661,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"2017:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2023:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"2017:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":51663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2017:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2011:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2006:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1989:44:63"},{"assignments":[51668],"declarations":[{"constant":false,"id":51668,"mutability":"mutable","name":"deadline","nameLocation":"2051:8:63","nodeType":"VariableDeclaration","scope":51849,"src":"2043:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51667,"name":"uint256","nodeType":"ElementaryTypeName","src":"2043:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51673,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":51669,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2062:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":51670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2068:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"2062:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":51671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2080:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"2062:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2043:41:63"},{"assignments":[51675],"declarations":[{"constant":false,"id":51675,"mutability":"mutable","name":"nonce","nameLocation":"2102:5:63","nodeType":"VariableDeclaration","scope":51849,"src":"2094:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51674,"name":"uint256","nodeType":"ElementaryTypeName","src":"2094:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51680,"initialValue":{"arguments":[{"id":51678,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"2128:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51676,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"2110:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":51677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2121:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"2110:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":51679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2094:39:63"},{"assignments":[51682],"declarations":[{"constant":false,"id":51682,"mutability":"mutable","name":"permitHash","nameLocation":"2187:10:63","nodeType":"VariableDeclaration","scope":51849,"src":"2179:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2179:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51711,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":51686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2257:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51687,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"2285:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2291:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"2285:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":51689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2285:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":51694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2404:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":51693,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2394:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51696,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"2515:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51699,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"2553:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":51698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2545:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51697,"name":"address","nodeType":"ElementaryTypeName","src":"2545:7:63","typeDescriptions":{}}},"id":51700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2545:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51701,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51658,"src":"2590:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":51704,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"2635:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51702,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"2622:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2628:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"2622:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":51705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2622:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51706,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51668,"src":"2666:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51691,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2358:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2362:6:63","memberName":"encode","nodeType":"MemberAccess","src":"2358:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2358:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51690,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2327:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2327:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51684,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2223:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2227:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"2223:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2223:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51683,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2200:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2200:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2179:559:63"},{"assignments":[51713,51715,51717],"declarations":[{"constant":false,"id":51713,"mutability":"mutable","name":"permitV","nameLocation":"2756:7:63","nodeType":"VariableDeclaration","scope":51849,"src":"2750:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":51712,"name":"uint8","nodeType":"ElementaryTypeName","src":"2750:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":51715,"mutability":"mutable","name":"permitR","nameLocation":"2773:7:63","nodeType":"VariableDeclaration","scope":51849,"src":"2765:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2765:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51717,"mutability":"mutable","name":"permitS","nameLocation":"2790:7:63","nodeType":"VariableDeclaration","scope":51849,"src":"2782:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2782:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51723,"initialValue":{"arguments":[{"id":51720,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"2809:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51721,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51682,"src":"2825:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51718,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2801:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":51719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2804:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"2801:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":51722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2801:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2749:87:63"},{"assignments":[51725],"declarations":[{"constant":false,"id":51725,"mutability":"mutable","name":"intentHash","nameLocation":"2890:10:63","nodeType":"VariableDeclaration","scope":51849,"src":"2882:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2882:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51750,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51729,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"2954:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":51730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2965:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"2954:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":51731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2954:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51732,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"3007:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51735,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"3037:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":51734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3029:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51733,"name":"address","nodeType":"ElementaryTypeName","src":"3029:7:63","typeDescriptions":{}}},"id":51736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3029:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51737,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51658,"src":"3061:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51738,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51651,"src":"3085:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51739,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51668,"src":"3116:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51740,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3142:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":51741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3148:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"3142:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51742,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51675,"src":"3173:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":51743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3196:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":51746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3236:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":51745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3228:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51744,"name":"address","nodeType":"ElementaryTypeName","src":"3228:7:63","typeDescriptions":{}}},"id":51747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3228:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51727,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2926:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2930:6:63","memberName":"encode","nodeType":"MemberAccess","src":"2926:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2926:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51726,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2903:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2903:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2882:396:63"},{"assignments":[51752],"declarations":[{"constant":false,"id":51752,"mutability":"mutable","name":"intentDigest","nameLocation":"3297:12:63","nodeType":"VariableDeclaration","scope":51849,"src":"3289:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3289:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51763,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":51756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3339:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51757,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"3351:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":51758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3362:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"3351:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":51759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3351:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51760,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51725,"src":"3382:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51754,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3322:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3326:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"3322:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3322:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51753,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3312:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3312:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3289:105:63"},{"assignments":[51765,51767,51769],"declarations":[{"constant":false,"id":51765,"mutability":"mutable","name":"sigV","nameLocation":"3412:4:63","nodeType":"VariableDeclaration","scope":51849,"src":"3406:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":51764,"name":"uint8","nodeType":"ElementaryTypeName","src":"3406:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":51767,"mutability":"mutable","name":"sigR","nameLocation":"3426:4:63","nodeType":"VariableDeclaration","scope":51849,"src":"3418:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3418:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51769,"mutability":"mutable","name":"sigS","nameLocation":"3440:4:63","nodeType":"VariableDeclaration","scope":51849,"src":"3432:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3432:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51775,"initialValue":{"arguments":[{"id":51772,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"3456:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51773,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51752,"src":"3472:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51770,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3448:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":51771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3451:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"3448:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":51774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3448:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"3405:80:63"},{"assignments":[51777],"declarations":[{"constant":false,"id":51777,"mutability":"mutable","name":"userBalanceBefore","nameLocation":"3538:17:63","nodeType":"VariableDeclaration","scope":51849,"src":"3530:25:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51776,"name":"uint256","nodeType":"ElementaryTypeName","src":"3530:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51782,"initialValue":{"arguments":[{"id":51780,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"3574:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51778,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"3558:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3564:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"3558:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":51781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3558:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3530:49:63"},{"assignments":[51784],"declarations":[{"constant":false,"id":51784,"mutability":"mutable","name":"intentBalanceBefore","nameLocation":"3597:19:63","nodeType":"VariableDeclaration","scope":51849,"src":"3589:27:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51783,"name":"uint256","nodeType":"ElementaryTypeName","src":"3589:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51789,"initialValue":{"arguments":[{"id":51787,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51651,"src":"3635:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51785,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"3619:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3625:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"3619:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":51788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3619:30:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3589:60:63"},{"expression":{"arguments":[{"id":51793,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"3748:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51796,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"3774:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":51795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3766:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51794,"name":"address","nodeType":"ElementaryTypeName","src":"3766:7:63","typeDescriptions":{}}},"id":51797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3766:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51798,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51658,"src":"3794:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51799,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51658,"src":"3814:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51800,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51651,"src":"3881:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51801,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51668,"src":"3908:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51802,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51675,"src":"3930:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":51803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3949:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":51806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3989:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":51805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3981:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51804,"name":"address","nodeType":"ElementaryTypeName","src":"3981:7:63","typeDescriptions":{}}},"id":51807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3981:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51808,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51713,"src":"4025:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":51809,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51715,"src":"4046:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51810,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51717,"src":"4067:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51811,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51765,"src":"4088:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":51812,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51767,"src":"4106:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51813,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51769,"src":"4124:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51790,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"3698:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":51792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3709:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"3698:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":51814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3698:440:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51815,"nodeType":"ExpressionStatement","src":"3698:440:63"},{"assignments":[51817],"declarations":[{"constant":false,"id":51817,"mutability":"mutable","name":"userBalanceAfter","nameLocation":"4189:16:63","nodeType":"VariableDeclaration","scope":51849,"src":"4181:24:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51816,"name":"uint256","nodeType":"ElementaryTypeName","src":"4181:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51822,"initialValue":{"arguments":[{"id":51820,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"4224:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51818,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"4208:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4214:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"4208:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":51821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4208:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4181:48:63"},{"assignments":[51824],"declarations":[{"constant":false,"id":51824,"mutability":"mutable","name":"intentBalanceAfter","nameLocation":"4247:18:63","nodeType":"VariableDeclaration","scope":51849,"src":"4239:26:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51823,"name":"uint256","nodeType":"ElementaryTypeName","src":"4239:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51829,"initialValue":{"arguments":[{"id":51827,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51651,"src":"4284:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51825,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"4268:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4274:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"4268:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":51828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4268:30:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4239:59:63"},{"expression":{"arguments":[{"id":51831,"name":"userBalanceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51817,"src":"4318:16:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51832,"name":"userBalanceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51777,"src":"4336:17:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":51833,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51658,"src":"4356:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4336:26:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51830,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"4309:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":51835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4309:54:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51836,"nodeType":"ExpressionStatement","src":"4309:54:63"},{"expression":{"arguments":[{"id":51838,"name":"intentBalanceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51824,"src":"4382:18:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51839,"name":"intentBalanceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51784,"src":"4402:19:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":51840,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51658,"src":"4424:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4402:28:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51837,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"4373:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":51842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4373:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51843,"nodeType":"ExpressionStatement","src":"4373:58:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51844,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4442:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":51846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4445:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"4442:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":51847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4442:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51848,"nodeType":"ExpressionStatement","src":"4442:14:63"}]},"functionSelector":"c30fff97","implemented":true,"kind":"function","modifiers":[],"name":"testExecuteIntentWithPermit","nameLocation":"1863:27:63","parameters":{"id":51642,"nodeType":"ParameterList","parameters":[],"src":"1890:2:63"},"returnParameters":{"id":51643,"nodeType":"ParameterList","parameters":[],"src":"1900:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":52074,"nodeType":"FunctionDefinition","src":"4469:2835:63","nodes":[],"body":{"id":52073,"nodeType":"Block","src":"4531:2773:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":51856,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"4555:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51853,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4541:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":51855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4544:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"4541:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":51857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4541:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51858,"nodeType":"ExpressionStatement","src":"4541:19:63"},{"assignments":[51860],"declarations":[{"constant":false,"id":51860,"mutability":"mutable","name":"intentAddress","nameLocation":"4579:13:63","nodeType":"VariableDeclaration","scope":52073,"src":"4571:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51859,"name":"address","nodeType":"ElementaryTypeName","src":"4571:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":51865,"initialValue":{"arguments":[{"hexValue":"307835363738","id":51863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4603:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":51862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4595:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51861,"name":"address","nodeType":"ElementaryTypeName","src":"4595:7:63","typeDescriptions":{}}},"id":51864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4595:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4571:39:63"},{"assignments":[51867],"declarations":[{"constant":false,"id":51867,"mutability":"mutable","name":"amount","nameLocation":"4628:6:63","nodeType":"VariableDeclaration","scope":52073,"src":"4620:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51866,"name":"uint256","nodeType":"ElementaryTypeName","src":"4620:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51875,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":51868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4637:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":51869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4642:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51870,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"4648:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4654:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"4648:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":51872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4648:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4642:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4637:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4620:44:63"},{"assignments":[51877],"declarations":[{"constant":false,"id":51877,"mutability":"mutable","name":"deadline","nameLocation":"4682:8:63","nodeType":"VariableDeclaration","scope":52073,"src":"4674:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51876,"name":"uint256","nodeType":"ElementaryTypeName","src":"4674:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51882,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":51878,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4693:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":51879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4699:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"4693:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":51880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4711:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"4693:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4674:41:63"},{"assignments":[51884],"declarations":[{"constant":false,"id":51884,"mutability":"mutable","name":"nonce","nameLocation":"4733:5:63","nodeType":"VariableDeclaration","scope":52073,"src":"4725:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51883,"name":"uint256","nodeType":"ElementaryTypeName","src":"4725:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51889,"initialValue":{"arguments":[{"id":51887,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"4759:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51885,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"4741:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":51886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4752:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"4741:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":51888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4741:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4725:39:63"},{"assignments":[51891],"declarations":[{"constant":false,"id":51891,"mutability":"mutable","name":"permitHash","nameLocation":"4818:10:63","nodeType":"VariableDeclaration","scope":52073,"src":"4810:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4810:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51920,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":51895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4888:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51896,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"4916:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4922:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"4916:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":51898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4916:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":51903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5035:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":51902,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5025:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5025:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51905,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"5146:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51908,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"5184:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":51907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5176:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51906,"name":"address","nodeType":"ElementaryTypeName","src":"5176:7:63","typeDescriptions":{}}},"id":51909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5176:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51910,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51867,"src":"5221:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":51913,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"5266:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51911,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"5253:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5259:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"5253:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":51914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51915,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51877,"src":"5297:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51900,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4989:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4993:6:63","memberName":"encode","nodeType":"MemberAccess","src":"4989:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4989:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51899,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4958:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4958:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51893,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4854:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4858:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"4854:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4854:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51892,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4831:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4831:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4810:559:63"},{"assignments":[51922,51924,51926],"declarations":[{"constant":false,"id":51922,"mutability":"mutable","name":"permitV","nameLocation":"5387:7:63","nodeType":"VariableDeclaration","scope":52073,"src":"5381:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":51921,"name":"uint8","nodeType":"ElementaryTypeName","src":"5381:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":51924,"mutability":"mutable","name":"permitR","nameLocation":"5404:7:63","nodeType":"VariableDeclaration","scope":52073,"src":"5396:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5396:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51926,"mutability":"mutable","name":"permitS","nameLocation":"5421:7:63","nodeType":"VariableDeclaration","scope":52073,"src":"5413:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5413:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51932,"initialValue":{"arguments":[{"id":51929,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"5440:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51930,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51891,"src":"5456:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51927,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"5432:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":51928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5435:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"5432:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":51931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5432:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"5380:87:63"},{"assignments":[51934],"declarations":[{"constant":false,"id":51934,"mutability":"mutable","name":"intentHash","nameLocation":"5521:10:63","nodeType":"VariableDeclaration","scope":52073,"src":"5513:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5513:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51959,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51938,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"5585:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":51939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5596:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"5585:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":51940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5585:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51941,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"5638:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51944,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"5668:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":51943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5660:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51942,"name":"address","nodeType":"ElementaryTypeName","src":"5660:7:63","typeDescriptions":{}}},"id":51945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5660:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51946,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51867,"src":"5692:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51947,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51860,"src":"5716:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51948,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51877,"src":"5747:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51949,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5773:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":51950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5779:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"5773:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51951,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51884,"src":"5804:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":51952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5827:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":51955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5867:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":51954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5859:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51953,"name":"address","nodeType":"ElementaryTypeName","src":"5859:7:63","typeDescriptions":{}}},"id":51956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5859:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51936,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5557:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5561:6:63","memberName":"encode","nodeType":"MemberAccess","src":"5557:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5557:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51935,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5534:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5534:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5513:396:63"},{"assignments":[51961],"declarations":[{"constant":false,"id":51961,"mutability":"mutable","name":"intentDigest","nameLocation":"5928:12:63","nodeType":"VariableDeclaration","scope":52073,"src":"5920:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5920:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51972,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":51965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5970:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51966,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"5982:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":51967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5993:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"5982:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":51968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5982:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51969,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51934,"src":"6013:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51963,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5953:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5957:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"5953:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5953:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51962,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5943:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":51971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5943:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5920:105:63"},{"assignments":[51974,51976,51978],"declarations":[{"constant":false,"id":51974,"mutability":"mutable","name":"sigV","nameLocation":"6043:4:63","nodeType":"VariableDeclaration","scope":52073,"src":"6037:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":51973,"name":"uint8","nodeType":"ElementaryTypeName","src":"6037:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":51976,"mutability":"mutable","name":"sigR","nameLocation":"6057:4:63","nodeType":"VariableDeclaration","scope":52073,"src":"6049:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6049:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":51978,"mutability":"mutable","name":"sigS","nameLocation":"6071:4:63","nodeType":"VariableDeclaration","scope":52073,"src":"6063:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6063:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":51984,"initialValue":{"arguments":[{"id":51981,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"6087:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51982,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51961,"src":"6103:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51979,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"6079:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":51980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6082:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"6079:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":51983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6079:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"6036:80:63"},{"expression":{"arguments":[{"id":51988,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"6215:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51991,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"6229:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":51990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6221:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51989,"name":"address","nodeType":"ElementaryTypeName","src":"6221:7:63","typeDescriptions":{}}},"id":51992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6221:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51993,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51867,"src":"6242:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51994,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51877,"src":"6250:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51995,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51922,"src":"6260:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":51996,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51924,"src":"6269:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":51997,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51926,"src":"6278:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51985,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"6202:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":51987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6208:6:63","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":41049,"src":"6202:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":51998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6202:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51999,"nodeType":"ExpressionStatement","src":"6202:84:63"},{"assignments":[52001],"declarations":[{"constant":false,"id":52001,"mutability":"mutable","name":"userBalanceBefore","nameLocation":"6339:17:63","nodeType":"VariableDeclaration","scope":52073,"src":"6331:25:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52000,"name":"uint256","nodeType":"ElementaryTypeName","src":"6331:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52006,"initialValue":{"arguments":[{"id":52004,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"6375:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52002,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"6359:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6365:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"6359:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6359:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6331:49:63"},{"assignments":[52008],"declarations":[{"constant":false,"id":52008,"mutability":"mutable","name":"intentBalanceBefore","nameLocation":"6398:19:63","nodeType":"VariableDeclaration","scope":52073,"src":"6390:27:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52007,"name":"uint256","nodeType":"ElementaryTypeName","src":"6390:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52013,"initialValue":{"arguments":[{"id":52011,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51860,"src":"6436:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52009,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"6420:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6426:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"6420:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6420:30:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6390:60:63"},{"expression":{"arguments":[{"id":52017,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"6589:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52020,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"6615:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6607:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52018,"name":"address","nodeType":"ElementaryTypeName","src":"6607:7:63","typeDescriptions":{}}},"id":52021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6607:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52022,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51867,"src":"6635:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52023,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51867,"src":"6655:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52024,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51860,"src":"6722:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52025,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51877,"src":"6749:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52026,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51884,"src":"6771:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6790:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":52030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6830:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6822:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52028,"name":"address","nodeType":"ElementaryTypeName","src":"6822:7:63","typeDescriptions":{}}},"id":52031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6822:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52032,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51922,"src":"6866:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52033,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51924,"src":"6887:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52034,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51926,"src":"6908:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52035,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51974,"src":"6929:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52036,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51976,"src":"6947:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52037,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51978,"src":"6965:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52014,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"6539:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6550:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"6539:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":52038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6539:440:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52039,"nodeType":"ExpressionStatement","src":"6539:440:63"},{"assignments":[52041],"declarations":[{"constant":false,"id":52041,"mutability":"mutable","name":"userBalanceAfter","nameLocation":"7030:16:63","nodeType":"VariableDeclaration","scope":52073,"src":"7022:24:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52040,"name":"uint256","nodeType":"ElementaryTypeName","src":"7022:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52046,"initialValue":{"arguments":[{"id":52044,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"7065:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52042,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"7049:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7055:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"7049:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7049:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7022:48:63"},{"assignments":[52048],"declarations":[{"constant":false,"id":52048,"mutability":"mutable","name":"intentBalanceAfter","nameLocation":"7088:18:63","nodeType":"VariableDeclaration","scope":52073,"src":"7080:26:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52047,"name":"uint256","nodeType":"ElementaryTypeName","src":"7080:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52053,"initialValue":{"arguments":[{"id":52051,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51860,"src":"7125:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52049,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"7109:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7115:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"7109:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7109:30:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7080:59:63"},{"expression":{"arguments":[{"id":52055,"name":"userBalanceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52041,"src":"7159:16:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52056,"name":"userBalanceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52001,"src":"7177:17:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":52057,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51867,"src":"7197:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7177:26:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52054,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"7150:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":52059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7150:54:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52060,"nodeType":"ExpressionStatement","src":"7150:54:63"},{"expression":{"arguments":[{"id":52062,"name":"intentBalanceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52048,"src":"7223:18:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52063,"name":"intentBalanceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52008,"src":"7243:19:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":52064,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51867,"src":"7265:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7243:28:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52061,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"7214:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":52066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7214:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52067,"nodeType":"ExpressionStatement","src":"7214:58:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52068,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"7283:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7286:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"7283:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":52071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7283:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52072,"nodeType":"ExpressionStatement","src":"7283:14:63"}]},"functionSelector":"572a59b9","implemented":true,"kind":"function","modifiers":[],"name":"testExecuteIntentWithPermit_permit_frontrun","nameLocation":"4478:43:63","parameters":{"id":51851,"nodeType":"ParameterList","parameters":[],"src":"4521:2:63"},"returnParameters":{"id":51852,"nodeType":"ParameterList","parameters":[],"src":"4531:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":52246,"nodeType":"FunctionDefinition","src":"7310:2156:63","nodes":[],"body":{"id":52245,"nodeType":"Block","src":"7363:2103:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":52080,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"7387:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52077,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"7373:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7376:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"7373:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":52081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7373:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52082,"nodeType":"ExpressionStatement","src":"7373:19:63"},{"assignments":[52084],"declarations":[{"constant":false,"id":52084,"mutability":"mutable","name":"intentAddress","nameLocation":"7411:13:63","nodeType":"VariableDeclaration","scope":52245,"src":"7403:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52083,"name":"address","nodeType":"ElementaryTypeName","src":"7403:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52089,"initialValue":{"arguments":[{"hexValue":"307835363738","id":52087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7435:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":52086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7427:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52085,"name":"address","nodeType":"ElementaryTypeName","src":"7427:7:63","typeDescriptions":{}}},"id":52088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7427:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7403:39:63"},{"assignments":[52091],"declarations":[{"constant":false,"id":52091,"mutability":"mutable","name":"amount","nameLocation":"7460:6:63","nodeType":"VariableDeclaration","scope":52245,"src":"7452:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52090,"name":"uint256","nodeType":"ElementaryTypeName","src":"7452:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52099,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":52092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7469:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":52093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7474:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52094,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"7480:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7486:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"7480:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":52096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7480:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7474:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7469:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7452:44:63"},{"assignments":[52101],"declarations":[{"constant":false,"id":52101,"mutability":"mutable","name":"deadline","nameLocation":"7514:8:63","nodeType":"VariableDeclaration","scope":52245,"src":"7506:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52100,"name":"uint256","nodeType":"ElementaryTypeName","src":"7506:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52106,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":52102,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7525:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7531:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"7525:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":52104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7543:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7525:19:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7506:38:63"},{"assignments":[52108],"declarations":[{"constant":false,"id":52108,"mutability":"mutable","name":"nonce","nameLocation":"7573:5:63","nodeType":"VariableDeclaration","scope":52245,"src":"7565:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52107,"name":"uint256","nodeType":"ElementaryTypeName","src":"7565:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52113,"initialValue":{"arguments":[{"id":52111,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"7599:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52109,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"7581:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7592:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"7581:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7581:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7565:39:63"},{"assignments":[52115],"declarations":[{"constant":false,"id":52115,"mutability":"mutable","name":"permitHash","nameLocation":"7658:10:63","nodeType":"VariableDeclaration","scope":52245,"src":"7650:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7650:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52144,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":52119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7728:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52120,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"7756:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7762:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"7756:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7756:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":52127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7875:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":52126,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7865:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7865:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52129,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"7986:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52132,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"8024:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":52131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8016:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52130,"name":"address","nodeType":"ElementaryTypeName","src":"8016:7:63","typeDescriptions":{}}},"id":52133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8016:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52134,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52091,"src":"8061:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":52137,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"8106:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52135,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"8093:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8099:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"8093:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8093:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52139,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52101,"src":"8137:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52124,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7829:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7833:6:63","memberName":"encode","nodeType":"MemberAccess","src":"7829:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7829:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52123,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7798:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7798:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52117,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7694:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7698:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"7694:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7694:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52116,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7671:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7671:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7650:559:63"},{"assignments":[52146,52148,52150],"declarations":[{"constant":false,"id":52146,"mutability":"mutable","name":"permitV","nameLocation":"8227:7:63","nodeType":"VariableDeclaration","scope":52245,"src":"8221:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":52145,"name":"uint8","nodeType":"ElementaryTypeName","src":"8221:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":52148,"mutability":"mutable","name":"permitR","nameLocation":"8244:7:63","nodeType":"VariableDeclaration","scope":52245,"src":"8236:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8236:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52150,"mutability":"mutable","name":"permitS","nameLocation":"8261:7:63","nodeType":"VariableDeclaration","scope":52245,"src":"8253:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8253:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52156,"initialValue":{"arguments":[{"id":52153,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"8280:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52154,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52115,"src":"8296:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52151,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"8272:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8275:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"8272:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":52155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8272:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"8220:87:63"},{"assignments":[52158],"declarations":[{"constant":false,"id":52158,"mutability":"mutable","name":"intentHash","nameLocation":"8361:10:63","nodeType":"VariableDeclaration","scope":52245,"src":"8353:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8353:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52183,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52162,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"8425:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8436:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"8425:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8425:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52165,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"8478:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52168,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"8508:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8500:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52166,"name":"address","nodeType":"ElementaryTypeName","src":"8500:7:63","typeDescriptions":{}}},"id":52169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8500:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52170,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52091,"src":"8532:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52171,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52084,"src":"8556:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52172,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52101,"src":"8587:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":52173,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8613:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8619:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"8613:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52175,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52108,"src":"8644:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8667:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":52179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8707:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8699:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52177,"name":"address","nodeType":"ElementaryTypeName","src":"8699:7:63","typeDescriptions":{}}},"id":52180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8699:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52160,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8397:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8401:6:63","memberName":"encode","nodeType":"MemberAccess","src":"8397:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8397:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52159,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8374:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8374:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8353:396:63"},{"assignments":[52185],"declarations":[{"constant":false,"id":52185,"mutability":"mutable","name":"intentDigest","nameLocation":"8768:12:63","nodeType":"VariableDeclaration","scope":52245,"src":"8760:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8760:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52196,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":52189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8810:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52190,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"8822:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8833:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"8822:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8822:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52193,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52158,"src":"8853:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52187,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8793:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8797:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"8793:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8793:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52186,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8783:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8760:105:63"},{"assignments":[52198,52200,52202],"declarations":[{"constant":false,"id":52198,"mutability":"mutable","name":"sigV","nameLocation":"8883:4:63","nodeType":"VariableDeclaration","scope":52245,"src":"8877:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":52197,"name":"uint8","nodeType":"ElementaryTypeName","src":"8877:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":52200,"mutability":"mutable","name":"sigR","nameLocation":"8897:4:63","nodeType":"VariableDeclaration","scope":52245,"src":"8889:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8889:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52202,"mutability":"mutable","name":"sigS","nameLocation":"8911:4:63","nodeType":"VariableDeclaration","scope":52245,"src":"8903:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8903:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52208,"initialValue":{"arguments":[{"id":52205,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"8927:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52206,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52185,"src":"8943:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52203,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"8919:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8922:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"8919:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":52207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8919:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"8876:80:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52209,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"8967:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8970:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18556,"src":"8967:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":52212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8967:17:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52213,"nodeType":"ExpressionStatement","src":"8967:17:63"},{"expression":{"arguments":[{"id":52217,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"9044:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52220,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"9070:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9062:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52218,"name":"address","nodeType":"ElementaryTypeName","src":"9062:7:63","typeDescriptions":{}}},"id":52221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9062:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52222,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52091,"src":"9090:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52223,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52091,"src":"9110:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52224,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52084,"src":"9177:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52225,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52101,"src":"9204:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52226,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52108,"src":"9226:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9245:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":52230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9285:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9277:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52228,"name":"address","nodeType":"ElementaryTypeName","src":"9277:7:63","typeDescriptions":{}}},"id":52231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9277:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52232,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52146,"src":"9321:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52233,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52148,"src":"9342:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52234,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52150,"src":"9363:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52235,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52198,"src":"9384:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52236,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"9402:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52237,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52202,"src":"9420:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52214,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"8994:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9005:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"8994:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":52238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8994:440:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52239,"nodeType":"ExpressionStatement","src":"8994:440:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52240,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"9445:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9448:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"9445:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":52243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9445:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52244,"nodeType":"ExpressionStatement","src":"9445:14:63"}]},"functionSelector":"bdc1b59c","implemented":true,"kind":"function","modifiers":[],"name":"testExecuteIntentWithPermitExpired","nameLocation":"7319:34:63","parameters":{"id":52075,"nodeType":"ParameterList","parameters":[],"src":"7353:2:63"},"returnParameters":{"id":52076,"nodeType":"ParameterList","parameters":[],"src":"7363:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":52422,"nodeType":"FunctionDefinition","src":"9472:2219:63","nodes":[],"body":{"id":52421,"nodeType":"Block","src":"9534:2157:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":52252,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"9558:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52249,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"9544:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9547:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"9544:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":52253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9544:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52254,"nodeType":"ExpressionStatement","src":"9544:19:63"},{"assignments":[52256],"declarations":[{"constant":false,"id":52256,"mutability":"mutable","name":"intentAddress","nameLocation":"9582:13:63","nodeType":"VariableDeclaration","scope":52421,"src":"9574:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52255,"name":"address","nodeType":"ElementaryTypeName","src":"9574:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52261,"initialValue":{"arguments":[{"hexValue":"307835363738","id":52259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9606:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":52258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9598:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52257,"name":"address","nodeType":"ElementaryTypeName","src":"9598:7:63","typeDescriptions":{}}},"id":52260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9598:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9574:39:63"},{"assignments":[52263],"declarations":[{"constant":false,"id":52263,"mutability":"mutable","name":"amount","nameLocation":"9631:6:63","nodeType":"VariableDeclaration","scope":52421,"src":"9623:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52262,"name":"uint256","nodeType":"ElementaryTypeName","src":"9623:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52271,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":52264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9640:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":52265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9645:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52266,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"9651:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9657:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"9651:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":52268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9651:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9645:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9640:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9623:44:63"},{"assignments":[52273],"declarations":[{"constant":false,"id":52273,"mutability":"mutable","name":"deadline","nameLocation":"9685:8:63","nodeType":"VariableDeclaration","scope":52421,"src":"9677:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52272,"name":"uint256","nodeType":"ElementaryTypeName","src":"9677:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52278,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":52274,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9696:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9702:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"9696:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":52276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9714:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"9696:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9677:41:63"},{"assignments":[52280],"declarations":[{"constant":false,"id":52280,"mutability":"mutable","name":"nonce","nameLocation":"9736:5:63","nodeType":"VariableDeclaration","scope":52421,"src":"9728:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52279,"name":"uint256","nodeType":"ElementaryTypeName","src":"9728:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52285,"initialValue":{"arguments":[{"id":52283,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"9762:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52281,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"9744:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9755:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"9744:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9744:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9728:39:63"},{"assignments":[52287],"declarations":[{"constant":false,"id":52287,"mutability":"mutable","name":"wrongPrivateKey","nameLocation":"9833:15:63","nodeType":"VariableDeclaration","scope":52421,"src":"9825:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52286,"name":"uint256","nodeType":"ElementaryTypeName","src":"9825:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52289,"initialValue":{"hexValue":"3078393837363534333231","id":52288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9851:11:63","typeDescriptions":{"typeIdentifier":"t_rational_40926266145_by_1","typeString":"int_const 40926266145"},"value":"0x987654321"},"nodeType":"VariableDeclarationStatement","src":"9825:37:63"},{"assignments":[52291],"declarations":[{"constant":false,"id":52291,"mutability":"mutable","name":"permitHash","nameLocation":"9881:10:63","nodeType":"VariableDeclaration","scope":52421,"src":"9873:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9873:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52320,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":52295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9951:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52296,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"9979:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9985:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"9979:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":52303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10098:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":52302,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10088:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10088:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52305,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"10209:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52308,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"10247:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":52307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10239:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52306,"name":"address","nodeType":"ElementaryTypeName","src":"10239:7:63","typeDescriptions":{}}},"id":52309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10239:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52310,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52263,"src":"10284:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":52313,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"10329:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52311,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"10316:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10322:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"10316:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10316:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52315,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52273,"src":"10360:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52300,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10052:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10056:6:63","memberName":"encode","nodeType":"MemberAccess","src":"10052:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10052:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52299,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10021:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10021:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9917:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9921:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"9917:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9917:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52292,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9894:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9894:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9873:559:63"},{"assignments":[52322,52324,52326],"declarations":[{"constant":false,"id":52322,"mutability":"mutable","name":"permitV","nameLocation":"10450:7:63","nodeType":"VariableDeclaration","scope":52421,"src":"10444:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":52321,"name":"uint8","nodeType":"ElementaryTypeName","src":"10444:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":52324,"mutability":"mutable","name":"permitR","nameLocation":"10467:7:63","nodeType":"VariableDeclaration","scope":52421,"src":"10459:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10459:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52326,"mutability":"mutable","name":"permitS","nameLocation":"10484:7:63","nodeType":"VariableDeclaration","scope":52421,"src":"10476:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10476:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52332,"initialValue":{"arguments":[{"id":52329,"name":"wrongPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52287,"src":"10503:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52330,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52291,"src":"10520:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52327,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"10495:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10498:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"10495:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":52331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10495:36:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"10443:88:63"},{"assignments":[52334],"declarations":[{"constant":false,"id":52334,"mutability":"mutable","name":"intentHash","nameLocation":"10585:10:63","nodeType":"VariableDeclaration","scope":52421,"src":"10577:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10577:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52359,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52338,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"10649:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10660:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"10649:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10649:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52341,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"10702:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52344,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"10732:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10724:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52342,"name":"address","nodeType":"ElementaryTypeName","src":"10724:7:63","typeDescriptions":{}}},"id":52345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10724:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52346,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52263,"src":"10756:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52347,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52256,"src":"10780:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52348,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52273,"src":"10811:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":52349,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"10837:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10843:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"10837:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52351,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52280,"src":"10868:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10891:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":52355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10931:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10923:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52353,"name":"address","nodeType":"ElementaryTypeName","src":"10923:7:63","typeDescriptions":{}}},"id":52356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10923:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52336,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10621:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10625:6:63","memberName":"encode","nodeType":"MemberAccess","src":"10621:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10621:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52335,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10598:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10598:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10577:396:63"},{"assignments":[52361],"declarations":[{"constant":false,"id":52361,"mutability":"mutable","name":"intentDigest","nameLocation":"10992:12:63","nodeType":"VariableDeclaration","scope":52421,"src":"10984:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52360,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10984:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52372,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":52365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11034:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52366,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"11046:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11057:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"11046:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11046:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52369,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52334,"src":"11077:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52363,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11017:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11021:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"11017:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11017:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52362,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"11007:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11007:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10984:105:63"},{"assignments":[52374,52376,52378],"declarations":[{"constant":false,"id":52374,"mutability":"mutable","name":"sigV","nameLocation":"11107:4:63","nodeType":"VariableDeclaration","scope":52421,"src":"11101:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":52373,"name":"uint8","nodeType":"ElementaryTypeName","src":"11101:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":52376,"mutability":"mutable","name":"sigR","nameLocation":"11121:4:63","nodeType":"VariableDeclaration","scope":52421,"src":"11113:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11113:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52378,"mutability":"mutable","name":"sigS","nameLocation":"11135:4:63","nodeType":"VariableDeclaration","scope":52421,"src":"11127:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11127:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52384,"initialValue":{"arguments":[{"id":52381,"name":"wrongPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52287,"src":"11151:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52382,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52361,"src":"11168:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52379,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"11143:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11146:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"11143:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":52383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11143:38:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"11100:81:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52385,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"11192:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11195:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18556,"src":"11192:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":52388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11192:17:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52389,"nodeType":"ExpressionStatement","src":"11192:17:63"},{"expression":{"arguments":[{"id":52393,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"11269:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52396,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"11295:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11287:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52394,"name":"address","nodeType":"ElementaryTypeName","src":"11287:7:63","typeDescriptions":{}}},"id":52397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11287:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52398,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52263,"src":"11315:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52399,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52263,"src":"11335:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52400,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52256,"src":"11402:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52401,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52273,"src":"11429:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52402,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52280,"src":"11451:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11470:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":52406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11510:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11502:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52404,"name":"address","nodeType":"ElementaryTypeName","src":"11502:7:63","typeDescriptions":{}}},"id":52407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11502:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52408,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52322,"src":"11546:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52409,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52324,"src":"11567:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52410,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52326,"src":"11588:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52411,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52374,"src":"11609:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52412,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52376,"src":"11627:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52413,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52378,"src":"11645:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52390,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"11219:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11230:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"11219:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":52414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11219:440:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52415,"nodeType":"ExpressionStatement","src":"11219:440:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52416,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"11670:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11673:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"11670:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":52419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11670:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52420,"nodeType":"ExpressionStatement","src":"11670:14:63"}]},"functionSelector":"51a82aa0","implemented":true,"kind":"function","modifiers":[],"name":"testExecuteIntentWithPermitInvalidSignature","nameLocation":"9481:43:63","parameters":{"id":52247,"nodeType":"ParameterList","parameters":[],"src":"9524:2:63"},"returnParameters":{"id":52248,"nodeType":"ParameterList","parameters":[],"src":"9534:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":52669,"nodeType":"FunctionDefinition","src":"11697:3046:63","nodes":[],"body":{"id":52668,"nodeType":"Block","src":"11740:3003:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":52428,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"11764:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52425,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"11750:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11753:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"11750:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":52429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11750:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52430,"nodeType":"ExpressionStatement","src":"11750:19:63"},{"assignments":[52432],"declarations":[{"constant":false,"id":52432,"mutability":"mutable","name":"intentAddress","nameLocation":"11788:13:63","nodeType":"VariableDeclaration","scope":52668,"src":"11780:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52431,"name":"address","nodeType":"ElementaryTypeName","src":"11780:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52437,"initialValue":{"arguments":[{"hexValue":"307835363738","id":52435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11812:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":52434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11804:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52433,"name":"address","nodeType":"ElementaryTypeName","src":"11804:7:63","typeDescriptions":{}}},"id":52436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11804:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11780:39:63"},{"assignments":[52439],"declarations":[{"constant":false,"id":52439,"mutability":"mutable","name":"feeCollector","nameLocation":"11837:12:63","nodeType":"VariableDeclaration","scope":52668,"src":"11829:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52438,"name":"address","nodeType":"ElementaryTypeName","src":"11829:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52444,"initialValue":{"arguments":[{"hexValue":"307839393939","id":52442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11860:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":52441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11852:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52440,"name":"address","nodeType":"ElementaryTypeName","src":"11852:7:63","typeDescriptions":{}}},"id":52443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11852:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11829:38:63"},{"assignments":[52446],"declarations":[{"constant":false,"id":52446,"mutability":"mutable","name":"amount","nameLocation":"11885:6:63","nodeType":"VariableDeclaration","scope":52668,"src":"11877:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52445,"name":"uint256","nodeType":"ElementaryTypeName","src":"11877:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52454,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":52447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11894:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":52448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11899:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52449,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"11905:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11911:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"11905:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":52451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11905:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11899:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11894:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11877:44:63"},{"assignments":[52456],"declarations":[{"constant":false,"id":52456,"mutability":"mutable","name":"feeAmount","nameLocation":"11939:9:63","nodeType":"VariableDeclaration","scope":52668,"src":"11931:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52455,"name":"uint256","nodeType":"ElementaryTypeName","src":"11931:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52464,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"35","id":52457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11951:1:63","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":52458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11955:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52459,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"11961:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11967:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"11961:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":52461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11961:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11955:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11951:26:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11931:46:63"},{"assignments":[52466],"declarations":[{"constant":false,"id":52466,"mutability":"mutable","name":"totalAmount","nameLocation":"11995:11:63","nodeType":"VariableDeclaration","scope":52668,"src":"11987:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52465,"name":"uint256","nodeType":"ElementaryTypeName","src":"11987:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52470,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52467,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52446,"src":"12009:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":52468,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"12018:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12009:18:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11987:40:63"},{"assignments":[52472],"declarations":[{"constant":false,"id":52472,"mutability":"mutable","name":"deadline","nameLocation":"12045:8:63","nodeType":"VariableDeclaration","scope":52668,"src":"12037:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52471,"name":"uint256","nodeType":"ElementaryTypeName","src":"12037:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52477,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":52473,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12056:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12062:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"12056:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":52475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12074:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"12056:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12037:41:63"},{"assignments":[52479],"declarations":[{"constant":false,"id":52479,"mutability":"mutable","name":"nonce","nameLocation":"12096:5:63","nodeType":"VariableDeclaration","scope":52668,"src":"12088:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52478,"name":"uint256","nodeType":"ElementaryTypeName","src":"12088:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52484,"initialValue":{"arguments":[{"id":52482,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"12122:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52480,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"12104:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12115:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"12104:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12104:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12088:39:63"},{"assignments":[52486],"declarations":[{"constant":false,"id":52486,"mutability":"mutable","name":"permitHash","nameLocation":"12214:10:63","nodeType":"VariableDeclaration","scope":52668,"src":"12206:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12206:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52515,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":52490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12284:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52491,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"12312:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12318:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"12312:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12312:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":52498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12431:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":52497,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12421:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12421:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52500,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"12542:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52503,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"12580:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":52502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12572:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52501,"name":"address","nodeType":"ElementaryTypeName","src":"12572:7:63","typeDescriptions":{}}},"id":52504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12572:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52505,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52466,"src":"12617:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":52508,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"12667:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52506,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"12654:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12660:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"12654:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12654:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52510,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52472,"src":"12698:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52495,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12385:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12389:6:63","memberName":"encode","nodeType":"MemberAccess","src":"12385:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12385:343:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52494,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12354:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12354:392:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52488,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12250:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12254:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"12250:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12250:510:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52487,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12227:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12227:543:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12206:564:63"},{"assignments":[52517,52519,52521],"declarations":[{"constant":false,"id":52517,"mutability":"mutable","name":"permitV","nameLocation":"12788:7:63","nodeType":"VariableDeclaration","scope":52668,"src":"12782:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":52516,"name":"uint8","nodeType":"ElementaryTypeName","src":"12782:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":52519,"mutability":"mutable","name":"permitR","nameLocation":"12805:7:63","nodeType":"VariableDeclaration","scope":52668,"src":"12797:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52518,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12797:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52521,"mutability":"mutable","name":"permitS","nameLocation":"12822:7:63","nodeType":"VariableDeclaration","scope":52668,"src":"12814:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52520,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12814:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52527,"initialValue":{"arguments":[{"id":52524,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"12841:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52525,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52486,"src":"12857:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52522,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"12833:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12836:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"12833:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":52526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12833:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"12781:87:63"},{"assignments":[52529],"declarations":[{"constant":false,"id":52529,"mutability":"mutable","name":"intentHash","nameLocation":"12922:10:63","nodeType":"VariableDeclaration","scope":52668,"src":"12914:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12914:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52551,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52533,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"12986:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12997:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"12986:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12986:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52536,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"13039:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52539,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"13069:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13061:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52537,"name":"address","nodeType":"ElementaryTypeName","src":"13061:7:63","typeDescriptions":{}}},"id":52540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13061:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52541,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52446,"src":"13093:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52542,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52432,"src":"13117:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52543,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52472,"src":"13148:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":52544,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"13174:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13180:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"13174:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52546,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52479,"src":"13205:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52547,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"13228:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52548,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52439,"src":"13255:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52531,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12958:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12962:6:63","memberName":"encode","nodeType":"MemberAccess","src":"12958:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12958:323:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52530,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12935:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12935:356:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12914:377:63"},{"assignments":[52553],"declarations":[{"constant":false,"id":52553,"mutability":"mutable","name":"intentDigest","nameLocation":"13310:12:63","nodeType":"VariableDeclaration","scope":52668,"src":"13302:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13302:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52564,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":52557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13352:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52558,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"13364:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13375:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"13364:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13364:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52561,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52529,"src":"13395:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52555,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13335:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13339:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"13335:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13335:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52554,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"13325:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13325:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"13302:105:63"},{"assignments":[52566,52568,52570],"declarations":[{"constant":false,"id":52566,"mutability":"mutable","name":"sigV","nameLocation":"13425:4:63","nodeType":"VariableDeclaration","scope":52668,"src":"13419:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":52565,"name":"uint8","nodeType":"ElementaryTypeName","src":"13419:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":52568,"mutability":"mutable","name":"sigR","nameLocation":"13439:4:63","nodeType":"VariableDeclaration","scope":52668,"src":"13431:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13431:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52570,"mutability":"mutable","name":"sigS","nameLocation":"13453:4:63","nodeType":"VariableDeclaration","scope":52668,"src":"13445:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13445:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52576,"initialValue":{"arguments":[{"id":52573,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"13469:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52574,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52553,"src":"13485:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52571,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"13461:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13464:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"13461:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":52575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13461:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"13418:80:63"},{"assignments":[52578],"declarations":[{"constant":false,"id":52578,"mutability":"mutable","name":"userBalanceBefore","nameLocation":"13551:17:63","nodeType":"VariableDeclaration","scope":52668,"src":"13543:25:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52577,"name":"uint256","nodeType":"ElementaryTypeName","src":"13543:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52583,"initialValue":{"arguments":[{"id":52581,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"13587:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52579,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"13571:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13577:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"13571:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13571:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13543:49:63"},{"assignments":[52585],"declarations":[{"constant":false,"id":52585,"mutability":"mutable","name":"intentBalanceBefore","nameLocation":"13610:19:63","nodeType":"VariableDeclaration","scope":52668,"src":"13602:27:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52584,"name":"uint256","nodeType":"ElementaryTypeName","src":"13602:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52590,"initialValue":{"arguments":[{"id":52588,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52432,"src":"13648:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52586,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"13632:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13638:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"13632:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13632:30:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13602:60:63"},{"assignments":[52592],"declarations":[{"constant":false,"id":52592,"mutability":"mutable","name":"feeCollectorBalanceBefore","nameLocation":"13680:25:63","nodeType":"VariableDeclaration","scope":52668,"src":"13672:33:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52591,"name":"uint256","nodeType":"ElementaryTypeName","src":"13672:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52597,"initialValue":{"arguments":[{"id":52595,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52439,"src":"13724:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52593,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"13708:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13714:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"13708:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13708:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13672:65:63"},{"expression":{"arguments":[{"id":52601,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"13881:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52604,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"13907:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13899:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52602,"name":"address","nodeType":"ElementaryTypeName","src":"13899:7:63","typeDescriptions":{}}},"id":52605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13899:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52606,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52446,"src":"13927:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52607,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52466,"src":"13947:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52608,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52432,"src":"14026:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52609,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52472,"src":"14053:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52610,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52479,"src":"14075:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52611,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"14094:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52612,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52439,"src":"14117:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52613,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52517,"src":"14143:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52614,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52519,"src":"14164:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52615,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52521,"src":"14185:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52616,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52566,"src":"14206:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52617,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52568,"src":"14224:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52618,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52570,"src":"14242:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52598,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"13831:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13842:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"13831:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":52619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13831:425:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52620,"nodeType":"ExpressionStatement","src":"13831:425:63"},{"assignments":[52622],"declarations":[{"constant":false,"id":52622,"mutability":"mutable","name":"userBalanceAfter","nameLocation":"14307:16:63","nodeType":"VariableDeclaration","scope":52668,"src":"14299:24:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52621,"name":"uint256","nodeType":"ElementaryTypeName","src":"14299:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52627,"initialValue":{"arguments":[{"id":52625,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"14342:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52623,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"14326:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14332:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"14326:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14326:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14299:48:63"},{"assignments":[52629],"declarations":[{"constant":false,"id":52629,"mutability":"mutable","name":"intentBalanceAfter","nameLocation":"14365:18:63","nodeType":"VariableDeclaration","scope":52668,"src":"14357:26:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52628,"name":"uint256","nodeType":"ElementaryTypeName","src":"14357:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52634,"initialValue":{"arguments":[{"id":52632,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52432,"src":"14402:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52630,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"14386:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14392:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"14386:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14386:30:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14357:59:63"},{"assignments":[52636],"declarations":[{"constant":false,"id":52636,"mutability":"mutable","name":"feeCollectorBalanceAfter","nameLocation":"14434:24:63","nodeType":"VariableDeclaration","scope":52668,"src":"14426:32:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52635,"name":"uint256","nodeType":"ElementaryTypeName","src":"14426:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52641,"initialValue":{"arguments":[{"id":52639,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52439,"src":"14477:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52637,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"14461:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14467:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"14461:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14461:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14426:64:63"},{"expression":{"arguments":[{"id":52643,"name":"userBalanceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52622,"src":"14510:16:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52644,"name":"userBalanceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52578,"src":"14528:17:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":52645,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52466,"src":"14548:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14528:31:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52642,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"14501:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":52647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14501:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52648,"nodeType":"ExpressionStatement","src":"14501:59:63"},{"expression":{"arguments":[{"id":52650,"name":"intentBalanceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52629,"src":"14579:18:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52651,"name":"intentBalanceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52585,"src":"14599:19:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":52652,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52446,"src":"14621:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14599:28:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52649,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"14570:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":52654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14570:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52655,"nodeType":"ExpressionStatement","src":"14570:58:63"},{"expression":{"arguments":[{"id":52657,"name":"feeCollectorBalanceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52636,"src":"14647:24:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52658,"name":"feeCollectorBalanceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52592,"src":"14673:25:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":52659,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52456,"src":"14701:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14673:37:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52656,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"14638:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":52661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14638:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52662,"nodeType":"ExpressionStatement","src":"14638:73:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52663,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"14722:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14725:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"14722:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":52666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14722:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52667,"nodeType":"ExpressionStatement","src":"14722:14:63"}]},"functionSelector":"bbaaf0a8","implemented":true,"kind":"function","modifiers":[],"name":"testExecuteIntentWithFee","nameLocation":"11706:24:63","parameters":{"id":52423,"nodeType":"ParameterList","parameters":[],"src":"11730:2:63"},"returnParameters":{"id":52424,"nodeType":"ParameterList","parameters":[],"src":"11740:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":52965,"nodeType":"FunctionDefinition","src":"14827:3353:63","nodes":[],"body":{"id":52964,"nodeType":"Block","src":"14870:3310:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":52675,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"14894:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52672,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"14880:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14883:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"14880:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":52676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14880:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52677,"nodeType":"ExpressionStatement","src":"14880:19:63"},{"assignments":[52679],"declarations":[{"constant":false,"id":52679,"mutability":"mutable","name":"intentAddress","nameLocation":"14918:13:63","nodeType":"VariableDeclaration","scope":52964,"src":"14910:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52678,"name":"address","nodeType":"ElementaryTypeName","src":"14910:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52684,"initialValue":{"arguments":[{"hexValue":"307835363738","id":52682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14942:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":52681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14934:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52680,"name":"address","nodeType":"ElementaryTypeName","src":"14934:7:63","typeDescriptions":{}}},"id":52683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14934:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"14910:39:63"},{"assignments":[52686],"declarations":[{"constant":false,"id":52686,"mutability":"mutable","name":"amount","nameLocation":"14967:6:63","nodeType":"VariableDeclaration","scope":52964,"src":"14959:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52685,"name":"uint256","nodeType":"ElementaryTypeName","src":"14959:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52694,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":52687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14976:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":52688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14981:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52689,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"14987:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14993:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"14987:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":52691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14987:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14981:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14976:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14959:44:63"},{"assignments":[52696],"declarations":[{"constant":false,"id":52696,"mutability":"mutable","name":"deadline","nameLocation":"15021:8:63","nodeType":"VariableDeclaration","scope":52964,"src":"15013:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52695,"name":"uint256","nodeType":"ElementaryTypeName","src":"15013:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52701,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":52697,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"15032:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15038:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"15032:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":52699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15050:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"15032:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15013:41:63"},{"assignments":[52703],"declarations":[{"constant":false,"id":52703,"mutability":"mutable","name":"permitAmount","nameLocation":"15072:12:63","nodeType":"VariableDeclaration","scope":52964,"src":"15064:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52702,"name":"uint256","nodeType":"ElementaryTypeName","src":"15064:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52705,"initialValue":{"id":52704,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52686,"src":"15087:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15064:29:63"},{"assignments":[52707],"declarations":[{"constant":false,"id":52707,"mutability":"mutable","name":"nonce1","nameLocation":"15174:6:63","nodeType":"VariableDeclaration","scope":52964,"src":"15166:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52706,"name":"uint256","nodeType":"ElementaryTypeName","src":"15166:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52712,"initialValue":{"arguments":[{"id":52710,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"15201:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52708,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"15183:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15194:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"15183:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15183:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15166:40:63"},{"assignments":[52714],"declarations":[{"constant":false,"id":52714,"mutability":"mutable","name":"permitHash","nameLocation":"15225:10:63","nodeType":"VariableDeclaration","scope":52964,"src":"15217:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15217:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52743,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":52718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15295:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52719,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"15323:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15329:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"15323:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15323:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":52726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15442:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":52725,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15432:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15432:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52728,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"15553:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52731,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"15591:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":52730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15583:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52729,"name":"address","nodeType":"ElementaryTypeName","src":"15583:7:63","typeDescriptions":{}}},"id":52732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15583:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52733,"name":"permitAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52703,"src":"15628:12:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":52736,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"15679:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52734,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"15666:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15672:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"15666:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15666:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52738,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52696,"src":"15710:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52723,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15396:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15400:6:63","memberName":"encode","nodeType":"MemberAccess","src":"15396:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15396:344:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52722,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15365:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15365:393:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15261:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15265:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"15261:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15261:511:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52715,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15238:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15238:544:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"15217:565:63"},{"assignments":[52745,52747,52749],"declarations":[{"constant":false,"id":52745,"mutability":"mutable","name":"permitV","nameLocation":"15800:7:63","nodeType":"VariableDeclaration","scope":52964,"src":"15794:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":52744,"name":"uint8","nodeType":"ElementaryTypeName","src":"15794:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":52747,"mutability":"mutable","name":"permitR","nameLocation":"15817:7:63","nodeType":"VariableDeclaration","scope":52964,"src":"15809:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15809:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52749,"mutability":"mutable","name":"permitS","nameLocation":"15834:7:63","nodeType":"VariableDeclaration","scope":52964,"src":"15826:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15826:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52755,"initialValue":{"arguments":[{"id":52752,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"15853:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52753,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52714,"src":"15869:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52750,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"15845:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15848:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"15845:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":52754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15845:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"15793:87:63"},{"assignments":[52757],"declarations":[{"constant":false,"id":52757,"mutability":"mutable","name":"intentHash1","nameLocation":"15899:11:63","nodeType":"VariableDeclaration","scope":52964,"src":"15891:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15891:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52782,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52761,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"15964:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15975:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"15964:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15964:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52764,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"16017:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52767,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"16047:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16039:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52765,"name":"address","nodeType":"ElementaryTypeName","src":"16039:7:63","typeDescriptions":{}}},"id":52768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16039:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52769,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52686,"src":"16071:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52770,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52679,"src":"16095:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52771,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52696,"src":"16126:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":52772,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"16152:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16158:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"16152:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52774,"name":"nonce1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52707,"src":"16183:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16207:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":52778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16247:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16239:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52776,"name":"address","nodeType":"ElementaryTypeName","src":"16239:7:63","typeDescriptions":{}}},"id":52779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16239:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15936:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15940:6:63","memberName":"encode","nodeType":"MemberAccess","src":"15936:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15936:343:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52758,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15913:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15913:376:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"15891:398:63"},{"assignments":[52784],"declarations":[{"constant":false,"id":52784,"mutability":"mutable","name":"intentDigest1","nameLocation":"16308:13:63","nodeType":"VariableDeclaration","scope":52964,"src":"16300:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16300:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52795,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":52788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16351:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52789,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"16363:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16374:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"16363:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16363:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52792,"name":"intentHash1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52757,"src":"16394:11:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52786,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16334:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16338:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"16334:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16334:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52785,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"16324:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16324:83:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16300:107:63"},{"assignments":[52797,52799,52801],"declarations":[{"constant":false,"id":52797,"mutability":"mutable","name":"sigV1","nameLocation":"16425:5:63","nodeType":"VariableDeclaration","scope":52964,"src":"16419:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":52796,"name":"uint8","nodeType":"ElementaryTypeName","src":"16419:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":52799,"mutability":"mutable","name":"sigR1","nameLocation":"16440:5:63","nodeType":"VariableDeclaration","scope":52964,"src":"16432:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16432:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52801,"mutability":"mutable","name":"sigS1","nameLocation":"16455:5:63","nodeType":"VariableDeclaration","scope":52964,"src":"16447:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16447:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52807,"initialValue":{"arguments":[{"id":52804,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"16472:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52805,"name":"intentDigest1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52784,"src":"16488:13:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52802,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"16464:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16467:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"16464:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":52806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16464:38:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"16418:84:63"},{"expression":{"arguments":[{"id":52811,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"16563:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52814,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"16589:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16581:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52812,"name":"address","nodeType":"ElementaryTypeName","src":"16581:7:63","typeDescriptions":{}}},"id":52815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16581:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52816,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52686,"src":"16609:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52817,"name":"permitAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52703,"src":"16629:12:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52818,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52679,"src":"16655:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52819,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52696,"src":"16682:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52820,"name":"nonce1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52707,"src":"16704:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16724:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":52824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16747:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16739:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52822,"name":"address","nodeType":"ElementaryTypeName","src":"16739:7:63","typeDescriptions":{}}},"id":52825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16739:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52826,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52745,"src":"16763:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52827,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52747,"src":"16784:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52828,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52749,"src":"16805:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52829,"name":"sigV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52797,"src":"16826:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52830,"name":"sigR1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52799,"src":"16845:5:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52831,"name":"sigS1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52801,"src":"16864:5:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52808,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"16513:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16524:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"16513:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":52832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16513:366:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52833,"nodeType":"ExpressionStatement","src":"16513:366:63"},{"expression":{"arguments":[{"arguments":[{"id":52837,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"16955:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52840,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"16969:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":52839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16961:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52838,"name":"address","nodeType":"ElementaryTypeName","src":"16961:7:63","typeDescriptions":{}}},"id":52841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16961:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52835,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"16939:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16945:9:63","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":40472,"src":"16939:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":52842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16939:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16983:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52834,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"16930:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":52844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16930:55:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52845,"nodeType":"ExpressionStatement","src":"16930:55:63"},{"assignments":[52847],"declarations":[{"constant":false,"id":52847,"mutability":"mutable","name":"nonce2","nameLocation":"17045:6:63","nodeType":"VariableDeclaration","scope":52964,"src":"17037:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52846,"name":"uint256","nodeType":"ElementaryTypeName","src":"17037:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52852,"initialValue":{"arguments":[{"id":52850,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"17072:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52848,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"17054:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17065:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"17054:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17054:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17037:40:63"},{"expression":{"arguments":[{"id":52854,"name":"nonce2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52847,"src":"17096:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":52855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17104:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":52853,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"17087:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":52856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17087:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52857,"nodeType":"ExpressionStatement","src":"17087:19:63"},{"assignments":[52859],"declarations":[{"constant":false,"id":52859,"mutability":"mutable","name":"intentHash2","nameLocation":"17125:11:63","nodeType":"VariableDeclaration","scope":52964,"src":"17117:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52858,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17117:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52884,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52863,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"17190:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17201:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"17190:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17190:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52866,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"17243:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52869,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"17273:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17265:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52867,"name":"address","nodeType":"ElementaryTypeName","src":"17265:7:63","typeDescriptions":{}}},"id":52870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17265:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52871,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52686,"src":"17297:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52872,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52679,"src":"17321:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52873,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52696,"src":"17352:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":52874,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"17378:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17384:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"17378:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52876,"name":"nonce2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52847,"src":"17409:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17433:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":52880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17473:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17465:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52878,"name":"address","nodeType":"ElementaryTypeName","src":"17465:7:63","typeDescriptions":{}}},"id":52881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17465:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17162:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17166:6:63","memberName":"encode","nodeType":"MemberAccess","src":"17162:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17162:343:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52860,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"17139:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17139:376:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"17117:398:63"},{"assignments":[52886],"declarations":[{"constant":false,"id":52886,"mutability":"mutable","name":"intentDigest2","nameLocation":"17534:13:63","nodeType":"VariableDeclaration","scope":52964,"src":"17526:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17526:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52897,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":52890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17577:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52891,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"17589:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17600:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"17589:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":52893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17589:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52894,"name":"intentHash2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52859,"src":"17620:11:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52888,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17560:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17564:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"17560:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17560:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52887,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"17550:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":52896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17550:83:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"17526:107:63"},{"assignments":[52899,52901,52903],"declarations":[{"constant":false,"id":52899,"mutability":"mutable","name":"sigV2","nameLocation":"17651:5:63","nodeType":"VariableDeclaration","scope":52964,"src":"17645:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":52898,"name":"uint8","nodeType":"ElementaryTypeName","src":"17645:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":52901,"mutability":"mutable","name":"sigR2","nameLocation":"17666:5:63","nodeType":"VariableDeclaration","scope":52964,"src":"17658:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17658:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52903,"mutability":"mutable","name":"sigS2","nameLocation":"17681:5:63","nodeType":"VariableDeclaration","scope":52964,"src":"17673:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17673:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52909,"initialValue":{"arguments":[{"id":52906,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"17698:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52907,"name":"intentDigest2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52886,"src":"17714:13:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52904,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"17690:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17693:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"17690:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":52908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17690:38:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"17644:84:63"},{"assignments":[52911],"declarations":[{"constant":false,"id":52911,"mutability":"mutable","name":"userBalBefore","nameLocation":"17747:13:63","nodeType":"VariableDeclaration","scope":52964,"src":"17739:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52910,"name":"uint256","nodeType":"ElementaryTypeName","src":"17739:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52916,"initialValue":{"arguments":[{"id":52914,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"17779:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52912,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"17763:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17769:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"17763:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17763:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17739:45:63"},{"expression":{"arguments":[{"arguments":[{"id":52922,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"17904:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":52921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17896:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52920,"name":"address","nodeType":"ElementaryTypeName","src":"17896:7:63","typeDescriptions":{}}},"id":52923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17896:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52924,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52686,"src":"17917:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52917,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"17882:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17888:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"17882:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":52925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17882:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":52926,"nodeType":"ExpressionStatement","src":"17882:42:63"},{"expression":{"arguments":[{"id":52930,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"17975:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52933,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"17989:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":52932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17981:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52931,"name":"address","nodeType":"ElementaryTypeName","src":"17981:7:63","typeDescriptions":{}}},"id":52934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17981:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52935,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52686,"src":"17997:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52936,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52679,"src":"18005:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52937,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52696,"src":"18020:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52938,"name":"nonce2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52847,"src":"18030:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":52939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18038:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":52942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18049:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18041:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52940,"name":"address","nodeType":"ElementaryTypeName","src":"18041:7:63","typeDescriptions":{}}},"id":52943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18041:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52944,"name":"sigV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52899,"src":"18053:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":52945,"name":"sigR2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52901,"src":"18060:5:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":52946,"name":"sigS2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"18067:5:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52927,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"17935:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":52929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17946:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"17935:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":52947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17935:147:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52948,"nodeType":"ExpressionStatement","src":"17935:147:63"},{"expression":{"arguments":[{"arguments":[{"id":52952,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"18118:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52950,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"18102:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18108:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"18102:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":52953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18102:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52954,"name":"userBalBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52911,"src":"18125:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":52955,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52686,"src":"18141:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18125:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52949,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"18093:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":52957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18093:55:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52958,"nodeType":"ExpressionStatement","src":"18093:55:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52959,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"18159:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18162:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"18159:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":52962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18159:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52963,"nodeType":"ExpressionStatement","src":"18159:14:63"}]},"functionSelector":"901dc0e2","implemented":true,"kind":"function","modifiers":[],"name":"testInfiniteApprovalFlow","nameLocation":"14836:24:63","parameters":{"id":52670,"nodeType":"ParameterList","parameters":[],"src":"14860:2:63"},"returnParameters":{"id":52671,"nodeType":"ParameterList","parameters":[],"src":"14870:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":53284,"nodeType":"FunctionDefinition","src":"18258:3959:63","nodes":[],"body":{"id":53283,"nodeType":"Block","src":"18298:3919:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":52971,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"18322:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52968,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"18308:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":52970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18311:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"18308:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":52972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18308:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52973,"nodeType":"ExpressionStatement","src":"18308:19:63"},{"assignments":[52975],"declarations":[{"constant":false,"id":52975,"mutability":"mutable","name":"intentAddress","nameLocation":"18346:13:63","nodeType":"VariableDeclaration","scope":53283,"src":"18338:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52974,"name":"address","nodeType":"ElementaryTypeName","src":"18338:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52980,"initialValue":{"arguments":[{"hexValue":"307835363738","id":52978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18370:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":52977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18362:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52976,"name":"address","nodeType":"ElementaryTypeName","src":"18362:7:63","typeDescriptions":{}}},"id":52979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18362:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18338:39:63"},{"assignments":[52982],"declarations":[{"constant":false,"id":52982,"mutability":"mutable","name":"amount","nameLocation":"18395:6:63","nodeType":"VariableDeclaration","scope":53283,"src":"18387:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52981,"name":"uint256","nodeType":"ElementaryTypeName","src":"18387:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52990,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":52983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18404:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":52984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18409:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52985,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"18415:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":52986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18421:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"18415:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":52987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18415:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"18409:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18404:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18387:44:63"},{"assignments":[52992],"declarations":[{"constant":false,"id":52992,"mutability":"mutable","name":"deadline","nameLocation":"18449:8:63","nodeType":"VariableDeclaration","scope":53283,"src":"18441:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52991,"name":"uint256","nodeType":"ElementaryTypeName","src":"18441:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52997,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":52993,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"18460:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":52994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18466:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"18460:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":52995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18478:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"18460:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18441:41:63"},{"assignments":[52999],"declarations":[{"constant":false,"id":52999,"mutability":"mutable","name":"nonce1","nameLocation":"18546:6:63","nodeType":"VariableDeclaration","scope":53283,"src":"18538:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52998,"name":"uint256","nodeType":"ElementaryTypeName","src":"18538:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53004,"initialValue":{"arguments":[{"id":53002,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"18573:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53000,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"18555:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18566:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"18555:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18555:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18538:40:63"},{"assignments":[53006],"declarations":[{"constant":false,"id":53006,"mutability":"mutable","name":"permitHash1","nameLocation":"18597:11:63","nodeType":"VariableDeclaration","scope":53283,"src":"18589:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53005,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18589:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53035,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":53010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18668:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53011,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"18696:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18702:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"18696:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18696:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":53018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18815:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":53017,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18805:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18805:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53020,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"18926:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53023,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"18964:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":53022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18956:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53021,"name":"address","nodeType":"ElementaryTypeName","src":"18956:7:63","typeDescriptions":{}}},"id":53024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18956:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53025,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"19001:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":53028,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"19046:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53026,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"19033:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19039:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"19033:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19033:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53030,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52992,"src":"19077:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53015,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18769:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18773:6:63","memberName":"encode","nodeType":"MemberAccess","src":"18769:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18769:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53014,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18738:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18738:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53008,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18634:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18638:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"18634:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18634:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53007,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18611:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18611:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18589:560:63"},{"assignments":[53037,53039,53041],"declarations":[{"constant":false,"id":53037,"mutability":"mutable","name":"permitV1","nameLocation":"19167:8:63","nodeType":"VariableDeclaration","scope":53283,"src":"19161:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53036,"name":"uint8","nodeType":"ElementaryTypeName","src":"19161:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53039,"mutability":"mutable","name":"permitR1","nameLocation":"19185:8:63","nodeType":"VariableDeclaration","scope":53283,"src":"19177:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19177:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53041,"mutability":"mutable","name":"permitS1","nameLocation":"19203:8:63","nodeType":"VariableDeclaration","scope":53283,"src":"19195:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53040,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19195:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53047,"initialValue":{"arguments":[{"id":53044,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"19223:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53045,"name":"permitHash1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53006,"src":"19239:11:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53042,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"19215:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19218:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"19215:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":53046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19215:36:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"19160:91:63"},{"assignments":[53049],"declarations":[{"constant":false,"id":53049,"mutability":"mutable","name":"intentHash1","nameLocation":"19270:11:63","nodeType":"VariableDeclaration","scope":53283,"src":"19262:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53048,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19262:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53074,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53053,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"19335:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19346:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"19335:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19335:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53056,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"19388:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53059,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"19418:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19410:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53057,"name":"address","nodeType":"ElementaryTypeName","src":"19410:7:63","typeDescriptions":{}}},"id":53060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19410:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53061,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"19442:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53062,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52975,"src":"19466:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53063,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52992,"src":"19497:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":53064,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"19523:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19529:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"19523:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53066,"name":"nonce1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52999,"src":"19554:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19578:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19618:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19610:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53068,"name":"address","nodeType":"ElementaryTypeName","src":"19610:7:63","typeDescriptions":{}}},"id":53071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19610:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53051,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19307:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19311:6:63","memberName":"encode","nodeType":"MemberAccess","src":"19307:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19307:343:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53050,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19284:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19284:376:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"19262:398:63"},{"assignments":[53076],"declarations":[{"constant":false,"id":53076,"mutability":"mutable","name":"intentDigest1","nameLocation":"19679:13:63","nodeType":"VariableDeclaration","scope":53283,"src":"19671:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19671:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53087,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":53080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19722:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53081,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"19734:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19745:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"19734:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19734:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53084,"name":"intentHash1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53049,"src":"19765:11:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19705:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19709:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"19705:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19705:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53077,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19695:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19695:83:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"19671:107:63"},{"assignments":[53089,53091,53093],"declarations":[{"constant":false,"id":53089,"mutability":"mutable","name":"sigV1","nameLocation":"19796:5:63","nodeType":"VariableDeclaration","scope":53283,"src":"19790:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53088,"name":"uint8","nodeType":"ElementaryTypeName","src":"19790:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53091,"mutability":"mutable","name":"sigR1","nameLocation":"19811:5:63","nodeType":"VariableDeclaration","scope":53283,"src":"19803:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19803:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53093,"mutability":"mutable","name":"sigS1","nameLocation":"19826:5:63","nodeType":"VariableDeclaration","scope":53283,"src":"19818:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19818:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53099,"initialValue":{"arguments":[{"id":53096,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"19843:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53097,"name":"intentDigest1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53076,"src":"19859:13:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53094,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"19835:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19838:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"19835:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":53098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19835:38:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"19789:84:63"},{"expression":{"arguments":[{"id":53103,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"19934:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53106,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"19960:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19952:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53104,"name":"address","nodeType":"ElementaryTypeName","src":"19952:7:63","typeDescriptions":{}}},"id":53107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19952:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53108,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"19980:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53109,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"20000:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53110,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52975,"src":"20020:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53111,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52992,"src":"20047:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53112,"name":"nonce1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52999,"src":"20069:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20089:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20112:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20104:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53114,"name":"address","nodeType":"ElementaryTypeName","src":"20104:7:63","typeDescriptions":{}}},"id":53117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20104:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53118,"name":"permitV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53037,"src":"20128:8:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53119,"name":"permitR1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53039,"src":"20150:8:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53120,"name":"permitS1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53041,"src":"20172:8:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53121,"name":"sigV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53089,"src":"20194:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53122,"name":"sigR1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53091,"src":"20213:5:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53123,"name":"sigS1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53093,"src":"20232:5:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53100,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"19884:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19895:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"19884:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":53124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19884:363:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53125,"nodeType":"ExpressionStatement","src":"19884:363:63"},{"expression":{"arguments":[{"arguments":[{"id":53129,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"20323:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53132,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"20337:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":53131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20329:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53130,"name":"address","nodeType":"ElementaryTypeName","src":"20329:7:63","typeDescriptions":{}}},"id":53133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20329:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53127,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"20307:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20313:9:63","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":40472,"src":"20307:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":53134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20307:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20351:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53126,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"20298:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":53136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20298:55:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53137,"nodeType":"ExpressionStatement","src":"20298:55:63"},{"assignments":[53139],"declarations":[{"constant":false,"id":53139,"mutability":"mutable","name":"nonce2","nameLocation":"20418:6:63","nodeType":"VariableDeclaration","scope":53283,"src":"20410:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53138,"name":"uint256","nodeType":"ElementaryTypeName","src":"20410:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53144,"initialValue":{"arguments":[{"id":53142,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"20445:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53140,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"20427:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20438:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"20427:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20427:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20410:40:63"},{"assignments":[53146],"declarations":[{"constant":false,"id":53146,"mutability":"mutable","name":"permitHash2","nameLocation":"20469:11:63","nodeType":"VariableDeclaration","scope":53283,"src":"20461:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20461:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53175,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":53150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20540:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53151,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"20568:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20574:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"20568:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20568:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":53158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20687:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":53157,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20677:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20677:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53160,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"20798:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53163,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"20836:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":53162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20828:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53161,"name":"address","nodeType":"ElementaryTypeName","src":"20828:7:63","typeDescriptions":{}}},"id":53164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20828:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53165,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"20873:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":53168,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"20918:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53166,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"20905:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20911:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"20905:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20905:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53170,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52992,"src":"20949:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53155,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20641:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20645:6:63","memberName":"encode","nodeType":"MemberAccess","src":"20641:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20641:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53154,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20610:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20610:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20506:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20510:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"20506:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20506:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53147,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20483:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20483:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"20461:560:63"},{"assignments":[53177,53179,53181],"declarations":[{"constant":false,"id":53177,"mutability":"mutable","name":"permitV2","nameLocation":"21039:8:63","nodeType":"VariableDeclaration","scope":53283,"src":"21033:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53176,"name":"uint8","nodeType":"ElementaryTypeName","src":"21033:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53179,"mutability":"mutable","name":"permitR2","nameLocation":"21057:8:63","nodeType":"VariableDeclaration","scope":53283,"src":"21049:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21049:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53181,"mutability":"mutable","name":"permitS2","nameLocation":"21075:8:63","nodeType":"VariableDeclaration","scope":53283,"src":"21067:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53180,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21067:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53187,"initialValue":{"arguments":[{"id":53184,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"21095:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53185,"name":"permitHash2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53146,"src":"21111:11:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53182,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"21087:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21090:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"21087:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":53186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21087:36:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"21032:91:63"},{"assignments":[53189],"declarations":[{"constant":false,"id":53189,"mutability":"mutable","name":"intentHash2","nameLocation":"21142:11:63","nodeType":"VariableDeclaration","scope":53283,"src":"21134:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21134:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53214,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53193,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"21207:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21218:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"21207:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21207:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53196,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"21260:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53199,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"21290:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21282:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53197,"name":"address","nodeType":"ElementaryTypeName","src":"21282:7:63","typeDescriptions":{}}},"id":53200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21282:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53201,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"21314:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53202,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52975,"src":"21338:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53203,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52992,"src":"21369:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":53204,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"21395:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21401:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"21395:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53206,"name":"nonce2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53139,"src":"21426:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21450:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21490:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21482:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53208,"name":"address","nodeType":"ElementaryTypeName","src":"21482:7:63","typeDescriptions":{}}},"id":53211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21482:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53191,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21179:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21183:6:63","memberName":"encode","nodeType":"MemberAccess","src":"21179:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21179:343:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53190,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"21156:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21156:376:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"21134:398:63"},{"assignments":[53216],"declarations":[{"constant":false,"id":53216,"mutability":"mutable","name":"intentDigest2","nameLocation":"21551:13:63","nodeType":"VariableDeclaration","scope":53283,"src":"21543:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21543:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53227,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":53220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21594:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53221,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"21606:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21617:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"21606:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21606:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53224,"name":"intentHash2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53189,"src":"21637:11:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21577:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21581:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"21577:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21577:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53217,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"21567:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21567:83:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"21543:107:63"},{"assignments":[53229,53231,53233],"declarations":[{"constant":false,"id":53229,"mutability":"mutable","name":"sigV2","nameLocation":"21668:5:63","nodeType":"VariableDeclaration","scope":53283,"src":"21662:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53228,"name":"uint8","nodeType":"ElementaryTypeName","src":"21662:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53231,"mutability":"mutable","name":"sigR2","nameLocation":"21683:5:63","nodeType":"VariableDeclaration","scope":53283,"src":"21675:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21675:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53233,"mutability":"mutable","name":"sigS2","nameLocation":"21698:5:63","nodeType":"VariableDeclaration","scope":53283,"src":"21690:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21690:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53239,"initialValue":{"arguments":[{"id":53236,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"21715:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53237,"name":"intentDigest2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53216,"src":"21731:13:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53234,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"21707:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21710:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"21707:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":53238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21707:38:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"21661:84:63"},{"expression":{"arguments":[{"id":53243,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"21806:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53246,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"21832:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21824:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53244,"name":"address","nodeType":"ElementaryTypeName","src":"21824:7:63","typeDescriptions":{}}},"id":53247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21824:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53248,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"21852:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53249,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52982,"src":"21872:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53250,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52975,"src":"21892:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53251,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52992,"src":"21919:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53252,"name":"nonce2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53139,"src":"21941:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21961:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21984:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21976:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53254,"name":"address","nodeType":"ElementaryTypeName","src":"21976:7:63","typeDescriptions":{}}},"id":53257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21976:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53258,"name":"permitV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53177,"src":"22000:8:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53259,"name":"permitR2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53179,"src":"22022:8:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53260,"name":"permitS2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53181,"src":"22044:8:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53261,"name":"sigV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53229,"src":"22066:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53262,"name":"sigR2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53231,"src":"22085:5:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53263,"name":"sigS2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53233,"src":"22104:5:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53240,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"21756:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21767:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"21756:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":53264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21756:363:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53265,"nodeType":"ExpressionStatement","src":"21756:363:63"},{"expression":{"arguments":[{"arguments":[{"id":53269,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"22155:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53272,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"22169:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":53271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22161:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53270,"name":"address","nodeType":"ElementaryTypeName","src":"22161:7:63","typeDescriptions":{}}},"id":53273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22161:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53267,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"22139:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22145:9:63","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":40472,"src":"22139:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":53274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22139:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22183:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53266,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"22130:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":53276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22130:55:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53277,"nodeType":"ExpressionStatement","src":"22130:55:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53278,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"22196:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22199:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"22196:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":53281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22196:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53282,"nodeType":"ExpressionStatement","src":"22196:14:63"}]},"functionSelector":"be7d0b2f","implemented":true,"kind":"function","modifiers":[],"name":"testExactApprovalFlow","nameLocation":"18267:21:63","parameters":{"id":52966,"nodeType":"ParameterList","parameters":[],"src":"18288:2:63"},"returnParameters":{"id":52967,"nodeType":"ParameterList","parameters":[],"src":"18298:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":53399,"nodeType":"FunctionDefinition","src":"22276:873:63","nodes":[],"body":{"id":53398,"nodeType":"Block","src":"22323:826:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":53290,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"22347:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53287,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"22333:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22336:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"22333:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":53291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22333:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53292,"nodeType":"ExpressionStatement","src":"22333:19:63"},{"assignments":[53294],"declarations":[{"constant":false,"id":53294,"mutability":"mutable","name":"amt","nameLocation":"22371:3:63","nodeType":"VariableDeclaration","scope":53398,"src":"22363:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53293,"name":"uint256","nodeType":"ElementaryTypeName","src":"22363:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53296,"initialValue":{"hexValue":"3530653138","id":53295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22377:5:63","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50e18"},"nodeType":"VariableDeclarationStatement","src":"22363:19:63"},{"assignments":[53298],"declarations":[{"constant":false,"id":53298,"mutability":"mutable","name":"fee","nameLocation":"22400:3:63","nodeType":"VariableDeclaration","scope":53398,"src":"22392:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53297,"name":"uint256","nodeType":"ElementaryTypeName","src":"22392:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53300,"initialValue":{"hexValue":"35653138","id":53299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22406:4:63","typeDescriptions":{"typeIdentifier":"t_rational_5000000000000000000_by_1","typeString":"int_const 5000000000000000000"},"value":"5e18"},"nodeType":"VariableDeclarationStatement","src":"22392:18:63"},{"assignments":[53302],"declarations":[{"constant":false,"id":53302,"mutability":"mutable","name":"dl","nameLocation":"22428:2:63","nodeType":"VariableDeclaration","scope":53398,"src":"22420:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53301,"name":"uint256","nodeType":"ElementaryTypeName","src":"22420:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53307,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53303,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"22433:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22439:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"22433:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":53305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22451:7:63","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"1"},"src":"22433:25:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22420:38:63"},{"assignments":[53309],"declarations":[{"constant":false,"id":53309,"mutability":"mutable","name":"nonce1","nameLocation":"22476:6:63","nodeType":"VariableDeclaration","scope":53398,"src":"22468:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53308,"name":"uint256","nodeType":"ElementaryTypeName","src":"22468:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53314,"initialValue":{"arguments":[{"id":53312,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"22503:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53310,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"22485:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22496:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"22485:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22485:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22468:40:63"},{"assignments":[53316,53318,53320],"declarations":[{"constant":false,"id":53316,"mutability":"mutable","name":"pv","nameLocation":"22526:2:63","nodeType":"VariableDeclaration","scope":53398,"src":"22520:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53315,"name":"uint8","nodeType":"ElementaryTypeName","src":"22520:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53318,"mutability":"mutable","name":"pr","nameLocation":"22538:2:63","nodeType":"VariableDeclaration","scope":53398,"src":"22530:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22530:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53320,"mutability":"mutable","name":"ps","nameLocation":"22550:2:63","nodeType":"VariableDeclaration","scope":53398,"src":"22542:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22542:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53328,"initialValue":{"arguments":[{"id":53322,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"22568:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53323,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53294,"src":"22574:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":53324,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53298,"src":"22580:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22574:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53326,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53302,"src":"22585:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53321,"name":"_signPermit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57786,"src":"22556:11:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,uint256,uint256) view returns (uint8,bytes32,bytes32)"}},"id":53327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22556:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"22519:69:63"},{"assignments":[53330,53332,53334],"declarations":[{"constant":false,"id":53330,"mutability":"mutable","name":"sv","nameLocation":"22605:2:63","nodeType":"VariableDeclaration","scope":53398,"src":"22599:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53329,"name":"uint8","nodeType":"ElementaryTypeName","src":"22599:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53332,"mutability":"mutable","name":"sr","nameLocation":"22617:2:63","nodeType":"VariableDeclaration","scope":53398,"src":"22609:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53331,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22609:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53334,"mutability":"mutable","name":"ss","nameLocation":"22629:2:63","nodeType":"VariableDeclaration","scope":53398,"src":"22621:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22621:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53350,"initialValue":{"arguments":[{"id":53336,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"22648:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53337,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53294,"src":"22654:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307835363738","id":53340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22667:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":53339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22659:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53338,"name":"address","nodeType":"ElementaryTypeName","src":"22659:7:63","typeDescriptions":{}}},"id":53341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22659:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53342,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53302,"src":"22676:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53343,"name":"nonce1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53309,"src":"22680:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53344,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53298,"src":"22688:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307839393939","id":53347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22701:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":53346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22693:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53345,"name":"address","nodeType":"ElementaryTypeName","src":"22693:7:63","typeDescriptions":{}}},"id":53348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22693:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53335,"name":"_signIntent2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57853,"src":"22635:12:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,uint256,address,uint256,uint256,uint256,address) view returns (uint8,bytes32,bytes32)"}},"id":53349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22635:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"22598:111:63"},{"expression":{"arguments":[{"id":53354,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"22770:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53357,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"22796:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22788:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53355,"name":"address","nodeType":"ElementaryTypeName","src":"22788:7:63","typeDescriptions":{}}},"id":53358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22788:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53359,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53294,"src":"22816:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53360,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53294,"src":"22833:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":53361,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53298,"src":"22839:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22833:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307835363738","id":53365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22864:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":53364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22856:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53363,"name":"address","nodeType":"ElementaryTypeName","src":"22856:7:63","typeDescriptions":{}}},"id":53366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22856:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53367,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53302,"src":"22885:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53368,"name":"nonce1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53309,"src":"22901:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53369,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53298,"src":"22921:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307839393939","id":53372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22946:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":53371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22938:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53370,"name":"address","nodeType":"ElementaryTypeName","src":"22938:7:63","typeDescriptions":{}}},"id":53373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22938:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53374,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53316,"src":"22967:2:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53375,"name":"pr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53318,"src":"22983:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53376,"name":"ps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53320,"src":"22999:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53377,"name":"sv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53330,"src":"23015:2:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53378,"name":"sr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53332,"src":"23031:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53379,"name":"ss","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53334,"src":"23047:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53351,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"22720:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22731:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"22720:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":53380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22720:339:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53381,"nodeType":"ExpressionStatement","src":"22720:339:63"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"307839393939","id":53387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23103:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":53386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23095:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53385,"name":"address","nodeType":"ElementaryTypeName","src":"23095:7:63","typeDescriptions":{}}},"id":53388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23095:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53383,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"23079:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23085:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"23079:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23079:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53390,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53298,"src":"23113:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53382,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"23070:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":53391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23070:47:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53392,"nodeType":"ExpressionStatement","src":"23070:47:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53393,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"23128:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23131:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"23128:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":53396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23128:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53397,"nodeType":"ExpressionStatement","src":"23128:14:63"}]},"functionSelector":"cde7e487","implemented":true,"kind":"function","modifiers":[],"name":"testFeeCollectorReceivesFees","nameLocation":"22285:28:63","parameters":{"id":53285,"nodeType":"ParameterList","parameters":[],"src":"22313:2:63"},"returnParameters":{"id":53286,"nodeType":"ParameterList","parameters":[],"src":"22323:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":53506,"nodeType":"FunctionDefinition","src":"23211:659:63","nodes":[],"body":{"id":53505,"nodeType":"Block","src":"23271:599:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":53405,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"23295:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53402,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"23281:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23284:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"23281:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":53406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23281:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53407,"nodeType":"ExpressionStatement","src":"23281:19:63"},{"assignments":[53409],"declarations":[{"constant":false,"id":53409,"mutability":"mutable","name":"amt","nameLocation":"23319:3:63","nodeType":"VariableDeclaration","scope":53505,"src":"23311:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53408,"name":"uint256","nodeType":"ElementaryTypeName","src":"23311:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53411,"initialValue":{"hexValue":"3530653138","id":53410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23325:5:63","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50e18"},"nodeType":"VariableDeclarationStatement","src":"23311:19:63"},{"assignments":[53413],"declarations":[{"constant":false,"id":53413,"mutability":"mutable","name":"fee","nameLocation":"23348:3:63","nodeType":"VariableDeclaration","scope":53505,"src":"23340:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53412,"name":"uint256","nodeType":"ElementaryTypeName","src":"23340:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53415,"initialValue":{"hexValue":"35653138","id":53414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23354:4:63","typeDescriptions":{"typeIdentifier":"t_rational_5000000000000000000_by_1","typeString":"int_const 5000000000000000000"},"value":"5e18"},"nodeType":"VariableDeclarationStatement","src":"23340:18:63"},{"assignments":[53417],"declarations":[{"constant":false,"id":53417,"mutability":"mutable","name":"dl","nameLocation":"23376:2:63","nodeType":"VariableDeclaration","scope":53505,"src":"23368:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53416,"name":"uint256","nodeType":"ElementaryTypeName","src":"23368:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53422,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53418,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23381:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23387:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"23381:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":53420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23399:7:63","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"1"},"src":"23381:25:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23368:38:63"},{"assignments":[53424],"declarations":[{"constant":false,"id":53424,"mutability":"mutable","name":"nonce","nameLocation":"23424:5:63","nodeType":"VariableDeclaration","scope":53505,"src":"23416:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53423,"name":"uint256","nodeType":"ElementaryTypeName","src":"23416:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53429,"initialValue":{"arguments":[{"id":53427,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"23450:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53425,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"23432:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23443:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"23432:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23432:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23416:39:63"},{"assignments":[53431,53433,53435],"declarations":[{"constant":false,"id":53431,"mutability":"mutable","name":"sv","nameLocation":"23473:2:63","nodeType":"VariableDeclaration","scope":53505,"src":"23467:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53430,"name":"uint8","nodeType":"ElementaryTypeName","src":"23467:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53433,"mutability":"mutable","name":"sr","nameLocation":"23485:2:63","nodeType":"VariableDeclaration","scope":53505,"src":"23477:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53432,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23477:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53435,"mutability":"mutable","name":"ss","nameLocation":"23497:2:63","nodeType":"VariableDeclaration","scope":53505,"src":"23489:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23489:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53451,"initialValue":{"arguments":[{"id":53437,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"23516:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53438,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53409,"src":"23522:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307835363738","id":53441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23535:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":53440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23527:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53439,"name":"address","nodeType":"ElementaryTypeName","src":"23527:7:63","typeDescriptions":{}}},"id":53442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23527:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53443,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53417,"src":"23544:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53444,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53424,"src":"23548:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53445,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53413,"src":"23555:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307839393939","id":53448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23568:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":53447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23560:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53446,"name":"address","nodeType":"ElementaryTypeName","src":"23560:7:63","typeDescriptions":{}}},"id":53449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23560:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53436,"name":"_signIntent2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57853,"src":"23503:12:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,uint256,address,uint256,uint256,uint256,address) view returns (uint8,bytes32,bytes32)"}},"id":53450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23503:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"23466:110:63"},{"expression":{"arguments":[{"arguments":[{"id":53457,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"23609:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":53456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23601:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53455,"name":"address","nodeType":"ElementaryTypeName","src":"23601:7:63","typeDescriptions":{}}},"id":53458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23601:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53459,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53409,"src":"23622:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":53460,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53413,"src":"23628:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23622:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53452,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"23587:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23593:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"23587:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":53462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23587:45:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53463,"nodeType":"ExpressionStatement","src":"23587:45:63"},{"expression":{"arguments":[{"id":53467,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"23683:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53470,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"23697:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23689:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53468,"name":"address","nodeType":"ElementaryTypeName","src":"23689:7:63","typeDescriptions":{}}},"id":53471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23689:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53472,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53409,"src":"23705:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307835363738","id":53475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23718:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":53474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23710:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53473,"name":"address","nodeType":"ElementaryTypeName","src":"23710:7:63","typeDescriptions":{}}},"id":53476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23710:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53477,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53417,"src":"23727:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53478,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53424,"src":"23731:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53479,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53413,"src":"23738:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307839393939","id":53482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23751:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":53481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23743:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53480,"name":"address","nodeType":"ElementaryTypeName","src":"23743:7:63","typeDescriptions":{}}},"id":53483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23743:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53484,"name":"sv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53431,"src":"23760:2:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53485,"name":"sr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53433,"src":"23764:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53486,"name":"ss","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53435,"src":"23768:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53464,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"23643:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23654:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"23643:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":53487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23643:137:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53488,"nodeType":"ExpressionStatement","src":"23643:137:63"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"307839393939","id":53494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23824:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":53493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23816:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53492,"name":"address","nodeType":"ElementaryTypeName","src":"23816:7:63","typeDescriptions":{}}},"id":53495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23816:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53490,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"23800:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23806:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"23800:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23800:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53497,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53413,"src":"23834:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53489,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"23791:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":53498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23791:47:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53499,"nodeType":"ExpressionStatement","src":"23791:47:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53500,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"23849:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23852:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"23849:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":53503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23849:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53504,"nodeType":"ExpressionStatement","src":"23849:14:63"}]},"functionSelector":"69ad3c6a","implemented":true,"kind":"function","modifiers":[],"name":"testFeeCollectorReceivesFeesWithoutPermit","nameLocation":"23220:41:63","parameters":{"id":53400,"nodeType":"ParameterList","parameters":[],"src":"23261:2:63"},"returnParameters":{"id":53401,"nodeType":"ParameterList","parameters":[],"src":"23271:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":53560,"nodeType":"FunctionDefinition","src":"23942:573:63","nodes":[],"body":{"id":53559,"nodeType":"Block","src":"23999:516:63","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":53518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":53512,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"24028:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":53511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24020:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53510,"name":"address","nodeType":"ElementaryTypeName","src":"24020:7:63","typeDescriptions":{}}},"id":53513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24020:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":53516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24051:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24043:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53514,"name":"address","nodeType":"ElementaryTypeName","src":"24043:7:63","typeDescriptions":{}}},"id":53517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24043:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24020:33:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":53509,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":568,"src":"24009:10:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":53519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24009:45:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53520,"nodeType":"ExpressionStatement","src":"24009:45:63"},{"assignments":[53522],"declarations":[{"constant":false,"id":53522,"mutability":"mutable","name":"expectedDomain","nameLocation":"24072:14:63","nodeType":"VariableDeclaration","scope":53559,"src":"24064:22:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24064:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53551,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":53527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24150:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":53526,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24140:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24140:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"547261696c73496e74656e74456e747279706f696e74","id":53532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24269:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f5","typeString":"literal_string \"TrailsIntentEntrypoint\""},"value":"TrailsIntentEntrypoint"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f5","typeString":"literal_string \"TrailsIntentEntrypoint\""}],"id":53531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24263:5:63","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":53530,"name":"bytes","nodeType":"ElementaryTypeName","src":"24263:5:63","typeDescriptions":{}}},"id":53533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24263:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53529,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24253:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24253:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53538,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"24329:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24340:7:63","memberName":"VERSION","nodeType":"MemberAccess","referencedDeclaration":49288,"src":"24329:18:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view external returns (string memory)"}},"id":53540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24329:20:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":53537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24323:5:63","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":53536,"name":"bytes","nodeType":"ElementaryTypeName","src":"24323:5:63","typeDescriptions":{}}},"id":53541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24323:27:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53535,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24313:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24313:38:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":53543,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24369:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24375:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"24369:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":53547,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"24408:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":53546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24400:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53545,"name":"address","nodeType":"ElementaryTypeName","src":"24400:7:63","typeDescriptions":{}}},"id":53548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24400:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53524,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24112:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24116:6:63","memberName":"encode","nodeType":"MemberAccess","src":"24112:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24112:321:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53523,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24089:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24089:354:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"24064:379:63"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53553,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"24462:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24473:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"24462:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24462:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53556,"name":"expectedDomain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53522,"src":"24493:14:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":53552,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":890,"src":"24453:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":53557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24453:55:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53558,"nodeType":"ExpressionStatement","src":"24453:55:63"}]},"functionSelector":"942c6c0d","implemented":true,"kind":"function","modifiers":[],"name":"testConstructorAndDomainSeparator","nameLocation":"23951:33:63","parameters":{"id":53507,"nodeType":"ParameterList","parameters":[],"src":"23984:2:63"},"returnParameters":{"id":53508,"nodeType":"ParameterList","parameters":[],"src":"23999:0:63"},"scope":58522,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":53688,"nodeType":"FunctionDefinition","src":"24521:1121:63","nodes":[],"body":{"id":53687,"nodeType":"Block","src":"24594:1048:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":53566,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"24618:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53563,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"24604:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24607:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"24604:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":53567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24604:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53568,"nodeType":"ExpressionStatement","src":"24604:19:63"},{"assignments":[53570],"declarations":[{"constant":false,"id":53570,"mutability":"mutable","name":"intentAddress","nameLocation":"24641:13:63","nodeType":"VariableDeclaration","scope":53687,"src":"24633:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53569,"name":"address","nodeType":"ElementaryTypeName","src":"24633:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":53575,"initialValue":{"arguments":[{"hexValue":"30","id":53573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24665:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24657:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53571,"name":"address","nodeType":"ElementaryTypeName","src":"24657:7:63","typeDescriptions":{}}},"id":53574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24657:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24633:34:63"},{"assignments":[53577],"declarations":[{"constant":false,"id":53577,"mutability":"mutable","name":"amount","nameLocation":"24685:6:63","nodeType":"VariableDeclaration","scope":53687,"src":"24677:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53576,"name":"uint256","nodeType":"ElementaryTypeName","src":"24677:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53585,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":53578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24694:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":53579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24699:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53580,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"24705:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24711:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"24705:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":53582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24705:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"24699:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24694:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24677:44:63"},{"assignments":[53587],"declarations":[{"constant":false,"id":53587,"mutability":"mutable","name":"deadline","nameLocation":"24739:8:63","nodeType":"VariableDeclaration","scope":53687,"src":"24731:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53586,"name":"uint256","nodeType":"ElementaryTypeName","src":"24731:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53592,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53588,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24750:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24756:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"24750:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":53590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24768:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24750:19:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24731:38:63"},{"assignments":[53594],"declarations":[{"constant":false,"id":53594,"mutability":"mutable","name":"nonce","nameLocation":"24787:5:63","nodeType":"VariableDeclaration","scope":53687,"src":"24779:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53593,"name":"uint256","nodeType":"ElementaryTypeName","src":"24779:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53599,"initialValue":{"arguments":[{"id":53597,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"24813:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53595,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"24795:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24806:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"24795:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24795:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24779:39:63"},{"assignments":[53601],"declarations":[{"constant":false,"id":53601,"mutability":"mutable","name":"intentHash","nameLocation":"24837:10:63","nodeType":"VariableDeclaration","scope":53687,"src":"24829:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24829:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53626,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53605,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"24901:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24912:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"24901:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24901:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53608,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"24954:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53611,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"24984:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24976:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53609,"name":"address","nodeType":"ElementaryTypeName","src":"24976:7:63","typeDescriptions":{}}},"id":53612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24976:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53613,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53577,"src":"25008:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53614,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53570,"src":"25032:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53615,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53587,"src":"25063:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":53616,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"25089:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25095:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"25089:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53618,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53594,"src":"25120:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25143:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25183:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25175:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53620,"name":"address","nodeType":"ElementaryTypeName","src":"25175:7:63","typeDescriptions":{}}},"id":53623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25175:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53603,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24873:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24877:6:63","memberName":"encode","nodeType":"MemberAccess","src":"24873:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24873:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53602,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24850:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24850:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"24829:396:63"},{"assignments":[53628],"declarations":[{"constant":false,"id":53628,"mutability":"mutable","name":"digest","nameLocation":"25243:6:63","nodeType":"VariableDeclaration","scope":53687,"src":"25235:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25235:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53639,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":53632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25279:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53633,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"25291:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25302:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"25291:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25291:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53636,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53601,"src":"25322:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53630,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25262:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25266:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"25262:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25262:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53629,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"25252:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25252:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"25235:99:63"},{"assignments":[53641,53643,53645],"declarations":[{"constant":false,"id":53641,"mutability":"mutable","name":"v","nameLocation":"25351:1:63","nodeType":"VariableDeclaration","scope":53687,"src":"25345:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53640,"name":"uint8","nodeType":"ElementaryTypeName","src":"25345:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53643,"mutability":"mutable","name":"r","nameLocation":"25362:1:63","nodeType":"VariableDeclaration","scope":53687,"src":"25354:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25354:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53645,"mutability":"mutable","name":"s","nameLocation":"25373:1:63","nodeType":"VariableDeclaration","scope":53687,"src":"25365:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25365:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53651,"initialValue":{"arguments":[{"id":53648,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"25386:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53649,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53628,"src":"25402:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53646,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"25378:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25381:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"25378:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":53650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25378:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"25344:65:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":53655,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"25436:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":53656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25459:20:63","memberName":"InvalidIntentAddress","nodeType":"MemberAccess","referencedDeclaration":49315,"src":"25436:43:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":53657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25480:8:63","memberName":"selector","nodeType":"MemberAccess","src":"25436:52:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":53652,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"25420:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25423:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"25420:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":53658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25420:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53659,"nodeType":"ExpressionStatement","src":"25420:69:63"},{"expression":{"arguments":[{"id":53663,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"25526:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53666,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"25540:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25532:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53664,"name":"address","nodeType":"ElementaryTypeName","src":"25532:7:63","typeDescriptions":{}}},"id":53667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25532:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53668,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53577,"src":"25548:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53669,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53570,"src":"25556:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53670,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53587,"src":"25571:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53671,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53594,"src":"25581:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25588:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25599:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25591:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53673,"name":"address","nodeType":"ElementaryTypeName","src":"25591:7:63","typeDescriptions":{}}},"id":53676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25591:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53677,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53641,"src":"25603:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53678,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53643,"src":"25606:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53679,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53645,"src":"25609:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53660,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"25499:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25510:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"25499:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":53680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25499:112:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53681,"nodeType":"ExpressionStatement","src":"25499:112:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53682,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"25621:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25624:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"25621:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":53685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25621:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53686,"nodeType":"ExpressionStatement","src":"25621:14:63"}]},"functionSelector":"fa5e8102","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithoutPermit_RequiresIntentAddress","nameLocation":"24530:54:63","parameters":{"id":53561,"nodeType":"ParameterList","parameters":[],"src":"24584:2:63"},"returnParameters":{"id":53562,"nodeType":"ParameterList","parameters":[],"src":"24594:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":53810,"nodeType":"FunctionDefinition","src":"25648:1098:63","nodes":[],"body":{"id":53809,"nodeType":"Block","src":"25707:1039:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":53694,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"25731:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53691,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"25717:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25720:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"25717:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":53695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25717:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53696,"nodeType":"ExpressionStatement","src":"25717:19:63"},{"assignments":[53698],"declarations":[{"constant":false,"id":53698,"mutability":"mutable","name":"intentAddress","nameLocation":"25755:13:63","nodeType":"VariableDeclaration","scope":53809,"src":"25747:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53697,"name":"address","nodeType":"ElementaryTypeName","src":"25747:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":53703,"initialValue":{"arguments":[{"hexValue":"307831323334","id":53701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25779:6:63","typeDescriptions":{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"},"value":"0x1234"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"}],"id":53700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25771:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53699,"name":"address","nodeType":"ElementaryTypeName","src":"25771:7:63","typeDescriptions":{}}},"id":53702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25771:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"25747:39:63"},{"assignments":[53705],"declarations":[{"constant":false,"id":53705,"mutability":"mutable","name":"amount","nameLocation":"25804:6:63","nodeType":"VariableDeclaration","scope":53809,"src":"25796:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53704,"name":"uint256","nodeType":"ElementaryTypeName","src":"25796:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53707,"initialValue":{"hexValue":"30","id":53706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25813:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"25796:18:63"},{"assignments":[53709],"declarations":[{"constant":false,"id":53709,"mutability":"mutable","name":"deadline","nameLocation":"25847:8:63","nodeType":"VariableDeclaration","scope":53809,"src":"25839:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53708,"name":"uint256","nodeType":"ElementaryTypeName","src":"25839:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53714,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53710,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"25858:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25864:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"25858:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":53712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25876:3:63","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"25858:21:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25839:40:63"},{"assignments":[53716],"declarations":[{"constant":false,"id":53716,"mutability":"mutable","name":"nonce","nameLocation":"25897:5:63","nodeType":"VariableDeclaration","scope":53809,"src":"25889:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53715,"name":"uint256","nodeType":"ElementaryTypeName","src":"25889:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53721,"initialValue":{"arguments":[{"id":53719,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"25923:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53717,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"25905:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25916:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"25905:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25905:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25889:39:63"},{"assignments":[53723],"declarations":[{"constant":false,"id":53723,"mutability":"mutable","name":"intentHash","nameLocation":"25947:10:63","nodeType":"VariableDeclaration","scope":53809,"src":"25939:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25939:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53748,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53727,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"26011:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26022:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"26011:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26011:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53730,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"26064:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53733,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"26094:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26086:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53731,"name":"address","nodeType":"ElementaryTypeName","src":"26086:7:63","typeDescriptions":{}}},"id":53734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26086:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53735,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53705,"src":"26118:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53736,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53698,"src":"26142:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53737,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53709,"src":"26173:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":53738,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"26199:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26205:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"26199:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53740,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53716,"src":"26230:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26253:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26293:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26285:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53742,"name":"address","nodeType":"ElementaryTypeName","src":"26285:7:63","typeDescriptions":{}}},"id":53745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26285:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53725,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25983:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25987:6:63","memberName":"encode","nodeType":"MemberAccess","src":"25983:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25983:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53724,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"25960:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25960:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"25939:396:63"},{"assignments":[53750],"declarations":[{"constant":false,"id":53750,"mutability":"mutable","name":"digest","nameLocation":"26353:6:63","nodeType":"VariableDeclaration","scope":53809,"src":"26345:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26345:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53761,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":53754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26389:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53755,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"26401:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26412:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"26401:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26401:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53758,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53723,"src":"26432:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53752,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26372:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26376:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"26372:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26372:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53751,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"26362:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26362:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"26345:99:63"},{"assignments":[53763,53765,53767],"declarations":[{"constant":false,"id":53763,"mutability":"mutable","name":"v","nameLocation":"26461:1:63","nodeType":"VariableDeclaration","scope":53809,"src":"26455:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53762,"name":"uint8","nodeType":"ElementaryTypeName","src":"26455:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53765,"mutability":"mutable","name":"r","nameLocation":"26472:1:63","nodeType":"VariableDeclaration","scope":53809,"src":"26464:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26464:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53767,"mutability":"mutable","name":"s","nameLocation":"26483:1:63","nodeType":"VariableDeclaration","scope":53809,"src":"26475:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26475:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53773,"initialValue":{"arguments":[{"id":53770,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"26496:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53771,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53750,"src":"26512:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53768,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"26488:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26491:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"26488:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":53772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26488:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"26454:65:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":53777,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"26546:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":53778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26569:13:63","memberName":"InvalidAmount","nodeType":"MemberAccess","referencedDeclaration":49311,"src":"26546:36:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":53779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26583:8:63","memberName":"selector","nodeType":"MemberAccess","src":"26546:45:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":53774,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"26530:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26533:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"26530:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":53780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26530:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53781,"nodeType":"ExpressionStatement","src":"26530:62:63"},{"expression":{"arguments":[{"id":53785,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"26629:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53788,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"26643:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26635:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53786,"name":"address","nodeType":"ElementaryTypeName","src":"26635:7:63","typeDescriptions":{}}},"id":53789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26635:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53790,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53705,"src":"26651:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53791,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53698,"src":"26659:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53792,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53709,"src":"26674:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53793,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53716,"src":"26684:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26691:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26702:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26694:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53795,"name":"address","nodeType":"ElementaryTypeName","src":"26694:7:63","typeDescriptions":{}}},"id":53798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26694:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53799,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53763,"src":"26706:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53800,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53765,"src":"26709:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53801,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53767,"src":"26712:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53782,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"26602:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26613:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"26602:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":53802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26602:112:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53803,"nodeType":"ExpressionStatement","src":"26602:112:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53804,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"26725:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26728:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"26725:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":53807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26725:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53808,"nodeType":"ExpressionStatement","src":"26725:14:63"}]},"functionSelector":"6d74fac8","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentRequiresNonZeroAmount","nameLocation":"25657:40:63","parameters":{"id":53689,"nodeType":"ParameterList","parameters":[],"src":"25697:2:63"},"returnParameters":{"id":53690,"nodeType":"ParameterList","parameters":[],"src":"25707:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":53979,"nodeType":"FunctionDefinition","src":"26752:2041:63","nodes":[],"body":{"id":53978,"nodeType":"Block","src":"26821:1972:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":53816,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"26845:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53813,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"26831:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26834:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"26831:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":53817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26831:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53818,"nodeType":"ExpressionStatement","src":"26831:19:63"},{"assignments":[53820],"declarations":[{"constant":false,"id":53820,"mutability":"mutable","name":"intentAddress","nameLocation":"26869:13:63","nodeType":"VariableDeclaration","scope":53978,"src":"26861:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53819,"name":"address","nodeType":"ElementaryTypeName","src":"26861:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":53825,"initialValue":{"arguments":[{"hexValue":"307831323334","id":53823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26893:6:63","typeDescriptions":{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"},"value":"0x1234"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"}],"id":53822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26885:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53821,"name":"address","nodeType":"ElementaryTypeName","src":"26885:7:63","typeDescriptions":{}}},"id":53824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26885:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26861:39:63"},{"assignments":[53827],"declarations":[{"constant":false,"id":53827,"mutability":"mutable","name":"amount","nameLocation":"26918:6:63","nodeType":"VariableDeclaration","scope":53978,"src":"26910:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53826,"name":"uint256","nodeType":"ElementaryTypeName","src":"26910:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53829,"initialValue":{"hexValue":"30","id":53828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26927:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"26910:18:63"},{"assignments":[53831],"declarations":[{"constant":false,"id":53831,"mutability":"mutable","name":"deadline","nameLocation":"26961:8:63","nodeType":"VariableDeclaration","scope":53978,"src":"26953:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53830,"name":"uint256","nodeType":"ElementaryTypeName","src":"26953:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53836,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53832,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"26972:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26978:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"26972:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":53834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26990:3:63","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"26972:21:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26953:40:63"},{"assignments":[53838],"declarations":[{"constant":false,"id":53838,"mutability":"mutable","name":"nonce","nameLocation":"27011:5:63","nodeType":"VariableDeclaration","scope":53978,"src":"27003:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53837,"name":"uint256","nodeType":"ElementaryTypeName","src":"27003:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53843,"initialValue":{"arguments":[{"id":53841,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"27037:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53839,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"27019:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27030:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"27019:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27019:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27003:39:63"},{"assignments":[53845],"declarations":[{"constant":false,"id":53845,"mutability":"mutable","name":"permitHash","nameLocation":"27061:10:63","nodeType":"VariableDeclaration","scope":53978,"src":"27053:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27053:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53874,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":53849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27131:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53850,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"27159:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27165:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"27159:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27159:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":53857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27278:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":53856,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"27268:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27268:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53859,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"27389:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53862,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"27427:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":53861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27419:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53860,"name":"address","nodeType":"ElementaryTypeName","src":"27419:7:63","typeDescriptions":{}}},"id":53863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27419:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53864,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53827,"src":"27464:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":53867,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"27509:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53865,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"27496:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":53866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27502:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"27496:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":53868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27496:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53869,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53831,"src":"27540:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53854,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27232:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27236:6:63","memberName":"encode","nodeType":"MemberAccess","src":"27232:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27232:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53853,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"27201:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27201:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53847,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27097:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27101:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"27097:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27097:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53846,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"27074:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27074:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"27053:559:63"},{"assignments":[53876,53878,53880],"declarations":[{"constant":false,"id":53876,"mutability":"mutable","name":"permitV","nameLocation":"27630:7:63","nodeType":"VariableDeclaration","scope":53978,"src":"27624:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53875,"name":"uint8","nodeType":"ElementaryTypeName","src":"27624:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53878,"mutability":"mutable","name":"permitR","nameLocation":"27647:7:63","nodeType":"VariableDeclaration","scope":53978,"src":"27639:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27639:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53880,"mutability":"mutable","name":"permitS","nameLocation":"27664:7:63","nodeType":"VariableDeclaration","scope":53978,"src":"27656:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27656:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53886,"initialValue":{"arguments":[{"id":53883,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"27683:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53884,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53845,"src":"27699:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53881,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"27675:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27678:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"27675:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":53885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27675:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"27623:87:63"},{"assignments":[53888],"declarations":[{"constant":false,"id":53888,"mutability":"mutable","name":"intentHash","nameLocation":"27729:10:63","nodeType":"VariableDeclaration","scope":53978,"src":"27721:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27721:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53913,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53892,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"27793:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27804:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"27793:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27793:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53895,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"27846:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53898,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"27876:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27868:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53896,"name":"address","nodeType":"ElementaryTypeName","src":"27868:7:63","typeDescriptions":{}}},"id":53899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27868:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53900,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53827,"src":"27900:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53901,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53820,"src":"27924:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53902,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53831,"src":"27955:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":53903,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"27981:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":53904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27987:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"27981:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53905,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53838,"src":"28012:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28035:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28075:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28067:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53907,"name":"address","nodeType":"ElementaryTypeName","src":"28067:7:63","typeDescriptions":{}}},"id":53910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28067:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53890,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27765:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27769:6:63","memberName":"encode","nodeType":"MemberAccess","src":"27765:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27765:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53889,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"27742:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27742:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"27721:396:63"},{"assignments":[53915],"declarations":[{"constant":false,"id":53915,"mutability":"mutable","name":"intentDigest","nameLocation":"28135:12:63","nodeType":"VariableDeclaration","scope":53978,"src":"28127:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28127:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53926,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":53919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28177:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53920,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"28189:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28200:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"28189:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":53922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28189:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53923,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53888,"src":"28220:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53917,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28160:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28164:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"28160:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28160:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53916,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"28150:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":53925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28150:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"28127:105:63"},{"assignments":[53928,53930,53932],"declarations":[{"constant":false,"id":53928,"mutability":"mutable","name":"sigV","nameLocation":"28249:4:63","nodeType":"VariableDeclaration","scope":53978,"src":"28243:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53927,"name":"uint8","nodeType":"ElementaryTypeName","src":"28243:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":53930,"mutability":"mutable","name":"sigR","nameLocation":"28263:4:63","nodeType":"VariableDeclaration","scope":53978,"src":"28255:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28255:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":53932,"mutability":"mutable","name":"sigS","nameLocation":"28277:4:63","nodeType":"VariableDeclaration","scope":53978,"src":"28269:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28269:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53938,"initialValue":{"arguments":[{"id":53935,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"28293:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53936,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53915,"src":"28309:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53933,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"28285:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28288:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"28285:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":53937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28285:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"28242:80:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":53942,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"28349:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":53943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28372:13:63","memberName":"InvalidAmount","nodeType":"MemberAccess","referencedDeclaration":49311,"src":"28349:36:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":53944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28386:8:63","memberName":"selector","nodeType":"MemberAccess","src":"28349:45:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":53939,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"28333:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28336:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"28333:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":53945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28333:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53946,"nodeType":"ExpressionStatement","src":"28333:62:63"},{"expression":{"arguments":[{"id":53950,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"28455:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53953,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"28481:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":53952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28473:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53951,"name":"address","nodeType":"ElementaryTypeName","src":"28473:7:63","typeDescriptions":{}}},"id":53954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28473:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53955,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53827,"src":"28501:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53956,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53827,"src":"28521:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53957,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53820,"src":"28541:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53958,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53831,"src":"28568:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53959,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53838,"src":"28590:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28609:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":53963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28632:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28624:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53961,"name":"address","nodeType":"ElementaryTypeName","src":"28624:7:63","typeDescriptions":{}}},"id":53964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28624:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53965,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53876,"src":"28648:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53966,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53878,"src":"28669:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53967,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53880,"src":"28690:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53968,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53928,"src":"28711:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":53969,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53930,"src":"28729:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":53970,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53932,"src":"28747:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53947,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"28405:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":53949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28416:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"28405:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":53971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28405:356:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53972,"nodeType":"ExpressionStatement","src":"28405:356:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53973,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"28772:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28775:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"28772:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":53976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28772:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53977,"nodeType":"ExpressionStatement","src":"28772:14:63"}]},"functionSelector":"ac315011","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitRequiresNonZeroAmount","nameLocation":"26761:50:63","parameters":{"id":53811,"nodeType":"ParameterList","parameters":[],"src":"26811:2:63"},"returnParameters":{"id":53812,"nodeType":"ParameterList","parameters":[],"src":"26821:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":54107,"nodeType":"FunctionDefinition","src":"28799:1097:63","nodes":[],"body":{"id":54106,"nodeType":"Block","src":"28855:1041:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":53985,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"28879:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53982,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"28865:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":53984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28868:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"28865:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":53986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28865:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53987,"nodeType":"ExpressionStatement","src":"28865:19:63"},{"assignments":[53989],"declarations":[{"constant":false,"id":53989,"mutability":"mutable","name":"intentAddress","nameLocation":"28903:13:63","nodeType":"VariableDeclaration","scope":54106,"src":"28895:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53988,"name":"address","nodeType":"ElementaryTypeName","src":"28895:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":53994,"initialValue":{"arguments":[{"hexValue":"307831323334","id":53992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28927:6:63","typeDescriptions":{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"},"value":"0x1234"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"}],"id":53991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28919:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53990,"name":"address","nodeType":"ElementaryTypeName","src":"28919:7:63","typeDescriptions":{}}},"id":53993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28919:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"28895:39:63"},{"assignments":[53996],"declarations":[{"constant":false,"id":53996,"mutability":"mutable","name":"amount","nameLocation":"28952:6:63","nodeType":"VariableDeclaration","scope":54106,"src":"28944:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53995,"name":"uint256","nodeType":"ElementaryTypeName","src":"28944:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54004,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":53997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28961:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":53998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28966:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53999,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"28972:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28978:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"28972:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":54001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28972:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"28966:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28961:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28944:44:63"},{"assignments":[54006],"declarations":[{"constant":false,"id":54006,"mutability":"mutable","name":"deadline","nameLocation":"29006:8:63","nodeType":"VariableDeclaration","scope":54106,"src":"28998:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54005,"name":"uint256","nodeType":"ElementaryTypeName","src":"28998:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54011,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54007,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"29017:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29023:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"29017:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":54009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29035:3:63","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"29017:21:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28998:40:63"},{"assignments":[54013],"declarations":[{"constant":false,"id":54013,"mutability":"mutable","name":"nonce","nameLocation":"29056:5:63","nodeType":"VariableDeclaration","scope":54106,"src":"29048:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54012,"name":"uint256","nodeType":"ElementaryTypeName","src":"29048:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54018,"initialValue":{"arguments":[{"id":54016,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"29082:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54014,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"29064:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29075:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"29064:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":54017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29064:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29048:39:63"},{"assignments":[54020],"declarations":[{"constant":false,"id":54020,"mutability":"mutable","name":"intentHash","nameLocation":"29106:10:63","nodeType":"VariableDeclaration","scope":54106,"src":"29098:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29098:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54045,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54024,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"29170:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29181:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"29170:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29170:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54027,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"29223:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":54030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29253:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29245:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54028,"name":"address","nodeType":"ElementaryTypeName","src":"29245:7:63","typeDescriptions":{}}},"id":54031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29245:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54032,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53996,"src":"29273:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54033,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53989,"src":"29297:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54034,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54006,"src":"29328:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":54035,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"29354:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29360:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"29354:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54037,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54013,"src":"29385:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29408:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29448:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29440:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54039,"name":"address","nodeType":"ElementaryTypeName","src":"29440:7:63","typeDescriptions":{}}},"id":54042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29440:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29142:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29146:6:63","memberName":"encode","nodeType":"MemberAccess","src":"29142:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29142:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54021,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"29119:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29119:371:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"29098:392:63"},{"assignments":[54047],"declarations":[{"constant":false,"id":54047,"mutability":"mutable","name":"digest","nameLocation":"29508:6:63","nodeType":"VariableDeclaration","scope":54106,"src":"29500:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54046,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29500:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54058,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":54051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29544:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54052,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"29556:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29567:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"29556:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29556:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54055,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54020,"src":"29587:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54049,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29527:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29531:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"29527:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29527:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54048,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"29517:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29517:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"29500:99:63"},{"assignments":[54060,54062,54064],"declarations":[{"constant":false,"id":54060,"mutability":"mutable","name":"v","nameLocation":"29616:1:63","nodeType":"VariableDeclaration","scope":54106,"src":"29610:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54059,"name":"uint8","nodeType":"ElementaryTypeName","src":"29610:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54062,"mutability":"mutable","name":"r","nameLocation":"29627:1:63","nodeType":"VariableDeclaration","scope":54106,"src":"29619:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54061,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29619:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54064,"mutability":"mutable","name":"s","nameLocation":"29638:1:63","nodeType":"VariableDeclaration","scope":54106,"src":"29630:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29630:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54070,"initialValue":{"arguments":[{"id":54067,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"29651:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54068,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54047,"src":"29667:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54065,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"29643:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29646:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"29643:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":54069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29643:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"29609:65:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":54074,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"29701:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":54075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29724:12:63","memberName":"InvalidToken","nodeType":"MemberAccess","referencedDeclaration":49313,"src":"29701:35:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":54076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29737:8:63","memberName":"selector","nodeType":"MemberAccess","src":"29701:44:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":54071,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"29685:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29688:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"29685:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":54077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29685:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54078,"nodeType":"ExpressionStatement","src":"29685:61:63"},{"expression":{"arguments":[{"id":54082,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"29783:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":54085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29797:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29789:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54083,"name":"address","nodeType":"ElementaryTypeName","src":"29789:7:63","typeDescriptions":{}}},"id":54086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29789:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54087,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53996,"src":"29801:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54088,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53989,"src":"29809:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54089,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54006,"src":"29824:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54090,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54013,"src":"29834:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29841:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29852:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29844:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54092,"name":"address","nodeType":"ElementaryTypeName","src":"29844:7:63","typeDescriptions":{}}},"id":54095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29844:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54096,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54060,"src":"29856:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54097,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54062,"src":"29859:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54098,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54064,"src":"29862:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54079,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"29756:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29767:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"29756:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":54099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29756:108:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54100,"nodeType":"ExpressionStatement","src":"29756:108:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54101,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"29875:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29878:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"29875:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":54104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29875:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54105,"nodeType":"ExpressionStatement","src":"29875:14:63"}]},"functionSelector":"8db1cdf8","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentRequiresValidToken","nameLocation":"28808:37:63","parameters":{"id":53980,"nodeType":"ParameterList","parameters":[],"src":"28845:2:63"},"returnParameters":{"id":53981,"nodeType":"ParameterList","parameters":[],"src":"28855:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":54282,"nodeType":"FunctionDefinition","src":"29902:2040:63","nodes":[],"body":{"id":54281,"nodeType":"Block","src":"29968:1974:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":54113,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"29992:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54110,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"29978:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29981:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"29978:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":54114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29978:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54115,"nodeType":"ExpressionStatement","src":"29978:19:63"},{"assignments":[54117],"declarations":[{"constant":false,"id":54117,"mutability":"mutable","name":"intentAddress","nameLocation":"30016:13:63","nodeType":"VariableDeclaration","scope":54281,"src":"30008:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54116,"name":"address","nodeType":"ElementaryTypeName","src":"30008:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":54122,"initialValue":{"arguments":[{"hexValue":"307831323334","id":54120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30040:6:63","typeDescriptions":{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"},"value":"0x1234"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"}],"id":54119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30032:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54118,"name":"address","nodeType":"ElementaryTypeName","src":"30032:7:63","typeDescriptions":{}}},"id":54121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30032:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"30008:39:63"},{"assignments":[54124],"declarations":[{"constant":false,"id":54124,"mutability":"mutable","name":"amount","nameLocation":"30065:6:63","nodeType":"VariableDeclaration","scope":54281,"src":"30057:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54123,"name":"uint256","nodeType":"ElementaryTypeName","src":"30057:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54132,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":54125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30074:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":54126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30079:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54127,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"30085:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30091:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"30085:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":54129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30085:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"30079:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30074:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30057:44:63"},{"assignments":[54134],"declarations":[{"constant":false,"id":54134,"mutability":"mutable","name":"deadline","nameLocation":"30119:8:63","nodeType":"VariableDeclaration","scope":54281,"src":"30111:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54133,"name":"uint256","nodeType":"ElementaryTypeName","src":"30111:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54139,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54135,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"30130:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30136:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"30130:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":54137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30148:3:63","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"30130:21:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30111:40:63"},{"assignments":[54141],"declarations":[{"constant":false,"id":54141,"mutability":"mutable","name":"nonce","nameLocation":"30169:5:63","nodeType":"VariableDeclaration","scope":54281,"src":"30161:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54140,"name":"uint256","nodeType":"ElementaryTypeName","src":"30161:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54146,"initialValue":{"arguments":[{"id":54144,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"30195:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54142,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"30177:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30188:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"30177:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":54145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30177:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30161:39:63"},{"assignments":[54148],"declarations":[{"constant":false,"id":54148,"mutability":"mutable","name":"permitHash","nameLocation":"30219:10:63","nodeType":"VariableDeclaration","scope":54281,"src":"30211:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30211:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54177,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":54152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30289:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54153,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"30317:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30323:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"30317:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30317:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":54160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30436:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":54159,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"30426:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30426:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54162,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"30547:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54165,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"30585:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":54164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30577:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54163,"name":"address","nodeType":"ElementaryTypeName","src":"30577:7:63","typeDescriptions":{}}},"id":54166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30577:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54167,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54124,"src":"30622:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":54170,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"30667:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54168,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"30654:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30660:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"30654:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":54171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30654:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54172,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54134,"src":"30698:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54157,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30390:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30394:6:63","memberName":"encode","nodeType":"MemberAccess","src":"30390:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30390:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54156,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"30359:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30359:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54150,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30255:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30259:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"30255:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30255:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54149,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"30232:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30232:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"30211:559:63"},{"assignments":[54179,54181,54183],"declarations":[{"constant":false,"id":54179,"mutability":"mutable","name":"permitV","nameLocation":"30788:7:63","nodeType":"VariableDeclaration","scope":54281,"src":"30782:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54178,"name":"uint8","nodeType":"ElementaryTypeName","src":"30782:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54181,"mutability":"mutable","name":"permitR","nameLocation":"30805:7:63","nodeType":"VariableDeclaration","scope":54281,"src":"30797:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54180,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30797:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54183,"mutability":"mutable","name":"permitS","nameLocation":"30822:7:63","nodeType":"VariableDeclaration","scope":54281,"src":"30814:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30814:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54189,"initialValue":{"arguments":[{"id":54186,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"30841:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54187,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54148,"src":"30857:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"30833:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30836:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"30833:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":54188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30833:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"30781:87:63"},{"assignments":[54191],"declarations":[{"constant":false,"id":54191,"mutability":"mutable","name":"intentHash","nameLocation":"30887:10:63","nodeType":"VariableDeclaration","scope":54281,"src":"30879:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30879:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54216,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54195,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"30951:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30962:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"30951:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30951:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54198,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"31004:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":54201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31034:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31026:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54199,"name":"address","nodeType":"ElementaryTypeName","src":"31026:7:63","typeDescriptions":{}}},"id":54202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31026:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54203,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54124,"src":"31054:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54204,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54117,"src":"31078:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54205,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54134,"src":"31109:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":54206,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"31135:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31141:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"31135:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54208,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54141,"src":"31166:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31189:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31229:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31221:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54210,"name":"address","nodeType":"ElementaryTypeName","src":"31221:7:63","typeDescriptions":{}}},"id":54213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31221:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54193,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30923:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30927:6:63","memberName":"encode","nodeType":"MemberAccess","src":"30923:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30923:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54192,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"30900:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30900:371:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"30879:392:63"},{"assignments":[54218],"declarations":[{"constant":false,"id":54218,"mutability":"mutable","name":"intentDigest","nameLocation":"31289:12:63","nodeType":"VariableDeclaration","scope":54281,"src":"31281:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31281:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54229,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":54222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31331:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54223,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"31343:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31354:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"31343:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31343:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54226,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54191,"src":"31374:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54220,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31314:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31318:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"31314:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31314:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54219,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"31304:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31304:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"31281:105:63"},{"assignments":[54231,54233,54235],"declarations":[{"constant":false,"id":54231,"mutability":"mutable","name":"sigV","nameLocation":"31403:4:63","nodeType":"VariableDeclaration","scope":54281,"src":"31397:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54230,"name":"uint8","nodeType":"ElementaryTypeName","src":"31397:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54233,"mutability":"mutable","name":"sigR","nameLocation":"31417:4:63","nodeType":"VariableDeclaration","scope":54281,"src":"31409:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31409:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54235,"mutability":"mutable","name":"sigS","nameLocation":"31431:4:63","nodeType":"VariableDeclaration","scope":54281,"src":"31423:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31423:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54241,"initialValue":{"arguments":[{"id":54238,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"31447:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54239,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54218,"src":"31463:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54236,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"31439:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31442:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"31439:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":54240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31439:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"31396:80:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":54245,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"31503:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":54246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31526:12:63","memberName":"InvalidToken","nodeType":"MemberAccess","referencedDeclaration":49313,"src":"31503:35:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":54247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31539:8:63","memberName":"selector","nodeType":"MemberAccess","src":"31503:44:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":54242,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"31487:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31490:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"31487:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":54248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31487:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54249,"nodeType":"ExpressionStatement","src":"31487:61:63"},{"expression":{"arguments":[{"id":54253,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"31608:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":54256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31634:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31626:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54254,"name":"address","nodeType":"ElementaryTypeName","src":"31626:7:63","typeDescriptions":{}}},"id":54257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31626:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54258,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54124,"src":"31650:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54259,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54124,"src":"31670:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54260,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54117,"src":"31690:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54261,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54134,"src":"31717:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54262,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54141,"src":"31739:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31758:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31781:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31773:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54264,"name":"address","nodeType":"ElementaryTypeName","src":"31773:7:63","typeDescriptions":{}}},"id":54267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31773:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54268,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54179,"src":"31797:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54269,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54181,"src":"31818:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54270,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54183,"src":"31839:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54271,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54231,"src":"31860:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54272,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54233,"src":"31878:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54273,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54235,"src":"31896:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54250,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"31558:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31569:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"31558:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":54274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31558:352:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54275,"nodeType":"ExpressionStatement","src":"31558:352:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54276,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"31921:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31924:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"31921:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":54279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31921:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54280,"nodeType":"ExpressionStatement","src":"31921:14:63"}]},"functionSelector":"9eed73d6","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitRequiresValidToken","nameLocation":"29911:47:63","parameters":{"id":54108,"nodeType":"ParameterList","parameters":[],"src":"29958:2:63"},"returnParameters":{"id":54109,"nodeType":"ParameterList","parameters":[],"src":"29968:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":54420,"nodeType":"FunctionDefinition","src":"31948:1173:63","nodes":[],"body":{"id":54419,"nodeType":"Block","src":"32001:1120:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":54288,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"32025:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54285,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"32011:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32014:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"32011:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":54289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32011:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54290,"nodeType":"ExpressionStatement","src":"32011:19:63"},{"assignments":[54292],"declarations":[{"constant":false,"id":54292,"mutability":"mutable","name":"intentAddress","nameLocation":"32049:13:63","nodeType":"VariableDeclaration","scope":54419,"src":"32041:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54291,"name":"address","nodeType":"ElementaryTypeName","src":"32041:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":54297,"initialValue":{"arguments":[{"hexValue":"307835363738","id":54295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32073:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":54294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32065:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54293,"name":"address","nodeType":"ElementaryTypeName","src":"32065:7:63","typeDescriptions":{}}},"id":54296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32065:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"32041:39:63"},{"assignments":[54299],"declarations":[{"constant":false,"id":54299,"mutability":"mutable","name":"amount","nameLocation":"32098:6:63","nodeType":"VariableDeclaration","scope":54419,"src":"32090:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54298,"name":"uint256","nodeType":"ElementaryTypeName","src":"32090:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54307,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":54300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32107:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":54301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32112:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54302,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"32118:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32124:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"32118:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":54304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32118:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"32112:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32107:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32090:44:63"},{"assignments":[54309],"declarations":[{"constant":false,"id":54309,"mutability":"mutable","name":"deadline","nameLocation":"32152:8:63","nodeType":"VariableDeclaration","scope":54419,"src":"32144:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54308,"name":"uint256","nodeType":"ElementaryTypeName","src":"32144:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54314,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54310,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32163:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32169:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"32163:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":54312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32181:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"32163:19:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32144:38:63"},{"assignments":[54316],"declarations":[{"constant":false,"id":54316,"mutability":"mutable","name":"nonce","nameLocation":"32219:5:63","nodeType":"VariableDeclaration","scope":54419,"src":"32211:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54315,"name":"uint256","nodeType":"ElementaryTypeName","src":"32211:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54321,"initialValue":{"arguments":[{"id":54319,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"32245:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54317,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"32227:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32238:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"32227:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":54320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32227:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32211:39:63"},{"assignments":[54323],"declarations":[{"constant":false,"id":54323,"mutability":"mutable","name":"intentHash","nameLocation":"32269:10:63","nodeType":"VariableDeclaration","scope":54419,"src":"32261:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32261:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54348,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54327,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"32333:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32344:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"32333:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32333:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54330,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"32386:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54333,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"32416:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32408:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54331,"name":"address","nodeType":"ElementaryTypeName","src":"32408:7:63","typeDescriptions":{}}},"id":54334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32408:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54335,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54299,"src":"32440:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54336,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54292,"src":"32464:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54337,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54309,"src":"32495:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":54338,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32521:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32527:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"32521:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54340,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54316,"src":"32552:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32575:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32615:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32607:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54342,"name":"address","nodeType":"ElementaryTypeName","src":"32607:7:63","typeDescriptions":{}}},"id":54345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32607:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54325,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32305:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32309:6:63","memberName":"encode","nodeType":"MemberAccess","src":"32305:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32305:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54324,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"32282:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32282:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"32261:396:63"},{"assignments":[54350],"declarations":[{"constant":false,"id":54350,"mutability":"mutable","name":"digest","nameLocation":"32675:6:63","nodeType":"VariableDeclaration","scope":54419,"src":"32667:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32667:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54361,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":54354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32711:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54355,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"32723:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32734:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"32723:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32723:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54358,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54323,"src":"32754:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54352,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32694:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32698:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"32694:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32694:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54351,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"32684:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32684:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"32667:99:63"},{"assignments":[54363,54365,54367],"declarations":[{"constant":false,"id":54363,"mutability":"mutable","name":"v","nameLocation":"32783:1:63","nodeType":"VariableDeclaration","scope":54419,"src":"32777:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54362,"name":"uint8","nodeType":"ElementaryTypeName","src":"32777:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54365,"mutability":"mutable","name":"r","nameLocation":"32794:1:63","nodeType":"VariableDeclaration","scope":54419,"src":"32786:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32786:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54367,"mutability":"mutable","name":"s","nameLocation":"32805:1:63","nodeType":"VariableDeclaration","scope":54419,"src":"32797:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54366,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32797:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54373,"initialValue":{"arguments":[{"id":54370,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"32818:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54371,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54350,"src":"32834:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54368,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"32810:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32813:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"32810:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":54372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32810:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"32776:65:63"},{"expression":{"arguments":[{"arguments":[{"id":54379,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"32874:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":54378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32866:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54377,"name":"address","nodeType":"ElementaryTypeName","src":"32866:7:63","typeDescriptions":{}}},"id":54380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32866:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54381,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54299,"src":"32887:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54374,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"32852:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32858:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"32852:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":54382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32852:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54383,"nodeType":"ExpressionStatement","src":"32852:42:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":54387,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"32921:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":54388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32944:13:63","memberName":"IntentExpired","nodeType":"MemberAccess","referencedDeclaration":49317,"src":"32921:36:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":54389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32958:8:63","memberName":"selector","nodeType":"MemberAccess","src":"32921:45:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":54384,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"32905:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32908:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"32905:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":54390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32905:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54391,"nodeType":"ExpressionStatement","src":"32905:62:63"},{"expression":{"arguments":[{"id":54395,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"33004:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54398,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"33018:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33010:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54396,"name":"address","nodeType":"ElementaryTypeName","src":"33010:7:63","typeDescriptions":{}}},"id":54399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33010:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54400,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54299,"src":"33026:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54401,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54292,"src":"33034:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54402,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54309,"src":"33049:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54403,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54316,"src":"33059:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33066:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33077:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33069:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54405,"name":"address","nodeType":"ElementaryTypeName","src":"33069:7:63","typeDescriptions":{}}},"id":54408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33069:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54409,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54363,"src":"33081:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54410,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54365,"src":"33084:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54411,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54367,"src":"33087:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54392,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"32977:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32988:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"32977:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":54412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32977:112:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54413,"nodeType":"ExpressionStatement","src":"32977:112:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54414,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"33100:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33103:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"33100:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":54417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33100:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54418,"nodeType":"ExpressionStatement","src":"33100:14:63"}]},"functionSelector":"b320b495","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentExpiredDeadline","nameLocation":"31957:34:63","parameters":{"id":54283,"nodeType":"ParameterList","parameters":[],"src":"31991:2:63"},"returnParameters":{"id":54284,"nodeType":"ParameterList","parameters":[],"src":"32001:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":54562,"nodeType":"FunctionDefinition","src":"33127:1261:63","nodes":[],"body":{"id":54561,"nodeType":"Block","src":"33176:1212:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":54426,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"33200:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54423,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"33186:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33189:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"33186:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":54427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33186:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54428,"nodeType":"ExpressionStatement","src":"33186:19:63"},{"assignments":[54430],"declarations":[{"constant":false,"id":54430,"mutability":"mutable","name":"intentAddress","nameLocation":"33224:13:63","nodeType":"VariableDeclaration","scope":54561,"src":"33216:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54429,"name":"address","nodeType":"ElementaryTypeName","src":"33216:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":54435,"initialValue":{"arguments":[{"hexValue":"307835363738","id":54433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33248:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":54432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33240:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54431,"name":"address","nodeType":"ElementaryTypeName","src":"33240:7:63","typeDescriptions":{}}},"id":54434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33240:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"33216:39:63"},{"assignments":[54437],"declarations":[{"constant":false,"id":54437,"mutability":"mutable","name":"amount","nameLocation":"33273:6:63","nodeType":"VariableDeclaration","scope":54561,"src":"33265:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54436,"name":"uint256","nodeType":"ElementaryTypeName","src":"33265:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54445,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":54438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33282:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":54439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33287:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54440,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"33293:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33299:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"33293:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":54442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33293:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"33287:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33282:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33265:44:63"},{"assignments":[54447],"declarations":[{"constant":false,"id":54447,"mutability":"mutable","name":"deadline","nameLocation":"33327:8:63","nodeType":"VariableDeclaration","scope":54561,"src":"33319:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54446,"name":"uint256","nodeType":"ElementaryTypeName","src":"33319:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54452,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54448,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"33338:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33344:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"33338:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":54450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33356:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"33338:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33319:41:63"},{"assignments":[54454],"declarations":[{"constant":false,"id":54454,"mutability":"mutable","name":"nonce","nameLocation":"33378:5:63","nodeType":"VariableDeclaration","scope":54561,"src":"33370:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54453,"name":"uint256","nodeType":"ElementaryTypeName","src":"33370:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54459,"initialValue":{"arguments":[{"id":54457,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"33404:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54455,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"33386:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33397:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"33386:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":54458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33386:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33370:39:63"},{"assignments":[54461],"declarations":[{"constant":false,"id":54461,"mutability":"mutable","name":"wrongPrivateKey","nameLocation":"33478:15:63","nodeType":"VariableDeclaration","scope":54561,"src":"33470:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54460,"name":"uint256","nodeType":"ElementaryTypeName","src":"33470:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54463,"initialValue":{"hexValue":"3078393837363534333231","id":54462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33496:11:63","typeDescriptions":{"typeIdentifier":"t_rational_40926266145_by_1","typeString":"int_const 40926266145"},"value":"0x987654321"},"nodeType":"VariableDeclarationStatement","src":"33470:37:63"},{"assignments":[54465],"declarations":[{"constant":false,"id":54465,"mutability":"mutable","name":"intentHash","nameLocation":"33526:10:63","nodeType":"VariableDeclaration","scope":54561,"src":"33518:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33518:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54490,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54469,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"33590:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33601:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"33590:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33590:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54472,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"33643:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54475,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"33673:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33665:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54473,"name":"address","nodeType":"ElementaryTypeName","src":"33665:7:63","typeDescriptions":{}}},"id":54476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33665:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54477,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54437,"src":"33697:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54478,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54430,"src":"33721:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54479,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54447,"src":"33752:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":54480,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"33778:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33784:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"33778:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54482,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54454,"src":"33809:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33832:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33872:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33864:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54484,"name":"address","nodeType":"ElementaryTypeName","src":"33864:7:63","typeDescriptions":{}}},"id":54487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33864:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54467,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33562:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33566:6:63","memberName":"encode","nodeType":"MemberAccess","src":"33562:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33562:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54466,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"33539:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33539:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"33518:396:63"},{"assignments":[54492],"declarations":[{"constant":false,"id":54492,"mutability":"mutable","name":"digest","nameLocation":"33932:6:63","nodeType":"VariableDeclaration","scope":54561,"src":"33924:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33924:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54503,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":54496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33968:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54497,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"33980:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33991:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"33980:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33980:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54500,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54465,"src":"34011:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54494,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33951:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33955:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"33951:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33951:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54493,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"33941:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33941:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"33924:99:63"},{"assignments":[54505,54507,54509],"declarations":[{"constant":false,"id":54505,"mutability":"mutable","name":"v","nameLocation":"34040:1:63","nodeType":"VariableDeclaration","scope":54561,"src":"34034:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54504,"name":"uint8","nodeType":"ElementaryTypeName","src":"34034:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54507,"mutability":"mutable","name":"r","nameLocation":"34051:1:63","nodeType":"VariableDeclaration","scope":54561,"src":"34043:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34043:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54509,"mutability":"mutable","name":"s","nameLocation":"34062:1:63","nodeType":"VariableDeclaration","scope":54561,"src":"34054:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34054:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54515,"initialValue":{"arguments":[{"id":54512,"name":"wrongPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54461,"src":"34075:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54513,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54492,"src":"34092:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54510,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"34067:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34070:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"34067:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":54514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34067:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"34033:66:63"},{"expression":{"arguments":[{"arguments":[{"id":54521,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"34132:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":54520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34124:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54519,"name":"address","nodeType":"ElementaryTypeName","src":"34124:7:63","typeDescriptions":{}}},"id":54522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34124:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54523,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54437,"src":"34145:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54516,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"34110:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34116:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"34110:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":54524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34110:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54525,"nodeType":"ExpressionStatement","src":"34110:42:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":54529,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"34179:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":54530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34202:22:63","memberName":"InvalidIntentSignature","nodeType":"MemberAccess","referencedDeclaration":49319,"src":"34179:45:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":54531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34225:8:63","memberName":"selector","nodeType":"MemberAccess","src":"34179:54:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":54526,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"34163:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34166:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"34163:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":54532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34163:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54533,"nodeType":"ExpressionStatement","src":"34163:71:63"},{"expression":{"arguments":[{"id":54537,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"34271:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54540,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"34285:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34277:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54538,"name":"address","nodeType":"ElementaryTypeName","src":"34277:7:63","typeDescriptions":{}}},"id":54541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34277:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54542,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54437,"src":"34293:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54543,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54430,"src":"34301:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54544,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54447,"src":"34316:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54545,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54454,"src":"34326:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34333:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34344:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34336:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54547,"name":"address","nodeType":"ElementaryTypeName","src":"34336:7:63","typeDescriptions":{}}},"id":54550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34336:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54551,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54505,"src":"34348:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54552,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54507,"src":"34351:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54553,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54509,"src":"34354:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54534,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"34244:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34255:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"34244:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":54554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34244:112:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54555,"nodeType":"ExpressionStatement","src":"34244:112:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54556,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"34367:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34370:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"34367:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":54559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34367:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54560,"nodeType":"ExpressionStatement","src":"34367:14:63"}]},"functionSelector":"22b7bf5e","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWrongSigner","nameLocation":"33136:30:63","parameters":{"id":54421,"nodeType":"ParameterList","parameters":[],"src":"33166:2:63"},"returnParameters":{"id":54422,"nodeType":"ParameterList","parameters":[],"src":"33176:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":54724,"nodeType":"FunctionDefinition","src":"34394:1418:63","nodes":[],"body":{"id":54723,"nodeType":"Block","src":"34443:1369:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":54568,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"34467:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54565,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"34453:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34456:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"34453:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":54569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34453:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54570,"nodeType":"ExpressionStatement","src":"34453:19:63"},{"assignments":[54572],"declarations":[{"constant":false,"id":54572,"mutability":"mutable","name":"intentAddress","nameLocation":"34491:13:63","nodeType":"VariableDeclaration","scope":54723,"src":"34483:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54571,"name":"address","nodeType":"ElementaryTypeName","src":"34483:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":54577,"initialValue":{"arguments":[{"hexValue":"307835363738","id":54575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34515:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":54574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34507:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54573,"name":"address","nodeType":"ElementaryTypeName","src":"34507:7:63","typeDescriptions":{}}},"id":54576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34507:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"34483:39:63"},{"assignments":[54579],"declarations":[{"constant":false,"id":54579,"mutability":"mutable","name":"amount","nameLocation":"34540:6:63","nodeType":"VariableDeclaration","scope":54723,"src":"34532:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54578,"name":"uint256","nodeType":"ElementaryTypeName","src":"34532:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54587,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":54580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34549:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":54581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34554:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54582,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"34560:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34566:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"34560:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":54584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34560:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"34554:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34549:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34532:44:63"},{"assignments":[54589],"declarations":[{"constant":false,"id":54589,"mutability":"mutable","name":"deadline","nameLocation":"34594:8:63","nodeType":"VariableDeclaration","scope":54723,"src":"34586:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54588,"name":"uint256","nodeType":"ElementaryTypeName","src":"34586:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54594,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54590,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"34605:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34611:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"34605:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":54592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34623:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"34605:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34586:41:63"},{"assignments":[54596],"declarations":[{"constant":false,"id":54596,"mutability":"mutable","name":"nonce","nameLocation":"34645:5:63","nodeType":"VariableDeclaration","scope":54723,"src":"34637:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54595,"name":"uint256","nodeType":"ElementaryTypeName","src":"34637:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54601,"initialValue":{"arguments":[{"id":54599,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"34671:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54597,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"34653:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34664:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"34653:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":54600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34653:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34637:39:63"},{"assignments":[54603],"declarations":[{"constant":false,"id":54603,"mutability":"mutable","name":"intentHash","nameLocation":"34695:10:63","nodeType":"VariableDeclaration","scope":54723,"src":"34687:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34687:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54628,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54607,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"34759:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34770:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"34759:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34759:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54610,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"34812:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54613,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"34842:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34834:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54611,"name":"address","nodeType":"ElementaryTypeName","src":"34834:7:63","typeDescriptions":{}}},"id":54614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34834:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54615,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54579,"src":"34866:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54616,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54572,"src":"34890:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54617,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54589,"src":"34921:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":54618,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"34947:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34953:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"34947:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54620,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54596,"src":"34978:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35001:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35041:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35033:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54622,"name":"address","nodeType":"ElementaryTypeName","src":"35033:7:63","typeDescriptions":{}}},"id":54625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35033:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54605,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34731:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34735:6:63","memberName":"encode","nodeType":"MemberAccess","src":"34731:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34731:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54604,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"34708:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34708:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"34687:396:63"},{"assignments":[54630],"declarations":[{"constant":false,"id":54630,"mutability":"mutable","name":"digest","nameLocation":"35101:6:63","nodeType":"VariableDeclaration","scope":54723,"src":"35093:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35093:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54641,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":54634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35137:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54635,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"35149:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35160:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"35149:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35149:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54638,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54603,"src":"35180:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54632,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35120:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35124:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"35120:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35120:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54631,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"35110:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35110:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"35093:99:63"},{"assignments":[54643,54645,54647],"declarations":[{"constant":false,"id":54643,"mutability":"mutable","name":"v","nameLocation":"35209:1:63","nodeType":"VariableDeclaration","scope":54723,"src":"35203:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54642,"name":"uint8","nodeType":"ElementaryTypeName","src":"35203:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54645,"mutability":"mutable","name":"r","nameLocation":"35220:1:63","nodeType":"VariableDeclaration","scope":54723,"src":"35212:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35212:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54647,"mutability":"mutable","name":"s","nameLocation":"35231:1:63","nodeType":"VariableDeclaration","scope":54723,"src":"35223:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35223:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54653,"initialValue":{"arguments":[{"id":54650,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"35244:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54651,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54630,"src":"35260:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54648,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"35236:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35239:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"35236:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":54652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35236:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"35202:65:63"},{"expression":{"arguments":[{"arguments":[{"id":54659,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"35300:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":54658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35292:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54657,"name":"address","nodeType":"ElementaryTypeName","src":"35292:7:63","typeDescriptions":{}}},"id":54660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35292:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54661,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54579,"src":"35313:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":54662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35322:1:63","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"35313:10:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54654,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"35278:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35284:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"35278:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":54664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35278:46:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54665,"nodeType":"ExpressionStatement","src":"35278:46:63"},{"expression":{"arguments":[{"id":54669,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"35425:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54672,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"35439:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35431:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54670,"name":"address","nodeType":"ElementaryTypeName","src":"35431:7:63","typeDescriptions":{}}},"id":54673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35431:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54674,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54579,"src":"35447:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54675,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54572,"src":"35455:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54676,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54589,"src":"35470:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54677,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54596,"src":"35480:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35487:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35498:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35490:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54679,"name":"address","nodeType":"ElementaryTypeName","src":"35490:7:63","typeDescriptions":{}}},"id":54682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35490:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54683,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54643,"src":"35502:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54684,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54645,"src":"35505:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54685,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54647,"src":"35508:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54666,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"35398:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35409:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"35398:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":54686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35398:112:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54687,"nodeType":"ExpressionStatement","src":"35398:112:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":54691,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"35613:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":54692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35636:12:63","memberName":"InvalidNonce","nodeType":"MemberAccess","referencedDeclaration":49321,"src":"35613:35:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":54693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35649:8:63","memberName":"selector","nodeType":"MemberAccess","src":"35613:44:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":54688,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"35597:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35600:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"35597:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":54694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35597:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54695,"nodeType":"ExpressionStatement","src":"35597:61:63"},{"expression":{"arguments":[{"id":54699,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"35695:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54702,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"35709:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35701:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54700,"name":"address","nodeType":"ElementaryTypeName","src":"35701:7:63","typeDescriptions":{}}},"id":54703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35701:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54704,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54579,"src":"35717:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54705,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54572,"src":"35725:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54706,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54589,"src":"35740:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54707,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54596,"src":"35750:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35757:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35768:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35760:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54709,"name":"address","nodeType":"ElementaryTypeName","src":"35760:7:63","typeDescriptions":{}}},"id":54712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35760:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54713,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54643,"src":"35772:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54714,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54645,"src":"35775:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54715,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54647,"src":"35778:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54696,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"35668:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35679:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"35668:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":54716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35668:112:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54717,"nodeType":"ExpressionStatement","src":"35668:112:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54718,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"35791:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35794:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"35791:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":54721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35791:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54722,"nodeType":"ExpressionStatement","src":"35791:14:63"}]},"functionSelector":"1e3f2fae","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentAlreadyUsed","nameLocation":"34403:30:63","parameters":{"id":54563,"nodeType":"ParameterList","parameters":[],"src":"34433:2:63"},"returnParameters":{"id":54564,"nodeType":"ParameterList","parameters":[],"src":"34443:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":54735,"nodeType":"FunctionDefinition","src":"35818:95:63","nodes":[],"body":{"id":54734,"nodeType":"Block","src":"35861:52:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54728,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"35880:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35891:7:63","memberName":"VERSION","nodeType":"MemberAccess","referencedDeclaration":49288,"src":"35880:18:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view external returns (string memory)"}},"id":54730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35880:20:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"31","id":54731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35902:3:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":54727,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":971,"src":"35871:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":54732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35871:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54733,"nodeType":"ExpressionStatement","src":"35871:35:63"}]},"functionSelector":"ccf56346","implemented":true,"kind":"function","modifiers":[],"name":"testVersionConstant","nameLocation":"35827:19:63","parameters":{"id":54725,"nodeType":"ParameterList","parameters":[],"src":"35846:2:63"},"returnParameters":{"id":54726,"nodeType":"ParameterList","parameters":[],"src":"35861:0:63"},"scope":58522,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":54752,"nodeType":"FunctionDefinition","src":"35919:365:63","nodes":[],"body":{"id":54751,"nodeType":"Block","src":"35969:315:63","nodes":[],"statements":[{"assignments":[54739],"declarations":[{"constant":false,"id":54739,"mutability":"mutable","name":"expectedTypehash","nameLocation":"35987:16:63","nodeType":"VariableDeclaration","scope":54751,"src":"35979:24:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35979:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54743,"initialValue":{"arguments":[{"hexValue":"547261696c73496e74656e74286164647265737320757365722c6164647265737320746f6b656e2c75696e7432353620616d6f756e742c6164647265737320696e74656e74416464726573732c75696e7432353620646561646c696e652c75696e7432353620636861696e49642c75696e74323536206e6f6e63652c75696e7432353620666565416d6f756e742c6164647265737320666565436f6c6c6563746f7229","id":54741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36029:165:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c9","typeString":"literal_string \"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)\""},"value":"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c9","typeString":"literal_string \"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)\""}],"id":54740,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"36006:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36006:198:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"35979:225:63"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54745,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"36223:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36234:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"36223:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36223:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54748,"name":"expectedTypehash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54739,"src":"36260:16:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":54744,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":890,"src":"36214:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":54749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36214:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54750,"nodeType":"ExpressionStatement","src":"36214:63:63"}]},"functionSelector":"55544ac0","implemented":true,"kind":"function","modifiers":[],"name":"testIntentTypehashConstant","nameLocation":"35928:26:63","parameters":{"id":54736,"nodeType":"ParameterList","parameters":[],"src":"35954:2:63"},"returnParameters":{"id":54737,"nodeType":"ParameterList","parameters":[],"src":"35969:0:63"},"scope":58522,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":54899,"nodeType":"FunctionDefinition","src":"36290:1241:63","nodes":[],"body":{"id":54898,"nodeType":"Block","src":"36337:1194:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":54758,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"36361:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54755,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"36347:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36350:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"36347:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":54759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36347:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54760,"nodeType":"ExpressionStatement","src":"36347:19:63"},{"assignments":[54762],"declarations":[{"constant":false,"id":54762,"mutability":"mutable","name":"intentAddress","nameLocation":"36385:13:63","nodeType":"VariableDeclaration","scope":54898,"src":"36377:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54761,"name":"address","nodeType":"ElementaryTypeName","src":"36377:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":54767,"initialValue":{"arguments":[{"hexValue":"307835363738","id":54765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36409:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":54764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36401:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54763,"name":"address","nodeType":"ElementaryTypeName","src":"36401:7:63","typeDescriptions":{}}},"id":54766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36401:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"36377:39:63"},{"assignments":[54769],"declarations":[{"constant":false,"id":54769,"mutability":"mutable","name":"amount","nameLocation":"36434:6:63","nodeType":"VariableDeclaration","scope":54898,"src":"36426:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54768,"name":"uint256","nodeType":"ElementaryTypeName","src":"36426:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54777,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":54770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36443:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":54771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36448:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54772,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"36454:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36460:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"36454:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":54774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36454:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"36448:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36443:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36426:44:63"},{"assignments":[54779],"declarations":[{"constant":false,"id":54779,"mutability":"mutable","name":"deadline","nameLocation":"36488:8:63","nodeType":"VariableDeclaration","scope":54898,"src":"36480:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54778,"name":"uint256","nodeType":"ElementaryTypeName","src":"36480:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54784,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54780,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"36499:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36505:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"36499:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":54782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36517:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"36499:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36480:41:63"},{"assignments":[54786],"declarations":[{"constant":false,"id":54786,"mutability":"mutable","name":"nonceBefore","nameLocation":"36540:11:63","nodeType":"VariableDeclaration","scope":54898,"src":"36532:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54785,"name":"uint256","nodeType":"ElementaryTypeName","src":"36532:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54791,"initialValue":{"arguments":[{"id":54789,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"36572:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54787,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"36554:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36565:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"36554:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":54790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36554:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36532:45:63"},{"expression":{"arguments":[{"id":54793,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54786,"src":"36596:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36609:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54792,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"36587:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":54795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36587:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54796,"nodeType":"ExpressionStatement","src":"36587:24:63"},{"assignments":[54798],"declarations":[{"constant":false,"id":54798,"mutability":"mutable","name":"intentHash","nameLocation":"36630:10:63","nodeType":"VariableDeclaration","scope":54898,"src":"36622:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36622:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54823,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54802,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"36694:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36705:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"36694:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36694:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54805,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"36747:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54808,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"36777:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36769:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54806,"name":"address","nodeType":"ElementaryTypeName","src":"36769:7:63","typeDescriptions":{}}},"id":54809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36769:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54810,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54769,"src":"36801:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54811,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54762,"src":"36825:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54812,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54779,"src":"36856:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":54813,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"36882:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36888:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"36882:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54815,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54786,"src":"36913:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36942:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36982:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36974:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54817,"name":"address","nodeType":"ElementaryTypeName","src":"36974:7:63","typeDescriptions":{}}},"id":54820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36974:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54800,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36666:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36670:6:63","memberName":"encode","nodeType":"MemberAccess","src":"36666:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36666:348:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54799,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"36643:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36643:381:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"36622:402:63"},{"assignments":[54825],"declarations":[{"constant":false,"id":54825,"mutability":"mutable","name":"digest","nameLocation":"37042:6:63","nodeType":"VariableDeclaration","scope":54898,"src":"37034:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37034:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54836,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":54829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37078:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54830,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"37090:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37101:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"37090:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37090:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54833,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54798,"src":"37121:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54827,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37061:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37065:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"37061:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37061:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54826,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"37051:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37051:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"37034:99:63"},{"assignments":[54838,54840,54842],"declarations":[{"constant":false,"id":54838,"mutability":"mutable","name":"v","nameLocation":"37150:1:63","nodeType":"VariableDeclaration","scope":54898,"src":"37144:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54837,"name":"uint8","nodeType":"ElementaryTypeName","src":"37144:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54840,"mutability":"mutable","name":"r","nameLocation":"37161:1:63","nodeType":"VariableDeclaration","scope":54898,"src":"37153:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37153:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54842,"mutability":"mutable","name":"s","nameLocation":"37172:1:63","nodeType":"VariableDeclaration","scope":54898,"src":"37164:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37164:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54848,"initialValue":{"arguments":[{"id":54845,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"37185:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54846,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54825,"src":"37201:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54843,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"37177:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37180:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"37177:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":54847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37177:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"37143:65:63"},{"expression":{"arguments":[{"arguments":[{"id":54854,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"37241:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":54853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37233:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54852,"name":"address","nodeType":"ElementaryTypeName","src":"37233:7:63","typeDescriptions":{}}},"id":54855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37233:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54856,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54769,"src":"37254:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54849,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"37219:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37225:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"37219:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":54857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37219:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54858,"nodeType":"ExpressionStatement","src":"37219:42:63"},{"expression":{"arguments":[{"id":54862,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"37311:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54865,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"37325:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37317:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54863,"name":"address","nodeType":"ElementaryTypeName","src":"37317:7:63","typeDescriptions":{}}},"id":54866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37317:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54867,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54769,"src":"37333:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54868,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54762,"src":"37341:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54869,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54779,"src":"37356:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54870,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54786,"src":"37366:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37379:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37390:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37382:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54872,"name":"address","nodeType":"ElementaryTypeName","src":"37382:7:63","typeDescriptions":{}}},"id":54875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37382:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54876,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54838,"src":"37394:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54877,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54840,"src":"37397:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54878,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54842,"src":"37400:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54859,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"37271:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37282:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"37271:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":54879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37271:140:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54880,"nodeType":"ExpressionStatement","src":"37271:140:63"},{"assignments":[54882],"declarations":[{"constant":false,"id":54882,"mutability":"mutable","name":"nonceAfter","nameLocation":"37430:10:63","nodeType":"VariableDeclaration","scope":54898,"src":"37422:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54881,"name":"uint256","nodeType":"ElementaryTypeName","src":"37422:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54887,"initialValue":{"arguments":[{"id":54885,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"37461:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54883,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"37443:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37454:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"37443:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":54886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37443:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37422:44:63"},{"expression":{"arguments":[{"id":54889,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54882,"src":"37485:10:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":54890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37497:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":54888,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"37476:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":54891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37476:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54892,"nodeType":"ExpressionStatement","src":"37476:23:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54893,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"37510:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37513:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"37510:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":54896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37510:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54897,"nodeType":"ExpressionStatement","src":"37510:14:63"}]},"functionSelector":"804b1836","implemented":true,"kind":"function","modifiers":[],"name":"testNonceIncrementsOnDeposit","nameLocation":"36299:28:63","parameters":{"id":54753,"nodeType":"ParameterList","parameters":[],"src":"36327:2:63"},"returnParameters":{"id":54754,"nodeType":"ParameterList","parameters":[],"src":"36337:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55034,"nodeType":"FunctionDefinition","src":"37537:1177:63","nodes":[],"body":{"id":55033,"nodeType":"Block","src":"37579:1135:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":54905,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"37603:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54902,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"37589:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37592:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"37589:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":54906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37589:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54907,"nodeType":"ExpressionStatement","src":"37589:19:63"},{"assignments":[54909],"declarations":[{"constant":false,"id":54909,"mutability":"mutable","name":"intentAddress","nameLocation":"37627:13:63","nodeType":"VariableDeclaration","scope":55033,"src":"37619:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54908,"name":"address","nodeType":"ElementaryTypeName","src":"37619:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":54914,"initialValue":{"arguments":[{"hexValue":"307835363738","id":54912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37651:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":54911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37643:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54910,"name":"address","nodeType":"ElementaryTypeName","src":"37643:7:63","typeDescriptions":{}}},"id":54913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37643:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"37619:39:63"},{"assignments":[54916],"declarations":[{"constant":false,"id":54916,"mutability":"mutable","name":"amount","nameLocation":"37676:6:63","nodeType":"VariableDeclaration","scope":55033,"src":"37668:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54915,"name":"uint256","nodeType":"ElementaryTypeName","src":"37668:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54924,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":54917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37685:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":54918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37690:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54919,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"37696:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37702:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"37696:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":54921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37696:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"37690:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37685:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37668:44:63"},{"assignments":[54926],"declarations":[{"constant":false,"id":54926,"mutability":"mutable","name":"deadline","nameLocation":"37730:8:63","nodeType":"VariableDeclaration","scope":55033,"src":"37722:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54925,"name":"uint256","nodeType":"ElementaryTypeName","src":"37722:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54931,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54927,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"37741:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37747:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"37741:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":54929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37759:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"37741:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37722:41:63"},{"assignments":[54933],"declarations":[{"constant":false,"id":54933,"mutability":"mutable","name":"wrongNonce","nameLocation":"37781:10:63","nodeType":"VariableDeclaration","scope":55033,"src":"37773:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54932,"name":"uint256","nodeType":"ElementaryTypeName","src":"37773:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54935,"initialValue":{"hexValue":"393939","id":54934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37794:3:63","typeDescriptions":{"typeIdentifier":"t_rational_999_by_1","typeString":"int_const 999"},"value":"999"},"nodeType":"VariableDeclarationStatement","src":"37773:24:63"},{"assignments":[54937],"declarations":[{"constant":false,"id":54937,"mutability":"mutable","name":"intentHash","nameLocation":"37831:10:63","nodeType":"VariableDeclaration","scope":55033,"src":"37823:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37823:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54962,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54941,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"37895:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37906:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"37895:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37895:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54944,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"37948:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":54947,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"37978:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":54946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37970:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54945,"name":"address","nodeType":"ElementaryTypeName","src":"37970:7:63","typeDescriptions":{}}},"id":54948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37970:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54949,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54916,"src":"38002:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54950,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54909,"src":"38026:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54951,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54926,"src":"38057:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":54952,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"38083:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38089:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"38083:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54954,"name":"wrongNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54933,"src":"38114:10:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":54955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38142:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":54958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38182:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":54957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38174:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54956,"name":"address","nodeType":"ElementaryTypeName","src":"38174:7:63","typeDescriptions":{}}},"id":54959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38174:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54939,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37867:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37871:6:63","memberName":"encode","nodeType":"MemberAccess","src":"37867:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37867:347:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54938,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"37844:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37844:380:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"37823:401:63"},{"assignments":[54964],"declarations":[{"constant":false,"id":54964,"mutability":"mutable","name":"digest","nameLocation":"38242:6:63","nodeType":"VariableDeclaration","scope":55033,"src":"38234:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38234:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54975,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":54968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38278:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54969,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"38290:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":54970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38301:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"38290:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":54971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38290:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54972,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54937,"src":"38321:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38261:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38265:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"38261:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38261:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54965,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"38251:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38251:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"38234:99:63"},{"assignments":[54977,54979,54981],"declarations":[{"constant":false,"id":54977,"mutability":"mutable","name":"v","nameLocation":"38350:1:63","nodeType":"VariableDeclaration","scope":55033,"src":"38344:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54976,"name":"uint8","nodeType":"ElementaryTypeName","src":"38344:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54979,"mutability":"mutable","name":"r","nameLocation":"38361:1:63","nodeType":"VariableDeclaration","scope":55033,"src":"38353:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38353:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54981,"mutability":"mutable","name":"s","nameLocation":"38372:1:63","nodeType":"VariableDeclaration","scope":55033,"src":"38364:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38364:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":54987,"initialValue":{"arguments":[{"id":54984,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"38385:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54985,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54964,"src":"38401:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54982,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"38377:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":54983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38380:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"38377:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":54986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38377:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"38343:65:63"},{"expression":{"arguments":[{"arguments":[{"id":54993,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"38441:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":54992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38433:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54991,"name":"address","nodeType":"ElementaryTypeName","src":"38433:7:63","typeDescriptions":{}}},"id":54994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38433:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54995,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54916,"src":"38454:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54988,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"38419:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":54990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38425:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"38419:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":54996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38419:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54997,"nodeType":"ExpressionStatement","src":"38419:42:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":55001,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"38488:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":55002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38511:12:63","memberName":"InvalidNonce","nodeType":"MemberAccess","referencedDeclaration":49321,"src":"38488:35:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":55003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38524:8:63","memberName":"selector","nodeType":"MemberAccess","src":"38488:44:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":54998,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"38472:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38475:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"38472:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":55004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38472:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55005,"nodeType":"ExpressionStatement","src":"38472:61:63"},{"expression":{"arguments":[{"id":55009,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"38583:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55012,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"38597:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38589:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55010,"name":"address","nodeType":"ElementaryTypeName","src":"38589:7:63","typeDescriptions":{}}},"id":55013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38589:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55014,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54916,"src":"38605:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55015,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54909,"src":"38613:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55016,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54926,"src":"38628:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55017,"name":"wrongNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54933,"src":"38638:10:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38650:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38661:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38653:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55019,"name":"address","nodeType":"ElementaryTypeName","src":"38653:7:63","typeDescriptions":{}}},"id":55022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38653:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55023,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54977,"src":"38665:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55024,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54979,"src":"38668:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55025,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54981,"src":"38671:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55006,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"38543:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38554:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"38543:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":55026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38543:139:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55027,"nodeType":"ExpressionStatement","src":"38543:139:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55028,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"38693:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38696:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"38693:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":55031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38693:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55032,"nodeType":"ExpressionStatement","src":"38693:14:63"}]},"functionSelector":"2ce7f6c8","implemented":true,"kind":"function","modifiers":[],"name":"testInvalidNonceReverts","nameLocation":"37546:23:63","parameters":{"id":54900,"nodeType":"ParameterList","parameters":[],"src":"37569:2:63"},"returnParameters":{"id":54901,"nodeType":"ParameterList","parameters":[],"src":"37579:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55209,"nodeType":"FunctionDefinition","src":"38720:2063:63","nodes":[],"body":{"id":55208,"nodeType":"Block","src":"38783:2000:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":55040,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"38807:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55037,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"38793:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38796:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"38793:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":55041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38793:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55042,"nodeType":"ExpressionStatement","src":"38793:19:63"},{"assignments":[55044],"declarations":[{"constant":false,"id":55044,"mutability":"mutable","name":"intentAddress","nameLocation":"38831:13:63","nodeType":"VariableDeclaration","scope":55208,"src":"38823:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55043,"name":"address","nodeType":"ElementaryTypeName","src":"38823:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55049,"initialValue":{"arguments":[{"hexValue":"307835363738","id":55047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38855:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":55046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38847:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55045,"name":"address","nodeType":"ElementaryTypeName","src":"38847:7:63","typeDescriptions":{}}},"id":55048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38847:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"38823:39:63"},{"assignments":[55051],"declarations":[{"constant":false,"id":55051,"mutability":"mutable","name":"amount","nameLocation":"38880:6:63","nodeType":"VariableDeclaration","scope":55208,"src":"38872:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55050,"name":"uint256","nodeType":"ElementaryTypeName","src":"38872:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55059,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":55052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38889:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":55053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38894:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55054,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"38900:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38906:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"38900:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":55056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38900:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"38894:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38889:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38872:44:63"},{"assignments":[55061],"declarations":[{"constant":false,"id":55061,"mutability":"mutable","name":"deadline","nameLocation":"38934:8:63","nodeType":"VariableDeclaration","scope":55208,"src":"38926:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55060,"name":"uint256","nodeType":"ElementaryTypeName","src":"38926:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55066,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55062,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"38945:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38951:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"38945:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":55064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38963:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38945:19:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38926:38:63"},{"assignments":[55068],"declarations":[{"constant":false,"id":55068,"mutability":"mutable","name":"nonce","nameLocation":"39001:5:63","nodeType":"VariableDeclaration","scope":55208,"src":"38993:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55067,"name":"uint256","nodeType":"ElementaryTypeName","src":"38993:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55073,"initialValue":{"arguments":[{"id":55071,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"39027:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55069,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"39009:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39020:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"39009:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39009:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38993:39:63"},{"assignments":[55075],"declarations":[{"constant":false,"id":55075,"mutability":"mutable","name":"permitHash","nameLocation":"39051:10:63","nodeType":"VariableDeclaration","scope":55208,"src":"39043:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39043:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55104,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39121:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55080,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"39149:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39155:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"39149:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39149:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":55087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39268:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":55086,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"39258:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39258:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55089,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"39379:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55092,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"39417:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":55091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39409:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55090,"name":"address","nodeType":"ElementaryTypeName","src":"39409:7:63","typeDescriptions":{}}},"id":55093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39409:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55094,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55051,"src":"39454:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":55097,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"39499:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55095,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"39486:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39492:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"39486:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39486:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55099,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55061,"src":"39530:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55084,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39222:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39226:6:63","memberName":"encode","nodeType":"MemberAccess","src":"39222:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39222:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55083,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"39191:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39191:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55077,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39087:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39091:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"39087:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39087:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55076,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"39064:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39064:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"39043:559:63"},{"assignments":[55106,55108,55110],"declarations":[{"constant":false,"id":55106,"mutability":"mutable","name":"permitV","nameLocation":"39620:7:63","nodeType":"VariableDeclaration","scope":55208,"src":"39614:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55105,"name":"uint8","nodeType":"ElementaryTypeName","src":"39614:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55108,"mutability":"mutable","name":"permitR","nameLocation":"39637:7:63","nodeType":"VariableDeclaration","scope":55208,"src":"39629:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39629:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55110,"mutability":"mutable","name":"permitS","nameLocation":"39654:7:63","nodeType":"VariableDeclaration","scope":55208,"src":"39646:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39646:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55116,"initialValue":{"arguments":[{"id":55113,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"39673:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55114,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55075,"src":"39689:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55111,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"39665:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39668:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"39665:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39665:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"39613:87:63"},{"assignments":[55118],"declarations":[{"constant":false,"id":55118,"mutability":"mutable","name":"intentHash","nameLocation":"39719:10:63","nodeType":"VariableDeclaration","scope":55208,"src":"39711:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39711:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55143,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55122,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"39783:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39794:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"39783:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39783:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55125,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"39836:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55128,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"39866:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39858:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55126,"name":"address","nodeType":"ElementaryTypeName","src":"39858:7:63","typeDescriptions":{}}},"id":55129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39858:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55130,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55051,"src":"39890:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55131,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55044,"src":"39914:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55132,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55061,"src":"39945:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":55133,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"39971:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39977:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"39971:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55135,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55068,"src":"40002:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40025:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40065:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40057:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55137,"name":"address","nodeType":"ElementaryTypeName","src":"40057:7:63","typeDescriptions":{}}},"id":55140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40057:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39755:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39759:6:63","memberName":"encode","nodeType":"MemberAccess","src":"39755:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39755:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55119,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"39732:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39732:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"39711:396:63"},{"assignments":[55145],"declarations":[{"constant":false,"id":55145,"mutability":"mutable","name":"intentDigest","nameLocation":"40125:12:63","nodeType":"VariableDeclaration","scope":55208,"src":"40117:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40117:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55156,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40167:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55150,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"40179:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40190:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"40179:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40179:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55153,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55118,"src":"40210:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55147,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40150:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40154:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"40150:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40150:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55146,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"40140:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40140:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"40117:105:63"},{"assignments":[55158,55160,55162],"declarations":[{"constant":false,"id":55158,"mutability":"mutable","name":"sigV","nameLocation":"40239:4:63","nodeType":"VariableDeclaration","scope":55208,"src":"40233:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55157,"name":"uint8","nodeType":"ElementaryTypeName","src":"40233:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55160,"mutability":"mutable","name":"sigR","nameLocation":"40253:4:63","nodeType":"VariableDeclaration","scope":55208,"src":"40245:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40245:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55162,"mutability":"mutable","name":"sigS","nameLocation":"40267:4:63","nodeType":"VariableDeclaration","scope":55208,"src":"40259:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40259:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55168,"initialValue":{"arguments":[{"id":55165,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"40283:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55166,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55145,"src":"40299:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55163,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"40275:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40278:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"40275:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40275:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"40232:80:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":55172,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"40339:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":55173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40362:13:63","memberName":"IntentExpired","nodeType":"MemberAccess","referencedDeclaration":49317,"src":"40339:36:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":55174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40376:8:63","memberName":"selector","nodeType":"MemberAccess","src":"40339:45:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":55169,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"40323:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40326:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"40323:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":55175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40323:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55176,"nodeType":"ExpressionStatement","src":"40323:62:63"},{"expression":{"arguments":[{"id":55180,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"40445:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55183,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"40471:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40463:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55181,"name":"address","nodeType":"ElementaryTypeName","src":"40463:7:63","typeDescriptions":{}}},"id":55184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40463:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55185,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55051,"src":"40491:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55186,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55051,"src":"40511:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55187,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55044,"src":"40531:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55188,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55061,"src":"40558:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55189,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55068,"src":"40580:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40599:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40622:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40614:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55191,"name":"address","nodeType":"ElementaryTypeName","src":"40614:7:63","typeDescriptions":{}}},"id":55194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40614:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55195,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55106,"src":"40638:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55196,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55108,"src":"40659:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55197,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"40680:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55198,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55158,"src":"40701:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55199,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55160,"src":"40719:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55200,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55162,"src":"40737:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55177,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"40395:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40406:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"40395:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":55201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40395:356:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55202,"nodeType":"ExpressionStatement","src":"40395:356:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55203,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"40762:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40765:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"40762:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":55206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40762:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55207,"nodeType":"ExpressionStatement","src":"40762:14:63"}]},"functionSelector":"c0aa967b","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitExpiredDeadline","nameLocation":"38729:44:63","parameters":{"id":55035,"nodeType":"ParameterList","parameters":[],"src":"38773:2:63"},"returnParameters":{"id":55036,"nodeType":"ParameterList","parameters":[],"src":"38783:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55369,"nodeType":"FunctionDefinition","src":"40789:1373:63","nodes":[],"body":{"id":55368,"nodeType":"Block","src":"40844:1318:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":55215,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"40868:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55212,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"40854:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40857:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"40854:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":55216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40854:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55217,"nodeType":"ExpressionStatement","src":"40854:19:63"},{"assignments":[55219],"declarations":[{"constant":false,"id":55219,"mutability":"mutable","name":"intentAddress","nameLocation":"40892:13:63","nodeType":"VariableDeclaration","scope":55368,"src":"40884:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55218,"name":"address","nodeType":"ElementaryTypeName","src":"40884:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55224,"initialValue":{"arguments":[{"hexValue":"3078373737","id":55222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40916:5:63","typeDescriptions":{"typeIdentifier":"t_rational_1911_by_1","typeString":"int_const 1911"},"value":"0x777"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1911_by_1","typeString":"int_const 1911"}],"id":55221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40908:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55220,"name":"address","nodeType":"ElementaryTypeName","src":"40908:7:63","typeDescriptions":{}}},"id":55223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40908:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"40884:38:63"},{"assignments":[55226],"declarations":[{"constant":false,"id":55226,"mutability":"mutable","name":"amount","nameLocation":"40940:6:63","nodeType":"VariableDeclaration","scope":55368,"src":"40932:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55225,"name":"uint256","nodeType":"ElementaryTypeName","src":"40932:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55234,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3135","id":55227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40949:2:63","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":55228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40954:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55229,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"40960:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40966:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"40960:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":55231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40960:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"40954:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40949:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"40932:44:63"},{"assignments":[55236],"declarations":[{"constant":false,"id":55236,"mutability":"mutable","name":"deadline","nameLocation":"40994:8:63","nodeType":"VariableDeclaration","scope":55368,"src":"40986:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55235,"name":"uint256","nodeType":"ElementaryTypeName","src":"40986:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55241,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55237,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"41005:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41011:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"41005:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3130","id":55239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41023:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"41005:20:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"40986:39:63"},{"assignments":[55243],"declarations":[{"constant":false,"id":55243,"mutability":"mutable","name":"nonce","nameLocation":"41043:5:63","nodeType":"VariableDeclaration","scope":55368,"src":"41035:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55242,"name":"uint256","nodeType":"ElementaryTypeName","src":"41035:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55248,"initialValue":{"arguments":[{"id":55246,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"41069:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55244,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"41051:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41062:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"41051:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41051:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41035:39:63"},{"assignments":[55250],"declarations":[{"constant":false,"id":55250,"mutability":"mutable","name":"intentHash","nameLocation":"41093:10:63","nodeType":"VariableDeclaration","scope":55368,"src":"41085:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41085:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55275,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55254,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"41157:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41168:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"41157:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41157:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55257,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"41210:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55260,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"41240:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41232:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55258,"name":"address","nodeType":"ElementaryTypeName","src":"41232:7:63","typeDescriptions":{}}},"id":55261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41232:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55262,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55226,"src":"41264:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55263,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55219,"src":"41288:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55264,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55236,"src":"41319:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":55265,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"41345:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41351:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"41345:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55267,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55243,"src":"41376:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41399:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41439:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41431:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55269,"name":"address","nodeType":"ElementaryTypeName","src":"41431:7:63","typeDescriptions":{}}},"id":55272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41431:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55252,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41129:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41133:6:63","memberName":"encode","nodeType":"MemberAccess","src":"41129:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41129:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55251,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"41106:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41106:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"41085:396:63"},{"assignments":[55277],"declarations":[{"constant":false,"id":55277,"mutability":"mutable","name":"digest","nameLocation":"41499:6:63","nodeType":"VariableDeclaration","scope":55368,"src":"41491:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41491:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55288,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41535:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55282,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"41547:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41558:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"41547:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41547:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55285,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55250,"src":"41578:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55279,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41518:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41522:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"41518:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41518:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55278,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"41508:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41508:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"41491:99:63"},{"assignments":[55290,55292,55294],"declarations":[{"constant":false,"id":55290,"mutability":"mutable","name":"v","nameLocation":"41607:1:63","nodeType":"VariableDeclaration","scope":55368,"src":"41601:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55289,"name":"uint8","nodeType":"ElementaryTypeName","src":"41601:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55292,"mutability":"mutable","name":"r","nameLocation":"41618:1:63","nodeType":"VariableDeclaration","scope":55368,"src":"41610:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41610:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55294,"mutability":"mutable","name":"s","nameLocation":"41629:1:63","nodeType":"VariableDeclaration","scope":55368,"src":"41621:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41621:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55300,"initialValue":{"arguments":[{"id":55297,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"41642:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55298,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55277,"src":"41658:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55295,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"41634:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41637:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"41634:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41634:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"41600:65:63"},{"expression":{"arguments":[{"arguments":[{"id":55306,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"41698:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":55305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41690:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55304,"name":"address","nodeType":"ElementaryTypeName","src":"41690:7:63","typeDescriptions":{}}},"id":55307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41690:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55308,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55226,"src":"41711:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55301,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"41676:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41682:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"41676:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":55309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41676:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55310,"nodeType":"ExpressionStatement","src":"41676:42:63"},{"expression":{"arguments":[{"id":55314,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"41756:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55317,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"41770:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41762:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55315,"name":"address","nodeType":"ElementaryTypeName","src":"41762:7:63","typeDescriptions":{}}},"id":55318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41762:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55319,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55226,"src":"41778:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55320,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55219,"src":"41786:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55321,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55236,"src":"41801:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55322,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55243,"src":"41811:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41818:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41829:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41821:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55324,"name":"address","nodeType":"ElementaryTypeName","src":"41821:7:63","typeDescriptions":{}}},"id":55327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41821:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55328,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55290,"src":"41833:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55329,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55292,"src":"41836:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55330,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55294,"src":"41839:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55311,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"41729:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41740:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"41729:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":55331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41729:112:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55332,"nodeType":"ExpressionStatement","src":"41729:112:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":55336,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"41963:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":55337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41986:12:63","memberName":"InvalidNonce","nodeType":"MemberAccess","referencedDeclaration":49321,"src":"41963:35:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":55338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41999:8:63","memberName":"selector","nodeType":"MemberAccess","src":"41963:44:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":55333,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"41947:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41950:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"41947:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":55339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41947:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55340,"nodeType":"ExpressionStatement","src":"41947:61:63"},{"expression":{"arguments":[{"id":55344,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"42045:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55347,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"42059:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42051:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55345,"name":"address","nodeType":"ElementaryTypeName","src":"42051:7:63","typeDescriptions":{}}},"id":55348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42051:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55349,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55226,"src":"42067:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55350,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55219,"src":"42075:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55351,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55236,"src":"42090:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55352,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55243,"src":"42100:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42107:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42118:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55355,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42110:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55354,"name":"address","nodeType":"ElementaryTypeName","src":"42110:7:63","typeDescriptions":{}}},"id":55357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42110:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55358,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55290,"src":"42122:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55359,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55292,"src":"42125:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55360,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55294,"src":"42128:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55341,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"42018:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42029:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"42018:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":55361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42018:112:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55362,"nodeType":"ExpressionStatement","src":"42018:112:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55363,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"42141:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42144:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"42141:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":55366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42141:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55367,"nodeType":"ExpressionStatement","src":"42141:14:63"}]},"functionSelector":"9750a94e","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentCannotReuseDigest","nameLocation":"40798:36:63","parameters":{"id":55210,"nodeType":"ParameterList","parameters":[],"src":"40834:2:63"},"returnParameters":{"id":55211,"nodeType":"ParameterList","parameters":[],"src":"40844:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55547,"nodeType":"FunctionDefinition","src":"42168:2059:63","nodes":[],"body":{"id":55546,"nodeType":"Block","src":"42236:1991:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":55375,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"42260:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55372,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"42246:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42249:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"42246:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":55376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42246:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55377,"nodeType":"ExpressionStatement","src":"42246:19:63"},{"assignments":[55379],"declarations":[{"constant":false,"id":55379,"mutability":"mutable","name":"intentAddress","nameLocation":"42283:13:63","nodeType":"VariableDeclaration","scope":55546,"src":"42275:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55378,"name":"address","nodeType":"ElementaryTypeName","src":"42275:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55384,"initialValue":{"arguments":[{"hexValue":"307831323334","id":55382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42307:6:63","typeDescriptions":{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"},"value":"0x1234"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"}],"id":55381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42299:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55380,"name":"address","nodeType":"ElementaryTypeName","src":"42299:7:63","typeDescriptions":{}}},"id":55383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42299:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"42275:39:63"},{"assignments":[55386],"declarations":[{"constant":false,"id":55386,"mutability":"mutable","name":"amount","nameLocation":"42332:6:63","nodeType":"VariableDeclaration","scope":55546,"src":"42324:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55385,"name":"uint256","nodeType":"ElementaryTypeName","src":"42324:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55394,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3230","id":55387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42341:2:63","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":55388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42346:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55389,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"42352:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42358:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"42352:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":55391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42352:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"42346:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42341:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"42324:44:63"},{"assignments":[55396],"declarations":[{"constant":false,"id":55396,"mutability":"mutable","name":"permitAmount","nameLocation":"42386:12:63","nodeType":"VariableDeclaration","scope":55546,"src":"42378:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55395,"name":"uint256","nodeType":"ElementaryTypeName","src":"42378:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55400,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55397,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55386,"src":"42401:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":55398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42410:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"42401:10:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"42378:33:63"},{"assignments":[55402],"declarations":[{"constant":false,"id":55402,"mutability":"mutable","name":"deadline","nameLocation":"42429:8:63","nodeType":"VariableDeclaration","scope":55546,"src":"42421:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55401,"name":"uint256","nodeType":"ElementaryTypeName","src":"42421:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55407,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55403,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"42440:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42446:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"42440:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":55405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42458:3:63","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"42440:21:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"42421:40:63"},{"assignments":[55409],"declarations":[{"constant":false,"id":55409,"mutability":"mutable","name":"nonce","nameLocation":"42479:5:63","nodeType":"VariableDeclaration","scope":55546,"src":"42471:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55408,"name":"uint256","nodeType":"ElementaryTypeName","src":"42471:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55414,"initialValue":{"arguments":[{"id":55412,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"42505:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55410,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"42487:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42498:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"42487:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42487:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"42471:39:63"},{"assignments":[55416],"declarations":[{"constant":false,"id":55416,"mutability":"mutable","name":"permitHash","nameLocation":"42529:10:63","nodeType":"VariableDeclaration","scope":55546,"src":"42521:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42521:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55445,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42599:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55421,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"42627:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42633:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"42627:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42627:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":55428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42746:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":55427,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"42736:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42736:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55430,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"42857:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55433,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"42895:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":55432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42887:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55431,"name":"address","nodeType":"ElementaryTypeName","src":"42887:7:63","typeDescriptions":{}}},"id":55434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42887:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55435,"name":"permitAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55396,"src":"42932:12:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":55438,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"42983:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55436,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"42970:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42976:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"42970:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42970:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55440,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55402,"src":"43014:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55425,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42700:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42704:6:63","memberName":"encode","nodeType":"MemberAccess","src":"42700:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42700:344:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55424,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"42669:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42669:393:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42565:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42569:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"42565:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42565:511:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55417,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"42542:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42542:544:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"42521:565:63"},{"assignments":[55447,55449,55451],"declarations":[{"constant":false,"id":55447,"mutability":"mutable","name":"permitV","nameLocation":"43104:7:63","nodeType":"VariableDeclaration","scope":55546,"src":"43098:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55446,"name":"uint8","nodeType":"ElementaryTypeName","src":"43098:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55449,"mutability":"mutable","name":"permitR","nameLocation":"43121:7:63","nodeType":"VariableDeclaration","scope":55546,"src":"43113:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43113:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55451,"mutability":"mutable","name":"permitS","nameLocation":"43138:7:63","nodeType":"VariableDeclaration","scope":55546,"src":"43130:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43130:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55457,"initialValue":{"arguments":[{"id":55454,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"43157:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55455,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55416,"src":"43173:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55452,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"43149:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43152:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"43149:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43149:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"43097:87:63"},{"assignments":[55459],"declarations":[{"constant":false,"id":55459,"mutability":"mutable","name":"intentHash","nameLocation":"43203:10:63","nodeType":"VariableDeclaration","scope":55546,"src":"43195:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43195:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55484,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55463,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"43267:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43278:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"43267:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43267:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55466,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"43320:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55469,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"43350:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43342:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55467,"name":"address","nodeType":"ElementaryTypeName","src":"43342:7:63","typeDescriptions":{}}},"id":55470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43342:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55471,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55386,"src":"43374:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55472,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55379,"src":"43398:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55473,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55402,"src":"43429:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":55474,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"43455:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43461:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"43455:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55476,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55409,"src":"43486:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43509:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43549:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43541:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55478,"name":"address","nodeType":"ElementaryTypeName","src":"43541:7:63","typeDescriptions":{}}},"id":55481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43541:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43239:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43243:6:63","memberName":"encode","nodeType":"MemberAccess","src":"43239:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43239:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55460,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"43216:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43216:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"43195:396:63"},{"assignments":[55486],"declarations":[{"constant":false,"id":55486,"mutability":"mutable","name":"intentDigest","nameLocation":"43609:12:63","nodeType":"VariableDeclaration","scope":55546,"src":"43601:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43601:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55497,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43651:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55491,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"43663:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43674:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"43663:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43663:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55494,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55459,"src":"43694:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55488,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43634:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43638:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"43634:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43634:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55487,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"43624:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43624:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"43601:105:63"},{"assignments":[55499,55501,55503],"declarations":[{"constant":false,"id":55499,"mutability":"mutable","name":"sigV","nameLocation":"43723:4:63","nodeType":"VariableDeclaration","scope":55546,"src":"43717:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55498,"name":"uint8","nodeType":"ElementaryTypeName","src":"43717:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55501,"mutability":"mutable","name":"sigR","nameLocation":"43737:4:63","nodeType":"VariableDeclaration","scope":55546,"src":"43729:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43729:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55503,"mutability":"mutable","name":"sigS","nameLocation":"43751:4:63","nodeType":"VariableDeclaration","scope":55546,"src":"43743:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43743:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55509,"initialValue":{"arguments":[{"id":55506,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"43767:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55507,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55486,"src":"43783:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55504,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"43759:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43762:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"43759:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43759:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"43716:80:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55510,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"43807:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43810:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18556,"src":"43807:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":55513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43807:17:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55514,"nodeType":"ExpressionStatement","src":"43807:17:63"},{"expression":{"arguments":[{"id":55518,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"43884:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55521,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"43910:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43902:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55519,"name":"address","nodeType":"ElementaryTypeName","src":"43902:7:63","typeDescriptions":{}}},"id":55522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43902:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55523,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55386,"src":"43930:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55524,"name":"permitAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55396,"src":"43950:12:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55525,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55379,"src":"43976:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55526,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55402,"src":"44003:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55527,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55409,"src":"44025:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44044:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44067:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44059:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55529,"name":"address","nodeType":"ElementaryTypeName","src":"44059:7:63","typeDescriptions":{}}},"id":55532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44059:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55533,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55447,"src":"44083:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55534,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55449,"src":"44104:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55535,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55451,"src":"44125:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55536,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55499,"src":"44146:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55537,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55501,"src":"44164:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55538,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55503,"src":"44182:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55515,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"43834:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43845:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"43834:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":55539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43834:362:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55540,"nodeType":"ExpressionStatement","src":"43834:362:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55541,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"44206:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44209:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"44206:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":55544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44206:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55545,"nodeType":"ExpressionStatement","src":"44206:14:63"}]},"functionSelector":"d4942166","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitRequiresPermitAmount","nameLocation":"42177:49:63","parameters":{"id":55370,"nodeType":"ParameterList","parameters":[],"src":"42226:2:63"},"returnParameters":{"id":55371,"nodeType":"ParameterList","parameters":[],"src":"42236:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55672,"nodeType":"FunctionDefinition","src":"44233:1122:63","nodes":[],"body":{"id":55671,"nodeType":"Block","src":"44288:1067:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":55553,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"44312:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55550,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"44298:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44301:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"44298:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":55554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44298:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55555,"nodeType":"ExpressionStatement","src":"44298:19:63"},{"assignments":[55557],"declarations":[{"constant":false,"id":55557,"mutability":"mutable","name":"intentAddress","nameLocation":"44336:13:63","nodeType":"VariableDeclaration","scope":55671,"src":"44328:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55556,"name":"address","nodeType":"ElementaryTypeName","src":"44328:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55562,"initialValue":{"arguments":[{"hexValue":"307835363738","id":55560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44360:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":55559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44352:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55558,"name":"address","nodeType":"ElementaryTypeName","src":"44352:7:63","typeDescriptions":{}}},"id":55561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44352:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"44328:39:63"},{"assignments":[55564],"declarations":[{"constant":false,"id":55564,"mutability":"mutable","name":"amount","nameLocation":"44385:6:63","nodeType":"VariableDeclaration","scope":55671,"src":"44377:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55563,"name":"uint256","nodeType":"ElementaryTypeName","src":"44377:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55572,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":55565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44394:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":55566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44399:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55567,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"44405:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44411:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"44405:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":55569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44405:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"44399:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44394:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"44377:44:63"},{"assignments":[55574],"declarations":[{"constant":false,"id":55574,"mutability":"mutable","name":"deadline","nameLocation":"44439:8:63","nodeType":"VariableDeclaration","scope":55671,"src":"44431:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55573,"name":"uint256","nodeType":"ElementaryTypeName","src":"44431:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55579,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55575,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44450:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44456:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"44450:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":55577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44468:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"44450:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"44431:41:63"},{"assignments":[55581],"declarations":[{"constant":false,"id":55581,"mutability":"mutable","name":"nonce","nameLocation":"44490:5:63","nodeType":"VariableDeclaration","scope":55671,"src":"44482:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55580,"name":"uint256","nodeType":"ElementaryTypeName","src":"44482:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55586,"initialValue":{"arguments":[{"id":55584,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"44516:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55582,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"44498:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44509:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"44498:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44498:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"44482:39:63"},{"assignments":[55588],"declarations":[{"constant":false,"id":55588,"mutability":"mutable","name":"intentHash","nameLocation":"44540:10:63","nodeType":"VariableDeclaration","scope":55671,"src":"44532:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44532:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55613,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55592,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"44604:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44615:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"44604:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44604:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55595,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"44657:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55598,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"44687:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44679:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55596,"name":"address","nodeType":"ElementaryTypeName","src":"44679:7:63","typeDescriptions":{}}},"id":55599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44679:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55600,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55564,"src":"44711:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55601,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55557,"src":"44735:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55602,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55574,"src":"44766:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":55603,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"44792:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44798:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"44792:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55605,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55581,"src":"44823:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44846:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44886:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44878:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55607,"name":"address","nodeType":"ElementaryTypeName","src":"44878:7:63","typeDescriptions":{}}},"id":55610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44878:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55590,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44576:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44580:6:63","memberName":"encode","nodeType":"MemberAccess","src":"44576:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44576:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55589,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"44553:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44553:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"44532:396:63"},{"assignments":[55615],"declarations":[{"constant":false,"id":55615,"mutability":"mutable","name":"digest","nameLocation":"44946:6:63","nodeType":"VariableDeclaration","scope":55671,"src":"44938:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44938:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55626,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44982:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55620,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"44994:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45005:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"44994:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44994:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55623,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55588,"src":"45025:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55617,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44965:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44969:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"44965:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44965:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55616,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"44955:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44955:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"44938:99:63"},{"assignments":[55628,55630,55632],"declarations":[{"constant":false,"id":55628,"mutability":"mutable","name":"v","nameLocation":"45054:1:63","nodeType":"VariableDeclaration","scope":55671,"src":"45048:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55627,"name":"uint8","nodeType":"ElementaryTypeName","src":"45048:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55630,"mutability":"mutable","name":"r","nameLocation":"45065:1:63","nodeType":"VariableDeclaration","scope":55671,"src":"45057:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45057:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55632,"mutability":"mutable","name":"s","nameLocation":"45076:1:63","nodeType":"VariableDeclaration","scope":55671,"src":"45068:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45068:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55638,"initialValue":{"arguments":[{"id":55635,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"45089:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55636,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55615,"src":"45105:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55633,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"45081:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45084:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"45081:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45081:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"45047:65:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55639,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"45184:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45187:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18556,"src":"45184:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":55642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45184:17:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55643,"nodeType":"ExpressionStatement","src":"45184:17:63"},{"expression":{"arguments":[{"id":55647,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"45238:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55650,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"45252:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45244:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55648,"name":"address","nodeType":"ElementaryTypeName","src":"45244:7:63","typeDescriptions":{}}},"id":55651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45244:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55652,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55564,"src":"45260:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55653,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55557,"src":"45268:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55654,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55574,"src":"45283:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55655,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55581,"src":"45293:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45300:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45311:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45303:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55657,"name":"address","nodeType":"ElementaryTypeName","src":"45303:7:63","typeDescriptions":{}}},"id":55660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45303:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55661,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55628,"src":"45315:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55662,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55630,"src":"45318:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55663,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55632,"src":"45321:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55644,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"45211:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45222:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"45211:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":55664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45211:112:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55665,"nodeType":"ExpressionStatement","src":"45211:112:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55666,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"45334:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45337:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"45334:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":55669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45334:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55670,"nodeType":"ExpressionStatement","src":"45334:14:63"}]},"functionSelector":"a9d98231","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentTransferFromFails","nameLocation":"44242:36:63","parameters":{"id":55548,"nodeType":"ParameterList","parameters":[],"src":"44278:2:63"},"returnParameters":{"id":55549,"nodeType":"ParameterList","parameters":[],"src":"44288:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":55850,"nodeType":"FunctionDefinition","src":"45361:2146:63","nodes":[],"body":{"id":55849,"nodeType":"Block","src":"45426:2081:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":55678,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"45450:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55675,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"45436:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45439:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"45436:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":55679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45436:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55680,"nodeType":"ExpressionStatement","src":"45436:19:63"},{"assignments":[55682],"declarations":[{"constant":false,"id":55682,"mutability":"mutable","name":"intentAddress","nameLocation":"45474:13:63","nodeType":"VariableDeclaration","scope":55849,"src":"45466:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55681,"name":"address","nodeType":"ElementaryTypeName","src":"45466:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55687,"initialValue":{"arguments":[{"hexValue":"307835363738","id":55685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45498:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":55684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45490:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55683,"name":"address","nodeType":"ElementaryTypeName","src":"45490:7:63","typeDescriptions":{}}},"id":55686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45490:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"45466:39:63"},{"assignments":[55689],"declarations":[{"constant":false,"id":55689,"mutability":"mutable","name":"amount","nameLocation":"45523:6:63","nodeType":"VariableDeclaration","scope":55849,"src":"45515:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55688,"name":"uint256","nodeType":"ElementaryTypeName","src":"45515:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55697,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":55690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45532:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":55691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45537:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55692,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"45543:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45549:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"45543:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":55694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45543:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"45537:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45532:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"45515:44:63"},{"assignments":[55699],"declarations":[{"constant":false,"id":55699,"mutability":"mutable","name":"deadline","nameLocation":"45577:8:63","nodeType":"VariableDeclaration","scope":55849,"src":"45569:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55698,"name":"uint256","nodeType":"ElementaryTypeName","src":"45569:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55704,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55700,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"45588:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45594:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"45588:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":55702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45606:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"45588:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"45569:41:63"},{"assignments":[55706],"declarations":[{"constant":false,"id":55706,"mutability":"mutable","name":"nonce","nameLocation":"45628:5:63","nodeType":"VariableDeclaration","scope":55849,"src":"45620:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55705,"name":"uint256","nodeType":"ElementaryTypeName","src":"45620:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55711,"initialValue":{"arguments":[{"id":55709,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"45654:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55707,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"45636:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45647:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"45636:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45636:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"45620:39:63"},{"assignments":[55713],"declarations":[{"constant":false,"id":55713,"mutability":"mutable","name":"permitAmount","nameLocation":"45745:12:63","nodeType":"VariableDeclaration","scope":55849,"src":"45737:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55712,"name":"uint256","nodeType":"ElementaryTypeName","src":"45737:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55717,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55714,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55689,"src":"45760:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":55715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45769:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"45760:10:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"45737:33:63"},{"assignments":[55719],"declarations":[{"constant":false,"id":55719,"mutability":"mutable","name":"permitHash","nameLocation":"45808:10:63","nodeType":"VariableDeclaration","scope":55849,"src":"45800:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45800:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55748,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45878:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55724,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"45906:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45912:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"45906:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45906:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":55731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46025:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":55730,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"46015:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46015:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55733,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"46136:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55736,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"46174:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":55735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46166:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55734,"name":"address","nodeType":"ElementaryTypeName","src":"46166:7:63","typeDescriptions":{}}},"id":55737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46166:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55738,"name":"permitAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55713,"src":"46211:12:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":55741,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"46262:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55739,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"46249:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46255:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"46249:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46249:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55743,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55699,"src":"46293:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55728,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45979:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45983:6:63","memberName":"encode","nodeType":"MemberAccess","src":"45979:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45979:344:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55727,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"45948:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45948:393:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55721,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45844:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45848:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"45844:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45844:511:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55720,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"45821:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45821:544:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"45800:565:63"},{"assignments":[55750,55752,55754],"declarations":[{"constant":false,"id":55750,"mutability":"mutable","name":"permitV","nameLocation":"46383:7:63","nodeType":"VariableDeclaration","scope":55849,"src":"46377:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55749,"name":"uint8","nodeType":"ElementaryTypeName","src":"46377:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55752,"mutability":"mutable","name":"permitR","nameLocation":"46400:7:63","nodeType":"VariableDeclaration","scope":55849,"src":"46392:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46392:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55754,"mutability":"mutable","name":"permitS","nameLocation":"46417:7:63","nodeType":"VariableDeclaration","scope":55849,"src":"46409:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46409:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55760,"initialValue":{"arguments":[{"id":55757,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"46436:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55758,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55719,"src":"46452:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55755,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"46428:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46431:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"46428:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46428:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"46376:87:63"},{"assignments":[55762],"declarations":[{"constant":false,"id":55762,"mutability":"mutable","name":"intentHash","nameLocation":"46482:10:63","nodeType":"VariableDeclaration","scope":55849,"src":"46474:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46474:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55787,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55766,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"46546:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46557:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"46546:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46546:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55769,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"46599:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55772,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"46629:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46621:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55770,"name":"address","nodeType":"ElementaryTypeName","src":"46621:7:63","typeDescriptions":{}}},"id":55773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46621:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55774,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55689,"src":"46653:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55775,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55682,"src":"46677:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55776,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55699,"src":"46708:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":55777,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"46734:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46740:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"46734:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55779,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55706,"src":"46765:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46788:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46828:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46820:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55781,"name":"address","nodeType":"ElementaryTypeName","src":"46820:7:63","typeDescriptions":{}}},"id":55784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46820:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55764,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46518:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46522:6:63","memberName":"encode","nodeType":"MemberAccess","src":"46518:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46518:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55763,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"46495:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46495:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"46474:396:63"},{"assignments":[55789],"declarations":[{"constant":false,"id":55789,"mutability":"mutable","name":"intentDigest","nameLocation":"46888:12:63","nodeType":"VariableDeclaration","scope":55849,"src":"46880:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46880:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55800,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46930:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55794,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"46942:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46953:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"46942:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46942:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55797,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55762,"src":"46973:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55791,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46913:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55792,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46917:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"46913:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46913:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55790,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"46903:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46903:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"46880:105:63"},{"assignments":[55802,55804,55806],"declarations":[{"constant":false,"id":55802,"mutability":"mutable","name":"sigV","nameLocation":"47002:4:63","nodeType":"VariableDeclaration","scope":55849,"src":"46996:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55801,"name":"uint8","nodeType":"ElementaryTypeName","src":"46996:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55804,"mutability":"mutable","name":"sigR","nameLocation":"47016:4:63","nodeType":"VariableDeclaration","scope":55849,"src":"47008:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47008:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55806,"mutability":"mutable","name":"sigS","nameLocation":"47030:4:63","nodeType":"VariableDeclaration","scope":55849,"src":"47022:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47022:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55812,"initialValue":{"arguments":[{"id":55809,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"47046:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55810,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55789,"src":"47062:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55807,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"47038:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47041:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"47038:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47038:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"46995:80:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55813,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"47086:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47089:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18556,"src":"47086:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":55816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47086:17:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55817,"nodeType":"ExpressionStatement","src":"47086:17:63"},{"expression":{"arguments":[{"id":55821,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"47163:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55824,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"47189:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47181:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55822,"name":"address","nodeType":"ElementaryTypeName","src":"47181:7:63","typeDescriptions":{}}},"id":55825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47181:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55826,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55689,"src":"47209:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55827,"name":"permitAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55713,"src":"47229:12:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55828,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55682,"src":"47255:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55829,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55699,"src":"47282:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55830,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55706,"src":"47304:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47323:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47346:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47338:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55832,"name":"address","nodeType":"ElementaryTypeName","src":"47338:7:63","typeDescriptions":{}}},"id":55835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47338:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55836,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55750,"src":"47362:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55837,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55752,"src":"47383:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55838,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55754,"src":"47404:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55839,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55802,"src":"47425:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":55840,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55804,"src":"47443:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55841,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55806,"src":"47461:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55818,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"47113:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47124:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"47113:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":55842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47113:362:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55843,"nodeType":"ExpressionStatement","src":"47113:362:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55844,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"47486:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47489:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"47486:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":55847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47486:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55848,"nodeType":"ExpressionStatement","src":"47486:14:63"}]},"functionSelector":"2bce844d","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitTransferFromFails","nameLocation":"45370:46:63","parameters":{"id":55673,"nodeType":"ParameterList","parameters":[],"src":"45416:2:63"},"returnParameters":{"id":55674,"nodeType":"ParameterList","parameters":[],"src":"45426:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":56029,"nodeType":"FunctionDefinition","src":"47513:2151:63","nodes":[],"body":{"id":56028,"nodeType":"Block","src":"47572:2092:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":55856,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"47596:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55853,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"47582:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47585:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"47582:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":55857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47582:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55858,"nodeType":"ExpressionStatement","src":"47582:19:63"},{"assignments":[55860],"declarations":[{"constant":false,"id":55860,"mutability":"mutable","name":"intentAddress","nameLocation":"47620:13:63","nodeType":"VariableDeclaration","scope":56028,"src":"47612:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55859,"name":"address","nodeType":"ElementaryTypeName","src":"47612:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55865,"initialValue":{"arguments":[{"hexValue":"307835363738","id":55863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47644:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":55862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47636:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55861,"name":"address","nodeType":"ElementaryTypeName","src":"47636:7:63","typeDescriptions":{}}},"id":55864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47636:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"47612:39:63"},{"assignments":[55867],"declarations":[{"constant":false,"id":55867,"mutability":"mutable","name":"amount","nameLocation":"47669:6:63","nodeType":"VariableDeclaration","scope":56028,"src":"47661:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55866,"name":"uint256","nodeType":"ElementaryTypeName","src":"47661:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55875,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":55868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47678:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":55869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47683:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55870,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"47689:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47695:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"47689:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":55872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47689:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"47683:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47678:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47661:44:63"},{"assignments":[55877],"declarations":[{"constant":false,"id":55877,"mutability":"mutable","name":"deadline","nameLocation":"47723:8:63","nodeType":"VariableDeclaration","scope":56028,"src":"47715:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55876,"name":"uint256","nodeType":"ElementaryTypeName","src":"47715:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55882,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55878,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"47734:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47740:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"47734:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":55880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47752:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"47734:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47715:41:63"},{"assignments":[55884],"declarations":[{"constant":false,"id":55884,"mutability":"mutable","name":"nonce","nameLocation":"47774:5:63","nodeType":"VariableDeclaration","scope":56028,"src":"47766:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55883,"name":"uint256","nodeType":"ElementaryTypeName","src":"47766:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55889,"initialValue":{"arguments":[{"id":55887,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"47800:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55885,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"47782:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47793:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"47782:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47782:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47766:39:63"},{"assignments":[55891],"declarations":[{"constant":false,"id":55891,"mutability":"mutable","name":"wrongPrivateKey","nameLocation":"47874:15:63","nodeType":"VariableDeclaration","scope":56028,"src":"47866:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55890,"name":"uint256","nodeType":"ElementaryTypeName","src":"47866:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55893,"initialValue":{"hexValue":"3078393837363534333231","id":55892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47892:11:63","typeDescriptions":{"typeIdentifier":"t_rational_40926266145_by_1","typeString":"int_const 40926266145"},"value":"0x987654321"},"nodeType":"VariableDeclarationStatement","src":"47866:37:63"},{"assignments":[55895],"declarations":[{"constant":false,"id":55895,"mutability":"mutable","name":"permitHash","nameLocation":"47922:10:63","nodeType":"VariableDeclaration","scope":56028,"src":"47914:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47914:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55924,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47992:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55900,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"48020:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48026:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"48020:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48020:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":55907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48139:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":55906,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"48129:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48129:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55909,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"48250:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55912,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"48288:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":55911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48280:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55910,"name":"address","nodeType":"ElementaryTypeName","src":"48280:7:63","typeDescriptions":{}}},"id":55913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48280:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55914,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55867,"src":"48325:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":55917,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"48370:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55915,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"48357:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":55916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48363:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"48357:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":55918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48357:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55919,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55877,"src":"48401:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55904,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48093:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48097:6:63","memberName":"encode","nodeType":"MemberAccess","src":"48093:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48093:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55903,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"48062:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48062:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55897,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47958:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47962:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"47958:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47958:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55896,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"47935:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47935:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"47914:559:63"},{"assignments":[55926,55928,55930],"declarations":[{"constant":false,"id":55926,"mutability":"mutable","name":"permitV","nameLocation":"48491:7:63","nodeType":"VariableDeclaration","scope":56028,"src":"48485:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55925,"name":"uint8","nodeType":"ElementaryTypeName","src":"48485:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55928,"mutability":"mutable","name":"permitR","nameLocation":"48508:7:63","nodeType":"VariableDeclaration","scope":56028,"src":"48500:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48500:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55930,"mutability":"mutable","name":"permitS","nameLocation":"48525:7:63","nodeType":"VariableDeclaration","scope":56028,"src":"48517:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48517:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55936,"initialValue":{"arguments":[{"id":55933,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"48544:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55934,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55895,"src":"48560:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55931,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"48536:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48539:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"48536:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48536:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"48484:87:63"},{"assignments":[55938],"declarations":[{"constant":false,"id":55938,"mutability":"mutable","name":"intentHash","nameLocation":"48590:10:63","nodeType":"VariableDeclaration","scope":56028,"src":"48582:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48582:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55963,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55942,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"48654:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48665:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"48654:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48654:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55945,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"48707:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":55948,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"48737:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":55947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48729:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55946,"name":"address","nodeType":"ElementaryTypeName","src":"48729:7:63","typeDescriptions":{}}},"id":55949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48729:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55950,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55867,"src":"48761:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55951,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55860,"src":"48785:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55952,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55877,"src":"48816:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":55953,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"48842:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48848:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"48842:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55955,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55884,"src":"48873:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":55956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48896:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":55959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48936:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48928:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55957,"name":"address","nodeType":"ElementaryTypeName","src":"48928:7:63","typeDescriptions":{}}},"id":55960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48928:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55940,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48626:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48630:6:63","memberName":"encode","nodeType":"MemberAccess","src":"48626:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48626:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55939,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"48603:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48603:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"48582:396:63"},{"assignments":[55965],"declarations":[{"constant":false,"id":55965,"mutability":"mutable","name":"intentDigest","nameLocation":"48996:12:63","nodeType":"VariableDeclaration","scope":56028,"src":"48988:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48988:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55976,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":55969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49038:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55970,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"49050:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49061:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"49050:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":55972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49050:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":55973,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55938,"src":"49081:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55967,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49021:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49025:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"49021:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49021:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55966,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"49011:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":55975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49011:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"48988:105:63"},{"assignments":[55978,55980,55982],"declarations":[{"constant":false,"id":55978,"mutability":"mutable","name":"sigV","nameLocation":"49110:4:63","nodeType":"VariableDeclaration","scope":56028,"src":"49104:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55977,"name":"uint8","nodeType":"ElementaryTypeName","src":"49104:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":55980,"mutability":"mutable","name":"sigR","nameLocation":"49124:4:63","nodeType":"VariableDeclaration","scope":56028,"src":"49116:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49116:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":55982,"mutability":"mutable","name":"sigS","nameLocation":"49138:4:63","nodeType":"VariableDeclaration","scope":56028,"src":"49130:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":55981,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49130:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":55988,"initialValue":{"arguments":[{"id":55985,"name":"wrongPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55891,"src":"49154:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55986,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55965,"src":"49171:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55983,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"49146:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49149:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"49146:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":55987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49146:38:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"49103:81:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":55992,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"49211:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":55993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49234:22:63","memberName":"InvalidIntentSignature","nodeType":"MemberAccess","referencedDeclaration":49319,"src":"49211:45:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":55994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49257:8:63","memberName":"selector","nodeType":"MemberAccess","src":"49211:54:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":55989,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"49195:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":55991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49198:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"49195:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":55995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49195:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55996,"nodeType":"ExpressionStatement","src":"49195:71:63"},{"expression":{"arguments":[{"id":56000,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"49326:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56003,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"49352:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49344:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56001,"name":"address","nodeType":"ElementaryTypeName","src":"49344:7:63","typeDescriptions":{}}},"id":56004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49344:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56005,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55867,"src":"49372:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56006,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55867,"src":"49392:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56007,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55860,"src":"49412:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56008,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55877,"src":"49439:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56009,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55884,"src":"49461:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49480:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49503:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49495:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56011,"name":"address","nodeType":"ElementaryTypeName","src":"49495:7:63","typeDescriptions":{}}},"id":56014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49495:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56015,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55926,"src":"49519:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56016,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55928,"src":"49540:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56017,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55930,"src":"49561:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56018,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55978,"src":"49582:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56019,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55980,"src":"49600:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56020,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55982,"src":"49618:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":55997,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"49276:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":55999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49287:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"49276:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":56021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49276:356:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56022,"nodeType":"ExpressionStatement","src":"49276:356:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56023,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"49643:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49646:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"49643:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":56026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49643:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56027,"nodeType":"ExpressionStatement","src":"49643:14:63"}]},"functionSelector":"be4671ef","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitWrongSigner","nameLocation":"47522:40:63","parameters":{"id":55851,"nodeType":"ParameterList","parameters":[],"src":"47562:2:63"},"returnParameters":{"id":55852,"nodeType":"ParameterList","parameters":[],"src":"47572:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":56280,"nodeType":"FunctionDefinition","src":"49670:3412:63","nodes":[],"body":{"id":56279,"nodeType":"Block","src":"49729:3353:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":56035,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"49753:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56032,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"49739:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49742:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"49739:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":56036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49739:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56037,"nodeType":"ExpressionStatement","src":"49739:19:63"},{"assignments":[56039],"declarations":[{"constant":false,"id":56039,"mutability":"mutable","name":"intentAddress","nameLocation":"49777:13:63","nodeType":"VariableDeclaration","scope":56279,"src":"49769:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56038,"name":"address","nodeType":"ElementaryTypeName","src":"49769:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56044,"initialValue":{"arguments":[{"hexValue":"307835363738","id":56042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49801:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":56041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49793:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56040,"name":"address","nodeType":"ElementaryTypeName","src":"49793:7:63","typeDescriptions":{}}},"id":56043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49793:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"49769:39:63"},{"assignments":[56046],"declarations":[{"constant":false,"id":56046,"mutability":"mutable","name":"amount","nameLocation":"49826:6:63","nodeType":"VariableDeclaration","scope":56279,"src":"49818:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56045,"name":"uint256","nodeType":"ElementaryTypeName","src":"49818:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56054,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":56047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49835:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":56048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49840:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56049,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"49846:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49852:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"49846:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":56051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49846:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"49840:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"49835:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"49818:44:63"},{"assignments":[56056],"declarations":[{"constant":false,"id":56056,"mutability":"mutable","name":"deadline","nameLocation":"49880:8:63","nodeType":"VariableDeclaration","scope":56279,"src":"49872:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56055,"name":"uint256","nodeType":"ElementaryTypeName","src":"49872:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56061,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56057,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"49891:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49897:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"49891:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":56059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49909:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"49891:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"49872:41:63"},{"assignments":[56063],"declarations":[{"constant":false,"id":56063,"mutability":"mutable","name":"nonce","nameLocation":"49931:5:63","nodeType":"VariableDeclaration","scope":56279,"src":"49923:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56062,"name":"uint256","nodeType":"ElementaryTypeName","src":"49923:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56068,"initialValue":{"arguments":[{"id":56066,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"49957:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56064,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"49939:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49950:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"49939:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49939:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"49923:39:63"},{"assignments":[56070],"declarations":[{"constant":false,"id":56070,"mutability":"mutable","name":"permitHash","nameLocation":"49981:10:63","nodeType":"VariableDeclaration","scope":56279,"src":"49973:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49973:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56099,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":56074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50051:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56075,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"50079:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50085:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"50079:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50079:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":56082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50198:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":56081,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"50188:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50188:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56084,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"50309:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56087,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"50347:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":56086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50339:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56085,"name":"address","nodeType":"ElementaryTypeName","src":"50339:7:63","typeDescriptions":{}}},"id":56088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50339:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56089,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56046,"src":"50384:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":56092,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"50429:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56090,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"50416:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50422:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"50416:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50416:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56094,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56056,"src":"50460:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50152:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50156:6:63","memberName":"encode","nodeType":"MemberAccess","src":"50152:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50152:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56078,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"50121:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50121:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56072,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50017:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50021:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"50017:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50017:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56071,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"49994:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49994:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"49973:559:63"},{"assignments":[56101,56103,56105],"declarations":[{"constant":false,"id":56101,"mutability":"mutable","name":"permitV","nameLocation":"50550:7:63","nodeType":"VariableDeclaration","scope":56279,"src":"50544:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56100,"name":"uint8","nodeType":"ElementaryTypeName","src":"50544:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56103,"mutability":"mutable","name":"permitR","nameLocation":"50567:7:63","nodeType":"VariableDeclaration","scope":56279,"src":"50559:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50559:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56105,"mutability":"mutable","name":"permitS","nameLocation":"50584:7:63","nodeType":"VariableDeclaration","scope":56279,"src":"50576:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50576:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56111,"initialValue":{"arguments":[{"id":56108,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"50603:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56109,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56070,"src":"50619:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56106,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"50595:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50598:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"50595:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":56110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50595:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"50543:87:63"},{"assignments":[56113],"declarations":[{"constant":false,"id":56113,"mutability":"mutable","name":"intentHash","nameLocation":"50649:10:63","nodeType":"VariableDeclaration","scope":56279,"src":"50641:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50641:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56138,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56117,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"50713:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50724:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"50713:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50713:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56120,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"50766:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56123,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"50796:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50788:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56121,"name":"address","nodeType":"ElementaryTypeName","src":"50788:7:63","typeDescriptions":{}}},"id":56124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50788:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56125,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56046,"src":"50820:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56126,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56039,"src":"50844:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56127,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56056,"src":"50875:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":56128,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"50901:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50907:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"50901:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56130,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56063,"src":"50932:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50955:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50995:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50987:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56132,"name":"address","nodeType":"ElementaryTypeName","src":"50987:7:63","typeDescriptions":{}}},"id":56135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50987:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56115,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50685:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50689:6:63","memberName":"encode","nodeType":"MemberAccess","src":"50685:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50685:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56114,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"50662:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50662:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"50641:396:63"},{"assignments":[56140],"declarations":[{"constant":false,"id":56140,"mutability":"mutable","name":"intentDigest","nameLocation":"51055:12:63","nodeType":"VariableDeclaration","scope":56279,"src":"51047:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51047:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56151,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":56144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51097:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56145,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"51109:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51120:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"51109:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51109:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56148,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56113,"src":"51140:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56142,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51080:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51084:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"51080:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51080:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56141,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"51070:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51070:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"51047:105:63"},{"assignments":[56153,56155,56157],"declarations":[{"constant":false,"id":56153,"mutability":"mutable","name":"sigV","nameLocation":"51169:4:63","nodeType":"VariableDeclaration","scope":56279,"src":"51163:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56152,"name":"uint8","nodeType":"ElementaryTypeName","src":"51163:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56155,"mutability":"mutable","name":"sigR","nameLocation":"51183:4:63","nodeType":"VariableDeclaration","scope":56279,"src":"51175:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56154,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51175:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56157,"mutability":"mutable","name":"sigS","nameLocation":"51197:4:63","nodeType":"VariableDeclaration","scope":56279,"src":"51189:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51189:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56163,"initialValue":{"arguments":[{"id":56160,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"51213:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56161,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56140,"src":"51229:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56158,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"51205:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51208:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"51205:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":56162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51205:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"51162:80:63"},{"expression":{"arguments":[{"id":56167,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"51340:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56170,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"51366:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"51358:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56168,"name":"address","nodeType":"ElementaryTypeName","src":"51358:7:63","typeDescriptions":{}}},"id":56171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51358:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56172,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56046,"src":"51386:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56173,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56046,"src":"51406:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56174,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56039,"src":"51426:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56175,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56056,"src":"51453:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56176,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56063,"src":"51475:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51494:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51517:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"51509:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56178,"name":"address","nodeType":"ElementaryTypeName","src":"51509:7:63","typeDescriptions":{}}},"id":56181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51509:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56182,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56101,"src":"51533:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56183,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56103,"src":"51554:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56184,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56105,"src":"51575:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56185,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56153,"src":"51596:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56186,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56155,"src":"51614:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56187,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"51632:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56164,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"51290:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51301:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"51290:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":56188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51290:356:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56189,"nodeType":"ExpressionStatement","src":"51290:356:63"},{"assignments":[56191],"declarations":[{"constant":false,"id":56191,"mutability":"mutable","name":"nonce2","nameLocation":"51781:6:63","nodeType":"VariableDeclaration","scope":56279,"src":"51773:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56190,"name":"uint256","nodeType":"ElementaryTypeName","src":"51773:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56196,"initialValue":{"arguments":[{"id":56194,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"51808:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56192,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"51790:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51801:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"51790:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51790:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"51773:40:63"},{"assignments":[56198],"declarations":[{"constant":false,"id":56198,"mutability":"mutable","name":"permitHash2","nameLocation":"51831:11:63","nodeType":"VariableDeclaration","scope":56279,"src":"51823:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51823:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56227,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":56202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51902:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56203,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"51930:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51936:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"51930:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51930:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":56210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52049:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":56209,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"52039:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52039:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56212,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"52160:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56215,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"52198:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":56214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52190:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56213,"name":"address","nodeType":"ElementaryTypeName","src":"52190:7:63","typeDescriptions":{}}},"id":56216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52190:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56217,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56046,"src":"52235:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":56220,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"52280:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56218,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"52267:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52273:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"52267:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52267:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56222,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56056,"src":"52328:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56207,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52003:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52007:6:63","memberName":"encode","nodeType":"MemberAccess","src":"52003:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52003:355:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56206,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"51972:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51972:404:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56200,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51868:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51872:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"51868:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51868:522:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56199,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"51845:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51845:555:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"51823:577:63"},{"assignments":[56229,56231,56233],"declarations":[{"constant":false,"id":56229,"mutability":"mutable","name":"permitV2","nameLocation":"52418:8:63","nodeType":"VariableDeclaration","scope":56279,"src":"52412:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56228,"name":"uint8","nodeType":"ElementaryTypeName","src":"52412:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56231,"mutability":"mutable","name":"permitR2","nameLocation":"52436:8:63","nodeType":"VariableDeclaration","scope":56279,"src":"52428:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52428:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56233,"mutability":"mutable","name":"permitS2","nameLocation":"52454:8:63","nodeType":"VariableDeclaration","scope":56279,"src":"52446:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52446:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56239,"initialValue":{"arguments":[{"id":56236,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"52474:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56237,"name":"permitHash2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56198,"src":"52490:11:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56234,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"52466:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52469:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"52466:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":56238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52466:36:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"52411:91:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":56243,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"52625:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":56244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52648:22:63","memberName":"InvalidIntentSignature","nodeType":"MemberAccess","referencedDeclaration":49319,"src":"52625:45:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":56245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52671:8:63","memberName":"selector","nodeType":"MemberAccess","src":"52625:54:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":56240,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"52609:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52612:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"52609:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":56246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52609:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56247,"nodeType":"ExpressionStatement","src":"52609:71:63"},{"expression":{"arguments":[{"id":56251,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"52740:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56254,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"52766:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52758:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56252,"name":"address","nodeType":"ElementaryTypeName","src":"52758:7:63","typeDescriptions":{}}},"id":56255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52758:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56256,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56046,"src":"52786:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56257,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56046,"src":"52806:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56258,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56039,"src":"52826:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56259,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56056,"src":"52853:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56260,"name":"nonce2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56191,"src":"52875:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52895:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52918:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52910:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56262,"name":"address","nodeType":"ElementaryTypeName","src":"52910:7:63","typeDescriptions":{}}},"id":56265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52910:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56266,"name":"permitV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56229,"src":"52934:8:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56267,"name":"permitR2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56231,"src":"52956:8:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56268,"name":"permitS2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56233,"src":"52978:8:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56269,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56153,"src":"53000:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56270,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56155,"src":"53018:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56271,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"53036:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56248,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"52690:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52701:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"52690:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":56272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52690:360:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56273,"nodeType":"ExpressionStatement","src":"52690:360:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56274,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"53061:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53064:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"53061:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":56277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53061:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56278,"nodeType":"ExpressionStatement","src":"53061:14:63"}]},"functionSelector":"c13acba0","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitAlreadyUsed","nameLocation":"49679:40:63","parameters":{"id":56030,"nodeType":"ParameterList","parameters":[],"src":"49719:2:63"},"returnParameters":{"id":56031,"nodeType":"ParameterList","parameters":[],"src":"49729:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":56481,"nodeType":"FunctionDefinition","src":"53088:2557:63","nodes":[],"body":{"id":56480,"nodeType":"Block","src":"53156:2489:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":56286,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"53180:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56283,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"53166:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53169:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"53166:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":56287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53166:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56288,"nodeType":"ExpressionStatement","src":"53166:19:63"},{"assignments":[56290],"declarations":[{"constant":false,"id":56290,"mutability":"mutable","name":"intentAddress","nameLocation":"53204:13:63","nodeType":"VariableDeclaration","scope":56480,"src":"53196:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56289,"name":"address","nodeType":"ElementaryTypeName","src":"53196:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56295,"initialValue":{"arguments":[{"hexValue":"307835363738","id":56293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53228:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":56292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53220:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56291,"name":"address","nodeType":"ElementaryTypeName","src":"53220:7:63","typeDescriptions":{}}},"id":56294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53220:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"53196:39:63"},{"assignments":[56297],"declarations":[{"constant":false,"id":56297,"mutability":"mutable","name":"amount","nameLocation":"53253:6:63","nodeType":"VariableDeclaration","scope":56480,"src":"53245:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56296,"name":"uint256","nodeType":"ElementaryTypeName","src":"53245:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56305,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":56298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53262:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":56299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53267:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56300,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"53273:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53279:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"53273:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":56302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53273:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"53267:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"53262:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"53245:44:63"},{"assignments":[56307],"declarations":[{"constant":false,"id":56307,"mutability":"mutable","name":"deadline","nameLocation":"53307:8:63","nodeType":"VariableDeclaration","scope":56480,"src":"53299:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56306,"name":"uint256","nodeType":"ElementaryTypeName","src":"53299:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56312,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56308,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"53318:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53324:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"53318:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":56310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53336:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"53318:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"53299:41:63"},{"assignments":[56314],"declarations":[{"constant":false,"id":56314,"mutability":"mutable","name":"nonce","nameLocation":"53358:5:63","nodeType":"VariableDeclaration","scope":56480,"src":"53350:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56313,"name":"uint256","nodeType":"ElementaryTypeName","src":"53350:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56319,"initialValue":{"arguments":[{"id":56317,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"53384:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56315,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"53366:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53377:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"53366:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53366:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"53350:39:63"},{"assignments":[56321],"declarations":[{"constant":false,"id":56321,"mutability":"mutable","name":"permitHash","nameLocation":"53408:10:63","nodeType":"VariableDeclaration","scope":56480,"src":"53400:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53400:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56350,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":56325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53478:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56326,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"53506:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53512:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"53506:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53506:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":56333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53625:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":56332,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"53615:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53615:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56335,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"53736:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56338,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"53774:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":56337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53766:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56336,"name":"address","nodeType":"ElementaryTypeName","src":"53766:7:63","typeDescriptions":{}}},"id":56339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53766:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56340,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56297,"src":"53811:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":56343,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"53856:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56341,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"53843:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53849:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"53843:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53843:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56345,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56307,"src":"53887:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56330,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53579:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53583:6:63","memberName":"encode","nodeType":"MemberAccess","src":"53579:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53579:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56329,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"53548:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53548:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56323,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53444:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53448:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"53444:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53444:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56322,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"53421:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53421:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"53400:559:63"},{"assignments":[56352,56354,56356],"declarations":[{"constant":false,"id":56352,"mutability":"mutable","name":"permitV","nameLocation":"53977:7:63","nodeType":"VariableDeclaration","scope":56480,"src":"53971:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56351,"name":"uint8","nodeType":"ElementaryTypeName","src":"53971:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56354,"mutability":"mutable","name":"permitR","nameLocation":"53994:7:63","nodeType":"VariableDeclaration","scope":56480,"src":"53986:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53986:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56356,"mutability":"mutable","name":"permitS","nameLocation":"54011:7:63","nodeType":"VariableDeclaration","scope":56480,"src":"54003:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54003:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56362,"initialValue":{"arguments":[{"id":56359,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"54030:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56360,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56321,"src":"54046:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"54022:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54025:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"54022:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":56361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54022:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"53970:87:63"},{"assignments":[56364],"declarations":[{"constant":false,"id":56364,"mutability":"mutable","name":"intentHash","nameLocation":"54076:10:63","nodeType":"VariableDeclaration","scope":56480,"src":"54068:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54068:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56389,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56368,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"54140:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54151:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"54140:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54140:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56371,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"54193:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56374,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"54223:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54215:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56372,"name":"address","nodeType":"ElementaryTypeName","src":"54215:7:63","typeDescriptions":{}}},"id":56375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54215:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56376,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56297,"src":"54247:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56377,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56290,"src":"54271:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56378,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56307,"src":"54302:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":56379,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"54328:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54334:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"54328:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56381,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56314,"src":"54359:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54382:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54422:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54414:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56383,"name":"address","nodeType":"ElementaryTypeName","src":"54414:7:63","typeDescriptions":{}}},"id":56386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54414:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56366,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54112:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54116:6:63","memberName":"encode","nodeType":"MemberAccess","src":"54112:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54112:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56365,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"54089:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54089:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"54068:396:63"},{"assignments":[56391],"declarations":[{"constant":false,"id":56391,"mutability":"mutable","name":"intentDigest","nameLocation":"54483:12:63","nodeType":"VariableDeclaration","scope":56480,"src":"54475:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54475:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56402,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":56395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54525:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56396,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"54537:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54548:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"54537:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54537:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56399,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56364,"src":"54568:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54508:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54512:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"54508:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54508:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56392,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"54498:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54498:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"54475:105:63"},{"assignments":[56404,56406,56408],"declarations":[{"constant":false,"id":56404,"mutability":"mutable","name":"sigV","nameLocation":"54598:4:63","nodeType":"VariableDeclaration","scope":56480,"src":"54592:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56403,"name":"uint8","nodeType":"ElementaryTypeName","src":"54592:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56406,"mutability":"mutable","name":"sigR","nameLocation":"54612:4:63","nodeType":"VariableDeclaration","scope":56480,"src":"54604:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54604:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56408,"mutability":"mutable","name":"sigS","nameLocation":"54626:4:63","nodeType":"VariableDeclaration","scope":56480,"src":"54618:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56407,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54618:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56414,"initialValue":{"arguments":[{"id":56411,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"54642:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56412,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56391,"src":"54658:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56409,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"54634:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54637:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"54634:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":56413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54634:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"54591:80:63"},{"expression":{"arguments":[{"id":56418,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"54769:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56421,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"54795:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56420,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54787:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56419,"name":"address","nodeType":"ElementaryTypeName","src":"54787:7:63","typeDescriptions":{}}},"id":56422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54787:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56423,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56297,"src":"54815:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56424,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56297,"src":"54835:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56425,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56290,"src":"54855:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56426,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56307,"src":"54882:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56427,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56314,"src":"54904:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54923:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54946:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54938:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56429,"name":"address","nodeType":"ElementaryTypeName","src":"54938:7:63","typeDescriptions":{}}},"id":56432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54938:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56433,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56352,"src":"54962:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56434,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56354,"src":"54983:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56435,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56356,"src":"55004:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56436,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56404,"src":"55025:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56437,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56406,"src":"55043:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56438,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56408,"src":"55061:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56415,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"54719:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54730:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"54719:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":56439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54719:356:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56440,"nodeType":"ExpressionStatement","src":"54719:356:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":56444,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"55202:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":56445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55225:12:63","memberName":"InvalidNonce","nodeType":"MemberAccess","referencedDeclaration":49321,"src":"55202:35:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":56446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55238:8:63","memberName":"selector","nodeType":"MemberAccess","src":"55202:44:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":56441,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"55186:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55189:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"55186:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":56447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55186:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56448,"nodeType":"ExpressionStatement","src":"55186:61:63"},{"expression":{"arguments":[{"id":56452,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"55307:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56455,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"55333:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"55325:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56453,"name":"address","nodeType":"ElementaryTypeName","src":"55325:7:63","typeDescriptions":{}}},"id":56456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55325:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56457,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56297,"src":"55353:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56458,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56297,"src":"55373:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56459,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56290,"src":"55393:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56460,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56307,"src":"55420:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56461,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56314,"src":"55442:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55461:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55484:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"55476:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56463,"name":"address","nodeType":"ElementaryTypeName","src":"55476:7:63","typeDescriptions":{}}},"id":56466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55476:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56467,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56352,"src":"55500:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56468,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56354,"src":"55521:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56469,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56356,"src":"55542:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56470,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56404,"src":"55563:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56471,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56406,"src":"55581:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56472,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56408,"src":"55599:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56449,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"55257:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55268:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"55257:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":56473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55257:356:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56474,"nodeType":"ExpressionStatement","src":"55257:356:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56475,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"55624:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55627:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"55624:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":56478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55624:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56479,"nodeType":"ExpressionStatement","src":"55624:14:63"}]},"functionSelector":"774345cd","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitReentrancyProtection","nameLocation":"53097:49:63","parameters":{"id":56281,"nodeType":"ParameterList","parameters":[],"src":"53146:2:63"},"returnParameters":{"id":56282,"nodeType":"ParameterList","parameters":[],"src":"53156:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":56643,"nodeType":"FunctionDefinition","src":"55651:1489:63","nodes":[],"body":{"id":56642,"nodeType":"Block","src":"55709:1431:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":56487,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"55733:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56484,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"55719:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55722:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"55719:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":56488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55719:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56489,"nodeType":"ExpressionStatement","src":"55719:19:63"},{"assignments":[56491],"declarations":[{"constant":false,"id":56491,"mutability":"mutable","name":"intentAddress","nameLocation":"55757:13:63","nodeType":"VariableDeclaration","scope":56642,"src":"55749:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56490,"name":"address","nodeType":"ElementaryTypeName","src":"55749:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56496,"initialValue":{"arguments":[{"hexValue":"307835363738","id":56494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55781:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":56493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"55773:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56492,"name":"address","nodeType":"ElementaryTypeName","src":"55773:7:63","typeDescriptions":{}}},"id":56495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55773:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"55749:39:63"},{"assignments":[56498],"declarations":[{"constant":false,"id":56498,"mutability":"mutable","name":"amount","nameLocation":"55806:6:63","nodeType":"VariableDeclaration","scope":56642,"src":"55798:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56497,"name":"uint256","nodeType":"ElementaryTypeName","src":"55798:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56506,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":56499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55815:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":56500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55820:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56501,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"55826:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55832:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"55826:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":56503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55826:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"55820:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"55815:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"55798:44:63"},{"assignments":[56508],"declarations":[{"constant":false,"id":56508,"mutability":"mutable","name":"deadline","nameLocation":"55860:8:63","nodeType":"VariableDeclaration","scope":56642,"src":"55852:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56507,"name":"uint256","nodeType":"ElementaryTypeName","src":"55852:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56513,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56509,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"55871:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55877:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"55871:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":56511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55889:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"55871:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"55852:41:63"},{"assignments":[56515],"declarations":[{"constant":false,"id":56515,"mutability":"mutable","name":"nonce","nameLocation":"55911:5:63","nodeType":"VariableDeclaration","scope":56642,"src":"55903:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56514,"name":"uint256","nodeType":"ElementaryTypeName","src":"55903:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56520,"initialValue":{"arguments":[{"id":56518,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"55937:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56516,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"55919:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55930:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"55919:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55919:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"55903:39:63"},{"assignments":[56522],"declarations":[{"constant":false,"id":56522,"mutability":"mutable","name":"intentHash","nameLocation":"55961:10:63","nodeType":"VariableDeclaration","scope":56642,"src":"55953:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"55953:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56547,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56526,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"56025:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56036:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"56025:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56025:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56529,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"56078:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56532,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"56108:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56100:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56530,"name":"address","nodeType":"ElementaryTypeName","src":"56100:7:63","typeDescriptions":{}}},"id":56533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56100:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56534,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56498,"src":"56132:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56535,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56491,"src":"56156:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56536,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"56187:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":56537,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"56213:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56219:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"56213:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56539,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56515,"src":"56244:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56267:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56307:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56299:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56541,"name":"address","nodeType":"ElementaryTypeName","src":"56299:7:63","typeDescriptions":{}}},"id":56544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56299:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56524,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55997:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56001:6:63","memberName":"encode","nodeType":"MemberAccess","src":"55997:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55997:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56523,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"55974:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55974:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"55953:396:63"},{"assignments":[56549],"declarations":[{"constant":false,"id":56549,"mutability":"mutable","name":"intentDigest","nameLocation":"56368:12:63","nodeType":"VariableDeclaration","scope":56642,"src":"56360:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56360:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56560,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":56553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56410:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56554,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"56422:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56433:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"56422:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56422:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56557,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56522,"src":"56453:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56393:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56397:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"56393:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56393:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56550,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"56383:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56383:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"56360:105:63"},{"assignments":[56562,56564,56566],"declarations":[{"constant":false,"id":56562,"mutability":"mutable","name":"sigV","nameLocation":"56483:4:63","nodeType":"VariableDeclaration","scope":56642,"src":"56477:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56561,"name":"uint8","nodeType":"ElementaryTypeName","src":"56477:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56564,"mutability":"mutable","name":"sigR","nameLocation":"56497:4:63","nodeType":"VariableDeclaration","scope":56642,"src":"56489:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56489:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56566,"mutability":"mutable","name":"sigS","nameLocation":"56511:4:63","nodeType":"VariableDeclaration","scope":56642,"src":"56503:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56503:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56572,"initialValue":{"arguments":[{"id":56569,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"56527:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56570,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56549,"src":"56543:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56567,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"56519:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56522:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"56519:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":56571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56519:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"56476:80:63"},{"expression":{"arguments":[{"arguments":[{"id":56578,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"56589:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":56577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56581:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56576,"name":"address","nodeType":"ElementaryTypeName","src":"56581:7:63","typeDescriptions":{}}},"id":56579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56581:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56580,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56498,"src":"56602:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":56581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56611:1:63","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"56602:10:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56573,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"56567:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56573:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"56567:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56567:46:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56584,"nodeType":"ExpressionStatement","src":"56567:46:63"},{"expression":{"arguments":[{"id":56588,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"56701:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56591,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"56715:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56590,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56707:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56589,"name":"address","nodeType":"ElementaryTypeName","src":"56707:7:63","typeDescriptions":{}}},"id":56592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56707:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56593,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56498,"src":"56723:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56594,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56491,"src":"56731:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56595,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"56746:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56596,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56515,"src":"56756:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56763:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56774:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56766:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56598,"name":"address","nodeType":"ElementaryTypeName","src":"56766:7:63","typeDescriptions":{}}},"id":56601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56766:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56602,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56562,"src":"56778:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56603,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56564,"src":"56784:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56604,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56566,"src":"56790:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56585,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"56661:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56672:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"56661:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":56605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56661:143:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56606,"nodeType":"ExpressionStatement","src":"56661:143:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":56610,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"56910:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":56611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56933:12:63","memberName":"InvalidNonce","nodeType":"MemberAccess","referencedDeclaration":49321,"src":"56910:35:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":56612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56946:8:63","memberName":"selector","nodeType":"MemberAccess","src":"56910:44:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":56607,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"56894:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56897:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"56894:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":56613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56894:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56614,"nodeType":"ExpressionStatement","src":"56894:61:63"},{"expression":{"arguments":[{"id":56618,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"57005:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56621,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"57019:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"57011:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56619,"name":"address","nodeType":"ElementaryTypeName","src":"57011:7:63","typeDescriptions":{}}},"id":56622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57011:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56623,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56498,"src":"57027:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56624,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56491,"src":"57035:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56625,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"57050:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56626,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56515,"src":"57060:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57067:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57078:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"57070:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56628,"name":"address","nodeType":"ElementaryTypeName","src":"57070:7:63","typeDescriptions":{}}},"id":56631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57070:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56632,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56562,"src":"57082:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56633,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56564,"src":"57088:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56634,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56566,"src":"57094:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56615,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"56965:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56976:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"56965:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":56635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56965:143:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56636,"nodeType":"ExpressionStatement","src":"56965:143:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56637,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"57119:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57122:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"57119:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":56640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57119:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56641,"nodeType":"ExpressionStatement","src":"57119:14:63"}]},"functionSelector":"19835737","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentReentrancyProtection","nameLocation":"55660:39:63","parameters":{"id":56482,"nodeType":"ParameterList","parameters":[],"src":"55699:2:63"},"returnParameters":{"id":56483,"nodeType":"ParameterList","parameters":[],"src":"55709:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":56773,"nodeType":"FunctionDefinition","src":"57146:1203:63","nodes":[],"body":{"id":56772,"nodeType":"Block","src":"57190:1159:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":56649,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"57214:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56646,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"57200:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57203:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"57200:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":56650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57200:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56651,"nodeType":"ExpressionStatement","src":"57200:19:63"},{"assignments":[56653],"declarations":[{"constant":false,"id":56653,"mutability":"mutable","name":"intentAddress","nameLocation":"57238:13:63","nodeType":"VariableDeclaration","scope":56772,"src":"57230:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56652,"name":"address","nodeType":"ElementaryTypeName","src":"57230:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56658,"initialValue":{"arguments":[{"hexValue":"307835363738","id":56656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57262:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":56655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"57254:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56654,"name":"address","nodeType":"ElementaryTypeName","src":"57254:7:63","typeDescriptions":{}}},"id":56657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57254:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"57230:39:63"},{"assignments":[56660],"declarations":[{"constant":false,"id":56660,"mutability":"mutable","name":"amount","nameLocation":"57287:6:63","nodeType":"VariableDeclaration","scope":56772,"src":"57279:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56659,"name":"uint256","nodeType":"ElementaryTypeName","src":"57279:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56668,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":56661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57296:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":56662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57301:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56663,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"57307:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57313:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"57307:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":56665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57307:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"57301:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"57296:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"57279:44:63"},{"assignments":[56670],"declarations":[{"constant":false,"id":56670,"mutability":"mutable","name":"deadline","nameLocation":"57341:8:63","nodeType":"VariableDeclaration","scope":56772,"src":"57333:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56669,"name":"uint256","nodeType":"ElementaryTypeName","src":"57333:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56675,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56671,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"57352:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57358:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"57352:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":56673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57370:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"57352:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"57333:41:63"},{"assignments":[56677],"declarations":[{"constant":false,"id":56677,"mutability":"mutable","name":"nonce","nameLocation":"57392:5:63","nodeType":"VariableDeclaration","scope":56772,"src":"57384:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56676,"name":"uint256","nodeType":"ElementaryTypeName","src":"57384:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56682,"initialValue":{"arguments":[{"id":56680,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"57418:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56678,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"57400:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57411:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"57400:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57400:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"57384:39:63"},{"assignments":[56684],"declarations":[{"constant":false,"id":56684,"mutability":"mutable","name":"intentHash","nameLocation":"57442:10:63","nodeType":"VariableDeclaration","scope":56772,"src":"57434:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57434:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56709,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56688,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"57506:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57517:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"57506:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57506:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56691,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"57559:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56694,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"57589:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"57581:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56692,"name":"address","nodeType":"ElementaryTypeName","src":"57581:7:63","typeDescriptions":{}}},"id":56695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57581:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56696,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56660,"src":"57613:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56697,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56653,"src":"57637:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56698,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56670,"src":"57668:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":56699,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"57694:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57700:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"57694:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56701,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"57725:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57748:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57788:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56704,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"57780:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56703,"name":"address","nodeType":"ElementaryTypeName","src":"57780:7:63","typeDescriptions":{}}},"id":56706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57780:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56686,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57478:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57482:6:63","memberName":"encode","nodeType":"MemberAccess","src":"57478:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57478:342:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56685,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"57455:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57455:375:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"57434:396:63"},{"assignments":[56711],"declarations":[{"constant":false,"id":56711,"mutability":"mutable","name":"intentDigest","nameLocation":"57849:12:63","nodeType":"VariableDeclaration","scope":56772,"src":"57841:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57841:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56722,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":56715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57891:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56716,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"57903:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57914:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"57903:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57903:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56719,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56684,"src":"57934:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56713,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57874:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57878:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"57874:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57874:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56712,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"57864:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57864:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"57841:105:63"},{"assignments":[56724,56726,56728],"declarations":[{"constant":false,"id":56724,"mutability":"mutable","name":"sigV","nameLocation":"57964:4:63","nodeType":"VariableDeclaration","scope":56772,"src":"57958:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56723,"name":"uint8","nodeType":"ElementaryTypeName","src":"57958:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56726,"mutability":"mutable","name":"sigR","nameLocation":"57978:4:63","nodeType":"VariableDeclaration","scope":56772,"src":"57970:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57970:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56728,"mutability":"mutable","name":"sigS","nameLocation":"57992:4:63","nodeType":"VariableDeclaration","scope":56772,"src":"57984:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57984:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56734,"initialValue":{"arguments":[{"id":56731,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"58008:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56732,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56711,"src":"58024:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56729,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"58000:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58003:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"58000:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":56733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58000:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"57957:80:63"},{"expression":{"arguments":[{"arguments":[{"id":56740,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"58070:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":56739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"58062:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56738,"name":"address","nodeType":"ElementaryTypeName","src":"58062:7:63","typeDescriptions":{}}},"id":56741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58062:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56742,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56660,"src":"58083:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56735,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"58048:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":56737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58054:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"58048:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58048:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56744,"nodeType":"ExpressionStatement","src":"58048:42:63"},{"expression":{"arguments":[{"id":56748,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"58214:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56751,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"58228:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":56750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"58220:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56749,"name":"address","nodeType":"ElementaryTypeName","src":"58220:7:63","typeDescriptions":{}}},"id":56752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58220:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56753,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56660,"src":"58236:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56754,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56653,"src":"58244:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56755,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56670,"src":"58259:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56756,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"58269:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58276:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58287:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"58279:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56758,"name":"address","nodeType":"ElementaryTypeName","src":"58279:7:63","typeDescriptions":{}}},"id":56761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58279:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56762,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56724,"src":"58291:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56763,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56726,"src":"58297:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56764,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56728,"src":"58303:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56745,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"58174:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58185:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"58174:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":56765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58174:143:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56766,"nodeType":"ExpressionStatement","src":"58174:143:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56767,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"58328:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58331:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"58328:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":56770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58328:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56771,"nodeType":"ExpressionStatement","src":"58328:14:63"}]},"functionSelector":"7747c190","implemented":true,"kind":"function","modifiers":[],"name":"testAssemblyCodeExecution","nameLocation":"57155:25:63","parameters":{"id":56644,"nodeType":"ParameterList","parameters":[],"src":"57180:2:63"},"returnParameters":{"id":56645,"nodeType":"ParameterList","parameters":[],"src":"57190:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":56960,"nodeType":"FunctionDefinition","src":"58776:1898:63","nodes":[],"body":{"id":56959,"nodeType":"Block","src":"58843:1831:63","nodes":[],"statements":[{"assignments":[56779],"declarations":[{"constant":false,"id":56779,"mutability":"mutable","name":"nonStandardToken","nameLocation":"58917:16:63","nodeType":"VariableDeclaration","scope":56959,"src":"58896:37:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"},"typeName":{"id":56778,"nodeType":"UserDefinedTypeName","pathNode":{"id":56777,"name":"MockNonStandardERC20","nameLocations":["58896:20:63"],"nodeType":"IdentifierPath","referencedDeclaration":68448,"src":"58896:20:63"},"referencedDeclaration":68448,"src":"58896:20:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"visibility":"internal"}],"id":56789,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"},"id":56787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31303030303030","id":56783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58961:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1000000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":56786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":56784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58971:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":56785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58977:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"58971:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"58961:17:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"}],"id":56782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"58936:24:63","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_uint256_$returns$_t_contract$_MockNonStandardERC20_$68448_$","typeString":"function (uint256) returns (contract MockNonStandardERC20)"},"typeName":{"id":56781,"nodeType":"UserDefinedTypeName","pathNode":{"id":56780,"name":"MockNonStandardERC20","nameLocations":["58940:20:63"],"nodeType":"IdentifierPath","referencedDeclaration":68448,"src":"58940:20:63"},"referencedDeclaration":68448,"src":"58940:20:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}},"id":56788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58936:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"nodeType":"VariableDeclarationStatement","src":"58896:83:63"},{"expression":{"arguments":[{"id":56793,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"59051:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"id":56798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31303030","id":56794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59057:4:63","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":56797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":56795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59064:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":56796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59070:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"59064:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"59057:14:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"}],"expression":{"id":56790,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"59025:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":56792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59042:8:63","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":68331,"src":"59025:25:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":56799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59025:47:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56800,"nodeType":"ExpressionStatement","src":"59025:47:63"},{"expression":{"arguments":[{"id":56804,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"59097:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"59083:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59086:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"59083:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":56805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59083:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56806,"nodeType":"ExpressionStatement","src":"59083:19:63"},{"assignments":[56808],"declarations":[{"constant":false,"id":56808,"mutability":"mutable","name":"intentAddress","nameLocation":"59121:13:63","nodeType":"VariableDeclaration","scope":56959,"src":"59113:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56807,"name":"address","nodeType":"ElementaryTypeName","src":"59113:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56813,"initialValue":{"arguments":[{"hexValue":"307835363738","id":56811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59145:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":56810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"59137:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56809,"name":"address","nodeType":"ElementaryTypeName","src":"59137:7:63","typeDescriptions":{}}},"id":56812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59137:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"59113:39:63"},{"assignments":[56815],"declarations":[{"constant":false,"id":56815,"mutability":"mutable","name":"amount","nameLocation":"59170:6:63","nodeType":"VariableDeclaration","scope":56959,"src":"59162:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56814,"name":"uint256","nodeType":"ElementaryTypeName","src":"59162:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56821,"initialValue":{"commonType":{"typeIdentifier":"t_rational_50000000_by_1","typeString":"int_const 50000000"},"id":56820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":56816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59179:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":56819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":56817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59184:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":56818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59190:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"59184:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"59179:12:63","typeDescriptions":{"typeIdentifier":"t_rational_50000000_by_1","typeString":"int_const 50000000"}},"nodeType":"VariableDeclarationStatement","src":"59162:29:63"},{"assignments":[56823],"declarations":[{"constant":false,"id":56823,"mutability":"mutable","name":"deadline","nameLocation":"59238:8:63","nodeType":"VariableDeclaration","scope":56959,"src":"59230:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56822,"name":"uint256","nodeType":"ElementaryTypeName","src":"59230:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56828,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56824,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"59249:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59255:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"59249:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":56826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59267:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"59249:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"59230:41:63"},{"assignments":[56830],"declarations":[{"constant":false,"id":56830,"mutability":"mutable","name":"nonce","nameLocation":"59289:5:63","nodeType":"VariableDeclaration","scope":56959,"src":"59281:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56829,"name":"uint256","nodeType":"ElementaryTypeName","src":"59281:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56835,"initialValue":{"arguments":[{"id":56833,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"59315:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56831,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"59297:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59308:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"59297:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59297:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"59281:39:63"},{"assignments":[56837],"declarations":[{"constant":false,"id":56837,"mutability":"mutable","name":"intentHash","nameLocation":"59339:10:63","nodeType":"VariableDeclaration","scope":56959,"src":"59331:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59331:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56862,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56841,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"59403:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59414:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"59403:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59403:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56844,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"59456:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56847,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"59486:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}],"id":56846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"59478:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56845,"name":"address","nodeType":"ElementaryTypeName","src":"59478:7:63","typeDescriptions":{}}},"id":56848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59478:25:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56849,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"59521:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56850,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56808,"src":"59545:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56851,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56823,"src":"59576:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":56852,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"59602:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":56853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59608:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"59602:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56854,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56830,"src":"59633:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59656:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59696:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"59688:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56856,"name":"address","nodeType":"ElementaryTypeName","src":"59688:7:63","typeDescriptions":{}}},"id":56859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59688:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59375:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59379:6:63","memberName":"encode","nodeType":"MemberAccess","src":"59375:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59375:353:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56838,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"59352:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59352:386:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"59331:407:63"},{"assignments":[56864],"declarations":[{"constant":false,"id":56864,"mutability":"mutable","name":"digest","nameLocation":"59757:6:63","nodeType":"VariableDeclaration","scope":56959,"src":"59749:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56863,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59749:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56875,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":56868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59793:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56869,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"59805:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59816:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"59805:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":56871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59805:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56872,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56837,"src":"59836:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56866,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59776:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59780:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"59776:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59776:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56865,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"59766:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":56874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59766:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"59749:99:63"},{"assignments":[56877,56879,56881],"declarations":[{"constant":false,"id":56877,"mutability":"mutable","name":"v","nameLocation":"59865:1:63","nodeType":"VariableDeclaration","scope":56959,"src":"59859:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56876,"name":"uint8","nodeType":"ElementaryTypeName","src":"59859:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":56879,"mutability":"mutable","name":"r","nameLocation":"59876:1:63","nodeType":"VariableDeclaration","scope":56959,"src":"59868:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59868:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56881,"mutability":"mutable","name":"s","nameLocation":"59887:1:63","nodeType":"VariableDeclaration","scope":56959,"src":"59879:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59879:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56887,"initialValue":{"arguments":[{"id":56884,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"59900:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56885,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56864,"src":"59916:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56882,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"59892:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59895:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"59892:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":56886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59892:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"59858:65:63"},{"expression":{"arguments":[{"arguments":[{"id":56893,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"60026:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":56892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"60018:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56891,"name":"address","nodeType":"ElementaryTypeName","src":"60018:7:63","typeDescriptions":{}}},"id":56894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60018:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56895,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"60039:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56888,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"59993:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":56890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"60010:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":68419,"src":"59993:24:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":56896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59993:53:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56897,"nodeType":"ExpressionStatement","src":"59993:53:63"},{"assignments":[56899],"declarations":[{"constant":false,"id":56899,"mutability":"mutable","name":"userBalBefore","nameLocation":"60065:13:63","nodeType":"VariableDeclaration","scope":56959,"src":"60057:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56898,"name":"uint256","nodeType":"ElementaryTypeName","src":"60057:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56904,"initialValue":{"arguments":[{"id":56902,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"60108:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56900,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"60081:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":56901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"60098:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"60081:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60081:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"60057:56:63"},{"assignments":[56906],"declarations":[{"constant":false,"id":56906,"mutability":"mutable","name":"intentBalBefore","nameLocation":"60131:15:63","nodeType":"VariableDeclaration","scope":56959,"src":"60123:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56905,"name":"uint256","nodeType":"ElementaryTypeName","src":"60123:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56911,"initialValue":{"arguments":[{"id":56909,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56808,"src":"60176:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56907,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"60149:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":56908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"60166:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"60149:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60149:41:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"60123:67:63"},{"expression":{"arguments":[{"id":56915,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"60328:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":56918,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"60342:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}],"id":56917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"60334:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56916,"name":"address","nodeType":"ElementaryTypeName","src":"60334:7:63","typeDescriptions":{}}},"id":56919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60334:25:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56920,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"60361:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56921,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56808,"src":"60369:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56922,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56823,"src":"60384:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56923,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56830,"src":"60394:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":56924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60401:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":56927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60412:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"60404:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56925,"name":"address","nodeType":"ElementaryTypeName","src":"60404:7:63","typeDescriptions":{}}},"id":56928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60404:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56929,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56877,"src":"60416:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":56930,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56879,"src":"60419:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":56931,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56881,"src":"60422:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56912,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"60288:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":56914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"60299:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"60288:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":56932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60288:145:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56933,"nodeType":"ExpressionStatement","src":"60288:145:63"},{"expression":{"arguments":[{"arguments":[{"id":56937,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"60525:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56935,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"60498:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":56936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"60515:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"60498:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60498:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56939,"name":"userBalBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56899,"src":"60532:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56940,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"60548:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"60532:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56934,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"60489:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":56942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60489:66:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56943,"nodeType":"ExpressionStatement","src":"60489:66:63"},{"expression":{"arguments":[{"arguments":[{"id":56947,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56808,"src":"60601:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56945,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56779,"src":"60574:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":56946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"60591:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"60574:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":56948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60574:41:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56949,"name":"intentBalBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56906,"src":"60617:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56950,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56815,"src":"60635:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"60617:24:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56944,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"60565:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":56952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60565:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56953,"nodeType":"ExpressionStatement","src":"60565:77:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":56954,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"60653:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"60656:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"60653:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":56957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60653:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56958,"nodeType":"ExpressionStatement","src":"60653:14:63"}]},"documentation":{"id":56774,"nodeType":"StructuredDocumentation","src":"58590:181:63","text":" @notice Test depositToIntent with non-standard ERC20 token (like USDT)\n @dev Verifies SafeERC20.safeTransferFrom works with tokens that don't return boolean"},"functionSelector":"d7284b70","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntent_WithNonStandardERC20_Success","nameLocation":"58785:48:63","parameters":{"id":56775,"nodeType":"ParameterList","parameters":[],"src":"58833:2:63"},"returnParameters":{"id":56776,"nodeType":"ParameterList","parameters":[],"src":"58843:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":57179,"nodeType":"FunctionDefinition","src":"60867:2240:63","nodes":[],"body":{"id":57178,"nodeType":"Block","src":"60940:2167:63","nodes":[],"statements":[{"assignments":[56966],"declarations":[{"constant":false,"id":56966,"mutability":"mutable","name":"nonStandardToken","nameLocation":"61014:16:63","nodeType":"VariableDeclaration","scope":57178,"src":"60993:37:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"},"typeName":{"id":56965,"nodeType":"UserDefinedTypeName","pathNode":{"id":56964,"name":"MockNonStandardERC20","nameLocations":["60993:20:63"],"nodeType":"IdentifierPath","referencedDeclaration":68448,"src":"60993:20:63"},"referencedDeclaration":68448,"src":"60993:20:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"visibility":"internal"}],"id":56976,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"},"id":56974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31303030303030","id":56970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61058:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1000000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":56973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":56971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61068:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":56972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61074:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"61068:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"61058:17:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"}],"id":56969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"61033:24:63","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_uint256_$returns$_t_contract$_MockNonStandardERC20_$68448_$","typeString":"function (uint256) returns (contract MockNonStandardERC20)"},"typeName":{"id":56968,"nodeType":"UserDefinedTypeName","pathNode":{"id":56967,"name":"MockNonStandardERC20","nameLocations":["61037:20:63"],"nodeType":"IdentifierPath","referencedDeclaration":68448,"src":"61037:20:63"},"referencedDeclaration":68448,"src":"61037:20:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}},"id":56975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61033:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"nodeType":"VariableDeclarationStatement","src":"60993:83:63"},{"expression":{"arguments":[{"id":56980,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"61148:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"id":56985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31303030","id":56981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61154:4:63","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":56984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":56982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61161:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":56983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61167:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"61161:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"61154:14:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"}],"expression":{"id":56977,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"61122:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":56979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"61139:8:63","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":68331,"src":"61122:25:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":56986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61122:47:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56987,"nodeType":"ExpressionStatement","src":"61122:47:63"},{"expression":{"arguments":[{"id":56991,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"61194:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56988,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"61180:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":56990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"61183:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"61180:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":56992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61180:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56993,"nodeType":"ExpressionStatement","src":"61180:19:63"},{"assignments":[56995],"declarations":[{"constant":false,"id":56995,"mutability":"mutable","name":"intentAddress","nameLocation":"61218:13:63","nodeType":"VariableDeclaration","scope":57178,"src":"61210:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56994,"name":"address","nodeType":"ElementaryTypeName","src":"61210:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57000,"initialValue":{"arguments":[{"hexValue":"307835363738","id":56998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61242:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":56997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"61234:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56996,"name":"address","nodeType":"ElementaryTypeName","src":"61234:7:63","typeDescriptions":{}}},"id":56999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61234:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"61210:39:63"},{"assignments":[57002],"declarations":[{"constant":false,"id":57002,"mutability":"mutable","name":"feeCollector","nameLocation":"61267:12:63","nodeType":"VariableDeclaration","scope":57178,"src":"61259:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57001,"name":"address","nodeType":"ElementaryTypeName","src":"61259:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57007,"initialValue":{"arguments":[{"hexValue":"307839393939","id":57005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61290:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":57004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"61282:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57003,"name":"address","nodeType":"ElementaryTypeName","src":"61282:7:63","typeDescriptions":{}}},"id":57006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61282:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"61259:38:63"},{"assignments":[57009],"declarations":[{"constant":false,"id":57009,"mutability":"mutable","name":"amount","nameLocation":"61315:6:63","nodeType":"VariableDeclaration","scope":57178,"src":"61307:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57008,"name":"uint256","nodeType":"ElementaryTypeName","src":"61307:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57015,"initialValue":{"commonType":{"typeIdentifier":"t_rational_50000000_by_1","typeString":"int_const 50000000"},"id":57014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":57010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61324:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61329:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61335:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"61329:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"61324:12:63","typeDescriptions":{"typeIdentifier":"t_rational_50000000_by_1","typeString":"int_const 50000000"}},"nodeType":"VariableDeclarationStatement","src":"61307:29:63"},{"assignments":[57017],"declarations":[{"constant":false,"id":57017,"mutability":"mutable","name":"feeAmount","nameLocation":"61383:9:63","nodeType":"VariableDeclaration","scope":57178,"src":"61375:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57016,"name":"uint256","nodeType":"ElementaryTypeName","src":"61375:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57023,"initialValue":{"commonType":{"typeIdentifier":"t_rational_5000000_by_1","typeString":"int_const 5000000"},"id":57022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"35","id":57018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61395:1:63","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61399:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61405:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"61399:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"61395:11:63","typeDescriptions":{"typeIdentifier":"t_rational_5000000_by_1","typeString":"int_const 5000000"}},"nodeType":"VariableDeclarationStatement","src":"61375:31:63"},{"assignments":[57025],"declarations":[{"constant":false,"id":57025,"mutability":"mutable","name":"totalAmount","nameLocation":"61440:11:63","nodeType":"VariableDeclaration","scope":57178,"src":"61432:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57024,"name":"uint256","nodeType":"ElementaryTypeName","src":"61432:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57029,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57026,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57009,"src":"61454:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":57027,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57017,"src":"61463:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"61454:18:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"61432:40:63"},{"assignments":[57031],"declarations":[{"constant":false,"id":57031,"mutability":"mutable","name":"deadline","nameLocation":"61490:8:63","nodeType":"VariableDeclaration","scope":57178,"src":"61482:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57030,"name":"uint256","nodeType":"ElementaryTypeName","src":"61482:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57036,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57032,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"61501:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"61507:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"61501:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":57034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61519:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"61501:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"61482:41:63"},{"assignments":[57038],"declarations":[{"constant":false,"id":57038,"mutability":"mutable","name":"nonce","nameLocation":"61541:5:63","nodeType":"VariableDeclaration","scope":57178,"src":"61533:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57037,"name":"uint256","nodeType":"ElementaryTypeName","src":"61533:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57043,"initialValue":{"arguments":[{"id":57041,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"61567:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57039,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"61549:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"61560:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"61549:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61549:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"61533:39:63"},{"assignments":[57045],"declarations":[{"constant":false,"id":57045,"mutability":"mutable","name":"intentHash","nameLocation":"61591:10:63","nodeType":"VariableDeclaration","scope":57178,"src":"61583:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61583:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57067,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57049,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"61655:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61666:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"61655:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61655:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57052,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"61708:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57055,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"61738:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}],"id":57054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"61730:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57053,"name":"address","nodeType":"ElementaryTypeName","src":"61730:7:63","typeDescriptions":{}}},"id":57056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61730:25:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57057,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57009,"src":"61773:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57058,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56995,"src":"61797:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57059,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57031,"src":"61828:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":57060,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"61854:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"61860:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"61854:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57062,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57038,"src":"61885:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57063,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57017,"src":"61908:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57064,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57002,"src":"61935:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61627:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61631:6:63","memberName":"encode","nodeType":"MemberAccess","src":"61627:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61627:334:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57046,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"61604:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61604:367:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"61583:388:63"},{"assignments":[57069],"declarations":[{"constant":false,"id":57069,"mutability":"mutable","name":"digest","nameLocation":"61990:6:63","nodeType":"VariableDeclaration","scope":57178,"src":"61982:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61982:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57080,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":57073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62026:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57074,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"62038:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"62049:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"62038:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62038:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57077,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57045,"src":"62069:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57071,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62009:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62013:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"62009:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62009:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57070,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"61999:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61999:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"61982:99:63"},{"assignments":[57082,57084,57086],"declarations":[{"constant":false,"id":57082,"mutability":"mutable","name":"v","nameLocation":"62098:1:63","nodeType":"VariableDeclaration","scope":57178,"src":"62092:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57081,"name":"uint8","nodeType":"ElementaryTypeName","src":"62092:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57084,"mutability":"mutable","name":"r","nameLocation":"62109:1:63","nodeType":"VariableDeclaration","scope":57178,"src":"62101:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57083,"name":"bytes32","nodeType":"ElementaryTypeName","src":"62101:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57086,"mutability":"mutable","name":"s","nameLocation":"62120:1:63","nodeType":"VariableDeclaration","scope":57178,"src":"62112:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"62112:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57092,"initialValue":{"arguments":[{"id":57089,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"62133:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57090,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57069,"src":"62149:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57087,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"62125:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"62128:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"62125:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":57091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62125:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"62091:65:63"},{"expression":{"arguments":[{"arguments":[{"id":57098,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"62280:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":57097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"62272:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57096,"name":"address","nodeType":"ElementaryTypeName","src":"62272:7:63","typeDescriptions":{}}},"id":57099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62272:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57100,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57025,"src":"62293:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57093,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"62247:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"62264:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":68419,"src":"62247:24:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62247:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57102,"nodeType":"ExpressionStatement","src":"62247:58:63"},{"assignments":[57104],"declarations":[{"constant":false,"id":57104,"mutability":"mutable","name":"userBalBefore","nameLocation":"62324:13:63","nodeType":"VariableDeclaration","scope":57178,"src":"62316:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57103,"name":"uint256","nodeType":"ElementaryTypeName","src":"62316:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57109,"initialValue":{"arguments":[{"id":57107,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"62367:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57105,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"62340:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"62357:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"62340:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62340:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"62316:56:63"},{"assignments":[57111],"declarations":[{"constant":false,"id":57111,"mutability":"mutable","name":"intentBalBefore","nameLocation":"62390:15:63","nodeType":"VariableDeclaration","scope":57178,"src":"62382:23:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57110,"name":"uint256","nodeType":"ElementaryTypeName","src":"62382:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57116,"initialValue":{"arguments":[{"id":57114,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56995,"src":"62435:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57112,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"62408:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"62425:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"62408:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62408:41:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"62382:67:63"},{"assignments":[57118],"declarations":[{"constant":false,"id":57118,"mutability":"mutable","name":"feeCollectorBalBefore","nameLocation":"62467:21:63","nodeType":"VariableDeclaration","scope":57178,"src":"62459:29:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57117,"name":"uint256","nodeType":"ElementaryTypeName","src":"62459:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57123,"initialValue":{"arguments":[{"id":57121,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57002,"src":"62518:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57119,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"62491:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"62508:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"62491:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62491:40:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"62459:72:63"},{"expression":{"arguments":[{"id":57127,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"62647:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57130,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"62661:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}],"id":57129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"62653:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57128,"name":"address","nodeType":"ElementaryTypeName","src":"62653:7:63","typeDescriptions":{}}},"id":57131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62653:25:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57132,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57009,"src":"62680:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57133,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56995,"src":"62688:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57134,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57031,"src":"62703:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57135,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57038,"src":"62713:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57136,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57017,"src":"62720:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57137,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57002,"src":"62731:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57138,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57082,"src":"62745:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57139,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57084,"src":"62748:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57140,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57086,"src":"62751:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57124,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"62607:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"62618:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"62607:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":57141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62607:155:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57142,"nodeType":"ExpressionStatement","src":"62607:155:63"},{"expression":{"arguments":[{"arguments":[{"id":57146,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"62858:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57144,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"62831:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"62848:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"62831:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62831:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57148,"name":"userBalBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57104,"src":"62865:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":57149,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57025,"src":"62881:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"62865:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57143,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"62822:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":57151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62822:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57152,"nodeType":"ExpressionStatement","src":"62822:71:63"},{"expression":{"arguments":[{"arguments":[{"id":57156,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56995,"src":"62939:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57154,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"62912:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"62929:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"62912:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62912:41:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57158,"name":"intentBalBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57111,"src":"62955:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":57159,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57009,"src":"62973:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"62955:24:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57153,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"62903:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":57161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62903:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57162,"nodeType":"ExpressionStatement","src":"62903:77:63"},{"expression":{"arguments":[{"arguments":[{"id":57166,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57002,"src":"63026:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57164,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56966,"src":"62999:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"63016:9:63","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":68243,"src":"62999:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62999:40:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57168,"name":"feeCollectorBalBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57118,"src":"63041:21:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":57169,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57017,"src":"63065:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"63041:33:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57163,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"62990:8:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":57171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62990:85:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57172,"nodeType":"ExpressionStatement","src":"62990:85:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57173,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"63086:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"63089:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"63086:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63086:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57177,"nodeType":"ExpressionStatement","src":"63086:14:63"}]},"documentation":{"id":56961,"nodeType":"StructuredDocumentation","src":"60680:182:63","text":" @notice Test depositToIntent with non-standard ERC20 token and fee\n @dev Verifies SafeERC20.safeTransferFrom handles both deposit and fee transfers correctly"},"functionSelector":"567902d9","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntent_WithNonStandardERC20AndFee_Success","nameLocation":"60876:54:63","parameters":{"id":56962,"nodeType":"ParameterList","parameters":[],"src":"60930:2:63"},"returnParameters":{"id":56963,"nodeType":"ParameterList","parameters":[],"src":"60940:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":57338,"nodeType":"FunctionDefinition","src":"63313:1498:63","nodes":[],"body":{"id":57337,"nodeType":"Block","src":"63400:1411:63","nodes":[],"statements":[{"assignments":[57185],"declarations":[{"constant":false,"id":57185,"mutability":"mutable","name":"nonStandardToken","nameLocation":"63474:16:63","nodeType":"VariableDeclaration","scope":57337,"src":"63453:37:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"},"typeName":{"id":57184,"nodeType":"UserDefinedTypeName","pathNode":{"id":57183,"name":"MockNonStandardERC20","nameLocations":["63453:20:63"],"nodeType":"IdentifierPath","referencedDeclaration":68448,"src":"63453:20:63"},"referencedDeclaration":68448,"src":"63453:20:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"visibility":"internal"}],"id":57195,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"},"id":57193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31303030303030","id":57189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63518:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1000000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63528:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63534:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"63528:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"63518:17:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"}],"id":57188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"63493:24:63","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_uint256_$returns$_t_contract$_MockNonStandardERC20_$68448_$","typeString":"function (uint256) returns (contract MockNonStandardERC20)"},"typeName":{"id":57187,"nodeType":"UserDefinedTypeName","pathNode":{"id":57186,"name":"MockNonStandardERC20","nameLocations":["63497:20:63"],"nodeType":"IdentifierPath","referencedDeclaration":68448,"src":"63497:20:63"},"referencedDeclaration":68448,"src":"63497:20:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}},"id":57194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63493:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"nodeType":"VariableDeclarationStatement","src":"63453:83:63"},{"expression":{"arguments":[{"id":57199,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"63612:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":57204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63618:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63623:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63629:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"63623:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"63618:12:63","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}],"expression":{"id":57196,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57185,"src":"63586:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"63603:8:63","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":68331,"src":"63586:25:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":57205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63586:45:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57206,"nodeType":"ExpressionStatement","src":"63586:45:63"},{"expression":{"arguments":[{"id":57210,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"63656:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57207,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"63642:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"63645:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"63642:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":57211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63642:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57212,"nodeType":"ExpressionStatement","src":"63642:19:63"},{"assignments":[57214],"declarations":[{"constant":false,"id":57214,"mutability":"mutable","name":"intentAddress","nameLocation":"63680:13:63","nodeType":"VariableDeclaration","scope":57337,"src":"63672:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57213,"name":"address","nodeType":"ElementaryTypeName","src":"63672:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57219,"initialValue":{"arguments":[{"hexValue":"307835363738","id":57217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63704:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":57216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"63696:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57215,"name":"address","nodeType":"ElementaryTypeName","src":"63696:7:63","typeDescriptions":{}}},"id":57218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63696:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"63672:39:63"},{"assignments":[57221],"declarations":[{"constant":false,"id":57221,"mutability":"mutable","name":"amount","nameLocation":"63729:6:63","nodeType":"VariableDeclaration","scope":57337,"src":"63721:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57220,"name":"uint256","nodeType":"ElementaryTypeName","src":"63721:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57227,"initialValue":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":57226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":57222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63738:3:63","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63744:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63750:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"63744:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"63738:13:63","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"nodeType":"VariableDeclarationStatement","src":"63721:30:63"},{"assignments":[57229],"declarations":[{"constant":false,"id":57229,"mutability":"mutable","name":"deadline","nameLocation":"63791:8:63","nodeType":"VariableDeclaration","scope":57337,"src":"63783:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57228,"name":"uint256","nodeType":"ElementaryTypeName","src":"63783:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57234,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57230,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"63802:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"63808:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"63802:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":57232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"63820:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"63802:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"63783:41:63"},{"assignments":[57236],"declarations":[{"constant":false,"id":57236,"mutability":"mutable","name":"nonce","nameLocation":"63842:5:63","nodeType":"VariableDeclaration","scope":57337,"src":"63834:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57235,"name":"uint256","nodeType":"ElementaryTypeName","src":"63834:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57241,"initialValue":{"arguments":[{"id":57239,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"63868:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57237,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"63850:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"63861:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"63850:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63850:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"63834:39:63"},{"assignments":[57243],"declarations":[{"constant":false,"id":57243,"mutability":"mutable","name":"intentHash","nameLocation":"63892:10:63","nodeType":"VariableDeclaration","scope":57337,"src":"63884:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63884:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57268,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57247,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"63956:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63967:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"63956:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63956:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57250,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"64009:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57253,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57185,"src":"64039:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}],"id":57252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"64031:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57251,"name":"address","nodeType":"ElementaryTypeName","src":"64031:7:63","typeDescriptions":{}}},"id":57254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64031:25:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57255,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57221,"src":"64074:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57256,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57214,"src":"64098:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57257,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57229,"src":"64129:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":57258,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"64155:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"64161:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"64155:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57260,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57236,"src":"64186:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":57261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64209:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":57264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64236:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"64228:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57262,"name":"address","nodeType":"ElementaryTypeName","src":"64228:7:63","typeDescriptions":{}}},"id":57265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64228:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63928:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63932:6:63","memberName":"encode","nodeType":"MemberAccess","src":"63928:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63928:324:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57244,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"63905:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63905:357:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"63884:378:63"},{"assignments":[57270],"declarations":[{"constant":false,"id":57270,"mutability":"mutable","name":"digest","nameLocation":"64281:6:63","nodeType":"VariableDeclaration","scope":57337,"src":"64273:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64273:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57281,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":57274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64317:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57275,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"64329:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"64340:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"64329:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64329:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57278,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57243,"src":"64360:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57272,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64300:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64304:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"64300:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64300:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57271,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"64290:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64290:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"64273:99:63"},{"assignments":[57283,57285,57287],"declarations":[{"constant":false,"id":57283,"mutability":"mutable","name":"v","nameLocation":"64389:1:63","nodeType":"VariableDeclaration","scope":57337,"src":"64383:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57282,"name":"uint8","nodeType":"ElementaryTypeName","src":"64383:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57285,"mutability":"mutable","name":"r","nameLocation":"64400:1:63","nodeType":"VariableDeclaration","scope":57337,"src":"64392:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64392:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57287,"mutability":"mutable","name":"s","nameLocation":"64411:1:63","nodeType":"VariableDeclaration","scope":57337,"src":"64403:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64403:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57293,"initialValue":{"arguments":[{"id":57290,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"64424:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57291,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57270,"src":"64440:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57288,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"64416:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"64419:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"64416:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":57292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64416:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"64382:65:63"},{"expression":{"arguments":[{"arguments":[{"id":57299,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"64491:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":57298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"64483:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57297,"name":"address","nodeType":"ElementaryTypeName","src":"64483:7:63","typeDescriptions":{}}},"id":57300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64483:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57301,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57221,"src":"64504:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57294,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57185,"src":"64458:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"64475:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":68419,"src":"64458:24:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64458:53:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57303,"nodeType":"ExpressionStatement","src":"64458:53:63"},{"expression":{"arguments":[{"hexValue":"496e73756666696369656e742062616c616e6365","id":57307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64601:22:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5","typeString":"literal_string \"Insufficient balance\""},"value":"Insufficient balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5","typeString":"literal_string \"Insufficient balance\""}],"expression":{"id":57304,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"64585:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"64588:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"64585:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":57308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64585:39:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57309,"nodeType":"ExpressionStatement","src":"64585:39:63"},{"expression":{"arguments":[{"id":57313,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"64674:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57316,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57185,"src":"64688:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}],"id":57315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"64680:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57314,"name":"address","nodeType":"ElementaryTypeName","src":"64680:7:63","typeDescriptions":{}}},"id":57317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64680:25:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57318,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57221,"src":"64707:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57319,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57214,"src":"64715:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57320,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57229,"src":"64730:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57321,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57236,"src":"64740:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":57322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64747:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":57325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64758:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"64750:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57323,"name":"address","nodeType":"ElementaryTypeName","src":"64750:7:63","typeDescriptions":{}}},"id":57326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64750:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57327,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57283,"src":"64762:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57328,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57285,"src":"64765:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57329,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57287,"src":"64768:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57310,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"64634:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"64645:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"64634:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":57330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64634:145:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57331,"nodeType":"ExpressionStatement","src":"64634:145:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57332,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"64790:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"64793:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"64790:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64790:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57336,"nodeType":"ExpressionStatement","src":"64790:14:63"}]},"documentation":{"id":57180,"nodeType":"StructuredDocumentation","src":"63113:195:63","text":" @notice Test depositToIntent with non-standard ERC20 when transfer fails\n @dev Verifies SafeERC20.safeTransferFrom properly reverts when non-standard token transfer fails"},"functionSelector":"b47752d1","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts","nameLocation":"63322:68:63","parameters":{"id":57181,"nodeType":"ParameterList","parameters":[],"src":"63390:2:63"},"returnParameters":{"id":57182,"nodeType":"ParameterList","parameters":[],"src":"63400:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":57499,"nodeType":"FunctionDefinition","src":"65015:1520:63","nodes":[],"body":{"id":57498,"nodeType":"Block","src":"65104:1431:63","nodes":[],"statements":[{"assignments":[57344],"declarations":[{"constant":false,"id":57344,"mutability":"mutable","name":"nonStandardToken","nameLocation":"65178:16:63","nodeType":"VariableDeclaration","scope":57498,"src":"65157:37:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"},"typeName":{"id":57343,"nodeType":"UserDefinedTypeName","pathNode":{"id":57342,"name":"MockNonStandardERC20","nameLocations":["65157:20:63"],"nodeType":"IdentifierPath","referencedDeclaration":68448,"src":"65157:20:63"},"referencedDeclaration":68448,"src":"65157:20:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"visibility":"internal"}],"id":57354,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"},"id":57352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31303030303030","id":57348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65222:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1000000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65232:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65238:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"65232:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"65222:17:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000_by_1","typeString":"int_const 1000000000000"}],"id":57347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"65197:24:63","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_uint256_$returns$_t_contract$_MockNonStandardERC20_$68448_$","typeString":"function (uint256) returns (contract MockNonStandardERC20)"},"typeName":{"id":57346,"nodeType":"UserDefinedTypeName","pathNode":{"id":57345,"name":"MockNonStandardERC20","nameLocations":["65201:20:63"],"nodeType":"IdentifierPath","referencedDeclaration":68448,"src":"65201:20:63"},"referencedDeclaration":68448,"src":"65201:20:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}},"id":57353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65197:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"nodeType":"VariableDeclarationStatement","src":"65157:83:63"},{"expression":{"arguments":[{"id":57358,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"65312:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"id":57363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31303030","id":57359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65318:4:63","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65325:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65331:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"65325:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"65318:14:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"}],"expression":{"id":57355,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57344,"src":"65286:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"65303:8:63","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":68331,"src":"65286:25:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":57364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65286:47:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57365,"nodeType":"ExpressionStatement","src":"65286:47:63"},{"expression":{"arguments":[{"id":57369,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"65358:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57366,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"65344:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"65347:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"65344:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":57370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65344:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57371,"nodeType":"ExpressionStatement","src":"65344:19:63"},{"assignments":[57373],"declarations":[{"constant":false,"id":57373,"mutability":"mutable","name":"intentAddress","nameLocation":"65382:13:63","nodeType":"VariableDeclaration","scope":57498,"src":"65374:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57372,"name":"address","nodeType":"ElementaryTypeName","src":"65374:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57378,"initialValue":{"arguments":[{"hexValue":"307835363738","id":57376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65406:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":57375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"65398:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57374,"name":"address","nodeType":"ElementaryTypeName","src":"65398:7:63","typeDescriptions":{}}},"id":57377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65398:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"65374:39:63"},{"assignments":[57380],"declarations":[{"constant":false,"id":57380,"mutability":"mutable","name":"amount","nameLocation":"65431:6:63","nodeType":"VariableDeclaration","scope":57498,"src":"65423:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57379,"name":"uint256","nodeType":"ElementaryTypeName","src":"65423:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57386,"initialValue":{"commonType":{"typeIdentifier":"t_rational_50000000_by_1","typeString":"int_const 50000000"},"id":57385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":57381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65440:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65445:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65451:1:63","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"65445:7:63","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"65440:12:63","typeDescriptions":{"typeIdentifier":"t_rational_50000000_by_1","typeString":"int_const 50000000"}},"nodeType":"VariableDeclarationStatement","src":"65423:29:63"},{"assignments":[57388],"declarations":[{"constant":false,"id":57388,"mutability":"mutable","name":"deadline","nameLocation":"65470:8:63","nodeType":"VariableDeclaration","scope":57498,"src":"65462:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57387,"name":"uint256","nodeType":"ElementaryTypeName","src":"65462:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57393,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57389,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"65481:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"65487:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"65481:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":57391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65499:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"65481:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"65462:41:63"},{"assignments":[57395],"declarations":[{"constant":false,"id":57395,"mutability":"mutable","name":"nonce","nameLocation":"65521:5:63","nodeType":"VariableDeclaration","scope":57498,"src":"65513:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57394,"name":"uint256","nodeType":"ElementaryTypeName","src":"65513:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57400,"initialValue":{"arguments":[{"id":57398,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"65547:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57396,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"65529:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"65540:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"65529:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65529:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"65513:39:63"},{"assignments":[57402],"declarations":[{"constant":false,"id":57402,"mutability":"mutable","name":"intentHash","nameLocation":"65571:10:63","nodeType":"VariableDeclaration","scope":57498,"src":"65563:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65563:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57427,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57406,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"65635:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65646:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"65635:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65635:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57409,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"65688:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57412,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57344,"src":"65718:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}],"id":57411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"65710:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57410,"name":"address","nodeType":"ElementaryTypeName","src":"65710:7:63","typeDescriptions":{}}},"id":57413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65710:25:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57414,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57380,"src":"65753:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57415,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57373,"src":"65777:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57416,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57388,"src":"65808:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":57417,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"65834:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"65840:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"65834:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57419,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57395,"src":"65865:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":57420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65888:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":57423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65915:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"65907:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57421,"name":"address","nodeType":"ElementaryTypeName","src":"65907:7:63","typeDescriptions":{}}},"id":57424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65907:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57404,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65607:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65611:6:63","memberName":"encode","nodeType":"MemberAccess","src":"65607:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65607:324:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57403,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"65584:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65584:357:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"65563:378:63"},{"assignments":[57429],"declarations":[{"constant":false,"id":57429,"mutability":"mutable","name":"digest","nameLocation":"65960:6:63","nodeType":"VariableDeclaration","scope":57498,"src":"65952:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65952:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57440,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":57433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65996:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57434,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"66008:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"66019:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"66008:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66008:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57437,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57402,"src":"66039:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57431,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65979:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65983:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"65979:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65979:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57430,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"65969:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65969:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"65952:99:63"},{"assignments":[57442,57444,57446],"declarations":[{"constant":false,"id":57442,"mutability":"mutable","name":"v","nameLocation":"66068:1:63","nodeType":"VariableDeclaration","scope":57498,"src":"66062:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57441,"name":"uint8","nodeType":"ElementaryTypeName","src":"66062:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57444,"mutability":"mutable","name":"r","nameLocation":"66079:1:63","nodeType":"VariableDeclaration","scope":57498,"src":"66071:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"66071:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57446,"mutability":"mutable","name":"s","nameLocation":"66090:1:63","nodeType":"VariableDeclaration","scope":57498,"src":"66082:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"66082:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57452,"initialValue":{"arguments":[{"id":57449,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"66103:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57450,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57429,"src":"66119:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57447,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"66095:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"66098:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"66095:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":57451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66095:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"66061:65:63"},{"expression":{"arguments":[{"arguments":[{"id":57458,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"66213:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":57457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"66205:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57456,"name":"address","nodeType":"ElementaryTypeName","src":"66205:7:63","typeDescriptions":{}}},"id":57459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66205:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57460,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57380,"src":"66226:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":57461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"66235:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"66226:10:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57453,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57344,"src":"66180:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}},"id":57455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"66197:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":68419,"src":"66180:24:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66180:57:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57464,"nodeType":"ExpressionStatement","src":"66180:57:63"},{"expression":{"arguments":[{"hexValue":"496e73756666696369656e7420616c6c6f77616e6365","id":57468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66323:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","typeString":"literal_string \"Insufficient allowance\""},"value":"Insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","typeString":"literal_string \"Insufficient allowance\""}],"expression":{"id":57465,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"66307:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"66310:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"66307:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":57469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66307:41:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57470,"nodeType":"ExpressionStatement","src":"66307:41:63"},{"expression":{"arguments":[{"id":57474,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"66398:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57477,"name":"nonStandardToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57344,"src":"66412:16:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockNonStandardERC20_$68448","typeString":"contract MockNonStandardERC20"}],"id":57476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"66404:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57475,"name":"address","nodeType":"ElementaryTypeName","src":"66404:7:63","typeDescriptions":{}}},"id":57478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66404:25:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57479,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57380,"src":"66431:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57480,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57373,"src":"66439:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57481,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57388,"src":"66454:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57482,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57395,"src":"66464:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":57483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"66471:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":57486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"66482:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"66474:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57484,"name":"address","nodeType":"ElementaryTypeName","src":"66474:7:63","typeDescriptions":{}}},"id":57487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66474:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57488,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57442,"src":"66486:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57489,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57444,"src":"66489:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57490,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57446,"src":"66492:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57471,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"66358:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"66369:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"66358:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":57491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66358:145:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57492,"nodeType":"ExpressionStatement","src":"66358:145:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57493,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"66514:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"66517:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"66514:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66514:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57497,"nodeType":"ExpressionStatement","src":"66514:14:63"}]},"documentation":{"id":57339,"nodeType":"StructuredDocumentation","src":"64817:193:63","text":" @notice Test depositToIntent with non-standard ERC20 when allowance is insufficient\n @dev Verifies SafeERC20.safeTransferFrom properly reverts when allowance is too low"},"functionSelector":"7806d8ab","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts","nameLocation":"65024:70:63","parameters":{"id":57340,"nodeType":"ParameterList","parameters":[],"src":"65094:2:63"},"returnParameters":{"id":57341,"nodeType":"ParameterList","parameters":[],"src":"65104:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":57616,"nodeType":"FunctionDefinition","src":"66968:961:63","nodes":[],"body":{"id":57615,"nodeType":"Block","src":"67022:907:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":57506,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"67046:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57503,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"67032:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"67035:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"67032:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":57507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67032:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57508,"nodeType":"ExpressionStatement","src":"67032:19:63"},{"assignments":[57510],"declarations":[{"constant":false,"id":57510,"mutability":"mutable","name":"amt","nameLocation":"67069:3:63","nodeType":"VariableDeclaration","scope":57615,"src":"67061:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57509,"name":"uint256","nodeType":"ElementaryTypeName","src":"67061:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57512,"initialValue":{"hexValue":"3530653138","id":57511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"67075:5:63","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50e18"},"nodeType":"VariableDeclarationStatement","src":"67061:19:63"},{"assignments":[57514],"declarations":[{"constant":false,"id":57514,"mutability":"mutable","name":"fee","nameLocation":"67098:3:63","nodeType":"VariableDeclaration","scope":57615,"src":"67090:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57513,"name":"uint256","nodeType":"ElementaryTypeName","src":"67090:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57516,"initialValue":{"hexValue":"3130653138","id":57515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"67104:5:63","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10e18"},"nodeType":"VariableDeclarationStatement","src":"67090:19:63"},{"assignments":[57518],"declarations":[{"constant":false,"id":57518,"mutability":"mutable","name":"permitAmt","nameLocation":"67127:9:63","nodeType":"VariableDeclaration","scope":57615,"src":"67119:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57517,"name":"uint256","nodeType":"ElementaryTypeName","src":"67119:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57524,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57519,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57510,"src":"67139:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":57520,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57514,"src":"67145:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"67139:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":57522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"67151:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"67139:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"67119:33:63"},{"assignments":[57526],"declarations":[{"constant":false,"id":57526,"mutability":"mutable","name":"dl","nameLocation":"67191:2:63","nodeType":"VariableDeclaration","scope":57615,"src":"67183:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57525,"name":"uint256","nodeType":"ElementaryTypeName","src":"67183:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57531,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57527,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"67196:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"67202:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"67196:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":57529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"67214:7:63","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"1"},"src":"67196:25:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"67183:38:63"},{"assignments":[57533],"declarations":[{"constant":false,"id":57533,"mutability":"mutable","name":"nonce","nameLocation":"67239:5:63","nodeType":"VariableDeclaration","scope":57615,"src":"67231:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57532,"name":"uint256","nodeType":"ElementaryTypeName","src":"67231:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57538,"initialValue":{"arguments":[{"id":57536,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"67265:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57534,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"67247:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"67258:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"67247:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67247:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"67231:39:63"},{"assignments":[57540,57542,57544],"declarations":[{"constant":false,"id":57540,"mutability":"mutable","name":"pv","nameLocation":"67288:2:63","nodeType":"VariableDeclaration","scope":57615,"src":"67282:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57539,"name":"uint8","nodeType":"ElementaryTypeName","src":"67282:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57542,"mutability":"mutable","name":"pr","nameLocation":"67300:2:63","nodeType":"VariableDeclaration","scope":57615,"src":"67292:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67292:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57544,"mutability":"mutable","name":"ps","nameLocation":"67312:2:63","nodeType":"VariableDeclaration","scope":57615,"src":"67304:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57543,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67304:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57550,"initialValue":{"arguments":[{"id":57546,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"67330:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57547,"name":"permitAmt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57518,"src":"67336:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57548,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57526,"src":"67347:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57545,"name":"_signPermit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57786,"src":"67318:11:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,uint256,uint256) view returns (uint8,bytes32,bytes32)"}},"id":57549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67318:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"67281:69:63"},{"assignments":[57552,57554,57556],"declarations":[{"constant":false,"id":57552,"mutability":"mutable","name":"sv","nameLocation":"67367:2:63","nodeType":"VariableDeclaration","scope":57615,"src":"67361:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57551,"name":"uint8","nodeType":"ElementaryTypeName","src":"67361:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57554,"mutability":"mutable","name":"sr","nameLocation":"67379:2:63","nodeType":"VariableDeclaration","scope":57615,"src":"67371:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67371:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57556,"mutability":"mutable","name":"ss","nameLocation":"67391:2:63","nodeType":"VariableDeclaration","scope":57615,"src":"67383:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57555,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67383:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57572,"initialValue":{"arguments":[{"id":57558,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"67410:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57559,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57510,"src":"67416:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307835363738","id":57562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"67429:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":57561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"67421:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57560,"name":"address","nodeType":"ElementaryTypeName","src":"67421:7:63","typeDescriptions":{}}},"id":57563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67421:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57564,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57526,"src":"67438:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57565,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57533,"src":"67442:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57566,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57514,"src":"67449:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307839393939","id":57569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"67462:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":57568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"67454:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57567,"name":"address","nodeType":"ElementaryTypeName","src":"67454:7:63","typeDescriptions":{}}},"id":57570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67454:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57557,"name":"_signIntent2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57853,"src":"67397:12:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,uint256,address,uint256,uint256,uint256,address) view returns (uint8,bytes32,bytes32)"}},"id":57571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67397:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"67360:110:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":57576,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"67497:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":57577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"67520:20:63","memberName":"PermitAmountMismatch","nodeType":"MemberAccess","referencedDeclaration":49325,"src":"67497:43:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":57578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"67541:8:63","memberName":"selector","nodeType":"MemberAccess","src":"67497:52:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":57573,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"67481:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"67484:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"67481:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":57579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67481:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57580,"nodeType":"ExpressionStatement","src":"67481:69:63"},{"expression":{"arguments":[{"id":57584,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"67610:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57587,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"67636:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":57586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"67628:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57585,"name":"address","nodeType":"ElementaryTypeName","src":"67628:7:63","typeDescriptions":{}}},"id":57588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67628:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57589,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57510,"src":"67656:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57590,"name":"permitAmt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57518,"src":"67673:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307835363738","id":57593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"67704:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":57592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"67696:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57591,"name":"address","nodeType":"ElementaryTypeName","src":"67696:7:63","typeDescriptions":{}}},"id":57594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67696:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57595,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57526,"src":"67725:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57596,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57533,"src":"67741:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57597,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57514,"src":"67760:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307839393939","id":57600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"67785:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":57599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"67777:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57598,"name":"address","nodeType":"ElementaryTypeName","src":"67777:7:63","typeDescriptions":{}}},"id":57601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67777:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57602,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57540,"src":"67806:2:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57603,"name":"pr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57542,"src":"67822:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57604,"name":"ps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57544,"src":"67838:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57605,"name":"sv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57552,"src":"67854:2:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57606,"name":"sr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57554,"src":"67870:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57607,"name":"ss","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57556,"src":"67886:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57581,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"67560:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"67571:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"67560:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":57608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67560:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57609,"nodeType":"ExpressionStatement","src":"67560:338:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57610,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"67908:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"67911:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"67908:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67908:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57614,"nodeType":"ExpressionStatement","src":"67908:14:63"}]},"documentation":{"id":57500,"nodeType":"StructuredDocumentation","src":"66775:188:63","text":" @notice Test that depositToIntentWithPermit reverts when permit amount is insufficient\n @dev Validates permitAmount != amount + feeAmount check (insufficient case)"},"functionSelector":"3532ecd5","implemented":true,"kind":"function","modifiers":[],"name":"testPermitAmountInsufficientWithFee","nameLocation":"66977:35:63","parameters":{"id":57501,"nodeType":"ParameterList","parameters":[],"src":"67012:2:63"},"returnParameters":{"id":57502,"nodeType":"ParameterList","parameters":[],"src":"67022:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":57733,"nodeType":"FunctionDefinition","src":"68123:952:63","nodes":[],"body":{"id":57732,"nodeType":"Block","src":"68174:901:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":57623,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"68198:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57620,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"68184:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"68187:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"68184:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":57624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68184:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57625,"nodeType":"ExpressionStatement","src":"68184:19:63"},{"assignments":[57627],"declarations":[{"constant":false,"id":57627,"mutability":"mutable","name":"amt","nameLocation":"68221:3:63","nodeType":"VariableDeclaration","scope":57732,"src":"68213:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57626,"name":"uint256","nodeType":"ElementaryTypeName","src":"68213:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57629,"initialValue":{"hexValue":"3530653138","id":57628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68227:5:63","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50e18"},"nodeType":"VariableDeclarationStatement","src":"68213:19:63"},{"assignments":[57631],"declarations":[{"constant":false,"id":57631,"mutability":"mutable","name":"fee","nameLocation":"68250:3:63","nodeType":"VariableDeclaration","scope":57732,"src":"68242:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57630,"name":"uint256","nodeType":"ElementaryTypeName","src":"68242:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57633,"initialValue":{"hexValue":"3130653138","id":57632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68256:5:63","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10e18"},"nodeType":"VariableDeclarationStatement","src":"68242:19:63"},{"assignments":[57635],"declarations":[{"constant":false,"id":57635,"mutability":"mutable","name":"permitAmt","nameLocation":"68279:9:63","nodeType":"VariableDeclaration","scope":57732,"src":"68271:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57634,"name":"uint256","nodeType":"ElementaryTypeName","src":"68271:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57641,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57636,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57627,"src":"68291:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":57637,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57631,"src":"68297:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"68291:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":57639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68303:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"68291:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"68271:33:63"},{"assignments":[57643],"declarations":[{"constant":false,"id":57643,"mutability":"mutable","name":"dl","nameLocation":"68337:2:63","nodeType":"VariableDeclaration","scope":57732,"src":"68329:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57642,"name":"uint256","nodeType":"ElementaryTypeName","src":"68329:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57648,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57644,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"68342:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"68348:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"68342:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":57646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68360:7:63","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"1"},"src":"68342:25:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"68329:38:63"},{"assignments":[57650],"declarations":[{"constant":false,"id":57650,"mutability":"mutable","name":"nonce","nameLocation":"68385:5:63","nodeType":"VariableDeclaration","scope":57732,"src":"68377:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57649,"name":"uint256","nodeType":"ElementaryTypeName","src":"68377:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57655,"initialValue":{"arguments":[{"id":57653,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"68411:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57651,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"68393:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"68404:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"68393:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68393:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"68377:39:63"},{"assignments":[57657,57659,57661],"declarations":[{"constant":false,"id":57657,"mutability":"mutable","name":"pv","nameLocation":"68434:2:63","nodeType":"VariableDeclaration","scope":57732,"src":"68428:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57656,"name":"uint8","nodeType":"ElementaryTypeName","src":"68428:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57659,"mutability":"mutable","name":"pr","nameLocation":"68446:2:63","nodeType":"VariableDeclaration","scope":57732,"src":"68438:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68438:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57661,"mutability":"mutable","name":"ps","nameLocation":"68458:2:63","nodeType":"VariableDeclaration","scope":57732,"src":"68450:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57660,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68450:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57667,"initialValue":{"arguments":[{"id":57663,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"68476:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57664,"name":"permitAmt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57635,"src":"68482:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57665,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57643,"src":"68493:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57662,"name":"_signPermit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57786,"src":"68464:11:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,uint256,uint256) view returns (uint8,bytes32,bytes32)"}},"id":57666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68464:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"68427:69:63"},{"assignments":[57669,57671,57673],"declarations":[{"constant":false,"id":57669,"mutability":"mutable","name":"sv","nameLocation":"68513:2:63","nodeType":"VariableDeclaration","scope":57732,"src":"68507:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57668,"name":"uint8","nodeType":"ElementaryTypeName","src":"68507:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57671,"mutability":"mutable","name":"sr","nameLocation":"68525:2:63","nodeType":"VariableDeclaration","scope":57732,"src":"68517:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68517:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57673,"mutability":"mutable","name":"ss","nameLocation":"68537:2:63","nodeType":"VariableDeclaration","scope":57732,"src":"68529:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57672,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68529:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57689,"initialValue":{"arguments":[{"id":57675,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"68556:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57676,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57627,"src":"68562:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307835363738","id":57679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68575:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":57678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"68567:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57677,"name":"address","nodeType":"ElementaryTypeName","src":"68567:7:63","typeDescriptions":{}}},"id":57680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68567:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57681,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57643,"src":"68584:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57682,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57650,"src":"68588:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57683,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57631,"src":"68595:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307839393939","id":57686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68608:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":57685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"68600:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57684,"name":"address","nodeType":"ElementaryTypeName","src":"68600:7:63","typeDescriptions":{}}},"id":57687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68600:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57674,"name":"_signIntent2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57853,"src":"68543:12:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,uint256,address,uint256,uint256,uint256,address) view returns (uint8,bytes32,bytes32)"}},"id":57688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68543:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"68506:110:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":57693,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"68643:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":57694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"68666:20:63","memberName":"PermitAmountMismatch","nodeType":"MemberAccess","referencedDeclaration":49325,"src":"68643:43:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":57695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"68687:8:63","memberName":"selector","nodeType":"MemberAccess","src":"68643:52:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":57690,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"68627:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"68630:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"68627:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":57696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68627:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57697,"nodeType":"ExpressionStatement","src":"68627:69:63"},{"expression":{"arguments":[{"id":57701,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"68756:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57704,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"68782:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":57703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"68774:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57702,"name":"address","nodeType":"ElementaryTypeName","src":"68774:7:63","typeDescriptions":{}}},"id":57705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68774:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57706,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57627,"src":"68802:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57707,"name":"permitAmt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57635,"src":"68819:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307835363738","id":57710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68850:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":57709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"68842:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57708,"name":"address","nodeType":"ElementaryTypeName","src":"68842:7:63","typeDescriptions":{}}},"id":57711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68842:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57712,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57643,"src":"68871:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57713,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57650,"src":"68887:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57714,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57631,"src":"68906:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"307839393939","id":57717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68931:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":57716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"68923:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57715,"name":"address","nodeType":"ElementaryTypeName","src":"68923:7:63","typeDescriptions":{}}},"id":57718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68923:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57719,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57657,"src":"68952:2:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57720,"name":"pr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57659,"src":"68968:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57721,"name":"ps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57661,"src":"68984:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57722,"name":"sv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57669,"src":"69000:2:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57723,"name":"sr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57671,"src":"69016:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57724,"name":"ss","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57673,"src":"69032:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57698,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"68706:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"68717:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"68706:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":57725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68706:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57726,"nodeType":"ExpressionStatement","src":"68706:338:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57727,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"69054:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"69057:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"69054:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69054:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57731,"nodeType":"ExpressionStatement","src":"69054:14:63"}]},"documentation":{"id":57617,"nodeType":"StructuredDocumentation","src":"67935:183:63","text":" @notice Test that depositToIntentWithPermit reverts when permit amount exceeds required\n @dev Validates permitAmount != amount + feeAmount check (excess case)"},"functionSelector":"ef45a94b","implemented":true,"kind":"function","modifiers":[],"name":"testPermitAmountExcessiveWithFee","nameLocation":"68132:32:63","parameters":{"id":57618,"nodeType":"ParameterList","parameters":[],"src":"68164:2:63"},"returnParameters":{"id":57619,"nodeType":"ParameterList","parameters":[],"src":"68174:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":57786,"nodeType":"FunctionDefinition","src":"69081:782:63","nodes":[],"body":{"id":57785,"nodeType":"Block","src":"69239:624:63","nodes":[],"statements":[{"assignments":[57749],"declarations":[{"constant":false,"id":57749,"mutability":"mutable","name":"hash","nameLocation":"69257:4:63","nodeType":"VariableDeclaration","scope":57785,"src":"69249:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69249:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57778,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":57753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69321:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57754,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"69349:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":57755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"69355:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"69349:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69349:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":57761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69468:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":57760,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"69458:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69458:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57763,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57735,"src":"69579:5:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57766,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"69618:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":57765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"69610:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57764,"name":"address","nodeType":"ElementaryTypeName","src":"69610:7:63","typeDescriptions":{}}},"id":57767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69610:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57768,"name":"permitAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57737,"src":"69655:12:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":57771,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57735,"src":"69706:5:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57769,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"69693:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":57770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"69699:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"69693:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69693:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57773,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57739,"src":"69738:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69422:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"69426:6:63","memberName":"encode","nodeType":"MemberAccess","src":"69422:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69422:346:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57757,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"69391:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69391:395:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57751,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69287:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"69291:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"69287:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69287:513:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57750,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"69264:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69264:546:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"69249:561:63"},{"expression":{"arguments":[{"id":57781,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"69835:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57782,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57749,"src":"69851:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57779,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"69827:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"69830:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"69827:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":57783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69827:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"functionReturnParameters":57747,"id":57784,"nodeType":"Return","src":"69820:36:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_signPermit","nameLocation":"69090:11:63","parameters":{"id":57740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57735,"mutability":"mutable","name":"owner","nameLocation":"69110:5:63","nodeType":"VariableDeclaration","scope":57786,"src":"69102:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57734,"name":"address","nodeType":"ElementaryTypeName","src":"69102:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57737,"mutability":"mutable","name":"permitAmount","nameLocation":"69125:12:63","nodeType":"VariableDeclaration","scope":57786,"src":"69117:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57736,"name":"uint256","nodeType":"ElementaryTypeName","src":"69117:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57739,"mutability":"mutable","name":"deadline","nameLocation":"69147:8:63","nodeType":"VariableDeclaration","scope":57786,"src":"69139:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57738,"name":"uint256","nodeType":"ElementaryTypeName","src":"69139:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"69101:55:63"},"returnParameters":{"id":57747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57742,"mutability":"mutable","name":"v","nameLocation":"69210:1:63","nodeType":"VariableDeclaration","scope":57786,"src":"69204:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57741,"name":"uint8","nodeType":"ElementaryTypeName","src":"69204:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57744,"mutability":"mutable","name":"r","nameLocation":"69221:1:63","nodeType":"VariableDeclaration","scope":57786,"src":"69213:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69213:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57746,"mutability":"mutable","name":"s","nameLocation":"69232:1:63","nodeType":"VariableDeclaration","scope":57786,"src":"69224:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69224:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"69203:31:63"},"scope":58522,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":57853,"nodeType":"FunctionDefinition","src":"69869:752:63","nodes":[],"body":{"id":57852,"nodeType":"Block","src":"70108:513:63","nodes":[],"statements":[{"assignments":[57810],"declarations":[{"constant":false,"id":57810,"mutability":"mutable","name":"hash","nameLocation":"70126:4:63","nodeType":"VariableDeclaration","scope":57852,"src":"70118:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57809,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70118:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57832,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57814,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"70184:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"70195:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"70184:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70184:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57817,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57788,"src":"70237:3:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57820,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"70266:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":57819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"70258:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57818,"name":"address","nodeType":"ElementaryTypeName","src":"70258:7:63","typeDescriptions":{}}},"id":57821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70258:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57822,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57790,"src":"70290:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57823,"name":"intent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57792,"src":"70311:6:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57824,"name":"dl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"70335:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":57825,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"70355:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"70361:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"70355:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57827,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57796,"src":"70386:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57828,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57798,"src":"70409:3:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57829,"name":"collector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57800,"src":"70430:9:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57812,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"70156:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"70160:6:63","memberName":"encode","nodeType":"MemberAccess","src":"70156:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70156:297:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57811,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"70133:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70133:330:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"70118:345:63"},{"assignments":[57834],"declarations":[{"constant":false,"id":57834,"mutability":"mutable","name":"digest","nameLocation":"70481:6:63","nodeType":"VariableDeclaration","scope":57852,"src":"70473:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70473:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57845,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":57838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"70517:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57839,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"70529:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"70540:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"70529:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70529:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57842,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57810,"src":"70560:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"70500:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"70504:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"70500:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70500:65:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57835,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"70490:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70490:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"70473:93:63"},{"expression":{"arguments":[{"id":57848,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"70591:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57849,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57834,"src":"70607:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57846,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"70583:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"70586:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"70583:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":57850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70583:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"functionReturnParameters":57808,"id":57851,"nodeType":"Return","src":"70576:38:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_signIntent2","nameLocation":"69878:12:63","parameters":{"id":57801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57788,"mutability":"mutable","name":"usr","nameLocation":"69908:3:63","nodeType":"VariableDeclaration","scope":57853,"src":"69900:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57787,"name":"address","nodeType":"ElementaryTypeName","src":"69900:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57790,"mutability":"mutable","name":"amt","nameLocation":"69929:3:63","nodeType":"VariableDeclaration","scope":57853,"src":"69921:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57789,"name":"uint256","nodeType":"ElementaryTypeName","src":"69921:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57792,"mutability":"mutable","name":"intent","nameLocation":"69950:6:63","nodeType":"VariableDeclaration","scope":57853,"src":"69942:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57791,"name":"address","nodeType":"ElementaryTypeName","src":"69942:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57794,"mutability":"mutable","name":"dl","nameLocation":"69974:2:63","nodeType":"VariableDeclaration","scope":57853,"src":"69966:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57793,"name":"uint256","nodeType":"ElementaryTypeName","src":"69966:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57796,"mutability":"mutable","name":"nonce","nameLocation":"69994:5:63","nodeType":"VariableDeclaration","scope":57853,"src":"69986:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57795,"name":"uint256","nodeType":"ElementaryTypeName","src":"69986:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57798,"mutability":"mutable","name":"fee","nameLocation":"70017:3:63","nodeType":"VariableDeclaration","scope":57853,"src":"70009:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57797,"name":"uint256","nodeType":"ElementaryTypeName","src":"70009:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57800,"mutability":"mutable","name":"collector","nameLocation":"70038:9:63","nodeType":"VariableDeclaration","scope":57853,"src":"70030:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57799,"name":"address","nodeType":"ElementaryTypeName","src":"70030:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"69890:163:63"},"returnParameters":{"id":57808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57803,"mutability":"mutable","name":"v","nameLocation":"70083:1:63","nodeType":"VariableDeclaration","scope":57853,"src":"70077:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57802,"name":"uint8","nodeType":"ElementaryTypeName","src":"70077:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57805,"mutability":"mutable","name":"r","nameLocation":"70094:1:63","nodeType":"VariableDeclaration","scope":57853,"src":"70086:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57804,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70086:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57807,"mutability":"mutable","name":"s","nameLocation":"70105:1:63","nodeType":"VariableDeclaration","scope":57853,"src":"70097:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70097:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"70076:31:63"},"scope":58522,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":58004,"nodeType":"FunctionDefinition","src":"71043:1305:63","nodes":[],"body":{"id":58003,"nodeType":"Block","src":"71116:1232:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":57860,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"71140:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57857,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"71126:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"71129:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"71126:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":57861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71126:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57862,"nodeType":"ExpressionStatement","src":"71126:19:63"},{"assignments":[57864],"declarations":[{"constant":false,"id":57864,"mutability":"mutable","name":"intentAddress","nameLocation":"71164:13:63","nodeType":"VariableDeclaration","scope":58003,"src":"71156:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57863,"name":"address","nodeType":"ElementaryTypeName","src":"71156:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57869,"initialValue":{"arguments":[{"hexValue":"307835363738","id":57867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"71188:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":57866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"71180:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57865,"name":"address","nodeType":"ElementaryTypeName","src":"71180:7:63","typeDescriptions":{}}},"id":57868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71180:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"71156:39:63"},{"assignments":[57871],"declarations":[{"constant":false,"id":57871,"mutability":"mutable","name":"amount","nameLocation":"71213:6:63","nodeType":"VariableDeclaration","scope":58003,"src":"71205:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57870,"name":"uint256","nodeType":"ElementaryTypeName","src":"71205:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57879,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":57872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"71222:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"71227:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57874,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"71233:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":57875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"71239:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"71233:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":57876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71233:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"71227:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"71222:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"71205:44:63"},{"assignments":[57881],"declarations":[{"constant":false,"id":57881,"mutability":"mutable","name":"feeAmount","nameLocation":"71267:9:63","nodeType":"VariableDeclaration","scope":58003,"src":"71259:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57880,"name":"uint256","nodeType":"ElementaryTypeName","src":"71259:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57889,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"35","id":57882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"71279:1:63","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"71283:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57884,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"71289:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":57885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"71295:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"71289:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":57886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71289:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"71283:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"71279:26:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"71259:46:63"},{"assignments":[57891],"declarations":[{"constant":false,"id":57891,"mutability":"mutable","name":"deadline","nameLocation":"71346:8:63","nodeType":"VariableDeclaration","scope":58003,"src":"71338:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57890,"name":"uint256","nodeType":"ElementaryTypeName","src":"71338:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57896,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57892,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"71357:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"71363:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"71357:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":57894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"71375:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"71357:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"71338:41:63"},{"assignments":[57898],"declarations":[{"constant":false,"id":57898,"mutability":"mutable","name":"nonce","nameLocation":"71397:5:63","nodeType":"VariableDeclaration","scope":58003,"src":"71389:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57897,"name":"uint256","nodeType":"ElementaryTypeName","src":"71389:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57903,"initialValue":{"arguments":[{"id":57901,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"71423:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57899,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"71405:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"71416:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"71405:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71405:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"71389:39:63"},{"assignments":[57905],"declarations":[{"constant":false,"id":57905,"mutability":"mutable","name":"intentHash","nameLocation":"71447:10:63","nodeType":"VariableDeclaration","scope":58003,"src":"71439:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71439:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57930,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57909,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"71511:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"71522:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"71511:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71511:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57912,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"71564:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57915,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"71594:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":57914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"71586:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57913,"name":"address","nodeType":"ElementaryTypeName","src":"71586:7:63","typeDescriptions":{}}},"id":57916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71586:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57917,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57871,"src":"71618:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57918,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57864,"src":"71642:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57919,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57891,"src":"71673:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":57920,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"71699:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"71705:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"71699:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57922,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57898,"src":"71730:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57923,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"71753:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":57926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"71788:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57925,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"71780:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57924,"name":"address","nodeType":"ElementaryTypeName","src":"71780:7:63","typeDescriptions":{}}},"id":57927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71780:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57907,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"71483:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"71487:6:63","memberName":"encode","nodeType":"MemberAccess","src":"71483:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71483:341:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57906,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"71460:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71460:374:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"71439:395:63"},{"assignments":[57932],"declarations":[{"constant":false,"id":57932,"mutability":"mutable","name":"digest","nameLocation":"71853:6:63","nodeType":"VariableDeclaration","scope":58003,"src":"71845:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71845:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57943,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":57936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"71889:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57937,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"71901:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"71912:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"71901:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":57939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71901:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57940,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57905,"src":"71932:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"71872:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"71876:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"71872:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71872:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57933,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"71862:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":57942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71862:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"71845:99:63"},{"assignments":[57945,57947,57949],"declarations":[{"constant":false,"id":57945,"mutability":"mutable","name":"v","nameLocation":"71961:1:63","nodeType":"VariableDeclaration","scope":58003,"src":"71955:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57944,"name":"uint8","nodeType":"ElementaryTypeName","src":"71955:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57947,"mutability":"mutable","name":"r","nameLocation":"71972:1:63","nodeType":"VariableDeclaration","scope":58003,"src":"71964:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71964:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57949,"mutability":"mutable","name":"s","nameLocation":"71983:1:63","nodeType":"VariableDeclaration","scope":58003,"src":"71975:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71975:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57955,"initialValue":{"arguments":[{"id":57952,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"71996:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57953,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57932,"src":"72012:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57950,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"71988:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"71991:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"71988:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":57954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"71988:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"71954:65:63"},{"expression":{"arguments":[{"arguments":[{"id":57961,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"72052:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":57960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"72044:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57959,"name":"address","nodeType":"ElementaryTypeName","src":"72044:7:63","typeDescriptions":{}}},"id":57962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72044:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57963,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57871,"src":"72065:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":57964,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"72074:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"72065:18:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57956,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"72030:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":57958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72036:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"72030:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72030:54:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57967,"nodeType":"ExpressionStatement","src":"72030:54:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":57971,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"72111:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":57972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72134:20:63","memberName":"InvalidFeeParameters","nodeType":"MemberAccess","referencedDeclaration":49323,"src":"72111:43:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":57973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72155:8:63","memberName":"selector","nodeType":"MemberAccess","src":"72111:52:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":57968,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"72095:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":57970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72098:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"72095:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":57974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72095:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57975,"nodeType":"ExpressionStatement","src":"72095:69:63"},{"expression":{"arguments":[{"id":57979,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"72214:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57982,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"72228:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":57981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"72220:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57980,"name":"address","nodeType":"ElementaryTypeName","src":"72220:7:63","typeDescriptions":{}}},"id":57983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72220:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57984,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57871,"src":"72236:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57985,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57864,"src":"72244:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57986,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57891,"src":"72259:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57987,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57898,"src":"72269:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57988,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"72276:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":57991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72295:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"72287:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57989,"name":"address","nodeType":"ElementaryTypeName","src":"72287:7:63","typeDescriptions":{}}},"id":57992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72287:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57993,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57945,"src":"72299:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57994,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57947,"src":"72302:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57995,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57949,"src":"72305:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57976,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"72174:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":57978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72185:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"72174:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":57996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72174:142:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57997,"nodeType":"ExpressionStatement","src":"72174:142:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57998,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"72327:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72330:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"72327:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72327:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58002,"nodeType":"ExpressionStatement","src":"72327:14:63"}]},"documentation":{"id":57854,"nodeType":"StructuredDocumentation","src":"70828:210:63","text":" @notice Test that depositToIntent reverts when feeAmount is provided but feeCollector is not\n @dev Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)"},"functionSelector":"f56af20a","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithFeeAmountButNoCollector_Reverts","nameLocation":"71052:54:63","parameters":{"id":57855,"nodeType":"ParameterList","parameters":[],"src":"71106:2:63"},"returnParameters":{"id":57856,"nodeType":"ParameterList","parameters":[],"src":"71116:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":58148,"nodeType":"FunctionDefinition","src":"72570:1320:63","nodes":[],"body":{"id":58147,"nodeType":"Block","src":"72643:1247:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":58011,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"72667:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58008,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"72653:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72656:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"72653:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72653:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58013,"nodeType":"ExpressionStatement","src":"72653:19:63"},{"assignments":[58015],"declarations":[{"constant":false,"id":58015,"mutability":"mutable","name":"intentAddress","nameLocation":"72691:13:63","nodeType":"VariableDeclaration","scope":58147,"src":"72683:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58014,"name":"address","nodeType":"ElementaryTypeName","src":"72683:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58020,"initialValue":{"arguments":[{"hexValue":"307835363738","id":58018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72715:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":58017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"72707:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58016,"name":"address","nodeType":"ElementaryTypeName","src":"72707:7:63","typeDescriptions":{}}},"id":58019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72707:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"72683:39:63"},{"assignments":[58022],"declarations":[{"constant":false,"id":58022,"mutability":"mutable","name":"feeCollector","nameLocation":"72740:12:63","nodeType":"VariableDeclaration","scope":58147,"src":"72732:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58021,"name":"address","nodeType":"ElementaryTypeName","src":"72732:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58027,"initialValue":{"arguments":[{"hexValue":"307839393939","id":58025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72763:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":58024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"72755:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58023,"name":"address","nodeType":"ElementaryTypeName","src":"72755:7:63","typeDescriptions":{}}},"id":58026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72755:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"72732:38:63"},{"assignments":[58029],"declarations":[{"constant":false,"id":58029,"mutability":"mutable","name":"amount","nameLocation":"72814:6:63","nodeType":"VariableDeclaration","scope":58147,"src":"72806:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58028,"name":"uint256","nodeType":"ElementaryTypeName","src":"72806:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58037,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":58030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72823:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":58031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72828:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58032,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"72834:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":58033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72840:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"72834:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":58034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72834:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"72828:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"72823:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"72806:44:63"},{"assignments":[58039],"declarations":[{"constant":false,"id":58039,"mutability":"mutable","name":"feeAmount","nameLocation":"72868:9:63","nodeType":"VariableDeclaration","scope":58147,"src":"72860:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58038,"name":"uint256","nodeType":"ElementaryTypeName","src":"72860:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58041,"initialValue":{"hexValue":"30","id":58040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72880:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"72860:21:63"},{"assignments":[58043],"declarations":[{"constant":false,"id":58043,"mutability":"mutable","name":"deadline","nameLocation":"72916:8:63","nodeType":"VariableDeclaration","scope":58147,"src":"72908:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58042,"name":"uint256","nodeType":"ElementaryTypeName","src":"72908:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58048,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":58044,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"72927:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":58045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72933:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"72927:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":58046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72945:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"72927:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"72908:41:63"},{"assignments":[58050],"declarations":[{"constant":false,"id":58050,"mutability":"mutable","name":"nonce","nameLocation":"72967:5:63","nodeType":"VariableDeclaration","scope":58147,"src":"72959:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58049,"name":"uint256","nodeType":"ElementaryTypeName","src":"72959:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58055,"initialValue":{"arguments":[{"id":58053,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"72993:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58051,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"72975:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"72986:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"72975:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":58054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72975:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"72959:39:63"},{"assignments":[58057],"declarations":[{"constant":false,"id":58057,"mutability":"mutable","name":"intentHash","nameLocation":"73017:10:63","nodeType":"VariableDeclaration","scope":58147,"src":"73009:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73009:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58079,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58061,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"73081:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"73092:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"73081:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":58063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73081:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58064,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"73134:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58067,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"73164:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":58066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"73156:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58065,"name":"address","nodeType":"ElementaryTypeName","src":"73156:7:63","typeDescriptions":{}}},"id":58068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73156:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58069,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58029,"src":"73188:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58070,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58015,"src":"73212:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58071,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58043,"src":"73243:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":58072,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"73269:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":58073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"73275:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"73269:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58074,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58050,"src":"73300:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58075,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58039,"src":"73323:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58076,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58022,"src":"73350:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58059,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"73053:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"73057:6:63","memberName":"encode","nodeType":"MemberAccess","src":"73053:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73053:323:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58058,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"73030:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73030:356:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"73009:377:63"},{"assignments":[58081],"declarations":[{"constant":false,"id":58081,"mutability":"mutable","name":"digest","nameLocation":"73405:6:63","nodeType":"VariableDeclaration","scope":58147,"src":"73397:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73397:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58092,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":58085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"73441:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58086,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"73453:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"73464:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"73453:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":58088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73453:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58089,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58057,"src":"73484:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"73424:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"73428:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"73424:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73424:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58082,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"73414:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73414:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"73397:99:63"},{"assignments":[58094,58096,58098],"declarations":[{"constant":false,"id":58094,"mutability":"mutable","name":"v","nameLocation":"73513:1:63","nodeType":"VariableDeclaration","scope":58147,"src":"73507:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":58093,"name":"uint8","nodeType":"ElementaryTypeName","src":"73507:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":58096,"mutability":"mutable","name":"r","nameLocation":"73524:1:63","nodeType":"VariableDeclaration","scope":58147,"src":"73516:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73516:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":58098,"mutability":"mutable","name":"s","nameLocation":"73535:1:63","nodeType":"VariableDeclaration","scope":58147,"src":"73527:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73527:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58104,"initialValue":{"arguments":[{"id":58101,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"73548:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58102,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58081,"src":"73564:6:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58099,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"73540:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"73543:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"73540:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":58103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73540:31:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"73506:65:63"},{"expression":{"arguments":[{"arguments":[{"id":58110,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"73604:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":58109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"73596:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58108,"name":"address","nodeType":"ElementaryTypeName","src":"73596:7:63","typeDescriptions":{}}},"id":58111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73596:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58112,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58029,"src":"73617:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58105,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"73582:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":58107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"73588:7:63","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"73582:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":58113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73582:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58114,"nodeType":"ExpressionStatement","src":"73582:42:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":58118,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"73651:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":58119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"73674:20:63","memberName":"InvalidFeeParameters","nodeType":"MemberAccess","referencedDeclaration":49323,"src":"73651:43:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":58120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"73695:8:63","memberName":"selector","nodeType":"MemberAccess","src":"73651:52:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":58115,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"73635:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"73638:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"73635:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":58121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73635:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58122,"nodeType":"ExpressionStatement","src":"73635:69:63"},{"expression":{"arguments":[{"id":58126,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"73754:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58129,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"73768:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":58128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"73760:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58127,"name":"address","nodeType":"ElementaryTypeName","src":"73760:7:63","typeDescriptions":{}}},"id":58130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73760:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58131,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58029,"src":"73776:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58132,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58015,"src":"73784:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58133,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58043,"src":"73799:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58134,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58050,"src":"73809:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58135,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58039,"src":"73816:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58136,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58022,"src":"73827:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58137,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58094,"src":"73841:1:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":58138,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58096,"src":"73844:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58139,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58098,"src":"73847:1:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58123,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"73714:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"73725:15:63","memberName":"depositToIntent","nodeType":"MemberAccess","referencedDeclaration":49494,"src":"73714:26:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32) external"}},"id":58140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73714:144:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58141,"nodeType":"ExpressionStatement","src":"73714:144:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58142,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"73869:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"73872:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"73869:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73869:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58146,"nodeType":"ExpressionStatement","src":"73869:14:63"}]},"documentation":{"id":58005,"nodeType":"StructuredDocumentation","src":"72354:211:63","text":" @notice Test that depositToIntent reverts when feeCollector is provided but feeAmount is not\n @dev Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)"},"functionSelector":"0c266cdb","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithFeeCollectorButNoAmount_Reverts","nameLocation":"72579:54:63","parameters":{"id":58006,"nodeType":"ParameterList","parameters":[],"src":"72633:2:63"},"returnParameters":{"id":58007,"nodeType":"ParameterList","parameters":[],"src":"72643:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":58340,"nodeType":"FunctionDefinition","src":"74121:2344:63","nodes":[],"body":{"id":58339,"nodeType":"Block","src":"74204:2261:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":58155,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"74228:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58152,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"74214:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"74217:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"74214:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74214:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58157,"nodeType":"ExpressionStatement","src":"74214:19:63"},{"assignments":[58159],"declarations":[{"constant":false,"id":58159,"mutability":"mutable","name":"intentAddress","nameLocation":"74252:13:63","nodeType":"VariableDeclaration","scope":58339,"src":"74244:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58158,"name":"address","nodeType":"ElementaryTypeName","src":"74244:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58164,"initialValue":{"arguments":[{"hexValue":"307835363738","id":58162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74276:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":58161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"74268:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58160,"name":"address","nodeType":"ElementaryTypeName","src":"74268:7:63","typeDescriptions":{}}},"id":58163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74268:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"74244:39:63"},{"assignments":[58166],"declarations":[{"constant":false,"id":58166,"mutability":"mutable","name":"amount","nameLocation":"74301:6:63","nodeType":"VariableDeclaration","scope":58339,"src":"74293:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58165,"name":"uint256","nodeType":"ElementaryTypeName","src":"74293:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58174,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":58167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74310:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":58168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74315:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58169,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"74321:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":58170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"74327:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"74321:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":58171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74321:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"74315:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"74310:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"74293:44:63"},{"assignments":[58176],"declarations":[{"constant":false,"id":58176,"mutability":"mutable","name":"feeAmount","nameLocation":"74355:9:63","nodeType":"VariableDeclaration","scope":58339,"src":"74347:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58175,"name":"uint256","nodeType":"ElementaryTypeName","src":"74347:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58184,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"35","id":58177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74367:1:63","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":58178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74371:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58179,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"74377:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":58180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"74383:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"74377:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":58181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74377:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"74371:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"74367:26:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"74347:46:63"},{"assignments":[58186],"declarations":[{"constant":false,"id":58186,"mutability":"mutable","name":"totalAmount","nameLocation":"74434:11:63","nodeType":"VariableDeclaration","scope":58339,"src":"74426:19:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58185,"name":"uint256","nodeType":"ElementaryTypeName","src":"74426:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58190,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58187,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58166,"src":"74448:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":58188,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58176,"src":"74457:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"74448:18:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"74426:40:63"},{"assignments":[58192],"declarations":[{"constant":false,"id":58192,"mutability":"mutable","name":"deadline","nameLocation":"74484:8:63","nodeType":"VariableDeclaration","scope":58339,"src":"74476:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58191,"name":"uint256","nodeType":"ElementaryTypeName","src":"74476:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58197,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":58193,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"74495:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":58194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"74501:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"74495:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":58195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74513:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"74495:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"74476:41:63"},{"assignments":[58199],"declarations":[{"constant":false,"id":58199,"mutability":"mutable","name":"nonce","nameLocation":"74535:5:63","nodeType":"VariableDeclaration","scope":58339,"src":"74527:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58198,"name":"uint256","nodeType":"ElementaryTypeName","src":"74527:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58204,"initialValue":{"arguments":[{"id":58202,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"74561:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58200,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"74543:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"74554:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"74543:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":58203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74543:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"74527:39:63"},{"assignments":[58206],"declarations":[{"constant":false,"id":58206,"mutability":"mutable","name":"permitHash","nameLocation":"74653:10:63","nodeType":"VariableDeclaration","scope":58339,"src":"74645:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74645:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58235,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":58210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"74723:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58211,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"74751:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":58212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"74757:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"74751:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":58213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74751:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":58218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"74870:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":58217,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"74860:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74860:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58220,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"74981:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58223,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"75019:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":58222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"75011:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58221,"name":"address","nodeType":"ElementaryTypeName","src":"75011:7:63","typeDescriptions":{}}},"id":58224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75011:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58225,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58186,"src":"75056:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":58228,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"75106:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58226,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"75093:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":58227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"75099:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"75093:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":58229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75093:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58230,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58192,"src":"75137:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58215,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"74824:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"74828:6:63","memberName":"encode","nodeType":"MemberAccess","src":"74824:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74824:343:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58214,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"74793:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74793:392:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58208,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"74689:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"74693:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"74689:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74689:510:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58207,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"74666:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74666:543:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"74645:564:63"},{"assignments":[58237,58239,58241],"declarations":[{"constant":false,"id":58237,"mutability":"mutable","name":"permitV","nameLocation":"75227:7:63","nodeType":"VariableDeclaration","scope":58339,"src":"75221:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":58236,"name":"uint8","nodeType":"ElementaryTypeName","src":"75221:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":58239,"mutability":"mutable","name":"permitR","nameLocation":"75244:7:63","nodeType":"VariableDeclaration","scope":58339,"src":"75236:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75236:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":58241,"mutability":"mutable","name":"permitS","nameLocation":"75261:7:63","nodeType":"VariableDeclaration","scope":58339,"src":"75253:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75253:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58247,"initialValue":{"arguments":[{"id":58244,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"75280:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58245,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58206,"src":"75296:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58242,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"75272:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"75275:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"75272:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":58246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75272:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"75220:87:63"},{"assignments":[58249],"declarations":[{"constant":false,"id":58249,"mutability":"mutable","name":"intentHash","nameLocation":"75361:10:63","nodeType":"VariableDeclaration","scope":58339,"src":"75353:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75353:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58274,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58253,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"75425:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"75436:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"75425:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":58255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75425:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58256,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"75478:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58259,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"75508:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":58258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"75500:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58257,"name":"address","nodeType":"ElementaryTypeName","src":"75500:7:63","typeDescriptions":{}}},"id":58260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75500:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58261,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58166,"src":"75532:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58262,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58159,"src":"75556:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58263,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58192,"src":"75587:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":58264,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"75613:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":58265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"75619:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"75613:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58266,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58199,"src":"75644:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58267,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58176,"src":"75667:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":58270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"75702:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"75694:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58268,"name":"address","nodeType":"ElementaryTypeName","src":"75694:7:63","typeDescriptions":{}}},"id":58271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75694:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58251,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"75397:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"75401:6:63","memberName":"encode","nodeType":"MemberAccess","src":"75397:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75397:341:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58250,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"75374:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75374:374:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"75353:395:63"},{"assignments":[58276],"declarations":[{"constant":false,"id":58276,"mutability":"mutable","name":"intentDigest","nameLocation":"75767:12:63","nodeType":"VariableDeclaration","scope":58339,"src":"75759:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75759:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58287,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":58280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"75809:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58281,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"75821:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"75832:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"75821:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":58283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75821:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58284,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58249,"src":"75852:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58278,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"75792:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"75796:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"75792:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75792:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58277,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"75782:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75782:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"75759:105:63"},{"assignments":[58289,58291,58293],"declarations":[{"constant":false,"id":58289,"mutability":"mutable","name":"sigV","nameLocation":"75881:4:63","nodeType":"VariableDeclaration","scope":58339,"src":"75875:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":58288,"name":"uint8","nodeType":"ElementaryTypeName","src":"75875:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":58291,"mutability":"mutable","name":"sigR","nameLocation":"75895:4:63","nodeType":"VariableDeclaration","scope":58339,"src":"75887:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75887:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":58293,"mutability":"mutable","name":"sigS","nameLocation":"75909:4:63","nodeType":"VariableDeclaration","scope":58339,"src":"75901:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58292,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75901:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58299,"initialValue":{"arguments":[{"id":58296,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"75925:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58297,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58276,"src":"75941:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58294,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"75917:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"75920:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"75917:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":58298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75917:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"75874:80:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":58303,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"75981:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":58304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"76004:20:63","memberName":"InvalidFeeParameters","nodeType":"MemberAccess","referencedDeclaration":49323,"src":"75981:43:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":58305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"76025:8:63","memberName":"selector","nodeType":"MemberAccess","src":"75981:52:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":58300,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"75965:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"75968:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"75965:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":58306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"75965:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58307,"nodeType":"ExpressionStatement","src":"75965:69:63"},{"expression":{"arguments":[{"id":58311,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"76094:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58314,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"76120:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":58313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"76112:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58312,"name":"address","nodeType":"ElementaryTypeName","src":"76112:7:63","typeDescriptions":{}}},"id":58315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76112:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58316,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58166,"src":"76140:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58317,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58186,"src":"76160:11:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58318,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58159,"src":"76185:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58319,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58192,"src":"76212:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58320,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58199,"src":"76234:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58321,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58176,"src":"76253:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":58324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76284:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"76276:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58322,"name":"address","nodeType":"ElementaryTypeName","src":"76276:7:63","typeDescriptions":{}}},"id":58325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76276:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58326,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58237,"src":"76320:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":58327,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58239,"src":"76341:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58328,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58241,"src":"76362:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58329,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58289,"src":"76383:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":58330,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58291,"src":"76401:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58331,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58293,"src":"76419:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58308,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"76044:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"76055:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"76044:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":58332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76044:389:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58333,"nodeType":"ExpressionStatement","src":"76044:389:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58334,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"76444:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"76447:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"76444:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76444:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58338,"nodeType":"ExpressionStatement","src":"76444:14:63"}]},"documentation":{"id":58149,"nodeType":"StructuredDocumentation","src":"73896:220:63","text":" @notice Test that depositToIntentWithPermit reverts when feeAmount is provided but feeCollector is not\n @dev Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)"},"functionSelector":"218171d7","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts","nameLocation":"74130:64:63","parameters":{"id":58150,"nodeType":"ParameterList","parameters":[],"src":"74194:2:63"},"returnParameters":{"id":58151,"nodeType":"ParameterList","parameters":[],"src":"74204:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":58521,"nodeType":"FunctionDefinition","src":"76697:2332:63","nodes":[],"body":{"id":58520,"nodeType":"Block","src":"76780:2249:63","nodes":[],"statements":[{"expression":{"arguments":[{"id":58347,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"76804:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58344,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"76790:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"76793:10:63","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"76790:13:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76790:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58349,"nodeType":"ExpressionStatement","src":"76790:19:63"},{"assignments":[58351],"declarations":[{"constant":false,"id":58351,"mutability":"mutable","name":"intentAddress","nameLocation":"76828:13:63","nodeType":"VariableDeclaration","scope":58520,"src":"76820:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58350,"name":"address","nodeType":"ElementaryTypeName","src":"76820:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58356,"initialValue":{"arguments":[{"hexValue":"307835363738","id":58354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76852:6:63","typeDescriptions":{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"},"value":"0x5678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_22136_by_1","typeString":"int_const 22136"}],"id":58353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"76844:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58352,"name":"address","nodeType":"ElementaryTypeName","src":"76844:7:63","typeDescriptions":{}}},"id":58355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76844:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"76820:39:63"},{"assignments":[58358],"declarations":[{"constant":false,"id":58358,"mutability":"mutable","name":"feeCollector","nameLocation":"76877:12:63","nodeType":"VariableDeclaration","scope":58520,"src":"76869:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58357,"name":"address","nodeType":"ElementaryTypeName","src":"76869:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58363,"initialValue":{"arguments":[{"hexValue":"307839393939","id":58361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76900:6:63","typeDescriptions":{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"},"value":"0x9999"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_39321_by_1","typeString":"int_const 39321"}],"id":58360,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"76892:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58359,"name":"address","nodeType":"ElementaryTypeName","src":"76892:7:63","typeDescriptions":{}}},"id":58362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76892:15:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"76869:38:63"},{"assignments":[58365],"declarations":[{"constant":false,"id":58365,"mutability":"mutable","name":"amount","nameLocation":"76951:6:63","nodeType":"VariableDeclaration","scope":58520,"src":"76943:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58364,"name":"uint256","nodeType":"ElementaryTypeName","src":"76943:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58373,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3530","id":58366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76960:2:63","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":58367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76965:2:63","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58368,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"76971:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":58369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"76977:8:63","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":40409,"src":"76971:14:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":58370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76971:16:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"76965:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"76960:27:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"76943:44:63"},{"assignments":[58375],"declarations":[{"constant":false,"id":58375,"mutability":"mutable","name":"feeAmount","nameLocation":"77005:9:63","nodeType":"VariableDeclaration","scope":58520,"src":"76997:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58374,"name":"uint256","nodeType":"ElementaryTypeName","src":"76997:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58377,"initialValue":{"hexValue":"30","id":58376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"77017:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"76997:21:63"},{"assignments":[58379],"declarations":[{"constant":false,"id":58379,"mutability":"mutable","name":"deadline","nameLocation":"77053:8:63","nodeType":"VariableDeclaration","scope":58520,"src":"77045:16:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58378,"name":"uint256","nodeType":"ElementaryTypeName","src":"77045:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58384,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":58380,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"77064:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":58381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"77070:9:63","memberName":"timestamp","nodeType":"MemberAccess","src":"77064:15:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33363030","id":58382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"77082:4:63","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"},"src":"77064:22:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"77045:41:63"},{"assignments":[58386],"declarations":[{"constant":false,"id":58386,"mutability":"mutable","name":"nonce","nameLocation":"77104:5:63","nodeType":"VariableDeclaration","scope":58520,"src":"77096:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58385,"name":"uint256","nodeType":"ElementaryTypeName","src":"77096:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58391,"initialValue":{"arguments":[{"id":58389,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"77130:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58387,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"77112:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"77123:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":49330,"src":"77112:17:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":58390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77112:23:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"77096:39:63"},{"assignments":[58393],"declarations":[{"constant":false,"id":58393,"mutability":"mutable","name":"permitHash","nameLocation":"77218:10:63","nodeType":"VariableDeclaration","scope":58520,"src":"77210:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77210:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58422,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":58397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"77288:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58398,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"77316:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":58399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"77322:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":41076,"src":"77316:22:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":58400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77316:24:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":58405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"77435:84:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":58404,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"77425:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77425:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58407,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"77546:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58410,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"77584:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":58409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"77576:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58408,"name":"address","nodeType":"ElementaryTypeName","src":"77576:7:63","typeDescriptions":{}}},"id":58411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77576:19:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58412,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58365,"src":"77621:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":58415,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"77666:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58413,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"77653:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}},"id":58414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"77659:6:63","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":41066,"src":"77653:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":58416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77653:18:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58417,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58379,"src":"77697:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"77389:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"77393:6:63","memberName":"encode","nodeType":"MemberAccess","src":"77389:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77389:338:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58401,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"77358:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77358:387:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58395,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"77254:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"77258:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"77254:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77254:505:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58394,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"77231:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77231:538:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"77210:559:63"},{"assignments":[58424,58426,58428],"declarations":[{"constant":false,"id":58424,"mutability":"mutable","name":"permitV","nameLocation":"77787:7:63","nodeType":"VariableDeclaration","scope":58520,"src":"77781:13:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":58423,"name":"uint8","nodeType":"ElementaryTypeName","src":"77781:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":58426,"mutability":"mutable","name":"permitR","nameLocation":"77804:7:63","nodeType":"VariableDeclaration","scope":58520,"src":"77796:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77796:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":58428,"mutability":"mutable","name":"permitS","nameLocation":"77821:7:63","nodeType":"VariableDeclaration","scope":58520,"src":"77813:15:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77813:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58434,"initialValue":{"arguments":[{"id":58431,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"77840:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58432,"name":"permitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58393,"src":"77856:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58429,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"77832:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"77835:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"77832:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":58433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77832:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"77780:87:63"},{"assignments":[58436],"declarations":[{"constant":false,"id":58436,"mutability":"mutable","name":"intentHash","nameLocation":"77921:10:63","nodeType":"VariableDeclaration","scope":58520,"src":"77913:18:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58435,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77913:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58458,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58440,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"77985:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"77996:22:63","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"77985:33:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":58442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77985:35:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58443,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"78038:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58446,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"78068:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":58445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"78060:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58444,"name":"address","nodeType":"ElementaryTypeName","src":"78060:7:63","typeDescriptions":{}}},"id":58447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78060:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58448,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58365,"src":"78092:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58449,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58351,"src":"78116:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58450,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58379,"src":"78147:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":58451,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"78173:5:63","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":58452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"78179:7:63","memberName":"chainid","nodeType":"MemberAccess","src":"78173:13:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58453,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58386,"src":"78204:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58454,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58375,"src":"78227:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58455,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58358,"src":"78254:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"77957:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"77961:6:63","memberName":"encode","nodeType":"MemberAccess","src":"77957:10:63","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77957:323:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58437,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"77934:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77934:356:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"77913:377:63"},{"assignments":[58460],"declarations":[{"constant":false,"id":58460,"mutability":"mutable","name":"intentDigest","nameLocation":"78309:12:63","nodeType":"VariableDeclaration","scope":58520,"src":"78301:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78301:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58471,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":58464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"78351:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58465,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"78363:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"78374:16:63","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"78363:27:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":58467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78363:29:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58468,"name":"intentHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58436,"src":"78394:10:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"78334:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"78338:12:63","memberName":"encodePacked","nodeType":"MemberAccess","src":"78334:16:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78334:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58461,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"78324:9:63","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78324:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"78301:105:63"},{"assignments":[58473,58475,58477],"declarations":[{"constant":false,"id":58473,"mutability":"mutable","name":"sigV","nameLocation":"78423:4:63","nodeType":"VariableDeclaration","scope":58520,"src":"78417:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":58472,"name":"uint8","nodeType":"ElementaryTypeName","src":"78417:5:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":58475,"mutability":"mutable","name":"sigR","nameLocation":"78437:4:63","nodeType":"VariableDeclaration","scope":58520,"src":"78429:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78429:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":58477,"mutability":"mutable","name":"sigS","nameLocation":"78451:4:63","nodeType":"VariableDeclaration","scope":58520,"src":"78443:12:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58476,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78443:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58483,"initialValue":{"arguments":[{"id":58480,"name":"userPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51593,"src":"78467:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58481,"name":"intentDigest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58460,"src":"78483:12:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58478,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"78459:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"78462:4:63","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":13956,"src":"78459:7:63","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":58482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78459:37:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"78416:80:63"},{"expression":{"arguments":[{"expression":{"expression":{"id":58487,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"78523:22:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":58488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"78546:20:63","memberName":"InvalidFeeParameters","nodeType":"MemberAccess","referencedDeclaration":49323,"src":"78523:43:63","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":58489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"78567:8:63","memberName":"selector","nodeType":"MemberAccess","src":"78523:52:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":58484,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"78507:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"78510:12:63","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"78507:15:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":58490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78507:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58491,"nodeType":"ExpressionStatement","src":"78507:69:63"},{"expression":{"arguments":[{"id":58495,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"78636:4:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58498,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51584,"src":"78662:5:63","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20Permit_$51566","typeString":"contract MockERC20Permit"}],"id":58497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"78654:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58496,"name":"address","nodeType":"ElementaryTypeName","src":"78654:7:63","typeDescriptions":{}}},"id":58499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78654:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58500,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58365,"src":"78682:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58501,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58365,"src":"78702:6:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58502,"name":"intentAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58351,"src":"78722:13:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58503,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58379,"src":"78749:8:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58504,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58386,"src":"78771:5:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58505,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58375,"src":"78790:9:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58506,"name":"feeCollector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58358,"src":"78813:12:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58507,"name":"permitV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58424,"src":"78884:7:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":58508,"name":"permitR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58426,"src":"78905:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58509,"name":"permitS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58428,"src":"78926:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58510,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58473,"src":"78947:4:63","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":58511,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58475,"src":"78965:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58512,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58477,"src":"78983:4:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58492,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51581,"src":"78586:10:63","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":58494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"78597:25:63","memberName":"depositToIntentWithPermit","nodeType":"MemberAccess","referencedDeclaration":49442,"src":"78586:36:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32) external"}},"id":58513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78586:411:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58514,"nodeType":"ExpressionStatement","src":"78586:411:63"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58515,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"79008:2:63","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"79011:9:63","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"79008:12:63","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"79008:14:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58519,"nodeType":"ExpressionStatement","src":"79008:14:63"}]},"documentation":{"id":58341,"nodeType":"StructuredDocumentation","src":"76471:221:63","text":" @notice Test that depositToIntentWithPermit reverts when feeCollector is provided but feeAmount is not\n @dev Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)"},"functionSelector":"80839499","implemented":true,"kind":"function","modifiers":[],"name":"testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts","nameLocation":"76706:64:63","parameters":{"id":58342,"nodeType":"ParameterList","parameters":[],"src":"76770:2:63"},"returnParameters":{"id":58343,"nodeType":"ParameterList","parameters":[],"src":"76780:0:63"},"scope":58522,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":51567,"name":"Test","nameLocations":["869:4:63"],"nodeType":"IdentifierPath","referencedDeclaration":13474,"src":"869:4:63"},"id":51568,"nodeType":"InheritanceSpecifier","src":"869:4:63"}],"canonicalName":"TrailsIntentEntrypointTest","contractDependencies":[49680,51566,68448],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[58522,13474,13420,7443,7042,6247,4157,3194,285,282],"name":"TrailsIntentEntrypointTest","nameLocation":"839:26:63","scope":58523,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477,51578]}],"license":"MIT"}},"test/TrailsRouter.t.sol":{"id":64,"ast":{"absolutePath":"test/TrailsRouter.t.sol","id":64597,"exportedSymbols":{"AlwaysFailingMulticall3":[58633],"DelegatecallGuard":[51143],"ERC20Mock":[40330],"FailingToken":[58599],"IDelegatedExtension":[48994],"IERC20Errors":[40194],"IMulticall3":[51190],"MockERC20":[68037],"MockMulticall3":[68225],"MockSenderGetter":[68460],"MockTarget":[58706],"MockTargetETH":[58750],"MockWallet":[58832],"RevertingReceiver":[58608],"Test":[13474],"TrailsRouter":[50972],"TrailsRouterTest":[64596],"TrailsSentinelLib":[51527],"TstoreMode":[69517],"TstoreRead":[69588],"TstoreSetter":[69454]},"nodeType":"SourceUnit","src":"32:59644:64","nodes":[{"id":58524,"nodeType":"PragmaDirective","src":"32:24:64","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":58526,"nodeType":"ImportDirective","src":"58:40:64","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":13475,"symbolAliases":[{"foreign":{"id":58525,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"66:4:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58528,"nodeType":"ImportDirective","src":"99:50:64","nodes":[],"absolutePath":"src/TrailsRouter.sol","file":"src/TrailsRouter.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":50973,"symbolAliases":[{"foreign":{"id":58527,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"107:12:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58530,"nodeType":"ImportDirective","src":"150:67:64","nodes":[],"absolutePath":"src/guards/DelegatecallGuard.sol","file":"src/guards/DelegatecallGuard.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":51144,"symbolAliases":[{"foreign":{"id":58529,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"158:17:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58532,"nodeType":"ImportDirective","src":"218:65:64","nodes":[],"absolutePath":"test/mocks/MockSenderGetter.sol","file":"test/mocks/MockSenderGetter.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":68461,"symbolAliases":[{"foreign":{"id":58531,"name":"MockSenderGetter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68460,"src":"226:16:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58534,"nodeType":"ImportDirective","src":"284:51:64","nodes":[],"absolutePath":"test/mocks/MockERC20.sol","file":"test/mocks/MockERC20.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":68038,"symbolAliases":[{"foreign":{"id":58533,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68037,"src":"292:9:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58536,"nodeType":"ImportDirective","src":"336:61:64","nodes":[],"absolutePath":"test/mocks/MockMulticall3.sol","file":"test/mocks/MockMulticall3.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":68226,"symbolAliases":[{"foreign":{"id":58535,"name":"MockMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68225,"src":"344:14:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58538,"nodeType":"ImportDirective","src":"398:76:64","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol","file":"@openzeppelin/contracts/mocks/token/ERC20Mock.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":40331,"symbolAliases":[{"foreign":{"id":58537,"name":"ERC20Mock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40330,"src":"406:9:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58540,"nodeType":"ImportDirective","src":"475:83:64","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","file":"@openzeppelin/contracts/interfaces/draft-IERC6093.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":40290,"symbolAliases":[{"foreign":{"id":58539,"name":"IERC20Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40194,"src":"483:12:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58542,"nodeType":"ImportDirective","src":"559:99:64","nodes":[],"absolutePath":"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol","file":"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":48995,"symbolAliases":[{"foreign":{"id":58541,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"567:19:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58546,"nodeType":"ImportDirective","src":"659:80:64","nodes":[],"absolutePath":"test/utils/TstoreUtils.sol","file":"test/utils/TstoreUtils.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":69589,"symbolAliases":[{"foreign":{"id":58543,"name":"TstoreSetter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69454,"src":"667:12:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":58544,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"681:10:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":58545,"name":"TstoreRead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69588,"src":"693:10:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58548,"nodeType":"ImportDirective","src":"740:70:64","nodes":[],"absolutePath":"src/libraries/TrailsSentinelLib.sol","file":"src/libraries/TrailsSentinelLib.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":51528,"symbolAliases":[{"foreign":{"id":58547,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"748:17:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58550,"nodeType":"ImportDirective","src":"811:59:64","nodes":[],"absolutePath":"src/interfaces/IMulticall3.sol","file":"src/interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":64597,"sourceUnit":51191,"symbolAliases":[{"foreign":{"id":58549,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"819:11:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58599,"nodeType":"ContractDefinition","src":"1339:447:64","nodes":[{"id":58554,"nodeType":"VariableDeclaration","src":"1380:22:64","nodes":[],"constant":false,"functionSelector":"678d2204","mutability":"mutable","name":"shouldFail","nameLocation":"1392:10:64","scope":58599,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58553,"name":"bool","nodeType":"ElementaryTypeName","src":"1380:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":58563,"nodeType":"FunctionDefinition","src":"1409:55:64","nodes":[],"body":{"id":58562,"nodeType":"Block","src":"1462:2:64","nodes":[],"statements":[]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"4661696c696e6720546f6b656e","id":58557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1433:15:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4d4b01652cd37b89d145739bc37e13e628733698c63b74a5ca5d6a8b6f498904","typeString":"literal_string \"Failing Token\""},"value":"Failing Token"},{"hexValue":"4641494c","id":58558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1450:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_104dd4d86a34f57105fb7432669e2de5fd3102fcce4e2794553e45c52904bcde","typeString":"literal_string \"FAIL\""},"value":"FAIL"},{"hexValue":"3138","id":58559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1458:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"id":58560,"kind":"baseConstructorSpecifier","modifierName":{"id":58556,"name":"MockERC20","nameLocations":["1423:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"1423:9:64"},"nodeType":"ModifierInvocation","src":"1423:38:64"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":58555,"nodeType":"ParameterList","parameters":[],"src":"1420:2:64"},"returnParameters":{"id":58561,"nodeType":"ParameterList","parameters":[],"src":"1462:0:64"},"scope":58599,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":58573,"nodeType":"FunctionDefinition","src":"1470:91:64","nodes":[],"body":{"id":58572,"nodeType":"Block","src":"1520:41:64","nodes":[],"statements":[{"expression":{"id":58570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58568,"name":"shouldFail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58554,"src":"1530:10:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58569,"name":"_shouldFail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58565,"src":"1543:11:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1530:24:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58571,"nodeType":"ExpressionStatement","src":"1530:24:64"}]},"functionSelector":"a5aa5c12","implemented":true,"kind":"function","modifiers":[],"name":"setShouldFail","nameLocation":"1479:13:64","parameters":{"id":58566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58565,"mutability":"mutable","name":"_shouldFail","nameLocation":"1498:11:64","nodeType":"VariableDeclaration","scope":58573,"src":"1493:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58564,"name":"bool","nodeType":"ElementaryTypeName","src":"1493:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1492:18:64"},"returnParameters":{"id":58567,"nodeType":"ParameterList","parameters":[],"src":"1520:0:64"},"scope":58599,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":58598,"nodeType":"FunctionDefinition","src":"1567:217:64","nodes":[],"body":{"id":58597,"nodeType":"Block","src":"1662:122:64","nodes":[],"statements":[{"condition":{"id":58585,"name":"shouldFail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58554,"src":"1676:10:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58589,"nodeType":"IfStatement","src":"1672:53:64","trueBody":{"id":58588,"nodeType":"Block","src":"1688:37:64","statements":[{"expression":{"hexValue":"66616c7365","id":58586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1709:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":58584,"id":58587,"nodeType":"Return","src":"1702:12:64"}]}},{"expression":{"arguments":[{"id":58592,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58575,"src":"1760:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58593,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58577,"src":"1766:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58594,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58579,"src":"1770:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58590,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1741:5:64","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_FailingToken_$58599_$","typeString":"type(contract super FailingToken)"}},"id":58591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1747:12:64","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":40528,"src":"1741:18:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":58595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1741:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":58584,"id":58596,"nodeType":"Return","src":"1734:43:64"}]},"baseFunctions":[40528],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1576:12:64","overrides":{"id":58581,"nodeType":"OverrideSpecifier","overrides":[],"src":"1638:8:64"},"parameters":{"id":58580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58575,"mutability":"mutable","name":"from","nameLocation":"1597:4:64","nodeType":"VariableDeclaration","scope":58598,"src":"1589:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58574,"name":"address","nodeType":"ElementaryTypeName","src":"1589:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58577,"mutability":"mutable","name":"to","nameLocation":"1611:2:64","nodeType":"VariableDeclaration","scope":58598,"src":"1603:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58576,"name":"address","nodeType":"ElementaryTypeName","src":"1603:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58579,"mutability":"mutable","name":"amount","nameLocation":"1623:6:64","nodeType":"VariableDeclaration","scope":58598,"src":"1615:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58578,"name":"uint256","nodeType":"ElementaryTypeName","src":"1615:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1588:42:64"},"returnParameters":{"id":58584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58583,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58598,"src":"1656:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58582,"name":"bool","nodeType":"ElementaryTypeName","src":"1656:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1655:6:64"},"scope":58599,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":58551,"name":"MockERC20","nameLocations":["1364:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"1364:9:64"},"id":58552,"nodeType":"InheritanceSpecifier","src":"1364:9:64"}],"canonicalName":"FailingToken","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[58599,68037,40845,40194,41103,40923,42337],"name":"FailingToken","nameLocation":"1348:12:64","scope":64597,"usedErrors":[40164,40169,40174,40183,40188,40193],"usedEvents":[40857,40866]},{"id":58608,"nodeType":"ContractDefinition","src":"1854:125:64","nodes":[{"id":58607,"nodeType":"FunctionDefinition","src":"1887:90:64","nodes":[],"body":{"id":58606,"nodeType":"Block","src":"1914:63:64","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"526576657274696e6752656365697665723a20726576657274206f6e2072656365697665","id":58603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1931:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f2763f17d7ddc5c22addb9674c0ca6fe1d504a9d0c280cda48b9b691c617b42","typeString":"literal_string \"RevertingReceiver: revert on receive\""},"value":"RevertingReceiver: revert on receive"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f2763f17d7ddc5c22addb9674c0ca6fe1d504a9d0c280cda48b9b691c617b42","typeString":"literal_string \"RevertingReceiver: revert on receive\""}],"id":58602,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1924:6:64","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1924:46:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58605,"nodeType":"ExpressionStatement","src":"1924:46:64"}]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":58600,"nodeType":"ParameterList","parameters":[],"src":"1894:2:64"},"returnParameters":{"id":58601,"nodeType":"ParameterList","parameters":[],"src":"1914:0:64"},"scope":58608,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"RevertingReceiver","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[58608],"name":"RevertingReceiver","nameLocation":"1863:17:64","scope":64597,"usedErrors":[],"usedEvents":[]},{"id":58633,"nodeType":"ContractDefinition","src":"2049:305:64","nodes":[{"id":58620,"nodeType":"FunctionDefinition","src":"2088:124:64","nodes":[],"body":{"id":58619,"nodeType":"Block","src":"2155:57:64","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265","id":58616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2172:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""},"value":"MockMulticall3: forced failure"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""}],"id":58615,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2165:6:64","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2165:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58618,"nodeType":"ExpressionStatement","src":"2165:40:64"}]},"functionSelector":"82ad56cb","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"2097:10:64","parameters":{"id":58613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58620,"src":"2108:28:64","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":58610,"nodeType":"UserDefinedTypeName","pathNode":{"id":58609,"name":"IMulticall3.Call3","nameLocations":["2108:11:64","2120:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"2108:17:64"},"referencedDeclaration":51153,"src":"2108:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":58611,"nodeType":"ArrayTypeName","src":"2108:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"2107:30:64"},"returnParameters":{"id":58614,"nodeType":"ParameterList","parameters":[],"src":"2155:0:64"},"scope":58633,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":58632,"nodeType":"FunctionDefinition","src":"2218:134:64","nodes":[],"body":{"id":58631,"nodeType":"Block","src":"2295:57:64","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265","id":58628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2312:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""},"value":"MockMulticall3: forced failure"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""}],"id":58627,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2305:6:64","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2305:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58630,"nodeType":"ExpressionStatement","src":"2305:40:64"}]},"functionSelector":"174dea71","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"2227:15:64","parameters":{"id":58625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58624,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58632,"src":"2243:33:64","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":58622,"nodeType":"UserDefinedTypeName","pathNode":{"id":58621,"name":"IMulticall3.Call3Value","nameLocations":["2243:11:64","2255:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"2243:22:64"},"referencedDeclaration":51162,"src":"2243:22:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":58623,"nodeType":"ArrayTypeName","src":"2243:24:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"2242:35:64"},"returnParameters":{"id":58626,"nodeType":"ParameterList","parameters":[],"src":"2295:0:64"},"scope":58633,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"AlwaysFailingMulticall3","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[58633],"name":"AlwaysFailingMulticall3","nameLocation":"2058:23:64","scope":64597,"usedErrors":[],"usedEvents":[]},{"id":58706,"nodeType":"ContractDefinition","src":"2356:645:64","nodes":[{"id":58635,"nodeType":"VariableDeclaration","src":"2382:25:64","nodes":[],"constant":false,"functionSelector":"829a86d9","mutability":"mutable","name":"lastAmount","nameLocation":"2397:10:64","scope":58706,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58634,"name":"uint256","nodeType":"ElementaryTypeName","src":"2382:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":58637,"nodeType":"VariableDeclaration","src":"2413:24:64","nodes":[],"constant":false,"functionSelector":"d3072d82","mutability":"mutable","name":"shouldRevert","nameLocation":"2425:12:64","scope":58706,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58636,"name":"bool","nodeType":"ElementaryTypeName","src":"2413:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":58640,"nodeType":"VariableDeclaration","src":"2443:22:64","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"2460:5:64","scope":58706,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":58639,"nodeType":"UserDefinedTypeName","pathNode":{"id":58638,"name":"MockERC20","nameLocations":["2443:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"2443:9:64"},"referencedDeclaration":68037,"src":"2443:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"public"},{"id":58652,"nodeType":"FunctionDefinition","src":"2472:70:64","nodes":[],"body":{"id":58651,"nodeType":"Block","src":"2500:42:64","nodes":[],"statements":[{"expression":{"id":58649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58645,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2510:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58647,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58642,"src":"2528:6:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58646,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68037,"src":"2518:9:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$68037_$","typeString":"type(contract MockERC20)"}},"id":58648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2518:17:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"src":"2510:25:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":58650,"nodeType":"ExpressionStatement","src":"2510:25:64"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":58643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58642,"mutability":"mutable","name":"_token","nameLocation":"2492:6:64","nodeType":"VariableDeclaration","scope":58652,"src":"2484:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58641,"name":"address","nodeType":"ElementaryTypeName","src":"2484:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2483:16:64"},"returnParameters":{"id":58644,"nodeType":"ParameterList","parameters":[],"src":"2500:0:64"},"scope":58706,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":58662,"nodeType":"FunctionDefinition","src":"2548:99:64","nodes":[],"body":{"id":58661,"nodeType":"Block","src":"2602:45:64","nodes":[],"statements":[{"expression":{"id":58659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58657,"name":"shouldRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58637,"src":"2612:12:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58658,"name":"_shouldRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58654,"src":"2627:13:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2612:28:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58660,"nodeType":"ExpressionStatement","src":"2612:28:64"}]},"functionSelector":"6813d787","implemented":true,"kind":"function","modifiers":[],"name":"setShouldRevert","nameLocation":"2557:15:64","parameters":{"id":58655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58654,"mutability":"mutable","name":"_shouldRevert","nameLocation":"2578:13:64","nodeType":"VariableDeclaration","scope":58662,"src":"2573:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58653,"name":"bool","nodeType":"ElementaryTypeName","src":"2573:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2572:20:64"},"returnParameters":{"id":58656,"nodeType":"ParameterList","parameters":[],"src":"2602:0:64"},"scope":58706,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":58705,"nodeType":"FunctionDefinition","src":"2653:346:64","nodes":[],"body":{"id":58704,"nodeType":"Block","src":"2751:248:64","nodes":[],"statements":[{"condition":{"id":58669,"name":"shouldRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58637,"src":"2765:12:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58674,"nodeType":"IfStatement","src":"2761:43:64","trueBody":{"expression":{"arguments":[{"hexValue":"546172676574207265766572746564","id":58671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2786:17:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_74b5b0583b62deaf67ce57be9d48e950be7c0750bc0f574e7ac9d486f4260858","typeString":"literal_string \"Target reverted\""},"value":"Target reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74b5b0583b62deaf67ce57be9d48e950be7c0750bc0f574e7ac9d486f4260858","typeString":"literal_string \"Target reverted\""}],"id":58670,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2779:6:64","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2779:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58673,"nodeType":"ExpressionStatement","src":"2779:25:64"}},{"expression":{"id":58677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58675,"name":"lastAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58635,"src":"2814:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58676,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58664,"src":"2827:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2814:19:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58678,"nodeType":"ExpressionStatement","src":"2814:19:64"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":58681,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2855:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":58680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2847:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58679,"name":"address","nodeType":"ElementaryTypeName","src":"2847:7:64","typeDescriptions":{}}},"id":58682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2847:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":58685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2873:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2865:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58683,"name":"address","nodeType":"ElementaryTypeName","src":"2865:7:64","typeDescriptions":{}}},"id":58686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2865:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2847:28:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58703,"nodeType":"IfStatement","src":"2843:150:64","trueBody":{"id":58702,"nodeType":"Block","src":"2877:116:64","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":58691,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2918:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2922:6:64","memberName":"sender","nodeType":"MemberAccess","src":"2918:10:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58695,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2938:4:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":58694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2930:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58693,"name":"address","nodeType":"ElementaryTypeName","src":"2930:7:64","typeDescriptions":{}}},"id":58696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2930:13:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58697,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58664,"src":"2945:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58689,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2899:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":58690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2905:12:64","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":40528,"src":"2899:18:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":58698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:53:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230207472616e7366657246726f6d206661696c6564","id":58699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2954:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_660f8f0025f62cbd32317d358bcfe81a5e6ec025a261c9e072e96f26c2cd0459","typeString":"literal_string \"ERC20 transferFrom failed\""},"value":"ERC20 transferFrom failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_660f8f0025f62cbd32317d358bcfe81a5e6ec025a261c9e072e96f26c2cd0459","typeString":"literal_string \"ERC20 transferFrom failed\""}],"id":58688,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2891:7:64","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":58700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2891:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58701,"nodeType":"ExpressionStatement","src":"2891:91:64"}]}}]},"functionSelector":"6e553f65","implemented":true,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"2662:7:64","parameters":{"id":58667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58664,"mutability":"mutable","name":"amount","nameLocation":"2687:6:64","nodeType":"VariableDeclaration","scope":58705,"src":"2679:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58663,"name":"uint256","nodeType":"ElementaryTypeName","src":"2679:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58705,"src":"2703:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58665,"name":"address","nodeType":"ElementaryTypeName","src":"2703:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2669:60:64"},"returnParameters":{"id":58668,"nodeType":"ParameterList","parameters":[],"src":"2751:0:64"},"scope":58706,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MockTarget","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[58706],"name":"MockTarget","nameLocation":"2365:10:64","scope":64597,"usedErrors":[],"usedEvents":[]},{"id":58750,"nodeType":"ContractDefinition","src":"3003:504:64","nodes":[{"id":58708,"nodeType":"VariableDeclaration","src":"3032:25:64","nodes":[],"constant":false,"functionSelector":"829a86d9","mutability":"mutable","name":"lastAmount","nameLocation":"3047:10:64","scope":58750,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58707,"name":"uint256","nodeType":"ElementaryTypeName","src":"3032:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":58710,"nodeType":"VariableDeclaration","src":"3063:26:64","nodes":[],"constant":false,"functionSelector":"f5632ab4","mutability":"mutable","name":"receivedEth","nameLocation":"3078:11:64","scope":58750,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58709,"name":"uint256","nodeType":"ElementaryTypeName","src":"3063:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":58712,"nodeType":"VariableDeclaration","src":"3095:24:64","nodes":[],"constant":false,"functionSelector":"d3072d82","mutability":"mutable","name":"shouldRevert","nameLocation":"3107:12:64","scope":58750,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58711,"name":"bool","nodeType":"ElementaryTypeName","src":"3095:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":58722,"nodeType":"FunctionDefinition","src":"3126:99:64","nodes":[],"body":{"id":58721,"nodeType":"Block","src":"3180:45:64","nodes":[],"statements":[{"expression":{"id":58719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58717,"name":"shouldRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58712,"src":"3190:12:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58718,"name":"_shouldRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58714,"src":"3205:13:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3190:28:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58720,"nodeType":"ExpressionStatement","src":"3190:28:64"}]},"functionSelector":"6813d787","implemented":true,"kind":"function","modifiers":[],"name":"setShouldRevert","nameLocation":"3135:15:64","parameters":{"id":58715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58714,"mutability":"mutable","name":"_shouldRevert","nameLocation":"3156:13:64","nodeType":"VariableDeclaration","scope":58722,"src":"3151:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58713,"name":"bool","nodeType":"ElementaryTypeName","src":"3151:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3150:20:64"},"returnParameters":{"id":58716,"nodeType":"ParameterList","parameters":[],"src":"3180:0:64"},"scope":58750,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":58745,"nodeType":"FunctionDefinition","src":"3231:239:64","nodes":[],"body":{"id":58744,"nodeType":"Block","src":"3348:122:64","nodes":[],"statements":[{"condition":{"id":58729,"name":"shouldRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58712,"src":"3362:12:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58734,"nodeType":"IfStatement","src":"3358:43:64","trueBody":{"expression":{"arguments":[{"hexValue":"546172676574207265766572746564","id":58731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3383:17:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_74b5b0583b62deaf67ce57be9d48e950be7c0750bc0f574e7ac9d486f4260858","typeString":"literal_string \"Target reverted\""},"value":"Target reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_74b5b0583b62deaf67ce57be9d48e950be7c0750bc0f574e7ac9d486f4260858","typeString":"literal_string \"Target reverted\""}],"id":58730,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3376:6:64","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3376:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58733,"nodeType":"ExpressionStatement","src":"3376:25:64"}},{"expression":{"id":58737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58735,"name":"lastAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58708,"src":"3411:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58736,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58724,"src":"3424:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3411:19:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58738,"nodeType":"ExpressionStatement","src":"3411:19:64"},{"expression":{"id":58742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58739,"name":"receivedEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58710,"src":"3440:11:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":58740,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3454:3:64","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3458:5:64","memberName":"value","nodeType":"MemberAccess","src":"3454:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3440:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58743,"nodeType":"ExpressionStatement","src":"3440:23:64"}]},"functionSelector":"46f6b4e1","implemented":true,"kind":"function","modifiers":[],"name":"depositEth","nameLocation":"3240:10:64","parameters":{"id":58727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58724,"mutability":"mutable","name":"amount","nameLocation":"3268:6:64","nodeType":"VariableDeclaration","scope":58745,"src":"3260:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58723,"name":"uint256","nodeType":"ElementaryTypeName","src":"3260:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58745,"src":"3284:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58725,"name":"address","nodeType":"ElementaryTypeName","src":"3284:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3250:60:64"},"returnParameters":{"id":58728,"nodeType":"ParameterList","parameters":[],"src":"3348:0:64"},"scope":58750,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":58749,"nodeType":"FunctionDefinition","src":"3476:29:64","nodes":[],"body":{"id":58748,"nodeType":"Block","src":"3503:2:64","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":58746,"nodeType":"ParameterList","parameters":[],"src":"3483:2:64"},"returnParameters":{"id":58747,"nodeType":"ParameterList","parameters":[],"src":"3503:0:64"},"scope":58750,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MockTargetETH","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[58750],"name":"MockTargetETH","nameLocation":"3012:13:64","scope":64597,"usedErrors":[],"usedEvents":[]},{"id":58832,"nodeType":"ContractDefinition","src":"3509:1195:64","nodes":[{"id":58787,"nodeType":"FunctionDefinition","src":"3535:497:64","nodes":[],"body":{"id":58786,"nodeType":"Block","src":"3800:232:64","nodes":[],"statements":[{"assignments":[58770],"declarations":[{"constant":false,"id":58770,"mutability":"mutable","name":"data","nameLocation":"3823:4:64","nodeType":"VariableDeclaration","scope":58786,"src":"3810:17:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58769,"name":"bytes","nodeType":"ElementaryTypeName","src":"3810:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58780,"initialValue":{"arguments":[{"hexValue":"696e6a656374416e6443616c6c28616464726573732c616464726573732c62797465732c75696e743235362c6279746573333229","id":58773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3867:54:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5e6516e7769cd5b2ed37944cc100f1caa8f1fd600a98319c84b9cad42e5c16","typeString":"literal_string \"injectAndCall(address,address,bytes,uint256,bytes32)\""},"value":"injectAndCall(address,address,bytes,uint256,bytes32)"},{"id":58774,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58754,"src":"3923:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58775,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58756,"src":"3930:6:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58776,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58758,"src":"3938:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":58777,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58760,"src":"3948:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58778,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58762,"src":"3962:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5e6516e7769cd5b2ed37944cc100f1caa8f1fd600a98319c84b9cad42e5c16","typeString":"literal_string \"injectAndCall(address,address,bytes,uint256,bytes32)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":58771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3830:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3834:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3830:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3830:153:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3810:173:64"},{"expression":{"arguments":[{"id":58783,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58770,"src":"4020:4:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58781,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58752,"src":"4000:6:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4007:12:64","memberName":"delegatecall","nodeType":"MemberAccess","src":"4000:19:64","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":58784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4000:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"functionReturnParameters":58768,"id":58785,"nodeType":"Return","src":"3993:32:64"}]},"functionSelector":"44c3b427","implemented":true,"kind":"function","modifiers":[],"name":"delegateCallBalanceInjector","nameLocation":"3544:27:64","parameters":{"id":58763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58752,"mutability":"mutable","name":"router","nameLocation":"3589:6:64","nodeType":"VariableDeclaration","scope":58787,"src":"3581:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58751,"name":"address","nodeType":"ElementaryTypeName","src":"3581:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58754,"mutability":"mutable","name":"token","nameLocation":"3613:5:64","nodeType":"VariableDeclaration","scope":58787,"src":"3605:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58753,"name":"address","nodeType":"ElementaryTypeName","src":"3605:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58756,"mutability":"mutable","name":"target","nameLocation":"3636:6:64","nodeType":"VariableDeclaration","scope":58787,"src":"3628:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58755,"name":"address","nodeType":"ElementaryTypeName","src":"3628:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58758,"mutability":"mutable","name":"callData","nameLocation":"3665:8:64","nodeType":"VariableDeclaration","scope":58787,"src":"3652:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58757,"name":"bytes","nodeType":"ElementaryTypeName","src":"3652:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":58760,"mutability":"mutable","name":"amountOffset","nameLocation":"3691:12:64","nodeType":"VariableDeclaration","scope":58787,"src":"3683:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58759,"name":"uint256","nodeType":"ElementaryTypeName","src":"3683:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58762,"mutability":"mutable","name":"placeholder","nameLocation":"3721:11:64","nodeType":"VariableDeclaration","scope":58787,"src":"3713:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3713:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3571:167:64"},"returnParameters":{"id":58768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58765,"mutability":"mutable","name":"success","nameLocation":"3770:7:64","nodeType":"VariableDeclaration","scope":58787,"src":"3765:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58764,"name":"bool","nodeType":"ElementaryTypeName","src":"3765:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58767,"mutability":"mutable","name":"result","nameLocation":"3792:6:64","nodeType":"VariableDeclaration","scope":58787,"src":"3779:19:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58766,"name":"bytes","nodeType":"ElementaryTypeName","src":"3779:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3764:35:64"},"scope":58832,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":58827,"nodeType":"FunctionDefinition","src":"4038:629:64","nodes":[],"body":{"id":58826,"nodeType":"Block","src":"4330:337:64","nodes":[],"statements":[{"assignments":[58809],"declarations":[{"constant":false,"id":58809,"mutability":"mutable","name":"data","nameLocation":"4353:4:64","nodeType":"VariableDeclaration","scope":58826,"src":"4340:17:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58808,"name":"bytes","nodeType":"ElementaryTypeName","src":"4340:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58820,"initialValue":{"arguments":[{"hexValue":"68616e646c6553657175656e636544656c656761746543616c6c28627974657333322c75696e743235362c75696e743235362c75696e743235362c75696e743235362c627974657329","id":58812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4397:75:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c4e814cb8a6bc016619b221ef23346e50fbfc09d8735991e9a6646dbe61ec4b","typeString":"literal_string \"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\""},"value":"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)"},{"id":58813,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58791,"src":"4486:6:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58814,"name":"startingGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58793,"src":"4506:11:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58815,"name":"callIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58795,"src":"4531:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58816,"name":"numCalls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58797,"src":"4554:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58817,"name":"space","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58799,"src":"4576:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58818,"name":"innerCallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58801,"src":"4595:13:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c4e814cb8a6bc016619b221ef23346e50fbfc09d8735991e9a6646dbe61ec4b","typeString":"literal_string \"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58810,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4360:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4364:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4360:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4360:258:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4340:278:64"},{"expression":{"arguments":[{"id":58823,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58809,"src":"4655:4:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58821,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58789,"src":"4635:6:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4642:12:64","memberName":"delegatecall","nodeType":"MemberAccess","src":"4635:19:64","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":58824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4635:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"functionReturnParameters":58807,"id":58825,"nodeType":"Return","src":"4628:32:64"}]},"functionSelector":"1827c8ae","implemented":true,"kind":"function","modifiers":[],"name":"handleSequenceDelegateCall","nameLocation":"4047:26:64","parameters":{"id":58802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58789,"mutability":"mutable","name":"router","nameLocation":"4091:6:64","nodeType":"VariableDeclaration","scope":58827,"src":"4083:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58788,"name":"address","nodeType":"ElementaryTypeName","src":"4083:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58791,"mutability":"mutable","name":"opHash","nameLocation":"4115:6:64","nodeType":"VariableDeclaration","scope":58827,"src":"4107:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4107:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":58793,"mutability":"mutable","name":"startingGas","nameLocation":"4139:11:64","nodeType":"VariableDeclaration","scope":58827,"src":"4131:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58792,"name":"uint256","nodeType":"ElementaryTypeName","src":"4131:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58795,"mutability":"mutable","name":"callIndex","nameLocation":"4168:9:64","nodeType":"VariableDeclaration","scope":58827,"src":"4160:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58794,"name":"uint256","nodeType":"ElementaryTypeName","src":"4160:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58797,"mutability":"mutable","name":"numCalls","nameLocation":"4195:8:64","nodeType":"VariableDeclaration","scope":58827,"src":"4187:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58796,"name":"uint256","nodeType":"ElementaryTypeName","src":"4187:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58799,"mutability":"mutable","name":"space","nameLocation":"4221:5:64","nodeType":"VariableDeclaration","scope":58827,"src":"4213:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58798,"name":"uint256","nodeType":"ElementaryTypeName","src":"4213:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58801,"mutability":"mutable","name":"innerCallData","nameLocation":"4249:13:64","nodeType":"VariableDeclaration","scope":58827,"src":"4236:26:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58800,"name":"bytes","nodeType":"ElementaryTypeName","src":"4236:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4073:195:64"},"returnParameters":{"id":58807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58804,"mutability":"mutable","name":"success","nameLocation":"4300:7:64","nodeType":"VariableDeclaration","scope":58827,"src":"4295:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58803,"name":"bool","nodeType":"ElementaryTypeName","src":"4295:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58806,"mutability":"mutable","name":"result","nameLocation":"4322:6:64","nodeType":"VariableDeclaration","scope":58827,"src":"4309:19:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58805,"name":"bytes","nodeType":"ElementaryTypeName","src":"4309:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4294:35:64"},"scope":58832,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":58831,"nodeType":"FunctionDefinition","src":"4673:29:64","nodes":[],"body":{"id":58830,"nodeType":"Block","src":"4700:2:64","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":58828,"nodeType":"ParameterList","parameters":[],"src":"4680:2:64"},"returnParameters":{"id":58829,"nodeType":"ParameterList","parameters":[],"src":"4700:0:64"},"scope":58832,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MockWallet","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[58832],"name":"MockWallet","nameLocation":"3518:10:64","scope":64597,"usedErrors":[],"usedEvents":[]},{"id":64596,"nodeType":"ContractDefinition","src":"4886:54789:64","nodes":[{"id":58837,"nodeType":"VariableDeclaration","src":"5117:28:64","nodes":[],"constant":false,"mutability":"mutable","name":"router","nameLocation":"5139:6:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"},"typeName":{"id":58836,"nodeType":"UserDefinedTypeName","pathNode":{"id":58835,"name":"TrailsRouter","nameLocations":["5117:12:64"],"nodeType":"IdentifierPath","referencedDeclaration":50972,"src":"5117:12:64"},"referencedDeclaration":50972,"src":"5117:12:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"visibility":"internal"},{"id":58840,"nodeType":"VariableDeclaration","src":"5151:32:64","nodes":[],"constant":false,"mutability":"mutable","name":"getter","nameLocation":"5177:6:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"},"typeName":{"id":58839,"nodeType":"UserDefinedTypeName","pathNode":{"id":58838,"name":"MockSenderGetter","nameLocations":["5151:16:64"],"nodeType":"IdentifierPath","referencedDeclaration":68460,"src":"5151:16:64"},"referencedDeclaration":68460,"src":"5151:16:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}},"visibility":"internal"},{"id":58843,"nodeType":"VariableDeclaration","src":"5189:28:64","nodes":[],"constant":false,"mutability":"mutable","name":"mockToken","nameLocation":"5208:9:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":58842,"nodeType":"UserDefinedTypeName","pathNode":{"id":58841,"name":"MockERC20","nameLocations":["5189:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"5189:9:64"},"referencedDeclaration":68037,"src":"5189:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"internal"},{"id":58846,"nodeType":"VariableDeclaration","src":"5223:34:64","nodes":[],"constant":false,"mutability":"mutable","name":"failingToken","nameLocation":"5245:12:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FailingToken_$58599","typeString":"contract FailingToken"},"typeName":{"id":58845,"nodeType":"UserDefinedTypeName","pathNode":{"id":58844,"name":"FailingToken","nameLocations":["5223:12:64"],"nodeType":"IdentifierPath","referencedDeclaration":58599,"src":"5223:12:64"},"referencedDeclaration":58599,"src":"5223:12:64","typeDescriptions":{"typeIdentifier":"t_contract$_FailingToken_$58599","typeString":"contract FailingToken"}},"visibility":"internal"},{"id":58849,"nodeType":"VariableDeclaration","src":"5263:24:64","nodes":[],"constant":false,"mutability":"mutable","name":"erc20","nameLocation":"5282:5:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"},"typeName":{"id":58848,"nodeType":"UserDefinedTypeName","pathNode":{"id":58847,"name":"ERC20Mock","nameLocations":["5263:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":40330,"src":"5263:9:64"},"referencedDeclaration":40330,"src":"5263:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"visibility":"internal"},{"id":58852,"nodeType":"VariableDeclaration","src":"5293:26:64","nodes":[],"constant":false,"mutability":"mutable","name":"target","nameLocation":"5313:6:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"},"typeName":{"id":58851,"nodeType":"UserDefinedTypeName","pathNode":{"id":58850,"name":"MockTarget","nameLocations":["5293:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"5293:10:64"},"referencedDeclaration":58706,"src":"5293:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"visibility":"internal"},{"id":58855,"nodeType":"VariableDeclaration","src":"5325:32:64","nodes":[],"constant":false,"mutability":"mutable","name":"targetEth","nameLocation":"5348:9:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"},"typeName":{"id":58854,"nodeType":"UserDefinedTypeName","pathNode":{"id":58853,"name":"MockTargetETH","nameLocations":["5325:13:64"],"nodeType":"IdentifierPath","referencedDeclaration":58750,"src":"5325:13:64"},"referencedDeclaration":58750,"src":"5325:13:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}},"visibility":"internal"},{"id":58860,"nodeType":"VariableDeclaration","src":"5364:40:64","nodes":[],"constant":false,"mutability":"mutable","name":"user","nameLocation":"5381:4:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58856,"name":"address","nodeType":"ElementaryTypeName","src":"5364:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"75736572","id":58858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5397:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb61ad33d3763aed2bc16c0f57ff251ac638d3d03ab7550adfd3e166c2e7adb6","typeString":"literal_string \"user\""},"value":"user"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb61ad33d3763aed2bc16c0f57ff251ac638d3d03ab7550adfd3e166c2e7adb6","typeString":"literal_string \"user\""}],"id":58857,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6009,"src":"5388:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":58859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5388:16:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":58862,"nodeType":"VariableDeclaration","src":"5410:29:64","nodes":[],"constant":false,"functionSelector":"e534155d","mutability":"mutable","name":"holder","nameLocation":"5433:6:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":58861,"name":"address","nodeType":"ElementaryTypeName","src":"5410:15:64","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":58864,"nodeType":"VariableDeclaration","src":"5445:32:64","nodes":[],"constant":false,"functionSelector":"66d003ac","mutability":"mutable","name":"recipient","nameLocation":"5468:9:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":58863,"name":"address","nodeType":"ElementaryTypeName","src":"5445:15:64","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":58867,"nodeType":"VariableDeclaration","src":"5484:97:64","nodes":[],"constant":true,"mutability":"constant","name":"PLACEHOLDER","nameLocation":"5501:11:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307864656164626565666465616462656566646561646265656664656164626565666465616462656566646561646265656664656164626565666465616462656566","id":58866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5515:66:64","typeDescriptions":{"typeIdentifier":"t_rational_100720434726375746010458024839911619878118703404436202866098422983289408962287_by_1","typeString":"int_const 1007...(70 digits omitted)...2287"},"value":"0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef"},"visibility":"internal"},{"id":58872,"nodeType":"VariableDeclaration","src":"5587:82:64","nodes":[],"constant":true,"mutability":"constant","name":"TEST_NAMESPACE","nameLocation":"5604:14:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5587:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"6f72672e73657175656e63652e747261696c732e726f757465722e73656e74696e656c","id":58870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5631:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""},"value":"org.sequence.trails.router.sentinel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""}],"id":58869,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5621:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":58871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5621:48:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":58881,"nodeType":"VariableDeclaration","src":"5675:57:64","nodes":[],"constant":true,"mutability":"constant","name":"TEST_SUCCESS_VALUE","nameLocation":"5692:18:64","scope":64596,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5675:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"arguments":[{"hexValue":"31","id":58878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5729:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":58877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5721:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58876,"name":"uint256","nodeType":"ElementaryTypeName","src":"5721:7:64","typeDescriptions":{}}},"id":58879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5721:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5713:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":58874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5713:7:64","typeDescriptions":{}}},"id":58880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5713:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":58889,"nodeType":"EventDefinition","src":"5941:78:64","nodes":[],"anonymous":false,"eventSelector":"ed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7","name":"Sweep","nameLocation":"5947:5:64","parameters":{"id":58888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58883,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"5969:5:64","nodeType":"VariableDeclaration","scope":58889,"src":"5953:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58882,"name":"address","nodeType":"ElementaryTypeName","src":"5953:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58885,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"5992:9:64","nodeType":"VariableDeclaration","scope":58889,"src":"5976:25:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58884,"name":"address","nodeType":"ElementaryTypeName","src":"5976:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58887,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6011:6:64","nodeType":"VariableDeclaration","scope":58889,"src":"6003:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58886,"name":"uint256","nodeType":"ElementaryTypeName","src":"6003:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5952:66:64"}},{"id":58897,"nodeType":"EventDefinition","src":"6024:79:64","nodes":[],"anonymous":false,"eventSelector":"f40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae","name":"Refund","nameLocation":"6030:6:64","parameters":{"id":58896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58891,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"6053:5:64","nodeType":"VariableDeclaration","scope":58897,"src":"6037:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58890,"name":"address","nodeType":"ElementaryTypeName","src":"6037:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58893,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"6076:9:64","nodeType":"VariableDeclaration","scope":58897,"src":"6060:25:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58892,"name":"address","nodeType":"ElementaryTypeName","src":"6060:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58895,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6095:6:64","nodeType":"VariableDeclaration","scope":58897,"src":"6087:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58894,"name":"uint256","nodeType":"ElementaryTypeName","src":"6087:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6036:66:64"}},{"id":58911,"nodeType":"EventDefinition","src":"6108:226:64","nodes":[],"anonymous":false,"eventSelector":"e8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea","name":"RefundAndSweep","nameLocation":"6114:14:64","parameters":{"id":58910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58899,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"6154:5:64","nodeType":"VariableDeclaration","scope":58911,"src":"6138:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58898,"name":"address","nodeType":"ElementaryTypeName","src":"6138:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58901,"indexed":true,"mutability":"mutable","name":"refundRecipient","nameLocation":"6185:15:64","nodeType":"VariableDeclaration","scope":58911,"src":"6169:31:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58900,"name":"address","nodeType":"ElementaryTypeName","src":"6169:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58903,"indexed":false,"mutability":"mutable","name":"refundAmount","nameLocation":"6218:12:64","nodeType":"VariableDeclaration","scope":58911,"src":"6210:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58902,"name":"uint256","nodeType":"ElementaryTypeName","src":"6210:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58905,"indexed":true,"mutability":"mutable","name":"sweepRecipient","nameLocation":"6256:14:64","nodeType":"VariableDeclaration","scope":58911,"src":"6240:30:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58904,"name":"address","nodeType":"ElementaryTypeName","src":"6240:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58907,"indexed":false,"mutability":"mutable","name":"actualRefund","nameLocation":"6288:12:64","nodeType":"VariableDeclaration","scope":58911,"src":"6280:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58906,"name":"uint256","nodeType":"ElementaryTypeName","src":"6280:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58909,"indexed":false,"mutability":"mutable","name":"remaining","nameLocation":"6318:9:64","nodeType":"VariableDeclaration","scope":58911,"src":"6310:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58908,"name":"uint256","nodeType":"ElementaryTypeName","src":"6310:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6128:205:64"}},{"id":58921,"nodeType":"EventDefinition","src":"6339:103:64","nodes":[],"anonymous":false,"eventSelector":"bc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf85","name":"ActualRefund","nameLocation":"6345:12:64","parameters":{"id":58920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58913,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"6374:5:64","nodeType":"VariableDeclaration","scope":58921,"src":"6358:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58912,"name":"address","nodeType":"ElementaryTypeName","src":"6358:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58915,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"6397:9:64","nodeType":"VariableDeclaration","scope":58921,"src":"6381:25:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58914,"name":"address","nodeType":"ElementaryTypeName","src":"6381:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58917,"indexed":false,"mutability":"mutable","name":"expected","nameLocation":"6416:8:64","nodeType":"VariableDeclaration","scope":58921,"src":"6408:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58916,"name":"uint256","nodeType":"ElementaryTypeName","src":"6408:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58919,"indexed":false,"mutability":"mutable","name":"actual","nameLocation":"6434:6:64","nodeType":"VariableDeclaration","scope":58921,"src":"6426:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58918,"name":"uint256","nodeType":"ElementaryTypeName","src":"6426:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6357:84:64"}},{"id":58937,"nodeType":"EventDefinition","src":"6447:230:64","nodes":[],"anonymous":false,"eventSelector":"5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d91","name":"BalanceInjectorCall","nameLocation":"6453:19:64","parameters":{"id":58936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58923,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"6498:5:64","nodeType":"VariableDeclaration","scope":58937,"src":"6482:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58922,"name":"address","nodeType":"ElementaryTypeName","src":"6482:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58925,"indexed":true,"mutability":"mutable","name":"target","nameLocation":"6529:6:64","nodeType":"VariableDeclaration","scope":58937,"src":"6513:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58924,"name":"address","nodeType":"ElementaryTypeName","src":"6513:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58927,"indexed":false,"mutability":"mutable","name":"placeholder","nameLocation":"6553:11:64","nodeType":"VariableDeclaration","scope":58937,"src":"6545:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6545:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":58929,"indexed":false,"mutability":"mutable","name":"amountReplaced","nameLocation":"6582:14:64","nodeType":"VariableDeclaration","scope":58937,"src":"6574:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58928,"name":"uint256","nodeType":"ElementaryTypeName","src":"6574:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58931,"indexed":false,"mutability":"mutable","name":"amountOffset","nameLocation":"6614:12:64","nodeType":"VariableDeclaration","scope":58937,"src":"6606:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58930,"name":"uint256","nodeType":"ElementaryTypeName","src":"6606:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58933,"indexed":false,"mutability":"mutable","name":"success","nameLocation":"6641:7:64","nodeType":"VariableDeclaration","scope":58937,"src":"6636:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58932,"name":"bool","nodeType":"ElementaryTypeName","src":"6636:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58935,"indexed":false,"mutability":"mutable","name":"result","nameLocation":"6664:6:64","nodeType":"VariableDeclaration","scope":58937,"src":"6658:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58934,"name":"bytes","nodeType":"ElementaryTypeName","src":"6658:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6472:204:64"}},{"id":59080,"nodeType":"FunctionDefinition","src":"6859:1053:64","nodes":[],"body":{"id":59079,"nodeType":"Block","src":"6883:1029:64","nodes":[],"statements":[{"assignments":[58942],"declarations":[{"constant":false,"id":58942,"mutability":"mutable","name":"mockMulticall3","nameLocation":"6966:14:64","nodeType":"VariableDeclaration","scope":59079,"src":"6951:29:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockMulticall3_$68225","typeString":"contract MockMulticall3"},"typeName":{"id":58941,"nodeType":"UserDefinedTypeName","pathNode":{"id":58940,"name":"MockMulticall3","nameLocations":["6951:14:64"],"nodeType":"IdentifierPath","referencedDeclaration":68225,"src":"6951:14:64"},"referencedDeclaration":68225,"src":"6951:14:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockMulticall3_$68225","typeString":"contract MockMulticall3"}},"visibility":"internal"}],"id":58947,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":58945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6983:18:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockMulticall3_$68225_$","typeString":"function () returns (contract MockMulticall3)"},"typeName":{"id":58944,"nodeType":"UserDefinedTypeName","pathNode":{"id":58943,"name":"MockMulticall3","nameLocations":["6987:14:64"],"nodeType":"IdentifierPath","referencedDeclaration":68225,"src":"6987:14:64"},"referencedDeclaration":68225,"src":"6987:14:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockMulticall3_$68225","typeString":"contract MockMulticall3"}}},"id":58946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6983:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockMulticall3_$68225","typeString":"contract MockMulticall3"}},"nodeType":"VariableDeclarationStatement","src":"6951:52:64"},{"expression":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":58951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7021:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},{"expression":{"arguments":[{"id":58954,"name":"mockMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58942,"src":"7073:14:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockMulticall3_$68225","typeString":"contract MockMulticall3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockMulticall3_$68225","typeString":"contract MockMulticall3"}],"id":58953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7065:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58952,"name":"address","nodeType":"ElementaryTypeName","src":"7065:7:64","typeDescriptions":{}}},"id":58955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7065:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7089:4:64","memberName":"code","nodeType":"MemberAccess","src":"7065:28:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58948,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"7013:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":58950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7016:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"7013:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":58957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7013:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58958,"nodeType":"ExpressionStatement","src":"7013:81:64"},{"expression":{"id":58965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58959,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"7105:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":58963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7131:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7114:16:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouter_$50972_$","typeString":"function (address) returns (contract TrailsRouter)"},"typeName":{"id":58961,"nodeType":"UserDefinedTypeName","pathNode":{"id":58960,"name":"TrailsRouter","nameLocations":["7118:12:64"],"nodeType":"IdentifierPath","referencedDeclaration":50972,"src":"7118:12:64"},"referencedDeclaration":50972,"src":"7118:12:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}},"id":58964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7114:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"src":"7105:69:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":58966,"nodeType":"ExpressionStatement","src":"7105:69:64"},{"expression":{"id":58972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58967,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"7184:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":58970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7193:20:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockSenderGetter_$68460_$","typeString":"function () returns (contract MockSenderGetter)"},"typeName":{"id":58969,"nodeType":"UserDefinedTypeName","pathNode":{"id":58968,"name":"MockSenderGetter","nameLocations":["7197:16:64"],"nodeType":"IdentifierPath","referencedDeclaration":68460,"src":"7197:16:64"},"referencedDeclaration":68460,"src":"7197:16:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}},"id":58971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7193:22:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}},"src":"7184:31:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}},"id":58973,"nodeType":"ExpressionStatement","src":"7184:31:64"},{"expression":{"id":58982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58974,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"7225:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"4d6f636b546f6b656e","id":58978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7251:11:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_59d91acf1a517d81ad15edcf2fd578e448883bcd506756a542295cb8c1c1be7e","typeString":"literal_string \"MockToken\""},"value":"MockToken"},{"hexValue":"4d544b","id":58979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7264:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_793539e36336d70961c91bdb898dff4b065dbb5ef5ac709025f5b68be91dd01e","typeString":"literal_string \"MTK\""},"value":"MTK"},{"hexValue":"3138","id":58980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7271:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59d91acf1a517d81ad15edcf2fd578e448883bcd506756a542295cb8c1c1be7e","typeString":"literal_string \"MockToken\""},{"typeIdentifier":"t_stringliteral_793539e36336d70961c91bdb898dff4b065dbb5ef5ac709025f5b68be91dd01e","typeString":"literal_string \"MTK\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":58977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7237:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":58976,"nodeType":"UserDefinedTypeName","pathNode":{"id":58975,"name":"MockERC20","nameLocations":["7241:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"7241:9:64"},"referencedDeclaration":68037,"src":"7241:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":58981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7237:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"src":"7225:49:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":58983,"nodeType":"ExpressionStatement","src":"7225:49:64"},{"expression":{"id":58989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58984,"name":"failingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58846,"src":"7284:12:64","typeDescriptions":{"typeIdentifier":"t_contract$_FailingToken_$58599","typeString":"contract FailingToken"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":58987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7299:16:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_FailingToken_$58599_$","typeString":"function () returns (contract FailingToken)"},"typeName":{"id":58986,"nodeType":"UserDefinedTypeName","pathNode":{"id":58985,"name":"FailingToken","nameLocations":["7303:12:64"],"nodeType":"IdentifierPath","referencedDeclaration":58599,"src":"7303:12:64"},"referencedDeclaration":58599,"src":"7303:12:64","typeDescriptions":{"typeIdentifier":"t_contract$_FailingToken_$58599","typeString":"contract FailingToken"}}},"id":58988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7299:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FailingToken_$58599","typeString":"contract FailingToken"}},"src":"7284:33:64","typeDescriptions":{"typeIdentifier":"t_contract$_FailingToken_$58599","typeString":"contract FailingToken"}},"id":58990,"nodeType":"ExpressionStatement","src":"7284:33:64"},{"expression":{"id":58996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58991,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"7327:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":58994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7335:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_ERC20Mock_$40330_$","typeString":"function () returns (contract ERC20Mock)"},"typeName":{"id":58993,"nodeType":"UserDefinedTypeName","pathNode":{"id":58992,"name":"ERC20Mock","nameLocations":["7339:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":40330,"src":"7339:9:64"},"referencedDeclaration":40330,"src":"7339:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}},"id":58995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7335:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"src":"7327:23:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":58997,"nodeType":"ExpressionStatement","src":"7327:23:64"},{"assignments":[59000],"declarations":[{"constant":false,"id":59000,"mutability":"mutable","name":"simpleToken","nameLocation":"7417:11:64","nodeType":"VariableDeclaration","scope":59079,"src":"7407:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":58999,"nodeType":"UserDefinedTypeName","pathNode":{"id":58998,"name":"MockERC20","nameLocations":["7407:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"7407:9:64"},"referencedDeclaration":68037,"src":"7407:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":59008,"initialValue":{"arguments":[{"hexValue":"53696d706c65","id":59004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7445:8:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_429e452cbd1e13b58c992a66a2dcd148a1dae759d5ececa7b2f6bf353035ed0b","typeString":"literal_string \"Simple\""},"value":"Simple"},{"hexValue":"534d50","id":59005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7455:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_bcac6fd95192fabcc3978801dd11486f019bc6e82c686268a7484b8a84f0f332","typeString":"literal_string \"SMP\""},"value":"SMP"},{"hexValue":"3138","id":59006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7462:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_429e452cbd1e13b58c992a66a2dcd148a1dae759d5ececa7b2f6bf353035ed0b","typeString":"literal_string \"Simple\""},{"typeIdentifier":"t_stringliteral_bcac6fd95192fabcc3978801dd11486f019bc6e82c686268a7484b8a84f0f332","typeString":"literal_string \"SMP\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":59003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7431:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":59002,"nodeType":"UserDefinedTypeName","pathNode":{"id":59001,"name":"MockERC20","nameLocations":["7435:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"7435:9:64"},"referencedDeclaration":68037,"src":"7435:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":59007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7431:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"7407:58:64"},{"expression":{"id":59018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":59009,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58852,"src":"7475:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":59015,"name":"simpleToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59000,"src":"7507:11:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7499:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59013,"name":"address","nodeType":"ElementaryTypeName","src":"7499:7:64","typeDescriptions":{}}},"id":59016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7499:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7484:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockTarget_$58706_$","typeString":"function (address) returns (contract MockTarget)"},"typeName":{"id":59011,"nodeType":"UserDefinedTypeName","pathNode":{"id":59010,"name":"MockTarget","nameLocations":["7488:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"7488:10:64"},"referencedDeclaration":58706,"src":"7488:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}},"id":59017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7484:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"src":"7475:45:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"id":59019,"nodeType":"ExpressionStatement","src":"7475:45:64"},{"expression":{"id":59025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":59020,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"7530:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":59023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7542:17:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockTargetETH_$58750_$","typeString":"function () returns (contract MockTargetETH)"},"typeName":{"id":59022,"nodeType":"UserDefinedTypeName","pathNode":{"id":59021,"name":"MockTargetETH","nameLocations":["7546:13:64"],"nodeType":"IdentifierPath","referencedDeclaration":58750,"src":"7546:13:64"},"referencedDeclaration":58750,"src":"7546:13:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}},"id":59024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7542:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}},"src":"7530:31:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}},"id":59026,"nodeType":"ExpressionStatement","src":"7530:31:64"},{"expression":{"id":59035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":59027,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"7572:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"307862616265","id":59032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7597:6:64","typeDescriptions":{"typeIdentifier":"t_rational_47806_by_1","typeString":"int_const 47806"},"value":"0xbabe"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_47806_by_1","typeString":"int_const 47806"}],"id":59031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7589:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59030,"name":"address","nodeType":"ElementaryTypeName","src":"7589:7:64","typeDescriptions":{}}},"id":59033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7589:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7581:8:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":59028,"name":"address","nodeType":"ElementaryTypeName","src":"7581:8:64","stateMutability":"payable","typeDescriptions":{}}},"id":59034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7581:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"7572:33:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":59036,"nodeType":"ExpressionStatement","src":"7572:33:64"},{"expression":{"id":59045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":59037,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"7615:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"307831","id":59042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7643:3:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":59041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7635:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59040,"name":"address","nodeType":"ElementaryTypeName","src":"7635:7:64","typeDescriptions":{}}},"id":59043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7635:12:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7627:8:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":59038,"name":"address","nodeType":"ElementaryTypeName","src":"7627:8:64","stateMutability":"payable","typeDescriptions":{}}},"id":59044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7627:21:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"7615:33:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":59046,"nodeType":"ExpressionStatement","src":"7615:33:64"},{"expression":{"arguments":[{"id":59050,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"7761:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"arguments":[{"id":59053,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"7777:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7769:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59051,"name":"address","nodeType":"ElementaryTypeName","src":"7769:7:64","typeDescriptions":{}}},"id":59054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7769:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7785:4:64","memberName":"code","nodeType":"MemberAccess","src":"7769:20:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59047,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"7753:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7756:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"7753:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":59056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7753:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59057,"nodeType":"ExpressionStatement","src":"7753:37:64"},{"expression":{"arguments":[{"id":59061,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"7809:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":59062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7815:8:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":59058,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"7801:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7804:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"7801:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":59063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7801:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59064,"nodeType":"ExpressionStatement","src":"7801:23:64"},{"expression":{"arguments":[{"id":59068,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"7849:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31303030653138","id":59069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7855:7:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000e18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"expression":{"id":59065,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"7834:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7844:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":68036,"src":"7834:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":59070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7834:29:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59071,"nodeType":"ExpressionStatement","src":"7834:29:64"},{"expression":{"arguments":[{"id":59075,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"7891:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31303030653138","id":59076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7897:7:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000e18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"expression":{"id":59072,"name":"failingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58846,"src":"7873:12:64","typeDescriptions":{"typeIdentifier":"t_contract$_FailingToken_$58599","typeString":"contract FailingToken"}},"id":59074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7886:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":68036,"src":"7873:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":59077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7873:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59078,"nodeType":"ExpressionStatement","src":"7873:32:64"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"6868:5:64","parameters":{"id":58938,"nodeType":"ParameterList","parameters":[],"src":"6873:2:64"},"returnParameters":{"id":58939,"nodeType":"ParameterList","parameters":[],"src":"6883:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59140,"nodeType":"FunctionDefinition","src":"8112:501:64","nodes":[],"body":{"id":59139,"nodeType":"Block","src":"8177:436:64","nodes":[],"statements":[{"assignments":[59084],"declarations":[{"constant":false,"id":59084,"mutability":"mutable","name":"eoa","nameLocation":"8195:3:64","nodeType":"VariableDeclaration","scope":59139,"src":"8187:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59083,"name":"address","nodeType":"ElementaryTypeName","src":"8187:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":59088,"initialValue":{"arguments":[{"hexValue":"656f61","id":59086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8210:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_26ada8516dc7d746a96fcf8b0fb175d5f6c26910ce204c1db5fea4484c1b75bd","typeString":"literal_string \"eoa\""},"value":"eoa"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26ada8516dc7d746a96fcf8b0fb175d5f6c26910ce204c1db5fea4484c1b75bd","typeString":"literal_string \"eoa\""}],"id":59085,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6009,"src":"8201:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":59087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8201:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"8187:29:64"},{"assignments":[59094],"declarations":[{"constant":false,"id":59094,"mutability":"mutable","name":"calls","nameLocation":"8254:5:64","nodeType":"VariableDeclaration","scope":59139,"src":"8227:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":59092,"nodeType":"UserDefinedTypeName","pathNode":{"id":59091,"name":"IMulticall3.Call3","nameLocations":["8227:11:64","8239:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"8227:17:64"},"referencedDeclaration":51153,"src":"8227:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59093,"nodeType":"ArrayTypeName","src":"8227:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":59101,"initialValue":{"arguments":[{"hexValue":"31","id":59099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8286:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":59098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8262:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":59096,"nodeType":"UserDefinedTypeName","pathNode":{"id":59095,"name":"IMulticall3.Call3","nameLocations":["8266:11:64","8278:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"8266:17:64"},"referencedDeclaration":51153,"src":"8266:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59097,"nodeType":"ArrayTypeName","src":"8266:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":59100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8262:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8227:61:64"},{"expression":{"id":59117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59102,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59094,"src":"8298:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":59104,"indexExpression":{"hexValue":"30","id":59103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8304:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8298:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":59109,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"8357:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":59108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8349:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59107,"name":"address","nodeType":"ElementaryTypeName","src":"8349:7:64","typeDescriptions":{}}},"id":59110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8349:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":59111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8380:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":59114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8421:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":59112,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8397:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8401:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8397:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8397:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59105,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"8309:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":59106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8321:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"8309:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":59116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8341:6:64","8366:12:64","8387:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"8309:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"8298:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":59118,"nodeType":"ExpressionStatement","src":"8298:148:64"},{"expression":{"arguments":[{"id":59122,"name":"eoa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59084,"src":"8466:3:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59119,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"8457:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8460:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"8457:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":59123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8457:13:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59124,"nodeType":"ExpressionStatement","src":"8457:13:64"},{"assignments":[59126],"declarations":[{"constant":false,"id":59126,"mutability":"mutable","name":"callData","nameLocation":"8493:8:64","nodeType":"VariableDeclaration","scope":59139,"src":"8480:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59125,"name":"bytes","nodeType":"ElementaryTypeName","src":"8480:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59132,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":59129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8528:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":59130,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59094,"src":"8566:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":59127,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8504:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8508:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8504:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8504:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8480:92:64"},{"expression":{"arguments":[{"id":59136,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59126,"src":"8597:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59133,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"8582:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8589:7:64","memberName":"execute","nodeType":"MemberAccess","referencedDeclaration":49804,"src":"8582:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":59137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8582:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":59138,"nodeType":"ExpressionStatement","src":"8582:24:64"}]},"functionSelector":"6349dbdb","implemented":true,"kind":"function","modifiers":[],"name":"test_Execute_FromEOA_ShouldPreserveEOAAsSender","nameLocation":"8121:46:64","parameters":{"id":59081,"nodeType":"ParameterList","parameters":[],"src":"8167:2:64"},"returnParameters":{"id":59082,"nodeType":"ParameterList","parameters":[],"src":"8177:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59188,"nodeType":"FunctionDefinition","src":"8619:448:64","nodes":[],"body":{"id":59187,"nodeType":"Block","src":"8694:373:64","nodes":[],"statements":[{"assignments":[59148],"declarations":[{"constant":false,"id":59148,"mutability":"mutable","name":"calls","nameLocation":"8731:5:64","nodeType":"VariableDeclaration","scope":59187,"src":"8704:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":59146,"nodeType":"UserDefinedTypeName","pathNode":{"id":59145,"name":"IMulticall3.Call3","nameLocations":["8704:11:64","8716:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"8704:17:64"},"referencedDeclaration":51153,"src":"8704:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59147,"nodeType":"ArrayTypeName","src":"8704:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":59155,"initialValue":{"arguments":[{"hexValue":"31","id":59153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8763:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":59152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8739:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":59150,"nodeType":"UserDefinedTypeName","pathNode":{"id":59149,"name":"IMulticall3.Call3","nameLocations":["8743:11:64","8755:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"8743:17:64"},"referencedDeclaration":51153,"src":"8743:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59151,"nodeType":"ArrayTypeName","src":"8743:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":59154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8739:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8704:61:64"},{"expression":{"id":59171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59156,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59148,"src":"8775:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":59158,"indexExpression":{"hexValue":"30","id":59157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8781:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8775:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":59163,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"8834:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":59162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8826:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59161,"name":"address","nodeType":"ElementaryTypeName","src":"8826:7:64","typeDescriptions":{}}},"id":59164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8826:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":59165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8857:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":59168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8898:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":59166,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8874:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8878:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8874:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8874:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59159,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"8786:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":59160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8798:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"8786:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":59170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8818:6:64","8843:12:64","8864:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"8786:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"8775:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":59172,"nodeType":"ExpressionStatement","src":"8775:148:64"},{"assignments":[59174],"declarations":[{"constant":false,"id":59174,"mutability":"mutable","name":"callData","nameLocation":"8947:8:64","nodeType":"VariableDeclaration","scope":59187,"src":"8934:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59173,"name":"bytes","nodeType":"ElementaryTypeName","src":"8934:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59180,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":59177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8982:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":59178,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59148,"src":"9020:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":59175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8958:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8962:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8958:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8958:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8934:92:64"},{"expression":{"arguments":[{"id":59184,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59174,"src":"9051:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59181,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"9036:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9043:7:64","memberName":"execute","nodeType":"MemberAccess","referencedDeclaration":49804,"src":"9036:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":59185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9036:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":59186,"nodeType":"ExpressionStatement","src":"9036:24:64"}]},"functionSelector":"46ee204d","implemented":true,"kind":"function","modifiers":[],"name":"test_Execute_FromContract_ShouldPreserveContractAsSender","nameLocation":"8628:56:64","parameters":{"id":59141,"nodeType":"ParameterList","parameters":[],"src":"8684:2:64"},"returnParameters":{"id":59142,"nodeType":"ParameterList","parameters":[],"src":"8694:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59253,"nodeType":"FunctionDefinition","src":"9073:580:64","nodes":[],"body":{"id":59252,"nodeType":"Block","src":"9122:531:64","nodes":[],"statements":[{"assignments":[59196],"declarations":[{"constant":false,"id":59196,"mutability":"mutable","name":"calls","nameLocation":"9159:5:64","nodeType":"VariableDeclaration","scope":59252,"src":"9132:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":59194,"nodeType":"UserDefinedTypeName","pathNode":{"id":59193,"name":"IMulticall3.Call3","nameLocations":["9132:11:64","9144:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"9132:17:64"},"referencedDeclaration":51153,"src":"9132:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59195,"nodeType":"ArrayTypeName","src":"9132:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":59203,"initialValue":{"arguments":[{"hexValue":"32","id":59201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9191:1:64","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":59200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9167:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":59198,"nodeType":"UserDefinedTypeName","pathNode":{"id":59197,"name":"IMulticall3.Call3","nameLocations":["9171:11:64","9183:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"9171:17:64"},"referencedDeclaration":51153,"src":"9171:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59199,"nodeType":"ArrayTypeName","src":"9171:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":59202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9167:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9132:61:64"},{"expression":{"id":59219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59204,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59196,"src":"9203:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":59206,"indexExpression":{"hexValue":"30","id":59205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9209:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9203:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":59211,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"9262:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":59210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9254:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59209,"name":"address","nodeType":"ElementaryTypeName","src":"9254:7:64","typeDescriptions":{}}},"id":59212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9254:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":59213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9285:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":59216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9326:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":59214,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9302:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9306:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9302:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9302:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59207,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"9214:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":59208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9226:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"9214:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":59218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9246:6:64","9271:12:64","9292:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"9214:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"9203:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":59220,"nodeType":"ExpressionStatement","src":"9203:148:64"},{"expression":{"id":59236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59221,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59196,"src":"9361:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":59223,"indexExpression":{"hexValue":"31","id":59222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9367:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9361:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":59228,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"9420:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":59227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9412:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59226,"name":"address","nodeType":"ElementaryTypeName","src":"9412:7:64","typeDescriptions":{}}},"id":59229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9412:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":59230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9443:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":59233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9484:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":59231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9460:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9464:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9460:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9460:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59224,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"9372:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":59225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9384:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"9372:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":59235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9404:6:64","9429:12:64","9450:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"9372:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"9361:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":59237,"nodeType":"ExpressionStatement","src":"9361:148:64"},{"assignments":[59239],"declarations":[{"constant":false,"id":59239,"mutability":"mutable","name":"callData","nameLocation":"9533:8:64","nodeType":"VariableDeclaration","scope":59252,"src":"9520:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59238,"name":"bytes","nodeType":"ElementaryTypeName","src":"9520:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59245,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":59242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9568:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":59243,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59196,"src":"9606:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":59240,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9544:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9548:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9544:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9544:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9520:92:64"},{"expression":{"arguments":[{"id":59249,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59239,"src":"9637:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59246,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"9622:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9629:7:64","memberName":"execute","nodeType":"MemberAccess","referencedDeclaration":49804,"src":"9622:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":59250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9622:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":59251,"nodeType":"ExpressionStatement","src":"9622:24:64"}]},"functionSelector":"dc41cc0d","implemented":true,"kind":"function","modifiers":[],"name":"test_Execute_WithMultipleCalls","nameLocation":"9082:30:64","parameters":{"id":59189,"nodeType":"ParameterList","parameters":[],"src":"9112:2:64"},"returnParameters":{"id":59190,"nodeType":"ParameterList","parameters":[],"src":"9122:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59351,"nodeType":"FunctionDefinition","src":"9659:919:64","nodes":[],"body":{"id":59350,"nodeType":"Block","src":"9743:835:64","nodes":[],"statements":[{"assignments":[59257],"declarations":[{"constant":false,"id":59257,"mutability":"mutable","name":"transferAmount","nameLocation":"9761:14:64","nodeType":"VariableDeclaration","scope":59350,"src":"9753:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59256,"name":"uint256","nodeType":"ElementaryTypeName","src":"9753:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59259,"initialValue":{"hexValue":"313030653138","id":59258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9778:6:64","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100e18"},"nodeType":"VariableDeclarationStatement","src":"9753:31:64"},{"expression":{"arguments":[{"id":59263,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"9804:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59260,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"9795:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9798:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"9795:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":59264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9795:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59265,"nodeType":"ExpressionStatement","src":"9795:14:64"},{"expression":{"arguments":[{"arguments":[{"id":59271,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"9845:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9837:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59269,"name":"address","nodeType":"ElementaryTypeName","src":"9837:7:64","typeDescriptions":{}}},"id":59272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9837:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59273,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59257,"src":"9854:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59266,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"9819:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9829:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"9819:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":59274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9819:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59275,"nodeType":"ExpressionStatement","src":"9819:50:64"},{"assignments":[59281],"declarations":[{"constant":false,"id":59281,"mutability":"mutable","name":"calls","nameLocation":"9907:5:64","nodeType":"VariableDeclaration","scope":59350,"src":"9880:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":59279,"nodeType":"UserDefinedTypeName","pathNode":{"id":59278,"name":"IMulticall3.Call3","nameLocations":["9880:11:64","9892:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"9880:17:64"},"referencedDeclaration":51153,"src":"9880:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59280,"nodeType":"ArrayTypeName","src":"9880:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":59288,"initialValue":{"arguments":[{"hexValue":"31","id":59286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9939:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":59285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9915:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":59283,"nodeType":"UserDefinedTypeName","pathNode":{"id":59282,"name":"IMulticall3.Call3","nameLocations":["9919:11:64","9931:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"9919:17:64"},"referencedDeclaration":51153,"src":"9919:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59284,"nodeType":"ArrayTypeName","src":"9919:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":59287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9915:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9880:61:64"},{"expression":{"id":59304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59289,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59281,"src":"9951:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":59291,"indexExpression":{"hexValue":"30","id":59290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9951:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":59296,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"10010:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":59295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10002:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59294,"name":"address","nodeType":"ElementaryTypeName","src":"10002:7:64","typeDescriptions":{}}},"id":59297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10002:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":59298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10033:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":59301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10074:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":59299,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10050:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10054:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10050:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10050:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59292,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"9962:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":59293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9974:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"9962:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":59303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9994:6:64","10019:12:64","10040:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"9962:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"9951:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":59305,"nodeType":"ExpressionStatement","src":"9951:148:64"},{"assignments":[59307],"declarations":[{"constant":false,"id":59307,"mutability":"mutable","name":"callData","nameLocation":"10123:8:64","nodeType":"VariableDeclaration","scope":59350,"src":"10110:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59306,"name":"bytes","nodeType":"ElementaryTypeName","src":"10110:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59313,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":59310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10158:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":59311,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59281,"src":"10196:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":59308,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10134:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10138:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10134:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10134:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10110:92:64"},{"expression":{"arguments":[{"id":59317,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"10222:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59314,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"10213:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10216:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"10213:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":59318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10213:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59319,"nodeType":"ExpressionStatement","src":"10213:14:64"},{"expression":{"arguments":[{"arguments":[{"id":59325,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"10273:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10265:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59323,"name":"address","nodeType":"ElementaryTypeName","src":"10265:7:64","typeDescriptions":{}}},"id":59326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10265:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59327,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59257,"src":"10285:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59328,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59307,"src":"10301:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59320,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"10237:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10244:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"10237:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":59329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10237:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":59330,"nodeType":"ExpressionStatement","src":"10237:73:64"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":59336,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"10430:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10422:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59334,"name":"address","nodeType":"ElementaryTypeName","src":"10422:7:64","typeDescriptions":{}}},"id":59337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10422:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59332,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"10402:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10412:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"10402:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":59338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10402:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":59339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10440:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59331,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"10393:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10393:49:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59341,"nodeType":"ExpressionStatement","src":"10393:49:64"},{"expression":{"arguments":[{"arguments":[{"id":59345,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"10556:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59343,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"10536:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10546:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"10536:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":59346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10536:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31303030653138","id":59347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10563:7:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000e18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"id":59342,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"10527:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10527:44:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59349,"nodeType":"ExpressionStatement","src":"10527:44:64"}]},"functionSelector":"879c6403","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAmountAndExecute_WithValidToken_ShouldTransferAndExecute","nameLocation":"9668:65:64","parameters":{"id":59254,"nodeType":"ParameterList","parameters":[],"src":"9733:2:64"},"returnParameters":{"id":59255,"nodeType":"ParameterList","parameters":[],"src":"9743:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59431,"nodeType":"FunctionDefinition","src":"10584:723:64","nodes":[],"body":{"id":59430,"nodeType":"Block","src":"10661:646:64","nodes":[],"statements":[{"assignments":[59355],"declarations":[{"constant":false,"id":59355,"mutability":"mutable","name":"transferAmount","nameLocation":"10679:14:64","nodeType":"VariableDeclaration","scope":59430,"src":"10671:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59354,"name":"uint256","nodeType":"ElementaryTypeName","src":"10671:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59357,"initialValue":{"hexValue":"313030653138","id":59356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10696:6:64","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100e18"},"nodeType":"VariableDeclarationStatement","src":"10671:31:64"},{"assignments":[59363],"declarations":[{"constant":false,"id":59363,"mutability":"mutable","name":"calls","nameLocation":"10740:5:64","nodeType":"VariableDeclaration","scope":59430,"src":"10713:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":59361,"nodeType":"UserDefinedTypeName","pathNode":{"id":59360,"name":"IMulticall3.Call3","nameLocations":["10713:11:64","10725:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"10713:17:64"},"referencedDeclaration":51153,"src":"10713:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59362,"nodeType":"ArrayTypeName","src":"10713:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":59370,"initialValue":{"arguments":[{"hexValue":"31","id":59368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10772:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":59367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10748:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":59365,"nodeType":"UserDefinedTypeName","pathNode":{"id":59364,"name":"IMulticall3.Call3","nameLocations":["10752:11:64","10764:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"10752:17:64"},"referencedDeclaration":51153,"src":"10752:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59366,"nodeType":"ArrayTypeName","src":"10752:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":59369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10748:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10713:61:64"},{"expression":{"id":59386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59371,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59363,"src":"10784:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":59373,"indexExpression":{"hexValue":"30","id":59372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10790:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10784:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":59378,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"10843:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":59377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10835:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59376,"name":"address","nodeType":"ElementaryTypeName","src":"10835:7:64","typeDescriptions":{}}},"id":59379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10835:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":59380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10866:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":59383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10907:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":59381,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10883:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10887:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10883:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10883:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59374,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"10795:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":59375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10807:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"10795:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":59385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10827:6:64","10852:12:64","10873:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"10795:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"10784:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":59387,"nodeType":"ExpressionStatement","src":"10784:148:64"},{"assignments":[59389],"declarations":[{"constant":false,"id":59389,"mutability":"mutable","name":"callData","nameLocation":"10956:8:64","nodeType":"VariableDeclaration","scope":59430,"src":"10943:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59388,"name":"bytes","nodeType":"ElementaryTypeName","src":"10943:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59395,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":59392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10991:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":59393,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59363,"src":"11029:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":59390,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10967:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10971:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10967:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10967:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10943:92:64"},{"expression":{"arguments":[{"id":59399,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"11055:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59396,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"11046:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11049:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"11046:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":59400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11046:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59401,"nodeType":"ExpressionStatement","src":"11046:14:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":59407,"name":"IERC20Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40194,"src":"11122:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Errors_$40194_$","typeString":"type(contract IERC20Errors)"}},"id":59408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11135:26:64","memberName":"ERC20InsufficientAllowance","nodeType":"MemberAccess","referencedDeclaration":40183,"src":"11122:39:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256,uint256) pure returns (error)"}},"id":59409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11162:8:64","memberName":"selector","nodeType":"MemberAccess","src":"11122:48:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":59412,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"11180:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11172:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59410,"name":"address","nodeType":"ElementaryTypeName","src":"11172:7:64","typeDescriptions":{}}},"id":59413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11172:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":59414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11189:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":59415,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59355,"src":"11192:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59405,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11099:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11103:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11099:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":59416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11099:108:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59402,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"11070:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11073:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"11070:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":59417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11070:147:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59418,"nodeType":"ExpressionStatement","src":"11070:147:64"},{"expression":{"arguments":[{"arguments":[{"id":59424,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"11263:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11255:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59422,"name":"address","nodeType":"ElementaryTypeName","src":"11255:7:64","typeDescriptions":{}}},"id":59425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11255:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59426,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59355,"src":"11275:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59427,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59389,"src":"11291:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59419,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"11227:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11234:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"11227:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":59428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11227:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":59429,"nodeType":"ExpressionStatement","src":"11227:73:64"}]},"functionSelector":"ce6a2472","implemented":true,"kind":"function","modifiers":[],"name":"test_RevertWhen_pullAmountAndExecute_InsufficientAllowance","nameLocation":"10593:58:64","parameters":{"id":59352,"nodeType":"ParameterList","parameters":[],"src":"10651:2:64"},"returnParameters":{"id":59353,"nodeType":"ParameterList","parameters":[],"src":"10661:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59531,"nodeType":"FunctionDefinition","src":"11313:927:64","nodes":[],"body":{"id":59530,"nodeType":"Block","src":"11402:838:64","nodes":[],"statements":[{"assignments":[59435],"declarations":[{"constant":false,"id":59435,"mutability":"mutable","name":"userBalance","nameLocation":"11420:11:64","nodeType":"VariableDeclaration","scope":59530,"src":"11412:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59434,"name":"uint256","nodeType":"ElementaryTypeName","src":"11412:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59440,"initialValue":{"arguments":[{"id":59438,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"11454:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59436,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"11434:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11444:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"11434:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":59439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11434:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11412:47:64"},{"expression":{"arguments":[{"id":59444,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"11479:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59441,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"11470:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11473:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"11470:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":59445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11470:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59446,"nodeType":"ExpressionStatement","src":"11470:14:64"},{"expression":{"arguments":[{"arguments":[{"id":59452,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"11520:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11512:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59450,"name":"address","nodeType":"ElementaryTypeName","src":"11512:7:64","typeDescriptions":{}}},"id":59453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11512:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59454,"name":"userBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59435,"src":"11529:11:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59447,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"11494:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11504:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"11494:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":59455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11494:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59456,"nodeType":"ExpressionStatement","src":"11494:47:64"},{"assignments":[59462],"declarations":[{"constant":false,"id":59462,"mutability":"mutable","name":"calls","nameLocation":"11579:5:64","nodeType":"VariableDeclaration","scope":59530,"src":"11552:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":59460,"nodeType":"UserDefinedTypeName","pathNode":{"id":59459,"name":"IMulticall3.Call3","nameLocations":["11552:11:64","11564:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"11552:17:64"},"referencedDeclaration":51153,"src":"11552:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59461,"nodeType":"ArrayTypeName","src":"11552:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":59469,"initialValue":{"arguments":[{"hexValue":"31","id":59467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11611:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":59466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11587:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":59464,"nodeType":"UserDefinedTypeName","pathNode":{"id":59463,"name":"IMulticall3.Call3","nameLocations":["11591:11:64","11603:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"11591:17:64"},"referencedDeclaration":51153,"src":"11591:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59465,"nodeType":"ArrayTypeName","src":"11591:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":59468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11587:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11552:61:64"},{"expression":{"id":59485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59470,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59462,"src":"11623:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":59472,"indexExpression":{"hexValue":"30","id":59471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11629:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11623:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":59477,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"11682:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":59476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11674:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59475,"name":"address","nodeType":"ElementaryTypeName","src":"11674:7:64","typeDescriptions":{}}},"id":59478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11674:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":59479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11705:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":59482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11746:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":59480,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11722:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11726:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11722:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11722:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59473,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"11634:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":59474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11646:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"11634:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":59484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["11666:6:64","11691:12:64","11712:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"11634:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"11623:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":59486,"nodeType":"ExpressionStatement","src":"11623:148:64"},{"assignments":[59488],"declarations":[{"constant":false,"id":59488,"mutability":"mutable","name":"callData","nameLocation":"11795:8:64","nodeType":"VariableDeclaration","scope":59530,"src":"11782:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59487,"name":"bytes","nodeType":"ElementaryTypeName","src":"11782:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59494,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":59491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11830:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":59492,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59462,"src":"11868:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":59489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11806:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11810:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11806:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11806:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11782:92:64"},{"expression":{"arguments":[{"id":59498,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"11894:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59495,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"11885:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11888:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"11885:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":59499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11885:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59500,"nodeType":"ExpressionStatement","src":"11885:14:64"},{"expression":{"arguments":[{"arguments":[{"id":59506,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"11939:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11931:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59504,"name":"address","nodeType":"ElementaryTypeName","src":"11931:7:64","typeDescriptions":{}}},"id":59507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59508,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59488,"src":"11951:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59501,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"11909:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11916:14:64","memberName":"pullAndExecute","nodeType":"MemberAccess","referencedDeclaration":49863,"src":"11909:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":59509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11909:51:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":59510,"nodeType":"ExpressionStatement","src":"11909:51:64"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":59516,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"12088:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12080:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59514,"name":"address","nodeType":"ElementaryTypeName","src":"12080:7:64","typeDescriptions":{}}},"id":59517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12080:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59512,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"12060:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12070:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"12060:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":59518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12060:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":59519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12098:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59511,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"12051:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12051:49:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59521,"nodeType":"ExpressionStatement","src":"12051:49:64"},{"expression":{"arguments":[{"arguments":[{"id":59525,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"12214:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59523,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"12194:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12204:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"12194:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":59526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12194:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59527,"name":"userBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59435,"src":"12221:11:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59522,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"12185:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12185:48:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59529,"nodeType":"ExpressionStatement","src":"12185:48:64"}]},"functionSelector":"b07e1637","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAndExecute_WithValidToken_ShouldTransferFullBalanceAndExecute","nameLocation":"11322:70:64","parameters":{"id":59432,"nodeType":"ParameterList","parameters":[],"src":"11392:2:64"},"returnParameters":{"id":59433,"nodeType":"ParameterList","parameters":[],"src":"11402:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59613,"nodeType":"FunctionDefinition","src":"12246:708:64","nodes":[],"body":{"id":59612,"nodeType":"Block","src":"12317:637:64","nodes":[],"statements":[{"assignments":[59535],"declarations":[{"constant":false,"id":59535,"mutability":"mutable","name":"userBalance","nameLocation":"12335:11:64","nodeType":"VariableDeclaration","scope":59612,"src":"12327:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59534,"name":"uint256","nodeType":"ElementaryTypeName","src":"12327:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59540,"initialValue":{"arguments":[{"id":59538,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"12369:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59536,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"12349:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12359:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"12349:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":59539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12349:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12327:47:64"},{"assignments":[59546],"declarations":[{"constant":false,"id":59546,"mutability":"mutable","name":"calls","nameLocation":"12412:5:64","nodeType":"VariableDeclaration","scope":59612,"src":"12385:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":59544,"nodeType":"UserDefinedTypeName","pathNode":{"id":59543,"name":"IMulticall3.Call3","nameLocations":["12385:11:64","12397:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"12385:17:64"},"referencedDeclaration":51153,"src":"12385:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59545,"nodeType":"ArrayTypeName","src":"12385:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":59553,"initialValue":{"arguments":[{"hexValue":"31","id":59551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12444:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":59550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12420:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":59548,"nodeType":"UserDefinedTypeName","pathNode":{"id":59547,"name":"IMulticall3.Call3","nameLocations":["12424:11:64","12436:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"12424:17:64"},"referencedDeclaration":51153,"src":"12424:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":59549,"nodeType":"ArrayTypeName","src":"12424:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":59552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12420:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12385:61:64"},{"expression":{"id":59569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59554,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59546,"src":"12456:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":59556,"indexExpression":{"hexValue":"30","id":59555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12462:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12456:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":59561,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"12515:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":59560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12507:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59559,"name":"address","nodeType":"ElementaryTypeName","src":"12507:7:64","typeDescriptions":{}}},"id":59562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12507:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":59563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12538:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":59566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12579:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":59564,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12555:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12559:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12555:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12555:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59557,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"12467:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":59558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12479:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"12467:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":59568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["12499:6:64","12524:12:64","12545:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"12467:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"12456:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":59570,"nodeType":"ExpressionStatement","src":"12456:148:64"},{"assignments":[59572],"declarations":[{"constant":false,"id":59572,"mutability":"mutable","name":"callData","nameLocation":"12628:8:64","nodeType":"VariableDeclaration","scope":59612,"src":"12615:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59571,"name":"bytes","nodeType":"ElementaryTypeName","src":"12615:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59578,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":59575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12663:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":59576,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59546,"src":"12701:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":59573,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12639:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12643:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12639:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12639:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12615:92:64"},{"expression":{"arguments":[{"id":59582,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"12727:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59579,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"12718:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12721:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"12718:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":59583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12718:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59584,"nodeType":"ExpressionStatement","src":"12718:14:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":59590,"name":"IERC20Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40194,"src":"12794:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Errors_$40194_$","typeString":"type(contract IERC20Errors)"}},"id":59591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12807:26:64","memberName":"ERC20InsufficientAllowance","nodeType":"MemberAccess","referencedDeclaration":40183,"src":"12794:39:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256,uint256) pure returns (error)"}},"id":59592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12834:8:64","memberName":"selector","nodeType":"MemberAccess","src":"12794:48:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":59595,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"12852:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12844:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59593,"name":"address","nodeType":"ElementaryTypeName","src":"12844:7:64","typeDescriptions":{}}},"id":59596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12844:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":59597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12861:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":59598,"name":"userBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59535,"src":"12864:11:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12771:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12775:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12771:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":59599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12771:105:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59585,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"12742:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12745:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"12742:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":59600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12742:144:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59601,"nodeType":"ExpressionStatement","src":"12742:144:64"},{"expression":{"arguments":[{"arguments":[{"id":59607,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"12926:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12918:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59605,"name":"address","nodeType":"ElementaryTypeName","src":"12918:7:64","typeDescriptions":{}}},"id":59608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12918:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59609,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59572,"src":"12938:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59602,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"12896:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:14:64","memberName":"pullAndExecute","nodeType":"MemberAccess","referencedDeclaration":49863,"src":"12896:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":59610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12896:51:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":59611,"nodeType":"ExpressionStatement","src":"12896:51:64"}]},"functionSelector":"02b69a37","implemented":true,"kind":"function","modifiers":[],"name":"test_RevertWhen_pullAndExecute_InsufficientAllowance","nameLocation":"12255:52:64","parameters":{"id":59532,"nodeType":"ParameterList","parameters":[],"src":"12307:2:64"},"returnParameters":{"id":59533,"nodeType":"ParameterList","parameters":[],"src":"12317:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59652,"nodeType":"FunctionDefinition","src":"12960:285:64","nodes":[],"body":{"id":59651,"nodeType":"Block","src":"13010:235:64","nodes":[],"statements":[{"assignments":[59617],"declarations":[{"constant":false,"id":59617,"mutability":"mutable","name":"depositAmount","nameLocation":"13028:13:64","nodeType":"VariableDeclaration","scope":59651,"src":"13020:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59616,"name":"uint256","nodeType":"ElementaryTypeName","src":"13020:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59619,"initialValue":{"hexValue":"31","id":59618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13044:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"13020:31:64"},{"expression":{"arguments":[{"id":59623,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"13071:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59620,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"13062:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13065:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"13062:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":59624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13062:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59625,"nodeType":"ExpressionStatement","src":"13062:14:64"},{"assignments":[59627,null],"declarations":[{"constant":false,"id":59627,"mutability":"mutable","name":"success","nameLocation":"13092:7:64","nodeType":"VariableDeclaration","scope":59651,"src":"13087:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59626,"name":"bool","nodeType":"ElementaryTypeName","src":"13087:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":59637,"initialValue":{"arguments":[{"hexValue":"","id":59635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13147:2:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":59630,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"13112:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13104:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59628,"name":"address","nodeType":"ElementaryTypeName","src":"13104:7:64","typeDescriptions":{}}},"id":59631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13104:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13120:4:64","memberName":"call","nodeType":"MemberAccess","src":"13104:20:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":59634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":59633,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59617,"src":"13132:13:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"13104:42:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":59636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13104:46:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"13086:64:64"},{"expression":{"arguments":[{"id":59639,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59627,"src":"13171:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":59638,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":568,"src":"13160:10:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":59640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13160:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59641,"nodeType":"ExpressionStatement","src":"13160:19:64"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":59645,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"13207:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13199:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59643,"name":"address","nodeType":"ElementaryTypeName","src":"13199:7:64","typeDescriptions":{}}},"id":59646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13199:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13215:7:64","memberName":"balance","nodeType":"MemberAccess","src":"13199:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59648,"name":"depositAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59617,"src":"13224:13:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59642,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"13190:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13190:48:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59650,"nodeType":"ExpressionStatement","src":"13190:48:64"}]},"functionSelector":"904745ef","implemented":true,"kind":"function","modifiers":[],"name":"test_ReceiveETH_ShouldAcceptETH","nameLocation":"12969:31:64","parameters":{"id":59614,"nodeType":"ParameterList","parameters":[],"src":"13000:2:64"},"returnParameters":{"id":59615,"nodeType":"ParameterList","parameters":[],"src":"13010:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59663,"nodeType":"FunctionDefinition","src":"13251:146:64","nodes":[],"body":{"id":59662,"nodeType":"Block","src":"13307:90:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59656,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"13326:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13333:10:64","memberName":"MULTICALL3","nodeType":"MemberAccess","referencedDeclaration":49713,"src":"13326:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":59658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13326:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":59659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13347:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":59655,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":847,"src":"13317:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":59660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13317:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59661,"nodeType":"ExpressionStatement","src":"13317:73:64"}]},"functionSelector":"a3b85699","implemented":true,"kind":"function","modifiers":[],"name":"test_Multicall3Address_IsCorrect","nameLocation":"13260:32:64","parameters":{"id":59653,"nodeType":"ParameterList","parameters":[],"src":"13292:2:64"},"returnParameters":{"id":59654,"nodeType":"ParameterList","parameters":[],"src":"13307:0:64"},"scope":64596,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":59771,"nodeType":"FunctionDefinition","src":"13597:739:64","nodes":[],"body":{"id":59770,"nodeType":"Block","src":"13638:698:64","nodes":[],"statements":[{"assignments":[59668],"declarations":[{"constant":false,"id":59668,"mutability":"mutable","name":"testToken","nameLocation":"13658:9:64","nodeType":"VariableDeclaration","scope":59770,"src":"13648:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":59667,"nodeType":"UserDefinedTypeName","pathNode":{"id":59666,"name":"MockERC20","nameLocations":["13648:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"13648:9:64"},"referencedDeclaration":68037,"src":"13648:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":59676,"initialValue":{"arguments":[{"hexValue":"54657374","id":59672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13684:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},"value":"Test"},{"hexValue":"545354","id":59673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13692:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},"value":"TST"},{"hexValue":"3138","id":59674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13699:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":59671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"13670:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":59670,"nodeType":"UserDefinedTypeName","pathNode":{"id":59669,"name":"MockERC20","nameLocations":["13674:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"13674:9:64"},"referencedDeclaration":68037,"src":"13674:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":59675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13670:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"13648:54:64"},{"assignments":[59679],"declarations":[{"constant":false,"id":59679,"mutability":"mutable","name":"testTarget","nameLocation":"13723:10:64","nodeType":"VariableDeclaration","scope":59770,"src":"13712:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"},"typeName":{"id":59678,"nodeType":"UserDefinedTypeName","pathNode":{"id":59677,"name":"MockTarget","nameLocations":["13712:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"13712:10:64"},"referencedDeclaration":58706,"src":"13712:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"visibility":"internal"}],"id":59688,"initialValue":{"arguments":[{"arguments":[{"id":59685,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59668,"src":"13759:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13751:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59683,"name":"address","nodeType":"ElementaryTypeName","src":"13751:7:64","typeDescriptions":{}}},"id":59686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13751:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"13736:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockTarget_$58706_$","typeString":"function (address) returns (contract MockTarget)"},"typeName":{"id":59681,"nodeType":"UserDefinedTypeName","pathNode":{"id":59680,"name":"MockTarget","nameLocations":["13740:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"13740:10:64"},"referencedDeclaration":58706,"src":"13740:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}},"id":59687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13736:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"nodeType":"VariableDeclarationStatement","src":"13712:58:64"},{"assignments":[59690],"declarations":[{"constant":false,"id":59690,"mutability":"mutable","name":"tokenBalance","nameLocation":"13789:12:64","nodeType":"VariableDeclaration","scope":59770,"src":"13781:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59689,"name":"uint256","nodeType":"ElementaryTypeName","src":"13781:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59692,"initialValue":{"hexValue":"31303030653138","id":59691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13804:7:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000e18"},"nodeType":"VariableDeclarationStatement","src":"13781:30:64"},{"expression":{"arguments":[{"arguments":[{"id":59698,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13844:4:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}],"id":59697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13836:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59696,"name":"address","nodeType":"ElementaryTypeName","src":"13836:7:64","typeDescriptions":{}}},"id":59699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13836:13:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59700,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59690,"src":"13851:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59693,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59668,"src":"13821:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13831:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":68036,"src":"13821:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":59701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13821:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59702,"nodeType":"ExpressionStatement","src":"13821:43:64"},{"expression":{"arguments":[{"arguments":[{"id":59708,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"13900:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13892:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59706,"name":"address","nodeType":"ElementaryTypeName","src":"13892:7:64","typeDescriptions":{}}},"id":59709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13892:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59710,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59690,"src":"13909:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59703,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59668,"src":"13874:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13884:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"13874:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":59711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13874:48:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59712,"nodeType":"ExpressionStatement","src":"13874:48:64"},{"assignments":[59714],"declarations":[{"constant":false,"id":59714,"mutability":"mutable","name":"callData","nameLocation":"13946:8:64","nodeType":"VariableDeclaration","scope":59770,"src":"13933:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59713,"name":"bytes","nodeType":"ElementaryTypeName","src":"13933:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59724,"initialValue":{"arguments":[{"hexValue":"6465706f7369742875696e743235362c6164647265737329","id":59717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13981:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},"value":"deposit(uint256,address)"},{"id":59718,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"14009:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":59721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14030:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":59720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14022:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59719,"name":"address","nodeType":"ElementaryTypeName","src":"14022:7:64","typeDescriptions":{}}},"id":59722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14022:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59715,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13957:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13961:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13957:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13957:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13933:104:64"},{"expression":{"arguments":[{"arguments":[{"id":59730,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59668,"src":"14082:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14074:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59728,"name":"address","nodeType":"ElementaryTypeName","src":"14074:7:64","typeDescriptions":{}}},"id":59731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14074:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":59734,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59679,"src":"14102:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":59733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14094:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59732,"name":"address","nodeType":"ElementaryTypeName","src":"14094:7:64","typeDescriptions":{}}},"id":59735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14094:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59736,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59714,"src":"14115:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":59737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14125:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":59738,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"14128:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":59725,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"14048:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14055:18:64","memberName":"injectSweepAndCall","nodeType":"MemberAccess","referencedDeclaration":50076,"src":"14048:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":59739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14048:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59740,"nodeType":"ExpressionStatement","src":"14048:92:64"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59742,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59679,"src":"14160:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"id":59743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14171:10:64","memberName":"lastAmount","nodeType":"MemberAccess","referencedDeclaration":58635,"src":"14160:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14160:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59745,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59690,"src":"14185:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59741,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"14151:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14151:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59747,"nodeType":"ExpressionStatement","src":"14151:47:64"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":59753,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14245:4:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}],"id":59752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14237:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59751,"name":"address","nodeType":"ElementaryTypeName","src":"14237:7:64","typeDescriptions":{}}},"id":59754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14237:13:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59749,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59668,"src":"14217:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14227:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"14217:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":59755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14217:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":59756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14253:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59748,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"14208:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14208:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59758,"nodeType":"ExpressionStatement","src":"14208:47:64"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":59764,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59679,"src":"14302:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":59763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14294:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59762,"name":"address","nodeType":"ElementaryTypeName","src":"14294:7:64","typeDescriptions":{}}},"id":59765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14294:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59760,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59668,"src":"14274:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14284:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"14274:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":59766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14274:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59767,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59690,"src":"14316:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59759,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"14265:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14265:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59769,"nodeType":"ExpressionStatement","src":"14265:64:64"}]},"functionSelector":"08659073","implemented":true,"kind":"function","modifiers":[],"name":"testInjectSweepAndCall","nameLocation":"13606:22:64","parameters":{"id":59664,"nodeType":"ParameterList","parameters":[],"src":"13628:2:64"},"returnParameters":{"id":59665,"nodeType":"ParameterList","parameters":[],"src":"13638:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59869,"nodeType":"FunctionDefinition","src":"14342:768:64","nodes":[],"body":{"id":59868,"nodeType":"Block","src":"14408:702:64","nodes":[],"statements":[{"assignments":[59776],"declarations":[{"constant":false,"id":59776,"mutability":"mutable","name":"testToken","nameLocation":"14428:9:64","nodeType":"VariableDeclaration","scope":59868,"src":"14418:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":59775,"nodeType":"UserDefinedTypeName","pathNode":{"id":59774,"name":"MockERC20","nameLocations":["14418:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"14418:9:64"},"referencedDeclaration":68037,"src":"14418:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":59784,"initialValue":{"arguments":[{"hexValue":"54657374","id":59780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14454:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},"value":"Test"},{"hexValue":"545354","id":59781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14462:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},"value":"TST"},{"hexValue":"3138","id":59782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14469:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":59779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"14440:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":59778,"nodeType":"UserDefinedTypeName","pathNode":{"id":59777,"name":"MockERC20","nameLocations":["14444:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"14444:9:64"},"referencedDeclaration":68037,"src":"14444:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":59783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14440:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"14418:54:64"},{"assignments":[59787],"declarations":[{"constant":false,"id":59787,"mutability":"mutable","name":"testTarget","nameLocation":"14493:10:64","nodeType":"VariableDeclaration","scope":59868,"src":"14482:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"},"typeName":{"id":59786,"nodeType":"UserDefinedTypeName","pathNode":{"id":59785,"name":"MockTarget","nameLocations":["14482:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"14482:10:64"},"referencedDeclaration":58706,"src":"14482:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"visibility":"internal"}],"id":59796,"initialValue":{"arguments":[{"arguments":[{"id":59793,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59776,"src":"14529:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59792,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14521:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59791,"name":"address","nodeType":"ElementaryTypeName","src":"14521:7:64","typeDescriptions":{}}},"id":59794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14521:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"14506:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockTarget_$58706_$","typeString":"function (address) returns (contract MockTarget)"},"typeName":{"id":59789,"nodeType":"UserDefinedTypeName","pathNode":{"id":59788,"name":"MockTarget","nameLocations":["14510:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"14510:10:64"},"referencedDeclaration":58706,"src":"14510:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}},"id":59795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14506:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"nodeType":"VariableDeclarationStatement","src":"14482:58:64"},{"assignments":[59798],"declarations":[{"constant":false,"id":59798,"mutability":"mutable","name":"tokenBalance","nameLocation":"14559:12:64","nodeType":"VariableDeclaration","scope":59868,"src":"14551:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59797,"name":"uint256","nodeType":"ElementaryTypeName","src":"14551:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59800,"initialValue":{"hexValue":"31303030653138","id":59799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14574:7:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000e18"},"nodeType":"VariableDeclarationStatement","src":"14551:30:64"},{"assignments":[59802],"declarations":[{"constant":false,"id":59802,"mutability":"mutable","name":"incorrectValue","nameLocation":"14599:14:64","nodeType":"VariableDeclaration","scope":59868,"src":"14591:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59801,"name":"uint256","nodeType":"ElementaryTypeName","src":"14591:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59804,"initialValue":{"hexValue":"31","id":59803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14616:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"14591:32:64"},{"expression":{"arguments":[{"arguments":[{"id":59810,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14656:4:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}],"id":59809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14648:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59808,"name":"address","nodeType":"ElementaryTypeName","src":"14648:7:64","typeDescriptions":{}}},"id":59811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14648:13:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59812,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59798,"src":"14663:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59805,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59776,"src":"14633:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14643:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":68036,"src":"14633:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":59813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14633:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59814,"nodeType":"ExpressionStatement","src":"14633:43:64"},{"expression":{"arguments":[{"arguments":[{"id":59820,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"14712:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14704:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59818,"name":"address","nodeType":"ElementaryTypeName","src":"14704:7:64","typeDescriptions":{}}},"id":59821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14704:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59822,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59798,"src":"14721:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59815,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59776,"src":"14686:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14696:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"14686:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":59823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14686:48:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59824,"nodeType":"ExpressionStatement","src":"14686:48:64"},{"assignments":[59826],"declarations":[{"constant":false,"id":59826,"mutability":"mutable","name":"callData","nameLocation":"14758:8:64","nodeType":"VariableDeclaration","scope":59868,"src":"14745:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59825,"name":"bytes","nodeType":"ElementaryTypeName","src":"14745:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59836,"initialValue":{"arguments":[{"hexValue":"6465706f7369742875696e743235362c6164647265737329","id":59829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14793:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},"value":"deposit(uint256,address)"},{"id":59830,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"14821:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":59833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14842:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":59832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14834:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59831,"name":"address","nodeType":"ElementaryTypeName","src":"14834:7:64","typeDescriptions":{}}},"id":59834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14834:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59827,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14769:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14773:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14769:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14769:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14745:104:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":59842,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"14899:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":59843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14912:14:64","memberName":"IncorrectValue","nodeType":"MemberAccess","referencedDeclaration":49749,"src":"14899:27:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":59844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14927:8:64","memberName":"selector","nodeType":"MemberAccess","src":"14899:36:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":59845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14937:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":59846,"name":"incorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59802,"src":"14940:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14876:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14880:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14876:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":59847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14876:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59837,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"14860:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14863:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"14860:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":59848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14860:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59849,"nodeType":"ExpressionStatement","src":"14860:96:64"},{"expression":{"arguments":[{"arguments":[{"id":59857,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59776,"src":"15036:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15028:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59855,"name":"address","nodeType":"ElementaryTypeName","src":"15028:7:64","typeDescriptions":{}}},"id":59858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15028:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":59861,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59787,"src":"15056:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":59860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15048:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59859,"name":"address","nodeType":"ElementaryTypeName","src":"15048:7:64","typeDescriptions":{}}},"id":59862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15048:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59863,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59826,"src":"15069:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":59864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15079:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":59865,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"15082:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":59850,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"14966:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14973:18:64","memberName":"injectSweepAndCall","nodeType":"MemberAccess","referencedDeclaration":50076,"src":"14966:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":59854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":59853,"name":"incorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59802,"src":"14999:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"14966:48:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$value","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":59866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14966:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59867,"nodeType":"ExpressionStatement","src":"14966:137:64"}]},"functionSelector":"50bbb7a1","implemented":true,"kind":"function","modifiers":[],"name":"testInjectSweepAndCall_WithToken_IncorrectValue","nameLocation":"14351:47:64","parameters":{"id":59772,"nodeType":"ParameterList","parameters":[],"src":"14398:2:64"},"returnParameters":{"id":59773,"nodeType":"ParameterList","parameters":[],"src":"14408:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59930,"nodeType":"FunctionDefinition","src":"15116:477:64","nodes":[],"body":{"id":59929,"nodeType":"Block","src":"15154:439:64","nodes":[],"statements":[{"assignments":[59873],"declarations":[{"constant":false,"id":59873,"mutability":"mutable","name":"ethAmount","nameLocation":"15172:9:64","nodeType":"VariableDeclaration","scope":59929,"src":"15164:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59872,"name":"uint256","nodeType":"ElementaryTypeName","src":"15164:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59875,"initialValue":{"hexValue":"31","id":59874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15184:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"15164:27:64"},{"assignments":[59877],"declarations":[{"constant":false,"id":59877,"mutability":"mutable","name":"callData","nameLocation":"15215:8:64","nodeType":"VariableDeclaration","scope":59929,"src":"15202:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59876,"name":"bytes","nodeType":"ElementaryTypeName","src":"15202:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59887,"initialValue":{"arguments":[{"hexValue":"6465706f7369744574682875696e743235362c6164647265737329","id":59880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15250:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},"value":"depositEth(uint256,address)"},{"id":59881,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"15281:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":59884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15302:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":59883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15294:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59882,"name":"address","nodeType":"ElementaryTypeName","src":"15294:7:64","typeDescriptions":{}}},"id":59885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15294:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59878,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15226:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15230:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15226:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15226:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15202:107:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":59895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15372:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15364:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59893,"name":"address","nodeType":"ElementaryTypeName","src":"15364:7:64","typeDescriptions":{}}},"id":59896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15364:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":59899,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"15384:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":59898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15376:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59897,"name":"address","nodeType":"ElementaryTypeName","src":"15376:7:64","typeDescriptions":{}}},"id":59900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15376:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59901,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59877,"src":"15396:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":59902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15406:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":59903,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"15409:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":59888,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"15320:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15327:18:64","memberName":"injectSweepAndCall","nodeType":"MemberAccess","referencedDeclaration":50076,"src":"15320:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":59892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":59891,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59873,"src":"15353:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"15320:43:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$value","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":59904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15320:101:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59905,"nodeType":"ExpressionStatement","src":"15320:101:64"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59907,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"15441:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}},"id":59908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15451:10:64","memberName":"lastAmount","nodeType":"MemberAccess","referencedDeclaration":58708,"src":"15441:20:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15441:22:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59910,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59873,"src":"15465:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59906,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"15432:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15432:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59912,"nodeType":"ExpressionStatement","src":"15432:43:64"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59914,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"15494:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}},"id":59915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15504:11:64","memberName":"receivedEth","nodeType":"MemberAccess","referencedDeclaration":58710,"src":"15494:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":59916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15494:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59917,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59873,"src":"15519:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59913,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"15485:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15485:44:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59919,"nodeType":"ExpressionStatement","src":"15485:44:64"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":59923,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"15556:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":59922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15548:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59921,"name":"address","nodeType":"ElementaryTypeName","src":"15548:7:64","typeDescriptions":{}}},"id":59924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15548:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15567:7:64","memberName":"balance","nodeType":"MemberAccess","src":"15548:26:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59926,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59873,"src":"15576:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59920,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"15539:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":59927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15539:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59928,"nodeType":"ExpressionStatement","src":"15539:47:64"}]},"functionSelector":"f7ccd7e4","implemented":true,"kind":"function","modifiers":[],"name":"testSweepAndCallETH","nameLocation":"15125:19:64","parameters":{"id":59870,"nodeType":"ParameterList","parameters":[],"src":"15144:2:64"},"returnParameters":{"id":59871,"nodeType":"ParameterList","parameters":[],"src":"15154:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":59993,"nodeType":"FunctionDefinition","src":"15599:525:64","nodes":[],"body":{"id":59992,"nodeType":"Block","src":"15673:451:64","nodes":[],"statements":[{"assignments":[59934],"declarations":[{"constant":false,"id":59934,"mutability":"mutable","name":"balance","nameLocation":"15691:7:64","nodeType":"VariableDeclaration","scope":59992,"src":"15683:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59933,"name":"uint256","nodeType":"ElementaryTypeName","src":"15683:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59936,"initialValue":{"hexValue":"31653138","id":59935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15701:4:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"nodeType":"VariableDeclarationStatement","src":"15683:22:64"},{"expression":{"arguments":[{"arguments":[{"id":59942,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15738:4:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}],"id":59941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15730:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59940,"name":"address","nodeType":"ElementaryTypeName","src":"15730:7:64","typeDescriptions":{}}},"id":59943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15730:13:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59944,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59934,"src":"15745:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59937,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"15715:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":59939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15725:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":68036,"src":"15715:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":59945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15715:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59946,"nodeType":"ExpressionStatement","src":"15715:38:64"},{"assignments":[59948],"declarations":[{"constant":false,"id":59948,"mutability":"mutable","name":"callData","nameLocation":"15777:8:64","nodeType":"VariableDeclaration","scope":59992,"src":"15764:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59947,"name":"bytes","nodeType":"ElementaryTypeName","src":"15764:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59958,"initialValue":{"arguments":[{"hexValue":"6465706f7369742875696e743235362c6164647265737329","id":59951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15812:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},"value":"deposit(uint256,address)"},{"id":59952,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"15840:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":59955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15861:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":59954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15853:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59953,"name":"address","nodeType":"ElementaryTypeName","src":"15853:7:64","typeDescriptions":{}}},"id":59956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15853:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59949,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15788:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15792:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15788:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15788:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15764:104:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":59964,"name":"IERC20Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40194,"src":"15931:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Errors_$40194_$","typeString":"type(contract IERC20Errors)"}},"id":59965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15944:26:64","memberName":"ERC20InsufficientAllowance","nodeType":"MemberAccess","referencedDeclaration":40183,"src":"15931:39:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256,uint256) pure returns (error)"}},"id":59966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15971:8:64","memberName":"selector","nodeType":"MemberAccess","src":"15931:48:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":59969,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"15989:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":59968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15981:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59967,"name":"address","nodeType":"ElementaryTypeName","src":"15981:7:64","typeDescriptions":{}}},"id":59970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15981:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":59971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15998:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":59972,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59934,"src":"16001:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59962,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15908:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15912:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15908:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":59973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15908:101:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59959,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"15879:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":59961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15882:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"15879:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":59974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15879:140:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59975,"nodeType":"ExpressionStatement","src":"15879:140:64"},{"expression":{"arguments":[{"arguments":[{"id":59981,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"16063:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":59980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16055:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59979,"name":"address","nodeType":"ElementaryTypeName","src":"16055:7:64","typeDescriptions":{}}},"id":59982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16055:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":59985,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58852,"src":"16083:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":59984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16075:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59983,"name":"address","nodeType":"ElementaryTypeName","src":"16075:7:64","typeDescriptions":{}}},"id":59986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16075:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59987,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59948,"src":"16092:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":59988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16102:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":59989,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"16105:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":59976,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"16029:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":59978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16036:18:64","memberName":"injectSweepAndCall","nodeType":"MemberAccess","referencedDeclaration":50076,"src":"16029:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":59990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16029:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59991,"nodeType":"ExpressionStatement","src":"16029:88:64"}]},"functionSelector":"383a9259","implemented":true,"kind":"function","modifiers":[],"name":"testRevertWhen_injectSweepAndCall_InsufficientAllowance","nameLocation":"15608:55:64","parameters":{"id":59931,"nodeType":"ParameterList","parameters":[],"src":"15663:2:64"},"returnParameters":{"id":59932,"nodeType":"ParameterList","parameters":[],"src":"15673:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60041,"nodeType":"FunctionDefinition","src":"16130:386:64","nodes":[],"body":{"id":60040,"nodeType":"Block","src":"16199:317:64","nodes":[],"statements":[{"assignments":[59997],"declarations":[{"constant":false,"id":59997,"mutability":"mutable","name":"callData","nameLocation":"16222:8:64","nodeType":"VariableDeclaration","scope":60040,"src":"16209:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59996,"name":"bytes","nodeType":"ElementaryTypeName","src":"16209:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60007,"initialValue":{"arguments":[{"hexValue":"6465706f7369744574682875696e743235362c6164647265737329","id":60000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16257:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},"value":"depositEth(uint256,address)"},{"id":60001,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"16288:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":60004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16309:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":60003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16301:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60002,"name":"address","nodeType":"ElementaryTypeName","src":"16301:7:64","typeDescriptions":{}}},"id":60005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16301:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59998,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16233:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16237:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16233:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":60006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16233:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16209:107:64"},{"expression":{"arguments":[{"id":60011,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"16336:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60008,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"16327:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16330:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"16327:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":60012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16327:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60013,"nodeType":"ExpressionStatement","src":"16327:14:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":60017,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"16367:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16380:16:64","memberName":"NoValueAvailable","nodeType":"MemberAccess","referencedDeclaration":49741,"src":"16367:29:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":60019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16397:8:64","memberName":"selector","nodeType":"MemberAccess","src":"16367:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":60014,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"16351:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16354:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"16351:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":60020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16351:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60021,"nodeType":"ExpressionStatement","src":"16351:55:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":60029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16460:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16452:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60027,"name":"address","nodeType":"ElementaryTypeName","src":"16452:7:64","typeDescriptions":{}}},"id":60030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16452:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":60033,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"16472:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":60032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16464:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60031,"name":"address","nodeType":"ElementaryTypeName","src":"16464:7:64","typeDescriptions":{}}},"id":60034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16464:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60035,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59997,"src":"16484:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":60036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16494:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":60037,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"16497:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":60022,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"16416:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":60024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16423:18:64","memberName":"injectSweepAndCall","nodeType":"MemberAccess","referencedDeclaration":50076,"src":"16416:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":60026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"30","id":60025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16449:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"src":"16416:35:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$value","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":60038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16416:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60039,"nodeType":"ExpressionStatement","src":"16416:93:64"}]},"functionSelector":"28c75721","implemented":true,"kind":"function","modifiers":[],"name":"testRevertWhen_injectSweepAndCall_NoValueAvailable","nameLocation":"16139:50:64","parameters":{"id":59994,"nodeType":"ParameterList","parameters":[],"src":"16189:2:64"},"returnParameters":{"id":59995,"nodeType":"ParameterList","parameters":[],"src":"16199:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60123,"nodeType":"FunctionDefinition","src":"16522:694:64","nodes":[],"body":{"id":60122,"nodeType":"Block","src":"16564:652:64","nodes":[],"statements":[{"assignments":[60046],"declarations":[{"constant":false,"id":60046,"mutability":"mutable","name":"wallet","nameLocation":"16585:6:64","nodeType":"VariableDeclaration","scope":60122,"src":"16574:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockWallet_$58832","typeString":"contract MockWallet"},"typeName":{"id":60045,"nodeType":"UserDefinedTypeName","pathNode":{"id":60044,"name":"MockWallet","nameLocations":["16574:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58832,"src":"16574:10:64"},"referencedDeclaration":58832,"src":"16574:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockWallet_$58832","typeString":"contract MockWallet"}},"visibility":"internal"}],"id":60051,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":60049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"16594:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockWallet_$58832_$","typeString":"function () returns (contract MockWallet)"},"typeName":{"id":60048,"nodeType":"UserDefinedTypeName","pathNode":{"id":60047,"name":"MockWallet","nameLocations":["16598:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58832,"src":"16598:10:64"},"referencedDeclaration":58832,"src":"16598:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockWallet_$58832","typeString":"contract MockWallet"}}},"id":60050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16594:16:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockWallet_$58832","typeString":"contract MockWallet"}},"nodeType":"VariableDeclarationStatement","src":"16574:36:64"},{"assignments":[60053],"declarations":[{"constant":false,"id":60053,"mutability":"mutable","name":"ethAmount","nameLocation":"16629:9:64","nodeType":"VariableDeclaration","scope":60122,"src":"16621:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60052,"name":"uint256","nodeType":"ElementaryTypeName","src":"16621:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60055,"initialValue":{"hexValue":"32","id":60054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16641:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"16621:27:64"},{"expression":{"arguments":[{"arguments":[{"id":60061,"name":"wallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60046,"src":"16674:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockWallet_$58832","typeString":"contract MockWallet"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockWallet_$58832","typeString":"contract MockWallet"}],"id":60060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16666:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60059,"name":"address","nodeType":"ElementaryTypeName","src":"16666:7:64","typeDescriptions":{}}},"id":60062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16666:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60063,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60053,"src":"16683:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60056,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"16658:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16661:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"16658:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16658:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60065,"nodeType":"ExpressionStatement","src":"16658:35:64"},{"assignments":[60067],"declarations":[{"constant":false,"id":60067,"mutability":"mutable","name":"callData","nameLocation":"16717:8:64","nodeType":"VariableDeclaration","scope":60122,"src":"16704:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60066,"name":"bytes","nodeType":"ElementaryTypeName","src":"16704:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60077,"initialValue":{"arguments":[{"hexValue":"6465706f7369744574682875696e743235362c6164647265737329","id":60070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16752:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},"value":"depositEth(uint256,address)"},{"id":60071,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"16783:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":60074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16804:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":60073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16796:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60072,"name":"address","nodeType":"ElementaryTypeName","src":"16796:7:64","typeDescriptions":{}}},"id":60075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16796:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60068,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16728:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16732:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16728:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":60076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16728:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16704:107:64"},{"assignments":[60079,null],"declarations":[{"constant":false,"id":60079,"mutability":"mutable","name":"success","nameLocation":"16828:7:64","nodeType":"VariableDeclaration","scope":60122,"src":"16823:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60078,"name":"bool","nodeType":"ElementaryTypeName","src":"16823:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":60098,"initialValue":{"arguments":[{"arguments":[{"id":60084,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"16896:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":60083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16888:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60082,"name":"address","nodeType":"ElementaryTypeName","src":"16888:7:64","typeDescriptions":{}}},"id":60085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16888:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":60088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16913:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16905:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60086,"name":"address","nodeType":"ElementaryTypeName","src":"16905:7:64","typeDescriptions":{}}},"id":60089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16905:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":60092,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"16925:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":60091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16917:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60090,"name":"address","nodeType":"ElementaryTypeName","src":"16917:7:64","typeDescriptions":{}}},"id":60093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16917:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60094,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60067,"src":"16937:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":60095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16947:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":60096,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"16950:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":60080,"name":"wallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60046,"src":"16840:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockWallet_$58832","typeString":"contract MockWallet"}},"id":60081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16847:27:64","memberName":"delegateCallBalanceInjector","nodeType":"MemberAccess","referencedDeclaration":58787,"src":"16840:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (address,address,address,bytes memory,uint256,bytes32) payable external returns (bool,bytes memory)"}},"id":60097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16840:131:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"16822:149:64"},{"expression":{"arguments":[{"id":60100,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60079,"src":"16993:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"44656c656761746563616c6c2073686f756c642073756363656564","id":60101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17002:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_dee20606a3a292159eb024a33731e6f27a0126c203cfc4c2c86b4062a079b771","typeString":"literal_string \"Delegatecall should succeed\""},"value":"Delegatecall should succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dee20606a3a292159eb024a33731e6f27a0126c203cfc4c2c86b4062a079b771","typeString":"literal_string \"Delegatecall should succeed\""}],"id":60099,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"16982:10:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":60102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16982:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60103,"nodeType":"ExpressionStatement","src":"16982:50:64"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60105,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"17051:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}},"id":60106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17061:10:64","memberName":"lastAmount","nodeType":"MemberAccess","referencedDeclaration":58708,"src":"17051:20:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":60107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17051:22:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60108,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60053,"src":"17075:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5461726765742073686f756c6420726563656976652077616c6c65742773204554482062616c616e6365","id":60109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17086:44:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4205f8d5866d6b904d356a0f7f9de980b10184e4c0e99ccde433a8ffc0c8f0b5","typeString":"literal_string \"Target should receive wallet's ETH balance\""},"value":"Target should receive wallet's ETH balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_4205f8d5866d6b904d356a0f7f9de980b10184e4c0e99ccde433a8ffc0c8f0b5","typeString":"literal_string \"Target should receive wallet's ETH balance\""}],"id":60104,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"17042:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":60110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17042:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60111,"nodeType":"ExpressionStatement","src":"17042:89:64"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":60115,"name":"wallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60046,"src":"17158:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockWallet_$58832","typeString":"contract MockWallet"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockWallet_$58832","typeString":"contract MockWallet"}],"id":60114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17150:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60113,"name":"address","nodeType":"ElementaryTypeName","src":"17150:7:64","typeDescriptions":{}}},"id":60116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17150:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17166:7:64","memberName":"balance","nodeType":"MemberAccess","src":"17150:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":60118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17175:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"57616c6c65742073686f756c6420626520737765707420656d707479","id":60119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17178:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_678e064656e04ef78ea24c3996f852c37cbf42447107b49a9e1ef01593155bd7","typeString":"literal_string \"Wallet should be swept empty\""},"value":"Wallet should be swept empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_678e064656e04ef78ea24c3996f852c37cbf42447107b49a9e1ef01593155bd7","typeString":"literal_string \"Wallet should be swept empty\""}],"id":60112,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"17141:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":60120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17141:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60121,"nodeType":"ExpressionStatement","src":"17141:68:64"}]},"functionSelector":"e702a118","implemented":true,"kind":"function","modifiers":[],"name":"testDelegateCallWithETH","nameLocation":"16531:23:64","parameters":{"id":60042,"nodeType":"ParameterList","parameters":[],"src":"16554:2:64"},"returnParameters":{"id":60043,"nodeType":"ParameterList","parameters":[],"src":"16564:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60184,"nodeType":"FunctionDefinition","src":"17222:465:64","nodes":[],"body":{"id":60183,"nodeType":"Block","src":"17285:402:64","nodes":[],"statements":[{"assignments":[60127],"declarations":[{"constant":false,"id":60127,"mutability":"mutable","name":"callData","nameLocation":"17308:8:64","nodeType":"VariableDeclaration","scope":60183,"src":"17295:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60126,"name":"bytes","nodeType":"ElementaryTypeName","src":"17295:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60137,"initialValue":{"arguments":[{"hexValue":"6465706f7369744574682875696e743235362c6164647265737329","id":60130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17343:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},"value":"depositEth(uint256,address)"},{"id":60131,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"17374:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":60134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17395:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":60133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17387:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60132,"name":"address","nodeType":"ElementaryTypeName","src":"17387:7:64","typeDescriptions":{}}},"id":60135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17387:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60128,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17319:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17323:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17319:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":60136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17319:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17295:107:64"},{"expression":{"arguments":[{"id":60141,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"17421:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"31","id":60142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17429:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"expression":{"id":60138,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"17413:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17416:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"17413:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17413:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60144,"nodeType":"ExpressionStatement","src":"17413:24:64"},{"expression":{"arguments":[{"id":60148,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"17456:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60145,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"17447:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17450:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"17447:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":60149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17447:16:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60150,"nodeType":"ExpressionStatement","src":"17447:16:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":60156,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"17512:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17525:14:64","memberName":"IncorrectValue","nodeType":"MemberAccess","referencedDeclaration":49749,"src":"17512:27:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":60158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17540:8:64","memberName":"selector","nodeType":"MemberAccess","src":"17512:36:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":60159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17550:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"31","id":60160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17553:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"expression":{"id":60154,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17489:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17493:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"17489:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":60161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60151,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"17473:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17476:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"17473:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":60162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17473:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60163,"nodeType":"ExpressionStatement","src":"17473:89:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":60172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17631:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17623:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60170,"name":"address","nodeType":"ElementaryTypeName","src":"17623:7:64","typeDescriptions":{}}},"id":60173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17623:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":60176,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"17643:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":60175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17635:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60174,"name":"address","nodeType":"ElementaryTypeName","src":"17635:7:64","typeDescriptions":{}}},"id":60177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17635:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60178,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60127,"src":"17655:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":60179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17665:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":60180,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"17668:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[{"id":60165,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"17585:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":60164,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"17572:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17572:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":60167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17593:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"17572:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":60169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":60168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17614:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"src":"17572:50:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$value","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":60181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17572:108:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60182,"nodeType":"ExpressionStatement","src":"17572:108:64"}]},"functionSelector":"50486ba7","implemented":true,"kind":"function","modifiers":[],"name":"testRevertWhen_injectAndCall_UnexpectedValue","nameLocation":"17231:44:64","parameters":{"id":60124,"nodeType":"ParameterList","parameters":[],"src":"17275:2:64"},"returnParameters":{"id":60125,"nodeType":"ParameterList","parameters":[],"src":"17285:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60225,"nodeType":"FunctionDefinition","src":"17693:356:64","nodes":[],"body":{"id":60224,"nodeType":"Block","src":"17757:292:64","nodes":[],"statements":[{"assignments":[60188],"declarations":[{"constant":false,"id":60188,"mutability":"mutable","name":"callData","nameLocation":"17780:8:64","nodeType":"VariableDeclaration","scope":60224,"src":"17767:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60187,"name":"bytes","nodeType":"ElementaryTypeName","src":"17767:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60198,"initialValue":{"arguments":[{"hexValue":"6465706f7369744574682875696e743235362c6164647265737329","id":60191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17815:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},"value":"depositEth(uint256,address)"},{"id":60192,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"17846:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":60195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17867:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":60194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17859:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60193,"name":"address","nodeType":"ElementaryTypeName","src":"17859:7:64","typeDescriptions":{}}},"id":60196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17859:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17791:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17795:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17791:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":60197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17791:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17767:107:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":60202,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"17901:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17914:16:64","memberName":"NoValueAvailable","nodeType":"MemberAccess","referencedDeclaration":49741,"src":"17901:29:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":60204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17931:8:64","memberName":"selector","nodeType":"MemberAccess","src":"17901:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":60199,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"17885:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17888:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"17885:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":60205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17885:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60206,"nodeType":"ExpressionStatement","src":"17885:55:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":60213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17993:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17985:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60211,"name":"address","nodeType":"ElementaryTypeName","src":"17985:7:64","typeDescriptions":{}}},"id":60214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17985:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":60217,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"18005:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":60216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17997:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60215,"name":"address","nodeType":"ElementaryTypeName","src":"17997:7:64","typeDescriptions":{}}},"id":60218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17997:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60219,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60188,"src":"18017:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":60220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18027:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":60221,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"18030:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[{"id":60208,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"17963:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":60207,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"17950:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17950:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":60210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17971:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"17950:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":60222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17950:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60223,"nodeType":"ExpressionStatement","src":"17950:92:64"}]},"functionSelector":"5457e5bb","implemented":true,"kind":"function","modifiers":[],"name":"testRevertWhen_injectAndCall_NoValueAvailable","nameLocation":"17702:45:64","parameters":{"id":60185,"nodeType":"ParameterList","parameters":[],"src":"17747:2:64"},"returnParameters":{"id":60186,"nodeType":"ParameterList","parameters":[],"src":"17757:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60292,"nodeType":"FunctionDefinition","src":"18245:507:64","nodes":[],"body":{"id":60291,"nodeType":"Block","src":"18286:466:64","nodes":[],"statements":[{"assignments":[60229],"declarations":[{"constant":false,"id":60229,"mutability":"mutable","name":"amount","nameLocation":"18304:6:64","nodeType":"VariableDeclaration","scope":60291,"src":"18296:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60228,"name":"uint256","nodeType":"ElementaryTypeName","src":"18296:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60231,"initialValue":{"hexValue":"31","id":60230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18313:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"18296:24:64"},{"expression":{"arguments":[{"id":60235,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"18338:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60236,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60229,"src":"18346:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60232,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"18330:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18333:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"18330:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18330:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60238,"nodeType":"ExpressionStatement","src":"18330:23:64"},{"assignments":[60240],"declarations":[{"constant":false,"id":60240,"mutability":"mutable","name":"recipientBalanceBefore","nameLocation":"18372:22:64","nodeType":"VariableDeclaration","scope":60291,"src":"18364:30:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60239,"name":"uint256","nodeType":"ElementaryTypeName","src":"18364:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60243,"initialValue":{"expression":{"id":60241,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"18397:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18407:7:64","memberName":"balance","nodeType":"MemberAccess","src":"18397:17:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18364:50:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18439:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18445:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18451:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18458:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60244,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"18425:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18428:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"18425:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18425:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60252,"nodeType":"ExpressionStatement","src":"18425:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":60256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18493:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18485:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60254,"name":"address","nodeType":"ElementaryTypeName","src":"18485:7:64","typeDescriptions":{}}},"id":60257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18485:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60258,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"18497:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60259,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60229,"src":"18508:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60253,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58889,"src":"18479:5:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":60260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18479:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60261,"nodeType":"EmitStatement","src":"18474:41:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":60268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18560:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18552:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60266,"name":"address","nodeType":"ElementaryTypeName","src":"18552:7:64","typeDescriptions":{}}},"id":60269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18552:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60270,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"18564:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"arguments":[{"id":60263,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"18538:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":60262,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"18525:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18525:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":60265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18546:5:64","memberName":"sweep","nodeType":"MemberAccess","referencedDeclaration":50193,"src":"18525:26:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) payable external"}},"id":60271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18525:49:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60272,"nodeType":"ExpressionStatement","src":"18525:49:64"},{"assignments":[60274],"declarations":[{"constant":false,"id":60274,"mutability":"mutable","name":"recipientBalanceAfter","nameLocation":"18592:21:64","nodeType":"VariableDeclaration","scope":60291,"src":"18584:29:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60273,"name":"uint256","nodeType":"ElementaryTypeName","src":"18584:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60277,"initialValue":{"expression":{"id":60275,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"18616:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18626:7:64","memberName":"balance","nodeType":"MemberAccess","src":"18616:17:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18584:49:64"},{"expression":{"arguments":[{"expression":{"id":60279,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"18653:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18660:7:64","memberName":"balance","nodeType":"MemberAccess","src":"18653:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":60281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18669:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60278,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"18644:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18644:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60283,"nodeType":"ExpressionStatement","src":"18644:27:64"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60285,"name":"recipientBalanceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60274,"src":"18690:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":60286,"name":"recipientBalanceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60240,"src":"18714:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18690:46:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60288,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60229,"src":"18738:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60284,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"18681:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18681:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60290,"nodeType":"ExpressionStatement","src":"18681:64:64"}]},"functionSelector":"bf627174","implemented":true,"kind":"function","modifiers":[],"name":"test_sweep_nativeToken","nameLocation":"18254:22:64","parameters":{"id":60226,"nodeType":"ParameterList","parameters":[],"src":"18276:2:64"},"returnParameters":{"id":60227,"nodeType":"ParameterList","parameters":[],"src":"18286:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60367,"nodeType":"FunctionDefinition","src":"18758:546:64","nodes":[],"body":{"id":60366,"nodeType":"Block","src":"18798:506:64","nodes":[],"statements":[{"assignments":[60296],"declarations":[{"constant":false,"id":60296,"mutability":"mutable","name":"amount","nameLocation":"18816:6:64","nodeType":"VariableDeclaration","scope":60366,"src":"18808:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60295,"name":"uint256","nodeType":"ElementaryTypeName","src":"18808:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60300,"initialValue":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"id":60299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":60297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18825:3:64","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":60298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18831:4:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"18825:10:64","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}},"nodeType":"VariableDeclarationStatement","src":"18808:27:64"},{"expression":{"arguments":[{"id":60304,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"18856:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60305,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60296,"src":"18864:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60301,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"18845:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":60303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18851:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":40316,"src":"18845:10:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18845:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60307,"nodeType":"ExpressionStatement","src":"18845:26:64"},{"assignments":[60309],"declarations":[{"constant":false,"id":60309,"mutability":"mutable","name":"recipientBalanceBefore","nameLocation":"18889:22:64","nodeType":"VariableDeclaration","scope":60366,"src":"18881:30:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60308,"name":"uint256","nodeType":"ElementaryTypeName","src":"18881:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60314,"initialValue":{"arguments":[{"id":60312,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"18930:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60310,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"18914:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":60311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18920:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"18914:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":60313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18914:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18881:59:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18965:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18971:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18977:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18984:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60315,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"18951:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18954:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"18951:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18951:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60323,"nodeType":"ExpressionStatement","src":"18951:39:64"},{"eventCall":{"arguments":[{"arguments":[{"id":60327,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"19019:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":60326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19011:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60325,"name":"address","nodeType":"ElementaryTypeName","src":"19011:7:64","typeDescriptions":{}}},"id":60328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19011:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60329,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"19027:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60330,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60296,"src":"19038:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60324,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58889,"src":"19005:5:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":60331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19005:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60332,"nodeType":"EmitStatement","src":"19000:45:64"},{"expression":{"arguments":[{"arguments":[{"id":60339,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"19090:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":60338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19082:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60337,"name":"address","nodeType":"ElementaryTypeName","src":"19082:7:64","typeDescriptions":{}}},"id":60340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19082:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60341,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"19098:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"arguments":[{"id":60334,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"19068:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":60333,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"19055:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19055:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":60336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19076:5:64","memberName":"sweep","nodeType":"MemberAccess","referencedDeclaration":50193,"src":"19055:26:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) payable external"}},"id":60342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19055:53:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60343,"nodeType":"ExpressionStatement","src":"19055:53:64"},{"assignments":[60345],"declarations":[{"constant":false,"id":60345,"mutability":"mutable","name":"recipientBalanceAfter","nameLocation":"19126:21:64","nodeType":"VariableDeclaration","scope":60366,"src":"19118:29:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60344,"name":"uint256","nodeType":"ElementaryTypeName","src":"19118:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60350,"initialValue":{"arguments":[{"id":60348,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"19166:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60346,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"19150:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":60347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19156:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"19150:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":60349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19150:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19118:58:64"},{"expression":{"arguments":[{"arguments":[{"id":60354,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"19212:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60352,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"19196:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":60353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19202:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"19196:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":60355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19196:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":60356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19221:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60351,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"19187:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19187:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60358,"nodeType":"ExpressionStatement","src":"19187:36:64"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60360,"name":"recipientBalanceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60345,"src":"19242:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":60361,"name":"recipientBalanceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60309,"src":"19266:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19242:46:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60363,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60296,"src":"19290:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60359,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"19233:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19233:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60365,"nodeType":"ExpressionStatement","src":"19233:64:64"}]},"functionSelector":"d7bf1410","implemented":true,"kind":"function","modifiers":[],"name":"test_sweep_erc20Token","nameLocation":"18767:21:64","parameters":{"id":60293,"nodeType":"ParameterList","parameters":[],"src":"18788:2:64"},"returnParameters":{"id":60294,"nodeType":"ParameterList","parameters":[],"src":"18798:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60484,"nodeType":"FunctionDefinition","src":"19310:839:64","nodes":[],"body":{"id":60483,"nodeType":"Block","src":"19369:780:64","nodes":[],"statements":[{"assignments":[60371],"declarations":[{"constant":false,"id":60371,"mutability":"mutable","name":"refundRecipient","nameLocation":"19387:15:64","nodeType":"VariableDeclaration","scope":60483,"src":"19379:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60370,"name":"address","nodeType":"ElementaryTypeName","src":"19379:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":60376,"initialValue":{"arguments":[{"hexValue":"3078313031","id":60374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19413:5:64","typeDescriptions":{"typeIdentifier":"t_rational_257_by_1","typeString":"int_const 257"},"value":"0x101"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_257_by_1","typeString":"int_const 257"}],"id":60373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19405:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60372,"name":"address","nodeType":"ElementaryTypeName","src":"19405:7:64","typeDescriptions":{}}},"id":60375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19405:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"19379:40:64"},{"assignments":[60378],"declarations":[{"constant":false,"id":60378,"mutability":"mutable","name":"sweepRecipient","nameLocation":"19437:14:64","nodeType":"VariableDeclaration","scope":60483,"src":"19429:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60377,"name":"address","nodeType":"ElementaryTypeName","src":"19429:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":60383,"initialValue":{"arguments":[{"hexValue":"3078313032","id":60381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19462:5:64","typeDescriptions":{"typeIdentifier":"t_rational_258_by_1","typeString":"int_const 258"},"value":"0x102"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_258_by_1","typeString":"int_const 258"}],"id":60380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19454:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60379,"name":"address","nodeType":"ElementaryTypeName","src":"19454:7:64","typeDescriptions":{}}},"id":60382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19454:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"19429:39:64"},{"assignments":[60385],"declarations":[{"constant":false,"id":60385,"mutability":"mutable","name":"amount","nameLocation":"19487:6:64","nodeType":"VariableDeclaration","scope":60483,"src":"19479:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60384,"name":"uint256","nodeType":"ElementaryTypeName","src":"19479:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60387,"initialValue":{"hexValue":"33","id":60386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19496:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_3000000000000000000_by_1","typeString":"int_const 3000000000000000000"},"value":"3"},"nodeType":"VariableDeclarationStatement","src":"19479:24:64"},{"expression":{"arguments":[{"id":60391,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"19521:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60392,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60385,"src":"19529:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60388,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"19513:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19516:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"19513:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19513:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60394,"nodeType":"ExpressionStatement","src":"19513:23:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19561:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19567:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19573:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19580:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60395,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"19547:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19550:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"19547:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19547:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60403,"nodeType":"ExpressionStatement","src":"19547:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":60407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19616:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19608:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60405,"name":"address","nodeType":"ElementaryTypeName","src":"19608:7:64","typeDescriptions":{}}},"id":60408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19608:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60409,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60371,"src":"19620:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":60410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19637:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":60404,"name":"Refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58897,"src":"19601:6:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":60411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19601:44:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60412,"nodeType":"EmitStatement","src":"19596:49:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19669:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19675:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19681:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19688:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60413,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"19655:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19658:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"19655:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19655:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60421,"nodeType":"ExpressionStatement","src":"19655:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":60425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19723:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19715:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60423,"name":"address","nodeType":"ElementaryTypeName","src":"19715:7:64","typeDescriptions":{}}},"id":60426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19715:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60427,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60378,"src":"19727:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"32","id":60428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19743:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"}],"id":60422,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58889,"src":"19709:5:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":60429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19709:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60430,"nodeType":"EmitStatement","src":"19704:47:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19775:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19781:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19787:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19794:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60431,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"19761:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19764:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"19761:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19761:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60439,"nodeType":"ExpressionStatement","src":"19761:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":60443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19838:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19830:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60441,"name":"address","nodeType":"ElementaryTypeName","src":"19830:7:64","typeDescriptions":{}}},"id":60444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19830:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60445,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60371,"src":"19842:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":60446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19859:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},{"id":60447,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60378,"src":"19868:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":60448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19884:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},{"hexValue":"32","id":60449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19893:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"}],"id":60440,"name":"RefundAndSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58911,"src":"19815:14:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256)"}},"id":60450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19815:86:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60451,"nodeType":"EmitStatement","src":"19810:91:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":60458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19956:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19948:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60456,"name":"address","nodeType":"ElementaryTypeName","src":"19948:7:64","typeDescriptions":{}}},"id":60459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19948:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60460,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60371,"src":"19960:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":60461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19977:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},{"id":60462,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60378,"src":"19986:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":60453,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"19925:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":60452,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"19912:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19912:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":60455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19933:14:64","memberName":"refundAndSweep","nodeType":"MemberAccess","referencedDeclaration":50312,"src":"19912:35:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address) payable external"}},"id":60463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19912:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60464,"nodeType":"ExpressionStatement","src":"19912:89:64"},{"expression":{"arguments":[{"expression":{"id":60466,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"20021:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20028:7:64","memberName":"balance","nodeType":"MemberAccess","src":"20021:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":60468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20037:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60465,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"20012:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20012:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60470,"nodeType":"ExpressionStatement","src":"20012:27:64"},{"expression":{"arguments":[{"expression":{"id":60472,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60371,"src":"20058:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20074:7:64","memberName":"balance","nodeType":"MemberAccess","src":"20058:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":60474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20083:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":60471,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"20049:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20049:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60476,"nodeType":"ExpressionStatement","src":"20049:42:64"},{"expression":{"arguments":[{"expression":{"id":60478,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60378,"src":"20110:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20125:7:64","memberName":"balance","nodeType":"MemberAccess","src":"20110:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":60480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20134:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"}],"id":60477,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"20101:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20101:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60482,"nodeType":"ExpressionStatement","src":"20101:41:64"}]},"functionSelector":"ee40d604","implemented":true,"kind":"function","modifiers":[],"name":"test_refundAndSweep_native_partialRefund","nameLocation":"19319:40:64","parameters":{"id":60368,"nodeType":"ParameterList","parameters":[],"src":"19359:2:64"},"returnParameters":{"id":60369,"nodeType":"ParameterList","parameters":[],"src":"19369:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60621,"nodeType":"FunctionDefinition","src":"20155:943:64","nodes":[],"body":{"id":60620,"nodeType":"Block","src":"20213:885:64","nodes":[],"statements":[{"assignments":[60488],"declarations":[{"constant":false,"id":60488,"mutability":"mutable","name":"refundRecipient","nameLocation":"20231:15:64","nodeType":"VariableDeclaration","scope":60620,"src":"20223:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60487,"name":"address","nodeType":"ElementaryTypeName","src":"20223:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":60493,"initialValue":{"arguments":[{"hexValue":"3078333031","id":60491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20257:5:64","typeDescriptions":{"typeIdentifier":"t_rational_769_by_1","typeString":"int_const 769"},"value":"0x301"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_769_by_1","typeString":"int_const 769"}],"id":60490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20249:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60489,"name":"address","nodeType":"ElementaryTypeName","src":"20249:7:64","typeDescriptions":{}}},"id":60492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20249:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20223:40:64"},{"assignments":[60495],"declarations":[{"constant":false,"id":60495,"mutability":"mutable","name":"sweepRecipient","nameLocation":"20281:14:64","nodeType":"VariableDeclaration","scope":60620,"src":"20273:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60494,"name":"address","nodeType":"ElementaryTypeName","src":"20273:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":60500,"initialValue":{"arguments":[{"hexValue":"3078333032","id":60498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20306:5:64","typeDescriptions":{"typeIdentifier":"t_rational_770_by_1","typeString":"int_const 770"},"value":"0x302"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_770_by_1","typeString":"int_const 770"}],"id":60497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20298:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60496,"name":"address","nodeType":"ElementaryTypeName","src":"20298:7:64","typeDescriptions":{}}},"id":60499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20298:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20273:39:64"},{"assignments":[60502],"declarations":[{"constant":false,"id":60502,"mutability":"mutable","name":"amount","nameLocation":"20331:6:64","nodeType":"VariableDeclaration","scope":60620,"src":"20323:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60501,"name":"uint256","nodeType":"ElementaryTypeName","src":"20323:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60506,"initialValue":{"commonType":{"typeIdentifier":"t_rational_300000000000000000000_by_1","typeString":"int_const 300000000000000000000"},"id":60505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"333030","id":60503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20340:3:64","typeDescriptions":{"typeIdentifier":"t_rational_300_by_1","typeString":"int_const 300"},"value":"300"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":60504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20346:4:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"20340:10:64","typeDescriptions":{"typeIdentifier":"t_rational_300000000000000000000_by_1","typeString":"int_const 300000000000000000000"}},"nodeType":"VariableDeclarationStatement","src":"20323:27:64"},{"assignments":[60508],"declarations":[{"constant":false,"id":60508,"mutability":"mutable","name":"refund","nameLocation":"20368:6:64","nodeType":"VariableDeclaration","scope":60620,"src":"20360:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60507,"name":"uint256","nodeType":"ElementaryTypeName","src":"20360:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60512,"initialValue":{"commonType":{"typeIdentifier":"t_rational_120000000000000000000_by_1","typeString":"int_const 120000000000000000000"},"id":60511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313230","id":60509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20377:3:64","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":60510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20383:4:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"20377:10:64","typeDescriptions":{"typeIdentifier":"t_rational_120000000000000000000_by_1","typeString":"int_const 120000000000000000000"}},"nodeType":"VariableDeclarationStatement","src":"20360:27:64"},{"expression":{"arguments":[{"id":60516,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"20408:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60517,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60502,"src":"20416:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60513,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"20397:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":60515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20403:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":40316,"src":"20397:10:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20397:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60519,"nodeType":"ExpressionStatement","src":"20397:26:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20448:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20454:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20460:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20467:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60520,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"20434:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20437:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"20434:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20434:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60528,"nodeType":"ExpressionStatement","src":"20434:39:64"},{"eventCall":{"arguments":[{"arguments":[{"id":60532,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"20503:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":60531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20495:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60530,"name":"address","nodeType":"ElementaryTypeName","src":"20495:7:64","typeDescriptions":{}}},"id":60533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20495:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60534,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60488,"src":"20511:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60535,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60508,"src":"20528:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60529,"name":"Refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58897,"src":"20488:6:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":60536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20488:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60537,"nodeType":"EmitStatement","src":"20483:52:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20559:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20565:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20571:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20578:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60538,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"20545:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20548:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"20545:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20545:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60546,"nodeType":"ExpressionStatement","src":"20545:39:64"},{"eventCall":{"arguments":[{"arguments":[{"id":60550,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"20613:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":60549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20605:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60548,"name":"address","nodeType":"ElementaryTypeName","src":"20605:7:64","typeDescriptions":{}}},"id":60551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20605:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60552,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60495,"src":"20621:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60553,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60502,"src":"20637:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":60554,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60508,"src":"20646:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20637:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60547,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58889,"src":"20599:5:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":60556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20599:54:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60557,"nodeType":"EmitStatement","src":"20594:59:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20677:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20683:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20689:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20696:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60558,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"20663:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20666:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"20663:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20663:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60566,"nodeType":"ExpressionStatement","src":"20663:39:64"},{"eventCall":{"arguments":[{"arguments":[{"id":60570,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"20740:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":60569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20732:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60568,"name":"address","nodeType":"ElementaryTypeName","src":"20732:7:64","typeDescriptions":{}}},"id":60571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20732:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60572,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60488,"src":"20748:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60573,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60508,"src":"20765:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60574,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60495,"src":"20773:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60575,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60508,"src":"20789:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60576,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60502,"src":"20797:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":60577,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60508,"src":"20806:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20797:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60567,"name":"RefundAndSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58911,"src":"20717:14:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256)"}},"id":60579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20717:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60580,"nodeType":"EmitStatement","src":"20712:101:64"},{"expression":{"arguments":[{"arguments":[{"id":60587,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"20868:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":60586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20860:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60585,"name":"address","nodeType":"ElementaryTypeName","src":"20860:7:64","typeDescriptions":{}}},"id":60588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20860:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60589,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60488,"src":"20876:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60590,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60508,"src":"20893:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60591,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60495,"src":"20901:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":60582,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"20837:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":60581,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"20824:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20824:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":60584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20845:14:64","memberName":"refundAndSweep","nodeType":"MemberAccess","referencedDeclaration":50312,"src":"20824:35:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address) payable external"}},"id":60592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20824:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60593,"nodeType":"ExpressionStatement","src":"20824:92:64"},{"expression":{"arguments":[{"arguments":[{"id":60597,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"20952:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60595,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"20936:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":60596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20942:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"20936:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":60598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20936:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":60599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20961:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60594,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"20927:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20927:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60601,"nodeType":"ExpressionStatement","src":"20927:36:64"},{"expression":{"arguments":[{"arguments":[{"id":60605,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60488,"src":"20998:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60603,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"20982:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":60604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20988:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"20982:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":60606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60607,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60508,"src":"21016:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60602,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"20973:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20973:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60609,"nodeType":"ExpressionStatement","src":"20973:50:64"},{"expression":{"arguments":[{"arguments":[{"id":60613,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60495,"src":"21058:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60611,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"21042:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":60612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21048:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"21042:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":60614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21042:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60615,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60502,"src":"21075:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":60616,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60508,"src":"21084:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21075:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60610,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"21033:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21033:58:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60619,"nodeType":"ExpressionStatement","src":"21033:58:64"}]},"functionSelector":"0604a0cb","implemented":true,"kind":"function","modifiers":[],"name":"test_refundAndSweep_erc20_partialRefund","nameLocation":"20164:39:64","parameters":{"id":60485,"nodeType":"ParameterList","parameters":[],"src":"20203:2:64"},"returnParameters":{"id":60486,"nodeType":"ParameterList","parameters":[],"src":"20213:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60758,"nodeType":"FunctionDefinition","src":"21104:1605:64","nodes":[],"body":{"id":60757,"nodeType":"Block","src":"21165:1544:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":60627,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"21266:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60624,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"21245:10:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreMode_$69517_$","typeString":"type(library TstoreMode)"}},"id":60626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21256:9:64","memberName":"setActive","nodeType":"MemberAccess","referencedDeclaration":69495,"src":"21245:20:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21245:28:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60629,"nodeType":"ExpressionStatement","src":"21245:28:64"},{"assignments":[60631],"declarations":[{"constant":false,"id":60631,"mutability":"mutable","name":"opHash","nameLocation":"21292:6:64","nodeType":"VariableDeclaration","scope":60757,"src":"21284:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21284:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":60635,"initialValue":{"arguments":[{"hexValue":"746573742d6f702d68617368","id":60633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21311:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_da7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa58005","typeString":"literal_string \"test-op-hash\""},"value":"test-op-hash"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa58005","typeString":"literal_string \"test-op-hash\""}],"id":60632,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"21301:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":60634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21301:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"21284:42:64"},{"expression":{"arguments":[{"id":60639,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"21344:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"31","id":60640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21352:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"expression":{"id":60636,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"21336:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21339:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"21336:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21336:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60642,"nodeType":"ExpressionStatement","src":"21336:24:64"},{"assignments":[60644],"declarations":[{"constant":false,"id":60644,"mutability":"mutable","name":"namespace","nameLocation":"21457:9:64","nodeType":"VariableDeclaration","scope":60757,"src":"21449:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21449:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":60646,"initialValue":{"id":60645,"name":"TEST_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58872,"src":"21469:14:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"21449:34:64"},{"assignments":[60648],"declarations":[{"constant":false,"id":60648,"mutability":"mutable","name":"slot","nameLocation":"21501:4:64","nodeType":"VariableDeclaration","scope":60757,"src":"21493:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21493:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":60649,"nodeType":"VariableDeclarationStatement","src":"21493:12:64"},{"AST":{"nativeSrc":"21524:122:64","nodeType":"YulBlock","src":"21524:122:64","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"21545:4:64","nodeType":"YulLiteral","src":"21545:4:64","type":"","value":"0x00"},{"name":"namespace","nativeSrc":"21551:9:64","nodeType":"YulIdentifier","src":"21551:9:64"}],"functionName":{"name":"mstore","nativeSrc":"21538:6:64","nodeType":"YulIdentifier","src":"21538:6:64"},"nativeSrc":"21538:23:64","nodeType":"YulFunctionCall","src":"21538:23:64"},"nativeSrc":"21538:23:64","nodeType":"YulExpressionStatement","src":"21538:23:64"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21581:4:64","nodeType":"YulLiteral","src":"21581:4:64","type":"","value":"0x20"},{"name":"opHash","nativeSrc":"21587:6:64","nodeType":"YulIdentifier","src":"21587:6:64"}],"functionName":{"name":"mstore","nativeSrc":"21574:6:64","nodeType":"YulIdentifier","src":"21574:6:64"},"nativeSrc":"21574:20:64","nodeType":"YulFunctionCall","src":"21574:20:64"},"nativeSrc":"21574:20:64","nodeType":"YulExpressionStatement","src":"21574:20:64"},{"nativeSrc":"21607:29:64","nodeType":"YulAssignment","src":"21607:29:64","value":{"arguments":[{"kind":"number","nativeSrc":"21625:4:64","nodeType":"YulLiteral","src":"21625:4:64","type":"","value":"0x00"},{"kind":"number","nativeSrc":"21631:4:64","nodeType":"YulLiteral","src":"21631:4:64","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"21615:9:64","nodeType":"YulIdentifier","src":"21615:9:64"},"nativeSrc":"21615:21:64","nodeType":"YulFunctionCall","src":"21615:21:64"},"variableNames":[{"name":"slot","nativeSrc":"21607:4:64","nodeType":"YulIdentifier","src":"21607:4:64"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":60644,"isOffset":false,"isSlot":false,"src":"21551:9:64","valueSize":1},{"declaration":60631,"isOffset":false,"isSlot":false,"src":"21587:6:64","valueSize":1},{"declaration":60648,"isOffset":false,"isSlot":false,"src":"21607:4:64","valueSize":1}],"id":60650,"nodeType":"InlineAssembly","src":"21515:131:64"},{"assignments":[60652],"declarations":[{"constant":false,"id":60652,"mutability":"mutable","name":"setTstoreCode","nameLocation":"21817:13:64","nodeType":"VariableDeclaration","scope":60757,"src":"21804:26:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60651,"name":"bytes","nodeType":"ElementaryTypeName","src":"21804:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60662,"initialValue":{"arguments":[{"hexValue":"7f","id":60655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"21863:7:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c179d3bfde4c521afc3d3944357db5ee881a69c237d67c9aa79aa7a027c40ea","typeString":"literal_string hex\"7f\""},"value":""},{"id":60656,"name":"TEST_SUCCESS_VALUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58881,"src":"21884:18:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"7f","id":60657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"21932:7:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c179d3bfde4c521afc3d3944357db5ee881a69c237d67c9aa79aa7a027c40ea","typeString":"literal_string hex\"7f\""},"value":""},{"id":60658,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60648,"src":"21953:4:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"5d","id":60659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"21995:7:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"},{"hexValue":"00","id":60660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"22039:7:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a","typeString":"literal_string hex\"00\""},"value":"\u0000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c179d3bfde4c521afc3d3944357db5ee881a69c237d67c9aa79aa7a027c40ea","typeString":"literal_string hex\"7f\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_5c179d3bfde4c521afc3d3944357db5ee881a69c237d67c9aa79aa7a027c40ea","typeString":"literal_string hex\"7f\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},{"typeIdentifier":"t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a","typeString":"literal_string hex\"00\""}],"expression":{"id":60653,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21833:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21837:12:64","memberName":"encodePacked","nodeType":"MemberAccess","src":"21833:16:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":60661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21833:231:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"21804:260:64"},{"assignments":[60664],"declarations":[{"constant":false,"id":60664,"mutability":"mutable","name":"routerCode","nameLocation":"22088:10:64","nodeType":"VariableDeclaration","scope":60757,"src":"22075:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60663,"name":"bytes","nodeType":"ElementaryTypeName","src":"22075:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60670,"initialValue":{"expression":{"arguments":[{"id":60667,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"22109:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":60666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22101:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60665,"name":"address","nodeType":"ElementaryTypeName","src":"22101:7:64","typeDescriptions":{}}},"id":60668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22101:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22117:4:64","memberName":"code","nodeType":"MemberAccess","src":"22101:20:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22075:46:64"},{"expression":{"arguments":[{"id":60674,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"22139:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60675,"name":"setTstoreCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60652,"src":"22147:13:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60671,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"22131:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22134:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"22131:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":60676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22131:30:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60677,"nodeType":"ExpressionStatement","src":"22131:30:64"},{"assignments":[60679,null],"declarations":[{"constant":false,"id":60679,"mutability":"mutable","name":"ok","nameLocation":"22177:2:64","nodeType":"VariableDeclaration","scope":60757,"src":"22172:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60678,"name":"bool","nodeType":"ElementaryTypeName","src":"22172:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":60684,"initialValue":{"arguments":[{"hexValue":"","id":60682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22196:2:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":60680,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"22184:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22191:4:64","memberName":"call","nodeType":"MemberAccess","src":"22184:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":60683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22184:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22171:28:64"},{"expression":{"arguments":[{"id":60686,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60679,"src":"22220:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7473746f726520736574206661696c6564","id":60687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22224:19:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0a850563faca8ad3bdae653f9fbfe36666eedb826c8c960046e6328aefa1fe7","typeString":"literal_string \"tstore set failed\""},"value":"tstore set failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0a850563faca8ad3bdae653f9fbfe36666eedb826c8c960046e6328aefa1fe7","typeString":"literal_string \"tstore set failed\""}],"id":60685,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"22209:10:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":60688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22209:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60689,"nodeType":"ExpressionStatement","src":"22209:35:64"},{"expression":{"arguments":[{"id":60693,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"22262:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60694,"name":"routerCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60664,"src":"22270:10:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60690,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"22254:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22257:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"22254:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":60695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22254:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60696,"nodeType":"ExpressionStatement","src":"22254:27:64"},{"assignments":[60698],"declarations":[{"constant":false,"id":60698,"mutability":"mutable","name":"data","nameLocation":"22305:4:64","nodeType":"VariableDeclaration","scope":60757,"src":"22292:17:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60697,"name":"bytes","nodeType":"ElementaryTypeName","src":"22292:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60714,"initialValue":{"arguments":[{"expression":{"expression":{"id":60701,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"22347:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22360:22:64","memberName":"validateOpHashAndSweep","nodeType":"MemberAccess","referencedDeclaration":50348,"src":"22347:35:64","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function TrailsRouter.validateOpHashAndSweep(bytes32,address,address) payable"}},"id":60703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22383:8:64","memberName":"selector","nodeType":"MemberAccess","src":"22347:44:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":60706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22401:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22393:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":60704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22393:7:64","typeDescriptions":{}}},"id":60707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22393:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":60710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22413:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22405:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60708,"name":"address","nodeType":"ElementaryTypeName","src":"22405:7:64","typeDescriptions":{}}},"id":60711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22405:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60712,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"22417:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60699,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22324:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22328:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22324:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":60713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22324:103:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22292:135:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22451:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22457:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22463:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22470:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"22437:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22440:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"22437:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22437:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60723,"nodeType":"ExpressionStatement","src":"22437:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":60727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22505:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22497:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60725,"name":"address","nodeType":"ElementaryTypeName","src":"22497:7:64","typeDescriptions":{}}},"id":60728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22497:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60729,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"22509:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"31","id":60730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22520:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":60724,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58889,"src":"22491:5:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":60731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22491:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60732,"nodeType":"EmitStatement","src":"22486:42:64"},{"expression":{"arguments":[{"id":60737,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60631,"src":"22593:6:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":60738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22601:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":60739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22604:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":60740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22607:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":60741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22610:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":60742,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60698,"src":"22613:4:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":60734,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"22558:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":60733,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"22538:19:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IDelegatedExtension_$48994_$","typeString":"type(contract IDelegatedExtension)"}},"id":60735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22538:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IDelegatedExtension_$48994","typeString":"contract IDelegatedExtension"}},"id":60736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22566:26:64","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":48993,"src":"22538:54:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":60743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22538:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60744,"nodeType":"ExpressionStatement","src":"22538:80:64"},{"expression":{"arguments":[{"expression":{"id":60746,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"22638:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22645:7:64","memberName":"balance","nodeType":"MemberAccess","src":"22638:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":60748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22654:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60745,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"22629:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22629:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60750,"nodeType":"ExpressionStatement","src":"22629:27:64"},{"expression":{"arguments":[{"expression":{"id":60752,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"22675:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22685:7:64","memberName":"balance","nodeType":"MemberAccess","src":"22675:17:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":60754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22694:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":60751,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"22666:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22666:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60756,"nodeType":"ExpressionStatement","src":"22666:36:64"}]},"functionSelector":"46798b95","implemented":true,"kind":"function","modifiers":[],"name":"test_validateOpHashAndSweep_native_success","nameLocation":"21113:42:64","parameters":{"id":60622,"nodeType":"ParameterList","parameters":[],"src":"21155:2:64"},"returnParameters":{"id":60623,"nodeType":"ParameterList","parameters":[],"src":"21165:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60939,"nodeType":"FunctionDefinition","src":"22715:1597:64","nodes":[],"body":{"id":60938,"nodeType":"Block","src":"22783:1529:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":60764,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"22884:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60761,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"22863:10:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreMode_$69517_$","typeString":"type(library TstoreMode)"}},"id":60763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22874:9:64","memberName":"setActive","nodeType":"MemberAccess","referencedDeclaration":69495,"src":"22863:20:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22863:28:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60766,"nodeType":"ExpressionStatement","src":"22863:28:64"},{"assignments":[60768],"declarations":[{"constant":false,"id":60768,"mutability":"mutable","name":"opHash","nameLocation":"22929:6:64","nodeType":"VariableDeclaration","scope":60938,"src":"22921:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22921:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":60772,"initialValue":{"arguments":[{"hexValue":"746573742d6f702d686173682d7473746f7265","id":60770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22948:21:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd81371","typeString":"literal_string \"test-op-hash-tstore\""},"value":"test-op-hash-tstore"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd81371","typeString":"literal_string \"test-op-hash-tstore\""}],"id":60769,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"22938:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":60771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22938:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"22921:49:64"},{"expression":{"arguments":[{"id":60776,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"22988:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"31","id":60777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22996:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"expression":{"id":60773,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"22980:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22983:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"22980:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22980:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60779,"nodeType":"ExpressionStatement","src":"22980:24:64"},{"assignments":[60781],"declarations":[{"constant":false,"id":60781,"mutability":"mutable","name":"slot","nameLocation":"23112:4:64","nodeType":"VariableDeclaration","scope":60938,"src":"23104:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23104:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":60789,"initialValue":{"arguments":[{"arguments":[{"id":60785,"name":"TEST_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58872,"src":"23140:14:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":60786,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60768,"src":"23156:6:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":60783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23129:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23133:6:64","memberName":"encode","nodeType":"MemberAccess","src":"23129:10:64","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":60787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23129:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":60782,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23119:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":60788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23119:45:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23104:60:64"},{"assignments":[60791],"declarations":[{"constant":false,"id":60791,"mutability":"mutable","name":"routerCode","nameLocation":"23187:10:64","nodeType":"VariableDeclaration","scope":60938,"src":"23174:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60790,"name":"bytes","nodeType":"ElementaryTypeName","src":"23174:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60797,"initialValue":{"expression":{"arguments":[{"id":60794,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"23208:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":60793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23200:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60792,"name":"address","nodeType":"ElementaryTypeName","src":"23200:7:64","typeDescriptions":{}}},"id":60795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23200:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23216:4:64","memberName":"code","nodeType":"MemberAccess","src":"23200:20:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"23174:46:64"},{"expression":{"arguments":[{"id":60801,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"23238:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"23254:16:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_TstoreSetter_$69454_$","typeString":"function () returns (contract TstoreSetter)"},"typeName":{"id":60805,"nodeType":"UserDefinedTypeName","pathNode":{"id":60804,"name":"TstoreSetter","nameLocations":["23258:12:64"],"nodeType":"IdentifierPath","referencedDeclaration":69454,"src":"23258:12:64"},"referencedDeclaration":69454,"src":"23258:12:64","typeDescriptions":{"typeIdentifier":"t_contract$_TstoreSetter_$69454","typeString":"contract TstoreSetter"}}},"id":60807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23254:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TstoreSetter_$69454","typeString":"contract TstoreSetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TstoreSetter_$69454","typeString":"contract TstoreSetter"}],"id":60803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23246:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60802,"name":"address","nodeType":"ElementaryTypeName","src":"23246:7:64","typeDescriptions":{}}},"id":60808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23246:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23274:4:64","memberName":"code","nodeType":"MemberAccess","src":"23246:32:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60798,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"23230:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23233:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"23230:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":60810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23230:49:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60811,"nodeType":"ExpressionStatement","src":"23230:49:64"},{"assignments":[60813,null],"declarations":[{"constant":false,"id":60813,"mutability":"mutable","name":"ok","nameLocation":"23295:2:64","nodeType":"VariableDeclaration","scope":60938,"src":"23290:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60812,"name":"bool","nodeType":"ElementaryTypeName","src":"23290:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":60825,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":60818,"name":"TstoreSetter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69454,"src":"23337:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreSetter_$69454_$","typeString":"type(contract TstoreSetter)"}},"id":60819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23350:3:64","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":69453,"src":"23337:16:64","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function TstoreSetter.set(bytes32,bytes32)"}},"id":60820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23354:8:64","memberName":"selector","nodeType":"MemberAccess","src":"23337:25:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":60821,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60781,"src":"23364:4:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":60822,"name":"TEST_SUCCESS_VALUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58881,"src":"23370:18:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":60816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23314:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23318:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"23314:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":60823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23314:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60814,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"23302:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23309:4:64","memberName":"call","nodeType":"MemberAccess","src":"23302:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":60824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23302:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"23289:101:64"},{"expression":{"arguments":[{"id":60827,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60813,"src":"23411:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7473746f726520736574206661696c6564","id":60828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23415:19:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0a850563faca8ad3bdae653f9fbfe36666eedb826c8c960046e6328aefa1fe7","typeString":"literal_string \"tstore set failed\""},"value":"tstore set failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0a850563faca8ad3bdae653f9fbfe36666eedb826c8c960046e6328aefa1fe7","typeString":"literal_string \"tstore set failed\""}],"id":60826,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"23400:10:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":60829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23400:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60830,"nodeType":"ExpressionStatement","src":"23400:35:64"},{"expression":{"arguments":[{"id":60834,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"23453:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60835,"name":"routerCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60791,"src":"23461:10:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60831,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"23445:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23448:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"23445:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":60836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23445:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60837,"nodeType":"ExpressionStatement","src":"23445:27:64"},{"assignments":[60839],"declarations":[{"constant":false,"id":60839,"mutability":"mutable","name":"data","nameLocation":"23536:4:64","nodeType":"VariableDeclaration","scope":60938,"src":"23523:17:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60838,"name":"bytes","nodeType":"ElementaryTypeName","src":"23523:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60855,"initialValue":{"arguments":[{"expression":{"expression":{"id":60842,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"23578:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23591:22:64","memberName":"validateOpHashAndSweep","nodeType":"MemberAccess","referencedDeclaration":50348,"src":"23578:35:64","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function TrailsRouter.validateOpHashAndSweep(bytes32,address,address) payable"}},"id":60844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23614:8:64","memberName":"selector","nodeType":"MemberAccess","src":"23578:44:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":60847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23632:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23624:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":60845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23624:7:64","typeDescriptions":{}}},"id":60848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23624:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":60851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23644:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23636:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60849,"name":"address","nodeType":"ElementaryTypeName","src":"23636:7:64","typeDescriptions":{}}},"id":60852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23636:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60853,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"23648:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23555:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23559:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"23555:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":60854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23555:103:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"23523:135:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23682:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23688:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23694:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23701:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60856,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"23668:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23671:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"23668:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23668:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60864,"nodeType":"ExpressionStatement","src":"23668:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":60868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23736:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23728:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60866,"name":"address","nodeType":"ElementaryTypeName","src":"23728:7:64","typeDescriptions":{}}},"id":60869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23728:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60870,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"23740:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"31","id":60871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23751:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":60865,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58889,"src":"23722:5:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":60872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23722:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60873,"nodeType":"EmitStatement","src":"23717:42:64"},{"expression":{"arguments":[{"id":60878,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60768,"src":"23824:6:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":60879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23832:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":60880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23835:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":60881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23838:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":60882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23841:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":60883,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60839,"src":"23844:4:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":60875,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"23789:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":60874,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"23769:19:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IDelegatedExtension_$48994_$","typeString":"type(contract IDelegatedExtension)"}},"id":60876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23769:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IDelegatedExtension_$48994","typeString":"contract IDelegatedExtension"}},"id":60877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23797:26:64","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":48993,"src":"23769:54:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":60884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23769:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60885,"nodeType":"ExpressionStatement","src":"23769:80:64"},{"assignments":[60887],"declarations":[{"constant":false,"id":60887,"mutability":"mutable","name":"storedS","nameLocation":"23942:7:64","nodeType":"VariableDeclaration","scope":60938,"src":"23934:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60886,"name":"uint256","nodeType":"ElementaryTypeName","src":"23934:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60896,"initialValue":{"arguments":[{"arguments":[{"id":60892,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"23968:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60893,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60781,"src":"23976:4:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":60890,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"23960:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23963:4:64","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"23960:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":60894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23960:21:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":60889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23952:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":60888,"name":"uint256","nodeType":"ElementaryTypeName","src":"23952:7:64","typeDescriptions":{}}},"id":60895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23952:30:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23934:48:64"},{"expression":{"arguments":[{"id":60898,"name":"storedS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60887,"src":"24001:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":60899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24010:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60897,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"23992:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23992:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60901,"nodeType":"ExpressionStatement","src":"23992:20:64"},{"expression":{"arguments":[{"expression":{"id":60903,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"24031:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24038:7:64","memberName":"balance","nodeType":"MemberAccess","src":"24031:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":60905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24047:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60902,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"24022:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24022:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60907,"nodeType":"ExpressionStatement","src":"24022:27:64"},{"expression":{"arguments":[{"expression":{"id":60909,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"24068:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":60910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24078:7:64","memberName":"balance","nodeType":"MemberAccess","src":"24068:17:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":60911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24087:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":60908,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"24059:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24059:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60913,"nodeType":"ExpressionStatement","src":"24059:36:64"},{"expression":{"id":60922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60914,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60781,"src":"24132:4:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":60919,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60768,"src":"24177:6:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":60917,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"24147:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":60918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24165:11:64","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"24147:29:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":60920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24147:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24139:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":60915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24139:7:64","typeDescriptions":{}}},"id":60921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24139:46:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"24132:53:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":60923,"nodeType":"ExpressionStatement","src":"24132:53:64"},{"assignments":[60925],"declarations":[{"constant":false,"id":60925,"mutability":"mutable","name":"storedT","nameLocation":"24203:7:64","nodeType":"VariableDeclaration","scope":60938,"src":"24195:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60924,"name":"uint256","nodeType":"ElementaryTypeName","src":"24195:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60931,"initialValue":{"arguments":[{"id":60928,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"24232:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60929,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60781,"src":"24240:4:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":60926,"name":"TstoreRead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69588,"src":"24213:10:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreRead_$69588_$","typeString":"type(library TstoreRead)"}},"id":60927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24224:7:64","memberName":"tloadAt","nodeType":"MemberAccess","referencedDeclaration":69587,"src":"24213:18:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,bytes32) returns (uint256)"}},"id":60930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24213:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24195:50:64"},{"expression":{"arguments":[{"id":60933,"name":"storedT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60925,"src":"24264:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":60934,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"24273:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":60935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24291:13:64","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"24273:31:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60932,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"24255:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":60936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24255:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60937,"nodeType":"ExpressionStatement","src":"24255:50:64"}]},"functionSelector":"aebb1844","implemented":true,"kind":"function","modifiers":[],"name":"test_validateOpHashAndSweep_native_success_tstore","nameLocation":"22724:49:64","parameters":{"id":60759,"nodeType":"ParameterList","parameters":[],"src":"22773:2:64"},"returnParameters":{"id":60760,"nodeType":"ParameterList","parameters":[],"src":"22783:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61013,"nodeType":"FunctionDefinition","src":"24318:535:64","nodes":[],"body":{"id":61012,"nodeType":"Block","src":"24395:458:64","nodes":[],"statements":[{"assignments":[60943],"declarations":[{"constant":false,"id":60943,"mutability":"mutable","name":"amount","nameLocation":"24413:6:64","nodeType":"VariableDeclaration","scope":61012,"src":"24405:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60942,"name":"uint256","nodeType":"ElementaryTypeName","src":"24405:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60945,"initialValue":{"hexValue":"31","id":60944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24422:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"24405:24:64"},{"expression":{"arguments":[{"id":60949,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"24447:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60950,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60943,"src":"24455:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60946,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"24439:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24442:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"24439:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24439:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60952,"nodeType":"ExpressionStatement","src":"24439:23:64"},{"assignments":[60954],"declarations":[{"constant":false,"id":60954,"mutability":"mutable","name":"data","nameLocation":"24486:4:64","nodeType":"VariableDeclaration","scope":61012,"src":"24473:17:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60953,"name":"bytes","nodeType":"ElementaryTypeName","src":"24473:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60966,"initialValue":{"arguments":[{"expression":{"expression":{"id":60957,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"24516:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":60958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24529:5:64","memberName":"sweep","nodeType":"MemberAccess","referencedDeclaration":50193,"src":"24516:18:64","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_address_$_t_address_$returns$__$","typeString":"function TrailsRouter.sweep(address,address) payable"}},"id":60959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24535:8:64","memberName":"selector","nodeType":"MemberAccess","src":"24516:27:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":60962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24553:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24545:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60960,"name":"address","nodeType":"ElementaryTypeName","src":"24545:7:64","typeDescriptions":{}}},"id":60963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24545:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60964,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"24557:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":60955,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24493:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24497:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"24493:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":60965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24493:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"24473:94:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":60970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"24592:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":60971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"24598:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":60972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"24604:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":60973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"24611:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":60967,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"24578:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":60969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24581:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"24578:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":60974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24578:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60975,"nodeType":"ExpressionStatement","src":"24578:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":60979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24646:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24638:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60977,"name":"address","nodeType":"ElementaryTypeName","src":"24638:7:64","typeDescriptions":{}}},"id":60980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24638:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60981,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"24650:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":60982,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60943,"src":"24661:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60976,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58889,"src":"24632:5:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":60983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24632:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60984,"nodeType":"EmitStatement","src":"24627:41:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":60991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24742:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24734:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":60989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24734:7:64","typeDescriptions":{}}},"id":60992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24734:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":60993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24746:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":60994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24749:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":60995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24752:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":60996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24755:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":60997,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60954,"src":"24758:4:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":60986,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"24699:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":60985,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"24679:19:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IDelegatedExtension_$48994_$","typeString":"type(contract IDelegatedExtension)"}},"id":60987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24679:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IDelegatedExtension_$48994","typeString":"contract IDelegatedExtension"}},"id":60988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24707:26:64","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":48993,"src":"24679:54:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":60998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24679:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60999,"nodeType":"ExpressionStatement","src":"24679:84:64"},{"expression":{"arguments":[{"expression":{"id":61001,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"24783:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24790:7:64","memberName":"balance","nodeType":"MemberAccess","src":"24783:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24799:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61000,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"24774:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24774:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61005,"nodeType":"ExpressionStatement","src":"24774:27:64"},{"expression":{"arguments":[{"expression":{"id":61007,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"24820:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24830:7:64","memberName":"balance","nodeType":"MemberAccess","src":"24820:17:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61009,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60943,"src":"24839:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61006,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"24811:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24811:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61011,"nodeType":"ExpressionStatement","src":"24811:35:64"}]},"functionSelector":"7b936a84","implemented":true,"kind":"function","modifiers":[],"name":"test_handleSequenceDelegateCall_dispatches_to_sweep_native","nameLocation":"24327:58:64","parameters":{"id":60940,"nodeType":"ParameterList","parameters":[],"src":"24385:2:64"},"returnParameters":{"id":60941,"nodeType":"ParameterList","parameters":[],"src":"24395:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61051,"nodeType":"FunctionDefinition","src":"24859:337:64","nodes":[],"body":{"id":61050,"nodeType":"Block","src":"24934:262:64","nodes":[],"statements":[{"assignments":[61017],"declarations":[{"constant":false,"id":61017,"mutability":"mutable","name":"data","nameLocation":"24957:4:64","nodeType":"VariableDeclaration","scope":61050,"src":"24944:17:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61016,"name":"bytes","nodeType":"ElementaryTypeName","src":"24944:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61019,"initialValue":{"hexValue":"deadbeef","id":61018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"24964:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4fd4e189132273036449fc9e11198c739161b4c0116a9a2dccdfa1c492006f1","typeString":"literal_string hex\"deadbeef\""}},"nodeType":"VariableDeclarationStatement","src":"24944:33:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61025,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"25027:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25040:24:64","memberName":"InvalidDelegatedSelector","nodeType":"MemberAccess","referencedDeclaration":49729,"src":"25027:37:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes4_$returns$_t_error_$","typeString":"function (bytes4) pure returns (error)"}},"id":61027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25065:8:64","memberName":"selector","nodeType":"MemberAccess","src":"25027:46:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30786465616462656566","id":61030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25082:10:64","typeDescriptions":{"typeIdentifier":"t_rational_3735928559_by_1","typeString":"int_const 3735928559"},"value":"0xdeadbeef"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3735928559_by_1","typeString":"int_const 3735928559"}],"id":61029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25075:6:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":61028,"name":"bytes4","nodeType":"ElementaryTypeName","src":"25075:6:64","typeDescriptions":{}}},"id":61031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25075:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25004:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25008:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"25004:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25004:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61020,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"24988:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24991:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"24988:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24988:107:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61034,"nodeType":"ExpressionStatement","src":"24988:107:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":61041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25168:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25160:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":61039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25160:7:64","typeDescriptions":{}}},"id":61042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25160:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":61043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25172:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25175:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25178:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25181:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":61047,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61017,"src":"25184:4:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":61036,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"25125:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61035,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"25105:19:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IDelegatedExtension_$48994_$","typeString":"type(contract IDelegatedExtension)"}},"id":61037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25105:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IDelegatedExtension_$48994","typeString":"contract IDelegatedExtension"}},"id":61038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25133:26:64","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":48993,"src":"25105:54:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":61048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25105:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61049,"nodeType":"ExpressionStatement","src":"25105:84:64"}]},"functionSelector":"41fe9ff4","implemented":true,"kind":"function","modifiers":[],"name":"test_handleSequenceDelegateCall_invalid_selector_reverts","nameLocation":"24868:56:64","parameters":{"id":61014,"nodeType":"ParameterList","parameters":[],"src":"24924:2:64"},"returnParameters":{"id":61015,"nodeType":"ParameterList","parameters":[],"src":"24934:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61073,"nodeType":"FunctionDefinition","src":"25202:182:64","nodes":[],"body":{"id":61072,"nodeType":"Block","src":"25263:121:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"expression":{"id":61057,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"25289:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DelegatecallGuard_$51143_$","typeString":"type(contract DelegatecallGuard)"}},"id":61058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25307:15:64","memberName":"NotDelegateCall","nodeType":"MemberAccess","referencedDeclaration":51112,"src":"25289:33:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25323:8:64","memberName":"selector","nodeType":"MemberAccess","src":"25289:42:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61054,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"25273:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25276:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"25273:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25273:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61061,"nodeType":"ExpressionStatement","src":"25273:59:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":61067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25363:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25355:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61065,"name":"address","nodeType":"ElementaryTypeName","src":"25355:7:64","typeDescriptions":{}}},"id":61068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25355:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61069,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"25367:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":61062,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"25342:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25349:5:64","memberName":"sweep","nodeType":"MemberAccess","referencedDeclaration":50193,"src":"25342:12:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) payable external"}},"id":61070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25342:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61071,"nodeType":"ExpressionStatement","src":"25342:35:64"}]},"functionSelector":"c3815945","implemented":true,"kind":"function","modifiers":[],"name":"test_direct_sweep_reverts_not_delegatecall","nameLocation":"25211:42:64","parameters":{"id":61052,"nodeType":"ParameterList","parameters":[],"src":"25253:2:64"},"returnParameters":{"id":61053,"nodeType":"ParameterList","parameters":[],"src":"25263:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61128,"nodeType":"FunctionDefinition","src":"25390:572:64","nodes":[],"body":{"id":61127,"nodeType":"Block","src":"25436:526:64","nodes":[],"statements":[{"assignments":[61078],"declarations":[{"constant":false,"id":61078,"mutability":"mutable","name":"revertingReceiver","nameLocation":"25464:17:64","nodeType":"VariableDeclaration","scope":61127,"src":"25446:35:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"},"typeName":{"id":61077,"nodeType":"UserDefinedTypeName","pathNode":{"id":61076,"name":"RevertingReceiver","nameLocations":["25446:17:64"],"nodeType":"IdentifierPath","referencedDeclaration":58608,"src":"25446:17:64"},"referencedDeclaration":58608,"src":"25446:17:64","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}},"visibility":"internal"}],"id":61083,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":61081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"25484:21:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RevertingReceiver_$58608_$","typeString":"function () returns (contract RevertingReceiver)"},"typeName":{"id":61080,"nodeType":"UserDefinedTypeName","pathNode":{"id":61079,"name":"RevertingReceiver","nameLocations":["25488:17:64"],"nodeType":"IdentifierPath","referencedDeclaration":58608,"src":"25488:17:64"},"referencedDeclaration":58608,"src":"25488:17:64","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}}},"id":61082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25484:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}},"nodeType":"VariableDeclarationStatement","src":"25446:61:64"},{"expression":{"arguments":[{"id":61087,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"25567:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"31","id":61088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25575:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"expression":{"id":61084,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"25559:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25562:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25559:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25559:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61090,"nodeType":"ExpressionStatement","src":"25559:24:64"},{"expression":{"arguments":[{"expression":{"id":61092,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"25636:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25643:7:64","memberName":"balance","nodeType":"MemberAccess","src":"25636:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":61094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25652:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":61091,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"25627:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25627:33:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61096,"nodeType":"ExpressionStatement","src":"25627:33:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":61100,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"25687:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25700:20:64","memberName":"NativeTransferFailed","nodeType":"MemberAccess","referencedDeclaration":49725,"src":"25687:33:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25721:8:64","memberName":"selector","nodeType":"MemberAccess","src":"25687:42:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61097,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"25671:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25674:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"25671:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25671:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61104,"nodeType":"ExpressionStatement","src":"25671:59:64"},{"assignments":[61106,null],"declarations":[{"constant":false,"id":61106,"mutability":"mutable","name":"success","nameLocation":"25816:7:64","nodeType":"VariableDeclaration","scope":61127,"src":"25811:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61105,"name":"bool","nodeType":"ElementaryTypeName","src":"25811:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":61124,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61111,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"25875:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25882:5:64","memberName":"sweep","nodeType":"MemberAccess","referencedDeclaration":50193,"src":"25875:12:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) payable external"}},"id":61113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25888:8:64","memberName":"selector","nodeType":"MemberAccess","src":"25875:21:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":61116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25906:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25898:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61114,"name":"address","nodeType":"ElementaryTypeName","src":"25898:7:64","typeDescriptions":{}}},"id":61117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25898:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":61120,"name":"revertingReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61078,"src":"25918:17:64","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}],"id":61119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25910:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61118,"name":"address","nodeType":"ElementaryTypeName","src":"25910:7:64","typeDescriptions":{}}},"id":61121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25910:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61109,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25852:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25856:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"25852:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25852:85:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61107,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"25840:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25847:4:64","memberName":"call","nodeType":"MemberAccess","src":"25840:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":61123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25840:98:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"25810:128:64"},{"expression":{"id":61125,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61106,"src":"25948:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61126,"nodeType":"ExpressionStatement","src":"25948:7:64"}]},"functionSelector":"f1b7f01f","implemented":true,"kind":"function","modifiers":[],"name":"test_native_transfer_failed","nameLocation":"25399:27:64","parameters":{"id":61074,"nodeType":"ParameterList","parameters":[],"src":"25426:2:64"},"returnParameters":{"id":61075,"nodeType":"ParameterList","parameters":[],"src":"25436:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61174,"nodeType":"FunctionDefinition","src":"25968:493:64","nodes":[],"body":{"id":61173,"nodeType":"Block","src":"26016:445:64","nodes":[],"statements":[{"assignments":[61132],"declarations":[{"constant":false,"id":61132,"mutability":"mutable","name":"opHash","nameLocation":"26034:6:64","nodeType":"VariableDeclaration","scope":61173,"src":"26026:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26026:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":61136,"initialValue":{"arguments":[{"hexValue":"74657374206f7065726174696f6e","id":61134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26053:16:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b30d459a6b00a49186844b25c929ca3bb6dacc26a607cc6fd07c1cd084247c5e","typeString":"literal_string \"test operation\""},"value":"test operation"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b30d459a6b00a49186844b25c929ca3bb6dacc26a607cc6fd07c1cd084247c5e","typeString":"literal_string \"test operation\""}],"id":61133,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"26043:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":61135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26043:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"26026:44:64"},{"assignments":[61138],"declarations":[{"constant":false,"id":61138,"mutability":"mutable","name":"token","nameLocation":"26088:5:64","nodeType":"VariableDeclaration","scope":61173,"src":"26080:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61137,"name":"address","nodeType":"ElementaryTypeName","src":"26080:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":61143,"initialValue":{"arguments":[{"id":61141,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"26104:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":61140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26096:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61139,"name":"address","nodeType":"ElementaryTypeName","src":"26096:7:64","typeDescriptions":{}}},"id":61142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26096:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26080:34:64"},{"assignments":[61145],"declarations":[{"constant":false,"id":61145,"mutability":"mutable","name":"recipientAddr","nameLocation":"26132:13:64","nodeType":"VariableDeclaration","scope":61173,"src":"26124:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61144,"name":"address","nodeType":"ElementaryTypeName","src":"26124:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":61147,"initialValue":{"id":61146,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"26148:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"26124:33:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":61151,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"26184:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26197:21:64","memberName":"SuccessSentinelNotSet","nodeType":"MemberAccess","referencedDeclaration":49739,"src":"26184:34:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26219:8:64","memberName":"selector","nodeType":"MemberAccess","src":"26184:43:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61148,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"26168:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26171:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"26168:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26168:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61155,"nodeType":"ExpressionStatement","src":"26168:60:64"},{"assignments":[61157,null],"declarations":[{"constant":false,"id":61157,"mutability":"mutable","name":"success","nameLocation":"26308:7:64","nodeType":"VariableDeclaration","scope":61173,"src":"26303:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61156,"name":"bool","nodeType":"ElementaryTypeName","src":"26303:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":61170,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61162,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"26367:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26374:22:64","memberName":"validateOpHashAndSweep","nodeType":"MemberAccess","referencedDeclaration":50348,"src":"26367:29:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address) payable external"}},"id":61164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26397:8:64","memberName":"selector","nodeType":"MemberAccess","src":"26367:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":61165,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61132,"src":"26407:6:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61166,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61138,"src":"26415:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61167,"name":"recipientAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61145,"src":"26422:13:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61160,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26344:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26348:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"26344:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26344:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61158,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"26332:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26339:4:64","memberName":"call","nodeType":"MemberAccess","src":"26332:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":61169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26332:105:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"26302:135:64"},{"expression":{"id":61171,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61157,"src":"26447:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61172,"nodeType":"ExpressionStatement","src":"26447:7:64"}]},"functionSelector":"7fc4fcce","implemented":true,"kind":"function","modifiers":[],"name":"test_success_sentinel_not_set","nameLocation":"25977:29:64","parameters":{"id":61129,"nodeType":"ParameterList","parameters":[],"src":"26006:2:64"},"returnParameters":{"id":61130,"nodeType":"ParameterList","parameters":[],"src":"26016:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61244,"nodeType":"FunctionDefinition","src":"26467:689:64","nodes":[],"body":{"id":61243,"nodeType":"Block","src":"26508:648:64","nodes":[],"statements":[{"assignments":[61178],"declarations":[{"constant":false,"id":61178,"mutability":"mutable","name":"token","nameLocation":"26526:5:64","nodeType":"VariableDeclaration","scope":61243,"src":"26518:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61177,"name":"address","nodeType":"ElementaryTypeName","src":"26518:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":61189,"initialValue":{"arguments":[{"arguments":[{"hexValue":"54657374","id":61184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26556:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},"value":"Test"},{"hexValue":"545354","id":61185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26564:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},"value":"TST"},{"hexValue":"3138","id":61186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26571:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":61183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"26542:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":61182,"nodeType":"UserDefinedTypeName","pathNode":{"id":61181,"name":"MockERC20","nameLocations":["26546:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"26546:9:64"},"referencedDeclaration":68037,"src":"26546:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":61187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26542:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":61180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26534:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61179,"name":"address","nodeType":"ElementaryTypeName","src":"26534:7:64","typeDescriptions":{}}},"id":61188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26534:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26518:57:64"},{"assignments":[61195],"declarations":[{"constant":false,"id":61195,"mutability":"mutable","name":"calls","nameLocation":"26743:5:64","nodeType":"VariableDeclaration","scope":61243,"src":"26716:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":61193,"nodeType":"UserDefinedTypeName","pathNode":{"id":61192,"name":"IMulticall3.Call3","nameLocations":["26716:11:64","26728:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"26716:17:64"},"referencedDeclaration":51153,"src":"26716:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61194,"nodeType":"ArrayTypeName","src":"26716:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":61202,"initialValue":{"arguments":[{"hexValue":"31","id":61200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26775:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"26751:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":61197,"nodeType":"UserDefinedTypeName","pathNode":{"id":61196,"name":"IMulticall3.Call3","nameLocations":["26755:11:64","26767:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"26755:17:64"},"referencedDeclaration":51153,"src":"26755:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61198,"nodeType":"ArrayTypeName","src":"26755:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":61201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26751:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"26716:61:64"},{"expression":{"id":61218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61203,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61195,"src":"26787:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":61205,"indexExpression":{"hexValue":"30","id":61204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26793:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"26787:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61210,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"26846:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":61209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26838:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61208,"name":"address","nodeType":"ElementaryTypeName","src":"26838:7:64","typeDescriptions":{}}},"id":61211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26838:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":61212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"26869:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":61215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26910:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":61213,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26886:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26890:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26886:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26886:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61206,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"26798:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":61207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26810:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"26798:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":61217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["26830:6:64","26855:12:64","26876:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"26798:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"26787:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":61219,"nodeType":"ExpressionStatement","src":"26787:148:64"},{"assignments":[61221],"declarations":[{"constant":false,"id":61221,"mutability":"mutable","name":"callData","nameLocation":"26958:8:64","nodeType":"VariableDeclaration","scope":61243,"src":"26945:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61220,"name":"bytes","nodeType":"ElementaryTypeName","src":"26945:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61227,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":61224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26993:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":61225,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61195,"src":"27031:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":61222,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26969:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26973:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26969:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26969:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"26945:92:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":61231,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"27064:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27077:14:64","memberName":"NoTokensToPull","nodeType":"MemberAccess","referencedDeclaration":49743,"src":"27064:27:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27092:8:64","memberName":"selector","nodeType":"MemberAccess","src":"27064:36:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61228,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"27048:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27051:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"27048:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27048:53:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61235,"nodeType":"ExpressionStatement","src":"27048:53:64"},{"expression":{"arguments":[{"id":61239,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61178,"src":"27133:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61240,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61221,"src":"27140:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61236,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"27111:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27118:14:64","memberName":"pullAndExecute","nodeType":"MemberAccess","referencedDeclaration":49863,"src":"27111:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27111:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":61242,"nodeType":"ExpressionStatement","src":"27111:38:64"}]},"functionSelector":"04731fb9","implemented":true,"kind":"function","modifiers":[],"name":"test_no_tokens_to_pull","nameLocation":"26476:22:64","parameters":{"id":61175,"nodeType":"ParameterList","parameters":[],"src":"26498:2:64"},"returnParameters":{"id":61176,"nodeType":"ParameterList","parameters":[],"src":"26508:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61320,"nodeType":"FunctionDefinition","src":"27162:634:64","nodes":[],"body":{"id":61319,"nodeType":"Block","src":"27204:592:64","nodes":[],"statements":[{"assignments":[61248],"declarations":[{"constant":false,"id":61248,"mutability":"mutable","name":"token","nameLocation":"27222:5:64","nodeType":"VariableDeclaration","scope":61319,"src":"27214:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61247,"name":"address","nodeType":"ElementaryTypeName","src":"27214:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":61259,"initialValue":{"arguments":[{"arguments":[{"hexValue":"54657374","id":61254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27252:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},"value":"Test"},{"hexValue":"545354","id":61255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27260:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},"value":"TST"},{"hexValue":"3138","id":61256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27267:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":61253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"27238:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":61252,"nodeType":"UserDefinedTypeName","pathNode":{"id":61251,"name":"MockERC20","nameLocations":["27242:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"27242:9:64"},"referencedDeclaration":68037,"src":"27242:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":61257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27238:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":61250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27230:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61249,"name":"address","nodeType":"ElementaryTypeName","src":"27230:7:64","typeDescriptions":{}}},"id":61258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27230:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"27214:57:64"},{"assignments":[61262],"declarations":[{"constant":false,"id":61262,"mutability":"mutable","name":"mockTarget","nameLocation":"27329:10:64","nodeType":"VariableDeclaration","scope":61319,"src":"27318:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"},"typeName":{"id":61261,"nodeType":"UserDefinedTypeName","pathNode":{"id":61260,"name":"MockTarget","nameLocations":["27318:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"27318:10:64"},"referencedDeclaration":58706,"src":"27318:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"visibility":"internal"}],"id":61271,"initialValue":{"arguments":[{"arguments":[{"id":61268,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61248,"src":"27365:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27357:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61266,"name":"address","nodeType":"ElementaryTypeName","src":"27357:7:64","typeDescriptions":{}}},"id":61269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27357:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"27342:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockTarget_$58706_$","typeString":"function (address) returns (contract MockTarget)"},"typeName":{"id":61264,"nodeType":"UserDefinedTypeName","pathNode":{"id":61263,"name":"MockTarget","nameLocations":["27346:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"27346:10:64"},"referencedDeclaration":58706,"src":"27346:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}},"id":61270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27342:30:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"nodeType":"VariableDeclarationStatement","src":"27318:54:64"},{"assignments":[61273],"declarations":[{"constant":false,"id":61273,"mutability":"mutable","name":"callData","nameLocation":"27395:8:64","nodeType":"VariableDeclaration","scope":61319,"src":"27382:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61272,"name":"bytes","nodeType":"ElementaryTypeName","src":"27382:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61285,"initialValue":{"arguments":[{"expression":{"expression":{"id":61276,"name":"mockTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61262,"src":"27429:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"id":61277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27440:7:64","memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":58705,"src":"27429:18:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":61278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27448:8:64","memberName":"selector","nodeType":"MemberAccess","src":"27429:27:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"313030","id":61279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27458:3:64","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"arguments":[{"hexValue":"30","id":61282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27471:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27463:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61280,"name":"address","nodeType":"ElementaryTypeName","src":"27463:7:64","typeDescriptions":{}}},"id":61283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27463:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61274,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27406:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27410:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"27406:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27406:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"27382:92:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":61289,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"27501:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27514:15:64","memberName":"NoTokensToSweep","nodeType":"MemberAccess","referencedDeclaration":49751,"src":"27501:28:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27530:8:64","memberName":"selector","nodeType":"MemberAccess","src":"27501:37:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"27485:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27488:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"27485:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27485:54:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61293,"nodeType":"ExpressionStatement","src":"27485:54:64"},{"assignments":[61295,null],"declarations":[{"constant":false,"id":61295,"mutability":"mutable","name":"success","nameLocation":"27619:7:64","nodeType":"VariableDeclaration","scope":61319,"src":"27614:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61294,"name":"bool","nodeType":"ElementaryTypeName","src":"27614:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":61316,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61300,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"27679:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27686:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"27679:20:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":61302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27700:8:64","memberName":"selector","nodeType":"MemberAccess","src":"27679:29:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":61303,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61248,"src":"27710:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":61306,"name":"mockTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61262,"src":"27725:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":61305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27717:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61304,"name":"address","nodeType":"ElementaryTypeName","src":"27717:7:64","typeDescriptions":{}}},"id":61307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27717:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61308,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61273,"src":"27738:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":61309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27748:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":61312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27759:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27751:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":61310,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27751:7:64","typeDescriptions":{}}},"id":61313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27751:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":61298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27656:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27660:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"27656:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27656:106:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61296,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"27631:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27638:4:64","memberName":"call","nodeType":"MemberAccess","src":"27631:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":61315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27631:141:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"27613:159:64"},{"expression":{"id":61317,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61295,"src":"27782:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61318,"nodeType":"ExpressionStatement","src":"27782:7:64"}]},"functionSelector":"73fda24c","implemented":true,"kind":"function","modifiers":[],"name":"test_no_tokens_to_sweep","nameLocation":"27171:23:64","parameters":{"id":61245,"nodeType":"ParameterList","parameters":[],"src":"27194:2:64"},"returnParameters":{"id":61246,"nodeType":"ParameterList","parameters":[],"src":"27204:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61383,"nodeType":"FunctionDefinition","src":"27802:862:64","nodes":[],"body":{"id":61382,"nodeType":"Block","src":"27853:811:64","nodes":[],"statements":[{"assignments":[61325],"declarations":[{"constant":false,"id":61325,"mutability":"mutable","name":"mockTarget","nameLocation":"27874:10:64","nodeType":"VariableDeclaration","scope":61382,"src":"27863:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"},"typeName":{"id":61324,"nodeType":"UserDefinedTypeName","pathNode":{"id":61323,"name":"MockTarget","nameLocations":["27863:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"27863:10:64"},"referencedDeclaration":58706,"src":"27863:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"visibility":"internal"}],"id":61334,"initialValue":{"arguments":[{"arguments":[{"id":61331,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"27910:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":61330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27902:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61329,"name":"address","nodeType":"ElementaryTypeName","src":"27902:7:64","typeDescriptions":{}}},"id":61332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27902:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"27887:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockTarget_$58706_$","typeString":"function (address) returns (contract MockTarget)"},"typeName":{"id":61327,"nodeType":"UserDefinedTypeName","pathNode":{"id":61326,"name":"MockTarget","nameLocations":["27891:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"27891:10:64"},"referencedDeclaration":58706,"src":"27891:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}},"id":61333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27887:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"nodeType":"VariableDeclarationStatement","src":"27863:58:64"},{"assignments":[61336],"declarations":[{"constant":false,"id":61336,"mutability":"mutable","name":"callData","nameLocation":"28009:8:64","nodeType":"VariableDeclaration","scope":61382,"src":"27996:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61335,"name":"bytes","nodeType":"ElementaryTypeName","src":"27996:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61338,"initialValue":{"hexValue":"12345678","id":61337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"28020:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_30ca65d5da355227c97ff836c9c6719af9d3835fc6bc72bddc50eeecc1bb2b25","typeString":"literal_string hex\"12345678\""},"value":"\u00124Vx"},"nodeType":"VariableDeclarationStatement","src":"27996:37:64"},{"assignments":[61340],"declarations":[{"constant":false,"id":61340,"mutability":"mutable","name":"amountOffset","nameLocation":"28106:12:64","nodeType":"VariableDeclaration","scope":61382,"src":"28098:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61339,"name":"uint256","nodeType":"ElementaryTypeName","src":"28098:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61342,"initialValue":{"hexValue":"3336","id":61341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28121:2:64","typeDescriptions":{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"},"value":"36"},"nodeType":"VariableDeclarationStatement","src":"28098:25:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":61346,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"28209:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28222:23:64","memberName":"AmountOffsetOutOfBounds","nodeType":"MemberAccess","referencedDeclaration":49753,"src":"28209:36:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28246:8:64","memberName":"selector","nodeType":"MemberAccess","src":"28209:45:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"28193:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28196:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"28193:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28193:62:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61350,"nodeType":"ExpressionStatement","src":"28193:62:64"},{"assignments":[61352,null],"declarations":[{"constant":false,"id":61352,"mutability":"mutable","name":"success","nameLocation":"28335:7:64","nodeType":"VariableDeclaration","scope":61382,"src":"28330:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61351,"name":"bool","nodeType":"ElementaryTypeName","src":"28330:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":61379,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61357,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"28412:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28419:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"28412:20:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":61359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28433:8:64","memberName":"selector","nodeType":"MemberAccess","src":"28412:29:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":61362,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"28467:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":61361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28459:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61360,"name":"address","nodeType":"ElementaryTypeName","src":"28459:7:64","typeDescriptions":{}}},"id":61363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28459:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":61366,"name":"mockTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61325,"src":"28503:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":61365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28495:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61364,"name":"address","nodeType":"ElementaryTypeName","src":"28495:7:64","typeDescriptions":{}}},"id":61367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28495:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61368,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61336,"src":"28532:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":61369,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61340,"src":"28558:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"hexValue":"30786465616462656566","id":61374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28604:10:64","typeDescriptions":{"typeIdentifier":"t_rational_3735928559_by_1","typeString":"int_const 3735928559"},"value":"0xdeadbeef"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3735928559_by_1","typeString":"int_const 3735928559"}],"id":61373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28596:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":61372,"name":"uint256","nodeType":"ElementaryTypeName","src":"28596:7:64","typeDescriptions":{}}},"id":61375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28596:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28588:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":61370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28588:7:64","typeDescriptions":{}}},"id":61376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28588:28:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":61355,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28372:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28376:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28372:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28372:258:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61353,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"28347:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28354:4:64","memberName":"call","nodeType":"MemberAccess","src":"28347:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":61378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28347:293:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28329:311:64"},{"expression":{"id":61380,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61352,"src":"28650:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61381,"nodeType":"ExpressionStatement","src":"28650:7:64"}]},"functionSelector":"2b463e8e","implemented":true,"kind":"function","modifiers":[],"name":"test_amount_offset_out_of_bounds","nameLocation":"27811:32:64","parameters":{"id":61321,"nodeType":"ParameterList","parameters":[],"src":"27843:2:64"},"returnParameters":{"id":61322,"nodeType":"ParameterList","parameters":[],"src":"27853:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61466,"nodeType":"FunctionDefinition","src":"28670:788:64","nodes":[],"body":{"id":61465,"nodeType":"Block","src":"28714:744:64","nodes":[],"statements":[{"assignments":[61388],"declarations":[{"constant":false,"id":61388,"mutability":"mutable","name":"mockTarget","nameLocation":"28735:10:64","nodeType":"VariableDeclaration","scope":61465,"src":"28724:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"},"typeName":{"id":61387,"nodeType":"UserDefinedTypeName","pathNode":{"id":61386,"name":"MockTarget","nameLocations":["28724:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"28724:10:64"},"referencedDeclaration":58706,"src":"28724:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"visibility":"internal"}],"id":61397,"initialValue":{"arguments":[{"arguments":[{"id":61394,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"28771:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":61393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28763:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61392,"name":"address","nodeType":"ElementaryTypeName","src":"28763:7:64","typeDescriptions":{}}},"id":61395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28763:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"28748:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockTarget_$58706_$","typeString":"function (address) returns (contract MockTarget)"},"typeName":{"id":61390,"nodeType":"UserDefinedTypeName","pathNode":{"id":61389,"name":"MockTarget","nameLocations":["28752:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"28752:10:64"},"referencedDeclaration":58706,"src":"28752:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}},"id":61396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28748:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"nodeType":"VariableDeclarationStatement","src":"28724:58:64"},{"assignments":[61399],"declarations":[{"constant":false,"id":61399,"mutability":"mutable","name":"wrongPlaceholder","nameLocation":"28850:16:64","nodeType":"VariableDeclaration","scope":61465,"src":"28842:24:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61398,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28842:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":61407,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783132333435363738","id":61404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28885:10:64","typeDescriptions":{"typeIdentifier":"t_rational_305419896_by_1","typeString":"int_const 305419896"},"value":"0x12345678"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_305419896_by_1","typeString":"int_const 305419896"}],"id":61403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28877:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":61402,"name":"uint256","nodeType":"ElementaryTypeName","src":"28877:7:64","typeDescriptions":{}}},"id":61405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28877:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28869:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":61400,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28869:7:64","typeDescriptions":{}}},"id":61406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28869:28:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"28842:55:64"},{"assignments":[61409],"declarations":[{"constant":false,"id":61409,"mutability":"mutable","name":"expectedPlaceholder","nameLocation":"28915:19:64","nodeType":"VariableDeclaration","scope":61465,"src":"28907:27:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28907:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":61417,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30786465616462656566","id":61414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28953:10:64","typeDescriptions":{"typeIdentifier":"t_rational_3735928559_by_1","typeString":"int_const 3735928559"},"value":"0xdeadbeef"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3735928559_by_1","typeString":"int_const 3735928559"}],"id":61413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28945:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":61412,"name":"uint256","nodeType":"ElementaryTypeName","src":"28945:7:64","typeDescriptions":{}}},"id":61415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28945:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28937:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":61410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28937:7:64","typeDescriptions":{}}},"id":61416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28937:28:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"28907:58:64"},{"assignments":[61419],"declarations":[{"constant":false,"id":61419,"mutability":"mutable","name":"callData","nameLocation":"28988:8:64","nodeType":"VariableDeclaration","scope":61465,"src":"28975:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61418,"name":"bytes","nodeType":"ElementaryTypeName","src":"28975:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61431,"initialValue":{"arguments":[{"expression":{"expression":{"id":61422,"name":"mockTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61388,"src":"29022:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"id":61423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29033:7:64","memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":58705,"src":"29022:18:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":61424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29041:8:64","memberName":"selector","nodeType":"MemberAccess","src":"29022:27:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":61425,"name":"wrongPlaceholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61399,"src":"29051:16:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":61428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29077:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29069:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61426,"name":"address","nodeType":"ElementaryTypeName","src":"29069:7:64","typeDescriptions":{}}},"id":61429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29069:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61420,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28999:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29003:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28999:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28999:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"28975:105:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":61435,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"29107:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29120:19:64","memberName":"PlaceholderMismatch","nodeType":"MemberAccess","referencedDeclaration":49755,"src":"29107:32:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29140:8:64","memberName":"selector","nodeType":"MemberAccess","src":"29107:41:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61432,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"29091:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29094:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"29091:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29091:58:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61439,"nodeType":"ExpressionStatement","src":"29091:58:64"},{"assignments":[61441,null],"declarations":[{"constant":false,"id":61441,"mutability":"mutable","name":"success","nameLocation":"29229:7:64","nodeType":"VariableDeclaration","scope":61465,"src":"29224:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61440,"name":"bool","nodeType":"ElementaryTypeName","src":"29224:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":61462,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61446,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"29306:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29313:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"29306:20:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":61448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29327:8:64","memberName":"selector","nodeType":"MemberAccess","src":"29306:29:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":61451,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"29345:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":61450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29337:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61449,"name":"address","nodeType":"ElementaryTypeName","src":"29337:7:64","typeDescriptions":{}}},"id":61452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29337:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":61455,"name":"mockTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61388,"src":"29365:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":61454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29357:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61453,"name":"address","nodeType":"ElementaryTypeName","src":"29357:7:64","typeDescriptions":{}}},"id":61456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29357:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61457,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61419,"src":"29378:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":61458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29388:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":61459,"name":"expectedPlaceholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61409,"src":"29391:19:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":61444,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29266:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29270:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29266:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29266:158:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61442,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"29241:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29248:4:64","memberName":"call","nodeType":"MemberAccess","src":"29241:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":61461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29241:193:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29223:211:64"},{"expression":{"id":61463,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61441,"src":"29444:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61464,"nodeType":"ExpressionStatement","src":"29444:7:64"}]},"functionSelector":"8c4978ed","implemented":true,"kind":"function","modifiers":[],"name":"test_placeholder_mismatch","nameLocation":"28679:25:64","parameters":{"id":61384,"nodeType":"ParameterList","parameters":[],"src":"28704:2:64"},"returnParameters":{"id":61385,"nodeType":"ParameterList","parameters":[],"src":"28714:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61552,"nodeType":"FunctionDefinition","src":"29464:818:64","nodes":[],"body":{"id":61551,"nodeType":"Block","src":"29535:747:64","nodes":[],"statements":[{"assignments":[61470],"declarations":[{"constant":false,"id":61470,"mutability":"mutable","name":"ethAmount","nameLocation":"29553:9:64","nodeType":"VariableDeclaration","scope":61551,"src":"29545:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61469,"name":"uint256","nodeType":"ElementaryTypeName","src":"29545:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61472,"initialValue":{"hexValue":"31","id":61471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29565:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"29545:27:64"},{"expression":{"arguments":[{"id":61476,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"29590:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61477,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61470,"src":"29596:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61473,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"29582:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29585:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"29582:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29582:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61479,"nodeType":"ExpressionStatement","src":"29582:24:64"},{"assignments":[61485],"declarations":[{"constant":false,"id":61485,"mutability":"mutable","name":"calls","nameLocation":"29644:5:64","nodeType":"VariableDeclaration","scope":61551,"src":"29617:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":61483,"nodeType":"UserDefinedTypeName","pathNode":{"id":61482,"name":"IMulticall3.Call3","nameLocations":["29617:11:64","29629:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"29617:17:64"},"referencedDeclaration":51153,"src":"29617:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61484,"nodeType":"ArrayTypeName","src":"29617:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":61492,"initialValue":{"arguments":[{"hexValue":"31","id":61490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29676:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29652:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":61487,"nodeType":"UserDefinedTypeName","pathNode":{"id":61486,"name":"IMulticall3.Call3","nameLocations":["29656:11:64","29668:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"29656:17:64"},"referencedDeclaration":51153,"src":"29656:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61488,"nodeType":"ArrayTypeName","src":"29656:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":61491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29652:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"29617:61:64"},{"expression":{"id":61508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61493,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61485,"src":"29688:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":61495,"indexExpression":{"hexValue":"30","id":61494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29694:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29688:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61500,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"29747:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":61499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29739:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61498,"name":"address","nodeType":"ElementaryTypeName","src":"29739:7:64","typeDescriptions":{}}},"id":61501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29739:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":61502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29770:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":61505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29811:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":61503,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29787:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29791:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29787:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29787:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61496,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"29699:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":61497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29711:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"29699:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":61507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["29731:6:64","29756:12:64","29777:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"29699:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"29688:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":61509,"nodeType":"ExpressionStatement","src":"29688:148:64"},{"assignments":[61511],"declarations":[{"constant":false,"id":61511,"mutability":"mutable","name":"callData","nameLocation":"29860:8:64","nodeType":"VariableDeclaration","scope":61551,"src":"29847:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61510,"name":"bytes","nodeType":"ElementaryTypeName","src":"29847:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61517,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":61514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29895:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":61515,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61485,"src":"29933:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":61512,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29871:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29875:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29871:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29871:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"29847:92:64"},{"expression":{"arguments":[{"id":61521,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"29959:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61518,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"29950:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29953:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"29950:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29950:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61523,"nodeType":"ExpressionStatement","src":"29950:14:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":61531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30022:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30014:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61529,"name":"address","nodeType":"ElementaryTypeName","src":"30014:7:64","typeDescriptions":{}}},"id":61532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30014:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61533,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61511,"src":"30026:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61524,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"29974:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29981:14:64","memberName":"pullAndExecute","nodeType":"MemberAccess","referencedDeclaration":49863,"src":"29974:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":61527,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61470,"src":"30003:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"29974:39:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29974:61:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":61535,"nodeType":"ExpressionStatement","src":"29974:61:64"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":61539,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"30143:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":61538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30135:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61537,"name":"address","nodeType":"ElementaryTypeName","src":"30135:7:64","typeDescriptions":{}}},"id":61540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30135:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30151:7:64","memberName":"balance","nodeType":"MemberAccess","src":"30135:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30160:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61536,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"30126:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30126:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61544,"nodeType":"ExpressionStatement","src":"30126:36:64"},{"expression":{"arguments":[{"expression":{"id":61546,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"30251:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30256:7:64","memberName":"balance","nodeType":"MemberAccess","src":"30251:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61548,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61470,"src":"30265:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61545,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"30242:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30242:33:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61550,"nodeType":"ExpressionStatement","src":"30242:33:64"}]},"functionSelector":"a92b31ce","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAndExecute_WithETH_ShouldTransferAndExecute","nameLocation":"29473:52:64","parameters":{"id":61467,"nodeType":"ParameterList","parameters":[],"src":"29525:2:64"},"returnParameters":{"id":61468,"nodeType":"ParameterList","parameters":[],"src":"29535:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61618,"nodeType":"FunctionDefinition","src":"30288:538:64","nodes":[],"body":{"id":61617,"nodeType":"Block","src":"30344:482:64","nodes":[],"statements":[{"assignments":[61560],"declarations":[{"constant":false,"id":61560,"mutability":"mutable","name":"calls","nameLocation":"30381:5:64","nodeType":"VariableDeclaration","scope":61617,"src":"30354:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":61558,"nodeType":"UserDefinedTypeName","pathNode":{"id":61557,"name":"IMulticall3.Call3","nameLocations":["30354:11:64","30366:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"30354:17:64"},"referencedDeclaration":51153,"src":"30354:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61559,"nodeType":"ArrayTypeName","src":"30354:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":61567,"initialValue":{"arguments":[{"hexValue":"31","id":61565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30413:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30389:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":61562,"nodeType":"UserDefinedTypeName","pathNode":{"id":61561,"name":"IMulticall3.Call3","nameLocations":["30393:11:64","30405:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"30393:17:64"},"referencedDeclaration":51153,"src":"30393:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61563,"nodeType":"ArrayTypeName","src":"30393:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":61566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30389:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30354:61:64"},{"expression":{"id":61583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61568,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61560,"src":"30425:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":61570,"indexExpression":{"hexValue":"30","id":61569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30431:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30425:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61575,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"30484:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":61574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30476:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61573,"name":"address","nodeType":"ElementaryTypeName","src":"30476:7:64","typeDescriptions":{}}},"id":61576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30476:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":61577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30507:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":61580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30548:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":61578,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30524:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30528:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30524:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30524:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61571,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"30436:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":61572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30448:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"30436:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":61582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["30468:6:64","30493:12:64","30514:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"30436:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"30425:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":61584,"nodeType":"ExpressionStatement","src":"30425:148:64"},{"assignments":[61586],"declarations":[{"constant":false,"id":61586,"mutability":"mutable","name":"callData","nameLocation":"30597:8:64","nodeType":"VariableDeclaration","scope":61617,"src":"30584:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61585,"name":"bytes","nodeType":"ElementaryTypeName","src":"30584:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61592,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":61589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30632:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":61590,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61560,"src":"30670:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":61587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30608:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30612:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30608:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30608:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"30584:92:64"},{"expression":{"arguments":[{"id":61596,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"30696:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61593,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"30687:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30690:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"30687:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30687:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61598,"nodeType":"ExpressionStatement","src":"30687:14:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":61602,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"30727:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30740:16:64","memberName":"NoValueAvailable","nodeType":"MemberAccess","referencedDeclaration":49741,"src":"30727:29:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30757:8:64","memberName":"selector","nodeType":"MemberAccess","src":"30727:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61599,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"30711:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30714:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"30711:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30711:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61606,"nodeType":"ExpressionStatement","src":"30711:55:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":61612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30806:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30798:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61610,"name":"address","nodeType":"ElementaryTypeName","src":"30798:7:64","typeDescriptions":{}}},"id":61613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30798:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61614,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61586,"src":"30810:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61607,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"30776:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30783:14:64","memberName":"pullAndExecute","nodeType":"MemberAccess","referencedDeclaration":49863,"src":"30776:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30776:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":61616,"nodeType":"ExpressionStatement","src":"30776:43:64"}]},"functionSelector":"b3a1bcc3","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAndExecute_WithETH_NoEthSent","nameLocation":"30297:37:64","parameters":{"id":61553,"nodeType":"ParameterList","parameters":[],"src":"30334:2:64"},"returnParameters":{"id":61554,"nodeType":"ParameterList","parameters":[],"src":"30344:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61723,"nodeType":"FunctionDefinition","src":"30832:863:64","nodes":[],"body":{"id":61722,"nodeType":"Block","src":"30895:800:64","nodes":[],"statements":[{"assignments":[61622],"declarations":[{"constant":false,"id":61622,"mutability":"mutable","name":"transferAmount","nameLocation":"30913:14:64","nodeType":"VariableDeclaration","scope":61722,"src":"30905:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61621,"name":"uint256","nodeType":"ElementaryTypeName","src":"30905:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61624,"initialValue":{"hexValue":"313030653138","id":61623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30930:6:64","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100e18"},"nodeType":"VariableDeclarationStatement","src":"30905:31:64"},{"assignments":[61626],"declarations":[{"constant":false,"id":61626,"mutability":"mutable","name":"incorrectValue","nameLocation":"30954:14:64","nodeType":"VariableDeclaration","scope":61722,"src":"30946:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61625,"name":"uint256","nodeType":"ElementaryTypeName","src":"30946:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61628,"initialValue":{"hexValue":"31","id":61627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30971:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"30946:32:64"},{"expression":{"arguments":[{"id":61632,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"30998:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61629,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"30989:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30992:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"30989:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30989:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61634,"nodeType":"ExpressionStatement","src":"30989:14:64"},{"expression":{"arguments":[{"arguments":[{"id":61640,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"31039:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":61639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31031:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61638,"name":"address","nodeType":"ElementaryTypeName","src":"31031:7:64","typeDescriptions":{}}},"id":61641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31031:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61642,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61622,"src":"31048:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61635,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"31013:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":61637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31023:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"31013:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":61643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31013:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61644,"nodeType":"ExpressionStatement","src":"31013:50:64"},{"assignments":[61650],"declarations":[{"constant":false,"id":61650,"mutability":"mutable","name":"calls","nameLocation":"31106:5:64","nodeType":"VariableDeclaration","scope":61722,"src":"31074:37:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":61648,"nodeType":"UserDefinedTypeName","pathNode":{"id":61647,"name":"IMulticall3.Call3Value","nameLocations":["31074:11:64","31086:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"31074:22:64"},"referencedDeclaration":51162,"src":"31074:22:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":61649,"nodeType":"ArrayTypeName","src":"31074:24:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":61657,"initialValue":{"arguments":[{"hexValue":"31","id":61655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31143:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"31114:28:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":61652,"nodeType":"UserDefinedTypeName","pathNode":{"id":61651,"name":"IMulticall3.Call3Value","nameLocations":["31118:11:64","31130:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"31118:22:64"},"referencedDeclaration":51162,"src":"31118:22:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":61653,"nodeType":"ArrayTypeName","src":"31118:24:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":61656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31114:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"31074:71:64"},{"expression":{"id":61674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61658,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61650,"src":"31155:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":61660,"indexExpression":{"hexValue":"30","id":61659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31161:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31155:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61665,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"31219:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":61664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31211:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61663,"name":"address","nodeType":"ElementaryTypeName","src":"31211:7:64","typeDescriptions":{}}},"id":61666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31211:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":61667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31242:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":61668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31256:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"67657453656e6465722829","id":61671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31293:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":61669,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31269:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31273:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31269:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31269:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61661,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"31166:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":61662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31178:10:64","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"31166:22:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":61673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["31203:6:64","31228:12:64","31249:5:64","31259:8:64"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"31166:152:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"31155:163:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":61675,"nodeType":"ExpressionStatement","src":"31155:163:64"},{"assignments":[61677],"declarations":[{"constant":false,"id":61677,"mutability":"mutable","name":"callData","nameLocation":"31342:8:64","nodeType":"VariableDeclaration","scope":61722,"src":"31329:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61676,"name":"bytes","nodeType":"ElementaryTypeName","src":"31329:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61683,"initialValue":{"arguments":[{"hexValue":"6167677265676174653356616c75652828616464726573732c626f6f6c2c75696e743235362c6279746573295b5d29","id":61680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31377:49:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_174dea719f0adc193f47587df5347cfd9a0881d0171899aa96872fc4d2db60ca","typeString":"literal_string \"aggregate3Value((address,bool,uint256,bytes)[])\""},"value":"aggregate3Value((address,bool,uint256,bytes)[])"},{"id":61681,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61650,"src":"31428:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_174dea719f0adc193f47587df5347cfd9a0881d0171899aa96872fc4d2db60ca","typeString":"literal_string \"aggregate3Value((address,bool,uint256,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":61678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31353:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31357:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31353:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31353:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"31329:105:64"},{"expression":{"arguments":[{"id":61687,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"31453:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61688,"name":"incorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61626,"src":"31459:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61684,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"31445:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31448:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"31445:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31445:29:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61690,"nodeType":"ExpressionStatement","src":"31445:29:64"},{"expression":{"arguments":[{"id":61694,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"31493:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61691,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"31484:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31487:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"31484:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31484:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61696,"nodeType":"ExpressionStatement","src":"31484:14:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61702,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"31547:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31560:14:64","memberName":"IncorrectValue","nodeType":"MemberAccess","referencedDeclaration":49749,"src":"31547:27:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":61704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31575:8:64","memberName":"selector","nodeType":"MemberAccess","src":"31547:36:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":61705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31585:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":61706,"name":"incorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61626,"src":"31588:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61700,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31524:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31528:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"31524:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31524:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61697,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"31508:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31511:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"31508:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31508:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61709,"nodeType":"ExpressionStatement","src":"31508:96:64"},{"expression":{"arguments":[{"arguments":[{"id":61717,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"31667:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":61716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31659:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61715,"name":"address","nodeType":"ElementaryTypeName","src":"31659:7:64","typeDescriptions":{}}},"id":61718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31659:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61719,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61677,"src":"31679:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61710,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"31614:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31621:14:64","memberName":"pullAndExecute","nodeType":"MemberAccess","referencedDeclaration":49863,"src":"31614:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":61713,"name":"incorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61626,"src":"31643:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"31614:44:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31614:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":61721,"nodeType":"ExpressionStatement","src":"31614:74:64"}]},"functionSelector":"37688a55","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAndExecute_WithToken_IncorrectValue","nameLocation":"30841:44:64","parameters":{"id":61619,"nodeType":"ParameterList","parameters":[],"src":"30885:2:64"},"returnParameters":{"id":61620,"nodeType":"ParameterList","parameters":[],"src":"30895:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61810,"nodeType":"FunctionDefinition","src":"31701:833:64","nodes":[],"body":{"id":61809,"nodeType":"Block","src":"31778:756:64","nodes":[],"statements":[{"assignments":[61727],"declarations":[{"constant":false,"id":61727,"mutability":"mutable","name":"ethAmount","nameLocation":"31796:9:64","nodeType":"VariableDeclaration","scope":61809,"src":"31788:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61726,"name":"uint256","nodeType":"ElementaryTypeName","src":"31788:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61729,"initialValue":{"hexValue":"31","id":61728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31808:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"31788:27:64"},{"expression":{"arguments":[{"id":61733,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"31833:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61734,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61727,"src":"31839:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61730,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"31825:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31828:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"31825:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31825:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61736,"nodeType":"ExpressionStatement","src":"31825:24:64"},{"assignments":[61742],"declarations":[{"constant":false,"id":61742,"mutability":"mutable","name":"calls","nameLocation":"31887:5:64","nodeType":"VariableDeclaration","scope":61809,"src":"31860:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":61740,"nodeType":"UserDefinedTypeName","pathNode":{"id":61739,"name":"IMulticall3.Call3","nameLocations":["31860:11:64","31872:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"31860:17:64"},"referencedDeclaration":51153,"src":"31860:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61741,"nodeType":"ArrayTypeName","src":"31860:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":61749,"initialValue":{"arguments":[{"hexValue":"31","id":61747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31919:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"31895:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":61744,"nodeType":"UserDefinedTypeName","pathNode":{"id":61743,"name":"IMulticall3.Call3","nameLocations":["31899:11:64","31911:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"31899:17:64"},"referencedDeclaration":51153,"src":"31899:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61745,"nodeType":"ArrayTypeName","src":"31899:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":61748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31895:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"31860:61:64"},{"expression":{"id":61765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61750,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61742,"src":"31931:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":61752,"indexExpression":{"hexValue":"30","id":61751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31937:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31931:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61757,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"31990:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":61756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31982:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61755,"name":"address","nodeType":"ElementaryTypeName","src":"31982:7:64","typeDescriptions":{}}},"id":61758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31982:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":61759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"32013:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":61762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32054:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":61760,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32030:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32034:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32030:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32030:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61753,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"31942:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":61754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31954:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"31942:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":61764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["31974:6:64","31999:12:64","32020:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"31942:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"31931:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":61766,"nodeType":"ExpressionStatement","src":"31931:148:64"},{"assignments":[61768],"declarations":[{"constant":false,"id":61768,"mutability":"mutable","name":"callData","nameLocation":"32103:8:64","nodeType":"VariableDeclaration","scope":61809,"src":"32090:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61767,"name":"bytes","nodeType":"ElementaryTypeName","src":"32090:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61774,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":61771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32138:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":61772,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61742,"src":"32176:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":61769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32114:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32118:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32114:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32114:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"32090:92:64"},{"expression":{"arguments":[{"id":61778,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"32202:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61775,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"32193:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32196:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"32193:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32193:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61780,"nodeType":"ExpressionStatement","src":"32193:14:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":61788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32271:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32263:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61786,"name":"address","nodeType":"ElementaryTypeName","src":"32263:7:64","typeDescriptions":{}}},"id":61789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32263:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61790,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61727,"src":"32275:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61791,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61768,"src":"32286:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61781,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"32217:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32224:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"32217:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":61784,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61727,"src":"32252:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"32217:45:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32217:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":61793,"nodeType":"ExpressionStatement","src":"32217:78:64"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":61797,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"32395:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":61796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32387:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61795,"name":"address","nodeType":"ElementaryTypeName","src":"32387:7:64","typeDescriptions":{}}},"id":61798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32387:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32403:7:64","memberName":"balance","nodeType":"MemberAccess","src":"32387:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32412:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61794,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"32378:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32378:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61802,"nodeType":"ExpressionStatement","src":"32378:36:64"},{"expression":{"arguments":[{"expression":{"id":61804,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"32503:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32508:7:64","memberName":"balance","nodeType":"MemberAccess","src":"32503:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61806,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61727,"src":"32517:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61803,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"32494:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32494:33:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61808,"nodeType":"ExpressionStatement","src":"32494:33:64"}]},"functionSelector":"04cb3024","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAmountAndExecute_WithETH_ShouldTransferAndExecute","nameLocation":"31710:58:64","parameters":{"id":61724,"nodeType":"ParameterList","parameters":[],"src":"31768:2:64"},"returnParameters":{"id":61725,"nodeType":"ParameterList","parameters":[],"src":"31778:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61892,"nodeType":"FunctionDefinition","src":"32540:723:64","nodes":[],"body":{"id":61891,"nodeType":"Block","src":"32607:656:64","nodes":[],"statements":[{"assignments":[61814],"declarations":[{"constant":false,"id":61814,"mutability":"mutable","name":"requiredAmount","nameLocation":"32625:14:64","nodeType":"VariableDeclaration","scope":61891,"src":"32617:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61813,"name":"uint256","nodeType":"ElementaryTypeName","src":"32617:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61816,"initialValue":{"hexValue":"31","id":61815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32642:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"32617:32:64"},{"assignments":[61818],"declarations":[{"constant":false,"id":61818,"mutability":"mutable","name":"sentAmount","nameLocation":"32667:10:64","nodeType":"VariableDeclaration","scope":61891,"src":"32659:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61817,"name":"uint256","nodeType":"ElementaryTypeName","src":"32659:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61820,"initialValue":{"hexValue":"302e35","id":61819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32680:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000000_by_1","typeString":"int_const 500000000000000000"},"value":"0.5"},"nodeType":"VariableDeclarationStatement","src":"32659:30:64"},{"assignments":[61826],"declarations":[{"constant":false,"id":61826,"mutability":"mutable","name":"calls","nameLocation":"32727:5:64","nodeType":"VariableDeclaration","scope":61891,"src":"32700:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":61824,"nodeType":"UserDefinedTypeName","pathNode":{"id":61823,"name":"IMulticall3.Call3","nameLocations":["32700:11:64","32712:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"32700:17:64"},"referencedDeclaration":51153,"src":"32700:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61825,"nodeType":"ArrayTypeName","src":"32700:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":61833,"initialValue":{"arguments":[{"hexValue":"31","id":61831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32759:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"32735:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":61828,"nodeType":"UserDefinedTypeName","pathNode":{"id":61827,"name":"IMulticall3.Call3","nameLocations":["32739:11:64","32751:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"32739:17:64"},"referencedDeclaration":51153,"src":"32739:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61829,"nodeType":"ArrayTypeName","src":"32739:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":61832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32735:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"32700:61:64"},{"expression":{"id":61849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61834,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61826,"src":"32771:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":61836,"indexExpression":{"hexValue":"30","id":61835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32777:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32771:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61841,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"32830:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":61840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32822:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61839,"name":"address","nodeType":"ElementaryTypeName","src":"32822:7:64","typeDescriptions":{}}},"id":61842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32822:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":61843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"32853:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":61846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32894:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":61844,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32870:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32874:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32870:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32870:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61837,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"32782:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":61838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32794:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"32782:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":61848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["32814:6:64","32839:12:64","32860:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"32782:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"32771:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":61850,"nodeType":"ExpressionStatement","src":"32771:148:64"},{"assignments":[61852],"declarations":[{"constant":false,"id":61852,"mutability":"mutable","name":"callData","nameLocation":"32943:8:64","nodeType":"VariableDeclaration","scope":61891,"src":"32930:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61851,"name":"bytes","nodeType":"ElementaryTypeName","src":"32930:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61858,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":61855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32978:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":61856,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61826,"src":"33016:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":61853,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32954:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32958:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32954:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32954:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"32930:92:64"},{"expression":{"arguments":[{"id":61862,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"33042:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61859,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"33033:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33036:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"33033:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33033:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61864,"nodeType":"ExpressionStatement","src":"33033:14:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61870,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"33096:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":61871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33109:14:64","memberName":"IncorrectValue","nodeType":"MemberAccess","referencedDeclaration":49749,"src":"33096:27:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":61872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33124:8:64","memberName":"selector","nodeType":"MemberAccess","src":"33096:36:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":61873,"name":"requiredAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61814,"src":"33134:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61874,"name":"sentAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61818,"src":"33150:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61868,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33073:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33077:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"33073:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33073:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61865,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"33057:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33060:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"33057:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33057:105:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61877,"nodeType":"ExpressionStatement","src":"33057:105:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":61885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33227:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33219:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61883,"name":"address","nodeType":"ElementaryTypeName","src":"33219:7:64","typeDescriptions":{}}},"id":61886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33219:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61887,"name":"requiredAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61814,"src":"33231:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61888,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61852,"src":"33247:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61878,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"33172:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33179:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"33172:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":61881,"name":"sentAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61818,"src":"33207:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"33172:46:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33172:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":61890,"nodeType":"ExpressionStatement","src":"33172:84:64"}]},"functionSelector":"ee6afeda","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAmountAndExecute_WithETH_IncorrectValue","nameLocation":"32549:48:64","parameters":{"id":61811,"nodeType":"ParameterList","parameters":[],"src":"32597:2:64"},"returnParameters":{"id":61812,"nodeType":"ParameterList","parameters":[],"src":"32607:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61990,"nodeType":"FunctionDefinition","src":"33269:922:64","nodes":[],"body":{"id":61989,"nodeType":"Block","src":"33348:843:64","nodes":[],"statements":[{"assignments":[61896],"declarations":[{"constant":false,"id":61896,"mutability":"mutable","name":"transferAmount","nameLocation":"33366:14:64","nodeType":"VariableDeclaration","scope":61989,"src":"33358:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61895,"name":"uint256","nodeType":"ElementaryTypeName","src":"33358:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61898,"initialValue":{"hexValue":"313030653138","id":61897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33383:6:64","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100e18"},"nodeType":"VariableDeclarationStatement","src":"33358:31:64"},{"expression":{"arguments":[{"id":61902,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"33409:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61899,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"33400:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33403:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"33400:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33400:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61904,"nodeType":"ExpressionStatement","src":"33400:14:64"},{"expression":{"arguments":[{"arguments":[{"id":61910,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"33450:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":61909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33442:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61908,"name":"address","nodeType":"ElementaryTypeName","src":"33442:7:64","typeDescriptions":{}}},"id":61911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33442:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61912,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61896,"src":"33459:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61905,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"33424:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":61907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33434:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"33424:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":61913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33424:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61914,"nodeType":"ExpressionStatement","src":"33424:50:64"},{"assignments":[61920],"declarations":[{"constant":false,"id":61920,"mutability":"mutable","name":"calls","nameLocation":"33512:5:64","nodeType":"VariableDeclaration","scope":61989,"src":"33485:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":61918,"nodeType":"UserDefinedTypeName","pathNode":{"id":61917,"name":"IMulticall3.Call3","nameLocations":["33485:11:64","33497:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"33485:17:64"},"referencedDeclaration":51153,"src":"33485:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61919,"nodeType":"ArrayTypeName","src":"33485:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":61927,"initialValue":{"arguments":[{"hexValue":"31","id":61925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33544:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33520:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":61922,"nodeType":"UserDefinedTypeName","pathNode":{"id":61921,"name":"IMulticall3.Call3","nameLocations":["33524:11:64","33536:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"33524:17:64"},"referencedDeclaration":51153,"src":"33524:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":61923,"nodeType":"ArrayTypeName","src":"33524:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":61926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33520:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"33485:61:64"},{"expression":{"id":61943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61928,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61920,"src":"33556:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":61930,"indexExpression":{"hexValue":"30","id":61929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33562:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33556:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61935,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"33615:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":61934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33607:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61933,"name":"address","nodeType":"ElementaryTypeName","src":"33607:7:64","typeDescriptions":{}}},"id":61936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33607:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":61937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"33638:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":61940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33679:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":61938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33655:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33659:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33655:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33655:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61931,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"33567:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":61932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33579:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"33567:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":61942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["33599:6:64","33624:12:64","33645:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"33567:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"33556:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":61944,"nodeType":"ExpressionStatement","src":"33556:148:64"},{"assignments":[61946],"declarations":[{"constant":false,"id":61946,"mutability":"mutable","name":"callData","nameLocation":"33728:8:64","nodeType":"VariableDeclaration","scope":61989,"src":"33715:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61945,"name":"bytes","nodeType":"ElementaryTypeName","src":"33715:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61952,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":61949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33763:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":61950,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61920,"src":"33801:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":61947,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33739:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33743:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33739:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":61951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33739:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"33715:92:64"},{"expression":{"arguments":[{"id":61956,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"33827:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61953,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"33818:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33821:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"33818:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33818:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61958,"nodeType":"ExpressionStatement","src":"33818:14:64"},{"expression":{"arguments":[{"arguments":[{"id":61964,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"33878:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":61963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33870:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61962,"name":"address","nodeType":"ElementaryTypeName","src":"33870:7:64","typeDescriptions":{}}},"id":61965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33870:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61966,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61896,"src":"33890:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61967,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61946,"src":"33906:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61959,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"33842:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":61961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33849:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"33842:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":61968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33842:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":61969,"nodeType":"ExpressionStatement","src":"33842:73:64"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":61975,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"34043:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":61974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34035:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61973,"name":"address","nodeType":"ElementaryTypeName","src":"34035:7:64","typeDescriptions":{}}},"id":61976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34035:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61971,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"34015:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":61972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34025:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"34015:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":61977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34015:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34053:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61970,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"34006:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34006:49:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61980,"nodeType":"ExpressionStatement","src":"34006:49:64"},{"expression":{"arguments":[{"arguments":[{"id":61984,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"34169:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61982,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"34149:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":61983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34159:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"34149:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":61985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34149:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31303030653138","id":61986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34176:7:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000e18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"id":61981,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"34140:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34140:44:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61988,"nodeType":"ExpressionStatement","src":"34140:44:64"}]},"functionSelector":"bdb9d980","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAmountAndExecute_WithToken_ShouldTransferAndExecute","nameLocation":"33278:60:64","parameters":{"id":61893,"nodeType":"ParameterList","parameters":[],"src":"33338:2:64"},"returnParameters":{"id":61894,"nodeType":"ParameterList","parameters":[],"src":"33348:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62096,"nodeType":"FunctionDefinition","src":"34197:891:64","nodes":[],"body":{"id":62095,"nodeType":"Block","src":"34266:822:64","nodes":[],"statements":[{"assignments":[61994],"declarations":[{"constant":false,"id":61994,"mutability":"mutable","name":"transferAmount","nameLocation":"34284:14:64","nodeType":"VariableDeclaration","scope":62095,"src":"34276:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61993,"name":"uint256","nodeType":"ElementaryTypeName","src":"34276:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61996,"initialValue":{"hexValue":"313030653138","id":61995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34301:6:64","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100e18"},"nodeType":"VariableDeclarationStatement","src":"34276:31:64"},{"assignments":[61998],"declarations":[{"constant":false,"id":61998,"mutability":"mutable","name":"incorrectValue","nameLocation":"34325:14:64","nodeType":"VariableDeclaration","scope":62095,"src":"34317:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61997,"name":"uint256","nodeType":"ElementaryTypeName","src":"34317:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62000,"initialValue":{"hexValue":"31","id":61999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34342:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"34317:32:64"},{"expression":{"arguments":[{"id":62004,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"34369:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62001,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"34360:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34363:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"34360:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34360:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62006,"nodeType":"ExpressionStatement","src":"34360:14:64"},{"expression":{"arguments":[{"arguments":[{"id":62012,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"34410:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":62011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34402:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62010,"name":"address","nodeType":"ElementaryTypeName","src":"34402:7:64","typeDescriptions":{}}},"id":62013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34402:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62014,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61994,"src":"34419:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62007,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"34384:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":62009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34394:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"34384:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34384:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62016,"nodeType":"ExpressionStatement","src":"34384:50:64"},{"assignments":[62022],"declarations":[{"constant":false,"id":62022,"mutability":"mutable","name":"calls","nameLocation":"34477:5:64","nodeType":"VariableDeclaration","scope":62095,"src":"34445:37:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":62020,"nodeType":"UserDefinedTypeName","pathNode":{"id":62019,"name":"IMulticall3.Call3Value","nameLocations":["34445:11:64","34457:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"34445:22:64"},"referencedDeclaration":51162,"src":"34445:22:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":62021,"nodeType":"ArrayTypeName","src":"34445:24:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":62029,"initialValue":{"arguments":[{"hexValue":"31","id":62027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34514:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"34485:28:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":62024,"nodeType":"UserDefinedTypeName","pathNode":{"id":62023,"name":"IMulticall3.Call3Value","nameLocations":["34489:11:64","34501:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"34489:22:64"},"referencedDeclaration":51162,"src":"34489:22:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":62025,"nodeType":"ArrayTypeName","src":"34489:24:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":62028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34485:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"34445:71:64"},{"expression":{"id":62046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62030,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62022,"src":"34526:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":62032,"indexExpression":{"hexValue":"30","id":62031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34532:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"34526:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62037,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"34590:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":62036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34582:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62035,"name":"address","nodeType":"ElementaryTypeName","src":"34582:7:64","typeDescriptions":{}}},"id":62038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34582:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":62039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"34613:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":62040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34627:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"67657453656e6465722829","id":62043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34664:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":62041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34640:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34644:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34640:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34640:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62033,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"34537:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":62034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34549:10:64","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"34537:22:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":62045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["34574:6:64","34599:12:64","34620:5:64","34630:8:64"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"34537:152:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"34526:163:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":62047,"nodeType":"ExpressionStatement","src":"34526:163:64"},{"assignments":[62049],"declarations":[{"constant":false,"id":62049,"mutability":"mutable","name":"callData","nameLocation":"34713:8:64","nodeType":"VariableDeclaration","scope":62095,"src":"34700:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62048,"name":"bytes","nodeType":"ElementaryTypeName","src":"34700:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62055,"initialValue":{"arguments":[{"hexValue":"6167677265676174653356616c75652828616464726573732c626f6f6c2c75696e743235362c6279746573295b5d29","id":62052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34748:49:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_174dea719f0adc193f47587df5347cfd9a0881d0171899aa96872fc4d2db60ca","typeString":"literal_string \"aggregate3Value((address,bool,uint256,bytes)[])\""},"value":"aggregate3Value((address,bool,uint256,bytes)[])"},{"id":62053,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62022,"src":"34799:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_174dea719f0adc193f47587df5347cfd9a0881d0171899aa96872fc4d2db60ca","typeString":"literal_string \"aggregate3Value((address,bool,uint256,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":62050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34724:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34728:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34724:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34724:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"34700:105:64"},{"expression":{"arguments":[{"id":62059,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"34824:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62060,"name":"incorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61998,"src":"34830:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62056,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"34816:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34819:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"34816:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34816:29:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62062,"nodeType":"ExpressionStatement","src":"34816:29:64"},{"expression":{"arguments":[{"id":62066,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"34864:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62063,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"34855:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34858:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"34855:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34855:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62068,"nodeType":"ExpressionStatement","src":"34855:14:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62074,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"34918:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34931:14:64","memberName":"IncorrectValue","nodeType":"MemberAccess","referencedDeclaration":49749,"src":"34918:27:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":62076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34946:8:64","memberName":"selector","nodeType":"MemberAccess","src":"34918:36:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":62077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34956:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62078,"name":"incorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61998,"src":"34959:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62072,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34895:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34899:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"34895:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34895:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62069,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"34879:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34882:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"34879:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34879:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62081,"nodeType":"ExpressionStatement","src":"34879:96:64"},{"expression":{"arguments":[{"arguments":[{"id":62089,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"35044:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":62088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35036:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62087,"name":"address","nodeType":"ElementaryTypeName","src":"35036:7:64","typeDescriptions":{}}},"id":62090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35036:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62091,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61994,"src":"35056:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62092,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62049,"src":"35072:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62082,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"34985:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34992:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"34985:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":62086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":62085,"name":"incorrectValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61998,"src":"35020:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"34985:50:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":62093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34985:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":62094,"nodeType":"ExpressionStatement","src":"34985:96:64"}]},"functionSelector":"870d7693","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAmountAndExecute_WithToken_IncorrectValue","nameLocation":"34206:50:64","parameters":{"id":61991,"nodeType":"ParameterList","parameters":[],"src":"34256:2:64"},"returnParameters":{"id":61992,"nodeType":"ParameterList","parameters":[],"src":"34266:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62205,"nodeType":"FunctionDefinition","src":"35094:1315:64","nodes":[],"body":{"id":62204,"nodeType":"Block","src":"35145:1264:64","nodes":[],"statements":[{"assignments":[62100],"declarations":[{"constant":false,"id":62100,"mutability":"mutable","name":"originalCode","nameLocation":"35208:12:64","nodeType":"VariableDeclaration","scope":62204,"src":"35195:25:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62099,"name":"bytes","nodeType":"ElementaryTypeName","src":"35195:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62103,"initialValue":{"expression":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":62101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35223:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"id":62102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35266:4:64","memberName":"code","nodeType":"MemberAccess","src":"35223:47:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"35195:75:64"},{"assignments":[62106],"declarations":[{"constant":false,"id":62106,"mutability":"mutable","name":"failingMulticall","nameLocation":"35395:16:64","nodeType":"VariableDeclaration","scope":62204,"src":"35371:40:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"},"typeName":{"id":62105,"nodeType":"UserDefinedTypeName","pathNode":{"id":62104,"name":"AlwaysFailingMulticall3","nameLocations":["35371:23:64"],"nodeType":"IdentifierPath","referencedDeclaration":58633,"src":"35371:23:64"},"referencedDeclaration":58633,"src":"35371:23:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}},"visibility":"internal"}],"id":62111,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":62109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"35414:27:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AlwaysFailingMulticall3_$58633_$","typeString":"function () returns (contract AlwaysFailingMulticall3)"},"typeName":{"id":62108,"nodeType":"UserDefinedTypeName","pathNode":{"id":62107,"name":"AlwaysFailingMulticall3","nameLocations":["35418:23:64"],"nodeType":"IdentifierPath","referencedDeclaration":58633,"src":"35418:23:64"},"referencedDeclaration":58633,"src":"35418:23:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}}},"id":62110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35414:29:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}},"nodeType":"VariableDeclarationStatement","src":"35371:72:64"},{"expression":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":62115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35461:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},{"expression":{"arguments":[{"id":62118,"name":"failingMulticall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62106,"src":"35513:16:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}],"id":62117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35505:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62116,"name":"address","nodeType":"ElementaryTypeName","src":"35505:7:64","typeDescriptions":{}}},"id":62119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35505:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35531:4:64","memberName":"code","nodeType":"MemberAccess","src":"35505:30:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62112,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"35453:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35456:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"35453:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":62121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35453:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62122,"nodeType":"ExpressionStatement","src":"35453:83:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":62125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35600:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"id":62126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35643:4:64","memberName":"code","nodeType":"MemberAccess","src":"35600:47:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62124,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"35590:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":62127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35590:58:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"arguments":[{"id":62131,"name":"failingMulticall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62106,"src":"35668:16:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}],"id":62130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35660:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62129,"name":"address","nodeType":"ElementaryTypeName","src":"35660:7:64","typeDescriptions":{}}},"id":62132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35660:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35686:4:64","memberName":"code","nodeType":"MemberAccess","src":"35660:30:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62128,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"35650:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":62134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35650:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":62123,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":890,"src":"35581:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":62135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35581:111:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62136,"nodeType":"ExpressionStatement","src":"35581:111:64"},{"assignments":[62142],"declarations":[{"constant":false,"id":62142,"mutability":"mutable","name":"calls","nameLocation":"35730:5:64","nodeType":"VariableDeclaration","scope":62204,"src":"35703:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":62140,"nodeType":"UserDefinedTypeName","pathNode":{"id":62139,"name":"IMulticall3.Call3","nameLocations":["35703:11:64","35715:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"35703:17:64"},"referencedDeclaration":51153,"src":"35703:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":62141,"nodeType":"ArrayTypeName","src":"35703:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":62149,"initialValue":{"arguments":[{"hexValue":"31","id":62147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35762:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35738:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":62144,"nodeType":"UserDefinedTypeName","pathNode":{"id":62143,"name":"IMulticall3.Call3","nameLocations":["35742:11:64","35754:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"35742:17:64"},"referencedDeclaration":51153,"src":"35742:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":62145,"nodeType":"ArrayTypeName","src":"35742:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":62148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35738:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"35703:61:64"},{"expression":{"id":62165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62150,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62142,"src":"35774:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":62152,"indexExpression":{"hexValue":"30","id":62151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35780:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"35774:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62157,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"35833:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":62156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35825:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62155,"name":"address","nodeType":"ElementaryTypeName","src":"35825:7:64","typeDescriptions":{}}},"id":62158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35825:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":62159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"35856:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":62162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35897:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":62160,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35873:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35877:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35873:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35873:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62153,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"35785:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":62154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35797:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"35785:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":62164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["35817:6:64","35842:12:64","35863:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"35785:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"35774:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":62166,"nodeType":"ExpressionStatement","src":"35774:148:64"},{"assignments":[62168],"declarations":[{"constant":false,"id":62168,"mutability":"mutable","name":"callData","nameLocation":"35946:8:64","nodeType":"VariableDeclaration","scope":62204,"src":"35933:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62167,"name":"bytes","nodeType":"ElementaryTypeName","src":"35933:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62174,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":62171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35981:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":62172,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62142,"src":"36019:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":62169,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35957:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35961:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35957:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35957:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"35933:92:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62180,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"36105:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36118:16:64","memberName":"TargetCallFailed","nodeType":"MemberAccess","referencedDeclaration":49759,"src":"36105:29:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":62182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36135:8:64","memberName":"selector","nodeType":"MemberAccess","src":"36105:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"4572726f7228737472696e6729","id":62185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36185:15:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_08c379a0afcc32b1a39302f7cb8073359698411ab5fd6e3edb2c02c0b5fba8aa","typeString":"literal_string \"Error(string)\""},"value":"Error(string)"},{"hexValue":"4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265","id":62186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36202:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""},"value":"MockMulticall3: forced failure"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_08c379a0afcc32b1a39302f7cb8073359698411ab5fd6e3edb2c02c0b5fba8aa","typeString":"literal_string \"Error(string)\""},{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""}],"expression":{"id":62183,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36161:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36165:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36161:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36161:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36065:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36069:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"36065:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36065:184:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62175,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"36036:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36039:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"36036:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36036:223:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62190,"nodeType":"ExpressionStatement","src":"36036:223:64"},{"expression":{"arguments":[{"id":62194,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62168,"src":"36284:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62191,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"36269:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36276:7:64","memberName":"execute","nodeType":"MemberAccess","referencedDeclaration":49804,"src":"36269:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":62195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36269:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":62196,"nodeType":"ExpressionStatement","src":"36269:24:64"},{"expression":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":62200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36345:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},{"id":62201,"name":"originalCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62100,"src":"36389:12:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62197,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"36337:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36340:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"36337:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":62202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36337:65:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62203,"nodeType":"ExpressionStatement","src":"36337:65:64"}]},"functionSelector":"17adc5c4","implemented":true,"kind":"function","modifiers":[],"name":"testExecute_WithFailingMulticall","nameLocation":"35103:32:64","parameters":{"id":62097,"nodeType":"ParameterList","parameters":[],"src":"35135:2:64"},"returnParameters":{"id":62098,"nodeType":"ParameterList","parameters":[],"src":"35145:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62328,"nodeType":"FunctionDefinition","src":"36415:1435:64","nodes":[],"body":{"id":62327,"nodeType":"Block","src":"36474:1376:64","nodes":[],"statements":[{"assignments":[62209],"declarations":[{"constant":false,"id":62209,"mutability":"mutable","name":"transferAmount","nameLocation":"36492:14:64","nodeType":"VariableDeclaration","scope":62327,"src":"36484:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62208,"name":"uint256","nodeType":"ElementaryTypeName","src":"36484:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62211,"initialValue":{"hexValue":"313030653138","id":62210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36509:6:64","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100e18"},"nodeType":"VariableDeclarationStatement","src":"36484:31:64"},{"assignments":[62213],"declarations":[{"constant":false,"id":62213,"mutability":"mutable","name":"originalCode","nameLocation":"36579:12:64","nodeType":"VariableDeclaration","scope":62327,"src":"36566:25:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62212,"name":"bytes","nodeType":"ElementaryTypeName","src":"36566:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62216,"initialValue":{"expression":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":62214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36594:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"id":62215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36637:4:64","memberName":"code","nodeType":"MemberAccess","src":"36594:47:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"36566:75:64"},{"assignments":[62219],"declarations":[{"constant":false,"id":62219,"mutability":"mutable","name":"failingMulticall","nameLocation":"36766:16:64","nodeType":"VariableDeclaration","scope":62327,"src":"36742:40:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"},"typeName":{"id":62218,"nodeType":"UserDefinedTypeName","pathNode":{"id":62217,"name":"AlwaysFailingMulticall3","nameLocations":["36742:23:64"],"nodeType":"IdentifierPath","referencedDeclaration":58633,"src":"36742:23:64"},"referencedDeclaration":58633,"src":"36742:23:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}},"visibility":"internal"}],"id":62224,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":62222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"36785:27:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AlwaysFailingMulticall3_$58633_$","typeString":"function () returns (contract AlwaysFailingMulticall3)"},"typeName":{"id":62221,"nodeType":"UserDefinedTypeName","pathNode":{"id":62220,"name":"AlwaysFailingMulticall3","nameLocations":["36789:23:64"],"nodeType":"IdentifierPath","referencedDeclaration":58633,"src":"36789:23:64"},"referencedDeclaration":58633,"src":"36789:23:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}}},"id":62223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36785:29:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}},"nodeType":"VariableDeclarationStatement","src":"36742:72:64"},{"expression":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":62228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36832:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},{"expression":{"arguments":[{"id":62231,"name":"failingMulticall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62219,"src":"36884:16:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AlwaysFailingMulticall3_$58633","typeString":"contract AlwaysFailingMulticall3"}],"id":62230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36876:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62229,"name":"address","nodeType":"ElementaryTypeName","src":"36876:7:64","typeDescriptions":{}}},"id":62232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36876:25:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36902:4:64","memberName":"code","nodeType":"MemberAccess","src":"36876:30:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62225,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"36824:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36827:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"36824:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":62234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36824:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62235,"nodeType":"ExpressionStatement","src":"36824:83:64"},{"assignments":[62241],"declarations":[{"constant":false,"id":62241,"mutability":"mutable","name":"calls","nameLocation":"36945:5:64","nodeType":"VariableDeclaration","scope":62327,"src":"36918:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":62239,"nodeType":"UserDefinedTypeName","pathNode":{"id":62238,"name":"IMulticall3.Call3","nameLocations":["36918:11:64","36930:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"36918:17:64"},"referencedDeclaration":51153,"src":"36918:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":62240,"nodeType":"ArrayTypeName","src":"36918:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":62248,"initialValue":{"arguments":[{"hexValue":"31","id":62246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36977:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"36953:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":62243,"nodeType":"UserDefinedTypeName","pathNode":{"id":62242,"name":"IMulticall3.Call3","nameLocations":["36957:11:64","36969:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"36957:17:64"},"referencedDeclaration":51153,"src":"36957:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":62244,"nodeType":"ArrayTypeName","src":"36957:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":62247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36953:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"36918:61:64"},{"expression":{"id":62264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62249,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62241,"src":"36989:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":62251,"indexExpression":{"hexValue":"30","id":62250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36995:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36989:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62256,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"37048:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":62255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37040:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62254,"name":"address","nodeType":"ElementaryTypeName","src":"37040:7:64","typeDescriptions":{}}},"id":62257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37040:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":62258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"37071:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":62261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37112:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":62259,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37088:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37092:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37088:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37088:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62252,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"37000:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":62253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37012:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"37000:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":62263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["37032:6:64","37057:12:64","37078:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"37000:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"36989:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":62265,"nodeType":"ExpressionStatement","src":"36989:148:64"},{"assignments":[62267],"declarations":[{"constant":false,"id":62267,"mutability":"mutable","name":"callData","nameLocation":"37161:8:64","nodeType":"VariableDeclaration","scope":62327,"src":"37148:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62266,"name":"bytes","nodeType":"ElementaryTypeName","src":"37148:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62273,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":62270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37196:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":62271,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62241,"src":"37234:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":62268,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37172:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37176:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37172:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37172:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"37148:92:64"},{"expression":{"arguments":[{"arguments":[{"id":62279,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"37357:4:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}],"id":62278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37349:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62277,"name":"address","nodeType":"ElementaryTypeName","src":"37349:7:64","typeDescriptions":{}}},"id":62280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37349:13:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62281,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62209,"src":"37364:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62274,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"37334:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":62276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37344:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":68036,"src":"37334:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37334:45:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62283,"nodeType":"ExpressionStatement","src":"37334:45:64"},{"expression":{"arguments":[{"arguments":[{"id":62289,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"37415:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":62288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37407:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62287,"name":"address","nodeType":"ElementaryTypeName","src":"37407:7:64","typeDescriptions":{}}},"id":62290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37407:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62291,"name":"transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62209,"src":"37424:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62284,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"37389:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":62286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37399:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"37389:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37389:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62293,"nodeType":"ExpressionStatement","src":"37389:50:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62299,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"37519:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37532:16:64","memberName":"TargetCallFailed","nodeType":"MemberAccess","referencedDeclaration":49759,"src":"37519:29:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":62301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37549:8:64","memberName":"selector","nodeType":"MemberAccess","src":"37519:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"4572726f7228737472696e6729","id":62304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37599:15:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_08c379a0afcc32b1a39302f7cb8073359698411ab5fd6e3edb2c02c0b5fba8aa","typeString":"literal_string \"Error(string)\""},"value":"Error(string)"},{"hexValue":"4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265","id":62305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37616:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""},"value":"MockMulticall3: forced failure"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_08c379a0afcc32b1a39302f7cb8073359698411ab5fd6e3edb2c02c0b5fba8aa","typeString":"literal_string \"Error(string)\""},{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""}],"expression":{"id":62302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37575:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37579:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37575:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37575:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62297,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37479:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37483:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"37479:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37479:184:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62294,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"37450:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37453:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"37450:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37450:223:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62309,"nodeType":"ExpressionStatement","src":"37450:223:64"},{"expression":{"arguments":[{"arguments":[{"id":62315,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"37713:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":62314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37705:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62313,"name":"address","nodeType":"ElementaryTypeName","src":"37705:7:64","typeDescriptions":{}}},"id":62316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37705:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62317,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62267,"src":"37725:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62310,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"37683:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37690:14:64","memberName":"pullAndExecute","nodeType":"MemberAccess","referencedDeclaration":49863,"src":"37683:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":62318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37683:51:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":62319,"nodeType":"ExpressionStatement","src":"37683:51:64"},{"expression":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":62323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37786:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},{"id":62324,"name":"originalCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62213,"src":"37830:12:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62320,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"37778:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37781:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"37778:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":62325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37778:65:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62326,"nodeType":"ExpressionStatement","src":"37778:65:64"}]},"functionSelector":"2091fcb0","implemented":true,"kind":"function","modifiers":[],"name":"test_pullAndExecute_WithFailingMulticall","nameLocation":"36424:40:64","parameters":{"id":62206,"nodeType":"ParameterList","parameters":[],"src":"36464:2:64"},"returnParameters":{"id":62207,"nodeType":"ParameterList","parameters":[],"src":"36474:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62370,"nodeType":"FunctionDefinition","src":"37856:354:64","nodes":[],"body":{"id":62369,"nodeType":"Block","src":"37917:293:64","nodes":[],"statements":[{"assignments":[62332],"declarations":[{"constant":false,"id":62332,"mutability":"mutable","name":"callData","nameLocation":"37940:8:64","nodeType":"VariableDeclaration","scope":62369,"src":"37927:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62331,"name":"bytes","nodeType":"ElementaryTypeName","src":"37927:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62342,"initialValue":{"arguments":[{"hexValue":"6465706f7369744574682875696e743235362c6164647265737329","id":62335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37975:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},"value":"depositEth(uint256,address)"},{"id":62336,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"38006:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":62339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38027:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":62338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38019:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62337,"name":"address","nodeType":"ElementaryTypeName","src":"38019:7:64","typeDescriptions":{}}},"id":62340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38019:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62333,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37951:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37955:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37951:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37951:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"37927:107:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":62346,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"38061:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38074:16:64","memberName":"NoValueAvailable","nodeType":"MemberAccess","referencedDeclaration":49741,"src":"38061:29:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38091:8:64","memberName":"selector","nodeType":"MemberAccess","src":"38061:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":62343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"38045:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38048:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"38045:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":62349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38045:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62350,"nodeType":"ExpressionStatement","src":"38045:55:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":62358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38154:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38146:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62356,"name":"address","nodeType":"ElementaryTypeName","src":"38146:7:64","typeDescriptions":{}}},"id":62359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38146:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62362,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"38166:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":62361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38158:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62360,"name":"address","nodeType":"ElementaryTypeName","src":"38158:7:64","typeDescriptions":{}}},"id":62363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38158:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62364,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62332,"src":"38178:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":62365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38188:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":62366,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"38191:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":62351,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"38110:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38117:18:64","memberName":"injectSweepAndCall","nodeType":"MemberAccess","referencedDeclaration":50076,"src":"38110:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":62355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"30","id":62354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38143:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"src":"38110:35:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$value","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":62367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38110:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62368,"nodeType":"ExpressionStatement","src":"38110:93:64"}]},"functionSelector":"924f1c32","implemented":true,"kind":"function","modifiers":[],"name":"testInjectSweepAndCall_WithETH_ZeroBalance","nameLocation":"37865:42:64","parameters":{"id":62329,"nodeType":"ParameterList","parameters":[],"src":"37907:2:64"},"returnParameters":{"id":62330,"nodeType":"ParameterList","parameters":[],"src":"37917:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62421,"nodeType":"FunctionDefinition","src":"38216:408:64","nodes":[],"body":{"id":62420,"nodeType":"Block","src":"38279:345:64","nodes":[],"statements":[{"assignments":[62375],"declarations":[{"constant":false,"id":62375,"mutability":"mutable","name":"zeroToken","nameLocation":"38299:9:64","nodeType":"VariableDeclaration","scope":62420,"src":"38289:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":62374,"nodeType":"UserDefinedTypeName","pathNode":{"id":62373,"name":"MockERC20","nameLocations":["38289:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"38289:9:64"},"referencedDeclaration":68037,"src":"38289:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":62383,"initialValue":{"arguments":[{"hexValue":"5a65726f","id":62379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38325:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3983b4460d01879651d35150379070ca757b73fbb4d27d8b95411fbe423d6c71","typeString":"literal_string \"Zero\""},"value":"Zero"},{"hexValue":"5a45524f","id":62380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38333:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b2","typeString":"literal_string \"ZERO\""},"value":"ZERO"},{"hexValue":"3138","id":62381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38341:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3983b4460d01879651d35150379070ca757b73fbb4d27d8b95411fbe423d6c71","typeString":"literal_string \"Zero\""},{"typeIdentifier":"t_stringliteral_2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b2","typeString":"literal_string \"ZERO\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":62378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"38311:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":62377,"nodeType":"UserDefinedTypeName","pathNode":{"id":62376,"name":"MockERC20","nameLocations":["38315:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"38315:9:64"},"referencedDeclaration":68037,"src":"38315:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":62382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38311:33:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"38289:55:64"},{"assignments":[62385],"declarations":[{"constant":false,"id":62385,"mutability":"mutable","name":"callData","nameLocation":"38367:8:64","nodeType":"VariableDeclaration","scope":62420,"src":"38354:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62384,"name":"bytes","nodeType":"ElementaryTypeName","src":"38354:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62395,"initialValue":{"arguments":[{"hexValue":"6465706f7369742875696e743235362c6164647265737329","id":62388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38402:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},"value":"deposit(uint256,address)"},{"id":62389,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"38430:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":62392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38451:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38443:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62390,"name":"address","nodeType":"ElementaryTypeName","src":"38443:7:64","typeDescriptions":{}}},"id":62393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38443:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62386,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38378:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38382:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38378:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38378:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"38354:100:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":62399,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"38481:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38494:15:64","memberName":"NoTokensToSweep","nodeType":"MemberAccess","referencedDeclaration":49751,"src":"38481:28:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38510:8:64","memberName":"selector","nodeType":"MemberAccess","src":"38481:37:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":62396,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"38465:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38468:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"38465:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":62402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38465:54:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62403,"nodeType":"ExpressionStatement","src":"38465:54:64"},{"expression":{"arguments":[{"arguments":[{"id":62409,"name":"zeroToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62375,"src":"38563:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":62408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38555:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62407,"name":"address","nodeType":"ElementaryTypeName","src":"38555:7:64","typeDescriptions":{}}},"id":62410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38555:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62413,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58852,"src":"38583:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":62412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38575:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62411,"name":"address","nodeType":"ElementaryTypeName","src":"38575:7:64","typeDescriptions":{}}},"id":62414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38575:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62415,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62385,"src":"38592:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":62416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38602:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":62417,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"38605:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":62404,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"38529:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38536:18:64","memberName":"injectSweepAndCall","nodeType":"MemberAccess","referencedDeclaration":50076,"src":"38529:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":62418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38529:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62419,"nodeType":"ExpressionStatement","src":"38529:88:64"}]},"functionSelector":"23e58c8f","implemented":true,"kind":"function","modifiers":[],"name":"testInjectSweepAndCall_WithToken_ZeroBalance","nameLocation":"38225:44:64","parameters":{"id":62371,"nodeType":"ParameterList","parameters":[],"src":"38269:2:64"},"returnParameters":{"id":62372,"nodeType":"ParameterList","parameters":[],"src":"38279:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62468,"nodeType":"FunctionDefinition","src":"38630:370:64","nodes":[],"body":{"id":62467,"nodeType":"Block","src":"38682:318:64","nodes":[],"statements":[{"assignments":[62425],"declarations":[{"constant":false,"id":62425,"mutability":"mutable","name":"callData","nameLocation":"38705:8:64","nodeType":"VariableDeclaration","scope":62467,"src":"38692:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62424,"name":"bytes","nodeType":"ElementaryTypeName","src":"38692:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62435,"initialValue":{"arguments":[{"hexValue":"6465706f7369744574682875696e743235362c6164647265737329","id":62428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38740:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},"value":"depositEth(uint256,address)"},{"id":62429,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"38771:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":62432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38792:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":62431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38784:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62430,"name":"address","nodeType":"ElementaryTypeName","src":"38784:7:64","typeDescriptions":{}}},"id":62433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38784:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62426,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38716:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38720:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38716:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38716:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"38692:107:64"},{"expression":{"arguments":[{"id":62439,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"38819:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":62436,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"38810:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38813:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"38810:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38810:16:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62441,"nodeType":"ExpressionStatement","src":"38810:16:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":62445,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"38852:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38865:16:64","memberName":"NoValueAvailable","nodeType":"MemberAccess","referencedDeclaration":49741,"src":"38852:29:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38882:8:64","memberName":"selector","nodeType":"MemberAccess","src":"38852:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":62442,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"38836:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38839:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"38836:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":62448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38836:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62449,"nodeType":"ExpressionStatement","src":"38836:55:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":62456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38944:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38936:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62454,"name":"address","nodeType":"ElementaryTypeName","src":"38936:7:64","typeDescriptions":{}}},"id":62457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38936:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62460,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"38956:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":62459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38948:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62458,"name":"address","nodeType":"ElementaryTypeName","src":"38948:7:64","typeDescriptions":{}}},"id":62461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38948:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62462,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62425,"src":"38968:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":62463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38978:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":62464,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"38981:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[{"id":62451,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"38914:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62450,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"38901:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38901:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38922:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"38901:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":62465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38901:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62466,"nodeType":"ExpressionStatement","src":"38901:92:64"}]},"functionSelector":"374d67c3","implemented":true,"kind":"function","modifiers":[],"name":"testInjectAndCall_WithZeroBalance","nameLocation":"38639:33:64","parameters":{"id":62422,"nodeType":"ParameterList","parameters":[],"src":"38672:2:64"},"returnParameters":{"id":62423,"nodeType":"ParameterList","parameters":[],"src":"38682:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62526,"nodeType":"FunctionDefinition","src":"39006:437:64","nodes":[],"body":{"id":62525,"nodeType":"Block","src":"39063:380:64","nodes":[],"statements":[{"assignments":[62473],"declarations":[{"constant":false,"id":62473,"mutability":"mutable","name":"zeroToken","nameLocation":"39083:9:64","nodeType":"VariableDeclaration","scope":62525,"src":"39073:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":62472,"nodeType":"UserDefinedTypeName","pathNode":{"id":62471,"name":"MockERC20","nameLocations":["39073:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"39073:9:64"},"referencedDeclaration":68037,"src":"39073:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":62481,"initialValue":{"arguments":[{"hexValue":"5a65726f","id":62477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39109:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3983b4460d01879651d35150379070ca757b73fbb4d27d8b95411fbe423d6c71","typeString":"literal_string \"Zero\""},"value":"Zero"},{"hexValue":"5a45524f","id":62478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39117:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b2","typeString":"literal_string \"ZERO\""},"value":"ZERO"},{"hexValue":"3138","id":62479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39125:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3983b4460d01879651d35150379070ca757b73fbb4d27d8b95411fbe423d6c71","typeString":"literal_string \"Zero\""},{"typeIdentifier":"t_stringliteral_2f1c95f5699b1388b3fa2230461010fd3feef63c25f1cc630151d42efc1108b2","typeString":"literal_string \"ZERO\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":62476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"39095:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":62475,"nodeType":"UserDefinedTypeName","pathNode":{"id":62474,"name":"MockERC20","nameLocations":["39099:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"39099:9:64"},"referencedDeclaration":68037,"src":"39099:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":62480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39095:33:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"39073:55:64"},{"assignments":[62483],"declarations":[{"constant":false,"id":62483,"mutability":"mutable","name":"callData","nameLocation":"39151:8:64","nodeType":"VariableDeclaration","scope":62525,"src":"39138:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62482,"name":"bytes","nodeType":"ElementaryTypeName","src":"39138:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62493,"initialValue":{"arguments":[{"hexValue":"6465706f7369742875696e743235362c6164647265737329","id":62486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39186:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},"value":"deposit(uint256,address)"},{"id":62487,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"39214:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":62490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39235:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39227:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62488,"name":"address","nodeType":"ElementaryTypeName","src":"39227:7:64","typeDescriptions":{}}},"id":62491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39227:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39162:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39166:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39162:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39162:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"39138:100:64"},{"expression":{"arguments":[{"id":62497,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"39258:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":62494,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"39249:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39252:5:64","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"39249:8:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39249:16:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62499,"nodeType":"ExpressionStatement","src":"39249:16:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":62503,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"39291:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39304:15:64","memberName":"NoTokensToSweep","nodeType":"MemberAccess","referencedDeclaration":49751,"src":"39291:28:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39320:8:64","memberName":"selector","nodeType":"MemberAccess","src":"39291:37:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":62500,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"39275:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39278:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"39275:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":62506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39275:54:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62507,"nodeType":"ExpressionStatement","src":"39275:54:64"},{"expression":{"arguments":[{"arguments":[{"id":62514,"name":"zeroToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62473,"src":"39382:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":62513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39374:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62512,"name":"address","nodeType":"ElementaryTypeName","src":"39374:7:64","typeDescriptions":{}}},"id":62515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39374:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62518,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58852,"src":"39402:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":62517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39394:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62516,"name":"address","nodeType":"ElementaryTypeName","src":"39394:7:64","typeDescriptions":{}}},"id":62519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39394:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62520,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62483,"src":"39411:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":62521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39421:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":62522,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"39424:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[{"id":62509,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"39352:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62508,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"39339:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39339:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39360:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"39339:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":62523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39339:97:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62524,"nodeType":"ExpressionStatement","src":"39339:97:64"}]},"functionSelector":"bcb51278","implemented":true,"kind":"function","modifiers":[],"name":"testInjectAndCall_WithTokenZeroBalance","nameLocation":"39015:38:64","parameters":{"id":62469,"nodeType":"ParameterList","parameters":[],"src":"39053:2:64"},"returnParameters":{"id":62470,"nodeType":"ParameterList","parameters":[],"src":"39063:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62586,"nodeType":"FunctionDefinition","src":"39449:613:64","nodes":[],"body":{"id":62585,"nodeType":"Block","src":"39514:548:64","nodes":[],"statements":[{"assignments":[62530],"declarations":[{"constant":false,"id":62530,"mutability":"mutable","name":"ethAmount","nameLocation":"39532:9:64","nodeType":"VariableDeclaration","scope":62585,"src":"39524:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62529,"name":"uint256","nodeType":"ElementaryTypeName","src":"39524:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62532,"initialValue":{"hexValue":"31","id":62531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39544:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"39524:27:64"},{"assignments":[62534],"declarations":[{"constant":false,"id":62534,"mutability":"mutable","name":"callData","nameLocation":"39575:8:64","nodeType":"VariableDeclaration","scope":62585,"src":"39562:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62533,"name":"bytes","nodeType":"ElementaryTypeName","src":"39562:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62544,"initialValue":{"arguments":[{"hexValue":"6465706f7369744574682875696e743235362c6164647265737329","id":62537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39610:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},"value":"depositEth(uint256,address)"},{"id":62538,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"39641:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":62541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39662:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":62540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39654:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62539,"name":"address","nodeType":"ElementaryTypeName","src":"39654:7:64","typeDescriptions":{}}},"id":62542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39654:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62535,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39586:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39590:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39586:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39586:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"39562:107:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":62548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"39736:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":62545,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"39710:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}},"id":62547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39720:15:64","memberName":"setShouldRevert","nodeType":"MemberAccess","referencedDeclaration":58722,"src":"39710:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$returns$__$","typeString":"function (bool) external"}},"id":62549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39710:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62550,"nodeType":"ExpressionStatement","src":"39710:31:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62556,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"39821:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39834:16:64","memberName":"TargetCallFailed","nodeType":"MemberAccess","referencedDeclaration":49759,"src":"39821:29:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":62558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39851:8:64","memberName":"selector","nodeType":"MemberAccess","src":"39821:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"4572726f7228737472696e6729","id":62561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39885:15:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_08c379a0afcc32b1a39302f7cb8073359698411ab5fd6e3edb2c02c0b5fba8aa","typeString":"literal_string \"Error(string)\""},"value":"Error(string)"},{"hexValue":"546172676574207265766572746564","id":62562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39902:17:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_74b5b0583b62deaf67ce57be9d48e950be7c0750bc0f574e7ac9d486f4260858","typeString":"literal_string \"Target reverted\""},"value":"Target reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_08c379a0afcc32b1a39302f7cb8073359698411ab5fd6e3edb2c02c0b5fba8aa","typeString":"literal_string \"Error(string)\""},{"typeIdentifier":"t_stringliteral_74b5b0583b62deaf67ce57be9d48e950be7c0750bc0f574e7ac9d486f4260858","typeString":"literal_string \"Target reverted\""}],"expression":{"id":62559,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39861:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39865:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39861:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39861:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62554,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39781:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39785:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"39781:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39781:153:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62551,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"39752:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39755:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"39752:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39752:192:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62566,"nodeType":"ExpressionStatement","src":"39752:192:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":62574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40006:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39998:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62572,"name":"address","nodeType":"ElementaryTypeName","src":"39998:7:64","typeDescriptions":{}}},"id":62575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39998:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62578,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"40018:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":62577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40010:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62576,"name":"address","nodeType":"ElementaryTypeName","src":"40010:7:64","typeDescriptions":{}}},"id":62579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40010:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62580,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62534,"src":"40030:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":62581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40040:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":62582,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"40043:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":62567,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"39954:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39961:18:64","memberName":"injectSweepAndCall","nodeType":"MemberAccess","referencedDeclaration":50076,"src":"39954:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":62571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":62570,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62530,"src":"39987:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"39954:43:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$value","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":62583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39954:101:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62584,"nodeType":"ExpressionStatement","src":"39954:101:64"}]},"functionSelector":"2d13f423","implemented":true,"kind":"function","modifiers":[],"name":"testInjectSweepAndCall_WithETH_TargetCallFails","nameLocation":"39458:46:64","parameters":{"id":62527,"nodeType":"ParameterList","parameters":[],"src":"39504:2:64"},"returnParameters":{"id":62528,"nodeType":"ParameterList","parameters":[],"src":"39514:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62687,"nodeType":"FunctionDefinition","src":"40068:851:64","nodes":[],"body":{"id":62686,"nodeType":"Block","src":"40135:784:64","nodes":[],"statements":[{"assignments":[62591],"declarations":[{"constant":false,"id":62591,"mutability":"mutable","name":"testToken","nameLocation":"40155:9:64","nodeType":"VariableDeclaration","scope":62686,"src":"40145:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":62590,"nodeType":"UserDefinedTypeName","pathNode":{"id":62589,"name":"MockERC20","nameLocations":["40145:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"40145:9:64"},"referencedDeclaration":68037,"src":"40145:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":62599,"initialValue":{"arguments":[{"hexValue":"54657374","id":62595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40181:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},"value":"Test"},{"hexValue":"545354","id":62596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40189:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},"value":"TST"},{"hexValue":"3138","id":62597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40196:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":62594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"40167:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":62593,"nodeType":"UserDefinedTypeName","pathNode":{"id":62592,"name":"MockERC20","nameLocations":["40171:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"40171:9:64"},"referencedDeclaration":68037,"src":"40171:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":62598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40167:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"40145:54:64"},{"assignments":[62602],"declarations":[{"constant":false,"id":62602,"mutability":"mutable","name":"testTarget","nameLocation":"40220:10:64","nodeType":"VariableDeclaration","scope":62686,"src":"40209:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"},"typeName":{"id":62601,"nodeType":"UserDefinedTypeName","pathNode":{"id":62600,"name":"MockTarget","nameLocations":["40209:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"40209:10:64"},"referencedDeclaration":58706,"src":"40209:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"visibility":"internal"}],"id":62611,"initialValue":{"arguments":[{"arguments":[{"id":62608,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62591,"src":"40256:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":62607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40248:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62606,"name":"address","nodeType":"ElementaryTypeName","src":"40248:7:64","typeDescriptions":{}}},"id":62609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40248:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"40233:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockTarget_$58706_$","typeString":"function (address) returns (contract MockTarget)"},"typeName":{"id":62604,"nodeType":"UserDefinedTypeName","pathNode":{"id":62603,"name":"MockTarget","nameLocations":["40237:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"40237:10:64"},"referencedDeclaration":58706,"src":"40237:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}},"id":62610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40233:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"nodeType":"VariableDeclarationStatement","src":"40209:58:64"},{"assignments":[62613],"declarations":[{"constant":false,"id":62613,"mutability":"mutable","name":"tokenBalance","nameLocation":"40286:12:64","nodeType":"VariableDeclaration","scope":62686,"src":"40278:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62612,"name":"uint256","nodeType":"ElementaryTypeName","src":"40278:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62615,"initialValue":{"hexValue":"31303030653138","id":62614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40301:7:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000e18"},"nodeType":"VariableDeclarationStatement","src":"40278:30:64"},{"expression":{"arguments":[{"arguments":[{"id":62621,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"40341:4:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterTest_$64596","typeString":"contract TrailsRouterTest"}],"id":62620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40333:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62619,"name":"address","nodeType":"ElementaryTypeName","src":"40333:7:64","typeDescriptions":{}}},"id":62622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40333:13:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62623,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62613,"src":"40348:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62616,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62591,"src":"40318:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":62618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40328:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":68036,"src":"40318:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40318:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62625,"nodeType":"ExpressionStatement","src":"40318:43:64"},{"expression":{"arguments":[{"arguments":[{"id":62631,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"40397:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":62630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40389:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62629,"name":"address","nodeType":"ElementaryTypeName","src":"40389:7:64","typeDescriptions":{}}},"id":62632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40389:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62633,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62613,"src":"40406:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62626,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62591,"src":"40371:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":62628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40381:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"40371:17:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40371:48:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62635,"nodeType":"ExpressionStatement","src":"40371:48:64"},{"assignments":[62637],"declarations":[{"constant":false,"id":62637,"mutability":"mutable","name":"callData","nameLocation":"40443:8:64","nodeType":"VariableDeclaration","scope":62686,"src":"40430:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62636,"name":"bytes","nodeType":"ElementaryTypeName","src":"40430:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62647,"initialValue":{"arguments":[{"hexValue":"6465706f7369742875696e743235362c6164647265737329","id":62640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40478:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},"value":"deposit(uint256,address)"},{"id":62641,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"40506:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":62644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40527:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":62643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40519:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62642,"name":"address","nodeType":"ElementaryTypeName","src":"40519:7:64","typeDescriptions":{}}},"id":62645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40519:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40454:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40458:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40454:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40454:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"40430:104:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":62651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"40602:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":62648,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62602,"src":"40575:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"id":62650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40586:15:64","memberName":"setShouldRevert","nodeType":"MemberAccess","referencedDeclaration":58662,"src":"40575:26:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$returns$__$","typeString":"function (bool) external"}},"id":62652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40575:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62653,"nodeType":"ExpressionStatement","src":"40575:32:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62659,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"40687:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40700:16:64","memberName":"TargetCallFailed","nodeType":"MemberAccess","referencedDeclaration":49759,"src":"40687:29:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":62661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40717:8:64","memberName":"selector","nodeType":"MemberAccess","src":"40687:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"4572726f7228737472696e6729","id":62664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40751:15:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_08c379a0afcc32b1a39302f7cb8073359698411ab5fd6e3edb2c02c0b5fba8aa","typeString":"literal_string \"Error(string)\""},"value":"Error(string)"},{"hexValue":"546172676574207265766572746564","id":62665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40768:17:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_74b5b0583b62deaf67ce57be9d48e950be7c0750bc0f574e7ac9d486f4260858","typeString":"literal_string \"Target reverted\""},"value":"Target reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_08c379a0afcc32b1a39302f7cb8073359698411ab5fd6e3edb2c02c0b5fba8aa","typeString":"literal_string \"Error(string)\""},{"typeIdentifier":"t_stringliteral_74b5b0583b62deaf67ce57be9d48e950be7c0750bc0f574e7ac9d486f4260858","typeString":"literal_string \"Target reverted\""}],"expression":{"id":62662,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40727:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40731:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40727:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":62666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40727:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62657,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40647:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40651:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"40647:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40647:153:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62654,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"40618:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40621:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"40618:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40618:192:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62669,"nodeType":"ExpressionStatement","src":"40618:192:64"},{"expression":{"arguments":[{"arguments":[{"id":62675,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62591,"src":"40854:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":62674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40846:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62673,"name":"address","nodeType":"ElementaryTypeName","src":"40846:7:64","typeDescriptions":{}}},"id":62676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40846:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62679,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62602,"src":"40874:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":62678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40866:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62677,"name":"address","nodeType":"ElementaryTypeName","src":"40866:7:64","typeDescriptions":{}}},"id":62680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40866:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62681,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62637,"src":"40887:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"34","id":62682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40897:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},{"id":62683,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"40900:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":62670,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"40820:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40827:18:64","memberName":"injectSweepAndCall","nodeType":"MemberAccess","referencedDeclaration":50076,"src":"40820:25:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":62684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40820:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62685,"nodeType":"ExpressionStatement","src":"40820:92:64"}]},"functionSelector":"6dda3c05","implemented":true,"kind":"function","modifiers":[],"name":"testInjectSweepAndCall_WithToken_TargetCallFails","nameLocation":"40077:48:64","parameters":{"id":62587,"nodeType":"ParameterList","parameters":[],"src":"40125:2:64"},"returnParameters":{"id":62588,"nodeType":"ParameterList","parameters":[],"src":"40135:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62786,"nodeType":"FunctionDefinition","src":"40925:705:64","nodes":[],"body":{"id":62785,"nodeType":"Block","src":"40973:657:64","nodes":[],"statements":[{"assignments":[62691],"declarations":[{"constant":false,"id":62691,"mutability":"mutable","name":"refundRecipient","nameLocation":"40991:15:64","nodeType":"VariableDeclaration","scope":62785,"src":"40983:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62690,"name":"address","nodeType":"ElementaryTypeName","src":"40983:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62696,"initialValue":{"arguments":[{"hexValue":"3078323031","id":62694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41017:5:64","typeDescriptions":{"typeIdentifier":"t_rational_513_by_1","typeString":"int_const 513"},"value":"0x201"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_513_by_1","typeString":"int_const 513"}],"id":62693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41009:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62692,"name":"address","nodeType":"ElementaryTypeName","src":"41009:7:64","typeDescriptions":{}}},"id":62695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41009:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"40983:40:64"},{"assignments":[62698],"declarations":[{"constant":false,"id":62698,"mutability":"mutable","name":"sweepRecipient","nameLocation":"41041:14:64","nodeType":"VariableDeclaration","scope":62785,"src":"41033:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62697,"name":"address","nodeType":"ElementaryTypeName","src":"41033:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62703,"initialValue":{"arguments":[{"hexValue":"3078323032","id":62701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41066:5:64","typeDescriptions":{"typeIdentifier":"t_rational_514_by_1","typeString":"int_const 514"},"value":"0x202"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_514_by_1","typeString":"int_const 514"}],"id":62700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41058:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62699,"name":"address","nodeType":"ElementaryTypeName","src":"41058:7:64","typeDescriptions":{}}},"id":62702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41058:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"41033:39:64"},{"assignments":[62705],"declarations":[{"constant":false,"id":62705,"mutability":"mutable","name":"amount","nameLocation":"41091:6:64","nodeType":"VariableDeclaration","scope":62785,"src":"41083:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62704,"name":"uint256","nodeType":"ElementaryTypeName","src":"41083:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62707,"initialValue":{"hexValue":"33","id":62706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41100:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_3000000000000000000_by_1","typeString":"int_const 3000000000000000000"},"value":"3"},"nodeType":"VariableDeclarationStatement","src":"41083:24:64"},{"expression":{"arguments":[{"id":62711,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"41125:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":62712,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62705,"src":"41133:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62708,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"41117:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41120:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"41117:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41117:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62714,"nodeType":"ExpressionStatement","src":"41117:23:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":62718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41165:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":62719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41171:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":62720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41177:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41184:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":62715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"41151:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41154:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"41151:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":62722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41151:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62723,"nodeType":"ExpressionStatement","src":"41151:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":62727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41220:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41212:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62725,"name":"address","nodeType":"ElementaryTypeName","src":"41212:7:64","typeDescriptions":{}}},"id":62728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41212:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62729,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62691,"src":"41224:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62730,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62705,"src":"41241:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62724,"name":"Refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58897,"src":"41205:6:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":62731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41205:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62732,"nodeType":"EmitStatement","src":"41200:48:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":62736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41272:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":62737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41278:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":62738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41284:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41291:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":62733,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"41258:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41261:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"41258:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":62740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41258:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62741,"nodeType":"ExpressionStatement","src":"41258:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":62745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41335:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41327:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62743,"name":"address","nodeType":"ElementaryTypeName","src":"41327:7:64","typeDescriptions":{}}},"id":62746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41327:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62747,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62691,"src":"41339:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62748,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62705,"src":"41356:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62749,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62698,"src":"41364:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62750,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62705,"src":"41380:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41388:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62742,"name":"RefundAndSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58911,"src":"41312:14:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256)"}},"id":62752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41312:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62753,"nodeType":"EmitStatement","src":"41307:83:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":62760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41445:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41437:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62758,"name":"address","nodeType":"ElementaryTypeName","src":"41437:7:64","typeDescriptions":{}}},"id":62761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41437:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62762,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62691,"src":"41449:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62763,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62705,"src":"41466:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62764,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62698,"src":"41474:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":62755,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"41414:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62754,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"41401:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41401:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41422:14:64","memberName":"refundAndSweep","nodeType":"MemberAccess","referencedDeclaration":50312,"src":"41401:35:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address) payable external"}},"id":62765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41401:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62766,"nodeType":"ExpressionStatement","src":"41401:88:64"},{"expression":{"arguments":[{"expression":{"id":62768,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"41509:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":62769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41516:7:64","memberName":"balance","nodeType":"MemberAccess","src":"41509:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41525:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62767,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"41500:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41500:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62772,"nodeType":"ExpressionStatement","src":"41500:27:64"},{"expression":{"arguments":[{"expression":{"id":62774,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62691,"src":"41546:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41562:7:64","memberName":"balance","nodeType":"MemberAccess","src":"41546:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62776,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62705,"src":"41571:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62773,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"41537:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41537:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62778,"nodeType":"ExpressionStatement","src":"41537:41:64"},{"expression":{"arguments":[{"expression":{"id":62780,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62698,"src":"41597:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41612:7:64","memberName":"balance","nodeType":"MemberAccess","src":"41597:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41621:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62779,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"41588:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41588:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62784,"nodeType":"ExpressionStatement","src":"41588:35:64"}]},"functionSelector":"f0ce4064","implemented":true,"kind":"function","modifiers":[],"name":"testRefundAndSweep_FullRefund","nameLocation":"40934:29:64","parameters":{"id":62688,"nodeType":"ParameterList","parameters":[],"src":"40963:2:64"},"returnParameters":{"id":62689,"nodeType":"ParameterList","parameters":[],"src":"40973:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62918,"nodeType":"FunctionDefinition","src":"41636:1011:64","nodes":[],"body":{"id":62917,"nodeType":"Block","src":"41692:955:64","nodes":[],"statements":[{"assignments":[62790],"declarations":[{"constant":false,"id":62790,"mutability":"mutable","name":"refundRecipient","nameLocation":"41710:15:64","nodeType":"VariableDeclaration","scope":62917,"src":"41702:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62789,"name":"address","nodeType":"ElementaryTypeName","src":"41702:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62795,"initialValue":{"arguments":[{"hexValue":"3078333031","id":62793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41736:5:64","typeDescriptions":{"typeIdentifier":"t_rational_769_by_1","typeString":"int_const 769"},"value":"0x301"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_769_by_1","typeString":"int_const 769"}],"id":62792,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41728:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62791,"name":"address","nodeType":"ElementaryTypeName","src":"41728:7:64","typeDescriptions":{}}},"id":62794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41728:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"41702:40:64"},{"assignments":[62797],"declarations":[{"constant":false,"id":62797,"mutability":"mutable","name":"sweepRecipient","nameLocation":"41760:14:64","nodeType":"VariableDeclaration","scope":62917,"src":"41752:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62796,"name":"address","nodeType":"ElementaryTypeName","src":"41752:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62802,"initialValue":{"arguments":[{"hexValue":"3078333032","id":62800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41785:5:64","typeDescriptions":{"typeIdentifier":"t_rational_770_by_1","typeString":"int_const 770"},"value":"0x302"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_770_by_1","typeString":"int_const 770"}],"id":62799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41777:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62798,"name":"address","nodeType":"ElementaryTypeName","src":"41777:7:64","typeDescriptions":{}}},"id":62801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41777:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"41752:39:64"},{"assignments":[62804],"declarations":[{"constant":false,"id":62804,"mutability":"mutable","name":"amount","nameLocation":"41810:6:64","nodeType":"VariableDeclaration","scope":62917,"src":"41802:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62803,"name":"uint256","nodeType":"ElementaryTypeName","src":"41802:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62808,"initialValue":{"commonType":{"typeIdentifier":"t_rational_300000000000000000000_by_1","typeString":"int_const 300000000000000000000"},"id":62807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"333030","id":62805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41819:3:64","typeDescriptions":{"typeIdentifier":"t_rational_300_by_1","typeString":"int_const 300"},"value":"300"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":62806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41825:4:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"41819:10:64","typeDescriptions":{"typeIdentifier":"t_rational_300000000000000000000_by_1","typeString":"int_const 300000000000000000000"}},"nodeType":"VariableDeclarationStatement","src":"41802:27:64"},{"assignments":[62810],"declarations":[{"constant":false,"id":62810,"mutability":"mutable","name":"refundRequested","nameLocation":"41847:15:64","nodeType":"VariableDeclaration","scope":62917,"src":"41839:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62809,"name":"uint256","nodeType":"ElementaryTypeName","src":"41839:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62814,"initialValue":{"commonType":{"typeIdentifier":"t_rational_400000000000000000000_by_1","typeString":"int_const 400000000000000000000"},"id":62813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"343030","id":62811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41865:3:64","typeDescriptions":{"typeIdentifier":"t_rational_400_by_1","typeString":"int_const 400"},"value":"400"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":62812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41871:4:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"41865:10:64","typeDescriptions":{"typeIdentifier":"t_rational_400000000000000000000_by_1","typeString":"int_const 400000000000000000000"}},"nodeType":"VariableDeclarationStatement","src":"41839:36:64"},{"expression":{"arguments":[{"id":62818,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"41919:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":62819,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62804,"src":"41927:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62815,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"41908:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":62817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41914:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":40316,"src":"41908:10:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41908:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62821,"nodeType":"ExpressionStatement","src":"41908:26:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":62825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41959:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":62826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41965:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":62827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41971:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"41978:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":62822,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"41945:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41948:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"41945:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":62829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41945:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62830,"nodeType":"ExpressionStatement","src":"41945:39:64"},{"eventCall":{"arguments":[{"arguments":[{"id":62834,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"42020:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":62833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42012:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62832,"name":"address","nodeType":"ElementaryTypeName","src":"42012:7:64","typeDescriptions":{}}},"id":62835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42012:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62836,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62790,"src":"42028:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62837,"name":"refundRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62810,"src":"42045:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62838,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62804,"src":"42062:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62831,"name":"ActualRefund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58921,"src":"41999:12:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":62839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41999:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62840,"nodeType":"EmitStatement","src":"41994:75:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":62844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42093:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":62845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42099:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":62846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42105:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42112:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":62841,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"42079:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42082:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"42079:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":62848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42079:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62849,"nodeType":"ExpressionStatement","src":"42079:39:64"},{"eventCall":{"arguments":[{"arguments":[{"id":62853,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"42148:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":62852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42140:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62851,"name":"address","nodeType":"ElementaryTypeName","src":"42140:7:64","typeDescriptions":{}}},"id":62854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42140:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62855,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62790,"src":"42156:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62856,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62804,"src":"42173:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62850,"name":"Refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58897,"src":"42133:6:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":62857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42133:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62858,"nodeType":"EmitStatement","src":"42128:52:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":62862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42236:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":62863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42242:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":62864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42248:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42255:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":62859,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"42222:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42225:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"42222:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":62866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42222:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62867,"nodeType":"ExpressionStatement","src":"42222:39:64"},{"eventCall":{"arguments":[{"arguments":[{"id":62871,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"42299:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":62870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42291:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62869,"name":"address","nodeType":"ElementaryTypeName","src":"42291:7:64","typeDescriptions":{}}},"id":62872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42291:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62873,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62790,"src":"42307:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62874,"name":"refundRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62810,"src":"42324:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62875,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62797,"src":"42341:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62876,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62804,"src":"42357:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42365:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62868,"name":"RefundAndSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58911,"src":"42276:14:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256)"}},"id":62878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42276:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62879,"nodeType":"EmitStatement","src":"42271:96:64"},{"expression":{"arguments":[{"arguments":[{"id":62886,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"42422:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":62885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42414:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62884,"name":"address","nodeType":"ElementaryTypeName","src":"42414:7:64","typeDescriptions":{}}},"id":62887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42414:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62888,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62790,"src":"42430:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62889,"name":"refundRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62810,"src":"42447:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62890,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62797,"src":"42464:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":62881,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"42391:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62880,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"42378:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42378:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42399:14:64","memberName":"refundAndSweep","nodeType":"MemberAccess","referencedDeclaration":50312,"src":"42378:35:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address) payable external"}},"id":62891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42378:101:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62892,"nodeType":"ExpressionStatement","src":"42378:101:64"},{"expression":{"arguments":[{"arguments":[{"id":62896,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"42515:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":62894,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"42499:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":62895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42505:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"42499:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":62897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42499:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42524:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62893,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"42490:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42490:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62900,"nodeType":"ExpressionStatement","src":"42490:36:64"},{"expression":{"arguments":[{"arguments":[{"id":62904,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62790,"src":"42561:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62902,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"42545:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":62903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42551:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"42545:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":62905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42545:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62906,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62804,"src":"42579:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62901,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"42536:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42536:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62908,"nodeType":"ExpressionStatement","src":"42536:50:64"},{"expression":{"arguments":[{"arguments":[{"id":62912,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62797,"src":"42621:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62910,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"42605:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":62911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42611:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"42605:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":62913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42605:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42638:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62909,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"42596:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42596:44:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62916,"nodeType":"ExpressionStatement","src":"42596:44:64"}]},"functionSelector":"5415a4b0","implemented":true,"kind":"function","modifiers":[],"name":"testRefundAndSweep_PartialRefundERC20","nameLocation":"41645:37:64","parameters":{"id":62787,"nodeType":"ParameterList","parameters":[],"src":"41682:2:64"},"returnParameters":{"id":62788,"nodeType":"ParameterList","parameters":[],"src":"41692:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63021,"nodeType":"FunctionDefinition","src":"42653:764:64","nodes":[],"body":{"id":63020,"nodeType":"Block","src":"42707:710:64","nodes":[],"statements":[{"assignments":[62922],"declarations":[{"constant":false,"id":62922,"mutability":"mutable","name":"refundRecipient","nameLocation":"42725:15:64","nodeType":"VariableDeclaration","scope":63020,"src":"42717:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62921,"name":"address","nodeType":"ElementaryTypeName","src":"42717:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62927,"initialValue":{"arguments":[{"hexValue":"3078343031","id":62925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42751:5:64","typeDescriptions":{"typeIdentifier":"t_rational_1025_by_1","typeString":"int_const 1025"},"value":"0x401"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1025_by_1","typeString":"int_const 1025"}],"id":62924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42743:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62923,"name":"address","nodeType":"ElementaryTypeName","src":"42743:7:64","typeDescriptions":{}}},"id":62926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42743:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"42717:40:64"},{"assignments":[62929],"declarations":[{"constant":false,"id":62929,"mutability":"mutable","name":"sweepRecipient","nameLocation":"42775:14:64","nodeType":"VariableDeclaration","scope":63020,"src":"42767:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62928,"name":"address","nodeType":"ElementaryTypeName","src":"42767:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62934,"initialValue":{"arguments":[{"hexValue":"3078343032","id":62932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42800:5:64","typeDescriptions":{"typeIdentifier":"t_rational_1026_by_1","typeString":"int_const 1026"},"value":"0x402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1026_by_1","typeString":"int_const 1026"}],"id":62931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42792:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62930,"name":"address","nodeType":"ElementaryTypeName","src":"42792:7:64","typeDescriptions":{}}},"id":62933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42792:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"42767:39:64"},{"assignments":[62936],"declarations":[{"constant":false,"id":62936,"mutability":"mutable","name":"amount","nameLocation":"42825:6:64","nodeType":"VariableDeclaration","scope":63020,"src":"42817:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62935,"name":"uint256","nodeType":"ElementaryTypeName","src":"42817:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62938,"initialValue":{"hexValue":"33","id":62937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42834:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_3000000000000000000_by_1","typeString":"int_const 3000000000000000000"},"value":"3"},"nodeType":"VariableDeclarationStatement","src":"42817:24:64"},{"assignments":[62940],"declarations":[{"constant":false,"id":62940,"mutability":"mutable","name":"refundRequested","nameLocation":"42859:15:64","nodeType":"VariableDeclaration","scope":63020,"src":"42851:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62939,"name":"uint256","nodeType":"ElementaryTypeName","src":"42851:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62942,"initialValue":{"hexValue":"30","id":62941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42877:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"42851:27:64"},{"expression":{"arguments":[{"id":62946,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"42896:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":62947,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62936,"src":"42904:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62943,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"42888:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42891:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"42888:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42888:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62949,"nodeType":"ExpressionStatement","src":"42888:23:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":62953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42936:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":62954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42942:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":62955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42948:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42955:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":62950,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"42922:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42925:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"42922:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":62957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42922:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62958,"nodeType":"ExpressionStatement","src":"42922:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":62962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42990:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42982:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62960,"name":"address","nodeType":"ElementaryTypeName","src":"42982:7:64","typeDescriptions":{}}},"id":62963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42982:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62964,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62929,"src":"42994:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62965,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62936,"src":"43010:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62959,"name":"Sweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58889,"src":"42976:5:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":62966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42976:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62967,"nodeType":"EmitStatement","src":"42971:46:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":62971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43041:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":62972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43047:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":62973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43053:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"43060:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":62968,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"43027:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":62970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43030:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"43027:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":62975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43027:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62976,"nodeType":"ExpressionStatement","src":"43027:39:64"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":62980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43104:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43096:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62978,"name":"address","nodeType":"ElementaryTypeName","src":"43096:7:64","typeDescriptions":{}}},"id":62981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43096:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62982,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62922,"src":"43108:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62983,"name":"refundRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62940,"src":"43125:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62984,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62929,"src":"43142:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43158:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62986,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62936,"src":"43161:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62977,"name":"RefundAndSweep","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58911,"src":"43081:14:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,address,uint256,uint256)"}},"id":62987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43081:87:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62988,"nodeType":"EmitStatement","src":"43076:92:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":62995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43223:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43215:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62993,"name":"address","nodeType":"ElementaryTypeName","src":"43215:7:64","typeDescriptions":{}}},"id":62996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43215:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62997,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62922,"src":"43227:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62998,"name":"refundRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62940,"src":"43244:15:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62999,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62929,"src":"43261:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":62990,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"43192:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62989,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"43179:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":62991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43179:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":62992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43200:14:64","memberName":"refundAndSweep","nodeType":"MemberAccess","referencedDeclaration":50312,"src":"43179:35:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address) payable external"}},"id":63000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43179:97:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63001,"nodeType":"ExpressionStatement","src":"43179:97:64"},{"expression":{"arguments":[{"expression":{"id":63003,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"43296:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":63004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43303:7:64","memberName":"balance","nodeType":"MemberAccess","src":"43296:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43312:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63002,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"43287:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43287:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63007,"nodeType":"ExpressionStatement","src":"43287:27:64"},{"expression":{"arguments":[{"expression":{"id":63009,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62922,"src":"43333:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43349:7:64","memberName":"balance","nodeType":"MemberAccess","src":"43333:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43358:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63008,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"43324:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43324:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63013,"nodeType":"ExpressionStatement","src":"43324:36:64"},{"expression":{"arguments":[{"expression":{"id":63015,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62929,"src":"43379:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43394:7:64","memberName":"balance","nodeType":"MemberAccess","src":"43379:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63017,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62936,"src":"43403:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63014,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"43370:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43370:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63019,"nodeType":"ExpressionStatement","src":"43370:40:64"}]},"functionSelector":"13f8beab","implemented":true,"kind":"function","modifiers":[],"name":"testRefundAndSweep_ZeroRefundAmount","nameLocation":"42662:35:64","parameters":{"id":62919,"nodeType":"ParameterList","parameters":[],"src":"42697:2:64"},"returnParameters":{"id":62920,"nodeType":"ParameterList","parameters":[],"src":"42707:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63067,"nodeType":"FunctionDefinition","src":"43423:523:64","nodes":[],"body":{"id":63066,"nodeType":"Block","src":"43484:462:64","nodes":[],"statements":[{"assignments":[63025],"declarations":[{"constant":false,"id":63025,"mutability":"mutable","name":"opHash","nameLocation":"43502:6:64","nodeType":"VariableDeclaration","scope":63066,"src":"43494:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43494:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":63029,"initialValue":{"arguments":[{"hexValue":"74657374206f7065726174696f6e20776974686f75742073656e74696e656c","id":63027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43521:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c383bae8897cd5b4ac6de30be57e2e818a5b6a4a77c60122b7b50a8e81c727f","typeString":"literal_string \"test operation without sentinel\""},"value":"test operation without sentinel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c383bae8897cd5b4ac6de30be57e2e818a5b6a4a77c60122b7b50a8e81c727f","typeString":"literal_string \"test operation without sentinel\""}],"id":63026,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"43511:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":63028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43511:44:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"43494:61:64"},{"assignments":[63031],"declarations":[{"constant":false,"id":63031,"mutability":"mutable","name":"token","nameLocation":"43573:5:64","nodeType":"VariableDeclaration","scope":63066,"src":"43565:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63030,"name":"address","nodeType":"ElementaryTypeName","src":"43565:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":63036,"initialValue":{"arguments":[{"id":63034,"name":"mockToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58843,"src":"43589:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":63033,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43581:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63032,"name":"address","nodeType":"ElementaryTypeName","src":"43581:7:64","typeDescriptions":{}}},"id":63035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43581:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"43565:34:64"},{"assignments":[63038],"declarations":[{"constant":false,"id":63038,"mutability":"mutable","name":"recipientAddr","nameLocation":"43617:13:64","nodeType":"VariableDeclaration","scope":63066,"src":"43609:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63037,"name":"address","nodeType":"ElementaryTypeName","src":"43609:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":63040,"initialValue":{"id":63039,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"43633:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"43609:33:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":63044,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"43669:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":63045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43682:21:64","memberName":"SuccessSentinelNotSet","nodeType":"MemberAccess","referencedDeclaration":49739,"src":"43669:34:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":63046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43704:8:64","memberName":"selector","nodeType":"MemberAccess","src":"43669:43:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":63041,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"43653:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43656:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"43653:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":63047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43653:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63048,"nodeType":"ExpressionStatement","src":"43653:60:64"},{"assignments":[63050,null],"declarations":[{"constant":false,"id":63050,"mutability":"mutable","name":"success","nameLocation":"43793:7:64","nodeType":"VariableDeclaration","scope":63066,"src":"43788:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63049,"name":"bool","nodeType":"ElementaryTypeName","src":"43788:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":63063,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63055,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"43852:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43859:22:64","memberName":"validateOpHashAndSweep","nodeType":"MemberAccess","referencedDeclaration":50348,"src":"43852:29:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address) payable external"}},"id":63057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43882:8:64","memberName":"selector","nodeType":"MemberAccess","src":"43852:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63058,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63025,"src":"43892:6:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63059,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63031,"src":"43900:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63060,"name":"recipientAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63038,"src":"43907:13:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63053,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43829:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43833:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"43829:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43829:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63051,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"43817:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":63052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43824:4:64","memberName":"call","nodeType":"MemberAccess","src":"43817:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":63062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43817:105:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"43787:135:64"},{"expression":{"id":63064,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63050,"src":"43932:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63065,"nodeType":"ExpressionStatement","src":"43932:7:64"}]},"functionSelector":"ed90149e","implemented":true,"kind":"function","modifiers":[],"name":"testValidateOpHashAndSweep_WithoutSentinel","nameLocation":"43432:42:64","parameters":{"id":63022,"nodeType":"ParameterList","parameters":[],"src":"43474:2:64"},"returnParameters":{"id":63023,"nodeType":"ParameterList","parameters":[],"src":"43484:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63154,"nodeType":"FunctionDefinition","src":"43952:686:64","nodes":[],"body":{"id":63153,"nodeType":"Block","src":"44015:623:64","nodes":[],"statements":[{"assignments":[63071],"declarations":[{"constant":false,"id":63071,"mutability":"mutable","name":"ethAmount","nameLocation":"44033:9:64","nodeType":"VariableDeclaration","scope":63153,"src":"44025:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63070,"name":"uint256","nodeType":"ElementaryTypeName","src":"44025:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63073,"initialValue":{"hexValue":"31","id":63072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44045:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"44025:27:64"},{"expression":{"arguments":[{"id":63077,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"44070:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":63078,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63071,"src":"44078:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63074,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"44062:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44065:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"44062:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44062:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63080,"nodeType":"ExpressionStatement","src":"44062:26:64"},{"assignments":[63082],"declarations":[{"constant":false,"id":63082,"mutability":"mutable","name":"callData","nameLocation":"44112:8:64","nodeType":"VariableDeclaration","scope":63153,"src":"44099:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63081,"name":"bytes","nodeType":"ElementaryTypeName","src":"44099:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63092,"initialValue":{"arguments":[{"hexValue":"6465706f7369744574682875696e743235362c6164647265737329","id":63085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44147:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},"value":"depositEth(uint256,address)"},{"id":63086,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"44178:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":63089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44199:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":63088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44191:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63087,"name":"address","nodeType":"ElementaryTypeName","src":"44191:7:64","typeDescriptions":{}}},"id":63090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44191:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46f6b4e15c21b85f15896153d8d33b67e6d832e816356982f7356a279b6919bf","typeString":"literal_string \"depositEth(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44123:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44127:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44123:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44123:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"44099:107:64"},{"assignments":[63094],"declarations":[{"constant":false,"id":63094,"mutability":"mutable","name":"innerData","nameLocation":"44229:9:64","nodeType":"VariableDeclaration","scope":63153,"src":"44216:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63093,"name":"bytes","nodeType":"ElementaryTypeName","src":"44216:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63115,"initialValue":{"arguments":[{"expression":{"expression":{"id":63097,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"44277:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44284:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"44277:20:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":63099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44298:8:64","memberName":"selector","nodeType":"MemberAccess","src":"44277:29:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":63102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44316:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44308:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63100,"name":"address","nodeType":"ElementaryTypeName","src":"44308:7:64","typeDescriptions":{}}},"id":63103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44308:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":63106,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"44328:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":63105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44320:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63104,"name":"address","nodeType":"ElementaryTypeName","src":"44320:7:64","typeDescriptions":{}}},"id":63107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44320:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63108,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63082,"src":"44340:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"34","id":63111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44358:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":63110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44350:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63109,"name":"uint256","nodeType":"ElementaryTypeName","src":"44350:7:64","typeDescriptions":{}}},"id":63112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44350:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63113,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"44362:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":63095,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44241:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44245:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"44241:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44241:142:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"44216:167:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":63122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44457:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44449:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":63120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44449:7:64","typeDescriptions":{}}},"id":63123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44449:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":63124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44461:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44464:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44467:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44470:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63128,"name":"innerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63094,"src":"44473:9:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":63117,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"44414:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63116,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"44394:19:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IDelegatedExtension_$48994_$","typeString":"type(contract IDelegatedExtension)"}},"id":63118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44394:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IDelegatedExtension_$48994","typeString":"contract IDelegatedExtension"}},"id":63119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44422:26:64","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":48993,"src":"44394:54:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":63129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44394:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63130,"nodeType":"ExpressionStatement","src":"44394:89:64"},{"expression":{"arguments":[{"expression":{"id":63132,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"44503:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":63133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44510:7:64","memberName":"balance","nodeType":"MemberAccess","src":"44503:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44519:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63131,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"44494:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44494:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63136,"nodeType":"ExpressionStatement","src":"44494:27:64"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":63140,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"44548:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}],"id":63139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44540:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63138,"name":"address","nodeType":"ElementaryTypeName","src":"44540:7:64","typeDescriptions":{}}},"id":63141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44540:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44559:7:64","memberName":"balance","nodeType":"MemberAccess","src":"44540:26:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63143,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63071,"src":"44568:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63137,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"44531:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44531:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63145,"nodeType":"ExpressionStatement","src":"44531:47:64"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63147,"name":"targetEth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"44597:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTargetETH_$58750","typeString":"contract MockTargetETH"}},"id":63148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44607:10:64","memberName":"lastAmount","nodeType":"MemberAccess","referencedDeclaration":58708,"src":"44597:20:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44597:22:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63150,"name":"ethAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63071,"src":"44621:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63146,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"44588:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44588:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63152,"nodeType":"ExpressionStatement","src":"44588:43:64"}]},"functionSelector":"ad2b6d46","implemented":true,"kind":"function","modifiers":[],"name":"testHandleSequenceDelegateCall_InjectAndCall","nameLocation":"43961:44:64","parameters":{"id":63068,"nodeType":"ParameterList","parameters":[],"src":"44005:2:64"},"returnParameters":{"id":63069,"nodeType":"ParameterList","parameters":[],"src":"44015:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63210,"nodeType":"FunctionDefinition","src":"44644:416:64","nodes":[],"body":{"id":63209,"nodeType":"Block","src":"44699:361:64","nodes":[],"statements":[{"assignments":[63158],"declarations":[{"constant":false,"id":63158,"mutability":"mutable","name":"amount","nameLocation":"44717:6:64","nodeType":"VariableDeclaration","scope":63209,"src":"44709:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63157,"name":"uint256","nodeType":"ElementaryTypeName","src":"44709:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63160,"initialValue":{"hexValue":"31","id":63159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44726:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"44709:24:64"},{"expression":{"arguments":[{"id":63164,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"44751:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":63165,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63158,"src":"44759:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63161,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"44743:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44746:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"44743:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44743:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63167,"nodeType":"ExpressionStatement","src":"44743:23:64"},{"assignments":[63169],"declarations":[{"constant":false,"id":63169,"mutability":"mutable","name":"innerData","nameLocation":"44790:9:64","nodeType":"VariableDeclaration","scope":63209,"src":"44777:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63168,"name":"bytes","nodeType":"ElementaryTypeName","src":"44777:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63181,"initialValue":{"arguments":[{"expression":{"expression":{"id":63172,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"44825:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44832:5:64","memberName":"sweep","nodeType":"MemberAccess","referencedDeclaration":50193,"src":"44825:12:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) payable external"}},"id":63174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44838:8:64","memberName":"selector","nodeType":"MemberAccess","src":"44825:21:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":63177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44856:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44848:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63175,"name":"address","nodeType":"ElementaryTypeName","src":"44848:7:64","typeDescriptions":{}}},"id":63178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44848:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63179,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"44860:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":63170,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44802:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44806:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"44802:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44802:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"44777:93:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":63188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44944:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44936:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":63186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44936:7:64","typeDescriptions":{}}},"id":63189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44936:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":63190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44948:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44951:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44954:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44957:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63194,"name":"innerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63169,"src":"44960:9:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":63183,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"44901:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63182,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"44881:19:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IDelegatedExtension_$48994_$","typeString":"type(contract IDelegatedExtension)"}},"id":63184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44881:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IDelegatedExtension_$48994","typeString":"contract IDelegatedExtension"}},"id":63185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44909:26:64","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":48993,"src":"44881:54:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":63195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44881:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63196,"nodeType":"ExpressionStatement","src":"44881:89:64"},{"expression":{"arguments":[{"expression":{"id":63198,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"44990:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":63199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44997:7:64","memberName":"balance","nodeType":"MemberAccess","src":"44990:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45006:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63197,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"44981:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44981:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63202,"nodeType":"ExpressionStatement","src":"44981:27:64"},{"expression":{"arguments":[{"expression":{"id":63204,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"45027:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":63205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45037:7:64","memberName":"balance","nodeType":"MemberAccess","src":"45027:17:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63206,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63158,"src":"45046:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63203,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"45018:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45018:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63208,"nodeType":"ExpressionStatement","src":"45018:35:64"}]},"functionSelector":"e78db620","implemented":true,"kind":"function","modifiers":[],"name":"testHandleSequenceDelegateCall_Sweep","nameLocation":"44653:36:64","parameters":{"id":63155,"nodeType":"ParameterList","parameters":[],"src":"44689:2:64"},"returnParameters":{"id":63156,"nodeType":"ParameterList","parameters":[],"src":"44699:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63291,"nodeType":"FunctionDefinition","src":"45066:654:64","nodes":[],"body":{"id":63290,"nodeType":"Block","src":"45130:590:64","nodes":[],"statements":[{"assignments":[63214],"declarations":[{"constant":false,"id":63214,"mutability":"mutable","name":"refundRecipient","nameLocation":"45148:15:64","nodeType":"VariableDeclaration","scope":63290,"src":"45140:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63213,"name":"address","nodeType":"ElementaryTypeName","src":"45140:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":63219,"initialValue":{"arguments":[{"hexValue":"3078353031","id":63217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45174:5:64","typeDescriptions":{"typeIdentifier":"t_rational_1281_by_1","typeString":"int_const 1281"},"value":"0x501"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1281_by_1","typeString":"int_const 1281"}],"id":63216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45166:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63215,"name":"address","nodeType":"ElementaryTypeName","src":"45166:7:64","typeDescriptions":{}}},"id":63218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45166:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"45140:40:64"},{"assignments":[63221],"declarations":[{"constant":false,"id":63221,"mutability":"mutable","name":"sweepRecipient","nameLocation":"45198:14:64","nodeType":"VariableDeclaration","scope":63290,"src":"45190:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63220,"name":"address","nodeType":"ElementaryTypeName","src":"45190:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":63226,"initialValue":{"arguments":[{"hexValue":"3078353032","id":63224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45223:5:64","typeDescriptions":{"typeIdentifier":"t_rational_1282_by_1","typeString":"int_const 1282"},"value":"0x502"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1282_by_1","typeString":"int_const 1282"}],"id":63223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45215:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63222,"name":"address","nodeType":"ElementaryTypeName","src":"45215:7:64","typeDescriptions":{}}},"id":63225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45215:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"45190:39:64"},{"assignments":[63228],"declarations":[{"constant":false,"id":63228,"mutability":"mutable","name":"amount","nameLocation":"45248:6:64","nodeType":"VariableDeclaration","scope":63290,"src":"45240:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63227,"name":"uint256","nodeType":"ElementaryTypeName","src":"45240:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63230,"initialValue":{"hexValue":"33","id":63229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45257:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_3000000000000000000_by_1","typeString":"int_const 3000000000000000000"},"value":"3"},"nodeType":"VariableDeclarationStatement","src":"45240:24:64"},{"expression":{"arguments":[{"id":63234,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"45282:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":63235,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63228,"src":"45290:6:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63231,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"45274:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45277:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"45274:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45274:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63237,"nodeType":"ExpressionStatement","src":"45274:23:64"},{"assignments":[63239],"declarations":[{"constant":false,"id":63239,"mutability":"mutable","name":"innerData","nameLocation":"45321:9:64","nodeType":"VariableDeclaration","scope":63290,"src":"45308:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63238,"name":"bytes","nodeType":"ElementaryTypeName","src":"45308:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63256,"initialValue":{"arguments":[{"expression":{"expression":{"id":63242,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"45369:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45376:14:64","memberName":"refundAndSweep","nodeType":"MemberAccess","referencedDeclaration":50312,"src":"45369:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address) payable external"}},"id":63244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45391:8:64","memberName":"selector","nodeType":"MemberAccess","src":"45369:30:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":63247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45409:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45401:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63245,"name":"address","nodeType":"ElementaryTypeName","src":"45401:7:64","typeDescriptions":{}}},"id":63248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45401:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63249,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63214,"src":"45413:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"31","id":63252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45438:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":63251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45430:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63250,"name":"uint256","nodeType":"ElementaryTypeName","src":"45430:7:64","typeDescriptions":{}}},"id":63253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45430:16:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63254,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63221,"src":"45448:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63240,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45333:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45337:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"45333:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45333:139:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"45308:164:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":63263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45546:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45538:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":63261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45538:7:64","typeDescriptions":{}}},"id":63264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45538:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":63265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45550:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45553:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45556:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45559:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63269,"name":"innerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63239,"src":"45562:9:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":63258,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"45503:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63257,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"45483:19:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IDelegatedExtension_$48994_$","typeString":"type(contract IDelegatedExtension)"}},"id":63259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45483:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IDelegatedExtension_$48994","typeString":"contract IDelegatedExtension"}},"id":63260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45511:26:64","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":48993,"src":"45483:54:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":63270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45483:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63271,"nodeType":"ExpressionStatement","src":"45483:89:64"},{"expression":{"arguments":[{"expression":{"id":63273,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"45592:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":63274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45599:7:64","memberName":"balance","nodeType":"MemberAccess","src":"45592:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45608:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63272,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"45583:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45583:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63277,"nodeType":"ExpressionStatement","src":"45583:27:64"},{"expression":{"arguments":[{"expression":{"id":63279,"name":"refundRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63214,"src":"45629:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45645:7:64","memberName":"balance","nodeType":"MemberAccess","src":"45629:23:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":63281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45654:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":63278,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"45620:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45620:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63283,"nodeType":"ExpressionStatement","src":"45620:42:64"},{"expression":{"arguments":[{"expression":{"id":63285,"name":"sweepRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63221,"src":"45681:14:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45696:7:64","memberName":"balance","nodeType":"MemberAccess","src":"45681:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":63287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45705:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"}],"id":63284,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"45672:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45672:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63289,"nodeType":"ExpressionStatement","src":"45672:41:64"}]},"functionSelector":"d372fdb4","implemented":true,"kind":"function","modifiers":[],"name":"testHandleSequenceDelegateCall_RefundAndSweep","nameLocation":"45075:45:64","parameters":{"id":63211,"nodeType":"ParameterList","parameters":[],"src":"45120:2:64"},"returnParameters":{"id":63212,"nodeType":"ParameterList","parameters":[],"src":"45130:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63412,"nodeType":"FunctionDefinition","src":"45726:1038:64","nodes":[],"body":{"id":63411,"nodeType":"Block","src":"45798:966:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":63297,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"45899:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":63294,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"45878:10:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreMode_$69517_$","typeString":"type(library TstoreMode)"}},"id":63296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45889:9:64","memberName":"setActive","nodeType":"MemberAccess","referencedDeclaration":69495,"src":"45878:20:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":63298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45878:28:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63299,"nodeType":"ExpressionStatement","src":"45878:28:64"},{"assignments":[63301],"declarations":[{"constant":false,"id":63301,"mutability":"mutable","name":"opHash","nameLocation":"45925:6:64","nodeType":"VariableDeclaration","scope":63411,"src":"45917:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45917:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":63305,"initialValue":{"arguments":[{"hexValue":"746573742d6f702d686173682d64656c656761746564","id":63303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45944:24:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e","typeString":"literal_string \"test-op-hash-delegated\""},"value":"test-op-hash-delegated"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e","typeString":"literal_string \"test-op-hash-delegated\""}],"id":63302,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"45934:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":63304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45934:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"45917:52:64"},{"expression":{"arguments":[{"id":63309,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"45987:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"31","id":63310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45995:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"expression":{"id":63306,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"45979:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45982:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"45979:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45979:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63312,"nodeType":"ExpressionStatement","src":"45979:24:64"},{"assignments":[63314],"declarations":[{"constant":false,"id":63314,"mutability":"mutable","name":"slot","nameLocation":"46046:4:64","nodeType":"VariableDeclaration","scope":63411,"src":"46038:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46038:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":63322,"initialValue":{"arguments":[{"arguments":[{"id":63318,"name":"TEST_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58872,"src":"46074:14:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63319,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63301,"src":"46090:6:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":63316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46063:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46067:6:64","memberName":"encode","nodeType":"MemberAccess","src":"46063:10:64","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46063:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63315,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"46053:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":63321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46053:45:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"46038:60:64"},{"assignments":[63324],"declarations":[{"constant":false,"id":63324,"mutability":"mutable","name":"setTstoreCode","nameLocation":"46121:13:64","nodeType":"VariableDeclaration","scope":63411,"src":"46108:26:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63323,"name":"bytes","nodeType":"ElementaryTypeName","src":"46108:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63334,"initialValue":{"arguments":[{"hexValue":"7f","id":63327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"46154:7:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c179d3bfde4c521afc3d3944357db5ee881a69c237d67c9aa79aa7a027c40ea","typeString":"literal_string hex\"7f\""},"value":""},{"id":63328,"name":"TEST_SUCCESS_VALUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58881,"src":"46163:18:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"7f","id":63329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"46183:7:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c179d3bfde4c521afc3d3944357db5ee881a69c237d67c9aa79aa7a027c40ea","typeString":"literal_string hex\"7f\""},"value":""},{"id":63330,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63314,"src":"46192:4:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"5d","id":63331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"46198:7:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"},{"hexValue":"00","id":63332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"46207:7:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a","typeString":"literal_string hex\"00\""},"value":"\u0000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c179d3bfde4c521afc3d3944357db5ee881a69c237d67c9aa79aa7a027c40ea","typeString":"literal_string hex\"7f\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_5c179d3bfde4c521afc3d3944357db5ee881a69c237d67c9aa79aa7a027c40ea","typeString":"literal_string hex\"7f\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},{"typeIdentifier":"t_stringliteral_bc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a","typeString":"literal_string hex\"00\""}],"expression":{"id":63325,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46137:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46141:12:64","memberName":"encodePacked","nodeType":"MemberAccess","src":"46137:16:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46137:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"46108:107:64"},{"assignments":[63336],"declarations":[{"constant":false,"id":63336,"mutability":"mutable","name":"routerCode","nameLocation":"46239:10:64","nodeType":"VariableDeclaration","scope":63411,"src":"46226:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63335,"name":"bytes","nodeType":"ElementaryTypeName","src":"46226:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63342,"initialValue":{"expression":{"arguments":[{"id":63339,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"46260:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":63338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46252:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63337,"name":"address","nodeType":"ElementaryTypeName","src":"46252:7:64","typeDescriptions":{}}},"id":63340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46252:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46268:4:64","memberName":"code","nodeType":"MemberAccess","src":"46252:20:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"46226:46:64"},{"expression":{"arguments":[{"id":63346,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"46290:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":63347,"name":"setTstoreCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63324,"src":"46298:13:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"46282:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46285:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"46282:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":63348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46282:30:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63349,"nodeType":"ExpressionStatement","src":"46282:30:64"},{"assignments":[63351,null],"declarations":[{"constant":false,"id":63351,"mutability":"mutable","name":"ok","nameLocation":"46328:2:64","nodeType":"VariableDeclaration","scope":63411,"src":"46323:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63350,"name":"bool","nodeType":"ElementaryTypeName","src":"46323:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":63356,"initialValue":{"arguments":[{"hexValue":"","id":63354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46347:2:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":63352,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"46335:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":63353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46342:4:64","memberName":"call","nodeType":"MemberAccess","src":"46335:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":63355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46335:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"46322:28:64"},{"expression":{"arguments":[{"id":63358,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63351,"src":"46371:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7473746f726520736574206661696c6564","id":63359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46375:19:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0a850563faca8ad3bdae653f9fbfe36666eedb826c8c960046e6328aefa1fe7","typeString":"literal_string \"tstore set failed\""},"value":"tstore set failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0a850563faca8ad3bdae653f9fbfe36666eedb826c8c960046e6328aefa1fe7","typeString":"literal_string \"tstore set failed\""}],"id":63357,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"46360:10:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":63360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46360:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63361,"nodeType":"ExpressionStatement","src":"46360:35:64"},{"expression":{"arguments":[{"id":63365,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"46413:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":63366,"name":"routerCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63336,"src":"46421:10:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63362,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"46405:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46408:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"46405:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":63367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46405:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63368,"nodeType":"ExpressionStatement","src":"46405:27:64"},{"assignments":[63370],"declarations":[{"constant":false,"id":63370,"mutability":"mutable","name":"innerData","nameLocation":"46456:9:64","nodeType":"VariableDeclaration","scope":63411,"src":"46443:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63369,"name":"bytes","nodeType":"ElementaryTypeName","src":"46443:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63386,"initialValue":{"arguments":[{"expression":{"expression":{"id":63373,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"46503:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46510:22:64","memberName":"validateOpHashAndSweep","nodeType":"MemberAccess","referencedDeclaration":50348,"src":"46503:29:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address) payable external"}},"id":63375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46533:8:64","memberName":"selector","nodeType":"MemberAccess","src":"46503:38:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":63378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46551:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46543:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":63376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46543:7:64","typeDescriptions":{}}},"id":63379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46543:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":63382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46563:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46555:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63380,"name":"address","nodeType":"ElementaryTypeName","src":"46555:7:64","typeDescriptions":{}}},"id":63383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46555:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63384,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"46567:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":63371,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46480:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46484:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"46480:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46480:97:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"46443:134:64"},{"expression":{"arguments":[{"id":63391,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63301,"src":"46643:6:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":63392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46651:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46654:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46657:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46660:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63396,"name":"innerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63370,"src":"46663:9:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":63388,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"46608:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63387,"name":"IDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48994,"src":"46588:19:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IDelegatedExtension_$48994_$","typeString":"type(contract IDelegatedExtension)"}},"id":63389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46588:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IDelegatedExtension_$48994","typeString":"contract IDelegatedExtension"}},"id":63390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46616:26:64","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":48993,"src":"46588:54:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":63397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46588:85:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63398,"nodeType":"ExpressionStatement","src":"46588:85:64"},{"expression":{"arguments":[{"expression":{"id":63400,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"46693:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":63401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46700:7:64","memberName":"balance","nodeType":"MemberAccess","src":"46693:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46709:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63399,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"46684:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46684:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63404,"nodeType":"ExpressionStatement","src":"46684:27:64"},{"expression":{"arguments":[{"expression":{"id":63406,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"46730:9:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":63407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46740:7:64","memberName":"balance","nodeType":"MemberAccess","src":"46730:17:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":63408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46749:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":63405,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"46721:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46721:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63410,"nodeType":"ExpressionStatement","src":"46721:36:64"}]},"functionSelector":"3a0beca9","implemented":true,"kind":"function","modifiers":[],"name":"testHandleSequenceDelegateCall_ValidateOpHashAndSweep","nameLocation":"45735:53:64","parameters":{"id":63292,"nodeType":"ParameterList","parameters":[],"src":"45788:2:64"},"returnParameters":{"id":63293,"nodeType":"ParameterList","parameters":[],"src":"45798:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63513,"nodeType":"FunctionDefinition","src":"46770:959:64","nodes":[],"body":{"id":63512,"nodeType":"Block","src":"46826:903:64","nodes":[],"statements":[{"assignments":[63417],"declarations":[{"constant":false,"id":63417,"mutability":"mutable","name":"testToken","nameLocation":"46846:9:64","nodeType":"VariableDeclaration","scope":63512,"src":"46836:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":63416,"nodeType":"UserDefinedTypeName","pathNode":{"id":63415,"name":"MockERC20","nameLocations":["46836:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"46836:9:64"},"referencedDeclaration":68037,"src":"46836:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":63425,"initialValue":{"arguments":[{"hexValue":"54657374","id":63421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46872:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},"value":"Test"},{"hexValue":"545354","id":63422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46880:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},"value":"TST"},{"hexValue":"3138","id":63423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46887:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":63420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"46858:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":63419,"nodeType":"UserDefinedTypeName","pathNode":{"id":63418,"name":"MockERC20","nameLocations":["46862:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"46862:9:64"},"referencedDeclaration":68037,"src":"46862:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":63424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46858:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"46836:54:64"},{"assignments":[63428],"declarations":[{"constant":false,"id":63428,"mutability":"mutable","name":"testTarget","nameLocation":"46911:10:64","nodeType":"VariableDeclaration","scope":63512,"src":"46900:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"},"typeName":{"id":63427,"nodeType":"UserDefinedTypeName","pathNode":{"id":63426,"name":"MockTarget","nameLocations":["46900:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"46900:10:64"},"referencedDeclaration":58706,"src":"46900:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"visibility":"internal"}],"id":63437,"initialValue":{"arguments":[{"arguments":[{"id":63434,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63417,"src":"46947:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":63433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46939:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63432,"name":"address","nodeType":"ElementaryTypeName","src":"46939:7:64","typeDescriptions":{}}},"id":63435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46939:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"46924:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockTarget_$58706_$","typeString":"function (address) returns (contract MockTarget)"},"typeName":{"id":63430,"nodeType":"UserDefinedTypeName","pathNode":{"id":63429,"name":"MockTarget","nameLocations":["46928:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"46928:10:64"},"referencedDeclaration":58706,"src":"46928:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}},"id":63436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46924:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"nodeType":"VariableDeclarationStatement","src":"46900:58:64"},{"assignments":[63439],"declarations":[{"constant":false,"id":63439,"mutability":"mutable","name":"tokenBalance","nameLocation":"46977:12:64","nodeType":"VariableDeclaration","scope":63512,"src":"46969:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63438,"name":"uint256","nodeType":"ElementaryTypeName","src":"46969:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63441,"initialValue":{"hexValue":"31303030653138","id":63440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46992:7:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000e18"},"nodeType":"VariableDeclarationStatement","src":"46969:30:64"},{"expression":{"arguments":[{"id":63445,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"47024:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":63446,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63439,"src":"47032:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63442,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63417,"src":"47009:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":63444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47019:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":68036,"src":"47009:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47009:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63448,"nodeType":"ExpressionStatement","src":"47009:36:64"},{"assignments":[63450],"declarations":[{"constant":false,"id":63450,"mutability":"mutable","name":"callData","nameLocation":"47136:8:64","nodeType":"VariableDeclaration","scope":63512,"src":"47123:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63449,"name":"bytes","nodeType":"ElementaryTypeName","src":"47123:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63460,"initialValue":{"arguments":[{"hexValue":"6465706f7369742875696e743235362c6164647265737329","id":63453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47171:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},"value":"deposit(uint256,address)"},{"id":63454,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"47199:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":63457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47220:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":63456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47212:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63455,"name":"address","nodeType":"ElementaryTypeName","src":"47212:7:64","typeDescriptions":{}}},"id":63458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47212:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63451,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47147:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47151:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47147:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47147:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"47123:104:64"},{"assignments":[63462],"declarations":[{"constant":false,"id":63462,"mutability":"mutable","name":"amountOffset","nameLocation":"47245:12:64","nodeType":"VariableDeclaration","scope":63512,"src":"47237:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63461,"name":"uint256","nodeType":"ElementaryTypeName","src":"47237:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63464,"initialValue":{"hexValue":"34","id":63463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47260:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"nodeType":"VariableDeclarationStatement","src":"47237:24:64"},{"assignments":[63466],"declarations":[{"constant":false,"id":63466,"mutability":"mutable","name":"placeholder","nameLocation":"47314:11:64","nodeType":"VariableDeclaration","scope":63512,"src":"47306:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47306:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":63468,"initialValue":{"id":63467,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"47328:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"47306:33:64"},{"expression":{"arguments":[{"arguments":[{"id":63475,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63417,"src":"47438:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":63474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47430:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63473,"name":"address","nodeType":"ElementaryTypeName","src":"47430:7:64","typeDescriptions":{}}},"id":63476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47430:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":63479,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63428,"src":"47458:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":63478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47450:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63477,"name":"address","nodeType":"ElementaryTypeName","src":"47450:7:64","typeDescriptions":{}}},"id":63480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47450:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63481,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63450,"src":"47471:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":63482,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63462,"src":"47481:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63483,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63466,"src":"47495:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[{"id":63470,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"47408:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63469,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"47395:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":63471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47395:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47416:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"47395:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":63484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47395:112:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63485,"nodeType":"ExpressionStatement","src":"47395:112:64"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63487,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63428,"src":"47527:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"id":63488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47538:10:64","memberName":"lastAmount","nodeType":"MemberAccess","referencedDeclaration":58635,"src":"47527:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47527:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63490,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63439,"src":"47552:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63486,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"47518:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47518:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63492,"nodeType":"ExpressionStatement","src":"47518:47:64"},{"expression":{"arguments":[{"arguments":[{"id":63496,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"47637:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":63494,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63417,"src":"47617:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":63495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47627:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"47617:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":63497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47617:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47646:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63493,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"47608:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47608:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63500,"nodeType":"ExpressionStatement","src":"47608:40:64"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":63506,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63428,"src":"47695:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":63505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47687:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63504,"name":"address","nodeType":"ElementaryTypeName","src":"47687:7:64","typeDescriptions":{}}},"id":63507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47687:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63502,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63417,"src":"47667:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":63503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47677:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"47667:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":63508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47667:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63509,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63439,"src":"47709:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63501,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"47658:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47658:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63511,"nodeType":"ExpressionStatement","src":"47658:64:64"}]},"functionSelector":"30410d2a","implemented":true,"kind":"function","modifiers":[],"name":"testInjectAndCall_NoReplacementNeeded","nameLocation":"46779:37:64","parameters":{"id":63413,"nodeType":"ParameterList","parameters":[],"src":"46816:2:64"},"returnParameters":{"id":63414,"nodeType":"ParameterList","parameters":[],"src":"46826:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63639,"nodeType":"FunctionDefinition","src":"47735:973:64","nodes":[],"body":{"id":63638,"nodeType":"Block","src":"47787:921:64","nodes":[],"statements":[{"assignments":[63518],"declarations":[{"constant":false,"id":63518,"mutability":"mutable","name":"testToken","nameLocation":"47807:9:64","nodeType":"VariableDeclaration","scope":63638,"src":"47797:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"},"typeName":{"id":63517,"nodeType":"UserDefinedTypeName","pathNode":{"id":63516,"name":"MockERC20","nameLocations":["47797:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"47797:9:64"},"referencedDeclaration":68037,"src":"47797:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":63526,"initialValue":{"arguments":[{"hexValue":"54657374","id":63522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47833:6:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},"value":"Test"},{"hexValue":"545354","id":63523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47841:5:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},"value":"TST"},{"hexValue":"3138","id":63524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47848:2:64","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cc825a98ec217d960f113f5f80a95d7fd18e3725d37df428eb14f880bdfc12","typeString":"literal_string \"Test\""},{"typeIdentifier":"t_stringliteral_20a94e575762ae205efd2d939940bb203cefdf1c455cc39ef343e287f43b70f4","typeString":"literal_string \"TST\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":63521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"47819:13:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$68037_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":63520,"nodeType":"UserDefinedTypeName","pathNode":{"id":63519,"name":"MockERC20","nameLocations":["47823:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":68037,"src":"47823:9:64"},"referencedDeclaration":68037,"src":"47823:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}},"id":63525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47819:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"47797:54:64"},{"assignments":[63529],"declarations":[{"constant":false,"id":63529,"mutability":"mutable","name":"testTarget","nameLocation":"47872:10:64","nodeType":"VariableDeclaration","scope":63638,"src":"47861:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"},"typeName":{"id":63528,"nodeType":"UserDefinedTypeName","pathNode":{"id":63527,"name":"MockTarget","nameLocations":["47861:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"47861:10:64"},"referencedDeclaration":58706,"src":"47861:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"visibility":"internal"}],"id":63538,"initialValue":{"arguments":[{"arguments":[{"id":63535,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63518,"src":"47908:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":63534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47900:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63533,"name":"address","nodeType":"ElementaryTypeName","src":"47900:7:64","typeDescriptions":{}}},"id":63536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47900:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"47885:14:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockTarget_$58706_$","typeString":"function (address) returns (contract MockTarget)"},"typeName":{"id":63531,"nodeType":"UserDefinedTypeName","pathNode":{"id":63530,"name":"MockTarget","nameLocations":["47889:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":58706,"src":"47889:10:64"},"referencedDeclaration":58706,"src":"47889:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}},"id":63537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47885:34:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"nodeType":"VariableDeclarationStatement","src":"47861:58:64"},{"assignments":[63540],"declarations":[{"constant":false,"id":63540,"mutability":"mutable","name":"tokenBalance","nameLocation":"47938:12:64","nodeType":"VariableDeclaration","scope":63638,"src":"47930:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63539,"name":"uint256","nodeType":"ElementaryTypeName","src":"47930:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63542,"initialValue":{"hexValue":"31303030653138","id":63541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47953:7:64","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1000e18"},"nodeType":"VariableDeclarationStatement","src":"47930:30:64"},{"expression":{"arguments":[{"id":63546,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"47985:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":63547,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63540,"src":"47993:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63543,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63518,"src":"47970:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":63545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47980:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":68036,"src":"47970:14:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47970:36:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63549,"nodeType":"ExpressionStatement","src":"47970:36:64"},{"assignments":[63551],"declarations":[{"constant":false,"id":63551,"mutability":"mutable","name":"callData","nameLocation":"48030:8:64","nodeType":"VariableDeclaration","scope":63638,"src":"48017:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63550,"name":"bytes","nodeType":"ElementaryTypeName","src":"48017:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63561,"initialValue":{"arguments":[{"hexValue":"6465706f7369742875696e743235362c6164647265737329","id":63554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48065:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},"value":"deposit(uint256,address)"},{"id":63555,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"48093:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3078313233","id":63558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48114:5:64","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":63557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48106:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63556,"name":"address","nodeType":"ElementaryTypeName","src":"48106:7:64","typeDescriptions":{}}},"id":63559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48106:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e553f653991036c188afcef45e14f9ecb45269ff9c675358bbb3a2eeb78e03b","typeString":"literal_string \"deposit(uint256,address)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63552,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48041:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48045:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48041:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48041:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"48017:104:64"},{"assignments":[63563],"declarations":[{"constant":false,"id":63563,"mutability":"mutable","name":"amountOffset","nameLocation":"48139:12:64","nodeType":"VariableDeclaration","scope":63638,"src":"48131:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63562,"name":"uint256","nodeType":"ElementaryTypeName","src":"48131:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63565,"initialValue":{"hexValue":"34","id":63564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48154:1:64","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"nodeType":"VariableDeclarationStatement","src":"48131:24:64"},{"assignments":[63567],"declarations":[{"constant":false,"id":63567,"mutability":"mutable","name":"placeholder","nameLocation":"48173:11:64","nodeType":"VariableDeclaration","scope":63638,"src":"48165:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48165:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":63569,"initialValue":{"id":63568,"name":"PLACEHOLDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58867,"src":"48187:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"48165:33:64"},{"expression":{"arguments":[{"hexValue":"74727565","id":63573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"48223:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":63574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"48229:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":63575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"48235:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":63576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"48242:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":63570,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"48209:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48212:10:64","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"48209:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":63577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48209:39:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63578,"nodeType":"ExpressionStatement","src":"48209:39:64"},{"eventCall":{"arguments":[{"arguments":[{"id":63582,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63518,"src":"48304:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":63581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48296:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63580,"name":"address","nodeType":"ElementaryTypeName","src":"48296:7:64","typeDescriptions":{}}},"id":63583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48296:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":63586,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63529,"src":"48324:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":63585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48316:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63584,"name":"address","nodeType":"ElementaryTypeName","src":"48316:7:64","typeDescriptions":{}}},"id":63587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48316:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63588,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63567,"src":"48337:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63589,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63540,"src":"48350:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63590,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63563,"src":"48364:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":63591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"48378:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"","id":63592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48384:2:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":63579,"name":"BalanceInjectorCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58937,"src":"48263:19:64","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bool_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,bytes32,uint256,uint256,bool,bytes memory)"}},"id":63593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48263:133:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63594,"nodeType":"EmitStatement","src":"48258:138:64"},{"expression":{"arguments":[{"arguments":[{"id":63601,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63518,"src":"48450:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}],"id":63600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48442:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63599,"name":"address","nodeType":"ElementaryTypeName","src":"48442:7:64","typeDescriptions":{}}},"id":63602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48442:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":63605,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63529,"src":"48470:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":63604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48462:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63603,"name":"address","nodeType":"ElementaryTypeName","src":"48462:7:64","typeDescriptions":{}}},"id":63606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48462:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63607,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63551,"src":"48483:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":63608,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63563,"src":"48493:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63609,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63567,"src":"48507:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[{"id":63596,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"48420:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63595,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"48407:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":63597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48407:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48428:13:64","memberName":"injectAndCall","nodeType":"MemberAccess","referencedDeclaration":50145,"src":"48407:34:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,address,bytes memory,uint256,bytes32) payable external"}},"id":63610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48407:112:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63611,"nodeType":"ExpressionStatement","src":"48407:112:64"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63613,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63529,"src":"48539:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}},"id":63614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48550:10:64","memberName":"lastAmount","nodeType":"MemberAccess","referencedDeclaration":58635,"src":"48539:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48539:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63616,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63540,"src":"48564:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63612,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"48530:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48530:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63618,"nodeType":"ExpressionStatement","src":"48530:47:64"},{"expression":{"arguments":[{"arguments":[{"id":63622,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"48616:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":63620,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63518,"src":"48596:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":63621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48606:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"48596:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":63623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48596:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48625:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63619,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"48587:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48587:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63626,"nodeType":"ExpressionStatement","src":"48587:40:64"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":63632,"name":"testTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63529,"src":"48674:10:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockTarget_$58706","typeString":"contract MockTarget"}],"id":63631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48666:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63630,"name":"address","nodeType":"ElementaryTypeName","src":"48666:7:64","typeDescriptions":{}}},"id":63633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48666:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63628,"name":"testToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63518,"src":"48646:9:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$68037","typeString":"contract MockERC20"}},"id":63629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48656:9:64","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":40431,"src":"48646:19:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":63634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48646:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63635,"name":"tokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63540,"src":"48688:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63627,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"48637:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":63636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48637:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63637,"nodeType":"ExpressionStatement","src":"48637:64:64"}]},"functionSelector":"7ab42cd3","implemented":true,"kind":"function","modifiers":[],"name":"testInjectAndCall_WithReplacement","nameLocation":"47744:33:64","parameters":{"id":63514,"nodeType":"ParameterList","parameters":[],"src":"47777:2:64"},"returnParameters":{"id":63515,"nodeType":"ParameterList","parameters":[],"src":"47787:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63711,"nodeType":"FunctionDefinition","src":"48714:815:64","nodes":[],"body":{"id":63710,"nodeType":"Block","src":"48942:587:64","nodes":[],"statements":[{"assignments":[63655],"declarations":[{"constant":false,"id":63655,"mutability":"mutable","name":"wallet","nameLocation":"48960:6:64","nodeType":"VariableDeclaration","scope":63710,"src":"48952:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63654,"name":"address","nodeType":"ElementaryTypeName","src":"48952:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":63660,"initialValue":{"arguments":[{"hexValue":"307863616665","id":63658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48977:6:64","typeDescriptions":{"typeIdentifier":"t_rational_51966_by_1","typeString":"int_const 51966"},"value":"0xcafe"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_51966_by_1","typeString":"int_const 51966"}],"id":63657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48969:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63656,"name":"address","nodeType":"ElementaryTypeName","src":"48969:7:64","typeDescriptions":{}}},"id":63659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48969:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"48952:32:64"},{"expression":{"arguments":[{"id":63664,"name":"wallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63655,"src":"49002:6:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":63667,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"49018:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":63666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49010:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63665,"name":"address","nodeType":"ElementaryTypeName","src":"49010:7:64","typeDescriptions":{}}},"id":63668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49010:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49026:4:64","memberName":"code","nodeType":"MemberAccess","src":"49010:20:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63661,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"48994:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48997:4:64","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"48994:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":63670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48994:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63671,"nodeType":"ExpressionStatement","src":"48994:37:64"},{"expression":{"arguments":[{"id":63675,"name":"wallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63655,"src":"49049:6:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63676,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63651,"src":"49057:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63672,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"49041:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49044:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"49041:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49041:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63678,"nodeType":"ExpressionStatement","src":"49041:27:64"},{"expression":{"arguments":[{"id":63682,"name":"targetAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63643,"src":"49092:13:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63683,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63651,"src":"49107:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63684,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63645,"src":"49119:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63679,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"49078:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49081:10:64","memberName":"expectCall","nodeType":"MemberAccess","referencedDeclaration":18364,"src":"49078:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory) external"}},"id":63685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49078:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63686,"nodeType":"ExpressionStatement","src":"49078:50:64"},{"assignments":[63688,null],"declarations":[{"constant":false,"id":63688,"mutability":"mutable","name":"success","nameLocation":"49144:7:64","nodeType":"VariableDeclaration","scope":63710,"src":"49139:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63687,"name":"bool","nodeType":"ElementaryTypeName","src":"49139:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":63701,"initialValue":{"arguments":[{"arguments":[{"hexValue":"696e6a656374416e6443616c6c28616464726573732c616464726573732c62797465732c75696e743235362c6279746573333229","id":63693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49222:54:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5e6516e7769cd5b2ed37944cc100f1caa8f1fd600a98319c84b9cad42e5c16","typeString":"literal_string \"injectAndCall(address,address,bytes,uint256,bytes32)\""},"value":"injectAndCall(address,address,bytes,uint256,bytes32)"},{"id":63694,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63641,"src":"49294:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63695,"name":"targetAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63643,"src":"49317:13:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63696,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63645,"src":"49348:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":63697,"name":"amountOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"49374:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63698,"name":"placeholder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63649,"src":"49404:11:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5e6516e7769cd5b2ed37944cc100f1caa8f1fd600a98319c84b9cad42e5c16","typeString":"literal_string \"injectAndCall(address,address,bytes,uint256,bytes32)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":63691,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49181:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49185:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49181:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49181:248:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63689,"name":"wallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63655,"src":"49156:6:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49163:4:64","memberName":"call","nodeType":"MemberAccess","src":"49156:11:64","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":63700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49156:283:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"49138:301:64"},{"expression":{"arguments":[{"id":63705,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63688,"src":"49461:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":63706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"49470:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"68656c7065722073686f756c6420627562626c652072657665727420666f7220617373657274696f6e73","id":63707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49477:44:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_bac54adbf908862e6f27521394b631f752dbdb7ac9e7a045947c3fb2d831b7a8","typeString":"literal_string \"helper should bubble revert for assertions\""},"value":"helper should bubble revert for assertions"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_bac54adbf908862e6f27521394b631f752dbdb7ac9e7a045947c3fb2d831b7a8","typeString":"literal_string \"helper should bubble revert for assertions\""}],"expression":{"id":63702,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"49449:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49452:8:64","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16039,"src":"49449:11:64","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":63708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49449:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63709,"nodeType":"ExpressionStatement","src":"49449:73:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"trailsRouterHelperInjectAndCall","nameLocation":"48723:31:64","parameters":{"id":63652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63641,"mutability":"mutable","name":"token","nameLocation":"48772:5:64","nodeType":"VariableDeclaration","scope":63711,"src":"48764:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63640,"name":"address","nodeType":"ElementaryTypeName","src":"48764:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63643,"mutability":"mutable","name":"targetAddress","nameLocation":"48795:13:64","nodeType":"VariableDeclaration","scope":63711,"src":"48787:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63642,"name":"address","nodeType":"ElementaryTypeName","src":"48787:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63645,"mutability":"mutable","name":"callData","nameLocation":"48831:8:64","nodeType":"VariableDeclaration","scope":63711,"src":"48818:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63644,"name":"bytes","nodeType":"ElementaryTypeName","src":"48818:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63647,"mutability":"mutable","name":"amountOffset","nameLocation":"48857:12:64","nodeType":"VariableDeclaration","scope":63711,"src":"48849:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63646,"name":"uint256","nodeType":"ElementaryTypeName","src":"48849:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63649,"mutability":"mutable","name":"placeholder","nameLocation":"48887:11:64","nodeType":"VariableDeclaration","scope":63711,"src":"48879:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48879:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63651,"mutability":"mutable","name":"ethBalance","nameLocation":"48916:10:64","nodeType":"VariableDeclaration","scope":63711,"src":"48908:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63650,"name":"uint256","nodeType":"ElementaryTypeName","src":"48908:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48754:178:64"},"returnParameters":{"id":63653,"nodeType":"ParameterList","parameters":[],"src":"48942:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":63752,"nodeType":"FunctionDefinition","src":"49535:395:64","nodes":[],"body":{"id":63751,"nodeType":"Block","src":"49579:351:64","nodes":[],"statements":[{"assignments":[63716],"declarations":[{"constant":false,"id":63716,"mutability":"mutable","name":"revertingReceiver","nameLocation":"49607:17:64","nodeType":"VariableDeclaration","scope":63751,"src":"49589:35:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"},"typeName":{"id":63715,"nodeType":"UserDefinedTypeName","pathNode":{"id":63714,"name":"RevertingReceiver","nameLocations":["49589:17:64"],"nodeType":"IdentifierPath","referencedDeclaration":58608,"src":"49589:17:64"},"referencedDeclaration":58608,"src":"49589:17:64","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}},"visibility":"internal"}],"id":63721,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":63719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"49627:21:64","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RevertingReceiver_$58608_$","typeString":"function () returns (contract RevertingReceiver)"},"typeName":{"id":63718,"nodeType":"UserDefinedTypeName","pathNode":{"id":63717,"name":"RevertingReceiver","nameLocations":["49631:17:64"],"nodeType":"IdentifierPath","referencedDeclaration":58608,"src":"49631:17:64"},"referencedDeclaration":58608,"src":"49631:17:64","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}}},"id":63720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49627:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}},"nodeType":"VariableDeclarationStatement","src":"49589:61:64"},{"expression":{"arguments":[{"id":63725,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"49669:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"31","id":63726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49677:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"expression":{"id":63722,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"49661:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49664:4:64","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"49661:7:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49661:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63728,"nodeType":"ExpressionStatement","src":"49661:24:64"},{"expression":{"arguments":[{"expression":{"expression":{"id":63732,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"49804:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":63733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49817:20:64","memberName":"NativeTransferFailed","nodeType":"MemberAccess","referencedDeclaration":49725,"src":"49804:33:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":63734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49838:8:64","memberName":"selector","nodeType":"MemberAccess","src":"49804:42:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":63729,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"49788:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49791:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"49788:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":63735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49788:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63736,"nodeType":"ExpressionStatement","src":"49788:59:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":63743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49892:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49884:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63741,"name":"address","nodeType":"ElementaryTypeName","src":"49884:7:64","typeDescriptions":{}}},"id":63744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49884:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":63747,"name":"revertingReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63716,"src":"49904:17:64","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RevertingReceiver_$58608","typeString":"contract RevertingReceiver"}],"id":63746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49896:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63745,"name":"address","nodeType":"ElementaryTypeName","src":"49896:7:64","typeDescriptions":{}}},"id":63748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49896:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":63738,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58862,"src":"49870:6:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63737,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"49857:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":63739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49857:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49878:5:64","memberName":"sweep","nodeType":"MemberAccess","referencedDeclaration":50193,"src":"49857:26:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) payable external"}},"id":63749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49857:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63750,"nodeType":"ExpressionStatement","src":"49857:66:64"}]},"functionSelector":"53485062","implemented":true,"kind":"function","modifiers":[],"name":"testNativeTransferFailure","nameLocation":"49544:25:64","parameters":{"id":63712,"nodeType":"ParameterList","parameters":[],"src":"49569:2:64"},"returnParameters":{"id":63713,"nodeType":"ParameterList","parameters":[],"src":"49579:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63828,"nodeType":"FunctionDefinition","src":"49936:677:64","nodes":[],"body":{"id":63827,"nodeType":"Block","src":"49983:630:64","nodes":[],"statements":[{"assignments":[63756],"declarations":[{"constant":false,"id":63756,"mutability":"mutable","name":"requiredAmount","nameLocation":"50001:14:64","nodeType":"VariableDeclaration","scope":63827,"src":"49993:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63755,"name":"uint256","nodeType":"ElementaryTypeName","src":"49993:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63758,"initialValue":{"hexValue":"32","id":63757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50018:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"49993:32:64"},{"assignments":[63760],"declarations":[{"constant":false,"id":63760,"mutability":"mutable","name":"sentAmount","nameLocation":"50043:10:64","nodeType":"VariableDeclaration","scope":63827,"src":"50035:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63759,"name":"uint256","nodeType":"ElementaryTypeName","src":"50035:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63762,"initialValue":{"hexValue":"31","id":63761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50056:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"50035:28:64"},{"assignments":[63768],"declarations":[{"constant":false,"id":63768,"mutability":"mutable","name":"calls","nameLocation":"50101:5:64","nodeType":"VariableDeclaration","scope":63827,"src":"50074:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":63766,"nodeType":"UserDefinedTypeName","pathNode":{"id":63765,"name":"IMulticall3.Call3","nameLocations":["50074:11:64","50086:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"50074:17:64"},"referencedDeclaration":51153,"src":"50074:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":63767,"nodeType":"ArrayTypeName","src":"50074:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":63775,"initialValue":{"arguments":[{"hexValue":"31","id":63773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50133:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"50109:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":63770,"nodeType":"UserDefinedTypeName","pathNode":{"id":63769,"name":"IMulticall3.Call3","nameLocations":["50113:11:64","50125:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"50113:17:64"},"referencedDeclaration":51153,"src":"50113:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":63771,"nodeType":"ArrayTypeName","src":"50113:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":63774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50109:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"50074:61:64"},{"expression":{"id":63791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63776,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63768,"src":"50145:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":63778,"indexExpression":{"hexValue":"30","id":63777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50151:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"50145:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":63783,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"50204:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":63782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50196:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63781,"name":"address","nodeType":"ElementaryTypeName","src":"50196:7:64","typeDescriptions":{}}},"id":63784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50196:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":63785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"50227:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":63788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50268:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":63786,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50244:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50248:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50244:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50244:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63779,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"50156:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":63780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50168:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"50156:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":63790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["50188:6:64","50213:12:64","50234:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"50156:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"50145:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":63792,"nodeType":"ExpressionStatement","src":"50145:148:64"},{"assignments":[63794],"declarations":[{"constant":false,"id":63794,"mutability":"mutable","name":"callData","nameLocation":"50317:8:64","nodeType":"VariableDeclaration","scope":63827,"src":"50304:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63793,"name":"bytes","nodeType":"ElementaryTypeName","src":"50304:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63800,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":63797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50352:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":63798,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63768,"src":"50390:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":63795,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50328:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50332:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50328:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50328:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"50304:92:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63806,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"50446:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":63807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50459:14:64","memberName":"IncorrectValue","nodeType":"MemberAccess","referencedDeclaration":49749,"src":"50446:27:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":63808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50474:8:64","memberName":"selector","nodeType":"MemberAccess","src":"50446:36:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63809,"name":"requiredAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63756,"src":"50484:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63810,"name":"sentAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63760,"src":"50500:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50423:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50427:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"50423:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50423:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"50407:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50410:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"50407:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50407:105:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63813,"nodeType":"ExpressionStatement","src":"50407:105:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":63821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50577:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50569:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63819,"name":"address","nodeType":"ElementaryTypeName","src":"50569:7:64","typeDescriptions":{}}},"id":63822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50569:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63823,"name":"requiredAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63756,"src":"50581:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63824,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63794,"src":"50597:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63814,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"50522:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50529:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"50522:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":63818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":63817,"name":"sentAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63760,"src":"50557:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"50522:46:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":63825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50522:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":63826,"nodeType":"ExpressionStatement","src":"50522:84:64"}]},"functionSelector":"a4f48230","implemented":true,"kind":"function","modifiers":[],"name":"testIncorrectValueValidation","nameLocation":"49945:28:64","parameters":{"id":63753,"nodeType":"ParameterList","parameters":[],"src":"49973:2:64"},"returnParameters":{"id":63754,"nodeType":"ParameterList","parameters":[],"src":"49983:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63922,"nodeType":"FunctionDefinition","src":"51019:910:64","nodes":[],"body":{"id":63921,"nodeType":"Block","src":"51082:847:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":63835,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"51103:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":63836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51109:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":63832,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"51092:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":63834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51098:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":40316,"src":"51092:10:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51092:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63838,"nodeType":"ExpressionStatement","src":"51092:27:64"},{"expression":{"arguments":[{"id":63842,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"51143:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63839,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"51129:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51132:10:64","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"51129:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":63843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51129:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63844,"nodeType":"ExpressionStatement","src":"51129:19:64"},{"expression":{"arguments":[{"arguments":[{"id":63850,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"51180:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":63849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"51172:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63848,"name":"address","nodeType":"ElementaryTypeName","src":"51172:7:64","typeDescriptions":{}}},"id":63851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51172:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":63852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51189:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":63845,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"51158:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":63847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51164:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"51158:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":63853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51158:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63854,"nodeType":"ExpressionStatement","src":"51158:41:64"},{"assignments":[63860],"declarations":[{"constant":false,"id":63860,"mutability":"mutable","name":"calls","nameLocation":"51306:5:64","nodeType":"VariableDeclaration","scope":63921,"src":"51279:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":63858,"nodeType":"UserDefinedTypeName","pathNode":{"id":63857,"name":"IMulticall3.Call3","nameLocations":["51279:11:64","51291:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"51279:17:64"},"referencedDeclaration":51153,"src":"51279:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":63859,"nodeType":"ArrayTypeName","src":"51279:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":63867,"initialValue":{"arguments":[{"hexValue":"31","id":63865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51338:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"51314:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":63862,"nodeType":"UserDefinedTypeName","pathNode":{"id":63861,"name":"IMulticall3.Call3","nameLocations":["51318:11:64","51330:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"51318:17:64"},"referencedDeclaration":51153,"src":"51318:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":63863,"nodeType":"ArrayTypeName","src":"51318:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":63866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51314:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"51279:61:64"},{"expression":{"id":63883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63868,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63860,"src":"51350:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":63870,"indexExpression":{"hexValue":"30","id":63869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51356:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"51350:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":63875,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"51409:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":63874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"51401:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63873,"name":"address","nodeType":"ElementaryTypeName","src":"51401:7:64","typeDescriptions":{}}},"id":63876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51401:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":63877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"51444:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657453656e6465722829","id":63880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51524:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":63878,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51500:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51504:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51500:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51500:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63871,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"51361:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":63872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51373:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"51361:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":63882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["51393:6:64","51430:12:64","51490:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"51361:188:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"51350:199:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":63884,"nodeType":"ExpressionStatement","src":"51350:199:64"},{"assignments":[63886],"declarations":[{"constant":false,"id":63886,"mutability":"mutable","name":"callData","nameLocation":"51573:8:64","nodeType":"VariableDeclaration","scope":63921,"src":"51560:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63885,"name":"bytes","nodeType":"ElementaryTypeName","src":"51560:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63892,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":63889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51608:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":63890,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63860,"src":"51646:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":63887,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51584:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51588:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51584:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51584:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"51560:92:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63898,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"51774:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":63899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51787:23:64","memberName":"AllowFailureMustBeFalse","nodeType":"MemberAccess","referencedDeclaration":49737,"src":"51774:36:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":63900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51811:8:64","memberName":"selector","nodeType":"MemberAccess","src":"51774:45:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":63901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51821:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":63896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51751:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51755:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"51751:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51751:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63893,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"51735:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51738:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"51735:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51735:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63904,"nodeType":"ExpressionStatement","src":"51735:89:64"},{"expression":{"arguments":[{"arguments":[{"id":63910,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"51870:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":63909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"51862:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63908,"name":"address","nodeType":"ElementaryTypeName","src":"51862:7:64","typeDescriptions":{}}},"id":63911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51862:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":63912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51878:8:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"},{"id":63913,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63886,"src":"51888:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63905,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"51834:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":63907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51841:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"51834:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":63914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51834:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":63915,"nodeType":"ExpressionStatement","src":"51834:63:64"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63916,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"51908:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51911:9:64","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"51908:12:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51908:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63920,"nodeType":"ExpressionStatement","src":"51908:14:64"}]},"documentation":{"id":63829,"nodeType":"StructuredDocumentation","src":"50826:188:64","text":" @notice Test that pullAmountAndExecute reverts when allowFailure is true for a single call\n @dev Validates the fix for SEQ-3 - preventing silent execution failures"},"functionSelector":"75f50bfe","implemented":true,"kind":"function","modifiers":[],"name":"test_RevertWhen_allowFailure_true_singleCall","nameLocation":"51028:44:64","parameters":{"id":63830,"nodeType":"ParameterList","parameters":[],"src":"51072:2:64"},"returnParameters":{"id":63831,"nodeType":"ParameterList","parameters":[],"src":"51082:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64050,"nodeType":"FunctionDefinition","src":"52136:1242:64","nodes":[],"body":{"id":64049,"nodeType":"Block","src":"52209:1169:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":63929,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"52230:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":63930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52236:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":63926,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"52219:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":63928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52225:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":40316,"src":"52219:10:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":63931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52219:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63932,"nodeType":"ExpressionStatement","src":"52219:27:64"},{"expression":{"arguments":[{"id":63936,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"52270:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63933,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"52256:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":63935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52259:10:64","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"52256:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":63937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52256:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63938,"nodeType":"ExpressionStatement","src":"52256:19:64"},{"expression":{"arguments":[{"arguments":[{"id":63944,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"52307:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":63943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52299:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63942,"name":"address","nodeType":"ElementaryTypeName","src":"52299:7:64","typeDescriptions":{}}},"id":63945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52299:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":63946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52316:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":63939,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"52285:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":63941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52291:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"52285:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":63947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52285:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63948,"nodeType":"ExpressionStatement","src":"52285:41:64"},{"assignments":[63954],"declarations":[{"constant":false,"id":63954,"mutability":"mutable","name":"calls","nameLocation":"52439:5:64","nodeType":"VariableDeclaration","scope":64049,"src":"52412:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":63952,"nodeType":"UserDefinedTypeName","pathNode":{"id":63951,"name":"IMulticall3.Call3","nameLocations":["52412:11:64","52424:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"52412:17:64"},"referencedDeclaration":51153,"src":"52412:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":63953,"nodeType":"ArrayTypeName","src":"52412:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":63961,"initialValue":{"arguments":[{"hexValue":"33","id":63959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52471:1:64","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":63958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"52447:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":63956,"nodeType":"UserDefinedTypeName","pathNode":{"id":63955,"name":"IMulticall3.Call3","nameLocations":["52451:11:64","52463:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"52451:17:64"},"referencedDeclaration":51153,"src":"52451:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":63957,"nodeType":"ArrayTypeName","src":"52451:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":63960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52447:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"52412:61:64"},{"expression":{"id":63977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63962,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63954,"src":"52483:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":63964,"indexExpression":{"hexValue":"30","id":63963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52489:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"52483:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":63969,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"52542:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":63968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52534:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63967,"name":"address","nodeType":"ElementaryTypeName","src":"52534:7:64","typeDescriptions":{}}},"id":63970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52534:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":63971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"52577:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657453656e6465722829","id":63974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52657:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":63972,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52633:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52637:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52633:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52633:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63965,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"52494:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":63966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52506:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"52494:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":63976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["52526:6:64","52563:12:64","52623:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"52494:188:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"52483:199:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":63978,"nodeType":"ExpressionStatement","src":"52483:199:64"},{"expression":{"id":63994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63979,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63954,"src":"52692:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":63981,"indexExpression":{"hexValue":"31","id":63980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52698:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"52692:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":63986,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"52751:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":63985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52743:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63984,"name":"address","nodeType":"ElementaryTypeName","src":"52743:7:64","typeDescriptions":{}}},"id":63987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52743:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":63988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"52774:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":63991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52815:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":63989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52791:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52795:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52791:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":63992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52791:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63982,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"52703:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":63983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52715:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"52703:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":63993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["52735:6:64","52760:12:64","52781:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"52703:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"52692:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":63995,"nodeType":"ExpressionStatement","src":"52692:148:64"},{"expression":{"id":64011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63996,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63954,"src":"52850:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":63998,"indexExpression":{"hexValue":"32","id":63997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52856:1:64","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"52850:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64003,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"52909:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52901:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64001,"name":"address","nodeType":"ElementaryTypeName","src":"52901:7:64","typeDescriptions":{}}},"id":64004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52901:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":64005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"52932:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52973:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64006,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52949:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52953:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52949:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52949:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63999,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"52861:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52873:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"52861:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["52893:6:64","52918:12:64","52939:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"52861:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"52850:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64012,"nodeType":"ExpressionStatement","src":"52850:148:64"},{"assignments":[64014],"declarations":[{"constant":false,"id":64014,"mutability":"mutable","name":"callData","nameLocation":"53022:8:64","nodeType":"VariableDeclaration","scope":64049,"src":"53009:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64013,"name":"bytes","nodeType":"ElementaryTypeName","src":"53009:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64020,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":64017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53057:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":64018,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63954,"src":"53095:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":64015,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53033:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53037:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53033:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53033:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"53009:92:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":64026,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"53223:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":64027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53236:23:64","memberName":"AllowFailureMustBeFalse","nodeType":"MemberAccess","referencedDeclaration":49737,"src":"53223:36:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":64028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53260:8:64","memberName":"selector","nodeType":"MemberAccess","src":"53223:45:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":64029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53270:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":64024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53200:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53204:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"53200:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":64030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53200:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64021,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"53184:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53187:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"53184:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":64031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53184:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64032,"nodeType":"ExpressionStatement","src":"53184:89:64"},{"expression":{"arguments":[{"arguments":[{"id":64038,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"53319:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":64037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53311:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64036,"name":"address","nodeType":"ElementaryTypeName","src":"53311:7:64","typeDescriptions":{}}},"id":64039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53311:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":64040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53327:8:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"},{"id":64041,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64014,"src":"53337:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64033,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"53283:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":64035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53290:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"53283:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":64042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53283:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":64043,"nodeType":"ExpressionStatement","src":"53283:63:64"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64044,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"53357:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53360:9:64","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"53357:12:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53357:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64048,"nodeType":"ExpressionStatement","src":"53357:14:64"}]},"documentation":{"id":63923,"nodeType":"StructuredDocumentation","src":"51935:196:64","text":" @notice Test that pullAmountAndExecute reverts when allowFailure is true in the first of multiple calls\n @dev Verifies that validation catches allowFailure=true at index 0"},"functionSelector":"1535e0ce","implemented":true,"kind":"function","modifiers":[],"name":"test_RevertWhen_allowFailure_true_firstOfMultipleCalls","nameLocation":"52145:54:64","parameters":{"id":63924,"nodeType":"ParameterList","parameters":[],"src":"52199:2:64"},"returnParameters":{"id":63925,"nodeType":"ParameterList","parameters":[],"src":"52209:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64178,"nodeType":"FunctionDefinition","src":"53586:1244:64","nodes":[],"body":{"id":64177,"nodeType":"Block","src":"53660:1170:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":64057,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"53681:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":64058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53687:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":64054,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"53670:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":64056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53676:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":40316,"src":"53670:10:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":64059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53670:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64060,"nodeType":"ExpressionStatement","src":"53670:27:64"},{"expression":{"arguments":[{"id":64064,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"53721:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64061,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"53707:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53710:10:64","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"53707:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53707:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64066,"nodeType":"ExpressionStatement","src":"53707:19:64"},{"expression":{"arguments":[{"arguments":[{"id":64072,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"53758:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":64071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53750:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64070,"name":"address","nodeType":"ElementaryTypeName","src":"53750:7:64","typeDescriptions":{}}},"id":64073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53750:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":64074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53767:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":64067,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"53736:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":64069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53742:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"53736:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53736:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64076,"nodeType":"ExpressionStatement","src":"53736:41:64"},{"assignments":[64082],"declarations":[{"constant":false,"id":64082,"mutability":"mutable","name":"calls","nameLocation":"53891:5:64","nodeType":"VariableDeclaration","scope":64177,"src":"53864:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":64080,"nodeType":"UserDefinedTypeName","pathNode":{"id":64079,"name":"IMulticall3.Call3","nameLocations":["53864:11:64","53876:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"53864:17:64"},"referencedDeclaration":51153,"src":"53864:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64081,"nodeType":"ArrayTypeName","src":"53864:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":64089,"initialValue":{"arguments":[{"hexValue":"33","id":64087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53923:1:64","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":64086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"53899:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":64084,"nodeType":"UserDefinedTypeName","pathNode":{"id":64083,"name":"IMulticall3.Call3","nameLocations":["53903:11:64","53915:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"53903:17:64"},"referencedDeclaration":51153,"src":"53903:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64085,"nodeType":"ArrayTypeName","src":"53903:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":64088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53899:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"53864:61:64"},{"expression":{"id":64105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64090,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"53935:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64092,"indexExpression":{"hexValue":"30","id":64091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53941:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"53935:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64097,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"53994:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53986:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64095,"name":"address","nodeType":"ElementaryTypeName","src":"53986:7:64","typeDescriptions":{}}},"id":64098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53986:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":64099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"54017:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54058:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64100,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54034:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54038:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54034:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54034:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64093,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"53946:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"53958:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"53946:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["53978:6:64","54003:12:64","54024:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"53946:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"53935:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64106,"nodeType":"ExpressionStatement","src":"53935:148:64"},{"expression":{"id":64122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64107,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"54093:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64109,"indexExpression":{"hexValue":"31","id":64108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54099:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"54093:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64114,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"54152:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54144:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64112,"name":"address","nodeType":"ElementaryTypeName","src":"54144:7:64","typeDescriptions":{}}},"id":64115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54144:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":64116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"54187:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54267:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64117,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54243:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54247:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54243:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54243:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64110,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"54104:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54116:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"54104:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["54136:6:64","54173:12:64","54233:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"54104:188:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"54093:199:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64123,"nodeType":"ExpressionStatement","src":"54093:199:64"},{"expression":{"id":64139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64124,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"54302:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64126,"indexExpression":{"hexValue":"32","id":64125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54308:1:64","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"54302:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64131,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"54361:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54353:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64129,"name":"address","nodeType":"ElementaryTypeName","src":"54353:7:64","typeDescriptions":{}}},"id":64132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54353:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":64133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"54384:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54425:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64134,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54401:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54405:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54401:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54401:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64127,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"54313:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54325:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"54313:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["54345:6:64","54370:12:64","54391:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"54313:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"54302:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64140,"nodeType":"ExpressionStatement","src":"54302:148:64"},{"assignments":[64142],"declarations":[{"constant":false,"id":64142,"mutability":"mutable","name":"callData","nameLocation":"54474:8:64","nodeType":"VariableDeclaration","scope":64177,"src":"54461:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64141,"name":"bytes","nodeType":"ElementaryTypeName","src":"54461:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64148,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":64145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54509:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":64146,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"54547:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":64143,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54485:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54489:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54485:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54485:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"54461:92:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":64154,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"54675:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":64155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54688:23:64","memberName":"AllowFailureMustBeFalse","nodeType":"MemberAccess","referencedDeclaration":49737,"src":"54675:36:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":64156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54712:8:64","memberName":"selector","nodeType":"MemberAccess","src":"54675:45:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":64157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54722:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64152,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54652:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54656:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"54652:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":64158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54652:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64149,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"54636:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54639:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"54636:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":64159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54636:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64160,"nodeType":"ExpressionStatement","src":"54636:89:64"},{"expression":{"arguments":[{"arguments":[{"id":64166,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"54771:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":64165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"54763:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64164,"name":"address","nodeType":"ElementaryTypeName","src":"54763:7:64","typeDescriptions":{}}},"id":64167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54763:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":64168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54779:8:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"},{"id":64169,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64142,"src":"54789:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64161,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"54735:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":64163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54742:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"54735:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":64170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54735:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":64171,"nodeType":"ExpressionStatement","src":"54735:63:64"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64172,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"54809:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54812:9:64","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"54809:12:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54809:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64176,"nodeType":"ExpressionStatement","src":"54809:14:64"}]},"documentation":{"id":64051,"nodeType":"StructuredDocumentation","src":"53384:197:64","text":" @notice Test that pullAmountAndExecute reverts when allowFailure is true in the middle of multiple calls\n @dev Verifies that validation catches allowFailure=true at index 1"},"functionSelector":"1857a380","implemented":true,"kind":"function","modifiers":[],"name":"test_RevertWhen_allowFailure_true_middleOfMultipleCalls","nameLocation":"53595:55:64","parameters":{"id":64052,"nodeType":"ParameterList","parameters":[],"src":"53650:2:64"},"returnParameters":{"id":64053,"nodeType":"ParameterList","parameters":[],"src":"53660:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64306,"nodeType":"FunctionDefinition","src":"55036:1240:64","nodes":[],"body":{"id":64305,"nodeType":"Block","src":"55108:1168:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":64185,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"55129:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":64186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55135:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":64182,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"55118:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":64184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55124:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":40316,"src":"55118:10:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":64187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55118:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64188,"nodeType":"ExpressionStatement","src":"55118:27:64"},{"expression":{"arguments":[{"id":64192,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"55169:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64189,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"55155:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55158:10:64","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"55155:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55155:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64194,"nodeType":"ExpressionStatement","src":"55155:19:64"},{"expression":{"arguments":[{"arguments":[{"id":64200,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"55206:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":64199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"55198:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64198,"name":"address","nodeType":"ElementaryTypeName","src":"55198:7:64","typeDescriptions":{}}},"id":64201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55198:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":64202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55215:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":64195,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"55184:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":64197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55190:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"55184:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55184:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64204,"nodeType":"ExpressionStatement","src":"55184:41:64"},{"assignments":[64210],"declarations":[{"constant":false,"id":64210,"mutability":"mutable","name":"calls","nameLocation":"55337:5:64","nodeType":"VariableDeclaration","scope":64305,"src":"55310:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":64208,"nodeType":"UserDefinedTypeName","pathNode":{"id":64207,"name":"IMulticall3.Call3","nameLocations":["55310:11:64","55322:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"55310:17:64"},"referencedDeclaration":51153,"src":"55310:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64209,"nodeType":"ArrayTypeName","src":"55310:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":64217,"initialValue":{"arguments":[{"hexValue":"33","id":64215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55369:1:64","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":64214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"55345:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":64212,"nodeType":"UserDefinedTypeName","pathNode":{"id":64211,"name":"IMulticall3.Call3","nameLocations":["55349:11:64","55361:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"55349:17:64"},"referencedDeclaration":51153,"src":"55349:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64213,"nodeType":"ArrayTypeName","src":"55349:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":64216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55345:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"55310:61:64"},{"expression":{"id":64233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64218,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64210,"src":"55381:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64220,"indexExpression":{"hexValue":"30","id":64219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55387:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"55381:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64225,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"55440:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"55432:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64223,"name":"address","nodeType":"ElementaryTypeName","src":"55432:7:64","typeDescriptions":{}}},"id":64226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55432:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":64227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"55463:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55504:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64228,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55480:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55484:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55480:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55480:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64221,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"55392:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55404:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"55392:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["55424:6:64","55449:12:64","55470:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"55392:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"55381:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64234,"nodeType":"ExpressionStatement","src":"55381:148:64"},{"expression":{"id":64250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64235,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64210,"src":"55539:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64237,"indexExpression":{"hexValue":"31","id":64236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55545:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"55539:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64242,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"55598:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"55590:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64240,"name":"address","nodeType":"ElementaryTypeName","src":"55590:7:64","typeDescriptions":{}}},"id":64243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55590:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":64244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"55621:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55662:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55638:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55642:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55638:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55638:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64238,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"55550:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55562:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"55550:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["55582:6:64","55607:12:64","55628:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"55550:137:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"55539:148:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64251,"nodeType":"ExpressionStatement","src":"55539:148:64"},{"expression":{"id":64267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64252,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64210,"src":"55697:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64254,"indexExpression":{"hexValue":"32","id":64253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55703:1:64","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"55697:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64259,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"55756:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"55748:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64257,"name":"address","nodeType":"ElementaryTypeName","src":"55748:7:64","typeDescriptions":{}}},"id":64260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55748:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":64261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"55791:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55871:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64262,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55847:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55851:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55847:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55847:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64255,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"55708:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"55720:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"55708:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["55740:6:64","55777:12:64","55837:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"55708:188:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"55697:199:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64268,"nodeType":"ExpressionStatement","src":"55697:199:64"},{"assignments":[64270],"declarations":[{"constant":false,"id":64270,"mutability":"mutable","name":"callData","nameLocation":"55920:8:64","nodeType":"VariableDeclaration","scope":64305,"src":"55907:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64269,"name":"bytes","nodeType":"ElementaryTypeName","src":"55907:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64276,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":64273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55955:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":64274,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64210,"src":"55993:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":64271,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55931:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55935:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55931:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55931:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"55907:92:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":64282,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"56121:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":64283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56134:23:64","memberName":"AllowFailureMustBeFalse","nodeType":"MemberAccess","referencedDeclaration":49737,"src":"56121:36:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":64284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56158:8:64","memberName":"selector","nodeType":"MemberAccess","src":"56121:45:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"32","id":64285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56168:1:64","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":64280,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56098:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56102:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"56098:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":64286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56098:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64277,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"56082:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56085:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"56082:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":64287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56082:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64288,"nodeType":"ExpressionStatement","src":"56082:89:64"},{"expression":{"arguments":[{"arguments":[{"id":64294,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"56217:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":64293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56209:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64292,"name":"address","nodeType":"ElementaryTypeName","src":"56209:7:64","typeDescriptions":{}}},"id":64295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56209:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":64296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56225:8:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"},{"id":64297,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64270,"src":"56235:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64289,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"56181:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":64291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56188:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"56181:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":64298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56181:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":64299,"nodeType":"ExpressionStatement","src":"56181:63:64"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64300,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"56255:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56258:9:64","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"56255:12:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56255:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64304,"nodeType":"ExpressionStatement","src":"56255:14:64"}]},"documentation":{"id":64179,"nodeType":"StructuredDocumentation","src":"54836:195:64","text":" @notice Test that pullAmountAndExecute reverts when allowFailure is true in the last of multiple calls\n @dev Verifies that validation catches allowFailure=true at index 2"},"functionSelector":"3e1637cf","implemented":true,"kind":"function","modifiers":[],"name":"test_RevertWhen_allowFailure_true_lastOfMultipleCalls","nameLocation":"55045:53:64","parameters":{"id":64180,"nodeType":"ParameterList","parameters":[],"src":"55098:2:64"},"returnParameters":{"id":64181,"nodeType":"ParameterList","parameters":[],"src":"55108:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64434,"nodeType":"FunctionDefinition","src":"56474:1238:64","nodes":[],"body":{"id":64433,"nodeType":"Block","src":"56535:1177:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":64313,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"56556:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":64314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56562:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":64310,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"56545:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":64312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56551:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":40316,"src":"56545:10:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":64315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56545:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64316,"nodeType":"ExpressionStatement","src":"56545:27:64"},{"expression":{"arguments":[{"id":64320,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"56596:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64317,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"56582:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56585:10:64","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"56582:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56582:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64322,"nodeType":"ExpressionStatement","src":"56582:19:64"},{"expression":{"arguments":[{"arguments":[{"id":64328,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"56633:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":64327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56625:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64326,"name":"address","nodeType":"ElementaryTypeName","src":"56625:7:64","typeDescriptions":{}}},"id":64329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56625:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":64330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56642:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":64323,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"56611:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":64325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56617:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"56611:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56611:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64332,"nodeType":"ExpressionStatement","src":"56611:41:64"},{"assignments":[64338],"declarations":[{"constant":false,"id":64338,"mutability":"mutable","name":"calls","nameLocation":"56756:5:64","nodeType":"VariableDeclaration","scope":64433,"src":"56729:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":64336,"nodeType":"UserDefinedTypeName","pathNode":{"id":64335,"name":"IMulticall3.Call3","nameLocations":["56729:11:64","56741:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"56729:17:64"},"referencedDeclaration":51153,"src":"56729:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64337,"nodeType":"ArrayTypeName","src":"56729:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":64345,"initialValue":{"arguments":[{"hexValue":"33","id":64343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56788:1:64","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":64342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"56764:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":64340,"nodeType":"UserDefinedTypeName","pathNode":{"id":64339,"name":"IMulticall3.Call3","nameLocations":["56768:11:64","56780:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"56768:17:64"},"referencedDeclaration":51153,"src":"56768:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64341,"nodeType":"ArrayTypeName","src":"56768:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":64344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56764:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"56729:61:64"},{"expression":{"id":64361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64346,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64338,"src":"56800:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64348,"indexExpression":{"hexValue":"30","id":64347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56806:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"56800:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64353,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"56859:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"56851:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64351,"name":"address","nodeType":"ElementaryTypeName","src":"56851:7:64","typeDescriptions":{}}},"id":64354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56851:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":64355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"56894:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56974:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56950:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56954:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56950:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56950:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64349,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"56811:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"56823:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"56811:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["56843:6:64","56880:12:64","56940:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"56811:188:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"56800:199:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64362,"nodeType":"ExpressionStatement","src":"56800:199:64"},{"expression":{"id":64378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64363,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64338,"src":"57009:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64365,"indexExpression":{"hexValue":"31","id":64364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57015:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"57009:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64370,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"57068:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"57060:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64368,"name":"address","nodeType":"ElementaryTypeName","src":"57060:7:64","typeDescriptions":{}}},"id":64371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57060:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":64372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"57091:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57131:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64373,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57107:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57111:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57107:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57107:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64366,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"57020:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57032:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"57020:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["57052:6:64","57077:12:64","57097:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"57020:136:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"57009:147:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64379,"nodeType":"ExpressionStatement","src":"57009:147:64"},{"expression":{"id":64395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64380,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64338,"src":"57166:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64382,"indexExpression":{"hexValue":"32","id":64381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57172:1:64","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"57166:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64387,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"57225:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"57217:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64385,"name":"address","nodeType":"ElementaryTypeName","src":"57217:7:64","typeDescriptions":{}}},"id":64388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57217:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":64389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"57248:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57288:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64390,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57264:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57268:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57264:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57264:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64383,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"57177:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57189:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"57177:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["57209:6:64","57234:12:64","57254:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"57177:136:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"57166:147:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64396,"nodeType":"ExpressionStatement","src":"57166:147:64"},{"assignments":[64398],"declarations":[{"constant":false,"id":64398,"mutability":"mutable","name":"callData","nameLocation":"57337:8:64","nodeType":"VariableDeclaration","scope":64433,"src":"57324:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64397,"name":"bytes","nodeType":"ElementaryTypeName","src":"57324:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64404,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":64401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57372:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":64402,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64338,"src":"57410:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":64399,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57348:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57352:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57348:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57348:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"57324:92:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":64410,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"57557:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":64411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57570:23:64","memberName":"AllowFailureMustBeFalse","nodeType":"MemberAccess","referencedDeclaration":49737,"src":"57557:36:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":64412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57594:8:64","memberName":"selector","nodeType":"MemberAccess","src":"57557:45:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":64413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57604:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":64408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57534:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57538:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"57534:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":64414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57534:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64405,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"57518:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57521:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"57518:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":64415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57518:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64416,"nodeType":"ExpressionStatement","src":"57518:89:64"},{"expression":{"arguments":[{"arguments":[{"id":64422,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"57653:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":64421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"57645:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64420,"name":"address","nodeType":"ElementaryTypeName","src":"57645:7:64","typeDescriptions":{}}},"id":64423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57645:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":64424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57661:8:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"},{"id":64425,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64398,"src":"57671:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64417,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"57617:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":64419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57624:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"57617:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":64426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57617:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":64427,"nodeType":"ExpressionStatement","src":"57617:63:64"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64428,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"57691:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57694:9:64","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"57691:12:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57691:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64432,"nodeType":"ExpressionStatement","src":"57691:14:64"}]},"documentation":{"id":64307,"nodeType":"StructuredDocumentation","src":"56282:187:64","text":" @notice Test that pullAmountAndExecute reverts when all calls have allowFailure=true\n @dev Verifies that validation catches the first allowFailure=true at index 0"},"functionSelector":"f7aa752d","implemented":true,"kind":"function","modifiers":[],"name":"test_RevertWhen_allowFailure_true_allCalls","nameLocation":"56483:42:64","parameters":{"id":64308,"nodeType":"ParameterList","parameters":[],"src":"56525:2:64"},"returnParameters":{"id":64309,"nodeType":"ParameterList","parameters":[],"src":"56535:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64527,"nodeType":"FunctionDefinition","src":"57876:877:64","nodes":[],"body":{"id":64526,"nodeType":"Block","src":"57943:810:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":64441,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"57964:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":64442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57970:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":64438,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"57953:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":64440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57959:4:64","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":40316,"src":"57953:10:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":64443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57953:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64444,"nodeType":"ExpressionStatement","src":"57953:27:64"},{"expression":{"arguments":[{"id":64448,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58860,"src":"58004:4:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64445,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"57990:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"57993:10:64","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"57990:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57990:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64450,"nodeType":"ExpressionStatement","src":"57990:19:64"},{"expression":{"arguments":[{"arguments":[{"id":64456,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"58041:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":64455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"58033:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64454,"name":"address","nodeType":"ElementaryTypeName","src":"58033:7:64","typeDescriptions":{}}},"id":64457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58033:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":64458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58050:9:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":64451,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"58019:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}},"id":64453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58025:7:64","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":40496,"src":"58019:13:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58019:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64460,"nodeType":"ExpressionStatement","src":"58019:41:64"},{"assignments":[64466],"declarations":[{"constant":false,"id":64466,"mutability":"mutable","name":"calls","nameLocation":"58146:5:64","nodeType":"VariableDeclaration","scope":64526,"src":"58119:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":64464,"nodeType":"UserDefinedTypeName","pathNode":{"id":64463,"name":"IMulticall3.Call3","nameLocations":["58119:11:64","58131:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"58119:17:64"},"referencedDeclaration":51153,"src":"58119:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64465,"nodeType":"ArrayTypeName","src":"58119:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":64473,"initialValue":{"arguments":[{"hexValue":"31","id":64471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58178:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"58154:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":64468,"nodeType":"UserDefinedTypeName","pathNode":{"id":64467,"name":"IMulticall3.Call3","nameLocations":["58158:11:64","58170:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"58158:17:64"},"referencedDeclaration":51153,"src":"58158:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64469,"nodeType":"ArrayTypeName","src":"58158:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":64472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58154:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"58119:61:64"},{"expression":{"id":64489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64474,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64466,"src":"58190:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64476,"indexExpression":{"hexValue":"30","id":64475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58196:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"58190:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64481,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"58249:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"58241:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64479,"name":"address","nodeType":"ElementaryTypeName","src":"58241:7:64","typeDescriptions":{}}},"id":64482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58241:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":64483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"58284:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58364:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58340:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58344:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58340:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58340:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64477,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"58201:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58213:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"58201:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["58233:6:64","58270:12:64","58330:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"58201:188:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"58190:199:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64490,"nodeType":"ExpressionStatement","src":"58190:199:64"},{"assignments":[64492],"declarations":[{"constant":false,"id":64492,"mutability":"mutable","name":"callData","nameLocation":"58413:8:64","nodeType":"VariableDeclaration","scope":64526,"src":"58400:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64491,"name":"bytes","nodeType":"ElementaryTypeName","src":"58400:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64498,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":64495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58448:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":64496,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64466,"src":"58486:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":64493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58424:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58428:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58424:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58424:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"58400:92:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":64504,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"58614:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":64505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58627:23:64","memberName":"AllowFailureMustBeFalse","nodeType":"MemberAccess","referencedDeclaration":49737,"src":"58614:36:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":64506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58651:8:64","memberName":"selector","nodeType":"MemberAccess","src":"58614:45:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":64507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58661:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":64502,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58591:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58595:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"58591:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":64508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58591:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64499,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"58575:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58578:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"58575:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":64509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58575:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64510,"nodeType":"ExpressionStatement","src":"58575:89:64"},{"expression":{"arguments":[{"arguments":[{"id":64516,"name":"erc20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58849,"src":"58704:5:64","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$40330","typeString":"contract ERC20Mock"}],"id":64515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"58696:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64514,"name":"address","nodeType":"ElementaryTypeName","src":"58696:7:64","typeDescriptions":{}}},"id":64517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58696:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64518,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64492,"src":"58712:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64511,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"58674:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":64513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58681:14:64","memberName":"pullAndExecute","nodeType":"MemberAccess","referencedDeclaration":49863,"src":"58674:21:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":64519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58674:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":64520,"nodeType":"ExpressionStatement","src":"58674:47:64"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64521,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"58732:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"58735:9:64","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"58732:12:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58732:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64525,"nodeType":"ExpressionStatement","src":"58732:14:64"}]},"documentation":{"id":64435,"nodeType":"StructuredDocumentation","src":"57718:153:64","text":" @notice Test that pullAndExecute also validates allowFailure flag\n @dev Ensures the validation applies to pullAndExecute as well"},"functionSelector":"a4cacf38","implemented":true,"kind":"function","modifiers":[],"name":"test_RevertWhen_pullAndExecute_allowFailure_true","nameLocation":"57885:48:64","parameters":{"id":64436,"nodeType":"ParameterList","parameters":[],"src":"57933:2:64"},"returnParameters":{"id":64437,"nodeType":"ParameterList","parameters":[],"src":"57943:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64595,"nodeType":"FunctionDefinition","src":"58911:762:64","nodes":[],"body":{"id":64594,"nodeType":"Block","src":"58979:694:64","nodes":[],"statements":[{"assignments":[64536],"declarations":[{"constant":false,"id":64536,"mutability":"mutable","name":"calls","nameLocation":"59064:5:64","nodeType":"VariableDeclaration","scope":64594,"src":"59037:32:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":64534,"nodeType":"UserDefinedTypeName","pathNode":{"id":64533,"name":"IMulticall3.Call3","nameLocations":["59037:11:64","59049:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"59037:17:64"},"referencedDeclaration":51153,"src":"59037:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64535,"nodeType":"ArrayTypeName","src":"59037:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"id":64543,"initialValue":{"arguments":[{"hexValue":"31","id":64541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59096:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"59072:23:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":64538,"nodeType":"UserDefinedTypeName","pathNode":{"id":64537,"name":"IMulticall3.Call3","nameLocations":["59076:11:64","59088:5:64"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"59076:17:64"},"referencedDeclaration":51153,"src":"59076:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":64539,"nodeType":"ArrayTypeName","src":"59076:19:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}}},"id":64542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59072:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"59037:61:64"},{"expression":{"id":64559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64544,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64536,"src":"59108:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}},"id":64546,"indexExpression":{"hexValue":"30","id":64545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59114:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"59108:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64551,"name":"getter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58840,"src":"59167:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockSenderGetter_$68460","typeString":"contract MockSenderGetter"}],"id":64550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"59159:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64549,"name":"address","nodeType":"ElementaryTypeName","src":"59159:7:64","typeDescriptions":{}}},"id":64552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59159:15:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":64553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"59202:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657453656e6465722829","id":64556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59282:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""},"value":"getSender()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e01eb5a706a093e4ebe99d2bf3e9b267331ff3798a9073b8efeef323532411a","typeString":"literal_string \"getSender()\""}],"expression":{"id":64554,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59258:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59262:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59258:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59258:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64547,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"59119:11:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59131:5:64","memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":51153,"src":"59119:17:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$51153_storage_ptr_$","typeString":"type(struct IMulticall3.Call3 storage pointer)"}},"id":64558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["59151:6:64","59188:12:64","59248:8:64"],"names":["target","allowFailure","callData"],"nodeType":"FunctionCall","src":"59119:188:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"src":"59108:199:64","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_memory_ptr","typeString":"struct IMulticall3.Call3 memory"}},"id":64560,"nodeType":"ExpressionStatement","src":"59108:199:64"},{"assignments":[64562],"declarations":[{"constant":false,"id":64562,"mutability":"mutable","name":"callData","nameLocation":"59331:8:64","nodeType":"VariableDeclaration","scope":64594,"src":"59318:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64561,"name":"bytes","nodeType":"ElementaryTypeName","src":"59318:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64568,"initialValue":{"arguments":[{"hexValue":"616767726567617465332828616464726573732c626f6f6c2c6279746573295b5d29","id":64565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59366:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},"value":"aggregate3((address,bool,bytes)[])"},{"id":64566,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64536,"src":"59404:5:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82ad56cb4e5648650ea78c1b99c0d15d4876ef8dbbb26387ce567a45cb376af6","typeString":"literal_string \"aggregate3((address,bool,bytes)[])\""},{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3 memory[] memory"}],"expression":{"id":64563,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59342:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59346:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59342:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":64567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59342:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"59318:92:64"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":64574,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"59532:12:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":64575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59545:23:64","memberName":"AllowFailureMustBeFalse","nodeType":"MemberAccess","referencedDeclaration":49737,"src":"59532:36:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":64576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59569:8:64","memberName":"selector","nodeType":"MemberAccess","src":"59532:45:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":64577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59579:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":64572,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59509:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59513:18:64","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"59509:22:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":64578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59509:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64569,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"59493:2:64","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":64571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59496:12:64","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18588,"src":"59493:15:64","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":64579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59493:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64580,"nodeType":"ExpressionStatement","src":"59493:89:64"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":64588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59644:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"59636:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64586,"name":"address","nodeType":"ElementaryTypeName","src":"59636:7:64","typeDescriptions":{}}},"id":64589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59636:10:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":64590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59648:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},{"id":64591,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"59657:8:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64581,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58837,"src":"59592:6:64","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"id":64583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"59599:20:64","memberName":"pullAmountAndExecute","nodeType":"MemberAccess","referencedDeclaration":49991,"src":"59592:27:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":64585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":64584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59627:7:64","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"src":"59592:43:64","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (address,uint256,bytes memory) payable external returns (struct IMulticall3.Result memory[] memory)"}},"id":64592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59592:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":64593,"nodeType":"ExpressionStatement","src":"59592:74:64"}]},"documentation":{"id":64528,"nodeType":"StructuredDocumentation","src":"58759:147:64","text":" @notice Test that execute with ETH validates allowFailure flag\n @dev Ensures the validation applies to all execution paths"},"functionSelector":"6ddcc7c5","implemented":true,"kind":"function","modifiers":[],"name":"test_RevertWhen_execute_withETH_allowFailure_true","nameLocation":"58920:49:64","parameters":{"id":64529,"nodeType":"ParameterList","parameters":[],"src":"58969:2:64"},"returnParameters":{"id":64530,"nodeType":"ParameterList","parameters":[],"src":"58979:0:64"},"scope":64596,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":58833,"name":"Test","nameLocations":["4915:4:64"],"nodeType":"IdentifierPath","referencedDeclaration":13474,"src":"4915:4:64"},"id":58834,"nodeType":"InheritanceSpecifier","src":"4915:4:64"}],"canonicalName":"TrailsRouterTest","contractDependencies":[40330,50972,58599,58608,58633,58706,58750,58832,68037,68225,68460,69454,69465],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[64596,13474,13420,7443,7042,6247,4157,3194,285,282],"name":"TrailsRouterTest","nameLocation":"4895:16:64","scope":64597,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477,58889,58897,58911,58921,58937]}],"license":"MIT"}},"test/TrailsRouterShim.t.sol":{"id":65,"ast":{"absolutePath":"test/TrailsRouterShim.t.sol","id":66980,"exportedSymbols":{"CustomErrorRouter":[65010],"DelegatecallGuard":[51143],"IMockDelegatedExtension":[64630],"IMulticall3":[51190],"MockAggregate3Router":[64785],"MockRouter":[64667],"MockRouterReturningData":[64915],"RevertingRouter":[64800],"Test":[13474],"TrailsRouter":[50972],"TrailsRouterShim":[51106],"TrailsRouterShimTest":[66979],"TrailsSentinelLib":[51527],"TstoreMode":[69517],"TstoreRead":[69588]},"nodeType":"SourceUnit","src":"32:24961:65","nodes":[{"id":64598,"nodeType":"PragmaDirective","src":"32:24:65","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":64600,"nodeType":"ImportDirective","src":"58:40:65","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":66980,"sourceUnit":13475,"symbolAliases":[{"foreign":{"id":64599,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"66:4:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64602,"nodeType":"ImportDirective","src":"99:58:65","nodes":[],"absolutePath":"src/TrailsRouterShim.sol","file":"src/TrailsRouterShim.sol","nameLocation":"-1:-1:-1","scope":66980,"sourceUnit":51107,"symbolAliases":[{"foreign":{"id":64601,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"107:16:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64604,"nodeType":"ImportDirective","src":"158:67:65","nodes":[],"absolutePath":"src/guards/DelegatecallGuard.sol","file":"src/guards/DelegatecallGuard.sol","nameLocation":"-1:-1:-1","scope":66980,"sourceUnit":51144,"symbolAliases":[{"foreign":{"id":64603,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"166:17:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64606,"nodeType":"ImportDirective","src":"226:70:65","nodes":[],"absolutePath":"src/libraries/TrailsSentinelLib.sol","file":"src/libraries/TrailsSentinelLib.sol","nameLocation":"-1:-1:-1","scope":66980,"sourceUnit":51528,"symbolAliases":[{"foreign":{"id":64605,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"234:17:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64609,"nodeType":"ImportDirective","src":"297:66:65","nodes":[],"absolutePath":"test/utils/TstoreUtils.sol","file":"test/utils/TstoreUtils.sol","nameLocation":"-1:-1:-1","scope":66980,"sourceUnit":69589,"symbolAliases":[{"foreign":{"id":64607,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"305:10:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":64608,"name":"TstoreRead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69588,"src":"317:10:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64611,"nodeType":"ImportDirective","src":"364:50:65","nodes":[],"absolutePath":"src/TrailsRouter.sol","file":"src/TrailsRouter.sol","nameLocation":"-1:-1:-1","scope":66980,"sourceUnit":50973,"symbolAliases":[{"foreign":{"id":64610,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"372:12:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64613,"nodeType":"ImportDirective","src":"415:59:65","nodes":[],"absolutePath":"src/interfaces/IMulticall3.sol","file":"src/interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":66980,"sourceUnit":51191,"symbolAliases":[{"foreign":{"id":64612,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"423:11:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64630,"nodeType":"ContractDefinition","src":"719:255:65","nodes":[{"id":64629,"nodeType":"FunctionDefinition","src":"759:213:65","nodes":[],"functionSelector":"4c4e814c","implemented":false,"kind":"function","modifiers":[],"name":"handleSequenceDelegateCall","nameLocation":"768:26:65","parameters":{"id":64627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64616,"mutability":"mutable","name":"opHash","nameLocation":"812:6:65","nodeType":"VariableDeclaration","scope":64629,"src":"804:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"804:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64618,"mutability":"mutable","name":"startingGas","nameLocation":"836:11:65","nodeType":"VariableDeclaration","scope":64629,"src":"828:19:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64617,"name":"uint256","nodeType":"ElementaryTypeName","src":"828:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64620,"mutability":"mutable","name":"index","nameLocation":"865:5:65","nodeType":"VariableDeclaration","scope":64629,"src":"857:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64619,"name":"uint256","nodeType":"ElementaryTypeName","src":"857:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64622,"mutability":"mutable","name":"numCalls","nameLocation":"888:8:65","nodeType":"VariableDeclaration","scope":64629,"src":"880:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64621,"name":"uint256","nodeType":"ElementaryTypeName","src":"880:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64624,"mutability":"mutable","name":"space","nameLocation":"914:5:65","nodeType":"VariableDeclaration","scope":64629,"src":"906:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64623,"name":"uint256","nodeType":"ElementaryTypeName","src":"906:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64626,"mutability":"mutable","name":"data","nameLocation":"944:4:65","nodeType":"VariableDeclaration","scope":64629,"src":"929:19:65","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":64625,"name":"bytes","nodeType":"ElementaryTypeName","src":"929:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"794:160:65"},"returnParameters":{"id":64628,"nodeType":"ParameterList","parameters":[],"src":"971:0:65"},"scope":64630,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMockDelegatedExtension","contractDependencies":[],"contractKind":"interface","documentation":{"id":64614,"nodeType":"StructuredDocumentation","src":"653:66:65","text":"@dev Minimal interface for delegated entrypoint used by tests"},"fullyImplemented":false,"linearizedBaseContracts":[64630],"name":"IMockDelegatedExtension","nameLocation":"729:23:65","scope":66980,"usedErrors":[],"usedEvents":[]},{"id":64667,"nodeType":"ContractDefinition","src":"1225:293:65","nodes":[{"id":64641,"nodeType":"EventDefinition","src":"1259:65:65","nodes":[],"anonymous":false,"eventSelector":"c1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41","name":"Forwarded","nameLocation":"1265:9:65","parameters":{"id":64640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64635,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"1291:4:65","nodeType":"VariableDeclaration","scope":64641,"src":"1275:20:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64634,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64637,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"1305:5:65","nodeType":"VariableDeclaration","scope":64641,"src":"1297:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64636,"name":"uint256","nodeType":"ElementaryTypeName","src":"1297:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64639,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"1318:4:65","nodeType":"VariableDeclaration","scope":64641,"src":"1312:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64638,"name":"bytes","nodeType":"ElementaryTypeName","src":"1312:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1274:49:65"}},{"id":64654,"nodeType":"FunctionDefinition","src":"1330:92:65","nodes":[],"body":{"id":64653,"nodeType":"Block","src":"1358:64:65","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":64645,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1383:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1387:6:65","memberName":"sender","nodeType":"MemberAccess","src":"1383:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":64647,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1395:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1399:5:65","memberName":"value","nodeType":"MemberAccess","src":"1395:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":64649,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1406:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1410:4:65","memberName":"data","nodeType":"MemberAccess","src":"1406:8:65","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":64644,"name":"Forwarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64641,"src":"1373:9:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":64651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:42:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64652,"nodeType":"EmitStatement","src":"1368:47:65"}]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":64642,"nodeType":"ParameterList","parameters":[],"src":"1338:2:65"},"returnParameters":{"id":64643,"nodeType":"ParameterList","parameters":[],"src":"1358:0:65"},"scope":64667,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":64666,"nodeType":"FunctionDefinition","src":"1428:88:65","nodes":[],"body":{"id":64665,"nodeType":"Block","src":"1455:61:65","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":64658,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1480:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1484:6:65","memberName":"sender","nodeType":"MemberAccess","src":"1480:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":64660,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1492:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1496:5:65","memberName":"value","nodeType":"MemberAccess","src":"1492:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":64662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"1503:5:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":64657,"name":"Forwarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64641,"src":"1470:9:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":64663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1470:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64664,"nodeType":"EmitStatement","src":"1465:44:65"}]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":64655,"nodeType":"ParameterList","parameters":[],"src":"1435:2:65"},"returnParameters":{"id":64656,"nodeType":"ParameterList","parameters":[],"src":"1455:0:65"},"scope":64667,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":64632,"name":"Test","nameLocations":["1248:4:65"],"nodeType":"IdentifierPath","referencedDeclaration":13474,"src":"1248:4:65"},"id":64633,"nodeType":"InheritanceSpecifier","src":"1248:4:65"}],"canonicalName":"MockRouter","contractDependencies":[],"contractKind":"contract","documentation":{"id":64631,"nodeType":"StructuredDocumentation","src":"1157:68:65","text":"@dev Mock router that emits events and supports receiving value"},"fullyImplemented":true,"linearizedBaseContracts":[64667,13474,13420,7443,7042,6247,4157,3194,285,282],"name":"MockRouter","nameLocation":"1234:10:65","scope":66980,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477,64641]},{"id":64785,"nodeType":"ContractDefinition","src":"1603:1223:65","nodes":[{"id":64676,"nodeType":"EventDefinition","src":"1639:65:65","nodes":[],"anonymous":false,"eventSelector":"c1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41","name":"Forwarded","nameLocation":"1645:9:65","parameters":{"id":64675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64670,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"1671:4:65","nodeType":"VariableDeclaration","scope":64676,"src":"1655:20:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64669,"name":"address","nodeType":"ElementaryTypeName","src":"1655:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64672,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"1685:5:65","nodeType":"VariableDeclaration","scope":64676,"src":"1677:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64671,"name":"uint256","nodeType":"ElementaryTypeName","src":"1677:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64674,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"1698:4:65","nodeType":"VariableDeclaration","scope":64676,"src":"1692:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64673,"name":"bytes","nodeType":"ElementaryTypeName","src":"1692:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1654:49:65"}},{"id":64680,"nodeType":"FunctionDefinition","src":"1710:29:65","nodes":[],"body":{"id":64679,"nodeType":"Block","src":"1737:2:65","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":64677,"nodeType":"ParameterList","parameters":[],"src":"1717:2:65"},"returnParameters":{"id":64678,"nodeType":"ParameterList","parameters":[],"src":"1737:0:65"},"scope":64785,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":64693,"nodeType":"FunctionDefinition","src":"1745:140:65","nodes":[],"body":{"id":64692,"nodeType":"Block","src":"1773:112:65","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":64684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1846:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1850:6:65","memberName":"sender","nodeType":"MemberAccess","src":"1846:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":64686,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1858:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1862:5:65","memberName":"value","nodeType":"MemberAccess","src":"1858:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":64688,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1869:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1873:4:65","memberName":"data","nodeType":"MemberAccess","src":"1869:8:65","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":64683,"name":"Forwarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64676,"src":"1836:9:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":64690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1836:42:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64691,"nodeType":"EmitStatement","src":"1831:47:65"}]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":64681,"nodeType":"ParameterList","parameters":[],"src":"1753:2:65"},"returnParameters":{"id":64682,"nodeType":"ParameterList","parameters":[],"src":"1773:0:65"},"scope":64785,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":64784,"nodeType":"FunctionDefinition","src":"1891:933:65","nodes":[],"body":{"id":64783,"nodeType":"Block","src":"2040:784:65","nodes":[],"statements":[{"assignments":[64709],"declarations":[{"constant":false,"id":64709,"mutability":"mutable","name":"results","nameLocation":"2078:7:65","nodeType":"VariableDeclaration","scope":64783,"src":"2050:35:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":64707,"nodeType":"UserDefinedTypeName","pathNode":{"id":64706,"name":"IMulticall3.Result","nameLocations":["2050:11:65","2062:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"2050:18:65"},"referencedDeclaration":51167,"src":"2050:18:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":64708,"nodeType":"ArrayTypeName","src":"2050:20:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"id":64717,"initialValue":{"arguments":[{"expression":{"id":64714,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64697,"src":"2113:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2119:6:65","memberName":"length","nodeType":"MemberAccess","src":"2113:12:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2088:24:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Result memory[] memory)"},"typeName":{"baseType":{"id":64711,"nodeType":"UserDefinedTypeName","pathNode":{"id":64710,"name":"IMulticall3.Result","nameLocations":["2092:11:65","2104:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"2092:18:65"},"referencedDeclaration":51167,"src":"2092:18:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":64712,"nodeType":"ArrayTypeName","src":"2092:20:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}}},"id":64716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2088:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2050:76:65"},{"body":{"id":64770,"nodeType":"Block","src":"2180:464:65","statements":[{"assignments":[64730,64732],"declarations":[{"constant":false,"id":64730,"mutability":"mutable","name":"success","nameLocation":"2200:7:65","nodeType":"VariableDeclaration","scope":64770,"src":"2195:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64729,"name":"bool","nodeType":"ElementaryTypeName","src":"2195:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":64732,"mutability":"mutable","name":"ret","nameLocation":"2222:3:65","nodeType":"VariableDeclaration","scope":64770,"src":"2209:16:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64731,"name":"bytes","nodeType":"ElementaryTypeName","src":"2209:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64748,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":64743,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64697,"src":"2273:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64745,"indexExpression":{"id":64744,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64719,"src":"2279:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2273:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2282:8:65","memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":51161,"src":"2273:17:65","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"baseExpression":{"id":64733,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64697,"src":"2229:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64735,"indexExpression":{"id":64734,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64719,"src":"2235:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2229:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2238:6:65","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":51155,"src":"2229:15:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2245:4:65","memberName":"call","nodeType":"MemberAccess","src":"2229:20:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":64742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"baseExpression":{"id":64738,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64697,"src":"2257:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64740,"indexExpression":{"id":64739,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64719,"src":"2263:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2257:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2266:5:65","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":51159,"src":"2257:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"2229:43:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":64747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2229:62:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2194:97:65"},{"expression":{"id":64757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64749,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64709,"src":"2305:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":64751,"indexExpression":{"id":64750,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64719,"src":"2313:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2305:10:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64754,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64730,"src":"2337:7:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":64755,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64732,"src":"2346:3:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64752,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"2318:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2330:6:65","memberName":"Result","nodeType":"MemberAccess","referencedDeclaration":51167,"src":"2318:18:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$51167_storage_ptr_$","typeString":"type(struct IMulticall3.Result storage pointer)"}},"id":64756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2318:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"src":"2305:45:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"id":64758,"nodeType":"ExpressionStatement","src":"2305:45:65"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":64766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2437:22:65","subExpression":{"expression":{"baseExpression":{"id":64759,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64697,"src":"2438:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64761,"indexExpression":{"id":64760,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64719,"src":"2444:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2438:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2447:12:65","memberName":"allowFailure","nodeType":"MemberAccess","referencedDeclaration":51157,"src":"2438:21:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":64765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2463:8:65","subExpression":{"id":64764,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64730,"src":"2464:7:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2437:34:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64769,"nodeType":"IfStatement","src":"2433:201:65","trueBody":{"id":64768,"nodeType":"Block","src":"2473:161:65","statements":[{"AST":{"nativeSrc":"2548:72:65","nodeType":"YulBlock","src":"2548:72:65","statements":[{"expression":{"arguments":[{"arguments":[{"name":"ret","nativeSrc":"2581:3:65","nodeType":"YulIdentifier","src":"2581:3:65"},{"kind":"number","nativeSrc":"2586:2:65","nodeType":"YulLiteral","src":"2586:2:65","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"2577:3:65","nodeType":"YulIdentifier","src":"2577:3:65"},"nativeSrc":"2577:12:65","nodeType":"YulFunctionCall","src":"2577:12:65"},{"arguments":[{"name":"ret","nativeSrc":"2597:3:65","nodeType":"YulIdentifier","src":"2597:3:65"}],"functionName":{"name":"mload","nativeSrc":"2591:5:65","nodeType":"YulIdentifier","src":"2591:5:65"},"nativeSrc":"2591:10:65","nodeType":"YulFunctionCall","src":"2591:10:65"}],"functionName":{"name":"revert","nativeSrc":"2570:6:65","nodeType":"YulIdentifier","src":"2570:6:65"},"nativeSrc":"2570:32:65","nodeType":"YulFunctionCall","src":"2570:32:65"},"nativeSrc":"2570:32:65","nodeType":"YulExpressionStatement","src":"2570:32:65"}]},"evmVersion":"prague","externalReferences":[{"declaration":64732,"isOffset":false,"isSlot":false,"src":"2581:3:65","valueSize":1},{"declaration":64732,"isOffset":false,"isSlot":false,"src":"2597:3:65","valueSize":1}],"id":64767,"nodeType":"InlineAssembly","src":"2539:81:65"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64722,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64719,"src":"2157:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":64723,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64697,"src":"2161:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2167:6:65","memberName":"length","nodeType":"MemberAccess","src":"2161:12:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2157:16:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64771,"initializationExpression":{"assignments":[64719],"declarations":[{"constant":false,"id":64719,"mutability":"mutable","name":"i","nameLocation":"2150:1:65","nodeType":"VariableDeclaration","scope":64771,"src":"2142:9:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64718,"name":"uint256","nodeType":"ElementaryTypeName","src":"2142:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64721,"initialValue":{"hexValue":"30","id":64720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2154:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2142:13:65"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":64727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2175:3:65","subExpression":{"id":64726,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64719,"src":"2175:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64728,"nodeType":"ExpressionStatement","src":"2175:3:65"},"nodeType":"ForStatement","src":"2137:507:65"},{"eventCall":{"arguments":[{"expression":{"id":64773,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2760:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2764:6:65","memberName":"sender","nodeType":"MemberAccess","src":"2760:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":64775,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2772:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2776:5:65","memberName":"value","nodeType":"MemberAccess","src":"2772:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":64777,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2783:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2787:4:65","memberName":"data","nodeType":"MemberAccess","src":"2783:8:65","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":64772,"name":"Forwarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64676,"src":"2750:9:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":64779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:42:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64780,"nodeType":"EmitStatement","src":"2745:47:65"},{"expression":{"id":64781,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64709,"src":"2810:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"functionReturnParameters":64703,"id":64782,"nodeType":"Return","src":"2803:14:65"}]},"functionSelector":"174dea71","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"1900:15:65","parameters":{"id":64698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64697,"mutability":"mutable","name":"calls","nameLocation":"1950:5:65","nodeType":"VariableDeclaration","scope":64784,"src":"1916:39:65","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":64695,"nodeType":"UserDefinedTypeName","pathNode":{"id":64694,"name":"IMulticall3.Call3Value","nameLocations":["1916:11:65","1928:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"1916:22:65"},"referencedDeclaration":51162,"src":"1916:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":64696,"nodeType":"ArrayTypeName","src":"1916:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"1915:41:65"},"returnParameters":{"id":64703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64784,"src":"2007:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":64700,"nodeType":"UserDefinedTypeName","pathNode":{"id":64699,"name":"IMulticall3.Result","nameLocations":["2007:11:65","2019:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"2007:18:65"},"referencedDeclaration":51167,"src":"2007:18:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":64701,"nodeType":"ArrayTypeName","src":"2007:20:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2006:29:65"},"scope":64785,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MockAggregate3Router","contractDependencies":[],"contractKind":"contract","documentation":{"id":64668,"nodeType":"StructuredDocumentation","src":"1520:83:65","text":"@dev Mock router that implements aggregate3Value and forwards calls to targets"},"fullyImplemented":true,"linearizedBaseContracts":[64785],"name":"MockAggregate3Router","nameLocation":"1612:20:65","scope":66980,"usedErrors":[],"usedEvents":[64676]},{"id":64800,"nodeType":"ContractDefinition","src":"2887:144:65","nodes":[{"id":64790,"nodeType":"ErrorDefinition","src":"2918:31:65","nodes":[],"errorSelector":"eac126da","name":"AlwaysRevert","nameLocation":"2924:12:65","parameters":{"id":64789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64788,"mutability":"mutable","name":"data","nameLocation":"2943:4:65","nodeType":"VariableDeclaration","scope":64790,"src":"2937:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64787,"name":"bytes","nodeType":"ElementaryTypeName","src":"2937:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2936:12:65"}},{"id":64799,"nodeType":"FunctionDefinition","src":"2955:74:65","nodes":[],"body":{"id":64798,"nodeType":"Block","src":"2983:46:65","nodes":[],"statements":[{"errorCall":{"arguments":[{"expression":{"id":64794,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3013:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3017:4:65","memberName":"data","nodeType":"MemberAccess","src":"3013:8:65","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":64793,"name":"AlwaysRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64790,"src":"3000:12:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":64796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3000:22:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":64797,"nodeType":"RevertStatement","src":"2993:29:65"}]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":64791,"nodeType":"ParameterList","parameters":[],"src":"2963:2:65"},"returnParameters":{"id":64792,"nodeType":"ParameterList","parameters":[],"src":"2983:0:65"},"scope":64800,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"RevertingRouter","contractDependencies":[],"contractKind":"contract","documentation":{"id":64786,"nodeType":"StructuredDocumentation","src":"2828:59:65","text":"@dev Mock router that always reverts with encoded data"},"fullyImplemented":true,"linearizedBaseContracts":[64800],"name":"RevertingRouter","nameLocation":"2896:15:65","scope":66980,"usedErrors":[64790],"usedEvents":[]},{"id":64915,"nodeType":"ContractDefinition","src":"3033:1132:65","nodes":[{"id":64808,"nodeType":"EventDefinition","src":"3072:65:65","nodes":[],"anonymous":false,"eventSelector":"c1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41","name":"Forwarded","nameLocation":"3078:9:65","parameters":{"id":64807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64802,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"3104:4:65","nodeType":"VariableDeclaration","scope":64808,"src":"3088:20:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64801,"name":"address","nodeType":"ElementaryTypeName","src":"3088:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64804,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"3118:5:65","nodeType":"VariableDeclaration","scope":64808,"src":"3110:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64803,"name":"uint256","nodeType":"ElementaryTypeName","src":"3110:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64806,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"3131:4:65","nodeType":"VariableDeclaration","scope":64808,"src":"3125:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64805,"name":"bytes","nodeType":"ElementaryTypeName","src":"3125:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3087:49:65"}},{"id":64899,"nodeType":"FunctionDefinition","src":"3143:891:65","nodes":[],"body":{"id":64898,"nodeType":"Block","src":"3292:742:65","nodes":[],"statements":[{"assignments":[64824],"declarations":[{"constant":false,"id":64824,"mutability":"mutable","name":"results","nameLocation":"3330:7:65","nodeType":"VariableDeclaration","scope":64898,"src":"3302:35:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":64822,"nodeType":"UserDefinedTypeName","pathNode":{"id":64821,"name":"IMulticall3.Result","nameLocations":["3302:11:65","3314:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"3302:18:65"},"referencedDeclaration":51167,"src":"3302:18:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":64823,"nodeType":"ArrayTypeName","src":"3302:20:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"id":64832,"initialValue":{"arguments":[{"expression":{"id":64829,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64812,"src":"3365:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3371:6:65","memberName":"length","nodeType":"MemberAccess","src":"3365:12:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3340:24:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Result memory[] memory)"},"typeName":{"baseType":{"id":64826,"nodeType":"UserDefinedTypeName","pathNode":{"id":64825,"name":"IMulticall3.Result","nameLocations":["3344:11:65","3356:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"3344:18:65"},"referencedDeclaration":51167,"src":"3344:18:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":64827,"nodeType":"ArrayTypeName","src":"3344:20:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}}},"id":64831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3340:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3302:76:65"},{"body":{"id":64885,"nodeType":"Block","src":"3432:462:65","statements":[{"assignments":[64845,64847],"declarations":[{"constant":false,"id":64845,"mutability":"mutable","name":"success","nameLocation":"3452:7:65","nodeType":"VariableDeclaration","scope":64885,"src":"3447:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64844,"name":"bool","nodeType":"ElementaryTypeName","src":"3447:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":64847,"mutability":"mutable","name":"ret","nameLocation":"3474:3:65","nodeType":"VariableDeclaration","scope":64885,"src":"3461:16:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64846,"name":"bytes","nodeType":"ElementaryTypeName","src":"3461:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64863,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":64858,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64812,"src":"3523:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64860,"indexExpression":{"id":64859,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64834,"src":"3529:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3523:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3532:8:65","memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":51161,"src":"3523:17:65","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"arguments":[{"id":64850,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3489:4:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}],"id":64849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3481:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64848,"name":"address","nodeType":"ElementaryTypeName","src":"3481:7:65","typeDescriptions":{}}},"id":64851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3481:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3495:4:65","memberName":"call","nodeType":"MemberAccess","src":"3481:18:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":64857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"baseExpression":{"id":64853,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64812,"src":"3507:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64855,"indexExpression":{"id":64854,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64834,"src":"3513:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3507:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3516:5:65","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":51159,"src":"3507:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"3481:41:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":64862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3481:60:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3446:95:65"},{"expression":{"id":64872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64864,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64824,"src":"3555:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":64866,"indexExpression":{"id":64865,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64834,"src":"3563:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3555:10:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64869,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64845,"src":"3587:7:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":64870,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64847,"src":"3596:3:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64867,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"3568:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3580:6:65","memberName":"Result","nodeType":"MemberAccess","referencedDeclaration":51167,"src":"3568:18:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$51167_storage_ptr_$","typeString":"type(struct IMulticall3.Result storage pointer)"}},"id":64871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3568:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"src":"3555:45:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"id":64873,"nodeType":"ExpressionStatement","src":"3555:45:65"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":64881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3687:22:65","subExpression":{"expression":{"baseExpression":{"id":64874,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64812,"src":"3688:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64876,"indexExpression":{"id":64875,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64834,"src":"3694:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3688:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3697:12:65","memberName":"allowFailure","nodeType":"MemberAccess","referencedDeclaration":51157,"src":"3688:21:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":64880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3713:8:65","subExpression":{"id":64879,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64845,"src":"3714:7:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3687:34:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64884,"nodeType":"IfStatement","src":"3683:201:65","trueBody":{"id":64883,"nodeType":"Block","src":"3723:161:65","statements":[{"AST":{"nativeSrc":"3798:72:65","nodeType":"YulBlock","src":"3798:72:65","statements":[{"expression":{"arguments":[{"arguments":[{"name":"ret","nativeSrc":"3831:3:65","nodeType":"YulIdentifier","src":"3831:3:65"},{"kind":"number","nativeSrc":"3836:2:65","nodeType":"YulLiteral","src":"3836:2:65","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"3827:3:65","nodeType":"YulIdentifier","src":"3827:3:65"},"nativeSrc":"3827:12:65","nodeType":"YulFunctionCall","src":"3827:12:65"},{"arguments":[{"name":"ret","nativeSrc":"3847:3:65","nodeType":"YulIdentifier","src":"3847:3:65"}],"functionName":{"name":"mload","nativeSrc":"3841:5:65","nodeType":"YulIdentifier","src":"3841:5:65"},"nativeSrc":"3841:10:65","nodeType":"YulFunctionCall","src":"3841:10:65"}],"functionName":{"name":"revert","nativeSrc":"3820:6:65","nodeType":"YulIdentifier","src":"3820:6:65"},"nativeSrc":"3820:32:65","nodeType":"YulFunctionCall","src":"3820:32:65"},"nativeSrc":"3820:32:65","nodeType":"YulExpressionStatement","src":"3820:32:65"}]},"evmVersion":"prague","externalReferences":[{"declaration":64847,"isOffset":false,"isSlot":false,"src":"3831:3:65","valueSize":1},{"declaration":64847,"isOffset":false,"isSlot":false,"src":"3847:3:65","valueSize":1}],"id":64882,"nodeType":"InlineAssembly","src":"3789:81:65"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64834,"src":"3409:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":64838,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64812,"src":"3413:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3419:6:65","memberName":"length","nodeType":"MemberAccess","src":"3413:12:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3409:16:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64886,"initializationExpression":{"assignments":[64834],"declarations":[{"constant":false,"id":64834,"mutability":"mutable","name":"i","nameLocation":"3402:1:65","nodeType":"VariableDeclaration","scope":64886,"src":"3394:9:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64833,"name":"uint256","nodeType":"ElementaryTypeName","src":"3394:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64836,"initialValue":{"hexValue":"30","id":64835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3406:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3394:13:65"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":64842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3427:3:65","subExpression":{"id":64841,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64834,"src":"3427:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64843,"nodeType":"ExpressionStatement","src":"3427:3:65"},"nodeType":"ForStatement","src":"3389:505:65"},{"eventCall":{"arguments":[{"expression":{"id":64888,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3970:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3974:6:65","memberName":"sender","nodeType":"MemberAccess","src":"3970:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":64890,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3982:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3986:5:65","memberName":"value","nodeType":"MemberAccess","src":"3982:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":64892,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3993:3:65","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":64893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3997:4:65","memberName":"data","nodeType":"MemberAccess","src":"3993:8:65","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":64887,"name":"Forwarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64808,"src":"3960:9:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":64894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3960:42:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64895,"nodeType":"EmitStatement","src":"3955:47:65"},{"expression":{"id":64896,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64824,"src":"4020:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"functionReturnParameters":64818,"id":64897,"nodeType":"Return","src":"4013:14:65"}]},"functionSelector":"174dea71","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"3152:15:65","parameters":{"id":64813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64812,"mutability":"mutable","name":"calls","nameLocation":"3202:5:65","nodeType":"VariableDeclaration","scope":64899,"src":"3168:39:65","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":64810,"nodeType":"UserDefinedTypeName","pathNode":{"id":64809,"name":"IMulticall3.Call3Value","nameLocations":["3168:11:65","3180:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"3168:22:65"},"referencedDeclaration":51162,"src":"3168:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":64811,"nodeType":"ArrayTypeName","src":"3168:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"3167:41:65"},"returnParameters":{"id":64818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64817,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64899,"src":"3259:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":64815,"nodeType":"UserDefinedTypeName","pathNode":{"id":64814,"name":"IMulticall3.Result","nameLocations":["3259:11:65","3271:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"3259:18:65"},"referencedDeclaration":51167,"src":"3259:18:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":64816,"nodeType":"ArrayTypeName","src":"3259:20:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"3258:29:65"},"scope":64915,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":64914,"nodeType":"FunctionDefinition","src":"4040:123:65","nodes":[],"body":{"id":64913,"nodeType":"Block","src":"4103:60:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"3432","id":64908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4139:2:65","typeDescriptions":{"typeIdentifier":"t_rational_42_by_1","typeString":"int_const 42"},"value":"42"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_42_by_1","typeString":"int_const 42"}],"id":64907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4131:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64906,"name":"uint256","nodeType":"ElementaryTypeName","src":"4131:7:65","typeDescriptions":{}}},"id":64909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4131:11:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"746573742064617461","id":64910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4144:11:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d92c840d5f0ac4f83543201db6005d78414059c778169efa3760f67a451e7ef","typeString":"literal_string \"test data\""},"value":"test data"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_7d92c840d5f0ac4f83543201db6005d78414059c778169efa3760f67a451e7ef","typeString":"literal_string \"test data\""}],"expression":{"id":64904,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4120:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4124:6:65","memberName":"encode","nodeType":"MemberAccess","src":"4120:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4120:36:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":64903,"id":64912,"nodeType":"Return","src":"4113:43:65"}]},"functionSelector":"ad1cd653","implemented":true,"kind":"function","modifiers":[],"name":"returnTestData","nameLocation":"4049:14:65","parameters":{"id":64900,"nodeType":"ParameterList","parameters":[],"src":"4063:2:65"},"returnParameters":{"id":64903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64902,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64914,"src":"4089:12:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64901,"name":"bytes","nodeType":"ElementaryTypeName","src":"4089:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4088:14:65"},"scope":64915,"stateMutability":"pure","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MockRouterReturningData","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[64915],"name":"MockRouterReturningData","nameLocation":"3042:23:65","scope":66980,"usedErrors":[],"usedEvents":[64808]},{"id":65010,"nodeType":"ContractDefinition","src":"4167:978:65","nodes":[{"id":64919,"nodeType":"ErrorDefinition","src":"4200:40:65","nodes":[],"errorSelector":"4b541910","name":"CustomRouterError","nameLocation":"4206:17:65","parameters":{"id":64918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64917,"mutability":"mutable","name":"message","nameLocation":"4231:7:65","nodeType":"VariableDeclaration","scope":64919,"src":"4224:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64916,"name":"string","nodeType":"ElementaryTypeName","src":"4224:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4223:16:65"}},{"id":65001,"nodeType":"FunctionDefinition","src":"4246:782:65","nodes":[],"body":{"id":65000,"nodeType":"Block","src":"4395:633:65","nodes":[],"statements":[{"assignments":[64935],"declarations":[{"constant":false,"id":64935,"mutability":"mutable","name":"results","nameLocation":"4433:7:65","nodeType":"VariableDeclaration","scope":65000,"src":"4405:35:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":64933,"nodeType":"UserDefinedTypeName","pathNode":{"id":64932,"name":"IMulticall3.Result","nameLocations":["4405:11:65","4417:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"4405:18:65"},"referencedDeclaration":51167,"src":"4405:18:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":64934,"nodeType":"ArrayTypeName","src":"4405:20:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"id":64943,"initialValue":{"arguments":[{"expression":{"id":64940,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64923,"src":"4468:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4474:6:65","memberName":"length","nodeType":"MemberAccess","src":"4468:12:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4443:24:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Result memory[] memory)"},"typeName":{"baseType":{"id":64937,"nodeType":"UserDefinedTypeName","pathNode":{"id":64936,"name":"IMulticall3.Result","nameLocations":["4447:11:65","4459:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"4447:18:65"},"referencedDeclaration":51167,"src":"4447:18:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":64938,"nodeType":"ArrayTypeName","src":"4447:20:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}}},"id":64942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4443:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4405:76:65"},{"body":{"id":64996,"nodeType":"Block","src":"4535:462:65","statements":[{"assignments":[64956,64958],"declarations":[{"constant":false,"id":64956,"mutability":"mutable","name":"success","nameLocation":"4555:7:65","nodeType":"VariableDeclaration","scope":64996,"src":"4550:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64955,"name":"bool","nodeType":"ElementaryTypeName","src":"4550:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":64958,"mutability":"mutable","name":"ret","nameLocation":"4577:3:65","nodeType":"VariableDeclaration","scope":64996,"src":"4564:16:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64957,"name":"bytes","nodeType":"ElementaryTypeName","src":"4564:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64974,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":64969,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64923,"src":"4626:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64971,"indexExpression":{"id":64970,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64945,"src":"4632:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4626:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4635:8:65","memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":51161,"src":"4626:17:65","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"arguments":[{"id":64961,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4592:4:65","typeDescriptions":{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"}],"id":64960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4584:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64959,"name":"address","nodeType":"ElementaryTypeName","src":"4584:7:65","typeDescriptions":{}}},"id":64962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4584:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4598:4:65","memberName":"call","nodeType":"MemberAccess","src":"4584:18:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":64968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"baseExpression":{"id":64964,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64923,"src":"4610:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64966,"indexExpression":{"id":64965,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64945,"src":"4616:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4610:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4619:5:65","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":51159,"src":"4610:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4584:41:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":64973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4584:60:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4549:95:65"},{"expression":{"id":64983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64975,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64935,"src":"4658:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":64977,"indexExpression":{"id":64976,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64945,"src":"4666:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4658:10:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64980,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64956,"src":"4690:7:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":64981,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64958,"src":"4699:3:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64978,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"4671:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":64979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4683:6:65","memberName":"Result","nodeType":"MemberAccess","referencedDeclaration":51167,"src":"4671:18:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$51167_storage_ptr_$","typeString":"type(struct IMulticall3.Result storage pointer)"}},"id":64982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4671:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"src":"4658:45:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"id":64984,"nodeType":"ExpressionStatement","src":"4658:45:65"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":64992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4790:22:65","subExpression":{"expression":{"baseExpression":{"id":64985,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64923,"src":"4791:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64987,"indexExpression":{"id":64986,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64945,"src":"4797:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4791:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":64988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4800:12:65","memberName":"allowFailure","nodeType":"MemberAccess","referencedDeclaration":51157,"src":"4791:21:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":64991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4816:8:65","subExpression":{"id":64990,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64956,"src":"4817:7:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4790:34:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64995,"nodeType":"IfStatement","src":"4786:201:65","trueBody":{"id":64994,"nodeType":"Block","src":"4826:161:65","statements":[{"AST":{"nativeSrc":"4901:72:65","nodeType":"YulBlock","src":"4901:72:65","statements":[{"expression":{"arguments":[{"arguments":[{"name":"ret","nativeSrc":"4934:3:65","nodeType":"YulIdentifier","src":"4934:3:65"},{"kind":"number","nativeSrc":"4939:2:65","nodeType":"YulLiteral","src":"4939:2:65","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"4930:3:65","nodeType":"YulIdentifier","src":"4930:3:65"},"nativeSrc":"4930:12:65","nodeType":"YulFunctionCall","src":"4930:12:65"},{"arguments":[{"name":"ret","nativeSrc":"4950:3:65","nodeType":"YulIdentifier","src":"4950:3:65"}],"functionName":{"name":"mload","nativeSrc":"4944:5:65","nodeType":"YulIdentifier","src":"4944:5:65"},"nativeSrc":"4944:10:65","nodeType":"YulFunctionCall","src":"4944:10:65"}],"functionName":{"name":"revert","nativeSrc":"4923:6:65","nodeType":"YulIdentifier","src":"4923:6:65"},"nativeSrc":"4923:32:65","nodeType":"YulFunctionCall","src":"4923:32:65"},"nativeSrc":"4923:32:65","nodeType":"YulExpressionStatement","src":"4923:32:65"}]},"evmVersion":"prague","externalReferences":[{"declaration":64958,"isOffset":false,"isSlot":false,"src":"4934:3:65","valueSize":1},{"declaration":64958,"isOffset":false,"isSlot":false,"src":"4950:3:65","valueSize":1}],"id":64993,"nodeType":"InlineAssembly","src":"4892:81:65"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64948,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64945,"src":"4512:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":64949,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64923,"src":"4516:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":64950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4522:6:65","memberName":"length","nodeType":"MemberAccess","src":"4516:12:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4512:16:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64997,"initializationExpression":{"assignments":[64945],"declarations":[{"constant":false,"id":64945,"mutability":"mutable","name":"i","nameLocation":"4505:1:65","nodeType":"VariableDeclaration","scope":64997,"src":"4497:9:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64944,"name":"uint256","nodeType":"ElementaryTypeName","src":"4497:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64947,"initialValue":{"hexValue":"30","id":64946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4509:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4497:13:65"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":64953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4530:3:65","subExpression":{"id":64952,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64945,"src":"4530:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64954,"nodeType":"ExpressionStatement","src":"4530:3:65"},"nodeType":"ForStatement","src":"4492:505:65"},{"expression":{"id":64998,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64935,"src":"5014:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"functionReturnParameters":64929,"id":64999,"nodeType":"Return","src":"5007:14:65"}]},"functionSelector":"174dea71","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"4255:15:65","parameters":{"id":64924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64923,"mutability":"mutable","name":"calls","nameLocation":"4305:5:65","nodeType":"VariableDeclaration","scope":65001,"src":"4271:39:65","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":64921,"nodeType":"UserDefinedTypeName","pathNode":{"id":64920,"name":"IMulticall3.Call3Value","nameLocations":["4271:11:65","4283:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"4271:22:65"},"referencedDeclaration":51162,"src":"4271:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":64922,"nodeType":"ArrayTypeName","src":"4271:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"4270:41:65"},"returnParameters":{"id":64929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65001,"src":"4362:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":64926,"nodeType":"UserDefinedTypeName","pathNode":{"id":64925,"name":"IMulticall3.Result","nameLocations":["4362:11:65","4374:6:65"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"4362:18:65"},"referencedDeclaration":51167,"src":"4362:18:65","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":64927,"nodeType":"ArrayTypeName","src":"4362:20:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"4361:29:65"},"scope":65010,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":65009,"nodeType":"FunctionDefinition","src":"5034:109:65","nodes":[],"body":{"id":65008,"nodeType":"Block","src":"5078:65:65","nodes":[],"statements":[{"errorCall":{"arguments":[{"hexValue":"637573746f6d206572726f72206d657373616765","id":65005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5113:22:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_cd7d1cfa5d464f71f3b8ca12c136e95b97e0e3410a0029680f596d97c04235d5","typeString":"literal_string \"custom error message\""},"value":"custom error message"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cd7d1cfa5d464f71f3b8ca12c136e95b97e0e3410a0029680f596d97c04235d5","typeString":"literal_string \"custom error message\""}],"id":65004,"name":"CustomRouterError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64919,"src":"5095:17:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":65006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5095:41:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":65007,"nodeType":"RevertStatement","src":"5088:48:65"}]},"functionSelector":"f9ab70b9","implemented":true,"kind":"function","modifiers":[],"name":"triggerCustomError","nameLocation":"5043:18:65","parameters":{"id":65002,"nodeType":"ParameterList","parameters":[],"src":"5061:2:65"},"returnParameters":{"id":65003,"nodeType":"ParameterList","parameters":[],"src":"5078:0:65"},"scope":65010,"stateMutability":"pure","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"CustomErrorRouter","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65010],"name":"CustomErrorRouter","nameLocation":"4176:17:65","scope":66980,"usedErrors":[64919],"usedEvents":[]},{"id":66979,"nodeType":"ContractDefinition","src":"5326:19666:65","nodes":[{"id":65015,"nodeType":"VariableDeclaration","src":"5560:34:65","nodes":[],"constant":false,"mutability":"mutable","name":"shimImpl","nameLocation":"5586:8:65","scope":66979,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"},"typeName":{"id":65014,"nodeType":"UserDefinedTypeName","pathNode":{"id":65013,"name":"TrailsRouterShim","nameLocations":["5560:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"5560:16:65"},"referencedDeclaration":51106,"src":"5560:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"visibility":"internal"},{"id":65018,"nodeType":"VariableDeclaration","src":"5600:26:65","nodes":[],"constant":false,"mutability":"mutable","name":"router","nameLocation":"5620:6:65","scope":66979,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"},"typeName":{"id":65017,"nodeType":"UserDefinedTypeName","pathNode":{"id":65016,"name":"MockRouter","nameLocations":["5600:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":64667,"src":"5600:10:65"},"referencedDeclaration":64667,"src":"5600:10:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}},"visibility":"internal"},{"id":65020,"nodeType":"VariableDeclaration","src":"5710:31:65","nodes":[],"constant":false,"mutability":"mutable","name":"holder","nameLocation":"5735:6:65","scope":66979,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":65019,"name":"address","nodeType":"ElementaryTypeName","src":"5710:15:65","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"id":65063,"nodeType":"FunctionDefinition","src":"5933:300:65","nodes":[],"body":{"id":65062,"nodeType":"Block","src":"5957:276:65","nodes":[],"statements":[{"expression":{"id":65028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65023,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"5967:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":65026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5976:14:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockRouter_$64667_$","typeString":"function () returns (contract MockRouter)"},"typeName":{"id":65025,"nodeType":"UserDefinedTypeName","pathNode":{"id":65024,"name":"MockRouter","nameLocations":["5980:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":64667,"src":"5980:10:65"},"referencedDeclaration":64667,"src":"5980:10:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}},"id":65027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5976:16:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}},"src":"5967:25:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}},"id":65029,"nodeType":"ExpressionStatement","src":"5967:25:65"},{"expression":{"id":65039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65030,"name":"shimImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65015,"src":"6002:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65036,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"6042:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":65035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6034:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65034,"name":"address","nodeType":"ElementaryTypeName","src":"6034:7:65","typeDescriptions":{}}},"id":65037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6034:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6013:20:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouterShim_$51106_$","typeString":"function (address) returns (contract TrailsRouterShim)"},"typeName":{"id":65032,"nodeType":"UserDefinedTypeName","pathNode":{"id":65031,"name":"TrailsRouterShim","nameLocations":["6017:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"6017:16:65"},"referencedDeclaration":51106,"src":"6017:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}},"id":65038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6013:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"src":"6002:48:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"id":65040,"nodeType":"ExpressionStatement","src":"6002:48:65"},{"expression":{"id":65049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65041,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"6060:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"307862656566","id":65046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6085:6:65","typeDescriptions":{"typeIdentifier":"t_rational_48879_by_1","typeString":"int_const 48879"},"value":"0xbeef"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48879_by_1","typeString":"int_const 48879"}],"id":65045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6077:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65044,"name":"address","nodeType":"ElementaryTypeName","src":"6077:7:65","typeDescriptions":{}}},"id":65047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6077:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6069:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65042,"name":"address","nodeType":"ElementaryTypeName","src":"6069:8:65","stateMutability":"payable","typeDescriptions":{}}},"id":65048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6069:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"6060:33:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":65050,"nodeType":"ExpressionStatement","src":"6060:33:65"},{"expression":{"arguments":[{"id":65054,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"6195:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"arguments":[{"id":65057,"name":"shimImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65015,"src":"6211:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}],"id":65056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6203:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65055,"name":"address","nodeType":"ElementaryTypeName","src":"6203:7:65","typeDescriptions":{}}},"id":65058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6203:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6221:4:65","memberName":"code","nodeType":"MemberAccess","src":"6203:22:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65051,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"6187:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6190:4:65","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"6187:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":65060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6187:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65061,"nodeType":"ExpressionStatement","src":"6187:39:65"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"5942:5:65","parameters":{"id":65021,"nodeType":"ParameterList","parameters":[],"src":"5947:2:65"},"returnParameters":{"id":65022,"nodeType":"ParameterList","parameters":[],"src":"5957:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65084,"nodeType":"FunctionDefinition","src":"6423:172:65","nodes":[],"body":{"id":65083,"nodeType":"Block","src":"6476:119:65","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"expression":{"id":65069,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"6502:16:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}},"id":65070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6519:17:65","memberName":"ZeroRouterAddress","nodeType":"MemberAccess","referencedDeclaration":50998,"src":"6502:34:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6537:8:65","memberName":"selector","nodeType":"MemberAccess","src":"6502:43:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65066,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"6486:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6489:12:65","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"6486:15:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6486:60:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65073,"nodeType":"ExpressionStatement","src":"6486:60:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":65079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6585:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6577:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65077,"name":"address","nodeType":"ElementaryTypeName","src":"6577:7:65","typeDescriptions":{}}},"id":65080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6577:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6556:20:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouterShim_$51106_$","typeString":"function (address) returns (contract TrailsRouterShim)"},"typeName":{"id":65075,"nodeType":"UserDefinedTypeName","pathNode":{"id":65074,"name":"TrailsRouterShim","nameLocations":["6560:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"6560:16:65"},"referencedDeclaration":51106,"src":"6560:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}},"id":65081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6556:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"id":65082,"nodeType":"ExpressionStatement","src":"6556:32:65"}]},"functionSelector":"13b0f5cd","implemented":true,"kind":"function","modifiers":[],"name":"test_constructor_revert_zeroRouter","nameLocation":"6432:34:65","parameters":{"id":65064,"nodeType":"ParameterList","parameters":[],"src":"6466:2:65"},"returnParameters":{"id":65065,"nodeType":"ParameterList","parameters":[],"src":"6476:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65125,"nodeType":"FunctionDefinition","src":"6601:351:65","nodes":[],"body":{"id":65124,"nodeType":"Block","src":"6683:269:65","nodes":[],"statements":[{"assignments":[65088],"declarations":[{"constant":false,"id":65088,"mutability":"mutable","name":"inner","nameLocation":"6706:5:65","nodeType":"VariableDeclaration","scope":65124,"src":"6693:18:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65087,"name":"bytes","nodeType":"ElementaryTypeName","src":"6693:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65093,"initialValue":{"arguments":[{"hexValue":"736f6d6546756e632829","id":65091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6738:12:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_7ddeef241bcd046b36b43117827b7c5e0bf99456a684cfbd066999b2e0c7d269","typeString":"literal_string \"someFunc()\""},"value":"someFunc()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7ddeef241bcd046b36b43117827b7c5e0bf99456a684cfbd066999b2e0c7d269","typeString":"literal_string \"someFunc()\""}],"expression":{"id":65089,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6714:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6718:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6714:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":65092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6714:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6693:58:65"},{"assignments":[65095],"declarations":[{"constant":false,"id":65095,"mutability":"mutable","name":"data","nameLocation":"6774:4:65","nodeType":"VariableDeclaration","scope":65124,"src":"6761:17:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65094,"name":"bytes","nodeType":"ElementaryTypeName","src":"6761:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65101,"initialValue":{"arguments":[{"id":65098,"name":"inner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65088,"src":"6792:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":65099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6799:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":65096,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6781:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6785:6:65","memberName":"encode","nodeType":"MemberAccess","src":"6781:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6781:20:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6761:40:65"},{"expression":{"arguments":[{"expression":{"expression":{"id":65105,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"6827:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DelegatecallGuard_$51143_$","typeString":"type(contract DelegatecallGuard)"}},"id":65106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6845:15:65","memberName":"NotDelegateCall","nodeType":"MemberAccess","referencedDeclaration":51112,"src":"6827:33:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6861:8:65","memberName":"selector","nodeType":"MemberAccess","src":"6827:42:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65102,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"6811:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6814:12:65","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"6811:15:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6811:59:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65109,"nodeType":"ExpressionStatement","src":"6811:59:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":65115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6924:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6916:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":65113,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6916:7:65","typeDescriptions":{}}},"id":65116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6916:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":65117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6928:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6931:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6934:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6937:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":65121,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65095,"src":"6940:4:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65110,"name":"shimImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65015,"src":"6880:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"id":65112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6889:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":51073,"src":"6880:35:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":65122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6880:65:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65123,"nodeType":"ExpressionStatement","src":"6880:65:65"}]},"functionSelector":"b953254e","implemented":true,"kind":"function","modifiers":[],"name":"test_direct_handleSequenceDelegateCall_reverts_not_delegatecall","nameLocation":"6610:63:65","parameters":{"id":65085,"nodeType":"ParameterList","parameters":[],"src":"6673:2:65"},"returnParameters":{"id":65086,"nodeType":"ParameterList","parameters":[],"src":"6683:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65261,"nodeType":"FunctionDefinition","src":"6958:1427:65","nodes":[],"body":{"id":65260,"nodeType":"Block","src":"7035:1350:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":65133,"name":"shimImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65015,"src":"7145:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}],"id":65132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7137:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65131,"name":"address","nodeType":"ElementaryTypeName","src":"7137:7:65","typeDescriptions":{}}},"id":65134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7137:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65128,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"7116:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreMode_$69517_$","typeString":"type(library TstoreMode)"}},"id":65130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7127:9:65","memberName":"setActive","nodeType":"MemberAccess","referencedDeclaration":69495,"src":"7116:20:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65136,"nodeType":"ExpressionStatement","src":"7116:39:65"},{"assignments":[65138],"declarations":[{"constant":false,"id":65138,"mutability":"mutable","name":"opHash","nameLocation":"7211:6:65","nodeType":"VariableDeclaration","scope":65260,"src":"7203:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7203:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":65142,"initialValue":{"arguments":[{"hexValue":"746573742d6f702d7473746f7265","id":65140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7230:16:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_b9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d","typeString":"literal_string \"test-op-tstore\""},"value":"test-op-tstore"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d","typeString":"literal_string \"test-op-tstore\""}],"id":65139,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7220:9:65","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":65141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7220:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7203:44:65"},{"assignments":[65144],"declarations":[{"constant":false,"id":65144,"mutability":"mutable","name":"callValue","nameLocation":"7265:9:65","nodeType":"VariableDeclaration","scope":65260,"src":"7257:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65143,"name":"uint256","nodeType":"ElementaryTypeName","src":"7257:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65146,"initialValue":{"hexValue":"31","id":65145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7277:7:65","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"7257:27:65"},{"expression":{"arguments":[{"id":65150,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"7302:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65151,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65144,"src":"7310:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65147,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"7294:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7297:4:65","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"7294:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7294:26:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65153,"nodeType":"ExpressionStatement","src":"7294:26:65"},{"assignments":[65159],"declarations":[{"constant":false,"id":65159,"mutability":"mutable","name":"calls","nameLocation":"7442:5:65","nodeType":"VariableDeclaration","scope":65260,"src":"7410:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":65157,"nodeType":"UserDefinedTypeName","pathNode":{"id":65156,"name":"IMulticall3.Call3Value","nameLocations":["7410:11:65","7422:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"7410:22:65"},"referencedDeclaration":51162,"src":"7410:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65158,"nodeType":"ArrayTypeName","src":"7410:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":65166,"initialValue":{"arguments":[{"hexValue":"31","id":65164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7479:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":65163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7450:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":65161,"nodeType":"UserDefinedTypeName","pathNode":{"id":65160,"name":"IMulticall3.Call3Value","nameLocations":["7454:11:65","7466:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"7454:22:65"},"referencedDeclaration":51162,"src":"7454:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65162,"nodeType":"ArrayTypeName","src":"7454:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":65165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7450:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7410:71:65"},{"expression":{"id":65187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":65167,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65159,"src":"7491:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":65169,"indexExpression":{"hexValue":"30","id":65168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7497:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7491:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65174,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"7555:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":65173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7547:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65172,"name":"address","nodeType":"ElementaryTypeName","src":"7547:7:65","typeDescriptions":{}}},"id":65175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7547:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":65176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7590:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":65177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7616:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"646f4e6f7468696e672875696e7432353629","id":65180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7665:20:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_dce1d5ba89d453ec637e7cc735bf2e1e65e251742ff41f6bd264e802e54fef86","typeString":"literal_string \"doNothing(uint256)\""},"value":"doNothing(uint256)"},{"arguments":[{"hexValue":"313233","id":65183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7695:3:65","typeDescriptions":{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"},"value":"123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"}],"id":65182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7687:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":65181,"name":"uint256","nodeType":"ElementaryTypeName","src":"7687:7:65","typeDescriptions":{}}},"id":65184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7687:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dce1d5ba89d453ec637e7cc735bf2e1e65e251742ff41f6bd264e802e54fef86","typeString":"literal_string \"doNothing(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7641:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7645:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7641:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":65185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7641:59:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65170,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"7502:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7514:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"7502:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":65186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7539:6:65","7576:12:65","7609:5:65","7631:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"7502:209:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"7491:220:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":65188,"nodeType":"ExpressionStatement","src":"7491:220:65"},{"assignments":[65190],"declarations":[{"constant":false,"id":65190,"mutability":"mutable","name":"routerCalldata","nameLocation":"7734:14:65","nodeType":"VariableDeclaration","scope":65260,"src":"7721:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65189,"name":"bytes","nodeType":"ElementaryTypeName","src":"7721:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65198,"initialValue":{"arguments":[{"expression":{"expression":{"id":65193,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"7774:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7786:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"7774:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":65195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7802:8:65","memberName":"selector","nodeType":"MemberAccess","src":"7774:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65196,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65159,"src":"7812:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":65191,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7751:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7755:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7751:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7751:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7721:97:65"},{"assignments":[65200],"declarations":[{"constant":false,"id":65200,"mutability":"mutable","name":"forwardData","nameLocation":"7841:11:65","nodeType":"VariableDeclaration","scope":65260,"src":"7828:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65199,"name":"bytes","nodeType":"ElementaryTypeName","src":"7828:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65206,"initialValue":{"arguments":[{"id":65203,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65190,"src":"7866:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":65204,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65144,"src":"7882:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65201,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7855:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7859:6:65","memberName":"encode","nodeType":"MemberAccess","src":"7855:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7855:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7828:64:65"},{"expression":{"arguments":[{"hexValue":"74727565","id":65210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7917:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7923:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7929:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7935:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":65207,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"7903:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7906:10:65","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"7903:13:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":65214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7903:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65215,"nodeType":"ExpressionStatement","src":"7903:37:65"},{"eventCall":{"arguments":[{"id":65219,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"7986:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65220,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65144,"src":"7994:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65221,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65190,"src":"8005:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65216,"name":"MockAggregate3Router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"7955:20:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockAggregate3Router_$64785_$","typeString":"type(contract MockAggregate3Router)"}},"id":65218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7976:9:65","memberName":"Forwarded","nodeType":"MemberAccess","referencedDeclaration":64676,"src":"7955:30:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":65222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7955:65:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65223,"nodeType":"EmitStatement","src":"7950:70:65"},{"expression":{"arguments":[{"id":65228,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65138,"src":"8126:6:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":65229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8134:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8137:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8140:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8143:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":65233,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65200,"src":"8146:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":65225,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"8091:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65224,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"8067:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":65226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8067:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":65227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8099:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"8067:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":65234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8067:91:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65235,"nodeType":"ExpressionStatement","src":"8067:91:65"},{"assignments":[65237],"declarations":[{"constant":false,"id":65237,"mutability":"mutable","name":"slot","nameLocation":"8205:4:65","nodeType":"VariableDeclaration","scope":65260,"src":"8197:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65236,"name":"uint256","nodeType":"ElementaryTypeName","src":"8197:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65242,"initialValue":{"arguments":[{"id":65240,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65138,"src":"8242:6:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65238,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"8212:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":65239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8230:11:65","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"8212:29:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":65241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8212:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8197:52:65"},{"assignments":[65244],"declarations":[{"constant":false,"id":65244,"mutability":"mutable","name":"storedT","nameLocation":"8267:7:65","nodeType":"VariableDeclaration","scope":65260,"src":"8259:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65243,"name":"uint256","nodeType":"ElementaryTypeName","src":"8259:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65253,"initialValue":{"arguments":[{"id":65247,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"8296:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":65250,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65237,"src":"8312:4:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8304:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":65248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8304:7:65","typeDescriptions":{}}},"id":65251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8304:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65245,"name":"TstoreRead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69588,"src":"8277:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreRead_$69588_$","typeString":"type(library TstoreRead)"}},"id":65246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8288:7:65","memberName":"tloadAt","nodeType":"MemberAccess","referencedDeclaration":69587,"src":"8277:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,bytes32) returns (uint256)"}},"id":65252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8277:41:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8259:59:65"},{"expression":{"arguments":[{"id":65255,"name":"storedT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65244,"src":"8337:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":65256,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"8346:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":65257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8364:13:65","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"8346:31:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65254,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"8328:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8328:50:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65259,"nodeType":"ExpressionStatement","src":"8328:50:65"}]},"functionSelector":"6f2afb84","implemented":true,"kind":"function","modifiers":[],"name":"test_delegatecall_forwards_and_sets_sentinel_tstore_active","nameLocation":"6967:58:65","parameters":{"id":65126,"nodeType":"ParameterList","parameters":[],"src":"7025:2:65"},"returnParameters":{"id":65127,"nodeType":"ParameterList","parameters":[],"src":"7035:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65459,"nodeType":"FunctionDefinition","src":"8391:1908:65","nodes":[],"body":{"id":65458,"nodeType":"Block","src":"8470:1829:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":65267,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"8573:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":65264,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"8550:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreMode_$69517_$","typeString":"type(library TstoreMode)"}},"id":65266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8561:11:65","memberName":"setInactive","nodeType":"MemberAccess","referencedDeclaration":69516,"src":"8550:22:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8550:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65269,"nodeType":"ExpressionStatement","src":"8550:30:65"},{"assignments":[65271],"declarations":[{"constant":false,"id":65271,"mutability":"mutable","name":"opHash","nameLocation":"8636:6:65","nodeType":"VariableDeclaration","scope":65458,"src":"8628:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8628:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":65275,"initialValue":{"arguments":[{"hexValue":"746573742d6f702d7373746f7265","id":65273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8655:16:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_86b84c7be296d7d45c6ea729bf036c2608390b8e70d7112a057ec2351d2d790f","typeString":"literal_string \"test-op-sstore\""},"value":"test-op-sstore"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86b84c7be296d7d45c6ea729bf036c2608390b8e70d7112a057ec2351d2d790f","typeString":"literal_string \"test-op-sstore\""}],"id":65272,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"8645:9:65","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":65274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8645:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8628:44:65"},{"assignments":[65277],"declarations":[{"constant":false,"id":65277,"mutability":"mutable","name":"callValue","nameLocation":"8690:9:65","nodeType":"VariableDeclaration","scope":65458,"src":"8682:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65276,"name":"uint256","nodeType":"ElementaryTypeName","src":"8682:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65279,"initialValue":{"hexValue":"31","id":65278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8702:7:65","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"8682:27:65"},{"expression":{"arguments":[{"id":65283,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"8727:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65284,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65277,"src":"8735:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65280,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"8719:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8722:4:65","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"8719:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8719:26:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65286,"nodeType":"ExpressionStatement","src":"8719:26:65"},{"assignments":[65292],"declarations":[{"constant":false,"id":65292,"mutability":"mutable","name":"calls","nameLocation":"8867:5:65","nodeType":"VariableDeclaration","scope":65458,"src":"8835:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":65290,"nodeType":"UserDefinedTypeName","pathNode":{"id":65289,"name":"IMulticall3.Call3Value","nameLocations":["8835:11:65","8847:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"8835:22:65"},"referencedDeclaration":51162,"src":"8835:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65291,"nodeType":"ArrayTypeName","src":"8835:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":65299,"initialValue":{"arguments":[{"hexValue":"31","id":65297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8904:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":65296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8875:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":65294,"nodeType":"UserDefinedTypeName","pathNode":{"id":65293,"name":"IMulticall3.Call3Value","nameLocations":["8879:11:65","8891:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"8879:22:65"},"referencedDeclaration":51162,"src":"8879:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65295,"nodeType":"ArrayTypeName","src":"8879:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":65298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8875:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8835:71:65"},{"expression":{"id":65320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":65300,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65292,"src":"8916:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":65302,"indexExpression":{"hexValue":"30","id":65301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8922:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8916:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65307,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"8980:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":65306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8972:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65305,"name":"address","nodeType":"ElementaryTypeName","src":"8972:7:65","typeDescriptions":{}}},"id":65308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8972:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":65309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9015:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":65310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9041:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"646f4e6f7468696e672875696e7432353629","id":65313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9090:20:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_dce1d5ba89d453ec637e7cc735bf2e1e65e251742ff41f6bd264e802e54fef86","typeString":"literal_string \"doNothing(uint256)\""},"value":"doNothing(uint256)"},{"arguments":[{"hexValue":"313233","id":65316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9120:3:65","typeDescriptions":{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"},"value":"123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"}],"id":65315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9112:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":65314,"name":"uint256","nodeType":"ElementaryTypeName","src":"9112:7:65","typeDescriptions":{}}},"id":65317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9112:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dce1d5ba89d453ec637e7cc735bf2e1e65e251742ff41f6bd264e802e54fef86","typeString":"literal_string \"doNothing(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9066:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9070:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9066:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":65318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9066:59:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65303,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"8927:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8939:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"8927:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":65319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8964:6:65","9001:12:65","9034:5:65","9056:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"8927:209:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"8916:220:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":65321,"nodeType":"ExpressionStatement","src":"8916:220:65"},{"assignments":[65323],"declarations":[{"constant":false,"id":65323,"mutability":"mutable","name":"routerCalldata","nameLocation":"9159:14:65","nodeType":"VariableDeclaration","scope":65458,"src":"9146:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65322,"name":"bytes","nodeType":"ElementaryTypeName","src":"9146:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65331,"initialValue":{"arguments":[{"expression":{"expression":{"id":65326,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"9199:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9211:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"9199:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":65328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9227:8:65","memberName":"selector","nodeType":"MemberAccess","src":"9199:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65329,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65292,"src":"9237:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":65324,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9176:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9180:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"9176:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9176:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9146:97:65"},{"assignments":[65333],"declarations":[{"constant":false,"id":65333,"mutability":"mutable","name":"forwardData","nameLocation":"9266:11:65","nodeType":"VariableDeclaration","scope":65458,"src":"9253:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65332,"name":"bytes","nodeType":"ElementaryTypeName","src":"9253:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65339,"initialValue":{"arguments":[{"id":65336,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65323,"src":"9291:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":65337,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65277,"src":"9307:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9280:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9284:6:65","memberName":"encode","nodeType":"MemberAccess","src":"9280:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9280:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9253:64:65"},{"expression":{"arguments":[{"hexValue":"74727565","id":65343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9342:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9348:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9354:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9360:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":65340,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"9328:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9331:10:65","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"9328:13:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":65347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9328:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65348,"nodeType":"ExpressionStatement","src":"9328:37:65"},{"eventCall":{"arguments":[{"id":65352,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"9411:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65353,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65277,"src":"9419:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65354,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65323,"src":"9430:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65349,"name":"MockAggregate3Router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"9380:20:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockAggregate3Router_$64785_$","typeString":"type(contract MockAggregate3Router)"}},"id":65351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9401:9:65","memberName":"Forwarded","nodeType":"MemberAccess","referencedDeclaration":64676,"src":"9380:30:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":65355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9380:65:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65356,"nodeType":"EmitStatement","src":"9375:70:65"},{"expression":{"arguments":[{"id":65361,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65271,"src":"9551:6:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":65362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9559:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9562:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9565:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9568:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":65366,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65333,"src":"9571:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":65358,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"9516:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65357,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"9492:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":65359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9492:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":65360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9524:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"9492:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":65367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9492:91:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65368,"nodeType":"ExpressionStatement","src":"9492:91:65"},{"assignments":[65370],"declarations":[{"constant":false,"id":65370,"mutability":"mutable","name":"original","nameLocation":"9701:8:65","nodeType":"VariableDeclaration","scope":65458,"src":"9688:21:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65369,"name":"bytes","nodeType":"ElementaryTypeName","src":"9688:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65376,"initialValue":{"expression":{"arguments":[{"id":65373,"name":"shimImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65015,"src":"9720:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}],"id":65372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9712:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65371,"name":"address","nodeType":"ElementaryTypeName","src":"9712:7:65","typeDescriptions":{}}},"id":65374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9712:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9730:4:65","memberName":"code","nodeType":"MemberAccess","src":"9712:22:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9688:46:65"},{"expression":{"arguments":[{"id":65380,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"9752:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"arguments":[{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":65386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9785:42:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"9768:16:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouter_$50972_$","typeString":"function (address) returns (contract TrailsRouter)"},"typeName":{"id":65384,"nodeType":"UserDefinedTypeName","pathNode":{"id":65383,"name":"TrailsRouter","nameLocations":["9772:12:65"],"nodeType":"IdentifierPath","referencedDeclaration":50972,"src":"9772:12:65"},"referencedDeclaration":50972,"src":"9772:12:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}},"id":65387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9768:60:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":65382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9760:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65381,"name":"address","nodeType":"ElementaryTypeName","src":"9760:7:65","typeDescriptions":{}}},"id":65388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9760:69:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9830:4:65","memberName":"code","nodeType":"MemberAccess","src":"9760:74:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"9744:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9747:4:65","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"9744:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":65390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9744:91:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65391,"nodeType":"ExpressionStatement","src":"9744:91:65"},{"assignments":[65393],"declarations":[{"constant":false,"id":65393,"mutability":"mutable","name":"recipient","nameLocation":"9862:9:65","nodeType":"VariableDeclaration","scope":65458,"src":"9846:25:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":65392,"name":"address","nodeType":"ElementaryTypeName","src":"9846:15:65","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":65401,"initialValue":{"arguments":[{"arguments":[{"hexValue":"3078313131","id":65398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9890:5:65","typeDescriptions":{"typeIdentifier":"t_rational_273_by_1","typeString":"int_const 273"},"value":"0x111"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_273_by_1","typeString":"int_const 273"}],"id":65397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9882:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65396,"name":"address","nodeType":"ElementaryTypeName","src":"9882:7:65","typeDescriptions":{}}},"id":65399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9882:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9874:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65394,"name":"address","nodeType":"ElementaryTypeName","src":"9874:8:65","stateMutability":"payable","typeDescriptions":{}}},"id":65400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9874:23:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"9846:51:65"},{"expression":{"arguments":[{"id":65405,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"9915:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65406,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65277,"src":"9923:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65402,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"9907:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9910:4:65","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"9907:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9907:26:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65408,"nodeType":"ExpressionStatement","src":"9907:26:65"},{"assignments":[65410],"declarations":[{"constant":false,"id":65410,"mutability":"mutable","name":"data","nameLocation":"9956:4:65","nodeType":"VariableDeclaration","scope":65458,"src":"9943:17:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65409,"name":"bytes","nodeType":"ElementaryTypeName","src":"9943:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65426,"initialValue":{"arguments":[{"expression":{"expression":{"id":65413,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"9998:12:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":65414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10011:22:65","memberName":"validateOpHashAndSweep","nodeType":"MemberAccess","referencedDeclaration":50348,"src":"9998:35:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function TrailsRouter.validateOpHashAndSweep(bytes32,address,address) payable"}},"id":65415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10034:8:65","memberName":"selector","nodeType":"MemberAccess","src":"9998:44:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":65418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10052:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10044:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":65416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10044:7:65","typeDescriptions":{}}},"id":65419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10044:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":65422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10064:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10056:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65420,"name":"address","nodeType":"ElementaryTypeName","src":"10056:7:65","typeDescriptions":{}}},"id":65423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10056:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65424,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65393,"src":"10068:9:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":65411,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9975:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9979:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"9975:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9975:103:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9943:135:65"},{"expression":{"arguments":[{"id":65431,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65271,"src":"10147:6:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":65432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10155:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10158:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10161:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10164:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":65436,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65410,"src":"10167:4:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":65428,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"10112:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65427,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"10088:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":65429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10088:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":65430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10120:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"10088:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":65437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10088:84:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65438,"nodeType":"ExpressionStatement","src":"10088:84:65"},{"expression":{"arguments":[{"expression":{"id":65440,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"10191:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":65441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10198:7:65","memberName":"balance","nodeType":"MemberAccess","src":"10191:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10207:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65439,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"10182:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10182:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65444,"nodeType":"ExpressionStatement","src":"10182:27:65"},{"expression":{"arguments":[{"expression":{"id":65446,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65393,"src":"10228:9:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":65447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10238:7:65","memberName":"balance","nodeType":"MemberAccess","src":"10228:17:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65448,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65277,"src":"10247:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65445,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"10219:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10219:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65450,"nodeType":"ExpressionStatement","src":"10219:38:65"},{"expression":{"arguments":[{"id":65454,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"10275:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65455,"name":"original","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65370,"src":"10283:8:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65451,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"10267:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10270:4:65","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"10267:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":65456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10267:25:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65457,"nodeType":"ExpressionStatement","src":"10267:25:65"}]},"functionSelector":"46c5bb8b","implemented":true,"kind":"function","modifiers":[],"name":"test_delegatecall_forwards_and_sets_sentinel_sstore_inactive","nameLocation":"8400:60:65","parameters":{"id":65262,"nodeType":"ParameterList","parameters":[],"src":"8460:2:65"},"returnParameters":{"id":65263,"nodeType":"ParameterList","parameters":[],"src":"8470:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65566,"nodeType":"FunctionDefinition","src":"10305:1170:65","nodes":[],"body":{"id":65565,"nodeType":"Block","src":"10382:1093:65","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":65467,"name":"shimImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65015,"src":"10502:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}],"id":65466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10494:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65465,"name":"address","nodeType":"ElementaryTypeName","src":"10494:7:65","typeDescriptions":{}}},"id":65468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10494:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65462,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"10473:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreMode_$69517_$","typeString":"type(library TstoreMode)"}},"id":65464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10484:9:65","memberName":"setActive","nodeType":"MemberAccess","referencedDeclaration":69495,"src":"10473:20:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10473:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65470,"nodeType":"ExpressionStatement","src":"10473:39:65"},{"assignments":[65472],"declarations":[{"constant":false,"id":65472,"mutability":"mutable","name":"opHash","nameLocation":"10530:6:65","nodeType":"VariableDeclaration","scope":65565,"src":"10522:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10522:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":65476,"initialValue":{"arguments":[{"hexValue":"7473746f72652d63617365","id":65474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10549:13:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f7","typeString":"literal_string \"tstore-case\""},"value":"tstore-case"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f7","typeString":"literal_string \"tstore-case\""}],"id":65473,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10539:9:65","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":65475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10539:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10522:41:65"},{"expression":{"arguments":[{"id":65480,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"10581:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"30","id":65481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10589:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":65477,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"10573:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10576:4:65","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"10573:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10573:18:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65483,"nodeType":"ExpressionStatement","src":"10573:18:65"},{"assignments":[65489],"declarations":[{"constant":false,"id":65489,"mutability":"mutable","name":"calls","nameLocation":"10720:5:65","nodeType":"VariableDeclaration","scope":65565,"src":"10688:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":65487,"nodeType":"UserDefinedTypeName","pathNode":{"id":65486,"name":"IMulticall3.Call3Value","nameLocations":["10688:11:65","10700:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"10688:22:65"},"referencedDeclaration":51162,"src":"10688:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65488,"nodeType":"ArrayTypeName","src":"10688:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":65496,"initialValue":{"arguments":[{"hexValue":"30","id":65494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10757:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10728:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":65491,"nodeType":"UserDefinedTypeName","pathNode":{"id":65490,"name":"IMulticall3.Call3Value","nameLocations":["10732:11:65","10744:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"10732:22:65"},"referencedDeclaration":51162,"src":"10732:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65492,"nodeType":"ArrayTypeName","src":"10732:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":65495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10728:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10688:71:65"},{"assignments":[65498],"declarations":[{"constant":false,"id":65498,"mutability":"mutable","name":"routerCalldata","nameLocation":"10803:14:65","nodeType":"VariableDeclaration","scope":65565,"src":"10790:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65497,"name":"bytes","nodeType":"ElementaryTypeName","src":"10790:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65506,"initialValue":{"arguments":[{"expression":{"expression":{"id":65501,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"10843:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10855:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"10843:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":65503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10871:8:65","memberName":"selector","nodeType":"MemberAccess","src":"10843:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65504,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65489,"src":"10881:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":65499,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10820:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10824:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"10820:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10820:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10790:97:65"},{"assignments":[65508],"declarations":[{"constant":false,"id":65508,"mutability":"mutable","name":"forwardData","nameLocation":"10910:11:65","nodeType":"VariableDeclaration","scope":65565,"src":"10897:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65507,"name":"bytes","nodeType":"ElementaryTypeName","src":"10897:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65514,"initialValue":{"arguments":[{"id":65511,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65498,"src":"10935:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":65512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10951:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":65509,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10924:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10928:6:65","memberName":"encode","nodeType":"MemberAccess","src":"10924:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10924:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10897:56:65"},{"assignments":[65516,null],"declarations":[{"constant":false,"id":65516,"mutability":"mutable","name":"ok","nameLocation":"10969:2:65","nodeType":"VariableDeclaration","scope":65565,"src":"10964:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65515,"name":"bool","nodeType":"ElementaryTypeName","src":"10964:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":65535,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65524,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"11071:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":65525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11095:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"11071:50:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function IMockDelegatedExtension.handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes calldata) payable"}},"id":65526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11122:8:65","memberName":"selector","nodeType":"MemberAccess","src":"11071:59:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65527,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65472,"src":"11132:6:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":65528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11140:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11143:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11146:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11149:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":65532,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65508,"src":"11152:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65522,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11027:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11031:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11027:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11027:154:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":65519,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"10984:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10976:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65517,"name":"address","nodeType":"ElementaryTypeName","src":"10976:7:65","typeDescriptions":{}}},"id":65520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10976:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11005:4:65","memberName":"call","nodeType":"MemberAccess","src":"10976:33:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":65534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10976:219:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"10963:232:65"},{"expression":{"arguments":[{"id":65537,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65516,"src":"11216:2:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c656761746563616c6c2073686f756c642073756363656564","id":65538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11220:29:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_0562a1e9c77c2d4887b87aa0cf45581904c9dee9c82b0f50c541abc70694f759","typeString":"literal_string \"delegatecall should succeed\""},"value":"delegatecall should succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0562a1e9c77c2d4887b87aa0cf45581904c9dee9c82b0f50c541abc70694f759","typeString":"literal_string \"delegatecall should succeed\""}],"id":65536,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"11205:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":65539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:45:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65540,"nodeType":"ExpressionStatement","src":"11205:45:65"},{"assignments":[65542],"declarations":[{"constant":false,"id":65542,"mutability":"mutable","name":"slot","nameLocation":"11295:4:65","nodeType":"VariableDeclaration","scope":65565,"src":"11287:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65541,"name":"uint256","nodeType":"ElementaryTypeName","src":"11287:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65547,"initialValue":{"arguments":[{"id":65545,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65472,"src":"11332:6:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65543,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"11302:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":65544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11320:11:65","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"11302:29:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":65546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11302:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11287:52:65"},{"assignments":[65549],"declarations":[{"constant":false,"id":65549,"mutability":"mutable","name":"storedT","nameLocation":"11357:7:65","nodeType":"VariableDeclaration","scope":65565,"src":"11349:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65548,"name":"uint256","nodeType":"ElementaryTypeName","src":"11349:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65558,"initialValue":{"arguments":[{"id":65552,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"11386:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":65555,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65542,"src":"11402:4:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11394:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":65553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11394:7:65","typeDescriptions":{}}},"id":65556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11394:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65550,"name":"TstoreRead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69588,"src":"11367:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreRead_$69588_$","typeString":"type(library TstoreRead)"}},"id":65551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11378:7:65","memberName":"tloadAt","nodeType":"MemberAccess","referencedDeclaration":69587,"src":"11367:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,bytes32) returns (uint256)"}},"id":65557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11367:41:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11349:59:65"},{"expression":{"arguments":[{"id":65560,"name":"storedT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65549,"src":"11427:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":65561,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"11436:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":65562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11454:13:65","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"11436:31:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65559,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"11418:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11418:50:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65564,"nodeType":"ExpressionStatement","src":"11418:50:65"}]},"functionSelector":"568ec6fd","implemented":true,"kind":"function","modifiers":[],"name":"test_delegatecall_sets_sentinel_with_tstore_when_supported","nameLocation":"10314:58:65","parameters":{"id":65460,"nodeType":"ParameterList","parameters":[],"src":"10372:2:65"},"returnParameters":{"id":65461,"nodeType":"ParameterList","parameters":[],"src":"10382:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65735,"nodeType":"FunctionDefinition","src":"11481:1583:65","nodes":[],"body":{"id":65734,"nodeType":"Block","src":"11558:1506:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":65572,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"11646:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":65569,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"11623:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreMode_$69517_$","typeString":"type(library TstoreMode)"}},"id":65571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11634:11:65","memberName":"setInactive","nodeType":"MemberAccess","referencedDeclaration":69516,"src":"11623:22:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11623:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65574,"nodeType":"ExpressionStatement","src":"11623:30:65"},{"assignments":[65576],"declarations":[{"constant":false,"id":65576,"mutability":"mutable","name":"opHash","nameLocation":"11671:6:65","nodeType":"VariableDeclaration","scope":65734,"src":"11663:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11663:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":65580,"initialValue":{"arguments":[{"hexValue":"7373746f72652d63617365","id":65578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11690:13:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad78c51bb2447e821ec2d2adfffc8040ced904f32aa00b704dfd691b63ac3cbb","typeString":"literal_string \"sstore-case\""},"value":"sstore-case"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ad78c51bb2447e821ec2d2adfffc8040ced904f32aa00b704dfd691b63ac3cbb","typeString":"literal_string \"sstore-case\""}],"id":65577,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"11680:9:65","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":65579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11680:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11663:41:65"},{"expression":{"arguments":[{"id":65584,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"11722:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"30","id":65585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11730:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":65581,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"11714:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11717:4:65","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"11714:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11714:18:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65587,"nodeType":"ExpressionStatement","src":"11714:18:65"},{"assignments":[65593],"declarations":[{"constant":false,"id":65593,"mutability":"mutable","name":"calls","nameLocation":"11861:5:65","nodeType":"VariableDeclaration","scope":65734,"src":"11829:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":65591,"nodeType":"UserDefinedTypeName","pathNode":{"id":65590,"name":"IMulticall3.Call3Value","nameLocations":["11829:11:65","11841:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"11829:22:65"},"referencedDeclaration":51162,"src":"11829:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65592,"nodeType":"ArrayTypeName","src":"11829:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":65600,"initialValue":{"arguments":[{"hexValue":"30","id":65598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11898:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11869:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":65595,"nodeType":"UserDefinedTypeName","pathNode":{"id":65594,"name":"IMulticall3.Call3Value","nameLocations":["11873:11:65","11885:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"11873:22:65"},"referencedDeclaration":51162,"src":"11873:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65596,"nodeType":"ArrayTypeName","src":"11873:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":65599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11869:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11829:71:65"},{"assignments":[65602],"declarations":[{"constant":false,"id":65602,"mutability":"mutable","name":"routerCalldata","nameLocation":"11944:14:65","nodeType":"VariableDeclaration","scope":65734,"src":"11931:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65601,"name":"bytes","nodeType":"ElementaryTypeName","src":"11931:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65610,"initialValue":{"arguments":[{"expression":{"expression":{"id":65605,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"11984:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11996:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"11984:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":65607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12012:8:65","memberName":"selector","nodeType":"MemberAccess","src":"11984:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65608,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65593,"src":"12022:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":65603,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11961:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11965:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11961:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11961:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11931:97:65"},{"assignments":[65612],"declarations":[{"constant":false,"id":65612,"mutability":"mutable","name":"forwardData","nameLocation":"12051:11:65","nodeType":"VariableDeclaration","scope":65734,"src":"12038:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65611,"name":"bytes","nodeType":"ElementaryTypeName","src":"12038:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65618,"initialValue":{"arguments":[{"id":65615,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65602,"src":"12076:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":65616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12092:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":65613,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12065:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12069:6:65","memberName":"encode","nodeType":"MemberAccess","src":"12065:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12065:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12038:56:65"},{"assignments":[65620,null],"declarations":[{"constant":false,"id":65620,"mutability":"mutable","name":"ok","nameLocation":"12110:2:65","nodeType":"VariableDeclaration","scope":65734,"src":"12105:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65619,"name":"bool","nodeType":"ElementaryTypeName","src":"12105:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":65639,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65628,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"12212:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":65629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12236:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"12212:50:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function IMockDelegatedExtension.handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes calldata) payable"}},"id":65630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12263:8:65","memberName":"selector","nodeType":"MemberAccess","src":"12212:59:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65631,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65576,"src":"12273:6:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":65632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12281:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12284:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12287:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12290:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":65636,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65612,"src":"12293:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65626,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12168:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12172:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12168:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12168:154:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":65623,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"12125:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12117:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65621,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:65","typeDescriptions":{}}},"id":65624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12117:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12146:4:65","memberName":"call","nodeType":"MemberAccess","src":"12117:33:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":65638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12117:219:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12104:232:65"},{"expression":{"arguments":[{"id":65641,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65620,"src":"12357:2:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c656761746563616c6c2073686f756c642073756363656564","id":65642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12361:29:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_0562a1e9c77c2d4887b87aa0cf45581904c9dee9c82b0f50c541abc70694f759","typeString":"literal_string \"delegatecall should succeed\""},"value":"delegatecall should succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0562a1e9c77c2d4887b87aa0cf45581904c9dee9c82b0f50c541abc70694f759","typeString":"literal_string \"delegatecall should succeed\""}],"id":65640,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"12346:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":65643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12346:45:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65644,"nodeType":"ExpressionStatement","src":"12346:45:65"},{"assignments":[65646],"declarations":[{"constant":false,"id":65646,"mutability":"mutable","name":"original","nameLocation":"12471:8:65","nodeType":"VariableDeclaration","scope":65734,"src":"12458:21:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65645,"name":"bytes","nodeType":"ElementaryTypeName","src":"12458:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65652,"initialValue":{"expression":{"arguments":[{"id":65649,"name":"shimImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65015,"src":"12490:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}],"id":65648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12482:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65647,"name":"address","nodeType":"ElementaryTypeName","src":"12482:7:65","typeDescriptions":{}}},"id":65650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12482:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12500:4:65","memberName":"code","nodeType":"MemberAccess","src":"12482:22:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12458:46:65"},{"expression":{"arguments":[{"id":65656,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"12522:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"arguments":[{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":65662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12555:42:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"12538:16:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouter_$50972_$","typeString":"function (address) returns (contract TrailsRouter)"},"typeName":{"id":65660,"nodeType":"UserDefinedTypeName","pathNode":{"id":65659,"name":"TrailsRouter","nameLocations":["12542:12:65"],"nodeType":"IdentifierPath","referencedDeclaration":50972,"src":"12542:12:65"},"referencedDeclaration":50972,"src":"12542:12:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}},"id":65663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12538:60:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":65658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12530:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65657,"name":"address","nodeType":"ElementaryTypeName","src":"12530:7:65","typeDescriptions":{}}},"id":65664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12530:69:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12600:4:65","memberName":"code","nodeType":"MemberAccess","src":"12530:74:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65653,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"12514:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12517:4:65","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"12514:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":65666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12514:91:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65667,"nodeType":"ExpressionStatement","src":"12514:91:65"},{"assignments":[65669],"declarations":[{"constant":false,"id":65669,"mutability":"mutable","name":"recipient","nameLocation":"12631:9:65","nodeType":"VariableDeclaration","scope":65734,"src":"12615:25:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":65668,"name":"address","nodeType":"ElementaryTypeName","src":"12615:15:65","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":65677,"initialValue":{"arguments":[{"arguments":[{"hexValue":"3078313132","id":65674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12659:5:65","typeDescriptions":{"typeIdentifier":"t_rational_274_by_1","typeString":"int_const 274"},"value":"0x112"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_274_by_1","typeString":"int_const 274"}],"id":65673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12651:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65672,"name":"address","nodeType":"ElementaryTypeName","src":"12651:7:65","typeDescriptions":{}}},"id":65675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12651:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12643:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65670,"name":"address","nodeType":"ElementaryTypeName","src":"12643:8:65","stateMutability":"payable","typeDescriptions":{}}},"id":65676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12643:23:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"12615:51:65"},{"expression":{"arguments":[{"id":65681,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"12684:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"31","id":65682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12692:7:65","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"expression":{"id":65678,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"12676:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12679:4:65","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"12676:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12676:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65684,"nodeType":"ExpressionStatement","src":"12676:24:65"},{"assignments":[65686],"declarations":[{"constant":false,"id":65686,"mutability":"mutable","name":"data","nameLocation":"12723:4:65","nodeType":"VariableDeclaration","scope":65734,"src":"12710:17:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65685,"name":"bytes","nodeType":"ElementaryTypeName","src":"12710:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65702,"initialValue":{"arguments":[{"expression":{"expression":{"id":65689,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"12765:12:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":65690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12778:22:65","memberName":"validateOpHashAndSweep","nodeType":"MemberAccess","referencedDeclaration":50348,"src":"12765:35:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function TrailsRouter.validateOpHashAndSweep(bytes32,address,address) payable"}},"id":65691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12801:8:65","memberName":"selector","nodeType":"MemberAccess","src":"12765:44:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":65694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12819:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12811:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":65692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12811:7:65","typeDescriptions":{}}},"id":65695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12811:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":65698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12831:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12823:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65696,"name":"address","nodeType":"ElementaryTypeName","src":"12823:7:65","typeDescriptions":{}}},"id":65699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12823:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65700,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65669,"src":"12835:9:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":65687,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12742:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12746:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12742:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12742:103:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12710:135:65"},{"expression":{"arguments":[{"id":65707,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65576,"src":"12914:6:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":65708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12922:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12925:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12928:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12931:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":65712,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65686,"src":"12934:4:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":65704,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"12879:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65703,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"12855:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":65705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12855:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":65706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12887:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"12855:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":65713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12855:84:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65714,"nodeType":"ExpressionStatement","src":"12855:84:65"},{"expression":{"arguments":[{"expression":{"id":65716,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"12958:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":65717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12965:7:65","memberName":"balance","nodeType":"MemberAccess","src":"12958:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12974:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65715,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"12949:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12949:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65720,"nodeType":"ExpressionStatement","src":"12949:27:65"},{"expression":{"arguments":[{"expression":{"id":65722,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65669,"src":"12995:9:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":65723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13005:7:65","memberName":"balance","nodeType":"MemberAccess","src":"12995:17:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":65724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13014:7:65","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":65721,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"12986:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12986:36:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65726,"nodeType":"ExpressionStatement","src":"12986:36:65"},{"expression":{"arguments":[{"id":65730,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"13040:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65731,"name":"original","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65646,"src":"13048:8:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65727,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"13032:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13035:4:65","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"13032:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":65732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13032:25:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65733,"nodeType":"ExpressionStatement","src":"13032:25:65"}]},"functionSelector":"0f59cebe","implemented":true,"kind":"function","modifiers":[],"name":"test_delegatecall_sets_sentinel_with_sstore_when_no_tstore","nameLocation":"11490:58:65","parameters":{"id":65567,"nodeType":"ParameterList","parameters":[],"src":"11548:2:65"},"returnParameters":{"id":65568,"nodeType":"ParameterList","parameters":[],"src":"11558:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65854,"nodeType":"FunctionDefinition","src":"13070:1400:65","nodes":[],"body":{"id":65853,"nodeType":"Block","src":"13148:1322:65","nodes":[],"statements":[{"assignments":[65740],"declarations":[{"constant":false,"id":65740,"mutability":"mutable","name":"reverting","nameLocation":"13254:9:65","nodeType":"VariableDeclaration","scope":65853,"src":"13238:25:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingRouter_$64800","typeString":"contract RevertingRouter"},"typeName":{"id":65739,"nodeType":"UserDefinedTypeName","pathNode":{"id":65738,"name":"RevertingRouter","nameLocations":["13238:15:65"],"nodeType":"IdentifierPath","referencedDeclaration":64800,"src":"13238:15:65"},"referencedDeclaration":64800,"src":"13238:15:65","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingRouter_$64800","typeString":"contract RevertingRouter"}},"visibility":"internal"}],"id":65745,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":65743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"13266:19:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RevertingRouter_$64800_$","typeString":"function () returns (contract RevertingRouter)"},"typeName":{"id":65742,"nodeType":"UserDefinedTypeName","pathNode":{"id":65741,"name":"RevertingRouter","nameLocations":["13270:15:65"],"nodeType":"IdentifierPath","referencedDeclaration":64800,"src":"13270:15:65"},"referencedDeclaration":64800,"src":"13270:15:65","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingRouter_$64800","typeString":"contract RevertingRouter"}}},"id":65744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13266:21:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RevertingRouter_$64800","typeString":"contract RevertingRouter"}},"nodeType":"VariableDeclarationStatement","src":"13238:49:65"},{"expression":{"arguments":[{"arguments":[{"id":65751,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"13313:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":65750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13305:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65749,"name":"address","nodeType":"ElementaryTypeName","src":"13305:7:65","typeDescriptions":{}}},"id":65752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13305:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":65755,"name":"reverting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65740,"src":"13330:9:65","typeDescriptions":{"typeIdentifier":"t_contract$_RevertingRouter_$64800","typeString":"contract RevertingRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RevertingRouter_$64800","typeString":"contract RevertingRouter"}],"id":65754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13322:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65753,"name":"address","nodeType":"ElementaryTypeName","src":"13322:7:65","typeDescriptions":{}}},"id":65756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13322:18:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13341:4:65","memberName":"code","nodeType":"MemberAccess","src":"13322:23:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65746,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"13297:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13300:4:65","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"13297:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":65758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13297:49:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65759,"nodeType":"ExpressionStatement","src":"13297:49:65"},{"assignments":[65765],"declarations":[{"constant":false,"id":65765,"mutability":"mutable","name":"calls","nameLocation":"13457:5:65","nodeType":"VariableDeclaration","scope":65853,"src":"13425:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":65763,"nodeType":"UserDefinedTypeName","pathNode":{"id":65762,"name":"IMulticall3.Call3Value","nameLocations":["13425:11:65","13437:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"13425:22:65"},"referencedDeclaration":51162,"src":"13425:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65764,"nodeType":"ArrayTypeName","src":"13425:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":65772,"initialValue":{"arguments":[{"hexValue":"31","id":65770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13494:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":65769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13465:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":65767,"nodeType":"UserDefinedTypeName","pathNode":{"id":65766,"name":"IMulticall3.Call3Value","nameLocations":["13469:11:65","13481:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"13469:22:65"},"referencedDeclaration":51162,"src":"13469:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65768,"nodeType":"ArrayTypeName","src":"13469:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":65771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13465:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13425:71:65"},{"expression":{"id":65790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":65773,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"13506:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":65775,"indexExpression":{"hexValue":"30","id":65774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13512:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13506:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65780,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"13570:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":65779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13562:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65778,"name":"address","nodeType":"ElementaryTypeName","src":"13562:7:65","typeDescriptions":{}}},"id":65781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13562:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":65782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13605:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":65783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13631:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"77696c6c5265766572742829","id":65786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13680:14:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_73ee93b38f0c7bec6b34076689ee734cf51adadf96a59188d2523dffa640e2d0","typeString":"literal_string \"willRevert()\""},"value":"willRevert()"},{"hexValue":"78","id":65787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13696:3:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_73ee93b38f0c7bec6b34076689ee734cf51adadf96a59188d2523dffa640e2d0","typeString":"literal_string \"willRevert()\""},{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""}],"expression":{"id":65784,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13656:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13660:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13656:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":65788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13656:44:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65776,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"13517:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13529:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"13517:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":65789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["13554:6:65","13591:12:65","13624:5:65","13646:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"13517:194:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"13506:205:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":65791,"nodeType":"ExpressionStatement","src":"13506:205:65"},{"assignments":[65793],"declarations":[{"constant":false,"id":65793,"mutability":"mutable","name":"routerCalldata","nameLocation":"13734:14:65","nodeType":"VariableDeclaration","scope":65853,"src":"13721:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65792,"name":"bytes","nodeType":"ElementaryTypeName","src":"13721:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65801,"initialValue":{"arguments":[{"expression":{"expression":{"id":65796,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"13774:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13786:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"13774:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":65798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13802:8:65","memberName":"selector","nodeType":"MemberAccess","src":"13774:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65799,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65765,"src":"13812:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":65794,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13751:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13755:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13751:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13751:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13721:97:65"},{"assignments":[65803],"declarations":[{"constant":false,"id":65803,"mutability":"mutable","name":"forwardData","nameLocation":"13841:11:65","nodeType":"VariableDeclaration","scope":65853,"src":"13828:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65802,"name":"bytes","nodeType":"ElementaryTypeName","src":"13828:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65809,"initialValue":{"arguments":[{"id":65806,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65793,"src":"13866:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":65807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13882:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":65804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13855:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13859:6:65","memberName":"encode","nodeType":"MemberAccess","src":"13855:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13855:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13828:56:65"},{"assignments":[65811,65813],"declarations":[{"constant":false,"id":65811,"mutability":"mutable","name":"ok","nameLocation":"13976:2:65","nodeType":"VariableDeclaration","scope":65853,"src":"13971:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65810,"name":"bool","nodeType":"ElementaryTypeName","src":"13971:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":65813,"mutability":"mutable","name":"ret","nameLocation":"13993:3:65","nodeType":"VariableDeclaration","scope":65853,"src":"13980:16:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65812,"name":"bytes","nodeType":"ElementaryTypeName","src":"13980:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65835,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65821,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"14095:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":65822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14119:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"14095:50:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function IMockDelegatedExtension.handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes calldata) payable"}},"id":65823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14146:8:65","memberName":"selector","nodeType":"MemberAccess","src":"14095:59:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":65826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14164:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14156:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":65824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14156:7:65","typeDescriptions":{}}},"id":65827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14156:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":65828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14168:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14171:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14174:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14177:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":65832,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65803,"src":"14180:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65819,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14051:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14055:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14051:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14051:158:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":65816,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"14008:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14000:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65814,"name":"address","nodeType":"ElementaryTypeName","src":"14000:7:65","typeDescriptions":{}}},"id":65817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14000:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14029:4:65","memberName":"call","nodeType":"MemberAccess","src":"14000:33:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":65834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14000:223:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"13970:253:65"},{"expression":{"arguments":[{"id":65837,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65811,"src":"14245:2:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"63616c6c2073686f756c6420726576657274","id":65838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14249:20:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_0046829c57d60938cb7ecb647ede66c07c53e7cf771adec47752b35211ba16d6","typeString":"literal_string \"call should revert\""},"value":"call should revert"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0046829c57d60938cb7ecb647ede66c07c53e7cf771adec47752b35211ba16d6","typeString":"literal_string \"call should revert\""}],"id":65836,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[602,620],"referencedDeclaration":620,"src":"14233:11:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":65839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14233:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65840,"nodeType":"ExpressionStatement","src":"14233:37:65"},{"assignments":[65842],"declarations":[{"constant":false,"id":65842,"mutability":"mutable","name":"sel","nameLocation":"14287:3:65","nodeType":"VariableDeclaration","scope":65853,"src":"14280:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":65841,"name":"bytes4","nodeType":"ElementaryTypeName","src":"14280:6:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":65843,"nodeType":"VariableDeclarationStatement","src":"14280:10:65"},{"AST":{"nativeSrc":"14309:50:65","nodeType":"YulBlock","src":"14309:50:65","statements":[{"nativeSrc":"14323:26:65","nodeType":"YulAssignment","src":"14323:26:65","value":{"arguments":[{"arguments":[{"name":"ret","nativeSrc":"14340:3:65","nodeType":"YulIdentifier","src":"14340:3:65"},{"kind":"number","nativeSrc":"14345:2:65","nodeType":"YulLiteral","src":"14345:2:65","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"14336:3:65","nodeType":"YulIdentifier","src":"14336:3:65"},"nativeSrc":"14336:12:65","nodeType":"YulFunctionCall","src":"14336:12:65"}],"functionName":{"name":"mload","nativeSrc":"14330:5:65","nodeType":"YulIdentifier","src":"14330:5:65"},"nativeSrc":"14330:19:65","nodeType":"YulFunctionCall","src":"14330:19:65"},"variableNames":[{"name":"sel","nativeSrc":"14323:3:65","nodeType":"YulIdentifier","src":"14323:3:65"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":65813,"isOffset":false,"isSlot":false,"src":"14340:3:65","valueSize":1},{"declaration":65842,"isOffset":false,"isSlot":false,"src":"14323:3:65","valueSize":1}],"id":65844,"nodeType":"InlineAssembly","src":"14300:59:65"},{"expression":{"arguments":[{"id":65846,"name":"sel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65842,"src":"14377:3:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"expression":{"expression":{"id":65847,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"14382:16:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}},"id":65848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14399:16:65","memberName":"RouterCallFailed","nodeType":"MemberAccess","referencedDeclaration":50996,"src":"14382:33:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":65849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14416:8:65","memberName":"selector","nodeType":"MemberAccess","src":"14382:42:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"657870656374656420526f7574657243616c6c4661696c65642073656c6563746f72","id":65850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14426:36:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_8099bdd8d8f9abac16b7f231fc6c3a00b982295be9f2b4407833728077bb086b","typeString":"literal_string \"expected RouterCallFailed selector\""},"value":"expected RouterCallFailed selector"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_8099bdd8d8f9abac16b7f231fc6c3a00b982295be9f2b4407833728077bb086b","typeString":"literal_string \"expected RouterCallFailed selector\""}],"id":65845,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":913,"src":"14368:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":65851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14368:95:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65852,"nodeType":"ExpressionStatement","src":"14368:95:65"}]},"functionSelector":"dfab5b20","implemented":true,"kind":"function","modifiers":[],"name":"test_delegatecall_router_revert_bubbles_as_RouterCallFailed","nameLocation":"13079:59:65","parameters":{"id":65736,"nodeType":"ParameterList","parameters":[],"src":"13138:2:65"},"returnParameters":{"id":65737,"nodeType":"ParameterList","parameters":[],"src":"13148:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65957,"nodeType":"FunctionDefinition","src":"14476:895:65","nodes":[],"body":{"id":65956,"nodeType":"Block","src":"14541:830:65","nodes":[],"statements":[{"assignments":[65858],"declarations":[{"constant":false,"id":65858,"mutability":"mutable","name":"callValue","nameLocation":"14559:9:65","nodeType":"VariableDeclaration","scope":65956,"src":"14551:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65857,"name":"uint256","nodeType":"ElementaryTypeName","src":"14551:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65860,"initialValue":{"hexValue":"32","id":65859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14571:7:65","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"14551:27:65"},{"expression":{"arguments":[{"id":65864,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"14596:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65865,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65858,"src":"14604:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65861,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"14588:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14591:4:65","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"14588:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14588:26:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65867,"nodeType":"ExpressionStatement","src":"14588:26:65"},{"assignments":[65873],"declarations":[{"constant":false,"id":65873,"mutability":"mutable","name":"calls","nameLocation":"14657:5:65","nodeType":"VariableDeclaration","scope":65956,"src":"14625:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":65871,"nodeType":"UserDefinedTypeName","pathNode":{"id":65870,"name":"IMulticall3.Call3Value","nameLocations":["14625:11:65","14637:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"14625:22:65"},"referencedDeclaration":51162,"src":"14625:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65872,"nodeType":"ArrayTypeName","src":"14625:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":65880,"initialValue":{"arguments":[{"hexValue":"31","id":65878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14694:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":65877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"14665:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":65875,"nodeType":"UserDefinedTypeName","pathNode":{"id":65874,"name":"IMulticall3.Call3Value","nameLocations":["14669:11:65","14681:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"14669:22:65"},"referencedDeclaration":51162,"src":"14669:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65876,"nodeType":"ArrayTypeName","src":"14669:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":65879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14665:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14625:71:65"},{"expression":{"id":65897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":65881,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65873,"src":"14706:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":65883,"indexExpression":{"hexValue":"30","id":65882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14712:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14706:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65888,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"14770:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":65887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14762:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65886,"name":"address","nodeType":"ElementaryTypeName","src":"14762:7:65","typeDescriptions":{}}},"id":65889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14762:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":65890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14793:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":65891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14807:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"726563656976654574682829","id":65894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14844:14:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_4185f8eba7813483d37ee5b8e8c9a9264b6eb72f0845a5858f06959c63824983","typeString":"literal_string \"receiveEth()\""},"value":"receiveEth()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4185f8eba7813483d37ee5b8e8c9a9264b6eb72f0845a5858f06959c63824983","typeString":"literal_string \"receiveEth()\""}],"expression":{"id":65892,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14820:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14824:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14820:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":65895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14820:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65884,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"14717:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14729:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"14717:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":65896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["14754:6:65","14779:12:65","14800:5:65","14810:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"14717:153:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"14706:164:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":65898,"nodeType":"ExpressionStatement","src":"14706:164:65"},{"assignments":[65900],"declarations":[{"constant":false,"id":65900,"mutability":"mutable","name":"routerCalldata","nameLocation":"14893:14:65","nodeType":"VariableDeclaration","scope":65956,"src":"14880:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65899,"name":"bytes","nodeType":"ElementaryTypeName","src":"14880:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65908,"initialValue":{"arguments":[{"expression":{"expression":{"id":65903,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"14933:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14945:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"14933:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":65905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14961:8:65","memberName":"selector","nodeType":"MemberAccess","src":"14933:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65906,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65873,"src":"14971:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":65901,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14910:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14914:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14910:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14910:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14880:97:65"},{"assignments":[65910],"declarations":[{"constant":false,"id":65910,"mutability":"mutable","name":"forwardData","nameLocation":"15000:11:65","nodeType":"VariableDeclaration","scope":65956,"src":"14987:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65909,"name":"bytes","nodeType":"ElementaryTypeName","src":"14987:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65916,"initialValue":{"arguments":[{"id":65913,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65900,"src":"15025:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":65914,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65858,"src":"15041:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65911,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15014:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15018:6:65","memberName":"encode","nodeType":"MemberAccess","src":"15014:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15014:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14987:64:65"},{"expression":{"arguments":[{"hexValue":"74727565","id":65920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15076:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15082:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15088:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15094:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":65917,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"15062:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":65919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15065:10:65","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"15062:13:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":65924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15062:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65925,"nodeType":"ExpressionStatement","src":"15062:37:65"},{"eventCall":{"arguments":[{"id":65929,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"15145:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65930,"name":"callValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65858,"src":"15153:9:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65931,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65900,"src":"15164:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65926,"name":"MockAggregate3Router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"15114:20:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockAggregate3Router_$64785_$","typeString":"type(contract MockAggregate3Router)"}},"id":65928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15135:9:65","memberName":"Forwarded","nodeType":"MemberAccess","referencedDeclaration":64676,"src":"15114:30:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":65932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15114:65:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65933,"nodeType":"EmitStatement","src":"15109:70:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":65940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15257:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15249:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":65938,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15249:7:65","typeDescriptions":{}}},"id":65941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15249:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":65942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15261:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15264:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15267:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15270:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":65946,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65910,"src":"15273:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":65935,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"15214:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65934,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"15190:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":65936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15190:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":65937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15222:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"15190:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":65947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15190:95:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65948,"nodeType":"ExpressionStatement","src":"15190:95:65"},{"expression":{"arguments":[{"expression":{"id":65950,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"15305:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":65951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15312:7:65","memberName":"balance","nodeType":"MemberAccess","src":"15305:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15321:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"686f6c6465722073686f756c6420686176652073656e742045544820746f20726f75746572","id":65953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15324:39:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab1e44dadee3320b89b75afcbd71c2099ae1964e4179168e6f9a557e48b050d4","typeString":"literal_string \"holder should have sent ETH to router\""},"value":"holder should have sent ETH to router"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_ab1e44dadee3320b89b75afcbd71c2099ae1964e4179168e6f9a557e48b050d4","typeString":"literal_string \"holder should have sent ETH to router\""}],"id":65949,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"15296:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":65954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15296:68:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65955,"nodeType":"ExpressionStatement","src":"15296:68:65"}]},"functionSelector":"cf7e6947","implemented":true,"kind":"function","modifiers":[],"name":"test_handleSequenceDelegateCall_with_eth_value","nameLocation":"14485:46:65","parameters":{"id":65855,"nodeType":"ParameterList","parameters":[],"src":"14531:2:65"},"returnParameters":{"id":65856,"nodeType":"ParameterList","parameters":[],"src":"14541:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66010,"nodeType":"FunctionDefinition","src":"15377:502:65","nodes":[],"body":{"id":66009,"nodeType":"Block","src":"15442:437:65","nodes":[],"statements":[{"assignments":[65965],"declarations":[{"constant":false,"id":65965,"mutability":"mutable","name":"calls","nameLocation":"15545:5:65","nodeType":"VariableDeclaration","scope":66009,"src":"15513:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":65963,"nodeType":"UserDefinedTypeName","pathNode":{"id":65962,"name":"IMulticall3.Call3Value","nameLocations":["15513:11:65","15525:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"15513:22:65"},"referencedDeclaration":51162,"src":"15513:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65964,"nodeType":"ArrayTypeName","src":"15513:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":65972,"initialValue":{"arguments":[{"hexValue":"30","id":65970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15582:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15553:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":65967,"nodeType":"UserDefinedTypeName","pathNode":{"id":65966,"name":"IMulticall3.Call3Value","nameLocations":["15557:11:65","15569:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"15557:22:65"},"referencedDeclaration":51162,"src":"15557:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":65968,"nodeType":"ArrayTypeName","src":"15557:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":65971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15553:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15513:71:65"},{"assignments":[65974],"declarations":[{"constant":false,"id":65974,"mutability":"mutable","name":"routerCalldata","nameLocation":"15607:14:65","nodeType":"VariableDeclaration","scope":66009,"src":"15594:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65973,"name":"bytes","nodeType":"ElementaryTypeName","src":"15594:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65982,"initialValue":{"arguments":[{"expression":{"expression":{"id":65977,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"15647:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":65978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15659:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"15647:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":65979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15675:8:65","memberName":"selector","nodeType":"MemberAccess","src":"15647:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65980,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65965,"src":"15685:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":65975,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15624:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15628:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15624:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15624:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15594:97:65"},{"assignments":[65984],"declarations":[{"constant":false,"id":65984,"mutability":"mutable","name":"forwardData","nameLocation":"15714:11:65","nodeType":"VariableDeclaration","scope":66009,"src":"15701:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65983,"name":"bytes","nodeType":"ElementaryTypeName","src":"15701:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65993,"initialValue":{"arguments":[{"id":65987,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65974,"src":"15739:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":65990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15763:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15755:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":65988,"name":"uint256","nodeType":"ElementaryTypeName","src":"15755:7:65","typeDescriptions":{}}},"id":65991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15755:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15728:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15732:6:65","memberName":"encode","nodeType":"MemberAccess","src":"15728:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15728:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15701:65:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":66000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15844:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15836:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":65998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15836:7:65","typeDescriptions":{}}},"id":66001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15836:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15848:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15851:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15854:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15857:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66006,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65984,"src":"15860:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":65995,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"15801:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65994,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"15777:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":65996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15777:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":65997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15809:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"15777:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":66007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15777:95:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66008,"nodeType":"ExpressionStatement","src":"15777:95:65"}]},"functionSelector":"a009a77a","implemented":true,"kind":"function","modifiers":[],"name":"test_handleSequenceDelegateCall_empty_calldata","nameLocation":"15386:46:65","parameters":{"id":65958,"nodeType":"ParameterList","parameters":[],"src":"15432:2:65"},"returnParameters":{"id":65959,"nodeType":"ParameterList","parameters":[],"src":"15442:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66129,"nodeType":"FunctionDefinition","src":"15885:1076:65","nodes":[],"body":{"id":66128,"nodeType":"Block","src":"15950:1011:65","nodes":[],"statements":[{"assignments":[66014],"declarations":[{"constant":false,"id":66014,"mutability":"mutable","name":"largeData","nameLocation":"16051:9:65","nodeType":"VariableDeclaration","scope":66128,"src":"16038:22:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66013,"name":"bytes","nodeType":"ElementaryTypeName","src":"16038:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66019,"initialValue":{"arguments":[{"hexValue":"3130303030","id":66017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16073:5:65","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}],"id":66016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"16063:9:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":66015,"name":"bytes","nodeType":"ElementaryTypeName","src":"16067:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":66018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16063:16:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16038:41:65"},{"body":{"id":66045,"nodeType":"Block","src":"16136:207:65","statements":[{"documentation":"forge-lint: disable-next-line(unsafe-typecast)","expression":{"id":66043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66031,"name":"largeData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66014,"src":"16295:9:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66033,"indexExpression":{"id":66032,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66021,"src":"16305:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16295:12:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66038,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66021,"src":"16323:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"323536","id":66039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16327:3:65","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"16323:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16317:5:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":66036,"name":"uint8","nodeType":"ElementaryTypeName","src":"16317:5:65","typeDescriptions":{}}},"id":66041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16317:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":66035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16310:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":66034,"name":"bytes1","nodeType":"ElementaryTypeName","src":"16310:6:65","typeDescriptions":{}}},"id":66042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16310:22:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"16295:37:65","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":66044,"nodeType":"ExpressionStatement","src":"16295:37:65"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66024,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66021,"src":"16109:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":66025,"name":"largeData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66014,"src":"16113:9:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16123:6:65","memberName":"length","nodeType":"MemberAccess","src":"16113:16:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16109:20:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66046,"initializationExpression":{"assignments":[66021],"declarations":[{"constant":false,"id":66021,"mutability":"mutable","name":"i","nameLocation":"16102:1:65","nodeType":"VariableDeclaration","scope":66046,"src":"16094:9:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66020,"name":"uint256","nodeType":"ElementaryTypeName","src":"16094:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66023,"initialValue":{"hexValue":"30","id":66022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16106:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16094:13:65"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":66029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16131:3:65","subExpression":{"id":66028,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66021,"src":"16131:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66030,"nodeType":"ExpressionStatement","src":"16131:3:65"},"nodeType":"ForStatement","src":"16089:254:65"},{"assignments":[66052],"declarations":[{"constant":false,"id":66052,"mutability":"mutable","name":"calls","nameLocation":"16385:5:65","nodeType":"VariableDeclaration","scope":66128,"src":"16353:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":66050,"nodeType":"UserDefinedTypeName","pathNode":{"id":66049,"name":"IMulticall3.Call3Value","nameLocations":["16353:11:65","16365:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"16353:22:65"},"referencedDeclaration":51162,"src":"16353:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66051,"nodeType":"ArrayTypeName","src":"16353:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":66059,"initialValue":{"arguments":[{"hexValue":"31","id":66057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16422:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":66056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"16393:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":66054,"nodeType":"UserDefinedTypeName","pathNode":{"id":66053,"name":"IMulticall3.Call3Value","nameLocations":["16397:11:65","16409:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"16397:22:65"},"referencedDeclaration":51162,"src":"16397:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66055,"nodeType":"ArrayTypeName","src":"16397:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":66058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16393:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16353:71:65"},{"expression":{"id":66073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66060,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66052,"src":"16434:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":66062,"indexExpression":{"hexValue":"30","id":66061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16440:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16434:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66067,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"16485:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":66066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16477:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66065,"name":"address","nodeType":"ElementaryTypeName","src":"16477:7:65","typeDescriptions":{}}},"id":66068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16477:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":66069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16508:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":66070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16522:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66071,"name":"largeData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66014,"src":"16535:9:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66063,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"16445:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16457:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"16445:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":66072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["16469:6:65","16494:12:65","16515:5:65","16525:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"16445:101:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"16434:112:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":66074,"nodeType":"ExpressionStatement","src":"16434:112:65"},{"assignments":[66076],"declarations":[{"constant":false,"id":66076,"mutability":"mutable","name":"routerCalldata","nameLocation":"16569:14:65","nodeType":"VariableDeclaration","scope":66128,"src":"16556:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66075,"name":"bytes","nodeType":"ElementaryTypeName","src":"16556:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66084,"initialValue":{"arguments":[{"expression":{"expression":{"id":66079,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"16609:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16621:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"16609:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":66081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16637:8:65","memberName":"selector","nodeType":"MemberAccess","src":"16609:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":66082,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66052,"src":"16647:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":66077,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16586:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16590:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"16586:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16586:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16556:97:65"},{"assignments":[66086],"declarations":[{"constant":false,"id":66086,"mutability":"mutable","name":"forwardData","nameLocation":"16676:11:65","nodeType":"VariableDeclaration","scope":66128,"src":"16663:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66085,"name":"bytes","nodeType":"ElementaryTypeName","src":"16663:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66095,"initialValue":{"arguments":[{"id":66089,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66076,"src":"16701:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":66092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16725:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16717:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66090,"name":"uint256","nodeType":"ElementaryTypeName","src":"16717:7:65","typeDescriptions":{}}},"id":66093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16717:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66087,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16690:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16694:6:65","memberName":"encode","nodeType":"MemberAccess","src":"16690:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16690:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16663:65:65"},{"expression":{"arguments":[{"hexValue":"74727565","id":66099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16753:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16759:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16765:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16771:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":66096,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"16739:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":66098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16742:10:65","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"16739:13:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":66103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16739:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66104,"nodeType":"ExpressionStatement","src":"16739:37:65"},{"eventCall":{"arguments":[{"id":66108,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"16822:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"30","id":66109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16830:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66110,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66076,"src":"16833:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66105,"name":"MockAggregate3Router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"16791:20:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockAggregate3Router_$64785_$","typeString":"type(contract MockAggregate3Router)"}},"id":66107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16812:9:65","memberName":"Forwarded","nodeType":"MemberAccess","referencedDeclaration":64676,"src":"16791:30:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":66111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16791:57:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66112,"nodeType":"EmitStatement","src":"16786:62:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":66119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16926:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16918:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16918:7:65","typeDescriptions":{}}},"id":66120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16918:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16930:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16933:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16936:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16939:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66125,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66086,"src":"16942:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":66114,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"16883:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66113,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"16859:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":66115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16859:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":66116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16891:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"16859:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":66126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16859:95:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66127,"nodeType":"ExpressionStatement","src":"16859:95:65"}]},"functionSelector":"7ee2aaa5","implemented":true,"kind":"function","modifiers":[],"name":"test_handleSequenceDelegateCall_large_calldata","nameLocation":"15894:46:65","parameters":{"id":66011,"nodeType":"ParameterList","parameters":[],"src":"15940:2:65"},"returnParameters":{"id":66012,"nodeType":"ParameterList","parameters":[],"src":"15950:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66217,"nodeType":"FunctionDefinition","src":"16967:737:65","nodes":[],"body":{"id":66216,"nodeType":"Block","src":"17033:671:65","nodes":[],"statements":[{"assignments":[66137],"declarations":[{"constant":false,"id":66137,"mutability":"mutable","name":"calls","nameLocation":"17075:5:65","nodeType":"VariableDeclaration","scope":66216,"src":"17043:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":66135,"nodeType":"UserDefinedTypeName","pathNode":{"id":66134,"name":"IMulticall3.Call3Value","nameLocations":["17043:11:65","17055:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"17043:22:65"},"referencedDeclaration":51162,"src":"17043:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66136,"nodeType":"ArrayTypeName","src":"17043:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":66144,"initialValue":{"arguments":[{"hexValue":"31","id":66142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17112:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":66141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17083:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":66139,"nodeType":"UserDefinedTypeName","pathNode":{"id":66138,"name":"IMulticall3.Call3Value","nameLocations":["17087:11:65","17099:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"17087:22:65"},"referencedDeclaration":51162,"src":"17087:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66140,"nodeType":"ArrayTypeName","src":"17087:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":66143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17083:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17043:71:65"},{"expression":{"id":66161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66145,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66137,"src":"17124:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":66147,"indexExpression":{"hexValue":"30","id":66146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17130:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17124:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66152,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"17188:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":66151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17180:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66150,"name":"address","nodeType":"ElementaryTypeName","src":"17180:7:65","typeDescriptions":{}}},"id":66153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17180:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":66154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17211:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":66155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17225:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"646f536f6d657468696e672829","id":66158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17262:15:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_826926790c7bf61b643bbe5fc99e4086f5c22b93d31f71be07328661a7529c52","typeString":"literal_string \"doSomething()\""},"value":"doSomething()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_826926790c7bf61b643bbe5fc99e4086f5c22b93d31f71be07328661a7529c52","typeString":"literal_string \"doSomething()\""}],"expression":{"id":66156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17238:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17242:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17238:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":66159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17238:40:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66148,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"17135:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17147:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"17135:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":66160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["17172:6:65","17197:12:65","17218:5:65","17228:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"17135:154:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"17124:165:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":66162,"nodeType":"ExpressionStatement","src":"17124:165:65"},{"assignments":[66164],"declarations":[{"constant":false,"id":66164,"mutability":"mutable","name":"routerCalldata","nameLocation":"17312:14:65","nodeType":"VariableDeclaration","scope":66216,"src":"17299:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66163,"name":"bytes","nodeType":"ElementaryTypeName","src":"17299:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66172,"initialValue":{"arguments":[{"expression":{"expression":{"id":66167,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"17352:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17364:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"17352:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":66169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17380:8:65","memberName":"selector","nodeType":"MemberAccess","src":"17352:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":66170,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66137,"src":"17390:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":66165,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17329:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17333:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"17329:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17329:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17299:97:65"},{"assignments":[66174],"declarations":[{"constant":false,"id":66174,"mutability":"mutable","name":"forwardData","nameLocation":"17419:11:65","nodeType":"VariableDeclaration","scope":66216,"src":"17406:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66173,"name":"bytes","nodeType":"ElementaryTypeName","src":"17406:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66183,"initialValue":{"arguments":[{"id":66177,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66164,"src":"17444:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":66180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17468:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17460:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66178,"name":"uint256","nodeType":"ElementaryTypeName","src":"17460:7:65","typeDescriptions":{}}},"id":66181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17460:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17433:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17437:6:65","memberName":"encode","nodeType":"MemberAccess","src":"17433:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17433:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17406:65:65"},{"expression":{"arguments":[{"hexValue":"74727565","id":66187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17496:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17502:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17508:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17514:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":66184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"17482:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":66186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17485:10:65","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"17482:13:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":66191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17482:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66192,"nodeType":"ExpressionStatement","src":"17482:37:65"},{"eventCall":{"arguments":[{"id":66196,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"17565:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"30","id":66197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17573:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66198,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66164,"src":"17576:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66193,"name":"MockAggregate3Router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"17534:20:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockAggregate3Router_$64785_$","typeString":"type(contract MockAggregate3Router)"}},"id":66195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17555:9:65","memberName":"Forwarded","nodeType":"MemberAccess","referencedDeclaration":64676,"src":"17534:30:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":66199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17534:57:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66200,"nodeType":"EmitStatement","src":"17529:62:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":66207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17669:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17661:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17661:7:65","typeDescriptions":{}}},"id":66208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17661:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17673:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17676:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17679:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17682:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66213,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66174,"src":"17685:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":66202,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"17626:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66201,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"17602:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":66203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17602:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":66204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17634:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"17602:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":66214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17602:95:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66215,"nodeType":"ExpressionStatement","src":"17602:95:65"}]},"functionSelector":"dc420e10","implemented":true,"kind":"function","modifiers":[],"name":"test_handleSequenceDelegateCall_zero_call_value","nameLocation":"16976:47:65","parameters":{"id":66130,"nodeType":"ParameterList","parameters":[],"src":"17023:2:65"},"returnParameters":{"id":66131,"nodeType":"ParameterList","parameters":[],"src":"17033:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66268,"nodeType":"FunctionDefinition","src":"17710:544:65","nodes":[],"body":{"id":66267,"nodeType":"Block","src":"17786:468:65","nodes":[],"statements":[{"assignments":[66221],"declarations":[{"constant":false,"id":66221,"mutability":"mutable","name":"arbitraryCalldata","nameLocation":"17907:17:65","nodeType":"VariableDeclaration","scope":66267,"src":"17894:30:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66220,"name":"bytes","nodeType":"ElementaryTypeName","src":"17894:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66223,"initialValue":{"hexValue":"deadbeef","id":66222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"17927:13:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4fd4e189132273036449fc9e11198c739161b4c0116a9a2dccdfa1c492006f1","typeString":"literal_string hex\"deadbeef\""}},"nodeType":"VariableDeclarationStatement","src":"17894:46:65"},{"assignments":[66225],"declarations":[{"constant":false,"id":66225,"mutability":"mutable","name":"forwardData","nameLocation":"17963:11:65","nodeType":"VariableDeclaration","scope":66267,"src":"17950:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66224,"name":"bytes","nodeType":"ElementaryTypeName","src":"17950:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66234,"initialValue":{"arguments":[{"id":66228,"name":"arbitraryCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66221,"src":"17988:17:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":66231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18015:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18007:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66229,"name":"uint256","nodeType":"ElementaryTypeName","src":"18007:7:65","typeDescriptions":{}}},"id":66232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18007:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66226,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17977:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17981:6:65","memberName":"encode","nodeType":"MemberAccess","src":"17977:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17977:41:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17950:68:65"},{"expression":{"arguments":[{"hexValue":"74727565","id":66238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18043:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18049:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18055:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18061:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":66235,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"18029:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":66237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18032:10:65","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"18029:13:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":66242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18029:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66243,"nodeType":"ExpressionStatement","src":"18029:37:65"},{"eventCall":{"arguments":[{"id":66247,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"18112:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"30","id":66248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18120:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66249,"name":"arbitraryCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66221,"src":"18123:17:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66244,"name":"MockAggregate3Router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"18081:20:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockAggregate3Router_$64785_$","typeString":"type(contract MockAggregate3Router)"}},"id":66246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18102:9:65","memberName":"Forwarded","nodeType":"MemberAccess","referencedDeclaration":64676,"src":"18081:30:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":66250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18081:60:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66251,"nodeType":"EmitStatement","src":"18076:65:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":66258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18219:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18211:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18211:7:65","typeDescriptions":{}}},"id":66259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18211:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18223:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18226:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18229:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18232:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66264,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66225,"src":"18235:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":66253,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"18176:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66252,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"18152:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":66254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18152:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":66255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18184:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"18152:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":66265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18152:95:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66266,"nodeType":"ExpressionStatement","src":"18152:95:65"}]},"functionSelector":"f679951d","implemented":true,"kind":"function","modifiers":[],"name":"test_handleSequenceDelegateCall_allows_arbitrary_selector","nameLocation":"17719:57:65","parameters":{"id":66218,"nodeType":"ParameterList","parameters":[],"src":"17776:2:65"},"returnParameters":{"id":66219,"nodeType":"ParameterList","parameters":[],"src":"17786:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66375,"nodeType":"FunctionDefinition","src":"18260:935:65","nodes":[],"body":{"id":66374,"nodeType":"Block","src":"18325:870:65","nodes":[],"statements":[{"assignments":[66272],"declarations":[{"constant":false,"id":66272,"mutability":"mutable","name":"maxValue","nameLocation":"18343:8:65","nodeType":"VariableDeclaration","scope":66374,"src":"18335:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66271,"name":"uint256","nodeType":"ElementaryTypeName","src":"18335:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66278,"initialValue":{"expression":{"arguments":[{"id":66275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18359:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66274,"name":"uint256","nodeType":"ElementaryTypeName","src":"18359:7:65","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":66273,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18354:4:65","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":66276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18354:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":66277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18368:3:65","memberName":"max","nodeType":"MemberAccess","src":"18354:17:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18335:36:65"},{"expression":{"arguments":[{"id":66282,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"18389:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":66283,"name":"maxValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66272,"src":"18397:8:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66279,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"18381:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":66281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18384:4:65","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"18381:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":66284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18381:25:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66285,"nodeType":"ExpressionStatement","src":"18381:25:65"},{"assignments":[66291],"declarations":[{"constant":false,"id":66291,"mutability":"mutable","name":"calls","nameLocation":"18449:5:65","nodeType":"VariableDeclaration","scope":66374,"src":"18417:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":66289,"nodeType":"UserDefinedTypeName","pathNode":{"id":66288,"name":"IMulticall3.Call3Value","nameLocations":["18417:11:65","18429:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"18417:22:65"},"referencedDeclaration":51162,"src":"18417:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66290,"nodeType":"ArrayTypeName","src":"18417:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":66298,"initialValue":{"arguments":[{"hexValue":"31","id":66296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18486:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":66295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18457:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":66293,"nodeType":"UserDefinedTypeName","pathNode":{"id":66292,"name":"IMulticall3.Call3Value","nameLocations":["18461:11:65","18473:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"18461:22:65"},"referencedDeclaration":51162,"src":"18461:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66294,"nodeType":"ArrayTypeName","src":"18461:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":66297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18457:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18417:71:65"},{"expression":{"id":66315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66299,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"18498:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":66301,"indexExpression":{"hexValue":"30","id":66300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18504:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18498:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66306,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"18562:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":66305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18554:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66304,"name":"address","nodeType":"ElementaryTypeName","src":"18554:7:65","typeDescriptions":{}}},"id":66307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18554:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":66308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18597:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":66309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18623:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"68616e646c654d617856616c75652829","id":66312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18672:18:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_1942bbbae192572515473b642844217f7e49a0304b7bb07244494ccedccd9492","typeString":"literal_string \"handleMaxValue()\""},"value":"handleMaxValue()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1942bbbae192572515473b642844217f7e49a0304b7bb07244494ccedccd9492","typeString":"literal_string \"handleMaxValue()\""}],"expression":{"id":66310,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18648:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18652:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18648:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":66313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18648:43:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66302,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"18509:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18521:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"18509:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":66314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["18546:6:65","18583:12:65","18616:5:65","18638:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"18509:193:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"18498:204:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":66316,"nodeType":"ExpressionStatement","src":"18498:204:65"},{"assignments":[66318],"declarations":[{"constant":false,"id":66318,"mutability":"mutable","name":"routerCalldata","nameLocation":"18725:14:65","nodeType":"VariableDeclaration","scope":66374,"src":"18712:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66317,"name":"bytes","nodeType":"ElementaryTypeName","src":"18712:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66326,"initialValue":{"arguments":[{"expression":{"expression":{"id":66321,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"18765:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18777:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"18765:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":66323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18793:8:65","memberName":"selector","nodeType":"MemberAccess","src":"18765:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":66324,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66291,"src":"18803:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":66319,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18742:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18746:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"18742:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18742:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18712:97:65"},{"assignments":[66328],"declarations":[{"constant":false,"id":66328,"mutability":"mutable","name":"forwardData","nameLocation":"18832:11:65","nodeType":"VariableDeclaration","scope":66374,"src":"18819:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66327,"name":"bytes","nodeType":"ElementaryTypeName","src":"18819:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66334,"initialValue":{"arguments":[{"id":66331,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66318,"src":"18857:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":66332,"name":"maxValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66272,"src":"18873:8:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18846:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18850:6:65","memberName":"encode","nodeType":"MemberAccess","src":"18846:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18846:36:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18819:63:65"},{"expression":{"arguments":[{"hexValue":"74727565","id":66338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18907:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18913:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18919:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18925:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":66335,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"18893:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":66337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18896:10:65","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"18893:13:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":66342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18893:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66343,"nodeType":"ExpressionStatement","src":"18893:37:65"},{"eventCall":{"arguments":[{"id":66347,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"18976:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":66348,"name":"maxValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66272,"src":"18984:8:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66349,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66318,"src":"18994:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66344,"name":"MockAggregate3Router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"18945:20:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockAggregate3Router_$64785_$","typeString":"type(contract MockAggregate3Router)"}},"id":66346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18966:9:65","memberName":"Forwarded","nodeType":"MemberAccess","referencedDeclaration":64676,"src":"18945:30:65","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":66350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18945:64:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66351,"nodeType":"EmitStatement","src":"18940:69:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":66358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19087:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19079:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19079:7:65","typeDescriptions":{}}},"id":66359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19079:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19091:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19094:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19097:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19100:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66364,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66328,"src":"19103:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":66353,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"19044:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66352,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"19020:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":66354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19020:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":66355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19052:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"19020:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":66365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19020:95:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66366,"nodeType":"ExpressionStatement","src":"19020:95:65"},{"expression":{"arguments":[{"expression":{"id":66368,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"19135:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":66369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19142:7:65","memberName":"balance","nodeType":"MemberAccess","src":"19135:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":66370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19151:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"686f6c6465722073686f756c6420686176652073656e7420616c6c20455448","id":66371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19154:33:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_60bdc383f63c9fbe9354fe149015094a261a77af68dc41c5c2a75af6100318e2","typeString":"literal_string \"holder should have sent all ETH\""},"value":"holder should have sent all ETH"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_60bdc383f63c9fbe9354fe149015094a261a77af68dc41c5c2a75af6100318e2","typeString":"literal_string \"holder should have sent all ETH\""}],"id":66367,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"19126:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":66372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19126:62:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66373,"nodeType":"ExpressionStatement","src":"19126:62:65"}]},"functionSelector":"610b4369","implemented":true,"kind":"function","modifiers":[],"name":"test_handleSequenceDelegateCall_max_call_value","nameLocation":"18269:46:65","parameters":{"id":66269,"nodeType":"ParameterList","parameters":[],"src":"18315:2:65"},"returnParameters":{"id":66270,"nodeType":"ParameterList","parameters":[],"src":"18325:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66514,"nodeType":"FunctionDefinition","src":"19201:1324:65","nodes":[],"body":{"id":66513,"nodeType":"Block","src":"19261:1264:65","nodes":[],"statements":[{"assignments":[66380],"declarations":[{"constant":false,"id":66380,"mutability":"mutable","name":"returningRouter","nameLocation":"19348:15:65","nodeType":"VariableDeclaration","scope":66513,"src":"19324:39:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"},"typeName":{"id":66379,"nodeType":"UserDefinedTypeName","pathNode":{"id":66378,"name":"MockRouterReturningData","nameLocations":["19324:23:65"],"nodeType":"IdentifierPath","referencedDeclaration":64915,"src":"19324:23:65"},"referencedDeclaration":64915,"src":"19324:23:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}},"visibility":"internal"}],"id":66385,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":66383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"19366:27:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockRouterReturningData_$64915_$","typeString":"function () returns (contract MockRouterReturningData)"},"typeName":{"id":66382,"nodeType":"UserDefinedTypeName","pathNode":{"id":66381,"name":"MockRouterReturningData","nameLocations":["19370:23:65"],"nodeType":"IdentifierPath","referencedDeclaration":64915,"src":"19370:23:65"},"referencedDeclaration":64915,"src":"19370:23:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}}},"id":66384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19366:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}},"nodeType":"VariableDeclarationStatement","src":"19324:71:65"},{"assignments":[66388],"declarations":[{"constant":false,"id":66388,"mutability":"mutable","name":"shimWithReturningRouter","nameLocation":"19422:23:65","nodeType":"VariableDeclaration","scope":66513,"src":"19405:40:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"},"typeName":{"id":66387,"nodeType":"UserDefinedTypeName","pathNode":{"id":66386,"name":"TrailsRouterShim","nameLocations":["19405:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"19405:16:65"},"referencedDeclaration":51106,"src":"19405:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"visibility":"internal"}],"id":66397,"initialValue":{"arguments":[{"arguments":[{"id":66394,"name":"returningRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66380,"src":"19477:15:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}],"id":66393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19469:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66392,"name":"address","nodeType":"ElementaryTypeName","src":"19469:7:65","typeDescriptions":{}}},"id":66395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19469:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"19448:20:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouterShim_$51106_$","typeString":"function (address) returns (contract TrailsRouterShim)"},"typeName":{"id":66390,"nodeType":"UserDefinedTypeName","pathNode":{"id":66389,"name":"TrailsRouterShim","nameLocations":["19452:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"19452:16:65"},"referencedDeclaration":51106,"src":"19452:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}},"id":66396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19448:46:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"nodeType":"VariableDeclarationStatement","src":"19405:89:65"},{"assignments":[66399],"declarations":[{"constant":false,"id":66399,"mutability":"mutable","name":"testHolder","nameLocation":"19521:10:65","nodeType":"VariableDeclaration","scope":66513,"src":"19505:26:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":66398,"name":"address","nodeType":"ElementaryTypeName","src":"19505:15:65","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":66407,"initialValue":{"arguments":[{"arguments":[{"hexValue":"307862656566","id":66404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19550:6:65","typeDescriptions":{"typeIdentifier":"t_rational_48879_by_1","typeString":"int_const 48879"},"value":"0xbeef"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48879_by_1","typeString":"int_const 48879"}],"id":66403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19542:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66402,"name":"address","nodeType":"ElementaryTypeName","src":"19542:7:65","typeDescriptions":{}}},"id":66405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19542:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19534:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66400,"name":"address","nodeType":"ElementaryTypeName","src":"19534:8:65","stateMutability":"payable","typeDescriptions":{}}},"id":66406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19534:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"19505:53:65"},{"expression":{"arguments":[{"id":66411,"name":"testHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66399,"src":"19576:10:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"arguments":[{"id":66414,"name":"shimWithReturningRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66388,"src":"19596:23:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}],"id":66413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19588:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66412,"name":"address","nodeType":"ElementaryTypeName","src":"19588:7:65","typeDescriptions":{}}},"id":66415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19588:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19621:4:65","memberName":"code","nodeType":"MemberAccess","src":"19588:37:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66408,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"19568:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":66410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19571:4:65","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"19568:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":66417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19568:58:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66418,"nodeType":"ExpressionStatement","src":"19568:58:65"},{"assignments":[66424],"declarations":[{"constant":false,"id":66424,"mutability":"mutable","name":"calls","nameLocation":"19669:5:65","nodeType":"VariableDeclaration","scope":66513,"src":"19637:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":66422,"nodeType":"UserDefinedTypeName","pathNode":{"id":66421,"name":"IMulticall3.Call3Value","nameLocations":["19637:11:65","19649:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"19637:22:65"},"referencedDeclaration":51162,"src":"19637:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66423,"nodeType":"ArrayTypeName","src":"19637:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":66431,"initialValue":{"arguments":[{"hexValue":"31","id":66429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19706:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":66428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19677:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":66426,"nodeType":"UserDefinedTypeName","pathNode":{"id":66425,"name":"IMulticall3.Call3Value","nameLocations":["19681:11:65","19693:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"19681:22:65"},"referencedDeclaration":51162,"src":"19681:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66427,"nodeType":"ArrayTypeName","src":"19681:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":66430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19677:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19637:71:65"},{"expression":{"id":66448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66432,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66424,"src":"19718:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":66434,"indexExpression":{"hexValue":"30","id":66433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19724:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19718:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66439,"name":"returningRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66380,"src":"19782:15:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}],"id":66438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19774:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66437,"name":"address","nodeType":"ElementaryTypeName","src":"19774:7:65","typeDescriptions":{}}},"id":66440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19774:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":66441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19826:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":66442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19852:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"72657475726e54657374446174612829","id":66445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19901:18:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad1cd6533a4542341c10a408c50f8a0f36397045fb6961ca617820dd0ac5816b","typeString":"literal_string \"returnTestData()\""},"value":"returnTestData()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ad1cd6533a4542341c10a408c50f8a0f36397045fb6961ca617820dd0ac5816b","typeString":"literal_string \"returnTestData()\""}],"expression":{"id":66443,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19877:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19881:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19877:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":66446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19877:43:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66435,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"19729:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19741:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"19729:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":66447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["19766:6:65","19812:12:65","19845:5:65","19867:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"19729:202:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"19718:213:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":66449,"nodeType":"ExpressionStatement","src":"19718:213:65"},{"assignments":[66451],"declarations":[{"constant":false,"id":66451,"mutability":"mutable","name":"routerCalldata","nameLocation":"19954:14:65","nodeType":"VariableDeclaration","scope":66513,"src":"19941:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66450,"name":"bytes","nodeType":"ElementaryTypeName","src":"19941:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66459,"initialValue":{"arguments":[{"expression":{"expression":{"id":66454,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"19994:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20006:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"19994:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":66456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20022:8:65","memberName":"selector","nodeType":"MemberAccess","src":"19994:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":66457,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66424,"src":"20032:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":66452,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19971:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19975:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"19971:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19971:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19941:97:65"},{"assignments":[66461],"declarations":[{"constant":false,"id":66461,"mutability":"mutable","name":"forwardData","nameLocation":"20061:11:65","nodeType":"VariableDeclaration","scope":66513,"src":"20048:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66460,"name":"bytes","nodeType":"ElementaryTypeName","src":"20048:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66470,"initialValue":{"arguments":[{"id":66464,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66451,"src":"20086:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":66467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20110:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20102:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66465,"name":"uint256","nodeType":"ElementaryTypeName","src":"20102:7:65","typeDescriptions":{}}},"id":66468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20102:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20075:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20079:6:65","memberName":"encode","nodeType":"MemberAccess","src":"20075:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20075:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"20048:65:65"},{"assignments":[66472],"declarations":[{"constant":false,"id":66472,"mutability":"mutable","name":"testOpHash","nameLocation":"20132:10:65","nodeType":"VariableDeclaration","scope":66513,"src":"20124:18:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20124:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66476,"initialValue":{"arguments":[{"hexValue":"746573742d72657475726e2d64617461","id":66474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20155:18:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d","typeString":"literal_string \"test-return-data\""},"value":"test-return-data"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d","typeString":"literal_string \"test-return-data\""}],"id":66473,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20145:9:65","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20145:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"20124:50:65"},{"expression":{"arguments":[{"id":66481,"name":"testOpHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66472,"src":"20247:10:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20259:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20262:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20265:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20268:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66486,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66461,"src":"20271:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":66478,"name":"testHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66399,"src":"20208:10:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66477,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"20184:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":66479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20184:35:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":66480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20220:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"20184:62:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":66487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20184:99:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66488,"nodeType":"ExpressionStatement","src":"20184:99:65"},{"assignments":[66490],"declarations":[{"constant":false,"id":66490,"mutability":"mutable","name":"slot","nameLocation":"20337:4:65","nodeType":"VariableDeclaration","scope":66513,"src":"20329:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66489,"name":"uint256","nodeType":"ElementaryTypeName","src":"20329:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66495,"initialValue":{"arguments":[{"id":66493,"name":"testOpHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66472,"src":"20374:10:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66491,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"20344:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":66492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20362:11:65","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"20344:29:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":66494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20344:41:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20329:56:65"},{"assignments":[66497],"declarations":[{"constant":false,"id":66497,"mutability":"mutable","name":"storedT","nameLocation":"20403:7:65","nodeType":"VariableDeclaration","scope":66513,"src":"20395:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66496,"name":"uint256","nodeType":"ElementaryTypeName","src":"20395:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66506,"initialValue":{"arguments":[{"id":66500,"name":"testHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66399,"src":"20432:10:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":66503,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66490,"src":"20452:4:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20444:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20444:7:65","typeDescriptions":{}}},"id":66504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20444:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66498,"name":"TstoreRead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69588,"src":"20413:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreRead_$69588_$","typeString":"type(library TstoreRead)"}},"id":66499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20424:7:65","memberName":"tloadAt","nodeType":"MemberAccess","referencedDeclaration":69587,"src":"20413:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,bytes32) returns (uint256)"}},"id":66505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20413:45:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20395:63:65"},{"expression":{"arguments":[{"id":66508,"name":"storedT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66497,"src":"20477:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66509,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"20486:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":66510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20504:13:65","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"20486:31:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66507,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"20468:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20468:50:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66512,"nodeType":"ExpressionStatement","src":"20468:50:65"}]},"functionSelector":"d2d18ff5","implemented":true,"kind":"function","modifiers":[],"name":"test_forwardToRouter_return_data_handling","nameLocation":"19210:41:65","parameters":{"id":66376,"nodeType":"ParameterList","parameters":[],"src":"19251:2:65"},"returnParameters":{"id":66377,"nodeType":"ParameterList","parameters":[],"src":"19261:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66654,"nodeType":"FunctionDefinition","src":"20531:1369:65","nodes":[],"body":{"id":66653,"nodeType":"Block","src":"20595:1305:65","nodes":[],"statements":[{"assignments":[66519],"declarations":[{"constant":false,"id":66519,"mutability":"mutable","name":"customErrorRouter","nameLocation":"20623:17:65","nodeType":"VariableDeclaration","scope":66653,"src":"20605:35:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"},"typeName":{"id":66518,"nodeType":"UserDefinedTypeName","pathNode":{"id":66517,"name":"CustomErrorRouter","nameLocations":["20605:17:65"],"nodeType":"IdentifierPath","referencedDeclaration":65010,"src":"20605:17:65"},"referencedDeclaration":65010,"src":"20605:17:65","typeDescriptions":{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"}},"visibility":"internal"}],"id":66524,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":66522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"20643:21:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CustomErrorRouter_$65010_$","typeString":"function () returns (contract CustomErrorRouter)"},"typeName":{"id":66521,"nodeType":"UserDefinedTypeName","pathNode":{"id":66520,"name":"CustomErrorRouter","nameLocations":["20647:17:65"],"nodeType":"IdentifierPath","referencedDeclaration":65010,"src":"20647:17:65"},"referencedDeclaration":65010,"src":"20647:17:65","typeDescriptions":{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"}}},"id":66523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20643:23:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"}},"nodeType":"VariableDeclarationStatement","src":"20605:61:65"},{"assignments":[66527],"declarations":[{"constant":false,"id":66527,"mutability":"mutable","name":"shimWithCustomError","nameLocation":"20693:19:65","nodeType":"VariableDeclaration","scope":66653,"src":"20676:36:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"},"typeName":{"id":66526,"nodeType":"UserDefinedTypeName","pathNode":{"id":66525,"name":"TrailsRouterShim","nameLocations":["20676:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"20676:16:65"},"referencedDeclaration":51106,"src":"20676:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"visibility":"internal"}],"id":66536,"initialValue":{"arguments":[{"arguments":[{"id":66533,"name":"customErrorRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66519,"src":"20744:17:65","typeDescriptions":{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"}],"id":66532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20736:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66531,"name":"address","nodeType":"ElementaryTypeName","src":"20736:7:65","typeDescriptions":{}}},"id":66534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20736:26:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"20715:20:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouterShim_$51106_$","typeString":"function (address) returns (contract TrailsRouterShim)"},"typeName":{"id":66529,"nodeType":"UserDefinedTypeName","pathNode":{"id":66528,"name":"TrailsRouterShim","nameLocations":["20719:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"20719:16:65"},"referencedDeclaration":51106,"src":"20719:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}},"id":66535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20715:48:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"nodeType":"VariableDeclarationStatement","src":"20676:87:65"},{"assignments":[66538],"declarations":[{"constant":false,"id":66538,"mutability":"mutable","name":"testHolder","nameLocation":"20790:10:65","nodeType":"VariableDeclaration","scope":66653,"src":"20774:26:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":66537,"name":"address","nodeType":"ElementaryTypeName","src":"20774:15:65","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":66546,"initialValue":{"arguments":[{"arguments":[{"hexValue":"307862656566","id":66543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20819:6:65","typeDescriptions":{"typeIdentifier":"t_rational_48879_by_1","typeString":"int_const 48879"},"value":"0xbeef"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48879_by_1","typeString":"int_const 48879"}],"id":66542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20811:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66541,"name":"address","nodeType":"ElementaryTypeName","src":"20811:7:65","typeDescriptions":{}}},"id":66544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20811:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20803:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66539,"name":"address","nodeType":"ElementaryTypeName","src":"20803:8:65","stateMutability":"payable","typeDescriptions":{}}},"id":66545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20803:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"20774:53:65"},{"expression":{"arguments":[{"id":66550,"name":"testHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66538,"src":"20845:10:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"expression":{"arguments":[{"id":66553,"name":"shimWithCustomError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66527,"src":"20865:19:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}],"id":66552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20857:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66551,"name":"address","nodeType":"ElementaryTypeName","src":"20857:7:65","typeDescriptions":{}}},"id":66554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20857:28:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20886:4:65","memberName":"code","nodeType":"MemberAccess","src":"20857:33:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66547,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"20837:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":66549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20840:4:65","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"20837:7:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":66556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20837:54:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66557,"nodeType":"ExpressionStatement","src":"20837:54:65"},{"assignments":[66563],"declarations":[{"constant":false,"id":66563,"mutability":"mutable","name":"calls","nameLocation":"20934:5:65","nodeType":"VariableDeclaration","scope":66653,"src":"20902:37:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":66561,"nodeType":"UserDefinedTypeName","pathNode":{"id":66560,"name":"IMulticall3.Call3Value","nameLocations":["20902:11:65","20914:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"20902:22:65"},"referencedDeclaration":51162,"src":"20902:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66562,"nodeType":"ArrayTypeName","src":"20902:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":66570,"initialValue":{"arguments":[{"hexValue":"31","id":66568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20971:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":66567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"20942:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":66565,"nodeType":"UserDefinedTypeName","pathNode":{"id":66564,"name":"IMulticall3.Call3Value","nameLocations":["20946:11:65","20958:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"20946:22:65"},"referencedDeclaration":51162,"src":"20946:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66566,"nodeType":"ArrayTypeName","src":"20946:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":66569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20942:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"20902:71:65"},{"expression":{"id":66587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66571,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66563,"src":"20983:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":66573,"indexExpression":{"hexValue":"30","id":66572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20989:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20983:8:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66578,"name":"customErrorRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66519,"src":"21047:17:65","typeDescriptions":{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CustomErrorRouter_$65010","typeString":"contract CustomErrorRouter"}],"id":66577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21039:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66576,"name":"address","nodeType":"ElementaryTypeName","src":"21039:7:65","typeDescriptions":{}}},"id":66579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21039:26:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":66580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21093:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":66581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21119:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"74726967676572437573746f6d4572726f722829","id":66584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21168:22:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ab70b9e07894746559d4ac2e30f6943d350ef3368dadb6cc5c8e24ffc8c8f2","typeString":"literal_string \"triggerCustomError()\""},"value":"triggerCustomError()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ab70b9e07894746559d4ac2e30f6943d350ef3368dadb6cc5c8e24ffc8c8f2","typeString":"literal_string \"triggerCustomError()\""}],"expression":{"id":66582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21144:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21148:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21144:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":66585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21144:47:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66574,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"20994:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21006:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"20994:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":66586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["21031:6:65","21079:12:65","21112:5:65","21134:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"20994:208:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"20983:219:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":66588,"nodeType":"ExpressionStatement","src":"20983:219:65"},{"assignments":[66590],"declarations":[{"constant":false,"id":66590,"mutability":"mutable","name":"routerCalldata","nameLocation":"21225:14:65","nodeType":"VariableDeclaration","scope":66653,"src":"21212:27:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66589,"name":"bytes","nodeType":"ElementaryTypeName","src":"21212:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66598,"initialValue":{"arguments":[{"expression":{"expression":{"id":66593,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"21265:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21277:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"21265:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":66595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21293:8:65","memberName":"selector","nodeType":"MemberAccess","src":"21265:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":66596,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66563,"src":"21303:5:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":66591,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21242:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21246:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"21242:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21242:67:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"21212:97:65"},{"assignments":[66600],"declarations":[{"constant":false,"id":66600,"mutability":"mutable","name":"forwardData","nameLocation":"21332:11:65","nodeType":"VariableDeclaration","scope":66653,"src":"21319:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66599,"name":"bytes","nodeType":"ElementaryTypeName","src":"21319:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66609,"initialValue":{"arguments":[{"id":66603,"name":"routerCalldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66590,"src":"21357:14:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":66606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21381:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21373:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66604,"name":"uint256","nodeType":"ElementaryTypeName","src":"21373:7:65","typeDescriptions":{}}},"id":66607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21373:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66601,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21346:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21350:6:65","memberName":"encode","nodeType":"MemberAccess","src":"21346:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21346:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"21319:65:65"},{"assignments":[66611,66613],"declarations":[{"constant":false,"id":66611,"mutability":"mutable","name":"ok","nameLocation":"21401:2:65","nodeType":"VariableDeclaration","scope":66653,"src":"21396:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66610,"name":"bool","nodeType":"ElementaryTypeName","src":"21396:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":66613,"mutability":"mutable","name":"ret","nameLocation":"21418:3:65","nodeType":"VariableDeclaration","scope":66653,"src":"21405:16:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66612,"name":"bytes","nodeType":"ElementaryTypeName","src":"21405:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66635,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":66621,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"21524:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":66622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21548:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"21524:50:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function IMockDelegatedExtension.handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes calldata) payable"}},"id":66623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21575:8:65","memberName":"selector","nodeType":"MemberAccess","src":"21524:59:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"hexValue":"30","id":66626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21593:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21585:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21585:7:65","typeDescriptions":{}}},"id":66627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21585:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21597:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21600:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21603:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21606:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66632,"name":"forwardData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66600,"src":"21609:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66619,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21480:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21484:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"21480:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21480:158:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":66616,"name":"testHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66538,"src":"21433:10:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21425:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66614,"name":"address","nodeType":"ElementaryTypeName","src":"21425:7:65","typeDescriptions":{}}},"id":66617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21425:19:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21458:4:65","memberName":"call","nodeType":"MemberAccess","src":"21425:37:65","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":66634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21425:227:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"21395:257:65"},{"expression":{"arguments":[{"id":66637,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66611,"src":"21675:2:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"63616c6c2073686f756c6420726576657274","id":66638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21679:20:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_0046829c57d60938cb7ecb647ede66c07c53e7cf771adec47752b35211ba16d6","typeString":"literal_string \"call should revert\""},"value":"call should revert"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0046829c57d60938cb7ecb647ede66c07c53e7cf771adec47752b35211ba16d6","typeString":"literal_string \"call should revert\""}],"id":66636,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[602,620],"referencedDeclaration":620,"src":"21663:11:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":66639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21663:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66640,"nodeType":"ExpressionStatement","src":"21663:37:65"},{"assignments":[66642],"declarations":[{"constant":false,"id":66642,"mutability":"mutable","name":"sel","nameLocation":"21717:3:65","nodeType":"VariableDeclaration","scope":66653,"src":"21710:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66641,"name":"bytes4","nodeType":"ElementaryTypeName","src":"21710:6:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":66643,"nodeType":"VariableDeclarationStatement","src":"21710:10:65"},{"AST":{"nativeSrc":"21739:50:65","nodeType":"YulBlock","src":"21739:50:65","statements":[{"nativeSrc":"21753:26:65","nodeType":"YulAssignment","src":"21753:26:65","value":{"arguments":[{"arguments":[{"name":"ret","nativeSrc":"21770:3:65","nodeType":"YulIdentifier","src":"21770:3:65"},{"kind":"number","nativeSrc":"21775:2:65","nodeType":"YulLiteral","src":"21775:2:65","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"21766:3:65","nodeType":"YulIdentifier","src":"21766:3:65"},"nativeSrc":"21766:12:65","nodeType":"YulFunctionCall","src":"21766:12:65"}],"functionName":{"name":"mload","nativeSrc":"21760:5:65","nodeType":"YulIdentifier","src":"21760:5:65"},"nativeSrc":"21760:19:65","nodeType":"YulFunctionCall","src":"21760:19:65"},"variableNames":[{"name":"sel","nativeSrc":"21753:3:65","nodeType":"YulIdentifier","src":"21753:3:65"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":66613,"isOffset":false,"isSlot":false,"src":"21770:3:65","valueSize":1},{"declaration":66642,"isOffset":false,"isSlot":false,"src":"21753:3:65","valueSize":1}],"id":66644,"nodeType":"InlineAssembly","src":"21730:59:65"},{"expression":{"arguments":[{"id":66646,"name":"sel","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66642,"src":"21807:3:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"expression":{"expression":{"id":66647,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"21812:16:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}},"id":66648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21829:16:65","memberName":"RouterCallFailed","nodeType":"MemberAccess","referencedDeclaration":50996,"src":"21812:33:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (bytes memory) pure returns (error)"}},"id":66649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21846:8:65","memberName":"selector","nodeType":"MemberAccess","src":"21812:42:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"657870656374656420526f7574657243616c6c4661696c65642073656c6563746f72","id":66650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21856:36:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_8099bdd8d8f9abac16b7f231fc6c3a00b982295be9f2b4407833728077bb086b","typeString":"literal_string \"expected RouterCallFailed selector\""},"value":"expected RouterCallFailed selector"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_8099bdd8d8f9abac16b7f231fc6c3a00b982295be9f2b4407833728077bb086b","typeString":"literal_string \"expected RouterCallFailed selector\""}],"id":66645,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":913,"src":"21798:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":66651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21798:95:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66652,"nodeType":"ExpressionStatement","src":"21798:95:65"}]},"functionSelector":"06b13369","implemented":true,"kind":"function","modifiers":[],"name":"test_forwardToRouter_revert_with_custom_error","nameLocation":"20540:45:65","parameters":{"id":66515,"nodeType":"ParameterList","parameters":[],"src":"20585:2:65"},"returnParameters":{"id":66516,"nodeType":"ParameterList","parameters":[],"src":"20595:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66859,"nodeType":"FunctionDefinition","src":"21906:1828:65","nodes":[],"body":{"id":66858,"nodeType":"Block","src":"21971:1763:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":66660,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"22002:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":66657,"name":"TstoreMode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69517,"src":"21981:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreMode_$69517_$","typeString":"type(library TstoreMode)"}},"id":66659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21992:9:65","memberName":"setActive","nodeType":"MemberAccess","referencedDeclaration":69495,"src":"21981:20:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":66661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21981:28:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66662,"nodeType":"ExpressionStatement","src":"21981:28:65"},{"assignments":[66664],"declarations":[{"constant":false,"id":66664,"mutability":"mutable","name":"opHash1","nameLocation":"22028:7:65","nodeType":"VariableDeclaration","scope":66858,"src":"22020:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22020:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66668,"initialValue":{"arguments":[{"hexValue":"6f7031","id":66666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22048:5:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c","typeString":"literal_string \"op1\""},"value":"op1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c","typeString":"literal_string \"op1\""}],"id":66665,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"22038:9:65","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22038:16:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"22020:34:65"},{"assignments":[66670],"declarations":[{"constant":false,"id":66670,"mutability":"mutable","name":"opHash2","nameLocation":"22072:7:65","nodeType":"VariableDeclaration","scope":66858,"src":"22064:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22064:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66674,"initialValue":{"arguments":[{"hexValue":"6f7032","id":66672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22092:5:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd103","typeString":"literal_string \"op2\""},"value":"op2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd103","typeString":"literal_string \"op2\""}],"id":66671,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"22082:9:65","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22082:16:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"22064:34:65"},{"assignments":[66680],"declarations":[{"constant":false,"id":66680,"mutability":"mutable","name":"calls1","nameLocation":"22163:6:65","nodeType":"VariableDeclaration","scope":66858,"src":"22131:38:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":66678,"nodeType":"UserDefinedTypeName","pathNode":{"id":66677,"name":"IMulticall3.Call3Value","nameLocations":["22131:11:65","22143:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"22131:22:65"},"referencedDeclaration":51162,"src":"22131:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66679,"nodeType":"ArrayTypeName","src":"22131:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":66687,"initialValue":{"arguments":[{"hexValue":"31","id":66685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22201:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":66684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"22172:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":66682,"nodeType":"UserDefinedTypeName","pathNode":{"id":66681,"name":"IMulticall3.Call3Value","nameLocations":["22176:11:65","22188:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"22176:22:65"},"referencedDeclaration":51162,"src":"22176:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66683,"nodeType":"ArrayTypeName","src":"22176:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":66686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22172:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22131:72:65"},{"expression":{"id":66704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66688,"name":"calls1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66680,"src":"22213:6:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":66690,"indexExpression":{"hexValue":"30","id":66689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22220:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22213:9:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66695,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"22278:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":66694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22270:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66693,"name":"address","nodeType":"ElementaryTypeName","src":"22270:7:65","typeDescriptions":{}}},"id":66696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22270:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":66697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22301:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":66698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22315:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"63616c6c312829","id":66701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22352:9:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_e236188c345512b14cfd026e14bb47d4750cf0b417673a446009d096836b9777","typeString":"literal_string \"call1()\""},"value":"call1()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e236188c345512b14cfd026e14bb47d4750cf0b417673a446009d096836b9777","typeString":"literal_string \"call1()\""}],"expression":{"id":66699,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22328:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22332:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22328:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":66702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22328:34:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66691,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"22225:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22237:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"22225:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":66703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["22262:6:65","22287:12:65","22308:5:65","22318:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"22225:148:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"22213:160:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":66705,"nodeType":"ExpressionStatement","src":"22213:160:65"},{"assignments":[66707],"declarations":[{"constant":false,"id":66707,"mutability":"mutable","name":"routerCalldata1","nameLocation":"22396:15:65","nodeType":"VariableDeclaration","scope":66858,"src":"22383:28:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66706,"name":"bytes","nodeType":"ElementaryTypeName","src":"22383:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66715,"initialValue":{"arguments":[{"expression":{"expression":{"id":66710,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"22437:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22449:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"22437:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":66712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22465:8:65","memberName":"selector","nodeType":"MemberAccess","src":"22437:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":66713,"name":"calls1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66680,"src":"22475:6:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":66708,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22414:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22418:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22414:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22414:68:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22383:99:65"},{"assignments":[66717],"declarations":[{"constant":false,"id":66717,"mutability":"mutable","name":"forwardData1","nameLocation":"22505:12:65","nodeType":"VariableDeclaration","scope":66858,"src":"22492:25:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66716,"name":"bytes","nodeType":"ElementaryTypeName","src":"22492:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66726,"initialValue":{"arguments":[{"id":66720,"name":"routerCalldata1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66707,"src":"22531:15:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":66723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22556:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22548:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66721,"name":"uint256","nodeType":"ElementaryTypeName","src":"22548:7:65","typeDescriptions":{}}},"id":66724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22548:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22520:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22524:6:65","memberName":"encode","nodeType":"MemberAccess","src":"22520:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22520:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22492:67:65"},{"expression":{"arguments":[{"id":66731,"name":"opHash1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66664,"src":"22628:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22637:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22640:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22643:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22646:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66736,"name":"forwardData1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66717,"src":"22649:12:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":66728,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"22593:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66727,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"22569:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":66729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22569:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":66730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22601:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"22569:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":66737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22569:93:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66738,"nodeType":"ExpressionStatement","src":"22569:93:65"},{"assignments":[66744],"declarations":[{"constant":false,"id":66744,"mutability":"mutable","name":"calls2","nameLocation":"22728:6:65","nodeType":"VariableDeclaration","scope":66858,"src":"22696:38:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":66742,"nodeType":"UserDefinedTypeName","pathNode":{"id":66741,"name":"IMulticall3.Call3Value","nameLocations":["22696:11:65","22708:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"22696:22:65"},"referencedDeclaration":51162,"src":"22696:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66743,"nodeType":"ArrayTypeName","src":"22696:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"id":66751,"initialValue":{"arguments":[{"hexValue":"31","id":66749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22766:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":66748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"22737:28:65","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":66746,"nodeType":"UserDefinedTypeName","pathNode":{"id":66745,"name":"IMulticall3.Call3Value","nameLocations":["22741:11:65","22753:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"22741:22:65"},"referencedDeclaration":51162,"src":"22741:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":66747,"nodeType":"ArrayTypeName","src":"22741:24:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}}},"id":66750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22737:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"22696:72:65"},{"expression":{"id":66768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66752,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66744,"src":"22778:6:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}},"id":66754,"indexExpression":{"hexValue":"30","id":66753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22785:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22778:9:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":66759,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"22843:6:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":66758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22835:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66757,"name":"address","nodeType":"ElementaryTypeName","src":"22835:7:65","typeDescriptions":{}}},"id":66760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22835:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":66761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22866:5:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":66762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22880:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"63616c6c322829","id":66765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22917:9:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_15998874c72e75557b1f0800b8dc2606e5a4fad20692acf8435b1abad5972d45","typeString":"literal_string \"call2()\""},"value":"call2()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15998874c72e75557b1f0800b8dc2606e5a4fad20692acf8435b1abad5972d45","typeString":"literal_string \"call2()\""}],"expression":{"id":66763,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22893:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22897:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22893:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":66766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22893:34:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66755,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"22790:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22802:10:65","memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":51162,"src":"22790:22:65","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$51162_storage_ptr_$","typeString":"type(struct IMulticall3.Call3Value storage pointer)"}},"id":66767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["22827:6:65","22852:12:65","22873:5:65","22883:8:65"],"names":["target","allowFailure","value","callData"],"nodeType":"FunctionCall","src":"22790:148:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"src":"22778:160:65","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_memory_ptr","typeString":"struct IMulticall3.Call3Value memory"}},"id":66769,"nodeType":"ExpressionStatement","src":"22778:160:65"},{"assignments":[66771],"declarations":[{"constant":false,"id":66771,"mutability":"mutable","name":"routerCalldata2","nameLocation":"22961:15:65","nodeType":"VariableDeclaration","scope":66858,"src":"22948:28:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66770,"name":"bytes","nodeType":"ElementaryTypeName","src":"22948:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66779,"initialValue":{"arguments":[{"expression":{"expression":{"id":66774,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"23002:11:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":66775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23014:15:65","memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":51189,"src":"23002:27:65","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function IMulticall3.aggregate3Value(struct IMulticall3.Call3Value calldata[] calldata) payable returns (struct IMulticall3.Result memory[] memory)"}},"id":66776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23030:8:65","memberName":"selector","nodeType":"MemberAccess","src":"23002:36:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":66777,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66744,"src":"23040:6:65","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call3Value memory[] memory"}],"expression":{"id":66772,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22979:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22983:18:65","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22979:22:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22979:68:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22948:99:65"},{"assignments":[66781],"declarations":[{"constant":false,"id":66781,"mutability":"mutable","name":"forwardData2","nameLocation":"23070:12:65","nodeType":"VariableDeclaration","scope":66858,"src":"23057:25:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66780,"name":"bytes","nodeType":"ElementaryTypeName","src":"23057:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66790,"initialValue":{"arguments":[{"id":66784,"name":"routerCalldata2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66771,"src":"23096:15:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":66787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23121:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23113:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66785,"name":"uint256","nodeType":"ElementaryTypeName","src":"23113:7:65","typeDescriptions":{}}},"id":66788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23113:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23085:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23089:6:65","memberName":"encode","nodeType":"MemberAccess","src":"23085:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23085:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"23057:67:65"},{"expression":{"arguments":[{"id":66795,"name":"opHash2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66670,"src":"23193:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23202:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23205:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23208:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23211:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66800,"name":"forwardData2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66781,"src":"23214:12:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":66792,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"23158:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66791,"name":"IMockDelegatedExtension","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"23134:23:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMockDelegatedExtension_$64630_$","typeString":"type(contract IMockDelegatedExtension)"}},"id":66793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23134:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMockDelegatedExtension_$64630","typeString":"contract IMockDelegatedExtension"}},"id":66794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23166:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":64629,"src":"23134:58:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) payable external"}},"id":66801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23134:93:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66802,"nodeType":"ExpressionStatement","src":"23134:93:65"},{"assignments":[66804],"declarations":[{"constant":false,"id":66804,"mutability":"mutable","name":"slot1","nameLocation":"23286:5:65","nodeType":"VariableDeclaration","scope":66858,"src":"23278:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66803,"name":"uint256","nodeType":"ElementaryTypeName","src":"23278:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66809,"initialValue":{"arguments":[{"id":66807,"name":"opHash1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66664,"src":"23324:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66805,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"23294:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":66806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23312:11:65","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"23294:29:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":66808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23294:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23278:54:65"},{"assignments":[66811],"declarations":[{"constant":false,"id":66811,"mutability":"mutable","name":"slot2","nameLocation":"23350:5:65","nodeType":"VariableDeclaration","scope":66858,"src":"23342:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66810,"name":"uint256","nodeType":"ElementaryTypeName","src":"23342:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66816,"initialValue":{"arguments":[{"id":66814,"name":"opHash2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66670,"src":"23388:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66812,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"23358:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":66813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23376:11:65","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"23358:29:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":66815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23358:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23342:54:65"},{"assignments":[66818],"declarations":[{"constant":false,"id":66818,"mutability":"mutable","name":"storedT1","nameLocation":"23415:8:65","nodeType":"VariableDeclaration","scope":66858,"src":"23407:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66817,"name":"uint256","nodeType":"ElementaryTypeName","src":"23407:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66827,"initialValue":{"arguments":[{"id":66821,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"23445:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":66824,"name":"slot1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66804,"src":"23461:5:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23453:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23453:7:65","typeDescriptions":{}}},"id":66825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23453:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66819,"name":"TstoreRead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69588,"src":"23426:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreRead_$69588_$","typeString":"type(library TstoreRead)"}},"id":66820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23437:7:65","memberName":"tloadAt","nodeType":"MemberAccess","referencedDeclaration":69587,"src":"23426:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,bytes32) returns (uint256)"}},"id":66826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23426:42:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23407:61:65"},{"assignments":[66829],"declarations":[{"constant":false,"id":66829,"mutability":"mutable","name":"storedT2","nameLocation":"23486:8:65","nodeType":"VariableDeclaration","scope":66858,"src":"23478:16:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66828,"name":"uint256","nodeType":"ElementaryTypeName","src":"23478:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66838,"initialValue":{"arguments":[{"id":66832,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"23516:6:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":66835,"name":"slot2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66811,"src":"23532:5:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23524:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23524:7:65","typeDescriptions":{}}},"id":66836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23524:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66830,"name":"TstoreRead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69588,"src":"23497:10:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreRead_$69588_$","typeString":"type(library TstoreRead)"}},"id":66831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23508:7:65","memberName":"tloadAt","nodeType":"MemberAccess","referencedDeclaration":69587,"src":"23497:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,bytes32) returns (uint256)"}},"id":66837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23497:42:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23478:61:65"},{"expression":{"arguments":[{"id":66840,"name":"storedT1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66818,"src":"23559:8:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66841,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"23569:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":66842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23587:13:65","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"23569:31:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66839,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"23550:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23550:51:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66844,"nodeType":"ExpressionStatement","src":"23550:51:65"},{"expression":{"arguments":[{"id":66846,"name":"storedT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66829,"src":"23620:8:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66847,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"23630:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":66848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23648:13:65","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"23630:31:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66845,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"23611:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23611:51:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66850,"nodeType":"ExpressionStatement","src":"23611:51:65"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66852,"name":"slot1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66804,"src":"23683:5:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":66853,"name":"slot2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66811,"src":"23692:5:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23683:14:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"736c6f74732073686f756c6420626520646966666572656e74","id":66855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23699:27:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_fce029e380f68c5a2a13ce89b1f71885cf32efd8a093bb869d470dd65f646aca","typeString":"literal_string \"slots should be different\""},"value":"slots should be different"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fce029e380f68c5a2a13ce89b1f71885cf32efd8a093bb869d470dd65f646aca","typeString":"literal_string \"slots should be different\""}],"id":66851,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"23672:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":66856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23672:55:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66857,"nodeType":"ExpressionStatement","src":"23672:55:65"}]},"functionSelector":"4c57e12e","implemented":true,"kind":"function","modifiers":[],"name":"test_sentinel_setting_with_different_op_hashes","nameLocation":"21915:46:65","parameters":{"id":66655,"nodeType":"ParameterList","parameters":[],"src":"21961:2:65"},"returnParameters":{"id":66656,"nodeType":"ParameterList","parameters":[],"src":"21971:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66890,"nodeType":"FunctionDefinition","src":"23740:254:65","nodes":[],"body":{"id":66889,"nodeType":"Block","src":"23785:209:65","nodes":[],"statements":[{"assignments":[66863],"declarations":[{"constant":false,"id":66863,"mutability":"mutable","name":"testRouter","nameLocation":"23803:10:65","nodeType":"VariableDeclaration","scope":66889,"src":"23795:18:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66862,"name":"address","nodeType":"ElementaryTypeName","src":"23795:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66871,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":66868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"23824:14:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockRouter_$64667_$","typeString":"function () returns (contract MockRouter)"},"typeName":{"id":66867,"nodeType":"UserDefinedTypeName","pathNode":{"id":66866,"name":"MockRouter","nameLocations":["23828:10:65"],"nodeType":"IdentifierPath","referencedDeclaration":64667,"src":"23828:10:65"},"referencedDeclaration":64667,"src":"23828:10:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}},"id":66869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23824:16:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouter_$64667","typeString":"contract MockRouter"}],"id":66865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23816:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66864,"name":"address","nodeType":"ElementaryTypeName","src":"23816:7:65","typeDescriptions":{}}},"id":66870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23816:25:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"23795:46:65"},{"assignments":[66874],"declarations":[{"constant":false,"id":66874,"mutability":"mutable","name":"shim","nameLocation":"23868:4:65","nodeType":"VariableDeclaration","scope":66889,"src":"23851:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"},"typeName":{"id":66873,"nodeType":"UserDefinedTypeName","pathNode":{"id":66872,"name":"TrailsRouterShim","nameLocations":["23851:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"23851:16:65"},"referencedDeclaration":51106,"src":"23851:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"visibility":"internal"}],"id":66880,"initialValue":{"arguments":[{"id":66878,"name":"testRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"23896:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"23875:20:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouterShim_$51106_$","typeString":"function (address) returns (contract TrailsRouterShim)"},"typeName":{"id":66876,"nodeType":"UserDefinedTypeName","pathNode":{"id":66875,"name":"TrailsRouterShim","nameLocations":["23879:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"23879:16:65"},"referencedDeclaration":51106,"src":"23879:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}},"id":66879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23875:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"nodeType":"VariableDeclarationStatement","src":"23851:56:65"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66882,"name":"shim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66874,"src":"23927:4:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"id":66883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23932:6:65","memberName":"ROUTER","nodeType":"MemberAccess","referencedDeclaration":50992,"src":"23927:11:65","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":66884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23927:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66885,"name":"testRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"23942:10:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"524f555445522073686f756c642062652073657420636f72726563746c79","id":66886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23954:32:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_668ec2597e483c6d46902f17e36ef5f61c0119a4a918e3a8e010a7256dd6e9db","typeString":"literal_string \"ROUTER should be set correctly\""},"value":"ROUTER should be set correctly"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_668ec2597e483c6d46902f17e36ef5f61c0119a4a918e3a8e010a7256dd6e9db","typeString":"literal_string \"ROUTER should be set correctly\""}],"id":66881,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":870,"src":"23918:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure"}},"id":66887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23918:69:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66888,"nodeType":"ExpressionStatement","src":"23918:69:65"}]},"functionSelector":"6450514c","implemented":true,"kind":"function","modifiers":[],"name":"testRouterAddressImmutable","nameLocation":"23749:26:65","parameters":{"id":66860,"nodeType":"ParameterList","parameters":[],"src":"23775:2:65"},"returnParameters":{"id":66861,"nodeType":"ParameterList","parameters":[],"src":"23785:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66911,"nodeType":"FunctionDefinition","src":"24000:230:65","nodes":[],"body":{"id":66910,"nodeType":"Block","src":"24044:186:65","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"expression":{"id":66896,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"24137:16:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}},"id":66897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24154:17:65","memberName":"ZeroRouterAddress","nodeType":"MemberAccess","referencedDeclaration":50998,"src":"24137:34:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":66898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24172:8:65","memberName":"selector","nodeType":"MemberAccess","src":"24137:43:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66893,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"24121:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":66895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24124:12:65","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"24121:15:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":66899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24121:60:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66900,"nodeType":"ExpressionStatement","src":"24121:60:65"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":66906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24220:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24212:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66904,"name":"address","nodeType":"ElementaryTypeName","src":"24212:7:65","typeDescriptions":{}}},"id":66907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24212:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"24191:20:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouterShim_$51106_$","typeString":"function (address) returns (contract TrailsRouterShim)"},"typeName":{"id":66902,"nodeType":"UserDefinedTypeName","pathNode":{"id":66901,"name":"TrailsRouterShim","nameLocations":["24195:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"24195:16:65"},"referencedDeclaration":51106,"src":"24195:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}},"id":66908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24191:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"id":66909,"nodeType":"ExpressionStatement","src":"24191:32:65"}]},"functionSelector":"96bfd8de","implemented":true,"kind":"function","modifiers":[],"name":"testConstructorValidation","nameLocation":"24009:25:65","parameters":{"id":66891,"nodeType":"ParameterList","parameters":[],"src":"24034:2:65"},"returnParameters":{"id":66892,"nodeType":"ParameterList","parameters":[],"src":"24044:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66978,"nodeType":"FunctionDefinition","src":"24236:754:65","nodes":[],"body":{"id":66977,"nodeType":"Block","src":"24285:705:65","nodes":[],"statements":[{"assignments":[66915],"declarations":[{"constant":false,"id":66915,"mutability":"mutable","name":"testData","nameLocation":"24379:8:65","nodeType":"VariableDeclaration","scope":66977,"src":"24366:21:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66914,"name":"bytes","nodeType":"ElementaryTypeName","src":"24366:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66920,"initialValue":{"arguments":[{"hexValue":"7465737452657475726e2829","id":66918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24414:14:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_e13a77163b9dd0a796e7a662cb2c9081e6ec1f7dfbb6451dc762d4185cc8f58e","typeString":"literal_string \"testReturn()\""},"value":"testReturn()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e13a77163b9dd0a796e7a662cb2c9081e6ec1f7dfbb6451dc762d4185cc8f58e","typeString":"literal_string \"testReturn()\""}],"expression":{"id":66916,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24390:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24394:19:65","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24390:23:65","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":66919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24390:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"24366:63:65"},{"assignments":[66923],"declarations":[{"constant":false,"id":66923,"mutability":"mutable","name":"returningRouter","nameLocation":"24505:15:65","nodeType":"VariableDeclaration","scope":66977,"src":"24481:39:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"},"typeName":{"id":66922,"nodeType":"UserDefinedTypeName","pathNode":{"id":66921,"name":"MockRouterReturningData","nameLocations":["24481:23:65"],"nodeType":"IdentifierPath","referencedDeclaration":64915,"src":"24481:23:65"},"referencedDeclaration":64915,"src":"24481:23:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}},"visibility":"internal"}],"id":66928,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":66926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"24523:27:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockRouterReturningData_$64915_$","typeString":"function () returns (contract MockRouterReturningData)"},"typeName":{"id":66925,"nodeType":"UserDefinedTypeName","pathNode":{"id":66924,"name":"MockRouterReturningData","nameLocations":["24527:23:65"],"nodeType":"IdentifierPath","referencedDeclaration":64915,"src":"24527:23:65"},"referencedDeclaration":64915,"src":"24527:23:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}}},"id":66927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24523:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}},"nodeType":"VariableDeclarationStatement","src":"24481:71:65"},{"assignments":[66931],"declarations":[{"constant":false,"id":66931,"mutability":"mutable","name":"shim","nameLocation":"24579:4:65","nodeType":"VariableDeclaration","scope":66977,"src":"24562:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"},"typeName":{"id":66930,"nodeType":"UserDefinedTypeName","pathNode":{"id":66929,"name":"TrailsRouterShim","nameLocations":["24562:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"24562:16:65"},"referencedDeclaration":51106,"src":"24562:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"visibility":"internal"}],"id":66940,"initialValue":{"arguments":[{"arguments":[{"id":66937,"name":"returningRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66923,"src":"24615:15:65","typeDescriptions":{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockRouterReturningData_$64915","typeString":"contract MockRouterReturningData"}],"id":66936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24607:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66935,"name":"address","nodeType":"ElementaryTypeName","src":"24607:7:65","typeDescriptions":{}}},"id":66938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24607:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"24586:20:65","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_TrailsRouterShim_$51106_$","typeString":"function (address) returns (contract TrailsRouterShim)"},"typeName":{"id":66933,"nodeType":"UserDefinedTypeName","pathNode":{"id":66932,"name":"TrailsRouterShim","nameLocations":["24590:16:65"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"24590:16:65"},"referencedDeclaration":51106,"src":"24590:16:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}}},"id":66939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24586:46:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"nodeType":"VariableDeclarationStatement","src":"24562:70:65"},{"assignments":[66942],"declarations":[{"constant":false,"id":66942,"mutability":"mutable","name":"innerData","nameLocation":"24740:9:65","nodeType":"VariableDeclaration","scope":66977,"src":"24727:22:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66941,"name":"bytes","nodeType":"ElementaryTypeName","src":"24727:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66951,"initialValue":{"arguments":[{"id":66945,"name":"testData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66915,"src":"24763:8:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":66948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24781:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24773:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66946,"name":"uint256","nodeType":"ElementaryTypeName","src":"24773:7:65","typeDescriptions":{}}},"id":66949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24773:10:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24752:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24756:6:65","memberName":"encode","nodeType":"MemberAccess","src":"24752:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24752:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"24727:57:65"},{"assignments":[66953],"declarations":[{"constant":false,"id":66953,"mutability":"mutable","name":"opHash","nameLocation":"24802:6:65","nodeType":"VariableDeclaration","scope":66977,"src":"24794:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24794:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66957,"initialValue":{"arguments":[{"hexValue":"746573742d72657475726e2d76616c7565","id":66955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24821:19:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_76a5b9f52c8775bdd3d429e8900b377fb7fbc9190926d09c38b15b4c5fcb9cf8","typeString":"literal_string \"test-return-value\""},"value":"test-return-value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_76a5b9f52c8775bdd3d429e8900b377fb7fbc9190926d09c38b15b4c5fcb9cf8","typeString":"literal_string \"test-return-value\""}],"id":66954,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24811:9:65","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24811:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"24794:47:65"},{"expression":{"arguments":[{"expression":{"expression":{"id":66961,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"24868:17:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DelegatecallGuard_$51143_$","typeString":"type(contract DelegatecallGuard)"}},"id":66962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24886:15:65","memberName":"NotDelegateCall","nodeType":"MemberAccess","referencedDeclaration":51112,"src":"24868:33:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":66963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24902:8:65","memberName":"selector","nodeType":"MemberAccess","src":"24868:42:65","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66958,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"24852:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":66960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24855:12:65","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"24852:15:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":66964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24852:59:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66965,"nodeType":"ExpressionStatement","src":"24852:59:65"},{"expression":{"arguments":[{"id":66969,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66953,"src":"24953:6:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":66970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24961:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24964:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24967:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":66973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24970:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":66974,"name":"innerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66942,"src":"24973:9:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66966,"name":"shim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66931,"src":"24921:4:65","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"id":66968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24926:26:65","memberName":"handleSequenceDelegateCall","nodeType":"MemberAccess","referencedDeclaration":51073,"src":"24921:31:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,uint256,bytes memory) external"}},"id":66975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24921:62:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66976,"nodeType":"ExpressionStatement","src":"24921:62:65"}]},"functionSelector":"3403533a","implemented":true,"kind":"function","modifiers":[],"name":"testForwardToRouterReturnValue","nameLocation":"24245:30:65","parameters":{"id":66912,"nodeType":"ParameterList","parameters":[],"src":"24275:2:65"},"returnParameters":{"id":66913,"nodeType":"ParameterList","parameters":[],"src":"24285:0:65"},"scope":66979,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":65011,"name":"Test","nameLocations":["5359:4:65"],"nodeType":"IdentifierPath","referencedDeclaration":13474,"src":"5359:4:65"},"id":65012,"nodeType":"InheritanceSpecifier","src":"5359:4:65"}],"canonicalName":"TrailsRouterShimTest","contractDependencies":[50972,51106,64667,64800,64915,65010,69465],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[66979,13474,13420,7443,7042,6247,4157,3194,285,282],"name":"TrailsRouterShimTest","nameLocation":"5335:20:65","scope":66980,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477,64676]}],"license":"MIT"}},"test/guards/DelegatecallGuard.t.sol":{"id":66,"ast":{"absolutePath":"test/guards/DelegatecallGuard.t.sol","id":67463,"exportedSymbols":{"DelegatecallGuard":[51143],"DelegatecallGuardTest":[67462],"MockGuarded":[67010],"MockGuardedModifierTest":[67071],"MockHost":[67052],"MockNestedGuarded":[67104],"MockNestedHost":[67126],"Test":[13474]},"nodeType":"SourceUnit","src":"32:6546:66","nodes":[{"id":66981,"nodeType":"PragmaDirective","src":"32:24:66","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":66983,"nodeType":"ImportDirective","src":"58:40:66","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":67463,"sourceUnit":13475,"symbolAliases":[{"foreign":{"id":66982,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"66:4:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66985,"nodeType":"ImportDirective","src":"99:67:66","nodes":[],"absolutePath":"src/guards/DelegatecallGuard.sol","file":"src/guards/DelegatecallGuard.sol","nameLocation":"-1:-1:-1","scope":67463,"sourceUnit":51144,"symbolAliases":[{"foreign":{"id":66984,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"107:17:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":67010,"nodeType":"ContractDefinition","src":"399:287:66","nodes":[{"id":66992,"nodeType":"EventDefinition","src":"447:27:66","nodes":[],"anonymous":false,"eventSelector":"fee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e5","name":"Ping","nameLocation":"453:4:66","parameters":{"id":66991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66990,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"466:6:66","nodeType":"VariableDeclaration","scope":66992,"src":"458:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66989,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"457:16:66"}},{"id":67003,"nodeType":"FunctionDefinition","src":"480:80:66","nodes":[],"body":{"id":67002,"nodeType":"Block","src":"522:38:66","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":66998,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"542:3:66","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":66999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"546:6:66","memberName":"sender","nodeType":"MemberAccess","src":"542:10:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66997,"name":"Ping","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66992,"src":"537:4:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"537:16:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67001,"nodeType":"EmitStatement","src":"532:21:66"}]},"functionSelector":"5c36b186","implemented":true,"kind":"function","modifiers":[{"id":66995,"kind":"modifierInvocation","modifierName":{"id":66994,"name":"onlyDelegatecall","nameLocations":["505:16:66"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"505:16:66"},"nodeType":"ModifierInvocation","src":"505:16:66"}],"name":"ping","nameLocation":"489:4:66","parameters":{"id":66993,"nodeType":"ParameterList","parameters":[],"src":"493:2:66"},"returnParameters":{"id":66996,"nodeType":"ParameterList","parameters":[],"src":"522:0:66"},"scope":67010,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67009,"nodeType":"FunctionDefinition","src":"566:118:66","nodes":[],"body":{"id":67008,"nodeType":"Block","src":"619:65:66","nodes":[],"statements":[]},"functionSelector":"d35ec420","implemented":true,"kind":"function","modifiers":[{"id":67006,"kind":"modifierInvocation","modifierName":{"id":67005,"name":"onlyDelegatecall","nameLocations":["602:16:66"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"602:16:66"},"nodeType":"ModifierInvocation","src":"602:16:66"}],"name":"guardedFunction","nameLocation":"575:15:66","parameters":{"id":67004,"nodeType":"ParameterList","parameters":[],"src":"590:2:66"},"returnParameters":{"id":67007,"nodeType":"ParameterList","parameters":[],"src":"619:0:66"},"scope":67010,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":66987,"name":"DelegatecallGuard","nameLocations":["423:17:66"],"nodeType":"IdentifierPath","referencedDeclaration":51143,"src":"423:17:66"},"id":66988,"nodeType":"InheritanceSpecifier","src":"423:17:66"}],"canonicalName":"MockGuarded","contractDependencies":[],"contractKind":"contract","documentation":{"id":66986,"nodeType":"StructuredDocumentation","src":"349:50:66","text":"@dev Minimal contract using DelegatecallGuard"},"fullyImplemented":true,"linearizedBaseContracts":[67010,51143],"name":"MockGuarded","nameLocation":"408:11:66","scope":67463,"usedErrors":[51112],"usedEvents":[66992]},{"id":67052,"nodeType":"ContractDefinition","src":"738:412:66","nodes":[{"id":67031,"nodeType":"FunctionDefinition","src":"762:173:66","nodes":[],"body":{"id":67030,"nodeType":"Block","src":"841:94:66","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":67024,"name":"MockGuarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67010,"src":"901:11:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockGuarded_$67010_$","typeString":"type(contract MockGuarded)"}},"id":67025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"913:4:66","memberName":"ping","nodeType":"MemberAccess","referencedDeclaration":67003,"src":"901:16:66","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$__$returns$__$","typeString":"function MockGuarded.ping()"}},"id":67026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"918:8:66","memberName":"selector","nodeType":"MemberAccess","src":"901:25:66","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"878:3:66","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"882:18:66","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"878:22:66","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":67027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"878:49:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":67020,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67013,"src":"858:6:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"865:12:66","memberName":"delegatecall","nodeType":"MemberAccess","src":"858:19:66","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":67028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"858:70:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"functionReturnParameters":67019,"id":67029,"nodeType":"Return","src":"851:77:66"}]},"functionSelector":"e8d1bd0a","implemented":true,"kind":"function","modifiers":[],"name":"callPing","nameLocation":"771:8:66","parameters":{"id":67014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67013,"mutability":"mutable","name":"target","nameLocation":"788:6:66","nodeType":"VariableDeclaration","scope":67031,"src":"780:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67012,"name":"address","nodeType":"ElementaryTypeName","src":"780:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"779:16:66"},"returnParameters":{"id":67019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67016,"mutability":"mutable","name":"ok","nameLocation":"819:2:66","nodeType":"VariableDeclaration","scope":67031,"src":"814:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67015,"name":"bool","nodeType":"ElementaryTypeName","src":"814:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":67018,"mutability":"mutable","name":"ret","nameLocation":"836:3:66","nodeType":"VariableDeclaration","scope":67031,"src":"823:16:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67017,"name":"bytes","nodeType":"ElementaryTypeName","src":"823:5:66","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"813:27:66"},"scope":67052,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67051,"nodeType":"FunctionDefinition","src":"941:207:66","nodes":[],"body":{"id":67050,"nodeType":"Block","src":"1031:117:66","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":67044,"name":"MockGuardedModifierTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67071,"src":"1091:23:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockGuardedModifierTest_$67071_$","typeString":"type(contract MockGuardedModifierTest)"}},"id":67045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1115:15:66","memberName":"guardedFunction","nodeType":"MemberAccess","referencedDeclaration":67070,"src":"1091:39:66","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$__$returns$__$","typeString":"function MockGuardedModifierTest.guardedFunction()"}},"id":67046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1131:8:66","memberName":"selector","nodeType":"MemberAccess","src":"1091:48:66","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67042,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1068:3:66","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1072:18:66","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1068:22:66","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":67047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1068:72:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":67040,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67033,"src":"1048:6:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1055:12:66","memberName":"delegatecall","nodeType":"MemberAccess","src":"1048:19:66","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":67048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1048:93:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"functionReturnParameters":67039,"id":67049,"nodeType":"Return","src":"1041:100:66"}]},"functionSelector":"69583088","implemented":true,"kind":"function","modifiers":[],"name":"callGuardedFunction","nameLocation":"950:19:66","parameters":{"id":67034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67033,"mutability":"mutable","name":"target","nameLocation":"978:6:66","nodeType":"VariableDeclaration","scope":67051,"src":"970:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67032,"name":"address","nodeType":"ElementaryTypeName","src":"970:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"969:16:66"},"returnParameters":{"id":67039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67036,"mutability":"mutable","name":"ok","nameLocation":"1009:2:66","nodeType":"VariableDeclaration","scope":67051,"src":"1004:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67035,"name":"bool","nodeType":"ElementaryTypeName","src":"1004:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":67038,"mutability":"mutable","name":"ret","nameLocation":"1026:3:66","nodeType":"VariableDeclaration","scope":67051,"src":"1013:16:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67037,"name":"bytes","nodeType":"ElementaryTypeName","src":"1013:5:66","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1003:27:66"},"scope":67052,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MockHost","contractDependencies":[],"contractKind":"contract","documentation":{"id":67011,"nodeType":"StructuredDocumentation","src":"688:50:66","text":"@dev Host that can delegatecall into a target"},"fullyImplemented":true,"linearizedBaseContracts":[67052],"name":"MockHost","nameLocation":"747:8:66","scope":67463,"usedErrors":[],"usedEvents":[]},{"id":67071,"nodeType":"ContractDefinition","src":"1211:202:66","nodes":[{"id":67059,"nodeType":"EventDefinition","src":"1271:35:66","nodes":[],"anonymous":false,"eventSelector":"92c92f88c68fad537bf0d0ade54b81ea40eff183b4669adc1dde382843528a82","name":"ModifierTest","nameLocation":"1277:12:66","parameters":{"id":67058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67057,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"1298:6:66","nodeType":"VariableDeclaration","scope":67059,"src":"1290:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67056,"name":"address","nodeType":"ElementaryTypeName","src":"1290:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1289:16:66"}},{"id":67070,"nodeType":"FunctionDefinition","src":"1312:99:66","nodes":[],"body":{"id":67069,"nodeType":"Block","src":"1365:46:66","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":67065,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1393:3:66","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1397:6:66","memberName":"sender","nodeType":"MemberAccess","src":"1393:10:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67064,"name":"ModifierTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67059,"src":"1380:12:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1380:24:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67068,"nodeType":"EmitStatement","src":"1375:29:66"}]},"functionSelector":"d35ec420","implemented":true,"kind":"function","modifiers":[{"id":67062,"kind":"modifierInvocation","modifierName":{"id":67061,"name":"onlyDelegatecall","nameLocations":["1348:16:66"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"1348:16:66"},"nodeType":"ModifierInvocation","src":"1348:16:66"}],"name":"guardedFunction","nameLocation":"1321:15:66","parameters":{"id":67060,"nodeType":"ParameterList","parameters":[],"src":"1336:2:66"},"returnParameters":{"id":67063,"nodeType":"ParameterList","parameters":[],"src":"1365:0:66"},"scope":67071,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":67054,"name":"DelegatecallGuard","nameLocations":["1247:17:66"],"nodeType":"IdentifierPath","referencedDeclaration":51143,"src":"1247:17:66"},"id":67055,"nodeType":"InheritanceSpecifier","src":"1247:17:66"}],"canonicalName":"MockGuardedModifierTest","contractDependencies":[],"contractKind":"contract","documentation":{"id":67053,"nodeType":"StructuredDocumentation","src":"1152:59:66","text":"@dev Contract that tests the onlyDelegatecall modifier"},"fullyImplemented":true,"linearizedBaseContracts":[67071,51143],"name":"MockGuardedModifierTest","nameLocation":"1220:23:66","scope":67463,"usedErrors":[51112],"usedEvents":[67059]},{"id":67104,"nodeType":"ContractDefinition","src":"1476:277:66","nodes":[{"id":67078,"nodeType":"EventDefinition","src":"1530:27:66","nodes":[],"anonymous":false,"eventSelector":"fee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e5","name":"Ping","nameLocation":"1536:4:66","parameters":{"id":67077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67076,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"1549:6:66","nodeType":"VariableDeclaration","scope":67078,"src":"1541:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67075,"name":"address","nodeType":"ElementaryTypeName","src":"1541:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1540:16:66"}},{"id":67089,"nodeType":"FunctionDefinition","src":"1563:80:66","nodes":[],"body":{"id":67088,"nodeType":"Block","src":"1605:38:66","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":67084,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1625:3:66","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":67085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1629:6:66","memberName":"sender","nodeType":"MemberAccess","src":"1625:10:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67083,"name":"Ping","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67078,"src":"1620:4:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1620:16:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67087,"nodeType":"EmitStatement","src":"1615:21:66"}]},"functionSelector":"5c36b186","implemented":true,"kind":"function","modifiers":[{"id":67081,"kind":"modifierInvocation","modifierName":{"id":67080,"name":"onlyDelegatecall","nameLocations":["1588:16:66"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"1588:16:66"},"nodeType":"ModifierInvocation","src":"1588:16:66"}],"name":"ping","nameLocation":"1572:4:66","parameters":{"id":67079,"nodeType":"ParameterList","parameters":[],"src":"1576:2:66"},"returnParameters":{"id":67082,"nodeType":"ParameterList","parameters":[],"src":"1605:0:66"},"scope":67104,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":67103,"nodeType":"FunctionDefinition","src":"1649:102:66","nodes":[],"body":{"id":67102,"nodeType":"Block","src":"1709:42:66","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":67097,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67091,"src":"1731:5:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67096,"name":"MockGuarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67010,"src":"1719:11:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockGuarded_$67010_$","typeString":"type(contract MockGuarded)"}},"id":67098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1719:18:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"id":67099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1738:4:66","memberName":"ping","nodeType":"MemberAccess","referencedDeclaration":67003,"src":"1719:23:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":67100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1719:25:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67101,"nodeType":"ExpressionStatement","src":"1719:25:66"}]},"functionSelector":"38e6876a","implemented":true,"kind":"function","modifiers":[{"id":67094,"kind":"modifierInvocation","modifierName":{"id":67093,"name":"onlyDelegatecall","nameLocations":["1692:16:66"],"nodeType":"IdentifierPath","referencedDeclaration":51127,"src":"1692:16:66"},"nodeType":"ModifierInvocation","src":"1692:16:66"}],"name":"callOther","nameLocation":"1658:9:66","parameters":{"id":67092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67091,"mutability":"mutable","name":"other","nameLocation":"1676:5:66","nodeType":"VariableDeclaration","scope":67103,"src":"1668:13:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67090,"name":"address","nodeType":"ElementaryTypeName","src":"1668:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1667:15:66"},"returnParameters":{"id":67095,"nodeType":"ParameterList","parameters":[],"src":"1709:0:66"},"scope":67104,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":67073,"name":"DelegatecallGuard","nameLocations":["1506:17:66"],"nodeType":"IdentifierPath","referencedDeclaration":51143,"src":"1506:17:66"},"id":67074,"nodeType":"InheritanceSpecifier","src":"1506:17:66"}],"canonicalName":"MockNestedGuarded","contractDependencies":[],"contractKind":"contract","documentation":{"id":67072,"nodeType":"StructuredDocumentation","src":"1415:61:66","text":"@dev Contract that tests the nested delegatecall context"},"fullyImplemented":true,"linearizedBaseContracts":[67104,51143],"name":"MockNestedGuarded","nameLocation":"1485:17:66","scope":67463,"usedErrors":[51112],"usedEvents":[67078]},{"id":67126,"nodeType":"ContractDefinition","src":"1805:318:66","nodes":[{"id":67125,"nodeType":"FunctionDefinition","src":"1835:286:66","nodes":[],"body":{"id":67124,"nodeType":"Block","src":"1920:201:66","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":67118,"name":"MockNestedGuarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67104,"src":"2081:17:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockNestedGuarded_$67104_$","typeString":"type(contract MockNestedGuarded)"}},"id":67119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2099:4:66","memberName":"ping","nodeType":"MemberAccess","referencedDeclaration":67089,"src":"2081:22:66","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$__$returns$__$","typeString":"function MockNestedGuarded.ping()"}},"id":67120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2104:8:66","memberName":"selector","nodeType":"MemberAccess","src":"2081:31:66","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2058:3:66","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2062:18:66","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2058:22:66","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":67121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2058:55:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":67114,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67107,"src":"2038:6:66","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2045:12:66","memberName":"delegatecall","nodeType":"MemberAccess","src":"2038:19:66","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":67122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2038:76:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"functionReturnParameters":67113,"id":67123,"nodeType":"Return","src":"2031:83:66"}]},"functionSelector":"c06d936d","implemented":true,"kind":"function","modifiers":[],"name":"callNestedPing","nameLocation":"1844:14:66","parameters":{"id":67108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67107,"mutability":"mutable","name":"target","nameLocation":"1867:6:66","nodeType":"VariableDeclaration","scope":67125,"src":"1859:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67106,"name":"address","nodeType":"ElementaryTypeName","src":"1859:7:66","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1858:16:66"},"returnParameters":{"id":67113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67110,"mutability":"mutable","name":"ok","nameLocation":"1898:2:66","nodeType":"VariableDeclaration","scope":67125,"src":"1893:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67109,"name":"bool","nodeType":"ElementaryTypeName","src":"1893:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":67112,"mutability":"mutable","name":"ret","nameLocation":"1915:3:66","nodeType":"VariableDeclaration","scope":67125,"src":"1902:16:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67111,"name":"bytes","nodeType":"ElementaryTypeName","src":"1902:5:66","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1892:27:66"},"scope":67126,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MockNestedHost","contractDependencies":[],"contractKind":"contract","documentation":{"id":67105,"nodeType":"StructuredDocumentation","src":"1755:50:66","text":"@dev Host that can delegatecall into a target"},"fullyImplemented":true,"linearizedBaseContracts":[67126],"name":"MockNestedHost","nameLocation":"1814:14:66","scope":67463,"usedErrors":[],"usedEvents":[]},{"id":67462,"nodeType":"ContractDefinition","src":"2305:4272:66","nodes":[{"id":67131,"nodeType":"VariableDeclaration","src":"2540:28:66","nodes":[],"constant":false,"mutability":"mutable","name":"guarded","nameLocation":"2561:7:66","scope":67462,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"},"typeName":{"id":67130,"nodeType":"UserDefinedTypeName","pathNode":{"id":67129,"name":"MockGuarded","nameLocations":["2540:11:66"],"nodeType":"IdentifierPath","referencedDeclaration":67010,"src":"2540:11:66"},"referencedDeclaration":67010,"src":"2540:11:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"visibility":"internal"},{"id":67134,"nodeType":"VariableDeclaration","src":"2574:22:66","nodes":[],"constant":false,"mutability":"mutable","name":"host","nameLocation":"2592:4:66","scope":67462,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"},"typeName":{"id":67133,"nodeType":"UserDefinedTypeName","pathNode":{"id":67132,"name":"MockHost","nameLocations":["2574:8:66"],"nodeType":"IdentifierPath","referencedDeclaration":67052,"src":"2574:8:66"},"referencedDeclaration":67052,"src":"2574:8:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}},"visibility":"internal"},{"id":67152,"nodeType":"FunctionDefinition","src":"2788:99:66","nodes":[],"body":{"id":67151,"nodeType":"Block","src":"2812:75:66","nodes":[],"statements":[{"expression":{"id":67142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67137,"name":"guarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67131,"src":"2822:7:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":67140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2832:15:66","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockGuarded_$67010_$","typeString":"function () returns (contract MockGuarded)"},"typeName":{"id":67139,"nodeType":"UserDefinedTypeName","pathNode":{"id":67138,"name":"MockGuarded","nameLocations":["2836:11:66"],"nodeType":"IdentifierPath","referencedDeclaration":67010,"src":"2836:11:66"},"referencedDeclaration":67010,"src":"2836:11:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}}},"id":67141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2832:17:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"src":"2822:27:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"id":67143,"nodeType":"ExpressionStatement","src":"2822:27:66"},{"expression":{"id":67149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67144,"name":"host","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67134,"src":"2859:4:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":67147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2866:12:66","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockHost_$67052_$","typeString":"function () returns (contract MockHost)"},"typeName":{"id":67146,"nodeType":"UserDefinedTypeName","pathNode":{"id":67145,"name":"MockHost","nameLocations":["2870:8:66"],"nodeType":"IdentifierPath","referencedDeclaration":67052,"src":"2870:8:66"},"referencedDeclaration":67052,"src":"2870:8:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}}},"id":67148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2866:14:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}},"src":"2859:21:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}},"id":67150,"nodeType":"ExpressionStatement","src":"2859:21:66"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"2797:5:66","parameters":{"id":67135,"nodeType":"ParameterList","parameters":[],"src":"2802:2:66"},"returnParameters":{"id":67136,"nodeType":"ParameterList","parameters":[],"src":"2812:0:66"},"scope":67462,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67169,"nodeType":"FunctionDefinition","src":"3077:159:66","nodes":[],"body":{"id":67168,"nodeType":"Block","src":"3136:100:66","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"expression":{"id":67158,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"3162:17:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DelegatecallGuard_$51143_$","typeString":"type(contract DelegatecallGuard)"}},"id":67159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3180:15:66","memberName":"NotDelegateCall","nodeType":"MemberAccess","referencedDeclaration":51112,"src":"3162:33:66","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":67160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3196:8:66","memberName":"selector","nodeType":"MemberAccess","src":"3162:42:66","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67155,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3146:2:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":67157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3149:12:66","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"3146:15:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":67161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3146:59:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67162,"nodeType":"ExpressionStatement","src":"3146:59:66"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67163,"name":"guarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67131,"src":"3215:7:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"id":67165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3223:4:66","memberName":"ping","nodeType":"MemberAccess","referencedDeclaration":67003,"src":"3215:12:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":67166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3215:14:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67167,"nodeType":"ExpressionStatement","src":"3215:14:66"}]},"functionSelector":"7a12a470","implemented":true,"kind":"function","modifiers":[],"name":"test_direct_call_reverts_NotDelegateCall","nameLocation":"3086:40:66","parameters":{"id":67153,"nodeType":"ParameterList","parameters":[],"src":"3126:2:66"},"returnParameters":{"id":67154,"nodeType":"ParameterList","parameters":[],"src":"3136:0:66"},"scope":67462,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67206,"nodeType":"FunctionDefinition","src":"3242:277:66","nodes":[],"body":{"id":67205,"nodeType":"Block","src":"3295:224:66","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"74727565","id":67175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3319:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":67176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3325:5:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":67177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3332:5:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":67178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3339:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":67172,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3305:2:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":67174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3308:10:66","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"3305:13:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":67179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3305:39:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67180,"nodeType":"ExpressionStatement","src":"3305:39:66"},{"eventCall":{"arguments":[{"arguments":[{"id":67186,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3384:4:66","typeDescriptions":{"typeIdentifier":"t_contract$_DelegatecallGuardTest_$67462","typeString":"contract DelegatecallGuardTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DelegatecallGuardTest_$67462","typeString":"contract DelegatecallGuardTest"}],"id":67185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3376:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67184,"name":"address","nodeType":"ElementaryTypeName","src":"3376:7:66","typeDescriptions":{}}},"id":67187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3376:13:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67181,"name":"MockGuarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67010,"src":"3359:11:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockGuarded_$67010_$","typeString":"type(contract MockGuarded)"}},"id":67183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3371:4:66","memberName":"Ping","nodeType":"MemberAccess","referencedDeclaration":66992,"src":"3359:16:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3359:31:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67189,"nodeType":"EmitStatement","src":"3354:36:66"},{"assignments":[67191,null],"declarations":[{"constant":false,"id":67191,"mutability":"mutable","name":"ok","nameLocation":"3406:2:66","nodeType":"VariableDeclaration","scope":67205,"src":"3401:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67190,"name":"bool","nodeType":"ElementaryTypeName","src":"3401:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":67199,"initialValue":{"arguments":[{"arguments":[{"id":67196,"name":"guarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67131,"src":"3435:7:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}],"id":67195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3427:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67194,"name":"address","nodeType":"ElementaryTypeName","src":"3427:7:66","typeDescriptions":{}}},"id":67197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3427:16:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67192,"name":"host","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67134,"src":"3413:4:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}},"id":67193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3418:8:66","memberName":"callPing","nodeType":"MemberAccess","referencedDeclaration":67031,"src":"3413:13:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (address) external returns (bool,bytes memory)"}},"id":67198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3413:31:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3400:44:66"},{"expression":{"arguments":[{"id":67201,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67191,"src":"3465:2:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c656761746563616c6c2d636f6e746578742070696e672073686f756c642073756363656564","id":67202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3469:42:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8dee4e8628480714ab93103a260ca3e5e126171a568ebb79ddf05b75c6e56ae","typeString":"literal_string \"delegatecall-context ping should succeed\""},"value":"delegatecall-context ping should succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a8dee4e8628480714ab93103a260ca3e5e126171a568ebb79ddf05b75c6e56ae","typeString":"literal_string \"delegatecall-context ping should succeed\""}],"id":67200,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"3454:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3454:58:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67204,"nodeType":"ExpressionStatement","src":"3454:58:66"}]},"functionSelector":"8445e79f","implemented":true,"kind":"function","modifiers":[],"name":"test_delegatecall_context_succeeds","nameLocation":"3251:34:66","parameters":{"id":67170,"nodeType":"ParameterList","parameters":[],"src":"3285:2:66"},"returnParameters":{"id":67171,"nodeType":"ParameterList","parameters":[],"src":"3295:0:66"},"scope":67462,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67223,"nodeType":"FunctionDefinition","src":"3525:285:66","nodes":[],"body":{"id":67222,"nodeType":"Block","src":"3576:234:66","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67212,"name":"guarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67131,"src":"3741:7:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}],"id":67211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3733:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67210,"name":"address","nodeType":"ElementaryTypeName","src":"3733:7:66","typeDescriptions":{}}},"id":67213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3733:16:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3761:1:66","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3753:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67214,"name":"address","nodeType":"ElementaryTypeName","src":"3753:7:66","typeDescriptions":{}}},"id":67217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3753:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3733:30:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"6775617264656420636f6e74726163742073686f756c64206265206465706c6f796564","id":67219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3765:37:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d97839c99c23c46fcfcf745cf6cb1514fa0a63b6f1007454046964199bbbac0","typeString":"literal_string \"guarded contract should be deployed\""},"value":"guarded contract should be deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0d97839c99c23c46fcfcf745cf6cb1514fa0a63b6f1007454046964199bbbac0","typeString":"literal_string \"guarded contract should be deployed\""}],"id":67209,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"3722:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3722:81:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67221,"nodeType":"ExpressionStatement","src":"3722:81:66"}]},"functionSelector":"eff34a17","implemented":true,"kind":"function","modifiers":[],"name":"test_self_address_immutable","nameLocation":"3534:27:66","parameters":{"id":67207,"nodeType":"ParameterList","parameters":[],"src":"3561:2:66"},"returnParameters":{"id":67208,"nodeType":"ParameterList","parameters":[],"src":"3576:0:66"},"scope":67462,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67272,"nodeType":"FunctionDefinition","src":"3816:607:66","nodes":[],"body":{"id":67271,"nodeType":"Block","src":"3871:552:66","nodes":[],"statements":[{"assignments":[67228],"declarations":[{"constant":false,"id":67228,"mutability":"mutable","name":"modifierTest","nameLocation":"3976:12:66","nodeType":"VariableDeclaration","scope":67271,"src":"3952:36:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuardedModifierTest_$67071","typeString":"contract MockGuardedModifierTest"},"typeName":{"id":67227,"nodeType":"UserDefinedTypeName","pathNode":{"id":67226,"name":"MockGuardedModifierTest","nameLocations":["3952:23:66"],"nodeType":"IdentifierPath","referencedDeclaration":67071,"src":"3952:23:66"},"referencedDeclaration":67071,"src":"3952:23:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuardedModifierTest_$67071","typeString":"contract MockGuardedModifierTest"}},"visibility":"internal"}],"id":67233,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":67231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3991:27:66","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockGuardedModifierTest_$67071_$","typeString":"function () returns (contract MockGuardedModifierTest)"},"typeName":{"id":67230,"nodeType":"UserDefinedTypeName","pathNode":{"id":67229,"name":"MockGuardedModifierTest","nameLocations":["3995:23:66"],"nodeType":"IdentifierPath","referencedDeclaration":67071,"src":"3995:23:66"},"referencedDeclaration":67071,"src":"3995:23:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuardedModifierTest_$67071","typeString":"contract MockGuardedModifierTest"}}},"id":67232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3991:29:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockGuardedModifierTest_$67071","typeString":"contract MockGuardedModifierTest"}},"nodeType":"VariableDeclarationStatement","src":"3952:68:66"},{"expression":{"arguments":[{"expression":{"expression":{"id":67237,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"4084:17:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DelegatecallGuard_$51143_$","typeString":"type(contract DelegatecallGuard)"}},"id":67238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4102:15:66","memberName":"NotDelegateCall","nodeType":"MemberAccess","referencedDeclaration":51112,"src":"4084:33:66","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":67239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4118:8:66","memberName":"selector","nodeType":"MemberAccess","src":"4084:42:66","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67234,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4068:2:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":67236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4071:12:66","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"4068:15:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":67240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4068:59:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67241,"nodeType":"ExpressionStatement","src":"4068:59:66"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67242,"name":"modifierTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67228,"src":"4137:12:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuardedModifierTest_$67071","typeString":"contract MockGuardedModifierTest"}},"id":67244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4150:15:66","memberName":"guardedFunction","nodeType":"MemberAccess","referencedDeclaration":67070,"src":"4137:28:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":67245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4137:30:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67246,"nodeType":"ExpressionStatement","src":"4137:30:66"},{"assignments":[67248,null],"declarations":[{"constant":false,"id":67248,"mutability":"mutable","name":"ok","nameLocation":"4224:2:66","nodeType":"VariableDeclaration","scope":67271,"src":"4219:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67247,"name":"bool","nodeType":"ElementaryTypeName","src":"4219:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":67265,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":67256,"name":"MockHost","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67052,"src":"4285:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockHost_$67052_$","typeString":"type(contract MockHost)"}},"id":67257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4294:19:66","memberName":"callGuardedFunction","nodeType":"MemberAccess","referencedDeclaration":67051,"src":"4285:28:66","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function MockHost.callGuardedFunction(address) returns (bool,bytes memory)"}},"id":67258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4314:8:66","memberName":"selector","nodeType":"MemberAccess","src":"4285:37:66","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":67261,"name":"modifierTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67228,"src":"4332:12:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuardedModifierTest_$67071","typeString":"contract MockGuardedModifierTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockGuardedModifierTest_$67071","typeString":"contract MockGuardedModifierTest"}],"id":67260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4324:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67259,"name":"address","nodeType":"ElementaryTypeName","src":"4324:7:66","typeDescriptions":{}}},"id":67262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4324:21:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67254,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4262:3:66","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4266:18:66","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4262:22:66","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":67263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4262:84:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":67251,"name":"host","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67134,"src":"4251:4:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}],"id":67250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4243:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67249,"name":"address","nodeType":"ElementaryTypeName","src":"4243:7:66","typeDescriptions":{}}},"id":67252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4243:13:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4257:4:66","memberName":"call","nodeType":"MemberAccess","src":"4243:18:66","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":67264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4243:104:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4218:129:66"},{"expression":{"arguments":[{"id":67267,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67248,"src":"4368:2:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c656761746563616c6c2077697468206d6f6469666965722073686f756c642073756363656564","id":67268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4372:43:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_753749083eb8b00408660003050051691bbe9bd81edd244bae546e90b137baab","typeString":"literal_string \"delegatecall with modifier should succeed\""},"value":"delegatecall with modifier should succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_753749083eb8b00408660003050051691bbe9bd81edd244bae546e90b137baab","typeString":"literal_string \"delegatecall with modifier should succeed\""}],"id":67266,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"4357:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4357:59:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67270,"nodeType":"ExpressionStatement","src":"4357:59:66"}]},"functionSelector":"08a9ea27","implemented":true,"kind":"function","modifiers":[],"name":"test_onlyDelegatecall_modifier_usage","nameLocation":"3825:36:66","parameters":{"id":67224,"nodeType":"ParameterList","parameters":[],"src":"3861:2:66"},"returnParameters":{"id":67225,"nodeType":"ParameterList","parameters":[],"src":"3871:0:66"},"scope":67462,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67358,"nodeType":"FunctionDefinition","src":"4429:714:66","nodes":[],"body":{"id":67357,"nodeType":"Block","src":"4481:662:66","nodes":[],"statements":[{"assignments":[67277],"declarations":[{"constant":false,"id":67277,"mutability":"mutable","name":"guarded2","nameLocation":"4562:8:66","nodeType":"VariableDeclaration","scope":67357,"src":"4550:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"},"typeName":{"id":67276,"nodeType":"UserDefinedTypeName","pathNode":{"id":67275,"name":"MockGuarded","nameLocations":["4550:11:66"],"nodeType":"IdentifierPath","referencedDeclaration":67010,"src":"4550:11:66"},"referencedDeclaration":67010,"src":"4550:11:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"visibility":"internal"}],"id":67282,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":67280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4573:15:66","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockGuarded_$67010_$","typeString":"function () returns (contract MockGuarded)"},"typeName":{"id":67279,"nodeType":"UserDefinedTypeName","pathNode":{"id":67278,"name":"MockGuarded","nameLocations":["4577:11:66"],"nodeType":"IdentifierPath","referencedDeclaration":67010,"src":"4577:11:66"},"referencedDeclaration":67010,"src":"4577:11:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}}},"id":67281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4573:17:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"nodeType":"VariableDeclarationStatement","src":"4550:40:66"},{"assignments":[67285],"declarations":[{"constant":false,"id":67285,"mutability":"mutable","name":"host2","nameLocation":"4609:5:66","nodeType":"VariableDeclaration","scope":67357,"src":"4600:14:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"},"typeName":{"id":67284,"nodeType":"UserDefinedTypeName","pathNode":{"id":67283,"name":"MockHost","nameLocations":["4600:8:66"],"nodeType":"IdentifierPath","referencedDeclaration":67052,"src":"4600:8:66"},"referencedDeclaration":67052,"src":"4600:8:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}},"visibility":"internal"}],"id":67290,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":67288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4617:12:66","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockHost_$67052_$","typeString":"function () returns (contract MockHost)"},"typeName":{"id":67287,"nodeType":"UserDefinedTypeName","pathNode":{"id":67286,"name":"MockHost","nameLocations":["4621:8:66"],"nodeType":"IdentifierPath","referencedDeclaration":67052,"src":"4621:8:66"},"referencedDeclaration":67052,"src":"4621:8:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}}},"id":67289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:14:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}},"nodeType":"VariableDeclarationStatement","src":"4600:31:66"},{"expression":{"arguments":[{"hexValue":"74727565","id":67294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4698:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":67295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4704:5:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":67296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4711:5:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":67297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4718:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":67291,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4684:2:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":67293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4687:10:66","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"4684:13:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":67298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4684:39:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67299,"nodeType":"ExpressionStatement","src":"4684:39:66"},{"eventCall":{"arguments":[{"arguments":[{"id":67305,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4763:4:66","typeDescriptions":{"typeIdentifier":"t_contract$_DelegatecallGuardTest_$67462","typeString":"contract DelegatecallGuardTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DelegatecallGuardTest_$67462","typeString":"contract DelegatecallGuardTest"}],"id":67304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4755:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67303,"name":"address","nodeType":"ElementaryTypeName","src":"4755:7:66","typeDescriptions":{}}},"id":67306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4755:13:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67300,"name":"MockGuarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67010,"src":"4738:11:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockGuarded_$67010_$","typeString":"type(contract MockGuarded)"}},"id":67302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4750:4:66","memberName":"Ping","nodeType":"MemberAccess","referencedDeclaration":66992,"src":"4738:16:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4738:31:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67308,"nodeType":"EmitStatement","src":"4733:36:66"},{"assignments":[67310,null],"declarations":[{"constant":false,"id":67310,"mutability":"mutable","name":"ok1","nameLocation":"4785:3:66","nodeType":"VariableDeclaration","scope":67357,"src":"4780:8:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67309,"name":"bool","nodeType":"ElementaryTypeName","src":"4780:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":67318,"initialValue":{"arguments":[{"arguments":[{"id":67315,"name":"guarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67131,"src":"4815:7:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}],"id":67314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4807:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67313,"name":"address","nodeType":"ElementaryTypeName","src":"4807:7:66","typeDescriptions":{}}},"id":67316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4807:16:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67311,"name":"host","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67134,"src":"4793:4:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}},"id":67312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4798:8:66","memberName":"callPing","nodeType":"MemberAccess","referencedDeclaration":67031,"src":"4793:13:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (address) external returns (bool,bytes memory)"}},"id":67317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4793:31:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4779:45:66"},{"expression":{"arguments":[{"id":67320,"name":"ok1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67310,"src":"4845:3:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"6669727374206775617264656420636f6e74726163742064656c656761746563616c6c2073686f756c642073756363656564","id":67321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4850:52:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_e019f9bc97fcf0444c57f45b7fb94b49a321725d95290e8c76b06cae7710f361","typeString":"literal_string \"first guarded contract delegatecall should succeed\""},"value":"first guarded contract delegatecall should succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e019f9bc97fcf0444c57f45b7fb94b49a321725d95290e8c76b06cae7710f361","typeString":"literal_string \"first guarded contract delegatecall should succeed\""}],"id":67319,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"4834:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4834:69:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67323,"nodeType":"ExpressionStatement","src":"4834:69:66"},{"expression":{"arguments":[{"hexValue":"74727565","id":67327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4928:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":67328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4934:5:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":67329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4941:5:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":67330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4948:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":67324,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4914:2:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":67326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4917:10:66","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"4914:13:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":67331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4914:39:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67332,"nodeType":"ExpressionStatement","src":"4914:39:66"},{"eventCall":{"arguments":[{"arguments":[{"id":67338,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4993:4:66","typeDescriptions":{"typeIdentifier":"t_contract$_DelegatecallGuardTest_$67462","typeString":"contract DelegatecallGuardTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DelegatecallGuardTest_$67462","typeString":"contract DelegatecallGuardTest"}],"id":67337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4985:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67336,"name":"address","nodeType":"ElementaryTypeName","src":"4985:7:66","typeDescriptions":{}}},"id":67339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4985:13:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67333,"name":"MockGuarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67010,"src":"4968:11:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockGuarded_$67010_$","typeString":"type(contract MockGuarded)"}},"id":67335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4980:4:66","memberName":"Ping","nodeType":"MemberAccess","referencedDeclaration":66992,"src":"4968:16:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4968:31:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67341,"nodeType":"EmitStatement","src":"4963:36:66"},{"assignments":[67343,null],"declarations":[{"constant":false,"id":67343,"mutability":"mutable","name":"ok2","nameLocation":"5015:3:66","nodeType":"VariableDeclaration","scope":67357,"src":"5010:8:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67342,"name":"bool","nodeType":"ElementaryTypeName","src":"5010:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":67351,"initialValue":{"arguments":[{"arguments":[{"id":67348,"name":"guarded2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67277,"src":"5046:8:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}],"id":67347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5038:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67346,"name":"address","nodeType":"ElementaryTypeName","src":"5038:7:66","typeDescriptions":{}}},"id":67349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5038:17:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67344,"name":"host2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67285,"src":"5023:5:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockHost_$67052","typeString":"contract MockHost"}},"id":67345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5029:8:66","memberName":"callPing","nodeType":"MemberAccess","referencedDeclaration":67031,"src":"5023:14:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (address) external returns (bool,bytes memory)"}},"id":67350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5023:33:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"5009:47:66"},{"expression":{"arguments":[{"id":67353,"name":"ok2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67343,"src":"5077:3:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7365636f6e64206775617264656420636f6e74726163742064656c656761746563616c6c2073686f756c642073756363656564","id":67354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5082:53:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ff809edc6e90f90720c28239626727c8580e611deea7c76fb280929b541aa2f","typeString":"literal_string \"second guarded contract delegatecall should succeed\""},"value":"second guarded contract delegatecall should succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2ff809edc6e90f90720c28239626727c8580e611deea7c76fb280929b541aa2f","typeString":"literal_string \"second guarded contract delegatecall should succeed\""}],"id":67352,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"5066:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5066:70:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67356,"nodeType":"ExpressionStatement","src":"5066:70:66"}]},"functionSelector":"7cb7b5b5","implemented":true,"kind":"function","modifiers":[],"name":"test_multiple_delegatecall_guards","nameLocation":"4438:33:66","parameters":{"id":67273,"nodeType":"ParameterList","parameters":[],"src":"4471:2:66"},"returnParameters":{"id":67274,"nodeType":"ParameterList","parameters":[],"src":"4481:0:66"},"scope":67462,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67411,"nodeType":"FunctionDefinition","src":"5149:448:66","nodes":[],"body":{"id":67410,"nodeType":"Block","src":"5200:397:66","nodes":[],"statements":[{"assignments":[67363],"declarations":[{"constant":false,"id":67363,"mutability":"mutable","name":"nested","nameLocation":"5277:6:66","nodeType":"VariableDeclaration","scope":67410,"src":"5259:24:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedGuarded_$67104","typeString":"contract MockNestedGuarded"},"typeName":{"id":67362,"nodeType":"UserDefinedTypeName","pathNode":{"id":67361,"name":"MockNestedGuarded","nameLocations":["5259:17:66"],"nodeType":"IdentifierPath","referencedDeclaration":67104,"src":"5259:17:66"},"referencedDeclaration":67104,"src":"5259:17:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedGuarded_$67104","typeString":"contract MockNestedGuarded"}},"visibility":"internal"}],"id":67368,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":67366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5286:21:66","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockNestedGuarded_$67104_$","typeString":"function () returns (contract MockNestedGuarded)"},"typeName":{"id":67365,"nodeType":"UserDefinedTypeName","pathNode":{"id":67364,"name":"MockNestedGuarded","nameLocations":["5290:17:66"],"nodeType":"IdentifierPath","referencedDeclaration":67104,"src":"5290:17:66"},"referencedDeclaration":67104,"src":"5290:17:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedGuarded_$67104","typeString":"contract MockNestedGuarded"}}},"id":67367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5286:23:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedGuarded_$67104","typeString":"contract MockNestedGuarded"}},"nodeType":"VariableDeclarationStatement","src":"5259:50:66"},{"assignments":[67371],"declarations":[{"constant":false,"id":67371,"mutability":"mutable","name":"nestedHost","nameLocation":"5334:10:66","nodeType":"VariableDeclaration","scope":67410,"src":"5319:25:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedHost_$67126","typeString":"contract MockNestedHost"},"typeName":{"id":67370,"nodeType":"UserDefinedTypeName","pathNode":{"id":67369,"name":"MockNestedHost","nameLocations":["5319:14:66"],"nodeType":"IdentifierPath","referencedDeclaration":67126,"src":"5319:14:66"},"referencedDeclaration":67126,"src":"5319:14:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedHost_$67126","typeString":"contract MockNestedHost"}},"visibility":"internal"}],"id":67376,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":67374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5347:18:66","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockNestedHost_$67126_$","typeString":"function () returns (contract MockNestedHost)"},"typeName":{"id":67373,"nodeType":"UserDefinedTypeName","pathNode":{"id":67372,"name":"MockNestedHost","nameLocations":["5351:14:66"],"nodeType":"IdentifierPath","referencedDeclaration":67126,"src":"5351:14:66"},"referencedDeclaration":67126,"src":"5351:14:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedHost_$67126","typeString":"contract MockNestedHost"}}},"id":67375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5347:20:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedHost_$67126","typeString":"contract MockNestedHost"}},"nodeType":"VariableDeclarationStatement","src":"5319:48:66"},{"expression":{"arguments":[{"hexValue":"74727565","id":67380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5392:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":67381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5398:5:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":67382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5405:5:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":67383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5412:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":67377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"5378:2:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":67379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5381:10:66","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":18470,"src":"5378:13:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":67384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5378:39:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67385,"nodeType":"ExpressionStatement","src":"5378:39:66"},{"eventCall":{"arguments":[{"arguments":[{"id":67391,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5457:4:66","typeDescriptions":{"typeIdentifier":"t_contract$_DelegatecallGuardTest_$67462","typeString":"contract DelegatecallGuardTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DelegatecallGuardTest_$67462","typeString":"contract DelegatecallGuardTest"}],"id":67390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5449:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67389,"name":"address","nodeType":"ElementaryTypeName","src":"5449:7:66","typeDescriptions":{}}},"id":67392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5449:13:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67386,"name":"MockGuarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67010,"src":"5432:11:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockGuarded_$67010_$","typeString":"type(contract MockGuarded)"}},"id":67388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5444:4:66","memberName":"Ping","nodeType":"MemberAccess","referencedDeclaration":66992,"src":"5432:16:66","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":67393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5432:31:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67394,"nodeType":"EmitStatement","src":"5427:36:66"},{"assignments":[67396,null],"declarations":[{"constant":false,"id":67396,"mutability":"mutable","name":"ok","nameLocation":"5479:2:66","nodeType":"VariableDeclaration","scope":67410,"src":"5474:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67395,"name":"bool","nodeType":"ElementaryTypeName","src":"5474:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":67404,"initialValue":{"arguments":[{"arguments":[{"id":67401,"name":"nested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67363,"src":"5520:6:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedGuarded_$67104","typeString":"contract MockNestedGuarded"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockNestedGuarded_$67104","typeString":"contract MockNestedGuarded"}],"id":67400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5512:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67399,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:66","typeDescriptions":{}}},"id":67402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5512:15:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67397,"name":"nestedHost","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67371,"src":"5486:10:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockNestedHost_$67126","typeString":"contract MockNestedHost"}},"id":67398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5497:14:66","memberName":"callNestedPing","nodeType":"MemberAccess","referencedDeclaration":67125,"src":"5486:25:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (address) external returns (bool,bytes memory)"}},"id":67403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5486:42:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"5473:55:66"},{"expression":{"arguments":[{"id":67406,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67396,"src":"5549:2:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"6e65737465642064656c656761746563616c6c2073686f756c642073756363656564","id":67407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5553:36:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_db860836c3aa10da3b206922d6963420ba16795aa4a059d64a8a46b065e1bcdb","typeString":"literal_string \"nested delegatecall should succeed\""},"value":"nested delegatecall should succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_db860836c3aa10da3b206922d6963420ba16795aa4a059d64a8a46b065e1bcdb","typeString":"literal_string \"nested delegatecall should succeed\""}],"id":67405,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"5538:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5538:52:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67409,"nodeType":"ExpressionStatement","src":"5538:52:66"}]},"functionSelector":"d617152b","implemented":true,"kind":"function","modifiers":[],"name":"test_delegatecall_nested_context","nameLocation":"5158:32:66","parameters":{"id":67359,"nodeType":"ParameterList","parameters":[],"src":"5190:2:66"},"returnParameters":{"id":67360,"nodeType":"ParameterList","parameters":[],"src":"5200:0:66"},"scope":67462,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67436,"nodeType":"FunctionDefinition","src":"5603:536:66","nodes":[],"body":{"id":67435,"nodeType":"Block","src":"5647:492:66","nodes":[],"statements":[{"assignments":[67416],"declarations":[{"constant":false,"id":67416,"mutability":"mutable","name":"testGuard","nameLocation":"5819:9:66","nodeType":"VariableDeclaration","scope":67435,"src":"5807:21:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"},"typeName":{"id":67415,"nodeType":"UserDefinedTypeName","pathNode":{"id":67414,"name":"MockGuarded","nameLocations":["5807:11:66"],"nodeType":"IdentifierPath","referencedDeclaration":67010,"src":"5807:11:66"},"referencedDeclaration":67010,"src":"5807:11:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"visibility":"internal"}],"id":67421,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":67419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5831:15:66","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockGuarded_$67010_$","typeString":"function () returns (contract MockGuarded)"},"typeName":{"id":67418,"nodeType":"UserDefinedTypeName","pathNode":{"id":67417,"name":"MockGuarded","nameLocations":["5835:11:66"],"nodeType":"IdentifierPath","referencedDeclaration":67010,"src":"5835:11:66"},"referencedDeclaration":67010,"src":"5835:11:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}}},"id":67420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5831:17:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"nodeType":"VariableDeclarationStatement","src":"5807:41:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67425,"name":"testGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67416,"src":"6056:9:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}],"id":67424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6048:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67423,"name":"address","nodeType":"ElementaryTypeName","src":"6048:7:66","typeDescriptions":{}}},"id":67426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6048:18:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":67429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6078:1:66","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6070:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67427,"name":"address","nodeType":"ElementaryTypeName","src":"6070:7:66","typeDescriptions":{}}},"id":67430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6070:10:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6048:32:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f53454c462073686f756c6420626520696e697469616c697a656420746f20636f6e74726163742061646472657373","id":67432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6082:49:66","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f4690667db667c5f95ddea6036e42458f277ccebea70e9af1040da93040a6f0","typeString":"literal_string \"_SELF should be initialized to contract address\""},"value":"_SELF should be initialized to contract address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8f4690667db667c5f95ddea6036e42458f277ccebea70e9af1040da93040a6f0","typeString":"literal_string \"_SELF should be initialized to contract address\""}],"id":67422,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"6037:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6037:95:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67434,"nodeType":"ExpressionStatement","src":"6037:95:66"}]},"functionSelector":"ba755529","implemented":true,"kind":"function","modifiers":[],"name":"testSelfImmutableVariable","nameLocation":"5612:25:66","parameters":{"id":67412,"nodeType":"ParameterList","parameters":[],"src":"5637:2:66"},"returnParameters":{"id":67413,"nodeType":"ParameterList","parameters":[],"src":"5647:0:66"},"scope":67462,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67461,"nodeType":"FunctionDefinition","src":"6145:430:66","nodes":[],"body":{"id":67460,"nodeType":"Block","src":"6200:375:66","nodes":[],"statements":[{"assignments":[67441],"declarations":[{"constant":false,"id":67441,"mutability":"mutable","name":"testGuard","nameLocation":"6222:9:66","nodeType":"VariableDeclaration","scope":67460,"src":"6210:21:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"},"typeName":{"id":67440,"nodeType":"UserDefinedTypeName","pathNode":{"id":67439,"name":"MockGuarded","nameLocations":["6210:11:66"],"nodeType":"IdentifierPath","referencedDeclaration":67010,"src":"6210:11:66"},"referencedDeclaration":67010,"src":"6210:11:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"visibility":"internal"}],"id":67446,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":67444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6234:15:66","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockGuarded_$67010_$","typeString":"function () returns (contract MockGuarded)"},"typeName":{"id":67443,"nodeType":"UserDefinedTypeName","pathNode":{"id":67442,"name":"MockGuarded","nameLocations":["6238:11:66"],"nodeType":"IdentifierPath","referencedDeclaration":67010,"src":"6238:11:66"},"referencedDeclaration":67010,"src":"6238:11:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}}},"id":67445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6234:17:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"nodeType":"VariableDeclarationStatement","src":"6210:41:66"},{"expression":{"arguments":[{"expression":{"expression":{"id":67450,"name":"DelegatecallGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51143,"src":"6360:17:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DelegatecallGuard_$51143_$","typeString":"type(contract DelegatecallGuard)"}},"id":67451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6378:15:66","memberName":"NotDelegateCall","nodeType":"MemberAccess","referencedDeclaration":51112,"src":"6360:33:66","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":67452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6394:8:66","memberName":"selector","nodeType":"MemberAccess","src":"6360:42:66","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67447,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"6344:2:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":67449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6347:12:66","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":18562,"src":"6344:15:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":67453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6344:59:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67454,"nodeType":"ExpressionStatement","src":"6344:59:66"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67455,"name":"testGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67441,"src":"6413:9:66","typeDescriptions":{"typeIdentifier":"t_contract$_MockGuarded_$67010","typeString":"contract MockGuarded"}},"id":67457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6423:15:66","memberName":"guardedFunction","nodeType":"MemberAccess","referencedDeclaration":67009,"src":"6413:25:66","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":67458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6413:27:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67459,"nodeType":"ExpressionStatement","src":"6413:27:66"}]},"functionSelector":"b786767b","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyDelegatecallInternalFunction","nameLocation":"6154:36:66","parameters":{"id":67437,"nodeType":"ParameterList","parameters":[],"src":"6190:2:66"},"returnParameters":{"id":67438,"nodeType":"ParameterList","parameters":[],"src":"6200:0:66"},"scope":67462,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":67127,"name":"Test","nameLocations":["2339:4:66"],"nodeType":"IdentifierPath","referencedDeclaration":13474,"src":"2339:4:66"},"id":67128,"nodeType":"InheritanceSpecifier","src":"2339:4:66"}],"canonicalName":"DelegatecallGuardTest","contractDependencies":[67010,67052,67071,67104,67126],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[67462,13474,13420,7443,7042,6247,4157,3194,285,282],"name":"DelegatecallGuardTest","nameLocation":"2314:21:66","scope":67463,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477,66992]}],"license":"MIT"}},"test/libraries/TrailsSentinelLib.t.sol":{"id":67,"ast":{"absolutePath":"test/libraries/TrailsSentinelLib.t.sol","id":67989,"exportedSymbols":{"Test":[13474],"TrailsSentinelLib":[51527],"TrailsSentinelLibTest":[67988]},"nodeType":"SourceUnit","src":"32:6438:67","nodes":[{"id":67464,"nodeType":"PragmaDirective","src":"32:24:67","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":67466,"nodeType":"ImportDirective","src":"58:40:67","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":67989,"sourceUnit":13475,"symbolAliases":[{"foreign":{"id":67465,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"66:4:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":67468,"nodeType":"ImportDirective","src":"99:70:67","nodes":[],"absolutePath":"src/libraries/TrailsSentinelLib.sol","file":"src/libraries/TrailsSentinelLib.sol","nameLocation":"-1:-1:-1","scope":67989,"sourceUnit":51528,"symbolAliases":[{"foreign":{"id":67467,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"107:17:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":67988,"nodeType":"ContractDefinition","src":"350:6119:67","nodes":[{"id":67486,"nodeType":"FunctionDefinition","src":"571:205:67","nodes":[],"body":{"id":67485,"nodeType":"Block","src":"626:150:67","nodes":[],"statements":[{"assignments":[67474],"declarations":[{"constant":false,"id":67474,"mutability":"mutable","name":"expected","nameLocation":"644:8:67","nodeType":"VariableDeclaration","scope":67485,"src":"636:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"636:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67478,"initialValue":{"arguments":[{"hexValue":"6f72672e73657175656e63652e747261696c732e726f757465722e73656e74696e656c","id":67476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"665:37:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""},"value":"org.sequence.trails.router.sentinel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""}],"id":67475,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"655:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"655:48:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"636:67:67"},{"expression":{"arguments":[{"expression":{"id":67480,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"722:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"740:18:67","memberName":"SENTINEL_NAMESPACE","nodeType":"MemberAccess","referencedDeclaration":51507,"src":"722:36:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":67482,"name":"expected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67474,"src":"760:8:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67479,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":890,"src":"713:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":67483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"713:56:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67484,"nodeType":"ExpressionStatement","src":"713:56:67"}]},"functionSelector":"d12f5547","implemented":true,"kind":"function","modifiers":[],"name":"test_SentinelNamespace_Constant","nameLocation":"580:31:67","parameters":{"id":67471,"nodeType":"ParameterList","parameters":[],"src":"611:2:67"},"returnParameters":{"id":67472,"nodeType":"ParameterList","parameters":[],"src":"626:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67499,"nodeType":"FunctionDefinition","src":"782:120:67","nodes":[],"body":{"id":67498,"nodeType":"Block","src":"832:70:67","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":67490,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"851:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"869:13:67","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"851:31:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"31","id":67494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"892:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":67493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"884:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67492,"name":"uint256","nodeType":"ElementaryTypeName","src":"884:7:67","typeDescriptions":{}}},"id":67495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"884:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67489,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"842:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"842:53:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67497,"nodeType":"ExpressionStatement","src":"842:53:67"}]},"functionSelector":"84237449","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessValue_Constant","nameLocation":"791:26:67","parameters":{"id":67487,"nodeType":"ParameterList","parameters":[],"src":"817:2:67"},"returnParameters":{"id":67488,"nodeType":"ParameterList","parameters":[],"src":"832:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67536,"nodeType":"FunctionDefinition","src":"908:386:67","nodes":[],"body":{"id":67535,"nodeType":"Block","src":"966:328:67","nodes":[],"statements":[{"assignments":[67503],"declarations":[{"constant":false,"id":67503,"mutability":"mutable","name":"opHash1","nameLocation":"984:7:67","nodeType":"VariableDeclaration","scope":67535,"src":"976:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"976:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67507,"initialValue":{"arguments":[{"hexValue":"6f7065726174696f6e31","id":67505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1004:12:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_89dea7b5eec537691d5d968288c295a41e6ef673b932096ff10641b2577b4a87","typeString":"literal_string \"operation1\""},"value":"operation1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_89dea7b5eec537691d5d968288c295a41e6ef673b932096ff10641b2577b4a87","typeString":"literal_string \"operation1\""}],"id":67504,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"994:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"994:23:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"976:41:67"},{"assignments":[67509],"declarations":[{"constant":false,"id":67509,"mutability":"mutable","name":"opHash2","nameLocation":"1035:7:67","nodeType":"VariableDeclaration","scope":67535,"src":"1027:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1027:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67513,"initialValue":{"arguments":[{"hexValue":"6f7065726174696f6e32","id":67511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1055:12:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bf2e3460a05ef93fa9a9fc761aece816d1ce5b763c93d6103711b2702685abb","typeString":"literal_string \"operation2\""},"value":"operation2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bf2e3460a05ef93fa9a9fc761aece816d1ce5b763c93d6103711b2702685abb","typeString":"literal_string \"operation2\""}],"id":67510,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1045:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1045:23:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1027:41:67"},{"assignments":[67515],"declarations":[{"constant":false,"id":67515,"mutability":"mutable","name":"slot1","nameLocation":"1087:5:67","nodeType":"VariableDeclaration","scope":67535,"src":"1079:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67514,"name":"uint256","nodeType":"ElementaryTypeName","src":"1079:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67520,"initialValue":{"arguments":[{"id":67518,"name":"opHash1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67503,"src":"1125:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67516,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"1095:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1113:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"1095:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1095:38:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1079:54:67"},{"assignments":[67522],"declarations":[{"constant":false,"id":67522,"mutability":"mutable","name":"slot2","nameLocation":"1151:5:67","nodeType":"VariableDeclaration","scope":67535,"src":"1143:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67521,"name":"uint256","nodeType":"ElementaryTypeName","src":"1143:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67527,"initialValue":{"arguments":[{"id":67525,"name":"opHash2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67509,"src":"1189:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67523,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"1159:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1177:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"1159:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1159:38:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1143:54:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67529,"name":"slot1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67515,"src":"1219:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":67530,"name":"slot2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67522,"src":"1228:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1219:14:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"446966666572656e74206f704861736865732073686f756c642070726f6475636520646966666572656e7420736c6f7473","id":67532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1235:51:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_c61e0544ede89a49eda4f7897d843822b62a1d6aa4f6544ad9def15e23b6e684","typeString":"literal_string \"Different opHashes should produce different slots\""},"value":"Different opHashes should produce different slots"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c61e0544ede89a49eda4f7897d843822b62a1d6aa4f6544ad9def15e23b6e684","typeString":"literal_string \"Different opHashes should produce different slots\""}],"id":67528,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"1208:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1208:79:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67534,"nodeType":"ExpressionStatement","src":"1208:79:67"}]},"functionSelector":"3517e09c","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessSlot_DifferentOpHashes","nameLocation":"917:34:67","parameters":{"id":67500,"nodeType":"ParameterList","parameters":[],"src":"951:2:67"},"returnParameters":{"id":67501,"nodeType":"ParameterList","parameters":[],"src":"966:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67566,"nodeType":"FunctionDefinition","src":"1300:321:67","nodes":[],"body":{"id":67565,"nodeType":"Block","src":"1354:267:67","nodes":[],"statements":[{"assignments":[67540],"declarations":[{"constant":false,"id":67540,"mutability":"mutable","name":"opHash","nameLocation":"1372:6:67","nodeType":"VariableDeclaration","scope":67565,"src":"1364:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1364:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67544,"initialValue":{"arguments":[{"hexValue":"746573742d6f7065726174696f6e","id":67542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1391:16:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cdce19456de24d02b98e3fdcf912be874a55d99273cc83e9279f237f08e3dbe","typeString":"literal_string \"test-operation\""},"value":"test-operation"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1cdce19456de24d02b98e3fdcf912be874a55d99273cc83e9279f237f08e3dbe","typeString":"literal_string \"test-operation\""}],"id":67541,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1381:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1381:27:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1364:44:67"},{"assignments":[67546],"declarations":[{"constant":false,"id":67546,"mutability":"mutable","name":"slot1","nameLocation":"1426:5:67","nodeType":"VariableDeclaration","scope":67565,"src":"1418:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67545,"name":"uint256","nodeType":"ElementaryTypeName","src":"1418:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67551,"initialValue":{"arguments":[{"id":67549,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67540,"src":"1464:6:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67547,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"1434:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1452:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"1434:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1434:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1418:53:67"},{"assignments":[67553],"declarations":[{"constant":false,"id":67553,"mutability":"mutable","name":"slot2","nameLocation":"1489:5:67","nodeType":"VariableDeclaration","scope":67565,"src":"1481:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67552,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67558,"initialValue":{"arguments":[{"id":67556,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67540,"src":"1527:6:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67554,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"1497:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1515:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"1497:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1497:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1481:53:67"},{"expression":{"arguments":[{"id":67560,"name":"slot1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67546,"src":"1554:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67561,"name":"slot2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67553,"src":"1561:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"53616d65206f70486173682073686f756c6420616c776179732070726f647563652073616d6520736c6f74","id":67562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1568:45:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_d87d93d2a8468de86674cd13c8547bd218d194ffb1d16c912fe8104ee065cc5e","typeString":"literal_string \"Same opHash should always produce same slot\""},"value":"Same opHash should always produce same slot"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_d87d93d2a8468de86674cd13c8547bd218d194ffb1d16c912fe8104ee065cc5e","typeString":"literal_string \"Same opHash should always produce same slot\""}],"id":67559,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"1545:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":67563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1545:69:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67564,"nodeType":"ExpressionStatement","src":"1545:69:67"}]},"functionSelector":"1d89301f","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessSlot_Deterministic","nameLocation":"1309:30:67","parameters":{"id":67537,"nodeType":"ParameterList","parameters":[],"src":"1339:2:67"},"returnParameters":{"id":67538,"nodeType":"ParameterList","parameters":[],"src":"1354:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67605,"nodeType":"FunctionDefinition","src":"1627:609:67","nodes":[],"body":{"id":67604,"nodeType":"Block","src":"1679:557:67","nodes":[],"statements":[{"assignments":[67570],"declarations":[{"constant":false,"id":67570,"mutability":"mutable","name":"opHash","nameLocation":"1697:6:67","nodeType":"VariableDeclaration","scope":67604,"src":"1689:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1689:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67574,"initialValue":{"arguments":[{"hexValue":"746573742d6f70","id":67572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1716:9:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_a320a816c8d42d84af520a292270c2e7a5b618f471a2d9e4a8d944dd7269a32d","typeString":"literal_string \"test-op\""},"value":"test-op"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a320a816c8d42d84af520a292270c2e7a5b618f471a2d9e4a8d944dd7269a32d","typeString":"literal_string \"test-op\""}],"id":67571,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1706:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1706:20:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1689:37:67"},{"assignments":[67576],"declarations":[{"constant":false,"id":67576,"mutability":"mutable","name":"namespace","nameLocation":"1744:9:67","nodeType":"VariableDeclaration","scope":67604,"src":"1736:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1736:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67579,"initialValue":{"expression":{"id":67577,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"1756:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1774:18:67","memberName":"SENTINEL_NAMESPACE","nodeType":"MemberAccess","referencedDeclaration":51507,"src":"1756:36:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1736:56:67"},{"assignments":[67581],"declarations":[{"constant":false,"id":67581,"mutability":"mutable","name":"expectedKey","nameLocation":"1853:11:67","nodeType":"VariableDeclaration","scope":67604,"src":"1845:19:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1845:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67582,"nodeType":"VariableDeclarationStatement","src":"1845:19:67"},{"AST":{"nativeSrc":"1883:129:67","nodeType":"YulBlock","src":"1883:129:67","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1904:4:67","nodeType":"YulLiteral","src":"1904:4:67","type":"","value":"0x00"},{"name":"namespace","nativeSrc":"1910:9:67","nodeType":"YulIdentifier","src":"1910:9:67"}],"functionName":{"name":"mstore","nativeSrc":"1897:6:67","nodeType":"YulIdentifier","src":"1897:6:67"},"nativeSrc":"1897:23:67","nodeType":"YulFunctionCall","src":"1897:23:67"},"nativeSrc":"1897:23:67","nodeType":"YulExpressionStatement","src":"1897:23:67"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1940:4:67","nodeType":"YulLiteral","src":"1940:4:67","type":"","value":"0x20"},{"name":"opHash","nativeSrc":"1946:6:67","nodeType":"YulIdentifier","src":"1946:6:67"}],"functionName":{"name":"mstore","nativeSrc":"1933:6:67","nodeType":"YulIdentifier","src":"1933:6:67"},"nativeSrc":"1933:20:67","nodeType":"YulFunctionCall","src":"1933:20:67"},"nativeSrc":"1933:20:67","nodeType":"YulExpressionStatement","src":"1933:20:67"},{"nativeSrc":"1966:36:67","nodeType":"YulAssignment","src":"1966:36:67","value":{"arguments":[{"kind":"number","nativeSrc":"1991:4:67","nodeType":"YulLiteral","src":"1991:4:67","type":"","value":"0x00"},{"kind":"number","nativeSrc":"1997:4:67","nodeType":"YulLiteral","src":"1997:4:67","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"1981:9:67","nodeType":"YulIdentifier","src":"1981:9:67"},"nativeSrc":"1981:21:67","nodeType":"YulFunctionCall","src":"1981:21:67"},"variableNames":[{"name":"expectedKey","nativeSrc":"1966:11:67","nodeType":"YulIdentifier","src":"1966:11:67"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":67581,"isOffset":false,"isSlot":false,"src":"1966:11:67","valueSize":1},{"declaration":67576,"isOffset":false,"isSlot":false,"src":"1910:9:67","valueSize":1},{"declaration":67570,"isOffset":false,"isSlot":false,"src":"1946:6:67","valueSize":1}],"id":67583,"nodeType":"InlineAssembly","src":"1874:138:67"},{"assignments":[67585],"declarations":[{"constant":false,"id":67585,"mutability":"mutable","name":"expectedSlot","nameLocation":"2029:12:67","nodeType":"VariableDeclaration","scope":67604,"src":"2021:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67584,"name":"uint256","nodeType":"ElementaryTypeName","src":"2021:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67590,"initialValue":{"arguments":[{"id":67588,"name":"expectedKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67581,"src":"2052:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2044:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67586,"name":"uint256","nodeType":"ElementaryTypeName","src":"2044:7:67","typeDescriptions":{}}},"id":67589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:20:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2021:43:67"},{"assignments":[67592],"declarations":[{"constant":false,"id":67592,"mutability":"mutable","name":"actualSlot","nameLocation":"2083:10:67","nodeType":"VariableDeclaration","scope":67604,"src":"2075:18:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67591,"name":"uint256","nodeType":"ElementaryTypeName","src":"2075:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67597,"initialValue":{"arguments":[{"id":67595,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67570,"src":"2126:6:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67593,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"2096:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2114:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"2096:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2096:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2075:58:67"},{"expression":{"arguments":[{"id":67599,"name":"actualSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67592,"src":"2152:10:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67600,"name":"expectedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67585,"src":"2164:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"536c6f7420636f6d7075746174696f6e2073686f756c64206d61746368206d616e75616c2063616c63756c6174696f6e","id":67601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2178:50:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_beba7e22ff83154c7b3db74f5bfb2d9ccdf218490dd07f4034c0ea27cdead1d3","typeString":"literal_string \"Slot computation should match manual calculation\""},"value":"Slot computation should match manual calculation"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_beba7e22ff83154c7b3db74f5bfb2d9ccdf218490dd07f4034c0ea27cdead1d3","typeString":"literal_string \"Slot computation should match manual calculation\""}],"id":67598,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"2143:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":67602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2143:86:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67603,"nodeType":"ExpressionStatement","src":"2143:86:67"}]},"functionSelector":"fa35c5cf","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessSlot_Computation","nameLocation":"1636:28:67","parameters":{"id":67567,"nodeType":"ParameterList","parameters":[],"src":"1664:2:67"},"returnParameters":{"id":67568,"nodeType":"ParameterList","parameters":[],"src":"1679:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67645,"nodeType":"FunctionDefinition","src":"2242:533:67","nodes":[],"body":{"id":67644,"nodeType":"Block","src":"2293:482:67","nodes":[],"statements":[{"assignments":[67609],"declarations":[{"constant":false,"id":67609,"mutability":"mutable","name":"opHash","nameLocation":"2311:6:67","nodeType":"VariableDeclaration","scope":67644,"src":"2303:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2303:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67614,"initialValue":{"arguments":[{"hexValue":"30","id":67612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2328:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2320:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":67610,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2320:7:67","typeDescriptions":{}}},"id":67613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2320:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2303:27:67"},{"assignments":[67616],"declarations":[{"constant":false,"id":67616,"mutability":"mutable","name":"slot","nameLocation":"2348:4:67","nodeType":"VariableDeclaration","scope":67644,"src":"2340:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67615,"name":"uint256","nodeType":"ElementaryTypeName","src":"2340:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67621,"initialValue":{"arguments":[{"id":67619,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67609,"src":"2385:6:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67617,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"2355:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2373:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"2355:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2355:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2340:52:67"},{"assignments":[67623],"declarations":[{"constant":false,"id":67623,"mutability":"mutable","name":"namespace","nameLocation":"2411:9:67","nodeType":"VariableDeclaration","scope":67644,"src":"2403:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2403:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67626,"initialValue":{"expression":{"id":67624,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"2423:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2441:18:67","memberName":"SENTINEL_NAMESPACE","nodeType":"MemberAccess","referencedDeclaration":51507,"src":"2423:36:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2403:56:67"},{"assignments":[67628],"declarations":[{"constant":false,"id":67628,"mutability":"mutable","name":"expectedKey","nameLocation":"2477:11:67","nodeType":"VariableDeclaration","scope":67644,"src":"2469:19:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2469:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67629,"nodeType":"VariableDeclarationStatement","src":"2469:19:67"},{"AST":{"nativeSrc":"2507:129:67","nodeType":"YulBlock","src":"2507:129:67","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2528:4:67","nodeType":"YulLiteral","src":"2528:4:67","type":"","value":"0x00"},{"name":"namespace","nativeSrc":"2534:9:67","nodeType":"YulIdentifier","src":"2534:9:67"}],"functionName":{"name":"mstore","nativeSrc":"2521:6:67","nodeType":"YulIdentifier","src":"2521:6:67"},"nativeSrc":"2521:23:67","nodeType":"YulFunctionCall","src":"2521:23:67"},"nativeSrc":"2521:23:67","nodeType":"YulExpressionStatement","src":"2521:23:67"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"2564:4:67","nodeType":"YulLiteral","src":"2564:4:67","type":"","value":"0x20"},{"name":"opHash","nativeSrc":"2570:6:67","nodeType":"YulIdentifier","src":"2570:6:67"}],"functionName":{"name":"mstore","nativeSrc":"2557:6:67","nodeType":"YulIdentifier","src":"2557:6:67"},"nativeSrc":"2557:20:67","nodeType":"YulFunctionCall","src":"2557:20:67"},"nativeSrc":"2557:20:67","nodeType":"YulExpressionStatement","src":"2557:20:67"},{"nativeSrc":"2590:36:67","nodeType":"YulAssignment","src":"2590:36:67","value":{"arguments":[{"kind":"number","nativeSrc":"2615:4:67","nodeType":"YulLiteral","src":"2615:4:67","type":"","value":"0x00"},{"kind":"number","nativeSrc":"2621:4:67","nodeType":"YulLiteral","src":"2621:4:67","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"2605:9:67","nodeType":"YulIdentifier","src":"2605:9:67"},"nativeSrc":"2605:21:67","nodeType":"YulFunctionCall","src":"2605:21:67"},"variableNames":[{"name":"expectedKey","nativeSrc":"2590:11:67","nodeType":"YulIdentifier","src":"2590:11:67"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":67628,"isOffset":false,"isSlot":false,"src":"2590:11:67","valueSize":1},{"declaration":67623,"isOffset":false,"isSlot":false,"src":"2534:9:67","valueSize":1},{"declaration":67609,"isOffset":false,"isSlot":false,"src":"2570:6:67","valueSize":1}],"id":67630,"nodeType":"InlineAssembly","src":"2498:138:67"},{"assignments":[67632],"declarations":[{"constant":false,"id":67632,"mutability":"mutable","name":"expectedSlot","nameLocation":"2653:12:67","nodeType":"VariableDeclaration","scope":67644,"src":"2645:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67631,"name":"uint256","nodeType":"ElementaryTypeName","src":"2645:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67637,"initialValue":{"arguments":[{"id":67635,"name":"expectedKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67628,"src":"2676:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2668:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67633,"name":"uint256","nodeType":"ElementaryTypeName","src":"2668:7:67","typeDescriptions":{}}},"id":67636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2668:20:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2645:43:67"},{"expression":{"arguments":[{"id":67639,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67616,"src":"2708:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67640,"name":"expectedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67632,"src":"2714:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5a65726f206f70486173682073686f756c642070726f647563652076616c696420736c6f74","id":67641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2728:39:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_90ca9a8096b08b154b6a8e0967f75bfdb1cad46799b8c5ae3dc1dec7141c4fc0","typeString":"literal_string \"Zero opHash should produce valid slot\""},"value":"Zero opHash should produce valid slot"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_90ca9a8096b08b154b6a8e0967f75bfdb1cad46799b8c5ae3dc1dec7141c4fc0","typeString":"literal_string \"Zero opHash should produce valid slot\""}],"id":67638,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"2699:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":67642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2699:69:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67643,"nodeType":"ExpressionStatement","src":"2699:69:67"}]},"functionSelector":"4b3ce4b1","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessSlot_ZeroOpHash","nameLocation":"2251:27:67","parameters":{"id":67606,"nodeType":"ParameterList","parameters":[],"src":"2278:2:67"},"returnParameters":{"id":67607,"nodeType":"ParameterList","parameters":[],"src":"2293:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67689,"nodeType":"FunctionDefinition","src":"2781:547:67","nodes":[],"body":{"id":67688,"nodeType":"Block","src":"2831:497:67","nodes":[],"statements":[{"assignments":[67649],"declarations":[{"constant":false,"id":67649,"mutability":"mutable","name":"opHash","nameLocation":"2849:6:67","nodeType":"VariableDeclaration","scope":67688,"src":"2841:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2841:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67658,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":67654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2871:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67653,"name":"uint256","nodeType":"ElementaryTypeName","src":"2871:7:67","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":67652,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2866:4:67","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":67655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2866:13:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":67656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2880:3:67","memberName":"max","nodeType":"MemberAccess","src":"2866:17:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2858:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":67650,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2858:7:67","typeDescriptions":{}}},"id":67657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2858:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2841:43:67"},{"assignments":[67660],"declarations":[{"constant":false,"id":67660,"mutability":"mutable","name":"slot","nameLocation":"2902:4:67","nodeType":"VariableDeclaration","scope":67688,"src":"2894:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67659,"name":"uint256","nodeType":"ElementaryTypeName","src":"2894:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67665,"initialValue":{"arguments":[{"id":67663,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67649,"src":"2939:6:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67661,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"2909:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2927:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"2909:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2909:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2894:52:67"},{"assignments":[67667],"declarations":[{"constant":false,"id":67667,"mutability":"mutable","name":"namespace","nameLocation":"2965:9:67","nodeType":"VariableDeclaration","scope":67688,"src":"2957:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2957:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67670,"initialValue":{"expression":{"id":67668,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"2977:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2995:18:67","memberName":"SENTINEL_NAMESPACE","nodeType":"MemberAccess","referencedDeclaration":51507,"src":"2977:36:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2957:56:67"},{"assignments":[67672],"declarations":[{"constant":false,"id":67672,"mutability":"mutable","name":"expectedKey","nameLocation":"3031:11:67","nodeType":"VariableDeclaration","scope":67688,"src":"3023:19:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3023:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67673,"nodeType":"VariableDeclarationStatement","src":"3023:19:67"},{"AST":{"nativeSrc":"3061:129:67","nodeType":"YulBlock","src":"3061:129:67","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3082:4:67","nodeType":"YulLiteral","src":"3082:4:67","type":"","value":"0x00"},{"name":"namespace","nativeSrc":"3088:9:67","nodeType":"YulIdentifier","src":"3088:9:67"}],"functionName":{"name":"mstore","nativeSrc":"3075:6:67","nodeType":"YulIdentifier","src":"3075:6:67"},"nativeSrc":"3075:23:67","nodeType":"YulFunctionCall","src":"3075:23:67"},"nativeSrc":"3075:23:67","nodeType":"YulExpressionStatement","src":"3075:23:67"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3118:4:67","nodeType":"YulLiteral","src":"3118:4:67","type":"","value":"0x20"},{"name":"opHash","nativeSrc":"3124:6:67","nodeType":"YulIdentifier","src":"3124:6:67"}],"functionName":{"name":"mstore","nativeSrc":"3111:6:67","nodeType":"YulIdentifier","src":"3111:6:67"},"nativeSrc":"3111:20:67","nodeType":"YulFunctionCall","src":"3111:20:67"},"nativeSrc":"3111:20:67","nodeType":"YulExpressionStatement","src":"3111:20:67"},{"nativeSrc":"3144:36:67","nodeType":"YulAssignment","src":"3144:36:67","value":{"arguments":[{"kind":"number","nativeSrc":"3169:4:67","nodeType":"YulLiteral","src":"3169:4:67","type":"","value":"0x00"},{"kind":"number","nativeSrc":"3175:4:67","nodeType":"YulLiteral","src":"3175:4:67","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"3159:9:67","nodeType":"YulIdentifier","src":"3159:9:67"},"nativeSrc":"3159:21:67","nodeType":"YulFunctionCall","src":"3159:21:67"},"variableNames":[{"name":"expectedKey","nativeSrc":"3144:11:67","nodeType":"YulIdentifier","src":"3144:11:67"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":67672,"isOffset":false,"isSlot":false,"src":"3144:11:67","valueSize":1},{"declaration":67667,"isOffset":false,"isSlot":false,"src":"3088:9:67","valueSize":1},{"declaration":67649,"isOffset":false,"isSlot":false,"src":"3124:6:67","valueSize":1}],"id":67674,"nodeType":"InlineAssembly","src":"3052:138:67"},{"assignments":[67676],"declarations":[{"constant":false,"id":67676,"mutability":"mutable","name":"expectedSlot","nameLocation":"3207:12:67","nodeType":"VariableDeclaration","scope":67688,"src":"3199:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67675,"name":"uint256","nodeType":"ElementaryTypeName","src":"3199:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67681,"initialValue":{"arguments":[{"id":67679,"name":"expectedKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67672,"src":"3230:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3222:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67677,"name":"uint256","nodeType":"ElementaryTypeName","src":"3222:7:67","typeDescriptions":{}}},"id":67680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3222:20:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3199:43:67"},{"expression":{"arguments":[{"id":67683,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67660,"src":"3262:4:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67684,"name":"expectedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67676,"src":"3268:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"4d6178206f70486173682073686f756c642070726f647563652076616c696420736c6f74","id":67685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3282:38:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_4db22b169ab81a08b2d6fc0df9f39ca51baaa7ab058a03544420a8d04f734122","typeString":"literal_string \"Max opHash should produce valid slot\""},"value":"Max opHash should produce valid slot"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_4db22b169ab81a08b2d6fc0df9f39ca51baaa7ab058a03544420a8d04f734122","typeString":"literal_string \"Max opHash should produce valid slot\""}],"id":67682,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"3253:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":67686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3253:68:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67687,"nodeType":"ExpressionStatement","src":"3253:68:67"}]},"functionSelector":"39ec829a","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessSlot_MaxOpHash","nameLocation":"2790:26:67","parameters":{"id":67646,"nodeType":"ParameterList","parameters":[],"src":"2816:2:67"},"returnParameters":{"id":67647,"nodeType":"ParameterList","parameters":[],"src":"2831:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67843,"nodeType":"FunctionDefinition","src":"3334:881:67","nodes":[],"body":{"id":67842,"nodeType":"Block","src":"3390:825:67","nodes":[],"statements":[{"assignments":[67696],"declarations":[{"constant":false,"id":67696,"mutability":"mutable","name":"opHashes","nameLocation":"3417:8:67","nodeType":"VariableDeclaration","scope":67842,"src":"3400:25:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":67694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3400:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67695,"nodeType":"ArrayTypeName","src":"3400:9:67","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":67702,"initialValue":{"arguments":[{"hexValue":"35","id":67700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3442:1:67","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":67699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3428:13:67","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":67697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3432:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67698,"nodeType":"ArrayTypeName","src":"3432:9:67","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":67701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3428:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3400:44:67"},{"expression":{"id":67709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67703,"name":"opHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67696,"src":"3454:8:67","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67705,"indexExpression":{"hexValue":"30","id":67704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3463:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3454:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6f7031","id":67707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3478:5:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c","typeString":"literal_string \"op1\""},"value":"op1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c","typeString":"literal_string \"op1\""}],"id":67706,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3468:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3468:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3454:30:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67710,"nodeType":"ExpressionStatement","src":"3454:30:67"},{"expression":{"id":67717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67711,"name":"opHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67696,"src":"3494:8:67","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67713,"indexExpression":{"hexValue":"31","id":67712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3503:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3494:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6f7032","id":67715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3518:5:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd103","typeString":"literal_string \"op2\""},"value":"op2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd103","typeString":"literal_string \"op2\""}],"id":67714,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3508:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3508:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3494:30:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67718,"nodeType":"ExpressionStatement","src":"3494:30:67"},{"expression":{"id":67736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67719,"name":"opHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67696,"src":"3534:8:67","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67721,"indexExpression":{"hexValue":"32","id":67720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3543:1:67","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3534:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"636f6d706c6578","id":67725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3575:9:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4a42e8534ebf0104d25f612e69df2c56359a8b88de026c0624ed81f1672b79b","typeString":"literal_string \"complex\""},"value":"complex"},{"arguments":[{"hexValue":"313233","id":67728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3594:3:67","typeDescriptions":{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"},"value":"123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"}],"id":67727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3586:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67726,"name":"uint256","nodeType":"ElementaryTypeName","src":"3586:7:67","typeDescriptions":{}}},"id":67729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3586:12:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"3078313233","id":67732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3608:5:67","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":67731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3600:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67730,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:67","typeDescriptions":{}}},"id":67733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3600:14:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4a42e8534ebf0104d25f612e69df2c56359a8b88de026c0624ed81f1672b79b","typeString":"literal_string \"complex\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67723,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3558:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3562:12:67","memberName":"encodePacked","nodeType":"MemberAccess","src":"3558:16:67","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":67734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3558:57:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":67722,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3548:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3548:68:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3534:82:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67737,"nodeType":"ExpressionStatement","src":"3534:82:67"},{"expression":{"id":67754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67738,"name":"opHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67696,"src":"3626:8:67","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67740,"indexExpression":{"hexValue":"33","id":67739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3635:1:67","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3626:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"31323334353637383930","id":67746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3675:10:67","typeDescriptions":{"typeIdentifier":"t_rational_1234567890_by_1","typeString":"int_const 1234567890"},"value":"1234567890"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1234567890_by_1","typeString":"int_const 1234567890"}],"id":67745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3667:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67744,"name":"uint256","nodeType":"ElementaryTypeName","src":"3667:7:67","typeDescriptions":{}}},"id":67747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3667:19:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"3078313233","id":67750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3696:5:67","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"0x123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"}],"id":67749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3688:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67748,"name":"address","nodeType":"ElementaryTypeName","src":"3688:7:67","typeDescriptions":{}}},"id":67751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3688:14:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3650:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3654:12:67","memberName":"encodePacked","nodeType":"MemberAccess","src":"3650:16:67","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":67752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3650:53:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":67741,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3640:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3640:64:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3626:78:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67755,"nodeType":"ExpressionStatement","src":"3626:78:67"},{"expression":{"id":67766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67756,"name":"opHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67696,"src":"3714:8:67","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67758,"indexExpression":{"hexValue":"34","id":67757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3723:1:67","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3714:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"3078313233343536373839616263646566","id":67763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3744:17:67","typeDescriptions":{"typeIdentifier":"t_rational_81985529216486895_by_1","typeString":"int_const 81985529216486895"},"value":"0x123456789abcdef"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_81985529216486895_by_1","typeString":"int_const 81985529216486895"}],"id":67762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3736:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67761,"name":"uint256","nodeType":"ElementaryTypeName","src":"3736:7:67","typeDescriptions":{}}},"id":67764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3736:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3728:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":67759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3728:7:67","typeDescriptions":{}}},"id":67765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3728:35:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3714:49:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67767,"nodeType":"ExpressionStatement","src":"3714:49:67"},{"assignments":[67772],"declarations":[{"constant":false,"id":67772,"mutability":"mutable","name":"slots","nameLocation":"3791:5:67","nodeType":"VariableDeclaration","scope":67842,"src":"3774:22:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":67770,"name":"uint256","nodeType":"ElementaryTypeName","src":"3774:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67771,"nodeType":"ArrayTypeName","src":"3774:9:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":67778,"initialValue":{"arguments":[{"hexValue":"35","id":67776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3813:1:67","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":67775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3799:13:67","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":67773,"name":"uint256","nodeType":"ElementaryTypeName","src":"3803:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67774,"nodeType":"ArrayTypeName","src":"3803:9:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":67777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3799:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3774:41:67"},{"body":{"id":67801,"nodeType":"Block","src":"3871:78:67","statements":[{"expression":{"id":67799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67790,"name":"slots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"3885:5:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67792,"indexExpression":{"id":67791,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67780,"src":"3891:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3885:8:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":67795,"name":"opHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67696,"src":"3926:8:67","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67797,"indexExpression":{"id":67796,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67780,"src":"3935:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3926:11:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67793,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"3896:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3914:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"3896:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3896:42:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3885:53:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67800,"nodeType":"ExpressionStatement","src":"3885:53:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67783,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67780,"src":"3845:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67784,"name":"opHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67696,"src":"3849:8:67","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3858:6:67","memberName":"length","nodeType":"MemberAccess","src":"3849:15:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3845:19:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67802,"initializationExpression":{"assignments":[67780],"declarations":[{"constant":false,"id":67780,"mutability":"mutable","name":"i","nameLocation":"3838:1:67","nodeType":"VariableDeclaration","scope":67802,"src":"3830:9:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67779,"name":"uint256","nodeType":"ElementaryTypeName","src":"3830:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67782,"initialValue":{"hexValue":"30","id":67781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3842:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3830:13:67"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":67788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3866:3:67","subExpression":{"id":67787,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67780,"src":"3866:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67789,"nodeType":"ExpressionStatement","src":"3866:3:67"},"nodeType":"ForStatement","src":"3825:124:67"},{"body":{"id":67840,"nodeType":"Block","src":"4043:166:67","statements":[{"body":{"id":67838,"nodeType":"Block","src":"4104:95:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67828,"name":"slots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"4133:5:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67830,"indexExpression":{"id":67829,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"4139:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4133:8:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"baseExpression":{"id":67831,"name":"slots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"4145:5:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67833,"indexExpression":{"id":67832,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67815,"src":"4151:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4145:8:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4133:20:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416c6c20736c6f74732073686f756c6420626520756e69717565","id":67835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4155:28:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3ae66c98688d1c7049a802487ff5ef468c77d3db7659bcc353a2189a9e74fd8","typeString":"literal_string \"All slots should be unique\""},"value":"All slots should be unique"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f3ae66c98688d1c7049a802487ff5ef468c77d3db7659bcc353a2189a9e74fd8","typeString":"literal_string \"All slots should be unique\""}],"id":67827,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"4122:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4122:62:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67837,"nodeType":"ExpressionStatement","src":"4122:62:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67820,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67815,"src":"4081:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67821,"name":"slots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"4085:5:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4091:6:67","memberName":"length","nodeType":"MemberAccess","src":"4085:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4081:16:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67839,"initializationExpression":{"assignments":[67815],"declarations":[{"constant":false,"id":67815,"mutability":"mutable","name":"j","nameLocation":"4070:1:67","nodeType":"VariableDeclaration","scope":67839,"src":"4062:9:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67814,"name":"uint256","nodeType":"ElementaryTypeName","src":"4062:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67819,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67816,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"4074:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4078:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4074:5:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4062:17:67"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":67825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4099:3:67","subExpression":{"id":67824,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67815,"src":"4099:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67826,"nodeType":"ExpressionStatement","src":"4099:3:67"},"nodeType":"ForStatement","src":"4057:142:67"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67807,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"4020:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67808,"name":"slots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"4024:5:67","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":67809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4030:6:67","memberName":"length","nodeType":"MemberAccess","src":"4024:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4020:16:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67841,"initializationExpression":{"assignments":[67804],"declarations":[{"constant":false,"id":67804,"mutability":"mutable","name":"i","nameLocation":"4013:1:67","nodeType":"VariableDeclaration","scope":67841,"src":"4005:9:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67803,"name":"uint256","nodeType":"ElementaryTypeName","src":"4005:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67806,"initialValue":{"hexValue":"30","id":67805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4017:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4005:13:67"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":67812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4038:3:67","subExpression":{"id":67811,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67804,"src":"4038:1:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67813,"nodeType":"ExpressionStatement","src":"4038:3:67"},"nodeType":"ForStatement","src":"4000:209:67"}]},"functionSelector":"164459b3","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessSlot_VariousOpHashes","nameLocation":"3343:32:67","parameters":{"id":67690,"nodeType":"ParameterList","parameters":[],"src":"3375:2:67"},"returnParameters":{"id":67691,"nodeType":"ParameterList","parameters":[],"src":"3390:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67884,"nodeType":"FunctionDefinition","src":"4221:621:67","nodes":[],"body":{"id":67883,"nodeType":"Block","src":"4281:561:67","nodes":[],"statements":[{"assignments":[67847],"declarations":[{"constant":false,"id":67847,"mutability":"mutable","name":"opHash","nameLocation":"4397:6:67","nodeType":"VariableDeclaration","scope":67883,"src":"4389:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4389:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67851,"initialValue":{"arguments":[{"hexValue":"617373656d626c792d74657374","id":67849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4416:15:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_e24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d8","typeString":"literal_string \"assembly-test\""},"value":"assembly-test"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d8","typeString":"literal_string \"assembly-test\""}],"id":67848,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4406:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4406:26:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4389:43:67"},{"assignments":[67853],"declarations":[{"constant":false,"id":67853,"mutability":"mutable","name":"namespace","nameLocation":"4450:9:67","nodeType":"VariableDeclaration","scope":67883,"src":"4442:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4442:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67856,"initialValue":{"expression":{"id":67854,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"4462:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4480:18:67","memberName":"SENTINEL_NAMESPACE","nodeType":"MemberAccess","referencedDeclaration":51507,"src":"4462:36:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4442:56:67"},{"assignments":[67858],"declarations":[{"constant":false,"id":67858,"mutability":"mutable","name":"assemblySlot","nameLocation":"4561:12:67","nodeType":"VariableDeclaration","scope":67883,"src":"4553:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67857,"name":"uint256","nodeType":"ElementaryTypeName","src":"4553:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67863,"initialValue":{"arguments":[{"id":67861,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67847,"src":"4606:6:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67859,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"4576:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4594:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"4576:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4553:60:67"},{"assignments":[67865],"declarations":[{"constant":false,"id":67865,"mutability":"mutable","name":"soliditySlot","nameLocation":"4663:12:67","nodeType":"VariableDeclaration","scope":67883,"src":"4655:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67864,"name":"uint256","nodeType":"ElementaryTypeName","src":"4655:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67876,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":67871,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67853,"src":"4707:9:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":67872,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67847,"src":"4718:6:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67869,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4696:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4700:6:67","memberName":"encode","nodeType":"MemberAccess","src":"4696:10:67","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":67873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4696:29:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":67868,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4686:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4686:40:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4678:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67866,"name":"uint256","nodeType":"ElementaryTypeName","src":"4678:7:67","typeDescriptions":{}}},"id":67875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4678:49:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4655:72:67"},{"expression":{"arguments":[{"id":67878,"name":"assemblySlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67858,"src":"4747:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67879,"name":"soliditySlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67865,"src":"4761:12:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"417373656d626c792073686f756c64206d6174636820536f6c6964697479206b656363616b323536286162692e656e636f6465282e2e2e2929","id":67880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:59:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9ad39636d8cdcd5f2a673ae6ad2e4711498408a2d09682d75b48bf270955d8f","typeString":"literal_string \"Assembly should match Solidity keccak256(abi.encode(...))\""},"value":"Assembly should match Solidity keccak256(abi.encode(...))"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_d9ad39636d8cdcd5f2a673ae6ad2e4711498408a2d09682d75b48bf270955d8f","typeString":"literal_string \"Assembly should match Solidity keccak256(abi.encode(...))\""}],"id":67877,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"4738:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":67881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4738:97:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67882,"nodeType":"ExpressionStatement","src":"4738:97:67"}]},"functionSelector":"e03e2e49","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessSlot_AssemblyCorrectness","nameLocation":"4230:36:67","parameters":{"id":67844,"nodeType":"ParameterList","parameters":[],"src":"4266:2:67"},"returnParameters":{"id":67845,"nodeType":"ParameterList","parameters":[],"src":"4281:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67908,"nodeType":"FunctionDefinition","src":"4848:454:67","nodes":[],"body":{"id":67907,"nodeType":"Block","src":"4898:404:67","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":67888,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"4997:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5015:13:67","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"4997:31:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":67890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5030:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"535543434553535f56414c55452073686f756c642062652031","id":67891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5033:27:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ec6e6fdc7cdd0fc112aea7be8ab0a111327d6c9e1db5a05f891fb9fa1064ba5","typeString":"literal_string \"SUCCESS_VALUE should be 1\""},"value":"SUCCESS_VALUE should be 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_2ec6e6fdc7cdd0fc112aea7be8ab0a111327d6c9e1db5a05f891fb9fa1064ba5","typeString":"literal_string \"SUCCESS_VALUE should be 1\""}],"id":67887,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":706,"src":"4988:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":67892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4988:73:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67893,"nodeType":"ExpressionStatement","src":"4988:73:67"},{"assignments":[67895],"declarations":[{"constant":false,"id":67895,"mutability":"mutable","name":"expectedNamespace","nameLocation":"5080:17:67","nodeType":"VariableDeclaration","scope":67907,"src":"5072:25:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5072:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67899,"initialValue":{"arguments":[{"hexValue":"6f72672e73657175656e63652e747261696c732e726f757465722e73656e74696e656c","id":67897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5110:37:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""},"value":"org.sequence.trails.router.sentinel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""}],"id":67896,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5100:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5100:48:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5072:76:67"},{"expression":{"arguments":[{"expression":{"id":67901,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"5180:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5198:18:67","memberName":"SENTINEL_NAMESPACE","nodeType":"MemberAccess","referencedDeclaration":51507,"src":"5180:36:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":67903,"name":"expectedNamespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67895,"src":"5218:17:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"53454e54494e454c5f4e414d4553504143452073686f756c64206d617463682065787065637465642076616c7565","id":67904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5237:48:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_2e0f572377e6ec5b2388a6ed6abe85837fb9814ca96a160b12edaa6adccc31ac","typeString":"literal_string \"SENTINEL_NAMESPACE should match expected value\""},"value":"SENTINEL_NAMESPACE should match expected value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_2e0f572377e6ec5b2388a6ed6abe85837fb9814ca96a160b12edaa6adccc31ac","typeString":"literal_string \"SENTINEL_NAMESPACE should match expected value\""}],"id":67900,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":913,"src":"5158:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":67905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5158:137:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67906,"nodeType":"ExpressionStatement","src":"5158:137:67"}]},"functionSelector":"ac67dd27","implemented":true,"kind":"function","modifiers":[],"name":"test_Constants_DoNotChange","nameLocation":"4857:26:67","parameters":{"id":67885,"nodeType":"ParameterList","parameters":[],"src":"4883:2:67"},"returnParameters":{"id":67886,"nodeType":"ParameterList","parameters":[],"src":"4898:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67924,"nodeType":"FunctionDefinition","src":"5308:354:67","nodes":[],"body":{"id":67923,"nodeType":"Block","src":"5366:296:67","nodes":[],"statements":[{"assignments":[67912],"declarations":[{"constant":false,"id":67912,"mutability":"mutable","name":"expected","nameLocation":"5446:8:67","nodeType":"VariableDeclaration","scope":67923,"src":"5438:16:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5438:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67916,"initialValue":{"arguments":[{"hexValue":"6f72672e73657175656e63652e747261696c732e726f757465722e73656e74696e656c","id":67914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5467:37:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""},"value":"org.sequence.trails.router.sentinel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e2","typeString":"literal_string \"org.sequence.trails.router.sentinel\""}],"id":67913,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5457:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5457:48:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5438:67:67"},{"expression":{"arguments":[{"expression":{"id":67918,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"5524:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5542:18:67","memberName":"SENTINEL_NAMESPACE","nodeType":"MemberAccess","referencedDeclaration":51507,"src":"5524:36:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":67920,"name":"expected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67912,"src":"5562:8:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67917,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":890,"src":"5515:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":67921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5515:56:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67922,"nodeType":"ExpressionStatement","src":"5515:56:67"}]},"functionSelector":"62e0bb51","implemented":true,"kind":"function","modifiers":[],"name":"test_SentinelNamespace_Computation","nameLocation":"5317:34:67","parameters":{"id":67909,"nodeType":"ParameterList","parameters":[],"src":"5351:2:67"},"returnParameters":{"id":67910,"nodeType":"ParameterList","parameters":[],"src":"5366:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67951,"nodeType":"FunctionDefinition","src":"5668:336:67","nodes":[],"body":{"id":67950,"nodeType":"Block","src":"5715:289:67","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":67928,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"5782:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5800:13:67","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"5782:31:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"31","id":67932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5823:1:67","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":67931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5815:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67930,"name":"uint256","nodeType":"ElementaryTypeName","src":"5815:7:67","typeDescriptions":{}}},"id":67933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5815:10:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67927,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"5773:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5773:53:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67935,"nodeType":"ExpressionStatement","src":"5773:53:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"id":67937,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"5902:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5920:13:67","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"5902:31:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":67939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5937:1:67","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5902:36:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67936,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":568,"src":"5891:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5891:48:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67942,"nodeType":"ExpressionStatement","src":"5891:48:67"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"id":67944,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"5960:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5978:13:67","memberName":"SUCCESS_VALUE","nodeType":"MemberAccess","referencedDeclaration":51513,"src":"5960:31:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"32","id":67946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5995:1:67","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5960:36:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67943,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":568,"src":"5949:10:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5949:48:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67949,"nodeType":"ExpressionStatement","src":"5949:48:67"}]},"functionSelector":"e8b75453","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessValue_IsOne","nameLocation":"5677:23:67","parameters":{"id":67925,"nodeType":"ParameterList","parameters":[],"src":"5700:2:67"},"returnParameters":{"id":67926,"nodeType":"ParameterList","parameters":[],"src":"5715:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":67987,"nodeType":"FunctionDefinition","src":"6010:457:67","nodes":[],"body":{"id":67986,"nodeType":"Block","src":"6071:396:67","nodes":[],"statements":[{"assignments":[67955],"declarations":[{"constant":false,"id":67955,"mutability":"mutable","name":"opHash","nameLocation":"6089:6:67","nodeType":"VariableDeclaration","scope":67986,"src":"6081:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6081:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67959,"initialValue":{"arguments":[{"hexValue":"74657374","id":67957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6108:6:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658","typeString":"literal_string \"test\""},"value":"test"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658","typeString":"literal_string \"test\""}],"id":67956,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6098:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6098:17:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6081:34:67"},{"assignments":[67961],"declarations":[{"constant":false,"id":67961,"mutability":"mutable","name":"expectedSlot","nameLocation":"6186:12:67","nodeType":"VariableDeclaration","scope":67986,"src":"6178:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6178:7:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67970,"initialValue":{"arguments":[{"arguments":[{"expression":{"id":67965,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"6222:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6240:18:67","memberName":"SENTINEL_NAMESPACE","nodeType":"MemberAccess","referencedDeclaration":51507,"src":"6222:36:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":67967,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"6260:6:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67963,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6211:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6215:6:67","memberName":"encode","nodeType":"MemberAccess","src":"6211:10:67","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":67968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6211:56:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":67962,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6201:9:67","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6201:67:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6178:90:67"},{"assignments":[67972],"declarations":[{"constant":false,"id":67972,"mutability":"mutable","name":"actualSlot","nameLocation":"6287:10:67","nodeType":"VariableDeclaration","scope":67986,"src":"6279:18:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67971,"name":"uint256","nodeType":"ElementaryTypeName","src":"6279:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67977,"initialValue":{"arguments":[{"id":67975,"name":"opHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67955,"src":"6330:6:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67973,"name":"TrailsSentinelLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51527,"src":"6300:17:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsSentinelLib_$51527_$","typeString":"type(library TrailsSentinelLib)"}},"id":67974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6318:11:67","memberName":"successSlot","nodeType":"MemberAccess","referencedDeclaration":51526,"src":"6300:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) pure returns (uint256)"}},"id":67976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6300:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6279:58:67"},{"expression":{"arguments":[{"id":67979,"name":"actualSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67972,"src":"6356:10:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":67982,"name":"expectedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67961,"src":"6376:12:67","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6368:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67980,"name":"uint256","nodeType":"ElementaryTypeName","src":"6368:7:67","typeDescriptions":{}}},"id":67983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6368:21:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67978,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"6347:8:67","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:43:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67985,"nodeType":"ExpressionStatement","src":"6347:43:67"}]},"functionSelector":"7bb3227b","implemented":true,"kind":"function","modifiers":[],"name":"test_SuccessSlot_UsesCorrectNamespace","nameLocation":"6019:37:67","parameters":{"id":67952,"nodeType":"ParameterList","parameters":[],"src":"6056:2:67"},"returnParameters":{"id":67953,"nodeType":"ParameterList","parameters":[],"src":"6071:0:67"},"scope":67988,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":67469,"name":"Test","nameLocations":["384:4:67"],"nodeType":"IdentifierPath","referencedDeclaration":13474,"src":"384:4:67"},"id":67470,"nodeType":"InheritanceSpecifier","src":"384:4:67"}],"canonicalName":"TrailsSentinelLibTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[67988,13474,13420,7443,7042,6247,4157,3194,285,282],"name":"TrailsSentinelLibTest","nameLocation":"359:21:67","scope":67989,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477]}],"license":"MIT"}},"test/mocks/MockERC20.sol":{"id":68,"ast":{"absolutePath":"test/mocks/MockERC20.sol","id":68038,"exportedSymbols":{"ERC20":[40845],"MockERC20":[68037]},"nodeType":"SourceUnit","src":"32:657:68","nodes":[{"id":67990,"nodeType":"PragmaDirective","src":"32:24:68","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":67992,"nodeType":"ImportDirective","src":"58:68:68","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":68038,"sourceUnit":40846,"symbolAliases":[{"foreign":{"id":67991,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40845,"src":"66:5:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68037,"nodeType":"ContractDefinition","src":"308:380:68","nodes":[{"id":67996,"nodeType":"VariableDeclaration","src":"342:23:68","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"356:9:68","scope":68037,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67995,"name":"uint8","nodeType":"ElementaryTypeName","src":"342:5:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"private"},{"id":68014,"nodeType":"FunctionDefinition","src":"372:129:68","nodes":[],"body":{"id":68013,"nodeType":"Block","src":"463:38:68","nodes":[],"statements":[{"expression":{"id":68011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68009,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67996,"src":"473:9:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68010,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68002,"src":"485:9:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"473:21:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":68012,"nodeType":"ExpressionStatement","src":"473:21:68"}]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":68005,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67998,"src":"449:4:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":68006,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68000,"src":"455:6:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":68007,"kind":"baseConstructorSpecifier","modifierName":{"id":68004,"name":"ERC20","nameLocations":["443:5:68"],"nodeType":"IdentifierPath","referencedDeclaration":40845,"src":"443:5:68"},"nodeType":"ModifierInvocation","src":"443:19:68"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":68003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67998,"mutability":"mutable","name":"name","nameLocation":"398:4:68","nodeType":"VariableDeclaration","scope":68014,"src":"384:18:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67997,"name":"string","nodeType":"ElementaryTypeName","src":"384:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68000,"mutability":"mutable","name":"symbol","nameLocation":"418:6:68","nodeType":"VariableDeclaration","scope":68014,"src":"404:20:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67999,"name":"string","nodeType":"ElementaryTypeName","src":"404:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68002,"mutability":"mutable","name":"decimals_","nameLocation":"432:9:68","nodeType":"VariableDeclaration","scope":68014,"src":"426:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":68001,"name":"uint8","nodeType":"ElementaryTypeName","src":"426:5:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"383:59:68"},"returnParameters":{"id":68008,"nodeType":"ParameterList","parameters":[],"src":"463:0:68"},"scope":68037,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68023,"nodeType":"FunctionDefinition","src":"507:90:68","nodes":[],"body":{"id":68022,"nodeType":"Block","src":"564:33:68","nodes":[],"statements":[{"expression":{"id":68020,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67996,"src":"581:9:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":68019,"id":68021,"nodeType":"Return","src":"574:16:68"}]},"baseFunctions":[40409],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"516:8:68","overrides":{"id":68016,"nodeType":"OverrideSpecifier","overrides":[],"src":"539:8:68"},"parameters":{"id":68015,"nodeType":"ParameterList","parameters":[],"src":"524:2:68"},"returnParameters":{"id":68019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68023,"src":"557:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":68017,"name":"uint8","nodeType":"ElementaryTypeName","src":"557:5:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"556:7:68"},"scope":68037,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":68036,"nodeType":"FunctionDefinition","src":"603:83:68","nodes":[],"body":{"id":68035,"nodeType":"Block","src":"652:34:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":68031,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68025,"src":"668:2:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68032,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68027,"src":"672:6:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68030,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40685,"src":"662:5:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":68033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"662:17:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68034,"nodeType":"ExpressionStatement","src":"662:17:68"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"612:4:68","parameters":{"id":68028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68025,"mutability":"mutable","name":"to","nameLocation":"625:2:68","nodeType":"VariableDeclaration","scope":68036,"src":"617:10:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68024,"name":"address","nodeType":"ElementaryTypeName","src":"617:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68027,"mutability":"mutable","name":"amount","nameLocation":"637:6:68","nodeType":"VariableDeclaration","scope":68036,"src":"629:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68026,"name":"uint256","nodeType":"ElementaryTypeName","src":"629:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"616:28:68"},"returnParameters":{"id":68029,"nodeType":"ParameterList","parameters":[],"src":"652:0:68"},"scope":68037,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":67993,"name":"ERC20","nameLocations":["330:5:68"],"nodeType":"IdentifierPath","referencedDeclaration":40845,"src":"330:5:68"},"id":67994,"nodeType":"InheritanceSpecifier","src":"330:5:68"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[68037,40845,40194,41103,40923,42337],"name":"MockERC20","nameLocation":"317:9:68","scope":68038,"usedErrors":[40164,40169,40174,40183,40188,40193],"usedEvents":[40857,40866]}],"license":"MIT"}},"test/mocks/MockMulticall3.sol":{"id":69,"ast":{"absolutePath":"test/mocks/MockMulticall3.sol","id":68226,"exportedSymbols":{"IMulticall3":[51190],"MockMulticall3":[68225]},"nodeType":"SourceUnit","src":"32:1928:69","nodes":[{"id":68039,"nodeType":"PragmaDirective","src":"32:24:69","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":68041,"nodeType":"ImportDirective","src":"58:59:69","nodes":[],"absolutePath":"src/interfaces/IMulticall3.sol","file":"src/interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":68226,"sourceUnit":51191,"symbolAliases":[{"foreign":{"id":68040,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"66:11:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68225,"nodeType":"ContractDefinition","src":"299:1660:69","nodes":[{"id":68043,"nodeType":"VariableDeclaration","src":"329:22:69","nodes":[],"constant":false,"functionSelector":"678d2204","mutability":"mutable","name":"shouldFail","nameLocation":"341:10:69","scope":68225,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68042,"name":"bool","nodeType":"ElementaryTypeName","src":"329:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":68053,"nodeType":"FunctionDefinition","src":"358:91:69","nodes":[],"body":{"id":68052,"nodeType":"Block","src":"408:41:69","nodes":[],"statements":[{"expression":{"id":68050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68048,"name":"shouldFail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"418:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68049,"name":"_shouldFail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68045,"src":"431:11:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"418:24:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68051,"nodeType":"ExpressionStatement","src":"418:24:69"}]},"functionSelector":"a5aa5c12","implemented":true,"kind":"function","modifiers":[],"name":"setShouldFail","nameLocation":"367:13:69","parameters":{"id":68046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68045,"mutability":"mutable","name":"_shouldFail","nameLocation":"386:11:69","nodeType":"VariableDeclaration","scope":68053,"src":"381:16:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68044,"name":"bool","nodeType":"ElementaryTypeName","src":"381:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"380:18:69"},"returnParameters":{"id":68047,"nodeType":"ParameterList","parameters":[],"src":"408:0:69"},"scope":68225,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":68137,"nodeType":"FunctionDefinition","src":"455:731:69","nodes":[],"body":{"id":68136,"nodeType":"Block","src":"608:578:69","nodes":[],"statements":[{"condition":{"id":68064,"name":"shouldFail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"622:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68070,"nodeType":"IfStatement","src":"618:81:69","trueBody":{"id":68069,"nodeType":"Block","src":"634:65:69","statements":[{"expression":{"arguments":[{"hexValue":"4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265","id":68066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"655:32:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""},"value":"MockMulticall3: forced failure"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""}],"id":68065,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"648:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":68067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"648:40:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68068,"nodeType":"ExpressionStatement","src":"648:40:69"}]}},{"expression":{"id":68079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68071,"name":"returnResults","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68062,"src":"709:13:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":68076,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68057,"src":"750:5:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3 calldata[] calldata"}},"id":68077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"756:6:69","memberName":"length","nodeType":"MemberAccess","src":"750:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"725:24:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Result memory[] memory)"},"typeName":{"baseType":{"id":68073,"nodeType":"UserDefinedTypeName","pathNode":{"id":68072,"name":"IMulticall3.Result","nameLocations":["729:11:69","741:6:69"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"729:18:69"},"referencedDeclaration":51167,"src":"729:18:69","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":68074,"nodeType":"ArrayTypeName","src":"729:20:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}}},"id":68078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"725:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"src":"709:54:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":68080,"nodeType":"ExpressionStatement","src":"709:54:69"},{"body":{"id":68134,"nodeType":"Block","src":"816:364:69","statements":[{"assignments":[68096],"declarations":[{"constant":false,"id":68096,"mutability":"mutable","name":"call","nameLocation":"857:4:69","nodeType":"VariableDeclaration","scope":68134,"src":"830:31:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_calldata_ptr","typeString":"struct IMulticall3.Call3"},"typeName":{"id":68095,"nodeType":"UserDefinedTypeName","pathNode":{"id":68094,"name":"IMulticall3.Call3","nameLocations":["830:11:69","842:5:69"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"830:17:69"},"referencedDeclaration":51153,"src":"830:17:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"visibility":"internal"}],"id":68100,"initialValue":{"baseExpression":{"id":68097,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68057,"src":"864:5:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3 calldata[] calldata"}},"id":68099,"indexExpression":{"id":68098,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68082,"src":"870:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"864:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_calldata_ptr","typeString":"struct IMulticall3.Call3 calldata"}},"nodeType":"VariableDeclarationStatement","src":"830:42:69"},{"assignments":[68102,68104],"declarations":[{"constant":false,"id":68102,"mutability":"mutable","name":"success","nameLocation":"892:7:69","nodeType":"VariableDeclaration","scope":68134,"src":"887:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68101,"name":"bool","nodeType":"ElementaryTypeName","src":"887:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":68104,"mutability":"mutable","name":"returnData","nameLocation":"914:10:69","nodeType":"VariableDeclaration","scope":68134,"src":"901:23:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68103,"name":"bytes","nodeType":"ElementaryTypeName","src":"901:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":68111,"initialValue":{"arguments":[{"expression":{"id":68108,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68096,"src":"945:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_calldata_ptr","typeString":"struct IMulticall3.Call3 calldata"}},"id":68109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"950:8:69","memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":51152,"src":"945:13:69","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68105,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68096,"src":"928:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_calldata_ptr","typeString":"struct IMulticall3.Call3 calldata"}},"id":68106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"933:6:69","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":51148,"src":"928:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"940:4:69","memberName":"call","nodeType":"MemberAccess","src":"928:16:69","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":68110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"928:31:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"886:73:69"},{"expression":{"id":68120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68112,"name":"returnResults","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68062,"src":"973:13:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":68114,"indexExpression":{"id":68113,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68082,"src":"987:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"973:16:69","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68117,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68102,"src":"1021:7:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":68118,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68104,"src":"1042:10:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":68115,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"992:11:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":68116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1004:6:69","memberName":"Result","nodeType":"MemberAccess","referencedDeclaration":51167,"src":"992:18:69","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$51167_storage_ptr_$","typeString":"type(struct IMulticall3.Result storage pointer)"}},"id":68119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1012:7:69","1030:10:69"],"names":["success","returnData"],"nodeType":"FunctionCall","src":"992:62:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"src":"973:81:69","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"id":68121,"nodeType":"ExpressionStatement","src":"973:81:69"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1072:18:69","subExpression":{"expression":{"id":68122,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68096,"src":"1073:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_calldata_ptr","typeString":"struct IMulticall3.Call3 calldata"}},"id":68123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1078:12:69","memberName":"allowFailure","nodeType":"MemberAccess","referencedDeclaration":51150,"src":"1073:17:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":68126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1094:8:69","subExpression":{"id":68125,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68102,"src":"1095:7:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1072:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68133,"nodeType":"IfStatement","src":"1068:102:69","trueBody":{"id":68132,"nodeType":"Block","src":"1104:66:69","statements":[{"expression":{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":68129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1129:25:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":68128,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1122:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":68130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1122:33:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68131,"nodeType":"ExpressionStatement","src":"1122:33:69"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68085,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68082,"src":"793:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68086,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68057,"src":"797:5:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3 calldata[] calldata"}},"id":68087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"803:6:69","memberName":"length","nodeType":"MemberAccess","src":"797:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"793:16:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68135,"initializationExpression":{"assignments":[68082],"declarations":[{"constant":false,"id":68082,"mutability":"mutable","name":"i","nameLocation":"786:1:69","nodeType":"VariableDeclaration","scope":68135,"src":"778:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68081,"name":"uint256","nodeType":"ElementaryTypeName","src":"778:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68084,"initialValue":{"hexValue":"30","id":68083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"790:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"778:13:69"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":68090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"811:3:69","subExpression":{"id":68089,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68082,"src":"811:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68091,"nodeType":"ExpressionStatement","src":"811:3:69"},"nodeType":"ForStatement","src":"773:407:69"}]},"functionSelector":"82ad56cb","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"464:10:69","parameters":{"id":68058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68057,"mutability":"mutable","name":"calls","nameLocation":"504:5:69","nodeType":"VariableDeclaration","scope":68137,"src":"475:34:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":68055,"nodeType":"UserDefinedTypeName","pathNode":{"id":68054,"name":"IMulticall3.Call3","nameLocations":["475:11:69","487:5:69"],"nodeType":"IdentifierPath","referencedDeclaration":51153,"src":"475:17:69"},"referencedDeclaration":51153,"src":"475:17:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$51153_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":68056,"nodeType":"ArrayTypeName","src":"475:19:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$51153_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"474:36:69"},"returnParameters":{"id":68063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68062,"mutability":"mutable","name":"returnResults","nameLocation":"589:13:69","nodeType":"VariableDeclaration","scope":68137,"src":"561:41:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":68060,"nodeType":"UserDefinedTypeName","pathNode":{"id":68059,"name":"IMulticall3.Result","nameLocations":["561:11:69","573:6:69"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"561:18:69"},"referencedDeclaration":51167,"src":"561:18:69","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":68061,"nodeType":"ArrayTypeName","src":"561:20:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"560:43:69"},"scope":68225,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":68224,"nodeType":"FunctionDefinition","src":"1192:765:69","nodes":[],"body":{"id":68223,"nodeType":"Block","src":"1355:602:69","nodes":[],"statements":[{"condition":{"id":68148,"name":"shouldFail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68043,"src":"1369:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68154,"nodeType":"IfStatement","src":"1365:81:69","trueBody":{"id":68153,"nodeType":"Block","src":"1381:65:69","statements":[{"expression":{"arguments":[{"hexValue":"4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265","id":68150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1402:32:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""},"value":"MockMulticall3: forced failure"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b0658d645cc7bedf304a3316489762ed3a6f29d0c35c31a01a13eaf5d47621","typeString":"literal_string \"MockMulticall3: forced failure\""}],"id":68149,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1395:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":68151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1395:40:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68152,"nodeType":"ExpressionStatement","src":"1395:40:69"}]}},{"expression":{"id":68163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68155,"name":"returnResults","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68146,"src":"1456:13:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":68160,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68141,"src":"1497:5:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":68161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1503:6:69","memberName":"length","nodeType":"MemberAccess","src":"1497:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1472:24:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Result memory[] memory)"},"typeName":{"baseType":{"id":68157,"nodeType":"UserDefinedTypeName","pathNode":{"id":68156,"name":"IMulticall3.Result","nameLocations":["1476:11:69","1488:6:69"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"1476:18:69"},"referencedDeclaration":51167,"src":"1476:18:69","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":68158,"nodeType":"ArrayTypeName","src":"1476:20:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}}},"id":68162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1472:38:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"src":"1456:54:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":68164,"nodeType":"ExpressionStatement","src":"1456:54:69"},{"body":{"id":68221,"nodeType":"Block","src":"1563:388:69","statements":[{"assignments":[68180],"declarations":[{"constant":false,"id":68180,"mutability":"mutable","name":"call","nameLocation":"1609:4:69","nodeType":"VariableDeclaration","scope":68221,"src":"1577:36:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value"},"typeName":{"id":68179,"nodeType":"UserDefinedTypeName","pathNode":{"id":68178,"name":"IMulticall3.Call3Value","nameLocations":["1577:11:69","1589:10:69"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"1577:22:69"},"referencedDeclaration":51162,"src":"1577:22:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"visibility":"internal"}],"id":68184,"initialValue":{"baseExpression":{"id":68181,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68141,"src":"1616:5:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":68183,"indexExpression":{"id":68182,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68166,"src":"1622:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1616:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"nodeType":"VariableDeclarationStatement","src":"1577:47:69"},{"assignments":[68186,68188],"declarations":[{"constant":false,"id":68186,"mutability":"mutable","name":"success","nameLocation":"1644:7:69","nodeType":"VariableDeclaration","scope":68221,"src":"1639:12:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68185,"name":"bool","nodeType":"ElementaryTypeName","src":"1639:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":68188,"mutability":"mutable","name":"returnData","nameLocation":"1666:10:69","nodeType":"VariableDeclaration","scope":68221,"src":"1653:23:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68187,"name":"bytes","nodeType":"ElementaryTypeName","src":"1653:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":68198,"initialValue":{"arguments":[{"expression":{"id":68195,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"1716:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":68196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1721:8:69","memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":51161,"src":"1716:13:69","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":68189,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"1680:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":68190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1685:6:69","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":51155,"src":"1680:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1692:4:69","memberName":"call","nodeType":"MemberAccess","src":"1680:16:69","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":68194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":68192,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"1704:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":68193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1709:5:69","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":51159,"src":"1704:10:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"1680:35:69","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":68197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1680:50:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1638:92:69"},{"expression":{"id":68207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68199,"name":"returnResults","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68146,"src":"1744:13:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result memory[] memory"}},"id":68201,"indexExpression":{"id":68200,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68166,"src":"1758:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1744:16:69","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68204,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"1792:7:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":68205,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68188,"src":"1813:10:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":68202,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"1763:11:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$51190_$","typeString":"type(contract IMulticall3)"}},"id":68203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1775:6:69","memberName":"Result","nodeType":"MemberAccess","referencedDeclaration":51167,"src":"1763:18:69","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$51167_storage_ptr_$","typeString":"type(struct IMulticall3.Result storage pointer)"}},"id":68206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1783:7:69","1801:10:69"],"names":["success","returnData"],"nodeType":"FunctionCall","src":"1763:62:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"src":"1744:81:69","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_memory_ptr","typeString":"struct IMulticall3.Result memory"}},"id":68208,"nodeType":"ExpressionStatement","src":"1744:81:69"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":68214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1843:18:69","subExpression":{"expression":{"id":68209,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68180,"src":"1844:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata"}},"id":68210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1849:12:69","memberName":"allowFailure","nodeType":"MemberAccess","referencedDeclaration":51157,"src":"1844:17:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":68213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1865:8:69","subExpression":{"id":68212,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68186,"src":"1866:7:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1843:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68220,"nodeType":"IfStatement","src":"1839:102:69","trueBody":{"id":68219,"nodeType":"Block","src":"1875:66:69","statements":[{"expression":{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":68216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1900:25:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":68215,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1893:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":68217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1893:33:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68218,"nodeType":"ExpressionStatement","src":"1893:33:69"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68169,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68166,"src":"1540:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":68170,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68141,"src":"1544:5:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value calldata[] calldata"}},"id":68171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1550:6:69","memberName":"length","nodeType":"MemberAccess","src":"1544:12:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1540:16:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68222,"initializationExpression":{"assignments":[68166],"declarations":[{"constant":false,"id":68166,"mutability":"mutable","name":"i","nameLocation":"1533:1:69","nodeType":"VariableDeclaration","scope":68222,"src":"1525:9:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68165,"name":"uint256","nodeType":"ElementaryTypeName","src":"1525:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68168,"initialValue":{"hexValue":"30","id":68167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1537:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1525:13:69"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":68174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1558:3:69","subExpression":{"id":68173,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68166,"src":"1558:1:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68175,"nodeType":"ExpressionStatement","src":"1558:3:69"},"nodeType":"ForStatement","src":"1520:431:69"}]},"functionSelector":"174dea71","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"1201:15:69","parameters":{"id":68142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68141,"mutability":"mutable","name":"calls","nameLocation":"1251:5:69","nodeType":"VariableDeclaration","scope":68224,"src":"1217:39:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":68139,"nodeType":"UserDefinedTypeName","pathNode":{"id":68138,"name":"IMulticall3.Call3Value","nameLocations":["1217:11:69","1229:10:69"],"nodeType":"IdentifierPath","referencedDeclaration":51162,"src":"1217:22:69"},"referencedDeclaration":51162,"src":"1217:22:69","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$51162_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":68140,"nodeType":"ArrayTypeName","src":"1217:24:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$51162_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"1216:41:69"},"returnParameters":{"id":68147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68146,"mutability":"mutable","name":"returnResults","nameLocation":"1336:13:69","nodeType":"VariableDeclaration","scope":68224,"src":"1308:41:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":68144,"nodeType":"UserDefinedTypeName","pathNode":{"id":68143,"name":"IMulticall3.Result","nameLocations":["1308:11:69","1320:6:69"],"nodeType":"IdentifierPath","referencedDeclaration":51167,"src":"1308:18:69"},"referencedDeclaration":51167,"src":"1308:18:69","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$51167_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":68145,"nodeType":"ArrayTypeName","src":"1308:20:69","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$51167_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1307:43:69"},"scope":68225,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MockMulticall3","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[68225],"name":"MockMulticall3","nameLocation":"308:14:69","scope":68226,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"test/mocks/MockNonStandardERC20.sol":{"id":70,"ast":{"absolutePath":"test/mocks/MockNonStandardERC20.sol","id":68449,"exportedSymbols":{"MockNonStandardERC20":[68448]},"nodeType":"SourceUnit","src":"32:2515:70","nodes":[{"id":68227,"nodeType":"PragmaDirective","src":"32:24:70","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":68448,"nodeType":"ContractDefinition","src":"258:2288:70","nodes":[{"id":68231,"nodeType":"VariableDeclaration","src":"294:41:70","nodes":[],"constant":false,"functionSelector":"06fdde03","mutability":"mutable","name":"name","nameLocation":"308:4:70","scope":68448,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":68229,"name":"string","nodeType":"ElementaryTypeName","src":"294:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"4e6f6e2d5374616e6461726420546f6b656e","id":68230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"315:20:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_380a940ef99e677e519f2e7579b0e720d38e9e47eb44cb3b9638ae7c7b29a423","typeString":"literal_string \"Non-Standard Token\""},"value":"Non-Standard Token"},"visibility":"public"},{"id":68234,"nodeType":"VariableDeclaration","src":"341:28:70","nodes":[],"constant":false,"functionSelector":"95d89b41","mutability":"mutable","name":"symbol","nameLocation":"355:6:70","scope":68448,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":68232,"name":"string","nodeType":"ElementaryTypeName","src":"341:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"4e5354","id":68233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"364:5:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f439d15f716810815e39f893b8829a4ce078e90d499a2c5dd4b31be763e89ad","typeString":"literal_string \"NST\""},"value":"NST"},"visibility":"public"},{"id":68237,"nodeType":"VariableDeclaration","src":"375:25:70","nodes":[],"constant":false,"functionSelector":"313ce567","mutability":"mutable","name":"decimals","nameLocation":"388:8:70","scope":68448,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":68235,"name":"uint8","nodeType":"ElementaryTypeName","src":"375:5:70","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"36","id":68236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"399:1:70","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"visibility":"public"},{"id":68239,"nodeType":"VariableDeclaration","src":"406:26:70","nodes":[],"constant":false,"functionSelector":"18160ddd","mutability":"mutable","name":"totalSupply","nameLocation":"421:11:70","scope":68448,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68238,"name":"uint256","nodeType":"ElementaryTypeName","src":"406:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":68243,"nodeType":"VariableDeclaration","src":"439:44:70","nodes":[],"constant":false,"functionSelector":"70a08231","mutability":"mutable","name":"balanceOf","nameLocation":"474:9:70","scope":68448,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":68242,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":68240,"name":"address","nodeType":"ElementaryTypeName","src":"447:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"439:27:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":68241,"name":"uint256","nodeType":"ElementaryTypeName","src":"458:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":68249,"nodeType":"VariableDeclaration","src":"489:64:70","nodes":[],"constant":false,"functionSelector":"dd62ed3e","mutability":"mutable","name":"allowance","nameLocation":"544:9:70","scope":68448,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":68248,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":68244,"name":"address","nodeType":"ElementaryTypeName","src":"497:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"489:47:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":68247,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":68245,"name":"address","nodeType":"ElementaryTypeName","src":"516:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"508:27:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":68246,"name":"uint256","nodeType":"ElementaryTypeName","src":"527:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":68257,"nodeType":"EventDefinition","src":"560:72:70","nodes":[],"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"566:8:70","parameters":{"id":68256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68251,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"591:4:70","nodeType":"VariableDeclaration","scope":68257,"src":"575:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68250,"name":"address","nodeType":"ElementaryTypeName","src":"575:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68253,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"613:2:70","nodeType":"VariableDeclaration","scope":68257,"src":"597:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68252,"name":"address","nodeType":"ElementaryTypeName","src":"597:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68255,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"625:5:70","nodeType":"VariableDeclaration","scope":68257,"src":"617:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68254,"name":"uint256","nodeType":"ElementaryTypeName","src":"617:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"574:57:70"}},{"id":68265,"nodeType":"EventDefinition","src":"637:78:70","nodes":[],"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"643:8:70","parameters":{"id":68264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68259,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"668:5:70","nodeType":"VariableDeclaration","scope":68265,"src":"652:21:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68258,"name":"address","nodeType":"ElementaryTypeName","src":"652:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68261,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"691:7:70","nodeType":"VariableDeclaration","scope":68265,"src":"675:23:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68260,"name":"address","nodeType":"ElementaryTypeName","src":"675:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68263,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"708:5:70","nodeType":"VariableDeclaration","scope":68265,"src":"700:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68262,"name":"uint256","nodeType":"ElementaryTypeName","src":"700:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"651:63:70"}},{"id":68292,"nodeType":"FunctionDefinition","src":"721:188:70","nodes":[],"body":{"id":68291,"nodeType":"Block","src":"756:153:70","nodes":[],"statements":[{"expression":{"id":68272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68270,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68239,"src":"766:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68271,"name":"initialSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68267,"src":"780:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"766:27:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68273,"nodeType":"ExpressionStatement","src":"766:27:70"},{"expression":{"id":68279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68274,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68243,"src":"803:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68277,"indexExpression":{"expression":{"id":68275,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"813:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"817:6:70","memberName":"sender","nodeType":"MemberAccess","src":"813:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"803:21:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68278,"name":"initialSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68267,"src":"827:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"803:37:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68280,"nodeType":"ExpressionStatement","src":"803:37:70"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":68284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"872:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"864:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68282,"name":"address","nodeType":"ElementaryTypeName","src":"864:7:70","typeDescriptions":{}}},"id":68285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"864:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":68286,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"876:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"880:6:70","memberName":"sender","nodeType":"MemberAccess","src":"876:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68288,"name":"initialSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68267,"src":"888:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68281,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68257,"src":"855:8:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":68289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"855:47:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68290,"nodeType":"EmitStatement","src":"850:52:70"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":68268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68267,"mutability":"mutable","name":"initialSupply","nameLocation":"741:13:70","nodeType":"VariableDeclaration","scope":68292,"src":"733:21:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68266,"name":"uint256","nodeType":"ElementaryTypeName","src":"733:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"732:23:70"},"returnParameters":{"id":68269,"nodeType":"ParameterList","parameters":[],"src":"756:0:70"},"scope":68448,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68331,"nodeType":"FunctionDefinition","src":"1083:298:70","nodes":[],"body":{"id":68330,"nodeType":"Block","src":"1135:246:70","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":68301,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68243,"src":"1153:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68304,"indexExpression":{"expression":{"id":68302,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1163:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1167:6:70","memberName":"sender","nodeType":"MemberAccess","src":"1163:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1153:21:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":68305,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"1178:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1153:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e73756666696369656e742062616c616e6365","id":68307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1185:22:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5","typeString":"literal_string \"Insufficient balance\""},"value":"Insufficient balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5","typeString":"literal_string \"Insufficient balance\""}],"id":68300,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1145:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1145:63:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68309,"nodeType":"ExpressionStatement","src":"1145:63:70"},{"expression":{"id":68315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68310,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68243,"src":"1218:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68313,"indexExpression":{"expression":{"id":68311,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1228:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1232:6:70","memberName":"sender","nodeType":"MemberAccess","src":"1228:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1218:21:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":68314,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"1243:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1218:30:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68316,"nodeType":"ExpressionStatement","src":"1218:30:70"},{"expression":{"id":68321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68317,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68243,"src":"1258:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68319,"indexExpression":{"id":68318,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68295,"src":"1268:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1258:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":68320,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"1275:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1258:22:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68322,"nodeType":"ExpressionStatement","src":"1258:22:70"},{"eventCall":{"arguments":[{"expression":{"id":68324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1304:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1308:6:70","memberName":"sender","nodeType":"MemberAccess","src":"1304:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68326,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68295,"src":"1316:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68327,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68297,"src":"1320:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68323,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68257,"src":"1295:8:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":68328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1295:31:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68329,"nodeType":"EmitStatement","src":"1290:36:70"}]},"documentation":{"id":68293,"nodeType":"StructuredDocumentation","src":"915:163:70","text":" @notice Transfer tokens - DOES NOT RETURN A BOOLEAN (non-standard)\n @dev This mimics USDT's behavior where transfer doesn't return a value"},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1092:8:70","parameters":{"id":68298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68295,"mutability":"mutable","name":"to","nameLocation":"1109:2:70","nodeType":"VariableDeclaration","scope":68331,"src":"1101:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68294,"name":"address","nodeType":"ElementaryTypeName","src":"1101:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68297,"mutability":"mutable","name":"value","nameLocation":"1121:5:70","nodeType":"VariableDeclaration","scope":68331,"src":"1113:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68296,"name":"uint256","nodeType":"ElementaryTypeName","src":"1113:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1100:27:70"},"returnParameters":{"id":68299,"nodeType":"ParameterList","parameters":[],"src":"1135:0:70"},"scope":68448,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68390,"nodeType":"FunctionDefinition","src":"1587:427:70","nodes":[],"body":{"id":68389,"nodeType":"Block","src":"1657:357:70","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":68342,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68243,"src":"1675:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68344,"indexExpression":{"id":68343,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68334,"src":"1685:4:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1675:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":68345,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"1694:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1675:24:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e73756666696369656e742062616c616e6365","id":68347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1701:22:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5","typeString":"literal_string \"Insufficient balance\""},"value":"Insufficient balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47533c3652efd02135ecc34b3fac8efc7b14bf0618b9392fd6e044a3d8a6eef5","typeString":"literal_string \"Insufficient balance\""}],"id":68341,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1667:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1667:57:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68349,"nodeType":"ExpressionStatement","src":"1667:57:70"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":68351,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68249,"src":"1742:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":68353,"indexExpression":{"id":68352,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68334,"src":"1752:4:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1742:15:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68356,"indexExpression":{"expression":{"id":68354,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1758:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1762:6:70","memberName":"sender","nodeType":"MemberAccess","src":"1758:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1742:27:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":68357,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"1773:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1742:36:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e73756666696369656e7420616c6c6f77616e6365","id":68359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1780:24:70","typeDescriptions":{"typeIdentifier":"t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","typeString":"literal_string \"Insufficient allowance\""},"value":"Insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","typeString":"literal_string \"Insufficient allowance\""}],"id":68350,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1734:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1734:71:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68361,"nodeType":"ExpressionStatement","src":"1734:71:70"},{"expression":{"id":68366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68362,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68243,"src":"1816:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68364,"indexExpression":{"id":68363,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68334,"src":"1826:4:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1816:15:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":68365,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"1835:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1816:24:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68367,"nodeType":"ExpressionStatement","src":"1816:24:70"},{"expression":{"id":68372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68368,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68243,"src":"1850:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68370,"indexExpression":{"id":68369,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68336,"src":"1860:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1850:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":68371,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"1867:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1850:22:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68373,"nodeType":"ExpressionStatement","src":"1850:22:70"},{"expression":{"id":68381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":68374,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68249,"src":"1882:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":68378,"indexExpression":{"id":68375,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68334,"src":"1892:4:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1882:15:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68379,"indexExpression":{"expression":{"id":68376,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1898:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1902:6:70","memberName":"sender","nodeType":"MemberAccess","src":"1898:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1882:27:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":68380,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"1913:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1882:36:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68382,"nodeType":"ExpressionStatement","src":"1882:36:70"},{"eventCall":{"arguments":[{"id":68384,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68334,"src":"1943:4:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68385,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68336,"src":"1949:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68386,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68338,"src":"1953:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68383,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68257,"src":"1934:8:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":68387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68388,"nodeType":"EmitStatement","src":"1929:30:70"}]},"documentation":{"id":68332,"nodeType":"StructuredDocumentation","src":"1387:195:70","text":" @notice Transfer tokens from one address to another - DOES NOT RETURN A BOOLEAN (non-standard)\n @dev This mimics USDT's behavior where transferFrom doesn't return a value"},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1596:12:70","parameters":{"id":68339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68334,"mutability":"mutable","name":"from","nameLocation":"1617:4:70","nodeType":"VariableDeclaration","scope":68390,"src":"1609:12:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68333,"name":"address","nodeType":"ElementaryTypeName","src":"1609:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68336,"mutability":"mutable","name":"to","nameLocation":"1631:2:70","nodeType":"VariableDeclaration","scope":68390,"src":"1623:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68335,"name":"address","nodeType":"ElementaryTypeName","src":"1623:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68338,"mutability":"mutable","name":"value","nameLocation":"1643:5:70","nodeType":"VariableDeclaration","scope":68390,"src":"1635:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68337,"name":"uint256","nodeType":"ElementaryTypeName","src":"1635:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1608:41:70"},"returnParameters":{"id":68340,"nodeType":"ParameterList","parameters":[],"src":"1657:0:70"},"scope":68448,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68419,"nodeType":"FunctionDefinition","src":"2118:198:70","nodes":[],"body":{"id":68418,"nodeType":"Block","src":"2189:127:70","nodes":[],"statements":[{"expression":{"id":68407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":68400,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68249,"src":"2199:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":68404,"indexExpression":{"expression":{"id":68401,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2209:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2213:6:70","memberName":"sender","nodeType":"MemberAccess","src":"2209:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2199:21:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68405,"indexExpression":{"id":68403,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68393,"src":"2221:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2199:30:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":68406,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68395,"src":"2232:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2199:38:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68408,"nodeType":"ExpressionStatement","src":"2199:38:70"},{"eventCall":{"arguments":[{"expression":{"id":68410,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2261:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2265:6:70","memberName":"sender","nodeType":"MemberAccess","src":"2261:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68412,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68393,"src":"2273:7:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68413,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68395,"src":"2282:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68409,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68265,"src":"2252:8:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":68414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2252:36:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68415,"nodeType":"EmitStatement","src":"2247:41:70"},{"expression":{"hexValue":"74727565","id":68416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2305:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":68399,"id":68417,"nodeType":"Return","src":"2298:11:70"}]},"documentation":{"id":68391,"nodeType":"StructuredDocumentation","src":"2020:93:70","text":" @notice Approve spender to spend tokens - DOES return a boolean (standard)"},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2127:7:70","parameters":{"id":68396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68393,"mutability":"mutable","name":"spender","nameLocation":"2143:7:70","nodeType":"VariableDeclaration","scope":68419,"src":"2135:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68392,"name":"address","nodeType":"ElementaryTypeName","src":"2135:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68395,"mutability":"mutable","name":"value","nameLocation":"2160:5:70","nodeType":"VariableDeclaration","scope":68419,"src":"2152:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68394,"name":"uint256","nodeType":"ElementaryTypeName","src":"2152:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2134:32:70"},"returnParameters":{"id":68399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68419,"src":"2183:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68397,"name":"bool","nodeType":"ElementaryTypeName","src":"2183:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2182:6:70"},"scope":68448,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68447,"nodeType":"FunctionDefinition","src":"2377:167:70","nodes":[],"body":{"id":68446,"nodeType":"Block","src":"2426:118:70","nodes":[],"statements":[{"expression":{"id":68429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68427,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68239,"src":"2436:11:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":68428,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68424,"src":"2451:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2436:21:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68430,"nodeType":"ExpressionStatement","src":"2436:21:70"},{"expression":{"id":68435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68431,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68243,"src":"2467:9:70","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":68433,"indexExpression":{"id":68432,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68422,"src":"2477:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2467:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":68434,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68424,"src":"2484:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2467:23:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68436,"nodeType":"ExpressionStatement","src":"2467:23:70"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":68440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2522:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2514:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68438,"name":"address","nodeType":"ElementaryTypeName","src":"2514:7:70","typeDescriptions":{}}},"id":68441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2514:10:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68442,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68422,"src":"2526:2:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68443,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68424,"src":"2530:6:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68437,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68257,"src":"2505:8:70","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":68444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2505:32:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68445,"nodeType":"EmitStatement","src":"2500:37:70"}]},"documentation":{"id":68420,"nodeType":"StructuredDocumentation","src":"2322:50:70","text":" @notice Mint tokens for testing"},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"2386:4:70","parameters":{"id":68425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68422,"mutability":"mutable","name":"to","nameLocation":"2399:2:70","nodeType":"VariableDeclaration","scope":68447,"src":"2391:10:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68421,"name":"address","nodeType":"ElementaryTypeName","src":"2391:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68424,"mutability":"mutable","name":"amount","nameLocation":"2411:6:70","nodeType":"VariableDeclaration","scope":68447,"src":"2403:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68423,"name":"uint256","nodeType":"ElementaryTypeName","src":"2403:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2390:28:70"},"returnParameters":{"id":68426,"nodeType":"ParameterList","parameters":[],"src":"2426:0:70"},"scope":68448,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"MockNonStandardERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":68228,"nodeType":"StructuredDocumentation","src":"58:199:70","text":" @title MockNonStandardERC20\n @notice Mock ERC20 token that doesn't return boolean from transfer/transferFrom\n @dev Mimics tokens like USDT that don't follow the ERC20 standard strictly"},"fullyImplemented":true,"linearizedBaseContracts":[68448],"name":"MockNonStandardERC20","nameLocation":"267:20:70","scope":68449,"usedErrors":[],"usedEvents":[68257,68265]}],"license":"MIT"}},"test/mocks/MockSenderGetter.sol":{"id":71,"ast":{"absolutePath":"test/mocks/MockSenderGetter.sol","id":68461,"exportedSymbols":{"MockSenderGetter":[68460]},"nodeType":"SourceUnit","src":"32:328:71","nodes":[{"id":68450,"nodeType":"PragmaDirective","src":"32:24:71","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":68460,"nodeType":"ContractDefinition","src":"238:121:71","nodes":[{"id":68459,"nodeType":"FunctionDefinition","src":"270:87:71","nodes":[],"body":{"id":68458,"nodeType":"Block","src":"323:34:71","nodes":[],"statements":[{"expression":{"expression":{"id":68455,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"340:3:71","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":68456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"344:6:71","memberName":"sender","nodeType":"MemberAccess","src":"340:10:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68454,"id":68457,"nodeType":"Return","src":"333:17:71"}]},"functionSelector":"5e01eb5a","implemented":true,"kind":"function","modifiers":[],"name":"getSender","nameLocation":"279:9:71","parameters":{"id":68451,"nodeType":"ParameterList","parameters":[],"src":"288:2:71"},"returnParameters":{"id":68454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68459,"src":"314:7:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68452,"name":"address","nodeType":"ElementaryTypeName","src":"314:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"313:9:71"},"scope":68460,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MockSenderGetter","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[68460],"name":"MockSenderGetter","nameLocation":"247:16:71","scope":68461,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"test/script/TrailsIntentEntrypoint.s.t.sol":{"id":72,"ast":{"absolutePath":"test/script/TrailsIntentEntrypoint.s.t.sol","id":68735,"exportedSymbols":{"Create2Utils":[69419],"Test":[13474],"TrailsIntentEntrypoint":[49680],"TrailsIntentEntrypointDeploy":[49059],"TrailsIntentEntrypointDeploymentTest":[68734]},"nodeType":"SourceUnit","src":"32:4729:72","nodes":[{"id":68462,"nodeType":"PragmaDirective","src":"32:24:72","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":68464,"nodeType":"ImportDirective","src":"58:40:72","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":68735,"sourceUnit":13475,"symbolAliases":[{"foreign":{"id":68463,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"66:4:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68466,"nodeType":"ImportDirective","src":"99:91:72","nodes":[],"absolutePath":"script/TrailsIntentEntrypoint.s.sol","file":"script/TrailsIntentEntrypoint.s.sol","nameLocation":"-1:-1:-1","scope":68735,"sourceUnit":49060,"symbolAliases":[{"foreign":{"id":68465,"name":"Deploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49059,"src":"107:6:72","typeDescriptions":{}},"local":"TrailsIntentEntrypointDeploy","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68468,"nodeType":"ImportDirective","src":"191:70:72","nodes":[],"absolutePath":"src/TrailsIntentEntrypoint.sol","file":"src/TrailsIntentEntrypoint.sol","nameLocation":"-1:-1:-1","scope":68735,"sourceUnit":49681,"symbolAliases":[{"foreign":{"id":68467,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"199:22:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68470,"nodeType":"ImportDirective","src":"262:55:72","nodes":[],"absolutePath":"test/utils/Create2Utils.sol","file":"../utils/Create2Utils.sol","nameLocation":"-1:-1:-1","scope":68735,"sourceUnit":69420,"symbolAliases":[{"foreign":{"id":68469,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"270:12:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68734,"nodeType":"ContractDefinition","src":"499:4261:72","nodes":[{"id":68475,"nodeType":"VariableDeclaration","src":"750:51:72","nodes":[],"constant":false,"mutability":"mutable","name":"_deployScript","nameLocation":"788:13:72","scope":68734,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"},"typeName":{"id":68474,"nodeType":"UserDefinedTypeName","pathNode":{"id":68473,"name":"TrailsIntentEntrypointDeploy","nameLocations":["750:28:72"],"nodeType":"IdentifierPath","referencedDeclaration":49059,"src":"750:28:72"},"referencedDeclaration":49059,"src":"750:28:72","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"}},"visibility":"internal"},{"id":68477,"nodeType":"VariableDeclaration","src":"807:26:72","nodes":[],"constant":false,"mutability":"mutable","name":"_deployer","nameLocation":"824:9:72","scope":68734,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68476,"name":"address","nodeType":"ElementaryTypeName","src":"807:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":68479,"nodeType":"VariableDeclaration","src":"839:28:72","nodes":[],"constant":false,"mutability":"mutable","name":"_deployerPk","nameLocation":"856:11:72","scope":68734,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68478,"name":"uint256","nodeType":"ElementaryTypeName","src":"839:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":68481,"nodeType":"VariableDeclaration","src":"873:30:72","nodes":[],"constant":false,"mutability":"mutable","name":"_deployerPkStr","nameLocation":"889:14:72","scope":68734,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":68480,"name":"string","nodeType":"ElementaryTypeName","src":"873:6:72","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":68498,"nodeType":"FunctionDefinition","src":"1160:227:72","nodes":[],"body":{"id":68497,"nodeType":"Block","src":"1243:144:72","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"arguments":[{"id":68489,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"1314:22:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}],"id":68488,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1309:4:72","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":68490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1309:28:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_TrailsIntentEntrypoint_$49680","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":68491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1338:12:72","memberName":"creationCode","nodeType":"MemberAccess","src":"1309:41:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68492,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"1352:12:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Create2Utils_$69419_$","typeString":"type(library Create2Utils)"}},"id":68493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1365:12:72","memberName":"standardSalt","nodeType":"MemberAccess","referencedDeclaration":69418,"src":"1352:25:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":68494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1352:27:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":68486,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"1272:12:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Create2Utils_$69419_$","typeString":"type(library Create2Utils)"}},"id":68487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1285:23:72","memberName":"calculateCreate2Address","nodeType":"MemberAccess","referencedDeclaration":69406,"src":"1272:36:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_payable_$","typeString":"function (bytes memory,bytes32) pure returns (address payable)"}},"id":68495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1272:108:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":68485,"id":68496,"nodeType":"Return","src":"1253:127:72"}]},"implemented":true,"kind":"function","modifiers":[],"name":"expectedIntentEntrypointAddress","nameLocation":"1169:31:72","parameters":{"id":68482,"nodeType":"ParameterList","parameters":[],"src":"1200:2:72"},"returnParameters":{"id":68485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68498,"src":"1226:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":68483,"name":"address","nodeType":"ElementaryTypeName","src":"1226:15:72","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"1225:17:72"},"scope":68734,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":68531,"nodeType":"FunctionDefinition","src":"1569:378:72","nodes":[],"body":{"id":68530,"nodeType":"Block","src":"1593:354:72","nodes":[],"statements":[{"expression":{"id":68506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68501,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68475,"src":"1603:13:72","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":68504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1619:32:72","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Deploy_$49059_$","typeString":"function () returns (contract Deploy)"},"typeName":{"id":68503,"nodeType":"UserDefinedTypeName","pathNode":{"id":68502,"name":"TrailsIntentEntrypointDeploy","nameLocations":["1623:28:72"],"nodeType":"IdentifierPath","referencedDeclaration":49059,"src":"1623:28:72"},"referencedDeclaration":49059,"src":"1623:28:72","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"}}},"id":68505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1619:34:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"}},"src":"1603:50:72","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"}},"id":68507,"nodeType":"ExpressionStatement","src":"1603:50:72"},{"expression":{"id":68510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68508,"name":"_deployerPk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68479,"src":"1663:11:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"307861633039373462656333396131376533366261346136623464323338666639343462616362343738636265643565666361653738346437626634663266663830","id":68509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1677:66:72","typeDescriptions":{"typeIdentifier":"t_rational_77814517325470205911140941194401928579557062014761831930645393041380819009408_by_1","typeString":"int_const 7781...(69 digits omitted)...9408"},"value":"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"},"src":"1663:80:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68511,"nodeType":"ExpressionStatement","src":"1663:80:72"},{"expression":{"id":68514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68512,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68481,"src":"1774:14:72","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"307861633039373462656333396131376533366261346136623464323338666639343462616362343738636265643565666361653738346437626634663266663830","id":68513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1791:68:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef7acc72b2621dd91ef5e976d9305cd1b244a760de4a756fdb056db86cc07ebd","typeString":"literal_string \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\""},"value":"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"},"src":"1774:85:72","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":68515,"nodeType":"ExpressionStatement","src":"1774:85:72"},{"expression":{"id":68521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68516,"name":"_deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68477,"src":"1869:9:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68519,"name":"_deployerPk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68479,"src":"1889:11:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68517,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1881:2:72","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1884:4:72","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":14336,"src":"1881:7:72","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":68520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1881:20:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1869:32:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68522,"nodeType":"ExpressionStatement","src":"1869:32:72"},{"expression":{"arguments":[{"id":68526,"name":"_deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68477,"src":"1919:9:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":68527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1930:9:72","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":68523,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1911:2:72","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1914:4:72","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"1911:7:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":68528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1911:29:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68529,"nodeType":"ExpressionStatement","src":"1911:29:72"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1578:5:72","parameters":{"id":68499,"nodeType":"ParameterList","parameters":[],"src":"1583:2:72"},"returnParameters":{"id":68500,"nodeType":"ParameterList","parameters":[],"src":"1593:0:72"},"scope":68734,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68593,"nodeType":"FunctionDefinition","src":"2129:732:72","nodes":[],"body":{"id":68592,"nodeType":"Block","src":"2183:678:72","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":68537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2203:13:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":68538,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68481,"src":"2218:14:72","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":68534,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2193:2:72","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2196:6:72","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"2193:9:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":68539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2193:40:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68540,"nodeType":"ExpressionStatement","src":"2193:40:72"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68541,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2244:2:72","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2247:10:72","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":14512,"src":"2244:13:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2244:15:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68545,"nodeType":"ExpressionStatement","src":"2244:15:72"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68546,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68475,"src":"2269:13:72","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"}},"id":68548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2283:3:72","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49058,"src":"2269:17:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2269:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68550,"nodeType":"ExpressionStatement","src":"2269:19:72"},{"assignments":[68552],"declarations":[{"constant":false,"id":68552,"mutability":"mutable","name":"expectedAddress","nameLocation":"2351:15:72","nodeType":"VariableDeclaration","scope":68592,"src":"2335:31:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":68551,"name":"address","nodeType":"ElementaryTypeName","src":"2335:15:72","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":68555,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":68553,"name":"expectedIntentEntrypointAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68498,"src":"2369:31:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":68554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2369:33:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"2335:67:72"},{"assignments":[68558],"declarations":[{"constant":false,"id":68558,"mutability":"mutable","name":"entrypoint","nameLocation":"2490:10:72","nodeType":"VariableDeclaration","scope":68592,"src":"2467:33:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"},"typeName":{"id":68557,"nodeType":"UserDefinedTypeName","pathNode":{"id":68556,"name":"TrailsIntentEntrypoint","nameLocations":["2467:22:72"],"nodeType":"IdentifierPath","referencedDeclaration":49680,"src":"2467:22:72"},"referencedDeclaration":49680,"src":"2467:22:72","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"visibility":"internal"}],"id":68562,"initialValue":{"arguments":[{"id":68560,"name":"expectedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68552,"src":"2526:15:72","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":68559,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"2503:22:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":68561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2503:39:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"nodeType":"VariableDeclarationStatement","src":"2467:75:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":68566,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68558,"src":"2569:10:72","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":68565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2561:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68564,"name":"address","nodeType":"ElementaryTypeName","src":"2561:7:72","typeDescriptions":{}}},"id":68567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2561:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2581:4:72","memberName":"code","nodeType":"MemberAccess","src":"2561:24:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2586:6:72","memberName":"length","nodeType":"MemberAccess","src":"2561:31:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2595:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2561:35:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2598:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"456e747279706f696e742073686f756c64206861766520636f6465","id":68573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2604:29:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ed4a92c89017871e5ca7f1233c69d7d160196ce36e40def49ef29377136f541","typeString":"literal_string \"Entrypoint should have code\""},"value":"Entrypoint should have code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0ed4a92c89017871e5ca7f1233c69d7d160196ce36e40def49ef29377136f541","typeString":"literal_string \"Entrypoint should have code\""}],"id":68563,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"2552:8:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2552:82:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68575,"nodeType":"ExpressionStatement","src":"2552:82:72"},{"assignments":[68577],"declarations":[{"constant":false,"id":68577,"mutability":"mutable","name":"domainSeparator","nameLocation":"2722:15:72","nodeType":"VariableDeclaration","scope":68592,"src":"2714:23:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68576,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2714:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":68581,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68578,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68558,"src":"2740:10:72","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":68579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2751:16:72","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"2740:27:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":68580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2740:29:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2714:55:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":68588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68583,"name":"domainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68577,"src":"2790:15:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2817:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2809:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":68584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2809:7:72","typeDescriptions":{}}},"id":68587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:10:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2790:29:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"446f6d61696e20736570617261746f722073686f756c6420626520736574","id":68589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2821:32:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_092a13a53eda1bc4d712e5166febeba6bacbd988849240b6455b1389226c69bb","typeString":"literal_string \"Domain separator should be set\""},"value":"Domain separator should be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_092a13a53eda1bc4d712e5166febeba6bacbd988849240b6455b1389226c69bb","typeString":"literal_string \"Domain separator should be set\""}],"id":68582,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"2779:10:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2779:75:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68591,"nodeType":"ExpressionStatement","src":"2779:75:72"}]},"functionSelector":"207ed43d","implemented":true,"kind":"function","modifiers":[],"name":"test_DeployIntentEntrypoint_Success","nameLocation":"2138:35:72","parameters":{"id":68532,"nodeType":"ParameterList","parameters":[],"src":"2173:2:72"},"returnParameters":{"id":68533,"nodeType":"ParameterList","parameters":[],"src":"2183:0:72"},"scope":68734,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68656,"nodeType":"FunctionDefinition","src":"2867:896:72","nodes":[],"body":{"id":68655,"nodeType":"Block","src":"2925:838:72","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":68599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2945:13:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":68600,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68481,"src":"2960:14:72","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":68596,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2935:2:72","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2938:6:72","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"2935:9:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":68601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2935:40:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68602,"nodeType":"ExpressionStatement","src":"2935:40:72"},{"assignments":[68604],"declarations":[{"constant":false,"id":68604,"mutability":"mutable","name":"expectedAddress","nameLocation":"3038:15:72","nodeType":"VariableDeclaration","scope":68655,"src":"3022:31:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":68603,"name":"address","nodeType":"ElementaryTypeName","src":"3022:15:72","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":68607,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":68605,"name":"expectedIntentEntrypointAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68498,"src":"3056:31:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":68606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3056:33:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"3022:67:72"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68608,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3128:2:72","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3131:10:72","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":14512,"src":"3128:13:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3128:15:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68612,"nodeType":"ExpressionStatement","src":"3128:15:72"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68613,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68475,"src":"3153:13:72","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"}},"id":68615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3167:3:72","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49058,"src":"3153:17:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3153:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68617,"nodeType":"ExpressionStatement","src":"3153:19:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68619,"name":"expectedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68604,"src":"3235:15:72","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":68620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3251:4:72","memberName":"code","nodeType":"MemberAccess","src":"3235:20:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3256:6:72","memberName":"length","nodeType":"MemberAccess","src":"3235:27:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3265:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3235:31:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3268:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"4669727374206465706c6f796d656e743a20547261696c73496e74656e74456e747279706f696e74206465706c6f796564","id":68625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3274:51:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_4dc93aa0917caa760472f36d92578e31f8b92b57e6220e6e8b09ad7a98bd37d3","typeString":"literal_string \"First deployment: TrailsIntentEntrypoint deployed\""},"value":"First deployment: TrailsIntentEntrypoint deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4dc93aa0917caa760472f36d92578e31f8b92b57e6220e6e8b09ad7a98bd37d3","typeString":"literal_string \"First deployment: TrailsIntentEntrypoint deployed\""}],"id":68618,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"3226:8:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3226:100:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68627,"nodeType":"ExpressionStatement","src":"3226:100:72"},{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":68631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3403:13:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":68632,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68481,"src":"3418:14:72","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":68628,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3393:2:72","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3396:6:72","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"3393:9:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":68633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3393:40:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68634,"nodeType":"ExpressionStatement","src":"3393:40:72"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68635,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3523:2:72","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3526:10:72","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":14512,"src":"3523:13:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3523:15:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68639,"nodeType":"ExpressionStatement","src":"3523:15:72"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68640,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68475,"src":"3548:13:72","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"}},"id":68642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3562:3:72","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49058,"src":"3548:17:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3548:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68644,"nodeType":"ExpressionStatement","src":"3548:19:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68646,"name":"expectedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68604,"src":"3658:15:72","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":68647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3674:4:72","memberName":"code","nodeType":"MemberAccess","src":"3658:20:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3679:6:72","memberName":"length","nodeType":"MemberAccess","src":"3658:27:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3688:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3658:31:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3691:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"5365636f6e64206465706c6f796d656e743a20547261696c73496e74656e74456e747279706f696e74207374696c6c206465706c6f796564","id":68652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3697:58:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef046430a34c40006e0a391910b9370570ea3580f838b0b33c0bbb793c2e95f1","typeString":"literal_string \"Second deployment: TrailsIntentEntrypoint still deployed\""},"value":"Second deployment: TrailsIntentEntrypoint still deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef046430a34c40006e0a391910b9370570ea3580f838b0b33c0bbb793c2e95f1","typeString":"literal_string \"Second deployment: TrailsIntentEntrypoint still deployed\""}],"id":68645,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"3649:8:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3649:107:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68654,"nodeType":"ExpressionStatement","src":"3649:107:72"}]},"functionSelector":"8cca1cf9","implemented":true,"kind":"function","modifiers":[],"name":"test_DeployIntentEntrypoint_SameAddress","nameLocation":"2876:39:72","parameters":{"id":68594,"nodeType":"ParameterList","parameters":[],"src":"2915:2:72"},"returnParameters":{"id":68595,"nodeType":"ParameterList","parameters":[],"src":"2925:0:72"},"scope":68734,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68733,"nodeType":"FunctionDefinition","src":"3769:989:72","nodes":[],"body":{"id":68732,"nodeType":"Block","src":"3841:917:72","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":68662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3861:13:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":68663,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68481,"src":"3876:14:72","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":68659,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3851:2:72","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3854:6:72","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"3851:9:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":68664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:40:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68665,"nodeType":"ExpressionStatement","src":"3851:40:72"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68666,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68475,"src":"3931:13:72","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49059","typeString":"contract Deploy"}},"id":68668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3945:3:72","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49058,"src":"3931:17:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3931:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68670,"nodeType":"ExpressionStatement","src":"3931:19:72"},{"assignments":[68672],"declarations":[{"constant":false,"id":68672,"mutability":"mutable","name":"expectedAddress","nameLocation":"4023:15:72","nodeType":"VariableDeclaration","scope":68732,"src":"4007:31:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":68671,"name":"address","nodeType":"ElementaryTypeName","src":"4007:15:72","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":68675,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":68673,"name":"expectedIntentEntrypointAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68498,"src":"4041:31:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":68674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4041:33:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"4007:67:72"},{"assignments":[68678],"declarations":[{"constant":false,"id":68678,"mutability":"mutable","name":"entrypoint","nameLocation":"4107:10:72","nodeType":"VariableDeclaration","scope":68732,"src":"4084:33:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"},"typeName":{"id":68677,"nodeType":"UserDefinedTypeName","pathNode":{"id":68676,"name":"TrailsIntentEntrypoint","nameLocations":["4084:22:72"],"nodeType":"IdentifierPath","referencedDeclaration":49680,"src":"4084:22:72"},"referencedDeclaration":49680,"src":"4084:22:72","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"visibility":"internal"}],"id":68682,"initialValue":{"arguments":[{"id":68680,"name":"expectedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68672,"src":"4143:15:72","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":68679,"name":"TrailsIntentEntrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49680,"src":"4120:22:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsIntentEntrypoint_$49680_$","typeString":"type(contract TrailsIntentEntrypoint)"}},"id":68681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4120:39:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"nodeType":"VariableDeclarationStatement","src":"4084:75:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":68686,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68678,"src":"4241:10:72","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}],"id":68685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4233:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68684,"name":"address","nodeType":"ElementaryTypeName","src":"4233:7:72","typeDescriptions":{}}},"id":68687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4233:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4253:4:72","memberName":"code","nodeType":"MemberAccess","src":"4233:24:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4258:6:72","memberName":"length","nodeType":"MemberAccess","src":"4233:31:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4267:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4233:35:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4270:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"456e747279706f696e742073686f756c64206861766520636f6465","id":68693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4276:29:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ed4a92c89017871e5ca7f1233c69d7d160196ce36e40def49ef29377136f541","typeString":"literal_string \"Entrypoint should have code\""},"value":"Entrypoint should have code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0ed4a92c89017871e5ca7f1233c69d7d160196ce36e40def49ef29377136f541","typeString":"literal_string \"Entrypoint should have code\""}],"id":68683,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"4224:8:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4224:82:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68695,"nodeType":"ExpressionStatement","src":"4224:82:72"},{"assignments":[68697],"declarations":[{"constant":false,"id":68697,"mutability":"mutable","name":"domainSeparator","nameLocation":"4392:15:72","nodeType":"VariableDeclaration","scope":68732,"src":"4384:23:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4384:7:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":68701,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68698,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68678,"src":"4410:10:72","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":68699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4421:16:72","memberName":"DOMAIN_SEPARATOR","nodeType":"MemberAccess","referencedDeclaration":49352,"src":"4410:27:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":68700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4410:29:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4384:55:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":68708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68703,"name":"domainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68697,"src":"4460:15:72","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4487:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4479:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":68704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4479:7:72","typeDescriptions":{}}},"id":68707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4479:10:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4460:29:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"446f6d61696e20736570617261746f722073686f756c6420626520696e697469616c697a6564","id":68709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4491:40:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_3cf94600d86dc946caae0e9478e2e70420f0390fed5fc9dc87ed5965dc046836","typeString":"literal_string \"Domain separator should be initialized\""},"value":"Domain separator should be initialized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3cf94600d86dc946caae0e9478e2e70420f0390fed5fc9dc87ed5965dc046836","typeString":"literal_string \"Domain separator should be initialized\""}],"id":68702,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"4449:10:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4449:83:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68711,"nodeType":"ExpressionStatement","src":"4449:83:72"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68713,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68678,"src":"4598:10:72","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":68714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4609:7:72","memberName":"VERSION","nodeType":"MemberAccess","referencedDeclaration":49288,"src":"4598:18:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view external returns (string memory)"}},"id":68715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4598:20:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"31","id":68716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4620:3:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"},{"hexValue":"56657273696f6e2073686f756c642062652031","id":68717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4625:21:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e57902eb7c4d41b1f02a96eb62f1912f135b332fd0aac146c7b617384686bc","typeString":"literal_string \"Version should be 1\""},"value":"Version should be 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},{"typeIdentifier":"t_stringliteral_b0e57902eb7c4d41b1f02a96eb62f1912f135b332fd0aac146c7b617384686bc","typeString":"literal_string \"Version should be 1\""}],"id":68712,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":989,"src":"4589:8:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) pure"}},"id":68718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4589:58:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68719,"nodeType":"ExpressionStatement","src":"4589:58:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":68728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68721,"name":"entrypoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68678,"src":"4668:10:72","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsIntentEntrypoint_$49680","typeString":"contract TrailsIntentEntrypoint"}},"id":68722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4679:22:72","memberName":"TRAILS_INTENT_TYPEHASH","nodeType":"MemberAccess","referencedDeclaration":49285,"src":"4668:33:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":68723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4668:35:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":68726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4715:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4707:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":68724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4707:7:72","typeDescriptions":{}}},"id":68727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4707:10:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4668:49:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e74656e742074797065686173682073686f756c6420626520736574","id":68729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4719:31:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_f209c1053bbbdc3eaa8acc7cd5910cee722647b6f19b2e8867407d686b7c28ab","typeString":"literal_string \"Intent typehash should be set\""},"value":"Intent typehash should be set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f209c1053bbbdc3eaa8acc7cd5910cee722647b6f19b2e8867407d686b7c28ab","typeString":"literal_string \"Intent typehash should be set\""}],"id":68720,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[568,587],"referencedDeclaration":587,"src":"4657:10:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:94:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68731,"nodeType":"ExpressionStatement","src":"4657:94:72"}]},"functionSelector":"7ae06105","implemented":true,"kind":"function","modifiers":[],"name":"test_DeployedIntentEntrypoint_HasCorrectConfiguration","nameLocation":"3778:53:72","parameters":{"id":68657,"nodeType":"ParameterList","parameters":[],"src":"3831:2:72"},"returnParameters":{"id":68658,"nodeType":"ParameterList","parameters":[],"src":"3841:0:72"},"scope":68734,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":68471,"name":"Test","nameLocations":["548:4:72"],"nodeType":"IdentifierPath","referencedDeclaration":13474,"src":"548:4:72"},"id":68472,"nodeType":"InheritanceSpecifier","src":"548:4:72"}],"canonicalName":"TrailsIntentEntrypointDeploymentTest","contractDependencies":[49059,49680],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[68734,13474,13420,7443,7042,6247,4157,3194,285,282],"name":"TrailsIntentEntrypointDeploymentTest","nameLocation":"508:36:72","scope":68735,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477]}],"license":"MIT"}},"test/script/TrailsRouter.s.t.sol":{"id":73,"ast":{"absolutePath":"test/script/TrailsRouter.s.t.sol","id":68998,"exportedSymbols":{"Create2Utils":[69419],"Test":[13474],"TrailsRouter":[50972],"TrailsRouterDeploy":[49151],"TrailsRouterDeploymentTest":[68997]},"nodeType":"SourceUnit","src":"32:4334:73","nodes":[{"id":68736,"nodeType":"PragmaDirective","src":"32:24:73","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":68738,"nodeType":"ImportDirective","src":"58:40:73","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":68998,"sourceUnit":13475,"symbolAliases":[{"foreign":{"id":68737,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"66:4:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68740,"nodeType":"ImportDirective","src":"99:71:73","nodes":[],"absolutePath":"script/TrailsRouter.s.sol","file":"script/TrailsRouter.s.sol","nameLocation":"-1:-1:-1","scope":68998,"sourceUnit":49152,"symbolAliases":[{"foreign":{"id":68739,"name":"Deploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49151,"src":"107:6:73","typeDescriptions":{}},"local":"TrailsRouterDeploy","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68742,"nodeType":"ImportDirective","src":"171:50:73","nodes":[],"absolutePath":"src/TrailsRouter.sol","file":"src/TrailsRouter.sol","nameLocation":"-1:-1:-1","scope":68998,"sourceUnit":50973,"symbolAliases":[{"foreign":{"id":68741,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"179:12:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68744,"nodeType":"ImportDirective","src":"222:55:73","nodes":[],"absolutePath":"test/utils/Create2Utils.sol","file":"../utils/Create2Utils.sol","nameLocation":"-1:-1:-1","scope":68998,"sourceUnit":69420,"symbolAliases":[{"foreign":{"id":68743,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"230:12:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68997,"nodeType":"ContractDefinition","src":"459:3906:73","nodes":[{"id":68749,"nodeType":"VariableDeclaration","src":"700:41:73","nodes":[],"constant":false,"mutability":"mutable","name":"_deployScript","nameLocation":"728:13:73","scope":68997,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"},"typeName":{"id":68748,"nodeType":"UserDefinedTypeName","pathNode":{"id":68747,"name":"TrailsRouterDeploy","nameLocations":["700:18:73"],"nodeType":"IdentifierPath","referencedDeclaration":49151,"src":"700:18:73"},"referencedDeclaration":49151,"src":"700:18:73","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"visibility":"internal"},{"id":68751,"nodeType":"VariableDeclaration","src":"747:26:73","nodes":[],"constant":false,"mutability":"mutable","name":"_deployer","nameLocation":"764:9:73","scope":68997,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68750,"name":"address","nodeType":"ElementaryTypeName","src":"747:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":68753,"nodeType":"VariableDeclaration","src":"779:28:73","nodes":[],"constant":false,"mutability":"mutable","name":"_deployerPk","nameLocation":"796:11:73","scope":68997,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68752,"name":"uint256","nodeType":"ElementaryTypeName","src":"779:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":68755,"nodeType":"VariableDeclaration","src":"813:30:73","nodes":[],"constant":false,"mutability":"mutable","name":"_deployerPkStr","nameLocation":"829:14:73","scope":68997,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":68754,"name":"string","nodeType":"ElementaryTypeName","src":"813:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":68787,"nodeType":"FunctionDefinition","src":"1100:352:73","nodes":[],"body":{"id":68786,"nodeType":"Block","src":"1173:279:73","nodes":[],"statements":[{"assignments":[68761],"declarations":[{"constant":false,"id":68761,"mutability":"mutable","name":"multicall3","nameLocation":"1191:10:73","nodeType":"VariableDeclaration","scope":68786,"src":"1183:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68760,"name":"address","nodeType":"ElementaryTypeName","src":"1183:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":68763,"initialValue":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":68762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1204:42:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"nodeType":"VariableDeclarationStatement","src":"1183:63:73"},{"assignments":[68765],"declarations":[{"constant":false,"id":68765,"mutability":"mutable","name":"initCode","nameLocation":"1269:8:73","nodeType":"VariableDeclaration","scope":68786,"src":"1256:21:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68764,"name":"bytes","nodeType":"ElementaryTypeName","src":"1256:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":68777,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":68769,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"1302:12:73","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}],"id":68768,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1297:4:73","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":68770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1297:18:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_TrailsRouter_$50972","typeString":"type(contract TrailsRouter)"}},"id":68771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1316:12:73","memberName":"creationCode","nodeType":"MemberAccess","src":"1297:31:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":68774,"name":"multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68761,"src":"1341:10:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68772,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1330:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1334:6:73","memberName":"encode","nodeType":"MemberAccess","src":"1330:10:73","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1330:22:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":68766,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1280:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1284:12:73","memberName":"encodePacked","nodeType":"MemberAccess","src":"1280:16:73","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1280:73:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1256:97:73"},{"expression":{"arguments":[{"id":68780,"name":"initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68765,"src":"1407:8:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68781,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"1417:12:73","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Create2Utils_$69419_$","typeString":"type(library Create2Utils)"}},"id":68782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1430:12:73","memberName":"standardSalt","nodeType":"MemberAccess","referencedDeclaration":69418,"src":"1417:25:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":68783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1417:27:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":68778,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"1370:12:73","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Create2Utils_$69419_$","typeString":"type(library Create2Utils)"}},"id":68779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1383:23:73","memberName":"calculateCreate2Address","nodeType":"MemberAccess","referencedDeclaration":69406,"src":"1370:36:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_payable_$","typeString":"function (bytes memory,bytes32) pure returns (address payable)"}},"id":68784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1370:75:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":68759,"id":68785,"nodeType":"Return","src":"1363:82:73"}]},"implemented":true,"kind":"function","modifiers":[],"name":"expectedRouterAddress","nameLocation":"1109:21:73","parameters":{"id":68756,"nodeType":"ParameterList","parameters":[],"src":"1130:2:73"},"returnParameters":{"id":68759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68758,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68787,"src":"1156:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":68757,"name":"address","nodeType":"ElementaryTypeName","src":"1156:15:73","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"1155:17:73"},"scope":68997,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":68820,"nodeType":"FunctionDefinition","src":"1634:368:73","nodes":[],"body":{"id":68819,"nodeType":"Block","src":"1658:344:73","nodes":[],"statements":[{"expression":{"id":68795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68790,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68749,"src":"1668:13:73","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":68793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1684:22:73","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Deploy_$49151_$","typeString":"function () returns (contract Deploy)"},"typeName":{"id":68792,"nodeType":"UserDefinedTypeName","pathNode":{"id":68791,"name":"TrailsRouterDeploy","nameLocations":["1688:18:73"],"nodeType":"IdentifierPath","referencedDeclaration":49151,"src":"1688:18:73"},"referencedDeclaration":49151,"src":"1688:18:73","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}}},"id":68794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1684:24:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"src":"1668:40:73","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"id":68796,"nodeType":"ExpressionStatement","src":"1668:40:73"},{"expression":{"id":68799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68797,"name":"_deployerPk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"1718:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"307861633039373462656333396131376533366261346136623464323338666639343462616362343738636265643565666361653738346437626634663266663830","id":68798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1732:66:73","typeDescriptions":{"typeIdentifier":"t_rational_77814517325470205911140941194401928579557062014761831930645393041380819009408_by_1","typeString":"int_const 7781...(69 digits omitted)...9408"},"value":"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"},"src":"1718:80:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68800,"nodeType":"ExpressionStatement","src":"1718:80:73"},{"expression":{"id":68803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68801,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68755,"src":"1829:14:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"307861633039373462656333396131376533366261346136623464323338666639343462616362343738636265643565666361653738346437626634663266663830","id":68802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1846:68:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef7acc72b2621dd91ef5e976d9305cd1b244a760de4a756fdb056db86cc07ebd","typeString":"literal_string \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\""},"value":"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"},"src":"1829:85:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":68804,"nodeType":"ExpressionStatement","src":"1829:85:73"},{"expression":{"id":68810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68805,"name":"_deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68751,"src":"1924:9:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68808,"name":"_deployerPk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68753,"src":"1944:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68806,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1936:2:73","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1939:4:73","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":14336,"src":"1936:7:73","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":68809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1936:20:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1924:32:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68811,"nodeType":"ExpressionStatement","src":"1924:32:73"},{"expression":{"arguments":[{"id":68815,"name":"_deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68751,"src":"1974:9:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":68816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1985:9:73","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":68812,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1966:2:73","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1969:4:73","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"1966:7:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":68817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1966:29:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68818,"nodeType":"ExpressionStatement","src":"1966:29:73"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1643:5:73","parameters":{"id":68788,"nodeType":"ParameterList","parameters":[],"src":"1648:2:73"},"returnParameters":{"id":68789,"nodeType":"ParameterList","parameters":[],"src":"1658:0:73"},"scope":68997,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68876,"nodeType":"FunctionDefinition","src":"2193:581:73","nodes":[],"body":{"id":68875,"nodeType":"Block","src":"2243:531:73","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":68826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2263:13:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":68827,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68755,"src":"2278:14:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":68823,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2253:2:73","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2256:6:73","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"2253:9:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":68828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2253:40:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68829,"nodeType":"ExpressionStatement","src":"2253:40:73"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68830,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2304:2:73","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2307:10:73","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":14512,"src":"2304:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2304:15:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68834,"nodeType":"ExpressionStatement","src":"2304:15:73"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68835,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68749,"src":"2329:13:73","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"id":68837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2343:3:73","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49106,"src":"2329:17:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2329:19:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68839,"nodeType":"ExpressionStatement","src":"2329:19:73"},{"assignments":[68841],"declarations":[{"constant":false,"id":68841,"mutability":"mutable","name":"expectedAddr","nameLocation":"2443:12:73","nodeType":"VariableDeclaration","scope":68875,"src":"2427:28:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":68840,"name":"address","nodeType":"ElementaryTypeName","src":"2427:15:73","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":68844,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":68842,"name":"expectedRouterAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68787,"src":"2458:21:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":68843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2458:23:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"2427:54:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68846,"name":"expectedAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68841,"src":"2500:12:73","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":68847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2513:4:73","memberName":"code","nodeType":"MemberAccess","src":"2500:17:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2518:6:73","memberName":"length","nodeType":"MemberAccess","src":"2500:24:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2527:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2500:28:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2530:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"547261696c73526f757465722073686f756c64206265206465706c6f796564","id":68852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2536:33:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_08ed717ba8e4222b076f9ad2f68ae99d5fb35a7207f44ecdff53973f81305210","typeString":"literal_string \"TrailsRouter should be deployed\""},"value":"TrailsRouter should be deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_08ed717ba8e4222b076f9ad2f68ae99d5fb35a7207f44ecdff53973f81305210","typeString":"literal_string \"TrailsRouter should be deployed\""}],"id":68845,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"2491:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2491:79:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68854,"nodeType":"ExpressionStatement","src":"2491:79:73"},{"assignments":[68857],"declarations":[{"constant":false,"id":68857,"mutability":"mutable","name":"router","nameLocation":"2648:6:73","nodeType":"VariableDeclaration","scope":68875,"src":"2635:19:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"},"typeName":{"id":68856,"nodeType":"UserDefinedTypeName","pathNode":{"id":68855,"name":"TrailsRouter","nameLocations":["2635:12:73"],"nodeType":"IdentifierPath","referencedDeclaration":50972,"src":"2635:12:73"},"referencedDeclaration":50972,"src":"2635:12:73","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"visibility":"internal"}],"id":68861,"initialValue":{"arguments":[{"id":68859,"name":"expectedAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68841,"src":"2670:12:73","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":68858,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"2657:12:73","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":68860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2657:26:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"nodeType":"VariableDeclarationStatement","src":"2635:48:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":68865,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68857,"src":"2710:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":68864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2702:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68863,"name":"address","nodeType":"ElementaryTypeName","src":"2702:7:73","typeDescriptions":{}}},"id":68866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2702:15:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2718:4:73","memberName":"code","nodeType":"MemberAccess","src":"2702:20:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2723:6:73","memberName":"length","nodeType":"MemberAccess","src":"2702:27:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2732:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2702:31:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2735:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"526f757465722073686f756c64206861766520636f6465","id":68872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2741:25:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_99b55008eb863cf7686ac59368dcda318757ab809a47420788d93a5cb8de0316","typeString":"literal_string \"Router should have code\""},"value":"Router should have code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_99b55008eb863cf7686ac59368dcda318757ab809a47420788d93a5cb8de0316","typeString":"literal_string \"Router should have code\""}],"id":68862,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"2693:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2693:74:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68874,"nodeType":"ExpressionStatement","src":"2693:74:73"}]},"functionSelector":"8d211eee","implemented":true,"kind":"function","modifiers":[],"name":"test_DeployTrailsRouter_Success","nameLocation":"2202:31:73","parameters":{"id":68821,"nodeType":"ParameterList","parameters":[],"src":"2233:2:73"},"returnParameters":{"id":68822,"nodeType":"ParameterList","parameters":[],"src":"2243:0:73"},"scope":68997,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68939,"nodeType":"FunctionDefinition","src":"2780:816:73","nodes":[],"body":{"id":68938,"nodeType":"Block","src":"2834:762:73","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":68882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2854:13:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":68883,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68755,"src":"2869:14:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":68879,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2844:2:73","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2847:6:73","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"2844:9:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":68884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2844:40:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68885,"nodeType":"ExpressionStatement","src":"2844:40:73"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68886,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2923:2:73","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2926:10:73","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":14512,"src":"2923:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2923:15:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68890,"nodeType":"ExpressionStatement","src":"2923:15:73"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68891,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68749,"src":"2948:13:73","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"id":68893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2962:3:73","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49106,"src":"2948:17:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2948:19:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68895,"nodeType":"ExpressionStatement","src":"2948:19:73"},{"assignments":[68897],"declarations":[{"constant":false,"id":68897,"mutability":"mutable","name":"expectedAddr","nameLocation":"3037:12:73","nodeType":"VariableDeclaration","scope":68938,"src":"3021:28:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":68896,"name":"address","nodeType":"ElementaryTypeName","src":"3021:15:73","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":68900,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":68898,"name":"expectedRouterAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68787,"src":"3052:21:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":68899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3052:23:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"3021:54:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68902,"name":"expectedAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"3094:12:73","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":68903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3107:4:73","memberName":"code","nodeType":"MemberAccess","src":"3094:17:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3112:6:73","memberName":"length","nodeType":"MemberAccess","src":"3094:24:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3121:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3094:28:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3124:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"4669727374206465706c6f796d656e743a20547261696c73526f75746572206465706c6f796564","id":68908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3130:41:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_c66a77904c5bc448bca220c7afff614b1318262e78042b04f35a50360e2fe152","typeString":"literal_string \"First deployment: TrailsRouter deployed\""},"value":"First deployment: TrailsRouter deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c66a77904c5bc448bca220c7afff614b1318262e78042b04f35a50360e2fe152","typeString":"literal_string \"First deployment: TrailsRouter deployed\""}],"id":68901,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"3085:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3085:87:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68910,"nodeType":"ExpressionStatement","src":"3085:87:73"},{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":68914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3249:13:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":68915,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68755,"src":"3264:14:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":68911,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3239:2:73","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3242:6:73","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"3239:9:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":68916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3239:40:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68917,"nodeType":"ExpressionStatement","src":"3239:40:73"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68918,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3369:2:73","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3372:10:73","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":14512,"src":"3369:13:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3369:15:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68922,"nodeType":"ExpressionStatement","src":"3369:15:73"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68923,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68749,"src":"3394:13:73","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"id":68925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3408:3:73","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49106,"src":"3394:17:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3394:19:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68927,"nodeType":"ExpressionStatement","src":"3394:19:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":68929,"name":"expectedAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68897,"src":"3504:12:73","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":68930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3517:4:73","memberName":"code","nodeType":"MemberAccess","src":"3504:17:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3522:6:73","memberName":"length","nodeType":"MemberAccess","src":"3504:24:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3531:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3504:28:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3534:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"5365636f6e64206465706c6f796d656e743a20547261696c73526f75746572207374696c6c206465706c6f796564","id":68935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3540:48:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_589f2426f1e8a87625fff79b161dc6457f765ccbe9d9a6f7441f041aef9dd0be","typeString":"literal_string \"Second deployment: TrailsRouter still deployed\""},"value":"Second deployment: TrailsRouter still deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_589f2426f1e8a87625fff79b161dc6457f765ccbe9d9a6f7441f041aef9dd0be","typeString":"literal_string \"Second deployment: TrailsRouter still deployed\""}],"id":68928,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"3495:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3495:94:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68937,"nodeType":"ExpressionStatement","src":"3495:94:73"}]},"functionSelector":"06fe3285","implemented":true,"kind":"function","modifiers":[],"name":"test_DeployTrailsRouter_SameAddress","nameLocation":"2789:35:73","parameters":{"id":68877,"nodeType":"ParameterList","parameters":[],"src":"2824:2:73"},"returnParameters":{"id":68878,"nodeType":"ParameterList","parameters":[],"src":"2834:0:73"},"scope":68997,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":68996,"nodeType":"FunctionDefinition","src":"3602:761:73","nodes":[],"body":{"id":68995,"nodeType":"Block","src":"3664:699:73","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":68945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3684:13:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":68946,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68755,"src":"3699:14:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":68942,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3674:2:73","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":68944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3677:6:73","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"3674:9:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":68947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3674:40:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68948,"nodeType":"ExpressionStatement","src":"3674:40:73"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":68949,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68749,"src":"3754:13:73","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49151","typeString":"contract Deploy"}},"id":68951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3768:3:73","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49106,"src":"3754:17:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":68952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3754:19:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68953,"nodeType":"ExpressionStatement","src":"3754:19:73"},{"assignments":[68955],"declarations":[{"constant":false,"id":68955,"mutability":"mutable","name":"expectedAddr","nameLocation":"3846:12:73","nodeType":"VariableDeclaration","scope":68995,"src":"3830:28:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":68954,"name":"address","nodeType":"ElementaryTypeName","src":"3830:15:73","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":68958,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":68956,"name":"expectedRouterAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68787,"src":"3861:21:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":68957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3861:23:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"3830:54:73"},{"assignments":[68961],"declarations":[{"constant":false,"id":68961,"mutability":"mutable","name":"router","nameLocation":"3907:6:73","nodeType":"VariableDeclaration","scope":68995,"src":"3894:19:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"},"typeName":{"id":68960,"nodeType":"UserDefinedTypeName","pathNode":{"id":68959,"name":"TrailsRouter","nameLocations":["3894:12:73"],"nodeType":"IdentifierPath","referencedDeclaration":50972,"src":"3894:12:73"},"referencedDeclaration":50972,"src":"3894:12:73","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"visibility":"internal"}],"id":68965,"initialValue":{"arguments":[{"id":68963,"name":"expectedAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68955,"src":"3929:12:73","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":68962,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"3916:12:73","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":68964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3916:26:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"nodeType":"VariableDeclarationStatement","src":"3894:48:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":68969,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68961,"src":"4024:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":68968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4016:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68967,"name":"address","nodeType":"ElementaryTypeName","src":"4016:7:73","typeDescriptions":{}}},"id":68970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4016:15:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4032:4:73","memberName":"code","nodeType":"MemberAccess","src":"4016:20:73","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4037:6:73","memberName":"length","nodeType":"MemberAccess","src":"4016:27:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4046:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4016:31:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4049:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"526f757465722073686f756c64206861766520636f6465","id":68976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4055:25:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_99b55008eb863cf7686ac59368dcda318757ab809a47420788d93a5cb8de0316","typeString":"literal_string \"Router should have code\""},"value":"Router should have code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_99b55008eb863cf7686ac59368dcda318757ab809a47420788d93a5cb8de0316","typeString":"literal_string \"Router should have code\""}],"id":68966,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"4007:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4007:74:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68978,"nodeType":"ExpressionStatement","src":"4007:74:73"},{"assignments":[68980,null],"declarations":[{"constant":false,"id":68980,"mutability":"mutable","name":"success","nameLocation":"4251:7:73","nodeType":"VariableDeclaration","scope":68995,"src":"4246:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68979,"name":"bool","nodeType":"ElementaryTypeName","src":"4246:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":68988,"initialValue":{"arguments":[{"hexValue":"","id":68986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4284:2:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":68983,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68961,"src":"4271:6:73","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":68982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4263:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68981,"name":"address","nodeType":"ElementaryTypeName","src":"4263:7:73","typeDescriptions":{}}},"id":68984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4263:15:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4279:4:73","memberName":"call","nodeType":"MemberAccess","src":"4263:20:73","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":68987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4263:24:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4245:42:73"},{"expression":{"arguments":[{"id":68990,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68980,"src":"4306:7:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":68991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4315:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"526f757465722073686f756c64206163636570742062617369632063616c6c73","id":68992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4321:34:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_7211caac791f878573f8771fffc276b42d9a8cf7fb75034e4318a5ef0af11d6f","typeString":"literal_string \"Router should accept basic calls\""},"value":"Router should accept basic calls"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7211caac791f878573f8771fffc276b42d9a8cf7fb75034e4318a5ef0af11d6f","typeString":"literal_string \"Router should accept basic calls\""}],"id":68989,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"4297:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":68993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:59:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68994,"nodeType":"ExpressionStatement","src":"4297:59:73"}]},"functionSelector":"dd79c8ae","implemented":true,"kind":"function","modifiers":[],"name":"test_DeployedRouter_HasCorrectConfiguration","nameLocation":"3611:43:73","parameters":{"id":68940,"nodeType":"ParameterList","parameters":[],"src":"3654:2:73"},"returnParameters":{"id":68941,"nodeType":"ParameterList","parameters":[],"src":"3664:0:73"},"scope":68997,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":68745,"name":"Test","nameLocations":["498:4:73"],"nodeType":"IdentifierPath","referencedDeclaration":13474,"src":"498:4:73"},"id":68746,"nodeType":"InheritanceSpecifier","src":"498:4:73"}],"canonicalName":"TrailsRouterDeploymentTest","contractDependencies":[49151,50972],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[68997,13474,13420,7443,7042,6247,4157,3194,285,282],"name":"TrailsRouterDeploymentTest","nameLocation":"468:26:73","scope":68998,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477]}],"license":"MIT"}},"test/script/TrailsRouterShim.s.t.sol":{"id":74,"ast":{"absolutePath":"test/script/TrailsRouterShim.s.t.sol","id":69362,"exportedSymbols":{"Create2Utils":[69419],"Test":[13474],"TrailsRouter":[50972],"TrailsRouterShim":[51106],"TrailsRouterShimDeploy":[49254],"TrailsRouterShimDeploymentTest":[69361]},"nodeType":"SourceUnit","src":"32:5932:74","nodes":[{"id":68999,"nodeType":"PragmaDirective","src":"32:24:74","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":69001,"nodeType":"ImportDirective","src":"58:40:74","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":69362,"sourceUnit":13475,"symbolAliases":[{"foreign":{"id":69000,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"66:4:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69003,"nodeType":"ImportDirective","src":"99:79:74","nodes":[],"absolutePath":"script/TrailsRouterShim.s.sol","file":"script/TrailsRouterShim.s.sol","nameLocation":"-1:-1:-1","scope":69362,"sourceUnit":49255,"symbolAliases":[{"foreign":{"id":69002,"name":"Deploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49254,"src":"107:6:74","typeDescriptions":{}},"local":"TrailsRouterShimDeploy","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69005,"nodeType":"ImportDirective","src":"179:58:74","nodes":[],"absolutePath":"src/TrailsRouterShim.sol","file":"src/TrailsRouterShim.sol","nameLocation":"-1:-1:-1","scope":69362,"sourceUnit":51107,"symbolAliases":[{"foreign":{"id":69004,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"187:16:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69007,"nodeType":"ImportDirective","src":"238:50:74","nodes":[],"absolutePath":"src/TrailsRouter.sol","file":"src/TrailsRouter.sol","nameLocation":"-1:-1:-1","scope":69362,"sourceUnit":50973,"symbolAliases":[{"foreign":{"id":69006,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"246:12:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69009,"nodeType":"ImportDirective","src":"289:55:74","nodes":[],"absolutePath":"test/utils/Create2Utils.sol","file":"../utils/Create2Utils.sol","nameLocation":"-1:-1:-1","scope":69362,"sourceUnit":69420,"symbolAliases":[{"foreign":{"id":69008,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"297:12:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69361,"nodeType":"ContractDefinition","src":"526:5437:74","nodes":[{"id":69014,"nodeType":"VariableDeclaration","src":"771:45:74","nodes":[],"constant":false,"mutability":"mutable","name":"_deployScript","nameLocation":"803:13:74","scope":69361,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"},"typeName":{"id":69013,"nodeType":"UserDefinedTypeName","pathNode":{"id":69012,"name":"TrailsRouterShimDeploy","nameLocations":["771:22:74"],"nodeType":"IdentifierPath","referencedDeclaration":49254,"src":"771:22:74"},"referencedDeclaration":49254,"src":"771:22:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"visibility":"internal"},{"id":69016,"nodeType":"VariableDeclaration","src":"822:26:74","nodes":[],"constant":false,"mutability":"mutable","name":"_deployer","nameLocation":"839:9:74","scope":69361,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69015,"name":"address","nodeType":"ElementaryTypeName","src":"822:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":69018,"nodeType":"VariableDeclaration","src":"854:28:74","nodes":[],"constant":false,"mutability":"mutable","name":"_deployerPk","nameLocation":"871:11:74","scope":69361,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69017,"name":"uint256","nodeType":"ElementaryTypeName","src":"854:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":69020,"nodeType":"VariableDeclaration","src":"888:30:74","nodes":[],"constant":false,"mutability":"mutable","name":"_deployerPkStr","nameLocation":"904:14:74","scope":69361,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":69019,"name":"string","nodeType":"ElementaryTypeName","src":"888:6:74","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":69052,"nodeType":"FunctionDefinition","src":"1177:352:74","nodes":[],"body":{"id":69051,"nodeType":"Block","src":"1250:279:74","nodes":[],"statements":[{"assignments":[69026],"declarations":[{"constant":false,"id":69026,"mutability":"mutable","name":"multicall3","nameLocation":"1268:10:74","nodeType":"VariableDeclaration","scope":69051,"src":"1260:18:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69025,"name":"address","nodeType":"ElementaryTypeName","src":"1260:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":69028,"initialValue":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":69027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1281:42:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"nodeType":"VariableDeclarationStatement","src":"1260:63:74"},{"assignments":[69030],"declarations":[{"constant":false,"id":69030,"mutability":"mutable","name":"initCode","nameLocation":"1346:8:74","nodeType":"VariableDeclaration","scope":69051,"src":"1333:21:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69029,"name":"bytes","nodeType":"ElementaryTypeName","src":"1333:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":69042,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":69034,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"1379:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}],"id":69033,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1374:4:74","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":69035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1374:18:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_TrailsRouter_$50972","typeString":"type(contract TrailsRouter)"}},"id":69036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:12:74","memberName":"creationCode","nodeType":"MemberAccess","src":"1374:31:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":69039,"name":"multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69026,"src":"1418:10:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":69037,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1407:3:74","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1411:6:74","memberName":"encode","nodeType":"MemberAccess","src":"1407:10:74","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1407:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":69031,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1357:3:74","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1361:12:74","memberName":"encodePacked","nodeType":"MemberAccess","src":"1357:16:74","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1357:73:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1333:97:74"},{"expression":{"arguments":[{"id":69045,"name":"initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69030,"src":"1484:8:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69046,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"1494:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Create2Utils_$69419_$","typeString":"type(library Create2Utils)"}},"id":69047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1507:12:74","memberName":"standardSalt","nodeType":"MemberAccess","referencedDeclaration":69418,"src":"1494:25:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":69048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1494:27:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":69043,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"1447:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Create2Utils_$69419_$","typeString":"type(library Create2Utils)"}},"id":69044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1460:23:74","memberName":"calculateCreate2Address","nodeType":"MemberAccess","referencedDeclaration":69406,"src":"1447:36:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_payable_$","typeString":"function (bytes memory,bytes32) pure returns (address payable)"}},"id":69049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1447:75:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":69024,"id":69050,"nodeType":"Return","src":"1440:82:74"}]},"implemented":true,"kind":"function","modifiers":[],"name":"expectedRouterAddress","nameLocation":"1186:21:74","parameters":{"id":69021,"nodeType":"ParameterList","parameters":[],"src":"1207:2:74"},"returnParameters":{"id":69024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69023,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69052,"src":"1233:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69022,"name":"address","nodeType":"ElementaryTypeName","src":"1233:15:74","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"1232:17:74"},"scope":69361,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":69085,"nodeType":"FunctionDefinition","src":"1535:343:74","nodes":[],"body":{"id":69084,"nodeType":"Block","src":"1606:272:74","nodes":[],"statements":[{"assignments":[69058],"declarations":[{"constant":false,"id":69058,"mutability":"mutable","name":"routerAddr","nameLocation":"1624:10:74","nodeType":"VariableDeclaration","scope":69084,"src":"1616:18:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69057,"name":"address","nodeType":"ElementaryTypeName","src":"1616:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":69061,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":69059,"name":"expectedRouterAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69052,"src":"1637:21:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":69060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1637:23:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"1616:44:74"},{"assignments":[69063],"declarations":[{"constant":false,"id":69063,"mutability":"mutable","name":"shimInitCode","nameLocation":"1683:12:74","nodeType":"VariableDeclaration","scope":69084,"src":"1670:25:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69062,"name":"bytes","nodeType":"ElementaryTypeName","src":"1670:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":69075,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":69067,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"1720:16:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}],"id":69066,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1715:4:74","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":69068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1715:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_TrailsRouterShim_$51106","typeString":"type(contract TrailsRouterShim)"}},"id":69069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1738:12:74","memberName":"creationCode","nodeType":"MemberAccess","src":"1715:35:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":69072,"name":"routerAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69058,"src":"1763:10:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":69070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1752:3:74","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1756:6:74","memberName":"encode","nodeType":"MemberAccess","src":"1752:10:74","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1752:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":69064,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1698:3:74","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1702:12:74","memberName":"encodePacked","nodeType":"MemberAccess","src":"1698:16:74","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1698:77:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1670:105:74"},{"expression":{"arguments":[{"id":69078,"name":"shimInitCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69063,"src":"1829:12:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69079,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"1843:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Create2Utils_$69419_$","typeString":"type(library Create2Utils)"}},"id":69080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1856:12:74","memberName":"standardSalt","nodeType":"MemberAccess","referencedDeclaration":69418,"src":"1843:25:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":69081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1843:27:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":69076,"name":"Create2Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69419,"src":"1792:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Create2Utils_$69419_$","typeString":"type(library Create2Utils)"}},"id":69077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1805:23:74","memberName":"calculateCreate2Address","nodeType":"MemberAccess","referencedDeclaration":69406,"src":"1792:36:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_payable_$","typeString":"function (bytes memory,bytes32) pure returns (address payable)"}},"id":69082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1792:79:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":69056,"id":69083,"nodeType":"Return","src":"1785:86:74"}]},"implemented":true,"kind":"function","modifiers":[],"name":"expectedShimAddress","nameLocation":"1544:19:74","parameters":{"id":69053,"nodeType":"ParameterList","parameters":[],"src":"1563:2:74"},"returnParameters":{"id":69056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":69085,"src":"1589:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69054,"name":"address","nodeType":"ElementaryTypeName","src":"1589:15:74","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"1588:17:74"},"scope":69361,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":69118,"nodeType":"FunctionDefinition","src":"2060:372:74","nodes":[],"body":{"id":69117,"nodeType":"Block","src":"2084:348:74","nodes":[],"statements":[{"expression":{"id":69093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69088,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69014,"src":"2094:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":69091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2110:26:74","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Deploy_$49254_$","typeString":"function () returns (contract Deploy)"},"typeName":{"id":69090,"nodeType":"UserDefinedTypeName","pathNode":{"id":69089,"name":"TrailsRouterShimDeploy","nameLocations":["2114:22:74"],"nodeType":"IdentifierPath","referencedDeclaration":49254,"src":"2114:22:74"},"referencedDeclaration":49254,"src":"2114:22:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}}},"id":69092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:28:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"src":"2094:44:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"id":69094,"nodeType":"ExpressionStatement","src":"2094:44:74"},{"expression":{"id":69097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69095,"name":"_deployerPk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69018,"src":"2148:11:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"307861633039373462656333396131376533366261346136623464323338666639343462616362343738636265643565666361653738346437626634663266663830","id":69096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2162:66:74","typeDescriptions":{"typeIdentifier":"t_rational_77814517325470205911140941194401928579557062014761831930645393041380819009408_by_1","typeString":"int_const 7781...(69 digits omitted)...9408"},"value":"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"},"src":"2148:80:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69098,"nodeType":"ExpressionStatement","src":"2148:80:74"},{"expression":{"id":69101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69099,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69020,"src":"2259:14:74","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"307861633039373462656333396131376533366261346136623464323338666639343462616362343738636265643565666361653738346437626634663266663830","id":69100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2276:68:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef7acc72b2621dd91ef5e976d9305cd1b244a760de4a756fdb056db86cc07ebd","typeString":"literal_string \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\""},"value":"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"},"src":"2259:85:74","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":69102,"nodeType":"ExpressionStatement","src":"2259:85:74"},{"expression":{"id":69108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69103,"name":"_deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69016,"src":"2354:9:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":69106,"name":"_deployerPk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69018,"src":"2374:11:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":69104,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2366:2:74","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2369:4:74","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":14336,"src":"2366:7:74","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":69107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2366:20:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2354:32:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69109,"nodeType":"ExpressionStatement","src":"2354:32:74"},{"expression":{"arguments":[{"id":69113,"name":"_deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69016,"src":"2404:9:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":69114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2415:9:74","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":69110,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2396:2:74","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2399:4:74","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"2396:7:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":69115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2396:29:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69116,"nodeType":"ExpressionStatement","src":"2396:29:74"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"2069:5:74","parameters":{"id":69086,"nodeType":"ParameterList","parameters":[],"src":"2074:2:74"},"returnParameters":{"id":69087,"nodeType":"ParameterList","parameters":[],"src":"2084:0:74"},"scope":69361,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":69188,"nodeType":"FunctionDefinition","src":"2623:928:74","nodes":[],"body":{"id":69187,"nodeType":"Block","src":"2671:880:74","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":69124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2691:13:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":69125,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69020,"src":"2706:14:74","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":69121,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2681:2:74","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2684:6:74","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"2681:9:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":69126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2681:40:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69127,"nodeType":"ExpressionStatement","src":"2681:40:74"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69128,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2732:2:74","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2735:10:74","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":14512,"src":"2732:13:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2732:15:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69132,"nodeType":"ExpressionStatement","src":"2732:15:74"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69133,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69014,"src":"2757:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"id":69135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2771:3:74","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49253,"src":"2757:17:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2757:19:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69137,"nodeType":"ExpressionStatement","src":"2757:19:74"},{"assignments":[69139],"declarations":[{"constant":false,"id":69139,"mutability":"mutable","name":"deployedRouterAddr","nameLocation":"2863:18:74","nodeType":"VariableDeclaration","scope":69187,"src":"2855:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69138,"name":"address","nodeType":"ElementaryTypeName","src":"2855:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":69143,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69140,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69014,"src":"2884:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"id":69141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2898:13:74","memberName":"routerAddress","nodeType":"MemberAccess","referencedDeclaration":49164,"src":"2884:27:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":69142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2884:29:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2855:58:74"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":69145,"name":"deployedRouterAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69139,"src":"2977:18:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2996:4:74","memberName":"code","nodeType":"MemberAccess","src":"2977:23:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":69147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3001:6:74","memberName":"length","nodeType":"MemberAccess","src":"2977:30:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3010:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2977:34:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":69150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3013:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"547261696c73526f757465722073686f756c64206265206465706c6f796564","id":69151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3019:33:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_08ed717ba8e4222b076f9ad2f68ae99d5fb35a7207f44ecdff53973f81305210","typeString":"literal_string \"TrailsRouter should be deployed\""},"value":"TrailsRouter should be deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_08ed717ba8e4222b076f9ad2f68ae99d5fb35a7207f44ecdff53973f81305210","typeString":"literal_string \"TrailsRouter should be deployed\""}],"id":69144,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"2968:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":69152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2968:85:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69153,"nodeType":"ExpressionStatement","src":"2968:85:74"},{"assignments":[69155],"declarations":[{"constant":false,"id":69155,"mutability":"mutable","name":"expectedShimAddr","nameLocation":"3152:16:74","nodeType":"VariableDeclaration","scope":69187,"src":"3136:32:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69154,"name":"address","nodeType":"ElementaryTypeName","src":"3136:15:74","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":69158,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":69156,"name":"expectedShimAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69085,"src":"3171:19:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":69157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3171:21:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"3136:56:74"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":69160,"name":"expectedShimAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69155,"src":"3211:16:74","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":69161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3228:4:74","memberName":"code","nodeType":"MemberAccess","src":"3211:21:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":69162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3233:6:74","memberName":"length","nodeType":"MemberAccess","src":"3211:28:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3242:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3211:32:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":69165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3245:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"547261696c73526f757465725368696d2073686f756c64206265206465706c6f7965642061742065787065637465642061646472657373","id":69166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3251:57:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_49c653d72f420f68c502843fb1bad4e6d1065cab5369498995b2db25fc01cc64","typeString":"literal_string \"TrailsRouterShim should be deployed at expected address\""},"value":"TrailsRouterShim should be deployed at expected address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_49c653d72f420f68c502843fb1bad4e6d1065cab5369498995b2db25fc01cc64","typeString":"literal_string \"TrailsRouterShim should be deployed at expected address\""}],"id":69159,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"3202:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":69167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3202:107:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69168,"nodeType":"ExpressionStatement","src":"3202:107:74"},{"assignments":[69171],"declarations":[{"constant":false,"id":69171,"mutability":"mutable","name":"shim","nameLocation":"3398:4:74","nodeType":"VariableDeclaration","scope":69187,"src":"3381:21:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"},"typeName":{"id":69170,"nodeType":"UserDefinedTypeName","pathNode":{"id":69169,"name":"TrailsRouterShim","nameLocations":["3381:16:74"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"3381:16:74"},"referencedDeclaration":51106,"src":"3381:16:74","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"visibility":"internal"}],"id":69175,"initialValue":{"arguments":[{"id":69173,"name":"expectedShimAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69155,"src":"3422:16:74","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":69172,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"3405:16:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}},"id":69174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3405:34:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"nodeType":"VariableDeclarationStatement","src":"3381:58:74"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69179,"name":"shim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69171,"src":"3466:4:74","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"id":69180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3471:6:74","memberName":"ROUTER","nodeType":"MemberAccess","referencedDeclaration":50992,"src":"3466:11:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":69181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3466:13:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3458:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69177,"name":"address","nodeType":"ElementaryTypeName","src":"3458:7:74","typeDescriptions":{}}},"id":69182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3458:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69183,"name":"deployedRouterAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69139,"src":"3482:18:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"5368696d2073686f756c64206861766520636f727265637420726f757465722061646472657373","id":69184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3502:41:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcb8ca3ad2e53c324f4af838683a21a514cc76448099cf21c69b8e2cd2472efc","typeString":"literal_string \"Shim should have correct router address\""},"value":"Shim should have correct router address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_fcb8ca3ad2e53c324f4af838683a21a514cc76448099cf21c69b8e2cd2472efc","typeString":"literal_string \"Shim should have correct router address\""}],"id":69176,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":870,"src":"3449:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure"}},"id":69185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3449:95:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69186,"nodeType":"ExpressionStatement","src":"3449:95:74"}]},"functionSelector":"b4ce81b5","implemented":true,"kind":"function","modifiers":[],"name":"test_DeployRouterShim_Success","nameLocation":"2632:29:74","parameters":{"id":69119,"nodeType":"ParameterList","parameters":[],"src":"2661:2:74"},"returnParameters":{"id":69120,"nodeType":"ParameterList","parameters":[],"src":"2671:0:74"},"scope":69361,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":69277,"nodeType":"FunctionDefinition","src":"3557:1249:74","nodes":[],"body":{"id":69276,"nodeType":"Block","src":"3609:1197:74","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":69194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3629:13:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":69195,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69020,"src":"3644:14:74","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":69191,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3619:2:74","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3622:6:74","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"3619:9:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":69196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3619:40:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69197,"nodeType":"ExpressionStatement","src":"3619:40:74"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69198,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"3698:2:74","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3701:10:74","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":14512,"src":"3698:13:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3698:15:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69202,"nodeType":"ExpressionStatement","src":"3698:15:74"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69203,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69014,"src":"3723:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"id":69205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3737:3:74","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49253,"src":"3723:17:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3723:19:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69207,"nodeType":"ExpressionStatement","src":"3723:19:74"},{"assignments":[69209],"declarations":[{"constant":false,"id":69209,"mutability":"mutable","name":"deployedRouterAddr","nameLocation":"3829:18:74","nodeType":"VariableDeclaration","scope":69276,"src":"3821:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69208,"name":"address","nodeType":"ElementaryTypeName","src":"3821:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":69213,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69210,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69014,"src":"3850:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"id":69211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3864:13:74","memberName":"routerAddress","nodeType":"MemberAccess","referencedDeclaration":49164,"src":"3850:27:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":69212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3850:29:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3821:58:74"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":69215,"name":"deployedRouterAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69209,"src":"3944:18:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3963:4:74","memberName":"code","nodeType":"MemberAccess","src":"3944:23:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":69217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3968:6:74","memberName":"length","nodeType":"MemberAccess","src":"3944:30:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3977:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3944:34:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":69220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3980:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"4669727374206465706c6f796d656e743a20547261696c73526f75746572206465706c6f796564","id":69221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3986:41:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_c66a77904c5bc448bca220c7afff614b1318262e78042b04f35a50360e2fe152","typeString":"literal_string \"First deployment: TrailsRouter deployed\""},"value":"First deployment: TrailsRouter deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c66a77904c5bc448bca220c7afff614b1318262e78042b04f35a50360e2fe152","typeString":"literal_string \"First deployment: TrailsRouter deployed\""}],"id":69214,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"3935:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":69222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3935:93:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69223,"nodeType":"ExpressionStatement","src":"3935:93:74"},{"assignments":[69225],"declarations":[{"constant":false,"id":69225,"mutability":"mutable","name":"expectedShimAddr","nameLocation":"4054:16:74","nodeType":"VariableDeclaration","scope":69276,"src":"4038:32:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69224,"name":"address","nodeType":"ElementaryTypeName","src":"4038:15:74","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":69228,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":69226,"name":"expectedShimAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69085,"src":"4073:19:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":69227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4073:21:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"4038:56:74"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":69230,"name":"expectedShimAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69225,"src":"4113:16:74","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":69231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4130:4:74","memberName":"code","nodeType":"MemberAccess","src":"4113:21:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":69232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4135:6:74","memberName":"length","nodeType":"MemberAccess","src":"4113:28:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4144:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4113:32:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":69235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4147:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"4669727374206465706c6f796d656e743a20547261696c73526f757465725368696d206465706c6f796564","id":69236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4153:45:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_80dae50cf55e524c2daeccc0541c8b52676bb897880fe0eeb0fd12e333c98615","typeString":"literal_string \"First deployment: TrailsRouterShim deployed\""},"value":"First deployment: TrailsRouterShim deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80dae50cf55e524c2daeccc0541c8b52676bb897880fe0eeb0fd12e333c98615","typeString":"literal_string \"First deployment: TrailsRouterShim deployed\""}],"id":69229,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"4104:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":69237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4104:95:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69238,"nodeType":"ExpressionStatement","src":"4104:95:74"},{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":69242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4276:13:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":69243,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69020,"src":"4291:14:74","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":69239,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4266:2:74","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4269:6:74","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"4266:9:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":69244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4266:40:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69245,"nodeType":"ExpressionStatement","src":"4266:40:74"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69246,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4396:2:74","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4399:10:74","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":14512,"src":"4396:13:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:15:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69250,"nodeType":"ExpressionStatement","src":"4396:15:74"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69251,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69014,"src":"4421:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"id":69253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4435:3:74","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49253,"src":"4421:17:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4421:19:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69255,"nodeType":"ExpressionStatement","src":"4421:19:74"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":69257,"name":"deployedRouterAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69209,"src":"4534:18:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4553:4:74","memberName":"code","nodeType":"MemberAccess","src":"4534:23:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":69259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4558:6:74","memberName":"length","nodeType":"MemberAccess","src":"4534:30:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4567:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4534:34:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":69262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4570:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"5365636f6e64206465706c6f796d656e743a20547261696c73526f75746572207374696c6c206465706c6f796564","id":69263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4576:48:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_589f2426f1e8a87625fff79b161dc6457f765ccbe9d9a6f7441f041aef9dd0be","typeString":"literal_string \"Second deployment: TrailsRouter still deployed\""},"value":"Second deployment: TrailsRouter still deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_589f2426f1e8a87625fff79b161dc6457f765ccbe9d9a6f7441f041aef9dd0be","typeString":"literal_string \"Second deployment: TrailsRouter still deployed\""}],"id":69256,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"4525:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":69264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4525:100:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69265,"nodeType":"ExpressionStatement","src":"4525:100:74"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":69267,"name":"expectedShimAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69225,"src":"4644:16:74","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":69268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4661:4:74","memberName":"code","nodeType":"MemberAccess","src":"4644:21:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":69269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4666:6:74","memberName":"length","nodeType":"MemberAccess","src":"4644:28:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4675:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4644:32:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":69272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4678:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"5365636f6e64206465706c6f796d656e743a20547261696c73526f757465725368696d207374696c6c206465706c6f796564","id":69273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4684:52:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_6234c92a33fb5a7ff6a4a98f9779c81b57062b2b1da565400932f95da2f80b8f","typeString":"literal_string \"Second deployment: TrailsRouterShim still deployed\""},"value":"Second deployment: TrailsRouterShim still deployed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6234c92a33fb5a7ff6a4a98f9779c81b57062b2b1da565400932f95da2f80b8f","typeString":"literal_string \"Second deployment: TrailsRouterShim still deployed\""}],"id":69266,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"4635:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":69274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4635:102:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69275,"nodeType":"ExpressionStatement","src":"4635:102:74"}]},"functionSelector":"4f16fadf","implemented":true,"kind":"function","modifiers":[],"name":"test_DeployRouterShim_SameAddress","nameLocation":"3566:33:74","parameters":{"id":69189,"nodeType":"ParameterList","parameters":[],"src":"3599:2:74"},"returnParameters":{"id":69190,"nodeType":"ParameterList","parameters":[],"src":"3609:0:74"},"scope":69361,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":69360,"nodeType":"FunctionDefinition","src":"4812:1149:74","nodes":[],"body":{"id":69359,"nodeType":"Block","src":"4876:1085:74","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"505249564154455f4b4559","id":69283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4896:13:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},"value":"PRIVATE_KEY"},{"id":69284,"name":"_deployerPkStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69020,"src":"4911:14:74","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ef6555c4d06f7a53d2dd092327f3256a8d6f18aff592d5349c12226686be6c5","typeString":"literal_string \"PRIVATE_KEY\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":69280,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4886:2:74","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4889:6:74","memberName":"setEnv","nodeType":"MemberAccess","referencedDeclaration":14316,"src":"4886:9:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":69285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4886:40:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69286,"nodeType":"ExpressionStatement","src":"4886:40:74"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69287,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69014,"src":"4966:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"id":69289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4980:3:74","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":49253,"src":"4966:17:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":69290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4966:19:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69291,"nodeType":"ExpressionStatement","src":"4966:19:74"},{"assignments":[69293],"declarations":[{"constant":false,"id":69293,"mutability":"mutable","name":"deployedRouterAddr","nameLocation":"5052:18:74","nodeType":"VariableDeclaration","scope":69359,"src":"5044:26:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69292,"name":"address","nodeType":"ElementaryTypeName","src":"5044:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":69297,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69294,"name":"_deployScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69014,"src":"5073:13:74","typeDescriptions":{"typeIdentifier":"t_contract$_Deploy_$49254","typeString":"contract Deploy"}},"id":69295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5087:13:74","memberName":"routerAddress","nodeType":"MemberAccess","referencedDeclaration":49164,"src":"5073:27:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":69296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5073:29:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5044:58:74"},{"assignments":[69299],"declarations":[{"constant":false,"id":69299,"mutability":"mutable","name":"expectedShimAddr","nameLocation":"5128:16:74","nodeType":"VariableDeclaration","scope":69359,"src":"5112:32:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69298,"name":"address","nodeType":"ElementaryTypeName","src":"5112:15:74","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"id":69302,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":69300,"name":"expectedShimAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69085,"src":"5147:19:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_payable_$","typeString":"function () pure returns (address payable)"}},"id":69301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5147:21:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"5112:56:74"},{"assignments":[69305],"declarations":[{"constant":false,"id":69305,"mutability":"mutable","name":"shim","nameLocation":"5195:4:74","nodeType":"VariableDeclaration","scope":69359,"src":"5178:21:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"},"typeName":{"id":69304,"nodeType":"UserDefinedTypeName","pathNode":{"id":69303,"name":"TrailsRouterShim","nameLocations":["5178:16:74"],"nodeType":"IdentifierPath","referencedDeclaration":51106,"src":"5178:16:74"},"referencedDeclaration":51106,"src":"5178:16:74","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"visibility":"internal"}],"id":69309,"initialValue":{"arguments":[{"id":69307,"name":"expectedShimAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69299,"src":"5219:16:74","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":69306,"name":"TrailsRouterShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51106,"src":"5202:16:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouterShim_$51106_$","typeString":"type(contract TrailsRouterShim)"}},"id":69308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5202:34:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"nodeType":"VariableDeclarationStatement","src":"5178:58:74"},{"assignments":[69312],"declarations":[{"constant":false,"id":69312,"mutability":"mutable","name":"router","nameLocation":"5259:6:74","nodeType":"VariableDeclaration","scope":69359,"src":"5246:19:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"},"typeName":{"id":69311,"nodeType":"UserDefinedTypeName","pathNode":{"id":69310,"name":"TrailsRouter","nameLocations":["5246:12:74"],"nodeType":"IdentifierPath","referencedDeclaration":50972,"src":"5246:12:74"},"referencedDeclaration":50972,"src":"5246:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"visibility":"internal"}],"id":69319,"initialValue":{"arguments":[{"arguments":[{"id":69316,"name":"deployedRouterAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69293,"src":"5289:18:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5281:8:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":69314,"name":"address","nodeType":"ElementaryTypeName","src":"5281:8:74","stateMutability":"payable","typeDescriptions":{}}},"id":69317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5281:27:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":69313,"name":"TrailsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50972,"src":"5268:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TrailsRouter_$50972_$","typeString":"type(contract TrailsRouter)"}},"id":69318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5268:41:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}},"nodeType":"VariableDeclarationStatement","src":"5246:63:74"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69323,"name":"shim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69305,"src":"5403:4:74","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"id":69324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5408:6:74","memberName":"ROUTER","nodeType":"MemberAccess","referencedDeclaration":50992,"src":"5403:11:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":69325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5403:13:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5395:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69321,"name":"address","nodeType":"ElementaryTypeName","src":"5395:7:74","typeDescriptions":{}}},"id":69326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5395:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69327,"name":"deployedRouterAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69293,"src":"5419:18:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"5368696d2073686f756c64206861766520636f727265637420726f75746572206164647265737320736574","id":69328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5439:45:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_68855aedac4a85d0d2c96e4c93720a62e3614ab1370e8cbae3bbbeedc282d52d","typeString":"literal_string \"Shim should have correct router address set\""},"value":"Shim should have correct router address set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_68855aedac4a85d0d2c96e4c93720a62e3614ab1370e8cbae3bbbeedc282d52d","typeString":"literal_string \"Shim should have correct router address set\""}],"id":69320,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":870,"src":"5386:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure"}},"id":69329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5386:99:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69330,"nodeType":"ExpressionStatement","src":"5386:99:74"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":69334,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69312,"src":"5581:6:74","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TrailsRouter_$50972","typeString":"contract TrailsRouter"}],"id":69333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5573:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69332,"name":"address","nodeType":"ElementaryTypeName","src":"5573:7:74","typeDescriptions":{}}},"id":69335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5573:15:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5589:4:74","memberName":"code","nodeType":"MemberAccess","src":"5573:20:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":69337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5594:6:74","memberName":"length","nodeType":"MemberAccess","src":"5573:27:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":69338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5603:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5573:31:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":69340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5606:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"526f757465722073686f756c64206861766520636f6465","id":69341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5612:25:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_99b55008eb863cf7686ac59368dcda318757ab809a47420788d93a5cb8de0316","typeString":"literal_string \"Router should have code\""},"value":"Router should have code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_99b55008eb863cf7686ac59368dcda318757ab809a47420788d93a5cb8de0316","typeString":"literal_string \"Router should have code\""}],"id":69331,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":663,"src":"5564:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure"}},"id":69342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5564:74:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69343,"nodeType":"ExpressionStatement","src":"5564:74:74"},{"assignments":[69345],"declarations":[{"constant":false,"id":69345,"mutability":"mutable","name":"routerFromShim","nameLocation":"5809:14:74","nodeType":"VariableDeclaration","scope":69359,"src":"5801:22:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69344,"name":"address","nodeType":"ElementaryTypeName","src":"5801:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":69352,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":69348,"name":"shim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69305,"src":"5834:4:74","typeDescriptions":{"typeIdentifier":"t_contract$_TrailsRouterShim_$51106","typeString":"contract TrailsRouterShim"}},"id":69349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5839:6:74","memberName":"ROUTER","nodeType":"MemberAccess","referencedDeclaration":50992,"src":"5834:11:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":69350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5834:13:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5826:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69346,"name":"address","nodeType":"ElementaryTypeName","src":"5826:7:74","typeDescriptions":{}}},"id":69351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5826:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5801:47:74"},{"expression":{"arguments":[{"id":69354,"name":"routerFromShim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69345,"src":"5867:14:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69355,"name":"deployedRouterAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69293,"src":"5883:18:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"5368696d2073686f756c642062652061626c6520746f206163636573732069747320726f757465722061646472657373","id":69356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5903:50:74","typeDescriptions":{"typeIdentifier":"t_stringliteral_51efe37511536d09608698bc13051a35103b6851d93cf2ced1e3e3d903db995d","typeString":"literal_string \"Shim should be able to access its router address\""},"value":"Shim should be able to access its router address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_51efe37511536d09608698bc13051a35103b6851d93cf2ced1e3e3d903db995d","typeString":"literal_string \"Shim should be able to access its router address\""}],"id":69353,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":870,"src":"5858:8:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure"}},"id":69357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5858:96:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69358,"nodeType":"ExpressionStatement","src":"5858:96:74"}]},"functionSelector":"b4092f6f","implemented":true,"kind":"function","modifiers":[],"name":"test_DeployedContract_HasCorrectConfiguration","nameLocation":"4821:45:74","parameters":{"id":69278,"nodeType":"ParameterList","parameters":[],"src":"4866:2:74"},"returnParameters":{"id":69279,"nodeType":"ParameterList","parameters":[],"src":"4876:0:74"},"scope":69361,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":69010,"name":"Test","nameLocations":["569:4:74"],"nodeType":"IdentifierPath","referencedDeclaration":13474,"src":"569:4:74"},"id":69011,"nodeType":"InheritanceSpecifier","src":"569:4:74"}],"canonicalName":"TrailsRouterShimDeploymentTest","contractDependencies":[49254,50972,51106],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[69361,13474,13420,7443,7042,6247,4157,3194,285,282],"name":"TrailsRouterShimDeploymentTest","nameLocation":"535:30:74","scope":69362,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477]}],"license":"MIT"}},"test/utils/Create2Utils.sol":{"id":75,"ast":{"absolutePath":"test/utils/Create2Utils.sol","id":69420,"exportedSymbols":{"Create2Utils":[69419],"SINGLETON_FACTORY_ADDR":[215]},"nodeType":"SourceUnit","src":"32:1426:75","nodes":[{"id":69363,"nodeType":"PragmaDirective","src":"32:24:75","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":69365,"nodeType":"ImportDirective","src":"58:82:75","nodes":[],"absolutePath":"lib/erc2470-libs/src/ISingletonFactory.sol","file":"lib/erc2470-libs/src/ISingletonFactory.sol","nameLocation":"-1:-1:-1","scope":69420,"sourceUnit":235,"symbolAliases":[{"foreign":{"id":69364,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"66:22:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69419,"nodeType":"ContractDefinition","src":"454:1003:75","nodes":[{"id":69406,"nodeType":"FunctionDefinition","src":"801:425:75","nodes":[],"body":{"id":69405,"nodeType":"Block","src":"952:274:75","nodes":[],"statements":[{"expression":{"id":69403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":69376,"name":"expectedAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69374,"src":"962:12:75","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":69390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1106:4:75","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":69389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1099:6:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":69388,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1099:6:75","typeDescriptions":{}}},"id":69391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1099:12:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":69392,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"1113:22:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69393,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69371,"src":"1137:4:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":69395,"name":"initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69369,"src":"1153:8:75","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69394,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1143:9:75","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1143:19:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":69386,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1082:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1086:12:75","memberName":"encodePacked","nodeType":"MemberAccess","src":"1082:16:75","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":69397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1082:81:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":69385,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1072:9:75","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1072:92:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":69384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1039:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":69383,"name":"uint256","nodeType":"ElementaryTypeName","src":"1039:7:75","typeDescriptions":{}}},"id":69399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1039:147:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1010:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":69381,"name":"uint160","nodeType":"ElementaryTypeName","src":"1010:7:75","typeDescriptions":{}}},"id":69400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1010:194:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":69380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"985:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69379,"name":"address","nodeType":"ElementaryTypeName","src":"985:7:75","typeDescriptions":{}}},"id":69401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"985:233:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"977:8:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":69377,"name":"address","nodeType":"ElementaryTypeName","src":"977:8:75","stateMutability":"payable","typeDescriptions":{}}},"id":69402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"977:242:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"962:257:75","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":69404,"nodeType":"ExpressionStatement","src":"962:257:75"}]},"documentation":{"id":69367,"nodeType":"StructuredDocumentation","src":"481:315:75","text":"@dev Calculate the expected CREATE2 address for a contract deployment\n @param initCode The contract initialization code (creation code + constructor args if any)\n @param salt The salt used for CREATE2 deployment\n @return expectedAddr The expected address where the contract will be deployed"},"implemented":true,"kind":"function","modifiers":[],"name":"calculateCreate2Address","nameLocation":"810:23:75","parameters":{"id":69372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69369,"mutability":"mutable","name":"initCode","nameLocation":"847:8:75","nodeType":"VariableDeclaration","scope":69406,"src":"834:21:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69368,"name":"bytes","nodeType":"ElementaryTypeName","src":"834:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":69371,"mutability":"mutable","name":"salt","nameLocation":"865:4:75","nodeType":"VariableDeclaration","scope":69406,"src":"857:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"857:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"833:37:75"},"returnParameters":{"id":69375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69374,"mutability":"mutable","name":"expectedAddr","nameLocation":"934:12:75","nodeType":"VariableDeclaration","scope":69406,"src":"918:28:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69373,"name":"address","nodeType":"ElementaryTypeName","src":"918:15:75","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"917:30:75"},"scope":69419,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":69418,"nodeType":"FunctionDefinition","src":"1360:95:75","nodes":[],"body":{"id":69417,"nodeType":"Block","src":"1421:34:75","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"30","id":69414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1446:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1438:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":69412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1438:7:75","typeDescriptions":{}}},"id":69415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1438:10:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":69411,"id":69416,"nodeType":"Return","src":"1431:17:75"}]},"documentation":{"id":69407,"nodeType":"StructuredDocumentation","src":"1232:123:75","text":"@dev Get the standard salt used for deterministic deployments (bytes32(0))\n @return salt The standard salt value"},"implemented":true,"kind":"function","modifiers":[],"name":"standardSalt","nameLocation":"1369:12:75","parameters":{"id":69408,"nodeType":"ParameterList","parameters":[],"src":"1381:2:75"},"returnParameters":{"id":69411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69410,"mutability":"mutable","name":"salt","nameLocation":"1415:4:75","nodeType":"VariableDeclaration","scope":69418,"src":"1407:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1407:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1406:14:75"},"scope":69419,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Create2Utils","contractDependencies":[],"contractKind":"library","documentation":{"id":69366,"nodeType":"StructuredDocumentation","src":"316:138:75","text":"@title Create2 Address Calculation Utilities\n @notice Utility functions for calculating CREATE2 addresses used in deployment tests"},"fullyImplemented":true,"linearizedBaseContracts":[69419],"name":"Create2Utils","nameLocation":"462:12:75","scope":69420,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"test/utils/TstoreUtils.sol":{"id":76,"ast":{"absolutePath":"test/utils/TstoreUtils.sol","id":69589,"exportedSymbols":{"HEVM":[69443],"HEVM_ADDRESS":[69437],"TstoreGetter":[69465],"TstoreMode":[69517],"TstoreRead":[69588],"TstoreSetter":[69454],"Vm":[18679]},"nodeType":"SourceUnit","src":"32:3285:76","nodes":[{"id":69421,"nodeType":"PragmaDirective","src":"32:24:76","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":69423,"nodeType":"ImportDirective","src":"58:36:76","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":69589,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":69422,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"66:2:76","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69437,"nodeType":"VariableDeclaration","src":"323:87:76","nodes":[],"constant":true,"mutability":"constant","name":"HEVM_ADDRESS","nameLocation":"340:12:76","scope":69589,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69424,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":69432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"389:17:76","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":69431,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"379:9:76","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":69433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"379:28:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":69430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"371:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":69429,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:76","typeDescriptions":{}}},"id":69434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"371:37:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"363:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":69427,"name":"uint160","nodeType":"ElementaryTypeName","src":"363:7:76","typeDescriptions":{}}},"id":69435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"363:46:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":69426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"355:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":69425,"name":"address","nodeType":"ElementaryTypeName","src":"355:7:76","typeDescriptions":{}}},"id":69436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"355:55:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":69443,"nodeType":"VariableDeclaration","src":"412:35:76","nodes":[],"constant":true,"mutability":"constant","name":"HEVM","nameLocation":"424:4:76","scope":69589,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":69439,"nodeType":"UserDefinedTypeName","pathNode":{"id":69438,"name":"Vm","nameLocations":["412:2:76"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"412:2:76"},"referencedDeclaration":18679,"src":"412:2:76","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"id":69441,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69437,"src":"434:12:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":69440,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"431:2:76","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":69442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"431:16:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"internal"},{"id":69454,"nodeType":"ContractDefinition","src":"702:149:76","nodes":[{"id":69453,"nodeType":"FunctionDefinition","src":"730:119:76","nodes":[],"body":{"id":69452,"nodeType":"Block","src":"781:68:76","nodes":[],"statements":[{"AST":{"nativeSrc":"800:43:76","nodeType":"YulBlock","src":"800:43:76","statements":[{"expression":{"arguments":[{"name":"slot","nativeSrc":"821:4:76","nodeType":"YulIdentifier","src":"821:4:76"},{"name":"value","nativeSrc":"827:5:76","nodeType":"YulIdentifier","src":"827:5:76"}],"functionName":{"name":"tstore","nativeSrc":"814:6:76","nodeType":"YulIdentifier","src":"814:6:76"},"nativeSrc":"814:19:76","nodeType":"YulFunctionCall","src":"814:19:76"},"nativeSrc":"814:19:76","nodeType":"YulExpressionStatement","src":"814:19:76"}]},"evmVersion":"prague","externalReferences":[{"declaration":69446,"isOffset":false,"isSlot":false,"src":"821:4:76","valueSize":1},{"declaration":69448,"isOffset":false,"isSlot":false,"src":"827:5:76","valueSize":1}],"id":69451,"nodeType":"InlineAssembly","src":"791:52:76"}]},"functionSelector":"f71f7a25","implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"739:3:76","parameters":{"id":69449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69446,"mutability":"mutable","name":"slot","nameLocation":"751:4:76","nodeType":"VariableDeclaration","scope":69453,"src":"743:12:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"743:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":69448,"mutability":"mutable","name":"value","nameLocation":"765:5:76","nodeType":"VariableDeclaration","scope":69453,"src":"757:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"757:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"742:29:76"},"returnParameters":{"id":69450,"nodeType":"ParameterList","parameters":[],"src":"781:0:76"},"scope":69454,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"TstoreSetter","contractDependencies":[],"contractKind":"contract","documentation":{"id":69444,"nodeType":"StructuredDocumentation","src":"640:62:76","text":"@notice Helper to write transient storage at a given slot"},"fullyImplemented":true,"linearizedBaseContracts":[69454],"name":"TstoreSetter","nameLocation":"711:12:76","scope":69589,"usedErrors":[],"usedEvents":[]},{"id":69465,"nodeType":"ContractDefinition","src":"918:164:76","nodes":[{"id":69464,"nodeType":"FunctionDefinition","src":"946:134:76","nodes":[],"body":{"id":69463,"nodeType":"Block","src":"1011:69:76","nodes":[],"statements":[{"AST":{"nativeSrc":"1030:44:76","nodeType":"YulBlock","src":"1030:44:76","statements":[{"nativeSrc":"1044:20:76","nodeType":"YulAssignment","src":"1044:20:76","value":{"arguments":[{"name":"slot","nativeSrc":"1059:4:76","nodeType":"YulIdentifier","src":"1059:4:76"}],"functionName":{"name":"tload","nativeSrc":"1053:5:76","nodeType":"YulIdentifier","src":"1053:5:76"},"nativeSrc":"1053:11:76","nodeType":"YulFunctionCall","src":"1053:11:76"},"variableNames":[{"name":"value","nativeSrc":"1044:5:76","nodeType":"YulIdentifier","src":"1044:5:76"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":69457,"isOffset":false,"isSlot":false,"src":"1059:4:76","valueSize":1},{"declaration":69460,"isOffset":false,"isSlot":false,"src":"1044:5:76","valueSize":1}],"id":69462,"nodeType":"InlineAssembly","src":"1021:53:76"}]},"functionSelector":"8eaa6ac0","implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"955:3:76","parameters":{"id":69458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69457,"mutability":"mutable","name":"slot","nameLocation":"967:4:76","nodeType":"VariableDeclaration","scope":69464,"src":"959:12:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"959:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"958:14:76"},"returnParameters":{"id":69461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69460,"mutability":"mutable","name":"value","nameLocation":"1004:5:76","nodeType":"VariableDeclaration","scope":69464,"src":"996:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69459,"name":"uint256","nodeType":"ElementaryTypeName","src":"996:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"995:15:76"},"scope":69465,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"TstoreGetter","contractDependencies":[],"contractKind":"contract","documentation":{"id":69455,"nodeType":"StructuredDocumentation","src":"853:65:76","text":"@notice Helper to probe tstore support by attempting a tload"},"fullyImplemented":true,"linearizedBaseContracts":[69465],"name":"TstoreGetter","nameLocation":"927:12:76","scope":69589,"usedErrors":[],"usedEvents":[]},{"id":69517,"nodeType":"ContractDefinition","src":"1286:544:76","nodes":[{"id":69474,"nodeType":"VariableDeclaration","src":"1311:66:76","nodes":[],"constant":true,"mutability":"constant","name":"SLOT_TSTORE_SUPPORT","nameLocation":"1336:19:76","scope":69517,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1311:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"arguments":[{"hexValue":"30","id":69471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1374:1:76","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1366:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":69469,"name":"uint256","nodeType":"ElementaryTypeName","src":"1366:7:76","typeDescriptions":{}}},"id":69472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1366:10:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1358:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":69467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1358:7:76","typeDescriptions":{}}},"id":69473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1358:19:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":69495,"nodeType":"FunctionDefinition","src":"1480:121:76","nodes":[],"body":{"id":69494,"nodeType":"Block","src":"1524:77:76","nodes":[],"statements":[{"expression":{"arguments":[{"id":69483,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69477,"src":"1545:6:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69484,"name":"SLOT_TSTORE_SUPPORT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69474,"src":"1553:19:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"31","id":69489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1590:1:76","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":69488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1582:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":69487,"name":"uint256","nodeType":"ElementaryTypeName","src":"1582:7:76","typeDescriptions":{}}},"id":69490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1582:10:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1574:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":69485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1574:7:76","typeDescriptions":{}}},"id":69491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1574:19:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":69480,"name":"HEVM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69443,"src":"1534:4:76","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1539:5:76","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"1534:10:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":69492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1534:60:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69493,"nodeType":"ExpressionStatement","src":"1534:60:76"}]},"documentation":{"id":69475,"nodeType":"StructuredDocumentation","src":"1384:91:76","text":"@notice Force-enable Tstorish tstore mode by setting `_tstoreSupport` to true at slot 0"},"implemented":true,"kind":"function","modifiers":[],"name":"setActive","nameLocation":"1489:9:76","parameters":{"id":69478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69477,"mutability":"mutable","name":"target","nameLocation":"1507:6:76","nodeType":"VariableDeclaration","scope":69495,"src":"1499:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69476,"name":"address","nodeType":"ElementaryTypeName","src":"1499:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1498:16:76"},"returnParameters":{"id":69479,"nodeType":"ParameterList","parameters":[],"src":"1524:0:76"},"scope":69517,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":69516,"nodeType":"FunctionDefinition","src":"1705:123:76","nodes":[],"body":{"id":69515,"nodeType":"Block","src":"1751:77:76","nodes":[],"statements":[{"expression":{"arguments":[{"id":69504,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69498,"src":"1772:6:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69505,"name":"SLOT_TSTORE_SUPPORT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69474,"src":"1780:19:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"30","id":69510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1817:1:76","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":69509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1809:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":69508,"name":"uint256","nodeType":"ElementaryTypeName","src":"1809:7:76","typeDescriptions":{}}},"id":69511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1809:10:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":69507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1801:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":69506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1801:7:76","typeDescriptions":{}}},"id":69512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1801:19:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":69501,"name":"HEVM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69443,"src":"1761:4:76","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1766:5:76","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"1761:10:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":69513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1761:60:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69514,"nodeType":"ExpressionStatement","src":"1761:60:76"}]},"documentation":{"id":69496,"nodeType":"StructuredDocumentation","src":"1607:93:76","text":"@notice Force-disable Tstorish tstore mode by setting `_tstoreSupport` to false at slot 0"},"implemented":true,"kind":"function","modifiers":[],"name":"setInactive","nameLocation":"1714:11:76","parameters":{"id":69499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69498,"mutability":"mutable","name":"target","nameLocation":"1734:6:76","nodeType":"VariableDeclaration","scope":69516,"src":"1726:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69497,"name":"address","nodeType":"ElementaryTypeName","src":"1726:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1725:16:76"},"returnParameters":{"id":69500,"nodeType":"ParameterList","parameters":[],"src":"1751:0:76"},"scope":69517,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TstoreMode","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[69517],"name":"TstoreMode","nameLocation":"1294:10:76","scope":69589,"usedErrors":[],"usedEvents":[]},{"id":69588,"nodeType":"ContractDefinition","src":"2255:1061:76","nodes":[{"id":69587,"nodeType":"FunctionDefinition","src":"2659:655:76","nodes":[],"body":{"id":69586,"nodeType":"Block","src":"2739:575:76","nodes":[],"statements":[{"assignments":[69529],"declarations":[{"constant":false,"id":69529,"mutability":"mutable","name":"originalCode","nameLocation":"2762:12:76","nodeType":"VariableDeclaration","scope":69586,"src":"2749:25:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69528,"name":"bytes","nodeType":"ElementaryTypeName","src":"2749:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":69532,"initialValue":{"expression":{"id":69530,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69521,"src":"2777:6:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2784:4:76","memberName":"code","nodeType":"MemberAccess","src":"2777:11:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2749:39:76"},{"expression":{"arguments":[{"id":69536,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69521,"src":"2898:6:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":69538,"name":"TstoreGetter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"2911:12:76","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreGetter_$69465_$","typeString":"type(contract TstoreGetter)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_TstoreGetter_$69465_$","typeString":"type(contract TstoreGetter)"}],"id":69537,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2906:4:76","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":69539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2906:18:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_TstoreGetter_$69465","typeString":"type(contract TstoreGetter)"}},"id":69540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2925:11:76","memberName":"runtimeCode","nodeType":"MemberAccess","src":"2906:30:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":69533,"name":"HEVM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69443,"src":"2888:4:76","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2893:4:76","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"2888:9:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":69541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2888:49:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69542,"nodeType":"ExpressionStatement","src":"2888:49:76"},{"assignments":[69544,69546],"declarations":[{"constant":false,"id":69544,"mutability":"mutable","name":"ok","nameLocation":"2954:2:76","nodeType":"VariableDeclaration","scope":69586,"src":"2949:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69543,"name":"bool","nodeType":"ElementaryTypeName","src":"2949:4:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":69546,"mutability":"mutable","name":"ret","nameLocation":"2971:3:76","nodeType":"VariableDeclaration","scope":69586,"src":"2958:16:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":69545,"name":"bytes","nodeType":"ElementaryTypeName","src":"2958:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":69557,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":69551,"name":"TstoreGetter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69465,"src":"3019:12:76","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TstoreGetter_$69465_$","typeString":"type(contract TstoreGetter)"}},"id":69552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3032:3:76","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":69464,"src":"3019:16:76","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function TstoreGetter.get(bytes32) view returns (uint256)"}},"id":69553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3036:8:76","memberName":"selector","nodeType":"MemberAccess","src":"3019:25:76","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":69554,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69523,"src":"3046:4:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":69549,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2996:3:76","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3000:18:76","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2996:22:76","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":69555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2996:55:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":69547,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69521,"src":"2978:6:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":69548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2985:10:76","memberName":"staticcall","nodeType":"MemberAccess","src":"2978:17:76","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":69556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2978:74:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2948:104:76"},{"expression":{"arguments":[{"id":69561,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69521,"src":"3133:6:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":69562,"name":"originalCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69529,"src":"3141:12:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":69558,"name":"HEVM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69443,"src":"3123:4:76","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":69560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3128:4:76","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"3123:9:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":69563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3123:31:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69564,"nodeType":"ExpressionStatement","src":"3123:31:76"},{"expression":{"arguments":[{"id":69566,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69544,"src":"3173:2:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"746c6f6164206661696c6564","id":69567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3177:14:76","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ce01c1d7b2d9ca92d0f07c324e493deabb780b9ab96142f30feb72d05b82863","typeString":"literal_string \"tload failed\""},"value":"tload failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5ce01c1d7b2d9ca92d0f07c324e493deabb780b9ab96142f30feb72d05b82863","typeString":"literal_string \"tload failed\""}],"id":69565,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3165:7:76","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3165:27:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69569,"nodeType":"ExpressionStatement","src":"3165:27:76"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":69574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":69571,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69546,"src":"3210:3:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":69572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3214:6:76","memberName":"length","nodeType":"MemberAccess","src":"3210:10:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3332","id":69573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3224:2:76","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3210:16:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"746c6f61642072657475726e656420696e73756666696369656e742064617461","id":69575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3228:34:76","typeDescriptions":{"typeIdentifier":"t_stringliteral_3accad4fd0651b8fe9c3696106d33e0d1532806935a6b4679d8a760c72fd9a19","typeString":"literal_string \"tload returned insufficient data\""},"value":"tload returned insufficient data"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3accad4fd0651b8fe9c3696106d33e0d1532806935a6b4679d8a760c72fd9a19","typeString":"literal_string \"tload returned insufficient data\""}],"id":69570,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3202:7:76","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":69576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3202:61:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69577,"nodeType":"ExpressionStatement","src":"3202:61:76"},{"expression":{"arguments":[{"id":69580,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69546,"src":"3292:3:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":69582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3298:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":69581,"name":"uint256","nodeType":"ElementaryTypeName","src":"3298:7:76","typeDescriptions":{}}}],"id":69583,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3297:9:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":69578,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3281:3:76","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":69579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3285:6:76","memberName":"decode","nodeType":"MemberAccess","src":"3281:10:76","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":69584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3281:26:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":69527,"id":69585,"nodeType":"Return","src":"3274:33:76"}]},"documentation":{"id":69519,"nodeType":"StructuredDocumentation","src":"2280:374:76","text":"@dev Reads a transient storage value at `slot` from `target` using tload semantics.\n This function preserves and restores the original code at `target`.\n @param target The address whose transient storage slot to read.\n @param slot The transient storage slot to read.\n @return value The uint256 value read from the transient storage slot."},"implemented":true,"kind":"function","modifiers":[],"name":"tloadAt","nameLocation":"2668:7:76","parameters":{"id":69524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69521,"mutability":"mutable","name":"target","nameLocation":"2684:6:76","nodeType":"VariableDeclaration","scope":69587,"src":"2676:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":69520,"name":"address","nodeType":"ElementaryTypeName","src":"2676:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":69523,"mutability":"mutable","name":"slot","nameLocation":"2700:4:76","nodeType":"VariableDeclaration","scope":69587,"src":"2692:12:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":69522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2692:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2675:30:76"},"returnParameters":{"id":69527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69526,"mutability":"mutable","name":"value","nameLocation":"2732:5:76","nodeType":"VariableDeclaration","scope":69587,"src":"2724:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69525,"name":"uint256","nodeType":"ElementaryTypeName","src":"2724:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2723:15:76"},"scope":69588,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TstoreRead","contractDependencies":[],"contractKind":"library","documentation":{"id":69518,"nodeType":"StructuredDocumentation","src":"2030:225:76","text":"@notice Utilities to read a transient storage slot from an arbitrary address by\n temporarily etching `TstoreGetter` bytecode at the target, performing\n a staticcall, and restoring the original code."},"fullyImplemented":true,"linearizedBaseContracts":[69588],"name":"TstoreRead","nameLocation":"2263:10:76","scope":69589,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}}}},"solcLongVersion":"0.8.30","solcVersion":"0.8.30"} \ No newline at end of file diff --git a/jobs/trails/rc-1.yaml b/jobs/trails/rc-1.yaml index 83aedfc..baf69f9 100644 --- a/jobs/trails/rc-1.yaml +++ b/jobs/trails/rc-1.yaml @@ -1,6 +1,7 @@ name: "trails-rc-1" version: "rc-1" description: "Deploy Trails contracts (rc 1)" +depends_on: ["multicall3"] skip_networks: [19011, 40875] actions: diff --git a/jobs/trails/rc-2.yaml b/jobs/trails/rc-2.yaml index 8ba4bdc..93de4d9 100644 --- a/jobs/trails/rc-2.yaml +++ b/jobs/trails/rc-2.yaml @@ -1,6 +1,7 @@ name: "trails-rc-2" version: "rc-2" description: "Deploy Trails contracts (rc 2)" +depends_on: ["multicall3"] skip_networks: [19011, 40875] actions: diff --git a/jobs/trails/rc-3.yaml b/jobs/trails/rc-3.yaml new file mode 100644 index 0000000..92e7b45 --- /dev/null +++ b/jobs/trails/rc-3.yaml @@ -0,0 +1,71 @@ +name: "trails-rc-3" +version: "rc-3" +description: "Deploy Trails contracts (rc 3)" +depends_on: ["multicall3"] +skip_networks: [19011, 40875] + +actions: + - name: "trails-router" + template: "erc-2470" + arguments: + salt: "{{salt-zero}}" + creationCode: + type: "constructor-encode" + arguments: + creationCode: "{{Contract(./build-info/rc-3/all-contracts.json:TrailsRouter).creationCode}}" + types: ["address"] + values: ["{{multicall3.multicall3.address}}"] + output: true + + - name: "verify-trails-router" + type: "verify-contract" + depends_on: ["trails-router"] + arguments: + address: "{{trails-router.address}}" + contract: "{{Contract(./build-info/rc-3/all-contracts.json:TrailsRouter)}}" + constructorArguments: + type: "constructor-encode" + arguments: + types: ["address"] + values: ["{{multicall3.multicall3.address}}"] + output: false + + - name: "trails-router-shim" + template: "erc-2470" + arguments: + salt: "{{salt-zero}}" + creationCode: + type: "constructor-encode" + arguments: + creationCode: "{{Contract(./build-info/rc-3/all-contracts.json:TrailsRouterShim).creationCode}}" + types: ["address"] + values: ["{{trails-router.address}}"] + output: true + + - name: "verify-trails-router-shim" + type: "verify-contract" + depends_on: ["trails-router-shim"] + arguments: + address: "{{trails-router-shim.address}}" + contract: "{{Contract(./build-info/rc-3/all-contracts.json:TrailsRouterShim)}}" + constructorArguments: + type: "constructor-encode" + arguments: + types: ["address"] + values: ["{{trails-router.address}}"] + output: false + + - name: "trails-intent-entrypoint" + template: "erc-2470" + arguments: + salt: "{{salt-zero}}" + creationCode: "{{Contract(./build-info/rc-3/all-contracts.json:TrailsIntentEntrypoint).creationCode}}" + output: true + + - name: "verify-trails-intent-entrypoint" + type: "verify-contract" + depends_on: ["trails-intent-entrypoint"] + arguments: + address: "{{trails-intent-entrypoint.address}}" + contract: "{{Contract(./build-info/rc-3/all-contracts.json:TrailsIntentEntrypoint)}}" + output: false